Revision: 1886
http://undernet-ircu.svn.sourceforge.net/undernet-ircu/?rev=1886&view=rev
Author: klmitch
Date: 2008-10-09 14:25:03 +0000 (Thu, 09 Oct 2008)
Log Message:
-----------
Author: Kev <[EMAIL PROTECTED]>
Description:
Correct various errors discovered at compile-time. (Run-time fix-ups
are next, so brace yourself!)
Modified Paths:
--------------
ircu2/branches/mode/ChangeLog
ircu2/branches/mode/include/keyspace.h
ircu2/branches/mode/include/mode-compat.h
ircu2/branches/mode/include/mode.h
ircu2/branches/mode/ircd/Makefile.am
ircu2/branches/mode/ircd/Makefile.in
ircu2/branches/mode/ircd/ircd.c
ircu2/branches/mode/ircd/keyspace.c
ircu2/branches/mode/ircd/mode-compat.c
ircu2/branches/mode/ircd/mode.c
Modified: ircu2/branches/mode/ChangeLog
===================================================================
--- ircu2/branches/mode/ChangeLog 2008-10-04 03:29:22 UTC (rev 1885)
+++ ircu2/branches/mode/ChangeLog 2008-10-09 14:25:03 UTC (rev 1886)
@@ -1,3 +1,42 @@
+2008-10-09 Kevin L. Mitchell <[EMAIL PROTECTED]>
+
+ * include/mode.h: it's not modedesc_t or modelist_t, it's
+ mode_desc_t and mode_list_t; also take care of renaming key_t to
+ ircd_key_t; ml_keyspace field should not be a *pointer* to a
+ keyspace_t; we never defined mode_dir_t (originally was going to
+ make it an enum), so use flagpage_t instead; _mode_desc_reg() and
+ _mode_desc_unreg() were changed to take mode_list_t pointers
+ instead of regtab_t pointers
+
+ * include/mode-compat.h: it's not modedesc_t or modelist_t, it's
+ mode_desc_t and mode_list_t
+
+ * include/keyspace.h: key_t conflicts with a system-defined type,
+ so change it to ircd_key_t
+
+ * ircd/mode-compat.c: it's not modedesc_t or modelist_t, it's
+ mode_desc_t and mode_list_t; also, have to cast mode_list_t
+ pointers to regtab_t pointers; there is no MDFLAG_AUTHZ_NONE, use
+ MDPOL_AUTHZ_NONE
+
+ * ircd/ircd.c: initialize mode system and mode compatibility layer
+
+ * ircd/Makefile.in: regenerate from Makefile.am
+
+ * ircd/Makefile.am (ircd_SOURCES): add keyspace.c, mode.c,
+ mode-compat.c, and register.c to list of sources
+
+ * ircd/mode.c: it's not modelist_t and modedesc_t, it's
+ mode_list_t and mode_desc_t; cast _mode_desc_reg and
+ _mode_desc_unreg to reg_t and unreg_t, respectively, in ml_reg();
+ cast ml to regtab_t* in ml_unreg_flush(); ml_unreg() needs to
+ return a value; mm_build() needs to refer to ms as a pointer
+ rather than a structure; mode_str_modes() needs to use mm_build,
+ not ms_build
+
+ * ircd/keyspace.c: key_t conflicts with a system-defined type, so
+ change it to ircd_key_t
+
2008-10-03 Kevin L. Mitchell <[EMAIL PROTECTED]>
* include/mode.h: define MODE_DESC_CHECK() and MODE_LIST_CHECK()
Modified: ircu2/branches/mode/include/keyspace.h
===================================================================
--- ircu2/branches/mode/include/keyspace.h 2008-10-04 03:29:22 UTC (rev
1885)
+++ ircu2/branches/mode/include/keyspace.h 2008-10-09 14:25:03 UTC (rev
1886)
@@ -30,11 +30,11 @@
#define INCLUDED_limits_h
#endif
-/** Invalid key_t value for returning errors from ks_reserve(). */
+/** Invalid ircd_key_t value for returning errors from ks_reserve(). */
#define KEY_INVKEY UINT_MAX
/** Specifies a key value. */
-typedef unsigned int key_t;
+typedef unsigned int ircd_key_t;
/** Specifies a space of keys to allocate from. */
typedef struct KeySpace keyspace_t;
@@ -42,17 +42,17 @@
* @param[in] space Key space being grown.
* @param[in] new New size for key space allocation.
*/
-typedef void (*keygrow_t)(keyspace_t* space, key_t new);
+typedef void (*keygrow_t)(keyspace_t* space, ircd_key_t new);
/** Contains details of the key space. */
struct KeySpace {
unsigned long ks_magic; /**< Magic number */
unsigned int ks_alloc; /**< Total number of bitmap entries */
- key_t ks_count; /**< Current count of keys */
- key_t ks_highest; /**< Highest allocated key to date */
- key_t ks_max; /**< Maximum number of keys to allocate
*/
- key_t ks_extern; /**< External key tracker size */
- key_t ks_chunk; /**< Chunk to round key tracker size to
*/
+ ircd_key_t ks_count; /**< Current count of keys */
+ ircd_key_t ks_highest; /**< Highest allocated key to date */
+ ircd_key_t ks_max; /**< Maximum number of keys to allocate */
+ ircd_key_t ks_extern; /**< External key tracker size */
+ ircd_key_t ks_chunk; /**< Chunk to round key tracker size to */
keygrow_t ks_grow; /**< External routine to signal on growth */
flagpage_t* ks_keys; /**< Key allocation bitmap */
void* ks_extra; /**< Extra data associated with
keyspace */
@@ -115,10 +115,10 @@
} while (0)
/* Reserve a key, optionally a specified one. */
-extern key_t ks_reserve(keyspace_t* space);
+extern ircd_key_t ks_reserve(keyspace_t* space);
/* Release an allocated key. */
-extern void ks_release(keyspace_t* space, key_t key);
+extern void ks_release(keyspace_t* space, ircd_key_t key);
/* Clean up a keyspace. */
extern void ks_clean(keyspace_t* space);
Modified: ircu2/branches/mode/include/mode-compat.h
===================================================================
--- ircu2/branches/mode/include/mode-compat.h 2008-10-04 03:29:22 UTC (rev
1885)
+++ ircu2/branches/mode/include/mode-compat.h 2008-10-09 14:25:03 UTC (rev
1886)
@@ -138,14 +138,14 @@
#define SMODE_IPV6 (&_umodes[_SMODE_IPV6])
/* Arrays of mode descriptors. */
-extern modedesc_t _cmodes[];
-extern modedesc_t _umodes[];
-extern modedesc_t _smodes[];
+extern mode_desc_t _cmodes[];
+extern mode_desc_t _umodes[];
+extern mode_desc_t _smodes[];
/* Mode list descriptors. */
-extern modelist_t chanmodes;
-extern modelist_t usermodes;
-extern modelist_t servmodes;
+extern mode_list_t chanmodes;
+extern mode_list_t usermodes;
+extern mode_list_t servmodes;
/* Initialize mode compatibility layer. */
extern void mode_compat_init(void);
Modified: ircu2/branches/mode/include/mode.h
===================================================================
--- ircu2/branches/mode/include/mode.h 2008-10-04 03:29:22 UTC (rev 1885)
+++ ircu2/branches/mode/include/mode.h 2008-10-09 14:25:03 UTC (rev 1886)
@@ -43,7 +43,7 @@
#define MODE_TABLE "mode"
/** Specifies the numerical value of a mode switch. */
-typedef key_t mode_t;
+typedef ircd_key_t mode_t;
/** Describes a single mode, including parsing flags and policy flags. */
typedef struct ModeDesc mode_desc_t;
@@ -69,7 +69,7 @@
/** Magic number for a mode descriptor. */
#define MODE_DESC_MAGIC 0x54aacaed
-/** Initialize a modedesc_t.
+/** Initialize a mode_desc_t.
* @param[in] name Descriptive name for the mode.
* @param[in] sw "Switch" character for the mode.
* @param[in] desc Description of the mode.
@@ -153,14 +153,14 @@
regtab_t ml_table; /**< Registration table. */
size_t ml_offset; /**< Offset of mode structure
within entity. */
- keyspace_t* ml_keyspace; /**< Keyspace for mode value
+ keyspace_t ml_keyspace; /**< Keyspace for mode value
allocation. */
mode_desc_t* ml_smap[256]; /**< Mode switch map. */
mode_desc_t* ml_mmap[MAX_MODES];
/**< Mode value map. */
};
-/** Initialize a modelist_t.
+/** Initialize a mode_list_t.
* @param[in] name Descriptive name for the mode list.
* @param[in] offset Offset of modeset_t entry in entity structure.
*/
@@ -193,7 +193,7 @@
with arguments. */
struct {
mode_desc_t* mam_mode; /**< The mode. */
- mode_dir_t mam_dir; /**< Direction of mode. */
+ flagpage_t mam_dir; /**< Direction of mode. */
union {
unsigned int mama_int; /**< Unsigned integer argument. */
const char* mama_str; /**< String argument (keys). */
@@ -226,18 +226,18 @@
#define MDELTA_REVERSE 0x40000000
/* Assign mode and add to appropriate tables. */
-extern int _mode_desc_reg(regtab_t* table, modedesc_t* md);
+extern int _mode_desc_reg(mode_list_t* table, mode_desc_t* md);
/* Release mode and remove from tables. */
-extern int _mode_desc_unreg(regtab_t* table, modedesc_t* md);
+extern int _mode_desc_unreg(mode_list_t* table, mode_desc_t* md);
/* Initialize mode subsystem. */
extern void mode_init(void);
/* Build mode list strings for RPL_MYINFO. */
-extern char* mode_str_info(modelist_t* ml, char* buf, int* len, int args);
+extern char* mode_str_info(mode_list_t* ml, char* buf, int* len, int args);
/* Build mode list strings for CHANMODES in RPL_ISUPPORT. */
-extern char* mode_str_modes(modelist_t* ml, char* buf, int* len);
+extern char* mode_str_modes(mode_list_t* ml, char* buf, int* len);
/* Build prefix string for PREFIX in RPL_ISUPPORT. */
-extern char* mode_str_prefix(modelist_t* ml, char* buf, int* len);
+extern char* mode_str_prefix(mode_list_t* ml, char* buf, int* len);
#endif /* INCLUDED_mode_h */
Modified: ircu2/branches/mode/ircd/Makefile.am
===================================================================
--- ircu2/branches/mode/ircd/Makefile.am 2008-10-04 03:29:22 UTC (rev
1885)
+++ ircu2/branches/mode/ircd/Makefile.am 2008-10-09 14:25:03 UTC (rev
1886)
@@ -75,6 +75,7 @@
ircd_snprintf.c \
ircd_string.c \
jupe.c \
+ keyspace.c \
list.c \
listener.c \
m_account.c \
@@ -152,6 +153,8 @@
m_whowas.c \
match.c \
memdebug.c \
+ mode.c \
+ mode-compat.c \
motd.c \
msgq.c \
numnicks.c \
@@ -161,6 +164,7 @@
parse.c \
querycmds.c \
random.c \
+ register.c \
s_auth.c \
s_bsd.c \
s_conf.c \
Modified: ircu2/branches/mode/ircd/Makefile.in
===================================================================
--- ircu2/branches/mode/ircd/Makefile.in 2008-10-04 03:29:22 UTC (rev
1885)
+++ ircu2/branches/mode/ircd/Makefile.in 2008-10-09 14:25:03 UTC (rev
1886)
@@ -62,26 +62,26 @@
ircd_crypt_native.c ircd_events.c ircd_features.c ircd_lexer.l \
ircd_log.c ircd_md5.c ircd_parser.y ircd_relay.c ircd_reply.c \
ircd_res.c ircd_reslib.c ircd_signal.c ircd_snprintf.c \
- ircd_string.c jupe.c list.c listener.c m_account.c m_admin.c \
- m_asll.c m_away.c m_burst.c m_cap.c m_clearmode.c m_close.c \
- m_connect.c m_cprivmsg.c m_create.c m_defaults.c m_destruct.c \
- m_desynch.c m_die.c m_endburst.c m_error.c m_get.c m_gline.c \
- m_help.c m_info.c m_invite.c m_ison.c m_join.c m_jupe.c \
- m_kick.c m_kill.c m_links.c m_list.c m_lusers.c m_map.c \
- m_mode.c m_motd.c m_names.c m_nick.c m_notice.c m_oper.c \
- m_opmode.c m_part.c m_pass.c m_ping.c m_pong.c m_privmsg.c \
- m_privs.c m_proto.c m_pseudo.c m_quit.c m_rehash.c m_reset.c \
- m_restart.c m_rping.c m_rpong.c m_server.c m_set.c m_settime.c \
- m_silence.c m_squit.c m_stats.c m_time.c m_topic.c m_trace.c \
- m_uping.c m_user.c m_userhost.c m_userip.c m_version.c \
- m_wallchops.c m_wallops.c m_wallusers.c m_wallvoices.c m_who.c \
- m_whois.c m_whowas.c match.c memdebug.c motd.c msgq.c \
- numnicks.c opercmds.c os_generic.c packet.c parse.c \
- querycmds.c random.c s_auth.c s_bsd.c s_conf.c s_debug.c \
- s_err.c s_misc.c s_numeric.c s_serv.c s_stats.c s_user.c \
- send.c uping.c userload.c whowas.c engine_poll.c \
- engine_select.c engine_devpoll.c engine_epoll.c \
- engine_kqueue.c
+ ircd_string.c jupe.c keyspace.c list.c listener.c m_account.c \
+ m_admin.c m_asll.c m_away.c m_burst.c m_cap.c m_clearmode.c \
+ m_close.c m_connect.c m_cprivmsg.c m_create.c m_defaults.c \
+ m_destruct.c m_desynch.c m_die.c m_endburst.c m_error.c \
+ m_get.c m_gline.c m_help.c m_info.c m_invite.c m_ison.c \
+ m_join.c m_jupe.c m_kick.c m_kill.c m_links.c m_list.c \
+ m_lusers.c m_map.c m_mode.c m_motd.c m_names.c m_nick.c \
+ m_notice.c m_oper.c m_opmode.c m_part.c m_pass.c m_ping.c \
+ m_pong.c m_privmsg.c m_privs.c m_proto.c m_pseudo.c m_quit.c \
+ m_rehash.c m_reset.c m_restart.c m_rping.c m_rpong.c \
+ m_server.c m_set.c m_settime.c m_silence.c m_squit.c m_stats.c \
+ m_time.c m_topic.c m_trace.c m_uping.c m_user.c m_userhost.c \
+ m_userip.c m_version.c m_wallchops.c m_wallops.c m_wallusers.c \
+ m_wallvoices.c m_who.c m_whois.c m_whowas.c match.c memdebug.c \
+ mode.c mode-compat.c motd.c msgq.c numnicks.c opercmds.c \
+ os_generic.c packet.c parse.c querycmds.c random.c register.c \
+ s_auth.c s_bsd.c s_conf.c s_debug.c s_err.c s_misc.c \
+ s_numeric.c s_serv.c s_stats.c s_user.c send.c uping.c \
+ userload.c whowas.c engine_poll.c engine_select.c \
+ engine_devpoll.c engine_epoll.c engine_kqueue.c
@[EMAIL PROTECTED] = engine_poll.$(OBJEXT)
@[EMAIL PROTECTED] = engine_select.$(OBJEXT)
@[EMAIL PROTECTED] = engine_devpoll.$(OBJEXT)
@@ -98,42 +98,44 @@
ircd_parser.$(OBJEXT) ircd_relay.$(OBJEXT) \
ircd_reply.$(OBJEXT) ircd_res.$(OBJEXT) ircd_reslib.$(OBJEXT) \
ircd_signal.$(OBJEXT) ircd_snprintf.$(OBJEXT) \
- ircd_string.$(OBJEXT) jupe.$(OBJEXT) list.$(OBJEXT) \
- listener.$(OBJEXT) m_account.$(OBJEXT) m_admin.$(OBJEXT) \
- m_asll.$(OBJEXT) m_away.$(OBJEXT) m_burst.$(OBJEXT) \
- m_cap.$(OBJEXT) m_clearmode.$(OBJEXT) m_close.$(OBJEXT) \
- m_connect.$(OBJEXT) m_cprivmsg.$(OBJEXT) m_create.$(OBJEXT) \
- m_defaults.$(OBJEXT) m_destruct.$(OBJEXT) m_desynch.$(OBJEXT) \
- m_die.$(OBJEXT) m_endburst.$(OBJEXT) m_error.$(OBJEXT) \
- m_get.$(OBJEXT) m_gline.$(OBJEXT) m_help.$(OBJEXT) \
- m_info.$(OBJEXT) m_invite.$(OBJEXT) m_ison.$(OBJEXT) \
- m_join.$(OBJEXT) m_jupe.$(OBJEXT) m_kick.$(OBJEXT) \
- m_kill.$(OBJEXT) m_links.$(OBJEXT) m_list.$(OBJEXT) \
- m_lusers.$(OBJEXT) m_map.$(OBJEXT) m_mode.$(OBJEXT) \
- m_motd.$(OBJEXT) m_names.$(OBJEXT) m_nick.$(OBJEXT) \
- m_notice.$(OBJEXT) m_oper.$(OBJEXT) m_opmode.$(OBJEXT) \
- m_part.$(OBJEXT) m_pass.$(OBJEXT) m_ping.$(OBJEXT) \
- m_pong.$(OBJEXT) m_privmsg.$(OBJEXT) m_privs.$(OBJEXT) \
- m_proto.$(OBJEXT) m_pseudo.$(OBJEXT) m_quit.$(OBJEXT) \
- m_rehash.$(OBJEXT) m_reset.$(OBJEXT) m_restart.$(OBJEXT) \
- m_rping.$(OBJEXT) m_rpong.$(OBJEXT) m_server.$(OBJEXT) \
- m_set.$(OBJEXT) m_settime.$(OBJEXT) m_silence.$(OBJEXT) \
- m_squit.$(OBJEXT) m_stats.$(OBJEXT) m_time.$(OBJEXT) \
- m_topic.$(OBJEXT) m_trace.$(OBJEXT) m_uping.$(OBJEXT) \
- m_user.$(OBJEXT) m_userhost.$(OBJEXT) m_userip.$(OBJEXT) \
- m_version.$(OBJEXT) m_wallchops.$(OBJEXT) m_wallops.$(OBJEXT) \
- m_wallusers.$(OBJEXT) m_wallvoices.$(OBJEXT) m_who.$(OBJEXT) \
- m_whois.$(OBJEXT) m_whowas.$(OBJEXT) match.$(OBJEXT) \
- memdebug.$(OBJEXT) motd.$(OBJEXT) msgq.$(OBJEXT) \
- numnicks.$(OBJEXT) opercmds.$(OBJEXT) os_generic.$(OBJEXT) \
- packet.$(OBJEXT) parse.$(OBJEXT) querycmds.$(OBJEXT) \
- random.$(OBJEXT) s_auth.$(OBJEXT) s_bsd.$(OBJEXT) \
- s_conf.$(OBJEXT) s_debug.$(OBJEXT) s_err.$(OBJEXT) \
- s_misc.$(OBJEXT) s_numeric.$(OBJEXT) s_serv.$(OBJEXT) \
- s_stats.$(OBJEXT) s_user.$(OBJEXT) send.$(OBJEXT) \
- uping.$(OBJEXT) userload.$(OBJEXT) whowas.$(OBJEXT) \
- $(am__objects_1) $(am__objects_2) $(am__objects_3) \
- $(am__objects_4) $(am__objects_5)
+ ircd_string.$(OBJEXT) jupe.$(OBJEXT) keyspace.$(OBJEXT) \
+ list.$(OBJEXT) listener.$(OBJEXT) m_account.$(OBJEXT) \
+ m_admin.$(OBJEXT) m_asll.$(OBJEXT) m_away.$(OBJEXT) \
+ m_burst.$(OBJEXT) m_cap.$(OBJEXT) m_clearmode.$(OBJEXT) \
+ m_close.$(OBJEXT) m_connect.$(OBJEXT) m_cprivmsg.$(OBJEXT) \
+ m_create.$(OBJEXT) m_defaults.$(OBJEXT) m_destruct.$(OBJEXT) \
+ m_desynch.$(OBJEXT) m_die.$(OBJEXT) m_endburst.$(OBJEXT) \
+ m_error.$(OBJEXT) m_get.$(OBJEXT) m_gline.$(OBJEXT) \
+ m_help.$(OBJEXT) m_info.$(OBJEXT) m_invite.$(OBJEXT) \
+ m_ison.$(OBJEXT) m_join.$(OBJEXT) m_jupe.$(OBJEXT) \
+ m_kick.$(OBJEXT) m_kill.$(OBJEXT) m_links.$(OBJEXT) \
+ m_list.$(OBJEXT) m_lusers.$(OBJEXT) m_map.$(OBJEXT) \
+ m_mode.$(OBJEXT) m_motd.$(OBJEXT) m_names.$(OBJEXT) \
+ m_nick.$(OBJEXT) m_notice.$(OBJEXT) m_oper.$(OBJEXT) \
+ m_opmode.$(OBJEXT) m_part.$(OBJEXT) m_pass.$(OBJEXT) \
+ m_ping.$(OBJEXT) m_pong.$(OBJEXT) m_privmsg.$(OBJEXT) \
+ m_privs.$(OBJEXT) m_proto.$(OBJEXT) m_pseudo.$(OBJEXT) \
+ m_quit.$(OBJEXT) m_rehash.$(OBJEXT) m_reset.$(OBJEXT) \
+ m_restart.$(OBJEXT) m_rping.$(OBJEXT) m_rpong.$(OBJEXT) \
+ m_server.$(OBJEXT) m_set.$(OBJEXT) m_settime.$(OBJEXT) \
+ m_silence.$(OBJEXT) m_squit.$(OBJEXT) m_stats.$(OBJEXT) \
+ m_time.$(OBJEXT) m_topic.$(OBJEXT) m_trace.$(OBJEXT) \
+ m_uping.$(OBJEXT) m_user.$(OBJEXT) m_userhost.$(OBJEXT) \
+ m_userip.$(OBJEXT) m_version.$(OBJEXT) m_wallchops.$(OBJEXT) \
+ m_wallops.$(OBJEXT) m_wallusers.$(OBJEXT) \
+ m_wallvoices.$(OBJEXT) m_who.$(OBJEXT) m_whois.$(OBJEXT) \
+ m_whowas.$(OBJEXT) match.$(OBJEXT) memdebug.$(OBJEXT) \
+ mode.$(OBJEXT) mode-compat.$(OBJEXT) motd.$(OBJEXT) \
+ msgq.$(OBJEXT) numnicks.$(OBJEXT) opercmds.$(OBJEXT) \
+ os_generic.$(OBJEXT) packet.$(OBJEXT) parse.$(OBJEXT) \
+ querycmds.$(OBJEXT) random.$(OBJEXT) register.$(OBJEXT) \
+ s_auth.$(OBJEXT) s_bsd.$(OBJEXT) s_conf.$(OBJEXT) \
+ s_debug.$(OBJEXT) s_err.$(OBJEXT) s_misc.$(OBJEXT) \
+ s_numeric.$(OBJEXT) s_serv.$(OBJEXT) s_stats.$(OBJEXT) \
+ s_user.$(OBJEXT) send.$(OBJEXT) uping.$(OBJEXT) \
+ userload.$(OBJEXT) whowas.$(OBJEXT) $(am__objects_1) \
+ $(am__objects_2) $(am__objects_3) $(am__objects_4) \
+ $(am__objects_5)
nodist_ircd_OBJECTS = version.$(OBJEXT)
ircd_OBJECTS = $(am_ircd_OBJECTS) $(nodist_ircd_OBJECTS)
am__DEPENDENCIES_1 =
@@ -297,26 +299,26 @@
ircd_crypt_native.c ircd_events.c ircd_features.c ircd_lexer.l \
ircd_log.c ircd_md5.c ircd_parser.y ircd_relay.c ircd_reply.c \
ircd_res.c ircd_reslib.c ircd_signal.c ircd_snprintf.c \
- ircd_string.c jupe.c list.c listener.c m_account.c m_admin.c \
- m_asll.c m_away.c m_burst.c m_cap.c m_clearmode.c m_close.c \
- m_connect.c m_cprivmsg.c m_create.c m_defaults.c m_destruct.c \
- m_desynch.c m_die.c m_endburst.c m_error.c m_get.c m_gline.c \
- m_help.c m_info.c m_invite.c m_ison.c m_join.c m_jupe.c \
- m_kick.c m_kill.c m_links.c m_list.c m_lusers.c m_map.c \
- m_mode.c m_motd.c m_names.c m_nick.c m_notice.c m_oper.c \
- m_opmode.c m_part.c m_pass.c m_ping.c m_pong.c m_privmsg.c \
- m_privs.c m_proto.c m_pseudo.c m_quit.c m_rehash.c m_reset.c \
- m_restart.c m_rping.c m_rpong.c m_server.c m_set.c m_settime.c \
- m_silence.c m_squit.c m_stats.c m_time.c m_topic.c m_trace.c \
- m_uping.c m_user.c m_userhost.c m_userip.c m_version.c \
- m_wallchops.c m_wallops.c m_wallusers.c m_wallvoices.c m_who.c \
- m_whois.c m_whowas.c match.c memdebug.c motd.c msgq.c \
- numnicks.c opercmds.c os_generic.c packet.c parse.c \
- querycmds.c random.c s_auth.c s_bsd.c s_conf.c s_debug.c \
- s_err.c s_misc.c s_numeric.c s_serv.c s_stats.c s_user.c \
- send.c uping.c userload.c whowas.c $(am__append_1) \
- $(am__append_2) $(am__append_3) $(am__append_4) \
- $(am__append_5)
+ ircd_string.c jupe.c keyspace.c list.c listener.c m_account.c \
+ m_admin.c m_asll.c m_away.c m_burst.c m_cap.c m_clearmode.c \
+ m_close.c m_connect.c m_cprivmsg.c m_create.c m_defaults.c \
+ m_destruct.c m_desynch.c m_die.c m_endburst.c m_error.c \
+ m_get.c m_gline.c m_help.c m_info.c m_invite.c m_ison.c \
+ m_join.c m_jupe.c m_kick.c m_kill.c m_links.c m_list.c \
+ m_lusers.c m_map.c m_mode.c m_motd.c m_names.c m_nick.c \
+ m_notice.c m_oper.c m_opmode.c m_part.c m_pass.c m_ping.c \
+ m_pong.c m_privmsg.c m_privs.c m_proto.c m_pseudo.c m_quit.c \
+ m_rehash.c m_reset.c m_restart.c m_rping.c m_rpong.c \
+ m_server.c m_set.c m_settime.c m_silence.c m_squit.c m_stats.c \
+ m_time.c m_topic.c m_trace.c m_uping.c m_user.c m_userhost.c \
+ m_userip.c m_version.c m_wallchops.c m_wallops.c m_wallusers.c \
+ m_wallvoices.c m_who.c m_whois.c m_whowas.c match.c memdebug.c \
+ mode.c mode-compat.c motd.c msgq.c numnicks.c opercmds.c \
+ os_generic.c packet.c parse.c querycmds.c random.c register.c \
+ s_auth.c s_bsd.c s_conf.c s_debug.c s_err.c s_misc.c \
+ s_numeric.c s_serv.c s_stats.c s_user.c send.c uping.c \
+ userload.c whowas.c $(am__append_1) $(am__append_2) \
+ $(am__append_3) $(am__append_4) $(am__append_5)
ircd_LDADD = $(LEXLIB)
all: $(BUILT_SOURCES)
$(MAKE) $(AM_MAKEFLAGS) all-recursive
@@ -438,6 +440,7 @@
@AMDEP_TRUE@@am__include@ @[EMAIL PROTECTED]/$(DEPDIR)/[EMAIL PROTECTED]@
@AMDEP_TRUE@@am__include@ @[EMAIL PROTECTED]/$(DEPDIR)/[EMAIL PROTECTED]@
@AMDEP_TRUE@@am__include@ @[EMAIL PROTECTED]/$(DEPDIR)/[EMAIL PROTECTED]@
[EMAIL PROTECTED]@@am__include@ @[EMAIL PROTECTED]/$(DEPDIR)/[EMAIL PROTECTED]@
@AMDEP_TRUE@@am__include@ @[EMAIL PROTECTED]/$(DEPDIR)/[EMAIL PROTECTED]@
@AMDEP_TRUE@@am__include@ @[EMAIL PROTECTED]/$(DEPDIR)/[EMAIL PROTECTED]@
@AMDEP_TRUE@@am__include@ @[EMAIL PROTECTED]/$(DEPDIR)/[EMAIL PROTECTED]@
@@ -515,6 +518,8 @@
@AMDEP_TRUE@@am__include@ @[EMAIL PROTECTED]/$(DEPDIR)/[EMAIL PROTECTED]@
@AMDEP_TRUE@@am__include@ @[EMAIL PROTECTED]/$(DEPDIR)/[EMAIL PROTECTED]@
@AMDEP_TRUE@@am__include@ @[EMAIL PROTECTED]/$(DEPDIR)/[EMAIL PROTECTED]@
[EMAIL PROTECTED]@@am__include@ @[EMAIL PROTECTED]/$(DEPDIR)/[EMAIL PROTECTED]@
[EMAIL PROTECTED]@@am__include@ @[EMAIL PROTECTED]/$(DEPDIR)/[EMAIL PROTECTED]@
@AMDEP_TRUE@@am__include@ @[EMAIL PROTECTED]/$(DEPDIR)/[EMAIL PROTECTED]@
@AMDEP_TRUE@@am__include@ @[EMAIL PROTECTED]/$(DEPDIR)/[EMAIL PROTECTED]@
@AMDEP_TRUE@@am__include@ @[EMAIL PROTECTED]/$(DEPDIR)/[EMAIL PROTECTED]@
@@ -524,6 +529,7 @@
@AMDEP_TRUE@@am__include@ @[EMAIL PROTECTED]/$(DEPDIR)/[EMAIL PROTECTED]@
@AMDEP_TRUE@@am__include@ @[EMAIL PROTECTED]/$(DEPDIR)/[EMAIL PROTECTED]@
@AMDEP_TRUE@@am__include@ @[EMAIL PROTECTED]/$(DEPDIR)/[EMAIL PROTECTED]@
[EMAIL PROTECTED]@@am__include@ @[EMAIL PROTECTED]/$(DEPDIR)/[EMAIL PROTECTED]@
@AMDEP_TRUE@@am__include@ @[EMAIL PROTECTED]/$(DEPDIR)/[EMAIL PROTECTED]@
@AMDEP_TRUE@@am__include@ @[EMAIL PROTECTED]/$(DEPDIR)/[EMAIL PROTECTED]@
@AMDEP_TRUE@@am__include@ @[EMAIL PROTECTED]/$(DEPDIR)/[EMAIL PROTECTED]@
Modified: ircu2/branches/mode/ircd/ircd.c
===================================================================
--- ircu2/branches/mode/ircd/ircd.c 2008-10-04 03:29:22 UTC (rev 1885)
+++ ircu2/branches/mode/ircd/ircd.c 2008-10-09 14:25:03 UTC (rev 1886)
@@ -42,6 +42,8 @@
#include "jupe.h"
#include "list.h"
#include "match.h"
+#include "mode.h"
+#include "mode-compat.h"
#include "msg.h"
#include "numeric.h"
#include "numnicks.h"
@@ -929,6 +931,10 @@
initmsgtree();
initstats();
+ /* Initialize modes */
+ mode_init();
+ mode_compat_init();
+
/* we need this for now, when we're modular this
should be removed -- hikari */
ircd_crypt_init();
Modified: ircu2/branches/mode/ircd/keyspace.c
===================================================================
--- ircu2/branches/mode/ircd/keyspace.c 2008-10-04 03:29:22 UTC (rev 1885)
+++ ircu2/branches/mode/ircd/keyspace.c 2008-10-09 14:25:03 UTC (rev 1886)
@@ -43,14 +43,15 @@
*
* @section keyman Managing Keys
*
- * Keys are represented by the type key_t, and they are allocated from
- * \a keyspaces, which are specified by a keyspace_t object. This
- * keyspace_t object must be initialized either with KEYSPACE_INIT()
- * or ks_init()--the latter allowing for dynamic initialization. Once
- * keys are allocated, the keyspace_t object will contain some
- * allocated memory, which may be reclaimed by calling the ks_clean()
- * routine on the keyspace. Note that the keyspace must be
- * reinitialized by a call to ks_init() before it can be used again.
+ * Keys are represented by the type ircd_key_t, and they are allocated
+ * from \a keyspaces, which are specified by a keyspace_t object.
+ * This keyspace_t object must be initialized either with
+ * KEYSPACE_INIT() or ks_init()--the latter allowing for dynamic
+ * initialization. Once keys are allocated, the keyspace_t object
+ * will contain some allocated memory, which may be reclaimed by
+ * calling the ks_clean() routine on the keyspace. Note that the
+ * keyspace must be reinitialized by a call to ks_init() before it can
+ * be used again.
*
* Allocation of a key is simple--simply call the ks_reserve()
* function, passing it a pointer to the keyspace. If no more keys
@@ -100,11 +101,11 @@
* @section infokey Important Subsystem Information
*
* This subsystem provides one structure--struct KeySpace--and 2
- * types: key_t, for the value of keys; and keyspace_t, corresponding
- * to the struct KeySpace. In particular, keyspace_t should be
- * treated as opaque by all callers, only referenced through the
- * provided macros, whereas key_t can be treated as an integral type
- * suitable for use as an array index.
+ * types: ircd_key_t, for the value of keys; and keyspace_t,
+ * corresponding to the struct KeySpace. In particular, keyspace_t
+ * should be treated as opaque by all callers, only referenced through
+ * the provided macros, whereas ircd_key_t can be treated as an
+ * integral type suitable for use as an array index.
*
* This subsystem is intentionally designed to pull in as few other
* ircu subsystems as possible, in order to minimize issues with
@@ -126,10 +127,10 @@
* @param[in,out] space The keyspace from which to allocate the key.
* @return The reserved key, or #KEY_INVKEY if one could not be allocated.
*/
-key_t
+ircd_key_t
ks_reserve(keyspace_t* space)
{
- key_t key = KEY_INVKEY;
+ ircd_key_t key = KEY_INVKEY;
assert(KEYSPACE_CHECK(space));
@@ -205,7 +206,7 @@
* @param[in] key The key to release.
*/
void
-ks_release(keyspace_t* space, key_t key)
+ks_release(keyspace_t* space, ircd_key_t key)
{
assert(KEYSPACE_CHECK(space));
Modified: ircu2/branches/mode/ircd/mode-compat.c
===================================================================
--- ircu2/branches/mode/ircd/mode-compat.c 2008-10-04 03:29:22 UTC (rev
1885)
+++ ircu2/branches/mode/ircd/mode-compat.c 2008-10-09 14:25:03 UTC (rev
1886)
@@ -26,13 +26,13 @@
#include "mode.h"
#include "register.h"
-/** Compute the number of entries in a modedesc_t array. */
-#define mdcount(arr) (sizeof(arr) / sizeof(modedesc_t))
+/** Compute the number of entries in a mode_desc_t array. */
+#define mdcount(arr) (sizeof(arr) / sizeof(mode_desc_t))
/** Initial list of channel modes. Note that this must be the same
* order as enum ChanModes!
*/
-modedesc_t _cmodes[] = {
+mode_desc_t _cmodes[] = {
MODE_DESC_INIT("CHANOP", 'o', "Channel operator.",
MDPAR_ARG_CLI | MDPAR_TYPE_REQARG | MDPOL_AUTHZ_CHOP |
MDFLAG_LIST, '@', 15),
@@ -73,13 +73,13 @@
MDPAR_ARG_STR | MDPAR_TYPE_REQARG | MDPOL_AUTHZ_CHOP |
MDFLAG_VIS_CHOP | MDFLAG_ONESHOT, 0, 0),
MODE_DESC_INIT("WASDELJOINS", 'd', "Channel has delayed joins.",
- MDFLAG_AUTHZ_NONE, 0, 0)
+ MDPOL_AUTHZ_NONE, 0, 0)
};
/** Initial list of user modes. Note that this must be the same order
* as enum UserModes!
*/
-modedesc_t _umodes[] = {
+mode_desc_t _umodes[] = {
MODE_DESC_INIT("LOCOP", 'O', "Local IRC operator.",
MDPOL_AUTHZ_OPER, 0, 0),
MODE_DESC_INIT("OPER", 'o', "Global IRC operator.",
@@ -107,7 +107,7 @@
/** Initial list of server modes. Note that this must be the same
* order as enum ServModes!
*/
-modedesc_t _smodes[] = {
+mode_desc_t _smodes[] = {
MODE_DESC_INIT("HUB", 'h', "Server is a hub.",
MDPOL_AUTHZ_SERV, 0, 0),
MODE_DESC_INIT("SERVICE", 's', "Server is a service.",
@@ -117,13 +117,13 @@
};
/** Mode list for channels. */
-modelist_t chanmodes = MODE_LIST_INIT("channel", 0);
+mode_list_t chanmodes = MODE_LIST_INIT("channel", 0);
/** Mode list for users. */
-modelist_t usermodes = MODE_LIST_INIT("user", 0);
+mode_list_t usermodes = MODE_LIST_INIT("user", 0);
/** Mode list for servers. */
-modelist_t servmodes = MODE_LIST_INIT("server", 0);
+mode_list_t servmodes = MODE_LIST_INIT("server", 0);
/** Initialize the mode compatibility layer. */
void
@@ -135,7 +135,10 @@
reg(MODE_TABLE, &servmodes);
/* Now, let's register the mode descriptors. */
- regtab_n(&chanmodes, _cmodes, mdcount(_cmodes), sizeof(modedesc_t));
- regtab_n(&usermodes, _umodes, mdcount(_umodes), sizeof(modedesc_t));
- regtab_n(&servmodes, _smodes, mdcount(_smodes), sizeof(modedesc_t));
+ regtab_n((regtab_t*) &chanmodes, _cmodes, mdcount(_cmodes),
+ sizeof(mode_desc_t));
+ regtab_n((regtab_t*) &usermodes, _umodes, mdcount(_umodes),
+ sizeof(mode_desc_t));
+ regtab_n((regtab_t*) &servmodes, _smodes, mdcount(_smodes),
+ sizeof(mode_desc_t));
}
Modified: ircu2/branches/mode/ircd/mode.c
===================================================================
--- ircu2/branches/mode/ircd/mode.c 2008-10-04 03:29:22 UTC (rev 1885)
+++ ircu2/branches/mode/ircd/mode.c 2008-10-09 14:25:03 UTC (rev 1886)
@@ -34,12 +34,12 @@
* @return 0 for valid mode list, non-zero otherwise.
*/
static int
-ml_reg(regtab_t* table, modelist_t* ml)
+ml_reg(regtab_t* table, mode_list_t* ml)
{
/* Sanity-check the mode list */
if (reg_magic(&ml->ml_table) != MODE_DESC_MAGIC ||
- reg_reg(&ml->ml_table) != _mode_desc_reg ||
- reg_unreg(&ml->ml_table) != _mode_desc_unreg)
+ reg_reg(&ml->ml_table) != (reg_t) _mode_desc_reg ||
+ reg_unreg(&ml->ml_table) != (unreg_t) _mode_desc_unreg)
return -2;
/* Initialize the keyspace and the maps */
@@ -51,16 +51,16 @@
}
/** Remove all existing mode descriptors from a mode list.
- * @param[in,out] ml Pointer to modelist_t.
- * @param[in,out] md Pointer to modedesc_t.
+ * @param[in,out] ml Pointer to mode_list_t.
+ * @param[in,out] md Pointer to mode_desc_t.
* @param[in] extra Extra pointer passed to regtab_iter().
* @return 0 to continue iteration.
*/
static int
-ml_unreg_flush(modelist_t* ml, modedesc_t* md, void* extra)
+ml_unreg_flush(mode_list_t* ml, mode_desc_t* md, void* extra)
{
/* unregister the mode descriptor */
- unregtab(ml, md);
+ unregtab((regtab_t*) ml, md);
return 0;
}
@@ -71,7 +71,7 @@
* @return 0 to accept unregistration.
*/
static int
-ml_unreg(regtab_t* table, modelist_t* ml)
+ml_unreg(regtab_t* table, mode_list_t* ml)
{
/* Remove all descriptors from the table */
regtab_iter(&ml->ml_table, (regiter_t) ml_unreg_flush, 0);
@@ -80,6 +80,8 @@
ks_clean(&ml->ml_keyspace);
memset(&ml->ml_smap, 0, sizeof(mode_desc_t*) * 256);
memset(&ml->ml_mmap, 0, sizeof(mode_desc_t*) * MAX_MODES);
+
+ return 0;
}
/** Table of mode lists. */
@@ -92,7 +94,7 @@
* @return 0 for valid mode descriptor, non-zero otherwise.
*/
int
-_mode_desc_reg(modelist_t* ml, modedesc_t* md)
+_mode_desc_reg(mode_list_t* ml, mode_desc_t* md)
{
/* First, verify that the mode descriptor is valid */
if (!md->md_switch)
@@ -119,7 +121,7 @@
* @return 0 to accept unregistration.
*/
int
-_mode_desc_unreg(modelist_t* ml, modedesc_t* md)
+_mode_desc_unreg(mode_list_t* ml, mode_desc_t* md)
{
/* Make sure the mode really is in the list... */
if (ml->ml_smap[md->md_switch] != md || ml->ml_mmap[md->md_mode] != md)
@@ -152,13 +154,13 @@
/** Determine if a specific mode should be added to the informative
* mode string.
- * @param[in] table Registration table modedesc_t is in.
+ * @param[in] table Registration table mode_desc_t is in.
* @param[in] md Mode descriptor.
* @param[in,out] is Info string state.
* @return 0 to continue iteration.
*/
static int
-mi_build(regtab_t* table, modedesc_t* md, struct info_state *is)
+mi_build(regtab_t* table, mode_desc_t* md, struct info_state *is)
{
assert(MODE_DESC_CHECK(md));
@@ -180,7 +182,7 @@
* @return Buffer containing informative mode string.
*/
char*
-mode_str_info(modelist_t* ml, char* buf, int* len, int args)
+mode_str_info(mode_list_t* ml, char* buf, int* len, int args)
{
struct info_state is = { buf, 0, 0, args };
@@ -219,13 +221,13 @@
};
/** Add specific modes to the appropriate string component.
- * @param[in] table Registration table modedesc_t is in.
+ * @param[in] table Registration table mode_desc_t is in.
* @param[in] md Mode descriptor.
* @param[in,out] ms String buffer state.
* @return 0 to continue iteration.
*/
static int
-mm_build(regtab_t* table, modedesc_t* md, struct mode_state *ms)
+mm_build(regtab_t* table, mode_desc_t* md, struct mode_state *ms)
{
enum mode_type type;
@@ -238,7 +240,7 @@
return 0; /* skip this one */
/* Check the length... */
- if (ms.len + 1 <= ms.size)
+ if (ms->len + 1 <= ms->size)
return -1;
/* Figure out which type of mode this is. */
@@ -265,15 +267,15 @@
}
/* OK, let's shift the string over one position */
- memmove(ms.types[type] + 1, ms.types[type],
- ms.len + 1 - (ms.types[type] - ms.buf));
+ memmove(ms->types[type] + 1, ms->types[type],
+ ms->len + 1 - (ms->types[type] - ms->buf));
/* add this mode to the string */
- *ms.types[type] = md->md_switch;
+ *ms->types[type] = md->md_switch;
/* shift up the component pointers... */
for (; type <= TYPE_D; type++)
- ms.types[type]++;
+ ms->types[type]++;
return 0;
}
@@ -285,7 +287,7 @@
* @return Buffer containing modes string.
*/
char*
-mode_str_modes(modelist_t* ml, char* buf, int* len)
+mode_str_modes(mode_list_t* ml, char* buf, int* len)
{
struct mode_state ms = { buf, 0, 0, { 0, 0, 0, 0 } };
@@ -310,7 +312,7 @@
ms.len = 3;
/* Now let's iterate over all the mode descriptors */
- if (regtab_iter(&ml->ml_table, (regiter_t) ms_build, &ms))
+ if (regtab_iter(&ml->ml_table, (regiter_t) mm_build, &ms))
return 0; /* some kind of failure occurred */
return ms.buf; /* return the buffer */
@@ -323,18 +325,18 @@
struct pfx_state {
int count; /**< Number of modes to enter. */
int max; /**< Maximum number of modes to enter. */
- modedesc_t* modes[flag2prio(MDFLAG_PRIO) + 1];
+ mode_desc_t* modes[flag2prio(MDFLAG_PRIO) + 1];
/**< Modes contributing to prefix. */
};
/** Determine if a specific mode participates in the prefix calculation.
- * @param[in] table Registration table modedesc_t is in.
+ * @param[in] table Registration table mode_desc_t is in.
* @param[in] md Mode descriptor.
* @param[in,out] ps Prefix string state.
* @return 0 to continue iteration, non-zero if there is a problem.
*/
static int
-mp_build(regtab_t* table, modedesc_t* md, struct pfx_state *ps)
+mp_build(regtab_t* table, mode_desc_t* md, struct pfx_state *ps)
{
assert(MODE_DESC_CHECK(md));
@@ -357,7 +359,7 @@
* @return Buffer containing prefix string.
*/
char*
-mode_str_prefix(modelist_t* ml, char* buf, int* len)
+mode_str_prefix(mode_list_t* ml, char* buf, int* len)
{
struct pfx_state ps;
int i, j, offset;
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
_______________________________________________
Patches mailing list
[email protected]
http://undernet.sbg.org/mailman/listinfo/patches