Kaydet (Commit) a70cc19d authored tarafından Mathias Bauer's avatar Mathias Bauer

merge commit for m62

......@@ -56,13 +56,10 @@ CONVERTFILES=build$/build.xml \
src$/org$/hsqldb$/persist$/HsqlDatabaseProperties.java \
src$/org$/hsqldb$/Library.java
PATCH_FILES=patches$/accumulated_patches.patch
# ADDITIONAL_FILES= src$/org$/hsqldb$/Collation.java \
# src$/org$/hsqldb$/TxManager.java \
# src$/org$/hsqldb$/lib$/LongKeyIntValueHashMap.java \
# src$/org$/hsqldb$/persist$/ScaledRAFileInJar.java \
# src$/org$/hsqldb$/test$/TestCollation.java
PATCH_FILES=patches$/i96823.patch \
patches$/i97032.patch \
patches$/i103528.patch \
patches$/i104901.patch
.IF "$(JAVACISGCJ)"=="yes"
JAVA_HOME=
......
--- misc/hsqldb/src/org/hsqldb/Library.java
+++ misc/build/hsqldb/src/org/hsqldb/Library.java
@@ -1957,7 +1957,7 @@
functionMap.put("bitand", bitand);
functionMap.put("bitlength", bitLength);
functionMap.put("bitor", bitor);
- functionMap.put("bitxor", bitor);
+ functionMap.put("bitxor", bitxor);
functionMap.put("character", character);
functionMap.put("concat", concat);
functionMap.put("cot", cot);
--- misc/hsqldb/src/org/hsqldb/Table.java 2007-10-19 23:59:07.000000000 +0200
+++ misc/build/hsqldb/src/org/hsqldb/Table.java 2009-09-11 13:45:42.939231519 +0200
@@ -149,10 +149,10 @@
Constraint[] constraintList; // constrainst for the table
HsqlArrayList[] triggerLists; // array of trigger lists
private int[] colTypes; // fredt - types of columns
- private int[] colSizes; // fredt - copy of SIZE values for columns
+ int[] colSizes; // fredt - copy of SIZE values for columns
private int[] colScales; // fredt - copy of SCALE values for columns
private boolean[] colNullable; // fredt - modified copy of isNullable() values
- private Expression[] colDefaults; // fredt - expressions of DEFAULT values
+ Expression[] colDefaults; // fredt - expressions of DEFAULT values
private int[] defaultColumnMap; // fred - holding 0,1,2,3,...
private boolean hasDefaultValues; //fredt - shortcut for above
boolean sqlEnforceSize; // inherited from the database -
--- misc/hsqldb/src/org/hsqldb/TableWorks.java 2007-01-14 06:48:16.000000000 +0100
+++ misc/build/hsqldb/src/org/hsqldb/TableWorks.java 2009-09-11 13:47:50.328667463 +0200
@@ -670,7 +670,8 @@
// default expressions can change
oldCol.setType(newCol);
oldCol.setDefaultExpression(newCol.getDefaultExpression());
- table.setColumnTypeVars(colIndex);
+ table.colSizes[colIndex] = oldCol.getSize();
+ table.colDefaults[colIndex] = oldCol.getDefaultExpression();
table.resetDefaultsFlag();
return;
......@@ -92,24 +92,3 @@
return "";
}
--- misc/hsqldb/src/org/hsqldb/persist/HsqlDatabaseProperties.java 2008-03-17 17:05:41.000000000 +0100
+++ misc/build/hsqldb/src/org/hsqldb/persist/HsqlDatabaseProperties.java 2009-01-21 13:09:24.493470142 +0100
@@ -429,6 +429,7 @@
setProperty(hsqldb_log_size, 10);
setProperty(sql_enforce_strict_size, true);
setProperty(hsqldb_nio_data_file, false);
+ setProperty(hsqldb_lock_file, true);
}
// OOo end
--- misc/hsqldb/src/org/hsqldb/Library.java
+++ misc/build/hsqldb/src/org/hsqldb/Library.java
@@ -1957,7 +1957,7 @@
functionMap.put("bitand", bitand);
functionMap.put("bitlength", bitLength);
functionMap.put("bitor", bitor);
- functionMap.put("bitxor", bitor);
+ functionMap.put("bitxor", bitxor);
functionMap.put("character", character);
functionMap.put("concat", concat);
functionMap.put("cot", cot);
--- misc/hsqldb/src/org/hsqldb/persist/HsqlDatabaseProperties.java 2008-03-17 17:05:41.000000000 +0100
+++ misc/build/hsqldb/src/org/hsqldb/persist/HsqlDatabaseProperties.java 2009-01-21 13:09:24.493470142 +0100
@@ -429,6 +429,7 @@
setProperty(hsqldb_log_size, 10);
setProperty(sql_enforce_strict_size, true);
setProperty(hsqldb_nio_data_file, false);
+ setProperty(hsqldb_lock_file, true);
}
// OOo end
====================================================================================
File name
---------
patch_file.patch
Description
-----------
patches HSQL so that ....
Issue
-----
http://www.openoffice.org/issues/show_bug.cgi?id=?????
http://www.openoffice.org/issues/show_bug.cgi?id=85087
http://www.openoffice.org/issues/show_bug.cgi?id=97032
<summary>
......@@ -46,26 +46,37 @@ EXTERNAL_WARNINGS_NOT_ERRORS := TRUE
# --- Files --------------------------------------------------------
XMLSEC1VERSION=1.2.6
XMLSEC1VERSION=1.2.12
TARFILE_NAME=$(PRJNAME)-$(XMLSEC1VERSION)
PATCH_FILES=$(TARFILE_NAME).patch xmlsec1-1.2.6-mingwport24.patch
#xmlsec1-configure.patch: Set up the build. Straightforward
#configuration
#xmlsec1-customkeymanage.patch: Could we do this alternatively outside xmlsec
#xmlsec1-nssmangleciphers.patch: Dubious, do we still need this ?
#xmlsec1-nssdisablecallbacks.patch: Dubious, do we still need this ?
#xmlsec1-noverify.patch: As per readme.txt.
#xmlsec1-mingw32.patch: Mingw32 support.
#xmlsec1-mingw-customkeymanage-addmscrypto.patch builds the custom keymanager on mingw
PATCH_FILES=\
xmlsec1-configure.patch \
xmlsec1-customkeymanage.patch \
xmlsec1-nssmangleciphers.patch \
xmlsec1-nssdisablecallbacks.patch \
xmlsec1-noverify.patch \
xmlsec1-mingw32.patch \
xmlsec1-mingw-keymgr-mscrypto.patch
ADDITIONAL_FILES= \
include$/xmlsec$/mscrypto$/akmngr.h \
src$/mscrypto$/akmngr.c \
include$/xmlsec$/nss$/akmngr.h \
include$/xmlsec$/nss$/ciphers.h \
include$/xmlsec$/nss$/tokens.h \
include$/xmlsec$/mscrypto$/akmngr.h \
src$/nss$/akmngr.c \
src$/mscrypto$/akmngr.c \
src$/nss$/keytrans.c \
src$/nss$/keywrapers.c \
src$/nss$/tokens.c \
xmlsec-mscrypto.pc.in \
include$/xmlsec$/mscrypto$/Makefile.in \
src$/mscrypto$/Makefile.in \
libxml2-config
src$/nss$/tokens.c
.IF "$(GUI)"=="WNT"
CRYPTOLIB=mscrypto
......@@ -87,8 +98,9 @@ xmlsec_LIBS=-lmingwthrd
xmlsec_LIBS+=-lstdc++_s
.ENDIF
CONFIGURE_DIR=
CONFIGURE_ACTION=chmod 777 libxml2-config && .$/configure
CONFIGURE_FLAGS=--with-libxslt=no --with-openssl=no --with-gnutls=no --with-mozilla_ver=1.7.5 --with-mscrypto --build=i586-pc-mingw32 --host=i586-pc-mingw32 CC="$(xmlsec_CC)" CFLAGS="-D_MT" LDFLAGS="-no-undefined -L$(ILIB:s/;/ -L/)" LIBS="$(xmlsec_LIBS)" LIBXML2LIB=$(LIBXML2LIB) OBJDUMP="$(WRAPCMD) objdump"
CONFIGURE_ACTION=.$/configure
CONFIGURE_FLAGS=--with-libxslt=no --with-openssl=no --with-gnutls=no --with-mozilla_ver=1.7.5 --enable-mscrypto --build=i586-pc-mingw32 --host=i586-pc-mingw32 CC="$(xmlsec_CC)" CFLAGS="-D_MT" LDFLAGS="-no-undefined -L$(ILIB:s/;/ -L/)" LIBS="$(xmlsec_LIBS)" LIBXML2LIB=$(LIBXML2LIB) ZLIB3RDLIB=$(ZLIB3RDLIB) OBJDUMP="$(WRAPCMD) objdump"
.IF "$(SYSTEM_MOZILLA)" != "YES"
CONFIGURE_FLAGS+=--enable-pkgconfig=no
.ENDIF
......@@ -141,7 +153,7 @@ LDFLAGS:=$(xmlsec_LDFLAGS)
.ENDIF
CONFIGURE_DIR=
CONFIGURE_ACTION=chmod 777 libxml2-config && .$/configure ADDCFLAGS="$(xmlsec_CFLAGS)" CPPFLAGS="$(xmlsec_CPPFLAGS)"
CONFIGURE_ACTION=.$/configure ADDCFLAGS="$(xmlsec_CFLAGS)" CPPFLAGS="$(xmlsec_CPPFLAGS)"
CONFIGURE_FLAGS=--with-pic --disable-shared --with-libxslt=no --with-openssl=no --with-gnutls=no LIBXML2LIB="$(LIBXML2LIB)"
# system-mozilla needs pkgconfig to get the information about nss
# FIXME: This also will enable pkg-config usage for libxml2. It *seems*
......@@ -165,7 +177,7 @@ OUTDIR2INC=include$/xmlsec
.IF "$(OS)"=="WNT"
.IF "$(COM)"=="GCC"
OUT2LIB+=src$/.libs$/libxmlsec1.dll.a src$/nss$/.libs$/libxmlsec1-nss.dll.a src$/mscrypto$/.libs$/libxmlsec1-mscrypto.dll.a
OUT2BIN+=src$/.libs$/libxmlsec1-1.dll src$/nss$/.libs$/libxmlsec1-nss-1.dll src$/mscrypto$/.libs$/libxmlsec1-mscrypto-1.dll
OUT2BIN+=src$/.libs$/libxmlsec1.dll src$/nss$/.libs$/libxmlsec1-nss.dll src$/mscrypto$/.libs$/libxmlsec1-mscrypto.dll
.ELSE
OUT2LIB+=win32$/binaries$/*.lib
OUT2BIN+=win32$/binaries$/*.dll
......
The XML Security library has been modified, so that there is NO verification
of the certificate during sign or verification operation. On Windows this was
done in the function xmlSecMSCryptoX509StoreVerify (file
src/mscrypto/x509vfy.c) and on UNIX in xmlSecNssX509StoreVerify
(file src/nss/x509vfy.c).
The XML Security library has been modified, so that there is NO verification of
the certificate during sign or verification operation. On Windows this was done
in the function xmlSecMSCryptoX509StoreVerify (file src/mscrypto/x509vfy.c) and
on UNIX in xmlSecNssX509StoreVerify (file src/nss/x509vfy.c).
This change requires that the XML Signature contains in
Signature/KeyInfo/X509Data only entries which represent the same
certificate.
The implementation creates certificates from all of the X509Data children
(X509IssuerSerial, X509Certificate) and used to iterate over all certificates,
verify them and return the first "good" certificate. Now the first one is
used.
The implementation creates certificates from all of the X509Data children, such
as X509IssuerSerial and X509Certificate and stores them in a certificate store
(see xmlsec/src/mscrypto/x509.c:xmlSecMSCryptoX509DataNodeRead). It must then
find the certificate containing the public key which is used for validation
within that store. This is done in xmlSecMSCryptoX509StoreVerify. This function
however only takes those certificates into account which can be validated. This
was changed by the patch xmlsec1-noverify.patch, which prevents this certificate
validation.
xmlSecMSCryptoX509StoreVerify iterates over all certificates contained or
referenced in the X509Data elements and selects one which is no issuer of any of
the other certificates. This certificate is not necessarily the one which was
used for signing but it must contain the proper validation key, which is
sufficient to validate the signature. See
http://www.w3.org/TR/xmldsig-core/#sec-X509Data
for details.
There is a flag XMLSEC_KEYINFO_FLAGS_X509DATA_DONT_VERIFY_CERTS that can be set
in a xmlSecKeyInfoCtx (see function xmlSecNssKeyDataX509XmlRead, in file
src/nss/x509.c), which indicates that one can turn of the validation. However,
setting it will cause that the validation key is not found. If the flag is set,
then the key is not extracted from the certificate store which contains all the
certificates of the X509Data elements. In other words, the certificates which
are delivered within the XML signature are not used when looking for suitable
validation key.
The X509IssuerSerial information is used by XML Security Library to find the
certificate in the certificate store on the machine. The X509Certificate entry
is used to create a certificate no matter if this is already contained in the
certificate store.
Do not forget: Suggest to XML Security Library to provide a way to carry out
signature operations without verification of certificates. There is flag
XMLSEC_KEYINFO_FLAGS_X509DATA_DONT_VERIFY_CERTS that can be set in a
xmlSecKeyInfoCtx (see function xmlSecNssKeyDataX509XmlRead, in file src/nss/x509.c),
which indicates such a possibility but it does not work.
--- misc/xmlsec1-1.2.6/configure 2009-09-18 17:19:00.000000000 +0200
+++ misc/build/xmlsec1-1.2.6/configure 2009-09-18 17:18:43.000000000 +0200
@@ -21749,6 +21749,10 @@
ac_compiler_gnu=$ac_cv_c_compiler_gnu
+case $host_os in
+mingw*)
+;;
+*)
echo "$as_me:$LINENO: checking for shl_load" >&5
echo $ECHO_N "checking for shl_load... $ECHO_C" >&6
if test "${ac_cv_func_shl_load+set}" = set; then
@@ -22299,7 +22303,8 @@
fi
-
+;;
+esac
if test x"$libltdl_cv_func_dlopen" = xyes || test x"$libltdl_cv_lib_dl_dlopen" = xyes
then
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
--- misc/xmlsec1-1.2.12/src/mscrypto/Makefile.am 2009-06-26 05:53:18.000000000 +0900
+++ misc/build/xmlsec1-1.2.12/src/mscrypto/Makefile.am 2009-09-30 18:53:05.373000000 +0900
@@ -35,6 +35,7 @@
csp_oid.h \
globals.h \
xmlsec-mingw.h \
+ akmngr.c \
$(NULL)
if SHAREDLIB_HACK
--- misc/xmlsec1-1.2.12/src/mscrypto/Makefile.in 2009-06-26 05:53:32.000000000 +0900
+++ misc/build/xmlsec1-1.2.12/src/mscrypto/Makefile.in 2009-09-30 19:00:50.107375000 +0900
@@ -61,7 +61,8 @@
am__libxmlsec1_mscrypto_la_SOURCES_DIST = app.c certkeys.c ciphers.c \
crypto.c digests.c keysstore.c kt_rsa.c signatures.c symkeys.c \
x509.c x509vfy.c csp_calg.h csp_oid.h globals.h xmlsec-mingw.h \
- ../strings.c
+ ../strings.c \
+ akmngr.c
am__objects_1 =
@SHAREDLIB_HACK_TRUE@am__objects_2 = \
@SHAREDLIB_HACK_TRUE@ libxmlsec1_mscrypto_la-strings.lo
@@ -75,7 +76,8 @@
libxmlsec1_mscrypto_la-signatures.lo \
libxmlsec1_mscrypto_la-symkeys.lo \
libxmlsec1_mscrypto_la-x509.lo \
- libxmlsec1_mscrypto_la-x509vfy.lo $(am__objects_1) \
+ libxmlsec1_mscrypto_la-x509vfy.lo \
+ libxmlsec1_mscrypto_la-akmngr.lo $(am__objects_1) \
$(am__objects_2)
libxmlsec1_mscrypto_la_OBJECTS = $(am_libxmlsec1_mscrypto_la_OBJECTS)
DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
@@ -362,6 +364,7 @@
libxmlsec1_mscrypto_la_SOURCES = app.c certkeys.c ciphers.c crypto.c \
digests.c keysstore.c kt_rsa.c signatures.c symkeys.c x509.c \
x509vfy.c csp_calg.h csp_oid.h globals.h xmlsec-mingw.h \
+ akmngr.c \
$(NULL) $(am__append_1)
libxmlsec1_mscrypto_la_LIBADD = \
../libxmlsec1.la \
@@ -460,6 +463,7 @@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libxmlsec1_mscrypto_la-symkeys.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libxmlsec1_mscrypto_la-x509.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libxmlsec1_mscrypto_la-x509vfy.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libxmlsec1_mscrypto_la-akmngr.Plo@am__quote@
.c.o:
@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
@@ -489,6 +493,13 @@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(LIBTOOL) --mode=compile --tag=CC $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libxmlsec1_mscrypto_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libxmlsec1_mscrypto_la-app.lo `test -f 'app.c' || echo '$(srcdir)/'`app.c
+libxmlsec1_mscrypto_la-akmngr.lo: akmngr.c
+@am__fastdepCC_TRUE@ if $(LIBTOOL) --mode=compile --tag=CC $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libxmlsec1_mscrypto_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libxmlsec1_mscrypto_la-akmngr.lo -MD -MP -MF "$(DEPDIR)/libxmlsec1_mscrypto_la-akmngr.Tpo" -c -o libxmlsec1_mscrypto_la-akmngr.lo `test -f 'akmngr.c' || echo '$(srcdir)/'`akmngr.c; \
+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libxmlsec1_mscrypto_la-akmngr.Tpo" "$(DEPDIR)/libxmlsec1_mscrypto_la-akmngr.Plo"; else rm -f "$(DEPDIR)/libxmlsec1_mscrypto_la-akmngr.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='akmngr.c' object='libxmlsec1_mscrypto_la-akmngr.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) --mode=compile --tag=CC $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libxmlsec1_mscrypto_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libxmlsec1_mscrypto_la-akmngr.lo `test -f 'akmngr.c' || echo '$(srcdir)/'`akmngr.c
+
libxmlsec1_mscrypto_la-certkeys.lo: certkeys.c
@am__fastdepCC_TRUE@ if $(LIBTOOL) --mode=compile --tag=CC $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libxmlsec1_mscrypto_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libxmlsec1_mscrypto_la-certkeys.lo -MD -MP -MF "$(DEPDIR)/libxmlsec1_mscrypto_la-certkeys.Tpo" -c -o libxmlsec1_mscrypto_la-certkeys.lo `test -f 'certkeys.c' || echo '$(srcdir)/'`certkeys.c; \
@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libxmlsec1_mscrypto_la-certkeys.Tpo" "$(DEPDIR)/libxmlsec1_mscrypto_la-certkeys.Plo"; else rm -f "$(DEPDIR)/libxmlsec1_mscrypto_la-certkeys.Tpo"; exit 1; fi
This diff is collapsed.
--- misc/xmlsec1-1.2.12/src/mscrypto/x509vfy.c 2009-06-25 22:53:18.000000000 +0200
+++ misc/build/xmlsec1-1.2.12/src/mscrypto/x509vfy.c 2009-09-23 10:01:07.237316078 +0200
@@ -559,9 +559,16 @@
CertFreeCertificateContext(nextCert);
}
- if((selected == 1) && xmlSecMSCryptoX509StoreConstructCertsChain(store, cert, certs, keyInfoCtx)) {
- return(cert);
- }
+ /* JL: OpenOffice.org implements its own certificate verification routine.
+ The goal is to seperate validation of the signature
+ and the certificate. For example, OOo could show that the document signature is valid,
+ but the certificate could not be verified. If we do not prevent the verification of
+ the certificate by libxmlsec and the verification fails, then the XML signature will not be
+ verified. This would happen, for example, if the root certificate is not installed.
+ */
+/* if((selected == 1) && xmlSecMSCryptoX509StoreConstructCertsChain(store, cert, certs, keyInfoCtx)) { */
+ if (selected == 1)
+ return cert;
}
return (NULL);
--- misc/xmlsec1-1.2.12/src/nss/x509vfy.c 2009-09-23 10:06:52.989793254 +0200
+++ misc/build/xmlsec1-1.2.12/src/nss/x509vfy.c 2009-09-23 10:05:03.183042205 +0200
@@ -191,13 +191,27 @@
continue;
}
- status = CERT_VerifyCertificate(CERT_GetDefaultCertDB(),
- cert, PR_FALSE,
- (SECCertificateUsage)0,
- timeboundary , NULL, NULL, NULL);
- if (status == SECSuccess) {
- break;
- }
+
+ /*
+ JL: OpenOffice.org implements its own certificate verification routine.
+ The goal is to seperate validation of the signature
+ and the certificate. For example, OOo could show that the document signature is valid,
+ but the certificate could not be verified. If we do not prevent the verification of
+ the certificate by libxmlsec and the verification fails, then the XML signature may not be
+ verified. This would happen, for example, if the root certificate is not installed.
+
+ status = CERT_VerifyCertificate(CERT_GetDefaultCertDB(),
+ cert, PR_FALSE,
+ (SECCertificateUsage)0,
+ timeboundary , NULL, NULL, NULL);
+ if (status == SECSuccess) {
+ break;
+ }
+
+ */
+ status = SECSuccess;
+ break;
+
}
if (status == SECSuccess) {
--- misc/xmlsec1-1.2.12.orig/src/nss/crypto.c 2009-09-10 07:06:17.000000000 -0400
+++ misc/build/xmlsec1-1.2.12/src/nss/crypto.c 2009-09-10 07:08:24.000000000 -0400
@@ -136,6 +136,7 @@
/**
* High level routines form xmlsec command line utility
*/
+#if 0
gXmlSecNssFunctions->cryptoAppInit = xmlSecNssAppInit;
gXmlSecNssFunctions->cryptoAppShutdown = xmlSecNssAppShutdown;
gXmlSecNssFunctions->cryptoAppDefaultKeysMngrInit = xmlSecNssAppDefaultKeysMngrInit;
@@ -153,6 +154,25 @@
gXmlSecNssFunctions->cryptoAppKeyLoad = xmlSecNssAppKeyLoad;
gXmlSecNssFunctions->cryptoAppKeyLoadMemory = xmlSecNssAppKeyLoadMemory;
gXmlSecNssFunctions->cryptoAppDefaultPwdCallback = (void*)xmlSecNssAppGetDefaultPwdCallback();
+#else
+ gXmlSecNssFunctions->cryptoAppInit = NULL ;
+ gXmlSecNssFunctions->cryptoAppShutdown = NULL ;
+ gXmlSecNssFunctions->cryptoAppDefaultKeysMngrInit = NULL ;
+ gXmlSecNssFunctions->cryptoAppDefaultKeysMngrAdoptKey = NULL ;
+ gXmlSecNssFunctions->cryptoAppDefaultKeysMngrLoad = NULL ;
+ gXmlSecNssFunctions->cryptoAppDefaultKeysMngrSave = NULL ;
+#ifndef XMLSEC_NO_X509
+ gXmlSecNssFunctions->cryptoAppKeysMngrCertLoad = NULL ;
+ gXmlSecNssFunctions->cryptoAppKeysMngrCertLoadMemory= NULL ;
+ gXmlSecNssFunctions->cryptoAppPkcs12Load = NULL ;
+ gXmlSecNssFunctions->cryptoAppPkcs12LoadMemory = NULL ;
+ gXmlSecNssFunctions->cryptoAppKeyCertLoad = NULL ;
+ gXmlSecNssFunctions->cryptoAppKeyCertLoadMemory = NULL ;
+#endif /* XMLSEC_NO_X509 */
+ gXmlSecNssFunctions->cryptoAppKeyLoad = NULL ;
+ gXmlSecNssFunctions->cryptoAppKeyLoadMemory = NULL ;
+ gXmlSecNssFunctions->cryptoAppDefaultPwdCallback = (void*)NULL ;
+#endif
return(gXmlSecNssFunctions);
}
This diff is collapsed.
#*************************************************************************
#
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# Copyright 2008 by Sun Microsystems, Inc.
#
# OpenOffice.org - a multi-platform office productivity suite
#
# $RCSfile: makefile.mk,v $
#
# $Revision: 1.7 $
#
# This file is part of OpenOffice.org.
#
# OpenOffice.org is free software: you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License version 3
# only, as published by the Free Software Foundation.
#
# OpenOffice.org is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Lesser General Public License version 3 for more details
# (a copy is included in the LICENSE file that accompanied this code).
#
# You should have received a copy of the GNU Lesser General Public License
# version 3 along with OpenOffice.org. If not, see
# <http://www.openoffice.org/license.html>
# for a copy of the LGPLv3 License.
#
#*************************************************************************
PRJ=.
PRJNAME=msfontextract
TARGET=libmspack
NO_DEFAULT_STL=TRUE
LIBSALCPPRT=
# --- Settings -----------------------------------------------------
.INCLUDE : settings.mk
# --- Files --------------------------------------------------------
.IF "$(WITH_FONTOOO)" != "YES"
@all:
@echo "FontOOo disabled... Nothing to build here."
.ENDIF
TARFILE_NAME=libmspack
PATCH_FILES=msfontextract.patch
ADDITIONAL_FILES=mspack$/makefile.mk mspack$/msfontextract.c mspack$/ministub.c
CONFIGURE_ACTION=none
CONFIGURE_FLAGS=
BUILD_DIR=mspack
BUILD_FLAGS=
BUILD_ACTION=dmake subdmak=true $(MFLAGS) $(MAKEFILE) $(CALLMACROS)
.INCLUDE : set_ext.mk
.INCLUDE : target.mk
.INCLUDE : tg_ext.mk
--- misc/libmspack/mspack/makefile.mk Mon Mar 31 11:34:58 2008
+++ misc/build/libmspack/mspack/makefile.mk Mon Mar 31 11:34:31 2008
@@ -1 +1,83 @@
-dummy
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2008 by Sun Microsystems, Inc.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# $RCSfile: msfontextract.patch,v $
+#
+# $Revision: 1.9 $
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+PRJ=..$/..$/..$/..$/..$/
+
+PRJNAME=msfontextract
+TARGET=msfontextract
+TARGETTYPE=CUI
+LIBTARGET=NO
+NO_DEFAULT_STL=TRUE
+LIBSALCPPRT=
+EXTERNAL_WARNINGS_NOT_ERRORS=TRUE
+UWINAPILIB=
+
+# --- Settings -----------------------------------------------------
+
+
+.INCLUDE : settings.mk
+
+# --- Files --------------------------------------------------------
+
+CCFILES= \
+ msfontextract.c
+
+.IF "$(SYSTEM_MSPACK)" != "YES"
+CCFILES+= \
+ system.c \
+ cabd.c \
+ lzxd.c \
+ ministub .c
+.ENDIF
+
+OBJFILES= \
+ $(OBJ)$/msfontextract.obj
+
+.IF "$(SYSTEM_MSPACK)" != "YES"
+OBJFILES += \
+ $(OBJ)$/system.obj \
+ $(OBJ)$/cabd.obj \
+ $(OBJ)$/lzxd.obj \
+ $(OBJ)$/ministub.obj
+.ENDIF
+
+APP1TARGET= $(TARGET)
+APP1OBJS= $(OBJFILES)
+
+APP1STDLIBS=
+
+.IF "$(SYSTEM_MSPACK)" == "YES"
+APP1STDLIBS+= -lmspack
+.ENDIF
+
+# --- Targets ------------------------------------------------------
+
+.INCLUDE : target.mk
--- misc/libmspack/mspack/ministub.c Mon Mar 31 11:34:58 2008
+++ misc/build/libmspack/mspack/ministub.c Mon Mar 31 11:34:02 2008
@@ -1 +1,11 @@
-dummy
+#include <mspack.h>
+
+/* other expansion types not needed */
+int mszipd_init() {return MSPACK_ERR_DECRUNCH;}
+int mszipd_decompress() {return MSPACK_ERR_DECRUNCH;}
+void mszipd_free() {}
+
+int qtmd_init() {return MSPACK_ERR_DECRUNCH;}
+int qtmd_decompress() {return MSPACK_ERR_DECRUNCH;}
+void qtmd_free() {}
+
--- misc/libmspack/mspack/msfontextract.c Mon Mar 31 11:34:58 2008
+++ misc/build/libmspack/mspack/msfontextract.c Mon Mar 31 11:34:02 2008
@@ -1 +1,107 @@
-dummy
+/*
+* Portions (almost all!) (C) 2003 Stuart Caie.
+* you can redistribute it and/or modify it under
+* the terms of the GNU Lesser General Public License (LGPL) version 2.1
+*/
+
+#include <ctype.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+#include <mspack.h>
+
+char *error_msg(int error) {
+ switch (error) {
+ case MSPACK_ERR_OK: return "no error";
+ case MSPACK_ERR_ARGS: return "bad arguments to library function";
+ case MSPACK_ERR_OPEN: return "error opening file";
+ case MSPACK_ERR_READ: return "read error";
+ case MSPACK_ERR_WRITE: return "write error";
+ case MSPACK_ERR_SEEK: return "seek error";
+ case MSPACK_ERR_NOMEMORY: return "out of memory";
+ case MSPACK_ERR_SIGNATURE: return "bad signature";
+ case MSPACK_ERR_DATAFORMAT: return "error in data format";
+ case MSPACK_ERR_CHECKSUM: return "checksum error";
+ case MSPACK_ERR_CRUNCH: return "compression error";
+ case MSPACK_ERR_DECRUNCH: return "decompression error";
+ }
+ return "unknown error";
+}
+
+
+/* creates name of output file */
+char *create_output_name(const char *fname, char *dir) {
+ char c, *p, *name;
+ if (!(name = malloc(strlen(fname) + (dir ? strlen(dir) : 0) + 2))) {
+ fprintf(stderr, "out of memory!\n");
+ return NULL;
+ }
+ /* start with blank name */
+ *name = '\0';
+ /* add output directory if needed */
+ if (dir) {
+ strcpy(name, dir);
+ strcat(name, "/");
+ }
+ p = &name[strlen(name)];
+ do {
+ c = *fname++;
+ *p++ = tolower((unsigned char) c);
+ } while (c);
+
+ return name;
+}
+
+
+int
+main(int argc, char** argv)
+{
+
+ struct mscab_decompressor *cabd;
+ struct mscabd_cabinet *cab;
+ struct mscabd_file *file;
+ char * ename = NULL;
+ int err;
+
+ /* argv[1] is the cabinet to extract */
+ /* argv[2] is the path to extract to */
+ if ((!(argv[1])) || (!(argv[2]))) {
+ fprintf(stderr,"Usage: %s <cabinet> <destpath>\n",argv[0]);
+ return 1;
+ }
+
+ /* initialize libmspack and create a CAB decompressor */
+ MSPACK_SYS_SELFTEST(err);
+ if (err) {
+ fprintf(stderr,"Cannot initialize libmspack\n");
+ return 1;
+ }
+ if (!(cabd = mspack_create_cab_decompressor(NULL))) {
+ fprintf(stderr, "can't make decompressor: %s\n",
+ error_msg(cabd->last_error(cabd)));
+ return 1;
+ }
+
+
+ /* look for an embedded cabinet */
+ if ((cab = cabd->search(cabd, argv[1]))) {
+ /* for all files in the cabinet */
+ for (file = cab->files; file; file = file->next) {
+ if (!(ename = create_output_name(file->filename, argv[2]))) continue;
+ if ((cabd->extract(cabd, file, ename))) {
+ fprintf(stderr,"%s: extract error on \"%s\": %s\n",argv[1],
+ ename, error_msg(cabd->last_error(cabd)));
+ exit(1);
+ }
+ free(ename);
+ }
+ cabd->close(cabd, cab);
+ }
+ else {
+ fprintf(stderr, "%s: no embedded cabinet found\n", argv[1] );
+ }
+ mspack_destroy_cab_decompressor(cabd);
+ return 0;
+}
+
--- misc/libmspack/mspack/mspack.h Fri Dec 12 18:06:15 2003
+++ misc/build/libmspack/mspack/mspack.h Mon Mar 31 11:34:02 2008
@@ -120,6 +120,11 @@
#include <sys/types.h>
#include <unistd.h>
+/* MS Compiler defines size_t in stddef.h */
+#if defined(_MSC_VER) || defined(__MINGW32__)
+#include <stddef.h>
+#endif
+
/**
* System self-test function, to ensure both library and calling program
* can use one another.
--- misc/libmspack/mspack/system.h Thu Sep 11 16:06:52 2003
+++ misc/build/libmspack/mspack/system.h Mon Mar 31 11:34:02 2008
@@ -12,12 +12,16 @@
#ifdef DEBUG
# include <stdio.h>
-# define D(x) do { printf("%s:%d (%s) ",__FILE__, __LINE__, __FUNCTION__); \
+# define D(x) do { printf("%s:%d ",__FILE__, __LINE__); \
printf x ; fputc('\n', stdout); fflush(stdout);} while (0);
#else
# define D(x)
#endif
+/* Brutal hack to make it compile with MS .NET Compiler that doesn't
+ know what inline means. */
+#define inline
+
/* endian-neutral reading of little-endian data */
#define __egi32(a,n) ( (((a)[n+3]) << 24) | (((a)[n+2]) << 16) | \
(((a)[n+1]) << 8) | ((a)[n+0]) )
@@ -39,6 +43,7 @@
/* validates a system structure */
extern int mspack_valid_system(struct mspack_system *sys);
+#if 0
/* inline memcmp() */
static inline int memcmp(const void *s1, const void *s2, size_t n) {
unsigned char *c1 = (unsigned char *) s1;
@@ -54,5 +59,6 @@
while (*e) e++;
return e - s;
}
+#endif
#endif
mf msfontextract : soltools NULL
mf msfontextract nmake - all mf_mkout NULL
..\%__SRC%\bin\msfontextract %_DEST%\bin%_EXT%\msfontextract
..\%__SRC%\bin\msfontextract.exe %_DEST%\bin%_EXT%\msfontextract.exe
......@@ -70,10 +70,12 @@ OUT2INC += include/openssl/*
ADDITIONAL_FILES:= \
libcrypto_OOo_0_9_8k.map \
libssl_OOo_0_9_8k.map
.IF "$(CPU)" == "X"
.IF "$(CPU)" == "I"
CONFIGURE_ACTION=Configure linux-elf
.ELIF "$(BUILD64)" == "1"
CONFIGURE_ACTION=Configure linux-generic64
.ELSE
CONFIGURE_ACTION=Configure linux-elf
CONFIGURE_ACTION=Configure linux-generic32
.ENDIF
# if you build openssl as shared library you have to patch the Makefile.Shared "LD_LIBRARY_PATH=$$LD_LIBRARY_PATH \"
#BUILD_ACTION=make 'SHARED_LDFLAGS=-Wl,--version-script=./lib$$(SHLIBDIRS)_OOo_0_9_8e.map'
......@@ -86,23 +88,19 @@ OUT2INC += include/openssl/*
libssl_OOo_0_9_8k.map
#BUILD_ACTION=make 'SHARED_LDFLAGS=-G -dy -z text -M./lib$$$$$$$$(SHLIBDIRS)_OOo_0_9_8e.map'
# We need a 64 BIT switch (currently I disable 64 Bit by default).
# Please replace this with a global switch if available
#USE_64 = 1
# Use BUILD64 when 1 to select new specific 64bit Configurations if necessary
# Solaris INTEL
.IF "$(CPUNAME)" == "INTEL"
.IF "$(CPUNAME)" == "INTEL" # Solaris INTEL
.IF "$(CPU)" == "X"
CONFIGURE_ACTION=Configure solaris64-x86_64-cc
.ELSE
CONFIGURE_ACTION=Configure solaris-x86-cc
.ENDIF
.ELIF "$(CPU)" == "U" # Solaris SPARC
CONFIGURE_ACTION=Configure solaris64-sparcv9-cc
.ELSE
# Solaris SPARC
.IF "$(CPU)" == "U"
CONFIGURE_ACTION=Configure solaris64-sparcv9-cc
.ENDIF
.ENDIF
CONFIGURE_ACTION=Configure solaris-sparcv9-cc
.ENDIF
.ENDIF
.IF "$(OS)" == "WNT"
......
This diff is collapsed.
This diff is collapsed.
......@@ -26,47 +26,110 @@
#define ODBCVER 0x0351
#endif
/*
* if thi sis set, then use a 4 byte unicode definition, insteead of the 2 bye that MS use
*/
#ifdef SQL_WCHART_CONVERT
/*
* Use this if you want to use the C/C++ portable definition of a wide char, wchar_t
* Microsoft hardcoded a definition of unsigned short which may not be compatible with
* your platform specific wide char definition.
*/
#include <wchar.h>
#endif
#include <sal/types.h>
#ifdef __cplusplus
extern "C" {
#endif
#ifndef SIZEOF_LONG
# if defined(__alpha__) || defined(__x86_64__) || defined(__ia64__) || defined(__s390x__) || defined(__sparcv9) || defined(__LP64__)
# define SIZEOF_LONG 8
#else
# define SIZEOF_LONG 4
#ifndef SIZEOF_LONG_INT
# define SIZEOF_LONG_INT SAL_TYPES_SIZEOFLONG
#endif
#ifndef ODBCINT64
# define ODBCINT64 sal_Int64
#endif
#ifndef UODBCINT64
# define UODBCINT64 sal_uInt64
#endif
/*
* this is defined by configure, but will not be on a normal application build
* the install creates a unixodbc_conf.h file that contains the current build settings
*/
#ifndef SIZEOF_LONG_INT
#include <unixodbc_conf.h>
#endif
#ifndef SIZEOF_LONG_INT
#error "Needs to know how big a long int is to continue!!!"
#endif
/****************************
* These make up for having no windows.h
***************************/
#ifndef ALLREADY_HAVE_WINDOWS_TYPE
#define FAR
#define CALLBACK
#ifdef __OS2__
#define SQL_API _System
#else
#define SQL_API
#endif
#define BOOL int
typedef void* HWND;
#ifndef CHAR
typedef char* GUID;
#endif
#define GUID_DEFINED
typedef char CHAR;
#ifdef UNICODE
/*
* NOTE: The Microsoft unicode define is only for apps that want to use TCHARs and
* be able to compile for both unicode and non-unicode with the same source.
* This is not recommanded for linux applications and is not supported
* by the standard linux string header files.
*/
#ifdef SQL_WCHART_CONVERT
typedef wchar_t TCHAR;
#else
typedef signed short TCHAR;
#endif
#else
typedef char TCHAR;
#endif
#ifndef DONT_TD_VOID
typedef void VOID;
#endif
typedef unsigned short WORD;
#if SIZEOF_LONG == 4
typedef unsigned long DWORD;
#if (SIZEOF_LONG_INT == 4)
typedef unsigned long DWORD;
#else
typedef unsigned int DWORD;
typedef unsigned int DWORD;
#endif
typedef unsigned char BYTE;
#ifdef SQL_WCHART_CONVERT
typedef wchar_t WCHAR;
#else
typedef unsigned short WCHAR;
#endif
typedef WCHAR* LPWSTR;
typedef const char* LPCSTR;
typedef const WCHAR* LPCWSTR;
typedef TCHAR* LPTSTR;
typedef char* LPSTR;
typedef DWORD* LPDWORD;
typedef void* HINSTANCE;
#endif
/****************************
* standard SQL* data types. use these as much as possible when using ODBC calls/vars
......@@ -80,10 +143,60 @@ typedef double SQLDOUBLE;
typedef double SQLFLOAT;
#endif
#if SIZEOF_LONG == 4
typedef long SQLINTEGER;
/*
* can't use a long it fails on 64 platforms
*/
/*
* Hopefully by now it should be safe to assume most drivers know about SQLLEN now
* and the defaukt is now sizeof( SQLLEN ) = 8 on 64 bit platforms
*
*/
#if (SIZEOF_LONG_INT == 8)
#ifdef BUILD_LEGACY_64_BIT_MODE
typedef int SQLINTEGER;
typedef unsigned int SQLUINTEGER;
#define SQLLEN SQLINTEGER
#define SQLULEN SQLUINTEGER
#define SQLSETPOSIROW SQLUSMALLINT
/*
* These are not supprted on 64bit ODBC according to MS, removed, so use at your peril
*
typedef SQLULEN SQLROWCOUNT;
typedef SQLULEN SQLROWSETSIZE;
typedef SQLULEN SQLTRANSID;
typedef SQLLEN SQLROWOFFSET;
*/
#else
typedef int SQLINTEGER;
typedef unsigned int SQLUINTEGER;
typedef long SQLLEN;
typedef unsigned long SQLULEN;
typedef unsigned long SQLSETPOSIROW;
/*
* These are not supprted on 64bit ODBC according to MS, removed, so use at your peril
*
typedef SQLULEN SQLTRANSID;
typedef SQLULEN SQLROWCOUNT;
typedef SQLUINTEGER SQLROWSETSIZE;
typedef SQLLEN SQLROWOFFSET;
*/
typedef SQLULEN SQLROWCOUNT;
typedef SQLULEN SQLROWSETSIZE;
typedef SQLULEN SQLTRANSID;
typedef SQLLEN SQLROWOFFSET;
#endif
#else
typedef int SQLINTEGER;
typedef long SQLINTEGER;
typedef unsigned long SQLUINTEGER;
#define SQLLEN SQLINTEGER
#define SQLULEN SQLUINTEGER
#define SQLSETPOSIROW SQLUSMALLINT
typedef SQLULEN SQLROWCOUNT;
typedef SQLULEN SQLROWSETSIZE;
typedef SQLULEN SQLTRANSID;
typedef SQLLEN SQLROWOFFSET;
#endif
#if (ODBCVER >= 0x0300)
......@@ -107,39 +220,58 @@ typedef unsigned char SQLVARCHAR;
typedef SQLSMALLINT SQLRETURN;
/* typedef void * SQLHANDLE; */
typedef SQLINTEGER SQLHANDLE;
#if (ODBCVER >= 0x0300)
typedef void * SQLHANDLE;
typedef SQLHANDLE SQLHENV;
typedef SQLHANDLE SQLHDBC;
typedef SQLHANDLE SQLHSTMT;
typedef SQLHANDLE SQLHDESC;
#else
typedef void * SQLHENV;
typedef void * SQLHDBC;
typedef void * SQLHSTMT;
/*
* some things like PHP won't build without this
*/
typedef void * SQLHANDLE;
#endif
/****************************
* These are cast into the actual struct that is being passed around. The
* DriverManager knows what its structs look like and the Driver knows about its
* structs... the app knows nothing about them... just void*
* These are deprecated in favour of SQLHENV, SQLHDBC, SQLHSTMT
***************************/
#if (ODBCVER >= 0x0300)
typedef SQLHANDLE HENV;
typedef SQLHANDLE HDBC;
typedef SQLHANDLE HSTMT;
#else
typedef SQLINTEGER SQLHENV;
typedef SQLINTEGER SQLHDBC;
typedef SQLINTEGER SQLHSTMT;
typedef void * HENV;
typedef void * HDBC;
typedef void * HSTMT;
#endif
/****************************
* more basic data types to augment what windows.h provides
***************************/
#ifndef ALLREADY_HAVE_WINDOWS_TYPE
typedef unsigned char UCHAR;
typedef signed char SCHAR;
typedef SCHAR SQLSCHAR;
#if SIZEOF_LONG == 4
typedef long int SDWORD;
typedef unsigned long int UDWORD;
#if (SIZEOF_LONG_INT == 4)
typedef long int SDWORD;
typedef unsigned long int UDWORD;
#else
typedef signed int SDWORD;
typedef unsigned int UDWORD;
typedef int SDWORD;
typedef unsigned int UDWORD;
#endif
typedef signed short int SWORD;
typedef unsigned short int UWORD;
typedef UDWORD SQLUINTEGER;
typedef unsigned int UINT;
typedef signed long SLONG;
typedef signed short SSHORT;
typedef unsigned long ULONG;
......@@ -151,20 +283,7 @@ typedef void* PTR;
typedef signed short RETCODE;
typedef void* SQLHWND;
/****************************
* These are cast into the actual struct that is being passed around. The
* DriverManager knows what its structs look like and the Driver knows about its
* structs... the app knows nothing about them... just void*
* These are deprecated in favour of SQLHENV, SQLHDBC, SQLHSTMT
***************************/
/*
typedef void* HENV;
typedef void* HDBC;
typedef void* HSTMT;
*/
typedef SQLHANDLE HENV;
typedef SQLHANDLE HDBC;
typedef SQLHANDLE HSTMT;
#endif
/****************************
* standard structs for working with date/times
......@@ -263,12 +382,41 @@ typedef struct tagSQL_INTERVAL_STRUCT
/****************************
*
***************************/
#if (ODBCVER >= 0x0300)
#define ODBCINT64 long
#ifndef ODBCINT64
# if (ODBCVER >= 0x0300)
# if (SIZEOF_LONG_INT == 8)
# define ODBCINT64 long
# define UODBCINT64 unsigned long
# else
# ifdef HAVE_LONG_LONG
# define ODBCINT64 long long
# define UODBCINT64 unsigned long long
# else
/*
* may fail in some cases, but what else can we do ?
*/
struct __bigint_struct
{
int hiword;
unsigned int loword;
};
struct __bigint_struct_u
{
unsigned int hiword;
unsigned int loword;
};
# define ODBCINT64 struct __bigint_struct
# define UODBCINT64 struct __bigint_struct_u
# endif
# endif
#endif
#endif
#ifdef ODBCINT64
typedef ODBCINT64 SQLBIGINT;
typedef unsigned ODBCINT64 SQLUBIGINT;
#endif
#ifdef UODBCINT64
typedef UODBCINT64 SQLUBIGINT;
#endif
......@@ -288,6 +436,7 @@ typedef struct tagSQL_NUMERIC_STRUCT
#if (ODBCVER >= 0x0350)
#ifdef GUID_DEFINED
#ifndef ALLREADY_HAVE_WINDOWS_TYPE
typedef GUID SQLGUID;
#else
typedef struct tagSQLGUID
......@@ -298,17 +447,20 @@ typedef struct tagSQLGUID
BYTE Data4[ 8 ];
} SQLGUID;
#endif
#else
typedef struct tagSQLGUID
{
DWORD Data1;
WORD Data2;
WORD Data3;
BYTE Data4[ 8 ];
} SQLGUID;
#endif
#endif
typedef SQLULEN BOOKMARK;
typedef unsigned long int BOOKMARK;
#ifdef _WCHAR_T_DEFINED
typedef wchar_t SQLWCHAR;
#else
typedef unsigned short SQLWCHAR;
#endif
typedef WCHAR SQLWCHAR;
#ifdef UNICODE
typedef SQLWCHAR SQLTCHAR;
......@@ -321,3 +473,6 @@ typedef SQLCHAR SQLTCHAR;
#endif
#endif
This diff is collapsed.
mkdir: %_DEST%\inc%_EXT%\external
mkdir: %_DEST%\inc%_EXT%\external\odbc
..\inc\sql.h %_DEST%\inc%_EXT%\external\odbc\sql.h
..\inc\sqlext.h %_DEST%\inc%_EXT%\external\odbc\sqlext.h
..\inc\sqltypes.h %_DEST%\inc%_EXT%\external\odbc\sqltypes.h
..\inc\*.h %_DEST%\inc%_EXT%\external\odbc\*.h
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment