{"record":{"id":"11d0cf73832a9e0d","repo":"sqlmapproject/sqlmap","slug":"tls-compression-is-not-permitted-for-http-2","errorCode":null,"errorMessage":"TLS compression is not permitted for HTTP/2","messagePattern":"TLS compression is not permitted for HTTP/2","errorType":"exception","errorClass":"H2Error","httpStatus":null,"severity":"error","filePath":"lib/request/http2.py","lineNumber":949,"sourceCode":"            except (OSError, socket.error):\n                pass\n            self.sock = context.wrap_socket(raw, server_hostname=self.host)\n        except Exception:\n            try:\n                raw.close()\n            except Exception:\n                pass\n            raise\n        try:\n            selected = getattr(self.sock, \"selected_alpn_protocol\", lambda: None)()\n            if selected != \"h2\":\n                raise H2Error(\"server did not negotiate h2 (ALPN=%r)\" % selected)\n            tls_version = getattr(self.sock, \"version\", lambda: None)()\n            if tls_version not in (\"TLSv1.2\", \"TLSv1.3\"):\n                raise H2Error(\"HTTP/2 requires TLS 1.2 or newer (negotiated %r)\" % tls_version)\n            compression = getattr(self.sock, \"compression\", lambda: None)()\n            if compression is not None:\n                raise H2Error(\"TLS compression is not permitted for HTTP/2\")\n            self.sock.settimeout(timeout)\n            settings_payload = struct.pack(\n                \"!HIHIHI\",\n                SETTINGS_ENABLE_PUSH, 0,\n                SETTINGS_INITIAL_WINDOW_SIZE, LOCAL_INITIAL_WINDOW,\n                SETTINGS_MAX_HEADER_LIST_SIZE, MAX_HEADER_LIST_SIZE,\n            )\n            self.sock.sendall(CONNECTION_PREFACE + encode_frame(SETTINGS, 0, 0, settings_payload))\n            self.sock.sendall(encode_frame(\n                WINDOW_UPDATE, 0, 0, struct.pack(\"!I\", LOCAL_INITIAL_WINDOW - DEFAULT_WINDOW)\n            ))\n            self._receive_initial_settings()\n        except Exception:\n            self.close()\n            raise\n\n    def close(self):\n        self.usable = False","sourceCodeStart":931,"sourceCodeEnd":967,"githubUrl":"https://github.com/sqlmapproject/sqlmap/blob/0a35b20e3953d341be6c7ac75ccb0b3362540c8d/lib/request/http2.py#L931-L967","documentation":"Error \"TLS compression is not permitted for HTTP/2\" thrown in sqlmapproject/sqlmap.","triggerScenarios":"Thrown at lib/request/http2.py:949 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"0a35b20e3953d341be6c7ac75ccb0b3362540c8d","analyzedAt":"2026-08-26T23:02:52.002Z","schemaVersion":2},"datasetVersion":"2026-08-27T03:17:27.898Z"}