From a1e2db74e04c31153801efabcc31b6f68587eeb4 Mon Sep 17 00:00:00 2001 From: David Levine Date: Mon, 26 Mar 2012 20:32:03 -0500 Subject: [PATCH] Removed the hostable option from mts.conf because it's no longer used. This allowed removal of mts/smtp/hosts.c. --- Makefile.am | 7 +-- docs/pending-release-notes | 1 + etc/mts.conf.in | 9 +-- h/prototypes.h | 1 - man/mh-tailor.man | 20 +----- mts/smtp/hosts.c | 144 -------------------------------------------- uip/mhl.c | 14 ----- uip/mhlsbr.c | 15 +---- uip/scansbr.c | 13 ---- uip/show.c | 13 ---- 10 files changed, 10 insertions(+), 227 deletions(-) delete mode 100644 mts/smtp/hosts.c diff --git a/Makefile.am b/Makefile.am index cf29544..d7972a0 100644 --- a/Makefile.am +++ b/Makefile.am @@ -392,9 +392,8 @@ etc/mts.conf: $(srcdir)/etc/mts.conf.in Makefile rm -f $@ $(SED) -e 's,%mts%,$(MTS),' \ -e 's,%mailspool%,$(mailspool),' \ - -e 's,%etcdir%,$(sysconfdir),' \ -e 's,%smtpservers%,$(smtpservers),' \ - < $(srcdir)/etc/mts.conf.in > $@ + < $(srcdir)/etc/mts.conf.in > $@ etc/mhn.defaults: $(srcdir)/etc/mhn.defaults.sh $(MHNSEARCHPROG) rm -f $@ @@ -492,7 +491,7 @@ sbr_libmh_a_CPPFLAGS = -I./sbr -DNMHETCDIR='"$(sysconfdir)"' \ sbr_libdtimep_a_SOURCES = sbr/dtimep.l sbr_libdtimep_a_CFLAGS = $(sbr_libmh_a_CPPFLAGS) $(DISABLE_UNUSED_MACROS_WARNING) -mts_libmts_a_SOURCES = mts/smtp/hosts.c mts/smtp/smtp.c +mts_libmts_a_SOURCES = mts/smtp/smtp.c ## ## Our rules for generating man pages (both the rule for man.sed and @@ -582,7 +581,7 @@ gcov: fi @echo rebuilding with AM_CFLAGS=--coverage . . . @(make clean && make AM_CFLAGS=--coverage) > /dev/null && \ - make check AM_CFLAGS=--coverage + make check AM_CFLAGS=--coverage @for i in `find . -name '*.gcda'`; do \ gcov -p -o `echo $$i | $(SED) 's%\\(.*\\)/%\\1 %'`; \ done diff --git a/docs/pending-release-notes b/docs/pending-release-notes index fa8147c..e91c7bf 100644 --- a/docs/pending-release-notes +++ b/docs/pending-release-notes @@ -59,3 +59,4 @@ Things to add to the release notes for the next full release: be removed in the future. - Added support for readline editing and command/filename completion at the WhatNow? prompt +- The hostable option of mts.conf is no longer needed and has been removed. diff --git a/etc/mts.conf.in b/etc/mts.conf.in index 1ba5f8f..a9c7494 100644 --- a/etc/mts.conf.in +++ b/etc/mts.conf.in @@ -1,8 +1,7 @@ # # nmh mail transport interface customization file. -# -# Check the mh-tailor(5) man page for a list of -# all the available options for this file. +# +# Check the mh-tailor(5) man page for descriptions of available options. # # The delivery method to use. Supported values are `smtp' and `sendmail'. @@ -11,10 +10,6 @@ # When `sendmail', nmh will pipe messages directly to the sendmail program. mts: %mts% -# The exceptions file for /etc/hosts used by -# `post' to try to find official names. -hostable: %etcdir%/hosts - # Name that nmh considers `local'. If not set, nmh will # query the system for this value (gethostname, etc...). #localname: foo.bar.com diff --git a/h/prototypes.h b/h/prototypes.h index 2a944e9..b0c0997 100644 --- a/h/prototypes.h +++ b/h/prototypes.h @@ -139,7 +139,6 @@ int strncasecmp (const char *s1, const char *s2, size_t n); */ char *LocalName(int); char *SystemName(void); -char *OfficialName(char *); /* * prototypes for some routines in uip diff --git a/man/mh-tailor.man b/man/mh-tailor.man index 3963e4b..98eec98 100644 --- a/man/mh-tailor.man +++ b/man/mh-tailor.man @@ -190,29 +190,11 @@ indicates that mail for \*(lqeveryone\*(rq should not be sent to them. This is useful for handling admin, dummy, and guest logins. .RE .SS "SMTP support" -These options are only available if you set +This option is only available if you set .B mts to .BR smtp . .PP -.BR hostable : -%etcdir%/hosts -.RS 5 -The exceptions file for /etc/hosts used by -.B post -to try to find -official names. The format of this file is quite simple: -.PP -.IP 1. 4 -Comments are surrounded by sharp (`#') and newline. -.IP 2. 4 -Words are surrounded by white space. -.IP 3. 4 -The first word on the line is the official name of a host. -.IP 4. 4 -All words following the official names are aliases for that host. -.RE -.PP .BR servers : localhost .RS 5 diff --git a/mts/smtp/hosts.c b/mts/smtp/hosts.c deleted file mode 100644 index 94a22d5..0000000 --- a/mts/smtp/hosts.c +++ /dev/null @@ -1,144 +0,0 @@ - -/* - * hosts.c -- find out the official name of a host - * - * This code is Copyright (c) 2002, by the authors of nmh. See the - * COPYRIGHT file in the root directory of the nmh distribution for - * complete copyright information. - */ - -/* - * In the SendMail world, we really don't know what the valid - * hosts are. We could poke around in the sendmail.cf file, but - * that still isn't a guarantee. As a result, we'll say that - * everything is a valid host, and let SendMail worry about it. - */ - -#include -#include -#include -#include - -static struct host { - char *h_name; - char **h_aliases; - struct host *h_next; -} hosts; - - -/* - * static prototypes - */ -static int init_hs(void); - - -char * -OfficialName (char *name) -{ - unsigned char *p; - char *q, site[BUFSIZ]; - struct addrinfo hints, *res; - - static char buffer[BUFSIZ]; - char **r; - struct host *h; - - for (p = name, q = site; *p && (q - site < (int)sizeof(site) - 1); p++, q++) - *q = isupper (*p) ? tolower (*p) : *p; - *q = '\0'; - q = site; - - if (!mh_strcasecmp (LocalName(1), site)) - return LocalName(1); - - memset(&hints, 0, sizeof(hints)); - hints.ai_flags = AI_CANONNAME; - hints.ai_family = PF_UNSPEC; - - if (getaddrinfo(q, NULL, &hints, &res) == 0) { - strncpy (buffer, res->ai_canonname, sizeof(buffer)); - buffer[sizeof(buffer) - 1] = '\0'; - freeaddrinfo(res); - return buffer; - } - if (hosts.h_name || init_hs ()) { - for (h = hosts.h_next; h; h = h->h_next) - if (!mh_strcasecmp (h->h_name, q)) { - return h->h_name; - } else { - for (r = h->h_aliases; *r; r++) - if (!mh_strcasecmp (*r, q)) - return h->h_name; - } - } - - strncpy (buffer, site, sizeof(buffer)); - return buffer; -} - -/* - * Use hostable as an exception file for those hosts that aren't - * on the Internet (listed in /etc/hosts). These are usually - * PhoneNet and UUCP sites. - */ - -#define NALIASES 50 - -static int -init_hs (void) -{ - unsigned char *cp; - char *dp, **q, **r; - char buffer[BUFSIZ], *aliases[NALIASES]; - register struct host *h; - register FILE *fp; - - if ((fp = fopen (hostable, "r")) == NULL) - return 0; - - h = &hosts; - while (fgets (buffer, sizeof(buffer), fp) != NULL) { - if ((cp = strchr(buffer, '#'))) - *cp = 0; - if ((cp = strchr(buffer, '\n'))) - *cp = 0; - for (cp = buffer; *cp; cp++) - if (isspace (*cp)) - *cp = ' '; - for (cp = buffer; isspace (*cp); cp++) - continue; - if (*cp == 0) - continue; - - q = aliases; - if ((cp = strchr(dp = cp, ' '))) { - *cp = 0; - for (cp++; *cp; cp++) { - while (isspace (*cp)) - cp++; - if (*cp == 0) - break; - if ((cp = strchr(*q++ = cp, ' '))) - *cp = 0; - else - break; - if (q >= aliases + NALIASES) - break; - } - } - - *q = 0; - - h->h_next = (struct host *) calloc (1, sizeof(*h)); - h = h->h_next; - h->h_name = getcpy (dp); - r = h->h_aliases = - (char **) calloc ((size_t) (q - aliases + 1), sizeof(*q)); - for (q = aliases; *q; q++) - *r++ = getcpy (*q); - *r = 0; - } - - fclose (fp); - return 1; -} diff --git a/uip/mhl.c b/uip/mhl.c index 490813d..af4cdfa 100644 --- a/uip/mhl.c +++ b/uip/mhl.c @@ -19,17 +19,3 @@ main (int argc, char **argv) done (mhl (argc, argv)); return 1; } - - -/* - * Cheat: we are loaded with adrparse, which wants a routine called - * OfficialName(). We call adrparse:getm() with the correct arguments - * to prevent OfficialName() from being called. Hence, the following - * is to keep the loader happy. - */ - -char * -OfficialName(char *name) -{ - return name; -} diff --git a/uip/mhlsbr.c b/uip/mhlsbr.c index ff1f66e..d49314f 100644 --- a/uip/mhlsbr.c +++ b/uip/mhlsbr.c @@ -1151,13 +1151,8 @@ mcomp_format (struct mcomp *c1, struct mcomp *c2) p->pq_error = getcpy (error); } else { if ((c1->c_flags & FACEDFLT) && c2->c_face == NULL) { - char *h, *o; - if ((h = mp->m_host) == NULL) - h = LocalName (0); - if ((o = OfficialName (h))) - h = o; - c2->c_face = concat ("address ", h, " ", mp->m_mbox, - NULL); + char *h = mp->m_host ? mp->m_host : LocalName (0); + c2->c_face = concat ("address ", h, " ", mp->m_mbox, NULL); } p->pq_text = getcpy (mp->m_text); mnfree (mp); @@ -1569,11 +1564,7 @@ face_format (struct mcomp *c1) if ((cp = getname (cp))) { if ((mp = getm (cp, NULL, 0, AD_NAME, NULL))) { - char *h, *o; - if ((h = mp->m_host) == NULL) - h = LocalName (0); - if ((o = OfficialName (h))) - h = o; + char *h = mp->m_host ? mp->m_host : LocalName (0); c1->c_face = concat ("address ", h, " ", mp->m_mbox, NULL); } diff --git a/uip/scansbr.c b/uip/scansbr.c index 1f2785a..3d66bcf 100644 --- a/uip/scansbr.c +++ b/uip/scansbr.c @@ -361,19 +361,6 @@ finished: } -/* - * Cheat: we are loaded with adrparse, which wants a routine called - * OfficialName(). We call adrparse:getm() with the correct arguments - * to prevent OfficialName() from being called. Hence, the following - * is to keep the loader happy. - */ -char * -OfficialName (char *name) -{ - return name; -} - - static int mh_fputs(char *s, FILE *stream) { diff --git a/uip/show.c b/uip/show.c index 1b11871..60f1e62 100644 --- a/uip/show.c +++ b/uip/show.c @@ -359,19 +359,6 @@ go_to_it: ; return 0; /* dead code to satisfy the compiler */ } -/* - * Cheat: we are loaded with adrparse, which wants a routine called - * OfficialName(). We call adrparse:getm() with the correct arguments - * to prevent OfficialName() from being called. Hence, the following - * is to keep the loader happy. - */ - -char * -OfficialName (char *name) -{ - return name; -} - /* * Check if a message or file contains any non-text parts -- 1.7.10.4