diff options
author | ivan <ivan> | 1999-03-25 08:42:20 +0000 |
---|---|---|
committer | ivan <ivan> | 1999-03-25 08:42:20 +0000 |
commit | 93ced168cd4e1e23d36094a919576fc646b4df28 (patch) | |
tree | c4262716368c379f0a70d0a578684a90f6444a19 /bin | |
parent | fa884e7ce54e21c7593abe2bc3430bd26a607ce7 (diff) |
import stuff uses Term::Query and spits out (some kinds of) nonsensical input
Diffstat (limited to 'bin')
-rwxr-xr-x | bin/svc_acct.import | 36 | ||||
-rwxr-xr-x | bin/svc_acct_sm.import | 52 |
2 files changed, 50 insertions, 38 deletions
diff --git a/bin/svc_acct.import b/bin/svc_acct.import index c22cb0d15..512572251 100755 --- a/bin/svc_acct.import +++ b/bin/svc_acct.import @@ -1,6 +1,6 @@ #!/usr/bin/perl -Tw # -# $Id: svc_acct.import,v 1.4 1999-03-24 00:43:38 ivan Exp $ +# $Id: svc_acct.import,v 1.5 1999-03-25 08:42:19 ivan Exp $ # # ivan@sisd.com 98-mar-9 # @@ -17,7 +17,10 @@ # don't import /var/spool/freeside/conf/shells! ivan@sisd.com 98-aug-13 # # $Log: svc_acct.import,v $ -# Revision 1.4 1999-03-24 00:43:38 ivan +# Revision 1.5 1999-03-25 08:42:19 ivan +# import stuff uses Term::Query and spits out (some kinds of) nonsensical input +# +# Revision 1.4 1999/03/24 00:43:38 ivan # die if no relevant services # # Revision 1.3 1998/12/10 07:23:16 ivan @@ -30,6 +33,7 @@ use strict; use vars qw(%part_svc); use Date::Parse; +use Term::Query qw(query); use FS::SSH qw(iscp); use FS::UID qw(adminsuidsetup datasrc); use FS::Record qw(qsearch); @@ -74,8 +78,7 @@ my($oisdn_svcpart)=&getpart; print "\n\n", &menu_svc, "\n", <<END; POP mail accounts have entries in passwd only, and have a particular shell. END -print "Enter that shell: "; -my($pop_shell)=&getvalue; +my($pop_shell)=&getvalue("Enter that shell:"); my($popmail_svcpart)=&getpart; print "\n\n", &menu_svc, "\n", <<END; @@ -87,37 +90,36 @@ print "\n\n", <<END; Enter the location and name of your _user_ passwd file, for example "mail.isp.com:/etc/passwd" or "nis.isp.com:/etc/global/passwd" END -print ":"; -my($loc_passwd)=&getvalue; +my($loc_passwd)=&getvalue(":"); iscp("root\@$loc_passwd", "$spooldir/passwd.import"); print "\n\n", <<END; Enter the location and name of your _user_ shadow file, for example "mail.isp.com:/etc/shadow" or "bsd.isp.com:/etc/master.passwd" END -print ":"; -my($loc_shadow)=&getvalue; +my($loc_shadow)=&getvalue(":"); iscp("root\@$loc_shadow", "$spooldir/shadow.import"); print "\n\n", <<END; Enter the location and name of your radius "users" file, for example "radius.isp.com:/etc/raddb/users" END -print ":"; -my($loc_users)=&getvalue; +my($loc_users)=&getvalue(":"); iscp("root\@$loc_users", "$spooldir/users.import"); sub menu_svc { ( join "\n", map "$_: ".$part_svc{$_}->svc, sort keys %part_svc ). "\n"; } sub getpart { - print "Enter part number, or 0 for none: "; - &getvalue; + $^W=0; # Term::Query isn't -w-safe + query "Enter part number:", 'irk', [ keys %part_svc ]; + $^W=1; } sub getvalue { - my($x)=scalar(<STDIN>); - chop $x; - $x; + my $prompt = shift; + $^W=0; # Term::Query isn't -w-safe + query $prompt, ''; + $^W=1; } print "\n\n"; @@ -193,7 +195,7 @@ while (<PASSWD>) { $svcpart = $shell_svcpart; } - my($svc_acct) = create FS::svc_acct ({ + my($svc_acct) = new FS::svc_acct ({ 'svcpart' => $svcpart, 'username' => $username, 'password' => $password, @@ -227,7 +229,7 @@ foreach $username ( keys %upassword ) { die "Illegal Port-Limit in users!\n"; } - my($svc_acct) = create FS::svc_acct ({ + my($svc_acct) = new FS::svc_acct ({ 'svcpart' => $svcpart, 'username' => $username, 'password' => $password, diff --git a/bin/svc_acct_sm.import b/bin/svc_acct_sm.import index 647e5c2ee..bda9762e1 100755 --- a/bin/svc_acct_sm.import +++ b/bin/svc_acct_sm.import @@ -1,6 +1,6 @@ #!/usr/bin/perl -Tw # -# $Id: svc_acct_sm.import,v 1.3 1999-03-24 00:51:55 ivan Exp $ +# $Id: svc_acct_sm.import,v 1.4 1999-03-25 08:42:20 ivan Exp $ # # ivan@sisd.com 98-mar-9 # @@ -16,7 +16,10 @@ # ivan@sisd.com 98-jul-13 # # $Log: svc_acct_sm.import,v $ -# Revision 1.3 1999-03-24 00:51:55 ivan +# Revision 1.4 1999-03-25 08:42:20 ivan +# import stuff uses Term::Query and spits out (some kinds of) nonsensical input +# +# Revision 1.3 1999/03/24 00:51:55 ivan # die if no relevant services... cvspain # # Revision 1.2 1998/12/10 07:23:18 ivan @@ -25,6 +28,7 @@ use strict; use vars qw(%d_part_svc %m_part_svc); +use Term::Query qw(query); use FS::SSH qw(iscp); use FS::UID qw(adminsuidsetup datasrc); use FS::Record qw(qsearch qsearchs); @@ -55,20 +59,28 @@ die "No services with svcdb svc_svc_acct_sm!\n" unless %m_part_svc; print "\n\n", ( join "\n", map "$_: ".$d_part_svc{$_}->svc, sort keys %d_part_svc ), - "\n\nEnter part number for domains: "; -my($domain_svcpart)=&getvalue; + "\n\n"; +$^W=0; #Term::Query isn't -w-safe +my $domain_svcpart = + query "Enter part number for domains: ", 'irk', [ keys %d_part_svc ]; +$^W=1; print "\n\n", ( join "\n", map "$_: ".$m_part_svc{$_}->svc, sort keys %m_part_svc ), - "\n\nEnter part number for mail aliases: "; -my($mailalias_svcpart)=&getvalue; + "\n\n"; +$^W=0; #Term::Query isn't -w-safe +my $mailalias_svcpart = + query "Enter part number for mail aliases: ", 'irk', [ keys %m_part_svc ]; +$^W=1; print "\n\n", <<END; Select your MTA from the following list. END print join "\n", map "$_: $mta{$_}", sort keys %mta; -print "\n\n:"; -my($mta)=&getvalue; +print "\n\n"; +$^W=0; #Term::Query isn't -w-safe +my $mta = query ":", 'irk', [ keys %mta ]; +$^W=1; if ( $mta{$mta} eq "qmail" ) { @@ -76,8 +88,7 @@ if ( $mta{$mta} eq "qmail" ) { Enter the location and name of your qmail control directory, for example "mail.isp.com:/var/qmail/control" END - print ":"; - my($control)=&getvalue; + my($control)=&getvalue(":"); iscp("root\@$control/rcpthosts","$spooldir/rcpthosts.import"); # iscp("root\@$control/recipientmap","$spooldir/recipientmap.import"); iscp("root\@$control/virtualdomains","$spooldir/virtualdomains.import"); @@ -95,16 +106,14 @@ END Enter the location and name of your sendmail virtual user table, for example "mail.isp.com:/etc/virtusertable" END - print ":"; - my($virtusertable)=&getvalue; + my($virtusertable)=&getvalue(":"); iscp("root\@$virtusertable","$spooldir/virtusertable.import"); print "\n\n", <<END; Enter the location and name of your sendmail.cw file, for example "mail.isp.com:/etc/sendmail.cw" END - print ":"; - my($sendmail_cw)=&getvalue; + my($sendmail_cw)=&getvalue(":"); iscp("root\@$sendmail_cw","$spooldir/sendmail.cw.import"); } else { @@ -112,9 +121,10 @@ END } sub getvalue { - my($x)=scalar(<STDIN>); - chop $x; - $x; + my $prompt = shift; + $^W=0; #Term::Query isn't -w-safe + query $prompt, ''; + $^W=1; } print "\n\n"; @@ -144,7 +154,7 @@ while (<RCPTHOSTS>) { my $domain = $1; my($svc_domain); unless ( $svc_domain = qsearchs('svc_domain', {'domain'=>$domain} ) ) { - $svc_domain = create FS::svc_domain ({ + $svc_domain = new FS::svc_domain ({ 'domain' => $domain, 'svcpart' => $domain_svcpart, 'action' => 'N', @@ -199,7 +209,7 @@ END } unless ( exists $svcnum{$domain} ) { - my($svc_domain) = create FS::svc_domain ({ + my($svc_domain) = new FS::svc_domain ({ 'domain' => $domain, 'svcpart' => $domain_svcpart, 'action' => 'N', @@ -210,7 +220,7 @@ END $svcnum{$domain}=$svc_domain->svcnum; } - my($svc_acct_sm)=create FS::svc_acct_sm ({ + my($svc_acct_sm)=new FS::svc_acct_sm ({ 'domsvc' => $svcnum{$domain}, 'domuid' => $svc_acct->uid, 'domuser' => '*', @@ -240,7 +250,7 @@ END die "Unknown user $username in virtusertable"; next; } - my($svc_acct_sm)=create FS::svc_acct_sm ({ + my($svc_acct_sm)=new FS::svc_acct_sm ({ 'domsvc' => $svcnum{$domain}, 'domuid' => $svc_acct->uid, 'domuser' => $domuser || '*', |