|
|
researchv10 Norman
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 "[email protected]". 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
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.