wolfssh icon indicating copy to clipboard operation
wolfssh copied to clipboard

fix error: implicit declaration of function 'wc_SSH_KDF'

Open divinity76 opened this issue 2 months ago • 9 comments

hopefully resolves https://github.com/wolfSSL/wolfssh/issues/781

when compiling from git master ( 967d6c59ffeade98f30763b14737070045c4725e dated Fri Oct 24 09:44:15 2025 -0700) with

./configure --enable-static --disable-shared --enable-scp --enable-sftp --enable-shell --enable-cryptonly --with-wolfssl=wolfssl/install/

I got:

$ make -j17
(...)
make -j17  all-am
make[1]: warning: -j17 forced in submake: resetting jobserver mode. make[1]: Entering directory '/home/hans/projects/wolfssh'
  CC       src/libwolfssh_la-internal.lo
src/internal.c: In function 'GenerateKey':
src/internal.c:2348:15: error: implicit declaration of function 'wc_SSH_KDF'; did you mean 'wc_HKDF'? [-Werror=implicit-function-declaration]
 2348 |         ret = wc_SSH_KDF(hashId, keyId, key, keySz,
      |               ^~~~~~~~~~
      |               wc_HKDF
src/internal.c:2348:15: error: nested extern declaration of 'wc_SSH_KDF' [-Werror=nested-externs]
cc1: all warnings being treated as errors
make[1]: *** [Makefile:1483: src/libwolfssh_la-internal.lo] Error 1
make[1]: Leaving directory '/home/hans/projects/wolfssh'
make: *** [Makefile:1020: all] Error 2

divinity76 avatar Nov 13 '25 09:11 divinity76

Can one of the admins verify this patch?

wolfSSL-Bot avatar Nov 13 '25 09:11 wolfSSL-Bot

@ejohnstown or @JacobBarthelmeh do we want to allow building wolfSSH without wc_SSH_KDF? Note I don't see a contributor agreement for @divinity76 . Can you tell us about your project?

dgarske avatar Nov 13 '25 17:11 dgarske

Note I don't see a contributor agreement for @divinity76

I have no knowledge of any wolfssh contributor agreement. I'd be okay with signing one.

Can you tell us about your project?

I need a small SSH server on a system where I don’t have root or package-install privileges. I can run my own executables, but I can’t touch /etc/passwd or /etc/shadow, so I need a self-contained SSH server that does its own authentication.

wolfssh echoserver seems like a good fit 👍

divinity76 avatar Nov 18 '25 22:11 divinity76

Hi @divinity76 , wolfSSH is a great fit for this! Where are you located and is this a commercial use? If you'd like to keep that information private just email support at wolfssl dot com and reference this PR. Its likely we will not accept this change.

To resolve this please make sure you build wolfCrypt with WOLFSSL_WOLFSSH defined.

dgarske avatar Nov 18 '25 22:11 dgarske

I'm going to take this as a bug report. I see what I overlooked in the guard checking. I'll do a new PR to fix this.

ejohnstown avatar Dec 05 '25 00:12 ejohnstown

@ejohnstown

I'll do a new PR to fix this

Why? your new PR #853 has the exact same fix (at least in it's current revision 6393a6c7e4d9f3b330f06da472eb50421b89fe76 )

I could've seen the point if you came up with a better fix, but no, it's identical

divinity76 avatar Dec 05 '25 01:12 divinity76

It is logically similar, but not identical. Do you want to go through with a contributor agreement? I can reopen this and close mine. I don't mind. I figured for two lines, I would do my own fix and treat this as a bug report.

ejohnstown avatar Dec 08 '25 16:12 ejohnstown

David had left directions for emailing us at support at wolfssl dot com and to reference this PR. Please still do this.

ejohnstown avatar Dec 08 '25 17:12 ejohnstown

@divinity76 is an approved wolfSSL contributor

embhorn avatar Dec 10 '25 13:12 embhorn