Mercurial > dovecot > original-hg > dovecot-1.2
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 |
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 | 2 |
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 | 9 #include "client-common.h" |
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 | 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 | 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 | 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 | 154 } |