summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'net-ftp/oftpd/files/oftpd-0.3.7-delay-root-check.patch')
-rw-r--r--net-ftp/oftpd/files/oftpd-0.3.7-delay-root-check.patch30
1 files changed, 30 insertions, 0 deletions
diff --git a/net-ftp/oftpd/files/oftpd-0.3.7-delay-root-check.patch b/net-ftp/oftpd/files/oftpd-0.3.7-delay-root-check.patch
new file mode 100644
index 000000000000..56ab51e4d6c3
--- /dev/null
+++ b/net-ftp/oftpd/files/oftpd-0.3.7-delay-root-check.patch
@@ -0,0 +1,30 @@
+check for root after processing args so non-root can run --help
+
+--- a/src/oftpd.c
++++ b/src/oftpd.c
+@@ -56,12 +56,6 @@ int main(int argc, char *argv[])
+ exe_name = argv[0];
+ }
+
+- /* verify we're running as root */
+- if (geteuid() != 0) {
+- fprintf(stderr, "%s: program needs root permission to run\n", exe_name);
+- exit(1);
+- }
+-
+ /* default command-line arguments */
+ port = FTP_PORT;
+ user_ptr = NULL;
+@@ -187,6 +181,12 @@ int main(int argc, char *argv[])
+ exit(1);
+ }
+
++ /* verify we're running as root */
++ if (geteuid() != 0) {
++ fprintf(stderr, "%s: program needs root permission to run\n", exe_name);
++ exit(1);
++ }
++
+ /* become a daemon */
+ if (detach) {
+ daemonize();