| 1 | /* $Cambridge: exim/src/exim_monitor/em_globals.c,v 1.12 2007/06/22 14:38:58 ph10 Exp $ */ |
| 2 | |
| 3 | /************************************************* |
| 4 | * Exim Monitor * |
| 5 | *************************************************/ |
| 6 | |
| 7 | /* Copyright (c) University of Cambridge 1995 - 2007 */ |
| 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 | tree_node *acl_var_c = NULL; |
| 121 | tree_node *acl_var_m = NULL; |
| 122 | uschar *active_hostname = NULL; |
| 123 | BOOL allow_unqualified_recipient = FALSE; |
| 124 | BOOL allow_unqualified_sender = FALSE; |
| 125 | uschar *authenticated_id = NULL; |
| 126 | uschar *authenticated_sender = NULL; |
| 127 | |
| 128 | uschar *big_buffer = NULL; |
| 129 | int big_buffer_size = BIG_BUFFER_SIZE; |
| 130 | int body_linecount = 0; |
| 131 | int body_zerocount = 0; |
| 132 | |
| 133 | BOOL deliver_firsttime = FALSE; |
| 134 | BOOL deliver_freeze = FALSE; |
| 135 | int deliver_frozen_at = 0; |
| 136 | BOOL deliver_manual_thaw = FALSE; |
| 137 | |
| 138 | #ifdef EXPERIMENTAL_DOMAINKEYS |
| 139 | uschar *dk_signing_domain = NULL; |
| 140 | uschar *dk_signing_selector = NULL; |
| 141 | int dk_do_verify = 0; |
| 142 | #endif |
| 143 | |
| 144 | BOOL dont_deliver = FALSE; |
| 145 | |
| 146 | #ifdef WITH_CONTENT_SCAN |
| 147 | int fake_response = OK; |
| 148 | #endif |
| 149 | |
| 150 | header_line *header_last = NULL; |
| 151 | header_line *header_list = NULL; |
| 152 | |
| 153 | BOOL host_lookup_deferred = FALSE; |
| 154 | BOOL host_lookup_failed = FALSE; |
| 155 | uschar *interface_address = NULL; |
| 156 | int interface_port = 0; |
| 157 | |
| 158 | BOOL local_error_message = FALSE; |
| 159 | uschar *local_scan_data = NULL; |
| 160 | BOOL log_timezone = FALSE; |
| 161 | |
| 162 | #ifdef WITH_CONTENT_SCAN |
| 163 | uschar *spam_score_int = NULL; |
| 164 | #endif |
| 165 | |
| 166 | int max_received_linelength= 0; |
| 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; |
| 200 | uschar *smtp_active_hostname = NULL; |
| 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 */ |