compile error: cryptknockd.c:470:17: error: storage size of ‘ctx’ isn’t known
jingkang99 opened this issue · 2 comments
since ssl lib API changed, the source code need be fixed
https://stackoverflow.com/questions/55992010/openssl-error-storage-size-of-ctx-isn-t-known
gcc cryptknockd.c -o cryptknockd -lssl -lcrypto -lpcap
In file included from /usr/include/inttypes.h:25:0,
from /usr/include/openssl/e_os2.h:243,
from /usr/include/openssl/dh.h:16,
from cryptknockd.c:30:
/usr/include/features.h:184:3: warning: #warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE" [-Wcpp]
warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE"
^~~~~~~
cryptknockd.c: In function ‘read_options’:
cryptknockd.c:422:7: warning: implicit declaration of function ‘getopt_long’; did you mean ‘getopt’? [-Wimplicit-function-declaration]
i = getopt_long(argc, argv, "i:s:d:", NULL, NULL);
^~~~~~~~~~~
getopt
cryptknockd.c: In function ‘decrypt_pass’:
cryptknockd.c:470:17: error: storage size of ‘ctx’ isn’t known
EVP_CIPHER_CTX ctx;
^~~
cryptknockd.c: In function ‘dh_receive_packet’:
cryptknockd.c:674:16: error: dereferencing pointer to incomplete type ‘DH {aka struct dh_st}’
BN_hex2bn(&(dh->g), g);
@jingkang99, thanks a lot for your issue. Do you have any ideas what lines needs to be changed to fix it?
@jingkang99, I'm pretty bad in C
and C++
programming as I'm still a beginner but apparently the fix needs to be applied in:
cryptknock.c
- Methodencrypt_password
- Line243
cryptknockd.c
- Methoddecrypt_pass
- Line468
All other methods are not related to openssl
.