New issue
Advanced search Search tips

Issue 878139 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Sep 4
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug
Proj-Servicification

Blocking:
issue 848078



Sign in to add a comment

NetworkService doesn't support Binding a socket without connecting/listening

Project Member Reported by mmenke@chromium.org, Aug 27

Issue description

There's a Pepper API where a socket may be bound without either connecting it or listening on it until another function call. Since we provide whether or not bind succeeded, and what address was bound on success, this can't really be supported by using the current Bind+Connect or Bind+Listen methods, so we're going to need a bind method just for Pepper.
 
Blocking: -878136 848078
Status: Fixed (was: Assigned)
This is fixed in https://chromium-review.googlesource.com/c/chromium/src/+/1198314 (bugdroid's being slow)
Project Member

Comment 3 by bugdroid1@chromium.org, Sep 5

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/701f142f8408da8d548c13747fcd56f3e352140e

commit 701f142f8408da8d548c13747fcd56f3e352140e
Author: Matt Menke <mmenke@chromium.org>
Date: Tue Sep 04 17:31:39 2018

NetworkContext: Add API to make bound sockets.

Existing methods merged bind+listen and bind+connect, but the Pepper
socket API exposes the ability to separately bind and then either listen
or connect on sockets. Since bind provides a local address, and the bind
call is more likely to fail than the listen call on server sockets,
we can't just make the Pepper API wrap the merged calls without
potentially breaking some embedders.

Bug:  878139 
Cq-Include-Trybots: luci.chromium.try:linux_mojo
Change-Id: I639c8ac45477fef8d0dee7c85c21e4123edc3a6a
Reviewed-on: https://chromium-review.googlesource.com/1198314
Commit-Queue: Matt Menke <mmenke@chromium.org>
Reviewed-by: Maks Orlovich <morlovich@chromium.org>
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Cr-Commit-Position: refs/heads/master@{#588571}
[modify] https://crrev.com/701f142f8408da8d548c13747fcd56f3e352140e/net/socket/tcp_server_socket.cc
[modify] https://crrev.com/701f142f8408da8d548c13747fcd56f3e352140e/net/socket/tcp_server_socket.h
[modify] https://crrev.com/701f142f8408da8d548c13747fcd56f3e352140e/services/network/BUILD.gn
[modify] https://crrev.com/701f142f8408da8d548c13747fcd56f3e352140e/services/network/network_context.cc
[modify] https://crrev.com/701f142f8408da8d548c13747fcd56f3e352140e/services/network/network_context.h
[modify] https://crrev.com/701f142f8408da8d548c13747fcd56f3e352140e/services/network/public/mojom/network_context.mojom
[modify] https://crrev.com/701f142f8408da8d548c13747fcd56f3e352140e/services/network/public/mojom/tcp_socket.mojom
[modify] https://crrev.com/701f142f8408da8d548c13747fcd56f3e352140e/services/network/socket_factory.cc
[modify] https://crrev.com/701f142f8408da8d548c13747fcd56f3e352140e/services/network/socket_factory.h
[add] https://crrev.com/701f142f8408da8d548c13747fcd56f3e352140e/services/network/tcp_bound_socket.cc
[add] https://crrev.com/701f142f8408da8d548c13747fcd56f3e352140e/services/network/tcp_bound_socket.h
[add] https://crrev.com/701f142f8408da8d548c13747fcd56f3e352140e/services/network/tcp_bound_socket_unittest.cc
[modify] https://crrev.com/701f142f8408da8d548c13747fcd56f3e352140e/services/network/tcp_server_socket.cc
[modify] https://crrev.com/701f142f8408da8d548c13747fcd56f3e352140e/services/network/tcp_server_socket.h
[modify] https://crrev.com/701f142f8408da8d548c13747fcd56f3e352140e/services/network/test/test_network_context.h

Sign in to add a comment