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

Compile TLS Plugin Into Binaries #436

Closed
AlvinMooreSr opened this Issue Jun 5, 2018 · 3 comments

Comments

Projects
None yet
4 participants
@AlvinMooreSr
Copy link
Contributor

AlvinMooreSr commented Jun 5, 2018

The TLS Plugin should be statically linked into the binaries rather than having it as a separate plugin. Doing so would remove the needs for and concerns regarding packaging, installation, and compatibility. We should also allow the plugin to be optionally built in order to remove the dependency for those not interested in using TLS.

@AlvinMooreSr AlvinMooreSr self-assigned this Jun 5, 2018

@hgray1 hgray1 added this to the 6.0 milestone Jun 11, 2018

@alexmiller-apple

This comment has been minimized.

Copy link
Contributor

alexmiller-apple commented Jun 12, 2018

Because I have no idea if I'll be incoherent tomorrow due to jet lag by the time we have a chance to talk tomorrow, my proposal is that we could do this currently via something that looks like:

<++> Makefile
.ifeq ($(ENABLE_TLS),1)
CPP_PROJECTS+=tls
.endif
<-->

and then adjust the TLS Plugin to rename get_plugin to something tis-specific and then make it a weak symbol and call it instead of loadPlugin<> in TLSOptions::init_plugin. The rest of the code stays as-is.

We can then test at runtime to see if TLS support was compiled in by seeing if function-formerly-known-as-get_plugin is null or not. If we try to initialize a TLS option with get_plugin==NULL, then we fail like how we do now if the plugin is missing.

@ajbeamon

This comment has been minimized.

Copy link
Contributor

ajbeamon commented Jun 12, 2018

One thing to consider is that we also want to address #433. One thought for how to do it was to replace our logging in the TLS plugin with direct usage of our trace events, but it's not the only option if it was advantageous to keep the plugin decoupled from everything else.

@AlvinMooreSr

This comment has been minimized.

Copy link
Contributor

AlvinMooreSr commented Jul 11, 2018

TLS has now been compiled directly into the binaries for all platform except Windows, which is currently under development. Issue #433 will handled separately.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment