[ TOP | Recently ]

2009-05-21 NetBSD src/usr.sbin/inetd


この 変更

@@ -649,6 +649,7 @@
 	char buf[NI_MAXSERV];
 	struct servtab *s;
 #ifdef LIBWRAP
+	char abuf[BUFSIZ];
 	struct request_info req;
 	int denied;
 	char *service = NULL;	/* XXX gcc */
@@ -672,17 +673,19 @@
 				    ntohs(sep->se_ctrladdr_in.sin_port));
 			}
 			service = buf;
+			sockaddr_snprintf(abuf, sizeof(abuf), "%a",
+			    &sep->se_ctrladdr);
 		}
 		if (denied) {
 			syslog(deny_severity,
-			    "refused connection from %.500s, service %s (%s)",
-			    eval_client(&req), service, sep->se_proto);
+			    "refused connection from %.500s(%s), service %s (%s)",
+			    eval_client(&req), abuf, service, sep->se_proto);
 			goto reject;
 		}
 		if (lflag) {
 			syslog(allow_severity,
-			    "connection from %.500s, service %s (%s)",
-			    eval_client(&req), service, sep->se_proto);
+			    "connection from %.500s(%s), service %s (%s)",
+			    eval_client(&req), abuf, service, sep->se_proto);
 		}
 	}
 #endif /* LIBWRAP */

…の本来の意図は、↓のように

@@ -672,7 +672,7 @@
 			}
 			service = buf;
 			sockaddr_snprintf(abuf, sizeof(abuf), "%a",
-			    &sep->se_ctrladdr);
+			    req.client->sin);
 		}
 		if (denied) {
 			syslog(deny_severity,

こうしたかったのではなかろうか。

bindしてるアドレスを表示したいんじゃなくて、クライアントのアドレスを表示したいんだよなぁ。どう考えても。
どうPRすればいいんだろう? :-P 誰か(ry
追記:

ちゃんと元のPRまで追って見たらやっぱりその意図だった。http://mail-index.netbsd.org/netbsd-bugs/2009/01/07/msg008213.html というか何で誰も気(r
誰か(

追記(2):

がんばってメールした。


EOF