{"author":"Stefan Eissing","author_email":"stefan@eissing.org","author_time":1749710720,"commit_time":1749767526,"committer":"Viktor Szakats","committer_email":"commit@vsz.me","hash":"1cdac95e2e1022c298c1e4e551c7e8b5bd8fd5df","message":"openssl: fix handling of buffered data\n\n`SSL_pending()` only checks if the *current* TLS packet has more data.\nThere might be more data in SSL's buffers.\n\n`SSL_has_pending()` only checks if there is data in buffers, but does\n*not* check if there is a complete TLS packet that can be decoded.\n\nIf we only check the first, we will poll on socket events without having\nprocessed all data and may stall. If we only check the second, we would\nbusy loop without SSL_read() ever giving something.\n\nAdd the flag `connssl->input_pending` that is set on incoming data in\nthe BIO receive. Clear the flag when encountering a CURLE_AGAIN on\nthe filters receive (via SSL_read()) or see an EOF.\n\nRef: #17596\nCloses #17601\n","parents":["cbc062a7b82ce3f58617290b579a526176dd3932"],"tree_hash":"aee8ffeb4883a89850af357867a5bc4a3c336d92"}