--- lib/inndcomm.c	Fri May  9 08:25:27 2003
+++ lib/inndcomm.c	Tue Jul 22 09:42:36 2003
@@ -53,7 +53,7 @@
 **  Get ready to talk to the server.
 */
 int
-ICCopen(void)
+ICCopen(char *sockpath)
 {
     int mask, oerrno, fd;
 
@@ -110,10 +110,13 @@
     /* Name the server's socket. */
     memset(&ICCserv, 0, sizeof ICCserv);
     ICCserv.sun_family = AF_UNIX;
-    strlcpy(ICCserv.sun_path, innconf->pathrun, sizeof(ICCserv.sun_path));
-    strlcat(ICCserv.sun_path, "/", sizeof(ICCserv.sun_path));
-    strlcat(ICCserv.sun_path, _PATH_NEWSCONTROL, sizeof(ICCserv.sun_path));
-
+    if  (sockpath == NULL) {
+        strlcpy(ICCserv.sun_path, innconf->pathrun, sizeof(ICCserv.sun_path));
+        strlcat(ICCserv.sun_path, "/", sizeof(ICCserv.sun_path));
+        strlcat(ICCserv.sun_path, _PATH_NEWSCONTROL, sizeof(ICCserv.sun_path));
+    } else {
+       (void)strlcpy(ICCserv.sun_path, sockpath, sizeof(ICCserv.sun_path));
+    }
 #else /* !HAVE_UNIX_DOMAIN_SOCKETS */
 
     /* Make a named pipe and open it. */