1# Gather the Configuration data 2 3conf_data = configuration_data() 4conf_data.set('BMCWEB_HTTP_REQ_BODY_LIMIT_MB', get_option('http-body-limit')) 5xss_enabled = get_option('insecure-disable-xss') 6conf_data.set10('BMCWEB_INSECURE_DISABLE_XSS_PREVENTION', xss_enabled.allowed()) 7enable_redfish_query = get_option('insecure-enable-redfish-query') 8conf_data.set10('BMCWEB_INSECURE_ENABLE_QUERY_PARAMS', enable_redfish_query.allowed()) 9# enable_redfish_aggregation = get_option('redfish-aggregation') 10# conf_data.set10('BMCWEB_ENABLE_REDFISH_AGGREGATION', enable_redfish_aggregation.allowed()) 11insecure_push_style_notification = get_option('insecure-push-style-notification') 12conf_data.set10('BMCWEB_INSECURE_ENABLE_HTTP_PUSH_STYLE_EVENTING', insecure_push_style_notification.allowed()) 13conf_data.set('MESON_INSTALL_PREFIX', get_option('prefix')) 14conf_data.set('HTTPS_PORT', get_option('https_port')) 15enable_health_populate = get_option('redfish-health-populate') 16conf_data.set10('BMCWEB_ENABLE_HEALTH_POPULATE', enable_health_populate.allowed()) 17enable_proc_mem_status = get_option('redfish-enable-proccessor-memory-status') 18conf_data.set10('BMCWEB_ENABLE_PROC_MEM_STATUS', enable_proc_mem_status.allowed()) 19enable_multi_host = get_option('experimental-redfish-multi-computer-system') 20conf_data.set10('BMCWEB_ENABLE_MULTI_HOST', enable_multi_host.allowed()) 21enable_http2 = get_option('experimental-http2') 22conf_data.set10('BMCWEB_ENABLE_HTTP2', enable_http2.allowed()) 23conf_data.set10('BMCWEB_ENABLE_MTLS_COMMON_NAME_PARSING_META', get_option('mutual-tls-common-name-parsing') == 'meta') 24 25 26# Logging level 27loglvlopt = get_option('bmcweb-logging') 28if get_option('buildtype').startswith('debug') and loglvlopt == 'disabled' 29 # Override logging level as 'debug' if 'bmcweb-logging' is set as 'dsiabled' 30 loglvlopt = 'debug' 31endif 32loglvlopt = loglvlopt.to_upper() 33conf_data.set('BMCWEB_LOGGING_LEVEL', loglvlopt) 34 35conf_h_dep = declare_dependency( 36 include_directories: include_directories('.'), 37 sources: configure_file( 38 input: 'bmcweb_config.h.in', 39 output: 'bmcweb_config.h', 40 configuration: conf_data 41 ) 42) 43 44# Configure and install systemd unit files 45 46configure_file(input : 'bmcweb.socket.in', 47 output : 'bmcweb.socket', 48 install_dir: systemd_system_unit_dir, 49 configuration: conf_data, 50 install : true) 51 52configure_file(input : 'bmcweb.service.in', 53 output : 'bmcweb.service', 54 install_dir: systemd_system_unit_dir, 55 configuration: conf_data, 56 install : true) 57 58# Copy pam-webserver to etc/pam.d 59install_data( 60 'pam-webserver', 61 install_dir: '/etc/pam.d/', 62 rename: 'webserver', 63) 64