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

Tor won't recognize static libraries #55

Closed
robgjansen opened this issue Aug 15, 2012 · 0 comments
Closed

Tor won't recognize static libraries #55

robgjansen opened this issue Aug 15, 2012 · 0 comments
Labels
X-Archive: Plugin [Deprecated label.] Associated with a Shadow plugin.

Comments

@robgjansen
Copy link
Member

When trying to install Scallion from Github I'm running into problems when Tor is compiled. At first autoconf complains that no linkable libevent library could be found. If --enable-static-libevent is passed to configure that problem is solved. Autoconf then complains then though that no linkable libssl can befound. Unfortunately --enable-static-openssl doesn't cut it this time. This seems to be caused by the bug in Tor described here:

https://trac.torproject.org/projects/tor/ticket/4692

A workaround is to build libopenssl with shared as opposed to no-shared and use --enable-static-openssl. Can you confirm that issue? I can reproduce it when I delete the .shadow directory and run installdeps.sh followed by python setup.py build. If the .shadow directory is not removed first there might be still .so files in the lib directory because the stable version used to build openssl with the shared flag.

I've submitted a pull request solving the issue by changing the no-shared flag to the shared flag in contrib/installdeps.sh and adding two options (--static-libevent, --static-openssl) to setup,py, which are both enabled by default. Those options then add --enable-static-libevent and --enable-static-openssl respectively in setup_tor.

robgjansen pushed a commit that referenced this issue Jun 30, 2020
Merge pull request #55 from shadow/jnewsome/plugin-syscall
qincunrong pushed a commit to qincunrong/shadow that referenced this issue Nov 29, 2022
从Manager中删除Interface概念

fix shadow#56 

删除了Manager和Loader中和Interface类型插件相关的代码。

升级了Manager数据库的版本号,因为新版本Manager不再支持已安装的Type为Interface的插件。

为了不阻塞shadow#55,遗留一个shadow#59。先合入`manager_db_upgrade_dev`分支,待shadow#55,#56都处理完再一起合入master。

See merge request !73
qincunrong pushed a commit to qincunrong/shadow that referenced this issue Nov 29, 2022
# Conflicts:
#	projects/demo-none-dynamic/host-apk-none-dynamic/src/main/java/com/tencent/shadow/demo/host/HostApplication.java
#	projects/demo/plugin-app/demo-main/src/main/AndroidManifest.xml
#	projects/demo/plugin-app/demo-main/src/main/java/com/tencent/shadow/demo/gallery/cases/UseCaseManager.java
#	projects/sdk/core/load-parameters/src/main/java/com/tencent/shadow/core/load_parameters/LoadParameters.java
#	projects/sdk/core/manager/src/main/java/com/tencent/shadow/core/pluginmanager/installplugin/InstalledDao.java
#	projects/sdk/core/manager/src/main/java/com/tencent/shadow/core/pluginmanager/installplugin/InstalledPlugin.java
#	projects/sdk/core/manager/src/main/java/com/tencent/shadow/core/pluginmanager/installplugin/InstalledPluginDBHelper.java
#	projects/sdk/core/manager/src/main/java/com/tencent/shadow/core/pluginmanager/installplugin/InstalledRow.java
#	projects/sdk/core/manager/src/main/java/com/tencent/shadow/core/pluginmanager/installplugin/PluginConfig.java
#	projects/sdk/dynamic/dynamic-manager/src/main/java/com/tencent/shadow/dynamic/manager/PluginManagerThatUseDynamicLoader.java
qincunrong pushed a commit to qincunrong/shadow that referenced this issue Nov 29, 2022
新增BusinessName概念,区分插件的DataDir. 

fix shadow#55 

新增功能:
添加`BusinessName`概念,相同`BusinessName`的插件具有相同的`DataDir`。

当`BusinessName`为`null`或者`""`时,表示插件和宿主是相同业务,插件直接使用宿主的`DataDir`。

实现方式:
按照`partKey`的实现方法,在每个`partKey`的生成和传递代码位置添加相同逻辑的`BusinessName`。

在API>=N时:

- [x] 在ShadowContext中Override getDataDir()方法。

在API<N时:
- [x] 在ShadowContext中Override getFilesDir()方法。
- [x] 在ShadowContext中Override getCacheDir()方法。
- [x] 在ShadowContext中Override getDir()方法。
- [x] 在ShadowContext中Override getDatabasePath()方法。

由于getPreferencesDir()是private的,不能Override。
- [x] 在ShadowContext上Override getSharedPreferences方法,在PRIVATE_MODE时,在name参数上加前缀。


See merge request !74
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
X-Archive: Plugin [Deprecated label.] Associated with a Shadow plugin.
Projects
None yet
Development

No branches or pull requests

1 participant