summaryrefslogtreecommitdiff
path: root/maidag
diff options
context:
space:
mode:
authorSergey Poznyakoff <gray@gnu.org.ua>2011-11-04 21:30:38 +0200
committerSergey Poznyakoff <gray@gnu.org.ua>2011-11-04 21:44:56 +0200
commite1233d5516f48cd7d786a69d4eebd40e73d95d45 (patch)
tree38692d813e645ac60bfababee4c5f7ec7f8cede9 /maidag
parentbad3c6c3a982f65af0fe137d1e5b7a98d13bb9d5 (diff)
downloadmailutils-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.c9
-rw-r--r--maidag/maidag.c2
-rw-r--r--maidag/maidag.h5
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);

Return to:

Send suggestions and report system problems to the System administrator.