annotate src/login-common/client-common.c @ 7104:db5f55daa002 HEAD

Forgot from imap/pop3-login clients hash -> linked list commit.
author Timo Sirainen <tss@iki.fi>
date Fri, 04 Jan 2008 02:14:29 +0200
parents 7ed926ed7aa4
children 769181a20483
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
7086
7ed926ed7aa4 Updated copyright notices to include year 2008.
Timo Sirainen <tss@iki.fi>
parents: 6940
diff changeset
1 /* Copyright (c) 2002-2008 Dovecot authors, see the included COPYING file */
2737
134ad6e8cd42 forgot to add
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
2
134ad6e8cd42 forgot to add
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
3 #include "common.h"
3384
3b75956d20c4 Added configurable logging for login process. Added configurable pop3 logout
Timo Sirainen <tss@iki.fi>
parents: 2737
diff changeset
4 #include "hostpid.h"
3b75956d20c4 Added configurable logging for login process. Added configurable pop3 logout
Timo Sirainen <tss@iki.fi>
parents: 2737
diff changeset
5 #include "str.h"
3b75956d20c4 Added configurable logging for login process. Added configurable pop3 logout
Timo Sirainen <tss@iki.fi>
parents: 2737
diff changeset
6 #include "str-sanitize.h"
3b75956d20c4 Added configurable logging for login process. Added configurable pop3 logout
Timo Sirainen <tss@iki.fi>
parents: 2737
diff changeset
7 #include "var-expand.h"
4570
cbbe2377f591 If SSL/TLS handshake didn't finish, show "TLS handshaking" instead of "TLS"
Timo Sirainen <tss@iki.fi>
parents: 3863
diff changeset
8 #include "ssl-proxy.h"
2737
134ad6e8cd42 forgot to add
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
9 #include "client-common.h"
134ad6e8cd42 forgot to add
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
10
3384
3b75956d20c4 Added configurable logging for login process. Added configurable pop3 logout
Timo Sirainen <tss@iki.fi>
parents: 2737
diff changeset
11 #include <stdlib.h>
3b75956d20c4 Added configurable logging for login process. Added configurable pop3 logout
Timo Sirainen <tss@iki.fi>
parents: 2737
diff changeset
12
7104
db5f55daa002 Forgot from imap/pop3-login clients hash -> linked list commit.
Timo Sirainen <tss@iki.fi>
parents: 7086
diff changeset
13 struct client *clients = NULL;
db5f55daa002 Forgot from imap/pop3-login clients hash -> linked list commit.
Timo Sirainen <tss@iki.fi>
parents: 7086
diff changeset
14 unsigned int clients_count = 0;
db5f55daa002 Forgot from imap/pop3-login clients hash -> linked list commit.
Timo Sirainen <tss@iki.fi>
parents: 7086
diff changeset
15
db5f55daa002 Forgot from imap/pop3-login clients hash -> linked list commit.
Timo Sirainen <tss@iki.fi>
parents: 7086
diff changeset
16 void client_link(struct client *client)
db5f55daa002 Forgot from imap/pop3-login clients hash -> linked list commit.
Timo Sirainen <tss@iki.fi>
parents: 7086
diff changeset
17 {
db5f55daa002 Forgot from imap/pop3-login clients hash -> linked list commit.
Timo Sirainen <tss@iki.fi>
parents: 7086
diff changeset
18 client->prev = NULL;
db5f55daa002 Forgot from imap/pop3-login clients hash -> linked list commit.
Timo Sirainen <tss@iki.fi>
parents: 7086
diff changeset
19 client->next = clients;
db5f55daa002 Forgot from imap/pop3-login clients hash -> linked list commit.
Timo Sirainen <tss@iki.fi>
parents: 7086
diff changeset
20 if (clients != NULL)
db5f55daa002 Forgot from imap/pop3-login clients hash -> linked list commit.
Timo Sirainen <tss@iki.fi>
parents: 7086
diff changeset
21 clients->prev = client;
db5f55daa002 Forgot from imap/pop3-login clients hash -> linked list commit.
Timo Sirainen <tss@iki.fi>
parents: 7086
diff changeset
22 clients = client;
db5f55daa002 Forgot from imap/pop3-login clients hash -> linked list commit.
Timo Sirainen <tss@iki.fi>
parents: 7086
diff changeset
23 clients_count++;
db5f55daa002 Forgot from imap/pop3-login clients hash -> linked list commit.
Timo Sirainen <tss@iki.fi>
parents: 7086
diff changeset
24 }
db5f55daa002 Forgot from imap/pop3-login clients hash -> linked list commit.
Timo Sirainen <tss@iki.fi>
parents: 7086
diff changeset
25
db5f55daa002 Forgot from imap/pop3-login clients hash -> linked list commit.
Timo Sirainen <tss@iki.fi>
parents: 7086
diff changeset
26 void client_unlink(struct client *client)
db5f55daa002 Forgot from imap/pop3-login clients hash -> linked list commit.
Timo Sirainen <tss@iki.fi>
parents: 7086
diff changeset
27 {
db5f55daa002 Forgot from imap/pop3-login clients hash -> linked list commit.
Timo Sirainen <tss@iki.fi>
parents: 7086
diff changeset
28 i_assert(clients_count > 0);
db5f55daa002 Forgot from imap/pop3-login clients hash -> linked list commit.
Timo Sirainen <tss@iki.fi>
parents: 7086
diff changeset
29
db5f55daa002 Forgot from imap/pop3-login clients hash -> linked list commit.
Timo Sirainen <tss@iki.fi>
parents: 7086
diff changeset
30 clients_count--;
db5f55daa002 Forgot from imap/pop3-login clients hash -> linked list commit.
Timo Sirainen <tss@iki.fi>
parents: 7086
diff changeset
31 if (client->prev == NULL)
db5f55daa002 Forgot from imap/pop3-login clients hash -> linked list commit.
Timo Sirainen <tss@iki.fi>
parents: 7086
diff changeset
32 clients = client->next;
db5f55daa002 Forgot from imap/pop3-login clients hash -> linked list commit.
Timo Sirainen <tss@iki.fi>
parents: 7086
diff changeset
33 else
db5f55daa002 Forgot from imap/pop3-login clients hash -> linked list commit.
Timo Sirainen <tss@iki.fi>
parents: 7086
diff changeset
34 client->prev->next = client->next;
db5f55daa002 Forgot from imap/pop3-login clients hash -> linked list commit.
Timo Sirainen <tss@iki.fi>
parents: 7086
diff changeset
35 if (client->next != NULL)
db5f55daa002 Forgot from imap/pop3-login clients hash -> linked list commit.
Timo Sirainen <tss@iki.fi>
parents: 7086
diff changeset
36 client->next->prev = client->prev;
db5f55daa002 Forgot from imap/pop3-login clients hash -> linked list commit.
Timo Sirainen <tss@iki.fi>
parents: 7086
diff changeset
37 }
db5f55daa002 Forgot from imap/pop3-login clients hash -> linked list commit.
Timo Sirainen <tss@iki.fi>
parents: 7086
diff changeset
38
db5f55daa002 Forgot from imap/pop3-login clients hash -> linked list commit.
Timo Sirainen <tss@iki.fi>
parents: 7086
diff changeset
39 unsigned int clients_get_count(void)
db5f55daa002 Forgot from imap/pop3-login clients hash -> linked list commit.
Timo Sirainen <tss@iki.fi>
parents: 7086
diff changeset
40 {
db5f55daa002 Forgot from imap/pop3-login clients hash -> linked list commit.
Timo Sirainen <tss@iki.fi>
parents: 7086
diff changeset
41 return clients_count;
db5f55daa002 Forgot from imap/pop3-login clients hash -> linked list commit.
Timo Sirainen <tss@iki.fi>
parents: 7086
diff changeset
42 }
db5f55daa002 Forgot from imap/pop3-login clients hash -> linked list commit.
Timo Sirainen <tss@iki.fi>
parents: 7086
diff changeset
43
3384
3b75956d20c4 Added configurable logging for login process. Added configurable pop3 logout
Timo Sirainen <tss@iki.fi>
parents: 2737
diff changeset
44 static const struct var_expand_table *
3b75956d20c4 Added configurable logging for login process. Added configurable pop3 logout
Timo Sirainen <tss@iki.fi>
parents: 2737
diff changeset
45 get_var_expand_table(struct client *client)
2737
134ad6e8cd42 forgot to add
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
46 {
3384
3b75956d20c4 Added configurable logging for login process. Added configurable pop3 logout
Timo Sirainen <tss@iki.fi>
parents: 2737
diff changeset
47 static struct var_expand_table static_tab[] = {
3b75956d20c4 Added configurable logging for login process. Added configurable pop3 logout
Timo Sirainen <tss@iki.fi>
parents: 2737
diff changeset
48 { 'u', NULL },
3b75956d20c4 Added configurable logging for login process. Added configurable pop3 logout
Timo Sirainen <tss@iki.fi>
parents: 2737
diff changeset
49 { 'n', NULL },
3b75956d20c4 Added configurable logging for login process. Added configurable pop3 logout
Timo Sirainen <tss@iki.fi>
parents: 2737
diff changeset
50 { 'd', NULL },
3b75956d20c4 Added configurable logging for login process. Added configurable pop3 logout
Timo Sirainen <tss@iki.fi>
parents: 2737
diff changeset
51 { 's', NULL },
3b75956d20c4 Added configurable logging for login process. Added configurable pop3 logout
Timo Sirainen <tss@iki.fi>
parents: 2737
diff changeset
52 { 'h', NULL },
3b75956d20c4 Added configurable logging for login process. Added configurable pop3 logout
Timo Sirainen <tss@iki.fi>
parents: 2737
diff changeset
53 { 'l', NULL },
3b75956d20c4 Added configurable logging for login process. Added configurable pop3 logout
Timo Sirainen <tss@iki.fi>
parents: 2737
diff changeset
54 { 'r', NULL },
3b75956d20c4 Added configurable logging for login process. Added configurable pop3 logout
Timo Sirainen <tss@iki.fi>
parents: 2737
diff changeset
55 { 'p', NULL },
3b75956d20c4 Added configurable logging for login process. Added configurable pop3 logout
Timo Sirainen <tss@iki.fi>
parents: 2737
diff changeset
56 { 'm', NULL },
4861
a688269c0dd4 Added %a=local port and %b=remote port variables for
Timo Sirainen <tss@iki.fi>
parents: 4570
diff changeset
57 { 'a', NULL },
a688269c0dd4 Added %a=local port and %b=remote port variables for
Timo Sirainen <tss@iki.fi>
parents: 4570
diff changeset
58 { 'b', NULL },
3384
3b75956d20c4 Added configurable logging for login process. Added configurable pop3 logout
Timo Sirainen <tss@iki.fi>
parents: 2737
diff changeset
59 { 'c', NULL },
3b75956d20c4 Added configurable logging for login process. Added configurable pop3 logout
Timo Sirainen <tss@iki.fi>
parents: 2737
diff changeset
60 { '\0', NULL }
3b75956d20c4 Added configurable logging for login process. Added configurable pop3 logout
Timo Sirainen <tss@iki.fi>
parents: 2737
diff changeset
61 };
3b75956d20c4 Added configurable logging for login process. Added configurable pop3 logout
Timo Sirainen <tss@iki.fi>
parents: 2737
diff changeset
62 struct var_expand_table *tab;
3b75956d20c4 Added configurable logging for login process. Added configurable pop3 logout
Timo Sirainen <tss@iki.fi>
parents: 2737
diff changeset
63
3b75956d20c4 Added configurable logging for login process. Added configurable pop3 logout
Timo Sirainen <tss@iki.fi>
parents: 2737
diff changeset
64 tab = t_malloc(sizeof(static_tab));
3b75956d20c4 Added configurable logging for login process. Added configurable pop3 logout
Timo Sirainen <tss@iki.fi>
parents: 2737
diff changeset
65 memcpy(tab, static_tab, sizeof(static_tab));
2737
134ad6e8cd42 forgot to add
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
66
3384
3b75956d20c4 Added configurable logging for login process. Added configurable pop3 logout
Timo Sirainen <tss@iki.fi>
parents: 2737
diff changeset
67 if (client->virtual_user != NULL) {
3b75956d20c4 Added configurable logging for login process. Added configurable pop3 logout
Timo Sirainen <tss@iki.fi>
parents: 2737
diff changeset
68 tab[0].value = client->virtual_user;
3b75956d20c4 Added configurable logging for login process. Added configurable pop3 logout
Timo Sirainen <tss@iki.fi>
parents: 2737
diff changeset
69 tab[1].value = t_strcut(client->virtual_user, '@');
3b75956d20c4 Added configurable logging for login process. Added configurable pop3 logout
Timo Sirainen <tss@iki.fi>
parents: 2737
diff changeset
70 tab[2].value = strchr(client->virtual_user, '@');
3b75956d20c4 Added configurable logging for login process. Added configurable pop3 logout
Timo Sirainen <tss@iki.fi>
parents: 2737
diff changeset
71 if (tab[2].value != NULL) tab[2].value++;
3b75956d20c4 Added configurable logging for login process. Added configurable pop3 logout
Timo Sirainen <tss@iki.fi>
parents: 2737
diff changeset
72 }
3b75956d20c4 Added configurable logging for login process. Added configurable pop3 logout
Timo Sirainen <tss@iki.fi>
parents: 2737
diff changeset
73 tab[3].value = login_protocol;
3b75956d20c4 Added configurable logging for login process. Added configurable pop3 logout
Timo Sirainen <tss@iki.fi>
parents: 2737
diff changeset
74 tab[4].value = getenv("HOME");
3b75956d20c4 Added configurable logging for login process. Added configurable pop3 logout
Timo Sirainen <tss@iki.fi>
parents: 2737
diff changeset
75 tab[5].value = net_ip2addr(&client->local_ip);
3b75956d20c4 Added configurable logging for login process. Added configurable pop3 logout
Timo Sirainen <tss@iki.fi>
parents: 2737
diff changeset
76 tab[6].value = net_ip2addr(&client->ip);
3b75956d20c4 Added configurable logging for login process. Added configurable pop3 logout
Timo Sirainen <tss@iki.fi>
parents: 2737
diff changeset
77 tab[7].value = my_pid;
3b75956d20c4 Added configurable logging for login process. Added configurable pop3 logout
Timo Sirainen <tss@iki.fi>
parents: 2737
diff changeset
78 tab[8].value = client->auth_mech_name == NULL ? NULL :
3b75956d20c4 Added configurable logging for login process. Added configurable pop3 logout
Timo Sirainen <tss@iki.fi>
parents: 2737
diff changeset
79 str_sanitize(client->auth_mech_name, MAX_MECH_NAME);
4861
a688269c0dd4 Added %a=local port and %b=remote port variables for
Timo Sirainen <tss@iki.fi>
parents: 4570
diff changeset
80 tab[9].value = dec2str(client->local_port);
a688269c0dd4 Added %a=local port and %b=remote port variables for
Timo Sirainen <tss@iki.fi>
parents: 4570
diff changeset
81 tab[10].value = dec2str(client->remote_port);
4570
cbbe2377f591 If SSL/TLS handshake didn't finish, show "TLS handshaking" instead of "TLS"
Timo Sirainen <tss@iki.fi>
parents: 3863
diff changeset
82 if (!client->tls) {
4861
a688269c0dd4 Added %a=local port and %b=remote port variables for
Timo Sirainen <tss@iki.fi>
parents: 4570
diff changeset
83 tab[11].value = client->secured ? "secured" : NULL;
4570
cbbe2377f591 If SSL/TLS handshake didn't finish, show "TLS handshaking" instead of "TLS"
Timo Sirainen <tss@iki.fi>
parents: 3863
diff changeset
84 } else {
4861
a688269c0dd4 Added %a=local port and %b=remote port variables for
Timo Sirainen <tss@iki.fi>
parents: 4570
diff changeset
85 tab[11].value = client->proxy != NULL &&
4570
cbbe2377f591 If SSL/TLS handshake didn't finish, show "TLS handshaking" instead of "TLS"
Timo Sirainen <tss@iki.fi>
parents: 3863
diff changeset
86 ssl_proxy_is_handshaked(client->proxy) ? "TLS" :
cbbe2377f591 If SSL/TLS handshake didn't finish, show "TLS handshaking" instead of "TLS"
Timo Sirainen <tss@iki.fi>
parents: 3863
diff changeset
87 "TLS handshaking";
cbbe2377f591 If SSL/TLS handshake didn't finish, show "TLS handshaking" instead of "TLS"
Timo Sirainen <tss@iki.fi>
parents: 3863
diff changeset
88 }
3384
3b75956d20c4 Added configurable logging for login process. Added configurable pop3 logout
Timo Sirainen <tss@iki.fi>
parents: 2737
diff changeset
89
3b75956d20c4 Added configurable logging for login process. Added configurable pop3 logout
Timo Sirainen <tss@iki.fi>
parents: 2737
diff changeset
90 return tab;
3b75956d20c4 Added configurable logging for login process. Added configurable pop3 logout
Timo Sirainen <tss@iki.fi>
parents: 2737
diff changeset
91 }
3b75956d20c4 Added configurable logging for login process. Added configurable pop3 logout
Timo Sirainen <tss@iki.fi>
parents: 2737
diff changeset
92
3863
55df57c028d4 Added "bool" type and changed all ints that were used as booleans to bool.
Timo Sirainen <tss@iki.fi>
parents: 3501
diff changeset
93 static bool have_key(const struct var_expand_table *table, const char *str)
3384
3b75956d20c4 Added configurable logging for login process. Added configurable pop3 logout
Timo Sirainen <tss@iki.fi>
parents: 2737
diff changeset
94 {
3b75956d20c4 Added configurable logging for login process. Added configurable pop3 logout
Timo Sirainen <tss@iki.fi>
parents: 2737
diff changeset
95 char key;
3b75956d20c4 Added configurable logging for login process. Added configurable pop3 logout
Timo Sirainen <tss@iki.fi>
parents: 2737
diff changeset
96 unsigned int i;
3b75956d20c4 Added configurable logging for login process. Added configurable pop3 logout
Timo Sirainen <tss@iki.fi>
parents: 2737
diff changeset
97
3b75956d20c4 Added configurable logging for login process. Added configurable pop3 logout
Timo Sirainen <tss@iki.fi>
parents: 2737
diff changeset
98 key = var_get_key(str);
3b75956d20c4 Added configurable logging for login process. Added configurable pop3 logout
Timo Sirainen <tss@iki.fi>
parents: 2737
diff changeset
99 for (i = 0; table[i].key != '\0'; i++) {
3b75956d20c4 Added configurable logging for login process. Added configurable pop3 logout
Timo Sirainen <tss@iki.fi>
parents: 2737
diff changeset
100 if (table[i].key == key) {
3b75956d20c4 Added configurable logging for login process. Added configurable pop3 logout
Timo Sirainen <tss@iki.fi>
parents: 2737
diff changeset
101 return table[i].value != NULL &&
3b75956d20c4 Added configurable logging for login process. Added configurable pop3 logout
Timo Sirainen <tss@iki.fi>
parents: 2737
diff changeset
102 table[i].value[0] != '\0';
3b75956d20c4 Added configurable logging for login process. Added configurable pop3 logout
Timo Sirainen <tss@iki.fi>
parents: 2737
diff changeset
103 }
3b75956d20c4 Added configurable logging for login process. Added configurable pop3 logout
Timo Sirainen <tss@iki.fi>
parents: 2737
diff changeset
104 }
3b75956d20c4 Added configurable logging for login process. Added configurable pop3 logout
Timo Sirainen <tss@iki.fi>
parents: 2737
diff changeset
105 return FALSE;
3b75956d20c4 Added configurable logging for login process. Added configurable pop3 logout
Timo Sirainen <tss@iki.fi>
parents: 2737
diff changeset
106 }
3b75956d20c4 Added configurable logging for login process. Added configurable pop3 logout
Timo Sirainen <tss@iki.fi>
parents: 2737
diff changeset
107
6940
414c9d631a81 Replaced t_push/t_pop calls with T_FRAME*() macros.
Timo Sirainen <tss@iki.fi>
parents: 6429
diff changeset
108 static void client_syslog_real(struct client *client, const char *msg)
3384
3b75956d20c4 Added configurable logging for login process. Added configurable pop3 logout
Timo Sirainen <tss@iki.fi>
parents: 2737
diff changeset
109 {
3b75956d20c4 Added configurable logging for login process. Added configurable pop3 logout
Timo Sirainen <tss@iki.fi>
parents: 2737
diff changeset
110 static struct var_expand_table static_tab[3] = {
3b75956d20c4 Added configurable logging for login process. Added configurable pop3 logout
Timo Sirainen <tss@iki.fi>
parents: 2737
diff changeset
111 { 's', NULL },
3b75956d20c4 Added configurable logging for login process. Added configurable pop3 logout
Timo Sirainen <tss@iki.fi>
parents: 2737
diff changeset
112 { '$', NULL },
3b75956d20c4 Added configurable logging for login process. Added configurable pop3 logout
Timo Sirainen <tss@iki.fi>
parents: 2737
diff changeset
113 { '\0', NULL }
3b75956d20c4 Added configurable logging for login process. Added configurable pop3 logout
Timo Sirainen <tss@iki.fi>
parents: 2737
diff changeset
114 };
3b75956d20c4 Added configurable logging for login process. Added configurable pop3 logout
Timo Sirainen <tss@iki.fi>
parents: 2737
diff changeset
115 const struct var_expand_table *var_expand_table;
3b75956d20c4 Added configurable logging for login process. Added configurable pop3 logout
Timo Sirainen <tss@iki.fi>
parents: 2737
diff changeset
116 struct var_expand_table *tab;
3b75956d20c4 Added configurable logging for login process. Added configurable pop3 logout
Timo Sirainen <tss@iki.fi>
parents: 2737
diff changeset
117 const char *p, *const *e;
3b75956d20c4 Added configurable logging for login process. Added configurable pop3 logout
Timo Sirainen <tss@iki.fi>
parents: 2737
diff changeset
118 string_t *str;
2737
134ad6e8cd42 forgot to add
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
119
3384
3b75956d20c4 Added configurable logging for login process. Added configurable pop3 logout
Timo Sirainen <tss@iki.fi>
parents: 2737
diff changeset
120 var_expand_table = get_var_expand_table(client);
3b75956d20c4 Added configurable logging for login process. Added configurable pop3 logout
Timo Sirainen <tss@iki.fi>
parents: 2737
diff changeset
121
3b75956d20c4 Added configurable logging for login process. Added configurable pop3 logout
Timo Sirainen <tss@iki.fi>
parents: 2737
diff changeset
122 tab = t_malloc(sizeof(static_tab));
3b75956d20c4 Added configurable logging for login process. Added configurable pop3 logout
Timo Sirainen <tss@iki.fi>
parents: 2737
diff changeset
123 memcpy(tab, static_tab, sizeof(static_tab));
3b75956d20c4 Added configurable logging for login process. Added configurable pop3 logout
Timo Sirainen <tss@iki.fi>
parents: 2737
diff changeset
124
3b75956d20c4 Added configurable logging for login process. Added configurable pop3 logout
Timo Sirainen <tss@iki.fi>
parents: 2737
diff changeset
125 str = t_str_new(256);
3b75956d20c4 Added configurable logging for login process. Added configurable pop3 logout
Timo Sirainen <tss@iki.fi>
parents: 2737
diff changeset
126 for (e = log_format_elements; *e != NULL; e++) {
3b75956d20c4 Added configurable logging for login process. Added configurable pop3 logout
Timo Sirainen <tss@iki.fi>
parents: 2737
diff changeset
127 for (p = *e; *p != '\0'; p++) {
3b75956d20c4 Added configurable logging for login process. Added configurable pop3 logout
Timo Sirainen <tss@iki.fi>
parents: 2737
diff changeset
128 if (*p != '%' || p[1] == '\0')
3b75956d20c4 Added configurable logging for login process. Added configurable pop3 logout
Timo Sirainen <tss@iki.fi>
parents: 2737
diff changeset
129 continue;
3b75956d20c4 Added configurable logging for login process. Added configurable pop3 logout
Timo Sirainen <tss@iki.fi>
parents: 2737
diff changeset
130
3b75956d20c4 Added configurable logging for login process. Added configurable pop3 logout
Timo Sirainen <tss@iki.fi>
parents: 2737
diff changeset
131 p++;
3b75956d20c4 Added configurable logging for login process. Added configurable pop3 logout
Timo Sirainen <tss@iki.fi>
parents: 2737
diff changeset
132 if (have_key(var_expand_table, p)) {
3b75956d20c4 Added configurable logging for login process. Added configurable pop3 logout
Timo Sirainen <tss@iki.fi>
parents: 2737
diff changeset
133 if (str_len(str) > 0)
3b75956d20c4 Added configurable logging for login process. Added configurable pop3 logout
Timo Sirainen <tss@iki.fi>
parents: 2737
diff changeset
134 str_append(str, ", ");
3b75956d20c4 Added configurable logging for login process. Added configurable pop3 logout
Timo Sirainen <tss@iki.fi>
parents: 2737
diff changeset
135 var_expand(str, *e, var_expand_table);
3b75956d20c4 Added configurable logging for login process. Added configurable pop3 logout
Timo Sirainen <tss@iki.fi>
parents: 2737
diff changeset
136 break;
3b75956d20c4 Added configurable logging for login process. Added configurable pop3 logout
Timo Sirainen <tss@iki.fi>
parents: 2737
diff changeset
137 }
3b75956d20c4 Added configurable logging for login process. Added configurable pop3 logout
Timo Sirainen <tss@iki.fi>
parents: 2737
diff changeset
138 }
3b75956d20c4 Added configurable logging for login process. Added configurable pop3 logout
Timo Sirainen <tss@iki.fi>
parents: 2737
diff changeset
139 }
3b75956d20c4 Added configurable logging for login process. Added configurable pop3 logout
Timo Sirainen <tss@iki.fi>
parents: 2737
diff changeset
140
3b75956d20c4 Added configurable logging for login process. Added configurable pop3 logout
Timo Sirainen <tss@iki.fi>
parents: 2737
diff changeset
141 tab[0].value = t_strdup(str_c(str));
3b75956d20c4 Added configurable logging for login process. Added configurable pop3 logout
Timo Sirainen <tss@iki.fi>
parents: 2737
diff changeset
142 tab[1].value = msg;
3b75956d20c4 Added configurable logging for login process. Added configurable pop3 logout
Timo Sirainen <tss@iki.fi>
parents: 2737
diff changeset
143 str_truncate(str, 0);
3b75956d20c4 Added configurable logging for login process. Added configurable pop3 logout
Timo Sirainen <tss@iki.fi>
parents: 2737
diff changeset
144
3b75956d20c4 Added configurable logging for login process. Added configurable pop3 logout
Timo Sirainen <tss@iki.fi>
parents: 2737
diff changeset
145 var_expand(str, log_format, tab);
3b75956d20c4 Added configurable logging for login process. Added configurable pop3 logout
Timo Sirainen <tss@iki.fi>
parents: 2737
diff changeset
146 i_info("%s", str_c(str));
6940
414c9d631a81 Replaced t_push/t_pop calls with T_FRAME*() macros.
Timo Sirainen <tss@iki.fi>
parents: 6429
diff changeset
147 }
3384
3b75956d20c4 Added configurable logging for login process. Added configurable pop3 logout
Timo Sirainen <tss@iki.fi>
parents: 2737
diff changeset
148
6940
414c9d631a81 Replaced t_push/t_pop calls with T_FRAME*() macros.
Timo Sirainen <tss@iki.fi>
parents: 6429
diff changeset
149 void client_syslog(struct client *client, const char *msg)
414c9d631a81 Replaced t_push/t_pop calls with T_FRAME*() macros.
Timo Sirainen <tss@iki.fi>
parents: 6429
diff changeset
150 {
414c9d631a81 Replaced t_push/t_pop calls with T_FRAME*() macros.
Timo Sirainen <tss@iki.fi>
parents: 6429
diff changeset
151 T_FRAME(
414c9d631a81 Replaced t_push/t_pop calls with T_FRAME*() macros.
Timo Sirainen <tss@iki.fi>
parents: 6429
diff changeset
152 client_syslog_real(client, msg);
414c9d631a81 Replaced t_push/t_pop calls with T_FRAME*() macros.
Timo Sirainen <tss@iki.fi>
parents: 6429
diff changeset
153 );
2737
134ad6e8cd42 forgot to add
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
154 }