]> git.pld-linux.org Git - packages/amanda.git/commitdiff
- seteuid(0) before checking for euid == 0 for krb5
authorJan Rękorajski <baggins@pld-linux.org>
Tue, 30 Nov 2010 13:25:46 +0000 (13:25 +0000)
committercvs2git <feedback@pld-linux.org>
Sun, 24 Jun 2012 12:13:13 +0000 (12:13 +0000)
- the comment about broken MEMORY caches dates back to 1999 and is outdated
- fix constant string usage

Changed files:
    amanda-krb5-auth.patch -> 1.1

amanda-krb5-auth.patch [new file with mode: 0644]

diff --git a/amanda-krb5-auth.patch b/amanda-krb5-auth.patch
new file mode 100644 (file)
index 0000000..ea2cd06
--- /dev/null
@@ -0,0 +1,55 @@
+--- amanda-3.2.0/amandad-src/amandad.c~        2010-10-06 18:36:28.000000000 +0200
++++ amanda-3.2.0/amandad-src/amandad.c 2010-11-29 14:23:20.580165324 +0100
+@@ -440,6 +440,11 @@
+       exit_on_qlength = 1;
+     }
++    /* krb5 require the euid to be 0 */
++    if (strcasecmp(auth, "krb5") == 0) {
++      seteuid((uid_t)0);
++    }
++
+ #ifndef SINGLE_USERID
+     if (geteuid() == 0) {
+       if (strcasecmp(auth, "krb5") != 0) {
+@@ -474,11 +479,6 @@
+       dbprintf(_("WARNING: argv[0] not defined: check inetd.conf\n"));
+     }
+-    /* krb5 require the euid to be 0 */
+-    if (strcasecmp(auth, "krb5") == 0) {
+-      seteuid((uid_t)0);
+-    }
+-
+     /*
+      * Schedule to call protocol_accept() when new security handles
+      * are created on stdin.
+--- amanda-3.2.0/common-src/krb5-security.c~   2010-11-29 14:24:29.826165323 +0100
++++ amanda-3.2.0/common-src/krb5-security.c    2010-11-29 14:45:41.683165324 +0100
+@@ -46,7 +46,7 @@
+ #include "et/com_err.h"
+ #endif
+-#define BROKEN_MEMORY_CCACHE
++#undef BROKEN_MEMORY_CCACHE
+ #ifdef BROKEN_MEMORY_CCACHE
+ /*
+@@ -712,7 +712,7 @@
+     beenhere = 1;
+ #ifndef BROKEN_MEMORY_CCACHE
+-    putenv(stralloc("KRB5_ENV_CCNAME=MEMORY:amanda_ccache"));
++    putenv(stralloc(KRB5_ENV_CCNAME"=MEMORY:amanda_ccache"));
+ #else
+     /*
+      * MEMORY ccaches seem buggy and cause a lot of internal heap
+@@ -727,7 +727,7 @@
+       char *ccache;
+       ccache = malloc(128);
+       g_snprintf(ccache, SIZEOF(ccache),
+-               "KRB5_ENV_CCNAME=FILE:/tmp/amanda_ccache.%ld.%ld",
++               KRB5_ENV_CCNAME"=FILE:/tmp/amanda_ccache.%ld.%ld",
+                (long)geteuid(), (long)getpid());
+       putenv(ccache);
+     }
This page took 0.050343 seconds and 4 git commands to generate.