Disallow build products that are symlinks

[?]
Feb 23, 2013, 3:28 PM
IJSJLRZHJXAGSY5MWKQWFU2H6VA2EKS3FUAK3DXW6KGXLO3AMS2QC

Dependencies

  • [2] YDVFPMKP Security: Ensure that a build product refers to the Nix store
  • [3] 7UHHF564 Security: Also check paths in the web server
  • [4] INNOEHO6 * Fix getBuildLog for bzip2'd files.
  • [5] PMNWRTGJ Add multiple output support
  • [6] YFPZ46YK * hydra: added variant of build input type, 'build output (same system)' to allow better continous integration in one jobset for multiple system. it makes sure that the system of the build that is passed as input for a job has the same system as the job.
  • [7] 3XTHEUMP * Implemented the clone feature.
  • [8] EDRUQ4UK Die TABs die
  • [9] FM4O2L4M hydra: if evaluator sees cached build, also add the buildproducts
  • [10] BMSQD2ZH Indentation
  • [*] LBNVQXUB * Build the /build stuff in a separate controller.
  • [*] XJFHFZCA * Provide some redirects to build products by type so that we can for
  • [*] OOQ2D3KC * Refactoring: move fetchInput out of hydra_scheduler into a separate

Change contents

  • edit in src/lib/Hydra/Controller/Build.pm at line 176
    [3.249]
    [13.609]
    error($c, "Path ‘$path’ is a symbolic link.") if -l $path;
  • edit in src/lib/Hydra/Helper/AddBuilds.pm at line 791
    [2.345]
    [4.5669]
    next unless substr($path, 0, length($storeDir)) eq $storeDir;
  • replacement in src/lib/Hydra/Helper/AddBuilds.pm at line 793
    [4.5707][2.346:424]()
    next unless substr($path, 0, length($storeDir)) eq $storeDir;
    [4.5707]
    [2.424]
    next if -l $path;
  • edit in src/lib/Hydra/Helper/AddBuilds.pm at line 800
    [4.625][4.5761:5812](),[4.591][4.3430:3431](),[4.680][4.3430:3431](),[4.2079][4.3430:3431](),[4.5812][4.3430:3431](),[4.3430][4.3430:3431]()
    # !!! validate $path, $defaultPath