diff options
author | Sergey Poznyakoff <gray@gnu.org.ua> | 2011-11-04 21:30:38 +0200 |
---|---|---|
committer | Sergey Poznyakoff <gray@gnu.org.ua> | 2011-11-04 21:44:56 +0200 |
commit | e1233d5516f48cd7d786a69d4eebd40e73d95d45 (patch) | |
tree | 38692d813e645ac60bfababee4c5f7ec7f8cede9 /maidag | |
parent | bad3c6c3a982f65af0fe137d1e5b7a98d13bb9d5 (diff) | |
download | mailutils-e1233d5516f48cd7d786a69d4eebd40e73d95d45.tar.gz mailutils-e1233d5516f48cd7d786a69d4eebd40e73d95d45.tar.bz2 |
Implement pop3s and imap4s in respective servers.
* comsat/comsat.c (comsat_prefork,comsat_connection): Change signatures.
* imap4d/imap4d.c: Implement imaps.
* imap4d/imap4d.h (io_setio): Change signature.
(tls_encryption_on): New proto.
* imap4d/io.c (io_setio): Change signature. Initialize TLS stream if
requested.
* imap4d/starttls.c (tls_encryption_on): New function.
* include/mailutils/server.h (mu_srv_config): New struct.
(mu_m_server_conn_fp, mu_m_server_prefork_fp): Remove typedefs.
(mu_m_server_handler_fp): New typedef.
(mu_m_server_set_conn): Change signature.
(mu_m_server_set_prefork): Change signature.
(mu_m_server_set_app_data_size)
(mu_m_server_set_config_size): New prototype.
(mu_m_server_cfg_init): Change signature.
* include/mailutils/tls.h (mu_init_tls_libs): Change signature.
* lib/tcpwrap.c: Include tcpwrap.h
(mu_tcp_wrapper_daemon): Fix declaration.
(mu_tcp_wrapper_prefork): Change signature.
* lib/tcpwrap.h (mu_tcp_wrapper_prefork): Change signature
* libmailutils/server/msrv.c (_mu_m_server) <conn,prefork>: Change
data type. All uses updated.
<app_data_size>: New member.
(m_srv_config): Remove struct. Replaced with mu_srv_config from tls.h
(mu_m_server_set_conn): Change signature.
(mu_m_server_set_prefork): Change signature.
(mu_m_server_set_app_data_size)
(mu_m_server_set_config_size): New functions.
(add_server): Allocate app_data_size additional bytes of data.
(mu_m_server_cfg_init): Take one argument.
* libmu_auth/tls.c (mu_tls_module_init): Update call to mu_init_tls_libs.
Don't call mu_file_safety_check with NULL argument.
(mu_init_tls_libs): Rewrite. Prepare x509 here, instead of
doing it each time a TLS stream is created.
(mu_deinit_tls_libs): Free x509, if exists.
(_tls_server_open): Update call to mu_init_tls_libs.
Remove x509 initialization.
* libmu_cfg/tls.c (cb2_safety_checks): Fix typos.
* maidag/lmtp.c (lmtp_connection): Change signature.
* maidag/maidag.c (main): Update call to mu_m_server_cfg_init.
* maidag/maidag.h (lmtp_connection): Change signature.
* pop3d/extra.c (pop3d_setio): Initialize TLS stream, if requested.
* pop3d/pop3d.c: Implement pops.
* pop3d/pop3d.h (pop3d_setio): Change prototype.
Diffstat (limited to 'maidag')
-rw-r--r-- | maidag/lmtp.c | 9 | ||||
-rw-r--r-- | maidag/maidag.c | 2 | ||||
-rw-r--r-- | maidag/maidag.h | 5 |
3 files changed, 9 insertions, 7 deletions
diff --git a/maidag/lmtp.c b/maidag/lmtp.c index f493b6766..12f4214b8 100644 --- a/maidag/lmtp.c +++ b/maidag/lmtp.c @@ -574,8 +574,9 @@ typedef union } all_addr_t; int -lmtp_connection (int fd, struct sockaddr *sa, int salen, void *data, - mu_ip_server_t srv, time_t timeout, int transcript) +lmtp_connection (int fd, struct sockaddr *sa, int salen, + struct mu_srv_config *pconf, + void *data) { mu_stream_t str; int rc; @@ -588,9 +589,9 @@ lmtp_connection (int fd, struct sockaddr *sa, int salen, void *data, } mu_stream_set_buffer (str, mu_buffer_line, 0); - if (transcript || maidag_transcript) + if (pconf->transcript || maidag_transcript) str = lmtp_transcript (str); - lmtp_loop (str, timeout); + lmtp_loop (str, pconf->timeout); mu_stream_destroy (&str); return 0; } diff --git a/maidag/maidag.c b/maidag/maidag.c index eee6d83b6..decbe91f4 100644 --- a/maidag/maidag.c +++ b/maidag/maidag.c @@ -525,7 +525,7 @@ main (int argc, char *argv[]) mu_tcpwrapper_cfg_init (); mu_acl_cfg_init (); - mu_m_server_cfg_init (); + mu_m_server_cfg_init (NULL); maidag_cfg_init (); /* Parse command line */ diff --git a/maidag/maidag.h b/maidag/maidag.h index 5125fe7a9..1c59b191a 100644 --- a/maidag/maidag.h +++ b/maidag/maidag.h @@ -150,8 +150,9 @@ int deliver_to_user (mu_message_t msg, char *dest_id, char **errp); int maidag_stdio_delivery (maidag_delivery_fn fun, int argc, char **argv); int maidag_lmtp_server (void); -int lmtp_connection (int fd, struct sockaddr *sa, int salen, void *data, - mu_ip_server_t srv, time_t timeout, int transcript); +int lmtp_connection (int fd, struct sockaddr *sa, int salen, + struct mu_srv_config *pconf, + void *data); void maidag_error (const char *fmt, ...) MU_PRINTFLIKE(1, 2); void notify_biff (mu_mailbox_t mbox, char *name, size_t size); |