1 show usermode +h to clients (/mode +h spoof .. and /mode -h is allowed by clients)
3 diff -r b99b280644c5 include/client.h
7 #define FlagClr(set,flag) ((set)->bits[FLAGSET_INDEX(flag)] &= ~FLAGSET_MASK(flag))
9 /** String containing valid user modes, in no particular order. */
10 -#define infousermodes "dioOswkgxRXInPq"
11 +#define infousermodes "dioOswkghxRXInPq"
13 /** Character to indicate no oper name available */
14 #define NOOPERNAMECHARACTER '-'
15 diff -r b99b280644c5 ircd/s_user.c
19 for (i = 0; i < USERMODELIST_SIZE; i++)
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;
28 @@ -1689,12 +1688,10 @@
30 /* Special case for SETHOST.. */
31 if (flag == FLAG_SETHOST) {
32 - /* Don't send to users */
33 - if (cptr && MyUser(cptr))
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
41 + if (!FlagHas(old, flag) && (!cptr || !MyUser(cptr)))
44 if (FlagHas(old, flag))