]> jfr.im git - irc/quakenet/snircd-patchqueue.git/blob - ulined.patch
done some work on cansendtochan.patch, added nserverflag.patch, and probably some...
[irc/quakenet/snircd-patchqueue.git] / ulined.patch
1 m_sethost.c
2 change requirement that remote sethost comes from U:lined server
3 to require that it comes from a service server (+s flag)
4
5 m_mode.c
6 change that mode changes by service server (+s flag) goes to HACK4
7 other server mode changes to HACK3
8 (was U:lined server to HACK4, else HACK3)
9
10 U:lined - we need learn what this does nowadays.
11
12 Other than the HACK4 or HACK3 choice, there seems to be something with
13 server introduction (a U:lined server is not allowed to introduce a new server
14 when that leads to a loop?) and also, any downlinks a U:lined server has
15 are also marked as U:lined.
16
17 No other differences found for U:lined vs. non-U:lined servers.
18
19 diff -r f1b5d42273f5 ircd/m_mode.c
20 --- a/ircd/m_mode.c Tue Jan 20 16:58:13 2009 +0100
21 +++ b/ircd/m_mode.c Tue Jan 20 17:20:10 2009 +0100
22 @@ -212,7 +212,7 @@
23 ClrFlag(sptr, FLAG_TS8);
24
25 if (IsServer(sptr)) {
26 - if (find_conf_byhost(cli_confs(cptr), cli_name(sptr), CONF_UWORLD))
27 + if (IsService(sptr)) /* server is a service so HACK4 */
28 modebuf_init(&mbuf, sptr, cptr, chptr,
29 (MODEBUF_DEST_CHANNEL | /* Send mode to clients */
30 MODEBUF_DEST_SERVER | /* Send mode to servers */
31 diff -r f1b5d42273f5 ircd/m_sethost.c
32 --- a/ircd/m_sethost.c Tue Jan 20 16:58:13 2009 +0100
33 +++ b/ircd/m_sethost.c Tue Jan 20 17:20:10 2009 +0100
34 @@ -193,8 +193,10 @@
35 return 0;
36
37 /* Fake host assignments must be from services */
38 - if (!find_conf_byhost(cli_confs(sptr), cli_name(sptr), CONF_UWORLD))
39 - return protocol_violation(cptr, "Non-U:lined server %s set fake host on user %s", cli_name(sptr), cli_name(target));
40 + if (!IsService(sptr))
41 + return protocol_violation(cptr,
42 + "Non-service server %C tried to set fake host on user %C (%s@%s)",
43 + sptr, target, parv[2], parv[3]);
44
45 if (!MyConnect(target)) {
46 sendcmdto_one(sptr, CMD_SETHOST, cli_user(target)->server, "%C %s %s", target,