]>
Commit | Line | Data |
---|---|---|
f2ec0966 | 1 | show usermode +h to clients (/mode +h spoof .. and /mode -h is allowed by clients) |
2 | ||
3 | diff -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 '-' | |
15 | diff -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)) |