[
https://issues.apache.org/jira/browse/THRIFT-3961?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15655343#comment-15655343
]
ASF GitHub Bot commented on THRIFT-3961:
----------------------------------------
Github user jeking3 commented on a diff in the pull request:
https://github.com/apache/thrift/pull/1125#discussion_r87498574
--- Diff: lib/cpp/src/thrift/server/TConnectedClient.cpp ---
@@ -86,7 +86,8 @@ void TConnectedClient::run() {
} catch (const TException& tex) {
--- End diff --
Just wondering, is catching TException enough here or should we catch
std::exception here instead?
> TConnectedClient does not terminate the connection to the client if an
> exception while processing the received message occures.
> -------------------------------------------------------------------------------------------------------------------------------
>
> Key: THRIFT-3961
> URL: https://issues.apache.org/jira/browse/THRIFT-3961
> Project: Thrift
> Issue Type: Bug
> Components: C++ - Library
> Affects Versions: 0.9.3
> Reporter: Claudius Heine
>
> The server should disconnect from the client, if the client sends invalid
> messages to the server instead of throwing exception for every byte.
> {code}
> $ bin/TestServer --protocol=json --transport=http --server-type=thread-pool
> --port=9080
> Starting "thread-pool" server (http/json) listen on: 9080
> Thrift: Tue Nov 8 15:10:53 2016 TConnectedClient processing exception:
> Expected '['; got '1'.
> Thrift: Tue Nov 8 15:10:53 2016 TConnectedClient processing exception:
> Expected '['; got '2'.
> Thrift: Tue Nov 8 15:10:53 2016 TConnectedClient processing exception:
> Expected '['; got '3'.
> Thrift: Tue Nov 8 15:10:53 2016 TConnectedClient processing exception:
> Expected '['; got '4'.
> Thrift: Tue Nov 8 15:10:53 2016 TConnectedClient processing exception:
> Expected '['; got '5'.
> Thrift: Tue Nov 8 15:10:53 2016 TConnectedClient processing exception:
> Expected '['; got '6'.
> Thrift: Tue Nov 8 15:10:53 2016 TConnectedClient processing exception:
> Expected '['; got '7'.
> Thrift: Tue Nov 8 15:10:53 2016 TConnectedClient processing exception:
> Expected '['; got '8'.
> Thrift: Tue Nov 8 15:10:53 2016 TConnectedClient processing exception:
> Expected '['; got '9'.
> Thrift: Tue Nov 8 15:10:53 2016 TConnectedClient processing exception:
> Expected '['; got '0'.
> {code}
> when sending
> {code}
> $ curl --data "1234567890" http://localhost:9080
> {code}
> This behavior can easily be abused to DOS attack the server, by sending
> massive amounts of garbage to it.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)