Fix too-often retry bug after 4xx with more hosts than hosts_max_retry.
[exim.git] / src / exim_monitor / em_globals.c
CommitLineData
38a0a95f 1/* $Cambridge: exim/src/exim_monitor/em_globals.c,v 1.10 2006/09/19 11:28:45 ph10 Exp $ */
059ec3d9
PH
2
3/*************************************************
4* Exim Monitor *
5*************************************************/
6
d7d7b7b9 7/* Copyright (c) University of Cambridge 1995 - 2006 */
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
059ec3d9
PH
144BOOL dont_deliver = FALSE;
145
8523533c 146#ifdef WITH_CONTENT_SCAN
29aba418 147int fake_response = OK;
8523533c
TK
148#endif
149
059ec3d9
PH
150header_line *header_last = NULL;
151header_line *header_list = NULL;
152
b08b24c8 153BOOL host_lookup_deferred = FALSE;
059ec3d9
PH
154BOOL host_lookup_failed = FALSE;
155uschar *interface_address = NULL;
156int interface_port = 0;
157
158BOOL local_error_message = FALSE;
159uschar *local_scan_data = NULL;
160BOOL log_timezone = FALSE;
8523533c
TK
161
162#ifdef WITH_CONTENT_SCAN
163uschar *spam_score_int = NULL;
164#endif
165
059ec3d9
PH
166int message_age = 0;
167uschar *message_id;
168uschar *message_id_external;
169uschar message_id_option[MESSAGE_ID_LENGTH + 3];
170
171int message_linecount = 0;
172int message_size = 0;
173uschar message_subdir[2] = { 0, 0 };
174
175gid_t originator_gid;
176uschar *originator_login;
177uid_t originator_uid;
178
179uschar *primary_hostname = NULL;
180
181int received_count = 0;
182uschar *received_protocol = NULL;
183int received_time = 0;
184int recipients_count = 0;
185recipient_item *recipients_list = NULL;
186int recipients_list_max = 0;
187int running_in_test_harness=FALSE;
188
189uschar *sender_address = NULL;
190uschar *sender_fullhost = NULL;
191uschar *sender_helo_name = NULL;
192uschar *sender_host_address = NULL;
193uschar *sender_host_authenticated = NULL;
194uschar *sender_host_name = NULL;
195int sender_host_port = 0;
196uschar *sender_ident = NULL;
197BOOL sender_local = FALSE;
198BOOL sender_set_untrusted = FALSE;
1f5b4c3d 199uschar *smtp_active_hostname = NULL;
059ec3d9
PH
200
201BOOL split_spool_directory = FALSE;
202uschar *spool_directory = US SPOOL_DIRECTORY;
203int string_datestamp_offset=-1;
204
205BOOL timestamps_utc = FALSE;
206BOOL tls_certificate_verified = FALSE;
207uschar *tls_cipher = NULL;
208uschar *tls_peerdn = NULL;
209
210tree_node *tree_duplicates = NULL;
211tree_node *tree_nonrecipients = NULL;
212tree_node *tree_unusable = NULL;
213
214uschar *version_date = US"?";
215uschar *version_string = US"?";
216
217int warning_count = 0;
218
219/* End of em_globals.c */