Seen in my log file:
Nov 28 17:47:22 dramaqueen iked: vfprintf %s NULL in "%s: %s %s from %s to
%s ms gid %u, %ld bytes%s"
and
Nov 29 01:02:39 dramaqueen iked[49967]: ikev2_msg_send: IKE_SA_INIT
request from (null) to 62.48.30.5:500 msgid 0, 438 bytes
The problem seems to be in print_host so try to not return NULL in there.
Maybe we could return something else but this is a start IMO.
--
:wq Claudio
Index: util.c
===================================================================
RCS file: /cvs/src/sbin/iked/util.c,v
retrieving revision 1.33
diff -u -p -r1.33 util.c
--- util.c 9 Jan 2017 14:49:21 -0000 1.33
+++ util.c 29 Nov 2017 00:52:02 -0000
@@ -639,6 +639,7 @@ print_host(struct sockaddr *sa, char *bu
static int idx = 0;
char pbuf[7];
in_port_t port;
+ int rc;
if (buf == NULL) {
buf = sbuf[idx];
@@ -652,10 +653,10 @@ print_host(struct sockaddr *sa, char *bu
return (buf);
}
- if (getnameinfo(sa, sa->sa_len,
- buf, len, NULL, 0, NI_NUMERICHOST) != 0) {
- buf[0] = '\0';
- return (NULL);
+ if ((rc = getnameinfo(sa, sa->sa_len,
+ buf, len, NULL, 0, NI_NUMERICHOST)) != 0) {
+ snprintf(buf, len, "error %s", gai_strerror(rc));
+ return (buf);
}
if ((port = socket_getport(sa)) != 0) {