From: David Levine Date: Fri, 3 Feb 2012 23:10:49 +0000 (-0600) Subject: Merge branch 'master' of git.sv.nongnu.org:/srv/git/nmh X-Git-Url: https://diplodocus.org/git/nmh/commitdiff_plain/d1622b3fcf620fb6dbd1a8eeb46fd368e0e3d460?hp=24ccface680bffcb10748584aeaa5506c8da8c6d Merge branch 'master' of git.sv.nongnu.org:/srv/git/nmh --- diff --git a/Makefile.am b/Makefile.am index cd3c886c..fc2e621b 100644 --- a/Makefile.am +++ b/Makefile.am @@ -173,11 +173,6 @@ EXTRA_DIST = config/version.sh sbr/sigmsg.awk etc/mts.conf.in etc/sendfiles.in \ ## overrides that are used to select different library options from the ## default. ## -## Note that a few programs link in extra files (specifically, popsbr.c) -## if POP3 support is compiled in. An Automake conditional is used for -## this purpose. -## - uip_ali_SOURCES = uip/ali.c uip/aliasbr.c uip_anno_SOURCES = uip/anno.c uip/annosbr.c @@ -515,3 +510,27 @@ rpm: dist cscope: echo "-I $(srcdir)/h -I $(srcdir)/sbr -I $(srcdir)/uip -I $(srcdir)/mts/smtp" > cscope.files find $(srcdir) \( -name \*.c -o -name \*.l \) -print | grep -v dtimep.c >> cscope.files + +## +## Rules to upload the distribution to savannah +## + +upload: dist + @if test -z "$(SAVANNAH_USERNAME)"; then \ + echo "You need to set SAVANNAH_USERNAME to the your username on savannah.gnu.org." ;\ + echo "You can set it either in your environment or on the make command line."; \ + false; \ + fi + @echo "Did you run 'make distcheck' already?" + @if test -z "$(SKIP_GPG_SIG)"; then \ + echo "Creating GPG signature (set SKIP_GPG_SIG to bypass this step)"; \ + gpg --output $(DIST_ARCHIVES).sig --detatch-sig $(DIST_ARCHIVES); \ + fi + @echo "Setting permissions for savannah.gnu.org" + chmod 664 $(DIST_ARCHIVES) + if test -f $(DIST_ARCHIVES).sig; then \ + chmod 664 $(DIST_ARCHIVES).sig; \ + fi + @echo "Uploading to savannah" + scp -p $(DIST_ARCHIVES)* $(SAVANNAH_USERNAME)@savannah.gnu.org:/releases/nmh +.PHONY: upload diff --git a/docs/pending-release-notes b/docs/pending-release-notes index e6de6fdb..c48e5df5 100644 --- a/docs/pending-release-notes +++ b/docs/pending-release-notes @@ -17,3 +17,7 @@ Things to add to the release notes for the next full release: - New format instructions %(putlit) and %(concataddr) have been implemented. - The --enable-pop configure option has been removed; POP support is now compiled in always. +- You can now filter the body of a message through a user-defined filter + program inside of repl (the idea is that it will be used by repl). + See mhl(1), specifically the "format" keyword and "formatproc" in + mh-profile(5). diff --git a/h/addrsbr.h b/h/addrsbr.h index a6c7a41c..2611e5a8 100644 --- a/h/addrsbr.h +++ b/h/addrsbr.h @@ -35,6 +35,6 @@ struct mailname { void mnfree(struct mailname *); int ismymbox(struct mailname *); char *getname(char *); -char *adrsprintf(char *, char *); +char *getlocaladdr(void); char *auxformat(struct mailname *, int); struct mailname *getm(char *, char *, int, int, char *); diff --git a/man/mh-profile.man b/man/mh-profile.man index 0cdab082..f71c6f16 100644 --- a/man/mh-profile.man +++ b/man/mh-profile.man @@ -355,6 +355,16 @@ response to the directive at the \*(lqWhat now?\*(rq prompt. .RE .PP +.BR formatproc : +.RS 5 +Program called by +.B mhl +to filter a component when it is tagged with the \*(lqformat\*(rq variable +in the mhl filter. See +.BR mhl (5) +for more information. +.RE +.PP .BR incproc : %bindir%/inc .RS 5 diff --git a/sbr/addrsbr.c b/sbr/addrsbr.c index 7d1350e9..07bc810f 100644 --- a/sbr/addrsbr.c +++ b/sbr/addrsbr.c @@ -287,17 +287,20 @@ auxformat (struct mailname *mp, int extras) /* - * address specific "sprintf" + * This used to be adrsprintf() (where it would format an address for you + * given a username and a domain). But somewhere we got to the point where + * the only caller was post, and it only called it with both arguments NULL. + * So the function was renamed with a more sensible name. */ char * -adrsprintf (char *username, char *domain) +getlocaladdr(void) { int snprintf_return; + char *username, *domain; static char addr[BUFSIZ]; - if (username == NULL) - username = getusername(); + username = getusername(); if (username_extension_masquerading) { /* mts.conf contains "masquerade:[...]username_extension[...]", so tack @@ -324,8 +327,7 @@ adrsprintf (char *username, char *domain) return username; - if (domain == NULL) - domain = LocalName(); + domain = LocalName(); snprintf_return = snprintf (addr, sizeof(addr), "%s@%s", username, domain); diff --git a/uip/post.c b/uip/post.c index 2449d5f5..dcd563b3 100644 --- a/uip/post.c +++ b/uip/post.c @@ -868,7 +868,7 @@ start_headers (void) mygid = getgid (); time (&tclock); - strncpy (from, adrsprintf (NULL, NULL), sizeof(from)); + strncpy (from, getlocaladdr(), sizeof(from)); strncpy (myhost, LocalName (), sizeof(myhost)); for (cp = myhost; *cp; cp++) @@ -877,7 +877,7 @@ start_headers (void) if ((cp = getfullname ()) && *cp) { strncpy (sigbuf, cp, sizeof(sigbuf)); snprintf (signature, sizeof(signature), "%s <%s>", - sigbuf, adrsprintf (NULL, NULL)); + sigbuf, getlocaladdr()); if ((cp = getname (signature)) == NULL) adios (NULL, "getname () failed -- you lose extraordinarily big"); if ((mp = getm (cp, NULL, 0, AD_HOST, NULL)) == NULL) @@ -886,7 +886,7 @@ start_headers (void) while (getname ("")) continue; } else { - strncpy (signature, adrsprintf (NULL, NULL), sizeof(signature)); + strncpy (signature, getlocaladdr(), sizeof(signature)); } }