From nobody@FreeBSD.org  Thu Oct 13 16:47:14 2011
Return-Path: <nobody@FreeBSD.org>
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id F3D3A106566B
	for <freebsd-gnats-submit@FreeBSD.org>; Thu, 13 Oct 2011 16:47:13 +0000 (UTC)
	(envelope-from nobody@FreeBSD.org)
Received: from red.freebsd.org (red.freebsd.org [IPv6:2001:4f8:fff6::22])
	by mx1.freebsd.org (Postfix) with ESMTP id E2B7A8FC08
	for <freebsd-gnats-submit@FreeBSD.org>; Thu, 13 Oct 2011 16:47:13 +0000 (UTC)
Received: from red.freebsd.org (localhost [127.0.0.1])
	by red.freebsd.org (8.14.4/8.14.4) with ESMTP id p9DGlDBE055121
	for <freebsd-gnats-submit@FreeBSD.org>; Thu, 13 Oct 2011 16:47:13 GMT
	(envelope-from nobody@red.freebsd.org)
Received: (from nobody@localhost)
	by red.freebsd.org (8.14.4/8.14.4/Submit) id p9DGlDoQ055120;
	Thu, 13 Oct 2011 16:47:13 GMT
	(envelope-from nobody)
Message-Id: <201110131647.p9DGlDoQ055120@red.freebsd.org>
Date: Thu, 13 Oct 2011 16:47:13 GMT
From: Garrett Cooper <yaneurabeya@gmail.com>
To: freebsd-gnats-submit@FreeBSD.org
Subject: Bugs with aio_suspend configure test in net/samba35
X-Send-Pr-Version: www-3.1
X-GNATS-Notify:

>Number:         161549
>Category:       ports
>Synopsis:       Bugs with aio_suspend configure test in net/samba35
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    timur
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Thu Oct 13 16:50:06 UTC 2011
>Closed-Date:    Sat Feb 23 20:01:31 UTC 2013
>Last-Modified:  Sat Feb 23 20:01:31 UTC 2013
>Originator:     Garrett Cooper
>Release:        9.0-BETA2
>Organization:
iXsystems, Inc.
>Environment:
FreeBSD bayonetta.local 9.0-BETA2 FreeBSD 9.0-BETA2 #0 r225653M: Tue Sep 20 08:36:49 PDT 2011     gcooper@bayonetta.local:/usr/obj/usr/src/sys/BAYONETTA  amd64
>Description:
The current autoconf test is written improperly per POSIX and fails as follows:

configure:33543: checking for aio_suspend
configure:33550: cc -o conftest -O2 -pipe -fno-strict-aliasing -pipe -O2 -march=core2 -DLDAP_DEPRECATED -I/usr/include -I/usr/include -I/usr/local/include -Iinclude -I./include  -I. -I. -I./../lib/replace -I./../lib/tevent -I./libaddns -I./librpc -I./.. -I./../lib/popt -I/usr/local/include -DLDAP_DEPRECATED  -L/usr/local/lib -L./bin -L/usr/local/lib conftest.c -lexecinfo      -liconv -lrt >&5
conftest.c: In function 'main':
conftest.c:462: error: 'NULL' undeclared (first use in this function)
conftest.c:462: error: (Each undeclared identifier is reported only once
conftest.c:462: error: for each function it appears in.)
conftest.c:462: warning: passing argument 1 of 'aio_suspend' from incompatible pointer type
configure:33550: $? = 1

The problem is two-fold:

1. NULL must be pulled in from an approved header. The OpenGroup manpages state that stdlib.h must define NULL so I will use that.
2. Better typing and pointer casting needs to be done with the struct aiocb* that's passed into aio_suspend.

Bottom line is that the following autoconf testcase should be used instead of the current one:

#include <aio.h>
#include <stdlib.h>
int main() {
    struct aiocb *a[1];
    return aio_suspend((const struct aiocb**)a, 1, NULL);
}
>How-To-Repeat:
- Run 'make configure WITH_AIO_SUPPORT=y' on FreeBSD 8.x+.
- Check $WRKDIR/source3/config.log for errors related to aio_suspend.
>Fix:
The revised net/samba35/files/patch-source3__configure.in is attached. Unfortunately my anoncvs is fubared and doesn't have this port for some odd reason.

Patch attached with submission follows:

--- source3/configure.in.orig	2011-10-13 09:20:12.000000000 -0700
+++ source3/configure.in	2011-10-13 09:43:06.000000000 -0700
@@ -23,6 +23,7 @@
 m4_include(pkg.m4)
 
 AC_LIBREPLACE_CC_CHECKS
+AC_LIBREPLACE_RUNTIME_LIB_PATH_VAR
 
 m4_include(../lib/tevent/libtevent.m4)
 
@@ -755,9 +756,13 @@
 	AC_PATH_PROG(CUPS_CONFIG, cups-config)
 
         if test "x$CUPS_CONFIG" != x; then
+		ac_save_PRINT_CPPFLAGS=$CPPFLAGS
+		ac_save_PRINT_LDFLAGS=$LDFLAGS
 
-		ac_save_LDFLAGS=$LDFLAGS
 		ac_save_PRINT_LIBS=$PRINT_LIBS
+		CPPFLAGS="$CPPFLAGS `$CUPS_CONFIG --cflags`"
+		LDFLAGS="$LDFLAGS `$CUPS_CONFIG --ldflags`"
+
 		AC_CHECK_HEADERS(cups/cups.h cups/language.h)
 
 		if test x"$ac_cv_header_cups_cups_h" = xyes -a \
@@ -766,8 +771,8 @@
 			# underlinked. With cups-config --libs we pull in unwanted and unneeded
 			# dendencies including thread libraries - use cups-config only if really
 			# required. 
