{
    "module": "network",
    "depends": [
        "core"
    ],
    "testDir": "../../config.tests",

    "commandline": {
        "assignments": {
            "OPENSSL_PATH": "openssl.prefix"
        },
        "options": {
            "libproxy": "boolean",
            "openssl": { "type": "optionalString", "values": [ "no", "yes", "linked", "runtime" ] },
            "openssl-linked": { "type": "void", "name": "openssl", "value": "linked" },
            "openssl-runtime": { "type": "void", "name": "openssl", "value": "runtime" },
            "dtls": "boolean",
            "ocsp": "boolean",
            "sctp": "boolean",
            "securetransport": "boolean",
            "schannel": "boolean",
            "ssl": "boolean",
            "system-proxies": "boolean"
        }
    },

    "libraries": {
        "corewlan": {
            "label": "CoreWLan",
            "export": "",
            "test": {
                "lang": "objc++",
                "include": [ "CoreWLAN/CoreWLAN.h", "CoreWLAN/CWInterface.h" ],
                "main": "[CWInterface interfaceWithName:@\"en2\"];"
            },
            "sources": [
                "-framework CoreWLAN -framework Foundation"
            ]
        },
        "network": {
            "sources": [
                { "type": "makeSpec", "spec": "NETWORK" }
            ]
        },
        "libproxy": {
            "label": "libproxy",
            "test": {
                "main": [
                    "pxProxyFactory *factory = px_proxy_factory_new();",
                    "px_proxy_factory_get_proxies(factory, \"http://qt-project.org\");",
                    "px_proxy_factory_free(factory);"
                ]
            },
            "headers": "proxy.h",
            "sources": [
                "-lproxy"
            ]
        },
        "openssl_headers": {
            "label": "OpenSSL Headers",
            "export": "openssl",
            "test": {
                "tail": [
                    "#if !defined(OPENSSL_VERSION_NUMBER) || OPENSSL_VERSION_NUMBER-0 < 0x10101000L",
                    "#  error OpenSSL >= 1.1.1 is required",
                    "#endif",
                    "#if !defined(OPENSSL_NO_EC) && !defined(SSL_CTRL_SET_CURVES)",
                    "#  error OpenSSL was reported as >= 1.1.1 but is missing required features, possibly it's libressl which is unsupported",
                    "#endif"
                ]
            },
            "headers": [ "openssl/ssl.h", "openssl/opensslv.h" ],
            "sources": [
                {
                    "comment": "placeholder for OPENSSL_PATH",
                    "libs": ""
                }
            ]
        },
        "openssl": {
            "label": "OpenSSL",
            "test": {
                "inherit": "openssl_headers",
                "main": "SSL_free(SSL_new(0));"
            },
            "sources": [
                { "type": "openssl" },
                {
                    "libs": "-lssleay32 -llibeay32 -lUser32 -lWs2_32 -lAdvapi32 -lGdi32",
                    "condition": "config.win32"
                },
                {
                    "libs": "-llibssl -llibcrypto -lUser32 -lWs2_32 -lAdvapi32 -lCrypt32",
                    "condition": "config.msvc"
                },
                {
                    "libs": "-lssl_arm64-v8a -lcrypto_arm64-v8a",
                    "condition": "config.android"
                },
                {
                    "libs": "-lssl -lcrypto",
                    "condition": "!config.msvc"
                }
            ]
        },
        "gssapi": {
            "label": "KRB5 GSSAPI Support",
            "test": {
                "head": [
                    "#if defined(__APPLE__) && (defined(__GNUC__) || defined(__xlC__) || defined(__xlc__))",
                    "#  include <TargetConditionals.h>",
                    "#  if defined(TARGET_OS_MAC) && TARGET_OS_MAC",
                    "#    include <GSS/GSS.h>",
                    "#  endif",
                    "#else",
                    "#  include <gssapi/gssapi.h>",
                    "#endif"
                ],
                "main": [
                  "gss_ctx_id_t ctx;",
                  "gss_context_time(nullptr, ctx, nullptr);"
                ]
            },
            "sources": [
                { "libs": "-framework GSS", "condition": "config.darwin" },
                { "type": "pkgConfig", "args": "krb5-gssapi" },
                "-lgssapi_krb5"
            ]
        }
    },

    "tests": {
        "getifaddrs": {
            "label": "getifaddrs()",
            "type": "compile",
            "test": {
                "include": [ "sys/types.h", "sys/socket.h", "net/if.h", "ifaddrs.h" ],
                "main": [
                    "ifaddrs *list;",
                    "getifaddrs(&list);",
                    "freeifaddrs(list);"
                ]
            },
            "use": "network"
        },
        "ipv6ifname": {
            "label": "IPv6 ifname",
            "type": "compile",
            "test": {
                "include": [ "sys/types.h", "sys/socket.h", "net/if.h" ],
                "main": [
                    "char buf[IFNAMSIZ];",
                    "if_nametoindex(\"eth0\");",
                    "if_indextoname(1, buf);",
                    "if_freenameindex(if_nameindex());"
                ]
            },
            "use": "network"
        },
        "linux-netlink": {
            "label": "Linux AF_NETLINK sockets",
            "type": "compile",
            "test": {
                "include": [ "asm/types.h", "linux/netlink.h", "linux/rtnetlink.h", "sys/socket.h" ],
                "main": [
                    "struct rtattr rta = { };",
                    "struct ifinfomsg ifi = {};",
                    "struct ifaddrmsg ifa = {};",
                    "struct ifa_cacheinfo ci;",
                    "ci.ifa_prefered = ci.ifa_valid = 0;",
                    "(void)RTM_NEWLINK; (void)RTM_NEWADDR;",
                    "(void)IFLA_ADDRESS; (void)IFLA_IFNAME;",
                    "(void)IFA_ADDRESS; (void)IFA_LABEL; (void)IFA_CACHEINFO;",
                    "(void)(IFA_F_SECONDARY | IFA_F_DEPRECATED | IFA_F_PERMANENT | IFA_F_MANAGETEMPADDR);"
                ]
            }
        },
        "sctp": {
            "label": "SCTP support",
            "type": "compile",
            "test": {
                "include": [ "sys/types.h", "sys/socket.h", "netinet/in.h", "netinet/sctp.h" ],
                "main": [
                    "sctp_initmsg sctpInitMsg;",
                    "socklen_t sctpInitMsgSize = sizeof(sctpInitMsg);",
                    "(void) socket(PF_INET, SOCK_STREAM, IPPROTO_SCTP);",
                    "(void) getsockopt(-1, SOL_SCTP, SCTP_INITMSG, &sctpInitMsg, &sctpInitMsgSize);"
                ]
            },
            "use": "network"
        },
        "dtls": {
            "label": "DTLS support in OpenSSL",
            "type": "compile",
            "test": {
                "include": "openssl/ssl.h",
                "tail": [
                    "#if defined(OPENSSL_NO_DTLS) || !defined(DTLS1_2_VERSION)",
                    "#  error OpenSSL without DTLS support",
                    "#endif"
                ]
            },
            "use": "openssl"
        },
        "ocsp": {
            "label": "OCSP stapling support in OpenSSL",
            "type": "compile",
            "test": {
                "include": ["openssl/ssl.h", "openssl/ocsp.h"],
                "tail": [
                    "#if defined(OPENSSL_NO_OCSP) || defined(OPENSSL_NO_TLSEXT)",
                    "#  error OpenSSL without OCSP stapling",
                    "#endif"
                ]
            },
            "use": "openssl"
        },
        "netlistmgr": {
            "label": "Network List Manager",
            "type": "compile",
            "test": {
                "include": [ "netlistmgr.h", "wrl/client.h" ],
                "main": [
                    "using namespace Microsoft::WRL;",
                    "ComPtr<INetworkListManager> networkListManager;",
                    "ComPtr<IConnectionPoint> connectionPoint;",
                    "ComPtr<IConnectionPointContainer> connectionPointContainer;",
                    "networkListManager.As(&connectionPointContainer);",
                    "connectionPointContainer->FindConnectionPoint(IID_INetworkConnectionEvents, &connectionPoint);"
                ],
                "qmake": "LIBS += -lOle32"
            }
        }
    },

    "features": {
        "corewlan": {
            "label": "CoreWLan",
            "condition": "libs.corewlan",
            "emitIf": "config.darwin",
            "output": [ "feature", "privateFeature" ]
        },
        "getifaddrs": {
            "label": "getifaddrs()",
            "condition": "tests.getifaddrs",
            "output": [ "feature" ]
        },
        "ipv6ifname": {
            "label": "IPv6 ifname",
            "condition": "tests.ipv6ifname",
            "output": [ "feature" ]
        },
        "libproxy": {
            "label": "libproxy",
            "autoDetect": false,
            "condition": "libs.libproxy",
            "output": [ "privateFeature" ]
        },
        "linux-netlink": {
            "label": "Linux AF_NETLINK",
            "condition": "config.linux && tests.linux-netlink",
            "output": [ "privateFeature" ]
        },
        "openssl": {
            "label": "OpenSSL",
            "enable": "false",
            "condition": "features.openssl-runtime || features.openssl-linked",
            "output": [
                "privateFeature",
                { "type": "publicQtConfig", "condition": "!features.openssl-linked" },
                { "type": "define", "negative": true, "name": "QT_NO_OPENSSL" }
            ]
        },
        "openssl-runtime": {
            "autoDetect": "!config.winrt && !config.wasm",
            "enable": "input.openssl == 'yes' || input.openssl == 'runtime'",
            "disable": "input.openssl == 'no' || input.openssl == 'linked' || input.ssl == 'no'",
            "condition": "!features.securetransport && !features.schannel && libs.openssl_headers"
        },
        "openssl-linked": {
            "label": "  Qt directly linked to OpenSSL",
            "autoDetect": false,
            "enable": "input.openssl == 'linked'",
            "condition": "!features.securetransport && !features.schannel && libs.openssl",
            "output": [
                "privateFeature",
                { "type": "define", "name": "QT_LINKED_OPENSSL" }
            ]
        },
        "securetransport": {
            "label": "SecureTransport",
            "disable": "input.securetransport == 'no' || input.ssl == 'no'",
            "condition": "config.darwin && (input.openssl == '' || input.openssl == 'no')",
            "output": [
                "publicFeature",
                { "type": "define", "name": "QT_SECURETRANSPORT" }
            ]
        },
        "schannel": {
            "label": "Schannel",
            "disable": "input.schannel == 'no' || input.ssl == 'no'",
            "condition": "input.schannel == 'yes' && config.win32 && !config.winrt && (input.openssl == '' || input.openssl == 'no')",
            "output": [
                "publicFeature",
                { "type": "define", "name": "QT_SCHANNEL" }
            ]
        },
        "ssl": {
            "label": "SSL",
            "condition": "config.winrt || features.securetransport || features.openssl || features.schannel",
            "output": [ "publicFeature", "feature" ]
        },
        "dtls": {
            "label": "DTLS",
            "purpose": "Provides a DTLS implementation",
            "section": "Networking",
            "condition": "features.openssl && features.udpsocket && tests.dtls",
            "output": [ "publicFeature" ]
        },
        "ocsp": {
            "label": "OCSP-stapling",
            "purpose": "Provides OCSP stapling support",
            "section": "Networking",
            "condition": "features.opensslv11 && tests.ocsp",
            "output": [ "publicFeature" ]
        },
        "opensslv11": {
            "label": "OpenSSL 1.1",
            "condition": "features.openssl",
            "output": [ "publicFeature" ]
        },
        "sctp": {
            "label": "SCTP",
            "autoDetect": false,
            "condition": "tests.sctp",
            "output": [ "publicFeature", "feature" ]
        },
        "system-proxies": {
            "label": "Use system proxies",
            "output": [ "privateFeature" ]
        },
        "ftp": {
            "label": "FTP",
            "purpose": "Provides support for the File Transfer Protocol in QNetworkAccessManager.",
            "section": "Networking",
            "condition": "features.textdate",
            "output": [ "publicFeature", "feature" ]
        },
        "http": {
            "label": "HTTP",
            "purpose": "Provides support for the Hypertext Transfer Protocol in QNetworkAccessManager.",
            "section": "Networking",
            "condition": "features.thread",
            "output": [ "publicFeature", "feature" ]
        },
        "udpsocket": {
            "label": "QUdpSocket",
            "purpose": "Provides access to UDP sockets.",
            "section": "Networking",
            "output": [ "publicFeature", "feature" ]
        },
        "networkproxy": {
            "label": "QNetworkProxy",
            "purpose": "Provides network proxy support.",
            "section": "Networking",
            "output": [ "publicFeature", "feature" ]
        },
        "socks5": {
            "label": "SOCKS5",
            "purpose": "Provides SOCKS5 support in QNetworkProxy.",
            "section": "Networking",
            "condition": "features.networkproxy",
            "output": [ "publicFeature", "feature" ]
        },
        "networkinterface": {
            "label": "QNetworkInterface",
            "purpose": "Supports enumerating a host's IP addresses and network interfaces.",
            "condition": "!config.wasm",
            "section": "Networking",
            "output": [ "publicFeature", "feature" ]
        },
        "networkdiskcache": {
            "label": "QNetworkDiskCache",
            "purpose": "Provides a disk cache for network resources.",
            "section": "Networking",
            "condition": "features.temporaryfile",
            "output": [ "publicFeature", "feature" ]
        },
        "bearermanagement": {
            "label": "Bearer management (deprecated)",
            "purpose": "Provides bearer management for the network stack.",
            "section": "Networking",
            "condition": "features.thread && features.library && features.networkinterface && features.properties",
            "output": [
                "publicFeature",
                "feature",
                { "type": "define", "negative": true, "name": "QT_NO_BEARERMANAGEMENT" }
            ]
        },
        "localserver": {
            "label": "QLocalServer",
            "purpose": "Provides a local socket based server.",
            "section": "Networking",
            "condition": "features.temporaryfile",
            "output": [ "publicFeature", "feature" ]
        },
        "dnslookup": {
            "label": "QDnsLookup",
            "purpose": "Provides API for DNS lookups.",
            "section": "Networking",
            "output": [ "publicFeature" ]
        },
        "gssapi": {
            "label": "GSSAPI",
            "purpose": "Enable SPNEGO authentication through GSSAPI",
            "section": "Networking",
            "condition": "!config.win32 && libs.gssapi",
            "output": [ "publicFeature", "feature" ]
        },
        "sspi": {
            "label": "SSPI",
            "purpose": "Enable NTLM/SPNEGO authentication through SSPI",
            "section": "Networking",
            "condition": "config.win32 && !config.winrt",
            "output": [ "publicFeature", "feature" ]
        },
        "netlistmgr": {
            "label": "Network List Manager",
            "purpose": "Use Network List Manager to keep track of network connectivity",
            "section": "Networking",
            "condition": "config.win32 && tests.netlistmgr",
            "output": [ "privateFeature" ]
        }
    },

    "report": [
        {
            "type": "note",
            "condition": "!config.android && features.openssl-linked && libs.openssl.source != 0
                          && input.openssl.prefix == '' && input.openssl.libs == '' && input.openssl.libs.debug == ''",
            "message": "When linking against OpenSSL, you can override the default
library names through OPENSSL_LIBS.
For example:
    OPENSSL_LIBS='-L/opt/ssl/lib -lssl -lcrypto' ./configure -openssl-linked"
        },
        {
            "type": "warning",
            "condition": "features.libproxy && input.qt_namespace == ''",
            "message": "Some of libproxy's plugins may use incompatible Qt versions.

    Some platforms and distributions ship libproxy with plugins, such
    as config_kde4.so, that are linked against old versions of Qt; and
    libproxy loads these plugins automatically when initialized. If Qt
    is not in a namespace, that loading causes a crash. Even if the
    systems on which you build and test have no such plugins, your
    users' systems may have them. We therefore recommend that you
    combine -libproxy with -qtnamespace when configuring Qt."
        }
    ],

    "summary": [
        {
            "section": "Qt Network",
            "entries": [
                {
                    "type": "feature",
                    "args": "corewlan",
                    "condition": "config.darwin"
                },
                "getifaddrs", "ipv6ifname", "libproxy",
                {
                    "type": "feature",
                    "args": "linux-netlink",
                    "condition": "config.linux"
                },
                {
                    "type": "feature",
                    "args": "securetransport",
                    "condition": "config.darwin"
                },
                {
                    "type": "feature",
                    "args": "schannel",
                    "condition": "config.win32 && !config.winrt"
                },
                "openssl",
                "openssl-linked",
                "opensslv11",
                "dtls",
                "ocsp",
                "sctp",
                "system-proxies",
                "gssapi"
            ]
        }
    ]
}
