bugzilla-daemon at mindrot.org
2020-Jul-14 03:39 UTC
[Bug 3192] New: openssh-8.2 & openssl-1.1.1d error: dereferencing pointer to incomplete type Not found struct BIO , bio->num_write
https://bugzilla.mindrot.org/show_bug.cgi?id=3192
Bug ID: 3192
Summary: openssh-8.2 & openssl-1.1.1d error: dereferencing
pointer to incomplete type Not found struct BIO ,
bio->num_write
Product: Portable OpenSSH
Version: 8.2p1
Hardware: Other
OS: Linux
Status: NEW
Severity: enhancement
Priority: P5
Component: sshd
Assignee: unassigned-bugs at mindrot.org
Reporter: cunixc at gmail.com
build openssh-8.2
sshkey.c:4625:27: error: dereferencing pointer to incomplete type
BIO_read(bio, keybuf, bio->num_write);
bio->num_write //Not found struct BIO
cc -g -O0 -D_FORTIFY_SOURCE=2 -DDEBUG_KEXECDH -fno-builtin-memset
-I. -I. -I/build/store/ssl//include -I/build/store/ssl/include
-I/build/store/zlib/include -D_XOPEN_SOURCE=600 -D_BSD_SOURCE
-D_DEFAULT_SOURCE -DSSHDIR=\"/etc/ssh\"
-D_PATH_SSH_PROGRAM=\"/build/store/newssh/bin/ssh\"
-D_PATH_SSH_ASKPASS_DEFAULT=\"/build/store/newssh/libexec/ssh-askpass\"
-D_PATH_SFTP_SERVER=\"/build/store/newssh/libexec/sftp-server\"
-D_PATH_SSH_KEY_SIGN=\"/build/store/newssh/libexec/ssh-keysign\"
-D_PATH_SSH_PKCS11_HELPER=\"/build/store/newssh/libexec/ssh-pkcs11-helper\"
-D_PATH_SSH_SK_HELPER=\"/build/store/newssh/libexec/ssh-sk-helper\"
-D_PATH_SSH_PIDDIR=\"/run/\"
-D_PATH_PRIVSEP_CHROOT_DIR=\"/var/empty\"
-DHAVE_CONFIG_H -c sshkey.c -o sshkey.o
sshkey.c: In function ?sshkey_parse_private_pem_fileblob?:
sshkey.c:4625:27: error: dereferencing pointer to incomplete type
BIO_read(bio, keybuf, bio->num_write);
---
sshkey.c code view
#include <openssl/err.h>
#include <openssl/pem.h>
#include <openssl/ossl_typ.h>
....
static int
sshkey_parse_private_pem_fileblob(struct sshbuf *blob, int type,
const char *passphrase, struct sshkey **keyp)
{
EVP_PKEY *pk = NULL;
struct sshkey *prv = NULL;
BIO *bio = NULL;
int r;
if (keyp != NULL)
*keyp = NULL;
if ((bio = BIO_new(BIO_s_mem())) == NULL || sshbuf_len(blob) >
INT_MAX)
return SSH_ERR_ALLOC_FAIL;
if (BIO_write(bio, sshbuf_ptr(blob), sshbuf_len(blob)) !
(int)sshbuf_len(blob)) {
r = SSH_ERR_ALLOC_FAIL;
goto out;
}
char keybuf[T_L_4] = {0};
BIO_read(bio, keybuf, bio->num_write);
--
You are receiving this mail because:
You are watching the assignee of the bug.
bugzilla-daemon at mindrot.org
2020-Jul-14 09:01 UTC
[Bug 3192] openssh-8.2 & openssl-1.1.1d error: dereferencing pointer to incomplete type Not found struct BIO , bio->num_write
https://bugzilla.mindrot.org/show_bug.cgi?id=3192
cun <cunixc at gmail.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |ASSIGNED
--- Comment #1 from cun <cunixc at gmail.com> ---
from openssl include inmport error
--
You are receiving this mail because:
You are watching the assignee of the bug.
bugzilla-daemon at mindrot.org
2020-Jul-14 09:02 UTC
[Bug 3192] openssh-8.2 & openssl-1.1.1d error: dereferencing pointer to incomplete type Not found struct BIO , bio->num_write
https://bugzilla.mindrot.org/show_bug.cgi?id=3192 --- Comment #2 from cun <cunixc at gmail.com> --- build ok! -- You are receiving this mail because: You are watching the assignee of the bug.
bugzilla-daemon at mindrot.org
2020-Jul-14 09:04 UTC
[Bug 3192] openssh-8.2 & openssl-1.1.1d error: dereferencing pointer to incomplete type Not found struct BIO , bio->num_write
https://bugzilla.mindrot.org/show_bug.cgi?id=3192
Darren Tucker <dtucker at dtucker.net> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |dtucker at dtucker.net
--- Comment #3 from Darren Tucker <dtucker at dtucker.net> ---
What platform, compiler is this, and in particular what configure
options and CFLAGS did you give? I see at least one non-standard
compiler flag.
A quick test with openssh-8.2p1 and openssl-1.1.1d here compiles OK:
$ CFLAGS="-g -O0 -D_FORTIFY_SOURCE=2 -DDEBUG_KEXECDH" ./configure
--with-ssl-dir=/opt/openssl/1.1.1d && make clean && make
[...]
$ ./ssh -V
OpenSSH_8.2p1, OpenSSL 1.1.1d 10 Sep 2019
$ ./configure --with-ssl-dir=/opt/openssl/1.1.1d
--with-cflags=-DDEBUG_KEXECDH && make clean && make
[...]
$./ssh -V
OpenSSH_8.2p1, OpenSSL 1.1.1d 10 Sep 2019
(I also renamed my system openssl include dir, which didn't make a
difference). Is it possible it's picking up includes from a different
version of OpenSSL somewhere in the search path?
> sshkey.c: In function ?sshkey_parse_private_pem_fileblob?:
> sshkey.c:4625:27: error: dereferencing pointer to incomplete type
> BIO_read(bio, keybuf, bio->num_write);
wait, OpenSSH 8.2p1 doesn't even contain that line of code.
$ curl -s
https://raw.githubusercontent.com/openssh/openssh-portable/V_8_2/sshkey.c
| grep num_write
$
what modifications have you made to the code?
--
You are receiving this mail because:
You are watching someone on the CC list of the bug.
You are watching the assignee of the bug.
bugzilla-daemon at mindrot.org
2020-Jul-16 06:02 UTC
[Bug 3192] openssh-8.2 & openssl-1.1.1d error: dereferencing pointer to incomplete type Not found struct BIO , bio->num_write
https://bugzilla.mindrot.org/show_bug.cgi?id=3192 --- Comment #4 from cun <cunixc at gmail.com> --- yes edit openssl-compat.c ... #include "internal/bio_lcl.h" .... -- You are receiving this mail because: You are watching someone on the CC list of the bug. You are watching the assignee of the bug.
bugzilla-daemon at mindrot.org
2020-Jul-16 07:32 UTC
[Bug 3192] openssh-8.2 & openssl-1.1.1d error: dereferencing pointer to incomplete type Not found struct BIO , bio->num_write
https://bugzilla.mindrot.org/show_bug.cgi?id=3192 --- Comment #5 from Darren Tucker <dtucker at dtucker.net> --- (In reply to cun from comment #4)> yes > > edit openssl-compat.c > ... > #include "internal/bio_lcl.h" > ....that can't be the only change since the line you're reporting errors on does not exist in the source code that the OpenSSH team ships. AFAICT the code as shipped by us compiles just fine with OpenSSL 1.1.1d. -- You are receiving this mail because: You are watching someone on the CC list of the bug. You are watching the assignee of the bug.
bugzilla-daemon at mindrot.org
2020-Jul-16 07:40 UTC
[Bug 3192] openssh-8.2 & openssl-1.1.1d error: dereferencing pointer to incomplete type Not found struct BIO , bio->num_write
https://bugzilla.mindrot.org/show_bug.cgi?id=3192
Darren Tucker <dtucker at dtucker.net> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|ASSIGNED |RESOLVED
Resolution|--- |INVALID
--- Comment #6 from Darren Tucker <dtucker at dtucker.net> ---
(In reply to cun from comment #0)> sshkey.c: In function ?sshkey_parse_private_pem_fileblob?:
> sshkey.c:4625:27: error: dereferencing pointer to incomplete type
> BIO_read(bio, keybuf, bio->num_write);
In the sshkey.c shipped with OpenSSH 8.2p1,
sshkey_parse_private_pem_fileblob() runs from line 4503 to 4602 and the
code block immediately before the error ends at line 4522. This means
you have added at least 100 lines of code to this file not including
the one with the error. If you change the code and it doesn't work
that's something you need to fix yourself.
--
You are receiving this mail because:
You are watching the assignee of the bug.
You are watching someone on the CC list of the bug.
bugzilla-daemon at mindrot.org
2021-Apr-23 05:02 UTC
[Bug 3192] openssh-8.2 & openssl-1.1.1d error: dereferencing pointer to incomplete type Not found struct BIO , bio->num_write
https://bugzilla.mindrot.org/show_bug.cgi?id=3192
Damien Miller <djm at mindrot.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|RESOLVED |CLOSED
--- Comment #7 from Damien Miller <djm at mindrot.org> ---
closing resolved bugs as of 8.6p1 release
--
You are receiving this mail because:
You are watching the assignee of the bug.
You are watching someone on the CC list of the bug.
Seemingly Similar Threads
- Bigcrypt password patch
- dovecot mailing list stopped delivering mail
- dovecot mailing list stopped delivering mail
- [Qemu-devel] [PATCH v6 12/12] virtio-blk: add x-data-plane=on|off performance feature
- [Qemu-devel] [PATCH v6 12/12] virtio-blk: add x-data-plane=on|off performance feature