--- /tmp/jabberd-2.2.14/sx/sx.h 2011-05-31 15:11:37.000000000 -0700 +++ ./jabberd2/sx/sx.h 2011-06-22 20:13:00.000000000 -0700 @@ -180,6 +180,7 @@ JABBERD2_API sx_plugin_t /* send errors and close stuff */ JABBERD2_API void sx_error(sx_t s, int err, const char *text); +JABBERD2_API void sx_error_extended(sx_t s, int err, const char *content); JABBERD2_API void sx_close(sx_t s); JABBERD2_API void sx_kill(sx_t s); @@ -234,6 +235,7 @@ JABBERD2_API void /* send errors and close stuff */ JABBERD2_API void _sx_error(sx_t s, int err, const char *text); +JABBERD2_API void _sx_error_extended(sx_t s, int err, const char *content); JABBERD2_API void _sx_close(sx_t s); /** read/write plugin chain */ @@ -257,6 +259,10 @@ struct _sx_st { /* pointing to sess.ip and owned by sess structure */ char *ip; + /* TCP port of the connection */ + /* pointing to sess.port and owned by sess structure */ + int port; + /* callback */ sx_callback_t cb; void *cb_arg; @@ -409,3 +415,10 @@ JABBERD2_API int __sx_event(cons #include "plugins.h" #endif + +int sx_apple_password_callback(char *return_buf, int return_buf_size, int in_rwflag, void *in_userdata); +typedef struct ssl_userdata_st *ssl_userdata_t; +struct ssl_userdata_st { + char *pemfile; + char *password; +};