Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 22 Mar 2012 15:38:17 +0100 (CET)
From:      Joerg Pulz <Joerg.Pulz@frm2.tum.de>
To:        FreeBSD-gnats-submit@FreeBSD.org
Subject:   ports/166320: [maintainer] update security/heimdal to 1.5.2
Message-ID:  <201203221438.q2MEcHVo061110@hades.admin.frm2>
Resent-Message-ID: <201203221450.q2MEoGe3061830@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         166320
>Category:       ports
>Synopsis:       [maintainer] update security/heimdal to 1.5.2
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          maintainer-update
>Submitter-Id:   current-users
>Arrival-Date:   Thu Mar 22 14:50:15 UTC 2012
>Closed-Date:
>Last-Modified:
>Originator:     Joerg Pulz
>Release:        FreeBSD 9.0-RELEASE amd64
>Organization:
TU Muenchen / FRM II
>Environment:
System: FreeBSD hades.admin.frm2 9.0-RELEASE 9.0-RELEASE #0: Mon Feb 20 08:24:25 CET 2012     root@hades.admin.frm2:/usr/obj/usr/src/sys/GENERIC amd64


	
>Description:
	Update security/heimdal to version 1.5.2

	libgssapi.so version is bumped from 2 to 3. I digged through ports/
	but found no explicit dependency for this in any port.
	Do we need a bump for all ports that can depend on security/heimdal or
	would a note in UPDATING be enough?

	- Makefile
	  - new version, reset PORTREVISION
	  - remove KRB4 stuff, as it is no longer supported
	  - explicitely set hdb directory
	  - set CPPFLAGS when WITH_BDB ist used
	  - remove post-configure, these files are now included in the distfile

	- Makefeile.man
	  - update

	- distinfo
	  - regen for now version

	- pkg-plist
	  - update

	- pkg-descr
	  - update WWW

	Tinberbox tested on 8-STABLE amd64 with various OPTIONS combinations.
>How-To-Repeat:
	
>Fix:

	- apply the patch
	- remove unused files and patches from files/
	- add new patchfile

--- security__heimdal.diff begins here ---
Index: Makefile
===================================================================
RCS file: /home/ncvs/ports/security/heimdal/Makefile,v
retrieving revision 1.92
diff -u -r1.92 Makefile
--- Makefile	4 Dec 2010 07:33:25 -0000	1.92
+++ Makefile	22 Mar 2012 11:39:26 -0000
@@ -6,8 +6,8 @@
 #
 
 PORTNAME=	heimdal
-PORTVERSION=	1.4
-PORTREVISION=	1
+PORTVERSION=	1.5.2
+#PORTREVISION=	1
 CATEGORIES=	security ipv6
 MASTER_SITES=	http://www.h5l.org/dist/src/ \
 		http://ftp.pdc.kth.se/pub/heimdal/src/ \
@@ -28,7 +28,6 @@
 		PKINIT	"Enable PK-INIT support"			on \
 		DIGEST	"Enable DIGEST support"				on \
 		KX509	"Enable kx509 support"				on \
-		KRB4	"Enable krb4 support"				off \
 		CRACKLIB "Use CrackLib for password quality checking"	off \
 		X11	 "Build X11 utilies"				off
 
@@ -40,7 +39,8 @@
 USE_LDCONFIG=	yes
 CONFIGURE_ARGS+=	--with-libintl=${LOCALBASE} \
 			--with-readline=${DESTDIR}/usr \
-			--enable-pthread-support
+			--enable-pthread-support \
+			--with-hdbdir=/var/db/${PORTNAME}
 
 INFO=		heimdal hx509
 PLIST=		${WRKDIR}/PLIST
@@ -74,6 +74,7 @@
 .if defined(WITH_BDB)
 USE_BDB=	yes
 CFLAGS+=	-I${BDB_INCLUDE_DIR}
+CPPFLAGS+=	-I${BDB_INCLUDE_DIR}
 LDFLAGS+=	-L${BDB_LIB_DIR}
 CONFIGURE_ARGS+=	--with-berkeley-db=${LOCALBASE}
 #			--with-berkeley-db-include=${BDB_INCLUDE_DIR}
@@ -121,12 +122,6 @@
 CONFIGURE_ARGS+=	--enable-kx509
 .endif
 
-.if !defined(WITH_KRB4)
-CONFIGURE_ARGS+=	--disable-krb4
-.else
-CONFIGURE_ARGS+=	--enable-krb4
-.endif
-
 .if defined(WITH_CRACKLIB)
 BUILD_DEPENDS+=		${LOCALBASE}/lib/libcrack.a:${PORTSDIR}/security/cracklib
 .endif
@@ -154,20 +149,6 @@
 	@${REINPLACE_CMD} -e 's|@LDFLAGS@|@LDFLAGS@ \$$\(PTHREADS_LIBADD\)|g' \
 		${WRKSRC}/lib/ipc/Makefile.in
 
-# These will be fixed in the next release. Looks like they were forgot in this
-# release.
-post-configure:
-	@${CP} ${FILESDIR}/lib__otp__version-script.map \
-		${WRKSRC}/lib/otp/version-script.map
-	@${CP} ${FILESDIR}/lib__hcrypto__libtommath__tommath.h \
-		${WRKSRC}/lib/hcrypto/libtommath/tommath.h
-	@${CP} ${FILESDIR}/lib__hcrypto__libtommath__tommath_class.h \
-		${WRKSRC}/lib/hcrypto/libtommath/tommath_class.h
-	@${CP} ${FILESDIR}/lib__hcrypto__libtommath__tommath_superclass.h \
-		${WRKSRC}/lib/hcrypto/libtommath/tommath_superclass.h
-	@${CP} ${FILESDIR}/lib__gssapi__mech__gss_pname_to_uid.c \
-		${WRKSRC}/lib/gssapi/mech/gss_pname_to_uid.c
-
 post-build:
 .if defined(WITH_CRACKLIB)
 	${SED} -e "s;%%LOCALBASE%%;${LOCALBASE};g" \
Index: Makefile.man
===================================================================
RCS file: /home/ncvs/ports/security/heimdal/Makefile.man,v
retrieving revision 1.9
diff -u -r1.9 Makefile.man
--- Makefile.man	31 Oct 2010 17:02:25 -0000	1.9
+++ Makefile.man	22 Mar 2012 11:39:26 -0000
@@ -43,7 +43,6 @@
 MAN3+= DH_generate_parameters_ex.3
 MAN3+= DH_get_default_method.3
 MAN3+= DH_get_ex_data.3
-MAN3+= DH_imath_method.3
 MAN3+= DH_ltm_method.3
 MAN3+= DH_new.3
 MAN3+= DH_new_method.3
@@ -118,6 +117,8 @@
 MAN3+= EVP_hcrypto_rc2_cbc.3
 MAN3+= EVP_hcrypto_sha1.3
 MAN3+= EVP_hcrypto_sha256.3
+MAN3+= EVP_hcrypto_sha384.3
+MAN3+= EVP_hcrypto_sha512.3
 MAN3+= EVP_md2.3
 MAN3+= EVP_md4.3
 MAN3+= EVP_md5.3
@@ -130,6 +131,8 @@
 MAN3+= EVP_sha.3
 MAN3+= EVP_sha1.3
 MAN3+= EVP_sha256.3
+MAN3+= EVP_sha384.3
+MAN3+= EVP_sha512.3
 MAN3+= EVP_wincrypt_des_ede3_cbc.3
 MAN3+= HDB.3
 MAN3+= OpenSSL_add_all_algorithms.3
@@ -157,13 +160,10 @@
 MAN3+= RSA_set_method.3
 MAN3+= RSA_up_ref.3
 MAN3+= __gss_c_attr_stream_sizes_oid_desc.3
-MAN3+= challange.3
+MAN3+= challenge.3
 MAN3+= context.3
 MAN3+= data.3
-MAN3+= dnsdomainname.3
-MAN3+= dnsservername.3
 MAN3+= domain.3
-MAN3+= domainname.3
 MAN3+= ecalloc.3
 MAN3+= emalloc.3
 MAN3+= eread.3
@@ -192,11 +192,13 @@
 MAN3+= gss_import_sec_context.3
 MAN3+= gss_indicate_mechs.3
 MAN3+= gss_init_sec_context.3
+MAN3+= gss_inquire_attrs_for_mech.3
 MAN3+= gss_inquire_context.3
 MAN3+= gss_inquire_cred.3
 MAN3+= gss_inquire_cred_by_mech.3
 MAN3+= gss_inquire_mechs_for_name.3
 MAN3+= gss_inquire_names_for_mech.3
+MAN3+= gss_inquire_saslname_for_mech.3
 MAN3+= gss_krb5_ccache_name.3
 MAN3+= gss_krb5_compat_des3_mic.3
 MAN3+= gss_krb5_copy_ccache.3
@@ -240,9 +242,11 @@
 MAN3+= hdb_auth_status.3
 MAN3+= hdb_check_constrained_delegation.3
 MAN3+= hdb_check_pkinit_ms_upn_match.3
+MAN3+= hdb_check_s4u2self.3
 MAN3+= hdb_close.3
 MAN3+= hdb_destroy.3
-MAN3+= hdb_fetch.3
+MAN3+= hdb_entry_ex.3
+MAN3+= hdb_fetch_kvno.3
 MAN3+= hdb_firstkey.3
 MAN3+= hdb_free.3
 MAN3+= hdb_get_realms.3
@@ -256,8 +260,10 @@
 MAN3+= hdb_store.3
 MAN3+= hdb_unlock.3
 MAN3+= heim_ntlm_build_ntlm1_master.3
+MAN3+= heim_ntlm_build_ntlm2_master.3
 MAN3+= heim_ntlm_calculate_ntlm1.3
 MAN3+= heim_ntlm_calculate_ntlm2.3
+MAN3+= heim_ntlm_calculate_lm2.3
 MAN3+= heim_ntlm_decode_targetinfo.3
 MAN3+= heim_ntlm_encode_targetinfo.3
 MAN3+= heim_ntlm_encode_type1.3
@@ -268,6 +274,7 @@
 MAN3+= heim_ntlm_free_type1.3
 MAN3+= heim_ntlm_free_type2.3
 MAN3+= heim_ntlm_free_type3.3
+MAN3+= heim_ntlm_keyex_unwrap.3
 MAN3+= heim_ntlm_nt_key.3
 MAN3+= heim_ntlm_ntlmv2_key.3
 MAN3+= heim_ntlm_verify_ntlm2.3
@@ -549,6 +556,7 @@
 MAN3+= krb5_cksumtype_to_enctype.3
 MAN3+= krb5_cksumtype_valid.3
 MAN3+= krb5_clear_error_message.3
+MAN3+= krb5_clear_error_string.3
 MAN3+= krb5_compare_creds.3
 MAN3+= krb5_config_file_free.3
 MAN3+= krb5_config_free_strings.3
@@ -598,6 +606,7 @@
 MAN3+= krb5_data_alloc.3
 MAN3+= krb5_data_cmp.3
 MAN3+= krb5_data_copy.3
+MAN3+= krb5_data_ct_cmp.3
 MAN3+= krb5_data_free.3
 MAN3+= krb5_data_realloc.3
 MAN3+= krb5_data_zero.3
@@ -648,10 +657,14 @@
 MAN3+= krb5_free_principal.3
 MAN3+= krb5_free_salt.3
 MAN3+= krb5_free_ticket.3
+MAN3+= krb5_free_unparsed_name.3
 MAN3+= krb5_fwd_tgt_creds.3
 MAN3+= krb5_generate_random_block.3
+MAN3+= krb5_generate_subkey.3
 MAN3+= krb5_generate_subkey_extended.3
 MAN3+= krb5_get_all_client_addrs.3
+MAN3+= krb5_get_cred_from_kdc.3
+MAN3+= krb5_get_cred_from_kdc_opt.3
 MAN3+= krb5_get_credentials.3
 MAN3+= krb5_get_credentials_with_flags.3
 MAN3+= krb5_get_creds.3
@@ -722,7 +735,6 @@
 MAN3+= krb5_init_creds_set_password.3
 MAN3+= krb5_init_creds_set_service.3
 MAN3+= krb5_init_creds_step.3
-MAN3+= krb5_init_etype.3
 MAN3+= krb5_introduction.3
 MAN3+= krb5_is_config_principal.3
 MAN3+= krb5_is_thread_safe.3
@@ -742,6 +754,7 @@
 MAN3+= krb5_kt_destroy.3
 MAN3+= krb5_kt_get_full_name.3
 MAN3+= krb5_kt_get_type.3
+MAN3+= krb5_kt_have_content.3
 MAN3+= krb5_kuserok.3
 MAN3+= krb5_make_addrport.3
 MAN3+= krb5_max_sockaddr_size.3
@@ -869,6 +882,7 @@
 MAN3+= krb5_storage_set_byteorder.3
 MAN3+= krb5_storage_set_eof_code.3
 MAN3+= krb5_storage_set_flags.3
+MAN3+= krb5_storage_set_max_alloc.3
 MAN3+= krb5_storage_to_data.3
 MAN3+= krb5_storage_truncate.3
 MAN3+= krb5_storage_write.3
@@ -928,12 +942,12 @@
 MAN3+= krb5_verify_opt_set_service.3
 MAN3+= krb5_verify_user.3
 MAN3+= krb5_verify_user_opt.3
+MAN3+= krb5_vset_error_string.3
 MAN3+= length.3
 MAN3+= lm.3
 MAN3+= ntlm.3
 MAN3+= ntlm_buf.3
 MAN3+= ntlm_core.3
