|
|
1.1 root 1: Only in .: Errors
2: Only in .: Mail
3: diff ./Makefile mark/Makefile
4: 7c7
5: < CFLAGS=-O -DVMUNIX -DV7
6: ---
7: > CFLAGS=-O -DVMUNIX -DV7 -DUNAME
8: 21,23c21,23
9: < config.o edit.o fio.o \
10: < getname.o head.o v7.local.o lock.o lex.o list.o main.o \
11: < names.o optim.o popen.o quit.o send.o strings.o temp.o tty.o \
12: ---
13: > config.o edit.o fio.o getname.o hostname.o \
14: > head.o v7.local.o lock.o lex.o list.o main.o \
15: > names.o optim.o popen.o quit.o send.o stralloc.o temp.o tty.o \
16: 27,28c27,28
17: < getname.c head.c v7.local.c lock.c lex.c list.c main.c \
18: < names.c optim.c popen.c quit.c send.c strings.c temp.c tty.c vars.c \
19: ---
20: > getname.c head.c hostname.c v7.local.c lock.c lex.c list.c main.c \
21: > names.c optim.c popen.c quit.c send.c stralloc.c temp.c tty.c vars.c \
22: 62c62
23: < sccs get $@;
24: ---
25: > -sccs get $@;
26: diff ./Makefile.11 mark/Makefile.11
27: 4c4
28: < # Sccs Id = "@(#)Makefile.11 1.3 10/27/82";
29: ---
30: > # Sccs Id = "@(#)Makefile.11 1.2 8/12/82";
31: 6,17d5
32: < # If you are compiling this for a nonseparate I/D machine,
33: < # you must:
34: < # change the definitions of LDFLAGS, CFLAGS, LIBES,
35: < # SIGRETROSRC, and SIGRETROOBJ
36: < # make Mail40 rather than Mail
37: < #
38: < # Mail is too large to fit on a nonseparate I/D machine without
39: < # text overlays.
40: < #
41: < # If you do not have a vfork system call or do not support
42: < # job control, you must change the definition of OPTIONS.
43: < #
44: 19,42c7,21
45: < OPTIONS= -DV7 -DVMUNIX # vfork and job control
46: < #OPTIONS= -DV7 # no vfork or no job control
47: <
48: < LDFLAGS= -i # for separate I/D machines
49: < #LDFLAGS= -n # for nonseparate I/D machines
50: <
51: < CFLAGS= -O ${OPTIONS} ${INCLUDES} # for separate I/D machines
52: < #CFLAGS= -O -V ${OPTIONS} ${INCLUDES} # for nonseparate I/D machines
53: <
54: < LIBES= -ljobs -lc # for separate I/D machines
55: < #LIBES= -lovjobs -lovc # for nonseparate I/D machines
56: <
57: < SIGRETROSRC= # for those with job control
58: < SIGRETROOBJ= # for those with job control
59: < #SIGRETROSRC= sigretro.c # for those without job control
60: < #SIGRETROOBJ= sigretro.o # for those without job control
61: <
62: < XSTR= /usr/ucb/xstr
63: < DESTDIR= /
64: < CTAGS= /usr/ucb/ctags -w
65: < ED= -ed
66: < AS= -as
67: < RM= -rm
68: < OBJS=aux.o cmd1.o cmd2.o cmd3.o cmdtab.o collect.o config.o edit.o fio.o \
69: ---
70: > CFLAGS=-O -DV7
71: > XSTR=/usr/ucb/xstr
72: > DESTDIR=/
73: > CTAGS=/usr/ucb/ctags -w
74: > VPRINT=/usr/ucb/print
75: > CGRAF=/ja/rigel/rigel/bin/cgraf
76: > CGRAPH=/ja/rigel/rigel/bin/cgraph
77: > NMKINDEX=/ja/rigel/rigel/bin/nmkindex
78: > DIRTCLOD=/ja/rigel/rigel/bin/dirtclod
79: > LIBES=
80: > ED=-ed
81: > AS=-as
82: > RM=-rm
83: > OBJS=version.o aux.o cmd1.o cmd2.o cmd3.o cmdtab.o collect.o \
84: > config.o edit.o fio.o \
85: 45c24
86: < vars.o version.o errlst.o str.o ${SIGRETROOBJ}
87: ---
88: > vars.o sigretro.o
89: 50c29
90: < errlst.c version.c ${SIGRETROSRC}
91: ---
92: > version.c sigretro.c
93: 52c31
94: < HDRS=rcv.h configdefs.h def.h glob.h v7.local.h local.h
95: ---
96: > HDRS=rcv.h configdefs.h def.h glob.h v7.local.h local.h sigretro.h
97: 56,64d34
98: < #
99: < # Special massaging of C files for sharing of strings
100: < #
101: < .c.o:
102: < ${CC} -E ${CFLAGS} $*.c | ${XSTR} -c -
103: < ${CC} -c ${CFLAGS} x.c
104: < mv x.o $*.o
105: < @$(RM) -f x.c
106: <
107: 68c38
108: < @${CC} ${LDFLAGS} -o Mail ${OBJS} ${LIBES}
109: ---
110: > @$(CC) -i -o Mail $(OBJS) $(LIBES)
111: 71,81c41,42
112: < Mail40: $S $(OBJS)
113: < $(RM) -f Mail
114: < @echo Loading ...
115: < @ld -X /lib/crt0.o ${LDFLAGS} -o Mail \
116: < -Z getname.o names.o optim.o popen.o send.o strings.o temp.o \
117: < v7.local.o vars.o \
118: < -Z edit.o head.o lex.o list.o lock.o main.o quit.o tty.o \
119: < -Z cmd1.o cmd2.o cmd3.o collect.o ${SIGRETROOBJ} \
120: < -L aux.o cmdtab.o config.o errlst.o fio.o \
121: < str.o version.o ${LIBES}
122: < @size Mail
123: ---
124: > mail.g: $(SRCS)
125: > $(CGRAF) $(SRCS) > mail.g
126: 98c59
127: < rm -f Mail a.out fmt x.c xs.c core
128: ---
129: > rm -f Mail a.out fmt x.c xs.c tags core
130: 105c66
131: < $(CC) fmt.c head.c -O -o fmt
132: ---
133: > $(CC) fmt.c head.c -o fmt
134: 109,124c70,75
135: < str.o: strings
136: < $(XSTR)
137: < $(CC) -c $(CFLAGS) xs.c
138: < mv xs.o str.o
139: < $(RM) xs.c
140: <
141: < config.o: config.c
142: < $(CC) -c $(CFLAGS) config.c
143: <
144: < cmdtab.o: cmdtab.c
145: < $(CC) -c $(CFLAGS) cmdtab.c
146: <
147: < errlst.o: errlst.c
148: < ${CC} -E ${CFLAGS} errlst.c | ${XSTR} -c -
149: < ${CC} ${CFLAGS} -c x.c
150: < mv x.o errlst.o
151: ---
152: > print: $S fmt.c
153: > $(CGRAPH) > mail.g;
154: > $(NMKINDEX) > mail.i;
155: > $(DIRTCLOD) -x mail.i -p mail.g > mail.x
156: > @$(VPRINT) Makefile mail.x rcv.h def.h glob.h local.h v7.local.h \
157: > $(SRCS) fmt.c;
158: Only in mark: Makefile.usg
159: Only in .: SCCS
160: Only in .: aux.c
161: Only in .: aux.o
162: Only in .: cmd1.c
163: Only in .: cmd1.o
164: Only in .: cmd2.c
165: Only in .: cmd2.o
166: diff ./cmd3.c mark/cmd3.c
167: 12c12
168: < static char *SccsId = "@(#)cmd3.c 2.9 10/21/82";
169: ---
170: > static char *SccsId = "@(#)cmd3.c 2.8 7/28/82";
171: 196a197,199
172: > char *unuucp();
173: > char mylocalname[100], mydomname[200];
174: > extern char host[], domain[];
175: 201a205,211
176: >
177: > strcpy(mylocalname, myname);
178: > strcat(mylocalname, "@");
179: > strcpy(mydomname, mylocalname);
180: > strcat(mylocalname, host);
181: > strcat(mydomname, domain);
182: >
183: 221a232,233
184: > np = delname(np, mylocalname);
185: > np = delname(np, mydomname);
186: 230c242
187: < strcat(buf, rcv);
188: ---
189: > strcat(buf, unuucp(rcv));
190: 236c248
191: < strcpy(buf, rcv);
192: ---
193: > strcpy(buf, unuucp(rcv));
194: 246,256c258,268
195: < if (replyto == NOSTR) {
196: < cp = hfield("cc", mp);
197: < if (cp != NOSTR) {
198: < np = elide(extract(cp, GCC));
199: < mapf(np, rcv);
200: < np = delname(np, myname);
201: < if (altnames != 0)
202: < for (ap = altnames; *ap; ap++)
203: < np = delname(np, *ap);
204: < head.h_cc = detract(np, 0);
205: < }
206: ---
207: > cp = hfield("cc", mp);
208: > if (cp != NOSTR) {
209: > np = elide(extract(cp, GCC));
210: > mapf(np, rcv);
211: > np = delname(np, myname);
212: > np = delname(np, mylocalname);
213: > np = delname(np, mydomname);
214: > if (altnames != 0)
215: > for (ap = altnames; *ap; ap++)
216: > np = delname(np, *ap);
217: > head.h_cc = detract(np, 0);
218: 324c336
219: < printf("%d: %ld\n", mesg, mp->m_size);
220: ---
221: > printf("%d: %d\n", mesg, msize(mp));
222: Only in .: cmd3.o
223: Only in .: cmdtab.c
224: Only in .: cmdtab.o
225: Only in .: collect.c
226: Only in .: collect.o
227: diff ./config.c mark/config.c
228: 26a27,28
229: > EMPTY, EMPTYID, BN|AN, /* Filled in dynamically */
230: > EMPTY, EMPTYID, BN|AN, /* Filled in dynamically */
231: 53,55d54
232: < "csvax", 'v', BN|SN,
233: < "vax", 'v', BN|SN,
234: < "ucb", 'v', BN|SN,
235: 56a56,57
236: > "csvax", 'v', BN|SN,
237: > "ucb", 'u', BN|SN,
238: 60d60
239: < EMPTY, EMPTYID, SN, /* Filled in dynamically */
240: Only in .: config.o
241: Only in .: configdefs.h
242: diff ./def.h mark/def.h
243: 13c13
244: < * Sccs Id = "@(#)def.h 2.8 10/21/82";
245: ---
246: > * Sccs Id = "@(#)def.h 2.7 7/28/82";
247: 53c53
248: < long m_size; /* Bytes in the message */
249: ---
250: > unsigned m_size; /* Bytes in the message */
251: 246,248d245
252: < #ifndef SIGRETRO
253: < #define sigchild()
254: < #endif
255: 271a269
256: > char *makeremote();
257: 309c307
258: < long transmit();
259: ---
260: > unsigned int msize();
261: Only in .: diffs.mark
262: Only in .: edit.c
263: Only in .: edit.o
264: Only in .: fio.c
265: Only in .: fio.o
266: Only in .: fmt.c
267: Only in .: getname.c
268: Only in .: getname.o
269: Only in .: glob.h
270: diff ./head.c mark/head.c
271: 33a34,38
272: > #ifdef notdef
273: > /*
274: > * Seems to be no reason to be so fussy, and USG keeps changing
275: > * their date format.
276: > */
277: 37a43
278: > #endif
279: Only in .: head.o
280: Only in mark: hostname.c
281: Only in .: lex.c
282: Only in .: lex.o
283: Only in .: list.c
284: Only in .: list.o
285: diff ./local.h mark/local.h
286: 9,26c9,10
287: < #ifdef CORY
288: < #include "c.local.h"
289: < #endif
290: <
291: < #ifdef INGRES
292: < #include "ing.local.h"
293: < #endif
294: <
295: < #ifdef V6
296: < #include "v6.local.h"
297: < #endif
298: <
299: < #ifdef CC
300: < #include "cc.local.h"
301: < #endif
302: <
303: < #ifdef V40
304: < #include "40.local.h"
305: ---
306: > #ifdef USG
307: > #include "usg.local.h"
308: diff ./lock.c mark/lock.c
309: 12c12
310: < static char *SccsId = "@(#)lock.c 2.3 10/5/82";
311: ---
312: > static char *SccsId = "@(#)lock.c 2.2 8/12/81";
313: 13a14
314: > #ifdef USG
315: 14a16,18
316: > char *lockname = "/usr/mail/tmXXXXXX";
317: > #else
318: > char *maillock = ".mail"; /* Lock suffix for mailname */
319: 15a20
320: > #endif
321: Only in .: lock.o
322: diff ./main.c mark/main.c
323: 14a15
324: > int UnUUCP = 0;
325: 50d50
326: < #ifdef GETHOST
327: 52d51
328: < #endif GETHOST
329: 141a141,144
330: > break;
331: >
332: > case 'U':
333: > UnUUCP++;
334: Only in .: main.o
335: Only in .: mark
336: Only in .: misc
337: diff ./names.c mark/names.c
338: 810a811
339: > if (debug) fprintf(stderr, "mapf %x, %s\n", np, from);
340: 812a814
341: > if (debug) fprintf(stderr, "mapf %s done\n", from);
342: Only in .: names.o
343: diff ./optim.c mark/optim.c
344: 13c13
345: < static char *SccsId = "@(#)optim.c 2.7 11/6/82";
346: ---
347: > static char *SccsId = "%W% %G%";
348: 27a28
349: > char *unuucp();
350: 28a30
351: > if (debug) fprintf(stderr, "netmap(name '%s', from '%s')\n", name, from);
352: 32a35,36
353: > if (any('@', from) || any('%', from))
354: > return(unuucp(makeremote(name, from)));
355: 33a38
356: > if (debug) fprintf(stderr, "netmap: revarpa returns cp '%s'\n", cp);
357: 35c40
358: < return(name);
359: ---
360: > return(unuucp(name));
361: 41c46
362: < return(name);
363: ---
364: > return(unuucp(name));
365: 43a49
366: > if (debug) fprintf(stderr, "before optim, nbuf '%s', ret '%s'\n", nbuf, ret);
367: 44a51
368: > if (debug) fprintf(stderr, "after optim, nbuf '%s', ret '%s'\n", nbuf, ret);
369: 45a53
370: > if (debug) fprintf(stderr, "wind up with '%s'\n", name);
371: 47,48c55,56
372: < return((char *) savestr(cp));
373: < return(name);
374: ---
375: > return(unuucp((char *) savestr(cp)));
376: > return(unuucp(name));
377: 51a60,97
378: > * Optionally translate an old format uucp name into a new one, e.g.
379: > * "chico!harpo!ber" becomes "[email protected]". This optional because
380: > * some information is necessarily lost (e.g. the route it got here
381: > * via) and if we don't have the host in our routing tables, we lose.
382: > */
383: > char *
384: > unuucp(name)
385: > char *name;
386: > {
387: > register char *np, *hp, *cp;
388: > char result[100];
389: > char tname[300];
390: >
391: > if (!value("unuucp"))
392: > return name;
393: > if (debug) fprintf(stderr, "unuucp(%s)\n", name);
394: > strcpy(tname, name);
395: > np = rindex(tname, '!');
396: > if (np == NOSTR)
397: > return name;
398: > *np++ = 0;
399: > hp = rindex(tname, '!');
400: > if (hp == NOSTR)
401: > hp = tname;
402: > else
403: > *hp++ = 0;
404: > cp = index(np, '@');
405: > if (cp == NOSTR)
406: > cp = index(np, '%');
407: > if (cp)
408: > *cp = 0;
409: > if (debug) fprintf(stderr, "host %s, name %s\n", hp, np);
410: > sprintf(result, "%s@%s.UUCP", np, hp);
411: > if (debug) fprintf(stderr, "unuucp returns %s\n", result);
412: > return savestr(result);
413: > }
414: >
415: > /*
416: 189a236
417: > if (debug) fprintf(stderr, "cp '%s', arpamach %o, nettypes arpamach %o LOCAL %o\n", cp, arpamach, nettype(arpamach), nettype(LOCAL));
418: 206,218c253,254
419: < fake[0] = arpamach;
420: < fake[1] = ':';
421: < fake[2] = LOCAL;
422: < fake[3] = ':';
423: < fake[4] = 0;
424: < prefer(fake);
425: < strcpy(fakepath, netname(fake[0]));
426: < stradd(fakepath, fake[1]);
427: < strcat(fakepath, "daemon");
428: < if (debug)
429: < fprintf(stderr, "machine local, call netmap(%s, %s)\n",
430: < newname, fakepath);
431: < return(netmap(newname, fakepath));
432: ---
433: > if (debug) fprintf(stderr, "local address, return '%s'\n", newname);
434: > return(newname);
435: 221a258,279
436: > * We have name with no @'s in it, and from with @'s.
437: > * Assume that name is meaningful only on the site in from.
438: > */
439: > char *
440: > makeremote(name, from)
441: > char name[];
442: > char from[];
443: > {
444: > register char *cp;
445: > static char rbuf[200];
446: >
447: > if (debug) fprintf(stderr, "makeremote(%s, %s) returns ", name, from);
448: > strcpy(rbuf, name);
449: > cp = rindex(from, '@');
450: > if (cp == NOSTR)
451: > cp = rindex(from, '%');
452: > strcat(rbuf, cp);
453: > if (debug) fprintf(stderr, "%s\n", rbuf);
454: > return rbuf;
455: > }
456: >
457: > /*
458: 308c366
459: < xp->xh_attnet |= SN;
460: ---
461: > xp->xh_attnet |= AN;
462: 414a473
463: > if (debug) fprintf(stderr, "optim(%s, %s) called\n", net, name);
464: 450a510
465: > if (debug) fprintf(stderr, "optim1(%s,%s) called\n", netstr, xfstr);
466: 451a512
467: > if (debug) fprintf(stderr, "optim1(%s,%s) returns\n", netstr, xfstr);
468: 470a532
469: > if (debug) fprintf(stderr, "optim returns %s in name\n", name);
470: 529,530c591,592
471: < * BN for Bell labs net
472: < * SN for Schmidt (berkeley net)
473: ---
474: > * BN for Bell labs net (e.g. UUCP, NOT Berknet)
475: > * SN for Schmidt net (Berknet)
476: 706,726d767
477: <
478: < #ifdef GETHOST
479: < /*
480: < * Initialize the network name of the current host.
481: < */
482: < inithost()
483: < {
484: < register struct netmach *np;
485: < static char host[64];
486: <
487: < gethostname(host, sizeof host);
488: < for (np = netmach; np->nt_machine != 0; np++)
489: < if (strcmp(np->nt_machine, EMPTY) == 0)
490: < break;
491: < if (np->nt_machine == 0) {
492: < printf("Cannot find empty slot for dynamic host entry\n");
493: < exit(1);
494: < }
495: < np->nt_machine = host;
496: < }
497: < #endif GETHOST
498: Only in .: optim.o
499: diff ./popen.c mark/popen.c
500: 8c8
501: < static char *sccsid = "@(#)popen.c 1.5 10/21/82";
502: ---
503: > static char *sccsid = "@(#)popen.c 1.4 7/26/82";
504: 13,15d12
505: < #ifndef SIGRETRO
506: < #define sigchild()
507: < #endif
508: 33c30,31
509: < dup2(hisside, tst(0, 1));
510: ---
511: > close(tst(0, 1));
512: > dup(hisside);
513: 35a34
514: > execl("/bin/sh", "sh", "-c", cmd, 0);
515: Only in .: popen.o
516: Only in .: quit.c
517: Only in .: quit.o
518: Only in .: rcv.h
519: Only in mark: respond.c
520: diff ./send.c mark/send.c
521: 15c15
522: < static char *SccsId = "@(#)send.c 2.6 10/21/82";
523: ---
524: > static char *SccsId = "@(#)send.c 2.4 7/29/82";
525: 29c29
526: < long c;
527: ---
528: > unsigned int c;
529: 33a34
530: > int oldign = 0; /* previous line was ignored */
531: 37c38
532: < c = mp->m_size;
533: ---
534: > c = msize(mp);
535: 43c44
536: < while (c > 0L) {
537: ---
538: > while (c > 0) {
539: 45c46
540: < c -= (long) strlen(line);
541: ---
542: > c -= strlen(line);
543: 75c76,79
544: < goto writeit;
545: ---
546: > if (oldign)
547: > continue;
548: > else
549: > goto writeit;
550: 103c107,108
551: < if (doign && isign(field))
552: ---
553: > oldign = doign && isign(field);
554: > if (oldign)
555: 178a184
556: > char *person;
557: 179a186,187
558: > extern int UnUUCP;
559: > char *unuucp();
560: 180a189,191
561: > if (UnUUCP)
562: > for (s = 0, ap = people; *ap != (char *) -1; ap++)
563: > *ap = unuucp(*ap);
564: 337,340d347
565: < #ifdef pdp11
566: < while (wait2(&s, WNOHANG) > 0)
567: < #endif
568: < #ifdef vax
569: 342d348
570: < #endif
571: Only in .: send.o
572: Only in .: sigretro.c
573: Only in .: sigretro.h
574: Only in .: str.o
575: Only in .: strings
576: Only in .: strings.c
577: Only in .: strings.o
578: Only in .: temp.c
579: Only in .: temp.o
580: Only in .: tty.c
581: Only in .: tty.o
582: Only in mark: uname.c
583: Only in mark: usg.local.c
584: Only in mark: usg.local.h
585: Only in mark: utsname.h
586: Only in .: v7.local.c
587: diff ./v7.local.h mark/v7.local.h
588: 11,12c11
589: < #define GETHOST /* System has gethostname syscall */
590: < #ifdef GETHOST
591: ---
592: > #if GETHOST || UNAME
593: 17a17,18
594: > #define MYDOMAIN ".uucp" /* Appended to local host name */
595: >
596: 19c20
597: < #define DELIVERMAIL "/etc/delivermail"
598: ---
599: > #define DELIVERMAIL "/usr/lib/sendmail"
600: Only in .: v7.local.o
601: Only in .: vars.c
602: Only in .: vars.o
603: diff ./version.c mark/version.c
604: 1,6c1
605: < /*
606: < * Just keep track of the date/sid of this version of Mail.
607: < * Load this file first to get a "total" Mail version.
608: < */
609: < static char *SccsID = "@(#)UCB Mail Version 2.15 (7/29/82)";
610: < char *version = "2.15 7/29/82";
611: ---
612: > char *version = "October 6, 1982";
613: Only in .: version.o
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.