Icinga-core 1.4.0
next gen monitoring
cgi/cgiutils.c File Reference
#include "../include/config.h"
#include "../include/common.h"
#include "../include/locations.h"
#include "../include/objects.h"
#include "../include/statusdata.h"
#include "../include/cgiutils.h"

Go to the source code of this file.

Functions

void logit (int data_type, int display, const char *fmt,...)
int log_debug_info (int leve, int verbosity, const char *fmt,...)
void reset_cgi_vars (void)
void free_memory (void)
char * get_cgi_config_location (void)
char * get_cmd_file_location (void)
int read_cgi_config_file (char *filename)
int read_main_config_file (char *filename)
int read_all_object_configuration_data (char *config_file, int options)
int read_all_status_data (char *config_file, int options)
void document_header (int cgi_id, int use_stylesheet)
void document_footer (int cgi_id)
void write_popup_code (int cgi_id)
char * unescape_newlines (char *rawbuf)
char * escape_newlines (char *rawbuf)
void sanitize_plugin_output (char *buffer)
void get_time_string (time_t *raw_time, char *buffer, int buffer_length, int type)
void get_interval_time_string (double time_units, char *buffer, int buffer_length)
char * url_encode (char *input)
char * html_encode (char *input, int escape_newlines)
void strip_html_brackets (char *buffer)
char * escape_string (char *input)
void display_info_table (char *title, int refresh, authdata *current_authdata, int daemon_check)
void display_nav_table (char *url, int archive)
void print_extra_hostgroup_url (char *group_name, char *url)
void print_extra_servicegroup_url (char *group_name, char *url)
void include_ssi_files (char *cgi_name, int type)
void include_ssi_file (char *filename)
void cgi_config_file_error (char *config_file)
void main_config_file_error (char *config_file)
void object_data_error (void)
void status_data_error (void)
void print_error (char *config_file, int error_type)
void display_context_help (char *chid)
void display_splunk_host_url (host *hst)
void display_splunk_service_url (service *svc)
void display_splunk_generic_url (char *buf, int icon)
void strip_splunk_query_terms (char *buffer)
void print_generic_error_message (char *title, char *text, int returnlevels)
char * get_export_csv_link (char *cgi)
int write_to_cgi_log (char *buffer)
int rotate_log_file ()
int my_rename (char *source, char *dest)
int my_fcopy (char *source, char *dest)
int my_fdcopy (char *source, char *dest, int dest_fd)
int is_dlst_time (time_t *time)
void convert_timeperiod_to_times (int type, time_t *ts_start, time_t *ts_end)
int string_to_time (char *buffer, time_t *t)
char * json_encode (char *input)

Variables

