/* ================== LOG_Authenticate Try to see if the logserver is alive and willing to chat. ================== */ void LOG_Authenticate( void ) { char string[MAX_MSGLEN]; unsigned short i; unsigned int len; #define MIN(X, Y) ((X) < (Y) ? (X) : (Y)) if (logserver_password->string[0] && logserver_user->string[0]) { len = MIN(MAX_MSGLEN, strlen(logserver_user->string)); *((char*)memcpy(string, logserver_user->string, len)+len) = '\0'; len = MIN(MAX_MSGLEN-len, strlen(logserver_password->string)); *((char*)memcpy(string+strlen(string), logserver_password->string, len)+len) ='\0'; Com_Printf("Trying to authenticate with the logserver... Token: %s\n", string); // TODO do a serious authentication thingy. for(i=0; i<10; i++) { Sys_SendPacket(strlen(string), string, svs.logserverAddress); Com_Printf("Attempt #%u...\n",i); } // TODO the server should answer, and we should save the user into // the serverStatic_t structure: svs_logServerUser. } else { Com_Printf("The logserver user/password haven't been set!\n"); } }
qboolean NET_SendPacket( netsrc_t sock, int length, const void *data, netadr_t *to ) { qboolean returnNow = qfalse; PHandler_Event(PLUGINS_ONUDPNETSEND, to, data, length, &returnNow); if(returnNow){ return qtrue; } // sequenced packets are shown in netchan, so just show oob if ( showpackets->boolean && *(int *)data == -1 ) { Com_Printf ("send packet %4i\n", length); } if ( to->type == NA_LOOPBACK ) { NET_SendLoopPacket (sock, length, data, *to); return qtrue; } if ( to->type == NA_BOT ) { return qfalse; //??????????????????????????????????????????????????? } if ( to->type == NA_BAD ) { return qfalse; } return Sys_SendPacket( length, data, to ); }
void Capture() { //TODO: follow console filtering rules if(addresses.size()){ for(i = 0; i < addresses.size(); i++){ const char* toSend = va("%i %s", channel, msg); Sys_SendPacket(strlen(toSend), toSend, addresses[i]); } } if (rd_buffer) { if ( ( strlen( msg ) + strlen( rd_buffer ) ) > ( rd_buffersize - 1 ) ) { rd_flush( rd_buffer ); *rd_buffer = 0; } strncat( rd_buffer, msg, rd_buffersize ); } }
P_P_F qboolean Plugin_UdpSendData(netadr_t* to, void* data, int len) { int pID; if(to == NULL){ pID = PHandler_CallerID(); Com_PrintError("Plugin_UdpSendData: First argument can not be a NULL-Pointer for plugin ID: #%d\n", pID); return qfalse; } if(data == NULL){ pID = PHandler_CallerID(); Com_PrintError("Plugin_UdpSendData: First argument can not be a NULL-Pointer for plugin ID: #%d\n", pID); return qfalse; } return Sys_SendPacket( len, data, to); }
void NET_FlushPacketQueue( void ) { packetQueue_t* last; int now; while ( packetQueue ) { now = Sys_Milliseconds(); if ( packetQueue->release >= now ) break; Sys_SendPacket( packetQueue->length, packetQueue->data, packetQueue->to ); last = packetQueue; packetQueue = packetQueue->next; free( last->data ); free( last ); } }
void NET_SendPacket( netsrc_t sock, int length, const void *data, netadr_t to ) { // sequenced packets are shown in netchan, so just show oob if ( showpackets->integer && *(int *)data == -1 ) { Com_Printf ("send packet %4i\n", length); } if ( to.type == NA_LOOPBACK ) { NET_SendLoopPacket (sock, length, data, to); return; } if ( to.type == NA_BOT ) { return; } if ( to.type == NA_BAD ) { return; } Sys_SendPacket( length, data, to ); }
void NET_SendPacket( netsrc_t sock, int length, const void *data, netadr_t to ) { // sequenced packets are shown in netchan, so just show oob if ( showpackets->integer && * ( int * ) data == -1 ) { Com_Printf( "send packet %4i\n", length ); } if ( to.type == NA_LOOPBACK ) { NET_SendLoopPacket( sock, length, data ); return; } if ( to.type == NA_BOT ) { return; } if ( to.type == NA_BAD ) { return; } #ifndef BUILD_SERVER if ( sock == NS_CLIENT && cl_packetdelay->integer > 0 ) { NET_QueuePacket( length, data, to, cl_packetdelay->integer ); } else #endif if ( sock == NS_SERVER && sv_packetdelay->integer > 0 ) { NET_QueuePacket( length, data, to, sv_packetdelay->integer ); } else { Sys_SendPacket( length, data, to ); } }