Skip to content
This repository has been archived by the owner on Jun 16, 2021. It is now read-only.

Loading multiple versions of Tor confuses preloading #22

Open
robgjansen opened this issue Feb 26, 2016 · 0 comments
Open

Loading multiple versions of Tor confuses preloading #22

robgjansen opened this issue Feb 26, 2016 · 0 comments
Labels

Comments

@robgjansen
Copy link
Member

We store one single global function table for ALL Tor versions, but really we want a new function table for each individual Tor version.

The problem is inside of shadowtorpreload_init. This function gets called once for every different Tor version, but every time that happens it wipes out the old function table and the old library handle that is stored in per thread state. This problem will affect any thread that is configured to run nodes with different Tor versions.

Thanks for finding this @swojo!

@robgjansen robgjansen added the bug label Feb 26, 2016
robgjansen added a commit to shadow/shadow that referenced this issue Jun 6, 2016
Shadow will call the new hook functions if they are defined in the
plug-in library. This allows the plug-in to any necessary
adjustments to running more smoothly in Shadow.

The symbols Shadow searches for and will call are:
__shadow_plugin_load__
__shadow_plugin_unload__
__shadow_plugin_enter__
__shadow_plugin_exit__

Shadow will pass a unique void* pointer in these calls. The GLib
GModule* of the plug-in library is currently passed.

refs shadow/shadow-plugin-tor#22
robgjansen added a commit that referenced this issue Jun 6, 2016
This requires Shadow commit
5ebf82c5b17080f7e74db7ed24b1d0a7640d5178

refs #22
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

No branches or pull requests

1 participant