-			AC_CHECK_LIB_EXT(cups, ac_save_PRINT_LIBS , httpConnect,
-				[PRINT_LIBS"$ac_save_PRINT_LIBS -lcups"],
+			AC_CHECK_LIB_EXT(cups, ac_save_PRINT_LIBS, httpConnect,
+				[PRINT_LIBS="$ac_save_PRINT_LIBS -lcups"],
 				[AC_MSG_WARN([your cups library doesn't link with -lcups alone, it might be underlinked.]) ;
 				 PRINT_LIBS="$ac_save_PRINT_LIBS `$CUPS_CONFIG --libs`"])
 
@@ -776,10 +781,10 @@
 			AC_CHECK_LIB_EXT(cups, PRINT_LIBS, httpConnectEncrypt)
 		else
 			AC_MSG_WARN([cups-config around but cups-devel not installed])
-			CFLAGS=$ac_save_CFLAGS
-			LDFLAGS=$ac_save_LDFLAGS
 			PRINT_LIBS=$ac_save_PRINT_LIBS
 		fi
+		CPPFLAGS=$ac_save_PRINT_CPPFLAGS
+		LDFLAGS=$ac_save_PRINT_LDFLAGS
 
 	elif test x"$enable_cups" = x"yes"; then
 		AC_MSG_ERROR(Cups support required but cups-config not located.  Make sure cups-devel related files are installed.)
@@ -1730,8 +1735,12 @@
 
 AC_MSG_RESULT($BLDSHARED)
 
-saved_before_as_needed_ldflags="$LDFLAGS"
-for flags in "-Wl,--as-needed" "-Wl,-z,ignore" "-z ignore" ; do
+AC_ARG_ENABLE(as-needed,
+	[AS_HELP_STRING([--enable-as-needed],
+	[Turn on as-needed support if available (default=auto)])])
+if test "x$enable_as_needed" != xno; then
+    saved_before_as_needed_ldflags="$LDFLAGS"
+    for flags in "-Wl,--as-needed" "-Wl,-z,ignore" "-z ignore" ; do
 	saved_ldflags="$LDFLAGS"
 	AC_MSG_CHECKING([if $flags works])
 	LDFLAGS="$flags $saved_ldflags"
@@ -1742,7 +1751,46 @@
 		AC_MSG_RESULT([no]))
 	LDFLAGS="$LD_AS_NEEDED_FLAG $saved_ldflags"
 	test x"$ld_as_needed_flag_found" = xyes && break
-done
+    done
+fi
+
+if test x$ld_as_needed_flag_found = xyes ; then
+# check if ld has bug described in https://bugzilla.samba.org/show_bug.cgi?id=7209#c17
+	AC_MSG_CHECKING([if $LD_AS_NEEDED_FLAG has explicit external libs bug])
+cat > conftest_shb.c <<END
+void b() {}
+END
+cat > conftest_sha.c <<END
+extern void b();
+void a() {
+	b();
+}
+END
+cat > conftest.c <<END
+extern void a();
+int main() {
+	a();
+	return 0;
+}
+END
+
+	rm -fr conftest
+	AC_TRY_COMMAND([$CC $CPPFLAGS $CFLAGS $PICFLAG -c -o conftest_sha.o conftest_sha.c 1>&AS_MESSAGE_LOG_FD 2>&1])
+	AC_TRY_COMMAND([$CC $CPPFLAGS $CFLAGS $PICFLAG -c -o conftest_shb.o conftest_shb.c 1>&AS_MESSAGE_LOG_FD 2>&1])
+	TESTCMD="`eval echo \"$SHLD $LDSHFLAGS $PICFLAG\"`"
+	AC_TRY_COMMAND([$TESTCMD -o libconftest_shb.$SHLIBEXT conftest_shb.o 1>&AS_MESSAGE_LOG_FD 2>&1])
+	AC_TRY_COMMAND([$TESTCMD -o libconftest_sha.$SHLIBEXT conftest_sha.o 1>&AS_MESSAGE_LOG_FD 2>&1])
+	AC_TRY_COMMAND([$CC -o conftest conftest.c $LDFLAGS -L. -lconftest_sha -lconftest_shb 1>&AS_MESSAGE_LOG_FD 2>&1])
+	if AC_TRY_COMMAND([eval "$LIB_PATH_VAR=. ./conftest 1>&AS_MESSAGE_LOG_FD 2>&1"])
+	then
+		AC_MSG_RESULT([no])
+	else
+		ld_as_needed_flag_found=no
+		LDFLAGS="$saved_before_as_needed_ldflags"
+		AC_MSG_RESULT([yes])
+	fi
+	rm conftest* libconftest*
+fi
 
 # check if we have to disable LD_AS_NEEDED_FLAG:
 # On some systems for a veriety of reasons linking with
@@ -1806,9 +1854,6 @@
 AC_MSG_CHECKING([PICFLAG])
 AC_MSG_RESULT([$PICFLAG])
 
-AC_MSG_CHECKING([NSSSONAMEVERSIONSUFFIX])
-AC_MSG_RESULT([$NSSSONAMEVERSIONSUFFIX])
-
 AC_CACHE_CHECK([whether building shared libraries actually works],
                [ac_cv_shlib_works],[
    # try building a trivial shared library
@@ -1845,7 +1890,6 @@
 
 AC_DEFINE_UNQUOTED(SHLIBEXT, "$SHLIBEXT", [Shared library extension])
 
-AC_LIBREPLACE_RUNTIME_LIB_PATH_VAR
 
 
 ###########################################################
@@ -4287,10 +4331,10 @@
 
   ################################################################
   # first test for Active Directory support being enabled
-  #if test x"$with_ads_support" = x"no"; then
-  #		AC_MSG_ERROR(Active Directory support is required to enable DNS Update support)
-  #		with_dnsupdate_support=no
-  #fi	  	
+  if test x"$with_ads_support" = x"no"; then
+  		AC_MSG_ERROR(Active Directory support is required to enable DNS Update support)
+  		with_dnsupdate_support=no
+  fi
   ##################################################################
   # then test for uuid.h (necessary to generate unique DNS keynames
   # (uuid.h is required for this test)
@@ -4535,15 +4579,51 @@
 		x"$ac_cv_header_pam_pam_modules_h" = x"no" ; then
 		if test x"${try_pam}" = x"yes";then
 			AC_MSG_ERROR([--with-pam=yes but pam_modules.h not found])
-       fi
+		fi
 		create_pam_modules=no
-    fi
+	fi
 
 	if test x"$use_pam" = x"yes"; then
-    AC_DEFINE(WITH_PAM,1,[Whether to include PAM support])
+		AC_DEFINE(WITH_PAM,1,[Whether to include PAM support])
 		AC_DEFINE(HAVE_LIBPAM,1,[Whether libpam is available])
 		AUTH_LIBS="$AUTH_LIBS $PAM_LIBS"
-    with_pam_for_crypt=yes
+		with_pam_for_crypt=yes
+
+		AC_VERIFY_C_PROTOTYPE(
+			[int pam_get_data(const pam_handle_t *pamh, const char *module_data_name, const void **data)],
+			[return 0;],
+			[AC_DEFINE(PAM_GET_DATA_ARG3_CONST_VOID_PP, 1, [Whether pam_get_data 3 argument is a const pointer to pointer])],
+			[
+			dnl Old OpenPAM declaration
+			AC_VERIFY_C_PROTOTYPE(
+				[int pam_get_data(pam_handle_t *pamh, const char *module_data_name, void **data)],
+				[return 0;],
+				[AC_DEFINE(PAM_GET_DATA_ARG3_VOID_PP, 1, [Whether pam_get_data 3 argument is a void pointer to pointer])],
+				[], [
+					#include <sys/types.h>
+					#if HAVE_SECURITY_PAM_APPL_H
+					#include <security/pam_appl.h>
+					#endif
+					#if HAVE_PAM_PAM_APPL_H
+					#include <pam/pam_appl.h>
+					#endif
+					#if HAVE_SECURITY_PAM_MODULES_H
+					#include <security/pam_modules.h>
+					#endif
+				]
+			)],[
+				#include <sys/types.h>
+				#if HAVE_SECURITY_PAM_APPL_H
+				#include <security/pam_appl.h>
+				#endif
+				#if HAVE_PAM_PAM_APPL_H
+				#include <pam/pam_appl.h>
+				#endif
+				#if HAVE_SECURITY_PAM_MODULES_H
+				#include <security/pam_modules.h>
+				#endif
+			]
+		)
 
 		if test x"$create_pam_modules" = x"yes"; then
 			AC_DEFINE(WITH_PAM_MODULES,1,[Whether to include PAM MODULES support])
@@ -4553,7 +4633,7 @@
 			AC_CHECK_HEADERS(pam/pam_ext.h pam/_pam_macros.h)
 			AC_CHECK_FUNC_EXT(pam_vsyslog,$PAM_LIBS)
 		else
-			AC_MSG_WARN([PAM support detected but PAM MODULES support is missing])		
+			AC_MSG_WARN([PAM support detected but PAM MODULES support is missing])
 		fi
 	fi
 	AC_MSG_CHECKING(whether to use PAM support)
@@ -5545,7 +5625,8 @@
         esac
 fi # with_acl_support
 
-
+# check for NFSv4 acl
+AC_CHECK_LIB(sunacl, acl, [ACL_LIBS="$ACL_LIBS -lsunacl"])
 
 #################################################
 # check for AIO support
@@ -5626,7 +5707,12 @@
 
 			AC_MSG_CHECKING(for aio_suspend)
 			AC_LINK_IFELSE([#include <aio.h>
-int main() { struct aiocb a; return aio_suspend(&a, 1, NULL); }],
+#include <stdlib.h>
+int main() {
+    struct aiocb &a[1];
+    return aio_suspend((const struct aiocb**)&a, 1, NULL);
+}
+],
 [AC_DEFINE(HAVE_AIO_SUSPEND, 1, [Have aio_suspend]) AC_MSG_RESULT(yes)],
 [AC_MSG_RESULT(no)])
 		fi
@@ -6086,6 +6172,7 @@
 		NSSSONAMEVERSIONSUFFIX=".1"
 		WINBIND_NSS_EXTRA_OBJS="../nsswitch/winbind_nss_freebsd.o \
 		    ../nsswitch/winbind_nss_linux.o"
+		WINBIND_WINS_NSS_EXTRA_OBJS="../nsswitch/wins_freebsd.o"
 		WINBIND_NSS="../nsswitch/nss_winbind.$SHLIBEXT"
 		WINBIND_WINS_NSS="../nsswitch/nss_wins.$SHLIBEXT"
 		;;
@@ -6176,17 +6263,10 @@
 	AC_DEFINE(WITH_WINBIND,1,[Whether to link to wbclient])
 	EXTRA_BIN_PROGS="$EXTRA_BIN_PROGS bin/wbinfo\$(EXEEXT)"
 else
-	if test x"$enable_developer" = x"yes" -a x"$LINK_LIBWBCLIENT" = x"STATIC" ; then
-		BUILD_LIBWBCLIENT_SHARED=no
-	else
-		BUILD_LIBWBCLIENT_SHARED=yes
-	fi
-
 	LIBWBCLIENT_SHARED_TARGET=bin/libwbclient.$SHLIBEXT
 	LIBWBCLIENT_STATIC_TARGET=bin/libwbclient.a
 	LIBWBCLIENT_SOVER=0
 	if test $BLDSHARED = true -a x"$HAVE_WINBIND" = x"yes" -a x"$BUILD_LIBWBCLIENT_SHARED" = x"yes"; then
-		NSS_MODULES="${WINBIND_NSS} ${WINBIND_WINS_NSS}"
 		## Only worry about libwbclient if we have shared
 		# library support
 		LIBWBCLIENT_SHARED=$LIBWBCLIENT_SHARED_TARGET
@@ -6206,19 +6286,26 @@
 
 	EXTRA_BIN_PROGS="$EXTRA_BIN_PROGS bin/wbinfo\$(EXEEXT)"
 	EXTRA_SBIN_PROGS="$EXTRA_SBIN_PROGS bin/winbindd\$(EXEEXT)"
-        if test $BLDSHARED = true -a x"$create_pam_modules" = x"yes"; then
+        if test $BLDSHARED = true; then
+	    NSS_MODULES="${WINBIND_NSS} ${WINBIND_WINS_NSS}"
+	    if test x"$create_pam_modules" = x"yes"; then
 		PAM_MODULES="$PAM_MODULES pam_winbind"
 		INSTALL_PAM_MODULES="installpammodules"
 		UNINSTALL_PAM_MODULES="uninstallpammodules"
+	    fi
 	fi
 else
         AC_MSG_RESULT(no$winbind_no_reason)
 fi
 
+AC_MSG_CHECKING([NSSSONAMEVERSIONSUFFIX])
+AC_MSG_RESULT([$NSSSONAMEVERSIONSUFFIX])
+
 AC_SUBST(WINBIND_NSS)
-AC_SUBST(WINBIND_WINS_NSS)
 AC_SUBST(WINBIND_NSS_LDSHFLAGS)
 AC_SUBST(WINBIND_NSS_EXTRA_OBJS)
+AC_SUBST(WINBIND_WINS_NSS)
+AC_SUBST(WINBIND_WINS_NSS_EXTRA_OBJS)
 AC_SUBST(NSSSONAMEVERSIONSUFFIX)
 
 AC_SUBST(WINBIND_KRB5_LOCATOR)
@@ -6486,13 +6573,21 @@
 # Start
 AC_CHECK_FUNC(getmntent)
 
-AC_CHECK_HEADERS(sys/statfs.h)
+AC_CHECK_HEADERS(sys/statfs.h sys/mount.h)
 
 AC_MSG_CHECKING([vfs_fileid: checking for statfs() and struct statfs.f_fsid)])
 AC_CACHE_VAL(vfsfileid_cv_statfs,[
 	     AC_TRY_RUN([
 		#include <sys/types.h>
+		#ifdef HAVE_SYS_PARAM_H
+		#include <sys/param.h>
+		#endif
+		#ifdef HAVE_SYS_MOUNT_H
+		#include <sys/mount.h>
+		#endif
+		#ifdef HAVE_SYS_STATFS_H
 		#include <sys/statfs.h>
+		#endif
 		int main(void)
 		{
 			struct statfs fsd;
@@ -6823,6 +6918,16 @@
 	LIBS="$LIBS -ldmalloc"
 fi
 
+AC_ARG_ENABLE(dmalloc, [AS_HELP_STRING([--enable-dmalloc], [Enable heap debugging [default=no]])])
+
+if test "x$enable_dmalloc" = xyes
+then
+	AC_DEFINE(ENABLE_DMALLOC, 1, [Define to turn on dmalloc debugging])
+	AC_DEFINE(DMALLOC_FUNC_CHECK, 1,
+                  [Define to check invariants around some common functions])
+	LIBS="$LIBS -ldmalloc"	
+fi
+
 dnl Remove -L/usr/lib/? from LDFLAGS and LIBS
 LIB_REMOVE_USR_LIB(LDFLAGS)
 LIB_REMOVE_USR_LIB(LIBS)


>Release-Note:
>Audit-Trail:
Responsible-Changed-From-To: freebsd-ports-bugs->timur 
Responsible-Changed-By: edwin 
Responsible-Changed-When: Thu Oct 13 16:50:17 UTC 2011 
Responsible-Changed-Why:  
Over to maintainer (via the GNATS Auto Assign Tool) 

http://www.freebsd.org/cgi/query-pr.cgi?pr=161549 

From: Garrett Cooper <yaneurabeya@gmail.com>
To: bug-followup@freebsd.org
Cc:  
Subject: Re: ports/161549: Bugs with aio_suspend configure test in
 net/samba35
Date: Thu, 13 Oct 2011 10:07:00 -0700 (PDT)

   This message is in MIME format.  The first part should be readable text,
   while the remaining parts are likely unreadable without MIME-aware tools.
 
 --967339439-1141011291-1318525633=:14890
 Content-Type: TEXT/PLAIN; format=flowed; charset=US-ASCII
 
  	The previously attached patch didn't work (the patch level doesn't 
 appear to be consistent with other ports), and the quoting was wrong with 
 m4.
 Thanks,
 -Garrett
 --967339439-1141011291-1318525633=:14890
 Content-Type: TEXT/PLAIN; charset=US-ASCII; name=net-samba35-configure_in.patch.txt
 Content-Transfer-Encoding: BASE64
 Content-ID: <alpine.BSF.2.00.1110131007000.14890@toaster.local>
 Content-Description: 
 Content-Disposition: attachment; filename=net-samba35-configure_in.patch.txt
 
 LS0tIC4vc291cmNlMy9jb25maWd1cmUuaW4JMjAxMS0xMC0xMyAwOTo1NDo0
 Ny4wMDAwMDAwMDAgLTA3MDANCisrKyAuL3NvdXJjZTMvY29uZmlndXJlLmlu
 CTIwMTEtMTAtMTMgMDk6NTY6NTQuMDAwMDAwMDAwIC0wNzAwDQpAQCAtMjMs
 NiArMjMsNyBAQA0KIG00X2luY2x1ZGUocGtnLm00KQ0KIA0KIEFDX0xJQlJF
 UExBQ0VfQ0NfQ0hFQ0tTDQorQUNfTElCUkVQTEFDRV9SVU5USU1FX0xJQl9Q
 QVRIX1ZBUg0KIA0KIG00X2luY2x1ZGUoLi4vbGliL3RldmVudC9saWJ0ZXZl
 bnQubTQpDQogDQpAQCAtNzU1LDkgKzc1NiwxMyBAQA0KIAlBQ19QQVRIX1BS
 T0coQ1VQU19DT05GSUcsIGN1cHMtY29uZmlnKQ0KIA0KICAgICAgICAgaWYg
 dGVzdCAieCRDVVBTX0NPTkZJRyIgIT0geDsgdGhlbg0KKwkJYWNfc2F2ZV9Q
 UklOVF9DUFBGTEFHUz0kQ1BQRkxBR1MNCisJCWFjX3NhdmVfUFJJTlRfTERG
 TEFHUz0kTERGTEFHUw0KIA0KLQkJYWNfc2F2ZV9MREZMQUdTPSRMREZMQUdT
 DQogCQlhY19zYXZlX1BSSU5UX0xJQlM9JFBSSU5UX0xJQlMNCisJCUNQUEZM
 QUdTPSIkQ1BQRkxBR1MgYCRDVVBTX0NPTkZJRyAtLWNmbGFnc2AiDQorCQlM
 REZMQUdTPSIkTERGTEFHUyBgJENVUFNfQ09ORklHIC0tbGRmbGFnc2AiDQor
 DQogCQlBQ19DSEVDS19IRUFERVJTKGN1cHMvY3Vwcy5oIGN1cHMvbGFuZ3Vh
 Z2UuaCkNCiANCiAJCWlmIHRlc3QgeCIkYWNfY3ZfaGVhZGVyX2N1cHNfY3Vw
 c19oIiA9IHh5ZXMgLWEgXA0KQEAgLTc2Niw4ICs3NzEsOCBAQA0KIAkJCSMg
 dW5kZXJsaW5rZWQuIFdpdGggY3Vwcy1jb25maWcgLS1saWJzIHdlIHB1bGwg
 aW4gdW53YW50ZWQgYW5kIHVubmVlZGVkDQogCQkJIyBkZW5kZW5jaWVzIGlu
 Y2x1ZGluZyB0aHJlYWQgbGlicmFyaWVzIC0gdXNlIGN1cHMtY29uZmlnIG9u
 bHkgaWYgcmVhbGx5DQogCQkJIyByZXF1aXJlZC4gDQotCQkJQUNfQ0hFQ0tf
 TElCX0VYVChjdXBzLCBhY19zYXZlX1BSSU5UX0xJQlMgLCBodHRwQ29ubmVj
 dCwNCi0JCQkJW1BSSU5UX0xJQlMiJGFjX3NhdmVfUFJJTlRfTElCUyAtbGN1
 cHMiXSwNCisJCQlBQ19DSEVDS19MSUJfRVhUKGN1cHMsIGFjX3NhdmVfUFJJ
 TlRfTElCUywgaHR0cENvbm5lY3QsDQorCQkJCVtQUklOVF9MSUJTPSIkYWNf
 c2F2ZV9QUklOVF9MSUJTIC1sY3VwcyJdLA0KIAkJCQlbQUNfTVNHX1dBUk4o
 W3lvdXIgY3VwcyBsaWJyYXJ5IGRvZXNuJ3QgbGluayB3aXRoIC1sY3VwcyBh
 bG9uZSwgaXQgbWlnaHQgYmUgdW5kZXJsaW5rZWQuXSkgOw0KIAkJCQkgUFJJ
 TlRfTElCUz0iJGFjX3NhdmVfUFJJTlRfTElCUyBgJENVUFNfQ09ORklHIC0t
 bGlic2AiXSkNCiANCkBAIC03NzYsMTAgKzc4MSwxMCBAQA0KIAkJCUFDX0NI
 RUNLX0xJQl9FWFQoY3VwcywgUFJJTlRfTElCUywgaHR0cENvbm5lY3RFbmNy
 eXB0KQ0KIAkJZWxzZQ0KIAkJCUFDX01TR19XQVJOKFtjdXBzLWNvbmZpZyBh
 cm91bmQgYnV0IGN1cHMtZGV2ZWwgbm90IGluc3RhbGxlZF0pDQotCQkJQ0ZM
 QUdTPSRhY19zYXZlX0NGTEFHUw0KLQkJCUxERkxBR1M9JGFjX3NhdmVfTERG
 TEFHUw0KIAkJCVBSSU5UX0xJQlM9JGFjX3NhdmVfUFJJTlRfTElCUw0KIAkJ
 ZmkNCisJCUNQUEZMQUdTPSRhY19zYXZlX1BSSU5UX0NQUEZMQUdTDQorCQlM
 REZMQUdTPSRhY19zYXZlX1BSSU5UX0xERkxBR1MNCiANCiAJZWxpZiB0ZXN0
 IHgiJGVuYWJsZV9jdXBzIiA9IHgieWVzIjsgdGhlbg0KIAkJQUNfTVNHX0VS
 Uk9SKEN1cHMgc3VwcG9ydCByZXF1aXJlZCBidXQgY3Vwcy1jb25maWcgbm90
 IGxvY2F0ZWQuICBNYWtlIHN1cmUgY3Vwcy1kZXZlbCByZWxhdGVkIGZpbGVz
 IGFyZSBpbnN0YWxsZWQuKQ0KQEAgLTE3MzAsOCArMTczNSwxMiBAQA0KIA0K
 IEFDX01TR19SRVNVTFQoJEJMRFNIQVJFRCkNCiANCi1zYXZlZF9iZWZvcmVf
 YXNfbmVlZGVkX2xkZmxhZ3M9IiRMREZMQUdTIg0KLWZvciBmbGFncyBpbiAi
 LVdsLC0tYXMtbmVlZGVkIiAiLVdsLC16LGlnbm9yZSIgIi16IGlnbm9yZSIg
 OyBkbw0KK0FDX0FSR19FTkFCTEUoYXMtbmVlZGVkLA0KKwlbQVNfSEVMUF9T
 VFJJTkcoWy0tZW5hYmxlLWFzLW5lZWRlZF0sDQorCVtUdXJuIG9uIGFzLW5l
 ZWRlZCBzdXBwb3J0IGlmIGF2YWlsYWJsZSAoZGVmYXVsdD1hdXRvKV0pXSkN
 CitpZiB0ZXN0ICJ4JGVuYWJsZV9hc19uZWVkZWQiICE9IHhubzsgdGhlbg0K
 KyAgICBzYXZlZF9iZWZvcmVfYXNfbmVlZGVkX2xkZmxhZ3M9IiRMREZMQUdT
 Ig0KKyAgICBmb3IgZmxhZ3MgaW4gIi1XbCwtLWFzLW5lZWRlZCIgIi1XbCwt
 eixpZ25vcmUiICIteiBpZ25vcmUiIDsgZG8NCiAJc2F2ZWRfbGRmbGFncz0i
 JExERkxBR1MiDQogCUFDX01TR19DSEVDS0lORyhbaWYgJGZsYWdzIHdvcmtz
 XSkNCiAJTERGTEFHUz0iJGZsYWdzICRzYXZlZF9sZGZsYWdzIg0KQEAgLTE3
 NDIsNyArMTc1MSw0NiBAQA0KIAkJQUNfTVNHX1JFU1VMVChbbm9dKSkNCiAJ
 TERGTEFHUz0iJExEX0FTX05FRURFRF9GTEFHICRzYXZlZF9sZGZsYWdzIg0K
 IAl0ZXN0IHgiJGxkX2FzX25lZWRlZF9mbGFnX2ZvdW5kIiA9IHh5ZXMgJiYg
 YnJlYWsNCi1kb25lDQorICAgIGRvbmUNCitmaQ0KKw0KK2lmIHRlc3QgeCRs
 ZF9hc19uZWVkZWRfZmxhZ19mb3VuZCA9IHh5ZXMgOyB0aGVuDQorIyBjaGVj
 ayBpZiBsZCBoYXMgYnVnIGRlc2NyaWJlZCBpbiBodHRwczovL2J1Z3ppbGxh
 LnNhbWJhLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIwOSNjMTcNCisJQUNfTVNH
 X0NIRUNLSU5HKFtpZiAkTERfQVNfTkVFREVEX0ZMQUcgaGFzIGV4cGxpY2l0
 IGV4dGVybmFsIGxpYnMgYnVnXSkNCitjYXQgPiBjb25mdGVzdF9zaGIuYyA8
 PEVORA0KK3ZvaWQgYigpIHt9DQorRU5EDQorY2F0ID4gY29uZnRlc3Rfc2hh
 LmMgPDxFTkQNCitleHRlcm4gdm9pZCBiKCk7DQordm9pZCBhKCkgew0KKwli
 KCk7DQorfQ0KK0VORA0KK2NhdCA+IGNvbmZ0ZXN0LmMgPDxFTkQNCitleHRl
 cm4gdm9pZCBhKCk7DQoraW50IG1haW4oKSB7DQorCWEoKTsNCisJcmV0dXJu
 IDA7DQorfQ0KK0VORA0KKw0KKwlybSAtZnIgY29uZnRlc3QNCisJQUNfVFJZ
 X0NPTU1BTkQoWyRDQyAkQ1BQRkxBR1MgJENGTEFHUyAkUElDRkxBRyAtYyAt
 byBjb25mdGVzdF9zaGEubyBjb25mdGVzdF9zaGEuYyAxPiZBU19NRVNTQUdF
 X0xPR19GRCAyPiYxXSkNCisJQUNfVFJZX0NPTU1BTkQoWyRDQyAkQ1BQRkxB
 R1MgJENGTEFHUyAkUElDRkxBRyAtYyAtbyBjb25mdGVzdF9zaGIubyBjb25m
 dGVzdF9zaGIuYyAxPiZBU19NRVNTQUdFX0xPR19GRCAyPiYxXSkNCisJVEVT
 VENNRD0iYGV2YWwgZWNobyBcIiRTSExEICRMRFNIRkxBR1MgJFBJQ0ZMQUdc
 ImAiDQorCUFDX1RSWV9DT01NQU5EKFskVEVTVENNRCAtbyBsaWJjb25mdGVz
 dF9zaGIuJFNITElCRVhUIGNvbmZ0ZXN0X3NoYi5vIDE+JkFTX01FU1NBR0Vf
 TE9HX0ZEIDI+JjFdKQ0KKwlBQ19UUllfQ09NTUFORChbJFRFU1RDTUQgLW8g
 bGliY29uZnRlc3Rfc2hhLiRTSExJQkVYVCBjb25mdGVzdF9zaGEubyAxPiZB
 U19NRVNTQUdFX0xPR19GRCAyPiYxXSkNCisJQUNfVFJZX0NPTU1BTkQoWyRD
 QyAtbyBjb25mdGVzdCBjb25mdGVzdC5jICRMREZMQUdTIC1MLiAtbGNvbmZ0
 ZXN0X3NoYSAtbGNvbmZ0ZXN0X3NoYiAxPiZBU19NRVNTQUdFX0xPR19GRCAy
 PiYxXSkNCisJaWYgQUNfVFJZX0NPTU1BTkQoW2V2YWwgIiRMSUJfUEFUSF9W
 QVI9LiAuL2NvbmZ0ZXN0IDE+JkFTX01FU1NBR0VfTE9HX0ZEIDI+JjEiXSkN
 CisJdGhlbg0KKwkJQUNfTVNHX1JFU1VMVChbbm9dKQ0KKwllbHNlDQorCQls
 ZF9hc19uZWVkZWRfZmxhZ19mb3VuZD1ubw0KKwkJTERGTEFHUz0iJHNhdmVk
 X2JlZm9yZV9hc19uZWVkZWRfbGRmbGFncyINCisJCUFDX01TR19SRVNVTFQo
 W3llc10pDQorCWZpDQorCXJtIGNvbmZ0ZXN0KiBsaWJjb25mdGVzdCoNCitm
 aQ0KIA0KICMgY2hlY2sgaWYgd2UgaGF2ZSB0byBkaXNhYmxlIExEX0FTX05F
 RURFRF9GTEFHOg0KICMgT24gc29tZSBzeXN0ZW1zIGZvciBhIHZlcmlldHkg
 b2YgcmVhc29ucyBsaW5raW5nIHdpdGgNCkBAIC0xODA2LDkgKzE4NTQsNiBA
 QA0KIEFDX01TR19DSEVDS0lORyhbUElDRkxBR10pDQogQUNfTVNHX1JFU1VM
 VChbJFBJQ0ZMQUddKQ0KIA0KLUFDX01TR19DSEVDS0lORyhbTlNTU09OQU1F
 VkVSU0lPTlNVRkZJWF0pDQotQUNfTVNHX1JFU1VMVChbJE5TU1NPTkFNRVZF
 UlNJT05TVUZGSVhdKQ0KLQ0KIEFDX0NBQ0hFX0NIRUNLKFt3aGV0aGVyIGJ1
 aWxkaW5nIHNoYXJlZCBsaWJyYXJpZXMgYWN0dWFsbHkgd29ya3NdLA0KICAg
 ICAgICAgICAgICAgIFthY19jdl9zaGxpYl93b3Jrc10sWw0KICAgICMgdHJ5
 IGJ1aWxkaW5nIGEgdHJpdmlhbCBzaGFyZWQgbGlicmFyeQ0KQEAgLTE4NDUs
 NyArMTg5MCw2IEBADQogDQogQUNfREVGSU5FX1VOUVVPVEVEKFNITElCRVhU
 LCAiJFNITElCRVhUIiwgW1NoYXJlZCBsaWJyYXJ5IGV4dGVuc2lvbl0pDQog
 DQotQUNfTElCUkVQTEFDRV9SVU5USU1FX0xJQl9QQVRIX1ZBUg0KIA0KIA0K
 ICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
 IyMjIyMjIyMjIyMjIyMjDQpAQCAtNDI4NywxMCArNDMzMSwxMCBAQA0KIA0K
 ICAgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
 IyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KICAgIyBmaXJzdCB0ZXN0IGZvciBB
 Y3RpdmUgRGlyZWN0b3J5IHN1cHBvcnQgYmVpbmcgZW5hYmxlZA0KLSAgI2lm
 IHRlc3QgeCIkd2l0aF9hZHNfc3VwcG9ydCIgPSB4Im5vIjsgdGhlbg0KLSAg
 IwkJQUNfTVNHX0VSUk9SKEFjdGl2ZSBEaXJlY3Rvcnkgc3VwcG9ydCBpcyBy
 ZXF1aXJlZCB0byBlbmFibGUgRE5TIFVwZGF0ZSBzdXBwb3J0KQ0KLSAgIwkJ
 d2l0aF9kbnN1cGRhdGVfc3VwcG9ydD1ubw0KLSAgI2ZpCSAgCQ0KKyAgaWYg
 dGVzdCB4IiR3aXRoX2Fkc19zdXBwb3J0IiA9IHgibm8iOyB0aGVuDQorICAJ
 CUFDX01TR19FUlJPUihBY3RpdmUgRGlyZWN0b3J5IHN1cHBvcnQgaXMgcmVx
 dWlyZWQgdG8gZW5hYmxlIEROUyBVcGRhdGUgc3VwcG9ydCkNCisgIAkJd2l0
 aF9kbnN1cGRhdGVfc3VwcG9ydD1ubw0KKyAgZmkNCiAgICMjIyMjIyMjIyMj
 IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
 IyMjIyMjIyMjIw0KICAgIyB0aGVuIHRlc3QgZm9yIHV1aWQuaCAobmVjZXNz
 YXJ5IHRvIGdlbmVyYXRlIHVuaXF1ZSBETlMga2V5bmFtZXMNCiAgICMgKHV1
 aWQuaCBpcyByZXF1aXJlZCBmb3IgdGhpcyB0ZXN0KQ0KQEAgLTQ1MzUsMTUg
 KzQ1NzksNTEgQEANCiAJCXgiJGFjX2N2X2hlYWRlcl9wYW1fcGFtX21vZHVs
 ZXNfaCIgPSB4Im5vIiA7IHRoZW4NCiAJCWlmIHRlc3QgeCIke3RyeV9wYW19
 IiA9IHgieWVzIjt0aGVuDQogCQkJQUNfTVNHX0VSUk9SKFstLXdpdGgtcGFt
 PXllcyBidXQgcGFtX21vZHVsZXMuaCBub3QgZm91bmRdKQ0KLSAgICAgICBm
 aQ0KKwkJZmkNCiAJCWNyZWF0ZV9wYW1fbW9kdWxlcz1ubw0KLSAgICBmaQ0K
 KwlmaQ0KIA0KIAlpZiB0ZXN0IHgiJHVzZV9wYW0iID0geCJ5ZXMiOyB0aGVu
 DQotICAgIEFDX0RFRklORShXSVRIX1BBTSwxLFtXaGV0aGVyIHRvIGluY2x1
 ZGUgUEFNIHN1cHBvcnRdKQ0KKwkJQUNfREVGSU5FKFdJVEhfUEFNLDEsW1do
 ZXRoZXIgdG8gaW5jbHVkZSBQQU0gc3VwcG9ydF0pDQogCQlBQ19ERUZJTkUo
 SEFWRV9MSUJQQU0sMSxbV2hldGhlciBsaWJwYW0gaXMgYXZhaWxhYmxlXSkN
 CiAJCUFVVEhfTElCUz0iJEFVVEhfTElCUyAkUEFNX0xJQlMiDQotICAgIHdp
 dGhfcGFtX2Zvcl9jcnlwdD15ZXMNCisJCXdpdGhfcGFtX2Zvcl9jcnlwdD15
 ZXMNCisNCisJCUFDX1ZFUklGWV9DX1BST1RPVFlQRSgNCisJCQlbaW50IHBh
 bV9nZXRfZGF0YShjb25zdCBwYW1faGFuZGxlX3QgKnBhbWgsIGNvbnN0IGNo
 YXIgKm1vZHVsZV9kYXRhX25hbWUsIGNvbnN0IHZvaWQgKipkYXRhKV0sDQor
 CQkJW3JldHVybiAwO10sDQorCQkJW0FDX0RFRklORShQQU1fR0VUX0RBVEFf
 QVJHM19DT05TVF9WT0lEX1BQLCAxLCBbV2hldGhlciBwYW1fZ2V0X2RhdGEg
 MyBhcmd1bWVudCBpcyBhIGNvbnN0IHBvaW50ZXIgdG8gcG9pbnRlcl0pXSwN
 CisJCQlbDQorCQkJZG5sIE9sZCBPcGVuUEFNIGRlY2xhcmF0aW9uDQorCQkJ
 QUNfVkVSSUZZX0NfUFJPVE9UWVBFKA0KKwkJCQlbaW50IHBhbV9nZXRfZGF0
 YShwYW1faGFuZGxlX3QgKnBhbWgsIGNvbnN0IGNoYXIgKm1vZHVsZV9kYXRh
 X25hbWUsIHZvaWQgKipkYXRhKV0sDQorCQkJCVtyZXR1cm4gMDtdLA0KKwkJ
 CQlbQUNfREVGSU5FKFBBTV9HRVRfREFUQV9BUkczX1ZPSURfUFAsIDEsIFtX
 aGV0aGVyIHBhbV9nZXRfZGF0YSAzIGFyZ3VtZW50IGlzIGEgdm9pZCBwb2lu
 dGVyIHRvIHBvaW50ZXJdKV0sDQorCQkJCVtdLCBbDQorCQkJCQkjaW5jbHVk
 ZSA8c3lzL3R5cGVzLmg+DQorCQkJCQkjaWYgSEFWRV9TRUNVUklUWV9QQU1f
 QVBQTF9IDQorCQkJCQkjaW5jbHVkZSA8c2VjdXJpdHkvcGFtX2FwcGwuaD4N
 CisJCQkJCSNlbmRpZg0KKwkJCQkJI2lmIEhBVkVfUEFNX1BBTV9BUFBMX0gN
 CisJCQkJCSNpbmNsdWRlIDxwYW0vcGFtX2FwcGwuaD4NCisJCQkJCSNlbmRp
 Zg0KKwkJCQkJI2lmIEhBVkVfU0VDVVJJVFlfUEFNX01PRFVMRVNfSA0KKwkJ
 CQkJI2luY2x1ZGUgPHNlY3VyaXR5L3BhbV9tb2R1bGVzLmg+DQorCQkJCQkj
 ZW5kaWYNCisJCQkJXQ0KKwkJCSldLFsNCisJCQkJI2luY2x1ZGUgPHN5cy90
 eXBlcy5oPg0KKwkJCQkjaWYgSEFWRV9TRUNVUklUWV9QQU1fQVBQTF9IDQor
 CQkJCSNpbmNsdWRlIDxzZWN1cml0eS9wYW1fYXBwbC5oPg0KKwkJCQkjZW5k
 aWYNCisJCQkJI2lmIEhBVkVfUEFNX1BBTV9BUFBMX0gNCisJCQkJI2luY2x1
 ZGUgPHBhbS9wYW1fYXBwbC5oPg0KKwkJCQkjZW5kaWYNCisJCQkJI2lmIEhB
 VkVfU0VDVVJJVFlfUEFNX01PRFVMRVNfSA0KKwkJCQkjaW5jbHVkZSA8c2Vj
 dXJpdHkvcGFtX21vZHVsZXMuaD4NCisJCQkJI2VuZGlmDQorCQkJXQ0KKwkJ
 KQ0KIA0KIAkJaWYgdGVzdCB4IiRjcmVhdGVfcGFtX21vZHVsZXMiID0geCJ5
 ZXMiOyB0aGVuDQogCQkJQUNfREVGSU5FKFdJVEhfUEFNX01PRFVMRVMsMSxb
 V2hldGhlciB0byBpbmNsdWRlIFBBTSBNT0RVTEVTIHN1cHBvcnRdKQ0KQEAg
 LTQ1NTMsNyArNDYzMyw3IEBADQogCQkJQUNfQ0hFQ0tfSEVBREVSUyhwYW0v
 cGFtX2V4dC5oIHBhbS9fcGFtX21hY3Jvcy5oKQ0KIAkJCUFDX0NIRUNLX0ZV
 TkNfRVhUKHBhbV92c3lzbG9nLCRQQU1fTElCUykNCiAJCWVsc2UNCi0JCQlB
 Q19NU0dfV0FSTihbUEFNIHN1cHBvcnQgZGV0ZWN0ZWQgYnV0IFBBTSBNT0RV
 TEVTIHN1cHBvcnQgaXMgbWlzc2luZ10pCQkNCisJCQlBQ19NU0dfV0FSTihb
 UEFNIHN1cHBvcnQgZGV0ZWN0ZWQgYnV0IFBBTSBNT0RVTEVTIHN1cHBvcnQg
 aXMgbWlzc2luZ10pDQogCQlmaQ0KIAlmaQ0KIAlBQ19NU0dfQ0hFQ0tJTkco
 d2hldGhlciB0byB1c2UgUEFNIHN1cHBvcnQpDQpAQCAtNTU0NSw3ICs1NjI1
 LDggQEANCiAgICAgICAgIGVzYWMNCiBmaSAjIHdpdGhfYWNsX3N1cHBvcnQN
 CiANCi0NCisjIGNoZWNrIGZvciBORlN2NCBhY2wNCitBQ19DSEVDS19MSUIo
 c3VuYWNsLCBhY2wsIFtBQ0xfTElCUz0iJEFDTF9MSUJTIC1sc3VuYWNsIl0p
 DQogDQogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
 IyMjIyMjIyMjIw0KICMgY2hlY2sgZm9yIEFJTyBzdXBwb3J0DQpAQCAtNTYy
 NSw4ICs1NzA2LDEyIEBADQogW0FDX01TR19SRVNVTFQobm8pXSkNCiANCiAJ
 CQlBQ19NU0dfQ0hFQ0tJTkcoZm9yIGFpb19zdXNwZW5kKQ0KLQkJCUFDX0xJ
 TktfSUZFTFNFKFsjaW5jbHVkZSA8YWlvLmg+DQotaW50IG1haW4oKSB7IHN0
 cnVjdCBhaW9jYiBhOyByZXR1cm4gYWlvX3N1c3BlbmQoJmEsIDEsIE5VTEwp
 OyB9XSwNCisJCQlBQ19MSU5LX0lGRUxTRShbWyNpbmNsdWRlIDxhaW8uaD4N
 CisjaW5jbHVkZSA8c3RkbGliLmg+DQoraW50IG1haW4oKSB7DQorICAgIHN0
 cnVjdCBhaW9jYiAqYVsxXTsNCisgICAgcmV0dXJuIGFpb19zdXNwZW5kKChj
 b25zdCBzdHJ1Y3QgYWlvY2IqKikmYSwgMSwgTlVMTCk7DQorfV1dLA0KIFtB
 Q19ERUZJTkUoSEFWRV9BSU9fU1VTUEVORCwgMSwgW0hhdmUgYWlvX3N1c3Bl
 bmRdKSBBQ19NU0dfUkVTVUxUKHllcyldLA0KIFtBQ19NU0dfUkVTVUxUKG5v
 KV0pDQogCQlmaQ0KQEAgLTYwODYsNiArNjE3MSw3IEBADQogCQlOU1NTT05B
 TUVWRVJTSU9OU1VGRklYPSIuMSINCiAJCVdJTkJJTkRfTlNTX0VYVFJBX09C
 SlM9Ii4uL25zc3dpdGNoL3dpbmJpbmRfbnNzX2ZyZWVic2QubyBcDQogCQkg
 ICAgLi4vbnNzd2l0Y2gvd2luYmluZF9uc3NfbGludXgubyINCisJCVdJTkJJ
 TkRfV0lOU19OU1NfRVhUUkFfT0JKUz0iLi4vbnNzd2l0Y2gvd2luc19mcmVl
 YnNkLm8iDQogCQlXSU5CSU5EX05TUz0iLi4vbnNzd2l0Y2gvbnNzX3dpbmJp
 bmQuJFNITElCRVhUIg0KIAkJV0lOQklORF9XSU5TX05TUz0iLi4vbnNzd2l0
 Y2gvbnNzX3dpbnMuJFNITElCRVhUIg0KIAkJOzsNCkBAIC02MTc2LDE3ICs2
 MjYyLDEwIEBADQogCUFDX0RFRklORShXSVRIX1dJTkJJTkQsMSxbV2hldGhl
 ciB0byBsaW5rIHRvIHdiY2xpZW50XSkNCiAJRVhUUkFfQklOX1BST0dTPSIk
 RVhUUkFfQklOX1BST0dTIGJpbi93YmluZm9cJChFWEVFWFQpIg0KIGVsc2UN
 Ci0JaWYgdGVzdCB4IiRlbmFibGVfZGV2ZWxvcGVyIiA9IHgieWVzIiAtYSB4
 IiRMSU5LX0xJQldCQ0xJRU5UIiA9IHgiU1RBVElDIiA7IHRoZW4NCi0JCUJV
 SUxEX0xJQldCQ0xJRU5UX1NIQVJFRD1ubw0KLQllbHNlDQotCQlCVUlMRF9M
 SUJXQkNMSUVOVF9TSEFSRUQ9eWVzDQotCWZpDQotDQogCUxJQldCQ0xJRU5U
 X1NIQVJFRF9UQVJHRVQ9YmluL2xpYndiY2xpZW50LiRTSExJQkVYVA0KIAlM
 SUJXQkNMSUVOVF9TVEFUSUNfVEFSR0VUPWJpbi9saWJ3YmNsaWVudC5hDQog
 CUxJQldCQ0xJRU5UX1NPVkVSPTANCiAJaWYgdGVzdCAkQkxEU0hBUkVEID0g
 dHJ1ZSAtYSB4IiRIQVZFX1dJTkJJTkQiID0geCJ5ZXMiIC1hIHgiJEJVSUxE
 X0xJQldCQ0xJRU5UX1NIQVJFRCIgPSB4InllcyI7IHRoZW4NCi0JCU5TU19N
 T0RVTEVTPSIke1dJTkJJTkRfTlNTfSAke1dJTkJJTkRfV0lOU19OU1N9Ig0K
 IAkJIyMgT25seSB3b3JyeSBhYm91dCBsaWJ3YmNsaWVudCBpZiB3ZSBoYXZl
 IHNoYXJlZA0KIAkJIyBsaWJyYXJ5IHN1cHBvcnQNCiAJCUxJQldCQ0xJRU5U
 X1NIQVJFRD0kTElCV0JDTElFTlRfU0hBUkVEX1RBUkdFVA0KQEAgLTYyMDYs
 MTkgKzYyODUsMjYgQEANCiANCiAJRVhUUkFfQklOX1BST0dTPSIkRVhUUkFf
 QklOX1BST0dTIGJpbi93YmluZm9cJChFWEVFWFQpIg0KIAlFWFRSQV9TQklO
 X1BST0dTPSIkRVhUUkFfU0JJTl9QUk9HUyBiaW4vd2luYmluZGRcJChFWEVF
 WFQpIg0KLSAgICAgICAgaWYgdGVzdCAkQkxEU0hBUkVEID0gdHJ1ZSAtYSB4
 IiRjcmVhdGVfcGFtX21vZHVsZXMiID0geCJ5ZXMiOyB0aGVuDQorICAgICAg
 ICBpZiB0ZXN0ICRCTERTSEFSRUQgPSB0cnVlOyB0aGVuDQorCSAgICBOU1Nf
 TU9EVUxFUz0iJHtXSU5CSU5EX05TU30gJHtXSU5CSU5EX1dJTlNfTlNTfSIN
 CisJICAgIGlmIHRlc3QgeCIkY3JlYXRlX3BhbV9tb2R1bGVzIiA9IHgieWVz
 IjsgdGhlbg0KIAkJUEFNX01PRFVMRVM9IiRQQU1fTU9EVUxFUyBwYW1fd2lu
 YmluZCINCiAJCUlOU1RBTExfUEFNX01PRFVMRVM9Imluc3RhbGxwYW1tb2R1
 bGVzIg0KIAkJVU5JTlNUQUxMX1BBTV9NT0RVTEVTPSJ1bmluc3RhbGxwYW1t
 b2R1bGVzIg0KKwkgICAgZmkNCiAJZmkNCiBlbHNlDQogICAgICAgICBBQ19N
 U0dfUkVTVUxUKG5vJHdpbmJpbmRfbm9fcmVhc29uKQ0KIGZpDQogDQorQUNf
 TVNHX0NIRUNLSU5HKFtOU1NTT05BTUVWRVJTSU9OU1VGRklYXSkNCitBQ19N
 U0dfUkVTVUxUKFskTlNTU09OQU1FVkVSU0lPTlNVRkZJWF0pDQorDQogQUNf
 U1VCU1QoV0lOQklORF9OU1MpDQotQUNfU1VCU1QoV0lOQklORF9XSU5TX05T
 UykNCiBBQ19TVUJTVChXSU5CSU5EX05TU19MRFNIRkxBR1MpDQogQUNfU1VC
 U1QoV0lOQklORF9OU1NfRVhUUkFfT0JKUykNCitBQ19TVUJTVChXSU5CSU5E
 X1dJTlNfTlNTKQ0KK0FDX1NVQlNUKFdJTkJJTkRfV0lOU19OU1NfRVhUUkFf
 T0JKUykNCiBBQ19TVUJTVChOU1NTT05BTUVWRVJTSU9OU1VGRklYKQ0KIA0K
 IEFDX1NVQlNUKFdJTkJJTkRfS1JCNV9MT0NBVE9SKQ0KQEAgLTY0ODYsMTMg
 KzY1NzIsMjEgQEANCiAjIFN0YXJ0DQogQUNfQ0hFQ0tfRlVOQyhnZXRtbnRl
 bnQpDQogDQotQUNfQ0hFQ0tfSEVBREVSUyhzeXMvc3RhdGZzLmgpDQorQUNf
 Q0hFQ0tfSEVBREVSUyhzeXMvc3RhdGZzLmggc3lzL21vdW50LmgpDQogDQog
 QUNfTVNHX0NIRUNLSU5HKFt2ZnNfZmlsZWlkOiBjaGVja2luZyBmb3Igc3Rh
 dGZzKCkgYW5kIHN0cnVjdCBzdGF0ZnMuZl9mc2lkKV0pDQogQUNfQ0FDSEVf
 VkFMKHZmc2ZpbGVpZF9jdl9zdGF0ZnMsWw0KIAkgICAgIEFDX1RSWV9SVU4o
 Ww0KIAkJI2luY2x1ZGUgPHN5cy90eXBlcy5oPg0KKwkJI2lmZGVmIEhBVkVf
 U1lTX1BBUkFNX0gNCisJCSNpbmNsdWRlIDxzeXMvcGFyYW0uaD4NCisJCSNl
 bmRpZg0KKwkJI2lmZGVmIEhBVkVfU1lTX01PVU5UX0gNCisJCSNpbmNsdWRl
 IDxzeXMvbW91bnQuaD4NCisJCSNlbmRpZg0KKwkJI2lmZGVmIEhBVkVfU1lT
 X1NUQVRGU19IDQogCQkjaW5jbHVkZSA8c3lzL3N0YXRmcy5oPg0KKwkJI2Vu
 ZGlmDQogCQlpbnQgbWFpbih2b2lkKQ0KIAkJew0KIAkJCXN0cnVjdCBzdGF0
 ZnMgZnNkOw0KQEAgLTY4MjMsNiArNjkxNywxNiBAQA0KIAlMSUJTPSIkTElC
 UyAtbGRtYWxsb2MiDQogZmkNCiANCitBQ19BUkdfRU5BQkxFKGRtYWxsb2Ms
 IFtBU19IRUxQX1NUUklORyhbLS1lbmFibGUtZG1hbGxvY10sIFtFbmFibGUg
 aGVhcCBkZWJ1Z2dpbmcgW2RlZmF1bHQ9bm9dXSldKQ0KKw0KK2lmIHRlc3Qg
 IngkZW5hYmxlX2RtYWxsb2MiID0geHllcw0KK3RoZW4NCisJQUNfREVGSU5F
 KEVOQUJMRV9ETUFMTE9DLCAxLCBbRGVmaW5lIHRvIHR1cm4gb24gZG1hbGxv
 YyBkZWJ1Z2dpbmddKQ0KKwlBQ19ERUZJTkUoRE1BTExPQ19GVU5DX0NIRUNL
 LCAxLA0KKyAgICAgICAgICAgICAgICAgIFtEZWZpbmUgdG8gY2hlY2sgaW52
 YXJpYW50cyBhcm91bmQgc29tZSBjb21tb24gZnVuY3Rpb25zXSkNCisJTElC
 Uz0iJExJQlMgLWxkbWFsbG9jIgkNCitmaQ0KKw0KIGRubCBSZW1vdmUgLUwv
 dXNyL2xpYi8/IGZyb20gTERGTEFHUyBhbmQgTElCUw0KIExJQl9SRU1PVkVf
 VVNSX0xJQihMREZMQUdTKQ0KIExJQl9SRU1PVkVfVVNSX0xJQihMSUJTKQ0K
 
 --967339439-1141011291-1318525633=:14890--

From: Garrett Cooper <yaneurabeya@gmail.com>
To: bug-followup@FreeBSD.org, gcooper@ixsystems.com
Cc:  
Subject: Re: ports/161549: Bugs with aio_suspend configure test in net/samba35
Date: Thu, 13 Oct 2011 13:18:42 -0700

 Thanks to another typo in the source, this is a non-issue for FreeBSD today:
 
 int sys_aio_suspend(const SMB_STRUCT_AIOCB * const cblist[],
                  int n, const struct timespec *timeout)
 {
 #if defined(HAVE_EXPLICIT_LARGEFILE_SUPPORT) && defined(HAVE_AIOCB64)
 && defined(HAVE_AIO_SUSPEND64)
         return aio_suspend64(cblist, n, timeout);
 #elif defined(HAVE_AIO_FSYNC)
         return aio_suspend(cblist, n, timeout);
 #else
         errno = ENOSYS;
         return -1;
 
 That should probably be fixed though..
 -Garrett
State-Changed-From-To: open->closed 
State-Changed-By: timur 
State-Changed-When: Sat Feb 23 20:01:30 UTC 2013 
State-Changed-Why:  
Finally, fixed in upstream. Thanks! 

http://www.freebsd.org/cgi/query-pr.cgi?pr=161549 
>Unformatted:
