sqlmapproject/sqlmap · error · OperationalError

Firebird connection rejected

Error message

Firebird connection rejected

What it means

Error "Firebird connection rejected" thrown in sqlmapproject/sqlmap.

Source

Thrown at extra/dbwire/firebird.py:799

    except Exception as ex:
        wire.close()
        raise OperationalError("Firebird login failed (%s)" % ex)
    return connection

def _unhex(s):
    return bytes(bytearray(int(s[i:i + 2], 16) for i in range(0, len(s), 2)))

def _normalize_user(user):
    if len(user) >= 2 and user[0] == '"' and user[-1] == '"':
        return user[1:-1].replace('""', '"')
    return user.upper()

def _authenticate(wire, user, password, public_key, private_key):
    op = wire.recv_int()
    while op == _op_dummy:
        op = wire.recv_int()
    if op == _op_reject:
        raise OperationalError("Firebird connection rejected")
    if op == _op_response:
        _parse_response(wire)  # will raise the server error
        raise OperationalError("Firebird connection rejected")

    wire.recv(12)  # accept block: protocol version / architecture / type (not needed once lazy-send is off)
    if op == _op_accept:
        return b""  # plaintext, no encryption negotiated

    data = wire.recv_bytes()
    plugin_name = wire.recv_bytes()
    wire.recv_int()          # is_authenticated
    wire.recv_bytes()        # keys
    if plugin_name not in (b"Srp256", b"Srp"):
        raise NotSupportedError("unsupported Firebird auth plugin %r" % plugin_name)
    if not data:
        raise OperationalError("Firebird server sent no SRP challenge")

    salt_len = _le(data[:2])

View on GitHub (pinned to 0a35b20e39)

When it happens

Trigger: Thrown at extra/dbwire/firebird.py:799 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/73f4ab2cf13625e9. Report an issue: GitHub.