From ba307433981f6364cbcddb6b955d4ff80d576e2e Mon Sep 17 00:00:00 2001 From: Lukas Fleischer Date: Tue, 6 May 2014 21:24:56 +0200 Subject: Check permissions when uploading source packages All files contained in the source tarball must have permissions of 644 or 755. All directories must have permissions of 755. Implements FS#27754. Signed-off-by: Lukas Fleischer --- web/html/pkgsubmit.php | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/web/html/pkgsubmit.php b/web/html/pkgsubmit.php index 51d0203c..f07580b2 100644 --- a/web/html/pkgsubmit.php +++ b/web/html/pkgsubmit.php @@ -90,6 +90,9 @@ if ($uid): if (strchr($tar_file['filename'], '/') === false) { $error = __("Error - source tarball may not contain files outside a directory."); break; + } elseif ($tar_file['mode'] != 0644 && $tar_file['mode'] != 0755) { + $error = __("Error - all files must have permissions of 644 or 755."); + break; } elseif (substr($tar_file['filename'], -9) == '/PKGBUILD') { $pkgbuild_raw = $tar->extractInString($tar_file['filename']); } elseif (substr($tar_file['filename'], -9) == '/.AURINFO') { @@ -102,6 +105,9 @@ if ($uid): } elseif (++$dircount > 1) { $error = __("Error - source tarball may not contain more than one directory."); break; + } elseif ($tar_file['mode'] != 0755) { + $error = __("Error - all directories must have permissions of 755."); + break; } } } -- cgit v1.2.3-24-g4f1b