Hi,

Among other things, OpenSSL 1.1 apparently turns all previously inspectable structs opaque. They now require you to hold them by pointer, use accessor functions to access their fields, and use the new/free functions to make/destroy them.

A quick Bing search revealed this wiki page: https://wiki.openssl.org/index.php/1.1_API_Changes

On 02/16/2017 10:52 AM, Justin Piszcz wrote:
Hello,

lftp-4.7.6 on Debian x86-64-


make[2]: Entering directory '/home/user/lftp-4.7.6/src'
/bin/bash ../libtool --silent  --tag=CXX   --mode=link g++  -O2 -Wall
-Wwrite-strings -Woverloaded-virtual -fno-exceptions -fno-rtti
-fno-implement-inlines -avoid-version -rpath
/app/lftp-4.7.6-x86_64/lib/lftp/4.7.6 -s -o liblftp-pty.la  PtyShell.lo
lftp_pty.lo SSH_Access.lo  -lutil -ltinfo -ldl
ar: `u' modifier ignored since `D' is the default (see `U')
/bin/bash ../libtool --silent  --tag=CXX   --mode=compile g++
-DHAVE_CONFIG_H -I. -I../lib  -I../lib -I../trio  -I/usr/include    -O2
-Wall -Wwrite-strings -Woverloaded-virtual -fno-exceptions -fno-rtti
-fno-implement-inlines -MT liblftp_network_la-lftp_ssl.lo -MD -MP -MF
.deps/liblftp_network_la-lftp_ssl.Tpo -c -o liblftp_network_la-lftp_ssl.lo
`test -f 'lftp_ssl.cc' || echo './'`lftp_ssl.cc
lftp_ssl.cc: In static member function 'static int
lftp_ssl_openssl::verify_crl(X509_STORE_CTX*)':
lftp_ssl.cc:1069:17: error: aggregate 'X509_OBJECT obj' has incomplete type
and cannot be defined
      X509_OBJECT obj;
                  ^~~
lftp_ssl.cc:1075:20: error: aggregate 'X509_STORE_CTX store_ctx' has
incomplete type and cannot be defined
      X509_STORE_CTX store_ctx;
                     ^~~~~~~~~
lftp_ssl.cc:1141:43: error: 'X509_OBJECT_free_contents' was not declared in
this scope
              X509_OBJECT_free_contents(&obj);
                                            ^
lftp_ssl.cc:1148:35: warning: 'ASN1_TIME*
X509_CRL_get_nextUpdate(X509_CRL*)' is deprecated
[-Wdeprecated-declarations]
          i = X509_cmp_current_time(X509_CRL_get_nextUpdate(crl));
                                    ^~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/openssl/x509_vfy.h:20:0,
                  from /usr/include/openssl/x509.h:309,
                  from /usr/include/openssl/ssl.h:50,
                  from lftp_ssl.h:27,
                  from lftp_ssl.cc:30:
/usr/include/openssl/x509.h:709:1: note: declared here
  DEPRECATEDIN_1_1_0(ASN1_TIME *X509_CRL_get_nextUpdate(X509_CRL *crl))
  ^
lftp_ssl.cc:1148:62: warning: 'ASN1_TIME*
X509_CRL_get_nextUpdate(X509_CRL*)' is deprecated
[-Wdeprecated-declarations]
          i = X509_cmp_current_time(X509_CRL_get_nextUpdate(crl));
                                                               ^
In file included from /usr/include/openssl/x509_vfy.h:20:0,
                  from /usr/include/openssl/x509.h:309,
                  from /usr/include/openssl/ssl.h:50,
                  from lftp_ssl.h:27,
                  from lftp_ssl.cc:30:
/usr/include/openssl/x509.h:709:1: note: declared here
  DEPRECATEDIN_1_1_0(ASN1_TIME *X509_CRL_get_nextUpdate(X509_CRL *crl))
  ^
lftp_ssl.cc:1152:43: error: 'X509_OBJECT_free_contents' was not declared in
this scope
              X509_OBJECT_free_contents(&obj);
                                            ^
lftp_ssl.cc:1158:43: error: 'X509_OBJECT_free_contents' was not declared in
this scope
              X509_OBJECT_free_contents(&obj);
                                            ^
lftp_ssl.cc:1161:39: error: 'X509_OBJECT_free_contents' was not declared in
this scope
          X509_OBJECT_free_contents(&obj);
                                        ^
