See <https://builds.apache.org/job/Thrift-precommit/273/changes>
Changes:
[gaguilar] Implement basic version of the TLS transport
[gaguilar] Certificate pinning features incorporated
[gaguilar] Add test for certificate pinning
[gaguilar] Add level2 test public key chain
------------------------------------------
[...truncated 3436 lines...]
^
testtransportsslsocket.c:314:3: note: expected 'const char *' but argument is
of type 'const unsigned char *'
testtransportsslsocket.c:314:3: warning: pointer targets in passing argument 2
of '__builtin_strcmp' differ in signedness [-Wpointer-sign]
testtransportsslsocket.c:314:3: note: expected 'const char *' but argument is
of type 'const unsigned char *'
testtransportsslsocket.c:314:3: warning: pointer targets in passing argument 2
of '__builtin_strcmp' differ in signedness [-Wpointer-sign]
testtransportsslsocket.c:314:3: note: expected 'const char *' but argument is
of type 'const unsigned char *'
testtransportsslsocket.c:314:3: warning: pointer targets in passing argument 1
of '__builtin_strlen' differ in signedness [-Wpointer-sign]
testtransportsslsocket.c:314:3: note: expected 'const char *' but argument is
of type 'const unsigned char *'
testtransportsslsocket.c:314:3: warning: pointer targets in passing argument 2
of '__builtin_strcmp' differ in signedness [-Wpointer-sign]
testtransportsslsocket.c:314:3: note: expected 'const char *' but argument is
of type 'const unsigned char *'
testtransportsslsocket.c:314:3: warning: pointer targets in passing argument 2
of '__builtin_strcmp' differ in signedness [-Wpointer-sign]
testtransportsslsocket.c:314:3: note: expected 'const char *' but argument is
of type 'const unsigned char *'
testtransportsslsocket.c:314:3: warning: pointer targets in passing argument 2
of 'strncmp' differ in signedness [-Wpointer-sign]
In file included from /usr/include/openssl/pqueue.h:65:0,
from /usr/include/openssl/dtls1.h:64,
from /usr/include/openssl/ssl.h:1379,
from ../src/thrift/c_glib/transport/thrift_ssl_socket.h:27,
from testtransportsslsocket.c:32:
/usr/include/string.h:147:12: note: expected 'const char *' but argument is of
type 'const unsigned char *'
extern int strncmp (const char *__s1, const char *__s2, size_t __n)
^
testtransportsslsocket.c:318:3: warning: passing argument 1 of 'CRYPTO_free'
discards 'const' qualifier from pointer target type [enabled by default]
OPENSSL_free(issuer);
^
In file included from /usr/include/openssl/bio.h:69:0,
from /usr/include/openssl/err.h:124,
from ../src/thrift/c_glib/transport/thrift_ssl_socket.h:25,
from testtransportsslsocket.c:32:
/usr/include/openssl/crypto.h:494:6: note: expected 'void *' but argument is of
type 'const unsigned char *'
void CRYPTO_free(void *ptr);
^
testtransportsslsocket.c:325:2: warning: ISO C90 forbids mixed declarations and
code [-Wpedantic]
const unsigned char * subject = get_cn_name(sname);
^
testtransportsslsocket.c:328:3: warning: ISO C90 forbids mixed declarations and
code [-Wpedantic]
gboolean valid = TRUE;
^
testtransportsslsocket.c:331:3: warning: pointer targets in passing argument 1
of 'strlen' differ in signedness [-Wpointer-sign]
if(strncmp(SUBJECT_CN_PINNING, subject, strlen(SUBJECT_CN_PINNING))){
^
In file included from /usr/include/openssl/pqueue.h:65:0,
from /usr/include/openssl/dtls1.h:64,
from /usr/include/openssl/ssl.h:1379,
from ../src/thrift/c_glib/transport/thrift_ssl_socket.h:27,
from testtransportsslsocket.c:32:
/usr/include/string.h:399:15: note: expected 'const char *' but argument is of
type 'const unsigned char *'
extern size_t strlen (const char *__s)
^
testtransportsslsocket.c:331:3: warning: pointer targets in passing argument 1
of '__builtin_strlen' differ in signedness [-Wpointer-sign]
if(strncmp(SUBJECT_CN_PINNING, subject, strlen(SUBJECT_CN_PINNING))){
^
testtransportsslsocket.c:331:3: note: expected 'const char *' but argument is
of type 'const unsigned char *'
testtransportsslsocket.c:331:3: warning: pointer targets in passing argument 2
of '__builtin_strcmp' differ in signedness [-Wpointer-sign]
testtransportsslsocket.c:331:3: note: expected 'const char *' but argument is
of type 'const unsigned char *'
testtransportsslsocket.c:331:3: warning: pointer targets in passing argument 2
of '__builtin_strcmp' differ in signedness [-Wpointer-sign]
testtransportsslsocket.c:331:3: note: expected 'const char *' but argument is
of type 'const unsigned char *'
testtransportsslsocket.c:331:3: warning: pointer targets in passing argument 1
of '__builtin_strlen' differ in signedness [-Wpointer-sign]
testtransportsslsocket.c:331:3: note: expected 'const char *' but argument is
of type 'const unsigned char *'
testtransportsslsocket.c:331:3: warning: pointer targets in passing argument 2
of '__builtin_strcmp' differ in signedness [-Wpointer-sign]
testtransportsslsocket.c:331:3: note: expected 'const char *' but argument is
of type 'const unsigned char *'
testtransportsslsocket.c:331:3: warning: pointer targets in passing argument 2
of '__builtin_strcmp' differ in signedness [-Wpointer-sign]
testtransportsslsocket.c:331:3: note: expected 'const char *' but argument is
of type 'const unsigned char *'
testtransportsslsocket.c:331:3: warning: pointer targets in passing argument 2
of 'strncmp' differ in signedness [-Wpointer-sign]
In file included from /usr/include/openssl/pqueue.h:65:0,
from /usr/include/openssl/dtls1.h:64,
from /usr/include/openssl/ssl.h:1379,
from ../src/thrift/c_glib/transport/thrift_ssl_socket.h:27,
from testtransportsslsocket.c:32:
/usr/include/string.h:147:12: note: expected 'const char *' but argument is of
type 'const unsigned char *'
extern int strncmp (const char *__s1, const char *__s2, size_t __n)
^
testtransportsslsocket.c:340:3: warning: passing argument 1 of 'verify_ip'
discards 'const' qualifier from pointer target type [enabled by default]
if(verify_ip(subject, addr)){
^
testtransportsslsocket.c:193:5: note: expected 'char *' but argument is of type
'const unsigned char *'
int verify_ip(char * hostname, struct sockaddr_storage *addr)
^
testtransportsslsocket.c:346:3: warning: passing argument 1 of 'CRYPTO_free'
discards 'const' qualifier from pointer target type [enabled by default]
OPENSSL_free(subject);
^
In file included from /usr/include/openssl/bio.h:69:0,
from /usr/include/openssl/err.h:124,
from ../src/thrift/c_glib/transport/thrift_ssl_socket.h:25,
from testtransportsslsocket.c:32:
/usr/include/openssl/crypto.h:494:6: note: expected 'void *' but argument is of
type 'const unsigned char *'
void CRYPTO_free(void *ptr);
^
testtransportsslsocket.c:352:2: warning: pointer targets in passing argument 2
of 'verify_certificate_sn' differ in signedness [-Wpointer-sign]
if(!verify_certificate_sn(cert, CERT_SERIAL_NUMBER)){
^
testtransportsslsocket.c:265:10: note: expected 'const unsigned char *' but
argument is of type 'char *'
gboolean verify_certificate_sn(X509 *cert, const unsigned char *serial_number)
^
testtransportsslsocket.c:301:19: warning: unused variable 'sslSocket'
[-Wunused-variable]
ThriftSSLSocket *sslSocket = THRIFT_SSL_SOCKET (transport);
^
testtransportsslsocket.c:299:109: warning: unused parameter 'error'
[-Wunused-parameter]
gboolean my_access_manager(ThriftTransport * transport, X509 *cert, struct
sockaddr_storage *addr, GError **error)
^
testtransportsslsocket.c: In function 'test_ssl_authorization_manager':
testtransportsslsocket.c:395:2: warning: ISO C90 forbids mixed declarations and
code [-Wpedantic]
unsigned char cert_buffer[65534];
^
testtransportsslsocket.c:396:2: warning: pointer targets in passing argument 1
of 'read_from_file' differ in signedness [-Wpointer-sign]
read_from_file(cert_buffer, 65534, "./owncloud.level2crm.pem");
^
testtransportsslsocket.c:238:1: note: expected 'char *' but argument is of type
'unsigned char *'
read_from_file(char *buffer, long size, const char *file_name)
^
testtransportsslsocket.c:397:2: warning: pointer targets in passing argument 2
of 'thrift_ssl_load_cert_from_buffer' differ in signedness [-Wpointer-sign]
if(!thrift_ssl_load_cert_from_buffer(tSSLsocket, cert_buffer)){
^
In file included from testtransportsslsocket.c:75:0:
../src/thrift/c_glib/transport/thrift_ssl_socket.c:354:10: note: expected
'const char *' but argument is of type 'unsigned char *'
gboolean thrift_ssl_load_cert_from_buffer(ThriftSSLSocket *ssl_socket, const
char chain_certs[])
^
testtransportsslsocket.c:370:8: warning: unused variable 'pid'
[-Wunused-variable]
pid_t pid;
^
testtransportsslsocket.c: In function 'thrift_ssl_socket_server':
testtransportsslsocket.c:35:19: warning: initializer-string for array of chars
is too long [enabled by default]
#define TEST_DATA { "GET / HTTP/1.1\n\n" }
^
testtransportsslsocket.c:529:21: note: in expansion of macro 'TEST_DATA'
guchar match[10] = TEST_DATA;
^
testtransportsslsocket.c: At top level:
testtransportsslsocket.c:523:1: warning: 'thrift_ssl_socket_server' defined but
not used [-Wunused-function]
thrift_ssl_socket_server (const int port)
^
/bin/bash ../../../libtool --tag=CC --mode=link gcc -g -Wall -Wextra
-pedantic -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include
-I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -g
-O2 -lglib-2.0 -lgobject-2.0 -lglib-2.0 -o testtransportsslsocket
testtransportsslsocket.o
../../../lib/c_glib/src/thrift/c_glib/transport/libthrift_c_glib_la-thrift_transport.o
../../../lib/c_glib/src/thrift/c_glib/transport/libthrift_c_glib_la-thrift_socket.o
../../../lib/c_glib/src/thrift/c_glib/transport/libthrift_c_glib_la-thrift_buffered_transport.o
../../../lib/c_glib/src/thrift/c_glib/transport/libthrift_c_glib_la-thrift_server_transport.o
../../../lib/c_glib/src/thrift/c_glib/transport/libthrift_c_glib_la-thrift_server_socket.o
-lrt -lpthread
libtool: link: gcc -g -Wall -Wextra -pedantic -I/usr/include/glib-2.0
-I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/glib-2.0
-I/usr/lib/x86_64-linux-gnu/glib-2.0/include -g -O2 -o testtransportsslsocket
testtransportsslsocket.o
../../../lib/c_glib/src/thrift/c_glib/transport/libthrift_c_glib_la-thrift_transport.o
../../../lib/c_glib/src/thrift/c_glib/transport/libthrift_c_glib_la-thrift_socket.o
../../../lib/c_glib/src/thrift/c_glib/transport/libthrift_c_glib_la-thrift_buffered_transport.o
../../../lib/c_glib/src/thrift/c_glib/transport/libthrift_c_glib_la-thrift_server_transport.o
../../../lib/c_glib/src/thrift/c_glib/transport/libthrift_c_glib_la-thrift_server_socket.o
-lgobject-2.0 -lglib-2.0 -lrt -lpthread
testtransportsslsocket.o: In function `thrift_ssl_socket_peek':
/thrift/lib/c_glib/test/../src/thrift/c_glib/transport/thrift_ssl_socket.c:109:
undefined reference to `SSL_peek'
/thrift/lib/c_glib/test/../src/thrift/c_glib/transport/thrift_ssl_socket.c:121:
undefined reference to `ERR_clear_error'
testtransportsslsocket.o: In function `thrift_ssl_socket_close':
/thrift/lib/c_glib/test/../src/thrift/c_glib/transport/thrift_ssl_socket.c:142:
undefined reference to `SSL_shutdown'
/thrift/lib/c_glib/test/../src/thrift/c_glib/transport/thrift_ssl_socket.c:150:
undefined reference to `SSL_free'
/thrift/lib/c_glib/test/../src/thrift/c_glib/transport/thrift_ssl_socket.c:152:
undefined reference to `ERR_remove_state'
testtransportsslsocket.o: In function `thrift_ssl_socket_write':
/thrift/lib/c_glib/test/../src/thrift/c_glib/transport/thrift_ssl_socket.c:215:
undefined reference to `SSL_write'
testtransportsslsocket.o: In function `thrift_ssl_socket_flush':
/thrift/lib/c_glib/test/../src/thrift/c_glib/transport/thrift_ssl_socket.c:251:
undefined reference to `SSL_get_wbio'
/thrift/lib/c_glib/test/../src/thrift/c_glib/transport/thrift_ssl_socket.c:258:
undefined reference to `BIO_ctrl'
testtransportsslsocket.o: In function `thrift_ssl_socket_create_ssl_context':
/thrift/lib/c_glib/test/../src/thrift/c_glib/transport/thrift_ssl_socket.c:320:
undefined reference to `SSL_new'
testtransportsslsocket.o: In function `thrift_ssl_load_cert_from_file':
/thrift/lib/c_glib/test/../src/thrift/c_glib/transport/thrift_ssl_socket.c:340:
undefined reference to `SSL_CTX_load_verify_locations'
/thrift/lib/c_glib/test/../src/thrift/c_glib/transport/thrift_ssl_socket.c:342:
undefined reference to `ERR_get_error'
/thrift/lib/c_glib/test/../src/thrift/c_glib/transport/thrift_ssl_socket.c:342:
undefined reference to `X509_verify_cert_error_string'
testtransportsslsocket.o: In function `thrift_ssl_load_cert_from_buffer':
/thrift/lib/c_glib/test/../src/thrift/c_glib/transport/thrift_ssl_socket.c:359:
undefined reference to `BIO_new_mem_buf'
/thrift/lib/c_glib/test/../src/thrift/c_glib/transport/thrift_ssl_socket.c:360:
undefined reference to `SSL_CTX_get_cert_store'
/thrift/lib/c_glib/test/../src/thrift/c_glib/transport/thrift_ssl_socket.c:367:
undefined reference to `X509_STORE_add_cert'
/thrift/lib/c_glib/test/../src/thrift/c_glib/transport/thrift_ssl_socket.c:368:
undefined reference to `X509_free'
/thrift/lib/c_glib/test/../src/thrift/c_glib/transport/thrift_ssl_socket.c:364:
undefined reference to `PEM_read_bio_X509'
/thrift/lib/c_glib/test/../src/thrift/c_glib/transport/thrift_ssl_socket.c:375:
undefined reference to `BIO_free'
/thrift/lib/c_glib/test/../src/thrift/c_glib/transport/thrift_ssl_socket.c:375:
undefined reference to `BIO_free'
testtransportsslsocket.o: In function `thrift_ssl_socket_authorize':
/thrift/lib/c_glib/test/../src/thrift/c_glib/transport/thrift_ssl_socket.c:388:
undefined reference to `SSL_get_verify_result'
/thrift/lib/c_glib/test/../src/thrift/c_glib/transport/thrift_ssl_socket.c:393:
undefined reference to `SSL_get_peer_certificate'
/thrift/lib/c_glib/test/../src/thrift/c_glib/transport/thrift_ssl_socket.c:424:
undefined reference to `X509_free'
/thrift/lib/c_glib/test/../src/thrift/c_glib/transport/thrift_ssl_socket.c:396:
undefined reference to `SSL_get_verify_mode'
/thrift/lib/c_glib/test/../src/thrift/c_glib/transport/thrift_ssl_socket.c:390:
undefined reference to `X509_verify_cert_error_string'
/thrift/lib/c_glib/test/../src/thrift/c_glib/transport/thrift_ssl_socket.c:411:
undefined reference to `X509_free'
testtransportsslsocket.o: In function `thrift_ssl_socket_initialize_openssl':
/thrift/lib/c_glib/test/../src/thrift/c_glib/transport/thrift_ssl_socket.c:501:
undefined reference to `SSL_library_init'
/thrift/lib/c_glib/test/../src/thrift/c_glib/transport/thrift_ssl_socket.c:502:
undefined reference to `ERR_load_crypto_strings'
/thrift/lib/c_glib/test/../src/thrift/c_glib/transport/thrift_ssl_socket.c:503:
undefined reference to `SSL_load_error_strings'
/thrift/lib/c_glib/test/../src/thrift/c_glib/transport/thrift_ssl_socket.c:504:
undefined reference to `ERR_load_BIO_strings'
/thrift/lib/c_glib/test/../src/thrift/c_glib/transport/thrift_ssl_socket.c:509:
undefined reference to `CRYPTO_set_locking_callback'
/thrift/lib/c_glib/test/../src/thrift/c_glib/transport/thrift_ssl_socket.c:511:
undefined reference to `CRYPTO_set_dynlock_create_callback'
/thrift/lib/c_glib/test/../src/thrift/c_glib/transport/thrift_ssl_socket.c:512:
undefined reference to `CRYPTO_set_dynlock_lock_callback'
testtransportsslsocket.o: In function `thrift_ssl_socket_finalize_openssl':
/thrift/lib/c_glib/test/../src/thrift/c_glib/transport/thrift_ssl_socket.c:522:
undefined reference to `SSL_CTX_free'
/thrift/lib/c_glib/test/../src/thrift/c_glib/transport/thrift_ssl_socket.c:533:
undefined reference to `CRYPTO_set_locking_callback'
/thrift/lib/c_glib/test/../src/thrift/c_glib/transport/thrift_ssl_socket.c:534:
undefined reference to `CRYPTO_set_dynlock_create_callback'
/thrift/lib/c_glib/test/../src/thrift/c_glib/transport/thrift_ssl_socket.c:535:
undefined reference to `CRYPTO_set_dynlock_lock_callback'
/thrift/lib/c_glib/test/../src/thrift/c_glib/transport/thrift_ssl_socket.c:536:
undefined reference to `CRYPTO_set_dynlock_destroy_callback'
/thrift/lib/c_glib/test/../src/thrift/c_glib/transport/thrift_ssl_socket.c:537:
undefined reference to `ERR_free_strings'
/thrift/lib/c_glib/test/../src/thrift/c_glib/transport/thrift_ssl_socket.c:538:
undefined reference to `EVP_cleanup'
/thrift/lib/c_glib/test/../src/thrift/c_glib/transport/thrift_ssl_socket.c:539:
undefined reference to `CRYPTO_cleanup_all_ex_data'
testtransportsslsocket.o: In function `thrift_ssl_socket_get_error':
/thrift/lib/c_glib/test/../src/thrift/c_glib/transport/thrift_ssl_socket.c:687:
undefined reference to `ERR_get_error'
/thrift/lib/c_glib/test/../src/thrift/c_glib/transport/thrift_ssl_socket.c:688:
undefined reference to `ERR_reason_error_string'
/thrift/lib/c_glib/test/../src/thrift/c_glib/transport/thrift_ssl_socket.c:687:
undefined reference to `ERR_get_error'
testtransportsslsocket.o: In function `thrift_ssl_socket_handle_handshake':
/thrift/lib/c_glib/test/../src/thrift/c_glib/transport/thrift_ssl_socket.c:287:
undefined reference to `SSL_set_fd'
/thrift/lib/c_glib/test/../src/thrift/c_glib/transport/thrift_ssl_socket.c:290:
undefined reference to `SSL_accept'
/thrift/lib/c_glib/test/../src/thrift/c_glib/transport/thrift_ssl_socket.c:292:
undefined reference to `SSL_connect'
/thrift/lib/c_glib/test/../src/thrift/c_glib/transport/thrift_ssl_socket.c:295:
undefined reference to `SSL_get_error'
testtransportsslsocket.o: In function `thrift_ssl_socket_context_initialize':
/thrift/lib/c_glib/test/../src/thrift/c_glib/transport/thrift_ssl_socket.c:657:
undefined reference to `TLSv1_2_method'
/thrift/lib/c_glib/test/../src/thrift/c_glib/transport/thrift_ssl_socket.c:657:
undefined reference to `SSL_CTX_new'
/thrift/lib/c_glib/test/../src/thrift/c_glib/transport/thrift_ssl_socket.c:671:
undefined reference to `SSL_CTX_ctrl'
/thrift/lib/c_glib/test/../src/thrift/c_glib/transport/thrift_ssl_socket.c:676:
undefined reference to `SSL_CTX_ctrl'
/thrift/lib/c_glib/test/../src/thrift/c_glib/transport/thrift_ssl_socket.c:677:
undefined reference to `SSL_CTX_ctrl'
/thrift/lib/c_glib/test/../src/thrift/c_glib/transport/thrift_ssl_socket.c:645:
undefined reference to `SSLv23_method'
/thrift/lib/c_glib/test/../src/thrift/c_glib/transport/thrift_ssl_socket.c:645:
undefined reference to `SSL_CTX_new'
/thrift/lib/c_glib/test/../src/thrift/c_glib/transport/thrift_ssl_socket.c:648:
undefined reference to `SSLv3_method'
/thrift/lib/c_glib/test/../src/thrift/c_glib/transport/thrift_ssl_socket.c:648:
undefined reference to `SSL_CTX_new'
/thrift/lib/c_glib/test/../src/thrift/c_glib/transport/thrift_ssl_socket.c:651:
undefined reference to `TLSv1_method'
/thrift/lib/c_glib/test/../src/thrift/c_glib/transport/thrift_ssl_socket.c:651:
undefined reference to `SSL_CTX_new'
/thrift/lib/c_glib/test/../src/thrift/c_glib/transport/thrift_ssl_socket.c:654:
undefined reference to `TLSv1_1_method'
/thrift/lib/c_glib/test/../src/thrift/c_glib/transport/thrift_ssl_socket.c:654:
undefined reference to `SSL_CTX_new'
testtransportsslsocket.o: In function `get_cn_name':
/thrift/lib/c_glib/test/testtransportsslsocket.c:167: undefined reference to
`X509_NAME_get_index_by_NID'
/thrift/lib/c_glib/test/testtransportsslsocket.c:170: undefined reference to
`X509_NAME_get_entry'
/thrift/lib/c_glib/test/testtransportsslsocket.c:173: undefined reference to
`X509_NAME_ENTRY_get_data'
/thrift/lib/c_glib/test/testtransportsslsocket.c:176: undefined reference to
`ASN1_STRING_to_UTF8'
testtransportsslsocket.o: In function `verify_certificate_sn':
/thrift/lib/c_glib/test/testtransportsslsocket.c:269: undefined reference to
`X509_get_serialNumber'
/thrift/lib/c_glib/test/testtransportsslsocket.c:271: undefined reference to
`ASN1_INTEGER_to_BN'
/thrift/lib/c_glib/test/testtransportsslsocket.c:276: undefined reference to
`BN_bn2dec'
/thrift/lib/c_glib/test/testtransportsslsocket.c:294: undefined reference to
`BN_free'
/thrift/lib/c_glib/test/testtransportsslsocket.c:295: undefined reference to
`CRYPTO_free'
/thrift/lib/c_glib/test/testtransportsslsocket.c:279: undefined reference to
`BN_free'
testtransportsslsocket.o: In function `my_access_manager':
/thrift/lib/c_glib/test/testtransportsslsocket.c:304: undefined reference to
`X509_get_issuer_name'
/thrift/lib/c_glib/test/testtransportsslsocket.c:305: undefined reference to
`X509_get_subject_name'
/thrift/lib/c_glib/test/testtransportsslsocket.c:318: undefined reference to
`CRYPTO_free'
/thrift/lib/c_glib/test/testtransportsslsocket.c:346: undefined reference to
`CRYPTO_free'
/thrift/lib/c_glib/test/testtransportsslsocket.c:346: undefined reference to
`CRYPTO_free'
testtransportsslsocket.o: In function `thrift_ssl_socket_read':
/thrift/lib/c_glib/test/../src/thrift/c_glib/transport/thrift_ssl_socket.c:168:
undefined reference to `SSL_read'
testtransportsslsocket.o: In function `thrift_ssl_socket_initialize_openssl':
/thrift/lib/c_glib/test/../src/thrift/c_glib/transport/thrift_ssl_socket.c:513:
undefined reference to `CRYPTO_set_dynlock_destroy_callback'
testtransportsslsocket.o: In function `thrift_ssl_socket_finalize_openssl':
/thrift/lib/c_glib/test/../src/thrift/c_glib/transport/thrift_ssl_socket.c:540:
undefined reference to `ERR_remove_state'
collect2: error: ld returned 1 exit status
make[6]: *** [testtransportsslsocket] Error 1
make[6]: Leaving directory `/thrift/lib/c_glib/test'
make[5]: *** [check-am] Error 2
make[5]: Leaving directory `/thrift/lib/c_glib/test'
make[4]: *** [check-recursive] Error 1
make[4]: Leaving directory `/thrift/lib/c_glib/test'
make[3]: *** [check] Error 2
make[3]: Leaving directory `/thrift/lib/c_glib/test'
make[2]: *** [check-recursive] Error 1
make[2]: Leaving directory `/thrift/lib/c_glib'
make[1]: *** [check-recursive] Error 1
make[1]: Leaving directory `/thrift/lib'
make: *** [check-recursive] Error 1
Build step 'Execute shell' marked build as failure
[WARNINGS] Skipping publisher since build result is FAILURE
[TASKS] Skipping publisher since build result is FAILURE
Archiving artifacts
Compressed 140.52 MB of artifacts by 99.9% relative to #272
Publishing Javadoc