Merge TODO.

This commit is contained in:
William Pitcock 2008-06-10 20:34:46 -05:00
commit 1e320728f3
7 changed files with 46 additions and 61 deletions

12
TODO
View File

@ -18,7 +18,7 @@
[x] ssl usermode (+Z) [x] ssl usermode (+Z)
[x] ssl channelmode (done by extban and chm_compat) [x] ssl channelmode (done by extban and chm_compat)
[ ] acknowledgement message for SSL users like '* *** You are connected using SSL cipher "DHE RSA-AES 128 CBC-SHA"' [ ] acknowledgement message for SSL users like '* *** You are connected using SSL cipher "DHE RSA-AES 128 CBC-SHA"'
[ ] ssl stuff files generator in ./configure time [x] tool for generating ssl certificates and other stuff
[ ] gnutls backend for at least SSL connections (replacing libcrypto use in m_challenge would be nice too) [ ] gnutls backend for at least SSL connections (replacing libcrypto use in m_challenge would be nice too)
[x] merge some stuff from ircd-seven directly (to be determined what) [x] merge some stuff from ircd-seven directly (to be determined what)
[x] remote d:lines support [x] remote d:lines support
@ -26,12 +26,12 @@
[F] make an ability of using bandb instead of .conf files as bans storage [F] make an ability of using bandb instead of .conf files as bans storage
[/] drop non-TS6 (legacy protocol) support [/] drop non-TS6 (legacy protocol) support
[F] Doxygen code documentation [F] Doxygen code documentation
[F] module engine rework [ ] module engine rework
[F] more beautiful way of adding new channel modes by module [ ] more beautiful way of adding new channel modes by module
[F] make nick/user/host validation functions/match tables able to work in separated modules, [ ] make nick/user/host validation functions/match tables able to work in separated modules,
this will help us making support for native characters sets/slashes in host etc this will help us making support for native characters sets/slashes in host etc
[F] auth checker module [ ] auth checker module
[F] resolver module [ ] resolver module
[x] Remove glines entirely [x] Remove glines entirely
--- other stuff --- other stuff
[?] PASS selector:password for auth{} from ircd-seven? (useful for dynamic IPs) [?] PASS selector:password for auth{} from ircd-seven? (useful for dynamic IPs)

View File

@ -236,7 +236,7 @@ extern struct server_conf *find_server_conf(const char *name);
extern void attach_server_conf(struct Client *, struct server_conf *); extern void attach_server_conf(struct Client *, struct server_conf *);
extern void detach_server_conf(struct Client *); extern void detach_server_conf(struct Client *);
extern void set_server_conf_autoconn(struct Client *source_p, char *name, extern void set_server_conf_autoconn(struct Client *source_p, const char *name,
int newval); int newval);

View File

