1 /* $Cambridge: exim/src/exim_monitor/em_globals.c,v 1.8 2005/12/12 15:58:53 ph10 Exp $ */
3 /*************************************************
5 *************************************************/
7 /* Copyright (c) University of Cambridge 1995 - 2005 */
8 /* See the file NOTICE for conditions of use and distribution. */
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. */
19 /* The first set are unique to Eximon */
22 XtAppContext X_appcon;
24 XtActionsRec actionTable[] = {
25 { "dialogAction", (XtActionProc)dialogAction}};
27 int actionTableSize = sizeof(actionTable)/sizeof(XtActionsRec);
29 XtTranslations queue_trans;
30 XtTranslations text_trans;
32 Widget dialog_ref_widget;
33 Widget toplevel_widget;
34 Widget log_widget = NULL;
36 Widget unhide_widget = NULL;
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;
47 #ifdef EXPERIMENTAL_BRIGHTMAIL
49 uschar *bmi_verdicts = NULL;
54 uschar *exim_path = US BIN_DIRECTORY "/exim"
55 "\0<---------------Space to patch exim_path->";
57 int eximon_initialized = FALSE;
59 int log_buffer_size = 10240;
60 BOOL log_datestamping = FALSE;
62 uschar *log_display_buffer;
63 uschar *log_file = NULL;
64 uschar log_file_open[256];
65 uschar *log_font = NULL;
67 long int log_position;
70 uschar *menu_event = US"Shift<Btn1Down>";
71 int menu_is_up = FALSE;
75 pipe_item *pipe_chain = NULL;
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;
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;
101 int text_depth = 200;
102 int tick_queue_accumulator = 999999;
104 uschar *window_title = US"exim monitor";
107 /***********************************************************/
108 /***********************************************************/
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. */
116 #ifndef SPOOL_DIRECTORY
117 #define SPOOL_DIRECTORY ""
121 uschar *acl_var[ACL_CVARS + ACL_MVARS];
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;
129 uschar *big_buffer = NULL;
130 int big_buffer_size = BIG_BUFFER_SIZE;
131 int body_linecount = 0;
132 int body_zerocount = 0;
134 BOOL deliver_firsttime = FALSE;
135 BOOL deliver_freeze = FALSE;
136 int deliver_frozen_at = 0;
137 BOOL deliver_manual_thaw = FALSE;
139 #ifdef EXPERIMENTAL_DOMAINKEYS
140 uschar *dk_signing_domain = NULL;
141 uschar *dk_signing_selector = NULL;
142 int dk_do_verify = 0;
145 BOOL dont_deliver = FALSE;
147 #ifdef WITH_CONTENT_SCAN
148 int fake_response = OK;
151 header_line *header_last = NULL;
152 header_line *header_list = NULL;
154 BOOL host_lookup_deferred = FALSE;
155 BOOL host_lookup_failed = FALSE;
156 uschar *interface_address = NULL;
157 int interface_port = 0;
159 BOOL local_error_message = FALSE;
160 uschar *local_scan_data = NULL;
161 BOOL log_timezone = FALSE;
163 #ifdef WITH_CONTENT_SCAN
164 uschar *spam_score_int = NULL;
169 uschar *message_id_external;
170 uschar message_id_option[MESSAGE_ID_LENGTH + 3];
172 int message_linecount = 0;
173 int message_size = 0;
174 uschar message_subdir[2] = { 0, 0 };
176 gid_t originator_gid;
177 uschar *originator_login;
178 uid_t originator_uid;
180 uschar *primary_hostname = NULL;
182 int received_count = 0;
183 uschar *received_protocol = NULL;
184 int received_time = 0;
185 int recipients_count = 0;
186 recipient_item *recipients_list = NULL;
187 int recipients_list_max = 0;
188 int running_in_test_harness=FALSE;
190 uschar *sender_address = NULL;
191 uschar *sender_fullhost = NULL;
192 uschar *sender_helo_name = NULL;
193 uschar *sender_host_address = NULL;
194 uschar *sender_host_authenticated = NULL;
195 uschar *sender_host_name = NULL;
196 int sender_host_port = 0;
197 uschar *sender_ident = NULL;
198 BOOL sender_local = FALSE;
199 BOOL sender_set_untrusted = FALSE;
200 uschar *smtp_active_hostname = NULL;
202 BOOL split_spool_directory = FALSE;
203 uschar *spool_directory = US SPOOL_DIRECTORY;
204 int string_datestamp_offset=-1;
206 BOOL timestamps_utc = FALSE;
207 BOOL tls_certificate_verified = FALSE;
208 uschar *tls_cipher = NULL;
209 uschar *tls_peerdn = NULL;
211 tree_node *tree_duplicates = NULL;
212 tree_node *tree_nonrecipients = NULL;
213 tree_node *tree_unusable = NULL;
215 uschar *version_date = US"?";
216 uschar *version_string = US"?";
218 int warning_count = 0;
220 /* End of em_globals.c */