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