From 399377be683d60fd80690504103b809885b27903 Mon Sep 17 00:00:00 2001 From: ivan Date: Tue, 30 Oct 2001 10:20:32 +0000 Subject: setup/config updates. getting easier... --- FS/bin/freeside-adduser | 52 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 FS/bin/freeside-adduser (limited to 'FS/bin/freeside-adduser') diff --git a/FS/bin/freeside-adduser b/FS/bin/freeside-adduser new file mode 100644 index 000000000..4517a83fa --- /dev/null +++ b/FS/bin/freeside-adduser @@ -0,0 +1,52 @@ +#!/usr/bin/perl -w +# +# $Id: freeside-adduser,v 1.1 2001-10-30 10:20:32 ivan Exp $ + +use strict; +use vars qw($opt_h $opt_c); +use Getopt::Std; + +my $FREESIDE_CONF = "/usr/local/etc/freeside"; + +getopts("ch:"); +die &usage if $opt_c && ! $opt_h; +my $secretfile = shift or die &usage; +my $user = shift or die &usage; + +my @args = ( 'htpasswd' ); +push @args, '-c' if $opt_c; +push @args, $opt_h, $user; +system(@args) == 0 or die "htpasswd failed: $?"; + +open(MAPSECRETS,">>$FREESIDE_CONF/mapsecrets") + or die "can't open $FREESIDE_CONF/mapsecrets: $!"; +print MAPSECRETS "$user $secretfile\n"; +close MAPSECRETS or die "can't close $FREESIDE_CONF/mapsecrets: $!"; + +sub usage { + die "Usage:\n\n freeside-adduser [ -h htpasswd_file [ -c ] ] secretfile username" +} + +=head1 NAME + +freeside-adduser - Command line interface to add (freeside) users. + +=head1 SYNOPSIS + + freeside-adduser [ -h htpasswd_file [ -c ] ] username + +=head DESCRIPTION + +Adds a user to the Freeside billing system. This is for adding users (internal +sales/tech folks) to the web interface, not for adding customer accounts. + + -h: Also call htpasswd for this user with the given filename + + -c: Passed to htpasswd + +=head1 SEE ALSO + +L, base Freeside documentation + +=cut + -- cgit v1.2.1 From edda09a317f5dfef05fb8906f28531ec6f4b0927 Mon Sep 17 00:00:00 2001 From: ivan Date: Tue, 30 Oct 2001 11:47:54 +0000 Subject: whew more install docs and automation --- FS/bin/freeside-adduser | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'FS/bin/freeside-adduser') diff --git a/FS/bin/freeside-adduser b/FS/bin/freeside-adduser index 4517a83fa..e66b0d012 100644 --- a/FS/bin/freeside-adduser +++ b/FS/bin/freeside-adduser @@ -1,6 +1,6 @@ #!/usr/bin/perl -w # -# $Id: freeside-adduser,v 1.1 2001-10-30 10:20:32 ivan Exp $ +# $Id: freeside-adduser,v 1.2 2001-10-30 11:47:54 ivan Exp $ use strict; use vars qw($opt_h $opt_c); @@ -33,9 +33,9 @@ freeside-adduser - Command line interface to add (freeside) users. =head1 SYNOPSIS - freeside-adduser [ -h htpasswd_file [ -c ] ] username + freeside-adduser [ -h htpasswd_file [ -c ] ] secretfile username -=head DESCRIPTION +=head1 DESCRIPTION Adds a user to the Freeside billing system. This is for adding users (internal sales/tech folks) to the web interface, not for adding customer accounts. -- cgit v1.2.1 From a8989c556a7a1951a0b34942c6289f26395859d7 Mon Sep 17 00:00:00 2001 From: ivan Date: Tue, 30 Oct 2001 13:47:07 +0000 Subject: `make create-config' installs default config (conf dir update) freeside-adduser uses default secrets file --- FS/bin/freeside-adduser | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) (limited to 'FS/bin/freeside-adduser') diff --git a/FS/bin/freeside-adduser b/FS/bin/freeside-adduser index e66b0d012..7fc5830db 100644 --- a/FS/bin/freeside-adduser +++ b/FS/bin/freeside-adduser @@ -1,16 +1,15 @@ #!/usr/bin/perl -w # -# $Id: freeside-adduser,v 1.2 2001-10-30 11:47:54 ivan Exp $ +# $Id: freeside-adduser,v 1.3 2001-10-30 13:47:07 ivan Exp $ use strict; -use vars qw($opt_h $opt_c); +use vars qw($opt_h $opt_c $opt_s); use Getopt::Std; my $FREESIDE_CONF = "/usr/local/etc/freeside"; -getopts("ch:"); +getopts("ch:s:"); die &usage if $opt_c && ! $opt_h; -my $secretfile = shift or die &usage; my $user = shift or die &usage; my @args = ( 'htpasswd' ); @@ -18,13 +17,15 @@ push @args, '-c' if $opt_c; push @args, $opt_h, $user; system(@args) == 0 or die "htpasswd failed: $?"; +my $secretfile = $opt_s || 'secrets'; + open(MAPSECRETS,">>$FREESIDE_CONF/mapsecrets") or die "can't open $FREESIDE_CONF/mapsecrets: $!"; print MAPSECRETS "$user $secretfile\n"; close MAPSECRETS or die "can't close $FREESIDE_CONF/mapsecrets: $!"; sub usage { - die "Usage:\n\n freeside-adduser [ -h htpasswd_file [ -c ] ] secretfile username" + die "Usage:\n\n freeside-adduser [ -h htpasswd_file [ -c ] ] [ -s secretfile ] username" } =head1 NAME @@ -33,7 +34,7 @@ freeside-adduser - Command line interface to add (freeside) users. =head1 SYNOPSIS - freeside-adduser [ -h htpasswd_file [ -c ] ] secretfile username + freeside-adduser [ -h htpasswd_file [ -c ] ] [ -s secretfile ] username =head1 DESCRIPTION @@ -44,6 +45,8 @@ sales/tech folks) to the web interface, not for adding customer accounts. -c: Passed to htpasswd + -s: Specify an alternate secret file + =head1 SEE ALSO L, base Freeside documentation -- cgit v1.2.1 From 0144506246df56f2f705d4edc3cf29cd7dd0ed24 Mon Sep 17 00:00:00 2001 From: ivan Date: Wed, 6 Feb 2002 14:58:05 +0000 Subject: fix for non-file auth --- FS/bin/freeside-adduser | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) (limited to 'FS/bin/freeside-adduser') diff --git a/FS/bin/freeside-adduser b/FS/bin/freeside-adduser index 7fc5830db..9d424634b 100644 --- a/FS/bin/freeside-adduser +++ b/FS/bin/freeside-adduser @@ -1,6 +1,6 @@ #!/usr/bin/perl -w # -# $Id: freeside-adduser,v 1.3 2001-10-30 13:47:07 ivan Exp $ +# $Id: freeside-adduser,v 1.4 2002-02-06 14:58:05 ivan Exp $ use strict; use vars qw($opt_h $opt_c $opt_s); @@ -12,10 +12,12 @@ getopts("ch:s:"); die &usage if $opt_c && ! $opt_h; my $user = shift or die &usage; -my @args = ( 'htpasswd' ); -push @args, '-c' if $opt_c; -push @args, $opt_h, $user; -system(@args) == 0 or die "htpasswd failed: $?"; +if ( $opt_h ) { + my @args = ( 'htpasswd' ); + push @args, '-c' if $opt_c; + push @args, $opt_h, $user; + system(@args) == 0 or die "htpasswd failed: $?"; +} my $secretfile = $opt_s || 'secrets'; -- cgit v1.2.1 From 621e56df7cb76802799f7939424e0d0c8bab40fd Mon Sep 17 00:00:00 2001 From: ivan Date: Sat, 24 Aug 2002 08:13:25 +0000 Subject: also do -b flag --- FS/bin/freeside-adduser | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'FS/bin/freeside-adduser') diff --git a/FS/bin/freeside-adduser b/FS/bin/freeside-adduser index 9d424634b..3ac3cffa1 100644 --- a/FS/bin/freeside-adduser +++ b/FS/bin/freeside-adduser @@ -1,21 +1,23 @@ #!/usr/bin/perl -w # -# $Id: freeside-adduser,v 1.4 2002-02-06 14:58:05 ivan Exp $ +# $Id: freeside-adduser,v 1.5 2002-08-24 08:13:25 ivan Exp $ use strict; -use vars qw($opt_h $opt_c $opt_s); +use vars qw($opt_h $opt_b $opt_c $opt_s); use Getopt::Std; my $FREESIDE_CONF = "/usr/local/etc/freeside"; -getopts("ch:s:"); +getopts("bch:s:"); die &usage if $opt_c && ! $opt_h; my $user = shift or die &usage; if ( $opt_h ) { my @args = ( 'htpasswd' ); + push @args, '-b' if $opt_b; push @args, '-c' if $opt_c; push @args, $opt_h, $user; + push @args, shift if $opt_b; system(@args) == 0 or die "htpasswd failed: $?"; } -- cgit v1.2.1 From 8675d7f9367456118663ddc28907bcd69d6dae94 Mon Sep 17 00:00:00 2001 From: ivan Date: Sun, 25 Aug 2002 01:09:50 +0000 Subject: doc --- FS/bin/freeside-adduser | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'FS/bin/freeside-adduser') diff --git a/FS/bin/freeside-adduser b/FS/bin/freeside-adduser index 3ac3cffa1..e9b300823 100644 --- a/FS/bin/freeside-adduser +++ b/FS/bin/freeside-adduser @@ -1,6 +1,6 @@ #!/usr/bin/perl -w # -# $Id: freeside-adduser,v 1.5 2002-08-24 08:13:25 ivan Exp $ +# $Id: freeside-adduser,v 1.6 2002-08-25 01:09:50 ivan Exp $ use strict; use vars qw($opt_h $opt_b $opt_c $opt_s); @@ -47,13 +47,15 @@ sales/tech folks) to the web interface, not for adding customer accounts. -h: Also call htpasswd for this user with the given filename - -c: Passed to htpasswd + -c: Passed to htpasswd(1) -s: Specify an alternate secret file + -b: same as htpasswd(1), probably insecure, not recommended + =head1 SEE ALSO -L, base Freeside documentation +L(1), base Freeside documentation =cut -- cgit v1.2.1 From 3dc9eeed220e7f7adbf08526f109a190deb3f552 Mon Sep 17 00:00:00 2001 From: ivan Date: Sun, 25 Aug 2002 01:16:30 +0000 Subject: doc --- FS/bin/freeside-adduser | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'FS/bin/freeside-adduser') diff --git a/FS/bin/freeside-adduser b/FS/bin/freeside-adduser index e9b300823..424123226 100644 --- a/FS/bin/freeside-adduser +++ b/FS/bin/freeside-adduser @@ -1,6 +1,6 @@ #!/usr/bin/perl -w # -# $Id: freeside-adduser,v 1.6 2002-08-25 01:09:50 ivan Exp $ +# $Id: freeside-adduser,v 1.7 2002-08-25 01:16:30 ivan Exp $ use strict; use vars qw($opt_h $opt_b $opt_c $opt_s); @@ -29,7 +29,7 @@ print MAPSECRETS "$user $secretfile\n"; close MAPSECRETS or die "can't close $FREESIDE_CONF/mapsecrets: $!"; sub usage { - die "Usage:\n\n freeside-adduser [ -h htpasswd_file [ -c ] ] [ -s secretfile ] username" + die "Usage:\n\n freeside-adduser [ -h htpasswd_file [ -c ] [ -b ] ] [ -s secretfile ] username" } =head1 NAME -- cgit v1.2.1 From e88050711de04bdd33f298d84a35c943bc6dec24 Mon Sep 17 00:00:00 2001 From: ivan Date: Fri, 27 Sep 2002 05:36:29 +0000 Subject: lock mapsecrets file --- FS/bin/freeside-adduser | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'FS/bin/freeside-adduser') diff --git a/FS/bin/freeside-adduser b/FS/bin/freeside-adduser index 424123226..c3ee05b9b 100644 --- a/FS/bin/freeside-adduser +++ b/FS/bin/freeside-adduser @@ -1,9 +1,10 @@ #!/usr/bin/perl -w # -# $Id: freeside-adduser,v 1.7 2002-08-25 01:16:30 ivan Exp $ +# $Id: freeside-adduser,v 1.8 2002-09-27 05:36:29 ivan Exp $ use strict; use vars qw($opt_h $opt_b $opt_c $opt_s); +use Fcntl qw(:flock); use Getopt::Std; my $FREESIDE_CONF = "/usr/local/etc/freeside"; @@ -24,7 +25,8 @@ if ( $opt_h ) { my $secretfile = $opt_s || 'secrets'; open(MAPSECRETS,">>$FREESIDE_CONF/mapsecrets") - or die "can't open $FREESIDE_CONF/mapsecrets: $!"; + and flock(MAPSECRETS,LOCK_EX) + or die "can't open $FREESIDE_CONF/mapsecrets: $!"; print MAPSECRETS "$user $secretfile\n"; close MAPSECRETS or die "can't close $FREESIDE_CONF/mapsecrets: $!"; -- cgit v1.2.1