Patches for NNTP 1.5.11 under SCO Unix
Tim Iverson
iverson at xstor.com
Wed Jun 26 10:08:07 AEST 1991
This patch file requires patch-2.0.2.0 patchlevel 12u4. You might have some
success with unipatch or earlier 12u* versions of patch, but you're on your
own there. It makes the standard nntp-1.5.11 distribution compile and run
under SCO Unix 3.2.2 with TCP/IP 1.1.1b.
What it does: modify setup (conf.h) and makefiles as used for xstor.com
modify server/main.c to do a setluid (ugly c2-ism)
minor mods to several other files (use statfs, etc.)
To apply: cd nntp-1.5.11
cp common/conf.h.dist common/conf.h
patch -p < this_file
edit conf.h (at least change "xstor.com" to something else)
To compile: You must have libcnews.a (created when you built cnews) in
one of the places searched by ld; e.g. /lib or perhaps
/usr/local/lib/gcc.
N.B. This patch has only been tested with gcc-1.39-SCO.3 (i.e. 1.39 with
all of my SCO patches applied). It will probably work equally well
with the standard dev-sys.
- Tim Iverson
iverson at xstor.com -/- uunet!xstor!iverson
#
################ patch starts here
##
Prereq: "1.5.11a (1 April 1991)";
Index: common/version.c
@@ -3,3 +3,3 @@
= */
=
-char nntp_version[] = "1.5.11a (1 April 1991)";
+char nntp_version[] = "1.5.11a (1 April 1991) SCO.0";
Index: Makefile
@@ -7,5 +7,5 @@
=CFLAGS= -O
=# set LIBS to be -lneededlibrary if needed
-LIBS=-ldbm
+LIBS=-lcnews -lsocket -lx -lprot
=
=DISTFILES = Makefile README CHANGES
Index: common/conf.h
@@ -22,5 +22,5 @@
= * at some sites, so it is an option. Please report problems to "nntp at tmc.edu"
= */
-#undef DYNAMIC_ART_ARRAY
+#define DYNAMIC_ART_ARRAY
=
=#undef BSD_42 /* 4.2 compatability code -- if this is defined, */
@@ -27,9 +27,9 @@
= /* DBM probably wants to be defined as well. */
=
-#define BSD_43 /* Define if you are running on BSD 4.3 */
+#undef BSD_43 /* Define if you are running on BSD 4.3 */
=
=#undef CMU_MACH /* Use CMU's MACH ioctl(FIOCFSPARAM) for dfree(). */
=
-#undef USG /* System V support */
+#define USG /* System V support */
=
=#undef TLI /* Define this if you want to use TLI instead of */
@@ -36,5 +36,5 @@
= /* sockets */
=
-#define NDBM /* Use new-style (4.3) ndbm(3x) libraries */
+#undef NDBM /* Use new-style (4.3) ndbm(3x) libraries */
=
=#undef DBM /* True if we want to use the old dbm(3x) libraries */
@@ -42,5 +42,5 @@
= /* be -ldbm */
=
-#undef DBZ /* True if we want to use dbz libraries */
+#define DBZ /* True if we want to use dbz libraries */
= /* IF YOU DEFINE THIS, change CFLAGS in makefile to */
= /* be /usr/lib/dbz.o and install dbz.h */
@@ -49,6 +49,6 @@
= /* IF YOU DO NOT DEFINE NDBM or DBM, this is DEFAULT!*/
=
-#undef CNEWS /* define this if you are running C-NEWS */
-#undef BATCHED_INPUT /* define if you want to support C-NEWS style
+#define CNEWS /* define this if you are running C-NEWS */
+#undef BATCHED_INPUT /* define if you want to support C-NEWS style
= batched input (not supported by B-NEWS,yet) */
=
@@ -63,6 +63,6 @@
=#define SIGRET void /* Newfangled signal() returns void, old returns int */
=
-#define GHNAME /* Define if you have gethostname() */
-#undef UUNAME /* Define to use /etc/uucpname */
+#undef GHNAME /* Define if you have gethostname() */
+#define UUNAME /* Define to use /etc/uucpname */
= /* If neither of these are defined, */
= /* inews will use the contents of */
@@ -76,10 +76,10 @@
= */
=
-/* #define vfork fork */
+#define vfork fork
=
=/* Controlling disk and inode consumption */
-#define MINFREE 4000 /* NNTP will not allow an XFER if there is less */
+#define MINFREE 500 /* NNTP will not allow an XFER if there is less */
= /* than this much diskspace (in blocks or kbytes) */
-#define POSTBUFFER 1000 /* NNTP will allow local posting until */
+#define POSTBUFFER 100 /* NNTP will allow local posting until */
= /* MINFREE-POSTBUFFER blocks or kbytes are left */
=#undef MINFILES MINFREE/4
@@ -112,5 +112,5 @@
= */
=
-/* #define UMASK 022 */
+#define UMASK 022
=
=/*
@@ -134,6 +134,6 @@
= */
=
-#undef FAKESYSLOG "/usr/lib/news/nntplog"
-#undef FAKEAPPEND
+#define FAKESYSLOG "/usr/lib/news/nntplog"
+#define FAKEAPPEND
=
=#define SYSLOG LOG_NEWS
@@ -140,5 +140,5 @@
=
=#ifdef SYSLOG /* Define LOG if you want copious logging info */
-#undef LOG /* undef it if you don't */
+# undef LOG /* undef it if you don't */
=#endif /* but you can only have LOG if you have SYSLOG */
=
@@ -182,6 +182,6 @@
= */
=
-#define DOMAIN "uucp"
-#undef HIDDENNET
+#define DOMAIN "xstor.com"
+#define HIDDENNET
=
=/*
@@ -201,5 +201,5 @@
=/* Things that relate to authentication and access */
=/* Define AUTH to use the proposed NNTP Version 2 authentication protocol. */
-#define AUTH
+#undef AUTH
=/*
= * A file containing the name of the host which is running
@@ -208,5 +208,5 @@
= */
=
-#define SERVER_FILE "/usr/local/lib/rn/server"
+#define SERVER_FILE "/usr/local/lib/trn/server"
=
=/*
@@ -214,5 +214,5 @@
= */
=
-#define POSTER "usenet"
+#define POSTER "news"
=
=/*
@@ -340,13 +340,13 @@
=
=#ifdef USG
-# define FCNTL /* If O_etc is defined in <fcntl.h> */
-#ifdef dgux
-#define FTRUNCATE
-#else
-# define NDIR /* If you need ndir library support */
-#ifdef hpux
-#define DIRSIZ_MACRO
-#endif
-#endif
+# define FCNTL /* If O_etc is defined in <fcntl.h> */
+# ifdef dgux
+# define FTRUNCATE
+# else
+# define NDIR /* If you need ndir library support */
+# ifdef hpux
+# define DIRSIZ_MACRO
+# endif
+# endif
=# define index strchr
=# define rindex strrchr
@@ -365,4 +365,2 @@
=#define MAX_ARTICLES 4096 /* Maximum number of articles/group */
=#define READINTVL 60 * 10 /* 10 minutes b/n chking active file */
-
-
Index: doc/Makefile
@@ -29,7 +29,7 @@
=
=install: $(MANPAGES)
- mv nntpd.8c $(MANDIR)/man8/nntpd.8c
- mv mkgrdates.8c $(MANDIR)/man8/mkgrdates.8c
- mv nntpxmit.1 $(MANDIR)/man1/nntpxmit.1
+ mv nntpd.8c $(MANDIR)/man.N/nntpd.N
+ mv mkgrdates.8c $(MANDIR)/man.N/mkgrdates.N
+ mv nntpxmit.1 $(MANDIR)/man.N/nntpxmit.N
=
=print: $(MANPAGES)
Index: inews/Makefile
@@ -14,5 +14,5 @@
=
=inews: $(OBJS) $(HFILES)
- $(CC) $(CFLAGS) $(OBJS) -o inews $(LIBS)
+ $(CC) -s $(CFLAGS) $(OBJS) -o inews $(LIBS)
=
=uname.o: uname.c ../common/conf.h
Index: inews/uname.c
@@ -57,4 +57,6 @@
= FILE *uucpf;
= register char *p;
+ extern char *index();
+
= /* uucp name is stored in /etc/uucpname or /local/uucpname */
=
Index: server/Makefile
@@ -31,5 +31,5 @@
=
=nntpd: ${SRVROBJ} ${SRVRINC} ${THREADS}
- ${CC} ${CFLAGS} -o nntpd ${SRVROBJ} ${THREADS} ${LIBS}
+ ${CC} -s ${CFLAGS} -o nntpd ${SRVROBJ} ${THREADS} ${LIBS}
=
=${SRVROBJ}: ${SRVRINC}
Index: server/main.c
@@ -36,5 +36,33 @@
=char **argv, **envp;
={
+#ifdef M_UNIX
+ extern int errno;
+ extern char *sys_errlist[];
+ register int luid, lgid;
=
+# ifdef POSTER /* try to get the desired luid */
+ {
+ struct passwd *p = getpwnam(POSTER);
+
+ if (p)
+ luid = p->pw_uid, lgid = p->pw_gid;
+ else
+ luid = lgid = 0;
+
+ if (setluid(luid))
+ setluid(luid = lgid = 0);
+ }
+# else
+ setluid(luid = lgid = 0);
+# endif
+
+ if (setgid(lgid) || setuid(luid))
+ {
+ printf("LUID not set! syserr[%d]=%s\n",
+ errno, sys_errlist[errno]);
+ exit(1);
+ }
+#endif
+
=#ifdef ALONE /* If no inetd */
=
Index: server/misc.c
@@ -615,5 +615,5 @@
=}
=#endif USGHIST
-#ifdef USG
+#if defined(USG) && !defined(M_UNIX)
=#ifndef GAZETTE
=bcopy(s, d, l)
@@ -724,5 +724,5 @@
=#endif
=
-#if defined(apollo)
+#if defined(apollo) || defined(M_UNIX)
=#include <sys/types.h>
=#include <sys/statfs.h>
@@ -753,5 +753,5 @@
=#endif
=
-#if defined(USG) && !defined(hpux)
+#if defined(USG) && !defined(hpux) && !defined(M_UNIX)
=#include <ustat.h>
=typedef struct ustat statfs_type;
Index: server/spawn.c
@@ -62,5 +62,5 @@
=#endif
=#ifdef XFER_TIMEOUT
- int xfer_timeout();
+ SIGRET xfer_timeout();
=#endif
=#ifdef USG
@@ -260,5 +260,5 @@
= if (errbuf) {
= if (cp = index(line, '\n'))
- *cp = '\0';
+ *cp = '\\';
= (void) strcat(errbuf, line);
= }
@@ -317,4 +317,5 @@
=#ifdef XFER_TIMEOUT
=
+SIGRET
=xfer_timeout()
={
Index: server/timer.c
@@ -70,5 +70,5 @@
= register struct timer *tp;
= register long secs;
-#ifdef USG
+#if defined(USG) && !defined(FD_SET)
= long timeout;
= long readfds;
@@ -84,5 +84,5 @@
=
= /* Length of next timeout is minimum of all "timers" */
-#ifdef USG
+#if defined(USG) && !defined(FD_SET)
= timeout = -1;
= for (i = ntimer, tp = timers; i > 0; --i, ++tp)
Index: support/Makefile
@@ -18,5 +18,5 @@
=
=mkgrdates: mkgrdates.o
- $(CC) ${CFLAGS} -o mkgrdates mkgrdates.o
+ $(CC) -s ${CFLAGS} -o mkgrdates mkgrdates.o
=
=install: mkgrdates
Index: xfer/Makefile
@@ -11,5 +11,5 @@
=
=nntpxfer: ${SRVROBJ}
- ${CC} ${LDFLAGS} ${SRVROBJ} -o nntpxfer ${LIBS}
+ ${CC} -s ${LDFLAGS} ${SRVROBJ} -o nntpxfer ${LIBS}
=
=get_tcp_conn.o: ../xmit/get_tcp_conn.c ../xmit/get_tcp_conn.h
Index: xmit/Makefile
@@ -23,8 +23,8 @@
=
=nntpxmit: ${SRVROBJ} ${SRVRINC}
- ${CC} ${CFLAGS} -o nntpxmit ${SRVROBJ} ${LIBS}
+ ${CC} -s ${CFLAGS} -o nntpxmit ${SRVROBJ} ${LIBS}
=
=shlock: shlock.c
- cc ${CFLAGS} -DNNTPSRC -o shlock shlock.c
+ $(CC) -s ${CFLAGS} -DNNTPSRC -o shlock shlock.c
=
=${SRVROBJ}: ${SRVRINC}
Index: xmit/get_tcp_conn.c
@@ -143,5 +143,5 @@
=#endif NONETDB
=
-#ifdef USG
+#if defined(USG) && !defined(M_UNIX)
=void
=bcopy(s, d, l)
Index: xmit/nntpxmit.c
@@ -156,5 +156,5 @@
=extern char *strcat();
=
-#ifdef USG
+#if defined(USG) && !defined(M_UNIX)
=void
=bzero(s, l)
##
################ patch ends here
#
More information about the Alt.sources
mailing list