The Fedora build logs show a bunch of implicit function declarations: gcc -D__UNIX__ -DNDEBUG -I. -DDATA_LITTLEENDIAN -fPIE -DHAS_RECURSIVE_MUTEX -DHAS_ROBUST_MUTEX -O2 -Wno-pointer-sign -Wno-strict-aliasing -fwrapv -fno-delete-null-pointer-checks -fstack-protector-strong -D_FORTIFY_SOURCE=2 -fomit-frame-pointer -D_REENTRANT -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -Wl,-rpath,/usr/lib/cryptobone -L. -o cryptoboned cryptoboned.c -l:libclr.so.3.4.5 -lbsd; chmod 700 cryptoboned cryptoboned.c: In function 'b64encode': cryptoboned.c:186:26: warning: implicit declaration of function 'base64encode'; did you mean 'b64encode'? [-Wimplicit-function-declaration] 186 | status = base64encode(dest, 2*PGP_MAXBUF, destBytes, src, len-2, CRYPT_CERTTYPE_NONE); | ^~~~~~~~~~~~ | b64encode cryptoboned.c: In function 'b64decode': cryptoboned.c:254:21: warning: implicit declaration of function 'base64decode'; did you mean 'b64decode'? [-Wimplicit-function-declaration] 254 | status = base64decode(dest, 2*PGP_MAXBUF, destBytes, src, len-4, CRYPT_CERTTYPE_NONE); | ^~~~~~~~~~~~ | b64decode cryptoboned.c: In function 'pgp_check_crypto': cryptoboned.c:559:12: warning: implicit declaration of function 'strlcpy'; did you mean 'strncpy'? [-Wimplicit-function-declaration] 559 | strlcpy(PGP_password,"12345",6); | ^~~~~~~ | strncpy cryptoboned.c: In function 'get_keys': cryptoboned.c:899:22: warning: implicit declaration of function 'strlcat'; did you mean 'strncat'? [-Wimplicit-function-declaration] 899 | strlcat(values,key,MAXINPUT); | ^~~~~~~ | strncat Due to these issues, the package will eventually fail to build in Fedora and with future GCC and Clang releases. It's not entirely clear to me how to best address these issues. It seems that base64encode etc. are internal cryptlib functions not intended to be used outside of cryptlib?
The issue concerning strlcpy and strlcat can easily been resolved by adding a single include to the source files cryptoboned.c, cryptoboneexternd.c and initdatabase.c . #include <bsd/string.h> The issues with base64encode and base64decode will be resolved adding a new header file in which these two functions are being declared: #include "armor.h" > cat armor.h #define OUT_LENGTH_BOUNDED_Z( length ) #define OUT_DATALENGTH_Z #define IN_DATALENGTH_MIN( min ) #define IN_ENUM_OPT( name ) #define IN_BUFFER #define OUT_BUFFER /*** Declaration of base64encode and base64decode ***/ #define BYTE unsigned char int base64encode( OUT_BUFFER char *dest, IN_DATALENGTH_MIN( 10 ) const int destMaxLen, OUT_LENGTH_BOUNDED_Z( destMaxLen ) int *destLen, IN_BUFFER const void *src, IN_DATALENGTH_MIN( 10 ) const int srcLen, IN_ENUM_OPT( CRYPT_CERTTYPE ) \ const CRYPT_CERTTYPE_TYPE certType ); int base64decode( OUT_BUFFER void *dest, IN_DATALENGTH_MIN( 10 ) const int destMaxLen, OUT_DATALENGTH_Z int *destLen, IN_BUFFER const BYTE *src, IN_DATALENGTH_MIN( 10 ) const int srcLen, IN_ENUM_OPT( CRYPT_CERTFORMAT ) \ const CRYPT_CERTFORMAT_TYPE format ); These changes will soon land in RAWHIDE after testing. Ralf
A scratch build for f38 can be found here: https://koji.fedoraproject.org/koji/taskinfo?taskID=97057825 Ralf
(In reply to Ralf Senderek from comment #2) > A scratch build for f38 can be found here: > > > https://koji.fedoraproject.org/koji/taskinfo?taskID=97057825 Thank you! I resubmitted this source RPM as a scratch build against the instrumented f38-toolchain buildroot: https://koji.fedoraproject.org/koji/taskinfo?taskID=97058607 As the build succeeded, all C99 compatibility issues that we currently track have been addressed.
The changes that resolve this bug report are now in RAWHIDE. Ralf Real build: https://koji.fedoraproject.org/koji/taskinfo?taskID=97142395