This is version %W% %G% of the pcnfsd README file. ---------------------------------------------------------------------- This is the second cut at PCNFSD v2. All printing now uses the same SVR4 based printing model: lp, lpstat, cancel. This implies SunOS 4.1 or later on a Sun. The printing hasn't been properly tested on SVR4, since my SVR4 system is a bit quirky, but authentication via shadow passwords works fine. The Makefile supplied will build either SunOS 4.1 or SVR4 versions; however you will need to tweak a couple of definitions. See the Makefile for details. For this round, I have frozen the rpcgen'd code and modified it by hand to get around a few rpcgen deficiencies. If in doubt, you can take the pcnfsd.x file included here off to a separate directory, rpcgen everything up and diff against the versions given here. You should also be sure to read the man page. I haven't tried [nt]roff'ing this anywhere outside SunOS, so let me know if there are any quirks. Note especially the /etc/pcnfsd.conf configuration model. Standard disclaimers. Read the source for more of the same. Geoff Arnold (Geoff.Arnold@Sun.COM) May 2, 1991 ---------------------------------------------------------------------- This is the first major spin since the version I posted in May. Changes are described in the SCCS deltas, but anyone analysing or porting this should watch for the following: - Lots of SVR4 stuff. Look at the Makefile and common.h; you will need to make sure that SVR4 is defined to build a version for SVR4. - Fixed a major bug whereby aliased printers (a.k.a. virtual printers) didn't show up in the printer list. - Since some commands (especially lpq) can hang up forever if, say, the host of a remote printer is down, the su_popen mechanism now includes a watchdog timer. I HAVE NOT HAD A CHANCE TO TEST THIS LOGIC ON SVR4 YET! The code was derived from the System V compatiility section of the AnswerBook, so it _should_ be OK, but I can't wait to test it before posting this. - I've mades lots of lint-suggested improvements. It doesn't lint 100% cleanly yet, but it's a lot better. - The client testbed has been tightened up a bit and the reporting is somewhat clearer. Please run it. Feedback is solicited. Geoff Arnold (Geoff.Arnold@Sun.COM) July 24, 1991 ---------------------------------------------------------------------------- This version includes support for TCP as well as UDP, both in the server and in the test client. Some of the calls can have long responses, in which case TCP is the preferred transport. Jon Dreyer January 28, 1992 ---------------------------------------------------------------------------- This release incorporates minor bug fixes occasioned by internal testing against preliminary versions of PC-NFS subsystems which actually use the V2 protocol features. It also addresses a security hole which was identified: see the comment in pcnfsd_print.c for details. This is the version of the daemon which we expect to send out for beta testing. Geoff Arnold November 16, 1991 ---------------------------------------------------------------------------- Several people pointed out that if I was going to fix the security hole, I should *REALLY* fix it. So this revision checks every argument for every shell metacharacter. This means that if your print subsystem allows such characters in printer names, print job id's, user names, etc. you're going to have to relax the restrictions or tighten up elsewhere. The routine "suspicious()" in pcnfsd_print.c is the starting point for this. Geoff Arnold November 21, 1991 ---------------------------------------------------------------------------- This version includes one more tweak on the previous security fix, plus a fix for the "user shell" security hole. Geoff Arnold December 17, 1991 ---------------------------------------------------------------------------- Fix a stupid bug - the secondary groups array wasn't static, so it got overwritten, resulting in the corruption of some GIDs. Geoff Arnold December 18, 1991 ---------------------------------------------------------------------------- This version corresponds to PC-NFS 4.0a: in other words, the first patch to PC-NFS 4.0 FCS. The main changes here are to include support for Ultrix 4.2 and use my_strdup() instead of strdup() throughout. The latter change was made for two reasons. Firstly, my_strdup() uses grab() which centralizes the storage allocation, making it easier to get out an error message if failure occurs. Secondly, it turns out that some systems (ULtrix) don't have strdup(). Geoff April 27, 1992 ---------------------------------------------------------------------------- This version has been extensively reorganized to make it easier to accomodate alternative printing schemes. Please read common.h and the Makefile for details. It also supports SVR4 style password aging, returning appropriate messages in the "comment" field of the RPC results. It will monitor /etc/printcap (for BSD-style systems) or /etc/lp/printers (for SVR4) and will trigger a rebuild of the printer list if the file/directory changes. It also restricts logins to "user accounts", and supports configurable restriction by uid. Geoff August 18, 1992 ---------------------------------------------------------------------------- There are a fairly small set of cleanups in this version. The most obvious change is to the Makefile, which has been reorganized to make it easier to build versions for multiple architectures in the same tree. The build now takes place in a named subdirectory. The infamous yp_match bug is fixed, as are the undefined's in the WTMP code in Solaris 1.0.1. Geoff October 12, 1992
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.