char main_config_file [MAX_FILENAME_LENGTH]
char command_file [MAX_FILENAME_LENGTH]
char physical_html_path [MAX_FILENAME_LENGTH]
char physical_images_path [MAX_FILENAME_LENGTH]
char physical_ssi_path [MAX_FILENAME_LENGTH]
char url_html_path [MAX_FILENAME_LENGTH]
char url_docs_path [MAX_FILENAME_LENGTH]
char url_context_help_path [MAX_FILENAME_LENGTH]
char url_images_path [MAX_FILENAME_LENGTH]
char url_logo_images_path [MAX_FILENAME_LENGTH]
char url_stylesheets_path [MAX_FILENAME_LENGTH]
char url_js_path [MAX_FILENAME_LENGTH]
char url_media_path [MAX_FILENAME_LENGTH]
char * service_critical_sound = NULL
char * service_warning_sound = NULL
char * service_unknown_sound = NULL
char * host_down_sound = NULL
char * host_unreachable_sound = NULL
char * normal_sound = NULL
char * statusmap_background_image = NULL
char * statuswrl_include = NULL
char * illegal_output_chars = NULL
char * http_charset = NULL
char * notes_url_target = NULL
char * action_url_target = NULL
char * ping_syntax = NULL
char * csv_delimiter = CSV_DELIMITER
char * csv_data_enclosure = CSV_DATA_ENCLOSURE
char nagios_check_command [MAX_INPUT_BUFFER] = ""
char nagios_process_info [MAX_INPUT_BUFFER] = ""
int nagios_process_state = STATE_OK
int enable_splunk_integration = FALSE
char * splunk_url = NULL
int lock_author_names = TRUE
time_t program_start
int nagios_pid
int daemon_mode
int enable_notifications
int execute_service_checks
int accept_passive_service_checks
int enable_event_handlers
int obsess_over_services
int enable_failure_prediction
int process_performance_data
time_t last_command_check
time_t last_log_rotation
int log_rotation_method = LOG_ROTATION_NONE
time_t this_scheduled_log_rotation
time_t last_scheduled_log_rotation
time_t next_scheduled_log_rotation
char log_file [MAX_INPUT_BUFFER]
char log_archive_path [MAX_INPUT_BUFFER]
int check_external_commands = 0
int log_external_commands_user = FALSE
int date_format = DATE_FORMAT_US
int use_authentication = TRUE
int interval_length = 60
int show_context_help = FALSE
int show_all_services_host_is_authorized_for = TRUE
int use_pending_states = TRUE
int host_status_has_been_read = FALSE
int service_status_has_been_read = FALSE
int program_status_has_been_read = FALSE
int refresh_rate = DEFAULT_REFRESH_RATE
int escape_html_tags = FALSE
int persistent_ack_comments = FALSE
int use_ssl_authentication = FALSE
int default_statusmap_layout_method = 0
int default_statuswrl_layout_method = 0
int color_transparency_index_r = 255
int color_transparency_index_g = 255
int color_transparency_index_b = 255
int status_show_long_plugin_output = FALSE
int tac_show_only_hard_state = FALSE
int show_tac_header = TRUE
int showlog_initial_states = TRUE
int showlog_current_states = TRUE
int tab_friendly_titles = FALSE
int add_notif_num_hard = 0
int add_notif_num_soft = 0
int enforce_comments_on_actions = FALSE
int week_starts_on_monday = FALSE
hostgrouphostgroup_list
contactgroupcontactgroup_list
commandcommand_list
timeperiodtimeperiod_list
contactcontact_list
serviceescalationserviceescalation_list
hoststatus * hoststatus_list
servicestatus * servicestatus_list
char encoded_url_string [2][MAX_INPUT_BUFFER]
char * encoded_html_string = NULL
int content_type = HTML_CONTENT
int embedded = FALSE
int display_header = TRUE
int refresh = TRUE
int daemon_check = TRUE
int tac_header = FALSE
char alert_message
char * host_name
char * host_filter
char * hostgroup_name
char * service_desc
char * servicegroup_name
char * service_filter
int host_alert
int show_all_hosts
int show_all_hostgroups
int show_all_servicegroups
int display_type
int overview_columns
int max_grid_width
int group_style_type
int navbar_search
int CGI_ID
char cgi_log_file [MAX_FILENAME_LENGTH] = ""
char cgi_log_archive_path [MAX_FILENAME_LENGTH] = ""
int use_logging = FALSE
int cgi_log_rotation_method = LOG_ROTATION_NONE

Function Documentation

void cgi_config_file_error ( char *  config_file)

Definition at line 2037 of file cgiutils.c.

void convert_timeperiod_to_times ( int  type,
time_t *  ts_start,
time_t *  ts_end 
)

Definition at line 2639 of file cgiutils.c.

void display_context_help ( char *  chid)

Definition at line 2191 of file cgiutils.c.

void display_info_table ( char *  title,
int  refresh,
authdata current_authdata,
int  daemon_check 
)

Definition at line 1687 of file cgiutils.c.

void display_nav_table ( char *  url,
int  archive 
)

Definition at line 1778 of file cgiutils.c.

void display_splunk_generic_url ( char *  buf,
int  icon 
)

Definition at line 2231 of file cgiutils.c.

void display_splunk_host_url ( host hst)

Definition at line 2206 of file cgiutils.c.

void display_splunk_service_url ( service svc)

Definition at line 2218 of file cgiutils.c.

void document_footer ( int  cgi_id)

Definition at line 1065 of file cgiutils.c.

void document_header ( int  cgi_id,
int  use_stylesheet 
)

Definition at line 748 of file cgiutils.c.

char* escape_newlines ( char *  rawbuf)

Definition at line 1273 of file cgiutils.c.

char* escape_string ( char *  input)

Definition at line 1633 of file cgiutils.c.

void free_memory ( void  )

Definition at line 272 of file cgiutils.c.

char* get_cgi_config_location ( void  )

Definition at line 300 of file cgiutils.c.

char* get_cmd_file_location ( void  )

Definition at line 318 of file cgiutils.c.

char* get_export_csv_link ( char *  cgi)

Definition at line 2326 of file cgiutils.c.

void get_interval_time_string ( double  time_units,
char *  buffer,
int  buffer_length 
)

Definition at line 1443 of file cgiutils.c.

void get_time_string ( time_t *  raw_time,
char *  buffer,
int  buffer_length,
int  type 
)

Definition at line 1369 of file cgiutils.c.

char* html_encode ( char *  input,
int  escape_newlines 
)

Definition at line 1523 of file cgiutils.c.

void include_ssi_file ( char *  filename)

Definition at line 1976 of file cgiutils.c.

void include_ssi_files ( char *  cgi_name,
int  type 
)

Definition at line 1941 of file cgiutils.c.

int is_dlst_time ( time_t *  time)

Definition at line 2633 of file cgiutils.c.

char* json_encode ( char *  input)

Definition at line 2803 of file cgiutils.c.

int log_debug_info ( int  leve,
int  verbosity,
const char *  fmt,
  ... 
)

Definition at line 205 of file cgiutils.c.

void logit ( int  data_type,
int  display,
const char *  fmt,
  ... 
)

Definition at line 204 of file cgiutils.c.

void main_config_file_error ( char *  config_file)

Definition at line 2064 of file cgiutils.c.

int my_fcopy ( char *  source,
char *  dest 
)

Definition at line 2523 of file cgiutils.c.

int my_fdcopy ( char *  source,
char *  dest,
int  dest_fd 
)

Definition at line 2549 of file cgiutils.c.

int my_rename ( char *  source,
char *  dest 
)

Definition at line 2482 of file cgiutils.c.

void object_data_error ( void  )

Definition at line 2091 of file cgiutils.c.

void print_error ( char *  config_file,
int  error_type 
)

print an error depending on error_type

Definition at line 2151 of file cgiutils.c.

void print_extra_hostgroup_url ( char *  group_name,
char *  url 
)

Definition at line 1849 of file cgiutils.c.

void print_extra_servicegroup_url ( char *  group_name,
char *  url 
)

Definition at line 1895 of file cgiutils.c.

void print_generic_error_message ( char *  title,
char *  text,
int  returnlevels 
)

Definition at line 2277 of file cgiutils.c.

int read_all_object_configuration_data ( char *  config_file,
int  options 
)

Definition at line 704 of file cgiutils.c.

int read_all_status_data ( char *  config_file,
int  options 
)

Definition at line 714 of file cgiutils.c.

int read_cgi_config_file ( char *  filename)

Definition at line 335 of file cgiutils.c.

int read_main_config_file ( char *  filename)

Definition at line 601 of file cgiutils.c.

void reset_cgi_vars ( void  )

Definition at line 212 of file cgiutils.c.

int rotate_log_file ( void  )

Definition at line 2387 of file cgiutils.c.

void sanitize_plugin_output ( char *  buffer)

Definition at line 1307 of file cgiutils.c.

void status_data_error ( void  )

Definition at line 2118 of file cgiutils.c.

int string_to_time ( char *  buffer,
time_t *  t 
)

Definition at line 2763 of file cgiutils.c.

void strip_html_brackets ( char *  buffer)

Definition at line 1612 of file cgiutils.c.

void strip_splunk_query_terms ( char *  buffer)

Definition at line 2256 of file cgiutils.c.

char* unescape_newlines ( char *  rawbuf)

Definition at line 1244 of file cgiutils.c.

char* url_encode ( char *  input)

Definition at line 1462 of file cgiutils.c.

void write_popup_code ( int  cgi_id)

Definition at line 1152 of file cgiutils.c.

int write_to_cgi_log ( char *  buffer)

Logging and file functions

Definition at line 2352 of file cgiutils.c.


Variable Documentation

Definition at line 204 of file icinga.c.

char* action_url_target = NULL

Definition at line 61 of file cgiutils.c.

Definition at line 138 of file cgiutils.c.

