New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Investigate moving OS specific Socket and Thread to the Patch Page #208
Comments
Fully agree. It makes much questions about what pipes, threads and so on are doing in crypto library. |
Also cutting these parts will simplify further porting of stuff |
TL;DR: I'm pro-removal. A quick search showed that it was added in 4.0 and there's also a mention of sinks and sources in 5.0 related to sockets, so it's obviously only in the library so you can stream from a socket or a pipe into Crypto++'s filter system (decrypt, verify, decompress, decode it) and then have it at hand. So the original intent was to not limit people to files but also allow them to use advanced IPC and network communication methods with this fancy mechanism of filters, sources and sinks. So far for the history lesson. Nowadays we don't need this any longer at network level. We have Boost.ASIO (or your favorite networking library) and we have libraries like OpenSSL, LibreSSL, BoringSSL, GnuTLS, s2n, cryptlib,... which can all handle TLS (a really good protocol for most use-cases) so I don't think we should encourage people here to "roll their own". And if people really need more lightweight encryption, there's our patch-page and of course cryptlib ;) |
Also see Remove Thread and Socket classes on the mailing list. We are testing the change now on a Testing fork. The only sore spot was in
It was changed to:
|
Sockets and Threads were removed at Commit f2171cbe2f49. |
Ref: https://groups.google.com/forum/#!topic/cryptopp-users/5btwLoxXXD4 weidai11/cryptopp#178 weidai11/cryptopp#208 weidai11/cryptopp#703 Signed-off-by: 216k155 <216k155@luxcore.io>
Denis Bider offered some arguments to remove some code from the library at issue 23: Recent Windows 8 and Windows 10 support broke Windows 7/VS 2012. If I am parsing the comment correctly, DB suggests removing
Socket
,Pipe
andThread
from the library. Its not clear if it includes the relatedSources
andSinks
.I'd like to use this bug report to capture feedback, discover if anyone is using the classes, and track which files and classes are potential targets.
I know some of the classes are being used in the test program.
The Crypto++ wiki has a Patch Page. Its for components that may be useful to others, but don't quite fit into the library proper. If anything gets removed, then they surely would be placed there.
The text was updated successfully, but these errors were encountered: