This is patch #2 to the Zephyr sources. Besides this patch, you also want to pick up an updated version of makedepend (updated to the X11R3 version, plus some additional CPP constants). This makedepend is available in makedepend.tar.Z (or makedepend.shar, for mail retrieval). You should replace your existing src/makedepend directory with this version, then rebuild. After applying the patch, rebuild all your clients; the library has an important bugfix which affects all clients. BE SURE TO APPLY THIS PATCH WITH patch -p TO PRESERVE THE DIRECTORY HIERARCHY. CHANGES in this patch file: - fixes so that the Imakefiles will work on NeXT machines (gcc's version of cpp choked before) - other NeXT fixes (strcasecmp in compile_et, config option to ignore lint, some STDC fixes, missing extern declaration) - Imake.rules fixes to insure cleanup before using et & ss build tools - updated znol(1) program, new -u option, updated man page - updated zwrite(1) program, new -l option, updated man page, better -q semantics - bugfixes to library for ZIfNotice (it would hang forever in certain cases) - fix bug in server/Imakefile (compiled version.c every time) - server bug fixes (fix error reporting), add counters of old-format requests - more host types recognized in zhm Prereq: 1 diff -rc src/patchlevel.h /mit/zephyr/src/patchlevel.h *** patchlevel1/src/patchlevel.h Fri Oct 27 11:21:14 1989 --- src/patchlevel.h Fri Oct 27 11:48:03 1989 *************** *** 1 **** ! #define PATCHLEVEL 1 --- 1 ---- ! #define PATCHLEVEL 2 diff -rc src/Imakefile /mit/zephyr/src/Imakefile *** patchlevel1/src/Imakefile Tue May 30 23:20:36 1989 --- src/Imakefile Thu Oct 19 17:33:12 1989 *************** *** 3,11 **** /**/# For copying and distribution information, see the file /**/# "mit-copyright.h". /**/# ! /**/# $Source: /mit/zephyr/src/RCS/Imakefile,v $ /**/# $Author: jtkohl $ ! /**/# $Header: Imakefile,v 1.7 89/05/30 23:20:29 jtkohl Exp $ /**/# #define have_subdirs #define no_curdir_lint --- 3,11 ---- /**/# For copying and distribution information, see the file /**/# "mit-copyright.h". /**/# ! /**/# $Source: /afs/athena.mit.edu/astaff/project/zephyr/src/RCS/Imakefile,v $ /**/# $Author: jtkohl $ ! /**/# $Header: /afs/athena.mit.edu/astaff/project/zephyr/src/RCS/Imakefile,v 1.8 89/10/19 17:33:06 jtkohl Exp $ /**/# #define have_subdirs #define no_curdir_lint *************** *** 18,24 **** SUBDIRS= ${LOC_SUBDIRS} include lib clients server zhm zwgc man /* Need to make sure `all' is the first target */ all:: ! /**/# we need to remove these here; it's not appropriate to remove them /**/# from lib/Makefile since someone may type 'make clean' there and nuke /**/# them by accident. --- 18,24 ---- SUBDIRS= ${LOC_SUBDIRS} include lib clients server zhm zwgc man /* Need to make sure `all' is the first target */ all:: ! /**/# we need to remove these here; it is not appropriate to remove them /**/# from lib/Makefile since someone may type 'make clean' there and nuke /**/# them by accident. diff -rc src/clients/zctl/Makefile /mit/zephyr/src/clients/zctl/Makefile *** patchlevel1/src/clients/zctl/Makefile Fri Jul 7 17:38:00 1989 --- src/clients/zctl/Makefile Wed Oct 18 13:20:06 1989 *************** *** 8,14 **** # or you may lose your changes when imake generates makefiles again. # Ignore this message if you are not using imake. # ! # $Source: /mit/zephyr/src/config/RCS/Imake.template,v $ # $Author: jtkohl $ # $Header: Imake.template,v 1.2 89/03/23 16:16:50 jtkohl Exp $ # --- 8,14 ---- # or you may lose your changes when imake generates makefiles again. # Ignore this message if you are not using imake. # ! # $Source: /afs/athena.mit.edu/mit/zephyr/src/config/RCS/Imake.template,v $ # $Author: jtkohl $ # $Header: Imake.template,v 1.2 89/03/23 16:16:50 jtkohl Exp $ # *************** *** 25,36 **** # For copying and distribution information, see the file # "mit-copyright.h". # ! # $Source: /mit/zephyr/src/config/RCS/config.Imakefile,v $ # $Author: jtkohl $ ! # $Header: config.Imakefile,v 1.13 89/05/30 23:29:32 jtkohl Exp $ # ! SRCTOP=/mit/zephyr/src IMAKE=$(BUILDTOP)/imake/imake -I$(BUILDTOP)/config --- 25,36 ---- # For copying and distribution information, see the file # "mit-copyright.h". # ! # $Source: /afs/athena.mit.edu/astaff/project/zephyr/src/config/RCS/config.Imakefile,v $ # $Author: jtkohl $ ! # $Header: /afs/athena.mit.edu/astaff/project/zephyr/src/config/RCS/config.Imakefile,v 1.17 89/08/29 17:03:56 jtkohl Exp $ # ! SRCTOP=/afs/athena.mit.edu/astaff/project/zephyr/src IMAKE=$(BUILDTOP)/imake/imake -I$(BUILDTOP)/config *************** *** 46,51 **** --- 46,53 ---- MANDIR=/usr/man ACLDIR=/usr/athena/lib/zephyr + LINTLIBFLAG=-C + X_CDEFS= -DX11 X11_LIB=-lX11 *************** *** 128,136 **** # For copying and distribution information, see the file # "mit-copyright.h". # ! # $Source: /mit/zephyr/src/config/RCS/Imake.rules,v $ # $Author: jtkohl $ ! # $Header: Imake.rules,v 1.14 89/05/31 11:30:00 jtkohl Exp $ # ZEPHYR_LIB=$(BUILDTOP)/libs/libzephyr.a --- 130,138 ---- # For copying and distribution information, see the file # "mit-copyright.h". # ! # $Source: /afs/athena.mit.edu/astaff/project/zephyr/src/config/RCS/Imake.rules,v $ # $Author: jtkohl $ ! # $Header: /afs/athena.mit.edu/astaff/project/zephyr/src/config/RCS/Imake.rules,v 1.17 89/07/25 13:39:18 jtkohl Exp Locker: jtkohl $ # ZEPHYR_LIB=$(BUILDTOP)/libs/libzephyr.a *************** *** 172,184 **** clean:: $(RM) zctl ${OBJS} ! zctl_cmds.o: zctl_cmds.ct $(MAKE_COMMANDS) zctl_cmds.ct $(CC) -c $(CFLAGS) zctl_cmds.c depend:: $(CODE) @echo "### Now computing dependencies" ! @$(DEPEND) -s "# DO NOT DELETE" $(CFLAGS) $(SRCS) clean:: $(RM) *~ \#* *.bak $(TAGSFILE) --- 174,187 ---- clean:: $(RM) zctl ${OBJS} ! zctl_cmds.o zctl_cmds.c: zctl_cmds.ct ! $(RM) zctl_cmds.c zctl_cmds.o $(MAKE_COMMANDS) zctl_cmds.ct $(CC) -c $(CFLAGS) zctl_cmds.c depend:: $(CODE) @echo "### Now computing dependencies" ! @$(DEPEND) -s "# DO NOT DELETE" -- $(CFLAGS) -- $(SRCS) clean:: $(RM) *~ \#* *.bak $(TAGSFILE) diff -rc src/clients/znol/znol.c /mit/zephyr/src/clients/znol/znol.c *** patchlevel1/src/clients/znol/znol.c Tue Jun 28 16:21:06 1988 --- src/clients/znol/znol.c Wed Oct 25 14:18:04 1989 *************** *** 3,9 **** * * Created by: Robert French * ! * $Source: /mit/zephyr/src/clients/znol/RCS/znol.c,v $ * $Author: jtkohl $ * * Copyright (c) 1987 by the Massachusetts Institute of Technology. --- 3,9 ---- * * Created by: Robert French * ! * $Source: /afs/athena.mit.edu/astaff/project/zephyr/src/clients/znol/RCS/znol.c,v $ * $Author: jtkohl $ * * Copyright (c) 1987 by the Massachusetts Institute of Technology. *************** *** 19,25 **** #include #ifndef lint ! static char rcsid_znol_c[] = "$Header: znol.c,v 1.5 88/06/28 16:20:56 jtkohl Exp $"; #endif lint #define SUBSATONCE 7 --- 19,25 ---- #include #ifndef lint ! static char rcsid_znol_c[] = "$Header: /afs/athena.mit.edu/astaff/project/zephyr/src/clients/znol/RCS/znol.c,v 1.6 89/10/25 14:17:51 jtkohl Exp $"; #endif lint #define SUBSATONCE 7 *************** *** 38,44 **** FILE *fp; struct passwd *pwd; char anyonename[BUFSIZ],name[BUFSIZ],cleanname[BUFSIZ],*envptr; ! int onoff = ON,quiet = 0,justlist = 0; int retval,arg,ind,one,numlocs,i; short wgport; --- 38,44 ---- FILE *fp; struct passwd *pwd; char anyonename[BUFSIZ],name[BUFSIZ],cleanname[BUFSIZ],*envptr; ! int onoff = ON,quiet = 0,justlist = 0,useronly = 0, filenamed = 0; int retval,arg,ind,one,numlocs,i; short wgport; *************** *** 80,99 **** if (!strcmp(argv[arg],"-f")) { if (arg == argc-1) { fprintf(stderr,"No file name specified\n"); ! exit (1); } (void) strcpy(anyonename,argv[++arg]); continue; } ! printf("Usage: %s [on|off] [-q] [-l] [-f file]\n",argv[0]); exit (1); } if (quiet && justlist) { fprintf(stderr,"-q and -l cannot both be used\n"); ! exit (1); } ! if (!justlist) if ((wgport = ZGetWGPort()) == -1) { com_err(argv[0],errno,"while getting WindowGram port"); --- 80,113 ---- if (!strcmp(argv[arg],"-f")) { if (arg == argc-1) { fprintf(stderr,"No file name specified\n"); ! goto usage; } (void) strcpy(anyonename,argv[++arg]); + filenamed = 1; continue; } ! if (!strcmp(argv[arg],"-u")) { ! if (arg == argc-1) { ! fprintf(stderr,"No username specified\n"); ! goto usage; ! } ! (void) strcpy(cleanname,argv[++arg]); ! useronly = 1; ! continue; ! } ! usage: ! fprintf(stderr,"Usage: %s [on|off] [-q | -l] [-f file | -u username]\n", argv[0]); exit (1); } if (quiet && justlist) { fprintf(stderr,"-q and -l cannot both be used\n"); ! goto usage; } ! if (useronly && filenamed) { ! fprintf(stderr,"-u and -f cannot both be used\n"); ! goto usage; ! } if (!justlist) if ((wgport = ZGetWGPort()) == -1) { com_err(argv[0],errno,"while getting WindowGram port"); *************** *** 100,106 **** exit(1); } ! if (!(fp = fopen(anyonename,"r"))) { fprintf(stderr,"Can't open %s for input\n",anyonename); exit (1); } --- 114,121 ---- exit(1); } ! ! if (!useronly && !(fp = fopen(anyonename,"r"))) { fprintf(stderr,"Can't open %s for input\n",anyonename); exit (1); } *************** *** 108,123 **** ind = 0; for (;;) { ! if (!fgets(cleanname,sizeof cleanname,fp)) break; ! if (cleanname[0] == '#') /* ignore comment lines */ continue; ! /* Get rid of old-style nol entries, just in case */ ! cleanname[strlen(cleanname)-1] = '\0'; ! while (cleanname[strlen(cleanname)-1] == ' ') cleanname[strlen(cleanname)-1] = '\0'; ! if (*cleanname == '@' || !*cleanname) continue; subs[ind].class = LOGIN_CLASS; (void) strcpy(name,cleanname); if (!index(name,'@')) { --- 123,142 ---- ind = 0; for (;;) { ! if (!useronly) { ! if (!fgets(cleanname,sizeof cleanname,fp)) break; ! if (cleanname[0] == '#') /* ignore comment lines */ continue; ! /* Get rid of old-style nol entries, just in case */ ! cleanname[strlen(cleanname)-1] = '\0'; ! while (cleanname[strlen(cleanname)-1] == ' ') cleanname[strlen(cleanname)-1] = '\0'; ! if (*cleanname == '@' || !*cleanname) continue; + } else if (ind) + break; /* only do the one name */ + subs[ind].class = LOGIN_CLASS; (void) strcpy(name,cleanname); if (!index(name,'@')) { *************** *** 184,189 **** exit(1); } ! (void) fclose(fp); /* file is open read-only, ignore errs */ } --- 203,210 ---- exit(1); } ! if (!useronly) ! (void) fclose(fp); /* file is open read-only, ignore errs */ + exit(0); } diff -rc src/clients/zwrite/zwrite.c /mit/zephyr/src/clients/zwrite/zwrite.c *** patchlevel1/src/clients/zwrite/zwrite.c Tue Apr 25 11:34:23 1989 --- src/clients/zwrite/zwrite.c Thu Oct 26 17:06:38 1989 *************** *** 3,9 **** * * Created by: Robert French * ! * $Source: /mit/zephyr/src/clients/zwrite/RCS/zwrite.c,v $ * $Author: jtkohl $ * * Copyright (c) 1987,1988 by the Massachusetts Institute of Technology. --- 3,9 ---- * * Created by: Robert French * ! * $Source: /afs/athena.mit.edu/astaff/project/zephyr/src/clients/zwrite/RCS/zwrite.c,v $ * $Author: jtkohl $ * * Copyright (c) 1987,1988 by the Massachusetts Institute of Technology. *************** *** 20,26 **** #include #ifndef lint ! static char rcsid_zwrite_c[] = "$Header: zwrite.c,v 1.28 89/04/25 11:33:49 jtkohl Exp $"; #endif lint #define DEFAULT_CLASS "MESSAGE" --- 20,26 ---- #include #ifndef lint ! static char rcsid_zwrite_c[] = "$Id: zwrite.c,v 1.29 89/10/26 17:06:29 jtkohl Exp $"; #endif lint #define DEFAULT_CLASS "MESSAGE" *************** *** 30,36 **** #define MAXRECIPS 100 ! int nrecips, msgarg, verbose, quiet; char *whoami, *inst, *class, *recips[MAXRECIPS]; int (*auth)(); void un_tabify(); --- 30,36 ---- #define MAXRECIPS 100 ! int nrecips, msgarg, verbose, quiet, nodot; char *whoami, *inst, *class, *recips[MAXRECIPS]; int (*auth)(); void un_tabify(); *************** *** 60,66 **** bzero((char *) ¬ice, sizeof(notice)); auth = ZAUTH; ! verbose = quiet = msgarg = nrecips = nocheck = filsys = 0; tabexpand = 1; if (class = ZGetVariable("zwrite-class")) { --- 60,66 ---- bzero((char *) ¬ice, sizeof(notice)); auth = ZAUTH; ! verbose = quiet = msgarg = nrecips = nocheck = filsys = nodot = 0; tabexpand = 1; if (class = ZGetVariable("zwrite-class")) { *************** *** 148,153 **** --- 148,156 ---- usage(whoami); msgarg = arg+1; break; + case 'l': /* literal */ + nodot = 1; + break; default: usage(whoami); } *************** *** 209,217 **** if (!nocheck && !msgarg && filsys != 1) send_off(¬ice, 0); ! if (!msgarg && isatty(0)) ! printf("Type your message now. End with control-D or a dot on a line by itself.\n"); message = NULL; msgsize = 0; if (signature) { --- 212,226 ---- if (!nocheck && !msgarg && filsys != 1) send_off(¬ice, 0); ! if (quiet) ! notice.z_kind = UNACKED; /* change for real sending */ + if (!msgarg && isatty(0)) + if (nodot) + printf("Type your message now. End with the end-of-file character.\n"); + else + printf("Type your message now. End with control-D or a dot on a line by itself.\n"); + message = NULL; msgsize = 0; if (signature) { *************** *** 247,253 **** for (;;) { if (!fgets(bfr, sizeof bfr, stdin)) break; ! if (bfr[0] == '.' && (bfr[1] == '\n' || bfr[1] == '\0')) break; message = realloc(message, (unsigned)(msgsize+strlen(bfr))); --- 256,262 ---- for (;;) { if (!fgets(bfr, sizeof bfr, stdin)) break; ! if (!nodot && bfr[0] == '.' && (bfr[1] == '\n' || bfr[1] == '\0')) break; message = realloc(message, (unsigned)(msgsize+strlen(bfr))); *************** *** 306,311 **** --- 315,326 ---- com_err(whoami, retval, bfr); break; } + if (quiet && real) { + if (nrecips) + continue; /* next! */ + else + break; /* no more */ + } if ((retval = ZIfNotice(&retnotice, (struct sockaddr_in *) 0, ZCompareUIDPred, (char *)¬ice->z_uid)) != *************** *** 376,382 **** usage(s) char *s; { ! printf("Usage: %s [-a] [-o] [-d] [-v] [-q] [-n] [-t] [-u]\n\ \t[-c class] [-i inst] [-f fsname] [user ...] [-m message]\n", s); printf("\t-f and -c are mutually exclusive\n\ \t-f and -i are mutually exclusive\n\ --- 391,397 ---- usage(s) char *s; { ! printf("Usage: %s [-a] [-o] [-d] [-v] [-q] [-n] [-t] [-u] [-l]\n\ \t[-c class] [-i inst] [-f fsname] [user ...] [-m message]\n", s); printf("\t-f and -c are mutually exclusive\n\ \t-f and -i are mutually exclusive\n\ diff -rc src/config/Imake.rules /mit/zephyr/src/config/Imake.rules *** patchlevel1/src/config/Imake.rules Fri Oct 27 11:21:16 1989 --- src/config/Imake.rules Thu Oct 19 17:59:20 1989 *************** *** 3,11 **** /**/# For copying and distribution information, see the file /**/# "mit-copyright.h". /**/# ! /**/# $Source: /afs/athena.mit.edu/mit/zephyr/src/config/RCS/Imake.rules,v $ /**/# $Author: jtkohl $ ! /**/# $Header: Imake.rules,v 1.17 89/07/25 13:39:18 jtkohl Exp $ /**/# #ifdef __STDC__ --- 3,11 ---- /**/# For copying and distribution information, see the file /**/# "mit-copyright.h". /**/# ! /**/# $Source: /afs/athena.mit.edu/astaff/project/zephyr/src/config/RCS/Imake.rules,v $ /**/# $Author: jtkohl $ ! /**/# $Header: /afs/athena.mit.edu/astaff/project/zephyr/src/config/RCS/Imake.rules,v 1.20 89/10/19 17:59:11 jtkohl Exp $ /**/# #ifdef __STDC__ *************** *** 76,86 **** -$(LD) -x -r -o $*.o a.out @@\ $(RM) a.out x.c #ifdef PROFILED_LIBS #define install_library_target(libname,objs,srcs,lintlibs) @@\ @@\ all:: concat3(lib,libname,.a) concat3(lib,libname,_p.a) @@\ - all:: concat3(llib-l,libname,.ln) @@\ @@\ concat3(lib,libname,.a): objs @@\ $(RM) $@ @@\ --- 76,105 ---- -$(LD) -x -r -o $*.o a.out @@\ $(RM) a.out x.c + #ifdef NO_LINT + #define lintlib_target(libname,srcs,lintlibs) + #define install_lintlib_target(libname) + #else /* have lint */ + #define lintlib_target(libname,srcs,lintlibs) @@\ + all:: concat3(llib-l,libname,.ln) @@\ + @@\ + lint:: concat3(llib-l,libname,.ln) @@\ + @@\ + clean:: @@\ + $(RM) concat3(llib-l,libname,.ln) @@\ + @@\ + concat3(llib-l,libname,.ln):: srcs @@\ + $(LINT) concat($(LINTLIBFLAG),libname) $(LINTFLAGS) srcs lintlibs + + #define install_lintlib_target(libname) @@\ + install:: @@\ + $(INSTALLFILE) concat3(llib-l,libname,.ln) concat4($(DESTDIR)$(LINTLIBDIR)/,llib-l,libname,.ln) + #endif /* NO_LINT */ + #ifdef PROFILED_LIBS #define install_library_target(libname,objs,srcs,lintlibs) @@\ @@\ all:: concat3(lib,libname,.a) concat3(lib,libname,_p.a) @@\ @@\ concat3(lib,libname,.a): objs @@\ $(RM) $@ @@\ *************** *** 92,105 **** (cd profiled; $(ARCHIVE) ../$@ objs) @@\ $(RANLIB) $@ @@\ @@\ ! lint:: concat3(llib-l,libname,.ln) @@\ @@\ - concat3(llib-l,libname,.ln):: srcs @@\ - $(LINT) concat($(LINTLIBFLAG),libname) $(LINTFLAGS) srcs lintlibs @@\ - @@\ clean:: @@\ $(RM) concat3(lib,libname,.a) concat3(lib,libname,_p.a) @@\ - $(RM) concat3(llib-l,libname,.ln) @@\ $(RM) objs @@\ $(RM) profiled/?*.o @@\ @@\ --- 111,120 ---- (cd profiled; $(ARCHIVE) ../$@ objs) @@\ $(RANLIB) $@ @@\ @@\ ! lintlib_target(libname,srcs,lintlibs) @@\ @@\ clean:: @@\ $(RM) concat3(lib,libname,.a) concat3(lib,libname,_p.a) @@\ $(RM) objs @@\ $(RM) profiled/?*.o @@\ @@\ *************** *** 110,121 **** $(INSTALLRAW) -c -m 644 concat3(lib,libname,_p.a) concat4($(DESTDIR)$(LIBDIR)/,lib,libname,_p.a) @@\ $(RANLIB) concat4($(DESTDIR)$(LIBDIR)/,lib,libname,_p.a) @@\ $(CHMOD) 444 concat4($(DESTDIR)$(LIBDIR)/,lib,libname,_p.a) @@\ ! $(INSTALLFILE) concat3(llib-l,libname,.ln) concat4($(DESTDIR)$(LINTLIBDIR)/,llib-l,libname,.ln) #else /* !PROFILED_LIBS */ #define install_library_target(libname,objs,srcs,lintlibs) @@\ @@\ all:: concat3(lib,libname,.a) @@\ - all:: concat3(llib-l,libname,.ln) @@\ @@\ concat3(lib,libname,.a): objs @@\ $(RM) $@ @@\ --- 125,136 ---- $(INSTALLRAW) -c -m 644 concat3(lib,libname,_p.a) concat4($(DESTDIR)$(LIBDIR)/,lib,libname,_p.a) @@\ $(RANLIB) concat4($(DESTDIR)$(LIBDIR)/,lib,libname,_p.a) @@\ $(CHMOD) 444 concat4($(DESTDIR)$(LIBDIR)/,lib,libname,_p.a) @@\ ! @@\ ! install_lintlib_target(libname) #else /* !PROFILED_LIBS */ #define install_library_target(libname,objs,srcs,lintlibs) @@\ @@\ all:: concat3(lib,libname,.a) @@\ @@\ concat3(lib,libname,.a): objs @@\ $(RM) $@ @@\ *************** *** 122,135 **** $(ARCHIVE) $@ objs @@\ $(RANLIB) $@ @@\ @@\ ! lint:: concat3(llib-l,libname,.ln) @@\ @@\ - concat3(llib-l,libname,.ln):: srcs @@\ - $(LINT) concat($(LINTLIBFLAG),libname) $(LINTFLAGS) srcs lintlibs @@\ - @@\ clean:: @@\ $(RM) concat3(lib,libname,.a) @@\ - $(RM) concat3(llib-l,libname,.ln) @@\ $(RM) objs @@\ @@\ install:: @@\ --- 137,146 ---- $(ARCHIVE) $@ objs @@\ $(RANLIB) $@ @@\ @@\ ! lintlib_target(libname,srcs,lintlibs) @@\ @@\ clean:: @@\ $(RM) concat3(lib,libname,.a) @@\ $(RM) objs @@\ @@\ install:: @@\ *************** *** 136,142 **** $(INSTALLRAW) -c -m 644 concat3(lib,libname,.a) concat4($(DESTDIR)$(LIBDIR)/,lib,libname,.a) @@\ $(RANLIB) concat4($(DESTDIR)$(LIBDIR)/,lib,libname,.a) @@\ $(CHMOD) 444 concat4($(DESTDIR)$(LIBDIR)/,lib,libname,.a) @@\ ! $(INSTALLFILE) concat3(llib-l,libname,.ln) concat4($(DESTDIR)$(LINTLIBDIR)/,llib-l,libname,.ln) #endif /* PROFILED_LIBS */ /* --- 147,154 ---- $(INSTALLRAW) -c -m 644 concat3(lib,libname,.a) concat4($(DESTDIR)$(LIBDIR)/,lib,libname,.a) @@\ $(RANLIB) concat4($(DESTDIR)$(LIBDIR)/,lib,libname,.a) @@\ $(CHMOD) 444 concat4($(DESTDIR)$(LIBDIR)/,lib,libname,.a) @@\ ! @@\ ! install_lintlib_target(libname) #endif /* PROFILED_LIBS */ /* *************** *** 263,271 **** --- 275,287 ---- tags:: @@\ $(TAGGER) *.c *.h + #ifdef NO_LINT + #define lint_target() + #else /* have lint */ #define lint_target() @@\ lint:: @@\ $(LINT) $(LINTFLAGS) $(SRCS) $(LINTLIBS) + #endif /* NO_LINT */ #define makefile_target() @@\ Makefile:: @@\ *************** *** 293,298 **** --- 309,315 ---- $(RM) $@ @@\ -$(LN) ${SRCDIR}/$@ $@ + #ifdef NO_LINT #define do_subdirs_no_imakefile(subdirs) @@\ foreach_subdirs(all, subdirs) @@\ foreach_subdirs(install, subdirs) @@\ *************** *** 299,307 **** foreach_subdirs(clean, subdirs) @@\ foreach_subdirs(depend, subdirs) @@\ foreach_subdirs(tags, subdirs) @@\ foreach_subdirs(lint, subdirs) @@\ foreach_subdirs(print, subdirs) @@\ ! foreach_subdirs(src, subdirs) @@\ #define do_subdirs(subdirs) @@\ do_subdirs_no_imakefile(subdirs) @@\ --- 316,334 ---- foreach_subdirs(clean, subdirs) @@\ foreach_subdirs(depend, subdirs) @@\ foreach_subdirs(tags, subdirs) @@\ + foreach_subdirs(print, subdirs) @@\ + foreach_subdirs(src, subdirs) + #else /* have lint */ + #define do_subdirs_no_imakefile(subdirs) @@\ + foreach_subdirs(all, subdirs) @@\ + foreach_subdirs(install, subdirs) @@\ + foreach_subdirs(clean, subdirs) @@\ + foreach_subdirs(depend, subdirs) @@\ + foreach_subdirs(tags, subdirs) @@\ foreach_subdirs(lint, subdirs) @@\ foreach_subdirs(print, subdirs) @@\ ! foreach_subdirs(src, subdirs) ! #endif /* NO_LINT */ #define do_subdirs(subdirs) @@\ do_subdirs_no_imakefile(subdirs) @@\ *************** *** 328,333 **** --- 355,361 ---- #ifdef PROFILED_LIBS #define command_table(tbl) @@\ concat(tbl,.o): concat(tbl,.ct) @@\ + $(RM) concat(tbl,.c) concat(tbl,.o) @@\ $(MAKE_COMMANDS) concat(tbl,.ct) @@\ $(CC) -c PROF_FLAG $(CFLAGS) concat(tbl,.c) @@\ $(MV) concat(tbl,.o) concat3(profiled/,tbl,.o) @@\ *************** *** 335,340 **** --- 363,369 ---- #define make_error_table(tbl) @@\ concat(tbl,.h) concat(tbl,.o): concat(tbl,.et) @@\ + $(RM) concat(tbl,.c) concat(tbl,.h) @@\ $(COMPILE_ET) concat(tbl,.et) @@\ $(CC) -c PROF_FLAG $(CFLAGS) concat(tbl,.c) @@\ $(MV) concat(tbl,.o) concat3(profiled/,tbl,.o) @@\ *************** *** 345,355 **** --- 374,386 ---- #else /* !PROFILED_LIBS */ #define command_table(tbl) @@\ concat(tbl,.o): concat(tbl,.ct) @@\ + $(RM) concat(tbl,.c) concat(tbl,.o) @@\ $(MAKE_COMMANDS) concat(tbl,.ct) @@\ $(CC) -c $(CFLAGS) concat(tbl,.c) #define make_error_table(tbl) @@\ concat(tbl,.h) concat(tbl,.o): concat(tbl,.et) @@\ + $(RM) concat(tbl,.c) concat(tbl,.h) @@\ $(COMPILE_ET) concat(tbl,.et) @@\ $(CC) -c $(CFLAGS) concat(tbl,.c) @@\ clean:: @@\ *************** *** 357,367 **** #endif /* PROFILED_LIBS */ #define command_table_noprof(tbl) @@\ ! concat(tbl,.o): concat(tbl,.ct) @@\ $(MAKE_COMMANDS) concat(tbl,.ct) @@\ $(CC) -c $(CFLAGS) concat(tbl,.c) #define error_table_noprof(tbl) @@\ concat(tbl,.h) concat(tbl,.o): concat(tbl,.et) @@\ $(COMPILE_ET) concat(tbl,.et) @@\ $(CC) -c $(CFLAGS) concat(tbl,.c) @@\ clean:: @@\ --- 388,400 ---- #endif /* PROFILED_LIBS */ #define command_table_noprof(tbl) @@\ ! concat(tbl,.o) concat(tbl,.c): concat(tbl,.ct) @@\ ! $(RM) concat(tbl,.c) concat(tbl,.o) @@\ $(MAKE_COMMANDS) concat(tbl,.ct) @@\ $(CC) -c $(CFLAGS) concat(tbl,.c) #define error_table_noprof(tbl) @@\ concat(tbl,.h) concat(tbl,.o): concat(tbl,.et) @@\ + $(RM) concat(tbl,.c) concat(tbl,.h) @@\ $(COMPILE_ET) concat(tbl,.et) @@\ $(CC) -c $(CFLAGS) concat(tbl,.c) @@\ clean:: @@\ diff -rc src/config/Imake.template /mit/zephyr/src/config/Imake.template *** patchlevel1/src/config/Imake.template Thu Mar 23 16:17:00 1989 --- src/config/Imake.template Tue Jul 25 13:38:32 1989 *************** *** 7,13 **** /**/# or you may lose your changes when imake generates makefiles again. /**/# Ignore this message if you are not using imake. /**/# ! /**/# $Source: /mit/zephyr/src/config/RCS/Imake.template,v $ /**/# $Author: jtkohl $ /**/# $Header: Imake.template,v 1.2 89/03/23 16:16:50 jtkohl Exp $ /**/# --- 7,13 ---- /**/# or you may lose your changes when imake generates makefiles again. /**/# Ignore this message if you are not using imake. /**/# ! /**/# $Source: /afs/athena.mit.edu/mit/zephyr/src/config/RCS/Imake.template,v $ /**/# $Author: jtkohl $ /**/# $Header: Imake.template,v 1.2 89/03/23 16:16:50 jtkohl Exp $ /**/# diff -rc src/config/config.Imakefile /mit/zephyr/src/config/config.Imakefile *** patchlevel1/src/config/config.Imakefile Fri Oct 27 11:21:16 1989 --- src/config/config.Imakefile Thu Oct 19 13:09:53 1989 *************** *** 5,11 **** /**/# /**/# $Source: /afs/athena.mit.edu/astaff/project/zephyr/src/config/RCS/config.Imakefile,v $ /**/# $Author: jtkohl $ ! /**/# $Header: /afs/athena.mit.edu/astaff/project/zephyr/src/config/RCS/config.Imakefile,v 1.17 89/08/29 17:03:56 jtkohl Exp $ /**/# /* --- 5,11 ---- /**/# /**/# $Source: /afs/athena.mit.edu/astaff/project/zephyr/src/config/RCS/config.Imakefile,v $ /**/# $Author: jtkohl $ ! /**/# $Header: /afs/athena.mit.edu/astaff/project/zephyr/src/config/RCS/config.Imakefile,v 1.18 89/10/19 13:09:47 jtkohl Exp $ /**/# /* *************** *** 121,126 **** --- 121,133 ---- ACLDIR=/usr/athena/lib/zephyr /* + * If you do not have lint, or do not wish to make lint libraries for + * the Zephyr library, define NO_LINT. + */ + /* #define NO_LINT */ + + /* + * If you are using lint, * LINTLIBFLAG should be the flag used to tell lint to create a lint * library. On most BSD systems, this is -C */ diff -rc src/et/compile_et/Imakefile /mit/zephyr/src/et/compile_et/Imakefile *** patchlevel1/src/et/compile_et/Imakefile Tue May 30 18:12:35 1989 --- src/et/compile_et/Imakefile Thu Oct 19 09:15:38 1989 *************** *** 3,11 **** /**/# For copying and distribution information, see the file /**/# "mit-copyright.h". /**/# ! /**/# $Source: /mit/zephyr/src/et/compile_et/RCS/Imakefile,v $ /**/# $Author: jtkohl $ ! /**/# $Header: Imakefile,v 1.3 89/05/30 18:12:28 jtkohl Exp $ /**/# LIBS= ../lib/libcom_err.a -ll --- 3,11 ---- /**/# For copying and distribution information, see the file /**/# "mit-copyright.h". /**/# ! /**/# $Source: /afs/athena.mit.edu/astaff/project/zephyr/src/et/compile_et/RCS/Imakefile,v $ /**/# $Author: jtkohl $ ! /**/# $Header: /afs/athena.mit.edu/astaff/project/zephyr/src/et/compile_et/RCS/Imakefile,v 1.3 89/05/30 18:12:28 jtkohl Exp $ /**/# LIBS= ../lib/libcom_err.a -ll diff -rc src/et/compile_et/compile_et.c /mit/zephyr/src/et/compile_et/compile_et.c *** patchlevel1/src/et/compile_et/compile_et.c Tue May 30 17:43:38 1989 --- src/et/compile_et/compile_et.c Thu Oct 19 09:23:11 1989 *************** *** 5,10 **** --- 5,11 ---- * * For copyright info, see "mit-sipb-copyright.h". * + * $Source: /afs/athena.mit.edu/astaff/project/zephyr/src/et/compile_et/RCS/compile_et.c,v $ */ #include *************** *** 23,29 **** "Copyright 1987,1988 by MIT Student Information Processing Board"; static const char rcsid_compile_et_c[] = ! "$Header: compile_et.c,v 1.2 89/02/27 19:02:55 shanzer Exp $"; #endif extern char *gensym(); --- 24,30 ---- "Copyright 1987,1988 by MIT Student Information Processing Board"; static const char rcsid_compile_et_c[] = ! "$Id: compile_et.c,v 1.2 89/10/19 09:23:05 jtkohl Exp $"; #endif extern char *gensym(); *************** *** 287,289 **** --- 288,377 ---- fprintf(stderr, "\nLine number %d; last token was '%s'\n", yylineno, current_token); } + + #ifdef STRCASE + /* + * Copyright (c) 1987 Regents of the University of California. + * All rights reserved. + * + * Redistribution and use in source and binary forms are permitted + * provided that this notice is preserved and that due credit is given + * to the University of California at Berkeley. The name of the University + * may not be used to endorse or promote products derived from this + * software without specific written prior permission. This software + * is provided ``as is'' without express or implied warranty. + */ + + #if defined(LIBC_SCCS) && !defined(lint) + static char sccsid[] = "@(#)strcasecmp.c 5.5 (Berkeley) 11/24/87"; + #endif /* LIBC_SCCS and not lint */ + + #include + + /* + * This array is designed for mapping upper and lower case letter + * together for a case independent comparison. The mappings are + * based upon ascii character sequences. + */ + static u_char charmap[] = { + '\000', '\001', '\002', '\003', '\004', '\005', '\006', '\007', + '\010', '\011', '\012', '\013', '\014', '\015', '\016', '\017', + '\020', '\021', '\022', '\023', '\024', '\025', '\026', '\027', + '\030', '\031', '\032', '\033', '\034', '\035', '\036', '\037', + '\040', '\041', '\042', '\043', '\044', '\045', '\046', '\047', + '\050', '\051', '\052', '\053', '\054', '\055', '\056', '\057', + '\060', '\061', '\062', '\063', '\064', '\065', '\066', '\067', + '\070', '\071', '\072', '\073', '\074', '\075', '\076', '\077', + '\100', '\141', '\142', '\143', '\144', '\145', '\146', '\147', + '\150', '\151', '\152', '\153', '\154', '\155', '\156', '\157', + '\160', '\161', '\162', '\163', '\164', '\165', '\166', '\167', + '\170', '\171', '\172', '\133', '\134', '\135', '\136', '\137', + '\140', '\141', '\142', '\143', '\144', '\145', '\146', '\147', + '\150', '\151', '\152', '\153', '\154', '\155', '\156', '\157', + '\160', '\161', '\162', '\163', '\164', '\165', '\166', '\167', + '\170', '\171', '\172', '\173', '\174', '\175', '\176', '\177', + '\200', '\201', '\202', '\203', '\204', '\205', '\206', '\207', + '\210', '\211', '\212', '\213', '\214', '\215', '\216', '\217', + '\220', '\221', '\222', '\223', '\224', '\225', '\226', '\227', + '\230', '\231', '\232', '\233', '\234', '\235', '\236', '\237', + '\240', '\241', '\242', '\243', '\244', '\245', '\246', '\247', + '\250', '\251', '\252', '\253', '\254', '\255', '\256', '\257', + '\260', '\261', '\262', '\263', '\264', '\265', '\266', '\267', + '\270', '\271', '\272', '\273', '\274', '\275', '\276', '\277', + '\300', '\341', '\342', '\343', '\344', '\345', '\346', '\347', + '\350', '\351', '\352', '\353', '\354', '\355', '\356', '\357', + '\360', '\361', '\362', '\363', '\364', '\365', '\366', '\367', + '\370', '\371', '\372', '\333', '\334', '\335', '\336', '\337', + '\340', '\341', '\342', '\343', '\344', '\345', '\346', '\347', + '\350', '\351', '\352', '\353', '\354', '\355', '\356', '\357', + '\360', '\361', '\362', '\363', '\364', '\365', '\366', '\367', + '\370', '\371', '\372', '\373', '\374', '\375', '\376', '\377', + }; + + strcasecmp(s1, s2) + char *s1, *s2; + { + register u_char *cm = charmap, + *us1 = (u_char *)s1, + *us2 = (u_char *)s2; + + while (cm[*us1] == cm[*us2++]) + if (*us1++ == '\0') + return(0); + return(cm[*us1] - cm[*--us2]); + } + + strncasecmp(s1, s2, n) + char *s1, *s2; + register int n; + { + register u_char *cm = charmap, + *us1 = (u_char *)s1, + *us2 = (u_char *)s2; + + while (--n >= 0 && cm[*us1] == cm[*us2++]) + if (*us1++ == '\0') + return(0); + return(n < 0 ? 0 : cm[*us1] - cm[*--us2]); + } + #endif /* STRCASE */ diff -rc src/et/compile_et/error_table.y /mit/zephyr/src/et/compile_et/error_table.y *** patchlevel1/src/et/compile_et/error_table.y Tue May 30 17:43:45 1989 --- src/et/compile_et/error_table.y Thu Oct 19 17:57:51 1989 *************** *** 1,6 **** %{ #include ! char *str_concat(), *ds(), *quote(), *malloc(), *realloc(); char *current_token = (char *)NULL; extern char *table_name; %} --- 1,11 ---- %{ #include ! char *str_concat(), *ds(), *quote(); ! #ifdef __STDC__ ! #include ! #else ! char *malloc(), *realloc(); ! #endif char *current_token = (char *)NULL; extern char *table_name; %} *************** *** 73,82 **** #ifndef lint static char const rcsid_error_table_y[] = ! "$Header: error_table.y,v 1.7 89/01/01 07:23:17 raeburn Locked $"; #endif - char *malloc(), *realloc(); extern FILE *hfile, *cfile; static long gensym_n = 0; --- 78,86 ---- #ifndef lint static char const rcsid_error_table_y[] = ! "$Header: /afs/athena.mit.edu/astaff/project/zephyr/src/et/compile_et/RCS/error_table.y,v 1.2 89/10/19 17:57:47 jtkohl Exp $"; #endif extern FILE *hfile, *cfile; static long gensym_n = 0; diff -rc src/et/lib/internal.h /mit/zephyr/src/et/lib/internal.h *** patchlevel1/src/et/lib/internal.h Tue May 30 17:48:33 1989 --- src/et/lib/internal.h Thu Oct 19 18:03:08 1989 *************** *** 12,18 **** extern const int sys_nerr; #ifdef __STDC__ ! int perror (const char *); #else int perror (); #endif --- 12,18 ---- extern const int sys_nerr; #ifdef __STDC__ ! void perror (const char *); #else int perror (); #endif diff -rc src/lib/Imakefile /mit/zephyr/src/lib/Imakefile *** patchlevel1/src/lib/Imakefile Fri Oct 27 11:21:17 1989 --- src/lib/Imakefile Thu Oct 19 17:37:22 1989 *************** *** 3,11 **** /**/# For copying and distribution information, see the file /**/# "mit-copyright.h". /**/# ! /**/# $Source: /afs/athena.mit.edu/mit/zephyr/src/lib/RCS/Imakefile,v $ /**/# $Author: jtkohl $ ! /**/# $Header: Imakefile,v 1.7 89/07/25 13:40:27 jtkohl Exp $ /**/# #define no_curdir_lint --- 3,11 ---- /**/# For copying and distribution information, see the file /**/# "mit-copyright.h". /**/# ! /**/# $Source: /afs/athena.mit.edu/astaff/project/zephyr/src/lib/RCS/Imakefile,v $ /**/# $Author: jtkohl $ ! /**/# $Header: /afs/athena.mit.edu/astaff/project/zephyr/src/lib/RCS/Imakefile,v 1.8 89/10/19 17:37:16 jtkohl Exp $ /**/# #define no_curdir_lint *************** *** 239,246 **** #endif /* KERBEROS */ install -c -m 0644 ../include/zephyr/mit-copyright.h ${DESTDIR}/usr/include/zephyr/mit-copyright.h #define last_licks() @@\ - /**/# this is to install the lint lib This must end @@\ - /**/# up in the resulting Makefile AFTER the other lint lib stuff. @@\ llib-lzephyr.ln:: @@\ cp llib-lzephyr.ln ../libs/llib-lzephyr.ln --- 239,246 ---- #endif /* KERBEROS */ install -c -m 0644 ../include/zephyr/mit-copyright.h ${DESTDIR}/usr/include/zephyr/mit-copyright.h + /* this is to install the lint lib This must end */ + /* up in the resulting Makefile AFTER the other lint lib stuff. */ #define last_licks() @@\ llib-lzephyr.ln:: @@\ cp llib-lzephyr.ln ../libs/llib-lzephyr.ln diff -rc src/lib/Makefile /mit/zephyr/src/lib/Makefile *** patchlevel1/src/lib/Makefile Fri Jul 7 17:36:51 1989 --- src/lib/Makefile Wed Oct 18 13:20:54 1989 *************** *** 8,14 **** # or you may lose your changes when imake generates makefiles again. # Ignore this message if you are not using imake. # ! # $Source: /mit/zephyr/src/config/RCS/Imake.template,v $ # $Author: jtkohl $ # $Header: Imake.template,v 1.2 89/03/23 16:16:50 jtkohl Exp $ # --- 8,14 ---- # or you may lose your changes when imake generates makefiles again. # Ignore this message if you are not using imake. # ! # $Source: /afs/athena.mit.edu/mit/zephyr/src/config/RCS/Imake.template,v $ # $Author: jtkohl $ # $Header: Imake.template,v 1.2 89/03/23 16:16:50 jtkohl Exp $ # *************** *** 25,36 **** # For copying and distribution information, see the file # "mit-copyright.h". # ! # $Source: /mit/zephyr/src/config/RCS/config.Imakefile,v $ # $Author: jtkohl $ ! # $Header: config.Imakefile,v 1.13 89/05/30 23:29:32 jtkohl Exp $ # ! SRCTOP=/mit/zephyr/src IMAKE=$(BUILDTOP)/imake/imake -I$(BUILDTOP)/config --- 25,36 ---- # For copying and distribution information, see the file # "mit-copyright.h". # ! # $Source: /afs/athena.mit.edu/astaff/project/zephyr/src/config/RCS/config.Imakefile,v $ # $Author: jtkohl $ ! # $Header: /afs/athena.mit.edu/astaff/project/zephyr/src/config/RCS/config.Imakefile,v 1.17 89/08/29 17:03:56 jtkohl Exp $ # ! SRCTOP=/afs/athena.mit.edu/astaff/project/zephyr/src IMAKE=$(BUILDTOP)/imake/imake -I$(BUILDTOP)/config *************** *** 46,51 **** --- 46,53 ---- MANDIR=/usr/man ACLDIR=/usr/athena/lib/zephyr + LINTLIBFLAG=-C + X_CDEFS= -DX11 X11_LIB=-lX11 *************** *** 128,136 **** # For copying and distribution information, see the file # "mit-copyright.h". # ! # $Source: /mit/zephyr/src/config/RCS/Imake.rules,v $ # $Author: jtkohl $ ! # $Header: Imake.rules,v 1.14 89/05/31 11:30:00 jtkohl Exp $ # ZEPHYR_LIB=$(BUILDTOP)/libs/libzephyr.a --- 130,138 ---- # For copying and distribution information, see the file # "mit-copyright.h". # ! # $Source: /afs/athena.mit.edu/astaff/project/zephyr/src/config/RCS/Imake.rules,v $ # $Author: jtkohl $ ! # $Header: /afs/athena.mit.edu/astaff/project/zephyr/src/config/RCS/Imake.rules,v 1.17 89/07/25 13:39:18 jtkohl Exp Locker: jtkohl $ # ZEPHYR_LIB=$(BUILDTOP)/libs/libzephyr.a *************** *** 141,149 **** # For copying and distribution information, see the file # "mit-copyright.h". # ! # $Source: /mit/zephyr/src/lib/RCS/Imakefile,v $ # $Author: jtkohl $ ! # $Header: Imakefile,v 1.5 89/05/31 10:17:40 jtkohl Exp $ # LINTLIBS= ${KRB_LINTLIB} ${DES_LINTLIB} ${COMERR_LINTLIB} --- 143,151 ---- # For copying and distribution information, see the file # "mit-copyright.h". # ! # $Source: /afs/athena.mit.edu/mit/zephyr/src/lib/RCS/Imakefile,v $ # $Author: jtkohl $ ! # $Header: Imakefile,v 1.7 89/07/25 13:40:27 jtkohl Exp $ # LINTLIBS= ${KRB_LINTLIB} ${DES_LINTLIB} ${COMERR_LINTLIB} *************** *** 202,208 **** ZSubscriptions.c \ ZVariables.c \ Zinternal.c \ ! acl_files.c OLIST= \ krb_err.o \ --- 204,211 ---- ZSubscriptions.c \ ZVariables.c \ Zinternal.c \ ! acl_files.c \ ! strcasecmp.c OLIST= \ krb_err.o \ *************** *** 293,299 **** lint:: llib-lzephyr.ln llib-lzephyr.ln:: ${SRCS} ! $(LINT) -Czephyr $(LINTFLAGS) ${SRCS} ${LINTLIBS} clean:: $(RM) libzephyr.a libzephyr_p.a --- 296,302 ---- lint:: llib-lzephyr.ln llib-lzephyr.ln:: ${SRCS} ! $(LINT) $(LINTLIBFLAG)zephyr $(LINTFLAGS) ${SRCS} ${LINTLIBS} clean:: $(RM) libzephyr.a libzephyr_p.a *************** *** 302,316 **** $(RM) profiled/?*.o install:: ! $(INSTALLRAW) -m 644 libzephyr.a $(DESTDIR)$(LIBDIR)/libzephyr.a ! $(RANLIB) -t $(DESTDIR)$(LIBDIR)/libzephyr.a $(CHMOD) 444 $(DESTDIR)$(LIBDIR)/libzephyr.a ! $(INSTALLRAW) -m 644 libzephyr_p.a $(DESTDIR)$(LIBDIR)/libzephyr_p.a ! $(RANLIB) -t $(DESTDIR)$(LIBDIR)/libzephyr_p.a $(CHMOD) 444 $(DESTDIR)$(LIBDIR)/libzephyr_p.a $(INSTALLFILE) llib-lzephyr.ln $(DESTDIR)$(LINTLIBDIR)/llib-lzephyr.ln zephyr_err.h zephyr_err.o: zephyr_err.et $(COMPILE_ET) zephyr_err.et $(CC) -c -pg $(CFLAGS) zephyr_err.c $(MV) zephyr_err.o profiled/zephyr_err.o --- 305,320 ---- $(RM) profiled/?*.o install:: ! $(INSTALLRAW) -c -m 644 libzephyr.a $(DESTDIR)$(LIBDIR)/libzephyr.a ! $(RANLIB) $(DESTDIR)$(LIBDIR)/libzephyr.a $(CHMOD) 444 $(DESTDIR)$(LIBDIR)/libzephyr.a ! $(INSTALLRAW) -c -m 644 libzephyr_p.a $(DESTDIR)$(LIBDIR)/libzephyr_p.a ! $(RANLIB) $(DESTDIR)$(LIBDIR)/libzephyr_p.a $(CHMOD) 444 $(DESTDIR)$(LIBDIR)/libzephyr_p.a $(INSTALLFILE) llib-lzephyr.ln $(DESTDIR)$(LINTLIBDIR)/llib-lzephyr.ln zephyr_err.h zephyr_err.o: zephyr_err.et + $(RM) zephyr_err.c zephyr_err.h $(COMPILE_ET) zephyr_err.et $(CC) -c -pg $(CFLAGS) zephyr_err.c $(MV) zephyr_err.o profiled/zephyr_err.o *************** *** 319,324 **** --- 323,329 ---- $(RM) zephyr_err.o zephyr_err.h krb_err.h krb_err.o: krb_err.et + $(RM) krb_err.c krb_err.h $(COMPILE_ET) krb_err.et $(CC) -c -pg $(CFLAGS) krb_err.c $(MV) krb_err.o profiled/krb_err.o *************** *** 329,338 **** all:: $(RM) ../libs/libzephyr.a ../libs/libzephyr_p.a $(CP) libzephyr.a ../libs/libzephyr.a ! $(RANLIB) -t ../libs/libzephyr.a $(CP) libzephyr_p.a ../libs/libzephyr_p.a ! $(RANLIB) -t ../libs/libzephyr_p.a depend:: krb_err.h -if cmp krb_err.h ../include/zephyr/krb_err.h >/dev/null 2>&1; then \ --- 334,343 ---- all:: $(RM) ../libs/libzephyr.a ../libs/libzephyr_p.a $(CP) libzephyr.a ../libs/libzephyr.a ! $(RANLIB) ../libs/libzephyr.a $(CP) libzephyr_p.a ../libs/libzephyr_p.a ! $(RANLIB) ../libs/libzephyr_p.a depend:: krb_err.h -if cmp krb_err.h ../include/zephyr/krb_err.h >/dev/null 2>&1; then \ *************** *** 363,369 **** depend:: $(CODE) @echo "### Now computing dependencies" ! @$(DEPEND) -s "# DO NOT DELETE" $(CFLAGS) $(SRCS) clean:: $(RM) *~ \#* *.bak $(TAGSFILE) --- 368,374 ---- depend:: $(CODE) @echo "### Now computing dependencies" ! @$(DEPEND) -s "# DO NOT DELETE" -- $(CFLAGS) -- $(SRCS) clean:: $(RM) *~ \#* *.bak $(TAGSFILE) diff -rc src/lib/ZIfNotice.c /mit/zephyr/src/lib/ZIfNotice.c *** patchlevel1/src/lib/ZIfNotice.c Wed Jul 20 15:31:47 1988 --- src/lib/ZIfNotice.c Thu Oct 26 11:26:16 1989 *************** *** 3,9 **** * * Created by: Robert French * ! * $Source: /mit/zephyr/src/lib/RCS/ZIfNotice.c,v $ * $Author: jtkohl $ * * Copyright (c) 1987,1988 by the Massachusetts Institute of Technology. --- 3,9 ---- * * Created by: Robert French * ! * $Source: /afs/athena.mit.edu/astaff/project/zephyr/src/lib/RCS/ZIfNotice.c,v $ * $Author: jtkohl $ * * Copyright (c) 1987,1988 by the Massachusetts Institute of Technology. *************** *** 10,19 **** * For copying and distribution information, see the file * "mit-copyright.h". */ ! /* $Header: ZIfNotice.c,v 1.9 88/06/29 16:40:56 jtkohl Exp $ */ #ifndef lint ! static char rcsid_ZIfNotice_c[] = "$Header: ZIfNotice.c,v 1.9 88/06/29 16:40:56 jtkohl Exp $"; #endif lint #include --- 10,19 ---- * For copying and distribution information, see the file * "mit-copyright.h". */ ! /* $Header: /afs/athena.mit.edu/astaff/project/zephyr/src/lib/RCS/ZIfNotice.c,v 1.10 89/10/26 11:25:39 jtkohl Exp $ */ #ifndef lint ! static char rcsid_ZIfNotice_c[] = "$Id: ZIfNotice.c,v 1.10 89/10/26 11:25:39 jtkohl Exp $"; #endif lint #include *************** *** 59,63 **** --- 59,66 ---- } if ((retval = Z_ReadWait()) != ZERR_NONE) return (retval); + qptr = Z_GetFirstComplete(); /* need to look over all of + the queued messages, in case + a fragment has been reassembled */ } } diff -rc src/lib/Zinternal.c /mit/zephyr/src/lib/Zinternal.c *** patchlevel1/src/lib/Zinternal.c Thu Dec 15 12:28:49 1988 --- src/lib/Zinternal.c Thu Oct 26 15:48:21 1989 *************** *** 3,9 **** * * Created by: Robert French * ! * $Source: /mit/zephyr/src/lib/RCS/Zinternal.c,v $ * $Author: jtkohl $ * * Copyright (c) 1987,1988 by the Massachusetts Institute of Technology. --- 3,9 ---- * * Created by: Robert French * ! * $Source: /afs/athena.mit.edu/astaff/project/zephyr/src/lib/RCS/Zinternal.c,v $ * $Author: jtkohl $ * * Copyright (c) 1987,1988 by the Massachusetts Institute of Technology. *************** *** 10,19 **** * For copying and distribution information, see the file * "mit-copyright.h". */ ! /* $Header: Zinternal.c,v 1.18 88/11/14 11:30:20 jtkohl Exp $ */ #ifndef lint ! static char rcsid_Zinternal_c[] = "$Header: Zinternal.c,v 1.18 88/11/14 11:30:20 jtkohl Exp $"; static char copyright[] = "Copyright (c) 1987,1988 by the Massachusetts Institute of Technology."; #endif lint --- 10,19 ---- * For copying and distribution information, see the file * "mit-copyright.h". */ ! /* $Header: /afs/athena.mit.edu/astaff/project/zephyr/src/lib/RCS/Zinternal.c,v 1.19 89/10/26 15:46:00 jtkohl Exp $ */ #ifndef lint ! static char rcsid_Zinternal_c[] = "$Id: Zinternal.c,v 1.19 89/10/26 15:46:00 jtkohl Exp $"; static char copyright[] = "Copyright (c) 1987,1988 by the Massachusetts Institute of Technology."; #endif lint *************** *** 261,266 **** --- 261,287 ---- * with the same multiuid field, insert the current fragment as * appropriate. */ + switch (notice.z_kind) { + case SERVACK: + case SERVNAK: + /* The SERVACK and SERVNAK replies shouldn't be reassembled + (they have no parts). Instead, we should hold on to the reply + ONLY if it's the first part of a fragmented message, i.e. + multi_uid == uid. This allows programs to wait for the uid + of the first packet, and get a response when that notice + arrives. Acknowledgements of the other fragments are discarded + (XXX we assume here that they all carry the same information + regarding failure/success) + */ + if (!__Zephyr_server && + !ZCompareUID(¬ice.z_multiuid, ¬ice.z_uid)) + /* they're not the same... throw away this packet. */ + return(ZERR_NONE); + /* fall thru & process it */ + default: + /* for HMACK types, we assume no packet loss (local loopback + connections). The other types can be fragmented and MUST + run through this code. */ if (!__Zephyr_server && (qptr = Z_SearchQueue(¬ice.z_multiuid, notice.z_kind))) { /* *************** *** 274,279 **** --- 295,301 ---- bcopy(packet, qptr->header, qptr->header_len); } return (Z_AddNoticeToEntry(qptr, ¬ice, part)); + } } /* diff -rc src/man/man1/znol.1 /mit/zephyr/src/man/man1/znol.1 *** patchlevel1/src/man/man1/znol.1 Fri Sep 23 16:36:17 1988 --- src/man/man1/znol.1 Wed Oct 25 14:23:12 1989 *************** *** 1,6 **** ! .\" $Source: /mit/zephyr/src/man/man1/RCS/znol.1,v $ .\" $Author: jtkohl $ ! .\" $Header: znol.1,v 1.5 88/09/23 16:36:12 jtkohl Exp $ .\" .\" Copyright 1987,1988 by the Massachusetts Institute of Technology .\" All rights reserved. The file /usr/include/zephyr/mit-copyright.h --- 1,6 ---- ! .\" $Source: /afs/athena.mit.edu/astaff/project/zephyr/src/man/man1/RCS/znol.1,v $ .\" $Author: jtkohl $ ! .\" $Header: /afs/athena.mit.edu/astaff/project/zephyr/src/man/man1/RCS/znol.1,v 1.6 89/10/25 14:23:06 jtkohl Exp $ .\" .\" Copyright 1987,1988 by the Massachusetts Institute of Technology .\" All rights reserved. The file /usr/include/zephyr/mit-copyright.h *************** *** 17,27 **** [ .BI on|off ] [ ! .BI -f \ file ] [ ! .BI -l ] [ ! .BI -q ] .SH DESCRIPTION .I Znol --- 17,29 ---- [ .BI on|off ] [ ! .BI \-f \ file ] [ ! .BI \-u \ username ] [ ! .BI \-l ! ] [ ! .BI \-q ] .SH DESCRIPTION .I Znol *************** *** 48,67 **** does not exist, an error message is printed, and .I znol exits. .TP .B \-l Causes .I znol to just list the people in the namelist who are currently logged in, ! without subscribing to the login messages. Cannot be used with the .BI \-q option. .TP .B \-q ! Disables printing who is currently logged in when subscribing. Cannot ! be used with the .BI \-l option. .SH FILES $HOME/.anyone .SH SEE ALSO --- 50,95 ---- does not exist, an error message is printed, and .I znol exits. + This option may not be used in conjunction with the + .B \-u + option. .TP .B \-l Causes .I znol to just list the people in the namelist who are currently logged in, ! without subscribing to the login messages. This option may not be used ! in conjunction with the .BI \-q option. .TP .B \-q ! Disables printing who is currently logged in when subscribing. This ! option may not be used in conjunction with the .BI \-l option. + .TP + .B \-u + Instead of reading a file to specify the "interesting" users, the next + argument is used as the only "interesting" user. This option may not be + used in conjunction with the + .B \-f + option. + .SH EXAMPLES + .nf + .in +.5in + znol + .in -.5in + .fi + reads the standard namelist file, prints the locations of any users + named therein which can be found on the system, and enters subscriptions + for notices about those users. + .nf + .in +.5in + znol -l -u foo + .in -.5in + .fi + prints the location (if visible) of the user 'foo'. .SH FILES $HOME/.anyone .SH SEE ALSO diff -rc src/man/man1/zwrite.1 /mit/zephyr/src/man/man1/zwrite.1 *** patchlevel1/src/man/man1/zwrite.1 Wed Jul 5 16:06:38 1989 --- src/man/man1/zwrite.1 Thu Oct 26 17:04:01 1989 *************** *** 1,6 **** ! .\" $Source: /mit/zephyr/src/man/man1/RCS/zwrite.1,v $ .\" $Author: jtkohl $ ! .\" $Header: zwrite.1,v 1.14 89/07/05 16:06:30 jtkohl Exp $ .\" .\" Copyright 1987,1988 by the Massachusetts Institute of Technology .\" All rights reserved. The file /usr/include/zephyr/mit-copyright.h --- 1,6 ---- ! .\" $Source: /afs/athena.mit.edu/astaff/project/zephyr/src/man/man1/RCS/zwrite.1,v $ .\" $Author: jtkohl $ ! .\" $Header: /afs/athena.mit.edu/astaff/project/zephyr/src/man/man1/RCS/zwrite.1,v 1.15 89/10/26 17:03:52 jtkohl Exp $ .\" .\" Copyright 1987,1988 by the Massachusetts Institute of Technology .\" All rights reserved. The file /usr/include/zephyr/mit-copyright.h *************** *** 7,13 **** .\" specifies the terms and conditions for redistribution. .\" .\" ! .TH ZWRITE 1 "November 22, 1988" "MIT Project Athena" .ds ]W MIT Project Athena .SH NAME zwrite \- write to another user via Zephyr --- 7,13 ---- .\" specifies the terms and conditions for redistribution. .\" .\" ! .TH ZWRITE 1 "October 26, 1989" "MIT Project Athena" .ds ]W MIT Project Athena .SH NAME zwrite \- write to another user via Zephyr *************** *** 30,35 **** --- 30,37 ---- ] [ .BI -n ] [ + .BI -l + ] [ .BI -s signature ] [ .BI -c *************** *** 85,90 **** --- 87,99 ---- .I zwrite will expand any tabs it finds into the appropriate number of spaces to maintain separation based on 8-character tab stops. + .TP + .B \-l + Causes + .I zwrite + to ignore `.' on a line by itself in the input and only end a typed + message when the user types the end-of-file character (usually + control-D). When the input is not a terminal, this is the default action. .TP .B \-u Sends an urgent message. This changes the diff -rc src/server/Imakefile /mit/zephyr/src/server/Imakefile *** patchlevel1/src/server/Imakefile Fri Oct 27 11:21:21 1989 --- src/server/Imakefile Thu Oct 26 14:21:15 1989 *************** *** 5,11 **** /**/# /**/# $Source: /afs/athena.mit.edu/astaff/project/zephyr/src/server/RCS/Imakefile,v $ /**/# $Author: jtkohl $ ! /**/# $Header: /afs/athena.mit.edu/astaff/project/zephyr/src/server/RCS/Imakefile,v 1.6 89/09/18 14:24:28 jtkohl Exp $ /**/# #if defined(DO_SYSLOG) && defined(SYSLOG_COMPAT42) --- 5,11 ---- /**/# /**/# $Source: /afs/athena.mit.edu/astaff/project/zephyr/src/server/RCS/Imakefile,v $ /**/# $Author: jtkohl $ ! /**/# $Header: /afs/athena.mit.edu/astaff/project/zephyr/src/server/RCS/Imakefile,v 1.8 89/10/18 13:10:47 jtkohl Exp $ /**/# #if defined(DO_SYSLOG) && defined(SYSLOG_COMPAT42) *************** *** 51,57 **** timer.o \ uloc.o \ kstuff.o \ ! version.c OTHERSRCS= zsrv_err.et CONFIG_FILES= default.subscriptions --- 51,57 ---- timer.o \ uloc.o \ kstuff.o \ ! version.o OTHERSRCS= zsrv_err.et CONFIG_FILES= default.subscriptions *************** *** 67,72 **** --- 67,73 ---- src:: zsrv_err.h + depend:: zsrv_err.h install:: -mkdir ${DESTDIR}${ACLDIR} diff -rc src/server/Makefile /mit/zephyr/src/server/Makefile *** patchlevel1/src/server/Makefile Fri Jul 7 17:41:30 1989 --- src/server/Makefile Wed Oct 18 13:20:36 1989 *************** *** 8,14 **** # or you may lose your changes when imake generates makefiles again. # Ignore this message if you are not using imake. # ! # $Source: /mit/zephyr/src/config/RCS/Imake.template,v $ # $Author: jtkohl $ # $Header: Imake.template,v 1.2 89/03/23 16:16:50 jtkohl Exp $ # --- 8,14 ---- # or you may lose your changes when imake generates makefiles again. # Ignore this message if you are not using imake. # ! # $Source: /afs/athena.mit.edu/mit/zephyr/src/config/RCS/Imake.template,v $ # $Author: jtkohl $ # $Header: Imake.template,v 1.2 89/03/23 16:16:50 jtkohl Exp $ # *************** *** 25,36 **** # For copying and distribution information, see the file # "mit-copyright.h". # ! # $Source: /mit/zephyr/src/config/RCS/config.Imakefile,v $ # $Author: jtkohl $ ! # $Header: config.Imakefile,v 1.13 89/05/30 23:29:32 jtkohl Exp $ # ! SRCTOP=/mit/zephyr/src IMAKE=$(BUILDTOP)/imake/imake -I$(BUILDTOP)/config --- 25,36 ---- # For copying and distribution information, see the file # "mit-copyright.h". # ! # $Source: /afs/athena.mit.edu/astaff/project/zephyr/src/config/RCS/config.Imakefile,v $ # $Author: jtkohl $ ! # $Header: /afs/athena.mit.edu/astaff/project/zephyr/src/config/RCS/config.Imakefile,v 1.17 89/08/29 17:03:56 jtkohl Exp $ # ! SRCTOP=/afs/athena.mit.edu/astaff/project/zephyr/src IMAKE=$(BUILDTOP)/imake/imake -I$(BUILDTOP)/config *************** *** 46,51 **** --- 46,53 ---- MANDIR=/usr/man ACLDIR=/usr/athena/lib/zephyr + LINTLIBFLAG=-C + X_CDEFS= -DX11 X11_LIB=-lX11 *************** *** 128,136 **** # For copying and distribution information, see the file # "mit-copyright.h". # ! # $Source: /mit/zephyr/src/config/RCS/Imake.rules,v $ # $Author: jtkohl $ ! # $Header: Imake.rules,v 1.14 89/05/31 11:30:00 jtkohl Exp $ # ZEPHYR_LIB=$(BUILDTOP)/libs/libzephyr.a --- 130,138 ---- # For copying and distribution information, see the file # "mit-copyright.h". # ! # $Source: /afs/athena.mit.edu/astaff/project/zephyr/src/config/RCS/Imake.rules,v $ # $Author: jtkohl $ ! # $Header: /afs/athena.mit.edu/astaff/project/zephyr/src/config/RCS/Imake.rules,v 1.17 89/07/25 13:39:18 jtkohl Exp Locker: jtkohl $ # ZEPHYR_LIB=$(BUILDTOP)/libs/libzephyr.a *************** *** 141,149 **** # For copying and distribution information, see the file # "mit-copyright.h". # ! # $Source: /mit/zephyr/src/server/RCS/Imakefile,v $ # $Author: jtkohl $ ! # $Header: Imakefile,v 1.5 89/04/04 11:22:55 jtkohl Exp $ # SYSLOG_LIB= --- 143,151 ---- # For copying and distribution information, see the file # "mit-copyright.h". # ! # $Source: /afs/athena.mit.edu/astaff/project/zephyr/src/server/RCS/Imakefile,v $ # $Author: jtkohl $ ! # $Header: /afs/athena.mit.edu/astaff/project/zephyr/src/server/RCS/Imakefile,v 1.8 89/10/18 13:10:47 jtkohl Exp $ # SYSLOG_LIB= *************** *** 169,175 **** subscr.c \ timer.c \ uloc.c \ ! kstuff.c OBJS= zsrv_err.o \ access.o \ --- 171,178 ---- subscr.c \ timer.c \ uloc.c \ ! kstuff.c \ ! version.c OBJS= zsrv_err.o \ access.o \ *************** *** 184,190 **** subscr.o \ timer.o \ uloc.o \ ! kstuff.o OTHERSRCS= zsrv_err.et CONFIG_FILES= default.subscriptions --- 187,194 ---- subscr.o \ timer.o \ uloc.o \ ! kstuff.o \ ! version.o OTHERSRCS= zsrv_err.et CONFIG_FILES= default.subscriptions *************** *** 210,215 **** --- 214,220 ---- $(RM) zephyrd ${OBJS} zsrv_err.h zsrv_err.o: zsrv_err.et + $(RM) zsrv_err.c zsrv_err.h $(COMPILE_ET) zsrv_err.et $(CC) -c $(CFLAGS) zsrv_err.c clean:: *************** *** 217,222 **** --- 222,229 ---- src:: zsrv_err.h + depend:: zsrv_err.h + install:: -mkdir ${DESTDIR}${ACLDIR} -rm -f ${DESTDIR}${ACLDIR}/?* *************** *** 225,231 **** depend:: $(CODE) @echo "### Now computing dependencies" ! @$(DEPEND) -s "# DO NOT DELETE" $(CFLAGS) $(SRCS) clean:: $(RM) *~ \#* *.bak $(TAGSFILE) --- 232,238 ---- depend:: $(CODE) @echo "### Now computing dependencies" ! @$(DEPEND) -s "# DO NOT DELETE" -- $(CFLAGS) -- $(SRCS) clean:: $(RM) *~ \#* *.bak $(TAGSFILE) diff -rc src/server/main.c /mit/zephyr/src/server/main.c *** patchlevel1/src/server/main.c Fri Oct 27 11:21:22 1989 --- src/server/main.c Mon Oct 23 08:14:30 1989 *************** *** 15,21 **** #ifndef lint #ifndef SABER ! static char rcsid_main_c[] = "$Id: main.c,v 1.38 89/09/18 14:23:31 jtkohl Exp $"; #endif SABER #endif lint --- 15,21 ---- #ifndef lint #ifndef SABER ! static char rcsid_main_c[] = "$Id: main.c,v 1.39 89/10/23 08:14:19 jtkohl Exp $"; #endif SABER #endif lint *************** *** 339,345 **** sock_sin.sin_port = sp->s_port; if (!(sp = getservbyname(HM_SVCNAME, "udp"))) { ! syslog(LOG_ERR, "%s/udp unknown", SERVER_SVCNAME); return(1); } hm_port = sp->s_port; --- 339,345 ---- sock_sin.sin_port = sp->s_port; if (!(sp = getservbyname(HM_SVCNAME, "udp"))) { ! syslog(LOG_ERR, "%s/udp unknown", HM_SVCNAME); return(1); } hm_port = sp->s_port; diff -rc src/server/server.c /mit/zephyr/src/server/server.c *** patchlevel1/src/server/server.c Fri Oct 27 11:21:24 1989 --- src/server/server.c Fri Oct 27 11:33:49 1989 *************** *** 15,21 **** #ifndef lint #ifndef SABER ! static char rcsid_server_c[] = "$Header: /afs/athena.mit.edu/astaff/project/zephyr/src/server/RCS/server.c,v 1.39 89/10/17 16:05:08 jtkohl Exp $"; #endif SABER #endif lint --- 15,21 ---- #ifndef lint #ifndef SABER ! static char rcsid_server_c[] = "$Id: server.c,v 1.41 89/10/27 11:33:34 jtkohl Exp $"; #endif SABER #endif lint *************** *** 98,103 **** --- 98,114 ---- long srv_rexmit_secs = REXMIT_SECS; + /* counters to measure old protocol use */ + #ifdef OLD_COMPAT + int old_compat_count_uloc = 0; + int old_compat_count_ulocate = 0; + int old_compat_count_subscr = 0; + #endif /* OLD_COMPAT */ + #ifdef NEW_COMPAT + int new_compat_count_uloc = 0; + int new_compat_count_subscr = 0; + #endif /* NEW_COMPAT */ + #ifdef DEBUG extern int zalone; #endif DEBUG *************** *** 905,926 **** char **responses; int num_resp; char *vers, *pkts, *upt; #define NUM_FIXED 3 /* 3 fixed fields, plus server info */ ! (void) strcpy(buf,version); (void) strcat(buf, "/"); #ifdef vax (void) strcat(buf, "VAX"); ! #endif vax #ifdef ibm032 (void) strcat(buf, "IBM 032"); ! #endif ibm032 #ifdef sun (void) strcat(buf, "SUN"); ! #endif sun #ifdef mips (void) strcat(buf, "MIPS"); ! #endif mips vers = strsave(buf); (void) sprintf(buf, "%d pkts", npackets); --- 916,945 ---- char **responses; int num_resp; char *vers, *pkts, *upt; + #if defined(OLD_COMPAT) || defined(NEW_COMPAT) + int extrafields = 0; + #endif /* OLD_ or NEW_COMPAT */ #define NUM_FIXED 3 /* 3 fixed fields, plus server info */ ! /* well, not really...but for ! backward compatibility, we gotta ! do it this way. */ (void) strcpy(buf,version); (void) strcat(buf, "/"); #ifdef vax (void) strcat(buf, "VAX"); ! #endif /* vax */ #ifdef ibm032 (void) strcat(buf, "IBM 032"); ! #endif /* ibm032 */ #ifdef sun (void) strcat(buf, "SUN"); ! #endif /* sun */ #ifdef mips (void) strcat(buf, "MIPS"); ! #endif /* mips */ ! #ifdef NeXT ! (void) strcat(buf, "NeXT"); ! #endif /* NeXT */ vers = strsave(buf); (void) sprintf(buf, "%d pkts", npackets); *************** *** 928,934 **** --- 947,967 ---- (void) sprintf(buf, "%d seconds operational",NOW - uptime); upt = strsave(buf); + #ifdef OLD_COMPAT + if (old_compat_count_uloc) extrafields++; + if (old_compat_count_ulocate) extrafields++; + if (old_compat_count_subscr) extrafields++; + #endif /* OLD_COMPAT */ + #ifdef NEW_COMPAT + if (new_compat_count_uloc) extrafields++; + if (new_compat_count_subscr) extrafields++; + #endif /* NEW_COMPAT */ + #if defined(OLD_COMPAT) || defined(NEW_COMPAT) + responses = (char **) xmalloc((NUM_FIXED + nservers + + extrafields) * sizeof(char **)); + #else responses = (char **) xmalloc((NUM_FIXED + nservers)*sizeof(char **)); + #endif /* OLD_ or NEW_COMPAT */ responses[0] = vers; responses[1] = pkts; responses[2] = upt; *************** *** 942,947 **** --- 975,1009 ---- otherservers[i].zs_dumping ? " (DUMPING)" : ""); responses[num_resp++] = strsave(buf); } + #ifdef OLD_COMPAT + if (old_compat_count_uloc) { + (void) sprintf(buf, "%d old old location requests", + old_compat_count_uloc); + responses[num_resp++] = strsave(buf); + } + if (old_compat_count_ulocate) { + (void) sprintf(buf, "%d old old loc lookup requests", + old_compat_count_ulocate); + responses[num_resp++] = strsave(buf); + } + if (old_compat_count_subscr) { + (void) sprintf(buf, "%d old old subscr requests", + old_compat_count_subscr); + responses[num_resp++] = strsave(buf); + } + #endif /* OLD_COMPAT */ + #ifdef NEW_COMPAT + if (new_compat_count_uloc) { + (void) sprintf(buf, "%d new old location requests", + new_compat_count_uloc); + responses[num_resp++] = strsave(buf); + } + if (new_compat_count_subscr) { + (void) sprintf(buf, "%d new old subscr requests", + new_compat_count_subscr); + responses[num_resp++] = strsave(buf); + } + #endif /* NEW_COMPAT */ send_msg_list(who, ADMIN_STATUS, responses, num_resp, 0); for (i = 0; i < num_resp; i++) diff -rc src/server/subscr.c /mit/zephyr/src/server/subscr.c *** patchlevel1/src/server/subscr.c Fri Oct 27 11:21:26 1989 --- src/server/subscr.c Thu Oct 26 14:18:53 1989 *************** *** 15,21 **** #ifndef lint #ifndef SABER ! static char rcsid_subscr_c[] = "$Header: /afs/athena.mit.edu/astaff/project/zephyr/src/server/RCS/subscr.c,v 1.35 89/10/02 15:31:08 jtkohl Exp $"; #endif SABER #endif lint --- 15,21 ---- #ifndef lint #ifndef SABER ! static char rcsid_subscr_c[] = "$Header: /afs/athena.mit.edu/astaff/project/zephyr/src/server/RCS/subscr.c,v 1.36 89/10/26 14:18:28 jtkohl Exp $"; #endif SABER #endif lint *************** *** 69,78 **** --- 69,80 ---- #define OLD_ZEPHYR_VERSION "ZEPH0.0" #define OLD_CLIENT_INCOMPSUBS "INCOMP" static void old_compat_subscr_sendlist(); + extern int old_compat_count_subscr; /* counter of old use */ #endif /* OLD_COMPAT */ #ifdef NEW_COMPAT #define NEW_OLD_ZEPHYR_VERSION "ZEPH0.1" static void new_old_compat_subscr_sendlist(); + extern int new_compat_count_subscr; /* counter of old use */ #endif /* NEW_COMPAT */ extern char *re_comp(), *re_conv(), *rindex(), *index(); *************** *** 796,802 **** struct sockaddr_in send_to_who; register int i; ! zdbug((LOG_DEBUG, "new_old_compat_subscr_sendlist")); reply = *notice; reply.z_kind = SERVACK; reply.z_authent_len = 0; /* save some space */ --- 798,806 ---- struct sockaddr_in send_to_who; register int i; ! new_compat_count_subscr++; ! ! syslog(LOG_INFO, "new old subscr, %s", inet_ntoa(who->sin_addr)); reply = *notice; reply.z_kind = SERVACK; reply.z_authent_len = 0; /* save some space */ *************** *** 873,879 **** int packlen, i, found = 0; char **answer = (char **) NULL; ! zdbug((LOG_DEBUG, "old_compat_subscr_sendlist")); if (client && client->zct_subs) { /* check authenticity here. The user must be authentic to get --- 877,885 ---- int packlen, i, found = 0; char **answer = (char **) NULL; ! old_compat_count_subscr++; ! ! syslog(LOG_INFO, "old old subscr, %s", inet_ntoa(who->sin_addr)); if (client && client->zct_subs) { /* check authenticity here. The user must be authentic to get diff -rc src/server/uloc.c /mit/zephyr/src/server/uloc.c *** patchlevel1/src/server/uloc.c Tue Oct 25 00:47:01 1988 --- src/server/uloc.c Thu Oct 26 14:19:36 1989 *************** *** 3,10 **** * * Created by: John T. Kohl * ! * $Source: /paris/source/4.3/athena.lib/zephyr/server/RCS/uloc.c,v $ ! * $Author: raeburn $ * * Copyright (c) 1987,1988 by the Massachusetts Institute of Technology. * For copying and distribution information, see the file --- 3,10 ---- * * Created by: John T. Kohl * ! * $Source: /afs/athena.mit.edu/astaff/project/zephyr/src/server/RCS/uloc.c,v $ ! * $Author: jtkohl $ * * Copyright (c) 1987,1988 by the Massachusetts Institute of Technology. * For copying and distribution information, see the file *************** *** 14,20 **** #include #ifndef lint ! static char rcsid_uloc_c[] = "$Header: uloc.c,v 1.32 88/10/25 00:46:01 raeburn Exp $"; #endif lint #include "zserver.h" --- 14,20 ---- #include #ifndef lint ! static char rcsid_uloc_c[] = "$Header: /afs/athena.mit.edu/astaff/project/zephyr/src/server/RCS/uloc.c,v 1.33 89/10/26 14:19:13 jtkohl Exp $"; #endif lint #include "zserver.h" *************** *** 89,97 **** --- 89,100 ---- #ifdef OLD_COMPAT #define OLD_ZEPHYR_VERSION "ZEPH0.0" #define LOGIN_QUIET_LOGIN "QUIET_LOGIN" + extern int old_compat_count_ulocate; /* counter of old use */ + extern int old_compat_count_uloc; /* counter of old use */ #endif /* OLD_COMPAT */ #ifdef NEW_COMPAT #define NEW_OLD_ZEPHYR_VERSION "ZEPH0.1" + extern int new_compat_count_uloc; /* counter of old use */ #endif NEW_COMPAT #if defined(OLD_COMPAT) || defined(NEW_COMPAT) static void old_compat_ulogin_locate(); *************** *** 186,198 **** } #ifdef OLD_COMPAT if (!strcmp(notice->z_opcode, LOGIN_USER_LOGIN)) { ! zdbug((LOG_DEBUG, "old login")); /* map LOGIN's to realm-announced */ ulogin_add_user(notice, REALM_ANN, who); if (server == me_server) /* announce to the realm */ sendit(notice, auth, who); } else if (!strcmp(notice->z_opcode, LOGIN_QUIET_LOGIN)) { ! zdbug((LOG_DEBUG, "old quiet")); /* map LOGIN's to realm-announced */ ulogin_add_user(notice, OPSTAFF_VIS, who); if (server == me_server) /* announce to the realm */ --- 189,203 ---- } #ifdef OLD_COMPAT if (!strcmp(notice->z_opcode, LOGIN_USER_LOGIN)) { ! syslog(LOG_INFO, "old login, %s", inet_ntoa(who->sin_addr)); ! old_compat_count_uloc++; /* map LOGIN's to realm-announced */ ulogin_add_user(notice, REALM_ANN, who); if (server == me_server) /* announce to the realm */ sendit(notice, auth, who); } else if (!strcmp(notice->z_opcode, LOGIN_QUIET_LOGIN)) { ! syslog(LOG_INFO, "old hide, %s", inet_ntoa(who->sin_addr)); ! old_compat_count_uloc++; /* map LOGIN's to realm-announced */ ulogin_add_user(notice, OPSTAFF_VIS, who); if (server == me_server) /* announce to the realm */ *************** *** 358,364 **** if (!strcmp(notice->z_version, OLD_ZEPHYR_VERSION) && !strcmp(notice->z_opcode, LOCATE_LOCATE)) { /* we support locates on the old version */ ! zdbug((LOG_DEBUG,"old locate")); ulogin_locate(notice, who); /* does xmit and ack itself, so return */ return(ZERR_NONE); --- 363,370 ---- if (!strcmp(notice->z_version, OLD_ZEPHYR_VERSION) && !strcmp(notice->z_opcode, LOCATE_LOCATE)) { /* we support locates on the old version */ ! syslog(LOG_INFO, "old locate, %s", inet_ntoa(who->sin_addr)); ! old_compat_count_ulocate++; ulogin_locate(notice, who); /* does xmit and ack itself, so return */ return(ZERR_NONE); *************** *** 376,383 **** if (host && host->zh_locked) /* process later if locked */ return(ZSRV_REQUEUE); if (!strcmp(notice->z_opcode, LOCATE_HIDE)) { ! zdbug((LOG_DEBUG,"old hide")); if (ulogin_expose_user(notice, OPSTAFF_VIS)) { if (server == me_server) clt_ack(notice, who, NOT_FOUND); --- 382,392 ---- if (host && host->zh_locked) /* process later if locked */ return(ZSRV_REQUEUE); + old_compat_count_ulocate++; + if (!strcmp(notice->z_opcode, LOCATE_HIDE)) { ! syslog(LOG_INFO, "old hide, %s", ! inet_ntoa(who->sin_addr)); if (ulogin_expose_user(notice, OPSTAFF_VIS)) { if (server == me_server) clt_ack(notice, who, NOT_FOUND); *************** *** 384,390 **** return(ZERR_NONE); } } else if (!strcmp(notice->z_opcode, LOCATE_UNHIDE)) { ! zdbug((LOG_DEBUG,"old unhide")); if (ulogin_expose_user(notice, REALM_VIS)) { if (server == me_server) clt_ack(notice, who, NOT_FOUND); --- 393,400 ---- return(ZERR_NONE); } } else if (!strcmp(notice->z_opcode, LOCATE_UNHIDE)) { ! syslog(LOG_INFO, "old unhide, %s", ! inet_ntoa(who->sin_addr)); if (ulogin_expose_user(notice, REALM_VIS)) { if (server == me_server) clt_ack(notice, who, NOT_FOUND); *************** *** 1250,1255 **** --- 1260,1271 ---- ZNotice_t reply; Code_t retval; + #ifdef NEW_COMPAT + if (!strcmp(notice->z_version, NEW_OLD_ZEPHYR_VERSION)) { + new_compat_count_uloc++; + syslog(LOG_INFO, "new old locate, %s", inet_ntoa(who->sin_addr)); + } + #endif answer = ulogin_marshal_locs(notice, &found); reply = *notice; diff -rc src/server/version.c /mit/zephyr/src/server/version.c *** patchlevel1/src/server/version.c Fri Oct 27 11:21:30 1989 --- src/server/version.c Thu Oct 26 14:20:22 1989 *************** *** 14,26 **** #include #ifdef DEBUG ! char version[] = "Zephyr Server (DEBUG) $Id: version.c,v 3.13 89/10/17 16:07:27 jtkohl Exp $"; #else ! char version[] = "Zephyr Server $Id: version.c,v 3.13 89/10/17 16:07:27 jtkohl Exp $"; #endif DEBUG #ifndef lint #ifndef SABER ! static char rcsid_version_c[] = "$Id: version.c,v 3.13 89/10/17 16:07:27 jtkohl Exp $"; char copyright[] = "Copyright (c) 1987,1988,1989 Massachusetts Institute of Technology.\n"; #ifdef CONCURRENT char concurrent[] = "Brain-dump concurrency enabled"; --- 14,26 ---- #include #ifdef DEBUG ! char version[] = "Zephyr Server (DEBUG) $Revision: 3.15 $"; #else ! char version[] = "Zephyr Server $Revision: 3.15 $"; #endif DEBUG #ifndef lint #ifndef SABER ! static char rcsid_version_c[] = "$Id: version.c,v 3.15 89/10/26 14:20:07 jtkohl Exp $"; char copyright[] = "Copyright (c) 1987,1988,1989 Massachusetts Institute of Technology.\n"; #ifdef CONCURRENT char concurrent[] = "Brain-dump concurrency enabled"; diff -rc src/zhm/zhm.c /mit/zephyr/src/zhm/zhm.c *** patchlevel1/src/zhm/zhm.c Thu Mar 23 09:26:18 1989 --- src/zhm/zhm.c Fri Oct 27 10:55:22 1989 *************** *** 3,9 **** * * Created by: David C. Jedlinsky * ! * $Source: /mit/zephyr/src/zhm/RCS/zhm.c,v $ * $Author: jtkohl $ * * Copyright (c) 1987 by the Massachusetts Institute of Technology. --- 3,9 ---- * * Created by: David C. Jedlinsky * ! * $Source: /afs/athena.mit.edu/astaff/project/zephyr/src/zhm/RCS/zhm.c,v $ * $Author: jtkohl $ * * Copyright (c) 1987 by the Massachusetts Institute of Technology. *************** *** 13,19 **** #include "zhm.h" ! static char rcsid_hm_c[] = "$Header: zhm.c,v 1.41 89/03/23 09:25:18 jtkohl Exp $"; #include #include --- 13,19 ---- #include "zhm.h" ! static char rcsid_hm_c[] = "$Id: zhm.c,v 1.42 89/10/27 10:55:13 jtkohl Exp $"; #include #include *************** *** 331,337 **** } } cli_sin = ZGetDestAddr(); - cli_sin.sin_port = sp->s_port; /* Open the server socket */ --- 331,336 ---- diff -rc src/zhm/zhm.h /mit/zephyr/src/zhm/zhm.h *** patchlevel1/src/zhm/zhm.h Mon Oct 3 15:57:36 1988 --- src/zhm/zhm.h Tue Oct 24 17:17:54 1989 *************** *** 5,13 **** * * Created by: David C. Jedlinsky * ! * $Source: /mit/zephyr/src/zhm/RCS/zhm.h,v $ * $Author: jtkohl $ ! * $Header: zhm.h,v 1.9 88/10/03 15:57:21 jtkohl Exp $ * * Copyright (c) 1987 by the Massachusetts Institute of Technology. * For copying and distribution information, see the file --- 5,13 ---- * * Created by: David C. Jedlinsky * ! * $Source: /afs/athena.mit.edu/astaff/project/zephyr/src/zhm/RCS/zhm.h,v $ * $Author: jtkohl $ ! * $Header: /afs/athena.mit.edu/astaff/project/zephyr/src/zhm/RCS/zhm.h,v 1.11 89/10/24 17:17:49 jtkohl Exp $ * * Copyright (c) 1987 by the Massachusetts Institute of Technology. * For copying and distribution information, see the file *************** *** 50,62 **** #ifdef vax #define MACHINE "vax" #define ok ! #endif vax #ifdef ibm032 #define MACHINE "rt" #define ok ! #endif ibm032 #ifndef ok #define MACHINE "unknown" #endif ok #endif !__HM_H__ --- 50,90 ---- #ifdef vax #define MACHINE "vax" #define ok ! #endif /* vax */ ! #ifdef ibm032 #define MACHINE "rt" #define ok ! #endif /* ibm032 */ ! ! #ifdef NeXT ! #define MACHINE "NeXT" ! #define ok ! #endif /* NeXT */ ! ! #ifdef SUN2_ARCH ! #define MACHINE "sun2" ! #define ok ! #endif /* SUN2_ARCH */ ! ! #ifdef SUN3_ARCH ! #define MACHINE "sun3" ! #define ok ! #endif /* SUN3_ARCH */ ! ! #ifdef SUN4_ARCH ! #define MACHINE "sun4" ! #define ok ! #endif /* SUN4_ARCH */ ! ! #if defined(ultrix) && defined(mips) ! #define MACHINE "decmips" ! #define ok ! #endif /* ultrix && mips */ ! #ifndef ok #define MACHINE "unknown" #endif ok + #undef ok #endif !__HM_H__ diff -rc src/zwgc/draw.c /mit/zephyr/src/zwgc/draw.c *** patchlevel1/src/zwgc/draw.c Fri Oct 27 11:21:32 1989 --- src/zwgc/draw.c Thu Oct 19 08:28:54 1989 *************** *** 9,15 **** */ #include #ifndef lint ! static char rcsid[] = "$Header: draw.c,v 2.27 89/07/20 10:32:23 jtkohl Exp $"; #endif lint #define FONTSPEEDHACK --- 9,15 ---- */ #include #ifndef lint ! static char rcsid[] = "$Header: /mit/zephyr/src/zwgc/RCS/draw.c,v 2.28 89/10/19 08:28:48 jtkohl Exp $"; #endif lint #define FONTSPEEDHACK *************** *** 771,776 **** --- 771,778 ---- register config_stack *cs = master.cstack; register config_stack *ncs; XConfigureRequestEvent config_event; + + extern int do_x_configwindow; while (cs) { config_event.type = ConfigureRequest;