Make master build on Windows

Add strtoll()/strtoull() to lib/roken
    Add stdint.h to lib/roken (Windows only)
    Add logic to detect whether to use lib/roken's stdint.h based on
        Visual Studio version
    Add include of stdint.h in generated ASN.1 code
    Export missing symbols for 64-bit integers in lib/asn1
    Export missing symbols for FAST
    Add missing sources to kdc/NTMakefile
    Fix issue in kuserok
    Fix bsearch issues
This commit is contained in:
Nicolas Williams
2012-01-11 15:52:41 -06:00
parent 10bca3892d
commit 6dd66df594
23 changed files with 390 additions and 109 deletions

View File

@@ -4,6 +4,8 @@ include $(top_srcdir)/Makefile.am.common
YFLAGS = -d -t
AM_CPPFLAGS += $(ROKEN_RENAME)
lib_LTLIBRARIES = libasn1.la
libasn1_la_LDFLAGS = -version-info 8:0:0

View File

@@ -31,7 +31,7 @@
RELDIR=lib\asn1
intcflags=-I$(SRCDIR) -I$(OBJ)
intcflags=-I$(SRCDIR) -I$(OBJ) -DROKEN_RENAME
!include ../../windows/NTMakefile.w32

View File

@@ -36,6 +36,8 @@
#ifndef __DER_H__
#define __DER_H__
#include <stdint.h>
typedef enum {
ASN1_C_UNIV = 0,
ASN1_C_APPL = 1,

View File

@@ -264,6 +264,7 @@ init_generate (const char *filename, const char *base)
"/* Do not edit */\n\n"
"#include <stdio.h>\n"
"#include <stdlib.h>\n"
"#include <stdint.h>\n"
"#include <time.h>\n"
"#include <string.h>\n"
"#include <errno.h>\n"
@@ -363,6 +364,7 @@ generate_header_of_codefile(const char *name)
"#define ASN1_LIB\n\n"
"#include <stdio.h>\n"
"#include <stdlib.h>\n"
"#include <stdint.h>\n"
"#include <time.h>\n"
"#include <string.h>\n"
"#include <errno.h>\n"

View File

@@ -34,6 +34,8 @@
#ifndef __HEIM_ANY_H__
#define __HEIM_ANY_H__ 1
#include <stdint.h>
int encode_heim_any(unsigned char *, size_t, const heim_any *, size_t *);
int decode_heim_any(const unsigned char *, size_t, heim_any *, size_t *);
void free_heim_any(heim_any *);

View File

@@ -299,6 +299,8 @@ EXPORTS
copy_IssuerAndSerialNumber
copy_KDCDHKeyInfo
copy_KDCDHKeyInfo_Win2k
copy_KDCFastCookie
copy_KDCFastState
copy_KDCOptions
copy_KDC_REP
copy_KDC_REQ
@@ -551,6 +553,8 @@ EXPORTS
decode_IssuerAndSerialNumber
decode_KDCDHKeyInfo
decode_KDCDHKeyInfo_Win2k
decode_KDCFastCookie
decode_KDCFastState
decode_KDCOptions
decode_KDC_REP
decode_KDC_REQ
@@ -699,6 +703,7 @@ EXPORTS
der_copy_heim_integer
der_copy_ia5_string
der_copy_integer
der_copy_integer64
der_copy_octet_string
der_copy_oid
der_copy_printable_string
@@ -714,6 +719,7 @@ EXPORTS
der_free_heim_integer
der_free_ia5_string
der_free_integer
der_free_integer64
der_free_octet_string
der_free_oid
der_free_printable_string
@@ -732,6 +738,7 @@ EXPORTS
der_get_heim_integer
der_get_ia5_string
der_get_integer
der_get_integer64
der_get_length
der_get_octet_string
der_get_octet_string_ber
@@ -763,6 +770,7 @@ EXPORTS
der_length_heim_integer
der_length_ia5_string
der_length_integer
der_length_integer64
der_length_len
der_length_octet_string
der_length_oid
@@ -789,6 +797,8 @@ EXPORTS
der_put_heim_integer
der_put_ia5_string
der_put_integer
der_put_integer64
der_put_integer64
der_put_length
der_put_length_and_tag
der_put_octet_string
@@ -911,6 +921,8 @@ EXPORTS
encode_IssuerAndSerialNumber
encode_KDCDHKeyInfo
encode_KDCDHKeyInfo_Win2k
encode_KDCFastCookie
encode_KDCFastState
encode_KDCOptions
encode_KDC_REP
encode_KDC_REQ
@@ -1163,6 +1175,8 @@ EXPORTS
free_IssuerAndSerialNumber
free_KDCDHKeyInfo
free_KDCDHKeyInfo_Win2k
free_KDCFastCookie
free_KDCFastState
free_KDCOptions
free_KDC_REP
free_KDC_REQ
@@ -1426,6 +1440,8 @@ EXPORTS
length_IssuerAndSerialNumber
length_KDCDHKeyInfo
length_KDCDHKeyInfo_Win2k
length_KDCFastCookie
length_KDCFastState
length_KDCOptions
length_KDC_REP
length_KDC_REQ

46
lib/asn1/roken_rename.h Normal file
View File

@@ -0,0 +1,46 @@
/*
* Copyright (c) 1998 Kungliga Tekniska Högskolan
* (Royal Institute of Technology, Stockholm, Sweden).
* All rights reserved.
*
* 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.
*
* 3. Neither the name of the Institute nor the names of its contributors
* may be used to endorse or promote products derived from this software
* without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE INSTITUTE 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 INSTITUTE 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.
*/
/* $Id$ */
#ifndef __roken_rename_h__
#define __roken_rename_h__
#ifndef HAVE_STRTOLL
#define strtoll rk_strtoll
#endif
#ifndef HAVE_STRTOULL
#define strtoull rk_strtoull
#endif
#endif /* __roken_rename_h__ */

View File

@@ -37,6 +37,7 @@
#define _SYMBOL_H
#include "asn1_queue.h"
#include <stdint.h>
enum typetype {
TBitString,