5 # This is run REMOTELY over ssh by fs_signup_server.
11 my($fs_passwdd_socket)="/usr/local/freeside/fs_signupd_socket";
13 $ENV{'PATH'} ='/usr/local/bin:/usr/bin:/usr/ucb:/bin';
14 $ENV{'SHELL'} = '/bin/sh';
15 $ENV{'IFS'} = " \t\n";
18 $ENV{'BASH_ENV'} = '';
22 chomp( my $n_cust_main_county = <STDIN> );
23 my @cust_main_county = map {
24 chomp( my $taxnum = <STDIN> );
25 chomp( my $state = <STDIN> );
26 chomp( my $county = <STDIN> );
27 chomp( my $country = <STDIN> );
32 'country' => $country,
34 } ( 1 .. $n_cust_main_county );
36 chomp( my $n_part_pkg = <STDIN> );
38 chomp( my $pkgpart = <STDIN> );
39 chomp( my $pkg = <STDIN> );
41 'pkgpart' => $pkgpart,
44 } ( 1 .. $n_part_pkg );
46 chomp( my $n_svc_acct_pop = <STDIN> );
47 my @svc_acct_pop = map {
48 chomp( my $popnum = <STDIN> );
49 chomp( my $city = <STDIN> );
50 chomp( my $state = <STDIN> );
51 chomp( my $ac = <STDIN> );
52 chomp( my $exch = <STDIN> );
60 } ( 1 .. $n_svc_acct_pop );
62 my $uaddr = sockaddr_un($fs_passwdd_socket);
63 my $proto = getprotobyname('tcp');
65 socket(Server,PF_UNIX,SOCK_STREAM,0) or die "socket: $!";
66 unlink($fs_passwdd_socket);
67 bind(Server, $uaddr) or die "bind: $!";
68 listen(Server,SOMAXCONN) or die "listen: $!";
72 for ( ; $paddr = accept(Client,Server); close Client) {
74 chop( my $command = <Client> );
76 if ( $command eq "signup_info" ) {
78 print Client join("\n", $n_cust_main_county,
87 print Client join("\n", $n_part_pkg,
94 print Client join("\n", $n_svc_acct_pop,
104 } elsif ( $operation eq "new_customer" ) {
107 $first, $last, $ss, $company, $address1, $address2, $city, $county,
108 $state, $zip, $country, $daytime, $night, $fax, $payby, $payinfo,
109 $paydate, $payname, $invoicing_list, $pkgpart, $username, $password,
114 $first, $last, $ss, $company, $address1, $address2, $city, $county,
115 $state, $zip, $country, $daytime, $night, $fax, $payby, $payinfo,
116 $paydate, $payname, $invoicing_list, $pkgpart, $username, $password,
125 die "unexpected command from client: $command";