diff options
author | Oliver Lehmann <oliver@FreeBSD.org> | 2005-03-01 21:02:00 +0000 |
---|---|---|
committer | Oliver Lehmann <oliver@FreeBSD.org> | 2005-03-01 21:02:00 +0000 |
commit | 19dbf6437b72ab1e80d1317200bfc6affa604737 (patch) | |
tree | ec70bea96f4cfcf0608b3a53e063fea6c0e73277 /databases/courier-authlib-usergdbm | |
parent | 92c2bde1ea4392ee256079098b3699fcac597b79 (diff) | |
download | ports-19dbf6437b72ab1e80d1317200bfc6affa604737.tar.gz ports-19dbf6437b72ab1e80d1317200bfc6affa604737.zip |
Notes
Diffstat (limited to 'databases/courier-authlib-usergdbm')
-rw-r--r-- | databases/courier-authlib-usergdbm/Makefile | 2 | ||||
-rw-r--r-- | databases/courier-authlib-usergdbm/files/patch-userdb::pw2userdb.in | 104 |
2 files changed, 105 insertions, 1 deletions
diff --git a/databases/courier-authlib-usergdbm/Makefile b/databases/courier-authlib-usergdbm/Makefile index 03babfe85151..a033447050b8 100644 --- a/databases/courier-authlib-usergdbm/Makefile +++ b/databases/courier-authlib-usergdbm/Makefile @@ -7,7 +7,7 @@ PORTNAME= courier-authlib PORTVERSION= 0.54 -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES= mail MASTER_SITES= ${MASTER_SITE_SOURCEFORGE} MASTER_SITE_SUBDIR= courier diff --git a/databases/courier-authlib-usergdbm/files/patch-userdb::pw2userdb.in b/databases/courier-authlib-usergdbm/files/patch-userdb::pw2userdb.in new file mode 100644 index 000000000000..7cb79aa49b02 --- /dev/null +++ b/databases/courier-authlib-usergdbm/files/patch-userdb::pw2userdb.in @@ -0,0 +1,104 @@ +--- userdb/pw2userdb.in.orig Wed Jul 19 13:55:15 2000 ++++ userdb/pw2userdb.in Tue Mar 1 21:58:51 2005 +@@ -7,6 +7,8 @@ + # Copyright 1998 - 1999 Double Precision, Inc. See COPYING for + # distribution information. + ++# Adapted to BSD master.passwd ++ + use Getopt::Long; + + # +@@ -22,42 +24,66 @@ + if $vpopuid; + + $passwd="/etc/passwd" unless $passwd =~ /./; +-$shadow="/etc/shadow" unless $shadow =~ /./; ++$shadow="/etc/master.passwd" unless $shadow =~ /./; + + $domain="" unless $domain =~ /./; + $domain="\@$domain" if $domain =~ /./; + +-open(PASSWD, $passwd) || die "$!\n"; +- +-while (<PASSWD>) ++if (! $noshadow && $shadow =~ /master.passwd$/) + { +- chop if /\n$/; +- next if /^#/; +- ($acct,$passwd,$uid,$gid,$name,$home,$shell)=split( /:/ ); +- +- ($uid,$gid)=($fixed_uid,$fixed_gid) if $vpopuid; +- +- $PASSWORD{$acct}=$passwd if $passwd ne "x"; +- $UID{$acct}=$uid; +- $GID{$acct}=$gid; +- $HOME{$acct}=$home; +- $SHELL{$acct}=$shell; +- +- $name =~ s/\|/./g; # Just in case +- $GECOS{$acct}=$name; +-} +-close (PASSWD); ++ open(PASSWD, $shadow) || die "$!\n"; + +-if ( -f $shadow && ! $noshadow) +-{ +- open (SHADOW, $shadow) || die "$!\n"; +- while (<SHADOW>) ++ while (<PASSWD>) + { ++ chop if /\n$/; + next if /^#/; +- ($acct,$passwd,$dummy)=split(/:/); ++ ($acct,$passwd,$uid,$gid,$class,$change,$expire,$name,$home,$shell)=split( /:/ ); ++ ++ ($uid,$gid)=($fixed_uid,$fixed_gid) if $vpopuid; ++ $name =~ s/\|/./g; # Just in case ++ + $PASSWORD{$acct}=$passwd; ++ $UID{$acct}=$uid; ++ $GID{$acct}=$gid; ++ $HOME{$acct}=$home; ++ $SHELL{$acct}=$shell; ++ $GECOS{$acct}=$name; ++ } ++ close (PASSWD); ++} else { ++ open(PASSWD, $passwd) || die "$!\n"; ++ ++ while (<PASSWD>) ++ { ++ chop if /\n$/; ++ next if /^#/; ++ ($acct,$passwd,$uid,$gid,$name,$home,$shell)=split( /:/ ); ++ ++ ($uid,$gid)=($fixed_uid,$fixed_gid) if $vpopuid; ++ ++ $PASSWORD{$acct}=$passwd if $passwd ne "x"; ++ $UID{$acct}=$uid; ++ $GID{$acct}=$gid; ++ $HOME{$acct}=$home; ++ $SHELL{$acct}=$shell; ++ ++ $name =~ s/\|/./g; # Just in case ++ $GECOS{$acct}=$name; ++ } ++ close (PASSWD); ++ ++ if ( -f $shadow && ! $noshadow) ++ { ++ open (SHADOW, $shadow) || die "$!\n"; ++ while (<SHADOW>) ++ { ++ ++ next if /^#/; ++ ($acct,$passwd,$dummy)=split(/:/); ++ $PASSWORD{$acct}=$passwd; ++ } ++ close (SHADOW); + } +- close (SHADOW); + } + + while ( defined ($key=each %UID)) |