- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
这更像是一个假设,而我正在调试一些代码。假设我有一个应用程序(称为 X)调用一个库以通过 TLS 加密的 SMTP 连接发送电子邮件,同时 X 正在与另一个库交谈,该库通过相同的 libcrypto 库建立另一个 TLS 套接字,在某个函数调用因段错误而失败的特定(和怪异)情况下,出现这种情况的可能性有多大?
我有点抓不住稻草,这段代码工作得很好,直到我们添加了通过 TLS 连接到 Skype 服务器的 Skype SDK,从那时起我们实际上可以让问题重复,但我有点困惑至于为什么。 (我可能忽略了显而易见的事情,但我将从真正奇怪的可能性开始)
最佳答案
一般来说,这是可能的 - 但编写良好的库应该对多重访问具有鲁棒性。您可能需要查看文档以了解他们的 API 是否可重入(或者甚至是线程安全的)。
如果它是线程安全的,那么(假设 libcrypto 作者没有犯错)你可以确定这不是问题的原因。
如果它是可重入的,那么在两个(或更多)线程中使用这个库的任何东西都应该在访问时同步(例如使用互斥锁),但是如果部分代码不是您编写的并且您没有修改它的选项,那么你就卡住了。我唯一能想到的就是使用另一个版本的 libcrypto,因此系统会创建另一个不相关的内部结构实例。这是丑陋的灵魂,在用户机器上可能表现得很奇怪。
关于c++ - 使用 libssl/libcrypto 的段错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7713983/
我正在将开发环境从 Ubuntu 10.04 迁移到 Ubuntu 12.04。一个问题是 lib openssl 已从版本 0.9.8 升级到 1.xxx。 我从其他问题中得到了很多有用的提示,但现
我有一个应用程序: export LD_LIBRARY_PATH=/this/is/another/folder ldd myApp // ... libssl.so.10 => /usr/lib64
这是关于在我的系统中运行 WRF 模型的引用。我正在尝试运行文件 plotgrids.ncl 以确保域在运行 geogrid.exe 之前位于正确的位置。在我的终端(ubuntu)中运行以下命令ncl
我一直在使用 MEAN 堆栈为网站运行 NodeJS 服务器,并且已经运行了几个月。当我今天早上再次开始工作时,我启动了网站: nodemon server/app.js 快速服务器启动得很好,但是当
我有一个使用 python:3(基于 debian)的 docker 文件。我正在根据 microsoft docs. 安装 PyODBC 的驱动程序 FROM python:3 RUN curl h
我想在我的 Ubuntu 18.04 上安装 rabbitmq。我一直关注官方documentation .但是,我的安装没有完成,因为我卡在这一步:sudo apt-get install rabb
我有一个非常简单的代码: #include int main() { SHA_CTX sha1; SHA_Init(&sha1); } 我已经安装了 libssl-dev 和 lib
无论我输入什么与“openssl”组合,我总是会收到以下错误消息: 'openssl: error while loading shared libraries: libssl.so.3: canno
我想使用 OpenSSL 为文件创建签名。我相信我的结果应该与 openssl 生成的 testfile.sig 相匹配: $ openssl dgst -sha1 -binary testfile
我正在将我在 Linux 中开发的应用程序移植到 Windows,但在构建该应用程序时遇到了一些问题。在进行必要的代码更改后,一切都可以正常编译(并且在 Visual Studio 中作为调试版本构建
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 要求我们推荐或查找工具、库或最喜欢的场外资源的问题对于 Stack Overflow 来说是偏离主题的,
尝试启动 puma 时出现以下错误。它提示它无法加载 libssl? 有什么想法吗? root@7711398a00ad:/app# bundle exec puma -C config/puma.r
我正在尝试安装 Siege在 Mac OS 10.12 上使用 libssl,但是当我针对 https 使用该实用程序时url 我收到以下错误。 [error] HTTPS requires libs
在带有 apt install 的 Ubuntu 18.04 上我安装了libssl1.0.0和 libssl1.0-dev . 以下共享对象可用: /usr/lib/x86_64-linux-gnu
我使用 编译了 libssl CC="gcc34 -fPIC" CXX="g++34 -fPIC" CFLAGS="-m64 -fPIC" ./config --prefix=/workspace/l
我在 xcode 5 中有一个引用 libSSL.a 的项目,所以我尝试自己构建它。make 命令的错误信息是这样的: 我做了什么: 1、下载并安装命令行工具(从here下载) 2、从openssl.
您好,我正在尝试使用 libssl 通过 libssl 中的 RSA_padding_add_PKCS1_type1 函数获取一些 EMSA_PSS_ENCODING,但我找不到文档或解决方案,所以这
这更像是一个假设,而我正在调试一些代码。假设我有一个应用程序(称为 X)调用一个库以通过 TLS 加密的 SMTP 连接发送电子邮件,同时 X 正在与另一个库交谈,该库通过相同的 libcrypto
我无法获取 siege使用 https。在预装 OpenSSL 1.0.2g 和 libssl-dev 1.0.2g-1ubuntu4.6 的 Ubuntu 16.04 LTS 上运行 Siege 4
假设以下代码,我的 base64 编码中有奇怪的错误。 #include #include #include #include char * base64(unsigned char * in
我是一名优秀的程序员,十分优秀!