Skip to content
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

Use libsodium based allocator #3580

Merged
merged 4 commits into from
Jul 16, 2019

Conversation

sigiesec
Copy link
Member

Fixes #3576

Solution: Fixed C++ standard in clang-format config
Solution: Added secure_allocator_t based on libsodium's memory management functions when available
Solution: Use secure_allocator_t for plaintext secrets
@sigiesec sigiesec requested a review from bluca July 14, 2019 16:11
@bluca
Copy link
Member

bluca commented Jul 14, 2019

Nice stuff! Unfortunately there's a couple of build failures, any idea?

In file included from ../tests/test_security_curve.cpp:52:0:
../tests/../src/curve_client_tools.hpp:44:2: error: #error "CURVE library not built properly"
 #error "CURVE library not built properly"

@sigiesec
Copy link
Member Author

sigiesec commented Jul 14, 2019 via email

@sigiesec
Copy link
Member Author

Strange, I cannot reproduce this problem. This only seems to happen with the builds using a very old gcc...

@bluca
Copy link
Member

bluca commented Jul 15, 2019

Clang seems to have the same problem: https://travis-ci.org/zeromq/libzmq/jobs/558584750
Include order mixup?

Solution: properly set defines from test_security_curve
@sigiesec sigiesec force-pushed the use-libsodium-based-allocator branch from c680144 to 4756ff3 Compare July 16, 2019 07:39
@sigiesec
Copy link
Member Author

I think it's fine now :)

@bluca
Copy link
Member

bluca commented Jul 16, 2019

Nice!

@bluca bluca merged commit feeed3f into zeromq:master Jul 16, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

CURVE plaintext should be placed in secure memory
2 participants