--- ./common.h.orig 1993-01-29 17:51:15.000000000 -0500 +++ ./common.h 2003-08-27 12:30:29.000000000 -0400 @@ -269,6 +269,7 @@ #endif #ifdef OSVER_BSD386 +#define BSD 199103 #define BSD_STYLE_PRINT #define BSD_STYLE_PR_LIST #define BSD_STYLE_QUEUE --- ./pcnfsd_misc.c.orig Wed Aug 4 21:14:44 1999 +++ ./pcnfsd_misc.c Wed Aug 4 21:14:44 1999 @@ -114,7 +114,7 @@ int suspicious (s) char *s; { - if(strpbrk(s, ";|&<>`'#!?*()[]^/") != NULL) + if(strpbrk(s, ";|&<>`'#!?*()[]^/${}\n\r\"\\:") != NULL) return 1; return 0; } --- ./pcnfsd_print.c.orig Wed Aug 4 21:14:44 1999 +++ ./pcnfsd_print.c Wed Aug 4 21:14:44 1999 @@ -221,6 +221,7 @@ { int dir_mode = 0777; int rc; +mode_t oldmask; *sp = &pathname[0]; pathname[0] = '\0'; @@ -231,11 +232,11 @@ /* get pathname of current directory and return to client */ (void)sprintf(pathname,"%s/%s",sp_name, sys); + oldmask = umask(0); (void)mkdir(sp_name, dir_mode); /* ignore the return code */ - (void)chmod(sp_name, dir_mode); rc = mkdir(pathname, dir_mode); /* DON'T ignore this return code */ + umask(oldmask); if((rc < 0 && errno != EEXIST) || - (chmod(pathname, dir_mode) != 0) || (stat(pathname, &statbuf) != 0) || !(statbuf.st_mode & S_IFDIR)) { (void)sprintf(tempstr, @@ -381,7 +382,10 @@ ** filter with the appropriate arguments. **------------------------------------------------------ */ - (void)run_ps630(new_pathname, opts); + (void)sprintf(tempstr, + "rpc.pcnfsd: ps630 filter disabled for %s\n", pathname); + msg_out(tempstr); + return(PS_RES_FAIL); } /* ** Try to match to an aliased printer --- ./Makefile.44bsd.orig Wed Aug 4 21:14:44 1999 +++ ./Makefile.44bsd Wed Aug 4 21:14:44 1999 @@ -0,0 +1,21 @@ +# +# @(#)Makefile +# Makefile for rpc.pcnfsd for BSD/386 or similar +# $Id: patch-ab,v 1.2 1995/03/19 10:12:39 joerg Exp $ +# + +PROG= rpc.pcnfsd +SRCS= pcnfsd_svc.c pcnfsd_xdr.c pcnfsd_v1.c pcnfsd_v2.c pcnfsd_misc.c \ + pcnfsd_cache.c pcnfsd_print.c +MAN8= pcnfsd.8 + +CFLAGS+=-DHAVE_PARAM_H + +DPADD+= ${LIBCRYPT} +LDADD+= -lcrypt + +beforeinstall: + -mkdir -p ${BINDIR} + -mkdir -p ${PRDIR} + +.include --- ./pcnfsd.8c.orig Tue Nov 3 15:13:18 1992 +++ ./pcnfsd.8c Wed Aug 4 21:14:44 1999 @@ -1,5 +1,5 @@ -.\" @(#) @(#)pcnfsd.8c 1.3 11/3/92; -.TH PCNFSD 8C "25 April 1991" +.\" @(#) @(#)pcnfsd.8 1.3 11/3/92; +.TH PCNFSD 8 "25 April 1991" .SH NAME pcnfsd \- (PC)NFS authentication and print request server .SH SYNOPSIS @@ -48,11 +48,7 @@ .B PCNFSD2_AUTH request\**, it will "log in" the user by validating the username and password and returning the corresponding uid, gids, home directory, -and umask. If -.B pcnfsd -was built with the -.B WTMP -compile-time option, it will also append a record to the +and umask, it will also append a record to the .BR wtmp (5) data base. If you do not wish to record PC "logins" in this way, you should add a line of the form @@ -105,7 +101,7 @@ .B pcnfsd creates a subdirectory for each of its clients: the parent directory is normally -.B /usr/spool/pcnfs +.B /var/spool/pcnfs and the subdirectory is the hostname of the client system. If you wish to use a different parent directory, you should add a line of the form @@ -134,7 +130,7 @@ must be run as root. .LP Every print request from the client includes the name of the printer -which is to be used. In SunOS, this name corresponds to a printer +which is to be used. This name corresponds to a printer definition in the .BR /etc/printcap (5) database. If you wish to define a non-standard way of processing @@ -230,9 +226,7 @@ its list of valid printers. To do this, it checks the modification time of .B /etc/printcap -for BSD-style systems or -.B /etc/lp/printers -for SVR4-based systems. However, it does not monitor the file +However, it does not monitor the file .B /etc/pcnfsd.conf for updates; if you change this file, it is still necessary to kill and restart @@ -244,6 +238,5 @@ .B /etc/pcnfsd.conf .PD .SH "SEE ALSO" -.BR lp (1) -.BR lpstat (1) +.BR lpr (1) .BR lpq (1) --- ./Makefile.bsd.orig Fri Jan 29 16:49:05 1993 +++ ./Makefile.bsd Wed Aug 4 21:27:35 1999 @@ -40,9 +40,9 @@ LINTFLAGS= -hbax # uncomment as appropriate for debugging -CFLAGS = -DOSVER_BSD386 +CFLAGS = -DOSVER_BSD386 -DSHADOW_SUPPORT #CFLAGS = -g -DDEBUG -DOSVER_BSD386 -LIBS= -lrpc +LIBS= -lcrypt LFLAGS = bsd/rpc.pcnfsd: $(SVR_OBJS) $(HDRS)