[ 
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)

Reply via email to