Definition at line 139 of file cgiutils.c.

Definition at line 167 of file status.c.

int CGI_ID

ID to identify the cgi for functions in cgiutils.c

Definition at line 245 of file avail.c.

char cgi_log_archive_path[MAX_FILENAME_LENGTH] = ""

Definition at line 192 of file cgiutils.c.

char cgi_log_file[MAX_FILENAME_LENGTH] = ""

Definition at line 191 of file cgiutils.c.

int cgi_log_rotation_method = LOG_ROTATION_NONE

Definition at line 194 of file cgiutils.c.

Definition at line 98 of file cgiutils.c.

Definition at line 130 of file cgiutils.c.

Definition at line 129 of file cgiutils.c.

Definition at line 128 of file cgiutils.c.

char command_file[MAX_FILENAME_LENGTH]

Definition at line 33 of file cgiutils.c.

Definition at line 58 of file objects.c.

Definition at line 54 of file objects.c.

Definition at line 55 of file objects.c.

int content_type = HTML_CONTENT

Definition at line 165 of file cgiutils.c.

char* csv_data_enclosure = CSV_DATA_ENCLOSURE

Definition at line 66 of file cgiutils.c.

char* csv_delimiter = CSV_DELIMITER

Definition at line 65 of file cgiutils.c.

int daemon_check = TRUE

Definition at line 169 of file cgiutils.c.

Definition at line 192 of file icinga.c.

int date_format = DATE_FORMAT_US

Definition at line 102 of file cgiutils.c.

Definition at line 125 of file cgiutils.c.

Definition at line 126 of file cgiutils.c.

int display_header = TRUE

Definition at line 167 of file cgiutils.c.

determine the view (host/service)

Definition at line 150 of file avail.c.

int embedded = FALSE

Definition at line 166 of file cgiutils.c.

Definition at line 207 of file icinga.c.

Definition at line 210 of file icinga.c.

Definition at line 202 of file icinga.c.

Definition at line 72 of file cgiutils.c.

char* encoded_html_string = NULL

Definition at line 155 of file cgiutils.c.

char encoded_url_string[2][MAX_INPUT_BUFFER]

Definition at line 154 of file cgiutils.c.

Definition at line 140 of file cgiutils.c.

int escape_html_tags = FALSE

Definition at line 119 of file cgiutils.c.

Definition at line 203 of file icinga.c.

Definition at line 182 of file status.c.

Definition at line 175 of file status.c.

char* host_down_sound = NULL

Definition at line 50 of file cgiutils.c.

char* host_filter

Definition at line 91 of file config.c.

char* host_name

requested host name

the requested host name

Definition at line 190 of file avail.c.

Definition at line 113 of file cgiutils.c.

char* host_unreachable_sound = NULL

Definition at line 51 of file cgiutils.c.

Definition at line 56 of file objects.c.

requested hostgroup name

Definition at line 189 of file avail.c.

hoststatus * hoststatus_list

Definition at line 215 of file statusmap.c.

char* http_charset = NULL

Definition at line 58 of file cgiutils.c.

char* illegal_output_chars = NULL

Definition at line 56 of file cgiutils.c.

int interval_length = 60

Definition at line 106 of file cgiutils.c.

Definition at line 142 of file icinga.c.

Definition at line 144 of file icinga.c.

timestamp of last log rotation

Definition at line 52 of file readlogs.c.

int lock_author_names = TRUE

Definition at line 74 of file cgiutils.c.

char log_archive_path[MAX_INPUT_BUFFER]

the full path to the archived log files

Definition at line 95 of file cgiutils.c.

Definition at line 100 of file cgiutils.c.

char log_file[MAX_INPUT_BUFFER]

the full file name of the main icinga log file

Definition at line 94 of file cgiutils.c.

int log_rotation_method = LOG_ROTATION_NONE

readlogs.c

Definition at line 90 of file cgiutils.c.

char main_config_file[MAX_FILENAME_LENGTH]

Definition at line 32 of file cgiutils.c.

Definition at line 181 of file status.c.

char nagios_check_command[MAX_INPUT_BUFFER] = ""

Definition at line 68 of file cgiutils.c.

Definition at line 201 of file icinga.c.

char nagios_process_info[MAX_INPUT_BUFFER] = ""

