modules/proxy/proxy.c File Reference

#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


Function Documentation

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 }


Variable Documentation

Initial value:

 {
  "http",
  NULL,
  http_reconnect
}

Definition at line 18 of file proxy.c.

Definition at line 8 of file proxy.c.

Referenced by http_reconnect().

Initial value:

Definition at line 9 of file proxy.c.

Initial value:

 {
  "socks5",
  NULL,
  socks5_reconnect
}

Definition at line 24 of file proxy.c.


Generated on Sun Nov 30 18:43:36 2008 for eggdrop1.9 by  doxygen 1.5.6