]> jfr.im git - irc/quakenet/snircd-patchqueue.git/blame - showumodehtoclients.patch
showumodehtoclients: show usermode +h to clients
[irc/quakenet/snircd-patchqueue.git] / showumodehtoclients.patch
CommitLineData
f2ec0966 1show usermode +h to clients (/mode +h spoof .. and /mode -h is allowed by clients)
2
3diff -r b99b280644c5 include/client.h
4--- a/include/client.h
5+++ b/include/client.h
6@@ -90,7 +90,7 @@
7 #define FlagClr(set,flag) ((set)->bits[FLAGSET_INDEX(flag)] &= ~FLAGSET_MASK(flag))
8
9 /** String containing valid user modes, in no particular order. */
10-#define infousermodes "dioOswkgxRXInPq"
11+#define infousermodes "dioOswkghxRXInPq"
12
13 /** Character to indicate no oper name available */
14 #define NOOPERNAMECHARACTER '-'
15diff -r b99b280644c5 ircd/s_user.c
16--- a/ircd/s_user.c
17+++ b/ircd/s_user.c
18@@ -1226,8 +1226,7 @@
19 for (i = 0; i < USERMODELIST_SIZE; i++)
20 {
21 if (HasFlag(sptr, userModeList[i].flag) &&
22- ((userModeList[i].flag != FLAG_ACCOUNT) &&
23- (userModeList[i].flag != FLAG_SETHOST)))
24+ userModeList[i].flag != FLAG_ACCOUNT)
25 *m++ = userModeList[i].c;
26 }
27 *m = '\0';
28@@ -1689,12 +1688,10 @@
29 }
30 /* Special case for SETHOST.. */
31 if (flag == FLAG_SETHOST) {
32- /* Don't send to users */
33- if (cptr && MyUser(cptr))
34- continue;
35-
36- /* If we're setting +h, add the parameter later */
37- if (!FlagHas(old, flag))
38+ /* If we're setting +h, add the parameter later,
39+ * but not when showing to the user
40+ */
41+ if (!FlagHas(old, flag) && (!cptr || !MyUser(cptr)))
42 needhost++;
43 }
44 if (FlagHas(old, flag))