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