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) {

Reply via email to