X-Git-Url: http://git.marmaro.de/?a=blobdiff_plain;f=sbr%2Fmts.c;h=6e19bd1fd2f0289b2bf493c476deb2770e3fc5d2;hb=e37dc08079906b1b2737c3dad31fa507bdc66ecb;hp=6a9d84f48f13fe36a45686a220202ad71a149fb5;hpb=5dd6771b28c257af405d7248639ed0e3bcdce38b;p=mmh diff --git a/sbr/mts.c b/sbr/mts.c index 6a9d84f..6e19bd1 100644 --- a/sbr/mts.c +++ b/sbr/mts.c @@ -17,15 +17,9 @@ #include #include #include +#include #include -#ifdef HAVE_SYS_UTSNAME_H -# include -#endif - -#define NOTOK (-1) -#define OK 0 - /* * static prototypes */ @@ -88,21 +82,6 @@ char *servers = "localhost \01localnet"; char *pophost = ""; /* - * BBoards-specific variables - */ -char *bb_domain = ""; - - -/* - * POP BBoards-specific variables - */ -#ifdef BPOP -char *popbbhost = ""; -char *popbbuser = ""; -char *popbblist = nmhetcdir(/hosts.popbb); -#endif /* BPOP */ - -/* * Global MailDelivery file */ char *maildelivery = nmhetcdir(/maildelivery); @@ -146,17 +125,6 @@ static struct bind binds[] = { { "clientname", &clientname }, { "servers", &servers }, { "pophost", &pophost }, - { "bbdomain", &bb_domain }, - -#ifdef BPOP - { "popbbhost", &popbbhost }, - { "popbbuser", &popbbuser }, - { "popbblist", &popbblist }, -#endif - -#ifdef NNTP - { "nntphost", &popbbhost }, -#endif { "maildelivery", &maildelivery }, { "everyone", &everyone }, @@ -275,9 +243,6 @@ LocalName (void) { static char buffer[BUFSIZ] = ""; struct addrinfo hints, *res; -#ifdef HAVE_UNAME - struct utsname name; -#endif /* check if we have cached the local name */ if (buffer[0]) @@ -290,14 +255,8 @@ LocalName (void) strncpy (buffer, localname, sizeof(buffer)); } else { memset(buffer, 0, sizeof(buffer)); -#ifdef HAVE_UNAME - /* first get our local name */ - uname (&name); - strncpy (buffer, name.nodename, sizeof(buffer) - 1); -#else /* first get our local name */ gethostname (buffer, sizeof(buffer) - 1); -#endif /* now fully qualify our name */ memset(&hints, 0, sizeof(hints)); @@ -332,10 +291,6 @@ SystemName (void) { static char buffer[BUFSIZ] = ""; -#ifdef HAVE_UNAME - struct utsname name; -#endif - /* check if we have cached the system name */ if (buffer[0]) return buffer; @@ -348,12 +303,7 @@ SystemName (void) return buffer; } -#ifdef HAVE_UNAME - uname (&name); - strncpy (buffer, name.nodename, sizeof(buffer)); -#else gethostname (buffer, sizeof(buffer)); -#endif return buffer; } @@ -401,21 +351,9 @@ getuserinfo (void) register char *np; register struct passwd *pw; -#ifdef KPOP - uid_t uid; - - uid = getuid (); - if (uid == geteuid () && (cp = getenv ("USER")) != NULL - && (pw = getpwnam (cp)) != NULL) - strncpy (username, cp, sizeof(username)); - else if ((pw = getpwuid (uid)) == NULL - || pw->pw_name == NULL - || *pw->pw_name == '\0') { -#else /* KPOP */ if ((pw = getpwuid (getuid ())) == NULL || pw->pw_name == NULL || *pw->pw_name == '\0') { -#endif /* KPOP */ strncpy (username, "unknown", sizeof(username)); snprintf (fullname, sizeof(fullname), "The Unknown User-ID (%d)", (int) getuid ()); @@ -429,7 +367,6 @@ getuserinfo (void) field, like phone number. Also, if mmailid masquerading is turned on due to "mmailid" appearing on the "masquerade:" line of mts.conf, stop if we hit a '<' (which should precede any ','s). */ -#ifndef BSD42 if (mmailid_masquerading) /* Stop at ',' or '<'. */ for (cp = fullname; *np != '\0' && *np != ',' && *np != '<'; @@ -444,46 +381,6 @@ getuserinfo (void) for (cp = fullname; *np != '\0' && *np != ','; *cp++ = *np++) continue; -#else /* BSD42 */ - /* On BSD(-derived) systems, the system utilities that deal with the GECOS - field (finger, mail, sendmail, etc.) translate any '&' character in it to - the login name, with the first letter capitalized. So, for instance, - fingering a user "bob" with the GECOS field "& Jones" would reveal him to - be "In real life: Bob Jones". Surprisingly, though, the OS doesn't do - the translation for you, so we have to do it manually here. */ - if (mmailid_masquerading) - /* Stop at ',' or '<'. */ - for (cp = fullname; - *np != '\0' && *np != ',' && *np != '<';) { - if (*np == '&') { /* blech! */ - strcpy (cp, pw->pw_name); - *cp = toupper(*cp); - while (*cp) - cp++; - np++; - } else { - *cp++ = *np++; - } - } - else - /* Allow '<' as a legal character of the user's name. This code is - basically a duplicate of the code above the "else" -- we don't - collapse it down to one copy and put the mmailid_masquerading check - inside the loop with "(x ? y : z)" because that's inefficient and the - value'll never change while it's in there. */ - for (cp = fullname; - *np != '\0' && *np != ',';) { - if (*np == '&') { /* blech! */ - strcpy (cp, pw->pw_name); - *cp = toupper(*cp); - while (*cp) - cp++; - np++; - } else { - *cp++ = *np++; - } - } -#endif /* BSD42 */ *cp = '\0'; if (mmailid_masquerading) {