Changeset: 670d7d0c5057 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/670d7d0c5057 Modified Files: monetdb5/mal/mal_session.c monetdb5/modules/mal/mal_mapi.c Branch: clientinfo Log Message:
Include portnr in 'peer', and do not copy it to client_hostname diffs (63 lines): diff --git a/monetdb5/mal/mal_session.c b/monetdb5/mal/mal_session.c --- a/monetdb5/mal/mal_session.c +++ b/monetdb5/mal/mal_session.c @@ -341,10 +341,8 @@ MSscheduleClient(str command, str peer, // at this point username should have being verified c->username = GDKstrdup(user); - if (peer) { + if (peer) c->peer = GDKstrdup(peer); - c->client_hostname = GDKstrdup(peer); - } /* NOTE ABOUT STARTING NEW THREADS * At this point we have conducted experiments (Jun 2012) with diff --git a/monetdb5/modules/mal/mal_mapi.c b/monetdb5/modules/mal/mal_mapi.c --- a/monetdb5/modules/mal/mal_mapi.c +++ b/monetdb5/modules/mal/mal_mapi.c @@ -172,7 +172,8 @@ doChallenge(void *data) { struct challengedata *chdata = data; char *buf = GDKmalloc(BLOCK + 1); - char peer[120] = { 0 }; + char peerbuf[120] = { '[', 0 }; + char *peer; char challenge[13]; stream *fdin = chdata->in; @@ -182,11 +183,30 @@ doChallenge(void *data) protocol_version protocol = PROTOCOL_9; size_t buflen = BLOCK; - if (chdata->peer.ss_family != AF_UNSPEC) { - getnameinfo( + if (chdata->peer.ss_family == AF_UNSPEC) { + peer = NULL; +#ifdef AF_UNIX + } else if (chdata->peer.ss_family == AF_UNIX) { + peer = "<UNIX SOCKET>"; +#endif + } else { + char *peer_end = peerbuf + sizeof(peerbuf); + char *p = &peerbuf[1]; + char service[20]; + if (0 == getnameinfo( (struct sockaddr*)&chdata->peer, chdata->peerlen, - peer, sizeof(peer), NULL, 0, - NI_NUMERICSERV | NI_NUMERICHOST); + p, peer_end - p - 10, + service, sizeof(service), + NI_NUMERICSERV | NI_NUMERICHOST) + ) { + p += strlen(p); + *p++ = ']'; + *p++ = ':'; + strncpy(p, service, peer_end - p); + peer = peerbuf; + } else { + peer = NULL; + } } MT_thread_setworking("challenging client"); _______________________________________________ checkin-list mailing list -- checkin-list@monetdb.org To unsubscribe send an email to checkin-list-le...@monetdb.org