diff --git a/configure b/configure index edcf36370..991661028 100755 --- a/configure +++ b/configure @@ -11017,6 +11017,11 @@ cat >>confdefs.h <<\_ACEOF #define MONITOR_HEAP_SIZE 128 _ACEOF + +cat >>confdefs.h <<\_ACEOF +#define AWAY_HEAP_SIZE 128 +_ACEOF + else cat >>confdefs.h <<\_ACEOF @@ -11088,6 +11093,11 @@ cat >>confdefs.h <<\_ACEOF #define MONITOR_HEAP_SIZE 1024 _ACEOF + +cat >>confdefs.h <<\_ACEOF +#define AWAY_HEAP_SIZE 512 +_ACEOF + fi diff --git a/include/cache.h b/include/cache.h index 059c5838b..b303f34f9 100644 --- a/include/cache.h +++ b/include/cache.h @@ -42,10 +42,11 @@ void free_cachefile(struct cachefile *); void load_help(void); void send_user_motd(struct Client *); +void send_oper_motd(struct Client *); void cache_user_motd(void); -struct Dictionary; -extern struct Dictionary *help_dict_oper; +struct Dictionary; +extern struct Dictionary *help_dict_oper; extern struct Dictionary *help_dict_user; -#endif - +#endif + diff --git a/include/setup.h.in b/include/setup.h.in index ea38d3d7c..627dd80a1 100644 --- a/include/setup.h.in +++ b/include/setup.h.in @@ -1,5 +1,8 @@ /* include/setup.h.in. Generated from configure.ac by autoheader. */ +/* Size of away heap. */ +#undef AWAY_HEAP_SIZE + /* Size of the ban heap. */ #undef BAN_HEAP_SIZE diff --git a/src/s_log.c b/src/s_log.c index de696d3e0..3cafbf0e8 100644 --- a/src/s_log.c +++ b/src/s_log.c @@ -118,7 +118,7 @@ ilog(ilogfile dest, const char *format, ...) return; va_start(args, format); - ircvsnprintf(buf, sizeof(buf), format, args); + rb_vsnprintf(buf, sizeof(buf), format, args); va_end(args); rb_snprintf(buf2, sizeof(buf2), "%s %s\n", smalldate(), buf); diff --git a/src/s_newconf.c b/src/s_newconf.c index 141839ca5..222a32e07 100644 --- a/src/s_newconf.c +++ b/src/s_newconf.c @@ -63,13 +63,16 @@ static rb_bh *nd_heap = NULL; static void expire_temp_rxlines(void *unused); static void expire_nd_entries(void *unused); +struct ev_entry *expire_nd_entries_ev = NULL; +struct ev_entry *expire_temp_rxlines_ev = NULL; + void init_s_newconf(void) { - tgchange_tree = New_Patricia(PATRICIA_BITS); - nd_heap = rb_bh_create(sizeof(struct nd_entry), ND_HEAP_SIZE); - rb_event_addish("expire_nd_entries", expire_nd_entries, NULL, 30); - rb_event_addish("expire_temp_rxlines", expire_temp_rxlines, NULL, 60); + tgchange_tree = rb_new_patricia(PATRICIA_BITS); + nd_heap = rb_bh_create(sizeof(struct nd_entry), ND_HEAP_SIZE, "nd_heap"); + expire_nd_entries_ev = rb_event_addish("expire_nd_entries", expire_nd_entries, NULL, 30); + expire_temp_rxlines_ev = rb_event_addish("expire_temp_rxlines", expire_temp_rxlines, NULL, 60); } void @@ -203,7 +206,7 @@ propagate_generic(struct Client *source_p, const char *command, va_list args; va_start(args, format); - ircvsnprintf(buffer, sizeof(buffer), format, args); + rb_vsnprintf(buffer, sizeof(buffer), format, args); va_end(args); sendto_match_servs(source_p, target, cap, NOCAPS, @@ -224,7 +227,7 @@ cluster_generic(struct Client *source_p, const char *command, rb_dlink_node *ptr; va_start(args, format); - ircvsnprintf(buffer, sizeof(buffer), format, args); + rb_vsnprintf(buffer, sizeof(buffer), format, args); va_end(args); RB_DLINK_FOREACH(ptr, cluster_conf_list.head) @@ -796,7 +799,7 @@ void add_tgchange(const char *host) { tgchange *target; - patricia_node_t *pnode; + rb_patricia_node_t *pnode; if(find_tgchange(host)) return; @@ -816,9 +819,9 @@ add_tgchange(const char *host) tgchange * find_tgchange(const char *host) { - patricia_node_t *pnode; + rb_patricia_node_t *pnode; - if((pnode = match_exact_string(tgchange_tree, host))) + if((pnode = rb_match_exact_string(tgchange_tree, host))) return pnode->data; return NULL; diff --git a/src/s_stats.c b/src/s_stats.c index 0dd277ea6..c972293a3 100644 --- a/src/s_stats.c +++ b/src/s_stats.c @@ -284,7 +284,7 @@ count_memory(struct Client *source_p) class_count = rb_dlink_list_length(&class_list) + 1; - count_linebuf_memory(&linebuf_count, &linebuf_memory_used); + rb_count_rb_linebuf_memory(&linebuf_count, &linebuf_memory_used); sendto_one_numeric(source_p, RPL_STATSDEBUG, "z :Users %u(%lu) Invites %u(%lu)", diff --git a/src/s_user.c b/src/s_user.c index a9537d055..2428c856a 100644 --- a/src/s_user.c +++ b/src/s_user.c @@ -290,10 +290,14 @@ register_local_user(struct Client *client_p, struct Client *source_p, const char /* Apply nick override */ if(*source_p->preClient->spoofnick) { + char note[NICKLEN + 10]; + del_from_client_hash(source_p->name, source_p); strlcpy(source_p->name, source_p->preClient->spoofnick, NICKLEN + 1); add_to_client_hash(source_p->name, source_p); - rb_note(source_p->localClient->F->fd, "Nick: %s", source_p->name); + + rb_snprintf(note, NICKLEN + 10, "Nick: %s", source_p->name); + rb_note(source_p->localClient->F, note); } if(!valid_hostname(source_p->host))