Only in .: Errors Only in .: Mail diff ./Makefile mark/Makefile 7c7 < CFLAGS=-O -DVMUNIX -DV7 --- > CFLAGS=-O -DVMUNIX -DV7 -DUNAME 21,23c21,23 < config.o edit.o fio.o \ < getname.o head.o v7.local.o lock.o lex.o list.o main.o \ < names.o optim.o popen.o quit.o send.o strings.o temp.o tty.o \ --- > config.o edit.o fio.o getname.o hostname.o \ > head.o v7.local.o lock.o lex.o list.o main.o \ > names.o optim.o popen.o quit.o send.o stralloc.o temp.o tty.o \ 27,28c27,28 < getname.c head.c v7.local.c lock.c lex.c list.c main.c \ < names.c optim.c popen.c quit.c send.c strings.c temp.c tty.c vars.c \ --- > getname.c head.c hostname.c v7.local.c lock.c lex.c list.c main.c \ > names.c optim.c popen.c quit.c send.c stralloc.c temp.c tty.c vars.c \ 62c62 < sccs get $@; --- > -sccs get $@; diff ./Makefile.11 mark/Makefile.11 4c4 < # Sccs Id = "@(#)Makefile.11 1.3 10/27/82"; --- > # Sccs Id = "@(#)Makefile.11 1.2 8/12/82"; 6,17d5 < # If you are compiling this for a nonseparate I/D machine, < # you must: < # change the definitions of LDFLAGS, CFLAGS, LIBES, < # SIGRETROSRC, and SIGRETROOBJ < # make Mail40 rather than Mail < # < # Mail is too large to fit on a nonseparate I/D machine without < # text overlays. < # < # If you do not have a vfork system call or do not support < # job control, you must change the definition of OPTIONS. < # 19,42c7,21 < OPTIONS= -DV7 -DVMUNIX # vfork and job control < #OPTIONS= -DV7 # no vfork or no job control < < LDFLAGS= -i # for separate I/D machines < #LDFLAGS= -n # for nonseparate I/D machines < < CFLAGS= -O ${OPTIONS} ${INCLUDES} # for separate I/D machines < #CFLAGS= -O -V ${OPTIONS} ${INCLUDES} # for nonseparate I/D machines < < LIBES= -ljobs -lc # for separate I/D machines < #LIBES= -lovjobs -lovc # for nonseparate I/D machines < < SIGRETROSRC= # for those with job control < SIGRETROOBJ= # for those with job control < #SIGRETROSRC= sigretro.c # for those without job control < #SIGRETROOBJ= sigretro.o # for those without job control < < XSTR= /usr/ucb/xstr < DESTDIR= / < CTAGS= /usr/ucb/ctags -w < ED= -ed < AS= -as < RM= -rm < OBJS=aux.o cmd1.o cmd2.o cmd3.o cmdtab.o collect.o config.o edit.o fio.o \ --- > CFLAGS=-O -DV7 > XSTR=/usr/ucb/xstr > DESTDIR=/ > CTAGS=/usr/ucb/ctags -w > VPRINT=/usr/ucb/print > CGRAF=/ja/rigel/rigel/bin/cgraf > CGRAPH=/ja/rigel/rigel/bin/cgraph > NMKINDEX=/ja/rigel/rigel/bin/nmkindex > DIRTCLOD=/ja/rigel/rigel/bin/dirtclod > LIBES= > ED=-ed > AS=-as > RM=-rm > OBJS=version.o aux.o cmd1.o cmd2.o cmd3.o cmdtab.o collect.o \ > config.o edit.o fio.o \ 45c24 < vars.o version.o errlst.o str.o ${SIGRETROOBJ} --- > vars.o sigretro.o 50c29 < errlst.c version.c ${SIGRETROSRC} --- > version.c sigretro.c 52c31 < HDRS=rcv.h configdefs.h def.h glob.h v7.local.h local.h --- > HDRS=rcv.h configdefs.h def.h glob.h v7.local.h local.h sigretro.h 56,64d34 < # < # Special massaging of C files for sharing of strings < # < .c.o: < ${CC} -E ${CFLAGS} $*.c | ${XSTR} -c - < ${CC} -c ${CFLAGS} x.c < mv x.o $*.o < @$(RM) -f x.c < 68c38 < @${CC} ${LDFLAGS} -o Mail ${OBJS} ${LIBES} --- > @$(CC) -i -o Mail $(OBJS) $(LIBES) 71,81c41,42 < Mail40: $S $(OBJS) < $(RM) -f Mail < @echo Loading ... < @ld -X /lib/crt0.o ${LDFLAGS} -o Mail \ < -Z getname.o names.o optim.o popen.o send.o strings.o temp.o \ < v7.local.o vars.o \ < -Z edit.o head.o lex.o list.o lock.o main.o quit.o tty.o \ < -Z cmd1.o cmd2.o cmd3.o collect.o ${SIGRETROOBJ} \ < -L aux.o cmdtab.o config.o errlst.o fio.o \ < str.o version.o ${LIBES} < @size Mail --- > mail.g: $(SRCS) > $(CGRAF) $(SRCS) > mail.g 98c59 < rm -f Mail a.out fmt x.c xs.c core --- > rm -f Mail a.out fmt x.c xs.c tags core 105c66 < $(CC) fmt.c head.c -O -o fmt --- > $(CC) fmt.c head.c -o fmt 109,124c70,75 < str.o: strings < $(XSTR) < $(CC) -c $(CFLAGS) xs.c < mv xs.o str.o < $(RM) xs.c < < config.o: config.c < $(CC) -c $(CFLAGS) config.c < < cmdtab.o: cmdtab.c < $(CC) -c $(CFLAGS) cmdtab.c < < errlst.o: errlst.c < ${CC} -E ${CFLAGS} errlst.c | ${XSTR} -c - < ${CC} ${CFLAGS} -c x.c < mv x.o errlst.o --- > print: $S fmt.c > $(CGRAPH) > mail.g; > $(NMKINDEX) > mail.i; > $(DIRTCLOD) -x mail.i -p mail.g > mail.x > @$(VPRINT) Makefile mail.x rcv.h def.h glob.h local.h v7.local.h \ > $(SRCS) fmt.c; Only in mark: Makefile.usg Only in .: SCCS Only in .: aux.c Only in .: aux.o Only in .: cmd1.c Only in .: cmd1.o Only in .: cmd2.c Only in .: cmd2.o diff ./cmd3.c mark/cmd3.c 12c12 < static char *SccsId = "@(#)cmd3.c 2.9 10/21/82"; --- > static char *SccsId = "@(#)cmd3.c 2.8 7/28/82"; 196a197,199 > char *unuucp(); > char mylocalname[100], mydomname[200]; > extern char host[], domain[]; 201a205,211 > > strcpy(mylocalname, myname); > strcat(mylocalname, "@"); > strcpy(mydomname, mylocalname); > strcat(mylocalname, host); > strcat(mydomname, domain); > 221a232,233 > np = delname(np, mylocalname); > np = delname(np, mydomname); 230c242 < strcat(buf, rcv); --- > strcat(buf, unuucp(rcv)); 236c248 < strcpy(buf, rcv); --- > strcpy(buf, unuucp(rcv)); 246,256c258,268 < if (replyto == NOSTR) { < cp = hfield("cc", mp); < if (cp != NOSTR) { < np = elide(extract(cp, GCC)); < mapf(np, rcv); < np = delname(np, myname); < if (altnames != 0) < for (ap = altnames; *ap; ap++) < np = delname(np, *ap); < head.h_cc = detract(np, 0); < } --- > cp = hfield("cc", mp); > if (cp != NOSTR) { > np = elide(extract(cp, GCC)); > mapf(np, rcv); > np = delname(np, myname); > np = delname(np, mylocalname); > np = delname(np, mydomname); > if (altnames != 0) > for (ap = altnames; *ap; ap++) > np = delname(np, *ap); > head.h_cc = detract(np, 0); 324c336 < printf("%d: %ld\n", mesg, mp->m_size); --- > printf("%d: %d\n", mesg, msize(mp)); Only in .: cmd3.o Only in .: cmdtab.c Only in .: cmdtab.o Only in .: collect.c Only in .: collect.o diff ./config.c mark/config.c 26a27,28 > EMPTY, EMPTYID, BN|AN, /* Filled in dynamically */ > EMPTY, EMPTYID, BN|AN, /* Filled in dynamically */ 53,55d54 < "csvax", 'v', BN|SN, < "vax", 'v', BN|SN, < "ucb", 'v', BN|SN, 56a56,57 > "csvax", 'v', BN|SN, > "ucb", 'u', BN|SN, 60d60 < EMPTY, EMPTYID, SN, /* Filled in dynamically */ Only in .: config.o Only in .: configdefs.h diff ./def.h mark/def.h 13c13 < * Sccs Id = "@(#)def.h 2.8 10/21/82"; --- > * Sccs Id = "@(#)def.h 2.7 7/28/82"; 53c53 < long m_size; /* Bytes in the message */ --- > unsigned m_size; /* Bytes in the message */ 246,248d245 < #ifndef SIGRETRO < #define sigchild() < #endif 271a269 > char *makeremote(); 309c307 < long transmit(); --- > unsigned int msize(); Only in .: diffs.mark Only in .: edit.c Only in .: edit.o Only in .: fio.c Only in .: fio.o Only in .: fmt.c Only in .: getname.c Only in .: getname.o Only in .: glob.h diff ./head.c mark/head.c 33a34,38 > #ifdef notdef > /* > * Seems to be no reason to be so fussy, and USG keeps changing > * their date format. > */ 37a43 > #endif Only in .: head.o Only in mark: hostname.c Only in .: lex.c Only in .: lex.o Only in .: list.c Only in .: list.o diff ./local.h mark/local.h 9,26c9,10 < #ifdef CORY < #include "c.local.h" < #endif < < #ifdef INGRES < #include "ing.local.h" < #endif < < #ifdef V6 < #include "v6.local.h" < #endif < < #ifdef CC < #include "cc.local.h" < #endif < < #ifdef V40 < #include "40.local.h" --- > #ifdef USG > #include "usg.local.h" diff ./lock.c mark/lock.c 12c12 < static char *SccsId = "@(#)lock.c 2.3 10/5/82"; --- > static char *SccsId = "@(#)lock.c 2.2 8/12/81"; 13a14 > #ifdef USG 14a16,18 > char *lockname = "/usr/mail/tmXXXXXX"; > #else > char *maillock = ".mail"; /* Lock suffix for mailname */ 15a20 > #endif Only in .: lock.o diff ./main.c mark/main.c 14a15 > int UnUUCP = 0; 50d50 < #ifdef GETHOST 52d51 < #endif GETHOST 141a141,144 > break; > > case 'U': > UnUUCP++; Only in .: main.o Only in .: mark Only in .: misc diff ./names.c mark/names.c 810a811 > if (debug) fprintf(stderr, "mapf %x, %s\n", np, from); 812a814 > if (debug) fprintf(stderr, "mapf %s done\n", from); Only in .: names.o diff ./optim.c mark/optim.c 13c13 < static char *SccsId = "@(#)optim.c 2.7 11/6/82"; --- > static char *SccsId = "%W% %G%"; 27a28 > char *unuucp(); 28a30 > if (debug) fprintf(stderr, "netmap(name '%s', from '%s')\n", name, from); 32a35,36 > if (any('@', from) || any('%', from)) > return(unuucp(makeremote(name, from))); 33a38 > if (debug) fprintf(stderr, "netmap: revarpa returns cp '%s'\n", cp); 35c40 < return(name); --- > return(unuucp(name)); 41c46 < return(name); --- > return(unuucp(name)); 43a49 > if (debug) fprintf(stderr, "before optim, nbuf '%s', ret '%s'\n", nbuf, ret); 44a51 > if (debug) fprintf(stderr, "after optim, nbuf '%s', ret '%s'\n", nbuf, ret); 45a53 > if (debug) fprintf(stderr, "wind up with '%s'\n", name); 47,48c55,56 < return((char *) savestr(cp)); < return(name); --- > return(unuucp((char *) savestr(cp))); > return(unuucp(name)); 51a60,97 > * Optionally translate an old format uucp name into a new one, e.g. > * "chico!harpo!ber" becomes "ber@harpo.UUCP". This optional because > * some information is necessarily lost (e.g. the route it got here > * via) and if we don't have the host in our routing tables, we lose. > */ > char * > unuucp(name) > char *name; > { > register char *np, *hp, *cp; > char result[100]; > char tname[300]; > > if (!value("unuucp")) > return name; > if (debug) fprintf(stderr, "unuucp(%s)\n", name); > strcpy(tname, name); > np = rindex(tname, '!'); > if (np == NOSTR) > return name; > *np++ = 0; > hp = rindex(tname, '!'); > if (hp == NOSTR) > hp = tname; > else > *hp++ = 0; > cp = index(np, '@'); > if (cp == NOSTR) > cp = index(np, '%'); > if (cp) > *cp = 0; > if (debug) fprintf(stderr, "host %s, name %s\n", hp, np); > sprintf(result, "%s@%s.UUCP", np, hp); > if (debug) fprintf(stderr, "unuucp returns %s\n", result); > return savestr(result); > } > > /* 189a236 > if (debug) fprintf(stderr, "cp '%s', arpamach %o, nettypes arpamach %o LOCAL %o\n", cp, arpamach, nettype(arpamach), nettype(LOCAL)); 206,218c253,254 < fake[0] = arpamach; < fake[1] = ':'; < fake[2] = LOCAL; < fake[3] = ':'; < fake[4] = 0; < prefer(fake); < strcpy(fakepath, netname(fake[0])); < stradd(fakepath, fake[1]); < strcat(fakepath, "daemon"); < if (debug) < fprintf(stderr, "machine local, call netmap(%s, %s)\n", < newname, fakepath); < return(netmap(newname, fakepath)); --- > if (debug) fprintf(stderr, "local address, return '%s'\n", newname); > return(newname); 221a258,279 > * We have name with no @'s in it, and from with @'s. > * Assume that name is meaningful only on the site in from. > */ > char * > makeremote(name, from) > char name[]; > char from[]; > { > register char *cp; > static char rbuf[200]; > > if (debug) fprintf(stderr, "makeremote(%s, %s) returns ", name, from); > strcpy(rbuf, name); > cp = rindex(from, '@'); > if (cp == NOSTR) > cp = rindex(from, '%'); > strcat(rbuf, cp); > if (debug) fprintf(stderr, "%s\n", rbuf); > return rbuf; > } > > /* 308c366 < xp->xh_attnet |= SN; --- > xp->xh_attnet |= AN; 414a473 > if (debug) fprintf(stderr, "optim(%s, %s) called\n", net, name); 450a510 > if (debug) fprintf(stderr, "optim1(%s,%s) called\n", netstr, xfstr); 451a512 > if (debug) fprintf(stderr, "optim1(%s,%s) returns\n", netstr, xfstr); 470a532 > if (debug) fprintf(stderr, "optim returns %s in name\n", name); 529,530c591,592 < * BN for Bell labs net < * SN for Schmidt (berkeley net) --- > * BN for Bell labs net (e.g. UUCP, NOT Berknet) > * SN for Schmidt net (Berknet) 706,726d767 < < #ifdef GETHOST < /* < * Initialize the network name of the current host. < */ < inithost() < { < register struct netmach *np; < static char host[64]; < < gethostname(host, sizeof host); < for (np = netmach; np->nt_machine != 0; np++) < if (strcmp(np->nt_machine, EMPTY) == 0) < break; < if (np->nt_machine == 0) { < printf("Cannot find empty slot for dynamic host entry\n"); < exit(1); < } < np->nt_machine = host; < } < #endif GETHOST Only in .: optim.o diff ./popen.c mark/popen.c 8c8 < static char *sccsid = "@(#)popen.c 1.5 10/21/82"; --- > static char *sccsid = "@(#)popen.c 1.4 7/26/82"; 13,15d12 < #ifndef SIGRETRO < #define sigchild() < #endif 33c30,31 < dup2(hisside, tst(0, 1)); --- > close(tst(0, 1)); > dup(hisside); 35a34 > execl("/bin/sh", "sh", "-c", cmd, 0); Only in .: popen.o Only in .: quit.c Only in .: quit.o Only in .: rcv.h Only in mark: respond.c diff ./send.c mark/send.c 15c15 < static char *SccsId = "@(#)send.c 2.6 10/21/82"; --- > static char *SccsId = "@(#)send.c 2.4 7/29/82"; 29c29 < long c; --- > unsigned int c; 33a34 > int oldign = 0; /* previous line was ignored */ 37c38 < c = mp->m_size; --- > c = msize(mp); 43c44 < while (c > 0L) { --- > while (c > 0) { 45c46 < c -= (long) strlen(line); --- > c -= strlen(line); 75c76,79 < goto writeit; --- > if (oldign) > continue; > else > goto writeit; 103c107,108 < if (doign && isign(field)) --- > oldign = doign && isign(field); > if (oldign) 178a184 > char *person; 179a186,187 > extern int UnUUCP; > char *unuucp(); 180a189,191 > if (UnUUCP) > for (s = 0, ap = people; *ap != (char *) -1; ap++) > *ap = unuucp(*ap); 337,340d347 < #ifdef pdp11 < while (wait2(&s, WNOHANG) > 0) < #endif < #ifdef vax 342d348 < #endif Only in .: send.o Only in .: sigretro.c Only in .: sigretro.h Only in .: str.o Only in .: strings Only in .: strings.c Only in .: strings.o Only in .: temp.c Only in .: temp.o Only in .: tty.c Only in .: tty.o Only in mark: uname.c Only in mark: usg.local.c Only in mark: usg.local.h Only in mark: utsname.h Only in .: v7.local.c diff ./v7.local.h mark/v7.local.h 11,12c11 < #define GETHOST /* System has gethostname syscall */ < #ifdef GETHOST --- > #if GETHOST || UNAME 17a17,18 > #define MYDOMAIN ".uucp" /* Appended to local host name */ > 19c20 < #define DELIVERMAIL "/etc/delivermail" --- > #define DELIVERMAIL "/usr/lib/sendmail" Only in .: v7.local.o Only in .: vars.c Only in .: vars.o diff ./version.c mark/version.c 1,6c1 < /* < * Just keep track of the date/sid of this version of Mail. < * Load this file first to get a "total" Mail version. < */ < static char *SccsID = "@(#)UCB Mail Version 2.15 (7/29/82)"; < char *version = "2.15 7/29/82"; --- > char *version = "October 6, 1982"; Only in .: version.o