Re: [PATCH 0/1] Update imap-send.c, fix incompatibilities with OpenSSL 1.1.x
- From
Johannes Schindelin <johannes.schindelin@gmx.de>
- Date
- Jan 7, 2020, 12:19 UTC
- Message-ID
- <nycvar.QRO.7.76.6.2001071313580.46@tvgsbejvaqbjf.bet>
- In-Reply-To
- <pull.516.git.1578391376.gitgitgadget@gmail.com>
Hi Liam,
On Tue, 7 Jan 2020, Liam Huang via GitGitGadget wrote:
> Some APIs have been changed since OpenSSL 1.1.0, so fix incompatibilities > with OpenSSL 1.1.x.
In your PR, the "Checks" tab shows that this breaks the build for all non-32-bit Linux builds and for Windows. Here is an excerpt of the failed `linux-clang` build:
-- snip --
[...]
imap-send.c:253:43: error: incompatible pointer types passing 'struct stack_st_GENERAL_NAME *' to parameter of type 'const OPENSSL_STACK *' (aka 'const struct stack_st *') [-Werror,-Wincompatible-pointer-types]
int num_subj_alt_names = OPENSSL_sk_num(subj_alt_names);
^~~~~~~~~~~~~~
/usr/include/openssl/stack.h:23:41: note: passing argument to parameter here
int OPENSSL_sk_num(const OPENSSL_STACK *);
^
imap-send.c:260:51: error: incompatible pointer types passing 'struct stack_st_GENERAL_NAME *' to parameter of type 'const OPENSSL_STACK *' (aka 'const struct stack_st *') [-Werror,-Wincompatible-pointer-types]
GENERAL_NAME *subj_alt_name = OPENSSL_sk_value(subj_alt_names, i);
^~~~~~~~~~~~~~
/usr/include/openssl/stack.h:24:45: note: passing argument to parameter here
void *OPENSSL_sk_value(const OPENSSL_STACK *, int);
^
imap-send.c:270:23: error: incompatible pointer types passing 'struct stack_st_GENERAL_NAME *' to parameter of type 'OPENSSL_STACK *' (aka 'struct stack_st *') [-Werror,-Wincompatible-pointer-types]
OPENSSL_sk_pop_free(subj_alt_names, GENERAL_NAME_free);
^~~~~~~~~~~~~~
/usr/include/openssl/stack.h:33:41: note: passing argument to parameter 'st' here
void OPENSSL_sk_pop_free(OPENSSL_STACK *st, void (*func) (void *));
^
imap-send.c:270:39: error: incompatible pointer types passing 'void (GENERAL_NAME *)' (aka 'void (struct GENERAL_NAME_st *)') to parameter of type 'void (*)(void *)' [-Werror,-Wincompatible-pointer-types]
OPENSSL_sk_pop_free(subj_alt_names, GENERAL_NAME_free);
^~~~~~~~~~~~~~~~~
/usr/include/openssl/stack.h:33:52: note: passing argument to parameter 'func' here
void OPENSSL_sk_pop_free(OPENSSL_STACK *st, void (*func) (void *));
^
4 errors generated.
Makefile:2382: recipe for target 'imap-send.o' failed
-- snap --For the full build logs, please have a look at https://dev.azure.com/gitgitgadget/git/_build/results?buildId=25858&view=logs&j=8f20da19-31b7-5cef-4813-95b8788bd086&t=56027f08-fde3-50ad-0c9a-5ec7df432ed0
Could you fix those compile errors, please?
While at it, please also fix your author email: it should match your _real_ email address, i.e. "liamhuang0205@gmail.com", not "Liam0205@users.noreply.github.com".
Thank you, Johannes