I don't like it that makeuserdb operates only on /etc/userdb.  What
if I want to put a userdb in /export/config/courier?  So I wrote
a patch.  With my patch, makeuserdb defaults to its traditional
behavior, but takes an optional "-f filename" argument.  My patch
also changes the temporary directory to the directory in which
"filename" resides, again defaulting to /etc.

Mr. Sam, I would greatly appreciate it if you'd consider incorporating
this patch into the courier codebase, or, if you like the idea but not
the style, write your own equivalent patch.


--- /pkg/courier-imap-1.4.5/sbin/makeuserdb     Thu May 30 21:43:50 2002
+++ makeuserdb  Fri Jul  5 18:51:23 2002
@@ -10,6 +10,12 @@
 # distribution information.
 
 use Fcntl ':flock';
+use Getopt::Std 'getopts';
+use vars '$opt_f';
+
+$options = "f:";
+
+getopts($options);
 
 $prefix="/pkg/courier-imap-1.4.5";
 $exec_prefix="${prefix}";
@@ -17,16 +23,17 @@
 
 $ENV{'PATH'}="${exec_prefix}/bin:/usr/bin:/usr/local/bin:/bin";
 
-$dbfile="/etc/userdb";
-$datfile="/etc/userdb.dat";
-$lockfile="/etc/userdb.lock";
+$dbfile= $opt_f || "/etc/userdb";
+$datfile= $opt_f ? $opt_f . ".dat" : "/etc/userdb.dat";
+$lockfile= $opt_f ? $opt_f . ".lock" : "/etc/userdb.lock";
 
-$shadowfile="/etc/userdbshadow.dat";
+$shadowfile= $opt_f ? $opt_f . "shadow.dat" : "/etc/userdbshadow.dat";
 
-$tmpdir="/etc";
+$tmpdir= $dbfile;
+$tmpdir=~ s,[^/]+$,,;
 
-$tmpdatfile="$tmpdir/userdb.tmp";
-$tmpshadowfile="$tmpdir/userdbshadow.tmp";
+$tmpdatfile= $opt_f ? $opt_f . ".tmp" : "$tmpdir/userdb.tmp";
+$tmpshadowfile= $opt_f ? $opt_f . "shadow.tmp" : "$tmpdir/userdbshadow.tmp";
 $makedat="/usr/local/libexec/makedatprog";
 
 $mode=(stat($dbfile))[2];

-- 
Ben Rosengart     (212) 741-4400 x215

Microsoft has argued that open source is bad for business, but you
have to ask, "Whose business?  Theirs, or yours?"    --Tim O'Reilly


-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Bringing you mounds of caffeinated joy.
http://thinkgeek.com/sf
_______________________________________________
courier-users mailing list
[EMAIL PROTECTED]
Unsubscribe: https://lists.sourceforge.net/lists/listinfo/courier-users

Reply via email to