pkgsrc-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
pkg/38443: OpenBSD patches for firefox and thunderbird
>Number: 38443
>Category: pkg
>Synopsis: OpenBSD patches for firefox and thunderbird
>Confidential: no
>Severity: non-critical
>Priority: medium
>Responsible: pkg-manager
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Wed Apr 16 19:55:00 +0000 2008
>Originator: Alexander Nasonov
>Release:
>Organization:
>Environment:
OpenBSD 4.2 i386
>Description:
www/firefox and mail/thunderbird don't build on OpenBSD 4.2 i386.
Note that both packages have a patch for security/nss/lib/freebl/Makefile:
www/firefox/patches//patch-de
mail/thunderbird/patches/patch-dw
These patches should be replaced with the provided patch.
>How-To-Repeat:
>Fix:
--- nsprpub/configure.in.pkgsrc Tue Jun 12 02:08:48 2007
+++ nsprpub/configure.in Tue Jun 12 02:09:21 2007
@@ -1742,6 +1742,8 @@
AC_DEFINE(OPENBSD)
AC_DEFINE(HAVE_BSD_FLOCK)
AC_DEFINE(HAVE_SOCKLEN_T)
+ AC_DEFINE(_PR_HAVE_GETPROTO_R)
+ AC_DEFINE(_PR_HAVE_3_ARG_GETPROTO_R_POINTER)
CFLAGS="$CFLAGS -ansi -Wall"
CXXFLAGS="$CXXFLAGS -ansi -Wall"
DLL_SUFFIX=so.1.0
--- nsprpub/configure.pkgsrc Tue Jun 12 00:37:02 2007
+++ nsprpub/configure Tue Jun 12 00:38:31 2007
@@ -4315,6 +4315,14 @@
#define HAVE_SOCKLEN_T 1
EOF
+ cat >> confdefs.h <<\EOF
+#define _PR_HAVE_GETPROTO_R 1
+EOF
+
+ cat >> confdefs.h <<\EOF
+#define _PR_HAVE_3_ARG_GETPROTO_R_POINTER 1
+EOF
+
CFLAGS="$CFLAGS -ansi -Wall"
CXXFLAGS="$CXXFLAGS -ansi -Wall"
DLL_SUFFIX=so.1.0
--- nsprpub/pr/src/misc/prnetdb.c.pkgsrc Tue Jun 12 00:39:59 2007
+++ nsprpub/pr/src/misc/prnetdb.c Tue Jun 12 01:34:58 2007
@@ -1210,7 +1210,9 @@
if (!_pr_initialized) _PR_ImplicitInitialization();
-#if defined(_PR_HAVE_GETPROTO_R_INT)
+#if defined(_PR_HAVE_GETPROTO_R_INT) || \
+ defined(_PR_HAVE_3_ARG_GETPROTO_R_POINTER)
+
{
/*
** The protoent_data has a pointer as the first field.
@@ -1251,6 +1253,17 @@
PR_SetError(PR_DIRECTORY_LOOKUP_ERROR, _MD_ERRNO());
return PR_FAILURE;
}
+#elif defined(_PR_HAVE_3_ARG_GETPROTO_R_POINTER)
+ /*
+ ** The buffer needs to be zero'd, and it should be
+ ** at least the size of a struct protoent_data.
+ */
+ memset(buffer, 0, buflen);
+ if (NULL == getprotobyname_r(name, res, (struct protoent_data*)buffer))
+ {
+ PR_SetError(PR_DIRECTORY_LOOKUP_ERROR, _MD_ERRNO());
+ return PR_FAILURE;
+ }
#elif defined(_PR_HAVE_5_ARG_GETPROTO_R)
/* The 5th argument for getprotobyname_r() cannot be NULL */
if (-1 == getprotobyname_r(name, res, buffer, buflen, &res))
@@ -1290,7 +1303,8 @@
if (!_pr_initialized) _PR_ImplicitInitialization();
-#if defined(_PR_HAVE_GETPROTO_R_INT)
+#if defined(_PR_HAVE_GETPROTO_R_INT) || \
+ defined(_PR_HAVE_3_ARG_GETPROTO_R_POINTER)
{
/*
** The protoent_data has a pointer as the first field.
@@ -1327,6 +1341,16 @@
*/
memset(buffer, 0, buflen);
if (-1 == getprotobynumber_r(number, res, (struct protoent_data*)buffer)
)
+ {
+ PR_SetError(PR_DIRECTORY_LOOKUP_ERROR, _MD_ERRNO());
+ return PR_FAILURE;
+ }
+#elif defined(_PR_HAVE_3_ARG_GETPROTO_R_POINTER)
+ /*
+ ** The buffer needs to be zero'd for these OS's.
+ */
+ memset(buffer, 0, buflen);
+ if (NULL == getprotobynumber_r(number, res, (struct protoent_data*)buffer))
{
PR_SetError(PR_DIRECTORY_LOOKUP_ERROR, _MD_ERRNO());
return PR_FAILURE;
--- security/nss/lib/freebl/Makefile.orig Tue Apr 15 23:10:48 2008
+++ security/nss/lib/freebl/Makefile Tue Apr 15 23:11:16 2008
@@ -192,7 +192,7 @@
# to bind the blapi function references in FREEBLVector vector
# (ldvector.c) to the blapi functions defined in the freebl
# shared libraries.
-ifeq (,$(filter-out BSD_OS FreeBSD Linux NetBSD, $(OS_TARGET)))
+ifeq (,$(filter-out BSD_OS FreeBSD Linux NetBSD OpenBSD DragonFlyBSD, $(OS_TARG
ET)))
MKSHLIB += -Wl,-Bsymbolic
endif
Home |
Main Index |
Thread Index |
Old Index