menu "Example Configuration"

    config EXAMPLE_WIFI_SSID
        string "WiFi SSID"
        default "ESP_ENTERPRISE_AP"
        help
            SSID (network name) for the example to connect to.

    choice
        prompt "Enterprise configuration to be used"
        default EXAMPLE_WPA3_ENTERPRISE
        config EXAMPLE_WPA2_ENTERPRISE
            bool "WPA2_ENT"
        config EXAMPLE_WPA3_ENTERPRISE
            bool "WPA3_ENT"
        config EXAMPLE_WPA3_192BIT_ENTERPRISE
            bool "WPA3_192BIT_ENT"
            depends on SOC_WIFI_GCMP_SUPPORT
            select ESP_WIFI_GCMP_SUPPORT
            select ESP_WIFI_GMAC_SUPPORT
            select ESP_WIFI_SUITE_B_192
    endchoice

    if EXAMPLE_WPA2_ENTERPRISE
        config EXAMPLE_VALIDATE_SERVER_CERT
            bool "Validate server"
            default y
            help
                Validate the servers' certificate using CA cert.
    endif

    if !EXAMPLE_WPA2_ENTERPRISE
        config EXAMPLE_VALIDATE_SERVER_CERT
            bool
            default y
    endif

    choice
        prompt "EAP method for the example to use"
        default EXAMPLE_EAP_METHOD_TLS
        config EXAMPLE_EAP_METHOD_TLS
            bool "TLS"
        config EXAMPLE_EAP_METHOD_PEAP
            bool "PEAP"
        config EXAMPLE_EAP_METHOD_TTLS
            bool "TTLS"
    endchoice

    config EXAMPLE_EAP_METHOD
        int
        default 0 if EXAMPLE_EAP_METHOD_TLS
        default 1 if EXAMPLE_EAP_METHOD_PEAP
        default 2 if EXAMPLE_EAP_METHOD_TTLS

    choice
        prompt "Phase2 method for TTLS"
        depends on EXAMPLE_EAP_METHOD_TTLS
        default EXAMPLE_EAP_METHOD_TTLS_PHASE2_MSCHAPV2
        config EXAMPLE_EAP_METHOD_TTLS_PHASE2_MSCHAPV2
            bool "MSCHAPV2"
        config EXAMPLE_EAP_METHOD_TTLS_PHASE2_MSCHAP
            bool "MSCHAP"
        config EXAMPLE_EAP_METHOD_TTLS_PHASE2_PAP
            bool "PAP"
        config EXAMPLE_EAP_METHOD_TTLS_PHASE2_CHAP
            bool "CHAP"
    endchoice

    config EXAMPLE_EAP_METHOD_TTLS_PHASE_2
        int
        default 1 if EXAMPLE_EAP_METHOD_TTLS_PHASE2_MSCHAPV2
        default 2 if EXAMPLE_EAP_METHOD_TTLS_PHASE2_MSCHAP
        default 3 if EXAMPLE_EAP_METHOD_TTLS_PHASE2_PAP
        default 4 if EXAMPLE_EAP_METHOD_TTLS_PHASE2_CHAP

    config EXAMPLE_EAP_ID
        string "EAP ID"
        default "example@espressif.com"
        help
            Identity in phase 1 of EAP procedure.

    config EXAMPLE_EAP_USERNAME
        string "EAP USERNAME"
        depends on EXAMPLE_EAP_METHOD_PEAP || EXAMPLE_EAP_METHOD_TTLS
        default "espressif"
        help
            Username for EAP method (valid for PEAP and TTLS).

    config EXAMPLE_EAP_PASSWORD
        string "EAP PASSWORD"
        depends on EXAMPLE_EAP_METHOD_PEAP || EXAMPLE_EAP_METHOD_TTLS
        default "test11"
        help
            Password for EAP method (valid for PEAP and TTLS).

    config EXAMPLE_USE_DEFAULT_CERT_BUNDLE
        bool "Use default cert bundle"
        depends on EXAMPLE_VALIDATE_SERVER_CERT
        default n
        help
            Use default CA certificate bundle for WiFi enterprise connection

    config EXAMPLE_VALIDATE_SERVER_CERT_DOMAIN
        bool "Enable server certificate domain validation"
        depends on EXAMPLE_VALIDATE_SERVER_CERT
        default n
        help
            Enable validation of the server certificate's domain name.

    config EXAMPLE_SERVER_CERT_DOMAIN
        string "Expected server certificate domain"
        depends on EXAMPLE_VALIDATE_SERVER_CERT_DOMAIN
        default "espressif.com"
        help
            Specify the expected domain name for the server certificate.
            The connection will be accepted only if the server certificate matches this domain.
endmenu
