You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@apr.apache.org by yl...@apache.org on 2020/11/22 22:21:30 UTC

svn commit: r1883728 - /apr/apr/trunk/network_io/unix/sockaddr.c

Author: ylavic
Date: Sun Nov 22 22:21:30 2020
New Revision: 1883728

URL: http://svn.apache.org/viewvc?rev=1883728&view=rev
Log:
apr_sockaddr_ip_get[buf]: handle APR_UNIX family.

For unix sockets, return the path (sun_path).

Modified:
    apr/apr/trunk/network_io/unix/sockaddr.c

Modified: apr/apr/trunk/network_io/unix/sockaddr.c
URL: http://svn.apache.org/viewvc/apr/apr/trunk/network_io/unix/sockaddr.c?rev=1883728&r1=1883727&r2=1883728&view=diff
==============================================================================
--- apr/apr/trunk/network_io/unix/sockaddr.c (original)
+++ apr/apr/trunk/network_io/unix/sockaddr.c Sun Nov 22 22:21:30 2020
@@ -118,6 +118,14 @@ static apr_status_t get_remote_addr(apr_
 APR_DECLARE(apr_status_t) apr_sockaddr_ip_getbuf(char *buf, apr_size_t buflen,
                                                  apr_sockaddr_t *sockaddr)
 {
+#if APR_HAVE_SOCKADDR_UN && 0
+    if (sockaddr->family == APR_UNIX) {
+        apr_size_t len = (apr_size_t)sockaddr->ipaddr_len;
+        apr_cpystrn(buf, buflen < len ? buflen : len, sockaddr->ipaddr_ptr);
+        return APR_SUCCESS;
+    }
+#endif
+
     if (!apr_inet_ntop(sockaddr->family, sockaddr->ipaddr_ptr, buf, buflen)) {
         return APR_ENOSPC;
     }



Re: svn commit: r1883728 - /apr/apr/trunk/network_io/unix/sockaddr.c

Posted by Yann Ylavic <yl...@gmail.com>.
On Mon, Nov 23, 2020 at 8:33 AM Ruediger Pluem <rp...@apache.org> wrote:
> >
> > @@ -118,6 +118,14 @@ static apr_status_t get_remote_addr(apr_
> >  APR_DECLARE(apr_status_t) apr_sockaddr_ip_getbuf(char *buf, apr_size_t buflen,
> >                                                   apr_sockaddr_t *sockaddr)
> >  {
> > +#if APR_HAVE_SOCKADDR_UN && 0
>
> Why && 0?

Argh, a leftover of a verification that httpd's r1883729 was fixing
the issue without the APR patch.
Afterward I also added the "buflen < len ? buflen : len" check
("buflen" was used directly at first), but since it was commented out
I didn't notice the invalid args order..

All this should be fixed in r1883742, thanks RĂ¼diger.

Regards;
Yann.

Re: svn commit: r1883728 - /apr/apr/trunk/network_io/unix/sockaddr.c

Posted by Ruediger Pluem <rp...@apache.org>.

On 11/22/20 11:21 PM, ylavic@apache.org wrote:
> Author: ylavic
> Date: Sun Nov 22 22:21:30 2020
> New Revision: 1883728
> 
> URL: http://svn.apache.org/viewvc?rev=1883728&view=rev
> Log:
> apr_sockaddr_ip_get[buf]: handle APR_UNIX family.
> 
> For unix sockets, return the path (sun_path).
> 
> Modified:
>     apr/apr/trunk/network_io/unix/sockaddr.c
> 
> Modified: apr/apr/trunk/network_io/unix/sockaddr.c
> URL: http://svn.apache.org/viewvc/apr/apr/trunk/network_io/unix/sockaddr.c?rev=1883728&r1=1883727&r2=1883728&view=diff
> ==============================================================================
> --- apr/apr/trunk/network_io/unix/sockaddr.c (original)
> +++ apr/apr/trunk/network_io/unix/sockaddr.c Sun Nov 22 22:21:30 2020
> @@ -118,6 +118,14 @@ static apr_status_t get_remote_addr(apr_
>  APR_DECLARE(apr_status_t) apr_sockaddr_ip_getbuf(char *buf, apr_size_t buflen,
>                                                   apr_sockaddr_t *sockaddr)
>  {
> +#if APR_HAVE_SOCKADDR_UN && 0

Why && 0?

> +    if (sockaddr->family == APR_UNIX) {
> +        apr_size_t len = (apr_size_t)sockaddr->ipaddr_len;
> +        apr_cpystrn(buf, buflen < len ? buflen : len, sockaddr->ipaddr_ptr);
> +        return APR_SUCCESS;
> +    }
> +#endif
> +
>      if (!apr_inet_ntop(sockaddr->family, sockaddr->ipaddr_ptr, buf, buflen)) {
>          return APR_ENOSPC;
>      }
> 
> 
> 

Regards

RĂ¼diger