X-Git-Url: https://arthur.barton.de/cgi-bin/gitweb.cgi?p=ngircd-alex.git;a=blobdiff_plain;f=src%2Fngircd%2Fnumeric.c;h=01091edef17272a9bfaf26f67064c709fdc95486;hp=f48cc2147f470124cf120e0d9c063c23ce0ac8dc;hb=8e60fac73b791129b69d20c9e5b02ee1e89f6eaa;hpb=53917fa4b80753fc189ed5a516c06c804f2cf415 diff --git a/src/ngircd/numeric.c b/src/ngircd/numeric.c index f48cc214..01091ede 100644 --- a/src/ngircd/numeric.c +++ b/src/ngircd/numeric.c @@ -150,56 +150,6 @@ Announce_Server(CLIENT * Client, CLIENT * Server) } /* Announce_Server */ -/** - * Announce existing user to a new server - * @param Client New server - * @param User Existing user in the network - */ -static bool -Announce_User(CLIENT * Client, CLIENT * User) -{ - CONN_ID conn; - char *modes; - - conn = Client_Conn(Client); - if (Conn_Options(conn) & CONN_RFC1459) { - /* RFC 1459 mode: separate NICK and USER commands */ - if (! Conn_WriteStr(conn, "NICK %s :%d", - Client_ID(User), Client_Hops(User) + 1)) - return DISCONNECTED; - if (! Conn_WriteStr(conn, ":%s USER %s %s %s :%s", - Client_ID(User), Client_User(User), - Client_Hostname(User), - Client_ID(Client_Introducer(User)), - Client_Info(User))) - return DISCONNECTED; - modes = Client_Modes(User); - if (modes[0]) { - return Conn_WriteStr(conn, ":%s MODE %s +%s", - Client_ID(User), Client_ID(User), - modes); - } - return CONNECTED; - } else { - /* RFC 2813 mode: one combined NICK or SERVICE command */ - if (Client_Type(User) == CLIENT_SERVICE - && strchr(Client_Flags(Client), 'S')) - return IRC_WriteStrClient(Client, - "SERVICE %s %d * +%s %d :%s", Client_Mask(User), - Client_MyToken(Client_Introducer(User)), - Client_Modes(User), Client_Hops(User) + 1, - Client_Info(User)); - else - return IRC_WriteStrClient(Client, - "NICK %s %d %s %s %d +%s :%s", - Client_ID(User), Client_Hops(User) + 1, - Client_User(User), Client_Hostname(User), - Client_MyToken(Client_Introducer(User)), - Client_Modes(User), Client_Info(User)); - } -} /* Announce_User */ - - #ifdef IRCPLUS /** @@ -356,7 +306,7 @@ IRC_Num_ENDOFMOTD(CLIENT * Client, UNUSED REQUEST * Req) while (c) { if (Client_Type(c) == CLIENT_USER || Client_Type(c) == CLIENT_SERVICE) { - if (!Announce_User(Client, c)) + if (!Client_Announce(Client, Client_ThisServer(), c)) return DISCONNECTED; } c = Client_Next(c);