4 * (c) 2007 Martin Mares <mj@ucw.cz>
10 #include "lib/clists.h"
11 #include "lib/ipaccess.h"
12 #include "lib/fastbuf.h"
14 #include <gnutls/gnutls.h>
15 #include <gnutls/x509.h>
19 struct ip_addrmask addrmask;
26 // Set up by the master process
31 struct access_rule *rule; // Rule matched by this connection
32 int sk; // Client socket
33 byte *cert_name; // Client name from the certificate (NULL if no TLS)
35 // Used by the child process
36 gnutls_session_t tls; // TLS session
37 struct fastbuf rx_fb, tx_fb; // Fastbufs for communication with the client (either plain-text or TLS)
44 extern uns max_request_size, max_attachment_size, trace_commands;
48 void NONRET client_error(char *msg, ...);
52 int process_init(struct conn *c);
53 int process_command(struct conn *c);