]> Pileus Git - ~andy/rhawk/commitdiff
socks
authorAndy Spencer <andy753421@gmail.com>
Wed, 25 Jan 2012 05:08:21 +0000 (05:08 +0000)
committerAndy Spencer <andy753421@gmail.com>
Wed, 25 Jan 2012 05:08:21 +0000 (05:08 +0000)
irc.awk
rhawk

diff --git a/irc.awk b/irc.awk
index 84b88f458c7dba90ca121fd9769acbae656bb8a0..dd090f73be7052aa4159fd318e1abdefb2ef47b9 100644 (file)
--- a/irc.awk
+++ b/irc.awk
 
 # Debugging
 function send(msg) {
-       print "  > " msg > "/dev/stderr"
        print msg
-       system("sleep 1")
        fflush()
 }
 
-// {
-       #print ""         > "/dev/stderr"
-       print "  < " $0  > "/dev/stderr"
-}
-
 function debug(msg) {
        print "  # " msg > "/dev/stderr"
        fflush()
@@ -45,21 +38,58 @@ function set() {
        debug("MSG:  " MSG)
 }
 
-# Functions
-function connect(server, nick, channel) {
+# Reloading
+function setup() {
+       "whoami"   | getline _name
+       "hostname" | getline _host
+       send("USER " _name " " _host " " server " :" nick)
+       send("NICK " nick)
+}
+
+function connect(server, port, nick, channel) {
        SERVER  = server
+       PORT    = port
        NICK    = nick
        CHANNEL = channel
-       if (FIRST) {
-               "whoami"   | getline _name
-               "hostname" | getline _host
-               send("USER " _name " " _host " " server " :" nick)
-               send("NICK " nick)
+
+       if (CHILD == "") {
+               child  = "awk -f rhawk -v CHILD=1 -v FIRST=1"
+               socket = "/inet/tcp/0/" SERVER "/" PORT
+
+               debug("Starting server");
+
+               status = system();
+               while (status)
+                       status = system("awk -f rhawk -v CHILD=1");
+
+               #print "  > " msg > "/dev/stderr"
+               print msg
+               #print ""         > "/dev/stderr"
+               #print "  < " $0  > "/dev/stderr"
+               fflush()
+
+               exit(0);
+       } else {
+               if (first)
+                       setup()
+               debug("Starting child: CHILD=" CHILD " FIRST=" FIRST);
        }
+
+}
+
+function quit() {
+       exit(0)
+}
+
+function reload() {
+       exit(1)
 }
+
+# Functions
 function privmsg(to, msg) {
        send("PRIVMSG " to " :" msg)
 }
+
 function say(msg) {
        if (DST ~ "^#")
                privmsg(DST, msg)
@@ -86,27 +116,6 @@ function topic(chan, msg) {
        send("TOPIC " chan " :" msg)
 }
 
-# Reloading
-BEGIN {
-       if (CHILD == "") {
-               debug("Starting server");
-               status = system("awk -f rhawk -v CHILD=1 -v FIRST=1");
-               while (status)
-                       status = system("awk -f rhawk -v CHILD=1");
-               exit(0);
-       } else {
-               debug("Starting child: CHILD=" CHILD " FIRST=" FIRST);
-       }
-}
-
-function quit() {
-       exit(0)
-}
-
-function reload() {
-       exit(1)
-}
-
 # Input parsing
 // {
        match($0, /(:([^ ]+) +)?(([A-Z0-9]+) +)(([^ ]+) +)?(([^: ]+) +)?(:(.*))/, arr);
diff --git a/rhawk b/rhawk
index 8dedf6a0f7cf9d5f9d3153c54dbae5cdaa8af427..58ac6629e8971e5844ee6f2f669311f1cc975494 100755 (executable)
--- a/rhawk
+++ b/rhawk
@@ -6,7 +6,7 @@
 # Initialization
 BEGIN {
        OWNER = "andy753421"
-       connect("localhost", "rhawk", "#rhtest");
+       connect("localhost", 12345, "rhawk", "#rhtest");
 }
 
 # Admin