#include <eggdrop/eggdrop.h>
#include "proxy.h"
Go to the source code of this file.
Functions | |
EXPORT_SCOPE int | proxy_LTX_start (egg_module_t *modinfo) |
static int | proxy_close (int why) |
static int | on_proxy_set (char *setting, char *val) |
static int | proxy_init () |
Variables | |
proxy_config_t | proxy_config = {0} |
static config_var_t | proxy_config_vars [] |
static egg_proxy_t | http_proxy_handler |
static egg_proxy_t | socks5_proxy_handler |
static int on_proxy_set | ( | char * | setting, | |
char * | val | |||
) | [static] |
Definition at line 30 of file proxy.c.
References egg_proxy_set_default(), LOG_MISC, and putlog().
Referenced by proxy_init().
00031 { 00032 if (val) putlog(LOG_MISC, "*", "Using proxy '%s'.", val); 00033 else putlog(LOG_MISC, "*", "Disabling proxy."); 00034 egg_proxy_set_default(val); 00035 return(0); 00036 }
static int proxy_close | ( | int | why | ) | [static] |
Definition at line 55 of file proxy.c.
References config_get_root(), config_root, config_unlink_table(), and NULL.
Referenced by proxy_LTX_start().
00056 { 00057 void *config_root; 00058 00059 config_root = config_get_root("eggdrop"); 00060 config_unlink_table(proxy_config_vars, config_root, "proxy", 0, NULL); 00061 00062 return(0); 00063 }
static int proxy_init | ( | ) | [static] |
Definition at line 38 of file proxy.c.
References bind_add_simple(), config_get_root(), config_link_table(), config_root, egg_proxy_add(), egg_proxy_set_default(), NULL, on_proxy_set(), and proxy_config_t::type.
Referenced by proxy_LTX_start().
00039 { 00040 void *config_root; 00041 00042 memset(&proxy_config, 0, sizeof(proxy_config)); 00043 config_root = config_get_root("eggdrop"); 00044 config_link_table(proxy_config_vars, config_root, "proxy", 0, NULL); 00045 00046 egg_proxy_add(&http_proxy_handler); 00047 egg_proxy_add(&socks5_proxy_handler); 00048 if (proxy_config.type) egg_proxy_set_default(proxy_config.type); 00049 00050 bind_add_simple("config_str", NULL, "proxy.type", on_proxy_set); 00051 00052 return(0); 00053 }
int proxy_LTX_start | ( | egg_module_t * | modinfo | ) |
Definition at line 65 of file proxy.c.
References egg_module::author, egg_module::close_func, egg_module::description, http_owner, egg_module::name, proxy_close(), proxy_init(), socks5_owner, and egg_module::version.
00066 { 00067 http_owner.module = socks5_owner.module = modinfo; 00068 modinfo->name = "proxy"; 00069 modinfo->author = "eggdev"; 00070 modinfo->version = "1.0.0"; 00071 modinfo->description = "proxy support (http, socks4, socks5)"; 00072 modinfo->close_func = proxy_close; 00073 00074 proxy_init(); 00075 return(0); 00076 }
egg_proxy_t http_proxy_handler [static] |
proxy_config_t proxy_config = {0} |
config_var_t proxy_config_vars[] [static] |
Initial value:
{ {"username", &proxy_config.username, CONFIG_STRING}, {"password", &proxy_config.password, CONFIG_STRING}, {"host", &proxy_config.host, CONFIG_STRING}, {"port", &proxy_config.port, CONFIG_INT}, {"type", &proxy_config.type, CONFIG_STRING}, {0} }
egg_proxy_t socks5_proxy_handler [static] |