summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorAdam <Adam@anope.org>2010-12-23 16:59:56 -0500
committerAdam <Adam@anope.org>2010-12-23 16:59:56 -0500
commit12b0ff0593cc5f2c0f61ca575f9e0af8b0084994 (patch)
tree3edf1b1b9045e389ba0e957589c1017a22deeba5 /include
parent13688c595bd11c3a4a093bc82a7d5f2733640abb (diff)
Bug #1079 - Prevent /cs ban, akick, unban, etc, from matching against users real hostname and IPs in an attempt to prevent unauthorized users from gaining other users IPs via brute force attacks.
Diffstat (limited to 'include')
-rw-r--r--include/extern.h3
-rw-r--r--include/services.h7
2 files changed, 9 insertions, 1 deletions
diff --git a/include/extern.h b/include/extern.h
index b46b4abc9..d39faa076 100644
--- a/include/extern.h
+++ b/include/extern.h
@@ -56,6 +56,7 @@ E void kill_user(char *source, char *user, char *reason);
E void bad_password(User * u);
E void sqline(char *mask, char *reason);
E void common_unban(ChannelInfo * ci, char *nick);
+E void common_unban_full(ChannelInfo * ci, char *nick, boolean full);
E void common_svsmode(User * u, char *modes, char *arg);
/**** botserv.c ****/
@@ -154,6 +155,7 @@ E int entry_match_mask(Entry *e, char *mask, uint32 ip);
E Entry *elist_match(EList *list, char *nick, char *user, char *host, uint32 ip);
E Entry *elist_match_mask(EList *list, char *mask, uint32 ip);
E Entry *elist_match_user(EList *list, User *u);
+E Entry *elist_match_user_full(EList *list, User *u, boolean full);
E Entry *elist_find_mask(EList *list, char *mask);
E long get_memuse(EList *list);
@@ -1175,6 +1177,7 @@ E int is_excepted(ChannelInfo * ci, User * user);
E int is_excepted_mask(ChannelInfo * ci, char *mask);
E int match_usermask(const char *mask, User * user);
+E int match_usermask_full(const char *mask, User * user, boolean full);
E int match_userip(const char *mask, User * user, char *host);
E void split_usermask(const char *mask, char **nick, char **user,
char **host);
diff --git a/include/services.h b/include/services.h
index 53b6ea6d2..814aff0c5 100644
--- a/include/services.h
+++ b/include/services.h
@@ -324,7 +324,12 @@ struct ircdvars_ {
int admin; /* Has Admin */
int chansqline; /* Supports Channel Sqlines */
int quitonkill; /* IRCD sends QUIT when kill */
- int svsmode_unban; /* svsmode can be used to unban */
+ int svsmode_unban; /* svsmode can be used to unban
+ * Note the core no longer uses
+ * this because it can lead to
+ * users gaining other users IPs.
+ * It is kept for API compatability.
+ */
int protect; /* Has protect modes */
int reversekickcheck; /* Can reverse ban check */
int chanreg; /* channel mode +r for register */