switch( ntohl( client_addr.sin_addr.s_addr ) )
{
case 0x7F000001: // 127.0.0.1 localhost
- // case 0x825E0D00: // 130.95.13.0
- case 0x825E0D07: // 130.95.13.7 motsugo
- case 0x825E0D11: // 130.95.13.17 mermaid
- case 0x825E0D12: // 130.95.13.18 mussel
- case 0x825E0D17: // 130.95.13.23 martello
+ // case 0x825F0D00: // 130.95.13.0
+ case 0x825F0D07: // 130.95.13.7 motsugo
+ case 0x825F0D11: // 130.95.13.17 mermaid
+ case 0x825F0D12: // 130.95.13.18 mussel
+ case 0x825F0D17: // 130.95.13.23 martello
+ case 0x825F0D42: // 130.95.13.66 heathred
bTrusted = 1;
break;
default:
if( Server_int_ParseArgs(1, CommandString, &command, &args, NULL) )
{
+ printf("command=%s, args=%s\n", command, args);
// Is this an error? (just ignore for now)
args = "";
}
{
char *username;
- Server_int_ParseArgs(0, Args, &username, NULL);
+ if( Server_int_ParseArgs(0, Args, &username, NULL) )
+ {
+ sendf(Client->Socket, "407 USER takes 1 argument\n");
+ return ;
+ }
// Debug!
if( giDebugLevel )
{
char *passhash;
- Server_int_ParseArgs(0, Args, &passhash, NULL);
+ if( Server_int_ParseArgs(0, Args, &passhash, NULL) )
+ {
+ sendf(Client->Socket, "407 PASS takes 1 argument\n");
+ return ;
+ }
// Pass on to cokebank
Client->UID = Bank_GetUserAuth(Client->Salt, Client->Username, passhash);
{
char *username;
- Server_int_ParseArgs(0, Args, &username, NULL);
+ if( Server_int_ParseArgs(0, Args, &username, NULL) )
+ {
+ sendf(Client->Socket, "407 AUTOAUTH takes 1 argument\n");
+ return ;
+ }
// Check if trusted
if( !Client->bIsTrusted ) {
{
char *username;
- Server_int_ParseArgs(0, Args, &username, NULL);
+ if( Server_int_ParseArgs(0, Args, &username, NULL) )
+ {
+ sendf(Client->Socket, "407 SETEUSER takes 1 argument\n");
+ return ;
+ }
if( !strlen(Args) ) {
sendf(Client->Socket, "407 SETEUSER expects an argument\n");
char savedChar = *ArgStr;
char **dest;
va_start(args, ArgStr);
+
+ printf("Server_int_ParseArgs: ArgStr = '%s'\n", ArgStr);
while( (dest = va_arg(args, char **)) )
{
+ printf(" dest = %p\n", dest);
// Trim leading spaces
while( *ArgStr == ' ' || *ArgStr == '\t' )
ArgStr ++;
}
savedChar = *ArgStr; // savedChar is used to un-mangle the last string
*ArgStr = '\0';
+ ArgStr ++;
}
// Oops, extra arguments, and greedy not set
return -1;
// Un-mangle last
- if(bUseLongLast)
+ if(bUseLongLast) {
+ ArgStr --;
*ArgStr = savedChar;
+ }
va_end(args);