diff --git a/src/sbbs3/main.cpp b/src/sbbs3/main.cpp index 991300a60722d02b555475f214a22541012b37bd..73e697a6eb66f91b61f0241c814b096004b2a451 100644 --- a/src/sbbs3/main.cpp +++ b/src/sbbs3/main.cpp @@ -40,6 +40,7 @@ #endif #include "sbbs.h" +#include "ident.h" #include "telnet.h" #include "bbs_thrd.h" @@ -2902,7 +2903,8 @@ static void cleanup(int code) void DLLCALL bbs_thread(void* arg) { char * host_name; - char str[MAX_PATH]; + char * identity; + char str[MAX_PATH+1]; char logstr[256]; SOCKADDR_IN server_addr={0}; SOCKADDR_IN client_addr; @@ -3432,6 +3434,7 @@ void DLLCALL bbs_thread(void* arg) sbbs->bprintf("Resolving host name..."); h=gethostbyaddr((char *)&client_addr.sin_addr ,sizeof(client_addr.sin_addr),AF_INET); + sbbs->putcom(crlf); } if(h!=NULL && h->h_name!=NULL) host_name=h->h_name; @@ -3448,6 +3451,15 @@ void DLLCALL bbs_thread(void* arg) continue; } + sbbs->bprintf("Resolving identity..."); + identify(&client_addr, 23, str, sizeof(str)-1); + identity=strrchr(str,':'); + if(identity==NULL) /* error */ + identity=str; + else + identity++; /* point to user name */ + lprintf("%04d Identity: %s",client_socket, identity); + /* Initialize client display */ client.size=sizeof(client); client.time=time(NULL);