curl / Mailing Lists / curl-library / Single Mail
Buy commercial curl support from WolfSSL. We help you work out your issues, debug your libcurl applications, use the API, port to new platforms, add new features and more. With a team lead by the curl founder himself.

Build compilation error with DES and build without NTML

From: shiftag via curl-library <curl-library_at_cool.haxx.se>
Date: Sun, 24 May 2020 13:03:58 +0400

Hello,

I have an issue with libcurl with DES library coming from OpenSSL. I
have the following errors:

curl_ntlm_core.c:147:27: error: unknown type name ‘DES_key_schedule’
  147 |                           DES_key_schedule DESKEYARG(ks))
      |                           ^~~~~~~~~~~~~~~~
curl_ntlm_core.c: In function ‘Curl_ntlm_core_lm_resp’:
curl_ntlm_core.c:391:3: error: unknown type name ‘DES_key_schedule’
  391 |   DES_key_schedule ks;
      |   ^~~~~~~~~~~~~~~~
curl_ntlm_core.c:393:3: error: implicit declaration of function
‘setup_des_key’ [-Werror=implicit-function-declaration]
  393 |   setup_des_key(keys, DESKEY(ks));
      |   ^~~~~~~~~~~~~
curl_ntlm_core.c:394:3: error: implicit declaration of function
‘DES_ecb_encrypt’ [-Werror=implicit-function-declaration]
  394 |   DES_ecb_encrypt((DES_cblock*) plaintext, (DES_cblock*) results,
      |   ^~~~~~~~~~~~~~~
curl_ntlm_core.c:394:20: error: ‘DES_cblock’ undeclared (first use in
this function)
  394 |   DES_ecb_encrypt((DES_cblock*) plaintext, (DES_cblock*) results,
      |                    ^~~~~~~~~~
curl_ntlm_core.c:394:20: note: each undeclared identifier is reported
only once for each function it appears in
curl_ntlm_core.c:394:31: error: expected expression before ‘)’ token
  394 |   DES_ecb_encrypt((DES_cblock*) plaintext, (DES_cblock*) results,
      |                               ^
curl_ntlm_core.c:398:31: error: expected expression before ‘)’ token
  398 |   DES_ecb_encrypt((DES_cblock*) plaintext, (DES_cblock*)
(results + 8),
      |                               ^
curl_ntlm_core.c:402:31: error: expected expression before ‘)’ token
  402 |   DES_ecb_encrypt((DES_cblock*) plaintext, (DES_cblock*)
(results + 16),
      |                               ^
curl_ntlm_core.c: In function ‘Curl_ntlm_core_mk_lm_hash’:
curl_ntlm_core.c:466:5: error: unknown type name ‘DES_key_schedule’
  466 |     DES_key_schedule ks;
      |     ^~~~~~~~~~~~~~~~
curl_ntlm_core.c:469:22: error: ‘DES_cblock’ undeclared (first use in
this function)
  469 |     DES_ecb_encrypt((DES_cblock *)magic, (DES_cblock *)lmbuffer,
      |                      ^~~~~~~~~~
curl_ntlm_core.c:469:34: error: expected expression before ‘)’ token
  469 |     DES_ecb_encrypt((DES_cblock *)magic, (DES_cblock *)lmbuffer,
      |                                  ^
curl_ntlm_core.c:473:34: error: expected expression before ‘)’ token
  473 |     DES_ecb_encrypt((DES_cblock *)magic, (DES_cblock *)(lmbuffer
+ 8),
      |                                  ^
cc1: some warnings being treated as errors
make[3]: *** [Makefile:1781: libcurl_la-curl_ntlm_core.lo] Error 1
[...]

The thing is I would like to build it without NTML functionality.

I am building libcurl and OpenSSL library statically with the following
command line:

-- OpenSSL

        $  ./config --release no-shared no-dso no-engine no-psk no-ec2m
no-comp no-srtp no-weak-ssl-ciphers no-deprecated no-afalgeng no-capieng
no-cms no-dgram no-hw-padlock no-makedepend no-nextprotoneg no-ocsp
no-tests no-ts --prefix=$(DEPINST) --openssldir=$(DEPINST) && make &&
make install_sw && cp apps/openssl $(DEPINST)/bin

-- LibCurl

        $ ./buildconf && PKG_CONFIG_PATH=$(DEPINST)/lib/pkgconfig
PKG_CONFIG="pkg-config --static" ./configure --disable-shared
--enable-static --disable-ntlm-wb --without-ntlm --without-ntlm-auth
--disable-ldap --disable-telnet --disable-ipv6 --disable-ldaps
--disable-ftp --disable-ftps --disable-rtsp --disable-tftp
--disable-pop3 --disable-imap --disable-smb --disable-smtp
--disable-gopher --without-brotli --without-librtmp
--with-ssl=$(DEPINST) --with-libssl-prefix=$(DEPINST)
--with-ca-bundle=$(DEPINST)/etc/pki/tls/certs/ca-bundle.crt
--prefix=$(DEPINST) && make && make install
                                              

I'm using curl-7_70_0-127-g5d965b489 version from github.

-------------------------------------------------------------------
Unsubscribe: https://cool.haxx.se/list/listinfo/curl-library
Etiquette: https://curl.haxx.se/mail/etiquette.html
Received on 2020-05-24