On Tue, Apr 21, 2009 at 10:35:36AM +1000, James Cameron wrote: > Client developers may now consider RSA optional, and until the new > identification packets are in place building with RSA should continue. > > Server developers will retain RSA in the code. We'll be working to add > a way to identify client versions for statistics. netrek-client-cow sends a CP_MESSAGE to server after SP_PICKOK which contains a own slot number, group (MINDIV | MCONFIG) and text "@version", where version is the version number. S->C SP_MASK mask=15, S->C SP_PICKOK state=1, C->S CP_MESSAGE group=66, indiv=0, mesg="@3.2.10", C->S CP_UDP_REQ request=1, connmode=0, port=17784, Netrek XP also does the same, in dmessage.c, sendVersion(). So I propose that the client name be *appended* to the version string, and the server to process the message into logs. The text is handled in ntserv/socket.c in function clientVersion, where it is duplicated and stored in a global variable version. At this point it can be logged. The only apparent use is in ntserv/features.c where it is used to compare against the features file, in TellClient, but this function is only called *after* successful RSA verification in decryptRSAPacket. This is an entirely different read of the features file to the one done in ntserv/feature.c. ;-) -- James Cameron mailto:quozl at us.netrek.org http://quozl.netrek.org/