*** fromhost.c.orig	Tue Jun  9 19:38:26 1992
--- fromhost.c	Thu Jun 11 20:39:31 1992
***************
*** 90,96 ****
  int     fromhost(f)
  struct from_host *f;
  {
!     struct sockaddr sa;
      struct sockaddr_in *sin = (struct sockaddr_in *) (&sa);
      struct hostent *hp;
      int     length = sizeof(sa);
--- 90,96 ----
  int     fromhost(f)
  struct from_host *f;
  {
!     static struct sockaddr sa;
      struct sockaddr_in *sin = (struct sockaddr_in *) (&sa);
      struct hostent *hp;
      int     length = sizeof(sa);
***************
*** 143,156 ****
      }
      /* Save the host address. A later inet_ntoa() call may clobber it. */
  
      f->addr = strcpy(addr_buf, inet_ntoa(sin->sin_addr));
- 
-     /* Look up the remote user name. Does not work for UDP services. */
- 
- #ifdef RFC931
-     if (f->sock_type == FROM_CONNECTED)
- 	f->user = rfc931_name(sin);
- #endif
  
      /* Look up the remote host name. */
  
--- 143,150 ----
      }
      /* Save the host address. A later inet_ntoa() call may clobber it. */
  
+     f->sin = sin;
      f->addr = strcpy(addr_buf, inet_ntoa(sin->sin_addr));
  
      /* Look up the remote host name. */
  
*** log_tcp.h.orig	Thu Jun 11 19:16:27 1992
--- log_tcp.h	Thu Jun 11 20:39:30 1992
***************
*** 21,26 ****
--- 21,27 ----
      char   *name;			/* host name */
      char   *addr;			/* host address */
      char   *user;			/* user name */
+     struct sockaddr_in *sin;		/* remote link info */
  };
  
  #define FROM_UNKNOWN	"unknown"	/* name or address lookup failed */
*** options.c.orig	Thu Jun 11 19:15:58 1992
--- options.c	Thu Jun 11 20:39:31 1992
***************
*** 86,91 ****
--- 86,93 ----
  
  /* List of functions that implement the options. Add yours here. */
  
+ #define RFC931_OPTION			/* rfc 931 is a run-time option */
+ 
  static void user_option();		/* execute "user=name" option */
  static void group_option();		/* execute "group=name" option */
  static void twist_option();		/* execute "twist=command" option */
