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