Commit | Line | Data |
---|---|---|
47ca6d6c | 1 | /* $Cambridge: exim/src/exim_monitor/em_globals.c,v 1.8 2005/12/12 15:58:53 ph10 Exp $ */ |
059ec3d9 PH |
2 | |
3 | /************************************************* | |
4 | * Exim Monitor * | |
5 | *************************************************/ | |
6 | ||
c988f1f4 | 7 | /* Copyright (c) University of Cambridge 1995 - 2005 */ |
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 | |
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 | ||
8523533c TK |
47 | #ifdef EXPERIMENTAL_BRIGHTMAIL |
48 | int bmi_run = 0; | |
49 | uschar *bmi_verdicts = NULL; | |
50 | #endif | |
51 | ||
059ec3d9 PH |
52 | int body_max = 20000; |
53 | ||
54 | uschar *exim_path = US BIN_DIRECTORY "/exim" | |
4d9c610b | 55 | "\0<---------------Space to patch exim_path->"; |
059ec3d9 PH |
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 | ||
47ca6d6c | 121 | uschar *acl_var[ACL_CVARS + ACL_MVARS]; |
059ec3d9 PH |
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; | |
4d9c610b TK |
138 | |
139 | #ifdef EXPERIMENTAL_DOMAINKEYS | |
140 | uschar *dk_signing_domain = NULL; | |
141 | uschar *dk_signing_selector = NULL; | |
142 | int dk_do_verify = 0; | |
143 | #endif | |
144 | ||
059ec3d9 PH |
145 | BOOL dont_deliver = FALSE; |
146 | ||
8523533c | 147 | #ifdef WITH_CONTENT_SCAN |
29aba418 | 148 | int fake_response = OK; |
8523533c TK |
149 | #endif |
150 | ||
059ec3d9 PH |
151 | header_line *header_last = NULL; |
152 | header_line *header_list = NULL; | |
153 | ||
b08b24c8 | 154 | BOOL host_lookup_deferred = FALSE; |
059ec3d9 PH |
155 | BOOL host_lookup_failed = FALSE; |
156 | uschar *interface_address = NULL; | |
157 | int interface_port = 0; | |
158 | ||
159 | BOOL local_error_message = FALSE; | |
160 | uschar *local_scan_data = NULL; | |
161 | BOOL log_timezone = FALSE; | |
8523533c TK |
162 | |
163 | #ifdef WITH_CONTENT_SCAN | |
164 | uschar *spam_score_int = NULL; | |
165 | #endif | |
166 | ||
059ec3d9 PH |
167 | int message_age = 0; |
168 | uschar *message_id; | |
169 | uschar *message_id_external; | |
170 | uschar message_id_option[MESSAGE_ID_LENGTH + 3]; | |
171 | ||
172 | int message_linecount = 0; | |
173 | int message_size = 0; | |
174 | uschar message_subdir[2] = { 0, 0 }; | |
175 | ||
176 | gid_t originator_gid; | |
177 | uschar *originator_login; | |
178 | uid_t originator_uid; | |
179 | ||
180 | uschar *primary_hostname = NULL; | |
181 | ||
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; | |
189 | ||
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; | |
1f5b4c3d | 200 | uschar *smtp_active_hostname = NULL; |
059ec3d9 PH |
201 | |
202 | BOOL split_spool_directory = FALSE; | |
203 | uschar *spool_directory = US SPOOL_DIRECTORY; | |
204 | int string_datestamp_offset=-1; | |
205 | ||
206 | BOOL timestamps_utc = FALSE; | |
207 | BOOL tls_certificate_verified = FALSE; | |
208 | uschar *tls_cipher = NULL; | |
209 | uschar *tls_peerdn = NULL; | |
210 | ||
211 | tree_node *tree_duplicates = NULL; | |
212 | tree_node *tree_nonrecipients = NULL; | |
213 | tree_node *tree_unusable = NULL; | |
214 | ||
215 | uschar *version_date = US"?"; | |
216 | uschar *version_string = US"?"; | |
217 | ||
218 | int warning_count = 0; | |
219 | ||
220 | /* End of em_globals.c */ |