ObIdent:
 I've finally got a patch to add RFC931 (or whatever) support to
News (or rather NNTP v1.5.11).  Again it's based on someone else's
work (Nick Sayer - [email protected]) but I've extended it somewhat.
I'll append the patch.

Dave
-------------------------------------------------------------------------------
Dave Shield                           Janet: [email protected]
Dept. of Computer Science,            I'net: [email protected]
Liverpool University,           "I _order_ you to help!
PO Box 147,                      You're a machine and you must do
Liverpool, L69 3BX               what you're told."     T. Pratchett, _Diggers_




*** server/access.c.cln Sat Feb  9 19:18:08 1991
--- server/access.c     Wed May 26 12:51:39 1993
***************
*** 46,51 ****
--- 46,58 ----
 extern        int Needauth;
 #endif AUTH

+ #ifdef RFC931
+ char username[32];
+ char *auth_tcpuser();
+ int auth_fd();
+ #endif
+
+
 host_access(canread, canpost, canxfer, gdlist)
       int             *canread, *canpost, *canxfer;
       char            *gdlist;
***************
*** 122,129 ****
--- 129,160 ----
               if (isupper(*cp))
                       *cp = tolower(*cp);

+ #ifdef RFC931
+ {
+   unsigned long in;
+   unsigned short local;
+   unsigned short remote;
+   char *ruser;
+
+   ruser=NULL;
+
+   if (auth_fd(0,&in,&local,&remote) != -1)
+     ruser = auth_tcpuser(in,local,remote);
+
+   if (ruser == NULL)
+     ruser = "[unauthenticated]";
+
+   strcpy(username,ruser);
+
+ }
+
 #ifdef LOG
+       syslog(LOG_INFO, "%s connect (%s)\n", host_name,username);
+ #endif
+ #else
+ #ifdef LOG
       syslog(LOG_INFO, "%s connect\n", host_name);
+ #endif
 #endif
       (void) strcpy(hostname, host_name);

*** server/common.h.cln Sat Feb  2 21:55:37 1991
--- server/common.h     Wed May 26 12:46:06 1993
***************
*** 190,195 ****
--- 190,199 ----
 extern        char    hostname[];
 extern        int     debug;

+ #ifdef RFC931
+ extern        char    username[];
+ #endif
+
 #ifdef LOG
 extern        int     grps_acsd, arts_acsd;

*** server/post.c.cln   Sun Dec 23 17:50:02 1990
--- server/post.c       Wed May 26 13:07:25 1993
***************
*** 64,70 ****
--- 64,75 ----
       (void) fflush(stdout);

 #ifdef LOG
+ #ifdef RFC931
+       syslog(LOG_INFO, "%s post %s (%s)", hostname,
+                       retcode == 1 ? "succeeded" : "failed", username);
+ #else
       syslog(LOG_INFO, "%s post %s", hostname,
                       retcode == 1 ? "succeeded" : "failed");
+ #endif
 #endif
 }
*** server/spawn.c.cln  Sat Feb  9 00:30:43 1991
--- server/spawn.c      Wed May 26 12:50:42 1993
***************
*** 92,97 ****
--- 92,105 ----
       if (cont_code == CONT_POST)
               fprintf(fp, "Nntp-Posting-Host: %s\n", hostname);
 #endif AUTH
+ #ifdef RFC931
+       /*
+       * If this is a posting, rather than an XFER, mention
+       * who it really came from.
+       */
+       if (cont_code == CONT_POST)
+               fprintf(fp, "Nntp-Posting-User: %s\n", username);
+ #endif RFC931

       printf("%d Ok\r\n", cont_code);
       (void) fflush(stdout);
*** common/conf.h.dist  Sat Feb  9 00:31:07 1991
--- common/conf.h       Wed Jun  9 10:35:49 1993
***************
*** 201,207 ****
--- 201,216 ----
 /* Things that relate to authentication and access */
 /* Define AUTH to use the proposed NNTP Version 2 authentication protocol. */
 #define       AUTH
+
 /*
+  * Will we do RFC931 authentication?
+  * If so, the makefiles for nntpd need to be fixed to add -lauthuser.
+  * Currently RFC931 data is just logged. After all, it really can't
+  * be trusted very far.
+  */
+ #define RFC931
+
+ /*
  * A file containing the name of the host which is running
  * the news server.  This will have to match what rrn thinks,
  * too.