Commit | Line | Data |
---|---|---|
059ec3d9 PH |
1 | /************************************************* |
2 | * Exim Monitor * | |
3 | *************************************************/ | |
4 | ||
f9ba5e22 | 5 | /* Copyright (c) University of Cambridge 1995 - 2018 */ |
059ec3d9 PH |
6 | /* See the file NOTICE for conditions of use and distribution. */ |
7 | ||
8 | ||
9 | #include "em_hdr.h" | |
10 | ||
11 | /* This source module contains all the global variables used in | |
12 | the exim monitor, including those that are used by the standard | |
13 | Exim modules that are included in Eximon. For comments on their | |
14 | usage, see em_hdr.h and globals.h. */ | |
15 | ||
16 | ||
17 | /* The first set are unique to Eximon */ | |
18 | ||
19 | Display *X_display; | |
20 | XtAppContext X_appcon; | |
21 | ||
22 | XtActionsRec actionTable[] = { | |
23 | { "dialogAction", (XtActionProc)dialogAction}}; | |
24 | ||
25 | int actionTableSize = sizeof(actionTable)/sizeof(XtActionsRec); | |
26 | ||
27 | XtTranslations queue_trans; | |
28 | XtTranslations text_trans; | |
29 | ||
30 | Widget dialog_ref_widget; | |
31 | Widget toplevel_widget; | |
32 | Widget log_widget = NULL; | |
33 | Widget queue_widget; | |
34 | Widget unhide_widget = NULL; | |
35 | ||
36 | ||
37 | FILE *LOG; | |
38 | ||
39 | int action_output = FALSE; | |
40 | int action_queue_update = TRUE; | |
41 | uschar actioned_message[24]; | |
42 | uschar *action_required; | |
43 | uschar *alternate_config = NULL; | |
44 | ||
8523533c TK |
45 | #ifdef EXPERIMENTAL_BRIGHTMAIL |
46 | int bmi_run = 0; | |
47 | uschar *bmi_verdicts = NULL; | |
48 | #endif | |
49 | ||
059ec3d9 PH |
50 | int body_max = 20000; |
51 | ||
52 | uschar *exim_path = US BIN_DIRECTORY "/exim" | |
4d9c610b | 53 | "\0<---------------Space to patch exim_path->"; |
059ec3d9 PH |
54 | |
55 | int eximon_initialized = FALSE; | |
56 | ||
57 | int log_buffer_size = 10240; | |
58 | BOOL log_datestamping = FALSE; | |
59 | int log_depth = 150; | |
60 | uschar *log_display_buffer; | |
61 | uschar *log_file = NULL; | |
62 | uschar log_file_open[256]; | |
63 | uschar *log_font = NULL; | |
64 | ino_t log_inode; | |
65 | long int log_position; | |
66 | int log_width = 600; | |
67 | ||
68 | uschar *menu_event = US"Shift<Btn1Down>"; | |
69 | int menu_is_up = FALSE; | |
70 | int min_height = 162; | |
71 | int min_width = 103; | |
72 | ||
73 | pipe_item *pipe_chain = NULL; | |
74 | ||
75 | uschar *qualify_domain = NULL; | |
76 | int queue_depth = 200; | |
77 | uschar *queue_font = NULL; | |
78 | int queue_max_addresses = 10; | |
79 | skip_item *queue_skip = NULL; | |
80 | uschar *queue_stripchart_name = NULL; | |
81 | int queue_update = 60; | |
82 | int queue_width = 600; | |
83 | ||
84 | pcre *yyyymmdd_regex; | |
85 | ||
86 | uschar *size_stripchart = NULL; | |
87 | uschar *size_stripchart_name = NULL; | |
88 | int spool_is_split = FALSE; | |
89 | int start_small = FALSE; | |
90 | int stripchart_height = 90; | |
91 | int stripchart_number = 1; | |
92 | pcre **stripchart_regex; | |
93 | uschar **stripchart_title; | |
94 | int *stripchart_total; | |
95 | int stripchart_update = 60; | |
96 | int stripchart_width = 80; | |
97 | int stripchart_varstart = 1; | |
98 | ||
99 | int text_depth = 200; | |
100 | int tick_queue_accumulator = 999999; | |
101 | ||
102 | uschar *window_title = US"exim monitor"; | |
103 | ||
104 | ||
105 | /***********************************************************/ | |
106 | /***********************************************************/ | |
107 | ||
108 | ||
109 | /* These ones are used by Exim modules included in Eximon. Not all are | |
110 | actually relevant to the operation of Eximon. If SPOOL_DIRECTORY is not | |
111 | defined (Exim was compiled with it unset), just define it empty. The script | |
112 | that fires up the monitor fishes the value out by using -bP anyway. */ | |
113 | ||
114 | #ifndef SPOOL_DIRECTORY | |
115 | #define SPOOL_DIRECTORY "" | |
116 | #endif | |
117 | ||
38a0a95f PH |
118 | tree_node *acl_var_c = NULL; |
119 | tree_node *acl_var_m = NULL; | |
059ec3d9 PH |
120 | uschar *active_hostname = NULL; |
121 | BOOL allow_unqualified_recipient = FALSE; | |
122 | BOOL allow_unqualified_sender = FALSE; | |
123 | uschar *authenticated_id = NULL; | |
124 | uschar *authenticated_sender = NULL; | |
125 | ||
126 | uschar *big_buffer = NULL; | |
127 | int big_buffer_size = BIG_BUFFER_SIZE; | |
128 | int body_linecount = 0; | |
129 | int body_zerocount = 0; | |
130 | ||
131 | BOOL deliver_firsttime = FALSE; | |
132 | BOOL deliver_freeze = FALSE; | |
19050083 | 133 | time_t deliver_frozen_at = 0; |
059ec3d9 | 134 | BOOL deliver_manual_thaw = FALSE; |
4d9c610b | 135 | |
015f07e6 | 136 | #ifndef DISABLE_DKIM |
51cbd3e1 TK |
137 | uschar *dkim_cur_signer = NULL; |
138 | uschar *dkim_signers = NULL; | |
015f07e6 TK |
139 | uschar *dkim_signing_domain = NULL; |
140 | uschar *dkim_signing_selector = NULL; | |
51cbd3e1 | 141 | uschar *dkim_verify_signers = US"$dkim_signers"; |
64b67b65 | 142 | unsigned dkim_collect_input = 0; |
015f07e6 | 143 | BOOL dkim_disable_verify = FALSE; |
1d805650 TK |
144 | #endif |
145 | ||
059ec3d9 PH |
146 | BOOL dont_deliver = FALSE; |
147 | ||
6c1c3d1d WB |
148 | int dsn_ret = 0; |
149 | uschar *dsn_envid = NULL; | |
6c1c3d1d | 150 | |
8523533c | 151 | #ifdef WITH_CONTENT_SCAN |
29aba418 | 152 | int fake_response = OK; |
8523533c TK |
153 | #endif |
154 | ||
059ec3d9 PH |
155 | header_line *header_last = NULL; |
156 | header_line *header_list = NULL; | |
157 | ||
b08b24c8 | 158 | BOOL host_lookup_deferred = FALSE; |
059ec3d9 PH |
159 | BOOL host_lookup_failed = FALSE; |
160 | uschar *interface_address = NULL; | |
161 | int interface_port = 0; | |
162 | ||
163 | BOOL local_error_message = FALSE; | |
164 | uschar *local_scan_data = NULL; | |
165 | BOOL log_timezone = FALSE; | |
8523533c TK |
166 | |
167 | #ifdef WITH_CONTENT_SCAN | |
83e11d00 MH |
168 | uschar *spam_bar = NULL; |
169 | uschar *spam_report = NULL; | |
170 | uschar *spam_score = NULL; | |
8523533c TK |
171 | uschar *spam_score_int = NULL; |
172 | #endif | |
173 | ||
d677b2f2 | 174 | int max_received_linelength= 0; |
059ec3d9 PH |
175 | int message_age = 0; |
176 | uschar *message_id; | |
177 | uschar *message_id_external; | |
178 | uschar message_id_option[MESSAGE_ID_LENGTH + 3]; | |
179 | ||
180 | int message_linecount = 0; | |
181 | int message_size = 0; | |
182 | uschar message_subdir[2] = { 0, 0 }; | |
183 | ||
184 | gid_t originator_gid; | |
185 | uschar *originator_login; | |
186 | uid_t originator_uid; | |
187 | ||
188 | uschar *primary_hostname = NULL; | |
189 | ||
a2da3176 JH |
190 | uschar *queue_name = US""; |
191 | ||
059ec3d9 PH |
192 | int received_count = 0; |
193 | uschar *received_protocol = NULL; | |
32dfdf8b | 194 | struct timeval received_time = { 0, 0 }; |
059ec3d9 PH |
195 | int recipients_count = 0; |
196 | recipient_item *recipients_list = NULL; | |
197 | int recipients_list_max = 0; | |
a207d5dd | 198 | BOOL running_in_test_harness=FALSE; |
059ec3d9 PH |
199 | |
200 | uschar *sender_address = NULL; | |
201 | uschar *sender_fullhost = NULL; | |
202 | uschar *sender_helo_name = NULL; | |
203 | uschar *sender_host_address = NULL; | |
204 | uschar *sender_host_authenticated = NULL; | |
205 | uschar *sender_host_name = NULL; | |
206 | int sender_host_port = 0; | |
207 | uschar *sender_ident = NULL; | |
208 | BOOL sender_local = FALSE; | |
209 | BOOL sender_set_untrusted = FALSE; | |
1f5b4c3d | 210 | uschar *smtp_active_hostname = NULL; |
059ec3d9 PH |
211 | |
212 | BOOL split_spool_directory = FALSE; | |
213 | uschar *spool_directory = US SPOOL_DIRECTORY; | |
214 | int string_datestamp_offset=-1; | |
f1e5fef5 PP |
215 | int string_datestamp_length= 0; |
216 | int string_datestamp_type = -1; | |
059ec3d9 PH |
217 | |
218 | BOOL timestamps_utc = FALSE; | |
817d9f57 | 219 | tls_support tls_in = { |
74f1a423 | 220 | {-1}, /* tls_active */ |
6c60858c | 221 | 0, /* bits */ |
817d9f57 | 222 | FALSE, /* tls_certificate_verified */ |
c0635b6d | 223 | #ifdef SUPPORT_DANE |
e91ad4a7 JH |
224 | FALSE, /* dane_verified */ |
225 | 0, /* tlsa_usage */ | |
226 | #endif | |
817d9f57 JH |
227 | NULL, /* tls_cipher */ |
228 | FALSE, /* tls_on_connect */ | |
229 | NULL, /* tls_on_connect_ports */ | |
230 | NULL, /* tls_peerdn */ | |
231 | NULL /* tls_sni */ | |
232 | }; | |
059ec3d9 PH |
233 | |
234 | tree_node *tree_duplicates = NULL; | |
235 | tree_node *tree_nonrecipients = NULL; | |
236 | tree_node *tree_unusable = NULL; | |
237 | ||
238 | uschar *version_date = US"?"; | |
239 | uschar *version_string = US"?"; | |
240 | ||
241 | int warning_count = 0; | |
242 | ||
243 | /* End of em_globals.c */ |