Definition at line 69 of file cgiutils.c.

int nagios_process_state = STATE_OK

Definition at line 70 of file cgiutils.c.

Definition at line 183 of file status.c.

timestamp of next log rotation

Definition at line 53 of file readlogs.c.

char* normal_sound = NULL

Definition at line 52 of file cgiutils.c.

char* notes_url_target = NULL

Definition at line 60 of file cgiutils.c.

Definition at line 208 of file icinga.c.

Definition at line 180 of file status.c.

Definition at line 121 of file cgiutils.c.

char physical_html_path[MAX_FILENAME_LENGTH]

Definition at line 35 of file cgiutils.c.

char physical_images_path[MAX_FILENAME_LENGTH]

Definition at line 36 of file cgiutils.c.

char physical_ssi_path[MAX_FILENAME_LENGTH]

Definition at line 37 of file cgiutils.c.

char* ping_syntax = NULL

Definition at line 63 of file cgiutils.c.

Definition at line 222 of file icinga.c.

time_t program_start

Definition at line 199 of file icinga.c.

Definition at line 115 of file cgiutils.c.

int refresh = TRUE

Definition at line 168 of file cgiutils.c.

int refresh_rate = DEFAULT_REFRESH_RATE

Definition at line 117 of file cgiutils.c.

char* service_critical_sound = NULL

Definition at line 47 of file cgiutils.c.

char* service_desc

requested service name

the requested service name

Definition at line 192 of file avail.c.

Definition at line 95 of file config.c.

Definition at line 114 of file cgiutils.c.

char* service_unknown_sound = NULL

Definition at line 49 of file cgiutils.c.

char* service_warning_sound = NULL

Definition at line 48 of file cgiutils.c.

Definition at line 60 of file objects.c.

requested servicegroup name

Definition at line 191 of file avail.c.

servicestatus* servicestatus_list

Definition at line 177 of file avail.c.

if historical data is requested for all hosts

Definition at line 178 of file avail.c.

Definition at line 179 of file avail.c.

Definition at line 109 of file cgiutils.c.

int show_context_help = FALSE

Definition at line 108 of file cgiutils.c.

int show_tac_header = TRUE

Definition at line 134 of file cgiutils.c.

Definition at line 136 of file cgiutils.c.

Definition at line 135 of file cgiutils.c.

char* splunk_url = NULL

Definition at line 73 of file cgiutils.c.

Definition at line 132 of file cgiutils.c.

Definition at line 53 of file cgiutils.c.

char* statuswrl_include = NULL

Definition at line 54 of file cgiutils.c.

int tab_friendly_titles = FALSE

Definition at line 137 of file cgiutils.c.

int tac_header = FALSE

Definition at line 170 of file cgiutils.c.

Definition at line 133 of file cgiutils.c.

timestamp of current log rotation

Definition at line 51 of file readlogs.c.

Definition at line 59 of file objects.c.

char url_context_help_path[MAX_FILENAME_LENGTH]

Definition at line 40 of file cgiutils.c.

char url_docs_path[MAX_FILENAME_LENGTH]

Definition at line 39 of file cgiutils.c.

char url_html_path[MAX_FILENAME_LENGTH]

Definition at line 38 of file cgiutils.c.

char url_images_path[MAX_FILENAME_LENGTH]

Definition at line 41 of file cgiutils.c.

char url_js_path[MAX_FILENAME_LENGTH]

Definition at line 44 of file cgiutils.c.

char url_logo_images_path[MAX_FILENAME_LENGTH]

Definition at line 42 of file cgiutils.c.

char url_media_path[MAX_FILENAME_LENGTH]

Definition at line 45 of file cgiutils.c.

char url_stylesheets_path[MAX_FILENAME_LENGTH]

Definition at line 43 of file cgiutils.c.

int use_authentication = TRUE

Definition at line 104 of file cgiutils.c.

int use_logging = FALSE

Definition at line 193 of file cgiutils.c.

int use_pending_states = TRUE

Definition at line 111 of file cgiutils.c.

Definition at line 123 of file cgiutils.c.

int week_starts_on_monday = FALSE

Definition at line 141 of file cgiutils.c.

 All Data Structures Files Functions Variables Typedefs Defines