New issue
Advanced search Search tips

Issue 856325 link

Starred by 0 users

Issue metadata

Status: Available
Owner: ----
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Feature

Blocking:
issue 856326



Sign in to add a comment

ssh_client: take ownership of resolver logic

Project Member Reported by vapier@chromium.org, Jun 25 2018

Issue description

currently OpenSSH resolves everything using webports's glibc-compat package which includes newlib's resolv logic:
  https://chromium.googlesource.com/webports/+/pepper_49/ports/glibc-compat/README

this makes direct socket connections to the system configured nameservers in NaCl.  we'll need to "own" this code ourselves as part of the migration to wasm, not to mention that newlib shim code is pretty old at this point.

we should find a standalone resolver library we can use directly so we don't have to keep going through webports->newlib or pulling things by hand out of newlib.
 

Comment 1 by vapier@chromium.org, Jun 25 2018

Blocking: 856326
Project Member

Comment 2 by bugdroid1@chromium.org, Dec 12

The following revision refers to this bug:
  https://chromium.googlesource.com/apps/libapps/+/7f30a4baa826258b8867a8a2373c61734756575c

commit 7f30a4baa826258b8867a8a2373c61734756575c
Author: Mike Frysinger <vapier@chromium.org>
Date: Wed Dec 12 21:09:15 2018

ssh_client: openssl: enable libssl building

If we want to support DNSSEC/DNS-over-TLS, we need certificate support
which means we need to build libssl too.  So re-enable the library.

Bug: 856325
Change-Id: Ia60edaff137ed5f525a904d23271bcc9ece83206
Reviewed-on: https://chromium-review.googlesource.com/c/1372773
Reviewed-by: Vitaliy Shipitsyn <vsh@google.com>
Tested-by: Mike Frysinger <vapier@chromium.org>

[modify] https://crrev.com/7f30a4baa826258b8867a8a2373c61734756575c/ssh_client/third_party/openssl/build

Project Member

Comment 3 by bugdroid1@chromium.org, Dec 15

The following revision refers to this bug:
  https://chromium.googlesource.com/apps/libapps/+/20d941ad89a229156dc2d66b4bad793942a69a4e

commit 20d941ad89a229156dc2d66b4bad793942a69a4e
Author: Mike Frysinger <vapier@chromium.org>
Date: Sat Dec 15 19:27:12 2018

ssh_client: ldns: import version 1.7.0

OpenSSH supports using ldns directly for DNS resolution.  Lets import
it so we can switch over to it (from the ad-hoc resolver we have from
the glibc-ports).  This is also needed to use the getdns library.

This doesn't actually enable the package yet other than building.

Bug: 856325
Change-Id: I861d7e54d91b74b76b0792d4dd775d13b5aa86b0
Reviewed-on: https://chromium-review.googlesource.com/c/1372774
Reviewed-by: Vitaliy Shipitsyn <vsh@google.com>
Tested-by: Mike Frysinger <vapier@chromium.org>

[add] https://crrev.com/20d941ad89a229156dc2d66b4bad793942a69a4e/ssh_client/third_party/ldns/METADATA
[modify] https://crrev.com/20d941ad89a229156dc2d66b4bad793942a69a4e/ssh_client/README.md
[add] https://crrev.com/20d941ad89a229156dc2d66b4bad793942a69a4e/ssh_client/third_party/ldns/LICENSE
[modify] https://crrev.com/20d941ad89a229156dc2d66b4bad793942a69a4e/ssh_client/build.sh
[add] https://crrev.com/20d941ad89a229156dc2d66b4bad793942a69a4e/ssh_client/third_party/ldns/ldns-no-getproto.patch
[add] https://crrev.com/20d941ad89a229156dc2d66b4bad793942a69a4e/ssh_client/third_party/ldns/build

Project Member

Comment 4 by bugdroid1@chromium.org, Dec 17

The following revision refers to this bug:
  https://chromium.googlesource.com/apps/libapps/+/5c0290b96ba4a6a983b3e127df4555db5f6eb8fe

commit 5c0290b96ba4a6a983b3e127df4555db5f6eb8fe
Author: Mike Frysinger <vapier@chromium.org>
Date: Mon Dec 17 01:10:02 2018

ssh_client: switch from glibc-compat to ldns

We've been using the resolver library code in glibc-compat to provide
DNS support.  Lets switch to ldns for it instead so we can drop the
glibc-compat logic entirely.

Bug: 856325
Change-Id: Ia16fe2b33a2d729e2bc7b55527726c41178e9da4
Reviewed-on: https://chromium-review.googlesource.com/c/1379127
Tested-by: Mike Frysinger <vapier@chromium.org>
Reviewed-by: Vitaliy Shipitsyn <vsh@google.com>

[modify] https://crrev.com/5c0290b96ba4a6a983b3e127df4555db5f6eb8fe/ssh_client/third_party/openssh-7.9/build
[modify] https://crrev.com/5c0290b96ba4a6a983b3e127df4555db5f6eb8fe/ssh_client/src/Makefile
[modify] https://crrev.com/5c0290b96ba4a6a983b3e127df4555db5f6eb8fe/ssh_client/third_party/openssh-7.8/build

Project Member

Comment 5 by bugdroid1@chromium.org, Dec 17

The following revision refers to this bug:
  https://chromium.googlesource.com/apps/libapps/+/dc00f9157f9ad498b627d952697ca8a23417ff2e

commit dc00f9157f9ad498b627d952697ca8a23417ff2e
Author: Mike Frysinger <vapier@chromium.org>
Date: Mon Dec 17 01:10:07 2018

ssh_client: ldns: fix cross-compile build

The ldns configure script has poor cross-compile logic and pokes
around /usr directly for ssl headers & libs.  Point it to our own
sysroot so it finds the correct files.

Bug: 856325
Change-Id: I8634f91e9c30595f91ea120a779e8666da6a5a3f
Reviewed-on: https://chromium-review.googlesource.com/c/1379128
Reviewed-by: Vitaliy Shipitsyn <vsh@google.com>
Tested-by: Mike Frysinger <vapier@chromium.org>

[modify] https://crrev.com/dc00f9157f9ad498b627d952697ca8a23417ff2e/ssh_client/third_party/ldns/build

Sign in to add a comment