Date: Sun, 17 Nov 1996 21:12:33 -0600 (CST) From: igor@alecto.physics.uiuc.edu (Igor Roshchin) To: roberto@keltia.freenix.fr (Ollivier Robert), eric@sendmail.org Cc: freebsd-security@FreeBSD.org, freebsd-hackers@FreeBSD.org Subject: Re: New sendmail bug... Message-ID: <199611180312.VAA27437@alecto.physics.uiuc.edu> In-Reply-To: <Mutt.19961117125853.roberto@keltia.freenix.fr> from "Ollivier Robert" at Nov 17, 96 12:58:53 pm
next in thread | previous in thread | raw e-mail | index | archive | help
Hello! May be I am missing something, but I was not able to compile the patched version of the sendmail 8.7.6.4, as it appears in FreeBSD distribution (sup.freebsd.org). main.o: Undefined symbol `_vendor_daemon_setup' referenced from text segment *** Error code 1 Is it a problem due to the version of FreeBSD ? I tried it on 2.1.5-stable and 2.1.5-release; - results were the same. Thanks in advance for your suggestions. IgoR > > ------- main.c ------- > *** - Wed Dec 31 16:00:00 1969 > --- main.c Sat Nov 16 07:07:17 1996 > *************** > *** 493,507 **** > { > case MD_DAEMON: > case MD_FGDAEMON: > ! # ifdef DAEMON > ! if (RealUid != 0) > ! { > ! usrerr("Permission denied"); > ! exit(EX_USAGE); > ! } > ! vendor_daemon_setup(CurEnv); > ! /* fall through ... */ > ! # else > usrerr("Daemon mode not implemented"); > ExitStat = EX_USAGE; > break; > --- 493,499 ---- > { > case MD_DAEMON: > case MD_FGDAEMON: > ! # ifndef DAEMON > usrerr("Daemon mode not implemented"); > ExitStat = EX_USAGE; > break; > *************** > *** 899,904 **** > --- 891,904 ---- > /* fall through ... */ > > case MD_DAEMON: > + /* check for permissions */ > + if (RealUid != 0) > + { > + usrerr("Permission denied"); > + exit(EX_USAGE); > + } > + vendor_daemon_setup(CurEnv); > + > /* remove things that don't make sense in daemon mode */ > FullName = NULL; > GrabTo = FALSE; > *************** > *** 1932,1937 **** > --- 1932,1946 ---- > syslog(LOG_INFO, "restarting %s on signal", SaveArgv[0]); > #endif > releasesignal(SIGHUP); > + if (setuid(RealUid) < 0 || setgid(RealGid) < 0) > + { > + #ifdef LOG > + if (LogLevel > 0) > + syslog(LOG_ALERT, "could not set[ug]id(%d, %d): %m", > + RealUid, RealGid); > + #endif > + exit(EX_OSERR); > + } > execv(SaveArgv[0], (ARGV_T) SaveArgv); > #ifdef LOG > if (LogLevel > 0) > >
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199611180312.VAA27437>