Host option, as contributed by wking.
authorEric S. Raymond <esr@thyrsus.com>
Sun, 1 Jun 2014 01:28:43 +0000 (21:28 -0400)
committerEric S. Raymond <esr@thyrsus.com>
Sun, 1 Jun 2014 01:28:43 +0000 (21:28 -0400)
NEWS
irkerd
irkerd.xml

diff --git a/NEWS b/NEWS
index 472573d60f0d283fc5abc87bc782be8ed2a8159e..580b36214b5555567de6180cf34991a8eda8d9f9 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -2,6 +2,7 @@
 
 Repository head:
   If irkerd is running in background, log to /dev/syslog (facility daemon).
+  New -H option tyo set host listening address.
 
 2.8: 2014-05-30
   Various minor improvements to irk.
diff --git a/irkerd b/irkerd
index b47ff01435864f23bb21c72731d2188caa08e841..72c01f5e5cd540ccf9e0561d3fe056f15fc20e52 100755 (executable)
--- a/irkerd
+++ b/irkerd
@@ -954,6 +954,9 @@ if __name__ == '__main__':
     parser.add_argument(
         '-d', '--log-level', metavar='LEVEL', choices=LOG_LEVELS,
         help='how much to log to the log file (one of %(choices)s)')
+    parser.add_argument(
+        '-H', '--host', metavar='ADDRESS', default=HOST,
+        help='IP address to listen on')
     parser.add_argument(
         '-l', '--log-file', metavar='PATH',
         help='file for saving captured message traffic')
@@ -1014,8 +1017,8 @@ if __name__ == '__main__':
             raise SystemExit(1)
         irker.thread_launch()
         try:
-            tcpserver = socketserver.TCPServer((HOST, PORT), IrkerTCPHandler)
-            udpserver = socketserver.UDPServer((HOST, PORT), IrkerUDPHandler)
+            tcpserver = socketserver.TCPServer((args.host, PORT), IrkerTCPHandler)
+            udpserver = socketserver.UDPServer((args.host, PORT), IrkerUDPHandler)
             for server in [tcpserver, udpserver]:
                 server = threading.Thread(target=server.serve_forever)
                 server.setDaemon(True)
index f0676c5e922f32807d395da10d1a7b7f821c7aa0..fe60c876830f3d0084c450d02bc88bfb217e0b51 100644 (file)
@@ -22,6 +22,7 @@
      <arg>-d <replaceable>debuglevel</replaceable></arg>
      <arg>-e <replaceable>cert-file</replaceable></arg>
      <arg>-l <replaceable>logfile</replaceable></arg>
+     <arg>-H <replaceable>host</replaceable></arg>
      <arg>-n <replaceable>nick</replaceable></arg>
      <arg>-p <replaceable>password</replaceable></arg>
      <arg>-i <replaceable>IRC-URL</replaceable></arg>
@@ -148,9 +149,10 @@ over SSL for this to function properly.  This is commonly known as
 <varlistentry>
 <term>-e</term>
 <listitem><para>Takes a following filename in pem format and uses it
-to authenticate to the IRC server.  You must be connecting to the IRC server
-over SSL for this to function properly.  This is commonly known as <quote>CertFP.</quote>
-</para></listitem>
+to authenticate to the IRC server.  You must be connecting to the IRC
+server over SSL for this to function properly.  This is commonly known
+as <quote>CertFP.</quote></para>
+</listitem>
 </varlistentry>
 <varlistentry>
 <term>-l</term>
@@ -160,6 +162,15 @@ timestamp in Unix time, the FQDN of the sending server, and the
 message data.</para></listitem>
 </varlistentry>
 <varlistentry>
+<term>-H</term>
+<listitem><para>Takes a following hostname, and binds to that address
+when listening for messages.  <application>irkerd</application> binds
+to localhost by default, but you may want to use your host's public
+address to listen on a local network.  Listening on a public interface
+is not recommended, as it makes spamming IRC channels very
+easy.</para></listitem>
+</varlistentry>
+<varlistentry>
 <term>-n</term>
 <listitem><para>Takes a following value, setting the nick
 to be used. If the nick contains a numeric format element