summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorgeniusdex geniusdex@31f1291d-b8d6-0310-a050-a5561fc1590b <geniusdex geniusdex@31f1291d-b8d6-0310-a050-a5561fc1590b@5417fbe8-f217-4b02-8779-1006273d7864>2005-03-07 20:03:07 +0000
committergeniusdex geniusdex@31f1291d-b8d6-0310-a050-a5561fc1590b <geniusdex geniusdex@31f1291d-b8d6-0310-a050-a5561fc1590b@5417fbe8-f217-4b02-8779-1006273d7864>2005-03-07 20:03:07 +0000
commit2f44331e17a1673580725cf9fb097b82e6393502 (patch)
treef075d7a978bc032ee79739a5a93d2b22ca593714
parent5ae91e374c40200c8efb291fa7a5086ef76dbe04 (diff)
BUILD : 1.7.8 (606) BUGS : NOTES : Removed proxy detector code from the core, threads stuff still there. Needs good testing
git-svn-id: svn://svn.anope.org/anope/trunk@606 31f1291d-b8d6-0310-a050-a5561fc1590b git-svn-id: http://anope.svn.sourceforge.net/svnroot/anope/trunk@454 5417fbe8-f217-4b02-8779-1006273d7864
-rw-r--r--Changes1
-rw-r--r--Changes.conf132
-rw-r--r--Changes.lang16
-rw-r--r--data/example.conf131
-rw-r--r--docs/WIN32.txt13
-rw-r--r--include/extern.h38
-rw-r--r--include/services.h27
-rw-r--r--lang/cat.l58
-rw-r--r--lang/de.l51
-rw-r--r--lang/en_us.l46
-rw-r--r--lang/es.l58
-rw-r--r--lang/fr.l60
-rw-r--r--lang/gr.l58
-rw-r--r--lang/hun.l44
-rw-r--r--lang/it.l57
-rw-r--r--lang/nl.l52
-rw-r--r--lang/pl.l44
-rw-r--r--lang/pt.l45
-rw-r--r--lang/ru.l44
-rw-r--r--lang/tr.l58
-rw-r--r--makefile.inc.win327
-rw-r--r--src/Makefile7
-rw-r--r--src/config.c52
-rw-r--r--src/init.c8
-rw-r--r--src/main.c4
-rw-r--r--src/makefile.win325
-rw-r--r--src/misc.c9
-rw-r--r--src/mysql.c51
-rw-r--r--src/operserv.c55
-rw-r--r--src/proxy.c809
-rw-r--r--src/rdb.c5
-rw-r--r--src/users.c6
-rw-r--r--version.log6
33 files changed, 179 insertions, 1878 deletions
diff --git a/Changes b/Changes
index 651281c85..992857298 100644
--- a/Changes
+++ b/Changes
@@ -30,6 +30,7 @@ Provided by Anope Dev. <dev@anope.org> - 2005
01/30 F ChanServ help to reflect the avaiable commands. [ #00]
01/30 F ChanServ used some commands that were not valid on all ircds. [ #00]
01/30 F Compiling modules under Mac OSX. [#285]
+03/07 R Removed Proxy Detector from core. [ #00]
Provided by crazytoon <da.crew@gmx.net> - 2005
02/05 A Updated German language file. [ #00]
diff --git a/Changes.conf b/Changes.conf
index 39a272caa..97a27b05e 100644
--- a/Changes.conf
+++ b/Changes.conf
@@ -27,6 +27,138 @@ Anope Version S V N
** DELETED CONFIGURATION DIRECTIVES **
+###########################################################################
+#
+# Proxy detection
+#
+###########################################################################
+
+# Note: if ProxyDetect is not set, all parameters after it in this section
+# are optional.
+
+# ProxyDetect [OPTIONAL]
+#
+# Enables insecure proxy detection. Services will automatically
+# scan each incoming user and akill those that use insecure proxy.
+#
+# Anope currently supports detection of Wingate (port 23), SOCKS4/5
+# (port 1080), and HTTP proxy (ports 3128 and 8080). It uses the
+# protocol of each proxy type to connect to an IRC server, it does
+# not only check if the port is open (so your users may still have
+# an open telnet server on their port 23 for example).
+#
+# WARNING: You should get the authorization of the administrator of
+# the computer which runs the proxy detector before enabling it; not
+# all administrators will accept it. Also note that in certain
+# countries, port scanning is prohibited.
+#
+# This feature requires threading support to be compiled into Anope.
+
+#ProxyDetect
+
+# ProxyThreads <number> [REQUIRED]
+#
+# Sets the number of threads Services will launch when starting. Each
+# thread will have the responsibility to scan queued hostname for
+# proxies.
+#
+# This value must be set depending of the number of users you have
+# on your network. The more threads are used, the more simultaneous
+# checks can be done. Remember however, that threads are
+# resource-consuming.
+#
+# WARNING: On Linux, each thread takes a background process, and there
+# is an additional process used for thread management; this is a problem
+# if you are limited in the number of background process you can use
+# (on a paid shell for example).
+
+ProxyThreads 5
+
+# ProxyMessage... <message> [RECOMMENDED]
+#
+# Sets the notices that will be sent out to users before Services
+# scan them for proxy. You may not use all of them, but just as much as
+# necessary.
+
+ProxyMessage1 "I will now detect if you're using an insecure proxy."
+ProxyMessage2 "If you see a connection on port 23, 1080, 3128 or 8080 from"
+ProxyMessage3 "my.box.net, please disregard it, as it is the detector in action."
+ProxyMessage4 "See http://proxy.myirc.net/ for information about our proxy policy."
+#ProxyMessage5 "Enter"
+#ProxyMessage6 "whatever"
+#ProxyMessage7 "you want"
+#ProxyMessage8 "here."
+
+# ProxyCheck... [OPTIONAL]
+#
+# Determines what types of proxy Anope will try to find (respectively
+# Wingate on port 23, SOCKS4 on port 1080, SOCKS5 on port 1080, HTTP
+# proxy on port 3128, HTTP proxy on port 8080 and HTTP proxy on port
+# 80).
+
+ProxyCheckWingate
+ProxyCheckSocks4
+ProxyCheckSocks5
+ProxyCheckHTTP1
+ProxyCheckHTTP2
+ProxyCheckHTTP3
+
+# ProxyTimeout <time> [REQUIRED]
+
+# Sets the maximum length of time we allow a connect/read operation to
+# take. If you set this value too high, your threads may hang on a single
+# check for a very long time. The best is to try different values
+# and see which one is the more efficient for your network.
+
+ProxyTimeout 15s
+
+# ProxyTestServer <ip> <port> [REQUIRED]
+#
+# Sets the *IP* and port of the IRC server to use as a target when
+# testing users for proxy.
+
+ProxyTestServer "1.2.3.4" 6667
+
+# ProxyExpire <time> [RECOMMENDED]
+#
+# Sets the length of time before a proxy host cache entry expires, if
+# not used. If this is not set the default time is 2 days.
+
+ProxyExpire 30d
+
+# ProxyCacheExpire <time> [REQUIRED]
+#
+# Sets the length of time before a normal host cache entry expires, if
+# not used. This cannot be set to 0d.
+#
+# Every non-proxy hosts will be stored in cache (to avoid too many scans
+# to the same host), so you should set this enough low to not fill your
+# memory, especially on large networks.
+
+ProxyCacheExpire 1d
+
+# ProxyAkillReason <reason> [REQUIRED]
+#
+# Sets the reason that will be used to AKILL an user from the network
+# if a proxy is detected.
+
+ProxyAkillReason "You're using an insecure proxy. See http://proxy.myirc.net/config.html for information about how to config your proxy in a safe manner."
+
+# WallProxy [OPTIONAL]
+#
+# Sends a WALLOPS/GLOBOPS when an user using an insecure proxy is being
+# AKILLed.
+
+WallProxy
+
+# ProxyMax <number> [REQUIRED]
+#
+# Sets the maximum proxy cache entries that can be displayed in a single
+# call to OperServ CACHE.
+
+ProxyMax 50
+
+
Anope Version 1.7.8
-------------------
** ADDED CONFIGURATION DIRECTIVES **
diff --git a/Changes.lang b/Changes.lang
index 3518ff057..7126e880e 100644
--- a/Changes.lang
+++ b/Changes.lang
@@ -10,6 +10,22 @@ Anope Version S V N
*** Del Strings:
CHAN_HELP_ULTIMATE
+ OPER_STATS_PROXY_MEM
+ OPER_CACHE_SYNTAX
+ OPER_CACHE_DISABLED
+ OPER_CACHE_NOT_FOUND
+ OPER_CACHE_REMOVED
+ OPER_CACHE_HEADER
+ OPER_CACHE_LIST
+ OPER_CACHE_FOOTER
+ OPER_CACHE_QUEUED
+ OPER_CACHE_PROGRESS
+ OPER_CACHE_NORMAL
+ OPER_CACHE_WINGATE
+ OPER_CACHE_SOCKS4
+ OPER_CACHE_SOCKS5
+ OPER_CACHE_HTTP
+ OPER_HELP_CACHE
Anope Version 1.7.8
-------------------
diff --git a/data/example.conf b/data/example.conf
index f25f274f6..69d82370a 100644
--- a/data/example.conf
+++ b/data/example.conf
@@ -560,137 +560,6 @@ MailDelay 5m
###########################################################################
#
-# Proxy detection
-#
-###########################################################################
-
-# Note: if ProxyDetect is not set, all parameters after it in this section
-# are optional.
-
-# ProxyDetect [OPTIONAL]
-#
-# Enables insecure proxy detection. Services will automatically
-# scan each incoming user and akill those that use insecure proxy.
-#
-# Anope currently supports detection of Wingate (port 23), SOCKS4/5
-# (port 1080), and HTTP proxy (ports 3128 and 8080). It uses the
-# protocol of each proxy type to connect to an IRC server, it does
-# not only check if the port is open (so your users may still have
-# an open telnet server on their port 23 for example).
-#
-# WARNING: You should get the authorization of the administrator of
-# the computer which runs the proxy detector before enabling it; not
-# all administrators will accept it. Also note that in certain
-# countries, port scanning is prohibited.
-#
-# This feature requires threading support to be compiled into Anope.
-
-#ProxyDetect
-
-# ProxyThreads <number> [REQUIRED]
-#
-# Sets the number of threads Services will launch when starting. Each
-# thread will have the responsibility to scan queued hostname for
-# proxies.
-#
-# This value must be set depending of the number of users you have
-# on your network. The more threads are used, the more simultaneous
-# checks can be done. Remember however, that threads are
-# resource-consuming.
-#
-# WARNING: On Linux, each thread takes a background process, and there
-# is an additional process used for thread management; this is a problem
-# if you are limited in the number of background process you can use
-# (on a paid shell for example).
-
-ProxyThreads 5
-
-# ProxyMessage... <message> [RECOMMENDED]
-#
-# Sets the notices that will be sent out to users before Services
-# scan them for proxy. You may not use all of them, but just as much as
-# necessary.
-
-ProxyMessage1 "I will now detect if you're using an insecure proxy."
-ProxyMessage2 "If you see a connection on port 23, 1080, 3128 or 8080 from"
-ProxyMessage3 "my.box.net, please disregard it, as it is the detector in action."
-ProxyMessage4 "See http://proxy.myirc.net/ for information about our proxy policy."
-#ProxyMessage5 "Enter"
-#ProxyMessage6 "whatever"
-#ProxyMessage7 "you want"
-#ProxyMessage8 "here."
-
-# ProxyCheck... [OPTIONAL]
-#
-# Determines what types of proxy Anope will try to find (respectively
-# Wingate on port 23, SOCKS4 on port 1080, SOCKS5 on port 1080, HTTP
-# proxy on port 3128, HTTP proxy on port 8080 and HTTP proxy on port
-# 80).
-
-ProxyCheckWingate
-ProxyCheckSocks4
-ProxyCheckSocks5
-ProxyCheckHTTP1
-ProxyCheckHTTP2
-ProxyCheckHTTP3
-
-# ProxyTimeout <time> [REQUIRED]
-
-# Sets the maximum length of time we allow a connect/read operation to
-# take. If you set this value too high, your threads may hang on a single
-# check for a very long time. The best is to try different values
-# and see which one is the more efficient for your network.
-
-ProxyTimeout 15s
-
-# ProxyTestServer <ip> <port> [REQUIRED]
-#
-# Sets the *IP* and port of the IRC server to use as a target when
-# testing users for proxy.
-
-ProxyTestServer "1.2.3.4" 6667
-
-# ProxyExpire <time> [RECOMMENDED]
-#
-# Sets the length of time before a proxy host cache entry expires, if
-# not used. If this is not set the default time is 2 days.
-
-ProxyExpire 30d
-
-# ProxyCacheExpire <time> [REQUIRED]
-#
-# Sets the length of time before a normal host cache entry expires, if
-# not used. This cannot be set to 0d.
-#
-# Every non-proxy hosts will be stored in cache (to avoid too many scans
-# to the same host), so you should set this enough low to not fill your
-# memory, especially on large networks.
-
-ProxyCacheExpire 1d
-
-# ProxyAkillReason <reason> [REQUIRED]
-#
-# Sets the reason that will be used to AKILL an user from the network
-# if a proxy is detected.
-
-ProxyAkillReason "You're using an insecure proxy. See http://proxy.myirc.net/config.html for information about how to config your proxy in a safe manner."
-
-# WallProxy [OPTIONAL]
-#
-# Sends a WALLOPS/GLOBOPS when an user using an insecure proxy is being
-# AKILLed.
-
-WallProxy
-
-# ProxyMax <number> [REQUIRED]
-#
-# Sets the maximum proxy cache entries that can be displayed in a single
-# call to OperServ CACHE.
-
-ProxyMax 50
-
-###########################################################################
-#
# NickServ configuration
#
###########################################################################
diff --git a/docs/WIN32.txt b/docs/WIN32.txt
index d743be716..3d09bef97 100644
--- a/docs/WIN32.txt
+++ b/docs/WIN32.txt
@@ -52,31 +52,26 @@ Anope for Windows
path one of two ways, either with \ or /. If you use \ you must
add a secondary \; so c:\mysql would be c:\\mysql.
- C) To use Anope's built in Proxy scanner you need to change
- PROXY_SCANNER to be equal to 1 (i.e. PROXY_SCANNER=1). Please note
- that the Anope's built in proxy scanner is not the best available,
- and that it's recommended to use another third party scanner.
-
- D) Do you want to use the MD5 message-digest algorithm to encrypt
+ C) Do you want to use the MD5 message-digest algorithm to encrypt
passwords? Selecting "yes" protects your passwords from being
stolen if someone gains access to the Services databases, but
makes it impossible to recover forgotten passwords. There is no
way to reverse this operation, so make sure you really want to
enable it. Change DB_ENCRYPTION to be equal to 1 to enable it.
- E) If you are using Visual Studio 6, this next line can be very
+ D) If you are using Visual Studio 6, this next line can be very
important. If you are getting an error during compile about
"unresolved external symbol __ftol2", remove the # in front of
VC6=/QIfist and attempt to compile again.
- F) If you get an error about "Cannot find wsock32.lib" or
+ E) If you get an error about "Cannot find wsock32.lib" or
"Cannot find msvcrt.lib" when compiling, you need to define the
libpath, in the LIBPATH directive. You can define the path in one
of two ways: either with \ or /. If you use \ you must add a
secondary \; so c:\sdk\lib would be c:\\sdk\\lib. Be sure to
remove the # in front of LFLAGS.
- G) Most import is to set the DATDEST to be the folder name where the
+ F) Most import is to set the DATDEST to be the folder name where the
database will be stored. This does not need to be the full path,
just the folder under the main executable in which data will
exist. In our example we will use "data"
diff --git a/include/extern.h b/include/extern.h
index 66cd043ce..1ddf6ecf6 100644
--- a/include/extern.h
+++ b/include/extern.h
@@ -326,24 +326,6 @@ E int RestrictMail;
E int MailDelay;
E int DontQuoteAddresses;
-E int ProxyDetect;
-E int ProxyThreads;
-E char *ProxyMessage[8];
-E int ProxyCheckWingate;
-E int ProxyCheckSocks4;
-E int ProxyCheckSocks5;
-E int ProxyCheckHTTP1;
-E int ProxyCheckHTTP2;
-E int ProxyCheckHTTP3;
-E int ProxyTimeout;
-E char *ProxyTestServer;
-E int ProxyTestPort;
-E int ProxyExpire;
-E int ProxyCacheExpire;
-E char *ProxyAkillReason;
-E int WallProxy;
-E int ProxyMax;
-
E int NSDefFlags;
E int NSDefLanguage;
E int NSRegDelay;
@@ -485,8 +467,7 @@ E void rdb_save_bs_core(BotInfo * bi);
E void rdb_save_bs_rdb_core(BotInfo * bi);
E void rdb_save_hs_core(HostCore * hc);
E void rdb_save_os_db(unsigned int maxucnt, unsigned int maxutime,
- SList * ak, SList * sgl, SList * sql, SList * szl,
- HostCache * hc);
+ SList * ak, SList * sgl, SList * sql, SList * szl);
E void rdb_save_news(NewsItem * ni);
E void rdb_save_exceptions(Exception * e);
E void rdb_load_bs_dbase(void);
@@ -693,6 +674,8 @@ E u_int32_t getrandom32(void);
E char *str_signed(unsigned char *str);
+E void ntoa(struct in_addr addr, char *ipaddr, int len);
+
/**** modules.c ****/
E void moduleCallBackRun(void);
E void moduleCleanStruct(ModuleData **moduleData);
@@ -804,19 +787,6 @@ E IgnoreData *get_ignore(const char *nick);
E int split_buf(char *buf, char ***argv, int colon_special);
E void process(void);
-/**** proxy.c ****/
-
-E HostCache *hcache[1024];
-
-E HostCache *proxy_cache_add(char *host);
-E void get_proxy_stats(long *nrec, long *memuse);
-E void ntoa(struct in_addr addr, char *ipaddr, int len);
-E int proxy_check(char *nick, char *host, uint32 ip);
-E void proxy_expire();
-E int proxy_init(void);
-
-E int do_cache(User *u);
-
/**** send.c ****/
E void send_cmd(const char *source, const char *fmt, ...)
@@ -966,7 +936,7 @@ E void db_mysql_save_ns_req(NickRequest * nr);
E void db_mysql_save_cs_info(ChannelInfo * ci);
E void db_mysql_save_os_db(unsigned int maxucnt, unsigned int maxutime,
SList * ak, SList * sgl, SList * sql,
- SList * szl, HostCache * hc);
+ SList * szl);
E void db_mysql_save_news(NewsItem * ni);
E void db_mysql_save_exceptions(Exception * e);
E void db_mysql_save_hs_core(HostCore * hc);
diff --git a/include/services.h b/include/services.h
index 9eaab1f47..51b9d3075 100644
--- a/include/services.h
+++ b/include/services.h
@@ -198,7 +198,6 @@ typedef struct akill_ Akill;
typedef struct sxline_ SXLine;
typedef struct hostcore_ HostCore;
typedef struct newsitem_ NewsItem;
-typedef struct hostcache_ HostCache;
typedef struct exception_ Exception;
typedef struct cbmode_ CBMode;
typedef struct cbmodeinfo_ CBModeInfo;
@@ -1024,32 +1023,6 @@ struct session_ {
/*************************************************************************/
-/* Proxy stuff */
-
-
-
-struct hostcache_ {
- HostCache *prev, *next;
-
- char *host; /* The hostname */
- uint32 ip; /* The IP address */
-
- int16 status; /* HC_* below */
- time_t used; /* When was this entry last used? */
-};
-
-/* We assume that values < 0 are in-progress values, and values > 0 are
- * proxy value. 0 is the normal value.
- */
-
-#define HC_QUEUED -2 /* Waiting to be scanned */
-#define HC_PROGRESS -1 /* Currently being scanned */
-#define HC_NORMAL 0 /* No proxy found on this host */
-#define HC_WINGATE 1 /* Wingate found */
-#define HC_SOCKS4 2 /* Socks4 found */
-#define HC_SOCKS5 3 /* Socks5 found */
-#define HC_HTTP 4 /* HTTP proxy found */
-
/**
* DEFCON Defines
**/
diff --git a/lang/cat.l b/lang/cat.l
index eae947a61..abceb125d 100644
--- a/lang/cat.l
+++ b/lang/cat.l
@@ -2305,8 +2305,6 @@ OPER_STATS_OPERSERV_MEM
OperServ : %6d registres, %5d kB
OPER_STATS_SESSIONS_MEM
Sessions : %6d registres, %5d kB
-OPER_STATS_PROXY_MEM
- Proxies : ^B%6d^B registres, ^B%5d^B kB
OPER_STATS_AKILL_COUNT
Numero actual de AKILLs: %d
OPER_STATS_AKILL_EXPIRE_DAYS
@@ -2787,42 +2785,6 @@ OPER_USERLIST_END
Fi de la llista d'usuaris.
# CACHE responses
-OPER_CACHE_SYNTAX
- CACHE {DEL | LIST} {hostname | patró} [QUEUED | ALL]
-OPER_CACHE_DISABLED
- Detecció de Proxy deshabilitada.
-OPER_CACHE_NOT_FOUND
- %s no trobat al cau.
-OPER_CACHE_REMOVED
- %s ha estat esborrat del cau.
-OPER_CACHE_HEADER
- Hostname Estatus
-OPER_CACHE_LIST
- %-48s %s
-OPER_CACHE_FOOTER
- Fi de la llista - %d/%d instàncies mostrades.
-OPER_CACHE_QUEUED
- Encuat
-OPER_CACHE_PROGRESS
- En progrès
-OPER_CACHE_NORMAL
- Normal
-OPER_CACHE_WINGATE
- Wingate
-OPER_CACHE_SOCKS4
- SOCKS 4
-OPER_CACHE_SOCKS5
- SOCKS 5
-OPER_CACHE_HTTP
- Proxy HTTP
-
-###########################################################################
-#
-# Session Limiting and Exception messages
-#
-###########################################################################
-
-# EXCEPTION responses
OPER_SUPER_ADMIN_ON
You are now a SuperAdmin
OPER_SUPER_ADMIN_OFF
@@ -5821,26 +5783,6 @@ OPER_HELP_USERLIST
Limitat a administradors de serveis.
-OPER_HELP_CACHE
- Sintàxi: CACHE DEL hostname
- CACHE LIST patró [QUEUED | ALL]
-
- La comanda CACHE DEL esborra el host especificat del cau.
- Això nomès esta indicat per a propòsits de debug.
-
- La comanda CACHE LIST llista tots els proxies trobats que
- concordin amb el patró especificat. Si s'especifica l'opció QUEUED,
- llistara tots els processos encuats o en progres, i si s'especifica
- l'opció ALL, llistara tots els hostnames a cau.
-
- Limitat a administradors de serveis.
-
-###########################################################################
-#
-# BotServ help messages
-#
-###########################################################################
-
OPER_HELP_MODLOAD
Syntax: MODLOAD FileName
diff --git a/lang/de.l b/lang/de.l
index a2d9672cf..266ee571f 100644
--- a/lang/de.l
+++ b/lang/de.l
@@ -2297,8 +2297,6 @@ OPER_STATS_OPERSERV_MEM
OperServ : %6d Einträge, %5d kB
OPER_STATS_SESSIONS_MEM
Verbindungen : %6d Einträge, %5d kB
-OPER_STATS_PROXY_MEM
- Proxies : %6d records, %5d kB
OPER_STATS_AKILL_COUNT
Aktuelle Anzahl von AKILLs: %d
OPER_STATS_AKILL_EXPIRE_DAYS
@@ -2781,34 +2779,6 @@ OPER_USERLIST_END
###########################################################################
# EXCEPTION responses
-OPER_CACHE_SYNTAX
- CACHE {DEL | LIST} {Hostname | Muster} [QUEUED | ALL]
-OPER_CACHE_DISABLED
- Proxy Detektor ist deaktiviert.
-OPER_CACHE_NOT_FOUND
- %s wurde nicht im Cache gefunden.
-OPER_CACHE_REMOVED
- %s wurde aus dem Cache gelöscht.
-OPER_CACHE_HEADER
- Hostname Status
-OPER_CACHE_LIST
- %-48s %s
-OPER_CACHE_FOOTER
- Ende der Liste - %d/%d passende Einträge angezeigt.
-OPER_CACHE_QUEUED
- in der Warteschlange
-OPER_CACHE_PROGRESS
- in Bearbeitung
-OPER_CACHE_NORMAL
- Normal
-OPER_CACHE_WINGATE
- Wingate
-OPER_CACHE_SOCKS4
- SOCKS 4
-OPER_CACHE_SOCKS5
- SOCKS 5
-OPER_CACHE_HTTP
- HTTP proxy
OPER_SUPER_ADMIN_ON
Du bist jetzt ein Super-Admin.
OPER_SUPER_ADMIN_OFF
@@ -6024,27 +5994,6 @@ OPER_HELP_USERLIST
#
###########################################################################
-OPER_HELP_CACHE
- Syntax: CACHE DEL Hostname
- CACHE LIST Muster [QUEUED | ALL]
-
- Der CACHE DEL Befehl löscht den angegeben Hostnamen aus dem
- Cache. Dieser Befehl ist ausschließlich für DEBUG Zwecke.
-
- Der CACHE LIST Befehl listet alle Proxies auf, die dem
- angegebenen Muster entsprechen. Falls die QUEUED Option
- mitangegeben wird, werden alle Scans in der Warteschlange und
- alle Scans die gerade laufen angezeigt. Wenn die ALL Option
- mitangegeben wird, werden alle Hostnamen aufgelistet.
-
- Beschränkt auf Services Administratoren.
-
-###########################################################################
-#
-# BotServ help messages ## 19.10.2004 ##
-#
-###########################################################################
-
OPER_HELP_MODLOAD
Syntax: MODLOAD Modul-Name
diff --git a/lang/en_us.l b/lang/en_us.l
index 75d29ec8a..1772e4d43 100644
--- a/lang/en_us.l
+++ b/lang/en_us.l
@@ -2234,8 +2234,6 @@ OPER_STATS_OPERSERV_MEM
OperServ : %6d records, %5d kB
OPER_STATS_SESSIONS_MEM
Sessions : %6d records, %5d kB
-OPER_STATS_PROXY_MEM
- Proxies : %6d records, %5d kB
OPER_STATS_AKILL_COUNT
Current number of AKILLs: %d
OPER_STATS_AKILL_EXPIRE_DAYS
@@ -2705,35 +2703,6 @@ OPER_USERLIST_RECORD
OPER_USERLIST_END
End of users list.
-# CACHE responses
-OPER_CACHE_SYNTAX
- CACHE {DEL | LIST} {hostname | pattern} [QUEUED | ALL]
-OPER_CACHE_DISABLED
- Proxy detection is disabled.
-OPER_CACHE_NOT_FOUND
- %s was not found in the cache.
-OPER_CACHE_REMOVED
- %s has been removed from the cache.
-OPER_CACHE_HEADER
- Hostname Status
-OPER_CACHE_LIST
- %-48s %s
-OPER_CACHE_FOOTER
- End of list - %d/%d matches shown.
-OPER_CACHE_QUEUED
- Queued
-OPER_CACHE_PROGRESS
- In progress
-OPER_CACHE_NORMAL
- Normal
-OPER_CACHE_WINGATE
- Wingate
-OPER_CACHE_SOCKS4
- SOCKS 4
-OPER_CACHE_SOCKS5
- SOCKS 5
-OPER_CACHE_HTTP
- HTTP proxy
OPER_SUPER_ADMIN_ON
You are now a SuperAdmin
OPER_SUPER_ADMIN_OFF
@@ -4975,7 +4944,6 @@ OPER_HELP_ADMIN_CMD
OPERNEWS Define messages to be shown to users who oper
SESSION View the list of host sessions
EXCEPTION Modify the session-limit exception list
- CACHE Lists hostname cache used by the proxy detector
NOOP Temporarily remove all O:lines of a server
remotely
JUPE "Jupiter" a server
@@ -5580,20 +5548,6 @@ OPER_HELP_USERLIST
Limited to Services admins.
-OPER_HELP_CACHE
- Syntax: CACHE DEL hostname
- CACHE LIST pattern [QUEUED | ALL]
-
- The CACHE DEL command deletes the specified hostname from
- the cache. This is meant for debug purpose only.
-
- The CACHE LIST command lists all found proxies that match the
- given pattern. If the QUEUED option is given, it will list
- the queued or in progress scans instead, and if the ALL option
- is given, it will list all cached hostnames.
-
- Limited to Services admins.
-
OPER_HELP_MODLOAD
Syntax: MODLOAD FileName
diff --git a/lang/es.l b/lang/es.l
index 7ca7b44ef..04282ff97 100644
--- a/lang/es.l
+++ b/lang/es.l
@@ -2276,8 +2276,6 @@ OPER_STATS_OPERSERV_MEM
OperServ : %6d records, %5d kB
OPER_STATS_SESSIONS_MEM
Sesiones : %6d records, %5d kB
-OPER_STATS_PROXY_MEM
- Proxies : ^B%6d^B records, ^B%5d^B kB
OPER_STATS_AKILL_COUNT
Numero actual de AKILLs: %d
OPER_STATS_AKILL_EXPIRE_DAYS
@@ -2759,42 +2757,6 @@ OPER_USERLIST_END
Fin de la lista de usuarios.
# CACHE responses
-OPER_CACHE_SYNTAX
- CACHE {DEL | LIST} {hostname | patron} [QUEUED | ALL]
-OPER_CACHE_DISABLED
- Deteccion de Proxy deshabilitada.
-OPER_CACHE_NOT_FOUND
- %s no encontrado en el cache.
-OPER_CACHE_REMOVED
- %s ha sido removido del cache.
-OPER_CACHE_HEADER
- Hostname Estatus
-OPER_CACHE_LIST
- %-48s %s
-OPER_CACHE_FOOTER
- Fin de la lista - %d/%d instancias mostradas.
-OPER_CACHE_QUEUED
- Encolado
-OPER_CACHE_PROGRESS
- En progreso
-OPER_CACHE_NORMAL
- Normal
-OPER_CACHE_WINGATE
- Wingate
-OPER_CACHE_SOCKS4
- SOCKS 4
-OPER_CACHE_SOCKS5
- SOCKS 5
-OPER_CACHE_HTTP
- Proxy HTTP
-
-###########################################################################
-#
-# Session Limiting and Exception messages
-#
-###########################################################################
-
-# EXCEPTION responses
OPER_SUPER_ADMIN_ON
Ahora eres un SuperAdmin.
OPER_SUPER_ADMIN_OFF
@@ -5800,26 +5762,6 @@ OPER_HELP_USERLIST
Limitado a administradores de Servicios.
-OPER_HELP_CACHE
- Sintaxis: CACHE DEL hostname
- CACHE LIST patron [QUEUED | ALL]
-
- El comando CACHE DEL borra el host especificado del cache.
- Esto esta dispuesto solo para propositos de debug.
-
- El comando CACHE LIST lista todos los proxies encontrados que
- concuerden con el patron dado. Si la opcion QUEUED es dada,
- listara los procesos encolados o en progreso en vez, y si la
- opcion ALL es dada, listara todos los hostnames en cache.
-
- Limitado a administradores de Servicios.
-
-###########################################################################
-#
-# BotServ help messages
-#
-###########################################################################
-
OPER_HELP_MODLOAD
Sintaxis: MODLOAD NombreArchivo
diff --git a/lang/fr.l b/lang/fr.l
index c567bb021..692283d42 100644
--- a/lang/fr.l
+++ b/lang/fr.l
@@ -2316,8 +2316,6 @@ OPER_STATS_OPERSERV_MEM
OperServ : %6d enregistrements, %5d ko
OPER_STATS_SESSIONS_MEM
Sessions : %6d enregistrements, %5d ko
-OPER_STATS_PROXY_MEM
- Proxies : %6d enregistrements, %5d ko
OPER_STATS_AKILL_COUNT
Nombre d'AKILLs actuel: %d
OPER_STATS_AKILL_EXPIRE_DAYS
@@ -2800,42 +2798,6 @@ OPER_USERLIST_END
Fin de la liste des utilisateurs.
# CACHE responses
-OPER_CACHE_SYNTAX
- CACHE {DEL | LIST} {hostname | pattern} [QUEUED | ALL]
-OPER_CACHE_DISABLED
- La détection de proxies est désactivée.
-OPER_CACHE_NOT_FOUND
- %s n'a pas été trouvé dans le cache.
-OPER_CACHE_REMOVED
- %s a été supprimé du cache.
-OPER_CACHE_HEADER
- Nom d'hôte Status
-OPER_CACHE_LIST
- %-48s %s
-OPER_CACHE_FOOTER
- Fin de la liste - %d/%d correspondances affichées.
-OPER_CACHE_QUEUED
- En attente
-OPER_CACHE_PROGRESS
- En cours
-OPER_CACHE_NORMAL
- Normal
-OPER_CACHE_WINGATE
- Wingate
-OPER_CACHE_SOCKS4
- SOCKS 4
-OPER_CACHE_SOCKS5
- SOCKS 5
-OPER_CACHE_HTTP
- Proxy HTTP
-
-###########################################################################
-#
-# Session Limiting and Exception messages
-#
-###########################################################################
-
-# EXCEPTION responses
OPER_SUPER_ADMIN_ON
Vous êtes maintenant SuperAdmin.
OPER_SUPER_ADMIN_OFF
@@ -5843,28 +5805,6 @@ OPER_HELP_USERLIST
Réservée aux Services admins.
-OPER_HELP_CACHE
- Syntaxe: CACHE DEL nom d'hôte
- CACHE LIST modèle [QUEUED | ALL]
-
- La commande CACHE DEL supprime du cache le nom d'hôte
- spécifié. Cette commande ne devrait être utilisée que
- pour le déboguage.
-
- La commande CACHE LIST liste tous les proxies
- correspondants au modèle donné, ou, si l'option QUEUED
- est donnée, les scans en attente ou en cours, ou, si
- l'option ALL est donnée, tous les noms d'hôtes présents
- dans la cache.
-
- Réservée aux administrateurs des services.
-
-###########################################################################
-#
-# BotServ help messages
-#
-###########################################################################
-
OPER_HELP_MODLOAD
Syntax: MODLOAD FileName
diff --git a/lang/gr.l b/lang/gr.l
index 7c4084cd4..8f26a4605 100644
--- a/lang/gr.l
+++ b/lang/gr.l
@@ -2294,8 +2294,6 @@ OPER_STATS_OPERSERV_MEM
OperServ : %6d âÜóåéò, %5d kB
OPER_STATS_SESSIONS_MEM
Sessions : %6d âÜóåéò, %5d kB
-OPER_STATS_PROXY_MEM
- Proxies : %6d âÜóåéò, %5d kB
OPER_STATS_AKILL_COUNT
Ùò ôþñá õðÜñ÷ïõí AKILLs: %d
OPER_STATS_AKILL_EXPIRE_DAYS
@@ -2776,42 +2774,6 @@ OPER_USERLIST_END
ÔÝëïò ëßóôáò ÷ñçóôþí.
# CACHE responses
-OPER_CACHE_SYNTAX
- CACHE {DEL | LIST} {hostname | pattern} [QUEUED | ALL]
-OPER_CACHE_DISABLED
- Ç Proxy áíß÷íåõóç åßíáé áðåíåñãïðïéçìÝíç.
-OPER_CACHE_NOT_FOUND
- %s äåí âñÝèçêå óôï cache.
-OPER_CACHE_REMOVED
- %s äéáãñÜöçêå áðü ôï cache.
-OPER_CACHE_HEADER
- ÌÜóêá-host Status
-OPER_CACHE_LIST
- %-48s %s
-OPER_CACHE_FOOTER
- ÔÝëïò ëßóôáò - %d/%d âñÝèçêáí.
-OPER_CACHE_QUEUED
- Queued
-OPER_CACHE_PROGRESS
- In progress
-OPER_CACHE_NORMAL
- Normal
-OPER_CACHE_WINGATE
- Wingate
-OPER_CACHE_SOCKS4
- SOCKS 4
-OPER_CACHE_SOCKS5
- SOCKS 5
-OPER_CACHE_HTTP
- HTTP proxy
-
-###########################################################################
-#
-# Session Limiting and Exception messages
-#
-###########################################################################
-
-# EXCEPTION responses
OPER_SUPER_ADMIN_ON
You are now a SuperAdmin
OPER_SUPER_ADMIN_OFF
@@ -5713,26 +5675,6 @@ OPER_HELP_USERLIST
Ìüíï ãéá ôïõò Services admins.
-OPER_HELP_CACHE
- Óýíôáîç: CACHE DEL hostname
- CACHE LIST åðéëïãÞ [QUEUED | ALL]
-
- Ç åíôïëÞ CACHE DEL äéáãñÜöåé ôá óõãêåêñéìÝíá hostname áðü
- ôçí cache.
-
- Ç åíôïëÞ CACHE LIST åìöáíßæåé ôçí ëßóôá ìå üëá ôá proxies ðïõ
- âñÝèçêáí êáé ôáéñéÜæïõí ìå ôçí åðéëïãÞ ðïõ äþóáôå. Áí äþóåôå QUEUED
- åðéëïãÞ, èá åìöáíßóåé ëßóôá ìå ôá queued Þ ôá scans, êáé ìå ôçí
- ALL åðéëïãÞ èá åìöáíßóåé üëá ôá cached hostnames.
-
- Ìüíï ãéá ôïõò Services admins.
-
-###########################################################################
-#
-# BotServ help messages
-#
-###########################################################################
-
OPER_HELP_MODLOAD
Syntax: MODLOAD FileName
diff --git a/lang/hun.l b/lang/hun.l
index 78b71a15a..1efc6735f 100644
--- a/lang/hun.l
+++ b/lang/hun.l
@@ -2260,8 +2260,6 @@ OPER_STATS_OPERSERV_MEM
OperServ : %6d bejegyzés, %5d kB
OPER_STATS_SESSIONS_MEM
Session : %6d bejegyzés, %5d kB
-OPER_STATS_PROXY_MEM
- Proxik : %6d bejegyzés, %5d kB
OPER_STATS_AKILL_COUNT
Aktuális AKILLek száma: %d
OPER_STATS_AKILL_EXPIRE_DAYS
@@ -2738,34 +2736,6 @@ OPER_USERLIST_END
Vége a felhasználó listának.
# CACHE válaszok
-OPER_CACHE_SYNTAX
- CACHE {DEL | LIST} {hosztnév | pattern} [QUEUED | ALL]
-OPER_CACHE_DISABLED
- Proxy ellenörzés tiltva.
-OPER_CACHE_NOT_FOUND
- %s nem használt rejtést.
-OPER_CACHE_REMOVED
- %s törölve lesz rejtés használatáért(proxi).
-OPER_CACHE_HEADER
- Hosztnév Státusz
-OPER_CACHE_LIST
- %-48s %s
-OPER_CACHE_FOOTER
- Vége a listának - %d/%d bejegyzés mutatása.
-OPER_CACHE_QUEUED
- Várakozik
-OPER_CACHE_PROGRESS
- Folyamatban
-OPER_CACHE_NORMAL
- Normál
-OPER_CACHE_WINGATE
- Wingate
-OPER_CACHE_SOCKS4
- SOCKS 4
-OPER_CACHE_SOCKS5
- SOCKS 5
-OPER_CACHE_HTTP
- HTTP proxy
OPER_SUPER_ADMIN_ON
Most már Szuper-Admin vagy
OPER_SUPER_ADMIN_OFF
@@ -5606,20 +5576,6 @@ OPER_HELP_USERLIST
Korlátozva Szervíz adminoknak.
-OPER_HELP_CACHE
- Syntax: CACHE DEL hostnév
- CACHE LIST pattern [QUEUED | ALL]
-
- The CACHE DEL command deletes the specified hostname from
- the cache. This is meant for debug purpose only.
-
- The CACHE LIST command lists all found proxies that match the
- given pattern. If the QUEUED option is given, it will list
- the queued or in progress scans instead, and if the ALL option
- is given, it will list all cached hostnames.
-
- Korlátozva Szervíz adminoknak.
-
OPER_HELP_MODLOAD
Syntax: MODLOAD Fájlnév
diff --git a/lang/it.l b/lang/it.l
index 2336fef93..8477fb1d5 100644
--- a/lang/it.l
+++ b/lang/it.l
@@ -2301,8 +2301,6 @@ OPER_STATS_OPERSERV_MEM
OperServ: %6d records, %5d kB
OPER_STATS_SESSIONS_MEM
Sessioni: %6d records, %5d kB
-OPER_STATS_PROXY_MEM
- Proxy: %6d records, %5d kB
OPER_STATS_AKILL_COUNT
Numero attuale di AKILL: %d
OPER_STATS_AKILL_EXPIRE_DAYS
@@ -2781,41 +2779,6 @@ OPER_USERLIST_END
Fine della lista dei nick.
# CACHE responses
-OPER_CACHE_SYNTAX
- CACHE {DEL | LIST} {hostname | pattern} [QUEUED | ALL]
-OPER_CACHE_DISABLED
- Il riconoscimento dei proxy è disabilitato.
-OPER_CACHE_NOT_FOUND
- Impossibile trovare %s nella cache.
-OPER_CACHE_REMOVED
- %s è stato rimosso dalla cache.
-OPER_CACHE_HEADER
- Hostname Stato
-OPER_CACHE_LIST
- %-48s %s
-OPER_CACHE_FOOTER
- Fine della lista - %d/%d risultati mostrati
-OPER_CACHE_QUEUED
- In coda
-OPER_CACHE_PROGRESS
- In corso
-OPER_CACHE_NORMAL
- Normale
-OPER_CACHE_WINGATE
- Wingate
-OPER_CACHE_SOCKS4
- SOCKS 4
-OPER_CACHE_SOCKS5
- SOCKS 5
-OPER_CACHE_HTTP
- Proxy HTTP
-
-###########################################################################
-#
-# Session Limiting and Exception messages
-#
-###########################################################################
-
OPER_SUPER_ADMIN_ON
Ora sei un SuperAdmin.
OPER_SUPER_ADMIN_OFF
@@ -5865,26 +5828,6 @@ OPER_HELP_USERLIST
Limitato ai Services admin.
-OPER_HELP_CACHE
- Sintsasi: CACHE DEL hostname
- CACHE LIST pattern [QUEUED | ALL]
-
- Il comando CACHE DEL rimuove l'hostname specificato dalla
- cache. Questo comando va usato solo a scopo di debug.
-
- Il comando CACHE LIST mostra tutti i proxy che corrispondono
- al pattern specificato. Se viene indicata l'opzione QUEUED,
- mostra invece gli scan in coda e in corso, e se viene indicata
- l'opzione ALL, mostrerà tutti gli hostname nella cache.
-
- Limitato ai Services admin.
-
-###########################################################################
-#
-# BotServ help messages
-#
-###########################################################################
-
OPER_HELP_MODLOAD
Syntax: MODLOAD FileName
diff --git a/lang/nl.l b/lang/nl.l
index 07fce4733..9b35171c8 100644
--- a/lang/nl.l
+++ b/lang/nl.l
@@ -2276,8 +2276,6 @@ OPER_STATS_OPERSERV_MEM
OperServ : %6d records, %5d kB
OPER_STATS_SESSIONS_MEM
Sessies : %6d records, %5d kB
-OPER_STATS_PROXY_MEM
- Proxies : %6d records, %5d kB
OPER_STATS_AKILL_COUNT
Huidig aantal AKILLs: %d
OPER_STATS_AKILL_EXPIRE_DAYS
@@ -2750,34 +2748,6 @@ OPER_USERLIST_END
Einde van gebruikers lijst.
# CACHE responses
-OPER_CACHE_SYNTAX
- CACHE {DEL | LIST} {hostname | trefbeeld} [QUEUED | ALL]
-OPER_CACHE_DISABLED
- Proxy detectie is uitgeschakeld.
-OPER_CACHE_NOT_FOUND
- %s is niet gevonden in de cache.
-OPER_CACHE_REMOVED
- %s is verwijderd uit de cache.
-OPER_CACHE_HEADER
- Hostname Status
-OPER_CACHE_LIST
- %-48s %s
-OPER_CACHE_FOOTER
- Eind lijst - %d/%d overeenkomsten weergegeven.
-OPER_CACHE_QUEUED
- In de wachtrij
-OPER_CACHE_PROGRESS
- In behandeling
-OPER_CACHE_NORMAL
- Normaal
-OPER_CACHE_WINGATE
- Wingate
-OPER_CACHE_SOCKS4
- SOCKS 4
-OPER_CACHE_SOCKS5
- SOCKS 5
-OPER_CACHE_HTTP
- HTTP proxy
OPER_SUPER_ADMIN_ON
Je bent nu een SuperAdministrator
OPER_SUPER_ADMIN_OFF
@@ -5735,28 +5705,6 @@ OPER_HELP_USERLIST
Gelimiteerd tot Services admins.
-OPER_HELP_CACHE
- Gebruik: CACHE DEL hostname
- CACHE LIST trefbeeld [QUEUED | ALL]
-
- Het CACHE DEL commando verwijderd de gegeven hostname uit
- de cache. Dit commando is alleen bedoeld voor debugging.
-
- Het CACHE LIST commando geeft alle gevonden proxies weer
- die overeenkomen met het gegeven trefbeeld. Als de QUEUED
- optie is meegegeven zullen alleen scans die in de wachtrij
- staan of op het moment bezig zijn weergegeven worden, en als
- de ALL optie is gegeven zullen alle gecachde hostnames
- worden weergegeven.
-
- Gelimiteerd tot Services admins.
-
-###########################################################################
-#
-# BotServ help messages
-#
-###########################################################################
-
OPER_HELP_MODLOAD
Gebruik: MODLOAD bestandsnaam
diff --git a/lang/pl.l b/lang/pl.l
index 3c7323b8a..99919058d 100644
--- a/lang/pl.l
+++ b/lang/pl.l
@@ -2470,8 +2470,6 @@ OPER_STATS_OPERSERV_MEM
OperServ : %6d rekordów, %5d kB
OPER_STATS_SESSIONS_MEM
Sesji : %6d rekordów, %5d kB
-OPER_STATS_PROXY_MEM
- Proxy : %6d rekordów, %5d kB
OPER_STATS_AKILL_COUNT
Aktualna ilo¶æ AKILLów: %d
OPER_STATS_AKILL_EXPIRE_DAYS
@@ -2965,34 +2963,6 @@ OPER_USERLIST_END
Koniec listy u¿ytkowników.
# CACHE responses
-OPER_CACHE_SYNTAX
- CACHE {DEL | LIST} {host | wzór} [QUEUED | ALL]
-OPER_CACHE_DISABLED
- Detekcja proxy jest wy³±czona.
-OPER_CACHE_NOT_FOUND
- %s nie znaleziono w cache.
-OPER_CACHE_REMOVED
- %s usuniêto z cache.
-OPER_CACHE_HEADER
- Host Status
-OPER_CACHE_LIST
- %-48s %s
-OPER_CACHE_FOOTER
- Koniec listy - %d/%d wyników pokazano.
-OPER_CACHE_QUEUED
- Kolejkowane
-OPER_CACHE_PROGRESS
- W trakcie
-OPER_CACHE_NORMAL
- Normalne
-OPER_CACHE_WINGATE
- Wingate
-OPER_CACHE_SOCKS4
- SOCKS 4
-OPER_CACHE_SOCKS5
- SOCKS 5
-OPER_CACHE_HTTP
- HTTP proxy
OPER_SUPER_ADMIN_ON
Jeste¶ teraz SuperAdminem.
OPER_SUPER_ADMIN_OFF
@@ -6155,20 +6125,6 @@ OPER_HELP_USERLIST
Limited to Services admins.
-OPER_HELP_CACHE
- Syntax: CACHE DEL hostname
- CACHE LIST pattern [QUEUED | ALL]
-
- The CACHE DEL command deletes the specified hostname from
- the cache. This is meant for debug purpose only.
-
- The CACHE LIST command lists all found proxies that match the
- given pattern. If the QUEUED option is given, it will list
- the queued or in progress scans instead, and if the ALL option
- is given, it will list all cached hostnames.
-
- Limited to Services admins.
-
OPER_HELP_MODLOAD
Syntax: MODLOAD FileName
diff --git a/lang/pt.l b/lang/pt.l
index fbdb1bfb7..3431c7377 100644
--- a/lang/pt.l
+++ b/lang/pt.l
@@ -2246,8 +2246,6 @@ OPER_STATS_OPERSERV_MEM
OperServ : %6d registros, %5d kB
OPER_STATS_SESSIONS_MEM
Sessões : %6d registros, %5d kB
-OPER_STATS_PROXY_MEM
- Proxies : %6d registros, %5d kB
OPER_STATS_AKILL_COUNT
Número atual de AKILLs: %d
OPER_STATS_AKILL_EXPIRE_DAYS
@@ -2722,34 +2720,6 @@ OPER_USERLIST_END
Fim da listagem.
# CACHE responses
-OPER_CACHE_SYNTAX
- CACHE {DEL | LIST} {host | padrão} [QUEUED | ALL]
-OPER_CACHE_DISABLED
- Detecção de Proxy está desabilitada.
-OPER_CACHE_NOT_FOUND
- %s não foi encontrado no cache.
-OPER_CACHE_REMOVED
- %s foi removido do cache.
-OPER_CACHE_HEADER
- Hostname Status
-OPER_CACHE_LIST
- %-48s %s
-OPER_CACHE_FOOTER
- Fim da lista - %d/%d resultados mostrados.
-OPER_CACHE_QUEUED
- Queued
-OPER_CACHE_PROGRESS
- Em progresso
-OPER_CACHE_NORMAL
- Normal
-OPER_CACHE_WINGATE
- Wingate
-OPER_CACHE_SOCKS4
- SOCKS 4
-OPER_CACHE_SOCKS5
- SOCKS 5
-OPER_CACHE_HTTP
- HTTP proxy
OPER_SUPER_ADMIN_ON
Você é agora um SuperAdmin
OPER_SUPER_ADMIN_OFF
@@ -5645,21 +5615,6 @@ OPER_HELP_USERLIST
Limitado aos Administradores dos Services.
-OPER_HELP_CACHE
- Sintaxe: CACHE DEL host
- CACHE LIST padrão [QUEUED | ALL]
-
- O comando CACHE DEL apaga do cache o host especificado.
- Isto é intensionado apenas para propósito de depuração.
-
- O comando CACHE LIST lista todas as proxies encontradas
- que combinam com o padrão fornecido. Se a opção QUEUED
- for fornecida, serão listados os scans (varreduras) em espera
- ou em progresso, e se a opção ALL for fornecida, serão
- listados todos os hosts no cache.
-
- Limitado aos Administradores dos Services.
-
OPER_HELP_MODLOAD
Sintaxe: MODLOAD NomeDoArquivo
diff --git a/lang/ru.l b/lang/ru.l
index 4a37476f3..3e069eb82 100644
--- a/lang/ru.l
+++ b/lang/ru.l
@@ -2272,8 +2272,6 @@ OPER_STATS_OPERSERV_MEM
OperServ : %6d çàïèñåé, %5d kB
OPER_STATS_SESSIONS_MEM
Ñåññèè : %6d çàïèñåé, %5d kB
-OPER_STATS_PROXY_MEM
- Ïðîêñè : %6d çàïèñåé, %5d kB
OPER_STATS_AKILL_COUNT
Êîëè÷åñòâî AKILL'îâ : %d
OPER_STATS_AKILL_EXPIRE_DAYS
@@ -2746,34 +2744,6 @@ OPER_USERLIST_END
Êîíåö ñïèñêà ïîëüçîâàòåëåé.
# CACHE responses
-OPER_CACHE_SYNTAX
- CACHE {DEL | LIST} {èìÿ õîñòà | ñèìâîëüíàÿ ìàñêà} [QUEUED | ALL]
-OPER_CACHE_DISABLED
- Äåòåêòîð ïðîêñè îòêëþ÷åí.
-OPER_CACHE_NOT_FOUND
- %s íå íàéäåí â êýøå.
-OPER_CACHE_REMOVED
- %s óäàëåí èç êýøà.
-OPER_CACHE_HEADER
- Èìÿ õîñòà Ñòàòóñ
-OPER_CACHE_LIST
- %-48s %s
-OPER_CACHE_FOOTER
- Êîíåö ñïèñêà - %d/%d çàïèñåé íàéäåíî.
-OPER_CACHE_QUEUED
- Î÷åðåäü
-OPER_CACHE_PROGRESS
- Âûïîëíÿåòñÿ
-OPER_CACHE_NORMAL
- Normal
-OPER_CACHE_WINGATE
- Wingate
-OPER_CACHE_SOCKS4
- SOCKS 4
-OPER_CACHE_SOCKS5
- SOCKS 5
-OPER_CACHE_HTTP
- HTTP ïðîêñè
OPER_SUPER_ADMIN_ON
Òåïåðü Âû Ñóïåð-Àäìèí
OPER_SUPER_ADMIN_OFF
@@ -5629,20 +5599,6 @@ OPER_HELP_USERLIST
Ýòó êîìàíäó ìîãóò èñïîëüçîâàòü òîëüêî Àäìèíèñòðàòîðû ñåðâèñîâ.
-OPER_HELP_CACHE
- Ñèíòàêñèñ: CACHE DEL õîñò
- CACHE LIST ñèìâîëüíàÿ ìàñêà [QUEUED | ALL]
-
- Êîìàíäà CACHE DEL óäàëÿåò óêàçàííûé õîñò èç
- êýøà. Ýòà êîìàíäà ïðåäíàçíà÷åíà òîëüêî äëÿ îòëàäêè.
-
- Êîìàíäà CACHE LIST ïîêàçûâàåò ñïèñêî âñåõ íàéäåííûõ ïðîêñè, ïîäïàäàþùèõ ïîä
- óêàçàííóþ ñèìâîëüíóþ ìàñêó. Åñëè óêàçàòü ïàðàìåòð QUEUED, òî áóäåò ïîêàçàíà
- î÷åðåäü ñêàíîâ, è åñëè óêàçàòü ïàðàìåòð ALL,
- òî áóäóò ïîêàçàíû âñå êýøèðîâàííûå õîñòû.
-
- Ýòó êîìàíäó ìîãóò èñïîëüçîâàòü òîëüêî Àäìèíèñòðàòîðû ñåðâèñîâ.
-
OPER_HELP_MODLOAD
Ñèíòàêñèñ: MODLOAD ÈìÿÔàéëà
diff --git a/lang/tr.l b/lang/tr.l
index 676db0e86..d3644287c 100644
--- a/lang/tr.l
+++ b/lang/tr.l
@@ -2299,8 +2299,6 @@ OPER_STATS_OPERSERV_MEM
OperServ : %6d kayýt, %5d kB
OPER_STATS_SESSIONS_MEM
Oturumlar : %6d kayýt, %5d kB
-OPER_STATS_PROXY_MEM
- Proxyler : %6d kayit, %5d kB
OPER_STATS_AKILL_COUNT
Þu anki AKILL sayýsý: %d
OPER_STATS_AKILL_EXPIRE_DAYS
@@ -2781,42 +2779,6 @@ OPER_USERLIST_END
Kullanýcý listesi sonu.
# CACHE responses
-OPER_CACHE_SYNTAX
- CACHE {DEL | LIST} {host | model} [QUEUED | ALL]
-OPER_CACHE_DISABLED
- Proxy taramasi devre disi.
-OPER_CACHE_NOT_FOUND
- %s cache te bulunamadi.
-OPER_CACHE_REMOVED
- %s cache ten çikarildi.
-OPER_CACHE_HEADER
- Host Durum
-OPER_CACHE_LIST
- %-48s %s
-OPER_CACHE_FOOTER
- Liste sonu - %d/%d kayit gösterildi.
-OPER_CACHE_QUEUED
- Siraya alindi
-OPER_CACHE_PROGRESS
- Islemde
-OPER_CACHE_NORMAL
- Normal
-OPER_CACHE_WINGATE
- Wingate
-OPER_CACHE_SOCKS4
- SOCKS 4
-OPER_CACHE_SOCKS5
- SOCKS 5
-OPER_CACHE_HTTP
- HTTP proxy
-
-###########################################################################
-#
-# Session Limiting and Exception messages
-#
-###########################################################################
-
-# EXCEPTION responses
OPER_SUPER_ADMIN_ON
You are now a SuperAdmin
OPER_SUPER_ADMIN_OFF
@@ -5662,26 +5624,6 @@ OPER_HELP_USERLIST
Servis adminlerinin Kullanýmýyla sýnýrlýdýr.
-OPER_HELP_CACHE
- Kullanimi: CACHE DEL hostadi
- CACHE LIST model [QUEUED | ALL]
-
- CACHE DEL komutu belirtilen hostadini cache ten siler.
- sadece hata kontrolü için kullanilir.
-
- CACHE LIST komutu belirtilen modele uyan tüm proxy leri
- listeler. Eger QUEUED özelligi belirtilmisse, siradaki veya
- aktif taramalardaki proxy leri listeler. Eger ALL özelligi
- belirtilmis ise tüm cache teki hostadlarini listeler.
-
- Servis adminlerinin kullanimiyla sinirlidir..
-
-###########################################################################
-#
-# BotServ help messages
-#
-###########################################################################
-
OPER_HELP_MODLOAD
Syntax: MODLOAD FileName
diff --git a/makefile.inc.win32 b/makefile.inc.win32
index 3081640e4..ea65d1abb 100644
--- a/makefile.inc.win32
+++ b/makefile.inc.win32
@@ -38,9 +38,6 @@ USE_MYSQL=0
# Set this to the path where the MySQL libraries can be found
#MYSQL_LIB="c:\\mysql\\lib\\opt\\"
-# Set this to 1 to enable the proxy scanner
-PROXY_SCANNER=0
-
# Set this to 1 to enable database encryption
DB_ENCRYPTION=0
@@ -160,10 +157,6 @@ MYPASQL_BUILD=$(CC) /LD $(MYSQL_INC_PATH) src\mypasql.c /link $(MYSQL_LIB_PATH)
LIBS=$(LIBS) libmysql.lib zlib.lib
!ENDIF
-!IF $(PROXY_SCANNER) == 1
-BASE_CFLAGS=/D USE_THREADS $(BASE_CFLAGS)
-!ENDIF
-
!IF $(DB_ENCRYPTION) == 1
BASE_CFLAGS=/D USE_ENCRYPTION /D ENCRYPT_MD5 $(BASE_CFLAGS)
!ENDIF
diff --git a/src/Makefile b/src/Makefile
index b4b1269ec..bad41a4b8 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -4,14 +4,12 @@ IRCD_OBJ = $(IRCDFILE:.c=.o)
OBJS = actions.o base64.o botserv.o channels.o chanserv.o commands.o compat.o converter.o \
config.o datafiles.o encrypt.o events.o helpserv.o hostserv.o init.o language.o list.o log.o mail.o main.o \
memory.o memoserv.o messages.o misc.o modules.o news.o nickserv.o operserv.o \
- process.o proxy.o send.o servers.o sessions.o slist.o sockutil.o \
- timeout.o users.o \
+ process.o send.o servers.o sessions.o slist.o sockutil.o timeout.o users.o \
$(VSNPRINTF_O) $(RDB_OBJ) $(MYSQL_OBJ) $(IRCD_OBJ)
SRCS = actions.c base64.c botserv.c channels.c chanserv.c commands.c compat.c converter.c \
config.c datafiles.c encrypt.c events.c helpserv.c hostserv.c init.c language.c list.c log.c mail.c main.c \
memory.c memoserv.c messages.c misc.c modules.c news.c nickserv.c operserv.c \
- process.c proxy.c send.c servers.c sessions.c slist.c sockutil.c \
- timeout.c users.c \
+ process.c send.c servers.c sessions.c slist.c sockutil.c timeout.c users.c \
$(VSNPRINTF_C) $(RDB) $(MYSQL) $(IRCDFILE)
INCLUDES = ../include/commands.h ../include/defs.h ../include/language.h \
@@ -73,7 +71,6 @@ news.o: news.c $(INCLUDES)
nickserv.o: nickserv.c $(INCLUDES)
operserv.o: operserv.c $(INCLUDES)
process.o: process.c $(INCLUDES)
-proxy.o: proxy.c $(INCLUDES)
send.o: send.c $(INCLUDES)
servers.o: servers.c $(INCLUDES)
sessions.o: sessions.c $(INCLUDES)
diff --git a/src/config.c b/src/config.c
index 4176faedb..0043e390e 100644
--- a/src/config.c
+++ b/src/config.c
@@ -125,24 +125,6 @@ int RestrictMail;
int MailDelay;
int DontQuoteAddresses;
-int ProxyDetect;
-int ProxyThreads;
-char *ProxyMessage[8];
-int ProxyCheckWingate;
-int ProxyCheckSocks4;
-int ProxyCheckSocks5;
-int ProxyCheckHTTP1;
-int ProxyCheckHTTP2;
-int ProxyCheckHTTP3;
-int ProxyTimeout;
-char *ProxyTestServer;
-int ProxyTestPort;
-int ProxyExpire;
-int ProxyCacheExpire;
-char *ProxyAkillReason;
-int WallProxy;
-int ProxyMax;
-
static int NSDefNone;
char *NSGuestNickPrefix;
int NSAllowKillImmed;
@@ -567,30 +549,6 @@ Directive directives[] = {
{"OperServAlias", {{PARAM_STRING, 0, &s_OperServAlias},
{PARAM_STRING, 0, &desc_OperServAlias}}},
{"PIDFile", {{PARAM_STRING, 0, &PIDFilename}}},
- {"ProxyAkillReason",
- {{PARAM_STRING, PARAM_RELOAD, &ProxyAkillReason}}},
- {"ProxyCacheExpire", {{PARAM_TIME, PARAM_RELOAD, &ProxyCacheExpire}}},
- {"ProxyCheckWingate", {{PARAM_SET, PARAM_RELOAD, &ProxyCheckWingate}}},
- {"ProxyCheckSocks4", {{PARAM_SET, PARAM_RELOAD, &ProxyCheckSocks4}}},
- {"ProxyCheckSocks5", {{PARAM_SET, PARAM_RELOAD, &ProxyCheckSocks5}}},
- {"ProxyCheckHTTP1", {{PARAM_SET, PARAM_RELOAD, &ProxyCheckHTTP1}}},
- {"ProxyCheckHTTP2", {{PARAM_SET, PARAM_RELOAD, &ProxyCheckHTTP2}}},
- {"ProxyCheckHTTP3", {{PARAM_SET, PARAM_RELOAD, &ProxyCheckHTTP3}}},
- {"ProxyDetect", {{PARAM_SET, 0, &ProxyDetect}}},
- {"ProxyExpire", {{PARAM_TIME, PARAM_RELOAD, &ProxyExpire}}},
- {"ProxyMax", {{PARAM_POSINT, PARAM_RELOAD, &ProxyMax}}},
- {"ProxyMessage1", {{PARAM_STRING, PARAM_RELOAD, &ProxyMessage[0]}}},
- {"ProxyMessage2", {{PARAM_STRING, PARAM_RELOAD, &ProxyMessage[1]}}},
- {"ProxyMessage3", {{PARAM_STRING, PARAM_RELOAD, &ProxyMessage[2]}}},
- {"ProxyMessage4", {{PARAM_STRING, PARAM_RELOAD, &ProxyMessage[3]}}},
- {"ProxyMessage5", {{PARAM_STRING, PARAM_RELOAD, &ProxyMessage[4]}}},
- {"ProxyMessage6", {{PARAM_STRING, PARAM_RELOAD, &ProxyMessage[5]}}},
- {"ProxyMessage7", {{PARAM_STRING, PARAM_RELOAD, &ProxyMessage[6]}}},
- {"ProxyMessage8", {{PARAM_STRING, PARAM_RELOAD, &ProxyMessage[7]}}},
- {"ProxyTestServer", {{PARAM_STRING, PARAM_RELOAD, &ProxyTestServer},
- {PARAM_PORT, PARAM_RELOAD, &ProxyTestPort}}},
- {"ProxyThreads", {{PARAM_POSINT, 0, &ProxyThreads}}},
- {"ProxyTimeout", {{PARAM_TIME, PARAM_RELOAD, &ProxyTimeout}}},
{"ReadTimeout", {{PARAM_TIME, PARAM_RELOAD, &ReadTimeout}}},
{"RemoteServer", {{PARAM_STRING, 0, &RemoteServer},
{PARAM_PORT, 0, &RemotePort},
@@ -656,7 +614,6 @@ Directive directives[] = {
{"WallOSSGLine", {{PARAM_SET, PARAM_RELOAD, &WallOSSGLine}}},
{"WallOSSQLine", {{PARAM_SET, PARAM_RELOAD, &WallOSSQLine}}},
{"WallOSSZLine", {{PARAM_SET, PARAM_RELOAD, &WallOSSZLine}}},
- {"WallProxy", {{PARAM_SET, PARAM_RELOAD, &WallProxy}}},
{"WallSetpass", {{PARAM_SET, PARAM_RELOAD, &WallSetpass}}},
{"WallSGLineExpire", {{PARAM_SET, PARAM_RELOAD, &WallSGLineExpire}}},
{"WallSQLineExpire", {{PARAM_SET, PARAM_RELOAD, &WallSQLineExpire}}},
@@ -1367,15 +1324,6 @@ int read_config(int reload)
CHECK(SendFrom);
}
- if (ProxyDetect) {
- CHECK(ProxyThreads);
- CHECK(ProxyTimeout);
- CHECK(ProxyTestServer);
- CHECK(ProxyCacheExpire);
- CHECK(ProxyAkillReason);
- CHECK(ProxyMax);
- }
-
if (GlobalOnCycle) {
if (!GlobalOnCycleMessage && !GlobalOnCycleUP) {
alog("GlobalOnCycleMessage and GlobalOnCycleUP are not defined disabling GlobalOnCycle");
diff --git a/src/init.c b/src/init.c
index 37725437d..f7650aed4 100644
--- a/src/init.c
+++ b/src/init.c
@@ -592,14 +592,6 @@ int init(int ac, char **av)
}
#endif
- /* Initialize proxy detection */
-#ifdef USE_THREADS
- if (ProxyDetect && !proxy_init()) {
- perror("proxy_init()");
- return -1;
- }
-#endif
-
/* load any custom modules */
modules_init();
diff --git a/src/main.c b/src/main.c
index e3786bbd6..cce61a336 100644
--- a/src/main.c
+++ b/src/main.c
@@ -128,10 +128,6 @@ extern void expire_all(void)
expire_szlines();
}
expire_exceptions();
-#ifdef USE_THREADS
- if (ProxyDetect)
- proxy_expire();
-#endif
send_event(EVENT_DB_EXPIRE, EVENT_STOP);
}
diff --git a/src/makefile.win32 b/src/makefile.win32
index 64bf75eea..5ff506c0a 100644
--- a/src/makefile.win32
+++ b/src/makefile.win32
@@ -21,13 +21,13 @@ OBJS = actions.obj base64.obj botserv.obj channels.obj chanserv.obj commands.ob
converter.obj config.obj datafiles.obj encrypt.obj events.obj helpserv.obj hostserv.obj \
init.obj language.obj list.obj log.obj mail.obj main.obj memory.obj memoserv.obj \
messages.obj misc.obj modules.obj news.obj nickserv.obj operserv.obj \
- process.obj proxy.obj send.obj servers.obj sessions.obj slist.obj sockutil.obj \
+ process.obj send.obj servers.obj sessions.obj slist.obj sockutil.obj \
timeout.obj users.obj $(RDB_O) $(MYSQL_O) $(CAPAB_O)
SRCS = actions.c base64.c botserv.c channels.c chanserv.c commands.c compat.c converter.c \
config.c datafiles.c encrypt.c events.c helpserv.c hostserv.c init.c language.c list.c \
log.c mail.c main.c memory.c memoserv.c messages.c misc.c modules.c news.c nickserv.c \
- operserv.c process.c proxy.c send.c servers.obj sessions.c slist.c sockutil.c \
+ operserv.c process.c send.c servers.obj sessions.c slist.c sockutil.c \
timeout.c users.c $(RDB_C) $(MYSQL_C) $(CAPAB_C)
###########################################################################
@@ -86,7 +86,6 @@ news.obj: news.c ..\include\services.h ..\include\
nickserv.obj: nickserv.c ..\include\services.h ..\include\pseudo.h
operserv.obj: operserv.c ..\include\services.h ..\include\pseudo.h
process.obj: process.c ..\include\services.h ..\include\messages.h
-proxy.obj: proxy.c ..\include\services.h ..\include\pseudo.h
send.obj: send.c ..\include\services.h
servers.obj: servers.c ..\include\services.h
sessions.obj: sessions.c ..\include\services.h ..\include\pseudo.h
diff --git a/src/misc.c b/src/misc.c
index cf7ac593e..147895e9b 100644
--- a/src/misc.c
+++ b/src/misc.c
@@ -1147,4 +1147,13 @@ char *stripModePrefix(const char *str) {
return NULL;
}
+/* Equivalent to inet_ntoa */
+
+void ntoa(struct in_addr addr, char *ipaddr, int len)
+{
+ unsigned char *bytes = (unsigned char *) &addr.s_addr;
+ snprintf(ipaddr, len, "%u.%u.%u.%u", bytes[0], bytes[1], bytes[2],
+ bytes[3]);
+}
+
/* EOF */
diff --git a/src/mysql.c b/src/mysql.c
index bdbdb9c3a..d07a4648a 100644
--- a/src/mysql.c
+++ b/src/mysql.c
@@ -638,13 +638,11 @@ void db_mysql_save_cs_info(ChannelInfo * ci)
/*************************************************************************/
void db_mysql_save_os_db(unsigned int maxucnt, unsigned int maxutime,
- SList * ak, SList * sgl, SList * sql, SList * szl,
- HostCache * hc)
+ SList * ak, SList * sgl, SList * sql, SList * szl)
{
char sqlcmd[MAX_SQL_BUF];
Akill *t_ak;
SXLine *t_sl;
- HostCache *t_hc;
char *takuser, *takhost, *takby, *takreason, *tslmask, *tslby,
*tslreason, *thchost;
@@ -755,25 +753,6 @@ void db_mysql_save_os_db(unsigned int maxucnt, unsigned int maxutime,
free(tslreason);
}
-/* and finally we save hcache */
- rdb_clear_table("anope_os_hcache");
- for (i = 0; i < 1024; i++) {
- for (t_hc = hcache[i]; t_hc; t_hc = t_hc->next) {
- /* Don't save in-progress scans */
- if (t_hc->status < HC_NORMAL)
- continue;
- thchost = db_mysql_quote(t_hc->host);
- snprintf(sqlcmd, MAX_SQL_BUF,
- "INSERT DELAYED INTO anope_os_hcache (mask,status,used) VALUES ('%s','%d','%d')",
- thchost, (int) t_hc->status, (int) t_hc->used);
- if (db_mysql_query(sqlcmd)) {
- log_perror("Can't create sql query: %s", sqlcmd);
- db_mysql_error(MYSQL_WARNING, "query");
- }
- free(thchost);
- }
- }
-
return;
}
@@ -1037,7 +1016,6 @@ void db_mysql_load_os_dbase(void)
char sqlcmd[MAX_SQL_BUF];
Akill *ak;
SXLine *sx;
- HostCache *hc;
int akc, sgc, sqc, szc, j;
if (!do_mysql)
@@ -1146,33 +1124,6 @@ void db_mysql_load_os_dbase(void)
slist_add(&szlines, sx);
}
mysql_free_result(mysql_res);
-
- snprintf(sqlcmd, MAX_SQL_BUF,
- "SELECT `mask`,`status`,`used` FROM `anope_os_hcache`");
- if (db_mysql_query(sqlcmd)) {
- log_perror("Can't create sql query: %s", sqlcmd);
- db_mysql_error(MYSQL_WARNING, "query");
- return;
- }
- mysql_res = mysql_store_result(mysql);
- if (mysql_num_rows(mysql_res) == 0) {
- mysql_free_result(mysql_res);
- return;
- }
- while ((mysql_row = mysql_fetch_row(mysql_res))) {
- j = HASH(mysql_row[0]);
- hc = scalloc(1, sizeof(HostCache));
- hc->host = sstrdup(mysql_row[0]);
- hc->status = atoi(mysql_row[1]);
- hc->used = atoi(mysql_row[2]);
-
- hc->prev = NULL;
- hc->next = hcache[j];
- if (hc->next)
- hc->next->prev = hc;
- hcache[j] = hc;
- }
- mysql_free_result(mysql_res);
}
#undef HASH
diff --git a/src/operserv.c b/src/operserv.c
index 83c284793..390f0a11a 100644
--- a/src/operserv.c
+++ b/src/operserv.c
@@ -195,7 +195,6 @@ void moduleAddOperServCmds(void) {
c = createCommand("EXCEPTION", do_exception, is_services_admin,OPER_HELP_EXCEPTION, -1,-1,-1, -1); addCoreCommand(OPERSERV,c);
c = createCommand("CHANLIST", do_chanlist, is_services_admin,OPER_HELP_CHANLIST, -1,-1,-1,-1); addCoreCommand(OPERSERV,c);
c = createCommand("USERLIST", do_userlist, is_services_admin,OPER_HELP_USERLIST, -1,-1,-1,-1); addCoreCommand(OPERSERV,c);
- c = createCommand("CACHE", do_cache, is_services_admin,OPER_HELP_CACHE, -1,-1,-1,-1); addCoreCommand(OPERSERV,c);
c = createCommand("DEFCON", do_defcon, is_services_admin, OPER_HELP_DEFCON,-1,-1,-1,-1); addCoreCommand(OPERSERV,c);
c = createCommand("CHANKILL", do_chankill, is_services_admin, OPER_HELP_CHANKILL,-1,-1,-1,-1); addCoreCommand(OPERSERV,c);
/* Commands for Services root: */
@@ -492,7 +491,6 @@ void load_os_dbase(void)
{
dbFILE *f;
int16 i, ver, c;
- HostCache *hc, **hclast, *hcprev;
uint16 tmp16, n;
uint32 tmp32;
char *s;
@@ -623,33 +621,6 @@ void load_os_dbase(void)
}
}
- if (ver >= 12) {
- for (i = 0; i < 1024 && !failed; i++) {
- hclast = &hcache[i];
- hcprev = NULL;
-
- while ((c = getc_db(f)) != 0) {
- if (c != 1)
- fatal("Invalid format in %s", OperDBName);
-
- hc = scalloc(1, sizeof(HostCache));
-
- SAFE(read_string(&hc->host, f));
- SAFE(read_int16(&tmp16, f));
- hc->status = tmp16;
- SAFE(read_int32(&tmp32, f));
- hc->used = tmp32;
-
- *hclast = hc;
- hclast = &hc->next;
- hc->prev = hcprev;
- hcprev = hc;
- } /* while (getc_db(f) != 0) */
-
- *hclast = NULL;
- } /* for (i) */
- }
-
close_db(f);
}
@@ -680,7 +651,6 @@ void save_os_dbase(void)
static time_t lastwarn = 0;
Akill *ak;
SXLine *sx;
- HostCache *hc;
if (!(f = open_db(s_OperServ, OperDBName, "w", OPER_VERSION)))
return;
@@ -732,22 +702,6 @@ void save_os_dbase(void)
SAFE(write_int32(sx->expires, f));
}
- for (i = 0; i < 1024; i++) {
- for (hc = hcache[i]; hc; hc = hc->next) {
- /* Don't save in-progress scans */
- if (hc->status < HC_NORMAL)
- continue;
-
- SAFE(write_int8(1, f));
-
- SAFE(write_string(hc->host, f));
- SAFE(write_int16(hc->status, f));
- SAFE(write_int32(hc->used, f));
-
- } /* for (hc) */
- SAFE(write_int8(0, f));
- } /* for (i) */
-
close_db(f);
}
@@ -762,7 +716,7 @@ void save_os_rdb_dbase(void)
if (!rdb_open())
return;
rdb_save_os_db(maxusercnt, maxusertime, &akills, &sglines, &sqlines,
- &szlines, hcache[0]);
+ &szlines);
rdb_close();
#endif
}
@@ -1311,13 +1265,6 @@ static int do_stats(User * u)
get_session_stats(&count, &mem);
notice_lang(s_OperServ, u, OPER_STATS_SESSIONS_MEM, count,
(mem + 512) / 1024);
-#ifdef USE_THREADS
- if (ProxyDetect) {
- get_proxy_stats(&count, &mem);
- notice_lang(s_OperServ, u, OPER_STATS_PROXY_MEM, count,
- (mem + 512) / 1024);
- }
-#endif
}
return MOD_CONT;
}
diff --git a/src/proxy.c b/src/proxy.c
deleted file mode 100644
index f2e7ae96e..000000000
--- a/src/proxy.c
+++ /dev/null
@@ -1,809 +0,0 @@
-/* Proxy detector.
- *
- * (C) 2003-2005 Anope Team
- * Contact us at info@anope.org
- *
- * Please read COPYING and README for further details.
- *
- * Based on the original code of Epona by Lara.
- * Based on the original code of Services by Andy Church.
- *
- * $Id$
- *
- */
-
-#include "services.h"
-#include "pseudo.h"
-#include <fcntl.h>
-
-#ifndef INADDR_NONE
-#define INADDR_NONE 0xFFFFFFFF
-#endif
-
-/* Hashed list of HostCache; threads must not use it! */
-HostCache *hcache[1024];
-
-/*************************************************************************/
-
-/* Equivalent to inet_ntoa */
-
-void ntoa(struct in_addr addr, char *ipaddr, int len)
-{
- unsigned char *bytes = (unsigned char *) &addr.s_addr;
- snprintf(ipaddr, len, "%u.%u.%u.%u", bytes[0], bytes[1], bytes[2],
- bytes[3]);
-}
-
-/*************************************************************************/
-
-#ifdef USE_THREADS
-
-/*************************************************************************/
-
-#define HASH(host) ((tolower((host)[0])&31)<<5 | (tolower((host)[1])&31))
-
-/* Proxy queue; access controlled by queuemut */
-SList pxqueue;
-
-#ifndef _WIN32
-ano_mutex_t queuemut = PTHREAD_MUTEX_INITIALIZER;
-ano_cond_t queuecond = PTHREAD_COND_INITIALIZER;
-
-#if !defined(HAVE_GETHOSTBYNAME_R6) && !defined(HAVE_GETHOSTBYNAME_R5) && !defined(HAVE_GETHOSTBYNAME_R3)
-ano_mutex_t resmut = PTHREAD_MUTEX_INITIALIZER;
-#endif
-#else
-ano_mutex_t queuemut;
-ano_cond_t queuecond;
-#endif
-
-static uint32 aton(char *ipaddr);
-static void proxy_akill(char *host);
-HostCache *proxy_cache_add(char *host);
-static void proxy_cache_del(HostCache * hc);
-static HostCache *proxy_cache_find(char *host);
-static int proxy_connect(unsigned long ip, unsigned short port);
-static void proxy_queue_cleanup_unlock(void *arg);
-static void proxy_queue_lock(void);
-static void proxy_queue_signal(void);
-static void proxy_queue_unlock(void);
-static void proxy_queue_wait(void);
-static int proxy_read(int s, char *buf, size_t buflen);
-static uint32 proxy_resolve(char *host);
-static int proxy_scan(uint32 ip);
-static void *proxy_thread_main(void *arg);
-
-/*************************************************************************/
-
-/* Equivalent to inet_addr */
-
-static uint32 aton(char *ipaddr)
-{
- int i;
- long lv;
- char *endptr;
- uint32 res;
- unsigned char *bytes = (unsigned char *) &res;
-
- for (i = 0; i < 4; i++) {
- if (!*ipaddr)
- return INADDR_NONE;
-
- lv = strtol(ipaddr, &endptr, 10);
- if (lv < 0 || lv > 255 || (*endptr != 0 && *endptr != '.'))
- return INADDR_NONE;
-
- bytes[i] = (unsigned char) lv;
- ipaddr = (!*endptr ? endptr : ++endptr);
- }
-
- if (*endptr)
- return INADDR_NONE;
-
- return res;
-}
-
-/*************************************************************************/
-
-void get_proxy_stats(long *nrec, long *memuse)
-{
- int i;
- long mem = 0, count = 0;
- HostCache *hc;
-
- for (i = 0; i < 1024; i++) {
- for (hc = hcache[i]; hc; hc = hc->next) {
- count += 1;
- mem += sizeof(HostCache);
- mem += strlen(hc->host) + 1;
- }
- }
-
- *nrec = count;
- *memuse = mem;
-}
-
-/*************************************************************************/
-
-/* Akills the given host, and issues a GLOBOPS if configured so */
-
-static void proxy_akill(char *host)
-{
- anope_cmd_akill("*", host, s_OperServ, time(NULL),
- time(NULL) + (ProxyExpire ? ProxyExpire : 86400 * 2),
- ProxyAkillReason);
- if (WallProxy)
- anope_cmd_global(s_OperServ,
- "Insecure proxy \2%s\2 has been AKILLed.", host);
-}
-
-/*************************************************************************/
-
-/* Adds a cache entry after having it allocated */
-
-HostCache *proxy_cache_add(char *host)
-{
- HostCache *hc;
- int index = HASH(host);
-
- hc = scalloc(1, sizeof(HostCache));
- hc->host = sstrdup(host);
- hc->used = time(NULL);
-
- hc->prev = NULL;
- hc->next = hcache[index];
- if (hc->next)
- hc->next->prev = hc;
- hcache[index] = hc;
-
- if (debug)
- alog("debug: Added %s to host cache", host);
-
- return hc;
-}
-
-/*************************************************************************/
-
-/* Deletes and frees a proxy cache entry */
-
-static void proxy_cache_del(HostCache * hc)
-{
- /* Just to be sure */
- if (hc->status < 0)
- return;
-
- if (debug)
- alog("debug: Deleting %s from host cache", hc->host);
-
- if (hc->status > HC_NORMAL)
- anope_cmd_remove_akill("*", hc->host);
-
- if (hc->next)
- hc->next->prev = hc->prev;
- if (hc->prev)
- hc->prev->next = hc->next;
- else
- hcache[HASH(hc->host)] = hc->next;
-
- if (hc->host)
- free(hc->host);
-
- free(hc);
-}
-
-/*************************************************************************/
-
-/* Finds a proxy cache entry */
-
-static HostCache *proxy_cache_find(char *host)
-{
- HostCache *hc;
-
- for (hc = hcache[HASH(host)]; hc; hc = hc->next) {
- if (stricmp(hc->host, host) == 0)
- return hc;
- }
-
- return NULL;
-}
-
-/*************************************************************************/
-
-/* Checks whether the specified host is in the cache.
- * If so:
- * * if it's a proxy, take the appropriate actions, including killing nick
- * * if it's not a proxy, do nothing
- * If not:
- * * add the host to the cache
- * * add the host to the queue
- * * send a signal to a waiting thread (if any)
- *
- * Returns 0 if nick is to be added to internal list, 1 else
- */
-
-int proxy_check(char *nick, char *host, uint32 ip)
-{
- int i;
- char **message;
- HostCache *hc;
-
- if ((hc = proxy_cache_find(host))) {
- hc->used = time(NULL);
-
- if (hc->status <= HC_NORMAL)
- return 0;
-
- proxy_akill(host);
- return 0;
- }
-
- for (message = ProxyMessage, i = 0; i < 8 && *message && **message;
- message++, i++)
- notice(s_GlobalNoticer, nick, "%s", *message);
-
- hc = proxy_cache_add(host);
- if (ircd->nickip) {
- hc->ip = htonl(ip);
- }
- hc->status = HC_QUEUED;
-
- proxy_queue_lock();
- slist_add(&pxqueue, hc);
- if (debug)
- alog("debug: Added %s to proxy queue", hc->host);
- proxy_queue_signal();
- proxy_queue_unlock();
-
- return 0;
-}
-
-/*************************************************************************/
-
-/* Initiates a non-blocking connection */
-
-static int proxy_connect(unsigned long ip, unsigned short port)
-{
- struct sockaddr_in sin;
- ano_socket_t s;
-
- fd_set fds;
- struct timeval tv;
- int error;
- unsigned int errlen;
-
- if ((s = socket(PF_INET, SOCK_STREAM, 0)) == -1)
- return -1;
-
- if (ano_socksetnonb(s) == -1) {
- ano_sockclose(s);
- return -1;
- }
-
- memset(&sin, 0, sizeof(struct sockaddr_in));
-
- sin.sin_family = AF_INET;
- sin.sin_addr.s_addr = ip;
- sin.sin_port = htons(port);
-
- if (connect(s, (struct sockaddr *) &sin, sizeof(struct sockaddr_in)) ==
- -1 && ano_sockerrnonb(ano_sockgeterr())) {
- ano_sockclose(s);
- return -1;
- }
-
- FD_ZERO(&fds);
- FD_SET(s, &fds);
-
- tv.tv_sec = ProxyTimeout;
- tv.tv_usec = 0;
-
- if (select(s + 1, NULL, &fds, NULL, &tv) <= 0) {
- ano_sockclose(s);
- return -1;
- }
-
- errlen = sizeof(int);
-#ifndef _WIN32
- if (getsockopt(s, SOL_SOCKET, SO_ERROR, &error, &errlen) == -1
-#else
- if (getsockopt(s, SOL_SOCKET, SO_ERROR, (char *) &error, &errlen) == -1
-#endif
- || error != 0) {
- ano_sockclose(s);
- return -1;
- }
-
- return s;
-}
-
-/*************************************************************************/
-
-/* Deletes expired cache entries */
-
-void proxy_expire()
-{
- int i;
- HostCache *hc, *next;
- time_t t = time(NULL);
-
- for (i = 0; i < 1024; i++) {
- for (hc = hcache[i]; hc; hc = next) {
- next = hc->next;
-
- /* Don't expire not scanned yet entries */
- if (hc->status < HC_NORMAL)
- continue;
-
- if (hc->status == HC_NORMAL
- && t - hc->used >= ProxyCacheExpire) {
- proxy_cache_del(hc);
- continue;
- }
-
- if (ProxyExpire && hc->status > HC_NORMAL
- && t - hc->used >= ProxyExpire) {
- alog("proxy: Expiring proxy %s", hc->host);
- proxy_cache_del(hc);
- }
- }
- }
-}
-
-/*************************************************************************/
-
-/* Initializes the proxy detector. Returns 1 on success, 0 on error. */
-
-int proxy_init(void)
-{
- int i;
- ano_thread_t th;
-
- slist_init(&pxqueue);
-
-#ifdef _WIN32
- queuemut = CreateMutex(NULL, FALSE, NULL);
- queuecond = CreateEvent(NULL, FALSE, FALSE, NULL);
-#endif
-
- for (i = 1; i <= ProxyThreads; i++) {
- if (ano_thread_create(th, proxy_thread_main, NULL))
- return 0;
- if (ano_thread_detach(th))
- return 0;
- if (debug)
- alog("debug: Creating proxy thread %ld (%d of %d)", (long) th,
- i, ProxyThreads);
- }
-
- alog("Proxy detector initialized");
-
- return 1;
-}
-
-/*************************************************************************/
-
-static void proxy_queue_cleanup_unlock(void *arg)
-{
- proxy_queue_unlock();
-}
-
-/*************************************************************************/
-
-static void proxy_queue_lock(void)
-{
- if (debug)
- alog("debug: Thread %ld: Locking proxy queue mutex",
- (long) ano_thread_self());
- ano_mutex_lock(queuemut);
-}
-
-/*************************************************************************/
-
-static void proxy_queue_signal(void)
-{
- if (debug)
- alog("debug: Thread %ld: Signaling proxy queue condition",
- (long) ano_thread_self());
- ano_cond_signal(queuecond);
-}
-
-/*************************************************************************/
-
-static void proxy_queue_unlock(void)
-{
- if (debug)
- alog("debug: Thread %ld: Unlocking proxy queue mutex",
- (long) ano_thread_self());
- ano_mutex_unlock(queuemut);
-}
-
-/*************************************************************************/
-
-static void proxy_queue_wait(void)
-{
- if (debug)
- alog("debug: Thread %ld: waiting proxy queue condition",
- (long) ano_thread_self());
- ano_cond_wait(queuecond, queuemut);
-}
-
-/*************************************************************************/
-
-/* Reads from the socket, in a non-blocking manner */
-
-static int proxy_read(int s, char *buf, size_t buflen)
-{
- fd_set fds;
- struct timeval tv;
-
- FD_ZERO(&fds);
- FD_SET(s, &fds);
-
- tv.tv_sec = ProxyTimeout;
- tv.tv_usec = 0;
-
- if (select(s + 1, &fds, NULL, NULL, &tv) <= 0)
- return -1;
-
- return recv(s, buf, buflen, 0);
-}
-
-/*************************************************************************/
-
-/* Resolves hostnames in a thread safe manner */
-
-static uint32 proxy_resolve(char *host)
-{
- struct hostent *hentp = NULL;
- uint32 ip = INADDR_NONE;
-#if defined(HAVE_GETHOSTBYNAME_R6)
- struct hostent hent;
- char hbuf[8192];
- int herrno;
-
- if (gethostbyname_r(host, &hent, hbuf, sizeof(hbuf), &hentp, &herrno) <
- 0)
- hentp = NULL;
-#elif defined(HAVE_GETHOSTBYNAME_R5)
- struct hostent hent char hbuf[8192];
- int herrno;
- hentp = gethostbyname_r(host, &hent, hbuf, sizeof(hbuf), &herrno);
-#elif defined(HAVE_GETHOSTBYNAME_R3)
- struct hostent hent;
- struct hostent_data data;
- hentp = gethostbyname_r(host, &hent, &data);
-#elif defined(_WIN32)
- /* MSVC's gethostbyname is thread safe -- codemastr */
- hentp = gethostbyname(host);
-#else
- /* Make it safe that way */
- ano_mutex_lock(resmut);
- hentp = gethostbyname(host);
-#endif
-
- if (hentp) {
- memcpy(&ip, hentp->h_addr, sizeof(hentp->h_length));
- if (debug) {
- char ipbuf[16];
- struct in_addr addr;
- addr.s_addr = ip;
- ntoa(addr, ipbuf, sizeof(ipbuf));
- alog("debug: Thread %ld: resolved %s to %s",
- (long) ano_thread_self(), host, ipbuf);
- }
- }
-#if !defined(HAVE_GETHOSTBYNAME_R6) && !defined(HAVE_GETHOSTBYNAME_R5) && !defined(HAVE_GETHOSTBYNAME_R3) && !defined(_WIN32)
- ano_mutex_unlock(resmut);
-#endif
-
- return ip;
-}
-
-/*************************************************************************/
-
-/* Scans the given host for proxy */
-
-static int proxy_scan(uint32 ip)
-{
- int s; /* Socket */
- int i;
-
- if (ip == INADDR_NONE)
- return HC_NORMAL;
-
- /* Scan for SOCKS (4/5) */
-
- for (i = 0; i < 2; i++) {
- if ((s = proxy_connect(ip, 1080)) == -1)
- break;
-
- if (ProxyCheckSocks4 && i == 0) {
- /* SOCKS4 */
-
- char buf[9];
- uint32 sip;
-
- sip = aton(ProxyTestServer);
- sip = htonl(sip);
-
- buf[0] = 4;
- buf[1] = 1;
- buf[2] = (((unsigned short) ProxyTestPort) >> 8) & 0xFF;
- buf[3] = ((unsigned short) ProxyTestPort) & 0xFF;
- buf[4] = (sip >> 24) & 0xFF;
- buf[5] = (sip >> 16) & 0xFF;
- buf[6] = (sip >> 8) & 0xFF;
- buf[7] = sip & 0xFF;
- buf[8] = 0;
-
- if (send(s, buf, 9, 0) != 9) {
- ano_sockclose(s);
- return HC_NORMAL;
- }
-
- if (proxy_read(s, buf, 2) != 2) {
- ano_sockclose(s);
- continue;
- }
-
- if (buf[1] == 90) {
- ano_sockclose(s);
- return HC_SOCKS4;
- }
-
- } else if (ProxyCheckSocks5 && i == 1) {
- /* SOCKS5 */
-
- char buf[10];
- uint32 sip;
-
- if (send(s, "\5\1\0", 3, 0) != 3) {
- ano_sockclose(s);
- continue;
- }
-
- memset(buf, 0, sizeof(buf));
-
- if (proxy_read(s, buf, 2) != 2) {
- ano_sockclose(s);
- continue;
- }
-
- if (buf[0] != 5 || buf[1] != 0) {
- ano_sockclose(s);
- continue;
- }
-
- sip = aton(ProxyTestServer);
- sip = htonl(sip);
-
- buf[0] = 5;
- buf[1] = 1;
- buf[2] = 0;
- buf[3] = 1;
- buf[4] = (sip >> 24) & 0xFF;
- buf[5] = (sip >> 16) & 0xFF;
- buf[6] = (sip >> 8) & 0xFF;
- buf[7] = sip & 0xFF;
- buf[8] = (((unsigned short) ProxyTestPort) >> 8) & 0xFF;
- buf[9] = ((unsigned short) ProxyTestPort) & 0xFF;
-
- if (send(s, buf, 10, 0) != 10) {
- ano_sockclose(s);
- continue;
- }
-
- memset(buf, 0, sizeof(buf));
-
- if (proxy_read(s, buf, 2) != 2) {
- ano_sockclose(s);
- continue;
- }
-
- if (buf[0] == 5 && buf[1] == 0) {
- close(s);
- return HC_SOCKS5;
- }
- }
-
- ano_sockclose(s);
- }
-
- /* Scan for HTTP proxy */
- for (i = 0; i < 3; i++) {
- if ((i ==
- 0 ? ProxyCheckHTTP2 : (i ==
- 1 ? ProxyCheckHTTP1 : ProxyCheckHTTP3))
- && (s =
- proxy_connect(ip,
- (i == 0 ? 8080 : (i == 1 ? 3128 : 80)))) !=
- -1) {
- int bread;
- char buf[64];
-
- snprintf(buf, sizeof(buf), "CONNECT %s:%d HTTP/1.0\n\n",
- ProxyTestServer, ProxyTestPort);
- if (send(s, buf, strlen(buf), 0) == strlen(buf)) {
- if ((bread = proxy_read(s, buf, 15)) >= 12) {
- buf[bread] = 0;
-
- if (!strnicmp(buf, "HTTP/1.0 200", 12) || !stricmp(buf, "HTTP/1.1 200 Co")) { /* Apache may return 200 OK
- even if it's not processing
- the CONNECT request. :/ */
- ano_sockclose(s);
- return HC_HTTP;
- }
- }
- }
- ano_sockclose(s);
- }
- }
-
- /* Scan for Wingate */
- if (ProxyCheckWingate && (s = proxy_connect(ip, 23)) != -1) {
- char buf[9];
-
- if (proxy_read(s, buf, 8) == 8) {
- buf[8] = '\0';
- if (!stricmp(buf, "Wingate>") || !stricmp(buf, "Too many")) {
- ano_sockclose(s);
- return HC_WINGATE;
- }
- }
- ano_sockclose(s);
- }
-
- return HC_NORMAL;
-}
-
-/*************************************************************************/
-
-/* Proxy detector threads entry point */
-
-static void *proxy_thread_main(void *arg)
-{
- while (1) {
- ano_cleanup_push(proxy_queue_cleanup_unlock, NULL);
- proxy_queue_lock();
- proxy_queue_wait();
- ano_cleanup_pop(1);
-
- /* We loop until there is no more host to check in the list */
- while (1) {
- HostCache *hc = NULL;
- int status;
-
- ano_cleanup_push(proxy_queue_cleanup_unlock, NULL);
- proxy_queue_lock();
- if (pxqueue.count > 0) {
- hc = pxqueue.list[0];
- hc->status = HC_PROGRESS;
- slist_delete(&pxqueue, 0);
- }
- ano_cleanup_pop(1);
-
- if (!hc)
- break;
-
- if (debug) {
- if (hc->ip) {
- char ipbuf[16];
- struct in_addr in;
- in.s_addr = hc->ip;
- ntoa(in, ipbuf, sizeof(ipbuf));
- alog("debug: Scanning host %s [%s] for proxy",
- hc->host, ipbuf);
- } else {
- alog("debug: Scanning host %s for proxy", hc->host);
- }
- }
- if (!ircd->nickip) {
- /* Test if it's an IP, and if not try to resolve the hostname */
- if ((hc->ip = aton(hc->host)) == INADDR_NONE)
- hc->ip = proxy_resolve(hc->host);
- }
- status = proxy_scan(hc->ip);
-
- if (debug) {
- char ipbuf[16];
- struct in_addr in;
- in.s_addr = hc->ip;
- ntoa(in, ipbuf, sizeof(ipbuf));
- alog("debug: Scan for %s [%s] complete, result: %d",
- hc->host, ipbuf, status);
- }
-
- if (status > HC_NORMAL)
- proxy_akill(hc->host);
-
- hc->status = status;
- }
- }
-
- return NULL;
-}
-
-/*************************************************************************/
-
-#endif
-
-/*************************************************************************/
-
-/* OperServ CACHE */
-
-int do_cache(User * u)
-{
-#ifdef USE_THREADS
- char *cmd = strtok(NULL, " ");
- char *pattern = strtok(NULL, " ");
-
- if (!ProxyDetect) {
- notice_lang(s_OperServ, u, OPER_CACHE_DISABLED);
- return MOD_CONT;
- }
-
- if (!cmd || !pattern) {
- syntax_error(s_OperServ, u, "CACHE", OPER_CACHE_SYNTAX);
- } else if (!stricmp(cmd, "DEL")) {
- HostCache *hc;
-
- if (!(hc = proxy_cache_find(pattern))) {
- notice_lang(s_OperServ, u, OPER_CACHE_NOT_FOUND, pattern);
- return MOD_CONT;
- }
-
- proxy_cache_del(hc);
- notice_lang(s_OperServ, u, OPER_CACHE_REMOVED, pattern);
-
- if (readonly)
- notice_lang(s_OperServ, u, READ_ONLY_MODE);
- } else if (!stricmp(cmd, "LIST")) {
- char *option = strtok(NULL, " ");
- int i, restrict = 0, count = 0, total = 0;
- HostCache *hc;
-
- static int statusdesc[7] = {
- OPER_CACHE_QUEUED,
- OPER_CACHE_PROGRESS,
- OPER_CACHE_NORMAL,
- OPER_CACHE_WINGATE,
- OPER_CACHE_SOCKS4,
- OPER_CACHE_SOCKS5,
- OPER_CACHE_HTTP
- };
-
- if (option && !stricmp(option, "QUEUED"))
- restrict = 1;
- else if (option && !stricmp(option, "ALL"))
- restrict = 2;
-
- notice_lang(s_OperServ, u, OPER_CACHE_HEADER);
-
- for (i = 0; i < 1024; i++) {
- for (hc = hcache[i]; hc; hc = hc->next) {
- if (!match_wild_nocase(pattern, hc->host))
- continue;
- if ((restrict == 0 && hc->status <= HC_NORMAL)
- || (restrict == 1 && hc->status >= HC_NORMAL))
- continue;
- total++;
- if (count >= ProxyMax)
- continue;
- notice_lang(s_OperServ, u, OPER_CACHE_LIST, hc->host,
- getstring(u->na, statusdesc[hc->status + 2]));
- count++;
- }
- }
-
- notice_lang(s_OperServ, u, OPER_CACHE_FOOTER, count, total);
-
- } else {
- syntax_error(s_OperServ, u, "CACHE", OPER_CACHE_SYNTAX);
- }
-#else
- notice_lang(s_OperServ, u, OPER_CACHE_DISABLED);
-#endif
- return MOD_CONT;
-}
-
-/*************************************************************************/
diff --git a/src/rdb.c b/src/rdb.c
index e8887f597..1d101a5c9 100644
--- a/src/rdb.c
+++ b/src/rdb.c
@@ -314,12 +314,11 @@ void rdb_save_hs_core(HostCore * hc)
/*************************************************************************/
void rdb_save_os_db(unsigned int maxucnt, unsigned int maxutime,
- SList * ak, SList * sgl, SList * sql, SList * szl,
- HostCache * hc)
+ SList * ak, SList * sgl, SList * sql, SList * szl)
{
#ifdef USE_MYSQL
- db_mysql_save_os_db(maxusercnt, maxusertime, ak, sgl, sql, szl, hc);
+ db_mysql_save_os_db(maxusercnt, maxusertime, ak, sgl, sql, szl);
#endif
}
diff --git a/src/users.c b/src/users.c
index cd89bf0db..9fca93865 100644
--- a/src/users.c
+++ b/src/users.c
@@ -593,12 +593,6 @@ User *do_nick(const char *source, char *nick, char *username, char *host,
if (LimitSessions && !add_session(nick, host))
return NULL;
- /* And finally, for proxy ;) */
-#ifdef USE_THREADS
- if (ProxyDetect && proxy_check(nick, host, ip)) {
- return NULL;
- }
-#endif
/* Allocate User structure and fill it in. */
user = new_user(nick);
diff --git a/version.log b/version.log
index e2b0e49aa..ebe997245 100644
--- a/version.log
+++ b/version.log
@@ -8,10 +8,14 @@
VERSION_MAJOR="1"
VERSION_MINOR="7"
VERSION_PATCH="8"
-VERSION_BUILD="605"
+VERSION_BUILD="606"
# $Log$
#
+# BUILD : 1.7.8 (606)
+# BUGS :
+# NOTES : Removed proxy detector code from the core, threads stuff still there. Needs good testing
+#
# BUILD : 1.7.8 (605)
# BUGS : N/A
# NOTES : Win32 encryption fixed