Source: libfreefare
Version: 0.4.0-2.2
Severity: serious
Justification: FTBFS
Tags: trixie sid ftbfs
User: lu...@debian.org
Usertags: ftbfs-20240313 ftbfs-trixie ftbfs-impfuncdef

Hi,

During a rebuild of all packages in sid, your package failed to build
on amd64.

This is most likely caused by a change in dpkg 1.22.6, that enabled
-Werror=implicit-function-declaration. For more information, see
https://wiki.debian.org/qa.debian.org/FTBFS#A2024-03-13_-Werror.3Dimplicit-function-declaration

Relevant part (hopefully):
> /bin/bash ../libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I..  
>  -Wdate-time -D_FORTIFY_SOURCE=2   -g -O2 
> -Werror=implicit-function-declaration -ffile-prefix-map=/<<PKGBUILDDIR>>=. 
> -fstack-protector-strong -fstack-clash-protection -Wformat 
> -Werror=format-security -fcf-protection -std=c99 -c -o 
> mifare_desfire_crypto.lo mifare_desfire_crypto.c
> libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time 
> -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration 
> -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong 
> -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection 
> -std=c99 -c mifare_desfire_crypto.c  -fPIC -DPIC -o 
> .libs/mifare_desfire_crypto.o
> In file included from /usr/include/x86_64-linux-gnu/sys/types.h:25,
>                  from mifare_desfire_crypto.c:32:
> /usr/include/features.h:195:3: warning: #warning "_BSD_SOURCE and 
> _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE" [-Wcpp]
>   195 | # warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use 
> _DEFAULT_SOURCE"
>       |   ^~~~~~~
> mifare_desfire_crypto.c: In function ‘cmac’:
> mifare_desfire_crypto.c:139:23: error: implicit declaration of function 
> ‘malloc’ [-Werror=implicit-function-declaration]
>   139 |     uint8_t *buffer = malloc (padded_data_length (len, kbs));
>       |                       ^~~~~~
> mifare_desfire_crypto.c:69:1: note: include ‘<stdlib.h>’ or provide a 
> declaration of ‘malloc’
>    68 | #include "freefare_internal.h"
>   +++ |+#include <stdlib.h>
>    69 | 
> mifare_desfire_crypto.c:139:23: warning: incompatible implicit declaration of 
> built-in function ‘malloc’ [-Wbuiltin-declaration-mismatch]
>   139 |     uint8_t *buffer = malloc (padded_data_length (len, kbs));
>       |                       ^~~~~~
> mifare_desfire_crypto.c:139:23: note: include ‘<stdlib.h>’ or provide a 
> declaration of ‘malloc’
> mifare_desfire_crypto.c:142:9: error: implicit declaration of function 
> ‘abort’ [-Werror=implicit-function-declaration]
>   142 |         abort();
>       |         ^~~~~
> mifare_desfire_crypto.c:142:9: note: include ‘<stdlib.h>’ or provide a 
> declaration of ‘abort’
> mifare_desfire_crypto.c:142:9: warning: incompatible implicit declaration of 
> built-in function ‘abort’ [-Wbuiltin-declaration-mismatch]
> mifare_desfire_crypto.c:142:9: note: include ‘<stdlib.h>’ or provide a 
> declaration of ‘abort’
> mifare_desfire_crypto.c:160:5: error: implicit declaration of function ‘free’ 
> [-Werror=implicit-function-declaration]
>   160 |     free (buffer);
>       |     ^~~~
> mifare_desfire_crypto.c:160:5: note: include ‘<stdlib.h>’ or provide a 
> declaration of ‘free’
> mifare_desfire_crypto.c:160:5: warning: incompatible implicit declaration of 
> built-in function ‘free’ [-Wbuiltin-declaration-mismatch]
> mifare_desfire_crypto.c:160:5: note: include ‘<stdlib.h>’ or provide a 
> declaration of ‘free’
> mifare_desfire_crypto.c: In function ‘assert_crypto_buffer_size’:
> mifare_desfire_crypto.c:290:20: error: implicit declaration of function 
> ‘realloc’ [-Werror=implicit-function-declaration]
>   290 |         if ((res = realloc (MIFARE_DESFIRE (tag)->crypto_buffer, 
> nbytes))) {
>       |                    ^~~~~~~
> mifare_desfire_crypto.c:290:20: note: include ‘<stdlib.h>’ or provide a 
> declaration of ‘realloc’
> mifare_desfire_crypto.c:290:20: warning: incompatible implicit declaration of 
> built-in function ‘realloc’ [-Wbuiltin-declaration-mismatch]
> mifare_desfire_crypto.c:290:20: note: include ‘<stdlib.h>’ or provide a 
> declaration of ‘realloc’
> mifare_desfire_crypto.c: In function ‘mifare_cryto_preprocess_data’:
> mifare_desfire_crypto.c:337:17: warning: incompatible implicit declaration of 
> built-in function ‘abort’ [-Wbuiltin-declaration-mismatch]
>   337 |                 abort();
>       |                 ^~~~~
> mifare_desfire_crypto.c:337:17: note: include ‘<stdlib.h>’ or provide a 
> declaration of ‘abort’
> mifare_desfire_crypto.c:356:17: warning: incompatible implicit declaration of 
> built-in function ‘abort’ [-Wbuiltin-declaration-mismatch]
>   356 |                 abort();
>       |                 ^~~~~
> mifare_desfire_crypto.c:356:17: note: include ‘<stdlib.h>’ or provide a 
> declaration of ‘abort’
> mifare_desfire_crypto.c:370:21: warning: incompatible implicit declaration of 
> built-in function ‘abort’ [-Wbuiltin-declaration-mismatch]
>   370 |                     abort();
>       |                     ^~~~~
> mifare_desfire_crypto.c:370:21: note: include ‘<stdlib.h>’ or provide a 
> declaration of ‘abort’
> mifare_desfire_crypto.c:400:17: warning: incompatible implicit declaration of 
> built-in function ‘abort’ [-Wbuiltin-declaration-mismatch]
>   400 |                 abort();
>       |                 ^~~~~
> mifare_desfire_crypto.c:400:17: note: include ‘<stdlib.h>’ or provide a 
> declaration of ‘abort’
> mifare_desfire_crypto.c: In function ‘mifare_cryto_postprocess_data’:
> mifare_desfire_crypto.c:468:25: warning: incompatible implicit declaration of 
> built-in function ‘malloc’ [-Wbuiltin-declaration-mismatch]
>   468 |                 edata = malloc (edl);
>       |                         ^~~~~~
> mifare_desfire_crypto.c:468:25: note: include ‘<stdlib.h>’ or provide a 
> declaration of ‘malloc’
> mifare_desfire_crypto.c:494:21: warning: incompatible implicit declaration of 
> built-in function ‘abort’ [-Wbuiltin-declaration-mismatch]
>   494 |                     abort ();
>       |                     ^~~~~
> mifare_desfire_crypto.c:494:21: note: include ‘<stdlib.h>’ or provide a 
> declaration of ‘abort’
> mifare_desfire_crypto.c:521:9: warning: incompatible implicit declaration of 
> built-in function ‘free’ [-Wbuiltin-declaration-mismatch]
>   521 |         free (edata);
>       |         ^~~~
> mifare_desfire_crypto.c:521:9: note: include ‘<stdlib.h>’ or provide a 
> declaration of ‘free’
> mifare_desfire_crypto.c: In function ‘mifare_cypher_single_block’:
> mifare_desfire_crypto.c:669:13: warning: ‘DES_ecb_encrypt’ is deprecated: 
> Since OpenSSL 3.0 [-Wdeprecated-declarations]
>   669 |             DES_ecb_encrypt ((DES_cblock *) data, (DES_cblock *) 
> edata, &(key->ks1), DES_ENCRYPT);
>       |             ^~~~~~~~~~~~~~~
> In file included from mifare_desfire_crypto.c:57:
> /usr/include/openssl/des.h:105:6: note: declared here
>   105 | void DES_ecb_encrypt(const_DES_cblock *input, DES_cblock *output,
>       |      ^~~~~~~~~~~~~~~
> mifare_desfire_crypto.c:672:13: warning: ‘DES_ecb_encrypt’ is deprecated: 
> Since OpenSSL 3.0 [-Wdeprecated-declarations]
>   672 |             DES_ecb_encrypt ((DES_cblock *) data, (DES_cblock *) 
> edata, &(key->ks1), DES_DECRYPT);
>       |             ^~~~~~~~~~~~~~~
> /usr/include/openssl/des.h:105:6: note: declared here
>   105 | void DES_ecb_encrypt(const_DES_cblock *input, DES_cblock *output,
>       |      ^~~~~~~~~~~~~~~
> mifare_desfire_crypto.c:679:13: warning: ‘DES_ecb_encrypt’ is deprecated: 
> Since OpenSSL 3.0 [-Wdeprecated-declarations]
>   679 |             DES_ecb_encrypt ((DES_cblock *) data,  (DES_cblock *) 
> edata, &(key->ks1), DES_ENCRYPT);
>       |             ^~~~~~~~~~~~~~~
> /usr/include/openssl/des.h:105:6: note: declared here
>   105 | void DES_ecb_encrypt(const_DES_cblock *input, DES_cblock *output,
>       |      ^~~~~~~~~~~~~~~
> mifare_desfire_crypto.c:680:13: warning: ‘DES_ecb_encrypt’ is deprecated: 
> Since OpenSSL 3.0 [-Wdeprecated-declarations]
>   680 |             DES_ecb_encrypt ((DES_cblock *) edata, (DES_cblock *) 
> data,  &(key->ks2), DES_DECRYPT);
>       |             ^~~~~~~~~~~~~~~
> /usr/include/openssl/des.h:105:6: note: declared here
>   105 | void DES_ecb_encrypt(const_DES_cblock *input, DES_cblock *output,
>       |      ^~~~~~~~~~~~~~~
> mifare_desfire_crypto.c:681:13: warning: ‘DES_ecb_encrypt’ is deprecated: 
> Since OpenSSL 3.0 [-Wdeprecated-declarations]
>   681 |             DES_ecb_encrypt ((DES_cblock *) data,  (DES_cblock *) 
> edata, &(key->ks1), DES_ENCRYPT);
>       |             ^~~~~~~~~~~~~~~
> /usr/include/openssl/des.h:105:6: note: declared here
>   105 | void DES_ecb_encrypt(const_DES_cblock *input, DES_cblock *output,
>       |      ^~~~~~~~~~~~~~~
> mifare_desfire_crypto.c:684:13: warning: ‘DES_ecb_encrypt’ is deprecated: 
> Since OpenSSL 3.0 [-Wdeprecated-declarations]
>   684 |             DES_ecb_encrypt ((DES_cblock *) data,  (DES_cblock *) 
> edata, &(key->ks1), DES_DECRYPT);
>       |             ^~~~~~~~~~~~~~~
> /usr/include/openssl/des.h:105:6: note: declared here
>   105 | void DES_ecb_encrypt(const_DES_cblock *input, DES_cblock *output,
>       |      ^~~~~~~~~~~~~~~
> mifare_desfire_crypto.c:685:13: warning: ‘DES_ecb_encrypt’ is deprecated: 
> Since OpenSSL 3.0 [-Wdeprecated-declarations]
>   685 |             DES_ecb_encrypt ((DES_cblock *) edata, (DES_cblock *) 
> data,  &(key->ks2), DES_ENCRYPT);
>       |             ^~~~~~~~~~~~~~~
> /usr/include/openssl/des.h:105:6: note: declared here
>   105 | void DES_ecb_encrypt(const_DES_cblock *input, DES_cblock *output,
>       |      ^~~~~~~~~~~~~~~
> mifare_desfire_crypto.c:686:13: warning: ‘DES_ecb_encrypt’ is deprecated: 
> Since OpenSSL 3.0 [-Wdeprecated-declarations]
>   686 |             DES_ecb_encrypt ((DES_cblock *) data,  (DES_cblock *) 
> edata, &(key->ks1), DES_DECRYPT);
>       |             ^~~~~~~~~~~~~~~
> /usr/include/openssl/des.h:105:6: note: declared here
>   105 | void DES_ecb_encrypt(const_DES_cblock *input, DES_cblock *output,
>       |      ^~~~~~~~~~~~~~~
> mifare_desfire_crypto.c:693:13: warning: ‘DES_ecb_encrypt’ is deprecated: 
> Since OpenSSL 3.0 [-Wdeprecated-declarations]
>   693 |             DES_ecb_encrypt ((DES_cblock *) data,  (DES_cblock *) 
> edata, &(key->ks1), DES_ENCRYPT);
>       |             ^~~~~~~~~~~~~~~
> /usr/include/openssl/des.h:105:6: note: declared here
>   105 | void DES_ecb_encrypt(const_DES_cblock *input, DES_cblock *output,
>       |      ^~~~~~~~~~~~~~~
> mifare_desfire_crypto.c:694:13: warning: ‘DES_ecb_encrypt’ is deprecated: 
> Since OpenSSL 3.0 [-Wdeprecated-declarations]
>   694 |             DES_ecb_encrypt ((DES_cblock *) edata, (DES_cblock *) 
> data,  &(key->ks2), DES_DECRYPT);
>       |             ^~~~~~~~~~~~~~~
> /usr/include/openssl/des.h:105:6: note: declared here
>   105 | void DES_ecb_encrypt(const_DES_cblock *input, DES_cblock *output,
>       |      ^~~~~~~~~~~~~~~
> mifare_desfire_crypto.c:695:13: warning: ‘DES_ecb_encrypt’ is deprecated: 
> Since OpenSSL 3.0 [-Wdeprecated-declarations]
>   695 |             DES_ecb_encrypt ((DES_cblock *) data,  (DES_cblock *) 
> edata, &(key->ks3), DES_ENCRYPT);
>       |             ^~~~~~~~~~~~~~~
> /usr/include/openssl/des.h:105:6: note: declared here
>   105 | void DES_ecb_encrypt(const_DES_cblock *input, DES_cblock *output,
>       |      ^~~~~~~~~~~~~~~
> mifare_desfire_crypto.c:698:13: warning: ‘DES_ecb_encrypt’ is deprecated: 
> Since OpenSSL 3.0 [-Wdeprecated-declarations]
>   698 |             DES_ecb_encrypt ((DES_cblock *) data,  (DES_cblock *) 
> edata, &(key->ks3), DES_DECRYPT);
>       |             ^~~~~~~~~~~~~~~
> /usr/include/openssl/des.h:105:6: note: declared here
>   105 | void DES_ecb_encrypt(const_DES_cblock *input, DES_cblock *output,
>       |      ^~~~~~~~~~~~~~~
> mifare_desfire_crypto.c:699:13: warning: ‘DES_ecb_encrypt’ is deprecated: 
> Since OpenSSL 3.0 [-Wdeprecated-declarations]
>   699 |             DES_ecb_encrypt ((DES_cblock *) edata, (DES_cblock *) 
> data,  &(key->ks2), DES_ENCRYPT);
>       |             ^~~~~~~~~~~~~~~
> /usr/include/openssl/des.h:105:6: note: declared here
>   105 | void DES_ecb_encrypt(const_DES_cblock *input, DES_cblock *output,
>       |      ^~~~~~~~~~~~~~~
> mifare_desfire_crypto.c:700:13: warning: ‘DES_ecb_encrypt’ is deprecated: 
> Since OpenSSL 3.0 [-Wdeprecated-declarations]
>   700 |             DES_ecb_encrypt ((DES_cblock *) data,  (DES_cblock *) 
> edata, &(key->ks1), DES_DECRYPT);
>       |             ^~~~~~~~~~~~~~~
> /usr/include/openssl/des.h:105:6: note: declared here
>   105 | void DES_ecb_encrypt(const_DES_cblock *input, DES_cblock *output,
>       |      ^~~~~~~~~~~~~~~
> mifare_desfire_crypto.c:707:13: warning: ‘AES_set_encrypt_key’ is deprecated: 
> Since OpenSSL 3.0 [-Wdeprecated-declarations]
>   707 |             AES_set_encrypt_key (key->data, 8*16, &k);
>       |             ^~~~~~~~~~~~~~~~~~~
> In file included from mifare_desfire_crypto.c:56:
> /usr/include/openssl/aes.h:51:5: note: declared here
>    51 | int AES_set_encrypt_key(const unsigned char *userKey, const int bits,
>       |     ^~~~~~~~~~~~~~~~~~~
> mifare_desfire_crypto.c:708:13: warning: ‘AES_encrypt’ is deprecated: Since 
> OpenSSL 3.0 [-Wdeprecated-declarations]
>   708 |             AES_encrypt (data, edata, &k);
>       |             ^~~~~~~~~~~
> /usr/include/openssl/aes.h:57:6: note: declared here
>    57 | void AES_encrypt(const unsigned char *in, unsigned char *out,
>       |      ^~~~~~~~~~~
> mifare_desfire_crypto.c:711:13: warning: ‘AES_set_decrypt_key’ is deprecated: 
> Since OpenSSL 3.0 [-Wdeprecated-declarations]
>   711 |             AES_set_decrypt_key (key->data, 8*16, &k);
>       |             ^~~~~~~~~~~~~~~~~~~
> /usr/include/openssl/aes.h:54:5: note: declared here
>    54 | int AES_set_decrypt_key(const unsigned char *userKey, const int bits,
>       |     ^~~~~~~~~~~~~~~~~~~
> mifare_desfire_crypto.c:712:13: warning: ‘AES_decrypt’ is deprecated: Since 
> OpenSSL 3.0 [-Wdeprecated-declarations]
>   712 |             AES_decrypt (data, edata, &k);
>       |             ^~~~~~~~~~~
> /usr/include/openssl/aes.h:60:6: note: declared here
>    60 | void AES_decrypt(const unsigned char *in, unsigned char *out,
>       |      ^~~~~~~~~~~
> mifare_desfire_crypto.c: In function ‘mifare_cypher_blocks_chained’:
> mifare_desfire_crypto.c:759:9: warning: incompatible implicit declaration of 
> built-in function ‘abort’ [-Wbuiltin-declaration-mismatch]
>   759 |         abort();
>       |         ^~~~~
> mifare_desfire_crypto.c:759:9: note: include ‘<stdlib.h>’ or provide a 
> declaration of ‘abort’
> cc1: some warnings being treated as errors
> make[3]: *** [Makefile:615: mifare_desfire_crypto.lo] Error 1


The full build log is available from:
http://qa-logs.debian.net/2024/03/13/libfreefare_0.4.0-2.2_unstable.log

All bugs filed during this archive rebuild are listed at:
https://bugs.debian.org/cgi-bin/pkgreport.cgi?tag=ftbfs-20240313;users=lu...@debian.org
or:
https://udd.debian.org/bugs/?release=na&merged=ign&fnewerval=7&flastmodval=7&fusertag=only&fusertagtag=ftbfs-20240313&fusertaguser=lu...@debian.org&allbugs=1&cseverity=1&ctags=1&caffected=1#results

A list of current common problems and possible solutions is available at
http://wiki.debian.org/qa.debian.org/FTBFS . You're welcome to contribute!

If you reassign this bug to another package, please mark it as 'affects'-ing
this package. See https://www.debian.org/Bugs/server-control#affects

If you fail to reproduce this, please provide a build log and diff it with mine
so that we can identify if something relevant changed in the meantime.

Reply via email to