-MAN3+= ntlm_targetinfo.3
 MAN3+= ntlm_type1.3
 MAN3+= ntlm_type2.3
 MAN3+= ntlm_type3.3
@@ -971,7 +985,6 @@
 MAN3+= rtbl_set_flags.3
 MAN3+= rtbl_set_prefix.3
 MAN3+= rtbl_set_separator.3
-MAN3+= servername.3
 MAN3+= sessionkey.3
 MAN3+= targetinfo.3
 MAN3+= targetname.3
@@ -997,7 +1010,6 @@
 MAN5+= krb5.conf.5
 MAN5+= login.access.5
 MAN5+= mech.5
-MAN5+= qop.5
 MAN8+= ftpd.8
 MAN8+= hprop.8
 MAN8+= hpropd.8
@@ -1179,3 +1191,4 @@
 MLINKS+= krb5_warn.3 krb5_vwarn.3
 MLINKS+= krb5_warn.3 krb5_vwarnx.3
 MLINKS+= krb5_warn.3 krb5_warnx.3
+MLINKS+= mech.5 qop.5
Index: distinfo
===================================================================
RCS file: /home/ncvs/ports/security/heimdal/distinfo,v
retrieving revision 1.30
diff -u -r1.30 distinfo
--- distinfo	14 Nov 2010 15:35:48 -0000	1.30
+++ distinfo	22 Mar 2012 11:39:26 -0000
@@ -1,2 +1,2 @@
-SHA256 (heimdal-1.4.tar.gz) = c7729b946fffa9716a9a6f78b9d08115cba2da9b76afc477498b50396e3b7f6a
-SIZE (heimdal-1.4.tar.gz) = 6095377
+SHA256 (heimdal-1.5.2.tar.gz) = 22603f282f31173533b939d289f3374258aa1ccccbe51ee088d7568d321279ec
+SIZE (heimdal-1.5.2.tar.gz) = 6798615
Index: pkg-descr
===================================================================
RCS file: /home/ncvs/ports/security/heimdal/pkg-descr,v
retrieving revision 1.3
diff -u -r1.3 pkg-descr
--- pkg-descr	5 Oct 2006 16:07:39 -0000	1.3
+++ pkg-descr	22 Mar 2012 11:39:26 -0000
@@ -2,4 +2,4 @@
 (due to crypto export legal issues in the US at the time). It is freely
 available under a three clause BSD style license.
 
-WWW: http://www.pdc.kth.se/heimdal/
+WWW: http://www.h5l.org/
Index: pkg-plist
===================================================================
RCS file: /home/ncvs/ports/security/heimdal/pkg-plist,v
retrieving revision 1.36
diff -u -r1.36 pkg-plist
--- pkg-plist	31 Oct 2010 17:02:25 -0000	1.36
+++ pkg-plist	22 Mar 2012 11:39:26 -0000
@@ -1,9 +1,9 @@
 bin/afslog
 bin/ftp
-bin/gss
+bin/gsstool
 bin/hxtool
 bin/idn-lookup
-bin/kauth
+bin/kcc
 bin/kdestroy
 bin/kf
 bin/kgetcred
@@ -39,6 +39,7 @@
 include/gssapi/gssapi.h
 include/gssapi/gssapi_ntlm.h
 include/gssapi/gssapi_krb5.h
+include/gssapi/gssapi_oid.h
 include/gssapi/gssapi_spnego.h
 %%HCRYPTO%%include/hcrypto/aes.h
 %%HCRYPTO%%include/hcrypto/bn.h
@@ -70,6 +71,7 @@
 include/heim_asn1.h
 include/heim-ipc.h
 include/heim_err.h
+include/heimbase.h
 include/heimntlm-protos.h
 include/heimntlm.h
 include/hex.h
@@ -90,6 +92,7 @@
 include/krb5-protos.h
 include/krb5-types.h
 include/krb5.h
+include/krb5/ccache_plugin.h
 include/krb5/locate_plugin.h
 include/krb5/send_to_kdc_plugin.h
 include/krb5/windc_plugin.h
@@ -97,6 +100,7 @@
 include/krb5_ccapi.h
 include/krb5_err.h
 include/kx509_asn1.h
+include/ntlm_err.h
 include/ocsp_asn1.h
 include/otp.h
 include/parse_bytes.h
@@ -123,11 +127,15 @@
 lib/libgssapi.a
 lib/libgssapi.la
 lib/libgssapi.so
-lib/libgssapi.so.2
+lib/libgssapi.so.3
 %%HCRYPTO%%lib/libhcrypto.a
 %%HCRYPTO%%lib/libhcrypto.la
 %%HCRYPTO%%lib/libhcrypto.so
 %%HCRYPTO%%lib/libhcrypto.so.5
+lib/libheimbase.a
+lib/libheimbase.la
+lib/libheimbase.so
+lib/libheimbase.so.1
 %%SQLITE%%lib/libheimsqlite.a
 %%SQLITE%%lib/libheimsqlite.la
 %%SQLITE%%lib/libheimsqlite.so
