sqlmapproject/sqlmap · error · H2Error

this Python/OpenSSL build does not support ALPN

Error message

this Python/OpenSSL build does not support ALPN

What it means

Error "this Python/OpenSSL build does not support ALPN" thrown in sqlmapproject/sqlmap.

Source

Thrown at lib/request/http2.py:662

                context = creator()
            else:
                context = ssl.SSLContext(ssl.PROTOCOL_SSLv23)
                context.verify_mode = ssl.CERT_NONE
    tls_version = getattr(ssl, "TLSVersion", None)
    if tls_version is not None and hasattr(context, "minimum_version"):
        if context.minimum_version < tls_version.TLSv1_2:
            context.minimum_version = tls_version.TLSv1_2
    else:
        for option_name in ("OP_NO_SSLv2", "OP_NO_SSLv3", "OP_NO_TLSv1", "OP_NO_TLSv1_1"):
            option = getattr(ssl, option_name, 0)
            if option:
                context.options |= option
    no_compression = getattr(ssl, "OP_NO_COMPRESSION", 0)
    if no_compression:
        context.options |= no_compression
    setter = getattr(context, "set_alpn_protocols", None)
    if setter is None:
        raise H2Error("this Python/OpenSSL build does not support ALPN")
    setter(["h2"])
    return context


def _iter_header_items(headers):
    if headers is None:
        return []
    if hasattr(headers, "items"):
        return list(headers.items())
    return list(headers)


def _validate_regular_name(name):
    if not name or name.startswith(b":"):
        raise H2ProtocolError("invalid regular field name")
    for item in bytearray(name):
        if item not in _TOKEN_BYTES:
            raise H2ProtocolError("invalid HTTP field name %r" % name)

View on GitHub (pinned to 0a35b20e39)

When it happens

Trigger: Thrown at lib/request/http2.py:662 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of sqlmapproject/sqlmap@0a35b20e39 (2026-08-26). Data as JSON: /api/errors/1b2463b99874ea14. Report an issue: GitHub.