tServer now communicates with metaserver via. POST requests - vaccinewars - be a doctor and try to vaccinate the world (HTM) git clone git://src.adamsgaard.dk/vaccinewars (DIR) Log (DIR) Files (DIR) Refs (DIR) README (DIR) LICENSE --- (DIR) commit 1a70d1d77487fc5ef5e79af9b070b108aa4caa86 (DIR) parent c21a848e4f164542c81277ee6957df3f6a849791 (HTM) Author: Ben Webb <ben@salilab.org> Date: Sun, 17 Jun 2001 19:14:40 +0000 Server now communicates with metaserver via. POST requests Diffstat: M src/serverside.c | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) --- (DIR) diff --git a/src/serverside.c b/src/serverside.c t@@ -140,7 +140,7 @@ void RegisterWithMetaServer(gboolean Up,gboolean SendData, /* recently. If networking is disabled, this function does nothing. */ #if NETWORKING struct HISCORE MultiScore[NUMHISCORE],AntiqueScore[NUMHISCORE]; - GString *text; + GString *text,*query; gchar *prstr; gchar *MetaName; int MetaPort; t@@ -173,10 +173,11 @@ void RegisterWithMetaServer(gboolean Up,gboolean SendData, } else return; MetaPlayerPending=FALSE; text=g_string_new(""); + query=g_string_new(""); - g_string_sprintf(text,"GET %s?output=text&",MetaServer.Path); + g_string_assign(query,"output=text&"); - g_string_sprintfa(text,"up=%d&port=%d&version=%s&players=%d" + g_string_sprintfa(query,"up=%d&port=%d&version=%s&players=%d" "&maxplay=%d&comment=%s", Up ? 1 : 0,Port,VERSION,CountPlayers(FirstServer), MaxClients,MetaServer.Comment); t@@ -185,7 +186,7 @@ void RegisterWithMetaServer(gboolean Up,gboolean SendData, if (SendData && HighScoreRead(MultiScore,AntiqueScore)) { for (i=0;i<NUMHISCORE;i++) { if (MultiScore[i].Name && MultiScore[i].Name[0]) { - g_string_sprintfa(text,"&nm[%d]=%s&dt[%d]=%s&st[%d]=%s&sc[%d]=%s", + g_string_sprintfa(query,"&nm[%d]=%s&dt[%d]=%s&st[%d]=%s&sc[%d]=%s", i,MultiScore[i].Name,i,MultiScore[i].Time, i,MultiScore[i].Dead ? "dead" : "alive", i,prstr=FormatPrice(MultiScore[i].Money)); t@@ -194,10 +195,18 @@ void RegisterWithMetaServer(gboolean Up,gboolean SendData, } } - g_string_sprintfa(text," HTTP/1.1"); + g_string_sprintf(text,"POST %s HTTP/1.1",MetaServer.Path); + QueueMessageForSend(&MetaNetBuf,text->str); + g_string_sprintf(text,"Host: %s:%d",MetaServer.Name,MetaServer.Port); QueueMessageForSend(&MetaNetBuf,text->str); - g_string_sprintf(text,"Host: %s:%d\n",MetaServer.Name,MetaServer.Port); + QueueMessageForSend(&MetaNetBuf, + "Content-Type: application/x-www-form-urlencoded"); + g_string_sprintf(text,"Content-Length: %d\n",strlen(query->str)); QueueMessageForSend(&MetaNetBuf,text->str); + + QueueMessageForSend(&MetaNetBuf,query->str); + + g_string_free(query,TRUE); g_string_free(text,TRUE); MetaUpdateTimeout=time(NULL)+METAUPDATETIME;