You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@apr.apache.org by ro...@apache.org on 2006/04/27 02:01:54 UTC

svn commit: r397344 - in /apr/apr/trunk: CHANGES network_io/beos/sendrecv.c network_io/unix/sendrecv.c network_io/win32/sendrecv.c test/testsockets.c

Author: rooneg
Date: Wed Apr 26 17:01:52 2006
New Revision: 397344

URL: http://svn.apache.org/viewcvs?rev=397344&view=rev
Log:
Make apr_socket_recvfrom set the port in the from sockaddr.

Submitted by: Anthony Minessale <an...@yahoo.com>
PR: 39325

* network_io/win32/sendrecv.c
  (apr_socket_recvfrom): Fill in from->port.

* network_io/unix/sendrecv.c
  (apr_socket_recvfrom): Ditto.

* network_io/beos/sendrecv.c
  (apr_socket_recvfrom): Ditto.

* test/testsockets.c
  (sendto_recievefrom): Zero out the port before calling recvfrom, to
   confirm that it's filled in.

* CHANGES: Note change.

Modified:
    apr/apr/trunk/CHANGES
    apr/apr/trunk/network_io/beos/sendrecv.c
    apr/apr/trunk/network_io/unix/sendrecv.c
    apr/apr/trunk/network_io/win32/sendrecv.c
    apr/apr/trunk/test/testsockets.c

Modified: apr/apr/trunk/CHANGES
URL: http://svn.apache.org/viewcvs/apr/apr/trunk/CHANGES?rev=397344&r1=397343&r2=397344&view=diff
==============================================================================
--- apr/apr/trunk/CHANGES (original)
+++ apr/apr/trunk/CHANGES Wed Apr 26 17:01:52 2006
@@ -1,5 +1,8 @@
 Changes for APR 1.3.0
 
+  *) Make apr_socket_recvfrom initialize the port field in the from
+     sockaddr.  PR 39325 [Anthony Minessale <anthmct yahoo.com>]
+
   *) NetBSD: Avoid leaving zombie process when using apr_signal() 
      to ignore SIGCHLD.  PR 36750.  [Todd Vierling <tv pobox.com>]
 

Modified: apr/apr/trunk/network_io/beos/sendrecv.c
URL: http://svn.apache.org/viewcvs/apr/apr/trunk/network_io/beos/sendrecv.c?rev=397344&r1=397343&r2=397344&view=diff
==============================================================================
--- apr/apr/trunk/network_io/beos/sendrecv.c (original)
+++ apr/apr/trunk/network_io/beos/sendrecv.c Wed Apr 26 17:01:52 2006
@@ -203,7 +203,9 @@
         (*len) = 0;
         return errno;
     }
-
+	
+    from->port = ntohs(from->sa.sin.sin_port);
+	
     (*len) = rv;
     if (rv == 0)
         return APR_EOF;

Modified: apr/apr/trunk/network_io/unix/sendrecv.c
URL: http://svn.apache.org/viewcvs/apr/apr/trunk/network_io/unix/sendrecv.c?rev=397344&r1=397343&r2=397344&view=diff
==============================================================================
--- apr/apr/trunk/network_io/unix/sendrecv.c (original)
+++ apr/apr/trunk/network_io/unix/sendrecv.c Wed Apr 26 17:01:52 2006
@@ -172,6 +172,8 @@
         return errno;
     }
 
+    from->port = ntohs(from->sa.sin.sin_port);
+
     (*len) = rv;
     if (rv == 0 && sock->type == SOCK_STREAM) {
         return APR_EOF;

Modified: apr/apr/trunk/network_io/win32/sendrecv.c
URL: http://svn.apache.org/viewcvs/apr/apr/trunk/network_io/win32/sendrecv.c?rev=397344&r1=397343&r2=397344&view=diff
==============================================================================
--- apr/apr/trunk/network_io/win32/sendrecv.c (original)
+++ apr/apr/trunk/network_io/win32/sendrecv.c Wed Apr 26 17:01:52 2006
@@ -196,6 +196,9 @@
         (*len) = 0;
         return apr_get_netos_error();
     }
+
+    from->port = ntohs(from->sa.sin.sin_port);
+
     (*len) = rv;
     if (rv == 0 && sock->type == SOCK_STREAM)
         return APR_EOF;

Modified: apr/apr/trunk/test/testsockets.c
URL: http://svn.apache.org/viewcvs/apr/apr/trunk/test/testsockets.c?rev=397344&r1=397343&r2=397344&view=diff
==============================================================================
--- apr/apr/trunk/test/testsockets.c (original)
+++ apr/apr/trunk/test/testsockets.c Wed Apr 26 17:01:52 2006
@@ -159,6 +159,9 @@
     ABTS_INT_EQUAL(tc, APR_SUCCESS, rv);
     ABTS_INT_EQUAL(tc, STRLEN, len);
 
+    /* Zero out the port so we can be sure it's been set by recvfrom. */
+    from->port = 0;
+
     len = 80;
     rv = apr_socket_recvfrom(from, sock, 0, recvbuf, &len);
     ABTS_INT_EQUAL(tc, APR_SUCCESS, rv);