table of contents
Net::Proxy::Connector::dual(3pm) | User Contributed Perl Documentation | Net::Proxy::Connector::dual(3pm) |
NAME¶
Net::Proxy::Connector::dual - Y-shaped Net::Proxy connector
DESCRIPTION¶
"Net::Proxy::Connecter::dual" is a "Net::Proxy::Connector" that can forward the connection to two distinct services, based on the client connection, before any data is exchanged.
CONNECTOR OPTIONS¶
This connector can only work as an "in" connector.
The "server_first" and "client_first" options are required: they are hashrefs containing the options necessary to create two "out" "Net::Proxy::Connector" objects that will be used to connect to the requested service.
The "Net::Proxy::Connector::dual" object decides between the two services by waiting during a short timeout. If the client sends some data directly, then it is connected via the "client_first" connector. Otherwise, at the end of the timeout, it is connected via the "server_first" connector.
- host
The hostname on which the connector will listen for client connections. Default is "localhost".
- port
The port on which the connector will listen for client connections.
- server_first
Typically an "out" connector to a SSH server or any service that sends a banner line.
- client_first
Typically an "out" connectrot to a web server or SSL server.
- timeout
The timeout in seconds (can be decimal) to make a decision. Default is 1 second.
AUTHOR¶
Philippe 'BooK' Bruhat, "<book@cpan.org>".
ACKNOWLEDGMENTS¶
This module is based on a script named sslh, which I wrote with Frederic Ple "<sslh@wattoo.org>" (who had the original insight about the fact that not all servers speak first on the wire).
Frederic wrote a C program, while I wrote a Perl script (based on my experience with connect-tunnel).
Now that "Net::Proxy" is available, I've ported the Perl script to use it.
COPYRIGHT¶
Copyright 2006 Philippe 'BooK' Bruhat, All Rights Reserved.
LICENSE¶
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
POD ERRORS¶
Hey! The above document had some coding errors, which are explained below:
- Around line 135:
- Non-ASCII character seen before =encoding in 'Frederic'. Assuming CP1252
2021-01-04 | perl v5.32.0 |