44389c195d70ddf2fa39bdd63b53ab0020556866
[exim.git] / src / exim_monitor / em_globals.c
1 /* $Cambridge: exim/src/exim_monitor/em_globals.c,v 1.5 2005/01/25 14:16:33 ph10 Exp $ */
2
3 /*************************************************
4 * Exim Monitor *
5 *************************************************/
6
7 /* Copyright (c) University of Cambridge 1995 - 2005 */
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
121 uschar *acl_var[ACL_C_MAX+ACL_M_MAX];
122
123 uschar *active_hostname = NULL;
124 BOOL allow_unqualified_recipient = FALSE;
125 BOOL allow_unqualified_sender = FALSE;
126 uschar *authenticated_id = NULL;
127 uschar *authenticated_sender = NULL;
128
129 uschar *big_buffer = NULL;
130 int big_buffer_size = BIG_BUFFER_SIZE;
131 int body_linecount = 0;
132 int body_zerocount = 0;
133
134 BOOL deliver_firsttime = FALSE;
135 BOOL deliver_freeze = FALSE;
136 int deliver_frozen_at = 0;
137 BOOL deliver_manual_thaw = FALSE;
138 BOOL dont_deliver = FALSE;
139
140 #ifdef WITH_CONTENT_SCAN
141 BOOL fake_reject = FALSE;
142 #endif
143
144 header_line *header_last = NULL;
145 header_line *header_list = NULL;
146
147 BOOL host_lookup_deferred = FALSE;
148 BOOL host_lookup_failed = FALSE;
149 uschar *interface_address = NULL;
150 int interface_port = 0;
151
152 BOOL local_error_message = FALSE;
153 uschar *local_scan_data = NULL;
154 BOOL log_timezone = FALSE;
155
156 #ifdef WITH_CONTENT_SCAN
157 uschar *spam_score_int = NULL;
158 #endif
159
160 int message_age = 0;
161 uschar *message_id;
162 uschar *message_id_external;
163 uschar message_id_option[MESSAGE_ID_LENGTH + 3];
164
165 int message_linecount = 0;
166 int message_size = 0;
167 uschar message_subdir[2] = { 0, 0 };
168
169 gid_t originator_gid;
170 uschar *originator_login;
171 uid_t originator_uid;
172
173 uschar *primary_hostname = NULL;
174
175 int received_count = 0;
176 uschar *received_protocol = NULL;
177 int received_time = 0;
178 int recipients_count = 0;
179 recipient_item *recipients_list = NULL;
180 int recipients_list_max = 0;
181 int running_in_test_harness=FALSE;
182
183 uschar *sender_address = NULL;
184 uschar *sender_fullhost = NULL;
185 uschar *sender_helo_name = NULL;
186 uschar *sender_host_address = NULL;
187 uschar *sender_host_authenticated = NULL;
188 uschar *sender_host_name = NULL;
189 int sender_host_port = 0;
190 uschar *sender_ident = NULL;
191 BOOL sender_local = FALSE;
192 BOOL sender_set_untrusted = FALSE;
193 uschar *smtp_active_hostname = NULL;
194
195 BOOL split_spool_directory = FALSE;
196 uschar *spool_directory = US SPOOL_DIRECTORY;
197 int string_datestamp_offset=-1;
198
199 BOOL timestamps_utc = FALSE;
200 BOOL tls_certificate_verified = FALSE;
201 uschar *tls_cipher = NULL;
202 uschar *tls_peerdn = NULL;
203
204 tree_node *tree_duplicates = NULL;
205 tree_node *tree_nonrecipients = NULL;
206 tree_node *tree_unusable = NULL;
207
208 uschar *version_date = US"?";
209 uschar *version_string = US"?";
210
211 int warning_count = 0;
212
213 /* End of em_globals.c */