/*---------------------------------------------------------------------------* * smthttp.d - LIBERO dialog data definitions for smthttp.c. * * Generated by LIBERO 2.4 on 22 Jul, 2004, 16:52. * * Schema file used: smtschm.c. * *---------------------------------------------------------------------------*/ /*- Symbolic constants and event numbers ------------------------------------*/ #define _LR_STOP 0xFFFFL #define _LR_NULL_EVENT -2 #define _LR_NULL_STATE -1 #define terminate_event -1 #define bad_request_event 0 #define cancel_event 1 #define cgi_event 2 #define client_event 3 #define close_event 4 #define directory_event 5 #define error_event 6 #define exception_event 7 #define executable_event 8 #define fatal_event 9 #define file_event 10 #define filter_event 11 #define finished_event 12 #define forbidden_event 13 #define get_request_event 14 #define html_event 15 #define internal_error_event 16 #define master_event 17 #define modified_event 18 #define more_event 19 #define new_ssl_client_event 20 #define not_found_event 21 #define not_implemented_event 22 #define not_modified_event 23 #define ok_event 24 #define overloaded_event 25 #define post_event 26 #define post_request_event 27 #define precondition_event 28 #define redirect_event 29 #define restart_event 30 #define shutdown_event 31 #define sock_closed_event 32 #define sock_error_event 33 #define sock_retry_event 34 #define sock_timeout_event 35 #define ssl_error_event 36 #define ssl_open_event 37 #define timer_event 38 #define too_large_event 39 #define unauthorized_event 40 #define update_request_event 41 #define wsx_event 42 #define wsx_binary_event 43 #define wsx_cancel_event 44 #define wsx_error_event 45 #define wsx_install_event 46 #define wsx_kill_event 47 #define wsx_multi_event 48 #define wsx_multibin_event 49 #define wsx_ok_event 50 #define wsx_redirect_event 51 #define wsx_restart_event 52 #define _LR_STATE_after_init 0 #define _LR_STATE_master_settle 1 #define _LR_STATE_master_input 2 #define _LR_STATE_master_restart 3 #define _LR_STATE_client 4 #define _LR_STATE_client_input 5 #define _LR_STATE_have_client_request 6 #define _LR_STATE_client_input_post 7 #define _LR_STATE_have_client_post 8 #define _LR_STATE_execute_http_request 9 #define _LR_STATE_process_http_get 10 #define _LR_STATE_have_type_of_get 11 #define _LR_STATE_trying_to_get_file 12 #define _LR_STATE_get_range_header 13 #define _LR_STATE_get_range_if_header 14 #define _LR_STATE_have_range_to_send 15 #define _LR_STATE_after_sending_range 16 #define _LR_STATE_process_http_post 17 #define _LR_STATE_process_http_update 18 #define _LR_STATE_have_type_of_update 19 #define _LR_STATE_trying_to_update 20 #define _LR_STATE_after_sending_file 21 #define _LR_STATE_trying_to_get_dir 22 #define _LR_STATE_have_default 23 #define _LR_STATE_have_type_of_cgi 24 #define _LR_STATE_before_running_cgi 25 #define _LR_STATE_wait_for_cgi 26 #define _LR_STATE_have_type_of_filter 27 #define _LR_STATE_trying_to_get_filter 28 #define _LR_STATE_wait_for_filter 29 #define _LR_STATE_trying_to_get_wsx 30 #define _LR_STATE_wait_for_wsx 31 #define _LR_STATE_process_wsx_done 32 #define _LR_STATE_process_wsx_multipart 33 #define _LR_STATE_process_wsx_restart 34 #define _LR_STATE_process_wsx_kill 35 #define _LR_STATE_request_finished 36 #define _LR_STATE_defaults 37 #define _LR_STATE_end_thread 38 #define _LR_defaults_state 37 /*- Function prototypes and macros ------------------------------------------*/ #ifndef MODULE #define MODULE static void /* Libero dialog modules */ #endif MODULE initialise_the_thread (THREAD *thread); MODULE open_server_log_file (THREAD *thread); MODULE load_virtual_hosts (THREAD *thread); MODULE check_rootdir_exists (THREAD *thread); MODULE open_ssl_socket_if_needed (THREAD *thread); MODULE open_master_socket (THREAD *thread); MODULE wait_for_socket_input (THREAD *thread); MODULE wait_for_process_to_settle (THREAD *thread); MODULE set_server_process_state (THREAD *thread); MODULE prepare_client_thread (THREAD *thread); MODULE prepare_to_read_request (THREAD *thread); MODULE read_input_from_socket (THREAD *thread); MODULE accept_client_connection (THREAD *thread); MODULE create_ssl_child_thread (THREAD *thread); MODULE reload_config_if_needed (THREAD *thread); MODULE free_all_server_resources (THREAD *thread); MODULE kill_all_active_connections (THREAD *thread); MODULE prepare_to_close_master_socket (THREAD *thread); MODULE wait_for_connections_to_close (THREAD *thread); MODULE signal_socket_closed (THREAD *thread); MODULE check_socket_type (THREAD *thread); MODULE get_ssl_master_port (THREAD *thread); MODULE install_wsx_alias (THREAD *thread); MODULE cancel_wsx_alias (THREAD *thread); MODULE close_master_socket (THREAD *thread); MODULE reload_config_if_changed (THREAD *thread); MODULE restart_ftp_server_if_reqd (THREAD *thread); MODULE restart_ssl_agent_if_reqd (THREAD *thread); MODULE reject_client_connection (THREAD *thread); MODULE flush_socket_requests (THREAD *thread); MODULE terminate_the_thread (THREAD *thread); MODULE write_http_header (THREAD *thread); MODULE signal_bad_request (THREAD *thread); MODULE signal_url_unauthorized (THREAD *thread); MODULE signal_url_forbidden (THREAD *thread); MODULE signal_url_not_found (THREAD *thread); MODULE signal_too_large (THREAD *thread); MODULE signal_internal_error (THREAD *thread); MODULE signal_not_implemented (THREAD *thread); MODULE signal_overloaded (THREAD *thread); MODULE read_http_request_next (THREAD *thread); MODULE check_if_request_complete (THREAD *thread); MODULE check_if_post_data_complete (THREAD *thread); MODULE parse_http_request (THREAD *thread); MODULE resolve_virtual_hostname (THREAD *thread); MODULE check_client_ip_allowed (THREAD *thread); MODULE read_http_posted_data (THREAD *thread); MODULE get_url_type (THREAD *thread); MODULE check_file_or_directory (THREAD *thread); MODULE check_if_protected (THREAD *thread); MODULE check_for_conditional_get (THREAD *thread); MODULE look_for_range_header (THREAD *thread); MODULE signal_not_modified (THREAD *thread); MODULE check_if_keep_alive (THREAD *thread); MODULE signal_precondition (THREAD *thread); MODULE look_for_range_if_header (THREAD *thread); MODULE send_file_to_browser (THREAD *thread); MODULE signal_partial_content (THREAD *thread); MODULE get_next_range_specifier (THREAD *thread); MODULE write_http_range_header (THREAD *thread); MODULE write_http_range_body (THREAD *thread); MODULE write_http_range_footer (THREAD *thread); MODULE update_resource_from_request (THREAD *thread); MODULE get_default_web_page (THREAD *thread); MODULE make_directory_listing (THREAD *thread); MODULE create_cgi_process (THREAD *thread); MODULE wait_process_end (THREAD *thread); MODULE close_child_process (THREAD *thread); MODULE reparse_process_output (THREAD *thread); MODULE create_filter_process (THREAD *thread); MODULE pass_request_to_wsx_agent (THREAD *thread); MODULE get_wsx_return_fields (THREAD *thread); MODULE get_wsx_bin_return_fields (THREAD *thread); MODULE get_wsx_error_fields (THREAD *thread); MODULE get_wsx_redirect_fields (THREAD *thread); MODULE reparse_http_body (THREAD *thread); MODULE write_http_body (THREAD *thread); MODULE send_master_thread_restart (THREAD *thread); MODULE send_master_thread_shutdown (THREAD *thread); MODULE partial_clear_http_context (THREAD *thread); MODULE shutdown_the_application (THREAD *thread); #define the_next_event _the_next_event #define the_exception_event _the_exception_event #define the_external_event _the_external_event #define exception_raised _exception_raised #define io_completed _io_completed /*- Static areas shared by all threads --------------------------------------*/ static word _LR_nextst [39][53] = { { 0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 ,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 }, { 0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0 ,3,0,38,0,1,0,0,1,2,0,0,0,0,0,1,0,1,0,0,0,0,0,0 }, { 0,2,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,2,0,0,0,0,0 ,3,0,38,0,2,0,0,2,2,0,0,0,0,0,2,0,2,0,0,0,0,0,0 }, { 0,3,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,3,0,0,0,0,0 ,3,0,38,0,3,0,0,3,2,0,0,0,0,0,3,0,3,0,0,0,0,0,0 }, { 4,0,0,0,0,0,4,0,0,0,0,0,0,4,0,0,4,0,0,0,0,4,4,0,0,4,0,0,0,0 ,0,0,4,4,4,4,4,0,0,4,4,0,0,0,0,0,0,0,0,0,0,0,0 }, { 5,0,0,0,0,0,5,0,0,0,0,0,0,5,0,0,5,0,0,0,0,5,5,0,6,5,0,0,0,0 ,0,0,5,5,5,5,5,0,0,5,5,0,0,0,0,0,0,0,0,0,0,0,0 }, { 6,0,0,0,0,0,6,0,0,0,0,0,9,6,0,0,6,0,0,5,0,6,6,0,0,6,8,0,0,0 ,0,0,6,6,6,6,6,0,0,6,6,0,0,0,0,0,0,0,0,0,0,0,0 }, { 7,0,0,0,0,0,7,0,0,0,0,0,0,7,0,0,7,0,0,0,0,7,7,0,8,7,0,0,0,0 ,0,0,7,7,7,7,7,0,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0 }, { 8,0,0,0,0,0,8,0,0,0,0,0,9,8,0,0,8,0,0,7,0,8,8,0,0,8,0,0,0,0 ,0,0,8,8,8,8,8,0,0,8,8,0,0,0,0,0,0,0,0,0,0,0,0 }, { 9,0,0,0,0,0,9,0,0,0,0,0,0,9,10,0,9,0,0,0,0,9,9,0,0,9,0,17,0 ,0,0,0,9,9,9,9,9,0,0,9,9,18,0,0,0,0,0,0,0,0,0,0,0 }, { 10,0,24,0,0,0,10,0,0,0,0,27,0,10,0,11,10,0,0,0,0,10,10,0,0 ,10,0,0,0,0,0,0,10,10,10,10,10,0,0,10,10,0,30,0,0,0,0,0,0,0 ,0,0,0 }, { 11,0,0,0,0,22,11,0,12,0,12,0,0,11,0,0,11,0,0,0,0,11,11,0,0 ,11,0,0,0,0,0,0,11,11,11,11,11,0,0,11,11,0,0,0,0,0,0,0,0,0,0 ,0,0 }, { 12,0,0,0,0,0,12,0,0,0,0,0,0,12,0,0,12,0,0,0,0,12,12,36,13,12 ,0,0,36,0,0,0,12,12,12,12,12,0,0,12,12,0,0,0,0,0,0,0,0,0,0,0 ,0 }, { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,0,0,14,0,0,0,0 ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 }, { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,0,0,0,0,0,15,0,0,0,0 ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 }, { 0,0,0,0,0,0,0,0,0,0,0,0,36,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0 ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 }, { 0,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 }, { 17,0,24,0,0,0,17,0,0,0,0,27,0,17,0,17,17,0,0,0,0,17,17,0,0 ,17,0,0,0,0,0,0,17,17,17,17,17,0,0,17,17,0,30,0,0,0,0,0,0,0 ,0,0,0 }, { 18,0,18,0,0,0,18,0,0,0,0,18,0,18,0,19,18,0,0,0,0,18,18,0,0 ,18,0,0,0,0,0,0,18,18,18,18,18,0,0,18,18,0,18,0,0,0,0,0,0,0 ,0,0,0 }, { 19,0,0,0,0,19,19,0,19,0,20,0,0,19,0,0,19,0,0,0,0,20,19,0,0 ,19,0,0,0,0,0,0,19,19,19,19,19,0,0,19,19,0,0,0,0,0,0,0,0,0,0 ,0,0 }, { 20,0,0,0,0,0,20,0,0,0,0,0,0,20,0,0,20,0,0,0,0,20,20,0,36,20 ,0,0,0,0,0,0,20,20,20,20,20,0,0,20,20,0,0,0,0,0,0,0,0,0,0,0 ,0 }, { 21,0,0,0,0,0,21,0,0,0,0,0,36,21,0,0,21,0,0,0,0,21,21,0,0,21 ,0,0,0,0,0,0,21,21,21,21,21,0,0,21,21,0,0,0,0,0,0,0,0,0,0,0 ,0 }, { 22,0,0,0,0,0,22,0,0,0,0,0,0,22,0,0,22,0,0,0,0,22,22,0,23,22 ,0,0,0,0,0,0,22,22,22,22,22,0,0,22,22,0,0,0,0,0,0,0,0,0,0,0 ,0 }, { 23,0,0,0,0,0,23,0,0,0,10,0,0,23,0,0,23,0,0,0,0,21,23,0,0,23 ,0,0,0,0,0,0,23,23,23,23,23,0,0,23,23,0,0,0,0,0,0,0,0,0,0,0 ,0 }, { 24,0,0,0,0,22,24,0,25,0,12,0,0,24,0,0,24,0,0,0,0,24,24,0,0 ,24,0,0,0,0,0,0,24,24,24,24,24,0,0,24,24,0,0,0,0,0,0,0,0,0,0 ,0,0 }, { 25,0,0,0,0,0,25,0,0,0,0,0,0,25,0,0,25,0,0,0,0,25,25,0,26,25 ,0,0,0,0,0,0,25,25,25,25,25,0,0,25,25,0,0,0,0,0,0,0,0,0,0,0 ,0 }, { 26,0,0,0,0,0,26,0,0,0,0,0,21,26,0,0,26,0,0,0,0,26,26,0,0,26 ,0,0,0,10,0,0,26,26,26,26,26,0,26,26,26,0,0,0,0,0,0,0,0,0,0 ,0,0 }, { 27,0,0,0,0,22,27,0,28,0,28,0,0,27,0,0,27,0,0,0,0,27,27,0,0 ,27,0,0,0,0,0,0,27,27,27,27,27,0,0,27,27,0,0,0,0,0,0,0,0,0,0 ,0,0 }, { 28,0,0,0,0,0,28,0,0,0,0,0,0,28,0,0,28,0,0,0,0,28,28,0,29,28 ,0,0,0,0,0,0,28,28,28,28,28,0,0,28,28,0,0,0,0,0,0,0,0,0,0,0 ,0 }, { 29,0,0,0,0,0,29,0,0,0,0,0,21,29,0,0,29,0,0,0,0,29,29,0,0,29 ,0,0,0,10,0,0,29,29,29,29,29,0,29,29,29,0,0,0,0,0,0,0,0,0,0 ,0,0 }, { 30,0,0,0,0,0,30,0,0,0,0,0,0,30,0,0,30,0,0,0,0,30,30,0,31,30 ,0,0,0,0,0,0,30,30,30,30,30,0,0,30,30,0,0,0,0,0,0,0,0,0,0,0 ,0 }, { 31,0,0,0,0,0,31,0,0,0,0,0,0,31,0,0,31,0,0,0,0,31,31,0,0,31,0 ,0,0,0,0,0,31,31,31,31,31,0,0,31,31,0,0,32,0,31,0,35,33,33 ,32,31,34 }, { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,36,21,0 }, { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,31,0 }, { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,34,34,0 }, { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,35,35,0 }, { 36,0,0,0,36,0,36,0,0,0,0,0,0,36,0,0,36,0,0,0,0,36,36,0,5,36 ,0,0,0,0,0,0,36,36,36,36,36,0,0,36,36,0,0,0,0,0,0,0,0,0,0,0 ,0 }, { 37,38,37,37,37,37,37,38,37,37,37,37,37,37,37,37,37,37,37,37 ,37,37,37,37,37,37,37,37,37,37,37,38,38,38,38,38,37,37,37,37 ,37,37,37,37,37,37,37,37,37,37,37,37,37 }, { 0,0,0,38,0,0,0,0,0,0,0,0,0,0,0,0,0,38,0,0,0,0,0,0,0,0,0,0,0 ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 } }; static word _LR_action [39][53] = { { 0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 ,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 }, { 0,11,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,0,0 ,8,0,10,0,9,0,0,12,4,0,0,0,0,0,14,0,13,0,0,0,0,0,0 }, { 0,11,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,0,0 ,8,0,10,0,9,0,0,12,15,0,0,0,0,0,14,0,13,0,0,0,0,0,0 }, { 0,11,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,17,0,0,0,0 ,0,8,0,10,0,9,0,0,12,16,0,0,0,0,0,14,0,13,0,0,0,0,0,0 }, { 21,0,0,0,0,0,20,0,0,0,0,0,0,23,0,0,26,0,0,0,0,24,27,0,0,28,0 ,0,0,0,0,0,19,18,19,19,19,0,0,25,22,0,0,0,0,0,0,0,0,0,0,0,0 }, { 21,0,0,0,0,0,20,0,0,0,0,0,0,23,0,0,26,0,0,0,0,24,27,0,29,28 ,0,0,0,0,0,0,19,18,30,19,19,0,0,25,22,0,0,0,0,0,0,0,0,0,0,0 ,0 }, { 21,0,0,0,0,0,20,0,0,0,0,0,32,23,0,0,26,0,0,30,0,24,27,0,0,28 ,31,0,0,0,0,0,19,18,19,19,19,0,0,25,22,0,0,0,0,0,0,0,0,0,0,0 ,0 }, { 21,0,0,0,0,0,20,0,0,0,0,0,0,23,0,0,26,0,0,0,0,24,27,0,33,28 ,0,0,0,0,0,0,19,18,30,19,19,0,0,25,22,0,0,0,0,0,0,0,0,0,0,0 ,0 }, { 21,0,0,0,0,0,20,0,0,0,0,0,32,23,0,0,26,0,0,30,0,24,27,0,0,28 ,0,0,0,0,0,0,19,18,19,19,19,0,0,25,22,0,0,0,0,0,0,0,0,0,0,0 ,0 }, { 21,0,0,0,0,0,20,0,0,0,0,0,0,23,34,0,26,0,0,0,0,24,27,0,0,28 ,0,34,0,0,0,0,19,18,19,19,19,0,0,25,22,34,0,0,0,0,0,0,0,0,0 ,0,0 }, { 21,0,35,0,0,0,20,0,0,0,0,35,0,23,0,35,26,0,0,0,0,24,27,0,0 ,28,0,0,0,0,0,0,19,18,19,19,19,0,0,25,22,0,36,0,0,0,0,0,0,0 ,0,0,0 }, { 21,0,0,0,0,36,20,0,36,0,36,0,0,23,0,0,26,0,0,0,0,24,27,0,0 ,28,0,0,0,0,0,0,19,18,19,19,19,0,0,25,22,0,0,0,0,0,0,0,0,0,0 ,0,0 }, { 21,0,0,0,0,0,20,0,0,0,0,0,0,23,0,0,26,0,0,0,0,24,27,38,37,28 ,0,0,39,0,0,0,19,18,19,19,19,0,0,25,22,0,0,0,0,0,0,0,0,0,0,0 ,0 }, { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,41,0,0,40,0,0,0,0 ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 }, { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,41,0,0,0,0,0,42,0,0,0,0 ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 }, { 0,0,0,0,0,0,0,0,0,0,0,0,44,0,0,0,0,0,0,43,0,0,0,0,0,0,0,0,0 ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 }, { 0,0,0,0,0,0,0,0,0,0,0,0,45,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 }, { 21,0,35,0,0,0,20,0,0,0,0,35,0,23,0,21,26,0,0,0,0,24,27,0,0 ,28,0,0,0,0,0,0,19,18,19,19,19,0,0,25,22,0,36,0,0,0,0,0,0,0 ,0,0,0 }, { 21,0,21,0,0,0,20,0,0,0,0,21,0,23,0,35,26,0,0,0,0,24,27,0,0 ,28,0,0,0,0,0,0,19,18,19,19,19,0,0,25,22,0,21,0,0,0,0,0,0,0 ,0,0,0 }, { 21,0,0,0,0,23,20,0,23,0,36,0,0,23,0,0,26,0,0,0,0,36,27,0,0 ,28,0,0,0,0,0,0,19,18,19,19,19,0,0,25,22,0,0,0,0,0,0,0,0,0,0 ,0,0 }, { 21,0,0,0,0,0,20,0,0,0,0,0,0,23,0,0,26,0,0,0,0,24,27,0,46,28 ,0,0,0,0,0,0,19,18,19,19,19,0,0,25,22,0,0,0,0,0,0,0,0,0,0,0 ,0 }, { 21,0,0,0,0,0,20,0,0,0,0,0,44,23,0,0,26,0,0,0,0,24,27,0,0,28 ,0,0,0,0,0,0,19,18,19,19,19,0,0,25,22,0,0,0,0,0,0,0,0,0,0,0 ,0 }, { 21,0,0,0,0,0,20,0,0,0,0,0,0,23,0,0,26,0,0,0,0,24,27,0,47,28 ,0,0,0,0,0,0,19,18,19,19,19,0,0,25,22,0,0,0,0,0,0,0,0,0,0,0 ,0 }, { 21,0,0,0,0,0,20,0,0,0,34,0,0,23,0,0,26,0,0,0,0,48,27,0,0,28 ,0,0,0,0,0,0,19,18,19,19,19,0,0,25,22,0,0,0,0,0,0,0,0,0,0,0 ,0 }, { 21,0,0,0,0,36,20,0,36,0,36,0,0,23,0,0,26,0,0,0,0,24,27,0,0 ,28,0,0,0,0,0,0,19,18,19,19,19,0,0,25,22,0,0,0,0,0,0,0,0,0,0 ,0,0 }, { 21,0,0,0,0,0,20,0,0,0,0,0,0,23,0,0,26,0,0,0,0,24,27,0,49,28 ,0,0,0,0,0,0,19,18,19,19,19,0,0,25,22,0,0,0,0,0,0,0,0,0,0,0 ,0 }, { 21,0,0,0,0,0,52,0,0,0,0,0,51,23,0,0,26,0,0,0,0,24,27,0,0,28 ,0,0,0,34,0,0,19,18,19,19,19,0,50,25,22,0,0,0,0,0,0,0,0,0,0 ,0,0 }, { 21,0,0,0,0,36,20,0,36,0,36,0,0,23,0,0,26,0,0,0,0,24,27,0,0 ,28,0,0,0,0,0,0,19,18,19,19,19,0,0,25,22,0,0,0,0,0,0,0,0,0,0 ,0,0 }, { 21,0,0,0,0,0,20,0,0,0,0,0,0,23,0,0,26,0,0,0,0,24,27,0,53,28 ,0,0,0,0,0,0,19,18,19,19,19,0,0,25,22,0,0,0,0,0,0,0,0,0,0,0 ,0 }, { 21,0,0,0,0,0,52,0,0,0,0,0,51,23,0,0,26,0,0,0,0,24,27,0,0,28 ,0,0,0,34,0,0,19,18,19,19,19,0,50,25,22,0,0,0,0,0,0,0,0,0,0 ,0,0 }, { 21,0,0,0,0,0,20,0,0,0,0,0,0,23,0,0,26,0,0,0,0,24,27,0,54,28 ,0,0,0,0,0,0,19,18,19,19,19,0,0,25,22,0,0,0,0,0,0,0,0,0,0,0 ,0 }, { 21,0,0,0,0,0,20,0,0,0,0,0,0,23,0,0,26,0,0,0,0,24,27,0,0,28,0 ,0,0,0,0,0,19,18,19,19,19,0,0,25,22,0,0,56,0,57,0,55,55,56 ,55,58,55 }, { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,59,60,0 }, { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,61,60,0 }, { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,62,63,0 }, { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,65,0 }, { 21,0,0,0,19,0,20,0,0,0,0,0,0,23,0,0,26,0,0,0,0,24,27,0,66,28 ,0,0,0,0,0,0,19,18,19,19,19,0,0,25,22,0,0,0,0,0,0,0,0,0,0,0 ,0 }, { 11,67,11,11,11,11,11,67,11,68,11,11,11,11,11,11,11,11,11,11 ,11,11,11,11,11,11,11,11,11,11,11,67,67,67,67,67,11,11,11,11 ,11,11,11,11,11,11,11,11,11,11,11,11,11 }, { 0,0,0,18,0,0,0,0,0,0,0,0,0,0,0,0,0,69,0,0,0,0,0,0,0,0,0,0,0 ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 } }; static word _LR_offset [] = { 0, 0, 8, 12, 16, 18, 21, 23, 25, 30, 33, 36, 37, 39, 41, 43, 45, 56, 59, 62, 64, 67, 70, 73, 76, 79, 82, 85, 88, 91, 94, 96, 98, 102, 105, 107, 109, 111, 114, 117, 120, 122, 125, 128, 131, 133, 136, 140, 142, 146, 149, 151, 156, 160, 163, 165, 167, 169, 173, 177, 182, 186, 190, 196, 202, 208, 214, 217, 219, 223 }; static word _LR_vector [] = { 0,1,2,3,4,5,6,_LR_STOP, 4,7,5,_LR_STOP, 8,9,10,_LR_STOP, 7,_LR_STOP, 11,5,_LR_STOP, 12,_LR_STOP, 5,_LR_STOP, 14,15,16,17,_LR_STOP, 4,5,_LR_STOP, 18,19,_LR_STOP, _LR_STOP, 20,_LR_STOP, 21,_LR_STOP, 22,_LR_STOP, 13,_LR_STOP, 23,24,0,1,2,25,26,3,4,5,_LR_STOP, 27,5,_LR_STOP, 28,29,_LR_STOP, 29,_LR_STOP, 30,29,_LR_STOP, 31,29,_LR_STOP, 32,29,_LR_STOP, 33,29,_LR_STOP, 34,29,_LR_STOP, 35,29,_LR_STOP, 36,29,_LR_STOP, 37,29,_LR_STOP, 38,29,_LR_STOP, 39,40,_LR_STOP, 10,_LR_STOP, 41,_LR_STOP, 42,43,44,_LR_STOP, 45,41,_LR_STOP, 46,_LR_STOP, 47,_LR_STOP, 48,_LR_STOP, 49,50,_LR_STOP, 51,52,_LR_STOP, 53,52,_LR_STOP, 54,_LR_STOP, 30,55,_LR_STOP, 56,57,_LR_STOP, 58,59,_LR_STOP, 52,_LR_STOP, 60,57,_LR_STOP, 61,30,52,_LR_STOP, 62,_LR_STOP, 63,30,55,_LR_STOP, 64,65,_LR_STOP, 65,_LR_STOP, 66,67,30,55,_LR_STOP, 66,30,29,_LR_STOP, 68,65,_LR_STOP, 69,_LR_STOP, 70,_LR_STOP, 71,_LR_STOP, 72,30,29,_LR_STOP, 73,30,29,_LR_STOP, 74,30,75,52,_LR_STOP, 67,30,55,_LR_STOP, 74,30,75,_LR_STOP, 74,30,75,76,29,_LR_STOP, 67,30,55,76,29,_LR_STOP, 74,30,75,77,29,_LR_STOP, 67,30,55,77,29,_LR_STOP, 78,10,_LR_STOP, 19,_LR_STOP, 14,79,29,_LR_STOP, 14,79,16,23,29,_LR_STOP }; static HOOK *_LR_module [80] = { open_server_log_file, load_virtual_hosts, check_rootdir_exists, open_ssl_socket_if_needed, open_master_socket, wait_for_socket_input, wait_for_process_to_settle, set_server_process_state, prepare_client_thread, prepare_to_read_request, read_input_from_socket, accept_client_connection, create_ssl_child_thread, reload_config_if_needed, free_all_server_resources, kill_all_active_connections, prepare_to_close_master_socket, wait_for_connections_to_close, signal_socket_closed, check_socket_type, get_ssl_master_port, install_wsx_alias, cancel_wsx_alias, close_master_socket, reload_config_if_changed, restart_ftp_server_if_reqd, restart_ssl_agent_if_reqd, reject_client_connection, flush_socket_requests, terminate_the_thread, write_http_header, signal_bad_request, signal_url_unauthorized, signal_url_forbidden, signal_url_not_found, signal_too_large, signal_internal_error, signal_not_implemented, signal_overloaded, read_http_request_next, check_if_request_complete, check_if_post_data_complete, parse_http_request, resolve_virtual_hostname, check_client_ip_allowed, read_http_posted_data, get_url_type, check_file_or_directory, check_if_protected, check_for_conditional_get, look_for_range_header, signal_not_modified, check_if_keep_alive, signal_precondition, look_for_range_if_header, send_file_to_browser, signal_partial_content, get_next_range_specifier, write_http_range_header, write_http_range_body, write_http_range_footer, update_resource_from_request, get_default_web_page, make_directory_listing, create_cgi_process, wait_process_end, close_child_process, reparse_process_output, create_filter_process, pass_request_to_wsx_agent, get_wsx_return_fields, get_wsx_bin_return_fields, get_wsx_error_fields, get_wsx_redirect_fields, reparse_http_body, write_http_body, send_master_thread_restart, send_master_thread_shutdown, partial_clear_http_context, shutdown_the_application }; #if (defined (DEBUG)) static char *_LR_mname [80] = { "Open-Server-Log-File", "Load-Virtual-Hosts", "Check-Rootdir-Exists", "Open-Ssl-Socket-If-Needed", "Open-Master-Socket", "Wait-For-Socket-Input", "Wait-For-Process-To-Settle", "Set-Server-Process-State", "Prepare-Client-Thread", "Prepare-To-Read-Request", "Read-Input-From-Socket", "Accept-Client-Connection", "Create-Ssl-Child-Thread", "Reload-Config-If-Needed", "Free-All-Server-Resources", "Kill-All-Active-Connections", "Prepare-To-Close-Master-Socket", "Wait-For-Connections-To-Close", "Signal-Socket-Closed", "Check-Socket-Type", "Get-Ssl-Master-Port", "Install-Wsx-Alias", "Cancel-Wsx-Alias", "Close-Master-Socket", "Reload-Config-If-Changed", "Restart-Ftp-Server-If-Reqd", "Restart-Ssl-Agent-If-Reqd", "Reject-Client-Connection", "Flush-Socket-Requests", "Terminate-The-Thread", "Write-Http-Header", "Signal-Bad-Request", "Signal-Url-Unauthorized", "Signal-Url-Forbidden", "Signal-Url-Not-Found", "Signal-Too-Large", "Signal-Internal-Error", "Signal-Not-Implemented", "Signal-Overloaded", "Read-Http-Request-Next", "Check-If-Request-Complete", "Check-If-Post-Data-Complete", "Parse-Http-Request", "Resolve-Virtual-Hostname", "Check-Client-Ip-Allowed", "Read-Http-Posted-Data", "Get-Url-Type", "Check-File-Or-Directory", "Check-If-Protected", "Check-For-Conditional-Get", "Look-For-Range-Header", "Signal-Not-Modified", "Check-If-Keep-Alive", "Signal-Precondition", "Look-For-Range-If-Header", "Send-File-To-Browser", "Signal-Partial-Content", "Get-Next-Range-Specifier", "Write-Http-Range-Header", "Write-Http-Range-Body", "Write-Http-Range-Footer", "Update-Resource-From-Request", "Get-Default-Web-Page", "Make-Directory-Listing", "Create-Cgi-Process", "Wait-Process-End", "Close-Child-Process", "Reparse-Process-Output", "Create-Filter-Process", "Pass-Request-To-Wsx-Agent", "Get-Wsx-Return-Fields", "Get-Wsx-Bin-Return-Fields", "Get-Wsx-Error-Fields", "Get-Wsx-Redirect-Fields", "Reparse-Http-Body", "Write-Http-Body", "Send-Master-Thread-Restart", "Send-Master-Thread-Shutdown", "Partial-Clear-Http-Context", "Shutdown-The-Application" }; static char *_LR_sname [39] = { "After-Init", "Master-Settle", "Master-Input", "Master-Restart", "Client", "Client-Input", "Have-Client-Request", "Client-Input-Post", "Have-Client-Post", "Execute-Http-Request", "Process-Http-Get", "Have-Type-Of-Get", "Trying-To-Get-File", "Get-Range-Header", "Get-Range-If-Header", "Have-Range-To-Send", "After-Sending-Range", "Process-Http-Post", "Process-Http-Update", "Have-Type-Of-Update", "Trying-To-Update", "After-Sending-File", "Trying-To-Get-Dir", "Have-Default", "Have-Type-Of-Cgi", "Before-Running-Cgi", "Wait-For-Cgi", "Have-Type-Of-Filter", "Trying-To-Get-Filter", "Wait-For-Filter", "Trying-To-Get-Wsx", "Wait-For-Wsx", "Process-Wsx-Done", "Process-Wsx-Multipart", "Process-Wsx-Restart", "Process-Wsx-Kill", "Request-Finished", "Defaults", "End-Thread" }; static char *_LR_ename [53] = { "Bad-Request-Event", "Cancel-Event", "Cgi-Event", "Client-Event", "Close-Event", "Directory-Event", "Error-Event", "Exception-Event", "Executable-Event", "Fatal-Event", "File-Event", "Filter-Event", "Finished-Event", "Forbidden-Event", "Get-Request-Event", "Html-Event", "Internal-Error-Event", "Master-Event", "Modified-Event", "More-Event", "New-Ssl-Client-Event", "Not-Found-Event", "Not-Implemented-Event", "Not-Modified-Event", "Ok-Event", "Overloaded-Event", "Post-Event", "Post-Request-Event", "Precondition-Event", "Redirect-Event", "Restart-Event", "Shutdown-Event", "Sock-Closed-Event", "Sock-Error-Event", "Sock-Retry-Event", "Sock-Timeout-Event", "Ssl-Error-Event", "Ssl-Open-Event", "Timer-Event", "Too-Large-Event", "Unauthorized-Event", "Update-Request-Event", "Wsx-Event", "Wsx-Binary-Event", "Wsx-Cancel-Event", "Wsx-Error-Event", "Wsx-Install-Event", "Wsx-Kill-Event", "Wsx-Multi-Event", "Wsx-Multibin-Event", "Wsx-Ok-Event", "Wsx-Redirect-Event", "Wsx-Restart-Event" }; #else static char *_LR_mname [80] = { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31", "32", "33", "34", "35", "36", "37", "38", "39", "40", "41", "42", "43", "44", "45", "46", "47", "48", "49", "50", "51", "52", "53", "54", "55", "56", "57", "58", "59", "60", "61", "62", "63", "64", "65", "66", "67", "68", "69", "70", "71", "72", "73", "74", "75", "76", "77", "78", "79" }; static char *_LR_sname [39] = { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31", "32", "33", "34", "35", "36", "37", "38" }; static char *_LR_ename [53] = { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31", "32", "33", "34", "35", "36", "37", "38", "39", "40", "41", "42", "43", "44", "45", "46", "47", "48", "49", "50", "51", "52" }; #endif