The script freebsd-namespace.sh does namespace munging, by adding the Fssh_ prefix to every symbol in libssh, to prevent collisions with other libraries that link with it.
Upstream OpenSSH commit:
324449a68 ("support OpenSSL 3.x cipher IV API change")
Defines EVP_CIPHER_CTX_get_iv as EVP_CIPHER_CTX_get_updated_iv (if HAVE_EVP_CIPHER_CTX_GET_UPDATED_IV is set in config.h).
This produces a compilation warning about the macro being redefined:
In file included from /usr/src/crypto/openssh/monitor.c:64: /usr/src/crypto/openssh/openbsd-compat/openssl-compat.h:69:11: warning: 'EVP_CIPHER_CTX_get_iv' macro redefined [-Wmacro-redefined] 69 | # define EVP_CIPHER_CTX_get_iv EVP_CIPHER_CTX_get_updated_iv | ^ /usr/src/crypto/openssh/ssh_namespace.h:12:9: note: previous definition is here 12 | #define EVP_CIPHER_CTX_get_iv Fssh_EVP_CIPHER_CTX_get_iv | ^
Avoid the warning by un-defining it before defining it, as done in ee8c73cd0620 ("Silence warnings about redefined macros."), appending the same comment from crypto/openssh/umac128.c for easy grepping.