}
}
-sub mux_input {
- my $mself = shift;
- my $mux = shift;
- my $mux_fh = shift;
- my $str_ref = shift;
+sub mux_connection {
+ my ($mself, $fh) = @_;
my ($peeraddr, $peerport) = (
$mself->{net_server}->{server}->{peeraddr},
$mself->{net_server}->{server}->{peerport}
);
- my $conn_id = $mself->{conn_id};
- if (!$conn_id) {
- $mself->{conn_id} = $conn_id = "$peeraddr:$peerport\@" . time();
- syslog('LOG_DEBUG', "Created new connection: $conn_id");
- } else {
- syslog('LOG_DEBUG', "Inbound msg on existing connection: $conn_id");
- }
+ # create a new connection ID for this MUX handler.
+ $mself->{conn_id} = "$peeraddr:$peerport\@" . time();
+ syslog('LOG_DEBUG', "New connection created: ".$mself->{conn_id});
+}
+
+sub mux_input {
+ my $mself = shift;
+ my $mux = shift;
+ my $mux_fh = shift;
+ my $str_ref = shift;
+
+ my $conn_id = $mself->{conn_id}; # see mux_connection
# and process any pending logins
check_pending_connections();
$port = $self->{server}->{sockport};
$proto = $self->{server}->{client}->NS_proto();
- syslog('LOG_INFO', "Inbound connection from $peeraddr to $sockaddr on port $port and proto $proto");
+ syslog('LOG_INFO', "New client $conn_id connecting to $sockaddr on port $port and proto $proto");
$self->{service} = $config->find_service( $sockaddr, $port, $proto );