@ -55,7 +55,7 @@ DECLARE_MODULE_AV1(set, NULL, NULL, set_clist, NULL, NULL, "$Revision: 3406 $");
struct SetStruct struct SetStruct
{ {
const char *name; const char *name;
void (*handler) (); void (*handler)(struct Client *source_p, const char *chararg, int intarg);
int wants_char; /* 1 if it expects (char *, [int]) */ int wants_char; /* 1 if it expects (char *, [int]) */
int wants_int; /* 1 if it expects ([char *], int) */ int wants_int; /* 1 if it expects ([char *], int) */
@ -64,18 +64,19 @@ struct SetStruct
}; };
static void quote_adminstring(struct Client *, const char *); static void quote_adminstring(struct Client *, const char *, int);
static void quote_autoconn(struct Client *, char *, int); static void quote_autoconn(struct Client *, const char *, int);
static void quote_autoconnall(struct Client *, int); static void quote_autoconnall(struct Client *, const char *, int);
static void quote_floodcount(struct Client *, int); static void quote_floodcount(struct Client *, const char *, int);
static void quote_identtimeout(struct Client *, int); static void quote_identtimeout(struct Client *, const char *, int);
static void quote_max(struct Client *, int); static void quote_max(struct Client *, const char *, int);
static void quote_operstring(struct Client *, const char *); static void quote_operstring(struct Client *, const char *, int);
static void quote_spamnum(struct Client *, int); static void quote_spamnum(struct Client *, const char *, int);
static void quote_spamtime(struct Client *, int); static void quote_spamtime(struct Client *, const char *, int);
static void quote_splitmode(struct Client *, char *); static void quote_splitmode(struct Client *, const char *, int);
static void quote_splitnum(struct Client *, int); static void quote_splitnum(struct Client *, const char *, int);
static void quote_splitusers(struct Client *, int); static void quote_splitusers(struct Client *, const char *, int);
static void list_quote_commands(struct Client *); static void list_quote_commands(struct Client *);
@ -104,7 +105,7 @@ static struct SetStruct set_cmd_table[] = {
{"SPLITNUM", quote_splitnum, 0, 1 }, {"SPLITNUM", quote_splitnum, 0, 1 },
{"SPLITUSERS", quote_splitusers, 0, 1 }, {"SPLITUSERS", quote_splitusers, 0, 1 },
/* -------------------------------------------------------- */ /* -------------------------------------------------------- */
{(char *) 0, (void (*)()) 0, 0, 0} {(char *) 0, (void (*)(struct Client *, const char *, int)) 0, 0, 0}
}; };
@ -143,14 +144,14 @@ list_quote_commands(struct Client *source_p)
/* SET AUTOCONN */ /* SET AUTOCONN */
static void static void
quote_autoconn(struct Client *source_p, char *arg, int newval) quote_autoconn(struct Client *source_p, const char *arg, int newval)
{ {
set_server_conf_autoconn(source_p, arg, newval); set_server_conf_autoconn(source_p, arg, newval);
} }
/* SET AUTOCONNALL */ /* SET AUTOCONNALL */
static void static void
quote_autoconnall(struct Client *source_p, int newval) quote_autoconnall(struct Client *source_p, const char *arg, int newval)
{ {
if(newval >= 0) if(newval >= 0)
{ {
@ -169,7 +170,7 @@ quote_autoconnall(struct Client *source_p, int newval)
/* SET FLOODCOUNT */ /* SET FLOODCOUNT */
static void static void
quote_floodcount(struct Client *source_p, int newval) quote_floodcount(struct Client *source_p, const char *arg, int newval)
{ {
if(newval >= 0) if(newval >= 0)
{ {
@ -187,7 +188,7 @@ quote_floodcount(struct Client *source_p, int newval)
/* SET IDENTTIMEOUT */ /* SET IDENTTIMEOUT */
static void static void
quote_identtimeout(struct Client *source_p, int newval) quote_identtimeout(struct Client *source_p, const char *arg, int newval)
{ {
if(!IsOperAdmin(source_p)) if(!IsOperAdmin(source_p))
{ {
@ -210,7 +211,7 @@ quote_identtimeout(struct Client *source_p, int newval)
/* SET MAX */ /* SET MAX */
static void static void
quote_max(struct Client *source_p, int newval) quote_max(struct Client *source_p, const char *arg, int newval)
{ {
if(newval > 0) if(newval > 0)
{ {
@ -248,7 +249,7 @@ quote_max(struct Client *source_p, int newval)
/* SET OPERSTRING */ /* SET OPERSTRING */
static void static void
quote_operstring(struct Client *source_p, const char *arg) quote_operstring(struct Client *source_p, const char *arg, int newval)
{ {
if(EmptyString(arg)) if(EmptyString(arg))
{ {
@ -267,7 +268,7 @@ quote_operstring(struct Client *source_p, const char *arg)
/* SET ADMINSTRING */ /* SET ADMINSTRING */
static void static void
quote_adminstring(struct Client *source_p, const char *arg) quote_adminstring(struct Client *source_p, const char *arg, int newval)
{ {
if(EmptyString(arg)) if(EmptyString(arg))
{ {
@ -286,7 +287,7 @@ quote_adminstring(struct Client *source_p, const char *arg)
/* SET SPAMNUM */ /* SET SPAMNUM */
static void static void
quote_spamnum(struct Client *source_p, int newval) quote_spamnum(struct Client *source_p, const char *arg, int newval)
{ {
if(newval > 0) if(newval > 0)
{ {
@ -316,7 +317,7 @@ quote_spamnum(struct Client *source_p, int newval)
/* SET SPAMTIME */ /* SET SPAMTIME */
static void static void
quote_spamtime(struct Client *source_p, int newval) quote_spamtime(struct Client *source_p, const char *arg, int newval)
{ {
if(newval > 0) if(newval > 0)
{ {
@ -356,7 +357,7 @@ static const char *splitmode_status[] = {
/* SET SPLITMODE */ /* SET SPLITMODE */
static void static void
quote_splitmode(struct Client *source_p, char *charval) quote_splitmode(struct Client *source_p, const char *charval, int intval)
{ {
if(charval) if(charval)
{ {
@ -416,7 +417,7 @@ quote_splitmode(struct Client *source_p, char *charval)
/* SET SPLITNUM */ /* SET SPLITNUM */
static void static void
quote_splitnum(struct Client *source_p, int newval) quote_splitnum(struct Client *source_p, const char *arg, int newval)
{ {
if(newval >= 0) if(newval >= 0)
{ {
@ -433,7 +434,7 @@ quote_splitnum(struct Client *source_p, int newval)
/* SET SPLITUSERS */ /* SET SPLITUSERS */
static void static void
quote_splitusers(struct Client *source_p, int newval) quote_splitusers(struct Client *source_p, const char *arg, int newval)
{ {
if(newval >= 0) if(newval >= 0)
{ {
@ -534,25 +535,9 @@ mo_set(struct Client *client_p, struct Client *source_p, int parc, const char *p
else else
newval = -1; newval = -1;
if(set_cmd_table[i].wants_char)
{
if(set_cmd_table[i].wants_int)
set_cmd_table[i].handler(source_p, arg, newval); set_cmd_table[i].handler(source_p, arg, newval);
else
set_cmd_table[i].handler(source_p, arg);
return 0; return 0;
} }
else
{
if(set_cmd_table[i].wants_int)
set_cmd_table[i].handler(source_p, newval);
else
/* Just in case someone actually wants a
* set function that takes no args.. *shrug* */
set_cmd_table[i].handler(source_p);
return 0;
}
}
} }
/* /*

View File

@ -81,12 +81,12 @@ static void stats_p_spy(struct Client *);
struct StatsStruct struct StatsStruct
{ {
char letter; char letter;
void (*handler) (); void (*handler) (struct Client *source_p);
int need_oper; int need_oper;
int need_admin; int need_admin;
}; };
static void stats_dns_servers (struct Client *); static void stats_dns_servers(struct Client *);
static void stats_delay(struct Client *); static void stats_delay(struct Client *);
static void stats_hash(struct Client *); static void stats_hash(struct Client *);
static void stats_connect(struct Client *); static void stats_connect(struct Client *);
@ -142,8 +142,8 @@ static struct StatsStruct stats_cmd_table[] = {
{'I', stats_auth, 0, 0, }, {'I', stats_auth, 0, 0, },
{'k', stats_tklines, 0, 0, }, {'k', stats_tklines, 0, 0, },
{'K', stats_klines, 0, 0, }, {'K', stats_klines, 0, 0, },
{'l', stats_ltrace, 0, 0, }, {'l', NULL /* special */, 0, 0, },
{'L', stats_ltrace, 0, 0, }, {'L', NULL /* special */, 0, 0, },
{'m', stats_messages, 0, 0, }, {'m', stats_messages, 0, 0, },
{'M', stats_messages, 0, 0, }, {'M', stats_messages, 0, 0, },
{'n', stats_dnsbl, 0, 0, }, {'n', stats_dnsbl, 0, 0, },
@ -211,7 +211,7 @@ m_stats(struct Client *client_p, struct Client *source_p, int parc, const char *
if((statchar != 'L') && (statchar != 'l')) if((statchar != 'L') && (statchar != 'l'))
stats_spy(source_p, statchar, NULL); stats_spy(source_p, statchar, NULL);
for (i = 0; stats_cmd_table[i].handler; i++) for (i = 0; stats_cmd_table[i].letter; i++)
{ {
if(stats_cmd_table[i].letter == statchar) if(stats_cmd_table[i].letter == statchar)
{ {
@ -234,7 +234,7 @@ m_stats(struct Client *client_p, struct Client *source_p, int parc, const char *
/* Blah, stats L needs the parameters, none of the others do.. */ /* Blah, stats L needs the parameters, none of the others do.. */
if(statchar == 'L' || statchar == 'l') if(statchar == 'L' || statchar == 'l')
stats_cmd_table[i].handler (source_p, parc, parv); stats_ltrace (source_p, parc, parv);
else else
stats_cmd_table[i].handler (source_p); stats_cmd_table[i].handler (source_p);
} }

View File

@ -25,9 +25,9 @@
#define YY_NO_UNPUT #define YY_NO_UNPUT
int yyparse(); int yyparse(void);
int yyerror(const char *); int yyerror(const char *);
int yylex(); int yylex(void);
static time_t conf_find_time(char*); static time_t conf_find_time(char*);

View File

@ -50,7 +50,7 @@
struct config_server_hide ConfigServerHide; struct config_server_hide ConfigServerHide;
extern int yyparse(); /* defined in y.tab.c */ extern int yyparse(void); /* defined in y.tab.c */
extern char linebuf[]; extern char linebuf[];
#ifndef INADDR_NONE #ifndef INADDR_NONE

View File

@ -488,7 +488,7 @@ detach_server_conf(struct Client *client_p)
} }
void void
set_server_conf_autoconn(struct Client *source_p, char *name, int newval) set_server_conf_autoconn(struct Client *source_p, const char *name, int newval)
{ {
struct server_conf *server_p; struct server_conf *server_p;