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 -- [email protected]
To unsubscribe send an email to [email protected]