AcessKernel - cleaning up debug messages
[tpg/acess2.git] / AcessNative / acesskernel_src / server.c
index 1c03d30..0930fd5 100644 (file)
@@ -9,16 +9,21 @@
 #include <string.h>
 #include <SDL/SDL.h>
 #ifdef __WIN32__
+# define _WIN32_WINNT 0x0501
 # include <windows.h>
-# include <winsock.h>
+# include <winsock2.h>
+# include <ws2tcpip.h>
+# define close(fd)     closesocket(fd)
+typedef int    socklen_t;
 #else
 # include <unistd.h>
 # include <sys/socket.h>
 # include <netinet/in.h>
-# include <arpa/inet.h>        // inet_ntop
+# include <netdb.h>    // getaddrinfo
 #endif
+#define DONT_INCLUDE_SYSCALL_NAMES
 #include "../syscalls.h"
-//#include <debug.h>
+#include <logdebug.h>  // acess but std
 #include <errno.h>
 
 #define        USE_TCP 1
@@ -42,10 +47,8 @@ typedef struct {
 extern tRequestHeader *SyscallRecieve(tRequestHeader *Request, int *ReturnLength);
 extern int     Threads_CreateRootProcess(void);
 extern void    Threads_SetThread(int TID);
-// HACK: Should have these in a header
-extern void    Log_Debug(const char *Subsys, const char *Message, ...);
-extern void    Log_Notice(const char *Subsys, const char *Message, ...);
-extern void    Log_Warning(const char *Subsys, const char *Message, ...);
+extern void    *Threads_GetThread(int TID);
+extern void    Threads_PostEvent(void *Thread, uint32_t Event);
 
 // === PROTOTYPES ===
 tClient        *Server_GetClient(int ClientID);
@@ -133,7 +136,6 @@ int Server_WorkerThread(void *ClientPtr)
        Log_Debug("Server", "Worker %p", ClientPtr);    
 
        #if USE_TCP
-
        while( *((volatile typeof(Client->Socket)*)&Client->Socket) == 0 )
                ;
        Threads_SetThread( Client->ClientID );
@@ -150,15 +152,15 @@ int Server_WorkerThread(void *ClientPtr)
                        perror("select");
                        continue ;
                }
-               Log_Debug("Server", "%p: rv=%i", Client, rv);           
+//             Log_Debug("Server", "%p: rv=%i", Client, rv);           
 
                if( FD_ISSET(Client->Socket, &fds) )
                {
                        const int       ciMaxParamCount = 6;
                        char    lbuf[sizeof(tRequestHeader) + ciMaxParamCount*sizeof(tRequestValue)];
                        tRequestHeader  *hdr = (void*)lbuf;
-                       size_t  len = recv(Client->Socket, hdr, sizeof(*hdr), 0);
-                       Log_Debug("Server", "%i bytes of header", len);
+                       size_t  len = recv(Client->Socket, (void*)hdr, sizeof(*hdr), 0);
+//                     Log_Debug("Server", "%i bytes of header", len);
                        if( len == 0 )  break;
                        if( len == -1 ) {
                                perror("recv header");
@@ -181,8 +183,8 @@ int Server_WorkerThread(void *ClientPtr)
 
                        if( hdr->NParams > 0 )
                        {
-                               len = recv(Client->Socket, hdr->Params, hdr->NParams*sizeof(tRequestValue), 0);
-                               Log_Debug("Server", "%i bytes of params", len);
+                               len = recv(Client->Socket, (void*)hdr->Params, hdr->NParams*sizeof(tRequestValue), 0);
+//                             Log_Debug("Server", "%i bytes of params", len);
                                if( len != hdr->NParams*sizeof(tRequestValue) ) {
                                        // Oops.
                                        perror("recv params");
@@ -192,7 +194,7 @@ int Server_WorkerThread(void *ClientPtr)
                        }
                        else
                        {
-                               Log_Debug("Server", "No params?");
+//                             Log_Debug("Server", "No params?");
                        }
 
                        // Get buffer size
@@ -218,7 +220,7 @@ int Server_WorkerThread(void *ClientPtr)
                                while( rem )
                                {
                                        len = recv(Client->Socket, ptr, rem, 0);
-                                       Log_Debug("Server", "%i bytes of data", len);
+//                                     Log_Debug("Server", "%i bytes of data", len);
                                        if( len == -1 ) {
                                                // Oops?
                                                perror("recv data");
@@ -232,8 +234,8 @@ int Server_WorkerThread(void *ClientPtr)
                                        break;
                                }
                        }
-                       else
-                               Log_Debug("Server", "no data");
+//                     else
+//                             Log_Debug("Server", "no data");
 
                         int    retlen;
                        tRequestHeader  *retHeader;
@@ -244,7 +246,7 @@ int Server_WorkerThread(void *ClientPtr)
                                continue ;
                        }
                        
-                       send(Client->Socket, retHeader, retlen, 0); 
+                       send(Client->Socket, (void*)retHeader, retlen, 0); 
 
                        // Clean up
                        free(hdr);
@@ -415,13 +417,14 @@ int Server_ListenThread(void *Unused)
                }
 
                char    addrstr[4*8+8+1];
-               inet_ntop(clientaddr.sin_family, &clientaddr.sin_addr, addrstr, sizeof(addrstr));
+               getnameinfo((struct sockaddr*)&clientaddr, sizeof(clientaddr),
+                       addrstr, sizeof(addrstr), NULL, 0, NI_NUMERICHOST);
                Log_Debug("Server", "Client connection %s:%i", addrstr, ntohs(clientaddr.sin_port));
                
                // Perform auth
                size_t  len;
                tRequestAuthHdr authhdr;
-               len = recv(clientSock, &authhdr, sizeof(authhdr), 0);
+               len = recv(clientSock, (void*)&authhdr, sizeof(authhdr), 0);
                if( len != sizeof(authhdr) ) {
                        // Some form of error?
                        Log_Warning("Server", "Client auth block bad size (%i != exp %i)",
@@ -461,7 +464,7 @@ int Server_ListenThread(void *Unused)
                }
                Log_Debug("Server", "Client given PID %i - info %p", authhdr.pid, client);
                
-               len = send(clientSock, &authhdr, sizeof(authhdr), 0);
+               len = send(clientSock, (void*)&authhdr, sizeof(authhdr), 0);
                if( len != sizeof(authhdr) ) {
                        // Ok, this is an error
                        perror("Sending auth reply");

UCC git Repository :: git.ucc.asn.au