diff options
author | oliver <oliver@FreeBSD.org> | 2005-03-02 05:02:00 +0800 |
---|---|---|
committer | oliver <oliver@FreeBSD.org> | 2005-03-02 05:02:00 +0800 |
commit | ab59166426018aa13b29035100b58b27e1883105 (patch) | |
tree | af0ab910c43dd5f0ae26425ed927d8eeafee96ec /security/courier-authlib-base | |
parent | 231318f3bc1120f309c050e7bd39d984415a7866 (diff) | |
download | freebsd-ports-gnome-ab59166426018aa13b29035100b58b27e1883105.tar.gz freebsd-ports-gnome-ab59166426018aa13b29035100b58b27e1883105.tar.zst freebsd-ports-gnome-ab59166426018aa13b29035100b58b27e1883105.zip |
Add BSD master.passwd processing to pw2userdb
Bump PORTREVISION
PR: ports/78163
Submitted by: Jose M Rodriguez <josemi@freebsd.jazztel.es>
Diffstat (limited to 'security/courier-authlib-base')
-rw-r--r-- | security/courier-authlib-base/Makefile | 2 | ||||
-rw-r--r-- | security/courier-authlib-base/files/patch-userdb::pw2userdb.in | 104 |
2 files changed, 105 insertions, 1 deletions
diff --git a/security/courier-authlib-base/Makefile b/security/courier-authlib-base/Makefile index 03babfe85151..a033447050b8 100644 --- a/security/courier-authlib-base/Makefile +++ b/security/courier-authlib-base/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/security/courier-authlib-base/files/patch-userdb::pw2userdb.in b/security/courier-authlib-base/files/patch-userdb::pw2userdb.in new file mode 100644 index 000000000000..7cb79aa49b02 --- /dev/null +++ b/security/courier-authlib-base/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)) |