X-Git-Url: http://git.marmaro.de/?a=blobdiff_plain;f=sbr%2Fmts.c;h=834579d166fc70286381aff4db10ffd326a9d77f;hb=0cd4ef27dfd7ab539a3217287795d4d9732c18d0;hp=15f182cc522251604af2ea5879c5bc31fdea7204;hpb=cbe5256a53c1c5a724264c14d96c4ade664a577a;p=mmh diff --git a/sbr/mts.c b/sbr/mts.c index 15f182c..834579d 100644 --- a/sbr/mts.c +++ b/sbr/mts.c @@ -20,13 +20,6 @@ #include #include -#ifdef HAVE_SYS_UTSNAME_H -# include -#endif - -#define NOTOK (-1) -#define OK 0 - /* * static prototypes */ @@ -148,6 +141,8 @@ static struct bind binds[] = { void mts_init (char *name) { + NMH_UNUSED (name); + const char *cp; FILE *fp; static int inited = 0; @@ -250,9 +245,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]) @@ -265,14 +257,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)); @@ -307,10 +293,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; @@ -323,12 +305,7 @@ SystemName (void) return buffer; } -#ifdef HAVE_UNAME - uname (&name); - strncpy (buffer, name.nodename, sizeof(buffer)); -#else gethostname (buffer, sizeof(buffer)); -#endif return buffer; } @@ -392,7 +369,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 != '<'; @@ -407,46 +383,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) {