--- /tmp/jabberd-2.1.24.1/router/router.h 2008-04-27 02:57:33.000000000 -0700 +++ ./jabberd2/router/router.h 2009-09-30 16:38:49.000000000 -0700 @@ -48,6 +48,9 @@ # include <sys/stat.h> #endif +#include <sys/resource.h> +#include <sys/syslimits.h> + typedef struct router_st *router_t; typedef struct component_st *component_t; typedef struct alias_st *alias_t; @@ -89,6 +92,7 @@ struct router_st { int local_port; char *local_secret; char *local_pemfile; + char *local_private_key_password; /** max file descriptors */ int io_max_fds; @@ -148,6 +152,15 @@ struct router_st { /** list of sx_t waiting to be cleaned up */ jqueue_t dead; + + /** message logging attributes */ + int message_logging_enabled; + char *message_logging_dir; + char *message_logging_file; + char *message_logging_fullpath; + int message_logging_roll_days; + int message_logging_roll_megs; + char *filter_muc_messages_from; }; /** a single component */ @@ -205,6 +218,9 @@ int filter_load(router_t r); void filter_unload(router_t r); int filter_packet(router_t r, nad_t nad); +int message_log(nad_t nad, router_t r, char *msg_from, char *msg_to); +int roll_message_log(router_t r); + /* union for xhash_iter_get to comply with strict-alias rules for gcc3 */ union xhashv {