cURL / Mailing Lists / curl-library / Single Mail

curl-library

RE: Using HTTPS in multi-threaded dynamic library plugin on CentOS

From: Adal Chiriliuc <adalc_at_adobe.com>
Date: Fri, 16 Apr 2010 12:58:26 +0100

I have tried building libcurl using the normal way, but https: still doesn't work (CURL_VERSION_SSL on, ssl_version empty, https in the list of supported protocols).

I have run:
===========
export CFLAGS="-m32 -fPIC"
./configure --prefix=/home/admin/Desktop/libcurl-local --disable-shared
make
make install

Configure output:
=================

  curl version: 7.20.1
  Host setup: x86_64-unknown-linux-gnu
  Install prefix: /home/admin/Desktop/libcurl-local
  Compiler: gcc
  SSL support: enabled (OpenSSL)
  SSH support: no (--with-libssh2)
  zlib support: enabled
  krb4 support: no (--with-krb4*)
  GSSAPI support: no (--with-gssapi)
  SPNEGO support: no (--with-spnego)
  c-ares support: no (--enable-ares)
  ipv6 support: enabled
  IDN support: enabled
  Build libcurl: Shared=no, Static=yes
  Built-in manual: enabled
  Verbose errors: enabled (--disable-verbose)
  SSPI support: no (--enable-sspi)
  ca cert bundle: /etc/pki/tls/certs/ca-bundle.crt
  ca cert path: no
  LDAP support: enabled (OpenLDAP)
  LDAPS support: no (--enable-ldaps)
  RTSP support: enabled
  Protocols: DICT FILE FTP FTPS HTTP HTTPS IMAP IMAPS LDAP POP3 POP3S RTSP SMTP SMTPS TELNET TFTP

===============

I removed all the libcurl source code files from my project.
I have deleted all the intermediary build files, to make sure nothing was left behind.
I uninstalled libcurl-devel (both 32 and 64) from the machine.
I verified that there is no other curl.h file on the system.
ldd on my module doesn't list libcurl.so.
I verified that not adding libcurl.a to my dynamic library made it's loading fail (missing import).

I don't know what else to try.

I'm not sure my plugin init function it's called from the main application thread. It could be called from one of it's worker threads. I know this is a bad idea since you can have a race condition (in this particular case is safe). Could this somehow break libcurl/OpenSSL?

The exact same code, with the same building options except changing the target to a standalone application (which is single-threaded) instead of dynamic library works fine.

-------------------------------------------------------------------
List admin: http://cool.haxx.se/list/listinfo/curl-library
Etiquette: http://curl.haxx.se/mail/etiquette.html
Received on 2010-04-16