diff options
author | wrowe <wrowe@13f79535-47bb-0310-9956-ffa450edef68> | 2006-11-28 21:31:34 +0000 |
---|---|---|
committer | wrowe <wrowe@13f79535-47bb-0310-9956-ffa450edef68> | 2006-11-28 21:31:34 +0000 |
commit | f99b4562734620e8396a0d8822a03bf5273dc660 (patch) | |
tree | 475f7ae02cb2d880c962af07e479a45989e1f040 /network_io | |
parent | a69664bccc79cfbd05c54a7bed208046534490a1 (diff) | |
download | libapr-f99b4562734620e8396a0d8822a03bf5273dc660.tar.gz |
Sync OS2 unknown local_port flags to unix src.
Reviewed by wrowe and jorton
Partial backport of 480212
git-svn-id: http://svn.apache.org/repos/asf/apr/apr/branches/0.9.x@480216 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'network_io')
-rw-r--r-- | network_io/os2/sockets.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/network_io/os2/sockets.c b/network_io/os2/sockets.c index 2c1b249ec..381966425 100644 --- a/network_io/os2/sockets.c +++ b/network_io/os2/sockets.c @@ -140,6 +140,10 @@ APR_DECLARE(apr_status_t) apr_socket_bind(apr_socket_t *sock, return APR_OS2_STATUS(sock_errno()); else { sock->local_addr = sa; + /* XXX IPv6 - this assumes sin_port and sin6_port at same offset */ + if (sock->local_addr->sa.sin.sin_port == 0) { /* no need for ntohs() when comparing w/ 0 */ + sock->local_port_unknown = 1; /* kernel got us an ephemeral port */ + } return APR_SUCCESS; } } |