Merge branch 'upstream'
[debian/amanda] / recover-src / amrecover.c
index 0f103dc87ca87cba193cc226ae2d62b22037b955..fc4d36d6bb7252794ebcf11827b19a475e4ae0e5 100644 (file)
@@ -336,6 +336,14 @@ main(
 
     dbopen(DBG_SUBDIR_CLIENT);
 
+#ifndef IGNORE_UID_CHECK
+    if (geteuid() != 0) {
+       erroutput_type |= ERR_SYSLOG;
+       error("amrecover must be run by root");
+       /*NOTREACHED*/
+    }
+#endif
+
     localhost = alloc(MAX_HOSTNAME_LENGTH+1);
     if (gethostname(localhost, MAX_HOSTNAME_LENGTH) != 0) {
        error(_("cannot determine local host name\n"));
@@ -510,6 +518,16 @@ main(
        exit(1);
     }
 
+#if 0
+    /*
+     * We may need root privilege again later for a reserved port to
+     * the tape server, so we will drop down now but might have to
+     * come back later.
+     */
+    setegid(getgid());
+    seteuid(getuid());
+#endif
+
     /* get server's banner */
     if (grab_reply(1) == -1) {
         aclose(server_socket);