diff -cr freeciv.orig/client/dialogs.c freeciv/client/dialogs.c *** freeciv.orig/client/dialogs.c Wed Oct 21 12:31:47 1998 --- freeciv/client/dialogs.c Sun Dec 13 15:23:20 1998 *************** *** 1627,1634 **** strncpy(packet.name, (char*)dp, NAME_SIZE); packet.name[NAME_SIZE-1]='\0'; ! if(!get_sane_name(packet.name)) { ! append_output_window("You must type a legal name."); return; } --- 1627,1634 ---- strncpy(packet.name, (char*)dp, NAME_SIZE); packet.name[NAME_SIZE-1]='\0'; ! if(strchr(packet.name,' ') || !get_sane_name(packet.name)) { ! append_output_window("You must type a legal name without any blanks."); return; } diff -cr freeciv.orig/server/handchat.c freeciv/server/handchat.c *** freeciv.orig/server/handchat.c Thu May 28 20:36:15 1998 --- freeciv/server/handchat.c Sun Dec 13 15:23:23 1998 *************** *** 29,34 **** --- 29,35 ---- int i; struct packet_generic_message genmsg; char *cp; + char *cpblank; /* this loop to prevent players from sending multiple lines * which can be abused */ *************** *** 42,49 **** } cp=strchr(packet->message, ':'); ! if (cp && *(cp-1)!=' ') { struct player *pdest=0; int nlen, nmatches=0; char name[MAX_LENGTH_NAME]; --- 43,51 ---- } cp=strchr(packet->message, ':'); + cpblank=strchr(packet->message, ' '); ! if (cp && (cp != packet->message) && (!cpblank || (cp < cpblank))) { struct player *pdest=0; int nlen, nmatches=0; char name[MAX_LENGTH_NAME];