start page | rating of books | rating of authors | reviews | copyrights

Book HomeJava and XSLTSearch this book

8.152. Net::Config

Holds configuration data for the modules in the libnet distribution. Net::Config builds this configuration interactively at install time of libnet, and the Net::Config file is further queried when you use modules such as Net::FTP. This module is part of the core Perl distribution starting with Perl 5.8.

Net::Config stores the following values (which can be undef): nntp_hosts, snpp_hosts, pop3_hosts, smtp_hosts, ph_hosts, daytime_hosts, and time_hosts. Each is a reference to an array of hostnames (in order of preference), which should be used for the given protocol. You can override any of the Net::Config values when you use any of the modules that live under the libnet umbrella. In addition, you can maintain your own .libnetrc to hold your custom values all the time. A sample .libnetrc follows:

$ cat .libnetrc
# .libnetrc
{
    nntp_hosts => [ "news.my.host", "news.their.host" ]
}
_  _END_  _

In addition to the options listed previously, the following options can be specified:

inet_domain
Your Internet domain name.

ftp_firewall
If you have an FTP proxy firewall (not an HTTP or SOCKS firewall), then this value should be set to the firewall hostname. If your firewall does not listen on port 21, then this value should be set to hostname:port (e.g., hostname:99).

ftp_firewall_type
An integer from 1 to 7 signifying the sequence of commands that Net::FTP will use to traverse a firewall, as follows:

*
There is no firewall (default).

1
USER [email protected]
PASS password
2
USER firewall_username
PASS firewall_password
USER [email protected]
PASS pass
3
USER firewall_username
PASS firewall_password
SITE remote.site
USER user
PASS pass
4
USER firewall_username
PASS firewall_password
OPEN remote.site
USER user
PASS pass
5
USER user@[email protected]
PASS pass@firewall_password
6
USER [email protected]
PASS firewall_password
USER user
PASS pass
7
USER [email protected]
PASS pass
AUTH firewall_username
RESP firewall_password
ftp_ext_passive
ftp_int_passive
FTP servers normally work in a nonpassive mode: when you want to transfer data, you have to tell the server the address and port to connect to. This becomes a problem because some servers cannot connect to your machine through the second port because it's being used by the FTP connection. In this case, set ftp_ext_passive to true.

If your server is configured to only work in passive mode, you can force Net::FTP to always transfer in passive mode when not going via a firewall by setting ftp_int_passive to true.

local_netmask
A reference to a list of netmask strings. To be used by the requires_firewall function to determine if a given host is inside or outside your firewall.

The following method is supported by Net::Config.

requires_firewall

requires_firewall(host)

Determines if host is outside of your firewall. Possible return values are:

-1
Cannot look up hostname

0
Host is inside firewall (or there is no FTP_firewall entry)

1
Host is outside the firewall



Library Navigation Links

Copyright © 2002 O'Reilly & Associates. All rights reserved.