Index: files/lib__gssapi__mech__gss_pname_to_uid.c
===================================================================
RCS file: files/lib__gssapi__mech__gss_pname_to_uid.c
diff -N files/lib__gssapi__mech__gss_pname_to_uid.c
--- files/lib__gssapi__mech__gss_pname_to_uid.c	14 Nov 2010 15:35:49 -0000	1.1
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,66 +0,0 @@
-/*-
- * Copyright (c) 2008 Isilon Inc http://www.isilon.com/
- * Authors: Doug Rabson <dfr@rabson.org>
- * Developed with Red Inc: Alfred Perlstein <alfred@freebsd.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-/* Original: src/lib/libgssapi/gss_pname_to_uid.c,v 1.1.2.1.4.1 2010/06/14 02:09:06 kensmith Exp */
-
-#include "mech_locl.h"
-
-GSSAPI_LIB_FUNCTION OM_uint32 GSSAPI_LIB_CALL
-gss_pname_to_uid(OM_uint32 *minor_status,
-		 const gss_name_t pname,
-		 const gss_OID mech,
-		 uid_t *uidp)
-{
-	struct _gss_name *name = (struct _gss_name *) pname;
-	gssapi_mech_interface m;
-	struct _gss_mechanism_name *mn;
-	OM_uint32 major_status;
-
-	*minor_status = 0;
-
-	if (pname == GSS_C_NO_NAME)
-		return (GSS_S_BAD_NAME);
-
-	m = __gss_get_mechanism(mech);
-	if (!m)
-		return (GSS_S_BAD_MECH);
-
-	if (m->gm_pname_to_uid == NULL)
-		return (GSS_S_UNAVAILABLE);
-    
-	major_status = _gss_find_mn(minor_status, name, mech, &mn);
-	if (major_status != GSS_S_COMPLETE) {
-		_gss_mg_error(m, major_status, *minor_status);
-		return (major_status);
-	}
-
-	major_status = (*m->gm_pname_to_uid)(minor_status, mn->gmn_name,
-	    mech, uidp);
-	if (major_status != GSS_S_COMPLETE)
-		_gss_mg_error(m, major_status, *minor_status);
-
-	return (major_status);
-}
Index: files/lib__hcrypto__libtommath__tommath.h
===================================================================
RCS file: files/lib__hcrypto__libtommath__tommath.h
diff -N files/lib__hcrypto__libtommath__tommath.h
--- files/lib__hcrypto__libtommath__tommath.h	31 Oct 2010 17:02:26 -0000	1.1
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,592 +0,0 @@
-/* LibTomMath, multiple-precision integer library -- Tom St Denis
- *
- * LibTomMath is a library that provides multiple-precision
- * integer arithmetic as well as number theoretic functionality.
- *
- * The library was designed directly after the MPI library by
- * Michael Fromberger but has been written from scratch with
- * additional optimizations in place.
- *
- * The library is free for all purposes without any express
- * guarantee it works.
- *
- * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.com
- */
-#ifndef BN_H_
-#define BN_H_
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <ctype.h>
-#include <limits.h>
-
-#include <tommath_class.h>
-
-#ifndef MIN
-   #define MIN(x,y) ((x)<(y)?(x):(y))
-#endif
-
-#ifndef MAX
-   #define MAX(x,y) ((x)>(y)?(x):(y))
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-
-/* C++ compilers don't like assigning void * to mp_digit * */
-#define  OPT_CAST(x)  (x *)
-
-#else
-
-/* C on the other hand doesn't care */
-#define  OPT_CAST(x)
-
-#endif
-
-
-/* detect 64-bit mode if possible */
-#if defined(__x86_64__) 
-   #if !(defined(MP_64BIT) && defined(MP_16BIT) && defined(MP_8BIT))
-      #define MP_64BIT
-   #endif
-#endif
-
-/* some default configurations.
- *
- * A "mp_digit" must be able to hold DIGIT_BIT + 1 bits
- * A "mp_word" must be able to hold 2*DIGIT_BIT + 1 bits
- *
- * At the very least a mp_digit must be able to hold 7 bits
- * [any size beyond that is ok provided it doesn't overflow the data type]
- */
-#ifdef MP_8BIT
-   typedef unsigned char      mp_digit;
-   typedef unsigned short     mp_word;
-#elif defined(MP_16BIT)
-   typedef unsigned short     mp_digit;
-   typedef unsigned long      mp_word;
-#elif defined(MP_64BIT)
-   /* for GCC only on supported platforms */
-#ifndef CRYPT
-   typedef unsigned long long ulong64;
-   typedef signed long long   long64;
-#endif
-
-   typedef unsigned long      mp_digit;
-   typedef unsigned long      mp_word __attribute__ ((mode(TI)));
-
-   #define DIGIT_BIT          60
-#else
-   /* this is the default case, 28-bit digits */
-
-   /* this is to make porting into LibTomCrypt easier :-) */
-#ifndef CRYPT
-   #if defined(_MSC_VER) || defined(__BORLANDC__) 
-      typedef unsigned __int64   ulong64;
-      typedef signed __int64     long64;
-   #else
-      typedef unsigned long long ulong64;
-      typedef signed long long   long64;
-   #endif
-#endif
-
-   typedef unsigned long      mp_digit;
-   typedef ulong64            mp_word;
-
-#ifdef MP_31BIT   
-   /* this is an extension that uses 31-bit digits */
-   #define DIGIT_BIT          31
-#else
-   /* default case is 28-bit digits, defines MP_28BIT as a handy macro to test */
-   #define DIGIT_BIT          28
-   #define MP_28BIT
-#endif   
-#endif
-
-/* define heap macros */
-#ifndef CRYPT
-   /* default to libc stuff */
-   #ifndef XMALLOC 
-       #define XMALLOC  malloc
-       #define XFREE    free
-       #define XREALLOC realloc
-       #define XCALLOC  calloc
-   #else
-      /* prototypes for our heap functions */
-      extern void *XMALLOC(size_t n);
-      extern void *XREALLOC(void *p, size_t n);
-      extern void *XCALLOC(size_t n, size_t s);
-      extern void XFREE(void *p);
-   #endif
-#endif
-
-
-/* otherwise the bits per digit is calculated automatically from the size of a mp_digit */
-#ifndef DIGIT_BIT
-   #define DIGIT_BIT     ((int)((CHAR_BIT * sizeof(mp_digit) - 1)))  /* bits per digit */
-#endif
-
-#define MP_DIGIT_BIT     DIGIT_BIT
-#define MP_MASK          ((((mp_digit)1)<<((mp_digit)DIGIT_BIT))-((mp_digit)1))
-#define MP_DIGIT_MAX     MP_MASK
-
-/* equalities */
-#define MP_LT        -1   /* less than */
-#define MP_EQ         0   /* equal to */
-#define MP_GT         1   /* greater than */
-
-#define MP_ZPOS       0   /* positive integer */
-#define MP_NEG        1   /* negative */
-
-#define MP_OKAY       0   /* ok result */
-#define MP_MEM        -2  /* out of mem */
-#define MP_VAL        -3  /* invalid input */
-#define MP_RANGE      MP_VAL
-
-#define MP_YES        1   /* yes response */
-#define MP_NO         0   /* no response */
-
-/* Primality generation flags */
-#define LTM_PRIME_BBS      0x0001 /* BBS style prime */
-#define LTM_PRIME_SAFE     0x0002 /* Safe prime (p-1)/2 == prime */
-#define LTM_PRIME_2MSB_ON  0x0008 /* force 2nd MSB to 1 */
-
-typedef int           mp_err;
-
-/* you'll have to tune these... */
-extern int KARATSUBA_MUL_CUTOFF,
-           KARATSUBA_SQR_CUTOFF,
-           TOOM_MUL_CUTOFF,
-           TOOM_SQR_CUTOFF;
-
-/* define this to use lower memory usage routines (exptmods mostly) */
-/* #define MP_LOW_MEM */
-
-/* default precision */
-#ifndef MP_PREC
-   #ifndef MP_LOW_MEM
-      #define MP_PREC                 32     /* default digits of precision */
-   #else
-      #define MP_PREC                 8      /* default digits of precision */
-   #endif   
-#endif
-
-/* size of comba arrays, should be at least 2 * 2**(BITS_PER_WORD - BITS_PER_DIGIT*2) */
-#define MP_WARRAY               (1 << (sizeof(mp_word) * CHAR_BIT - 2 * DIGIT_BIT + 1))
-
-/* the infamous mp_int structure */
-typedef struct  {
-    int used, alloc, sign;
-    mp_digit *dp;
-} mp_int;
-
-/* callback for mp_prime_random, should fill dst with random bytes and return how many read [upto len] */
-typedef int ltm_prime_callback(unsigned char *dst, int len, void *dat);
-
-
-#define USED(m)    ((m)->used)
-#define DIGIT(m,k) ((m)->dp[(k)])
-#define SIGN(m)    ((m)->sign)
-
-/* error code to char* string */
-char *mp_error_to_string(int code);
-
-/* ---> init and deinit bignum functions <--- */
-/* init a bignum */
-int mp_init(mp_int *a);
-
-/* free a bignum */
-void mp_clear(mp_int *a);
-
-/* init a null terminated series of arguments */
-int mp_init_multi(mp_int *mp, ...);
-
-/* clear a null terminated series of arguments */
-void mp_clear_multi(mp_int *mp, ...);
-
-/* exchange two ints */
-void mp_exch(mp_int *a, mp_int *b);
-
-/* shrink ram required for a bignum */
-int mp_shrink(mp_int *a);
-
-/* grow an int to a given size */
-int mp_grow(mp_int *a, int size);
-
-/* init to a given number of digits */
-int mp_init_size(mp_int *a, int size);
-
-/* ---> Basic Manipulations <--- */
-#define mp_iszero(a) (((a)->used == 0) ? MP_YES : MP_NO)
-#define mp_iseven(a) (((a)->used > 0 && (((a)->dp[0] & 1) == 0)) ? MP_YES : MP_NO)
-#define mp_isodd(a)  (((a)->used > 0 && (((a)->dp[0] & 1) == 1)) ? MP_YES : MP_NO)
-#define mp_isneg(a)  (((a)->sign) ? MP_YES : MP_NO)
-
-/* set to zero */
-void mp_zero(mp_int *a);
-
-/* set to zero, multi */
-void mp_zero_multi(mp_int *a, ...);
-
-/* set to a digit */
-void mp_set(mp_int *a, mp_digit b);
-
-/* set a 32-bit const */
-int mp_set_int(mp_int *a, unsigned long b);
-
-/* get a 32-bit value */
-unsigned long mp_get_int(mp_int * a);
-
-/* initialize and set a digit */
-int mp_init_set (mp_int * a, mp_digit b);
-
-/* initialize and set 32-bit value */
-int mp_init_set_int (mp_int * a, unsigned long b);
-
-/* copy, b = a */
-int mp_copy(mp_int *a, mp_int *b);
-
-/* inits and copies, a = b */
-int mp_init_copy(mp_int *a, mp_int *b);
-
-/* trim unused digits */
-void mp_clamp(mp_int *a);
-
-/* ---> digit manipulation <--- */
-
-/* right shift by "b" digits */
-void mp_rshd(mp_int *a, int b);
-
-/* left shift by "b" digits */
-int mp_lshd(mp_int *a, int b);
-
-/* c = a / 2**b */
-int mp_div_2d(mp_int *a, int b, mp_int *c, mp_int *d);
-
-/* b = a/2 */
-int mp_div_2(mp_int *a, mp_int *b);
-
-/* c = a * 2**b */
-int mp_mul_2d(mp_int *a, int b, mp_int *c);
-
-/* b = a*2 */
-int mp_mul_2(mp_int *a, mp_int *b);
-
-/* c = a mod 2**d */
-int mp_mod_2d(mp_int *a, int b, mp_int *c);
-
-/* computes a = 2**b */
-int mp_2expt(mp_int *a, int b);
-
-/* Counts the number of lsbs which are zero before the first zero bit */
-int mp_cnt_lsb(mp_int *a);
-
-/* I Love Earth! */
-
-/* makes a pseudo-random int of a given size */
-int mp_rand(mp_int *a, int digits);
-
-/* ---> binary operations <--- */
-/* c = a XOR b  */
-int mp_xor(mp_int *a, mp_int *b, mp_int *c);
-
-/* c = a OR b */
-int mp_or(mp_int *a, mp_int *b, mp_int *c);
-
-/* c = a AND b */
-int mp_and(mp_int *a, mp_int *b, mp_int *c);
-
-/* ---> Basic arithmetic <--- */
-
-/* b = -a */
-int mp_neg(mp_int *a, mp_int *b);
-
-/* b = |a| */
-int mp_abs(mp_int *a, mp_int *b);
-
-/* compare a to b */
-int mp_cmp(mp_int *a, mp_int *b);
-
-/* compare |a| to |b| */
-int mp_cmp_mag(mp_int *a, mp_int *b);
-
-/* c = a + b */
-int mp_add(mp_int *a, mp_int *b, mp_int *c);
-
-/* c = a - b */
-int mp_sub(mp_int *a, mp_int *b, mp_int *c);
-
-/* c = a * b */
-int mp_mul(mp_int *a, mp_int *b, mp_int *c);
-
-/* b = a*a  */
-int mp_sqr(mp_int *a, mp_int *b);
-
-/* a/b => cb + d == a */
-int mp_div(mp_int *a, mp_int *b, mp_int *c, mp_int *d);
-
-/* c = a mod b, 0 <= c < b  */
-int mp_mod(mp_int *a, mp_int *b, mp_int *c);
-
-/* ---> single digit functions <--- */
-
-/* compare against a single digit */
-int mp_cmp_d(mp_int *a, mp_digit b);
-
-/* c = a + b */
-int mp_add_d(mp_int *a, mp_digit b, mp_int *c);
-
-/* c = a - b */
-int mp_sub_d(mp_int *a, mp_digit b, mp_int *c);
-
-/* c = a * b */
-int mp_mul_d(mp_int *a, mp_digit b, mp_int *c);
-
-/* a/b => cb + d == a */
-int mp_div_d(mp_int *a, mp_digit b, mp_int *c, mp_digit *d);
-
-/* a/3 => 3c + d == a */
-int mp_div_3(mp_int *a, mp_int *c, mp_digit *d);
-
-/* c = a**b */
-int mp_expt_d(mp_int *a, mp_digit b, mp_int *c);
-
-/* c = a mod b, 0 <= c < b  */
-int mp_mod_d(mp_int *a, mp_digit b, mp_digit *c);
-
-/* ---> number theory <--- */
-
-/* d = a + b (mod c) */
-int mp_addmod(mp_int *a, mp_int *b, mp_int *c, mp_int *d);
-
-/* d = a - b (mod c) */
-int mp_submod(mp_int *a, mp_int *b, mp_int *c, mp_int *d);
-
-/* d = a * b (mod c) */
-int mp_mulmod(mp_int *a, mp_int *b, mp_int *c, mp_int *d);
-
-/* c = a * a (mod b) */
-int mp_sqrmod(mp_int *a, mp_int *b, mp_int *c);
-
-/* c = 1/a (mod b) */
-int mp_invmod(mp_int *a, mp_int *b, mp_int *c);
-
-/* c = (a, b) */
-int mp_gcd(mp_int *a, mp_int *b, mp_int *c);
-
-/* produces value such that U1*a + U2*b = U3 */
-int mp_exteuclid(mp_int *a, mp_int *b, mp_int *U1, mp_int *U2, mp_int *U3);
-
-/* c = [a, b] or (a*b)/(a, b) */
-int mp_lcm(mp_int *a, mp_int *b, mp_int *c);
-
-/* finds one of the b'th root of a, such that |c|**b <= |a|
- *
- * returns error if a < 0 and b is even
- */
-int mp_n_root(mp_int *a, mp_digit b, mp_int *c);
-
-/* special sqrt algo */
-int mp_sqrt(mp_int *arg, mp_int *ret);
-
-/* is number a square? */
-int mp_is_square(mp_int *arg, int *ret);
-
-/* computes the jacobi c = (a | n) (or Legendre if b is prime)  */
-int mp_jacobi(mp_int *a, mp_int *n, int *c);
-
-/* used to setup the Barrett reduction for a given modulus b */
-int mp_reduce_setup(mp_int *a, mp_int *b);
-
-/* Barrett Reduction, computes a (mod b) with a precomputed value c
- *
- * Assumes that 0 < a <= b*b, note if 0 > a > -(b*b) then you can merely
- * compute the reduction as -1 * mp_reduce(mp_abs(a)) [pseudo code].
- */
-int mp_reduce(mp_int *a, mp_int *b, mp_int *c);
-
-/* setups the montgomery reduction */
-int mp_montgomery_setup(mp_int *a, mp_digit *mp);
-
-/* computes a = B**n mod b without division or multiplication useful for
- * normalizing numbers in a Montgomery system.
- */
-int mp_montgomery_calc_normalization(mp_int *a, mp_int *b);
-
-/* computes x/R == x (mod N) via Montgomery Reduction */
-int mp_montgomery_reduce(mp_int *a, mp_int *m, mp_digit mp);
-
-/* returns 1 if a is a valid DR modulus */
-int mp_dr_is_modulus(mp_int *a);
-
-/* sets the value of "d" required for mp_dr_reduce */
-void mp_dr_setup(mp_int *a, mp_digit *d);
-
-/* reduces a modulo b using the Diminished Radix method */
-int mp_dr_reduce(mp_int *a, mp_int *b, mp_digit mp);
-
-/* returns true if a can be reduced with mp_reduce_2k */
-int mp_reduce_is_2k(mp_int *a);
-
-/* determines k value for 2k reduction */
-int mp_reduce_2k_setup(mp_int *a, mp_digit *d);
-
-/* reduces a modulo b where b is of the form 2**p - k [0 <= a] */
-int mp_reduce_2k(mp_int *a, mp_int *n, mp_digit d);
-
-/* returns true if a can be reduced with mp_reduce_2k_l */
-int mp_reduce_is_2k_l(mp_int *a);
-
-/* determines k value for 2k reduction */
-int mp_reduce_2k_setup_l(mp_int *a, mp_int *d);
-
-/* reduces a modulo b where b is of the form 2**p - k [0 <= a] */
-int mp_reduce_2k_l(mp_int *a, mp_int *n, mp_int *d);
-
-/* d = a**b (mod c) */
-int mp_exptmod(mp_int *a, mp_int *b, mp_int *c, mp_int *d);
-
-/* ---> Primes <--- */
-
-/* number of primes */
-#ifdef MP_8BIT
-   #define PRIME_SIZE      31
-#else
-   #define PRIME_SIZE      256
-#endif
-
-/* table of first PRIME_SIZE primes */
-extern const mp_digit ltm_prime_tab[];
-
-/* result=1 if a is divisible by one of the first PRIME_SIZE primes */
-int mp_prime_is_divisible(mp_int *a, int *result);
-
-/* performs one Fermat test of "a" using base "b".
- * Sets result to 0 if composite or 1 if probable prime
- */
-int mp_prime_fermat(mp_int *a, mp_int *b, int *result);
-
-/* performs one Miller-Rabin test of "a" using base "b".
- * Sets result to 0 if composite or 1 if probable prime
- */
-int mp_prime_miller_rabin(mp_int *a, mp_int *b, int *result);
-
-/* This gives [for a given bit size] the number of trials required
- * such that Miller-Rabin gives a prob of failure lower than 2^-96 
- */
-int mp_prime_rabin_miller_trials(int size);
-
-/* performs t rounds of Miller-Rabin on "a" using the first
- * t prime bases.  Also performs an initial sieve of trial
- * division.  Determines if "a" is prime with probability
- * of error no more than (1/4)**t.
- *
- * Sets result to 1 if probably prime, 0 otherwise
- */
-int mp_prime_is_prime(mp_int *a, int t, int *result);
-
-/* finds the next prime after the number "a" using "t" trials
- * of Miller-Rabin.
- *
- * bbs_style = 1 means the prime must be congruent to 3 mod 4
- */
-int mp_prime_next_prime(mp_int *a, int t, int bbs_style);
-
-/* makes a truly random prime of a given size (bytes),
- * call with bbs = 1 if you want it to be congruent to 3 mod 4 
- *
- * You have to supply a callback which fills in a buffer with random bytes.  "dat" is a parameter you can
- * have passed to the callback (e.g. a state or something).  This function doesn't use "dat" itself
- * so it can be NULL
- *
- * The prime generated will be larger than 2^(8*size).
- */
-#define mp_prime_random(a, t, size, bbs, cb, dat) mp_prime_random_ex(a, t, ((size) * 8) + 1, (bbs==1)?LTM_PRIME_BBS:0, cb, dat)
-
-/* makes a truly random prime of a given size (bits),
- *
- * Flags are as follows:
- * 
- *   LTM_PRIME_BBS      - make prime congruent to 3 mod 4
- *   LTM_PRIME_SAFE     - make sure (p-1)/2 is prime as well (implies LTM_PRIME_BBS)
- *   LTM_PRIME_2MSB_OFF - make the 2nd highest bit zero
- *   LTM_PRIME_2MSB_ON  - make the 2nd highest bit one
- *
- * You have to supply a callback which fills in a buffer with random bytes.  "dat" is a parameter you can
- * have passed to the callback (e.g. a state or something).  This function doesn't use "dat" itself
- * so it can be NULL
- *
- */
-int mp_prime_random_ex(mp_int *a, int t, int size, int flags, ltm_prime_callback cb, void *dat);
-
-int mp_find_prime(mp_int *a);
-
-int mp_isprime(mp_int *a);
-
-/* ---> radix conversion <--- */
-int mp_count_bits(mp_int *a);
-
-int mp_unsigned_bin_size(mp_int *a);
-int mp_read_unsigned_bin(mp_int *a, const unsigned char *b, int c);
-int mp_to_unsigned_bin(mp_int *a, unsigned char *b);
-int mp_to_unsigned_bin_n (mp_int * a, unsigned char *b, unsigned long *outlen);
-
-int mp_signed_bin_size(mp_int *a);
-int mp_read_signed_bin(mp_int *a, const unsigned char *b, int c);
-int mp_to_signed_bin(mp_int *a,  unsigned char *b);
-int mp_to_signed_bin_n (mp_int * a, unsigned char *b, unsigned long *outlen);
-
-int mp_read_radix(mp_int *a, const char *str, int radix);
-int mp_toradix(mp_int *a, char *str, int radix);
-int mp_toradix_n(mp_int * a, char *str, int radix, int maxlen);
-int mp_radix_size(mp_int *a, int radix, int *size);
-
-int mp_fread(mp_int *a, int radix, FILE *stream);
-int mp_fwrite(mp_int *a, int radix, FILE *stream);
-
-#define mp_read_raw(mp, str, len) mp_read_signed_bin((mp), (str), (len))
-#define mp_raw_size(mp)           mp_signed_bin_size(mp)
-#define mp_toraw(mp, str)         mp_to_signed_bin((mp), (str))
-#define mp_read_mag(mp, str, len) mp_read_unsigned_bin((mp), (str), (len))
-#define mp_mag_size(mp)           mp_unsigned_bin_size(mp)
-#define mp_tomag(mp, str)         mp_to_unsigned_bin((mp), (str))
-
-#define mp_tobinary(M, S)  mp_toradix((M), (S), 2)
-#define mp_tooctal(M, S)   mp_toradix((M), (S), 8)
-#define mp_todecimal(M, S) mp_toradix((M), (S), 10)
-#define mp_tohex(M, S)     mp_toradix((M), (S), 16)
-
-/* lowlevel functions, do not call! */
-int s_mp_add(mp_int *a, mp_int *b, mp_int *c);
-int s_mp_sub(mp_int *a, mp_int *b, mp_int *c);
-#define s_mp_mul(a, b, c) s_mp_mul_digs(a, b, c, (a)->used + (b)->used + 1)
-int fast_s_mp_mul_digs(mp_int *a, mp_int *b, mp_int *c, int digs);
-int s_mp_mul_digs(mp_int *a, mp_int *b, mp_int *c, int digs);
-int fast_s_mp_mul_high_digs(mp_int *a, mp_int *b, mp_int *c, int digs);
-int s_mp_mul_high_digs(mp_int *a, mp_int *b, mp_int *c, int digs);
-int fast_s_mp_sqr(mp_int *a, mp_int *b);
-int s_mp_sqr(mp_int *a, mp_int *b);
-int mp_karatsuba_mul(mp_int *a, mp_int *b, mp_int *c);
-int mp_toom_mul(mp_int *a, mp_int *b, mp_int *c);
-int mp_karatsuba_sqr(mp_int *a, mp_int *b);
-int mp_toom_sqr(mp_int *a, mp_int *b);
-int fast_mp_invmod(mp_int *a, mp_int *b, mp_int *c);
-int mp_invmod_slow (mp_int * a, mp_int * b, mp_int * c);
-int fast_mp_montgomery_reduce(mp_int *a, mp_int *m, mp_digit mp);
-int mp_exptmod_fast(mp_int *G, mp_int *X, mp_int *P, mp_int *Y, int mode);
-int s_mp_exptmod (mp_int * G, mp_int * X, mp_int * P, mp_int * Y, int mode);
-void bn_reverse(unsigned char *s, int len);
-
-extern const char *mp_s_rmap;
-
-#ifdef __cplusplus
-   }
-#endif
-
-#endif
-
-
-/* $Source: /cvs/libtom/libtommath/tommath.h,v $ */
-/* $Revision: 1.8 $ */
-/* $Date: 2006/03/31 14:18:44 $ */
Index: files/lib__hcrypto__libtommath__tommath_class.h
===================================================================
RCS file: files/lib__hcrypto__libtommath__tommath_class.h
diff -N files/lib__hcrypto__libtommath__tommath_class.h
--- files/lib__hcrypto__libtommath__tommath_class.h	31 Oct 2010 17:02:26 -0000	1.1
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,1000 +0,0 @@
-#if !(defined(LTM1) && defined(LTM2) && defined(LTM3))
-#if defined(LTM2)
-#define LTM3
-#endif
-#if defined(LTM1)
-#define LTM2
-#endif
-#define LTM1
-
-#if defined(LTM_ALL)
-#define BN_ERROR_C
-#define BN_FAST_MP_INVMOD_C
-#define BN_FAST_MP_MONTGOMERY_REDUCE_C
-#define BN_FAST_S_MP_MUL_DIGS_C
-#define BN_FAST_S_MP_MUL_HIGH_DIGS_C
-#define BN_FAST_S_MP_SQR_C
-#define BN_MP_2EXPT_C
-#define BN_MP_ABS_C
-#define BN_MP_ADD_C
-#define BN_MP_ADD_D_C
-#define BN_MP_ADDMOD_C
-#define BN_MP_AND_C
-#define BN_MP_CLAMP_C
-#define BN_MP_CLEAR_C
-#define BN_MP_CLEAR_MULTI_C
-#define BN_MP_CMP_C
-#define BN_MP_CMP_D_C
-#define BN_MP_CMP_MAG_C
-#define BN_MP_CNT_LSB_C
-#define BN_MP_COPY_C
-#define BN_MP_COUNT_BITS_C
-#define BN_MP_DIV_C
-#define BN_MP_DIV_2_C
-#define BN_MP_DIV_2D_C
-#define BN_MP_DIV_3_C
-#define BN_MP_DIV_D_C
-#define BN_MP_DR_IS_MODULUS_C
-#define BN_MP_DR_REDUCE_C
-#define BN_MP_DR_SETUP_C
-#define BN_MP_EXCH_C
-#define BN_MP_EXPT_D_C
-#define BN_MP_EXPTMOD_C
-#define BN_MP_EXPTMOD_FAST_C
-#define BN_MP_EXTEUCLID_C
-#define BN_MP_FREAD_C
-#define BN_MP_FWRITE_C
-#define BN_MP_GCD_C
-#define BN_MP_GET_INT_C
-#define BN_MP_GROW_C
-#define BN_MP_INIT_C
-#define BN_MP_INIT_COPY_C
-#define BN_MP_INIT_MULTI_C
-#define BN_MP_INIT_SET_C
-#define BN_MP_INIT_SET_INT_C
-#define BN_MP_INIT_SIZE_C
-#define BN_MP_INVMOD_C
-#define BN_MP_INVMOD_SLOW_C
-#define BN_MP_IS_SQUARE_C
-#define BN_MP_JACOBI_C
-#define BN_MP_KARATSUBA_MUL_C
-#define BN_MP_KARATSUBA_SQR_C
-#define BN_MP_LCM_C
-#define BN_MP_LSHD_C
-#define BN_MP_MOD_C
-#define BN_MP_MOD_2D_C
-#define BN_MP_MOD_D_C
-#define BN_MP_MONTGOMERY_CALC_NORMALIZATION_C
-#define BN_MP_MONTGOMERY_REDUCE_C
-#define BN_MP_MONTGOMERY_SETUP_C
-#define BN_MP_MUL_C
-#define BN_MP_MUL_2_C
-#define BN_MP_MUL_2D_C
-#define BN_MP_MUL_D_C
-#define BN_MP_MULMOD_C
-#define BN_MP_N_ROOT_C
-#define BN_MP_NEG_C
-#define BN_MP_OR_C
-#define BN_MP_PRIME_FERMAT_C
-#define BN_MP_PRIME_IS_DIVISIBLE_C
-#define BN_MP_PRIME_IS_PRIME_C
-#define BN_MP_PRIME_MILLER_RABIN_C
-#define BN_MP_PRIME_NEXT_PRIME_C
-#define BN_MP_PRIME_RABIN_MILLER_TRIALS_C
-#define BN_MP_PRIME_RANDOM_EX_C
-#define BN_MP_RADIX_SIZE_C
-#define BN_MP_RADIX_SMAP_C
-#define BN_MP_RAND_C
-#define BN_MP_READ_RADIX_C
-#define BN_MP_READ_SIGNED_BIN_C
-#define BN_MP_READ_UNSIGNED_BIN_C
-#define BN_MP_REDUCE_C
-#define BN_MP_REDUCE_2K_C
-#define BN_MP_REDUCE_2K_L_C
-#define BN_MP_REDUCE_2K_SETUP_C
-#define BN_MP_REDUCE_2K_SETUP_L_C
-#define BN_MP_REDUCE_IS_2K_C
-#define BN_MP_REDUCE_IS_2K_L_C
-#define BN_MP_REDUCE_SETUP_C
-#define BN_MP_RSHD_C
-#define BN_MP_SET_C
-#define BN_MP_SET_INT_C
-#define BN_MP_SHRINK_C
-#define BN_MP_SIGNED_BIN_SIZE_C
-#define BN_MP_SQR_C
-#define BN_MP_SQRMOD_C
-#define BN_MP_SQRT_C
-#define BN_MP_SUB_C
-#define BN_MP_SUB_D_C
-#define BN_MP_SUBMOD_C
-#define BN_MP_TO_SIGNED_BIN_C
-#define BN_MP_TO_SIGNED_BIN_N_C
-#define BN_MP_TO_UNSIGNED_BIN_C
-#define BN_MP_TO_UNSIGNED_BIN_N_C
-#define BN_MP_TOOM_MUL_C
-#define BN_MP_TOOM_SQR_C
-#define BN_MP_TORADIX_C
-#define BN_MP_TORADIX_N_C
-#define BN_MP_UNSIGNED_BIN_SIZE_C
-#define BN_MP_XOR_C
-#define BN_MP_ZERO_C
-#define BN_MP_ZERO_MULTI_C
-#define BN_PRIME_TAB_C
-#define BN_REVERSE_C
-#define BN_S_MP_ADD_C
-#define BN_S_MP_EXPTMOD_C
-#define BN_S_MP_MUL_DIGS_C
-#define BN_S_MP_MUL_HIGH_DIGS_C
-#define BN_S_MP_SQR_C
-#define BN_S_MP_SUB_C
-#define BNCORE_C
-#endif
-
-#if defined(BN_ERROR_C)
-   #define BN_MP_ERROR_TO_STRING_C
-#endif
-
-#if defined(BN_FAST_MP_INVMOD_C)
-   #define BN_MP_ISEVEN_C
-   #define BN_MP_INIT_MULTI_C
-   #define BN_MP_COPY_C
-   #define BN_MP_MOD_C
-   #define BN_MP_SET_C
-   #define BN_MP_DIV_2_C
-   #define BN_MP_ISODD_C
-   #define BN_MP_SUB_C
-   #define BN_MP_CMP_C
-   #define BN_MP_ISZERO_C
-   #define BN_MP_CMP_D_C
-   #define BN_MP_ADD_C
-   #define BN_MP_EXCH_C
-   #define BN_MP_CLEAR_MULTI_C
-#endif
-
-#if defined(BN_FAST_MP_MONTGOMERY_REDUCE_C)
-   #define BN_MP_GROW_C
-   #define BN_MP_RSHD_C
-   #define BN_MP_CLAMP_C
-   #define BN_MP_CMP_MAG_C
-   #define BN_S_MP_SUB_C
-#endif
-
-#if defined(BN_FAST_S_MP_MUL_DIGS_C)
-   #define BN_MP_GROW_C
-   #define BN_MP_CLAMP_C
-#endif
-
-#if defined(BN_FAST_S_MP_MUL_HIGH_DIGS_C)
-   #define BN_MP_GROW_C
-   #define BN_MP_CLAMP_C
-#endif
-
-#if defined(BN_FAST_S_MP_SQR_C)
-   #define BN_MP_GROW_C
-   #define BN_MP_CLAMP_C
-#endif
-
-#if defined(BN_MP_2EXPT_C)
-   #define BN_MP_ZERO_C
-   #define BN_MP_GROW_C
-#endif
-
-#if defined(BN_MP_ABS_C)
-   #define BN_MP_COPY_C
-#endif
-
-#if defined(BN_MP_ADD_C)
-   #define BN_S_MP_ADD_C
-   #define BN_MP_CMP_MAG_C
-   #define BN_S_MP_SUB_C
-#endif
-
-#if defined(BN_MP_ADD_D_C)
-   #define BN_MP_GROW_C
-   #define BN_MP_SUB_D_C
-   #define BN_MP_CLAMP_C
-#endif
-
-#if defined(BN_MP_ADDMOD_C)
-   #define BN_MP_INIT_C
-   #define BN_MP_ADD_C
-   #define BN_MP_CLEAR_C
-   #define BN_MP_MOD_C
-#endif
-
-#if defined(BN_MP_AND_C)
-   #define BN_MP_INIT_COPY_C
-   #define BN_MP_CLAMP_C
-   #define BN_MP_EXCH_C
-   #define BN_MP_CLEAR_C
-#endif
-
-#if defined(BN_MP_CLAMP_C)
-#endif
-
-#if defined(BN_MP_CLEAR_C)
-#endif
-
-#if defined(BN_MP_CLEAR_MULTI_C)
-   #define BN_MP_CLEAR_C
-#endif
-
-#if defined(BN_MP_CMP_C)
-   #define BN_MP_CMP_MAG_C
-#endif
-
-#if defined(BN_MP_CMP_D_C)
-#endif
-
-#if defined(BN_MP_CMP_MAG_C)
-#endif
-
-#if defined(BN_MP_CNT_LSB_C)
-   #define BN_MP_ISZERO_C
-#endif
-
-#if defined(BN_MP_COPY_C)
-   #define BN_MP_GROW_C
-#endif
-
-#if defined(BN_MP_COUNT_BITS_C)
-#endif
-
-#if defined(BN_MP_DIV_C)
-   #define BN_MP_ISZERO_C
-   #define BN_MP_CMP_MAG_C
-   #define BN_MP_COPY_C
-   #define BN_MP_ZERO_C
-   #define BN_MP_INIT_MULTI_C
-   #define BN_MP_SET_C
-   #define BN_MP_COUNT_BITS_C
-   #define BN_MP_ABS_C
-   #define BN_MP_MUL_2D_C
-   #define BN_MP_CMP_C
-   #define BN_MP_SUB_C
-   #define BN_MP_ADD_C
-   #define BN_MP_DIV_2D_C
-   #define BN_MP_EXCH_C
-   #define BN_MP_CLEAR_MULTI_C
-   #define BN_MP_INIT_SIZE_C
-   #define BN_MP_INIT_C
-   #define BN_MP_INIT_COPY_C
-   #define BN_MP_LSHD_C
-   #define BN_MP_RSHD_C
-   #define BN_MP_MUL_D_C
-   #define BN_MP_CLAMP_C
-   #define BN_MP_CLEAR_C
-#endif
-
-#if defined(BN_MP_DIV_2_C)
-   #define BN_MP_GROW_C
-   #define BN_MP_CLAMP_C
-#endif
-
-#if defined(BN_MP_DIV_2D_C)
-   #define BN_MP_COPY_C
-   #define BN_MP_ZERO_C
-   #define BN_MP_INIT_C
-   #define BN_MP_MOD_2D_C
-   #define BN_MP_CLEAR_C
-   #define BN_MP_RSHD_C
-   #define BN_MP_CLAMP_C
-   #define BN_MP_EXCH_C
-#endif
-
-#if defined(BN_MP_DIV_3_C)
-   #define BN_MP_INIT_SIZE_C
-   #define BN_MP_CLAMP_C
-   #define BN_MP_EXCH_C
-   #define BN_MP_CLEAR_C
-#endif
-
-#if defined(BN_MP_DIV_D_C)
-   #define BN_MP_ISZERO_C
-   #define BN_MP_COPY_C
-   #define BN_MP_DIV_2D_C
-   #define BN_MP_DIV_3_C
-   #define BN_MP_INIT_SIZE_C
-   #define BN_MP_CLAMP_C
-   #define BN_MP_EXCH_C
-   #define BN_MP_CLEAR_C
-#endif
-
-#if defined(BN_MP_DR_IS_MODULUS_C)
-#endif
-
-#if defined(BN_MP_DR_REDUCE_C)
-   #define BN_MP_GROW_C
-   #define BN_MP_CLAMP_C
-   #define BN_MP_CMP_MAG_C
-   #define BN_S_MP_SUB_C
-#endif
-
-#if defined(BN_MP_DR_SETUP_C)
-#endif
-
-#if defined(BN_MP_EXCH_C)
-#endif
-
-#if defined(BN_MP_EXPT_D_C)
-   #define BN_MP_INIT_COPY_C
-   #define BN_MP_SET_C
-   #define BN_MP_SQR_C
-   #define BN_MP_CLEAR_C
-   #define BN_MP_MUL_C
-#endif
-
-#if defined(BN_MP_EXPTMOD_C)
-   #define BN_MP_INIT_C
-   #define BN_MP_INVMOD_C
-   #define BN_MP_CLEAR_C
-   #define BN_MP_ABS_C
-   #define BN_MP_CLEAR_MULTI_C
-   #define BN_MP_REDUCE_IS_2K_L_C
-   #define BN_S_MP_EXPTMOD_C
-   #define BN_MP_DR_IS_MODULUS_C
-   #define BN_MP_REDUCE_IS_2K_C
-   #define BN_MP_ISODD_C
-   #define BN_MP_EXPTMOD_FAST_C
-#endif
-
-#if defined(BN_MP_EXPTMOD_FAST_C)
-   #define BN_MP_COUNT_BITS_C
-   #define BN_MP_INIT_C
-   #define BN_MP_CLEAR_C
-   #define BN_MP_MONTGOMERY_SETUP_C
-   #define BN_FAST_MP_MONTGOMERY_REDUCE_C
-   #define BN_MP_MONTGOMERY_REDUCE_C
-   #define BN_MP_DR_SETUP_C
-   #define BN_MP_DR_REDUCE_C
-   #define BN_MP_REDUCE_2K_SETUP_C
-   #define BN_MP_REDUCE_2K_C
-   #define BN_MP_MONTGOMERY_CALC_NORMALIZATION_C
-   #define BN_MP_MULMOD_C
-   #define BN_MP_SET_C
-   #define BN_MP_MOD_C
-   #define BN_MP_COPY_C
-   #define BN_MP_SQR_C
-   #define BN_MP_MUL_C
-   #define BN_MP_EXCH_C
-#endif
-
-#if defined(BN_MP_EXTEUCLID_C)
-   #define BN_MP_INIT_MULTI_C
-   #define BN_MP_SET_C
-   #define BN_MP_COPY_C
-   #define BN_MP_ISZERO_C
-   #define BN_MP_DIV_C
-   #define BN_MP_MUL_C
-   #define BN_MP_SUB_C
-   #define BN_MP_NEG_C
-   #define BN_MP_EXCH_C
-   #define BN_MP_CLEAR_MULTI_C
-#endif
-
-#if defined(BN_MP_FREAD_C)
-   #define BN_MP_ZERO_C
-   #define BN_MP_S_RMAP_C
-   #define BN_MP_MUL_D_C
-   #define BN_MP_ADD_D_C
-   #define BN_MP_CMP_D_C
-#endif
-
-#if defined(BN_MP_FWRITE_C)
-   #define BN_MP_RADIX_SIZE_C
-   #define BN_MP_TORADIX_C
-#endif
-
-#if defined(BN_MP_GCD_C)
-   #define BN_MP_ISZERO_C
-   #define BN_MP_ABS_C
-   #define BN_MP_ZERO_C
-   #define BN_MP_INIT_COPY_C
-   #define BN_MP_CNT_LSB_C
-   #define BN_MP_DIV_2D_C
-   #define BN_MP_CMP_MAG_C
-   #define BN_MP_EXCH_C
-   #define BN_S_MP_SUB_C
-   #define BN_MP_MUL_2D_C
-   #define BN_MP_CLEAR_C
-#endif
-
-#if defined(BN_MP_GET_INT_C)
-#endif
-
-#if defined(BN_MP_GROW_C)
-#endif
-
-#if defined(BN_MP_INIT_C)
-#endif
-
-#if defined(BN_MP_INIT_COPY_C)
-   #define BN_MP_COPY_C
-#endif
-
-#if defined(BN_MP_INIT_MULTI_C)
-   #define BN_MP_ERR_C
-   #define BN_MP_INIT_C
-   #define BN_MP_CLEAR_C
-#endif
-
-#if defined(BN_MP_INIT_SET_C)
-   #define BN_MP_INIT_C
-   #define BN_MP_SET_C
-#endif
-
-#if defined(BN_MP_INIT_SET_INT_C)
-   #define BN_MP_INIT_C
-   #define BN_MP_SET_INT_C
-#endif
-
-#if defined(BN_MP_INIT_SIZE_C)
-   #define BN_MP_INIT_C
-#endif
-
-#if defined(BN_MP_INVMOD_C)
-   #define BN_MP_ISZERO_C
-   #define BN_MP_ISODD_C
-   #define BN_FAST_MP_INVMOD_C
-   #define BN_MP_INVMOD_SLOW_C
-#endif
-
-#if defined(BN_MP_INVMOD_SLOW_C)
-   #define BN_MP_ISZERO_C
-   #define BN_MP_INIT_MULTI_C
-   #define BN_MP_MOD_C
-   #define BN_MP_COPY_C
-   #define BN_MP_ISEVEN_C
-   #define BN_MP_SET_C
-   #define BN_MP_DIV_2_C
-   #define BN_MP_ISODD_C
-   #define BN_MP_ADD_C
-   #define BN_MP_SUB_C
-   #define BN_MP_CMP_C
-   #define BN_MP_CMP_D_C
-   #define BN_MP_CMP_MAG_C
-   #define BN_MP_EXCH_C
-   #define BN_MP_CLEAR_MULTI_C
-#endif
-
-#if defined(BN_MP_IS_SQUARE_C)
-   #define BN_MP_MOD_D_C
-   #define BN_MP_INIT_SET_INT_C
-   #define BN_MP_MOD_C
-   #define BN_MP_GET_INT_C
-   #define BN_MP_SQRT_C
-   #define BN_MP_SQR_C
-   #define BN_MP_CMP_MAG_C
-   #define BN_MP_CLEAR_C
-#endif
-
-#if defined(BN_MP_JACOBI_C)
-   #define BN_MP_CMP_D_C
-   #define BN_MP_ISZERO_C
-   #define BN_MP_INIT_COPY_C
-   #define BN_MP_CNT_LSB_C
-   #define BN_MP_DIV_2D_C
-   #define BN_MP_MOD_C
-   #define BN_MP_CLEAR_C
-#endif
-
-#if defined(BN_MP_KARATSUBA_MUL_C)
-   #define BN_MP_MUL_C
-   #define BN_MP_INIT_SIZE_C
-   #define BN_MP_CLAMP_C
-   #define BN_MP_SUB_C
-   #define BN_MP_ADD_C
-   #define BN_MP_LSHD_C
-   #define BN_MP_CLEAR_C
-#endif
-
-#if defined(BN_MP_KARATSUBA_SQR_C)
-   #define BN_MP_INIT_SIZE_C
-   #define BN_MP_CLAMP_C
-   #define BN_MP_SQR_C
-   #define BN_MP_SUB_C
-   #define BN_S_MP_ADD_C
-   #define BN_MP_LSHD_C
-   #define BN_MP_ADD_C
-   #define BN_MP_CLEAR_C
-#endif
-
-#if defined(BN_MP_LCM_C)
-   #define BN_MP_INIT_MULTI_C
-   #define BN_MP_GCD_C
-   #define BN_MP_CMP_MAG_C
-   #define BN_MP_DIV_C
-   #define BN_MP_MUL_C
-   #define BN_MP_CLEAR_MULTI_C
-#endif
-
-#if defined(BN_MP_LSHD_C)
-   #define BN_MP_GROW_C
-   #define BN_MP_RSHD_C
-#endif
-
-#if defined(BN_MP_MOD_C)
-   #define BN_MP_INIT_C
-   #define BN_MP_DIV_C
-   #define BN_MP_CLEAR_C
-   #define BN_MP_ADD_C
-   #define BN_MP_EXCH_C
-#endif
-
-#if defined(BN_MP_MOD_2D_C)
-   #define BN_MP_ZERO_C
-   #define BN_MP_COPY_C
-   #define BN_MP_CLAMP_C
-#endif
-
-#if defined(BN_MP_MOD_D_C)
-   #define BN_MP_DIV_D_C
-#endif
-
-#if defined(BN_MP_MONTGOMERY_CALC_NORMALIZATION_C)
-   #define BN_MP_COUNT_BITS_C
-   #define BN_MP_2EXPT_C
-   #define BN_MP_SET_C
-   #define BN_MP_MUL_2_C
-   #define BN_MP_CMP_MAG_C
-   #define BN_S_MP_SUB_C
-#endif
-
-#if defined(BN_MP_MONTGOMERY_REDUCE_C)
-   #define BN_FAST_MP_MONTGOMERY_REDUCE_C
-   #define BN_MP_GROW_C
-   #define BN_MP_CLAMP_C
-   #define BN_MP_RSHD_C
-   #define BN_MP_CMP_MAG_C
-   #define BN_S_MP_SUB_C
-#endif
-
-#if defined(BN_MP_MONTGOMERY_SETUP_C)
-#endif
-
-#if defined(BN_MP_MUL_C)
-   #define BN_MP_TOOM_MUL_C
-   #define BN_MP_KARATSUBA_MUL_C
-   #define BN_FAST_S_MP_MUL_DIGS_C
-   #define BN_S_MP_MUL_C
-   #define BN_S_MP_MUL_DIGS_C
-#endif
-
-#if defined(BN_MP_MUL_2_C)
-   #define BN_MP_GROW_C
-#endif
-
-#if defined(BN_MP_MUL_2D_C)
-   #define BN_MP_COPY_C
-   #define BN_MP_GROW_C
-   #define BN_MP_LSHD_C
-   #define BN_MP_CLAMP_C
-#endif
-
-#if defined(BN_MP_MUL_D_C)
-   #define BN_MP_GROW_C
-   #define BN_MP_CLAMP_C
-#endif
-
-#if defined(BN_MP_MULMOD_C)
-   #define BN_MP_INIT_C
-   #define BN_MP_MUL_C
-   #define BN_MP_CLEAR_C
-   #define BN_MP_MOD_C
-#endif
-
-#if defined(BN_MP_N_ROOT_C)
-   #define BN_MP_INIT_C
-   #define BN_MP_SET_C
-   #define BN_MP_COPY_C
-   #define BN_MP_EXPT_D_C
-   #define BN_MP_MUL_C
-   #define BN_MP_SUB_C
-   #define BN_MP_MUL_D_C
-   #define BN_MP_DIV_C
-   #define BN_MP_CMP_C
-   #define BN_MP_SUB_D_C
-   #define BN_MP_EXCH_C
-   #define BN_MP_CLEAR_C
-#endif
-
-#if defined(BN_MP_NEG_C)
-   #define BN_MP_COPY_C
-   #define BN_MP_ISZERO_C
-#endif
-
-#if defined(BN_MP_OR_C)
-   #define BN_MP_INIT_COPY_C
-   #define BN_MP_CLAMP_C
-   #define BN_MP_EXCH_C
-   #define BN_MP_CLEAR_C
-#endif
-
-#if defined(BN_MP_PRIME_FERMAT_C)
-   #define BN_MP_CMP_D_C
-   #define BN_MP_INIT_C
-   #define BN_MP_EXPTMOD_C
-   #define BN_MP_CMP_C
-   #define BN_MP_CLEAR_C
-#endif
-
-#if defined(BN_MP_PRIME_IS_DIVISIBLE_C)
-   #define BN_MP_MOD_D_C
-#endif
-
-#if defined(BN_MP_PRIME_IS_PRIME_C)
-   #define BN_MP_CMP_D_C
-   #define BN_MP_PRIME_IS_DIVISIBLE_C
-   #define BN_MP_INIT_C
-   #define BN_MP_SET_C
-   #define BN_MP_PRIME_MILLER_RABIN_C
-   #define BN_MP_CLEAR_C
-#endif
-
-#if defined(BN_MP_PRIME_MILLER_RABIN_C)
-   #define BN_MP_CMP_D_C
-   #define BN_MP_INIT_COPY_C
-   #define BN_MP_SUB_D_C
-   #define BN_MP_CNT_LSB_C
-   #define BN_MP_DIV_2D_C
-   #define BN_MP_EXPTMOD_C
-   #define BN_MP_CMP_C
-   #define BN_MP_SQRMOD_C
-   #define BN_MP_CLEAR_C
-#endif
-
-#if defined(BN_MP_PRIME_NEXT_PRIME_C)
-   #define BN_MP_CMP_D_C
-   #define BN_MP_SET_C
-   #define BN_MP_SUB_D_C
-   #define BN_MP_ISEVEN_C
-   #define BN_MP_MOD_D_C
-   #define BN_MP_INIT_C
-   #define BN_MP_ADD_D_C
-   #define BN_MP_PRIME_MILLER_RABIN_C
-   #define BN_MP_CLEAR_C
-#endif
-
-#if defined(BN_MP_PRIME_RABIN_MILLER_TRIALS_C)
-#endif
-
-#if defined(BN_MP_PRIME_RANDOM_EX_C)
-   #define BN_MP_READ_UNSIGNED_BIN_C
-   #define BN_MP_PRIME_IS_PRIME_C
-   #define BN_MP_SUB_D_C
-   #define BN_MP_DIV_2_C
-   #define BN_MP_MUL_2_C
-   #define BN_MP_ADD_D_C
-#endif
-
-#if defined(BN_MP_RADIX_SIZE_C)
-   #define BN_MP_COUNT_BITS_C
-   #define BN_MP_INIT_COPY_C
-   #define BN_MP_ISZERO_C
-   #define BN_MP_DIV_D_C
-   #define BN_MP_CLEAR_C
-#endif
-
-#if defined(BN_MP_RADIX_SMAP_C)
-   #define BN_MP_S_RMAP_C
-#endif
-
-#if defined(BN_MP_RAND_C)
-   #define BN_MP_ZERO_C
-   #define BN_MP_ADD_D_C
-   #define BN_MP_LSHD_C
-#endif
-
-#if defined(BN_MP_READ_RADIX_C)
-   #define BN_MP_ZERO_C
-   #define BN_MP_S_RMAP_C
-   #define BN_MP_RADIX_SMAP_C
-   #define BN_MP_MUL_D_C
-   #define BN_MP_ADD_D_C
-   #define BN_MP_ISZERO_C
-#endif
-
-#if defined(BN_MP_READ_SIGNED_BIN_C)
-   #define BN_MP_READ_UNSIGNED_BIN_C
-#endif
-
-#if defined(BN_MP_READ_UNSIGNED_BIN_C)
-   #define BN_MP_GROW_C
-   #define BN_MP_ZERO_C
-   #define BN_MP_MUL_2D_C
-   #define BN_MP_CLAMP_C
-#endif
-
-#if defined(BN_MP_REDUCE_C)
-   #define BN_MP_REDUCE_SETUP_C
-   #define BN_MP_INIT_COPY_C
-   #define BN_MP_RSHD_C
-   #define BN_MP_MUL_C
-   #define BN_S_MP_MUL_HIGH_DIGS_C
-   #define BN_FAST_S_MP_MUL_HIGH_DIGS_C
-   #define BN_MP_MOD_2D_C
-   #define BN_S_MP_MUL_DIGS_C
-   #define BN_MP_SUB_C
-   #define BN_MP_CMP_D_C
-   #define BN_MP_SET_C
-   #define BN_MP_LSHD_C
-   #define BN_MP_ADD_C
-   #define BN_MP_CMP_C
-   #define BN_S_MP_SUB_C
-   #define BN_MP_CLEAR_C
-#endif
-
-#if defined(BN_MP_REDUCE_2K_C)
-   #define BN_MP_INIT_C
-   #define BN_MP_COUNT_BITS_C
-   #define BN_MP_DIV_2D_C
-   #define BN_MP_MUL_D_C
-   #define BN_S_MP_ADD_C
-   #define BN_MP_CMP_MAG_C
-   #define BN_S_MP_SUB_C
-   #define BN_MP_CLEAR_C
-#endif
-
-#if defined(BN_MP_REDUCE_2K_L_C)
-   #define BN_MP_INIT_C
-   #define BN_MP_COUNT_BITS_C
-   #define BN_MP_DIV_2D_C
-   #define BN_MP_MUL_C
-   #define BN_S_MP_ADD_C
-   #define BN_MP_CMP_MAG_C
-   #define BN_S_MP_SUB_C
-   #define BN_MP_CLEAR_C
-#endif
-
-#if defined(BN_MP_REDUCE_2K_SETUP_C)
-   #define BN_MP_INIT_C
-   #define BN_MP_COUNT_BITS_C
-   #define BN_MP_2EXPT_C
-   #define BN_MP_CLEAR_C
-   #define BN_S_MP_SUB_C
-#endif
-
-#if defined(BN_MP_REDUCE_2K_SETUP_L_C)
-   #define BN_MP_INIT_C
-   #define BN_MP_2EXPT_C
-   #define BN_MP_COUNT_BITS_C
-   #define BN_S_MP_SUB_C
-   #define BN_MP_CLEAR_C
-#endif
-
-#if defined(BN_MP_REDUCE_IS_2K_C)
-   #define BN_MP_REDUCE_2K_C
-   #define BN_MP_COUNT_BITS_C
-#endif
-
-#if defined(BN_MP_REDUCE_IS_2K_L_C)
-#endif
-
-#if defined(BN_MP_REDUCE_SETUP_C)
-   #define BN_MP_2EXPT_C
-   #define BN_MP_DIV_C
-#endif
-
-#if defined(BN_MP_RSHD_C)
-   #define BN_MP_ZERO_C
-#endif
-
-#if defined(BN_MP_SET_C)
-   #define BN_MP_ZERO_C
-#endif
-
-#if defined(BN_MP_SET_INT_C)
-   #define BN_MP_ZERO_C
-   #define BN_MP_MUL_2D_C
-   #define BN_MP_CLAMP_C
-#endif
-
-#if defined(BN_MP_SHRINK_C)
-#endif
-
-#if defined(BN_MP_SIGNED_BIN_SIZE_C)
-   #define BN_MP_UNSIGNED_BIN_SIZE_C
-#endif
-
-#if defined(BN_MP_SQR_C)
-   #define BN_MP_TOOM_SQR_C
-   #define BN_MP_KARATSUBA_SQR_C
-   #define BN_FAST_S_MP_SQR_C
-   #define BN_S_MP_SQR_C
-#endif
-
-#if defined(BN_MP_SQRMOD_C)
-   #define BN_MP_INIT_C
-   #define BN_MP_SQR_C
-   #define BN_MP_CLEAR_C
-   #define BN_MP_MOD_C
-#endif
-
-#if defined(BN_MP_SQRT_C)
-   #define BN_MP_N_ROOT_C
-   #define BN_MP_ISZERO_C
-   #define BN_MP_ZERO_C
-   #define BN_MP_INIT_COPY_C
-   #define BN_MP_RSHD_C
-   #define BN_MP_DIV_C
-   #define BN_MP_ADD_C
-   #define BN_MP_DIV_2_C
-   #define BN_MP_CMP_MAG_C
-   #define BN_MP_EXCH_C
-   #define BN_MP_CLEAR_C
-#endif
-
-#if defined(BN_MP_SUB_C)
-   #define BN_S_MP_ADD_C
-   #define BN_MP_CMP_MAG_C
-   #define BN_S_MP_SUB_C
-#endif
-
-#if defined(BN_MP_SUB_D_C)
-   #define BN_MP_GROW_C
-   #define BN_MP_ADD_D_C
-   #define BN_MP_CLAMP_C
-#endif
-
-#if defined(BN_MP_SUBMOD_C)
-   #define BN_MP_INIT_C
-   #define BN_MP_SUB_C
-   #define BN_MP_CLEAR_C
-   #define BN_MP_MOD_C
-#endif
-
-#if defined(BN_MP_TO_SIGNED_BIN_C)
-   #define BN_MP_TO_UNSIGNED_BIN_C
-#endif
-
-#if defined(BN_MP_TO_SIGNED_BIN_N_C)
-   #define BN_MP_SIGNED_BIN_SIZE_C
-   #define BN_MP_TO_SIGNED_BIN_C
-#endif
-
-#if defined(BN_MP_TO_UNSIGNED_BIN_C)
-   #define BN_MP_INIT_COPY_C
-   #define BN_MP_ISZERO_C
-   #define BN_MP_DIV_2D_C
-   #define BN_MP_CLEAR_C
-#endif
-
-#if defined(BN_MP_TO_UNSIGNED_BIN_N_C)
-   #define BN_MP_UNSIGNED_BIN_SIZE_C
-   #define BN_MP_TO_UNSIGNED_BIN_C
-#endif
-
-#if defined(BN_MP_TOOM_MUL_C)
-   #define BN_MP_INIT_MULTI_C
-   #define BN_MP_MOD_2D_C
-   #define BN_MP_COPY_C
-   #define BN_MP_RSHD_C
-   #define BN_MP_MUL_C
-   #define BN_MP_MUL_2_C
-   #define BN_MP_ADD_C
-   #define BN_MP_SUB_C
-   #define BN_MP_DIV_2_C
-   #define BN_MP_MUL_2D_C
-   #define BN_MP_MUL_D_C
-   #define BN_MP_DIV_3_C
-   #define BN_MP_LSHD_C
-   #define BN_MP_CLEAR_MULTI_C
-#endif
-
-#if defined(BN_MP_TOOM_SQR_C)
-   #define BN_MP_INIT_MULTI_C
-   #define BN_MP_MOD_2D_C
-   #define BN_MP_COPY_C
-   #define BN_MP_RSHD_C
-   #define BN_MP_SQR_C
-   #define BN_MP_MUL_2_C
-   #define BN_MP_ADD_C
-   #define BN_MP_SUB_C
-   #define BN_MP_DIV_2_C
-   #define BN_MP_MUL_2D_C
-   #define BN_MP_MUL_D_C
-   #define BN_MP_DIV_3_C
-   #define BN_MP_LSHD_C
-   #define BN_MP_CLEAR_MULTI_C
-#endif
-
-#if defined(BN_MP_TORADIX_C)
-   #define BN_MP_ISZERO_C
-   #define BN_MP_INIT_COPY_C
-   #define BN_MP_DIV_D_C
-   #define BN_MP_CLEAR_C
-   #define BN_MP_S_RMAP_C
-#endif
-
-#if defined(BN_MP_TORADIX_N_C)
-   #define BN_MP_ISZERO_C
-   #define BN_MP_INIT_COPY_C
-   #define BN_MP_DIV_D_C
-   #define BN_MP_CLEAR_C
-   #define BN_MP_S_RMAP_C
-#endif
-
-#if defined(BN_MP_UNSIGNED_BIN_SIZE_C)
-   #define BN_MP_COUNT_BITS_C
-#endif
-
-#if defined(BN_MP_XOR_C)
-   #define BN_MP_INIT_COPY_C
-   #define BN_MP_CLAMP_C
-   #define BN_MP_EXCH_C
-   #define BN_MP_CLEAR_C
-#endif
-
-#if defined(BN_MP_ZERO_C)
-#endif
-
-#if defined(BN_PRIME_TAB_C)
-#endif
-
-#if defined(BN_REVERSE_C)
-#endif
-
-#if defined(BN_S_MP_ADD_C)
-   #define BN_MP_GROW_C
-   #define BN_MP_CLAMP_C
-#endif
-
-#if defined(BN_S_MP_EXPTMOD_C)
-   #define BN_MP_COUNT_BITS_C
-   #define BN_MP_INIT_C
-   #define BN_MP_CLEAR_C
-   #define BN_MP_REDUCE_SETUP_C
-   #define BN_MP_REDUCE_C
-   #define BN_MP_REDUCE_2K_SETUP_L_C
-   #define BN_MP_REDUCE_2K_L_C
-   #define BN_MP_MOD_C
-   #define BN_MP_COPY_C
-   #define BN_MP_SQR_C
-   #define BN_MP_MUL_C
-   #define BN_MP_SET_C
-   #define BN_MP_EXCH_C
-#endif
-
-#if defined(BN_S_MP_MUL_DIGS_C)
-   #define BN_FAST_S_MP_MUL_DIGS_C
-   #define BN_MP_INIT_SIZE_C
-   #define BN_MP_CLAMP_C
-   #define BN_MP_EXCH_C
-   #define BN_MP_CLEAR_C
-#endif
-
-#if defined(BN_S_MP_MUL_HIGH_DIGS_C)
-   #define BN_FAST_S_MP_MUL_HIGH_DIGS_C
-   #define BN_MP_INIT_SIZE_C
-   #define BN_MP_CLAMP_C
-   #define BN_MP_EXCH_C
-   #define BN_MP_CLEAR_C
-#endif
-
-#if defined(BN_S_MP_SQR_C)
-   #define BN_MP_INIT_SIZE_C
-   #define BN_MP_CLAMP_C
-   #define BN_MP_EXCH_C
-   #define BN_MP_CLEAR_C
-#endif
-
-#if defined(BN_S_MP_SUB_C)
-   #define BN_MP_GROW_C
-   #define BN_MP_CLAMP_C
-#endif
-
-#if defined(BNCORE_C)
-#endif
-
-#ifdef LTM3
-#define LTM_LAST
-#endif
-#include <tommath_superclass.h>
-#include <tommath_class.h>
-#else
-#define LTM_LAST
-#endif
-
-/* $Source: /cvs/libtom/libtommath/tommath_class.h,v $ */
-/* $Revision: 1.3 $ */
-/* $Date: 2005/07/28 11:59:32 $ */
Index: files/lib__hcrypto__libtommath__tommath_superclass.h
===================================================================
RCS file: files/lib__hcrypto__libtommath__tommath_superclass.h
diff -N files/lib__hcrypto__libtommath__tommath_superclass.h
--- files/lib__hcrypto__libtommath__tommath_superclass.h	31 Oct 2010 17:02:26 -0000	1.1
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,76 +0,0 @@
-/* super class file for PK algos */
-
-/* default ... include all MPI */
-#define LTM_ALL
-
-/* RSA only (does not support DH/DSA/ECC) */
-/* #define SC_RSA_1 */
-
-/* For reference.... On an Athlon64 optimizing for speed...
-
-   LTM's mpi.o with all functions [striped] is 142KiB in size.
-
-*/
-
-/* Works for RSA only, mpi.o is 68KiB */
-#ifdef SC_RSA_1
-   #define BN_MP_SHRINK_C
-   #define BN_MP_LCM_C
-   #define BN_MP_PRIME_RANDOM_EX_C
-   #define BN_MP_INVMOD_C
-   #define BN_MP_GCD_C
-   #define BN_MP_MOD_C
-   #define BN_MP_MULMOD_C
-   #define BN_MP_ADDMOD_C
-   #define BN_MP_EXPTMOD_C
-   #define BN_MP_SET_INT_C
-   #define BN_MP_INIT_MULTI_C
-   #define BN_MP_CLEAR_MULTI_C
-   #define BN_MP_UNSIGNED_BIN_SIZE_C
-   #define BN_MP_TO_UNSIGNED_BIN_C
-   #define BN_MP_MOD_D_C
-   #define BN_MP_PRIME_RABIN_MILLER_TRIALS_C
-   #define BN_REVERSE_C
-   #define BN_PRIME_TAB_C
-
-   /* other modifiers */
-   #define BN_MP_DIV_SMALL                    /* Slower division, not critical */
-
-   /* here we are on the last pass so we turn things off.  The functions classes are still there
-    * but we remove them specifically from the build.  This also invokes tweaks in functions
-    * like removing support for even moduli, etc...
-    */
-#ifdef LTM_LAST
-   #undef  BN_MP_TOOM_MUL_C
-   #undef  BN_MP_TOOM_SQR_C
-   #undef  BN_MP_KARATSUBA_MUL_C
-   #undef  BN_MP_KARATSUBA_SQR_C
-   #undef  BN_MP_REDUCE_C
-   #undef  BN_MP_REDUCE_SETUP_C
-   #undef  BN_MP_DR_IS_MODULUS_C
-   #undef  BN_MP_DR_SETUP_C
-   #undef  BN_MP_DR_REDUCE_C
-   #undef  BN_MP_REDUCE_IS_2K_C
-   #undef  BN_MP_REDUCE_2K_SETUP_C
-   #undef  BN_MP_REDUCE_2K_C
-   #undef  BN_S_MP_EXPTMOD_C
-   #undef  BN_MP_DIV_3_C
-   #undef  BN_S_MP_MUL_HIGH_DIGS_C
-   #undef  BN_FAST_S_MP_MUL_HIGH_DIGS_C
-   #undef  BN_FAST_MP_INVMOD_C
-
-   /* To safely undefine these you have to make sure your RSA key won't exceed the Comba threshold
-    * which is roughly 255 digits [7140 bits for 32-bit machines, 15300 bits for 64-bit machines] 
-    * which means roughly speaking you can handle upto 2536-bit RSA keys with these defined without
-    * trouble.  
-    */
-   #undef  BN_S_MP_MUL_DIGS_C
-   #undef  BN_S_MP_SQR_C
-   #undef  BN_MP_MONTGOMERY_REDUCE_C
-#endif
-
-#endif
-
-/* $Source: /cvs/libtom/libtommath/tommath_superclass.h,v $ */
-/* $Revision: 1.3 $ */
-/* $Date: 2005/05/14 13:29:17 $ */
Index: files/lib__otp__version-script.map
===================================================================
RCS file: files/lib__otp__version-script.map
diff -N files/lib__otp__version-script.map
--- files/lib__otp__version-script.map	31 Oct 2010 17:02:26 -0000	1.1
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,25 +0,0 @@
-HEIMDAL_OTP_1.0 {
-	global:
-		otp_challenge;
-		otp_checksum;
-		otp_db_close;
-		otp_db_open;
-		otp_delete;
-		otp_error;
-		otp_find_alg;		
-		otp_get;
-		otp_parse;
-		otp_parse_altdict;
-		otp_parse_hex;
-		otp_parse_stddict;
-		otp_print_hex;
-		otp_print_hex_extended;
-		otp_print_stddict;
-		otp_print_stddict_extended;
-		otp_put;
-		otp_simple_get;
-		otp_verify_user;
-		otp_verify_user_1;
-	local:
-		*;
-};
Index: files/patch-appl__ftp__ftpd__logwtmp.c
===================================================================
RCS file: files/patch-appl__ftp__ftpd__logwtmp.c
diff -N files/patch-appl__ftp__ftpd__logwtmp.c
--- files/patch-appl__ftp__ftpd__logwtmp.c	31 Oct 2010 17:02:26 -0000	1.1
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,72 +0,0 @@
---- appl/ftp/ftpd/logwtmp.c.orig	2010-09-13 09:23:34.000000000 +0200
-+++ appl/ftp/ftpd/logwtmp.c	2010-10-26 22:30:55.000000000 +0200
-@@ -64,6 +64,7 @@
- #include <roken.h>
- #include "extern.h"
- 
-+#ifndef HAVE_UTMPX_H
- #ifndef WTMP_FILE
- #ifdef _PATH_WTMP
- #define WTMP_FILE _PATH_WTMP
-@@ -71,6 +72,7 @@
- #define WTMP_FILE "/var/adm/wtmp"
- #endif
- #endif
-+#endif
- 
- #ifdef HAVE_ASL_H
- 
-@@ -109,11 +111,17 @@
- #ifdef WTMPX_FILE
-     static int fdx;
- #endif
-+#ifdef HAVE_UTMP_H
-     struct utmp ut;
--#ifdef WTMPX_FILE
-+#endif
-+#if defined(WTMPX_FILE) || defined(HAVE_UTMPX_H)
-     struct utmpx utx;
- #endif
- 
-+#ifdef HAVE_UTMPX_H
-+    memset(&utx, 0, sizeof(struct utmpx));
-+#endif
-+#ifdef HAVE_UTMP_H
-     memset(&ut, 0, sizeof(struct utmp));
- #ifdef HAVE_STRUCT_UTMP_UT_TYPE
-     if(name[0])
-@@ -130,8 +138,9 @@
-     strncpy(ut.ut_host, host, sizeof(ut.ut_host));
- #endif
-     ut.ut_time = time(NULL);
-+#endif
- 
--#ifdef WTMPX_FILE
-+#if defined(WTMPX_FILE) || defined(HAVE_UTMPX_H)
-     strncpy(utx.ut_line, line, sizeof(utx.ut_line));
-     strncpy(utx.ut_user, name, sizeof(utx.ut_user));
-     strncpy(utx.ut_host, host, sizeof(utx.ut_host));
-@@ -154,15 +163,23 @@
- 	utx.ut_type = DEAD_PROCESS;
- #endif
- 
-+#ifdef HAVE_UTMPX_H
-+    pututxline(&utx);
-+#endif
-+
-     if(!init){
-+#ifdef WTMP_FILE
- 	fd = open(WTMP_FILE, O_WRONLY|O_APPEND, 0);
-+#endif
- #ifdef WTMPX_FILE
- 	fdx = open(WTMPX_FILE, O_WRONLY|O_APPEND, 0);
- #endif
- 	init = 1;
-     }
-     if(fd >= 0) {
-+#ifdef WTMP_FILE
- 	write(fd, &ut, sizeof(struct utmp)); /* XXX */
-+#endif	
- #ifdef WTMPX_FILE
- 	write(fdx, &utx, sizeof(struct utmpx));
- #endif	
Index: files/patch-cf__db.m4
===================================================================
RCS file: files/patch-cf__db.m4
diff -N files/patch-cf__db.m4
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ files/patch-cf__db.m4	22 Mar 2012 11:39:26 -0000
@@ -0,0 +1,19 @@
+--- cf/db.m4.orig	2012-03-22 10:24:19.000000000 +0100
++++ cf/db.m4	2012-03-22 10:27:20.000000000 +0100
+@@ -42,6 +42,7 @@
+ 	           db4/db.h				\
+ 	           db3/db.h				\
+ 	           db.h					\
++	           db_185.h				\
+     ])])
+ 
+ dnl db_create is used by db3 and db4 and db5
+@@ -77,6 +78,8 @@
+   #include <stdio.h>
+   #if defined(HAVE_DB2_DB_H)
+   #include <db2/db.h>
++  #elif defined(HAVE_DB_185_H)
++  #include <db_185.h>
+   #elif defined(HAVE_DB_H)
+   #include <db.h>
+   #else
Index: files/patch-cf__pthread.m4
===================================================================
RCS file: files/patch-cf__pthread.m4
diff -N files/patch-cf__pthread.m4
--- files/patch-cf__pthread.m4	31 Oct 2010 17:02:26 -0000	1.1
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,17 +0,0 @@
---- cf/pthreads.m4.orig	2010-10-27 11:11:58.000000000 +0200
-+++ cf/pthreads.m4	2010-10-27 11:12:20.000000000 +0200
-@@ -30,12 +30,9 @@
- 	dnl heim_threads.h knows this
- 	PTHREAD_LIBADD="-lpthread"
- 	;;
--*-*-freebsd[[56]]*)
-+*-*-freebsd[[56789]]*)
- 	native_pthread_support=yes
--	;;
--*-*-freebsd[[789]]*)
--	native_pthread_support=yes
--	PTHREADS_LIBADD="-lpthread"
-+	PTHREADS_LIBADD="-pthread"
- 	;;
- *-*-openbsd*)
- 	native_pthread_support=yes
Index: files/patch-configure.ac
===================================================================
RCS file: files/patch-configure.ac
diff -N files/patch-configure.ac
--- files/patch-configure.ac	31 Oct 2010 17:02:26 -0000	1.1
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,16 +0,0 @@
---- configure.ac.orig	2010-09-13 09:23:34.000000000 +0200
-+++ configure.ac	2010-10-26 22:51:16.000000000 +0200
-@@ -521,6 +521,13 @@
- AC_HAVE_STRUCT_FIELD(struct utmp, ut_pid, [#include <utmp.h>])
- AC_HAVE_STRUCT_FIELD(struct utmp, ut_type, [#include <utmp.h>])
- AC_HAVE_STRUCT_FIELD(struct utmp, ut_user, [#include <utmp.h>])
-+AC_HAVE_STRUCT_FIELD(struct utmpx, ut_host, [#include <utmpx.h>])
-+AC_HAVE_STRUCT_FIELD(struct utmpx, ut_id, [#include <utmpx.h>])
-+AC_HAVE_STRUCT_FIELD(struct utmpx, ut_line, [#include <utmpx.h>])
-+AC_HAVE_STRUCT_FIELD(struct utmpx, ut_pid, [#include <utmpx.h>])
-+AC_HAVE_STRUCT_FIELD(struct utmpx, ut_tv, [#include <utmpx.h>])
-+AC_HAVE_STRUCT_FIELD(struct utmpx, ut_type, [#include <utmpx.h>])
-+AC_HAVE_STRUCT_FIELD(struct utmpx, ut_user, [#include <utmpx.h>])
- AC_HAVE_STRUCT_FIELD(struct utmpx, ut_exit, [#include <utmpx.h>])
- AC_HAVE_STRUCT_FIELD(struct utmpx, ut_syslen, [#include <utmpx.h>])
- 
Index: files/patch-kdc__524.c
===================================================================
RCS file: files/patch-kdc__524.c
diff -N files/patch-kdc__524.c
--- files/patch-kdc__524.c	31 Oct 2010 17:02:26 -0000	1.1
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,16 +0,0 @@
---- kdc/524.c.orig	2010-10-15 14:18:24.000000000 +0200
-+++ kdc/524.c	2010-10-15 14:19:43.000000000 +0200
-@@ -33,6 +33,8 @@
- 
- #include "kdc_locl.h"
- 
-+#ifdef KRB4
-+
- #include <krb5-v4compat.h>
- 
- /*
-@@ -394,3 +396,4 @@
- 	_kdc_free_ent (context, server);
-     return ret;
- }
-+#endif /* KRB4 */
Index: files/patch-kdc__config.c
===================================================================
RCS file: files/patch-kdc__config.c
diff -N files/patch-kdc__config.c
--- files/patch-kdc__config.c	31 Oct 2010 17:02:26 -0000	1.1
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,28 +0,0 @@
---- kdc/config.c.orig	2010-10-16 15:50:27.000000000 +0200
-+++ kdc/config.c	2010-10-16 15:51:28.000000000 +0200
-@@ -333,6 +333,7 @@
- 
-     krb5_kdc_windc_init(context);
- 
-+#ifdef PKINIT
- #ifdef __APPLE__
-     config->enable_pkinit = 1;
- 
-@@ -345,7 +346,7 @@
-     if (config->pkinit_kdc_anchors == NULL)
- 	config->pkinit_kdc_anchors = strdup("KEYCHAIN:");
- 
--#endif
-+#endif /* __APPLE__ */
- 
-     if (config->enable_pkinit) {
- 	if (config->pkinit_kdc_identity == NULL)
-@@ -361,6 +362,8 @@
- 			       config->pkinit_kdc_revoke);
- 
-     }
-+
-+#endif /* PKINIT */
-     
-     return config;
- }
Index: files/patch-kdc__kdc-replay.c
===================================================================
RCS file: files/patch-kdc__kdc-replay.c
diff -N files/patch-kdc__kdc-replay.c
--- files/patch-kdc__kdc-replay.c	31 Oct 2010 17:02:26 -0000	1.1
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,18 +0,0 @@
---- kdc/kdc-replay.c.orig	2010-10-16 16:43:39.000000000 +0200
-+++ kdc/kdc-replay.c	2010-10-16 16:45:24.000000000 +0200
-@@ -86,6 +86,7 @@
-     if (ret)
- 	krb5_err(context, 1, ret, "krb5_kdc_set_dbinfo");
- 
-+#ifdef PKINIT
-     if (config->enable_pkinit) {
- 	if (config->pkinit_kdc_identity == NULL)
- 	    krb5_errx(context, 1, "pkinit enabled but no identity");
-@@ -100,6 +101,7 @@
- 			       config->pkinit_kdc_revoke);
- 
-     }
-+#endif /* PKINIT */
- 
-     if (argc != 2)
- 	errx(1, "argc != 2");
Index: files/patch-kdc__v4_dump.c
===================================================================
RCS file: files/patch-kdc__v4_dump.c
diff -N files/patch-kdc__v4_dump.c
--- files/patch-kdc__v4_dump.c	31 Oct 2010 17:02:26 -0000	1.1
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,16 +0,0 @@
---- kdc/v4_dump.c.orig	2010-10-15 14:18:38.000000000 +0200
-+++ kdc/v4_dump.c	2010-10-15 14:20:11.000000000 +0200
-@@ -33,6 +33,8 @@
- 
- #include "hprop.h"
- 
-+#ifdef KRB4
-+
- static time_t
- time_parse(const char *cp)
- {
-@@ -139,3 +141,4 @@
-     fclose(f);
-     return 0;
- }
-+#endif /* KRB4 */
Index: files/patch-lib__gssapi__Makefile.in
===================================================================
RCS file: files/patch-lib__gssapi__Makefile.in
diff -N files/patch-lib__gssapi__Makefile.in
--- files/patch-lib__gssapi__Makefile.in	14 Nov 2010 15:35:49 -0000	1.1
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,45 +0,0 @@
---- lib/gssapi/Makefile.in.orig	2010-11-05 10:15:29.000000000 +0100
-+++ lib/gssapi/Makefile.in	2010-11-05 10:18:39.000000000 +0100
-@@ -188,7 +188,7 @@
- 	mech/gss_unwrap.lo mech/gss_utils.lo mech/gss_verify.lo \
- 	mech/gss_verify_mic.lo mech/gss_wrap.lo \
- 	mech/gss_wrap_size_limit.lo \
--	mech/gss_inquire_sec_context_by_oid.lo
-+	mech/gss_inquire_sec_context_by_oid.lo mech/gss_pname_to_uid.lo
- am__objects_3 = ntlm/accept_sec_context.lo ntlm/acquire_cred.lo \
- 	ntlm/add_cred.lo ntlm/canonicalize_name.lo \
- 	ntlm/compare_name.lo ntlm/context_time.lo ntlm/crypto.lo \
-@@ -643,6 +643,7 @@
- 	mech/gss_oid_to_str.c \
- 	mech/gss_process_context_token.c \
- 	mech/gss_pseudo_random.c \
-+	mech/gss_pname_to_uid.c \
- 	mech/gss_release_buffer.c \
- 	mech/gss_release_cred.c \
- 	mech/gss_release_name.c \
-@@ -1039,6 +1040,8 @@
- 	mech/$(DEPDIR)/$(am__dirstamp)
- mech/gss_pseudo_random.lo: mech/$(am__dirstamp) \
- 	mech/$(DEPDIR)/$(am__dirstamp)
-+mech/gss_pname_to_uid.lo: mech/$(am__dirstamp) \
-+	mech/$(DEPDIR)/$(am__dirstamp)
- mech/gss_release_buffer.lo: mech/$(am__dirstamp) \
- 	mech/$(DEPDIR)/$(am__dirstamp)
- mech/gss_release_cred.lo: mech/$(am__dirstamp) \
-@@ -1425,6 +1428,8 @@
- 	-rm -f mech/gss_process_context_token.lo
- 	-rm -f mech/gss_pseudo_random.$(OBJEXT)
- 	-rm -f mech/gss_pseudo_random.lo
-+	-rm -f mech/gss_pname_to_uid.$(OBJEXT)
-+	-rm -f mech/gss_pname_to_uid.lo
- 	-rm -f mech/gss_release_buffer.$(OBJEXT)
- 	-rm -f mech/gss_release_buffer.lo
- 	-rm -f mech/gss_release_cred.$(OBJEXT)
-@@ -1644,6 +1649,7 @@
- @AMDEP_TRUE@@am__include@ @am__quote@mech/$(DEPDIR)/gss_oid_to_str.Plo@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@mech/$(DEPDIR)/gss_process_context_token.Plo@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@mech/$(DEPDIR)/gss_pseudo_random.Plo@am__quote@
-+@AMDEP_TRUE@@am__include@ @am__quote@mech/$(DEPDIR)/gss_pname_to_uid.Plo@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@mech/$(DEPDIR)/gss_release_buffer.Plo@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@mech/$(DEPDIR)/gss_release_cred.Plo@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@mech/$(DEPDIR)/gss_release_name.Plo@am__quote@
Index: files/patch-lib__gssapi__gssapi__gssapi.h
===================================================================
RCS file: files/patch-lib__gssapi__gssapi__gssapi.h
diff -N files/patch-lib__gssapi__gssapi__gssapi.h
--- files/patch-lib__gssapi__gssapi__gssapi.h	14 Nov 2010 15:35:49 -0000	1.1
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,17 +0,0 @@
---- lib/gssapi/gssapi/gssapi.h.orig	2010-11-05 10:44:14.000000000 +0100
-+++ lib/gssapi/gssapi/gssapi.h	2010-11-05 10:51:26.000000000 +0100
-@@ -929,6 +929,14 @@
- 		gss_buffer_t /* cred_token */,
- 		gss_cred_id_t * /* cred_handle */);
- 
-+#ifdef _UID_T_DECLARED
-+GSSAPI_LIB_FUNCTION OM_uint32 GSSAPI_LIB_CALL
-+gss_pname_to_uid
-+		(OM_uint32 * /* minor status */,
-+		 const gss_name_t /* principal name */,
-+		 const gss_OID mech /* mechanism to query */,
-+		 uid_t * /* pointer to UID for result */);
-+#endif
- 
- GSSAPI_CPP_END
- 
Index: files/patch-lib__gssapi__gssapi_mech.h
===================================================================
RCS file: files/patch-lib__gssapi__gssapi_mech.h
diff -N files/patch-lib__gssapi__gssapi_mech.h
--- files/patch-lib__gssapi__gssapi_mech.h	14 Nov 2010 15:35:49 -0000	1.1
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,23 +0,0 @@
---- lib/gssapi/gssapi_mech.h.orig	2010-09-13 09:23:34.000000000 +0200
-+++ lib/gssapi/gssapi_mech.h	2010-11-05 11:04:11.000000000 +0100
-@@ -353,6 +353,12 @@
- 		   gss_buffer_t cred_token,
- 		   gss_cred_id_t * cred_handle);
- 
-+typedef OM_uint32 GSSAPI_CALLCONV
-+_gss_pname_to_uid (OM_uint32 * minor_status,		/* minor status */
-+	       gss_name_t pname,	/* principal name */
-+	       gss_OID mech,		/* mechanism to query */
-+	       uid_t *uidp		/* pointer to UID for result */
-+	      );
- 
- #define GMI_VERSION 2
- 
-@@ -405,6 +411,7 @@
- 	_gss_store_cred_t		*gm_store_cred;
- 	_gss_export_cred_t		*gm_export_cred;
- 	_gss_import_cred_t		*gm_import_cred;
-+	_gss_pname_to_uid		*gm_pname_to_uid;
- } gssapi_mech_interface_desc, *gssapi_mech_interface;
- 
- gssapi_mech_interface
Index: files/patch-lib__gssapi__mech__gss_mech_switch.c
===================================================================
RCS file: files/patch-lib__gssapi__mech__gss_mech_switch.c
diff -N files/patch-lib__gssapi__mech__gss_mech_switch.c
--- files/patch-lib__gssapi__mech__gss_mech_switch.c	14 Nov 2010 15:35:49 -0000	1.1
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,10 +0,0 @@
---- lib/gssapi/mech/gss_mech_switch.c.orig	2010-11-05 11:16:35.000000000 +0100
-+++ lib/gssapi/mech/gss_mech_switch.c	2010-11-05 11:16:52.000000000 +0100
-@@ -334,6 +334,7 @@
- 		OPTSYM(set_sec_context_option);
- 		OPTSYM(set_cred_option);
- 		OPTSYM(pseudo_random);
-+		OPTSYM(pname_to_uid);
- 		OPTSYM(wrap_iov);
- 		OPTSYM(unwrap_iov);
- 		OPTSYM(wrap_iov_length);
Index: files/patch-lib__gssapi__version-script.map
===================================================================
RCS file: files/patch-lib__gssapi__version-script.map
diff -N files/patch-lib__gssapi__version-script.map
--- files/patch-lib__gssapi__version-script.map	14 Nov 2010 15:35:49 -0000	1.1
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,10 +0,0 @@
---- lib/gssapi/version-script.map.orig	2010-11-05 09:09:47.000000000 +0100
-+++ lib/gssapi/version-script.map	2010-11-05 09:40:32.000000000 +0100
-@@ -63,6 +63,7 @@
- 		gss_oid_to_str;
- 		gss_process_context_token;
- 		gss_pseudo_random;
-+		gss_pname_to_uid;
- 		gss_release_buffer;
- 		gss_release_buffer_set;
- 		gss_release_cred;
Index: files/patch-lib__hdb__Makefile.in
===================================================================
RCS file: files/patch-lib__hdb__Makefile.in
diff -N files/patch-lib__hdb__Makefile.in
--- files/patch-lib__hdb__Makefile.in	31 Oct 2010 17:02:26 -0000	1.1
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,19 +0,0 @@
---- lib/hdb/Makefile.in.orig	2010-10-15 20:43:32.000000000 +0200
-+++ lib/hdb/Makefile.in	2010-10-15 20:44:22.000000000 +0200
-@@ -424,7 +424,7 @@
- SUFFIXES = .et .h .x .z .hx .1 .3 .5 .8 .cat1 .cat3 .cat5 .cat8
- DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)/include -I$(top_srcdir)/include
- AM_CPPFLAGS = $(INCLUDES_roken) -I../asn1 -I$(srcdir)/../asn1 \
--	$(INCLUDE_hcrypto) $(INCLUDE_openldap) \
-+	$(INCLUDE_hcrypto) $(INCLUDE_openldap) $(INCLUDE_libintl) \
- 	-DHDB_DB_DIR=\"$(DIR_hdbdir)\" -I$(srcdir)/../krb5 \
- 	$(INCLUDE_sqlite3) $(am__append_1)
- @do_roken_rename_TRUE@ROKEN_RENAME = -DROKEN_RENAME
-@@ -475,6 +475,7 @@
- 
- LDADD = libhdb.la \
- 	$(LIB_openldap) \
-+	$(LIB_libintl) \
- 	../krb5/libkrb5.la \
- 	../asn1/libasn1.la \
- 	$(LIB_hcrypto) \
Index: files/patch-lib__krb5__name-45-test.c
===================================================================
RCS file: files/patch-lib__krb5__name-45-test.c
diff -N files/patch-lib__krb5__name-45-test.c
--- files/patch-lib__krb5__name-45-test.c	31 Oct 2010 17:02:26 -0000	1.1
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,21 +0,0 @@
---- lib/krb5/name-45-test.c.orig	2010-10-15 14:18:52.000000000 +0200
-+++ lib/krb5/name-45-test.c	2010-10-15 14:21:45.000000000 +0200
-@@ -35,6 +35,8 @@
- #include "krb5_locl.h"
- #include <err.h>
- 
-+#ifdef KRB4
-+
- enum { MAX_COMPONENTS = 3 };
- 
- static struct testcase {
-@@ -292,3 +294,9 @@
-     }
-     return val;
- }
-+
-+#else /* stub for !KRB4 */
-+int main(int argc, char *argv[]) {
-+  return 77;
-+}
-+#endif
--- security__heimdal.diff ends here ---


>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201203221438.q2MEcHVo061110>