Lines Matching refs:server

72 #	ask each server in turn a whole bunch of questions, addresses to
77 # string "$addr *** $server" where $addr is the address to be
78 # expanded "foo" or maybe "foo@bar" and $server is the hostname
79 # of the SMTP server to contact.
85 # $server : name of the current we are currently looking at
86 # @users = $users{@hosts[0]} : addresses to expand at this server
88 # $names{"$users[0] *** $server"} : the 'name' associated with the address
89 # $mxbacktrace{"$users[0] *** $server"} : record of mx expansion
90 # $mx_secondary{$server} : other mx relays at the same priority
91 # $domainify_fallback{"$users[0] *** $server"} : alternative names to try
92 # instead of $server if $server doesn't work
93 # $temporary_redirect{"$users[0] *** $server"} : when trying alternates,
95 # $giveup{$server} : do not bother expanding addresses at $server
102 # S : the socket connection to $server
157 $server = shift(@hosts);
158 @users = split(' ',$users{$server});
159 delete $users{$server};
161 # is this server already known to be bad?
162 $0 = "$av0 - looking up $server";
163 if ($giveup{$server}) {
164 &giveup('mx domainify',$giveup{$server});
169 next HOST if &mxredirect($server,*users);
172 $0 = "$av0 - gethostbyname($server)";
174 ($name,$aliases,$type,$len,$thataddr) = gethostbyname($server);
177 &mxlookup(1,$server,"$server: could not resolve name",*users);
182 $0 = "$av0 - socket to $server";
186 $0 = "$av0 - bind to $server";
189 $0 = "$av0 - connect to $server";
190 print "debug = $debug server = $server\n" if $debug > 8;
191 if (! connect(S, $that) || ($debug == 10 && $server =~ /relay\d.UU.NET$/i)) {
192 $0 = "$av0 - $server: could not connect: $!\n";
194 unless (&mxlookup(0,$server,"$server: could not connect: $!",*users)) {
195 &giveup('mx',"$server: Could not connect: $emsg");
202 $0 = "$av0 - talking to $server";
203 &alarm("greeting with $server",'');
209 $0 = "$av0 - bad numeric response from $server";
210 &alarm("giving up after bad response from $server",'');
213 print STDERR "$server: NOT 220 greeting: $_"
215 if (&mxlookup(0,$server,"$server: did not respond with a 220 greeting",*users)) {
222 $0 = "$av0 - bad response from $server";
223 print STDERR "$server: NOT 220 greeting: $_"
225 unless (&mxlookup(0,$server,"$server: did not respond with SMTP codes",*users)) {
226 &giveup('',"$server: did not talk SMTP");
231 &alarm("greeting with $server",'');
236 $0 = "$av0 - sending helo to $server";
237 &alarm("sending helo to $server","");
249 $0 = "$av0 - expanding $u [\@$server]";
252 $oldname = $names{"$u *** $server"};
254 print &compact($u,$server)." ->\n" if ($verbose && ! $valid);
270 # ($ecode,@expansion) = &expn_vrfy($u,$server);
271 (@foo) = &expn_vrfy($u,$server);
280 $0 = "$av0 - parsing $server: $s";
295 ($newhost, $newaddr, $newname) = &parse($addr,$server,$oldname, $#expansion == 0);
296 print "($newhost, $newaddr, $newname) = &parse($addr, $server, $oldname)\n" if $debug;
298 # no expansion is possible w/o a new server to call
301 push(@toFinal,$newaddr,$server,$newname);
303 &verbose(&final($newaddr,$server,$newname));
310 print "levels = $levels, level{$u *** $server} = ".$level{"$u *** $server"}."\n" if ($debug > 1);
311 # If the new server is the current one,
314 # followed to compare server names.
317 if (&trhost($newmxhost) eq &trhost($server) || ($levels && $level{"$u *** $server"} >= $levels)) {
328 push(@toExpn,$newmxhost,$newaddr,$newname,$level{"$u *** $server"});
330 &verbose(&expn($newmxhost,$newaddr,$newname,$level{"$u *** $server"}));
344 print STDERR "\@$server:$u ($oldname) USER UNKNOWN\n";
346 &verbose(&final($u,$server,$oldname,"USER UNKNOWN"));
354 print STDERR "\@$server:$u ($oldname) USER AMBIGUOUS\n";
356 &verbose(&final($u,$server,$oldname,"USER AMBIGUOUS"));
364 print STDERR "\@$server:$u ($oldname) REFUSED TO VRFY\n";
366 &verbose(&final($u,$server,$oldname,"REFUSED TO VRFY"));
371 &giveup('',"$server: did not grok '$s'",$u);
383 print &compact($u,$server)." ->\n" if $verbose;
391 print "Tossing some valid to avoid invalid ".&compact($u,$server)."\n" if ($avgValid > 0.0 && ($vw || $debug));
392 print &compact($u,$server)." ->\n" if $verbose;
393 &verbose(&final($u,$server,$newname));
398 &alarm("sending 'quit' to $server",'');
399 $0 = "$av0 - sending 'quit' to $server";
419 # abandon all attempts deliver to $server
428 $0 = "$av0 - giving up on $server: $reason";
436 unless ($giveup{$server}) {
437 $giveup{$server} = $reason;
450 next if &try_fallback('mx',$u,*server,
455 next if &try_fallback('domainify',$u,*server,
463 print &compact($u,$server)." ->\n" if ($verbose && $valid && $u);
464 &verbose(&final($u,$server,$names{"$u *** $server"},$reason));
595 local($u,$server) = @_;
600 if (($u =~ /(.+)@(.+)/) && (&trhost($2) eq &trhost($server))) {
607 &alarm("${c}'ing $try_u on $server",'',$u);
612 return "$server: lost connection";
615 return "$server: garbled reply to '$c $try_u'";
644 return "$server: expn/vrfy not implemented" unless @ret;
651 local($oldaddr,$server,$oldname,$one_to_one) = @_;
652 local($newhost, $newaddr, $newname, $um) = &parse2($oldaddr,$server,$oldname,$one_to_one);
661 # given a response from a SMTP server ($newaddr), the
662 # current host ($server), the old "name" and a flag that
740 # return $u (@$server) unless $u includes reference to $server
743 local($u, $server) = @_;
744 local($se) = $server;
747 $sp = " (\@$server)";
765 # using the host part of an address, and the server name, add the
791 # host server "right answer"
799 # the server and tack it onto the host.
801 # A reasonable second try is to tack the whole server part onto
906 # print to the server (also to stdout, if -w)
931 local($server,*users) = @_;
934 $nserver = &mx($server);
936 if (&trhost($nserver) ne &trhost($server)) {
937 $0 = "$av0 - mx redirect $server -> $nserver\n";
942 $mxbacktrace{"$u *** $nserver"} = $server;
943 print "mxbacktrace{$u *** $nserver} = $server\n"
945 &expn($nserver,$u,$names{"$u *** $server"});
990 # look up mx records with the name server.
995 local($lastchance,$server,$giveup,*users) = @_;
1004 return 1 if &mxredirect($server,*users);
1006 if ((defined $mx{$server}) || (! $have_nslookup)) {
1012 $0 = "$av0 - nslookup of $server";
1015 print T "$server\n";
1044 &giveup('domainify',"$server: Non-existent domain",undef,1);
1054 &giveup('mx domainify',"$server: Could not resolve address");
1060 $mx_secondary{$server} = $fallback{$cpref};
1072 print "MX($server) = $nserver\n" if $debug;
1073 print "$server -> $nserver\n" if $vw && !$debug;
1074 $mx{&trhost($server)} = $nserver;
1076 unless (&mxredirect($server,*users)) {