Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 4 Aug 1996 15:13:07 -0700 (PDT)
From:      Bill Paul <wpaul>
To:        CVS-committers, cvs-all, cvs-usrsbin
Subject:   cvs commit:  src/usr.sbin/rpc.yppasswdd yppasswdd_server.c
Message-ID:  <199608042213.PAA27388@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
wpaul       96/08/04 15:13:07

  Modified:    usr.sbin/rpc.yppasswdd  yppasswdd_server.c
  Log:
  Fix a couple of bogons. The first two were brought to my attention
  by Peter Wemm:
  
  - In yppasswdproc_update_1_svc(), I wasn't paying attention and put
    a couple of lines of code _after_ a return() instead of before.
    (*blush*)
  
  - The removal of certain temp files didn't always work (this showed
    up mostly if you were using /etc/master.passwd as your NIS passwd
    template instead of /var/yp/master.passwd). This is because the
    whole temp file creation mechanism I was using was tragically
    broken (you can't rename across filesystems).
  
  This problem I found myself:
  
  - If you have a very large password database (30,000 or more entries),
    there can be a delay of several seconds while pw_copy() copies the
    ASCII template file and subsitutes in the modified/new entry. During
    this time, the clnt_udp() code in the RPC library may get impatient
    and retry its request. This will get queued at the server and be
    treated as a second request. By then the password change will have
    been completed and the second request will fail (the old password is
    no longer valid). To attempt to fix this, we save the IP address and
    port of each request and ignore any subsequent requests from the
    same IP and same port that arrive within five minutes of each other.
  
  Revision  Changes    Path
  1.7       +36 -9     src/usr.sbin/rpc.yppasswdd/yppasswdd_server.c



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199608042213.PAA27388>