summaryrefslogtreecommitdiff
path: root/list-servers
diff options
context:
space:
mode:
authorPeter Palfrader <peter@palfrader.org>2006-05-21 17:07:38 +0000
committerweasel <weasel@bc3d92e2-beff-0310-a7cd-cc87d7ac0ede>2006-05-21 17:07:38 +0000
commit204a49f5c1b3ca1798f5c4dcd7170750d72748f6 (patch)
tree63da9ae65aa389a24cfd2a3d5d8114b8b1a6d83f /list-servers
parenteae22806b520d99ae5390271f60fcc38bb479ad4 (diff)
Add list-servers
git-svn-id: svn+ssh://asteria.noreply.org/svn/weaselutils/trunk@103 bc3d92e2-beff-0310-a7cd-cc87d7ac0ede
Diffstat (limited to 'list-servers')
-rwxr-xr-xlist-servers34
1 files changed, 34 insertions, 0 deletions
diff --git a/list-servers b/list-servers
new file mode 100755
index 0000000..9cec17b
--- /dev/null
+++ b/list-servers
@@ -0,0 +1,34 @@
+#!/usr/bin/perl -w
+
+use strict;
+my $in_connect = 0;
+my $ipv6;
+my $host;
+my $name;
+while (<>) {
+ if (/^connect /) {
+ $in_connect = 1;
+ $name = undef;
+ $host = undef;
+ $ipv6 = undef;
+ } elsif (/^\};/) {
+ $in_connect = 0;
+ if (defined $name && defined $host) {
+ print "$name $host\n";
+ print "$name"."6 $ipv6\n" if defined $ipv6;
+ $name = undef;
+ $host = undef;
+ $ipv6 = undef;
+ }
+ } elsif ($in_connect) {
+ if (/^\s*name\s*=\s*"(\S+)\.oftc.net";\s*$/) {
+ $name = $1;
+ } elsif (/^\s*host\s*=\s*"(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})";\s*$/) {
+ $host = $1;
+ } elsif (/^\s*#\s*ipv6\s*address:\s*([0-9a-f:]+)/) {
+ $ipv6 = $1;
+ };
+ };
+};
+
+