uhub/tools/adc-redirector
Jan Vidar Krey 4812a5968b Added an ADC redirector script, which is useful to run from inetd, xinetd
or similar in case you move your hub to another machine.
It will accept ADC connections and redirect clients to the new hub
instead.
2009-05-28 01:33:23 +02:00

49 lines
887 B
Perl
Executable File

#!/usr/bin/perl -w
# Setup using inetd/xinetd or similar.
# In /etc/inetd.conf add:
# 1511 stream tcp nowait nobody /usr/bin/adc-redirector adc://target:port
#
# Change port to whatever you want.
# Make sure the path and the target:port is correct, then you should be good
# to go!
use strict;
use IO::Handle;
autoflush STDIN;
autoflush STDOUT;
my $target = $ARGV[0];
eval
{
local %SIG;
$SIG{ALRM}= sub { exit 0; };
alarm 30;
};
while (my $line = <STDIN>)
{
chomp($line);
if ($line =~ /^HSUP /)
{
print "ISUP ADBASE ADPING ADTIGR\n";
print "ISID AAAX\n";
print "IINF CT32 NIRedirector VEadc-redirector/0.1\n";
next;
}
if ($line =~ /^BINF /)
{
print "$line\n";
print "IMSG This\\sserver\\shas\\smoved\\sto:\\s" . $target . "\n";
print "IMSG You\\sare\\sbeing\\sredirected...\n";
print "IQUI AAAX RD" . $target . "\n";
alarm 5;
}
}
alarm 0;