Fixes the wrong logging output when nested servers are introduced

to the network as well as the wrong output of the LINKS command.
This commit is contained in:
Alexander Barton 2007-11-20 20:02:40 +00:00
parent c7d4d85666
commit 53b98fd7e9
2 changed files with 12 additions and 7 deletions

View File

@ -12,6 +12,8 @@
ngIRCd HEAD
- Fixes the wrong logging output when nested servers are introduced
to the network as well as the wrong output of the LINKS command.
- Fix code to compile using K&R C compiler and ansi2kr again.
- New config option NoDNS: Disables DNS lookups when clients connect.
- Fixed propagation of channel mode 'P' on server links.
@ -710,4 +712,4 @@ ngIRCd 0.0.1, 31.12.2001
--
$Id: ChangeLog,v 1.326 2007/11/18 15:05:35 alex Exp $
$Id: ChangeLog,v 1.327 2007/11/20 20:02:40 alex Exp $

View File

@ -1,6 +1,6 @@
/*
* ngIRCd -- The Next Generation IRC Daemon
* Copyright (c)2001-2006 Alexander Barton (alex@barton.de)
* Copyright (c)2001-2007 Alexander Barton (alex@barton.de)
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@ -14,7 +14,7 @@
#include "portab.h"
static char UNUSED id[] = "$Id: irc-server.c,v 1.44 2007/11/18 15:05:35 alex Exp $";
static char UNUSED id[] = "$Id: irc-server.c,v 1.45 2007/11/20 20:02:41 alex Exp $";
#include "imp.h"
#include <assert.h>
@ -83,8 +83,6 @@ Synchronize_Lists( CLIENT *Client )
#endif
/**
* Handler for the IRC command "SERVER".
* See RFC 2813 section 4.1.2.
@ -209,8 +207,13 @@ IRC_SERVER( CLIENT *Client, REQUEST *Req )
if( ! IRC_WriteStrClient( c, "SERVER %s %d %d :%s", Client_ID( Client ), Client_Hops( Client ) + 1, Client_MyToken( Client ), Client_Info( Client ))) return DISCONNECTED;
}
/* Den neuen Server ueber den alten informieren */
if( ! IRC_WriteStrClientPrefix( Client, Client_Hops( c ) == 1 ? Client_ThisServer( ) : Client_Introducer( c ), "SERVER %s %d %d :%s", Client_ID( c ), Client_Hops( c ) + 1, Client_MyToken( c ), Client_Info( c ))) return DISCONNECTED;
/* Inform the new server about this one */
if (! IRC_WriteStrClientPrefix(Client,
Client_Hops(c) == 1 ? Client_ThisServer() : Client_TopServer(c),
"SERVER %s %d %d :%s",
Client_ID(c), Client_Hops(c) + 1,
Client_MyToken(c), Client_Info(c)))
return DISCONNECTED;
}
c = Client_Next( c );
}