Dear samba-Team, The bug reported in PR#12819 for AXI 4.1.5 persits also in samba 2.0.3. The Bug prevents the connecting of other users as root to any share. I have a workaround/fix tested on AIX 4.1.5 ,4.3.2 with gcc 2.8.1 here: Change samba-2.0.3/source/lib/util_sec.c funktion set_effective_uid like this: 155c155 < #elif defined(HAVE_SETREUID) ---> #elif defined(HAVE_SETREUID) && !defined(AIX)to int set_effective_uid(uid_t uid) { #if defined(HAVE_TRAPDOOR_UID) return trapdoor_set_effective_uid(uid); #elif defined(HAVE_SETRESUID) return setresuid(-1,uid,-1); #elif defined(HAVE_SETREUID) && !defined(AIX) return setreuid(-1,uid); #else if ((seteuid(uid) != 0) && (setuid(uid) != 0)) return -1; return 0; #endif } I noted no side effects on my system. Best regards Dirk Eller WANmaster TZ, Postmaster TZ ...T..................................................................... Dirk Eller Abt. EK11-5 eMail : eller@tzd.telekom.de Deutsche Telekom AG Phone : +49 - 61 51 - 83 35 88 Technologiezentrum Darmstadt FAX : +49 - 61 51 - 83 45 92 Adr.: Am Kavalleriesand 3; D-64295 Darmstadt ...T..................................................................... Everything written is MY opinion only, not the one of my company or employer unless otherwise noted ...T.....................................................................
Kai Andersen
1999-Mar-11 12:38 UTC
Bug in set_effective_uid on AIX 4.1.5 /4.3.2 Samba 2.0.3
Dirk Eller wrote:> Dear samba-Team, > > The bug reported in PR#12819 for AXI 4.1.5 persits > also in samba 2.0.3. > The Bug prevents the connecting of other users as root to any > share. > > I have a workaround/fix tested on AIX 4.1.5 ,4.3.2 with > gcc 2.8.1 here: > > Change samba-2.0.3/source/lib/util_sec.c > funktion set_effective_uid like this: > > 155c155 > < #elif defined(HAVE_SETREUID) > --- > > #elif defined(HAVE_SETREUID) && !defined(AIX) > > to > int set_effective_uid(uid_t uid) > { > #if defined(HAVE_TRAPDOOR_UID) > return trapdoor_set_effective_uid(uid); > #elif defined(HAVE_SETRESUID) > return setresuid(-1,uid,-1); > #elif defined(HAVE_SETREUID) && !defined(AIX) > return setreuid(-1,uid); > #else > if ((seteuid(uid) != 0) && (setuid(uid) != 0)) > return -1; > return 0; > #endif > }Thanks a lot, this fixed my problems. I hope this patch will be considered in the next update. Greeting, Kai Andersen.