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

Add support for Wolf SSL #14808

Closed
wants to merge 25 commits into from
Closed

Add support for Wolf SSL #14808

wants to merge 25 commits into from

Conversation

thiagoftsm
Copy link
Contributor

@thiagoftsm thiagoftsm commented Mar 27, 2023

Summary

Fixes #6509

Test Plan
  1. Before to compile and test this branch, it is necessary to install wolfssl on your system. The default compilation of the library won't allow everything necessary to have ACLK debug messages and cloud, to fix this I compiled it using the following options:
# ./autogen.sh
# CFLAGS="-DOPENSSL_EXTRA -DHAVE_SECRET_CALLBACK -DWOLFSSL_TRUST_PEER_CERT" ./configure --prefix=/usr --enable-all --enable-static --enable-iopool --enable-secure-renegotiation --enable-sni
# make  CFLAGS="-DOPENSSL_EXTRA -DHAVE_SECRET_CALLBACK -DWOLFSSL_TRUST_PEER_CERT"
# make install
# ldconfig
Additional Information
For users: How does this change affect me?

@thiagoftsm thiagoftsm marked this pull request as draft March 27, 2023 00:21
@github-actions github-actions bot added area/aclk area/build Build system (autotools and cmake). area/database area/packaging Packaging and operating systems support labels Mar 27, 2023
@vkalintiris
Copy link
Contributor

@thiagoftsm I know this is a draft, but please consider exposing a common API for our ssl/hashing needs from a sub-component within libnetdata in order to avoid various ifdefs like these in the rest of the agent:

#if defined(OPENSSL_VERSION_NUMBER)
#include <openssl/sha.h>
#include <openssl/evp.h>
#elif defined(WOLFSSL_VERSION)
#include <wolfssl/openssl/sha.h>
#include <wolfssl/openssl/evp.h>
#endif

@thiagoftsm
Copy link
Contributor Author

@thiagoftsm I know this is a draft, but please consider exposing a common API for our ssl/hashing needs from a sub-component within libnetdata in order to avoid various ifdefs like these in the rest of the agent:

#if defined(OPENSSL_VERSION_NUMBER)
#include <openssl/sha.h>
#include <openssl/evp.h>
#elif defined(WOLFSSL_VERSION)
#include <wolfssl/openssl/sha.h>
#include <wolfssl/openssl/evp.h>
#endif

All right @vkalintiris ,

I will reorganize the code, I began to write like this to observe compatibility between libraries, but I agree with you.

Best regards!

@github-actions github-actions bot added area/collectors Everything related to data collection area/daemon collectors/freeipmi labels Mar 28, 2023
thiagoftsm added a commit to thiagoftsm/netdata that referenced this pull request Mar 30, 2023
thiagoftsm added a commit to thiagoftsm/netdata that referenced this pull request Mar 31, 2023
thiagoftsm added a commit to thiagoftsm/netdata that referenced this pull request Apr 2, 2023
thiagoftsm added a commit to thiagoftsm/netdata that referenced this pull request Apr 2, 2023
thiagoftsm added a commit to thiagoftsm/netdata that referenced this pull request Apr 10, 2023
thiagoftsm added a commit to thiagoftsm/netdata that referenced this pull request Apr 10, 2023
… meaninful name and add Wolfssl clientt code
…L versions do not have functions in previous headers already added.
@ktsaou
Copy link
Member

ktsaou commented Jun 7, 2023

This needs to be implemented using the new SSL abstraction layer we implemented in #15113

@thiagoftsm
Copy link
Contributor Author

All right @ktsaou ,

I am waiting for the PR to merged for me to return here.
I will take a look in other PR today yet.

Best regards!

@thiagoftsm
Copy link
Contributor Author

Closing it, because we changed our submodules and it will be simpler for reviewers to start from scratch using our current structure.

@thiagoftsm thiagoftsm closed this Jan 17, 2024
@thiagoftsm thiagoftsm deleted the wolfssl branch January 17, 2024 23:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/aclk area/build Build system (autotools and cmake). area/collectors Everything related to data collection area/daemon area/database area/packaging Packaging and operating systems support collectors/freeipmi
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add support for other TLS/SSL libraries than OpenSSL
3 participants