Package: libnspr4
Version: 2:4.10.3-1
Severity: important
Tags: upstream patch

The libnspr4 library doesn't correctly identify the protocol family of
an endpoint on Debian GNU/Hurd. This is caused by the presence of the
sa_len member before sa_family in the definition of struct sockaddr.
The problem can be tested with the following command from
libnss3-tools :
$ tstclnt -h <https_server> -p 443
tstclnt: read from socket failed: PR_ADDRESS_NOT_SUPPORTED_ERROR:
Network address type not supported

The library can be built with the _PR_HAVE_SOCKADDR_LEN macro defined
so that code is enabled to fix the nspr equivalent of the sockaddr
structure. The attached patch enables this definition for the Hurd.

-- System Information:
Debian Release: jessie/sid
  APT prefers unreleased
  APT policy: (500, 'unreleased'), (500, 'unstable')
Architecture: hurd-i386 (i686-AT386)

Kernel: GNU-Mach 1.4-486-dbg/Hurd-0.5
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages libnspr4 depends on:
ii  libc0.3            2.17-98~1
ii  multiarch-support  2.17-98~1

libnspr4 recommends no packages.

libnspr4 suggests no packages.

-- no debconf information
>From 02ebd3d67e780e92cd0b0438406679493525bc06 Mon Sep 17 00:00:00 2001
From: Richard Braun <rbr...@sceen.net>
Date: Thu, 20 Feb 2014 20:50:46 +0100
Subject: [PATCH] Define _PR_HAVE_SOCKADDR_LEN for the Hurd

---
 nspr/pr/include/md/_linux.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/nspr/pr/include/md/_linux.h b/nspr/pr/include/md/_linux.h
index 906822f..cee6765 100644
--- a/nspr/pr/include/md/_linux.h
+++ b/nspr/pr/include/md/_linux.h
@@ -80,7 +80,7 @@
 #define NO_DLOPEN_NULL
 #endif
 
-#ifdef __FreeBSD_kernel__
+#if defined(__FreeBSD_kernel__) || defined(__GNU__)
 #define _PR_HAVE_SOCKADDR_LEN
 #endif
 
-- 
1.9.0

Reply via email to