[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference turris::digital_unix

Title:DIGITAL UNIX(FORMERLY KNOWN AS DEC OSF/1)
Notice:Welcome to the Digital UNIX Conference
Moderator:SMURF::DENHAM
Created:Thu Mar 16 1995
Last Modified:Fri Jun 06 1997
Last Successful Update:Fri Jun 06 1997
Number of topics:10068
Total number of notes:35879

6832.0. "C2 and Setpwfile?" by RHETT::HALETKY () Wed Aug 28 1996 15:04

T.RTitleUserPersonal
Name
DateLines
6832.1defunct routine?NETRIX::"[email protected]"Ann MajeskeWed Aug 28 1996 16:089
6832.2Eh?QUARRY::nethCraig NethWed Aug 28 1996 16:4344
6832.3If it's I still think it's obsoleteNETRIX::"[email protected]"Ann MajeskeThu Aug 29 1996 12:0827
6832.4setpwent should be supportedNETRIX::"[email protected]"majeskeTue Feb 25 1997 16:0718
I just got the official answer.  setpwfile() should be supported and should 
work as described in the man page.  This means that it should work with 
getpwent() as well as with getpwent_local(),  so the fact that it doesn't work

with getpwent() (and hasn't for a long time) is a bug.  setpwfile() should
also 
work with Enhanced Security enabled, but will only move the password database 
(/etc/passwd) not the protected password database (auth.db), so it would be 
of limited usefulness on an Enhanced Security system.  I still don't know why
attempts were made in the past to remove the routine from libc and why it
hasn't been fixed before now, but the current official stand is that the 
routine is there to stay and it should be fixed.

I will enter a QAR (if there's not one already) to make sure this gets 
addressed in a future release.  If you or your customer want a patch for 
current or previous releases, you'll have to enter an IPMT case.

[Posted by WWW Notes gateway]
6832.5The rest of the storyNETRIX::"[email protected]"Ann MajeskeFri Mar 21 1997 15:3518
As it turns out, there are two versions of setpwfile() in the Digital UNIX
source code in two different source modules in two different directories.  The

version I was originally looking at is in the libc base directory.  It is
obsolete and is not built into libc.  I don't know why it hasn't been removed 
from the source tree.  The other version is in the SIA subdirectory (this is a

source tree difference and doesn't make any difference as to how it appears in

the library).  This version is supported and up to date (aside from the bug 
under discussion - that setpwfile() only appears to work with
getpwent_local()).  

A workaround for the bug is to simply add a call to endpwent()
before the setpwfile() call.  That sets the initial state in the library
which is missing if the first getpw*-related call is setpwfile().

[Posted by WWW Notes gateway]
6832.6The rest of the storyNETRIX::"[email protected]"Ann MajeskeFri Mar 21 1997 15:3718
As it turns out, there are two versions of setpwfile() in the Digital UNIX
source code in two different source modules in two different directories.  The

version I was originally looking at is in the libc base directory.  It is
obsolete and is not built into libc.  I don't know why it hasn't been removed 
from the source tree.  The other version is in the SIA subdirectory (this is a

source tree difference and doesn't make any difference as to how it appears in

the library).  This version is supported and up to date (aside from the bug 
under discussion - that setpwfile() only appears to work with
getpwent_local()).  

A workaround for the bug is to simply add a call to endpwent()
before the setpwfile() call.  That sets the initial state in the library
which is missing if the first getpw*-related call is setpwfile().

[Posted by WWW Notes gateway]