1package URI::ftp; 2 3require URI::_server; 4require URI::_userpass; 5@ISA=qw(URI::_server URI::_userpass); 6 7use strict; 8 9sub default_port { 21 } 10 11sub path { shift->path_query(@_) } # XXX 12 13sub _user { shift->SUPER::user(@_); } 14sub _password { shift->SUPER::password(@_); } 15 16sub user 17{ 18 my $self = shift; 19 my $user = $self->_user(@_); 20 $user = "anonymous" unless defined $user; 21 $user; 22} 23 24sub password 25{ 26 my $self = shift; 27 my $pass = $self->_password(@_); 28 unless (defined $pass) { 29 my $user = $self->user; 30 if ($user eq 'anonymous' || $user eq 'ftp') { 31 # anonymous ftp login password 32 # If there is no ftp anonymous password specified 33 # then we'll just use 'anonymous@' 34 # We don't try to send the read e-mail address because: 35 # - We want to remain anonymous 36 # - We want to stop SPAM 37 # - We don't want to let ftp sites to discriminate by the user, 38 # host, country or ftp client being used. 39 $pass = 'anonymous@'; 40 } 41 } 42 $pass; 43} 44 451; 46