Update of /cvsroot/netrek/client/netrekxp/src
In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv9466
Modified Files:
parsemeta.c
Log Message:
identify version to metaserver, untested
Index: parsemeta.c
===================================================================
RCS file: /cvsroot/netrek/client/netrekxp/src/parsemeta.c,v
retrieving revision 1.45
retrieving revision 1.46
diff -u -d -r1.45 -r1.46
--- parsemeta.c 6 May 2009 21:40:49 -0000 1.45
+++ parsemeta.c 7 May 2009 06:52:00 -0000 1.46
@@ -55,6 +55,7 @@
#include "struct.h"
#include "data.h"
#include "proto.h"
+#include "version.h"
#ifdef METAPING
#include <process.h> // for _getpid
#endif
@@ -354,6 +355,8 @@
char *metaservers; /* our copy of the metaserver host names */
char *token; /* current metaserver host name */
struct sockaddr_in address; /* the address of the metaservers */
+ char *req; /* the request packet for the metaserver */
+ int reqlen; /* the length of the request packet */
/* create the socket */
if (msock < 0) {
@@ -369,6 +372,9 @@
closesocket(msock);
return 0;
}
+ req = malloc(80);
+ snprintf(req, 80, "?version=%s %s", version, mvers);
+ reqlen = strlen(req);
}
/* send request to a multicast metaserver on local area network */
@@ -378,7 +384,7 @@
if (metaVerbose)
LineToConsole ("Requesting player list from nearby servers on %s\n",
inet_ntoa(address.sin_addr));
- if (sendto(msock, "?", 1, 0, (struct sockaddr *)&address,
+ if (sendto(msock, req, reqlen, 0, (struct sockaddr *)&address,
sizeof(address)) < 0) {
perror("ReadMetasSend: sendto");
} else {
@@ -417,7 +423,7 @@
if (metaVerbose)
LineToConsole ("Requesting player list from metaserver %s at %s\n",
token, inet_ntoa(address.sin_addr));
- if (sendto(msock, "?", 1, 0, (struct sockaddr *)&address,
+ if (sendto(msock, req, reqlen, 0, (struct sockaddr *)&address,
sizeof(address)) < 0) {
perror("ReadMetasSend: sendto");
} else {
@@ -430,7 +436,7 @@
if (metaVerbose)
LineToConsole ("Requesting player list from metaserver %s\n",
inet_ntoa(address.sin_addr));
- if (sendto(msock, "?", 1, 0, (struct sockaddr *)&address,
+ if (sendto(msock, req, reqlen, 0, (struct sockaddr *)&address,
sizeof(address)) < 0) {
perror("ReadMetasSend: sendto");
} else {