lftp_ssl.cc:1180:41: error: invalid use of incomplete type 'X509_REVOKED
{aka struct x509_revoked_st}'
              if (ASN1_INTEGER_cmp(revoked->serialNumber,
X509_get_serialNumber(xs)) == 0) {
                                          ^~
In file included from /usr/include/openssl/crypto.h:31:0,
                  from /usr/include/openssl/comp.h:16,
                  from /usr/include/openssl/ssl.h:47,
                  from lftp_ssl.h:27,
                  from lftp_ssl.cc:30:
/usr/include/openssl/ossl_typ.h:123:16: note: forward declaration of
'X509_REVOKED {aka struct x509_revoked_st}'
  typedef struct x509_revoked_st X509_REVOKED;
                 ^~~~~~~~~~~~~~~
lftp_ssl.cc:1181:50: error: invalid use of incomplete type 'X509_REVOKED
{aka struct x509_revoked_st}'
                  serial = ASN1_INTEGER_get(revoked->serialNumber);
                                                   ^~
In file included from /usr/include/openssl/crypto.h:31:0,
                  from /usr/include/openssl/comp.h:16,
                  from /usr/include/openssl/ssl.h:47,
                  from lftp_ssl.h:27,
                  from lftp_ssl.cc:30:
/usr/include/openssl/ossl_typ.h:123:16: note: forward declaration of
'X509_REVOKED {aka struct x509_revoked_st}'
  typedef struct x509_revoked_st X509_REVOKED;
                 ^~~~~~~~~~~~~~~
lftp_ssl.cc:1189:47: error: 'X509_OBJECT_free_contents' was not declared in
this scope
                  X509_OBJECT_free_contents(&obj);
                                                ^
lftp_ssl.cc:1193:39: error: 'X509_OBJECT_free_contents' was not declared in
this scope
          X509_OBJECT_free_contents(&obj);
                                        ^
lftp_ssl.cc: In member function 'void
lftp_ssl_openssl::check_certificate()':
lftp_ssl.cc:1425:38: warning: 'unsigned char*
ASN1_STRING_data(ASN1_STRING*)' is deprecated [-Wdeprecated-declarations]
          const char *altptr = (char *)ASN1_STRING_data(check->d.ia5);
                                       ^~~~~~~~~~~~~~~~
In file included from /usr/include/openssl/bn.h:31:0,
                  from /usr/include/openssl/asn1.h:24,
                  from /usr/include/openssl/objects.h:916,
                  from /usr/include/openssl/evp.h:27,
                  from /usr/include/openssl/x509.h:23,
                  from /usr/include/openssl/ssl.h:50,
                  from lftp_ssl.h:27,
                  from lftp_ssl.cc:30:
/usr/include/openssl/asn1.h:553:1: note: declared here
  DEPRECATEDIN_1_1_0(unsigned char *ASN1_STRING_data(ASN1_STRING *x))
  ^
lftp_ssl.cc:1425:67: warning: 'unsigned char*
ASN1_STRING_data(ASN1_STRING*)' is deprecated [-Wdeprecated-declarations]
          const char *altptr = (char *)ASN1_STRING_data(check->d.ia5);
                                                                    ^
In file included from /usr/include/openssl/bn.h:31:0,
                  from /usr/include/openssl/asn1.h:24,
                  from /usr/include/openssl/objects.h:916,
                  from /usr/include/openssl/evp.h:27,
                  from /usr/include/openssl/x509.h:23,
                  from /usr/include/openssl/ssl.h:50,
                  from lftp_ssl.h:27,
                  from lftp_ssl.cc:30:
/usr/include/openssl/asn1.h:553:1: note: declared here
  DEPRECATEDIN_1_1_0(unsigned char *ASN1_STRING_data(ASN1_STRING *x))
  ^
lftp_ssl.cc:1504:31: warning: 'unsigned char*
ASN1_STRING_data(ASN1_STRING*)' is deprecated [-Wdeprecated-declarations]
                memcpy(peer_CN, ASN1_STRING_data(tmp), j);
                                ^~~~~~~~~~~~~~~~
In file included from /usr/include/openssl/bn.h:31:0,
                  from /usr/include/openssl/asn1.h:24,
                  from /usr/include/openssl/objects.h:916,
                  from /usr/include/openssl/evp.h:27,
                  from /usr/include/openssl/x509.h:23,
                  from /usr/include/openssl/ssl.h:50,
                  from lftp_ssl.h:27,
                  from lftp_ssl.cc:30:
/usr/include/openssl/asn1.h:553:1: note: declared here
  DEPRECATEDIN_1_1_0(unsigned char *ASN1_STRING_data(ASN1_STRING *x))
  ^
lftp_ssl.cc:1504:51: warning: 'unsigned char*
ASN1_STRING_data(ASN1_STRING*)' is deprecated [-Wdeprecated-declarations]
                memcpy(peer_CN, ASN1_STRING_data(tmp), j);
                                                    ^
In file included from /usr/include/openssl/bn.h:31:0,
                  from /usr/include/openssl/asn1.h:24,
                  from /usr/include/openssl/objects.h:916,
                  from /usr/include/openssl/evp.h:27,
                  from /usr/include/openssl/x509.h:23,
                  from /usr/include/openssl/ssl.h:50,
                  from lftp_ssl.h:27,
                  from lftp_ssl.cc:30:
/usr/include/openssl/asn1.h:553:1: note: declared here
  DEPRECATEDIN_1_1_0(unsigned char *ASN1_STRING_data(ASN1_STRING *x))
  ^
Makefile:2258: recipe for target 'liblftp_network_la-lftp_ssl.lo' failed
make[2]: *** [liblftp_network_la-lftp_ssl.lo] Error 1
make[2]: Leaving directory '/home/user/lftp-4.7.6/src'
Makefile:1639: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/home/user/lftp-4.7.6'
Makefile:1584: recipe for target 'all' failed
make: *** [all] Error 2
Command exited with non-zero status 2
0.76user 0.07system 0:00.90elapsed 92%CPU (0avgtext+0avgdata
48060maxresident)k
208inputs+192outputs (5major+40844minor)pagefaults 0swaps

Justin.

_______________________________________________
lftp mailing list
lftp@uniyar.ac.ru
http://univ.uniyar.ac.ru/mailman/listinfo/lftp

_______________________________________________
lftp mailing list
lftp@uniyar.ac.ru
http://univ.uniyar.ac.ru/mailman/listinfo/lftp

Reply via email to