summaryrefslogtreecommitdiffstats
path: root/debian/exim-adduser
diff options
context:
space:
mode:
Diffstat (limited to 'debian/exim-adduser')
-rwxr-xr-xdebian/exim-adduser52
1 files changed, 52 insertions, 0 deletions
diff --git a/debian/exim-adduser b/debian/exim-adduser
new file mode 100755
index 0000000..8561998
--- /dev/null
+++ b/debian/exim-adduser
@@ -0,0 +1,52 @@
+#!/usr/bin/perl
+
+# Stitched together by Andreas Metzler, really too trivial to be copyrightable.
+
+use strict;
+use warnings;
+my $user;
+my $passwd;
+my $file;
+my $rand;
+
+if (@ARGV == 0) {
+ $file="/etc/exim4/passwd";
+} else {
+ $file=$ARGV[0];
+}
+
+open(PWDFILE,">>$file") || die("Couldn't append to file '$file': $!");
+
+print "User: ";
+chop($user = <STDIN>);
+print "Password: ";
+chop($passwd = <STDIN>);
+
+$rand = join '', ('.', '/', 0..9, 'A'..'Z', 'a'..'z')[rand 64, rand 64, rand 64, rand 64];
+print PWDFILE $user . ":" . crypt($passwd, q{$1$} . $rand . q{$}) . ":" . $passwd . "\n";
+close(PWDFILE);
+
+__END__
+
+=head1 NAME
+
+exim-adduser - Add username/password to exim password-file.
+
+=head1 USAGE
+
+exim-adduser [filename]
+
+exim-adduser prompts for username and password and adds
+
+username:crypted-password:cleartext-password
+
+to the given file, if no filename is given /etc/exim4/passwd is used.
+
+=head1 BUGS
+
+Probably many, this really is just example code.
+
+=head1 SEE ALSO
+
+/usr/share/doc/exim4-base/*,
+exim4(8)