X-Git-Url: http://git.marmaro.de/?a=blobdiff_plain;f=sbr%2Fmts.c;h=d298c88bf250817f903b4471ed910d9a083de1f7;hb=2def1ef7c06766912f6eea1a9ab31b492d82173a;hp=868e603c5a506170cf275963dba9cfca62e28c42;hpb=681fb6f84e8094c2c857d4341d3e2fb97d377908;p=mmh diff --git a/sbr/mts.c b/sbr/mts.c index 868e603..d298c88 100644 --- a/sbr/mts.c +++ b/sbr/mts.c @@ -54,9 +54,10 @@ char *uucplfil = ""; char *mmdlm1 = "\001\001\001\001\n"; char *mmdlm2 = "\001\001\001\001\n"; -/* Cache the username and fullname of the user */ +/* Cache the username, fullname, and mailbox of the user */ static char username[BUFSIZ]; static char fullname[BUFSIZ]; +static char localmbox[BUFSIZ]; /* Variables for username masquerading: */ boolean draft_from_masquerading = FALSE; /* also used from post.c */ @@ -352,6 +353,34 @@ getfullname (void) /* + * Get the full local mailbox name. This is in the form: + * + * User Name + */ + +char * +getlocalmbox (void) +{ + if (username[0] == '\0') + getuserinfo(); + + if (localmbox[0] == '\0') { + char *cp; + + if ((cp = context_find("Local-Mailbox")) != NULL) { + strncpy(localmbox, cp, sizeof(localmbox)); + } else { + snprintf(localmbox, sizeof(localmbox), "%s <%s@%s>", fullname, + username, LocalName(0)); + } + + localmbox[sizeof(localmbox) - 1] = '\0'; + } + + return localmbox; +} + +/* * Find the user's username and full name, and cache them. * Also, handle "mmailid" username masquerading controlled from the GECOS field * of the passwd file. @@ -429,6 +458,8 @@ getuserinfo (void) fullname[sizeof(fullname) - 1] = '\0'; + localmbox[0] = '\0'; + return; }