[jira] [Commented] (THRIFT-4678) add noexcept cpp generator option
[ https://issues.apache.org/jira/browse/THRIFT-4678?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16726298#comment-16726298 ] yuanyuan chen commented on THRIFT-4678: --- Good job 发自我的 iPhone > add noexcept cpp generator option > - > > Key: THRIFT-4678 > URL: https://issues.apache.org/jira/browse/THRIFT-4678 > Project: Thrift > Issue Type: Improvement > Components: C++ - Compiler, C++ - Library >Affects Versions: 0.11.0 >Reporter: yuanyuan chen >Priority: Minor > > The C++11 standard has deprecated the usage of throw() to express > exceptions,so to avoid warnings from the compiler,I think this option is > useful. > I have a pull request in github,this issue is created to track it. > Some questions remain: > 1.Should we change the runtime c++ library to use BOOST_NOEXCEPT_OR_NOTHROW? > 2.Should we add an control option to enable all c++11 options like > moveable_types .etc? > 3.Should we begin to support C+17 features? I think std::optional should be > used to implement optional keyword,but this is clearly an API breaking > change,so we need an c+17 control option. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (THRIFT-4678) add noexcept cpp generator option
[ https://issues.apache.org/jira/browse/THRIFT-4678?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16726234#comment-16726234 ] Randy Abernethy commented on THRIFT-4678: - Big +1 for removing all dependencies on boost. Love boost but given all of the possible environments people might want to use Thrift in and how fundamental a utility it is for people, I think we should aggressively, across the board, keep deps to a min. Thrift should work with boost but not require it. The one problem area is tests. Our C++ solution right now is boost/test and it is probably best to leave it in place but of course this does not impact the runtime lib or sources. > add noexcept cpp generator option > - > > Key: THRIFT-4678 > URL: https://issues.apache.org/jira/browse/THRIFT-4678 > Project: Thrift > Issue Type: Improvement > Components: C++ - Compiler, C++ - Library >Affects Versions: 0.11.0 >Reporter: yuanyuan chen >Priority: Minor > > The C++11 standard has deprecated the usage of throw() to express > exceptions,so to avoid warnings from the compiler,I think this option is > useful. > I have a pull request in github,this issue is created to track it. > Some questions remain: > 1.Should we change the runtime c++ library to use BOOST_NOEXCEPT_OR_NOTHROW? > 2.Should we add an control option to enable all c++11 options like > moveable_types .etc? > 3.Should we begin to support C+17 features? I think std::optional should be > used to implement optional keyword,but this is clearly an API breaking > change,so we need an c+17 control option. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (THRIFT-4683) Add a port scan feature test
James E. King III created THRIFT-4683: - Summary: Add a port scan feature test Key: THRIFT-4683 URL: https://issues.apache.org/jira/browse/THRIFT-4683 Project: Thrift Issue Type: Test Components: Test Suite Affects Versions: 0.11.0, 0.12.0 Reporter: James E. King III Port scans are common. The servers should not crash when one occurs. Add a feature test to run a port scan against a server to make sure it doesn't end badly. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (THRIFT-4678) add noexcept cpp generator option
[ https://issues.apache.org/jira/browse/THRIFT-4678?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16725941#comment-16725941 ] James E. King III commented on THRIFT-4678: --- I am already working on the 0.12.0 release, there is a release candidate which was advertised on the mailing list yesterday. Don't worry about 0.12.0, it's almost out. > add noexcept cpp generator option > - > > Key: THRIFT-4678 > URL: https://issues.apache.org/jira/browse/THRIFT-4678 > Project: Thrift > Issue Type: Improvement > Components: C++ - Compiler, C++ - Library >Affects Versions: 0.11.0 >Reporter: yuanyuan chen >Priority: Minor > > The C++11 standard has deprecated the usage of throw() to express > exceptions,so to avoid warnings from the compiler,I think this option is > useful. > I have a pull request in github,this issue is created to track it. > Some questions remain: > 1.Should we change the runtime c++ library to use BOOST_NOEXCEPT_OR_NOTHROW? > 2.Should we add an control option to enable all c++11 options like > moveable_types .etc? > 3.Should we begin to support C+17 features? I think std::optional should be > used to implement optional keyword,but this is clearly an API breaking > change,so we need an c+17 control option. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (THRIFT-4682) C++ TBinaryProtocol crashes on port scan
[ https://issues.apache.org/jira/browse/THRIFT-4682?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16725945#comment-16725945 ] James E. King III commented on THRIFT-4682: --- Please submit a pull request to the GitHub project, if possible. Additionally, I will add a backlog item to have a crosstest feature test to run a portscan against each server. > C++ TBinaryProtocol crashes on port scan > > > Key: THRIFT-4682 > URL: https://issues.apache.org/jira/browse/THRIFT-4682 > Project: Thrift > Issue Type: Bug > Components: C++ - Library >Affects Versions: 0.10.0, 0.11.0 >Reporter: Michael Patrick >Priority: Major > Attachments: TBinaryProtocolKiller.py, THRIFT-4682.diff > > > I'm afraid I don't have the expertise or time to submit a formal Git pull > request and test cases, but I feel it's important for the Thrift community to > be aware of a serious Denial of Service (DOS) attack vulnerability involving > TBinaryProtocol. > A commercial port scanner application crashed all C++ Thrift server processes > we had listening for TBinaryProcol connections. Investigation showed it was > due to an assert verifying the initial packet length. Crashing the server > was as easy as sending an initial 4 bytes of zeroes after the client opens > the socket. I'm attaching a "TBinaryProtocolKiller.py" script that will > kill all C++ ThriftBinaryProtocol servers on an arbitrary IPv4 address within > a provided port range. The script can be used to verify the fix. This > problem does not occur in the Python BinaryProtocol server; I don't know > about other languages. The problem is present in 0.10.0 and 0.11.0, and I > don't know about earlier releases. > My recommended patch is to simply change the assert to a regular error > check, as shown below. > {code:java} > Index: lib/cpp/src/thrift/server/TNonblockingServer.cpp > === > --- lib/cpp/src/thrift/server/TNonblockingServer.cpp (revision 75217) > +++ lib/cpp/src/thrift/server/TNonblockingServer.cpp (working copy) > @@ -473,8 +473,13 @@ > return; > case SOCKET_RECV: > - // It is an error to be in this state if we already have all the data > - assert(readBufferPos_ < readWant_); > + if (!(readBufferPos_ < readWant_)) { > + GlobalOutput.printf("TNonblockingServer: frame size too short from client > %s", > + tSocket_->getSocketInfo().c_str()); > + close(); > + return; > + } > try { > // Read from the socket{code} -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (THRIFT-4678) add noexcept cpp generator option
[ https://issues.apache.org/jira/browse/THRIFT-4678?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16725933#comment-16725933 ] yuanyuan chen commented on THRIFT-4678: --- IMO,we should have a new release to fix those commits since 2017, then we could talk about whether to increase the major version for breaking API. 发自我的 iPhone > add noexcept cpp generator option > - > > Key: THRIFT-4678 > URL: https://issues.apache.org/jira/browse/THRIFT-4678 > Project: Thrift > Issue Type: Improvement > Components: C++ - Compiler, C++ - Library >Affects Versions: 0.11.0 >Reporter: yuanyuan chen >Priority: Minor > > The C++11 standard has deprecated the usage of throw() to express > exceptions,so to avoid warnings from the compiler,I think this option is > useful. > I have a pull request in github,this issue is created to track it. > Some questions remain: > 1.Should we change the runtime c++ library to use BOOST_NOEXCEPT_OR_NOTHROW? > 2.Should we add an control option to enable all c++11 options like > moveable_types .etc? > 3.Should we begin to support C+17 features? I think std::optional should be > used to implement optional keyword,but this is clearly an API breaking > change,so we need an c+17 control option. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (THRIFT-4678) add noexcept cpp generator option
[ https://issues.apache.org/jira/browse/THRIFT-4678?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16725932#comment-16725932 ] yuanyuan chen commented on THRIFT-4678: --- But at least it is time to release a new version. 发自我的 iPhone > add noexcept cpp generator option > - > > Key: THRIFT-4678 > URL: https://issues.apache.org/jira/browse/THRIFT-4678 > Project: Thrift > Issue Type: Improvement > Components: C++ - Compiler, C++ - Library >Affects Versions: 0.11.0 >Reporter: yuanyuan chen >Priority: Minor > > The C++11 standard has deprecated the usage of throw() to express > exceptions,so to avoid warnings from the compiler,I think this option is > useful. > I have a pull request in github,this issue is created to track it. > Some questions remain: > 1.Should we change the runtime c++ library to use BOOST_NOEXCEPT_OR_NOTHROW? > 2.Should we add an control option to enable all c++11 options like > moveable_types .etc? > 3.Should we begin to support C+17 features? I think std::optional should be > used to implement optional keyword,but this is clearly an API breaking > change,so we need an c+17 control option. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Updated] (THRIFT-4682) C++ TBinaryProtocol crashes on port scan
[ https://issues.apache.org/jira/browse/THRIFT-4682?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Michael Patrick updated THRIFT-4682: Flags: Patch,Important Patch Info: Patch Available > C++ TBinaryProtocol crashes on port scan > > > Key: THRIFT-4682 > URL: https://issues.apache.org/jira/browse/THRIFT-4682 > Project: Thrift > Issue Type: Bug > Components: C++ - Library >Affects Versions: 0.10.0, 0.11.0 >Reporter: Michael Patrick >Priority: Major > Attachments: TBinaryProtocolKiller.py, THRIFT-4682.diff > > > I'm afraid I don't have the expertise or time to submit a formal Git pull > request and test cases, but I feel it's important for the Thrift community to > be aware of a serious Denial of Service (DOS) attack vulnerability involving > TBinaryProtocol. > A commercial port scanner application crashed all C++ Thrift server processes > we had listening for TBinaryProcol connections. Investigation showed it was > due to an assert verifying the initial packet length. Crashing the server > was as easy as sending an initial 4 bytes of zeroes after the client opens > the socket. I'm attaching a "TBinaryProtocolKiller.py" script that will > kill all C++ ThriftBinaryProtocol servers on an arbitrary IPv4 address within > a provided port range. The script can be used to verify the fix. This > problem does not occur in the Python BinaryProtocol server; I don't know > about other languages. The problem is present in 0.10.0 and 0.11.0, and I > don't know about earlier releases. > My recommended patch is to simply change the assert to a regular error > check, as shown below. > {code:java} > Index: lib/cpp/src/thrift/server/TNonblockingServer.cpp > === > --- lib/cpp/src/thrift/server/TNonblockingServer.cpp (revision 75217) > +++ lib/cpp/src/thrift/server/TNonblockingServer.cpp (working copy) > @@ -473,8 +473,13 @@ > return; > case SOCKET_RECV: > - // It is an error to be in this state if we already have all the data > - assert(readBufferPos_ < readWant_); > + if (!(readBufferPos_ < readWant_)) { > + GlobalOutput.printf("TNonblockingServer: frame size too short from client > %s", > + tSocket_->getSocketInfo().c_str()); > + close(); > + return; > + } > try { > // Read from the socket{code} -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (THRIFT-4682) C++ TBinaryProtocol crashes on port scan
[ https://issues.apache.org/jira/browse/THRIFT-4682?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16725912#comment-16725912 ] Michael Patrick commented on THRIFT-4682: - Attached THRIFT-4682.diff with the 0.10.0 patch. > C++ TBinaryProtocol crashes on port scan > > > Key: THRIFT-4682 > URL: https://issues.apache.org/jira/browse/THRIFT-4682 > Project: Thrift > Issue Type: Bug > Components: C++ - Library >Affects Versions: 0.10.0, 0.11.0 >Reporter: Michael Patrick >Priority: Major > Attachments: TBinaryProtocolKiller.py, THRIFT-4682.diff > > > I'm afraid I don't have the expertise or time to submit a formal Git pull > request and test cases, but I feel it's important for the Thrift community to > be aware of a serious Denial of Service (DOS) attack vulnerability involving > TBinaryProtocol. > A commercial port scanner application crashed all C++ Thrift server processes > we had listening for TBinaryProcol connections. Investigation showed it was > due to an assert verifying the initial packet length. Crashing the server > was as easy as sending an initial 4 bytes of zeroes after the client opens > the socket. I'm attaching a "TBinaryProtocolKiller.py" script that will > kill all C++ ThriftBinaryProtocol servers on an arbitrary IPv4 address within > a provided port range. The script can be used to verify the fix. This > problem does not occur in the Python BinaryProtocol server; I don't know > about other languages. The problem is present in 0.10.0 and 0.11.0, and I > don't know about earlier releases. > My recommended patch is to simply change the assert to a regular error > check, as shown below. > {code:java} > Index: lib/cpp/src/thrift/server/TNonblockingServer.cpp > === > --- lib/cpp/src/thrift/server/TNonblockingServer.cpp (revision 75217) > +++ lib/cpp/src/thrift/server/TNonblockingServer.cpp (working copy) > @@ -473,8 +473,13 @@ > return; > case SOCKET_RECV: > - // It is an error to be in this state if we already have all the data > - assert(readBufferPos_ < readWant_); > + if (!(readBufferPos_ < readWant_)) { > + GlobalOutput.printf("TNonblockingServer: frame size too short from client > %s", > + tSocket_->getSocketInfo().c_str()); > + close(); > + return; > + } > try { > // Read from the socket{code} -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Updated] (THRIFT-4682) C++ TBinaryProtocol crashes on port scan
[ https://issues.apache.org/jira/browse/THRIFT-4682?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Michael Patrick updated THRIFT-4682: Attachment: THRIFT-4682.diff > C++ TBinaryProtocol crashes on port scan > > > Key: THRIFT-4682 > URL: https://issues.apache.org/jira/browse/THRIFT-4682 > Project: Thrift > Issue Type: Bug > Components: C++ - Library >Affects Versions: 0.10.0, 0.11.0 >Reporter: Michael Patrick >Priority: Major > Attachments: TBinaryProtocolKiller.py, THRIFT-4682.diff > > > I'm afraid I don't have the expertise or time to submit a formal Git pull > request and test cases, but I feel it's important for the Thrift community to > be aware of a serious Denial of Service (DOS) attack vulnerability involving > TBinaryProtocol. > A commercial port scanner application crashed all C++ Thrift server processes > we had listening for TBinaryProcol connections. Investigation showed it was > due to an assert verifying the initial packet length. Crashing the server > was as easy as sending an initial 4 bytes of zeroes after the client opens > the socket. I'm attaching a "TBinaryProtocolKiller.py" script that will > kill all C++ ThriftBinaryProtocol servers on an arbitrary IPv4 address within > a provided port range. The script can be used to verify the fix. This > problem does not occur in the Python BinaryProtocol server; I don't know > about other languages. The problem is present in 0.10.0 and 0.11.0, and I > don't know about earlier releases. > My recommended patch is to simply change the assert to a regular error > check, as shown below. > {code:java} > Index: lib/cpp/src/thrift/server/TNonblockingServer.cpp > === > --- lib/cpp/src/thrift/server/TNonblockingServer.cpp (revision 75217) > +++ lib/cpp/src/thrift/server/TNonblockingServer.cpp (working copy) > @@ -473,8 +473,13 @@ > return; > case SOCKET_RECV: > - // It is an error to be in this state if we already have all the data > - assert(readBufferPos_ < readWant_); > + if (!(readBufferPos_ < readWant_)) { > + GlobalOutput.printf("TNonblockingServer: frame size too short from client > %s", > + tSocket_->getSocketInfo().c_str()); > + close(); > + return; > + } > try { > // Read from the socket{code} -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (THRIFT-4682) C++ TBinaryProtocol crashes on port scan
Michael Patrick created THRIFT-4682: --- Summary: C++ TBinaryProtocol crashes on port scan Key: THRIFT-4682 URL: https://issues.apache.org/jira/browse/THRIFT-4682 Project: Thrift Issue Type: Bug Components: C++ - Library Affects Versions: 0.11.0, 0.10.0 Reporter: Michael Patrick Attachments: TBinaryProtocolKiller.py I'm afraid I don't have the expertise or time to submit a formal Git pull request and test cases, but I feel it's important for the Thrift community to be aware of a serious Denial of Service (DOS) attack vulnerability involving TBinaryProtocol. A commercial port scanner application crashed all C++ Thrift server processes we had listening for TBinaryProcol connections. Investigation showed it was due to an assert verifying the initial packet length. Crashing the server was as easy as sending an initial 4 bytes of zeroes after the client opens the socket. I'm attaching a "TBinaryProtocolKiller.py" script that will kill all C++ ThriftBinaryProtocol servers on an arbitrary IPv4 address within a provided port range. The script can be used to verify the fix. This problem does not occur in the Python BinaryProtocol server; I don't know about other languages. The problem is present in 0.10.0 and 0.11.0, and I don't know about earlier releases. My recommended patch is to simply change the assert to a regular error check, as shown below. {code:java} Index: lib/cpp/src/thrift/server/TNonblockingServer.cpp === --- lib/cpp/src/thrift/server/TNonblockingServer.cpp(revision 75217) +++ lib/cpp/src/thrift/server/TNonblockingServer.cpp(working copy) @@ -473,8 +473,13 @@ return; case SOCKET_RECV: - // It is an error to be in this state if we already have all the data - assert(readBufferPos_ < readWant_); + if (!(readBufferPos_ < readWant_)) { + GlobalOutput.printf("TNonblockingServer: frame size too short from client %s", + tSocket_->getSocketInfo().c_str()); + close(); + return; + } try { // Read from the socket{code} -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Updated] (THRIFT-4441) C++: support building lib without Boost
[ https://issues.apache.org/jira/browse/THRIFT-4441?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] James E. King III updated THRIFT-4441: -- Labels: boost c++11 (was: ) > C++: support building lib without Boost > --- > > Key: THRIFT-4441 > URL: https://issues.apache.org/jira/browse/THRIFT-4441 > Project: Thrift > Issue Type: Improvement > Components: C++ - Compiler, C++ - Library >Affects Versions: 0.11.0, 0.12.0 >Reporter: Francois Ferrand >Priority: Major > Labels: boost, c++11 > > It would be great to support compiling Thrift library without boost: in > C++11, most of the things are already integrated, and it is often not > practical to integrate boost, esp. in embedded projects. > Some steps have already been done (esp. THRIFT-2221) to support building user > code without boost, but it would be nice to allow building completely without > boost. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Comment Edited] (THRIFT-4441) C++: support building lib without Boost
[ https://issues.apache.org/jira/browse/THRIFT-4441?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16725862#comment-16725862 ] James E. King III edited comment on THRIFT-4441 at 12/20/18 1:58 PM: - If we allow the option to either build with or without boost, we create a build-time and packaging-time branch whereby packagers have to distribute two libraries - one that builds against boost and supports {{cpp03}}, and one that does not build against boost and only supports {{cpp11}} or later. Given older versions of thrift support both boost and {{cpp03}}, we should consider dropping support for boost and {{cpp03}} at the same time. Then the packaging dependencies are simplified, but more importantly there is only one C++ runtime library to be built (apart from the normal debug/release variants). Folks who need the boost interface, or need {{cpp03}} support can always use Thrift 0.12.0 or earlier. was (Author: jking3): If we allow the option to either build with or without boost, we create a build-time and packaging-time branch whereby packagers have to distribute two libraries - one that builds against boost and supports C++03, and one that does not build against boost and only supports C++11 or later. Given older versions of thrift support both boost and C++03, we should consider dropping support for boost and C++03 at the same time. Then the packaging dependencies are simplified, but more importantly there is only one C++ runtime library to be built (apart from the normal debug/release variants). Folks who need the boost interface, or need C++03 support can always use Thrift 0.12.0 or earlier. > C++: support building lib without Boost > --- > > Key: THRIFT-4441 > URL: https://issues.apache.org/jira/browse/THRIFT-4441 > Project: Thrift > Issue Type: Improvement > Components: C++ - Compiler, C++ - Library >Affects Versions: 0.11.0, 0.12.0 >Reporter: Francois Ferrand >Assignee: James E. King III >Priority: Major > Labels: boost, c++11 > > It would be great to support compiling Thrift library without boost: in > C++11, most of the things are already integrated, and it is often not > practical to integrate boost, esp. in embedded projects. > Some steps have already been done (esp. THRIFT-2221) to support building user > code without boost, but it would be nice to allow building completely without > boost. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Updated] (THRIFT-4441) C++: support building lib without Boost
[ https://issues.apache.org/jira/browse/THRIFT-4441?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] James E. King III updated THRIFT-4441: -- Affects Version/s: 0.12.0 > C++: support building lib without Boost > --- > > Key: THRIFT-4441 > URL: https://issues.apache.org/jira/browse/THRIFT-4441 > Project: Thrift > Issue Type: Improvement > Components: C++ - Compiler, C++ - Library >Affects Versions: 0.11.0, 0.12.0 >Reporter: Francois Ferrand >Priority: Major > Labels: boost, c++11 > > It would be great to support compiling Thrift library without boost: in > C++11, most of the things are already integrated, and it is often not > practical to integrate boost, esp. in embedded projects. > Some steps have already been done (esp. THRIFT-2221) to support building user > code without boost, but it would be nice to allow building completely without > boost. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (THRIFT-4441) C++: support building lib without Boost
[ https://issues.apache.org/jira/browse/THRIFT-4441?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16725862#comment-16725862 ] James E. King III commented on THRIFT-4441: --- If we allow the option to either build with or without boost, we create a build-time and packaging-time branch whereby packagers have to distribute two libraries - one that builds against boost and supports C++03, and one that does not build against boost and only supports C++11 or later. Given older versions of thrift support both boost and C++03, we should consider dropping support for boost and C++03 at the same time. Then the packaging dependencies are simplified, but more importantly there is only one C++ runtime library to be built (apart from the normal debug/release variants). Folks who need the boost interface, or need C++03 support can always use Thrift 0.12.0 or earlier. > C++: support building lib without Boost > --- > > Key: THRIFT-4441 > URL: https://issues.apache.org/jira/browse/THRIFT-4441 > Project: Thrift > Issue Type: Improvement > Components: C++ - Compiler, C++ - Library >Affects Versions: 0.11.0, 0.12.0 >Reporter: Francois Ferrand >Priority: Major > Labels: boost, c++11 > > It would be great to support compiling Thrift library without boost: in > C++11, most of the things are already integrated, and it is often not > practical to integrate boost, esp. in embedded projects. > Some steps have already been done (esp. THRIFT-2221) to support building user > code without boost, but it would be nice to allow building completely without > boost. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Assigned] (THRIFT-4441) C++: support building lib without Boost
[ https://issues.apache.org/jira/browse/THRIFT-4441?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] James E. King III reassigned THRIFT-4441: - Assignee: James E. King III > C++: support building lib without Boost > --- > > Key: THRIFT-4441 > URL: https://issues.apache.org/jira/browse/THRIFT-4441 > Project: Thrift > Issue Type: Improvement > Components: C++ - Compiler, C++ - Library >Affects Versions: 0.11.0, 0.12.0 >Reporter: Francois Ferrand >Assignee: James E. King III >Priority: Major > Labels: boost, c++11 > > It would be great to support compiling Thrift library without boost: in > C++11, most of the things are already integrated, and it is often not > practical to integrate boost, esp. in embedded projects. > Some steps have already been done (esp. THRIFT-2221) to support building user > code without boost, but it would be nice to allow building completely without > boost. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Updated] (THRIFT-4441) C++: support building lib without Boost
[ https://issues.apache.org/jira/browse/THRIFT-4441?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] James E. King III updated THRIFT-4441: -- Component/s: C++ - Library C++ - Compiler > C++: support building lib without Boost > --- > > Key: THRIFT-4441 > URL: https://issues.apache.org/jira/browse/THRIFT-4441 > Project: Thrift > Issue Type: Improvement > Components: C++ - Compiler, C++ - Library >Affects Versions: 0.11.0, 0.12.0 >Reporter: Francois Ferrand >Priority: Major > Labels: boost, c++11 > > It would be great to support compiling Thrift library without boost: in > C++11, most of the things are already integrated, and it is often not > practical to integrate boost, esp. in embedded projects. > Some steps have already been done (esp. THRIFT-2221) to support building user > code without boost, but it would be nice to allow building completely without > boost. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Closed] (THRIFT-4111) Can't find release notes for Thrift-0.10.0
[ https://issues.apache.org/jira/browse/THRIFT-4111?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] James E. King III closed THRIFT-4111. - > Can't find release notes for Thrift-0.10.0 > -- > > Key: THRIFT-4111 > URL: https://issues.apache.org/jira/browse/THRIFT-4111 > Project: Thrift > Issue Type: Documentation > Components: Website >Affects Versions: 0.10.0 >Reporter: Pavel Kotlyarov >Assignee: James E. King III >Priority: Major > Fix For: 0.11.0 > > > Our company is actively used Thrift and we interested in new versions, but > without list of actual changes they are almost useless for us. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Resolved] (THRIFT-4111) Can't find release notes for Thrift-0.10.0
[ https://issues.apache.org/jira/browse/THRIFT-4111?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] James E. King III resolved THRIFT-4111. --- Resolution: Fixed Assignee: James E. King III Fix Version/s: 0.11.0 > Can't find release notes for Thrift-0.10.0 > -- > > Key: THRIFT-4111 > URL: https://issues.apache.org/jira/browse/THRIFT-4111 > Project: Thrift > Issue Type: Bug > Components: Website >Affects Versions: 0.10.0 >Reporter: Pavel Kotlyarov >Assignee: James E. King III >Priority: Major > Fix For: 0.11.0 > > > Our company is actively used Thrift and we interested in new versions, but > without list of actual changes they are almost useless for us. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Updated] (THRIFT-4111) Can't find release notes for Thrift-0.10.0
[ https://issues.apache.org/jira/browse/THRIFT-4111?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] James E. King III updated THRIFT-4111: -- Issue Type: Documentation (was: Bug) > Can't find release notes for Thrift-0.10.0 > -- > > Key: THRIFT-4111 > URL: https://issues.apache.org/jira/browse/THRIFT-4111 > Project: Thrift > Issue Type: Documentation > Components: Website >Affects Versions: 0.10.0 >Reporter: Pavel Kotlyarov >Assignee: James E. King III >Priority: Major > Fix For: 0.11.0 > > > Our company is actively used Thrift and we interested in new versions, but > without list of actual changes they are almost useless for us. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (THRIFT-4678) add noexcept cpp generator option
[ https://issues.apache.org/jira/browse/THRIFT-4678?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16725846#comment-16725846 ] James E. King III commented on THRIFT-4678: --- I was talking privately with someone else in the Thrift PMC ([~codesf]) and mentioned that I would be okay if thrift 0.12.0 was the last release of thrift that worked with C++03; and that the next release could have the option to use boost for specific things, or just use std; alternatively we could just drop boost all together and rely on std, but that essentially eliminates the possibility of rewriting the C++ transport core with boost::asio. Distributions that build and distribute a thrift library would have to decide if they want to drop the boost dependency or not, knowing it would be considered a breaking change for people who consume thrift. Unfortunately having an "option" to use boost or not creates a build-time branch where you need a boost and non-boost library. It may be easier to just say there's no boost and no direct pthreads support in the thrift C++ any more, and go straight to just using std::thread, and other std::things (unique_ptr, etc). To answer your question: NO, there is no clear roadmap. I will open a discussion on the user@ mailing list about it and gather replies from folks who take the time to respond, and then can put it up for a vote on the dev@ mailing list. > add noexcept cpp generator option > - > > Key: THRIFT-4678 > URL: https://issues.apache.org/jira/browse/THRIFT-4678 > Project: Thrift > Issue Type: Improvement > Components: C++ - Compiler, C++ - Library >Affects Versions: 0.11.0 >Reporter: yuanyuan chen >Priority: Minor > > The C++11 standard has deprecated the usage of throw() to express > exceptions,so to avoid warnings from the compiler,I think this option is > useful. > I have a pull request in github,this issue is created to track it. > Some questions remain: > 1.Should we change the runtime c++ library to use BOOST_NOEXCEPT_OR_NOTHROW? > 2.Should we add an control option to enable all c++11 options like > moveable_types .etc? > 3.Should we begin to support C+17 features? I think std::optional should be > used to implement optional keyword,but this is clearly an API breaking > change,so we need an c+17 control option. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (THRIFT-4678) add noexcept cpp generator option
[ https://issues.apache.org/jira/browse/THRIFT-4678?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16725647#comment-16725647 ] Jens Geyer commented on THRIFT-4678: {quote}B{color:#33}y the way,there is no a new thrift release since Dec 4, 2017{color} {quote} You just made my day :) > add noexcept cpp generator option > - > > Key: THRIFT-4678 > URL: https://issues.apache.org/jira/browse/THRIFT-4678 > Project: Thrift > Issue Type: Improvement > Components: C++ - Compiler, C++ - Library >Affects Versions: 0.11.0 >Reporter: yuanyuan chen >Priority: Minor > > The C++11 standard has deprecated the usage of throw() to express > exceptions,so to avoid warnings from the compiler,I think this option is > useful. > I have a pull request in github,this issue is created to track it. > Some questions remain: > 1.Should we change the runtime c++ library to use BOOST_NOEXCEPT_OR_NOTHROW? > 2.Should we add an control option to enable all c++11 options like > moveable_types .etc? > 3.Should we begin to support C+17 features? I think std::optional should be > used to implement optional keyword,but this is clearly an API breaking > change,so we need an c+17 control option. -- This message was sent by Atlassian JIRA (v7.6.3#76005)