- The server no longer forwards commands to ordinary users, instead it
answers with the correct error message ("no such server") now.
- WHOIS commands weren't always forwarded as requested.
+ - The server sets a correct default AWAY message now when propagating
+ between servers.
Older changes (sorry, only available in german language):
--
-$Id: ChangeLog,v 1.147.2.6 2003/01/01 13:46:06 alex Exp $
+$Id: ChangeLog,v 1.147.2.7 2003/01/02 18:03:05 alex Exp $
#include "portab.h"
-static char UNUSED id[] = "$Id: irc-mode.c,v 1.24 2002/12/18 14:16:21 alex Exp $";
+static char UNUSED id[] = "$Id: irc-mode.c,v 1.24.2.1 2003/01/02 18:03:05 alex Exp $";
#include "imp.h"
#include <assert.h>
{
case 'a':
/* Away */
- if( Client_Type( Client ) == CLIENT_SERVER ) x[0] = 'a';
+ if( Client_Type( Client ) == CLIENT_SERVER )
+ {
+ x[0] = 'a';
+ Client_SetAway( Client, DEFAULT_AWAY_MSG );
+ }
else ok = IRC_WriteStrClient( Origin, ERR_NOPRIVILEGES_MSG, Client_ID( Origin ));
break;
case 'i':
{
/* AWAY setzen */
Client_SetAway( Client, Req->argv[0] );
+ Client_ModeAdd( Client, 'a' );
IRC_WriteStrServersPrefix( Client, Client, "MODE %s :+a", Client_ID( Client ));
return IRC_WriteStrClient( Client, RPL_NOWAWAY_MSG, Client_ID( Client ));
}
else
{
/* AWAY loeschen */
- Client_SetAway( Client, NULL );
+ Client_ModeDel( Client, 'a' );
IRC_WriteStrServersPrefix( Client, Client, "MODE %s :-a", Client_ID( Client ));
return IRC_WriteStrClient( Client, RPL_UNAWAY_MSG, Client_ID( Client ));
}