From 4812a5968bfb269c3f84cedc71281768e2c5bcbb Mon Sep 17 00:00:00 2001 From: Jan Vidar Krey Date: Thu, 28 May 2009 01:33:23 +0200 Subject: [PATCH] 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. --- tools/adc-redirector | 48 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100755 tools/adc-redirector diff --git a/tools/adc-redirector b/tools/adc-redirector new file mode 100755 index 0000000..f5b0781 --- /dev/null +++ b/tools/adc-redirector @@ -0,0 +1,48 @@ +#!/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 = ) +{ + 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; +