--- inn-1.7.2.orig/lib/getconfig.c
+++ inn-1.7.2/lib/getconfig.c
@@ -77,5 +77,18 @@
 	return "text/plain; charset=US-ASCII";
     if (EQ(value, _CONF_ENCODING))
 	return "7bit";
+    if (EQ(value, _CONF_PORT)) {
+	sprintf(ConfigBuff, "%d", NNTP_PORT);
+	return ConfigBuff;
+    }
+    if (EQ(value, _CONF_BINDADDRESS)) {
+	sprintf(ConfigBuff, "0.0.0.0");
+	return ConfigBuff;
+    }
+    if (EQ(value, _CONF_USEACTIVED))
+	return "no";
+    if (EQ(value, _CONF_USECONTROLCHAN))
+	return "no";
+
     return NULL;
 }
--- inn-1.7.2.orig/innd/inndstart.c
+++ inn-1.7.2/innd/inndstart.c
@@ -100,9 +100,9 @@
 	syslog(L_ERROR, "inndstart cant setsockopt %m");
 #endif	/* defined(SO_REUSEADDR) */
     (void)memset((POINTER)&server, 0, sizeof server);
-    server.sin_port = htons(NNTP_PORT);
+    server.sin_port = htons(atoi(GetConfigValue(_CONF_PORT)));
     server.sin_family = AF_INET;
-    server.sin_addr.s_addr = htonl(INADDR_ANY);
+    server.sin_addr.s_addr = inet_addr(GetConfigValue(_CONF_BINDADDRESS));
     if (bind(i, (struct sockaddr *)&server, sizeof server) < 0) {
 	syslog(L_FATAL, "inndstart cant bind %m");
 	exit(1);
--- inn-1.7.2.orig/innd/rc.c
+++ inn-1.7.2/innd/rc.c
@@ -646,9 +846,9 @@
 	    syslog(L_ERROR, "%s cant setsockopt RCreader %m", LogName);
 #endif	/* defined(SO_REUSEADDR) */
 	(void)memset((POINTER)&server, 0, sizeof server);
-	server.sin_port = htons(NNTP_PORT);
+	server.sin_port = htons(atoi(GetConfigValue(_CONF_PORT)));
 	server.sin_family = AF_INET;
-	server.sin_addr.s_addr = htonl(INADDR_ANY);
+	server.sin_addr.s_addr = inet_addr(GetConfigValue(_CONF_BINDADDRESS));
 	if (bind(i, (struct sockaddr *)&server, sizeof server) < 0) {
 	    syslog(L_FATAL, "%s cant bind RCreader %m", LogName);
 	    exit(1);
