Merge TODO.
This commit is contained in:
commit
1e320728f3
12
TODO
12
TODO
|
@ -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)
|
||||||
|
|
|
@ -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);
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -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,24 +535,8 @@ 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)
|
set_cmd_table[i].handler(source_p, arg, newval);
|
||||||
{
|
return 0;
|
||||||
if(set_cmd_table[i].wants_int)
|
|
||||||
set_cmd_table[i].handler(source_p, arg, newval);
|
|
||||||
else
|
|
||||||
set_cmd_table[i].handler(source_p, arg);
|
|
||||||
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;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -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);
|
||||||
}
|
}
|
||||||
|
|
|
@ -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*);
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue