[xml/sgml-commit] [xmlsec1] 26/32: Imported Upstream version 1.2.24
Rene Engelhard
rene at moszumanska.debian.org
Sun Jun 25 17:46:34 UTC 2017
This is an automated email from the git hooks/post-receive script.
rene pushed a commit to branch experimental
in repository xmlsec1.
commit 7edb3e6de8216327002a281f65145e3eb60cb84d
Author: Rene Engelhard <rene at rene-engelhard.de>
Date: Fri Jun 23 13:00:36 2017 +0200
Imported Upstream version 1.2.24
---
ChangeLog | 5 +
HACKING | 10 +-
Makefile.am | 9 +-
Makefile.in | 11 +-
aclocal.m4 | 211 +-
apps/Makefile.in | 4 +
apps/crypto.c | 173 +-
apps/xmlsec.c | 126 +-
config.guess | 47 +-
config.h.in | 3 +-
config.sub | 36 +-
configure | 2250 +++++---
configure.ac | 94 +-
docs/Makefile.in | 4 +
docs/api/Makefile.am | 69 +-
docs/api/Makefile.in | 73 +-
docs/api/index.html | 403 +-
docs/api/left-insensitive.png | Bin 0 -> 333 bytes
docs/api/left.png | Bin 187 -> 193 bytes
docs/api/right-insensitive.png | Bin 0 -> 233 bytes
docs/api/right.png | Bin 186 -> 185 bytes
docs/api/src/chapters/using-x509-certs.sgml | 2 +-
docs/api/src/xmlsec.sgml | 187 +-
docs/api/tmpl/base/errors.sgml | 14 +
docs/api/tmpl/base/private.sgml | 31 +-
docs/api/tmpl/base/xmlsec-unused.sgml | 234 +
docs/api/tmpl/base/xmlsec.sgml | 48 +-
docs/api/tmpl/base/xmltree.sgml | 22 -
docs/api/tmpl/nss/crypto.sgml | 64 +
docs/api/tmpl/openssl/app.sgml | 2 +-
docs/api/tmpl/openssl/crypto.sgml | 147 +-
docs/api/tmpl/openssl/x509.sgml | 2 +-
docs/api/tmpl/openssl/xmlsec-openssl-unused.sgml | 22 +-
docs/api/up-insensitive.png | Bin 0 -> 288 bytes
docs/api/xmlsec-app.html | 2881 +++++-----
docs/api/xmlsec-base64.html | 674 ++-
docs/api/xmlsec-bn.html | 1550 +++--
docs/api/xmlsec-buffer.html | 1306 +++--
docs/api/xmlsec-custom-keys-manager.html | 85 +-
docs/api/xmlsec-decrypt-with-keys-mngr.html | 79 +-
docs/api/xmlsec-decrypt-with-signle-key.html | 79 +-
docs/api/xmlsec-dl.html | 413 +-
docs/api/xmlsec-encrypt-dynamic-template.html | 115 +-
docs/api/xmlsec-encrypt-template-file.html | 111 +-
docs/api/xmlsec-encrypt-with-session-key.html | 121 +-
docs/api/xmlsec-encryption-klasses.html | 70 +-
docs/api/xmlsec-errors.html | 1265 +++--
.../xmlsec-examples-sign-dynamimc-template.html | 117 +-
docs/api/xmlsec-examples-sign-template-file.html | 112 +-
docs/api/xmlsec-examples-sign-x509.html | 121 +-
docs/api/xmlsec-examples.html | 142 +-
docs/api/xmlsec-gcrypt-app.html | 1040 ++--
docs/api/xmlsec-gcrypt-crypto.html | 1920 ++++---
docs/api/xmlsec-gcrypt-ref.html | 72 +-
docs/api/xmlsec-gnutls-app.html | 1040 ++--
docs/api/xmlsec-gnutls-crypto.html | 1754 +++---
docs/api/xmlsec-gnutls-ref.html | 75 +-
docs/api/xmlsec-gnutls-x509.html | 751 +++
docs/api/xmlsec-index.html | 3159 ++++++-----
docs/api/xmlsec-io.html | 406 +-
docs/api/xmlsec-keyinfo.html | 1164 ++--
docs/api/xmlsec-keys.html | 2637 +++++----
docs/api/xmlsec-keysdata.html | 4298 +++++++-------
docs/api/xmlsec-keysmngr.html | 1579 +++---
docs/api/xmlsec-list.html | 1459 +++--
docs/api/xmlsec-membuf.html | 204 +-
docs/api/xmlsec-mscrypto-app.html | 1412 +++--
docs/api/xmlsec-mscrypto-certkeys.html | 490 +-
docs/api/xmlsec-mscrypto-crypto.html | 1920 ++++---
docs/api/xmlsec-mscrypto-keysstore.html | 341 +-
docs/api/xmlsec-mscrypto-ref.html | 81 +-
docs/api/xmlsec-mscrypto-x509.html | 930 ++-
docs/api/xmlsec-nodeset.html | 1064 ++--
docs/api/xmlsec-notes-compiling-others.html | 62 +-
docs/api/xmlsec-notes-compiling-unix.html | 149 +-
docs/api/xmlsec-notes-compiling-windows.html | 119 +-
docs/api/xmlsec-notes-compiling.html | 81 +-
docs/api/xmlsec-notes-contexts.html | 85 +-
docs/api/xmlsec-notes-custom-keys-store.html | 80 +-
docs/api/xmlsec-notes-decrypt.html | 113 +-
.../xmlsec-notes-dynamic-encryption-templates.html | 91 +-
.../xmlsec-notes-dynamic-signature-templates.html | 91 +-
docs/api/xmlsec-notes-encrypt.html | 142 +-
docs/api/xmlsec-notes-include-files.html | 99 +-
docs/api/xmlsec-notes-init-shutdown.html | 120 +-
docs/api/xmlsec-notes-keys-manager-sign-enc.html | 92 +-
.../api/xmlsec-notes-keys-mngr-verify-decrypt.html | 88 +-
docs/api/xmlsec-notes-keys.html | 77 +-
docs/api/xmlsec-notes-keysmngr.html | 91 +-
docs/api/xmlsec-notes-new-crypto-functions.html | 85 +-
docs/api/xmlsec-notes-new-crypto-key-stores.html | 46 +
docs/api/xmlsec-notes-new-crypto-keys.html | 69 +-
docs/api/xmlsec-notes-new-crypto-klasses.html | 120 +-
.../xmlsec-notes-new-crypto-sharing-results.html | 64 +-
.../xmlsec-notes-new-crypto-simple-keys-mngr.html | 64 +-
docs/api/xmlsec-notes-new-crypto-skeleton.html | 161 +-
docs/api/xmlsec-notes-new-crypto-transforms.html | 120 +-
docs/api/xmlsec-notes-new-crypto.html | 110 +-
docs/api/xmlsec-notes-overview.html | 63 +-
docs/api/xmlsec-notes-sign-encrypt.html | 87 +-
docs/api/xmlsec-notes-sign-x509.html | 108 +-
docs/api/xmlsec-notes-sign.html | 124 +-
docs/api/xmlsec-notes-simple-keys-store.html | 83 +-
docs/api/xmlsec-notes-structure.html | 75 +-
docs/api/xmlsec-notes-templates.html | 77 +-
docs/api/xmlsec-notes-transforms.html | 114 +-
docs/api/xmlsec-notes-verify-decrypt.html | 89 +-
docs/api/xmlsec-notes-verify-x509.html | 105 +-
docs/api/xmlsec-notes-verify.html | 119 +-
docs/api/xmlsec-notes-x509.html | 77 +-
docs/api/xmlsec-notes.html | 203 +-
docs/api/xmlsec-nss-app.html | 1387 +++--
docs/api/xmlsec-nss-bignum.html | 238 +-
docs/api/xmlsec-nss-crypto.html | 1737 +++---
docs/api/xmlsec-nss-keysstore.html | 341 +-
docs/api/xmlsec-nss-pkikeys.html | 357 +-
docs/api/xmlsec-nss-ref.html | 84 +-
docs/api/xmlsec-nss-x509.html | 919 ++-
docs/api/xmlsec-openssl-app.html | 1490 +++--
docs/api/xmlsec-openssl-bn.html | 230 +-
docs/api/xmlsec-openssl-crypto.html | 3141 ++++++-----
docs/api/xmlsec-openssl-evp.html | 305 +-
docs/api/xmlsec-openssl-ref.html | 81 +-
docs/api/xmlsec-openssl-x509.html | 1117 ++--
docs/api/xmlsec-parser.html | 362 +-
docs/api/xmlsec-ref.html | 135 +-
docs/api/xmlsec-reference.html | 226 +-
docs/api/xmlsec-signature-klasses.html | 70 +-
docs/api/xmlsec-templates.html | 2549 +++++----
docs/api/xmlsec-transforms.html | 5934 ++++++++++----------
docs/api/xmlsec-verify-with-key.html | 79 +-
docs/api/xmlsec-verify-with-keys-mngr.html | 79 +-
docs/api/xmlsec-verify-with-restrictions.html | 157 +-
docs/api/xmlsec-verify-with-x509.html | 79 +-
docs/api/xmlsec-version.html | 157 +-
docs/api/xmlsec-x509.html | 239 +-
docs/api/xmlsec-xmldsig.html | 1611 +++---
docs/api/xmlsec-xmlenc.html | 1106 ++--
docs/api/xmlsec-xmlsec.html | 539 +-
docs/api/xmlsec-xmltree.html | 3327 ++++++-----
docs/authors.html | 46 +
docs/bugs.html | 46 +
docs/c14n.html | 46 +
docs/documentation.html | 46 +
docs/download.html | 65 +-
docs/faq.html | 46 +
docs/index.html | 72 +-
docs/news.html | 62 +
docs/related.html | 46 +
docs/xmldsig-verifier.html | 46 +
docs/xmldsig.html | 46 +
docs/xmlenc.html | 46 +
docs/xmlsec-man.html | 8 +
include/Makefile.in | 4 +
include/xmlsec/Makefile.in | 4 +
include/xmlsec/app.h | 2 +-
include/xmlsec/base64.h | 2 +-
include/xmlsec/bn.h | 2 +-
include/xmlsec/buffer.h | 2 +-
include/xmlsec/crypto.h | 2 +-
include/xmlsec/dl.h | 2 +-
include/xmlsec/errors.h | 45 +-
include/xmlsec/exports.h | 2 +-
include/xmlsec/gcrypt/Makefile.in | 4 +
include/xmlsec/gcrypt/app.h | 4 +-
include/xmlsec/gcrypt/crypto.h | 4 +-
include/xmlsec/gcrypt/symbols.h | 4 +-
include/xmlsec/gnutls/Makefile.in | 4 +
include/xmlsec/gnutls/app.h | 4 +-
include/xmlsec/gnutls/crypto.h | 4 +-
include/xmlsec/gnutls/symbols.h | 4 +-
include/xmlsec/gnutls/x509.h | 4 +-
include/xmlsec/io.h | 2 +-
include/xmlsec/keyinfo.h | 2 +-
include/xmlsec/keys.h | 2 +-
include/xmlsec/keysdata.h | 2 +-
include/xmlsec/keysmngr.h | 2 +-
include/xmlsec/list.h | 2 +-
include/xmlsec/membuf.h | 2 +-
include/xmlsec/mscrypto/Makefile.in | 4 +
include/xmlsec/mscrypto/app.h | 4 +-
include/xmlsec/mscrypto/certkeys.h | 4 +-
include/xmlsec/mscrypto/crypto.h | 4 +-
include/xmlsec/mscrypto/keysstore.h | 4 +-
include/xmlsec/mscrypto/symbols.h | 4 +-
include/xmlsec/mscrypto/x509.h | 4 +-
include/xmlsec/nodeset.h | 2 +-
include/xmlsec/nss/Makefile.in | 4 +
include/xmlsec/nss/app.h | 4 +-
include/xmlsec/nss/bignum.h | 4 +-
include/xmlsec/nss/crypto.h | 58 +-
include/xmlsec/nss/keysstore.h | 4 +-
include/xmlsec/nss/pkikeys.h | 4 +-
include/xmlsec/nss/symbols.h | 7 +-
include/xmlsec/nss/x509.h | 4 +-
include/xmlsec/openssl/Makefile.in | 4 +
include/xmlsec/openssl/app.h | 6 +-
include/xmlsec/openssl/bn.h | 4 +-
include/xmlsec/openssl/crypto.h | 114 +-
include/xmlsec/openssl/evp.h | 4 +-
include/xmlsec/openssl/symbols.h | 4 +-
include/xmlsec/openssl/x509.h | 6 +-
include/xmlsec/parser.h | 2 +-
include/xmlsec/private.h | 86 +-
include/xmlsec/private/Makefile.in | 4 +
include/xmlsec/private/xslt.h | 2 +-
include/xmlsec/skeleton/app.h | 4 +-
include/xmlsec/skeleton/crypto.h | 4 +-
include/xmlsec/skeleton/symbols.h | 4 +-
include/xmlsec/soap.h | 50 +-
include/xmlsec/strings.h | 2 +-
include/xmlsec/templates.h | 2 +-
include/xmlsec/transforms.h | 2 +-
include/xmlsec/version.h | 12 +-
include/xmlsec/version.h.in | 6 +-
include/xmlsec/x509.h | 2 +-
include/xmlsec/xmldsig.h | 2 +-
include/xmlsec/xmlenc.h | 2 +-
include/xmlsec/xmlsec.h | 89 +-
include/xmlsec/xmltree.h | 6 +-
install-sh | 23 +-
ltmain.sh | 5533 +++++++++++-------
m4/libtool.m4 | 2521 +++++----
m4/ltoptions.m4 | 127 +-
m4/ltsugar.m4 | 7 +-
m4/ltversion.m4 | 12 +-
m4/lt~obsolete.m4 | 7 +-
man/Makefile.in | 4 +
man/xmlsec1-config.1 | 4 +-
man/xmlsec1.1 | 14 +-
scripts/build_release.sh | 2 +-
scripts/change-release.sh | 34 -
scripts/push_release.sh | 30 -
scripts/test_release.sh | 12 -
src/Makefile.am | 1 +
src/Makefile.in | 5 +
src/app.c | 446 +-
src/base64.c | 219 +-
src/bn.c | 209 +-
src/buffer.c | 104 +-
src/c14n.c | 138 +-
src/dl.c | 557 +-
src/enveloped.c | 35 +-
src/errors.c | 23 +-
src/errors_helpers.h | 872 +++
src/gcrypt/Makefile.am | 4 -
src/gcrypt/Makefile.in | 60 +-
src/gcrypt/app.c | 201 +-
src/gcrypt/asn1.c | 175 +-
src/gcrypt/asymkeys.c | 499 +-
src/gcrypt/ciphers.c | 199 +-
src/gcrypt/crypto.c | 23 +-
src/gcrypt/digests.c | 61 +-
src/gcrypt/globals.h | 56 +-
src/gcrypt/hmac.c | 108 +-
src/gcrypt/kw_aes.c | 134 +-
src/gcrypt/kw_des.c | 143 +-
src/gcrypt/signatures.c | 271 +-
src/gcrypt/symkeys.c | 5 +-
src/globals.h | 3 +
src/gnutls/Makefile.am | 4 -
src/gnutls/Makefile.in | 64 +-
src/gnutls/app.c | 287 +-
src/gnutls/asymkeys.c | 107 +-
src/gnutls/ciphers.c | 4 +-
src/gnutls/crypto.c | 35 +-
src/gnutls/digests.c | 4 +-
src/gnutls/globals.h | 75 +-
src/gnutls/hmac.c | 4 +-
src/gnutls/kw_aes.c | 5 +-
src/gnutls/kw_des.c | 5 +-
src/gnutls/signatures.c | 4 +-
src/gnutls/symkeys.c | 5 +-
src/gnutls/x509.c | 664 +--
src/gnutls/x509utils.c | 448 +-
src/gnutls/x509vfy.c | 236 +-
src/io.c | 69 +-
src/keyinfo.c | 363 +-
src/keys.c | 258 +-
src/keysdata.c | 255 +-
src/keysmngr.c | 151 +-
src/kw_aes_des.c | 98 +-
src/kw_aes_des.h | 4 +-
src/list.c | 62 +-
src/membuf.c | 39 +-
src/mscrypto/Makefile.am | 4 -
src/mscrypto/Makefile.in | 68 +-
src/mscrypto/app.c | 479 +-
src/mscrypto/certkeys.c | 976 ++--
src/mscrypto/ciphers.c | 235 +-
src/mscrypto/crypto.c | 228 +-
src/mscrypto/csp_calg.h | 4 +-
src/mscrypto/csp_oid.h | 4 +-
src/mscrypto/digests.c | 85 +-
src/mscrypto/globals.h | 57 +
src/mscrypto/hmac.c | 147 +-
src/mscrypto/keysstore.c | 165 +-
src/mscrypto/kt_rsa.c | 169 +-
src/mscrypto/kw_aes.c | 125 +-
src/mscrypto/kw_des.c | 207 +-
src/mscrypto/private.h | 4 +-
src/mscrypto/signatures.c | 182 +-
src/mscrypto/symkeys.c | 151 +-
src/mscrypto/x509.c | 789 +--
src/mscrypto/x509vfy.c | 356 +-
src/mscrypto/xmlsec-mingw.h | 4 +-
src/nodeset.c | 60 +-
src/nss/Makefile.am | 4 -
src/nss/Makefile.in | 63 +-
src/nss/README | 2 +-
src/nss/app.c | 510 +-
src/nss/bignum.c | 34 +-
src/nss/ciphers.c | 181 +-
src/nss/crypto.c | 84 +-
src/nss/digests.c | 78 +-
src/nss/globals.h | 44 +
src/nss/hmac.c | 121 +-
src/nss/keysstore.c | 132 +-
src/nss/keytrans.c | 778 ++-
src/nss/kw_aes.c | 157 +-
src/nss/kw_des.c | 163 +-
src/nss/pkikeys.c | 632 +--
src/nss/signatures.c | 376 +-
src/nss/symkeys.c | 5 +-
src/nss/x509.c | 695 +--
src/nss/x509vfy.c | 274 +-
src/openssl/Makefile.am | 6 +-
src/openssl/Makefile.in | 66 +-
src/openssl/app.c | 606 +-
src/openssl/bn.c | 49 +-
src/openssl/ciphers.c | 183 +-
src/openssl/crypto.c | 56 +-
src/openssl/digests.c | 105 +-
src/openssl/evp.c | 708 +--
src/openssl/evp_signatures.c | 140 +-
src/openssl/globals.h | 75 +
src/openssl/hmac.c | 167 +-
src/openssl/kt_rsa.c | 280 +-
src/openssl/kw_aes.c | 100 +-
src/openssl/kw_des.c | 132 +-
src/openssl/openssl11_wrapper.h | 213 -
src/openssl/openssl_compat.h | 62 +
src/openssl/signatures.c | 386 +-
src/openssl/symkeys.c | 5 +-
src/openssl/x509.c | 821 +--
src/openssl/x509vfy.c | 453 +-
src/parser.c | 215 +-
src/relationship.c | 252 +-
src/skeleton/Makefile.am | 4 -
src/skeleton/app.c | 110 +-
src/skeleton/crypto.c | 16 +-
src/skeleton/globals.h | 3 +
src/soap.c | 319 +-
src/strings.c | 2 +-
src/templates.c | 720 +--
src/transforms.c | 746 +--
src/x509.c | 2 +-
src/xmldsig.c | 423 +-
src/xmlenc.c | 382 +-
src/xmlsec.c | 114 +-
src/xmltree.c | 433 +-
src/xpath.c | 303 +-
src/xslt.c | 152 +-
.../enveloping-sha1-ecdsa-sha1.xml | 34 +-
.../enveloping-sha256-ecdsa-sha256.xml | 34 +-
...xml => enveloping-sha256-rsa-sha256-verify.xml} | 37 +-
.../enveloping-sha512-ecdsa-sha512.xml | 34 +-
tests/keys/README | 23 +-
tests/keys/demoCA/index.txt | 1 +
tests/keys/demoCA/index.txt.old | 1 +
tests/keys/demoCA/newcerts/AFA28BB933ADDAB5.pem | 60 +
tests/keys/demoCA/serial | 2 +-
tests/keys/demoCA/serial.old | 2 +-
tests/keys/ecdsa-secp256r1-cert.der | Bin 0 -> 899 bytes
tests/keys/ecdsa-secp256r1-cert.pem | 60 +
tests/keys/ecdsa-secp256r1-key.der | Bin 0 -> 121 bytes
tests/keys/ecdsa-secp256r1-key.p12 | Bin 0 -> 3621 bytes
tests/keys/ecdsa-secp256r1-key.p8-der | Bin 0 -> 179 bytes
tests/keys/ecdsa-secp256r1-key.pem | 5 +
tests/keys/merlincert.der | Bin 0 -> 848 bytes
tests/testDSig.sh | 35 +-
tests/testrun.sh | 3 +
win32/Makefile.msvc | 32 +-
win32/README.txt | 2 +-
win32/configure.js | 58 +-
win32/mycfg.bat | 10 +-
xmlsec1-config | 18 +-
xmlsec1-gcrypt.pc | 2 +-
xmlsec1-gnutls.pc | 6 +-
xmlsec1-nss.pc | 2 +-
xmlsec1-openssl.pc | 6 +-
xmlsec1.pc | 2 +-
xmlsec1.spec | 2 +-
xmlsec1Conf.sh | 6 +-
394 files changed, 51844 insertions(+), 56844 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index e25f8e3..5adc5c4 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+The changelog file is obsolete, please view the commits log on github
+
+https://github.com/lsh123/xmlsec/commits/master
+
+
2016-10-15 Aleksey Sanin <aleksey at aleksey.com>
* 1.2.23 release
diff --git a/HACKING b/HACKING
index b9f96d6..d28cbc4 100644
--- a/HACKING
+++ b/HACKING
@@ -95,17 +95,17 @@ Igor Zlatkovic get an exception for the send before commit rule.
- Errors reporting (XMLSEC_ERRORS_R_XMLSEC_FAILED vs. XMLSEC_ERRORS_R_CRYPTO_FAILED)
The correct usage rule is:
if the failed function starts with "xmlSec" then use
- XMLSEC_ERRORS_R_XMLSEC_FAILED
- else if it is xmlMalloc/xmlFree/xmlStrdup/etc then use
- XMLSEC_ERRORS_R_MALLOC_FAILED
+ xmlSecInternalError() aka XMLSEC_ERRORS_R_XMLSEC_FAILED
+ else if it is xmlMalloc/xmlFree/etc then use
+ xmlSecMallocError() aka XMLSEC_ERRORS_R_MALLOC_FAILED
else if the function starts with "xml" or "xslt" (i.e. it comes
from libxml or libxslt) then use
- XMLSEC_ERRORS_R_XML_FAILED
+ xmlSecXmlError/xmlSecXmlParserError aka XMLSEC_ERRORS_R_XML_FAILED
else if it is related to IO (fopen, fread, fwrite, etc.) then use
XMLSEC_ERRORS_R_IO_FAILED
else if the function could be used only from xmlsec-crypto (i.e.
it is crypto engine related) then use
- XMLSEC_ERRORS_R_CRYPTO_FAILED
+ xmlSecOpenSSLError/... aka XMLSEC_ERRORS_R_CRYPTO_FAILED
else if there is another reason (invalid data, invalid size, etc.)
corresponding error reason should be used
else
diff --git a/Makefile.am b/Makefile.am
index 3453c01..82e2665 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1,7 +1,13 @@
NULL =
SAFE_VERSION = @XMLSEC_VERSION_SAFE@
-SUBDIRS = include src apps man docs
+SUBDIRS = include src
+if XMLSEC_APPS
+SUBDIRS += apps
+endif
+if XMLSEC_DOCS
+SUBDIRS += man docs
+endif
TEST_APP = apps/xmlsec1$(EXEEXT)
DEFAULT_CRYPTO = @XMLSEC_DEFAULT_CRYPTO@
@@ -66,6 +72,7 @@ PRECHECK_COMMANDS = \
$(NULL)
else
PRECHECK_COMMANDS= \
+ export LD_LIBRARY_PATH="$(ABS_BUILDDIR)/src/.libs:$$LD_LIBRARY_PATH" ; \
for i in $(XMLSEC_CRYPTO_LIST) ; do \
export LD_LIBRARY_PATH="$(ABS_BUILDDIR)/src/$$i/.libs:$$LD_LIBRARY_PATH" ; \
done && \
diff --git a/Makefile.in b/Makefile.in
index f35b430..ef0aed9 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -89,6 +89,8 @@ PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
+ at XMLSEC_APPS_TRUE@am__append_1 = apps
+ at XMLSEC_DOCS_TRUE@am__append_2 = man docs
subdir = .
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
@@ -194,7 +196,7 @@ am__define_uniq_tagged_files = \
ETAGS = etags
CTAGS = ctags
CSCOPE = cscope
-DIST_SUBDIRS = $(SUBDIRS)
+DIST_SUBDIRS = include src apps man docs
am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/config.h.in \
$(srcdir)/xmlsec-config.in $(srcdir)/xmlsec-gcrypt.pc.in \
$(srcdir)/xmlsec-gnutls.pc.in $(srcdir)/xmlsec-nss.pc.in \
@@ -306,6 +308,7 @@ LIBXSLT_PC_FILE_COND = @LIBXSLT_PC_FILE_COND@
LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MAN2HTML = @MAN2HTML@
@@ -353,6 +356,7 @@ SHELL = @SHELL@
STRIP = @STRIP@
TAR = @TAR@
VERSION = @VERSION@
+XMLSEC_APPS = @XMLSEC_APPS@
XMLSEC_APP_DEFINES = @XMLSEC_APP_DEFINES@
XMLSEC_CFLAGS = @XMLSEC_CFLAGS@
XMLSEC_CORE_CFLAGS = @XMLSEC_CORE_CFLAGS@
@@ -369,6 +373,7 @@ XMLSEC_DEFINES = @XMLSEC_DEFINES@
XMLSEC_DL_INCLUDES = @XMLSEC_DL_INCLUDES@
XMLSEC_DL_LIBS = @XMLSEC_DL_LIBS@
XMLSEC_DOCDIR = @XMLSEC_DOCDIR@
+XMLSEC_DOCS = @XMLSEC_DOCS@
XMLSEC_EXTRA_LDFLAGS = @XMLSEC_EXTRA_LDFLAGS@
XMLSEC_GCRYPT_CFLAGS = @XMLSEC_GCRYPT_CFLAGS@
XMLSEC_GCRYPT_LIBS = @XMLSEC_GCRYPT_LIBS@
@@ -458,6 +463,7 @@ pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
+runstatedir = @runstatedir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
@@ -468,7 +474,7 @@ top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
NULL =
SAFE_VERSION = @XMLSEC_VERSION_SAFE@
-SUBDIRS = include src apps man docs
+SUBDIRS = include src $(am__append_1) $(am__append_2)
TEST_APP = apps/xmlsec1$(EXEEXT)
DEFAULT_CRYPTO = @XMLSEC_DEFAULT_CRYPTO@
bin_SCRIPTS = xmlsec1-config
@@ -525,6 +531,7 @@ EXTRA_CLEAN = \
ABS_SRCDIR = @abs_srcdir@
ABS_BUILDDIR = @abs_builddir@
@XMLSEC_NO_APPS_CRYPTO_DYNAMIC_LOADING_FALSE at PRECHECK_COMMANDS = \
+ at XMLSEC_NO_APPS_CRYPTO_DYNAMIC_LOADING_FALSE@ export LD_LIBRARY_PATH="$(ABS_BUILDDIR)/src/.libs:$$LD_LIBRARY_PATH" ; \
@XMLSEC_NO_APPS_CRYPTO_DYNAMIC_LOADING_FALSE@ for i in $(XMLSEC_CRYPTO_LIST) ; do \
@XMLSEC_NO_APPS_CRYPTO_DYNAMIC_LOADING_FALSE@ export LD_LIBRARY_PATH="$(ABS_BUILDDIR)/src/$$i/.libs:$$LD_LIBRARY_PATH" ; \
@XMLSEC_NO_APPS_CRYPTO_DYNAMIC_LOADING_FALSE@ done && \
diff --git a/aclocal.m4 b/aclocal.m4
index e538221..8798bb5 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -20,32 +20,63 @@ You have another version of autoconf. It may work, but is not guaranteed to.
If you have problems, you may need to regenerate the build system entirely.
To do so, use the procedure documented by the package, typically 'autoreconf'.])])
-# pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*-
-# serial 1 (pkg-config-0.24)
-#
-# Copyright © 2004 Scott James Remnant <scott at netsplit.com>.
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program 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
-# General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-#
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-# PKG_PROG_PKG_CONFIG([MIN-VERSION])
-# ----------------------------------
+dnl pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*-
+dnl serial 11 (pkg-config-0.29.1)
+dnl
+dnl Copyright © 2004 Scott James Remnant <scott at netsplit.com>.
+dnl Copyright © 2012-2015 Dan Nicholson <dbn.lists at gmail.com>
+dnl
+dnl This program is free software; you can redistribute it and/or modify
+dnl it under the terms of the GNU General Public License as published by
+dnl the Free Software Foundation; either version 2 of the License, or
+dnl (at your option) any later version.
+dnl
+dnl This program is distributed in the hope that it will be useful, but
+dnl WITHOUT ANY WARRANTY; without even the implied warranty of
+dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+dnl General Public License for more details.
+dnl
+dnl You should have received a copy of the GNU General Public License
+dnl along with this program; if not, write to the Free Software
+dnl Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+dnl 02111-1307, USA.
+dnl
+dnl As a special exception to the GNU General Public License, if you
+dnl distribute this file as part of a program that contains a
+dnl configuration script generated by Autoconf, you may include it under
+dnl the same distribution terms that you use for the rest of that
+dnl program.
+
+dnl PKG_PREREQ(MIN-VERSION)
+dnl -----------------------
+dnl Since: 0.29
+dnl
+dnl Verify that the version of the pkg-config macros are at least
+dnl MIN-VERSION. Unlike PKG_PROG_PKG_CONFIG, which checks the user's
+dnl installed version of pkg-config, this checks the developer's version
+dnl of pkg.m4 when generating configure.
+dnl
+dnl To ensure that this macro is defined, also add:
+dnl m4_ifndef([PKG_PREREQ],
+dnl [m4_fatal([must install pkg-config 0.29 or later before running autoconf/autogen])])
+dnl
+dnl See the "Since" comment for each macro you use to see what version
+dnl of the macros you require.
+m4_defun([PKG_PREREQ],
+[m4_define([PKG_MACROS_VERSION], [0.29.1])
+m4_if(m4_version_compare(PKG_MACROS_VERSION, [$1]), -1,
+ [m4_fatal([pkg.m4 version $1 or higher is required but ]PKG_MACROS_VERSION[ found])])
+])dnl PKG_PREREQ
+
+dnl PKG_PROG_PKG_CONFIG([MIN-VERSION])
+dnl ----------------------------------
+dnl Since: 0.16
+dnl
+dnl Search for the pkg-config tool and set the PKG_CONFIG variable to
+dnl first found in the path. Checks that the version of pkg-config found
+dnl is at least MIN-VERSION. If MIN-VERSION is not specified, 0.9.0 is
+dnl used since that's the first version where most current features of
+dnl pkg-config existed.
AC_DEFUN([PKG_PROG_PKG_CONFIG],
[m4_pattern_forbid([^_?PKG_[A-Z_]+$])
m4_pattern_allow([^PKG_CONFIG(_(PATH|LIBDIR|SYSROOT_DIR|ALLOW_SYSTEM_(CFLAGS|LIBS)))?$])
@@ -67,18 +98,19 @@ if test -n "$PKG_CONFIG"; then
PKG_CONFIG=""
fi
fi[]dnl
-])# PKG_PROG_PKG_CONFIG
+])dnl PKG_PROG_PKG_CONFIG
-# PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
-#
-# Check to see whether a particular set of modules exists. Similar
-# to PKG_CHECK_MODULES(), but does not set variables or print errors.
-#
-# Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG])
-# only at the first occurence in configure.ac, so if the first place
-# it's called might be skipped (such as if it is within an "if", you
-# have to call PKG_CHECK_EXISTS manually
-# --------------------------------------------------------------
+dnl PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
+dnl -------------------------------------------------------------------
+dnl Since: 0.18
+dnl
+dnl Check to see whether a particular set of modules exists. Similar to
+dnl PKG_CHECK_MODULES(), but does not set variables or print errors.
+dnl
+dnl Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG])
+dnl only at the first occurence in configure.ac, so if the first place
+dnl it's called might be skipped (such as if it is within an "if", you
+dnl have to call PKG_CHECK_EXISTS manually
AC_DEFUN([PKG_CHECK_EXISTS],
[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
if test -n "$PKG_CONFIG" && \
@@ -88,8 +120,10 @@ m4_ifvaln([$3], [else
$3])dnl
fi])
-# _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES])
-# ---------------------------------------------
+dnl _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES])
+dnl ---------------------------------------------
+dnl Internal wrapper calling pkg-config via PKG_CONFIG and setting
+dnl pkg_failed based on the result.
m4_define([_PKG_CONFIG],
[if test -n "$$1"; then
pkg_cv_[]$1="$$1"
@@ -101,10 +135,11 @@ m4_define([_PKG_CONFIG],
else
pkg_failed=untried
fi[]dnl
-])# _PKG_CONFIG
+])dnl _PKG_CONFIG
-# _PKG_SHORT_ERRORS_SUPPORTED
-# -----------------------------
+dnl _PKG_SHORT_ERRORS_SUPPORTED
+dnl ---------------------------
+dnl Internal check to see if pkg-config supports short errors.
AC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED],
[AC_REQUIRE([PKG_PROG_PKG_CONFIG])
if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
@@ -112,19 +147,17 @@ if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
else
_pkg_short_errors_supported=no
fi[]dnl
-])# _PKG_SHORT_ERRORS_SUPPORTED
+])dnl _PKG_SHORT_ERRORS_SUPPORTED
-# PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND],
-# [ACTION-IF-NOT-FOUND])
-#
-#
-# Note that if there is a possibility the first call to
-# PKG_CHECK_MODULES might not happen, you should be sure to include an
-# explicit call to PKG_PROG_PKG_CONFIG in your configure.ac
-#
-#
-# --------------------------------------------------------------
+dnl PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND],
+dnl [ACTION-IF-NOT-FOUND])
+dnl --------------------------------------------------------------
+dnl Since: 0.4.0
+dnl
+dnl Note that if there is a possibility the first call to
+dnl PKG_CHECK_MODULES might not happen, you should be sure to include an
+dnl explicit call to PKG_PROG_PKG_CONFIG in your configure.ac
AC_DEFUN([PKG_CHECK_MODULES],
[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl
@@ -178,16 +211,40 @@ else
AC_MSG_RESULT([yes])
$3
fi[]dnl
-])# PKG_CHECK_MODULES
+])dnl PKG_CHECK_MODULES
-# PKG_INSTALLDIR(DIRECTORY)
-# -------------------------
-# Substitutes the variable pkgconfigdir as the location where a module
-# should install pkg-config .pc files. By default the directory is
-# $libdir/pkgconfig, but the default can be changed by passing
-# DIRECTORY. The user can override through the --with-pkgconfigdir
-# parameter.
+dnl PKG_CHECK_MODULES_STATIC(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND],
+dnl [ACTION-IF-NOT-FOUND])
+dnl ---------------------------------------------------------------------
+dnl Since: 0.29
+dnl
+dnl Checks for existence of MODULES and gathers its build flags with
+dnl static libraries enabled. Sets VARIABLE-PREFIX_CFLAGS from --cflags
+dnl and VARIABLE-PREFIX_LIBS from --libs.
+dnl
+dnl Note that if there is a possibility the first call to
+dnl PKG_CHECK_MODULES_STATIC might not happen, you should be sure to
+dnl include an explicit call to PKG_PROG_PKG_CONFIG in your
+dnl configure.ac.
+AC_DEFUN([PKG_CHECK_MODULES_STATIC],
+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
+_save_PKG_CONFIG=$PKG_CONFIG
+PKG_CONFIG="$PKG_CONFIG --static"
+PKG_CHECK_MODULES($@)
+PKG_CONFIG=$_save_PKG_CONFIG[]dnl
+])dnl PKG_CHECK_MODULES_STATIC
+
+
+dnl PKG_INSTALLDIR([DIRECTORY])
+dnl -------------------------
+dnl Since: 0.27
+dnl
+dnl Substitutes the variable pkgconfigdir as the location where a module
+dnl should install pkg-config .pc files. By default the directory is
+dnl $libdir/pkgconfig, but the default can be changed by passing
+dnl DIRECTORY. The user can override through the --with-pkgconfigdir
+dnl parameter.
AC_DEFUN([PKG_INSTALLDIR],
[m4_pushdef([pkg_default], [m4_default([$1], ['${libdir}/pkgconfig'])])
m4_pushdef([pkg_description],
@@ -198,16 +255,18 @@ AC_ARG_WITH([pkgconfigdir],
AC_SUBST([pkgconfigdir], [$with_pkgconfigdir])
m4_popdef([pkg_default])
m4_popdef([pkg_description])
-]) dnl PKG_INSTALLDIR
+])dnl PKG_INSTALLDIR
-# PKG_NOARCH_INSTALLDIR(DIRECTORY)
-# -------------------------
-# Substitutes the variable noarch_pkgconfigdir as the location where a
-# module should install arch-independent pkg-config .pc files. By
-# default the directory is $datadir/pkgconfig, but the default can be
-# changed by passing DIRECTORY. The user can override through the
-# --with-noarch-pkgconfigdir parameter.
+dnl PKG_NOARCH_INSTALLDIR([DIRECTORY])
+dnl --------------------------------
+dnl Since: 0.27
+dnl
+dnl Substitutes the variable noarch_pkgconfigdir as the location where a
+dnl module should install arch-independent pkg-config .pc files. By
+dnl default the directory is $datadir/pkgconfig, but the default can be
+dnl changed by passing DIRECTORY. The user can override through the
+dnl --with-noarch-pkgconfigdir parameter.
AC_DEFUN([PKG_NOARCH_INSTALLDIR],
[m4_pushdef([pkg_default], [m4_default([$1], ['${datadir}/pkgconfig'])])
m4_pushdef([pkg_description],
@@ -218,13 +277,15 @@ AC_ARG_WITH([noarch-pkgconfigdir],
AC_SUBST([noarch_pkgconfigdir], [$with_noarch_pkgconfigdir])
m4_popdef([pkg_default])
m4_popdef([pkg_description])
-]) dnl PKG_NOARCH_INSTALLDIR
+])dnl PKG_NOARCH_INSTALLDIR
-# PKG_CHECK_VAR(VARIABLE, MODULE, CONFIG-VARIABLE,
-# [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
-# -------------------------------------------
-# Retrieves the value of the pkg-config variable for the given module.
+dnl PKG_CHECK_VAR(VARIABLE, MODULE, CONFIG-VARIABLE,
+dnl [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
+dnl -------------------------------------------
+dnl Since: 0.28
+dnl
+dnl Retrieves the value of the pkg-config variable for the given module.
AC_DEFUN([PKG_CHECK_VAR],
[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
AC_ARG_VAR([$1], [value of $3 for $2, overriding pkg-config])dnl
@@ -233,7 +294,7 @@ _PKG_CONFIG([$1], [variable="][$3]["], [$2])
AS_VAR_COPY([$1], [pkg_cv_][$1])
AS_VAR_IF([$1], [""], [$5], [$4])dnl
-])# PKG_CHECK_VAR
+])dnl PKG_CHECK_VAR
# Copyright (C) 2002-2014 Free Software Foundation, Inc.
#
diff --git a/apps/Makefile.in b/apps/Makefile.in
index 6561820..b4b0b72 100644
--- a/apps/Makefile.in
+++ b/apps/Makefile.in
@@ -248,6 +248,7 @@ LIBXSLT_PC_FILE_COND = @LIBXSLT_PC_FILE_COND@
LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MAN2HTML = @MAN2HTML@
@@ -295,6 +296,7 @@ SHELL = @SHELL@
STRIP = @STRIP@
TAR = @TAR@
VERSION = @VERSION@
+XMLSEC_APPS = @XMLSEC_APPS@
XMLSEC_APP_DEFINES = @XMLSEC_APP_DEFINES@
XMLSEC_CFLAGS = @XMLSEC_CFLAGS@
XMLSEC_CORE_CFLAGS = @XMLSEC_CORE_CFLAGS@
@@ -311,6 +313,7 @@ XMLSEC_DEFINES = @XMLSEC_DEFINES@
XMLSEC_DL_INCLUDES = @XMLSEC_DL_INCLUDES@
XMLSEC_DL_LIBS = @XMLSEC_DL_LIBS@
XMLSEC_DOCDIR = @XMLSEC_DOCDIR@
+XMLSEC_DOCS = @XMLSEC_DOCS@
XMLSEC_EXTRA_LDFLAGS = @XMLSEC_EXTRA_LDFLAGS@
XMLSEC_GCRYPT_CFLAGS = @XMLSEC_GCRYPT_CFLAGS@
XMLSEC_GCRYPT_LIBS = @XMLSEC_GCRYPT_LIBS@
@@ -400,6 +403,7 @@ pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
+runstatedir = @runstatedir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
diff --git a/apps/crypto.c b/apps/crypto.c
index 1e53bc7..cb23f5b 100644
--- a/apps/crypto.c
+++ b/apps/crypto.c
@@ -23,19 +23,11 @@
int
xmlSecAppCryptoInit(const char* config) {
if(xmlSecCryptoAppInit(config) < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecCryptoAppInit",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ fprintf(stderr, "Error: xmlSecCryptoAppInit failed\n");
return(-1);
}
if(xmlSecCryptoInit() < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecCryptoInit",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ fprintf(stderr, "Error: xmlSecCryptoInit failed\n");
return(-1);
}
@@ -45,20 +37,12 @@ xmlSecAppCryptoInit(const char* config) {
int
xmlSecAppCryptoShutdown(void) {
if(xmlSecCryptoShutdown() < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecCryptoShutdown",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ fprintf(stderr, "Error: xmlSecCryptoShutdown failed\n");
return(-1);
}
if(xmlSecCryptoAppShutdown() < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecCryptoAppShutdown",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ fprintf(stderr, "Error: xmlSecCryptoAppShutdown failed\n");
return(-1);
}
return(0);
@@ -115,24 +99,16 @@ xmlSecAppCryptoSimpleKeysMngrKeyAndCertsLoad(xmlSecKeysMngrPtr mngr,
key = xmlSecCryptoAppKeyLoad(files, format, pwd,
xmlSecCryptoAppGetDefaultPwdCallback(), (void*)files);
if(key == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecCryptoAppKeyLoad",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "uri=%s",
- xmlSecErrorsSafeString(files));
+ fprintf(stderr, "Error: xmlSecCryptoAppKeyLoad failed: file=%s\n",
+ xmlSecErrorsSafeString(files));
return(-1);
}
if(name != NULL) {
ret = xmlSecKeySetName(key, BAD_CAST name);
- if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecKeySetName",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "name=%s",
- xmlSecErrorsSafeString(name));
+ if(ret < 0) {
+ fprintf(stderr, "Error: xmlSecKeySetName failed: name=%s\n",
+ xmlSecErrorsSafeString(name));
xmlSecKeyDestroy(key);
return(-1);
}
@@ -141,13 +117,9 @@ xmlSecAppCryptoSimpleKeysMngrKeyAndCertsLoad(xmlSecKeysMngrPtr mngr,
#ifndef XMLSEC_NO_X509
for(files += strlen(files) + 1; (files[0] != '\0'); files += strlen(files) + 1) {
ret = xmlSecCryptoAppKeyCertLoad(key, files, format);
- if(ret < 0){
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecCryptoAppKeyCertLoad",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "uri=%s",
- xmlSecErrorsSafeString(files));
+ if(ret < 0) {
+ fprintf(stderr, "Error: xmlSecCryptoAppKeyCertLoad failed: file=%s\n",
+ xmlSecErrorsSafeString(files));
xmlSecKeyDestroy(key);
return(-1);
}
@@ -155,22 +127,14 @@ xmlSecAppCryptoSimpleKeysMngrKeyAndCertsLoad(xmlSecKeysMngrPtr mngr,
#else /* XMLSEC_NO_X509 */
files += strlen(files) + 1;
if(files[0] != '\0') {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "x509",
- XMLSEC_ERRORS_R_DISABLED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ fprintf(stderr, "Error: X509 support is disabled\n");
return(-1);
}
#endif /* XMLSEC_NO_X509 */
ret = xmlSecCryptoAppDefaultKeysMngrAdoptKey(mngr, key);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecCryptoAppDefaultKeysMngrAdoptKey",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ fprintf(stderr, "Error: xmlSecCryptoAppDefaultKeysMngrAdoptKey failed\n");
xmlSecKeyDestroy(key);
return(-1);
}
@@ -191,24 +155,16 @@ xmlSecAppCryptoSimpleKeysMngrPkcs12KeyLoad(xmlSecKeysMngrPtr mngr, const char *f
key = xmlSecCryptoAppKeyLoad(filename, xmlSecKeyDataFormatPkcs12, pwd,
xmlSecCryptoAppGetDefaultPwdCallback(), (void*)filename);
if(key == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecCryptoAppKeyLoad",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "filename=%s",
- xmlSecErrorsSafeString(filename));
+ fprintf(stderr, "Error: xmlSecCryptoAppKeyLoad failed: filename=%s\n",
+ xmlSecErrorsSafeString(filename));
return(-1);
}
if(name != NULL) {
ret = xmlSecKeySetName(key, BAD_CAST name);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecKeySetName",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "name=%s",
- xmlSecErrorsSafeString(name));
+ fprintf(stderr, "Error: xmlSecKeySetName failed: name=%s\n",
+ xmlSecErrorsSafeString(name));
xmlSecKeyDestroy(key);
return(-1);
}
@@ -216,22 +172,14 @@ xmlSecAppCryptoSimpleKeysMngrPkcs12KeyLoad(xmlSecKeysMngrPtr mngr, const char *f
ret = xmlSecCryptoAppDefaultKeysMngrAdoptKey(mngr, key);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecCryptoAppDefaultKeysMngrAdoptKey",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ fprintf(stderr, "Error: xmlSecCryptoAppDefaultKeysMngrAdoptKey failed\n");
xmlSecKeyDestroy(key);
return(-1);
}
return(0);
#else /* XMLSEC_NO_X509 */
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "x509",
- XMLSEC_ERRORS_R_DISABLED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ fprintf(stderr, "Error: X509 support is disabled\n");
return(-1);
#endif /* XMLSEC_NO_X509 */
}
@@ -250,33 +198,22 @@ xmlSecAppCryptoSimpleKeysMngrBinaryKeyLoad(xmlSecKeysMngrPtr mngr, const char* k
dataId = xmlSecKeyDataIdListFindByName(xmlSecKeyDataIdsGet(), BAD_CAST keyKlass,
xmlSecKeyDataUsageAny);
if(dataId == xmlSecKeyDataIdUnknown) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecKeyDataIdListFindByName",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "name=%s",
- xmlSecErrorsSafeString(keyKlass));
- return(-1);
+ fprintf(stderr, "Error: xmlSecKeyDataIdListFindByName failed keyKlass=%s\n",
+ xmlSecErrorsSafeString(keyKlass));
+ return(-1);
}
key = xmlSecKeyReadBinaryFile(dataId, filename);
if(key == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecKeyReadBinaryFile",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ fprintf(stderr, "Error: xmlSecKeyReadBinaryFile failed filename=%s\n",
+ xmlSecErrorsSafeString(filename));
return(-1);
}
ret = xmlSecKeySetName(key, BAD_CAST name);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecKeySetName",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "name=%s",
- xmlSecErrorsSafeString(name));
+ fprintf(stderr, "Error: xmlSecKeySetName failed: name=%s\n",
+ xmlSecErrorsSafeString(name));
xmlSecKeyDestroy(key);
return(-1);
}
@@ -284,11 +221,7 @@ xmlSecAppCryptoSimpleKeysMngrBinaryKeyLoad(xmlSecKeysMngrPtr mngr, const char* k
/* finally add it to keys manager */
ret = xmlSecCryptoAppDefaultKeysMngrAdoptKey(mngr, key);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecCryptoAppDefaultKeysMngrAdoptKey",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ fprintf(stderr, "Error: xmlSecCryptoAppDefaultKeysMngrAdoptKey failed\n");
xmlSecKeyDestroy(key);
return(-1);
}
@@ -307,22 +240,14 @@ xmlSecAppCryptoSimpleKeysMngrKeyGenerate(xmlSecKeysMngrPtr mngr, const char* key
key = xmlSecAppCryptoKeyGenerate(keyKlassAndSize, name, xmlSecKeyDataTypePermanent);
if(key == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecAppCryptoSimpleKeysMngrKeyGenerate",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "name=%s",
- xmlSecErrorsSafeString(name));
+ fprintf(stderr, "Error: xmlSecAppCryptoSimpleKeysMngrKeyGenerate failed: name=%s\n",
+ xmlSecErrorsSafeString(name));
return(-1);
}
ret = xmlSecCryptoAppDefaultKeysMngrAdoptKey(mngr, key);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecCryptoAppDefaultKeysMngrAdoptKey",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ fprintf(stderr, "Error: xmlSecCryptoAppDefaultKeysMngrAdoptKey failed\n");
xmlSecKeyDestroy(key);
return(-1);
}
@@ -341,56 +266,38 @@ xmlSecAppCryptoKeyGenerate(const char* keyKlassAndSize, const char* name, xmlSec
buf = (char*) xmlStrdup(BAD_CAST keyKlassAndSize);
if(buf == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- NULL,
- XMLSEC_ERRORS_R_STRDUP_FAILED,
- "name=%s",
- xmlSecErrorsSafeString(name));
+ fprintf(stderr, "Error: xmlSecStrdupError(keyKlassAndSize) failed\n");
return(NULL);
}
/* separate key klass and size */
p = strchr(buf, '-');
if(p == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- NULL,
- XMLSEC_ERRORS_R_INVALID_DATA,
- "key size is not specified %s",
+ fprintf(stderr, "Error: key size is not specified in the key definition \"%s\"\n",
xmlSecErrorsSafeString(buf));
xmlFree(buf);
return(NULL);
}
*(p++) = '\0';
size = atoi(p);
-
+
key = xmlSecKeyGenerateByName(BAD_CAST buf, size, type);
if(key == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecKeyGenerate",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "klass=%s;size=%d",
- xmlSecErrorsSafeString(buf),
- size);
+ fprintf(stderr, "Error: xmlSecKeyGenerateByName() failed: name=%s;size=%d;type=%d\n",
+ xmlSecErrorsSafeString(buf), size, (int)type);
xmlFree(buf);
return(NULL);
}
-
+
ret = xmlSecKeySetName(key, BAD_CAST name);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecKeySetName",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "name=\"%s\"",
- xmlSecErrorsSafeString(name));
+ fprintf(stderr, "Error: xmlSecKeySetName failed: name=%s\n",
+ xmlSecErrorsSafeString(name));
xmlSecKeyDestroy(key);
xmlFree(buf);
return(NULL);
}
-
+
xmlFree(buf);
return(key);
}
diff --git a/apps/xmlsec.c b/apps/xmlsec.c
index 85cc040..e28c23e 100644
--- a/apps/xmlsec.c
+++ b/apps/xmlsec.c
@@ -512,6 +512,19 @@ static xmlSecAppCmdLineParam idAttrParam = {
NULL
};
+static xmlSecAppCmdLineParam xxeParam = {
+ xmlSecAppCmdLineTopicAll,
+ "--xxe",
+ NULL,
+ "--xxe"
+ "\n\tenable External Entity resolution."
+ "\n\tWARNING: this may allow the reading of arbitrary files and URLs,"
+ "\n\tcontrolled by the input XML document. Use with caution!",
+ xmlSecAppCmdLineParamTypeFlag,
+ xmlSecAppCmdLineParamFlagNone,
+ NULL
+};
+
/****************************************************************
*
@@ -742,6 +755,17 @@ static xmlSecAppCmdLineParam X509SkipStrictChecksParam = {
xmlSecAppCmdLineParamFlagNone,
NULL
};
+
+static xmlSecAppCmdLineParam X509DontVerifyCerts = {
+ xmlSecAppCmdLineTopicDSigCommon,
+ "--insecure",
+ NULL,
+ "--insecure"
+ "\n\tdo not verify certificates",
+ xmlSecAppCmdLineParamTypeFlag,
+ xmlSecAppCmdLineParamFlagNone,
+ NULL
+};
#endif /* XMLSEC_NO_X509 */
static xmlSecAppCmdLineParamPtr parameters[] = {
@@ -804,6 +828,7 @@ static xmlSecAppCmdLineParamPtr parameters[] = {
&verificationTimeParam,
&depthParam,
&X509SkipStrictChecksParam,
+ &X509DontVerifyCerts,
#endif /* XMLSEC_NO_X509 */
/* General configuration params */
@@ -813,6 +838,7 @@ static xmlSecAppCmdLineParamPtr parameters[] = {
&disableErrorMsgsParam,
&printCryptoErrorMsgsParam,
&helpParam,
+ &xxeParam,
/* MUST be the last one */
NULL
@@ -968,8 +994,8 @@ int main(int argc, const char **argv) {
xmlsec_crypto = tmp;
}
#else /* !defined(XMLSEC_NO_CRYPTO_DYNAMIC_LOADING) && defined(XMLSEC_CRYPTO_DYNAMIC_LOADING) */
- if((tmp != NULL) && (xmlStrcmp(BAD_CAST tmp, xmlSecGetDefaultCrypto()) != 0)) {
- fprintf(stderr, "Error: dynaimc crypto libraries loading is disabled and the only available crypto library is '%s'\n", xmlSecGetDefaultCrypto());
+ if((tmp != NULL) && (xmlStrcmp(BAD_CAST tmp, xmlSecGetDefaultCrypto()) != 0) && (xmlStrcmp(BAD_CAST tmp, BAD_CAST "default") != 0)) {
+ fprintf(stderr, "Error: dynamic xmlsec-crypto library loading is disabled and the only available crypto library is '%s'\n", xmlSecGetDefaultCrypto());
xmlSecAppPrintUsage();
goto fail;
}
@@ -988,6 +1014,11 @@ int main(int argc, const char **argv) {
goto fail;
}
+ /* enable XXE? */
+ if(xmlSecAppCmdLineParamIsSet(&xxeParam)) {
+ xmlSecSetExternalEntityLoader( NULL ); // reset to libxml2's default handler
+ }
+
/* get the "repeats" number */
if(xmlSecAppCmdLineParamIsSet(&repeatParam) &&
(xmlSecAppCmdLineParamGetInt(&repeatParam, 1) > 0)) {
@@ -1822,6 +1853,9 @@ xmlSecAppPrepareKeyInfoReadCtx(xmlSecKeyInfoCtxPtr keyInfoCtx) {
if(xmlSecAppCmdLineParamIsSet(&X509SkipStrictChecksParam)) {
keyInfoCtx->flags |= XMLSEC_KEYINFO_FLAGS_X509DATA_SKIP_STRICT_CHECKS;
}
+ if(xmlSecAppCmdLineParamIsSet(&X509DontVerifyCerts)) {
+ keyInfoCtx->flags |= XMLSEC_KEYINFO_FLAGS_X509DATA_DONT_VERIFY_CERTS;
+ }
#endif /* XMLSEC_NO_X509 */
/* read enabled key data list */
@@ -1830,21 +1864,20 @@ xmlSecAppPrepareKeyInfoReadCtx(xmlSecKeyInfoCtxPtr keyInfoCtx) {
fprintf(stderr, "Error: invalid value for option \"%s\".\n",
enabledKeyDataParam.fullName);
return(-1);
- } else {
- xmlSecKeyDataId dataId;
- const char* p;
-
- for(p = value->strListValue; (p != NULL) && ((*p) != '\0'); p += strlen(p)) {
- dataId = xmlSecKeyDataIdListFindByName(xmlSecKeyDataIdsGet(), BAD_CAST p, xmlSecKeyDataUsageAny);
- if(dataId == xmlSecKeyDataIdUnknown) {
- fprintf(stderr, "Error: key data \"%s\" is unknown.\n", p);
- return(-1);
- }
- ret = xmlSecPtrListAdd(&(keyInfoCtx->enabledKeyData), (const xmlSecPtr)dataId);
- if(ret < 0) {
- fprintf(stderr, "Error: failed to enable key data \"%s\".\n", p);
- return(-1);
- }
+ }
+ xmlSecKeyDataId dataId;
+ const char* p;
+
+ for(p = value->strListValue; (p != NULL) && ((*p) != '\0'); p += strlen(p)) {
+ dataId = xmlSecKeyDataIdListFindByName(xmlSecKeyDataIdsGet(), BAD_CAST p, xmlSecKeyDataUsageAny);
+ if(dataId == xmlSecKeyDataIdUnknown) {
+ fprintf(stderr, "Error: key data \"%s\" is unknown.\n", p);
+ return(-1);
+ }
+ ret = xmlSecPtrListAdd(&(keyInfoCtx->enabledKeyData), (const xmlSecPtr)dataId);
+ if(ret < 0) {
+ fprintf(stderr, "Error: failed to enable key data \"%s\".\n", p);
+ return(-1);
}
}
}
@@ -2299,41 +2332,40 @@ xmlSecAppXmlDataCreate(const char* filename, const xmlChar* defStartNodeName, co
idAttrParam.fullName);
xmlSecAppXmlDataDestroy(data);
return(NULL);
+ }
+ xmlChar* attrName = (value->paramNameValue != NULL) ? BAD_CAST value->paramNameValue : BAD_CAST "id";
+ xmlChar* nodeName;
+ xmlChar* nsHref;
+ xmlChar* buf;
+
+ buf = xmlStrdup(BAD_CAST value->strValue);
+ if(buf == NULL) {
+ fprintf(stderr, "Error: failed to duplicate string \"%s\"\n", value->strValue);
+ xmlSecAppXmlDataDestroy(data);
+ return(NULL);
+ }
+ nodeName = (xmlChar*)strrchr((char*)buf, ':');
+ if(nodeName != NULL) {
+ (*(nodeName++)) = '\0';
+ nsHref = buf;
} else {
- xmlChar* attrName = (value->paramNameValue != NULL) ? BAD_CAST value->paramNameValue : BAD_CAST "id";
- xmlChar* nodeName;
- xmlChar* nsHref;
- xmlChar* buf;
-
- buf = xmlStrdup(BAD_CAST value->strValue);
- if(buf == NULL) {
- fprintf(stderr, "Error: failed to duplicate string \"%s\"\n", value->strValue);
+ nodeName = buf;
+ nsHref = NULL;
+ }
+
+ /* process children first because it does not matter much but does simplify code */
+ cur = xmlSecGetNextElementNode(data->doc->children);
+ while(cur != NULL) {
+ if(xmlSecAppAddIDAttr(cur, attrName, nodeName, nsHref) < 0) {
+ fprintf(stderr, "Error: failed to add ID attribute \"%s\" for node \"%s\"\n", attrName, value->strValue);
+ xmlFree(buf);
xmlSecAppXmlDataDestroy(data);
return(NULL);
}
- nodeName = (xmlChar*)strrchr((char*)buf, ':');
- if(nodeName != NULL) {
- (*(nodeName++)) = '\0';
- nsHref = buf;
- } else {
- nodeName = buf;
- nsHref = NULL;
- }
-
- /* process children first because it does not matter much but does simplify code */
- cur = xmlSecGetNextElementNode(data->doc->children);
- while(cur != NULL) {
- if(xmlSecAppAddIDAttr(cur, attrName, nodeName, nsHref) < 0) {
- fprintf(stderr, "Error: failed to add ID attribute \"%s\" for node \"%s\"\n", attrName, value->strValue);
- xmlFree(buf);
- xmlSecAppXmlDataDestroy(data);
- return(NULL);
- }
- cur = xmlSecGetNextElementNode(cur->next);
- }
-
- xmlFree(buf);
+ cur = xmlSecGetNextElementNode(cur->next);
}
+
+ xmlFree(buf);
}
diff --git a/config.guess b/config.guess
index 1f5c50c..1659250 100755
--- a/config.guess
+++ b/config.guess
@@ -1,8 +1,8 @@
#! /bin/sh
# Attempt to guess a canonical system name.
-# Copyright 1992-2014 Free Software Foundation, Inc.
+# Copyright 1992-2015 Free Software Foundation, Inc.
-timestamp='2014-03-23'
+timestamp='2015-08-20'
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
@@ -24,12 +24,12 @@ timestamp='2014-03-23'
# program. This Exception is an additional permission under section 7
# of the GNU General Public License, version 3 ("GPLv3").
#
-# Originally written by Per Bothner.
+# Originally written by Per Bothner; maintained since 2000 by Ben Elliston.
#
# You can get the latest version of this script from:
# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
#
-# Please send patches with a ChangeLog entry to config-patches at gnu.org.
+# Please send patches to <config-patches at gnu.org>.
me=`echo "$0" | sed -e 's,.*/,,'`
@@ -50,7 +50,7 @@ version="\
GNU config.guess ($timestamp)
Originally written by Per Bothner.
-Copyright 1992-2014 Free Software Foundation, Inc.
+Copyright 1992-2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -168,20 +168,27 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
# Note: NetBSD doesn't particularly care about the vendor
# portion of the name. We always set it to "unknown".
sysctl="sysctl -n hw.machine_arch"
- UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
- /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
+ UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \
+ /sbin/$sysctl 2>/dev/null || \
+ /usr/sbin/$sysctl 2>/dev/null || \
+ echo unknown)`
case "${UNAME_MACHINE_ARCH}" in
armeb) machine=armeb-unknown ;;
arm*) machine=arm-unknown ;;
sh3el) machine=shl-unknown ;;
sh3eb) machine=sh-unknown ;;
sh5el) machine=sh5le-unknown ;;
+ earmv*)
+ arch=`echo ${UNAME_MACHINE_ARCH} | sed -e 's,^e\(armv[0-9]\).*$,\1,'`
+ endian=`echo ${UNAME_MACHINE_ARCH} | sed -ne 's,^.*\(eb\)$,\1,p'`
+ machine=${arch}${endian}-unknown
+ ;;
*) machine=${UNAME_MACHINE_ARCH}-unknown ;;
esac
# The Operating System including object format, if it has switched
# to ELF recently, or will in the future.
case "${UNAME_MACHINE_ARCH}" in
- arm*|i386|m68k|ns32k|sh3*|sparc|vax)
+ arm*|earm*|i386|m68k|ns32k|sh3*|sparc|vax)
eval $set_cc_for_build
if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
| grep -q __ELF__
@@ -197,6 +204,13 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
os=netbsd
;;
esac
+ # Determine ABI tags.
+ case "${UNAME_MACHINE_ARCH}" in
+ earm*)
+ expr='s/^earmv[0-9]/-eabi/;s/eb$//'
+ abi=`echo ${UNAME_MACHINE_ARCH} | sed -e "$expr"`
+ ;;
+ esac
# The OS release
# Debian GNU/NetBSD machines have a different userland, and
# thus, need a distinct triplet. However, they do not need
@@ -207,13 +221,13 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
release='-gnu'
;;
*)
- release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
+ release=`echo ${UNAME_RELEASE} | sed -e 's/[-_].*//' | cut -d. -f1,2`
;;
esac
# Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
# contains redundant information, the shorter form:
# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
- echo "${machine}-${os}${release}"
+ echo "${machine}-${os}${release}${abi}"
exit ;;
*:Bitrig:*:*)
UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'`
@@ -235,6 +249,9 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
*:MirBSD:*:*)
echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
exit ;;
+ *:Sortix:*:*)
+ echo ${UNAME_MACHINE}-unknown-sortix
+ exit ;;
alpha:OSF1:*:*)
case $UNAME_RELEASE in
*4.0)
@@ -579,8 +596,9 @@ EOF
else
IBM_ARCH=powerpc
fi
- if [ -x /usr/bin/oslevel ] ; then
- IBM_REV=`/usr/bin/oslevel`
+ if [ -x /usr/bin/lslpp ] ; then
+ IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc |
+ awk -F: '{ print $3 }' | sed s/[0-9]*$/0/`
else
IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
fi
@@ -932,6 +950,9 @@ EOF
crisv32:Linux:*:*)
echo ${UNAME_MACHINE}-axis-linux-${LIBC}
exit ;;
+ e2k:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ exit ;;
frv:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
@@ -1020,7 +1041,7 @@ EOF
echo ${UNAME_MACHINE}-dec-linux-${LIBC}
exit ;;
x86_64:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ echo ${UNAME_MACHINE}-pc-linux-${LIBC}
exit ;;
xtensa*:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
diff --git a/config.h.in b/config.h.in
index 83d8e1e..9723687 100644
--- a/config.h.in
+++ b/config.h.in
@@ -96,8 +96,7 @@
/* Define to 1 if you have the `vsprintf' function. */
#undef HAVE_VSPRINTF
-/* Define to the sub-directory in which libtool stores uninstalled libraries.
- */
+/* Define to the sub-directory where libtool stores uninstalled libraries. */
#undef LT_OBJDIR
/* Name of package */
diff --git a/config.sub b/config.sub
index bba4efb..1acc966 100755
--- a/config.sub
+++ b/config.sub
@@ -1,8 +1,8 @@
#! /bin/sh
# Configuration validation subroutine script.
-# Copyright 1992-2014 Free Software Foundation, Inc.
+# Copyright 1992-2015 Free Software Foundation, Inc.
-timestamp='2014-09-11'
+timestamp='2015-08-20'
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
@@ -25,7 +25,7 @@ timestamp='2014-09-11'
# of the GNU General Public License, version 3 ("GPLv3").
-# Please send patches with a ChangeLog entry to config-patches at gnu.org.
+# Please send patches to <config-patches at gnu.org>.
#
# Configuration subroutine to validate and canonicalize a configuration type.
# Supply the specified configuration type as an argument.
@@ -68,7 +68,7 @@ Report bugs and patches to <config-patches at gnu.org>."
version="\
GNU config.sub ($timestamp)
-Copyright 1992-2014 Free Software Foundation, Inc.
+Copyright 1992-2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -117,7 +117,7 @@ maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
case $maybe_os in
nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
- knetbsd*-gnu* | netbsd*-gnu* | \
+ knetbsd*-gnu* | netbsd*-gnu* | netbsd*-eabi* | \
kopensolaris*-gnu* | \
storm-chaos* | os2-emx* | rtmk-nova*)
os=-$maybe_os
@@ -255,12 +255,13 @@ case $basic_machine in
| arc | arceb \
| arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \
| avr | avr32 \
+ | ba \
| be32 | be64 \
| bfin \
| c4x | c8051 | clipper \
| d10v | d30v | dlx | dsp16xx \
- | epiphany \
- | fido | fr30 | frv \
+ | e2k | epiphany \
+ | fido | fr30 | frv | ft32 \
| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
| hexagon \
| i370 | i860 | i960 | ia64 \
@@ -305,7 +306,7 @@ case $basic_machine in
| riscv32 | riscv64 \
| rl78 | rx \
| score \
- | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
+ | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[234]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
| sh64 | sh64le \
| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
@@ -313,6 +314,7 @@ case $basic_machine in
| tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
| ubicom32 \
| v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
+ | visium \
| we32k \
| x86 | xc16x | xstormy16 | xtensa \
| z8k | z80)
@@ -327,6 +329,9 @@ case $basic_machine in
c6x)
basic_machine=tic6x-unknown
;;
+ leon|leon[3-9])
+ basic_machine=sparc-$basic_machine
+ ;;
m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip)
basic_machine=$basic_machine-unknown
os=-none
@@ -372,12 +377,13 @@ case $basic_machine in
| alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \
| arm-* | armbe-* | armle-* | armeb-* | armv*-* \
| avr-* | avr32-* \
+ | ba-* \
| be32-* | be64-* \
| bfin-* | bs2000-* \
| c[123]* | c30-* | [cjt]90-* | c4x-* \
| c8051-* | clipper-* | craynv-* | cydra-* \
| d10v-* | d30v-* | dlx-* \
- | elxsi-* \
+ | e2k-* | elxsi-* \
| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
| h8300-* | h8500-* \
| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
@@ -424,12 +430,13 @@ case $basic_machine in
| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
| pyramid-* \
+ | riscv32-* | riscv64-* \
| rl78-* | romp-* | rs6000-* | rx-* \
| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
| sparclite-* \
- | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \
+ | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx*-* \
| tahoe-* \
| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
| tile*-* \
@@ -437,6 +444,7 @@ case $basic_machine in
| ubicom32-* \
| v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
| vax-* \
+ | visium-* \
| we32k-* \
| x86-* | x86_64-* | xc16x-* | xps100-* \
| xstormy16-* | xtensa*-* \
@@ -513,6 +521,9 @@ case $basic_machine in
basic_machine=i386-pc
os=-aros
;;
+ asmjs)
+ basic_machine=asmjs-unknown
+ ;;
aux)
basic_machine=m68k-apple
os=-aux
@@ -774,6 +785,9 @@ case $basic_machine in
basic_machine=m68k-isi
os=-sysv
;;
+ leon-*|leon[3-9]-*)
+ basic_machine=sparc-`echo $basic_machine | sed 's/-.*//'`
+ ;;
m68knommu)
basic_machine=m68k-unknown
os=-linux
@@ -1365,7 +1379,7 @@ case $os in
| -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
| -sym* | -kopensolaris* | -plan9* \
| -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
- | -aos* | -aros* \
+ | -aos* | -aros* | -cloudabi* | -sortix* \
| -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
| -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
| -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
diff --git a/configure b/configure
index 9ff0eee..39fbe5f 100755
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for xmlsec1 1.2.23.
+# Generated by GNU Autoconf 2.69 for xmlsec1 1.2.24.
#
# Report bugs to <http://www.aleksey.com/xmlsec>.
#
@@ -590,8 +590,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='xmlsec1'
PACKAGE_TARNAME='xmlsec1'
-PACKAGE_VERSION='1.2.23'
-PACKAGE_STRING='xmlsec1 1.2.23'
+PACKAGE_VERSION='1.2.24'
+PACKAGE_STRING='xmlsec1 1.2.24'
PACKAGE_BUGREPORT='http://www.aleksey.com/xmlsec'
PACKAGE_URL=''
@@ -669,6 +669,12 @@ XMLSEC_DL_INCLUDES
XMLSEC_NO_CRYPTO_DYNAMIC_LOADING
XMLSEC_NO_CRYPTO_DYNAMIC_LOADING_FALSE
XMLSEC_NO_CRYPTO_DYNAMIC_LOADING_TRUE
+XMLSEC_APPS
+XMLSEC_APPS_FALSE
+XMLSEC_APPS_TRUE
+XMLSEC_DOCS
+XMLSEC_DOCS_FALSE
+XMLSEC_DOCS_TRUE
XMLSEC_NO_XMLENC
XMLSEC_NO_XMLENC_FALSE
XMLSEC_NO_XMLENC_TRUE
@@ -771,8 +777,6 @@ LIBXML_CFLAGS
PKG_CONFIG_LIBDIR
PKG_CONFIG_PATH
PKG_CONFIG
-SHAREDLIB_HACK_FALSE
-SHAREDLIB_HACK_TRUE
BUILD_API_DOCS_FALSE
BUILD_API_DOCS_TRUE
BUILD_MAN_DOCS_FALSE
@@ -797,6 +801,7 @@ TAR
MV
CP
RM
+LT_SYS_LIBRARY_PATH
OTOOL64
OTOOL
LIPO
@@ -900,6 +905,7 @@ infodir
docdir
oldincludedir
includedir
+runstatedir
localstatedir
sharedstatedir
sysconfdir
@@ -929,6 +935,7 @@ enable_shared
enable_static
with_pic
enable_fast_install
+with_aix_soname
with_gnu_ld
with_sysroot
enable_libtool_lock
@@ -965,6 +972,8 @@ enable_aes
enable_gost
enable_xmldsig
enable_xmlenc
+enable_docs
+enable_apps
enable_crypto_dl
enable_apps_crypto_dl
with_html_dir
@@ -984,6 +993,7 @@ LDFLAGS
LIBS
CPPFLAGS
CPP
+LT_SYS_LIBRARY_PATH
PKG_CONFIG
PKG_CONFIG_PATH
PKG_CONFIG_LIBDIR
@@ -1037,6 +1047,7 @@ datadir='${datarootdir}'
sysconfdir='${prefix}/etc'
sharedstatedir='${prefix}/com'
localstatedir='${prefix}/var'
+runstatedir='${localstatedir}/run'
includedir='${prefix}/include'
oldincludedir='/usr/include'
docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
@@ -1289,6 +1300,15 @@ do
| -silent | --silent | --silen | --sile | --sil)
silent=yes ;;
+ -runstatedir | --runstatedir | --runstatedi | --runstated \
+ | --runstate | --runstat | --runsta | --runst | --runs \
+ | --run | --ru | --r)
+ ac_prev=runstatedir ;;
+ -runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \
+ | --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \
+ | --run=* | --ru=* | --r=*)
+ runstatedir=$ac_optarg ;;
+
-sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
ac_prev=sbindir ;;
-sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
@@ -1426,7 +1446,7 @@ fi
for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
datadir sysconfdir sharedstatedir localstatedir includedir \
oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
- libdir localedir mandir
+ libdir localedir mandir runstatedir
do
eval ac_val=\$$ac_var
# Remove trailing slashes.
@@ -1539,7 +1559,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures xmlsec1 1.2.23 to adapt to many kinds of systems.
+\`configure' configures xmlsec1 1.2.24 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1579,6 +1599,7 @@ Fine tuning of the installation directories:
--sysconfdir=DIR read-only single-machine data [PREFIX/etc]
--sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
--localstatedir=DIR modifiable single-machine data [PREFIX/var]
+ --runstatedir=DIR modifiable per-process data [LOCALSTATEDIR/run]
--libdir=DIR object code libraries [EPREFIX/lib]
--includedir=DIR C header files [PREFIX/include]
--oldincludedir=DIR C header files for non-gcc [/usr/include]
@@ -1609,7 +1630,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of xmlsec1 1.2.23:";;
+ short | recursive ) echo "Configuration of xmlsec1 1.2.24:";;
esac
cat <<\_ACEOF
@@ -1653,6 +1674,8 @@ Optional Features:
--enable-gost2012 enable EXPERMIENTAL GOST2012 support (no)
--enable-xmldsig enable XMLDSig support (yes)
--enable-xmlenc enable XMLEnc support (yes)
+ --enable-docs enable documentation (yes)
+ --enable-apps enable applications (yes)
--enable-crypto-dl enable dynamic loading support for xmlsec-crypto libraries (yes)
--enable-apps-crypto-dl enable dynamic loading support for xmlsec-crypto libraries in xmlsec command line tool (yes)
--enable-skm enable Simple Keys Manager testing (yes)
@@ -1667,9 +1690,12 @@ Optional Packages:
--without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
--with-pic[=PKGS] try to use only PIC/non-PIC objects [default=use
both]
+ --with-aix-soname=aix|svr4|both
+ shared library versioning (aka "SONAME") variant to
+ provide on AIX, [default=aix].
--with-gnu-ld assume the C compiler uses GNU ld [default=no]
- --with-sysroot=DIR Search for dependent libraries within DIR
- (or the compiler's sysroot if not specified).
+ --with-sysroot[=DIR] Search for dependent libraries within DIR (or the
+ compiler's sysroot if not specified).
--with-libxml=PFX libxml2 location
--with-libxml-src=PFX not installed yet libxml2 location
@@ -1697,6 +1723,8 @@ Some influential environment variables:
CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
you have headers in a nonstandard directory <include dir>
CPP C preprocessor
+ LT_SYS_LIBRARY_PATH
+ User-defined run-time library search path.
PKG_CONFIG path to pkg-config utility
PKG_CONFIG_PATH
directories to add to pkg-config's search path
@@ -1788,7 +1816,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-xmlsec1 configure 1.2.23
+xmlsec1 configure 1.2.24
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2340,7 +2368,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by xmlsec1 $as_me 1.2.23, which was
+It was created by xmlsec1 $as_me 1.2.24, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@@ -2692,7 +2720,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
XMLSEC_PACKAGE=xmlsec1
XMLSEC_VERSION_MAJOR=1
XMLSEC_VERSION_MINOR=2
-XMLSEC_VERSION_SUBMINOR=23
+XMLSEC_VERSION_SUBMINOR=24
XMLSEC_VERSION="$XMLSEC_VERSION_MAJOR.$XMLSEC_VERSION_MINOR.$XMLSEC_VERSION_SUBMINOR"
XMLSEC_VERSION_INFO=`echo $XMLSEC_VERSION | awk -F. '{ printf "%d:%d:%d", $1+$2, $3, $2 }'`
XMLSEC_VERSION_SAFE=`echo $XMLSEC_VERSION | sed 's/\./_/g'`
@@ -3294,7 +3322,7 @@ fi
# Define the identity of the package.
PACKAGE='xmlsec1'
- VERSION='1.2.23'
+ VERSION='1.2.24'
cat >>confdefs.h <<_ACEOF
@@ -5001,8 +5029,8 @@ esac
-macro_version='2.4.2'
-macro_revision='1.3337'
+macro_version='2.4.6'
+macro_revision='2.4.6'
@@ -5016,7 +5044,7 @@ macro_revision='1.3337'
-ltmain="$ac_aux_dir/ltmain.sh"
+ltmain=$ac_aux_dir/ltmain.sh
# Backslashify metacharacters that are still active within
# double-quoted strings.
@@ -5065,7 +5093,7 @@ func_echo_all ()
$ECHO ""
}
-case "$ECHO" in
+case $ECHO in
printf*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: printf" >&5
$as_echo "printf" >&6; } ;;
print*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: print -r" >&5
@@ -5258,19 +5286,19 @@ test -z "$GREP" && GREP=grep
# Check whether --with-gnu-ld was given.
if test "${with_gnu_ld+set}" = set; then :
- withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes
+ withval=$with_gnu_ld; test no = "$withval" || with_gnu_ld=yes
else
with_gnu_ld=no
fi
ac_prog=ld
-if test "$GCC" = yes; then
+if test yes = "$GCC"; then
# Check if gcc -print-prog-name=ld gives a path.
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5
$as_echo_n "checking for ld used by $CC... " >&6; }
case $host in
*-*-mingw*)
- # gcc leaves a trailing carriage return which upsets mingw
+ # gcc leaves a trailing carriage return, which upsets mingw
ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
*)
ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
@@ -5284,7 +5312,7 @@ $as_echo_n "checking for ld used by $CC... " >&6; }
while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
done
- test -z "$LD" && LD="$ac_prog"
+ test -z "$LD" && LD=$ac_prog
;;
"")
# If it fails, then pretend we aren't using GCC.
@@ -5295,7 +5323,7 @@ $as_echo_n "checking for ld used by $CC... " >&6; }
with_gnu_ld=unknown
;;
esac
-elif test "$with_gnu_ld" = yes; then
+elif test yes = "$with_gnu_ld"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5
$as_echo_n "checking for GNU ld... " >&6; }
else
@@ -5306,32 +5334,32 @@ if ${lt_cv_path_LD+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -z "$LD"; then
- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+ lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
for ac_dir in $PATH; do
- IFS="$lt_save_ifs"
+ IFS=$lt_save_ifs
test -z "$ac_dir" && ac_dir=.
if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
- lt_cv_path_LD="$ac_dir/$ac_prog"
+ lt_cv_path_LD=$ac_dir/$ac_prog
# Check to see if the program is GNU ld. I'd rather use --version,
# but apparently some variants of GNU ld only accept -v.
# Break only if it was the GNU/non-GNU ld that we prefer.
case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
*GNU* | *'with BFD'*)
- test "$with_gnu_ld" != no && break
+ test no != "$with_gnu_ld" && break
;;
*)
- test "$with_gnu_ld" != yes && break
+ test yes != "$with_gnu_ld" && break
;;
esac
fi
done
- IFS="$lt_save_ifs"
+ IFS=$lt_save_ifs
else
- lt_cv_path_LD="$LD" # Let the user override the test with a path.
+ lt_cv_path_LD=$LD # Let the user override the test with a path.
fi
fi
-LD="$lt_cv_path_LD"
+LD=$lt_cv_path_LD
if test -n "$LD"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5
$as_echo "$LD" >&6; }
@@ -5374,33 +5402,38 @@ if ${lt_cv_path_NM+:} false; then :
else
if test -n "$NM"; then
# Let the user override the test.
- lt_cv_path_NM="$NM"
+ lt_cv_path_NM=$NM
else
- lt_nm_to_check="${ac_tool_prefix}nm"
+ lt_nm_to_check=${ac_tool_prefix}nm
if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
lt_nm_to_check="$lt_nm_to_check nm"
fi
for lt_tmp_nm in $lt_nm_to_check; do
- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+ lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
- IFS="$lt_save_ifs"
+ IFS=$lt_save_ifs
test -z "$ac_dir" && ac_dir=.
- tmp_nm="$ac_dir/$lt_tmp_nm"
- if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
+ tmp_nm=$ac_dir/$lt_tmp_nm
+ if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext"; then
# Check to see if the nm accepts a BSD-compat flag.
- # Adding the `sed 1q' prevents false positives on HP-UX, which says:
+ # Adding the 'sed 1q' prevents false positives on HP-UX, which says:
# nm: unknown option "B" ignored
# Tru64's nm complains that /dev/null is an invalid object file
- case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
- */dev/null* | *'Invalid file or object type'*)
+ # MSYS converts /dev/null to NUL, MinGW nm treats NUL as empty
+ case $build_os in
+ mingw*) lt_bad_file=conftest.nm/nofile ;;
+ *) lt_bad_file=/dev/null ;;
+ esac
+ case `"$tmp_nm" -B $lt_bad_file 2>&1 | sed '1q'` in
+ *$lt_bad_file* | *'Invalid file or object type'*)
lt_cv_path_NM="$tmp_nm -B"
- break
+ break 2
;;
*)
case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
*/dev/null*)
lt_cv_path_NM="$tmp_nm -p"
- break
+ break 2
;;
*)
lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
@@ -5411,15 +5444,15 @@ else
esac
fi
done
- IFS="$lt_save_ifs"
+ IFS=$lt_save_ifs
done
: ${lt_cv_path_NM=no}
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5
$as_echo "$lt_cv_path_NM" >&6; }
-if test "$lt_cv_path_NM" != "no"; then
- NM="$lt_cv_path_NM"
+if test no != "$lt_cv_path_NM"; then
+ NM=$lt_cv_path_NM
else
# Didn't find any BSD compatible name lister, look for dumpbin.
if test -n "$DUMPBIN"; then :
@@ -5525,9 +5558,9 @@ esac
fi
fi
- case `$DUMPBIN -symbols /dev/null 2>&1 | sed '1q'` in
+ case `$DUMPBIN -symbols -headers /dev/null 2>&1 | sed '1q'` in
*COFF*)
- DUMPBIN="$DUMPBIN -symbols"
+ DUMPBIN="$DUMPBIN -symbols -headers"
;;
*)
DUMPBIN=:
@@ -5535,8 +5568,8 @@ fi
esac
fi
- if test "$DUMPBIN" != ":"; then
- NM="$DUMPBIN"
+ if test : != "$DUMPBIN"; then
+ NM=$DUMPBIN
fi
fi
test -z "$NM" && NM=nm
@@ -5587,7 +5620,7 @@ if ${lt_cv_sys_max_cmd_len+:} false; then :
$as_echo_n "(cached) " >&6
else
i=0
- teststring="ABCD"
+ teststring=ABCD
case $build_os in
msdosdjgpp*)
@@ -5627,7 +5660,7 @@ else
lt_cv_sys_max_cmd_len=8192;
;;
- netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
+ bitrig* | darwin* | dragonfly* | freebsd* | netbsd* | openbsd*)
# This has been around since 386BSD, at least. Likely further.
if test -x /sbin/sysctl; then
lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
@@ -5678,22 +5711,22 @@ else
*)
lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
if test -n "$lt_cv_sys_max_cmd_len" && \
- test undefined != "$lt_cv_sys_max_cmd_len"; then
+ test undefined != "$lt_cv_sys_max_cmd_len"; then
lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
else
# Make teststring a little bigger before we do anything with it.
# a 1K string should be a reasonable start.
- for i in 1 2 3 4 5 6 7 8 ; do
+ for i in 1 2 3 4 5 6 7 8; do
teststring=$teststring$teststring
done
SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
# If test is not a shell built-in, we'll probably end up computing a
# maximum length that is only half of the actual maximum length, but
# we can't tell.
- while { test "X"`env echo "$teststring$teststring" 2>/dev/null` \
+ while { test X`env echo "$teststring$teststring" 2>/dev/null` \
= "X$teststring$teststring"; } >/dev/null 2>&1 &&
- test $i != 17 # 1/2 MB should be enough
+ test 17 != "$i" # 1/2 MB should be enough
do
i=`expr $i + 1`
teststring=$teststring$teststring
@@ -5711,7 +5744,7 @@ else
fi
-if test -n $lt_cv_sys_max_cmd_len ; then
+if test -n "$lt_cv_sys_max_cmd_len"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_max_cmd_len" >&5
$as_echo "$lt_cv_sys_max_cmd_len" >&6; }
else
@@ -5729,30 +5762,6 @@ max_cmd_len=$lt_cv_sys_max_cmd_len
: ${MV="mv -f"}
: ${RM="rm -f"}
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands some XSI constructs" >&5
-$as_echo_n "checking whether the shell understands some XSI constructs... " >&6; }
-# Try some XSI features
-xsi_shell=no
-( _lt_dummy="a/b/c"
- test "${_lt_dummy##*/},${_lt_dummy%/*},${_lt_dummy#??}"${_lt_dummy%"$_lt_dummy"}, \
- = c,a/b,b/c, \
- && eval 'test $(( 1 + 1 )) -eq 2 \
- && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
- && xsi_shell=yes
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $xsi_shell" >&5
-$as_echo "$xsi_shell" >&6; }
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands \"+=\"" >&5
-$as_echo_n "checking whether the shell understands \"+=\"... " >&6; }
-lt_shell_append=no
-( foo=bar; set foo baz; eval "$1+=\$2" && test "$foo" = barbaz ) \
- >/dev/null 2>&1 \
- && lt_shell_append=yes
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_shell_append" >&5
-$as_echo "$lt_shell_append" >&6; }
-
-
if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
lt_unset=unset
else
@@ -5875,13 +5884,13 @@ esac
reload_cmds='$LD$reload_flag -o $output$reload_objs'
case $host_os in
cygwin* | mingw* | pw32* | cegcc*)
- if test "$GCC" != yes; then
+ if test yes != "$GCC"; then
reload_cmds=false
fi
;;
darwin*)
- if test "$GCC" = yes; then
- reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
+ if test yes = "$GCC"; then
+ reload_cmds='$LTCC $LTCFLAGS -nostdlib $wl-r -o $output$reload_objs'
else
reload_cmds='$LD$reload_flag -o $output$reload_objs'
fi
@@ -6009,13 +6018,13 @@ lt_cv_deplibs_check_method='unknown'
# Need to set the preceding variable on all platforms that support
# interlibrary dependencies.
# 'none' -- dependencies not supported.
-# `unknown' -- same as none, but documents that we really don't know.
+# 'unknown' -- same as none, but documents that we really don't know.
# 'pass_all' -- all dependencies passed with no checks.
# 'test_compile' -- check by making test program.
# 'file_magic [[regex]]' -- check by looking for files in library path
-# which responds to the $file_magic_cmd with a given extended regex.
-# If you have `file' or equivalent on your system and you're not sure
-# whether `pass_all' will *always* work, you probably want this one.
+# that responds to the $file_magic_cmd with a given extended regex.
+# If you have 'file' or equivalent on your system and you're not sure
+# whether 'pass_all' will *always* work, you probably want this one.
case $host_os in
aix[4-9]*)
@@ -6042,8 +6051,7 @@ mingw* | pw32*)
# Base MSYS/MinGW do not provide the 'file' command needed by
# func_win32_libid shell function, so use a weaker test based on 'objdump',
# unless we find 'file', for example because we are cross-compiling.
- # func_win32_libid assumes BSD nm, so disallow it if using MS dumpbin.
- if ( test "$lt_cv_nm_interface" = "BSD nm" && file / ) >/dev/null 2>&1; then
+ if ( file / ) >/dev/null 2>&1; then
lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
lt_cv_file_magic_cmd='func_win32_libid'
else
@@ -6139,8 +6147,8 @@ newos6*)
lt_cv_deplibs_check_method=pass_all
;;
-openbsd*)
- if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+openbsd* | bitrig*)
+ if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$'
else
lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
@@ -6193,6 +6201,9 @@ sysv4 | sysv4.3*)
tpf*)
lt_cv_deplibs_check_method=pass_all
;;
+os2*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
esac
fi
@@ -6350,8 +6361,8 @@ else
case $host_os in
cygwin* | mingw* | pw32* | cegcc*)
- # two different shell functions defined in ltmain.sh
- # decide which to use based on capabilities of $DLLTOOL
+ # two different shell functions defined in ltmain.sh;
+ # decide which one to use based on capabilities of $DLLTOOL
case `$DLLTOOL --help 2>&1` in
*--identify-strict*)
lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib
@@ -6363,7 +6374,7 @@ cygwin* | mingw* | pw32* | cegcc*)
;;
*)
# fallback: assume linklib IS sharedlib
- lt_cv_sharedlib_from_linklib_cmd="$ECHO"
+ lt_cv_sharedlib_from_linklib_cmd=$ECHO
;;
esac
@@ -6517,7 +6528,7 @@ if ac_fn_c_try_compile "$LINENO"; then :
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }
- if test "$ac_status" -eq 0; then
+ if test 0 -eq "$ac_status"; then
# Ensure the archiver fails upon bogus file names.
rm -f conftest.$ac_objext libconftest.a
{ { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5
@@ -6525,7 +6536,7 @@ if ac_fn_c_try_compile "$LINENO"; then :
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }
- if test "$ac_status" -ne 0; then
+ if test 0 -ne "$ac_status"; then
lt_cv_ar_at_file=@
fi
fi
@@ -6538,7 +6549,7 @@ fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ar_at_file" >&5
$as_echo "$lt_cv_ar_at_file" >&6; }
-if test "x$lt_cv_ar_at_file" = xno; then
+if test no = "$lt_cv_ar_at_file"; then
archiver_list_spec=
else
archiver_list_spec=$lt_cv_ar_at_file
@@ -6755,7 +6766,7 @@ old_postuninstall_cmds=
if test -n "$RANLIB"; then
case $host_os in
- openbsd*)
+ bitrig* | openbsd*)
old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib"
;;
*)
@@ -6845,7 +6856,7 @@ cygwin* | mingw* | pw32* | cegcc*)
symcode='[ABCDGISTW]'
;;
hpux*)
- if test "$host_cpu" = ia64; then
+ if test ia64 = "$host_cpu"; then
symcode='[ABCDEGRST]'
fi
;;
@@ -6878,14 +6889,44 @@ case `$NM -V 2>&1` in
symcode='[ABCDGIRSTW]' ;;
esac
+if test "$lt_cv_nm_interface" = "MS dumpbin"; then
+ # Gets list of data symbols to import.
+ lt_cv_sys_global_symbol_to_import="sed -n -e 's/^I .* \(.*\)$/\1/p'"
+ # Adjust the below global symbol transforms to fixup imported variables.
+ lt_cdecl_hook=" -e 's/^I .* \(.*\)$/extern __declspec(dllimport) char \1;/p'"
+ lt_c_name_hook=" -e 's/^I .* \(.*\)$/ {\"\1\", (void *) 0},/p'"
+ lt_c_name_lib_hook="\
+ -e 's/^I .* \(lib.*\)$/ {\"\1\", (void *) 0},/p'\
+ -e 's/^I .* \(.*\)$/ {\"lib\1\", (void *) 0},/p'"
+else
+ # Disable hooks by default.
+ lt_cv_sys_global_symbol_to_import=
+ lt_cdecl_hook=
+ lt_c_name_hook=
+ lt_c_name_lib_hook=
+fi
+
# Transform an extracted symbol line into a proper C declaration.
# Some systems (esp. on ia64) link data and code symbols differently,
# so use this general approach.
-lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
+lt_cv_sys_global_symbol_to_cdecl="sed -n"\
+$lt_cdecl_hook\
+" -e 's/^T .* \(.*\)$/extern int \1();/p'"\
+" -e 's/^$symcode$symcode* .* \(.*\)$/extern char \1;/p'"
# Transform an extracted symbol line into symbol name and symbol address
-lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\)[ ]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (void *) \&\2},/p'"
-lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([^ ]*\)[ ]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \(lib[^ ]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"lib\2\", (void *) \&\2},/p'"
+lt_cv_sys_global_symbol_to_c_name_address="sed -n"\
+$lt_c_name_hook\
+" -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\
+" -e 's/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/p'"
+
+# Transform an extracted symbol line into symbol name with lib prefix and
+# symbol address.
+lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n"\
+$lt_c_name_lib_hook\
+" -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\
+" -e 's/^$symcode$symcode* .* \(lib.*\)$/ {\"\1\", (void *) \&\1},/p'"\
+" -e 's/^$symcode$symcode* .* \(.*\)$/ {\"lib\1\", (void *) \&\1},/p'"
# Handle CRLF in mingw tool chain
opt_cr=
@@ -6903,21 +6944,24 @@ for ac_symprfx in "" "_"; do
# Write the raw and C identifiers.
if test "$lt_cv_nm_interface" = "MS dumpbin"; then
- # Fake it for dumpbin and say T for any non-static function
- # and D for any global variable.
+ # Fake it for dumpbin and say T for any non-static function,
+ # D for any global variable and I for any imported variable.
# Also find C++ and __fastcall symbols from MSVC++,
# which start with @ or ?.
lt_cv_sys_global_symbol_pipe="$AWK '"\
" {last_section=section; section=\$ 3};"\
" /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\
" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
+" /^ *Symbol name *: /{split(\$ 0,sn,\":\"); si=substr(sn[2],2)};"\
+" /^ *Type *: code/{print \"T\",si,substr(si,length(prfx))};"\
+" /^ *Type *: data/{print \"I\",si,substr(si,length(prfx))};"\
" \$ 0!~/External *\|/{next};"\
" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
" {if(hide[section]) next};"\
-" {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\
-" {split(\$ 0, a, /\||\r/); split(a[2], s)};"\
-" s[1]~/^[@?]/{print s[1], s[1]; next};"\
-" s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\
+" {f=\"D\"}; \$ 0~/\(\).*\|/{f=\"T\"};"\
+" {split(\$ 0,a,/\||\r/); split(a[2],s)};"\
+" s[1]~/^[@?]/{print f,s[1],s[1]; next};"\
+" s[1]~prfx {split(s[1],t,\"@\"); print f,t[1],substr(t[1],length(prfx))}"\
" ' prfx=^$ac_symprfx"
else
lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
@@ -6965,11 +7009,11 @@ _LT_EOF
if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
cat <<_LT_EOF > conftest.$ac_ext
/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */
-#if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE)
-/* DATA imports from DLLs on WIN32 con't be const, because runtime
+#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE
+/* DATA imports from DLLs on WIN32 can't be const, because runtime
relocations are performed -- see ld's documentation on pseudo-relocs. */
# define LT_DLSYM_CONST
-#elif defined(__osf__)
+#elif defined __osf__
/* This system does not cope well with relocations in const data. */
# define LT_DLSYM_CONST
#else
@@ -6995,7 +7039,7 @@ lt__PROGRAM__LTX_preloaded_symbols[] =
{
{ "@PROGRAM@", (void *) 0 },
_LT_EOF
- $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
+ $SED "s/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
cat <<\_LT_EOF >> conftest.$ac_ext
{0, (void *) 0}
};
@@ -7015,13 +7059,13 @@ _LT_EOF
mv conftest.$ac_objext conftstm.$ac_objext
lt_globsym_save_LIBS=$LIBS
lt_globsym_save_CFLAGS=$CFLAGS
- LIBS="conftstm.$ac_objext"
+ LIBS=conftstm.$ac_objext
CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag"
if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
(eval $ac_link) 2>&5
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && test -s conftest${ac_exeext}; then
+ test $ac_status = 0; } && test -s conftest$ac_exeext; then
pipe_works=yes
fi
LIBS=$lt_globsym_save_LIBS
@@ -7042,7 +7086,7 @@ _LT_EOF
rm -rf conftest* conftst*
# Do not use the global_symbol_pipe unless it works.
- if test "$pipe_works" = yes; then
+ if test yes = "$pipe_works"; then
break
else
lt_cv_sys_global_symbol_pipe=
@@ -7095,6 +7139,16 @@ fi
+
+
+
+
+
+
+
+
+
+
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5
$as_echo_n "checking for sysroot... " >&6; }
@@ -7107,9 +7161,9 @@ fi
lt_sysroot=
-case ${with_sysroot} in #(
+case $with_sysroot in #(
yes)
- if test "$GCC" = yes; then
+ if test yes = "$GCC"; then
lt_sysroot=`$CC --print-sysroot 2>/dev/null`
fi
;; #(
@@ -7119,8 +7173,8 @@ case ${with_sysroot} in #(
no|'')
;; #(
*)
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${with_sysroot}" >&5
-$as_echo "${with_sysroot}" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_sysroot" >&5
+$as_echo "$with_sysroot" >&6; }
as_fn_error $? "The sysroot must be an absolute path." "$LINENO" 5
;;
esac
@@ -7132,18 +7186,99 @@ $as_echo "${lt_sysroot:-no}" >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a working dd" >&5
+$as_echo_n "checking for a working dd... " >&6; }
+if ${ac_cv_path_lt_DD+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ printf 0123456789abcdef0123456789abcdef >conftest.i
+cat conftest.i conftest.i >conftest2.i
+: ${lt_DD:=$DD}
+if test -z "$lt_DD"; then
+ ac_path_lt_DD_found=false
+ # Loop through the user's path and test for each of PROGNAME-LIST
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_prog in dd; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ ac_path_lt_DD="$as_dir/$ac_prog$ac_exec_ext"
+ as_fn_executable_p "$ac_path_lt_DD" || continue
+if "$ac_path_lt_DD" bs=32 count=1 <conftest2.i >conftest.out 2>/dev/null; then
+ cmp -s conftest.i conftest.out \
+ && ac_cv_path_lt_DD="$ac_path_lt_DD" ac_path_lt_DD_found=:
+fi
+ $ac_path_lt_DD_found && break 3
+ done
+ done
+ done
+IFS=$as_save_IFS
+ if test -z "$ac_cv_path_lt_DD"; then
+ :
+ fi
+else
+ ac_cv_path_lt_DD=$lt_DD
+fi
+
+rm -f conftest.i conftest2.i conftest.out
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_lt_DD" >&5
+$as_echo "$ac_cv_path_lt_DD" >&6; }
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to truncate binary pipes" >&5
+$as_echo_n "checking how to truncate binary pipes... " >&6; }
+if ${lt_cv_truncate_bin+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ printf 0123456789abcdef0123456789abcdef >conftest.i
+cat conftest.i conftest.i >conftest2.i
+lt_cv_truncate_bin=
+if "$ac_cv_path_lt_DD" bs=32 count=1 <conftest2.i >conftest.out 2>/dev/null; then
+ cmp -s conftest.i conftest.out \
+ && lt_cv_truncate_bin="$ac_cv_path_lt_DD bs=4096 count=1"
+fi
+rm -f conftest.i conftest2.i conftest.out
+test -z "$lt_cv_truncate_bin" && lt_cv_truncate_bin="$SED -e 4q"
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_truncate_bin" >&5
+$as_echo "$lt_cv_truncate_bin" >&6; }
+
+
+
+
+
+
+
+# Calculate cc_basename. Skip known compiler wrappers and cross-prefix.
+func_cc_basename ()
+{
+ for cc_temp in $*""; do
+ case $cc_temp in
+ compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
+ distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
+ \-*) ;;
+ *) break;;
+ esac
+ done
+ func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
+}
+
# Check whether --enable-libtool-lock was given.
if test "${enable_libtool_lock+set}" = set; then :
enableval=$enable_libtool_lock;
fi
-test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
+test no = "$enable_libtool_lock" || enable_libtool_lock=yes
# Some flags need to be propagated to the compiler or linker for good
# libtool support.
case $host in
ia64-*-hpux*)
- # Find out which ABI we are using.
+ # Find out what ABI is being produced by ac_compile, and set mode
+ # options accordingly.
echo 'int i;' > conftest.$ac_ext
if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
(eval $ac_compile) 2>&5
@@ -7152,24 +7287,25 @@ ia64-*-hpux*)
test $ac_status = 0; }; then
case `/usr/bin/file conftest.$ac_objext` in
*ELF-32*)
- HPUX_IA64_MODE="32"
+ HPUX_IA64_MODE=32
;;
*ELF-64*)
- HPUX_IA64_MODE="64"
+ HPUX_IA64_MODE=64
;;
esac
fi
rm -rf conftest*
;;
*-*-irix6*)
- # Find out which ABI we are using.
+ # Find out what ABI is being produced by ac_compile, and set linker
+ # options accordingly.
echo '#line '$LINENO' "configure"' > conftest.$ac_ext
if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
(eval $ac_compile) 2>&5
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; then
- if test "$lt_cv_prog_gnu_ld" = yes; then
+ if test yes = "$lt_cv_prog_gnu_ld"; then
case `/usr/bin/file conftest.$ac_objext` in
*32-bit*)
LD="${LD-ld} -melf32bsmip"
@@ -7198,9 +7334,50 @@ ia64-*-hpux*)
rm -rf conftest*
;;
+mips64*-*linux*)
+ # Find out what ABI is being produced by ac_compile, and set linker
+ # options accordingly.
+ echo '#line '$LINENO' "configure"' > conftest.$ac_ext
+ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
+ emul=elf
+ case `/usr/bin/file conftest.$ac_objext` in
+ *32-bit*)
+ emul="${emul}32"
+ ;;
+ *64-bit*)
+ emul="${emul}64"
+ ;;
+ esac
+ case `/usr/bin/file conftest.$ac_objext` in
+ *MSB*)
+ emul="${emul}btsmip"
+ ;;
+ *LSB*)
+ emul="${emul}ltsmip"
+ ;;
+ esac
+ case `/usr/bin/file conftest.$ac_objext` in
+ *N32*)
+ emul="${emul}n32"
+ ;;
+ esac
+ LD="${LD-ld} -m $emul"
+ fi
+ rm -rf conftest*
+ ;;
+
x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \
s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
- # Find out which ABI we are using.
+ # Find out what ABI is being produced by ac_compile, and set linker
+ # options accordingly. Note that the listed cases only cover the
+ # situations where additional linker options are needed (such as when
+ # doing 32-bit compilation for a host where ld defaults to 64-bit, or
+ # vice versa); the common cases where no linker options are needed do
+ # not appear in the list.
echo 'int i;' > conftest.$ac_ext
if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
(eval $ac_compile) 2>&5
@@ -7223,10 +7400,10 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
;;
esac
;;
- powerpc64le-*)
+ powerpc64le-*linux*)
LD="${LD-ld} -m elf32lppclinux"
;;
- powerpc64-*)
+ powerpc64-*linux*)
LD="${LD-ld} -m elf32ppclinux"
;;
s390x-*linux*)
@@ -7245,10 +7422,10 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
x86_64-*linux*)
LD="${LD-ld} -m elf_x86_64"
;;
- powerpcle-*)
+ powerpcle-*linux*)
LD="${LD-ld} -m elf64lppc"
;;
- powerpc-*)
+ powerpc-*linux*)
LD="${LD-ld} -m elf64ppc"
;;
s390*-*linux*|s390*-*tpf*)
@@ -7266,7 +7443,7 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
*-*-sco3.2v5*)
# On SCO OpenServer 5, we need -belf to get full-featured binaries.
- SAVE_CFLAGS="$CFLAGS"
+ SAVE_CFLAGS=$CFLAGS
CFLAGS="$CFLAGS -belf"
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5
$as_echo_n "checking whether the C compiler needs -belf... " >&6; }
@@ -7306,13 +7483,14 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&5
$as_echo "$lt_cv_cc_needs_belf" >&6; }
- if test x"$lt_cv_cc_needs_belf" != x"yes"; then
+ if test yes != "$lt_cv_cc_needs_belf"; then
# this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
- CFLAGS="$SAVE_CFLAGS"
+ CFLAGS=$SAVE_CFLAGS
fi
;;
*-*solaris*)
- # Find out which ABI we are using.
+ # Find out what ABI is being produced by ac_compile, and set linker
+ # options accordingly.
echo 'int i;' > conftest.$ac_ext
if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
(eval $ac_compile) 2>&5
@@ -7324,7 +7502,7 @@ $as_echo "$lt_cv_cc_needs_belf" >&6; }
case $lt_cv_prog_gnu_ld in
yes*)
case $host in
- i?86-*-solaris*)
+ i?86-*-solaris*|x86_64-*-solaris*)
LD="${LD-ld} -m elf_x86_64"
;;
sparc*-*-solaris*)
@@ -7333,7 +7511,7 @@ $as_echo "$lt_cv_cc_needs_belf" >&6; }
esac
# GNU ld 2.21 introduced _sol2 emulations. Use them if available.
if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then
- LD="${LD-ld}_sol2"
+ LD=${LD-ld}_sol2
fi
;;
*)
@@ -7349,7 +7527,7 @@ $as_echo "$lt_cv_cc_needs_belf" >&6; }
;;
esac
-need_locks="$enable_libtool_lock"
+need_locks=$enable_libtool_lock
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}mt", so it can be a program name with args.
@@ -7460,7 +7638,7 @@ else
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_mainfest_tool" >&5
$as_echo "$lt_cv_path_mainfest_tool" >&6; }
-if test "x$lt_cv_path_mainfest_tool" != xyes; then
+if test yes != "$lt_cv_path_mainfest_tool"; then
MANIFEST_TOOL=:
fi
@@ -7963,7 +8141,7 @@ if ${lt_cv_apple_cc_single_mod+:} false; then :
$as_echo_n "(cached) " >&6
else
lt_cv_apple_cc_single_mod=no
- if test -z "${LT_MULTI_MODULE}"; then
+ if test -z "$LT_MULTI_MODULE"; then
# By default we will add the -single_module flag. You can override
# by either setting the environment variable LT_MULTI_MODULE
# non-empty at configure time, or by adding -multi_module to the
@@ -7981,7 +8159,7 @@ else
cat conftest.err >&5
# Otherwise, if the output was created with a 0 exit code from
# the compiler, it worked.
- elif test -f libconftest.dylib && test $_lt_result -eq 0; then
+ elif test -f libconftest.dylib && test 0 = "$_lt_result"; then
lt_cv_apple_cc_single_mod=yes
else
cat conftest.err >&5
@@ -8020,7 +8198,7 @@ else
fi
rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext conftest.$ac_ext
- LDFLAGS="$save_LDFLAGS"
+ LDFLAGS=$save_LDFLAGS
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5
@@ -8049,7 +8227,7 @@ _LT_EOF
_lt_result=$?
if test -s conftest.err && $GREP force_load conftest.err; then
cat conftest.err >&5
- elif test -f conftest && test $_lt_result -eq 0 && $GREP forced_load conftest >/dev/null 2>&1 ; then
+ elif test -f conftest && test 0 = "$_lt_result" && $GREP forced_load conftest >/dev/null 2>&1; then
lt_cv_ld_force_load=yes
else
cat conftest.err >&5
@@ -8062,32 +8240,32 @@ fi
$as_echo "$lt_cv_ld_force_load" >&6; }
case $host_os in
rhapsody* | darwin1.[012])
- _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
+ _lt_dar_allow_undefined='$wl-undefined ${wl}suppress' ;;
darwin1.*)
- _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
+ _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;;
darwin*) # darwin 5.x on
# if running on 10.5 or later, the deployment target defaults
# to the OS version, if on x86, and 10.4, the deployment
# target defaults to 10.4. Don't you love it?
case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
10.0,*86*-darwin8*|10.0,*-darwin[91]*)
- _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
- 10.[012]*)
- _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
+ _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;;
+ 10.[012][,.]*)
+ _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;;
10.*)
- _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
+ _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;;
esac
;;
esac
- if test "$lt_cv_apple_cc_single_mod" = "yes"; then
+ if test yes = "$lt_cv_apple_cc_single_mod"; then
_lt_dar_single_mod='$single_module'
fi
- if test "$lt_cv_ld_exported_symbols_list" = "yes"; then
- _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym'
+ if test yes = "$lt_cv_ld_exported_symbols_list"; then
+ _lt_dar_export_syms=' $wl-exported_symbols_list,$output_objdir/$libname-symbols.expsym'
else
- _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}'
+ _lt_dar_export_syms='~$NMEDIT -s $output_objdir/$libname-symbols.expsym $lib'
fi
- if test "$DSYMUTIL" != ":" && test "$lt_cv_ld_force_load" = "no"; then
+ if test : != "$DSYMUTIL" && test no = "$lt_cv_ld_force_load"; then
_lt_dsymutil='~$DSYMUTIL $lib || :'
else
_lt_dsymutil=
@@ -8095,6 +8273,41 @@ $as_echo "$lt_cv_ld_force_load" >&6; }
;;
esac
+# func_munge_path_list VARIABLE PATH
+# -----------------------------------
+# VARIABLE is name of variable containing _space_ separated list of
+# directories to be munged by the contents of PATH, which is string
+# having a format:
+# "DIR[:DIR]:"
+# string "DIR[ DIR]" will be prepended to VARIABLE
+# ":DIR[:DIR]"
+# string "DIR[ DIR]" will be appended to VARIABLE
+# "DIRP[:DIRP]::[DIRA:]DIRA"
+# string "DIRP[ DIRP]" will be prepended to VARIABLE and string
+# "DIRA[ DIRA]" will be appended to VARIABLE
+# "DIR[:DIR]"
+# VARIABLE will be replaced by "DIR[ DIR]"
+func_munge_path_list ()
+{
+ case x$2 in
+ x)
+ ;;
+ *:)
+ eval $1=\"`$ECHO $2 | $SED 's/:/ /g'` \$$1\"
+ ;;
+ x:*)
+ eval $1=\"\$$1 `$ECHO $2 | $SED 's/:/ /g'`\"
+ ;;
+ *::*)
+ eval $1=\"\$$1\ `$ECHO $2 | $SED -e 's/.*:://' -e 's/:/ /g'`\"
+ eval $1=\"`$ECHO $2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \$$1\"
+ ;;
+ *)
+ eval $1=\"`$ECHO $2 | $SED 's/:/ /g'`\"
+ ;;
+ esac
+}
+
# On IRIX 5.3, sys/types and inttypes.h are conflicting.
for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
inttypes.h stdint.h unistd.h
@@ -8148,14 +8361,14 @@ if test "${enable_shared+set}" = set; then :
*)
enable_shared=no
# Look at the argument we got. We use all the common list separators.
- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+ lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
for pkg in $enableval; do
- IFS="$lt_save_ifs"
+ IFS=$lt_save_ifs
if test "X$pkg" = "X$p"; then
enable_shared=yes
fi
done
- IFS="$lt_save_ifs"
+ IFS=$lt_save_ifs
;;
esac
else
@@ -8179,14 +8392,14 @@ if test "${enable_static+set}" = set; then :
*)
enable_static=no
# Look at the argument we got. We use all the common list separators.
- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+ lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
for pkg in $enableval; do
- IFS="$lt_save_ifs"
+ IFS=$lt_save_ifs
if test "X$pkg" = "X$p"; then
enable_static=yes
fi
done
- IFS="$lt_save_ifs"
+ IFS=$lt_save_ifs
;;
esac
else
@@ -8210,14 +8423,14 @@ if test "${with_pic+set}" = set; then :
*)
pic_mode=default
# Look at the argument we got. We use all the common list separators.
- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+ lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
for lt_pkg in $withval; do
- IFS="$lt_save_ifs"
+ IFS=$lt_save_ifs
if test "X$lt_pkg" = "X$lt_p"; then
pic_mode=yes
fi
done
- IFS="$lt_save_ifs"
+ IFS=$lt_save_ifs
;;
esac
else
@@ -8225,8 +8438,6 @@ else
fi
-test -z "$pic_mode" && pic_mode=default
-
@@ -8242,14 +8453,14 @@ if test "${enable_fast_install+set}" = set; then :
*)
enable_fast_install=no
# Look at the argument we got. We use all the common list separators.
- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+ lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
for pkg in $enableval; do
- IFS="$lt_save_ifs"
+ IFS=$lt_save_ifs
if test "X$pkg" = "X$p"; then
enable_fast_install=yes
fi
done
- IFS="$lt_save_ifs"
+ IFS=$lt_save_ifs
;;
esac
else
@@ -8263,11 +8474,63 @@ fi
+ shared_archive_member_spec=
+case $host,$enable_shared in
+power*-*-aix[5-9]*,yes)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking which variant of shared library versioning to provide" >&5
+$as_echo_n "checking which variant of shared library versioning to provide... " >&6; }
+
+# Check whether --with-aix-soname was given.
+if test "${with_aix_soname+set}" = set; then :
+ withval=$with_aix_soname; case $withval in
+ aix|svr4|both)
+ ;;
+ *)
+ as_fn_error $? "Unknown argument to --with-aix-soname" "$LINENO" 5
+ ;;
+ esac
+ lt_cv_with_aix_soname=$with_aix_soname
+else
+ if ${lt_cv_with_aix_soname+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_with_aix_soname=aix
+fi
+
+ with_aix_soname=$lt_cv_with_aix_soname
+fi
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_aix_soname" >&5
+$as_echo "$with_aix_soname" >&6; }
+ if test aix != "$with_aix_soname"; then
+ # For the AIX way of multilib, we name the shared archive member
+ # based on the bitwidth used, traditionally 'shr.o' or 'shr_64.o',
+ # and 'shr.imp' or 'shr_64.imp', respectively, for the Import File.
+ # Even when GNU compilers ignore OBJECT_MODE but need '-maix64' flag,
+ # the AIX toolchain works better with OBJECT_MODE set (default 32).
+ if test 64 = "${OBJECT_MODE-32}"; then
+ shared_archive_member_spec=shr_64
+ else
+ shared_archive_member_spec=shr
+ fi
+ fi
+ ;;
+*)
+ with_aix_soname=aix
+ ;;
+esac
+
+
+
+
+
+
+
# This can be used to rebuild libtool when needed
-LIBTOOL_DEPS="$ltmain"
+LIBTOOL_DEPS=$ltmain
# Always use our own libtool.
LIBTOOL='$(SHELL) $(top_builddir)/libtool'
@@ -8316,7 +8579,7 @@ test -z "$LN_S" && LN_S="ln -s"
-if test -n "${ZSH_VERSION+set}" ; then
+if test -n "${ZSH_VERSION+set}"; then
setopt NO_GLOB_SUBST
fi
@@ -8355,7 +8618,7 @@ aix3*)
# AIX sometimes has problems with the GCC collect2 program. For some
# reason, if we set the COLLECT_NAMES environment variable, the problems
# vanish in a puff of smoke.
- if test "X${COLLECT_NAMES+set}" != Xset; then
+ if test set != "${COLLECT_NAMES+set}"; then
COLLECT_NAMES=
export COLLECT_NAMES
fi
@@ -8366,14 +8629,14 @@ esac
ofile=libtool
can_build_shared=yes
-# All known linkers require a `.a' archive for static linking (except MSVC,
+# All known linkers require a '.a' archive for static linking (except MSVC,
# which needs '.lib').
libext=a
-with_gnu_ld="$lt_cv_prog_gnu_ld"
+with_gnu_ld=$lt_cv_prog_gnu_ld
-old_CC="$CC"
-old_CFLAGS="$CFLAGS"
+old_CC=$CC
+old_CFLAGS=$CFLAGS
# Set sane defaults for various variables
test -z "$CC" && CC=cc
@@ -8382,15 +8645,8 @@ test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
test -z "$LD" && LD=ld
test -z "$ac_objext" && ac_objext=o
-for cc_temp in $compiler""; do
- case $cc_temp in
- compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
- distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
- \-*) ;;
- *) break;;
- esac
-done
-cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
+func_cc_basename $compiler
+cc_basename=$func_cc_basename_result
# Only perform the check for file, if the check method requires it
@@ -8405,22 +8661,22 @@ if ${lt_cv_path_MAGIC_CMD+:} false; then :
else
case $MAGIC_CMD in
[\\/*] | ?:[\\/]*)
- lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
+ lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path.
;;
*)
- lt_save_MAGIC_CMD="$MAGIC_CMD"
- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+ lt_save_MAGIC_CMD=$MAGIC_CMD
+ lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
for ac_dir in $ac_dummy; do
- IFS="$lt_save_ifs"
+ IFS=$lt_save_ifs
test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/${ac_tool_prefix}file; then
- lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file"
+ if test -f "$ac_dir/${ac_tool_prefix}file"; then
+ lt_cv_path_MAGIC_CMD=$ac_dir/"${ac_tool_prefix}file"
if test -n "$file_magic_test_file"; then
case $deplibs_check_method in
"file_magic "*)
file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
- MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+ MAGIC_CMD=$lt_cv_path_MAGIC_CMD
if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
$EGREP "$file_magic_regex" > /dev/null; then
:
@@ -8443,13 +8699,13 @@ _LT_EOF
break
fi
done
- IFS="$lt_save_ifs"
- MAGIC_CMD="$lt_save_MAGIC_CMD"
+ IFS=$lt_save_ifs
+ MAGIC_CMD=$lt_save_MAGIC_CMD
;;
esac
fi
-MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+MAGIC_CMD=$lt_cv_path_MAGIC_CMD
if test -n "$MAGIC_CMD"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5
$as_echo "$MAGIC_CMD" >&6; }
@@ -8471,22 +8727,22 @@ if ${lt_cv_path_MAGIC_CMD+:} false; then :
else
case $MAGIC_CMD in
[\\/*] | ?:[\\/]*)
- lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
+ lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path.
;;
*)
- lt_save_MAGIC_CMD="$MAGIC_CMD"
- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+ lt_save_MAGIC_CMD=$MAGIC_CMD
+ lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
for ac_dir in $ac_dummy; do
- IFS="$lt_save_ifs"
+ IFS=$lt_save_ifs
test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/file; then
- lt_cv_path_MAGIC_CMD="$ac_dir/file"
+ if test -f "$ac_dir/file"; then
+ lt_cv_path_MAGIC_CMD=$ac_dir/"file"
if test -n "$file_magic_test_file"; then
case $deplibs_check_method in
"file_magic "*)
file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
- MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+ MAGIC_CMD=$lt_cv_path_MAGIC_CMD
if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
$EGREP "$file_magic_regex" > /dev/null; then
:
@@ -8509,13 +8765,13 @@ _LT_EOF
break
fi
done
- IFS="$lt_save_ifs"
- MAGIC_CMD="$lt_save_MAGIC_CMD"
+ IFS=$lt_save_ifs
+ MAGIC_CMD=$lt_save_MAGIC_CMD
;;
esac
fi
-MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+MAGIC_CMD=$lt_cv_path_MAGIC_CMD
if test -n "$MAGIC_CMD"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5
$as_echo "$MAGIC_CMD" >&6; }
@@ -8536,7 +8792,7 @@ esac
# Use C for the default configuration in the libtool script
-lt_save_CC="$CC"
+lt_save_CC=$CC
ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
@@ -8598,7 +8854,7 @@ if test -n "$compiler"; then
lt_prog_compiler_no_builtin_flag=
-if test "$GCC" = yes; then
+if test yes = "$GCC"; then
case $cc_basename in
nvcc*)
lt_prog_compiler_no_builtin_flag=' -Xcompiler -fno-builtin' ;;
@@ -8614,7 +8870,7 @@ else
lt_cv_prog_compiler_rtti_exceptions=no
ac_outfile=conftest.$ac_objext
echo "$lt_simple_compile_test_code" > conftest.$ac_ext
- lt_compiler_flag="-fno-rtti -fno-exceptions"
+ lt_compiler_flag="-fno-rtti -fno-exceptions" ## exclude from sc_useless_quotes_in_assignment
# Insert the option either (1) after the last *FLAGS variable, or
# (2) before a word containing "conftest.", or (3) at the end.
# Note that $ac_compile itself does not contain backslashes and begins
@@ -8644,7 +8900,7 @@ fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5
$as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; }
-if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then
+if test yes = "$lt_cv_prog_compiler_rtti_exceptions"; then
lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions"
else
:
@@ -8662,17 +8918,18 @@ lt_prog_compiler_pic=
lt_prog_compiler_static=
- if test "$GCC" = yes; then
+ if test yes = "$GCC"; then
lt_prog_compiler_wl='-Wl,'
lt_prog_compiler_static='-static'
case $host_os in
aix*)
# All AIX code is PIC.
- if test "$host_cpu" = ia64; then
+ if test ia64 = "$host_cpu"; then
# AIX 5 now supports IA64 processor
lt_prog_compiler_static='-Bstatic'
fi
+ lt_prog_compiler_pic='-fPIC'
;;
amigaos*)
@@ -8683,8 +8940,8 @@ lt_prog_compiler_static=
;;
m68k)
# FIXME: we need at least 68020 code to build shared libraries, but
- # adding the `-m68020' flag to GCC prevents building anything better,
- # like `-m68040'.
+ # adding the '-m68020' flag to GCC prevents building anything better,
+ # like '-m68040'.
lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4'
;;
esac
@@ -8700,6 +8957,11 @@ lt_prog_compiler_static=
# Although the cygwin gcc ignores -fPIC, still need this for old-style
# (--disable-auto-import) libraries
lt_prog_compiler_pic='-DDLL_EXPORT'
+ case $host_os in
+ os2*)
+ lt_prog_compiler_static='$wl-static'
+ ;;
+ esac
;;
darwin* | rhapsody*)
@@ -8770,7 +9032,7 @@ lt_prog_compiler_static=
case $host_os in
aix*)
lt_prog_compiler_wl='-Wl,'
- if test "$host_cpu" = ia64; then
+ if test ia64 = "$host_cpu"; then
# AIX 5 now supports IA64 processor
lt_prog_compiler_static='-Bstatic'
else
@@ -8778,10 +9040,29 @@ lt_prog_compiler_static=
fi
;;
+ darwin* | rhapsody*)
+ # PIC is the default on this platform
+ # Common symbols not allowed in MH_DYLIB files
+ lt_prog_compiler_pic='-fno-common'
+ case $cc_basename in
+ nagfor*)
+ # NAG Fortran compiler
+ lt_prog_compiler_wl='-Wl,-Wl,,'
+ lt_prog_compiler_pic='-PIC'
+ lt_prog_compiler_static='-Bstatic'
+ ;;
+ esac
+ ;;
+
mingw* | cygwin* | pw32* | os2* | cegcc*)
# This hack is so that the source file can tell whether it is being
# built for inclusion in a dll (and should export symbols for example).
lt_prog_compiler_pic='-DDLL_EXPORT'
+ case $host_os in
+ os2*)
+ lt_prog_compiler_static='$wl-static'
+ ;;
+ esac
;;
hpux9* | hpux10* | hpux11*)
@@ -8797,7 +9078,7 @@ lt_prog_compiler_static=
;;
esac
# Is there a better lt_prog_compiler_static that works with the bundled CC?
- lt_prog_compiler_static='${wl}-a ${wl}archive'
+ lt_prog_compiler_static='$wl-a ${wl}archive'
;;
irix5* | irix6* | nonstopux*)
@@ -8808,7 +9089,7 @@ lt_prog_compiler_static=
linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
case $cc_basename in
- # old Intel for x86_64 which still supported -KPIC.
+ # old Intel for x86_64, which still supported -KPIC.
ecc*)
lt_prog_compiler_wl='-Wl,'
lt_prog_compiler_pic='-KPIC'
@@ -8833,6 +9114,12 @@ lt_prog_compiler_static=
lt_prog_compiler_pic='-PIC'
lt_prog_compiler_static='-Bstatic'
;;
+ tcc*)
+ # Fabrice Bellard et al's Tiny C Compiler
+ lt_prog_compiler_wl='-Wl,'
+ lt_prog_compiler_pic='-fPIC'
+ lt_prog_compiler_static='-static'
+ ;;
pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
# Portland Group compilers (*not* the Pentium gcc compiler,
# which looks to be a dead project)
@@ -8930,7 +9217,7 @@ lt_prog_compiler_static=
;;
sysv4*MP*)
- if test -d /usr/nec ;then
+ if test -d /usr/nec; then
lt_prog_compiler_pic='-Kconform_pic'
lt_prog_compiler_static='-Bstatic'
fi
@@ -8959,7 +9246,7 @@ lt_prog_compiler_static=
fi
case $host_os in
- # For platforms which do not support PIC, -DPIC is meaningless:
+ # For platforms that do not support PIC, -DPIC is meaningless:
*djgpp*)
lt_prog_compiler_pic=
;;
@@ -8991,7 +9278,7 @@ else
lt_cv_prog_compiler_pic_works=no
ac_outfile=conftest.$ac_objext
echo "$lt_simple_compile_test_code" > conftest.$ac_ext
- lt_compiler_flag="$lt_prog_compiler_pic -DPIC"
+ lt_compiler_flag="$lt_prog_compiler_pic -DPIC" ## exclude from sc_useless_quotes_in_assignment
# Insert the option either (1) after the last *FLAGS variable, or
# (2) before a word containing "conftest.", or (3) at the end.
# Note that $ac_compile itself does not contain backslashes and begins
@@ -9021,7 +9308,7 @@ fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&5
$as_echo "$lt_cv_prog_compiler_pic_works" >&6; }
-if test x"$lt_cv_prog_compiler_pic_works" = xyes; then
+if test yes = "$lt_cv_prog_compiler_pic_works"; then
case $lt_prog_compiler_pic in
"" | " "*) ;;
*) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;;
@@ -9053,7 +9340,7 @@ if ${lt_cv_prog_compiler_static_works+:} false; then :
$as_echo_n "(cached) " >&6
else
lt_cv_prog_compiler_static_works=no
- save_LDFLAGS="$LDFLAGS"
+ save_LDFLAGS=$LDFLAGS
LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
echo "$lt_simple_link_test_code" > conftest.$ac_ext
if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
@@ -9072,13 +9359,13 @@ else
fi
fi
$RM -r conftest*
- LDFLAGS="$save_LDFLAGS"
+ LDFLAGS=$save_LDFLAGS
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&5
$as_echo "$lt_cv_prog_compiler_static_works" >&6; }
-if test x"$lt_cv_prog_compiler_static_works" = xyes; then
+if test yes = "$lt_cv_prog_compiler_static_works"; then
:
else
lt_prog_compiler_static=
@@ -9198,8 +9485,8 @@ $as_echo "$lt_cv_prog_compiler_c_o" >&6; }
-hard_links="nottested"
-if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then
+hard_links=nottested
+if test no = "$lt_cv_prog_compiler_c_o" && test no != "$need_locks"; then
# do not overwrite the value of need_locks provided by the user
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5
$as_echo_n "checking if we can lock with hard links... " >&6; }
@@ -9211,9 +9498,9 @@ $as_echo_n "checking if we can lock with hard links... " >&6; }
ln conftest.a conftest.b 2>/dev/null && hard_links=no
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5
$as_echo "$hard_links" >&6; }
- if test "$hard_links" = no; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
-$as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
+ if test no = "$hard_links"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&5
+$as_echo "$as_me: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&2;}
need_locks=warn
fi
else
@@ -9256,9 +9543,9 @@ $as_echo_n "checking whether the $compiler linker ($LD) supports shared librarie
# included in the symbol list
include_expsyms=
# exclude_expsyms can be an extended regexp of symbols to exclude
- # it will be wrapped by ` (' and `)$', so one must not match beginning or
- # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
- # as well as any symbol that contains `d'.
+ # it will be wrapped by ' (' and ')$', so one must not match beginning or
+ # end of line. Example: 'a|bc|.*d.*' will exclude the symbols 'a' and 'bc',
+ # as well as any symbol that contains 'd'.
exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'
# Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
# platforms (ab)use it in PIC code, but their linkers get confused if
@@ -9273,7 +9560,7 @@ $as_echo_n "checking whether the $compiler linker ($LD) supports shared librarie
# FIXME: the MSVC++ port hasn't been tested in a loooong time
# When not using gcc, we currently assume that we are using
# Microsoft Visual C++.
- if test "$GCC" != yes; then
+ if test yes != "$GCC"; then
with_gnu_ld=no
fi
;;
@@ -9281,7 +9568,7 @@ $as_echo_n "checking whether the $compiler linker ($LD) supports shared librarie
# we just hope/assume this is gcc and not c89 (= MSVC++)
with_gnu_ld=yes
;;
- openbsd*)
+ openbsd* | bitrig*)
with_gnu_ld=no
;;
linux* | k*bsd*-gnu | gnu*)
@@ -9294,7 +9581,7 @@ $as_echo_n "checking whether the $compiler linker ($LD) supports shared librarie
# On some targets, GNU ld is compatible enough with the native linker
# that we're better off using the native interface for both.
lt_use_gnu_ld_interface=no
- if test "$with_gnu_ld" = yes; then
+ if test yes = "$with_gnu_ld"; then
case $host_os in
aix*)
# The AIX port of GNU ld has always aspired to compatibility
@@ -9316,24 +9603,24 @@ $as_echo_n "checking whether the $compiler linker ($LD) supports shared librarie
esac
fi
- if test "$lt_use_gnu_ld_interface" = yes; then
+ if test yes = "$lt_use_gnu_ld_interface"; then
# If archive_cmds runs LD, not CC, wlarc should be empty
- wlarc='${wl}'
+ wlarc='$wl'
# Set some defaults for GNU ld with shared library support. These
# are reset later if shared libraries are not supported. Putting them
# here allows them to be overridden if necessary.
runpath_var=LD_RUN_PATH
- hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
- export_dynamic_flag_spec='${wl}--export-dynamic'
+ hardcode_libdir_flag_spec='$wl-rpath $wl$libdir'
+ export_dynamic_flag_spec='$wl--export-dynamic'
# ancient GNU ld didn't support --whole-archive et. al.
if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
- whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+ whole_archive_flag_spec=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive'
else
whole_archive_flag_spec=
fi
supports_anon_versioning=no
- case `$LD -v 2>&1` in
+ case `$LD -v | $SED -e 's/(^)\+)\s\+//' 2>&1` in
*GNU\ gold*) supports_anon_versioning=yes ;;
*\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11
*\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
@@ -9346,7 +9633,7 @@ $as_echo_n "checking whether the $compiler linker ($LD) supports shared librarie
case $host_os in
aix[3-9]*)
# On AIX/PPC, the GNU linker is very broken
- if test "$host_cpu" != ia64; then
+ if test ia64 != "$host_cpu"; then
ld_shlibs=no
cat <<_LT_EOF 1>&2
@@ -9365,7 +9652,7 @@ _LT_EOF
case $host_cpu in
powerpc)
# see comment about AmigaOS4 .so support
- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
archive_expsym_cmds=''
;;
m68k)
@@ -9381,7 +9668,7 @@ _LT_EOF
allow_undefined_flag=unsupported
# Joseph Beckenbach <jrb3 at best.com> says some releases of gcc
# support --undefined. This deserves some investigation. FIXME
- archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
else
ld_shlibs=no
fi
@@ -9391,7 +9678,7 @@ _LT_EOF
# _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless,
# as there is no search path for DLLs.
hardcode_libdir_flag_spec='-L$libdir'
- export_dynamic_flag_spec='${wl}--export-all-symbols'
+ export_dynamic_flag_spec='$wl--export-all-symbols'
allow_undefined_flag=unsupported
always_export_symbols=no
enable_shared_with_static_runtimes=yes
@@ -9399,61 +9686,89 @@ _LT_EOF
exclude_expsyms='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'
if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
- # If the export-symbols file already is a .def file (1st line
- # is EXPORTS), use it as is; otherwise, prepend...
- archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
- cp $export_symbols $output_objdir/$soname.def;
- else
- echo EXPORTS > $output_objdir/$soname.def;
- cat $export_symbols >> $output_objdir/$soname.def;
- fi~
- $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+ # If the export-symbols file already is a .def file, use it as
+ # is; otherwise, prepend EXPORTS...
+ archive_expsym_cmds='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then
+ cp $export_symbols $output_objdir/$soname.def;
+ else
+ echo EXPORTS > $output_objdir/$soname.def;
+ cat $export_symbols >> $output_objdir/$soname.def;
+ fi~
+ $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
else
ld_shlibs=no
fi
;;
haiku*)
- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
link_all_deplibs=yes
;;
+ os2*)
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_minus_L=yes
+ allow_undefined_flag=unsupported
+ shrext_cmds=.dll
+ archive_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
+ $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
+ $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
+ $ECHO EXPORTS >> $output_objdir/$libname.def~
+ emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
+ $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
+ emximp -o $lib $output_objdir/$libname.def'
+ archive_expsym_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
+ $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
+ $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
+ $ECHO EXPORTS >> $output_objdir/$libname.def~
+ prefix_cmds="$SED"~
+ if test EXPORTS = "`$SED 1q $export_symbols`"; then
+ prefix_cmds="$prefix_cmds -e 1d";
+ fi~
+ prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~
+ cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
+ $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
+ emximp -o $lib $output_objdir/$libname.def'
+ old_archive_From_new_cmds='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
+ enable_shared_with_static_runtimes=yes
+ ;;
+
interix[3-9]*)
hardcode_direct=no
hardcode_shlibpath_var=no
- hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
- export_dynamic_flag_spec='${wl}-E'
+ hardcode_libdir_flag_spec='$wl-rpath,$libdir'
+ export_dynamic_flag_spec='$wl-E'
# Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
# Instead, shared libraries are loaded at an image base (0x10000000 by
# default) and relocated if they conflict, which is a slow very memory
# consuming and fragmenting process. To avoid this, we pick a random,
# 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
# time. Moving up from 0x10000000 also allows more sbrk(2) space.
- archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
- archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+ archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+ archive_expsym_cmds='sed "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
;;
gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
tmp_diet=no
- if test "$host_os" = linux-dietlibc; then
+ if test linux-dietlibc = "$host_os"; then
case $cc_basename in
diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn)
esac
fi
if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
- && test "$tmp_diet" = no
+ && test no = "$tmp_diet"
then
tmp_addflag=' $pic_flag'
tmp_sharedflag='-shared'
case $cc_basename,$host_cpu in
pgcc*) # Portland Group C compiler
- whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
+ whole_archive_flag_spec='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
tmp_addflag=' $pic_flag'
;;
pgf77* | pgf90* | pgf95* | pgfortran*)
# Portland Group f77 and f90 compilers
- whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
+ whole_archive_flag_spec='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
tmp_addflag=' $pic_flag -Mnomain' ;;
ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64
tmp_addflag=' -i_dynamic' ;;
@@ -9464,42 +9779,47 @@ _LT_EOF
lf95*) # Lahey Fortran 8.1
whole_archive_flag_spec=
tmp_sharedflag='--shared' ;;
+ nagfor*) # NAGFOR 5.3
+ tmp_sharedflag='-Wl,-shared' ;;
xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below)
tmp_sharedflag='-qmkshrobj'
tmp_addflag= ;;
nvcc*) # Cuda Compiler Driver 2.2
- whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
+ whole_archive_flag_spec='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
compiler_needs_object=yes
;;
esac
case `$CC -V 2>&1 | sed 5q` in
*Sun\ C*) # Sun C 5.9
- whole_archive_flag_spec='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
+ whole_archive_flag_spec='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
compiler_needs_object=yes
tmp_sharedflag='-G' ;;
*Sun\ F*) # Sun Fortran 8.3
tmp_sharedflag='-G' ;;
esac
- archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
- if test "x$supports_anon_versioning" = xyes; then
+ if test yes = "$supports_anon_versioning"; then
archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
- cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
- echo "local: *; };" >> $output_objdir/$libname.ver~
- $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
+ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+ echo "local: *; };" >> $output_objdir/$libname.ver~
+ $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib'
fi
case $cc_basename in
+ tcc*)
+ export_dynamic_flag_spec='-rdynamic'
+ ;;
xlf* | bgf* | bgxlf* | mpixlf*)
# IBM XL Fortran 10.1 on PPC cannot create shared libs itself
whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive'
- hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+ hardcode_libdir_flag_spec='$wl-rpath $wl$libdir'
archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'
- if test "x$supports_anon_versioning" = xyes; then
+ if test yes = "$supports_anon_versioning"; then
archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
- cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
- echo "local: *; };" >> $output_objdir/$libname.ver~
- $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
+ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+ echo "local: *; };" >> $output_objdir/$libname.ver~
+ $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
fi
;;
esac
@@ -9513,8 +9833,8 @@ _LT_EOF
archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
wlarc=
else
- archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+ archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
fi
;;
@@ -9532,8 +9852,8 @@ _LT_EOF
_LT_EOF
elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
- archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+ archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
else
ld_shlibs=no
fi
@@ -9545,7 +9865,7 @@ _LT_EOF
ld_shlibs=no
cat <<_LT_EOF 1>&2
-*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
+*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 cannot
*** reliably create shared libraries on SCO systems. Therefore, libtool
*** is disabling shared libraries support. We urge you to upgrade GNU
*** binutils to release 2.16.91.0.3 or newer. Another option is to modify
@@ -9560,9 +9880,9 @@ _LT_EOF
# DT_RUNPATH tag from executables and libraries. But doing so
# requires that you compile everything twice, which is a pain.
if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
- hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ hardcode_libdir_flag_spec='$wl-rpath $wl$libdir'
+ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+ archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
else
ld_shlibs=no
fi
@@ -9579,15 +9899,15 @@ _LT_EOF
*)
if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
- archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+ archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
else
ld_shlibs=no
fi
;;
esac
- if test "$ld_shlibs" = no; then
+ if test no = "$ld_shlibs"; then
runpath_var=
hardcode_libdir_flag_spec=
export_dynamic_flag_spec=
@@ -9603,7 +9923,7 @@ _LT_EOF
# Note: this linker hardcodes the directories in LIBPATH if there
# are no directories specified by -L.
hardcode_minus_L=yes
- if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
+ if test yes = "$GCC" && test -z "$lt_prog_compiler_static"; then
# Neither direct hardcoding nor static linking is supported with a
# broken collect2.
hardcode_direct=unsupported
@@ -9611,34 +9931,57 @@ _LT_EOF
;;
aix[4-9]*)
- if test "$host_cpu" = ia64; then
+ if test ia64 = "$host_cpu"; then
# On IA64, the linker does run time linking by default, so we don't
# have to do anything special.
aix_use_runtimelinking=no
exp_sym_flag='-Bexport'
- no_entry_flag=""
+ no_entry_flag=
else
# If we're using GNU nm, then we don't want the "-C" option.
- # -C means demangle to AIX nm, but means don't demangle with GNU nm
- # Also, AIX nm treats weak defined symbols like other global
- # defined symbols, whereas GNU nm marks them as "W".
+ # -C means demangle to GNU nm, but means don't demangle to AIX nm.
+ # Without the "-l" option, or with the "-B" option, AIX nm treats
+ # weak defined symbols like other global defined symbols, whereas
+ # GNU nm marks them as "W".
+ # While the 'weak' keyword is ignored in the Export File, we need
+ # it in the Import File for the 'aix-soname' feature, so we have
+ # to replace the "-B" option with "-P" for AIX nm.
if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
- export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+ export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols'
else
- export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+ export_symbols_cmds='`func_echo_all $NM | $SED -e '\''s/B\([^B]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && (substr(\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols'
fi
aix_use_runtimelinking=no
# Test if we are trying to use run time linking or normal
# AIX style linking. If -brtl is somewhere in LDFLAGS, we
- # need to do runtime linking.
+ # have runtime linking enabled, and use it for executables.
+ # For shared libraries, we enable/disable runtime linking
+ # depending on the kind of the shared library created -
+ # when "with_aix_soname,aix_use_runtimelinking" is:
+ # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables
+ # "aix,yes" lib.so shared, rtl:yes, for executables
+ # lib.a static archive
+ # "both,no" lib.so.V(shr.o) shared, rtl:yes
+ # lib.a(lib.so.V) shared, rtl:no, for executables
+ # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables
+ # lib.a(lib.so.V) shared, rtl:no
+ # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables
+ # lib.a static archive
case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
for ld_flag in $LDFLAGS; do
- if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
+ if (test x-brtl = "x$ld_flag" || test x-Wl,-brtl = "x$ld_flag"); then
aix_use_runtimelinking=yes
break
fi
done
+ if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then
+ # With aix-soname=svr4, we create the lib.so.V shared archives only,
+ # so we don't have lib.a shared libs to link our executables.
+ # We have to force runtime linking in this case.
+ aix_use_runtimelinking=yes
+ LDFLAGS="$LDFLAGS -Wl,-brtl"
+ fi
;;
esac
@@ -9657,13 +10000,21 @@ _LT_EOF
hardcode_direct_absolute=yes
hardcode_libdir_separator=':'
link_all_deplibs=yes
- file_list_spec='${wl}-f,'
+ file_list_spec='$wl-f,'
+ case $with_aix_soname,$aix_use_runtimelinking in
+ aix,*) ;; # traditional, no import file
+ svr4,* | *,yes) # use import file
+ # The Import File defines what to hardcode.
+ hardcode_direct=no
+ hardcode_direct_absolute=no
+ ;;
+ esac
- if test "$GCC" = yes; then
+ if test yes = "$GCC"; then
case $host_os in aix4.[012]|aix4.[012].*)
# We only want to do this on AIX 4.2 and lower, the check
# below for broken collect2 doesn't work under 4.3+
- collect2name=`${CC} -print-prog-name=collect2`
+ collect2name=`$CC -print-prog-name=collect2`
if test -f "$collect2name" &&
strings "$collect2name" | $GREP resolve_lib_name >/dev/null
then
@@ -9682,36 +10033,42 @@ _LT_EOF
;;
esac
shared_flag='-shared'
- if test "$aix_use_runtimelinking" = yes; then
- shared_flag="$shared_flag "'${wl}-G'
+ if test yes = "$aix_use_runtimelinking"; then
+ shared_flag="$shared_flag "'$wl-G'
fi
- link_all_deplibs=no
+ # Need to ensure runtime linking is disabled for the traditional
+ # shared library, or the linker may eventually find shared libraries
+ # /with/ Import File - we do not want to mix them.
+ shared_flag_aix='-shared'
+ shared_flag_svr4='-shared $wl-G'
else
# not using gcc
- if test "$host_cpu" = ia64; then
+ if test ia64 = "$host_cpu"; then
# VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
# chokes on -Wl,-G. The following line is correct:
shared_flag='-G'
else
- if test "$aix_use_runtimelinking" = yes; then
- shared_flag='${wl}-G'
+ if test yes = "$aix_use_runtimelinking"; then
+ shared_flag='$wl-G'
else
- shared_flag='${wl}-bM:SRE'
+ shared_flag='$wl-bM:SRE'
fi
+ shared_flag_aix='$wl-bM:SRE'
+ shared_flag_svr4='$wl-G'
fi
fi
- export_dynamic_flag_spec='${wl}-bexpall'
+ export_dynamic_flag_spec='$wl-bexpall'
# It seems that -bexpall does not export symbols beginning with
# underscore (_), so it is better to generate a list of symbols to export.
always_export_symbols=yes
- if test "$aix_use_runtimelinking" = yes; then
+ if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then
# Warning - without using the other runtime loading flags (-brtl),
# -berok will link without error, but may produce a broken library.
allow_undefined_flag='-berok'
# Determine the default libpath from the value encoded in an
# empty executable.
- if test "${lt_cv_aix_libpath+set}" = set; then
+ if test set = "${lt_cv_aix_libpath+set}"; then
aix_libpath=$lt_cv_aix_libpath
else
if ${lt_cv_aix_libpath_+:} false; then :
@@ -9746,7 +10103,7 @@ fi
rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext conftest.$ac_ext
if test -z "$lt_cv_aix_libpath_"; then
- lt_cv_aix_libpath_="/usr/lib:/lib"
+ lt_cv_aix_libpath_=/usr/lib:/lib
fi
fi
@@ -9754,17 +10111,17 @@ fi
aix_libpath=$lt_cv_aix_libpath_
fi
- hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
- archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+ hardcode_libdir_flag_spec='$wl-blibpath:$libdir:'"$aix_libpath"
+ archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags `if test -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag
else
- if test "$host_cpu" = ia64; then
- hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib'
+ if test ia64 = "$host_cpu"; then
+ hardcode_libdir_flag_spec='$wl-R $libdir:/usr/lib:/lib'
allow_undefined_flag="-z nodefs"
- archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
+ archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\$wl$no_entry_flag"' $compiler_flags $wl$allow_undefined_flag '"\$wl$exp_sym_flag:\$export_symbols"
else
# Determine the default libpath from the value encoded in an
# empty executable.
- if test "${lt_cv_aix_libpath+set}" = set; then
+ if test set = "${lt_cv_aix_libpath+set}"; then
aix_libpath=$lt_cv_aix_libpath
else
if ${lt_cv_aix_libpath_+:} false; then :
@@ -9799,7 +10156,7 @@ fi
rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext conftest.$ac_ext
if test -z "$lt_cv_aix_libpath_"; then
- lt_cv_aix_libpath_="/usr/lib:/lib"
+ lt_cv_aix_libpath_=/usr/lib:/lib
fi
fi
@@ -9807,21 +10164,33 @@ fi
aix_libpath=$lt_cv_aix_libpath_
fi
- hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
+ hardcode_libdir_flag_spec='$wl-blibpath:$libdir:'"$aix_libpath"
# Warning - without using the other run time loading flags,
# -berok will link without error, but may produce a broken library.
- no_undefined_flag=' ${wl}-bernotok'
- allow_undefined_flag=' ${wl}-berok'
- if test "$with_gnu_ld" = yes; then
+ no_undefined_flag=' $wl-bernotok'
+ allow_undefined_flag=' $wl-berok'
+ if test yes = "$with_gnu_ld"; then
# We only use this code for GNU lds that support --whole-archive.
- whole_archive_flag_spec='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
+ whole_archive_flag_spec='$wl--whole-archive$convenience $wl--no-whole-archive'
else
# Exported symbols can be pulled into shared objects from archives
whole_archive_flag_spec='$convenience'
fi
archive_cmds_need_lc=yes
- # This is similar to how AIX traditionally builds its shared libraries.
- archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
+ archive_expsym_cmds='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d'
+ # -brtl affects multiple linker settings, -berok does not and is overridden later
+ compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([, ]\\)%-berok\\1%g"`'
+ if test svr4 != "$with_aix_soname"; then
+ # This is similar to how AIX traditionally builds its shared libraries.
+ archive_expsym_cmds="$archive_expsym_cmds"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname'
+ fi
+ if test aix != "$with_aix_soname"; then
+ archive_expsym_cmds="$archive_expsym_cmds"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 32"; fi; cat $export_symbols ) > [...]
+ else
+ # used by -dlpreopen to get the symbols
+ archive_expsym_cmds="$archive_expsym_cmds"'~$MV $output_objdir/$realname.d/$soname $output_objdir'
+ fi
+ archive_expsym_cmds="$archive_expsym_cmds"'~$RM -r $output_objdir/$realname.d'
fi
fi
;;
@@ -9830,7 +10199,7 @@ fi
case $host_cpu in
powerpc)
# see comment about AmigaOS4 .so support
- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
archive_expsym_cmds=''
;;
m68k)
@@ -9860,16 +10229,17 @@ fi
# Tell ltmain to make .lib files, not .a files.
libext=lib
# Tell ltmain to make .dll files, not .so files.
- shrext_cmds=".dll"
+ shrext_cmds=.dll
# FIXME: Setting linknames here is a bad hack.
- archive_cmds='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames='
- archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
- sed -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp;
- else
- sed -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp;
- fi~
- $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
- linknames='
+ archive_cmds='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames='
+ archive_expsym_cmds='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then
+ cp "$export_symbols" "$output_objdir/$soname.def";
+ echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp";
+ else
+ $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp;
+ fi~
+ $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
+ linknames='
# The linker will not automatically build a static lib if we build a DLL.
# _LT_TAGVAR(old_archive_from_new_cmds, )='true'
enable_shared_with_static_runtimes=yes
@@ -9878,18 +10248,18 @@ fi
# Don't use ranlib
old_postinstall_cmds='chmod 644 $oldlib'
postlink_cmds='lt_outputfile="@OUTPUT@"~
- lt_tool_outputfile="@TOOL_OUTPUT@"~
- case $lt_outputfile in
- *.exe|*.EXE) ;;
- *)
- lt_outputfile="$lt_outputfile.exe"
- lt_tool_outputfile="$lt_tool_outputfile.exe"
- ;;
- esac~
- if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then
- $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
- $RM "$lt_outputfile.manifest";
- fi'
+ lt_tool_outputfile="@TOOL_OUTPUT@"~
+ case $lt_outputfile in
+ *.exe|*.EXE) ;;
+ *)
+ lt_outputfile=$lt_outputfile.exe
+ lt_tool_outputfile=$lt_tool_outputfile.exe
+ ;;
+ esac~
+ if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then
+ $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
+ $RM "$lt_outputfile.manifest";
+ fi'
;;
*)
# Assume MSVC wrapper
@@ -9898,7 +10268,7 @@ fi
# Tell ltmain to make .lib files, not .a files.
libext=lib
# Tell ltmain to make .dll files, not .so files.
- shrext_cmds=".dll"
+ shrext_cmds=.dll
# FIXME: Setting linknames here is a bad hack.
archive_cmds='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
# The linker will automatically build a .lib file if we build a DLL.
@@ -9917,24 +10287,24 @@ fi
hardcode_direct=no
hardcode_automatic=yes
hardcode_shlibpath_var=unsupported
- if test "$lt_cv_ld_force_load" = "yes"; then
- whole_archive_flag_spec='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'
+ if test yes = "$lt_cv_ld_force_load"; then
+ whole_archive_flag_spec='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience $wl-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'
else
whole_archive_flag_spec=''
fi
link_all_deplibs=yes
- allow_undefined_flag="$_lt_dar_allow_undefined"
+ allow_undefined_flag=$_lt_dar_allow_undefined
case $cc_basename in
- ifort*) _lt_dar_can_shared=yes ;;
+ ifort*|nagfor*) _lt_dar_can_shared=yes ;;
*) _lt_dar_can_shared=$GCC ;;
esac
- if test "$_lt_dar_can_shared" = "yes"; then
+ if test yes = "$_lt_dar_can_shared"; then
output_verbose_link_cmd=func_echo_all
- archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
- module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
- archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
- module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
+ archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil"
+ module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil"
+ archive_expsym_cmds="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dar_export_syms$_lt_dsymutil"
+ module_expsym_cmds="sed -e 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dar_export_syms$_lt_dsymutil"
else
ld_shlibs=no
@@ -9976,33 +10346,33 @@ fi
;;
hpux9*)
- if test "$GCC" = yes; then
- archive_cmds='$RM $output_objdir/$soname~$CC -shared $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ if test yes = "$GCC"; then
+ archive_cmds='$RM $output_objdir/$soname~$CC -shared $pic_flag $wl+b $wl$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib'
else
- archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib'
fi
- hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
+ hardcode_libdir_flag_spec='$wl+b $wl$libdir'
hardcode_libdir_separator=:
hardcode_direct=yes
# hardcode_minus_L: Not really in the search PATH,
# but as the default location of the library.
hardcode_minus_L=yes
- export_dynamic_flag_spec='${wl}-E'
+ export_dynamic_flag_spec='$wl-E'
;;
hpux10*)
- if test "$GCC" = yes && test "$with_gnu_ld" = no; then
- archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+ if test yes,no = "$GCC,$with_gnu_ld"; then
+ archive_cmds='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
else
archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
fi
- if test "$with_gnu_ld" = no; then
- hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
+ if test no = "$with_gnu_ld"; then
+ hardcode_libdir_flag_spec='$wl+b $wl$libdir'
hardcode_libdir_separator=:
hardcode_direct=yes
hardcode_direct_absolute=yes
- export_dynamic_flag_spec='${wl}-E'
+ export_dynamic_flag_spec='$wl-E'
# hardcode_minus_L: Not really in the search PATH,
# but as the default location of the library.
hardcode_minus_L=yes
@@ -10010,25 +10380,25 @@ fi
;;
hpux11*)
- if test "$GCC" = yes && test "$with_gnu_ld" = no; then
+ if test yes,no = "$GCC,$with_gnu_ld"; then
case $host_cpu in
hppa*64*)
- archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_cmds='$CC -shared $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags'
;;
ia64*)
- archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+ archive_cmds='$CC -shared $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
;;
*)
- archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+ archive_cmds='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
;;
esac
else
case $host_cpu in
hppa*64*)
- archive_cmds='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_cmds='$CC -b $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags'
;;
ia64*)
- archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+ archive_cmds='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
;;
*)
@@ -10040,7 +10410,7 @@ if ${lt_cv_prog_compiler__b+:} false; then :
$as_echo_n "(cached) " >&6
else
lt_cv_prog_compiler__b=no
- save_LDFLAGS="$LDFLAGS"
+ save_LDFLAGS=$LDFLAGS
LDFLAGS="$LDFLAGS -b"
echo "$lt_simple_link_test_code" > conftest.$ac_ext
if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
@@ -10059,14 +10429,14 @@ else
fi
fi
$RM -r conftest*
- LDFLAGS="$save_LDFLAGS"
+ LDFLAGS=$save_LDFLAGS
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler__b" >&5
$as_echo "$lt_cv_prog_compiler__b" >&6; }
-if test x"$lt_cv_prog_compiler__b" = xyes; then
- archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+if test yes = "$lt_cv_prog_compiler__b"; then
+ archive_cmds='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
else
archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
fi
@@ -10074,8 +10444,8 @@ fi
;;
esac
fi
- if test "$with_gnu_ld" = no; then
- hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
+ if test no = "$with_gnu_ld"; then
+ hardcode_libdir_flag_spec='$wl+b $wl$libdir'
hardcode_libdir_separator=:
case $host_cpu in
@@ -10086,7 +10456,7 @@ fi
*)
hardcode_direct=yes
hardcode_direct_absolute=yes
- export_dynamic_flag_spec='${wl}-E'
+ export_dynamic_flag_spec='$wl-E'
# hardcode_minus_L: Not really in the search PATH,
# but as the default location of the library.
@@ -10097,8 +10467,8 @@ fi
;;
irix5* | irix6* | nonstopux*)
- if test "$GCC" = yes; then
- archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ if test yes = "$GCC"; then
+ archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
# Try to use the -exported_symbol ld option, if it does not
# work, assume that -exports_file does not work either and
# implicitly export all symbols.
@@ -10108,8 +10478,8 @@ $as_echo_n "checking whether the $host_os linker accepts -exported_symbol... " >
if ${lt_cv_irix_exported_symbol+:} false; then :
$as_echo_n "(cached) " >&6
else
- save_LDFLAGS="$LDFLAGS"
- LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
+ save_LDFLAGS=$LDFLAGS
+ LDFLAGS="$LDFLAGS -shared $wl-exported_symbol ${wl}foo $wl-update_registry $wl/dev/null"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int foo (void) { return 0; }
@@ -10121,24 +10491,35 @@ else
fi
rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext conftest.$ac_ext
- LDFLAGS="$save_LDFLAGS"
+ LDFLAGS=$save_LDFLAGS
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5
$as_echo "$lt_cv_irix_exported_symbol" >&6; }
- if test "$lt_cv_irix_exported_symbol" = yes; then
- archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
+ if test yes = "$lt_cv_irix_exported_symbol"; then
+ archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations $wl-exports_file $wl$export_symbols -o $lib'
fi
+ link_all_deplibs=no
else
- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
- archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
+ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
+ archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -exports_file $export_symbols -o $lib'
fi
archive_cmds_need_lc='no'
- hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+ hardcode_libdir_flag_spec='$wl-rpath $wl$libdir'
hardcode_libdir_separator=:
inherit_rpath=yes
link_all_deplibs=yes
;;
+ linux*)
+ case $cc_basename in
+ tcc*)
+ # Fabrice Bellard et al's Tiny C Compiler
+ ld_shlibs=yes
+ archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ esac
+ ;;
+
netbsd* | netbsdelf*-gnu)
if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
@@ -10153,7 +10534,7 @@ $as_echo "$lt_cv_irix_exported_symbol" >&6; }
newsos6)
archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
hardcode_direct=yes
- hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+ hardcode_libdir_flag_spec='$wl-rpath $wl$libdir'
hardcode_libdir_separator=:
hardcode_shlibpath_var=no
;;
@@ -10161,27 +10542,19 @@ $as_echo "$lt_cv_irix_exported_symbol" >&6; }
*nto* | *qnx*)
;;
- openbsd*)
+ openbsd* | bitrig*)
if test -f /usr/libexec/ld.so; then
hardcode_direct=yes
hardcode_shlibpath_var=no
hardcode_direct_absolute=yes
- if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
- hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
- export_dynamic_flag_spec='${wl}-E'
+ archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags $wl-retain-symbols-file,$export_symbols'
+ hardcode_libdir_flag_spec='$wl-rpath,$libdir'
+ export_dynamic_flag_spec='$wl-E'
else
- case $host_os in
- openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
- archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
- hardcode_libdir_flag_spec='-R$libdir'
- ;;
- *)
- archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
- hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
- ;;
- esac
+ archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+ hardcode_libdir_flag_spec='$wl-rpath,$libdir'
fi
else
ld_shlibs=no
@@ -10192,33 +10565,53 @@ $as_echo "$lt_cv_irix_exported_symbol" >&6; }
hardcode_libdir_flag_spec='-L$libdir'
hardcode_minus_L=yes
allow_undefined_flag=unsupported
- archive_cmds='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~echo DATA >> $output_objdir/$libname.def~echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
- old_archive_from_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
+ shrext_cmds=.dll
+ archive_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
+ $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
+ $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
+ $ECHO EXPORTS >> $output_objdir/$libname.def~
+ emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
+ $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
+ emximp -o $lib $output_objdir/$libname.def'
+ archive_expsym_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
+ $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
+ $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
+ $ECHO EXPORTS >> $output_objdir/$libname.def~
+ prefix_cmds="$SED"~
+ if test EXPORTS = "`$SED 1q $export_symbols`"; then
+ prefix_cmds="$prefix_cmds -e 1d";
+ fi~
+ prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~
+ cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
+ $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
+ emximp -o $lib $output_objdir/$libname.def'
+ old_archive_From_new_cmds='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
+ enable_shared_with_static_runtimes=yes
;;
osf3*)
- if test "$GCC" = yes; then
- allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
- archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ if test yes = "$GCC"; then
+ allow_undefined_flag=' $wl-expect_unresolved $wl\*'
+ archive_cmds='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
else
allow_undefined_flag=' -expect_unresolved \*'
- archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
+ archive_cmds='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
fi
archive_cmds_need_lc='no'
- hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+ hardcode_libdir_flag_spec='$wl-rpath $wl$libdir'
hardcode_libdir_separator=:
;;
osf4* | osf5*) # as osf3* with the addition of -msym flag
- if test "$GCC" = yes; then
- allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
- archive_cmds='$CC -shared${allow_undefined_flag} $pic_flag $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+ if test yes = "$GCC"; then
+ allow_undefined_flag=' $wl-expect_unresolved $wl\*'
+ archive_cmds='$CC -shared$allow_undefined_flag $pic_flag $libobjs $deplibs $compiler_flags $wl-msym $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
+ hardcode_libdir_flag_spec='$wl-rpath $wl$libdir'
else
allow_undefined_flag=' -expect_unresolved \*'
- archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
+ archive_cmds='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~
- $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp'
+ $CC -shared$allow_undefined_flag $wl-input $wl$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib~$RM $lib.exp'
# Both c and cxx compiler support -rpath directly
hardcode_libdir_flag_spec='-rpath $libdir'
@@ -10229,24 +10622,24 @@ $as_echo "$lt_cv_irix_exported_symbol" >&6; }
solaris*)
no_undefined_flag=' -z defs'
- if test "$GCC" = yes; then
- wlarc='${wl}'
- archive_cmds='$CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ if test yes = "$GCC"; then
+ wlarc='$wl'
+ archive_cmds='$CC -shared $pic_flag $wl-z ${wl}text $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags'
archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
- $CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
+ $CC -shared $pic_flag $wl-z ${wl}text $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
else
case `$CC -V 2>&1` in
*"Compilers 5.0"*)
wlarc=''
- archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ archive_cmds='$LD -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $linker_flags'
archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
- $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
+ $LD -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
;;
*)
- wlarc='${wl}'
- archive_cmds='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags'
+ wlarc='$wl'
+ archive_cmds='$CC -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $compiler_flags'
archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
- $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
+ $CC -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
;;
esac
fi
@@ -10256,11 +10649,11 @@ $as_echo "$lt_cv_irix_exported_symbol" >&6; }
solaris2.[0-5] | solaris2.[0-5].*) ;;
*)
# The compiler driver will combine and reorder linker options,
- # but understands `-z linker_flag'. GCC discards it without `$wl',
+ # but understands '-z linker_flag'. GCC discards it without '$wl',
# but is careful enough not to reorder.
# Supported since Solaris 2.6 (maybe 2.5.1?)
- if test "$GCC" = yes; then
- whole_archive_flag_spec='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
+ if test yes = "$GCC"; then
+ whole_archive_flag_spec='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract'
else
whole_archive_flag_spec='-z allextract$convenience -z defaultextract'
fi
@@ -10270,10 +10663,10 @@ $as_echo "$lt_cv_irix_exported_symbol" >&6; }
;;
sunos4*)
- if test "x$host_vendor" = xsequent; then
+ if test sequent = "$host_vendor"; then
# Use $CC to link under sequent, because it throws in some extra .o
# files that make .init and .fini sections work.
- archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_cmds='$CC -G $wl-h $soname -o $lib $libobjs $deplibs $compiler_flags'
else
archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
fi
@@ -10322,43 +10715,43 @@ $as_echo "$lt_cv_irix_exported_symbol" >&6; }
;;
sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
- no_undefined_flag='${wl}-z,text'
+ no_undefined_flag='$wl-z,text'
archive_cmds_need_lc=no
hardcode_shlibpath_var=no
runpath_var='LD_RUN_PATH'
- if test "$GCC" = yes; then
- archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ if test yes = "$GCC"; then
+ archive_cmds='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
else
- archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_cmds='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
fi
;;
sysv5* | sco3.2v5* | sco5v6*)
- # Note: We can NOT use -z defs as we might desire, because we do not
+ # Note: We CANNOT use -z defs as we might desire, because we do not
# link with -lc, and that would cause any symbols used from libc to
# always be unresolved, which means just about no library would
# ever link correctly. If we're not using GNU ld we use -z text
# though, which does catch some bad symbols but isn't as heavy-handed
# as -z defs.
- no_undefined_flag='${wl}-z,text'
- allow_undefined_flag='${wl}-z,nodefs'
+ no_undefined_flag='$wl-z,text'
+ allow_undefined_flag='$wl-z,nodefs'
archive_cmds_need_lc=no
hardcode_shlibpath_var=no
- hardcode_libdir_flag_spec='${wl}-R,$libdir'
+ hardcode_libdir_flag_spec='$wl-R,$libdir'
hardcode_libdir_separator=':'
link_all_deplibs=yes
- export_dynamic_flag_spec='${wl}-Bexport'
+ export_dynamic_flag_spec='$wl-Bexport'
runpath_var='LD_RUN_PATH'
- if test "$GCC" = yes; then
- archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ if test yes = "$GCC"; then
+ archive_cmds='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
else
- archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_cmds='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
fi
;;
@@ -10373,10 +10766,10 @@ $as_echo "$lt_cv_irix_exported_symbol" >&6; }
;;
esac
- if test x$host_vendor = xsni; then
+ if test sni = "$host_vendor"; then
case $host in
sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
- export_dynamic_flag_spec='${wl}-Blargedynsym'
+ export_dynamic_flag_spec='$wl-Blargedynsym'
;;
esac
fi
@@ -10384,7 +10777,7 @@ $as_echo "$lt_cv_irix_exported_symbol" >&6; }
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs" >&5
$as_echo "$ld_shlibs" >&6; }
-test "$ld_shlibs" = no && can_build_shared=no
+test no = "$ld_shlibs" && can_build_shared=no
with_gnu_ld=$with_gnu_ld
@@ -10410,7 +10803,7 @@ x|xyes)
# Assume -lc should be added
archive_cmds_need_lc=yes
- if test "$enable_shared" = yes && test "$GCC" = yes; then
+ if test yes,yes = "$GCC,$enable_shared"; then
case $archive_cmds in
*'~'*)
# FIXME: we may have to deal with multi-command sequences.
@@ -10625,14 +11018,14 @@ esac
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5
$as_echo_n "checking dynamic linker characteristics... " >&6; }
-if test "$GCC" = yes; then
+if test yes = "$GCC"; then
case $host_os in
- darwin*) lt_awk_arg="/^libraries:/,/LR/" ;;
- *) lt_awk_arg="/^libraries:/" ;;
+ darwin*) lt_awk_arg='/^libraries:/,/LR/' ;;
+ *) lt_awk_arg='/^libraries:/' ;;
esac
case $host_os in
- mingw* | cegcc*) lt_sed_strip_eq="s,=\([A-Za-z]:\),\1,g" ;;
- *) lt_sed_strip_eq="s,=/,/,g" ;;
+ mingw* | cegcc*) lt_sed_strip_eq='s|=\([A-Za-z]:\)|\1|g' ;;
+ *) lt_sed_strip_eq='s|=/|/|g' ;;
esac
lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq`
case $lt_search_path_spec in
@@ -10648,28 +11041,35 @@ if test "$GCC" = yes; then
;;
esac
# Ok, now we have the path, separated by spaces, we can step through it
- # and add multilib dir if necessary.
+ # and add multilib dir if necessary...
lt_tmp_lt_search_path_spec=
- lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
+ lt_multi_os_dir=/`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
+ # ...but if some path component already ends with the multilib dir we assume
+ # that all is fine and trust -print-search-dirs as is (GCC 4.2? or newer).
+ case "$lt_multi_os_dir; $lt_search_path_spec " in
+ "/; "* | "/.; "* | "/./; "* | *"$lt_multi_os_dir "* | *"$lt_multi_os_dir/ "*)
+ lt_multi_os_dir=
+ ;;
+ esac
for lt_sys_path in $lt_search_path_spec; do
- if test -d "$lt_sys_path/$lt_multi_os_dir"; then
- lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir"
- else
+ if test -d "$lt_sys_path$lt_multi_os_dir"; then
+ lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path$lt_multi_os_dir"
+ elif test -n "$lt_multi_os_dir"; then
test -d "$lt_sys_path" && \
lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
fi
done
lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk '
-BEGIN {RS=" "; FS="/|\n";} {
- lt_foo="";
- lt_count=0;
+BEGIN {RS = " "; FS = "/|\n";} {
+ lt_foo = "";
+ lt_count = 0;
for (lt_i = NF; lt_i > 0; lt_i--) {
if ($lt_i != "" && $lt_i != ".") {
if ($lt_i == "..") {
lt_count++;
} else {
if (lt_count == 0) {
- lt_foo="/" $lt_i lt_foo;
+ lt_foo = "/" $lt_i lt_foo;
} else {
lt_count--;
}
@@ -10683,7 +11083,7 @@ BEGIN {RS=" "; FS="/|\n";} {
# for these hosts.
case $host_os in
mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\
- $SED 's,/\([A-Za-z]:\),\1,g'` ;;
+ $SED 's|/\([A-Za-z]:\)|\1|g'` ;;
esac
sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP`
else
@@ -10692,7 +11092,7 @@ fi
library_names_spec=
libname_spec='lib$name'
soname_spec=
-shrext_cmds=".so"
+shrext_cmds=.so
postinstall_cmds=
postuninstall_cmds=
finish_cmds=
@@ -10709,14 +11109,16 @@ hardcode_into_libs=no
# flags to be left without arguments
need_version=unknown
+
+
case $host_os in
aix3*)
version_type=linux # correct to gnu/linux during the next big refactor
- library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname.a'
shlibpath_var=LIBPATH
# AIX 3 has no versioning support, so we append a major version to the name.
- soname_spec='${libname}${release}${shared_ext}$major'
+ soname_spec='$libname$release$shared_ext$major'
;;
aix[4-9]*)
@@ -10724,41 +11126,91 @@ aix[4-9]*)
need_lib_prefix=no
need_version=no
hardcode_into_libs=yes
- if test "$host_cpu" = ia64; then
+ if test ia64 = "$host_cpu"; then
# AIX 5 supports IA64
- library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
+ library_names_spec='$libname$release$shared_ext$major $libname$release$shared_ext$versuffix $libname$shared_ext'
shlibpath_var=LD_LIBRARY_PATH
else
# With GCC up to 2.95.x, collect2 would create an import file
# for dependence libraries. The import file would start with
- # the line `#! .'. This would cause the generated library to
- # depend on `.', always an invalid library. This was fixed in
+ # the line '#! .'. This would cause the generated library to
+ # depend on '.', always an invalid library. This was fixed in
# development snapshots of GCC prior to 3.0.
case $host_os in
aix4 | aix4.[01] | aix4.[01].*)
if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
echo ' yes '
- echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then
+ echo '#endif'; } | $CC -E - | $GREP yes > /dev/null; then
:
else
can_build_shared=no
fi
;;
esac
- # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
+ # Using Import Files as archive members, it is possible to support
+ # filename-based versioning of shared library archives on AIX. While
+ # this would work for both with and without runtime linking, it will
+ # prevent static linking of such archives. So we do filename-based
+ # shared library versioning with .so extension only, which is used
+ # when both runtime linking and shared linking is enabled.
+ # Unfortunately, runtime linking may impact performance, so we do
+ # not want this to be the default eventually. Also, we use the
+ # versioned .so libs for executables only if there is the -brtl
+ # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only.
+ # To allow for filename-based versioning support, we need to create
+ # libNAME.so.V as an archive file, containing:
+ # *) an Import File, referring to the versioned filename of the
+ # archive as well as the shared archive member, telling the
+ # bitwidth (32 or 64) of that shared object, and providing the
+ # list of exported symbols of that shared object, eventually
+ # decorated with the 'weak' keyword
+ # *) the shared object with the F_LOADONLY flag set, to really avoid
+ # it being seen by the linker.
+ # At run time we better use the real file rather than another symlink,
+ # but for link time we create the symlink libNAME.so -> libNAME.so.V
+
+ case $with_aix_soname,$aix_use_runtimelinking in
+ # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct
# soname into executable. Probably we can add versioning support to
# collect2, so additional links can be useful in future.
- if test "$aix_use_runtimelinking" = yes; then
+ aix,yes) # traditional libtool
+ dynamic_linker='AIX unversionable lib.so'
# If using run time linking (on AIX 4.2 or later) use lib<name>.so
# instead of lib<name>.a to let people know that these are not
# typical AIX shared libraries.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- else
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ ;;
+ aix,no) # traditional AIX only
+ dynamic_linker='AIX lib.a(lib.so.V)'
# We preserve .a as extension for shared libraries through AIX4.2
# and later when we are not doing run time linking.
- library_names_spec='${libname}${release}.a $libname.a'
- soname_spec='${libname}${release}${shared_ext}$major'
- fi
+ library_names_spec='$libname$release.a $libname.a'
+ soname_spec='$libname$release$shared_ext$major'
+ ;;
+ svr4,*) # full svr4 only
+ dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o)"
+ library_names_spec='$libname$release$shared_ext$major $libname$shared_ext'
+ # We do not specify a path in Import Files, so LIBPATH fires.
+ shlibpath_overrides_runpath=yes
+ ;;
+ *,yes) # both, prefer svr4
+ dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o), lib.a(lib.so.V)"
+ library_names_spec='$libname$release$shared_ext$major $libname$shared_ext'
+ # unpreferred sharedlib libNAME.a needs extra handling
+ postinstall_cmds='test -n "$linkname" || linkname="$realname"~func_stripname "" ".so" "$linkname"~$install_shared_prog "$dir/$func_stripname_result.$libext" "$destdir/$func_stripname_result.$libext"~test -z "$tstripme" || test -z "$striplib" || $striplib "$destdir/$func_stripname_result.$libext"'
+ postuninstall_cmds='for n in $library_names $old_library; do :; done~func_stripname "" ".so" "$n"~test "$func_stripname_result" = "$n" || func_append rmfiles " $odir/$func_stripname_result.$libext"'
+ # We do not specify a path in Import Files, so LIBPATH fires.
+ shlibpath_overrides_runpath=yes
+ ;;
+ *,no) # both, prefer aix
+ dynamic_linker="AIX lib.a(lib.so.V), lib.so.V($shared_archive_member_spec.o)"
+ library_names_spec='$libname$release.a $libname.a'
+ soname_spec='$libname$release$shared_ext$major'
+ # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling
+ postinstall_cmds='test -z "$dlname" || $install_shared_prog $dir/$dlname $destdir/$dlname~test -z "$tstripme" || test -z "$striplib" || $striplib $destdir/$dlname~test -n "$linkname" || linkname=$realname~func_stripname "" ".a" "$linkname"~(cd "$destdir" && $LN_S -f $dlname $func_stripname_result.so)'
+ postuninstall_cmds='test -z "$dlname" || func_append rmfiles " $odir/$dlname"~for n in $old_library $library_names; do :; done~func_stripname "" ".a" "$n"~func_append rmfiles " $odir/$func_stripname_result.so"'
+ ;;
+ esac
shlibpath_var=LIBPATH
fi
;;
@@ -10768,18 +11220,18 @@ amigaos*)
powerpc)
# Since July 2007 AmigaOS4 officially supports .so libraries.
# When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
;;
m68k)
library_names_spec='$libname.ixlibrary $libname.a'
# Create ${libname}_ixlibrary.a entries in /sys/libs.
- finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
+ finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
;;
esac
;;
beos*)
- library_names_spec='${libname}${shared_ext}'
+ library_names_spec='$libname$shared_ext'
dynamic_linker="$host_os ld.so"
shlibpath_var=LIBRARY_PATH
;;
@@ -10787,8 +11239,8 @@ beos*)
bsdi[45]*)
version_type=linux # correct to gnu/linux during the next big refactor
need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
shlibpath_var=LD_LIBRARY_PATH
sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
@@ -10800,7 +11252,7 @@ bsdi[45]*)
cygwin* | mingw* | pw32* | cegcc*)
version_type=windows
- shrext_cmds=".dll"
+ shrext_cmds=.dll
need_version=no
need_lib_prefix=no
@@ -10809,8 +11261,8 @@ cygwin* | mingw* | pw32* | cegcc*)
# gcc
library_names_spec='$libname.dll.a'
# DLL is installed to $(libdir)/../bin by postinstall_cmds
- postinstall_cmds='base_file=`basename \${file}`~
- dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
+ postinstall_cmds='base_file=`basename \$file`~
+ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~
dldir=$destdir/`dirname \$dlpath`~
test -d \$dldir || mkdir -p \$dldir~
$install_prog $dir/$dlname \$dldir/$dlname~
@@ -10826,17 +11278,17 @@ cygwin* | mingw* | pw32* | cegcc*)
case $host_os in
cygwin*)
# Cygwin DLLs use 'cyg' prefix rather than 'lib'
- soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+ soname_spec='`echo $libname | sed -e 's/^lib/cyg/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'
sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"
;;
mingw* | cegcc*)
# MinGW DLLs use traditional 'lib' prefix
- soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+ soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'
;;
pw32*)
# pw32 DLLs use 'pw' prefix rather than 'lib'
- library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+ library_names_spec='`echo $libname | sed -e 's/^lib/pw/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'
;;
esac
dynamic_linker='Win32 ld.exe'
@@ -10845,8 +11297,8 @@ cygwin* | mingw* | pw32* | cegcc*)
*,cl*)
# Native MSVC
libname_spec='$name'
- soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
- library_names_spec='${libname}.dll.lib'
+ soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'
+ library_names_spec='$libname.dll.lib'
case $build_os in
mingw*)
@@ -10873,7 +11325,7 @@ cygwin* | mingw* | pw32* | cegcc*)
sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
;;
*)
- sys_lib_search_path_spec="$LIB"
+ sys_lib_search_path_spec=$LIB
if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then
# It is most probably a Windows format PATH.
sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
@@ -10886,8 +11338,8 @@ cygwin* | mingw* | pw32* | cegcc*)
esac
# DLL is installed to $(libdir)/../bin by postinstall_cmds
- postinstall_cmds='base_file=`basename \${file}`~
- dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
+ postinstall_cmds='base_file=`basename \$file`~
+ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~
dldir=$destdir/`dirname \$dlpath`~
test -d \$dldir || mkdir -p \$dldir~
$install_prog $dir/$dlname \$dldir/$dlname'
@@ -10900,7 +11352,7 @@ cygwin* | mingw* | pw32* | cegcc*)
*)
# Assume MSVC wrapper
- library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib'
+ library_names_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext $libname.lib'
dynamic_linker='Win32 ld.exe'
;;
esac
@@ -10913,8 +11365,8 @@ darwin* | rhapsody*)
version_type=darwin
need_lib_prefix=no
need_version=no
- library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext'
- soname_spec='${libname}${release}${major}$shared_ext'
+ library_names_spec='$libname$release$major$shared_ext $libname$shared_ext'
+ soname_spec='$libname$release$major$shared_ext'
shlibpath_overrides_runpath=yes
shlibpath_var=DYLD_LIBRARY_PATH
shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
@@ -10927,8 +11379,8 @@ dgux*)
version_type=linux # correct to gnu/linux during the next big refactor
need_lib_prefix=no
need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
- soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
shlibpath_var=LD_LIBRARY_PATH
;;
@@ -10946,12 +11398,13 @@ freebsd* | dragonfly*)
version_type=freebsd-$objformat
case $version_type in
freebsd-elf*)
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
need_version=no
need_lib_prefix=no
;;
freebsd-*)
- library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
need_version=yes
;;
esac
@@ -10981,10 +11434,10 @@ haiku*)
need_lib_prefix=no
need_version=no
dynamic_linker="$host_os runtime_loader"
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
shlibpath_var=LIBRARY_PATH
- shlibpath_overrides_runpath=yes
+ shlibpath_overrides_runpath=no
sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
hardcode_into_libs=yes
;;
@@ -11002,14 +11455,15 @@ hpux9* | hpux10* | hpux11*)
dynamic_linker="$host_os dld.so"
shlibpath_var=LD_LIBRARY_PATH
shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- if test "X$HPUX_IA64_MODE" = X32; then
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
+ if test 32 = "$HPUX_IA64_MODE"; then
sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
+ sys_lib_dlsearch_path_spec=/usr/lib/hpux32
else
sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
+ sys_lib_dlsearch_path_spec=/usr/lib/hpux64
fi
- sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
;;
hppa*64*)
shrext_cmds='.sl'
@@ -11017,8 +11471,8 @@ hpux9* | hpux10* | hpux11*)
dynamic_linker="$host_os dld.sl"
shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
;;
@@ -11027,8 +11481,8 @@ hpux9* | hpux10* | hpux11*)
dynamic_linker="$host_os dld.sl"
shlibpath_var=SHLIB_PATH
shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
;;
esac
# HP-UX runs *really* slowly unless shared libraries are mode 555, ...
@@ -11041,8 +11495,8 @@ interix[3-9]*)
version_type=linux # correct to gnu/linux during the next big refactor
need_lib_prefix=no
need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
shlibpath_var=LD_LIBRARY_PATH
shlibpath_overrides_runpath=no
@@ -11053,7 +11507,7 @@ irix5* | irix6* | nonstopux*)
case $host_os in
nonstopux*) version_type=nonstopux ;;
*)
- if test "$lt_cv_prog_gnu_ld" = yes; then
+ if test yes = "$lt_cv_prog_gnu_ld"; then
version_type=linux # correct to gnu/linux during the next big refactor
else
version_type=irix
@@ -11061,8 +11515,8 @@ irix5* | irix6* | nonstopux*)
esac
need_lib_prefix=no
need_version=no
- soname_spec='${libname}${release}${shared_ext}$major'
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
+ soname_spec='$libname$release$shared_ext$major'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$release$shared_ext $libname$shared_ext'
case $host_os in
irix5* | nonstopux*)
libsuff= shlibsuff=
@@ -11081,8 +11535,8 @@ irix5* | irix6* | nonstopux*)
esac
shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
shlibpath_overrides_runpath=no
- sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
- sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
+ sys_lib_search_path_spec="/usr/lib$libsuff /lib$libsuff /usr/local/lib$libsuff"
+ sys_lib_dlsearch_path_spec="/usr/lib$libsuff /lib$libsuff"
hardcode_into_libs=yes
;;
@@ -11091,13 +11545,33 @@ linux*oldld* | linux*aout* | linux*coff*)
dynamic_linker=no
;;
+linux*android*)
+ version_type=none # Android doesn't support versioned libraries.
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='$libname$release$shared_ext'
+ soname_spec='$libname$release$shared_ext'
+ finish_cmds=
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+
+ # This implies no fast_install, which is unacceptable.
+ # Some rework will be needed to allow for fast_install
+ # before this can be enabled.
+ hardcode_into_libs=yes
+
+ dynamic_linker='Android linker'
+ # Don't embed -rpath directories since the linker doesn't support them.
+ hardcode_libdir_flag_spec='-L$libdir'
+ ;;
+
# This must be glibc/ELF.
linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
version_type=linux # correct to gnu/linux during the next big refactor
need_lib_prefix=no
need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
shlibpath_var=LD_LIBRARY_PATH
shlibpath_overrides_runpath=no
@@ -11141,7 +11615,12 @@ fi
# before this can be enabled.
hardcode_into_libs=yes
- # Append ld.so.conf contents to the search path
+ # Ideally, we could use ldconfig to report *all* directores which are
+ # searched for libraries, however this is still not possible. Aside from not
+ # being certain /sbin/ldconfig is available, command
+ # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64,
+ # even though it is searched at run-time. Try to do the best guess by
+ # appending ld.so.conf contents (and includes) to the search path.
if test -f /etc/ld.so.conf; then
lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
@@ -11173,12 +11652,12 @@ netbsd*)
need_lib_prefix=no
need_version=no
if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
dynamic_linker='NetBSD (a.out) ld.so'
else
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
dynamic_linker='NetBSD ld.elf_so'
fi
shlibpath_var=LD_LIBRARY_PATH
@@ -11188,7 +11667,7 @@ netbsd*)
newsos6)
version_type=linux # correct to gnu/linux during the next big refactor
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
shlibpath_var=LD_LIBRARY_PATH
shlibpath_overrides_runpath=yes
;;
@@ -11197,58 +11676,68 @@ newsos6)
version_type=qnx
need_lib_prefix=no
need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
shlibpath_var=LD_LIBRARY_PATH
shlibpath_overrides_runpath=no
hardcode_into_libs=yes
dynamic_linker='ldqnx.so'
;;
-openbsd*)
+openbsd* | bitrig*)
version_type=sunos
- sys_lib_dlsearch_path_spec="/usr/lib"
+ sys_lib_dlsearch_path_spec=/usr/lib
need_lib_prefix=no
- # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
- case $host_os in
- openbsd3.3 | openbsd3.3.*) need_version=yes ;;
- *) need_version=no ;;
- esac
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- case $host_os in
- openbsd2.[89] | openbsd2.[89].*)
- shlibpath_overrides_runpath=no
- ;;
- *)
- shlibpath_overrides_runpath=yes
- ;;
- esac
+ if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
+ need_version=no
else
- shlibpath_overrides_runpath=yes
+ need_version=yes
fi
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
;;
os2*)
libname_spec='$name'
- shrext_cmds=".dll"
+ version_type=windows
+ shrext_cmds=.dll
+ need_version=no
need_lib_prefix=no
- library_names_spec='$libname${shared_ext} $libname.a'
+ # OS/2 can only load a DLL with a base name of 8 characters or less.
+ soname_spec='`test -n "$os2dllname" && libname="$os2dllname";
+ v=$($ECHO $release$versuffix | tr -d .-);
+ n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _);
+ $ECHO $n$v`$shared_ext'
+ library_names_spec='${libname}_dll.$libext'
dynamic_linker='OS/2 ld.exe'
- shlibpath_var=LIBPATH
+ shlibpath_var=BEGINLIBPATH
+ sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
+ sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+ postinstall_cmds='base_file=`basename \$file`~
+ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; $ECHO \$dlname'\''`~
+ dldir=$destdir/`dirname \$dlpath`~
+ test -d \$dldir || mkdir -p \$dldir~
+ $install_prog $dir/$dlname \$dldir/$dlname~
+ chmod a+x \$dldir/$dlname~
+ if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
+ eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
+ fi'
+ postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; $ECHO \$dlname'\''`~
+ dlpath=$dir/\$dldll~
+ $RM \$dlpath'
;;
osf3* | osf4* | osf5*)
version_type=osf
need_lib_prefix=no
need_version=no
- soname_spec='${libname}${release}${shared_ext}$major'
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='$libname$release$shared_ext$major'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
shlibpath_var=LD_LIBRARY_PATH
sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
- sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
+ sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
;;
rdos*)
@@ -11259,8 +11748,8 @@ solaris*)
version_type=linux # correct to gnu/linux during the next big refactor
need_lib_prefix=no
need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
shlibpath_var=LD_LIBRARY_PATH
shlibpath_overrides_runpath=yes
hardcode_into_libs=yes
@@ -11270,11 +11759,11 @@ solaris*)
sunos4*)
version_type=sunos
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
shlibpath_var=LD_LIBRARY_PATH
shlibpath_overrides_runpath=yes
- if test "$with_gnu_ld" = yes; then
+ if test yes = "$with_gnu_ld"; then
need_lib_prefix=no
fi
need_version=yes
@@ -11282,8 +11771,8 @@ sunos4*)
sysv4 | sysv4.3*)
version_type=linux # correct to gnu/linux during the next big refactor
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
shlibpath_var=LD_LIBRARY_PATH
case $host_vendor in
sni)
@@ -11304,24 +11793,24 @@ sysv4 | sysv4.3*)
;;
sysv4*MP*)
- if test -d /usr/nec ;then
+ if test -d /usr/nec; then
version_type=linux # correct to gnu/linux during the next big refactor
- library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
- soname_spec='$libname${shared_ext}.$major'
+ library_names_spec='$libname$shared_ext.$versuffix $libname$shared_ext.$major $libname$shared_ext'
+ soname_spec='$libname$shared_ext.$major'
shlibpath_var=LD_LIBRARY_PATH
fi
;;
sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
- version_type=freebsd-elf
+ version_type=sco
need_lib_prefix=no
need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
shlibpath_var=LD_LIBRARY_PATH
shlibpath_overrides_runpath=yes
hardcode_into_libs=yes
- if test "$with_gnu_ld" = yes; then
+ if test yes = "$with_gnu_ld"; then
sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
else
sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
@@ -11339,7 +11828,7 @@ tpf*)
version_type=linux # correct to gnu/linux during the next big refactor
need_lib_prefix=no
need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
shlibpath_var=LD_LIBRARY_PATH
shlibpath_overrides_runpath=no
hardcode_into_libs=yes
@@ -11347,8 +11836,8 @@ tpf*)
uts4*)
version_type=linux # correct to gnu/linux during the next big refactor
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
shlibpath_var=LD_LIBRARY_PATH
;;
@@ -11358,20 +11847,35 @@ uts4*)
esac
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5
$as_echo "$dynamic_linker" >&6; }
-test "$dynamic_linker" = no && can_build_shared=no
+test no = "$dynamic_linker" && can_build_shared=no
variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
-if test "$GCC" = yes; then
+if test yes = "$GCC"; then
variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
fi
-if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
- sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
+if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then
+ sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec
fi
-if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
- sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
+
+if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then
+ sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec
fi
+# remember unaugmented sys_lib_dlsearch_path content for libtool script decls...
+configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec
+
+# ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code
+func_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH"
+
+# to be used as default LT_SYS_LIBRARY_PATH value in generated libtool
+configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH
+
+
+
+
+
+
@@ -11468,15 +11972,15 @@ $as_echo_n "checking how to hardcode library paths into programs... " >&6; }
hardcode_action=
if test -n "$hardcode_libdir_flag_spec" ||
test -n "$runpath_var" ||
- test "X$hardcode_automatic" = "Xyes" ; then
+ test yes = "$hardcode_automatic"; then
# We can hardcode non-existent directories.
- if test "$hardcode_direct" != no &&
+ if test no != "$hardcode_direct" &&
# If the only mechanism to avoid hardcoding is shlibpath_var, we
# have to relink, otherwise we might link with an installed library
# when we should be linking with a yet-to-be-installed one
- ## test "$_LT_TAGVAR(hardcode_shlibpath_var, )" != no &&
- test "$hardcode_minus_L" != no; then
+ ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, )" &&
+ test no != "$hardcode_minus_L"; then
# Linking always hardcodes the temporary library directory.
hardcode_action=relink
else
@@ -11491,12 +11995,12 @@ fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action" >&5
$as_echo "$hardcode_action" >&6; }
-if test "$hardcode_action" = relink ||
- test "$inherit_rpath" = yes; then
+if test relink = "$hardcode_action" ||
+ test yes = "$inherit_rpath"; then
# Fast installation is not supported
enable_fast_install=no
-elif test "$shlibpath_overrides_runpath" = yes ||
- test "$enable_shared" = no; then
+elif test yes = "$shlibpath_overrides_runpath" ||
+ test no = "$enable_shared"; then
# Fast installation is not necessary
enable_fast_install=needless
fi
@@ -11506,7 +12010,7 @@ fi
- if test "x$enable_dlopen" != xyes; then
+ if test yes != "$enable_dlopen"; then
enable_dlopen=unknown
enable_dlopen_self=unknown
enable_dlopen_self_static=unknown
@@ -11516,23 +12020,23 @@ else
case $host_os in
beos*)
- lt_cv_dlopen="load_add_on"
+ lt_cv_dlopen=load_add_on
lt_cv_dlopen_libs=
lt_cv_dlopen_self=yes
;;
mingw* | pw32* | cegcc*)
- lt_cv_dlopen="LoadLibrary"
+ lt_cv_dlopen=LoadLibrary
lt_cv_dlopen_libs=
;;
cygwin*)
- lt_cv_dlopen="dlopen"
+ lt_cv_dlopen=dlopen
lt_cv_dlopen_libs=
;;
darwin*)
- # if libdl is installed we need to link against it
+ # if libdl is installed we need to link against it
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
$as_echo_n "checking for dlopen in -ldl... " >&6; }
if ${ac_cv_lib_dl_dlopen+:} false; then :
@@ -11570,10 +12074,10 @@ fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
- lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
+ lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl
else
- lt_cv_dlopen="dyld"
+ lt_cv_dlopen=dyld
lt_cv_dlopen_libs=
lt_cv_dlopen_self=yes
@@ -11581,10 +12085,18 @@ fi
;;
+ tpf*)
+ # Don't try to run any link tests for TPF. We know it's impossible
+ # because TPF is a cross-compiler, and we know how we open DSOs.
+ lt_cv_dlopen=dlopen
+ lt_cv_dlopen_libs=
+ lt_cv_dlopen_self=no
+ ;;
+
*)
ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load"
if test "x$ac_cv_func_shl_load" = xyes; then :
- lt_cv_dlopen="shl_load"
+ lt_cv_dlopen=shl_load
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5
$as_echo_n "checking for shl_load in -ldld... " >&6; }
@@ -11623,11 +12135,11 @@ fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5
$as_echo "$ac_cv_lib_dld_shl_load" >&6; }
if test "x$ac_cv_lib_dld_shl_load" = xyes; then :
- lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"
+ lt_cv_dlopen=shl_load lt_cv_dlopen_libs=-ldld
else
ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen"
if test "x$ac_cv_func_dlopen" = xyes; then :
- lt_cv_dlopen="dlopen"
+ lt_cv_dlopen=dlopen
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
$as_echo_n "checking for dlopen in -ldl... " >&6; }
@@ -11666,7 +12178,7 @@ fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
- lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
+ lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5
$as_echo_n "checking for dlopen in -lsvld... " >&6; }
@@ -11705,7 +12217,7 @@ fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5
$as_echo "$ac_cv_lib_svld_dlopen" >&6; }
if test "x$ac_cv_lib_svld_dlopen" = xyes; then :
- lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"
+ lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-lsvld
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5
$as_echo_n "checking for dld_link in -ldld... " >&6; }
@@ -11744,7 +12256,7 @@ fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5
$as_echo "$ac_cv_lib_dld_dld_link" >&6; }
if test "x$ac_cv_lib_dld_dld_link" = xyes; then :
- lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"
+ lt_cv_dlopen=dld_link lt_cv_dlopen_libs=-ldld
fi
@@ -11765,21 +12277,21 @@ fi
;;
esac
- if test "x$lt_cv_dlopen" != xno; then
- enable_dlopen=yes
- else
+ if test no = "$lt_cv_dlopen"; then
enable_dlopen=no
+ else
+ enable_dlopen=yes
fi
case $lt_cv_dlopen in
dlopen)
- save_CPPFLAGS="$CPPFLAGS"
- test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
+ save_CPPFLAGS=$CPPFLAGS
+ test yes = "$ac_cv_header_dlfcn_h" && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
- save_LDFLAGS="$LDFLAGS"
+ save_LDFLAGS=$LDFLAGS
wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
- save_LIBS="$LIBS"
+ save_LIBS=$LIBS
LIBS="$lt_cv_dlopen_libs $LIBS"
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5
@@ -11787,7 +12299,7 @@ $as_echo_n "checking whether a program can dlopen itself... " >&6; }
if ${lt_cv_dlopen_self+:} false; then :
$as_echo_n "(cached) " >&6
else
- if test "$cross_compiling" = yes; then :
+ if test yes = "$cross_compiling"; then :
lt_cv_dlopen_self=cross
else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
@@ -11834,9 +12346,9 @@ else
# endif
#endif
-/* When -fvisbility=hidden is used, assume the code has been annotated
+/* When -fvisibility=hidden is used, assume the code has been annotated
correspondingly for the symbols needed. */
-#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
+#if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
int fnord () __attribute__((visibility("default")));
#endif
@@ -11866,7 +12378,7 @@ _LT_EOF
(eval $ac_link) 2>&5
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then
+ test $ac_status = 0; } && test -s "conftest$ac_exeext" 2>/dev/null; then
(./conftest; exit; ) >&5 2>/dev/null
lt_status=$?
case x$lt_status in
@@ -11886,14 +12398,14 @@ fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&5
$as_echo "$lt_cv_dlopen_self" >&6; }
- if test "x$lt_cv_dlopen_self" = xyes; then
+ if test yes = "$lt_cv_dlopen_self"; then
wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5
$as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; }
if ${lt_cv_dlopen_self_static+:} false; then :
$as_echo_n "(cached) " >&6
else
- if test "$cross_compiling" = yes; then :
+ if test yes = "$cross_compiling"; then :
lt_cv_dlopen_self_static=cross
else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
@@ -11940,9 +12452,9 @@ else
# endif
#endif
-/* When -fvisbility=hidden is used, assume the code has been annotated
+/* When -fvisibility=hidden is used, assume the code has been annotated
correspondingly for the symbols needed. */
-#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
+#if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
int fnord () __attribute__((visibility("default")));
#endif
@@ -11972,7 +12484,7 @@ _LT_EOF
(eval $ac_link) 2>&5
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then
+ test $ac_status = 0; } && test -s "conftest$ac_exeext" 2>/dev/null; then
(./conftest; exit; ) >&5 2>/dev/null
lt_status=$?
case x$lt_status in
@@ -11993,9 +12505,9 @@ fi
$as_echo "$lt_cv_dlopen_self_static" >&6; }
fi
- CPPFLAGS="$save_CPPFLAGS"
- LDFLAGS="$save_LDFLAGS"
- LIBS="$save_LIBS"
+ CPPFLAGS=$save_CPPFLAGS
+ LDFLAGS=$save_LDFLAGS
+ LIBS=$save_LIBS
;;
esac
@@ -12039,7 +12551,7 @@ else
# FIXME - insert some real tests, host_os isn't really good enough
case $host_os in
darwin*)
- if test -n "$STRIP" ; then
+ if test -n "$STRIP"; then
striplib="$STRIP -x"
old_striplib="$STRIP -S"
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
@@ -12067,7 +12579,7 @@ fi
- # Report which library types will actually be built
+ # Report what library types will actually be built
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5
$as_echo_n "checking if libtool supports shared libraries... " >&6; }
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5
@@ -12075,13 +12587,13 @@ $as_echo "$can_build_shared" >&6; }
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5
$as_echo_n "checking whether to build shared libraries... " >&6; }
- test "$can_build_shared" = "no" && enable_shared=no
+ test no = "$can_build_shared" && enable_shared=no
# On AIX, shared libraries and static libraries use the same namespace, and
# are all built from PIC.
case $host_os in
aix3*)
- test "$enable_shared" = yes && enable_static=no
+ test yes = "$enable_shared" && enable_static=no
if test -n "$RANLIB"; then
archive_cmds="$archive_cmds~\$RANLIB \$lib"
postinstall_cmds='$RANLIB $lib'
@@ -12089,8 +12601,12 @@ $as_echo_n "checking whether to build shared libraries... " >&6; }
;;
aix[4-9]*)
- if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
- test "$enable_shared" = yes && enable_static=no
+ if test ia64 != "$host_cpu"; then
+ case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in
+ yes,aix,yes) ;; # shared object as lib.so file only
+ yes,svr4,*) ;; # shared object as lib.so archive member only
+ yes,*) enable_static=no ;; # shared object in lib.a archive as well
+ esac
fi
;;
esac
@@ -12100,7 +12616,7 @@ $as_echo "$enable_shared" >&6; }
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5
$as_echo_n "checking whether to build static libraries... " >&6; }
# Make sure either enable_shared or enable_static is yes.
- test "$enable_shared" = yes || enable_static=yes
+ test yes = "$enable_shared" || enable_static=yes
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5
$as_echo "$enable_static" >&6; }
@@ -12114,7 +12630,7 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_c_compiler_gnu
-CC="$lt_save_CC"
+CC=$lt_save_CC
@@ -13105,7 +13621,6 @@ fi
XMLSEC_EXTRA_LDFLAGS=
XMLSEC_CRYPTO_EXTRA_LDFLAGS=
-xmlsec_sharedlib_hack="no"
if test -n "$shrext"; then
XMLSEC_SHLIBSFX="$shrext"
else
@@ -13119,7 +13634,13 @@ case "${host}" in
XMLSEC_EXTRA_LDFLAGS="-no-undefined -avoid-version"
XMLSEC_CRYPTO_EXTRA_LDFLAGS="-no-undefined -avoid-version"
XMLSEC_SHLIBSFX=".dll.a"
- xmlsec_sharedlib_hack="yes"
+ # To avoid problem with loading of a shared library (dlopen or
+ # equivalent) at run time on some platforms we need to link
+ # everything statically (it works without hack on 9x and under
+ # emulation; on nt 5.x (w2k,xp) the error is 998: "Invalid
+ # access to memory location").
+ enable_static_linking="yes"
+ enable_crypto_dl="no"
;;
*-*-cygwin*)
XMLSEC_EXTRA_LDFLAGS="-no-undefined"
@@ -13130,19 +13651,6 @@ case "${host}" in
;;
esac
-# To avoid problem with loading of a shared library (dlopen or equivalent)
-# at run time on some platforms we need to link crypto modules with extra
-# source. It's work without hack on 9x and under emulation.
-# On nt 5.x (w2k,xp) the error is 998("Invalid access to memory location").
- if test "z$xmlsec_sharedlib_hack" = "zyes"; then
- SHAREDLIB_HACK_TRUE=
- SHAREDLIB_HACK_FALSE='#'
-else
- SHAREDLIB_HACK_TRUE='#'
- SHAREDLIB_HACK_FALSE=
-fi
-
-
if test "z$shrext" == "z" ; then
shrext=$shrext_cmds
fi
@@ -14208,7 +14716,7 @@ if test "z$OPENSSL_FOUND" = "zyes" -a "z$OPENSSL_VERSION" = "z" ; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for openssl libraries >= $OPENSSL_MIN_VERSION" >&5
$as_echo_n "checking for openssl libraries >= $OPENSSL_MIN_VERSION... " >&6; }
- OLD_CPPFLAGS=$CPPFLAGS
+ OLD_CPPFLAGS=$CPPFLAGS
CPPFLAGS="$OPENSSL_CFLAGS"
if test "z$OPENSSL_VERSION" = "z" ; then
@@ -14216,7 +14724,31 @@ $as_echo_n "checking for openssl libraries >= $OPENSSL_MIN_VERSION... " >&6; }
/* end confdefs.h. */
#include <openssl/opensslv.h>
- #if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER)
+ #if OPENSSL_VERSION_NUMBER == 0x20000000L && defined(LIBRESSL_VERSION_NUMBER)
+ yes
+ #endif
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ $EGREP "yes" >/dev/null 2>&1; then :
+
+ OPENSSL_VERSION="1.0.0 (libressl)"
+
+else
+
+ OPENSSL_VERSION=""
+
+fi
+rm -f conftest*
+
+ fi
+
+ if test "z$OPENSSL_VERSION" = "z" ; then
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+ #include <openssl/opensslv.h>
+ #if OPENSSL_VERSION_NUMBER >= 0x10100000L
yes
#endif
@@ -14295,40 +14827,7 @@ $as_echo "yes ('$OPENSSL_VERSION')" >&6; }
fi
if test "z$OPENSSL_FOUND" = "zyes" ; then
- OLD_CPPFLAGS=$CPPFLAGS
- CPPFLAGS="$OPENSSL_CFLAGS"
-
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
- #include <openssl/opensslconf.h>
- #ifdef OPENSSL_NO_ECDSA
- yes
- #endif
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "yes" >/dev/null 2>&1; then :
-
- OPENSSL_CFLAGS="$OPENSSL_CFLAGS -DXMLSEC_NO_ECDSA=1"
-
-fi
-rm -f conftest*
-
- CPPFLAGS=$OLD_CPPFLAGS
-fi
-
-if test "z$OPENSSL_FOUND" = "zyes" ; then
XMLSEC_NO_OPENSSL="0"
- if test "z$OPENSSL_VERSION" = "z0.9.8" ; then
- OPENSSL_CFLAGS="$OPENSSL_CFLAGS -DXMLSEC_OPENSSL_098=1 -DXMLSEC_NO_ECDSA=1 -DXMLSEC_NO_SHA256=1"
- fi
- if test "z$OPENSSL_VERSION" = "z1.0.0" ; then
- OPENSSL_CFLAGS="$OPENSSL_CFLAGS -DXMLSEC_OPENSSL_100=1"
- fi
- if test "z$OPENSSL_VERSION" = "z1.1.0" ; then
- OPENSSL_CFLAGS="$OPENSSL_CFLAGS -DXMLSEC_OPENSSL_110=1"
- fi
OPENSSL_CFLAGS="$OPENSSL_CFLAGS -DXMLSEC_CRYPTO_OPENSSL=1"
XMLSEC_CRYPTO_LIST="$XMLSEC_CRYPTO_LIST openssl"
else
@@ -14352,7 +14851,7 @@ fi
XMLSEC_NO_NSS="1"
SEAMONKEY_MIN_VERSION="1.0"
MOZILLA_MIN_VERSION="1.4"
-NSS_MIN_VERSION="3.9"
+NSS_MIN_VERSION="3.11.1"
NSPR_MIN_VERSION="4.4.1"
NSS_CFLAGS=""
NSS_LIBS=""
@@ -16102,6 +16601,58 @@ fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for docs" >&5
+$as_echo_n "checking for docs... " >&6; }
+# Check whether --enable-docs was given.
+if test "${enable_docs+set}" = set; then :
+ enableval=$enable_docs;
+fi
+
+if test "z$enable_docs" = "zno" ; then
+ XMLSEC_DOCS="0"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+else
+ XMLSEC_DOCS="1"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+fi
+ if test "z$XMLSEC_DOCS" = "z1"; then
+ XMLSEC_DOCS_TRUE=
+ XMLSEC_DOCS_FALSE='#'
+else
+ XMLSEC_DOCS_TRUE='#'
+ XMLSEC_DOCS_FALSE=
+fi
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for apps" >&5
+$as_echo_n "checking for apps... " >&6; }
+# Check whether --enable-apps was given.
+if test "${enable_apps+set}" = set; then :
+ enableval=$enable_apps;
+fi
+
+if test "z$enable_apps" = "zno" ; then
+ XMLSEC_APPS="0"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+else
+ XMLSEC_APPS="1"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+fi
+ if test "z$XMLSEC_APPS" = "z1"; then
+ XMLSEC_APPS_TRUE=
+ XMLSEC_APPS_FALSE='#'
+else
+ XMLSEC_APPS_TRUE='#'
+ XMLSEC_APPS_FALSE=
+fi
+
+
+
XMLSEC_DL_INCLUDES=""
XMLSEC_DL_LIBS=""
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for xmlsec-crypto dynamic loading support" >&5
@@ -16599,10 +17150,6 @@ if test -z "${BUILD_API_DOCS_TRUE}" && test -z "${BUILD_API_DOCS_FALSE}"; then
as_fn_error $? "conditional \"BUILD_API_DOCS\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
-if test -z "${SHAREDLIB_HACK_TRUE}" && test -z "${SHAREDLIB_HACK_FALSE}"; then
- as_fn_error $? "conditional \"SHAREDLIB_HACK\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
if test -z "${XMLSEC_NO_OPENSSL_TRUE}" && test -z "${XMLSEC_NO_OPENSSL_FALSE}"; then
as_fn_error $? "conditional \"XMLSEC_NO_OPENSSL\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
@@ -16691,6 +17238,14 @@ if test -z "${XMLSEC_NO_XMLENC_TRUE}" && test -z "${XMLSEC_NO_XMLENC_FALSE}"; th
as_fn_error $? "conditional \"XMLSEC_NO_XMLENC\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
+if test -z "${XMLSEC_DOCS_TRUE}" && test -z "${XMLSEC_DOCS_FALSE}"; then
+ as_fn_error $? "conditional \"XMLSEC_DOCS\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${XMLSEC_APPS_TRUE}" && test -z "${XMLSEC_APPS_FALSE}"; then
+ as_fn_error $? "conditional \"XMLSEC_APPS\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
if test -z "${XMLSEC_NO_CRYPTO_DYNAMIC_LOADING_TRUE}" && test -z "${XMLSEC_NO_CRYPTO_DYNAMIC_LOADING_FALSE}"; then
as_fn_error $? "conditional \"XMLSEC_NO_CRYPTO_DYNAMIC_LOADING\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
@@ -17096,7 +17651,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by xmlsec1 $as_me 1.2.23, which was
+This file was extended by xmlsec1 $as_me 1.2.24, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -17162,7 +17717,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-xmlsec1 config.status 1.2.23
+xmlsec1 config.status 1.2.24
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
@@ -17297,6 +17852,7 @@ enable_shared='`$ECHO "$enable_shared" | $SED "$delay_single_quote_subst"`'
enable_static='`$ECHO "$enable_static" | $SED "$delay_single_quote_subst"`'
pic_mode='`$ECHO "$pic_mode" | $SED "$delay_single_quote_subst"`'
enable_fast_install='`$ECHO "$enable_fast_install" | $SED "$delay_single_quote_subst"`'
+shared_archive_member_spec='`$ECHO "$shared_archive_member_spec" | $SED "$delay_single_quote_subst"`'
SHELL='`$ECHO "$SHELL" | $SED "$delay_single_quote_subst"`'
ECHO='`$ECHO "$ECHO" | $SED "$delay_single_quote_subst"`'
PATH_SEPARATOR='`$ECHO "$PATH_SEPARATOR" | $SED "$delay_single_quote_subst"`'
@@ -17346,10 +17902,13 @@ compiler='`$ECHO "$compiler" | $SED "$delay_single_quote_subst"`'
GCC='`$ECHO "$GCC" | $SED "$delay_single_quote_subst"`'
lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$delay_single_quote_subst"`'
lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`'
+lt_cv_sys_global_symbol_to_import='`$ECHO "$lt_cv_sys_global_symbol_to_import" | $SED "$delay_single_quote_subst"`'
lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`'
lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`'
+lt_cv_nm_interface='`$ECHO "$lt_cv_nm_interface" | $SED "$delay_single_quote_subst"`'
nm_file_list_spec='`$ECHO "$nm_file_list_spec" | $SED "$delay_single_quote_subst"`'
lt_sysroot='`$ECHO "$lt_sysroot" | $SED "$delay_single_quote_subst"`'
+lt_cv_truncate_bin='`$ECHO "$lt_cv_truncate_bin" | $SED "$delay_single_quote_subst"`'
objdir='`$ECHO "$objdir" | $SED "$delay_single_quote_subst"`'
MAGIC_CMD='`$ECHO "$MAGIC_CMD" | $SED "$delay_single_quote_subst"`'
lt_prog_compiler_no_builtin_flag='`$ECHO "$lt_prog_compiler_no_builtin_flag" | $SED "$delay_single_quote_subst"`'
@@ -17414,7 +17973,8 @@ finish_cmds='`$ECHO "$finish_cmds" | $SED "$delay_single_quote_subst"`'
finish_eval='`$ECHO "$finish_eval" | $SED "$delay_single_quote_subst"`'
hardcode_into_libs='`$ECHO "$hardcode_into_libs" | $SED "$delay_single_quote_subst"`'
sys_lib_search_path_spec='`$ECHO "$sys_lib_search_path_spec" | $SED "$delay_single_quote_subst"`'
-sys_lib_dlsearch_path_spec='`$ECHO "$sys_lib_dlsearch_path_spec" | $SED "$delay_single_quote_subst"`'
+configure_time_dlsearch_path='`$ECHO "$configure_time_dlsearch_path" | $SED "$delay_single_quote_subst"`'
+configure_time_lt_sys_library_path='`$ECHO "$configure_time_lt_sys_library_path" | $SED "$delay_single_quote_subst"`'
hardcode_action='`$ECHO "$hardcode_action" | $SED "$delay_single_quote_subst"`'
enable_dlopen='`$ECHO "$enable_dlopen" | $SED "$delay_single_quote_subst"`'
enable_dlopen_self='`$ECHO "$enable_dlopen_self" | $SED "$delay_single_quote_subst"`'
@@ -17465,9 +18025,12 @@ CFLAGS \
compiler \
lt_cv_sys_global_symbol_pipe \
lt_cv_sys_global_symbol_to_cdecl \
+lt_cv_sys_global_symbol_to_import \
lt_cv_sys_global_symbol_to_c_name_address \
lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \
+lt_cv_nm_interface \
nm_file_list_spec \
+lt_cv_truncate_bin \
lt_prog_compiler_no_builtin_flag \
lt_prog_compiler_pic \
lt_prog_compiler_wl \
@@ -17502,7 +18065,7 @@ old_striplib \
striplib; do
case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
*[\\\\\\\`\\"\\\$]*)
- eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\""
+ eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes
;;
*)
eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
@@ -17529,10 +18092,11 @@ postinstall_cmds \
postuninstall_cmds \
finish_cmds \
sys_lib_search_path_spec \
-sys_lib_dlsearch_path_spec; do
+configure_time_dlsearch_path \
+configure_time_lt_sys_library_path; do
case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
*[\\\\\\\`\\"\\\$]*)
- eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\""
+ eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes
;;
*)
eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
@@ -17541,19 +18105,16 @@ sys_lib_dlsearch_path_spec; do
done
ac_aux_dir='$ac_aux_dir'
-xsi_shell='$xsi_shell'
-lt_shell_append='$lt_shell_append'
-# See if we are running on zsh, and set the options which allow our
+# See if we are running on zsh, and set the options that allow our
# commands through without removal of \ escapes INIT.
-if test -n "\${ZSH_VERSION+set}" ; then
+if test -n "\${ZSH_VERSION+set}"; then
setopt NO_GLOB_SUBST
fi
PACKAGE='$PACKAGE'
VERSION='$VERSION'
- TIMESTAMP='$TIMESTAMP'
RM='$RM'
ofile='$ofile'
@@ -18289,55 +18850,53 @@ $as_echo X"$file" |
;;
"libtool":C)
- # See if we are running on zsh, and set the options which allow our
+ # See if we are running on zsh, and set the options that allow our
# commands through without removal of \ escapes.
- if test -n "${ZSH_VERSION+set}" ; then
+ if test -n "${ZSH_VERSION+set}"; then
setopt NO_GLOB_SUBST
fi
- cfgfile="${ofile}T"
+ cfgfile=${ofile}T
trap "$RM \"$cfgfile\"; exit 1" 1 2 15
$RM "$cfgfile"
cat <<_LT_EOF >> "$cfgfile"
#! $SHELL
-
-# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
-# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION
+# Generated automatically by $as_me ($PACKAGE) $VERSION
# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
# NOTE: Changes made to this file will be lost: look at ltmain.sh.
+
+# Provide generalized library-building support services.
+# Written by Gordon Matzigkeit, 1996
+
+# Copyright (C) 2014 Free Software Foundation, Inc.
+# This is free software; see the source for copying conditions. There is NO
+# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+# GNU Libtool is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of of the License, or
+# (at your option) any later version.
#
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
-# 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
-# Written by Gordon Matzigkeit, 1996
-#
-# This file is part of GNU Libtool.
-#
-# GNU Libtool is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License as
-# published by the Free Software Foundation; either version 2 of
-# the License, or (at your option) any later version.
-#
-# As a special exception to the GNU General Public License,
-# if you distribute this file as part of a program or library that
-# is built using GNU Libtool, you may include this file under the
-# same distribution terms that you use for the rest of that program.
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program or library that is built
+# using GNU Libtool, you may include this file under the same
+# distribution terms that you use for the rest of that program.
#
-# GNU Libtool is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# GNU Libtool 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 General Public License for more details.
#
# You should have received a copy of the GNU General Public License
-# along with GNU Libtool; see the file COPYING. If not, a copy
-# can be downloaded from http://www.gnu.org/licenses/gpl.html, or
-# obtained by writing to the Free Software Foundation, Inc.,
-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
# The names of the tagged configurations supported by this script.
-available_tags=""
+available_tags=''
+
+# Configured defaults for sys_lib_dlsearch_path munging.
+: \${LT_SYS_LIBRARY_PATH="$configure_time_lt_sys_library_path"}
# ### BEGIN LIBTOOL CONFIG
@@ -18357,6 +18916,9 @@ pic_mode=$pic_mode
# Whether or not to optimize for fast installation.
fast_install=$enable_fast_install
+# Shared archive member basename,for filename based shared library versioning on AIX.
+shared_archive_member_spec=$shared_archive_member_spec
+
# Shell to use when invoking shell scripts.
SHELL=$lt_SHELL
@@ -18474,18 +19036,27 @@ global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
# Transform the output of nm in a proper C declaration.
global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
+# Transform the output of nm into a list of symbols to manually relocate.
+global_symbol_to_import=$lt_lt_cv_sys_global_symbol_to_import
+
# Transform the output of nm in a C name address pair.
global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
# Transform the output of nm in a C name address pair when lib prefix is needed.
global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix
+# The name lister interface.
+nm_interface=$lt_lt_cv_nm_interface
+
# Specify filename containing input files for \$NM.
nm_file_list_spec=$lt_nm_file_list_spec
-# The root where to search for dependent libraries,and in which our libraries should be installed.
+# The root where to search for dependent libraries,and where our libraries should be installed.
lt_sysroot=$lt_sysroot
+# Command to truncate a binary pipe.
+lt_truncate_bin=$lt_lt_cv_truncate_bin
+
# The name of the directory that contains temporary libtool files.
objdir=$objdir
@@ -18576,8 +19147,11 @@ hardcode_into_libs=$hardcode_into_libs
# Compile-time system search path for libraries.
sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
-# Run-time system search path for libraries.
-sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
+# Detected run-time system search path for libraries.
+sys_lib_dlsearch_path_spec=$lt_configure_time_dlsearch_path
+
+# Explicit LT_SYS_LIBRARY_PATH set during ./configure time.
+configure_time_lt_sys_library_path=$lt_configure_time_lt_sys_library_path
# Whether dlopen is supported.
dlopen_support=$enable_dlopen
@@ -18670,13 +19244,13 @@ hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec
# Whether we need a single "-rpath" flag with a separated argument.
hardcode_libdir_separator=$lt_hardcode_libdir_separator
-# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
+# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes
# DIR into the resulting binary.
hardcode_direct=$hardcode_direct
-# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
+# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes
# DIR into the resulting binary and the resulting library dependency is
-# "absolute",i.e impossible to change by setting \${shlibpath_var} if the
+# "absolute",i.e impossible to change by setting \$shlibpath_var if the
# library is relocated.
hardcode_direct_absolute=$hardcode_direct_absolute
@@ -18728,13 +19302,72 @@ hardcode_action=$hardcode_action
_LT_EOF
+ cat <<'_LT_EOF' >> "$cfgfile"
+
+# ### BEGIN FUNCTIONS SHARED WITH CONFIGURE
+
+# func_munge_path_list VARIABLE PATH
+# -----------------------------------
+# VARIABLE is name of variable containing _space_ separated list of
+# directories to be munged by the contents of PATH, which is string
+# having a format:
+# "DIR[:DIR]:"
+# string "DIR[ DIR]" will be prepended to VARIABLE
+# ":DIR[:DIR]"
+# string "DIR[ DIR]" will be appended to VARIABLE
+# "DIRP[:DIRP]::[DIRA:]DIRA"
+# string "DIRP[ DIRP]" will be prepended to VARIABLE and string
+# "DIRA[ DIRA]" will be appended to VARIABLE
+# "DIR[:DIR]"
+# VARIABLE will be replaced by "DIR[ DIR]"
+func_munge_path_list ()
+{
+ case x$2 in
+ x)
+ ;;
+ *:)
+ eval $1=\"`$ECHO $2 | $SED 's/:/ /g'` \$$1\"
+ ;;
+ x:*)
+ eval $1=\"\$$1 `$ECHO $2 | $SED 's/:/ /g'`\"
+ ;;
+ *::*)
+ eval $1=\"\$$1\ `$ECHO $2 | $SED -e 's/.*:://' -e 's/:/ /g'`\"
+ eval $1=\"`$ECHO $2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \$$1\"
+ ;;
+ *)
+ eval $1=\"`$ECHO $2 | $SED 's/:/ /g'`\"
+ ;;
+ esac
+}
+
+
+# Calculate cc_basename. Skip known compiler wrappers and cross-prefix.
+func_cc_basename ()
+{
+ for cc_temp in $*""; do
+ case $cc_temp in
+ compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
+ distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
+ \-*) ;;
+ *) break;;
+ esac
+ done
+ func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
+}
+
+
+# ### END FUNCTIONS SHARED WITH CONFIGURE
+
+_LT_EOF
+
case $host_os in
aix3*)
cat <<\_LT_EOF >> "$cfgfile"
# AIX sometimes has problems with the GCC collect2 program. For some
# reason, if we set the COLLECT_NAMES environment variable, the problems
# vanish in a puff of smoke.
-if test "X${COLLECT_NAMES+set}" != Xset; then
+if test set != "${COLLECT_NAMES+set}"; then
COLLECT_NAMES=
export COLLECT_NAMES
fi
@@ -18743,7 +19376,7 @@ _LT_EOF
esac
-ltmain="$ac_aux_dir/ltmain.sh"
+ltmain=$ac_aux_dir/ltmain.sh
# We use sed instead of cat because bash on DJGPP gets confused if
@@ -18753,165 +19386,6 @@ ltmain="$ac_aux_dir/ltmain.sh"
sed '$q' "$ltmain" >> "$cfgfile" \
|| (rm -f "$cfgfile"; exit 1)
- if test x"$xsi_shell" = xyes; then
- sed -e '/^func_dirname ()$/,/^} # func_dirname /c\
-func_dirname ()\
-{\
-\ case ${1} in\
-\ */*) func_dirname_result="${1%/*}${2}" ;;\
-\ * ) func_dirname_result="${3}" ;;\
-\ esac\
-} # Extended-shell func_dirname implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- sed -e '/^func_basename ()$/,/^} # func_basename /c\
-func_basename ()\
-{\
-\ func_basename_result="${1##*/}"\
-} # Extended-shell func_basename implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- sed -e '/^func_dirname_and_basename ()$/,/^} # func_dirname_and_basename /c\
-func_dirname_and_basename ()\
-{\
-\ case ${1} in\
-\ */*) func_dirname_result="${1%/*}${2}" ;;\
-\ * ) func_dirname_result="${3}" ;;\
-\ esac\
-\ func_basename_result="${1##*/}"\
-} # Extended-shell func_dirname_and_basename implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- sed -e '/^func_stripname ()$/,/^} # func_stripname /c\
-func_stripname ()\
-{\
-\ # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are\
-\ # positional parameters, so assign one to ordinary parameter first.\
-\ func_stripname_result=${3}\
-\ func_stripname_result=${func_stripname_result#"${1}"}\
-\ func_stripname_result=${func_stripname_result%"${2}"}\
-} # Extended-shell func_stripname implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- sed -e '/^func_split_long_opt ()$/,/^} # func_split_long_opt /c\
-func_split_long_opt ()\
-{\
-\ func_split_long_opt_name=${1%%=*}\
-\ func_split_long_opt_arg=${1#*=}\
-} # Extended-shell func_split_long_opt implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- sed -e '/^func_split_short_opt ()$/,/^} # func_split_short_opt /c\
-func_split_short_opt ()\
-{\
-\ func_split_short_opt_arg=${1#??}\
-\ func_split_short_opt_name=${1%"$func_split_short_opt_arg"}\
-} # Extended-shell func_split_short_opt implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- sed -e '/^func_lo2o ()$/,/^} # func_lo2o /c\
-func_lo2o ()\
-{\
-\ case ${1} in\
-\ *.lo) func_lo2o_result=${1%.lo}.${objext} ;;\
-\ *) func_lo2o_result=${1} ;;\
-\ esac\
-} # Extended-shell func_lo2o implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- sed -e '/^func_xform ()$/,/^} # func_xform /c\
-func_xform ()\
-{\
- func_xform_result=${1%.*}.lo\
-} # Extended-shell func_xform implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- sed -e '/^func_arith ()$/,/^} # func_arith /c\
-func_arith ()\
-{\
- func_arith_result=$(( $* ))\
-} # Extended-shell func_arith implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- sed -e '/^func_len ()$/,/^} # func_len /c\
-func_len ()\
-{\
- func_len_result=${#1}\
-} # Extended-shell func_len implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-fi
-
-if test x"$lt_shell_append" = xyes; then
- sed -e '/^func_append ()$/,/^} # func_append /c\
-func_append ()\
-{\
- eval "${1}+=\\${2}"\
-} # Extended-shell func_append implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- sed -e '/^func_append_quoted ()$/,/^} # func_append_quoted /c\
-func_append_quoted ()\
-{\
-\ func_quote_for_eval "${2}"\
-\ eval "${1}+=\\\\ \\$func_quote_for_eval_result"\
-} # Extended-shell func_append_quoted implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- # Save a `func_append' function call where possible by direct use of '+='
- sed -e 's%func_append \([a-zA-Z_]\{1,\}\) "%\1+="%g' $cfgfile > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
- test 0 -eq $? || _lt_function_replace_fail=:
-else
- # Save a `func_append' function call even when '+=' is not available
- sed -e 's%func_append \([a-zA-Z_]\{1,\}\) "%\1="$\1%g' $cfgfile > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
- test 0 -eq $? || _lt_function_replace_fail=:
-fi
-
-if test x"$_lt_function_replace_fail" = x":"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Unable to substitute extended shell functions in $ofile" >&5
-$as_echo "$as_me: WARNING: Unable to substitute extended shell functions in $ofile" >&2;}
-fi
-
-
mv -f "$cfgfile" "$ofile" ||
(rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
chmod +x "$ofile"
diff --git a/configure.ac b/configure.ac
index b8770ad..c100f92 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,10 +1,10 @@
dnl Process this file with autoconf to produce a configure script.
-AC_INIT([xmlsec1],[1.2.23],[http://www.aleksey.com/xmlsec])
+AC_INIT([xmlsec1],[1.2.24],[http://www.aleksey.com/xmlsec])
XMLSEC_PACKAGE=xmlsec1
XMLSEC_VERSION_MAJOR=1
XMLSEC_VERSION_MINOR=2
-XMLSEC_VERSION_SUBMINOR=23
+XMLSEC_VERSION_SUBMINOR=24
XMLSEC_VERSION="$XMLSEC_VERSION_MAJOR.$XMLSEC_VERSION_MINOR.$XMLSEC_VERSION_SUBMINOR"
XMLSEC_VERSION_INFO=`echo $XMLSEC_VERSION | awk -F. '{ printf "%d:%d:%d", $1+$2, $3, $2 }'`
XMLSEC_VERSION_SAFE=`echo $XMLSEC_VERSION | sed 's/\./_/g'`
@@ -136,7 +136,6 @@ XMLSEC_CRYPTO_EXTRA_LDFLAGS=
dnl should separate extra LDFLAGS for xmlsec and crypto libs ?
dnl should --enable-runtime-pseudo-reloc for mingw and cygwin ?
-xmlsec_sharedlib_hack="no"
if test -n "$shrext"; then
XMLSEC_SHLIBSFX="$shrext"
else
@@ -154,7 +153,13 @@ case "${host}" in
XMLSEC_EXTRA_LDFLAGS="-no-undefined -avoid-version"
XMLSEC_CRYPTO_EXTRA_LDFLAGS="-no-undefined -avoid-version"
XMLSEC_SHLIBSFX=".dll.a"
- xmlsec_sharedlib_hack="yes"
+ # To avoid problem with loading of a shared library (dlopen or
+ # equivalent) at run time on some platforms we need to link
+ # everything statically (it works without hack on 9x and under
+ # emulation; on nt 5.x (w2k,xp) the error is 998: "Invalid
+ # access to memory location").
+ enable_static_linking="yes"
+ enable_crypto_dl="no"
;;
*-*-cygwin*)
XMLSEC_EXTRA_LDFLAGS="-no-undefined"
@@ -165,12 +170,6 @@ case "${host}" in
;;
esac
-# To avoid problem with loading of a shared library (dlopen or equivalent)
-# at run time on some platforms we need to link crypto modules with extra
-# source. It's work without hack on 9x and under emulation.
-# On nt 5.x (w2k,xp) the error is 998("Invalid access to memory location").
-AM_CONDITIONAL(SHAREDLIB_HACK, [test "z$xmlsec_sharedlib_hack" = "zyes"])
-
dnl ==========================================================================
dnl Hack for autoconf version mismatch
dnl ==========================================================================
@@ -485,14 +484,28 @@ fi
if test "z$OPENSSL_FOUND" = "zyes" -a "z$OPENSSL_VERSION" = "z" ; then
AC_MSG_CHECKING(for openssl libraries >= $OPENSSL_MIN_VERSION)
- dnl Check the OpenSSL version
+ dnl Check the OpenSSL version; if you change this code then you probably
+ dnl want to change include/openssl/crypto.h as well.
OLD_CPPFLAGS=$CPPFLAGS
CPPFLAGS="$OPENSSL_CFLAGS"
if test "z$OPENSSL_VERSION" = "z" ; then
AC_EGREP_CPP(yes,[
#include <openssl/opensslv.h>
- #if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER)
+ #if OPENSSL_VERSION_NUMBER == 0x20000000L && defined(LIBRESSL_VERSION_NUMBER)
+ yes
+ #endif
+ ],[
+ OPENSSL_VERSION="1.0.0 (libressl)"
+ ],[
+ OPENSSL_VERSION=""
+ ])
+ fi
+
+ if test "z$OPENSSL_VERSION" = "z" ; then
+ AC_EGREP_CPP(yes,[
+ #include <openssl/opensslv.h>
+ #if OPENSSL_VERSION_NUMBER >= 0x10100000L
yes
#endif
],[
@@ -538,32 +551,7 @@ if test "z$OPENSSL_FOUND" = "zyes" -a "z$OPENSSL_VERSION" = "z" ; then
fi
if test "z$OPENSSL_FOUND" = "zyes" ; then
- dnl Check availability of ECDSA
- OLD_CPPFLAGS=$CPPFLAGS
- CPPFLAGS="$OPENSSL_CFLAGS"
-
- AC_EGREP_CPP(yes,[
- #include <openssl/opensslconf.h>
- #ifdef OPENSSL_NO_ECDSA
- yes
- #endif
- ],[
- OPENSSL_CFLAGS="$OPENSSL_CFLAGS -DXMLSEC_NO_ECDSA=1"
- ])
- CPPFLAGS=$OLD_CPPFLAGS
-fi
-
-if test "z$OPENSSL_FOUND" = "zyes" ; then
XMLSEC_NO_OPENSSL="0"
- if test "z$OPENSSL_VERSION" = "z0.9.8" ; then
- OPENSSL_CFLAGS="$OPENSSL_CFLAGS -DXMLSEC_OPENSSL_098=1 -DXMLSEC_NO_ECDSA=1 -DXMLSEC_NO_SHA256=1"
- fi
- if test "z$OPENSSL_VERSION" = "z1.0.0" ; then
- OPENSSL_CFLAGS="$OPENSSL_CFLAGS -DXMLSEC_OPENSSL_100=1"
- fi
- if test "z$OPENSSL_VERSION" = "z1.1.0" ; then
- OPENSSL_CFLAGS="$OPENSSL_CFLAGS -DXMLSEC_OPENSSL_110=1"
- fi
OPENSSL_CFLAGS="$OPENSSL_CFLAGS -DXMLSEC_CRYPTO_OPENSSL=1"
XMLSEC_CRYPTO_LIST="$XMLSEC_CRYPTO_LIST openssl"
else
@@ -598,7 +586,7 @@ dnl ==========================================================================
XMLSEC_NO_NSS="1"
SEAMONKEY_MIN_VERSION="1.0"
MOZILLA_MIN_VERSION="1.4"
-NSS_MIN_VERSION="3.9"
+NSS_MIN_VERSION="3.11.1"
NSPR_MIN_VERSION="4.4.1"
NSS_CFLAGS=""
NSS_LIBS=""
@@ -1411,6 +1399,36 @@ AM_CONDITIONAL(XMLSEC_NO_XMLENC, test "z$XMLSEC_NO_XMLENC" = "z1")
AC_SUBST(XMLSEC_NO_XMLENC)
dnl ==========================================================================
+dnl See do we need docs
+dnl ==========================================================================
+AC_MSG_CHECKING(for docs)
+AC_ARG_ENABLE(docs, [ --enable-docs enable documentation (yes)])
+if test "z$enable_docs" = "zno" ; then
+ XMLSEC_DOCS="0"
+ AC_MSG_RESULT(no)
+else
+ XMLSEC_DOCS="1"
+ AC_MSG_RESULT(yes)
+fi
+AM_CONDITIONAL(XMLSEC_DOCS, test "z$XMLSEC_DOCS" = "z1")
+AC_SUBST(XMLSEC_DOCS)
+
+dnl ==========================================================================
+dnl See if we need apps
+dnl ==========================================================================
+AC_MSG_CHECKING(for apps)
+AC_ARG_ENABLE(apps, [ --enable-apps enable applications (yes)])
+if test "z$enable_apps" = "zno" ; then
+ XMLSEC_APPS="0"
+ AC_MSG_RESULT(no)
+else
+ XMLSEC_APPS="1"
+ AC_MSG_RESULT(yes)
+fi
+AM_CONDITIONAL(XMLSEC_APPS, test "z$XMLSEC_APPS" = "z1")
+AC_SUBST(XMLSEC_APPS)
+
+dnl ==========================================================================
dnl check if we need dynamic loading support
dnl ==========================================================================
XMLSEC_DL_INCLUDES=""
diff --git a/docs/Makefile.in b/docs/Makefile.in
index cfecdb1..688e197 100644
--- a/docs/Makefile.in
+++ b/docs/Makefile.in
@@ -244,6 +244,7 @@ LIBXSLT_PC_FILE_COND = @LIBXSLT_PC_FILE_COND@
LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MAN2HTML = @MAN2HTML@
@@ -291,6 +292,7 @@ SHELL = @SHELL@
STRIP = @STRIP@
TAR = @TAR@
VERSION = @VERSION@
+XMLSEC_APPS = @XMLSEC_APPS@
XMLSEC_APP_DEFINES = @XMLSEC_APP_DEFINES@
XMLSEC_CFLAGS = @XMLSEC_CFLAGS@
XMLSEC_CORE_CFLAGS = @XMLSEC_CORE_CFLAGS@
@@ -307,6 +309,7 @@ XMLSEC_DEFINES = @XMLSEC_DEFINES@
XMLSEC_DL_INCLUDES = @XMLSEC_DL_INCLUDES@
XMLSEC_DL_LIBS = @XMLSEC_DL_LIBS@
XMLSEC_DOCDIR = @XMLSEC_DOCDIR@
+XMLSEC_DOCS = @XMLSEC_DOCS@
XMLSEC_EXTRA_LDFLAGS = @XMLSEC_EXTRA_LDFLAGS@
XMLSEC_GCRYPT_CFLAGS = @XMLSEC_GCRYPT_CFLAGS@
XMLSEC_GCRYPT_LIBS = @XMLSEC_GCRYPT_LIBS@
@@ -396,6 +399,7 @@ pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
+runstatedir = @runstatedir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
diff --git a/docs/api/Makefile.am b/docs/api/Makefile.am
index 2a3c329..6eb77ad 100644
--- a/docs/api/Makefile.am
+++ b/docs/api/Makefile.am
@@ -103,7 +103,7 @@ $(MAIN_SGML_FILE): $(MAIN_SGML_SRC_FILE)
# We also fix a bunch of stupid errors from gtkdoc
#
sgml: sgml-base
- (for i in `find $(SGML_DIR) -name "*.sgml" -print` ; do \
+ (for i in `find $(SGML_DIR) -name "*.sgml" -or -name "*.xml" -print` ; do \
echo "Fixing up '$$i'" ; \
cat $$i | \
sed 's!\(<dsig:\)\([^/]*\)\(\/>\)!\<dsig:\2\/\>!g' | \
@@ -116,6 +116,7 @@ sgml: sgml-base
sed 's!linkend=\"\(.*\)Ptr\"!linkend=\"\1\"!g' | \
sed 's!<colspec [^/]*\/>!!g' | \
sed 's!<programlisting language="C"!<programlisting!g' | \
+ sed 's!\%gtkdocentities;!!g' | \
$(PERL) -pe 's!title>\n!title>!g' | \
$(PERL) -pe 's!title>\n!title>!g' | \
$(PERL) -pe 's!<\/title><\/refsect1>\n!<\/title><para><\/para><\/refsect1>!g' | \
@@ -126,41 +127,47 @@ sgml: sgml-base
sgml-base: templates $(SGML_DIR)/.sentinel
$(GTKDOC_MKDB) --module=xmlsec \
- --main-sgml-file=$(SGML_DIR)/xmlsec-base.sgml \
- --output-dir=$(SGML_DIR)/ \
- --tmpl-dir=$(TMPL_DIR)/base \
- --source-dir=$(SOURCE_CODE_DIR)/src/base \
- --source-dir=$(SOURCE_CODE_DIR)/include/xmlsec/base
+ --xml-mode \
+ --main-sgml-file=$(SGML_DIR)/xmlsec-base.sgml \
+ --output-dir=$(SGML_DIR)/ \
+ --tmpl-dir=$(TMPL_DIR)/base \
+ --source-dir=$(SOURCE_CODE_DIR)/src/base \
+ --source-dir=$(SOURCE_CODE_DIR)/include/xmlsec/base
$(GTKDOC_MKDB) --module=xmlsec-openssl \
- --main-sgml-file=$(SGML_DIR)/xmlsec-openssl.sgml \
- --tmpl-dir=$(TMPL_DIR)/openssl \
- --output-dir=$(SGML_DIR)/openssl \
- --source-dir=$(SOURCE_CODE_DIR)/src/openssl \
- --source-dir=$(SOURCE_CODE_DIR)/include/xmlsec/openssl
+ --xml-mode \
+ --main-sgml-file=$(SGML_DIR)/xmlsec-openssl.sgml \
+ --tmpl-dir=$(TMPL_DIR)/openssl \
+ --output-dir=$(SGML_DIR)/openssl \
+ --source-dir=$(SOURCE_CODE_DIR)/src/openssl \
+ --source-dir=$(SOURCE_CODE_DIR)/include/xmlsec/openssl
$(GTKDOC_MKDB) --module=xmlsec-gnutls \
- --main-sgml-file=$(SGML_DIR)/xmlsec-gnutls.sgml \
- --tmpl-dir=$(TMPL_DIR)/gnutls \
- --output-dir=$(SGML_DIR)/gnutls \
- --source-dir=$(SOURCE_CODE_DIR)/src/gnutls \
- --source-dir=$(SOURCE_CODE_DIR)/include/xmlsec/gnutls
+ --xml-mode \
+ --main-sgml-file=$(SGML_DIR)/xmlsec-gnutls.sgml \
+ --tmpl-dir=$(TMPL_DIR)/gnutls \
+ --output-dir=$(SGML_DIR)/gnutls \
+ --source-dir=$(SOURCE_CODE_DIR)/src/gnutls \
+ --source-dir=$(SOURCE_CODE_DIR)/include/xmlsec/gnutls
$(GTKDOC_MKDB) --module=xmlsec-gcrypt \
- --main-sgml-file=$(SGML_DIR)/xmlsec-gcrypt.sgml \
- --tmpl-dir=$(TMPL_DIR)/gcrypt \
- --output-dir=$(SGML_DIR)/gcrypt \
- --source-dir=$(SOURCE_CODE_DIR)/src/gcrypt \
- --source-dir=$(SOURCE_CODE_DIR)/include/xmlsec/gcrypt
+ --xml-mode \
+ --main-sgml-file=$(SGML_DIR)/xmlsec-gcrypt.sgml \
+ --tmpl-dir=$(TMPL_DIR)/gcrypt \
+ --output-dir=$(SGML_DIR)/gcrypt \
+ --source-dir=$(SOURCE_CODE_DIR)/src/gcrypt \
+ --source-dir=$(SOURCE_CODE_DIR)/include/xmlsec/gcrypt
$(GTKDOC_MKDB) --module=xmlsec-nss \
- --main-sgml-file=$(SGML_DIR)/xmlsec-nss.sgml \
- --tmpl-dir=$(TMPL_DIR)/nss \
- --output-dir=$(SGML_DIR)/nss \
- --source-dir=$(SOURCE_CODE_DIR)/src/nss \
- --source-dir=$(SOURCE_CODE_DIR)/include/xmlsec/nss
+ --xml-mode \
+ --main-sgml-file=$(SGML_DIR)/xmlsec-nss.sgml \
+ --tmpl-dir=$(TMPL_DIR)/nss \
+ --output-dir=$(SGML_DIR)/nss \
+ --source-dir=$(SOURCE_CODE_DIR)/src/nss \
+ --source-dir=$(SOURCE_CODE_DIR)/include/xmlsec/nss
$(GTKDOC_MKDB) --module=xmlsec-mscrypto \
- --main-sgml-file=$(SGML_DIR)/xmlsec-mscrypto.sgml \
- --tmpl-dir=$(TMPL_DIR)/mscrypto \
- --output-dir=$(SGML_DIR)/mscrypto \
- --source-dir=$(SOURCE_CODE_DIR)/src/mscrypto \
- --source-dir=$(SOURCE_CODE_DIR)/include/xmlsec/mscrypto
+ --xml-mode \
+ --main-sgml-file=$(SGML_DIR)/xmlsec-mscrypto.sgml \
+ --tmpl-dir=$(TMPL_DIR)/mscrypto \
+ --output-dir=$(SGML_DIR)/mscrypto \
+ --source-dir=$(SOURCE_CODE_DIR)/src/mscrypto \
+ --source-dir=$(SOURCE_CODE_DIR)/include/xmlsec/mscrypto
templates: scan templates-copy
$(GTKDOC_MKTMPL) --module=xmlsec \
diff --git a/docs/api/Makefile.in b/docs/api/Makefile.in
index a8a0639..b4d5f94 100644
--- a/docs/api/Makefile.in
+++ b/docs/api/Makefile.in
@@ -184,6 +184,7 @@ LIBXSLT_PC_FILE_COND = @LIBXSLT_PC_FILE_COND@
LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MAN2HTML = @MAN2HTML@
@@ -231,6 +232,7 @@ SHELL = @SHELL@
STRIP = @STRIP@
TAR = @TAR@
VERSION = @VERSION@
+XMLSEC_APPS = @XMLSEC_APPS@
XMLSEC_APP_DEFINES = @XMLSEC_APP_DEFINES@
XMLSEC_CFLAGS = @XMLSEC_CFLAGS@
XMLSEC_CORE_CFLAGS = @XMLSEC_CORE_CFLAGS@
@@ -247,6 +249,7 @@ XMLSEC_DEFINES = @XMLSEC_DEFINES@
XMLSEC_DL_INCLUDES = @XMLSEC_DL_INCLUDES@
XMLSEC_DL_LIBS = @XMLSEC_DL_LIBS@
XMLSEC_DOCDIR = @XMLSEC_DOCDIR@
+XMLSEC_DOCS = @XMLSEC_DOCS@
XMLSEC_EXTRA_LDFLAGS = @XMLSEC_EXTRA_LDFLAGS@
XMLSEC_GCRYPT_CFLAGS = @XMLSEC_GCRYPT_CFLAGS@
XMLSEC_GCRYPT_LIBS = @XMLSEC_GCRYPT_LIBS@
@@ -336,6 +339,7 @@ pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
+runstatedir = @runstatedir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
@@ -635,7 +639,7 @@ $(MAIN_SGML_FILE): $(MAIN_SGML_SRC_FILE)
# We also fix a bunch of stupid errors from gtkdoc
#
sgml: sgml-base
- (for i in `find $(SGML_DIR) -name "*.sgml" -print` ; do \
+ (for i in `find $(SGML_DIR) -name "*.sgml" -or -name "*.xml" -print` ; do \
echo "Fixing up '$$i'" ; \
cat $$i | \
sed 's!\(<dsig:\)\([^/]*\)\(\/>\)!\<dsig:\2\/\>!g' | \
@@ -648,6 +652,7 @@ sgml: sgml-base
sed 's!linkend=\"\(.*\)Ptr\"!linkend=\"\1\"!g' | \
sed 's!<colspec [^/]*\/>!!g' | \
sed 's!<programlisting language="C"!<programlisting!g' | \
+ sed 's!\%gtkdocentities;!!g' | \
$(PERL) -pe 's!title>\n!title>!g' | \
$(PERL) -pe 's!title>\n!title>!g' | \
$(PERL) -pe 's!<\/title><\/refsect1>\n!<\/title><para><\/para><\/refsect1>!g' | \
@@ -658,41 +663,47 @@ sgml: sgml-base
sgml-base: templates $(SGML_DIR)/.sentinel
$(GTKDOC_MKDB) --module=xmlsec \
- --main-sgml-file=$(SGML_DIR)/xmlsec-base.sgml \
- --output-dir=$(SGML_DIR)/ \
- --tmpl-dir=$(TMPL_DIR)/base \
- --source-dir=$(SOURCE_CODE_DIR)/src/base \
- --source-dir=$(SOURCE_CODE_DIR)/include/xmlsec/base
+ --xml-mode \
+ --main-sgml-file=$(SGML_DIR)/xmlsec-base.sgml \
+ --output-dir=$(SGML_DIR)/ \
+ --tmpl-dir=$(TMPL_DIR)/base \
+ --source-dir=$(SOURCE_CODE_DIR)/src/base \
+ --source-dir=$(SOURCE_CODE_DIR)/include/xmlsec/base
$(GTKDOC_MKDB) --module=xmlsec-openssl \
- --main-sgml-file=$(SGML_DIR)/xmlsec-openssl.sgml \
- --tmpl-dir=$(TMPL_DIR)/openssl \
- --output-dir=$(SGML_DIR)/openssl \
- --source-dir=$(SOURCE_CODE_DIR)/src/openssl \
- --source-dir=$(SOURCE_CODE_DIR)/include/xmlsec/openssl
+ --xml-mode \
+ --main-sgml-file=$(SGML_DIR)/xmlsec-openssl.sgml \
+ --tmpl-dir=$(TMPL_DIR)/openssl \
+ --output-dir=$(SGML_DIR)/openssl \
+ --source-dir=$(SOURCE_CODE_DIR)/src/openssl \
+ --source-dir=$(SOURCE_CODE_DIR)/include/xmlsec/openssl
$(GTKDOC_MKDB) --module=xmlsec-gnutls \
- --main-sgml-file=$(SGML_DIR)/xmlsec-gnutls.sgml \
- --tmpl-dir=$(TMPL_DIR)/gnutls \
- --output-dir=$(SGML_DIR)/gnutls \
- --source-dir=$(SOURCE_CODE_DIR)/src/gnutls \
- --source-dir=$(SOURCE_CODE_DIR)/include/xmlsec/gnutls
+ --xml-mode \
+ --main-sgml-file=$(SGML_DIR)/xmlsec-gnutls.sgml \
+ --tmpl-dir=$(TMPL_DIR)/gnutls \
+ --output-dir=$(SGML_DIR)/gnutls \
+ --source-dir=$(SOURCE_CODE_DIR)/src/gnutls \
+ --source-dir=$(SOURCE_CODE_DIR)/include/xmlsec/gnutls
$(GTKDOC_MKDB) --module=xmlsec-gcrypt \
- --main-sgml-file=$(SGML_DIR)/xmlsec-gcrypt.sgml \
- --tmpl-dir=$(TMPL_DIR)/gcrypt \
- --output-dir=$(SGML_DIR)/gcrypt \
- --source-dir=$(SOURCE_CODE_DIR)/src/gcrypt \
- --source-dir=$(SOURCE_CODE_DIR)/include/xmlsec/gcrypt
+ --xml-mode \
+ --main-sgml-file=$(SGML_DIR)/xmlsec-gcrypt.sgml \
+ --tmpl-dir=$(TMPL_DIR)/gcrypt \
+ --output-dir=$(SGML_DIR)/gcrypt \
+ --source-dir=$(SOURCE_CODE_DIR)/src/gcrypt \
+ --source-dir=$(SOURCE_CODE_DIR)/include/xmlsec/gcrypt
$(GTKDOC_MKDB) --module=xmlsec-nss \
- --main-sgml-file=$(SGML_DIR)/xmlsec-nss.sgml \
- --tmpl-dir=$(TMPL_DIR)/nss \
- --output-dir=$(SGML_DIR)/nss \
- --source-dir=$(SOURCE_CODE_DIR)/src/nss \
- --source-dir=$(SOURCE_CODE_DIR)/include/xmlsec/nss
+ --xml-mode \
+ --main-sgml-file=$(SGML_DIR)/xmlsec-nss.sgml \
+ --tmpl-dir=$(TMPL_DIR)/nss \
+ --output-dir=$(SGML_DIR)/nss \
+ --source-dir=$(SOURCE_CODE_DIR)/src/nss \
+ --source-dir=$(SOURCE_CODE_DIR)/include/xmlsec/nss
$(GTKDOC_MKDB) --module=xmlsec-mscrypto \
- --main-sgml-file=$(SGML_DIR)/xmlsec-mscrypto.sgml \
- --tmpl-dir=$(TMPL_DIR)/mscrypto \
- --output-dir=$(SGML_DIR)/mscrypto \
- --source-dir=$(SOURCE_CODE_DIR)/src/mscrypto \
- --source-dir=$(SOURCE_CODE_DIR)/include/xmlsec/mscrypto
+ --xml-mode \
+ --main-sgml-file=$(SGML_DIR)/xmlsec-mscrypto.sgml \
+ --tmpl-dir=$(TMPL_DIR)/mscrypto \
+ --output-dir=$(SGML_DIR)/mscrypto \
+ --source-dir=$(SOURCE_CODE_DIR)/src/mscrypto \
+ --source-dir=$(SOURCE_CODE_DIR)/include/xmlsec/mscrypto
templates: scan templates-copy
$(GTKDOC_MKTMPL) --module=xmlsec \
diff --git a/docs/api/index.html b/docs/api/index.html
index 6260bf1..32616bd 100644
--- a/docs/api/index.html
+++ b/docs/api/index.html
@@ -1,38 +1,13 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>XML Security Library Reference Manual</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79">
-<link rel="NEXT" title="XML Security Library Tutorial" href="xmlsec-notes.html">
-<style type="text/css">.synopsis, .classsynopsis {
- background: #eeeeee;
- border: solid 1px #aaaaaa;
- padding: 0.5em;
-}
-.programlisting {
- background: #eeeeff;
- border: solid 1px #aaaaff;
- padding: 0.5em;
-}
-.variablelist {
- padding: 4px;
- margin-left: 3em;
-}
-.navigation {
- background: #ffeeee;
- border: solid 1px #ffaaaa;
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
-.navigation a {
- color: #770000;
-}
-.navigation a:visited {
- color: #550000;
-}
-.navigation .title {
- font-size: 200%;
-}</style>
+<title>XML Security Library Reference Manual: XML Security Library Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<meta name="description" content="This manual documents the interfaces of the xmlsec library and has some short notes to help get you up to speed with using the library.">
+<link rel="home" href="index.html" title="XML Security Library Reference Manual">
+<link rel="next" href="xmlsec-notes.html" title="Part I. XML Security Library Tutorial">
+<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
<style type="text/css">
table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
width: 20em;
@@ -97,24 +72,21 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
</table>
</td>
<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent">
-<div class="BOOK">
-<div class="TITLEPAGE">
-<table class="navigation" width="100%" cellpadding="2" cellspacing="0"><tr><th align="center" valign="MIDDLE"><p class="TITLE">XML Security Library Reference Manual<a name="AEN2"></a></p></th></tr></table>
-<h3 class="AUTHOR">
-<a name="AEN5"></a>Aleksey Sanin</h3>
-<div class="AFFILIATION"><div class="ADDRESS"><p class="ADDRESS"> <code class="EMAIL"><<a href="mailto:aleksey at aleksey.com">aleksey at aleksey.com</a>></code><br>
+<div class="book">
+<div class="titlepage">
+<div>
+<div><table class="navigation" id="top" width="100%" cellpadding="2" cellspacing="0"><tr><th valign="middle"><p class="title">XML Security Library Reference Manual</p></th></tr></table></div>
+<div><div class="authorgroup"><div class="author">
+<h3 class="author">
+<span class="firstname">Aleksey</span> <span class="surname">Sanin</span>
+</h3>
+<div class="affiliation"><div class="address"><p><br>
+ <code class="email"><<a class="email" href="mailto:aleksey at aleksey.com">aleksey at aleksey.com</a>></code><br>
</p></div></div>
-<p class="COPYRIGHT">Copyright � 2002-2003 Aleksey Sanin</p>
-<div><div class="ABSTRACT">
-<p></p>
-<a name="AEN18"></a><p>This manual documents the interfaces of the xmlsec
- library and has some short notes to help get you up to speed
- with using the library.</p>
-<p></p>
-</div></div>
-<div class="LEGALNOTICE">
-<p></p>
-<a name="AEN14"></a><p>Permission is granted to make and distribute verbatim
+</div></div></div>
+<div><p class="copyright">Copyright � 2002-2017 Aleksey Sanin</p></div>
+<div><div class="legalnotice">
+<a name="id-1.1.4"></a><p>Permission is granted to make and distribute verbatim
copies of this manual provided the copyright notice and this
permission notice are preserved on all copies.</p>
<p>Permission is granted to copy and distribute modified
@@ -125,206 +97,297 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
<p>Permission is granted to copy and distribute translations
of this manual into another language, under the above conditions
for modified versions.</p>
-<p></p>
+</div></div>
+<div><div class="abstract">
+<p class="title"><b>Abstract</b></p>
+<p>This manual documents the interfaces of the xmlsec
+ library and has some short notes to help get you up to speed
+ with using the library.</p>
+</div></div>
</div>
+<hr>
</div>
-<div class="TOC"><dl>
-<dt><b>Table of Contents</b></dt>
-<dt>I. <a href="xmlsec-notes.html">XML Security Library Tutorial</a>
-</dt>
+<div class="toc"><dl class="toc">
+<dt><span class="part"><a href="xmlsec-notes.html">I. XML Security Library Tutorial</a></span></dt>
<dd><dl>
-<dt><a href="xmlsec-notes-overview.html">Overview.</a></dt>
-<dt><a href="xmlsec-notes-structure.html">XML Security Library Structure.</a></dt>
-<dt><a href="xmlsec-notes-compiling.html">Building the application with XML Security Library.</a></dt>
+<dt><span class="chapter"><a href="xmlsec-notes-overview.html">Overview.</a></span></dt>
+<dt><span class="chapter"><a href="xmlsec-notes-structure.html">XML Security Library Structure.</a></span></dt>
+<dt><span class="chapter"><a href="xmlsec-notes-compiling.html">Building the application with XML Security Library.</a></span></dt>
<dd><dl>
-<dt><a href="xmlsec-notes-compiling.html#XMLSEC-NOTES-COMPILING-OVERVIEW">Overview.</a></dt>
-<dt><a href="xmlsec-notes-include-files.html">Include files.</a></dt>
-<dt><a href="xmlsec-notes-compiling-unix.html">Compiling and linking on Unix.</a></dt>
-<dt><a href="xmlsec-notes-compiling-windows.html">Compiling and linking on Windows.</a></dt>
-<dt><a href="xmlsec-notes-compiling-others.html">Compiling and linking on other systems.</a></dt>
+<dt><span class="sect1"><a href="xmlsec-notes-compiling.html#xmlsec-notes-compiling-overview">Overview.</a></span></dt>
+<dt><span class="sect1"><a href="xmlsec-notes-include-files.html">Include files.</a></span></dt>
+<dt><span class="sect1"><a href="xmlsec-notes-compiling-unix.html">Compiling and linking on Unix.</a></span></dt>
+<dt><span class="sect1"><a href="xmlsec-notes-compiling-windows.html">Compiling and linking on Windows.</a></span></dt>
+<dt><span class="sect1"><a href="xmlsec-notes-compiling-others.html">Compiling and linking on other systems.</a></span></dt>
</dl></dd>
-<dt><a href="xmlsec-notes-init-shutdown.html">Initialization and shutdown.</a></dt>
-<dt><a href="xmlsec-notes-sign-encrypt.html">Signing and encrypting documents.</a></dt>
+<dt><span class="chapter"><a href="xmlsec-notes-init-shutdown.html">Initialization and shutdown.</a></span></dt>
+<dt><span class="chapter"><a href="xmlsec-notes-sign-encrypt.html">Signing and encrypting documents.</a></span></dt>
<dd><dl>
-<dt><a href="xmlsec-notes-sign-encrypt.html#XMLSEC-NOTES-SIGN-ENCRYPT-OVERVIEW">Overview.</a></dt>
-<dt><a href="xmlsec-notes-sign.html">Signing a document.</a></dt>
-<dt><a href="xmlsec-notes-encrypt.html">Encrypting data.</a></dt>
+<dt><span class="sect1"><a href="xmlsec-notes-sign-encrypt.html#xmlsec-notes-sign-encrypt-overview">Overview.</a></span></dt>
+<dt><span class="sect1"><a href="xmlsec-notes-sign.html">Signing a document.</a></span></dt>
+<dt><span class="sect1"><a href="xmlsec-notes-encrypt.html">Encrypting data.</a></span></dt>
</dl></dd>
-<dt><a href="xmlsec-notes-templates.html">Creating dynamic templates.</a></dt>
+<dt><span class="chapter"><a href="xmlsec-notes-templates.html">Creating dynamic templates.</a></span></dt>
<dd><dl>
-<dt><a href="xmlsec-notes-templates.html#XMLSEC-NOTES-TEMPLATES-OVERVIEW">Overview.</a></dt>
-<dt><a href="xmlsec-notes-dynamic-signature-templates.html">Creating dynamic signature templates.</a></dt>
-<dt><a href="xmlsec-notes-dynamic-encryption-templates.html">Creating dynamic encryption templates.</a></dt>
+<dt><span class="sect1"><a href="xmlsec-notes-templates.html#xmlsec-notes-templates-overview">Overview.</a></span></dt>
+<dt><span class="sect1"><a href="xmlsec-notes-dynamic-signature-templates.html">Creating dynamic signature templates.</a></span></dt>
+<dt><span class="sect1"><a href="xmlsec-notes-dynamic-encryption-templates.html">Creating dynamic encryption templates.</a></span></dt>
</dl></dd>
-<dt><a href="xmlsec-notes-verify-decrypt.html">Verifing and decrypting documents.</a></dt>
+<dt><span class="chapter"><a href="xmlsec-notes-verify-decrypt.html">Verifing and decrypting documents.</a></span></dt>
<dd><dl>
-<dt><a href="xmlsec-notes-verify-decrypt.html#XMLSEC-NOTES-VERIFY-DECRYPT-OVERVIEW">Overview.</a></dt>
-<dt><a href="xmlsec-notes-verify.html">Verifying a signed document</a></dt>
-<dt><a href="xmlsec-notes-decrypt.html">Decrypting an encrypted document</a></dt>
+<dt><span class="sect1"><a href="xmlsec-notes-verify-decrypt.html#xmlsec-notes-verify-decrypt-overview">Overview.</a></span></dt>
+<dt><span class="sect1"><a href="xmlsec-notes-verify.html">Verifying a signed document</a></span></dt>
+<dt><span class="sect1"><a href="xmlsec-notes-decrypt.html">Decrypting an encrypted document</a></span></dt>
</dl></dd>
-<dt><a href="xmlsec-notes-keys.html">Keys.</a></dt>
-<dt><a href="xmlsec-notes-keysmngr.html">Keys manager.</a></dt>
+<dt><span class="chapter"><a href="xmlsec-notes-keys.html">Keys.</a></span></dt>
+<dt><span class="chapter"><a href="xmlsec-notes-keysmngr.html">Keys manager.</a></span></dt>
<dd><dl>
-<dt><a href="xmlsec-notes-keysmngr.html#XMLSEC-NOTES-KEYSMNGR-OVERVIEW">Overview.</a></dt>
-<dt><a href="xmlsec-notes-simple-keys-store.html">Simple keys store.</a></dt>
-<dt><a href="xmlsec-notes-keys-manager-sign-enc.html">Using keys manager for signatures/encryption.</a></dt>
-<dt><a href="xmlsec-notes-keys-mngr-verify-decrypt.html">Using keys manager for verification/decryption.</a></dt>
-<dt><a href="xmlsec-notes-custom-keys-store.html">Implementing a custom keys store.</a></dt>
+<dt><span class="sect1"><a href="xmlsec-notes-keysmngr.html#xmlsec-notes-keysmngr-overview">Overview.</a></span></dt>
+<dt><span class="sect1"><a href="xmlsec-notes-simple-keys-store.html">Simple keys store.</a></span></dt>
+<dt><span class="sect1"><a href="xmlsec-notes-keys-manager-sign-enc.html">Using keys manager for signatures/encryption.</a></span></dt>
+<dt><span class="sect1"><a href="xmlsec-notes-keys-mngr-verify-decrypt.html">Using keys manager for verification/decryption.</a></span></dt>
+<dt><span class="sect1"><a href="xmlsec-notes-custom-keys-store.html">Implementing a custom keys store.</a></span></dt>
</dl></dd>
-<dt><a href="xmlsec-notes-x509.html">Using X509 Certificates.</a></dt>
+<dt><span class="chapter"><a href="xmlsec-notes-x509.html">Using X509 Certificates.</a></span></dt>
<dd><dl>
-<dt><a href="xmlsec-notes-x509.html#XMLSEC-NOTES-X509-OVERVIEW">Overview.</a></dt>
-<dt><a href="xmlsec-notes-sign-x509.html">Signing data with X509 certificate.</a></dt>
-<dt><a href="xmlsec-notes-verify-x509.html">Verifing document signed with X509 certificates.</a></dt>
+<dt><span class="sect1"><a href="xmlsec-notes-x509.html#xmlsec-notes-x509-overview">Overview.</a></span></dt>
+<dt><span class="sect1"><a href="xmlsec-notes-sign-x509.html">Signing data with X509 certificate.</a></span></dt>
+<dt><span class="sect1"><a href="xmlsec-notes-verify-x509.html">Verifing document signed with X509 certificates.</a></span></dt>
</dl></dd>
-<dt><a href="xmlsec-notes-transforms.html">Transforms and transforms chain.</a></dt>
-<dt><a href="xmlsec-notes-contexts.html">Using context objects.</a></dt>
-<dt><a href="xmlsec-notes-new-crypto.html">Adding support for new cryptographic library.</a></dt>
+<dt><span class="chapter"><a href="xmlsec-notes-transforms.html">Transforms and transforms chain.</a></span></dt>
+<dt><span class="chapter"><a href="xmlsec-notes-contexts.html">Using context objects.</a></span></dt>
+<dt><span class="chapter"><a href="xmlsec-notes-new-crypto.html">Adding support for new cryptographic library.</a></span></dt>
<dd><dl>
-<dt><a href="xmlsec-notes-new-crypto.html#XMLSEC-NOTES-NEW-CRYPTO-OVERVIEW">Overview.</a></dt>
-<dt><a href="xmlsec-notes-new-crypto-skeleton.html">Creating a framework from the skeleton.</a></dt>
-<dt><a href="xmlsec-notes-new-crypto-functions.html">xmlSecCryptoApp* functions.</a></dt>
-<dt><a href="xmlsec-notes-new-crypto-klasses.html">Klasses and objects.</a></dt>
-<dt><a href="xmlsec-notes-new-crypto-transforms.html">Cryptographic transforms.</a></dt>
-<dt><a href="xmlsec-notes-new-crypto-keys.html">Keys data and keys data stores.</a></dt>
-<dt><a href="xmlsec-notes-new-crypto-simple-keys-mngr.html">Default keys manager.</a></dt>
-<dt><a href="xmlsec-notes-new-crypto-sharing-results.html">Sharing the results.</a></dt>
+<dt><span class="sect1"><a href="xmlsec-notes-new-crypto.html#xmlsec-notes-new-crypto-overview">Overview.</a></span></dt>
+<dt><span class="sect1"><a href="xmlsec-notes-new-crypto-skeleton.html">Creating a framework from the skeleton.</a></span></dt>
+<dt><span class="sect1"><a href="xmlsec-notes-new-crypto-functions.html">xmlSecCryptoApp* functions.</a></span></dt>
+<dt><span class="sect1"><a href="xmlsec-notes-new-crypto-klasses.html">Klasses and objects.</a></span></dt>
+<dt><span class="sect1"><a href="xmlsec-notes-new-crypto-transforms.html">Cryptographic transforms.</a></span></dt>
+<dt><span class="sect1"><a href="xmlsec-notes-new-crypto-keys.html">Keys data and keys data stores.</a></span></dt>
+<dt><span class="sect1"><a href="xmlsec-notes-new-crypto-simple-keys-mngr.html">Default keys manager.</a></span></dt>
+<dt><span class="sect1"><a href="xmlsec-notes-new-crypto-sharing-results.html">Sharing the results.</a></span></dt>
</dl></dd>
-<dt><a href="xmlsec-examples.html">Examples.</a></dt>
+<dt><span class="chapter"><a href="xmlsec-examples.html">Examples.</a></span></dt>
<dd><dl>
-<dt><a href="xmlsec-examples.html#XMLSEC-EXAMPLES-OVERVIEW">XML Security Library Examples.</a></dt>
-<dt><a href="xmlsec-examples-sign-template-file.html">Signing a template file.</a></dt>
-<dt><a href="xmlsec-examples-sign-dynamimc-template.html">Signing a dynamicaly created template.</a></dt>
-<dt><a href="xmlsec-examples-sign-x509.html">Signing with X509 certificate.</a></dt>
-<dt><a href="xmlsec-verify-with-key.html">Verifying a signature with a single key.</a></dt>
-<dt><a href="xmlsec-verify-with-keys-mngr.html">Verifying a signature with keys manager.</a></dt>
-<dt><a href="xmlsec-verify-with-x509.html">Verifying a signature with X509 certificates.</a></dt>
-<dt><a href="xmlsec-verify-with-restrictions.html">Verifying a signature with additional restrictions.</a></dt>
-<dt><a href="xmlsec-encrypt-template-file.html">Encrypting data with a template file.</a></dt>
-<dt><a href="xmlsec-encrypt-dynamic-template.html">Encrypting data with a dynamicaly created template.</a></dt>
-<dt><a href="xmlsec-encrypt-with-session-key.html">Encrypting data with a session key.</a></dt>
-<dt><a href="xmlsec-decrypt-with-signle-key.html">Decrypting data with a single key.</a></dt>
-<dt><a href="xmlsec-decrypt-with-keys-mngr.html">Decrypting data with keys manager.</a></dt>
-<dt><a href="xmlsec-custom-keys-manager.html">Writing a custom keys manager.</a></dt>
+<dt><span class="sect1"><a href="xmlsec-examples.html#xmlsec-examples-overview">XML Security Library Examples.</a></span></dt>
+<dt><span class="sect1"><a href="xmlsec-examples-sign-template-file.html">Signing a template file.</a></span></dt>
+<dd><dl>
+<dt><span class="sect2"><a href="xmlsec-examples-sign-template-file.html#xmlsec-example-sign1">sign1.c</a></span></dt>
+<dt><span class="sect2"><a href="xmlsec-examples-sign-template-file.html#xmlsec-example-sign1-tmpl">sign1-tmpl.xml</a></span></dt>
+<dt><span class="sect2"><a href="xmlsec-examples-sign-template-file.html#xmlsec-example-sign1-res">sign1-res.xml</a></span></dt>
</dl></dd>
-<dt><a href="xmlsec-signature-klasses.html">APPENDIX A. XML Security Library Signature Klasses.</a></dt>
-<dt><a href="xmlsec-encryption-klasses.html">APPENDIX B. XML Security Library Encryption Klasses.</a></dt>
+<dt><span class="sect1"><a href="xmlsec-examples-sign-dynamimc-template.html">Signing a dynamicaly created template.</a></span></dt>
+<dd><dl>
+<dt><span class="sect2"><a href="xmlsec-examples-sign-dynamimc-template.html#xmlsec-example-sign2">sign2.c</a></span></dt>
+<dt><span class="sect2"><a href="xmlsec-examples-sign-dynamimc-template.html#xmlsec-example-sign2-doc">sign2-doc.xml</a></span></dt>
+<dt><span class="sect2"><a href="xmlsec-examples-sign-dynamimc-template.html#xmlsec-example-sign2-res">sign2-res.xml</a></span></dt>
</dl></dd>
-<dt>II. <a href="xmlsec-reference.html">XML Security Library API Reference.</a>
-</dt>
+<dt><span class="sect1"><a href="xmlsec-examples-sign-x509.html">Signing with X509 certificate.</a></span></dt>
+<dd><dl>
+<dt><span class="sect2"><a href="xmlsec-examples-sign-x509.html#xmlsec-example-sign3">sign3.c</a></span></dt>
+<dt><span class="sect2"><a href="xmlsec-examples-sign-x509.html#xmlsec-example-sign3-doc">sign3-doc.xml</a></span></dt>
+<dt><span class="sect2"><a href="xmlsec-examples-sign-x509.html#xmlsec-example-sign3-res">sign3-res.xml</a></span></dt>
+</dl></dd>
+<dt><span class="sect1"><a href="xmlsec-verify-with-key.html">Verifying a signature with a single key.</a></span></dt>
+<dd><dl><dt><span class="sect2"><a href="xmlsec-verify-with-key.html#xmlsec-example-verify1">verify1.c</a></span></dt></dl></dd>
+<dt><span class="sect1"><a href="xmlsec-verify-with-keys-mngr.html">Verifying a signature with keys manager.</a></span></dt>
+<dd><dl><dt><span class="sect2"><a href="xmlsec-verify-with-keys-mngr.html#xmlsec-example-verify2">verify2.c</a></span></dt></dl></dd>
+<dt><span class="sect1"><a href="xmlsec-verify-with-x509.html">Verifying a signature with X509 certificates.</a></span></dt>
+<dd><dl><dt><span class="sect2"><a href="xmlsec-verify-with-x509.html#xmlsec-example-verify3">verify3.c</a></span></dt></dl></dd>
+<dt><span class="sect1"><a href="xmlsec-verify-with-restrictions.html">Verifying a signature with additional restrictions.</a></span></dt>
+<dd><dl>
+<dt><span class="sect2"><a href="xmlsec-verify-with-restrictions.html#xmlsec-example-verify4">verify4.c</a></span></dt>
+<dt><span class="sect2"><a href="xmlsec-verify-with-restrictions.html#xmlsec-example-verify4-tmpl">verify4-tmpl.xml</a></span></dt>
+<dt><span class="sect2"><a href="xmlsec-verify-with-restrictions.html#xmlsec-example-verify4-res">verify4-res.xml</a></span></dt>
+<dt><span class="sect2"><a href="xmlsec-verify-with-restrictions.html#xmlsec-example-verify4-bad-tmpl">verify4-bad-tmpl.xml</a></span></dt>
+<dt><span class="sect2"><a href="xmlsec-verify-with-restrictions.html#xmlsec-example-verify4-bad-res">verify4-bad-res.xml</a></span></dt>
+</dl></dd>
+<dt><span class="sect1"><a href="xmlsec-encrypt-template-file.html">Encrypting data with a template file.</a></span></dt>
+<dd><dl>
+<dt><span class="sect2"><a href="xmlsec-encrypt-template-file.html#xmlsec-example-encrypt1">encrypt1.c</a></span></dt>
+<dt><span class="sect2"><a href="xmlsec-encrypt-template-file.html#xmlsec-example-encrypt1-tmpl">encrypt1-tmpl.xml</a></span></dt>
+<dt><span class="sect2"><a href="xmlsec-encrypt-template-file.html#xmlsec-example-encrypt1-res">encrypt1-res.xml</a></span></dt>
+</dl></dd>
+<dt><span class="sect1"><a href="xmlsec-encrypt-dynamic-template.html">Encrypting data with a dynamicaly created template.</a></span></dt>
+<dd><dl>
+<dt><span class="sect2"><a href="xmlsec-encrypt-dynamic-template.html#xmlsec-example-encrypt2">encrypt2.c</a></span></dt>
+<dt><span class="sect2"><a href="xmlsec-encrypt-dynamic-template.html#xmlsec-example-encrypt2-doc">encrypt2-doc.xml</a></span></dt>
+<dt><span class="sect2"><a href="xmlsec-encrypt-dynamic-template.html#xmlsec-example-encrypt2-res">encrypt2-res.xml</a></span></dt>
+</dl></dd>
+<dt><span class="sect1"><a href="xmlsec-encrypt-with-session-key.html">Encrypting data with a session key.</a></span></dt>
+<dd><dl>
+<dt><span class="sect2"><a href="xmlsec-encrypt-with-session-key.html#xmlsec-example-encrypt3">encrypt3.c</a></span></dt>
+<dt><span class="sect2"><a href="xmlsec-encrypt-with-session-key.html#xmlsec-example-encrypt3-doc">encrypt3-doc.xml</a></span></dt>
+<dt><span class="sect2"><a href="xmlsec-encrypt-with-session-key.html#xmlsec-example-encrypt3-res">encrypt3-res.xml</a></span></dt>
+</dl></dd>
+<dt><span class="sect1"><a href="xmlsec-decrypt-with-signle-key.html">Decrypting data with a single key.</a></span></dt>
+<dd><dl><dt><span class="sect2"><a href="xmlsec-decrypt-with-signle-key.html#xmlsec-example-decrypt1">decrypt1.c</a></span></dt></dl></dd>
+<dt><span class="sect1"><a href="xmlsec-decrypt-with-keys-mngr.html">Decrypting data with keys manager.</a></span></dt>
+<dd><dl><dt><span class="sect2"><a href="xmlsec-decrypt-with-keys-mngr.html#xmlsec-example-decrypt2">decrypt2.c</a></span></dt></dl></dd>
+<dt><span class="sect1"><a href="xmlsec-custom-keys-manager.html">Writing a custom keys manager.</a></span></dt>
+<dd><dl><dt><span class="sect2"><a href="xmlsec-custom-keys-manager.html#xmlsec-example-decrypt3">decrypt3.c</a></span></dt></dl></dd>
+</dl></dd>
+<dt><span class="chapter"><a href="xmlsec-signature-klasses.html">APPENDIX A. XML Security Library Signature Klasses.</a></span></dt>
+<dt><span class="chapter"><a href="xmlsec-encryption-klasses.html">APPENDIX B. XML Security Library Encryption Klasses.</a></span></dt>
+</dl></dd>
+<dt><span class="part"><a href="xmlsec-reference.html">II. XML Security Library API Reference.</a></span></dt>
<dd><dl>
-<dt><a href="xmlsec-ref.html">XML Security Core Library API Reference.</a></dt>
+<dt><span class="chapter"><a href="xmlsec-ref.html">XML Security Core Library API Reference.</a></span></dt>
<dd><dl>
<dt>
-<a href="xmlsec-app.html">app</a> -- Crypto-engine independent application support function.</dt>
+<span class="refentrytitle"><a href="xmlsec-app.html">app</a></span><span class="refpurpose"> — Crypto-engine independent application support function.</span>
+</dt>
<dt>
-<a href="xmlsec-base64.html">base64</a> -- Base64 encoding/decoding functions.</dt>
+<span class="refentrytitle"><a href="xmlsec-base64.html">base64</a></span><span class="refpurpose"> — Base64 encoding/decoding functions.</span>
+</dt>
<dt>
-<a href="xmlsec-bn.html">bn</a> -- Big numbers support functions.</dt>
+<span class="refentrytitle"><a href="xmlsec-bn.html">bn</a></span><span class="refpurpose"> — Big numbers support functions.</span>
+</dt>
<dt>
-<a href="xmlsec-buffer.html">buffer</a> -- Binary buffer implementation.</dt>
+<span class="refentrytitle"><a href="xmlsec-buffer.html">buffer</a></span><span class="refpurpose"> — Binary buffer implementation.</span>
+</dt>
<dt>
-<a href="xmlsec-dl.html">dl</a> -- Dynamic crypto-engine library loading support.</dt>
+<span class="refentrytitle"><a href="xmlsec-dl.html">dl</a></span><span class="refpurpose"> — Dynamic crypto-engine library loading support.</span>
+</dt>
<dt>
-<a href="xmlsec-errors.html">errors</a> -- Error/log messages support.</dt>
+<span class="refentrytitle"><a href="xmlsec-errors.html">errors</a></span><span class="refpurpose"> — Error/log messages support.</span>
+</dt>
<dt>
-<a href="xmlsec-io.html">io</a> -- Input/output support.</dt>
+<span class="refentrytitle"><a href="xmlsec-io.html">io</a></span><span class="refpurpose"> — Input/output support.</span>
+</dt>
<dt>
-<a href="xmlsec-keyinfo.html">keyinfo</a> -- <a href="http://www.w3.org/TR/xmldsig-core/#sec-KeyInfo" target="_top"><dsig:KeyInfo/></a> node parser.</dt>
+<span class="refentrytitle"><a href="xmlsec-keyinfo.html">keyinfo</a></span><span class="refpurpose"> — <dsig:KeyInfo/> node parser.</span>
+</dt>
<dt>
-<a href="xmlsec-keysdata.html">keysdata</a> -- Crypto key data object definition.</dt>
+<span class="refentrytitle"><a href="xmlsec-keysdata.html">keysdata</a></span><span class="refpurpose"> — Crypto key data object definition.</span>
+</dt>
<dt>
-<a href="xmlsec-keys.html">keys</a> -- Crypto key object definition.</dt>
+<span class="refentrytitle"><a href="xmlsec-keys.html">keys</a></span><span class="refpurpose"> — Crypto key object definition.</span>
+</dt>
<dt>
-<a href="xmlsec-keysmngr.html">keysmngr</a> -- Keys manager object support.</dt>
+<span class="refentrytitle"><a href="xmlsec-keysmngr.html">keysmngr</a></span><span class="refpurpose"> — Keys manager object support.</span>
+</dt>
<dt>
-<a href="xmlsec-list.html">list</a> -- Generic list structure implementation.</dt>
+<span class="refentrytitle"><a href="xmlsec-list.html">list</a></span><span class="refpurpose"> — Generic list structure implementation.</span>
+</dt>
<dt>
-<a href="xmlsec-membuf.html">membuf</a> -- Memory buffer transform implementation.</dt>
+<span class="refentrytitle"><a href="xmlsec-membuf.html">membuf</a></span><span class="refpurpose"> — Memory buffer transform implementation.</span>
+</dt>
<dt>
-<a href="xmlsec-nodeset.html">nodeset</a> -- Nodeset object implementation.</dt>
+<span class="refentrytitle"><a href="xmlsec-nodeset.html">nodeset</a></span><span class="refpurpose"> — Nodeset object implementation.</span>
+</dt>
<dt>
-<a href="xmlsec-parser.html">parser</a> -- Parser transform implementation.</dt>
+<span class="refentrytitle"><a href="xmlsec-parser.html">parser</a></span><span class="refpurpose"> — Parser transform implementation.</span>
+</dt>
<dt>
-<a href="xmlsec-templates.html">templates</a> -- Dynamic templates creation functions.</dt>
+<span class="refentrytitle"><a href="xmlsec-templates.html">templates</a></span><span class="refpurpose"> — Dynamic templates creation functions.</span>
+</dt>
<dt>
-<a href="xmlsec-transforms.html">transforms</a> -- Transform object definition.</dt>
+<span class="refentrytitle"><a href="xmlsec-transforms.html">transforms</a></span><span class="refpurpose"> — Transform object definition.</span>
+</dt>
<dt>
-<a href="xmlsec-version.html">version</a> -- Version macros.</dt>
+<span class="refentrytitle"><a href="xmlsec-version.html">version</a></span><span class="refpurpose"> — Version macros.</span>
+</dt>
<dt>
-<a href="xmlsec-xmldsig.html">xmldsig</a> -- XML Digital Signature support.</dt>
+<span class="refentrytitle"><a href="xmlsec-xmldsig.html">xmldsig</a></span><span class="refpurpose"> — XML Digital Signature support.</span>
+</dt>
<dt>
-<a href="xmlsec-xmlenc.html">xmlenc</a> -- XML Encryption support.</dt>
+<span class="refentrytitle"><a href="xmlsec-xmlenc.html">xmlenc</a></span><span class="refpurpose"> — XML Encryption support.</span>
+</dt>
<dt>
-<a href="xmlsec-xmlsec.html">xmlsec</a> -- Utility functions.</dt>
+<span class="refentrytitle"><a href="xmlsec-xmlsec.html">xmlsec</a></span><span class="refpurpose"> — Utility functions.</span>
+</dt>
<dt>
-<a href="xmlsec-xmltree.html">xmltree</a> -- XML tree operations.</dt>
+<span class="refentrytitle"><a href="xmlsec-xmltree.html">xmltree</a></span><span class="refpurpose"> — XML tree operations.</span>
+</dt>
<dt>
-<a href="xmlsec-x509.html">x509</a> -- <a href="http://www.w3.org/TR/xmldsig-core/#sec-X509Certificate" target="_top"><dsig:X509Certificate/></a> node parser.</dt>
+<span class="refentrytitle"><a href="xmlsec-x509.html">x509</a></span><span class="refpurpose"> — <dsig:X509Certificate/> node parser.</span>
+</dt>
</dl></dd>
-<dt><a href="xmlsec-openssl-ref.html">XML Security Library for OpenSLL API Reference.</a></dt>
+<dt><span class="chapter"><a href="xmlsec-openssl-ref.html">XML Security Library for OpenSLL API Reference.</a></span></dt>
<dd><dl>
<dt>
-<a href="xmlsec-openssl-app.html">app</a> -- Application functions implementation for OpenSSL.</dt>
+<span class="refentrytitle"><a href="xmlsec-openssl-app.html">app</a></span><span class="refpurpose"> — Application functions implementation for OpenSSL.</span>
+</dt>
<dt>
-<a href="xmlsec-openssl-bn.html">bn</a> -- Big numbers helper functions.</dt>
+<span class="refentrytitle"><a href="xmlsec-openssl-bn.html">bn</a></span><span class="refpurpose"> — Big numbers helper functions.</span>
+</dt>
<dt>
-<a href="xmlsec-openssl-crypto.html">crypto</a> -- Crypto transforms implementation for OpenSSL.</dt>
+<span class="refentrytitle"><a href="xmlsec-openssl-crypto.html">crypto</a></span><span class="refpurpose"> — Crypto transforms implementation for OpenSSL.</span>
+</dt>
<dt>
-<a href="xmlsec-openssl-evp.html">evp</a> -- EVP keys data implementation.</dt>
+<span class="refentrytitle"><a href="xmlsec-openssl-evp.html">evp</a></span><span class="refpurpose"> — EVP keys data implementation.</span>
+</dt>
<dt>
-<a href="xmlsec-openssl-x509.html">x509</a> -- X509 certificates support implementation for OpenSSL.</dt>
+<span class="refentrytitle"><a href="xmlsec-openssl-x509.html">x509</a></span><span class="refpurpose"> — X509 certificates support implementation for OpenSSL.</span>
+</dt>
</dl></dd>
-<dt><a href="xmlsec-gnutls-ref.html">XML Security Library for GnuTLS API Reference.</a></dt>
+<dt><span class="chapter"><a href="xmlsec-gnutls-ref.html">XML Security Library for GnuTLS API Reference.</a></span></dt>
<dd><dl>
<dt>
-<a href="xmlsec-gnutls-app.html">app</a> -- Application functions implementation for GnuTLS.</dt>
+<span class="refentrytitle"><a href="xmlsec-gnutls-app.html">app</a></span><span class="refpurpose"> — Application functions implementation for GnuTLS.</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="xmlsec-gnutls-crypto.html">crypto</a></span><span class="refpurpose"> — Crypto transforms implementation for GnuTLS.</span>
+</dt>
<dt>
-<a href="xmlsec-gnutls-crypto.html">crypto</a> -- Crypto transforms implementation for GnuTLS.</dt>
+<span class="refentrytitle"><a href="xmlsec-gnutls-x509.html">x509</a></span><span class="refpurpose"> — X509 certificates support implementation for GnuTLS.</span>
+</dt>
</dl></dd>
-<dt><a href="xmlsec-gcrypt-ref.html">XML Security Library for GCrypt API Reference.</a></dt>
+<dt><span class="chapter"><a href="xmlsec-gcrypt-ref.html">XML Security Library for GCrypt API Reference.</a></span></dt>
<dd><dl>
<dt>
-<a href="xmlsec-gcrypt-app.html">app</a> -- Application functions implementation for GnuTLS.</dt>
+<span class="refentrytitle"><a href="xmlsec-gcrypt-app.html">app</a></span><span class="refpurpose"> — Application functions implementation for GnuTLS.</span>
+</dt>
<dt>
-<a href="xmlsec-gcrypt-crypto.html">crypto</a> -- Crypto transforms implementation for GCrypt.</dt>
+<span class="refentrytitle"><a href="xmlsec-gcrypt-crypto.html">crypto</a></span><span class="refpurpose"> — Crypto transforms implementation for GCrypt.</span>
+</dt>
</dl></dd>
-<dt><a href="xmlsec-nss-ref.html">XML Security Library for NSS API Reference.</a></dt>
+<dt><span class="chapter"><a href="xmlsec-nss-ref.html">XML Security Library for NSS API Reference.</a></span></dt>
<dd><dl>
<dt>
-<a href="xmlsec-nss-app.html">app</a> -- Application functions implementation for NSS.</dt>
+<span class="refentrytitle"><a href="xmlsec-nss-app.html">app</a></span><span class="refpurpose"> — Application functions implementation for NSS.</span>
+</dt>
<dt>
-<a href="xmlsec-nss-bignum.html">bignum</a> -- Big numbers helper functions.</dt>
+<span class="refentrytitle"><a href="xmlsec-nss-bignum.html">bignum</a></span><span class="refpurpose"> — Big numbers helper functions.</span>
+</dt>
<dt>
-<a href="xmlsec-nss-crypto.html">crypto</a> -- Crypto transforms implementation for NSS.</dt>
+<span class="refentrytitle"><a href="xmlsec-nss-crypto.html">crypto</a></span><span class="refpurpose"> — Crypto transforms implementation for NSS.</span>
+</dt>
<dt>
-<a href="xmlsec-nss-keysstore.html">keysstore</a> -- Keys store implementation for NSS.</dt>
+<span class="refentrytitle"><a href="xmlsec-nss-keysstore.html">keysstore</a></span><span class="refpurpose"> — Keys store implementation for NSS.</span>
+</dt>
<dt>
-<a href="xmlsec-nss-pkikeys.html">pkikeys</a> -- PKI keys data implementation.</dt>
+<span class="refentrytitle"><a href="xmlsec-nss-pkikeys.html">pkikeys</a></span><span class="refpurpose"> — PKI keys data implementation.</span>
+</dt>
<dt>
-<a href="xmlsec-nss-x509.html">x509</a> -- X509 certificates support implementation for NSS.</dt>
+<span class="refentrytitle"><a href="xmlsec-nss-x509.html">x509</a></span><span class="refpurpose"> — X509 certificates support implementation for NSS.</span>
+</dt>
</dl></dd>
-<dt><a href="xmlsec-mscrypto-ref.html">XML Security Library for MSCrypto API Reference.</a></dt>
+<dt><span class="chapter"><a href="xmlsec-mscrypto-ref.html">XML Security Library for MSCrypto API Reference.</a></span></dt>
<dd><dl>
<dt>
-<a href="xmlsec-mscrypto-app.html">app</a> -- Application functions implementation for MS Crypto.</dt>
+<span class="refentrytitle"><a href="xmlsec-mscrypto-app.html">app</a></span><span class="refpurpose"> — Application functions implementation for MS Crypto.</span>
+</dt>
<dt>
-<a href="xmlsec-mscrypto-certkeys.html">certkeys</a> -- MS Crypto certificates helper functions.</dt>
+<span class="refentrytitle"><a href="xmlsec-mscrypto-certkeys.html">certkeys</a></span><span class="refpurpose"> — MS Crypto certificates helper functions.</span>
+</dt>
<dt>
-<a href="xmlsec-mscrypto-crypto.html">crypto</a> -- Crypto transforms implementation for MS Crypto.</dt>
+<span class="refentrytitle"><a href="xmlsec-mscrypto-crypto.html">crypto</a></span><span class="refpurpose"> — Crypto transforms implementation for MS Crypto.</span>
+</dt>
<dt>
-<a href="xmlsec-mscrypto-keysstore.html">keysstore</a> -- Keys store implementation for MS Crypto.</dt>
+<span class="refentrytitle"><a href="xmlsec-mscrypto-keysstore.html">keysstore</a></span><span class="refpurpose"> — Keys store implementation for MS Crypto.</span>
+</dt>
<dt>
-<a href="xmlsec-mscrypto-x509.html">x509</a> -- X509 certificates support implementation for MS Crypto.</dt>
+<span class="refentrytitle"><a href="xmlsec-mscrypto-x509.html">x509</a></span><span class="refpurpose"> — X509 certificates support implementation for MS Crypto.</span>
+</dt>
</dl></dd>
-<dt><a href="xmlsec-index.html">XML Security Library Reference Index</a></dt>
+<dt><span class="chapter"><a href="xmlsec-index.html">XML Security Library Reference Index</a></span></dt>
</dl></dd>
</dl></div>
</div>
-<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td align="left"></td>
-<td align="right"><a accesskey="n" href="xmlsec-notes.html"><b>XML Security Library Tutorial >>></b></a></td>
-</tr></table>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
</td></tr></table></td>
</tr></table></body>
</html>
diff --git a/docs/api/left-insensitive.png b/docs/api/left-insensitive.png
new file mode 100644
index 0000000..38ffe3e
Binary files /dev/null and b/docs/api/left-insensitive.png differ
diff --git a/docs/api/left.png b/docs/api/left.png
index c518641..1b204ab 100644
Binary files a/docs/api/left.png and b/docs/api/left.png differ
diff --git a/docs/api/right-insensitive.png b/docs/api/right-insensitive.png
new file mode 100644
index 0000000..f999f00
Binary files /dev/null and b/docs/api/right-insensitive.png differ
diff --git a/docs/api/right.png b/docs/api/right.png
index 78f5875..4653997 100644
Binary files a/docs/api/right.png and b/docs/api/right.png differ
diff --git a/docs/api/src/chapters/using-x509-certs.sgml b/docs/api/src/chapters/using-x509-certs.sgml
index 8ff029d..ef17d79 100644
--- a/docs/api/src/chapters/using-x509-certs.sgml
+++ b/docs/api/src/chapters/using-x509-certs.sgml
@@ -119,7 +119,7 @@
<figure>
<title>Certificates chain.</title>
<programlisting>
-Certificate A (signed with B) <- Certificate B (signed with C) <- ... <- Root Certificate (signed by itself)
+Certificate A (signed with B) <- Certificate B (signed with C) <- ... <- Root Certificate (signed by itself)
</programlisting>
</figure>
At the end of the chain there is a "Root Certificate" which
diff --git a/docs/api/src/xmlsec.sgml b/docs/api/src/xmlsec.sgml
index fdb3ac1..2a84790 100644
--- a/docs/api/src/xmlsec.sgml
+++ b/docs/api/src/xmlsec.sgml
@@ -1,7 +1,9 @@
-<!doctype book PUBLIC "-//Davenport//DTD DocBook V3.0//EN" [
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "
+http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY chapter-compiling-and-linking SYSTEM "chapters/compiling-and-linking.sgml">
-<!ENTITY chapter-init-and-shutdown SYSTEM "chapters/init-and-shutdown.sgml">
-<!ENTITY chapter-sign-and-encrypt SYSTEM "chapters/sign-and-encrypt.sgml">
+<!ENTITY chapter-init-and-shutdown SYSTEM "chapters/init-and-shutdown.sgml">
+<!ENTITY chapter-sign-and-encrypt SYSTEM "chapters/sign-and-encrypt.sgml">
<!ENTITY chapter-verify-and-decrypt SYSTEM "chapters/verify-and-decrypt.sgml">
<!ENTITY chapter-creating-templates SYSTEM "chapters/creating-templates.sgml">
<!ENTITY chapter-using-keys SYSTEM "chapters/using-keys.sgml">
@@ -14,55 +16,55 @@
<!ENTITY xmlsec-index SYSTEM "xmlsec-index.sgml">
-<!ENTITY xmlsec-app SYSTEM "app.sgml">
-<!ENTITY xmlsec-base64 SYSTEM "base64.sgml">
-<!ENTITY xmlsec-bn SYSTEM "bn.sgml">
-<!ENTITY xmlsec-buffer SYSTEM "buffer.sgml">
-<!ENTITY xmlsec-dl SYSTEM "dl.sgml">
-<!ENTITY xmlsec-errors SYSTEM "errors.sgml">
-<!ENTITY xmlsec-io SYSTEM "io.sgml">
-<!ENTITY xmlsec-keyinfo SYSTEM "keyinfo.sgml">
-<!ENTITY xmlsec-keysdata SYSTEM "keysdata.sgml">
-<!ENTITY xmlsec-keys SYSTEM "keys.sgml">
-<!ENTITY xmlsec-keysmngr SYSTEM "keysmngr.sgml">
-<!ENTITY xmlsec-list SYSTEM "list.sgml">
-<!ENTITY xmlsec-membuf SYSTEM "membuf.sgml">
-<!ENTITY xmlsec-nodeset SYSTEM "nodeset.sgml">
-<!ENTITY xmlsec-parser SYSTEM "parser.sgml">
-<!ENTITY xmlsec-templates SYSTEM "templates.sgml">
-<!ENTITY xmlsec-transforms SYSTEM "transforms.sgml">
-<!ENTITY xmlsec-version SYSTEM "version.sgml">
-<!ENTITY xmlsec-xmldsig SYSTEM "xmldsig.sgml">
-<!ENTITY xmlsec-xmlenc SYSTEM "xmlenc.sgml">
-<!ENTITY xmlsec-xmlsec SYSTEM "xmlsec.sgml">
-<!ENTITY xmlsec-xmltree SYSTEM "xmltree.sgml">
-<!ENTITY xmlsec-x509 SYSTEM "x509.sgml">
+<!ENTITY xmlsec-app "app.xml">
+<!ENTITY xmlsec-base64 "base64.xml">
+<!ENTITY xmlsec-bn "bn.xml">
+<!ENTITY xmlsec-buffer "buffer.xml">
+<!ENTITY xmlsec-dl "dl.xml">
+<!ENTITY xmlsec-errors "errors.xml">
+<!ENTITY xmlsec-io "io.xml">
+<!ENTITY xmlsec-keyinfo "keyinfo.xml">
+<!ENTITY xmlsec-keysdata "keysdata.xml">
+<!ENTITY xmlsec-keys "keys.xml">
+<!ENTITY xmlsec-keysmngr "keysmngr.xml">
+<!ENTITY xmlsec-list "list.xml">
+<!ENTITY xmlsec-membuf "membuf.xml">
+<!ENTITY xmlsec-nodeset "nodeset.xml">
+<!ENTITY xmlsec-parser "parser.xml">
+<!ENTITY xmlsec-templates "templates.xml">
+<!ENTITY xmlsec-transforms "transforms.xml">
+<!ENTITY xmlsec-version "version.xml">
+<!ENTITY xmlsec-x509 "x509.xml">
+<!ENTITY xmlsec-xmldsig "xmldsig.xml">
+<!ENTITY xmlsec-xmlenc "xmlenc.xml">
+<!ENTITY xmlsec-xmlsec "xmlsec.xml">
+<!ENTITY xmlsec-xmltree "xmltree.xml">
-<!ENTITY xmlsec-openssl-app SYSTEM "openssl/app.sgml">
-<!ENTITY xmlsec-openssl-bn SYSTEM "openssl/bn.sgml">
-<!ENTITY xmlsec-openssl-ciphers SYSTEM "openssl/ciphers.sgml">
-<!ENTITY xmlsec-openssl-crypto SYSTEM "openssl/crypto.sgml">
-<!ENTITY xmlsec-openssl-evp SYSTEM "openssl/evp.sgml">
-<!ENTITY xmlsec-openssl-x509 SYSTEM "openssl/x509.sgml">
+<!ENTITY xmlsec-openssl-app "openssl/app.xml">
+<!ENTITY xmlsec-openssl-bn "openssl/bn.xml">
+<!ENTITY xmlsec-openssl-crypto "openssl/crypto.xml">
+<!ENTITY xmlsec-openssl-evp "openssl/evp.xml">
+<!ENTITY xmlsec-openssl-x509 "openssl/x509.xml">
-<!ENTITY xmlsec-gnutls-app SYSTEM "gnutls/app.sgml">
-<!ENTITY xmlsec-gnutls-crypto SYSTEM "gnutls/crypto.sgml">
+<!ENTITY xmlsec-gnutls-app "gnutls/app.xml">
+<!ENTITY xmlsec-gnutls-crypto "gnutls/crypto.xml">
+<!ENTITY xmlsec-gnutls-x509 "gnutls/x509.xml">
-<!ENTITY xmlsec-gcrypt-app SYSTEM "gcrypt/app.sgml">
-<!ENTITY xmlsec-gcrypt-crypto SYSTEM "gcrypt/crypto.sgml">
+<!ENTITY xmlsec-gcrypt-app "gcrypt/app.xml">
+<!ENTITY xmlsec-gcrypt-crypto "gcrypt/crypto.xml">
-<!ENTITY xmlsec-nss-app SYSTEM "nss/app.sgml">
-<!ENTITY xmlsec-nss-bignum SYSTEM "nss/bignum.sgml">
-<!ENTITY xmlsec-nss-crypto SYSTEM "nss/crypto.sgml">
-<!ENTITY xmlsec-nss-keysstore SYSTEM "nss/keysstore.sgml">
-<!ENTITY xmlsec-nss-pkikeys SYSTEM "nss/pkikeys.sgml">
-<!ENTITY xmlsec-nss-x509 SYSTEM "nss/x509.sgml">
+<!ENTITY xmlsec-nss-app "nss/app.xml">
+<!ENTITY xmlsec-nss-bignum "nss/bignum.xml">
+<!ENTITY xmlsec-nss-crypto "nss/crypto.xml">
+<!ENTITY xmlsec-nss-keysstore "nss/keysstore.xml">
+<!ENTITY xmlsec-nss-pkikeys "nss/pkikeys.xml">
+<!ENTITY xmlsec-nss-x509 "nss/x509.xml">
-<!ENTITY xmlsec-mscrypto-app SYSTEM "mscrypto/app.sgml">
-<!ENTITY xmlsec-mscrypto-certkeys SYSTEM "mscrypto/certkeys.sgml">
-<!ENTITY xmlsec-mscrypto-crypto SYSTEM "mscrypto/crypto.sgml">
-<!ENTITY xmlsec-mscrypto-keysstore SYSTEM "mscrypto/keysstore.sgml">
-<!ENTITY xmlsec-mscrypto-x509 SYSTEM "mscrypto/x509.sgml">
+<!ENTITY xmlsec-mscrypto-app "mscrypto/app.xml">
+<!ENTITY xmlsec-mscrypto-certkeys "mscrypto/certkeys.xml">
+<!ENTITY xmlsec-mscrypto-crypto "mscrypto/crypto.xml">
+<!ENTITY xmlsec-mscrypto-keysstore "mscrypto/keysstore.xml">
+<!ENTITY xmlsec-mscrypto-x509 "mscrypto/x509.xml">
<!ENTITY xmlsec-example-sign1 SYSTEM "examples/sign1.sgml">
<!ENTITY xmlsec-example-sign2 SYSTEM "examples/sign2.sgml">
@@ -114,7 +116,7 @@
</author>
</authorgroup>
<copyright>
- <year>2002-2003</year>
+ <year>2002-2017</year>
<holder>Aleksey Sanin</holder>
</copyright>
<legalnotice>
@@ -210,29 +212,29 @@
the public interfaces are documented here. This reference guide is
build by extracting comments from the code sources. </para>
- &xmlsec-app;
- &xmlsec-base64;
- &xmlsec-bn;
- &xmlsec-buffer;
- &xmlsec-dl;
- &xmlsec-errors;
- &xmlsec-io;
- &xmlsec-keyinfo;
- &xmlsec-keysdata;
- &xmlsec-keys;
- &xmlsec-keysmngr;
- &xmlsec-list;
- &xmlsec-membuf;
- &xmlsec-nodeset;
- &xmlsec-parser;
- &xmlsec-templates;
- &xmlsec-transforms;
- &xmlsec-version;
- &xmlsec-xmldsig;
- &xmlsec-xmlenc;
- &xmlsec-xmlsec;
- &xmlsec-xmltree;
- &xmlsec-x509;
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="&xmlsec-app;"/>
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="&xmlsec-base64;"/>
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="&xmlsec-bn;"/>
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="&xmlsec-buffer;"/>
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="&xmlsec-dl;"/>
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="&xmlsec-errors;"/>
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="&xmlsec-io;"/>
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="&xmlsec-keyinfo;"/>
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="&xmlsec-keysdata;"/>
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="&xmlsec-keys;"/>
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="&xmlsec-keysmngr;"/>
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="&xmlsec-list;"/>
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="&xmlsec-membuf;"/>
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="&xmlsec-nodeset;"/>
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="&xmlsec-parser;"/>
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="&xmlsec-templates;"/>
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="&xmlsec-transforms;"/>
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="&xmlsec-version;"/>
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="&xmlsec-xmldsig;"/>
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="&xmlsec-xmlenc;"/>
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="&xmlsec-xmlsec;"/>
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="&xmlsec-xmltree;"/>
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="&xmlsec-x509;"/>
</chapter>
<chapter id="xmlsec-openssl-ref">
@@ -241,11 +243,11 @@
the public interfaces are documented here. This reference guide is
build by extracting comments from the code sources. </para>
- &xmlsec-openssl-app;
- &xmlsec-openssl-bn;
- &xmlsec-openssl-crypto;
- &xmlsec-openssl-evp;
- &xmlsec-openssl-x509;
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="&xmlsec-openssl-app;"/>
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="&xmlsec-openssl-bn;"/>
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="&xmlsec-openssl-crypto;"/>
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="&xmlsec-openssl-evp;"/>
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="&xmlsec-openssl-x509;"/>
</chapter>
<chapter id="xmlsec-gnutls-ref">
@@ -254,8 +256,9 @@
the public interfaces are documented here. This reference guide is
build by extracting comments from the code sources. </para>
- &xmlsec-gnutls-app;
- &xmlsec-gnutls-crypto;
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="&xmlsec-gnutls-app;"/>
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="&xmlsec-gnutls-crypto;"/>
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="&xmlsec-gnutls-x509;"/>
</chapter>
<chapter id="xmlsec-gcrypt-ref">
@@ -264,8 +267,8 @@
the public interfaces are documented here. This reference guide is
build by extracting comments from the code sources. </para>
- &xmlsec-gcrypt-app;
- &xmlsec-gcrypt-crypto;
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="&xmlsec-gcrypt-app;"/>
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="&xmlsec-gcrypt-crypto;"/>
</chapter>
<chapter id="xmlsec-nss-ref">
@@ -274,12 +277,12 @@
the public interfaces are documented here. This reference guide is
build by extracting comments from the code sources. </para>
- &xmlsec-nss-app;
- &xmlsec-nss-bignum;
- &xmlsec-nss-crypto;
- &xmlsec-nss-keysstore;
- &xmlsec-nss-pkikeys;
- &xmlsec-nss-x509;
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="&xmlsec-nss-app;"/>
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="&xmlsec-nss-bignum;"/>
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="&xmlsec-nss-crypto;"/>
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="&xmlsec-nss-keysstore;"/>
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="&xmlsec-nss-pkikeys;"/>
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="&xmlsec-nss-x509;"/>
</chapter>
<chapter id="xmlsec-mscrypto-ref">
@@ -288,18 +291,18 @@
the public interfaces are documented here. This reference guide is
build by extracting comments from the code sources. </para>
- &xmlsec-mscrypto-app;
- &xmlsec-mscrypto-certkeys;
- &xmlsec-mscrypto-crypto;
- &xmlsec-mscrypto-keysstore;
- &xmlsec-mscrypto-x509;
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="&xmlsec-mscrypto-app;"/>
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="&xmlsec-mscrypto-certkeys;"/>
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="&xmlsec-mscrypto-crypto;"/>
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="&xmlsec-mscrypto-keysstore;"/>
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="&xmlsec-mscrypto-x509;"/>
</chapter>
<chapter id="xmlsec-index">
<title>XML Security Library Reference Index</title>
<para>
<itemizedlist>
- &xmlsec-index;
+ &xmlsec-index;
</itemizedlist>
</para>
</chapter>
diff --git a/docs/api/tmpl/base/errors.sgml b/docs/api/tmpl/base/errors.sgml
index 185ae22..7dea2cb 100644
--- a/docs/api/tmpl/base/errors.sgml
+++ b/docs/api/tmpl/base/errors.sgml
@@ -83,6 +83,13 @@ Error/log messages support.
+<!-- ##### MACRO XMLSEC_ERRORS_R_INVALID_CONFIG ##### -->
+<para>
+
+</para>
+
+
+
<!-- ##### MACRO XMLSEC_ERRORS_R_INVALID_SIZE ##### -->
<para>
@@ -139,6 +146,13 @@ Error/log messages support.
+<!-- ##### MACRO XMLSEC_ERRORS_R_INVALID_VERSION ##### -->
+<para>
+
+</para>
+
+
+
<!-- ##### MACRO XMLSEC_ERRORS_R_INVALID_NODE ##### -->
<para>
diff --git a/docs/api/tmpl/base/private.sgml b/docs/api/tmpl/base/private.sgml
index 3ffde0a..7ae072b 100644
--- a/docs/api/tmpl/base/private.sgml
+++ b/docs/api/tmpl/base/private.sgml
@@ -272,17 +272,44 @@ Private header for building xmlsec-crypto-engine libraries.
@cryptoAppKeyCertLoadMemory:
@cryptoAppDefaultPwdCallback:
-<!-- ##### MACRO xmlSecStrPrintf ##### -->
+<!-- ##### MACRO ATTRIBUTE_UNUSED ##### -->
<para>
</para>
-<!-- ##### MACRO xmlSecStrVPrintf ##### -->
+<!-- ##### MACRO XMLSEC_PTR_TO_FUNC_IMPL ##### -->
<para>
</para>
+ at func_type:
+
+
+<!-- ##### MACRO XMLSEC_PTR_TO_FUNC ##### -->
+<para>
+
+</para>
+
+ at func_type:
+ at ptr:
+
+
+<!-- ##### MACRO XMLSEC_FUNC_TO_PTR_IMPL ##### -->
+<para>
+
+</para>
+
+ at func_type:
+
+
+<!-- ##### MACRO XMLSEC_FUNC_TO_PTR ##### -->
+<para>
+
+</para>
+
+ at func_type:
+ at func:
diff --git a/docs/api/tmpl/base/xmlsec-unused.sgml b/docs/api/tmpl/base/xmlsec-unused.sgml
index e35eac2..178a1c9 100644
--- a/docs/api/tmpl/base/xmlsec-unused.sgml
+++ b/docs/api/tmpl/base/xmlsec-unused.sgml
@@ -92,6 +92,240 @@ xkms
</para>
+<!-- ##### FUNCTION xmlSecGenerateAndAddID ##### -->
+<para>
+
+</para>
+
+ at node:
+ at attrName:
+ at prefix:
+ at len:
+ at Returns:
+
+<!-- ##### FUNCTION xmlSecGenerateID ##### -->
+<para>
+
+</para>
+
+ at prefix:
+ at len:
+ at Returns:
+
+<!-- ##### FUNCTION xmlSecSoap11AddBodyEntry ##### -->
+<para>
+
+</para>
+
+ at envNode:
+ at entryNode:
+ at Returns:
+
+<!-- ##### FUNCTION xmlSecSoap11AddFaultEntry ##### -->
+<para>
+
+</para>
+
+ at envNode:
+ at faultCodeHref:
+ at faultCodeLocalPart:
+ at faultString:
+ at faultActor:
+ at Returns:
+
+<!-- ##### FUNCTION xmlSecSoap11CheckEnvelope ##### -->
+<para>
+
+</para>
+
+ at envNode:
+ at Returns:
+
+<!-- ##### FUNCTION xmlSecSoap11CreateEnvelope ##### -->
+<para>
+
+</para>
+
+ at doc:
+ at Returns:
+
+<!-- ##### FUNCTION xmlSecSoap11EnsureHeader ##### -->
+<para>
+
+</para>
+
+ at envNode:
+ at Returns:
+
+<!-- ##### FUNCTION xmlSecSoap11GetBody ##### -->
+<para>
+
+</para>
+
+ at envNode:
+ at Returns:
+
+<!-- ##### FUNCTION xmlSecSoap11GetBodyEntriesNumber ##### -->
+<para>
+
+</para>
+
+ at envNode:
+ at Returns:
+
+<!-- ##### FUNCTION xmlSecSoap11GetBodyEntry ##### -->
+<para>
+
+</para>
+
+ at envNode:
+ at pos:
+ at Returns:
+
+<!-- ##### FUNCTION xmlSecSoap11GetFaultEntry ##### -->
+<para>
+
+</para>
+
+ at envNode:
+ at Returns:
+
+<!-- ##### FUNCTION xmlSecSoap11GetHeader ##### -->
+<para>
+
+</para>
+
+ at envNode:
+ at Returns:
+
+<!-- ##### FUNCTION xmlSecSoap12AddBodyEntry ##### -->
+<para>
+
+</para>
+
+ at envNode:
+ at entryNode:
+ at Returns:
+
+<!-- ##### FUNCTION xmlSecSoap12AddFaultDetailEntry ##### -->
+<para>
+
+</para>
+
+ at faultNode:
+ at detailEntryNode:
+ at Returns:
+
+<!-- ##### FUNCTION xmlSecSoap12AddFaultEntry ##### -->
+<para>
+
+</para>
+
+ at envNode:
+ at faultCode:
+ at faultReasonText:
+ at faultReasonLang:
+ at faultNodeURI:
+ at faultRole:
+ at Returns:
+
+<!-- ##### FUNCTION xmlSecSoap12AddFaultReasonText ##### -->
+<para>
+
+</para>
+
+ at faultNode:
+ at faultReasonText:
+ at faultReasonLang:
+ at Returns:
+
+<!-- ##### FUNCTION xmlSecSoap12AddFaultSubcode ##### -->
+<para>
+
+</para>
+
+ at faultNode:
+ at subCodeHref:
+ at subCodeName:
+ at Returns:
+
+<!-- ##### FUNCTION xmlSecSoap12CheckEnvelope ##### -->
+<para>
+
+</para>
+
+ at envNode:
+ at Returns:
+
+<!-- ##### FUNCTION xmlSecSoap12CreateEnvelope ##### -->
+<para>
+
+</para>
+
+ at doc:
+ at Returns:
+
+<!-- ##### FUNCTION xmlSecSoap12EnsureHeader ##### -->
+<para>
+
+</para>
+
+ at envNode:
+ at Returns:
+
+<!-- ##### FUNCTION xmlSecSoap12GetBody ##### -->
+<para>
+
+</para>
+
+ at envNode:
+ at Returns:
+
+<!-- ##### FUNCTION xmlSecSoap12GetBodyEntriesNumber ##### -->
+<para>
+
+</para>
+
+ at envNode:
+ at Returns:
+
+<!-- ##### FUNCTION xmlSecSoap12GetBodyEntry ##### -->
+<para>
+
+</para>
+
+ at envNode:
+ at pos:
+ at Returns:
+
+<!-- ##### FUNCTION xmlSecSoap12GetFaultEntry ##### -->
+<para>
+
+</para>
+
+ at envNode:
+ at Returns:
+
+<!-- ##### FUNCTION xmlSecSoap12GetHeader ##### -->
+<para>
+
+</para>
+
+ at envNode:
+ at Returns:
+
+<!-- ##### MACRO xmlSecStrPrintf ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO xmlSecStrVPrintf ##### -->
+<para>
+
+</para>
+
+
<!-- ##### MACRO xmlSecTransformCheckType ##### -->
<para>
diff --git a/docs/api/tmpl/base/xmlsec.sgml b/docs/api/tmpl/base/xmlsec.sgml
index 0bc6d17..21e40f7 100644
--- a/docs/api/tmpl/base/xmlsec.sgml
+++ b/docs/api/tmpl/base/xmlsec.sgml
@@ -75,77 +75,59 @@ Utility functions.
@Returns:
-<!-- ##### MACRO XMLSEC_CRYPTO ##### -->
+<!-- ##### FUNCTION xmlSecSetExternalEntityLoader ##### -->
<para>
</para>
+ at Param1:
-<!-- ##### MACRO xmlSecCheckVersionExact ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO xmlSecCheckVersion ##### -->
+<!-- ##### MACRO XMLSEC_CRYPTO ##### -->
<para>
</para>
-<!-- ##### ENUM xmlSecCheckVersionMode ##### -->
-<para>
-
-</para>
-
- at xmlSecCheckVersionExactMatch:
- at xmlSecCheckVersionABICompatible:
-
-<!-- ##### FUNCTION xmlSecCheckVersionExt ##### -->
+<!-- ##### MACRO XMLSEC_DEPRECATED ##### -->
<para>
</para>
- at major:
- at minor:
- at subminor:
- at mode:
- at Returns:
-<!-- ##### MACRO ATTRIBUTE_UNUSED ##### -->
+<!-- ##### MACRO xmlSecCheckVersionExact ##### -->
<para>
</para>
-<!-- ##### MACRO XMLSEC_PTR_TO_FUNC_IMPL ##### -->
+<!-- ##### MACRO xmlSecCheckVersion ##### -->
<para>
</para>
- at func_type:
-<!-- ##### MACRO XMLSEC_PTR_TO_FUNC ##### -->
+<!-- ##### ENUM xmlSecCheckVersionMode ##### -->
<para>
</para>
- at func_type:
- at ptr:
-
+ at xmlSecCheckVersionExactMatch:
+ at xmlSecCheckVersionABICompatible:
-<!-- ##### MACRO XMLSEC_FUNC_TO_PTR ##### -->
+<!-- ##### FUNCTION xmlSecCheckVersionExt ##### -->
<para>
</para>
- at func_type:
- at func:
+ at major:
+ at minor:
+ at subminor:
+ at mode:
+ at Returns:
diff --git a/docs/api/tmpl/base/xmltree.sgml b/docs/api/tmpl/base/xmltree.sgml
index 4a7764e..3f58897 100644
--- a/docs/api/tmpl/base/xmltree.sgml
+++ b/docs/api/tmpl/base/xmltree.sgml
@@ -240,28 +240,6 @@ XML tree operations.
@ids:
-<!-- ##### FUNCTION xmlSecGenerateAndAddID ##### -->
-<para>
-
-</para>
-
- at node:
- at attrName:
- at prefix:
- at len:
- at Returns:
-
-
-<!-- ##### FUNCTION xmlSecGenerateID ##### -->
-<para>
-
-</para>
-
- at prefix:
- at len:
- at Returns:
-
-
<!-- ##### FUNCTION xmlSecCreateTree ##### -->
<para>
diff --git a/docs/api/tmpl/nss/crypto.sgml b/docs/api/tmpl/nss/crypto.sgml
index 6e625db..47141ca 100644
--- a/docs/api/tmpl/nss/crypto.sgml
+++ b/docs/api/tmpl/nss/crypto.sgml
@@ -303,6 +303,70 @@ Crypto transforms implementation for NSS.
@Returns:
+<!-- ##### MACRO xmlSecNssKeyDataEcdsaId ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION xmlSecNssKeyDataEcdsaGetKlass ##### -->
+<para>
+
+</para>
+
+ at void:
+ at Returns:
+
+
+<!-- ##### MACRO xmlSecNssTransformEcdsaSha1Id ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION xmlSecNssTransformEcdsaSha1GetKlass ##### -->
+<para>
+
+</para>
+
+ at void:
+ at Returns:
+
+
+<!-- ##### MACRO xmlSecNssTransformEcdsaSha256Id ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION xmlSecNssTransformEcdsaSha256GetKlass ##### -->
+<para>
+
+</para>
+
+ at void:
+ at Returns:
+
+
+<!-- ##### MACRO xmlSecNssTransformEcdsaSha512Id ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION xmlSecNssTransformEcdsaSha512GetKlass ##### -->
+<para>
+
+</para>
+
+ at void:
+ at Returns:
+
+
<!-- ##### FUNCTION xmlSecNssHmacGetMinOutputLength ##### -->
<para>
diff --git a/docs/api/tmpl/openssl/app.sgml b/docs/api/tmpl/openssl/app.sgml
index 1bb1425..71548c4 100644
--- a/docs/api/tmpl/openssl/app.sgml
+++ b/docs/api/tmpl/openssl/app.sgml
@@ -131,7 +131,7 @@ Application functions implementation for OpenSSL.
</para>
@mngr:
- at file:
+ at filename:
@Returns:
diff --git a/docs/api/tmpl/openssl/crypto.sgml b/docs/api/tmpl/openssl/crypto.sgml
index 594630a..fee6dcc 100644
--- a/docs/api/tmpl/openssl/crypto.sgml
+++ b/docs/api/tmpl/openssl/crypto.sgml
@@ -84,6 +84,139 @@ Crypto transforms implementation for OpenSSL.
@Returns:
+<!-- ##### MACRO XMLSEC_OPENSSL_API_100 ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO XMLSEC_OPENSSL_API_110 ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO XMLSEC_OPENSSL_API_098 ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO XMLSEC_NO_ECDSA ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO XMLSEC_NO_SHA224 ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO XMLSEC_NO_SHA256 ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO XMLSEC_NO_SHA384 ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO XMLSEC_NO_SHA512 ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO XMLSEC_NO_AES ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO XMLSEC_NO_DES ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO XMLSEC_NO_DSA ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO XMLSEC_NO_GOST ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO XMLSEC_NO_GOST2012 ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO XMLSEC_NO_HMAC ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO XMLSEC_NO_MD5 ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO XMLSEC_NO_RIPEMD160 ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO XMLSEC_NO_RSA ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO XMLSEC_NO_SHA1 ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO XMLSEC_NO_X509 ##### -->
+<para>
+
+</para>
+
+
+
<!-- ##### MACRO xmlSecOpenSSLKeyDataAesId ##### -->
<para>
@@ -1096,20 +1229,6 @@ Crypto transforms implementation for OpenSSL.
@Returns:
-<!-- ##### MACRO XMLSEC_OPENSSL_ERRORS_LIB ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO XMLSEC_OPENSSL_ERRORS_FUNCTION ##### -->
-<para>
-
-</para>
-
-
-
<!-- ##### FUNCTION xmlSecOpenSSLErrorsDefaultCallback ##### -->
<para>
diff --git a/docs/api/tmpl/openssl/x509.sgml b/docs/api/tmpl/openssl/x509.sgml
index bc79480..b575acd 100644
--- a/docs/api/tmpl/openssl/x509.sgml
+++ b/docs/api/tmpl/openssl/x509.sgml
@@ -231,7 +231,7 @@ X509 certificates support implementation for OpenSSL.
</para>
@store:
- at file:
+ at filename:
@Returns:
diff --git a/docs/api/tmpl/openssl/xmlsec-openssl-unused.sgml b/docs/api/tmpl/openssl/xmlsec-openssl-unused.sgml
index 6f6b3c6..84ec761 100644
--- a/docs/api/tmpl/openssl/xmlsec-openssl-unused.sgml
+++ b/docs/api/tmpl/openssl/xmlsec-openssl-unused.sgml
@@ -22,31 +22,13 @@ app
-<!-- ##### MACRO XMLSEC_NO_AES ##### -->
+<!-- ##### MACRO XMLSEC_OPENSSL_ERRORS_FUNCTION ##### -->
<para>
</para>
-<!-- ##### MACRO XMLSEC_NO_SHA224 ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### MACRO XMLSEC_NO_SHA256 ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### MACRO XMLSEC_NO_SHA384 ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### MACRO XMLSEC_NO_SHA512 ##### -->
+<!-- ##### MACRO XMLSEC_OPENSSL_ERRORS_LIB ##### -->
<para>
</para>
diff --git a/docs/api/up-insensitive.png b/docs/api/up-insensitive.png
new file mode 100644
index 0000000..9c8bec1
Binary files /dev/null and b/docs/api/up-insensitive.png differ
diff --git a/docs/api/xmlsec-app.html b/docs/api/xmlsec-app.html
index b4f0c3c..c72b30f 100644
--- a/docs/api/xmlsec-app.html
+++ b/docs/api/xmlsec-app.html
@@ -1,41 +1,14 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>app</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79">
-<link rel="HOME" title="XML Security Library Reference Manual" href="index.html">
-<link rel="UP" title="XML Security Core Library API Reference." href="xmlsec-ref.html">
-<link rel="PREVIOUS" title="XML Security Core Library API Reference." href="xmlsec-ref.html">
-<link rel="NEXT" title="base64" href="xmlsec-base64.html">
-<style type="text/css">.synopsis, .classsynopsis {
- background: #eeeeee;
- border: solid 1px #aaaaaa;
- padding: 0.5em;
-}
-.programlisting {
- background: #eeeeff;
- border: solid 1px #aaaaff;
- padding: 0.5em;
-}
-.variablelist {
- padding: 4px;
- margin-left: 3em;
-}
-.navigation {
- background: #ffeeee;
- border: solid 1px #ffaaaa;
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
-.navigation a {
- color: #770000;
-}
-.navigation a:visited {
- color: #550000;
-}
-.navigation .title {
- font-size: 200%;
-}</style>
+<title>app: XML Security Library Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="XML Security Library Reference Manual">
+<link rel="up" href="xmlsec-ref.html" title="XML Security Core Library API Reference.">
+<link rel="prev" href="xmlsec-ref.html" title="XML Security Core Library API Reference.">
+<link rel="next" href="xmlsec-base64.html" title="base64">
+<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
<style type="text/css">
table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
width: 20em;
@@ -100,2473 +73,2653 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
</table>
</td>
<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent">
-<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td><a accesskey="p" href="xmlsec-ref.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="xmlsec-ref.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description"> <span class="dim">|</span>
+ <a href="#xmlsec-app.description" class="shortcut">Description</a></span>
+</td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<th width="100%" align="center">XML Security Library Reference Manual</th>
+<td><a accesskey="u" href="xmlsec-ref.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="xmlsec-ref.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="xmlsec-base64.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
-<h1>
-<a name="XMLSEC-APP"></a>app</h1>
-<div class="REFNAMEDIV">
-<a name="AEN857"></a><h2>Name</h2>app -- Crypto-engine independent application support function.</div>
-<div class="REFSECT1">
-<a name="XMLSEC-APP.FUNCTIONS"></a><h2>Functions</h2>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN862"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
+<div class="refentry">
+<a name="xmlsec-app"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="xmlsec-app.top_of_page"></a>app</span></h2>
+<p>app — Crypto-engine independent application support function.</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="xmlsec-app.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
<tbody>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-app.html#XMLSECCRYPTOINIT">xmlSecCryptoInit</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-app.html#xmlSecCryptoInit" title="xmlSecCryptoInit ()">xmlSecCryptoInit</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-app.html#XMLSECCRYPTOSHUTDOWN">xmlSecCryptoShutdown</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-app.html#xmlSecCryptoShutdown" title="xmlSecCryptoShutdown ()">xmlSecCryptoShutdown</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-app.html#XMLSECCRYPTOKEYSMNGRINIT">xmlSecCryptoKeysMngrInit</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-app.html#xmlSecCryptoKeysMngrInit" title="xmlSecCryptoKeysMngrInit ()">xmlSecCryptoKeysMngrInit</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecKeyDataId</span></font></td>
-<td>
-<a href="xmlsec-app.html#XMLSECKEYDATAAESGETKLASS">xmlSecKeyDataAesGetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecKeyDataId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-app.html#xmlSecKeyDataAesGetKlass" title="xmlSecKeyDataAesGetKlass ()">xmlSecKeyDataAesGetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecKeyDataId</span></font></td>
-<td>
-<a href="xmlsec-app.html#XMLSECKEYDATADESGETKLASS">xmlSecKeyDataDesGetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecKeyDataId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-app.html#xmlSecKeyDataDesGetKlass" title="xmlSecKeyDataDesGetKlass ()">xmlSecKeyDataDesGetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecKeyDataId</span></font></td>
-<td>
-<a href="xmlsec-app.html#XMLSECKEYDATADSAGETKLASS">xmlSecKeyDataDsaGetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecKeyDataId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-app.html#xmlSecKeyDataDsaGetKlass" title="xmlSecKeyDataDsaGetKlass ()">xmlSecKeyDataDsaGetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecKeyDataId</span></font></td>
-<td>
-<a href="xmlsec-app.html#XMLSECKEYDATAECDSAGETKLASS">xmlSecKeyDataEcdsaGetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecKeyDataId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-app.html#xmlSecKeyDataEcdsaGetKlass" title="xmlSecKeyDataEcdsaGetKlass ()">xmlSecKeyDataEcdsaGetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecKeyDataId</span></font></td>
-<td>
-<a href="xmlsec-app.html#XMLSECKEYDATAGOST2001GETKLASS">xmlSecKeyDataGost2001GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecKeyDataId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-app.html#xmlSecKeyDataGost2001GetKlass" title="xmlSecKeyDataGost2001GetKlass ()">xmlSecKeyDataGost2001GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecKeyDataId</span></font></td>
-<td>
-<a href="xmlsec-app.html#XMLSECKEYDATAGOSTR3410-2012-256GETKLASS">xmlSecKeyDataGostR3410_2012_256GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecKeyDataId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-app.html#xmlSecKeyDataGostR3410-2012-256GetKlass" title="xmlSecKeyDataGostR3410_2012_256GetKlass ()">xmlSecKeyDataGostR3410_2012_256GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecKeyDataId</span></font></td>
-<td>
-<a href="xmlsec-app.html#XMLSECKEYDATAGOSTR3410-2012-512GETKLASS">xmlSecKeyDataGostR3410_2012_512GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecKeyDataId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-app.html#xmlSecKeyDataGostR3410-2012-512GetKlass" title="xmlSecKeyDataGostR3410_2012_512GetKlass ()">xmlSecKeyDataGostR3410_2012_512GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecKeyDataId</span></font></td>
-<td>
-<a href="xmlsec-app.html#XMLSECKEYDATAHMACGETKLASS">xmlSecKeyDataHmacGetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecKeyDataId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-app.html#xmlSecKeyDataHmacGetKlass" title="xmlSecKeyDataHmacGetKlass ()">xmlSecKeyDataHmacGetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecKeyDataId</span></font></td>
-<td>
-<a href="xmlsec-app.html#XMLSECKEYDATARSAGETKLASS">xmlSecKeyDataRsaGetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecKeyDataId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-app.html#xmlSecKeyDataRsaGetKlass" title="xmlSecKeyDataRsaGetKlass ()">xmlSecKeyDataRsaGetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecKeyDataId</span></font></td>
-<td>
-<a href="xmlsec-app.html#XMLSECKEYDATAX509GETKLASS">xmlSecKeyDataX509GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecKeyDataId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-app.html#xmlSecKeyDataX509GetKlass" title="xmlSecKeyDataX509GetKlass ()">xmlSecKeyDataX509GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecKeyDataId</span></font></td>
-<td>
-<a href="xmlsec-app.html#XMLSECKEYDATARAWX509CERTGETKLASS">xmlSecKeyDataRawX509CertGetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecKeyDataId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-app.html#xmlSecKeyDataRawX509CertGetKlass" title="xmlSecKeyDataRawX509CertGetKlass ()">xmlSecKeyDataRawX509CertGetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecKeyDataStoreId</span></font></td>
-<td>
-<a href="xmlsec-app.html#XMLSECX509STOREGETKLASS">xmlSecX509StoreGetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecKeyDataStoreId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-app.html#xmlSecX509StoreGetKlass" title="xmlSecX509StoreGetKlass ()">xmlSecX509StoreGetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-app.html#XMLSECTRANSFORMAES128CBCGETKLASS">xmlSecTransformAes128CbcGetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-app.html#xmlSecTransformAes128CbcGetKlass" title="xmlSecTransformAes128CbcGetKlass ()">xmlSecTransformAes128CbcGetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-app.html#XMLSECTRANSFORMAES192CBCGETKLASS">xmlSecTransformAes192CbcGetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-app.html#xmlSecTransformAes192CbcGetKlass" title="xmlSecTransformAes192CbcGetKlass ()">xmlSecTransformAes192CbcGetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-app.html#XMLSECTRANSFORMAES256CBCGETKLASS">xmlSecTransformAes256CbcGetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-app.html#xmlSecTransformAes256CbcGetKlass" title="xmlSecTransformAes256CbcGetKlass ()">xmlSecTransformAes256CbcGetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-app.html#XMLSECTRANSFORMKWAES128GETKLASS">xmlSecTransformKWAes128GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-app.html#xmlSecTransformKWAes128GetKlass" title="xmlSecTransformKWAes128GetKlass ()">xmlSecTransformKWAes128GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-app.html#XMLSECTRANSFORMKWAES192GETKLASS">xmlSecTransformKWAes192GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-app.html#xmlSecTransformKWAes192GetKlass" title="xmlSecTransformKWAes192GetKlass ()">xmlSecTransformKWAes192GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-app.html#XMLSECTRANSFORMKWAES256GETKLASS">xmlSecTransformKWAes256GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-app.html#xmlSecTransformKWAes256GetKlass" title="xmlSecTransformKWAes256GetKlass ()">xmlSecTransformKWAes256GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-app.html#XMLSECTRANSFORMDES3CBCGETKLASS">xmlSecTransformDes3CbcGetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-app.html#xmlSecTransformDes3CbcGetKlass" title="xmlSecTransformDes3CbcGetKlass ()">xmlSecTransformDes3CbcGetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-app.html#XMLSECTRANSFORMKWDES3GETKLASS">xmlSecTransformKWDes3GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-app.html#xmlSecTransformKWDes3GetKlass" title="xmlSecTransformKWDes3GetKlass ()">xmlSecTransformKWDes3GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-app.html#XMLSECTRANSFORMDSASHA1GETKLASS">xmlSecTransformDsaSha1GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-app.html#xmlSecTransformDsaSha1GetKlass" title="xmlSecTransformDsaSha1GetKlass ()">xmlSecTransformDsaSha1GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-app.html#XMLSECTRANSFORMDSASHA256GETKLASS">xmlSecTransformDsaSha256GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-app.html#xmlSecTransformDsaSha256GetKlass" title="xmlSecTransformDsaSha256GetKlass ()">xmlSecTransformDsaSha256GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-app.html#XMLSECTRANSFORMECDSASHA1GETKLASS">xmlSecTransformEcdsaSha1GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-app.html#xmlSecTransformEcdsaSha1GetKlass" title="xmlSecTransformEcdsaSha1GetKlass ()">xmlSecTransformEcdsaSha1GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-app.html#XMLSECTRANSFORMECDSASHA224GETKLASS">xmlSecTransformEcdsaSha224GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-app.html#xmlSecTransformEcdsaSha224GetKlass" title="xmlSecTransformEcdsaSha224GetKlass ()">xmlSecTransformEcdsaSha224GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-app.html#XMLSECTRANSFORMECDSASHA256GETKLASS">xmlSecTransformEcdsaSha256GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-app.html#xmlSecTransformEcdsaSha256GetKlass" title="xmlSecTransformEcdsaSha256GetKlass ()">xmlSecTransformEcdsaSha256GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-app.html#XMLSECTRANSFORMECDSASHA384GETKLASS">xmlSecTransformEcdsaSha384GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-app.html#xmlSecTransformEcdsaSha384GetKlass" title="xmlSecTransformEcdsaSha384GetKlass ()">xmlSecTransformEcdsaSha384GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-app.html#XMLSECTRANSFORMECDSASHA512GETKLASS">xmlSecTransformEcdsaSha512GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-app.html#xmlSecTransformEcdsaSha512GetKlass" title="xmlSecTransformEcdsaSha512GetKlass ()">xmlSecTransformEcdsaSha512GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-app.html#XMLSECTRANSFORMGOST2001GOSTR3411-94GETKLASS">xmlSecTransformGost2001GostR3411_94GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-app.html#xmlSecTransformGost2001GostR3411-94GetKlass" title="xmlSecTransformGost2001GostR3411_94GetKlass ()">xmlSecTransformGost2001GostR3411_94GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-app.html#XMLSECTRANSFORMGOSTR3410-2012GOSTR3411-2012-256GETKLASS">xmlSecTransformGostR3410_2012GostR3411_2012_256GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-app.html#xmlSecTransformGostR3410-2012GostR3411-2012-256GetKlass" title="xmlSecTransformGostR3410_2012GostR3411_2012_256GetKlass ()">xmlSecTransformGostR3410_2012GostR3411_2012_256GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-app.html#XMLSECTRANSFORMGOSTR3410-2012GOSTR3411-2012-512GETKLASS">xmlSecTransformGostR3410_2012GostR3411_2012_512GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-app.html#xmlSecTransformGostR3410-2012GostR3411-2012-512GetKlass" title="xmlSecTransformGostR3410_2012GostR3411_2012_512GetKlass ()">xmlSecTransformGostR3410_2012GostR3411_2012_512GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-app.html#XMLSECTRANSFORMHMACMD5GETKLASS">xmlSecTransformHmacMd5GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-app.html#xmlSecTransformHmacMd5GetKlass" title="xmlSecTransformHmacMd5GetKlass ()">xmlSecTransformHmacMd5GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-app.html#XMLSECTRANSFORMHMACRIPEMD160GETKLASS">xmlSecTransformHmacRipemd160GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-app.html#xmlSecTransformHmacRipemd160GetKlass" title="xmlSecTransformHmacRipemd160GetKlass ()">xmlSecTransformHmacRipemd160GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-app.html#XMLSECTRANSFORMHMACSHA1GETKLASS">xmlSecTransformHmacSha1GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-app.html#xmlSecTransformHmacSha1GetKlass" title="xmlSecTransformHmacSha1GetKlass ()">xmlSecTransformHmacSha1GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-app.html#XMLSECTRANSFORMHMACSHA224GETKLASS">xmlSecTransformHmacSha224GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-app.html#xmlSecTransformHmacSha224GetKlass" title="xmlSecTransformHmacSha224GetKlass ()">xmlSecTransformHmacSha224GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-app.html#XMLSECTRANSFORMHMACSHA256GETKLASS">xmlSecTransformHmacSha256GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-app.html#xmlSecTransformHmacSha256GetKlass" title="xmlSecTransformHmacSha256GetKlass ()">xmlSecTransformHmacSha256GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-app.html#XMLSECTRANSFORMHMACSHA384GETKLASS">xmlSecTransformHmacSha384GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-app.html#xmlSecTransformHmacSha384GetKlass" title="xmlSecTransformHmacSha384GetKlass ()">xmlSecTransformHmacSha384GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-app.html#XMLSECTRANSFORMHMACSHA512GETKLASS">xmlSecTransformHmacSha512GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-app.html#xmlSecTransformHmacSha512GetKlass" title="xmlSecTransformHmacSha512GetKlass ()">xmlSecTransformHmacSha512GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-app.html#XMLSECTRANSFORMMD5GETKLASS">xmlSecTransformMd5GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-app.html#xmlSecTransformMd5GetKlass" title="xmlSecTransformMd5GetKlass ()">xmlSecTransformMd5GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-app.html#XMLSECTRANSFORMRIPEMD160GETKLASS">xmlSecTransformRipemd160GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-app.html#xmlSecTransformRipemd160GetKlass" title="xmlSecTransformRipemd160GetKlass ()">xmlSecTransformRipemd160GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-app.html#XMLSECTRANSFORMRSAMD5GETKLASS">xmlSecTransformRsaMd5GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-app.html#xmlSecTransformRsaMd5GetKlass" title="xmlSecTransformRsaMd5GetKlass ()">xmlSecTransformRsaMd5GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-app.html#XMLSECTRANSFORMRSARIPEMD160GETKLASS">xmlSecTransformRsaRipemd160GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-app.html#xmlSecTransformRsaRipemd160GetKlass" title="xmlSecTransformRsaRipemd160GetKlass ()">xmlSecTransformRsaRipemd160GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-app.html#XMLSECTRANSFORMRSASHA1GETKLASS">xmlSecTransformRsaSha1GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-app.html#xmlSecTransformRsaSha1GetKlass" title="xmlSecTransformRsaSha1GetKlass ()">xmlSecTransformRsaSha1GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-app.html#XMLSECTRANSFORMRSASHA224GETKLASS">xmlSecTransformRsaSha224GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-app.html#xmlSecTransformRsaSha224GetKlass" title="xmlSecTransformRsaSha224GetKlass ()">xmlSecTransformRsaSha224GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-app.html#XMLSECTRANSFORMRSASHA256GETKLASS">xmlSecTransformRsaSha256GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-app.html#xmlSecTransformRsaSha256GetKlass" title="xmlSecTransformRsaSha256GetKlass ()">xmlSecTransformRsaSha256GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-app.html#XMLSECTRANSFORMRSASHA384GETKLASS">xmlSecTransformRsaSha384GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-app.html#xmlSecTransformRsaSha384GetKlass" title="xmlSecTransformRsaSha384GetKlass ()">xmlSecTransformRsaSha384GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-app.html#XMLSECTRANSFORMRSASHA512GETKLASS">xmlSecTransformRsaSha512GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-app.html#xmlSecTransformRsaSha512GetKlass" title="xmlSecTransformRsaSha512GetKlass ()">xmlSecTransformRsaSha512GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-app.html#XMLSECTRANSFORMRSAPKCS1GETKLASS">xmlSecTransformRsaPkcs1GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-app.html#xmlSecTransformRsaPkcs1GetKlass" title="xmlSecTransformRsaPkcs1GetKlass ()">xmlSecTransformRsaPkcs1GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-app.html#XMLSECTRANSFORMRSAOAEPGETKLASS">xmlSecTransformRsaOaepGetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-app.html#xmlSecTransformRsaOaepGetKlass" title="xmlSecTransformRsaOaepGetKlass ()">xmlSecTransformRsaOaepGetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-app.html#XMLSECTRANSFORMGOSTR3411-94GETKLASS">xmlSecTransformGostR3411_94GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-app.html#xmlSecTransformGostR3411-94GetKlass" title="xmlSecTransformGostR3411_94GetKlass ()">xmlSecTransformGostR3411_94GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-app.html#XMLSECTRANSFORMGOSTR3411-2012-256GETKLASS">xmlSecTransformGostR3411_2012_256GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-app.html#xmlSecTransformGostR3411-2012-256GetKlass" title="xmlSecTransformGostR3411_2012_256GetKlass ()">xmlSecTransformGostR3411_2012_256GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-app.html#XMLSECTRANSFORMGOSTR3411-2012-512GETKLASS">xmlSecTransformGostR3411_2012_512GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-app.html#xmlSecTransformGostR3411-2012-512GetKlass" title="xmlSecTransformGostR3411_2012_512GetKlass ()">xmlSecTransformGostR3411_2012_512GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-app.html#XMLSECTRANSFORMSHA1GETKLASS">xmlSecTransformSha1GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-app.html#xmlSecTransformSha1GetKlass" title="xmlSecTransformSha1GetKlass ()">xmlSecTransformSha1GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-app.html#XMLSECTRANSFORMSHA224GETKLASS">xmlSecTransformSha224GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-app.html#xmlSecTransformSha224GetKlass" title="xmlSecTransformSha224GetKlass ()">xmlSecTransformSha224GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-app.html#XMLSECTRANSFORMSHA256GETKLASS">xmlSecTransformSha256GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-app.html#xmlSecTransformSha256GetKlass" title="xmlSecTransformSha256GetKlass ()">xmlSecTransformSha256GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-app.html#XMLSECTRANSFORMSHA384GETKLASS">xmlSecTransformSha384GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-app.html#xmlSecTransformSha384GetKlass" title="xmlSecTransformSha384GetKlass ()">xmlSecTransformSha384GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-app.html#XMLSECTRANSFORMSHA512GETKLASS">xmlSecTransformSha512GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-app.html#xmlSecTransformSha512GetKlass" title="xmlSecTransformSha512GetKlass ()">xmlSecTransformSha512GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-app.html#XMLSECCRYPTOAPPINIT">xmlSecCryptoAppInit</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-app.html#xmlSecCryptoAppInit" title="xmlSecCryptoAppInit ()">xmlSecCryptoAppInit</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-app.html#XMLSECCRYPTOAPPSHUTDOWN">xmlSecCryptoAppShutdown</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-app.html#xmlSecCryptoAppShutdown" title="xmlSecCryptoAppShutdown ()">xmlSecCryptoAppShutdown</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-app.html#XMLSECCRYPTOAPPDEFAULTKEYSMNGRINIT">xmlSecCryptoAppDefaultKeysMngrInit</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-app.html#xmlSecCryptoAppDefaultKeysMngrInit" title="xmlSecCryptoAppDefaultKeysMngrInit ()">xmlSecCryptoAppDefaultKeysMngrInit</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-app.html#XMLSECCRYPTOAPPDEFAULTKEYSMNGRADOPTKEY">xmlSecCryptoAppDefaultKeysMngrAdoptKey</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-app.html#xmlSecCryptoAppDefaultKeysMngrAdoptKey" title="xmlSecCryptoAppDefaultKeysMngrAdoptKey ()">xmlSecCryptoAppDefaultKeysMngrAdoptKey</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-app.html#XMLSECCRYPTOAPPDEFAULTKEYSMNGRLOAD">xmlSecCryptoAppDefaultKeysMngrLoad</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-app.html#xmlSecCryptoAppDefaultKeysMngrLoad" title="xmlSecCryptoAppDefaultKeysMngrLoad ()">xmlSecCryptoAppDefaultKeysMngrLoad</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-app.html#XMLSECCRYPTOAPPDEFAULTKEYSMNGRSAVE">xmlSecCryptoAppDefaultKeysMngrSave</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-app.html#xmlSecCryptoAppDefaultKeysMngrSave" title="xmlSecCryptoAppDefaultKeysMngrSave ()">xmlSecCryptoAppDefaultKeysMngrSave</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-app.html#XMLSECCRYPTOAPPKEYSMNGRCERTLOAD">xmlSecCryptoAppKeysMngrCertLoad</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-app.html#xmlSecCryptoAppKeysMngrCertLoad" title="xmlSecCryptoAppKeysMngrCertLoad ()">xmlSecCryptoAppKeysMngrCertLoad</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-app.html#XMLSECCRYPTOAPPKEYSMNGRCERTLOADMEMORY">xmlSecCryptoAppKeysMngrCertLoadMemory</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-app.html#xmlSecCryptoAppKeysMngrCertLoadMemory" title="xmlSecCryptoAppKeysMngrCertLoadMemory ()">xmlSecCryptoAppKeysMngrCertLoadMemory</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a></td>
-<td>
-<a href="xmlsec-app.html#XMLSECCRYPTOAPPKEYLOAD">xmlSecCryptoAppKeyLoad</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecKeyPtr</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-app.html#xmlSecCryptoAppKeyLoad" title="xmlSecCryptoAppKeyLoad ()">xmlSecCryptoAppKeyLoad</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a></td>
-<td>
-<a href="xmlsec-app.html#XMLSECCRYPTOAPPKEYLOADMEMORY">xmlSecCryptoAppKeyLoadMemory</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecKeyPtr</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-app.html#xmlSecCryptoAppKeyLoadMemory" title="xmlSecCryptoAppKeyLoadMemory ()">xmlSecCryptoAppKeyLoadMemory</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a></td>
-<td>
-<a href="xmlsec-app.html#XMLSECCRYPTOAPPPKCS12LOAD">xmlSecCryptoAppPkcs12Load</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecKeyPtr</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-app.html#xmlSecCryptoAppPkcs12Load" title="xmlSecCryptoAppPkcs12Load ()">xmlSecCryptoAppPkcs12Load</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a></td>
-<td>
-<a href="xmlsec-app.html#XMLSECCRYPTOAPPPKCS12LOADMEMORY">xmlSecCryptoAppPkcs12LoadMemory</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecKeyPtr</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-app.html#xmlSecCryptoAppPkcs12LoadMemory" title="xmlSecCryptoAppPkcs12LoadMemory ()">xmlSecCryptoAppPkcs12LoadMemory</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-app.html#XMLSECCRYPTOAPPKEYCERTLOAD">xmlSecCryptoAppKeyCertLoad</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-app.html#xmlSecCryptoAppKeyCertLoad" title="xmlSecCryptoAppKeyCertLoad ()">xmlSecCryptoAppKeyCertLoad</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-app.html#XMLSECCRYPTOAPPKEYCERTLOADMEMORY">xmlSecCryptoAppKeyCertLoadMemory</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-app.html#xmlSecCryptoAppKeyCertLoadMemory" title="xmlSecCryptoAppKeyCertLoadMemory ()">xmlSecCryptoAppKeyCertLoadMemory</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td>
-<font><span class="RETURNVALUE">void</span></font> *</td>
-<td>
-<a href="xmlsec-app.html#XMLSECCRYPTOAPPGETDEFAULTPWDCALLBACK">xmlSecCryptoAppGetDefaultPwdCallback</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">void</span></font> *
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-app.html#xmlSecCryptoAppGetDefaultPwdCallback" title="xmlSecCryptoAppGetDefaultPwdCallback ()">xmlSecCryptoAppGetDefaultPwdCallback</a> <span class="c_punctuation">()</span>
</td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
-</div>
-<div class="REFSECT1">
-<a name="XMLSEC-APP.OTHER"></a><h2>Types and Values</h2>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN1385"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="xmlsec-app.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
<tbody>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-app.html#XMLSECKEYDATAAESID">xmlSecKeyDataAesId</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-app.html#xmlSecKeyDataAesId" title="xmlSecKeyDataAesId">xmlSecKeyDataAesId</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-app.html#XMLSECKEYDATADESID">xmlSecKeyDataDesId</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-app.html#xmlSecKeyDataDesId" title="xmlSecKeyDataDesId">xmlSecKeyDataDesId</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-app.html#XMLSECKEYDATADSAID">xmlSecKeyDataDsaId</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-app.html#xmlSecKeyDataDsaId" title="xmlSecKeyDataDsaId">xmlSecKeyDataDsaId</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-app.html#XMLSECKEYDATAECDSAID">xmlSecKeyDataEcdsaId</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-app.html#xmlSecKeyDataEcdsaId" title="xmlSecKeyDataEcdsaId">xmlSecKeyDataEcdsaId</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-app.html#XMLSECKEYDATAGOST2001ID">xmlSecKeyDataGost2001Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-app.html#xmlSecKeyDataGost2001Id" title="xmlSecKeyDataGost2001Id">xmlSecKeyDataGost2001Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-app.html#XMLSECKEYDATAGOSTR3410-2012-256ID">xmlSecKeyDataGostR3410_2012_256Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-app.html#xmlSecKeyDataGostR3410-2012-256Id" title="xmlSecKeyDataGostR3410_2012_256Id">xmlSecKeyDataGostR3410_2012_256Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-app.html#XMLSECKEYDATAGOSTR3410-2012-512ID">xmlSecKeyDataGostR3410_2012_512Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-app.html#xmlSecKeyDataGostR3410-2012-512Id" title="xmlSecKeyDataGostR3410_2012_512Id">xmlSecKeyDataGostR3410_2012_512Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-app.html#XMLSECKEYDATAHMACID">xmlSecKeyDataHmacId</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-app.html#xmlSecKeyDataHmacId" title="xmlSecKeyDataHmacId">xmlSecKeyDataHmacId</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-app.html#XMLSECKEYDATARSAID">xmlSecKeyDataRsaId</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-app.html#xmlSecKeyDataRsaId" title="xmlSecKeyDataRsaId">xmlSecKeyDataRsaId</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-app.html#XMLSECKEYDATAX509ID">xmlSecKeyDataX509Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-app.html#xmlSecKeyDataX509Id" title="xmlSecKeyDataX509Id">xmlSecKeyDataX509Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-app.html#XMLSECKEYDATARAWX509CERTID">xmlSecKeyDataRawX509CertId</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-app.html#xmlSecKeyDataRawX509CertId" title="xmlSecKeyDataRawX509CertId">xmlSecKeyDataRawX509CertId</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-app.html#XMLSECX509STOREID">xmlSecX509StoreId</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-app.html#xmlSecX509StoreId" title="xmlSecX509StoreId">xmlSecX509StoreId</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-app.html#XMLSECTRANSFORMAES128CBCID">xmlSecTransformAes128CbcId</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-app.html#xmlSecTransformAes128CbcId" title="xmlSecTransformAes128CbcId">xmlSecTransformAes128CbcId</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-app.html#XMLSECTRANSFORMAES192CBCID">xmlSecTransformAes192CbcId</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-app.html#xmlSecTransformAes192CbcId" title="xmlSecTransformAes192CbcId">xmlSecTransformAes192CbcId</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-app.html#XMLSECTRANSFORMAES256CBCID">xmlSecTransformAes256CbcId</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-app.html#xmlSecTransformAes256CbcId" title="xmlSecTransformAes256CbcId">xmlSecTransformAes256CbcId</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-app.html#XMLSECTRANSFORMKWAES128ID">xmlSecTransformKWAes128Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-app.html#xmlSecTransformKWAes128Id" title="xmlSecTransformKWAes128Id">xmlSecTransformKWAes128Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-app.html#XMLSECTRANSFORMKWAES192ID">xmlSecTransformKWAes192Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-app.html#xmlSecTransformKWAes192Id" title="xmlSecTransformKWAes192Id">xmlSecTransformKWAes192Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-app.html#XMLSECTRANSFORMKWAES256ID">xmlSecTransformKWAes256Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-app.html#xmlSecTransformKWAes256Id" title="xmlSecTransformKWAes256Id">xmlSecTransformKWAes256Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-app.html#XMLSECTRANSFORMDES3CBCID">xmlSecTransformDes3CbcId</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-app.html#xmlSecTransformDes3CbcId" title="xmlSecTransformDes3CbcId">xmlSecTransformDes3CbcId</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-app.html#XMLSECTRANSFORMKWDES3ID">xmlSecTransformKWDes3Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-app.html#xmlSecTransformKWDes3Id" title="xmlSecTransformKWDes3Id">xmlSecTransformKWDes3Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-app.html#XMLSECTRANSFORMDSASHA1ID">xmlSecTransformDsaSha1Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-app.html#xmlSecTransformDsaSha1Id" title="xmlSecTransformDsaSha1Id">xmlSecTransformDsaSha1Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-app.html#XMLSECTRANSFORMDSASHA256ID">xmlSecTransformDsaSha256Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-app.html#xmlSecTransformDsaSha256Id" title="xmlSecTransformDsaSha256Id">xmlSecTransformDsaSha256Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-app.html#XMLSECTRANSFORMECDSASHA1ID">xmlSecTransformEcdsaSha1Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-app.html#xmlSecTransformEcdsaSha1Id" title="xmlSecTransformEcdsaSha1Id">xmlSecTransformEcdsaSha1Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-app.html#XMLSECTRANSFORMECDSASHA224ID">xmlSecTransformEcdsaSha224Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-app.html#xmlSecTransformEcdsaSha224Id" title="xmlSecTransformEcdsaSha224Id">xmlSecTransformEcdsaSha224Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-app.html#XMLSECTRANSFORMECDSASHA256ID">xmlSecTransformEcdsaSha256Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-app.html#xmlSecTransformEcdsaSha256Id" title="xmlSecTransformEcdsaSha256Id">xmlSecTransformEcdsaSha256Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-app.html#XMLSECTRANSFORMECDSASHA384ID">xmlSecTransformEcdsaSha384Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-app.html#xmlSecTransformEcdsaSha384Id" title="xmlSecTransformEcdsaSha384Id">xmlSecTransformEcdsaSha384Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-app.html#XMLSECTRANSFORMECDSASHA512ID">xmlSecTransformEcdsaSha512Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-app.html#xmlSecTransformEcdsaSha512Id" title="xmlSecTransformEcdsaSha512Id">xmlSecTransformEcdsaSha512Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-app.html#XMLSECTRANSFORMGOST2001GOSTR3411-94ID">xmlSecTransformGost2001GostR3411_94Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-app.html#xmlSecTransformGost2001GostR3411-94Id" title="xmlSecTransformGost2001GostR3411_94Id">xmlSecTransformGost2001GostR3411_94Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-app.html#XMLSECTRANSFORMGOSTR3410-2012GOSTR3411-2012-256ID">xmlSecTransformGostR3410_2012GostR3411_2012_256Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-app.html#xmlSecTransformGostR3410-2012GostR3411-2012-256Id" title="xmlSecTransformGostR3410_2012GostR3411_2012_256Id">xmlSecTransformGostR3410_2012GostR3411_2012_256Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-app.html#XMLSECTRANSFORMGOSTR3410-2012GOSTR3411-2012-512ID">xmlSecTransformGostR3410_2012GostR3411_2012_512Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-app.html#xmlSecTransformGostR3410-2012GostR3411-2012-512Id" title="xmlSecTransformGostR3410_2012GostR3411_2012_512Id">xmlSecTransformGostR3410_2012GostR3411_2012_512Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-app.html#XMLSECTRANSFORMHMACMD5ID">xmlSecTransformHmacMd5Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-app.html#xmlSecTransformHmacMd5Id" title="xmlSecTransformHmacMd5Id">xmlSecTransformHmacMd5Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-app.html#XMLSECTRANSFORMHMACRIPEMD160ID">xmlSecTransformHmacRipemd160Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-app.html#xmlSecTransformHmacRipemd160Id" title="xmlSecTransformHmacRipemd160Id">xmlSecTransformHmacRipemd160Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-app.html#XMLSECTRANSFORMHMACSHA1ID">xmlSecTransformHmacSha1Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-app.html#xmlSecTransformHmacSha1Id" title="xmlSecTransformHmacSha1Id">xmlSecTransformHmacSha1Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-app.html#XMLSECTRANSFORMHMACSHA224ID">xmlSecTransformHmacSha224Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-app.html#xmlSecTransformHmacSha224Id" title="xmlSecTransformHmacSha224Id">xmlSecTransformHmacSha224Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-app.html#XMLSECTRANSFORMHMACSHA256ID">xmlSecTransformHmacSha256Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-app.html#xmlSecTransformHmacSha256Id" title="xmlSecTransformHmacSha256Id">xmlSecTransformHmacSha256Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-app.html#XMLSECTRANSFORMHMACSHA384ID">xmlSecTransformHmacSha384Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-app.html#xmlSecTransformHmacSha384Id" title="xmlSecTransformHmacSha384Id">xmlSecTransformHmacSha384Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-app.html#XMLSECTRANSFORMHMACSHA512ID">xmlSecTransformHmacSha512Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-app.html#xmlSecTransformHmacSha512Id" title="xmlSecTransformHmacSha512Id">xmlSecTransformHmacSha512Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-app.html#XMLSECTRANSFORMMD5ID">xmlSecTransformMd5Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-app.html#xmlSecTransformMd5Id" title="xmlSecTransformMd5Id">xmlSecTransformMd5Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-app.html#XMLSECTRANSFORMRIPEMD160ID">xmlSecTransformRipemd160Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-app.html#xmlSecTransformRipemd160Id" title="xmlSecTransformRipemd160Id">xmlSecTransformRipemd160Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-app.html#XMLSECTRANSFORMRSAMD5ID">xmlSecTransformRsaMd5Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-app.html#xmlSecTransformRsaMd5Id" title="xmlSecTransformRsaMd5Id">xmlSecTransformRsaMd5Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-app.html#XMLSECTRANSFORMRSARIPEMD160ID">xmlSecTransformRsaRipemd160Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-app.html#xmlSecTransformRsaRipemd160Id" title="xmlSecTransformRsaRipemd160Id">xmlSecTransformRsaRipemd160Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-app.html#XMLSECTRANSFORMRSASHA1ID">xmlSecTransformRsaSha1Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-app.html#xmlSecTransformRsaSha1Id" title="xmlSecTransformRsaSha1Id">xmlSecTransformRsaSha1Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-app.html#XMLSECTRANSFORMRSASHA224ID">xmlSecTransformRsaSha224Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-app.html#xmlSecTransformRsaSha224Id" title="xmlSecTransformRsaSha224Id">xmlSecTransformRsaSha224Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-app.html#XMLSECTRANSFORMRSASHA256ID">xmlSecTransformRsaSha256Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-app.html#xmlSecTransformRsaSha256Id" title="xmlSecTransformRsaSha256Id">xmlSecTransformRsaSha256Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-app.html#XMLSECTRANSFORMRSASHA384ID">xmlSecTransformRsaSha384Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-app.html#xmlSecTransformRsaSha384Id" title="xmlSecTransformRsaSha384Id">xmlSecTransformRsaSha384Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-app.html#XMLSECTRANSFORMRSASHA512ID">xmlSecTransformRsaSha512Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-app.html#xmlSecTransformRsaSha512Id" title="xmlSecTransformRsaSha512Id">xmlSecTransformRsaSha512Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-app.html#XMLSECTRANSFORMRSAPKCS1ID">xmlSecTransformRsaPkcs1Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-app.html#xmlSecTransformRsaPkcs1Id" title="xmlSecTransformRsaPkcs1Id">xmlSecTransformRsaPkcs1Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-app.html#XMLSECTRANSFORMRSAOAEPID">xmlSecTransformRsaOaepId</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-app.html#xmlSecTransformRsaOaepId" title="xmlSecTransformRsaOaepId">xmlSecTransformRsaOaepId</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-app.html#XMLSECTRANSFORMGOSTR3411-94ID">xmlSecTransformGostR3411_94Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-app.html#xmlSecTransformGostR3411-94Id" title="xmlSecTransformGostR3411_94Id">xmlSecTransformGostR3411_94Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-app.html#XMLSECTRANSFORMGOSTR3411-2012-256ID">xmlSecTransformGostR3411_2012_256Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-app.html#xmlSecTransformGostR3411-2012-256Id" title="xmlSecTransformGostR3411_2012_256Id">xmlSecTransformGostR3411_2012_256Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-app.html#XMLSECTRANSFORMGOSTR3411-2012-512ID">xmlSecTransformGostR3411_2012_512Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-app.html#xmlSecTransformGostR3411-2012-512Id" title="xmlSecTransformGostR3411_2012_512Id">xmlSecTransformGostR3411_2012_512Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-app.html#XMLSECTRANSFORMSHA1ID">xmlSecTransformSha1Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-app.html#xmlSecTransformSha1Id" title="xmlSecTransformSha1Id">xmlSecTransformSha1Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-app.html#XMLSECTRANSFORMSHA224ID">xmlSecTransformSha224Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-app.html#xmlSecTransformSha224Id" title="xmlSecTransformSha224Id">xmlSecTransformSha224Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-app.html#XMLSECTRANSFORMSHA256ID">xmlSecTransformSha256Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-app.html#xmlSecTransformSha256Id" title="xmlSecTransformSha256Id">xmlSecTransformSha256Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-app.html#XMLSECTRANSFORMSHA384ID">xmlSecTransformSha384Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-app.html#xmlSecTransformSha384Id" title="xmlSecTransformSha384Id">xmlSecTransformSha384Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-app.html#XMLSECTRANSFORMSHA512ID">xmlSecTransformSha512Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-app.html#xmlSecTransformSha512Id" title="xmlSecTransformSha512Id">xmlSecTransformSha512Id</a></td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
-</div>
-<div class="REFSECT1">
-<a name="XMLSEC-APP.DESCRIPTION"></a><h2>Description</h2>
-<p>Crypto-engine application support function used by xmlsec command line utility.</p>
-</div>
-<div class="REFSECT1">
-<a name="XMLSEC-APP.FUNCTIONS_DETAILS"></a><h2>Functions</h2>
-<div class="REFSECT2">
-<a name="XMLSECCRYPTOINIT"></a><h3>xmlSecCryptoInit ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecCryptoInit (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="xmlsec-app.description"></a><h2>Description</h2>
+<p>
+Crypto-engine application support function used by xmlsec command line utility.
+</p>
+</div>
+<div class="refsect1">
+<a name="xmlsec-app.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="xmlSecCryptoInit"></a><h3>xmlSecCryptoInit ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecCryptoInit (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>XMLSec library specific crypto engine initialization.</p>
-<div class="REFSECT3">
-<a name="AEN1627"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecCryptoInit.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECCRYPTOSHUTDOWN"></a><h3>xmlSecCryptoShutdown ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecCryptoShutdown (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecCryptoShutdown"></a><h3>xmlSecCryptoShutdown ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecCryptoShutdown (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>XMLSec library specific crypto engine shutdown.</p>
-<div class="REFSECT3">
-<a name="AEN1640"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecCryptoShutdown.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECCRYPTOKEYSMNGRINIT"></a><h3>xmlSecCryptoKeysMngrInit ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecCryptoKeysMngrInit (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecCryptoKeysMngrInit"></a><h3>xmlSecCryptoKeysMngrInit ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecCryptoKeysMngrInit (<em class="parameter"><code><font><span class="type">xmlSecKeysMngrPtr</span></font> mngr</code></em>);</pre>
<p>Adds crypto specific key data stores in keys manager.</p>
-<div class="REFSECT3">
-<a name="AEN1654"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN1656"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecCryptoKeysMngrInit.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>mngr</p></td>
-<td><p>the pointer to keys manager.</p></td>
-<td> </td>
+<td class="parameter_name"><p>mngr</p></td>
+<td class="parameter_description"><p>the pointer to keys manager.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN1665"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecCryptoKeysMngrInit.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYDATAAESGETKLASS"></a><h3>xmlSecKeyDataAesGetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecKeyDataId</span></font>
-xmlSecKeyDataAesGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecKeyDataAesGetKlass"></a><h3>xmlSecKeyDataAesGetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecKeyDataId</span></font>
+xmlSecKeyDataAesGetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The AES key data klass.</p>
-<div class="REFSECT3">
-<a name="AEN1678"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecKeyDataAesGetKlass.returns"></a><h4>Returns</h4>
<p> AES key data klass or NULL if an error occurs
(xmlsec-crypto library is not loaded or the AES key data
klass is not implemented).</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYDATADESGETKLASS"></a><h3>xmlSecKeyDataDesGetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecKeyDataId</span></font>
-xmlSecKeyDataDesGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecKeyDataDesGetKlass"></a><h3>xmlSecKeyDataDesGetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecKeyDataId</span></font>
+xmlSecKeyDataDesGetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The DES key data klass.</p>
-<div class="REFSECT3">
-<a name="AEN1691"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecKeyDataDesGetKlass.returns"></a><h4>Returns</h4>
<p> DES key data klass or NULL if an error occurs
(xmlsec-crypto library is not loaded or the DES key data
klass is not implemented).</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYDATADSAGETKLASS"></a><h3>xmlSecKeyDataDsaGetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecKeyDataId</span></font>
-xmlSecKeyDataDsaGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecKeyDataDsaGetKlass"></a><h3>xmlSecKeyDataDsaGetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecKeyDataId</span></font>
+xmlSecKeyDataDsaGetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The DSA key data klass.</p>
-<div class="REFSECT3">
-<a name="AEN1704"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecKeyDataDsaGetKlass.returns"></a><h4>Returns</h4>
<p> DSA key data klass or NULL if an error occurs
(xmlsec-crypto library is not loaded or the DSA key data
klass is not implemented).</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYDATAECDSAGETKLASS"></a><h3>xmlSecKeyDataEcdsaGetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecKeyDataId</span></font>
-xmlSecKeyDataEcdsaGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecKeyDataEcdsaGetKlass"></a><h3>xmlSecKeyDataEcdsaGetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecKeyDataId</span></font>
+xmlSecKeyDataEcdsaGetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The ECDSA key data klass.</p>
-<div class="REFSECT3">
-<a name="AEN1717"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecKeyDataEcdsaGetKlass.returns"></a><h4>Returns</h4>
<p> ECDSA key data klass or NULL if an error occurs
(xmlsec-crypto library is not loaded or the ECDSA key data
klass is not implemented).</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYDATAGOST2001GETKLASS"></a><h3>xmlSecKeyDataGost2001GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecKeyDataId</span></font>
-xmlSecKeyDataGost2001GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecKeyDataGost2001GetKlass"></a><h3>xmlSecKeyDataGost2001GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecKeyDataId</span></font>
+xmlSecKeyDataGost2001GetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The GOST2001 key data klass.</p>
-<div class="REFSECT3">
-<a name="AEN1730"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecKeyDataGost2001GetKlass.returns"></a><h4>Returns</h4>
<p> GOST2001 key data klass or NULL if an error occurs
(xmlsec-crypto library is not loaded or the GOST2001 key data
klass is not implemented).</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYDATAGOSTR3410-2012-256GETKLASS"></a><h3>xmlSecKeyDataGostR3410_2012_256GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecKeyDataId</span></font>
+<div class="refsect2">
+<a name="xmlSecKeyDataGostR3410-2012-256GetKlass"></a><h3>xmlSecKeyDataGostR3410_2012_256GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecKeyDataId</span></font>
xmlSecKeyDataGostR3410_2012_256GetKlass
- (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+ (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The GOST R 34.10-2012 256 bit key data klass.</p>
-<div class="REFSECT3">
-<a name="AEN1743"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecKeyDataGostR3410-2012-256GetKlass.returns"></a><h4>Returns</h4>
<p> GOST R 34.10-2012 256 bit key data klass or NULL if an error occurs
(xmlsec-crypto library is not loaded or the GOST R 34.10-2012 key data
klass is not implemented).</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYDATAGOSTR3410-2012-512GETKLASS"></a><h3>xmlSecKeyDataGostR3410_2012_512GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecKeyDataId</span></font>
+<div class="refsect2">
+<a name="xmlSecKeyDataGostR3410-2012-512GetKlass"></a><h3>xmlSecKeyDataGostR3410_2012_512GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecKeyDataId</span></font>
xmlSecKeyDataGostR3410_2012_512GetKlass
- (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+ (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The GOST R 34.10-2012 512 bit key data klass.</p>
-<div class="REFSECT3">
-<a name="AEN1756"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecKeyDataGostR3410-2012-512GetKlass.returns"></a><h4>Returns</h4>
<p> GOST R 34.10-2012 512 bit key data klass or NULL if an error occurs
(xmlsec-crypto library is not loaded or the GOST R 34.10-2012 key data
klass is not implemented).</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYDATAHMACGETKLASS"></a><h3>xmlSecKeyDataHmacGetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecKeyDataId</span></font>
-xmlSecKeyDataHmacGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecKeyDataHmacGetKlass"></a><h3>xmlSecKeyDataHmacGetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecKeyDataId</span></font>
+xmlSecKeyDataHmacGetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The HMAC key data klass.</p>
-<div class="REFSECT3">
-<a name="AEN1769"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecKeyDataHmacGetKlass.returns"></a><h4>Returns</h4>
<p> HMAC key data klass or NULL if an error occurs
(xmlsec-crypto library is not loaded or the HMAC key data
klass is not implemented).</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYDATARSAGETKLASS"></a><h3>xmlSecKeyDataRsaGetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecKeyDataId</span></font>
-xmlSecKeyDataRsaGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecKeyDataRsaGetKlass"></a><h3>xmlSecKeyDataRsaGetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecKeyDataId</span></font>
+xmlSecKeyDataRsaGetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The RSA key data klass.</p>
-<div class="REFSECT3">
-<a name="AEN1782"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecKeyDataRsaGetKlass.returns"></a><h4>Returns</h4>
<p> RSA key data klass or NULL if an error occurs
(xmlsec-crypto library is not loaded or the RSA key data
klass is not implemented).</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYDATAX509GETKLASS"></a><h3>xmlSecKeyDataX509GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecKeyDataId</span></font>
-xmlSecKeyDataX509GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecKeyDataX509GetKlass"></a><h3>xmlSecKeyDataX509GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecKeyDataId</span></font>
+xmlSecKeyDataX509GetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The X509 key data klass.</p>
-<div class="REFSECT3">
-<a name="AEN1795"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecKeyDataX509GetKlass.returns"></a><h4>Returns</h4>
<p> X509 key data klass or NULL if an error occurs
(xmlsec-crypto library is not loaded or the X509 key data
klass is not implemented).</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYDATARAWX509CERTGETKLASS"></a><h3>xmlSecKeyDataRawX509CertGetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecKeyDataId</span></font>
-xmlSecKeyDataRawX509CertGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecKeyDataRawX509CertGetKlass"></a><h3>xmlSecKeyDataRawX509CertGetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecKeyDataId</span></font>
+xmlSecKeyDataRawX509CertGetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The raw X509 cert key data klass.</p>
-<div class="REFSECT3">
-<a name="AEN1808"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecKeyDataRawX509CertGetKlass.returns"></a><h4>Returns</h4>
<p> raw x509 cert key data klass or NULL if an error occurs
(xmlsec-crypto library is not loaded or the raw X509 cert key data
klass is not implemented).</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECX509STOREGETKLASS"></a><h3>xmlSecX509StoreGetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecKeyDataStoreId</span></font>
-xmlSecX509StoreGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecX509StoreGetKlass"></a><h3>xmlSecX509StoreGetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecKeyDataStoreId</span></font>
+xmlSecX509StoreGetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The X509 certificates key data store klass.</p>
-<div class="REFSECT3">
-<a name="AEN1821"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecX509StoreGetKlass.returns"></a><h4>Returns</h4>
<p> pointer to X509 certificates key data store klass or NULL if
an error occurs (xmlsec-crypto library is not loaded or the raw X509
cert key data klass is not implemented).</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMAES128CBCGETKLASS"></a><h3>xmlSecTransformAes128CbcGetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
-xmlSecTransformAes128CbcGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecTransformAes128CbcGetKlass"></a><h3>xmlSecTransformAes128CbcGetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
+xmlSecTransformAes128CbcGetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>AES 128 CBC encryption transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN1834"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTransformAes128CbcGetKlass.returns"></a><h4>Returns</h4>
<p> pointer to AES 128 CBC encryption transform or NULL if an error
occurs (the xmlsec-crypto library is not loaded or this transform is not
implemented).</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMAES192CBCGETKLASS"></a><h3>xmlSecTransformAes192CbcGetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
-xmlSecTransformAes192CbcGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecTransformAes192CbcGetKlass"></a><h3>xmlSecTransformAes192CbcGetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
+xmlSecTransformAes192CbcGetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>AES 192 CBC encryption transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN1847"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTransformAes192CbcGetKlass.returns"></a><h4>Returns</h4>
<p> pointer to AES 192 CBC encryption transform or NULL if an error
occurs (the xmlsec-crypto library is not loaded or this transform is not
implemented).</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMAES256CBCGETKLASS"></a><h3>xmlSecTransformAes256CbcGetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
-xmlSecTransformAes256CbcGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecTransformAes256CbcGetKlass"></a><h3>xmlSecTransformAes256CbcGetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
+xmlSecTransformAes256CbcGetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>AES 256 CBC encryption transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN1860"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTransformAes256CbcGetKlass.returns"></a><h4>Returns</h4>
<p> pointer to AES 256 CBC encryption transform or NULL if an error
occurs (the xmlsec-crypto library is not loaded or this transform is not
implemented).</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMKWAES128GETKLASS"></a><h3>xmlSecTransformKWAes128GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
-xmlSecTransformKWAes128GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecTransformKWAes128GetKlass"></a><h3>xmlSecTransformKWAes128GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
+xmlSecTransformKWAes128GetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The AES-128 kew wrapper transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN1873"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTransformKWAes128GetKlass.returns"></a><h4>Returns</h4>
<p> AES-128 kew wrapper transform klass or NULL if an error
occurs (the xmlsec-crypto library is not loaded or this transform is not
implemented).</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMKWAES192GETKLASS"></a><h3>xmlSecTransformKWAes192GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
-xmlSecTransformKWAes192GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecTransformKWAes192GetKlass"></a><h3>xmlSecTransformKWAes192GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
+xmlSecTransformKWAes192GetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The AES-192 kew wrapper transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN1886"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTransformKWAes192GetKlass.returns"></a><h4>Returns</h4>
<p> AES-192 kew wrapper transform klass or NULL if an error
occurs (the xmlsec-crypto library is not loaded or this transform is not
implemented).</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMKWAES256GETKLASS"></a><h3>xmlSecTransformKWAes256GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
-xmlSecTransformKWAes256GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecTransformKWAes256GetKlass"></a><h3>xmlSecTransformKWAes256GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
+xmlSecTransformKWAes256GetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The AES-256 kew wrapper transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN1899"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTransformKWAes256GetKlass.returns"></a><h4>Returns</h4>
<p> AES-256 kew wrapper transform klass or NULL if an error
occurs (the xmlsec-crypto library is not loaded or this transform is not
implemented).</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMDES3CBCGETKLASS"></a><h3>xmlSecTransformDes3CbcGetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
-xmlSecTransformDes3CbcGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecTransformDes3CbcGetKlass"></a><h3>xmlSecTransformDes3CbcGetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
+xmlSecTransformDes3CbcGetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>Triple DES CBC encryption transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN1912"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTransformDes3CbcGetKlass.returns"></a><h4>Returns</h4>
<p> pointer to Triple DES encryption transform or NULL if an error
occurs (the xmlsec-crypto library is not loaded or this transform is not
implemented).</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMKWDES3GETKLASS"></a><h3>xmlSecTransformKWDes3GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
-xmlSecTransformKWDes3GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecTransformKWDes3GetKlass"></a><h3>xmlSecTransformKWDes3GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
+xmlSecTransformKWDes3GetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The Triple DES key wrapper transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN1925"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTransformKWDes3GetKlass.returns"></a><h4>Returns</h4>
<p> Triple DES key wrapper transform klass or NULL if an error
occurs (the xmlsec-crypto library is not loaded or this transform is not
implemented).</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMDSASHA1GETKLASS"></a><h3>xmlSecTransformDsaSha1GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
-xmlSecTransformDsaSha1GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecTransformDsaSha1GetKlass"></a><h3>xmlSecTransformDsaSha1GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
+xmlSecTransformDsaSha1GetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The DSA-SHA1 signature transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN1938"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTransformDsaSha1GetKlass.returns"></a><h4>Returns</h4>
<p> DSA-SHA1 signature transform klass or NULL if an error
occurs (the xmlsec-crypto library is not loaded or this transform is not
implemented).</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMDSASHA256GETKLASS"></a><h3>xmlSecTransformDsaSha256GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
-xmlSecTransformDsaSha256GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecTransformDsaSha256GetKlass"></a><h3>xmlSecTransformDsaSha256GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
+xmlSecTransformDsaSha256GetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The DSA-SHA256 signature transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN1951"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTransformDsaSha256GetKlass.returns"></a><h4>Returns</h4>
<p> DSA-SHA256 signature transform klass or NULL if an error
occurs (the xmlsec-crypto library is not loaded or this transform is not
implemented).</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMECDSASHA1GETKLASS"></a><h3>xmlSecTransformEcdsaSha1GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
-xmlSecTransformEcdsaSha1GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecTransformEcdsaSha1GetKlass"></a><h3>xmlSecTransformEcdsaSha1GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
+xmlSecTransformEcdsaSha1GetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The ECDSA-SHA1 signature transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN1964"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTransformEcdsaSha1GetKlass.returns"></a><h4>Returns</h4>
<p> ECDSA-SHA1 signature transform klass or NULL if an error
occurs (the xmlsec-crypto library is not loaded or this transform is not
implemented).</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMECDSASHA224GETKLASS"></a><h3>xmlSecTransformEcdsaSha224GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
-xmlSecTransformEcdsaSha224GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecTransformEcdsaSha224GetKlass"></a><h3>xmlSecTransformEcdsaSha224GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
+xmlSecTransformEcdsaSha224GetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The ECDSA-SHA224 signature transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN1977"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTransformEcdsaSha224GetKlass.returns"></a><h4>Returns</h4>
<p> ECDSA-SHA224 signature transform klass or NULL if an error
occurs (the xmlsec-crypto library is not loaded or this transform is not
implemented).</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMECDSASHA256GETKLASS"></a><h3>xmlSecTransformEcdsaSha256GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
-xmlSecTransformEcdsaSha256GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecTransformEcdsaSha256GetKlass"></a><h3>xmlSecTransformEcdsaSha256GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
+xmlSecTransformEcdsaSha256GetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The ECDSA-SHA256 signature transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN1990"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTransformEcdsaSha256GetKlass.returns"></a><h4>Returns</h4>
<p> ECDSA-SHA256 signature transform klass or NULL if an error
occurs (the xmlsec-crypto library is not loaded or this transform is not
implemented).</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMECDSASHA384GETKLASS"></a><h3>xmlSecTransformEcdsaSha384GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
-xmlSecTransformEcdsaSha384GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecTransformEcdsaSha384GetKlass"></a><h3>xmlSecTransformEcdsaSha384GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
+xmlSecTransformEcdsaSha384GetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The ECDSA-SHA384 signature transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN2003"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTransformEcdsaSha384GetKlass.returns"></a><h4>Returns</h4>
<p> ECDSA-SHA384 signature transform klass or NULL if an error
occurs (the xmlsec-crypto library is not loaded or this transform is not
implemented).</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMECDSASHA512GETKLASS"></a><h3>xmlSecTransformEcdsaSha512GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
-xmlSecTransformEcdsaSha512GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecTransformEcdsaSha512GetKlass"></a><h3>xmlSecTransformEcdsaSha512GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
+xmlSecTransformEcdsaSha512GetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The ECDSA-SHA512 signature transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN2016"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTransformEcdsaSha512GetKlass.returns"></a><h4>Returns</h4>
<p> ECDSA-SHA512 signature transform klass or NULL if an error
occurs (the xmlsec-crypto library is not loaded or this transform is not
implemented).</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMGOST2001GOSTR3411-94GETKLASS"></a><h3>xmlSecTransformGost2001GostR3411_94GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
+<div class="refsect2">
+<a name="xmlSecTransformGost2001GostR3411-94GetKlass"></a><h3>xmlSecTransformGost2001GostR3411_94GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
xmlSecTransformGost2001GostR3411_94GetKlass
- (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+ (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The GOST2001-GOSTR3411_94 signature transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN2029"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTransformGost2001GostR3411-94GetKlass.returns"></a><h4>Returns</h4>
<p> GOST2001-GOSTR3411_94 signature transform klass or NULL if an error
occurs (the xmlsec-crypto library is not loaded or this transform is not
implemented).</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMGOSTR3410-2012GOSTR3411-2012-256GETKLASS"></a><h3>xmlSecTransformGostR3410_2012GostR3411_2012_256GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
+<div class="refsect2">
+<a name="xmlSecTransformGostR3410-2012GostR3411-2012-256GetKlass"></a><h3>xmlSecTransformGostR3410_2012GostR3411_2012_256GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
xmlSecTransformGostR3410_2012GostR3411_2012_256GetKlass
- (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+ (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The GOST R 34.10-2012 - GOST R 34.11-2012 256 bit signature transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN2042"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTransformGostR3410-2012GostR3411-2012-256GetKlass.returns"></a><h4>Returns</h4>
<p> GOST R 34.10-2012 - GOST R 34.11-2012 256 bit signature transform klass or NULL if an error
occurs (the xmlsec-crypto library is not loaded or this transform is not
implemented).</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMGOSTR3410-2012GOSTR3411-2012-512GETKLASS"></a><h3>xmlSecTransformGostR3410_2012GostR3411_2012_512GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
+<div class="refsect2">
+<a name="xmlSecTransformGostR3410-2012GostR3411-2012-512GetKlass"></a><h3>xmlSecTransformGostR3410_2012GostR3411_2012_512GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
xmlSecTransformGostR3410_2012GostR3411_2012_512GetKlass
- (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+ (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The GOST R 34.10-2012 - GOST R 34.11-2012 512 bit signature transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN2055"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTransformGostR3410-2012GostR3411-2012-512GetKlass.returns"></a><h4>Returns</h4>
<p> GOST R 34.10-2012 - GOST R 34.11-2012 512 bit signature transform klass or NULL if an error
occurs (the xmlsec-crypto library is not loaded or this transform is not
implemented).</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMHMACMD5GETKLASS"></a><h3>xmlSecTransformHmacMd5GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
-xmlSecTransformHmacMd5GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecTransformHmacMd5GetKlass"></a><h3>xmlSecTransformHmacMd5GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
+xmlSecTransformHmacMd5GetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The HMAC-MD5 transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN2068"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTransformHmacMd5GetKlass.returns"></a><h4>Returns</h4>
<p> the HMAC-MD5 transform klass or NULL if an error
occurs (the xmlsec-crypto library is not loaded or this transform is not
implemented).</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMHMACRIPEMD160GETKLASS"></a><h3>xmlSecTransformHmacRipemd160GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
-xmlSecTransformHmacRipemd160GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecTransformHmacRipemd160GetKlass"></a><h3>xmlSecTransformHmacRipemd160GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
+xmlSecTransformHmacRipemd160GetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The HMAC-RIPEMD160 transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN2081"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTransformHmacRipemd160GetKlass.returns"></a><h4>Returns</h4>
<p> the HMAC-RIPEMD160 transform klass or NULL if an error
occurs (the xmlsec-crypto library is not loaded or this transform is not
implemented).</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMHMACSHA1GETKLASS"></a><h3>xmlSecTransformHmacSha1GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
-xmlSecTransformHmacSha1GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecTransformHmacSha1GetKlass"></a><h3>xmlSecTransformHmacSha1GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
+xmlSecTransformHmacSha1GetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The HMAC-SHA1 transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN2094"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTransformHmacSha1GetKlass.returns"></a><h4>Returns</h4>
<p> the HMAC-SHA1 transform klass or NULL if an error
occurs (the xmlsec-crypto library is not loaded or this transform is not
implemented).</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMHMACSHA224GETKLASS"></a><h3>xmlSecTransformHmacSha224GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
-xmlSecTransformHmacSha224GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecTransformHmacSha224GetKlass"></a><h3>xmlSecTransformHmacSha224GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
+xmlSecTransformHmacSha224GetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The HMAC-SHA224 transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN2107"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTransformHmacSha224GetKlass.returns"></a><h4>Returns</h4>
<p> the HMAC-SHA224 transform klass or NULL if an error
occurs (the xmlsec-crypto library is not loaded or this transform is not
implemented).</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMHMACSHA256GETKLASS"></a><h3>xmlSecTransformHmacSha256GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
-xmlSecTransformHmacSha256GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecTransformHmacSha256GetKlass"></a><h3>xmlSecTransformHmacSha256GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
+xmlSecTransformHmacSha256GetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The HMAC-SHA256 transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN2120"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTransformHmacSha256GetKlass.returns"></a><h4>Returns</h4>
<p> the HMAC-SHA256 transform klass or NULL if an error
occurs (the xmlsec-crypto library is not loaded or this transform is not
implemented).</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMHMACSHA384GETKLASS"></a><h3>xmlSecTransformHmacSha384GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
-xmlSecTransformHmacSha384GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecTransformHmacSha384GetKlass"></a><h3>xmlSecTransformHmacSha384GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
+xmlSecTransformHmacSha384GetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The HMAC-SHA384 transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN2133"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTransformHmacSha384GetKlass.returns"></a><h4>Returns</h4>
<p> the HMAC-SHA384 transform klass or NULL if an error
occurs (the xmlsec-crypto library is not loaded or this transform is not
implemented).</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMHMACSHA512GETKLASS"></a><h3>xmlSecTransformHmacSha512GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
-xmlSecTransformHmacSha512GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecTransformHmacSha512GetKlass"></a><h3>xmlSecTransformHmacSha512GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
+xmlSecTransformHmacSha512GetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The HMAC-SHA512 transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN2146"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTransformHmacSha512GetKlass.returns"></a><h4>Returns</h4>
<p> the HMAC-SHA512 transform klass or NULL if an error
occurs (the xmlsec-crypto library is not loaded or this transform is not
implemented).</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMMD5GETKLASS"></a><h3>xmlSecTransformMd5GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
-xmlSecTransformMd5GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecTransformMd5GetKlass"></a><h3>xmlSecTransformMd5GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
+xmlSecTransformMd5GetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>MD5 digest transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN2159"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTransformMd5GetKlass.returns"></a><h4>Returns</h4>
<p> pointer to MD5 digest transform klass or NULL if an error
occurs (the xmlsec-crypto library is not loaded or this transform is not
implemented).</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMRIPEMD160GETKLASS"></a><h3>xmlSecTransformRipemd160GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
-xmlSecTransformRipemd160GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecTransformRipemd160GetKlass"></a><h3>xmlSecTransformRipemd160GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
+xmlSecTransformRipemd160GetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>RIPEMD-160 digest transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN2172"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTransformRipemd160GetKlass.returns"></a><h4>Returns</h4>
<p> pointer to RIPEMD-160 digest transform klass or NULL if an error
occurs (the xmlsec-crypto library is not loaded or this transform is not
implemented).</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMRSAMD5GETKLASS"></a><h3>xmlSecTransformRsaMd5GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
-xmlSecTransformRsaMd5GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecTransformRsaMd5GetKlass"></a><h3>xmlSecTransformRsaMd5GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
+xmlSecTransformRsaMd5GetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The RSA-MD5 signature transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN2185"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTransformRsaMd5GetKlass.returns"></a><h4>Returns</h4>
<p> RSA-MD5 signature transform klass or NULL if an error
occurs (the xmlsec-crypto library is not loaded or this transform is not
implemented).</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMRSARIPEMD160GETKLASS"></a><h3>xmlSecTransformRsaRipemd160GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
-xmlSecTransformRsaRipemd160GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecTransformRsaRipemd160GetKlass"></a><h3>xmlSecTransformRsaRipemd160GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
+xmlSecTransformRsaRipemd160GetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The RSA-RIPEMD160 signature transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN2198"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTransformRsaRipemd160GetKlass.returns"></a><h4>Returns</h4>
<p> RSA-RIPEMD160 signature transform klass or NULL if an error
occurs (the xmlsec-crypto library is not loaded or this transform is not
implemented).</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMRSASHA1GETKLASS"></a><h3>xmlSecTransformRsaSha1GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
-xmlSecTransformRsaSha1GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecTransformRsaSha1GetKlass"></a><h3>xmlSecTransformRsaSha1GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
+xmlSecTransformRsaSha1GetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The RSA-SHA1 signature transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN2211"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTransformRsaSha1GetKlass.returns"></a><h4>Returns</h4>
<p> RSA-SHA1 signature transform klass or NULL if an error
occurs (the xmlsec-crypto library is not loaded or this transform is not
implemented).</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMRSASHA224GETKLASS"></a><h3>xmlSecTransformRsaSha224GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
-xmlSecTransformRsaSha224GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecTransformRsaSha224GetKlass"></a><h3>xmlSecTransformRsaSha224GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
+xmlSecTransformRsaSha224GetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The RSA-SHA224 signature transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN2224"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTransformRsaSha224GetKlass.returns"></a><h4>Returns</h4>
<p> RSA-SHA224 signature transform klass or NULL if an error
occurs (the xmlsec-crypto library is not loaded or this transform is not
implemented).</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMRSASHA256GETKLASS"></a><h3>xmlSecTransformRsaSha256GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
-xmlSecTransformRsaSha256GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecTransformRsaSha256GetKlass"></a><h3>xmlSecTransformRsaSha256GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
+xmlSecTransformRsaSha256GetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The RSA-SHA256 signature transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN2237"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTransformRsaSha256GetKlass.returns"></a><h4>Returns</h4>
<p> RSA-SHA256 signature transform klass or NULL if an error
occurs (the xmlsec-crypto library is not loaded or this transform is not
implemented).</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMRSASHA384GETKLASS"></a><h3>xmlSecTransformRsaSha384GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
-xmlSecTransformRsaSha384GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecTransformRsaSha384GetKlass"></a><h3>xmlSecTransformRsaSha384GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
+xmlSecTransformRsaSha384GetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The RSA-SHA384 signature transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN2250"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTransformRsaSha384GetKlass.returns"></a><h4>Returns</h4>
<p> RSA-SHA384 signature transform klass or NULL if an error
occurs (the xmlsec-crypto library is not loaded or this transform is not
implemented).</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMRSASHA512GETKLASS"></a><h3>xmlSecTransformRsaSha512GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
-xmlSecTransformRsaSha512GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecTransformRsaSha512GetKlass"></a><h3>xmlSecTransformRsaSha512GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
+xmlSecTransformRsaSha512GetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The RSA-SHA512 signature transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN2263"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTransformRsaSha512GetKlass.returns"></a><h4>Returns</h4>
<p> RSA-SHA512 signature transform klass or NULL if an error
occurs (the xmlsec-crypto library is not loaded or this transform is not
implemented).</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMRSAPKCS1GETKLASS"></a><h3>xmlSecTransformRsaPkcs1GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
-xmlSecTransformRsaPkcs1GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecTransformRsaPkcs1GetKlass"></a><h3>xmlSecTransformRsaPkcs1GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
+xmlSecTransformRsaPkcs1GetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The RSA-PKCS1 key transport transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN2276"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTransformRsaPkcs1GetKlass.returns"></a><h4>Returns</h4>
<p> RSA-PKCS1 key transport transform klass or NULL if an error
occurs (the xmlsec-crypto library is not loaded or this transform is not
implemented).</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMRSAOAEPGETKLASS"></a><h3>xmlSecTransformRsaOaepGetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
-xmlSecTransformRsaOaepGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecTransformRsaOaepGetKlass"></a><h3>xmlSecTransformRsaOaepGetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
+xmlSecTransformRsaOaepGetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The RSA-OAEP key transport transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN2289"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTransformRsaOaepGetKlass.returns"></a><h4>Returns</h4>
<p> RSA-OAEP key transport transform klass or NULL if an error
occurs (the xmlsec-crypto library is not loaded or this transform is not
implemented).</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMGOSTR3411-94GETKLASS"></a><h3>xmlSecTransformGostR3411_94GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
-xmlSecTransformGostR3411_94GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecTransformGostR3411-94GetKlass"></a><h3>xmlSecTransformGostR3411_94GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
+xmlSecTransformGostR3411_94GetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>GOSTR3411_94 digest transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN2302"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTransformGostR3411-94GetKlass.returns"></a><h4>Returns</h4>
<p> pointer to GOSTR3411_94 digest transform klass or NULL if an error
occurs (the xmlsec-crypto library is not loaded or this transform is not
implemented).</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMGOSTR3411-2012-256GETKLASS"></a><h3>xmlSecTransformGostR3411_2012_256GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
+<div class="refsect2">
+<a name="xmlSecTransformGostR3411-2012-256GetKlass"></a><h3>xmlSecTransformGostR3411_2012_256GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
xmlSecTransformGostR3411_2012_256GetKlass
- (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+ (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>GOST R 34.11-2012 256 bit digest transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN2315"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTransformGostR3411-2012-256GetKlass.returns"></a><h4>Returns</h4>
<p> pointer to GOST R 34.11-2012 256 bit digest transform klass or NULL if an error
occurs (the xmlsec-crypto library is not loaded or this transform is not
implemented).</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMGOSTR3411-2012-512GETKLASS"></a><h3>xmlSecTransformGostR3411_2012_512GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
+<div class="refsect2">
+<a name="xmlSecTransformGostR3411-2012-512GetKlass"></a><h3>xmlSecTransformGostR3411_2012_512GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
xmlSecTransformGostR3411_2012_512GetKlass
- (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+ (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>GOST R 34.11-2012 512 bit digest transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN2328"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTransformGostR3411-2012-512GetKlass.returns"></a><h4>Returns</h4>
<p> pointer to GOST R 34.11-2012 512 bit digest transform klass or NULL if an error
occurs (the xmlsec-crypto library is not loaded or this transform is not
implemented).</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMSHA1GETKLASS"></a><h3>xmlSecTransformSha1GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
-xmlSecTransformSha1GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecTransformSha1GetKlass"></a><h3>xmlSecTransformSha1GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
+xmlSecTransformSha1GetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>SHA-1 digest transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN2341"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTransformSha1GetKlass.returns"></a><h4>Returns</h4>
<p> pointer to SHA-1 digest transform klass or NULL if an error
occurs (the xmlsec-crypto library is not loaded or this transform is not
implemented).</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMSHA224GETKLASS"></a><h3>xmlSecTransformSha224GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
-xmlSecTransformSha224GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecTransformSha224GetKlass"></a><h3>xmlSecTransformSha224GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
+xmlSecTransformSha224GetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>SHA224 digest transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN2354"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTransformSha224GetKlass.returns"></a><h4>Returns</h4>
<p> pointer to SHA224 digest transform klass or NULL if an error
occurs (the xmlsec-crypto library is not loaded or this transform is not
implemented).</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMSHA256GETKLASS"></a><h3>xmlSecTransformSha256GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
-xmlSecTransformSha256GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecTransformSha256GetKlass"></a><h3>xmlSecTransformSha256GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
+xmlSecTransformSha256GetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>SHA256 digest transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN2367"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTransformSha256GetKlass.returns"></a><h4>Returns</h4>
<p> pointer to SHA256 digest transform klass or NULL if an error
occurs (the xmlsec-crypto library is not loaded or this transform is not
implemented).</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMSHA384GETKLASS"></a><h3>xmlSecTransformSha384GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
-xmlSecTransformSha384GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecTransformSha384GetKlass"></a><h3>xmlSecTransformSha384GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
+xmlSecTransformSha384GetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>SHA384 digest transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN2380"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTransformSha384GetKlass.returns"></a><h4>Returns</h4>
<p> pointer to SHA384 digest transform klass or NULL if an error
occurs (the xmlsec-crypto library is not loaded or this transform is not
implemented).</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMSHA512GETKLASS"></a><h3>xmlSecTransformSha512GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
-xmlSecTransformSha512GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecTransformSha512GetKlass"></a><h3>xmlSecTransformSha512GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
+xmlSecTransformSha512GetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>SHA512 digest transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN2393"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTransformSha512GetKlass.returns"></a><h4>Returns</h4>
<p> pointer to SHA512 digest transform klass or NULL if an error
occurs (the xmlsec-crypto library is not loaded or this transform is not
implemented).</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECCRYPTOAPPINIT"></a><h3>xmlSecCryptoAppInit ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecCryptoAppInit (<code class="PARAMETER">const <font><span class="TYPE">char</span></font> *config</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecCryptoAppInit"></a><h3>xmlSecCryptoAppInit ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecCryptoAppInit (<em class="parameter"><code>const <font><span class="type">char</span></font> *config</code></em>);</pre>
<p>General crypto engine initialization. This function is used
by XMLSec command line utility and called before
-<code class="PARAMETER">xmlSecInit</code>
+<em class="parameter"><code>xmlSecInit</code></em>
function.</p>
-<div class="REFSECT3">
-<a name="AEN2408"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN2410"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecCryptoAppInit.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>config</p></td>
-<td><p>the path to crypto library configuration.</p></td>
-<td> </td>
+<td class="parameter_name"><p>config</p></td>
+<td class="parameter_description"><p>the path to crypto library configuration.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN2419"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecCryptoAppInit.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECCRYPTOAPPSHUTDOWN"></a><h3>xmlSecCryptoAppShutdown ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecCryptoAppShutdown (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecCryptoAppShutdown"></a><h3>xmlSecCryptoAppShutdown ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecCryptoAppShutdown (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>General crypto engine shutdown. This function is used
by XMLSec command line utility and called after
-<code class="PARAMETER">xmlSecShutdown</code>
+<em class="parameter"><code>xmlSecShutdown</code></em>
function.</p>
-<div class="REFSECT3">
-<a name="AEN2433"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecCryptoAppShutdown.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECCRYPTOAPPDEFAULTKEYSMNGRINIT"></a><h3>xmlSecCryptoAppDefaultKeysMngrInit ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecCryptoAppDefaultKeysMngrInit (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>);</pre>
-<p>Initializes <code class="PARAMETER">mngr</code>
- with simple keys store <a href="xmlsec-keysmngr.html#XMLSECSIMPLEKEYSSTOREID"><span class="TYPE">xmlSecSimpleKeysStoreId</span></a>
+<div class="refsect2">
+<a name="xmlSecCryptoAppDefaultKeysMngrInit"></a><h3>xmlSecCryptoAppDefaultKeysMngrInit ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecCryptoAppDefaultKeysMngrInit (<em class="parameter"><code><font><span class="type">xmlSecKeysMngrPtr</span></font> mngr</code></em>);</pre>
+<p>Initializes <em class="parameter"><code>mngr</code></em>
+ with simple keys store <a class="link" href="xmlsec-keysmngr.html#xmlSecSimpleKeysStoreId" title="xmlSecSimpleKeysStoreId"><span class="type">xmlSecSimpleKeysStoreId</span></a>
and a default crypto key data stores.</p>
-<div class="REFSECT3">
-<a name="AEN2450"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN2452"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecCryptoAppDefaultKeysMngrInit.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>mngr</p></td>
-<td><p>the pointer to keys manager.</p></td>
-<td> </td>
+<td class="parameter_name"><p>mngr</p></td>
+<td class="parameter_description"><p>the pointer to keys manager.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN2461"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecCryptoAppDefaultKeysMngrInit.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECCRYPTOAPPDEFAULTKEYSMNGRADOPTKEY"></a><h3>xmlSecCryptoAppDefaultKeysMngrAdoptKey ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
+<div class="refsect2">
+<a name="xmlSecCryptoAppDefaultKeysMngrAdoptKey"></a><h3>xmlSecCryptoAppDefaultKeysMngrAdoptKey ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
xmlSecCryptoAppDefaultKeysMngrAdoptKey
- (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>,
- <code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>);</pre>
-<p>Adds <code class="PARAMETER">key</code>
- to the keys manager <code class="PARAMETER">mngr</code>
- created with <a href="xmlsec-app.html#XMLSECCRYPTOAPPDEFAULTKEYSMNGRINIT"><span class="TYPE">xmlSecCryptoAppDefaultKeysMngrInit</span></a>
+ (<em class="parameter"><code><font><span class="type">xmlSecKeysMngrPtr</span></font> mngr</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlSecKeyPtr</span></font> key</code></em>);</pre>
+<p>Adds <em class="parameter"><code>key</code></em>
+ to the keys manager <em class="parameter"><code>mngr</code></em>
+ created with <a class="link" href="xmlsec-app.html#xmlSecCryptoAppDefaultKeysMngrInit" title="xmlSecCryptoAppDefaultKeysMngrInit ()"><span class="type">xmlSecCryptoAppDefaultKeysMngrInit</span></a>
function.</p>
-<div class="REFSECT3">
-<a name="AEN2482"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN2484"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecCryptoAppDefaultKeysMngrAdoptKey.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>mngr</p></td>
-<td><p>the pointer to keys manager.</p></td>
-<td> </td>
+<td class="parameter_name"><p>mngr</p></td>
+<td class="parameter_description"><p>the pointer to keys manager.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>key</p></td>
-<td><p>the pointer to key.</p></td>
-<td> </td>
+<td class="parameter_name"><p>key</p></td>
+<td class="parameter_description"><p>the pointer to key.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN2499"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecCryptoAppDefaultKeysMngrAdoptKey.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECCRYPTOAPPDEFAULTKEYSMNGRLOAD"></a><h3>xmlSecCryptoAppDefaultKeysMngrLoad ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecCryptoAppDefaultKeysMngrLoad (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>,
- <code class="PARAMETER">const <font><span class="TYPE">char</span></font> *uri</code>);</pre>
-<p>Loads XML keys file from <code class="PARAMETER">uri</code>
- to the keys manager <code class="PARAMETER">mngr</code>
+<div class="refsect2">
+<a name="xmlSecCryptoAppDefaultKeysMngrLoad"></a><h3>xmlSecCryptoAppDefaultKeysMngrLoad ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecCryptoAppDefaultKeysMngrLoad (<em class="parameter"><code><font><span class="type">xmlSecKeysMngrPtr</span></font> mngr</code></em>,
+ <em class="parameter"><code>const <font><span class="type">char</span></font> *uri</code></em>);</pre>
+<p>Loads XML keys file from <em class="parameter"><code>uri</code></em>
+ to the keys manager <em class="parameter"><code>mngr</code></em>
created
-with <a href="xmlsec-app.html#XMLSECCRYPTOAPPDEFAULTKEYSMNGRINIT"><span class="TYPE">xmlSecCryptoAppDefaultKeysMngrInit</span></a> function.</p>
-<div class="REFSECT3">
-<a name="AEN2520"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN2522"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+with <a class="link" href="xmlsec-app.html#xmlSecCryptoAppDefaultKeysMngrInit" title="xmlSecCryptoAppDefaultKeysMngrInit ()"><span class="type">xmlSecCryptoAppDefaultKeysMngrInit</span></a> function.</p>
+<div class="refsect3">
+<a name="xmlSecCryptoAppDefaultKeysMngrLoad.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>mngr</p></td>
-<td><p>the pointer to keys manager.</p></td>
-<td> </td>
+<td class="parameter_name"><p>mngr</p></td>
+<td class="parameter_description"><p>the pointer to keys manager.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>uri</p></td>
-<td><p>the uri.</p></td>
-<td> </td>
+<td class="parameter_name"><p>uri</p></td>
+<td class="parameter_description"><p>the uri.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN2537"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecCryptoAppDefaultKeysMngrLoad.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECCRYPTOAPPDEFAULTKEYSMNGRSAVE"></a><h3>xmlSecCryptoAppDefaultKeysMngrSave ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecCryptoAppDefaultKeysMngrSave (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>,
- <code class="PARAMETER">const <font><span class="TYPE">char</span></font> *filename</code>,
- <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATATYPE"><span class="TYPE">xmlSecKeyDataType</span></a> type</code>);</pre>
-<p>Saves keys from <code class="PARAMETER">mngr</code>
+<div class="refsect2">
+<a name="xmlSecCryptoAppDefaultKeysMngrSave"></a><h3>xmlSecCryptoAppDefaultKeysMngrSave ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecCryptoAppDefaultKeysMngrSave (<em class="parameter"><code><font><span class="type">xmlSecKeysMngrPtr</span></font> mngr</code></em>,
+ <em class="parameter"><code>const <font><span class="type">char</span></font> *filename</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataType" title="xmlSecKeyDataType"><span class="type">xmlSecKeyDataType</span></a> type</code></em>);</pre>
+<p>Saves keys from <em class="parameter"><code>mngr</code></em>
to XML keys file.</p>
-<div class="REFSECT3">
-<a name="AEN2558"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN2560"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecCryptoAppDefaultKeysMngrSave.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>mngr</p></td>
-<td><p>the pointer to keys manager.</p></td>
-<td> </td>
+<td class="parameter_name"><p>mngr</p></td>
+<td class="parameter_description"><p>the pointer to keys manager.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>filename</p></td>
-<td><p>the destination filename.</p></td>
-<td> </td>
+<td class="parameter_name"><p>filename</p></td>
+<td class="parameter_description"><p>the destination filename.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>type</p></td>
-<td><p>the type of keys to save (public/private/symmetric).</p></td>
-<td> </td>
+<td class="parameter_name"><p>type</p></td>
+<td class="parameter_description"><p>the type of keys to save (public/private/symmetric).</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN2581"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecCryptoAppDefaultKeysMngrSave.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECCRYPTOAPPKEYSMNGRCERTLOAD"></a><h3>xmlSecCryptoAppKeysMngrCertLoad ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecCryptoAppKeysMngrCertLoad (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>,
- <code class="PARAMETER">const <font><span class="TYPE">char</span></font> *filename</code>,
- <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT"><span class="TYPE">xmlSecKeyDataFormat</span></a> format</code>,
- <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATATYPE"><span class="TYPE">xmlSecKeyDataType</span></a> type</code>);</pre>
-<p>Reads cert from <code class="PARAMETER">filename</code>
+<div class="refsect2">
+<a name="xmlSecCryptoAppKeysMngrCertLoad"></a><h3>xmlSecCryptoAppKeysMngrCertLoad ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecCryptoAppKeysMngrCertLoad (<em class="parameter"><code><font><span class="type">xmlSecKeysMngrPtr</span></font> mngr</code></em>,
+ <em class="parameter"><code>const <font><span class="type">char</span></font> *filename</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataFormat" title="enum xmlSecKeyDataFormat"><span class="type">xmlSecKeyDataFormat</span></a> format</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataType" title="xmlSecKeyDataType"><span class="type">xmlSecKeyDataType</span></a> type</code></em>);</pre>
+<p>Reads cert from <em class="parameter"><code>filename</code></em>
and adds to the list of trusted or known
-untrusted certs in <code class="PARAMETER">store</code>
+untrusted certs in <em class="parameter"><code>store</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN2606"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN2608"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecCryptoAppKeysMngrCertLoad.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>mngr</p></td>
-<td><p>the keys manager.</p></td>
-<td> </td>
+<td class="parameter_name"><p>mngr</p></td>
+<td class="parameter_description"><p>the keys manager.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>filename</p></td>
-<td><p>the certificate file.</p></td>
-<td> </td>
+<td class="parameter_name"><p>filename</p></td>
+<td class="parameter_description"><p>the certificate file.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>format</p></td>
-<td><p>the certificate file format.</p></td>
-<td> </td>
+<td class="parameter_name"><p>format</p></td>
+<td class="parameter_description"><p>the certificate file format.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>type</p></td>
-<td><p>the flag that indicates is the certificate in <code class="PARAMETER">filename</code>
+<td class="parameter_name"><p>type</p></td>
+<td class="parameter_description"><p>the flag that indicates is the certificate in <em class="parameter"><code>filename</code></em>
trusted or not.</p></td>
-<td> </td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN2636"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecCryptoAppKeysMngrCertLoad.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECCRYPTOAPPKEYSMNGRCERTLOADMEMORY"></a><h3>xmlSecCryptoAppKeysMngrCertLoadMemory ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecCryptoAppKeysMngrCertLoadMemory (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>,
- <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>,
- <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> dataSize</code>,
- <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT"><span class="TYPE">xmlSecKeyDataFormat</span></a> format</code>,
- <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATATYPE"><span class="TYPE">xmlSecKeyDataType</span></a> type</code>);</pre>
-<p>Reads cert from binary buffer <code class="PARAMETER">data</code>
+<div class="refsect2">
+<a name="xmlSecCryptoAppKeysMngrCertLoadMemory"></a><h3>xmlSecCryptoAppKeysMngrCertLoadMemory ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecCryptoAppKeysMngrCertLoadMemory (<em class="parameter"><code><font><span class="type">xmlSecKeysMngrPtr</span></font> mngr</code></em>,
+ <em class="parameter"><code>const <a class="link" href="xmlsec-xmlsec.html#xmlSecByte" title="xmlSecByte"><span class="type">xmlSecByte</span></a> *data</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="type">xmlSecSize</span></a> dataSize</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataFormat" title="enum xmlSecKeyDataFormat"><span class="type">xmlSecKeyDataFormat</span></a> format</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataType" title="xmlSecKeyDataType"><span class="type">xmlSecKeyDataType</span></a> type</code></em>);</pre>
+<p>Reads cert from binary buffer <em class="parameter"><code>data</code></em>
and adds to the list of trusted or known
-untrusted certs in <code class="PARAMETER">store</code>
+untrusted certs in <em class="parameter"><code>store</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN2664"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN2666"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecCryptoAppKeysMngrCertLoadMemory.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>mngr</p></td>
-<td><p>the keys manager.</p></td>
-<td> </td>
+<td class="parameter_name"><p>mngr</p></td>
+<td class="parameter_description"><p>the keys manager.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>data</p></td>
-<td><p>the certificate binary data.</p></td>
-<td> </td>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the certificate binary data.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>dataSize</p></td>
-<td><p>the certificate binary data size.</p></td>
-<td> </td>
+<td class="parameter_name"><p>dataSize</p></td>
+<td class="parameter_description"><p>the certificate binary data size.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>format</p></td>
-<td><p>the certificate file format.</p></td>
-<td> </td>
+<td class="parameter_name"><p>format</p></td>
+<td class="parameter_description"><p>the certificate file format.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>type</p></td>
-<td><p>the flag that indicates is the certificate trusted or not.</p></td>
-<td> </td>
+<td class="parameter_name"><p>type</p></td>
+<td class="parameter_description"><p>the flag that indicates is the certificate trusted or not.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN2699"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecCryptoAppKeysMngrCertLoadMemory.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECCRYPTOAPPKEYLOAD"></a><h3>xmlSecCryptoAppKeyLoad ()</h3>
-<pre class="PROGRAMLISTING"><a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a>
-xmlSecCryptoAppKeyLoad (<code class="PARAMETER">const <font><span class="TYPE">char</span></font> *filename</code>,
- <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT"><span class="TYPE">xmlSecKeyDataFormat</span></a> format</code>,
- <code class="PARAMETER">const <font><span class="TYPE">char</span></font> *pwd</code>,
- <code class="PARAMETER"><font><span class="TYPE">void</span></font> *pwdCallback</code>,
- <code class="PARAMETER"><font><span class="TYPE">void</span></font> *pwdCallbackCtx</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecCryptoAppKeyLoad"></a><h3>xmlSecCryptoAppKeyLoad ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecKeyPtr</span></font>
+xmlSecCryptoAppKeyLoad (<em class="parameter"><code>const <font><span class="type">char</span></font> *filename</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataFormat" title="enum xmlSecKeyDataFormat"><span class="type">xmlSecKeyDataFormat</span></a> format</code></em>,
+ <em class="parameter"><code>const <font><span class="type">char</span></font> *pwd</code></em>,
+ <em class="parameter"><code><font><span class="type">void</span></font> *pwdCallback</code></em>,
+ <em class="parameter"><code><font><span class="type">void</span></font> *pwdCallbackCtx</code></em>);</pre>
<p>Reads key from the a file.</p>
-<div class="REFSECT3">
-<a name="AEN2725"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN2727"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecCryptoAppKeyLoad.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>filename</p></td>
-<td><p>the key filename.</p></td>
-<td> </td>
+<td class="parameter_name"><p>filename</p></td>
+<td class="parameter_description"><p>the key filename.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>format</p></td>
-<td><p>the key file format.</p></td>
-<td> </td>
+<td class="parameter_name"><p>format</p></td>
+<td class="parameter_description"><p>the key file format.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>pwd</p></td>
-<td><p>the key file password.</p></td>
-<td> </td>
+<td class="parameter_name"><p>pwd</p></td>
+<td class="parameter_description"><p>the key file password.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>pwdCallback</p></td>
-<td><p>the key password callback.</p></td>
-<td> </td>
+<td class="parameter_name"><p>pwdCallback</p></td>
+<td class="parameter_description"><p>the key password callback.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>pwdCallbackCtx</p></td>
-<td><p>the user context for password callback.</p></td>
-<td> </td>
+<td class="parameter_name"><p>pwdCallbackCtx</p></td>
+<td class="parameter_description"><p>the user context for password callback.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN2760"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecCryptoAppKeyLoad.returns"></a><h4>Returns</h4>
<p> pointer to the key or NULL if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECCRYPTOAPPKEYLOADMEMORY"></a><h3>xmlSecCryptoAppKeyLoadMemory ()</h3>
-<pre class="PROGRAMLISTING"><a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a>
-xmlSecCryptoAppKeyLoadMemory (<code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>,
- <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> dataSize</code>,
- <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT"><span class="TYPE">xmlSecKeyDataFormat</span></a> format</code>,
- <code class="PARAMETER">const <font><span class="TYPE">char</span></font> *pwd</code>,
- <code class="PARAMETER"><font><span class="TYPE">void</span></font> *pwdCallback</code>,
- <code class="PARAMETER"><font><span class="TYPE">void</span></font> *pwdCallbackCtx</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecCryptoAppKeyLoadMemory"></a><h3>xmlSecCryptoAppKeyLoadMemory ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecKeyPtr</span></font>
+xmlSecCryptoAppKeyLoadMemory (<em class="parameter"><code>const <a class="link" href="xmlsec-xmlsec.html#xmlSecByte" title="xmlSecByte"><span class="type">xmlSecByte</span></a> *data</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="type">xmlSecSize</span></a> dataSize</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataFormat" title="enum xmlSecKeyDataFormat"><span class="type">xmlSecKeyDataFormat</span></a> format</code></em>,
+ <em class="parameter"><code>const <font><span class="type">char</span></font> *pwd</code></em>,
+ <em class="parameter"><code><font><span class="type">void</span></font> *pwdCallback</code></em>,
+ <em class="parameter"><code><font><span class="type">void</span></font> *pwdCallbackCtx</code></em>);</pre>
<p>Reads key from the memory buffer.</p>
-<div class="REFSECT3">
-<a name="AEN2789"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN2791"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecCryptoAppKeyLoadMemory.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>data</p></td>
-<td><p>the binary key data.</p></td>
-<td> </td>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the binary key data.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>dataSize</p></td>
-<td><p>the size of binary key.</p></td>
-<td> </td>
+<td class="parameter_name"><p>dataSize</p></td>
+<td class="parameter_description"><p>the size of binary key.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>format</p></td>
-<td><p>the key file format.</p></td>
-<td> </td>
+<td class="parameter_name"><p>format</p></td>
+<td class="parameter_description"><p>the key file format.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>pwd</p></td>
-<td><p>the key file password.</p></td>
-<td> </td>
+<td class="parameter_name"><p>pwd</p></td>
+<td class="parameter_description"><p>the key file password.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>pwdCallback</p></td>
-<td><p>the key password callback.</p></td>
-<td> </td>
+<td class="parameter_name"><p>pwdCallback</p></td>
+<td class="parameter_description"><p>the key password callback.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>pwdCallbackCtx</p></td>
-<td><p>the user context for password callback.</p></td>
-<td> </td>
+<td class="parameter_name"><p>pwdCallbackCtx</p></td>
+<td class="parameter_description"><p>the user context for password callback.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN2830"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecCryptoAppKeyLoadMemory.returns"></a><h4>Returns</h4>
<p> pointer to the key or NULL if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECCRYPTOAPPPKCS12LOAD"></a><h3>xmlSecCryptoAppPkcs12Load ()</h3>
-<pre class="PROGRAMLISTING"><a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a>
-xmlSecCryptoAppPkcs12Load (<code class="PARAMETER">const <font><span class="TYPE">char</span></font> *filename</code>,
- <code class="PARAMETER">const <font><span class="TYPE">char</span></font> *pwd</code>,
- <code class="PARAMETER"><font><span class="TYPE">void</span></font> *pwdCallback</code>,
- <code class="PARAMETER"><font><span class="TYPE">void</span></font> *pwdCallbackCtx</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecCryptoAppPkcs12Load"></a><h3>xmlSecCryptoAppPkcs12Load ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecKeyPtr</span></font>
+xmlSecCryptoAppPkcs12Load (<em class="parameter"><code>const <font><span class="type">char</span></font> *filename</code></em>,
+ <em class="parameter"><code>const <font><span class="type">char</span></font> *pwd</code></em>,
+ <em class="parameter"><code><font><span class="type">void</span></font> *pwdCallback</code></em>,
+ <em class="parameter"><code><font><span class="type">void</span></font> *pwdCallbackCtx</code></em>);</pre>
<p>Reads key and all associated certificates from the PKCS12 file.
For uniformity, call xmlSecCryptoAppKeyLoad instead of this function. Pass
in format=xmlSecKeyDataFormatPkcs12.</p>
-<div class="REFSECT3">
-<a name="AEN2853"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN2855"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecCryptoAppPkcs12Load.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>filename</p></td>
-<td><p>the PKCS12 key filename.</p></td>
-<td> </td>
+<td class="parameter_name"><p>filename</p></td>
+<td class="parameter_description"><p>the PKCS12 key filename.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>pwd</p></td>
-<td><p>the PKCS12 file password.</p></td>
-<td> </td>
+<td class="parameter_name"><p>pwd</p></td>
+<td class="parameter_description"><p>the PKCS12 file password.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>pwdCallback</p></td>
-<td><p>the password callback.</p></td>
-<td> </td>
+<td class="parameter_name"><p>pwdCallback</p></td>
+<td class="parameter_description"><p>the password callback.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>pwdCallbackCtx</p></td>
-<td><p>the user context for password callback.</p></td>
-<td> </td>
+<td class="parameter_name"><p>pwdCallbackCtx</p></td>
+<td class="parameter_description"><p>the user context for password callback.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN2882"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecCryptoAppPkcs12Load.returns"></a><h4>Returns</h4>
<p> pointer to the key or NULL if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECCRYPTOAPPPKCS12LOADMEMORY"></a><h3>xmlSecCryptoAppPkcs12LoadMemory ()</h3>
-<pre class="PROGRAMLISTING"><a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a>
-xmlSecCryptoAppPkcs12LoadMemory (<code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>,
- <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> dataSize</code>,
- <code class="PARAMETER">const <font><span class="TYPE">char</span></font> *pwd</code>,
- <code class="PARAMETER"><font><span class="TYPE">void</span></font> *pwdCallback</code>,
- <code class="PARAMETER"><font><span class="TYPE">void</span></font> *pwdCallbackCtx</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecCryptoAppPkcs12LoadMemory"></a><h3>xmlSecCryptoAppPkcs12LoadMemory ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecKeyPtr</span></font>
+xmlSecCryptoAppPkcs12LoadMemory (<em class="parameter"><code>const <a class="link" href="xmlsec-xmlsec.html#xmlSecByte" title="xmlSecByte"><span class="type">xmlSecByte</span></a> *data</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="type">xmlSecSize</span></a> dataSize</code></em>,
+ <em class="parameter"><code>const <font><span class="type">char</span></font> *pwd</code></em>,
+ <em class="parameter"><code><font><span class="type">void</span></font> *pwdCallback</code></em>,
+ <em class="parameter"><code><font><span class="type">void</span></font> *pwdCallbackCtx</code></em>);</pre>
<p>Reads key and all associated certificates from the PKCS12 data in memory buffer.
For uniformity, call xmlSecCryptoAppKeyLoadMemory instead of this function. Pass
in format=xmlSecKeyDataFormatPkcs12.</p>
-<div class="REFSECT3">
-<a name="AEN2908"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN2910"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecCryptoAppPkcs12LoadMemory.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>data</p></td>
-<td><p>the PKCS12 binary data.</p></td>
-<td> </td>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the PKCS12 binary data.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>dataSize</p></td>
-<td><p>the PKCS12 binary data size.</p></td>
-<td> </td>
+<td class="parameter_name"><p>dataSize</p></td>
+<td class="parameter_description"><p>the PKCS12 binary data size.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>pwd</p></td>
-<td><p>the PKCS12 file password.</p></td>
-<td> </td>
+<td class="parameter_name"><p>pwd</p></td>
+<td class="parameter_description"><p>the PKCS12 file password.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>pwdCallback</p></td>
-<td><p>the password callback.</p></td>
-<td> </td>
+<td class="parameter_name"><p>pwdCallback</p></td>
+<td class="parameter_description"><p>the password callback.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>pwdCallbackCtx</p></td>
-<td><p>the user context for password callback.</p></td>
-<td> </td>
+<td class="parameter_name"><p>pwdCallbackCtx</p></td>
+<td class="parameter_description"><p>the user context for password callback.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN2943"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecCryptoAppPkcs12LoadMemory.returns"></a><h4>Returns</h4>
<p> pointer to the key or NULL if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECCRYPTOAPPKEYCERTLOAD"></a><h3>xmlSecCryptoAppKeyCertLoad ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecCryptoAppKeyCertLoad (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>,
- <code class="PARAMETER">const <font><span class="TYPE">char</span></font> *filename</code>,
- <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT"><span class="TYPE">xmlSecKeyDataFormat</span></a> format</code>);</pre>
-<p>Reads the certificate from $<code class="PARAMETER">filename</code>
+<div class="refsect2">
+<a name="xmlSecCryptoAppKeyCertLoad"></a><h3>xmlSecCryptoAppKeyCertLoad ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecCryptoAppKeyCertLoad (<em class="parameter"><code><font><span class="type">xmlSecKeyPtr</span></font> key</code></em>,
+ <em class="parameter"><code>const <font><span class="type">char</span></font> *filename</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataFormat" title="enum xmlSecKeyDataFormat"><span class="type">xmlSecKeyDataFormat</span></a> format</code></em>);</pre>
+<p>Reads the certificate from $<em class="parameter"><code>filename</code></em>
and adds it to key.</p>
-<div class="REFSECT3">
-<a name="AEN2964"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN2966"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecCryptoAppKeyCertLoad.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>key</p></td>
-<td><p>the pointer to key.</p></td>
-<td> </td>
+<td class="parameter_name"><p>key</p></td>
+<td class="parameter_description"><p>the pointer to key.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>filename</p></td>
-<td><p>the certificate filename.</p></td>
-<td> </td>
+<td class="parameter_name"><p>filename</p></td>
+<td class="parameter_description"><p>the certificate filename.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>format</p></td>
-<td><p>the certificate file format.</p></td>
-<td> </td>
+<td class="parameter_name"><p>format</p></td>
+<td class="parameter_description"><p>the certificate file format.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN2987"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecCryptoAppKeyCertLoad.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECCRYPTOAPPKEYCERTLOADMEMORY"></a><h3>xmlSecCryptoAppKeyCertLoadMemory ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecCryptoAppKeyCertLoadMemory (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>,
- <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>,
- <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> dataSize</code>,
- <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT"><span class="TYPE">xmlSecKeyDataFormat</span></a> format</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecCryptoAppKeyCertLoadMemory"></a><h3>xmlSecCryptoAppKeyCertLoadMemory ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecCryptoAppKeyCertLoadMemory (<em class="parameter"><code><font><span class="type">xmlSecKeyPtr</span></font> key</code></em>,
+ <em class="parameter"><code>const <a class="link" href="xmlsec-xmlsec.html#xmlSecByte" title="xmlSecByte"><span class="type">xmlSecByte</span></a> *data</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="type">xmlSecSize</span></a> dataSize</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataFormat" title="enum xmlSecKeyDataFormat"><span class="type">xmlSecKeyDataFormat</span></a> format</code></em>);</pre>
<p>Reads the certificate from memory buffer and adds it to key.</p>
-<div class="REFSECT3">
-<a name="AEN3010"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN3012"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecCryptoAppKeyCertLoadMemory.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>key</p></td>
-<td><p>the pointer to key.</p></td>
-<td> </td>
+<td class="parameter_name"><p>key</p></td>
+<td class="parameter_description"><p>the pointer to key.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>data</p></td>
-<td><p>the certificate binary data.</p></td>
-<td> </td>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the certificate binary data.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>dataSize</p></td>
-<td><p>the certificate binary data size.</p></td>
-<td> </td>
+<td class="parameter_name"><p>dataSize</p></td>
+<td class="parameter_description"><p>the certificate binary data size.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>format</p></td>
-<td><p>the certificate file format.</p></td>
-<td> </td>
+<td class="parameter_name"><p>format</p></td>
+<td class="parameter_description"><p>the certificate file format.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN3039"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecCryptoAppKeyCertLoadMemory.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECCRYPTOAPPGETDEFAULTPWDCALLBACK"></a><h3>xmlSecCryptoAppGetDefaultPwdCallback ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">void</span></font> *
-xmlSecCryptoAppGetDefaultPwdCallback (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecCryptoAppGetDefaultPwdCallback"></a><h3>xmlSecCryptoAppGetDefaultPwdCallback ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">void</span></font> *
+xmlSecCryptoAppGetDefaultPwdCallback (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>Gets default password callback.</p>
-<div class="REFSECT3">
-<a name="AEN3052"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecCryptoAppGetDefaultPwdCallback.returns"></a><h4>Returns</h4>
<p> default password callback.</p>
</div>
</div>
</div>
-<div class="REFSECT1">
-<a name="XMLSEC-APP.OTHER_DETAILS"></a><h2>Types and Values</h2>
-<div class="REFSECT2">
-<a name="XMLSECKEYDATAAESID"></a><h3>xmlSecKeyDataAesId</h3>
-<pre class="PROGRAMLISTING">#define xmlSecKeyDataAesId xmlSecKeyDataAesGetKlass()</pre>
+<div class="refsect1">
+<a name="xmlsec-app.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="xmlSecKeyDataAesId"></a><h3>xmlSecKeyDataAesId</h3>
+<pre class="programlisting">#define xmlSecKeyDataAesId xmlSecKeyDataAesGetKlass()
+</pre>
<p>The AES key klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYDATADESID"></a><h3>xmlSecKeyDataDesId</h3>
-<pre class="PROGRAMLISTING">#define xmlSecKeyDataDesId xmlSecKeyDataDesGetKlass()</pre>
+<div class="refsect2">
+<a name="xmlSecKeyDataDesId"></a><h3>xmlSecKeyDataDesId</h3>
+<pre class="programlisting">#define xmlSecKeyDataDesId xmlSecKeyDataDesGetKlass()
+</pre>
<p>The DES key klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYDATADSAID"></a><h3>xmlSecKeyDataDsaId</h3>
-<pre class="PROGRAMLISTING">#define xmlSecKeyDataDsaId xmlSecKeyDataDsaGetKlass()</pre>
+<div class="refsect2">
+<a name="xmlSecKeyDataDsaId"></a><h3>xmlSecKeyDataDsaId</h3>
+<pre class="programlisting">#define xmlSecKeyDataDsaId xmlSecKeyDataDsaGetKlass()
+</pre>
<p>The DSA key klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYDATAECDSAID"></a><h3>xmlSecKeyDataEcdsaId</h3>
-<pre class="PROGRAMLISTING">#define xmlSecKeyDataEcdsaId xmlSecKeyDataEcdsaGetKlass()</pre>
+<div class="refsect2">
+<a name="xmlSecKeyDataEcdsaId"></a><h3>xmlSecKeyDataEcdsaId</h3>
+<pre class="programlisting">#define xmlSecKeyDataEcdsaId xmlSecKeyDataEcdsaGetKlass()
+</pre>
<p>The ECDSA key klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYDATAGOST2001ID"></a><h3>xmlSecKeyDataGost2001Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecKeyDataGost2001Id xmlSecKeyDataGost2001GetKlass()</pre>
+<div class="refsect2">
+<a name="xmlSecKeyDataGost2001Id"></a><h3>xmlSecKeyDataGost2001Id</h3>
+<pre class="programlisting">#define xmlSecKeyDataGost2001Id xmlSecKeyDataGost2001GetKlass()
+</pre>
<p>The GOST2001 key klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYDATAGOSTR3410-2012-256ID"></a><h3>xmlSecKeyDataGostR3410_2012_256Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecKeyDataGostR3410_2012_256Id xmlSecKeyDataGostR3410_2012_256GetKlass()</pre>
+<div class="refsect2">
+<a name="xmlSecKeyDataGostR3410-2012-256Id"></a><h3>xmlSecKeyDataGostR3410_2012_256Id</h3>
+<pre class="programlisting">#define xmlSecKeyDataGostR3410_2012_256Id xmlSecKeyDataGostR3410_2012_256GetKlass()
+</pre>
<p>The GOST R 34.10-2012 256 bit key klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYDATAGOSTR3410-2012-512ID"></a><h3>xmlSecKeyDataGostR3410_2012_512Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecKeyDataGostR3410_2012_512Id xmlSecKeyDataGostR3410_2012_512GetKlass()</pre>
+<div class="refsect2">
+<a name="xmlSecKeyDataGostR3410-2012-512Id"></a><h3>xmlSecKeyDataGostR3410_2012_512Id</h3>
+<pre class="programlisting">#define xmlSecKeyDataGostR3410_2012_512Id xmlSecKeyDataGostR3410_2012_512GetKlass()
+</pre>
<p>The GOST R 34.10-2012 512 bit key klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYDATAHMACID"></a><h3>xmlSecKeyDataHmacId</h3>
-<pre class="PROGRAMLISTING">#define xmlSecKeyDataHmacId xmlSecKeyDataHmacGetKlass()</pre>
+<div class="refsect2">
+<a name="xmlSecKeyDataHmacId"></a><h3>xmlSecKeyDataHmacId</h3>
+<pre class="programlisting">#define xmlSecKeyDataHmacId xmlSecKeyDataHmacGetKlass()
+</pre>
<p>The DHMAC key klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYDATARSAID"></a><h3>xmlSecKeyDataRsaId</h3>
-<pre class="PROGRAMLISTING">#define xmlSecKeyDataRsaId xmlSecKeyDataRsaGetKlass()</pre>
+<div class="refsect2">
+<a name="xmlSecKeyDataRsaId"></a><h3>xmlSecKeyDataRsaId</h3>
+<pre class="programlisting">#define xmlSecKeyDataRsaId xmlSecKeyDataRsaGetKlass()
+</pre>
<p>The RSA key klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYDATAX509ID"></a><h3>xmlSecKeyDataX509Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecKeyDataX509Id xmlSecKeyDataX509GetKlass()</pre>
+<div class="refsect2">
+<a name="xmlSecKeyDataX509Id"></a><h3>xmlSecKeyDataX509Id</h3>
+<pre class="programlisting">#define xmlSecKeyDataX509Id xmlSecKeyDataX509GetKlass()
+</pre>
<p>The X509 data klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYDATARAWX509CERTID"></a><h3>xmlSecKeyDataRawX509CertId</h3>
-<pre class="PROGRAMLISTING">#define xmlSecKeyDataRawX509CertId xmlSecKeyDataRawX509CertGetKlass()</pre>
+<div class="refsect2">
+<a name="xmlSecKeyDataRawX509CertId"></a><h3>xmlSecKeyDataRawX509CertId</h3>
+<pre class="programlisting">#define xmlSecKeyDataRawX509CertId xmlSecKeyDataRawX509CertGetKlass()
+</pre>
<p>The raw X509 certificate klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECX509STOREID"></a><h3>xmlSecX509StoreId</h3>
-<pre class="PROGRAMLISTING">#define xmlSecX509StoreId xmlSecX509StoreGetKlass()</pre>
+<div class="refsect2">
+<a name="xmlSecX509StoreId"></a><h3>xmlSecX509StoreId</h3>
+<pre class="programlisting">#define xmlSecX509StoreId xmlSecX509StoreGetKlass()
+</pre>
<p>The X509 store klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMAES128CBCID"></a><h3>xmlSecTransformAes128CbcId</h3>
-<pre class="PROGRAMLISTING">#define xmlSecTransformAes128CbcId xmlSecTransformAes128CbcGetKlass()</pre>
+<div class="refsect2">
+<a name="xmlSecTransformAes128CbcId"></a><h3>xmlSecTransformAes128CbcId</h3>
+<pre class="programlisting">#define xmlSecTransformAes128CbcId xmlSecTransformAes128CbcGetKlass()
+</pre>
<p>The AES128 CBC cipher transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMAES192CBCID"></a><h3>xmlSecTransformAes192CbcId</h3>
-<pre class="PROGRAMLISTING">#define xmlSecTransformAes192CbcId xmlSecTransformAes192CbcGetKlass()</pre>
+<div class="refsect2">
+<a name="xmlSecTransformAes192CbcId"></a><h3>xmlSecTransformAes192CbcId</h3>
+<pre class="programlisting">#define xmlSecTransformAes192CbcId xmlSecTransformAes192CbcGetKlass()
+</pre>
<p>The AES192 CBC cipher transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMAES256CBCID"></a><h3>xmlSecTransformAes256CbcId</h3>
-<pre class="PROGRAMLISTING">#define xmlSecTransformAes256CbcId xmlSecTransformAes256CbcGetKlass()</pre>
+<div class="refsect2">
+<a name="xmlSecTransformAes256CbcId"></a><h3>xmlSecTransformAes256CbcId</h3>
+<pre class="programlisting">#define xmlSecTransformAes256CbcId xmlSecTransformAes256CbcGetKlass()
+</pre>
<p>The AES256 CBC cipher transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMKWAES128ID"></a><h3>xmlSecTransformKWAes128Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecTransformKWAes128Id xmlSecTransformKWAes128GetKlass()</pre>
+<div class="refsect2">
+<a name="xmlSecTransformKWAes128Id"></a><h3>xmlSecTransformKWAes128Id</h3>
+<pre class="programlisting">#define xmlSecTransformKWAes128Id xmlSecTransformKWAes128GetKlass()
+</pre>
<p>The AES 128 key wrap transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMKWAES192ID"></a><h3>xmlSecTransformKWAes192Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecTransformKWAes192Id xmlSecTransformKWAes192GetKlass()</pre>
+<div class="refsect2">
+<a name="xmlSecTransformKWAes192Id"></a><h3>xmlSecTransformKWAes192Id</h3>
+<pre class="programlisting">#define xmlSecTransformKWAes192Id xmlSecTransformKWAes192GetKlass()
+</pre>
<p>The AES 192 key wrap transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMKWAES256ID"></a><h3>xmlSecTransformKWAes256Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecTransformKWAes256Id xmlSecTransformKWAes256GetKlass()</pre>
+<div class="refsect2">
+<a name="xmlSecTransformKWAes256Id"></a><h3>xmlSecTransformKWAes256Id</h3>
+<pre class="programlisting">#define xmlSecTransformKWAes256Id xmlSecTransformKWAes256GetKlass()
+</pre>
<p>The AES 256 key wrap transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMDES3CBCID"></a><h3>xmlSecTransformDes3CbcId</h3>
-<pre class="PROGRAMLISTING">#define xmlSecTransformDes3CbcId xmlSecTransformDes3CbcGetKlass()</pre>
+<div class="refsect2">
+<a name="xmlSecTransformDes3CbcId"></a><h3>xmlSecTransformDes3CbcId</h3>
+<pre class="programlisting">#define xmlSecTransformDes3CbcId xmlSecTransformDes3CbcGetKlass()
+</pre>
<p>The Triple DES encryption transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMKWDES3ID"></a><h3>xmlSecTransformKWDes3Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecTransformKWDes3Id xmlSecTransformKWDes3GetKlass()</pre>
+<div class="refsect2">
+<a name="xmlSecTransformKWDes3Id"></a><h3>xmlSecTransformKWDes3Id</h3>
+<pre class="programlisting">#define xmlSecTransformKWDes3Id xmlSecTransformKWDes3GetKlass()
+</pre>
<p>The DES3 CBC cipher transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMDSASHA1ID"></a><h3>xmlSecTransformDsaSha1Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecTransformDsaSha1Id xmlSecTransformDsaSha1GetKlass()</pre>
+<div class="refsect2">
+<a name="xmlSecTransformDsaSha1Id"></a><h3>xmlSecTransformDsaSha1Id</h3>
+<pre class="programlisting">#define xmlSecTransformDsaSha1Id xmlSecTransformDsaSha1GetKlass()
+</pre>
<p>The DSA-SHA1 signature transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMDSASHA256ID"></a><h3>xmlSecTransformDsaSha256Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecTransformDsaSha256Id xmlSecTransformDsaSha256GetKlass()</pre>
+<div class="refsect2">
+<a name="xmlSecTransformDsaSha256Id"></a><h3>xmlSecTransformDsaSha256Id</h3>
+<pre class="programlisting">#define xmlSecTransformDsaSha256Id xmlSecTransformDsaSha256GetKlass()
+</pre>
<p>The DSA-SHA256 signature transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMECDSASHA1ID"></a><h3>xmlSecTransformEcdsaSha1Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecTransformEcdsaSha1Id xmlSecTransformEcdsaSha1GetKlass()</pre>
+<div class="refsect2">
+<a name="xmlSecTransformEcdsaSha1Id"></a><h3>xmlSecTransformEcdsaSha1Id</h3>
+<pre class="programlisting">#define xmlSecTransformEcdsaSha1Id xmlSecTransformEcdsaSha1GetKlass()
+</pre>
<p>The ECDSA-SHA1 signature transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMECDSASHA224ID"></a><h3>xmlSecTransformEcdsaSha224Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecTransformEcdsaSha224Id xmlSecTransformEcdsaSha224GetKlass()</pre>
+<div class="refsect2">
+<a name="xmlSecTransformEcdsaSha224Id"></a><h3>xmlSecTransformEcdsaSha224Id</h3>
+<pre class="programlisting">#define xmlSecTransformEcdsaSha224Id xmlSecTransformEcdsaSha224GetKlass()
+</pre>
<p>The ECDSA-SHA224 signature transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMECDSASHA256ID"></a><h3>xmlSecTransformEcdsaSha256Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecTransformEcdsaSha256Id xmlSecTransformEcdsaSha256GetKlass()</pre>
+<div class="refsect2">
+<a name="xmlSecTransformEcdsaSha256Id"></a><h3>xmlSecTransformEcdsaSha256Id</h3>
+<pre class="programlisting">#define xmlSecTransformEcdsaSha256Id xmlSecTransformEcdsaSha256GetKlass()
+</pre>
<p>The ECDSA-SHA256 signature transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMECDSASHA384ID"></a><h3>xmlSecTransformEcdsaSha384Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecTransformEcdsaSha384Id xmlSecTransformEcdsaSha384GetKlass()</pre>
+<div class="refsect2">
+<a name="xmlSecTransformEcdsaSha384Id"></a><h3>xmlSecTransformEcdsaSha384Id</h3>
+<pre class="programlisting">#define xmlSecTransformEcdsaSha384Id xmlSecTransformEcdsaSha384GetKlass()
+</pre>
<p>The ECDS-SHA384 signature transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMECDSASHA512ID"></a><h3>xmlSecTransformEcdsaSha512Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecTransformEcdsaSha512Id xmlSecTransformEcdsaSha512GetKlass()</pre>
+<div class="refsect2">
+<a name="xmlSecTransformEcdsaSha512Id"></a><h3>xmlSecTransformEcdsaSha512Id</h3>
+<pre class="programlisting">#define xmlSecTransformEcdsaSha512Id xmlSecTransformEcdsaSha512GetKlass()
+</pre>
<p>The ECDSA-SHA512 signature transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMGOST2001GOSTR3411-94ID"></a><h3>xmlSecTransformGost2001GostR3411_94Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecTransformGost2001GostR3411_94Id xmlSecTransformGost2001GostR3411_94GetKlass()</pre>
+<div class="refsect2">
+<a name="xmlSecTransformGost2001GostR3411-94Id"></a><h3>xmlSecTransformGost2001GostR3411_94Id</h3>
+<pre class="programlisting">#define xmlSecTransformGost2001GostR3411_94Id xmlSecTransformGost2001GostR3411_94GetKlass()
+</pre>
<p>The GOST2001-GOSTR3411_94 signature transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMGOSTR3410-2012GOSTR3411-2012-256ID"></a><h3>xmlSecTransformGostR3410_2012GostR3411_2012_256Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecTransformGostR3410_2012GostR3411_2012_256Id xmlSecTransformGostR3410_2012GostR3411_2012_256GetKlass()</pre>
+<div class="refsect2">
+<a name="xmlSecTransformGostR3410-2012GostR3411-2012-256Id"></a><h3>xmlSecTransformGostR3410_2012GostR3411_2012_256Id</h3>
+<pre class="programlisting">#define xmlSecTransformGostR3410_2012GostR3411_2012_256Id xmlSecTransformGostR3410_2012GostR3411_2012_256GetKlass()
+</pre>
<p>The GOST R 34.10-2012 - GOST R 34.11-2012 256 bit signature transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMGOSTR3410-2012GOSTR3411-2012-512ID"></a><h3>xmlSecTransformGostR3410_2012GostR3411_2012_512Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecTransformGostR3410_2012GostR3411_2012_512Id xmlSecTransformGostR3410_2012GostR3411_2012_512GetKlass()</pre>
+<div class="refsect2">
+<a name="xmlSecTransformGostR3410-2012GostR3411-2012-512Id"></a><h3>xmlSecTransformGostR3410_2012GostR3411_2012_512Id</h3>
+<pre class="programlisting">#define xmlSecTransformGostR3410_2012GostR3411_2012_512Id xmlSecTransformGostR3410_2012GostR3411_2012_512GetKlass()
+</pre>
<p>The GOST R 34.10-2012 - GOST R 34.11-2012 512 bit signature transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMHMACMD5ID"></a><h3>xmlSecTransformHmacMd5Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecTransformHmacMd5Id xmlSecTransformHmacMd5GetKlass()</pre>
+<div class="refsect2">
+<a name="xmlSecTransformHmacMd5Id"></a><h3>xmlSecTransformHmacMd5Id</h3>
+<pre class="programlisting">#define xmlSecTransformHmacMd5Id xmlSecTransformHmacMd5GetKlass()
+</pre>
<p>The HMAC with MD5 signature transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMHMACRIPEMD160ID"></a><h3>xmlSecTransformHmacRipemd160Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecTransformHmacRipemd160Id xmlSecTransformHmacRipemd160GetKlass()</pre>
+<div class="refsect2">
+<a name="xmlSecTransformHmacRipemd160Id"></a><h3>xmlSecTransformHmacRipemd160Id</h3>
+<pre class="programlisting">#define xmlSecTransformHmacRipemd160Id xmlSecTransformHmacRipemd160GetKlass()
+</pre>
<p>The HMAC with RipeMD160 signature transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMHMACSHA1ID"></a><h3>xmlSecTransformHmacSha1Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecTransformHmacSha1Id xmlSecTransformHmacSha1GetKlass()</pre>
+<div class="refsect2">
+<a name="xmlSecTransformHmacSha1Id"></a><h3>xmlSecTransformHmacSha1Id</h3>
+<pre class="programlisting">#define xmlSecTransformHmacSha1Id xmlSecTransformHmacSha1GetKlass()
+</pre>
<p>The HMAC with SHA1 signature transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMHMACSHA224ID"></a><h3>xmlSecTransformHmacSha224Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecTransformHmacSha224Id xmlSecTransformHmacSha224GetKlass()</pre>
+<div class="refsect2">
+<a name="xmlSecTransformHmacSha224Id"></a><h3>xmlSecTransformHmacSha224Id</h3>
+<pre class="programlisting">#define xmlSecTransformHmacSha224Id xmlSecTransformHmacSha224GetKlass()
+</pre>
<p>The HMAC with SHA224 signature transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMHMACSHA256ID"></a><h3>xmlSecTransformHmacSha256Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecTransformHmacSha256Id xmlSecTransformHmacSha256GetKlass()</pre>
+<div class="refsect2">
+<a name="xmlSecTransformHmacSha256Id"></a><h3>xmlSecTransformHmacSha256Id</h3>
+<pre class="programlisting">#define xmlSecTransformHmacSha256Id xmlSecTransformHmacSha256GetKlass()
+</pre>
<p>The HMAC with SHA256 signature transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMHMACSHA384ID"></a><h3>xmlSecTransformHmacSha384Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecTransformHmacSha384Id xmlSecTransformHmacSha384GetKlass()</pre>
+<div class="refsect2">
+<a name="xmlSecTransformHmacSha384Id"></a><h3>xmlSecTransformHmacSha384Id</h3>
+<pre class="programlisting">#define xmlSecTransformHmacSha384Id xmlSecTransformHmacSha384GetKlass()
+</pre>
<p>The HMAC with SHA384 signature transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMHMACSHA512ID"></a><h3>xmlSecTransformHmacSha512Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecTransformHmacSha512Id xmlSecTransformHmacSha512GetKlass()</pre>
+<div class="refsect2">
+<a name="xmlSecTransformHmacSha512Id"></a><h3>xmlSecTransformHmacSha512Id</h3>
+<pre class="programlisting">#define xmlSecTransformHmacSha512Id xmlSecTransformHmacSha512GetKlass()
+</pre>
<p>The HMAC with SHA512 signature transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMMD5ID"></a><h3>xmlSecTransformMd5Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecTransformMd5Id xmlSecTransformMd5GetKlass()</pre>
+<div class="refsect2">
+<a name="xmlSecTransformMd5Id"></a><h3>xmlSecTransformMd5Id</h3>
+<pre class="programlisting">#define xmlSecTransformMd5Id xmlSecTransformMd5GetKlass()
+</pre>
<p>The MD5 digest transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMRIPEMD160ID"></a><h3>xmlSecTransformRipemd160Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecTransformRipemd160Id xmlSecTransformRipemd160GetKlass()</pre>
+<div class="refsect2">
+<a name="xmlSecTransformRipemd160Id"></a><h3>xmlSecTransformRipemd160Id</h3>
+<pre class="programlisting">#define xmlSecTransformRipemd160Id xmlSecTransformRipemd160GetKlass()
+</pre>
<p>The RIPEMD160 digest transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMRSAMD5ID"></a><h3>xmlSecTransformRsaMd5Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecTransformRsaMd5Id xmlSecTransformRsaMd5GetKlass()</pre>
+<div class="refsect2">
+<a name="xmlSecTransformRsaMd5Id"></a><h3>xmlSecTransformRsaMd5Id</h3>
+<pre class="programlisting">#define xmlSecTransformRsaMd5Id xmlSecTransformRsaMd5GetKlass()
+</pre>
<p>The RSA-MD5 signature transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMRSARIPEMD160ID"></a><h3>xmlSecTransformRsaRipemd160Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecTransformRsaRipemd160Id xmlSecTransformRsaRipemd160GetKlass()</pre>
+<div class="refsect2">
+<a name="xmlSecTransformRsaRipemd160Id"></a><h3>xmlSecTransformRsaRipemd160Id</h3>
+<pre class="programlisting">#define xmlSecTransformRsaRipemd160Id xmlSecTransformRsaRipemd160GetKlass()
+</pre>
<p>The RSA-RIPEMD160 signature transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMRSASHA1ID"></a><h3>xmlSecTransformRsaSha1Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecTransformRsaSha1Id xmlSecTransformRsaSha1GetKlass()</pre>
+<div class="refsect2">
+<a name="xmlSecTransformRsaSha1Id"></a><h3>xmlSecTransformRsaSha1Id</h3>
+<pre class="programlisting">#define xmlSecTransformRsaSha1Id xmlSecTransformRsaSha1GetKlass()
+</pre>
<p>The RSA-SHA1 signature transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMRSASHA224ID"></a><h3>xmlSecTransformRsaSha224Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecTransformRsaSha224Id xmlSecTransformRsaSha224GetKlass()</pre>
+<div class="refsect2">
+<a name="xmlSecTransformRsaSha224Id"></a><h3>xmlSecTransformRsaSha224Id</h3>
+<pre class="programlisting">#define xmlSecTransformRsaSha224Id xmlSecTransformRsaSha224GetKlass()
+</pre>
<p>The RSA-SHA224 signature transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMRSASHA256ID"></a><h3>xmlSecTransformRsaSha256Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecTransformRsaSha256Id xmlSecTransformRsaSha256GetKlass()</pre>
+<div class="refsect2">
+<a name="xmlSecTransformRsaSha256Id"></a><h3>xmlSecTransformRsaSha256Id</h3>
+<pre class="programlisting">#define xmlSecTransformRsaSha256Id xmlSecTransformRsaSha256GetKlass()
+</pre>
<p>The RSA-SHA256 signature transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMRSASHA384ID"></a><h3>xmlSecTransformRsaSha384Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecTransformRsaSha384Id xmlSecTransformRsaSha384GetKlass()</pre>
+<div class="refsect2">
+<a name="xmlSecTransformRsaSha384Id"></a><h3>xmlSecTransformRsaSha384Id</h3>
+<pre class="programlisting">#define xmlSecTransformRsaSha384Id xmlSecTransformRsaSha384GetKlass()
+</pre>
<p>The RSA-SHA384 signature transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMRSASHA512ID"></a><h3>xmlSecTransformRsaSha512Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecTransformRsaSha512Id xmlSecTransformRsaSha512GetKlass()</pre>
+<div class="refsect2">
+<a name="xmlSecTransformRsaSha512Id"></a><h3>xmlSecTransformRsaSha512Id</h3>
+<pre class="programlisting">#define xmlSecTransformRsaSha512Id xmlSecTransformRsaSha512GetKlass()
+</pre>
<p>The RSA-SHA512 signature transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMRSAPKCS1ID"></a><h3>xmlSecTransformRsaPkcs1Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecTransformRsaPkcs1Id xmlSecTransformRsaPkcs1GetKlass()</pre>
+<div class="refsect2">
+<a name="xmlSecTransformRsaPkcs1Id"></a><h3>xmlSecTransformRsaPkcs1Id</h3>
+<pre class="programlisting">#define xmlSecTransformRsaPkcs1Id xmlSecTransformRsaPkcs1GetKlass()
+</pre>
<p>The RSA PKCS1 key transport transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMRSAOAEPID"></a><h3>xmlSecTransformRsaOaepId</h3>
-<pre class="PROGRAMLISTING">#define xmlSecTransformRsaOaepId xmlSecTransformRsaOaepGetKlass()</pre>
+<div class="refsect2">
+<a name="xmlSecTransformRsaOaepId"></a><h3>xmlSecTransformRsaOaepId</h3>
+<pre class="programlisting">#define xmlSecTransformRsaOaepId xmlSecTransformRsaOaepGetKlass()
+</pre>
<p>The RSA PKCS1 key transport transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMGOSTR3411-94ID"></a><h3>xmlSecTransformGostR3411_94Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecTransformGostR3411_94Id xmlSecTransformGostR3411_94GetKlass()</pre>
+<div class="refsect2">
+<a name="xmlSecTransformGostR3411-94Id"></a><h3>xmlSecTransformGostR3411_94Id</h3>
+<pre class="programlisting">#define xmlSecTransformGostR3411_94Id xmlSecTransformGostR3411_94GetKlass()
+</pre>
<p>The GOSTR3411_94 digest transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMGOSTR3411-2012-256ID"></a><h3>xmlSecTransformGostR3411_2012_256Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecTransformGostR3411_2012_256Id xmlSecTransformGostR3411_2012_256GetKlass()</pre>
+<div class="refsect2">
+<a name="xmlSecTransformGostR3411-2012-256Id"></a><h3>xmlSecTransformGostR3411_2012_256Id</h3>
+<pre class="programlisting">#define xmlSecTransformGostR3411_2012_256Id xmlSecTransformGostR3411_2012_256GetKlass()
+</pre>
<p>The GOST R 34.11-2012 256 bit digest transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMGOSTR3411-2012-512ID"></a><h3>xmlSecTransformGostR3411_2012_512Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecTransformGostR3411_2012_512Id xmlSecTransformGostR3411_2012_512GetKlass()</pre>
+<div class="refsect2">
+<a name="xmlSecTransformGostR3411-2012-512Id"></a><h3>xmlSecTransformGostR3411_2012_512Id</h3>
+<pre class="programlisting">#define xmlSecTransformGostR3411_2012_512Id xmlSecTransformGostR3411_2012_512GetKlass()
+</pre>
<p>The GOST R 34.11-2012 512 bit digest transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMSHA1ID"></a><h3>xmlSecTransformSha1Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecTransformSha1Id xmlSecTransformSha1GetKlass()</pre>
+<div class="refsect2">
+<a name="xmlSecTransformSha1Id"></a><h3>xmlSecTransformSha1Id</h3>
+<pre class="programlisting">#define xmlSecTransformSha1Id xmlSecTransformSha1GetKlass()
+</pre>
<p>The SHA1 digest transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMSHA224ID"></a><h3>xmlSecTransformSha224Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecTransformSha224Id xmlSecTransformSha224GetKlass()</pre>
+<div class="refsect2">
+<a name="xmlSecTransformSha224Id"></a><h3>xmlSecTransformSha224Id</h3>
+<pre class="programlisting">#define xmlSecTransformSha224Id xmlSecTransformSha224GetKlass()
+</pre>
<p>The SHA224 digest transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMSHA256ID"></a><h3>xmlSecTransformSha256Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecTransformSha256Id xmlSecTransformSha256GetKlass()</pre>
+<div class="refsect2">
+<a name="xmlSecTransformSha256Id"></a><h3>xmlSecTransformSha256Id</h3>
+<pre class="programlisting">#define xmlSecTransformSha256Id xmlSecTransformSha256GetKlass()
+</pre>
<p>The SHA256 digest transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMSHA384ID"></a><h3>xmlSecTransformSha384Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecTransformSha384Id xmlSecTransformSha384GetKlass()</pre>
+<div class="refsect2">
+<a name="xmlSecTransformSha384Id"></a><h3>xmlSecTransformSha384Id</h3>
+<pre class="programlisting">#define xmlSecTransformSha384Id xmlSecTransformSha384GetKlass()
+</pre>
<p>The SHA384 digest transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMSHA512ID"></a><h3>xmlSecTransformSha512Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecTransformSha512Id xmlSecTransformSha512GetKlass()</pre>
+<div class="refsect2">
+<a name="xmlSecTransformSha512Id"></a><h3>xmlSecTransformSha512Id</h3>
+<pre class="programlisting">#define xmlSecTransformSha512Id xmlSecTransformSha512GetKlass()
+</pre>
<p>The SHA512 digest transform klass.</p>
</div>
</div>
-<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td align="left"><a accesskey="p" href="xmlsec-ref.html"><b><<< XML Security Core Library API Reference.</b></a></td>
-<td align="right"><a accesskey="n" href="xmlsec-base64.html"><b>base64 >>></b></a></td>
-</tr></table>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
</td></tr></table></td>
</tr></table></body>
</html>
diff --git a/docs/api/xmlsec-base64.html b/docs/api/xmlsec-base64.html
index 485f2e4..690eb4b 100644
--- a/docs/api/xmlsec-base64.html
+++ b/docs/api/xmlsec-base64.html
@@ -1,41 +1,14 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>base64</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79">
-<link rel="HOME" title="XML Security Library Reference Manual" href="index.html">
-<link rel="UP" title="XML Security Core Library API Reference." href="xmlsec-ref.html">
-<link rel="PREVIOUS" title="app" href="xmlsec-app.html">
-<link rel="NEXT" title="bn" href="xmlsec-bn.html">
-<style type="text/css">.synopsis, .classsynopsis {
- background: #eeeeee;
- border: solid 1px #aaaaaa;
- padding: 0.5em;
-}
-.programlisting {
- background: #eeeeff;
- border: solid 1px #aaaaff;
- padding: 0.5em;
-}
-.variablelist {
- padding: 4px;
- margin-left: 3em;
-}
-.navigation {
- background: #ffeeee;
- border: solid 1px #ffaaaa;
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
-.navigation a {
- color: #770000;
-}
-.navigation a:visited {
- color: #550000;
-}
-.navigation .title {
- font-size: 200%;
-}</style>
+<title>base64: XML Security Library Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="XML Security Library Reference Manual">
+<link rel="up" href="xmlsec-ref.html" title="XML Security Core Library API Reference.">
+<link rel="prev" href="xmlsec-app.html" title="app">
+<link rel="next" href="xmlsec-bn.html" title="bn">
+<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
<style type="text/css">
table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
width: 20em;
@@ -100,476 +73,483 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
</table>
</td>
<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent">
-<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td><a accesskey="p" href="xmlsec-app.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="xmlsec-ref.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description"> <span class="dim">|</span>
+ <a href="#xmlsec-base64.description" class="shortcut">Description</a></span>
+</td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<th width="100%" align="center">XML Security Library Reference Manual</th>
+<td><a accesskey="u" href="xmlsec-ref.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="xmlsec-app.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="xmlsec-bn.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
-<h1>
-<a name="XMLSEC-BASE64"></a>base64</h1>
-<div class="REFNAMEDIV">
-<a name="AEN3398"></a><h2>Name</h2>base64 -- Base64 encoding/decoding functions.</div>
-<div class="REFSECT1">
-<a name="XMLSEC-BASE64.FUNCTIONS"></a><h2>Functions</h2>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN3403"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
+<div class="refentry">
+<a name="xmlsec-base64"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="xmlsec-base64.top_of_page"></a>base64</span></h2>
+<p>base64 — Base64 encoding/decoding functions.</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="xmlsec-base64.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
<tbody>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-base64.html#XMLSECBASE64GETDEFAULTLINESIZE">xmlSecBase64GetDefaultLineSize</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-base64.html#xmlSecBase64GetDefaultLineSize" title="xmlSecBase64GetDefaultLineSize ()">xmlSecBase64GetDefaultLineSize</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">void</span></font></td>
-<td>
-<a href="xmlsec-base64.html#XMLSECBASE64SETDEFAULTLINESIZE">xmlSecBase64SetDefaultLineSize</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">void</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-base64.html#xmlSecBase64SetDefaultLineSize" title="xmlSecBase64SetDefaultLineSize ()">xmlSecBase64SetDefaultLineSize</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecBase64CtxPtr</span></font></td>
-<td>
-<a href="xmlsec-base64.html#XMLSECBASE64CTXCREATE">xmlSecBase64CtxCreate</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecBase64CtxPtr</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-base64.html#xmlSecBase64CtxCreate" title="xmlSecBase64CtxCreate ()">xmlSecBase64CtxCreate</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">void</span></font></td>
-<td>
-<a href="xmlsec-base64.html#XMLSECBASE64CTXDESTROY">xmlSecBase64CtxDestroy</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">void</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-base64.html#xmlSecBase64CtxDestroy" title="xmlSecBase64CtxDestroy ()">xmlSecBase64CtxDestroy</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-base64.html#XMLSECBASE64CTXINITIALIZE">xmlSecBase64CtxInitialize</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-base64.html#xmlSecBase64CtxInitialize" title="xmlSecBase64CtxInitialize ()">xmlSecBase64CtxInitialize</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">void</span></font></td>
-<td>
-<a href="xmlsec-base64.html#XMLSECBASE64CTXFINALIZE">xmlSecBase64CtxFinalize</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">void</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-base64.html#xmlSecBase64CtxFinalize" title="xmlSecBase64CtxFinalize ()">xmlSecBase64CtxFinalize</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-base64.html#XMLSECBASE64CTXUPDATE">xmlSecBase64CtxUpdate</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-base64.html#xmlSecBase64CtxUpdate" title="xmlSecBase64CtxUpdate ()">xmlSecBase64CtxUpdate</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-base64.html#XMLSECBASE64CTXFINAL">xmlSecBase64CtxFinal</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-base64.html#xmlSecBase64CtxFinal" title="xmlSecBase64CtxFinal ()">xmlSecBase64CtxFinal</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td>
-<font><span class="RETURNVALUE">xmlChar</span></font> *</td>
-<td>
-<a href="xmlsec-base64.html#XMLSECBASE64ENCODE">xmlSecBase64Encode</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlChar</span></font> *
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-base64.html#xmlSecBase64Encode" title="xmlSecBase64Encode ()">xmlSecBase64Encode</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-base64.html#XMLSECBASE64DECODE">xmlSecBase64Decode</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-base64.html#xmlSecBase64Decode" title="xmlSecBase64Decode ()">xmlSecBase64Decode</a> <span class="c_punctuation">()</span>
</td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
-</div>
-<div class="REFSECT1">
-<a name="XMLSEC-BASE64.OTHER"></a><h2>Types and Values</h2>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN3478"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="xmlsec-base64.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
<tbody><tr>
-<td>#define</td>
-<td><a href="xmlsec-base64.html#XMLSEC-BASE64-LINESIZE:CAPS">XMLSEC_BASE64_LINESIZE</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-base64.html#XMLSEC-BASE64-LINESIZE:CAPS" title="XMLSEC_BASE64_LINESIZE">XMLSEC_BASE64_LINESIZE</a></td>
</tr></tbody>
-</table>
-<p></p>
-</div>
-</div>
-<div class="REFSECT1">
-<a name="XMLSEC-BASE64.DESCRIPTION"></a><h2>Description</h2>
-<p>Base64 encoding/decoding functions.</p>
-</div>
-<div class="REFSECT1">
-<a name="XMLSEC-BASE64.FUNCTIONS_DETAILS"></a><h2>Functions</h2>
-<div class="REFSECT2">
-<a name="XMLSECBASE64GETDEFAULTLINESIZE"></a><h3>xmlSecBase64GetDefaultLineSize ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecBase64GetDefaultLineSize (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="xmlsec-base64.description"></a><h2>Description</h2>
+<p>
+Base64 encoding/decoding functions.
+</p>
+</div>
+<div class="refsect1">
+<a name="xmlsec-base64.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="xmlSecBase64GetDefaultLineSize"></a><h3>xmlSecBase64GetDefaultLineSize ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecBase64GetDefaultLineSize (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>Gets the current default line size.</p>
-<div class="REFSECT3">
-<a name="AEN3500"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecBase64GetDefaultLineSize.returns"></a><h4>Returns</h4>
<p> the current default line size.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECBASE64SETDEFAULTLINESIZE"></a><h3>xmlSecBase64SetDefaultLineSize ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">void</span></font>
-xmlSecBase64SetDefaultLineSize (<code class="PARAMETER"><font><span class="TYPE">int</span></font> columns</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecBase64SetDefaultLineSize"></a><h3>xmlSecBase64SetDefaultLineSize ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">void</span></font>
+xmlSecBase64SetDefaultLineSize (<em class="parameter"><code><font><span class="type">int</span></font> columns</code></em>);</pre>
<p>Sets the current default line size.</p>
-<div class="REFSECT3">
-<a name="AEN3514"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN3516"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecBase64SetDefaultLineSize.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>columns</p></td>
-<td><p>number of columns</p></td>
-<td> </td>
+<td class="parameter_name"><p>columns</p></td>
+<td class="parameter_description"><p>number of columns</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECBASE64CTXCREATE"></a><h3>xmlSecBase64CtxCreate ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecBase64CtxPtr</span></font>
-xmlSecBase64CtxCreate (<code class="PARAMETER"><font><span class="TYPE">int</span></font> encode</code>,
- <code class="PARAMETER"><font><span class="TYPE">int</span></font> columns</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecBase64CtxCreate"></a><h3>xmlSecBase64CtxCreate ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecBase64CtxPtr</span></font>
+xmlSecBase64CtxCreate (<em class="parameter"><code><font><span class="type">int</span></font> encode</code></em>,
+ <em class="parameter"><code><font><span class="type">int</span></font> columns</code></em>);</pre>
<p>Allocates and initializes new base64 context.</p>
-<div class="REFSECT3">
-<a name="AEN3539"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN3541"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecBase64CtxCreate.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>encode</p></td>
-<td><p>the encode/decode flag (1 - encode, 0 - decode)</p></td>
-<td> </td>
+<td class="parameter_name"><p>encode</p></td>
+<td class="parameter_description"><p>the encode/decode flag (1 - encode, 0 - decode)</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>columns</p></td>
-<td><p>the max line length.</p></td>
-<td> </td>
+<td class="parameter_name"><p>columns</p></td>
+<td class="parameter_description"><p>the max line length.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN3556"></a><h4>Returns</h4>
-<p> a pointer to newly created <font><span class="TYPE">xmlSecBase64Ctx</span></font> structure
+<div class="refsect3">
+<a name="xmlSecBase64CtxCreate.returns"></a><h4>Returns</h4>
+<p> a pointer to newly created <font><span class="type">xmlSecBase64Ctx</span></font> structure
or NULL if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECBASE64CTXDESTROY"></a><h3>xmlSecBase64CtxDestroy ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">void</span></font>
-xmlSecBase64CtxDestroy (<code class="PARAMETER"><font><span class="TYPE">xmlSecBase64CtxPtr</span></font> ctx</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecBase64CtxDestroy"></a><h3>xmlSecBase64CtxDestroy ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">void</span></font>
+xmlSecBase64CtxDestroy (<em class="parameter"><code><font><span class="type">xmlSecBase64CtxPtr</span></font> ctx</code></em>);</pre>
<p>Destroys base64 context.</p>
-<div class="REFSECT3">
-<a name="AEN3572"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN3574"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecBase64CtxDestroy.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>ctx</p></td>
-<td><p>the pointer to <font><span class="TYPE">xmlSecBase64Ctx</span></font> structure.</p></td>
-<td> </td>
+<td class="parameter_name"><p>ctx</p></td>
+<td class="parameter_description"><p>the pointer to <font><span class="type">xmlSecBase64Ctx</span></font> structure.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECBASE64CTXINITIALIZE"></a><h3>xmlSecBase64CtxInitialize ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecBase64CtxInitialize (<code class="PARAMETER"><font><span class="TYPE">xmlSecBase64CtxPtr</span></font> ctx</code>,
- <code class="PARAMETER"><font><span class="TYPE">int</span></font> encode</code>,
- <code class="PARAMETER"><font><span class="TYPE">int</span></font> columns</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecBase64CtxInitialize"></a><h3>xmlSecBase64CtxInitialize ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecBase64CtxInitialize (<em class="parameter"><code><font><span class="type">xmlSecBase64CtxPtr</span></font> ctx</code></em>,
+ <em class="parameter"><code><font><span class="type">int</span></font> encode</code></em>,
+ <em class="parameter"><code><font><span class="type">int</span></font> columns</code></em>);</pre>
<p>Initializes new base64 context.</p>
-<div class="REFSECT3">
-<a name="AEN3602"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN3604"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecBase64CtxInitialize.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>ctx</p></td>
-<td><p>the pointer to <font><span class="TYPE">xmlSecBase64Ctx</span></font> structure,</p></td>
-<td> </td>
+<td class="parameter_name"><p>ctx</p></td>
+<td class="parameter_description"><p>the pointer to <font><span class="type">xmlSecBase64Ctx</span></font> structure,</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>encode</p></td>
-<td><p>the encode/decode flag (1 - encode, 0 - decode)</p></td>
-<td> </td>
+<td class="parameter_name"><p>encode</p></td>
+<td class="parameter_description"><p>the encode/decode flag (1 - encode, 0 - decode)</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>columns</p></td>
-<td><p>the max line length.</p></td>
-<td> </td>
+<td class="parameter_name"><p>columns</p></td>
+<td class="parameter_description"><p>the max line length.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN3627"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecBase64CtxInitialize.returns"></a><h4>Returns</h4>
<p> 0 on success and a negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECBASE64CTXFINALIZE"></a><h3>xmlSecBase64CtxFinalize ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">void</span></font>
-xmlSecBase64CtxFinalize (<code class="PARAMETER"><font><span class="TYPE">xmlSecBase64CtxPtr</span></font> ctx</code>);</pre>
-<p>Frees all the resources allocated by <code class="PARAMETER">ctx</code>
+<div class="refsect2">
+<a name="xmlSecBase64CtxFinalize"></a><h3>xmlSecBase64CtxFinalize ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">void</span></font>
+xmlSecBase64CtxFinalize (<em class="parameter"><code><font><span class="type">xmlSecBase64CtxPtr</span></font> ctx</code></em>);</pre>
+<p>Frees all the resources allocated by <em class="parameter"><code>ctx</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN3642"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN3644"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecBase64CtxFinalize.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>ctx</p></td>
-<td><p>the pointer to <font><span class="TYPE">xmlSecBase64Ctx</span></font> structure,</p></td>
-<td> </td>
+<td class="parameter_name"><p>ctx</p></td>
+<td class="parameter_description"><p>the pointer to <font><span class="type">xmlSecBase64Ctx</span></font> structure,</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECBASE64CTXUPDATE"></a><h3>xmlSecBase64CtxUpdate ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecBase64CtxUpdate (<code class="PARAMETER"><font><span class="TYPE">xmlSecBase64CtxPtr</span></font> ctx</code>,
- <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *in</code>,
- <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> inSize</code>,
- <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *out</code>,
- <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> outSize</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecBase64CtxUpdate"></a><h3>xmlSecBase64CtxUpdate ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecBase64CtxUpdate (<em class="parameter"><code><font><span class="type">xmlSecBase64CtxPtr</span></font> ctx</code></em>,
+ <em class="parameter"><code>const <a class="link" href="xmlsec-xmlsec.html#xmlSecByte" title="xmlSecByte"><span class="type">xmlSecByte</span></a> *in</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="type">xmlSecSize</span></a> inSize</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-xmlsec.html#xmlSecByte" title="xmlSecByte"><span class="type">xmlSecByte</span></a> *out</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="type">xmlSecSize</span></a> outSize</code></em>);</pre>
<p>Encodes or decodes the next piece of data from input buffer.</p>
-<div class="REFSECT3">
-<a name="AEN3678"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN3680"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecBase64CtxUpdate.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>ctx</p></td>
-<td><p>the pointer to <font><span class="TYPE">xmlSecBase64Ctx</span></font> structure</p></td>
-<td> </td>
+<td class="parameter_name"><p>ctx</p></td>
+<td class="parameter_description"><p>the pointer to <font><span class="type">xmlSecBase64Ctx</span></font> structure</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>in</p></td>
-<td><p>the input buffer</p></td>
-<td> </td>
+<td class="parameter_name"><p>in</p></td>
+<td class="parameter_description"><p>the input buffer</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>inSize</p></td>
-<td><p>the input buffer size</p></td>
-<td> </td>
+<td class="parameter_name"><p>inSize</p></td>
+<td class="parameter_description"><p>the input buffer size</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>out</p></td>
-<td><p>the output buffer</p></td>
-<td> </td>
+<td class="parameter_name"><p>out</p></td>
+<td class="parameter_description"><p>the output buffer</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>outSize</p></td>
-<td><p>the output buffer size</p></td>
-<td> </td>
+<td class="parameter_name"><p>outSize</p></td>
+<td class="parameter_description"><p>the output buffer size</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN3715"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecBase64CtxUpdate.returns"></a><h4>Returns</h4>
<p> the number of bytes written to output buffer or
-1 if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECBASE64CTXFINAL"></a><h3>xmlSecBase64CtxFinal ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecBase64CtxFinal (<code class="PARAMETER"><font><span class="TYPE">xmlSecBase64CtxPtr</span></font> ctx</code>,
- <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *out</code>,
- <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> outSize</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecBase64CtxFinal"></a><h3>xmlSecBase64CtxFinal ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecBase64CtxFinal (<em class="parameter"><code><font><span class="type">xmlSecBase64CtxPtr</span></font> ctx</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-xmlsec.html#xmlSecByte" title="xmlSecByte"><span class="type">xmlSecByte</span></a> *out</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="type">xmlSecSize</span></a> outSize</code></em>);</pre>
<p>Encodes or decodes the last piece of data stored in the context
and finalizes the result.</p>
-<div class="REFSECT3">
-<a name="AEN3735"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN3737"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecBase64CtxFinal.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>ctx</p></td>
-<td><p>the pointer to <font><span class="TYPE">xmlSecBase64Ctx</span></font> structure</p></td>
-<td> </td>
+<td class="parameter_name"><p>ctx</p></td>
+<td class="parameter_description"><p>the pointer to <font><span class="type">xmlSecBase64Ctx</span></font> structure</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>out</p></td>
-<td><p>the output buffer</p></td>
-<td> </td>
+<td class="parameter_name"><p>out</p></td>
+<td class="parameter_description"><p>the output buffer</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>outSize</p></td>
-<td><p>the output buffer size</p></td>
-<td> </td>
+<td class="parameter_name"><p>outSize</p></td>
+<td class="parameter_description"><p>the output buffer size</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN3760"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecBase64CtxFinal.returns"></a><h4>Returns</h4>
<p> the number of bytes written to output buffer or
-1 if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECBASE64ENCODE"></a><h3>xmlSecBase64Encode ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlChar</span></font> *
-xmlSecBase64Encode (<code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *buf</code>,
- <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> len</code>,
- <code class="PARAMETER"><font><span class="TYPE">int</span></font> columns</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecBase64Encode"></a><h3>xmlSecBase64Encode ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlChar</span></font> *
+xmlSecBase64Encode (<em class="parameter"><code>const <a class="link" href="xmlsec-xmlsec.html#xmlSecByte" title="xmlSecByte"><span class="type">xmlSecByte</span></a> *buf</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="type">xmlSecSize</span></a> len</code></em>,
+ <em class="parameter"><code><font><span class="type">int</span></font> columns</code></em>);</pre>
<p>Encodes the data from input buffer and allocates the string for the result.
The caller is responsible for freeing returned buffer using
-<font><code class="FUNCTION">xmlFree()</code></font> function.</p>
-<div class="REFSECT3">
-<a name="AEN3782"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN3784"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<font><code class="function">xmlFree()</code></font> function.</p>
+<div class="refsect3">
+<a name="xmlSecBase64Encode.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>buf</p></td>
-<td><p>the input buffer.</p></td>
-<td> </td>
+<td class="parameter_name"><p>buf</p></td>
+<td class="parameter_description"><p>the input buffer.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>len</p></td>
-<td><p>the input buffer size.</p></td>
-<td> </td>
+<td class="parameter_name"><p>len</p></td>
+<td class="parameter_description"><p>the input buffer size.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>columns</p></td>
-<td><p>the output max line length (if 0 then no line breaks
+<td class="parameter_name"><p>columns</p></td>
+<td class="parameter_description"><p>the output max line length (if 0 then no line breaks
would be inserted)</p></td>
-<td> </td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN3805"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecBase64Encode.returns"></a><h4>Returns</h4>
<p> newly allocated string with base64 encoded data
or NULL if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECBASE64DECODE"></a><h3>xmlSecBase64Decode ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecBase64Decode (<code class="PARAMETER">const <font><span class="TYPE">xmlChar</span></font> *str</code>,
- <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *buf</code>,
- <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> len</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecBase64Decode"></a><h3>xmlSecBase64Decode ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecBase64Decode (<em class="parameter"><code>const <font><span class="type">xmlChar</span></font> *str</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-xmlsec.html#xmlSecByte" title="xmlSecByte"><span class="type">xmlSecByte</span></a> *buf</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="type">xmlSecSize</span></a> len</code></em>);</pre>
<p>Decodes input base64 encoded string and puts result into
the output buffer.</p>
-<div class="REFSECT3">
-<a name="AEN3825"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN3827"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecBase64Decode.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>str</p></td>
-<td><p>the input buffer with base64 encoded string</p></td>
-<td> </td>
+<td class="parameter_name"><p>str</p></td>
+<td class="parameter_description"><p>the input buffer with base64 encoded string</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>buf</p></td>
-<td><p>the output buffer</p></td>
-<td> </td>
+<td class="parameter_name"><p>buf</p></td>
+<td class="parameter_description"><p>the output buffer</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>len</p></td>
-<td><p>the output buffer size</p></td>
-<td> </td>
+<td class="parameter_name"><p>len</p></td>
+<td class="parameter_description"><p>the output buffer size</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN3848"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecBase64Decode.returns"></a><h4>Returns</h4>
<p> the number of bytes written to the output buffer or
a negative value if an error occurs</p>
</div>
</div>
</div>
-<div class="REFSECT1">
-<a name="XMLSEC-BASE64.OTHER_DETAILS"></a><h2>Types and Values</h2>
-<div class="REFSECT2">
+<div class="refsect1">
+<a name="xmlsec-base64.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
<a name="XMLSEC-BASE64-LINESIZE:CAPS"></a><h3>XMLSEC_BASE64_LINESIZE</h3>
-<pre class="PROGRAMLISTING">#define XMLSEC_BASE64_LINESIZE 64</pre>
+<pre class="programlisting">#define XMLSEC_BASE64_LINESIZE 64
+</pre>
<p>The default maximum base64 encoded line size.</p>
</div>
</div>
-<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td align="left"><a accesskey="p" href="xmlsec-app.html"><b><<< app</b></a></td>
-<td align="right"><a accesskey="n" href="xmlsec-bn.html"><b>bn >>></b></a></td>
-</tr></table>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
</td></tr></table></td>
</tr></table></body>
</html>
diff --git a/docs/api/xmlsec-bn.html b/docs/api/xmlsec-bn.html
index ddc5c9c..a935f72 100644
--- a/docs/api/xmlsec-bn.html
+++ b/docs/api/xmlsec-bn.html
@@ -1,41 +1,14 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>bn</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79">
-<link rel="HOME" title="XML Security Library Reference Manual" href="index.html">
-<link rel="UP" title="XML Security Core Library API Reference." href="xmlsec-ref.html">
-<link rel="PREVIOUS" title="base64" href="xmlsec-base64.html">
-<link rel="NEXT" title="buffer" href="xmlsec-buffer.html">
-<style type="text/css">.synopsis, .classsynopsis {
- background: #eeeeee;
- border: solid 1px #aaaaaa;
- padding: 0.5em;
-}
-.programlisting {
- background: #eeeeff;
- border: solid 1px #aaaaff;
- padding: 0.5em;
-}
-.variablelist {
- padding: 4px;
- margin-left: 3em;
-}
-.navigation {
- background: #ffeeee;
- border: solid 1px #ffaaaa;
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
-.navigation a {
- color: #770000;
-}
-.navigation a:visited {
- color: #550000;
-}
-.navigation .title {
- font-size: 200%;
-}</style>
+<title>bn: XML Security Library Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="XML Security Library Reference Manual">
+<link rel="up" href="xmlsec-ref.html" title="XML Security Core Library API Reference.">
+<link rel="prev" href="xmlsec-base64.html" title="base64">
+<link rel="next" href="xmlsec-buffer.html" title="buffer">
+<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
<style type="text/css">
table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
width: 20em;
@@ -100,1118 +73,1123 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
</table>
</td>
<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent">
-<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td><a accesskey="p" href="xmlsec-base64.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="xmlsec-ref.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description"> <span class="dim">|</span>
+ <a href="#xmlsec-bn.description" class="shortcut">Description</a></span>
+</td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<th width="100%" align="center">XML Security Library Reference Manual</th>
+<td><a accesskey="u" href="xmlsec-ref.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="xmlsec-base64.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="xmlsec-buffer.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
-<h1>
-<a name="XMLSEC-BN"></a>bn</h1>
-<div class="REFNAMEDIV">
-<a name="AEN3864"></a><h2>Name</h2>bn -- Big numbers support functions.</div>
-<div class="REFSECT1">
-<a name="XMLSEC-BN.FUNCTIONS"></a><h2>Functions</h2>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN3869"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
+<div class="refentry">
+<a name="xmlsec-bn"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="xmlsec-bn.top_of_page"></a>bn</span></h2>
+<p>bn — Big numbers support functions.</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="xmlsec-bn.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
<tbody>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecBnPtr</span></font></td>
-<td>
-<a href="xmlsec-bn.html#XMLSECBNCREATE">xmlSecBnCreate</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecBnPtr</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-bn.html#xmlSecBnCreate" title="xmlSecBnCreate ()">xmlSecBnCreate</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">void</span></font></td>
-<td>
-<a href="xmlsec-bn.html#XMLSECBNDESTROY">xmlSecBnDestroy</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">void</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-bn.html#xmlSecBnDestroy" title="xmlSecBnDestroy ()">xmlSecBnDestroy</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-bn.html#XMLSECBNINITIALIZE">xmlSecBnInitialize</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-bn.html#xmlSecBnInitialize" title="xmlSecBnInitialize ()">xmlSecBnInitialize</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">void</span></font></td>
-<td>
-<a href="xmlsec-bn.html#XMLSECBNFINALIZE">xmlSecBnFinalize</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">void</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-bn.html#xmlSecBnFinalize" title="xmlSecBnFinalize ()">xmlSecBnFinalize</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td>
-<a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="RETURNVALUE">xmlSecByte</span></a> *</td>
-<td>
-<a href="xmlsec-bn.html#XMLSECBNGETDATA">xmlSecBnGetData</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<a class="link" href="xmlsec-xmlsec.html#xmlSecByte" title="xmlSecByte"><span class="returnvalue">xmlSecByte</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-bn.html#xmlSecBnGetData" title="xmlSecBnGetData ()">xmlSecBnGetData</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-bn.html#XMLSECBNSETDATA">xmlSecBnSetData</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-bn.html#xmlSecBnSetData" title="xmlSecBnSetData ()">xmlSecBnSetData</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="RETURNVALUE">xmlSecSize</span></a></td>
-<td>
-<a href="xmlsec-bn.html#XMLSECBNGETSIZE">xmlSecBnGetSize</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="returnvalue">xmlSecSize</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-bn.html#xmlSecBnGetSize" title="xmlSecBnGetSize ()">xmlSecBnGetSize</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">void</span></font></td>
-<td>
-<a href="xmlsec-bn.html#XMLSECBNZERO">xmlSecBnZero</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">void</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-bn.html#xmlSecBnZero" title="xmlSecBnZero ()">xmlSecBnZero</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-bn.html#XMLSECBNFROMSTRING">xmlSecBnFromString</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-bn.html#xmlSecBnFromString" title="xmlSecBnFromString ()">xmlSecBnFromString</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td>
-<font><span class="RETURNVALUE">xmlChar</span></font> *</td>
-<td>
-<a href="xmlsec-bn.html#XMLSECBNTOSTRING">xmlSecBnToString</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlChar</span></font> *
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-bn.html#xmlSecBnToString" title="xmlSecBnToString ()">xmlSecBnToString</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-bn.html#XMLSECBNFROMHEXSTRING">xmlSecBnFromHexString</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-bn.html#xmlSecBnFromHexString" title="xmlSecBnFromHexString ()">xmlSecBnFromHexString</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td>
-<font><span class="RETURNVALUE">xmlChar</span></font> *</td>
-<td>
-<a href="xmlsec-bn.html#XMLSECBNTOHEXSTRING">xmlSecBnToHexString</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlChar</span></font> *
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-bn.html#xmlSecBnToHexString" title="xmlSecBnToHexString ()">xmlSecBnToHexString</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-bn.html#XMLSECBNFROMDECSTRING">xmlSecBnFromDecString</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-bn.html#xmlSecBnFromDecString" title="xmlSecBnFromDecString ()">xmlSecBnFromDecString</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td>
-<font><span class="RETURNVALUE">xmlChar</span></font> *</td>
-<td>
-<a href="xmlsec-bn.html#XMLSECBNTODECSTRING">xmlSecBnToDecString</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlChar</span></font> *
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-bn.html#xmlSecBnToDecString" title="xmlSecBnToDecString ()">xmlSecBnToDecString</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-bn.html#XMLSECBNMUL">xmlSecBnMul</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-bn.html#xmlSecBnMul" title="xmlSecBnMul ()">xmlSecBnMul</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-bn.html#XMLSECBNDIV">xmlSecBnDiv</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-bn.html#xmlSecBnDiv" title="xmlSecBnDiv ()">xmlSecBnDiv</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-bn.html#XMLSECBNADD">xmlSecBnAdd</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-bn.html#xmlSecBnAdd" title="xmlSecBnAdd ()">xmlSecBnAdd</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-bn.html#XMLSECBNREVERSE">xmlSecBnReverse</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-bn.html#xmlSecBnReverse" title="xmlSecBnReverse ()">xmlSecBnReverse</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-bn.html#XMLSECBNCOMPARE">xmlSecBnCompare</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-bn.html#xmlSecBnCompare" title="xmlSecBnCompare ()">xmlSecBnCompare</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-bn.html#XMLSECBNCOMPAREREVERSE">xmlSecBnCompareReverse</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-bn.html#xmlSecBnCompareReverse" title="xmlSecBnCompareReverse ()">xmlSecBnCompareReverse</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-bn.html#XMLSECBNGETNODEVALUE">xmlSecBnGetNodeValue</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-bn.html#xmlSecBnGetNodeValue" title="xmlSecBnGetNodeValue ()">xmlSecBnGetNodeValue</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-bn.html#XMLSECBNSETNODEVALUE">xmlSecBnSetNodeValue</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-bn.html#xmlSecBnSetNodeValue" title="xmlSecBnSetNodeValue ()">xmlSecBnSetNodeValue</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-bn.html#XMLSECBNBLOBSETNODEVALUE">xmlSecBnBlobSetNodeValue</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-bn.html#xmlSecBnBlobSetNodeValue" title="xmlSecBnBlobSetNodeValue ()">xmlSecBnBlobSetNodeValue</a> <span class="c_punctuation">()</span>
</td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
-</div>
-<div class="REFSECT1">
-<a name="XMLSEC-BN.OTHER"></a><h2>Types and Values</h2>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN4035"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="xmlsec-bn.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
<tbody><tr>
-<td>enum</td>
-<td><a href="xmlsec-bn.html#XMLSECBNFORMAT">xmlSecBnFormat</a></td>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="xmlsec-bn.html#xmlSecBnFormat" title="enum xmlSecBnFormat">xmlSecBnFormat</a></td>
</tr></tbody>
-</table>
-<p></p>
-</div>
-</div>
-<div class="REFSECT1">
-<a name="XMLSEC-BN.DESCRIPTION"></a><h2>Description</h2>
-<p>Big numbers support functions.</p>
-</div>
-<div class="REFSECT1">
-<a name="XMLSEC-BN.FUNCTIONS_DETAILS"></a><h2>Functions</h2>
-<div class="REFSECT2">
-<a name="XMLSECBNCREATE"></a><h3>xmlSecBnCreate ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecBnPtr</span></font>
-xmlSecBnCreate (<code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> size</code>);</pre>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="xmlsec-bn.description"></a><h2>Description</h2>
+<p>
+Big numbers support functions.
+</p>
+</div>
+<div class="refsect1">
+<a name="xmlsec-bn.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="xmlSecBnCreate"></a><h3>xmlSecBnCreate ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecBnPtr</span></font>
+xmlSecBnCreate (<em class="parameter"><code><a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="type">xmlSecSize</span></a> size</code></em>);</pre>
<p>Creates a new BN object. Caller is responsible for destroying it
-by calling <code class="PARAMETER">xmlSecBnDestroy</code>
+by calling <em class="parameter"><code>xmlSecBnDestroy</code></em>
function.</p>
-<div class="REFSECT3">
-<a name="AEN4059"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN4061"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecBnCreate.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>size</p></td>
-<td><p>the initial allocated BN size.</p></td>
-<td> </td>
+<td class="parameter_name"><p>size</p></td>
+<td class="parameter_description"><p>the initial allocated BN size.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN4070"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecBnCreate.returns"></a><h4>Returns</h4>
<p> the newly BN or a NULL if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECBNDESTROY"></a><h3>xmlSecBnDestroy ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">void</span></font>
-xmlSecBnDestroy (<code class="PARAMETER"><font><span class="TYPE">xmlSecBnPtr</span></font> bn</code>);</pre>
-<p>Destroys <code class="PARAMETER">bn</code>
- object created with <code class="PARAMETER">xmlSecBnCreate</code>
+<div class="refsect2">
+<a name="xmlSecBnDestroy"></a><h3>xmlSecBnDestroy ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">void</span></font>
+xmlSecBnDestroy (<em class="parameter"><code><font><span class="type">xmlSecBnPtr</span></font> bn</code></em>);</pre>
+<p>Destroys <em class="parameter"><code>bn</code></em>
+ object created with <em class="parameter"><code>xmlSecBnCreate</code></em>
function.</p>
-<div class="REFSECT3">
-<a name="AEN4086"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN4088"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecBnDestroy.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>bn</p></td>
-<td><p>the pointer to BN.</p></td>
-<td> </td>
+<td class="parameter_name"><p>bn</p></td>
+<td class="parameter_description"><p>the pointer to BN.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECBNINITIALIZE"></a><h3>xmlSecBnInitialize ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecBnInitialize (<code class="PARAMETER"><font><span class="TYPE">xmlSecBnPtr</span></font> bn</code>,
- <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> size</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecBnInitialize"></a><h3>xmlSecBnInitialize ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecBnInitialize (<em class="parameter"><code><font><span class="type">xmlSecBnPtr</span></font> bn</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="type">xmlSecSize</span></a> size</code></em>);</pre>
<p>Initializes a BN object. Caller is responsible for destroying it
-by calling <code class="PARAMETER">xmlSecBnFinalize</code>
+by calling <em class="parameter"><code>xmlSecBnFinalize</code></em>
function.</p>
-<div class="REFSECT3">
-<a name="AEN4112"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN4114"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecBnInitialize.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>bn</p></td>
-<td><p>the pointer to BN.</p></td>
-<td> </td>
+<td class="parameter_name"><p>bn</p></td>
+<td class="parameter_description"><p>the pointer to BN.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>size</p></td>
-<td><p>the initial allocated BN size.</p></td>
-<td> </td>
+<td class="parameter_name"><p>size</p></td>
+<td class="parameter_description"><p>the initial allocated BN size.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN4129"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecBnInitialize.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECBNFINALIZE"></a><h3>xmlSecBnFinalize ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">void</span></font>
-xmlSecBnFinalize (<code class="PARAMETER"><font><span class="TYPE">xmlSecBnPtr</span></font> bn</code>);</pre>
-<p>Destroys <code class="PARAMETER">bn</code>
- object created with <code class="PARAMETER">xmlSecBnInitialize</code>
+<div class="refsect2">
+<a name="xmlSecBnFinalize"></a><h3>xmlSecBnFinalize ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">void</span></font>
+xmlSecBnFinalize (<em class="parameter"><code><font><span class="type">xmlSecBnPtr</span></font> bn</code></em>);</pre>
+<p>Destroys <em class="parameter"><code>bn</code></em>
+ object created with <em class="parameter"><code>xmlSecBnInitialize</code></em>
function.</p>
-<div class="REFSECT3">
-<a name="AEN4145"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN4147"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecBnFinalize.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>bn</p></td>
-<td><p>the pointer to BN.</p></td>
-<td> </td>
+<td class="parameter_name"><p>bn</p></td>
+<td class="parameter_description"><p>the pointer to BN.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECBNGETDATA"></a><h3>xmlSecBnGetData ()</h3>
-<pre class="PROGRAMLISTING"><a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="RETURNVALUE">xmlSecByte</span></a> *
-xmlSecBnGetData (<code class="PARAMETER"><font><span class="TYPE">xmlSecBnPtr</span></font> bn</code>);</pre>
-<p>Gets pointer to the binary <code class="PARAMETER">bn</code>
+<div class="refsect2">
+<a name="xmlSecBnGetData"></a><h3>xmlSecBnGetData ()</h3>
+<pre class="programlisting"><a class="link" href="xmlsec-xmlsec.html#xmlSecByte" title="xmlSecByte"><span class="returnvalue">xmlSecByte</span></a> *
+xmlSecBnGetData (<em class="parameter"><code><font><span class="type">xmlSecBnPtr</span></font> bn</code></em>);</pre>
+<p>Gets pointer to the binary <em class="parameter"><code>bn</code></em>
representation.</p>
-<div class="REFSECT3">
-<a name="AEN4168"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN4170"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecBnGetData.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>bn</p></td>
-<td><p>the pointer to BN.</p></td>
-<td> </td>
+<td class="parameter_name"><p>bn</p></td>
+<td class="parameter_description"><p>the pointer to BN.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN4179"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecBnGetData.returns"></a><h4>Returns</h4>
<p> pointer to binary BN data or NULL if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECBNSETDATA"></a><h3>xmlSecBnSetData ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecBnSetData (<code class="PARAMETER"><font><span class="TYPE">xmlSecBnPtr</span></font> bn</code>,
- <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>,
- <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> size</code>);</pre>
-<p>Sets the value of <code class="PARAMETER">bn</code>
- to <code class="PARAMETER">data</code>
+<div class="refsect2">
+<a name="xmlSecBnSetData"></a><h3>xmlSecBnSetData ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecBnSetData (<em class="parameter"><code><font><span class="type">xmlSecBnPtr</span></font> bn</code></em>,
+ <em class="parameter"><code>const <a class="link" href="xmlsec-xmlsec.html#xmlSecByte" title="xmlSecByte"><span class="type">xmlSecByte</span></a> *data</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="type">xmlSecSize</span></a> size</code></em>);</pre>
+<p>Sets the value of <em class="parameter"><code>bn</code></em>
+ to <em class="parameter"><code>data</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN4201"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN4203"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecBnSetData.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>bn</p></td>
-<td><p>the pointer to BN.</p></td>
-<td> </td>
+<td class="parameter_name"><p>bn</p></td>
+<td class="parameter_description"><p>the pointer to BN.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>data</p></td>
-<td><p>the pointer to new BN binary data.</p></td>
-<td> </td>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the pointer to new BN binary data.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>size</p></td>
-<td><p>the size of new BN data.</p></td>
-<td> </td>
+<td class="parameter_name"><p>size</p></td>
+<td class="parameter_description"><p>the size of new BN data.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN4224"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecBnSetData.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECBNGETSIZE"></a><h3>xmlSecBnGetSize ()</h3>
-<pre class="PROGRAMLISTING"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="RETURNVALUE">xmlSecSize</span></a>
-xmlSecBnGetSize (<code class="PARAMETER"><font><span class="TYPE">xmlSecBnPtr</span></font> bn</code>);</pre>
-<p>Gets the size of binary data in <code class="PARAMETER">bn</code>
+<div class="refsect2">
+<a name="xmlSecBnGetSize"></a><h3>xmlSecBnGetSize ()</h3>
+<pre class="programlisting"><a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="returnvalue">xmlSecSize</span></a>
+xmlSecBnGetSize (<em class="parameter"><code><font><span class="type">xmlSecBnPtr</span></font> bn</code></em>);</pre>
+<p>Gets the size of binary data in <em class="parameter"><code>bn</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN4239"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN4241"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecBnGetSize.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>bn</p></td>
-<td><p>the pointer to BN.</p></td>
-<td> </td>
+<td class="parameter_name"><p>bn</p></td>
+<td class="parameter_description"><p>the pointer to BN.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN4250"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecBnGetSize.returns"></a><h4>Returns</h4>
<p> the size of binary data.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECBNZERO"></a><h3>xmlSecBnZero ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">void</span></font>
-xmlSecBnZero (<code class="PARAMETER"><font><span class="TYPE">xmlSecBnPtr</span></font> bn</code>);</pre>
-<p>Sets the value of <code class="PARAMETER">bn</code>
+<div class="refsect2">
+<a name="xmlSecBnZero"></a><h3>xmlSecBnZero ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">void</span></font>
+xmlSecBnZero (<em class="parameter"><code><font><span class="type">xmlSecBnPtr</span></font> bn</code></em>);</pre>
+<p>Sets the value of <em class="parameter"><code>bn</code></em>
to zero.</p>
-<div class="REFSECT3">
-<a name="AEN4265"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN4267"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecBnZero.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>bn</p></td>
-<td><p>the pointer to BN.</p></td>
-<td> </td>
+<td class="parameter_name"><p>bn</p></td>
+<td class="parameter_description"><p>the pointer to BN.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECBNFROMSTRING"></a><h3>xmlSecBnFromString ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecBnFromString (<code class="PARAMETER"><font><span class="TYPE">xmlSecBnPtr</span></font> bn</code>,
- <code class="PARAMETER">const <font><span class="TYPE">xmlChar</span></font> *str</code>,
- <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> base</code>);</pre>
-<p>Reads <code class="PARAMETER">bn</code>
- from string <code class="PARAMETER">str</code>
- assuming it has base <code class="PARAMETER">base</code>
+<div class="refsect2">
+<a name="xmlSecBnFromString"></a><h3>xmlSecBnFromString ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecBnFromString (<em class="parameter"><code><font><span class="type">xmlSecBnPtr</span></font> bn</code></em>,
+ <em class="parameter"><code>const <font><span class="type">xmlChar</span></font> *str</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="type">xmlSecSize</span></a> base</code></em>);</pre>
+<p>Reads <em class="parameter"><code>bn</code></em>
+ from string <em class="parameter"><code>str</code></em>
+ assuming it has base <em class="parameter"><code>base</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN4296"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN4298"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecBnFromString.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>bn</p></td>
-<td><p>the pointer to BN.</p></td>
-<td> </td>
+<td class="parameter_name"><p>bn</p></td>
+<td class="parameter_description"><p>the pointer to BN.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>str</p></td>
-<td><p>the string with BN.</p></td>
-<td> </td>
+<td class="parameter_name"><p>str</p></td>
+<td class="parameter_description"><p>the string with BN.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>base</p></td>
-<td><p>the base for <code class="PARAMETER">str</code>
+<td class="parameter_name"><p>base</p></td>
+<td class="parameter_description"><p>the base for <em class="parameter"><code>str</code></em>
.</p></td>
-<td> </td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN4320"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecBnFromString.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECBNTOSTRING"></a><h3>xmlSecBnToString ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlChar</span></font> *
-xmlSecBnToString (<code class="PARAMETER"><font><span class="TYPE">xmlSecBnPtr</span></font> bn</code>,
- <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> base</code>);</pre>
-<p>Writes <code class="PARAMETER">bn</code>
- to string with base <code class="PARAMETER">base</code>
+<div class="refsect2">
+<a name="xmlSecBnToString"></a><h3>xmlSecBnToString ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlChar</span></font> *
+xmlSecBnToString (<em class="parameter"><code><font><span class="type">xmlSecBnPtr</span></font> bn</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="type">xmlSecSize</span></a> base</code></em>);</pre>
+<p>Writes <em class="parameter"><code>bn</code></em>
+ to string with base <em class="parameter"><code>base</code></em>
. Caller is responsible for
-freeing returned string with <code class="PARAMETER">xmlFree</code>
+freeing returned string with <em class="parameter"><code>xmlFree</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN4340"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN4342"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecBnToString.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>bn</p></td>
-<td><p>the pointer to BN.</p></td>
-<td> </td>
+<td class="parameter_name"><p>bn</p></td>
+<td class="parameter_description"><p>the pointer to BN.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>base</p></td>
-<td><p>the base for returned string.</p></td>
-<td> </td>
+<td class="parameter_name"><p>base</p></td>
+<td class="parameter_description"><p>the base for returned string.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN4357"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecBnToString.returns"></a><h4>Returns</h4>
<p> the string represenataion if BN or a NULL if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECBNFROMHEXSTRING"></a><h3>xmlSecBnFromHexString ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecBnFromHexString (<code class="PARAMETER"><font><span class="TYPE">xmlSecBnPtr</span></font> bn</code>,
- <code class="PARAMETER">const <font><span class="TYPE">xmlChar</span></font> *str</code>);</pre>
-<p>Reads <code class="PARAMETER">bn</code>
- from hex string <code class="PARAMETER">str</code>
+<div class="refsect2">
+<a name="xmlSecBnFromHexString"></a><h3>xmlSecBnFromHexString ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecBnFromHexString (<em class="parameter"><code><font><span class="type">xmlSecBnPtr</span></font> bn</code></em>,
+ <em class="parameter"><code>const <font><span class="type">xmlChar</span></font> *str</code></em>);</pre>
+<p>Reads <em class="parameter"><code>bn</code></em>
+ from hex string <em class="parameter"><code>str</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN4376"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN4378"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecBnFromHexString.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>bn</p></td>
-<td><p>the pointer to BN.</p></td>
-<td> </td>
+<td class="parameter_name"><p>bn</p></td>
+<td class="parameter_description"><p>the pointer to BN.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>str</p></td>
-<td><p>the string with BN.</p></td>
-<td> </td>
+<td class="parameter_name"><p>str</p></td>
+<td class="parameter_description"><p>the string with BN.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN4393"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecBnFromHexString.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECBNTOHEXSTRING"></a><h3>xmlSecBnToHexString ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlChar</span></font> *
-xmlSecBnToHexString (<code class="PARAMETER"><font><span class="TYPE">xmlSecBnPtr</span></font> bn</code>);</pre>
-<p>Writes <code class="PARAMETER">bn</code>
+<div class="refsect2">
+<a name="xmlSecBnToHexString"></a><h3>xmlSecBnToHexString ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlChar</span></font> *
+xmlSecBnToHexString (<em class="parameter"><code><font><span class="type">xmlSecBnPtr</span></font> bn</code></em>);</pre>
+<p>Writes <em class="parameter"><code>bn</code></em>
to hex string. Caller is responsible for
-freeing returned string with <code class="PARAMETER">xmlFree</code>
+freeing returned string with <em class="parameter"><code>xmlFree</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN4409"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN4411"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecBnToHexString.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>bn</p></td>
-<td><p>the pointer to BN.</p></td>
-<td> </td>
+<td class="parameter_name"><p>bn</p></td>
+<td class="parameter_description"><p>the pointer to BN.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN4420"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecBnToHexString.returns"></a><h4>Returns</h4>
<p> the string represenataion if BN or a NULL if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECBNFROMDECSTRING"></a><h3>xmlSecBnFromDecString ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecBnFromDecString (<code class="PARAMETER"><font><span class="TYPE">xmlSecBnPtr</span></font> bn</code>,
- <code class="PARAMETER">const <font><span class="TYPE">xmlChar</span></font> *str</code>);</pre>
-<p>Reads <code class="PARAMETER">bn</code>
- from decimal string <code class="PARAMETER">str</code>
+<div class="refsect2">
+<a name="xmlSecBnFromDecString"></a><h3>xmlSecBnFromDecString ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecBnFromDecString (<em class="parameter"><code><font><span class="type">xmlSecBnPtr</span></font> bn</code></em>,
+ <em class="parameter"><code>const <font><span class="type">xmlChar</span></font> *str</code></em>);</pre>
+<p>Reads <em class="parameter"><code>bn</code></em>
+ from decimal string <em class="parameter"><code>str</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN4439"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN4441"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecBnFromDecString.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>bn</p></td>
-<td><p>the pointer to BN.</p></td>
-<td> </td>
+<td class="parameter_name"><p>bn</p></td>
+<td class="parameter_description"><p>the pointer to BN.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>str</p></td>
-<td><p>the string with BN.</p></td>
-<td> </td>
+<td class="parameter_name"><p>str</p></td>
+<td class="parameter_description"><p>the string with BN.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN4456"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecBnFromDecString.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECBNTODECSTRING"></a><h3>xmlSecBnToDecString ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlChar</span></font> *
-xmlSecBnToDecString (<code class="PARAMETER"><font><span class="TYPE">xmlSecBnPtr</span></font> bn</code>);</pre>
-<p>Writes <code class="PARAMETER">bn</code>
+<div class="refsect2">
+<a name="xmlSecBnToDecString"></a><h3>xmlSecBnToDecString ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlChar</span></font> *
+xmlSecBnToDecString (<em class="parameter"><code><font><span class="type">xmlSecBnPtr</span></font> bn</code></em>);</pre>
+<p>Writes <em class="parameter"><code>bn</code></em>
to decimal string. Caller is responsible for
-freeing returned string with <code class="PARAMETER">xmlFree</code>
+freeing returned string with <em class="parameter"><code>xmlFree</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN4472"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN4474"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecBnToDecString.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>bn</p></td>
-<td><p>the pointer to BN.</p></td>
-<td> </td>
+<td class="parameter_name"><p>bn</p></td>
+<td class="parameter_description"><p>the pointer to BN.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN4483"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecBnToDecString.returns"></a><h4>Returns</h4>
<p> the string represenataion if BN or a NULL if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECBNMUL"></a><h3>xmlSecBnMul ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecBnMul (<code class="PARAMETER"><font><span class="TYPE">xmlSecBnPtr</span></font> bn</code>,
- <code class="PARAMETER"><font><span class="TYPE">int</span></font> multiplier</code>);</pre>
-<p>Multiplies <code class="PARAMETER">bn</code>
- with <code class="PARAMETER">multiplier</code>
+<div class="refsect2">
+<a name="xmlSecBnMul"></a><h3>xmlSecBnMul ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecBnMul (<em class="parameter"><code><font><span class="type">xmlSecBnPtr</span></font> bn</code></em>,
+ <em class="parameter"><code><font><span class="type">int</span></font> multiplier</code></em>);</pre>
+<p>Multiplies <em class="parameter"><code>bn</code></em>
+ with <em class="parameter"><code>multiplier</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN4502"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN4504"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecBnMul.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>bn</p></td>
-<td><p>the pointer to BN.</p></td>
-<td> </td>
+<td class="parameter_name"><p>bn</p></td>
+<td class="parameter_description"><p>the pointer to BN.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>multiplier</p></td>
-<td><p>the multiplier.</p></td>
-<td> </td>
+<td class="parameter_name"><p>multiplier</p></td>
+<td class="parameter_description"><p>the multiplier.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN4519"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecBnMul.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECBNDIV"></a><h3>xmlSecBnDiv ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecBnDiv (<code class="PARAMETER"><font><span class="TYPE">xmlSecBnPtr</span></font> bn</code>,
- <code class="PARAMETER"><font><span class="TYPE">int</span></font> divider</code>,
- <code class="PARAMETER"><font><span class="TYPE">int</span></font> *mod</code>);</pre>
-<p>Divides <code class="PARAMETER">bn</code>
- by <code class="PARAMETER">divider</code>
- and places modulus into <code class="PARAMETER">mod</code>
+<div class="refsect2">
+<a name="xmlSecBnDiv"></a><h3>xmlSecBnDiv ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecBnDiv (<em class="parameter"><code><font><span class="type">xmlSecBnPtr</span></font> bn</code></em>,
+ <em class="parameter"><code><font><span class="type">int</span></font> divider</code></em>,
+ <em class="parameter"><code><font><span class="type">int</span></font> *mod</code></em>);</pre>
+<p>Divides <em class="parameter"><code>bn</code></em>
+ by <em class="parameter"><code>divider</code></em>
+ and places modulus into <em class="parameter"><code>mod</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN4542"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN4544"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecBnDiv.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>bn</p></td>
-<td><p>the pointer to BN.</p></td>
-<td> </td>
+<td class="parameter_name"><p>bn</p></td>
+<td class="parameter_description"><p>the pointer to BN.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>divider</p></td>
-<td><p>the divider</p></td>
-<td> </td>
+<td class="parameter_name"><p>divider</p></td>
+<td class="parameter_description"><p>the divider</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>mod</p></td>
-<td><p>the pointer for modulus result.</p></td>
-<td> </td>
+<td class="parameter_name"><p>mod</p></td>
+<td class="parameter_description"><p>the pointer for modulus result.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN4565"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecBnDiv.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECBNADD"></a><h3>xmlSecBnAdd ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecBnAdd (<code class="PARAMETER"><font><span class="TYPE">xmlSecBnPtr</span></font> bn</code>,
- <code class="PARAMETER"><font><span class="TYPE">int</span></font> delta</code>);</pre>
-<p>Adds <code class="PARAMETER">delta</code>
- to <code class="PARAMETER">bn</code>
+<div class="refsect2">
+<a name="xmlSecBnAdd"></a><h3>xmlSecBnAdd ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecBnAdd (<em class="parameter"><code><font><span class="type">xmlSecBnPtr</span></font> bn</code></em>,
+ <em class="parameter"><code><font><span class="type">int</span></font> delta</code></em>);</pre>
+<p>Adds <em class="parameter"><code>delta</code></em>
+ to <em class="parameter"><code>bn</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN4584"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN4586"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecBnAdd.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>bn</p></td>
-<td><p>the pointer to BN.</p></td>
-<td> </td>
+<td class="parameter_name"><p>bn</p></td>
+<td class="parameter_description"><p>the pointer to BN.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>delta</p></td>
-<td><p>the delta.</p></td>
-<td> </td>
+<td class="parameter_name"><p>delta</p></td>
+<td class="parameter_description"><p>the delta.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN4601"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecBnAdd.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECBNREVERSE"></a><h3>xmlSecBnReverse ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecBnReverse (<code class="PARAMETER"><font><span class="TYPE">xmlSecBnPtr</span></font> bn</code>);</pre>
-<p>Reverses bytes order in <code class="PARAMETER">bn</code>
+<div class="refsect2">
+<a name="xmlSecBnReverse"></a><h3>xmlSecBnReverse ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecBnReverse (<em class="parameter"><code><font><span class="type">xmlSecBnPtr</span></font> bn</code></em>);</pre>
+<p>Reverses bytes order in <em class="parameter"><code>bn</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN4616"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN4618"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecBnReverse.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>bn</p></td>
-<td><p>the pointer to BN.</p></td>
-<td> </td>
+<td class="parameter_name"><p>bn</p></td>
+<td class="parameter_description"><p>the pointer to BN.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN4627"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecBnReverse.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECBNCOMPARE"></a><h3>xmlSecBnCompare ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecBnCompare (<code class="PARAMETER"><font><span class="TYPE">xmlSecBnPtr</span></font> bn</code>,
- <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>,
- <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> dataSize</code>);</pre>
-<p>Compares the <code class="PARAMETER">bn</code>
- with <code class="PARAMETER">data</code>
+<div class="refsect2">
+<a name="xmlSecBnCompare"></a><h3>xmlSecBnCompare ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecBnCompare (<em class="parameter"><code><font><span class="type">xmlSecBnPtr</span></font> bn</code></em>,
+ <em class="parameter"><code>const <a class="link" href="xmlsec-xmlsec.html#xmlSecByte" title="xmlSecByte"><span class="type">xmlSecByte</span></a> *data</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="type">xmlSecSize</span></a> dataSize</code></em>);</pre>
+<p>Compares the <em class="parameter"><code>bn</code></em>
+ with <em class="parameter"><code>data</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN4649"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN4651"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecBnCompare.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>bn</p></td>
-<td><p>the pointer to BN.</p></td>
-<td> </td>
+<td class="parameter_name"><p>bn</p></td>
+<td class="parameter_description"><p>the pointer to BN.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>data</p></td>
-<td><p>the data to compare BN to.</p></td>
-<td> </td>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the data to compare BN to.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>dataSize</p></td>
-<td><p>the <code class="PARAMETER">data</code>
+<td class="parameter_name"><p>dataSize</p></td>
+<td class="parameter_description"><p>the <em class="parameter"><code>data</code></em>
size.</p></td>
-<td> </td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN4673"></a><h4>Returns</h4>
-<p> 0 if data is equal, negative value if <code class="PARAMETER">bn</code>
-is less or positive value if <code class="PARAMETER">bn</code>
-is greater than <code class="PARAMETER">data</code>
+<div class="refsect3">
+<a name="xmlSecBnCompare.returns"></a><h4>Returns</h4>
+<p> 0 if data is equal, negative value if <em class="parameter"><code>bn</code></em>
+is less or positive value if <em class="parameter"><code>bn</code></em>
+is greater than <em class="parameter"><code>data</code></em>
.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECBNCOMPAREREVERSE"></a><h3>xmlSecBnCompareReverse ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecBnCompareReverse (<code class="PARAMETER"><font><span class="TYPE">xmlSecBnPtr</span></font> bn</code>,
- <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>,
- <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> dataSize</code>);</pre>
-<p>Compares the <code class="PARAMETER">bn</code>
- with reverse <code class="PARAMETER">data</code>
+<div class="refsect2">
+<a name="xmlSecBnCompareReverse"></a><h3>xmlSecBnCompareReverse ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecBnCompareReverse (<em class="parameter"><code><font><span class="type">xmlSecBnPtr</span></font> bn</code></em>,
+ <em class="parameter"><code>const <a class="link" href="xmlsec-xmlsec.html#xmlSecByte" title="xmlSecByte"><span class="type">xmlSecByte</span></a> *data</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="type">xmlSecSize</span></a> dataSize</code></em>);</pre>
+<p>Compares the <em class="parameter"><code>bn</code></em>
+ with reverse <em class="parameter"><code>data</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN4698"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN4700"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecBnCompareReverse.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>bn</p></td>
-<td><p>the pointer to BN.</p></td>
-<td> </td>
+<td class="parameter_name"><p>bn</p></td>
+<td class="parameter_description"><p>the pointer to BN.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>data</p></td>
-<td><p>the data to compare BN to.</p></td>
-<td> </td>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the data to compare BN to.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>dataSize</p></td>
-<td><p>the <code class="PARAMETER">data</code>
+<td class="parameter_name"><p>dataSize</p></td>
+<td class="parameter_description"><p>the <em class="parameter"><code>data</code></em>
size.</p></td>
-<td> </td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN4722"></a><h4>Returns</h4>
-<p> 0 if data is equal, negative value if <code class="PARAMETER">bn</code>
-is less or positive value if <code class="PARAMETER">bn</code>
-is greater than <code class="PARAMETER">data</code>
+<div class="refsect3">
+<a name="xmlSecBnCompareReverse.returns"></a><h4>Returns</h4>
+<p> 0 if data is equal, negative value if <em class="parameter"><code>bn</code></em>
+is less or positive value if <em class="parameter"><code>bn</code></em>
+is greater than <em class="parameter"><code>data</code></em>
.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECBNGETNODEVALUE"></a><h3>xmlSecBnGetNodeValue ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecBnGetNodeValue (<code class="PARAMETER"><font><span class="TYPE">xmlSecBnPtr</span></font> bn</code>,
- <code class="PARAMETER"><font><span class="TYPE">xmlNodePtr</span></font> cur</code>,
- <code class="PARAMETER"><a href="xmlsec-bn.html#XMLSECBNFORMAT"><span class="TYPE">xmlSecBnFormat</span></a> format</code>,
- <code class="PARAMETER"><font><span class="TYPE">int</span></font> reverse</code>);</pre>
-<p>Converts the node content from <code class="PARAMETER">format</code>
- to <code class="PARAMETER">bn</code>
+<div class="refsect2">
+<a name="xmlSecBnGetNodeValue"></a><h3>xmlSecBnGetNodeValue ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecBnGetNodeValue (<em class="parameter"><code><font><span class="type">xmlSecBnPtr</span></font> bn</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlNodePtr</span></font> cur</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-bn.html#xmlSecBnFormat" title="enum xmlSecBnFormat"><span class="type">xmlSecBnFormat</span></a> format</code></em>,
+ <em class="parameter"><code><font><span class="type">int</span></font> reverse</code></em>);</pre>
+<p>Converts the node content from <em class="parameter"><code>format</code></em>
+ to <em class="parameter"><code>bn</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN4750"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN4752"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecBnGetNodeValue.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>bn</p></td>
-<td><p>the pointer to BN.</p></td>
-<td> </td>
+<td class="parameter_name"><p>bn</p></td>
+<td class="parameter_description"><p>the pointer to BN.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>cur</p></td>
-<td><p>the poitner to an XML node.</p></td>
-<td> </td>
+<td class="parameter_name"><p>cur</p></td>
+<td class="parameter_description"><p>the poitner to an XML node.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>format</p></td>
-<td><p>the BN format.</p></td>
-<td> </td>
+<td class="parameter_name"><p>format</p></td>
+<td class="parameter_description"><p>the BN format.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>reverse</p></td>
-<td><p>if set then reverse read buffer after reading.</p></td>
-<td> </td>
+<td class="parameter_name"><p>reverse</p></td>
+<td class="parameter_description"><p>if set then reverse read buffer after reading.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN4779"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecBnGetNodeValue.returns"></a><h4>Returns</h4>
<p> 0 on success and a negative values if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECBNSETNODEVALUE"></a><h3>xmlSecBnSetNodeValue ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecBnSetNodeValue (<code class="PARAMETER"><font><span class="TYPE">xmlSecBnPtr</span></font> bn</code>,
- <code class="PARAMETER"><font><span class="TYPE">xmlNodePtr</span></font> cur</code>,
- <code class="PARAMETER"><a href="xmlsec-bn.html#XMLSECBNFORMAT"><span class="TYPE">xmlSecBnFormat</span></a> format</code>,
- <code class="PARAMETER"><font><span class="TYPE">int</span></font> reverse</code>,
- <code class="PARAMETER"><font><span class="TYPE">int</span></font> addLineBreaks</code>);</pre>
-<p>Converts the <code class="PARAMETER">bn</code>
+<div class="refsect2">
+<a name="xmlSecBnSetNodeValue"></a><h3>xmlSecBnSetNodeValue ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecBnSetNodeValue (<em class="parameter"><code><font><span class="type">xmlSecBnPtr</span></font> bn</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlNodePtr</span></font> cur</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-bn.html#xmlSecBnFormat" title="enum xmlSecBnFormat"><span class="type">xmlSecBnFormat</span></a> format</code></em>,
+ <em class="parameter"><code><font><span class="type">int</span></font> reverse</code></em>,
+ <em class="parameter"><code><font><span class="type">int</span></font> addLineBreaks</code></em>);</pre>
+<p>Converts the <em class="parameter"><code>bn</code></em>
and sets it to node content.</p>
-<div class="REFSECT3">
-<a name="AEN4806"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN4808"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecBnSetNodeValue.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>bn</p></td>
-<td><p>the pointer to BN.</p></td>
-<td> </td>
+<td class="parameter_name"><p>bn</p></td>
+<td class="parameter_description"><p>the pointer to BN.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>cur</p></td>
-<td><p>the poitner to an XML node.</p></td>
-<td> </td>
+<td class="parameter_name"><p>cur</p></td>
+<td class="parameter_description"><p>the poitner to an XML node.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>format</p></td>
-<td><p>the BN format.</p></td>
-<td> </td>
+<td class="parameter_name"><p>format</p></td>
+<td class="parameter_description"><p>the BN format.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>reverse</p></td>
-<td><p>the flag that indicates whether to reverse the buffer before writing.</p></td>
-<td> </td>
+<td class="parameter_name"><p>reverse</p></td>
+<td class="parameter_description"><p>the flag that indicates whether to reverse the buffer before writing.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>addLineBreaks</p></td>
-<td><p>the flag; it is equal to 1 then linebreaks will be added before and after new buffer content.</p></td>
-<td> </td>
+<td class="parameter_name"><p>addLineBreaks</p></td>
+<td class="parameter_description"><p>the flag; it is equal to 1 then linebreaks will be added before and after new buffer content.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN4841"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecBnSetNodeValue.returns"></a><h4>Returns</h4>
<p> 0 on success and a negative values if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECBNBLOBSETNODEVALUE"></a><h3>xmlSecBnBlobSetNodeValue ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecBnBlobSetNodeValue (<code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>,
- <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> dataSize</code>,
- <code class="PARAMETER"><font><span class="TYPE">xmlNodePtr</span></font> cur</code>,
- <code class="PARAMETER"><a href="xmlsec-bn.html#XMLSECBNFORMAT"><span class="TYPE">xmlSecBnFormat</span></a> format</code>,
- <code class="PARAMETER"><font><span class="TYPE">int</span></font> reverse</code>,
- <code class="PARAMETER"><font><span class="TYPE">int</span></font> addLineBreaks</code>);</pre>
-<p>Converts the <code class="PARAMETER">blob</code>
+<div class="refsect2">
+<a name="xmlSecBnBlobSetNodeValue"></a><h3>xmlSecBnBlobSetNodeValue ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecBnBlobSetNodeValue (<em class="parameter"><code>const <a class="link" href="xmlsec-xmlsec.html#xmlSecByte" title="xmlSecByte"><span class="type">xmlSecByte</span></a> *data</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="type">xmlSecSize</span></a> dataSize</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlNodePtr</span></font> cur</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-bn.html#xmlSecBnFormat" title="enum xmlSecBnFormat"><span class="type">xmlSecBnFormat</span></a> format</code></em>,
+ <em class="parameter"><code><font><span class="type">int</span></font> reverse</code></em>,
+ <em class="parameter"><code><font><span class="type">int</span></font> addLineBreaks</code></em>);</pre>
+<p>Converts the <em class="parameter"><code>blob</code></em>
and sets it to node content.</p>
-<div class="REFSECT3">
-<a name="AEN4871"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN4873"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecBnBlobSetNodeValue.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>data</p></td>
-<td><p>the pointer to BN blob.</p></td>
-<td> </td>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the pointer to BN blob.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>dataSize</p></td>
-<td><p>the size of BN blob.</p></td>
-<td> </td>
+<td class="parameter_name"><p>dataSize</p></td>
+<td class="parameter_description"><p>the size of BN blob.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>cur</p></td>
-<td><p>the poitner to an XML node.</p></td>
-<td> </td>
+<td class="parameter_name"><p>cur</p></td>
+<td class="parameter_description"><p>the poitner to an XML node.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>format</p></td>
-<td><p>the BN format.</p></td>
-<td> </td>
+<td class="parameter_name"><p>format</p></td>
+<td class="parameter_description"><p>the BN format.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>reverse</p></td>
-<td><p>the flag that indicates whether to reverse the buffer before writing.</p></td>
-<td> </td>
+<td class="parameter_name"><p>reverse</p></td>
+<td class="parameter_description"><p>the flag that indicates whether to reverse the buffer before writing.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>addLineBreaks</p></td>
-<td><p>if the flag is equal to 1 then
+<td class="parameter_name"><p>addLineBreaks</p></td>
+<td class="parameter_description"><p>if the flag is equal to 1 then
linebreaks will be added before and after
new buffer content.</p></td>
-<td> </td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN4912"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecBnBlobSetNodeValue.returns"></a><h4>Returns</h4>
<p> 0 on success and a negative values if an error occurs.</p>
</div>
</div>
</div>
-<div class="REFSECT1">
-<a name="XMLSEC-BN.OTHER_DETAILS"></a><h2>Types and Values</h2>
-<div class="REFSECT2">
-<a name="XMLSECBNFORMAT"></a><h3>enum xmlSecBnFormat</h3>
+<div class="refsect1">
+<a name="xmlsec-bn.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="xmlSecBnFormat"></a><h3>enum xmlSecBnFormat</h3>
<p>The big numbers formats.</p>
-<div class="REFSECT3">
-<a name="AEN4922"></a><h4>Members</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN4924"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecBnFormat.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="enum_members_name">
+<col class="enum_members_description">
+<col width="200px" class="enum_members_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>xmlSecBnBase64</p></td>
-<td><p>the base64 decoded binary blob.</p></td>
-<td> </td>
+<td class="enum_member_name"><p><a name="xmlSecBnBase64"></a>xmlSecBnBase64</p></td>
+<td class="enum_member_description">
+<p>the base64 decoded binary blob.</p>
+</td>
+<td class="enum_member_annotations"> </td>
</tr>
<tr>
-<td><p>xmlSecBnHex</p></td>
-<td><p>the hex number.</p></td>
-<td> </td>
+<td class="enum_member_name"><p><a name="xmlSecBnHex"></a>xmlSecBnHex</p></td>
+<td class="enum_member_description">
+<p>the hex number.</p>
+</td>
+<td class="enum_member_annotations"> </td>
</tr>
<tr>
-<td><p>xmlSecBnDec</p></td>
-<td><p>the decimal number.</p></td>
-<td> </td>
+<td class="enum_member_name"><p><a name="xmlSecBnDec"></a>xmlSecBnDec</p></td>
+<td class="enum_member_description">
+<p>the decimal number.</p>
+</td>
+<td class="enum_member_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
</div>
</div>
</div>
-<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td align="left"><a accesskey="p" href="xmlsec-base64.html"><b><<< base64</b></a></td>
-<td align="right"><a accesskey="n" href="xmlsec-buffer.html"><b>buffer >>></b></a></td>
-</tr></table>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
</td></tr></table></td>
</tr></table></body>
</html>
diff --git a/docs/api/xmlsec-buffer.html b/docs/api/xmlsec-buffer.html
index c2425a3..99854a3 100644
--- a/docs/api/xmlsec-buffer.html
+++ b/docs/api/xmlsec-buffer.html
@@ -1,41 +1,14 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>buffer</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79">
-<link rel="HOME" title="XML Security Library Reference Manual" href="index.html">
-<link rel="UP" title="XML Security Core Library API Reference." href="xmlsec-ref.html">
-<link rel="PREVIOUS" title="bn" href="xmlsec-bn.html">
-<link rel="NEXT" title="dl" href="xmlsec-dl.html">
-<style type="text/css">.synopsis, .classsynopsis {
- background: #eeeeee;
- border: solid 1px #aaaaaa;
- padding: 0.5em;
-}
-.programlisting {
- background: #eeeeff;
- border: solid 1px #aaaaff;
- padding: 0.5em;
-}
-.variablelist {
- padding: 4px;
- margin-left: 3em;
-}
-.navigation {
- background: #ffeeee;
- border: solid 1px #ffaaaa;
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
-.navigation a {
- color: #770000;
-}
-.navigation a:visited {
- color: #550000;
-}
-.navigation .title {
- font-size: 200%;
-}</style>
+<title>buffer: XML Security Library Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="XML Security Library Reference Manual">
+<link rel="up" href="xmlsec-ref.html" title="XML Security Core Library API Reference.">
+<link rel="prev" href="xmlsec-bn.html" title="bn">
+<link rel="next" href="xmlsec-dl.html" title="dl">
+<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
<style type="text/css">
table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
width: 20em;
@@ -100,948 +73,953 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
</table>
</td>
<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent">
-<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td><a accesskey="p" href="xmlsec-bn.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="xmlsec-ref.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description"> <span class="dim">|</span>
+ <a href="#xmlsec-buffer.description" class="shortcut">Description</a></span>
+</td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<th width="100%" align="center">XML Security Library Reference Manual</th>
+<td><a accesskey="u" href="xmlsec-ref.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="xmlsec-bn.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="xmlsec-dl.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
-<h1>
-<a name="XMLSEC-BUFFER"></a>buffer</h1>
-<div class="REFNAMEDIV">
-<a name="AEN4950"></a><h2>Name</h2>buffer -- Binary buffer implementation.</div>
-<div class="REFSECT1">
-<a name="XMLSEC-BUFFER.FUNCTIONS"></a><h2>Functions</h2>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN4955"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
+<div class="refentry">
+<a name="xmlsec-buffer"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="xmlsec-buffer.top_of_page"></a>buffer</span></h2>
+<p>buffer — Binary buffer implementation.</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="xmlsec-buffer.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
<tbody>
<tr>
-<td><font><span class="RETURNVALUE">void</span></font></td>
-<td>
-<a href="xmlsec-buffer.html#XMLSECBUFFERSETDEFAULTALLOCMODE">xmlSecBufferSetDefaultAllocMode</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">void</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-buffer.html#xmlSecBufferSetDefaultAllocMode" title="xmlSecBufferSetDefaultAllocMode ()">xmlSecBufferSetDefaultAllocMode</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><a href="xmlsec-buffer.html#XMLSECBUFFER"><span class="RETURNVALUE">xmlSecBufferPtr</span></a></td>
-<td>
-<a href="xmlsec-buffer.html#XMLSECBUFFERCREATE">xmlSecBufferCreate</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecBufferPtr</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-buffer.html#xmlSecBufferCreate" title="xmlSecBufferCreate ()">xmlSecBufferCreate</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">void</span></font></td>
-<td>
-<a href="xmlsec-buffer.html#XMLSECBUFFERDESTROY">xmlSecBufferDestroy</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">void</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-buffer.html#xmlSecBufferDestroy" title="xmlSecBufferDestroy ()">xmlSecBufferDestroy</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-buffer.html#XMLSECBUFFERINITIALIZE">xmlSecBufferInitialize</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-buffer.html#xmlSecBufferInitialize" title="xmlSecBufferInitialize ()">xmlSecBufferInitialize</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">void</span></font></td>
-<td>
-<a href="xmlsec-buffer.html#XMLSECBUFFERFINALIZE">xmlSecBufferFinalize</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">void</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-buffer.html#xmlSecBufferFinalize" title="xmlSecBufferFinalize ()">xmlSecBufferFinalize</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td>
-<a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="RETURNVALUE">xmlSecByte</span></a> *</td>
-<td>
-<a href="xmlsec-buffer.html#XMLSECBUFFERGETDATA">xmlSecBufferGetData</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<a class="link" href="xmlsec-xmlsec.html#xmlSecByte" title="xmlSecByte"><span class="returnvalue">xmlSecByte</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-buffer.html#xmlSecBufferGetData" title="xmlSecBufferGetData ()">xmlSecBufferGetData</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-buffer.html#XMLSECBUFFERSETDATA">xmlSecBufferSetData</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-buffer.html#xmlSecBufferSetData" title="xmlSecBufferSetData ()">xmlSecBufferSetData</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="RETURNVALUE">xmlSecSize</span></a></td>
-<td>
-<a href="xmlsec-buffer.html#XMLSECBUFFERGETSIZE">xmlSecBufferGetSize</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="returnvalue">xmlSecSize</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-buffer.html#xmlSecBufferGetSize" title="xmlSecBufferGetSize ()">xmlSecBufferGetSize</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-buffer.html#XMLSECBUFFERSETSIZE">xmlSecBufferSetSize</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-buffer.html#xmlSecBufferSetSize" title="xmlSecBufferSetSize ()">xmlSecBufferSetSize</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="RETURNVALUE">xmlSecSize</span></a></td>
-<td>
-<a href="xmlsec-buffer.html#XMLSECBUFFERGETMAXSIZE">xmlSecBufferGetMaxSize</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="returnvalue">xmlSecSize</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-buffer.html#xmlSecBufferGetMaxSize" title="xmlSecBufferGetMaxSize ()">xmlSecBufferGetMaxSize</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-buffer.html#XMLSECBUFFERSETMAXSIZE">xmlSecBufferSetMaxSize</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-buffer.html#xmlSecBufferSetMaxSize" title="xmlSecBufferSetMaxSize ()">xmlSecBufferSetMaxSize</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">void</span></font></td>
-<td>
-<a href="xmlsec-buffer.html#XMLSECBUFFEREMPTY">xmlSecBufferEmpty</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">void</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-buffer.html#xmlSecBufferEmpty" title="xmlSecBufferEmpty ()">xmlSecBufferEmpty</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-buffer.html#XMLSECBUFFERAPPEND">xmlSecBufferAppend</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-buffer.html#xmlSecBufferAppend" title="xmlSecBufferAppend ()">xmlSecBufferAppend</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-buffer.html#XMLSECBUFFERPREPEND">xmlSecBufferPrepend</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-buffer.html#xmlSecBufferPrepend" title="xmlSecBufferPrepend ()">xmlSecBufferPrepend</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-buffer.html#XMLSECBUFFERREMOVEHEAD">xmlSecBufferRemoveHead</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-buffer.html#xmlSecBufferRemoveHead" title="xmlSecBufferRemoveHead ()">xmlSecBufferRemoveHead</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-buffer.html#XMLSECBUFFERREMOVETAIL">xmlSecBufferRemoveTail</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-buffer.html#xmlSecBufferRemoveTail" title="xmlSecBufferRemoveTail ()">xmlSecBufferRemoveTail</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-buffer.html#XMLSECBUFFERREADFILE">xmlSecBufferReadFile</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-buffer.html#xmlSecBufferReadFile" title="xmlSecBufferReadFile ()">xmlSecBufferReadFile</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-buffer.html#XMLSECBUFFERBASE64NODECONTENTREAD">xmlSecBufferBase64NodeContentRead</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-buffer.html#xmlSecBufferBase64NodeContentRead" title="xmlSecBufferBase64NodeContentRead ()">xmlSecBufferBase64NodeContentRead</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-buffer.html#XMLSECBUFFERBASE64NODECONTENTWRITE">xmlSecBufferBase64NodeContentWrite</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-buffer.html#xmlSecBufferBase64NodeContentWrite" title="xmlSecBufferBase64NodeContentWrite ()">xmlSecBufferBase64NodeContentWrite</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlOutputBufferPtr</span></font></td>
-<td>
-<a href="xmlsec-buffer.html#XMLSECBUFFERCREATEOUTPUTBUFFER">xmlSecBufferCreateOutputBuffer</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlOutputBufferPtr</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-buffer.html#xmlSecBufferCreateOutputBuffer" title="xmlSecBufferCreateOutputBuffer ()">xmlSecBufferCreateOutputBuffer</a> <span class="c_punctuation">()</span>
</td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
-</div>
-<div class="REFSECT1">
-<a name="XMLSEC-BUFFER.OTHER"></a><h2>Types and Values</h2>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN5100"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="xmlsec-buffer.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
<tbody>
<tr>
-<td>enum</td>
-<td><a href="xmlsec-buffer.html#XMLSECALLOCMODE">xmlSecAllocMode</a></td>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="xmlsec-buffer.html#xmlSecAllocMode" title="enum xmlSecAllocMode">xmlSecAllocMode</a></td>
</tr>
<tr>
-<td>struct</td>
-<td><a href="xmlsec-buffer.html#XMLSECBUFFER">xmlSecBuffer</a></td>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="xmlsec-buffer.html#xmlSecBuffer" title="struct xmlSecBuffer">xmlSecBuffer</a></td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
-</div>
-<div class="REFSECT1">
-<a name="XMLSEC-BUFFER.DESCRIPTION"></a><h2>Description</h2>
-<p>Binary buffer implementation.</p>
-</div>
-<div class="REFSECT1">
-<a name="XMLSEC-BUFFER.FUNCTIONS_DETAILS"></a><h2>Functions</h2>
-<div class="REFSECT2">
-<a name="XMLSECBUFFERSETDEFAULTALLOCMODE"></a><h3>xmlSecBufferSetDefaultAllocMode ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">void</span></font>
-xmlSecBufferSetDefaultAllocMode (<code class="PARAMETER"><a href="xmlsec-buffer.html#XMLSECALLOCMODE"><span class="TYPE">xmlSecAllocMode</span></a> defAllocMode</code>,
- <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> defInitialSize</code>);</pre>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="xmlsec-buffer.description"></a><h2>Description</h2>
+<p>
+Binary buffer implementation.
+</p>
+</div>
+<div class="refsect1">
+<a name="xmlsec-buffer.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="xmlSecBufferSetDefaultAllocMode"></a><h3>xmlSecBufferSetDefaultAllocMode ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">void</span></font>
+xmlSecBufferSetDefaultAllocMode (<em class="parameter"><code><a class="link" href="xmlsec-buffer.html#xmlSecAllocMode" title="enum xmlSecAllocMode"><span class="type">xmlSecAllocMode</span></a> defAllocMode</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="type">xmlSecSize</span></a> defInitialSize</code></em>);</pre>
<p>Sets new global default allocation mode and minimal intial size.</p>
-<div class="REFSECT3">
-<a name="AEN5130"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN5132"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecBufferSetDefaultAllocMode.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>defAllocMode</p></td>
-<td><p>the new default buffer allocation mode.</p></td>
-<td> </td>
+<td class="parameter_name"><p>defAllocMode</p></td>
+<td class="parameter_description"><p>the new default buffer allocation mode.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>defInitialSize</p></td>
-<td><p>the new default buffer minimal intial size.</p></td>
-<td> </td>
+<td class="parameter_name"><p>defInitialSize</p></td>
+<td class="parameter_description"><p>the new default buffer minimal intial size.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECBUFFERCREATE"></a><h3>xmlSecBufferCreate ()</h3>
-<pre class="PROGRAMLISTING"><a href="xmlsec-buffer.html#XMLSECBUFFER"><span class="RETURNVALUE">xmlSecBufferPtr</span></a>
-xmlSecBufferCreate (<code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> size</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecBufferCreate"></a><h3>xmlSecBufferCreate ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecBufferPtr</span></font>
+xmlSecBufferCreate (<em class="parameter"><code><a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="type">xmlSecSize</span></a> size</code></em>);</pre>
<p>Allocates and initalizes new memory buffer with given size.
-Caller is responsible for calling <a href="xmlsec-buffer.html#XMLSECBUFFERDESTROY"><span class="TYPE">xmlSecBufferDestroy</span></a> function
+Caller is responsible for calling <a class="link" href="xmlsec-buffer.html#xmlSecBufferDestroy" title="xmlSecBufferDestroy ()"><span class="type">xmlSecBufferDestroy</span></a> function
to free the buffer.</p>
-<div class="REFSECT3">
-<a name="AEN5160"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN5162"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecBufferCreate.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>size</p></td>
-<td><p>the intial size.</p></td>
-<td> </td>
+<td class="parameter_name"><p>size</p></td>
+<td class="parameter_description"><p>the intial size.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN5171"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecBufferCreate.returns"></a><h4>Returns</h4>
<p> pointer to newly allocated buffer or NULL if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECBUFFERDESTROY"></a><h3>xmlSecBufferDestroy ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">void</span></font>
-xmlSecBufferDestroy (<code class="PARAMETER"><a href="xmlsec-buffer.html#XMLSECBUFFER"><span class="TYPE">xmlSecBufferPtr</span></a> buf</code>);</pre>
-<p>Desrtoys buffer object created with <a href="xmlsec-buffer.html#XMLSECBUFFERCREATE"><span class="TYPE">xmlSecBufferCreate</span></a> function.</p>
-<div class="REFSECT3">
-<a name="AEN5187"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN5189"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect2">
+<a name="xmlSecBufferDestroy"></a><h3>xmlSecBufferDestroy ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">void</span></font>
+xmlSecBufferDestroy (<em class="parameter"><code><font><span class="type">xmlSecBufferPtr</span></font> buf</code></em>);</pre>
+<p>Desrtoys buffer object created with <a class="link" href="xmlsec-buffer.html#xmlSecBufferCreate" title="xmlSecBufferCreate ()"><span class="type">xmlSecBufferCreate</span></a> function.</p>
+<div class="refsect3">
+<a name="xmlSecBufferDestroy.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>buf</p></td>
-<td><p>the pointer to buffer object.</p></td>
-<td> </td>
+<td class="parameter_name"><p>buf</p></td>
+<td class="parameter_description"><p>the pointer to buffer object.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECBUFFERINITIALIZE"></a><h3>xmlSecBufferInitialize ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecBufferInitialize (<code class="PARAMETER"><a href="xmlsec-buffer.html#XMLSECBUFFER"><span class="TYPE">xmlSecBufferPtr</span></a> buf</code>,
- <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> size</code>);</pre>
-<p>Initializes buffer object <code class="PARAMETER">buf</code>
+<div class="refsect2">
+<a name="xmlSecBufferInitialize"></a><h3>xmlSecBufferInitialize ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecBufferInitialize (<em class="parameter"><code><font><span class="type">xmlSecBufferPtr</span></font> buf</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="type">xmlSecSize</span></a> size</code></em>);</pre>
+<p>Initializes buffer object <em class="parameter"><code>buf</code></em>
. Caller is responsible for calling
-<a href="xmlsec-buffer.html#XMLSECBUFFERFINALIZE"><span class="TYPE">xmlSecBufferFinalize</span></a> function to free allocated resources.</p>
-<div class="REFSECT3">
-<a name="AEN5215"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN5217"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<a class="link" href="xmlsec-buffer.html#xmlSecBufferFinalize" title="xmlSecBufferFinalize ()"><span class="type">xmlSecBufferFinalize</span></a> function to free allocated resources.</p>
+<div class="refsect3">
+<a name="xmlSecBufferInitialize.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>buf</p></td>
-<td><p>the pointer to buffer object.</p></td>
-<td> </td>
+<td class="parameter_name"><p>buf</p></td>
+<td class="parameter_description"><p>the pointer to buffer object.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>size</p></td>
-<td><p>the initial buffer size.</p></td>
-<td> </td>
+<td class="parameter_name"><p>size</p></td>
+<td class="parameter_description"><p>the initial buffer size.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN5232"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecBufferInitialize.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECBUFFERFINALIZE"></a><h3>xmlSecBufferFinalize ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">void</span></font>
-xmlSecBufferFinalize (<code class="PARAMETER"><a href="xmlsec-buffer.html#XMLSECBUFFER"><span class="TYPE">xmlSecBufferPtr</span></a> buf</code>);</pre>
-<p>Frees allocated resource for a buffer intialized with <a href="xmlsec-buffer.html#XMLSECBUFFERINITIALIZE"><span class="TYPE">xmlSecBufferInitialize</span></a>
+<div class="refsect2">
+<a name="xmlSecBufferFinalize"></a><h3>xmlSecBufferFinalize ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">void</span></font>
+xmlSecBufferFinalize (<em class="parameter"><code><font><span class="type">xmlSecBufferPtr</span></font> buf</code></em>);</pre>
+<p>Frees allocated resource for a buffer intialized with <a class="link" href="xmlsec-buffer.html#xmlSecBufferInitialize" title="xmlSecBufferInitialize ()"><span class="type">xmlSecBufferInitialize</span></a>
function.</p>
-<div class="REFSECT3">
-<a name="AEN5248"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN5250"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecBufferFinalize.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>buf</p></td>
-<td><p>the pointer to buffer object.</p></td>
-<td> </td>
+<td class="parameter_name"><p>buf</p></td>
+<td class="parameter_description"><p>the pointer to buffer object.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECBUFFERGETDATA"></a><h3>xmlSecBufferGetData ()</h3>
-<pre class="PROGRAMLISTING"><a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="RETURNVALUE">xmlSecByte</span></a> *
-xmlSecBufferGetData (<code class="PARAMETER"><a href="xmlsec-buffer.html#XMLSECBUFFER"><span class="TYPE">xmlSecBufferPtr</span></a> buf</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecBufferGetData"></a><h3>xmlSecBufferGetData ()</h3>
+<pre class="programlisting"><a class="link" href="xmlsec-xmlsec.html#xmlSecByte" title="xmlSecByte"><span class="returnvalue">xmlSecByte</span></a> *
+xmlSecBufferGetData (<em class="parameter"><code><font><span class="type">xmlSecBufferPtr</span></font> buf</code></em>);</pre>
<p>Gets pointer to buffer's data.</p>
-<div class="REFSECT3">
-<a name="AEN5270"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN5272"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecBufferGetData.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>buf</p></td>
-<td><p>the pointer to buffer object.</p></td>
-<td> </td>
+<td class="parameter_name"><p>buf</p></td>
+<td class="parameter_description"><p>the pointer to buffer object.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN5281"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecBufferGetData.returns"></a><h4>Returns</h4>
<p> pointer to buffer's data.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECBUFFERSETDATA"></a><h3>xmlSecBufferSetData ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecBufferSetData (<code class="PARAMETER"><a href="xmlsec-buffer.html#XMLSECBUFFER"><span class="TYPE">xmlSecBufferPtr</span></a> buf</code>,
- <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>,
- <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> size</code>);</pre>
-<p>Sets the value of the buffer to <code class="PARAMETER">data</code>
+<div class="refsect2">
+<a name="xmlSecBufferSetData"></a><h3>xmlSecBufferSetData ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecBufferSetData (<em class="parameter"><code><font><span class="type">xmlSecBufferPtr</span></font> buf</code></em>,
+ <em class="parameter"><code>const <a class="link" href="xmlsec-xmlsec.html#xmlSecByte" title="xmlSecByte"><span class="type">xmlSecByte</span></a> *data</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="type">xmlSecSize</span></a> size</code></em>);</pre>
+<p>Sets the value of the buffer to <em class="parameter"><code>data</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN5302"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN5304"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecBufferSetData.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>buf</p></td>
-<td><p>the pointer to buffer object.</p></td>
-<td> </td>
+<td class="parameter_name"><p>buf</p></td>
+<td class="parameter_description"><p>the pointer to buffer object.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>data</p></td>
-<td><p>the data.</p></td>
-<td> </td>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the data.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>size</p></td>
-<td><p>the data size.</p></td>
-<td> </td>
+<td class="parameter_name"><p>size</p></td>
+<td class="parameter_description"><p>the data size.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN5325"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecBufferSetData.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECBUFFERGETSIZE"></a><h3>xmlSecBufferGetSize ()</h3>
-<pre class="PROGRAMLISTING"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="RETURNVALUE">xmlSecSize</span></a>
-xmlSecBufferGetSize (<code class="PARAMETER"><a href="xmlsec-buffer.html#XMLSECBUFFER"><span class="TYPE">xmlSecBufferPtr</span></a> buf</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecBufferGetSize"></a><h3>xmlSecBufferGetSize ()</h3>
+<pre class="programlisting"><a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="returnvalue">xmlSecSize</span></a>
+xmlSecBufferGetSize (<em class="parameter"><code><font><span class="type">xmlSecBufferPtr</span></font> buf</code></em>);</pre>
<p>Gets the current buffer data size.</p>
-<div class="REFSECT3">
-<a name="AEN5339"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN5341"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecBufferGetSize.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>buf</p></td>
-<td><p>the pointer to buffer object.</p></td>
-<td> </td>
+<td class="parameter_name"><p>buf</p></td>
+<td class="parameter_description"><p>the pointer to buffer object.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN5350"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecBufferGetSize.returns"></a><h4>Returns</h4>
<p> the current data size.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECBUFFERSETSIZE"></a><h3>xmlSecBufferSetSize ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecBufferSetSize (<code class="PARAMETER"><a href="xmlsec-buffer.html#XMLSECBUFFER"><span class="TYPE">xmlSecBufferPtr</span></a> buf</code>,
- <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> size</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecBufferSetSize"></a><h3>xmlSecBufferSetSize ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecBufferSetSize (<em class="parameter"><code><font><span class="type">xmlSecBufferPtr</span></font> buf</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="type">xmlSecSize</span></a> size</code></em>);</pre>
<p>Sets new buffer data size. If necessary, buffer grows to
-have at least <code class="PARAMETER">size</code>
+have at least <em class="parameter"><code>size</code></em>
bytes.</p>
-<div class="REFSECT3">
-<a name="AEN5368"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN5370"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecBufferSetSize.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>buf</p></td>
-<td><p>the pointer to buffer object.</p></td>
-<td> </td>
+<td class="parameter_name"><p>buf</p></td>
+<td class="parameter_description"><p>the pointer to buffer object.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>size</p></td>
-<td><p>the new data size.</p></td>
-<td> </td>
+<td class="parameter_name"><p>size</p></td>
+<td class="parameter_description"><p>the new data size.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN5385"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecBufferSetSize.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECBUFFERGETMAXSIZE"></a><h3>xmlSecBufferGetMaxSize ()</h3>
-<pre class="PROGRAMLISTING"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="RETURNVALUE">xmlSecSize</span></a>
-xmlSecBufferGetMaxSize (<code class="PARAMETER"><a href="xmlsec-buffer.html#XMLSECBUFFER"><span class="TYPE">xmlSecBufferPtr</span></a> buf</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecBufferGetMaxSize"></a><h3>xmlSecBufferGetMaxSize ()</h3>
+<pre class="programlisting"><a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="returnvalue">xmlSecSize</span></a>
+xmlSecBufferGetMaxSize (<em class="parameter"><code><font><span class="type">xmlSecBufferPtr</span></font> buf</code></em>);</pre>
<p>Gets the maximum (allocated) buffer size.</p>
-<div class="REFSECT3">
-<a name="AEN5399"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN5401"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecBufferGetMaxSize.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>buf</p></td>
-<td><p>the pointer to buffer object.</p></td>
-<td> </td>
+<td class="parameter_name"><p>buf</p></td>
+<td class="parameter_description"><p>the pointer to buffer object.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN5410"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecBufferGetMaxSize.returns"></a><h4>Returns</h4>
<p> the maximum (allocated) buffer size.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECBUFFERSETMAXSIZE"></a><h3>xmlSecBufferSetMaxSize ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecBufferSetMaxSize (<code class="PARAMETER"><a href="xmlsec-buffer.html#XMLSECBUFFER"><span class="TYPE">xmlSecBufferPtr</span></a> buf</code>,
- <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> size</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecBufferSetMaxSize"></a><h3>xmlSecBufferSetMaxSize ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecBufferSetMaxSize (<em class="parameter"><code><font><span class="type">xmlSecBufferPtr</span></font> buf</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="type">xmlSecSize</span></a> size</code></em>);</pre>
<p>Sets new buffer maximum size. If necessary, buffer grows to
-have at least <code class="PARAMETER">size</code>
+have at least <em class="parameter"><code>size</code></em>
bytes.</p>
-<div class="REFSECT3">
-<a name="AEN5428"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN5430"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecBufferSetMaxSize.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>buf</p></td>
-<td><p>the pointer to buffer object.</p></td>
-<td> </td>
+<td class="parameter_name"><p>buf</p></td>
+<td class="parameter_description"><p>the pointer to buffer object.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>size</p></td>
-<td><p>the new maximum size.</p></td>
-<td> </td>
+<td class="parameter_name"><p>size</p></td>
+<td class="parameter_description"><p>the new maximum size.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN5445"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecBufferSetMaxSize.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECBUFFEREMPTY"></a><h3>xmlSecBufferEmpty ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">void</span></font>
-xmlSecBufferEmpty (<code class="PARAMETER"><a href="xmlsec-buffer.html#XMLSECBUFFER"><span class="TYPE">xmlSecBufferPtr</span></a> buf</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecBufferEmpty"></a><h3>xmlSecBufferEmpty ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">void</span></font>
+xmlSecBufferEmpty (<em class="parameter"><code><font><span class="type">xmlSecBufferPtr</span></font> buf</code></em>);</pre>
<p>Empties the buffer.</p>
-<div class="REFSECT3">
-<a name="AEN5459"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN5461"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecBufferEmpty.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>buf</p></td>
-<td><p>the pointer to buffer object.</p></td>
-<td> </td>
+<td class="parameter_name"><p>buf</p></td>
+<td class="parameter_description"><p>the pointer to buffer object.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECBUFFERAPPEND"></a><h3>xmlSecBufferAppend ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecBufferAppend (<code class="PARAMETER"><a href="xmlsec-buffer.html#XMLSECBUFFER"><span class="TYPE">xmlSecBufferPtr</span></a> buf</code>,
- <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>,
- <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> size</code>);</pre>
-<p>Appends the <code class="PARAMETER">data</code>
+<div class="refsect2">
+<a name="xmlSecBufferAppend"></a><h3>xmlSecBufferAppend ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecBufferAppend (<em class="parameter"><code><font><span class="type">xmlSecBufferPtr</span></font> buf</code></em>,
+ <em class="parameter"><code>const <a class="link" href="xmlsec-xmlsec.html#xmlSecByte" title="xmlSecByte"><span class="type">xmlSecByte</span></a> *data</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="type">xmlSecSize</span></a> size</code></em>);</pre>
+<p>Appends the <em class="parameter"><code>data</code></em>
after the current data stored in the buffer.</p>
-<div class="REFSECT3">
-<a name="AEN5488"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN5490"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecBufferAppend.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>buf</p></td>
-<td><p>the pointer to buffer object.</p></td>
-<td> </td>
+<td class="parameter_name"><p>buf</p></td>
+<td class="parameter_description"><p>the pointer to buffer object.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>data</p></td>
-<td><p>the data.</p></td>
-<td> </td>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the data.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>size</p></td>
-<td><p>the data size.</p></td>
-<td> </td>
+<td class="parameter_name"><p>size</p></td>
+<td class="parameter_description"><p>the data size.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN5511"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecBufferAppend.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECBUFFERPREPEND"></a><h3>xmlSecBufferPrepend ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecBufferPrepend (<code class="PARAMETER"><a href="xmlsec-buffer.html#XMLSECBUFFER"><span class="TYPE">xmlSecBufferPtr</span></a> buf</code>,
- <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>,
- <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> size</code>);</pre>
-<p>Prepends the <code class="PARAMETER">data</code>
+<div class="refsect2">
+<a name="xmlSecBufferPrepend"></a><h3>xmlSecBufferPrepend ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecBufferPrepend (<em class="parameter"><code><font><span class="type">xmlSecBufferPtr</span></font> buf</code></em>,
+ <em class="parameter"><code>const <a class="link" href="xmlsec-xmlsec.html#xmlSecByte" title="xmlSecByte"><span class="type">xmlSecByte</span></a> *data</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="type">xmlSecSize</span></a> size</code></em>);</pre>
+<p>Prepends the <em class="parameter"><code>data</code></em>
before the current data stored in the buffer.</p>
-<div class="REFSECT3">
-<a name="AEN5532"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN5534"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecBufferPrepend.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>buf</p></td>
-<td><p>the pointer to buffer object.</p></td>
-<td> </td>
+<td class="parameter_name"><p>buf</p></td>
+<td class="parameter_description"><p>the pointer to buffer object.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>data</p></td>
-<td><p>the data.</p></td>
-<td> </td>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the data.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>size</p></td>
-<td><p>the data size.</p></td>
-<td> </td>
+<td class="parameter_name"><p>size</p></td>
+<td class="parameter_description"><p>the data size.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN5555"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecBufferPrepend.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECBUFFERREMOVEHEAD"></a><h3>xmlSecBufferRemoveHead ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecBufferRemoveHead (<code class="PARAMETER"><a href="xmlsec-buffer.html#XMLSECBUFFER"><span class="TYPE">xmlSecBufferPtr</span></a> buf</code>,
- <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> size</code>);</pre>
-<p>Removes <code class="PARAMETER">size</code>
+<div class="refsect2">
+<a name="xmlSecBufferRemoveHead"></a><h3>xmlSecBufferRemoveHead ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecBufferRemoveHead (<em class="parameter"><code><font><span class="type">xmlSecBufferPtr</span></font> buf</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="type">xmlSecSize</span></a> size</code></em>);</pre>
+<p>Removes <em class="parameter"><code>size</code></em>
bytes from the beginning of the current buffer.</p>
-<div class="REFSECT3">
-<a name="AEN5573"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN5575"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecBufferRemoveHead.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>buf</p></td>
-<td><p>the pointer to buffer object.</p></td>
-<td> </td>
+<td class="parameter_name"><p>buf</p></td>
+<td class="parameter_description"><p>the pointer to buffer object.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>size</p></td>
-<td><p>the number of bytes to be removed.</p></td>
-<td> </td>
+<td class="parameter_name"><p>size</p></td>
+<td class="parameter_description"><p>the number of bytes to be removed.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN5590"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecBufferRemoveHead.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECBUFFERREMOVETAIL"></a><h3>xmlSecBufferRemoveTail ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecBufferRemoveTail (<code class="PARAMETER"><a href="xmlsec-buffer.html#XMLSECBUFFER"><span class="TYPE">xmlSecBufferPtr</span></a> buf</code>,
- <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> size</code>);</pre>
-<p>Removes <code class="PARAMETER">size</code>
+<div class="refsect2">
+<a name="xmlSecBufferRemoveTail"></a><h3>xmlSecBufferRemoveTail ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecBufferRemoveTail (<em class="parameter"><code><font><span class="type">xmlSecBufferPtr</span></font> buf</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="type">xmlSecSize</span></a> size</code></em>);</pre>
+<p>Removes <em class="parameter"><code>size</code></em>
bytes from the end of current buffer.</p>
-<div class="REFSECT3">
-<a name="AEN5608"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN5610"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecBufferRemoveTail.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>buf</p></td>
-<td><p>the pointer to buffer object.</p></td>
-<td> </td>
+<td class="parameter_name"><p>buf</p></td>
+<td class="parameter_description"><p>the pointer to buffer object.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>size</p></td>
-<td><p>the number of bytes to be removed.</p></td>
-<td> </td>
+<td class="parameter_name"><p>size</p></td>
+<td class="parameter_description"><p>the number of bytes to be removed.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN5625"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecBufferRemoveTail.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECBUFFERREADFILE"></a><h3>xmlSecBufferReadFile ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecBufferReadFile (<code class="PARAMETER"><a href="xmlsec-buffer.html#XMLSECBUFFER"><span class="TYPE">xmlSecBufferPtr</span></a> buf</code>,
- <code class="PARAMETER">const <font><span class="TYPE">char</span></font> *filename</code>);</pre>
-<p>Reads the content of the file <code class="PARAMETER">filename</code>
+<div class="refsect2">
+<a name="xmlSecBufferReadFile"></a><h3>xmlSecBufferReadFile ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecBufferReadFile (<em class="parameter"><code><font><span class="type">xmlSecBufferPtr</span></font> buf</code></em>,
+ <em class="parameter"><code>const <font><span class="type">char</span></font> *filename</code></em>);</pre>
+<p>Reads the content of the file <em class="parameter"><code>filename</code></em>
in the buffer.</p>
-<div class="REFSECT3">
-<a name="AEN5643"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN5645"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecBufferReadFile.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>buf</p></td>
-<td><p>the pointer to buffer object.</p></td>
-<td> </td>
+<td class="parameter_name"><p>buf</p></td>
+<td class="parameter_description"><p>the pointer to buffer object.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>filename</p></td>
-<td><p>the filename.</p></td>
-<td> </td>
+<td class="parameter_name"><p>filename</p></td>
+<td class="parameter_description"><p>the filename.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN5660"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecBufferReadFile.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECBUFFERBASE64NODECONTENTREAD"></a><h3>xmlSecBufferBase64NodeContentRead ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecBufferBase64NodeContentRead (<code class="PARAMETER"><a href="xmlsec-buffer.html#XMLSECBUFFER"><span class="TYPE">xmlSecBufferPtr</span></a> buf</code>,
- <code class="PARAMETER"><font><span class="TYPE">xmlNodePtr</span></font> node</code>);</pre>
-<p>Reads the content of the <code class="PARAMETER">node</code>
+<div class="refsect2">
+<a name="xmlSecBufferBase64NodeContentRead"></a><h3>xmlSecBufferBase64NodeContentRead ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecBufferBase64NodeContentRead (<em class="parameter"><code><font><span class="type">xmlSecBufferPtr</span></font> buf</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlNodePtr</span></font> node</code></em>);</pre>
+<p>Reads the content of the <em class="parameter"><code>node</code></em>
, base64 decodes it and stores the
result in the buffer.</p>
-<div class="REFSECT3">
-<a name="AEN5678"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN5680"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecBufferBase64NodeContentRead.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>buf</p></td>
-<td><p>the pointer to buffer object.</p></td>
-<td> </td>
+<td class="parameter_name"><p>buf</p></td>
+<td class="parameter_description"><p>the pointer to buffer object.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>node</p></td>
-<td><p>the pointer to node.</p></td>
-<td> </td>
+<td class="parameter_name"><p>node</p></td>
+<td class="parameter_description"><p>the pointer to node.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN5695"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecBufferBase64NodeContentRead.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECBUFFERBASE64NODECONTENTWRITE"></a><h3>xmlSecBufferBase64NodeContentWrite ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecBufferBase64NodeContentWrite (<code class="PARAMETER"><a href="xmlsec-buffer.html#XMLSECBUFFER"><span class="TYPE">xmlSecBufferPtr</span></a> buf</code>,
- <code class="PARAMETER"><font><span class="TYPE">xmlNodePtr</span></font> node</code>,
- <code class="PARAMETER"><font><span class="TYPE">int</span></font> columns</code>);</pre>
-<p>Sets the content of the <code class="PARAMETER">node</code>
+<div class="refsect2">
+<a name="xmlSecBufferBase64NodeContentWrite"></a><h3>xmlSecBufferBase64NodeContentWrite ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecBufferBase64NodeContentWrite (<em class="parameter"><code><font><span class="type">xmlSecBufferPtr</span></font> buf</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlNodePtr</span></font> node</code></em>,
+ <em class="parameter"><code><font><span class="type">int</span></font> columns</code></em>);</pre>
+<p>Sets the content of the <em class="parameter"><code>node</code></em>
to the base64 encoded buffer data.</p>
-<div class="REFSECT3">
-<a name="AEN5716"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN5718"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecBufferBase64NodeContentWrite.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>buf</p></td>
-<td><p>the pointer to buffer object.</p></td>
-<td> </td>
+<td class="parameter_name"><p>buf</p></td>
+<td class="parameter_description"><p>the pointer to buffer object.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>node</p></td>
-<td><p>the pointer to a node.</p></td>
-<td> </td>
+<td class="parameter_name"><p>node</p></td>
+<td class="parameter_description"><p>the pointer to a node.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>columns</p></td>
-<td><p>the max line size fro base64 encoded data.</p></td>
-<td> </td>
+<td class="parameter_name"><p>columns</p></td>
+<td class="parameter_description"><p>the max line size fro base64 encoded data.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN5739"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecBufferBase64NodeContentWrite.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECBUFFERCREATEOUTPUTBUFFER"></a><h3>xmlSecBufferCreateOutputBuffer ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlOutputBufferPtr</span></font>
-xmlSecBufferCreateOutputBuffer (<code class="PARAMETER"><a href="xmlsec-buffer.html#XMLSECBUFFER"><span class="TYPE">xmlSecBufferPtr</span></a> buf</code>);</pre>
-<p>Creates new LibXML output buffer to store data in the <code class="PARAMETER">buf</code>
+<div class="refsect2">
+<a name="xmlSecBufferCreateOutputBuffer"></a><h3>xmlSecBufferCreateOutputBuffer ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlOutputBufferPtr</span></font>
+xmlSecBufferCreateOutputBuffer (<em class="parameter"><code><font><span class="type">xmlSecBufferPtr</span></font> buf</code></em>);</pre>
+<p>Creates new LibXML output buffer to store data in the <em class="parameter"><code>buf</code></em>
. Caller is
-responsible for destroying <code class="PARAMETER">buf</code>
+responsible for destroying <em class="parameter"><code>buf</code></em>
when processing is done.</p>
-<div class="REFSECT3">
-<a name="AEN5755"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN5757"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecBufferCreateOutputBuffer.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>buf</p></td>
-<td><p>the pointer to buffer.</p></td>
-<td> </td>
+<td class="parameter_name"><p>buf</p></td>
+<td class="parameter_description"><p>the pointer to buffer.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN5766"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecBufferCreateOutputBuffer.returns"></a><h4>Returns</h4>
<p> pointer to newly allocated output buffer or NULL if an error
occurs.</p>
</div>
</div>
</div>
-<div class="REFSECT1">
-<a name="XMLSEC-BUFFER.OTHER_DETAILS"></a><h2>Types and Values</h2>
-<div class="REFSECT2">
-<a name="XMLSECALLOCMODE"></a><h3>enum xmlSecAllocMode</h3>
-<p>The memory allocation mode (used by <code class="PARAMETER">xmlSecBuffer</code>
- and <code class="PARAMETER">xmlSecList</code>
+<div class="refsect1">
+<a name="xmlsec-buffer.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="xmlSecAllocMode"></a><h3>enum xmlSecAllocMode</h3>
+<p>The memory allocation mode (used by <em class="parameter"><code>xmlSecBuffer</code></em>
+ and <em class="parameter"><code>xmlSecList</code></em>
).</p>
-<div class="REFSECT3">
-<a name="AEN5778"></a><h4>Members</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN5780"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecAllocMode.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="enum_members_name">
+<col class="enum_members_description">
+<col width="200px" class="enum_members_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>xmlSecAllocModeExact</p></td>
-<td><p>the memory allocation mode that minimizes total
- allocated memory size.</p></td>
-<td> </td>
+<td class="enum_member_name"><p><a name="xmlSecAllocModeExact"></a>xmlSecAllocModeExact</p></td>
+<td class="enum_member_description">
+<p>the memory allocation mode that minimizes total
+ allocated memory size.</p>
+</td>
+<td class="enum_member_annotations"> </td>
</tr>
<tr>
-<td><p>xmlSecAllocModeDouble</p></td>
-<td><p>the memory allocation mode that tries to minimize
- the number of malloc calls.</p></td>
-<td> </td>
+<td class="enum_member_name"><p><a name="xmlSecAllocModeDouble"></a>xmlSecAllocModeDouble</p></td>
+<td class="enum_member_description">
+<p>the memory allocation mode that tries to minimize
+ the number of malloc calls.</p>
+</td>
+<td class="enum_member_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECBUFFER"></a><h3>struct xmlSecBuffer</h3>
-<pre class="PROGRAMLISTING">struct xmlSecBuffer {
+<div class="refsect2">
+<a name="xmlSecBuffer"></a><h3>struct xmlSecBuffer</h3>
+<pre class="programlisting">struct xmlSecBuffer {
xmlSecByte* data;
xmlSecSize size;
xmlSecSize maxSize;
xmlSecAllocMode allocMode;
-};</pre>
+};
+</pre>
<p>Binary data buffer.</p>
-<div class="REFSECT3">
-<a name="AEN5801"></a><h4>Members</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN5803"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecBuffer.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="struct_members_name">
+<col class="struct_members_description">
+<col width="200px" class="struct_members_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p><a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *<code class="STRUCTFIELD">data</code>;</p></td>
-<td><p>the pointer to buffer data.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><a class="link" href="xmlsec-xmlsec.html#xmlSecByte" title="xmlSecByte"><span class="type">xmlSecByte</span></a> *<em class="structfield"><code><a name="xmlSecBuffer.data"></a>data</code></em>;</p></td>
+<td class="struct_member_description"><p>the pointer to buffer data.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> <code class="STRUCTFIELD">size</code>;</p></td>
-<td><p>the current data size.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="type">xmlSecSize</span></a> <em class="structfield"><code><a name="xmlSecBuffer.size"></a>size</code></em>;</p></td>
+<td class="struct_member_description"><p>the current data size.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> <code class="STRUCTFIELD">maxSize</code>;</p></td>
-<td><p>the max data size (allocated buffer size).</p></td>
-<td> </td>
+<td class="struct_member_name"><p><a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="type">xmlSecSize</span></a> <em class="structfield"><code><a name="xmlSecBuffer.maxSize"></a>maxSize</code></em>;</p></td>
+<td class="struct_member_description"><p>the max data size (allocated buffer size).</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><a href="xmlsec-buffer.html#XMLSECALLOCMODE"><span class="TYPE">xmlSecAllocMode</span></a> <code class="STRUCTFIELD">allocMode</code>;</p></td>
-<td><p>the buffer memory allocation mode.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><a class="link" href="xmlsec-buffer.html#xmlSecAllocMode" title="enum xmlSecAllocMode"><span class="type">xmlSecAllocMode</span></a> <em class="structfield"><code><a name="xmlSecBuffer.allocMode"></a>allocMode</code></em>;</p></td>
+<td class="struct_member_description"><p>the buffer memory allocation mode.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
</div>
</div>
</div>
-<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td align="left"><a accesskey="p" href="xmlsec-bn.html"><b><<< bn</b></a></td>
-<td align="right"><a accesskey="n" href="xmlsec-dl.html"><b>dl >>></b></a></td>
-</tr></table>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
</td></tr></table></td>
</tr></table></body>
</html>
diff --git a/docs/api/xmlsec-custom-keys-manager.html b/docs/api/xmlsec-custom-keys-manager.html
index ce7c373..035712a 100644
--- a/docs/api/xmlsec-custom-keys-manager.html
+++ b/docs/api/xmlsec-custom-keys-manager.html
@@ -1,41 +1,14 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Writing a custom keys manager.</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79">
-<link rel="HOME" title="XML Security Library Reference Manual" href="index.html">
-<link rel="UP" title="Examples." href="xmlsec-examples.html">
-<link rel="PREVIOUS" title="Decrypting data with keys manager." href="xmlsec-decrypt-with-keys-mngr.html">
-<link rel="NEXT" title="APPENDIX A. XML Security Library Signature Klasses." href="xmlsec-signature-klasses.html">
-<style type="text/css">.synopsis, .classsynopsis {
- background: #eeeeee;
- border: solid 1px #aaaaaa;
- padding: 0.5em;
-}
-.programlisting {
- background: #eeeeff;
- border: solid 1px #aaaaff;
- padding: 0.5em;
-}
-.variablelist {
- padding: 4px;
- margin-left: 3em;
-}
-.navigation {
- background: #ffeeee;
- border: solid 1px #ffaaaa;
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
-.navigation a {
- color: #770000;
-}
-.navigation a:visited {
- color: #550000;
-}
-.navigation .title {
- font-size: 200%;
-}</style>
+<title>Writing a custom keys manager.: XML Security Library Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="XML Security Library Reference Manual">
+<link rel="up" href="xmlsec-examples.html" title="Examples.">
+<link rel="prev" href="xmlsec-decrypt-with-keys-mngr.html" title="Decrypting data with keys manager.">
+<link rel="next" href="xmlsec-signature-klasses.html" title="APPENDIX A. XML Security Library Signature Klasses.">
+<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
<style type="text/css">
table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
width: 20em;
@@ -100,25 +73,25 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
</table>
</td>
<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent">
-<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td><a accesskey="p" href="xmlsec-decrypt-with-keys-mngr.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="xmlsec-examples.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<th width="100%" align="center">XML Security Library Reference Manual</th>
+<td><a accesskey="u" href="xmlsec-examples.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="xmlsec-decrypt-with-keys-mngr.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="xmlsec-signature-klasses.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
-<br clear="all"><div class="SECT1">
-<h1 class="SECT1"><a name="XMLSEC-CUSTOM-KEYS-MANAGER">Writing a custom keys manager.</a></h1>
-<br clear="all"><div class="SECT2">
-<h2 class="SECT2"><a name="XMLSEC-EXAMPLE-DECRYPT3">decrypt3.c</a></h2>
-<p></p>
-<div class="INFORMALEXAMPLE">
-<p></p>
-<a name="AEN832"></a><pre class="PROGRAMLISTING">/**
+<div class="sect1">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="xmlsec-custom-keys-manager"></a>Writing a custom keys manager.</h2></div></div></div>
+<div class="sect2">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="xmlsec-example-decrypt3"></a>decrypt3.c</h3></div></div></div>
+<div class="informalexample"><pre class="programlisting">
+/**
* XML Security Library example: Decrypting an encrypted file using a custom keys manager.
*
* Decrypts encrypted XML file using a custom files based keys manager.
- * We assume that key's name in <a href="http://www.w3.org/TR/xmldsig-core/#sec-KeyName" target="_top"><dsig:KeyName/></a> element is just
+ * We assume that key's name in <a class="ulink" href="" target="_top"><dsig:KeyName/></a> element is just
* key's file name in the current folder.
*
* Usage:
@@ -391,7 +364,7 @@ create_files_keys_mngr(void) {
/****************************************************************************
*
* Files Keys Store: we assume that key's name (content of the
- * <a href="http://www.w3.org/TR/xmldsig-core/#sec-KeyName" target="_top"><dsig:KeyName/></a> element is a name of the file with a key (in the
+ * <a class="ulink" href="" target="_top"><dsig:KeyName/></a> element is a name of the file with a key (in the
* current folder).
* Attention: this probably not a good solution for high traffic systems.
*
@@ -429,7 +402,7 @@ files_keys_store_get_klass(void) {
* files_keys_store_find_key:
* @store: the pointer to simple keys store.
* @name: the desired key name.
- * @keyInfoCtx: the pointer to <a href="http://www.w3.org/TR/xmldsig-core/#sec-KeyInfo" target="_top"><dsig:KeyInfo/></a> node processing context.
+ * @keyInfoCtx: the pointer to <a class="ulink" href="" target="_top"><dsig:KeyInfo/></a> node processing context.
*
* Lookups key in the @store. The caller is responsible for destroying
* returned key with #xmlSecKeyDestroy function.
@@ -484,15 +457,13 @@ files_keys_store_find_key(xmlSecKeyStorePtr store, const xmlChar* name, xmlSecKe
}
return(key);
-}
</pre>
-<p></p>
-</div>
+}
+
+</pre></div>
</div>
</div>
-<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td align="left"><a accesskey="p" href="xmlsec-decrypt-with-keys-mngr.html"><b><<< Decrypting data with keys manager.</b></a></td>
-<td align="right"><a accesskey="n" href="xmlsec-signature-klasses.html"><b>APPENDIX A. XML Security Library Signature Klasses. >>></b></a></td>
-</tr></table>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
</td></tr></table></td>
</tr></table></body>
</html>
diff --git a/docs/api/xmlsec-decrypt-with-keys-mngr.html b/docs/api/xmlsec-decrypt-with-keys-mngr.html
index b7b16ff..a718baf 100644
--- a/docs/api/xmlsec-decrypt-with-keys-mngr.html
+++ b/docs/api/xmlsec-decrypt-with-keys-mngr.html
@@ -1,41 +1,14 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Decrypting data with keys manager.</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79">
-<link rel="HOME" title="XML Security Library Reference Manual" href="index.html">
-<link rel="UP" title="Examples." href="xmlsec-examples.html">
-<link rel="PREVIOUS" title="Decrypting data with a single key." href="xmlsec-decrypt-with-signle-key.html">
-<link rel="NEXT" title="Writing a custom keys manager." href="xmlsec-custom-keys-manager.html">
-<style type="text/css">.synopsis, .classsynopsis {
- background: #eeeeee;
- border: solid 1px #aaaaaa;
- padding: 0.5em;
-}
-.programlisting {
- background: #eeeeff;
- border: solid 1px #aaaaff;
- padding: 0.5em;
-}
-.variablelist {
- padding: 4px;
- margin-left: 3em;
-}
-.navigation {
- background: #ffeeee;
- border: solid 1px #ffaaaa;
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
-.navigation a {
- color: #770000;
-}
-.navigation a:visited {
- color: #550000;
-}
-.navigation .title {
- font-size: 200%;
-}</style>
+<title>Decrypting data with keys manager.: XML Security Library Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="XML Security Library Reference Manual">
+<link rel="up" href="xmlsec-examples.html" title="Examples.">
+<link rel="prev" href="xmlsec-decrypt-with-signle-key.html" title="Decrypting data with a single key.">
+<link rel="next" href="xmlsec-custom-keys-manager.html" title="Writing a custom keys manager.">
+<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
<style type="text/css">
table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
width: 20em;
@@ -100,21 +73,21 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
</table>
</td>
<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent">
-<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td><a accesskey="p" href="xmlsec-decrypt-with-signle-key.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="xmlsec-examples.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<th width="100%" align="center">XML Security Library Reference Manual</th>
+<td><a accesskey="u" href="xmlsec-examples.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="xmlsec-decrypt-with-signle-key.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="xmlsec-custom-keys-manager.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
-<br clear="all"><div class="SECT1">
-<h1 class="SECT1"><a name="XMLSEC-DECRYPT-WITH-KEYS-MNGR">Decrypting data with keys manager.</a></h1>
-<br clear="all"><div class="SECT2">
-<h2 class="SECT2"><a name="XMLSEC-EXAMPLE-DECRYPT2">decrypt2.c</a></h2>
-<p></p>
-<div class="INFORMALEXAMPLE">
-<p></p>
-<a name="AEN825"></a><pre class="PROGRAMLISTING">/**
+<div class="sect1">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="xmlsec-decrypt-with-keys-mngr"></a>Decrypting data with keys manager.</h2></div></div></div>
+<div class="sect2">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="xmlsec-example-decrypt2"></a>decrypt2.c</h3></div></div></div>
+<div class="informalexample"><pre class="programlisting">
+/**
* XML Security Library example: Decrypting an encrypted file using keys manager.
*
* Decrypts encrypted XML file using keys manager and a list of
@@ -405,15 +378,13 @@ done:
xmlFreeDoc(doc);
}
return(res);
-}
</pre>
-<p></p>
-</div>
+}
+
+</pre></div>
</div>
</div>
-<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td align="left"><a accesskey="p" href="xmlsec-decrypt-with-signle-key.html"><b><<< Decrypting data with a single key.</b></a></td>
-<td align="right"><a accesskey="n" href="xmlsec-custom-keys-manager.html"><b>Writing a custom keys manager. >>></b></a></td>
-</tr></table>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
</td></tr></table></td>
</tr></table></body>
</html>
diff --git a/docs/api/xmlsec-decrypt-with-signle-key.html b/docs/api/xmlsec-decrypt-with-signle-key.html
index d98f905..ecd0139 100644
--- a/docs/api/xmlsec-decrypt-with-signle-key.html
+++ b/docs/api/xmlsec-decrypt-with-signle-key.html
@@ -1,41 +1,14 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Decrypting data with a single key.</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79">
-<link rel="HOME" title="XML Security Library Reference Manual" href="index.html">
-<link rel="UP" title="Examples." href="xmlsec-examples.html">
-<link rel="PREVIOUS" title="Encrypting data with a session key." href="xmlsec-encrypt-with-session-key.html">
-<link rel="NEXT" title="Decrypting data with keys manager." href="xmlsec-decrypt-with-keys-mngr.html">
-<style type="text/css">.synopsis, .classsynopsis {
- background: #eeeeee;
- border: solid 1px #aaaaaa;
- padding: 0.5em;
-}
-.programlisting {
- background: #eeeeff;
- border: solid 1px #aaaaff;
- padding: 0.5em;
-}
-.variablelist {
- padding: 4px;
- margin-left: 3em;
-}
-.navigation {
- background: #ffeeee;
- border: solid 1px #ffaaaa;
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
-.navigation a {
- color: #770000;
-}
-.navigation a:visited {
- color: #550000;
-}
-.navigation .title {
- font-size: 200%;
-}</style>
+<title>Decrypting data with a single key.: XML Security Library Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="XML Security Library Reference Manual">
+<link rel="up" href="xmlsec-examples.html" title="Examples.">
+<link rel="prev" href="xmlsec-encrypt-with-session-key.html" title="Encrypting data with a session key.">
+<link rel="next" href="xmlsec-decrypt-with-keys-mngr.html" title="Decrypting data with keys manager.">
+<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
<style type="text/css">
table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
width: 20em;
@@ -100,21 +73,21 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
</table>
</td>
<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent">
-<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td><a accesskey="p" href="xmlsec-encrypt-with-session-key.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="xmlsec-examples.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<th width="100%" align="center">XML Security Library Reference Manual</th>
+<td><a accesskey="u" href="xmlsec-examples.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="xmlsec-encrypt-with-session-key.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="xmlsec-decrypt-with-keys-mngr.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
-<br clear="all"><div class="SECT1">
-<h1 class="SECT1"><a name="XMLSEC-DECRYPT-WITH-SIGNLE-KEY">Decrypting data with a single key.</a></h1>
-<br clear="all"><div class="SECT2">
-<h2 class="SECT2"><a name="XMLSEC-EXAMPLE-DECRYPT1">decrypt1.c</a></h2>
-<p></p>
-<div class="INFORMALEXAMPLE">
-<p></p>
-<a name="AEN818"></a><pre class="PROGRAMLISTING">/**
+<div class="sect1">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="xmlsec-decrypt-with-signle-key"></a>Decrypting data with a single key.</h2></div></div></div>
+<div class="sect2">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="xmlsec-example-decrypt1"></a>decrypt1.c</h3></div></div></div>
+<div class="informalexample"><pre class="programlisting">
+/**
* XML Security Library example: Decrypting an encrypted file using a single key.
*
* Decrypts encrypted XML file using a single DES key from a binary file
@@ -335,15 +308,13 @@ done:
xmlFreeDoc(doc);
}
return(res);
-}
</pre>
-<p></p>
-</div>
+}
+
+</pre></div>
</div>
</div>
-<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td align="left"><a accesskey="p" href="xmlsec-encrypt-with-session-key.html"><b><<< Encrypting data with a session key.</b></a></td>
-<td align="right"><a accesskey="n" href="xmlsec-decrypt-with-keys-mngr.html"><b>Decrypting data with keys manager. >>></b></a></td>
-</tr></table>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
</td></tr></table></td>
</tr></table></body>
</html>
diff --git a/docs/api/xmlsec-dl.html b/docs/api/xmlsec-dl.html
index 43af7b1..9b6d468 100644
--- a/docs/api/xmlsec-dl.html
+++ b/docs/api/xmlsec-dl.html
@@ -1,41 +1,14 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>dl</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79">
-<link rel="HOME" title="XML Security Library Reference Manual" href="index.html">
-<link rel="UP" title="XML Security Core Library API Reference." href="xmlsec-ref.html">
-<link rel="PREVIOUS" title="buffer" href="xmlsec-buffer.html">
-<link rel="NEXT" title="errors" href="xmlsec-errors.html">
-<style type="text/css">.synopsis, .classsynopsis {
- background: #eeeeee;
- border: solid 1px #aaaaaa;
- padding: 0.5em;
-}
-.programlisting {
- background: #eeeeff;
- border: solid 1px #aaaaff;
- padding: 0.5em;
-}
-.variablelist {
- padding: 4px;
- margin-left: 3em;
-}
-.navigation {
- background: #ffeeee;
- border: solid 1px #ffaaaa;
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
-.navigation a {
- color: #770000;
-}
-.navigation a:visited {
- color: #550000;
-}
-.navigation .title {
- font-size: 200%;
-}</style>
+<title>dl: XML Security Library Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="XML Security Library Reference Manual">
+<link rel="up" href="xmlsec-ref.html" title="XML Security Core Library API Reference.">
+<link rel="prev" href="xmlsec-buffer.html" title="buffer">
+<link rel="next" href="xmlsec-errors.html" title="errors">
+<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
<style type="text/css">
table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
width: 20em;
@@ -100,277 +73,289 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
</table>
</td>
<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent">
-<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td><a accesskey="p" href="xmlsec-buffer.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="xmlsec-ref.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description"> <span class="dim">|</span>
+ <a href="#xmlsec-dl.description" class="shortcut">Description</a></span>
+</td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<th width="100%" align="center">XML Security Library Reference Manual</th>
+<td><a accesskey="u" href="xmlsec-ref.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="xmlsec-buffer.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="xmlsec-errors.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
-<h1>
-<a name="XMLSEC-DL"></a>dl</h1>
-<div class="REFNAMEDIV">
-<a name="AEN5847"></a><h2>Name</h2>dl -- Dynamic crypto-engine library loading support.</div>
-<div class="REFSECT1">
-<a name="XMLSEC-DL.FUNCTIONS"></a><h2>Functions</h2>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN5852"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
+<div class="refentry">
+<a name="xmlsec-dl"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="xmlsec-dl.top_of_page"></a>dl</span></h2>
+<p>dl — Dynamic crypto-engine library loading support.</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="xmlsec-dl.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
<tbody>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-dl.html#XMLSECCRYPTODLFUNCTIONSREGISTERKEYDATAANDTRANSFORMS">xmlSecCryptoDLFunctionsRegisterKeyDataAndTransforms</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-dl.html#xmlSecCryptoDLFunctionsRegisterKeyDataAndTransforms" title="xmlSecCryptoDLFunctionsRegisterKeyDataAndTransforms ()">xmlSecCryptoDLFunctionsRegisterKeyDataAndTransforms</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-dl.html#XMLSECCRYPTODLINIT">xmlSecCryptoDLInit</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-dl.html#xmlSecCryptoDLInit" title="xmlSecCryptoDLInit ()">xmlSecCryptoDLInit</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-dl.html#XMLSECCRYPTODLSHUTDOWN">xmlSecCryptoDLShutdown</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-dl.html#xmlSecCryptoDLShutdown" title="xmlSecCryptoDLShutdown ()">xmlSecCryptoDLShutdown</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-dl.html#XMLSECCRYPTODLLOADLIBRARY">xmlSecCryptoDLLoadLibrary</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-dl.html#xmlSecCryptoDLLoadLibrary" title="xmlSecCryptoDLLoadLibrary ()">xmlSecCryptoDLLoadLibrary</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecCryptoDLFunctionsPtr</span></font></td>
-<td>
-<a href="xmlsec-dl.html#XMLSECCRYPTODLGETLIBRARYFUNCTIONS">xmlSecCryptoDLGetLibraryFunctions</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecCryptoDLFunctionsPtr</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-dl.html#xmlSecCryptoDLGetLibraryFunctions" title="xmlSecCryptoDLGetLibraryFunctions ()">xmlSecCryptoDLGetLibraryFunctions</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-dl.html#XMLSECCRYPTODLUNLOADLIBRARY">xmlSecCryptoDLUnloadLibrary</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-dl.html#xmlSecCryptoDLUnloadLibrary" title="xmlSecCryptoDLUnloadLibrary ()">xmlSecCryptoDLUnloadLibrary</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-dl.html#XMLSECCRYPTODLSETFUNCTIONS">xmlSecCryptoDLSetFunctions</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-dl.html#xmlSecCryptoDLSetFunctions" title="xmlSecCryptoDLSetFunctions ()">xmlSecCryptoDLSetFunctions</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecCryptoDLFunctionsPtr</span></font></td>
-<td>
-<a href="xmlsec-dl.html#XMLSECCRYPTODLGETFUNCTIONS">xmlSecCryptoDLGetFunctions</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecCryptoDLFunctionsPtr</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-dl.html#xmlSecCryptoDLGetFunctions" title="xmlSecCryptoDLGetFunctions ()">xmlSecCryptoDLGetFunctions</a> <span class="c_punctuation">()</span>
</td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT1">
-<a name="XMLSEC-DL.DESCRIPTION"></a><h2>Description</h2>
-<p>Dynamic crypto-engine library loading support.</p>
+<div class="refsect1">
+<a name="xmlsec-dl.description"></a><h2>Description</h2>
+<p>
+Dynamic crypto-engine library loading support.
+</p>
</div>
-<div class="REFSECT1">
-<a name="XMLSEC-DL.FUNCTIONS_DETAILS"></a><h2>Functions</h2>
-<div class="REFSECT2">
-<a name="XMLSECCRYPTODLFUNCTIONSREGISTERKEYDATAANDTRANSFORMS"></a><h3>xmlSecCryptoDLFunctionsRegisterKeyDataAndTransforms ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
+<div class="refsect1">
+<a name="xmlsec-dl.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="xmlSecCryptoDLFunctionsRegisterKeyDataAndTransforms"></a><h3>xmlSecCryptoDLFunctionsRegisterKeyDataAndTransforms ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
xmlSecCryptoDLFunctionsRegisterKeyDataAndTransforms
- (<code class="PARAMETER"><font><span class="TYPE">xmlSecCryptoDLFunctionsPtr</span></font> functions</code>);</pre>
-<p>Registers the key data and transforms klasses from <code class="PARAMETER">functions</code>
+ (<em class="parameter"><code><font><span class="type">xmlSecCryptoDLFunctionsPtr</span></font> functions</code></em>);</pre>
+<p>Registers the key data and transforms klasses from <em class="parameter"><code>functions</code></em>
table in xmlsec.</p>
-<div class="REFSECT3">
-<a name="AEN5928"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN5930"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecCryptoDLFunctionsRegisterKeyDataAndTransforms.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>functions</p></td>
-<td><p>the functions table.</p></td>
-<td> </td>
+<td class="parameter_name"><p>functions</p></td>
+<td class="parameter_description"><p>the functions table.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN5939"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecCryptoDLFunctionsRegisterKeyDataAndTransforms.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECCRYPTODLINIT"></a><h3>xmlSecCryptoDLInit ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecCryptoDLInit (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecCryptoDLInit"></a><h3>xmlSecCryptoDLInit ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecCryptoDLInit (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>Initializes dynamic loading engine. This is an internal function
and should not be called by application directly.</p>
-<div class="REFSECT3">
-<a name="AEN5952"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecCryptoDLInit.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECCRYPTODLSHUTDOWN"></a><h3>xmlSecCryptoDLShutdown ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecCryptoDLShutdown (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecCryptoDLShutdown"></a><h3>xmlSecCryptoDLShutdown ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecCryptoDLShutdown (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>Shutdowns dynamic loading engine. This is an internal function
and should not be called by application directly.</p>
-<div class="REFSECT3">
-<a name="AEN5965"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecCryptoDLShutdown.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECCRYPTODLLOADLIBRARY"></a><h3>xmlSecCryptoDLLoadLibrary ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecCryptoDLLoadLibrary (<code class="PARAMETER">const <font><span class="TYPE">xmlChar</span></font> *crypto</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecCryptoDLLoadLibrary"></a><h3>xmlSecCryptoDLLoadLibrary ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecCryptoDLLoadLibrary (<em class="parameter"><code>const <font><span class="type">xmlChar</span></font> *crypto</code></em>);</pre>
<p>Loads the xmlsec-$crypto library. This function is NOT thread safe,
-application MUST NOT call <a href="xmlsec-dl.html#XMLSECCRYPTODLLOADLIBRARY"><span class="TYPE">xmlSecCryptoDLLoadLibrary</span></a>, <a href="xmlsec-dl.html#XMLSECCRYPTODLGETLIBRARYFUNCTIONS"><span class="TYPE">xmlSecCryptoDLGetLibraryFunctions</span></a>,
-and <a href="xmlsec-dl.html#XMLSECCRYPTODLUNLOADLIBRARY"><span class="TYPE">xmlSecCryptoDLUnloadLibrary</span></a> functions from multiple threads.</p>
-<div class="REFSECT3">
-<a name="AEN5985"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN5987"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+application MUST NOT call <a class="link" href="xmlsec-dl.html#xmlSecCryptoDLLoadLibrary" title="xmlSecCryptoDLLoadLibrary ()"><span class="type">xmlSecCryptoDLLoadLibrary</span></a>, <a class="link" href="xmlsec-dl.html#xmlSecCryptoDLGetLibraryFunctions" title="xmlSecCryptoDLGetLibraryFunctions ()"><span class="type">xmlSecCryptoDLGetLibraryFunctions</span></a>,
+and <a class="link" href="xmlsec-dl.html#xmlSecCryptoDLUnloadLibrary" title="xmlSecCryptoDLUnloadLibrary ()"><span class="type">xmlSecCryptoDLUnloadLibrary</span></a> functions from multiple threads.</p>
+<div class="refsect3">
+<a name="xmlSecCryptoDLLoadLibrary.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>crypto</p></td>
-<td><p>the desired crypto library name ("openssl", "nss", ...). If NULL
+<td class="parameter_name"><p>crypto</p></td>
+<td class="parameter_description"><p>the desired crypto library name ("openssl", "nss", ...). If NULL
then the default crypto engine will be used.</p></td>
-<td> </td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN5996"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecCryptoDLLoadLibrary.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECCRYPTODLGETLIBRARYFUNCTIONS"></a><h3>xmlSecCryptoDLGetLibraryFunctions ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecCryptoDLFunctionsPtr</span></font>
-xmlSecCryptoDLGetLibraryFunctions (<code class="PARAMETER">const <font><span class="TYPE">xmlChar</span></font> *crypto</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecCryptoDLGetLibraryFunctions"></a><h3>xmlSecCryptoDLGetLibraryFunctions ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecCryptoDLFunctionsPtr</span></font>
+xmlSecCryptoDLGetLibraryFunctions (<em class="parameter"><code>const <font><span class="type">xmlChar</span></font> *crypto</code></em>);</pre>
<p>Loads the xmlsec-$crypto library and gets global crypto functions/transforms/keys data/keys store
-table. This function is NOT thread safe, application MUST NOT call <a href="xmlsec-dl.html#XMLSECCRYPTODLLOADLIBRARY"><span class="TYPE">xmlSecCryptoDLLoadLibrary</span></a>,
-<a href="xmlsec-dl.html#XMLSECCRYPTODLGETLIBRARYFUNCTIONS"><span class="TYPE">xmlSecCryptoDLGetLibraryFunctions</span></a>, and <a href="xmlsec-dl.html#XMLSECCRYPTODLUNLOADLIBRARY"><span class="TYPE">xmlSecCryptoDLUnloadLibrary</span></a> functions from multiple threads.</p>
-<div class="REFSECT3">
-<a name="AEN6016"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN6018"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+table. This function is NOT thread safe, application MUST NOT call <a class="link" href="xmlsec-dl.html#xmlSecCryptoDLLoadLibrary" title="xmlSecCryptoDLLoadLibrary ()"><span class="type">xmlSecCryptoDLLoadLibrary</span></a>,
+<a class="link" href="xmlsec-dl.html#xmlSecCryptoDLGetLibraryFunctions" title="xmlSecCryptoDLGetLibraryFunctions ()"><span class="type">xmlSecCryptoDLGetLibraryFunctions</span></a>, and <a class="link" href="xmlsec-dl.html#xmlSecCryptoDLUnloadLibrary" title="xmlSecCryptoDLUnloadLibrary ()"><span class="type">xmlSecCryptoDLUnloadLibrary</span></a> functions from multiple threads.</p>
+<div class="refsect3">
+<a name="xmlSecCryptoDLGetLibraryFunctions.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>crypto</p></td>
-<td><p>the desired crypto library name ("openssl", "nss", ...).</p></td>
-<td> </td>
+<td class="parameter_name"><p>crypto</p></td>
+<td class="parameter_description"><p>the desired crypto library name ("openssl", "nss", ...).</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN6027"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecCryptoDLGetLibraryFunctions.returns"></a><h4>Returns</h4>
<p> the table or NULL if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECCRYPTODLUNLOADLIBRARY"></a><h3>xmlSecCryptoDLUnloadLibrary ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecCryptoDLUnloadLibrary (<code class="PARAMETER">const <font><span class="TYPE">xmlChar</span></font> *crypto</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecCryptoDLUnloadLibrary"></a><h3>xmlSecCryptoDLUnloadLibrary ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecCryptoDLUnloadLibrary (<em class="parameter"><code>const <font><span class="type">xmlChar</span></font> *crypto</code></em>);</pre>
<p>Unloads the xmlsec-$crypto library. All pointers to this library
functions tables became invalid. This function is NOT thread safe,
-application MUST NOT call <a href="xmlsec-dl.html#XMLSECCRYPTODLLOADLIBRARY"><span class="TYPE">xmlSecCryptoDLLoadLibrary</span></a>, <a href="xmlsec-dl.html#XMLSECCRYPTODLGETLIBRARYFUNCTIONS"><span class="TYPE">xmlSecCryptoDLGetLibraryFunctions</span></a>,
-and <a href="xmlsec-dl.html#XMLSECCRYPTODLUNLOADLIBRARY"><span class="TYPE">xmlSecCryptoDLUnloadLibrary</span></a> functions from multiple threads.</p>
-<div class="REFSECT3">
-<a name="AEN6047"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN6049"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+application MUST NOT call <a class="link" href="xmlsec-dl.html#xmlSecCryptoDLLoadLibrary" title="xmlSecCryptoDLLoadLibrary ()"><span class="type">xmlSecCryptoDLLoadLibrary</span></a>, <a class="link" href="xmlsec-dl.html#xmlSecCryptoDLGetLibraryFunctions" title="xmlSecCryptoDLGetLibraryFunctions ()"><span class="type">xmlSecCryptoDLGetLibraryFunctions</span></a>,
+and <a class="link" href="xmlsec-dl.html#xmlSecCryptoDLUnloadLibrary" title="xmlSecCryptoDLUnloadLibrary ()"><span class="type">xmlSecCryptoDLUnloadLibrary</span></a> functions from multiple threads.</p>
+<div class="refsect3">
+<a name="xmlSecCryptoDLUnloadLibrary.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>crypto</p></td>
-<td><p>the desired crypto library name ("openssl", "nss", ...).</p></td>
-<td> </td>
+<td class="parameter_name"><p>crypto</p></td>
+<td class="parameter_description"><p>the desired crypto library name ("openssl", "nss", ...).</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN6058"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecCryptoDLUnloadLibrary.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECCRYPTODLSETFUNCTIONS"></a><h3>xmlSecCryptoDLSetFunctions ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecCryptoDLSetFunctions (<code class="PARAMETER"><font><span class="TYPE">xmlSecCryptoDLFunctionsPtr</span></font> functions</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecCryptoDLSetFunctions"></a><h3>xmlSecCryptoDLSetFunctions ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecCryptoDLSetFunctions (<em class="parameter"><code><font><span class="type">xmlSecCryptoDLFunctionsPtr</span></font> functions</code></em>);</pre>
<p>Sets global crypto functions/transforms/keys data/keys store table.</p>
-<div class="REFSECT3">
-<a name="AEN6072"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN6074"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecCryptoDLSetFunctions.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>functions</p></td>
-<td><p>the new table</p></td>
-<td> </td>
+<td class="parameter_name"><p>functions</p></td>
+<td class="parameter_description"><p>the new table</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN6083"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecCryptoDLSetFunctions.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECCRYPTODLGETFUNCTIONS"></a><h3>xmlSecCryptoDLGetFunctions ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecCryptoDLFunctionsPtr</span></font>
-xmlSecCryptoDLGetFunctions (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecCryptoDLGetFunctions"></a><h3>xmlSecCryptoDLGetFunctions ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecCryptoDLFunctionsPtr</span></font>
+xmlSecCryptoDLGetFunctions (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>Gets global crypto functions/transforms/keys data/keys store table.</p>
-<div class="REFSECT3">
-<a name="AEN6096"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecCryptoDLGetFunctions.returns"></a><h4>Returns</h4>
<p> the table.</p>
</div>
</div>
</div>
-<div class="REFSECT1">
-<a name="XMLSEC-DL.OTHER_DETAILS"></a><h2>Types and Values</h2>
-<p></p>
+<div class="refsect1">
+<a name="xmlsec-dl.other_details"></a><h2>Types and Values</h2>
</div>
-<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td align="left"><a accesskey="p" href="xmlsec-buffer.html"><b><<< buffer</b></a></td>
-<td align="right"><a accesskey="n" href="xmlsec-errors.html"><b>errors >>></b></a></td>
-</tr></table>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
</td></tr></table></td>
</tr></table></body>
</html>
diff --git a/docs/api/xmlsec-encrypt-dynamic-template.html b/docs/api/xmlsec-encrypt-dynamic-template.html
index 68ad9fb..649733c 100644
--- a/docs/api/xmlsec-encrypt-dynamic-template.html
+++ b/docs/api/xmlsec-encrypt-dynamic-template.html
@@ -1,41 +1,14 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Encrypting data with a dynamicaly created template.</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79">
-<link rel="HOME" title="XML Security Library Reference Manual" href="index.html">
-<link rel="UP" title="Examples." href="xmlsec-examples.html">
-<link rel="PREVIOUS" title="Encrypting data with a template file." href="xmlsec-encrypt-template-file.html">
-<link rel="NEXT" title="Encrypting data with a session key." href="xmlsec-encrypt-with-session-key.html">
-<style type="text/css">.synopsis, .classsynopsis {
- background: #eeeeee;
- border: solid 1px #aaaaaa;
- padding: 0.5em;
-}
-.programlisting {
- background: #eeeeff;
- border: solid 1px #aaaaff;
- padding: 0.5em;
-}
-.variablelist {
- padding: 4px;
- margin-left: 3em;
-}
-.navigation {
- background: #ffeeee;
- border: solid 1px #ffaaaa;
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
-.navigation a {
- color: #770000;
-}
-.navigation a:visited {
- color: #550000;
-}
-.navigation .title {
- font-size: 200%;
-}</style>
+<title>Encrypting data with a dynamicaly created template.: XML Security Library Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="XML Security Library Reference Manual">
+<link rel="up" href="xmlsec-examples.html" title="Examples.">
+<link rel="prev" href="xmlsec-encrypt-template-file.html" title="Encrypting data with a template file.">
+<link rel="next" href="xmlsec-encrypt-with-session-key.html" title="Encrypting data with a session key.">
+<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
<style type="text/css">
table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
width: 20em;
@@ -100,21 +73,21 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
</table>
</td>
<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent">
-<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td><a accesskey="p" href="xmlsec-encrypt-template-file.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="xmlsec-examples.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<th width="100%" align="center">XML Security Library Reference Manual</th>
+<td><a accesskey="u" href="xmlsec-examples.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="xmlsec-encrypt-template-file.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="xmlsec-encrypt-with-session-key.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
-<br clear="all"><div class="SECT1">
-<h1 class="SECT1"><a name="XMLSEC-ENCRYPT-DYNAMIC-TEMPLATE">Encrypting data with a dynamicaly created template.</a></h1>
-<br clear="all"><div class="SECT2">
-<h2 class="SECT2"><a name="XMLSEC-EXAMPLE-ENCRYPT2">encrypt2.c</a></h2>
-<p></p>
-<div class="INFORMALEXAMPLE">
-<p></p>
-<a name="AEN774"></a><pre class="PROGRAMLISTING">/**
+<div class="sect1">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="xmlsec-encrypt-dynamic-template"></a>Encrypting data with a dynamicaly created template.</h2></div></div></div>
+<div class="sect2">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="xmlsec-example-encrypt2"></a>encrypt2.c</h3></div></div></div>
+<div class="informalexample"><pre class="programlisting">
+/**
* XML Security Library example: Encrypting XML file with a dynamicaly created template.
*
* Encrypts XML file using a dynamicaly created template file and a DES key
@@ -288,13 +261,13 @@ encrypt_file(const char* xml_file, const char* key_file) {
goto done;
}
- /* we want to put encrypted data in the <a href="http://www.w3.org/TR/xmlenc-core/#sec-CipherValue" target="_top"><enc:CipherValue/></a> node */
+ /* we want to put encrypted data in the <a class="ulink" href="" target="_top"><enc:CipherValue/></a> node */
if(xmlSecTmplEncDataEnsureCipherValue(encDataNode) == NULL) {
fprintf(stderr, "Error: failed to add CipherValue node\n");
goto done;
}
- /* add <a href="http://www.w3.org/TR/xmldsig-core/#sec-KeyInfo" target="_top"><dsig:KeyInfo/></a> and <a href="http://www.w3.org/TR/xmldsig-core/#sec-KeyName" target="_top"><dsig:KeyName/></a> nodes to put key name in the signed document */
+ /* add <a class="ulink" href="" target="_top"><dsig:KeyInfo/></a> and <a class="ulink" href="" target="_top"><dsig:KeyName/></a> nodes to put key name in the signed document */
keyInfoNode = xmlSecTmplEncDataEnsureKeyInfo(encDataNode, NULL);
if(keyInfoNode == NULL) {
fprintf(stderr, "Error: failed to add key info\n");
@@ -356,16 +329,15 @@ done:
xmlFreeDoc(doc);
}
return(res);
-}
</pre>
-<p></p>
-</div>
+}
+
+</pre></div>
</div>
-<br clear="all"><div class="SECT2">
-<h2 class="SECT2"><a name="XMLSEC-EXAMPLE-ENCRYPT2-DOC">encrypt2-doc.xml</a></h2>
-<p></p>
-<div class="INFORMALEXAMPLE">
-<p></p>
-<a name="AEN782"></a><pre class="PROGRAMLISTING"><?xml version="1.0" encoding="UTF-8"?>
+<div class="sect2">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="xmlsec-example-encrypt2-doc"></a>encrypt2-doc.xml</h3></div></div></div>
+<div class="informalexample"><pre class="programlisting">
+<?xml version="1.0" encoding="UTF-8"?>
<!--
XML Security Library example: Original XML doc file before encryption (encrypt2 example).
-->
@@ -373,16 +345,14 @@ XML Security Library example: Original XML doc file before encryption (encrypt2
<Data>
Hello, World!
</Data>
-</Envelope></pre>
-<p></p>
-</div>
+</Envelope>
+</pre></div>
</div>
-<br clear="all"><div class="SECT2">
-<h2 class="SECT2"><a name="XMLSEC-EXAMPLE-ENCRYPT2-RES">encrypt2-res.xml</a></h2>
-<p></p>
-<div class="INFORMALEXAMPLE">
-<p></p>
-<a name="AEN787"></a><pre class="PROGRAMLISTING"><?xml version="1.0" encoding="UTF-8"?>
+<div class="sect2">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="xmlsec-example-encrypt2-res"></a>encrypt2-res.xml</h3></div></div></div>
+<div class="informalexample"><pre class="programlisting">
+<?xml version="1.0" encoding="UTF-8"?>
<!--
XML Security Library example: Encrypted XML file (encrypt2 example).
-->
@@ -395,15 +365,12 @@ XML Security Library example: Encrypted XML file (encrypt2 example).
<CipherValue>WXlDyktaADlUe+PywKwS3KdKlahCteEKxi/hRlHcXNQlGwNGrYKy8aQ6dLtX1bKg
IgL/XoAQN3B27zD91b1ZLGh6QQ9CjnVD98+hYJ9TPp4piPnII4vGUA==</CipherValue>
</CipherData>
-</EncryptedData></pre>
-<p></p>
+</EncryptedData>
+</pre></div>
</div>
</div>
-</div>
-<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td align="left"><a accesskey="p" href="xmlsec-encrypt-template-file.html"><b><<< Encrypting data with a template file.</b></a></td>
-<td align="right"><a accesskey="n" href="xmlsec-encrypt-with-session-key.html"><b>Encrypting data with a session key. >>></b></a></td>
-</tr></table>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
</td></tr></table></td>
</tr></table></body>
</html>
diff --git a/docs/api/xmlsec-encrypt-template-file.html b/docs/api/xmlsec-encrypt-template-file.html
index 4e1e46a..962ac4f 100644
--- a/docs/api/xmlsec-encrypt-template-file.html
+++ b/docs/api/xmlsec-encrypt-template-file.html
@@ -1,41 +1,14 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Encrypting data with a template file.</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79">
-<link rel="HOME" title="XML Security Library Reference Manual" href="index.html">
-<link rel="UP" title="Examples." href="xmlsec-examples.html">
-<link rel="PREVIOUS" title="Verifying a signature with additional restrictions." href="xmlsec-verify-with-restrictions.html">
-<link rel="NEXT" title="Encrypting data with a dynamicaly created template." href="xmlsec-encrypt-dynamic-template.html">
-<style type="text/css">.synopsis, .classsynopsis {
- background: #eeeeee;
- border: solid 1px #aaaaaa;
- padding: 0.5em;
-}
-.programlisting {
- background: #eeeeff;
- border: solid 1px #aaaaff;
- padding: 0.5em;
-}
-.variablelist {
- padding: 4px;
- margin-left: 3em;
-}
-.navigation {
- background: #ffeeee;
- border: solid 1px #ffaaaa;
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
-.navigation a {
- color: #770000;
-}
-.navigation a:visited {
- color: #550000;
-}
-.navigation .title {
- font-size: 200%;
-}</style>
+<title>Encrypting data with a template file.: XML Security Library Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="XML Security Library Reference Manual">
+<link rel="up" href="xmlsec-examples.html" title="Examples.">
+<link rel="prev" href="xmlsec-verify-with-restrictions.html" title="Verifying a signature with additional restrictions.">
+<link rel="next" href="xmlsec-encrypt-dynamic-template.html" title="Encrypting data with a dynamicaly created template.">
+<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
<style type="text/css">
table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
width: 20em;
@@ -100,21 +73,21 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
</table>
</td>
<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent">
-<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td><a accesskey="p" href="xmlsec-verify-with-restrictions.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="xmlsec-examples.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<th width="100%" align="center">XML Security Library Reference Manual</th>
+<td><a accesskey="u" href="xmlsec-examples.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="xmlsec-verify-with-restrictions.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="xmlsec-encrypt-dynamic-template.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
-<br clear="all"><div class="SECT1">
-<h1 class="SECT1"><a name="XMLSEC-ENCRYPT-TEMPLATE-FILE">Encrypting data with a template file.</a></h1>
-<br clear="all"><div class="SECT2">
-<h2 class="SECT2"><a name="XMLSEC-EXAMPLE-ENCRYPT1">encrypt1.c</a></h2>
-<p></p>
-<div class="INFORMALEXAMPLE">
-<p></p>
-<a name="AEN757"></a><pre class="PROGRAMLISTING">/**
+<div class="sect1">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="xmlsec-encrypt-template-file"></a>Encrypting data with a template file.</h2></div></div></div>
+<div class="sect2">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="xmlsec-example-encrypt1"></a>encrypt1.c</h3></div></div></div>
+<div class="informalexample"><pre class="programlisting">
+/**
* XML Security Library example: Encrypting data using a template file.
*
* Encrypts binary data using a template file and a DES key from a binary file
@@ -331,16 +304,15 @@ done:
xmlFreeDoc(doc);
}
return(res);
-}
</pre>
-<p></p>
-</div>
+}
+
+</pre></div>
</div>
-<br clear="all"><div class="SECT2">
-<h2 class="SECT2"><a name="XMLSEC-EXAMPLE-ENCRYPT1-TMPL">encrypt1-tmpl.xml</a></h2>
-<p></p>
-<div class="INFORMALEXAMPLE">
-<p></p>
-<a name="AEN762"></a><pre class="PROGRAMLISTING"><?xml version="1.0"?>
+<div class="sect2">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="xmlsec-example-encrypt1-tmpl"></a>encrypt1-tmpl.xml</h3></div></div></div>
+<div class="informalexample"><pre class="programlisting">
+<?xml version="1.0"?>
<!--
XML Security Library example: Simple encryption template file for encrypt1 example.
-->
@@ -352,16 +324,14 @@ XML Security Library example: Simple encryption template file for encrypt1 examp
<CipherData>
<CipherValue></CipherValue>
</CipherData>
-</EncryptedData></pre>
-<p></p>
-</div>
+</EncryptedData>
+</pre></div>
</div>
-<br clear="all"><div class="SECT2">
-<h2 class="SECT2"><a name="XMLSEC-EXAMPLE-ENCRYPT1-RES">encrypt1-res.xml</a></h2>
-<p></p>
-<div class="INFORMALEXAMPLE">
-<p></p>
-<a name="AEN767"></a><pre class="PROGRAMLISTING"><?xml version="1.0"?>
+<div class="sect2">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="xmlsec-example-encrypt1-res"></a>encrypt1-res.xml</h3></div></div></div>
+<div class="informalexample"><pre class="programlisting">
+<?xml version="1.0"?>
<!--
XML Security Library example: Encrypted binary data (encrypt1 example).
-->
@@ -373,15 +343,12 @@ XML Security Library example: Encrypted binary data (encrypt1 example).
<CipherData>
<CipherValue>t6JVBMihIgRyiK8AS8AX5NcXTfkdXPTK</CipherValue>
</CipherData>
-</EncryptedData></pre>
-<p></p>
+</EncryptedData>
+</pre></div>
</div>
</div>
-</div>
-<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td align="left"><a accesskey="p" href="xmlsec-verify-with-restrictions.html"><b><<< Verifying a signature with additional restrictions.</b></a></td>
-<td align="right"><a accesskey="n" href="xmlsec-encrypt-dynamic-template.html"><b>Encrypting data with a dynamicaly created template. >>></b></a></td>
-</tr></table>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
</td></tr></table></td>
</tr></table></body>
</html>
diff --git a/docs/api/xmlsec-encrypt-with-session-key.html b/docs/api/xmlsec-encrypt-with-session-key.html
index 9f44192..c73e125 100644
--- a/docs/api/xmlsec-encrypt-with-session-key.html
+++ b/docs/api/xmlsec-encrypt-with-session-key.html
@@ -1,41 +1,14 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Encrypting data with a session key.</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79">
-<link rel="HOME" title="XML Security Library Reference Manual" href="index.html">
-<link rel="UP" title="Examples." href="xmlsec-examples.html">
-<link rel="PREVIOUS" title="Encrypting data with a dynamicaly created template." href="xmlsec-encrypt-dynamic-template.html">
-<link rel="NEXT" title="Decrypting data with a single key." href="xmlsec-decrypt-with-signle-key.html">
-<style type="text/css">.synopsis, .classsynopsis {
- background: #eeeeee;
- border: solid 1px #aaaaaa;
- padding: 0.5em;
-}
-.programlisting {
- background: #eeeeff;
- border: solid 1px #aaaaff;
- padding: 0.5em;
-}
-.variablelist {
- padding: 4px;
- margin-left: 3em;
-}
-.navigation {
- background: #ffeeee;
- border: solid 1px #ffaaaa;
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
-.navigation a {
- color: #770000;
-}
-.navigation a:visited {
- color: #550000;
-}
-.navigation .title {
- font-size: 200%;
-}</style>
+<title>Encrypting data with a session key.: XML Security Library Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="XML Security Library Reference Manual">
+<link rel="up" href="xmlsec-examples.html" title="Examples.">
+<link rel="prev" href="xmlsec-encrypt-dynamic-template.html" title="Encrypting data with a dynamicaly created template.">
+<link rel="next" href="xmlsec-decrypt-with-signle-key.html" title="Decrypting data with a single key.">
+<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
<style type="text/css">
table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
width: 20em;
@@ -100,21 +73,21 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
</table>
</td>
<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent">
-<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td><a accesskey="p" href="xmlsec-encrypt-dynamic-template.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="xmlsec-examples.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<th width="100%" align="center">XML Security Library Reference Manual</th>
+<td><a accesskey="u" href="xmlsec-examples.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="xmlsec-encrypt-dynamic-template.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="xmlsec-decrypt-with-signle-key.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
-<br clear="all"><div class="SECT1">
-<h1 class="SECT1"><a name="XMLSEC-ENCRYPT-WITH-SESSION-KEY">Encrypting data with a session key.</a></h1>
-<br clear="all"><div class="SECT2">
-<h2 class="SECT2"><a name="XMLSEC-EXAMPLE-ENCRYPT3">encrypt3.c</a></h2>
-<p></p>
-<div class="INFORMALEXAMPLE">
-<p></p>
-<a name="AEN794"></a><pre class="PROGRAMLISTING">/**
+<div class="sect1">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="xmlsec-encrypt-with-session-key"></a>Encrypting data with a session key.</h2></div></div></div>
+<div class="sect2">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="xmlsec-example-encrypt3"></a>encrypt3.c</h3></div></div></div>
+<div class="informalexample"><pre class="programlisting">
+/**
* XML Security Library example: Encrypting XML file with a session key and dynamicaly created template.
*
* Encrypts XML file using a dynamicaly created template file and a session
@@ -367,20 +340,20 @@ encrypt_file(xmlSecKeysMngrPtr mngr, const char* xml_file, const char* key_name)
goto done;
}
- /* we want to put encrypted data in the <a href="http://www.w3.org/TR/xmlenc-core/#sec-CipherValue" target="_top"><enc:CipherValue/></a> node */
+ /* we want to put encrypted data in the <a class="ulink" href="" target="_top"><enc:CipherValue/></a> node */
if(xmlSecTmplEncDataEnsureCipherValue(encDataNode) == NULL) {
fprintf(stderr, "Error: failed to add CipherValue node\n");
goto done;
}
- /* add <a href="http://www.w3.org/TR/xmldsig-core/#sec-KeyInfo" target="_top"><dsig:KeyInfo/></a> */
+ /* add <a class="ulink" href="" target="_top"><dsig:KeyInfo/></a> */
keyInfoNode = xmlSecTmplEncDataEnsureKeyInfo(encDataNode, NULL);
if(keyInfoNode == NULL) {
fprintf(stderr, "Error: failed to add key info\n");
goto done;
}
- /* add <a href="http://www.w3.org/TR/xmlenc-core/#sec-EncryptedKey" target="_top"><enc:EncryptedKey/></a> to store the encrypted session key */
+ /* add <a class="ulink" href="" target="_top"><enc:EncryptedKey/></a> to store the encrypted session key */
encKeyNode = xmlSecTmplKeyInfoAddEncryptedKey(keyInfoNode,
xmlSecTransformRsaPkcs1Id,
NULL, NULL, NULL);
@@ -389,13 +362,13 @@ encrypt_file(xmlSecKeysMngrPtr mngr, const char* xml_file, const char* key_name)
goto done;
}
- /* we want to put encrypted key in the <a href="http://www.w3.org/TR/xmlenc-core/#sec-CipherValue" target="_top"><enc:CipherValue/></a> node */
+ /* we want to put encrypted key in the <a class="ulink" href="" target="_top"><enc:CipherValue/></a> node */
if(xmlSecTmplEncDataEnsureCipherValue(encKeyNode) == NULL) {
fprintf(stderr, "Error: failed to add CipherValue node\n");
goto done;
}
- /* add <a href="http://www.w3.org/TR/xmldsig-core/#sec-KeyInfo" target="_top"><dsig:KeyInfo/></a> and <a href="http://www.w3.org/TR/xmldsig-core/#sec-KeyName" target="_top"><dsig:KeyName/></a> nodes to <a href="http://www.w3.org/TR/xmlenc-core/#sec-EncryptedKey" target="_top"><enc:EncryptedKey/></a> */
+ /* add <a class="ulink" href="" target="_top"><dsig:KeyInfo/></a> and <a class="ulink" href="" target="_top"><dsig:KeyName/></a> nodes to <a class="ulink" href="" target="_top"><enc:EncryptedKey/></a> */
keyInfoNode2 = xmlSecTmplEncDataEnsureKeyInfo(encKeyNode, NULL);
if(keyInfoNode2 == NULL) {
fprintf(stderr, "Error: failed to add key info\n");
@@ -452,16 +425,15 @@ done:
xmlFreeDoc(doc);
}
return(res);
-}
</pre>
-<p></p>
-</div>
+}
+
+</pre></div>
</div>
-<br clear="all"><div class="SECT2">
-<h2 class="SECT2"><a name="XMLSEC-EXAMPLE-ENCRYPT3-DOC">encrypt3-doc.xml</a></h2>
-<p></p>
-<div class="INFORMALEXAMPLE">
-<p></p>
-<a name="AEN806"></a><pre class="PROGRAMLISTING"><?xml version="1.0" encoding="UTF-8"?>
+<div class="sect2">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="xmlsec-example-encrypt3-doc"></a>encrypt3-doc.xml</h3></div></div></div>
+<div class="informalexample"><pre class="programlisting">
+<?xml version="1.0" encoding="UTF-8"?>
<!--
XML Security Library example: Original XML doc file before encryption (encrypt3 example).
-->
@@ -469,16 +441,14 @@ XML Security Library example: Original XML doc file before encryption (encrypt3
<Data>
Hello, World!
</Data>
-</Envelope></pre>
-<p></p>
-</div>
+</Envelope>
+</pre></div>
</div>
-<br clear="all"><div class="SECT2">
-<h2 class="SECT2"><a name="XMLSEC-EXAMPLE-ENCRYPT3-RES">encrypt3-res.xml</a></h2>
-<p></p>
-<div class="INFORMALEXAMPLE">
-<p></p>
-<a name="AEN811"></a><pre class="PROGRAMLISTING"><?xml version="1.0" encoding="UTF-8"?>
+<div class="sect2">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="xmlsec-example-encrypt3-res"></a>encrypt3-res.xml</h3></div></div></div>
+<div class="informalexample"><pre class="programlisting">
+<?xml version="1.0" encoding="UTF-8"?>
<!--
XML Security Library example: Original XML doc file before encryption (encrypt3 example).
-->
@@ -500,15 +470,12 @@ MLOtSy26mWrQ+XqfPGuyaA==</CipherValue>
<CipherValue>+UiDv73SE8K8KwXuOmHLHK7N2hNWDakTAEu6NprbCdULC1w/LXT9FLtNRJetmwwO
XpBqTY56AAMeMgpxPWN3SPO0ETeQw7pR+bp0IjUvcGlFSXz6yE1qgQ==</CipherValue>
</CipherData>
-</EncryptedData></pre>
-<p></p>
+</EncryptedData>
+</pre></div>
</div>
</div>
-</div>
-<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td align="left"><a accesskey="p" href="xmlsec-encrypt-dynamic-template.html"><b><<< Encrypting data with a dynamicaly created template.</b></a></td>
-<td align="right"><a accesskey="n" href="xmlsec-decrypt-with-signle-key.html"><b>Decrypting data with a single key. >>></b></a></td>
-</tr></table>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
</td></tr></table></td>
</tr></table></body>
</html>
diff --git a/docs/api/xmlsec-encryption-klasses.html b/docs/api/xmlsec-encryption-klasses.html
index 897ee5d..e97eab6 100644
--- a/docs/api/xmlsec-encryption-klasses.html
+++ b/docs/api/xmlsec-encryption-klasses.html
@@ -1,41 +1,14 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>APPENDIX B. XML Security Library Encryption Klasses.</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79">
-<link rel="HOME" title="XML Security Library Reference Manual" href="index.html">
-<link rel="UP" title="XML Security Library Tutorial" href="xmlsec-notes.html">
-<link rel="PREVIOUS" title="APPENDIX A. XML Security Library Signature Klasses." href="xmlsec-signature-klasses.html">
-<link rel="NEXT" title="XML Security Library API Reference." href="xmlsec-reference.html">
-<style type="text/css">.synopsis, .classsynopsis {
- background: #eeeeee;
- border: solid 1px #aaaaaa;
- padding: 0.5em;
-}
-.programlisting {
- background: #eeeeff;
- border: solid 1px #aaaaff;
- padding: 0.5em;
-}
-.variablelist {
- padding: 4px;
- margin-left: 3em;
-}
-.navigation {
- background: #ffeeee;
- border: solid 1px #ffaaaa;
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
-.navigation a {
- color: #770000;
-}
-.navigation a:visited {
- color: #550000;
-}
-.navigation .title {
- font-size: 200%;
-}</style>
+<title>APPENDIX B. XML Security Library Encryption Klasses.: XML Security Library Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="XML Security Library Reference Manual">
+<link rel="up" href="xmlsec-notes.html" title="Part I. XML Security Library Tutorial">
+<link rel="prev" href="xmlsec-signature-klasses.html" title="APPENDIX A. XML Security Library Signature Klasses.">
+<link rel="next" href="xmlsec-reference.html" title="Part II. XML Security Library API Reference.">
+<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
<style type="text/css">
table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
width: 20em;
@@ -100,25 +73,24 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
</table>
</td>
<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent">
-<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td><a accesskey="p" href="xmlsec-signature-klasses.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="xmlsec-notes.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<th width="100%" align="center">XML Security Library Reference Manual</th>
+<td><a accesskey="u" href="xmlsec-notes.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="xmlsec-signature-klasses.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="xmlsec-reference.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
-<div class="CHAPTER">
-<h1>
-<a name="XMLSEC-ENCRYPTION-KLASSES"></a>APPENDIX B. XML Security Library Encryption Klasses.</h1>
-<div class="FIGURE">
-<a name="AEN844"></a><p><b>Figure 1. XML Security Library Encryption Klasses.</b></p>
-<p><img src="images/encryption-structure.png" align="CENTER"></p>
+<div class="chapter">
+<div class="titlepage"><div><div><h2 class="title">
+<a name="xmlsec-encryption-klasses"></a>APPENDIX B. XML Security Library Encryption Klasses.</h2></div></div></div>
+<div class="figure">
+<a name="id-1.2.17.2"></a><p class="title"><b>Figure 12. XML Security Library Encryption Klasses.</b></p>
+<div class="figure-contents"><div align="center"><img src="images/encryption-structure.png" align="middle" alt="XML Security Library Encryption Klasses."></div></div>
</div>
+<br class="figure-break">
</div>
-<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td align="left"><a accesskey="p" href="xmlsec-signature-klasses.html"><b><<< APPENDIX A. XML Security Library Signature Klasses.</b></a></td>
-<td align="right"><a accesskey="n" href="xmlsec-reference.html"><b>XML Security Library API Reference. >>></b></a></td>
-</tr></table>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
</td></tr></table></td>
</tr></table></body>
</html>
diff --git a/docs/api/xmlsec-errors.html b/docs/api/xmlsec-errors.html
index dfca890..092e625 100644
--- a/docs/api/xmlsec-errors.html
+++ b/docs/api/xmlsec-errors.html
@@ -1,41 +1,14 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>errors</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79">
-<link rel="HOME" title="XML Security Library Reference Manual" href="index.html">
-<link rel="UP" title="XML Security Core Library API Reference." href="xmlsec-ref.html">
-<link rel="PREVIOUS" title="dl" href="xmlsec-dl.html">
-<link rel="NEXT" title="io" href="xmlsec-io.html">
-<style type="text/css">.synopsis, .classsynopsis {
- background: #eeeeee;
- border: solid 1px #aaaaaa;
- padding: 0.5em;
-}
-.programlisting {
- background: #eeeeff;
- border: solid 1px #aaaaff;
- padding: 0.5em;
-}
-.variablelist {
- padding: 4px;
- margin-left: 3em;
-}
-.navigation {
- background: #ffeeee;
- border: solid 1px #ffaaaa;
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
-.navigation a {
- color: #770000;
-}
-.navigation a:visited {
- color: #550000;
-}
-.navigation .title {
- font-size: 200%;
-}</style>
+<title>errors: XML Security Library Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="XML Security Library Reference Manual">
+<link rel="up" href="xmlsec-ref.html" title="XML Security Core Library API Reference.">
+<link rel="prev" href="xmlsec-dl.html" title="dl">
+<link rel="next" href="xmlsec-io.html" title="io">
+<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
<style type="text/css">
table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
width: 20em;
@@ -100,1037 +73,1111 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
</table>
</td>
<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent">
-<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td><a accesskey="p" href="xmlsec-dl.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="xmlsec-ref.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description"> <span class="dim">|</span>
+ <a href="#xmlsec-errors.description" class="shortcut">Description</a></span>
+</td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<th width="100%" align="center">XML Security Library Reference Manual</th>
+<td><a accesskey="u" href="xmlsec-ref.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="xmlsec-dl.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="xmlsec-io.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
-<h1>
-<a name="XMLSEC-ERRORS"></a>errors</h1>
-<div class="REFNAMEDIV">
-<a name="AEN6107"></a><h2>Name</h2>errors -- Error/log messages support.</div>
-<div class="REFSECT1">
-<a name="XMLSEC-ERRORS.FUNCTIONS"></a><h2>Functions</h2>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN6112"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
+<div class="refentry">
+<a name="xmlsec-errors"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="xmlsec-errors.top_of_page"></a>errors</span></h2>
+<p>errors — Error/log messages support.</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="xmlsec-errors.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
<tbody>
<tr>
-<td><font><span class="RETURNVALUE">void</span></font></td>
-<td>
-<span class="c_punctuation"><span class="PHRASE">(</span></span><a href="xmlsec-errors.html#XMLSECERRORSCALLBACK">*xmlSecErrorsCallback</a><span class="c_punctuation"><span class="PHRASE">)</span></span> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">void</span></font>
+</td>
+<td class="function_name">
+<span class="c_punctuation">(</span><a class="link" href="xmlsec-errors.html#xmlSecErrorsCallback" title="xmlSecErrorsCallback ()">*xmlSecErrorsCallback</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">void</span></font></td>
-<td>
-<a href="xmlsec-errors.html#XMLSECERRORSINIT">xmlSecErrorsInit</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">void</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-errors.html#xmlSecErrorsInit" title="xmlSecErrorsInit ()">xmlSecErrorsInit</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">void</span></font></td>
-<td>
-<a href="xmlsec-errors.html#XMLSECERRORSSHUTDOWN">xmlSecErrorsShutdown</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">void</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-errors.html#xmlSecErrorsShutdown" title="xmlSecErrorsShutdown ()">xmlSecErrorsShutdown</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">void</span></font></td>
-<td>
-<a href="xmlsec-errors.html#XMLSECERRORSSETCALLBACK">xmlSecErrorsSetCallback</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">void</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-errors.html#xmlSecErrorsSetCallback" title="xmlSecErrorsSetCallback ()">xmlSecErrorsSetCallback</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">void</span></font></td>
-<td>
-<a href="xmlsec-errors.html#XMLSECERRORSDEFAULTCALLBACK">xmlSecErrorsDefaultCallback</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">void</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-errors.html#xmlSecErrorsDefaultCallback" title="xmlSecErrorsDefaultCallback ()">xmlSecErrorsDefaultCallback</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">void</span></font></td>
-<td>
-<a href="xmlsec-errors.html#XMLSECERRORSDEFAULTCALLBACKENABLEOUTPUT">xmlSecErrorsDefaultCallbackEnableOutput</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">void</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-errors.html#xmlSecErrorsDefaultCallbackEnableOutput" title="xmlSecErrorsDefaultCallbackEnableOutput ()">xmlSecErrorsDefaultCallbackEnableOutput</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-errors.html#XMLSECERRORSGETCODE">xmlSecErrorsGetCode</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-errors.html#xmlSecErrorsGetCode" title="xmlSecErrorsGetCode ()">xmlSecErrorsGetCode</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td>const <font><span class="RETURNVALUE">char</span></font> *</td>
-<td>
-<a href="xmlsec-errors.html#XMLSECERRORSGETMSG">xmlSecErrorsGetMsg</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">const <font><span class="returnvalue">char</span></font> *
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-errors.html#xmlSecErrorsGetMsg" title="xmlSecErrorsGetMsg ()">xmlSecErrorsGetMsg</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td>#define</td>
-<td>
-<a href="xmlsec-errors.html#XMLSECERRORSSAFESTRING">xmlSecErrorsSafeString</a><span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="define_keyword">#define</td>
+<td class="function_name">
+<a class="link" href="xmlsec-errors.html#xmlSecErrorsSafeString" title="xmlSecErrorsSafeString()">xmlSecErrorsSafeString</a><span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">void</span></font></td>
-<td>
-<a href="xmlsec-errors.html#XMLSECERROR">xmlSecError</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">void</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-errors.html#xmlSecError" title="xmlSecError ()">xmlSecError</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td>#define</td>
-<td>
-<a href="xmlsec-errors.html#XMLSECASSERT">xmlSecAssert</a><span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="define_keyword">#define</td>
+<td class="function_name">
+<a class="link" href="xmlsec-errors.html#xmlSecAssert" title="xmlSecAssert()">xmlSecAssert</a><span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td>#define</td>
-<td>
-<a href="xmlsec-errors.html#XMLSECASSERT2">xmlSecAssert2</a><span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="define_keyword">#define</td>
+<td class="function_name">
+<a class="link" href="xmlsec-errors.html#xmlSecAssert2" title="xmlSecAssert2()">xmlSecAssert2</a><span class="c_punctuation">()</span>
</td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
-</div>
-<div class="REFSECT1">
-<a name="XMLSEC-ERRORS.OTHER"></a><h2>Types and Values</h2>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN6197"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="xmlsec-errors.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
<tbody>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-errors.html#XMLSEC-ERRORS-R-XMLSEC-FAILED:CAPS">XMLSEC_ERRORS_R_XMLSEC_FAILED</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-errors.html#XMLSEC-ERRORS-R-XMLSEC-FAILED:CAPS" title="XMLSEC_ERRORS_R_XMLSEC_FAILED">XMLSEC_ERRORS_R_XMLSEC_FAILED</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-errors.html#XMLSEC-ERRORS-R-MALLOC-FAILED:CAPS">XMLSEC_ERRORS_R_MALLOC_FAILED</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-errors.html#XMLSEC-ERRORS-R-MALLOC-FAILED:CAPS" title="XMLSEC_ERRORS_R_MALLOC_FAILED">XMLSEC_ERRORS_R_MALLOC_FAILED</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-errors.html#XMLSEC-ERRORS-R-STRDUP-FAILED:CAPS">XMLSEC_ERRORS_R_STRDUP_FAILED</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-errors.html#XMLSEC-ERRORS-R-STRDUP-FAILED:CAPS" title="XMLSEC_ERRORS_R_STRDUP_FAILED">XMLSEC_ERRORS_R_STRDUP_FAILED</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-errors.html#XMLSEC-ERRORS-R-CRYPTO-FAILED:CAPS">XMLSEC_ERRORS_R_CRYPTO_FAILED</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-errors.html#XMLSEC-ERRORS-R-CRYPTO-FAILED:CAPS" title="XMLSEC_ERRORS_R_CRYPTO_FAILED">XMLSEC_ERRORS_R_CRYPTO_FAILED</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-errors.html#XMLSEC-ERRORS-R-XML-FAILED:CAPS">XMLSEC_ERRORS_R_XML_FAILED</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-errors.html#XMLSEC-ERRORS-R-XML-FAILED:CAPS" title="XMLSEC_ERRORS_R_XML_FAILED">XMLSEC_ERRORS_R_XML_FAILED</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-errors.html#XMLSEC-ERRORS-R-XSLT-FAILED:CAPS">XMLSEC_ERRORS_R_XSLT_FAILED</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-errors.html#XMLSEC-ERRORS-R-XSLT-FAILED:CAPS" title="XMLSEC_ERRORS_R_XSLT_FAILED">XMLSEC_ERRORS_R_XSLT_FAILED</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-errors.html#XMLSEC-ERRORS-R-IO-FAILED:CAPS">XMLSEC_ERRORS_R_IO_FAILED</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-errors.html#XMLSEC-ERRORS-R-IO-FAILED:CAPS" title="XMLSEC_ERRORS_R_IO_FAILED">XMLSEC_ERRORS_R_IO_FAILED</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-errors.html#XMLSEC-ERRORS-R-DISABLED:CAPS">XMLSEC_ERRORS_R_DISABLED</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-errors.html#XMLSEC-ERRORS-R-DISABLED:CAPS" title="XMLSEC_ERRORS_R_DISABLED">XMLSEC_ERRORS_R_DISABLED</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-errors.html#XMLSEC-ERRORS-R-NOT-IMPLEMENTED:CAPS">XMLSEC_ERRORS_R_NOT_IMPLEMENTED</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-errors.html#XMLSEC-ERRORS-R-NOT-IMPLEMENTED:CAPS" title="XMLSEC_ERRORS_R_NOT_IMPLEMENTED">XMLSEC_ERRORS_R_NOT_IMPLEMENTED</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-errors.html#XMLSEC-ERRORS-R-INVALID-SIZE:CAPS">XMLSEC_ERRORS_R_INVALID_SIZE</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-errors.html#XMLSEC-ERRORS-R-INVALID-CONFIG:CAPS" title="XMLSEC_ERRORS_R_INVALID_CONFIG">XMLSEC_ERRORS_R_INVALID_CONFIG</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-errors.html#XMLSEC-ERRORS-R-INVALID-DATA:CAPS">XMLSEC_ERRORS_R_INVALID_DATA</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-errors.html#XMLSEC-ERRORS-R-INVALID-SIZE:CAPS" title="XMLSEC_ERRORS_R_INVALID_SIZE">XMLSEC_ERRORS_R_INVALID_SIZE</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-errors.html#XMLSEC-ERRORS-R-INVALID-RESULT:CAPS">XMLSEC_ERRORS_R_INVALID_RESULT</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-errors.html#XMLSEC-ERRORS-R-INVALID-DATA:CAPS" title="XMLSEC_ERRORS_R_INVALID_DATA">XMLSEC_ERRORS_R_INVALID_DATA</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-errors.html#XMLSEC-ERRORS-R-INVALID-TYPE:CAPS">XMLSEC_ERRORS_R_INVALID_TYPE</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-errors.html#XMLSEC-ERRORS-R-INVALID-RESULT:CAPS" title="XMLSEC_ERRORS_R_INVALID_RESULT">XMLSEC_ERRORS_R_INVALID_RESULT</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-errors.html#XMLSEC-ERRORS-R-INVALID-OPERATION:CAPS">XMLSEC_ERRORS_R_INVALID_OPERATION</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-errors.html#XMLSEC-ERRORS-R-INVALID-TYPE:CAPS" title="XMLSEC_ERRORS_R_INVALID_TYPE">XMLSEC_ERRORS_R_INVALID_TYPE</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-errors.html#XMLSEC-ERRORS-R-INVALID-STATUS:CAPS">XMLSEC_ERRORS_R_INVALID_STATUS</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-errors.html#XMLSEC-ERRORS-R-INVALID-OPERATION:CAPS" title="XMLSEC_ERRORS_R_INVALID_OPERATION">XMLSEC_ERRORS_R_INVALID_OPERATION</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-errors.html#XMLSEC-ERRORS-R-INVALID-FORMAT:CAPS">XMLSEC_ERRORS_R_INVALID_FORMAT</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-errors.html#XMLSEC-ERRORS-R-INVALID-STATUS:CAPS" title="XMLSEC_ERRORS_R_INVALID_STATUS">XMLSEC_ERRORS_R_INVALID_STATUS</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-errors.html#XMLSEC-ERRORS-R-DATA-NOT-MATCH:CAPS">XMLSEC_ERRORS_R_DATA_NOT_MATCH</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-errors.html#XMLSEC-ERRORS-R-INVALID-FORMAT:CAPS" title="XMLSEC_ERRORS_R_INVALID_FORMAT">XMLSEC_ERRORS_R_INVALID_FORMAT</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-errors.html#XMLSEC-ERRORS-R-INVALID-NODE:CAPS">XMLSEC_ERRORS_R_INVALID_NODE</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-errors.html#XMLSEC-ERRORS-R-DATA-NOT-MATCH:CAPS" title="XMLSEC_ERRORS_R_DATA_NOT_MATCH">XMLSEC_ERRORS_R_DATA_NOT_MATCH</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-errors.html#XMLSEC-ERRORS-R-INVALID-NODE-CONTENT:CAPS">XMLSEC_ERRORS_R_INVALID_NODE_CONTENT</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-errors.html#XMLSEC-ERRORS-R-INVALID-VERSION:CAPS" title="XMLSEC_ERRORS_R_INVALID_VERSION">XMLSEC_ERRORS_R_INVALID_VERSION</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-errors.html#XMLSEC-ERRORS-R-INVALID-NODE-ATTRIBUTE:CAPS">XMLSEC_ERRORS_R_INVALID_NODE_ATTRIBUTE</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-errors.html#XMLSEC-ERRORS-R-INVALID-NODE:CAPS" title="XMLSEC_ERRORS_R_INVALID_NODE">XMLSEC_ERRORS_R_INVALID_NODE</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-errors.html#XMLSEC-ERRORS-R-MISSING-NODE-ATTRIBUTE:CAPS">XMLSEC_ERRORS_R_MISSING_NODE_ATTRIBUTE</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-errors.html#XMLSEC-ERRORS-R-INVALID-NODE-CONTENT:CAPS" title="XMLSEC_ERRORS_R_INVALID_NODE_CONTENT">XMLSEC_ERRORS_R_INVALID_NODE_CONTENT</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-errors.html#XMLSEC-ERRORS-R-NODE-ALREADY-PRESENT:CAPS">XMLSEC_ERRORS_R_NODE_ALREADY_PRESENT</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-errors.html#XMLSEC-ERRORS-R-INVALID-NODE-ATTRIBUTE:CAPS" title="XMLSEC_ERRORS_R_INVALID_NODE_ATTRIBUTE">XMLSEC_ERRORS_R_INVALID_NODE_ATTRIBUTE</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-errors.html#XMLSEC-ERRORS-R-UNEXPECTED-NODE:CAPS">XMLSEC_ERRORS_R_UNEXPECTED_NODE</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-errors.html#XMLSEC-ERRORS-R-MISSING-NODE-ATTRIBUTE:CAPS" title="XMLSEC_ERRORS_R_MISSING_NODE_ATTRIBUTE">XMLSEC_ERRORS_R_MISSING_NODE_ATTRIBUTE</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-errors.html#XMLSEC-ERRORS-R-NODE-NOT-FOUND:CAPS">XMLSEC_ERRORS_R_NODE_NOT_FOUND</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-errors.html#XMLSEC-ERRORS-R-NODE-ALREADY-PRESENT:CAPS" title="XMLSEC_ERRORS_R_NODE_ALREADY_PRESENT">XMLSEC_ERRORS_R_NODE_ALREADY_PRESENT</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-errors.html#XMLSEC-ERRORS-R-INVALID-TRANSFORM:CAPS">XMLSEC_ERRORS_R_INVALID_TRANSFORM</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-errors.html#XMLSEC-ERRORS-R-UNEXPECTED-NODE:CAPS" title="XMLSEC_ERRORS_R_UNEXPECTED_NODE">XMLSEC_ERRORS_R_UNEXPECTED_NODE</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-errors.html#XMLSEC-ERRORS-R-INVALID-TRANSFORM-KEY:CAPS">XMLSEC_ERRORS_R_INVALID_TRANSFORM_KEY</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-errors.html#XMLSEC-ERRORS-R-NODE-NOT-FOUND:CAPS" title="XMLSEC_ERRORS_R_NODE_NOT_FOUND">XMLSEC_ERRORS_R_NODE_NOT_FOUND</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-errors.html#XMLSEC-ERRORS-R-INVALID-URI-TYPE:CAPS">XMLSEC_ERRORS_R_INVALID_URI_TYPE</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-errors.html#XMLSEC-ERRORS-R-INVALID-TRANSFORM:CAPS" title="XMLSEC_ERRORS_R_INVALID_TRANSFORM">XMLSEC_ERRORS_R_INVALID_TRANSFORM</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-errors.html#XMLSEC-ERRORS-R-TRANSFORM-SAME-DOCUMENT-REQUIRED:CAPS">XMLSEC_ERRORS_R_TRANSFORM_SAME_DOCUMENT_REQUIRED</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-errors.html#XMLSEC-ERRORS-R-INVALID-TRANSFORM-KEY:CAPS" title="XMLSEC_ERRORS_R_INVALID_TRANSFORM_KEY">XMLSEC_ERRORS_R_INVALID_TRANSFORM_KEY</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-errors.html#XMLSEC-ERRORS-R-TRANSFORM-DISABLED:CAPS">XMLSEC_ERRORS_R_TRANSFORM_DISABLED</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-errors.html#XMLSEC-ERRORS-R-INVALID-URI-TYPE:CAPS" title="XMLSEC_ERRORS_R_INVALID_URI_TYPE">XMLSEC_ERRORS_R_INVALID_URI_TYPE</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-errors.html#XMLSEC-ERRORS-R-INVALID-KEY-DATA:CAPS">XMLSEC_ERRORS_R_INVALID_KEY_DATA</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-errors.html#XMLSEC-ERRORS-R-TRANSFORM-SAME-DOCUMENT-REQUIRED:CAPS" title="XMLSEC_ERRORS_R_TRANSFORM_SAME_DOCUMENT_REQUIRED">XMLSEC_ERRORS_R_TRANSFORM_SAME_DOCUMENT_REQUIRED</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-errors.html#XMLSEC-ERRORS-R-KEY-DATA-NOT-FOUND:CAPS">XMLSEC_ERRORS_R_KEY_DATA_NOT_FOUND</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-errors.html#XMLSEC-ERRORS-R-TRANSFORM-DISABLED:CAPS" title="XMLSEC_ERRORS_R_TRANSFORM_DISABLED">XMLSEC_ERRORS_R_TRANSFORM_DISABLED</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-errors.html#XMLSEC-ERRORS-R-KEY-DATA-ALREADY-EXIST:CAPS">XMLSEC_ERRORS_R_KEY_DATA_ALREADY_EXIST</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-errors.html#XMLSEC-ERRORS-R-INVALID-KEY-DATA:CAPS" title="XMLSEC_ERRORS_R_INVALID_KEY_DATA">XMLSEC_ERRORS_R_INVALID_KEY_DATA</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-errors.html#XMLSEC-ERRORS-R-INVALID-KEY-DATA-SIZE:CAPS">XMLSEC_ERRORS_R_INVALID_KEY_DATA_SIZE</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-errors.html#XMLSEC-ERRORS-R-KEY-DATA-NOT-FOUND:CAPS" title="XMLSEC_ERRORS_R_KEY_DATA_NOT_FOUND">XMLSEC_ERRORS_R_KEY_DATA_NOT_FOUND</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-errors.html#XMLSEC-ERRORS-R-KEY-NOT-FOUND:CAPS">XMLSEC_ERRORS_R_KEY_NOT_FOUND</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-errors.html#XMLSEC-ERRORS-R-KEY-DATA-ALREADY-EXIST:CAPS" title="XMLSEC_ERRORS_R_KEY_DATA_ALREADY_EXIST">XMLSEC_ERRORS_R_KEY_DATA_ALREADY_EXIST</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-errors.html#XMLSEC-ERRORS-R-KEYDATA-DISABLED:CAPS">XMLSEC_ERRORS_R_KEYDATA_DISABLED</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-errors.html#XMLSEC-ERRORS-R-INVALID-KEY-DATA-SIZE:CAPS" title="XMLSEC_ERRORS_R_INVALID_KEY_DATA_SIZE">XMLSEC_ERRORS_R_INVALID_KEY_DATA_SIZE</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-errors.html#XMLSEC-ERRORS-R-MAX-RETRIEVALS-LEVEL:CAPS">XMLSEC_ERRORS_R_MAX_RETRIEVALS_LEVEL</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-errors.html#XMLSEC-ERRORS-R-KEY-NOT-FOUND:CAPS" title="XMLSEC_ERRORS_R_KEY_NOT_FOUND">XMLSEC_ERRORS_R_KEY_NOT_FOUND</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-errors.html#XMLSEC-ERRORS-R-MAX-RETRIEVAL-TYPE-MISMATCH:CAPS">XMLSEC_ERRORS_R_MAX_RETRIEVAL_TYPE_MISMATCH</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-errors.html#XMLSEC-ERRORS-R-KEYDATA-DISABLED:CAPS" title="XMLSEC_ERRORS_R_KEYDATA_DISABLED">XMLSEC_ERRORS_R_KEYDATA_DISABLED</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-errors.html#XMLSEC-ERRORS-R-MAX-ENCKEY-LEVEL:CAPS">XMLSEC_ERRORS_R_MAX_ENCKEY_LEVEL</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-errors.html#XMLSEC-ERRORS-R-MAX-RETRIEVALS-LEVEL:CAPS" title="XMLSEC_ERRORS_R_MAX_RETRIEVALS_LEVEL">XMLSEC_ERRORS_R_MAX_RETRIEVALS_LEVEL</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-errors.html#XMLSEC-ERRORS-R-CERT-VERIFY-FAILED:CAPS">XMLSEC_ERRORS_R_CERT_VERIFY_FAILED</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-errors.html#XMLSEC-ERRORS-R-MAX-RETRIEVAL-TYPE-MISMATCH:CAPS" title="XMLSEC_ERRORS_R_MAX_RETRIEVAL_TYPE_MISMATCH">XMLSEC_ERRORS_R_MAX_RETRIEVAL_TYPE_MISMATCH</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-errors.html#XMLSEC-ERRORS-R-CERT-NOT-FOUND:CAPS">XMLSEC_ERRORS_R_CERT_NOT_FOUND</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-errors.html#XMLSEC-ERRORS-R-MAX-ENCKEY-LEVEL:CAPS" title="XMLSEC_ERRORS_R_MAX_ENCKEY_LEVEL">XMLSEC_ERRORS_R_MAX_ENCKEY_LEVEL</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-errors.html#XMLSEC-ERRORS-R-CERT-REVOKED:CAPS">XMLSEC_ERRORS_R_CERT_REVOKED</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-errors.html#XMLSEC-ERRORS-R-CERT-VERIFY-FAILED:CAPS" title="XMLSEC_ERRORS_R_CERT_VERIFY_FAILED">XMLSEC_ERRORS_R_CERT_VERIFY_FAILED</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-errors.html#XMLSEC-ERRORS-R-CERT-ISSUER-FAILED:CAPS">XMLSEC_ERRORS_R_CERT_ISSUER_FAILED</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-errors.html#XMLSEC-ERRORS-R-CERT-NOT-FOUND:CAPS" title="XMLSEC_ERRORS_R_CERT_NOT_FOUND">XMLSEC_ERRORS_R_CERT_NOT_FOUND</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-errors.html#XMLSEC-ERRORS-R-CERT-NOT-YET-VALID:CAPS">XMLSEC_ERRORS_R_CERT_NOT_YET_VALID</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-errors.html#XMLSEC-ERRORS-R-CERT-REVOKED:CAPS" title="XMLSEC_ERRORS_R_CERT_REVOKED">XMLSEC_ERRORS_R_CERT_REVOKED</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-errors.html#XMLSEC-ERRORS-R-CERT-HAS-EXPIRED:CAPS">XMLSEC_ERRORS_R_CERT_HAS_EXPIRED</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-errors.html#XMLSEC-ERRORS-R-CERT-ISSUER-FAILED:CAPS" title="XMLSEC_ERRORS_R_CERT_ISSUER_FAILED">XMLSEC_ERRORS_R_CERT_ISSUER_FAILED</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-errors.html#XMLSEC-ERRORS-R-DSIG-NO-REFERENCES:CAPS">XMLSEC_ERRORS_R_DSIG_NO_REFERENCES</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-errors.html#XMLSEC-ERRORS-R-CERT-NOT-YET-VALID:CAPS" title="XMLSEC_ERRORS_R_CERT_NOT_YET_VALID">XMLSEC_ERRORS_R_CERT_NOT_YET_VALID</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-errors.html#XMLSEC-ERRORS-R-DSIG-INVALID-REFERENCE:CAPS">XMLSEC_ERRORS_R_DSIG_INVALID_REFERENCE</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-errors.html#XMLSEC-ERRORS-R-CERT-HAS-EXPIRED:CAPS" title="XMLSEC_ERRORS_R_CERT_HAS_EXPIRED">XMLSEC_ERRORS_R_CERT_HAS_EXPIRED</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-errors.html#XMLSEC-ERRORS-R-ASSERTION:CAPS">XMLSEC_ERRORS_R_ASSERTION</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-errors.html#XMLSEC-ERRORS-R-DSIG-NO-REFERENCES:CAPS" title="XMLSEC_ERRORS_R_DSIG_NO_REFERENCES">XMLSEC_ERRORS_R_DSIG_NO_REFERENCES</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-errors.html#XMLSEC-ERRORS-MAX-NUMBER:CAPS">XMLSEC_ERRORS_MAX_NUMBER</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-errors.html#XMLSEC-ERRORS-R-DSIG-INVALID-REFERENCE:CAPS" title="XMLSEC_ERRORS_R_DSIG_INVALID_REFERENCE">XMLSEC_ERRORS_R_DSIG_INVALID_REFERENCE</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-errors.html#XMLSEC-ERRORS-HERE:CAPS">XMLSEC_ERRORS_HERE</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-errors.html#XMLSEC-ERRORS-R-ASSERTION:CAPS" title="XMLSEC_ERRORS_R_ASSERTION">XMLSEC_ERRORS_R_ASSERTION</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-errors.html#XMLSEC-ERRORS-NO-MESSAGE:CAPS">XMLSEC_ERRORS_NO_MESSAGE</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-errors.html#XMLSEC-ERRORS-MAX-NUMBER:CAPS" title="XMLSEC_ERRORS_MAX_NUMBER">XMLSEC_ERRORS_MAX_NUMBER</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-errors.html#XMLSEC-ERRORS-HERE:CAPS" title="XMLSEC_ERRORS_HERE">XMLSEC_ERRORS_HERE</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-errors.html#XMLSEC-ERRORS-NO-MESSAGE:CAPS" title="XMLSEC_ERRORS_NO_MESSAGE">XMLSEC_ERRORS_NO_MESSAGE</a></td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
-</div>
-<div class="REFSECT1">
-<a name="XMLSEC-ERRORS.DESCRIPTION"></a><h2>Description</h2>
-<p>Error/log messages support.</p>
-</div>
-<div class="REFSECT1">
-<a name="XMLSEC-ERRORS.FUNCTIONS_DETAILS"></a><h2>Functions</h2>
-<div class="REFSECT2">
-<a name="XMLSECERRORSCALLBACK"></a><h3>xmlSecErrorsCallback ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">void</span></font>
-<span class="c_punctuation"><span class="PHRASE">(</span></span>*xmlSecErrorsCallback<span class="c_punctuation"><span class="PHRASE">)</span></span> (<code class="PARAMETER">const <font><span class="TYPE">char</span></font> *file</code>,
- <code class="PARAMETER"><font><span class="TYPE">int</span></font> line</code>,
- <code class="PARAMETER">const <font><span class="TYPE">char</span></font> *func</code>,
- <code class="PARAMETER">const <font><span class="TYPE">char</span></font> *errorObject</code>,
- <code class="PARAMETER">const <font><span class="TYPE">char</span></font> *errorSubject</code>,
- <code class="PARAMETER"><font><span class="TYPE">int</span></font> reason</code>,
- <code class="PARAMETER">const <font><span class="TYPE">char</span></font> *msg</code>);</pre>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="xmlsec-errors.description"></a><h2>Description</h2>
+<p>
+Error/log messages support.
+</p>
+</div>
+<div class="refsect1">
+<a name="xmlsec-errors.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="xmlSecErrorsCallback"></a><h3>xmlSecErrorsCallback ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">void</span></font>
+<span class="c_punctuation">(</span>*xmlSecErrorsCallback<span class="c_punctuation">)</span> (<em class="parameter"><code>const <font><span class="type">char</span></font> *file</code></em>,
+ <em class="parameter"><code><font><span class="type">int</span></font> line</code></em>,
+ <em class="parameter"><code>const <font><span class="type">char</span></font> *func</code></em>,
+ <em class="parameter"><code>const <font><span class="type">char</span></font> *errorObject</code></em>,
+ <em class="parameter"><code>const <font><span class="type">char</span></font> *errorSubject</code></em>,
+ <em class="parameter"><code><font><span class="type">int</span></font> reason</code></em>,
+ <em class="parameter"><code>const <font><span class="type">char</span></font> *msg</code></em>);</pre>
<p>The errors reporting callback function.</p>
-<div class="REFSECT3">
-<a name="AEN6436"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN6438"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecErrorsCallback.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>file</p></td>
-<td><p>the error location file name (__FILE__ macro).</p></td>
-<td> </td>
+<td class="parameter_name"><p>file</p></td>
+<td class="parameter_description"><p>the error location file name (__FILE__ macro).</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>line</p></td>
-<td><p>the error location line number (__LINE__ macro).</p></td>
-<td> </td>
+<td class="parameter_name"><p>line</p></td>
+<td class="parameter_description"><p>the error location line number (__LINE__ macro).</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>func</p></td>
-<td><p>the error location function name (__func__ macro).</p></td>
-<td> </td>
+<td class="parameter_name"><p>func</p></td>
+<td class="parameter_description"><p>the error location function name (__func__ macro).</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>errorObject</p></td>
-<td><p>the error specific error object</p></td>
-<td> </td>
+<td class="parameter_name"><p>errorObject</p></td>
+<td class="parameter_description"><p>the error specific error object</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>errorSubject</p></td>
-<td><p>the error specific error subject.</p></td>
-<td> </td>
+<td class="parameter_name"><p>errorSubject</p></td>
+<td class="parameter_description"><p>the error specific error subject.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>reason</p></td>
-<td><p>the error code.</p></td>
-<td> </td>
+<td class="parameter_name"><p>reason</p></td>
+<td class="parameter_description"><p>the error code.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>msg</p></td>
-<td><p>the additional error message.</p></td>
-<td> </td>
+<td class="parameter_name"><p>msg</p></td>
+<td class="parameter_description"><p>the additional error message.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECERRORSINIT"></a><h3>xmlSecErrorsInit ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">void</span></font>
-xmlSecErrorsInit (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
-<p>Initializes the errors reporting. It is called from <a href="xmlsec-xmlsec.html#XMLSECINIT"><span class="TYPE">xmlSecInit</span></a> function.
+<div class="refsect2">
+<a name="xmlSecErrorsInit"></a><h3>xmlSecErrorsInit ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">void</span></font>
+xmlSecErrorsInit (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
+<p>Initializes the errors reporting. It is called from <a class="link" href="xmlsec-xmlsec.html#xmlSecInit" title="xmlSecInit ()"><span class="type">xmlSecInit</span></a> function.
and applications must not call this function directly.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECERRORSSHUTDOWN"></a><h3>xmlSecErrorsShutdown ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">void</span></font>
-xmlSecErrorsShutdown (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
-<p>Cleanups the errors reporting. It is called from <a href="xmlsec-xmlsec.html#XMLSECSHUTDOWN"><span class="TYPE">xmlSecShutdown</span></a> function.
+<div class="refsect2">
+<a name="xmlSecErrorsShutdown"></a><h3>xmlSecErrorsShutdown ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">void</span></font>
+xmlSecErrorsShutdown (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
+<p>Cleanups the errors reporting. It is called from <a class="link" href="xmlsec-xmlsec.html#xmlSecShutdown" title="xmlSecShutdown ()"><span class="type">xmlSecShutdown</span></a> function.
and applications must not call this function directly.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECERRORSSETCALLBACK"></a><h3>xmlSecErrorsSetCallback ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">void</span></font>
-xmlSecErrorsSetCallback (<code class="PARAMETER"><a href="xmlsec-errors.html#XMLSECERRORSCALLBACK"><span class="TYPE">xmlSecErrorsCallback</span></a> callback</code>);</pre>
-<p>Sets the errors callback function to <code class="PARAMETER">callback</code>
+<div class="refsect2">
+<a name="xmlSecErrorsSetCallback"></a><h3>xmlSecErrorsSetCallback ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">void</span></font>
+xmlSecErrorsSetCallback (<em class="parameter"><code><a class="link" href="xmlsec-errors.html#xmlSecErrorsCallback" title="xmlSecErrorsCallback ()"><span class="type">xmlSecErrorsCallback</span></a> callback</code></em>);</pre>
+<p>Sets the errors callback function to <em class="parameter"><code>callback</code></em>
that will be called
every time an error occurs.</p>
-<div class="REFSECT3">
-<a name="AEN6519"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN6521"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecErrorsSetCallback.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>callback</p></td>
-<td><p>the new errors callback function.</p></td>
-<td> </td>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>the new errors callback function.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECERRORSDEFAULTCALLBACK"></a><h3>xmlSecErrorsDefaultCallback ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">void</span></font>
-xmlSecErrorsDefaultCallback (<code class="PARAMETER">const <font><span class="TYPE">char</span></font> *file</code>,
- <code class="PARAMETER"><font><span class="TYPE">int</span></font> line</code>,
- <code class="PARAMETER">const <font><span class="TYPE">char</span></font> *func</code>,
- <code class="PARAMETER">const <font><span class="TYPE">char</span></font> *errorObject</code>,
- <code class="PARAMETER">const <font><span class="TYPE">char</span></font> *errorSubject</code>,
- <code class="PARAMETER"><font><span class="TYPE">int</span></font> reason</code>,
- <code class="PARAMETER">const <font><span class="TYPE">char</span></font> *msg</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecErrorsDefaultCallback"></a><h3>xmlSecErrorsDefaultCallback ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">void</span></font>
+xmlSecErrorsDefaultCallback (<em class="parameter"><code>const <font><span class="type">char</span></font> *file</code></em>,
+ <em class="parameter"><code><font><span class="type">int</span></font> line</code></em>,
+ <em class="parameter"><code>const <font><span class="type">char</span></font> *func</code></em>,
+ <em class="parameter"><code>const <font><span class="type">char</span></font> *errorObject</code></em>,
+ <em class="parameter"><code>const <font><span class="type">char</span></font> *errorSubject</code></em>,
+ <em class="parameter"><code><font><span class="type">int</span></font> reason</code></em>,
+ <em class="parameter"><code>const <font><span class="type">char</span></font> *msg</code></em>);</pre>
<p>The default error reporting callback that utilizes LibXML
-error reporting <font><span class="TYPE">xmlGenericError</span></font> function.</p>
-<div class="REFSECT3">
-<a name="AEN6561"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN6563"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+error reporting <font><span class="type">xmlGenericError</span></font> function.</p>
+<div class="refsect3">
+<a name="xmlSecErrorsDefaultCallback.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>file</p></td>
-<td><p>the error location file name (__FILE__ macro).</p></td>
-<td> </td>
+<td class="parameter_name"><p>file</p></td>
+<td class="parameter_description"><p>the error location file name (__FILE__ macro).</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>line</p></td>
-<td><p>the error location line number (__LINE__ macro).</p></td>
-<td> </td>
+<td class="parameter_name"><p>line</p></td>
+<td class="parameter_description"><p>the error location line number (__LINE__ macro).</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>func</p></td>
-<td><p>the error location function name (__FUNCTION__ macro).</p></td>
-<td> </td>
+<td class="parameter_name"><p>func</p></td>
+<td class="parameter_description"><p>the error location function name (__FUNCTION__ macro).</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>errorObject</p></td>
-<td><p>the error specific error object</p></td>
-<td> </td>
+<td class="parameter_name"><p>errorObject</p></td>
+<td class="parameter_description"><p>the error specific error object</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>errorSubject</p></td>
-<td><p>the error specific error subject.</p></td>
-<td> </td>
+<td class="parameter_name"><p>errorSubject</p></td>
+<td class="parameter_description"><p>the error specific error subject.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>reason</p></td>
-<td><p>the error code.</p></td>
-<td> </td>
+<td class="parameter_name"><p>reason</p></td>
+<td class="parameter_description"><p>the error code.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>msg</p></td>
-<td><p>the additional error message.</p></td>
-<td> </td>
+<td class="parameter_name"><p>msg</p></td>
+<td class="parameter_description"><p>the additional error message.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECERRORSDEFAULTCALLBACKENABLEOUTPUT"></a><h3>xmlSecErrorsDefaultCallbackEnableOutput ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">void</span></font>
+<div class="refsect2">
+<a name="xmlSecErrorsDefaultCallbackEnableOutput"></a><h3>xmlSecErrorsDefaultCallbackEnableOutput ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">void</span></font>
xmlSecErrorsDefaultCallbackEnableOutput
- (<code class="PARAMETER"><font><span class="TYPE">int</span></font> enabled</code>);</pre>
+ (<em class="parameter"><code><font><span class="type">int</span></font> enabled</code></em>);</pre>
<p>Enables or disables calling LibXML2 callback from the default
errors callback.</p>
-<div class="REFSECT3">
-<a name="AEN6619"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN6621"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecErrorsDefaultCallbackEnableOutput.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>enabled</p></td>
-<td><p>the flag.</p></td>
-<td> </td>
+<td class="parameter_name"><p>enabled</p></td>
+<td class="parameter_description"><p>the flag.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECERRORSGETCODE"></a><h3>xmlSecErrorsGetCode ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecErrorsGetCode (<code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> pos</code>);</pre>
-<p>Gets the known error code at position <code class="PARAMETER">pos</code>
+<div class="refsect2">
+<a name="xmlSecErrorsGetCode"></a><h3>xmlSecErrorsGetCode ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecErrorsGetCode (<em class="parameter"><code><a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="type">xmlSecSize</span></a> pos</code></em>);</pre>
+<p>Gets the known error code at position <em class="parameter"><code>pos</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN6642"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN6644"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecErrorsGetCode.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>pos</p></td>
-<td><p>the error position.</p></td>
-<td> </td>
+<td class="parameter_name"><p>pos</p></td>
+<td class="parameter_description"><p>the error position.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN6653"></a><h4>Returns</h4>
-<p> the known error code or 0 if <code class="PARAMETER">pos</code>
+<div class="refsect3">
+<a name="xmlSecErrorsGetCode.returns"></a><h4>Returns</h4>
+<p> the known error code or 0 if <em class="parameter"><code>pos</code></em>
is greater than
total number of known error codes.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECERRORSGETMSG"></a><h3>xmlSecErrorsGetMsg ()</h3>
-<pre class="PROGRAMLISTING">const <font><span class="RETURNVALUE">char</span></font> *
-xmlSecErrorsGetMsg (<code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> pos</code>);</pre>
-<p>Gets the known error message at position <code class="PARAMETER">pos</code>
+<div class="refsect2">
+<a name="xmlSecErrorsGetMsg"></a><h3>xmlSecErrorsGetMsg ()</h3>
+<pre class="programlisting">const <font><span class="returnvalue">char</span></font> *
+xmlSecErrorsGetMsg (<em class="parameter"><code><a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="type">xmlSecSize</span></a> pos</code></em>);</pre>
+<p>Gets the known error message at position <em class="parameter"><code>pos</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN6669"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN6671"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecErrorsGetMsg.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>pos</p></td>
-<td><p>the error position.</p></td>
-<td> </td>
+<td class="parameter_name"><p>pos</p></td>
+<td class="parameter_description"><p>the error position.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN6680"></a><h4>Returns</h4>
-<p> the known error message or NULL if <code class="PARAMETER">pos</code>
+<div class="refsect3">
+<a name="xmlSecErrorsGetMsg.returns"></a><h4>Returns</h4>
+<p> the known error message or NULL if <em class="parameter"><code>pos</code></em>
is greater than
total number of known error codes.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECERRORSSAFESTRING"></a><h3>xmlSecErrorsSafeString()</h3>
-<pre class="PROGRAMLISTING">#define xmlSecErrorsSafeString(str)</pre>
-<p>Macro. Returns <code class="PARAMETER">str</code>
+<div class="refsect2">
+<a name="xmlSecErrorsSafeString"></a><h3>xmlSecErrorsSafeString()</h3>
+<pre class="programlisting">#define xmlSecErrorsSafeString(str)</pre>
+<p>Macro. Returns <em class="parameter"><code>str</code></em>
if it is not NULL or pointer to "NULL" otherwise.</p>
-<div class="REFSECT3">
-<a name="AEN6691"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN6693"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecErrorsSafeString.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>str</p></td>
-<td><p>the string.</p></td>
-<td> </td>
+<td class="parameter_name"><p>str</p></td>
+<td class="parameter_description"><p>the string.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECERROR"></a><h3>xmlSecError ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">void</span></font>
-xmlSecError (<code class="PARAMETER">const <font><span class="TYPE">char</span></font> *file</code>,
- <code class="PARAMETER"><font><span class="TYPE">int</span></font> line</code>,
- <code class="PARAMETER">const <font><span class="TYPE">char</span></font> *func</code>,
- <code class="PARAMETER">const <font><span class="TYPE">char</span></font> *errorObject</code>,
- <code class="PARAMETER">const <font><span class="TYPE">char</span></font> *errorSubject</code>,
- <code class="PARAMETER"><font><span class="TYPE">int</span></font> reason</code>,
- <code class="PARAMETER">const <font><span class="TYPE">char</span></font> *msg</code>,
- <code class="PARAMETER">...</code>);</pre>
-<p>Reports an error to the default (<a href="xmlsec-errors.html#XMLSECERRORSDEFAULTCALLBACK"><span class="TYPE">xmlSecErrorsDefaultCallback</span></a>) or
-application specific callback installed using <a href="xmlsec-errors.html#XMLSECERRORSSETCALLBACK"><span class="TYPE">xmlSecErrorsSetCallback</span></a>
+<div class="refsect2">
+<a name="xmlSecError"></a><h3>xmlSecError ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">void</span></font>
+xmlSecError (<em class="parameter"><code>const <font><span class="type">char</span></font> *file</code></em>,
+ <em class="parameter"><code><font><span class="type">int</span></font> line</code></em>,
+ <em class="parameter"><code>const <font><span class="type">char</span></font> *func</code></em>,
+ <em class="parameter"><code>const <font><span class="type">char</span></font> *errorObject</code></em>,
+ <em class="parameter"><code>const <font><span class="type">char</span></font> *errorSubject</code></em>,
+ <em class="parameter"><code><font><span class="type">int</span></font> reason</code></em>,
+ <em class="parameter"><code>const <font><span class="type">char</span></font> *msg</code></em>,
+ <em class="parameter"><code>...</code></em>);</pre>
+<p>Reports an error to the default (<a class="link" href="xmlsec-errors.html#xmlSecErrorsDefaultCallback" title="xmlSecErrorsDefaultCallback ()"><span class="type">xmlSecErrorsDefaultCallback</span></a>) or
+application specific callback installed using <a class="link" href="xmlsec-errors.html#xmlSecErrorsSetCallback" title="xmlSecErrorsSetCallback ()"><span class="type">xmlSecErrorsSetCallback</span></a>
function.</p>
-<div class="REFSECT3">
-<a name="AEN6736"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN6738"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecError.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>file</p></td>
-<td><p>the error location filename (__FILE__).</p></td>
-<td> </td>
+<td class="parameter_name"><p>file</p></td>
+<td class="parameter_description"><p>the error location filename (__FILE__).</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>line</p></td>
-<td><p>the error location line number (__LINE__).</p></td>
-<td> </td>
+<td class="parameter_name"><p>line</p></td>
+<td class="parameter_description"><p>the error location line number (__LINE__).</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>func</p></td>
-<td><p>the error location function (__FUNCTIION__).</p></td>
-<td> </td>
+<td class="parameter_name"><p>func</p></td>
+<td class="parameter_description"><p>the error location function (__FUNCTIION__).</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>errorObject</p></td>
-<td><p>the error specific error object</p></td>
-<td> </td>
+<td class="parameter_name"><p>errorObject</p></td>
+<td class="parameter_description"><p>the error specific error object (e.g. transform, key data, etc).</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>errorSubject</p></td>
-<td><p>the error specific error subject.</p></td>
-<td> </td>
+<td class="parameter_name"><p>errorSubject</p></td>
+<td class="parameter_description"><p>the error specific error subject (e.g. failed function name).</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>reason</p></td>
-<td><p>the error code.</p></td>
-<td> </td>
+<td class="parameter_name"><p>reason</p></td>
+<td class="parameter_description"><p>the error code.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>msg</p></td>
-<td><p>the error message in printf format.</p></td>
-<td> </td>
+<td class="parameter_name"><p>msg</p></td>
+<td class="parameter_description"><p>the error message in printf format.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>...</p></td>
-<td><p>the parameters for the <code class="PARAMETER">msg</code>
+<td class="parameter_name"><p>...</p></td>
+<td class="parameter_description"><p>the parameters for the <em class="parameter"><code>msg</code></em>
.</p></td>
-<td> </td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECASSERT"></a><h3>xmlSecAssert()</h3>
-<pre class="PROGRAMLISTING">#define xmlSecAssert( p )</pre>
-<p>Macro. Verifies that <code class="PARAMETER">p</code>
- is true and calls <font><code class="FUNCTION">return()</code></font> otherwise.</p>
-<div class="REFSECT3">
-<a name="AEN6799"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN6801"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect2">
+<a name="xmlSecAssert"></a><h3>xmlSecAssert()</h3>
+<pre class="programlisting">#define xmlSecAssert( p )</pre>
+<p>Macro. Verifies that <em class="parameter"><code>p</code></em>
+ is true and calls <font><code class="function">return()</code></font> otherwise.</p>
+<div class="refsect3">
+<a name="xmlSecAssert.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>p</p></td>
-<td><p>the expression.</p></td>
-<td> </td>
+<td class="parameter_name"><p>p</p></td>
+<td class="parameter_description"><p>the expression.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECASSERT2"></a><h3>xmlSecAssert2()</h3>
-<pre class="PROGRAMLISTING">#define xmlSecAssert2( p, ret )</pre>
-<p>Macro. Verifies that <code class="PARAMETER">p</code>
- is true and calls return(<code class="PARAMETER">ret</code>
+<div class="refsect2">
+<a name="xmlSecAssert2"></a><h3>xmlSecAssert2()</h3>
+<pre class="programlisting">#define xmlSecAssert2( p, ret )</pre>
+<p>Macro. Verifies that <em class="parameter"><code>p</code></em>
+ is true and calls return(<em class="parameter"><code>ret</code></em>
) otherwise.</p>
-<div class="REFSECT3">
-<a name="AEN6818"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN6820"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecAssert2.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>p</p></td>
-<td><p>the expression.</p></td>
-<td> </td>
+<td class="parameter_name"><p>p</p></td>
+<td class="parameter_description"><p>the expression.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>ret</p></td>
-<td><p>the return value.</p></td>
-<td> </td>
+<td class="parameter_name"><p>ret</p></td>
+<td class="parameter_description"><p>the return value.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
</div>
</div>
-</div>
-<div class="REFSECT1">
-<a name="XMLSEC-ERRORS.OTHER_DETAILS"></a><h2>Types and Values</h2>
-<div class="REFSECT2">
+<div class="refsect1">
+<a name="xmlsec-errors.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
<a name="XMLSEC-ERRORS-R-XMLSEC-FAILED:CAPS"></a><h3>XMLSEC_ERRORS_R_XMLSEC_FAILED</h3>
-<pre class="PROGRAMLISTING">#define XMLSEC_ERRORS_R_XMLSEC_FAILED 1</pre>
-<p>An XMLSec function failed (error subject is the failed function).</p>
+<pre class="programlisting">#define XMLSEC_ERRORS_R_XMLSEC_FAILED 1
+</pre>
+<p>An XMLSec function failed.</p>
</div>
<hr>
-<div class="REFSECT2">
+<div class="refsect2">
<a name="XMLSEC-ERRORS-R-MALLOC-FAILED:CAPS"></a><h3>XMLSEC_ERRORS_R_MALLOC_FAILED</h3>
-<pre class="PROGRAMLISTING">#define XMLSEC_ERRORS_R_MALLOC_FAILED 2</pre>
+<pre class="programlisting">#define XMLSEC_ERRORS_R_MALLOC_FAILED 2
+</pre>
<p>Failed to allocate memory error.</p>
</div>
<hr>
-<div class="REFSECT2">
+<div class="refsect2">
<a name="XMLSEC-ERRORS-R-STRDUP-FAILED:CAPS"></a><h3>XMLSEC_ERRORS_R_STRDUP_FAILED</h3>
-<pre class="PROGRAMLISTING">#define XMLSEC_ERRORS_R_STRDUP_FAILED 3</pre>
+<pre class="programlisting">#define XMLSEC_ERRORS_R_STRDUP_FAILED 3
+</pre>
<p>Failed to duplicate string error.</p>
</div>
<hr>
-<div class="REFSECT2">
+<div class="refsect2">
<a name="XMLSEC-ERRORS-R-CRYPTO-FAILED:CAPS"></a><h3>XMLSEC_ERRORS_R_CRYPTO_FAILED</h3>
-<pre class="PROGRAMLISTING">#define XMLSEC_ERRORS_R_CRYPTO_FAILED 4</pre>
-<p>Crypto (OpenSSL) function failed (error subject is the failed function).</p>
+<pre class="programlisting">#define XMLSEC_ERRORS_R_CRYPTO_FAILED 4
+</pre>
+<p>Crypto (e.g. OpenSSL) function failed.</p>
</div>
<hr>
-<div class="REFSECT2">
+<div class="refsect2">
<a name="XMLSEC-ERRORS-R-XML-FAILED:CAPS"></a><h3>XMLSEC_ERRORS_R_XML_FAILED</h3>
-<pre class="PROGRAMLISTING">#define XMLSEC_ERRORS_R_XML_FAILED 5</pre>
-<p>LibXML function failed (error subject is the failed function).</p>
+<pre class="programlisting">#define XMLSEC_ERRORS_R_XML_FAILED 5
+</pre>
+<p>LibXML function failed.</p>
</div>
<hr>
-<div class="REFSECT2">
+<div class="refsect2">
<a name="XMLSEC-ERRORS-R-XSLT-FAILED:CAPS"></a><h3>XMLSEC_ERRORS_R_XSLT_FAILED</h3>
-<pre class="PROGRAMLISTING">#define XMLSEC_ERRORS_R_XSLT_FAILED 6</pre>
-<p>LibXSLT function failed (error subject is the failed function).</p>
+<pre class="programlisting">#define XMLSEC_ERRORS_R_XSLT_FAILED 6
+</pre>
+<p>LibXSLT function failed.</p>
</div>
<hr>
-<div class="REFSECT2">
+<div class="refsect2">
<a name="XMLSEC-ERRORS-R-IO-FAILED:CAPS"></a><h3>XMLSEC_ERRORS_R_IO_FAILED</h3>
-<pre class="PROGRAMLISTING">#define XMLSEC_ERRORS_R_IO_FAILED 7</pre>
+<pre class="programlisting">#define XMLSEC_ERRORS_R_IO_FAILED 7
+</pre>
<p>IO operation failed.</p>
</div>
<hr>
-<div class="REFSECT2">
+<div class="refsect2">
<a name="XMLSEC-ERRORS-R-DISABLED:CAPS"></a><h3>XMLSEC_ERRORS_R_DISABLED</h3>
-<pre class="PROGRAMLISTING">#define XMLSEC_ERRORS_R_DISABLED 8</pre>
+<pre class="programlisting">#define XMLSEC_ERRORS_R_DISABLED 8
+</pre>
<p>The feature is disabled during compilation.
Check './configure --help' for details on how to
enable it.</p>
</div>
<hr>
-<div class="REFSECT2">
+<div class="refsect2">
<a name="XMLSEC-ERRORS-R-NOT-IMPLEMENTED:CAPS"></a><h3>XMLSEC_ERRORS_R_NOT_IMPLEMENTED</h3>
-<pre class="PROGRAMLISTING">#define XMLSEC_ERRORS_R_NOT_IMPLEMENTED 9</pre>
+<pre class="programlisting">#define XMLSEC_ERRORS_R_NOT_IMPLEMENTED 9
+</pre>
<p>Feature is not implemented.</p>
</div>
<hr>
-<div class="REFSECT2">
+<div class="refsect2">
+<a name="XMLSEC-ERRORS-R-INVALID-CONFIG:CAPS"></a><h3>XMLSEC_ERRORS_R_INVALID_CONFIG</h3>
+<pre class="programlisting">#define XMLSEC_ERRORS_R_INVALID_CONFIG 10
+</pre>
+<p>The configuration is invalid.</p>
+</div>
+<hr>
+<div class="refsect2">
<a name="XMLSEC-ERRORS-R-INVALID-SIZE:CAPS"></a><h3>XMLSEC_ERRORS_R_INVALID_SIZE</h3>
-<pre class="PROGRAMLISTING">#define XMLSEC_ERRORS_R_INVALID_SIZE 11</pre>
+<pre class="programlisting">#define XMLSEC_ERRORS_R_INVALID_SIZE 11
+</pre>
<p>Invalid size.</p>
</div>
<hr>
-<div class="REFSECT2">
+<div class="refsect2">
<a name="XMLSEC-ERRORS-R-INVALID-DATA:CAPS"></a><h3>XMLSEC_ERRORS_R_INVALID_DATA</h3>
-<pre class="PROGRAMLISTING">#define XMLSEC_ERRORS_R_INVALID_DATA 12</pre>
+<pre class="programlisting">#define XMLSEC_ERRORS_R_INVALID_DATA 12
+</pre>
<p>Invalid data.</p>
</div>
<hr>
-<div class="REFSECT2">
+<div class="refsect2">
<a name="XMLSEC-ERRORS-R-INVALID-RESULT:CAPS"></a><h3>XMLSEC_ERRORS_R_INVALID_RESULT</h3>
-<pre class="PROGRAMLISTING">#define XMLSEC_ERRORS_R_INVALID_RESULT 13</pre>
+<pre class="programlisting">#define XMLSEC_ERRORS_R_INVALID_RESULT 13
+</pre>
<p>Invalid result.</p>
</div>
<hr>
-<div class="REFSECT2">
+<div class="refsect2">
<a name="XMLSEC-ERRORS-R-INVALID-TYPE:CAPS"></a><h3>XMLSEC_ERRORS_R_INVALID_TYPE</h3>
-<pre class="PROGRAMLISTING">#define XMLSEC_ERRORS_R_INVALID_TYPE 14</pre>
+<pre class="programlisting">#define XMLSEC_ERRORS_R_INVALID_TYPE 14
+</pre>
<p>Invalid type.</p>
</div>
<hr>
-<div class="REFSECT2">
+<div class="refsect2">
<a name="XMLSEC-ERRORS-R-INVALID-OPERATION:CAPS"></a><h3>XMLSEC_ERRORS_R_INVALID_OPERATION</h3>
-<pre class="PROGRAMLISTING">#define XMLSEC_ERRORS_R_INVALID_OPERATION 15</pre>
+<pre class="programlisting">#define XMLSEC_ERRORS_R_INVALID_OPERATION 15
+</pre>
<p>Invalid operation.</p>
</div>
<hr>
-<div class="REFSECT2">
+<div class="refsect2">
<a name="XMLSEC-ERRORS-R-INVALID-STATUS:CAPS"></a><h3>XMLSEC_ERRORS_R_INVALID_STATUS</h3>
-<pre class="PROGRAMLISTING">#define XMLSEC_ERRORS_R_INVALID_STATUS 16</pre>
+<pre class="programlisting">#define XMLSEC_ERRORS_R_INVALID_STATUS 16
+</pre>
<p>Invalid status.</p>
</div>
<hr>
-<div class="REFSECT2">
+<div class="refsect2">
<a name="XMLSEC-ERRORS-R-INVALID-FORMAT:CAPS"></a><h3>XMLSEC_ERRORS_R_INVALID_FORMAT</h3>
-<pre class="PROGRAMLISTING">#define XMLSEC_ERRORS_R_INVALID_FORMAT 17</pre>
+<pre class="programlisting">#define XMLSEC_ERRORS_R_INVALID_FORMAT 17
+</pre>
<p>Invalid format.</p>
</div>
<hr>
-<div class="REFSECT2">
+<div class="refsect2">
<a name="XMLSEC-ERRORS-R-DATA-NOT-MATCH:CAPS"></a><h3>XMLSEC_ERRORS_R_DATA_NOT_MATCH</h3>
-<pre class="PROGRAMLISTING">#define XMLSEC_ERRORS_R_DATA_NOT_MATCH 18</pre>
+<pre class="programlisting">#define XMLSEC_ERRORS_R_DATA_NOT_MATCH 18
+</pre>
<p>The data do not match our expectation.</p>
</div>
<hr>
-<div class="REFSECT2">
+<div class="refsect2">
+<a name="XMLSEC-ERRORS-R-INVALID-VERSION:CAPS"></a><h3>XMLSEC_ERRORS_R_INVALID_VERSION</h3>
+<pre class="programlisting">#define XMLSEC_ERRORS_R_INVALID_VERSION 19
+</pre>
+<p>Version mismatch.</p>
+</div>
+<hr>
+<div class="refsect2">
<a name="XMLSEC-ERRORS-R-INVALID-NODE:CAPS"></a><h3>XMLSEC_ERRORS_R_INVALID_NODE</h3>
-<pre class="PROGRAMLISTING">#define XMLSEC_ERRORS_R_INVALID_NODE 21</pre>
-<p>Invalid node (error subject is the node name).</p>
+<pre class="programlisting">#define XMLSEC_ERRORS_R_INVALID_NODE 21
+</pre>
+<p>Invalid node.</p>
</div>
<hr>
-<div class="REFSECT2">
+<div class="refsect2">
<a name="XMLSEC-ERRORS-R-INVALID-NODE-CONTENT:CAPS"></a><h3>XMLSEC_ERRORS_R_INVALID_NODE_CONTENT</h3>
-<pre class="PROGRAMLISTING">#define XMLSEC_ERRORS_R_INVALID_NODE_CONTENT 22</pre>
-<p>Invalid node content (error subject is the node name).</p>
+<pre class="programlisting">#define XMLSEC_ERRORS_R_INVALID_NODE_CONTENT 22
+</pre>
+<p>Invalid node content.</p>
</div>
<hr>
-<div class="REFSECT2">
+<div class="refsect2">
<a name="XMLSEC-ERRORS-R-INVALID-NODE-ATTRIBUTE:CAPS"></a><h3>XMLSEC_ERRORS_R_INVALID_NODE_ATTRIBUTE</h3>
-<pre class="PROGRAMLISTING">#define XMLSEC_ERRORS_R_INVALID_NODE_ATTRIBUTE 23</pre>
-<p>Invalid node attribute (error subject is the node name).</p>
+<pre class="programlisting">#define XMLSEC_ERRORS_R_INVALID_NODE_ATTRIBUTE 23
+</pre>
+<p>Invalid node attribute.</p>
</div>
<hr>
-<div class="REFSECT2">
+<div class="refsect2">
<a name="XMLSEC-ERRORS-R-MISSING-NODE-ATTRIBUTE:CAPS"></a><h3>XMLSEC_ERRORS_R_MISSING_NODE_ATTRIBUTE</h3>
-<pre class="PROGRAMLISTING">#define XMLSEC_ERRORS_R_MISSING_NODE_ATTRIBUTE 25</pre>
-<p>Missing node attribute (error subject is the node name).</p>
+<pre class="programlisting">#define XMLSEC_ERRORS_R_MISSING_NODE_ATTRIBUTE 25
+</pre>
+<p>Missing node attribute.</p>
</div>
<hr>
-<div class="REFSECT2">
+<div class="refsect2">
<a name="XMLSEC-ERRORS-R-NODE-ALREADY-PRESENT:CAPS"></a><h3>XMLSEC_ERRORS_R_NODE_ALREADY_PRESENT</h3>
-<pre class="PROGRAMLISTING">#define XMLSEC_ERRORS_R_NODE_ALREADY_PRESENT 26</pre>
+<pre class="programlisting">#define XMLSEC_ERRORS_R_NODE_ALREADY_PRESENT 26
+</pre>
<p>Node already present,</p>
</div>
<hr>
-<div class="REFSECT2">
+<div class="refsect2">
<a name="XMLSEC-ERRORS-R-UNEXPECTED-NODE:CAPS"></a><h3>XMLSEC_ERRORS_R_UNEXPECTED_NODE</h3>
-<pre class="PROGRAMLISTING">#define XMLSEC_ERRORS_R_UNEXPECTED_NODE 27</pre>
-<p>Unexpected node (error subject is the node name).</p>
+<pre class="programlisting">#define XMLSEC_ERRORS_R_UNEXPECTED_NODE 27
+</pre>
+<p>Unexpected node.</p>
</div>
<hr>
-<div class="REFSECT2">
+<div class="refsect2">
<a name="XMLSEC-ERRORS-R-NODE-NOT-FOUND:CAPS"></a><h3>XMLSEC_ERRORS_R_NODE_NOT_FOUND</h3>
-<pre class="PROGRAMLISTING">#define XMLSEC_ERRORS_R_NODE_NOT_FOUND 28</pre>
-<p>Node not found (error subject is the required node name).</p>
+<pre class="programlisting">#define XMLSEC_ERRORS_R_NODE_NOT_FOUND 28
+</pre>
+<p>Node not found.</p>
</div>
<hr>
-<div class="REFSECT2">
+<div class="refsect2">
<a name="XMLSEC-ERRORS-R-INVALID-TRANSFORM:CAPS"></a><h3>XMLSEC_ERRORS_R_INVALID_TRANSFORM</h3>
-<pre class="PROGRAMLISTING">#define XMLSEC_ERRORS_R_INVALID_TRANSFORM 31</pre>
-<p>This transform is invlaid here.</p>
+<pre class="programlisting">#define XMLSEC_ERRORS_R_INVALID_TRANSFORM 31
+</pre>
+<p>This transform is invalid.</p>
</div>
<hr>
-<div class="REFSECT2">
+<div class="refsect2">
<a name="XMLSEC-ERRORS-R-INVALID-TRANSFORM-KEY:CAPS"></a><h3>XMLSEC_ERRORS_R_INVALID_TRANSFORM_KEY</h3>
-<pre class="PROGRAMLISTING">#define XMLSEC_ERRORS_R_INVALID_TRANSFORM_KEY 32</pre>
+<pre class="programlisting">#define XMLSEC_ERRORS_R_INVALID_TRANSFORM_KEY 32
+</pre>
<p>Key is invalid for this transform.</p>
</div>
<hr>
-<div class="REFSECT2">
+<div class="refsect2">
<a name="XMLSEC-ERRORS-R-INVALID-URI-TYPE:CAPS"></a><h3>XMLSEC_ERRORS_R_INVALID_URI_TYPE</h3>
-<pre class="PROGRAMLISTING">#define XMLSEC_ERRORS_R_INVALID_URI_TYPE 33</pre>
+<pre class="programlisting">#define XMLSEC_ERRORS_R_INVALID_URI_TYPE 33
+</pre>
<p>Invalid URI type.</p>
</div>
<hr>
-<div class="REFSECT2">
+<div class="refsect2">
<a name="XMLSEC-ERRORS-R-TRANSFORM-SAME-DOCUMENT-REQUIRED:CAPS"></a><h3>XMLSEC_ERRORS_R_TRANSFORM_SAME_DOCUMENT_REQUIRED</h3>
-<pre class="PROGRAMLISTING">#define XMLSEC_ERRORS_R_TRANSFORM_SAME_DOCUMENT_REQUIRED 34</pre>
+<pre class="programlisting">#define XMLSEC_ERRORS_R_TRANSFORM_SAME_DOCUMENT_REQUIRED 34
+</pre>
<p>The transform requires the input document to be the same as context.</p>
</div>
<hr>
-<div class="REFSECT2">
+<div class="refsect2">
<a name="XMLSEC-ERRORS-R-TRANSFORM-DISABLED:CAPS"></a><h3>XMLSEC_ERRORS_R_TRANSFORM_DISABLED</h3>
-<pre class="PROGRAMLISTING">#define XMLSEC_ERRORS_R_TRANSFORM_DISABLED 35</pre>
+<pre class="programlisting">#define XMLSEC_ERRORS_R_TRANSFORM_DISABLED 35
+</pre>
<p>The transform is disabled.</p>
</div>
<hr>
-<div class="REFSECT2">
+<div class="refsect2">
<a name="XMLSEC-ERRORS-R-INVALID-KEY-DATA:CAPS"></a><h3>XMLSEC_ERRORS_R_INVALID_KEY_DATA</h3>
-<pre class="PROGRAMLISTING">#define XMLSEC_ERRORS_R_INVALID_KEY_DATA 41</pre>
+<pre class="programlisting">#define XMLSEC_ERRORS_R_INVALID_KEY_DATA 41
+</pre>
<p>Key data is invalid.</p>
</div>
<hr>
-<div class="REFSECT2">
+<div class="refsect2">
<a name="XMLSEC-ERRORS-R-KEY-DATA-NOT-FOUND:CAPS"></a><h3>XMLSEC_ERRORS_R_KEY_DATA_NOT_FOUND</h3>
-<pre class="PROGRAMLISTING">#define XMLSEC_ERRORS_R_KEY_DATA_NOT_FOUND 42</pre>
-<p>Data is not found (error subject is the data name).</p>
+<pre class="programlisting">#define XMLSEC_ERRORS_R_KEY_DATA_NOT_FOUND 42
+</pre>
+<p>Data is not found.</p>
</div>
<hr>
-<div class="REFSECT2">
+<div class="refsect2">
<a name="XMLSEC-ERRORS-R-KEY-DATA-ALREADY-EXIST:CAPS"></a><h3>XMLSEC_ERRORS_R_KEY_DATA_ALREADY_EXIST</h3>
-<pre class="PROGRAMLISTING">#define XMLSEC_ERRORS_R_KEY_DATA_ALREADY_EXIST 43</pre>
+<pre class="programlisting">#define XMLSEC_ERRORS_R_KEY_DATA_ALREADY_EXIST 43
+</pre>
<p>The key data is already exist.</p>
</div>
<hr>
-<div class="REFSECT2">
+<div class="refsect2">
<a name="XMLSEC-ERRORS-R-INVALID-KEY-DATA-SIZE:CAPS"></a><h3>XMLSEC_ERRORS_R_INVALID_KEY_DATA_SIZE</h3>
-<pre class="PROGRAMLISTING">#define XMLSEC_ERRORS_R_INVALID_KEY_DATA_SIZE 44</pre>
+<pre class="programlisting">#define XMLSEC_ERRORS_R_INVALID_KEY_DATA_SIZE 44
+</pre>
<p>Invalid key size.</p>
</div>
<hr>
-<div class="REFSECT2">
+<div class="refsect2">
<a name="XMLSEC-ERRORS-R-KEY-NOT-FOUND:CAPS"></a><h3>XMLSEC_ERRORS_R_KEY_NOT_FOUND</h3>
-<pre class="PROGRAMLISTING">#define XMLSEC_ERRORS_R_KEY_NOT_FOUND 45</pre>
+<pre class="programlisting">#define XMLSEC_ERRORS_R_KEY_NOT_FOUND 45
+</pre>
<p>Key not found.</p>
</div>
<hr>
-<div class="REFSECT2">
+<div class="refsect2">
<a name="XMLSEC-ERRORS-R-KEYDATA-DISABLED:CAPS"></a><h3>XMLSEC_ERRORS_R_KEYDATA_DISABLED</h3>
-<pre class="PROGRAMLISTING">#define XMLSEC_ERRORS_R_KEYDATA_DISABLED 46</pre>
+<pre class="programlisting">#define XMLSEC_ERRORS_R_KEYDATA_DISABLED 46
+</pre>
<p>The key data type disabled.</p>
</div>
<hr>
-<div class="REFSECT2">
+<div class="refsect2">
<a name="XMLSEC-ERRORS-R-MAX-RETRIEVALS-LEVEL:CAPS"></a><h3>XMLSEC_ERRORS_R_MAX_RETRIEVALS_LEVEL</h3>
-<pre class="PROGRAMLISTING">#define XMLSEC_ERRORS_R_MAX_RETRIEVALS_LEVEL 51</pre>
+<pre class="programlisting">#define XMLSEC_ERRORS_R_MAX_RETRIEVALS_LEVEL 51
+</pre>
<p>Max allowed retrievals level reached.</p>
</div>
<hr>
-<div class="REFSECT2">
+<div class="refsect2">
<a name="XMLSEC-ERRORS-R-MAX-RETRIEVAL-TYPE-MISMATCH:CAPS"></a><h3>XMLSEC_ERRORS_R_MAX_RETRIEVAL_TYPE_MISMATCH</h3>
-<pre class="PROGRAMLISTING">#define XMLSEC_ERRORS_R_MAX_RETRIEVAL_TYPE_MISMATCH 52</pre>
+<pre class="programlisting">#define XMLSEC_ERRORS_R_MAX_RETRIEVAL_TYPE_MISMATCH 52
+</pre>
<p>The retrieved key data type does not match the one specified
in the <dsig:RetrievalMethod/> node.</p>
</div>
<hr>
-<div class="REFSECT2">
+<div class="refsect2">
<a name="XMLSEC-ERRORS-R-MAX-ENCKEY-LEVEL:CAPS"></a><h3>XMLSEC_ERRORS_R_MAX_ENCKEY_LEVEL</h3>
-<pre class="PROGRAMLISTING">#define XMLSEC_ERRORS_R_MAX_ENCKEY_LEVEL 61</pre>
+<pre class="programlisting">#define XMLSEC_ERRORS_R_MAX_ENCKEY_LEVEL 61
+</pre>
<p>Max EncryptedKey level reached.</p>
</div>
<hr>
-<div class="REFSECT2">
+<div class="refsect2">
<a name="XMLSEC-ERRORS-R-CERT-VERIFY-FAILED:CAPS"></a><h3>XMLSEC_ERRORS_R_CERT_VERIFY_FAILED</h3>
-<pre class="PROGRAMLISTING">#define XMLSEC_ERRORS_R_CERT_VERIFY_FAILED 71</pre>
+<pre class="programlisting">#define XMLSEC_ERRORS_R_CERT_VERIFY_FAILED 71
+</pre>
<p>Certificate verification failed.</p>
</div>
<hr>
-<div class="REFSECT2">
+<div class="refsect2">
<a name="XMLSEC-ERRORS-R-CERT-NOT-FOUND:CAPS"></a><h3>XMLSEC_ERRORS_R_CERT_NOT_FOUND</h3>
-<pre class="PROGRAMLISTING">#define XMLSEC_ERRORS_R_CERT_NOT_FOUND 72</pre>
+<pre class="programlisting">#define XMLSEC_ERRORS_R_CERT_NOT_FOUND 72
+</pre>
<p>Requested certificate is not found.</p>
</div>
<hr>
-<div class="REFSECT2">
+<div class="refsect2">
<a name="XMLSEC-ERRORS-R-CERT-REVOKED:CAPS"></a><h3>XMLSEC_ERRORS_R_CERT_REVOKED</h3>
-<pre class="PROGRAMLISTING">#define XMLSEC_ERRORS_R_CERT_REVOKED 73</pre>
+<pre class="programlisting">#define XMLSEC_ERRORS_R_CERT_REVOKED 73
+</pre>
<p>The certificate is revoked.</p>
</div>
<hr>
-<div class="REFSECT2">
+<div class="refsect2">
<a name="XMLSEC-ERRORS-R-CERT-ISSUER-FAILED:CAPS"></a><h3>XMLSEC_ERRORS_R_CERT_ISSUER_FAILED</h3>
-<pre class="PROGRAMLISTING">#define XMLSEC_ERRORS_R_CERT_ISSUER_FAILED 74</pre>
+<pre class="programlisting">#define XMLSEC_ERRORS_R_CERT_ISSUER_FAILED 74
+</pre>
<p>Failed to get certificate issuer.</p>
</div>
<hr>
-<div class="REFSECT2">
+<div class="refsect2">
<a name="XMLSEC-ERRORS-R-CERT-NOT-YET-VALID:CAPS"></a><h3>XMLSEC_ERRORS_R_CERT_NOT_YET_VALID</h3>
-<pre class="PROGRAMLISTING">#define XMLSEC_ERRORS_R_CERT_NOT_YET_VALID 75</pre>
+<pre class="programlisting">#define XMLSEC_ERRORS_R_CERT_NOT_YET_VALID 75
+</pre>
<p>"Not valid before" verification failed.</p>
</div>
<hr>
-<div class="REFSECT2">
+<div class="refsect2">
<a name="XMLSEC-ERRORS-R-CERT-HAS-EXPIRED:CAPS"></a><h3>XMLSEC_ERRORS_R_CERT_HAS_EXPIRED</h3>
-<pre class="PROGRAMLISTING">#define XMLSEC_ERRORS_R_CERT_HAS_EXPIRED 76</pre>
+<pre class="programlisting">#define XMLSEC_ERRORS_R_CERT_HAS_EXPIRED 76
+</pre>
<p>"Not valid after" verification failed.</p>
</div>
<hr>
-<div class="REFSECT2">
+<div class="refsect2">
<a name="XMLSEC-ERRORS-R-DSIG-NO-REFERENCES:CAPS"></a><h3>XMLSEC_ERRORS_R_DSIG_NO_REFERENCES</h3>
-<pre class="PROGRAMLISTING">#define XMLSEC_ERRORS_R_DSIG_NO_REFERENCES 81</pre>
+<pre class="programlisting">#define XMLSEC_ERRORS_R_DSIG_NO_REFERENCES 81
+</pre>
<p>The <dsig:Reference> nodes not found.</p>
</div>
<hr>
-<div class="REFSECT2">
+<div class="refsect2">
<a name="XMLSEC-ERRORS-R-DSIG-INVALID-REFERENCE:CAPS"></a><h3>XMLSEC_ERRORS_R_DSIG_INVALID_REFERENCE</h3>
-<pre class="PROGRAMLISTING">#define XMLSEC_ERRORS_R_DSIG_INVALID_REFERENCE 82</pre>
+<pre class="programlisting">#define XMLSEC_ERRORS_R_DSIG_INVALID_REFERENCE 82
+</pre>
<p>The <dsig:Reference> validation failed.</p>
</div>
<hr>
-<div class="REFSECT2">
+<div class="refsect2">
<a name="XMLSEC-ERRORS-R-ASSERTION:CAPS"></a><h3>XMLSEC_ERRORS_R_ASSERTION</h3>
-<pre class="PROGRAMLISTING">#define XMLSEC_ERRORS_R_ASSERTION 100</pre>
+<pre class="programlisting">#define XMLSEC_ERRORS_R_ASSERTION 100
+</pre>
<p>Invalid assertion.</p>
</div>
<hr>
-<div class="REFSECT2">
+<div class="refsect2">
<a name="XMLSEC-ERRORS-MAX-NUMBER:CAPS"></a><h3>XMLSEC_ERRORS_MAX_NUMBER</h3>
-<pre class="PROGRAMLISTING">#define XMLSEC_ERRORS_MAX_NUMBER 256</pre>
+<pre class="programlisting">#define XMLSEC_ERRORS_MAX_NUMBER 256
+</pre>
<p>The maximum xmlsec errors number.</p>
</div>
<hr>
-<div class="REFSECT2">
+<div class="refsect2">
<a name="XMLSEC-ERRORS-HERE:CAPS"></a><h3>XMLSEC_ERRORS_HERE</h3>
-<pre class="PROGRAMLISTING">#define XMLSEC_ERRORS_HERE __FILE__,__LINE__,__XMLSEC_FUNCTION__</pre>
+<pre class="programlisting">#define XMLSEC_ERRORS_HERE __FILE__,__LINE__,__XMLSEC_FUNCTION__
+</pre>
<p>The macro that specifies the location (file, line and function)
-for the <a href="xmlsec-errors.html#XMLSECERROR"><code class="FUNCTION">xmlSecError()</code></a> function.</p>
+for the <a class="link" href="xmlsec-errors.html#xmlSecError" title="xmlSecError ()"><code class="function">xmlSecError()</code></a> function.</p>
</div>
<hr>
-<div class="REFSECT2">
+<div class="refsect2">
<a name="XMLSEC-ERRORS-NO-MESSAGE:CAPS"></a><h3>XMLSEC_ERRORS_NO_MESSAGE</h3>
-<pre class="PROGRAMLISTING">#define XMLSEC_ERRORS_NO_MESSAGE " "</pre>
+<pre class="programlisting">#define XMLSEC_ERRORS_NO_MESSAGE " "
+</pre>
<p>Empty error message " ".</p>
</div>
</div>
-<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td align="left"><a accesskey="p" href="xmlsec-dl.html"><b><<< dl</b></a></td>
-<td align="right"><a accesskey="n" href="xmlsec-io.html"><b>io >>></b></a></td>
-</tr></table>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
</td></tr></table></td>
</tr></table></body>
</html>
diff --git a/docs/api/xmlsec-examples-sign-dynamimc-template.html b/docs/api/xmlsec-examples-sign-dynamimc-template.html
index 774223c..478c435 100644
--- a/docs/api/xmlsec-examples-sign-dynamimc-template.html
+++ b/docs/api/xmlsec-examples-sign-dynamimc-template.html
@@ -1,41 +1,14 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Signing a dynamicaly created template.</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79">
-<link rel="HOME" title="XML Security Library Reference Manual" href="index.html">
-<link rel="UP" title="Examples." href="xmlsec-examples.html">
-<link rel="PREVIOUS" title="Signing a template file." href="xmlsec-examples-sign-template-file.html">
-<link rel="NEXT" title="Signing with X509 certificate." href="xmlsec-examples-sign-x509.html">
-<style type="text/css">.synopsis, .classsynopsis {
- background: #eeeeee;
- border: solid 1px #aaaaaa;
- padding: 0.5em;
-}
-.programlisting {
- background: #eeeeff;
- border: solid 1px #aaaaff;
- padding: 0.5em;
-}
-.variablelist {
- padding: 4px;
- margin-left: 3em;
-}
-.navigation {
- background: #ffeeee;
- border: solid 1px #ffaaaa;
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
-.navigation a {
- color: #770000;
-}
-.navigation a:visited {
- color: #550000;
-}
-.navigation .title {
- font-size: 200%;
-}</style>
+<title>Signing a dynamicaly created template.: XML Security Library Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="XML Security Library Reference Manual">
+<link rel="up" href="xmlsec-examples.html" title="Examples.">
+<link rel="prev" href="xmlsec-examples-sign-template-file.html" title="Signing a template file.">
+<link rel="next" href="xmlsec-examples-sign-x509.html" title="Signing with X509 certificate.">
+<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
<style type="text/css">
table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
width: 20em;
@@ -100,26 +73,26 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
</table>
</td>
<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent">
-<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td><a accesskey="p" href="xmlsec-examples-sign-template-file.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="xmlsec-examples.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<th width="100%" align="center">XML Security Library Reference Manual</th>
+<td><a accesskey="u" href="xmlsec-examples.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="xmlsec-examples-sign-template-file.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="xmlsec-examples-sign-x509.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
-<br clear="all"><div class="SECT1">
-<h1 class="SECT1"><a name="XMLSEC-EXAMPLES-SIGN-DYNAMIMC-TEMPLATE">Signing a dynamicaly created template.</a></h1>
-<br clear="all"><div class="SECT2">
-<h2 class="SECT2"><a name="XMLSEC-EXAMPLE-SIGN2">sign2.c</a></h2>
-<p></p>
-<div class="INFORMALEXAMPLE">
-<p></p>
-<a name="AEN658"></a><pre class="PROGRAMLISTING">/**
+<div class="sect1">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="xmlsec-examples-sign-dynamimc-template"></a>Signing a dynamicaly created template.</h2></div></div></div>
+<div class="sect2">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="xmlsec-example-sign2"></a>sign2.c</h3></div></div></div>
+<div class="informalexample"><pre class="programlisting">
+/**
* XML Security Library example: Signing a file with a dynamicaly created template.
*
* Signs a file using a dynamicaly created template and key from PEM file.
* The signature has one reference with one enveloped transform to sign
- * the whole document except the <a href="http://www.w3.org/TR/xmldsig-core/#sec-Signature" target="_top"><dsig:Signature/></a> node itself.
+ * the whole document except the <a class="ulink" href="" target="_top"><dsig:Signature/></a> node itself.
*
* Usage:
* sign2 <xml-doc> <pem-key>
@@ -289,7 +262,7 @@ sign_file(const char* xml_file, const char* key_file) {
goto done;
}
- /* add <a href="http://www.w3.org/TR/xmldsig-core/#sec-Signature" target="_top"><dsig:Signature/></a> node to the doc */
+ /* add <a class="ulink" href="" target="_top"><dsig:Signature/></a> node to the doc */
xmlAddChild(xmlDocGetRootElement(doc), signNode);
/* add reference */
@@ -306,7 +279,7 @@ sign_file(const char* xml_file, const char* key_file) {
goto done;
}
- /* add <a href="http://www.w3.org/TR/xmldsig-core/#sec-KeyInfo" target="_top"><dsig:KeyInfo/></a> and <a href="http://www.w3.org/TR/xmldsig-core/#sec-KeyName" target="_top"><dsig:KeyName/></a> nodes to put key name in the signed document */
+ /* add <a class="ulink" href="" target="_top"><dsig:KeyInfo/></a> and <a class="ulink" href="" target="_top"><dsig:KeyName/></a> nodes to put key name in the signed document */
keyInfoNode = xmlSecTmplSignatureEnsureKeyInfo(signNode, NULL);
if(keyInfoNode == NULL) {
fprintf(stderr, "Error: failed to add key info\n");
@@ -360,16 +333,15 @@ done:
xmlFreeDoc(doc);
}
return(res);
-}
</pre>
-<p></p>
-</div>
+}
+
+</pre></div>
</div>
-<br clear="all"><div class="SECT2">
-<h2 class="SECT2"><a name="XMLSEC-EXAMPLE-SIGN2-DOC">sign2-doc.xml</a></h2>
-<p></p>
-<div class="INFORMALEXAMPLE">
-<p></p>
-<a name="AEN667"></a><pre class="PROGRAMLISTING"><?xml version="1.0" encoding="UTF-8"?>
+<div class="sect2">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="xmlsec-example-sign2-doc"></a>sign2-doc.xml</h3></div></div></div>
+<div class="informalexample"><pre class="programlisting">
+<?xml version="1.0" encoding="UTF-8"?>
<!--
XML Security Library example: Original XML doc file for sign2 example.
-->
@@ -377,16 +349,14 @@ XML Security Library example: Original XML doc file for sign2 example.
<Data>
Hello, World!
</Data>
-</Envelope></pre>
-<p></p>
-</div>
+</Envelope>
+</pre></div>
</div>
-<br clear="all"><div class="SECT2">
-<h2 class="SECT2"><a name="XMLSEC-EXAMPLE-SIGN2-RES">sign2-res.xml</a></h2>
-<p></p>
-<div class="INFORMALEXAMPLE">
-<p></p>
-<a name="AEN672"></a><pre class="PROGRAMLISTING"><?xml version="1.0" encoding="UTF-8"?>
+<div class="sect2">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="xmlsec-example-sign2-res"></a>sign2-res.xml</h3></div></div></div>
+<div class="informalexample"><pre class="programlisting">
+<?xml version="1.0" encoding="UTF-8"?>
<!--
XML Security Library example: Original XML doc file for sign2 example.
-->
@@ -411,15 +381,12 @@ nIH/KUqvIvtk9nb2IjF5Uw==</SignatureValue>
<KeyInfo>
<KeyName>rsakey.pem</KeyName>
</KeyInfo>
-</Signature></Envelope></pre>
-<p></p>
+</Signature></Envelope>
+</pre></div>
</div>
</div>
-</div>
-<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td align="left"><a accesskey="p" href="xmlsec-examples-sign-template-file.html"><b><<< Signing a template file.</b></a></td>
-<td align="right"><a accesskey="n" href="xmlsec-examples-sign-x509.html"><b>Signing with X509 certificate. >>></b></a></td>
-</tr></table>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
</td></tr></table></td>
</tr></table></body>
</html>
diff --git a/docs/api/xmlsec-examples-sign-template-file.html b/docs/api/xmlsec-examples-sign-template-file.html
index 087faab..c34958e 100644
--- a/docs/api/xmlsec-examples-sign-template-file.html
+++ b/docs/api/xmlsec-examples-sign-template-file.html
@@ -1,41 +1,14 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Signing a template file.</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79">
-<link rel="HOME" title="XML Security Library Reference Manual" href="index.html">
-<link rel="UP" title="Examples." href="xmlsec-examples.html">
-<link rel="PREVIOUS" title="Examples." href="xmlsec-examples.html">
-<link rel="NEXT" title="Signing a dynamicaly created template." href="xmlsec-examples-sign-dynamimc-template.html">
-<style type="text/css">.synopsis, .classsynopsis {
- background: #eeeeee;
- border: solid 1px #aaaaaa;
- padding: 0.5em;
-}
-.programlisting {
- background: #eeeeff;
- border: solid 1px #aaaaff;
- padding: 0.5em;
-}
-.variablelist {
- padding: 4px;
- margin-left: 3em;
-}
-.navigation {
- background: #ffeeee;
- border: solid 1px #ffaaaa;
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
-.navigation a {
- color: #770000;
-}
-.navigation a:visited {
- color: #550000;
-}
-.navigation .title {
- font-size: 200%;
-}</style>
+<title>Signing a template file.: XML Security Library Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="XML Security Library Reference Manual">
+<link rel="up" href="xmlsec-examples.html" title="Examples.">
+<link rel="prev" href="xmlsec-examples.html" title="Examples.">
+<link rel="next" href="xmlsec-examples-sign-dynamimc-template.html" title="Signing a dynamicaly created template.">
+<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
<style type="text/css">
table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
width: 20em;
@@ -100,21 +73,21 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
</table>
</td>
<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent">
-<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td><a accesskey="p" href="xmlsec-examples.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="xmlsec-examples.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<th width="100%" align="center">XML Security Library Reference Manual</th>
+<td><a accesskey="u" href="xmlsec-examples.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="xmlsec-examples.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="xmlsec-examples-sign-dynamimc-template.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
-<br clear="all"><div class="SECT1">
-<h1 class="SECT1"><a name="XMLSEC-EXAMPLES-SIGN-TEMPLATE-FILE">Signing a template file.</a></h1>
-<br clear="all"><div class="SECT2">
-<h2 class="SECT2"><a name="XMLSEC-EXAMPLE-SIGN1">sign1.c</a></h2>
-<p></p>
-<div class="INFORMALEXAMPLE">
-<p></p>
-<a name="AEN641"></a><pre class="PROGRAMLISTING">/**
+<div class="sect1">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="xmlsec-examples-sign-template-file"></a>Signing a template file.</h2></div></div></div>
+<div class="sect2">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="xmlsec-example-sign1"></a>sign1.c</h3></div></div></div>
+<div class="informalexample"><pre class="programlisting">
+/**
* XML Security Library example: Signing a template file.
*
* Signs a template file using a key from PEM file
@@ -324,16 +297,15 @@ done:
xmlFreeDoc(doc);
}
return(res);
-}
</pre>
-<p></p>
-</div>
+}
+
+</pre></div>
</div>
-<br clear="all"><div class="SECT2">
-<h2 class="SECT2"><a name="XMLSEC-EXAMPLE-SIGN1-TMPL">sign1-tmpl.xml</a></h2>
-<p></p>
-<div class="INFORMALEXAMPLE">
-<p></p>
-<a name="AEN646"></a><pre class="PROGRAMLISTING"><?xml version="1.0" encoding="UTF-8"?>
+<div class="sect2">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="xmlsec-example-sign1-tmpl"></a>sign1-tmpl.xml</h3></div></div></div>
+<div class="informalexample"><pre class="programlisting">
+<?xml version="1.0" encoding="UTF-8"?>
<!--
XML Security Library example: Simple signature template file for sign1 example.
-->
@@ -358,16 +330,15 @@ XML Security Library example: Simple signature template file for sign1 example.
<KeyName/>
</KeyInfo>
</Signature>
-</Envelope>
</pre>
-<p></p>
-</div>
+</Envelope>
+
+</pre></div>
</div>
-<br clear="all"><div class="SECT2">
-<h2 class="SECT2"><a name="XMLSEC-EXAMPLE-SIGN1-RES">sign1-res.xml</a></h2>
-<p></p>
-<div class="INFORMALEXAMPLE">
-<p></p>
-<a name="AEN651"></a><pre class="PROGRAMLISTING"><?xml version="1.0" encoding="UTF-8"?>
+<div class="sect2">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="xmlsec-example-sign1-res"></a>sign1-res.xml</h3></div></div></div>
+<div class="informalexample"><pre class="programlisting">
+<?xml version="1.0" encoding="UTF-8"?>
<!--
XML Security Library example: Simple signature template file for sign1 example.
-->
@@ -393,15 +364,12 @@ elOnt4fo2gPK1a3IVEhMGg==</SignatureValue>
<KeyName>rsakey.pem</KeyName>
</KeyInfo>
</Signature>
-</Envelope></pre>
-<p></p>
-</div>
+</Envelope>
+</pre></div>
</div>
</div>
-<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td align="left"><a accesskey="p" href="xmlsec-examples.html"><b><<< Examples.</b></a></td>
-<td align="right"><a accesskey="n" href="xmlsec-examples-sign-dynamimc-template.html"><b>Signing a dynamicaly created template. >>></b></a></td>
-</tr></table>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
</td></tr></table></td>
</tr></table></body>
</html>
diff --git a/docs/api/xmlsec-examples-sign-x509.html b/docs/api/xmlsec-examples-sign-x509.html
index 069b92d..d15fe78 100644
--- a/docs/api/xmlsec-examples-sign-x509.html
+++ b/docs/api/xmlsec-examples-sign-x509.html
@@ -1,41 +1,14 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Signing with X509 certificate.</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79">
-<link rel="HOME" title="XML Security Library Reference Manual" href="index.html">
-<link rel="UP" title="Examples." href="xmlsec-examples.html">
-<link rel="PREVIOUS" title="Signing a dynamicaly created template." href="xmlsec-examples-sign-dynamimc-template.html">
-<link rel="NEXT" title="Verifying a signature with a single key." href="xmlsec-verify-with-key.html">
-<style type="text/css">.synopsis, .classsynopsis {
- background: #eeeeee;
- border: solid 1px #aaaaaa;
- padding: 0.5em;
-}
-.programlisting {
- background: #eeeeff;
- border: solid 1px #aaaaff;
- padding: 0.5em;
-}
-.variablelist {
- padding: 4px;
- margin-left: 3em;
-}
-.navigation {
- background: #ffeeee;
- border: solid 1px #ffaaaa;
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
-.navigation a {
- color: #770000;
-}
-.navigation a:visited {
- color: #550000;
-}
-.navigation .title {
- font-size: 200%;
-}</style>
+<title>Signing with X509 certificate.: XML Security Library Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="XML Security Library Reference Manual">
+<link rel="up" href="xmlsec-examples.html" title="Examples.">
+<link rel="prev" href="xmlsec-examples-sign-dynamimc-template.html" title="Signing a dynamicaly created template.">
+<link rel="next" href="xmlsec-verify-with-key.html" title="Verifying a signature with a single key.">
+<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
<style type="text/css">
table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
width: 20em;
@@ -100,27 +73,27 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
</table>
</td>
<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent">
-<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td><a accesskey="p" href="xmlsec-examples-sign-dynamimc-template.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="xmlsec-examples.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<th width="100%" align="center">XML Security Library Reference Manual</th>
+<td><a accesskey="u" href="xmlsec-examples.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="xmlsec-examples-sign-dynamimc-template.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="xmlsec-verify-with-key.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
-<br clear="all"><div class="SECT1">
-<h1 class="SECT1"><a name="XMLSEC-EXAMPLES-SIGN-X509">Signing with X509 certificate.</a></h1>
-<br clear="all"><div class="SECT2">
-<h2 class="SECT2"><a name="XMLSEC-EXAMPLE-SIGN3">sign3.c</a></h2>
-<p></p>
-<div class="INFORMALEXAMPLE">
-<p></p>
-<a name="AEN679"></a><pre class="PROGRAMLISTING">/**
+<div class="sect1">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="xmlsec-examples-sign-x509"></a>Signing with X509 certificate.</h2></div></div></div>
+<div class="sect2">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="xmlsec-example-sign3"></a>sign3.c</h3></div></div></div>
+<div class="informalexample"><pre class="programlisting">
+/**
* XML Security Library example: Signing a file with a dynamicaly created template and an X509 certificate.
*
* Signs a file using a dynamicaly created template, key from PEM file and
* an X509 certificate. The signature has one reference with one enveloped
- * transform to sign the whole document except the <a href="http://www.w3.org/TR/xmldsig-core/#sec-Signature" target="_top"><dsig:Signature/></a> node
- * itself. The key certificate is written in the <a href="http://www.w3.org/TR/xmldsig-core/#sec-X509Data" target="_top"><dsig:X509Data/></a> node.
+ * transform to sign the whole document except the <a class="ulink" href="" target="_top"><dsig:Signature/></a> node
+ * itself. The key certificate is written in the <a class="ulink" href="" target="_top"><dsig:X509Data/></a> node.
*
* This example was developed and tested with OpenSSL crypto library. The
* certificates management policies for another crypto library may break it.
@@ -264,7 +237,7 @@ main(int argc, char **argv) {
*
* Signs the @xml_file using private key from @key_file and dynamicaly
* created enveloped signature template. The certificate from @cert_file
- * is placed in the <a href="http://www.w3.org/TR/xmldsig-core/#sec-X509Data" target="_top"><dsig:X509Data/></a> node.
+ * is placed in the <a class="ulink" href="" target="_top"><dsig:X509Data/></a> node.
*
* Returns 0 on success or a negative value if an error occurs.
*/
@@ -297,7 +270,7 @@ sign_file(const char* xml_file, const char* key_file, const char* cert_file) {
goto done;
}
- /* add <a href="http://www.w3.org/TR/xmldsig-core/#sec-Signature" target="_top"><dsig:Signature/></a> node to the doc */
+ /* add <a class="ulink" href="" target="_top"><dsig:Signature/></a> node to the doc */
xmlAddChild(xmlDocGetRootElement(doc), signNode);
/* add reference */
@@ -314,7 +287,7 @@ sign_file(const char* xml_file, const char* key_file, const char* cert_file) {
goto done;
}
- /* add <a href="http://www.w3.org/TR/xmldsig-core/#sec-KeyInfo" target="_top"><dsig:KeyInfo/></a> and <a href="http://www.w3.org/TR/xmldsig-core/#sec-X509Data" target="_top"><dsig:X509Data/></a> */
+ /* add <a class="ulink" href="" target="_top"><dsig:KeyInfo/></a> and <a class="ulink" href="" target="_top"><dsig:X509Data/></a> */
keyInfoNode = xmlSecTmplSignatureEnsureKeyInfo(signNode, NULL);
if(keyInfoNode == NULL) {
fprintf(stderr, "Error: failed to add key info\n");
@@ -385,16 +358,15 @@ done:
xmlFreeDoc(doc);
}
return(res);
-}
</pre>
-<p></p>
-</div>
+}
+
+</pre></div>
</div>
-<br clear="all"><div class="SECT2">
-<h2 class="SECT2"><a name="XMLSEC-EXAMPLE-SIGN3-DOC">sign3-doc.xml</a></h2>
-<p></p>
-<div class="INFORMALEXAMPLE">
-<p></p>
-<a name="AEN690"></a><pre class="PROGRAMLISTING"><?xml version="1.0" encoding="UTF-8"?>
+<div class="sect2">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="xmlsec-example-sign3-doc"></a>sign3-doc.xml</h3></div></div></div>
+<div class="informalexample"><pre class="programlisting">
+<?xml version="1.0" encoding="UTF-8"?>
<!--
XML Security Library example: Original XML doc file for sign3 example.
-->
@@ -402,16 +374,14 @@ XML Security Library example: Original XML doc file for sign3 example.
<Data>
Hello, World!
</Data>
-</Envelope></pre>
-<p></p>
-</div>
+</Envelope>
+</pre></div>
</div>
-<br clear="all"><div class="SECT2">
-<h2 class="SECT2"><a name="XMLSEC-EXAMPLE-SIGN3-RES">sign3-res.xml</a></h2>
-<p></p>
-<div class="INFORMALEXAMPLE">
-<p></p>
-<a name="AEN695"></a><pre class="PROGRAMLISTING"><?xml version="1.0" encoding="UTF-8"?>
+<div class="sect2">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="xmlsec-example-sign3-res"></a>sign3-res.xml</h3></div></div></div>
+<div class="informalexample"><pre class="programlisting">
+<?xml version="1.0" encoding="UTF-8"?>
<!--
XML Security Library example: Original XML doc file for sign3 example.
-->
@@ -457,15 +427,12 @@ hvcNAQEFBQADQQAOXBj0yICp1RmHXqnUlsppryLCW3pKBD1dkb4HWarO7RjA1yJJ
fBjXssrERn05kpBcrRfzou4r3DCgQFPhjxga</X509Certificate>
</X509Data>
</KeyInfo>
-</Signature></Envelope></pre>
-<p></p>
+</Signature></Envelope>
+</pre></div>
</div>
</div>
-</div>
-<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td align="left"><a accesskey="p" href="xmlsec-examples-sign-dynamimc-template.html"><b><<< Signing a dynamicaly created template.</b></a></td>
-<td align="right"><a accesskey="n" href="xmlsec-verify-with-key.html"><b>Verifying a signature with a single key. >>></b></a></td>
-</tr></table>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
</td></tr></table></td>
</tr></table></body>
</html>
diff --git a/docs/api/xmlsec-examples.html b/docs/api/xmlsec-examples.html
index 2efb56d..bb8c6d0 100644
--- a/docs/api/xmlsec-examples.html
+++ b/docs/api/xmlsec-examples.html
@@ -1,41 +1,14 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Examples.</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79">
-<link rel="HOME" title="XML Security Library Reference Manual" href="index.html">
-<link rel="UP" title="XML Security Library Tutorial" href="xmlsec-notes.html">
-<link rel="PREVIOUS" title="Sharing the results." href="xmlsec-notes-new-crypto-sharing-results.html">
-<link rel="NEXT" title="Signing a template file." href="xmlsec-examples-sign-template-file.html">
-<style type="text/css">.synopsis, .classsynopsis {
- background: #eeeeee;
- border: solid 1px #aaaaaa;
- padding: 0.5em;
-}
-.programlisting {
- background: #eeeeff;
- border: solid 1px #aaaaff;
- padding: 0.5em;
-}
-.variablelist {
- padding: 4px;
- margin-left: 3em;
-}
-.navigation {
- background: #ffeeee;
- border: solid 1px #ffaaaa;
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
-.navigation a {
- color: #770000;
-}
-.navigation a:visited {
- color: #550000;
-}
-.navigation .title {
- font-size: 200%;
-}</style>
+<title>Examples.: XML Security Library Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="XML Security Library Reference Manual">
+<link rel="up" href="xmlsec-notes.html" title="Part I. XML Security Library Tutorial">
+<link rel="prev" href="xmlsec-notes-new-crypto-sharing-results.html" title="Sharing the results.">
+<link rel="next" href="xmlsec-examples-sign-template-file.html" title="Signing a template file.">
+<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
<style type="text/css">
table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
width: 20em;
@@ -100,43 +73,84 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
</table>
</td>
<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent">
-<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td><a accesskey="p" href="xmlsec-notes-new-crypto-sharing-results.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="xmlsec-notes.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<th width="100%" align="center">XML Security Library Reference Manual</th>
+<td><a accesskey="u" href="xmlsec-notes.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="xmlsec-notes-new-crypto-sharing-results.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="xmlsec-examples-sign-template-file.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
-<div class="CHAPTER">
-<h1>
-<a name="XMLSEC-EXAMPLES"></a>Examples.</h1>
-<div class="TOC"><dl>
-<dt><b>Table of Contents</b></dt>
-<dt><a href="xmlsec-examples.html#XMLSEC-EXAMPLES-OVERVIEW">XML Security Library Examples.</a></dt>
-<dt><a href="xmlsec-examples-sign-template-file.html">Signing a template file.</a></dt>
-<dt><a href="xmlsec-examples-sign-dynamimc-template.html">Signing a dynamicaly created template.</a></dt>
-<dt><a href="xmlsec-examples-sign-x509.html">Signing with X509 certificate.</a></dt>
-<dt><a href="xmlsec-verify-with-key.html">Verifying a signature with a single key.</a></dt>
-<dt><a href="xmlsec-verify-with-keys-mngr.html">Verifying a signature with keys manager.</a></dt>
-<dt><a href="xmlsec-verify-with-x509.html">Verifying a signature with X509 certificates.</a></dt>
-<dt><a href="xmlsec-verify-with-restrictions.html">Verifying a signature with additional restrictions.</a></dt>
-<dt><a href="xmlsec-encrypt-template-file.html">Encrypting data with a template file.</a></dt>
-<dt><a href="xmlsec-encrypt-dynamic-template.html">Encrypting data with a dynamicaly created template.</a></dt>
-<dt><a href="xmlsec-encrypt-with-session-key.html">Encrypting data with a session key.</a></dt>
-<dt><a href="xmlsec-decrypt-with-signle-key.html">Decrypting data with a single key.</a></dt>
-<dt><a href="xmlsec-decrypt-with-keys-mngr.html">Decrypting data with keys manager.</a></dt>
-<dt><a href="xmlsec-custom-keys-manager.html">Writing a custom keys manager.</a></dt>
+<div class="chapter">
+<div class="titlepage"><div><div><h2 class="title">
+<a name="xmlsec-examples"></a>Examples.</h2></div></div></div>
+<div class="toc"><dl class="toc">
+<dt><span class="sect1"><a href="xmlsec-examples.html#xmlsec-examples-overview">XML Security Library Examples.</a></span></dt>
+<dt><span class="sect1"><a href="xmlsec-examples-sign-template-file.html">Signing a template file.</a></span></dt>
+<dd><dl>
+<dt><span class="sect2"><a href="xmlsec-examples-sign-template-file.html#xmlsec-example-sign1">sign1.c</a></span></dt>
+<dt><span class="sect2"><a href="xmlsec-examples-sign-template-file.html#xmlsec-example-sign1-tmpl">sign1-tmpl.xml</a></span></dt>
+<dt><span class="sect2"><a href="xmlsec-examples-sign-template-file.html#xmlsec-example-sign1-res">sign1-res.xml</a></span></dt>
+</dl></dd>
+<dt><span class="sect1"><a href="xmlsec-examples-sign-dynamimc-template.html">Signing a dynamicaly created template.</a></span></dt>
+<dd><dl>
+<dt><span class="sect2"><a href="xmlsec-examples-sign-dynamimc-template.html#xmlsec-example-sign2">sign2.c</a></span></dt>
+<dt><span class="sect2"><a href="xmlsec-examples-sign-dynamimc-template.html#xmlsec-example-sign2-doc">sign2-doc.xml</a></span></dt>
+<dt><span class="sect2"><a href="xmlsec-examples-sign-dynamimc-template.html#xmlsec-example-sign2-res">sign2-res.xml</a></span></dt>
+</dl></dd>
+<dt><span class="sect1"><a href="xmlsec-examples-sign-x509.html">Signing with X509 certificate.</a></span></dt>
+<dd><dl>
+<dt><span class="sect2"><a href="xmlsec-examples-sign-x509.html#xmlsec-example-sign3">sign3.c</a></span></dt>
+<dt><span class="sect2"><a href="xmlsec-examples-sign-x509.html#xmlsec-example-sign3-doc">sign3-doc.xml</a></span></dt>
+<dt><span class="sect2"><a href="xmlsec-examples-sign-x509.html#xmlsec-example-sign3-res">sign3-res.xml</a></span></dt>
+</dl></dd>
+<dt><span class="sect1"><a href="xmlsec-verify-with-key.html">Verifying a signature with a single key.</a></span></dt>
+<dd><dl><dt><span class="sect2"><a href="xmlsec-verify-with-key.html#xmlsec-example-verify1">verify1.c</a></span></dt></dl></dd>
+<dt><span class="sect1"><a href="xmlsec-verify-with-keys-mngr.html">Verifying a signature with keys manager.</a></span></dt>
+<dd><dl><dt><span class="sect2"><a href="xmlsec-verify-with-keys-mngr.html#xmlsec-example-verify2">verify2.c</a></span></dt></dl></dd>
+<dt><span class="sect1"><a href="xmlsec-verify-with-x509.html">Verifying a signature with X509 certificates.</a></span></dt>
+<dd><dl><dt><span class="sect2"><a href="xmlsec-verify-with-x509.html#xmlsec-example-verify3">verify3.c</a></span></dt></dl></dd>
+<dt><span class="sect1"><a href="xmlsec-verify-with-restrictions.html">Verifying a signature with additional restrictions.</a></span></dt>
+<dd><dl>
+<dt><span class="sect2"><a href="xmlsec-verify-with-restrictions.html#xmlsec-example-verify4">verify4.c</a></span></dt>
+<dt><span class="sect2"><a href="xmlsec-verify-with-restrictions.html#xmlsec-example-verify4-tmpl">verify4-tmpl.xml</a></span></dt>
+<dt><span class="sect2"><a href="xmlsec-verify-with-restrictions.html#xmlsec-example-verify4-res">verify4-res.xml</a></span></dt>
+<dt><span class="sect2"><a href="xmlsec-verify-with-restrictions.html#xmlsec-example-verify4-bad-tmpl">verify4-bad-tmpl.xml</a></span></dt>
+<dt><span class="sect2"><a href="xmlsec-verify-with-restrictions.html#xmlsec-example-verify4-bad-res">verify4-bad-res.xml</a></span></dt>
+</dl></dd>
+<dt><span class="sect1"><a href="xmlsec-encrypt-template-file.html">Encrypting data with a template file.</a></span></dt>
+<dd><dl>
+<dt><span class="sect2"><a href="xmlsec-encrypt-template-file.html#xmlsec-example-encrypt1">encrypt1.c</a></span></dt>
+<dt><span class="sect2"><a href="xmlsec-encrypt-template-file.html#xmlsec-example-encrypt1-tmpl">encrypt1-tmpl.xml</a></span></dt>
+<dt><span class="sect2"><a href="xmlsec-encrypt-template-file.html#xmlsec-example-encrypt1-res">encrypt1-res.xml</a></span></dt>
+</dl></dd>
+<dt><span class="sect1"><a href="xmlsec-encrypt-dynamic-template.html">Encrypting data with a dynamicaly created template.</a></span></dt>
+<dd><dl>
+<dt><span class="sect2"><a href="xmlsec-encrypt-dynamic-template.html#xmlsec-example-encrypt2">encrypt2.c</a></span></dt>
+<dt><span class="sect2"><a href="xmlsec-encrypt-dynamic-template.html#xmlsec-example-encrypt2-doc">encrypt2-doc.xml</a></span></dt>
+<dt><span class="sect2"><a href="xmlsec-encrypt-dynamic-template.html#xmlsec-example-encrypt2-res">encrypt2-res.xml</a></span></dt>
+</dl></dd>
+<dt><span class="sect1"><a href="xmlsec-encrypt-with-session-key.html">Encrypting data with a session key.</a></span></dt>
+<dd><dl>
+<dt><span class="sect2"><a href="xmlsec-encrypt-with-session-key.html#xmlsec-example-encrypt3">encrypt3.c</a></span></dt>
+<dt><span class="sect2"><a href="xmlsec-encrypt-with-session-key.html#xmlsec-example-encrypt3-doc">encrypt3-doc.xml</a></span></dt>
+<dt><span class="sect2"><a href="xmlsec-encrypt-with-session-key.html#xmlsec-example-encrypt3-res">encrypt3-res.xml</a></span></dt>
+</dl></dd>
+<dt><span class="sect1"><a href="xmlsec-decrypt-with-signle-key.html">Decrypting data with a single key.</a></span></dt>
+<dd><dl><dt><span class="sect2"><a href="xmlsec-decrypt-with-signle-key.html#xmlsec-example-decrypt1">decrypt1.c</a></span></dt></dl></dd>
+<dt><span class="sect1"><a href="xmlsec-decrypt-with-keys-mngr.html">Decrypting data with keys manager.</a></span></dt>
+<dd><dl><dt><span class="sect2"><a href="xmlsec-decrypt-with-keys-mngr.html#xmlsec-example-decrypt2">decrypt2.c</a></span></dt></dl></dd>
+<dt><span class="sect1"><a href="xmlsec-custom-keys-manager.html">Writing a custom keys manager.</a></span></dt>
+<dd><dl><dt><span class="sect2"><a href="xmlsec-custom-keys-manager.html#xmlsec-example-decrypt3">decrypt3.c</a></span></dt></dl></dd>
</dl></div>
-<br clear="all"><div class="SECT1">
-<h1 class="SECT1"><a name="XMLSEC-EXAMPLES-OVERVIEW">XML Security Library Examples.</a></h1>
+<div class="sect1">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="xmlsec-examples-overview"></a>XML Security Library Examples.</h2></div></div></div>
<p>This section contains several examples of using XML Security Library
to sign, veiryf, encrypt or decrypt XML documents.</p>
</div>
</div>
-<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td align="left"><a accesskey="p" href="xmlsec-notes-new-crypto-sharing-results.html"><b><<< Sharing the results.</b></a></td>
-<td align="right"><a accesskey="n" href="xmlsec-examples-sign-template-file.html"><b>Signing a template file. >>></b></a></td>
-</tr></table>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
</td></tr></table></td>
</tr></table></body>
</html>
diff --git a/docs/api/xmlsec-gcrypt-app.html b/docs/api/xmlsec-gcrypt-app.html
index 11fb325..925e341 100644
--- a/docs/api/xmlsec-gcrypt-app.html
+++ b/docs/api/xmlsec-gcrypt-app.html
@@ -1,41 +1,14 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>app</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79">
-<link rel="HOME" title="XML Security Library Reference Manual" href="index.html">
-<link rel="UP" title="XML Security Library for GCrypt API Reference." href="xmlsec-gcrypt-ref.html">
-<link rel="PREVIOUS" title="XML Security Library for GCrypt API Reference." href="xmlsec-gcrypt-ref.html">
-<link rel="NEXT" title="crypto" href="xmlsec-gcrypt-crypto.html">
-<style type="text/css">.synopsis, .classsynopsis {
- background: #eeeeee;
- border: solid 1px #aaaaaa;
- padding: 0.5em;
-}
-.programlisting {
- background: #eeeeff;
- border: solid 1px #aaaaff;
- padding: 0.5em;
-}
-.variablelist {
- padding: 4px;
- margin-left: 3em;
-}
-.navigation {
- background: #ffeeee;
- border: solid 1px #ffaaaa;
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
-.navigation a {
- color: #770000;
-}
-.navigation a:visited {
- color: #550000;
-}
-.navigation .title {
- font-size: 200%;
-}</style>
+<title>app: XML Security Library Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="XML Security Library Reference Manual">
+<link rel="up" href="xmlsec-gcrypt-ref.html" title="XML Security Library for GCrypt API Reference.">
+<link rel="prev" href="xmlsec-gcrypt-ref.html" title="XML Security Library for GCrypt API Reference.">
+<link rel="next" href="xmlsec-gcrypt-crypto.html" title="crypto">
+<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
<style type="text/css">
table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
width: 20em;
@@ -100,765 +73,774 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
</table>
</td>
<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent">
-<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td><a accesskey="p" href="xmlsec-gcrypt-ref.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="xmlsec-gcrypt-ref.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description"> <span class="dim">|</span>
+ <a href="#xmlsec-gcrypt-app.description" class="shortcut">Description</a></span>
+</td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<th width="100%" align="center">XML Security Library Reference Manual</th>
+<td><a accesskey="u" href="xmlsec-gcrypt-ref.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="xmlsec-gcrypt-ref.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="xmlsec-gcrypt-crypto.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
-<h1>
-<a name="XMLSEC-GCRYPT-APP"></a>app</h1>
-<div class="REFNAMEDIV">
-<a name="AEN35994"></a><h2>Name</h2>app -- Application functions implementation for GnuTLS.</div>
-<div class="REFSECT1">
-<a name="XMLSEC-GCRYPT-APP.FUNCTIONS"></a><h2>Functions</h2>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN35999"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
+<div class="refentry">
+<a name="xmlsec-gcrypt-app"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="xmlsec-gcrypt-app.top_of_page"></a>app</span></h2>
+<p>app — Application functions implementation for GnuTLS.</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="xmlsec-gcrypt-app.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
<tbody>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-gcrypt-app.html#XMLSECGCRYPTAPPINIT">xmlSecGCryptAppInit</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-gcrypt-app.html#xmlSecGCryptAppInit" title="xmlSecGCryptAppInit ()">xmlSecGCryptAppInit</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-gcrypt-app.html#XMLSECGCRYPTAPPSHUTDOWN">xmlSecGCryptAppShutdown</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-gcrypt-app.html#xmlSecGCryptAppShutdown" title="xmlSecGCryptAppShutdown ()">xmlSecGCryptAppShutdown</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-gcrypt-app.html#XMLSECGCRYPTAPPDEFAULTKEYSMNGRINIT">xmlSecGCryptAppDefaultKeysMngrInit</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-gcrypt-app.html#xmlSecGCryptAppDefaultKeysMngrInit" title="xmlSecGCryptAppDefaultKeysMngrInit ()">xmlSecGCryptAppDefaultKeysMngrInit</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-gcrypt-app.html#XMLSECGCRYPTAPPDEFAULTKEYSMNGRADOPTKEY">xmlSecGCryptAppDefaultKeysMngrAdoptKey</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-gcrypt-app.html#xmlSecGCryptAppDefaultKeysMngrAdoptKey" title="xmlSecGCryptAppDefaultKeysMngrAdoptKey ()">xmlSecGCryptAppDefaultKeysMngrAdoptKey</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-gcrypt-app.html#XMLSECGCRYPTAPPDEFAULTKEYSMNGRLOAD">xmlSecGCryptAppDefaultKeysMngrLoad</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-gcrypt-app.html#xmlSecGCryptAppDefaultKeysMngrLoad" title="xmlSecGCryptAppDefaultKeysMngrLoad ()">xmlSecGCryptAppDefaultKeysMngrLoad</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-gcrypt-app.html#XMLSECGCRYPTAPPDEFAULTKEYSMNGRSAVE">xmlSecGCryptAppDefaultKeysMngrSave</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-gcrypt-app.html#xmlSecGCryptAppDefaultKeysMngrSave" title="xmlSecGCryptAppDefaultKeysMngrSave ()">xmlSecGCryptAppDefaultKeysMngrSave</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-gcrypt-app.html#XMLSECGCRYPTAPPKEYSMNGRCERTLOAD">xmlSecGCryptAppKeysMngrCertLoad</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-gcrypt-app.html#xmlSecGCryptAppKeysMngrCertLoad" title="xmlSecGCryptAppKeysMngrCertLoad ()">xmlSecGCryptAppKeysMngrCertLoad</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-gcrypt-app.html#XMLSECGCRYPTAPPKEYSMNGRCERTLOADMEMORY">xmlSecGCryptAppKeysMngrCertLoadMemory</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-gcrypt-app.html#xmlSecGCryptAppKeysMngrCertLoadMemory" title="xmlSecGCryptAppKeysMngrCertLoadMemory ()">xmlSecGCryptAppKeysMngrCertLoadMemory</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a></td>
-<td>
-<a href="xmlsec-gcrypt-app.html#XMLSECGCRYPTAPPKEYLOAD">xmlSecGCryptAppKeyLoad</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecKeyPtr</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-gcrypt-app.html#xmlSecGCryptAppKeyLoad" title="xmlSecGCryptAppKeyLoad ()">xmlSecGCryptAppKeyLoad</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a></td>
-<td>
-<a href="xmlsec-gcrypt-app.html#XMLSECGCRYPTAPPKEYLOADMEMORY">xmlSecGCryptAppKeyLoadMemory</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecKeyPtr</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-gcrypt-app.html#xmlSecGCryptAppKeyLoadMemory" title="xmlSecGCryptAppKeyLoadMemory ()">xmlSecGCryptAppKeyLoadMemory</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a></td>
-<td>
-<a href="xmlsec-gcrypt-app.html#XMLSECGCRYPTAPPPKCS12LOAD">xmlSecGCryptAppPkcs12Load</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecKeyPtr</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-gcrypt-app.html#xmlSecGCryptAppPkcs12Load" title="xmlSecGCryptAppPkcs12Load ()">xmlSecGCryptAppPkcs12Load</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a></td>
-<td>
-<a href="xmlsec-gcrypt-app.html#XMLSECGCRYPTAPPPKCS12LOADMEMORY">xmlSecGCryptAppPkcs12LoadMemory</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecKeyPtr</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-gcrypt-app.html#xmlSecGCryptAppPkcs12LoadMemory" title="xmlSecGCryptAppPkcs12LoadMemory ()">xmlSecGCryptAppPkcs12LoadMemory</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-gcrypt-app.html#XMLSECGCRYPTAPPKEYCERTLOAD">xmlSecGCryptAppKeyCertLoad</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-gcrypt-app.html#xmlSecGCryptAppKeyCertLoad" title="xmlSecGCryptAppKeyCertLoad ()">xmlSecGCryptAppKeyCertLoad</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-gcrypt-app.html#XMLSECGCRYPTAPPKEYCERTLOADMEMORY">xmlSecGCryptAppKeyCertLoadMemory</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-gcrypt-app.html#xmlSecGCryptAppKeyCertLoadMemory" title="xmlSecGCryptAppKeyCertLoadMemory ()">xmlSecGCryptAppKeyCertLoadMemory</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td>
-<font><span class="RETURNVALUE">void</span></font> *</td>
-<td>
-<a href="xmlsec-gcrypt-app.html#XMLSECGCRYPTAPPGETDEFAULTPWDCALLBACK">xmlSecGCryptAppGetDefaultPwdCallback</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">void</span></font> *
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-gcrypt-app.html#xmlSecGCryptAppGetDefaultPwdCallback" title="xmlSecGCryptAppGetDefaultPwdCallback ()">xmlSecGCryptAppGetDefaultPwdCallback</a> <span class="c_punctuation">()</span>
</td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
-</div>
-<div class="REFSECT1">
-<a name="XMLSEC-GCRYPT-APP.DESCRIPTION"></a><h2>Description</h2>
-<p>Application functions implementation for GCrypt.</p>
-</div>
-<div class="REFSECT1">
-<a name="XMLSEC-GCRYPT-APP.FUNCTIONS_DETAILS"></a><h2>Functions</h2>
-<div class="REFSECT2">
-<a name="XMLSECGCRYPTAPPINIT"></a><h3>xmlSecGCryptAppInit ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecGCryptAppInit (<code class="PARAMETER">const <font><span class="TYPE">char</span></font> *config</code>);</pre>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="xmlsec-gcrypt-app.description"></a><h2>Description</h2>
+<p>
+Application functions implementation for GCrypt.
+</p>
+</div>
+<div class="refsect1">
+<a name="xmlsec-gcrypt-app.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="xmlSecGCryptAppInit"></a><h3>xmlSecGCryptAppInit ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecGCryptAppInit (<em class="parameter"><code>const <font><span class="type">char</span></font> *config</code></em>);</pre>
<p>General crypto engine initialization. This function is used
by XMLSec command line utility and called before
-<code class="PARAMETER">xmlSecInit</code>
+<em class="parameter"><code>xmlSecInit</code></em>
function.</p>
-<div class="REFSECT3">
-<a name="AEN36124"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN36126"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecGCryptAppInit.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>config</p></td>
-<td><p>the path to GCrypt configuration (unused).</p></td>
-<td> </td>
+<td class="parameter_name"><p>config</p></td>
+<td class="parameter_description"><p>the path to GCrypt configuration (unused).</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN36135"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecGCryptAppInit.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGCRYPTAPPSHUTDOWN"></a><h3>xmlSecGCryptAppShutdown ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecGCryptAppShutdown (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecGCryptAppShutdown"></a><h3>xmlSecGCryptAppShutdown ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecGCryptAppShutdown (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>General crypto engine shutdown. This function is used
by XMLSec command line utility and called after
-<code class="PARAMETER">xmlSecShutdown</code>
+<em class="parameter"><code>xmlSecShutdown</code></em>
function.</p>
-<div class="REFSECT3">
-<a name="AEN36149"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecGCryptAppShutdown.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGCRYPTAPPDEFAULTKEYSMNGRINIT"></a><h3>xmlSecGCryptAppDefaultKeysMngrInit ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecGCryptAppDefaultKeysMngrInit (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>);</pre>
-<p>Initializes <code class="PARAMETER">mngr</code>
- with simple keys store <a href="xmlsec-keysmngr.html#XMLSECSIMPLEKEYSSTOREID"><span class="TYPE">xmlSecSimpleKeysStoreId</span></a>
+<div class="refsect2">
+<a name="xmlSecGCryptAppDefaultKeysMngrInit"></a><h3>xmlSecGCryptAppDefaultKeysMngrInit ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecGCryptAppDefaultKeysMngrInit (<em class="parameter"><code><font><span class="type">xmlSecKeysMngrPtr</span></font> mngr</code></em>);</pre>
+<p>Initializes <em class="parameter"><code>mngr</code></em>
+ with simple keys store <a class="link" href="xmlsec-keysmngr.html#xmlSecSimpleKeysStoreId" title="xmlSecSimpleKeysStoreId"><span class="type">xmlSecSimpleKeysStoreId</span></a>
and a default GCrypt crypto key data stores.</p>
-<div class="REFSECT3">
-<a name="AEN36166"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN36168"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecGCryptAppDefaultKeysMngrInit.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>mngr</p></td>
-<td><p>the pointer to keys manager.</p></td>
-<td> </td>
+<td class="parameter_name"><p>mngr</p></td>
+<td class="parameter_description"><p>the pointer to keys manager.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN36177"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecGCryptAppDefaultKeysMngrInit.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGCRYPTAPPDEFAULTKEYSMNGRADOPTKEY"></a><h3>xmlSecGCryptAppDefaultKeysMngrAdoptKey ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
+<div class="refsect2">
+<a name="xmlSecGCryptAppDefaultKeysMngrAdoptKey"></a><h3>xmlSecGCryptAppDefaultKeysMngrAdoptKey ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
xmlSecGCryptAppDefaultKeysMngrAdoptKey
- (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>,
- <code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>);</pre>
-<p>Adds <code class="PARAMETER">key</code>
- to the keys manager <code class="PARAMETER">mngr</code>
- created with <a href="xmlsec-gcrypt-app.html#XMLSECGCRYPTAPPDEFAULTKEYSMNGRINIT"><span class="TYPE">xmlSecGCryptAppDefaultKeysMngrInit</span></a>
+ (<em class="parameter"><code><font><span class="type">xmlSecKeysMngrPtr</span></font> mngr</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlSecKeyPtr</span></font> key</code></em>);</pre>
+<p>Adds <em class="parameter"><code>key</code></em>
+ to the keys manager <em class="parameter"><code>mngr</code></em>
+ created with <a class="link" href="xmlsec-gcrypt-app.html#xmlSecGCryptAppDefaultKeysMngrInit" title="xmlSecGCryptAppDefaultKeysMngrInit ()"><span class="type">xmlSecGCryptAppDefaultKeysMngrInit</span></a>
function.</p>
-<div class="REFSECT3">
-<a name="AEN36198"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN36200"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecGCryptAppDefaultKeysMngrAdoptKey.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>mngr</p></td>
-<td><p>the pointer to keys manager.</p></td>
-<td> </td>
+<td class="parameter_name"><p>mngr</p></td>
+<td class="parameter_description"><p>the pointer to keys manager.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>key</p></td>
-<td><p>the pointer to key.</p></td>
-<td> </td>
+<td class="parameter_name"><p>key</p></td>
+<td class="parameter_description"><p>the pointer to key.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN36215"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecGCryptAppDefaultKeysMngrAdoptKey.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGCRYPTAPPDEFAULTKEYSMNGRLOAD"></a><h3>xmlSecGCryptAppDefaultKeysMngrLoad ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecGCryptAppDefaultKeysMngrLoad (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>,
- <code class="PARAMETER">const <font><span class="TYPE">char</span></font> *uri</code>);</pre>
-<p>Loads XML keys file from <code class="PARAMETER">uri</code>
- to the keys manager <code class="PARAMETER">mngr</code>
+<div class="refsect2">
+<a name="xmlSecGCryptAppDefaultKeysMngrLoad"></a><h3>xmlSecGCryptAppDefaultKeysMngrLoad ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecGCryptAppDefaultKeysMngrLoad (<em class="parameter"><code><font><span class="type">xmlSecKeysMngrPtr</span></font> mngr</code></em>,
+ <em class="parameter"><code>const <font><span class="type">char</span></font> *uri</code></em>);</pre>
+<p>Loads XML keys file from <em class="parameter"><code>uri</code></em>
+ to the keys manager <em class="parameter"><code>mngr</code></em>
created
-with <a href="xmlsec-gcrypt-app.html#XMLSECGCRYPTAPPDEFAULTKEYSMNGRINIT"><span class="TYPE">xmlSecGCryptAppDefaultKeysMngrInit</span></a> function.</p>
-<div class="REFSECT3">
-<a name="AEN36236"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN36238"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+with <a class="link" href="xmlsec-gcrypt-app.html#xmlSecGCryptAppDefaultKeysMngrInit" title="xmlSecGCryptAppDefaultKeysMngrInit ()"><span class="type">xmlSecGCryptAppDefaultKeysMngrInit</span></a> function.</p>
+<div class="refsect3">
+<a name="xmlSecGCryptAppDefaultKeysMngrLoad.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>mngr</p></td>
-<td><p>the pointer to keys manager.</p></td>
-<td> </td>
+<td class="parameter_name"><p>mngr</p></td>
+<td class="parameter_description"><p>the pointer to keys manager.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>uri</p></td>
-<td><p>the uri.</p></td>
-<td> </td>
+<td class="parameter_name"><p>uri</p></td>
+<td class="parameter_description"><p>the uri.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN36253"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecGCryptAppDefaultKeysMngrLoad.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGCRYPTAPPDEFAULTKEYSMNGRSAVE"></a><h3>xmlSecGCryptAppDefaultKeysMngrSave ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecGCryptAppDefaultKeysMngrSave (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>,
- <code class="PARAMETER">const <font><span class="TYPE">char</span></font> *filename</code>,
- <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATATYPE"><span class="TYPE">xmlSecKeyDataType</span></a> type</code>);</pre>
-<p>Saves keys from <code class="PARAMETER">mngr</code>
+<div class="refsect2">
+<a name="xmlSecGCryptAppDefaultKeysMngrSave"></a><h3>xmlSecGCryptAppDefaultKeysMngrSave ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecGCryptAppDefaultKeysMngrSave (<em class="parameter"><code><font><span class="type">xmlSecKeysMngrPtr</span></font> mngr</code></em>,
+ <em class="parameter"><code>const <font><span class="type">char</span></font> *filename</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataType" title="xmlSecKeyDataType"><span class="type">xmlSecKeyDataType</span></a> type</code></em>);</pre>
+<p>Saves keys from <em class="parameter"><code>mngr</code></em>
to XML keys file.</p>
-<div class="REFSECT3">
-<a name="AEN36274"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN36276"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecGCryptAppDefaultKeysMngrSave.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>mngr</p></td>
-<td><p>the pointer to keys manager.</p></td>
-<td> </td>
+<td class="parameter_name"><p>mngr</p></td>
+<td class="parameter_description"><p>the pointer to keys manager.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>filename</p></td>
-<td><p>the destination filename.</p></td>
-<td> </td>
+<td class="parameter_name"><p>filename</p></td>
+<td class="parameter_description"><p>the destination filename.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>type</p></td>
-<td><p>the type of keys to save (public/private/symmetric).</p></td>
-<td> </td>
+<td class="parameter_name"><p>type</p></td>
+<td class="parameter_description"><p>the type of keys to save (public/private/symmetric).</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN36297"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecGCryptAppDefaultKeysMngrSave.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGCRYPTAPPKEYSMNGRCERTLOAD"></a><h3>xmlSecGCryptAppKeysMngrCertLoad ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecGCryptAppKeysMngrCertLoad (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>,
- <code class="PARAMETER">const <font><span class="TYPE">char</span></font> *filename</code>,
- <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT"><span class="TYPE">xmlSecKeyDataFormat</span></a> format</code>,
- <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATATYPE"><span class="TYPE">xmlSecKeyDataType</span></a> type</code>);</pre>
-<p>Reads cert from <code class="PARAMETER">filename</code>
+<div class="refsect2">
+<a name="xmlSecGCryptAppKeysMngrCertLoad"></a><h3>xmlSecGCryptAppKeysMngrCertLoad ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecGCryptAppKeysMngrCertLoad (<em class="parameter"><code><font><span class="type">xmlSecKeysMngrPtr</span></font> mngr</code></em>,
+ <em class="parameter"><code>const <font><span class="type">char</span></font> *filename</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataFormat" title="enum xmlSecKeyDataFormat"><span class="type">xmlSecKeyDataFormat</span></a> format</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataType" title="xmlSecKeyDataType"><span class="type">xmlSecKeyDataType</span></a> type</code></em>);</pre>
+<p>Reads cert from <em class="parameter"><code>filename</code></em>
and adds to the list of trusted or known
-untrusted certs in <code class="PARAMETER">store</code>
+untrusted certs in <em class="parameter"><code>store</code></em>
(not implemented yet).</p>
-<div class="REFSECT3">
-<a name="AEN36322"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN36324"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecGCryptAppKeysMngrCertLoad.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>mngr</p></td>
-<td><p>the keys manager.</p></td>
-<td> </td>
+<td class="parameter_name"><p>mngr</p></td>
+<td class="parameter_description"><p>the keys manager.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>filename</p></td>
-<td><p>the certificate file.</p></td>
-<td> </td>
+<td class="parameter_name"><p>filename</p></td>
+<td class="parameter_description"><p>the certificate file.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>format</p></td>
-<td><p>the certificate file format.</p></td>
-<td> </td>
+<td class="parameter_name"><p>format</p></td>
+<td class="parameter_description"><p>the certificate file format.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>type</p></td>
-<td><p>the flag that indicates is the certificate in <code class="PARAMETER">filename</code>
+<td class="parameter_name"><p>type</p></td>
+<td class="parameter_description"><p>the flag that indicates is the certificate in <em class="parameter"><code>filename</code></em>
trusted or not.</p></td>
-<td> </td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN36352"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecGCryptAppKeysMngrCertLoad.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGCRYPTAPPKEYSMNGRCERTLOADMEMORY"></a><h3>xmlSecGCryptAppKeysMngrCertLoadMemory ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecGCryptAppKeysMngrCertLoadMemory (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>,
- <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>,
- <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> dataSize</code>,
- <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT"><span class="TYPE">xmlSecKeyDataFormat</span></a> format</code>,
- <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATATYPE"><span class="TYPE">xmlSecKeyDataType</span></a> type</code>);</pre>
-<p>Reads cert from binary buffer <code class="PARAMETER">data</code>
+<div class="refsect2">
+<a name="xmlSecGCryptAppKeysMngrCertLoadMemory"></a><h3>xmlSecGCryptAppKeysMngrCertLoadMemory ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecGCryptAppKeysMngrCertLoadMemory (<em class="parameter"><code><font><span class="type">xmlSecKeysMngrPtr</span></font> mngr</code></em>,
+ <em class="parameter"><code>const <a class="link" href="xmlsec-xmlsec.html#xmlSecByte" title="xmlSecByte"><span class="type">xmlSecByte</span></a> *data</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="type">xmlSecSize</span></a> dataSize</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataFormat" title="enum xmlSecKeyDataFormat"><span class="type">xmlSecKeyDataFormat</span></a> format</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataType" title="xmlSecKeyDataType"><span class="type">xmlSecKeyDataType</span></a> type</code></em>);</pre>
+<p>Reads cert from binary buffer <em class="parameter"><code>data</code></em>
and adds to the list of trusted or known
-untrusted certs in <code class="PARAMETER">store</code>
+untrusted certs in <em class="parameter"><code>store</code></em>
(not implemented yet).</p>
-<div class="REFSECT3">
-<a name="AEN36380"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN36382"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecGCryptAppKeysMngrCertLoadMemory.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>mngr</p></td>
-<td><p>the keys manager.</p></td>
-<td> </td>
+<td class="parameter_name"><p>mngr</p></td>
+<td class="parameter_description"><p>the keys manager.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>data</p></td>
-<td><p>the certificate binary data.</p></td>
-<td> </td>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the certificate binary data.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>dataSize</p></td>
-<td><p>the certificate binary data size.</p></td>
-<td> </td>
+<td class="parameter_name"><p>dataSize</p></td>
+<td class="parameter_description"><p>the certificate binary data size.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>format</p></td>
-<td><p>the certificate file format.</p></td>
-<td> </td>
+<td class="parameter_name"><p>format</p></td>
+<td class="parameter_description"><p>the certificate file format.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>type</p></td>
-<td><p>the flag that indicates is the certificate trusted or not.</p></td>
-<td> </td>
+<td class="parameter_name"><p>type</p></td>
+<td class="parameter_description"><p>the flag that indicates is the certificate trusted or not.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN36415"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecGCryptAppKeysMngrCertLoadMemory.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGCRYPTAPPKEYLOAD"></a><h3>xmlSecGCryptAppKeyLoad ()</h3>
-<pre class="PROGRAMLISTING"><a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a>
-xmlSecGCryptAppKeyLoad (<code class="PARAMETER">const <font><span class="TYPE">char</span></font> *filename</code>,
- <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT"><span class="TYPE">xmlSecKeyDataFormat</span></a> format</code>,
- <code class="PARAMETER">const <font><span class="TYPE">char</span></font> *pwd</code>,
- <code class="PARAMETER"><font><span class="TYPE">void</span></font> *pwdCallback</code>,
- <code class="PARAMETER"><font><span class="TYPE">void</span></font> *pwdCallbackCtx</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecGCryptAppKeyLoad"></a><h3>xmlSecGCryptAppKeyLoad ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecKeyPtr</span></font>
+xmlSecGCryptAppKeyLoad (<em class="parameter"><code>const <font><span class="type">char</span></font> *filename</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataFormat" title="enum xmlSecKeyDataFormat"><span class="type">xmlSecKeyDataFormat</span></a> format</code></em>,
+ <em class="parameter"><code>const <font><span class="type">char</span></font> *pwd</code></em>,
+ <em class="parameter"><code><font><span class="type">void</span></font> *pwdCallback</code></em>,
+ <em class="parameter"><code><font><span class="type">void</span></font> *pwdCallbackCtx</code></em>);</pre>
<p>Reads key from the a file.</p>
-<div class="REFSECT3">
-<a name="AEN36441"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN36443"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecGCryptAppKeyLoad.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>filename</p></td>
-<td><p>the key filename.</p></td>
-<td> </td>
+<td class="parameter_name"><p>filename</p></td>
+<td class="parameter_description"><p>the key filename.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>format</p></td>
-<td><p>the key file format.</p></td>
-<td> </td>
+<td class="parameter_name"><p>format</p></td>
+<td class="parameter_description"><p>the key file format.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>pwd</p></td>
-<td><p>the key file password.</p></td>
-<td> </td>
+<td class="parameter_name"><p>pwd</p></td>
+<td class="parameter_description"><p>the key file password.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>pwdCallback</p></td>
-<td><p>the key password callback.</p></td>
-<td> </td>
+<td class="parameter_name"><p>pwdCallback</p></td>
+<td class="parameter_description"><p>the key password callback.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>pwdCallbackCtx</p></td>
-<td><p>the user context for password callback.</p></td>
-<td> </td>
+<td class="parameter_name"><p>pwdCallbackCtx</p></td>
+<td class="parameter_description"><p>the user context for password callback.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN36476"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecGCryptAppKeyLoad.returns"></a><h4>Returns</h4>
<p> pointer to the key or NULL if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGCRYPTAPPKEYLOADMEMORY"></a><h3>xmlSecGCryptAppKeyLoadMemory ()</h3>
-<pre class="PROGRAMLISTING"><a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a>
-xmlSecGCryptAppKeyLoadMemory (<code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>,
- <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> dataSize</code>,
- <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT"><span class="TYPE">xmlSecKeyDataFormat</span></a> format</code>,
- <code class="PARAMETER">const <font><span class="TYPE">char</span></font> *pwd</code>,
- <code class="PARAMETER"><font><span class="TYPE">void</span></font> *pwdCallback</code>,
- <code class="PARAMETER"><font><span class="TYPE">void</span></font> *pwdCallbackCtx</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecGCryptAppKeyLoadMemory"></a><h3>xmlSecGCryptAppKeyLoadMemory ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecKeyPtr</span></font>
+xmlSecGCryptAppKeyLoadMemory (<em class="parameter"><code>const <a class="link" href="xmlsec-xmlsec.html#xmlSecByte" title="xmlSecByte"><span class="type">xmlSecByte</span></a> *data</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="type">xmlSecSize</span></a> dataSize</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataFormat" title="enum xmlSecKeyDataFormat"><span class="type">xmlSecKeyDataFormat</span></a> format</code></em>,
+ <em class="parameter"><code>const <font><span class="type">char</span></font> *pwd</code></em>,
+ <em class="parameter"><code><font><span class="type">void</span></font> *pwdCallback</code></em>,
+ <em class="parameter"><code><font><span class="type">void</span></font> *pwdCallbackCtx</code></em>);</pre>
<p>Reads key from the memory buffer.</p>
-<div class="REFSECT3">
-<a name="AEN36505"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN36507"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecGCryptAppKeyLoadMemory.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>data</p></td>
-<td><p>the binary key data.</p></td>
-<td> </td>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the binary key data.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>dataSize</p></td>
-<td><p>the size of binary key.</p></td>
-<td> </td>
+<td class="parameter_name"><p>dataSize</p></td>
+<td class="parameter_description"><p>the size of binary key.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>format</p></td>
-<td><p>the key file format.</p></td>
-<td> </td>
+<td class="parameter_name"><p>format</p></td>
+<td class="parameter_description"><p>the key file format.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>pwd</p></td>
-<td><p>the key file password.</p></td>
-<td> </td>
+<td class="parameter_name"><p>pwd</p></td>
+<td class="parameter_description"><p>the key file password.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>pwdCallback</p></td>
-<td><p>the key password callback.</p></td>
-<td> </td>
+<td class="parameter_name"><p>pwdCallback</p></td>
+<td class="parameter_description"><p>the key password callback.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>pwdCallbackCtx</p></td>
-<td><p>the user context for password callback.</p></td>
-<td> </td>
+<td class="parameter_name"><p>pwdCallbackCtx</p></td>
+<td class="parameter_description"><p>the user context for password callback.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN36546"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecGCryptAppKeyLoadMemory.returns"></a><h4>Returns</h4>
<p> pointer to the key or NULL if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGCRYPTAPPPKCS12LOAD"></a><h3>xmlSecGCryptAppPkcs12Load ()</h3>
-<pre class="PROGRAMLISTING"><a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a>
-xmlSecGCryptAppPkcs12Load (<code class="PARAMETER">const <font><span class="TYPE">char</span></font> *filename</code>,
- <code class="PARAMETER">const <font><span class="TYPE">char</span></font> *pwd</code>,
- <code class="PARAMETER"><font><span class="TYPE">void</span></font> *pwdCallback</code>,
- <code class="PARAMETER"><font><span class="TYPE">void</span></font> *pwdCallbackCtx</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecGCryptAppPkcs12Load"></a><h3>xmlSecGCryptAppPkcs12Load ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecKeyPtr</span></font>
+xmlSecGCryptAppPkcs12Load (<em class="parameter"><code>const <font><span class="type">char</span></font> *filename</code></em>,
+ <em class="parameter"><code>const <font><span class="type">char</span></font> *pwd</code></em>,
+ <em class="parameter"><code><font><span class="type">void</span></font> *pwdCallback</code></em>,
+ <em class="parameter"><code><font><span class="type">void</span></font> *pwdCallbackCtx</code></em>);</pre>
<p>Reads key and all associated certificates from the PKCS12 file
(not implemented yet).
For uniformity, call xmlSecGCryptAppKeyLoad instead of this function. Pass
in format=xmlSecKeyDataFormatPkcs12.</p>
-<div class="REFSECT3">
-<a name="AEN36569"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN36571"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecGCryptAppPkcs12Load.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>filename</p></td>
-<td><p>the PKCS12 key filename.</p></td>
-<td> </td>
+<td class="parameter_name"><p>filename</p></td>
+<td class="parameter_description"><p>the PKCS12 key filename.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>pwd</p></td>
-<td><p>the PKCS12 file password.</p></td>
-<td> </td>
+<td class="parameter_name"><p>pwd</p></td>
+<td class="parameter_description"><p>the PKCS12 file password.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>pwdCallback</p></td>
-<td><p>the password callback.</p></td>
-<td> </td>
+<td class="parameter_name"><p>pwdCallback</p></td>
+<td class="parameter_description"><p>the password callback.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>pwdCallbackCtx</p></td>
-<td><p>the user context for password callback.</p></td>
-<td> </td>
+<td class="parameter_name"><p>pwdCallbackCtx</p></td>
+<td class="parameter_description"><p>the user context for password callback.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN36598"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecGCryptAppPkcs12Load.returns"></a><h4>Returns</h4>
<p> pointer to the key or NULL if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGCRYPTAPPPKCS12LOADMEMORY"></a><h3>xmlSecGCryptAppPkcs12LoadMemory ()</h3>
-<pre class="PROGRAMLISTING"><a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a>
-xmlSecGCryptAppPkcs12LoadMemory (<code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>,
- <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> dataSize</code>,
- <code class="PARAMETER">const <font><span class="TYPE">char</span></font> *pwd</code>,
- <code class="PARAMETER"><font><span class="TYPE">void</span></font> *pwdCallback</code>,
- <code class="PARAMETER"><font><span class="TYPE">void</span></font> *pwdCallbackCtx</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecGCryptAppPkcs12LoadMemory"></a><h3>xmlSecGCryptAppPkcs12LoadMemory ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecKeyPtr</span></font>
+xmlSecGCryptAppPkcs12LoadMemory (<em class="parameter"><code>const <a class="link" href="xmlsec-xmlsec.html#xmlSecByte" title="xmlSecByte"><span class="type">xmlSecByte</span></a> *data</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="type">xmlSecSize</span></a> dataSize</code></em>,
+ <em class="parameter"><code>const <font><span class="type">char</span></font> *pwd</code></em>,
+ <em class="parameter"><code><font><span class="type">void</span></font> *pwdCallback</code></em>,
+ <em class="parameter"><code><font><span class="type">void</span></font> *pwdCallbackCtx</code></em>);</pre>
<p>Reads key and all associated certificates from the PKCS12 data in memory buffer.
For uniformity, call xmlSecGCryptAppKeyLoadMemory instead of this function. Pass
in format=xmlSecKeyDataFormatPkcs12 (not implemented yet).</p>
-<div class="REFSECT3">
-<a name="AEN36624"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN36626"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecGCryptAppPkcs12LoadMemory.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>data</p></td>
-<td><p>the PKCS12 binary data.</p></td>
-<td> </td>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the PKCS12 binary data.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>dataSize</p></td>
-<td><p>the PKCS12 binary data size.</p></td>
-<td> </td>
+<td class="parameter_name"><p>dataSize</p></td>
+<td class="parameter_description"><p>the PKCS12 binary data size.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>pwd</p></td>
-<td><p>the PKCS12 file password.</p></td>
-<td> </td>
+<td class="parameter_name"><p>pwd</p></td>
+<td class="parameter_description"><p>the PKCS12 file password.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>pwdCallback</p></td>
-<td><p>the password callback.</p></td>
-<td> </td>
+<td class="parameter_name"><p>pwdCallback</p></td>
+<td class="parameter_description"><p>the password callback.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>pwdCallbackCtx</p></td>
-<td><p>the user context for password callback.</p></td>
-<td> </td>
+<td class="parameter_name"><p>pwdCallbackCtx</p></td>
+<td class="parameter_description"><p>the user context for password callback.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN36659"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecGCryptAppPkcs12LoadMemory.returns"></a><h4>Returns</h4>
<p> pointer to the key or NULL if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGCRYPTAPPKEYCERTLOAD"></a><h3>xmlSecGCryptAppKeyCertLoad ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecGCryptAppKeyCertLoad (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>,
- <code class="PARAMETER">const <font><span class="TYPE">char</span></font> *filename</code>,
- <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT"><span class="TYPE">xmlSecKeyDataFormat</span></a> format</code>);</pre>
-<p>Reads the certificate from $<code class="PARAMETER">filename</code>
+<div class="refsect2">
+<a name="xmlSecGCryptAppKeyCertLoad"></a><h3>xmlSecGCryptAppKeyCertLoad ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecGCryptAppKeyCertLoad (<em class="parameter"><code><font><span class="type">xmlSecKeyPtr</span></font> key</code></em>,
+ <em class="parameter"><code>const <font><span class="type">char</span></font> *filename</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataFormat" title="enum xmlSecKeyDataFormat"><span class="type">xmlSecKeyDataFormat</span></a> format</code></em>);</pre>
+<p>Reads the certificate from $<em class="parameter"><code>filename</code></em>
and adds it to key
(not implemented yet).</p>
-<div class="REFSECT3">
-<a name="AEN36680"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN36682"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecGCryptAppKeyCertLoad.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>key</p></td>
-<td><p>the pointer to key.</p></td>
-<td> </td>
+<td class="parameter_name"><p>key</p></td>
+<td class="parameter_description"><p>the pointer to key.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>filename</p></td>
-<td><p>the certificate filename.</p></td>
-<td> </td>
+<td class="parameter_name"><p>filename</p></td>
+<td class="parameter_description"><p>the certificate filename.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>format</p></td>
-<td><p>the certificate file format.</p></td>
-<td> </td>
+<td class="parameter_name"><p>format</p></td>
+<td class="parameter_description"><p>the certificate file format.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN36703"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecGCryptAppKeyCertLoad.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGCRYPTAPPKEYCERTLOADMEMORY"></a><h3>xmlSecGCryptAppKeyCertLoadMemory ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecGCryptAppKeyCertLoadMemory (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>,
- <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>,
- <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> dataSize</code>,
- <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT"><span class="TYPE">xmlSecKeyDataFormat</span></a> format</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecGCryptAppKeyCertLoadMemory"></a><h3>xmlSecGCryptAppKeyCertLoadMemory ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecGCryptAppKeyCertLoadMemory (<em class="parameter"><code><font><span class="type">xmlSecKeyPtr</span></font> key</code></em>,
+ <em class="parameter"><code>const <a class="link" href="xmlsec-xmlsec.html#xmlSecByte" title="xmlSecByte"><span class="type">xmlSecByte</span></a> *data</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="type">xmlSecSize</span></a> dataSize</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataFormat" title="enum xmlSecKeyDataFormat"><span class="type">xmlSecKeyDataFormat</span></a> format</code></em>);</pre>
<p>Reads the certificate from memory buffer and adds it to key (not implemented yet).</p>
-<div class="REFSECT3">
-<a name="AEN36726"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN36728"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecGCryptAppKeyCertLoadMemory.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>key</p></td>
-<td><p>the pointer to key.</p></td>
-<td> </td>
+<td class="parameter_name"><p>key</p></td>
+<td class="parameter_description"><p>the pointer to key.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>data</p></td>
-<td><p>the certificate binary data.</p></td>
-<td> </td>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the certificate binary data.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>dataSize</p></td>
-<td><p>the certificate binary data size.</p></td>
-<td> </td>
+<td class="parameter_name"><p>dataSize</p></td>
+<td class="parameter_description"><p>the certificate binary data size.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>format</p></td>
-<td><p>the certificate file format.</p></td>
-<td> </td>
+<td class="parameter_name"><p>format</p></td>
+<td class="parameter_description"><p>the certificate file format.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN36755"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecGCryptAppKeyCertLoadMemory.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGCRYPTAPPGETDEFAULTPWDCALLBACK"></a><h3>xmlSecGCryptAppGetDefaultPwdCallback ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">void</span></font> *
-xmlSecGCryptAppGetDefaultPwdCallback (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecGCryptAppGetDefaultPwdCallback"></a><h3>xmlSecGCryptAppGetDefaultPwdCallback ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">void</span></font> *
+xmlSecGCryptAppGetDefaultPwdCallback (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>Gets default password callback.</p>
-<div class="REFSECT3">
-<a name="AEN36768"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecGCryptAppGetDefaultPwdCallback.returns"></a><h4>Returns</h4>
<p> default password callback.</p>
</div>
</div>
</div>
-<div class="REFSECT1">
-<a name="XMLSEC-GCRYPT-APP.OTHER_DETAILS"></a><h2>Types and Values</h2>
-<p></p>
+<div class="refsect1">
+<a name="xmlsec-gcrypt-app.other_details"></a><h2>Types and Values</h2>
</div>
-<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td align="left"><a accesskey="p" href="xmlsec-gcrypt-ref.html"><b><<< XML Security Library for GCrypt API Reference.</b></a></td>
-<td align="right"><a accesskey="n" href="xmlsec-gcrypt-crypto.html"><b>crypto >>></b></a></td>
-</tr></table>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
</td></tr></table></td>
</tr></table></body>
</html>
diff --git a/docs/api/xmlsec-gcrypt-crypto.html b/docs/api/xmlsec-gcrypt-crypto.html
index 2870b2d..dce88fe 100644
--- a/docs/api/xmlsec-gcrypt-crypto.html
+++ b/docs/api/xmlsec-gcrypt-crypto.html
@@ -1,41 +1,14 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>crypto</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79">
-<link rel="HOME" title="XML Security Library Reference Manual" href="index.html">
-<link rel="UP" title="XML Security Library for GCrypt API Reference." href="xmlsec-gcrypt-ref.html">
-<link rel="PREVIOUS" title="app" href="xmlsec-gcrypt-app.html">
-<link rel="NEXT" title="XML Security Library for NSS API Reference." href="xmlsec-nss-ref.html">
-<style type="text/css">.synopsis, .classsynopsis {
- background: #eeeeee;
- border: solid 1px #aaaaaa;
- padding: 0.5em;
-}
-.programlisting {
- background: #eeeeff;
- border: solid 1px #aaaaff;
- padding: 0.5em;
-}
-.variablelist {
- padding: 4px;
- margin-left: 3em;
-}
-.navigation {
- background: #ffeeee;
- border: solid 1px #ffaaaa;
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
-.navigation a {
- color: #770000;
-}
-.navigation a:visited {
- color: #550000;
-}
-.navigation .title {
- font-size: 200%;
-}</style>
+<title>crypto: XML Security Library Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="XML Security Library Reference Manual">
+<link rel="up" href="xmlsec-gcrypt-ref.html" title="XML Security Library for GCrypt API Reference.">
+<link rel="prev" href="xmlsec-gcrypt-app.html" title="app">
+<link rel="next" href="xmlsec-nss-ref.html" title="XML Security Library for NSS API Reference.">
+<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
<style type="text/css">
table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
width: 20em;
@@ -100,1567 +73,1644 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
</table>
</td>
<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent">
-<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td><a accesskey="p" href="xmlsec-gcrypt-app.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="xmlsec-gcrypt-ref.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description"> <span class="dim">|</span>
+ <a href="#xmlsec-gcrypt-crypto.description" class="shortcut">Description</a></span>
+</td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<th width="100%" align="center">XML Security Library Reference Manual</th>
+<td><a accesskey="u" href="xmlsec-gcrypt-ref.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="xmlsec-gcrypt-app.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="xmlsec-nss-ref.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
-<h1>
-<a name="XMLSEC-GCRYPT-CRYPTO"></a>crypto</h1>
-<div class="REFNAMEDIV">
-<a name="AEN36779"></a><h2>Name</h2>crypto -- Crypto transforms implementation for GCrypt.</div>
-<div class="REFSECT1">
-<a name="XMLSEC-GCRYPT-CRYPTO.FUNCTIONS"></a><h2>Functions</h2>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN36784"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
+<div class="refentry">
+<a name="xmlsec-gcrypt-crypto"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="xmlsec-gcrypt-crypto.top_of_page"></a>crypto</span></h2>
+<p>crypto — Crypto transforms implementation for GCrypt.</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="xmlsec-gcrypt-crypto.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
<tbody>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecCryptoDLFunctionsPtr</span></font></td>
-<td>
-<a href="xmlsec-gcrypt-crypto.html#XMLSECCRYPTOGETFUNCTIONS-GCRYPT">xmlSecCryptoGetFunctions_gcrypt</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecCryptoDLFunctionsPtr</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecCryptoGetFunctions-gcrypt" title="xmlSecCryptoGetFunctions_gcrypt ()">xmlSecCryptoGetFunctions_gcrypt</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTINIT">xmlSecGCryptInit</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptInit" title="xmlSecGCryptInit ()">xmlSecGCryptInit</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTSHUTDOWN">xmlSecGCryptShutdown</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptShutdown" title="xmlSecGCryptShutdown ()">xmlSecGCryptShutdown</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTKEYSMNGRINIT">xmlSecGCryptKeysMngrInit</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptKeysMngrInit" title="xmlSecGCryptKeysMngrInit ()">xmlSecGCryptKeysMngrInit</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTGENERATERANDOM">xmlSecGCryptGenerateRandom</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptGenerateRandom" title="xmlSecGCryptGenerateRandom ()">xmlSecGCryptGenerateRandom</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecKeyDataId</span></font></td>
-<td>
-<a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTKEYDATAAESGETKLASS">xmlSecGCryptKeyDataAesGetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecKeyDataId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptKeyDataAesGetKlass" title="xmlSecGCryptKeyDataAesGetKlass ()">xmlSecGCryptKeyDataAesGetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTKEYDATAAESSET">xmlSecGCryptKeyDataAesSet</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptKeyDataAesSet" title="xmlSecGCryptKeyDataAesSet ()">xmlSecGCryptKeyDataAesSet</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMAES128CBCGETKLASS">xmlSecGCryptTransformAes128CbcGetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptTransformAes128CbcGetKlass" title="xmlSecGCryptTransformAes128CbcGetKlass ()">xmlSecGCryptTransformAes128CbcGetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMAES192CBCGETKLASS">xmlSecGCryptTransformAes192CbcGetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptTransformAes192CbcGetKlass" title="xmlSecGCryptTransformAes192CbcGetKlass ()">xmlSecGCryptTransformAes192CbcGetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMAES256CBCGETKLASS">xmlSecGCryptTransformAes256CbcGetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptTransformAes256CbcGetKlass" title="xmlSecGCryptTransformAes256CbcGetKlass ()">xmlSecGCryptTransformAes256CbcGetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMKWAES128GETKLASS">xmlSecGCryptTransformKWAes128GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptTransformKWAes128GetKlass" title="xmlSecGCryptTransformKWAes128GetKlass ()">xmlSecGCryptTransformKWAes128GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMKWAES192GETKLASS">xmlSecGCryptTransformKWAes192GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptTransformKWAes192GetKlass" title="xmlSecGCryptTransformKWAes192GetKlass ()">xmlSecGCryptTransformKWAes192GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMKWAES256GETKLASS">xmlSecGCryptTransformKWAes256GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptTransformKWAes256GetKlass" title="xmlSecGCryptTransformKWAes256GetKlass ()">xmlSecGCryptTransformKWAes256GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecKeyDataId</span></font></td>
-<td>
-<a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTKEYDATADESGETKLASS">xmlSecGCryptKeyDataDesGetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecKeyDataId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptKeyDataDesGetKlass" title="xmlSecGCryptKeyDataDesGetKlass ()">xmlSecGCryptKeyDataDesGetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTKEYDATADESSET">xmlSecGCryptKeyDataDesSet</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptKeyDataDesSet" title="xmlSecGCryptKeyDataDesSet ()">xmlSecGCryptKeyDataDesSet</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMDES3CBCGETKLASS">xmlSecGCryptTransformDes3CbcGetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptTransformDes3CbcGetKlass" title="xmlSecGCryptTransformDes3CbcGetKlass ()">xmlSecGCryptTransformDes3CbcGetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMKWDES3GETKLASS">xmlSecGCryptTransformKWDes3GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptTransformKWDes3GetKlass" title="xmlSecGCryptTransformKWDes3GetKlass ()">xmlSecGCryptTransformKWDes3GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecKeyDataId</span></font></td>
-<td>
-<a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTKEYDATADSAGETKLASS">xmlSecGCryptKeyDataDsaGetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecKeyDataId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptKeyDataDsaGetKlass" title="xmlSecGCryptKeyDataDsaGetKlass ()">xmlSecGCryptKeyDataDsaGetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTKEYDATADSAADOPTKEY">xmlSecGCryptKeyDataDsaAdoptKey</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptKeyDataDsaAdoptKey" title="xmlSecGCryptKeyDataDsaAdoptKey ()">xmlSecGCryptKeyDataDsaAdoptKey</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTKEYDATADSAADOPTKEYPAIR">xmlSecGCryptKeyDataDsaAdoptKeyPair</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptKeyDataDsaAdoptKeyPair" title="xmlSecGCryptKeyDataDsaAdoptKeyPair ()">xmlSecGCryptKeyDataDsaAdoptKeyPair</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">gcry_sexp_t</span></font></td>
-<td>
-<a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTKEYDATADSAGETPUBLICKEY">xmlSecGCryptKeyDataDsaGetPublicKey</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">gcry_sexp_t</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptKeyDataDsaGetPublicKey" title="xmlSecGCryptKeyDataDsaGetPublicKey ()">xmlSecGCryptKeyDataDsaGetPublicKey</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">gcry_sexp_t</span></font></td>
-<td>
-<a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTKEYDATADSAGETPRIVATEKEY">xmlSecGCryptKeyDataDsaGetPrivateKey</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">gcry_sexp_t</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptKeyDataDsaGetPrivateKey" title="xmlSecGCryptKeyDataDsaGetPrivateKey ()">xmlSecGCryptKeyDataDsaGetPrivateKey</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMDSASHA1GETKLASS">xmlSecGCryptTransformDsaSha1GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptTransformDsaSha1GetKlass" title="xmlSecGCryptTransformDsaSha1GetKlass ()">xmlSecGCryptTransformDsaSha1GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTHMACGETMINOUTPUTLENGTH">xmlSecGCryptHmacGetMinOutputLength</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptHmacGetMinOutputLength" title="xmlSecGCryptHmacGetMinOutputLength ()">xmlSecGCryptHmacGetMinOutputLength</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">void</span></font></td>
-<td>
-<a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTHMACSETMINOUTPUTLENGTH">xmlSecGCryptHmacSetMinOutputLength</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">void</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptHmacSetMinOutputLength" title="xmlSecGCryptHmacSetMinOutputLength ()">xmlSecGCryptHmacSetMinOutputLength</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecKeyDataId</span></font></td>
-<td>
-<a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTKEYDATAHMACGETKLASS">xmlSecGCryptKeyDataHmacGetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecKeyDataId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptKeyDataHmacGetKlass" title="xmlSecGCryptKeyDataHmacGetKlass ()">xmlSecGCryptKeyDataHmacGetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTKEYDATAHMACSET">xmlSecGCryptKeyDataHmacSet</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptKeyDataHmacSet" title="xmlSecGCryptKeyDataHmacSet ()">xmlSecGCryptKeyDataHmacSet</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMHMACMD5GETKLASS">xmlSecGCryptTransformHmacMd5GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptTransformHmacMd5GetKlass" title="xmlSecGCryptTransformHmacMd5GetKlass ()">xmlSecGCryptTransformHmacMd5GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMHMACRIPEMD160GETKLASS">xmlSecGCryptTransformHmacRipemd160GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptTransformHmacRipemd160GetKlass" title="xmlSecGCryptTransformHmacRipemd160GetKlass ()">xmlSecGCryptTransformHmacRipemd160GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMHMACSHA1GETKLASS">xmlSecGCryptTransformHmacSha1GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptTransformHmacSha1GetKlass" title="xmlSecGCryptTransformHmacSha1GetKlass ()">xmlSecGCryptTransformHmacSha1GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMHMACSHA256GETKLASS">xmlSecGCryptTransformHmacSha256GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptTransformHmacSha256GetKlass" title="xmlSecGCryptTransformHmacSha256GetKlass ()">xmlSecGCryptTransformHmacSha256GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMHMACSHA384GETKLASS">xmlSecGCryptTransformHmacSha384GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptTransformHmacSha384GetKlass" title="xmlSecGCryptTransformHmacSha384GetKlass ()">xmlSecGCryptTransformHmacSha384GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMHMACSHA512GETKLASS">xmlSecGCryptTransformHmacSha512GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptTransformHmacSha512GetKlass" title="xmlSecGCryptTransformHmacSha512GetKlass ()">xmlSecGCryptTransformHmacSha512GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecKeyDataId</span></font></td>
-<td>
-<a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTKEYDATARSAGETKLASS">xmlSecGCryptKeyDataRsaGetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecKeyDataId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptKeyDataRsaGetKlass" title="xmlSecGCryptKeyDataRsaGetKlass ()">xmlSecGCryptKeyDataRsaGetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTKEYDATARSAADOPTKEY">xmlSecGCryptKeyDataRsaAdoptKey</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptKeyDataRsaAdoptKey" title="xmlSecGCryptKeyDataRsaAdoptKey ()">xmlSecGCryptKeyDataRsaAdoptKey</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTKEYDATARSAADOPTKEYPAIR">xmlSecGCryptKeyDataRsaAdoptKeyPair</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptKeyDataRsaAdoptKeyPair" title="xmlSecGCryptKeyDataRsaAdoptKeyPair ()">xmlSecGCryptKeyDataRsaAdoptKeyPair</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">gcry_sexp_t</span></font></td>
-<td>
-<a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTKEYDATARSAGETPUBLICKEY">xmlSecGCryptKeyDataRsaGetPublicKey</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">gcry_sexp_t</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptKeyDataRsaGetPublicKey" title="xmlSecGCryptKeyDataRsaGetPublicKey ()">xmlSecGCryptKeyDataRsaGetPublicKey</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">gcry_sexp_t</span></font></td>
-<td>
-<a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTKEYDATARSAGETPRIVATEKEY">xmlSecGCryptKeyDataRsaGetPrivateKey</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">gcry_sexp_t</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptKeyDataRsaGetPrivateKey" title="xmlSecGCryptKeyDataRsaGetPrivateKey ()">xmlSecGCryptKeyDataRsaGetPrivateKey</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMRSAMD5GETKLASS">xmlSecGCryptTransformRsaMd5GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptTransformRsaMd5GetKlass" title="xmlSecGCryptTransformRsaMd5GetKlass ()">xmlSecGCryptTransformRsaMd5GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMRSARIPEMD160GETKLASS">xmlSecGCryptTransformRsaRipemd160GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptTransformRsaRipemd160GetKlass" title="xmlSecGCryptTransformRsaRipemd160GetKlass ()">xmlSecGCryptTransformRsaRipemd160GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMRSASHA1GETKLASS">xmlSecGCryptTransformRsaSha1GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptTransformRsaSha1GetKlass" title="xmlSecGCryptTransformRsaSha1GetKlass ()">xmlSecGCryptTransformRsaSha1GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMRSASHA256GETKLASS">xmlSecGCryptTransformRsaSha256GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptTransformRsaSha256GetKlass" title="xmlSecGCryptTransformRsaSha256GetKlass ()">xmlSecGCryptTransformRsaSha256GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMRSASHA384GETKLASS">xmlSecGCryptTransformRsaSha384GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptTransformRsaSha384GetKlass" title="xmlSecGCryptTransformRsaSha384GetKlass ()">xmlSecGCryptTransformRsaSha384GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMRSASHA512GETKLASS">xmlSecGCryptTransformRsaSha512GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptTransformRsaSha512GetKlass" title="xmlSecGCryptTransformRsaSha512GetKlass ()">xmlSecGCryptTransformRsaSha512GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMSHA1GETKLASS">xmlSecGCryptTransformSha1GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptTransformSha1GetKlass" title="xmlSecGCryptTransformSha1GetKlass ()">xmlSecGCryptTransformSha1GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMSHA256GETKLASS">xmlSecGCryptTransformSha256GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptTransformSha256GetKlass" title="xmlSecGCryptTransformSha256GetKlass ()">xmlSecGCryptTransformSha256GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMSHA384GETKLASS">xmlSecGCryptTransformSha384GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptTransformSha384GetKlass" title="xmlSecGCryptTransformSha384GetKlass ()">xmlSecGCryptTransformSha384GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMSHA512GETKLASS">xmlSecGCryptTransformSha512GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptTransformSha512GetKlass" title="xmlSecGCryptTransformSha512GetKlass ()">xmlSecGCryptTransformSha512GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMMD5GETKLASS">xmlSecGCryptTransformMd5GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptTransformMd5GetKlass" title="xmlSecGCryptTransformMd5GetKlass ()">xmlSecGCryptTransformMd5GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMRIPEMD160GETKLASS">xmlSecGCryptTransformRipemd160GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptTransformRipemd160GetKlass" title="xmlSecGCryptTransformRipemd160GetKlass ()">xmlSecGCryptTransformRipemd160GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
-</div>
-<div class="REFSECT1">
-<a name="XMLSEC-GCRYPT-CRYPTO.OTHER"></a><h2>Types and Values</h2>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN37139"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="xmlsec-gcrypt-crypto.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
<tbody>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTKEYDATAAESID">xmlSecGCryptKeyDataAesId</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptKeyDataAesId" title="xmlSecGCryptKeyDataAesId">xmlSecGCryptKeyDataAesId</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMAES128CBCID">xmlSecGCryptTransformAes128CbcId</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptTransformAes128CbcId" title="xmlSecGCryptTransformAes128CbcId">xmlSecGCryptTransformAes128CbcId</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMAES192CBCID">xmlSecGCryptTransformAes192CbcId</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptTransformAes192CbcId" title="xmlSecGCryptTransformAes192CbcId">xmlSecGCryptTransformAes192CbcId</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMAES256CBCID">xmlSecGCryptTransformAes256CbcId</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptTransformAes256CbcId" title="xmlSecGCryptTransformAes256CbcId">xmlSecGCryptTransformAes256CbcId</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMKWAES128ID">xmlSecGCryptTransformKWAes128Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptTransformKWAes128Id" title="xmlSecGCryptTransformKWAes128Id">xmlSecGCryptTransformKWAes128Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMKWAES192ID">xmlSecGCryptTransformKWAes192Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptTransformKWAes192Id" title="xmlSecGCryptTransformKWAes192Id">xmlSecGCryptTransformKWAes192Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMKWAES256ID">xmlSecGCryptTransformKWAes256Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptTransformKWAes256Id" title="xmlSecGCryptTransformKWAes256Id">xmlSecGCryptTransformKWAes256Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTKEYDATADESID">xmlSecGCryptKeyDataDesId</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptKeyDataDesId" title="xmlSecGCryptKeyDataDesId">xmlSecGCryptKeyDataDesId</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMDES3CBCID">xmlSecGCryptTransformDes3CbcId</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptTransformDes3CbcId" title="xmlSecGCryptTransformDes3CbcId">xmlSecGCryptTransformDes3CbcId</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMKWDES3ID">xmlSecGCryptTransformKWDes3Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptTransformKWDes3Id" title="xmlSecGCryptTransformKWDes3Id">xmlSecGCryptTransformKWDes3Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTKEYDATADSAID">xmlSecGCryptKeyDataDsaId</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptKeyDataDsaId" title="xmlSecGCryptKeyDataDsaId">xmlSecGCryptKeyDataDsaId</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMDSASHA1ID">xmlSecGCryptTransformDsaSha1Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptTransformDsaSha1Id" title="xmlSecGCryptTransformDsaSha1Id">xmlSecGCryptTransformDsaSha1Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTKEYDATAHMACID">xmlSecGCryptKeyDataHmacId</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptKeyDataHmacId" title="xmlSecGCryptKeyDataHmacId">xmlSecGCryptKeyDataHmacId</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMHMACMD5ID">xmlSecGCryptTransformHmacMd5Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptTransformHmacMd5Id" title="xmlSecGCryptTransformHmacMd5Id">xmlSecGCryptTransformHmacMd5Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMHMACRIPEMD160ID">xmlSecGCryptTransformHmacRipemd160Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptTransformHmacRipemd160Id" title="xmlSecGCryptTransformHmacRipemd160Id">xmlSecGCryptTransformHmacRipemd160Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMHMACSHA1ID">xmlSecGCryptTransformHmacSha1Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptTransformHmacSha1Id" title="xmlSecGCryptTransformHmacSha1Id">xmlSecGCryptTransformHmacSha1Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMHMACSHA256ID">xmlSecGCryptTransformHmacSha256Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptTransformHmacSha256Id" title="xmlSecGCryptTransformHmacSha256Id">xmlSecGCryptTransformHmacSha256Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMHMACSHA384ID">xmlSecGCryptTransformHmacSha384Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptTransformHmacSha384Id" title="xmlSecGCryptTransformHmacSha384Id">xmlSecGCryptTransformHmacSha384Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMHMACSHA512ID">xmlSecGCryptTransformHmacSha512Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptTransformHmacSha512Id" title="xmlSecGCryptTransformHmacSha512Id">xmlSecGCryptTransformHmacSha512Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTKEYDATARSAID">xmlSecGCryptKeyDataRsaId</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptKeyDataRsaId" title="xmlSecGCryptKeyDataRsaId">xmlSecGCryptKeyDataRsaId</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMRSAMD5ID">xmlSecGCryptTransformRsaMd5Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptTransformRsaMd5Id" title="xmlSecGCryptTransformRsaMd5Id">xmlSecGCryptTransformRsaMd5Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMRSARIPEMD160ID">xmlSecGCryptTransformRsaRipemd160Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptTransformRsaRipemd160Id" title="xmlSecGCryptTransformRsaRipemd160Id">xmlSecGCryptTransformRsaRipemd160Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMRSASHA1ID">xmlSecGCryptTransformRsaSha1Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptTransformRsaSha1Id" title="xmlSecGCryptTransformRsaSha1Id">xmlSecGCryptTransformRsaSha1Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMRSASHA256ID">xmlSecGCryptTransformRsaSha256Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptTransformRsaSha256Id" title="xmlSecGCryptTransformRsaSha256Id">xmlSecGCryptTransformRsaSha256Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMRSASHA384ID">xmlSecGCryptTransformRsaSha384Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptTransformRsaSha384Id" title="xmlSecGCryptTransformRsaSha384Id">xmlSecGCryptTransformRsaSha384Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMRSASHA512ID">xmlSecGCryptTransformRsaSha512Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptTransformRsaSha512Id" title="xmlSecGCryptTransformRsaSha512Id">xmlSecGCryptTransformRsaSha512Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMSHA1ID">xmlSecGCryptTransformSha1Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptTransformSha1Id" title="xmlSecGCryptTransformSha1Id">xmlSecGCryptTransformSha1Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMSHA256ID">xmlSecGCryptTransformSha256Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptTransformSha256Id" title="xmlSecGCryptTransformSha256Id">xmlSecGCryptTransformSha256Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMSHA384ID">xmlSecGCryptTransformSha384Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptTransformSha384Id" title="xmlSecGCryptTransformSha384Id">xmlSecGCryptTransformSha384Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMSHA512ID">xmlSecGCryptTransformSha512Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptTransformSha512Id" title="xmlSecGCryptTransformSha512Id">xmlSecGCryptTransformSha512Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMMD5ID">xmlSecGCryptTransformMd5Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptTransformMd5Id" title="xmlSecGCryptTransformMd5Id">xmlSecGCryptTransformMd5Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMRIPEMD160ID">xmlSecGCryptTransformRipemd160Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptTransformRipemd160Id" title="xmlSecGCryptTransformRipemd160Id">xmlSecGCryptTransformRipemd160Id</a></td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
-</div>
-<div class="REFSECT1">
-<a name="XMLSEC-GCRYPT-CRYPTO.DESCRIPTION"></a><h2>Description</h2>
-<p>Crypto transforms implementation for GCrypt.</p>
-</div>
-<div class="REFSECT1">
-<a name="XMLSEC-GCRYPT-CRYPTO.FUNCTIONS_DETAILS"></a><h2>Functions</h2>
-<div class="REFSECT2">
-<a name="XMLSECCRYPTOGETFUNCTIONS-GCRYPT"></a><h3>xmlSecCryptoGetFunctions_gcrypt ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecCryptoDLFunctionsPtr</span></font>
-xmlSecCryptoGetFunctions_gcrypt (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="xmlsec-gcrypt-crypto.description"></a><h2>Description</h2>
+<p>
+Crypto transforms implementation for GCrypt.
+</p>
+</div>
+<div class="refsect1">
+<a name="xmlsec-gcrypt-crypto.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="xmlSecCryptoGetFunctions-gcrypt"></a><h3>xmlSecCryptoGetFunctions_gcrypt ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecCryptoDLFunctionsPtr</span></font>
+xmlSecCryptoGetFunctions_gcrypt (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>Gets the pointer to xmlsec-gcrypt functions table.</p>
-<div class="REFSECT3">
-<a name="AEN37285"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecCryptoGetFunctions-gcrypt.returns"></a><h4>Returns</h4>
<p> the xmlsec-gcrypt functions table or NULL if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGCRYPTINIT"></a><h3>xmlSecGCryptInit ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecGCryptInit (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecGCryptInit"></a><h3>xmlSecGCryptInit ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecGCryptInit (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>XMLSec library specific crypto engine initialization.</p>
-<div class="REFSECT3">
-<a name="AEN37298"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecGCryptInit.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGCRYPTSHUTDOWN"></a><h3>xmlSecGCryptShutdown ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecGCryptShutdown (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecGCryptShutdown"></a><h3>xmlSecGCryptShutdown ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecGCryptShutdown (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>XMLSec library specific crypto engine shutdown.</p>
-<div class="REFSECT3">
-<a name="AEN37311"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecGCryptShutdown.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGCRYPTKEYSMNGRINIT"></a><h3>xmlSecGCryptKeysMngrInit ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecGCryptKeysMngrInit (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecGCryptKeysMngrInit"></a><h3>xmlSecGCryptKeysMngrInit ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecGCryptKeysMngrInit (<em class="parameter"><code><font><span class="type">xmlSecKeysMngrPtr</span></font> mngr</code></em>);</pre>
<p>Adds GCrypt specific key data stores in keys manager.</p>
-<div class="REFSECT3">
-<a name="AEN37325"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN37327"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecGCryptKeysMngrInit.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>mngr</p></td>
-<td><p>the pointer to keys manager.</p></td>
-<td> </td>
+<td class="parameter_name"><p>mngr</p></td>
+<td class="parameter_description"><p>the pointer to keys manager.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN37336"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecGCryptKeysMngrInit.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGCRYPTGENERATERANDOM"></a><h3>xmlSecGCryptGenerateRandom ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecGCryptGenerateRandom (<code class="PARAMETER"><a href="xmlsec-buffer.html#XMLSECBUFFER"><span class="TYPE">xmlSecBufferPtr</span></a> buffer</code>,
- <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> size</code>);</pre>
-<p>Generates <code class="PARAMETER">size</code>
- random bytes and puts result in <code class="PARAMETER">buffer</code>
+<div class="refsect2">
+<a name="xmlSecGCryptGenerateRandom"></a><h3>xmlSecGCryptGenerateRandom ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecGCryptGenerateRandom (<em class="parameter"><code><font><span class="type">xmlSecBufferPtr</span></font> buffer</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="type">xmlSecSize</span></a> size</code></em>);</pre>
+<p>Generates <em class="parameter"><code>size</code></em>
+ random bytes and puts result in <em class="parameter"><code>buffer</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN37355"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN37357"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecGCryptGenerateRandom.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>buffer</p></td>
-<td><p>the destination buffer.</p></td>
-<td> </td>
+<td class="parameter_name"><p>buffer</p></td>
+<td class="parameter_description"><p>the destination buffer.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>size</p></td>
-<td><p>the numer of bytes to generate.</p></td>
-<td> </td>
+<td class="parameter_name"><p>size</p></td>
+<td class="parameter_description"><p>the numer of bytes to generate.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN37372"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecGCryptGenerateRandom.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGCRYPTKEYDATAAESGETKLASS"></a><h3>xmlSecGCryptKeyDataAesGetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecKeyDataId</span></font>
-xmlSecGCryptKeyDataAesGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecGCryptKeyDataAesGetKlass"></a><h3>xmlSecGCryptKeyDataAesGetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecKeyDataId</span></font>
+xmlSecGCryptKeyDataAesGetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The AES key data klass.</p>
-<div class="REFSECT3">
-<a name="AEN37385"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecGCryptKeyDataAesGetKlass.returns"></a><h4>Returns</h4>
<p> AES key data klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGCRYPTKEYDATAAESSET"></a><h3>xmlSecGCryptKeyDataAesSet ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecGCryptKeyDataAesSet (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>,
- <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *buf</code>,
- <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> bufSize</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecGCryptKeyDataAesSet"></a><h3>xmlSecGCryptKeyDataAesSet ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecGCryptKeyDataAesSet (<em class="parameter"><code><font><span class="type">xmlSecKeyDataPtr</span></font> data</code></em>,
+ <em class="parameter"><code>const <a class="link" href="xmlsec-xmlsec.html#xmlSecByte" title="xmlSecByte"><span class="type">xmlSecByte</span></a> *buf</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="type">xmlSecSize</span></a> bufSize</code></em>);</pre>
<p>Sets the value of AES key data.</p>
-<div class="REFSECT3">
-<a name="AEN37405"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN37407"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecGCryptKeyDataAesSet.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>data</p></td>
-<td><p>the pointer to AES key data.</p></td>
-<td> </td>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the pointer to AES key data.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>buf</p></td>
-<td><p>the pointer to key value.</p></td>
-<td> </td>
+<td class="parameter_name"><p>buf</p></td>
+<td class="parameter_description"><p>the pointer to key value.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>bufSize</p></td>
-<td><p>the key value size (in bytes).</p></td>
-<td> </td>
+<td class="parameter_name"><p>bufSize</p></td>
+<td class="parameter_description"><p>the key value size (in bytes).</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN37428"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecGCryptKeyDataAesSet.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGCRYPTTRANSFORMAES128CBCGETKLASS"></a><h3>xmlSecGCryptTransformAes128CbcGetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
+<div class="refsect2">
+<a name="xmlSecGCryptTransformAes128CbcGetKlass"></a><h3>xmlSecGCryptTransformAes128CbcGetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
xmlSecGCryptTransformAes128CbcGetKlass
- (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+ (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>AES 128 CBC encryption transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN37441"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecGCryptTransformAes128CbcGetKlass.returns"></a><h4>Returns</h4>
<p> pointer to AES 128 CBC encryption transform.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGCRYPTTRANSFORMAES192CBCGETKLASS"></a><h3>xmlSecGCryptTransformAes192CbcGetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
+<div class="refsect2">
+<a name="xmlSecGCryptTransformAes192CbcGetKlass"></a><h3>xmlSecGCryptTransformAes192CbcGetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
xmlSecGCryptTransformAes192CbcGetKlass
- (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+ (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>AES 192 CBC encryption transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN37454"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecGCryptTransformAes192CbcGetKlass.returns"></a><h4>Returns</h4>
<p> pointer to AES 192 CBC encryption transform.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGCRYPTTRANSFORMAES256CBCGETKLASS"></a><h3>xmlSecGCryptTransformAes256CbcGetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
+<div class="refsect2">
+<a name="xmlSecGCryptTransformAes256CbcGetKlass"></a><h3>xmlSecGCryptTransformAes256CbcGetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
xmlSecGCryptTransformAes256CbcGetKlass
- (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+ (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>AES 256 CBC encryption transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN37467"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecGCryptTransformAes256CbcGetKlass.returns"></a><h4>Returns</h4>
<p> pointer to AES 256 CBC encryption transform.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGCRYPTTRANSFORMKWAES128GETKLASS"></a><h3>xmlSecGCryptTransformKWAes128GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
-xmlSecGCryptTransformKWAes128GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecGCryptTransformKWAes128GetKlass"></a><h3>xmlSecGCryptTransformKWAes128GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
+xmlSecGCryptTransformKWAes128GetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The AES-128 kew wrapper transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN37480"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecGCryptTransformKWAes128GetKlass.returns"></a><h4>Returns</h4>
<p> AES-128 kew wrapper transform klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGCRYPTTRANSFORMKWAES192GETKLASS"></a><h3>xmlSecGCryptTransformKWAes192GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
-xmlSecGCryptTransformKWAes192GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecGCryptTransformKWAes192GetKlass"></a><h3>xmlSecGCryptTransformKWAes192GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
+xmlSecGCryptTransformKWAes192GetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The AES-192 kew wrapper transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN37493"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecGCryptTransformKWAes192GetKlass.returns"></a><h4>Returns</h4>
<p> AES-192 kew wrapper transform klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGCRYPTTRANSFORMKWAES256GETKLASS"></a><h3>xmlSecGCryptTransformKWAes256GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
-xmlSecGCryptTransformKWAes256GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecGCryptTransformKWAes256GetKlass"></a><h3>xmlSecGCryptTransformKWAes256GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
+xmlSecGCryptTransformKWAes256GetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The AES-256 kew wrapper transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN37506"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecGCryptTransformKWAes256GetKlass.returns"></a><h4>Returns</h4>
<p> AES-256 kew wrapper transform klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGCRYPTKEYDATADESGETKLASS"></a><h3>xmlSecGCryptKeyDataDesGetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecKeyDataId</span></font>
-xmlSecGCryptKeyDataDesGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecGCryptKeyDataDesGetKlass"></a><h3>xmlSecGCryptKeyDataDesGetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecKeyDataId</span></font>
+xmlSecGCryptKeyDataDesGetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The DES key data klass.</p>
-<div class="REFSECT3">
-<a name="AEN37519"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecGCryptKeyDataDesGetKlass.returns"></a><h4>Returns</h4>
<p> DES key data klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGCRYPTKEYDATADESSET"></a><h3>xmlSecGCryptKeyDataDesSet ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecGCryptKeyDataDesSet (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>,
- <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *buf</code>,
- <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> bufSize</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecGCryptKeyDataDesSet"></a><h3>xmlSecGCryptKeyDataDesSet ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecGCryptKeyDataDesSet (<em class="parameter"><code><font><span class="type">xmlSecKeyDataPtr</span></font> data</code></em>,
+ <em class="parameter"><code>const <a class="link" href="xmlsec-xmlsec.html#xmlSecByte" title="xmlSecByte"><span class="type">xmlSecByte</span></a> *buf</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="type">xmlSecSize</span></a> bufSize</code></em>);</pre>
<p>Sets the value of DES key data.</p>
-<div class="REFSECT3">
-<a name="AEN37539"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN37541"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecGCryptKeyDataDesSet.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>data</p></td>
-<td><p>the pointer to DES key data.</p></td>
-<td> </td>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the pointer to DES key data.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>buf</p></td>
-<td><p>the pointer to key value.</p></td>
-<td> </td>
+<td class="parameter_name"><p>buf</p></td>
+<td class="parameter_description"><p>the pointer to key value.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>bufSize</p></td>
-<td><p>the key value size (in bytes).</p></td>
-<td> </td>
+<td class="parameter_name"><p>bufSize</p></td>
+<td class="parameter_description"><p>the key value size (in bytes).</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN37562"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecGCryptKeyDataDesSet.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGCRYPTTRANSFORMDES3CBCGETKLASS"></a><h3>xmlSecGCryptTransformDes3CbcGetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
-xmlSecGCryptTransformDes3CbcGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecGCryptTransformDes3CbcGetKlass"></a><h3>xmlSecGCryptTransformDes3CbcGetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
+xmlSecGCryptTransformDes3CbcGetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>Triple DES CBC encryption transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN37575"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecGCryptTransformDes3CbcGetKlass.returns"></a><h4>Returns</h4>
<p> pointer to Triple DES encryption transform.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGCRYPTTRANSFORMKWDES3GETKLASS"></a><h3>xmlSecGCryptTransformKWDes3GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
-xmlSecGCryptTransformKWDes3GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecGCryptTransformKWDes3GetKlass"></a><h3>xmlSecGCryptTransformKWDes3GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
+xmlSecGCryptTransformKWDes3GetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The Triple DES key wrapper transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN37588"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecGCryptTransformKWDes3GetKlass.returns"></a><h4>Returns</h4>
<p> Triple DES key wrapper transform klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGCRYPTKEYDATADSAGETKLASS"></a><h3>xmlSecGCryptKeyDataDsaGetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecKeyDataId</span></font>
-xmlSecGCryptKeyDataDsaGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecGCryptKeyDataDsaGetKlass"></a><h3>xmlSecGCryptKeyDataDsaGetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecKeyDataId</span></font>
+xmlSecGCryptKeyDataDsaGetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The DSA key data klass.</p>
-<div class="REFSECT3">
-<a name="AEN37601"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecGCryptKeyDataDsaGetKlass.returns"></a><h4>Returns</h4>
<p> pointer to DSA key data klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGCRYPTKEYDATADSAADOPTKEY"></a><h3>xmlSecGCryptKeyDataDsaAdoptKey ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecGCryptKeyDataDsaAdoptKey (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>,
- <code class="PARAMETER"><font><span class="TYPE">gcry_sexp_t</span></font> dsa_key</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecGCryptKeyDataDsaAdoptKey"></a><h3>xmlSecGCryptKeyDataDsaAdoptKey ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecGCryptKeyDataDsaAdoptKey (<em class="parameter"><code><font><span class="type">xmlSecKeyDataPtr</span></font> data</code></em>,
+ <em class="parameter"><code><font><span class="type">gcry_sexp_t</span></font> dsa_key</code></em>);</pre>
<p>Sets the value of DSA key data.</p>
-<div class="REFSECT3">
-<a name="AEN37618"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN37620"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecGCryptKeyDataDsaAdoptKey.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>data</p></td>
-<td><p>the pointer to DSA key data.</p></td>
-<td> </td>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the pointer to DSA key data.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>dsa_key</p></td>
-<td><p>the pointer to GCrypt DSA key.</p></td>
-<td> </td>
+<td class="parameter_name"><p>dsa_key</p></td>
+<td class="parameter_description"><p>the pointer to GCrypt DSA key.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN37635"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecGCryptKeyDataDsaAdoptKey.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGCRYPTKEYDATADSAADOPTKEYPAIR"></a><h3>xmlSecGCryptKeyDataDsaAdoptKeyPair ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecGCryptKeyDataDsaAdoptKeyPair (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>,
- <code class="PARAMETER"><font><span class="TYPE">gcry_sexp_t</span></font> pub_key</code>,
- <code class="PARAMETER"><font><span class="TYPE">gcry_sexp_t</span></font> priv_key</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecGCryptKeyDataDsaAdoptKeyPair"></a><h3>xmlSecGCryptKeyDataDsaAdoptKeyPair ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecGCryptKeyDataDsaAdoptKeyPair (<em class="parameter"><code><font><span class="type">xmlSecKeyDataPtr</span></font> data</code></em>,
+ <em class="parameter"><code><font><span class="type">gcry_sexp_t</span></font> pub_key</code></em>,
+ <em class="parameter"><code><font><span class="type">gcry_sexp_t</span></font> priv_key</code></em>);</pre>
<p>Sets the value of DSA key data.</p>
-<div class="REFSECT3">
-<a name="AEN37655"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN37657"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecGCryptKeyDataDsaAdoptKeyPair.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>data</p></td>
-<td><p>the pointer to DSA key data.</p></td>
-<td> </td>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the pointer to DSA key data.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>pub_key</p></td>
-<td><p>the pointer to GCrypt DSA pub key.</p></td>
-<td> </td>
+<td class="parameter_name"><p>pub_key</p></td>
+<td class="parameter_description"><p>the pointer to GCrypt DSA pub key.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>priv_key</p></td>
-<td><p>the pointer to GCrypt DSA priv key.</p></td>
-<td> </td>
+<td class="parameter_name"><p>priv_key</p></td>
+<td class="parameter_description"><p>the pointer to GCrypt DSA priv key.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN37678"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecGCryptKeyDataDsaAdoptKeyPair.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGCRYPTKEYDATADSAGETPUBLICKEY"></a><h3>xmlSecGCryptKeyDataDsaGetPublicKey ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">gcry_sexp_t</span></font>
-xmlSecGCryptKeyDataDsaGetPublicKey (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecGCryptKeyDataDsaGetPublicKey"></a><h3>xmlSecGCryptKeyDataDsaGetPublicKey ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">gcry_sexp_t</span></font>
+xmlSecGCryptKeyDataDsaGetPublicKey (<em class="parameter"><code><font><span class="type">xmlSecKeyDataPtr</span></font> data</code></em>);</pre>
<p>Gets the GCrypt DSA public key from DSA key data.</p>
-<div class="REFSECT3">
-<a name="AEN37692"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN37694"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecGCryptKeyDataDsaGetPublicKey.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>data</p></td>
-<td><p>the pointer to DSA key data.</p></td>
-<td> </td>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the pointer to DSA key data.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN37703"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecGCryptKeyDataDsaGetPublicKey.returns"></a><h4>Returns</h4>
<p> pointer to GCrypt public DSA key or NULL if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGCRYPTKEYDATADSAGETPRIVATEKEY"></a><h3>xmlSecGCryptKeyDataDsaGetPrivateKey ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">gcry_sexp_t</span></font>
-xmlSecGCryptKeyDataDsaGetPrivateKey (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecGCryptKeyDataDsaGetPrivateKey"></a><h3>xmlSecGCryptKeyDataDsaGetPrivateKey ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">gcry_sexp_t</span></font>
+xmlSecGCryptKeyDataDsaGetPrivateKey (<em class="parameter"><code><font><span class="type">xmlSecKeyDataPtr</span></font> data</code></em>);</pre>
<p>Gets the GCrypt DSA private key from DSA key data.</p>
-<div class="REFSECT3">
-<a name="AEN37717"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN37719"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecGCryptKeyDataDsaGetPrivateKey.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>data</p></td>
-<td><p>the pointer to DSA key data.</p></td>
-<td> </td>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the pointer to DSA key data.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN37728"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecGCryptKeyDataDsaGetPrivateKey.returns"></a><h4>Returns</h4>
<p> pointer to GCrypt private DSA key or NULL if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGCRYPTTRANSFORMDSASHA1GETKLASS"></a><h3>xmlSecGCryptTransformDsaSha1GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
-xmlSecGCryptTransformDsaSha1GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecGCryptTransformDsaSha1GetKlass"></a><h3>xmlSecGCryptTransformDsaSha1GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
+xmlSecGCryptTransformDsaSha1GetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The DSA-SHA1 signature transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN37741"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecGCryptTransformDsaSha1GetKlass.returns"></a><h4>Returns</h4>
<p> DSA-SHA1 signature transform klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGCRYPTHMACGETMINOUTPUTLENGTH"></a><h3>xmlSecGCryptHmacGetMinOutputLength ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecGCryptHmacGetMinOutputLength (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecGCryptHmacGetMinOutputLength"></a><h3>xmlSecGCryptHmacGetMinOutputLength ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecGCryptHmacGetMinOutputLength (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>Gets the value of min HMAC length.</p>
-<div class="REFSECT3">
-<a name="AEN37754"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecGCryptHmacGetMinOutputLength.returns"></a><h4>Returns</h4>
<p> the min HMAC output length</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGCRYPTHMACSETMINOUTPUTLENGTH"></a><h3>xmlSecGCryptHmacSetMinOutputLength ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">void</span></font>
-xmlSecGCryptHmacSetMinOutputLength (<code class="PARAMETER"><font><span class="TYPE">int</span></font> min_length</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecGCryptHmacSetMinOutputLength"></a><h3>xmlSecGCryptHmacSetMinOutputLength ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">void</span></font>
+xmlSecGCryptHmacSetMinOutputLength (<em class="parameter"><code><font><span class="type">int</span></font> min_length</code></em>);</pre>
<p>Sets the min HMAC output length</p>
-<div class="REFSECT3">
-<a name="AEN37768"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN37770"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecGCryptHmacSetMinOutputLength.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>min_length</p></td>
-<td><p>the new min length</p></td>
-<td> </td>
+<td class="parameter_name"><p>min_length</p></td>
+<td class="parameter_description"><p>the new min length</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGCRYPTKEYDATAHMACGETKLASS"></a><h3>xmlSecGCryptKeyDataHmacGetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecKeyDataId</span></font>
-xmlSecGCryptKeyDataHmacGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecGCryptKeyDataHmacGetKlass"></a><h3>xmlSecGCryptKeyDataHmacGetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecKeyDataId</span></font>
+xmlSecGCryptKeyDataHmacGetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The HMAC key data klass.</p>
-<div class="REFSECT3">
-<a name="AEN37789"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecGCryptKeyDataHmacGetKlass.returns"></a><h4>Returns</h4>
<p> HMAC key data klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGCRYPTKEYDATAHMACSET"></a><h3>xmlSecGCryptKeyDataHmacSet ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecGCryptKeyDataHmacSet (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>,
- <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *buf</code>,
- <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> bufSize</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecGCryptKeyDataHmacSet"></a><h3>xmlSecGCryptKeyDataHmacSet ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecGCryptKeyDataHmacSet (<em class="parameter"><code><font><span class="type">xmlSecKeyDataPtr</span></font> data</code></em>,
+ <em class="parameter"><code>const <a class="link" href="xmlsec-xmlsec.html#xmlSecByte" title="xmlSecByte"><span class="type">xmlSecByte</span></a> *buf</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="type">xmlSecSize</span></a> bufSize</code></em>);</pre>
<p>Sets the value of HMAC key data.</p>
-<div class="REFSECT3">
-<a name="AEN37809"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN37811"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecGCryptKeyDataHmacSet.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>data</p></td>
-<td><p>the pointer to HMAC key data.</p></td>
-<td> </td>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the pointer to HMAC key data.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>buf</p></td>
-<td><p>the pointer to key value.</p></td>
-<td> </td>
+<td class="parameter_name"><p>buf</p></td>
+<td class="parameter_description"><p>the pointer to key value.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>bufSize</p></td>
-<td><p>the key value size (in bytes).</p></td>
-<td> </td>
+<td class="parameter_name"><p>bufSize</p></td>
+<td class="parameter_description"><p>the key value size (in bytes).</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN37832"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecGCryptKeyDataHmacSet.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGCRYPTTRANSFORMHMACMD5GETKLASS"></a><h3>xmlSecGCryptTransformHmacMd5GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
-xmlSecGCryptTransformHmacMd5GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecGCryptTransformHmacMd5GetKlass"></a><h3>xmlSecGCryptTransformHmacMd5GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
+xmlSecGCryptTransformHmacMd5GetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The HMAC-MD5 transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN37845"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecGCryptTransformHmacMd5GetKlass.returns"></a><h4>Returns</h4>
<p> the HMAC-MD5 transform klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGCRYPTTRANSFORMHMACRIPEMD160GETKLASS"></a><h3>xmlSecGCryptTransformHmacRipemd160GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
+<div class="refsect2">
+<a name="xmlSecGCryptTransformHmacRipemd160GetKlass"></a><h3>xmlSecGCryptTransformHmacRipemd160GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
xmlSecGCryptTransformHmacRipemd160GetKlass
- (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+ (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The HMAC-RIPEMD160 transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN37858"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecGCryptTransformHmacRipemd160GetKlass.returns"></a><h4>Returns</h4>
<p> the HMAC-RIPEMD160 transform klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGCRYPTTRANSFORMHMACSHA1GETKLASS"></a><h3>xmlSecGCryptTransformHmacSha1GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
-xmlSecGCryptTransformHmacSha1GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecGCryptTransformHmacSha1GetKlass"></a><h3>xmlSecGCryptTransformHmacSha1GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
+xmlSecGCryptTransformHmacSha1GetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The HMAC-SHA1 transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN37871"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecGCryptTransformHmacSha1GetKlass.returns"></a><h4>Returns</h4>
<p> the HMAC-SHA1 transform klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGCRYPTTRANSFORMHMACSHA256GETKLASS"></a><h3>xmlSecGCryptTransformHmacSha256GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
+<div class="refsect2">
+<a name="xmlSecGCryptTransformHmacSha256GetKlass"></a><h3>xmlSecGCryptTransformHmacSha256GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
xmlSecGCryptTransformHmacSha256GetKlass
- (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+ (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The HMAC-SHA256 transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN37884"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecGCryptTransformHmacSha256GetKlass.returns"></a><h4>Returns</h4>
<p> the HMAC-SHA256 transform klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGCRYPTTRANSFORMHMACSHA384GETKLASS"></a><h3>xmlSecGCryptTransformHmacSha384GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
+<div class="refsect2">
+<a name="xmlSecGCryptTransformHmacSha384GetKlass"></a><h3>xmlSecGCryptTransformHmacSha384GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
xmlSecGCryptTransformHmacSha384GetKlass
- (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+ (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The HMAC-SHA384 transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN37897"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecGCryptTransformHmacSha384GetKlass.returns"></a><h4>Returns</h4>
<p> the HMAC-SHA384 transform klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGCRYPTTRANSFORMHMACSHA512GETKLASS"></a><h3>xmlSecGCryptTransformHmacSha512GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
+<div class="refsect2">
+<a name="xmlSecGCryptTransformHmacSha512GetKlass"></a><h3>xmlSecGCryptTransformHmacSha512GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
xmlSecGCryptTransformHmacSha512GetKlass
- (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+ (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The HMAC-SHA512 transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN37910"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecGCryptTransformHmacSha512GetKlass.returns"></a><h4>Returns</h4>
<p> the HMAC-SHA512 transform klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGCRYPTKEYDATARSAGETKLASS"></a><h3>xmlSecGCryptKeyDataRsaGetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecKeyDataId</span></font>
-xmlSecGCryptKeyDataRsaGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecGCryptKeyDataRsaGetKlass"></a><h3>xmlSecGCryptKeyDataRsaGetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecKeyDataId</span></font>
+xmlSecGCryptKeyDataRsaGetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The GCrypt RSA key data klass.</p>
-<div class="REFSECT3">
-<a name="AEN37923"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecGCryptKeyDataRsaGetKlass.returns"></a><h4>Returns</h4>
<p> pointer to GCrypt RSA key data klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGCRYPTKEYDATARSAADOPTKEY"></a><h3>xmlSecGCryptKeyDataRsaAdoptKey ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecGCryptKeyDataRsaAdoptKey (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>,
- <code class="PARAMETER"><font><span class="TYPE">gcry_sexp_t</span></font> rsa_key</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecGCryptKeyDataRsaAdoptKey"></a><h3>xmlSecGCryptKeyDataRsaAdoptKey ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecGCryptKeyDataRsaAdoptKey (<em class="parameter"><code><font><span class="type">xmlSecKeyDataPtr</span></font> data</code></em>,
+ <em class="parameter"><code><font><span class="type">gcry_sexp_t</span></font> rsa_key</code></em>);</pre>
<p>Sets the value of RSA key data.</p>
-<div class="REFSECT3">
-<a name="AEN37940"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN37942"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecGCryptKeyDataRsaAdoptKey.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>data</p></td>
-<td><p>the pointer to RSA key data.</p></td>
-<td> </td>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the pointer to RSA key data.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>rsa_key</p></td>
-<td><p>the pointer to GCrypt RSA key.</p></td>
-<td> </td>
+<td class="parameter_name"><p>rsa_key</p></td>
+<td class="parameter_description"><p>the pointer to GCrypt RSA key.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN37957"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecGCryptKeyDataRsaAdoptKey.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGCRYPTKEYDATARSAADOPTKEYPAIR"></a><h3>xmlSecGCryptKeyDataRsaAdoptKeyPair ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecGCryptKeyDataRsaAdoptKeyPair (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>,
- <code class="PARAMETER"><font><span class="TYPE">gcry_sexp_t</span></font> pub_key</code>,
- <code class="PARAMETER"><font><span class="TYPE">gcry_sexp_t</span></font> priv_key</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecGCryptKeyDataRsaAdoptKeyPair"></a><h3>xmlSecGCryptKeyDataRsaAdoptKeyPair ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecGCryptKeyDataRsaAdoptKeyPair (<em class="parameter"><code><font><span class="type">xmlSecKeyDataPtr</span></font> data</code></em>,
+ <em class="parameter"><code><font><span class="type">gcry_sexp_t</span></font> pub_key</code></em>,
+ <em class="parameter"><code><font><span class="type">gcry_sexp_t</span></font> priv_key</code></em>);</pre>
<p>Sets the value of RSA key data.</p>
-<div class="REFSECT3">
-<a name="AEN37977"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN37979"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecGCryptKeyDataRsaAdoptKeyPair.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>data</p></td>
-<td><p>the pointer to RSA key data.</p></td>
-<td> </td>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the pointer to RSA key data.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>pub_key</p></td>
-<td><p>the pointer to GCrypt RSA pub key.</p></td>
-<td> </td>
+<td class="parameter_name"><p>pub_key</p></td>
+<td class="parameter_description"><p>the pointer to GCrypt RSA pub key.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>priv_key</p></td>
-<td><p>the pointer to GCrypt RSA priv key.</p></td>
-<td> </td>
+<td class="parameter_name"><p>priv_key</p></td>
+<td class="parameter_description"><p>the pointer to GCrypt RSA priv key.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN38000"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecGCryptKeyDataRsaAdoptKeyPair.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGCRYPTKEYDATARSAGETPUBLICKEY"></a><h3>xmlSecGCryptKeyDataRsaGetPublicKey ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">gcry_sexp_t</span></font>
-xmlSecGCryptKeyDataRsaGetPublicKey (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecGCryptKeyDataRsaGetPublicKey"></a><h3>xmlSecGCryptKeyDataRsaGetPublicKey ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">gcry_sexp_t</span></font>
+xmlSecGCryptKeyDataRsaGetPublicKey (<em class="parameter"><code><font><span class="type">xmlSecKeyDataPtr</span></font> data</code></em>);</pre>
<p>Gets the GCrypt RSA public key from RSA key data.</p>
-<div class="REFSECT3">
-<a name="AEN38014"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN38016"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecGCryptKeyDataRsaGetPublicKey.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>data</p></td>
-<td><p>the pointer to RSA key data.</p></td>
-<td> </td>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the pointer to RSA key data.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN38025"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecGCryptKeyDataRsaGetPublicKey.returns"></a><h4>Returns</h4>
<p> pointer to GCrypt public RSA key or NULL if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGCRYPTKEYDATARSAGETPRIVATEKEY"></a><h3>xmlSecGCryptKeyDataRsaGetPrivateKey ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">gcry_sexp_t</span></font>
-xmlSecGCryptKeyDataRsaGetPrivateKey (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecGCryptKeyDataRsaGetPrivateKey"></a><h3>xmlSecGCryptKeyDataRsaGetPrivateKey ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">gcry_sexp_t</span></font>
+xmlSecGCryptKeyDataRsaGetPrivateKey (<em class="parameter"><code><font><span class="type">xmlSecKeyDataPtr</span></font> data</code></em>);</pre>
<p>Gets the GCrypt RSA private key from RSA key data.</p>
-<div class="REFSECT3">
-<a name="AEN38039"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN38041"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecGCryptKeyDataRsaGetPrivateKey.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>data</p></td>
-<td><p>the pointer to RSA key data.</p></td>
-<td> </td>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the pointer to RSA key data.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN38050"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecGCryptKeyDataRsaGetPrivateKey.returns"></a><h4>Returns</h4>
<p> pointer to GCrypt private RSA key or NULL if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGCRYPTTRANSFORMRSAMD5GETKLASS"></a><h3>xmlSecGCryptTransformRsaMd5GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
-xmlSecGCryptTransformRsaMd5GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecGCryptTransformRsaMd5GetKlass"></a><h3>xmlSecGCryptTransformRsaMd5GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
+xmlSecGCryptTransformRsaMd5GetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The RSA-MD5 signature transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN38063"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecGCryptTransformRsaMd5GetKlass.returns"></a><h4>Returns</h4>
<p> RSA-MD5 signature transform klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGCRYPTTRANSFORMRSARIPEMD160GETKLASS"></a><h3>xmlSecGCryptTransformRsaRipemd160GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
+<div class="refsect2">
+<a name="xmlSecGCryptTransformRsaRipemd160GetKlass"></a><h3>xmlSecGCryptTransformRsaRipemd160GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
xmlSecGCryptTransformRsaRipemd160GetKlass
- (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+ (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The RSA-RIPEMD160 signature transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN38076"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecGCryptTransformRsaRipemd160GetKlass.returns"></a><h4>Returns</h4>
<p> RSA-RIPEMD160 signature transform klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGCRYPTTRANSFORMRSASHA1GETKLASS"></a><h3>xmlSecGCryptTransformRsaSha1GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
-xmlSecGCryptTransformRsaSha1GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecGCryptTransformRsaSha1GetKlass"></a><h3>xmlSecGCryptTransformRsaSha1GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
+xmlSecGCryptTransformRsaSha1GetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The RSA-SHA1 signature transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN38089"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecGCryptTransformRsaSha1GetKlass.returns"></a><h4>Returns</h4>
<p> RSA-SHA1 signature transform klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGCRYPTTRANSFORMRSASHA256GETKLASS"></a><h3>xmlSecGCryptTransformRsaSha256GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
+<div class="refsect2">
+<a name="xmlSecGCryptTransformRsaSha256GetKlass"></a><h3>xmlSecGCryptTransformRsaSha256GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
xmlSecGCryptTransformRsaSha256GetKlass
- (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+ (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The RSA-SHA256 signature transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN38102"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecGCryptTransformRsaSha256GetKlass.returns"></a><h4>Returns</h4>
<p> RSA-SHA256 signature transform klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGCRYPTTRANSFORMRSASHA384GETKLASS"></a><h3>xmlSecGCryptTransformRsaSha384GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
+<div class="refsect2">
+<a name="xmlSecGCryptTransformRsaSha384GetKlass"></a><h3>xmlSecGCryptTransformRsaSha384GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
xmlSecGCryptTransformRsaSha384GetKlass
- (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+ (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The RSA-SHA384 signature transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN38115"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecGCryptTransformRsaSha384GetKlass.returns"></a><h4>Returns</h4>
<p> RSA-SHA384 signature transform klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGCRYPTTRANSFORMRSASHA512GETKLASS"></a><h3>xmlSecGCryptTransformRsaSha512GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
+<div class="refsect2">
+<a name="xmlSecGCryptTransformRsaSha512GetKlass"></a><h3>xmlSecGCryptTransformRsaSha512GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
xmlSecGCryptTransformRsaSha512GetKlass
- (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+ (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The RSA-SHA512 signature transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN38128"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecGCryptTransformRsaSha512GetKlass.returns"></a><h4>Returns</h4>
<p> RSA-SHA512 signature transform klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGCRYPTTRANSFORMSHA1GETKLASS"></a><h3>xmlSecGCryptTransformSha1GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
-xmlSecGCryptTransformSha1GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecGCryptTransformSha1GetKlass"></a><h3>xmlSecGCryptTransformSha1GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
+xmlSecGCryptTransformSha1GetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>SHA-1 digest transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN38141"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecGCryptTransformSha1GetKlass.returns"></a><h4>Returns</h4>
<p> pointer to SHA-1 digest transform klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGCRYPTTRANSFORMSHA256GETKLASS"></a><h3>xmlSecGCryptTransformSha256GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
-xmlSecGCryptTransformSha256GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecGCryptTransformSha256GetKlass"></a><h3>xmlSecGCryptTransformSha256GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
+xmlSecGCryptTransformSha256GetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>SHA256 digest transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN38154"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecGCryptTransformSha256GetKlass.returns"></a><h4>Returns</h4>
<p> pointer to SHA256 digest transform klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGCRYPTTRANSFORMSHA384GETKLASS"></a><h3>xmlSecGCryptTransformSha384GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
-xmlSecGCryptTransformSha384GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecGCryptTransformSha384GetKlass"></a><h3>xmlSecGCryptTransformSha384GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
+xmlSecGCryptTransformSha384GetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>SHA384 digest transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN38167"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecGCryptTransformSha384GetKlass.returns"></a><h4>Returns</h4>
<p> pointer to SHA384 digest transform klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGCRYPTTRANSFORMSHA512GETKLASS"></a><h3>xmlSecGCryptTransformSha512GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
-xmlSecGCryptTransformSha512GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecGCryptTransformSha512GetKlass"></a><h3>xmlSecGCryptTransformSha512GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
+xmlSecGCryptTransformSha512GetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>SHA512 digest transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN38180"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecGCryptTransformSha512GetKlass.returns"></a><h4>Returns</h4>
<p> pointer to SHA512 digest transform klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGCRYPTTRANSFORMMD5GETKLASS"></a><h3>xmlSecGCryptTransformMd5GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
-xmlSecGCryptTransformMd5GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecGCryptTransformMd5GetKlass"></a><h3>xmlSecGCryptTransformMd5GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
+xmlSecGCryptTransformMd5GetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>MD5 digest transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN38193"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecGCryptTransformMd5GetKlass.returns"></a><h4>Returns</h4>
<p> pointer to MD5 digest transform klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGCRYPTTRANSFORMRIPEMD160GETKLASS"></a><h3>xmlSecGCryptTransformRipemd160GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
+<div class="refsect2">
+<a name="xmlSecGCryptTransformRipemd160GetKlass"></a><h3>xmlSecGCryptTransformRipemd160GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
xmlSecGCryptTransformRipemd160GetKlass
- (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+ (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>RIPEMD160 digest transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN38206"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecGCryptTransformRipemd160GetKlass.returns"></a><h4>Returns</h4>
<p> pointer to RIPEMD160 digest transform klass.</p>
</div>
</div>
</div>
-<div class="REFSECT1">
-<a name="XMLSEC-GCRYPT-CRYPTO.OTHER_DETAILS"></a><h2>Types and Values</h2>
-<div class="REFSECT2">
-<a name="XMLSECGCRYPTKEYDATAAESID"></a><h3>xmlSecGCryptKeyDataAesId</h3>
-<pre class="PROGRAMLISTING">#define xmlSecGCryptKeyDataAesId</pre>
+<div class="refsect1">
+<a name="xmlsec-gcrypt-crypto.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="xmlSecGCryptKeyDataAesId"></a><h3>xmlSecGCryptKeyDataAesId</h3>
+<pre class="programlisting">#define xmlSecGCryptKeyDataAesId</pre>
<p>The AES key data klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGCRYPTTRANSFORMAES128CBCID"></a><h3>xmlSecGCryptTransformAes128CbcId</h3>
-<pre class="PROGRAMLISTING">#define xmlSecGCryptTransformAes128CbcId</pre>
+<div class="refsect2">
+<a name="xmlSecGCryptTransformAes128CbcId"></a><h3>xmlSecGCryptTransformAes128CbcId</h3>
+<pre class="programlisting">#define xmlSecGCryptTransformAes128CbcId</pre>
<p>The AES128 CBC cipher transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGCRYPTTRANSFORMAES192CBCID"></a><h3>xmlSecGCryptTransformAes192CbcId</h3>
-<pre class="PROGRAMLISTING">#define xmlSecGCryptTransformAes192CbcId</pre>
+<div class="refsect2">
+<a name="xmlSecGCryptTransformAes192CbcId"></a><h3>xmlSecGCryptTransformAes192CbcId</h3>
+<pre class="programlisting">#define xmlSecGCryptTransformAes192CbcId</pre>
<p>The AES192 CBC cipher transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGCRYPTTRANSFORMAES256CBCID"></a><h3>xmlSecGCryptTransformAes256CbcId</h3>
-<pre class="PROGRAMLISTING">#define xmlSecGCryptTransformAes256CbcId</pre>
+<div class="refsect2">
+<a name="xmlSecGCryptTransformAes256CbcId"></a><h3>xmlSecGCryptTransformAes256CbcId</h3>
+<pre class="programlisting">#define xmlSecGCryptTransformAes256CbcId</pre>
<p>The AES256 CBC cipher transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGCRYPTTRANSFORMKWAES128ID"></a><h3>xmlSecGCryptTransformKWAes128Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecGCryptTransformKWAes128Id</pre>
+<div class="refsect2">
+<a name="xmlSecGCryptTransformKWAes128Id"></a><h3>xmlSecGCryptTransformKWAes128Id</h3>
+<pre class="programlisting">#define xmlSecGCryptTransformKWAes128Id</pre>
<p>The AES 128 key wrap transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGCRYPTTRANSFORMKWAES192ID"></a><h3>xmlSecGCryptTransformKWAes192Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecGCryptTransformKWAes192Id</pre>
+<div class="refsect2">
+<a name="xmlSecGCryptTransformKWAes192Id"></a><h3>xmlSecGCryptTransformKWAes192Id</h3>
+<pre class="programlisting">#define xmlSecGCryptTransformKWAes192Id</pre>
<p>The AES 192 key wrap transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGCRYPTTRANSFORMKWAES256ID"></a><h3>xmlSecGCryptTransformKWAes256Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecGCryptTransformKWAes256Id</pre>
+<div class="refsect2">
+<a name="xmlSecGCryptTransformKWAes256Id"></a><h3>xmlSecGCryptTransformKWAes256Id</h3>
+<pre class="programlisting">#define xmlSecGCryptTransformKWAes256Id</pre>
<p>The AES 256 key wrap transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGCRYPTKEYDATADESID"></a><h3>xmlSecGCryptKeyDataDesId</h3>
-<pre class="PROGRAMLISTING">#define xmlSecGCryptKeyDataDesId</pre>
+<div class="refsect2">
+<a name="xmlSecGCryptKeyDataDesId"></a><h3>xmlSecGCryptKeyDataDesId</h3>
+<pre class="programlisting">#define xmlSecGCryptKeyDataDesId</pre>
<p>The DES key data klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGCRYPTTRANSFORMDES3CBCID"></a><h3>xmlSecGCryptTransformDes3CbcId</h3>
-<pre class="PROGRAMLISTING">#define xmlSecGCryptTransformDes3CbcId</pre>
+<div class="refsect2">
+<a name="xmlSecGCryptTransformDes3CbcId"></a><h3>xmlSecGCryptTransformDes3CbcId</h3>
+<pre class="programlisting">#define xmlSecGCryptTransformDes3CbcId</pre>
<p>The DES3 CBC cipher transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGCRYPTTRANSFORMKWDES3ID"></a><h3>xmlSecGCryptTransformKWDes3Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecGCryptTransformKWDes3Id</pre>
+<div class="refsect2">
+<a name="xmlSecGCryptTransformKWDes3Id"></a><h3>xmlSecGCryptTransformKWDes3Id</h3>
+<pre class="programlisting">#define xmlSecGCryptTransformKWDes3Id</pre>
<p>The DES3 KW transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGCRYPTKEYDATADSAID"></a><h3>xmlSecGCryptKeyDataDsaId</h3>
-<pre class="PROGRAMLISTING">#define xmlSecGCryptKeyDataDsaId</pre>
+<div class="refsect2">
+<a name="xmlSecGCryptKeyDataDsaId"></a><h3>xmlSecGCryptKeyDataDsaId</h3>
+<pre class="programlisting">#define xmlSecGCryptKeyDataDsaId</pre>
<p>The DSA key klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGCRYPTTRANSFORMDSASHA1ID"></a><h3>xmlSecGCryptTransformDsaSha1Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecGCryptTransformDsaSha1Id</pre>
+<div class="refsect2">
+<a name="xmlSecGCryptTransformDsaSha1Id"></a><h3>xmlSecGCryptTransformDsaSha1Id</h3>
+<pre class="programlisting">#define xmlSecGCryptTransformDsaSha1Id</pre>
<p>The DSA SHA1 signature transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGCRYPTKEYDATAHMACID"></a><h3>xmlSecGCryptKeyDataHmacId</h3>
-<pre class="PROGRAMLISTING">#define xmlSecGCryptKeyDataHmacId</pre>
+<div class="refsect2">
+<a name="xmlSecGCryptKeyDataHmacId"></a><h3>xmlSecGCryptKeyDataHmacId</h3>
+<pre class="programlisting">#define xmlSecGCryptKeyDataHmacId</pre>
<p>The HMAC key klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGCRYPTTRANSFORMHMACMD5ID"></a><h3>xmlSecGCryptTransformHmacMd5Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecGCryptTransformHmacMd5Id</pre>
+<div class="refsect2">
+<a name="xmlSecGCryptTransformHmacMd5Id"></a><h3>xmlSecGCryptTransformHmacMd5Id</h3>
+<pre class="programlisting">#define xmlSecGCryptTransformHmacMd5Id</pre>
<p>The HMAC with MD5 signature transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGCRYPTTRANSFORMHMACRIPEMD160ID"></a><h3>xmlSecGCryptTransformHmacRipemd160Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecGCryptTransformHmacRipemd160Id</pre>
+<div class="refsect2">
+<a name="xmlSecGCryptTransformHmacRipemd160Id"></a><h3>xmlSecGCryptTransformHmacRipemd160Id</h3>
+<pre class="programlisting">#define xmlSecGCryptTransformHmacRipemd160Id</pre>
<p>The HMAC with RipeMD160 signature transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGCRYPTTRANSFORMHMACSHA1ID"></a><h3>xmlSecGCryptTransformHmacSha1Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecGCryptTransformHmacSha1Id</pre>
+<div class="refsect2">
+<a name="xmlSecGCryptTransformHmacSha1Id"></a><h3>xmlSecGCryptTransformHmacSha1Id</h3>
+<pre class="programlisting">#define xmlSecGCryptTransformHmacSha1Id</pre>
<p>The HMAC with SHA1 signature transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGCRYPTTRANSFORMHMACSHA256ID"></a><h3>xmlSecGCryptTransformHmacSha256Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecGCryptTransformHmacSha256Id</pre>
+<div class="refsect2">
+<a name="xmlSecGCryptTransformHmacSha256Id"></a><h3>xmlSecGCryptTransformHmacSha256Id</h3>
+<pre class="programlisting">#define xmlSecGCryptTransformHmacSha256Id</pre>
<p>The HMAC with SHA256 signature transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGCRYPTTRANSFORMHMACSHA384ID"></a><h3>xmlSecGCryptTransformHmacSha384Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecGCryptTransformHmacSha384Id</pre>
+<div class="refsect2">
+<a name="xmlSecGCryptTransformHmacSha384Id"></a><h3>xmlSecGCryptTransformHmacSha384Id</h3>
+<pre class="programlisting">#define xmlSecGCryptTransformHmacSha384Id</pre>
<p>The HMAC with SHA384 signature transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGCRYPTTRANSFORMHMACSHA512ID"></a><h3>xmlSecGCryptTransformHmacSha512Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecGCryptTransformHmacSha512Id</pre>
+<div class="refsect2">
+<a name="xmlSecGCryptTransformHmacSha512Id"></a><h3>xmlSecGCryptTransformHmacSha512Id</h3>
+<pre class="programlisting">#define xmlSecGCryptTransformHmacSha512Id</pre>
<p>The HMAC with SHA512 signature transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGCRYPTKEYDATARSAID"></a><h3>xmlSecGCryptKeyDataRsaId</h3>
-<pre class="PROGRAMLISTING">#define xmlSecGCryptKeyDataRsaId</pre>
+<div class="refsect2">
+<a name="xmlSecGCryptKeyDataRsaId"></a><h3>xmlSecGCryptKeyDataRsaId</h3>
+<pre class="programlisting">#define xmlSecGCryptKeyDataRsaId</pre>
<p>The RSA key klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGCRYPTTRANSFORMRSAMD5ID"></a><h3>xmlSecGCryptTransformRsaMd5Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecGCryptTransformRsaMd5Id</pre>
+<div class="refsect2">
+<a name="xmlSecGCryptTransformRsaMd5Id"></a><h3>xmlSecGCryptTransformRsaMd5Id</h3>
+<pre class="programlisting">#define xmlSecGCryptTransformRsaMd5Id</pre>
<p>The RSA-MD5 signature transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGCRYPTTRANSFORMRSARIPEMD160ID"></a><h3>xmlSecGCryptTransformRsaRipemd160Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecGCryptTransformRsaRipemd160Id</pre>
+<div class="refsect2">
+<a name="xmlSecGCryptTransformRsaRipemd160Id"></a><h3>xmlSecGCryptTransformRsaRipemd160Id</h3>
+<pre class="programlisting">#define xmlSecGCryptTransformRsaRipemd160Id</pre>
<p>The RSA-RIPEMD160 signature transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGCRYPTTRANSFORMRSASHA1ID"></a><h3>xmlSecGCryptTransformRsaSha1Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecGCryptTransformRsaSha1Id</pre>
+<div class="refsect2">
+<a name="xmlSecGCryptTransformRsaSha1Id"></a><h3>xmlSecGCryptTransformRsaSha1Id</h3>
+<pre class="programlisting">#define xmlSecGCryptTransformRsaSha1Id</pre>
<p>The RSA-SHA1 signature transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGCRYPTTRANSFORMRSASHA256ID"></a><h3>xmlSecGCryptTransformRsaSha256Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecGCryptTransformRsaSha256Id</pre>
+<div class="refsect2">
+<a name="xmlSecGCryptTransformRsaSha256Id"></a><h3>xmlSecGCryptTransformRsaSha256Id</h3>
+<pre class="programlisting">#define xmlSecGCryptTransformRsaSha256Id</pre>
<p>The RSA-SHA256 signature transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGCRYPTTRANSFORMRSASHA384ID"></a><h3>xmlSecGCryptTransformRsaSha384Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecGCryptTransformRsaSha384Id</pre>
+<div class="refsect2">
+<a name="xmlSecGCryptTransformRsaSha384Id"></a><h3>xmlSecGCryptTransformRsaSha384Id</h3>
+<pre class="programlisting">#define xmlSecGCryptTransformRsaSha384Id</pre>
<p>The RSA-SHA384 signature transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGCRYPTTRANSFORMRSASHA512ID"></a><h3>xmlSecGCryptTransformRsaSha512Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecGCryptTransformRsaSha512Id</pre>
+<div class="refsect2">
+<a name="xmlSecGCryptTransformRsaSha512Id"></a><h3>xmlSecGCryptTransformRsaSha512Id</h3>
+<pre class="programlisting">#define xmlSecGCryptTransformRsaSha512Id</pre>
<p>The RSA-SHA512 signature transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGCRYPTTRANSFORMSHA1ID"></a><h3>xmlSecGCryptTransformSha1Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecGCryptTransformSha1Id</pre>
+<div class="refsect2">
+<a name="xmlSecGCryptTransformSha1Id"></a><h3>xmlSecGCryptTransformSha1Id</h3>
+<pre class="programlisting">#define xmlSecGCryptTransformSha1Id</pre>
<p>The HMAC with SHA1 signature transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGCRYPTTRANSFORMSHA256ID"></a><h3>xmlSecGCryptTransformSha256Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecGCryptTransformSha256Id</pre>
+<div class="refsect2">
+<a name="xmlSecGCryptTransformSha256Id"></a><h3>xmlSecGCryptTransformSha256Id</h3>
+<pre class="programlisting">#define xmlSecGCryptTransformSha256Id</pre>
<p>The HMAC with SHA256 signature transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGCRYPTTRANSFORMSHA384ID"></a><h3>xmlSecGCryptTransformSha384Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecGCryptTransformSha384Id</pre>
+<div class="refsect2">
+<a name="xmlSecGCryptTransformSha384Id"></a><h3>xmlSecGCryptTransformSha384Id</h3>
+<pre class="programlisting">#define xmlSecGCryptTransformSha384Id</pre>
<p>The HMAC with SHA384 signature transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGCRYPTTRANSFORMSHA512ID"></a><h3>xmlSecGCryptTransformSha512Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecGCryptTransformSha512Id</pre>
+<div class="refsect2">
+<a name="xmlSecGCryptTransformSha512Id"></a><h3>xmlSecGCryptTransformSha512Id</h3>
+<pre class="programlisting">#define xmlSecGCryptTransformSha512Id</pre>
<p>The HMAC with SHA512 signature transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGCRYPTTRANSFORMMD5ID"></a><h3>xmlSecGCryptTransformMd5Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecGCryptTransformMd5Id</pre>
+<div class="refsect2">
+<a name="xmlSecGCryptTransformMd5Id"></a><h3>xmlSecGCryptTransformMd5Id</h3>
+<pre class="programlisting">#define xmlSecGCryptTransformMd5Id</pre>
<p>The MD5 digest transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGCRYPTTRANSFORMRIPEMD160ID"></a><h3>xmlSecGCryptTransformRipemd160Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecGCryptTransformRipemd160Id</pre>
+<div class="refsect2">
+<a name="xmlSecGCryptTransformRipemd160Id"></a><h3>xmlSecGCryptTransformRipemd160Id</h3>
+<pre class="programlisting">#define xmlSecGCryptTransformRipemd160Id</pre>
<p>The RIPEMD160 digest transform klass.</p>
</div>
</div>
-<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td align="left"><a accesskey="p" href="xmlsec-gcrypt-app.html"><b><<< app</b></a></td>
-<td align="right"><a accesskey="n" href="xmlsec-nss-ref.html"><b>XML Security Library for NSS API Reference. >>></b></a></td>
-</tr></table>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
</td></tr></table></td>
</tr></table></body>
</html>
diff --git a/docs/api/xmlsec-gcrypt-ref.html b/docs/api/xmlsec-gcrypt-ref.html
index 4f0a122..efba273 100644
--- a/docs/api/xmlsec-gcrypt-ref.html
+++ b/docs/api/xmlsec-gcrypt-ref.html
@@ -1,41 +1,14 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>XML Security Library for GCrypt API Reference.</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79">
-<link rel="HOME" title="XML Security Library Reference Manual" href="index.html">
-<link rel="UP" title="XML Security Library API Reference." href="xmlsec-reference.html">
-<link rel="PREVIOUS" title="crypto" href="xmlsec-gnutls-crypto.html">
-<link rel="NEXT" title="app" href="xmlsec-gcrypt-app.html">
-<style type="text/css">.synopsis, .classsynopsis {
- background: #eeeeee;
- border: solid 1px #aaaaaa;
- padding: 0.5em;
-}
-.programlisting {
- background: #eeeeff;
- border: solid 1px #aaaaff;
- padding: 0.5em;
-}
-.variablelist {
- padding: 4px;
- margin-left: 3em;
-}
-.navigation {
- background: #ffeeee;
- border: solid 1px #ffaaaa;
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
-.navigation a {
- color: #770000;
-}
-.navigation a:visited {
- color: #550000;
-}
-.navigation .title {
- font-size: 200%;
-}</style>
+<title>XML Security Library for GCrypt API Reference.: XML Security Library Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="XML Security Library Reference Manual">
+<link rel="up" href="xmlsec-reference.html" title="Part II. XML Security Library API Reference.">
+<link rel="prev" href="xmlsec-gnutls-x509.html" title="x509">
+<link rel="next" href="xmlsec-gcrypt-app.html" title="app">
+<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
<style type="text/css">
table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
width: 20em;
@@ -100,31 +73,30 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
</table>
</td>
<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent">
-<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td><a accesskey="p" href="xmlsec-gnutls-crypto.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="xmlsec-reference.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<th width="100%" align="center">XML Security Library Reference Manual</th>
+<td><a accesskey="u" href="xmlsec-reference.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="xmlsec-gnutls-x509.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="xmlsec-gcrypt-app.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
-<div class="CHAPTER">
-<h1>
-<a name="XMLSEC-GCRYPT-REF"></a>XML Security Library for GCrypt API Reference.</h1>
-<div class="TOC"><dl>
-<dt><b>Table of Contents</b></dt>
+<div class="chapter">
+<div class="titlepage"><div><div><h2 class="title">
+<a name="xmlsec-gcrypt-ref"></a>XML Security Library for GCrypt API Reference.</h2></div></div></div>
+<div class="toc"><dl class="toc">
<dt>
-<a href="xmlsec-gcrypt-app.html">app</a> -- Application functions implementation for GnuTLS.</dt>
+<span class="refentrytitle"><a href="xmlsec-gcrypt-app.html">app</a></span><span class="refpurpose"> — Application functions implementation for GnuTLS.</span>
+</dt>
<dt>
-<a href="xmlsec-gcrypt-crypto.html">crypto</a> -- Crypto transforms implementation for GCrypt.</dt>
+<span class="refentrytitle"><a href="xmlsec-gcrypt-crypto.html">crypto</a></span><span class="refpurpose"> — Crypto transforms implementation for GCrypt.</span>
+</dt>
</dl></div>
<p>This section contains the API reference for xmlsec-gcrypt. All
the public interfaces are documented here. This reference guide is
build by extracting comments from the code sources. </p>
</div>
-<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td align="left"><a accesskey="p" href="xmlsec-gnutls-crypto.html"><b><<< crypto</b></a></td>
-<td align="right"><a accesskey="n" href="xmlsec-gcrypt-app.html"><b>app >>></b></a></td>
-</tr></table>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
</td></tr></table></td>
</tr></table></body>
</html>
diff --git a/docs/api/xmlsec-gnutls-app.html b/docs/api/xmlsec-gnutls-app.html
index b22d30b..bd2d5f1 100644
--- a/docs/api/xmlsec-gnutls-app.html
+++ b/docs/api/xmlsec-gnutls-app.html
@@ -1,41 +1,14 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>app</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79">
-<link rel="HOME" title="XML Security Library Reference Manual" href="index.html">
-<link rel="UP" title="XML Security Library for GnuTLS API Reference." href="xmlsec-gnutls-ref.html">
-<link rel="PREVIOUS" title="XML Security Library for GnuTLS API Reference." href="xmlsec-gnutls-ref.html">
-<link rel="NEXT" title="crypto" href="xmlsec-gnutls-crypto.html">
-<style type="text/css">.synopsis, .classsynopsis {
- background: #eeeeee;
- border: solid 1px #aaaaaa;
- padding: 0.5em;
-}
-.programlisting {
- background: #eeeeff;
- border: solid 1px #aaaaff;
- padding: 0.5em;
-}
-.variablelist {
- padding: 4px;
- margin-left: 3em;
-}
-.navigation {
- background: #ffeeee;
- border: solid 1px #ffaaaa;
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
-.navigation a {
- color: #770000;
-}
-.navigation a:visited {
- color: #550000;
-}
-.navigation .title {
- font-size: 200%;
-}</style>
+<title>app: XML Security Library Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="XML Security Library Reference Manual">
+<link rel="up" href="xmlsec-gnutls-ref.html" title="XML Security Library for GnuTLS API Reference.">
+<link rel="prev" href="xmlsec-gnutls-ref.html" title="XML Security Library for GnuTLS API Reference.">
+<link rel="next" href="xmlsec-gnutls-crypto.html" title="crypto">
+<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
<style type="text/css">
table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
width: 20em;
@@ -100,763 +73,772 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
</table>
</td>
<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent">
-<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td><a accesskey="p" href="xmlsec-gnutls-ref.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="xmlsec-gnutls-ref.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description"> <span class="dim">|</span>
+ <a href="#xmlsec-gnutls-app.description" class="shortcut">Description</a></span>
+</td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<th width="100%" align="center">XML Security Library Reference Manual</th>
+<td><a accesskey="u" href="xmlsec-gnutls-ref.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="xmlsec-gnutls-ref.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="xmlsec-gnutls-crypto.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
-<h1>
-<a name="XMLSEC-GNUTLS-APP"></a>app</h1>
-<div class="REFNAMEDIV">
-<a name="AEN33687"></a><h2>Name</h2>app -- Application functions implementation for GnuTLS.</div>
-<div class="REFSECT1">
-<a name="XMLSEC-GNUTLS-APP.FUNCTIONS"></a><h2>Functions</h2>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN33692"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
+<div class="refentry">
+<a name="xmlsec-gnutls-app"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="xmlsec-gnutls-app.top_of_page"></a>app</span></h2>
+<p>app — Application functions implementation for GnuTLS.</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="xmlsec-gnutls-app.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
<tbody>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-gnutls-app.html#XMLSECGNUTLSAPPINIT">xmlSecGnuTLSAppInit</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-gnutls-app.html#xmlSecGnuTLSAppInit" title="xmlSecGnuTLSAppInit ()">xmlSecGnuTLSAppInit</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-gnutls-app.html#XMLSECGNUTLSAPPSHUTDOWN">xmlSecGnuTLSAppShutdown</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-gnutls-app.html#xmlSecGnuTLSAppShutdown" title="xmlSecGnuTLSAppShutdown ()">xmlSecGnuTLSAppShutdown</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-gnutls-app.html#XMLSECGNUTLSAPPDEFAULTKEYSMNGRINIT">xmlSecGnuTLSAppDefaultKeysMngrInit</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-gnutls-app.html#xmlSecGnuTLSAppDefaultKeysMngrInit" title="xmlSecGnuTLSAppDefaultKeysMngrInit ()">xmlSecGnuTLSAppDefaultKeysMngrInit</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-gnutls-app.html#XMLSECGNUTLSAPPDEFAULTKEYSMNGRADOPTKEY">xmlSecGnuTLSAppDefaultKeysMngrAdoptKey</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-gnutls-app.html#xmlSecGnuTLSAppDefaultKeysMngrAdoptKey" title="xmlSecGnuTLSAppDefaultKeysMngrAdoptKey ()">xmlSecGnuTLSAppDefaultKeysMngrAdoptKey</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-gnutls-app.html#XMLSECGNUTLSAPPDEFAULTKEYSMNGRLOAD">xmlSecGnuTLSAppDefaultKeysMngrLoad</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-gnutls-app.html#xmlSecGnuTLSAppDefaultKeysMngrLoad" title="xmlSecGnuTLSAppDefaultKeysMngrLoad ()">xmlSecGnuTLSAppDefaultKeysMngrLoad</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-gnutls-app.html#XMLSECGNUTLSAPPDEFAULTKEYSMNGRSAVE">xmlSecGnuTLSAppDefaultKeysMngrSave</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-gnutls-app.html#xmlSecGnuTLSAppDefaultKeysMngrSave" title="xmlSecGnuTLSAppDefaultKeysMngrSave ()">xmlSecGnuTLSAppDefaultKeysMngrSave</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-gnutls-app.html#XMLSECGNUTLSAPPKEYSMNGRCERTLOAD">xmlSecGnuTLSAppKeysMngrCertLoad</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-gnutls-app.html#xmlSecGnuTLSAppKeysMngrCertLoad" title="xmlSecGnuTLSAppKeysMngrCertLoad ()">xmlSecGnuTLSAppKeysMngrCertLoad</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-gnutls-app.html#XMLSECGNUTLSAPPKEYSMNGRCERTLOADMEMORY">xmlSecGnuTLSAppKeysMngrCertLoadMemory</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-gnutls-app.html#xmlSecGnuTLSAppKeysMngrCertLoadMemory" title="xmlSecGnuTLSAppKeysMngrCertLoadMemory ()">xmlSecGnuTLSAppKeysMngrCertLoadMemory</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a></td>
-<td>
-<a href="xmlsec-gnutls-app.html#XMLSECGNUTLSAPPKEYLOAD">xmlSecGnuTLSAppKeyLoad</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecKeyPtr</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-gnutls-app.html#xmlSecGnuTLSAppKeyLoad" title="xmlSecGnuTLSAppKeyLoad ()">xmlSecGnuTLSAppKeyLoad</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a></td>
-<td>
-<a href="xmlsec-gnutls-app.html#XMLSECGNUTLSAPPKEYLOADMEMORY">xmlSecGnuTLSAppKeyLoadMemory</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecKeyPtr</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-gnutls-app.html#xmlSecGnuTLSAppKeyLoadMemory" title="xmlSecGnuTLSAppKeyLoadMemory ()">xmlSecGnuTLSAppKeyLoadMemory</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a></td>
-<td>
-<a href="xmlsec-gnutls-app.html#XMLSECGNUTLSAPPPKCS12LOAD">xmlSecGnuTLSAppPkcs12Load</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecKeyPtr</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-gnutls-app.html#xmlSecGnuTLSAppPkcs12Load" title="xmlSecGnuTLSAppPkcs12Load ()">xmlSecGnuTLSAppPkcs12Load</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a></td>
-<td>
-<a href="xmlsec-gnutls-app.html#XMLSECGNUTLSAPPPKCS12LOADMEMORY">xmlSecGnuTLSAppPkcs12LoadMemory</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecKeyPtr</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-gnutls-app.html#xmlSecGnuTLSAppPkcs12LoadMemory" title="xmlSecGnuTLSAppPkcs12LoadMemory ()">xmlSecGnuTLSAppPkcs12LoadMemory</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-gnutls-app.html#XMLSECGNUTLSAPPKEYCERTLOAD">xmlSecGnuTLSAppKeyCertLoad</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-gnutls-app.html#xmlSecGnuTLSAppKeyCertLoad" title="xmlSecGnuTLSAppKeyCertLoad ()">xmlSecGnuTLSAppKeyCertLoad</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-gnutls-app.html#XMLSECGNUTLSAPPKEYCERTLOADMEMORY">xmlSecGnuTLSAppKeyCertLoadMemory</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-gnutls-app.html#xmlSecGnuTLSAppKeyCertLoadMemory" title="xmlSecGnuTLSAppKeyCertLoadMemory ()">xmlSecGnuTLSAppKeyCertLoadMemory</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td>
-<font><span class="RETURNVALUE">void</span></font> *</td>
-<td>
-<a href="xmlsec-gnutls-app.html#XMLSECGNUTLSAPPGETDEFAULTPWDCALLBACK">xmlSecGnuTLSAppGetDefaultPwdCallback</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">void</span></font> *
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-gnutls-app.html#xmlSecGnuTLSAppGetDefaultPwdCallback" title="xmlSecGnuTLSAppGetDefaultPwdCallback ()">xmlSecGnuTLSAppGetDefaultPwdCallback</a> <span class="c_punctuation">()</span>
</td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
-</div>
-<div class="REFSECT1">
-<a name="XMLSEC-GNUTLS-APP.DESCRIPTION"></a><h2>Description</h2>
-<p>Application functions implementation for GnuTLS.</p>
-</div>
-<div class="REFSECT1">
-<a name="XMLSEC-GNUTLS-APP.FUNCTIONS_DETAILS"></a><h2>Functions</h2>
-<div class="REFSECT2">
-<a name="XMLSECGNUTLSAPPINIT"></a><h3>xmlSecGnuTLSAppInit ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecGnuTLSAppInit (<code class="PARAMETER">const <font><span class="TYPE">char</span></font> *config</code>);</pre>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="xmlsec-gnutls-app.description"></a><h2>Description</h2>
+<p>
+Application functions implementation for GnuTLS.
+</p>
+</div>
+<div class="refsect1">
+<a name="xmlsec-gnutls-app.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="xmlSecGnuTLSAppInit"></a><h3>xmlSecGnuTLSAppInit ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecGnuTLSAppInit (<em class="parameter"><code>const <font><span class="type">char</span></font> *config</code></em>);</pre>
<p>General crypto engine initialization. This function is used
by XMLSec command line utility and called before
-<code class="PARAMETER">xmlSecInit</code>
+<em class="parameter"><code>xmlSecInit</code></em>
function.</p>
-<div class="REFSECT3">
-<a name="AEN33817"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN33819"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecGnuTLSAppInit.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>config</p></td>
-<td><p>the path to GnuTLS configuration (unused).</p></td>
-<td> </td>
+<td class="parameter_name"><p>config</p></td>
+<td class="parameter_description"><p>the path to GnuTLS configuration (unused).</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN33828"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecGnuTLSAppInit.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGNUTLSAPPSHUTDOWN"></a><h3>xmlSecGnuTLSAppShutdown ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecGnuTLSAppShutdown (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecGnuTLSAppShutdown"></a><h3>xmlSecGnuTLSAppShutdown ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecGnuTLSAppShutdown (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>General crypto engine shutdown. This function is used
by XMLSec command line utility and called after
-<code class="PARAMETER">xmlSecShutdown</code>
+<em class="parameter"><code>xmlSecShutdown</code></em>
function.</p>
-<div class="REFSECT3">
-<a name="AEN33842"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecGnuTLSAppShutdown.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGNUTLSAPPDEFAULTKEYSMNGRINIT"></a><h3>xmlSecGnuTLSAppDefaultKeysMngrInit ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecGnuTLSAppDefaultKeysMngrInit (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>);</pre>
-<p>Initializes <code class="PARAMETER">mngr</code>
- with simple keys store <a href="xmlsec-keysmngr.html#XMLSECSIMPLEKEYSSTOREID"><span class="TYPE">xmlSecSimpleKeysStoreId</span></a>
+<div class="refsect2">
+<a name="xmlSecGnuTLSAppDefaultKeysMngrInit"></a><h3>xmlSecGnuTLSAppDefaultKeysMngrInit ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecGnuTLSAppDefaultKeysMngrInit (<em class="parameter"><code><font><span class="type">xmlSecKeysMngrPtr</span></font> mngr</code></em>);</pre>
+<p>Initializes <em class="parameter"><code>mngr</code></em>
+ with simple keys store <a class="link" href="xmlsec-keysmngr.html#xmlSecSimpleKeysStoreId" title="xmlSecSimpleKeysStoreId"><span class="type">xmlSecSimpleKeysStoreId</span></a>
and a default GnuTLS crypto key data stores.</p>
-<div class="REFSECT3">
-<a name="AEN33859"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN33861"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecGnuTLSAppDefaultKeysMngrInit.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>mngr</p></td>
-<td><p>the pointer to keys manager.</p></td>
-<td> </td>
+<td class="parameter_name"><p>mngr</p></td>
+<td class="parameter_description"><p>the pointer to keys manager.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN33870"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecGnuTLSAppDefaultKeysMngrInit.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGNUTLSAPPDEFAULTKEYSMNGRADOPTKEY"></a><h3>xmlSecGnuTLSAppDefaultKeysMngrAdoptKey ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
+<div class="refsect2">
+<a name="xmlSecGnuTLSAppDefaultKeysMngrAdoptKey"></a><h3>xmlSecGnuTLSAppDefaultKeysMngrAdoptKey ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
xmlSecGnuTLSAppDefaultKeysMngrAdoptKey
- (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>,
- <code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>);</pre>
-<p>Adds <code class="PARAMETER">key</code>
- to the keys manager <code class="PARAMETER">mngr</code>
- created with <a href="xmlsec-gnutls-app.html#XMLSECGNUTLSAPPDEFAULTKEYSMNGRINIT"><span class="TYPE">xmlSecGnuTLSAppDefaultKeysMngrInit</span></a>
+ (<em class="parameter"><code><font><span class="type">xmlSecKeysMngrPtr</span></font> mngr</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlSecKeyPtr</span></font> key</code></em>);</pre>
+<p>Adds <em class="parameter"><code>key</code></em>
+ to the keys manager <em class="parameter"><code>mngr</code></em>
+ created with <a class="link" href="xmlsec-gnutls-app.html#xmlSecGnuTLSAppDefaultKeysMngrInit" title="xmlSecGnuTLSAppDefaultKeysMngrInit ()"><span class="type">xmlSecGnuTLSAppDefaultKeysMngrInit</span></a>
function.</p>
-<div class="REFSECT3">
-<a name="AEN33891"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN33893"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecGnuTLSAppDefaultKeysMngrAdoptKey.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>mngr</p></td>
-<td><p>the pointer to keys manager.</p></td>
-<td> </td>
+<td class="parameter_name"><p>mngr</p></td>
+<td class="parameter_description"><p>the pointer to keys manager.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>key</p></td>
-<td><p>the pointer to key.</p></td>
-<td> </td>
+<td class="parameter_name"><p>key</p></td>
+<td class="parameter_description"><p>the pointer to key.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN33908"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecGnuTLSAppDefaultKeysMngrAdoptKey.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGNUTLSAPPDEFAULTKEYSMNGRLOAD"></a><h3>xmlSecGnuTLSAppDefaultKeysMngrLoad ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecGnuTLSAppDefaultKeysMngrLoad (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>,
- <code class="PARAMETER">const <font><span class="TYPE">char</span></font> *uri</code>);</pre>
-<p>Loads XML keys file from <code class="PARAMETER">uri</code>
- to the keys manager <code class="PARAMETER">mngr</code>
+<div class="refsect2">
+<a name="xmlSecGnuTLSAppDefaultKeysMngrLoad"></a><h3>xmlSecGnuTLSAppDefaultKeysMngrLoad ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecGnuTLSAppDefaultKeysMngrLoad (<em class="parameter"><code><font><span class="type">xmlSecKeysMngrPtr</span></font> mngr</code></em>,
+ <em class="parameter"><code>const <font><span class="type">char</span></font> *uri</code></em>);</pre>
+<p>Loads XML keys file from <em class="parameter"><code>uri</code></em>
+ to the keys manager <em class="parameter"><code>mngr</code></em>
created
-with <a href="xmlsec-gnutls-app.html#XMLSECGNUTLSAPPDEFAULTKEYSMNGRINIT"><span class="TYPE">xmlSecGnuTLSAppDefaultKeysMngrInit</span></a> function.</p>
-<div class="REFSECT3">
-<a name="AEN33929"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN33931"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+with <a class="link" href="xmlsec-gnutls-app.html#xmlSecGnuTLSAppDefaultKeysMngrInit" title="xmlSecGnuTLSAppDefaultKeysMngrInit ()"><span class="type">xmlSecGnuTLSAppDefaultKeysMngrInit</span></a> function.</p>
+<div class="refsect3">
+<a name="xmlSecGnuTLSAppDefaultKeysMngrLoad.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>mngr</p></td>
-<td><p>the pointer to keys manager.</p></td>
-<td> </td>
+<td class="parameter_name"><p>mngr</p></td>
+<td class="parameter_description"><p>the pointer to keys manager.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>uri</p></td>
-<td><p>the uri.</p></td>
-<td> </td>
+<td class="parameter_name"><p>uri</p></td>
+<td class="parameter_description"><p>the uri.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN33946"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecGnuTLSAppDefaultKeysMngrLoad.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGNUTLSAPPDEFAULTKEYSMNGRSAVE"></a><h3>xmlSecGnuTLSAppDefaultKeysMngrSave ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecGnuTLSAppDefaultKeysMngrSave (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>,
- <code class="PARAMETER">const <font><span class="TYPE">char</span></font> *filename</code>,
- <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATATYPE"><span class="TYPE">xmlSecKeyDataType</span></a> type</code>);</pre>
-<p>Saves keys from <code class="PARAMETER">mngr</code>
+<div class="refsect2">
+<a name="xmlSecGnuTLSAppDefaultKeysMngrSave"></a><h3>xmlSecGnuTLSAppDefaultKeysMngrSave ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecGnuTLSAppDefaultKeysMngrSave (<em class="parameter"><code><font><span class="type">xmlSecKeysMngrPtr</span></font> mngr</code></em>,
+ <em class="parameter"><code>const <font><span class="type">char</span></font> *filename</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataType" title="xmlSecKeyDataType"><span class="type">xmlSecKeyDataType</span></a> type</code></em>);</pre>
+<p>Saves keys from <em class="parameter"><code>mngr</code></em>
to XML keys file.</p>
-<div class="REFSECT3">
-<a name="AEN33967"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN33969"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecGnuTLSAppDefaultKeysMngrSave.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>mngr</p></td>
-<td><p>the pointer to keys manager.</p></td>
-<td> </td>
+<td class="parameter_name"><p>mngr</p></td>
+<td class="parameter_description"><p>the pointer to keys manager.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>filename</p></td>
-<td><p>the destination filename.</p></td>
-<td> </td>
+<td class="parameter_name"><p>filename</p></td>
+<td class="parameter_description"><p>the destination filename.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>type</p></td>
-<td><p>the type of keys to save (public/private/symmetric).</p></td>
-<td> </td>
+<td class="parameter_name"><p>type</p></td>
+<td class="parameter_description"><p>the type of keys to save (public/private/symmetric).</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN33990"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecGnuTLSAppDefaultKeysMngrSave.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGNUTLSAPPKEYSMNGRCERTLOAD"></a><h3>xmlSecGnuTLSAppKeysMngrCertLoad ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecGnuTLSAppKeysMngrCertLoad (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>,
- <code class="PARAMETER">const <font><span class="TYPE">char</span></font> *filename</code>,
- <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT"><span class="TYPE">xmlSecKeyDataFormat</span></a> format</code>,
- <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATATYPE"><span class="TYPE">xmlSecKeyDataType</span></a> type</code>);</pre>
-<p>Reads cert from <code class="PARAMETER">filename</code>
+<div class="refsect2">
+<a name="xmlSecGnuTLSAppKeysMngrCertLoad"></a><h3>xmlSecGnuTLSAppKeysMngrCertLoad ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecGnuTLSAppKeysMngrCertLoad (<em class="parameter"><code><font><span class="type">xmlSecKeysMngrPtr</span></font> mngr</code></em>,
+ <em class="parameter"><code>const <font><span class="type">char</span></font> *filename</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataFormat" title="enum xmlSecKeyDataFormat"><span class="type">xmlSecKeyDataFormat</span></a> format</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataType" title="xmlSecKeyDataType"><span class="type">xmlSecKeyDataType</span></a> type</code></em>);</pre>
+<p>Reads cert from <em class="parameter"><code>filename</code></em>
and adds to the list of trusted or known
-untrusted certs in <code class="PARAMETER">store</code>
+untrusted certs in <em class="parameter"><code>store</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN34015"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN34017"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecGnuTLSAppKeysMngrCertLoad.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>mngr</p></td>
-<td><p>the keys manager.</p></td>
-<td> </td>
+<td class="parameter_name"><p>mngr</p></td>
+<td class="parameter_description"><p>the keys manager.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>filename</p></td>
-<td><p>the certificate file.</p></td>
-<td> </td>
+<td class="parameter_name"><p>filename</p></td>
+<td class="parameter_description"><p>the certificate file.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>format</p></td>
-<td><p>the certificate file format.</p></td>
-<td> </td>
+<td class="parameter_name"><p>format</p></td>
+<td class="parameter_description"><p>the certificate file format.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>type</p></td>
-<td><p>the flag that indicates is the certificate in <code class="PARAMETER">filename</code>
+<td class="parameter_name"><p>type</p></td>
+<td class="parameter_description"><p>the flag that indicates is the certificate in <em class="parameter"><code>filename</code></em>
trusted or not.</p></td>
-<td> </td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN34045"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecGnuTLSAppKeysMngrCertLoad.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGNUTLSAPPKEYSMNGRCERTLOADMEMORY"></a><h3>xmlSecGnuTLSAppKeysMngrCertLoadMemory ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecGnuTLSAppKeysMngrCertLoadMemory (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>,
- <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>,
- <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> dataSize</code>,
- <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT"><span class="TYPE">xmlSecKeyDataFormat</span></a> format</code>,
- <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATATYPE"><span class="TYPE">xmlSecKeyDataType</span></a> type</code>);</pre>
-<p>Reads cert from binary buffer <code class="PARAMETER">data</code>
+<div class="refsect2">
+<a name="xmlSecGnuTLSAppKeysMngrCertLoadMemory"></a><h3>xmlSecGnuTLSAppKeysMngrCertLoadMemory ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecGnuTLSAppKeysMngrCertLoadMemory (<em class="parameter"><code><font><span class="type">xmlSecKeysMngrPtr</span></font> mngr</code></em>,
+ <em class="parameter"><code>const <a class="link" href="xmlsec-xmlsec.html#xmlSecByte" title="xmlSecByte"><span class="type">xmlSecByte</span></a> *data</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="type">xmlSecSize</span></a> dataSize</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataFormat" title="enum xmlSecKeyDataFormat"><span class="type">xmlSecKeyDataFormat</span></a> format</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataType" title="xmlSecKeyDataType"><span class="type">xmlSecKeyDataType</span></a> type</code></em>);</pre>
+<p>Reads cert from binary buffer <em class="parameter"><code>data</code></em>
and adds to the list of trusted or known
-untrusted certs in <code class="PARAMETER">store</code>
+untrusted certs in <em class="parameter"><code>store</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN34073"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN34075"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecGnuTLSAppKeysMngrCertLoadMemory.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>mngr</p></td>
-<td><p>the keys manager.</p></td>
-<td> </td>
+<td class="parameter_name"><p>mngr</p></td>
+<td class="parameter_description"><p>the keys manager.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>data</p></td>
-<td><p>the certificate binary data.</p></td>
-<td> </td>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the certificate binary data.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>dataSize</p></td>
-<td><p>the certificate binary data size.</p></td>
-<td> </td>
+<td class="parameter_name"><p>dataSize</p></td>
+<td class="parameter_description"><p>the certificate binary data size.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>format</p></td>
-<td><p>the certificate file format.</p></td>
-<td> </td>
+<td class="parameter_name"><p>format</p></td>
+<td class="parameter_description"><p>the certificate file format.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>type</p></td>
-<td><p>the flag that indicates is the certificate trusted or not.</p></td>
-<td> </td>
+<td class="parameter_name"><p>type</p></td>
+<td class="parameter_description"><p>the flag that indicates is the certificate trusted or not.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN34108"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecGnuTLSAppKeysMngrCertLoadMemory.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGNUTLSAPPKEYLOAD"></a><h3>xmlSecGnuTLSAppKeyLoad ()</h3>
-<pre class="PROGRAMLISTING"><a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a>
-xmlSecGnuTLSAppKeyLoad (<code class="PARAMETER">const <font><span class="TYPE">char</span></font> *filename</code>,
- <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT"><span class="TYPE">xmlSecKeyDataFormat</span></a> format</code>,
- <code class="PARAMETER">const <font><span class="TYPE">char</span></font> *pwd</code>,
- <code class="PARAMETER"><font><span class="TYPE">void</span></font> *pwdCallback</code>,
- <code class="PARAMETER"><font><span class="TYPE">void</span></font> *pwdCallbackCtx</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecGnuTLSAppKeyLoad"></a><h3>xmlSecGnuTLSAppKeyLoad ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecKeyPtr</span></font>
+xmlSecGnuTLSAppKeyLoad (<em class="parameter"><code>const <font><span class="type">char</span></font> *filename</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataFormat" title="enum xmlSecKeyDataFormat"><span class="type">xmlSecKeyDataFormat</span></a> format</code></em>,
+ <em class="parameter"><code>const <font><span class="type">char</span></font> *pwd</code></em>,
+ <em class="parameter"><code><font><span class="type">void</span></font> *pwdCallback</code></em>,
+ <em class="parameter"><code><font><span class="type">void</span></font> *pwdCallbackCtx</code></em>);</pre>
<p>Reads key from the a file.</p>
-<div class="REFSECT3">
-<a name="AEN34134"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN34136"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecGnuTLSAppKeyLoad.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>filename</p></td>
-<td><p>the key filename.</p></td>
-<td> </td>
+<td class="parameter_name"><p>filename</p></td>
+<td class="parameter_description"><p>the key filename.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>format</p></td>
-<td><p>the key file format.</p></td>
-<td> </td>
+<td class="parameter_name"><p>format</p></td>
+<td class="parameter_description"><p>the key file format.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>pwd</p></td>
-<td><p>the key file password.</p></td>
-<td> </td>
+<td class="parameter_name"><p>pwd</p></td>
+<td class="parameter_description"><p>the key file password.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>pwdCallback</p></td>
-<td><p>the key password callback.</p></td>
-<td> </td>
+<td class="parameter_name"><p>pwdCallback</p></td>
+<td class="parameter_description"><p>the key password callback.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>pwdCallbackCtx</p></td>
-<td><p>the user context for password callback.</p></td>
-<td> </td>
+<td class="parameter_name"><p>pwdCallbackCtx</p></td>
+<td class="parameter_description"><p>the user context for password callback.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN34169"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecGnuTLSAppKeyLoad.returns"></a><h4>Returns</h4>
<p> pointer to the key or NULL if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGNUTLSAPPKEYLOADMEMORY"></a><h3>xmlSecGnuTLSAppKeyLoadMemory ()</h3>
-<pre class="PROGRAMLISTING"><a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a>
-xmlSecGnuTLSAppKeyLoadMemory (<code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>,
- <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> dataSize</code>,
- <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT"><span class="TYPE">xmlSecKeyDataFormat</span></a> format</code>,
- <code class="PARAMETER">const <font><span class="TYPE">char</span></font> *pwd</code>,
- <code class="PARAMETER"><font><span class="TYPE">void</span></font> *pwdCallback</code>,
- <code class="PARAMETER"><font><span class="TYPE">void</span></font> *pwdCallbackCtx</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecGnuTLSAppKeyLoadMemory"></a><h3>xmlSecGnuTLSAppKeyLoadMemory ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecKeyPtr</span></font>
+xmlSecGnuTLSAppKeyLoadMemory (<em class="parameter"><code>const <a class="link" href="xmlsec-xmlsec.html#xmlSecByte" title="xmlSecByte"><span class="type">xmlSecByte</span></a> *data</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="type">xmlSecSize</span></a> dataSize</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataFormat" title="enum xmlSecKeyDataFormat"><span class="type">xmlSecKeyDataFormat</span></a> format</code></em>,
+ <em class="parameter"><code>const <font><span class="type">char</span></font> *pwd</code></em>,
+ <em class="parameter"><code><font><span class="type">void</span></font> *pwdCallback</code></em>,
+ <em class="parameter"><code><font><span class="type">void</span></font> *pwdCallbackCtx</code></em>);</pre>
<p>Reads key from the memory buffer.</p>
-<div class="REFSECT3">
-<a name="AEN34198"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN34200"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecGnuTLSAppKeyLoadMemory.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>data</p></td>
-<td><p>the binary key data.</p></td>
-<td> </td>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the binary key data.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>dataSize</p></td>
-<td><p>the size of binary key.</p></td>
-<td> </td>
+<td class="parameter_name"><p>dataSize</p></td>
+<td class="parameter_description"><p>the size of binary key.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>format</p></td>
-<td><p>the key file format.</p></td>
-<td> </td>
+<td class="parameter_name"><p>format</p></td>
+<td class="parameter_description"><p>the key file format.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>pwd</p></td>
-<td><p>the key file password.</p></td>
-<td> </td>
+<td class="parameter_name"><p>pwd</p></td>
+<td class="parameter_description"><p>the key file password.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>pwdCallback</p></td>
-<td><p>the key password callback.</p></td>
-<td> </td>
+<td class="parameter_name"><p>pwdCallback</p></td>
+<td class="parameter_description"><p>the key password callback.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>pwdCallbackCtx</p></td>
-<td><p>the user context for password callback.</p></td>
-<td> </td>
+<td class="parameter_name"><p>pwdCallbackCtx</p></td>
+<td class="parameter_description"><p>the user context for password callback.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN34239"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecGnuTLSAppKeyLoadMemory.returns"></a><h4>Returns</h4>
<p> pointer to the key or NULL if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGNUTLSAPPPKCS12LOAD"></a><h3>xmlSecGnuTLSAppPkcs12Load ()</h3>
-<pre class="PROGRAMLISTING"><a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a>
-xmlSecGnuTLSAppPkcs12Load (<code class="PARAMETER">const <font><span class="TYPE">char</span></font> *filename</code>,
- <code class="PARAMETER">const <font><span class="TYPE">char</span></font> *pwd</code>,
- <code class="PARAMETER"><font><span class="TYPE">void</span></font> *pwdCallback</code>,
- <code class="PARAMETER"><font><span class="TYPE">void</span></font> *pwdCallbackCtx</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecGnuTLSAppPkcs12Load"></a><h3>xmlSecGnuTLSAppPkcs12Load ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecKeyPtr</span></font>
+xmlSecGnuTLSAppPkcs12Load (<em class="parameter"><code>const <font><span class="type">char</span></font> *filename</code></em>,
+ <em class="parameter"><code>const <font><span class="type">char</span></font> *pwd</code></em>,
+ <em class="parameter"><code><font><span class="type">void</span></font> *pwdCallback</code></em>,
+ <em class="parameter"><code><font><span class="type">void</span></font> *pwdCallbackCtx</code></em>);</pre>
<p>Reads key and all associated certificates from the PKCS12 file.
For uniformity, call xmlSecGnuTLSAppKeyLoad instead of this function. Pass
in format=xmlSecKeyDataFormatPkcs12.</p>
-<div class="REFSECT3">
-<a name="AEN34262"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN34264"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecGnuTLSAppPkcs12Load.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>filename</p></td>
-<td><p>the PKCS12 key filename.</p></td>
-<td> </td>
+<td class="parameter_name"><p>filename</p></td>
+<td class="parameter_description"><p>the PKCS12 key filename.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>pwd</p></td>
-<td><p>the PKCS12 file password.</p></td>
-<td> </td>
+<td class="parameter_name"><p>pwd</p></td>
+<td class="parameter_description"><p>the PKCS12 file password.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>pwdCallback</p></td>
-<td><p>the password callback.</p></td>
-<td> </td>
+<td class="parameter_name"><p>pwdCallback</p></td>
+<td class="parameter_description"><p>the password callback.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>pwdCallbackCtx</p></td>
-<td><p>the user context for password callback.</p></td>
-<td> </td>
+<td class="parameter_name"><p>pwdCallbackCtx</p></td>
+<td class="parameter_description"><p>the user context for password callback.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN34291"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecGnuTLSAppPkcs12Load.returns"></a><h4>Returns</h4>
<p> pointer to the key or NULL if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGNUTLSAPPPKCS12LOADMEMORY"></a><h3>xmlSecGnuTLSAppPkcs12LoadMemory ()</h3>
-<pre class="PROGRAMLISTING"><a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a>
-xmlSecGnuTLSAppPkcs12LoadMemory (<code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>,
- <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> dataSize</code>,
- <code class="PARAMETER">const <font><span class="TYPE">char</span></font> *pwd</code>,
- <code class="PARAMETER"><font><span class="TYPE">void</span></font> *pwdCallback</code>,
- <code class="PARAMETER"><font><span class="TYPE">void</span></font> *pwdCallbackCtx</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecGnuTLSAppPkcs12LoadMemory"></a><h3>xmlSecGnuTLSAppPkcs12LoadMemory ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecKeyPtr</span></font>
+xmlSecGnuTLSAppPkcs12LoadMemory (<em class="parameter"><code>const <a class="link" href="xmlsec-xmlsec.html#xmlSecByte" title="xmlSecByte"><span class="type">xmlSecByte</span></a> *data</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="type">xmlSecSize</span></a> dataSize</code></em>,
+ <em class="parameter"><code>const <font><span class="type">char</span></font> *pwd</code></em>,
+ <em class="parameter"><code><font><span class="type">void</span></font> *pwdCallback</code></em>,
+ <em class="parameter"><code><font><span class="type">void</span></font> *pwdCallbackCtx</code></em>);</pre>
<p>Reads key and all associated certificates from the PKCS12 data in memory buffer.
For uniformity, call xmlSecGnuTLSAppKeyLoadMemory instead of this function. Pass
in format=xmlSecKeyDataFormatPkcs12.</p>
-<div class="REFSECT3">
-<a name="AEN34317"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN34319"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecGnuTLSAppPkcs12LoadMemory.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>data</p></td>
-<td><p>the PKCS12 binary data.</p></td>
-<td> </td>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the PKCS12 binary data.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>dataSize</p></td>
-<td><p>the PKCS12 binary data size.</p></td>
-<td> </td>
+<td class="parameter_name"><p>dataSize</p></td>
+<td class="parameter_description"><p>the PKCS12 binary data size.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>pwd</p></td>
-<td><p>the PKCS12 file password.</p></td>
-<td> </td>
+<td class="parameter_name"><p>pwd</p></td>
+<td class="parameter_description"><p>the PKCS12 file password.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>pwdCallback</p></td>
-<td><p>the password callback.</p></td>
-<td> </td>
+<td class="parameter_name"><p>pwdCallback</p></td>
+<td class="parameter_description"><p>the password callback.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>pwdCallbackCtx</p></td>
-<td><p>the user context for password callback.</p></td>
-<td> </td>
+<td class="parameter_name"><p>pwdCallbackCtx</p></td>
+<td class="parameter_description"><p>the user context for password callback.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN34352"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecGnuTLSAppPkcs12LoadMemory.returns"></a><h4>Returns</h4>
<p> pointer to the key or NULL if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGNUTLSAPPKEYCERTLOAD"></a><h3>xmlSecGnuTLSAppKeyCertLoad ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecGnuTLSAppKeyCertLoad (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>,
- <code class="PARAMETER">const <font><span class="TYPE">char</span></font> *filename</code>,
- <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT"><span class="TYPE">xmlSecKeyDataFormat</span></a> format</code>);</pre>
-<p>Reads the certificate from $<code class="PARAMETER">filename</code>
+<div class="refsect2">
+<a name="xmlSecGnuTLSAppKeyCertLoad"></a><h3>xmlSecGnuTLSAppKeyCertLoad ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecGnuTLSAppKeyCertLoad (<em class="parameter"><code><font><span class="type">xmlSecKeyPtr</span></font> key</code></em>,
+ <em class="parameter"><code>const <font><span class="type">char</span></font> *filename</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataFormat" title="enum xmlSecKeyDataFormat"><span class="type">xmlSecKeyDataFormat</span></a> format</code></em>);</pre>
+<p>Reads the certificate from $<em class="parameter"><code>filename</code></em>
and adds it to key.</p>
-<div class="REFSECT3">
-<a name="AEN34373"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN34375"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecGnuTLSAppKeyCertLoad.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>key</p></td>
-<td><p>the pointer to key.</p></td>
-<td> </td>
+<td class="parameter_name"><p>key</p></td>
+<td class="parameter_description"><p>the pointer to key.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>filename</p></td>
-<td><p>the certificate filename.</p></td>
-<td> </td>
+<td class="parameter_name"><p>filename</p></td>
+<td class="parameter_description"><p>the certificate filename.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>format</p></td>
-<td><p>the certificate file format.</p></td>
-<td> </td>
+<td class="parameter_name"><p>format</p></td>
+<td class="parameter_description"><p>the certificate file format.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN34396"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecGnuTLSAppKeyCertLoad.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGNUTLSAPPKEYCERTLOADMEMORY"></a><h3>xmlSecGnuTLSAppKeyCertLoadMemory ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecGnuTLSAppKeyCertLoadMemory (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>,
- <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>,
- <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> dataSize</code>,
- <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT"><span class="TYPE">xmlSecKeyDataFormat</span></a> format</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecGnuTLSAppKeyCertLoadMemory"></a><h3>xmlSecGnuTLSAppKeyCertLoadMemory ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecGnuTLSAppKeyCertLoadMemory (<em class="parameter"><code><font><span class="type">xmlSecKeyPtr</span></font> key</code></em>,
+ <em class="parameter"><code>const <a class="link" href="xmlsec-xmlsec.html#xmlSecByte" title="xmlSecByte"><span class="type">xmlSecByte</span></a> *data</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="type">xmlSecSize</span></a> dataSize</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataFormat" title="enum xmlSecKeyDataFormat"><span class="type">xmlSecKeyDataFormat</span></a> format</code></em>);</pre>
<p>Reads the certificate from memory buffer and adds it to key.</p>
-<div class="REFSECT3">
-<a name="AEN34419"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN34421"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecGnuTLSAppKeyCertLoadMemory.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>key</p></td>
-<td><p>the pointer to key.</p></td>
-<td> </td>
+<td class="parameter_name"><p>key</p></td>
+<td class="parameter_description"><p>the pointer to key.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>data</p></td>
-<td><p>the certificate binary data.</p></td>
-<td> </td>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the certificate binary data.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>dataSize</p></td>
-<td><p>the certificate binary data size.</p></td>
-<td> </td>
+<td class="parameter_name"><p>dataSize</p></td>
+<td class="parameter_description"><p>the certificate binary data size.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>format</p></td>
-<td><p>the certificate file format.</p></td>
-<td> </td>
+<td class="parameter_name"><p>format</p></td>
+<td class="parameter_description"><p>the certificate file format.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN34448"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecGnuTLSAppKeyCertLoadMemory.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGNUTLSAPPGETDEFAULTPWDCALLBACK"></a><h3>xmlSecGnuTLSAppGetDefaultPwdCallback ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">void</span></font> *
-xmlSecGnuTLSAppGetDefaultPwdCallback (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecGnuTLSAppGetDefaultPwdCallback"></a><h3>xmlSecGnuTLSAppGetDefaultPwdCallback ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">void</span></font> *
+xmlSecGnuTLSAppGetDefaultPwdCallback (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>Gets default password callback.</p>
-<div class="REFSECT3">
-<a name="AEN34461"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecGnuTLSAppGetDefaultPwdCallback.returns"></a><h4>Returns</h4>
<p> default password callback.</p>
</div>
</div>
</div>
-<div class="REFSECT1">
-<a name="XMLSEC-GNUTLS-APP.OTHER_DETAILS"></a><h2>Types and Values</h2>
-<p></p>
+<div class="refsect1">
+<a name="xmlsec-gnutls-app.other_details"></a><h2>Types and Values</h2>
</div>
-<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td align="left"><a accesskey="p" href="xmlsec-gnutls-ref.html"><b><<< XML Security Library for GnuTLS API Reference.</b></a></td>
-<td align="right"><a accesskey="n" href="xmlsec-gnutls-crypto.html"><b>crypto >>></b></a></td>
-</tr></table>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
</td></tr></table></td>
</tr></table></body>
</html>
diff --git a/docs/api/xmlsec-gnutls-crypto.html b/docs/api/xmlsec-gnutls-crypto.html
index 4e0deb4..9f8991b 100644
--- a/docs/api/xmlsec-gnutls-crypto.html
+++ b/docs/api/xmlsec-gnutls-crypto.html
@@ -1,41 +1,14 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>crypto</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79">
-<link rel="HOME" title="XML Security Library Reference Manual" href="index.html">
-<link rel="UP" title="XML Security Library for GnuTLS API Reference." href="xmlsec-gnutls-ref.html">
-<link rel="PREVIOUS" title="app" href="xmlsec-gnutls-app.html">
-<link rel="NEXT" title="XML Security Library for GCrypt API Reference." href="xmlsec-gcrypt-ref.html">
-<style type="text/css">.synopsis, .classsynopsis {
- background: #eeeeee;
- border: solid 1px #aaaaaa;
- padding: 0.5em;
-}
-.programlisting {
- background: #eeeeff;
- border: solid 1px #aaaaff;
- padding: 0.5em;
-}
-.variablelist {
- padding: 4px;
- margin-left: 3em;
-}
-.navigation {
- background: #ffeeee;
- border: solid 1px #ffaaaa;
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
-.navigation a {
- color: #770000;
-}
-.navigation a:visited {
- color: #550000;
-}
-.navigation .title {
- font-size: 200%;
-}</style>
+<title>crypto: XML Security Library Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="XML Security Library Reference Manual">
+<link rel="up" href="xmlsec-gnutls-ref.html" title="XML Security Library for GnuTLS API Reference.">
+<link rel="prev" href="xmlsec-gnutls-app.html" title="app">
+<link rel="next" href="xmlsec-gnutls-x509.html" title="x509">
+<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
<style type="text/css">
table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
width: 20em;
@@ -100,1443 +73,1520 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
</table>
</td>
<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent">
-<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td><a accesskey="p" href="xmlsec-gnutls-app.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="xmlsec-gnutls-ref.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description"> <span class="dim">|</span>
+ <a href="#xmlsec-gnutls-crypto.description" class="shortcut">Description</a></span>
+</td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<th width="100%" align="center">XML Security Library Reference Manual</th>
-<td><a accesskey="n" href="xmlsec-gcrypt-ref.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+<td><a accesskey="u" href="xmlsec-gnutls-ref.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="xmlsec-gnutls-app.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="xmlsec-gnutls-x509.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
-<h1>
-<a name="XMLSEC-GNUTLS-CRYPTO"></a>crypto</h1>
-<div class="REFNAMEDIV">
-<a name="AEN34472"></a><h2>Name</h2>crypto -- Crypto transforms implementation for GnuTLS.</div>
-<div class="REFSECT1">
-<a name="XMLSEC-GNUTLS-CRYPTO.FUNCTIONS"></a><h2>Functions</h2>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN34477"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
+<div class="refentry">
+<a name="xmlsec-gnutls-crypto"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="xmlsec-gnutls-crypto.top_of_page"></a>crypto</span></h2>
+<p>crypto — Crypto transforms implementation for GnuTLS.</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="xmlsec-gnutls-crypto.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
<tbody>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecCryptoDLFunctionsPtr</span></font></td>
-<td>
-<a href="xmlsec-gnutls-crypto.html#XMLSECCRYPTOGETFUNCTIONS-GNUTLS">xmlSecCryptoGetFunctions_gnutls</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecCryptoDLFunctionsPtr</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-gnutls-crypto.html#xmlSecCryptoGetFunctions-gnutls" title="xmlSecCryptoGetFunctions_gnutls ()">xmlSecCryptoGetFunctions_gnutls</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSINIT">xmlSecGnuTLSInit</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSInit" title="xmlSecGnuTLSInit ()">xmlSecGnuTLSInit</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSSHUTDOWN">xmlSecGnuTLSShutdown</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSShutdown" title="xmlSecGnuTLSShutdown ()">xmlSecGnuTLSShutdown</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSKEYSMNGRINIT">xmlSecGnuTLSKeysMngrInit</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSKeysMngrInit" title="xmlSecGnuTLSKeysMngrInit ()">xmlSecGnuTLSKeysMngrInit</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSGENERATERANDOM">xmlSecGnuTLSGenerateRandom</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSGenerateRandom" title="xmlSecGnuTLSGenerateRandom ()">xmlSecGnuTLSGenerateRandom</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecKeyDataId</span></font></td>
-<td>
-<a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSKEYDATAAESGETKLASS">xmlSecGnuTLSKeyDataAesGetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecKeyDataId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSKeyDataAesGetKlass" title="xmlSecGnuTLSKeyDataAesGetKlass ()">xmlSecGnuTLSKeyDataAesGetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSKEYDATAAESSET">xmlSecGnuTLSKeyDataAesSet</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSKeyDataAesSet" title="xmlSecGnuTLSKeyDataAesSet ()">xmlSecGnuTLSKeyDataAesSet</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMAES128CBCGETKLASS">xmlSecGnuTLSTransformAes128CbcGetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSTransformAes128CbcGetKlass" title="xmlSecGnuTLSTransformAes128CbcGetKlass ()">xmlSecGnuTLSTransformAes128CbcGetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMAES192CBCGETKLASS">xmlSecGnuTLSTransformAes192CbcGetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSTransformAes192CbcGetKlass" title="xmlSecGnuTLSTransformAes192CbcGetKlass ()">xmlSecGnuTLSTransformAes192CbcGetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMAES256CBCGETKLASS">xmlSecGnuTLSTransformAes256CbcGetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSTransformAes256CbcGetKlass" title="xmlSecGnuTLSTransformAes256CbcGetKlass ()">xmlSecGnuTLSTransformAes256CbcGetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMKWAES128GETKLASS">xmlSecGnuTLSTransformKWAes128GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSTransformKWAes128GetKlass" title="xmlSecGnuTLSTransformKWAes128GetKlass ()">xmlSecGnuTLSTransformKWAes128GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMKWAES192GETKLASS">xmlSecGnuTLSTransformKWAes192GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSTransformKWAes192GetKlass" title="xmlSecGnuTLSTransformKWAes192GetKlass ()">xmlSecGnuTLSTransformKWAes192GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMKWAES256GETKLASS">xmlSecGnuTLSTransformKWAes256GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSTransformKWAes256GetKlass" title="xmlSecGnuTLSTransformKWAes256GetKlass ()">xmlSecGnuTLSTransformKWAes256GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecKeyDataId</span></font></td>
-<td>
-<a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSKEYDATADESGETKLASS">xmlSecGnuTLSKeyDataDesGetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecKeyDataId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSKeyDataDesGetKlass" title="xmlSecGnuTLSKeyDataDesGetKlass ()">xmlSecGnuTLSKeyDataDesGetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSKEYDATADESSET">xmlSecGnuTLSKeyDataDesSet</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSKeyDataDesSet" title="xmlSecGnuTLSKeyDataDesSet ()">xmlSecGnuTLSKeyDataDesSet</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMDES3CBCGETKLASS">xmlSecGnuTLSTransformDes3CbcGetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSTransformDes3CbcGetKlass" title="xmlSecGnuTLSTransformDes3CbcGetKlass ()">xmlSecGnuTLSTransformDes3CbcGetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMKWDES3GETKLASS">xmlSecGnuTLSTransformKWDes3GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSTransformKWDes3GetKlass" title="xmlSecGnuTLSTransformKWDes3GetKlass ()">xmlSecGnuTLSTransformKWDes3GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecKeyDataId</span></font></td>
-<td>
-<a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSKEYDATADSAGETKLASS">xmlSecGnuTLSKeyDataDsaGetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecKeyDataId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSKeyDataDsaGetKlass" title="xmlSecGnuTLSKeyDataDsaGetKlass ()">xmlSecGnuTLSKeyDataDsaGetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSKEYDATADSAADOPTPRIVATEKEY">xmlSecGnuTLSKeyDataDsaAdoptPrivateKey</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSKeyDataDsaAdoptPrivateKey" title="xmlSecGnuTLSKeyDataDsaAdoptPrivateKey ()">xmlSecGnuTLSKeyDataDsaAdoptPrivateKey</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSKEYDATADSAADOPTPUBLICKEY">xmlSecGnuTLSKeyDataDsaAdoptPublicKey</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSKeyDataDsaAdoptPublicKey" title="xmlSecGnuTLSKeyDataDsaAdoptPublicKey ()">xmlSecGnuTLSKeyDataDsaAdoptPublicKey</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMDSASHA1GETKLASS">xmlSecGnuTLSTransformDsaSha1GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSTransformDsaSha1GetKlass" title="xmlSecGnuTLSTransformDsaSha1GetKlass ()">xmlSecGnuTLSTransformDsaSha1GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSHMACGETMINOUTPUTLENGTH">xmlSecGnuTLSHmacGetMinOutputLength</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSHmacGetMinOutputLength" title="xmlSecGnuTLSHmacGetMinOutputLength ()">xmlSecGnuTLSHmacGetMinOutputLength</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">void</span></font></td>
-<td>
-<a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSHMACSETMINOUTPUTLENGTH">xmlSecGnuTLSHmacSetMinOutputLength</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">void</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSHmacSetMinOutputLength" title="xmlSecGnuTLSHmacSetMinOutputLength ()">xmlSecGnuTLSHmacSetMinOutputLength</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecKeyDataId</span></font></td>
-<td>
-<a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSKEYDATAHMACGETKLASS">xmlSecGnuTLSKeyDataHmacGetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecKeyDataId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSKeyDataHmacGetKlass" title="xmlSecGnuTLSKeyDataHmacGetKlass ()">xmlSecGnuTLSKeyDataHmacGetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSKEYDATAHMACSET">xmlSecGnuTLSKeyDataHmacSet</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSKeyDataHmacSet" title="xmlSecGnuTLSKeyDataHmacSet ()">xmlSecGnuTLSKeyDataHmacSet</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMHMACMD5GETKLASS">xmlSecGnuTLSTransformHmacMd5GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSTransformHmacMd5GetKlass" title="xmlSecGnuTLSTransformHmacMd5GetKlass ()">xmlSecGnuTLSTransformHmacMd5GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMHMACRIPEMD160GETKLASS">xmlSecGnuTLSTransformHmacRipemd160GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSTransformHmacRipemd160GetKlass" title="xmlSecGnuTLSTransformHmacRipemd160GetKlass ()">xmlSecGnuTLSTransformHmacRipemd160GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMHMACSHA1GETKLASS">xmlSecGnuTLSTransformHmacSha1GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSTransformHmacSha1GetKlass" title="xmlSecGnuTLSTransformHmacSha1GetKlass ()">xmlSecGnuTLSTransformHmacSha1GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMHMACSHA256GETKLASS">xmlSecGnuTLSTransformHmacSha256GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSTransformHmacSha256GetKlass" title="xmlSecGnuTLSTransformHmacSha256GetKlass ()">xmlSecGnuTLSTransformHmacSha256GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMHMACSHA384GETKLASS">xmlSecGnuTLSTransformHmacSha384GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSTransformHmacSha384GetKlass" title="xmlSecGnuTLSTransformHmacSha384GetKlass ()">xmlSecGnuTLSTransformHmacSha384GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMHMACSHA512GETKLASS">xmlSecGnuTLSTransformHmacSha512GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSTransformHmacSha512GetKlass" title="xmlSecGnuTLSTransformHmacSha512GetKlass ()">xmlSecGnuTLSTransformHmacSha512GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecKeyDataId</span></font></td>
-<td>
-<a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSKEYDATARSAGETKLASS">xmlSecGnuTLSKeyDataRsaGetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecKeyDataId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSKeyDataRsaGetKlass" title="xmlSecGnuTLSKeyDataRsaGetKlass ()">xmlSecGnuTLSKeyDataRsaGetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSKEYDATARSAADOPTPRIVATEKEY">xmlSecGnuTLSKeyDataRsaAdoptPrivateKey</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSKeyDataRsaAdoptPrivateKey" title="xmlSecGnuTLSKeyDataRsaAdoptPrivateKey ()">xmlSecGnuTLSKeyDataRsaAdoptPrivateKey</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSKEYDATARSAADOPTPUBLICKEY">xmlSecGnuTLSKeyDataRsaAdoptPublicKey</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSKeyDataRsaAdoptPublicKey" title="xmlSecGnuTLSKeyDataRsaAdoptPublicKey ()">xmlSecGnuTLSKeyDataRsaAdoptPublicKey</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMRSAMD5GETKLASS">xmlSecGnuTLSTransformRsaMd5GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSTransformRsaMd5GetKlass" title="xmlSecGnuTLSTransformRsaMd5GetKlass ()">xmlSecGnuTLSTransformRsaMd5GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMRSARIPEMD160GETKLASS">xmlSecGnuTLSTransformRsaRipemd160GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSTransformRsaRipemd160GetKlass" title="xmlSecGnuTLSTransformRsaRipemd160GetKlass ()">xmlSecGnuTLSTransformRsaRipemd160GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMRSASHA1GETKLASS">xmlSecGnuTLSTransformRsaSha1GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSTransformRsaSha1GetKlass" title="xmlSecGnuTLSTransformRsaSha1GetKlass ()">xmlSecGnuTLSTransformRsaSha1GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMRSASHA256GETKLASS">xmlSecGnuTLSTransformRsaSha256GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSTransformRsaSha256GetKlass" title="xmlSecGnuTLSTransformRsaSha256GetKlass ()">xmlSecGnuTLSTransformRsaSha256GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMRSASHA384GETKLASS">xmlSecGnuTLSTransformRsaSha384GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSTransformRsaSha384GetKlass" title="xmlSecGnuTLSTransformRsaSha384GetKlass ()">xmlSecGnuTLSTransformRsaSha384GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMRSASHA512GETKLASS">xmlSecGnuTLSTransformRsaSha512GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSTransformRsaSha512GetKlass" title="xmlSecGnuTLSTransformRsaSha512GetKlass ()">xmlSecGnuTLSTransformRsaSha512GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMSHA1GETKLASS">xmlSecGnuTLSTransformSha1GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSTransformSha1GetKlass" title="xmlSecGnuTLSTransformSha1GetKlass ()">xmlSecGnuTLSTransformSha1GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMSHA256GETKLASS">xmlSecGnuTLSTransformSha256GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSTransformSha256GetKlass" title="xmlSecGnuTLSTransformSha256GetKlass ()">xmlSecGnuTLSTransformSha256GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMSHA384GETKLASS">xmlSecGnuTLSTransformSha384GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSTransformSha384GetKlass" title="xmlSecGnuTLSTransformSha384GetKlass ()">xmlSecGnuTLSTransformSha384GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMSHA512GETKLASS">xmlSecGnuTLSTransformSha512GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSTransformSha512GetKlass" title="xmlSecGnuTLSTransformSha512GetKlass ()">xmlSecGnuTLSTransformSha512GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMMD5GETKLASS">xmlSecGnuTLSTransformMd5GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSTransformMd5GetKlass" title="xmlSecGnuTLSTransformMd5GetKlass ()">xmlSecGnuTLSTransformMd5GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMRIPEMD160GETKLASS">xmlSecGnuTLSTransformRipemd160GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSTransformRipemd160GetKlass" title="xmlSecGnuTLSTransformRipemd160GetKlass ()">xmlSecGnuTLSTransformRipemd160GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
-</div>
-<div class="REFSECT1">
-<a name="XMLSEC-GNUTLS-CRYPTO.OTHER"></a><h2>Types and Values</h2>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN34804"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="xmlsec-gnutls-crypto.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
<tbody>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSKEYDATAAESID">xmlSecGnuTLSKeyDataAesId</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSKeyDataAesId" title="xmlSecGnuTLSKeyDataAesId">xmlSecGnuTLSKeyDataAesId</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMAES128CBCID">xmlSecGnuTLSTransformAes128CbcId</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSTransformAes128CbcId" title="xmlSecGnuTLSTransformAes128CbcId">xmlSecGnuTLSTransformAes128CbcId</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMAES192CBCID">xmlSecGnuTLSTransformAes192CbcId</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSTransformAes192CbcId" title="xmlSecGnuTLSTransformAes192CbcId">xmlSecGnuTLSTransformAes192CbcId</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMAES256CBCID">xmlSecGnuTLSTransformAes256CbcId</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSTransformAes256CbcId" title="xmlSecGnuTLSTransformAes256CbcId">xmlSecGnuTLSTransformAes256CbcId</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMKWAES128ID">xmlSecGnuTLSTransformKWAes128Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSTransformKWAes128Id" title="xmlSecGnuTLSTransformKWAes128Id">xmlSecGnuTLSTransformKWAes128Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMKWAES192ID">xmlSecGnuTLSTransformKWAes192Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSTransformKWAes192Id" title="xmlSecGnuTLSTransformKWAes192Id">xmlSecGnuTLSTransformKWAes192Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMKWAES256ID">xmlSecGnuTLSTransformKWAes256Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSTransformKWAes256Id" title="xmlSecGnuTLSTransformKWAes256Id">xmlSecGnuTLSTransformKWAes256Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSKEYDATADESID">xmlSecGnuTLSKeyDataDesId</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSKeyDataDesId" title="xmlSecGnuTLSKeyDataDesId">xmlSecGnuTLSKeyDataDesId</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMDES3CBCID">xmlSecGnuTLSTransformDes3CbcId</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSTransformDes3CbcId" title="xmlSecGnuTLSTransformDes3CbcId">xmlSecGnuTLSTransformDes3CbcId</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMKWDES3ID">xmlSecGnuTLSTransformKWDes3Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSTransformKWDes3Id" title="xmlSecGnuTLSTransformKWDes3Id">xmlSecGnuTLSTransformKWDes3Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSKEYDATADSAID">xmlSecGnuTLSKeyDataDsaId</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSKeyDataDsaId" title="xmlSecGnuTLSKeyDataDsaId">xmlSecGnuTLSKeyDataDsaId</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMDSASHA1ID">xmlSecGnuTLSTransformDsaSha1Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSTransformDsaSha1Id" title="xmlSecGnuTLSTransformDsaSha1Id">xmlSecGnuTLSTransformDsaSha1Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSKEYDATAHMACID">xmlSecGnuTLSKeyDataHmacId</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSKeyDataHmacId" title="xmlSecGnuTLSKeyDataHmacId">xmlSecGnuTLSKeyDataHmacId</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMHMACMD5ID">xmlSecGnuTLSTransformHmacMd5Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSTransformHmacMd5Id" title="xmlSecGnuTLSTransformHmacMd5Id">xmlSecGnuTLSTransformHmacMd5Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMHMACRIPEMD160ID">xmlSecGnuTLSTransformHmacRipemd160Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSTransformHmacRipemd160Id" title="xmlSecGnuTLSTransformHmacRipemd160Id">xmlSecGnuTLSTransformHmacRipemd160Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMHMACSHA1ID">xmlSecGnuTLSTransformHmacSha1Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSTransformHmacSha1Id" title="xmlSecGnuTLSTransformHmacSha1Id">xmlSecGnuTLSTransformHmacSha1Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMHMACSHA256ID">xmlSecGnuTLSTransformHmacSha256Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSTransformHmacSha256Id" title="xmlSecGnuTLSTransformHmacSha256Id">xmlSecGnuTLSTransformHmacSha256Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMHMACSHA384ID">xmlSecGnuTLSTransformHmacSha384Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSTransformHmacSha384Id" title="xmlSecGnuTLSTransformHmacSha384Id">xmlSecGnuTLSTransformHmacSha384Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMHMACSHA512ID">xmlSecGnuTLSTransformHmacSha512Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSTransformHmacSha512Id" title="xmlSecGnuTLSTransformHmacSha512Id">xmlSecGnuTLSTransformHmacSha512Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSKEYDATARSAID">xmlSecGnuTLSKeyDataRsaId</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSKeyDataRsaId" title="xmlSecGnuTLSKeyDataRsaId">xmlSecGnuTLSKeyDataRsaId</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMRSAMD5ID">xmlSecGnuTLSTransformRsaMd5Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSTransformRsaMd5Id" title="xmlSecGnuTLSTransformRsaMd5Id">xmlSecGnuTLSTransformRsaMd5Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMRSARIPEMD160ID">xmlSecGnuTLSTransformRsaRipemd160Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSTransformRsaRipemd160Id" title="xmlSecGnuTLSTransformRsaRipemd160Id">xmlSecGnuTLSTransformRsaRipemd160Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMRSASHA1ID">xmlSecGnuTLSTransformRsaSha1Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSTransformRsaSha1Id" title="xmlSecGnuTLSTransformRsaSha1Id">xmlSecGnuTLSTransformRsaSha1Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMRSASHA256ID">xmlSecGnuTLSTransformRsaSha256Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSTransformRsaSha256Id" title="xmlSecGnuTLSTransformRsaSha256Id">xmlSecGnuTLSTransformRsaSha256Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMRSASHA384ID">xmlSecGnuTLSTransformRsaSha384Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSTransformRsaSha384Id" title="xmlSecGnuTLSTransformRsaSha384Id">xmlSecGnuTLSTransformRsaSha384Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMRSASHA512ID">xmlSecGnuTLSTransformRsaSha512Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSTransformRsaSha512Id" title="xmlSecGnuTLSTransformRsaSha512Id">xmlSecGnuTLSTransformRsaSha512Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMSHA1ID">xmlSecGnuTLSTransformSha1Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSTransformSha1Id" title="xmlSecGnuTLSTransformSha1Id">xmlSecGnuTLSTransformSha1Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMSHA256ID">xmlSecGnuTLSTransformSha256Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSTransformSha256Id" title="xmlSecGnuTLSTransformSha256Id">xmlSecGnuTLSTransformSha256Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMSHA384ID">xmlSecGnuTLSTransformSha384Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSTransformSha384Id" title="xmlSecGnuTLSTransformSha384Id">xmlSecGnuTLSTransformSha384Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMSHA512ID">xmlSecGnuTLSTransformSha512Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSTransformSha512Id" title="xmlSecGnuTLSTransformSha512Id">xmlSecGnuTLSTransformSha512Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMMD5ID">xmlSecGnuTLSTransformMd5Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSTransformMd5Id" title="xmlSecGnuTLSTransformMd5Id">xmlSecGnuTLSTransformMd5Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMRIPEMD160ID">xmlSecGnuTLSTransformRipemd160Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSTransformRipemd160Id" title="xmlSecGnuTLSTransformRipemd160Id">xmlSecGnuTLSTransformRipemd160Id</a></td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
-</div>
-<div class="REFSECT1">
-<a name="XMLSEC-GNUTLS-CRYPTO.DESCRIPTION"></a><h2>Description</h2>
-<p>Crypto transforms implementation for GnuTLS.</p>
-</div>
-<div class="REFSECT1">
-<a name="XMLSEC-GNUTLS-CRYPTO.FUNCTIONS_DETAILS"></a><h2>Functions</h2>
-<div class="REFSECT2">
-<a name="XMLSECCRYPTOGETFUNCTIONS-GNUTLS"></a><h3>xmlSecCryptoGetFunctions_gnutls ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecCryptoDLFunctionsPtr</span></font>
-xmlSecCryptoGetFunctions_gnutls (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="xmlsec-gnutls-crypto.description"></a><h2>Description</h2>
+<p>
+Crypto transforms implementation for GnuTLS.
+</p>
+</div>
+<div class="refsect1">
+<a name="xmlsec-gnutls-crypto.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="xmlSecCryptoGetFunctions-gnutls"></a><h3>xmlSecCryptoGetFunctions_gnutls ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecCryptoDLFunctionsPtr</span></font>
+xmlSecCryptoGetFunctions_gnutls (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>Gets the pointer to xmlsec-gnutls functions table.</p>
-<div class="REFSECT3">
-<a name="AEN34950"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecCryptoGetFunctions-gnutls.returns"></a><h4>Returns</h4>
<p> the xmlsec-gnutls functions table or NULL if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGNUTLSINIT"></a><h3>xmlSecGnuTLSInit ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecGnuTLSInit (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecGnuTLSInit"></a><h3>xmlSecGnuTLSInit ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecGnuTLSInit (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>XMLSec library specific crypto engine initialization.</p>
-<div class="REFSECT3">
-<a name="AEN34963"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecGnuTLSInit.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGNUTLSSHUTDOWN"></a><h3>xmlSecGnuTLSShutdown ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecGnuTLSShutdown (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecGnuTLSShutdown"></a><h3>xmlSecGnuTLSShutdown ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecGnuTLSShutdown (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>XMLSec library specific crypto engine shutdown.</p>
-<div class="REFSECT3">
-<a name="AEN34976"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecGnuTLSShutdown.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGNUTLSKEYSMNGRINIT"></a><h3>xmlSecGnuTLSKeysMngrInit ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecGnuTLSKeysMngrInit (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecGnuTLSKeysMngrInit"></a><h3>xmlSecGnuTLSKeysMngrInit ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecGnuTLSKeysMngrInit (<em class="parameter"><code><font><span class="type">xmlSecKeysMngrPtr</span></font> mngr</code></em>);</pre>
<p>Adds GnuTLS specific key data stores in keys manager.</p>
-<div class="REFSECT3">
-<a name="AEN34990"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN34992"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecGnuTLSKeysMngrInit.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>mngr</p></td>
-<td><p>the pointer to keys manager.</p></td>
-<td> </td>
+<td class="parameter_name"><p>mngr</p></td>
+<td class="parameter_description"><p>the pointer to keys manager.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN35001"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecGnuTLSKeysMngrInit.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGNUTLSGENERATERANDOM"></a><h3>xmlSecGnuTLSGenerateRandom ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecGnuTLSGenerateRandom (<code class="PARAMETER"><a href="xmlsec-buffer.html#XMLSECBUFFER"><span class="TYPE">xmlSecBufferPtr</span></a> buffer</code>,
- <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> size</code>);</pre>
-<p>Generates <code class="PARAMETER">size</code>
- random bytes and puts result in <code class="PARAMETER">buffer</code>
+<div class="refsect2">
+<a name="xmlSecGnuTLSGenerateRandom"></a><h3>xmlSecGnuTLSGenerateRandom ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecGnuTLSGenerateRandom (<em class="parameter"><code><font><span class="type">xmlSecBufferPtr</span></font> buffer</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="type">xmlSecSize</span></a> size</code></em>);</pre>
+<p>Generates <em class="parameter"><code>size</code></em>
+ random bytes and puts result in <em class="parameter"><code>buffer</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN35020"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN35022"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecGnuTLSGenerateRandom.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>buffer</p></td>
-<td><p>the destination buffer.</p></td>
-<td> </td>
+<td class="parameter_name"><p>buffer</p></td>
+<td class="parameter_description"><p>the destination buffer.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>size</p></td>
-<td><p>the numer of bytes to generate.</p></td>
-<td> </td>
+<td class="parameter_name"><p>size</p></td>
+<td class="parameter_description"><p>the numer of bytes to generate.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN35037"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecGnuTLSGenerateRandom.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGNUTLSKEYDATAAESGETKLASS"></a><h3>xmlSecGnuTLSKeyDataAesGetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecKeyDataId</span></font>
-xmlSecGnuTLSKeyDataAesGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecGnuTLSKeyDataAesGetKlass"></a><h3>xmlSecGnuTLSKeyDataAesGetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecKeyDataId</span></font>
+xmlSecGnuTLSKeyDataAesGetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The AES key data klass.</p>
-<div class="REFSECT3">
-<a name="AEN35050"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecGnuTLSKeyDataAesGetKlass.returns"></a><h4>Returns</h4>
<p> AES key data klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGNUTLSKEYDATAAESSET"></a><h3>xmlSecGnuTLSKeyDataAesSet ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecGnuTLSKeyDataAesSet (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>,
- <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *buf</code>,
- <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> bufSize</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecGnuTLSKeyDataAesSet"></a><h3>xmlSecGnuTLSKeyDataAesSet ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecGnuTLSKeyDataAesSet (<em class="parameter"><code><font><span class="type">xmlSecKeyDataPtr</span></font> data</code></em>,
+ <em class="parameter"><code>const <a class="link" href="xmlsec-xmlsec.html#xmlSecByte" title="xmlSecByte"><span class="type">xmlSecByte</span></a> *buf</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="type">xmlSecSize</span></a> bufSize</code></em>);</pre>
<p>Sets the value of AES key data.</p>
-<div class="REFSECT3">
-<a name="AEN35070"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN35072"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecGnuTLSKeyDataAesSet.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>data</p></td>
-<td><p>the pointer to AES key data.</p></td>
-<td> </td>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the pointer to AES key data.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>buf</p></td>
-<td><p>the pointer to key value.</p></td>
-<td> </td>
+<td class="parameter_name"><p>buf</p></td>
+<td class="parameter_description"><p>the pointer to key value.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>bufSize</p></td>
-<td><p>the key value size (in bytes).</p></td>
-<td> </td>
+<td class="parameter_name"><p>bufSize</p></td>
+<td class="parameter_description"><p>the key value size (in bytes).</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN35093"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecGnuTLSKeyDataAesSet.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGNUTLSTRANSFORMAES128CBCGETKLASS"></a><h3>xmlSecGnuTLSTransformAes128CbcGetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
+<div class="refsect2">
+<a name="xmlSecGnuTLSTransformAes128CbcGetKlass"></a><h3>xmlSecGnuTLSTransformAes128CbcGetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
xmlSecGnuTLSTransformAes128CbcGetKlass
- (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+ (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>AES 128 CBC encryption transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN35106"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecGnuTLSTransformAes128CbcGetKlass.returns"></a><h4>Returns</h4>
<p> pointer to AES 128 CBC encryption transform.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGNUTLSTRANSFORMAES192CBCGETKLASS"></a><h3>xmlSecGnuTLSTransformAes192CbcGetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
+<div class="refsect2">
+<a name="xmlSecGnuTLSTransformAes192CbcGetKlass"></a><h3>xmlSecGnuTLSTransformAes192CbcGetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
xmlSecGnuTLSTransformAes192CbcGetKlass
- (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+ (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>AES 192 CBC encryption transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN35119"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecGnuTLSTransformAes192CbcGetKlass.returns"></a><h4>Returns</h4>
<p> pointer to AES 192 CBC encryption transform.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGNUTLSTRANSFORMAES256CBCGETKLASS"></a><h3>xmlSecGnuTLSTransformAes256CbcGetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
+<div class="refsect2">
+<a name="xmlSecGnuTLSTransformAes256CbcGetKlass"></a><h3>xmlSecGnuTLSTransformAes256CbcGetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
xmlSecGnuTLSTransformAes256CbcGetKlass
- (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+ (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>AES 256 CBC encryption transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN35132"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecGnuTLSTransformAes256CbcGetKlass.returns"></a><h4>Returns</h4>
<p> pointer to AES 256 CBC encryption transform.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGNUTLSTRANSFORMKWAES128GETKLASS"></a><h3>xmlSecGnuTLSTransformKWAes128GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
-xmlSecGnuTLSTransformKWAes128GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecGnuTLSTransformKWAes128GetKlass"></a><h3>xmlSecGnuTLSTransformKWAes128GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
+xmlSecGnuTLSTransformKWAes128GetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The AES-128 kew wrapper transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN35145"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecGnuTLSTransformKWAes128GetKlass.returns"></a><h4>Returns</h4>
<p> AES-128 kew wrapper transform klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGNUTLSTRANSFORMKWAES192GETKLASS"></a><h3>xmlSecGnuTLSTransformKWAes192GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
-xmlSecGnuTLSTransformKWAes192GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecGnuTLSTransformKWAes192GetKlass"></a><h3>xmlSecGnuTLSTransformKWAes192GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
+xmlSecGnuTLSTransformKWAes192GetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The AES-192 kew wrapper transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN35158"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecGnuTLSTransformKWAes192GetKlass.returns"></a><h4>Returns</h4>
<p> AES-192 kew wrapper transform klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGNUTLSTRANSFORMKWAES256GETKLASS"></a><h3>xmlSecGnuTLSTransformKWAes256GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
-xmlSecGnuTLSTransformKWAes256GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecGnuTLSTransformKWAes256GetKlass"></a><h3>xmlSecGnuTLSTransformKWAes256GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
+xmlSecGnuTLSTransformKWAes256GetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The AES-256 kew wrapper transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN35171"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecGnuTLSTransformKWAes256GetKlass.returns"></a><h4>Returns</h4>
<p> AES-256 kew wrapper transform klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGNUTLSKEYDATADESGETKLASS"></a><h3>xmlSecGnuTLSKeyDataDesGetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecKeyDataId</span></font>
-xmlSecGnuTLSKeyDataDesGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecGnuTLSKeyDataDesGetKlass"></a><h3>xmlSecGnuTLSKeyDataDesGetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecKeyDataId</span></font>
+xmlSecGnuTLSKeyDataDesGetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The DES key data klass.</p>
-<div class="REFSECT3">
-<a name="AEN35184"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecGnuTLSKeyDataDesGetKlass.returns"></a><h4>Returns</h4>
<p> DES key data klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGNUTLSKEYDATADESSET"></a><h3>xmlSecGnuTLSKeyDataDesSet ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecGnuTLSKeyDataDesSet (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>,
- <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *buf</code>,
- <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> bufSize</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecGnuTLSKeyDataDesSet"></a><h3>xmlSecGnuTLSKeyDataDesSet ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecGnuTLSKeyDataDesSet (<em class="parameter"><code><font><span class="type">xmlSecKeyDataPtr</span></font> data</code></em>,
+ <em class="parameter"><code>const <a class="link" href="xmlsec-xmlsec.html#xmlSecByte" title="xmlSecByte"><span class="type">xmlSecByte</span></a> *buf</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="type">xmlSecSize</span></a> bufSize</code></em>);</pre>
<p>Sets the value of DES key data.</p>
-<div class="REFSECT3">
-<a name="AEN35204"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN35206"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecGnuTLSKeyDataDesSet.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>data</p></td>
-<td><p>the pointer to DES key data.</p></td>
-<td> </td>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the pointer to DES key data.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>buf</p></td>
-<td><p>the pointer to key value.</p></td>
-<td> </td>
+<td class="parameter_name"><p>buf</p></td>
+<td class="parameter_description"><p>the pointer to key value.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>bufSize</p></td>
-<td><p>the key value size (in bytes).</p></td>
-<td> </td>
+<td class="parameter_name"><p>bufSize</p></td>
+<td class="parameter_description"><p>the key value size (in bytes).</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN35227"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecGnuTLSKeyDataDesSet.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGNUTLSTRANSFORMDES3CBCGETKLASS"></a><h3>xmlSecGnuTLSTransformDes3CbcGetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
-xmlSecGnuTLSTransformDes3CbcGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecGnuTLSTransformDes3CbcGetKlass"></a><h3>xmlSecGnuTLSTransformDes3CbcGetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
+xmlSecGnuTLSTransformDes3CbcGetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>Triple DES CBC encryption transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN35240"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecGnuTLSTransformDes3CbcGetKlass.returns"></a><h4>Returns</h4>
<p> pointer to Triple DES encryption transform.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGNUTLSTRANSFORMKWDES3GETKLASS"></a><h3>xmlSecGnuTLSTransformKWDes3GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
-xmlSecGnuTLSTransformKWDes3GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecGnuTLSTransformKWDes3GetKlass"></a><h3>xmlSecGnuTLSTransformKWDes3GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
+xmlSecGnuTLSTransformKWDes3GetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The Triple DES key wrapper transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN35253"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecGnuTLSTransformKWDes3GetKlass.returns"></a><h4>Returns</h4>
<p> Triple DES key wrapper transform klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGNUTLSKEYDATADSAGETKLASS"></a><h3>xmlSecGnuTLSKeyDataDsaGetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecKeyDataId</span></font>
-xmlSecGnuTLSKeyDataDsaGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecGnuTLSKeyDataDsaGetKlass"></a><h3>xmlSecGnuTLSKeyDataDsaGetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecKeyDataId</span></font>
+xmlSecGnuTLSKeyDataDsaGetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The DSA key data klass.</p>
-<div class="REFSECT3">
-<a name="AEN35266"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecGnuTLSKeyDataDsaGetKlass.returns"></a><h4>Returns</h4>
<p> pointer to DSA key data klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGNUTLSKEYDATADSAADOPTPRIVATEKEY"></a><h3>xmlSecGnuTLSKeyDataDsaAdoptPrivateKey ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecGnuTLSKeyDataDsaAdoptPrivateKey (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>,
- <code class="PARAMETER"><font><span class="TYPE">gnutls_x509_privkey_t</span></font> dsa_key</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecGnuTLSKeyDataDsaAdoptPrivateKey"></a><h3>xmlSecGnuTLSKeyDataDsaAdoptPrivateKey ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecGnuTLSKeyDataDsaAdoptPrivateKey (<em class="parameter"><code><font><span class="type">xmlSecKeyDataPtr</span></font> data</code></em>,
+ <em class="parameter"><code><font><span class="type">gnutls_x509_privkey_t</span></font> dsa_key</code></em>);</pre>
<p>Sets the value of DSA key data.</p>
-<div class="REFSECT3">
-<a name="AEN35283"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN35285"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecGnuTLSKeyDataDsaAdoptPrivateKey.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>data</p></td>
-<td><p>the pointer to DSA key data.</p></td>
-<td> </td>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the pointer to DSA key data.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>dsa_key</p></td>
-<td><p>the pointer to GnuTLS DSA private key.</p></td>
-<td> </td>
+<td class="parameter_name"><p>dsa_key</p></td>
+<td class="parameter_description"><p>the pointer to GnuTLS DSA private key.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN35300"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecGnuTLSKeyDataDsaAdoptPrivateKey.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGNUTLSKEYDATADSAADOPTPUBLICKEY"></a><h3>xmlSecGnuTLSKeyDataDsaAdoptPublicKey ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecGnuTLSKeyDataDsaAdoptPublicKey (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>,
- <code class="PARAMETER"><font><span class="TYPE">gnutls_datum_t</span></font> *p</code>,
- <code class="PARAMETER"><font><span class="TYPE">gnutls_datum_t</span></font> *q</code>,
- <code class="PARAMETER"><font><span class="TYPE">gnutls_datum_t</span></font> *g</code>,
- <code class="PARAMETER"><font><span class="TYPE">gnutls_datum_t</span></font> *y</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecGnuTLSKeyDataDsaAdoptPublicKey"></a><h3>xmlSecGnuTLSKeyDataDsaAdoptPublicKey ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecGnuTLSKeyDataDsaAdoptPublicKey (<em class="parameter"><code><font><span class="type">xmlSecKeyDataPtr</span></font> data</code></em>,
+ <em class="parameter"><code><font><span class="type">gnutls_datum_t</span></font> *p</code></em>,
+ <em class="parameter"><code><font><span class="type">gnutls_datum_t</span></font> *q</code></em>,
+ <em class="parameter"><code><font><span class="type">gnutls_datum_t</span></font> *g</code></em>,
+ <em class="parameter"><code><font><span class="type">gnutls_datum_t</span></font> *y</code></em>);</pre>
<p>Sets the value of DSA key data.</p>
-<div class="REFSECT3">
-<a name="AEN35326"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN35328"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecGnuTLSKeyDataDsaAdoptPublicKey.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>data</p></td>
-<td><p>the pointer to DSA key data.</p></td>
-<td> </td>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the pointer to DSA key data.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>p</p></td>
-<td><p>the pointer to p component of the DSA public key</p></td>
-<td> </td>
+<td class="parameter_name"><p>p</p></td>
+<td class="parameter_description"><p>the pointer to p component of the DSA public key</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>q</p></td>
-<td><p>the pointer to q component of the DSA public key</p></td>
-<td> </td>
+<td class="parameter_name"><p>q</p></td>
+<td class="parameter_description"><p>the pointer to q component of the DSA public key</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>g</p></td>
-<td><p>the pointer to g component of the DSA public key</p></td>
-<td> </td>
+<td class="parameter_name"><p>g</p></td>
+<td class="parameter_description"><p>the pointer to g component of the DSA public key</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>y</p></td>
-<td><p>the pointer to y component of the DSA public key</p></td>
-<td> </td>
+<td class="parameter_name"><p>y</p></td>
+<td class="parameter_description"><p>the pointer to y component of the DSA public key</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN35361"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecGnuTLSKeyDataDsaAdoptPublicKey.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGNUTLSTRANSFORMDSASHA1GETKLASS"></a><h3>xmlSecGnuTLSTransformDsaSha1GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
-xmlSecGnuTLSTransformDsaSha1GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecGnuTLSTransformDsaSha1GetKlass"></a><h3>xmlSecGnuTLSTransformDsaSha1GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
+xmlSecGnuTLSTransformDsaSha1GetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The DSA-SHA1 signature transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN35374"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecGnuTLSTransformDsaSha1GetKlass.returns"></a><h4>Returns</h4>
<p> DSA-SHA1 signature transform klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGNUTLSHMACGETMINOUTPUTLENGTH"></a><h3>xmlSecGnuTLSHmacGetMinOutputLength ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecGnuTLSHmacGetMinOutputLength (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecGnuTLSHmacGetMinOutputLength"></a><h3>xmlSecGnuTLSHmacGetMinOutputLength ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecGnuTLSHmacGetMinOutputLength (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>Gets the value of min HMAC length.</p>
-<div class="REFSECT3">
-<a name="AEN35387"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecGnuTLSHmacGetMinOutputLength.returns"></a><h4>Returns</h4>
<p> the min HMAC output length</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGNUTLSHMACSETMINOUTPUTLENGTH"></a><h3>xmlSecGnuTLSHmacSetMinOutputLength ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">void</span></font>
-xmlSecGnuTLSHmacSetMinOutputLength (<code class="PARAMETER"><font><span class="TYPE">int</span></font> min_length</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecGnuTLSHmacSetMinOutputLength"></a><h3>xmlSecGnuTLSHmacSetMinOutputLength ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">void</span></font>
+xmlSecGnuTLSHmacSetMinOutputLength (<em class="parameter"><code><font><span class="type">int</span></font> min_length</code></em>);</pre>
<p>Sets the min HMAC output length</p>
-<div class="REFSECT3">
-<a name="AEN35401"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN35403"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecGnuTLSHmacSetMinOutputLength.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>min_length</p></td>
-<td><p>the new min length</p></td>
-<td> </td>
+<td class="parameter_name"><p>min_length</p></td>
+<td class="parameter_description"><p>the new min length</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGNUTLSKEYDATAHMACGETKLASS"></a><h3>xmlSecGnuTLSKeyDataHmacGetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecKeyDataId</span></font>
-xmlSecGnuTLSKeyDataHmacGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecGnuTLSKeyDataHmacGetKlass"></a><h3>xmlSecGnuTLSKeyDataHmacGetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecKeyDataId</span></font>
+xmlSecGnuTLSKeyDataHmacGetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The HMAC key data klass.</p>
-<div class="REFSECT3">
-<a name="AEN35422"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecGnuTLSKeyDataHmacGetKlass.returns"></a><h4>Returns</h4>
<p> HMAC key data klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGNUTLSKEYDATAHMACSET"></a><h3>xmlSecGnuTLSKeyDataHmacSet ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecGnuTLSKeyDataHmacSet (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>,
- <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *buf</code>,
- <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> bufSize</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecGnuTLSKeyDataHmacSet"></a><h3>xmlSecGnuTLSKeyDataHmacSet ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecGnuTLSKeyDataHmacSet (<em class="parameter"><code><font><span class="type">xmlSecKeyDataPtr</span></font> data</code></em>,
+ <em class="parameter"><code>const <a class="link" href="xmlsec-xmlsec.html#xmlSecByte" title="xmlSecByte"><span class="type">xmlSecByte</span></a> *buf</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="type">xmlSecSize</span></a> bufSize</code></em>);</pre>
<p>Sets the value of HMAC key data.</p>
-<div class="REFSECT3">
-<a name="AEN35442"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN35444"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecGnuTLSKeyDataHmacSet.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>data</p></td>
-<td><p>the pointer to HMAC key data.</p></td>
-<td> </td>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the pointer to HMAC key data.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>buf</p></td>
-<td><p>the pointer to key value.</p></td>
-<td> </td>
+<td class="parameter_name"><p>buf</p></td>
+<td class="parameter_description"><p>the pointer to key value.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>bufSize</p></td>
-<td><p>the key value size (in bytes).</p></td>
-<td> </td>
+<td class="parameter_name"><p>bufSize</p></td>
+<td class="parameter_description"><p>the key value size (in bytes).</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN35465"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecGnuTLSKeyDataHmacSet.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGNUTLSTRANSFORMHMACMD5GETKLASS"></a><h3>xmlSecGnuTLSTransformHmacMd5GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
-xmlSecGnuTLSTransformHmacMd5GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecGnuTLSTransformHmacMd5GetKlass"></a><h3>xmlSecGnuTLSTransformHmacMd5GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
+xmlSecGnuTLSTransformHmacMd5GetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The HMAC-MD5 transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN35478"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecGnuTLSTransformHmacMd5GetKlass.returns"></a><h4>Returns</h4>
<p> the HMAC-MD5 transform klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGNUTLSTRANSFORMHMACRIPEMD160GETKLASS"></a><h3>xmlSecGnuTLSTransformHmacRipemd160GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
+<div class="refsect2">
+<a name="xmlSecGnuTLSTransformHmacRipemd160GetKlass"></a><h3>xmlSecGnuTLSTransformHmacRipemd160GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
xmlSecGnuTLSTransformHmacRipemd160GetKlass
- (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+ (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The HMAC-RIPEMD160 transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN35491"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecGnuTLSTransformHmacRipemd160GetKlass.returns"></a><h4>Returns</h4>
<p> the HMAC-RIPEMD160 transform klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGNUTLSTRANSFORMHMACSHA1GETKLASS"></a><h3>xmlSecGnuTLSTransformHmacSha1GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
-xmlSecGnuTLSTransformHmacSha1GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecGnuTLSTransformHmacSha1GetKlass"></a><h3>xmlSecGnuTLSTransformHmacSha1GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
+xmlSecGnuTLSTransformHmacSha1GetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The HMAC-SHA1 transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN35504"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecGnuTLSTransformHmacSha1GetKlass.returns"></a><h4>Returns</h4>
<p> the HMAC-SHA1 transform klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGNUTLSTRANSFORMHMACSHA256GETKLASS"></a><h3>xmlSecGnuTLSTransformHmacSha256GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
+<div class="refsect2">
+<a name="xmlSecGnuTLSTransformHmacSha256GetKlass"></a><h3>xmlSecGnuTLSTransformHmacSha256GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
xmlSecGnuTLSTransformHmacSha256GetKlass
- (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+ (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The HMAC-SHA256 transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN35517"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecGnuTLSTransformHmacSha256GetKlass.returns"></a><h4>Returns</h4>
<p> the HMAC-SHA256 transform klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGNUTLSTRANSFORMHMACSHA384GETKLASS"></a><h3>xmlSecGnuTLSTransformHmacSha384GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
+<div class="refsect2">
+<a name="xmlSecGnuTLSTransformHmacSha384GetKlass"></a><h3>xmlSecGnuTLSTransformHmacSha384GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
xmlSecGnuTLSTransformHmacSha384GetKlass
- (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+ (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The HMAC-SHA384 transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN35530"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecGnuTLSTransformHmacSha384GetKlass.returns"></a><h4>Returns</h4>
<p> the HMAC-SHA384 transform klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGNUTLSTRANSFORMHMACSHA512GETKLASS"></a><h3>xmlSecGnuTLSTransformHmacSha512GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
+<div class="refsect2">
+<a name="xmlSecGnuTLSTransformHmacSha512GetKlass"></a><h3>xmlSecGnuTLSTransformHmacSha512GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
xmlSecGnuTLSTransformHmacSha512GetKlass
- (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+ (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The HMAC-SHA512 transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN35543"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecGnuTLSTransformHmacSha512GetKlass.returns"></a><h4>Returns</h4>
<p> the HMAC-SHA512 transform klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGNUTLSKEYDATARSAGETKLASS"></a><h3>xmlSecGnuTLSKeyDataRsaGetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecKeyDataId</span></font>
-xmlSecGnuTLSKeyDataRsaGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecGnuTLSKeyDataRsaGetKlass"></a><h3>xmlSecGnuTLSKeyDataRsaGetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecKeyDataId</span></font>
+xmlSecGnuTLSKeyDataRsaGetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The GnuTLS RSA key data klass.</p>
-<div class="REFSECT3">
-<a name="AEN35556"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecGnuTLSKeyDataRsaGetKlass.returns"></a><h4>Returns</h4>
<p> pointer to GnuTLS RSA key data klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGNUTLSKEYDATARSAADOPTPRIVATEKEY"></a><h3>xmlSecGnuTLSKeyDataRsaAdoptPrivateKey ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecGnuTLSKeyDataRsaAdoptPrivateKey (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>,
- <code class="PARAMETER"><font><span class="TYPE">gnutls_x509_privkey_t</span></font> rsa_key</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecGnuTLSKeyDataRsaAdoptPrivateKey"></a><h3>xmlSecGnuTLSKeyDataRsaAdoptPrivateKey ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecGnuTLSKeyDataRsaAdoptPrivateKey (<em class="parameter"><code><font><span class="type">xmlSecKeyDataPtr</span></font> data</code></em>,
+ <em class="parameter"><code><font><span class="type">gnutls_x509_privkey_t</span></font> rsa_key</code></em>);</pre>
<p>Sets the value of RSA key data.</p>
-<div class="REFSECT3">
-<a name="AEN35573"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN35575"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecGnuTLSKeyDataRsaAdoptPrivateKey.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>data</p></td>
-<td><p>the pointer to RSA key data.</p></td>
-<td> </td>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the pointer to RSA key data.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>rsa_key</p></td>
-<td><p>the pointer to GnuTLS RSA private key.</p></td>
-<td> </td>
+<td class="parameter_name"><p>rsa_key</p></td>
+<td class="parameter_description"><p>the pointer to GnuTLS RSA private key.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN35590"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecGnuTLSKeyDataRsaAdoptPrivateKey.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGNUTLSKEYDATARSAADOPTPUBLICKEY"></a><h3>xmlSecGnuTLSKeyDataRsaAdoptPublicKey ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecGnuTLSKeyDataRsaAdoptPublicKey (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>,
- <code class="PARAMETER"><font><span class="TYPE">gnutls_datum_t</span></font> *m</code>,
- <code class="PARAMETER"><font><span class="TYPE">gnutls_datum_t</span></font> *e</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecGnuTLSKeyDataRsaAdoptPublicKey"></a><h3>xmlSecGnuTLSKeyDataRsaAdoptPublicKey ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecGnuTLSKeyDataRsaAdoptPublicKey (<em class="parameter"><code><font><span class="type">xmlSecKeyDataPtr</span></font> data</code></em>,
+ <em class="parameter"><code><font><span class="type">gnutls_datum_t</span></font> *m</code></em>,
+ <em class="parameter"><code><font><span class="type">gnutls_datum_t</span></font> *e</code></em>);</pre>
<p>Sets the value of RSA key data.</p>
-<div class="REFSECT3">
-<a name="AEN35610"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN35612"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecGnuTLSKeyDataRsaAdoptPublicKey.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>data</p></td>
-<td><p>the pointer to RSA key data.</p></td>
-<td> </td>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the pointer to RSA key data.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>m</p></td>
-<td><p>the pointer to m component of the RSA public key</p></td>
-<td> </td>
+<td class="parameter_name"><p>m</p></td>
+<td class="parameter_description"><p>the pointer to m component of the RSA public key</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>e</p></td>
-<td><p>the pointer to e component of the RSA public key</p></td>
-<td> </td>
+<td class="parameter_name"><p>e</p></td>
+<td class="parameter_description"><p>the pointer to e component of the RSA public key</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN35633"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecGnuTLSKeyDataRsaAdoptPublicKey.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGNUTLSTRANSFORMRSAMD5GETKLASS"></a><h3>xmlSecGnuTLSTransformRsaMd5GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
-xmlSecGnuTLSTransformRsaMd5GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecGnuTLSTransformRsaMd5GetKlass"></a><h3>xmlSecGnuTLSTransformRsaMd5GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
+xmlSecGnuTLSTransformRsaMd5GetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The RSA-MD5 signature transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN35646"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecGnuTLSTransformRsaMd5GetKlass.returns"></a><h4>Returns</h4>
<p> RSA-MD5 signature transform klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGNUTLSTRANSFORMRSARIPEMD160GETKLASS"></a><h3>xmlSecGnuTLSTransformRsaRipemd160GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
+<div class="refsect2">
+<a name="xmlSecGnuTLSTransformRsaRipemd160GetKlass"></a><h3>xmlSecGnuTLSTransformRsaRipemd160GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
xmlSecGnuTLSTransformRsaRipemd160GetKlass
- (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+ (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The RSA-RIPEMD160 signature transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN35659"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecGnuTLSTransformRsaRipemd160GetKlass.returns"></a><h4>Returns</h4>
<p> RSA-RIPEMD160 signature transform klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGNUTLSTRANSFORMRSASHA1GETKLASS"></a><h3>xmlSecGnuTLSTransformRsaSha1GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
-xmlSecGnuTLSTransformRsaSha1GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecGnuTLSTransformRsaSha1GetKlass"></a><h3>xmlSecGnuTLSTransformRsaSha1GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
+xmlSecGnuTLSTransformRsaSha1GetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The RSA-SHA1 signature transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN35672"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecGnuTLSTransformRsaSha1GetKlass.returns"></a><h4>Returns</h4>
<p> RSA-SHA1 signature transform klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGNUTLSTRANSFORMRSASHA256GETKLASS"></a><h3>xmlSecGnuTLSTransformRsaSha256GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
+<div class="refsect2">
+<a name="xmlSecGnuTLSTransformRsaSha256GetKlass"></a><h3>xmlSecGnuTLSTransformRsaSha256GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
xmlSecGnuTLSTransformRsaSha256GetKlass
- (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+ (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The RSA-SHA256 signature transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN35685"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecGnuTLSTransformRsaSha256GetKlass.returns"></a><h4>Returns</h4>
<p> RSA-SHA256 signature transform klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGNUTLSTRANSFORMRSASHA384GETKLASS"></a><h3>xmlSecGnuTLSTransformRsaSha384GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
+<div class="refsect2">
+<a name="xmlSecGnuTLSTransformRsaSha384GetKlass"></a><h3>xmlSecGnuTLSTransformRsaSha384GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
xmlSecGnuTLSTransformRsaSha384GetKlass
- (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+ (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The RSA-SHA384 signature transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN35698"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecGnuTLSTransformRsaSha384GetKlass.returns"></a><h4>Returns</h4>
<p> RSA-SHA384 signature transform klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGNUTLSTRANSFORMRSASHA512GETKLASS"></a><h3>xmlSecGnuTLSTransformRsaSha512GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
+<div class="refsect2">
+<a name="xmlSecGnuTLSTransformRsaSha512GetKlass"></a><h3>xmlSecGnuTLSTransformRsaSha512GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
xmlSecGnuTLSTransformRsaSha512GetKlass
- (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+ (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The RSA-SHA512 signature transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN35711"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecGnuTLSTransformRsaSha512GetKlass.returns"></a><h4>Returns</h4>
<p> RSA-SHA512 signature transform klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGNUTLSTRANSFORMSHA1GETKLASS"></a><h3>xmlSecGnuTLSTransformSha1GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
-xmlSecGnuTLSTransformSha1GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecGnuTLSTransformSha1GetKlass"></a><h3>xmlSecGnuTLSTransformSha1GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
+xmlSecGnuTLSTransformSha1GetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>SHA-1 digest transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN35724"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecGnuTLSTransformSha1GetKlass.returns"></a><h4>Returns</h4>
<p> pointer to SHA-1 digest transform klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGNUTLSTRANSFORMSHA256GETKLASS"></a><h3>xmlSecGnuTLSTransformSha256GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
-xmlSecGnuTLSTransformSha256GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecGnuTLSTransformSha256GetKlass"></a><h3>xmlSecGnuTLSTransformSha256GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
+xmlSecGnuTLSTransformSha256GetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>SHA256 digest transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN35737"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecGnuTLSTransformSha256GetKlass.returns"></a><h4>Returns</h4>
<p> pointer to SHA256 digest transform klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGNUTLSTRANSFORMSHA384GETKLASS"></a><h3>xmlSecGnuTLSTransformSha384GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
-xmlSecGnuTLSTransformSha384GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecGnuTLSTransformSha384GetKlass"></a><h3>xmlSecGnuTLSTransformSha384GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
+xmlSecGnuTLSTransformSha384GetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>SHA384 digest transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN35750"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecGnuTLSTransformSha384GetKlass.returns"></a><h4>Returns</h4>
<p> pointer to SHA384 digest transform klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGNUTLSTRANSFORMSHA512GETKLASS"></a><h3>xmlSecGnuTLSTransformSha512GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
-xmlSecGnuTLSTransformSha512GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecGnuTLSTransformSha512GetKlass"></a><h3>xmlSecGnuTLSTransformSha512GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
+xmlSecGnuTLSTransformSha512GetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>SHA512 digest transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN35763"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecGnuTLSTransformSha512GetKlass.returns"></a><h4>Returns</h4>
<p> pointer to SHA512 digest transform klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGNUTLSTRANSFORMMD5GETKLASS"></a><h3>xmlSecGnuTLSTransformMd5GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
-xmlSecGnuTLSTransformMd5GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecGnuTLSTransformMd5GetKlass"></a><h3>xmlSecGnuTLSTransformMd5GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
+xmlSecGnuTLSTransformMd5GetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>MD5 digest transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN35776"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecGnuTLSTransformMd5GetKlass.returns"></a><h4>Returns</h4>
<p> pointer to MD5 digest transform klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGNUTLSTRANSFORMRIPEMD160GETKLASS"></a><h3>xmlSecGnuTLSTransformRipemd160GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
+<div class="refsect2">
+<a name="xmlSecGnuTLSTransformRipemd160GetKlass"></a><h3>xmlSecGnuTLSTransformRipemd160GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
xmlSecGnuTLSTransformRipemd160GetKlass
- (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+ (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>RIPEMD160 digest transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN35789"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecGnuTLSTransformRipemd160GetKlass.returns"></a><h4>Returns</h4>
<p> pointer to RIPEMD160 digest transform klass.</p>
</div>
</div>
</div>
-<div class="REFSECT1">
-<a name="XMLSEC-GNUTLS-CRYPTO.OTHER_DETAILS"></a><h2>Types and Values</h2>
-<div class="REFSECT2">
-<a name="XMLSECGNUTLSKEYDATAAESID"></a><h3>xmlSecGnuTLSKeyDataAesId</h3>
-<pre class="PROGRAMLISTING">#define xmlSecGnuTLSKeyDataAesId</pre>
+<div class="refsect1">
+<a name="xmlsec-gnutls-crypto.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="xmlSecGnuTLSKeyDataAesId"></a><h3>xmlSecGnuTLSKeyDataAesId</h3>
+<pre class="programlisting">#define xmlSecGnuTLSKeyDataAesId</pre>
<p>The AES key data klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGNUTLSTRANSFORMAES128CBCID"></a><h3>xmlSecGnuTLSTransformAes128CbcId</h3>
-<pre class="PROGRAMLISTING">#define xmlSecGnuTLSTransformAes128CbcId</pre>
+<div class="refsect2">
+<a name="xmlSecGnuTLSTransformAes128CbcId"></a><h3>xmlSecGnuTLSTransformAes128CbcId</h3>
+<pre class="programlisting">#define xmlSecGnuTLSTransformAes128CbcId</pre>
<p>The AES128 CBC cipher transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGNUTLSTRANSFORMAES192CBCID"></a><h3>xmlSecGnuTLSTransformAes192CbcId</h3>
-<pre class="PROGRAMLISTING">#define xmlSecGnuTLSTransformAes192CbcId</pre>
+<div class="refsect2">
+<a name="xmlSecGnuTLSTransformAes192CbcId"></a><h3>xmlSecGnuTLSTransformAes192CbcId</h3>
+<pre class="programlisting">#define xmlSecGnuTLSTransformAes192CbcId</pre>
<p>The AES192 CBC cipher transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGNUTLSTRANSFORMAES256CBCID"></a><h3>xmlSecGnuTLSTransformAes256CbcId</h3>
-<pre class="PROGRAMLISTING">#define xmlSecGnuTLSTransformAes256CbcId</pre>
+<div class="refsect2">
+<a name="xmlSecGnuTLSTransformAes256CbcId"></a><h3>xmlSecGnuTLSTransformAes256CbcId</h3>
+<pre class="programlisting">#define xmlSecGnuTLSTransformAes256CbcId</pre>
<p>The AES256 CBC cipher transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGNUTLSTRANSFORMKWAES128ID"></a><h3>xmlSecGnuTLSTransformKWAes128Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecGnuTLSTransformKWAes128Id</pre>
+<div class="refsect2">
+<a name="xmlSecGnuTLSTransformKWAes128Id"></a><h3>xmlSecGnuTLSTransformKWAes128Id</h3>
+<pre class="programlisting">#define xmlSecGnuTLSTransformKWAes128Id</pre>
<p>The AES 128 key wrap transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGNUTLSTRANSFORMKWAES192ID"></a><h3>xmlSecGnuTLSTransformKWAes192Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecGnuTLSTransformKWAes192Id</pre>
+<div class="refsect2">
+<a name="xmlSecGnuTLSTransformKWAes192Id"></a><h3>xmlSecGnuTLSTransformKWAes192Id</h3>
+<pre class="programlisting">#define xmlSecGnuTLSTransformKWAes192Id</pre>
<p>The AES 192 key wrap transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGNUTLSTRANSFORMKWAES256ID"></a><h3>xmlSecGnuTLSTransformKWAes256Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecGnuTLSTransformKWAes256Id</pre>
+<div class="refsect2">
+<a name="xmlSecGnuTLSTransformKWAes256Id"></a><h3>xmlSecGnuTLSTransformKWAes256Id</h3>
+<pre class="programlisting">#define xmlSecGnuTLSTransformKWAes256Id</pre>
<p>The AES 256 key wrap transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGNUTLSKEYDATADESID"></a><h3>xmlSecGnuTLSKeyDataDesId</h3>
-<pre class="PROGRAMLISTING">#define xmlSecGnuTLSKeyDataDesId</pre>
+<div class="refsect2">
+<a name="xmlSecGnuTLSKeyDataDesId"></a><h3>xmlSecGnuTLSKeyDataDesId</h3>
+<pre class="programlisting">#define xmlSecGnuTLSKeyDataDesId</pre>
<p>The DES key data klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGNUTLSTRANSFORMDES3CBCID"></a><h3>xmlSecGnuTLSTransformDes3CbcId</h3>
-<pre class="PROGRAMLISTING">#define xmlSecGnuTLSTransformDes3CbcId</pre>
+<div class="refsect2">
+<a name="xmlSecGnuTLSTransformDes3CbcId"></a><h3>xmlSecGnuTLSTransformDes3CbcId</h3>
+<pre class="programlisting">#define xmlSecGnuTLSTransformDes3CbcId</pre>
<p>The DES3 CBC cipher transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGNUTLSTRANSFORMKWDES3ID"></a><h3>xmlSecGnuTLSTransformKWDes3Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecGnuTLSTransformKWDes3Id</pre>
+<div class="refsect2">
+<a name="xmlSecGnuTLSTransformKWDes3Id"></a><h3>xmlSecGnuTLSTransformKWDes3Id</h3>
+<pre class="programlisting">#define xmlSecGnuTLSTransformKWDes3Id</pre>
<p>The DES3 KW transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGNUTLSKEYDATADSAID"></a><h3>xmlSecGnuTLSKeyDataDsaId</h3>
-<pre class="PROGRAMLISTING">#define xmlSecGnuTLSKeyDataDsaId</pre>
+<div class="refsect2">
+<a name="xmlSecGnuTLSKeyDataDsaId"></a><h3>xmlSecGnuTLSKeyDataDsaId</h3>
+<pre class="programlisting">#define xmlSecGnuTLSKeyDataDsaId</pre>
<p>The DSA key klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGNUTLSTRANSFORMDSASHA1ID"></a><h3>xmlSecGnuTLSTransformDsaSha1Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecGnuTLSTransformDsaSha1Id</pre>
+<div class="refsect2">
+<a name="xmlSecGnuTLSTransformDsaSha1Id"></a><h3>xmlSecGnuTLSTransformDsaSha1Id</h3>
+<pre class="programlisting">#define xmlSecGnuTLSTransformDsaSha1Id</pre>
<p>The DSA SHA1 signature transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGNUTLSKEYDATAHMACID"></a><h3>xmlSecGnuTLSKeyDataHmacId</h3>
-<pre class="PROGRAMLISTING">#define xmlSecGnuTLSKeyDataHmacId</pre>
+<div class="refsect2">
+<a name="xmlSecGnuTLSKeyDataHmacId"></a><h3>xmlSecGnuTLSKeyDataHmacId</h3>
+<pre class="programlisting">#define xmlSecGnuTLSKeyDataHmacId</pre>
<p>The HMAC key klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGNUTLSTRANSFORMHMACMD5ID"></a><h3>xmlSecGnuTLSTransformHmacMd5Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecGnuTLSTransformHmacMd5Id</pre>
+<div class="refsect2">
+<a name="xmlSecGnuTLSTransformHmacMd5Id"></a><h3>xmlSecGnuTLSTransformHmacMd5Id</h3>
+<pre class="programlisting">#define xmlSecGnuTLSTransformHmacMd5Id</pre>
<p>The HMAC with MD5 signature transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGNUTLSTRANSFORMHMACRIPEMD160ID"></a><h3>xmlSecGnuTLSTransformHmacRipemd160Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecGnuTLSTransformHmacRipemd160Id</pre>
+<div class="refsect2">
+<a name="xmlSecGnuTLSTransformHmacRipemd160Id"></a><h3>xmlSecGnuTLSTransformHmacRipemd160Id</h3>
+<pre class="programlisting">#define xmlSecGnuTLSTransformHmacRipemd160Id</pre>
<p>The HMAC with RipeMD160 signature transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGNUTLSTRANSFORMHMACSHA1ID"></a><h3>xmlSecGnuTLSTransformHmacSha1Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecGnuTLSTransformHmacSha1Id</pre>
+<div class="refsect2">
+<a name="xmlSecGnuTLSTransformHmacSha1Id"></a><h3>xmlSecGnuTLSTransformHmacSha1Id</h3>
+<pre class="programlisting">#define xmlSecGnuTLSTransformHmacSha1Id</pre>
<p>The HMAC with SHA1 signature transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGNUTLSTRANSFORMHMACSHA256ID"></a><h3>xmlSecGnuTLSTransformHmacSha256Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecGnuTLSTransformHmacSha256Id</pre>
+<div class="refsect2">
+<a name="xmlSecGnuTLSTransformHmacSha256Id"></a><h3>xmlSecGnuTLSTransformHmacSha256Id</h3>
+<pre class="programlisting">#define xmlSecGnuTLSTransformHmacSha256Id</pre>
<p>The HMAC with SHA256 signature transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGNUTLSTRANSFORMHMACSHA384ID"></a><h3>xmlSecGnuTLSTransformHmacSha384Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecGnuTLSTransformHmacSha384Id</pre>
+<div class="refsect2">
+<a name="xmlSecGnuTLSTransformHmacSha384Id"></a><h3>xmlSecGnuTLSTransformHmacSha384Id</h3>
+<pre class="programlisting">#define xmlSecGnuTLSTransformHmacSha384Id</pre>
<p>The HMAC with SHA384 signature transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGNUTLSTRANSFORMHMACSHA512ID"></a><h3>xmlSecGnuTLSTransformHmacSha512Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecGnuTLSTransformHmacSha512Id</pre>
+<div class="refsect2">
+<a name="xmlSecGnuTLSTransformHmacSha512Id"></a><h3>xmlSecGnuTLSTransformHmacSha512Id</h3>
+<pre class="programlisting">#define xmlSecGnuTLSTransformHmacSha512Id</pre>
<p>The HMAC with SHA512 signature transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGNUTLSKEYDATARSAID"></a><h3>xmlSecGnuTLSKeyDataRsaId</h3>
-<pre class="PROGRAMLISTING">#define xmlSecGnuTLSKeyDataRsaId</pre>
+<div class="refsect2">
+<a name="xmlSecGnuTLSKeyDataRsaId"></a><h3>xmlSecGnuTLSKeyDataRsaId</h3>
+<pre class="programlisting">#define xmlSecGnuTLSKeyDataRsaId</pre>
<p>The RSA key klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGNUTLSTRANSFORMRSAMD5ID"></a><h3>xmlSecGnuTLSTransformRsaMd5Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecGnuTLSTransformRsaMd5Id</pre>
+<div class="refsect2">
+<a name="xmlSecGnuTLSTransformRsaMd5Id"></a><h3>xmlSecGnuTLSTransformRsaMd5Id</h3>
+<pre class="programlisting">#define xmlSecGnuTLSTransformRsaMd5Id</pre>
<p>The RSA-MD5 signature transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGNUTLSTRANSFORMRSARIPEMD160ID"></a><h3>xmlSecGnuTLSTransformRsaRipemd160Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecGnuTLSTransformRsaRipemd160Id</pre>
+<div class="refsect2">
+<a name="xmlSecGnuTLSTransformRsaRipemd160Id"></a><h3>xmlSecGnuTLSTransformRsaRipemd160Id</h3>
+<pre class="programlisting">#define xmlSecGnuTLSTransformRsaRipemd160Id</pre>
<p>The RSA-RIPEMD160 signature transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGNUTLSTRANSFORMRSASHA1ID"></a><h3>xmlSecGnuTLSTransformRsaSha1Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecGnuTLSTransformRsaSha1Id</pre>
+<div class="refsect2">
+<a name="xmlSecGnuTLSTransformRsaSha1Id"></a><h3>xmlSecGnuTLSTransformRsaSha1Id</h3>
+<pre class="programlisting">#define xmlSecGnuTLSTransformRsaSha1Id</pre>
<p>The RSA-SHA1 signature transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGNUTLSTRANSFORMRSASHA256ID"></a><h3>xmlSecGnuTLSTransformRsaSha256Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecGnuTLSTransformRsaSha256Id</pre>
+<div class="refsect2">
+<a name="xmlSecGnuTLSTransformRsaSha256Id"></a><h3>xmlSecGnuTLSTransformRsaSha256Id</h3>
+<pre class="programlisting">#define xmlSecGnuTLSTransformRsaSha256Id</pre>
<p>The RSA-SHA256 signature transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGNUTLSTRANSFORMRSASHA384ID"></a><h3>xmlSecGnuTLSTransformRsaSha384Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecGnuTLSTransformRsaSha384Id</pre>
+<div class="refsect2">
+<a name="xmlSecGnuTLSTransformRsaSha384Id"></a><h3>xmlSecGnuTLSTransformRsaSha384Id</h3>
+<pre class="programlisting">#define xmlSecGnuTLSTransformRsaSha384Id</pre>
<p>The RSA-SHA384 signature transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGNUTLSTRANSFORMRSASHA512ID"></a><h3>xmlSecGnuTLSTransformRsaSha512Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecGnuTLSTransformRsaSha512Id</pre>
+<div class="refsect2">
+<a name="xmlSecGnuTLSTransformRsaSha512Id"></a><h3>xmlSecGnuTLSTransformRsaSha512Id</h3>
+<pre class="programlisting">#define xmlSecGnuTLSTransformRsaSha512Id</pre>
<p>The RSA-SHA512 signature transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGNUTLSTRANSFORMSHA1ID"></a><h3>xmlSecGnuTLSTransformSha1Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecGnuTLSTransformSha1Id</pre>
+<div class="refsect2">
+<a name="xmlSecGnuTLSTransformSha1Id"></a><h3>xmlSecGnuTLSTransformSha1Id</h3>
+<pre class="programlisting">#define xmlSecGnuTLSTransformSha1Id</pre>
<p>The HMAC with SHA1 signature transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGNUTLSTRANSFORMSHA256ID"></a><h3>xmlSecGnuTLSTransformSha256Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecGnuTLSTransformSha256Id</pre>
+<div class="refsect2">
+<a name="xmlSecGnuTLSTransformSha256Id"></a><h3>xmlSecGnuTLSTransformSha256Id</h3>
+<pre class="programlisting">#define xmlSecGnuTLSTransformSha256Id</pre>
<p>The HMAC with SHA256 signature transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGNUTLSTRANSFORMSHA384ID"></a><h3>xmlSecGnuTLSTransformSha384Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecGnuTLSTransformSha384Id</pre>
+<div class="refsect2">
+<a name="xmlSecGnuTLSTransformSha384Id"></a><h3>xmlSecGnuTLSTransformSha384Id</h3>
+<pre class="programlisting">#define xmlSecGnuTLSTransformSha384Id</pre>
<p>The HMAC with SHA384 signature transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGNUTLSTRANSFORMSHA512ID"></a><h3>xmlSecGnuTLSTransformSha512Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecGnuTLSTransformSha512Id</pre>
+<div class="refsect2">
+<a name="xmlSecGnuTLSTransformSha512Id"></a><h3>xmlSecGnuTLSTransformSha512Id</h3>
+<pre class="programlisting">#define xmlSecGnuTLSTransformSha512Id</pre>
<p>The HMAC with SHA512 signature transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGNUTLSTRANSFORMMD5ID"></a><h3>xmlSecGnuTLSTransformMd5Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecGnuTLSTransformMd5Id</pre>
+<div class="refsect2">
+<a name="xmlSecGnuTLSTransformMd5Id"></a><h3>xmlSecGnuTLSTransformMd5Id</h3>
+<pre class="programlisting">#define xmlSecGnuTLSTransformMd5Id</pre>
<p>The MD5 digest transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGNUTLSTRANSFORMRIPEMD160ID"></a><h3>xmlSecGnuTLSTransformRipemd160Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecGnuTLSTransformRipemd160Id</pre>
+<div class="refsect2">
+<a name="xmlSecGnuTLSTransformRipemd160Id"></a><h3>xmlSecGnuTLSTransformRipemd160Id</h3>
+<pre class="programlisting">#define xmlSecGnuTLSTransformRipemd160Id</pre>
<p>The RIPEMD160 digest transform klass.</p>
</div>
</div>
-<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td align="left"><a accesskey="p" href="xmlsec-gnutls-app.html"><b><<< app</b></a></td>
-<td align="right"><a accesskey="n" href="xmlsec-gcrypt-ref.html"><b>XML Security Library for GCrypt API Reference. >>></b></a></td>
-</tr></table>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
</td></tr></table></td>
</tr></table></body>
</html>
diff --git a/docs/api/xmlsec-gnutls-ref.html b/docs/api/xmlsec-gnutls-ref.html
index 828f96f..0a03a9c 100644
--- a/docs/api/xmlsec-gnutls-ref.html
+++ b/docs/api/xmlsec-gnutls-ref.html
@@ -1,41 +1,14 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>XML Security Library for GnuTLS API Reference.</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79">
-<link rel="HOME" title="XML Security Library Reference Manual" href="index.html">
-<link rel="UP" title="XML Security Library API Reference." href="xmlsec-reference.html">
-<link rel="PREVIOUS" title="x509" href="xmlsec-openssl-x509.html">
-<link rel="NEXT" title="app" href="xmlsec-gnutls-app.html">
-<style type="text/css">.synopsis, .classsynopsis {
- background: #eeeeee;
- border: solid 1px #aaaaaa;
- padding: 0.5em;
-}
-.programlisting {
- background: #eeeeff;
- border: solid 1px #aaaaff;
- padding: 0.5em;
-}
-.variablelist {
- padding: 4px;
- margin-left: 3em;
-}
-.navigation {
- background: #ffeeee;
- border: solid 1px #ffaaaa;
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
-.navigation a {
- color: #770000;
-}
-.navigation a:visited {
- color: #550000;
-}
-.navigation .title {
- font-size: 200%;
-}</style>
+<title>XML Security Library for GnuTLS API Reference.: XML Security Library Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="XML Security Library Reference Manual">
+<link rel="up" href="xmlsec-reference.html" title="Part II. XML Security Library API Reference.">
+<link rel="prev" href="xmlsec-openssl-x509.html" title="x509">
+<link rel="next" href="xmlsec-gnutls-app.html" title="app">
+<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
<style type="text/css">
table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
width: 20em;
@@ -100,31 +73,33 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
</table>
</td>
<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent">
-<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td><a accesskey="p" href="xmlsec-openssl-x509.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="xmlsec-reference.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<th width="100%" align="center">XML Security Library Reference Manual</th>
+<td><a accesskey="u" href="xmlsec-reference.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="xmlsec-openssl-x509.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="xmlsec-gnutls-app.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
-<div class="CHAPTER">
-<h1>
-<a name="XMLSEC-GNUTLS-REF"></a>XML Security Library for GnuTLS API Reference.</h1>
-<div class="TOC"><dl>
-<dt><b>Table of Contents</b></dt>
+<div class="chapter">
+<div class="titlepage"><div><div><h2 class="title">
+<a name="xmlsec-gnutls-ref"></a>XML Security Library for GnuTLS API Reference.</h2></div></div></div>
+<div class="toc"><dl class="toc">
<dt>
-<a href="xmlsec-gnutls-app.html">app</a> -- Application functions implementation for GnuTLS.</dt>
+<span class="refentrytitle"><a href="xmlsec-gnutls-app.html">app</a></span><span class="refpurpose"> — Application functions implementation for GnuTLS.</span>
+</dt>
<dt>
-<a href="xmlsec-gnutls-crypto.html">crypto</a> -- Crypto transforms implementation for GnuTLS.</dt>
+<span class="refentrytitle"><a href="xmlsec-gnutls-crypto.html">crypto</a></span><span class="refpurpose"> — Crypto transforms implementation for GnuTLS.</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="xmlsec-gnutls-x509.html">x509</a></span><span class="refpurpose"> — X509 certificates support implementation for GnuTLS.</span>
+</dt>
</dl></div>
<p>This section contains the API reference for xmlsec-gnutls. All
the public interfaces are documented here. This reference guide is
build by extracting comments from the code sources. </p>
</div>
-<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td align="left"><a accesskey="p" href="xmlsec-openssl-x509.html"><b><<< x509</b></a></td>
-<td align="right"><a accesskey="n" href="xmlsec-gnutls-app.html"><b>app >>></b></a></td>
-</tr></table>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
</td></tr></table></td>
</tr></table></body>
</html>
diff --git a/docs/api/xmlsec-gnutls-x509.html b/docs/api/xmlsec-gnutls-x509.html
new file mode 100644
index 0000000..4d88860
--- /dev/null
+++ b/docs/api/xmlsec-gnutls-x509.html
@@ -0,0 +1,751 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>x509: XML Security Library Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="XML Security Library Reference Manual">
+<link rel="up" href="xmlsec-gnutls-ref.html" title="XML Security Library for GnuTLS API Reference.">
+<link rel="prev" href="xmlsec-gnutls-crypto.html" title="crypto">
+<link rel="next" href="xmlsec-gcrypt-ref.html" title="XML Security Library for GCrypt API Reference.">
+<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+<style type="text/css">
+table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
+ width: 20em;
+}
+.synopsis, .classsynopsis {
+ background: #eeeeee;
+ border: solid 1px #aaaaaa;
+}
+.programlisting {
+ background: #eeeeee;
+ border: solid 1px #000000;
+}
+.navigation {
+ background: #eeeeee;
+ border: solid 1px #000000;
+}
+.navigation a {
+ color: initial;
+}
+.navigation a:visited {
+ color: initial;
+}
+</style>
+</head>
+<body><table width="100%" valign="top"><tr valign="top">
+<td valign="top" align="left" width="210">
+<img src="../images/logo.gif" alt="XML Security Library" border="0"><p></p>
+<ul>
+<li><a href="../index.html">Home</a></li>
+<li><a href="../download.html">Download</a></li>
+<li><a href="../news.html">News</a></li>
+<li><a href="../documentation.html">Documentation</a></li>
+<ul>
+<li><a href="../faq.html">FAQ</a></li>
+<li><a href="../api/xmlsec-notes.html">Tutorial</a></li>
+<li><a href="../api/xmlsec-reference.html">API reference</a></li>
+<li><a href="../api/xmlsec-examples.html">Examples</a></li>
+</ul>
+<li><a href="../xmldsig.html">XML Digital Signature</a></li>
+<ul><li><a href="http://www.aleksey.com/xmlsec/xmldsig-verifier.html">Online Verifier</a></li></ul>
+<li><a href="../xmlenc.html">XML Encryption</a></li>
+<li><a href="../c14n.html">XML Canonicalization</a></li>
+<li><a href="../bugs.html">Reporting Bugs</a></li>
+<li><a href="http://www.aleksey.com/pipermail/xmlsec">Mailing list</a></li>
+<li><a href="../related.html">Related</a></li>
+<li><a href="../authors.html">Authors</a></li>
+</ul>
+<table width="100%">
+<tr>
+<td width="15"></td>
+<td><a href="http://xmlsoft.org/"><img src="../images/libxml2-logo.png" alt="LibXML2" border="0"></a></td>
+</tr>
+<tr>
+<td width="15"></td>
+<td><a href="http://xmlsoft.org/XSLT"><img src="../images/libxslt-logo.png" alt="LibXSLT" border="0"></a></td>
+</tr>
+<tr>
+<td width="15"></td>
+<td><a href="http://www.openssl.org/"><img src="../images/openssl-logo.png" alt="OpenSSL" border="0"></a></td>
+</tr>
+<!--Links - start--><!--Links - end-->
+</table>
+</td>
+<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description"> <span class="dim">|</span>
+ <a href="#xmlsec-gnutls-x509.description" class="shortcut">Description</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="xmlsec-gnutls-ref.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="xmlsec-gnutls-crypto.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="xmlsec-gcrypt-ref.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="xmlsec-gnutls-x509"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="xmlsec-gnutls-x509.top_of_page"></a>x509</span></h2>
+<p>x509 — X509 certificates support implementation for GnuTLS.</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="xmlsec-gnutls-x509.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
+<tbody>
+<tr>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecKeyDataId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-gnutls-x509.html#xmlSecGnuTLSKeyDataX509GetKlass" title="xmlSecGnuTLSKeyDataX509GetKlass ()">xmlSecGnuTLSKeyDataX509GetKlass</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<font><span class="returnvalue">gnutls_x509_crt_t</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-gnutls-x509.html#xmlSecGnuTLSKeyDataX509GetKeyCert" title="xmlSecGnuTLSKeyDataX509GetKeyCert ()">xmlSecGnuTLSKeyDataX509GetKeyCert</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-gnutls-x509.html#xmlSecGnuTLSKeyDataX509AdoptKeyCert" title="xmlSecGnuTLSKeyDataX509AdoptKeyCert ()">xmlSecGnuTLSKeyDataX509AdoptKeyCert</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-gnutls-x509.html#xmlSecGnuTLSKeyDataX509AdoptCert" title="xmlSecGnuTLSKeyDataX509AdoptCert ()">xmlSecGnuTLSKeyDataX509AdoptCert</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<font><span class="returnvalue">gnutls_x509_crt_t</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-gnutls-x509.html#xmlSecGnuTLSKeyDataX509GetCert" title="xmlSecGnuTLSKeyDataX509GetCert ()">xmlSecGnuTLSKeyDataX509GetCert</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="returnvalue">xmlSecSize</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-gnutls-x509.html#xmlSecGnuTLSKeyDataX509GetCertsSize" title="xmlSecGnuTLSKeyDataX509GetCertsSize ()">xmlSecGnuTLSKeyDataX509GetCertsSize</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-gnutls-x509.html#xmlSecGnuTLSKeyDataX509AdoptCrl" title="xmlSecGnuTLSKeyDataX509AdoptCrl ()">xmlSecGnuTLSKeyDataX509AdoptCrl</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<font><span class="returnvalue">gnutls_x509_crl_t</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-gnutls-x509.html#xmlSecGnuTLSKeyDataX509GetCrl" title="xmlSecGnuTLSKeyDataX509GetCrl ()">xmlSecGnuTLSKeyDataX509GetCrl</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="returnvalue">xmlSecSize</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-gnutls-x509.html#xmlSecGnuTLSKeyDataX509GetCrlsSize" title="xmlSecGnuTLSKeyDataX509GetCrlsSize ()">xmlSecGnuTLSKeyDataX509GetCrlsSize</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecKeyDataPtr</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-gnutls-x509.html#xmlSecGnuTLSX509CertGetKey" title="xmlSecGnuTLSX509CertGetKey ()">xmlSecGnuTLSX509CertGetKey</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecKeyDataId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-gnutls-x509.html#xmlSecGnuTLSKeyDataRawX509CertGetKlass" title="xmlSecGnuTLSKeyDataRawX509CertGetKlass ()">xmlSecGnuTLSKeyDataRawX509CertGetKlass</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecKeyDataStoreId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-gnutls-x509.html#xmlSecGnuTLSX509StoreGetKlass" title="xmlSecGnuTLSX509StoreGetKlass ()">xmlSecGnuTLSX509StoreGetKlass</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<font><span class="returnvalue">gnutls_x509_crt_t</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-gnutls-x509.html#xmlSecGnuTLSX509StoreFindCert" title="xmlSecGnuTLSX509StoreFindCert ()">xmlSecGnuTLSX509StoreFindCert</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<font><span class="returnvalue">gnutls_x509_crt_t</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-gnutls-x509.html#xmlSecGnuTLSX509StoreVerify" title="xmlSecGnuTLSX509StoreVerify ()">xmlSecGnuTLSX509StoreVerify</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-gnutls-x509.html#xmlSecGnuTLSX509StoreAdoptCert" title="xmlSecGnuTLSX509StoreAdoptCert ()">xmlSecGnuTLSX509StoreAdoptCert</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="xmlsec-gnutls-x509.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
+<tbody>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-gnutls-x509.html#xmlSecGnuTLSKeyDataX509Id" title="xmlSecGnuTLSKeyDataX509Id">xmlSecGnuTLSKeyDataX509Id</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-gnutls-x509.html#xmlSecGnuTLSKeyDataRawX509CertId" title="xmlSecGnuTLSKeyDataRawX509CertId">xmlSecGnuTLSKeyDataRawX509CertId</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-gnutls-x509.html#xmlSecGnuTLSX509StoreId" title="xmlSecGnuTLSX509StoreId">xmlSecGnuTLSX509StoreId</a></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="xmlsec-gnutls-x509.description"></a><h2>Description</h2>
+<p>
+X509 certificates support implementation for GnuTLS.
+</p>
+</div>
+<div class="refsect1">
+<a name="xmlsec-gnutls-x509.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="xmlSecGnuTLSKeyDataX509GetKlass"></a><h3>xmlSecGnuTLSKeyDataX509GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecKeyDataId</span></font>
+xmlSecGnuTLSKeyDataX509GetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
+<p>The GnuTLS X509 key data klass (http://www.w3.org/TR/xmldsig-core/<font><span class="type">sec-X509Data</span></font>).</p>
+<div class="refsect3">
+<a name="xmlSecGnuTLSKeyDataX509GetKlass.returns"></a><h4>Returns</h4>
+<p> the X509 data klass.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="xmlSecGnuTLSKeyDataX509GetKeyCert"></a><h3>xmlSecGnuTLSKeyDataX509GetKeyCert ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">gnutls_x509_crt_t</span></font>
+xmlSecGnuTLSKeyDataX509GetKeyCert (<em class="parameter"><code><font><span class="type">xmlSecKeyDataPtr</span></font> data</code></em>);</pre>
+<p>Gets the certificate from which the key was extracted.</p>
+<div class="refsect3">
+<a name="xmlSecGnuTLSKeyDataX509GetKeyCert.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the pointer to X509 key data.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="xmlSecGnuTLSKeyDataX509GetKeyCert.returns"></a><h4>Returns</h4>
+<p> the key's certificate or NULL if key data was not used for key
+extraction or an error occurs.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="xmlSecGnuTLSKeyDataX509AdoptKeyCert"></a><h3>xmlSecGnuTLSKeyDataX509AdoptKeyCert ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecGnuTLSKeyDataX509AdoptKeyCert (<em class="parameter"><code><font><span class="type">xmlSecKeyDataPtr</span></font> data</code></em>,
+ <em class="parameter"><code><font><span class="type">gnutls_x509_crt_t</span></font> cert</code></em>);</pre>
+<p>Sets the key's certificate in <em class="parameter"><code>data</code></em>
+.</p>
+<div class="refsect3">
+<a name="xmlSecGnuTLSKeyDataX509AdoptKeyCert.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the pointer to X509 key data.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cert</p></td>
+<td class="parameter_description"><p>the pointer to GnuTLS X509 certificate.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="xmlSecGnuTLSKeyDataX509AdoptKeyCert.returns"></a><h4>Returns</h4>
+<p> 0 on success or a negative value if an error occurs.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="xmlSecGnuTLSKeyDataX509AdoptCert"></a><h3>xmlSecGnuTLSKeyDataX509AdoptCert ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecGnuTLSKeyDataX509AdoptCert (<em class="parameter"><code><font><span class="type">xmlSecKeyDataPtr</span></font> data</code></em>,
+ <em class="parameter"><code><font><span class="type">gnutls_x509_crt_t</span></font> cert</code></em>);</pre>
+<p>Adds certificate to the X509 key data.</p>
+<div class="refsect3">
+<a name="xmlSecGnuTLSKeyDataX509AdoptCert.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the pointer to X509 key data.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cert</p></td>
+<td class="parameter_description"><p>the pointer to GnuTLS X509 certificate.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="xmlSecGnuTLSKeyDataX509AdoptCert.returns"></a><h4>Returns</h4>
+<p> 0 on success or a negative value if an error occurs.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="xmlSecGnuTLSKeyDataX509GetCert"></a><h3>xmlSecGnuTLSKeyDataX509GetCert ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">gnutls_x509_crt_t</span></font>
+xmlSecGnuTLSKeyDataX509GetCert (<em class="parameter"><code><font><span class="type">xmlSecKeyDataPtr</span></font> data</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="type">xmlSecSize</span></a> pos</code></em>);</pre>
+<p>Gets a certificate from X509 key data.</p>
+<div class="refsect3">
+<a name="xmlSecGnuTLSKeyDataX509GetCert.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the pointer to X509 key data.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>pos</p></td>
+<td class="parameter_description"><p>the desired certificate position.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="xmlSecGnuTLSKeyDataX509GetCert.returns"></a><h4>Returns</h4>
+<p> the pointer to certificate or NULL if <em class="parameter"><code>pos</code></em>
+is larger than the
+number of certificates in <em class="parameter"><code>data</code></em>
+or an error occurs.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="xmlSecGnuTLSKeyDataX509GetCertsSize"></a><h3>xmlSecGnuTLSKeyDataX509GetCertsSize ()</h3>
+<pre class="programlisting"><a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="returnvalue">xmlSecSize</span></a>
+xmlSecGnuTLSKeyDataX509GetCertsSize (<em class="parameter"><code><font><span class="type">xmlSecKeyDataPtr</span></font> data</code></em>);</pre>
+<p>Gets the number of certificates in <em class="parameter"><code>data</code></em>
+.</p>
+<div class="refsect3">
+<a name="xmlSecGnuTLSKeyDataX509GetCertsSize.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the pointer to X509 key data.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="xmlSecGnuTLSKeyDataX509GetCertsSize.returns"></a><h4>Returns</h4>
+<p> te number of certificates in <em class="parameter"><code>data</code></em>
+.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="xmlSecGnuTLSKeyDataX509AdoptCrl"></a><h3>xmlSecGnuTLSKeyDataX509AdoptCrl ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecGnuTLSKeyDataX509AdoptCrl (<em class="parameter"><code><font><span class="type">xmlSecKeyDataPtr</span></font> data</code></em>,
+ <em class="parameter"><code><font><span class="type">gnutls_x509_crl_t</span></font> crl</code></em>);</pre>
+<p>Adds crl to the X509 key data.</p>
+<div class="refsect3">
+<a name="xmlSecGnuTLSKeyDataX509AdoptCrl.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the pointer to X509 key data.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>crl</p></td>
+<td class="parameter_description"><p>the pointer to GnuTLS X509 crl.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="xmlSecGnuTLSKeyDataX509AdoptCrl.returns"></a><h4>Returns</h4>
+<p> 0 on success or a negative value if an error occurs.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="xmlSecGnuTLSKeyDataX509GetCrl"></a><h3>xmlSecGnuTLSKeyDataX509GetCrl ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">gnutls_x509_crl_t</span></font>
+xmlSecGnuTLSKeyDataX509GetCrl (<em class="parameter"><code><font><span class="type">xmlSecKeyDataPtr</span></font> data</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="type">xmlSecSize</span></a> pos</code></em>);</pre>
+<p>Gets a crl from X509 key data.</p>
+<div class="refsect3">
+<a name="xmlSecGnuTLSKeyDataX509GetCrl.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the pointer to X509 key data.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>pos</p></td>
+<td class="parameter_description"><p>the desired crl position.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="xmlSecGnuTLSKeyDataX509GetCrl.returns"></a><h4>Returns</h4>
+<p> the pointer to crl or NULL if <em class="parameter"><code>pos</code></em>
+is larger than the
+number of crls in <em class="parameter"><code>data</code></em>
+or an error occurs.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="xmlSecGnuTLSKeyDataX509GetCrlsSize"></a><h3>xmlSecGnuTLSKeyDataX509GetCrlsSize ()</h3>
+<pre class="programlisting"><a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="returnvalue">xmlSecSize</span></a>
+xmlSecGnuTLSKeyDataX509GetCrlsSize (<em class="parameter"><code><font><span class="type">xmlSecKeyDataPtr</span></font> data</code></em>);</pre>
+<p>Gets the number of crls in <em class="parameter"><code>data</code></em>
+.</p>
+<div class="refsect3">
+<a name="xmlSecGnuTLSKeyDataX509GetCrlsSize.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the pointer to X509 key data.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="xmlSecGnuTLSKeyDataX509GetCrlsSize.returns"></a><h4>Returns</h4>
+<p> te number of crls in <em class="parameter"><code>data</code></em>
+.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="xmlSecGnuTLSX509CertGetKey"></a><h3>xmlSecGnuTLSX509CertGetKey ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecKeyDataPtr</span></font>
+xmlSecGnuTLSX509CertGetKey (<em class="parameter"><code><font><span class="type">gnutls_x509_crt_t</span></font> cert</code></em>);</pre>
+<p>Extracts public key from the <em class="parameter"><code>cert</code></em>
+.</p>
+<div class="refsect3">
+<a name="xmlSecGnuTLSX509CertGetKey.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>cert</p></td>
+<td class="parameter_description"><p>the certificate.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="xmlSecGnuTLSX509CertGetKey.returns"></a><h4>Returns</h4>
+<p> public key value or NULL if an error occurs.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="xmlSecGnuTLSKeyDataRawX509CertGetKlass"></a><h3>xmlSecGnuTLSKeyDataRawX509CertGetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecKeyDataId</span></font>
+xmlSecGnuTLSKeyDataRawX509CertGetKlass
+ (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
+<p>The raw X509 certificates key data klass.</p>
+<div class="refsect3">
+<a name="xmlSecGnuTLSKeyDataRawX509CertGetKlass.returns"></a><h4>Returns</h4>
+<p> raw X509 certificates key data klass.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="xmlSecGnuTLSX509StoreGetKlass"></a><h3>xmlSecGnuTLSX509StoreGetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecKeyDataStoreId</span></font>
+xmlSecGnuTLSX509StoreGetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
+<p>The GnuTLS X509 certificates key data store klass.</p>
+<div class="refsect3">
+<a name="xmlSecGnuTLSX509StoreGetKlass.returns"></a><h4>Returns</h4>
+<p> pointer to GnuTLS X509 certificates key data store klass.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="xmlSecGnuTLSX509StoreFindCert"></a><h3>xmlSecGnuTLSX509StoreFindCert ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">gnutls_x509_crt_t</span></font>
+xmlSecGnuTLSX509StoreFindCert (<em class="parameter"><code>const <font><span class="type">xmlSecKeyDataStorePtr</span></font> store</code></em>,
+ <em class="parameter"><code>const <font><span class="type">xmlChar</span></font> *subjectName</code></em>,
+ <em class="parameter"><code>const <font><span class="type">xmlChar</span></font> *issuerName</code></em>,
+ <em class="parameter"><code>const <font><span class="type">xmlChar</span></font> *issuerSerial</code></em>,
+ <em class="parameter"><code>const <font><span class="type">xmlChar</span></font> *ski</code></em>,
+ <em class="parameter"><code>const <a class="link" href="xmlsec-keyinfo.html#xmlSecKeyInfoCtx" title="struct xmlSecKeyInfoCtx"><span class="type">xmlSecKeyInfoCtx</span></a> *keyInfoCtx</code></em>);</pre>
+<p>Searches <em class="parameter"><code>store</code></em>
+ for a certificate that matches given criteria.</p>
+<div class="refsect3">
+<a name="xmlSecGnuTLSX509StoreFindCert.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>store</p></td>
+<td class="parameter_description"><p>the pointer to X509 key data store klass.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>subjectName</p></td>
+<td class="parameter_description"><p>the desired certificate name.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>issuerName</p></td>
+<td class="parameter_description"><p>the desired certificate issuer name.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>issuerSerial</p></td>
+<td class="parameter_description"><p>the desired certificate issuer serial number.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>ski</p></td>
+<td class="parameter_description"><p>the desired certificate SKI.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>keyInfoCtx</p></td>
+<td class="parameter_description"><p>the pointer to <dsig:KeyInfo/> element processing context.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="xmlSecGnuTLSX509StoreFindCert.returns"></a><h4>Returns</h4>
+<p> pointer to found certificate or NULL if certificate is not found
+or an error occurs.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="xmlSecGnuTLSX509StoreVerify"></a><h3>xmlSecGnuTLSX509StoreVerify ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">gnutls_x509_crt_t</span></font>
+xmlSecGnuTLSX509StoreVerify (<em class="parameter"><code><font><span class="type">xmlSecKeyDataStorePtr</span></font> store</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlSecPtrListPtr</span></font> certs</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlSecPtrListPtr</span></font> crls</code></em>,
+ <em class="parameter"><code>const <a class="link" href="xmlsec-keyinfo.html#xmlSecKeyInfoCtx" title="struct xmlSecKeyInfoCtx"><span class="type">xmlSecKeyInfoCtx</span></a> *keyInfoCtx</code></em>);</pre>
+<p>Verifies <em class="parameter"><code>certs</code></em>
+ list.</p>
+<div class="refsect3">
+<a name="xmlSecGnuTLSX509StoreVerify.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>store</p></td>
+<td class="parameter_description"><p>the pointer to X509 key data store klass.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>certs</p></td>
+<td class="parameter_description"><p>the untrusted certificates.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>crls</p></td>
+<td class="parameter_description"><p>the crls.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>keyInfoCtx</p></td>
+<td class="parameter_description"><p>the pointer to <dsig:KeyInfo/> element processing context.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="xmlSecGnuTLSX509StoreVerify.returns"></a><h4>Returns</h4>
+<p> pointer to the first verified certificate from <em class="parameter"><code>certs</code></em>
+.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="xmlSecGnuTLSX509StoreAdoptCert"></a><h3>xmlSecGnuTLSX509StoreAdoptCert ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecGnuTLSX509StoreAdoptCert (<em class="parameter"><code><font><span class="type">xmlSecKeyDataStorePtr</span></font> store</code></em>,
+ <em class="parameter"><code><font><span class="type">gnutls_x509_crt_t</span></font> cert</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataType" title="xmlSecKeyDataType"><span class="type">xmlSecKeyDataType</span></a> type</code></em>);</pre>
+<p>Adds trusted (root) or untrusted certificate to the store.</p>
+<div class="refsect3">
+<a name="xmlSecGnuTLSX509StoreAdoptCert.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>store</p></td>
+<td class="parameter_description"><p>the pointer to X509 key data store klass.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cert</p></td>
+<td class="parameter_description"><p>the pointer to GnuTLS X509 certificate.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>type</p></td>
+<td class="parameter_description"><p>the certificate type (trusted/untrusted).</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="xmlSecGnuTLSX509StoreAdoptCert.returns"></a><h4>Returns</h4>
+<p> 0 on success or a negative value if an error occurs.</p>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="xmlsec-gnutls-x509.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="xmlSecGnuTLSKeyDataX509Id"></a><h3>xmlSecGnuTLSKeyDataX509Id</h3>
+<pre class="programlisting">#define xmlSecGnuTLSKeyDataX509Id</pre>
+<p>The GnuTLS X509 data klass.</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="xmlSecGnuTLSKeyDataRawX509CertId"></a><h3>xmlSecGnuTLSKeyDataRawX509CertId</h3>
+<pre class="programlisting">#define xmlSecGnuTLSKeyDataRawX509CertId</pre>
+<p>The GnuTLS raw X509 certificate klass.</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="xmlSecGnuTLSX509StoreId"></a><h3>xmlSecGnuTLSX509StoreId</h3>
+<pre class="programlisting">#define xmlSecGnuTLSX509StoreId</pre>
+<p>The GnuTLS X509 store klass.</p>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
+</td></tr></table></td>
+</tr></table></body>
+</html>
diff --git a/docs/api/xmlsec-index.html b/docs/api/xmlsec-index.html
index a6f3d15..b37eff4 100644
--- a/docs/api/xmlsec-index.html
+++ b/docs/api/xmlsec-index.html
@@ -1,40 +1,13 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>XML Security Library Reference Index</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79">
-<link rel="HOME" title="XML Security Library Reference Manual" href="index.html">
-<link rel="UP" title="XML Security Library API Reference." href="xmlsec-reference.html">
-<link rel="PREVIOUS" title="x509" href="xmlsec-mscrypto-x509.html">
-<style type="text/css">.synopsis, .classsynopsis {
- background: #eeeeee;
- border: solid 1px #aaaaaa;
- padding: 0.5em;
-}
-.programlisting {
- background: #eeeeff;
- border: solid 1px #aaaaff;
- padding: 0.5em;
-}
-.variablelist {
- padding: 4px;
- margin-left: 3em;
-}
-.navigation {
- background: #ffeeee;
- border: solid 1px #ffaaaa;
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
-.navigation a {
- color: #770000;
-}
-.navigation a:visited {
- color: #550000;
-}
-.navigation .title {
- font-size: 200%;
-}</style>
+<title>XML Security Library Reference Index: XML Security Library Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="XML Security Library Reference Manual">
+<link rel="up" href="xmlsec-reference.html" title="Part II. XML Security Library API Reference.">
+<link rel="prev" href="xmlsec-mscrypto-x509.html" title="x509">
+<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
<style type="text/css">
table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
width: 20em;
@@ -99,1565 +72,1569 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
</table>
</td>
<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent">
-<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td><a accesskey="p" href="xmlsec-mscrypto-x509.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="xmlsec-reference.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<th width="100%" align="center">XML Security Library Reference Manual</th>
-</tr></table>
-<div class="CHAPTER">
-<h1>
-<a name="XMLSEC-INDEX"></a>XML Security Library Reference Index</h1>
-<p> </p>
-<p></p>
-<ul>
-<li><p><font>ATTRIBUTE-UNUSED</font></p></li>
-<li><p><a href="xmlsec-xmlenc.html#XMLENCCTXMODE">xmlEncCtxMode</a></p></li>
-<li><p><a href="xmlsec-xmltree.html#XMLSECADDCHILD">xmlSecAddChild</a></p></li>
-<li><p><a href="xmlsec-xmltree.html#XMLSECADDCHILDNODE">xmlSecAddChildNode</a></p></li>
-<li><p><a href="xmlsec-xmltree.html#XMLSECADDIDS">xmlSecAddIDs</a></p></li>
-<li><p><a href="xmlsec-xmltree.html#XMLSECADDNEXTSIBLING">xmlSecAddNextSibling</a></p></li>
-<li><p><a href="xmlsec-xmltree.html#XMLSECADDPREVSIBLING">xmlSecAddPrevSibling</a></p></li>
-<li><p><a href="xmlsec-buffer.html#XMLSECALLOCMODE">xmlSecAllocMode</a></p></li>
-<li><p><a href="xmlsec-errors.html#XMLSECASSERT2">xmlSecAssert2</a></p></li>
-<li><p><a href="xmlsec-errors.html#XMLSECASSERT">xmlSecAssert</a></p></li>
-<li><p><a href="xmlsec-base64.html#XMLSECBASE64CTXCREATE">xmlSecBase64CtxCreate</a></p></li>
-<li><p><a href="xmlsec-base64.html#XMLSECBASE64CTXDESTROY">xmlSecBase64CtxDestroy</a></p></li>
-<li><p><a href="xmlsec-base64.html#XMLSECBASE64CTXFINALIZE">xmlSecBase64CtxFinalize</a></p></li>
-<li><p><a href="xmlsec-base64.html#XMLSECBASE64CTXFINAL">xmlSecBase64CtxFinal</a></p></li>
-<li><p><a href="xmlsec-base64.html#XMLSECBASE64CTXINITIALIZE">xmlSecBase64CtxInitialize</a></p></li>
-<li><p><a href="xmlsec-base64.html#XMLSECBASE64CTXUPDATE">xmlSecBase64CtxUpdate</a></p></li>
-<li><p><a href="xmlsec-base64.html#XMLSECBASE64DECODE">xmlSecBase64Decode</a></p></li>
-<li><p><a href="xmlsec-base64.html#XMLSECBASE64ENCODE">xmlSecBase64Encode</a></p></li>
-<li><p><a href="xmlsec-base64.html#XMLSECBASE64GETDEFAULTLINESIZE">xmlSecBase64GetDefaultLineSize</a></p></li>
-<li><p><font>XMLSEC-BASE64-LINESIZE</font></p></li>
-<li><p><a href="xmlsec-base64.html#XMLSECBASE64SETDEFAULTLINESIZE">xmlSecBase64SetDefaultLineSize</a></p></li>
-<li><p><a href="xmlsec-xmltree.html#XMLSECBITMASK">xmlSecBitMask</a></p></li>
-<li><p><a href="xmlsec-bn.html#XMLSECBNADD">xmlSecBnAdd</a></p></li>
-<li><p><a href="xmlsec-bn.html#XMLSECBNBLOBSETNODEVALUE">xmlSecBnBlobSetNodeValue</a></p></li>
-<li><p><a href="xmlsec-bn.html#XMLSECBNCOMPARE">xmlSecBnCompare</a></p></li>
-<li><p><a href="xmlsec-bn.html#XMLSECBNCOMPAREREVERSE">xmlSecBnCompareReverse</a></p></li>
-<li><p><a href="xmlsec-bn.html#XMLSECBNCREATE">xmlSecBnCreate</a></p></li>
-<li><p><a href="xmlsec-bn.html#XMLSECBNDESTROY">xmlSecBnDestroy</a></p></li>
-<li><p><a href="xmlsec-bn.html#XMLSECBNDIV">xmlSecBnDiv</a></p></li>
-<li><p><a href="xmlsec-bn.html#XMLSECBNFINALIZE">xmlSecBnFinalize</a></p></li>
-<li><p><a href="xmlsec-bn.html#XMLSECBNFORMAT">xmlSecBnFormat</a></p></li>
-<li><p><a href="xmlsec-bn.html#XMLSECBNFROMDECSTRING">xmlSecBnFromDecString</a></p></li>
-<li><p><a href="xmlsec-bn.html#XMLSECBNFROMHEXSTRING">xmlSecBnFromHexString</a></p></li>
-<li><p><a href="xmlsec-bn.html#XMLSECBNFROMSTRING">xmlSecBnFromString</a></p></li>
-<li><p><a href="xmlsec-bn.html#XMLSECBNGETDATA">xmlSecBnGetData</a></p></li>
-<li><p><a href="xmlsec-bn.html#XMLSECBNGETNODEVALUE">xmlSecBnGetNodeValue</a></p></li>
-<li><p><a href="xmlsec-bn.html#XMLSECBNGETSIZE">xmlSecBnGetSize</a></p></li>
-<li><p><a href="xmlsec-bn.html#XMLSECBNINITIALIZE">xmlSecBnInitialize</a></p></li>
-<li><p><a href="xmlsec-bn.html#XMLSECBNMUL">xmlSecBnMul</a></p></li>
-<li><p><a href="xmlsec-bn.html#XMLSECBNREVERSE">xmlSecBnReverse</a></p></li>
-<li><p><a href="xmlsec-bn.html#XMLSECBNSETDATA">xmlSecBnSetData</a></p></li>
-<li><p><a href="xmlsec-bn.html#XMLSECBNSETNODEVALUE">xmlSecBnSetNodeValue</a></p></li>
-<li><p><a href="xmlsec-bn.html#XMLSECBNTODECSTRING">xmlSecBnToDecString</a></p></li>
-<li><p><a href="xmlsec-bn.html#XMLSECBNTOHEXSTRING">xmlSecBnToHexString</a></p></li>
-<li><p><a href="xmlsec-bn.html#XMLSECBNTOSTRING">xmlSecBnToString</a></p></li>
-<li><p><a href="xmlsec-bn.html#XMLSECBNZERO">xmlSecBnZero</a></p></li>
-<li><p><a href="xmlsec-buffer.html#XMLSECBUFFERAPPEND">xmlSecBufferAppend</a></p></li>
-<li><p><a href="xmlsec-buffer.html#XMLSECBUFFERBASE64NODECONTENTREAD">xmlSecBufferBase64NodeContentRead</a></p></li>
-<li><p><a href="xmlsec-buffer.html#XMLSECBUFFERBASE64NODECONTENTWRITE">xmlSecBufferBase64NodeContentWrite</a></p></li>
-<li><p><a href="xmlsec-buffer.html#XMLSECBUFFERCREATE">xmlSecBufferCreate</a></p></li>
-<li><p><a href="xmlsec-buffer.html#XMLSECBUFFERCREATEOUTPUTBUFFER">xmlSecBufferCreateOutputBuffer</a></p></li>
-<li><p><a href="xmlsec-buffer.html#XMLSECBUFFERDESTROY">xmlSecBufferDestroy</a></p></li>
-<li><p><a href="xmlsec-buffer.html#XMLSECBUFFEREMPTY">xmlSecBufferEmpty</a></p></li>
-<li><p><a href="xmlsec-buffer.html#XMLSECBUFFERFINALIZE">xmlSecBufferFinalize</a></p></li>
-<li><p><a href="xmlsec-buffer.html#XMLSECBUFFERGETDATA">xmlSecBufferGetData</a></p></li>
-<li><p><a href="xmlsec-buffer.html#XMLSECBUFFERGETMAXSIZE">xmlSecBufferGetMaxSize</a></p></li>
-<li><p><a href="xmlsec-buffer.html#XMLSECBUFFERGETSIZE">xmlSecBufferGetSize</a></p></li>
-<li><p><a href="xmlsec-buffer.html#XMLSECBUFFERINITIALIZE">xmlSecBufferInitialize</a></p></li>
-<li><p><a href="xmlsec-buffer.html#XMLSECBUFFER">xmlSecBuffer</a></p></li>
-<li><p><a href="xmlsec-buffer.html#XMLSECBUFFERPREPEND">xmlSecBufferPrepend</a></p></li>
-<li><p><a href="xmlsec-buffer.html#XMLSECBUFFERREADFILE">xmlSecBufferReadFile</a></p></li>
-<li><p><a href="xmlsec-buffer.html#XMLSECBUFFERREMOVEHEAD">xmlSecBufferRemoveHead</a></p></li>
-<li><p><a href="xmlsec-buffer.html#XMLSECBUFFERREMOVETAIL">xmlSecBufferRemoveTail</a></p></li>
-<li><p><a href="xmlsec-buffer.html#XMLSECBUFFERSETDATA">xmlSecBufferSetData</a></p></li>
-<li><p><a href="xmlsec-buffer.html#XMLSECBUFFERSETDEFAULTALLOCMODE">xmlSecBufferSetDefaultAllocMode</a></p></li>
-<li><p><a href="xmlsec-buffer.html#XMLSECBUFFERSETMAXSIZE">xmlSecBufferSetMaxSize</a></p></li>
-<li><p><a href="xmlsec-buffer.html#XMLSECBUFFERSETSIZE">xmlSecBufferSetSize</a></p></li>
-<li><p><a href="xmlsec-xmlsec.html#XMLSECBYTE">xmlSecByte</a></p></li>
-<li><p><a href="xmlsec-xmltree.html#XMLSECCHECKNODENAME">xmlSecCheckNodeName</a></p></li>
-<li><p><a href="xmlsec-xmlsec.html#XMLSECCHECKVERSIONEXACT">xmlSecCheckVersionExact</a></p></li>
-<li><p><a href="xmlsec-xmlsec.html#XMLSECCHECKVERSIONEXT">xmlSecCheckVersionExt</a></p></li>
-<li><p><a href="xmlsec-xmlsec.html#XMLSECCHECKVERSIONMODE">xmlSecCheckVersionMode</a></p></li>
-<li><p><a href="xmlsec-xmlsec.html#XMLSECCHECKVERSION">xmlSecCheckVersion</a></p></li>
-<li><p><a href="xmlsec-xmltree.html#XMLSECCREATETREE">xmlSecCreateTree</a></p></li>
-<li><p><a href="xmlsec-app.html#XMLSECCRYPTOAPPDEFAULTKEYSMNGRADOPTKEY">xmlSecCryptoAppDefaultKeysMngrAdoptKey</a></p></li>
-<li><p><a href="xmlsec-app.html#XMLSECCRYPTOAPPDEFAULTKEYSMNGRINIT">xmlSecCryptoAppDefaultKeysMngrInit</a></p></li>
-<li><p><a href="xmlsec-app.html#XMLSECCRYPTOAPPDEFAULTKEYSMNGRLOAD">xmlSecCryptoAppDefaultKeysMngrLoad</a></p></li>
-<li><p><a href="xmlsec-app.html#XMLSECCRYPTOAPPDEFAULTKEYSMNGRSAVE">xmlSecCryptoAppDefaultKeysMngrSave</a></p></li>
-<li><p><a href="xmlsec-app.html#XMLSECCRYPTOAPPGETDEFAULTPWDCALLBACK">xmlSecCryptoAppGetDefaultPwdCallback</a></p></li>
-<li><p><font>xmlSecCryptoAppInitMethod</font></p></li>
-<li><p><a href="xmlsec-app.html#XMLSECCRYPTOAPPINIT">xmlSecCryptoAppInit</a></p></li>
-<li><p><font>xmlSecCryptoAppKeyCertLoadMemoryMethod</font></p></li>
-<li><p><a href="xmlsec-app.html#XMLSECCRYPTOAPPKEYCERTLOADMEMORY">xmlSecCryptoAppKeyCertLoadMemory</a></p></li>
-<li><p><font>xmlSecCryptoAppKeyCertLoadMethod</font></p></li>
-<li><p><a href="xmlsec-app.html#XMLSECCRYPTOAPPKEYCERTLOAD">xmlSecCryptoAppKeyCertLoad</a></p></li>
-<li><p><font>xmlSecCryptoAppKeyLoadMemoryMethod</font></p></li>
-<li><p><a href="xmlsec-app.html#XMLSECCRYPTOAPPKEYLOADMEMORY">xmlSecCryptoAppKeyLoadMemory</a></p></li>
-<li><p><font>xmlSecCryptoAppKeyLoadMethod</font></p></li>
-<li><p><a href="xmlsec-app.html#XMLSECCRYPTOAPPKEYLOAD">xmlSecCryptoAppKeyLoad</a></p></li>
-<li><p><font>xmlSecCryptoAppKeysMngrCertLoadMemoryMethod</font></p></li>
-<li><p><a href="xmlsec-app.html#XMLSECCRYPTOAPPKEYSMNGRCERTLOADMEMORY">xmlSecCryptoAppKeysMngrCertLoadMemory</a></p></li>
-<li><p><font>xmlSecCryptoAppKeysMngrCertLoadMethod</font></p></li>
-<li><p><a href="xmlsec-app.html#XMLSECCRYPTOAPPKEYSMNGRCERTLOAD">xmlSecCryptoAppKeysMngrCertLoad</a></p></li>
-<li><p><font>xmlSecCryptoAppPkcs12LoadMemoryMethod</font></p></li>
-<li><p><a href="xmlsec-app.html#XMLSECCRYPTOAPPPKCS12LOADMEMORY">xmlSecCryptoAppPkcs12LoadMemory</a></p></li>
-<li><p><font>xmlSecCryptoAppPkcs12LoadMethod</font></p></li>
-<li><p><a href="xmlsec-app.html#XMLSECCRYPTOAPPPKCS12LOAD">xmlSecCryptoAppPkcs12Load</a></p></li>
-<li><p><font>xmlSecCryptoAppShutdownMethod</font></p></li>
-<li><p><a href="xmlsec-app.html#XMLSECCRYPTOAPPSHUTDOWN">xmlSecCryptoAppShutdown</a></p></li>
-<li><p><font>xmlSecCryptoDLFunctions</font></p></li>
-<li><p><a href="xmlsec-dl.html#XMLSECCRYPTODLFUNCTIONSREGISTERKEYDATAANDTRANSFORMS">xmlSecCryptoDLFunctionsRegisterKeyDataAndTransforms</a></p></li>
-<li><p><a href="xmlsec-dl.html#XMLSECCRYPTODLGETFUNCTIONS">xmlSecCryptoDLGetFunctions</a></p></li>
-<li><p><a href="xmlsec-dl.html#XMLSECCRYPTODLGETLIBRARYFUNCTIONS">xmlSecCryptoDLGetLibraryFunctions</a></p></li>
-<li><p><a href="xmlsec-dl.html#XMLSECCRYPTODLINIT">xmlSecCryptoDLInit</a></p></li>
-<li><p><a href="xmlsec-dl.html#XMLSECCRYPTODLLOADLIBRARY">xmlSecCryptoDLLoadLibrary</a></p></li>
-<li><p><a href="xmlsec-dl.html#XMLSECCRYPTODLSETFUNCTIONS">xmlSecCryptoDLSetFunctions</a></p></li>
-<li><p><a href="xmlsec-dl.html#XMLSECCRYPTODLSHUTDOWN">xmlSecCryptoDLShutdown</a></p></li>
-<li><p><a href="xmlsec-dl.html#XMLSECCRYPTODLUNLOADLIBRARY">xmlSecCryptoDLUnloadLibrary</a></p></li>
-<li><p><font>xmlSecCryptoGetFunctions-gcrypt</font></p></li>
-<li><p><font>xmlSecCryptoGetFunctions-gnutls</font></p></li>
-<li><p><font>xmlSecCryptoGetFunctions-mscrypto</font></p></li>
-<li><p><font>xmlSecCryptoGetFunctions-nss</font></p></li>
-<li><p><font>xmlSecCryptoGetFunctions-openssl</font></p></li>
-<li><p><font>xmlSecCryptoInitMethod</font></p></li>
-<li><p><a href="xmlsec-app.html#XMLSECCRYPTOINIT">xmlSecCryptoInit</a></p></li>
-<li><p><font>xmlSecCryptoKeyDataGetKlassMethod</font></p></li>
-<li><p><font>xmlSecCryptoKeyDataStoreGetKlassMethod</font></p></li>
-<li><p><font>xmlSecCryptoKeysMngrInitMethod</font></p></li>
-<li><p><a href="xmlsec-app.html#XMLSECCRYPTOKEYSMNGRINIT">xmlSecCryptoKeysMngrInit</a></p></li>
-<li><p><font>XMLSEC-CRYPTO</font></p></li>
-<li><p><font>xmlSecCryptoShutdownMethod</font></p></li>
-<li><p><a href="xmlsec-app.html#XMLSECCRYPTOSHUTDOWN">xmlSecCryptoShutdown</a></p></li>
-<li><p><font>xmlSecCryptoTransformGetKlassMethod</font></p></li>
-<li><p><a href="xmlsec-xmldsig.html#XMLSECDSIGCTXCREATE">xmlSecDSigCtxCreate</a></p></li>
-<li><p><a href="xmlsec-xmldsig.html#XMLSECDSIGCTXDEBUGDUMP">xmlSecDSigCtxDebugDump</a></p></li>
-<li><p><a href="xmlsec-xmldsig.html#XMLSECDSIGCTXDEBUGXMLDUMP">xmlSecDSigCtxDebugXmlDump</a></p></li>
-<li><p><a href="xmlsec-xmldsig.html#XMLSECDSIGCTXDESTROY">xmlSecDSigCtxDestroy</a></p></li>
-<li><p><a href="xmlsec-xmldsig.html#XMLSECDSIGCTXENABLEREFERENCETRANSFORM">xmlSecDSigCtxEnableReferenceTransform</a></p></li>
-<li><p><a href="xmlsec-xmldsig.html#XMLSECDSIGCTXENABLESIGNATURETRANSFORM">xmlSecDSigCtxEnableSignatureTransform</a></p></li>
-<li><p><a href="xmlsec-xmldsig.html#XMLSECDSIGCTXFINALIZE">xmlSecDSigCtxFinalize</a></p></li>
-<li><p><a href="xmlsec-xmldsig.html#XMLSECDSIGCTXGETPRESIGNBUFFER">xmlSecDSigCtxGetPreSignBuffer</a></p></li>
-<li><p><a href="xmlsec-xmldsig.html#XMLSECDSIGCTXINITIALIZE">xmlSecDSigCtxInitialize</a></p></li>
-<li><p><a href="xmlsec-xmldsig.html#XMLSECDSIGCTX">xmlSecDSigCtx</a></p></li>
-<li><p><a href="xmlsec-xmldsig.html#XMLSECDSIGCTXSIGN">xmlSecDSigCtxSign</a></p></li>
-<li><p><a href="xmlsec-xmldsig.html#XMLSECDSIGCTXVERIFY">xmlSecDSigCtxVerify</a></p></li>
-<li><p><font>XMLSEC-DSIG-FLAGS-IGNORE-MANIFESTS</font></p></li>
-<li><p><font>XMLSEC-DSIG-FLAGS-STORE-MANIFEST-REFERENCES</font></p></li>
-<li><p><font>XMLSEC-DSIG-FLAGS-STORE-SIGNATURE</font></p></li>
-<li><p><font>XMLSEC-DSIG-FLAGS-STORE-SIGNEDINFO-REFERENCES</font></p></li>
-<li><p><font>XMLSEC-DSIG-FLAGS-USE-VISA3D-HACK</font></p></li>
-<li><p><a href="xmlsec-xmldsig.html#XMLSECDSIGREFERENCECTXCREATE">xmlSecDSigReferenceCtxCreate</a></p></li>
-<li><p><a href="xmlsec-xmldsig.html#XMLSECDSIGREFERENCECTXDEBUGDUMP">xmlSecDSigReferenceCtxDebugDump</a></p></li>
-<li><p><a href="xmlsec-xmldsig.html#XMLSECDSIGREFERENCECTXDEBUGXMLDUMP">xmlSecDSigReferenceCtxDebugXmlDump</a></p></li>
-<li><p><a href="xmlsec-xmldsig.html#XMLSECDSIGREFERENCECTXDESTROY">xmlSecDSigReferenceCtxDestroy</a></p></li>
-<li><p><a href="xmlsec-xmldsig.html#XMLSECDSIGREFERENCECTXFINALIZE">xmlSecDSigReferenceCtxFinalize</a></p></li>
-<li><p><a href="xmlsec-xmldsig.html#XMLSECDSIGREFERENCECTXGETPREDIGESTBUFFER">xmlSecDSigReferenceCtxGetPreDigestBuffer</a></p></li>
-<li><p><a href="xmlsec-xmldsig.html#XMLSECDSIGREFERENCECTXINITIALIZE">xmlSecDSigReferenceCtxInitialize</a></p></li>
-<li><p><a href="xmlsec-xmldsig.html#XMLSECDSIGREFERENCECTXLISTGETKLASS">xmlSecDSigReferenceCtxListGetKlass</a></p></li>
-<li><p><a href="xmlsec-xmldsig.html#XMLSECDSIGREFERENCECTXLISTID">xmlSecDSigReferenceCtxListId</a></p></li>
-<li><p><a href="xmlsec-xmldsig.html#XMLSECDSIGREFERENCECTX">xmlSecDSigReferenceCtx</a></p></li>
-<li><p><a href="xmlsec-xmldsig.html#XMLSECDSIGREFERENCECTXPROCESSNODE">xmlSecDSigReferenceCtxProcessNode</a></p></li>
-<li><p><a href="xmlsec-xmldsig.html#XMLSECDSIGREFERENCEORIGIN">xmlSecDSigReferenceOrigin</a></p></li>
-<li><p><a href="xmlsec-xmldsig.html#XMLSECDSIGSTATUS">xmlSecDSigStatus</a></p></li>
-<li><p><a href="xmlsec-xmlenc.html#XMLSECENCCTXBINARYENCRYPT">xmlSecEncCtxBinaryEncrypt</a></p></li>
-<li><p><a href="xmlsec-xmlenc.html#XMLSECENCCTXCOPYUSERPREF">xmlSecEncCtxCopyUserPref</a></p></li>
-<li><p><a href="xmlsec-xmlenc.html#XMLSECENCCTXCREATE">xmlSecEncCtxCreate</a></p></li>
-<li><p><a href="xmlsec-xmlenc.html#XMLSECENCCTXDEBUGDUMP">xmlSecEncCtxDebugDump</a></p></li>
-<li><p><a href="xmlsec-xmlenc.html#XMLSECENCCTXDEBUGXMLDUMP">xmlSecEncCtxDebugXmlDump</a></p></li>
-<li><p><a href="xmlsec-xmlenc.html#XMLSECENCCTXDECRYPT">xmlSecEncCtxDecrypt</a></p></li>
-<li><p><a href="xmlsec-xmlenc.html#XMLSECENCCTXDECRYPTTOBUFFER">xmlSecEncCtxDecryptToBuffer</a></p></li>
-<li><p><a href="xmlsec-xmlenc.html#XMLSECENCCTXDESTROY">xmlSecEncCtxDestroy</a></p></li>
-<li><p><a href="xmlsec-xmlenc.html#XMLSECENCCTXFINALIZE">xmlSecEncCtxFinalize</a></p></li>
-<li><p><a href="xmlsec-xmlenc.html#XMLSECENCCTXINITIALIZE">xmlSecEncCtxInitialize</a></p></li>
-<li><p><a href="xmlsec-xmlenc.html#XMLSECENCCTX">xmlSecEncCtx</a></p></li>
-<li><p><a href="xmlsec-xmlenc.html#XMLSECENCCTXRESET">xmlSecEncCtxReset</a></p></li>
-<li><p><a href="xmlsec-xmlenc.html#XMLSECENCCTXURIENCRYPT">xmlSecEncCtxUriEncrypt</a></p></li>
-<li><p><a href="xmlsec-xmlenc.html#XMLSECENCCTXXMLENCRYPT">xmlSecEncCtxXmlEncrypt</a></p></li>
-<li><p><font>XMLSEC-ENC-RETURN-REPLACED-NODE</font></p></li>
-<li><p><a href="xmlsec-xmltree.html#XMLSECENSUREEMPTYCHILD">xmlSecEnsureEmptyChild</a></p></li>
-<li><p><a href="xmlsec-errors.html#XMLSECERROR">xmlSecError</a></p></li>
-<li><p><a href="xmlsec-errors.html#XMLSECERRORSCALLBACK">xmlSecErrorsCallback</a></p></li>
-<li><p><a href="xmlsec-errors.html#XMLSECERRORSDEFAULTCALLBACKENABLEOUTPUT">xmlSecErrorsDefaultCallbackEnableOutput</a></p></li>
-<li><p><a href="xmlsec-errors.html#XMLSECERRORSDEFAULTCALLBACK">xmlSecErrorsDefaultCallback</a></p></li>
-<li><p><a href="xmlsec-errors.html#XMLSECERRORSGETCODE">xmlSecErrorsGetCode</a></p></li>
-<li><p><a href="xmlsec-errors.html#XMLSECERRORSGETMSG">xmlSecErrorsGetMsg</a></p></li>
-<li><p><font>XMLSEC-ERRORS-HERE</font></p></li>
-<li><p><a href="xmlsec-errors.html#XMLSECERRORSINIT">xmlSecErrorsInit</a></p></li>
-<li><p><font>XMLSEC-ERRORS-MAX-NUMBER</font></p></li>
-<li><p><font>XMLSEC-ERRORS-NO-MESSAGE</font></p></li>
-<li><p><font>XMLSEC-ERRORS-R-ASSERTION</font></p></li>
-<li><p><font>XMLSEC-ERRORS-R-CERT-HAS-EXPIRED</font></p></li>
-<li><p><font>XMLSEC-ERRORS-R-CERT-ISSUER-FAILED</font></p></li>
-<li><p><font>XMLSEC-ERRORS-R-CERT-NOT-FOUND</font></p></li>
-<li><p><font>XMLSEC-ERRORS-R-CERT-NOT-YET-VALID</font></p></li>
-<li><p><font>XMLSEC-ERRORS-R-CERT-REVOKED</font></p></li>
-<li><p><font>XMLSEC-ERRORS-R-CERT-VERIFY-FAILED</font></p></li>
-<li><p><font>XMLSEC-ERRORS-R-CRYPTO-FAILED</font></p></li>
-<li><p><font>XMLSEC-ERRORS-R-DATA-NOT-MATCH</font></p></li>
-<li><p><font>XMLSEC-ERRORS-R-DISABLED</font></p></li>
-<li><p><font>XMLSEC-ERRORS-R-DSIG-INVALID-REFERENCE</font></p></li>
-<li><p><font>XMLSEC-ERRORS-R-DSIG-NO-REFERENCES</font></p></li>
-<li><p><font>XMLSEC-ERRORS-R-INVALID-DATA</font></p></li>
-<li><p><font>XMLSEC-ERRORS-R-INVALID-FORMAT</font></p></li>
-<li><p><font>XMLSEC-ERRORS-R-INVALID-KEY-DATA</font></p></li>
-<li><p><font>XMLSEC-ERRORS-R-INVALID-KEY-DATA-SIZE</font></p></li>
-<li><p><font>XMLSEC-ERRORS-R-INVALID-NODE-ATTRIBUTE</font></p></li>
-<li><p><font>XMLSEC-ERRORS-R-INVALID-NODE-CONTENT</font></p></li>
-<li><p><font>XMLSEC-ERRORS-R-INVALID-NODE</font></p></li>
-<li><p><font>XMLSEC-ERRORS-R-INVALID-OPERATION</font></p></li>
-<li><p><font>XMLSEC-ERRORS-R-INVALID-RESULT</font></p></li>
-<li><p><font>XMLSEC-ERRORS-R-INVALID-SIZE</font></p></li>
-<li><p><font>XMLSEC-ERRORS-R-INVALID-STATUS</font></p></li>
-<li><p><font>XMLSEC-ERRORS-R-INVALID-TRANSFORM-KEY</font></p></li>
-<li><p><font>XMLSEC-ERRORS-R-INVALID-TRANSFORM</font></p></li>
-<li><p><font>XMLSEC-ERRORS-R-INVALID-TYPE</font></p></li>
-<li><p><font>XMLSEC-ERRORS-R-INVALID-URI-TYPE</font></p></li>
-<li><p><font>XMLSEC-ERRORS-R-IO-FAILED</font></p></li>
-<li><p><font>XMLSEC-ERRORS-R-KEY-DATA-ALREADY-EXIST</font></p></li>
-<li><p><font>XMLSEC-ERRORS-R-KEYDATA-DISABLED</font></p></li>
-<li><p><font>XMLSEC-ERRORS-R-KEY-DATA-NOT-FOUND</font></p></li>
-<li><p><font>XMLSEC-ERRORS-R-KEY-NOT-FOUND</font></p></li>
-<li><p><font>XMLSEC-ERRORS-R-MALLOC-FAILED</font></p></li>
-<li><p><font>XMLSEC-ERRORS-R-MAX-ENCKEY-LEVEL</font></p></li>
-<li><p><font>XMLSEC-ERRORS-R-MAX-RETRIEVALS-LEVEL</font></p></li>
-<li><p><font>XMLSEC-ERRORS-R-MAX-RETRIEVAL-TYPE-MISMATCH</font></p></li>
-<li><p><font>XMLSEC-ERRORS-R-MISSING-NODE-ATTRIBUTE</font></p></li>
-<li><p><font>XMLSEC-ERRORS-R-NODE-ALREADY-PRESENT</font></p></li>
-<li><p><font>XMLSEC-ERRORS-R-NODE-NOT-FOUND</font></p></li>
-<li><p><font>XMLSEC-ERRORS-R-NOT-IMPLEMENTED</font></p></li>
-<li><p><font>XMLSEC-ERRORS-R-STRDUP-FAILED</font></p></li>
-<li><p><font>XMLSEC-ERRORS-R-TRANSFORM-DISABLED</font></p></li>
-<li><p><font>XMLSEC-ERRORS-R-TRANSFORM-SAME-DOCUMENT-REQUIRED</font></p></li>
-<li><p><font>XMLSEC-ERRORS-R-UNEXPECTED-NODE</font></p></li>
-<li><p><font>XMLSEC-ERRORS-R-XML-FAILED</font></p></li>
-<li><p><font>XMLSEC-ERRORS-R-XMLSEC-FAILED</font></p></li>
-<li><p><font>XMLSEC-ERRORS-R-XSLT-FAILED</font></p></li>
-<li><p><a href="xmlsec-errors.html#XMLSECERRORSSAFESTRING">xmlSecErrorsSafeString</a></p></li>
-<li><p><a href="xmlsec-errors.html#XMLSECERRORSSETCALLBACK">xmlSecErrorsSetCallback</a></p></li>
-<li><p><a href="xmlsec-errors.html#XMLSECERRORSSHUTDOWN">xmlSecErrorsShutdown</a></p></li>
-<li><p><a href="xmlsec-xmltree.html#XMLSECFINDCHILD">xmlSecFindChild</a></p></li>
-<li><p><a href="xmlsec-xmltree.html#XMLSECFINDNODE">xmlSecFindNode</a></p></li>
-<li><p><a href="xmlsec-xmltree.html#XMLSECFINDPARENT">xmlSecFindParent</a></p></li>
-<li><p><a href="xmlsec-xmltree.html#XMLSECFINDSIBLING">xmlSecFindSibling</a></p></li>
-<li><p><font>XMLSEC-FUNC-TO-PTR</font></p></li>
-<li><p><a href="xmlsec-gcrypt-app.html#XMLSECGCRYPTAPPDEFAULTKEYSMNGRADOPTKEY">xmlSecGCryptAppDefaultKeysMngrAdoptKey</a></p></li>
-<li><p><a href="xmlsec-gcrypt-app.html#XMLSECGCRYPTAPPDEFAULTKEYSMNGRINIT">xmlSecGCryptAppDefaultKeysMngrInit</a></p></li>
-<li><p><a href="xmlsec-gcrypt-app.html#XMLSECGCRYPTAPPDEFAULTKEYSMNGRLOAD">xmlSecGCryptAppDefaultKeysMngrLoad</a></p></li>
-<li><p><a href="xmlsec-gcrypt-app.html#XMLSECGCRYPTAPPDEFAULTKEYSMNGRSAVE">xmlSecGCryptAppDefaultKeysMngrSave</a></p></li>
-<li><p><a href="xmlsec-gcrypt-app.html#XMLSECGCRYPTAPPGETDEFAULTPWDCALLBACK">xmlSecGCryptAppGetDefaultPwdCallback</a></p></li>
-<li><p><a href="xmlsec-gcrypt-app.html#XMLSECGCRYPTAPPINIT">xmlSecGCryptAppInit</a></p></li>
-<li><p><a href="xmlsec-gcrypt-app.html#XMLSECGCRYPTAPPKEYCERTLOADMEMORY">xmlSecGCryptAppKeyCertLoadMemory</a></p></li>
-<li><p><a href="xmlsec-gcrypt-app.html#XMLSECGCRYPTAPPKEYCERTLOAD">xmlSecGCryptAppKeyCertLoad</a></p></li>
-<li><p><a href="xmlsec-gcrypt-app.html#XMLSECGCRYPTAPPKEYLOADMEMORY">xmlSecGCryptAppKeyLoadMemory</a></p></li>
-<li><p><a href="xmlsec-gcrypt-app.html#XMLSECGCRYPTAPPKEYLOAD">xmlSecGCryptAppKeyLoad</a></p></li>
-<li><p><a href="xmlsec-gcrypt-app.html#XMLSECGCRYPTAPPKEYSMNGRCERTLOADMEMORY">xmlSecGCryptAppKeysMngrCertLoadMemory</a></p></li>
-<li><p><a href="xmlsec-gcrypt-app.html#XMLSECGCRYPTAPPKEYSMNGRCERTLOAD">xmlSecGCryptAppKeysMngrCertLoad</a></p></li>
-<li><p><a href="xmlsec-gcrypt-app.html#XMLSECGCRYPTAPPPKCS12LOADMEMORY">xmlSecGCryptAppPkcs12LoadMemory</a></p></li>
-<li><p><a href="xmlsec-gcrypt-app.html#XMLSECGCRYPTAPPPKCS12LOAD">xmlSecGCryptAppPkcs12Load</a></p></li>
-<li><p><a href="xmlsec-gcrypt-app.html#XMLSECGCRYPTAPPSHUTDOWN">xmlSecGCryptAppShutdown</a></p></li>
-<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTGENERATERANDOM">xmlSecGCryptGenerateRandom</a></p></li>
-<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTHMACGETMINOUTPUTLENGTH">xmlSecGCryptHmacGetMinOutputLength</a></p></li>
-<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTHMACSETMINOUTPUTLENGTH">xmlSecGCryptHmacSetMinOutputLength</a></p></li>
-<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTINIT">xmlSecGCryptInit</a></p></li>
-<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTKEYDATAAESGETKLASS">xmlSecGCryptKeyDataAesGetKlass</a></p></li>
-<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTKEYDATAAESID">xmlSecGCryptKeyDataAesId</a></p></li>
-<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTKEYDATAAESSET">xmlSecGCryptKeyDataAesSet</a></p></li>
-<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTKEYDATADESGETKLASS">xmlSecGCryptKeyDataDesGetKlass</a></p></li>
-<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTKEYDATADESID">xmlSecGCryptKeyDataDesId</a></p></li>
-<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTKEYDATADESSET">xmlSecGCryptKeyDataDesSet</a></p></li>
-<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTKEYDATADSAADOPTKEY">xmlSecGCryptKeyDataDsaAdoptKey</a></p></li>
-<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTKEYDATADSAADOPTKEYPAIR">xmlSecGCryptKeyDataDsaAdoptKeyPair</a></p></li>
-<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTKEYDATADSAGETKLASS">xmlSecGCryptKeyDataDsaGetKlass</a></p></li>
-<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTKEYDATADSAGETPRIVATEKEY">xmlSecGCryptKeyDataDsaGetPrivateKey</a></p></li>
-<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTKEYDATADSAGETPUBLICKEY">xmlSecGCryptKeyDataDsaGetPublicKey</a></p></li>
-<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTKEYDATADSAID">xmlSecGCryptKeyDataDsaId</a></p></li>
-<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTKEYDATAHMACGETKLASS">xmlSecGCryptKeyDataHmacGetKlass</a></p></li>
-<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTKEYDATAHMACID">xmlSecGCryptKeyDataHmacId</a></p></li>
-<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTKEYDATAHMACSET">xmlSecGCryptKeyDataHmacSet</a></p></li>
-<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTKEYDATARSAADOPTKEY">xmlSecGCryptKeyDataRsaAdoptKey</a></p></li>
-<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTKEYDATARSAADOPTKEYPAIR">xmlSecGCryptKeyDataRsaAdoptKeyPair</a></p></li>
-<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTKEYDATARSAGETKLASS">xmlSecGCryptKeyDataRsaGetKlass</a></p></li>
-<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTKEYDATARSAGETPRIVATEKEY">xmlSecGCryptKeyDataRsaGetPrivateKey</a></p></li>
-<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTKEYDATARSAGETPUBLICKEY">xmlSecGCryptKeyDataRsaGetPublicKey</a></p></li>
-<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTKEYDATARSAID">xmlSecGCryptKeyDataRsaId</a></p></li>
-<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTKEYSMNGRINIT">xmlSecGCryptKeysMngrInit</a></p></li>
-<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTSHUTDOWN">xmlSecGCryptShutdown</a></p></li>
-<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMAES128CBCGETKLASS">xmlSecGCryptTransformAes128CbcGetKlass</a></p></li>
-<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMAES128CBCID">xmlSecGCryptTransformAes128CbcId</a></p></li>
-<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMAES192CBCGETKLASS">xmlSecGCryptTransformAes192CbcGetKlass</a></p></li>
-<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMAES192CBCID">xmlSecGCryptTransformAes192CbcId</a></p></li>
-<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMAES256CBCGETKLASS">xmlSecGCryptTransformAes256CbcGetKlass</a></p></li>
-<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMAES256CBCID">xmlSecGCryptTransformAes256CbcId</a></p></li>
-<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMDES3CBCGETKLASS">xmlSecGCryptTransformDes3CbcGetKlass</a></p></li>
-<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMDES3CBCID">xmlSecGCryptTransformDes3CbcId</a></p></li>
-<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMDSASHA1GETKLASS">xmlSecGCryptTransformDsaSha1GetKlass</a></p></li>
-<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMDSASHA1ID">xmlSecGCryptTransformDsaSha1Id</a></p></li>
-<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMHMACMD5GETKLASS">xmlSecGCryptTransformHmacMd5GetKlass</a></p></li>
-<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMHMACMD5ID">xmlSecGCryptTransformHmacMd5Id</a></p></li>
-<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMHMACRIPEMD160GETKLASS">xmlSecGCryptTransformHmacRipemd160GetKlass</a></p></li>
-<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMHMACRIPEMD160ID">xmlSecGCryptTransformHmacRipemd160Id</a></p></li>
-<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMHMACSHA1GETKLASS">xmlSecGCryptTransformHmacSha1GetKlass</a></p></li>
-<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMHMACSHA1ID">xmlSecGCryptTransformHmacSha1Id</a></p></li>
-<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMHMACSHA256GETKLASS">xmlSecGCryptTransformHmacSha256GetKlass</a></p></li>
-<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMHMACSHA256ID">xmlSecGCryptTransformHmacSha256Id</a></p></li>
-<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMHMACSHA384GETKLASS">xmlSecGCryptTransformHmacSha384GetKlass</a></p></li>
-<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMHMACSHA384ID">xmlSecGCryptTransformHmacSha384Id</a></p></li>
-<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMHMACSHA512GETKLASS">xmlSecGCryptTransformHmacSha512GetKlass</a></p></li>
-<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMHMACSHA512ID">xmlSecGCryptTransformHmacSha512Id</a></p></li>
-<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMKWAES128GETKLASS">xmlSecGCryptTransformKWAes128GetKlass</a></p></li>
-<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMKWAES128ID">xmlSecGCryptTransformKWAes128Id</a></p></li>
-<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMKWAES192GETKLASS">xmlSecGCryptTransformKWAes192GetKlass</a></p></li>
-<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMKWAES192ID">xmlSecGCryptTransformKWAes192Id</a></p></li>
-<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMKWAES256GETKLASS">xmlSecGCryptTransformKWAes256GetKlass</a></p></li>
-<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMKWAES256ID">xmlSecGCryptTransformKWAes256Id</a></p></li>
-<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMKWDES3GETKLASS">xmlSecGCryptTransformKWDes3GetKlass</a></p></li>
-<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMKWDES3ID">xmlSecGCryptTransformKWDes3Id</a></p></li>
-<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMMD5GETKLASS">xmlSecGCryptTransformMd5GetKlass</a></p></li>
-<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMMD5ID">xmlSecGCryptTransformMd5Id</a></p></li>
-<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMRIPEMD160GETKLASS">xmlSecGCryptTransformRipemd160GetKlass</a></p></li>
-<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMRIPEMD160ID">xmlSecGCryptTransformRipemd160Id</a></p></li>
-<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMRSAMD5GETKLASS">xmlSecGCryptTransformRsaMd5GetKlass</a></p></li>
-<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMRSAMD5ID">xmlSecGCryptTransformRsaMd5Id</a></p></li>
-<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMRSARIPEMD160GETKLASS">xmlSecGCryptTransformRsaRipemd160GetKlass</a></p></li>
-<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMRSARIPEMD160ID">xmlSecGCryptTransformRsaRipemd160Id</a></p></li>
-<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMRSASHA1GETKLASS">xmlSecGCryptTransformRsaSha1GetKlass</a></p></li>
-<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMRSASHA1ID">xmlSecGCryptTransformRsaSha1Id</a></p></li>
-<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMRSASHA256GETKLASS">xmlSecGCryptTransformRsaSha256GetKlass</a></p></li>
-<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMRSASHA256ID">xmlSecGCryptTransformRsaSha256Id</a></p></li>
-<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMRSASHA384GETKLASS">xmlSecGCryptTransformRsaSha384GetKlass</a></p></li>
-<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMRSASHA384ID">xmlSecGCryptTransformRsaSha384Id</a></p></li>
-<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMRSASHA512GETKLASS">xmlSecGCryptTransformRsaSha512GetKlass</a></p></li>
-<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMRSASHA512ID">xmlSecGCryptTransformRsaSha512Id</a></p></li>
-<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMSHA1GETKLASS">xmlSecGCryptTransformSha1GetKlass</a></p></li>
-<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMSHA1ID">xmlSecGCryptTransformSha1Id</a></p></li>
-<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMSHA256GETKLASS">xmlSecGCryptTransformSha256GetKlass</a></p></li>
-<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMSHA256ID">xmlSecGCryptTransformSha256Id</a></p></li>
-<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMSHA384GETKLASS">xmlSecGCryptTransformSha384GetKlass</a></p></li>
-<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMSHA384ID">xmlSecGCryptTransformSha384Id</a></p></li>
-<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMSHA512GETKLASS">xmlSecGCryptTransformSha512GetKlass</a></p></li>
-<li><p><a href="xmlsec-gcrypt-crypto.html#XMLSECGCRYPTTRANSFORMSHA512ID">xmlSecGCryptTransformSha512Id</a></p></li>
-<li><p><a href="xmlsec-xmltree.html#XMLSECGENERATEANDADDID">xmlSecGenerateAndAddID</a></p></li>
-<li><p><a href="xmlsec-xmltree.html#XMLSECGENERATEID">xmlSecGenerateID</a></p></li>
-<li><p><a href="xmlsec-xmlsec.html#XMLSECGETDEFAULTCRYPTO">xmlSecGetDefaultCrypto</a></p></li>
-<li><p><a href="xmlsec-xmltree.html#XMLSECGETHEX">xmlSecGetHex</a></p></li>
-<li><p><a href="xmlsec-keysmngr.html#XMLSECGETKEYCALLBACK">xmlSecGetKeyCallback</a></p></li>
-<li><p><a href="xmlsec-xmltree.html#XMLSECGETNEXTELEMENTNODE">xmlSecGetNextElementNode</a></p></li>
-<li><p><a href="xmlsec-xmltree.html#XMLSECGETNODENSHREF">xmlSecGetNodeNsHref</a></p></li>
-<li><p><a href="xmlsec-xmltree.html#XMLSECGETQNAME">xmlSecGetQName</a></p></li>
-<li><p><a href="xmlsec-gnutls-app.html#XMLSECGNUTLSAPPDEFAULTKEYSMNGRADOPTKEY">xmlSecGnuTLSAppDefaultKeysMngrAdoptKey</a></p></li>
-<li><p><a href="xmlsec-gnutls-app.html#XMLSECGNUTLSAPPDEFAULTKEYSMNGRINIT">xmlSecGnuTLSAppDefaultKeysMngrInit</a></p></li>
-<li><p><a href="xmlsec-gnutls-app.html#XMLSECGNUTLSAPPDEFAULTKEYSMNGRLOAD">xmlSecGnuTLSAppDefaultKeysMngrLoad</a></p></li>
-<li><p><a href="xmlsec-gnutls-app.html#XMLSECGNUTLSAPPDEFAULTKEYSMNGRSAVE">xmlSecGnuTLSAppDefaultKeysMngrSave</a></p></li>
-<li><p><a href="xmlsec-gnutls-app.html#XMLSECGNUTLSAPPGETDEFAULTPWDCALLBACK">xmlSecGnuTLSAppGetDefaultPwdCallback</a></p></li>
-<li><p><a href="xmlsec-gnutls-app.html#XMLSECGNUTLSAPPINIT">xmlSecGnuTLSAppInit</a></p></li>
-<li><p><a href="xmlsec-gnutls-app.html#XMLSECGNUTLSAPPKEYCERTLOADMEMORY">xmlSecGnuTLSAppKeyCertLoadMemory</a></p></li>
-<li><p><a href="xmlsec-gnutls-app.html#XMLSECGNUTLSAPPKEYCERTLOAD">xmlSecGnuTLSAppKeyCertLoad</a></p></li>
-<li><p><a href="xmlsec-gnutls-app.html#XMLSECGNUTLSAPPKEYLOADMEMORY">xmlSecGnuTLSAppKeyLoadMemory</a></p></li>
-<li><p><a href="xmlsec-gnutls-app.html#XMLSECGNUTLSAPPKEYLOAD">xmlSecGnuTLSAppKeyLoad</a></p></li>
-<li><p><a href="xmlsec-gnutls-app.html#XMLSECGNUTLSAPPKEYSMNGRCERTLOADMEMORY">xmlSecGnuTLSAppKeysMngrCertLoadMemory</a></p></li>
-<li><p><a href="xmlsec-gnutls-app.html#XMLSECGNUTLSAPPKEYSMNGRCERTLOAD">xmlSecGnuTLSAppKeysMngrCertLoad</a></p></li>
-<li><p><a href="xmlsec-gnutls-app.html#XMLSECGNUTLSAPPPKCS12LOADMEMORY">xmlSecGnuTLSAppPkcs12LoadMemory</a></p></li>
-<li><p><a href="xmlsec-gnutls-app.html#XMLSECGNUTLSAPPPKCS12LOAD">xmlSecGnuTLSAppPkcs12Load</a></p></li>
-<li><p><a href="xmlsec-gnutls-app.html#XMLSECGNUTLSAPPSHUTDOWN">xmlSecGnuTLSAppShutdown</a></p></li>
-<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSGENERATERANDOM">xmlSecGnuTLSGenerateRandom</a></p></li>
-<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSHMACGETMINOUTPUTLENGTH">xmlSecGnuTLSHmacGetMinOutputLength</a></p></li>
-<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSHMACSETMINOUTPUTLENGTH">xmlSecGnuTLSHmacSetMinOutputLength</a></p></li>
-<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSINIT">xmlSecGnuTLSInit</a></p></li>
-<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSKEYDATAAESGETKLASS">xmlSecGnuTLSKeyDataAesGetKlass</a></p></li>
-<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSKEYDATAAESID">xmlSecGnuTLSKeyDataAesId</a></p></li>
-<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSKEYDATAAESSET">xmlSecGnuTLSKeyDataAesSet</a></p></li>
-<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSKEYDATADESGETKLASS">xmlSecGnuTLSKeyDataDesGetKlass</a></p></li>
-<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSKEYDATADESID">xmlSecGnuTLSKeyDataDesId</a></p></li>
-<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSKEYDATADESSET">xmlSecGnuTLSKeyDataDesSet</a></p></li>
-<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSKEYDATADSAADOPTPRIVATEKEY">xmlSecGnuTLSKeyDataDsaAdoptPrivateKey</a></p></li>
-<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSKEYDATADSAADOPTPUBLICKEY">xmlSecGnuTLSKeyDataDsaAdoptPublicKey</a></p></li>
-<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSKEYDATADSAGETKLASS">xmlSecGnuTLSKeyDataDsaGetKlass</a></p></li>
-<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSKEYDATADSAID">xmlSecGnuTLSKeyDataDsaId</a></p></li>
-<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSKEYDATAHMACGETKLASS">xmlSecGnuTLSKeyDataHmacGetKlass</a></p></li>
-<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSKEYDATAHMACID">xmlSecGnuTLSKeyDataHmacId</a></p></li>
-<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSKEYDATAHMACSET">xmlSecGnuTLSKeyDataHmacSet</a></p></li>
-<li><p><font>xmlSecGnuTLSKeyDataRawX509CertGetKlass</font></p></li>
-<li><p><font>xmlSecGnuTLSKeyDataRawX509CertId</font></p></li>
-<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSKEYDATARSAADOPTPRIVATEKEY">xmlSecGnuTLSKeyDataRsaAdoptPrivateKey</a></p></li>
-<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSKEYDATARSAADOPTPUBLICKEY">xmlSecGnuTLSKeyDataRsaAdoptPublicKey</a></p></li>
-<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSKEYDATARSAGETKLASS">xmlSecGnuTLSKeyDataRsaGetKlass</a></p></li>
-<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSKEYDATARSAID">xmlSecGnuTLSKeyDataRsaId</a></p></li>
-<li><p><font>xmlSecGnuTLSKeyDataX509AdoptCert</font></p></li>
-<li><p><font>xmlSecGnuTLSKeyDataX509AdoptCrl</font></p></li>
-<li><p><font>xmlSecGnuTLSKeyDataX509AdoptKeyCert</font></p></li>
-<li><p><font>xmlSecGnuTLSKeyDataX509GetCert</font></p></li>
-<li><p><font>xmlSecGnuTLSKeyDataX509GetCertsSize</font></p></li>
-<li><p><font>xmlSecGnuTLSKeyDataX509GetCrl</font></p></li>
-<li><p><font>xmlSecGnuTLSKeyDataX509GetCrlsSize</font></p></li>
-<li><p><font>xmlSecGnuTLSKeyDataX509GetKeyCert</font></p></li>
-<li><p><font>xmlSecGnuTLSKeyDataX509GetKlass</font></p></li>
-<li><p><font>xmlSecGnuTLSKeyDataX509Id</font></p></li>
-<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSKEYSMNGRINIT">xmlSecGnuTLSKeysMngrInit</a></p></li>
-<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSSHUTDOWN">xmlSecGnuTLSShutdown</a></p></li>
-<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMAES128CBCGETKLASS">xmlSecGnuTLSTransformAes128CbcGetKlass</a></p></li>
-<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMAES128CBCID">xmlSecGnuTLSTransformAes128CbcId</a></p></li>
-<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMAES192CBCGETKLASS">xmlSecGnuTLSTransformAes192CbcGetKlass</a></p></li>
-<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMAES192CBCID">xmlSecGnuTLSTransformAes192CbcId</a></p></li>
-<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMAES256CBCGETKLASS">xmlSecGnuTLSTransformAes256CbcGetKlass</a></p></li>
-<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMAES256CBCID">xmlSecGnuTLSTransformAes256CbcId</a></p></li>
-<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMDES3CBCGETKLASS">xmlSecGnuTLSTransformDes3CbcGetKlass</a></p></li>
-<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMDES3CBCID">xmlSecGnuTLSTransformDes3CbcId</a></p></li>
-<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMDSASHA1GETKLASS">xmlSecGnuTLSTransformDsaSha1GetKlass</a></p></li>
-<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMDSASHA1ID">xmlSecGnuTLSTransformDsaSha1Id</a></p></li>
-<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMHMACMD5GETKLASS">xmlSecGnuTLSTransformHmacMd5GetKlass</a></p></li>
-<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMHMACMD5ID">xmlSecGnuTLSTransformHmacMd5Id</a></p></li>
-<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMHMACRIPEMD160GETKLASS">xmlSecGnuTLSTransformHmacRipemd160GetKlass</a></p></li>
-<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMHMACRIPEMD160ID">xmlSecGnuTLSTransformHmacRipemd160Id</a></p></li>
-<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMHMACSHA1GETKLASS">xmlSecGnuTLSTransformHmacSha1GetKlass</a></p></li>
-<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMHMACSHA1ID">xmlSecGnuTLSTransformHmacSha1Id</a></p></li>
-<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMHMACSHA256GETKLASS">xmlSecGnuTLSTransformHmacSha256GetKlass</a></p></li>
-<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMHMACSHA256ID">xmlSecGnuTLSTransformHmacSha256Id</a></p></li>
-<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMHMACSHA384GETKLASS">xmlSecGnuTLSTransformHmacSha384GetKlass</a></p></li>
-<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMHMACSHA384ID">xmlSecGnuTLSTransformHmacSha384Id</a></p></li>
-<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMHMACSHA512GETKLASS">xmlSecGnuTLSTransformHmacSha512GetKlass</a></p></li>
-<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMHMACSHA512ID">xmlSecGnuTLSTransformHmacSha512Id</a></p></li>
-<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMKWAES128GETKLASS">xmlSecGnuTLSTransformKWAes128GetKlass</a></p></li>
-<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMKWAES128ID">xmlSecGnuTLSTransformKWAes128Id</a></p></li>
-<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMKWAES192GETKLASS">xmlSecGnuTLSTransformKWAes192GetKlass</a></p></li>
-<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMKWAES192ID">xmlSecGnuTLSTransformKWAes192Id</a></p></li>
-<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMKWAES256GETKLASS">xmlSecGnuTLSTransformKWAes256GetKlass</a></p></li>
-<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMKWAES256ID">xmlSecGnuTLSTransformKWAes256Id</a></p></li>
-<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMKWDES3GETKLASS">xmlSecGnuTLSTransformKWDes3GetKlass</a></p></li>
-<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMKWDES3ID">xmlSecGnuTLSTransformKWDes3Id</a></p></li>
-<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMMD5GETKLASS">xmlSecGnuTLSTransformMd5GetKlass</a></p></li>
-<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMMD5ID">xmlSecGnuTLSTransformMd5Id</a></p></li>
-<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMRIPEMD160GETKLASS">xmlSecGnuTLSTransformRipemd160GetKlass</a></p></li>
-<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMRIPEMD160ID">xmlSecGnuTLSTransformRipemd160Id</a></p></li>
-<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMRSAMD5GETKLASS">xmlSecGnuTLSTransformRsaMd5GetKlass</a></p></li>
-<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMRSAMD5ID">xmlSecGnuTLSTransformRsaMd5Id</a></p></li>
-<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMRSARIPEMD160GETKLASS">xmlSecGnuTLSTransformRsaRipemd160GetKlass</a></p></li>
-<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMRSARIPEMD160ID">xmlSecGnuTLSTransformRsaRipemd160Id</a></p></li>
-<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMRSASHA1GETKLASS">xmlSecGnuTLSTransformRsaSha1GetKlass</a></p></li>
-<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMRSASHA1ID">xmlSecGnuTLSTransformRsaSha1Id</a></p></li>
-<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMRSASHA256GETKLASS">xmlSecGnuTLSTransformRsaSha256GetKlass</a></p></li>
-<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMRSASHA256ID">xmlSecGnuTLSTransformRsaSha256Id</a></p></li>
-<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMRSASHA384GETKLASS">xmlSecGnuTLSTransformRsaSha384GetKlass</a></p></li>
-<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMRSASHA384ID">xmlSecGnuTLSTransformRsaSha384Id</a></p></li>
-<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMRSASHA512GETKLASS">xmlSecGnuTLSTransformRsaSha512GetKlass</a></p></li>
-<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMRSASHA512ID">xmlSecGnuTLSTransformRsaSha512Id</a></p></li>
-<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMSHA1GETKLASS">xmlSecGnuTLSTransformSha1GetKlass</a></p></li>
-<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMSHA1ID">xmlSecGnuTLSTransformSha1Id</a></p></li>
-<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMSHA256GETKLASS">xmlSecGnuTLSTransformSha256GetKlass</a></p></li>
-<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMSHA256ID">xmlSecGnuTLSTransformSha256Id</a></p></li>
-<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMSHA384GETKLASS">xmlSecGnuTLSTransformSha384GetKlass</a></p></li>
-<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMSHA384ID">xmlSecGnuTLSTransformSha384Id</a></p></li>
-<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMSHA512GETKLASS">xmlSecGnuTLSTransformSha512GetKlass</a></p></li>
-<li><p><a href="xmlsec-gnutls-crypto.html#XMLSECGNUTLSTRANSFORMSHA512ID">xmlSecGnuTLSTransformSha512Id</a></p></li>
-<li><p><font>xmlSecGnuTLSX509CertGetKey</font></p></li>
-<li><p><font>xmlSecGnuTLSX509StoreAdoptCert</font></p></li>
-<li><p><font>xmlSecGnuTLSX509StoreFindCert</font></p></li>
-<li><p><font>xmlSecGnuTLSX509StoreGetKlass</font></p></li>
-<li><p><font>xmlSecGnuTLSX509StoreId</font></p></li>
-<li><p><font>xmlSecGnuTLSX509StoreVerify</font></p></li>
-<li><p><a href="xmlsec-xmlsec.html#XMLSECINIT">xmlSecInit</a></p></li>
-<li><p><a href="xmlsec-io.html#XMLSECIOCLEANUPCALLBACKS">xmlSecIOCleanupCallbacks</a></p></li>
-<li><p><a href="xmlsec-io.html#XMLSECIOINIT">xmlSecIOInit</a></p></li>
-<li><p><a href="xmlsec-io.html#XMLSECIOREGISTERCALLBACKS">xmlSecIORegisterCallbacks</a></p></li>
-<li><p><a href="xmlsec-io.html#XMLSECIOREGISTERDEFAULTCALLBACKS">xmlSecIORegisterDefaultCallbacks</a></p></li>
-<li><p><a href="xmlsec-io.html#XMLSECIOSHUTDOWN">xmlSecIOShutdown</a></p></li>
-<li><p><a href="xmlsec-xmltree.html#XMLSECISEMPTYNODE">xmlSecIsEmptyNode</a></p></li>
-<li><p><a href="xmlsec-xmltree.html#XMLSECISEMPTYSTRING">xmlSecIsEmptyString</a></p></li>
-<li><p><a href="xmlsec-xmltree.html#XMLSECISHEX">xmlSecIsHex</a></p></li>
-<li><p><a href="xmlsec-keys.html#XMLSECKEYADOPTDATA">xmlSecKeyAdoptData</a></p></li>
-<li><p><a href="xmlsec-keys.html#XMLSECKEYCHECKID">xmlSecKeyCheckId</a></p></li>
-<li><p><a href="xmlsec-keys.html#XMLSECKEYCOPY">xmlSecKeyCopy</a></p></li>
-<li><p><a href="xmlsec-keys.html#XMLSECKEYCREATE">xmlSecKeyCreate</a></p></li>
-<li><p><a href="xmlsec-app.html#XMLSECKEYDATAAESGETKLASS">xmlSecKeyDataAesGetKlass</a></p></li>
-<li><p><a href="xmlsec-app.html#XMLSECKEYDATAAESID">xmlSecKeyDataAesId</a></p></li>
-<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATABINARYSIZE">xmlSecKeyDataBinarySize</a></p></li>
-<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATABINARYVALUEBINREAD">xmlSecKeyDataBinaryValueBinRead</a></p></li>
-<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATABINARYVALUEBINWRITE">xmlSecKeyDataBinaryValueBinWrite</a></p></li>
-<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATABINARYVALUEDEBUGDUMP">xmlSecKeyDataBinaryValueDebugDump</a></p></li>
-<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATABINARYVALUEDEBUGXMLDUMP">xmlSecKeyDataBinaryValueDebugXmlDump</a></p></li>
-<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATABINARYVALUEDUPLICATE">xmlSecKeyDataBinaryValueDuplicate</a></p></li>
-<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATABINARYVALUEFINALIZE">xmlSecKeyDataBinaryValueFinalize</a></p></li>
-<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATABINARYVALUEGETBUFFER">xmlSecKeyDataBinaryValueGetBuffer</a></p></li>
-<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATABINARYVALUEGETSIZE">xmlSecKeyDataBinaryValueGetSize</a></p></li>
-<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATABINARYVALUEINITIALIZE">xmlSecKeyDataBinaryValueInitialize</a></p></li>
-<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATABINARYVALUESETBUFFER">xmlSecKeyDataBinaryValueSetBuffer</a></p></li>
-<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATABINARYVALUEXMLREAD">xmlSecKeyDataBinaryValueXmlRead</a></p></li>
-<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATABINARYVALUEXMLWRITE">xmlSecKeyDataBinaryValueXmlWrite</a></p></li>
-<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATABINREADMETHOD">xmlSecKeyDataBinReadMethod</a></p></li>
-<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATABINREAD">xmlSecKeyDataBinRead</a></p></li>
-<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATABINWRITEMETHOD">xmlSecKeyDataBinWriteMethod</a></p></li>
-<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATABINWRITE">xmlSecKeyDataBinWrite</a></p></li>
-<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATACHECKID">xmlSecKeyDataCheckId</a></p></li>
-<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATACHECKSIZE">xmlSecKeyDataCheckSize</a></p></li>
-<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATACHECKUSAGE">xmlSecKeyDataCheckUsage</a></p></li>
-<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATACREATE">xmlSecKeyDataCreate</a></p></li>
-<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATADEBUGDUMPMETHOD">xmlSecKeyDataDebugDumpMethod</a></p></li>
-<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATADEBUGDUMP">xmlSecKeyDataDebugDump</a></p></li>
-<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATADEBUGXMLDUMP">xmlSecKeyDataDebugXmlDump</a></p></li>
-<li><p><a href="xmlsec-app.html#XMLSECKEYDATADESGETKLASS">xmlSecKeyDataDesGetKlass</a></p></li>
-<li><p><a href="xmlsec-app.html#XMLSECKEYDATADESID">xmlSecKeyDataDesId</a></p></li>
-<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATADESTROY">xmlSecKeyDataDestroy</a></p></li>
-<li><p><a href="xmlsec-app.html#XMLSECKEYDATADSAGETKLASS">xmlSecKeyDataDsaGetKlass</a></p></li>
-<li><p><a href="xmlsec-app.html#XMLSECKEYDATADSAID">xmlSecKeyDataDsaId</a></p></li>
-<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATADUPLICATEMETHOD">xmlSecKeyDataDuplicateMethod</a></p></li>
-<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATADUPLICATE">xmlSecKeyDataDuplicate</a></p></li>
-<li><p><a href="xmlsec-app.html#XMLSECKEYDATAECDSAGETKLASS">xmlSecKeyDataEcdsaGetKlass</a></p></li>
-<li><p><a href="xmlsec-app.html#XMLSECKEYDATAECDSAID">xmlSecKeyDataEcdsaId</a></p></li>
-<li><p><a href="xmlsec-keyinfo.html#XMLSECKEYDATAENCRYPTEDKEYGETKLASS">xmlSecKeyDataEncryptedKeyGetKlass</a></p></li>
-<li><p><a href="xmlsec-keyinfo.html#XMLSECKEYDATAENCRYPTEDKEYID">xmlSecKeyDataEncryptedKeyId</a></p></li>
-<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATAFINALIZEMETHOD">xmlSecKeyDataFinalizeMethod</a></p></li>
-<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT">xmlSecKeyDataFormat</a></p></li>
-<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATAGENERATEMETHOD">xmlSecKeyDataGenerateMethod</a></p></li>
-<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATAGENERATE">xmlSecKeyDataGenerate</a></p></li>
-<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATAGETIDENTIFIERMETHOD">xmlSecKeyDataGetIdentifierMethod</a></p></li>
-<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATAGETIDENTIFIER">xmlSecKeyDataGetIdentifier</a></p></li>
-<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATAGETNAME">xmlSecKeyDataGetName</a></p></li>
-<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATAGETSIZEMETHOD">xmlSecKeyDataGetSizeMethod</a></p></li>
-<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATAGETSIZE">xmlSecKeyDataGetSize</a></p></li>
-<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATAGETTYPEMETHOD">xmlSecKeyDataGetTypeMethod</a></p></li>
-<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATAGETTYPE">xmlSecKeyDataGetType</a></p></li>
-<li><p><a href="xmlsec-app.html#XMLSECKEYDATAGOST2001GETKLASS">xmlSecKeyDataGost2001GetKlass</a></p></li>
-<li><p><a href="xmlsec-app.html#XMLSECKEYDATAGOST2001ID">xmlSecKeyDataGost2001Id</a></p></li>
-<li><p><font>xmlSecKeyDataGostR3410-2012-256GetKlass</font></p></li>
-<li><p><font>xmlSecKeyDataGostR3410-2012-256Id</font></p></li>
-<li><p><font>xmlSecKeyDataGostR3410-2012-512GetKlass</font></p></li>
-<li><p><font>xmlSecKeyDataGostR3410-2012-512Id</font></p></li>
-<li><p><a href="xmlsec-app.html#XMLSECKEYDATAHMACGETKLASS">xmlSecKeyDataHmacGetKlass</a></p></li>
-<li><p><a href="xmlsec-app.html#XMLSECKEYDATAHMACID">xmlSecKeyDataHmacId</a></p></li>
-<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATAIDLISTDEBUGDUMP">xmlSecKeyDataIdListDebugDump</a></p></li>
-<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATAIDLISTDEBUGXMLDUMP">xmlSecKeyDataIdListDebugXmlDump</a></p></li>
-<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATAIDLISTFINDBYHREF">xmlSecKeyDataIdListFindByHref</a></p></li>
-<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATAIDLISTFINDBYNAME">xmlSecKeyDataIdListFindByName</a></p></li>
-<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATAIDLISTFINDBYNODE">xmlSecKeyDataIdListFindByNode</a></p></li>
-<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATAIDLISTFIND">xmlSecKeyDataIdListFind</a></p></li>
-<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATAIDLISTGETKLASS">xmlSecKeyDataIdListGetKlass</a></p></li>
-<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATAIDLISTID">xmlSecKeyDataIdListId</a></p></li>
-<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATAIDSGET">xmlSecKeyDataIdsGet</a></p></li>
-<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATAIDSINIT">xmlSecKeyDataIdsInit</a></p></li>
-<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATAIDSREGISTERDEFAULT">xmlSecKeyDataIdsRegisterDefault</a></p></li>
-<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATAIDSREGISTER">xmlSecKeyDataIdsRegister</a></p></li>
-<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATAIDSSHUTDOWN">xmlSecKeyDataIdsShutdown</a></p></li>
-<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATAIDUNKNOWN">xmlSecKeyDataIdUnknown</a></p></li>
-<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATAINITMETHOD">xmlSecKeyDataInitMethod</a></p></li>
-<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATAISVALID">xmlSecKeyDataIsValid</a></p></li>
-<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATAKLASSGETNAME">xmlSecKeyDataKlassGetName</a></p></li>
-<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATAKLASS">xmlSecKeyDataKlass</a></p></li>
-<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATALISTGETKLASS">xmlSecKeyDataListGetKlass</a></p></li>
-<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATALISTID">xmlSecKeyDataListId</a></p></li>
-<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATA">xmlSecKeyData</a></p></li>
-<li><p><a href="xmlsec-keyinfo.html#XMLSECKEYDATANAMEGETKLASS">xmlSecKeyDataNameGetKlass</a></p></li>
-<li><p><a href="xmlsec-keyinfo.html#XMLSECKEYDATANAMEID">xmlSecKeyDataNameId</a></p></li>
-<li><p><a href="xmlsec-app.html#XMLSECKEYDATARAWX509CERTGETKLASS">xmlSecKeyDataRawX509CertGetKlass</a></p></li>
-<li><p><a href="xmlsec-app.html#XMLSECKEYDATARAWX509CERTID">xmlSecKeyDataRawX509CertId</a></p></li>
-<li><p><a href="xmlsec-keyinfo.html#XMLSECKEYDATARETRIEVALMETHODGETKLASS">xmlSecKeyDataRetrievalMethodGetKlass</a></p></li>
-<li><p><a href="xmlsec-keyinfo.html#XMLSECKEYDATARETRIEVALMETHODID">xmlSecKeyDataRetrievalMethodId</a></p></li>
-<li><p><a href="xmlsec-app.html#XMLSECKEYDATARSAGETKLASS">xmlSecKeyDataRsaGetKlass</a></p></li>
-<li><p><a href="xmlsec-app.html#XMLSECKEYDATARSAID">xmlSecKeyDataRsaId</a></p></li>
-<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATASTORECHECKID">xmlSecKeyDataStoreCheckId</a></p></li>
-<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATASTORECHECKSIZE">xmlSecKeyDataStoreCheckSize</a></p></li>
-<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATASTORECREATE">xmlSecKeyDataStoreCreate</a></p></li>
-<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATASTOREDESTROY">xmlSecKeyDataStoreDestroy</a></p></li>
-<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATASTOREFINALIZEMETHOD">xmlSecKeyDataStoreFinalizeMethod</a></p></li>
-<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATASTOREGETNAME">xmlSecKeyDataStoreGetName</a></p></li>
-<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATASTOREIDUNKNOWN">xmlSecKeyDataStoreIdUnknown</a></p></li>
-<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATASTOREINITIALIZEMETHOD">xmlSecKeyDataStoreInitializeMethod</a></p></li>
-<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATASTOREISVALID">xmlSecKeyDataStoreIsValid</a></p></li>
-<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATASTOREKLASSGETNAME">xmlSecKeyDataStoreKlassGetName</a></p></li>
-<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATASTOREKLASS">xmlSecKeyDataStoreKlass</a></p></li>
-<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATASTORE">xmlSecKeyDataStore</a></p></li>
-<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATASTOREPTRLISTGETKLASS">xmlSecKeyDataStorePtrListGetKlass</a></p></li>
-<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATASTOREPTRLISTID">xmlSecKeyDataStorePtrListId</a></p></li>
-<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATATYPEANY">xmlSecKeyDataTypeAny</a></p></li>
-<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATATYPE">xmlSecKeyDataType</a></p></li>
-<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATATYPENONE">xmlSecKeyDataTypeNone</a></p></li>
-<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATATYPEPERMANENT">xmlSecKeyDataTypePermanent</a></p></li>
-<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATATYPEPRIVATE">xmlSecKeyDataTypePrivate</a></p></li>
-<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATATYPEPUBLIC">xmlSecKeyDataTypePublic</a></p></li>
-<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATATYPESESSION">xmlSecKeyDataTypeSession</a></p></li>
-<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATATYPESYMMETRIC">xmlSecKeyDataTypeSymmetric</a></p></li>
-<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATATYPETRUSTED">xmlSecKeyDataTypeTrusted</a></p></li>
-<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATATYPEUNKNOWN">xmlSecKeyDataTypeUnknown</a></p></li>
-<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATAUSAGEANY">xmlSecKeyDataUsageAny</a></p></li>
-<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATAUSAGEKEYINFONODE">xmlSecKeyDataUsageKeyInfoNode</a></p></li>
-<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATAUSAGEKEYINFONODEREAD">xmlSecKeyDataUsageKeyInfoNodeRead</a></p></li>
-<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATAUSAGEKEYINFONODEWRITE">xmlSecKeyDataUsageKeyInfoNodeWrite</a></p></li>
-<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATAUSAGEKEYVALUENODE">xmlSecKeyDataUsageKeyValueNode</a></p></li>
-<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATAUSAGEKEYVALUENODEREAD">xmlSecKeyDataUsageKeyValueNodeRead</a></p></li>
-<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATAUSAGEKEYVALUENODEWRITE">xmlSecKeyDataUsageKeyValueNodeWrite</a></p></li>
-<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATAUSAGE">xmlSecKeyDataUsage</a></p></li>
-<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATAUSAGERETRIEVALMETHODNODEBIN">xmlSecKeyDataUsageRetrievalMethodNodeBin</a></p></li>
-<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATAUSAGERETRIEVALMETHODNODE">xmlSecKeyDataUsageRetrievalMethodNode</a></p></li>
-<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATAUSAGERETRIEVALMETHODNODEXML">xmlSecKeyDataUsageRetrievalMethodNodeXml</a></p></li>
-<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATAUSAGEUNKNOWN">xmlSecKeyDataUsageUnknown</a></p></li>
-<li><p><a href="xmlsec-keyinfo.html#XMLSECKEYDATAVALUEGETKLASS">xmlSecKeyDataValueGetKlass</a></p></li>
-<li><p><a href="xmlsec-keyinfo.html#XMLSECKEYDATAVALUEID">xmlSecKeyDataValueId</a></p></li>
-<li><p><a href="xmlsec-app.html#XMLSECKEYDATAX509GETKLASS">xmlSecKeyDataX509GetKlass</a></p></li>
-<li><p><a href="xmlsec-app.html#XMLSECKEYDATAX509ID">xmlSecKeyDataX509Id</a></p></li>
-<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATAXMLREADMETHOD">xmlSecKeyDataXmlReadMethod</a></p></li>
-<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATAXMLREAD">xmlSecKeyDataXmlRead</a></p></li>
-<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATAXMLWRITEMETHOD">xmlSecKeyDataXmlWriteMethod</a></p></li>
-<li><p><a href="xmlsec-keysdata.html#XMLSECKEYDATAXMLWRITE">xmlSecKeyDataXmlWrite</a></p></li>
-<li><p><a href="xmlsec-keys.html#XMLSECKEYDEBUGDUMP">xmlSecKeyDebugDump</a></p></li>
-<li><p><a href="xmlsec-keys.html#XMLSECKEYDEBUGXMLDUMP">xmlSecKeyDebugXmlDump</a></p></li>
-<li><p><a href="xmlsec-keys.html#XMLSECKEYDESTROY">xmlSecKeyDestroy</a></p></li>
-<li><p><a href="xmlsec-keys.html#XMLSECKEYDUPLICATE">xmlSecKeyDuplicate</a></p></li>
-<li><p><a href="xmlsec-keys.html#XMLSECKEYEMPTY">xmlSecKeyEmpty</a></p></li>
-<li><p><a href="xmlsec-keys.html#XMLSECKEYENSUREDATA">xmlSecKeyEnsureData</a></p></li>
-<li><p><a href="xmlsec-keys.html#XMLSECKEYGENERATEBYNAME">xmlSecKeyGenerateByName</a></p></li>
-<li><p><a href="xmlsec-keys.html#XMLSECKEYGENERATE">xmlSecKeyGenerate</a></p></li>
-<li><p><a href="xmlsec-keys.html#XMLSECKEYGETDATA">xmlSecKeyGetData</a></p></li>
-<li><p><a href="xmlsec-keys.html#XMLSECKEYGETNAME">xmlSecKeyGetName</a></p></li>
-<li><p><a href="xmlsec-keys.html#XMLSECKEYGETTYPE">xmlSecKeyGetType</a></p></li>
-<li><p><a href="xmlsec-keys.html#XMLSECKEYGETVALUE">xmlSecKeyGetValue</a></p></li>
-<li><p><a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTXCOPYUSERPREF">xmlSecKeyInfoCtxCopyUserPref</a></p></li>
-<li><p><a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTXCREATEENCCTX">xmlSecKeyInfoCtxCreateEncCtx</a></p></li>
-<li><p><a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTXCREATE">xmlSecKeyInfoCtxCreate</a></p></li>
-<li><p><a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTXDEBUGDUMP">xmlSecKeyInfoCtxDebugDump</a></p></li>
-<li><p><a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTXDEBUGXMLDUMP">xmlSecKeyInfoCtxDebugXmlDump</a></p></li>
-<li><p><a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTXDESTROY">xmlSecKeyInfoCtxDestroy</a></p></li>
-<li><p><a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTXFINALIZE">xmlSecKeyInfoCtxFinalize</a></p></li>
-<li><p><a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTXINITIALIZE">xmlSecKeyInfoCtxInitialize</a></p></li>
-<li><p><a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTX">xmlSecKeyInfoCtx</a></p></li>
-<li><p><a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTXRESET">xmlSecKeyInfoCtxReset</a></p></li>
-<li><p><font>XMLSEC-KEYINFO-FLAGS-DONT-STOP-ON-KEY-FOUND</font></p></li>
-<li><p><font>XMLSEC-KEYINFO-FLAGS-ENCKEY-DONT-STOP-ON-FAILED-DECRYPTION</font></p></li>
-<li><p><font>XMLSEC-KEYINFO-FLAGS-KEYNAME-STOP-ON-UNKNOWN</font></p></li>
-<li><p><font>XMLSEC-KEYINFO-FLAGS-KEYVALUE-STOP-ON-UNKNOWN-CHILD</font></p></li>
-<li><p><font>XMLSEC-KEYINFO-FLAGS-RETRMETHOD-STOP-ON-MISMATCH-HREF</font></p></li>
-<li><p><font>XMLSEC-KEYINFO-FLAGS-RETRMETHOD-STOP-ON-UNKNOWN-HREF</font></p></li>
-<li><p><font>XMLSEC-KEYINFO-FLAGS-STOP-ON-EMPTY-NODE</font></p></li>
-<li><p><font>XMLSEC-KEYINFO-FLAGS-STOP-ON-UNKNOWN-CHILD</font></p></li>
-<li><p><font>XMLSEC-KEYINFO-FLAGS-X509DATA-DONT-VERIFY-CERTS</font></p></li>
-<li><p><font>XMLSEC-KEYINFO-FLAGS-X509DATA-SKIP-STRICT-CHECKS</font></p></li>
-<li><p><font>XMLSEC-KEYINFO-FLAGS-X509DATA-STOP-ON-INVALID-CERT</font></p></li>
-<li><p><font>XMLSEC-KEYINFO-FLAGS-X509DATA-STOP-ON-UNKNOWN-CERT</font></p></li>
-<li><p><font>XMLSEC-KEYINFO-FLAGS-X509DATA-STOP-ON-UNKNOWN-CHILD</font></p></li>
-<li><p><a href="xmlsec-keyinfo.html#XMLSECKEYINFOMODE">xmlSecKeyInfoMode</a></p></li>
-<li><p><a href="xmlsec-keyinfo.html#XMLSECKEYINFONODEREAD">xmlSecKeyInfoNodeRead</a></p></li>
-<li><p><a href="xmlsec-keyinfo.html#XMLSECKEYINFONODEWRITE">xmlSecKeyInfoNodeWrite</a></p></li>
-<li><p><a href="xmlsec-keys.html#XMLSECKEYISVALID">xmlSecKeyIsValid</a></p></li>
-<li><p><a href="xmlsec-keys.html#XMLSECKEYMATCH">xmlSecKeyMatch</a></p></li>
-<li><p><a href="xmlsec-keys.html#XMLSECKEY">xmlSecKey</a></p></li>
-<li><p><a href="xmlsec-keys.html#XMLSECKEYPTRLISTGETKLASS">xmlSecKeyPtrListGetKlass</a></p></li>
-<li><p><a href="xmlsec-keys.html#XMLSECKEYPTRLISTID">xmlSecKeyPtrListId</a></p></li>
-<li><p><a href="xmlsec-keys.html#XMLSECKEYREADBINARYFILE">xmlSecKeyReadBinaryFile</a></p></li>
-<li><p><a href="xmlsec-keys.html#XMLSECKEYREADBUFFER">xmlSecKeyReadBuffer</a></p></li>
-<li><p><a href="xmlsec-keys.html#XMLSECKEYREADMEMORY">xmlSecKeyReadMemory</a></p></li>
-<li><p><a href="xmlsec-keys.html#XMLSECKEYREQCOPY">xmlSecKeyReqCopy</a></p></li>
-<li><p><a href="xmlsec-keys.html#XMLSECKEYREQDEBUGDUMP">xmlSecKeyReqDebugDump</a></p></li>
-<li><p><a href="xmlsec-keys.html#XMLSECKEYREQDEBUGXMLDUMP">xmlSecKeyReqDebugXmlDump</a></p></li>
-<li><p><a href="xmlsec-keys.html#XMLSECKEYREQFINALIZE">xmlSecKeyReqFinalize</a></p></li>
-<li><p><a href="xmlsec-keys.html#XMLSECKEYREQINITIALIZE">xmlSecKeyReqInitialize</a></p></li>
-<li><p><a href="xmlsec-keys.html#XMLSECKEYREQMATCHKEY">xmlSecKeyReqMatchKey</a></p></li>
-<li><p><a href="xmlsec-keys.html#XMLSECKEYREQMATCHKEYVALUE">xmlSecKeyReqMatchKeyValue</a></p></li>
-<li><p><a href="xmlsec-keys.html#XMLSECKEYREQ">xmlSecKeyReq</a></p></li>
-<li><p><a href="xmlsec-keys.html#XMLSECKEYREQRESET">xmlSecKeyReqReset</a></p></li>
-<li><p><a href="xmlsec-keys.html#XMLSECKEYSETNAME">xmlSecKeySetName</a></p></li>
-<li><p><a href="xmlsec-keys.html#XMLSECKEYSETVALUE">xmlSecKeySetValue</a></p></li>
-<li><p><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGRADOPTDATASTORE">xmlSecKeysMngrAdoptDataStore</a></p></li>
-<li><p><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGRADOPTKEYSSTORE">xmlSecKeysMngrAdoptKeysStore</a></p></li>
-<li><p><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGRCREATE">xmlSecKeysMngrCreate</a></p></li>
-<li><p><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGRDESTROY">xmlSecKeysMngrDestroy</a></p></li>
-<li><p><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGRFINDKEY">xmlSecKeysMngrFindKey</a></p></li>
-<li><p><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGRGETDATASTORE">xmlSecKeysMngrGetDataStore</a></p></li>
-<li><p><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGRGETKEY">xmlSecKeysMngrGetKey</a></p></li>
-<li><p><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGRGETKEYSSTORE">xmlSecKeysMngrGetKeysStore</a></p></li>
-<li><p><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR">xmlSecKeysMngr</a></p></li>
-<li><p><a href="xmlsec-keysmngr.html#XMLSECKEYSTORECHECKID">xmlSecKeyStoreCheckId</a></p></li>
-<li><p><a href="xmlsec-keysmngr.html#XMLSECKEYSTORECHECKSIZE">xmlSecKeyStoreCheckSize</a></p></li>
-<li><p><a href="xmlsec-keysmngr.html#XMLSECKEYSTORECREATE">xmlSecKeyStoreCreate</a></p></li>
-<li><p><a href="xmlsec-keysmngr.html#XMLSECKEYSTOREDESTROY">xmlSecKeyStoreDestroy</a></p></li>
-<li><p><a href="xmlsec-keysmngr.html#XMLSECKEYSTOREFINALIZEMETHOD">xmlSecKeyStoreFinalizeMethod</a></p></li>
-<li><p><a href="xmlsec-keysmngr.html#XMLSECKEYSTOREFINDKEYMETHOD">xmlSecKeyStoreFindKeyMethod</a></p></li>
-<li><p><a href="xmlsec-keysmngr.html#XMLSECKEYSTOREFINDKEY">xmlSecKeyStoreFindKey</a></p></li>
-<li><p><a href="xmlsec-keysmngr.html#XMLSECKEYSTOREGETNAME">xmlSecKeyStoreGetName</a></p></li>
-<li><p><a href="xmlsec-keysmngr.html#XMLSECKEYSTOREIDUNKNOWN">xmlSecKeyStoreIdUnknown</a></p></li>
-<li><p><a href="xmlsec-keysmngr.html#XMLSECKEYSTOREINITIALIZEMETHOD">xmlSecKeyStoreInitializeMethod</a></p></li>
-<li><p><a href="xmlsec-keysmngr.html#XMLSECKEYSTOREISVALID">xmlSecKeyStoreIsValid</a></p></li>
-<li><p><a href="xmlsec-keysmngr.html#XMLSECKEYSTOREKLASSGETNAME">xmlSecKeyStoreKlassGetName</a></p></li>
-<li><p><a href="xmlsec-keysmngr.html#XMLSECKEYSTOREKLASS">xmlSecKeyStoreKlass</a></p></li>
-<li><p><a href="xmlsec-keysmngr.html#XMLSECKEYSTORE">xmlSecKeyStore</a></p></li>
-<li><p><a href="xmlsec-keys.html#XMLSECKEYUSAGEANY">xmlSecKeyUsageAny</a></p></li>
-<li><p><a href="xmlsec-keys.html#XMLSECKEYUSAGEDECRYPT">xmlSecKeyUsageDecrypt</a></p></li>
-<li><p><a href="xmlsec-keys.html#XMLSECKEYUSAGEENCRYPT">xmlSecKeyUsageEncrypt</a></p></li>
-<li><p><a href="xmlsec-keys.html#XMLSECKEYUSAGEKEYEXCHANGE">xmlSecKeyUsageKeyExchange</a></p></li>
-<li><p><a href="xmlsec-keys.html#XMLSECKEYUSAGE">xmlSecKeyUsage</a></p></li>
-<li><p><a href="xmlsec-keys.html#XMLSECKEYUSAGESIGN">xmlSecKeyUsageSign</a></p></li>
-<li><p><a href="xmlsec-keys.html#XMLSECKEYUSAGEVERIFY">xmlSecKeyUsageVerify</a></p></li>
-<li><p><a href="xmlsec-keys.html#XMLSECKEYUSEWITHCOPY">xmlSecKeyUseWithCopy</a></p></li>
-<li><p><a href="xmlsec-keys.html#XMLSECKEYUSEWITHCREATE">xmlSecKeyUseWithCreate</a></p></li>
-<li><p><a href="xmlsec-keys.html#XMLSECKEYUSEWITHDEBUGDUMP">xmlSecKeyUseWithDebugDump</a></p></li>
-<li><p><a href="xmlsec-keys.html#XMLSECKEYUSEWITHDEBUGXMLDUMP">xmlSecKeyUseWithDebugXmlDump</a></p></li>
-<li><p><a href="xmlsec-keys.html#XMLSECKEYUSEWITHDESTROY">xmlSecKeyUseWithDestroy</a></p></li>
-<li><p><a href="xmlsec-keys.html#XMLSECKEYUSEWITHDUPLICATE">xmlSecKeyUseWithDuplicate</a></p></li>
-<li><p><a href="xmlsec-keys.html#XMLSECKEYUSEWITHFINALIZE">xmlSecKeyUseWithFinalize</a></p></li>
-<li><p><a href="xmlsec-keys.html#XMLSECKEYUSEWITHINITIALIZE">xmlSecKeyUseWithInitialize</a></p></li>
-<li><p><a href="xmlsec-keys.html#XMLSECKEYUSEWITH">xmlSecKeyUseWith</a></p></li>
-<li><p><a href="xmlsec-keys.html#XMLSECKEYUSEWITHPTRLISTGETKLASS">xmlSecKeyUseWithPtrListGetKlass</a></p></li>
-<li><p><a href="xmlsec-keys.html#XMLSECKEYUSEWITHPTRLISTID">xmlSecKeyUseWithPtrListId</a></p></li>
-<li><p><a href="xmlsec-keys.html#XMLSECKEYUSEWITHRESET">xmlSecKeyUseWithReset</a></p></li>
-<li><p><a href="xmlsec-keys.html#XMLSECKEYUSEWITHSET">xmlSecKeyUseWithSet</a></p></li>
-<li><p><a href="xmlsec-mscrypto-app.html#XMLSECMSCRYPTOAPPDEFAULTKEYSMNGRADOPTKEY">xmlSecMSCryptoAppDefaultKeysMngrAdoptKey</a></p></li>
-<li><p><a href="xmlsec-mscrypto-app.html#XMLSECMSCRYPTOAPPDEFAULTKEYSMNGRADOPTKEYSTORE">xmlSecMSCryptoAppDefaultKeysMngrAdoptKeyStore</a></p></li>
-<li><p><a href="xmlsec-mscrypto-app.html#XMLSECMSCRYPTOAPPDEFAULTKEYSMNGRADOPTTRUSTEDSTORE">xmlSecMSCryptoAppDefaultKeysMngrAdoptTrustedStore</a></p></li>
-<li><p><a href="xmlsec-mscrypto-app.html#XMLSECMSCRYPTOAPPDEFAULTKEYSMNGRADOPTUNTRUSTEDSTORE">xmlSecMSCryptoAppDefaultKeysMngrAdoptUntrustedStore</a></p></li>
-<li><p><a href="xmlsec-mscrypto-app.html#XMLSECMSCRYPTOAPPDEFAULTKEYSMNGRINIT">xmlSecMSCryptoAppDefaultKeysMngrInit</a></p></li>
-<li><p><a href="xmlsec-mscrypto-app.html#XMLSECMSCRYPTOAPPDEFAULTKEYSMNGRLOAD">xmlSecMSCryptoAppDefaultKeysMngrLoad</a></p></li>
-<li><p><a href="xmlsec-mscrypto-app.html#XMLSECMSCRYPTOAPPDEFAULTKEYSMNGRPRIVATEKEYLOAD">xmlSecMSCryptoAppDefaultKeysMngrPrivateKeyLoad</a></p></li>
-<li><p><a href="xmlsec-mscrypto-app.html#XMLSECMSCRYPTOAPPDEFAULTKEYSMNGRPUBLICKEYLOAD">xmlSecMSCryptoAppDefaultKeysMngrPublicKeyLoad</a></p></li>
-<li><p><a href="xmlsec-mscrypto-app.html#XMLSECMSCRYPTOAPPDEFAULTKEYSMNGRSAVE">xmlSecMSCryptoAppDefaultKeysMngrSave</a></p></li>
-<li><p><a href="xmlsec-mscrypto-app.html#XMLSECMSCRYPTOAPPDEFAULTKEYSMNGRSYMKEYLOAD">xmlSecMSCryptoAppDefaultKeysMngrSymKeyLoad</a></p></li>
-<li><p><a href="xmlsec-mscrypto-app.html#XMLSECMSCRYPTOAPPGETCERTSTORENAME">xmlSecMSCryptoAppGetCertStoreName</a></p></li>
-<li><p><a href="xmlsec-mscrypto-app.html#XMLSECMSCRYPTOAPPGETDEFAULTPWDCALLBACK">xmlSecMSCryptoAppGetDefaultPwdCallback</a></p></li>
-<li><p><a href="xmlsec-mscrypto-app.html#XMLSECMSCRYPTOAPPINIT">xmlSecMSCryptoAppInit</a></p></li>
-<li><p><a href="xmlsec-mscrypto-app.html#XMLSECMSCRYPTOAPPKEYCERTLOADMEMORY">xmlSecMSCryptoAppKeyCertLoadMemory</a></p></li>
-<li><p><a href="xmlsec-mscrypto-app.html#XMLSECMSCRYPTOAPPKEYCERTLOAD">xmlSecMSCryptoAppKeyCertLoad</a></p></li>
-<li><p><a href="xmlsec-mscrypto-app.html#XMLSECMSCRYPTOAPPKEYLOADMEMORY">xmlSecMSCryptoAppKeyLoadMemory</a></p></li>
-<li><p><a href="xmlsec-mscrypto-app.html#XMLSECMSCRYPTOAPPKEYLOAD">xmlSecMSCryptoAppKeyLoad</a></p></li>
-<li><p><a href="xmlsec-mscrypto-app.html#XMLSECMSCRYPTOAPPKEYSMNGRCERTLOADMEMORY">xmlSecMSCryptoAppKeysMngrCertLoadMemory</a></p></li>
-<li><p><a href="xmlsec-mscrypto-app.html#XMLSECMSCRYPTOAPPKEYSMNGRCERTLOAD">xmlSecMSCryptoAppKeysMngrCertLoad</a></p></li>
-<li><p><a href="xmlsec-mscrypto-app.html#XMLSECMSCRYPTOAPPPKCS12LOADMEMORY">xmlSecMSCryptoAppPkcs12LoadMemory</a></p></li>
-<li><p><a href="xmlsec-mscrypto-app.html#XMLSECMSCRYPTOAPPPKCS12LOAD">xmlSecMSCryptoAppPkcs12Load</a></p></li>
-<li><p><a href="xmlsec-mscrypto-app.html#XMLSECMSCRYPTOAPPSHUTDOWN">xmlSecMSCryptoAppShutdown</a></p></li>
-<li><p><a href="xmlsec-mscrypto-certkeys.html#XMLSECMSCRYPTOCERTADOPT">xmlSecMSCryptoCertAdopt</a></p></li>
-<li><p><a href="xmlsec-mscrypto-certkeys.html#XMLSECMSCRYPTOCERTDUP">xmlSecMSCryptoCertDup</a></p></li>
-<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOCONVERTLOCALETOUNICODE">xmlSecMSCryptoConvertLocaleToUnicode</a></p></li>
-<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOCONVERTLOCALETOUTF8">xmlSecMSCryptoConvertLocaleToUtf8</a></p></li>
-<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOCONVERTTSTRTOUTF8">xmlSecMSCryptoConvertTstrToUtf8</a></p></li>
-<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOCONVERTUNICODETOUTF8">xmlSecMSCryptoConvertUnicodeToUtf8</a></p></li>
-<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOCONVERTUTF8TOLOCALE">xmlSecMSCryptoConvertUtf8ToLocale</a></p></li>
-<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOCONVERTUTF8TOTSTR">xmlSecMSCryptoConvertUtf8ToTstr</a></p></li>
-<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOCONVERTUTF8TOUNICODE">xmlSecMSCryptoConvertUtf8ToUnicode</a></p></li>
-<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOERRORSDEFAULTCALLBACK">xmlSecMSCryptoErrorsDefaultCallback</a></p></li>
-<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOGENERATERANDOM">xmlSecMSCryptoGenerateRandom</a></p></li>
-<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOHMACGETMINOUTPUTLENGTH">xmlSecMSCryptoHmacGetMinOutputLength</a></p></li>
-<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOHMACSETMINOUTPUTLENGTH">xmlSecMSCryptoHmacSetMinOutputLength</a></p></li>
-<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOINIT">xmlSecMSCryptoInit</a></p></li>
-<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOKEYDATAAESGETKLASS">xmlSecMSCryptoKeyDataAesGetKlass</a></p></li>
-<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOKEYDATAAESID">xmlSecMSCryptoKeyDataAesId</a></p></li>
-<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOKEYDATAAESSET">xmlSecMSCryptoKeyDataAesSet</a></p></li>
-<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOKEYDATADESGETKLASS">xmlSecMSCryptoKeyDataDesGetKlass</a></p></li>
-<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOKEYDATADESID">xmlSecMSCryptoKeyDataDesId</a></p></li>
-<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOKEYDATADSAGETKLASS">xmlSecMSCryptoKeyDataDsaGetKlass</a></p></li>
-<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOKEYDATADSAID">xmlSecMSCryptoKeyDataDsaId</a></p></li>
-<li><p><a href="xmlsec-mscrypto-certkeys.html#XMLSECMSCRYPTOKEYDATAGETCERT">xmlSecMSCryptoKeyDataGetCert</a></p></li>
-<li><p><a href="xmlsec-mscrypto-certkeys.html#XMLSECMSCRYPTOKEYDATAGETDECRYPTKEY">xmlSecMSCryptoKeyDataGetDecryptKey</a></p></li>
-<li><p><a href="xmlsec-mscrypto-certkeys.html#XMLSECMSCRYPTOKEYDATAGETKEY">xmlSecMSCryptoKeyDataGetKey</a></p></li>
-<li><p><a href="xmlsec-mscrypto-certkeys.html#XMLSECMSCRYPTOKEYDATAGETMSCRYPTOKEYSPEC">xmlSecMSCryptoKeyDataGetMSCryptoKeySpec</a></p></li>
-<li><p><a href="xmlsec-mscrypto-certkeys.html#XMLSECMSCRYPTOKEYDATAGETMSCRYPTOPROVIDERINFO">xmlSecMSCryptoKeyDataGetMSCryptoProviderInfo</a></p></li>
-<li><p><a href="xmlsec-mscrypto-certkeys.html#XMLSECMSCRYPTOKEYDATAGETMSCRYPTOPROVIDER">xmlSecMSCryptoKeyDataGetMSCryptoProvider</a></p></li>
-<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOKEYDATAGOST2001GETKLASS">xmlSecMSCryptoKeyDataGost2001GetKlass</a></p></li>
-<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOKEYDATAGOST2001ID">xmlSecMSCryptoKeyDataGost2001Id</a></p></li>
-<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOKEYDATAHMACGETKLASS">xmlSecMSCryptoKeyDataHmacGetKlass</a></p></li>
-<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOKEYDATAHMACID">xmlSecMSCryptoKeyDataHmacId</a></p></li>
-<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOKEYDATAHMACSET">xmlSecMSCryptoKeyDataHmacSet</a></p></li>
-<li><p><a href="xmlsec-mscrypto-x509.html#XMLSECMSCRYPTOKEYDATARAWX509CERTGETKLASS">xmlSecMSCryptoKeyDataRawX509CertGetKlass</a></p></li>
-<li><p><a href="xmlsec-mscrypto-x509.html#XMLSECMSCRYPTOKEYDATARAWX509CERTID">xmlSecMSCryptoKeyDataRawX509CertId</a></p></li>
-<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOKEYDATARSAGETKLASS">xmlSecMSCryptoKeyDataRsaGetKlass</a></p></li>
-<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOKEYDATARSAID">xmlSecMSCryptoKeyDataRsaId</a></p></li>
-<li><p><a href="xmlsec-mscrypto-x509.html#XMLSECMSCRYPTOKEYDATAX509ADOPTCERT">xmlSecMSCryptoKeyDataX509AdoptCert</a></p></li>
-<li><p><a href="xmlsec-mscrypto-x509.html#XMLSECMSCRYPTOKEYDATAX509ADOPTCRL">xmlSecMSCryptoKeyDataX509AdoptCrl</a></p></li>
-<li><p><a href="xmlsec-mscrypto-x509.html#XMLSECMSCRYPTOKEYDATAX509ADOPTKEYCERT">xmlSecMSCryptoKeyDataX509AdoptKeyCert</a></p></li>
-<li><p><a href="xmlsec-mscrypto-x509.html#XMLSECMSCRYPTOKEYDATAX509GETCERT">xmlSecMSCryptoKeyDataX509GetCert</a></p></li>
-<li><p><a href="xmlsec-mscrypto-x509.html#XMLSECMSCRYPTOKEYDATAX509GETCERTSSIZE">xmlSecMSCryptoKeyDataX509GetCertsSize</a></p></li>
-<li><p><a href="xmlsec-mscrypto-x509.html#XMLSECMSCRYPTOKEYDATAX509GETCRL">xmlSecMSCryptoKeyDataX509GetCrl</a></p></li>
-<li><p><a href="xmlsec-mscrypto-x509.html#XMLSECMSCRYPTOKEYDATAX509GETCRLSSIZE">xmlSecMSCryptoKeyDataX509GetCrlsSize</a></p></li>
-<li><p><a href="xmlsec-mscrypto-x509.html#XMLSECMSCRYPTOKEYDATAX509GETKEYCERT">xmlSecMSCryptoKeyDataX509GetKeyCert</a></p></li>
-<li><p><a href="xmlsec-mscrypto-x509.html#XMLSECMSCRYPTOKEYDATAX509GETKLASS">xmlSecMSCryptoKeyDataX509GetKlass</a></p></li>
-<li><p><a href="xmlsec-mscrypto-x509.html#XMLSECMSCRYPTOKEYDATAX509ID">xmlSecMSCryptoKeyDataX509Id</a></p></li>
-<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOKEYSMNGRINIT">xmlSecMSCryptoKeysMngrInit</a></p></li>
-<li><p><a href="xmlsec-mscrypto-keysstore.html#XMLSECMSCRYPTOKEYSSTOREADOPTKEY">xmlSecMSCryptoKeysStoreAdoptKey</a></p></li>
-<li><p><a href="xmlsec-mscrypto-keysstore.html#XMLSECMSCRYPTOKEYSSTOREGETKLASS">xmlSecMSCryptoKeysStoreGetKlass</a></p></li>
-<li><p><a href="xmlsec-mscrypto-keysstore.html#XMLSECMSCRYPTOKEYSSTOREID">xmlSecMSCryptoKeysStoreId</a></p></li>
-<li><p><a href="xmlsec-mscrypto-keysstore.html#XMLSECMSCRYPTOKEYSSTORELOAD">xmlSecMSCryptoKeysStoreLoad</a></p></li>
-<li><p><a href="xmlsec-mscrypto-keysstore.html#XMLSECMSCRYPTOKEYSSTORESAVE">xmlSecMSCryptoKeysStoreSave</a></p></li>
-<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOSHUTDOWN">xmlSecMSCryptoShutdown</a></p></li>
-<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMAES128CBCGETKLASS">xmlSecMSCryptoTransformAes128CbcGetKlass</a></p></li>
-<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMAES128CBCID">xmlSecMSCryptoTransformAes128CbcId</a></p></li>
-<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMAES192CBCGETKLASS">xmlSecMSCryptoTransformAes192CbcGetKlass</a></p></li>
-<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMAES192CBCID">xmlSecMSCryptoTransformAes192CbcId</a></p></li>
-<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMAES256CBCGETKLASS">xmlSecMSCryptoTransformAes256CbcGetKlass</a></p></li>
-<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMAES256CBCID">xmlSecMSCryptoTransformAes256CbcId</a></p></li>
-<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMDES3CBCGETKLASS">xmlSecMSCryptoTransformDes3CbcGetKlass</a></p></li>
-<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMDES3CBCID">xmlSecMSCryptoTransformDes3CbcId</a></p></li>
-<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMDSASHA1GETKLASS">xmlSecMSCryptoTransformDsaSha1GetKlass</a></p></li>
-<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMDSASHA1ID">xmlSecMSCryptoTransformDsaSha1Id</a></p></li>
-<li><p><font>xmlSecMSCryptoTransformGost2001GostR3411-94GetKlass</font></p></li>
-<li><p><font>xmlSecMSCryptoTransformGost2001GostR3411-94Id</font></p></li>
-<li><p><font>xmlSecMSCryptoTransformGostR3411-94GetKlass</font></p></li>
-<li><p><font>xmlSecMSCryptoTransformGostR3411-94Id</font></p></li>
-<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMHMACMD5GETKLASS">xmlSecMSCryptoTransformHmacMd5GetKlass</a></p></li>
-<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMHMACMD5ID">xmlSecMSCryptoTransformHmacMd5Id</a></p></li>
-<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMHMACSHA1GETKLASS">xmlSecMSCryptoTransformHmacSha1GetKlass</a></p></li>
-<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMHMACSHA1ID">xmlSecMSCryptoTransformHmacSha1Id</a></p></li>
-<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMHMACSHA256GETKLASS">xmlSecMSCryptoTransformHmacSha256GetKlass</a></p></li>
-<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMHMACSHA256ID">xmlSecMSCryptoTransformHmacSha256Id</a></p></li>
-<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMHMACSHA384GETKLASS">xmlSecMSCryptoTransformHmacSha384GetKlass</a></p></li>
-<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMHMACSHA384ID">xmlSecMSCryptoTransformHmacSha384Id</a></p></li>
-<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMHMACSHA512GETKLASS">xmlSecMSCryptoTransformHmacSha512GetKlass</a></p></li>
-<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMHMACSHA512ID">xmlSecMSCryptoTransformHmacSha512Id</a></p></li>
-<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMKWAES128GETKLASS">xmlSecMSCryptoTransformKWAes128GetKlass</a></p></li>
-<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMKWAES128ID">xmlSecMSCryptoTransformKWAes128Id</a></p></li>
-<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMKWAES192GETKLASS">xmlSecMSCryptoTransformKWAes192GetKlass</a></p></li>
-<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMKWAES192ID">xmlSecMSCryptoTransformKWAes192Id</a></p></li>
-<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMKWAES256GETKLASS">xmlSecMSCryptoTransformKWAes256GetKlass</a></p></li>
-<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMKWAES256ID">xmlSecMSCryptoTransformKWAes256Id</a></p></li>
-<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMKWDES3GETKLASS">xmlSecMSCryptoTransformKWDes3GetKlass</a></p></li>
-<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMKWDES3ID">xmlSecMSCryptoTransformKWDes3Id</a></p></li>
-<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMMD5GETKLASS">xmlSecMSCryptoTransformMd5GetKlass</a></p></li>
-<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMMD5ID">xmlSecMSCryptoTransformMd5Id</a></p></li>
-<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMRSAMD5GETKLASS">xmlSecMSCryptoTransformRsaMd5GetKlass</a></p></li>
-<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMRSAMD5ID">xmlSecMSCryptoTransformRsaMd5Id</a></p></li>
-<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMRSAOAEPGETKLASS">xmlSecMSCryptoTransformRsaOaepGetKlass</a></p></li>
-<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMRSAOAEPID">xmlSecMSCryptoTransformRsaOaepId</a></p></li>
-<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMRSAPKCS1GETKLASS">xmlSecMSCryptoTransformRsaPkcs1GetKlass</a></p></li>
-<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMRSAPKCS1ID">xmlSecMSCryptoTransformRsaPkcs1Id</a></p></li>
-<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMRSASHA1GETKLASS">xmlSecMSCryptoTransformRsaSha1GetKlass</a></p></li>
-<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMRSASHA1ID">xmlSecMSCryptoTransformRsaSha1Id</a></p></li>
-<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMRSASHA256GETKLASS">xmlSecMSCryptoTransformRsaSha256GetKlass</a></p></li>
-<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMRSASHA256ID">xmlSecMSCryptoTransformRsaSha256Id</a></p></li>
-<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMRSASHA384GETKLASS">xmlSecMSCryptoTransformRsaSha384GetKlass</a></p></li>
-<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMRSASHA384ID">xmlSecMSCryptoTransformRsaSha384Id</a></p></li>
-<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMRSASHA512GETKLASS">xmlSecMSCryptoTransformRsaSha512GetKlass</a></p></li>
-<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMRSASHA512ID">xmlSecMSCryptoTransformRsaSha512Id</a></p></li>
-<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMSHA1GETKLASS">xmlSecMSCryptoTransformSha1GetKlass</a></p></li>
-<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMSHA1ID">xmlSecMSCryptoTransformSha1Id</a></p></li>
-<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMSHA256GETKLASS">xmlSecMSCryptoTransformSha256GetKlass</a></p></li>
-<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMSHA256ID">xmlSecMSCryptoTransformSha256Id</a></p></li>
-<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMSHA384GETKLASS">xmlSecMSCryptoTransformSha384GetKlass</a></p></li>
-<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMSHA384ID">xmlSecMSCryptoTransformSha384Id</a></p></li>
-<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMSHA512GETKLASS">xmlSecMSCryptoTransformSha512GetKlass</a></p></li>
-<li><p><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMSHA512ID">xmlSecMSCryptoTransformSha512Id</a></p></li>
-<li><p><a href="xmlsec-mscrypto-x509.html#XMLSECMSCRYPTOX509STOREADOPTCERT">xmlSecMSCryptoX509StoreAdoptCert</a></p></li>
-<li><p><a href="xmlsec-mscrypto-x509.html#XMLSECMSCRYPTOX509STOREADOPTKEYSTORE">xmlSecMSCryptoX509StoreAdoptKeyStore</a></p></li>
-<li><p><a href="xmlsec-mscrypto-x509.html#XMLSECMSCRYPTOX509STOREADOPTTRUSTEDSTORE">xmlSecMSCryptoX509StoreAdoptTrustedStore</a></p></li>
-<li><p><a href="xmlsec-mscrypto-x509.html#XMLSECMSCRYPTOX509STOREADOPTUNTRUSTEDSTORE">xmlSecMSCryptoX509StoreAdoptUntrustedStore</a></p></li>
-<li><p><a href="xmlsec-mscrypto-x509.html#XMLSECMSCRYPTOX509STOREENABLESYSTEMTRUSTEDCERTS">xmlSecMSCryptoX509StoreEnableSystemTrustedCerts</a></p></li>
-<li><p><a href="xmlsec-mscrypto-x509.html#XMLSECMSCRYPTOX509STOREGETKLASS">xmlSecMSCryptoX509StoreGetKlass</a></p></li>
-<li><p><a href="xmlsec-mscrypto-x509.html#XMLSECMSCRYPTOX509STOREID">xmlSecMSCryptoX509StoreId</a></p></li>
-<li><p><a href="xmlsec-xmltree.html#XMLSECNODEENCODEANDSETCONTENT">xmlSecNodeEncodeAndSetContent</a></p></li>
-<li><p><a href="xmlsec-xmltree.html#XMLSECNODEGETNAME">xmlSecNodeGetName</a></p></li>
-<li><p><a href="xmlsec-nodeset.html#XMLSECNODESETADDLIST">xmlSecNodeSetAddList</a></p></li>
-<li><p><a href="xmlsec-nodeset.html#XMLSECNODESETADD">xmlSecNodeSetAdd</a></p></li>
-<li><p><a href="xmlsec-nodeset.html#XMLSECNODESETCONTAINS">xmlSecNodeSetContains</a></p></li>
-<li><p><a href="xmlsec-nodeset.html#XMLSECNODESETCREATE">xmlSecNodeSetCreate</a></p></li>
-<li><p><a href="xmlsec-nodeset.html#XMLSECNODESETDEBUGDUMP">xmlSecNodeSetDebugDump</a></p></li>
-<li><p><a href="xmlsec-nodeset.html#XMLSECNODESETDESTROY">xmlSecNodeSetDestroy</a></p></li>
-<li><p><a href="xmlsec-nodeset.html#XMLSECNODESETDOCDESTROY">xmlSecNodeSetDocDestroy</a></p></li>
-<li><p><a href="xmlsec-nodeset.html#XMLSECNODESETDUMPTEXTNODES">xmlSecNodeSetDumpTextNodes</a></p></li>
-<li><p><a href="xmlsec-nodeset.html#XMLSECNODESETGETCHILDREN">xmlSecNodeSetGetChildren</a></p></li>
-<li><p><a href="xmlsec-nodeset.html#XMLSECNODESET">xmlSecNodeSet</a></p></li>
-<li><p><a href="xmlsec-nodeset.html#XMLSECNODESETOP">xmlSecNodeSetOp</a></p></li>
-<li><p><a href="xmlsec-nodeset.html#XMLSECNODESETTYPE">xmlSecNodeSetType</a></p></li>
-<li><p><a href="xmlsec-nodeset.html#XMLSECNODESETWALKCALLBACK">xmlSecNodeSetWalkCallback</a></p></li>
-<li><p><a href="xmlsec-nodeset.html#XMLSECNODESETWALK">xmlSecNodeSetWalk</a></p></li>
-<li><p><a href="xmlsec-nss-app.html#XMLSECNSSAPPDEFAULTKEYSMNGRADOPTKEY">xmlSecNssAppDefaultKeysMngrAdoptKey</a></p></li>
-<li><p><a href="xmlsec-nss-app.html#XMLSECNSSAPPDEFAULTKEYSMNGRINIT">xmlSecNssAppDefaultKeysMngrInit</a></p></li>
-<li><p><a href="xmlsec-nss-app.html#XMLSECNSSAPPDEFAULTKEYSMNGRLOAD">xmlSecNssAppDefaultKeysMngrLoad</a></p></li>
-<li><p><a href="xmlsec-nss-app.html#XMLSECNSSAPPDEFAULTKEYSMNGRSAVE">xmlSecNssAppDefaultKeysMngrSave</a></p></li>
-<li><p><a href="xmlsec-nss-app.html#XMLSECNSSAPPGETDEFAULTPWDCALLBACK">xmlSecNssAppGetDefaultPwdCallback</a></p></li>
-<li><p><a href="xmlsec-nss-app.html#XMLSECNSSAPPINIT">xmlSecNssAppInit</a></p></li>
-<li><p><a href="xmlsec-nss-app.html#XMLSECNSSAPPKEYCERTLOADMEMORY">xmlSecNssAppKeyCertLoadMemory</a></p></li>
-<li><p><a href="xmlsec-nss-app.html#XMLSECNSSAPPKEYCERTLOAD">xmlSecNssAppKeyCertLoad</a></p></li>
-<li><p><a href="xmlsec-nss-app.html#XMLSECNSSAPPKEYCERTLOADSECITEM">xmlSecNssAppKeyCertLoadSECItem</a></p></li>
-<li><p><a href="xmlsec-nss-app.html#XMLSECNSSAPPKEYFROMCERTLOADSECITEM">xmlSecNssAppKeyFromCertLoadSECItem</a></p></li>
-<li><p><a href="xmlsec-nss-app.html#XMLSECNSSAPPKEYLOADMEMORY">xmlSecNssAppKeyLoadMemory</a></p></li>
-<li><p><a href="xmlsec-nss-app.html#XMLSECNSSAPPKEYLOAD">xmlSecNssAppKeyLoad</a></p></li>
-<li><p><a href="xmlsec-nss-app.html#XMLSECNSSAPPKEYLOADSECITEM">xmlSecNssAppKeyLoadSECItem</a></p></li>
-<li><p><a href="xmlsec-nss-app.html#XMLSECNSSAPPKEYSMNGRCERTLOADMEMORY">xmlSecNssAppKeysMngrCertLoadMemory</a></p></li>
-<li><p><a href="xmlsec-nss-app.html#XMLSECNSSAPPKEYSMNGRCERTLOAD">xmlSecNssAppKeysMngrCertLoad</a></p></li>
-<li><p><a href="xmlsec-nss-app.html#XMLSECNSSAPPKEYSMNGRCERTLOADSECITEM">xmlSecNssAppKeysMngrCertLoadSECItem</a></p></li>
-<li><p><a href="xmlsec-nss-app.html#XMLSECNSSAPPPKCS12LOADMEMORY">xmlSecNssAppPkcs12LoadMemory</a></p></li>
-<li><p><a href="xmlsec-nss-app.html#XMLSECNSSAPPPKCS12LOAD">xmlSecNssAppPkcs12Load</a></p></li>
-<li><p><a href="xmlsec-nss-app.html#XMLSECNSSAPPPKCS12LOADSECITEM">xmlSecNssAppPkcs12LoadSECItem</a></p></li>
-<li><p><a href="xmlsec-nss-app.html#XMLSECNSSAPPSHUTDOWN">xmlSecNssAppShutdown</a></p></li>
-<li><p><a href="xmlsec-nss-crypto.html#XMLSECNSSERRORSDEFAULTCALLBACK">xmlSecNssErrorsDefaultCallback</a></p></li>
-<li><p><a href="xmlsec-nss-crypto.html#XMLSECNSSGENERATERANDOM">xmlSecNssGenerateRandom</a></p></li>
-<li><p><a href="xmlsec-nss-crypto.html#XMLSECNSSGETINTERNALKEYSLOT">xmlSecNssGetInternalKeySlot</a></p></li>
-<li><p><a href="xmlsec-nss-crypto.html#XMLSECNSSHMACGETMINOUTPUTLENGTH">xmlSecNssHmacGetMinOutputLength</a></p></li>
-<li><p><a href="xmlsec-nss-crypto.html#XMLSECNSSHMACSETMINOUTPUTLENGTH">xmlSecNssHmacSetMinOutputLength</a></p></li>
-<li><p><a href="xmlsec-nss-crypto.html#XMLSECNSSINIT">xmlSecNssInit</a></p></li>
-<li><p><a href="xmlsec-nss-crypto.html#XMLSECNSSKEYDATAAESGETKLASS">xmlSecNssKeyDataAesGetKlass</a></p></li>
-<li><p><a href="xmlsec-nss-crypto.html#XMLSECNSSKEYDATAAESID">xmlSecNssKeyDataAesId</a></p></li>
-<li><p><a href="xmlsec-nss-crypto.html#XMLSECNSSKEYDATAAESSET">xmlSecNssKeyDataAesSet</a></p></li>
-<li><p><a href="xmlsec-nss-crypto.html#XMLSECNSSKEYDATADESGETKLASS">xmlSecNssKeyDataDesGetKlass</a></p></li>
-<li><p><a href="xmlsec-nss-crypto.html#XMLSECNSSKEYDATADESID">xmlSecNssKeyDataDesId</a></p></li>
-<li><p><a href="xmlsec-nss-crypto.html#XMLSECNSSKEYDATADESSET">xmlSecNssKeyDataDesSet</a></p></li>
-<li><p><a href="xmlsec-nss-crypto.html#XMLSECNSSKEYDATADSAGETKLASS">xmlSecNssKeyDataDsaGetKlass</a></p></li>
-<li><p><a href="xmlsec-nss-crypto.html#XMLSECNSSKEYDATADSAID">xmlSecNssKeyDataDsaId</a></p></li>
-<li><p><a href="xmlsec-nss-crypto.html#XMLSECNSSKEYDATAHMACGETKLASS">xmlSecNssKeyDataHmacGetKlass</a></p></li>
-<li><p><a href="xmlsec-nss-crypto.html#XMLSECNSSKEYDATAHMACID">xmlSecNssKeyDataHmacId</a></p></li>
-<li><p><a href="xmlsec-nss-crypto.html#XMLSECNSSKEYDATAHMACSET">xmlSecNssKeyDataHmacSet</a></p></li>
-<li><p><a href="xmlsec-nss-x509.html#XMLSECNSSKEYDATARAWX509CERTGETKLASS">xmlSecNssKeyDataRawX509CertGetKlass</a></p></li>
-<li><p><a href="xmlsec-nss-x509.html#XMLSECNSSKEYDATARAWX509CERTID">xmlSecNssKeyDataRawX509CertId</a></p></li>
-<li><p><a href="xmlsec-nss-crypto.html#XMLSECNSSKEYDATARSAGETKLASS">xmlSecNssKeyDataRsaGetKlass</a></p></li>
-<li><p><a href="xmlsec-nss-crypto.html#XMLSECNSSKEYDATARSAID">xmlSecNssKeyDataRsaId</a></p></li>
-<li><p><a href="xmlsec-nss-x509.html#XMLSECNSSKEYDATAX509ADOPTCERT">xmlSecNssKeyDataX509AdoptCert</a></p></li>
-<li><p><a href="xmlsec-nss-x509.html#XMLSECNSSKEYDATAX509ADOPTCRL">xmlSecNssKeyDataX509AdoptCrl</a></p></li>
-<li><p><a href="xmlsec-nss-x509.html#XMLSECNSSKEYDATAX509ADOPTKEYCERT">xmlSecNssKeyDataX509AdoptKeyCert</a></p></li>
-<li><p><a href="xmlsec-nss-x509.html#XMLSECNSSKEYDATAX509GETCERT">xmlSecNssKeyDataX509GetCert</a></p></li>
-<li><p><a href="xmlsec-nss-x509.html#XMLSECNSSKEYDATAX509GETCERTSSIZE">xmlSecNssKeyDataX509GetCertsSize</a></p></li>
-<li><p><a href="xmlsec-nss-x509.html#XMLSECNSSKEYDATAX509GETCRL">xmlSecNssKeyDataX509GetCrl</a></p></li>
-<li><p><a href="xmlsec-nss-x509.html#XMLSECNSSKEYDATAX509GETCRLSSIZE">xmlSecNssKeyDataX509GetCrlsSize</a></p></li>
-<li><p><a href="xmlsec-nss-x509.html#XMLSECNSSKEYDATAX509GETKEYCERT">xmlSecNssKeyDataX509GetKeyCert</a></p></li>
-<li><p><a href="xmlsec-nss-x509.html#XMLSECNSSKEYDATAX509GETKLASS">xmlSecNssKeyDataX509GetKlass</a></p></li>
-<li><p><a href="xmlsec-nss-x509.html#XMLSECNSSKEYDATAX509ID">xmlSecNssKeyDataX509Id</a></p></li>
-<li><p><a href="xmlsec-nss-crypto.html#XMLSECNSSKEYSMNGRINIT">xmlSecNssKeysMngrInit</a></p></li>
-<li><p><a href="xmlsec-nss-keysstore.html#XMLSECNSSKEYSSTOREADOPTKEY">xmlSecNssKeysStoreAdoptKey</a></p></li>
-<li><p><a href="xmlsec-nss-keysstore.html#XMLSECNSSKEYSSTOREGETKLASS">xmlSecNssKeysStoreGetKlass</a></p></li>
-<li><p><a href="xmlsec-nss-keysstore.html#XMLSECNSSKEYSSTOREID">xmlSecNssKeysStoreId</a></p></li>
-<li><p><a href="xmlsec-nss-keysstore.html#XMLSECNSSKEYSSTORELOAD">xmlSecNssKeysStoreLoad</a></p></li>
-<li><p><a href="xmlsec-nss-keysstore.html#XMLSECNSSKEYSSTORESAVE">xmlSecNssKeysStoreSave</a></p></li>
-<li><p><a href="xmlsec-nss-bignum.html#XMLSECNSSNODEGETBIGNUMVALUE">xmlSecNssNodeGetBigNumValue</a></p></li>
-<li><p><a href="xmlsec-nss-bignum.html#XMLSECNSSNODESETBIGNUMVALUE">xmlSecNssNodeSetBigNumValue</a></p></li>
-<li><p><a href="xmlsec-nss-pkikeys.html#XMLSECNSSPKIADOPTKEY">xmlSecNssPKIAdoptKey</a></p></li>
-<li><p><a href="xmlsec-nss-pkikeys.html#XMLSECNSSPKIKEYDATADUPLICATE">xmlSecNssPKIKeyDataDuplicate</a></p></li>
-<li><p><a href="xmlsec-nss-pkikeys.html#XMLSECNSSPKIKEYDATAGETKEYTYPE">xmlSecNssPKIKeyDataGetKeyType</a></p></li>
-<li><p><a href="xmlsec-nss-pkikeys.html#XMLSECNSSPKIKEYDATAGETPRIVKEY">xmlSecNssPKIKeyDataGetPrivKey</a></p></li>
-<li><p><a href="xmlsec-nss-pkikeys.html#XMLSECNSSPKIKEYDATAGETPUBKEY">xmlSecNssPKIKeyDataGetPubKey</a></p></li>
-<li><p><a href="xmlsec-nss-crypto.html#XMLSECNSSSHUTDOWN">xmlSecNssShutdown</a></p></li>
-<li><p><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMAES128CBCGETKLASS">xmlSecNssTransformAes128CbcGetKlass</a></p></li>
-<li><p><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMAES128CBCID">xmlSecNssTransformAes128CbcId</a></p></li>
-<li><p><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMAES192CBCGETKLASS">xmlSecNssTransformAes192CbcGetKlass</a></p></li>
-<li><p><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMAES192CBCID">xmlSecNssTransformAes192CbcId</a></p></li>
-<li><p><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMAES256CBCGETKLASS">xmlSecNssTransformAes256CbcGetKlass</a></p></li>
-<li><p><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMAES256CBCID">xmlSecNssTransformAes256CbcId</a></p></li>
-<li><p><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMDES3CBCGETKLASS">xmlSecNssTransformDes3CbcGetKlass</a></p></li>
-<li><p><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMDES3CBCID">xmlSecNssTransformDes3CbcId</a></p></li>
-<li><p><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMDSASHA1GETKLASS">xmlSecNssTransformDsaSha1GetKlass</a></p></li>
-<li><p><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMDSASHA1ID">xmlSecNssTransformDsaSha1Id</a></p></li>
-<li><p><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMHMACMD5GETKLASS">xmlSecNssTransformHmacMd5GetKlass</a></p></li>
-<li><p><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMHMACMD5ID">xmlSecNssTransformHmacMd5Id</a></p></li>
-<li><p><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMHMACRIPEMD160GETKLASS">xmlSecNssTransformHmacRipemd160GetKlass</a></p></li>
-<li><p><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMHMACRIPEMD160ID">xmlSecNssTransformHmacRipemd160Id</a></p></li>
-<li><p><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMHMACSHA1GETKLASS">xmlSecNssTransformHmacSha1GetKlass</a></p></li>
-<li><p><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMHMACSHA1ID">xmlSecNssTransformHmacSha1Id</a></p></li>
-<li><p><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMHMACSHA256GETKLASS">xmlSecNssTransformHmacSha256GetKlass</a></p></li>
-<li><p><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMHMACSHA256ID">xmlSecNssTransformHmacSha256Id</a></p></li>
-<li><p><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMHMACSHA384GETKLASS">xmlSecNssTransformHmacSha384GetKlass</a></p></li>
-<li><p><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMHMACSHA384ID">xmlSecNssTransformHmacSha384Id</a></p></li>
-<li><p><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMHMACSHA512GETKLASS">xmlSecNssTransformHmacSha512GetKlass</a></p></li>
-<li><p><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMHMACSHA512ID">xmlSecNssTransformHmacSha512Id</a></p></li>
-<li><p><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMKWAES128GETKLASS">xmlSecNssTransformKWAes128GetKlass</a></p></li>
-<li><p><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMKWAES128ID">xmlSecNssTransformKWAes128Id</a></p></li>
-<li><p><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMKWAES192GETKLASS">xmlSecNssTransformKWAes192GetKlass</a></p></li>
-<li><p><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMKWAES192ID">xmlSecNssTransformKWAes192Id</a></p></li>
-<li><p><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMKWAES256GETKLASS">xmlSecNssTransformKWAes256GetKlass</a></p></li>
-<li><p><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMKWAES256ID">xmlSecNssTransformKWAes256Id</a></p></li>
-<li><p><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMKWDES3GETKLASS">xmlSecNssTransformKWDes3GetKlass</a></p></li>
-<li><p><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMKWDES3ID">xmlSecNssTransformKWDes3Id</a></p></li>
-<li><p><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMMD5GETKLASS">xmlSecNssTransformMd5GetKlass</a></p></li>
-<li><p><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMMD5ID">xmlSecNssTransformMd5Id</a></p></li>
-<li><p><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMRSAMD5GETKLASS">xmlSecNssTransformRsaMd5GetKlass</a></p></li>
-<li><p><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMRSAMD5ID">xmlSecNssTransformRsaMd5Id</a></p></li>
-<li><p><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMRSAOAEPGETKLASS">xmlSecNssTransformRsaOaepGetKlass</a></p></li>
-<li><p><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMRSAOAEPID">xmlSecNssTransformRsaOaepId</a></p></li>
-<li><p><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMRSAPKCS1GETKLASS">xmlSecNssTransformRsaPkcs1GetKlass</a></p></li>
-<li><p><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMRSAPKCS1ID">xmlSecNssTransformRsaPkcs1Id</a></p></li>
-<li><p><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMRSASHA1GETKLASS">xmlSecNssTransformRsaSha1GetKlass</a></p></li>
-<li><p><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMRSASHA1ID">xmlSecNssTransformRsaSha1Id</a></p></li>
-<li><p><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMRSASHA256GETKLASS">xmlSecNssTransformRsaSha256GetKlass</a></p></li>
-<li><p><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMRSASHA256ID">xmlSecNssTransformRsaSha256Id</a></p></li>
-<li><p><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMRSASHA384GETKLASS">xmlSecNssTransformRsaSha384GetKlass</a></p></li>
-<li><p><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMRSASHA384ID">xmlSecNssTransformRsaSha384Id</a></p></li>
-<li><p><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMRSASHA512GETKLASS">xmlSecNssTransformRsaSha512GetKlass</a></p></li>
-<li><p><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMRSASHA512ID">xmlSecNssTransformRsaSha512Id</a></p></li>
-<li><p><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMSHA1GETKLASS">xmlSecNssTransformSha1GetKlass</a></p></li>
-<li><p><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMSHA1ID">xmlSecNssTransformSha1Id</a></p></li>
-<li><p><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMSHA256GETKLASS">xmlSecNssTransformSha256GetKlass</a></p></li>
-<li><p><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMSHA256ID">xmlSecNssTransformSha256Id</a></p></li>
-<li><p><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMSHA384GETKLASS">xmlSecNssTransformSha384GetKlass</a></p></li>
-<li><p><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMSHA384ID">xmlSecNssTransformSha384Id</a></p></li>
-<li><p><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMSHA512GETKLASS">xmlSecNssTransformSha512GetKlass</a></p></li>
-<li><p><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMSHA512ID">xmlSecNssTransformSha512Id</a></p></li>
-<li><p><a href="xmlsec-nss-x509.html#XMLSECNSSX509CERTGETKEY">xmlSecNssX509CertGetKey</a></p></li>
-<li><p><a href="xmlsec-nss-x509.html#XMLSECNSSX509STOREADOPTCERT">xmlSecNssX509StoreAdoptCert</a></p></li>
-<li><p><a href="xmlsec-nss-x509.html#XMLSECNSSX509STOREFINDCERT">xmlSecNssX509StoreFindCert</a></p></li>
-<li><p><a href="xmlsec-nss-x509.html#XMLSECNSSX509STOREGETKLASS">xmlSecNssX509StoreGetKlass</a></p></li>
-<li><p><a href="xmlsec-nss-x509.html#XMLSECNSSX509STOREID">xmlSecNssX509StoreId</a></p></li>
-<li><p><a href="xmlsec-nss-x509.html#XMLSECNSSX509STOREVERIFY">xmlSecNssX509StoreVerify</a></p></li>
-<li><p><a href="xmlsec-openssl-app.html#XMLSECOPENSSLAPPDEFAULTKEYSMNGRADOPTKEY">xmlSecOpenSSLAppDefaultKeysMngrAdoptKey</a></p></li>
-<li><p><a href="xmlsec-openssl-app.html#XMLSECOPENSSLAPPDEFAULTKEYSMNGRINIT">xmlSecOpenSSLAppDefaultKeysMngrInit</a></p></li>
-<li><p><a href="xmlsec-openssl-app.html#XMLSECOPENSSLAPPDEFAULTKEYSMNGRLOAD">xmlSecOpenSSLAppDefaultKeysMngrLoad</a></p></li>
-<li><p><a href="xmlsec-openssl-app.html#XMLSECOPENSSLAPPDEFAULTKEYSMNGRSAVE">xmlSecOpenSSLAppDefaultKeysMngrSave</a></p></li>
-<li><p><a href="xmlsec-openssl-app.html#XMLSECOPENSSLAPPGETDEFAULTPWDCALLBACK">xmlSecOpenSSLAppGetDefaultPwdCallback</a></p></li>
-<li><p><a href="xmlsec-openssl-app.html#XMLSECOPENSSLAPPINIT">xmlSecOpenSSLAppInit</a></p></li>
-<li><p><a href="xmlsec-openssl-app.html#XMLSECOPENSSLAPPKEYCERTLOADBIO">xmlSecOpenSSLAppKeyCertLoadBIO</a></p></li>
-<li><p><a href="xmlsec-openssl-app.html#XMLSECOPENSSLAPPKEYCERTLOADMEMORY">xmlSecOpenSSLAppKeyCertLoadMemory</a></p></li>
-<li><p><a href="xmlsec-openssl-app.html#XMLSECOPENSSLAPPKEYCERTLOAD">xmlSecOpenSSLAppKeyCertLoad</a></p></li>
-<li><p><a href="xmlsec-openssl-app.html#XMLSECOPENSSLAPPKEYFROMCERTLOADBIO">xmlSecOpenSSLAppKeyFromCertLoadBIO</a></p></li>
-<li><p><a href="xmlsec-openssl-app.html#XMLSECOPENSSLAPPKEYLOADBIO">xmlSecOpenSSLAppKeyLoadBIO</a></p></li>
-<li><p><a href="xmlsec-openssl-app.html#XMLSECOPENSSLAPPKEYLOADMEMORY">xmlSecOpenSSLAppKeyLoadMemory</a></p></li>
-<li><p><a href="xmlsec-openssl-app.html#XMLSECOPENSSLAPPKEYLOAD">xmlSecOpenSSLAppKeyLoad</a></p></li>
-<li><p><a href="xmlsec-openssl-app.html#XMLSECOPENSSLAPPKEYSMNGRADDCERTSFILE">xmlSecOpenSSLAppKeysMngrAddCertsFile</a></p></li>
-<li><p><a href="xmlsec-openssl-app.html#XMLSECOPENSSLAPPKEYSMNGRADDCERTSPATH">xmlSecOpenSSLAppKeysMngrAddCertsPath</a></p></li>
-<li><p><a href="xmlsec-openssl-app.html#XMLSECOPENSSLAPPKEYSMNGRCERTLOADBIO">xmlSecOpenSSLAppKeysMngrCertLoadBIO</a></p></li>
-<li><p><a href="xmlsec-openssl-app.html#XMLSECOPENSSLAPPKEYSMNGRCERTLOADMEMORY">xmlSecOpenSSLAppKeysMngrCertLoadMemory</a></p></li>
-<li><p><a href="xmlsec-openssl-app.html#XMLSECOPENSSLAPPKEYSMNGRCERTLOAD">xmlSecOpenSSLAppKeysMngrCertLoad</a></p></li>
-<li><p><a href="xmlsec-openssl-app.html#XMLSECOPENSSLAPPPKCS12LOADBIO">xmlSecOpenSSLAppPkcs12LoadBIO</a></p></li>
-<li><p><a href="xmlsec-openssl-app.html#XMLSECOPENSSLAPPPKCS12LOADMEMORY">xmlSecOpenSSLAppPkcs12LoadMemory</a></p></li>
-<li><p><a href="xmlsec-openssl-app.html#XMLSECOPENSSLAPPPKCS12LOAD">xmlSecOpenSSLAppPkcs12Load</a></p></li>
-<li><p><a href="xmlsec-openssl-app.html#XMLSECOPENSSLAPPSHUTDOWN">xmlSecOpenSSLAppShutdown</a></p></li>
-<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLERRORSDEFAULTCALLBACK">xmlSecOpenSSLErrorsDefaultCallback</a></p></li>
-<li><p><font>XMLSEC-OPENSSL-ERRORS-FUNCTION</font></p></li>
-<li><p><font>XMLSEC-OPENSSL-ERRORS-LIB</font></p></li>
-<li><p><a href="xmlsec-openssl-evp.html#XMLSECOPENSSLEVPKEYADOPT">xmlSecOpenSSLEvpKeyAdopt</a></p></li>
-<li><p><a href="xmlsec-openssl-evp.html#XMLSECOPENSSLEVPKEYDATAADOPTEVP">xmlSecOpenSSLEvpKeyDataAdoptEvp</a></p></li>
-<li><p><a href="xmlsec-openssl-evp.html#XMLSECOPENSSLEVPKEYDATAGETEVP">xmlSecOpenSSLEvpKeyDataGetEvp</a></p></li>
-<li><p><a href="xmlsec-openssl-evp.html#XMLSECOPENSSLEVPKEYDUP">xmlSecOpenSSLEvpKeyDup</a></p></li>
-<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLGENERATERANDOM">xmlSecOpenSSLGenerateRandom</a></p></li>
-<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLGETDEFAULTTRUSTEDCERTSFOLDER">xmlSecOpenSSLGetDefaultTrustedCertsFolder</a></p></li>
-<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLHMACGETMINOUTPUTLENGTH">xmlSecOpenSSLHmacGetMinOutputLength</a></p></li>
-<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLHMACSETMINOUTPUTLENGTH">xmlSecOpenSSLHmacSetMinOutputLength</a></p></li>
-<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLINIT">xmlSecOpenSSLInit</a></p></li>
-<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLKEYDATAAESGETKLASS">xmlSecOpenSSLKeyDataAesGetKlass</a></p></li>
-<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLKEYDATAAESID">xmlSecOpenSSLKeyDataAesId</a></p></li>
-<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLKEYDATAAESSET">xmlSecOpenSSLKeyDataAesSet</a></p></li>
-<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLKEYDATADESGETKLASS">xmlSecOpenSSLKeyDataDesGetKlass</a></p></li>
-<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLKEYDATADESID">xmlSecOpenSSLKeyDataDesId</a></p></li>
-<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLKEYDATADESSET">xmlSecOpenSSLKeyDataDesSet</a></p></li>
-<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLKEYDATADSAADOPTDSA">xmlSecOpenSSLKeyDataDsaAdoptDsa</a></p></li>
-<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLKEYDATADSAADOPTEVP">xmlSecOpenSSLKeyDataDsaAdoptEvp</a></p></li>
-<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLKEYDATADSAGETDSA">xmlSecOpenSSLKeyDataDsaGetDsa</a></p></li>
-<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLKEYDATADSAGETEVP">xmlSecOpenSSLKeyDataDsaGetEvp</a></p></li>
-<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLKEYDATADSAGETKLASS">xmlSecOpenSSLKeyDataDsaGetKlass</a></p></li>
-<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLKEYDATADSAID">xmlSecOpenSSLKeyDataDsaId</a></p></li>
-<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLKEYDATAECDSAADOPTECDSA">xmlSecOpenSSLKeyDataEcdsaAdoptEcdsa</a></p></li>
-<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLKEYDATAECDSAADOPTEVP">xmlSecOpenSSLKeyDataEcdsaAdoptEvp</a></p></li>
-<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLKEYDATAECDSAGETECDSA">xmlSecOpenSSLKeyDataEcdsaGetEcdsa</a></p></li>
-<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLKEYDATAECDSAGETEVP">xmlSecOpenSSLKeyDataEcdsaGetEvp</a></p></li>
-<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLKEYDATAECDSAGETKLASS">xmlSecOpenSSLKeyDataEcdsaGetKlass</a></p></li>
-<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLKEYDATAECDSAID">xmlSecOpenSSLKeyDataEcdsaId</a></p></li>
-<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLKEYDATAGOST2001GETKLASS">xmlSecOpenSSLKeyDataGost2001GetKlass</a></p></li>
-<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLKEYDATAGOST2001ID">xmlSecOpenSSLKeyDataGost2001Id</a></p></li>
-<li><p><font>xmlSecOpenSSLKeyDataGostR3410-2012-256GetKlass</font></p></li>
-<li><p><font>xmlSecOpenSSLKeyDataGostR3410-2012-256Id</font></p></li>
-<li><p><font>xmlSecOpenSSLKeyDataGostR3410-2012-512GetKlass</font></p></li>
-<li><p><font>xmlSecOpenSSLKeyDataGostR3410-2012-512Id</font></p></li>
-<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLKEYDATAHMACGETKLASS">xmlSecOpenSSLKeyDataHmacGetKlass</a></p></li>
-<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLKEYDATAHMACID">xmlSecOpenSSLKeyDataHmacId</a></p></li>
-<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLKEYDATAHMACSET">xmlSecOpenSSLKeyDataHmacSet</a></p></li>
-<li><p><a href="xmlsec-openssl-x509.html#XMLSECOPENSSLKEYDATARAWX509CERTGETKLASS">xmlSecOpenSSLKeyDataRawX509CertGetKlass</a></p></li>
-<li><p><a href="xmlsec-openssl-x509.html#XMLSECOPENSSLKEYDATARAWX509CERTID">xmlSecOpenSSLKeyDataRawX509CertId</a></p></li>
-<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLKEYDATARSAADOPTEVP">xmlSecOpenSSLKeyDataRsaAdoptEvp</a></p></li>
-<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLKEYDATARSAADOPTRSA">xmlSecOpenSSLKeyDataRsaAdoptRsa</a></p></li>
-<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLKEYDATARSAGETEVP">xmlSecOpenSSLKeyDataRsaGetEvp</a></p></li>
-<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLKEYDATARSAGETKLASS">xmlSecOpenSSLKeyDataRsaGetKlass</a></p></li>
-<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLKEYDATARSAGETRSA">xmlSecOpenSSLKeyDataRsaGetRsa</a></p></li>
-<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLKEYDATARSAID">xmlSecOpenSSLKeyDataRsaId</a></p></li>
-<li><p><a href="xmlsec-openssl-x509.html#XMLSECOPENSSLKEYDATAX509ADOPTCERT">xmlSecOpenSSLKeyDataX509AdoptCert</a></p></li>
-<li><p><a href="xmlsec-openssl-x509.html#XMLSECOPENSSLKEYDATAX509ADOPTCRL">xmlSecOpenSSLKeyDataX509AdoptCrl</a></p></li>
-<li><p><a href="xmlsec-openssl-x509.html#XMLSECOPENSSLKEYDATAX509ADOPTKEYCERT">xmlSecOpenSSLKeyDataX509AdoptKeyCert</a></p></li>
-<li><p><a href="xmlsec-openssl-x509.html#XMLSECOPENSSLKEYDATAX509GETCERT">xmlSecOpenSSLKeyDataX509GetCert</a></p></li>
-<li><p><a href="xmlsec-openssl-x509.html#XMLSECOPENSSLKEYDATAX509GETCERTSSIZE">xmlSecOpenSSLKeyDataX509GetCertsSize</a></p></li>
-<li><p><a href="xmlsec-openssl-x509.html#XMLSECOPENSSLKEYDATAX509GETCRL">xmlSecOpenSSLKeyDataX509GetCrl</a></p></li>
-<li><p><a href="xmlsec-openssl-x509.html#XMLSECOPENSSLKEYDATAX509GETCRLSSIZE">xmlSecOpenSSLKeyDataX509GetCrlsSize</a></p></li>
-<li><p><a href="xmlsec-openssl-x509.html#XMLSECOPENSSLKEYDATAX509GETKEYCERT">xmlSecOpenSSLKeyDataX509GetKeyCert</a></p></li>
-<li><p><a href="xmlsec-openssl-x509.html#XMLSECOPENSSLKEYDATAX509GETKLASS">xmlSecOpenSSLKeyDataX509GetKlass</a></p></li>
-<li><p><a href="xmlsec-openssl-x509.html#XMLSECOPENSSLKEYDATAX509ID">xmlSecOpenSSLKeyDataX509Id</a></p></li>
-<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLKEYSMNGRINIT">xmlSecOpenSSLKeysMngrInit</a></p></li>
-<li><p><a href="xmlsec-openssl-bn.html#XMLSECOPENSSLNODEGETBNVALUE">xmlSecOpenSSLNodeGetBNValue</a></p></li>
-<li><p><a href="xmlsec-openssl-bn.html#XMLSECOPENSSLNODESETBNVALUE">xmlSecOpenSSLNodeSetBNValue</a></p></li>
-<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLSETDEFAULTTRUSTEDCERTSFOLDER">xmlSecOpenSSLSetDefaultTrustedCertsFolder</a></p></li>
-<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLSHUTDOWN">xmlSecOpenSSLShutdown</a></p></li>
-<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMAES128CBCGETKLASS">xmlSecOpenSSLTransformAes128CbcGetKlass</a></p></li>
-<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMAES128CBCID">xmlSecOpenSSLTransformAes128CbcId</a></p></li>
-<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMAES192CBCGETKLASS">xmlSecOpenSSLTransformAes192CbcGetKlass</a></p></li>
-<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMAES192CBCID">xmlSecOpenSSLTransformAes192CbcId</a></p></li>
-<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMAES256CBCGETKLASS">xmlSecOpenSSLTransformAes256CbcGetKlass</a></p></li>
-<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMAES256CBCID">xmlSecOpenSSLTransformAes256CbcId</a></p></li>
-<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMDES3CBCGETKLASS">xmlSecOpenSSLTransformDes3CbcGetKlass</a></p></li>
-<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMDES3CBCID">xmlSecOpenSSLTransformDes3CbcId</a></p></li>
-<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMDSASHA1GETKLASS">xmlSecOpenSSLTransformDsaSha1GetKlass</a></p></li>
-<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMDSASHA1ID">xmlSecOpenSSLTransformDsaSha1Id</a></p></li>
-<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMDSASHA256GETKLASS">xmlSecOpenSSLTransformDsaSha256GetKlass</a></p></li>
-<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMDSASHA256ID">xmlSecOpenSSLTransformDsaSha256Id</a></p></li>
-<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMECDSASHA1GETKLASS">xmlSecOpenSSLTransformEcdsaSha1GetKlass</a></p></li>
-<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMECDSASHA1ID">xmlSecOpenSSLTransformEcdsaSha1Id</a></p></li>
-<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMECDSASHA224GETKLASS">xmlSecOpenSSLTransformEcdsaSha224GetKlass</a></p></li>
-<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMECDSASHA224ID">xmlSecOpenSSLTransformEcdsaSha224Id</a></p></li>
-<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMECDSASHA256GETKLASS">xmlSecOpenSSLTransformEcdsaSha256GetKlass</a></p></li>
-<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMECDSASHA256ID">xmlSecOpenSSLTransformEcdsaSha256Id</a></p></li>
-<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMECDSASHA384GETKLASS">xmlSecOpenSSLTransformEcdsaSha384GetKlass</a></p></li>
-<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMECDSASHA384ID">xmlSecOpenSSLTransformEcdsaSha384Id</a></p></li>
-<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMECDSASHA512GETKLASS">xmlSecOpenSSLTransformEcdsaSha512GetKlass</a></p></li>
-<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMECDSASHA512ID">xmlSecOpenSSLTransformEcdsaSha512Id</a></p></li>
-<li><p><font>xmlSecOpenSSLTransformGost2001GostR3411-94GetKlass</font></p></li>
-<li><p><font>xmlSecOpenSSLTransformGost2001GostR3411-94Id</font></p></li>
-<li><p><font>xmlSecOpenSSLTransformGostR3410-2012GostR3411-2012-256GetKlass</font></p></li>
-<li><p><font>xmlSecOpenSSLTransformGostR3410-2012GostR3411-2012-256Id</font></p></li>
-<li><p><font>xmlSecOpenSSLTransformGostR3410-2012GostR3411-2012-512GetKlass</font></p></li>
-<li><p><font>xmlSecOpenSSLTransformGostR3410-2012GostR3411-2012-512Id</font></p></li>
-<li><p><font>xmlSecOpenSSLTransformGostR3411-2012-256GetKlass</font></p></li>
-<li><p><font>xmlSecOpenSSLTransformGostR3411-2012-256Id</font></p></li>
-<li><p><font>xmlSecOpenSSLTransformGostR3411-2012-512GetKlass</font></p></li>
-<li><p><font>xmlSecOpenSSLTransformGostR3411-2012-512Id</font></p></li>
-<li><p><font>xmlSecOpenSSLTransformGostR3411-94GetKlass</font></p></li>
-<li><p><font>xmlSecOpenSSLTransformGostR3411-94Id</font></p></li>
-<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMHMACMD5GETKLASS">xmlSecOpenSSLTransformHmacMd5GetKlass</a></p></li>
-<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMHMACMD5ID">xmlSecOpenSSLTransformHmacMd5Id</a></p></li>
-<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMHMACRIPEMD160GETKLASS">xmlSecOpenSSLTransformHmacRipemd160GetKlass</a></p></li>
-<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMHMACRIPEMD160ID">xmlSecOpenSSLTransformHmacRipemd160Id</a></p></li>
-<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMHMACSHA1GETKLASS">xmlSecOpenSSLTransformHmacSha1GetKlass</a></p></li>
-<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMHMACSHA1ID">xmlSecOpenSSLTransformHmacSha1Id</a></p></li>
-<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMHMACSHA224GETKLASS">xmlSecOpenSSLTransformHmacSha224GetKlass</a></p></li>
-<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMHMACSHA224ID">xmlSecOpenSSLTransformHmacSha224Id</a></p></li>
-<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMHMACSHA256GETKLASS">xmlSecOpenSSLTransformHmacSha256GetKlass</a></p></li>
-<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMHMACSHA256ID">xmlSecOpenSSLTransformHmacSha256Id</a></p></li>
-<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMHMACSHA384GETKLASS">xmlSecOpenSSLTransformHmacSha384GetKlass</a></p></li>
-<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMHMACSHA384ID">xmlSecOpenSSLTransformHmacSha384Id</a></p></li>
-<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMHMACSHA512GETKLASS">xmlSecOpenSSLTransformHmacSha512GetKlass</a></p></li>
-<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMHMACSHA512ID">xmlSecOpenSSLTransformHmacSha512Id</a></p></li>
-<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMKWAES128GETKLASS">xmlSecOpenSSLTransformKWAes128GetKlass</a></p></li>
-<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMKWAES128ID">xmlSecOpenSSLTransformKWAes128Id</a></p></li>
-<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMKWAES192GETKLASS">xmlSecOpenSSLTransformKWAes192GetKlass</a></p></li>
-<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMKWAES192ID">xmlSecOpenSSLTransformKWAes192Id</a></p></li>
-<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMKWAES256GETKLASS">xmlSecOpenSSLTransformKWAes256GetKlass</a></p></li>
-<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMKWAES256ID">xmlSecOpenSSLTransformKWAes256Id</a></p></li>
-<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMKWDES3GETKLASS">xmlSecOpenSSLTransformKWDes3GetKlass</a></p></li>
-<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMKWDES3ID">xmlSecOpenSSLTransformKWDes3Id</a></p></li>
-<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMMD5GETKLASS">xmlSecOpenSSLTransformMd5GetKlass</a></p></li>
-<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMMD5ID">xmlSecOpenSSLTransformMd5Id</a></p></li>
-<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMRIPEMD160GETKLASS">xmlSecOpenSSLTransformRipemd160GetKlass</a></p></li>
-<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMRIPEMD160ID">xmlSecOpenSSLTransformRipemd160Id</a></p></li>
-<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMRSAMD5GETKLASS">xmlSecOpenSSLTransformRsaMd5GetKlass</a></p></li>
-<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMRSAMD5ID">xmlSecOpenSSLTransformRsaMd5Id</a></p></li>
-<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMRSAOAEPGETKLASS">xmlSecOpenSSLTransformRsaOaepGetKlass</a></p></li>
-<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMRSAOAEPID">xmlSecOpenSSLTransformRsaOaepId</a></p></li>
-<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMRSAPKCS1GETKLASS">xmlSecOpenSSLTransformRsaPkcs1GetKlass</a></p></li>
-<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMRSAPKCS1ID">xmlSecOpenSSLTransformRsaPkcs1Id</a></p></li>
-<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMRSARIPEMD160GETKLASS">xmlSecOpenSSLTransformRsaRipemd160GetKlass</a></p></li>
-<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMRSARIPEMD160ID">xmlSecOpenSSLTransformRsaRipemd160Id</a></p></li>
-<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMRSASHA1GETKLASS">xmlSecOpenSSLTransformRsaSha1GetKlass</a></p></li>
-<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMRSASHA1ID">xmlSecOpenSSLTransformRsaSha1Id</a></p></li>
-<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMRSASHA224GETKLASS">xmlSecOpenSSLTransformRsaSha224GetKlass</a></p></li>
-<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMRSASHA224ID">xmlSecOpenSSLTransformRsaSha224Id</a></p></li>
-<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMRSASHA256GETKLASS">xmlSecOpenSSLTransformRsaSha256GetKlass</a></p></li>
-<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMRSASHA256ID">xmlSecOpenSSLTransformRsaSha256Id</a></p></li>
-<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMRSASHA384GETKLASS">xmlSecOpenSSLTransformRsaSha384GetKlass</a></p></li>
-<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMRSASHA384ID">xmlSecOpenSSLTransformRsaSha384Id</a></p></li>
-<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMRSASHA512GETKLASS">xmlSecOpenSSLTransformRsaSha512GetKlass</a></p></li>
-<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMRSASHA512ID">xmlSecOpenSSLTransformRsaSha512Id</a></p></li>
-<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMSHA1GETKLASS">xmlSecOpenSSLTransformSha1GetKlass</a></p></li>
-<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMSHA1ID">xmlSecOpenSSLTransformSha1Id</a></p></li>
-<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMSHA224GETKLASS">xmlSecOpenSSLTransformSha224GetKlass</a></p></li>
-<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMSHA224ID">xmlSecOpenSSLTransformSha224Id</a></p></li>
-<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMSHA256GETKLASS">xmlSecOpenSSLTransformSha256GetKlass</a></p></li>
-<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMSHA256ID">xmlSecOpenSSLTransformSha256Id</a></p></li>
-<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMSHA384GETKLASS">xmlSecOpenSSLTransformSha384GetKlass</a></p></li>
-<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMSHA384ID">xmlSecOpenSSLTransformSha384Id</a></p></li>
-<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMSHA512GETKLASS">xmlSecOpenSSLTransformSha512GetKlass</a></p></li>
-<li><p><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMSHA512ID">xmlSecOpenSSLTransformSha512Id</a></p></li>
-<li><p><a href="xmlsec-openssl-x509.html#XMLSECOPENSSLX509CERTGETKEY">xmlSecOpenSSLX509CertGetKey</a></p></li>
-<li><p><a href="xmlsec-openssl-x509.html#XMLSECOPENSSLX509STOREADDCERTSFILE">xmlSecOpenSSLX509StoreAddCertsFile</a></p></li>
-<li><p><a href="xmlsec-openssl-x509.html#XMLSECOPENSSLX509STOREADDCERTSPATH">xmlSecOpenSSLX509StoreAddCertsPath</a></p></li>
-<li><p><a href="xmlsec-openssl-x509.html#XMLSECOPENSSLX509STOREADOPTCERT">xmlSecOpenSSLX509StoreAdoptCert</a></p></li>
-<li><p><a href="xmlsec-openssl-x509.html#XMLSECOPENSSLX509STOREADOPTCRL">xmlSecOpenSSLX509StoreAdoptCrl</a></p></li>
-<li><p><a href="xmlsec-openssl-x509.html#XMLSECOPENSSLX509STOREFINDCERT">xmlSecOpenSSLX509StoreFindCert</a></p></li>
-<li><p><a href="xmlsec-openssl-x509.html#XMLSECOPENSSLX509STOREGETKLASS">xmlSecOpenSSLX509StoreGetKlass</a></p></li>
-<li><p><a href="xmlsec-openssl-x509.html#XMLSECOPENSSLX509STOREID">xmlSecOpenSSLX509StoreId</a></p></li>
-<li><p><a href="xmlsec-openssl-x509.html#XMLSECOPENSSLX509STOREVERIFY">xmlSecOpenSSLX509StoreVerify</a></p></li>
-<li><p><a href="xmlsec-parser.html#XMLSECPARSEFILE">xmlSecParseFile</a></p></li>
-<li><p><a href="xmlsec-parser.html#XMLSECPARSEMEMORYEXT">xmlSecParseMemoryExt</a></p></li>
-<li><p><a href="xmlsec-parser.html#XMLSECPARSEMEMORY">xmlSecParseMemory</a></p></li>
-<li><p><a href="xmlsec-xmltree.html#XMLSECPRINTXMLSTRING">xmlSecPrintXmlString</a></p></li>
-<li><p><a href="xmlsec-list.html#XMLSECPTRDEBUGDUMPITEMMETHOD">xmlSecPtrDebugDumpItemMethod</a></p></li>
-<li><p><a href="xmlsec-list.html#XMLSECPTRDESTROYITEMMETHOD">xmlSecPtrDestroyItemMethod</a></p></li>
-<li><p><a href="xmlsec-list.html#XMLSECPTRDUPLICATEITEMMETHOD">xmlSecPtrDuplicateItemMethod</a></p></li>
-<li><p><a href="xmlsec-list.html#XMLSECPTRLISTADD">xmlSecPtrListAdd</a></p></li>
-<li><p><a href="xmlsec-list.html#XMLSECPTRLISTCHECKID">xmlSecPtrListCheckId</a></p></li>
-<li><p><a href="xmlsec-list.html#XMLSECPTRLISTCOPY">xmlSecPtrListCopy</a></p></li>
-<li><p><a href="xmlsec-list.html#XMLSECPTRLISTCREATE">xmlSecPtrListCreate</a></p></li>
-<li><p><a href="xmlsec-list.html#XMLSECPTRLISTDEBUGDUMP">xmlSecPtrListDebugDump</a></p></li>
-<li><p><a href="xmlsec-list.html#XMLSECPTRLISTDEBUGXMLDUMP">xmlSecPtrListDebugXmlDump</a></p></li>
-<li><p><a href="xmlsec-list.html#XMLSECPTRLISTDESTROY">xmlSecPtrListDestroy</a></p></li>
-<li><p><a href="xmlsec-list.html#XMLSECPTRLISTDUPLICATE">xmlSecPtrListDuplicate</a></p></li>
-<li><p><a href="xmlsec-list.html#XMLSECPTRLISTEMPTY">xmlSecPtrListEmpty</a></p></li>
-<li><p><a href="xmlsec-list.html#XMLSECPTRLISTFINALIZE">xmlSecPtrListFinalize</a></p></li>
-<li><p><a href="xmlsec-list.html#XMLSECPTRLISTGETITEM">xmlSecPtrListGetItem</a></p></li>
-<li><p><a href="xmlsec-list.html#XMLSECPTRLISTGETNAME">xmlSecPtrListGetName</a></p></li>
-<li><p><a href="xmlsec-list.html#XMLSECPTRLISTGETSIZE">xmlSecPtrListGetSize</a></p></li>
-<li><p><a href="xmlsec-list.html#XMLSECPTRLISTIDUNKNOWN">xmlSecPtrListIdUnknown</a></p></li>
-<li><p><a href="xmlsec-list.html#XMLSECPTRLISTINITIALIZE">xmlSecPtrListInitialize</a></p></li>
-<li><p><a href="xmlsec-list.html#XMLSECPTRLISTISVALID">xmlSecPtrListIsValid</a></p></li>
-<li><p><a href="xmlsec-list.html#XMLSECPTRLISTKLASSGETNAME">xmlSecPtrListKlassGetName</a></p></li>
-<li><p><a href="xmlsec-list.html#XMLSECPTRLISTKLASS">xmlSecPtrListKlass</a></p></li>
-<li><p><a href="xmlsec-list.html#XMLSECPTRLIST">xmlSecPtrList</a></p></li>
-<li><p><a href="xmlsec-list.html#XMLSECPTRLISTREMOVEANDRETURN">xmlSecPtrListRemoveAndReturn</a></p></li>
-<li><p><a href="xmlsec-list.html#XMLSECPTRLISTREMOVE">xmlSecPtrListRemove</a></p></li>
-<li><p><a href="xmlsec-list.html#XMLSECPTRLISTSETDEFAULTALLOCMODE">xmlSecPtrListSetDefaultAllocMode</a></p></li>
-<li><p><a href="xmlsec-list.html#XMLSECPTRLISTSET">xmlSecPtrListSet</a></p></li>
-<li><p><a href="xmlsec-xmlsec.html#XMLSECPTR">xmlSecPtr</a></p></li>
-<li><p><font>XMLSEC-PTR-TO-FUNC-IMPL</font></p></li>
-<li><p><font>XMLSEC-PTR-TO-FUNC</font></p></li>
-<li><p><a href="xmlsec-xmltree.html#XMLSECQNAME2BITMASKDEBUGDUMP">xmlSecQName2BitMaskDebugDump</a></p></li>
-<li><p><a href="xmlsec-xmltree.html#XMLSECQNAME2BITMASKDEBUGXMLDUMP">xmlSecQName2BitMaskDebugXmlDump</a></p></li>
-<li><p><a href="xmlsec-xmltree.html#XMLSECQNAME2BITMASKGETBITMASKFROMSTRING">xmlSecQName2BitMaskGetBitMaskFromString</a></p></li>
-<li><p><a href="xmlsec-xmltree.html#XMLSECQNAME2BITMASKGETBITMASK">xmlSecQName2BitMaskGetBitMask</a></p></li>
-<li><p><a href="xmlsec-xmltree.html#XMLSECQNAME2BITMASKGETINFO">xmlSecQName2BitMaskGetInfo</a></p></li>
-<li><p><a href="xmlsec-xmltree.html#XMLSECQNAME2BITMASKGETSTRINGFROMBITMASK">xmlSecQName2BitMaskGetStringFromBitMask</a></p></li>
-<li><p><a href="xmlsec-xmltree.html#XMLSECQNAME2BITMASKINFOCONSTPTR">xmlSecQName2BitMaskInfoConstPtr</a></p></li>
-<li><p><a href="xmlsec-xmltree.html#XMLSECQNAME2BITMASKINFO">xmlSecQName2BitMaskInfo</a></p></li>
-<li><p><a href="xmlsec-xmltree.html#XMLSECQNAME2BITMASKNODESREAD">xmlSecQName2BitMaskNodesRead</a></p></li>
-<li><p><a href="xmlsec-xmltree.html#XMLSECQNAME2BITMASKNODESWRITE">xmlSecQName2BitMaskNodesWrite</a></p></li>
-<li><p><a href="xmlsec-xmltree.html#XMLSECQNAME2INTEGERATTRIBUTEREAD">xmlSecQName2IntegerAttributeRead</a></p></li>
-<li><p><a href="xmlsec-xmltree.html#XMLSECQNAME2INTEGERATTRIBUTEWRITE">xmlSecQName2IntegerAttributeWrite</a></p></li>
-<li><p><a href="xmlsec-xmltree.html#XMLSECQNAME2INTEGERDEBUGDUMP">xmlSecQName2IntegerDebugDump</a></p></li>
-<li><p><a href="xmlsec-xmltree.html#XMLSECQNAME2INTEGERDEBUGXMLDUMP">xmlSecQName2IntegerDebugXmlDump</a></p></li>
-<li><p><a href="xmlsec-xmltree.html#XMLSECQNAME2INTEGERGETINFO">xmlSecQName2IntegerGetInfo</a></p></li>
-<li><p><a href="xmlsec-xmltree.html#XMLSECQNAME2INTEGERGETINTEGERFROMSTRING">xmlSecQName2IntegerGetIntegerFromString</a></p></li>
-<li><p><a href="xmlsec-xmltree.html#XMLSECQNAME2INTEGERGETINTEGER">xmlSecQName2IntegerGetInteger</a></p></li>
-<li><p><a href="xmlsec-xmltree.html#XMLSECQNAME2INTEGERGETSTRINGFROMINTEGER">xmlSecQName2IntegerGetStringFromInteger</a></p></li>
-<li><p><a href="xmlsec-xmltree.html#XMLSECQNAME2INTEGERINFOCONSTPTR">xmlSecQName2IntegerInfoConstPtr</a></p></li>
-<li><p><a href="xmlsec-xmltree.html#XMLSECQNAME2INTEGERINFO">xmlSecQName2IntegerInfo</a></p></li>
-<li><p><a href="xmlsec-xmltree.html#XMLSECQNAME2INTEGERNODEREAD">xmlSecQName2IntegerNodeRead</a></p></li>
-<li><p><a href="xmlsec-xmltree.html#XMLSECQNAME2INTEGERNODEWRITE">xmlSecQName2IntegerNodeWrite</a></p></li>
-<li><p><a href="xmlsec-xmltree.html#XMLSECREPLACECONTENTANDRETURN">xmlSecReplaceContentAndReturn</a></p></li>
-<li><p><a href="xmlsec-xmltree.html#XMLSECREPLACECONTENT">xmlSecReplaceContent</a></p></li>
-<li><p><a href="xmlsec-xmltree.html#XMLSECREPLACENODEANDRETURN">xmlSecReplaceNodeAndReturn</a></p></li>
-<li><p><a href="xmlsec-xmltree.html#XMLSECREPLACENODEBUFFERANDRETURN">xmlSecReplaceNodeBufferAndReturn</a></p></li>
-<li><p><a href="xmlsec-xmltree.html#XMLSECREPLACENODEBUFFER">xmlSecReplaceNodeBuffer</a></p></li>
-<li><p><a href="xmlsec-xmltree.html#XMLSECREPLACENODE">xmlSecReplaceNode</a></p></li>
-<li><p><a href="xmlsec-xmlsec.html#XMLSECSHUTDOWN">xmlSecShutdown</a></p></li>
-<li><p><a href="xmlsec-keysmngr.html#XMLSECSIMPLEKEYSSTOREADOPTKEY">xmlSecSimpleKeysStoreAdoptKey</a></p></li>
-<li><p><a href="xmlsec-keysmngr.html#XMLSECSIMPLEKEYSSTOREGETKEYS">xmlSecSimpleKeysStoreGetKeys</a></p></li>
-<li><p><a href="xmlsec-keysmngr.html#XMLSECSIMPLEKEYSSTOREGETKLASS">xmlSecSimpleKeysStoreGetKlass</a></p></li>
-<li><p><a href="xmlsec-keysmngr.html#XMLSECSIMPLEKEYSSTOREID">xmlSecSimpleKeysStoreId</a></p></li>
-<li><p><a href="xmlsec-keysmngr.html#XMLSECSIMPLEKEYSSTORELOAD">xmlSecSimpleKeysStoreLoad</a></p></li>
-<li><p><a href="xmlsec-keysmngr.html#XMLSECSIMPLEKEYSSTORESAVE">xmlSecSimpleKeysStoreSave</a></p></li>
-<li><p><font>XMLSEC-SIZE-BAD-CAST</font></p></li>
-<li><p><a href="xmlsec-xmlsec.html#XMLSECSIZE">xmlSecSize</a></p></li>
-<li><p><font>xmlSecSoap11AddBodyEntry</font></p></li>
-<li><p><font>xmlSecSoap11AddFaultEntry</font></p></li>
-<li><p><font>xmlSecSoap11CheckEnvelope</font></p></li>
-<li><p><font>xmlSecSoap11CreateEnvelope</font></p></li>
-<li><p><font>xmlSecSoap11EnsureHeader</font></p></li>
-<li><p><font>xmlSecSoap11GetBodyEntriesNumber</font></p></li>
-<li><p><font>xmlSecSoap11GetBodyEntry</font></p></li>
-<li><p><font>xmlSecSoap11GetBody</font></p></li>
-<li><p><font>xmlSecSoap11GetFaultEntry</font></p></li>
-<li><p><font>xmlSecSoap11GetHeader</font></p></li>
-<li><p><font>xmlSecSoap12AddBodyEntry</font></p></li>
-<li><p><font>xmlSecSoap12AddFaultDetailEntry</font></p></li>
-<li><p><font>xmlSecSoap12AddFaultEntry</font></p></li>
-<li><p><font>xmlSecSoap12AddFaultReasonText</font></p></li>
-<li><p><font>xmlSecSoap12AddFaultSubcode</font></p></li>
-<li><p><font>xmlSecSoap12CheckEnvelope</font></p></li>
-<li><p><font>xmlSecSoap12CreateEnvelope</font></p></li>
-<li><p><font>xmlSecSoap12EnsureHeader</font></p></li>
-<li><p><font>xmlSecSoap12FaultCode</font></p></li>
-<li><p><font>xmlSecSoap12GetBodyEntriesNumber</font></p></li>
-<li><p><font>xmlSecSoap12GetBodyEntry</font></p></li>
-<li><p><font>xmlSecSoap12GetBody</font></p></li>
-<li><p><font>xmlSecSoap12GetFaultEntry</font></p></li>
-<li><p><font>xmlSecSoap12GetHeader</font></p></li>
-<li><p><font>XMLSEC-STACK-OF-X509-CRL</font></p></li>
-<li><p><font>XMLSEC-STACK-OF-X509</font></p></li>
-<li><p><a href="xmlsec-list.html#XMLSECSTRINGLISTGETKLASS">xmlSecStringListGetKlass</a></p></li>
-<li><p><a href="xmlsec-list.html#XMLSECSTRINGLISTID">xmlSecStringListId</a></p></li>
-<li><p><font>xmlSecStrPrintf</font></p></li>
-<li><p><font>xmlSecStrVPrintf</font></p></li>
-<li><p><a href="xmlsec-templates.html#XMLSECTMPLCIPHERREFERENCEADDTRANSFORM">xmlSecTmplCipherReferenceAddTransform</a></p></li>
-<li><p><a href="xmlsec-templates.html#XMLSECTMPLENCDATAADDENCPROPERTY">xmlSecTmplEncDataAddEncProperty</a></p></li>
-<li><p><a href="xmlsec-templates.html#XMLSECTMPLENCDATACREATE">xmlSecTmplEncDataCreate</a></p></li>
-<li><p><a href="xmlsec-templates.html#XMLSECTMPLENCDATAENSURECIPHERREFERENCE">xmlSecTmplEncDataEnsureCipherReference</a></p></li>
-<li><p><a href="xmlsec-templates.html#XMLSECTMPLENCDATAENSURECIPHERVALUE">xmlSecTmplEncDataEnsureCipherValue</a></p></li>
-<li><p><a href="xmlsec-templates.html#XMLSECTMPLENCDATAENSUREENCPROPERTIES">xmlSecTmplEncDataEnsureEncProperties</a></p></li>
-<li><p><a href="xmlsec-templates.html#XMLSECTMPLENCDATAENSUREKEYINFO">xmlSecTmplEncDataEnsureKeyInfo</a></p></li>
-<li><p><a href="xmlsec-templates.html#XMLSECTMPLENCDATAGETENCMETHODNODE">xmlSecTmplEncDataGetEncMethodNode</a></p></li>
-<li><p><a href="xmlsec-templates.html#XMLSECTMPLKEYINFOADDENCRYPTEDKEY">xmlSecTmplKeyInfoAddEncryptedKey</a></p></li>
-<li><p><a href="xmlsec-templates.html#XMLSECTMPLKEYINFOADDKEYNAME">xmlSecTmplKeyInfoAddKeyName</a></p></li>
-<li><p><a href="xmlsec-templates.html#XMLSECTMPLKEYINFOADDKEYVALUE">xmlSecTmplKeyInfoAddKeyValue</a></p></li>
-<li><p><a href="xmlsec-templates.html#XMLSECTMPLKEYINFOADDRETRIEVALMETHOD">xmlSecTmplKeyInfoAddRetrievalMethod</a></p></li>
-<li><p><a href="xmlsec-templates.html#XMLSECTMPLKEYINFOADDX509DATA">xmlSecTmplKeyInfoAddX509Data</a></p></li>
-<li><p><a href="xmlsec-templates.html#XMLSECTMPLMANIFESTADDREFERENCE">xmlSecTmplManifestAddReference</a></p></li>
-<li><p><a href="xmlsec-templates.html#XMLSECTMPLOBJECTADDMANIFEST">xmlSecTmplObjectAddManifest</a></p></li>
-<li><p><a href="xmlsec-templates.html#XMLSECTMPLOBJECTADDSIGNPROPERTIES">xmlSecTmplObjectAddSignProperties</a></p></li>
-<li><p><a href="xmlsec-templates.html#XMLSECTMPLREFERENCEADDTRANSFORM">xmlSecTmplReferenceAddTransform</a></p></li>
-<li><p><a href="xmlsec-templates.html#XMLSECTMPLREFERENCELISTADDDATAREFERENCE">xmlSecTmplReferenceListAddDataReference</a></p></li>
-<li><p><a href="xmlsec-templates.html#XMLSECTMPLREFERENCELISTADDKEYREFERENCE">xmlSecTmplReferenceListAddKeyReference</a></p></li>
-<li><p><a href="xmlsec-templates.html#XMLSECTMPLRETRIEVALMETHODADDTRANSFORM">xmlSecTmplRetrievalMethodAddTransform</a></p></li>
-<li><p><a href="xmlsec-templates.html#XMLSECTMPLSIGNATUREADDOBJECT">xmlSecTmplSignatureAddObject</a></p></li>
-<li><p><a href="xmlsec-templates.html#XMLSECTMPLSIGNATUREADDREFERENCE">xmlSecTmplSignatureAddReference</a></p></li>
-<li><p><a href="xmlsec-templates.html#XMLSECTMPLSIGNATURECREATE">xmlSecTmplSignatureCreate</a></p></li>
-<li><p><a href="xmlsec-templates.html#XMLSECTMPLSIGNATURECREATENSPREF">xmlSecTmplSignatureCreateNsPref</a></p></li>
-<li><p><a href="xmlsec-templates.html#XMLSECTMPLSIGNATUREENSUREKEYINFO">xmlSecTmplSignatureEnsureKeyInfo</a></p></li>
-<li><p><a href="xmlsec-templates.html#XMLSECTMPLSIGNATUREGETC14NMETHODNODE">xmlSecTmplSignatureGetC14NMethodNode</a></p></li>
-<li><p><a href="xmlsec-templates.html#XMLSECTMPLSIGNATUREGETSIGNMETHODNODE">xmlSecTmplSignatureGetSignMethodNode</a></p></li>
-<li><p><a href="xmlsec-templates.html#XMLSECTMPLTRANSFORMADDC14NINCLNAMESPACES">xmlSecTmplTransformAddC14NInclNamespaces</a></p></li>
-<li><p><a href="xmlsec-templates.html#XMLSECTMPLTRANSFORMADDHMACOUTPUTLENGTH">xmlSecTmplTransformAddHmacOutputLength</a></p></li>
-<li><p><a href="xmlsec-templates.html#XMLSECTMPLTRANSFORMADDRSAOAEPPARAM">xmlSecTmplTransformAddRsaOaepParam</a></p></li>
-<li><p><a href="xmlsec-templates.html#XMLSECTMPLTRANSFORMADDXPATH2">xmlSecTmplTransformAddXPath2</a></p></li>
-<li><p><a href="xmlsec-templates.html#XMLSECTMPLTRANSFORMADDXPATH">xmlSecTmplTransformAddXPath</a></p></li>
-<li><p><a href="xmlsec-templates.html#XMLSECTMPLTRANSFORMADDXPOINTER">xmlSecTmplTransformAddXPointer</a></p></li>
-<li><p><a href="xmlsec-templates.html#XMLSECTMPLTRANSFORMADDXSLTSTYLESHEET">xmlSecTmplTransformAddXsltStylesheet</a></p></li>
-<li><p><a href="xmlsec-templates.html#XMLSECTMPLX509DATAADDCERTIFICATE">xmlSecTmplX509DataAddCertificate</a></p></li>
-<li><p><a href="xmlsec-templates.html#XMLSECTMPLX509DATAADDCRL">xmlSecTmplX509DataAddCRL</a></p></li>
-<li><p><a href="xmlsec-templates.html#XMLSECTMPLX509DATAADDISSUERSERIAL">xmlSecTmplX509DataAddIssuerSerial</a></p></li>
-<li><p><a href="xmlsec-templates.html#XMLSECTMPLX509DATAADDSKI">xmlSecTmplX509DataAddSKI</a></p></li>
-<li><p><a href="xmlsec-templates.html#XMLSECTMPLX509DATAADDSUBJECTNAME">xmlSecTmplX509DataAddSubjectName</a></p></li>
-<li><p><a href="xmlsec-templates.html#XMLSECTMPLX509ISSUERSERIALADDISSUERNAME">xmlSecTmplX509IssuerSerialAddIssuerName</a></p></li>
-<li><p><a href="xmlsec-templates.html#XMLSECTMPLX509ISSUERSERIALADDSERIALNUMBER">xmlSecTmplX509IssuerSerialAddSerialNumber</a></p></li>
-<li><p><a href="xmlsec-app.html#XMLSECTRANSFORMAES128CBCGETKLASS">xmlSecTransformAes128CbcGetKlass</a></p></li>
-<li><p><a href="xmlsec-app.html#XMLSECTRANSFORMAES128CBCID">xmlSecTransformAes128CbcId</a></p></li>
-<li><p><a href="xmlsec-app.html#XMLSECTRANSFORMAES192CBCGETKLASS">xmlSecTransformAes192CbcGetKlass</a></p></li>
-<li><p><a href="xmlsec-app.html#XMLSECTRANSFORMAES192CBCID">xmlSecTransformAes192CbcId</a></p></li>
-<li><p><a href="xmlsec-app.html#XMLSECTRANSFORMAES256CBCGETKLASS">xmlSecTransformAes256CbcGetKlass</a></p></li>
-<li><p><a href="xmlsec-app.html#XMLSECTRANSFORMAES256CBCID">xmlSecTransformAes256CbcId</a></p></li>
-<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMBASE64GETKLASS">xmlSecTransformBase64GetKlass</a></p></li>
-<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMBASE64ID">xmlSecTransformBase64Id</a></p></li>
-<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMBASE64SETLINESIZE">xmlSecTransformBase64SetLineSize</a></p></li>
-<li><p><font>XMLSEC-TRANSFORM-BINARY-CHUNK</font></p></li>
-<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMCHECKID">xmlSecTransformCheckId</a></p></li>
-<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMCHECKSIZE">xmlSecTransformCheckSize</a></p></li>
-<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMCONNECT">xmlSecTransformConnect</a></p></li>
-<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMCREATEINPUTBUFFER">xmlSecTransformCreateInputBuffer</a></p></li>
-<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMCREATE">xmlSecTransformCreate</a></p></li>
-<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMCREATEOUTPUTBUFFER">xmlSecTransformCreateOutputBuffer</a></p></li>
-<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXAPPEND">xmlSecTransformCtxAppend</a></p></li>
-<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXBINARYEXECUTE">xmlSecTransformCtxBinaryExecute</a></p></li>
-<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXCOPYUSERPREF">xmlSecTransformCtxCopyUserPref</a></p></li>
-<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXCREATEANDAPPEND">xmlSecTransformCtxCreateAndAppend</a></p></li>
-<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXCREATEANDPREPEND">xmlSecTransformCtxCreateAndPrepend</a></p></li>
-<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXCREATE">xmlSecTransformCtxCreate</a></p></li>
-<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXDEBUGDUMP">xmlSecTransformCtxDebugDump</a></p></li>
-<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXDEBUGXMLDUMP">xmlSecTransformCtxDebugXmlDump</a></p></li>
-<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXDESTROY">xmlSecTransformCtxDestroy</a></p></li>
-<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXEXECUTE">xmlSecTransformCtxExecute</a></p></li>
-<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXFINALIZE">xmlSecTransformCtxFinalize</a></p></li>
-<li><p><font>XMLSEC-TRANSFORMCTX-FLAGS-USE-VISA3D-HACK</font></p></li>
-<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXINITIALIZE">xmlSecTransformCtxInitialize</a></p></li>
-<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX">xmlSecTransformCtx</a></p></li>
-<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXNODEREAD">xmlSecTransformCtxNodeRead</a></p></li>
-<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXNODESLISTREAD">xmlSecTransformCtxNodesListRead</a></p></li>
-<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXPREEXECUTECALLBACK">xmlSecTransformCtxPreExecuteCallback</a></p></li>
-<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXPREPARE">xmlSecTransformCtxPrepare</a></p></li>
-<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXPREPEND">xmlSecTransformCtxPrepend</a></p></li>
-<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXRESET">xmlSecTransformCtxReset</a></p></li>
-<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXSETURI">xmlSecTransformCtxSetUri</a></p></li>
-<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXURIEXECUTE">xmlSecTransformCtxUriExecute</a></p></li>
-<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXXMLEXECUTE">xmlSecTransformCtxXmlExecute</a></p></li>
-<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMDATATYPEBIN">xmlSecTransformDataTypeBin</a></p></li>
-<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMDATATYPE">xmlSecTransformDataType</a></p></li>
-<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMDATATYPEUNKNOWN">xmlSecTransformDataTypeUnknown</a></p></li>
-<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMDATATYPEXML">xmlSecTransformDataTypeXml</a></p></li>
-<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMDEBUGDUMP">xmlSecTransformDebugDump</a></p></li>
-<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMDEBUGXMLDUMP">xmlSecTransformDebugXmlDump</a></p></li>
-<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMDEFAULTGETDATATYPE">xmlSecTransformDefaultGetDataType</a></p></li>
-<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMDEFAULTPOPBIN">xmlSecTransformDefaultPopBin</a></p></li>
-<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMDEFAULTPOPXML">xmlSecTransformDefaultPopXml</a></p></li>
-<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMDEFAULTPUSHBIN">xmlSecTransformDefaultPushBin</a></p></li>
-<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMDEFAULTPUSHXML">xmlSecTransformDefaultPushXml</a></p></li>
-<li><p><a href="xmlsec-app.html#XMLSECTRANSFORMDES3CBCGETKLASS">xmlSecTransformDes3CbcGetKlass</a></p></li>
-<li><p><a href="xmlsec-app.html#XMLSECTRANSFORMDES3CBCID">xmlSecTransformDes3CbcId</a></p></li>
-<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMDESTROY">xmlSecTransformDestroy</a></p></li>
-<li><p><a href="xmlsec-app.html#XMLSECTRANSFORMDSASHA1GETKLASS">xmlSecTransformDsaSha1GetKlass</a></p></li>
-<li><p><a href="xmlsec-app.html#XMLSECTRANSFORMDSASHA1ID">xmlSecTransformDsaSha1Id</a></p></li>
-<li><p><a href="xmlsec-app.html#XMLSECTRANSFORMDSASHA256GETKLASS">xmlSecTransformDsaSha256GetKlass</a></p></li>
-<li><p><a href="xmlsec-app.html#XMLSECTRANSFORMDSASHA256ID">xmlSecTransformDsaSha256Id</a></p></li>
-<li><p><a href="xmlsec-app.html#XMLSECTRANSFORMECDSASHA1GETKLASS">xmlSecTransformEcdsaSha1GetKlass</a></p></li>
-<li><p><a href="xmlsec-app.html#XMLSECTRANSFORMECDSASHA1ID">xmlSecTransformEcdsaSha1Id</a></p></li>
-<li><p><a href="xmlsec-app.html#XMLSECTRANSFORMECDSASHA224GETKLASS">xmlSecTransformEcdsaSha224GetKlass</a></p></li>
-<li><p><a href="xmlsec-app.html#XMLSECTRANSFORMECDSASHA224ID">xmlSecTransformEcdsaSha224Id</a></p></li>
-<li><p><a href="xmlsec-app.html#XMLSECTRANSFORMECDSASHA256GETKLASS">xmlSecTransformEcdsaSha256GetKlass</a></p></li>
-<li><p><a href="xmlsec-app.html#XMLSECTRANSFORMECDSASHA256ID">xmlSecTransformEcdsaSha256Id</a></p></li>
-<li><p><a href="xmlsec-app.html#XMLSECTRANSFORMECDSASHA384GETKLASS">xmlSecTransformEcdsaSha384GetKlass</a></p></li>
-<li><p><a href="xmlsec-app.html#XMLSECTRANSFORMECDSASHA384ID">xmlSecTransformEcdsaSha384Id</a></p></li>
-<li><p><a href="xmlsec-app.html#XMLSECTRANSFORMECDSASHA512GETKLASS">xmlSecTransformEcdsaSha512GetKlass</a></p></li>
-<li><p><a href="xmlsec-app.html#XMLSECTRANSFORMECDSASHA512ID">xmlSecTransformEcdsaSha512Id</a></p></li>
-<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMENVELOPEDGETKLASS">xmlSecTransformEnvelopedGetKlass</a></p></li>
-<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMENVELOPEDID">xmlSecTransformEnvelopedId</a></p></li>
-<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMEXCLC14NGETKLASS">xmlSecTransformExclC14NGetKlass</a></p></li>
-<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMEXCLC14NID">xmlSecTransformExclC14NId</a></p></li>
-<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMEXCLC14NWITHCOMMENTSGETKLASS">xmlSecTransformExclC14NWithCommentsGetKlass</a></p></li>
-<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMEXCLC14NWITHCOMMENTSID">xmlSecTransformExclC14NWithCommentsId</a></p></li>
-<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMEXECUTEMETHOD">xmlSecTransformExecuteMethod</a></p></li>
-<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMEXECUTE">xmlSecTransformExecute</a></p></li>
-<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMFINALIZEMETHOD">xmlSecTransformFinalizeMethod</a></p></li>
-<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMGETDATATYPEMETHOD">xmlSecTransformGetDataTypeMethod</a></p></li>
-<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMGETDATATYPE">xmlSecTransformGetDataType</a></p></li>
-<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMGETNAME">xmlSecTransformGetName</a></p></li>
-<li><p><font>xmlSecTransformGost2001GostR3411-94GetKlass</font></p></li>
-<li><p><font>xmlSecTransformGost2001GostR3411-94Id</font></p></li>
-<li><p><font>xmlSecTransformGostR3410-2012GostR3411-2012-256GetKlass</font></p></li>
-<li><p><font>xmlSecTransformGostR3410-2012GostR3411-2012-256Id</font></p></li>
-<li><p><font>xmlSecTransformGostR3410-2012GostR3411-2012-512GetKlass</font></p></li>
-<li><p><font>xmlSecTransformGostR3410-2012GostR3411-2012-512Id</font></p></li>
-<li><p><font>xmlSecTransformGostR3411-2012-256GetKlass</font></p></li>
-<li><p><font>xmlSecTransformGostR3411-2012-256Id</font></p></li>
-<li><p><font>xmlSecTransformGostR3411-2012-512GetKlass</font></p></li>
-<li><p><font>xmlSecTransformGostR3411-2012-512Id</font></p></li>
-<li><p><font>xmlSecTransformGostR3411-94GetKlass</font></p></li>
-<li><p><font>xmlSecTransformGostR3411-94Id</font></p></li>
-<li><p><a href="xmlsec-app.html#XMLSECTRANSFORMHMACMD5GETKLASS">xmlSecTransformHmacMd5GetKlass</a></p></li>
-<li><p><a href="xmlsec-app.html#XMLSECTRANSFORMHMACMD5ID">xmlSecTransformHmacMd5Id</a></p></li>
-<li><p><a href="xmlsec-app.html#XMLSECTRANSFORMHMACRIPEMD160GETKLASS">xmlSecTransformHmacRipemd160GetKlass</a></p></li>
-<li><p><a href="xmlsec-app.html#XMLSECTRANSFORMHMACRIPEMD160ID">xmlSecTransformHmacRipemd160Id</a></p></li>
-<li><p><a href="xmlsec-app.html#XMLSECTRANSFORMHMACSHA1GETKLASS">xmlSecTransformHmacSha1GetKlass</a></p></li>
-<li><p><a href="xmlsec-app.html#XMLSECTRANSFORMHMACSHA1ID">xmlSecTransformHmacSha1Id</a></p></li>
-<li><p><a href="xmlsec-app.html#XMLSECTRANSFORMHMACSHA224GETKLASS">xmlSecTransformHmacSha224GetKlass</a></p></li>
-<li><p><a href="xmlsec-app.html#XMLSECTRANSFORMHMACSHA224ID">xmlSecTransformHmacSha224Id</a></p></li>
-<li><p><a href="xmlsec-app.html#XMLSECTRANSFORMHMACSHA256GETKLASS">xmlSecTransformHmacSha256GetKlass</a></p></li>
-<li><p><a href="xmlsec-app.html#XMLSECTRANSFORMHMACSHA256ID">xmlSecTransformHmacSha256Id</a></p></li>
-<li><p><a href="xmlsec-app.html#XMLSECTRANSFORMHMACSHA384GETKLASS">xmlSecTransformHmacSha384GetKlass</a></p></li>
-<li><p><a href="xmlsec-app.html#XMLSECTRANSFORMHMACSHA384ID">xmlSecTransformHmacSha384Id</a></p></li>
-<li><p><a href="xmlsec-app.html#XMLSECTRANSFORMHMACSHA512GETKLASS">xmlSecTransformHmacSha512GetKlass</a></p></li>
-<li><p><a href="xmlsec-app.html#XMLSECTRANSFORMHMACSHA512ID">xmlSecTransformHmacSha512Id</a></p></li>
-<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMIDLISTDEBUGDUMP">xmlSecTransformIdListDebugDump</a></p></li>
-<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMIDLISTDEBUGXMLDUMP">xmlSecTransformIdListDebugXmlDump</a></p></li>
-<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMIDLISTFINDBYHREF">xmlSecTransformIdListFindByHref</a></p></li>
-<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMIDLISTFINDBYNAME">xmlSecTransformIdListFindByName</a></p></li>
-<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMIDLISTFIND">xmlSecTransformIdListFind</a></p></li>
-<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMIDLISTGETKLASS">xmlSecTransformIdListGetKlass</a></p></li>
-<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMIDLISTID">xmlSecTransformIdListId</a></p></li>
-<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMIDSGET">xmlSecTransformIdsGet</a></p></li>
-<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMIDSINIT">xmlSecTransformIdsInit</a></p></li>
-<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMIDSREGISTERDEFAULT">xmlSecTransformIdsRegisterDefault</a></p></li>
-<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMIDSREGISTER">xmlSecTransformIdsRegister</a></p></li>
-<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMIDSSHUTDOWN">xmlSecTransformIdsShutdown</a></p></li>
-<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMIDUNKNOWN">xmlSecTransformIdUnknown</a></p></li>
-<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMINCLC14N11GETKLASS">xmlSecTransformInclC14N11GetKlass</a></p></li>
-<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMINCLC14N11ID">xmlSecTransformInclC14N11Id</a></p></li>
-<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMINCLC14N11WITHCOMMENTSGETKLASS">xmlSecTransformInclC14N11WithCommentsGetKlass</a></p></li>
-<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMINCLC14N11WITHCOMMENTSID">xmlSecTransformInclC14N11WithCommentsId</a></p></li>
-<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMINCLC14NGETKLASS">xmlSecTransformInclC14NGetKlass</a></p></li>
-<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMINCLC14NID">xmlSecTransformInclC14NId</a></p></li>
-<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMINCLC14NWITHCOMMENTSGETKLASS">xmlSecTransformInclC14NWithCommentsGetKlass</a></p></li>
-<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMINCLC14NWITHCOMMENTSID">xmlSecTransformInclC14NWithCommentsId</a></p></li>
-<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMINITIALIZEMETHOD">xmlSecTransformInitializeMethod</a></p></li>
-<li><p><a href="xmlsec-io.html#XMLSECTRANSFORMINPUTURICLOSE">xmlSecTransformInputURIClose</a></p></li>
-<li><p><a href="xmlsec-io.html#XMLSECTRANSFORMINPUTURIGETKLASS">xmlSecTransformInputURIGetKlass</a></p></li>
-<li><p><a href="xmlsec-io.html#XMLSECTRANSFORMINPUTURIID">xmlSecTransformInputURIId</a></p></li>
-<li><p><a href="xmlsec-io.html#XMLSECTRANSFORMINPUTURIOPEN">xmlSecTransformInputURIOpen</a></p></li>
-<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMISVALID">xmlSecTransformIsValid</a></p></li>
-<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMKLASSGETNAME">xmlSecTransformKlassGetName</a></p></li>
-<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMKLASS">xmlSecTransformKlass</a></p></li>
-<li><p><a href="xmlsec-app.html#XMLSECTRANSFORMKWAES128GETKLASS">xmlSecTransformKWAes128GetKlass</a></p></li>
-<li><p><a href="xmlsec-app.html#XMLSECTRANSFORMKWAES128ID">xmlSecTransformKWAes128Id</a></p></li>
-<li><p><a href="xmlsec-app.html#XMLSECTRANSFORMKWAES192GETKLASS">xmlSecTransformKWAes192GetKlass</a></p></li>
-<li><p><a href="xmlsec-app.html#XMLSECTRANSFORMKWAES192ID">xmlSecTransformKWAes192Id</a></p></li>
-<li><p><a href="xmlsec-app.html#XMLSECTRANSFORMKWAES256GETKLASS">xmlSecTransformKWAes256GetKlass</a></p></li>
-<li><p><a href="xmlsec-app.html#XMLSECTRANSFORMKWAES256ID">xmlSecTransformKWAes256Id</a></p></li>
-<li><p><a href="xmlsec-app.html#XMLSECTRANSFORMKWDES3GETKLASS">xmlSecTransformKWDes3GetKlass</a></p></li>
-<li><p><a href="xmlsec-app.html#XMLSECTRANSFORMKWDES3ID">xmlSecTransformKWDes3Id</a></p></li>
-<li><p><a href="xmlsec-app.html#XMLSECTRANSFORMMD5GETKLASS">xmlSecTransformMd5GetKlass</a></p></li>
-<li><p><a href="xmlsec-app.html#XMLSECTRANSFORMMD5ID">xmlSecTransformMd5Id</a></p></li>
-<li><p><a href="xmlsec-membuf.html#XMLSECTRANSFORMMEMBUFGETBUFFER">xmlSecTransformMemBufGetBuffer</a></p></li>
-<li><p><a href="xmlsec-membuf.html#XMLSECTRANSFORMMEMBUFGETKLASS">xmlSecTransformMemBufGetKlass</a></p></li>
-<li><p><a href="xmlsec-membuf.html#XMLSECTRANSFORMMEMBUFID">xmlSecTransformMemBufId</a></p></li>
-<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMMODE">xmlSecTransformMode</a></p></li>
-<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORM">xmlSecTransform</a></p></li>
-<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMNODEREADMETHOD">xmlSecTransformNodeReadMethod</a></p></li>
-<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMNODEREAD">xmlSecTransformNodeRead</a></p></li>
-<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMNODEWRITEMETHOD">xmlSecTransformNodeWriteMethod</a></p></li>
-<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMOPERATION">xmlSecTransformOperation</a></p></li>
-<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMPOPBINMETHOD">xmlSecTransformPopBinMethod</a></p></li>
-<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMPOPBIN">xmlSecTransformPopBin</a></p></li>
-<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMPOPXMLMETHOD">xmlSecTransformPopXmlMethod</a></p></li>
-<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMPOPXML">xmlSecTransformPopXml</a></p></li>
-<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMPUMP">xmlSecTransformPump</a></p></li>
-<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMPUSHBINMETHOD">xmlSecTransformPushBinMethod</a></p></li>
-<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMPUSHBIN">xmlSecTransformPushBin</a></p></li>
-<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMPUSHXMLMETHOD">xmlSecTransformPushXmlMethod</a></p></li>
-<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMPUSHXML">xmlSecTransformPushXml</a></p></li>
-<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMRELATIONSHIPGETKLASS">xmlSecTransformRelationshipGetKlass</a></p></li>
-<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMRELATIONSHIPID">xmlSecTransformRelationshipId</a></p></li>
-<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMREMOVE">xmlSecTransformRemove</a></p></li>
-<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMREMOVEXMLTAGSC14NGETKLASS">xmlSecTransformRemoveXmlTagsC14NGetKlass</a></p></li>
-<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMREMOVEXMLTAGSC14NID">xmlSecTransformRemoveXmlTagsC14NId</a></p></li>
-<li><p><a href="xmlsec-app.html#XMLSECTRANSFORMRIPEMD160GETKLASS">xmlSecTransformRipemd160GetKlass</a></p></li>
-<li><p><a href="xmlsec-app.html#XMLSECTRANSFORMRIPEMD160ID">xmlSecTransformRipemd160Id</a></p></li>
-<li><p><a href="xmlsec-app.html#XMLSECTRANSFORMRSAMD5GETKLASS">xmlSecTransformRsaMd5GetKlass</a></p></li>
-<li><p><a href="xmlsec-app.html#XMLSECTRANSFORMRSAMD5ID">xmlSecTransformRsaMd5Id</a></p></li>
-<li><p><a href="xmlsec-app.html#XMLSECTRANSFORMRSAOAEPGETKLASS">xmlSecTransformRsaOaepGetKlass</a></p></li>
-<li><p><a href="xmlsec-app.html#XMLSECTRANSFORMRSAOAEPID">xmlSecTransformRsaOaepId</a></p></li>
-<li><p><a href="xmlsec-app.html#XMLSECTRANSFORMRSAPKCS1GETKLASS">xmlSecTransformRsaPkcs1GetKlass</a></p></li>
-<li><p><a href="xmlsec-app.html#XMLSECTRANSFORMRSAPKCS1ID">xmlSecTransformRsaPkcs1Id</a></p></li>
-<li><p><a href="xmlsec-app.html#XMLSECTRANSFORMRSARIPEMD160GETKLASS">xmlSecTransformRsaRipemd160GetKlass</a></p></li>
-<li><p><a href="xmlsec-app.html#XMLSECTRANSFORMRSARIPEMD160ID">xmlSecTransformRsaRipemd160Id</a></p></li>
-<li><p><a href="xmlsec-app.html#XMLSECTRANSFORMRSASHA1GETKLASS">xmlSecTransformRsaSha1GetKlass</a></p></li>
-<li><p><a href="xmlsec-app.html#XMLSECTRANSFORMRSASHA1ID">xmlSecTransformRsaSha1Id</a></p></li>
-<li><p><a href="xmlsec-app.html#XMLSECTRANSFORMRSASHA224GETKLASS">xmlSecTransformRsaSha224GetKlass</a></p></li>
-<li><p><a href="xmlsec-app.html#XMLSECTRANSFORMRSASHA224ID">xmlSecTransformRsaSha224Id</a></p></li>
-<li><p><a href="xmlsec-app.html#XMLSECTRANSFORMRSASHA256GETKLASS">xmlSecTransformRsaSha256GetKlass</a></p></li>
-<li><p><a href="xmlsec-app.html#XMLSECTRANSFORMRSASHA256ID">xmlSecTransformRsaSha256Id</a></p></li>
-<li><p><a href="xmlsec-app.html#XMLSECTRANSFORMRSASHA384GETKLASS">xmlSecTransformRsaSha384GetKlass</a></p></li>
-<li><p><a href="xmlsec-app.html#XMLSECTRANSFORMRSASHA384ID">xmlSecTransformRsaSha384Id</a></p></li>
-<li><p><a href="xmlsec-app.html#XMLSECTRANSFORMRSASHA512GETKLASS">xmlSecTransformRsaSha512GetKlass</a></p></li>
-<li><p><a href="xmlsec-app.html#XMLSECTRANSFORMRSASHA512ID">xmlSecTransformRsaSha512Id</a></p></li>
-<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMSETKEYMETHOD">xmlSecTransformSetKeyMethod</a></p></li>
-<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMSETKEY">xmlSecTransformSetKey</a></p></li>
-<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMSETKEYREQ">xmlSecTransformSetKeyReq</a></p></li>
-<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMSETKEYREQUIREMENTSMETHOD">xmlSecTransformSetKeyRequirementsMethod</a></p></li>
-<li><p><a href="xmlsec-app.html#XMLSECTRANSFORMSHA1GETKLASS">xmlSecTransformSha1GetKlass</a></p></li>
-<li><p><a href="xmlsec-app.html#XMLSECTRANSFORMSHA1ID">xmlSecTransformSha1Id</a></p></li>
-<li><p><a href="xmlsec-app.html#XMLSECTRANSFORMSHA224GETKLASS">xmlSecTransformSha224GetKlass</a></p></li>
-<li><p><a href="xmlsec-app.html#XMLSECTRANSFORMSHA224ID">xmlSecTransformSha224Id</a></p></li>
-<li><p><a href="xmlsec-app.html#XMLSECTRANSFORMSHA256GETKLASS">xmlSecTransformSha256GetKlass</a></p></li>
-<li><p><a href="xmlsec-app.html#XMLSECTRANSFORMSHA256ID">xmlSecTransformSha256Id</a></p></li>
-<li><p><a href="xmlsec-app.html#XMLSECTRANSFORMSHA384GETKLASS">xmlSecTransformSha384GetKlass</a></p></li>
-<li><p><a href="xmlsec-app.html#XMLSECTRANSFORMSHA384ID">xmlSecTransformSha384Id</a></p></li>
-<li><p><a href="xmlsec-app.html#XMLSECTRANSFORMSHA512GETKLASS">xmlSecTransformSha512GetKlass</a></p></li>
-<li><p><a href="xmlsec-app.html#XMLSECTRANSFORMSHA512ID">xmlSecTransformSha512Id</a></p></li>
-<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMSTATUS">xmlSecTransformStatus</a></p></li>
-<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMURITYPEANY">xmlSecTransformUriTypeAny</a></p></li>
-<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMURITYPECHECK">xmlSecTransformUriTypeCheck</a></p></li>
-<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMURITYPEEMPTY">xmlSecTransformUriTypeEmpty</a></p></li>
-<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMURITYPELOCAL">xmlSecTransformUriTypeLocal</a></p></li>
-<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMURITYPE">xmlSecTransformUriType</a></p></li>
-<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMURITYPENONE">xmlSecTransformUriTypeNone</a></p></li>
-<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMURITYPEREMOTE">xmlSecTransformUriTypeRemote</a></p></li>
-<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMURITYPESAMEDOCUMENT">xmlSecTransformUriTypeSameDocument</a></p></li>
-<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMUSAGEANY">xmlSecTransformUsageAny</a></p></li>
-<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMUSAGEC14NMETHOD">xmlSecTransformUsageC14NMethod</a></p></li>
-<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMUSAGEDIGESTMETHOD">xmlSecTransformUsageDigestMethod</a></p></li>
-<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMUSAGEDSIGTRANSFORM">xmlSecTransformUsageDSigTransform</a></p></li>
-<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMUSAGEENCRYPTIONMETHOD">xmlSecTransformUsageEncryptionMethod</a></p></li>
-<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMUSAGE">xmlSecTransformUsage</a></p></li>
-<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMUSAGESIGNATUREMETHOD">xmlSecTransformUsageSignatureMethod</a></p></li>
-<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMUSAGEUNKNOWN">xmlSecTransformUsageUnknown</a></p></li>
-<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMVERIFYMETHOD">xmlSecTransformVerifyMethod</a></p></li>
-<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMVERIFY">xmlSecTransformVerify</a></p></li>
-<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMVERIFYNODECONTENT">xmlSecTransformVerifyNodeContent</a></p></li>
-<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMVISA3DHACKGETKLASS">xmlSecTransformVisa3DHackGetKlass</a></p></li>
-<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMVISA3DHACKID">xmlSecTransformVisa3DHackId</a></p></li>
-<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMVISA3DHACKSETID">xmlSecTransformVisa3DHackSetID</a></p></li>
-<li><p><a href="xmlsec-parser.html#XMLSECTRANSFORMXMLPARSERGETKLASS">xmlSecTransformXmlParserGetKlass</a></p></li>
-<li><p><a href="xmlsec-parser.html#XMLSECTRANSFORMXMLPARSERID">xmlSecTransformXmlParserId</a></p></li>
-<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMXPATH2GETKLASS">xmlSecTransformXPath2GetKlass</a></p></li>
-<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMXPATH2ID">xmlSecTransformXPath2Id</a></p></li>
-<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMXPATHGETKLASS">xmlSecTransformXPathGetKlass</a></p></li>
-<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMXPATHID">xmlSecTransformXPathId</a></p></li>
-<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMXPOINTERGETKLASS">xmlSecTransformXPointerGetKlass</a></p></li>
-<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMXPOINTERID">xmlSecTransformXPointerId</a></p></li>
-<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMXPOINTERSETEXPR">xmlSecTransformXPointerSetExpr</a></p></li>
-<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMXSLTGETKLASS">xmlSecTransformXsltGetKlass</a></p></li>
-<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMXSLTID">xmlSecTransformXsltId</a></p></li>
-<li><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMXSLTSETDEFAULTSECURITYPREFS">xmlSecTransformXsltSetDefaultSecurityPrefs</a></p></li>
-<li><p><font>XMLSEC-VERSION-INFO</font></p></li>
-<li><p><font>XMLSEC-VERSION-MAJOR</font></p></li>
-<li><p><font>XMLSEC-VERSION-MINOR</font></p></li>
-<li><p><font>XMLSEC-VERSION</font></p></li>
-<li><p><font>XMLSEC-VERSION-SUBMINOR</font></p></li>
-<li><p><font>XMLSEC-X509DATA-CERTIFICATE-NODE</font></p></li>
-<li><p><font>XMLSEC-X509DATA-CRL-NODE</font></p></li>
-<li><p><font>XMLSEC-X509DATA-DEFAULT</font></p></li>
-<li><p><a href="xmlsec-x509.html#XMLSECX509DATAGETNODECONTENT">xmlSecX509DataGetNodeContent</a></p></li>
-<li><p><font>XMLSEC-X509DATA-ISSUERSERIAL-NODE</font></p></li>
-<li><p><font>XMLSEC-X509DATA-SKI-NODE</font></p></li>
-<li><p><font>XMLSEC-X509DATA-SUBJECTNAME-NODE</font></p></li>
-<li><p><a href="xmlsec-app.html#XMLSECX509STOREGETKLASS">xmlSecX509StoreGetKlass</a></p></li>
-<li><p><a href="xmlsec-app.html#XMLSECX509STOREID">xmlSecX509StoreId</a></p></li>
-</ul>
- </div>
-<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td align="left"><a accesskey="p" href="xmlsec-mscrypto-x509.html"><b><<< x509</b></a></td>
-<td align="right"></td>
+<td><a accesskey="u" href="xmlsec-reference.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="xmlsec-mscrypto-x509.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><img src="right-insensitive.png" width="16" height="16" border="0"></td>
</tr></table>
+<div class="chapter">
+<div class="titlepage"><div><div><h2 class="title">
+<a name="xmlsec-index"></a>XML Security Library Reference Index</h2></div></div></div>
+<p>
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem"><p><font>ATTRIBUTE-UNUSED</font></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-xmlenc.html#xmlEncCtxMode" title="enum xmlEncCtxMode">xmlEncCtxMode</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-xmltree.html#xmlSecAddChild" title="xmlSecAddChild ()">xmlSecAddChild</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-xmltree.html#xmlSecAddChildNode" title="xmlSecAddChildNode ()">xmlSecAddChildNode</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-xmltree.html#xmlSecAddIDs" title="xmlSecAddIDs ()">xmlSecAddIDs</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-xmltree.html#xmlSecAddNextSibling" title="xmlSecAddNextSibling ()">xmlSecAddNextSibling</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-xmltree.html#xmlSecAddPrevSibling" title="xmlSecAddPrevSibling ()">xmlSecAddPrevSibling</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-buffer.html#xmlSecAllocMode" title="enum xmlSecAllocMode">xmlSecAllocMode</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-errors.html#xmlSecAssert2" title="xmlSecAssert2()">xmlSecAssert2</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-errors.html#xmlSecAssert" title="xmlSecAssert()">xmlSecAssert</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-base64.html#xmlSecBase64CtxCreate" title="xmlSecBase64CtxCreate ()">xmlSecBase64CtxCreate</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-base64.html#xmlSecBase64CtxDestroy" title="xmlSecBase64CtxDestroy ()">xmlSecBase64CtxDestroy</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-base64.html#xmlSecBase64CtxFinalize" title="xmlSecBase64CtxFinalize ()">xmlSecBase64CtxFinalize</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-base64.html#xmlSecBase64CtxFinal" title="xmlSecBase64CtxFinal ()">xmlSecBase64CtxFinal</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-base64.html#xmlSecBase64CtxInitialize" title="xmlSecBase64CtxInitialize ()">xmlSecBase64CtxInitialize</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-base64.html#xmlSecBase64CtxUpdate" title="xmlSecBase64CtxUpdate ()">xmlSecBase64CtxUpdate</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-base64.html#xmlSecBase64Decode" title="xmlSecBase64Decode ()">xmlSecBase64Decode</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-base64.html#xmlSecBase64Encode" title="xmlSecBase64Encode ()">xmlSecBase64Encode</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-base64.html#xmlSecBase64GetDefaultLineSize" title="xmlSecBase64GetDefaultLineSize ()">xmlSecBase64GetDefaultLineSize</a></p></li>
+<li class="listitem"><p><font>XMLSEC-BASE64-LINESIZE</font></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-base64.html#xmlSecBase64SetDefaultLineSize" title="xmlSecBase64SetDefaultLineSize ()">xmlSecBase64SetDefaultLineSize</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-xmltree.html#xmlSecBitMask" title="xmlSecBitMask">xmlSecBitMask</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-bn.html#xmlSecBnAdd" title="xmlSecBnAdd ()">xmlSecBnAdd</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-bn.html#xmlSecBnBlobSetNodeValue" title="xmlSecBnBlobSetNodeValue ()">xmlSecBnBlobSetNodeValue</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-bn.html#xmlSecBnCompare" title="xmlSecBnCompare ()">xmlSecBnCompare</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-bn.html#xmlSecBnCompareReverse" title="xmlSecBnCompareReverse ()">xmlSecBnCompareReverse</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-bn.html#xmlSecBnCreate" title="xmlSecBnCreate ()">xmlSecBnCreate</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-bn.html#xmlSecBnDestroy" title="xmlSecBnDestroy ()">xmlSecBnDestroy</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-bn.html#xmlSecBnDiv" title="xmlSecBnDiv ()">xmlSecBnDiv</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-bn.html#xmlSecBnFinalize" title="xmlSecBnFinalize ()">xmlSecBnFinalize</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-bn.html#xmlSecBnFormat" title="enum xmlSecBnFormat">xmlSecBnFormat</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-bn.html#xmlSecBnFromDecString" title="xmlSecBnFromDecString ()">xmlSecBnFromDecString</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-bn.html#xmlSecBnFromHexString" title="xmlSecBnFromHexString ()">xmlSecBnFromHexString</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-bn.html#xmlSecBnFromString" title="xmlSecBnFromString ()">xmlSecBnFromString</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-bn.html#xmlSecBnGetData" title="xmlSecBnGetData ()">xmlSecBnGetData</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-bn.html#xmlSecBnGetNodeValue" title="xmlSecBnGetNodeValue ()">xmlSecBnGetNodeValue</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-bn.html#xmlSecBnGetSize" title="xmlSecBnGetSize ()">xmlSecBnGetSize</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-bn.html#xmlSecBnInitialize" title="xmlSecBnInitialize ()">xmlSecBnInitialize</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-bn.html#xmlSecBnMul" title="xmlSecBnMul ()">xmlSecBnMul</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-bn.html#xmlSecBnReverse" title="xmlSecBnReverse ()">xmlSecBnReverse</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-bn.html#xmlSecBnSetData" title="xmlSecBnSetData ()">xmlSecBnSetData</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-bn.html#xmlSecBnSetNodeValue" title="xmlSecBnSetNodeValue ()">xmlSecBnSetNodeValue</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-bn.html#xmlSecBnToDecString" title="xmlSecBnToDecString ()">xmlSecBnToDecString</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-bn.html#xmlSecBnToHexString" title="xmlSecBnToHexString ()">xmlSecBnToHexString</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-bn.html#xmlSecBnToString" title="xmlSecBnToString ()">xmlSecBnToString</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-bn.html#xmlSecBnZero" title="xmlSecBnZero ()">xmlSecBnZero</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-buffer.html#xmlSecBufferAppend" title="xmlSecBufferAppend ()">xmlSecBufferAppend</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-buffer.html#xmlSecBufferBase64NodeContentRead" title="xmlSecBufferBase64NodeContentRead ()">xmlSecBufferBase64NodeContentRead</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-buffer.html#xmlSecBufferBase64NodeContentWrite" title="xmlSecBufferBase64NodeContentWrite ()">xmlSecBufferBase64NodeContentWrite</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-buffer.html#xmlSecBufferCreate" title="xmlSecBufferCreate ()">xmlSecBufferCreate</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-buffer.html#xmlSecBufferCreateOutputBuffer" title="xmlSecBufferCreateOutputBuffer ()">xmlSecBufferCreateOutputBuffer</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-buffer.html#xmlSecBufferDestroy" title="xmlSecBufferDestroy ()">xmlSecBufferDestroy</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-buffer.html#xmlSecBufferEmpty" title="xmlSecBufferEmpty ()">xmlSecBufferEmpty</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-buffer.html#xmlSecBufferFinalize" title="xmlSecBufferFinalize ()">xmlSecBufferFinalize</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-buffer.html#xmlSecBufferGetData" title="xmlSecBufferGetData ()">xmlSecBufferGetData</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-buffer.html#xmlSecBufferGetMaxSize" title="xmlSecBufferGetMaxSize ()">xmlSecBufferGetMaxSize</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-buffer.html#xmlSecBufferGetSize" title="xmlSecBufferGetSize ()">xmlSecBufferGetSize</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-buffer.html#xmlSecBufferInitialize" title="xmlSecBufferInitialize ()">xmlSecBufferInitialize</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-buffer.html#xmlSecBuffer" title="struct xmlSecBuffer">xmlSecBuffer</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-buffer.html#xmlSecBufferPrepend" title="xmlSecBufferPrepend ()">xmlSecBufferPrepend</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-buffer.html#xmlSecBufferReadFile" title="xmlSecBufferReadFile ()">xmlSecBufferReadFile</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-buffer.html#xmlSecBufferRemoveHead" title="xmlSecBufferRemoveHead ()">xmlSecBufferRemoveHead</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-buffer.html#xmlSecBufferRemoveTail" title="xmlSecBufferRemoveTail ()">xmlSecBufferRemoveTail</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-buffer.html#xmlSecBufferSetData" title="xmlSecBufferSetData ()">xmlSecBufferSetData</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-buffer.html#xmlSecBufferSetDefaultAllocMode" title="xmlSecBufferSetDefaultAllocMode ()">xmlSecBufferSetDefaultAllocMode</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-buffer.html#xmlSecBufferSetMaxSize" title="xmlSecBufferSetMaxSize ()">xmlSecBufferSetMaxSize</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-buffer.html#xmlSecBufferSetSize" title="xmlSecBufferSetSize ()">xmlSecBufferSetSize</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-xmlsec.html#xmlSecByte" title="xmlSecByte">xmlSecByte</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-xmltree.html#xmlSecCheckNodeName" title="xmlSecCheckNodeName ()">xmlSecCheckNodeName</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-xmlsec.html#xmlSecCheckVersionExact" title="xmlSecCheckVersionExact">xmlSecCheckVersionExact</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-xmlsec.html#xmlSecCheckVersionExt" title="xmlSecCheckVersionExt ()">xmlSecCheckVersionExt</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-xmlsec.html#xmlSecCheckVersionMode" title="enum xmlSecCheckVersionMode">xmlSecCheckVersionMode</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-xmlsec.html#xmlSecCheckVersion" title="xmlSecCheckVersion">xmlSecCheckVersion</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-xmltree.html#xmlSecCreateTree" title="xmlSecCreateTree ()">xmlSecCreateTree</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-app.html#xmlSecCryptoAppDefaultKeysMngrAdoptKey" title="xmlSecCryptoAppDefaultKeysMngrAdoptKey ()">xmlSecCryptoAppDefaultKeysMngrAdoptKey</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-app.html#xmlSecCryptoAppDefaultKeysMngrInit" title="xmlSecCryptoAppDefaultKeysMngrInit ()">xmlSecCryptoAppDefaultKeysMngrInit</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-app.html#xmlSecCryptoAppDefaultKeysMngrLoad" title="xmlSecCryptoAppDefaultKeysMngrLoad ()">xmlSecCryptoAppDefaultKeysMngrLoad</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-app.html#xmlSecCryptoAppDefaultKeysMngrSave" title="xmlSecCryptoAppDefaultKeysMngrSave ()">xmlSecCryptoAppDefaultKeysMngrSave</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-app.html#xmlSecCryptoAppGetDefaultPwdCallback" title="xmlSecCryptoAppGetDefaultPwdCallback ()">xmlSecCryptoAppGetDefaultPwdCallback</a></p></li>
+<li class="listitem"><p><font>xmlSecCryptoAppInitMethod</font></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-app.html#xmlSecCryptoAppInit" title="xmlSecCryptoAppInit ()">xmlSecCryptoAppInit</a></p></li>
+<li class="listitem"><p><font>xmlSecCryptoAppKeyCertLoadMemoryMethod</font></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-app.html#xmlSecCryptoAppKeyCertLoadMemory" title="xmlSecCryptoAppKeyCertLoadMemory ()">xmlSecCryptoAppKeyCertLoadMemory</a></p></li>
+<li class="listitem"><p><font>xmlSecCryptoAppKeyCertLoadMethod</font></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-app.html#xmlSecCryptoAppKeyCertLoad" title="xmlSecCryptoAppKeyCertLoad ()">xmlSecCryptoAppKeyCertLoad</a></p></li>
+<li class="listitem"><p><font>xmlSecCryptoAppKeyLoadMemoryMethod</font></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-app.html#xmlSecCryptoAppKeyLoadMemory" title="xmlSecCryptoAppKeyLoadMemory ()">xmlSecCryptoAppKeyLoadMemory</a></p></li>
+<li class="listitem"><p><font>xmlSecCryptoAppKeyLoadMethod</font></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-app.html#xmlSecCryptoAppKeyLoad" title="xmlSecCryptoAppKeyLoad ()">xmlSecCryptoAppKeyLoad</a></p></li>
+<li class="listitem"><p><font>xmlSecCryptoAppKeysMngrCertLoadMemoryMethod</font></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-app.html#xmlSecCryptoAppKeysMngrCertLoadMemory" title="xmlSecCryptoAppKeysMngrCertLoadMemory ()">xmlSecCryptoAppKeysMngrCertLoadMemory</a></p></li>
+<li class="listitem"><p><font>xmlSecCryptoAppKeysMngrCertLoadMethod</font></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-app.html#xmlSecCryptoAppKeysMngrCertLoad" title="xmlSecCryptoAppKeysMngrCertLoad ()">xmlSecCryptoAppKeysMngrCertLoad</a></p></li>
+<li class="listitem"><p><font>xmlSecCryptoAppPkcs12LoadMemoryMethod</font></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-app.html#xmlSecCryptoAppPkcs12LoadMemory" title="xmlSecCryptoAppPkcs12LoadMemory ()">xmlSecCryptoAppPkcs12LoadMemory</a></p></li>
+<li class="listitem"><p><font>xmlSecCryptoAppPkcs12LoadMethod</font></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-app.html#xmlSecCryptoAppPkcs12Load" title="xmlSecCryptoAppPkcs12Load ()">xmlSecCryptoAppPkcs12Load</a></p></li>
+<li class="listitem"><p><font>xmlSecCryptoAppShutdownMethod</font></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-app.html#xmlSecCryptoAppShutdown" title="xmlSecCryptoAppShutdown ()">xmlSecCryptoAppShutdown</a></p></li>
+<li class="listitem"><p><font>xmlSecCryptoDLFunctions</font></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-dl.html#xmlSecCryptoDLFunctionsRegisterKeyDataAndTransforms" title="xmlSecCryptoDLFunctionsRegisterKeyDataAndTransforms ()">xmlSecCryptoDLFunctionsRegisterKeyDataAndTransforms</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-dl.html#xmlSecCryptoDLGetFunctions" title="xmlSecCryptoDLGetFunctions ()">xmlSecCryptoDLGetFunctions</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-dl.html#xmlSecCryptoDLGetLibraryFunctions" title="xmlSecCryptoDLGetLibraryFunctions ()">xmlSecCryptoDLGetLibraryFunctions</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-dl.html#xmlSecCryptoDLInit" title="xmlSecCryptoDLInit ()">xmlSecCryptoDLInit</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-dl.html#xmlSecCryptoDLLoadLibrary" title="xmlSecCryptoDLLoadLibrary ()">xmlSecCryptoDLLoadLibrary</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-dl.html#xmlSecCryptoDLSetFunctions" title="xmlSecCryptoDLSetFunctions ()">xmlSecCryptoDLSetFunctions</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-dl.html#xmlSecCryptoDLShutdown" title="xmlSecCryptoDLShutdown ()">xmlSecCryptoDLShutdown</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-dl.html#xmlSecCryptoDLUnloadLibrary" title="xmlSecCryptoDLUnloadLibrary ()">xmlSecCryptoDLUnloadLibrary</a></p></li>
+<li class="listitem"><p><font>xmlSecCryptoGetFunctions-gcrypt</font></p></li>
+<li class="listitem"><p><font>xmlSecCryptoGetFunctions-gnutls</font></p></li>
+<li class="listitem"><p><font>xmlSecCryptoGetFunctions-mscrypto</font></p></li>
+<li class="listitem"><p><font>xmlSecCryptoGetFunctions-nss</font></p></li>
+<li class="listitem"><p><font>xmlSecCryptoGetFunctions-openssl</font></p></li>
+<li class="listitem"><p><font>xmlSecCryptoInitMethod</font></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-app.html#xmlSecCryptoInit" title="xmlSecCryptoInit ()">xmlSecCryptoInit</a></p></li>
+<li class="listitem"><p><font>xmlSecCryptoKeyDataGetKlassMethod</font></p></li>
+<li class="listitem"><p><font>xmlSecCryptoKeyDataStoreGetKlassMethod</font></p></li>
+<li class="listitem"><p><font>xmlSecCryptoKeysMngrInitMethod</font></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-app.html#xmlSecCryptoKeysMngrInit" title="xmlSecCryptoKeysMngrInit ()">xmlSecCryptoKeysMngrInit</a></p></li>
+<li class="listitem"><p><font>XMLSEC-CRYPTO</font></p></li>
+<li class="listitem"><p><font>xmlSecCryptoShutdownMethod</font></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-app.html#xmlSecCryptoShutdown" title="xmlSecCryptoShutdown ()">xmlSecCryptoShutdown</a></p></li>
+<li class="listitem"><p><font>xmlSecCryptoTransformGetKlassMethod</font></p></li>
+<li class="listitem"><p><font>XMLSEC-DEPRECATED</font></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-xmldsig.html#xmlSecDSigCtxCreate" title="xmlSecDSigCtxCreate ()">xmlSecDSigCtxCreate</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-xmldsig.html#xmlSecDSigCtxDebugDump" title="xmlSecDSigCtxDebugDump ()">xmlSecDSigCtxDebugDump</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-xmldsig.html#xmlSecDSigCtxDebugXmlDump" title="xmlSecDSigCtxDebugXmlDump ()">xmlSecDSigCtxDebugXmlDump</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-xmldsig.html#xmlSecDSigCtxDestroy" title="xmlSecDSigCtxDestroy ()">xmlSecDSigCtxDestroy</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-xmldsig.html#xmlSecDSigCtxEnableReferenceTransform" title="xmlSecDSigCtxEnableReferenceTransform ()">xmlSecDSigCtxEnableReferenceTransform</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-xmldsig.html#xmlSecDSigCtxEnableSignatureTransform" title="xmlSecDSigCtxEnableSignatureTransform ()">xmlSecDSigCtxEnableSignatureTransform</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-xmldsig.html#xmlSecDSigCtxFinalize" title="xmlSecDSigCtxFinalize ()">xmlSecDSigCtxFinalize</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-xmldsig.html#xmlSecDSigCtxGetPreSignBuffer" title="xmlSecDSigCtxGetPreSignBuffer ()">xmlSecDSigCtxGetPreSignBuffer</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-xmldsig.html#xmlSecDSigCtxInitialize" title="xmlSecDSigCtxInitialize ()">xmlSecDSigCtxInitialize</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-xmldsig.html#xmlSecDSigCtx" title="struct xmlSecDSigCtx">xmlSecDSigCtx</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-xmldsig.html#xmlSecDSigCtxSign" title="xmlSecDSigCtxSign ()">xmlSecDSigCtxSign</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-xmldsig.html#xmlSecDSigCtxVerify" title="xmlSecDSigCtxVerify ()">xmlSecDSigCtxVerify</a></p></li>
+<li class="listitem"><p><font>XMLSEC-DSIG-FLAGS-IGNORE-MANIFESTS</font></p></li>
+<li class="listitem"><p><font>XMLSEC-DSIG-FLAGS-STORE-MANIFEST-REFERENCES</font></p></li>
+<li class="listitem"><p><font>XMLSEC-DSIG-FLAGS-STORE-SIGNATURE</font></p></li>
+<li class="listitem"><p><font>XMLSEC-DSIG-FLAGS-STORE-SIGNEDINFO-REFERENCES</font></p></li>
+<li class="listitem"><p><font>XMLSEC-DSIG-FLAGS-USE-VISA3D-HACK</font></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-xmldsig.html#xmlSecDSigReferenceCtxCreate" title="xmlSecDSigReferenceCtxCreate ()">xmlSecDSigReferenceCtxCreate</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-xmldsig.html#xmlSecDSigReferenceCtxDebugDump" title="xmlSecDSigReferenceCtxDebugDump ()">xmlSecDSigReferenceCtxDebugDump</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-xmldsig.html#xmlSecDSigReferenceCtxDebugXmlDump" title="xmlSecDSigReferenceCtxDebugXmlDump ()">xmlSecDSigReferenceCtxDebugXmlDump</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-xmldsig.html#xmlSecDSigReferenceCtxDestroy" title="xmlSecDSigReferenceCtxDestroy ()">xmlSecDSigReferenceCtxDestroy</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-xmldsig.html#xmlSecDSigReferenceCtxFinalize" title="xmlSecDSigReferenceCtxFinalize ()">xmlSecDSigReferenceCtxFinalize</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-xmldsig.html#xmlSecDSigReferenceCtxGetPreDigestBuffer" title="xmlSecDSigReferenceCtxGetPreDigestBuffer ()">xmlSecDSigReferenceCtxGetPreDigestBuffer</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-xmldsig.html#xmlSecDSigReferenceCtxInitialize" title="xmlSecDSigReferenceCtxInitialize ()">xmlSecDSigReferenceCtxInitialize</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-xmldsig.html#xmlSecDSigReferenceCtxListGetKlass" title="xmlSecDSigReferenceCtxListGetKlass ()">xmlSecDSigReferenceCtxListGetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-xmldsig.html#xmlSecDSigReferenceCtxListId" title="xmlSecDSigReferenceCtxListId">xmlSecDSigReferenceCtxListId</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-xmldsig.html#xmlSecDSigReferenceCtx" title="struct xmlSecDSigReferenceCtx">xmlSecDSigReferenceCtx</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-xmldsig.html#xmlSecDSigReferenceCtxProcessNode" title="xmlSecDSigReferenceCtxProcessNode ()">xmlSecDSigReferenceCtxProcessNode</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-xmldsig.html#xmlSecDSigReferenceOrigin" title="enum xmlSecDSigReferenceOrigin">xmlSecDSigReferenceOrigin</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-xmldsig.html#xmlSecDSigStatus" title="enum xmlSecDSigStatus">xmlSecDSigStatus</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-xmlenc.html#xmlSecEncCtxBinaryEncrypt" title="xmlSecEncCtxBinaryEncrypt ()">xmlSecEncCtxBinaryEncrypt</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-xmlenc.html#xmlSecEncCtxCopyUserPref" title="xmlSecEncCtxCopyUserPref ()">xmlSecEncCtxCopyUserPref</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-xmlenc.html#xmlSecEncCtxCreate" title="xmlSecEncCtxCreate ()">xmlSecEncCtxCreate</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-xmlenc.html#xmlSecEncCtxDebugDump" title="xmlSecEncCtxDebugDump ()">xmlSecEncCtxDebugDump</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-xmlenc.html#xmlSecEncCtxDebugXmlDump" title="xmlSecEncCtxDebugXmlDump ()">xmlSecEncCtxDebugXmlDump</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-xmlenc.html#xmlSecEncCtxDecrypt" title="xmlSecEncCtxDecrypt ()">xmlSecEncCtxDecrypt</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-xmlenc.html#xmlSecEncCtxDecryptToBuffer" title="xmlSecEncCtxDecryptToBuffer ()">xmlSecEncCtxDecryptToBuffer</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-xmlenc.html#xmlSecEncCtxDestroy" title="xmlSecEncCtxDestroy ()">xmlSecEncCtxDestroy</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-xmlenc.html#xmlSecEncCtxFinalize" title="xmlSecEncCtxFinalize ()">xmlSecEncCtxFinalize</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-xmlenc.html#xmlSecEncCtxInitialize" title="xmlSecEncCtxInitialize ()">xmlSecEncCtxInitialize</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-xmlenc.html#xmlSecEncCtx" title="struct xmlSecEncCtx">xmlSecEncCtx</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-xmlenc.html#xmlSecEncCtxReset" title="xmlSecEncCtxReset ()">xmlSecEncCtxReset</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-xmlenc.html#xmlSecEncCtxUriEncrypt" title="xmlSecEncCtxUriEncrypt ()">xmlSecEncCtxUriEncrypt</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-xmlenc.html#xmlSecEncCtxXmlEncrypt" title="xmlSecEncCtxXmlEncrypt ()">xmlSecEncCtxXmlEncrypt</a></p></li>
+<li class="listitem"><p><font>XMLSEC-ENC-RETURN-REPLACED-NODE</font></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-xmltree.html#xmlSecEnsureEmptyChild" title="xmlSecEnsureEmptyChild ()">xmlSecEnsureEmptyChild</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-errors.html#xmlSecError" title="xmlSecError ()">xmlSecError</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-errors.html#xmlSecErrorsCallback" title="xmlSecErrorsCallback ()">xmlSecErrorsCallback</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-errors.html#xmlSecErrorsDefaultCallbackEnableOutput" title="xmlSecErrorsDefaultCallbackEnableOutput ()">xmlSecErrorsDefaultCallbackEnableOutput</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-errors.html#xmlSecErrorsDefaultCallback" title="xmlSecErrorsDefaultCallback ()">xmlSecErrorsDefaultCallback</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-errors.html#xmlSecErrorsGetCode" title="xmlSecErrorsGetCode ()">xmlSecErrorsGetCode</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-errors.html#xmlSecErrorsGetMsg" title="xmlSecErrorsGetMsg ()">xmlSecErrorsGetMsg</a></p></li>
+<li class="listitem"><p><font>XMLSEC-ERRORS-HERE</font></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-errors.html#xmlSecErrorsInit" title="xmlSecErrorsInit ()">xmlSecErrorsInit</a></p></li>
+<li class="listitem"><p><font>XMLSEC-ERRORS-MAX-NUMBER</font></p></li>
+<li class="listitem"><p><font>XMLSEC-ERRORS-NO-MESSAGE</font></p></li>
+<li class="listitem"><p><font>XMLSEC-ERRORS-R-ASSERTION</font></p></li>
+<li class="listitem"><p><font>XMLSEC-ERRORS-R-CERT-HAS-EXPIRED</font></p></li>
+<li class="listitem"><p><font>XMLSEC-ERRORS-R-CERT-ISSUER-FAILED</font></p></li>
+<li class="listitem"><p><font>XMLSEC-ERRORS-R-CERT-NOT-FOUND</font></p></li>
+<li class="listitem"><p><font>XMLSEC-ERRORS-R-CERT-NOT-YET-VALID</font></p></li>
+<li class="listitem"><p><font>XMLSEC-ERRORS-R-CERT-REVOKED</font></p></li>
+<li class="listitem"><p><font>XMLSEC-ERRORS-R-CERT-VERIFY-FAILED</font></p></li>
+<li class="listitem"><p><font>XMLSEC-ERRORS-R-CRYPTO-FAILED</font></p></li>
+<li class="listitem"><p><font>XMLSEC-ERRORS-R-DATA-NOT-MATCH</font></p></li>
+<li class="listitem"><p><font>XMLSEC-ERRORS-R-DISABLED</font></p></li>
+<li class="listitem"><p><font>XMLSEC-ERRORS-R-DSIG-INVALID-REFERENCE</font></p></li>
+<li class="listitem"><p><font>XMLSEC-ERRORS-R-DSIG-NO-REFERENCES</font></p></li>
+<li class="listitem"><p><font>XMLSEC-ERRORS-R-INVALID-CONFIG</font></p></li>
+<li class="listitem"><p><font>XMLSEC-ERRORS-R-INVALID-DATA</font></p></li>
+<li class="listitem"><p><font>XMLSEC-ERRORS-R-INVALID-FORMAT</font></p></li>
+<li class="listitem"><p><font>XMLSEC-ERRORS-R-INVALID-KEY-DATA</font></p></li>
+<li class="listitem"><p><font>XMLSEC-ERRORS-R-INVALID-KEY-DATA-SIZE</font></p></li>
+<li class="listitem"><p><font>XMLSEC-ERRORS-R-INVALID-NODE-ATTRIBUTE</font></p></li>
+<li class="listitem"><p><font>XMLSEC-ERRORS-R-INVALID-NODE-CONTENT</font></p></li>
+<li class="listitem"><p><font>XMLSEC-ERRORS-R-INVALID-NODE</font></p></li>
+<li class="listitem"><p><font>XMLSEC-ERRORS-R-INVALID-OPERATION</font></p></li>
+<li class="listitem"><p><font>XMLSEC-ERRORS-R-INVALID-RESULT</font></p></li>
+<li class="listitem"><p><font>XMLSEC-ERRORS-R-INVALID-SIZE</font></p></li>
+<li class="listitem"><p><font>XMLSEC-ERRORS-R-INVALID-STATUS</font></p></li>
+<li class="listitem"><p><font>XMLSEC-ERRORS-R-INVALID-TRANSFORM-KEY</font></p></li>
+<li class="listitem"><p><font>XMLSEC-ERRORS-R-INVALID-TRANSFORM</font></p></li>
+<li class="listitem"><p><font>XMLSEC-ERRORS-R-INVALID-TYPE</font></p></li>
+<li class="listitem"><p><font>XMLSEC-ERRORS-R-INVALID-URI-TYPE</font></p></li>
+<li class="listitem"><p><font>XMLSEC-ERRORS-R-INVALID-VERSION</font></p></li>
+<li class="listitem"><p><font>XMLSEC-ERRORS-R-IO-FAILED</font></p></li>
+<li class="listitem"><p><font>XMLSEC-ERRORS-R-KEY-DATA-ALREADY-EXIST</font></p></li>
+<li class="listitem"><p><font>XMLSEC-ERRORS-R-KEYDATA-DISABLED</font></p></li>
+<li class="listitem"><p><font>XMLSEC-ERRORS-R-KEY-DATA-NOT-FOUND</font></p></li>
+<li class="listitem"><p><font>XMLSEC-ERRORS-R-KEY-NOT-FOUND</font></p></li>
+<li class="listitem"><p><font>XMLSEC-ERRORS-R-MALLOC-FAILED</font></p></li>
+<li class="listitem"><p><font>XMLSEC-ERRORS-R-MAX-ENCKEY-LEVEL</font></p></li>
+<li class="listitem"><p><font>XMLSEC-ERRORS-R-MAX-RETRIEVALS-LEVEL</font></p></li>
+<li class="listitem"><p><font>XMLSEC-ERRORS-R-MAX-RETRIEVAL-TYPE-MISMATCH</font></p></li>
+<li class="listitem"><p><font>XMLSEC-ERRORS-R-MISSING-NODE-ATTRIBUTE</font></p></li>
+<li class="listitem"><p><font>XMLSEC-ERRORS-R-NODE-ALREADY-PRESENT</font></p></li>
+<li class="listitem"><p><font>XMLSEC-ERRORS-R-NODE-NOT-FOUND</font></p></li>
+<li class="listitem"><p><font>XMLSEC-ERRORS-R-NOT-IMPLEMENTED</font></p></li>
+<li class="listitem"><p><font>XMLSEC-ERRORS-R-STRDUP-FAILED</font></p></li>
+<li class="listitem"><p><font>XMLSEC-ERRORS-R-TRANSFORM-DISABLED</font></p></li>
+<li class="listitem"><p><font>XMLSEC-ERRORS-R-TRANSFORM-SAME-DOCUMENT-REQUIRED</font></p></li>
+<li class="listitem"><p><font>XMLSEC-ERRORS-R-UNEXPECTED-NODE</font></p></li>
+<li class="listitem"><p><font>XMLSEC-ERRORS-R-XML-FAILED</font></p></li>
+<li class="listitem"><p><font>XMLSEC-ERRORS-R-XMLSEC-FAILED</font></p></li>
+<li class="listitem"><p><font>XMLSEC-ERRORS-R-XSLT-FAILED</font></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-errors.html#xmlSecErrorsSafeString" title="xmlSecErrorsSafeString()">xmlSecErrorsSafeString</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-errors.html#xmlSecErrorsSetCallback" title="xmlSecErrorsSetCallback ()">xmlSecErrorsSetCallback</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-errors.html#xmlSecErrorsShutdown" title="xmlSecErrorsShutdown ()">xmlSecErrorsShutdown</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-xmltree.html#xmlSecFindChild" title="xmlSecFindChild ()">xmlSecFindChild</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-xmltree.html#xmlSecFindNode" title="xmlSecFindNode ()">xmlSecFindNode</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-xmltree.html#xmlSecFindParent" title="xmlSecFindParent ()">xmlSecFindParent</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-xmltree.html#xmlSecFindSibling" title="xmlSecFindSibling ()">xmlSecFindSibling</a></p></li>
+<li class="listitem"><p><font>XMLSEC-FUNC-TO-PTR-IMPL</font></p></li>
+<li class="listitem"><p><font>XMLSEC-FUNC-TO-PTR</font></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gcrypt-app.html#xmlSecGCryptAppDefaultKeysMngrAdoptKey" title="xmlSecGCryptAppDefaultKeysMngrAdoptKey ()">xmlSecGCryptAppDefaultKeysMngrAdoptKey</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gcrypt-app.html#xmlSecGCryptAppDefaultKeysMngrInit" title="xmlSecGCryptAppDefaultKeysMngrInit ()">xmlSecGCryptAppDefaultKeysMngrInit</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gcrypt-app.html#xmlSecGCryptAppDefaultKeysMngrLoad" title="xmlSecGCryptAppDefaultKeysMngrLoad ()">xmlSecGCryptAppDefaultKeysMngrLoad</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gcrypt-app.html#xmlSecGCryptAppDefaultKeysMngrSave" title="xmlSecGCryptAppDefaultKeysMngrSave ()">xmlSecGCryptAppDefaultKeysMngrSave</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gcrypt-app.html#xmlSecGCryptAppGetDefaultPwdCallback" title="xmlSecGCryptAppGetDefaultPwdCallback ()">xmlSecGCryptAppGetDefaultPwdCallback</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gcrypt-app.html#xmlSecGCryptAppInit" title="xmlSecGCryptAppInit ()">xmlSecGCryptAppInit</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gcrypt-app.html#xmlSecGCryptAppKeyCertLoadMemory" title="xmlSecGCryptAppKeyCertLoadMemory ()">xmlSecGCryptAppKeyCertLoadMemory</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gcrypt-app.html#xmlSecGCryptAppKeyCertLoad" title="xmlSecGCryptAppKeyCertLoad ()">xmlSecGCryptAppKeyCertLoad</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gcrypt-app.html#xmlSecGCryptAppKeyLoadMemory" title="xmlSecGCryptAppKeyLoadMemory ()">xmlSecGCryptAppKeyLoadMemory</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gcrypt-app.html#xmlSecGCryptAppKeyLoad" title="xmlSecGCryptAppKeyLoad ()">xmlSecGCryptAppKeyLoad</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gcrypt-app.html#xmlSecGCryptAppKeysMngrCertLoadMemory" title="xmlSecGCryptAppKeysMngrCertLoadMemory ()">xmlSecGCryptAppKeysMngrCertLoadMemory</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gcrypt-app.html#xmlSecGCryptAppKeysMngrCertLoad" title="xmlSecGCryptAppKeysMngrCertLoad ()">xmlSecGCryptAppKeysMngrCertLoad</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gcrypt-app.html#xmlSecGCryptAppPkcs12LoadMemory" title="xmlSecGCryptAppPkcs12LoadMemory ()">xmlSecGCryptAppPkcs12LoadMemory</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gcrypt-app.html#xmlSecGCryptAppPkcs12Load" title="xmlSecGCryptAppPkcs12Load ()">xmlSecGCryptAppPkcs12Load</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gcrypt-app.html#xmlSecGCryptAppShutdown" title="xmlSecGCryptAppShutdown ()">xmlSecGCryptAppShutdown</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptGenerateRandom" title="xmlSecGCryptGenerateRandom ()">xmlSecGCryptGenerateRandom</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptHmacGetMinOutputLength" title="xmlSecGCryptHmacGetMinOutputLength ()">xmlSecGCryptHmacGetMinOutputLength</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptHmacSetMinOutputLength" title="xmlSecGCryptHmacSetMinOutputLength ()">xmlSecGCryptHmacSetMinOutputLength</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptInit" title="xmlSecGCryptInit ()">xmlSecGCryptInit</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptKeyDataAesGetKlass" title="xmlSecGCryptKeyDataAesGetKlass ()">xmlSecGCryptKeyDataAesGetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptKeyDataAesId" title="xmlSecGCryptKeyDataAesId">xmlSecGCryptKeyDataAesId</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptKeyDataAesSet" title="xmlSecGCryptKeyDataAesSet ()">xmlSecGCryptKeyDataAesSet</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptKeyDataDesGetKlass" title="xmlSecGCryptKeyDataDesGetKlass ()">xmlSecGCryptKeyDataDesGetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptKeyDataDesId" title="xmlSecGCryptKeyDataDesId">xmlSecGCryptKeyDataDesId</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptKeyDataDesSet" title="xmlSecGCryptKeyDataDesSet ()">xmlSecGCryptKeyDataDesSet</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptKeyDataDsaAdoptKey" title="xmlSecGCryptKeyDataDsaAdoptKey ()">xmlSecGCryptKeyDataDsaAdoptKey</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptKeyDataDsaAdoptKeyPair" title="xmlSecGCryptKeyDataDsaAdoptKeyPair ()">xmlSecGCryptKeyDataDsaAdoptKeyPair</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptKeyDataDsaGetKlass" title="xmlSecGCryptKeyDataDsaGetKlass ()">xmlSecGCryptKeyDataDsaGetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptKeyDataDsaGetPrivateKey" title="xmlSecGCryptKeyDataDsaGetPrivateKey ()">xmlSecGCryptKeyDataDsaGetPrivateKey</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptKeyDataDsaGetPublicKey" title="xmlSecGCryptKeyDataDsaGetPublicKey ()">xmlSecGCryptKeyDataDsaGetPublicKey</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptKeyDataDsaId" title="xmlSecGCryptKeyDataDsaId">xmlSecGCryptKeyDataDsaId</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptKeyDataHmacGetKlass" title="xmlSecGCryptKeyDataHmacGetKlass ()">xmlSecGCryptKeyDataHmacGetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptKeyDataHmacId" title="xmlSecGCryptKeyDataHmacId">xmlSecGCryptKeyDataHmacId</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptKeyDataHmacSet" title="xmlSecGCryptKeyDataHmacSet ()">xmlSecGCryptKeyDataHmacSet</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptKeyDataRsaAdoptKey" title="xmlSecGCryptKeyDataRsaAdoptKey ()">xmlSecGCryptKeyDataRsaAdoptKey</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptKeyDataRsaAdoptKeyPair" title="xmlSecGCryptKeyDataRsaAdoptKeyPair ()">xmlSecGCryptKeyDataRsaAdoptKeyPair</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptKeyDataRsaGetKlass" title="xmlSecGCryptKeyDataRsaGetKlass ()">xmlSecGCryptKeyDataRsaGetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptKeyDataRsaGetPrivateKey" title="xmlSecGCryptKeyDataRsaGetPrivateKey ()">xmlSecGCryptKeyDataRsaGetPrivateKey</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptKeyDataRsaGetPublicKey" title="xmlSecGCryptKeyDataRsaGetPublicKey ()">xmlSecGCryptKeyDataRsaGetPublicKey</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptKeyDataRsaId" title="xmlSecGCryptKeyDataRsaId">xmlSecGCryptKeyDataRsaId</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptKeysMngrInit" title="xmlSecGCryptKeysMngrInit ()">xmlSecGCryptKeysMngrInit</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptShutdown" title="xmlSecGCryptShutdown ()">xmlSecGCryptShutdown</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptTransformAes128CbcGetKlass" title="xmlSecGCryptTransformAes128CbcGetKlass ()">xmlSecGCryptTransformAes128CbcGetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptTransformAes128CbcId" title="xmlSecGCryptTransformAes128CbcId">xmlSecGCryptTransformAes128CbcId</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptTransformAes192CbcGetKlass" title="xmlSecGCryptTransformAes192CbcGetKlass ()">xmlSecGCryptTransformAes192CbcGetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptTransformAes192CbcId" title="xmlSecGCryptTransformAes192CbcId">xmlSecGCryptTransformAes192CbcId</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptTransformAes256CbcGetKlass" title="xmlSecGCryptTransformAes256CbcGetKlass ()">xmlSecGCryptTransformAes256CbcGetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptTransformAes256CbcId" title="xmlSecGCryptTransformAes256CbcId">xmlSecGCryptTransformAes256CbcId</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptTransformDes3CbcGetKlass" title="xmlSecGCryptTransformDes3CbcGetKlass ()">xmlSecGCryptTransformDes3CbcGetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptTransformDes3CbcId" title="xmlSecGCryptTransformDes3CbcId">xmlSecGCryptTransformDes3CbcId</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptTransformDsaSha1GetKlass" title="xmlSecGCryptTransformDsaSha1GetKlass ()">xmlSecGCryptTransformDsaSha1GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptTransformDsaSha1Id" title="xmlSecGCryptTransformDsaSha1Id">xmlSecGCryptTransformDsaSha1Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptTransformHmacMd5GetKlass" title="xmlSecGCryptTransformHmacMd5GetKlass ()">xmlSecGCryptTransformHmacMd5GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptTransformHmacMd5Id" title="xmlSecGCryptTransformHmacMd5Id">xmlSecGCryptTransformHmacMd5Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptTransformHmacRipemd160GetKlass" title="xmlSecGCryptTransformHmacRipemd160GetKlass ()">xmlSecGCryptTransformHmacRipemd160GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptTransformHmacRipemd160Id" title="xmlSecGCryptTransformHmacRipemd160Id">xmlSecGCryptTransformHmacRipemd160Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptTransformHmacSha1GetKlass" title="xmlSecGCryptTransformHmacSha1GetKlass ()">xmlSecGCryptTransformHmacSha1GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptTransformHmacSha1Id" title="xmlSecGCryptTransformHmacSha1Id">xmlSecGCryptTransformHmacSha1Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptTransformHmacSha256GetKlass" title="xmlSecGCryptTransformHmacSha256GetKlass ()">xmlSecGCryptTransformHmacSha256GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptTransformHmacSha256Id" title="xmlSecGCryptTransformHmacSha256Id">xmlSecGCryptTransformHmacSha256Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptTransformHmacSha384GetKlass" title="xmlSecGCryptTransformHmacSha384GetKlass ()">xmlSecGCryptTransformHmacSha384GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptTransformHmacSha384Id" title="xmlSecGCryptTransformHmacSha384Id">xmlSecGCryptTransformHmacSha384Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptTransformHmacSha512GetKlass" title="xmlSecGCryptTransformHmacSha512GetKlass ()">xmlSecGCryptTransformHmacSha512GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptTransformHmacSha512Id" title="xmlSecGCryptTransformHmacSha512Id">xmlSecGCryptTransformHmacSha512Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptTransformKWAes128GetKlass" title="xmlSecGCryptTransformKWAes128GetKlass ()">xmlSecGCryptTransformKWAes128GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptTransformKWAes128Id" title="xmlSecGCryptTransformKWAes128Id">xmlSecGCryptTransformKWAes128Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptTransformKWAes192GetKlass" title="xmlSecGCryptTransformKWAes192GetKlass ()">xmlSecGCryptTransformKWAes192GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptTransformKWAes192Id" title="xmlSecGCryptTransformKWAes192Id">xmlSecGCryptTransformKWAes192Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptTransformKWAes256GetKlass" title="xmlSecGCryptTransformKWAes256GetKlass ()">xmlSecGCryptTransformKWAes256GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptTransformKWAes256Id" title="xmlSecGCryptTransformKWAes256Id">xmlSecGCryptTransformKWAes256Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptTransformKWDes3GetKlass" title="xmlSecGCryptTransformKWDes3GetKlass ()">xmlSecGCryptTransformKWDes3GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptTransformKWDes3Id" title="xmlSecGCryptTransformKWDes3Id">xmlSecGCryptTransformKWDes3Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptTransformMd5GetKlass" title="xmlSecGCryptTransformMd5GetKlass ()">xmlSecGCryptTransformMd5GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptTransformMd5Id" title="xmlSecGCryptTransformMd5Id">xmlSecGCryptTransformMd5Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptTransformRipemd160GetKlass" title="xmlSecGCryptTransformRipemd160GetKlass ()">xmlSecGCryptTransformRipemd160GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptTransformRipemd160Id" title="xmlSecGCryptTransformRipemd160Id">xmlSecGCryptTransformRipemd160Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptTransformRsaMd5GetKlass" title="xmlSecGCryptTransformRsaMd5GetKlass ()">xmlSecGCryptTransformRsaMd5GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptTransformRsaMd5Id" title="xmlSecGCryptTransformRsaMd5Id">xmlSecGCryptTransformRsaMd5Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptTransformRsaRipemd160GetKlass" title="xmlSecGCryptTransformRsaRipemd160GetKlass ()">xmlSecGCryptTransformRsaRipemd160GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptTransformRsaRipemd160Id" title="xmlSecGCryptTransformRsaRipemd160Id">xmlSecGCryptTransformRsaRipemd160Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptTransformRsaSha1GetKlass" title="xmlSecGCryptTransformRsaSha1GetKlass ()">xmlSecGCryptTransformRsaSha1GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptTransformRsaSha1Id" title="xmlSecGCryptTransformRsaSha1Id">xmlSecGCryptTransformRsaSha1Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptTransformRsaSha256GetKlass" title="xmlSecGCryptTransformRsaSha256GetKlass ()">xmlSecGCryptTransformRsaSha256GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptTransformRsaSha256Id" title="xmlSecGCryptTransformRsaSha256Id">xmlSecGCryptTransformRsaSha256Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptTransformRsaSha384GetKlass" title="xmlSecGCryptTransformRsaSha384GetKlass ()">xmlSecGCryptTransformRsaSha384GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptTransformRsaSha384Id" title="xmlSecGCryptTransformRsaSha384Id">xmlSecGCryptTransformRsaSha384Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptTransformRsaSha512GetKlass" title="xmlSecGCryptTransformRsaSha512GetKlass ()">xmlSecGCryptTransformRsaSha512GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptTransformRsaSha512Id" title="xmlSecGCryptTransformRsaSha512Id">xmlSecGCryptTransformRsaSha512Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptTransformSha1GetKlass" title="xmlSecGCryptTransformSha1GetKlass ()">xmlSecGCryptTransformSha1GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptTransformSha1Id" title="xmlSecGCryptTransformSha1Id">xmlSecGCryptTransformSha1Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptTransformSha256GetKlass" title="xmlSecGCryptTransformSha256GetKlass ()">xmlSecGCryptTransformSha256GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptTransformSha256Id" title="xmlSecGCryptTransformSha256Id">xmlSecGCryptTransformSha256Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptTransformSha384GetKlass" title="xmlSecGCryptTransformSha384GetKlass ()">xmlSecGCryptTransformSha384GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptTransformSha384Id" title="xmlSecGCryptTransformSha384Id">xmlSecGCryptTransformSha384Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptTransformSha512GetKlass" title="xmlSecGCryptTransformSha512GetKlass ()">xmlSecGCryptTransformSha512GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gcrypt-crypto.html#xmlSecGCryptTransformSha512Id" title="xmlSecGCryptTransformSha512Id">xmlSecGCryptTransformSha512Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-xmlsec.html#xmlSecGetDefaultCrypto" title="xmlSecGetDefaultCrypto ()">xmlSecGetDefaultCrypto</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-xmltree.html#xmlSecGetHex" title="xmlSecGetHex()">xmlSecGetHex</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keysmngr.html#xmlSecGetKeyCallback" title="xmlSecGetKeyCallback ()">xmlSecGetKeyCallback</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-xmltree.html#xmlSecGetNextElementNode" title="xmlSecGetNextElementNode ()">xmlSecGetNextElementNode</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-xmltree.html#xmlSecGetNodeNsHref" title="xmlSecGetNodeNsHref ()">xmlSecGetNodeNsHref</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-xmltree.html#xmlSecGetQName" title="xmlSecGetQName ()">xmlSecGetQName</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gnutls-app.html#xmlSecGnuTLSAppDefaultKeysMngrAdoptKey" title="xmlSecGnuTLSAppDefaultKeysMngrAdoptKey ()">xmlSecGnuTLSAppDefaultKeysMngrAdoptKey</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gnutls-app.html#xmlSecGnuTLSAppDefaultKeysMngrInit" title="xmlSecGnuTLSAppDefaultKeysMngrInit ()">xmlSecGnuTLSAppDefaultKeysMngrInit</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gnutls-app.html#xmlSecGnuTLSAppDefaultKeysMngrLoad" title="xmlSecGnuTLSAppDefaultKeysMngrLoad ()">xmlSecGnuTLSAppDefaultKeysMngrLoad</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gnutls-app.html#xmlSecGnuTLSAppDefaultKeysMngrSave" title="xmlSecGnuTLSAppDefaultKeysMngrSave ()">xmlSecGnuTLSAppDefaultKeysMngrSave</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gnutls-app.html#xmlSecGnuTLSAppGetDefaultPwdCallback" title="xmlSecGnuTLSAppGetDefaultPwdCallback ()">xmlSecGnuTLSAppGetDefaultPwdCallback</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gnutls-app.html#xmlSecGnuTLSAppInit" title="xmlSecGnuTLSAppInit ()">xmlSecGnuTLSAppInit</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gnutls-app.html#xmlSecGnuTLSAppKeyCertLoadMemory" title="xmlSecGnuTLSAppKeyCertLoadMemory ()">xmlSecGnuTLSAppKeyCertLoadMemory</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gnutls-app.html#xmlSecGnuTLSAppKeyCertLoad" title="xmlSecGnuTLSAppKeyCertLoad ()">xmlSecGnuTLSAppKeyCertLoad</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gnutls-app.html#xmlSecGnuTLSAppKeyLoadMemory" title="xmlSecGnuTLSAppKeyLoadMemory ()">xmlSecGnuTLSAppKeyLoadMemory</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gnutls-app.html#xmlSecGnuTLSAppKeyLoad" title="xmlSecGnuTLSAppKeyLoad ()">xmlSecGnuTLSAppKeyLoad</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gnutls-app.html#xmlSecGnuTLSAppKeysMngrCertLoadMemory" title="xmlSecGnuTLSAppKeysMngrCertLoadMemory ()">xmlSecGnuTLSAppKeysMngrCertLoadMemory</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gnutls-app.html#xmlSecGnuTLSAppKeysMngrCertLoad" title="xmlSecGnuTLSAppKeysMngrCertLoad ()">xmlSecGnuTLSAppKeysMngrCertLoad</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gnutls-app.html#xmlSecGnuTLSAppPkcs12LoadMemory" title="xmlSecGnuTLSAppPkcs12LoadMemory ()">xmlSecGnuTLSAppPkcs12LoadMemory</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gnutls-app.html#xmlSecGnuTLSAppPkcs12Load" title="xmlSecGnuTLSAppPkcs12Load ()">xmlSecGnuTLSAppPkcs12Load</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gnutls-app.html#xmlSecGnuTLSAppShutdown" title="xmlSecGnuTLSAppShutdown ()">xmlSecGnuTLSAppShutdown</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSGenerateRandom" title="xmlSecGnuTLSGenerateRandom ()">xmlSecGnuTLSGenerateRandom</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSHmacGetMinOutputLength" title="xmlSecGnuTLSHmacGetMinOutputLength ()">xmlSecGnuTLSHmacGetMinOutputLength</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSHmacSetMinOutputLength" title="xmlSecGnuTLSHmacSetMinOutputLength ()">xmlSecGnuTLSHmacSetMinOutputLength</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSInit" title="xmlSecGnuTLSInit ()">xmlSecGnuTLSInit</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSKeyDataAesGetKlass" title="xmlSecGnuTLSKeyDataAesGetKlass ()">xmlSecGnuTLSKeyDataAesGetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSKeyDataAesId" title="xmlSecGnuTLSKeyDataAesId">xmlSecGnuTLSKeyDataAesId</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSKeyDataAesSet" title="xmlSecGnuTLSKeyDataAesSet ()">xmlSecGnuTLSKeyDataAesSet</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSKeyDataDesGetKlass" title="xmlSecGnuTLSKeyDataDesGetKlass ()">xmlSecGnuTLSKeyDataDesGetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSKeyDataDesId" title="xmlSecGnuTLSKeyDataDesId">xmlSecGnuTLSKeyDataDesId</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSKeyDataDesSet" title="xmlSecGnuTLSKeyDataDesSet ()">xmlSecGnuTLSKeyDataDesSet</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSKeyDataDsaAdoptPrivateKey" title="xmlSecGnuTLSKeyDataDsaAdoptPrivateKey ()">xmlSecGnuTLSKeyDataDsaAdoptPrivateKey</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSKeyDataDsaAdoptPublicKey" title="xmlSecGnuTLSKeyDataDsaAdoptPublicKey ()">xmlSecGnuTLSKeyDataDsaAdoptPublicKey</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSKeyDataDsaGetKlass" title="xmlSecGnuTLSKeyDataDsaGetKlass ()">xmlSecGnuTLSKeyDataDsaGetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSKeyDataDsaId" title="xmlSecGnuTLSKeyDataDsaId">xmlSecGnuTLSKeyDataDsaId</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSKeyDataHmacGetKlass" title="xmlSecGnuTLSKeyDataHmacGetKlass ()">xmlSecGnuTLSKeyDataHmacGetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSKeyDataHmacId" title="xmlSecGnuTLSKeyDataHmacId">xmlSecGnuTLSKeyDataHmacId</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSKeyDataHmacSet" title="xmlSecGnuTLSKeyDataHmacSet ()">xmlSecGnuTLSKeyDataHmacSet</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gnutls-x509.html#xmlSecGnuTLSKeyDataRawX509CertGetKlass" title="xmlSecGnuTLSKeyDataRawX509CertGetKlass ()">xmlSecGnuTLSKeyDataRawX509CertGetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gnutls-x509.html#xmlSecGnuTLSKeyDataRawX509CertId" title="xmlSecGnuTLSKeyDataRawX509CertId">xmlSecGnuTLSKeyDataRawX509CertId</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSKeyDataRsaAdoptPrivateKey" title="xmlSecGnuTLSKeyDataRsaAdoptPrivateKey ()">xmlSecGnuTLSKeyDataRsaAdoptPrivateKey</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSKeyDataRsaAdoptPublicKey" title="xmlSecGnuTLSKeyDataRsaAdoptPublicKey ()">xmlSecGnuTLSKeyDataRsaAdoptPublicKey</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSKeyDataRsaGetKlass" title="xmlSecGnuTLSKeyDataRsaGetKlass ()">xmlSecGnuTLSKeyDataRsaGetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSKeyDataRsaId" title="xmlSecGnuTLSKeyDataRsaId">xmlSecGnuTLSKeyDataRsaId</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gnutls-x509.html#xmlSecGnuTLSKeyDataX509AdoptCert" title="xmlSecGnuTLSKeyDataX509AdoptCert ()">xmlSecGnuTLSKeyDataX509AdoptCert</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gnutls-x509.html#xmlSecGnuTLSKeyDataX509AdoptCrl" title="xmlSecGnuTLSKeyDataX509AdoptCrl ()">xmlSecGnuTLSKeyDataX509AdoptCrl</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gnutls-x509.html#xmlSecGnuTLSKeyDataX509AdoptKeyCert" title="xmlSecGnuTLSKeyDataX509AdoptKeyCert ()">xmlSecGnuTLSKeyDataX509AdoptKeyCert</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gnutls-x509.html#xmlSecGnuTLSKeyDataX509GetCert" title="xmlSecGnuTLSKeyDataX509GetCert ()">xmlSecGnuTLSKeyDataX509GetCert</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gnutls-x509.html#xmlSecGnuTLSKeyDataX509GetCertsSize" title="xmlSecGnuTLSKeyDataX509GetCertsSize ()">xmlSecGnuTLSKeyDataX509GetCertsSize</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gnutls-x509.html#xmlSecGnuTLSKeyDataX509GetCrl" title="xmlSecGnuTLSKeyDataX509GetCrl ()">xmlSecGnuTLSKeyDataX509GetCrl</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gnutls-x509.html#xmlSecGnuTLSKeyDataX509GetCrlsSize" title="xmlSecGnuTLSKeyDataX509GetCrlsSize ()">xmlSecGnuTLSKeyDataX509GetCrlsSize</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gnutls-x509.html#xmlSecGnuTLSKeyDataX509GetKeyCert" title="xmlSecGnuTLSKeyDataX509GetKeyCert ()">xmlSecGnuTLSKeyDataX509GetKeyCert</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gnutls-x509.html#xmlSecGnuTLSKeyDataX509GetKlass" title="xmlSecGnuTLSKeyDataX509GetKlass ()">xmlSecGnuTLSKeyDataX509GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gnutls-x509.html#xmlSecGnuTLSKeyDataX509Id" title="xmlSecGnuTLSKeyDataX509Id">xmlSecGnuTLSKeyDataX509Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSKeysMngrInit" title="xmlSecGnuTLSKeysMngrInit ()">xmlSecGnuTLSKeysMngrInit</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSShutdown" title="xmlSecGnuTLSShutdown ()">xmlSecGnuTLSShutdown</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSTransformAes128CbcGetKlass" title="xmlSecGnuTLSTransformAes128CbcGetKlass ()">xmlSecGnuTLSTransformAes128CbcGetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSTransformAes128CbcId" title="xmlSecGnuTLSTransformAes128CbcId">xmlSecGnuTLSTransformAes128CbcId</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSTransformAes192CbcGetKlass" title="xmlSecGnuTLSTransformAes192CbcGetKlass ()">xmlSecGnuTLSTransformAes192CbcGetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSTransformAes192CbcId" title="xmlSecGnuTLSTransformAes192CbcId">xmlSecGnuTLSTransformAes192CbcId</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSTransformAes256CbcGetKlass" title="xmlSecGnuTLSTransformAes256CbcGetKlass ()">xmlSecGnuTLSTransformAes256CbcGetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSTransformAes256CbcId" title="xmlSecGnuTLSTransformAes256CbcId">xmlSecGnuTLSTransformAes256CbcId</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSTransformDes3CbcGetKlass" title="xmlSecGnuTLSTransformDes3CbcGetKlass ()">xmlSecGnuTLSTransformDes3CbcGetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSTransformDes3CbcId" title="xmlSecGnuTLSTransformDes3CbcId">xmlSecGnuTLSTransformDes3CbcId</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSTransformDsaSha1GetKlass" title="xmlSecGnuTLSTransformDsaSha1GetKlass ()">xmlSecGnuTLSTransformDsaSha1GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSTransformDsaSha1Id" title="xmlSecGnuTLSTransformDsaSha1Id">xmlSecGnuTLSTransformDsaSha1Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSTransformHmacMd5GetKlass" title="xmlSecGnuTLSTransformHmacMd5GetKlass ()">xmlSecGnuTLSTransformHmacMd5GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSTransformHmacMd5Id" title="xmlSecGnuTLSTransformHmacMd5Id">xmlSecGnuTLSTransformHmacMd5Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSTransformHmacRipemd160GetKlass" title="xmlSecGnuTLSTransformHmacRipemd160GetKlass ()">xmlSecGnuTLSTransformHmacRipemd160GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSTransformHmacRipemd160Id" title="xmlSecGnuTLSTransformHmacRipemd160Id">xmlSecGnuTLSTransformHmacRipemd160Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSTransformHmacSha1GetKlass" title="xmlSecGnuTLSTransformHmacSha1GetKlass ()">xmlSecGnuTLSTransformHmacSha1GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSTransformHmacSha1Id" title="xmlSecGnuTLSTransformHmacSha1Id">xmlSecGnuTLSTransformHmacSha1Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSTransformHmacSha256GetKlass" title="xmlSecGnuTLSTransformHmacSha256GetKlass ()">xmlSecGnuTLSTransformHmacSha256GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSTransformHmacSha256Id" title="xmlSecGnuTLSTransformHmacSha256Id">xmlSecGnuTLSTransformHmacSha256Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSTransformHmacSha384GetKlass" title="xmlSecGnuTLSTransformHmacSha384GetKlass ()">xmlSecGnuTLSTransformHmacSha384GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSTransformHmacSha384Id" title="xmlSecGnuTLSTransformHmacSha384Id">xmlSecGnuTLSTransformHmacSha384Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSTransformHmacSha512GetKlass" title="xmlSecGnuTLSTransformHmacSha512GetKlass ()">xmlSecGnuTLSTransformHmacSha512GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSTransformHmacSha512Id" title="xmlSecGnuTLSTransformHmacSha512Id">xmlSecGnuTLSTransformHmacSha512Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSTransformKWAes128GetKlass" title="xmlSecGnuTLSTransformKWAes128GetKlass ()">xmlSecGnuTLSTransformKWAes128GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSTransformKWAes128Id" title="xmlSecGnuTLSTransformKWAes128Id">xmlSecGnuTLSTransformKWAes128Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSTransformKWAes192GetKlass" title="xmlSecGnuTLSTransformKWAes192GetKlass ()">xmlSecGnuTLSTransformKWAes192GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSTransformKWAes192Id" title="xmlSecGnuTLSTransformKWAes192Id">xmlSecGnuTLSTransformKWAes192Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSTransformKWAes256GetKlass" title="xmlSecGnuTLSTransformKWAes256GetKlass ()">xmlSecGnuTLSTransformKWAes256GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSTransformKWAes256Id" title="xmlSecGnuTLSTransformKWAes256Id">xmlSecGnuTLSTransformKWAes256Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSTransformKWDes3GetKlass" title="xmlSecGnuTLSTransformKWDes3GetKlass ()">xmlSecGnuTLSTransformKWDes3GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSTransformKWDes3Id" title="xmlSecGnuTLSTransformKWDes3Id">xmlSecGnuTLSTransformKWDes3Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSTransformMd5GetKlass" title="xmlSecGnuTLSTransformMd5GetKlass ()">xmlSecGnuTLSTransformMd5GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSTransformMd5Id" title="xmlSecGnuTLSTransformMd5Id">xmlSecGnuTLSTransformMd5Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSTransformRipemd160GetKlass" title="xmlSecGnuTLSTransformRipemd160GetKlass ()">xmlSecGnuTLSTransformRipemd160GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSTransformRipemd160Id" title="xmlSecGnuTLSTransformRipemd160Id">xmlSecGnuTLSTransformRipemd160Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSTransformRsaMd5GetKlass" title="xmlSecGnuTLSTransformRsaMd5GetKlass ()">xmlSecGnuTLSTransformRsaMd5GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSTransformRsaMd5Id" title="xmlSecGnuTLSTransformRsaMd5Id">xmlSecGnuTLSTransformRsaMd5Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSTransformRsaRipemd160GetKlass" title="xmlSecGnuTLSTransformRsaRipemd160GetKlass ()">xmlSecGnuTLSTransformRsaRipemd160GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSTransformRsaRipemd160Id" title="xmlSecGnuTLSTransformRsaRipemd160Id">xmlSecGnuTLSTransformRsaRipemd160Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSTransformRsaSha1GetKlass" title="xmlSecGnuTLSTransformRsaSha1GetKlass ()">xmlSecGnuTLSTransformRsaSha1GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSTransformRsaSha1Id" title="xmlSecGnuTLSTransformRsaSha1Id">xmlSecGnuTLSTransformRsaSha1Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSTransformRsaSha256GetKlass" title="xmlSecGnuTLSTransformRsaSha256GetKlass ()">xmlSecGnuTLSTransformRsaSha256GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSTransformRsaSha256Id" title="xmlSecGnuTLSTransformRsaSha256Id">xmlSecGnuTLSTransformRsaSha256Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSTransformRsaSha384GetKlass" title="xmlSecGnuTLSTransformRsaSha384GetKlass ()">xmlSecGnuTLSTransformRsaSha384GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSTransformRsaSha384Id" title="xmlSecGnuTLSTransformRsaSha384Id">xmlSecGnuTLSTransformRsaSha384Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSTransformRsaSha512GetKlass" title="xmlSecGnuTLSTransformRsaSha512GetKlass ()">xmlSecGnuTLSTransformRsaSha512GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSTransformRsaSha512Id" title="xmlSecGnuTLSTransformRsaSha512Id">xmlSecGnuTLSTransformRsaSha512Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSTransformSha1GetKlass" title="xmlSecGnuTLSTransformSha1GetKlass ()">xmlSecGnuTLSTransformSha1GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSTransformSha1Id" title="xmlSecGnuTLSTransformSha1Id">xmlSecGnuTLSTransformSha1Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSTransformSha256GetKlass" title="xmlSecGnuTLSTransformSha256GetKlass ()">xmlSecGnuTLSTransformSha256GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSTransformSha256Id" title="xmlSecGnuTLSTransformSha256Id">xmlSecGnuTLSTransformSha256Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSTransformSha384GetKlass" title="xmlSecGnuTLSTransformSha384GetKlass ()">xmlSecGnuTLSTransformSha384GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSTransformSha384Id" title="xmlSecGnuTLSTransformSha384Id">xmlSecGnuTLSTransformSha384Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSTransformSha512GetKlass" title="xmlSecGnuTLSTransformSha512GetKlass ()">xmlSecGnuTLSTransformSha512GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gnutls-crypto.html#xmlSecGnuTLSTransformSha512Id" title="xmlSecGnuTLSTransformSha512Id">xmlSecGnuTLSTransformSha512Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gnutls-x509.html#xmlSecGnuTLSX509CertGetKey" title="xmlSecGnuTLSX509CertGetKey ()">xmlSecGnuTLSX509CertGetKey</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gnutls-x509.html#xmlSecGnuTLSX509StoreAdoptCert" title="xmlSecGnuTLSX509StoreAdoptCert ()">xmlSecGnuTLSX509StoreAdoptCert</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gnutls-x509.html#xmlSecGnuTLSX509StoreFindCert" title="xmlSecGnuTLSX509StoreFindCert ()">xmlSecGnuTLSX509StoreFindCert</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gnutls-x509.html#xmlSecGnuTLSX509StoreGetKlass" title="xmlSecGnuTLSX509StoreGetKlass ()">xmlSecGnuTLSX509StoreGetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gnutls-x509.html#xmlSecGnuTLSX509StoreId" title="xmlSecGnuTLSX509StoreId">xmlSecGnuTLSX509StoreId</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-gnutls-x509.html#xmlSecGnuTLSX509StoreVerify" title="xmlSecGnuTLSX509StoreVerify ()">xmlSecGnuTLSX509StoreVerify</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-xmlsec.html#xmlSecInit" title="xmlSecInit ()">xmlSecInit</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-io.html#xmlSecIOCleanupCallbacks" title="xmlSecIOCleanupCallbacks ()">xmlSecIOCleanupCallbacks</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-io.html#xmlSecIOInit" title="xmlSecIOInit ()">xmlSecIOInit</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-io.html#xmlSecIORegisterCallbacks" title="xmlSecIORegisterCallbacks ()">xmlSecIORegisterCallbacks</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-io.html#xmlSecIORegisterDefaultCallbacks" title="xmlSecIORegisterDefaultCallbacks ()">xmlSecIORegisterDefaultCallbacks</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-io.html#xmlSecIOShutdown" title="xmlSecIOShutdown ()">xmlSecIOShutdown</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-xmltree.html#xmlSecIsEmptyNode" title="xmlSecIsEmptyNode ()">xmlSecIsEmptyNode</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-xmltree.html#xmlSecIsEmptyString" title="xmlSecIsEmptyString ()">xmlSecIsEmptyString</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-xmltree.html#xmlSecIsHex" title="xmlSecIsHex()">xmlSecIsHex</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keys.html#xmlSecKeyAdoptData" title="xmlSecKeyAdoptData ()">xmlSecKeyAdoptData</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keys.html#xmlSecKeyCheckId" title="xmlSecKeyCheckId()">xmlSecKeyCheckId</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keys.html#xmlSecKeyCopy" title="xmlSecKeyCopy ()">xmlSecKeyCopy</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keys.html#xmlSecKeyCreate" title="xmlSecKeyCreate ()">xmlSecKeyCreate</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-app.html#xmlSecKeyDataAesGetKlass" title="xmlSecKeyDataAesGetKlass ()">xmlSecKeyDataAesGetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-app.html#xmlSecKeyDataAesId" title="xmlSecKeyDataAesId">xmlSecKeyDataAesId</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataBinarySize" title="xmlSecKeyDataBinarySize">xmlSecKeyDataBinarySize</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataBinaryValueBinRead" title="xmlSecKeyDataBinaryValueBinRead ()">xmlSecKeyDataBinaryValueBinRead</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataBinaryValueBinWrite" title="xmlSecKeyDataBinaryValueBinWrite ()">xmlSecKeyDataBinaryValueBinWrite</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataBinaryValueDebugDump" title="xmlSecKeyDataBinaryValueDebugDump ()">xmlSecKeyDataBinaryValueDebugDump</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataBinaryValueDebugXmlDump" title="xmlSecKeyDataBinaryValueDebugXmlDump ()">xmlSecKeyDataBinaryValueDebugXmlDump</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataBinaryValueDuplicate" title="xmlSecKeyDataBinaryValueDuplicate ()">xmlSecKeyDataBinaryValueDuplicate</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataBinaryValueFinalize" title="xmlSecKeyDataBinaryValueFinalize ()">xmlSecKeyDataBinaryValueFinalize</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataBinaryValueGetBuffer" title="xmlSecKeyDataBinaryValueGetBuffer ()">xmlSecKeyDataBinaryValueGetBuffer</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataBinaryValueGetSize" title="xmlSecKeyDataBinaryValueGetSize ()">xmlSecKeyDataBinaryValueGetSize</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataBinaryValueInitialize" title="xmlSecKeyDataBinaryValueInitialize ()">xmlSecKeyDataBinaryValueInitialize</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataBinaryValueSetBuffer" title="xmlSecKeyDataBinaryValueSetBuffer ()">xmlSecKeyDataBinaryValueSetBuffer</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataBinaryValueXmlRead" title="xmlSecKeyDataBinaryValueXmlRead ()">xmlSecKeyDataBinaryValueXmlRead</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataBinaryValueXmlWrite" title="xmlSecKeyDataBinaryValueXmlWrite ()">xmlSecKeyDataBinaryValueXmlWrite</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataBinReadMethod" title="xmlSecKeyDataBinReadMethod ()">xmlSecKeyDataBinReadMethod</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataBinRead" title="xmlSecKeyDataBinRead ()">xmlSecKeyDataBinRead</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataBinWriteMethod" title="xmlSecKeyDataBinWriteMethod ()">xmlSecKeyDataBinWriteMethod</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataBinWrite" title="xmlSecKeyDataBinWrite ()">xmlSecKeyDataBinWrite</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataCheckId" title="xmlSecKeyDataCheckId()">xmlSecKeyDataCheckId</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataCheckSize" title="xmlSecKeyDataCheckSize()">xmlSecKeyDataCheckSize</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataCheckUsage" title="xmlSecKeyDataCheckUsage()">xmlSecKeyDataCheckUsage</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataCreate" title="xmlSecKeyDataCreate ()">xmlSecKeyDataCreate</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataDebugDumpMethod" title="xmlSecKeyDataDebugDumpMethod ()">xmlSecKeyDataDebugDumpMethod</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataDebugDump" title="xmlSecKeyDataDebugDump ()">xmlSecKeyDataDebugDump</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataDebugXmlDump" title="xmlSecKeyDataDebugXmlDump ()">xmlSecKeyDataDebugXmlDump</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-app.html#xmlSecKeyDataDesGetKlass" title="xmlSecKeyDataDesGetKlass ()">xmlSecKeyDataDesGetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-app.html#xmlSecKeyDataDesId" title="xmlSecKeyDataDesId">xmlSecKeyDataDesId</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataDestroy" title="xmlSecKeyDataDestroy ()">xmlSecKeyDataDestroy</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-app.html#xmlSecKeyDataDsaGetKlass" title="xmlSecKeyDataDsaGetKlass ()">xmlSecKeyDataDsaGetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-app.html#xmlSecKeyDataDsaId" title="xmlSecKeyDataDsaId">xmlSecKeyDataDsaId</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataDuplicateMethod" title="xmlSecKeyDataDuplicateMethod ()">xmlSecKeyDataDuplicateMethod</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataDuplicate" title="xmlSecKeyDataDuplicate ()">xmlSecKeyDataDuplicate</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-app.html#xmlSecKeyDataEcdsaGetKlass" title="xmlSecKeyDataEcdsaGetKlass ()">xmlSecKeyDataEcdsaGetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-app.html#xmlSecKeyDataEcdsaId" title="xmlSecKeyDataEcdsaId">xmlSecKeyDataEcdsaId</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keyinfo.html#xmlSecKeyDataEncryptedKeyGetKlass" title="xmlSecKeyDataEncryptedKeyGetKlass ()">xmlSecKeyDataEncryptedKeyGetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keyinfo.html#xmlSecKeyDataEncryptedKeyId" title="xmlSecKeyDataEncryptedKeyId">xmlSecKeyDataEncryptedKeyId</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataFinalizeMethod" title="xmlSecKeyDataFinalizeMethod ()">xmlSecKeyDataFinalizeMethod</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataFormat" title="enum xmlSecKeyDataFormat">xmlSecKeyDataFormat</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataGenerateMethod" title="xmlSecKeyDataGenerateMethod ()">xmlSecKeyDataGenerateMethod</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataGenerate" title="xmlSecKeyDataGenerate ()">xmlSecKeyDataGenerate</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataGetIdentifierMethod" title="xmlSecKeyDataGetIdentifierMethod ()">xmlSecKeyDataGetIdentifierMethod</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataGetIdentifier" title="xmlSecKeyDataGetIdentifier ()">xmlSecKeyDataGetIdentifier</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataGetName" title="xmlSecKeyDataGetName()">xmlSecKeyDataGetName</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataGetSizeMethod" title="xmlSecKeyDataGetSizeMethod ()">xmlSecKeyDataGetSizeMethod</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataGetSize" title="xmlSecKeyDataGetSize ()">xmlSecKeyDataGetSize</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataGetTypeMethod" title="xmlSecKeyDataGetTypeMethod ()">xmlSecKeyDataGetTypeMethod</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataGetType" title="xmlSecKeyDataGetType ()">xmlSecKeyDataGetType</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-app.html#xmlSecKeyDataGost2001GetKlass" title="xmlSecKeyDataGost2001GetKlass ()">xmlSecKeyDataGost2001GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-app.html#xmlSecKeyDataGost2001Id" title="xmlSecKeyDataGost2001Id">xmlSecKeyDataGost2001Id</a></p></li>
+<li class="listitem"><p><font>xmlSecKeyDataGostR3410-2012-256GetKlass</font></p></li>
+<li class="listitem"><p><font>xmlSecKeyDataGostR3410-2012-256Id</font></p></li>
+<li class="listitem"><p><font>xmlSecKeyDataGostR3410-2012-512GetKlass</font></p></li>
+<li class="listitem"><p><font>xmlSecKeyDataGostR3410-2012-512Id</font></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-app.html#xmlSecKeyDataHmacGetKlass" title="xmlSecKeyDataHmacGetKlass ()">xmlSecKeyDataHmacGetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-app.html#xmlSecKeyDataHmacId" title="xmlSecKeyDataHmacId">xmlSecKeyDataHmacId</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataIdListDebugDump" title="xmlSecKeyDataIdListDebugDump ()">xmlSecKeyDataIdListDebugDump</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataIdListDebugXmlDump" title="xmlSecKeyDataIdListDebugXmlDump ()">xmlSecKeyDataIdListDebugXmlDump</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataIdListFindByHref" title="xmlSecKeyDataIdListFindByHref ()">xmlSecKeyDataIdListFindByHref</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataIdListFindByName" title="xmlSecKeyDataIdListFindByName ()">xmlSecKeyDataIdListFindByName</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataIdListFindByNode" title="xmlSecKeyDataIdListFindByNode ()">xmlSecKeyDataIdListFindByNode</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataIdListFind" title="xmlSecKeyDataIdListFind ()">xmlSecKeyDataIdListFind</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataIdListGetKlass" title="xmlSecKeyDataIdListGetKlass ()">xmlSecKeyDataIdListGetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataIdListId" title="xmlSecKeyDataIdListId">xmlSecKeyDataIdListId</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataIdsGet" title="xmlSecKeyDataIdsGet ()">xmlSecKeyDataIdsGet</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataIdsInit" title="xmlSecKeyDataIdsInit ()">xmlSecKeyDataIdsInit</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataIdsRegisterDefault" title="xmlSecKeyDataIdsRegisterDefault ()">xmlSecKeyDataIdsRegisterDefault</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataIdsRegister" title="xmlSecKeyDataIdsRegister ()">xmlSecKeyDataIdsRegister</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataIdsShutdown" title="xmlSecKeyDataIdsShutdown ()">xmlSecKeyDataIdsShutdown</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataIdUnknown" title="xmlSecKeyDataIdUnknown">xmlSecKeyDataIdUnknown</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataInitMethod" title="xmlSecKeyDataInitMethod ()">xmlSecKeyDataInitMethod</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataIsValid" title="xmlSecKeyDataIsValid()">xmlSecKeyDataIsValid</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataKlassGetName" title="xmlSecKeyDataKlassGetName()">xmlSecKeyDataKlassGetName</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataKlass" title="struct xmlSecKeyDataKlass">xmlSecKeyDataKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataListGetKlass" title="xmlSecKeyDataListGetKlass ()">xmlSecKeyDataListGetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataListId" title="xmlSecKeyDataListId">xmlSecKeyDataListId</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keysdata.html#xmlSecKeyData" title="struct xmlSecKeyData">xmlSecKeyData</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keyinfo.html#xmlSecKeyDataNameGetKlass" title="xmlSecKeyDataNameGetKlass ()">xmlSecKeyDataNameGetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keyinfo.html#xmlSecKeyDataNameId" title="xmlSecKeyDataNameId">xmlSecKeyDataNameId</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-app.html#xmlSecKeyDataRawX509CertGetKlass" title="xmlSecKeyDataRawX509CertGetKlass ()">xmlSecKeyDataRawX509CertGetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-app.html#xmlSecKeyDataRawX509CertId" title="xmlSecKeyDataRawX509CertId">xmlSecKeyDataRawX509CertId</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keyinfo.html#xmlSecKeyDataRetrievalMethodGetKlass" title="xmlSecKeyDataRetrievalMethodGetKlass ()">xmlSecKeyDataRetrievalMethodGetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keyinfo.html#xmlSecKeyDataRetrievalMethodId" title="xmlSecKeyDataRetrievalMethodId">xmlSecKeyDataRetrievalMethodId</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-app.html#xmlSecKeyDataRsaGetKlass" title="xmlSecKeyDataRsaGetKlass ()">xmlSecKeyDataRsaGetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-app.html#xmlSecKeyDataRsaId" title="xmlSecKeyDataRsaId">xmlSecKeyDataRsaId</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataStoreCheckId" title="xmlSecKeyDataStoreCheckId()">xmlSecKeyDataStoreCheckId</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataStoreCheckSize" title="xmlSecKeyDataStoreCheckSize()">xmlSecKeyDataStoreCheckSize</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataStoreCreate" title="xmlSecKeyDataStoreCreate ()">xmlSecKeyDataStoreCreate</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataStoreDestroy" title="xmlSecKeyDataStoreDestroy ()">xmlSecKeyDataStoreDestroy</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataStoreFinalizeMethod" title="xmlSecKeyDataStoreFinalizeMethod ()">xmlSecKeyDataStoreFinalizeMethod</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataStoreGetName" title="xmlSecKeyDataStoreGetName()">xmlSecKeyDataStoreGetName</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataStoreIdUnknown" title="xmlSecKeyDataStoreIdUnknown">xmlSecKeyDataStoreIdUnknown</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataStoreInitializeMethod" title="xmlSecKeyDataStoreInitializeMethod ()">xmlSecKeyDataStoreInitializeMethod</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataStoreIsValid" title="xmlSecKeyDataStoreIsValid()">xmlSecKeyDataStoreIsValid</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataStoreKlassGetName" title="xmlSecKeyDataStoreKlassGetName()">xmlSecKeyDataStoreKlassGetName</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataStoreKlass" title="struct xmlSecKeyDataStoreKlass">xmlSecKeyDataStoreKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataStore" title="struct xmlSecKeyDataStore">xmlSecKeyDataStore</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataStorePtrListGetKlass" title="xmlSecKeyDataStorePtrListGetKlass ()">xmlSecKeyDataStorePtrListGetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataStorePtrListId" title="xmlSecKeyDataStorePtrListId">xmlSecKeyDataStorePtrListId</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataTypeAny" title="xmlSecKeyDataTypeAny">xmlSecKeyDataTypeAny</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataType" title="xmlSecKeyDataType">xmlSecKeyDataType</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataTypeNone" title="xmlSecKeyDataTypeNone">xmlSecKeyDataTypeNone</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataTypePermanent" title="xmlSecKeyDataTypePermanent">xmlSecKeyDataTypePermanent</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataTypePrivate" title="xmlSecKeyDataTypePrivate">xmlSecKeyDataTypePrivate</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataTypePublic" title="xmlSecKeyDataTypePublic">xmlSecKeyDataTypePublic</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataTypeSession" title="xmlSecKeyDataTypeSession">xmlSecKeyDataTypeSession</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataTypeSymmetric" title="xmlSecKeyDataTypeSymmetric">xmlSecKeyDataTypeSymmetric</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataTypeTrusted" title="xmlSecKeyDataTypeTrusted">xmlSecKeyDataTypeTrusted</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataTypeUnknown" title="xmlSecKeyDataTypeUnknown">xmlSecKeyDataTypeUnknown</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataUsageAny" title="xmlSecKeyDataUsageAny">xmlSecKeyDataUsageAny</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataUsageKeyInfoNode" title="xmlSecKeyDataUsageKeyInfoNode">xmlSecKeyDataUsageKeyInfoNode</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataUsageKeyInfoNodeRead" title="xmlSecKeyDataUsageKeyInfoNodeRead">xmlSecKeyDataUsageKeyInfoNodeRead</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataUsageKeyInfoNodeWrite" title="xmlSecKeyDataUsageKeyInfoNodeWrite">xmlSecKeyDataUsageKeyInfoNodeWrite</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataUsageKeyValueNode" title="xmlSecKeyDataUsageKeyValueNode">xmlSecKeyDataUsageKeyValueNode</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataUsageKeyValueNodeRead" title="xmlSecKeyDataUsageKeyValueNodeRead">xmlSecKeyDataUsageKeyValueNodeRead</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataUsageKeyValueNodeWrite" title="xmlSecKeyDataUsageKeyValueNodeWrite">xmlSecKeyDataUsageKeyValueNodeWrite</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataUsage" title="xmlSecKeyDataUsage">xmlSecKeyDataUsage</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataUsageRetrievalMethodNodeBin" title="xmlSecKeyDataUsageRetrievalMethodNodeBin">xmlSecKeyDataUsageRetrievalMethodNodeBin</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataUsageRetrievalMethodNode" title="xmlSecKeyDataUsageRetrievalMethodNode">xmlSecKeyDataUsageRetrievalMethodNode</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataUsageRetrievalMethodNodeXml" title="xmlSecKeyDataUsageRetrievalMethodNodeXml">xmlSecKeyDataUsageRetrievalMethodNodeXml</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataUsageUnknown" title="xmlSecKeyDataUsageUnknown">xmlSecKeyDataUsageUnknown</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keyinfo.html#xmlSecKeyDataValueGetKlass" title="xmlSecKeyDataValueGetKlass ()">xmlSecKeyDataValueGetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keyinfo.html#xmlSecKeyDataValueId" title="xmlSecKeyDataValueId">xmlSecKeyDataValueId</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-app.html#xmlSecKeyDataX509GetKlass" title="xmlSecKeyDataX509GetKlass ()">xmlSecKeyDataX509GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-app.html#xmlSecKeyDataX509Id" title="xmlSecKeyDataX509Id">xmlSecKeyDataX509Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataXmlReadMethod" title="xmlSecKeyDataXmlReadMethod ()">xmlSecKeyDataXmlReadMethod</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataXmlRead" title="xmlSecKeyDataXmlRead ()">xmlSecKeyDataXmlRead</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataXmlWriteMethod" title="xmlSecKeyDataXmlWriteMethod ()">xmlSecKeyDataXmlWriteMethod</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataXmlWrite" title="xmlSecKeyDataXmlWrite ()">xmlSecKeyDataXmlWrite</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keys.html#xmlSecKeyDebugDump" title="xmlSecKeyDebugDump ()">xmlSecKeyDebugDump</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keys.html#xmlSecKeyDebugXmlDump" title="xmlSecKeyDebugXmlDump ()">xmlSecKeyDebugXmlDump</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keys.html#xmlSecKeyDestroy" title="xmlSecKeyDestroy ()">xmlSecKeyDestroy</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keys.html#xmlSecKeyDuplicate" title="xmlSecKeyDuplicate ()">xmlSecKeyDuplicate</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keys.html#xmlSecKeyEmpty" title="xmlSecKeyEmpty ()">xmlSecKeyEmpty</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keys.html#xmlSecKeyEnsureData" title="xmlSecKeyEnsureData ()">xmlSecKeyEnsureData</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keys.html#xmlSecKeyGenerateByName" title="xmlSecKeyGenerateByName ()">xmlSecKeyGenerateByName</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keys.html#xmlSecKeyGenerate" title="xmlSecKeyGenerate ()">xmlSecKeyGenerate</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keys.html#xmlSecKeyGetData" title="xmlSecKeyGetData ()">xmlSecKeyGetData</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keys.html#xmlSecKeyGetName" title="xmlSecKeyGetName ()">xmlSecKeyGetName</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keys.html#xmlSecKeyGetType" title="xmlSecKeyGetType ()">xmlSecKeyGetType</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keys.html#xmlSecKeyGetValue" title="xmlSecKeyGetValue ()">xmlSecKeyGetValue</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keyinfo.html#xmlSecKeyInfoCtxCopyUserPref" title="xmlSecKeyInfoCtxCopyUserPref ()">xmlSecKeyInfoCtxCopyUserPref</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keyinfo.html#xmlSecKeyInfoCtxCreateEncCtx" title="xmlSecKeyInfoCtxCreateEncCtx ()">xmlSecKeyInfoCtxCreateEncCtx</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keyinfo.html#xmlSecKeyInfoCtxCreate" title="xmlSecKeyInfoCtxCreate ()">xmlSecKeyInfoCtxCreate</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keyinfo.html#xmlSecKeyInfoCtxDebugDump" title="xmlSecKeyInfoCtxDebugDump ()">xmlSecKeyInfoCtxDebugDump</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keyinfo.html#xmlSecKeyInfoCtxDebugXmlDump" title="xmlSecKeyInfoCtxDebugXmlDump ()">xmlSecKeyInfoCtxDebugXmlDump</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keyinfo.html#xmlSecKeyInfoCtxDestroy" title="xmlSecKeyInfoCtxDestroy ()">xmlSecKeyInfoCtxDestroy</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keyinfo.html#xmlSecKeyInfoCtxFinalize" title="xmlSecKeyInfoCtxFinalize ()">xmlSecKeyInfoCtxFinalize</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keyinfo.html#xmlSecKeyInfoCtxInitialize" title="xmlSecKeyInfoCtxInitialize ()">xmlSecKeyInfoCtxInitialize</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keyinfo.html#xmlSecKeyInfoCtx" title="struct xmlSecKeyInfoCtx">xmlSecKeyInfoCtx</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keyinfo.html#xmlSecKeyInfoCtxReset" title="xmlSecKeyInfoCtxReset ()">xmlSecKeyInfoCtxReset</a></p></li>
+<li class="listitem"><p><font>XMLSEC-KEYINFO-FLAGS-DONT-STOP-ON-KEY-FOUND</font></p></li>
+<li class="listitem"><p><font>XMLSEC-KEYINFO-FLAGS-ENCKEY-DONT-STOP-ON-FAILED-DECRYPTION</font></p></li>
+<li class="listitem"><p><font>XMLSEC-KEYINFO-FLAGS-KEYNAME-STOP-ON-UNKNOWN</font></p></li>
+<li class="listitem"><p><font>XMLSEC-KEYINFO-FLAGS-KEYVALUE-STOP-ON-UNKNOWN-CHILD</font></p></li>
+<li class="listitem"><p><font>XMLSEC-KEYINFO-FLAGS-RETRMETHOD-STOP-ON-MISMATCH-HREF</font></p></li>
+<li class="listitem"><p><font>XMLSEC-KEYINFO-FLAGS-RETRMETHOD-STOP-ON-UNKNOWN-HREF</font></p></li>
+<li class="listitem"><p><font>XMLSEC-KEYINFO-FLAGS-STOP-ON-EMPTY-NODE</font></p></li>
+<li class="listitem"><p><font>XMLSEC-KEYINFO-FLAGS-STOP-ON-UNKNOWN-CHILD</font></p></li>
+<li class="listitem"><p><font>XMLSEC-KEYINFO-FLAGS-X509DATA-DONT-VERIFY-CERTS</font></p></li>
+<li class="listitem"><p><font>XMLSEC-KEYINFO-FLAGS-X509DATA-SKIP-STRICT-CHECKS</font></p></li>
+<li class="listitem"><p><font>XMLSEC-KEYINFO-FLAGS-X509DATA-STOP-ON-INVALID-CERT</font></p></li>
+<li class="listitem"><p><font>XMLSEC-KEYINFO-FLAGS-X509DATA-STOP-ON-UNKNOWN-CERT</font></p></li>
+<li class="listitem"><p><font>XMLSEC-KEYINFO-FLAGS-X509DATA-STOP-ON-UNKNOWN-CHILD</font></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keyinfo.html#xmlSecKeyInfoMode" title="enum xmlSecKeyInfoMode">xmlSecKeyInfoMode</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keyinfo.html#xmlSecKeyInfoNodeRead" title="xmlSecKeyInfoNodeRead ()">xmlSecKeyInfoNodeRead</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keyinfo.html#xmlSecKeyInfoNodeWrite" title="xmlSecKeyInfoNodeWrite ()">xmlSecKeyInfoNodeWrite</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keys.html#xmlSecKeyIsValid" title="xmlSecKeyIsValid()">xmlSecKeyIsValid</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keys.html#xmlSecKeyMatch" title="xmlSecKeyMatch ()">xmlSecKeyMatch</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keys.html#xmlSecKey" title="struct xmlSecKey">xmlSecKey</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keys.html#xmlSecKeyPtrListGetKlass" title="xmlSecKeyPtrListGetKlass ()">xmlSecKeyPtrListGetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keys.html#xmlSecKeyPtrListId" title="xmlSecKeyPtrListId">xmlSecKeyPtrListId</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keys.html#xmlSecKeyReadBinaryFile" title="xmlSecKeyReadBinaryFile ()">xmlSecKeyReadBinaryFile</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keys.html#xmlSecKeyReadBuffer" title="xmlSecKeyReadBuffer ()">xmlSecKeyReadBuffer</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keys.html#xmlSecKeyReadMemory" title="xmlSecKeyReadMemory ()">xmlSecKeyReadMemory</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keys.html#xmlSecKeyReqCopy" title="xmlSecKeyReqCopy ()">xmlSecKeyReqCopy</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keys.html#xmlSecKeyReqDebugDump" title="xmlSecKeyReqDebugDump ()">xmlSecKeyReqDebugDump</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keys.html#xmlSecKeyReqDebugXmlDump" title="xmlSecKeyReqDebugXmlDump ()">xmlSecKeyReqDebugXmlDump</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keys.html#xmlSecKeyReqFinalize" title="xmlSecKeyReqFinalize ()">xmlSecKeyReqFinalize</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keys.html#xmlSecKeyReqInitialize" title="xmlSecKeyReqInitialize ()">xmlSecKeyReqInitialize</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keys.html#xmlSecKeyReqMatchKey" title="xmlSecKeyReqMatchKey ()">xmlSecKeyReqMatchKey</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keys.html#xmlSecKeyReqMatchKeyValue" title="xmlSecKeyReqMatchKeyValue ()">xmlSecKeyReqMatchKeyValue</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keys.html#xmlSecKeyReq" title="struct xmlSecKeyReq">xmlSecKeyReq</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keys.html#xmlSecKeyReqReset" title="xmlSecKeyReqReset ()">xmlSecKeyReqReset</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keys.html#xmlSecKeySetName" title="xmlSecKeySetName ()">xmlSecKeySetName</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keys.html#xmlSecKeySetValue" title="xmlSecKeySetValue ()">xmlSecKeySetValue</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keysmngr.html#xmlSecKeysMngrAdoptDataStore" title="xmlSecKeysMngrAdoptDataStore ()">xmlSecKeysMngrAdoptDataStore</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keysmngr.html#xmlSecKeysMngrAdoptKeysStore" title="xmlSecKeysMngrAdoptKeysStore ()">xmlSecKeysMngrAdoptKeysStore</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keysmngr.html#xmlSecKeysMngrCreate" title="xmlSecKeysMngrCreate ()">xmlSecKeysMngrCreate</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keysmngr.html#xmlSecKeysMngrDestroy" title="xmlSecKeysMngrDestroy ()">xmlSecKeysMngrDestroy</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keysmngr.html#xmlSecKeysMngrFindKey" title="xmlSecKeysMngrFindKey ()">xmlSecKeysMngrFindKey</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keysmngr.html#xmlSecKeysMngrGetDataStore" title="xmlSecKeysMngrGetDataStore ()">xmlSecKeysMngrGetDataStore</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keysmngr.html#xmlSecKeysMngrGetKey" title="xmlSecKeysMngrGetKey ()">xmlSecKeysMngrGetKey</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keysmngr.html#xmlSecKeysMngrGetKeysStore" title="xmlSecKeysMngrGetKeysStore ()">xmlSecKeysMngrGetKeysStore</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keysmngr.html#xmlSecKeysMngr" title="struct xmlSecKeysMngr">xmlSecKeysMngr</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keysmngr.html#xmlSecKeyStoreCheckId" title="xmlSecKeyStoreCheckId()">xmlSecKeyStoreCheckId</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keysmngr.html#xmlSecKeyStoreCheckSize" title="xmlSecKeyStoreCheckSize()">xmlSecKeyStoreCheckSize</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keysmngr.html#xmlSecKeyStoreCreate" title="xmlSecKeyStoreCreate ()">xmlSecKeyStoreCreate</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keysmngr.html#xmlSecKeyStoreDestroy" title="xmlSecKeyStoreDestroy ()">xmlSecKeyStoreDestroy</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keysmngr.html#xmlSecKeyStoreFinalizeMethod" title="xmlSecKeyStoreFinalizeMethod ()">xmlSecKeyStoreFinalizeMethod</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keysmngr.html#xmlSecKeyStoreFindKeyMethod" title="xmlSecKeyStoreFindKeyMethod ()">xmlSecKeyStoreFindKeyMethod</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keysmngr.html#xmlSecKeyStoreFindKey" title="xmlSecKeyStoreFindKey ()">xmlSecKeyStoreFindKey</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keysmngr.html#xmlSecKeyStoreGetName" title="xmlSecKeyStoreGetName()">xmlSecKeyStoreGetName</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keysmngr.html#xmlSecKeyStoreIdUnknown" title="xmlSecKeyStoreIdUnknown">xmlSecKeyStoreIdUnknown</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keysmngr.html#xmlSecKeyStoreInitializeMethod" title="xmlSecKeyStoreInitializeMethod ()">xmlSecKeyStoreInitializeMethod</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keysmngr.html#xmlSecKeyStoreIsValid" title="xmlSecKeyStoreIsValid()">xmlSecKeyStoreIsValid</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keysmngr.html#xmlSecKeyStoreKlassGetName" title="xmlSecKeyStoreKlassGetName()">xmlSecKeyStoreKlassGetName</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keysmngr.html#xmlSecKeyStoreKlass" title="struct xmlSecKeyStoreKlass">xmlSecKeyStoreKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keysmngr.html#xmlSecKeyStore" title="struct xmlSecKeyStore">xmlSecKeyStore</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keys.html#xmlSecKeyUsageAny" title="xmlSecKeyUsageAny">xmlSecKeyUsageAny</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keys.html#xmlSecKeyUsageDecrypt" title="xmlSecKeyUsageDecrypt">xmlSecKeyUsageDecrypt</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keys.html#xmlSecKeyUsageEncrypt" title="xmlSecKeyUsageEncrypt">xmlSecKeyUsageEncrypt</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keys.html#xmlSecKeyUsageKeyExchange" title="xmlSecKeyUsageKeyExchange">xmlSecKeyUsageKeyExchange</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keys.html#xmlSecKeyUsage" title="xmlSecKeyUsage">xmlSecKeyUsage</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keys.html#xmlSecKeyUsageSign" title="xmlSecKeyUsageSign">xmlSecKeyUsageSign</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keys.html#xmlSecKeyUsageVerify" title="xmlSecKeyUsageVerify">xmlSecKeyUsageVerify</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keys.html#xmlSecKeyUseWithCopy" title="xmlSecKeyUseWithCopy ()">xmlSecKeyUseWithCopy</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keys.html#xmlSecKeyUseWithCreate" title="xmlSecKeyUseWithCreate ()">xmlSecKeyUseWithCreate</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keys.html#xmlSecKeyUseWithDebugDump" title="xmlSecKeyUseWithDebugDump ()">xmlSecKeyUseWithDebugDump</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keys.html#xmlSecKeyUseWithDebugXmlDump" title="xmlSecKeyUseWithDebugXmlDump ()">xmlSecKeyUseWithDebugXmlDump</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keys.html#xmlSecKeyUseWithDestroy" title="xmlSecKeyUseWithDestroy ()">xmlSecKeyUseWithDestroy</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keys.html#xmlSecKeyUseWithDuplicate" title="xmlSecKeyUseWithDuplicate ()">xmlSecKeyUseWithDuplicate</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keys.html#xmlSecKeyUseWithFinalize" title="xmlSecKeyUseWithFinalize ()">xmlSecKeyUseWithFinalize</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keys.html#xmlSecKeyUseWithInitialize" title="xmlSecKeyUseWithInitialize ()">xmlSecKeyUseWithInitialize</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keys.html#xmlSecKeyUseWith" title="struct xmlSecKeyUseWith">xmlSecKeyUseWith</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keys.html#xmlSecKeyUseWithPtrListGetKlass" title="xmlSecKeyUseWithPtrListGetKlass ()">xmlSecKeyUseWithPtrListGetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keys.html#xmlSecKeyUseWithPtrListId" title="xmlSecKeyUseWithPtrListId">xmlSecKeyUseWithPtrListId</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keys.html#xmlSecKeyUseWithReset" title="xmlSecKeyUseWithReset ()">xmlSecKeyUseWithReset</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keys.html#xmlSecKeyUseWithSet" title="xmlSecKeyUseWithSet ()">xmlSecKeyUseWithSet</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-mscrypto-app.html#xmlSecMSCryptoAppDefaultKeysMngrAdoptKey" title="xmlSecMSCryptoAppDefaultKeysMngrAdoptKey ()">xmlSecMSCryptoAppDefaultKeysMngrAdoptKey</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-mscrypto-app.html#xmlSecMSCryptoAppDefaultKeysMngrAdoptKeyStore" title="xmlSecMSCryptoAppDefaultKeysMngrAdoptKeyStore ()">xmlSecMSCryptoAppDefaultKeysMngrAdoptKeyStore</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-mscrypto-app.html#xmlSecMSCryptoAppDefaultKeysMngrAdoptTrustedStore" title="xmlSecMSCryptoAppDefaultKeysMngrAdoptTrustedStore ()">xmlSecMSCryptoAppDefaultKeysMngrAdoptTrustedStore</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-mscrypto-app.html#xmlSecMSCryptoAppDefaultKeysMngrAdoptUntrustedStore" title="xmlSecMSCryptoAppDefaultKeysMngrAdoptUntrustedStore ()">xmlSecMSCryptoAppDefaultKeysMngrAdoptUntrustedStore</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-mscrypto-app.html#xmlSecMSCryptoAppDefaultKeysMngrInit" title="xmlSecMSCryptoAppDefaultKeysMngrInit ()">xmlSecMSCryptoAppDefaultKeysMngrInit</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-mscrypto-app.html#xmlSecMSCryptoAppDefaultKeysMngrLoad" title="xmlSecMSCryptoAppDefaultKeysMngrLoad ()">xmlSecMSCryptoAppDefaultKeysMngrLoad</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-mscrypto-app.html#xmlSecMSCryptoAppDefaultKeysMngrPrivateKeyLoad" title="xmlSecMSCryptoAppDefaultKeysMngrPrivateKeyLoad ()">xmlSecMSCryptoAppDefaultKeysMngrPrivateKeyLoad</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-mscrypto-app.html#xmlSecMSCryptoAppDefaultKeysMngrPublicKeyLoad" title="xmlSecMSCryptoAppDefaultKeysMngrPublicKeyLoad ()">xmlSecMSCryptoAppDefaultKeysMngrPublicKeyLoad</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-mscrypto-app.html#xmlSecMSCryptoAppDefaultKeysMngrSave" title="xmlSecMSCryptoAppDefaultKeysMngrSave ()">xmlSecMSCryptoAppDefaultKeysMngrSave</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-mscrypto-app.html#xmlSecMSCryptoAppDefaultKeysMngrSymKeyLoad" title="xmlSecMSCryptoAppDefaultKeysMngrSymKeyLoad ()">xmlSecMSCryptoAppDefaultKeysMngrSymKeyLoad</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-mscrypto-app.html#xmlSecMSCryptoAppGetCertStoreName" title="xmlSecMSCryptoAppGetCertStoreName ()">xmlSecMSCryptoAppGetCertStoreName</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-mscrypto-app.html#xmlSecMSCryptoAppGetDefaultPwdCallback" title="xmlSecMSCryptoAppGetDefaultPwdCallback ()">xmlSecMSCryptoAppGetDefaultPwdCallback</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-mscrypto-app.html#xmlSecMSCryptoAppInit" title="xmlSecMSCryptoAppInit ()">xmlSecMSCryptoAppInit</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-mscrypto-app.html#xmlSecMSCryptoAppKeyCertLoadMemory" title="xmlSecMSCryptoAppKeyCertLoadMemory ()">xmlSecMSCryptoAppKeyCertLoadMemory</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-mscrypto-app.html#xmlSecMSCryptoAppKeyCertLoad" title="xmlSecMSCryptoAppKeyCertLoad ()">xmlSecMSCryptoAppKeyCertLoad</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-mscrypto-app.html#xmlSecMSCryptoAppKeyLoadMemory" title="xmlSecMSCryptoAppKeyLoadMemory ()">xmlSecMSCryptoAppKeyLoadMemory</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-mscrypto-app.html#xmlSecMSCryptoAppKeyLoad" title="xmlSecMSCryptoAppKeyLoad ()">xmlSecMSCryptoAppKeyLoad</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-mscrypto-app.html#xmlSecMSCryptoAppKeysMngrCertLoadMemory" title="xmlSecMSCryptoAppKeysMngrCertLoadMemory ()">xmlSecMSCryptoAppKeysMngrCertLoadMemory</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-mscrypto-app.html#xmlSecMSCryptoAppKeysMngrCertLoad" title="xmlSecMSCryptoAppKeysMngrCertLoad ()">xmlSecMSCryptoAppKeysMngrCertLoad</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-mscrypto-app.html#xmlSecMSCryptoAppPkcs12LoadMemory" title="xmlSecMSCryptoAppPkcs12LoadMemory ()">xmlSecMSCryptoAppPkcs12LoadMemory</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-mscrypto-app.html#xmlSecMSCryptoAppPkcs12Load" title="xmlSecMSCryptoAppPkcs12Load ()">xmlSecMSCryptoAppPkcs12Load</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-mscrypto-app.html#xmlSecMSCryptoAppShutdown" title="xmlSecMSCryptoAppShutdown ()">xmlSecMSCryptoAppShutdown</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-mscrypto-certkeys.html#xmlSecMSCryptoCertAdopt" title="xmlSecMSCryptoCertAdopt ()">xmlSecMSCryptoCertAdopt</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-mscrypto-certkeys.html#xmlSecMSCryptoCertDup" title="xmlSecMSCryptoCertDup ()">xmlSecMSCryptoCertDup</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoConvertLocaleToUnicode" title="xmlSecMSCryptoConvertLocaleToUnicode ()">xmlSecMSCryptoConvertLocaleToUnicode</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoConvertLocaleToUtf8" title="xmlSecMSCryptoConvertLocaleToUtf8 ()">xmlSecMSCryptoConvertLocaleToUtf8</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoConvertTstrToUtf8" title="xmlSecMSCryptoConvertTstrToUtf8 ()">xmlSecMSCryptoConvertTstrToUtf8</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoConvertUnicodeToUtf8" title="xmlSecMSCryptoConvertUnicodeToUtf8 ()">xmlSecMSCryptoConvertUnicodeToUtf8</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoConvertUtf8ToLocale" title="xmlSecMSCryptoConvertUtf8ToLocale ()">xmlSecMSCryptoConvertUtf8ToLocale</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoConvertUtf8ToTstr" title="xmlSecMSCryptoConvertUtf8ToTstr ()">xmlSecMSCryptoConvertUtf8ToTstr</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoConvertUtf8ToUnicode" title="xmlSecMSCryptoConvertUtf8ToUnicode ()">xmlSecMSCryptoConvertUtf8ToUnicode</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoErrorsDefaultCallback" title="xmlSecMSCryptoErrorsDefaultCallback ()">xmlSecMSCryptoErrorsDefaultCallback</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoGenerateRandom" title="xmlSecMSCryptoGenerateRandom ()">xmlSecMSCryptoGenerateRandom</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoHmacGetMinOutputLength" title="xmlSecMSCryptoHmacGetMinOutputLength ()">xmlSecMSCryptoHmacGetMinOutputLength</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoHmacSetMinOutputLength" title="xmlSecMSCryptoHmacSetMinOutputLength ()">xmlSecMSCryptoHmacSetMinOutputLength</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoInit" title="xmlSecMSCryptoInit ()">xmlSecMSCryptoInit</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoKeyDataAesGetKlass" title="xmlSecMSCryptoKeyDataAesGetKlass ()">xmlSecMSCryptoKeyDataAesGetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoKeyDataAesId" title="xmlSecMSCryptoKeyDataAesId">xmlSecMSCryptoKeyDataAesId</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoKeyDataAesSet" title="xmlSecMSCryptoKeyDataAesSet ()">xmlSecMSCryptoKeyDataAesSet</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoKeyDataDesGetKlass" title="xmlSecMSCryptoKeyDataDesGetKlass ()">xmlSecMSCryptoKeyDataDesGetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoKeyDataDesId" title="xmlSecMSCryptoKeyDataDesId">xmlSecMSCryptoKeyDataDesId</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoKeyDataDsaGetKlass" title="xmlSecMSCryptoKeyDataDsaGetKlass ()">xmlSecMSCryptoKeyDataDsaGetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoKeyDataDsaId" title="xmlSecMSCryptoKeyDataDsaId">xmlSecMSCryptoKeyDataDsaId</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-mscrypto-certkeys.html#xmlSecMSCryptoKeyDataGetCert" title="xmlSecMSCryptoKeyDataGetCert ()">xmlSecMSCryptoKeyDataGetCert</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-mscrypto-certkeys.html#xmlSecMSCryptoKeyDataGetDecryptKey" title="xmlSecMSCryptoKeyDataGetDecryptKey ()">xmlSecMSCryptoKeyDataGetDecryptKey</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-mscrypto-certkeys.html#xmlSecMSCryptoKeyDataGetKey" title="xmlSecMSCryptoKeyDataGetKey ()">xmlSecMSCryptoKeyDataGetKey</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-mscrypto-certkeys.html#xmlSecMSCryptoKeyDataGetMSCryptoKeySpec" title="xmlSecMSCryptoKeyDataGetMSCryptoKeySpec ()">xmlSecMSCryptoKeyDataGetMSCryptoKeySpec</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-mscrypto-certkeys.html#xmlSecMSCryptoKeyDataGetMSCryptoProviderInfo" title="xmlSecMSCryptoKeyDataGetMSCryptoProviderInfo ()">xmlSecMSCryptoKeyDataGetMSCryptoProviderInfo</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-mscrypto-certkeys.html#xmlSecMSCryptoKeyDataGetMSCryptoProvider" title="xmlSecMSCryptoKeyDataGetMSCryptoProvider ()">xmlSecMSCryptoKeyDataGetMSCryptoProvider</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoKeyDataGost2001GetKlass" title="xmlSecMSCryptoKeyDataGost2001GetKlass ()">xmlSecMSCryptoKeyDataGost2001GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoKeyDataGost2001Id" title="xmlSecMSCryptoKeyDataGost2001Id">xmlSecMSCryptoKeyDataGost2001Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoKeyDataHmacGetKlass" title="xmlSecMSCryptoKeyDataHmacGetKlass ()">xmlSecMSCryptoKeyDataHmacGetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoKeyDataHmacId" title="xmlSecMSCryptoKeyDataHmacId">xmlSecMSCryptoKeyDataHmacId</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoKeyDataHmacSet" title="xmlSecMSCryptoKeyDataHmacSet ()">xmlSecMSCryptoKeyDataHmacSet</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-mscrypto-x509.html#xmlSecMSCryptoKeyDataRawX509CertGetKlass" title="xmlSecMSCryptoKeyDataRawX509CertGetKlass ()">xmlSecMSCryptoKeyDataRawX509CertGetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-mscrypto-x509.html#xmlSecMSCryptoKeyDataRawX509CertId" title="xmlSecMSCryptoKeyDataRawX509CertId">xmlSecMSCryptoKeyDataRawX509CertId</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoKeyDataRsaGetKlass" title="xmlSecMSCryptoKeyDataRsaGetKlass ()">xmlSecMSCryptoKeyDataRsaGetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoKeyDataRsaId" title="xmlSecMSCryptoKeyDataRsaId">xmlSecMSCryptoKeyDataRsaId</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-mscrypto-x509.html#xmlSecMSCryptoKeyDataX509AdoptCert" title="xmlSecMSCryptoKeyDataX509AdoptCert ()">xmlSecMSCryptoKeyDataX509AdoptCert</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-mscrypto-x509.html#xmlSecMSCryptoKeyDataX509AdoptCrl" title="xmlSecMSCryptoKeyDataX509AdoptCrl ()">xmlSecMSCryptoKeyDataX509AdoptCrl</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-mscrypto-x509.html#xmlSecMSCryptoKeyDataX509AdoptKeyCert" title="xmlSecMSCryptoKeyDataX509AdoptKeyCert ()">xmlSecMSCryptoKeyDataX509AdoptKeyCert</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-mscrypto-x509.html#xmlSecMSCryptoKeyDataX509GetCert" title="xmlSecMSCryptoKeyDataX509GetCert ()">xmlSecMSCryptoKeyDataX509GetCert</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-mscrypto-x509.html#xmlSecMSCryptoKeyDataX509GetCertsSize" title="xmlSecMSCryptoKeyDataX509GetCertsSize ()">xmlSecMSCryptoKeyDataX509GetCertsSize</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-mscrypto-x509.html#xmlSecMSCryptoKeyDataX509GetCrl" title="xmlSecMSCryptoKeyDataX509GetCrl ()">xmlSecMSCryptoKeyDataX509GetCrl</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-mscrypto-x509.html#xmlSecMSCryptoKeyDataX509GetCrlsSize" title="xmlSecMSCryptoKeyDataX509GetCrlsSize ()">xmlSecMSCryptoKeyDataX509GetCrlsSize</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-mscrypto-x509.html#xmlSecMSCryptoKeyDataX509GetKeyCert" title="xmlSecMSCryptoKeyDataX509GetKeyCert ()">xmlSecMSCryptoKeyDataX509GetKeyCert</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-mscrypto-x509.html#xmlSecMSCryptoKeyDataX509GetKlass" title="xmlSecMSCryptoKeyDataX509GetKlass ()">xmlSecMSCryptoKeyDataX509GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-mscrypto-x509.html#xmlSecMSCryptoKeyDataX509Id" title="xmlSecMSCryptoKeyDataX509Id">xmlSecMSCryptoKeyDataX509Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoKeysMngrInit" title="xmlSecMSCryptoKeysMngrInit ()">xmlSecMSCryptoKeysMngrInit</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-mscrypto-keysstore.html#xmlSecMSCryptoKeysStoreAdoptKey" title="xmlSecMSCryptoKeysStoreAdoptKey ()">xmlSecMSCryptoKeysStoreAdoptKey</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-mscrypto-keysstore.html#xmlSecMSCryptoKeysStoreGetKlass" title="xmlSecMSCryptoKeysStoreGetKlass ()">xmlSecMSCryptoKeysStoreGetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-mscrypto-keysstore.html#xmlSecMSCryptoKeysStoreId" title="xmlSecMSCryptoKeysStoreId">xmlSecMSCryptoKeysStoreId</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-mscrypto-keysstore.html#xmlSecMSCryptoKeysStoreLoad" title="xmlSecMSCryptoKeysStoreLoad ()">xmlSecMSCryptoKeysStoreLoad</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-mscrypto-keysstore.html#xmlSecMSCryptoKeysStoreSave" title="xmlSecMSCryptoKeysStoreSave ()">xmlSecMSCryptoKeysStoreSave</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoShutdown" title="xmlSecMSCryptoShutdown ()">xmlSecMSCryptoShutdown</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoTransformAes128CbcGetKlass" title="xmlSecMSCryptoTransformAes128CbcGetKlass ()">xmlSecMSCryptoTransformAes128CbcGetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoTransformAes128CbcId" title="xmlSecMSCryptoTransformAes128CbcId">xmlSecMSCryptoTransformAes128CbcId</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoTransformAes192CbcGetKlass" title="xmlSecMSCryptoTransformAes192CbcGetKlass ()">xmlSecMSCryptoTransformAes192CbcGetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoTransformAes192CbcId" title="xmlSecMSCryptoTransformAes192CbcId">xmlSecMSCryptoTransformAes192CbcId</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoTransformAes256CbcGetKlass" title="xmlSecMSCryptoTransformAes256CbcGetKlass ()">xmlSecMSCryptoTransformAes256CbcGetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoTransformAes256CbcId" title="xmlSecMSCryptoTransformAes256CbcId">xmlSecMSCryptoTransformAes256CbcId</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoTransformDes3CbcGetKlass" title="xmlSecMSCryptoTransformDes3CbcGetKlass ()">xmlSecMSCryptoTransformDes3CbcGetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoTransformDes3CbcId" title="xmlSecMSCryptoTransformDes3CbcId">xmlSecMSCryptoTransformDes3CbcId</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoTransformDsaSha1GetKlass" title="xmlSecMSCryptoTransformDsaSha1GetKlass ()">xmlSecMSCryptoTransformDsaSha1GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoTransformDsaSha1Id" title="xmlSecMSCryptoTransformDsaSha1Id">xmlSecMSCryptoTransformDsaSha1Id</a></p></li>
+<li class="listitem"><p><font>xmlSecMSCryptoTransformGost2001GostR3411-94GetKlass</font></p></li>
+<li class="listitem"><p><font>xmlSecMSCryptoTransformGost2001GostR3411-94Id</font></p></li>
+<li class="listitem"><p><font>xmlSecMSCryptoTransformGostR3411-94GetKlass</font></p></li>
+<li class="listitem"><p><font>xmlSecMSCryptoTransformGostR3411-94Id</font></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoTransformHmacMd5GetKlass" title="xmlSecMSCryptoTransformHmacMd5GetKlass ()">xmlSecMSCryptoTransformHmacMd5GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoTransformHmacMd5Id" title="xmlSecMSCryptoTransformHmacMd5Id">xmlSecMSCryptoTransformHmacMd5Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoTransformHmacSha1GetKlass" title="xmlSecMSCryptoTransformHmacSha1GetKlass ()">xmlSecMSCryptoTransformHmacSha1GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoTransformHmacSha1Id" title="xmlSecMSCryptoTransformHmacSha1Id">xmlSecMSCryptoTransformHmacSha1Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoTransformHmacSha256GetKlass" title="xmlSecMSCryptoTransformHmacSha256GetKlass ()">xmlSecMSCryptoTransformHmacSha256GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoTransformHmacSha256Id" title="xmlSecMSCryptoTransformHmacSha256Id">xmlSecMSCryptoTransformHmacSha256Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoTransformHmacSha384GetKlass" title="xmlSecMSCryptoTransformHmacSha384GetKlass ()">xmlSecMSCryptoTransformHmacSha384GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoTransformHmacSha384Id" title="xmlSecMSCryptoTransformHmacSha384Id">xmlSecMSCryptoTransformHmacSha384Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoTransformHmacSha512GetKlass" title="xmlSecMSCryptoTransformHmacSha512GetKlass ()">xmlSecMSCryptoTransformHmacSha512GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoTransformHmacSha512Id" title="xmlSecMSCryptoTransformHmacSha512Id">xmlSecMSCryptoTransformHmacSha512Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoTransformKWAes128GetKlass" title="xmlSecMSCryptoTransformKWAes128GetKlass ()">xmlSecMSCryptoTransformKWAes128GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoTransformKWAes128Id" title="xmlSecMSCryptoTransformKWAes128Id">xmlSecMSCryptoTransformKWAes128Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoTransformKWAes192GetKlass" title="xmlSecMSCryptoTransformKWAes192GetKlass ()">xmlSecMSCryptoTransformKWAes192GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoTransformKWAes192Id" title="xmlSecMSCryptoTransformKWAes192Id">xmlSecMSCryptoTransformKWAes192Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoTransformKWAes256GetKlass" title="xmlSecMSCryptoTransformKWAes256GetKlass ()">xmlSecMSCryptoTransformKWAes256GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoTransformKWAes256Id" title="xmlSecMSCryptoTransformKWAes256Id">xmlSecMSCryptoTransformKWAes256Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoTransformKWDes3GetKlass" title="xmlSecMSCryptoTransformKWDes3GetKlass ()">xmlSecMSCryptoTransformKWDes3GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoTransformKWDes3Id" title="xmlSecMSCryptoTransformKWDes3Id">xmlSecMSCryptoTransformKWDes3Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoTransformMd5GetKlass" title="xmlSecMSCryptoTransformMd5GetKlass ()">xmlSecMSCryptoTransformMd5GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoTransformMd5Id" title="xmlSecMSCryptoTransformMd5Id">xmlSecMSCryptoTransformMd5Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoTransformRsaMd5GetKlass" title="xmlSecMSCryptoTransformRsaMd5GetKlass ()">xmlSecMSCryptoTransformRsaMd5GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoTransformRsaMd5Id" title="xmlSecMSCryptoTransformRsaMd5Id">xmlSecMSCryptoTransformRsaMd5Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoTransformRsaOaepGetKlass" title="xmlSecMSCryptoTransformRsaOaepGetKlass ()">xmlSecMSCryptoTransformRsaOaepGetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoTransformRsaOaepId" title="xmlSecMSCryptoTransformRsaOaepId">xmlSecMSCryptoTransformRsaOaepId</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoTransformRsaPkcs1GetKlass" title="xmlSecMSCryptoTransformRsaPkcs1GetKlass ()">xmlSecMSCryptoTransformRsaPkcs1GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoTransformRsaPkcs1Id" title="xmlSecMSCryptoTransformRsaPkcs1Id">xmlSecMSCryptoTransformRsaPkcs1Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoTransformRsaSha1GetKlass" title="xmlSecMSCryptoTransformRsaSha1GetKlass ()">xmlSecMSCryptoTransformRsaSha1GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoTransformRsaSha1Id" title="xmlSecMSCryptoTransformRsaSha1Id">xmlSecMSCryptoTransformRsaSha1Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoTransformRsaSha256GetKlass" title="xmlSecMSCryptoTransformRsaSha256GetKlass ()">xmlSecMSCryptoTransformRsaSha256GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoTransformRsaSha256Id" title="xmlSecMSCryptoTransformRsaSha256Id">xmlSecMSCryptoTransformRsaSha256Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoTransformRsaSha384GetKlass" title="xmlSecMSCryptoTransformRsaSha384GetKlass ()">xmlSecMSCryptoTransformRsaSha384GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoTransformRsaSha384Id" title="xmlSecMSCryptoTransformRsaSha384Id">xmlSecMSCryptoTransformRsaSha384Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoTransformRsaSha512GetKlass" title="xmlSecMSCryptoTransformRsaSha512GetKlass ()">xmlSecMSCryptoTransformRsaSha512GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoTransformRsaSha512Id" title="xmlSecMSCryptoTransformRsaSha512Id">xmlSecMSCryptoTransformRsaSha512Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoTransformSha1GetKlass" title="xmlSecMSCryptoTransformSha1GetKlass ()">xmlSecMSCryptoTransformSha1GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoTransformSha1Id" title="xmlSecMSCryptoTransformSha1Id">xmlSecMSCryptoTransformSha1Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoTransformSha256GetKlass" title="xmlSecMSCryptoTransformSha256GetKlass ()">xmlSecMSCryptoTransformSha256GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoTransformSha256Id" title="xmlSecMSCryptoTransformSha256Id">xmlSecMSCryptoTransformSha256Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoTransformSha384GetKlass" title="xmlSecMSCryptoTransformSha384GetKlass ()">xmlSecMSCryptoTransformSha384GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoTransformSha384Id" title="xmlSecMSCryptoTransformSha384Id">xmlSecMSCryptoTransformSha384Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoTransformSha512GetKlass" title="xmlSecMSCryptoTransformSha512GetKlass ()">xmlSecMSCryptoTransformSha512GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoTransformSha512Id" title="xmlSecMSCryptoTransformSha512Id">xmlSecMSCryptoTransformSha512Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-mscrypto-x509.html#xmlSecMSCryptoX509StoreAdoptCert" title="xmlSecMSCryptoX509StoreAdoptCert ()">xmlSecMSCryptoX509StoreAdoptCert</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-mscrypto-x509.html#xmlSecMSCryptoX509StoreAdoptKeyStore" title="xmlSecMSCryptoX509StoreAdoptKeyStore ()">xmlSecMSCryptoX509StoreAdoptKeyStore</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-mscrypto-x509.html#xmlSecMSCryptoX509StoreAdoptTrustedStore" title="xmlSecMSCryptoX509StoreAdoptTrustedStore ()">xmlSecMSCryptoX509StoreAdoptTrustedStore</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-mscrypto-x509.html#xmlSecMSCryptoX509StoreAdoptUntrustedStore" title="xmlSecMSCryptoX509StoreAdoptUntrustedStore ()">xmlSecMSCryptoX509StoreAdoptUntrustedStore</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-mscrypto-x509.html#xmlSecMSCryptoX509StoreEnableSystemTrustedCerts" title="xmlSecMSCryptoX509StoreEnableSystemTrustedCerts ()">xmlSecMSCryptoX509StoreEnableSystemTrustedCerts</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-mscrypto-x509.html#xmlSecMSCryptoX509StoreGetKlass" title="xmlSecMSCryptoX509StoreGetKlass ()">xmlSecMSCryptoX509StoreGetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-mscrypto-x509.html#xmlSecMSCryptoX509StoreId" title="xmlSecMSCryptoX509StoreId">xmlSecMSCryptoX509StoreId</a></p></li>
+<li class="listitem"><p><font>XMLSEC-NO-AES</font></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-xmltree.html#xmlSecNodeEncodeAndSetContent" title="xmlSecNodeEncodeAndSetContent ()">xmlSecNodeEncodeAndSetContent</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-xmltree.html#xmlSecNodeGetName" title="xmlSecNodeGetName()">xmlSecNodeGetName</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-nodeset.html#xmlSecNodeSetAddList" title="xmlSecNodeSetAddList ()">xmlSecNodeSetAddList</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-nodeset.html#xmlSecNodeSetAdd" title="xmlSecNodeSetAdd ()">xmlSecNodeSetAdd</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-nodeset.html#xmlSecNodeSetContains" title="xmlSecNodeSetContains ()">xmlSecNodeSetContains</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-nodeset.html#xmlSecNodeSetCreate" title="xmlSecNodeSetCreate ()">xmlSecNodeSetCreate</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-nodeset.html#xmlSecNodeSetDebugDump" title="xmlSecNodeSetDebugDump ()">xmlSecNodeSetDebugDump</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-nodeset.html#xmlSecNodeSetDestroy" title="xmlSecNodeSetDestroy ()">xmlSecNodeSetDestroy</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-nodeset.html#xmlSecNodeSetDocDestroy" title="xmlSecNodeSetDocDestroy ()">xmlSecNodeSetDocDestroy</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-nodeset.html#xmlSecNodeSetDumpTextNodes" title="xmlSecNodeSetDumpTextNodes ()">xmlSecNodeSetDumpTextNodes</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-nodeset.html#xmlSecNodeSetGetChildren" title="xmlSecNodeSetGetChildren ()">xmlSecNodeSetGetChildren</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-nodeset.html#xmlSecNodeSet" title="struct xmlSecNodeSet">xmlSecNodeSet</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-nodeset.html#xmlSecNodeSetOp" title="enum xmlSecNodeSetOp">xmlSecNodeSetOp</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-nodeset.html#xmlSecNodeSetType" title="enum xmlSecNodeSetType">xmlSecNodeSetType</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-nodeset.html#xmlSecNodeSetWalkCallback" title="xmlSecNodeSetWalkCallback ()">xmlSecNodeSetWalkCallback</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-nodeset.html#xmlSecNodeSetWalk" title="xmlSecNodeSetWalk ()">xmlSecNodeSetWalk</a></p></li>
+<li class="listitem"><p><font>XMLSEC-NO-DES</font></p></li>
+<li class="listitem"><p><font>XMLSEC-NO-DSA</font></p></li>
+<li class="listitem"><p><font>XMLSEC-NO-ECDSA</font></p></li>
+<li class="listitem"><p><font>XMLSEC-NO-GOST2012</font></p></li>
+<li class="listitem"><p><font>XMLSEC-NO-GOST</font></p></li>
+<li class="listitem"><p><font>XMLSEC-NO-HMAC</font></p></li>
+<li class="listitem"><p><font>XMLSEC-NO-MD5</font></p></li>
+<li class="listitem"><p><font>XMLSEC-NO-RIPEMD160</font></p></li>
+<li class="listitem"><p><font>XMLSEC-NO-RSA</font></p></li>
+<li class="listitem"><p><font>XMLSEC-NO-SHA1</font></p></li>
+<li class="listitem"><p><font>XMLSEC-NO-SHA224</font></p></li>
+<li class="listitem"><p><font>XMLSEC-NO-SHA256</font></p></li>
+<li class="listitem"><p><font>XMLSEC-NO-SHA384</font></p></li>
+<li class="listitem"><p><font>XMLSEC-NO-SHA512</font></p></li>
+<li class="listitem"><p><font>XMLSEC-NO-X509</font></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-nss-app.html#xmlSecNssAppDefaultKeysMngrAdoptKey" title="xmlSecNssAppDefaultKeysMngrAdoptKey ()">xmlSecNssAppDefaultKeysMngrAdoptKey</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-nss-app.html#xmlSecNssAppDefaultKeysMngrInit" title="xmlSecNssAppDefaultKeysMngrInit ()">xmlSecNssAppDefaultKeysMngrInit</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-nss-app.html#xmlSecNssAppDefaultKeysMngrLoad" title="xmlSecNssAppDefaultKeysMngrLoad ()">xmlSecNssAppDefaultKeysMngrLoad</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-nss-app.html#xmlSecNssAppDefaultKeysMngrSave" title="xmlSecNssAppDefaultKeysMngrSave ()">xmlSecNssAppDefaultKeysMngrSave</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-nss-app.html#xmlSecNssAppGetDefaultPwdCallback" title="xmlSecNssAppGetDefaultPwdCallback ()">xmlSecNssAppGetDefaultPwdCallback</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-nss-app.html#xmlSecNssAppInit" title="xmlSecNssAppInit ()">xmlSecNssAppInit</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-nss-app.html#xmlSecNssAppKeyCertLoadMemory" title="xmlSecNssAppKeyCertLoadMemory ()">xmlSecNssAppKeyCertLoadMemory</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-nss-app.html#xmlSecNssAppKeyCertLoad" title="xmlSecNssAppKeyCertLoad ()">xmlSecNssAppKeyCertLoad</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-nss-app.html#xmlSecNssAppKeyCertLoadSECItem" title="xmlSecNssAppKeyCertLoadSECItem ()">xmlSecNssAppKeyCertLoadSECItem</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-nss-app.html#xmlSecNssAppKeyFromCertLoadSECItem" title="xmlSecNssAppKeyFromCertLoadSECItem ()">xmlSecNssAppKeyFromCertLoadSECItem</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-nss-app.html#xmlSecNssAppKeyLoadMemory" title="xmlSecNssAppKeyLoadMemory ()">xmlSecNssAppKeyLoadMemory</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-nss-app.html#xmlSecNssAppKeyLoad" title="xmlSecNssAppKeyLoad ()">xmlSecNssAppKeyLoad</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-nss-app.html#xmlSecNssAppKeyLoadSECItem" title="xmlSecNssAppKeyLoadSECItem ()">xmlSecNssAppKeyLoadSECItem</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-nss-app.html#xmlSecNssAppKeysMngrCertLoadMemory" title="xmlSecNssAppKeysMngrCertLoadMemory ()">xmlSecNssAppKeysMngrCertLoadMemory</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-nss-app.html#xmlSecNssAppKeysMngrCertLoad" title="xmlSecNssAppKeysMngrCertLoad ()">xmlSecNssAppKeysMngrCertLoad</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-nss-app.html#xmlSecNssAppKeysMngrCertLoadSECItem" title="xmlSecNssAppKeysMngrCertLoadSECItem ()">xmlSecNssAppKeysMngrCertLoadSECItem</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-nss-app.html#xmlSecNssAppPkcs12LoadMemory" title="xmlSecNssAppPkcs12LoadMemory ()">xmlSecNssAppPkcs12LoadMemory</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-nss-app.html#xmlSecNssAppPkcs12Load" title="xmlSecNssAppPkcs12Load ()">xmlSecNssAppPkcs12Load</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-nss-app.html#xmlSecNssAppPkcs12LoadSECItem" title="xmlSecNssAppPkcs12LoadSECItem ()">xmlSecNssAppPkcs12LoadSECItem</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-nss-app.html#xmlSecNssAppShutdown" title="xmlSecNssAppShutdown ()">xmlSecNssAppShutdown</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-nss-crypto.html#xmlSecNssErrorsDefaultCallback" title="xmlSecNssErrorsDefaultCallback ()">xmlSecNssErrorsDefaultCallback</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-nss-crypto.html#xmlSecNssGenerateRandom" title="xmlSecNssGenerateRandom ()">xmlSecNssGenerateRandom</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-nss-crypto.html#xmlSecNssGetInternalKeySlot" title="xmlSecNssGetInternalKeySlot ()">xmlSecNssGetInternalKeySlot</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-nss-crypto.html#xmlSecNssHmacGetMinOutputLength" title="xmlSecNssHmacGetMinOutputLength ()">xmlSecNssHmacGetMinOutputLength</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-nss-crypto.html#xmlSecNssHmacSetMinOutputLength" title="xmlSecNssHmacSetMinOutputLength ()">xmlSecNssHmacSetMinOutputLength</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-nss-crypto.html#xmlSecNssInit" title="xmlSecNssInit ()">xmlSecNssInit</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-nss-crypto.html#xmlSecNssKeyDataAesGetKlass" title="xmlSecNssKeyDataAesGetKlass ()">xmlSecNssKeyDataAesGetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-nss-crypto.html#xmlSecNssKeyDataAesId" title="xmlSecNssKeyDataAesId">xmlSecNssKeyDataAesId</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-nss-crypto.html#xmlSecNssKeyDataAesSet" title="xmlSecNssKeyDataAesSet ()">xmlSecNssKeyDataAesSet</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-nss-crypto.html#xmlSecNssKeyDataDesGetKlass" title="xmlSecNssKeyDataDesGetKlass ()">xmlSecNssKeyDataDesGetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-nss-crypto.html#xmlSecNssKeyDataDesId" title="xmlSecNssKeyDataDesId">xmlSecNssKeyDataDesId</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-nss-crypto.html#xmlSecNssKeyDataDesSet" title="xmlSecNssKeyDataDesSet ()">xmlSecNssKeyDataDesSet</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-nss-crypto.html#xmlSecNssKeyDataDsaGetKlass" title="xmlSecNssKeyDataDsaGetKlass ()">xmlSecNssKeyDataDsaGetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-nss-crypto.html#xmlSecNssKeyDataDsaId" title="xmlSecNssKeyDataDsaId">xmlSecNssKeyDataDsaId</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-nss-crypto.html#xmlSecNssKeyDataEcdsaGetKlass" title="xmlSecNssKeyDataEcdsaGetKlass ()">xmlSecNssKeyDataEcdsaGetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-nss-crypto.html#xmlSecNssKeyDataEcdsaId" title="xmlSecNssKeyDataEcdsaId">xmlSecNssKeyDataEcdsaId</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-nss-crypto.html#xmlSecNssKeyDataHmacGetKlass" title="xmlSecNssKeyDataHmacGetKlass ()">xmlSecNssKeyDataHmacGetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-nss-crypto.html#xmlSecNssKeyDataHmacId" title="xmlSecNssKeyDataHmacId">xmlSecNssKeyDataHmacId</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-nss-crypto.html#xmlSecNssKeyDataHmacSet" title="xmlSecNssKeyDataHmacSet ()">xmlSecNssKeyDataHmacSet</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-nss-x509.html#xmlSecNssKeyDataRawX509CertGetKlass" title="xmlSecNssKeyDataRawX509CertGetKlass ()">xmlSecNssKeyDataRawX509CertGetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-nss-x509.html#xmlSecNssKeyDataRawX509CertId" title="xmlSecNssKeyDataRawX509CertId">xmlSecNssKeyDataRawX509CertId</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-nss-crypto.html#xmlSecNssKeyDataRsaGetKlass" title="xmlSecNssKeyDataRsaGetKlass ()">xmlSecNssKeyDataRsaGetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-nss-crypto.html#xmlSecNssKeyDataRsaId" title="xmlSecNssKeyDataRsaId">xmlSecNssKeyDataRsaId</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-nss-x509.html#xmlSecNssKeyDataX509AdoptCert" title="xmlSecNssKeyDataX509AdoptCert ()">xmlSecNssKeyDataX509AdoptCert</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-nss-x509.html#xmlSecNssKeyDataX509AdoptCrl" title="xmlSecNssKeyDataX509AdoptCrl ()">xmlSecNssKeyDataX509AdoptCrl</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-nss-x509.html#xmlSecNssKeyDataX509AdoptKeyCert" title="xmlSecNssKeyDataX509AdoptKeyCert ()">xmlSecNssKeyDataX509AdoptKeyCert</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-nss-x509.html#xmlSecNssKeyDataX509GetCert" title="xmlSecNssKeyDataX509GetCert ()">xmlSecNssKeyDataX509GetCert</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-nss-x509.html#xmlSecNssKeyDataX509GetCertsSize" title="xmlSecNssKeyDataX509GetCertsSize ()">xmlSecNssKeyDataX509GetCertsSize</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-nss-x509.html#xmlSecNssKeyDataX509GetCrl" title="xmlSecNssKeyDataX509GetCrl ()">xmlSecNssKeyDataX509GetCrl</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-nss-x509.html#xmlSecNssKeyDataX509GetCrlsSize" title="xmlSecNssKeyDataX509GetCrlsSize ()">xmlSecNssKeyDataX509GetCrlsSize</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-nss-x509.html#xmlSecNssKeyDataX509GetKeyCert" title="xmlSecNssKeyDataX509GetKeyCert ()">xmlSecNssKeyDataX509GetKeyCert</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-nss-x509.html#xmlSecNssKeyDataX509GetKlass" title="xmlSecNssKeyDataX509GetKlass ()">xmlSecNssKeyDataX509GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-nss-x509.html#xmlSecNssKeyDataX509Id" title="xmlSecNssKeyDataX509Id">xmlSecNssKeyDataX509Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-nss-crypto.html#xmlSecNssKeysMngrInit" title="xmlSecNssKeysMngrInit ()">xmlSecNssKeysMngrInit</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-nss-keysstore.html#xmlSecNssKeysStoreAdoptKey" title="xmlSecNssKeysStoreAdoptKey ()">xmlSecNssKeysStoreAdoptKey</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-nss-keysstore.html#xmlSecNssKeysStoreGetKlass" title="xmlSecNssKeysStoreGetKlass ()">xmlSecNssKeysStoreGetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-nss-keysstore.html#xmlSecNssKeysStoreId" title="xmlSecNssKeysStoreId">xmlSecNssKeysStoreId</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-nss-keysstore.html#xmlSecNssKeysStoreLoad" title="xmlSecNssKeysStoreLoad ()">xmlSecNssKeysStoreLoad</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-nss-keysstore.html#xmlSecNssKeysStoreSave" title="xmlSecNssKeysStoreSave ()">xmlSecNssKeysStoreSave</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-nss-bignum.html#xmlSecNssNodeGetBigNumValue" title="xmlSecNssNodeGetBigNumValue ()">xmlSecNssNodeGetBigNumValue</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-nss-bignum.html#xmlSecNssNodeSetBigNumValue" title="xmlSecNssNodeSetBigNumValue ()">xmlSecNssNodeSetBigNumValue</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-nss-pkikeys.html#xmlSecNssPKIAdoptKey" title="xmlSecNssPKIAdoptKey ()">xmlSecNssPKIAdoptKey</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-nss-pkikeys.html#xmlSecNssPKIKeyDataDuplicate" title="xmlSecNssPKIKeyDataDuplicate ()">xmlSecNssPKIKeyDataDuplicate</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-nss-pkikeys.html#xmlSecNssPKIKeyDataGetKeyType" title="xmlSecNssPKIKeyDataGetKeyType ()">xmlSecNssPKIKeyDataGetKeyType</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-nss-pkikeys.html#xmlSecNssPKIKeyDataGetPrivKey" title="xmlSecNssPKIKeyDataGetPrivKey ()">xmlSecNssPKIKeyDataGetPrivKey</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-nss-pkikeys.html#xmlSecNssPKIKeyDataGetPubKey" title="xmlSecNssPKIKeyDataGetPubKey ()">xmlSecNssPKIKeyDataGetPubKey</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-nss-crypto.html#xmlSecNssShutdown" title="xmlSecNssShutdown ()">xmlSecNssShutdown</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-nss-crypto.html#xmlSecNssTransformAes128CbcGetKlass" title="xmlSecNssTransformAes128CbcGetKlass ()">xmlSecNssTransformAes128CbcGetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-nss-crypto.html#xmlSecNssTransformAes128CbcId" title="xmlSecNssTransformAes128CbcId">xmlSecNssTransformAes128CbcId</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-nss-crypto.html#xmlSecNssTransformAes192CbcGetKlass" title="xmlSecNssTransformAes192CbcGetKlass ()">xmlSecNssTransformAes192CbcGetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-nss-crypto.html#xmlSecNssTransformAes192CbcId" title="xmlSecNssTransformAes192CbcId">xmlSecNssTransformAes192CbcId</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-nss-crypto.html#xmlSecNssTransformAes256CbcGetKlass" title="xmlSecNssTransformAes256CbcGetKlass ()">xmlSecNssTransformAes256CbcGetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-nss-crypto.html#xmlSecNssTransformAes256CbcId" title="xmlSecNssTransformAes256CbcId">xmlSecNssTransformAes256CbcId</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-nss-crypto.html#xmlSecNssTransformDes3CbcGetKlass" title="xmlSecNssTransformDes3CbcGetKlass ()">xmlSecNssTransformDes3CbcGetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-nss-crypto.html#xmlSecNssTransformDes3CbcId" title="xmlSecNssTransformDes3CbcId">xmlSecNssTransformDes3CbcId</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-nss-crypto.html#xmlSecNssTransformDsaSha1GetKlass" title="xmlSecNssTransformDsaSha1GetKlass ()">xmlSecNssTransformDsaSha1GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-nss-crypto.html#xmlSecNssTransformDsaSha1Id" title="xmlSecNssTransformDsaSha1Id">xmlSecNssTransformDsaSha1Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-nss-crypto.html#xmlSecNssTransformEcdsaSha1GetKlass" title="xmlSecNssTransformEcdsaSha1GetKlass ()">xmlSecNssTransformEcdsaSha1GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-nss-crypto.html#xmlSecNssTransformEcdsaSha1Id" title="xmlSecNssTransformEcdsaSha1Id">xmlSecNssTransformEcdsaSha1Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-nss-crypto.html#xmlSecNssTransformEcdsaSha256GetKlass" title="xmlSecNssTransformEcdsaSha256GetKlass ()">xmlSecNssTransformEcdsaSha256GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-nss-crypto.html#xmlSecNssTransformEcdsaSha256Id" title="xmlSecNssTransformEcdsaSha256Id">xmlSecNssTransformEcdsaSha256Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-nss-crypto.html#xmlSecNssTransformEcdsaSha512GetKlass" title="xmlSecNssTransformEcdsaSha512GetKlass ()">xmlSecNssTransformEcdsaSha512GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-nss-crypto.html#xmlSecNssTransformEcdsaSha512Id" title="xmlSecNssTransformEcdsaSha512Id">xmlSecNssTransformEcdsaSha512Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-nss-crypto.html#xmlSecNssTransformHmacMd5GetKlass" title="xmlSecNssTransformHmacMd5GetKlass ()">xmlSecNssTransformHmacMd5GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-nss-crypto.html#xmlSecNssTransformHmacMd5Id" title="xmlSecNssTransformHmacMd5Id">xmlSecNssTransformHmacMd5Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-nss-crypto.html#xmlSecNssTransformHmacRipemd160GetKlass" title="xmlSecNssTransformHmacRipemd160GetKlass ()">xmlSecNssTransformHmacRipemd160GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-nss-crypto.html#xmlSecNssTransformHmacRipemd160Id" title="xmlSecNssTransformHmacRipemd160Id">xmlSecNssTransformHmacRipemd160Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-nss-crypto.html#xmlSecNssTransformHmacSha1GetKlass" title="xmlSecNssTransformHmacSha1GetKlass ()">xmlSecNssTransformHmacSha1GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-nss-crypto.html#xmlSecNssTransformHmacSha1Id" title="xmlSecNssTransformHmacSha1Id">xmlSecNssTransformHmacSha1Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-nss-crypto.html#xmlSecNssTransformHmacSha256GetKlass" title="xmlSecNssTransformHmacSha256GetKlass ()">xmlSecNssTransformHmacSha256GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-nss-crypto.html#xmlSecNssTransformHmacSha256Id" title="xmlSecNssTransformHmacSha256Id">xmlSecNssTransformHmacSha256Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-nss-crypto.html#xmlSecNssTransformHmacSha384GetKlass" title="xmlSecNssTransformHmacSha384GetKlass ()">xmlSecNssTransformHmacSha384GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-nss-crypto.html#xmlSecNssTransformHmacSha384Id" title="xmlSecNssTransformHmacSha384Id">xmlSecNssTransformHmacSha384Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-nss-crypto.html#xmlSecNssTransformHmacSha512GetKlass" title="xmlSecNssTransformHmacSha512GetKlass ()">xmlSecNssTransformHmacSha512GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-nss-crypto.html#xmlSecNssTransformHmacSha512Id" title="xmlSecNssTransformHmacSha512Id">xmlSecNssTransformHmacSha512Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-nss-crypto.html#xmlSecNssTransformKWAes128GetKlass" title="xmlSecNssTransformKWAes128GetKlass ()">xmlSecNssTransformKWAes128GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-nss-crypto.html#xmlSecNssTransformKWAes128Id" title="xmlSecNssTransformKWAes128Id">xmlSecNssTransformKWAes128Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-nss-crypto.html#xmlSecNssTransformKWAes192GetKlass" title="xmlSecNssTransformKWAes192GetKlass ()">xmlSecNssTransformKWAes192GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-nss-crypto.html#xmlSecNssTransformKWAes192Id" title="xmlSecNssTransformKWAes192Id">xmlSecNssTransformKWAes192Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-nss-crypto.html#xmlSecNssTransformKWAes256GetKlass" title="xmlSecNssTransformKWAes256GetKlass ()">xmlSecNssTransformKWAes256GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-nss-crypto.html#xmlSecNssTransformKWAes256Id" title="xmlSecNssTransformKWAes256Id">xmlSecNssTransformKWAes256Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-nss-crypto.html#xmlSecNssTransformKWDes3GetKlass" title="xmlSecNssTransformKWDes3GetKlass ()">xmlSecNssTransformKWDes3GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-nss-crypto.html#xmlSecNssTransformKWDes3Id" title="xmlSecNssTransformKWDes3Id">xmlSecNssTransformKWDes3Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-nss-crypto.html#xmlSecNssTransformMd5GetKlass" title="xmlSecNssTransformMd5GetKlass ()">xmlSecNssTransformMd5GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-nss-crypto.html#xmlSecNssTransformMd5Id" title="xmlSecNssTransformMd5Id">xmlSecNssTransformMd5Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-nss-crypto.html#xmlSecNssTransformRsaMd5GetKlass" title="xmlSecNssTransformRsaMd5GetKlass ()">xmlSecNssTransformRsaMd5GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-nss-crypto.html#xmlSecNssTransformRsaMd5Id" title="xmlSecNssTransformRsaMd5Id">xmlSecNssTransformRsaMd5Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-nss-crypto.html#xmlSecNssTransformRsaOaepGetKlass" title="xmlSecNssTransformRsaOaepGetKlass ()">xmlSecNssTransformRsaOaepGetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-nss-crypto.html#xmlSecNssTransformRsaOaepId" title="xmlSecNssTransformRsaOaepId">xmlSecNssTransformRsaOaepId</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-nss-crypto.html#xmlSecNssTransformRsaPkcs1GetKlass" title="xmlSecNssTransformRsaPkcs1GetKlass ()">xmlSecNssTransformRsaPkcs1GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-nss-crypto.html#xmlSecNssTransformRsaPkcs1Id" title="xmlSecNssTransformRsaPkcs1Id">xmlSecNssTransformRsaPkcs1Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-nss-crypto.html#xmlSecNssTransformRsaSha1GetKlass" title="xmlSecNssTransformRsaSha1GetKlass ()">xmlSecNssTransformRsaSha1GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-nss-crypto.html#xmlSecNssTransformRsaSha1Id" title="xmlSecNssTransformRsaSha1Id">xmlSecNssTransformRsaSha1Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-nss-crypto.html#xmlSecNssTransformRsaSha256GetKlass" title="xmlSecNssTransformRsaSha256GetKlass ()">xmlSecNssTransformRsaSha256GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-nss-crypto.html#xmlSecNssTransformRsaSha256Id" title="xmlSecNssTransformRsaSha256Id">xmlSecNssTransformRsaSha256Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-nss-crypto.html#xmlSecNssTransformRsaSha384GetKlass" title="xmlSecNssTransformRsaSha384GetKlass ()">xmlSecNssTransformRsaSha384GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-nss-crypto.html#xmlSecNssTransformRsaSha384Id" title="xmlSecNssTransformRsaSha384Id">xmlSecNssTransformRsaSha384Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-nss-crypto.html#xmlSecNssTransformRsaSha512GetKlass" title="xmlSecNssTransformRsaSha512GetKlass ()">xmlSecNssTransformRsaSha512GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-nss-crypto.html#xmlSecNssTransformRsaSha512Id" title="xmlSecNssTransformRsaSha512Id">xmlSecNssTransformRsaSha512Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-nss-crypto.html#xmlSecNssTransformSha1GetKlass" title="xmlSecNssTransformSha1GetKlass ()">xmlSecNssTransformSha1GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-nss-crypto.html#xmlSecNssTransformSha1Id" title="xmlSecNssTransformSha1Id">xmlSecNssTransformSha1Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-nss-crypto.html#xmlSecNssTransformSha256GetKlass" title="xmlSecNssTransformSha256GetKlass ()">xmlSecNssTransformSha256GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-nss-crypto.html#xmlSecNssTransformSha256Id" title="xmlSecNssTransformSha256Id">xmlSecNssTransformSha256Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-nss-crypto.html#xmlSecNssTransformSha384GetKlass" title="xmlSecNssTransformSha384GetKlass ()">xmlSecNssTransformSha384GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-nss-crypto.html#xmlSecNssTransformSha384Id" title="xmlSecNssTransformSha384Id">xmlSecNssTransformSha384Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-nss-crypto.html#xmlSecNssTransformSha512GetKlass" title="xmlSecNssTransformSha512GetKlass ()">xmlSecNssTransformSha512GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-nss-crypto.html#xmlSecNssTransformSha512Id" title="xmlSecNssTransformSha512Id">xmlSecNssTransformSha512Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-nss-x509.html#xmlSecNssX509CertGetKey" title="xmlSecNssX509CertGetKey ()">xmlSecNssX509CertGetKey</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-nss-x509.html#xmlSecNssX509StoreAdoptCert" title="xmlSecNssX509StoreAdoptCert ()">xmlSecNssX509StoreAdoptCert</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-nss-x509.html#xmlSecNssX509StoreFindCert" title="xmlSecNssX509StoreFindCert ()">xmlSecNssX509StoreFindCert</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-nss-x509.html#xmlSecNssX509StoreGetKlass" title="xmlSecNssX509StoreGetKlass ()">xmlSecNssX509StoreGetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-nss-x509.html#xmlSecNssX509StoreId" title="xmlSecNssX509StoreId">xmlSecNssX509StoreId</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-nss-x509.html#xmlSecNssX509StoreVerify" title="xmlSecNssX509StoreVerify ()">xmlSecNssX509StoreVerify</a></p></li>
+<li class="listitem"><p><font>XMLSEC-OPENSSL-API-098</font></p></li>
+<li class="listitem"><p><font>XMLSEC-OPENSSL-API-100</font></p></li>
+<li class="listitem"><p><font>XMLSEC-OPENSSL-API-110</font></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-app.html#xmlSecOpenSSLAppDefaultKeysMngrAdoptKey" title="xmlSecOpenSSLAppDefaultKeysMngrAdoptKey ()">xmlSecOpenSSLAppDefaultKeysMngrAdoptKey</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-app.html#xmlSecOpenSSLAppDefaultKeysMngrInit" title="xmlSecOpenSSLAppDefaultKeysMngrInit ()">xmlSecOpenSSLAppDefaultKeysMngrInit</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-app.html#xmlSecOpenSSLAppDefaultKeysMngrLoad" title="xmlSecOpenSSLAppDefaultKeysMngrLoad ()">xmlSecOpenSSLAppDefaultKeysMngrLoad</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-app.html#xmlSecOpenSSLAppDefaultKeysMngrSave" title="xmlSecOpenSSLAppDefaultKeysMngrSave ()">xmlSecOpenSSLAppDefaultKeysMngrSave</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-app.html#xmlSecOpenSSLAppGetDefaultPwdCallback" title="xmlSecOpenSSLAppGetDefaultPwdCallback ()">xmlSecOpenSSLAppGetDefaultPwdCallback</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-app.html#xmlSecOpenSSLAppInit" title="xmlSecOpenSSLAppInit ()">xmlSecOpenSSLAppInit</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-app.html#xmlSecOpenSSLAppKeyCertLoadBIO" title="xmlSecOpenSSLAppKeyCertLoadBIO ()">xmlSecOpenSSLAppKeyCertLoadBIO</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-app.html#xmlSecOpenSSLAppKeyCertLoadMemory" title="xmlSecOpenSSLAppKeyCertLoadMemory ()">xmlSecOpenSSLAppKeyCertLoadMemory</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-app.html#xmlSecOpenSSLAppKeyCertLoad" title="xmlSecOpenSSLAppKeyCertLoad ()">xmlSecOpenSSLAppKeyCertLoad</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-app.html#xmlSecOpenSSLAppKeyFromCertLoadBIO" title="xmlSecOpenSSLAppKeyFromCertLoadBIO ()">xmlSecOpenSSLAppKeyFromCertLoadBIO</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-app.html#xmlSecOpenSSLAppKeyLoadBIO" title="xmlSecOpenSSLAppKeyLoadBIO ()">xmlSecOpenSSLAppKeyLoadBIO</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-app.html#xmlSecOpenSSLAppKeyLoadMemory" title="xmlSecOpenSSLAppKeyLoadMemory ()">xmlSecOpenSSLAppKeyLoadMemory</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-app.html#xmlSecOpenSSLAppKeyLoad" title="xmlSecOpenSSLAppKeyLoad ()">xmlSecOpenSSLAppKeyLoad</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-app.html#xmlSecOpenSSLAppKeysMngrAddCertsFile" title="xmlSecOpenSSLAppKeysMngrAddCertsFile ()">xmlSecOpenSSLAppKeysMngrAddCertsFile</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-app.html#xmlSecOpenSSLAppKeysMngrAddCertsPath" title="xmlSecOpenSSLAppKeysMngrAddCertsPath ()">xmlSecOpenSSLAppKeysMngrAddCertsPath</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-app.html#xmlSecOpenSSLAppKeysMngrCertLoadBIO" title="xmlSecOpenSSLAppKeysMngrCertLoadBIO ()">xmlSecOpenSSLAppKeysMngrCertLoadBIO</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-app.html#xmlSecOpenSSLAppKeysMngrCertLoadMemory" title="xmlSecOpenSSLAppKeysMngrCertLoadMemory ()">xmlSecOpenSSLAppKeysMngrCertLoadMemory</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-app.html#xmlSecOpenSSLAppKeysMngrCertLoad" title="xmlSecOpenSSLAppKeysMngrCertLoad ()">xmlSecOpenSSLAppKeysMngrCertLoad</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-app.html#xmlSecOpenSSLAppPkcs12LoadBIO" title="xmlSecOpenSSLAppPkcs12LoadBIO ()">xmlSecOpenSSLAppPkcs12LoadBIO</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-app.html#xmlSecOpenSSLAppPkcs12LoadMemory" title="xmlSecOpenSSLAppPkcs12LoadMemory ()">xmlSecOpenSSLAppPkcs12LoadMemory</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-app.html#xmlSecOpenSSLAppPkcs12Load" title="xmlSecOpenSSLAppPkcs12Load ()">xmlSecOpenSSLAppPkcs12Load</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-app.html#xmlSecOpenSSLAppShutdown" title="xmlSecOpenSSLAppShutdown ()">xmlSecOpenSSLAppShutdown</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLErrorsDefaultCallback" title="xmlSecOpenSSLErrorsDefaultCallback ()">xmlSecOpenSSLErrorsDefaultCallback</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-evp.html#xmlSecOpenSSLEvpKeyAdopt" title="xmlSecOpenSSLEvpKeyAdopt ()">xmlSecOpenSSLEvpKeyAdopt</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-evp.html#xmlSecOpenSSLEvpKeyDataAdoptEvp" title="xmlSecOpenSSLEvpKeyDataAdoptEvp ()">xmlSecOpenSSLEvpKeyDataAdoptEvp</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-evp.html#xmlSecOpenSSLEvpKeyDataGetEvp" title="xmlSecOpenSSLEvpKeyDataGetEvp ()">xmlSecOpenSSLEvpKeyDataGetEvp</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-evp.html#xmlSecOpenSSLEvpKeyDup" title="xmlSecOpenSSLEvpKeyDup ()">xmlSecOpenSSLEvpKeyDup</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLGenerateRandom" title="xmlSecOpenSSLGenerateRandom ()">xmlSecOpenSSLGenerateRandom</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLGetDefaultTrustedCertsFolder" title="xmlSecOpenSSLGetDefaultTrustedCertsFolder ()">xmlSecOpenSSLGetDefaultTrustedCertsFolder</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLHmacGetMinOutputLength" title="xmlSecOpenSSLHmacGetMinOutputLength ()">xmlSecOpenSSLHmacGetMinOutputLength</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLHmacSetMinOutputLength" title="xmlSecOpenSSLHmacSetMinOutputLength ()">xmlSecOpenSSLHmacSetMinOutputLength</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLInit" title="xmlSecOpenSSLInit ()">xmlSecOpenSSLInit</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLKeyDataAesGetKlass" title="xmlSecOpenSSLKeyDataAesGetKlass ()">xmlSecOpenSSLKeyDataAesGetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLKeyDataAesId" title="xmlSecOpenSSLKeyDataAesId">xmlSecOpenSSLKeyDataAesId</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLKeyDataAesSet" title="xmlSecOpenSSLKeyDataAesSet ()">xmlSecOpenSSLKeyDataAesSet</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLKeyDataDesGetKlass" title="xmlSecOpenSSLKeyDataDesGetKlass ()">xmlSecOpenSSLKeyDataDesGetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLKeyDataDesId" title="xmlSecOpenSSLKeyDataDesId">xmlSecOpenSSLKeyDataDesId</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLKeyDataDesSet" title="xmlSecOpenSSLKeyDataDesSet ()">xmlSecOpenSSLKeyDataDesSet</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLKeyDataDsaAdoptDsa" title="xmlSecOpenSSLKeyDataDsaAdoptDsa ()">xmlSecOpenSSLKeyDataDsaAdoptDsa</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLKeyDataDsaAdoptEvp" title="xmlSecOpenSSLKeyDataDsaAdoptEvp ()">xmlSecOpenSSLKeyDataDsaAdoptEvp</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLKeyDataDsaGetDsa" title="xmlSecOpenSSLKeyDataDsaGetDsa ()">xmlSecOpenSSLKeyDataDsaGetDsa</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLKeyDataDsaGetEvp" title="xmlSecOpenSSLKeyDataDsaGetEvp ()">xmlSecOpenSSLKeyDataDsaGetEvp</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLKeyDataDsaGetKlass" title="xmlSecOpenSSLKeyDataDsaGetKlass ()">xmlSecOpenSSLKeyDataDsaGetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLKeyDataDsaId" title="xmlSecOpenSSLKeyDataDsaId">xmlSecOpenSSLKeyDataDsaId</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLKeyDataEcdsaAdoptEcdsa" title="xmlSecOpenSSLKeyDataEcdsaAdoptEcdsa ()">xmlSecOpenSSLKeyDataEcdsaAdoptEcdsa</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLKeyDataEcdsaAdoptEvp" title="xmlSecOpenSSLKeyDataEcdsaAdoptEvp ()">xmlSecOpenSSLKeyDataEcdsaAdoptEvp</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLKeyDataEcdsaGetEcdsa" title="xmlSecOpenSSLKeyDataEcdsaGetEcdsa ()">xmlSecOpenSSLKeyDataEcdsaGetEcdsa</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLKeyDataEcdsaGetEvp" title="xmlSecOpenSSLKeyDataEcdsaGetEvp ()">xmlSecOpenSSLKeyDataEcdsaGetEvp</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLKeyDataEcdsaGetKlass" title="xmlSecOpenSSLKeyDataEcdsaGetKlass ()">xmlSecOpenSSLKeyDataEcdsaGetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLKeyDataEcdsaId" title="xmlSecOpenSSLKeyDataEcdsaId">xmlSecOpenSSLKeyDataEcdsaId</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLKeyDataGost2001GetKlass" title="xmlSecOpenSSLKeyDataGost2001GetKlass ()">xmlSecOpenSSLKeyDataGost2001GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLKeyDataGost2001Id" title="xmlSecOpenSSLKeyDataGost2001Id">xmlSecOpenSSLKeyDataGost2001Id</a></p></li>
+<li class="listitem"><p><font>xmlSecOpenSSLKeyDataGostR3410-2012-256GetKlass</font></p></li>
+<li class="listitem"><p><font>xmlSecOpenSSLKeyDataGostR3410-2012-256Id</font></p></li>
+<li class="listitem"><p><font>xmlSecOpenSSLKeyDataGostR3410-2012-512GetKlass</font></p></li>
+<li class="listitem"><p><font>xmlSecOpenSSLKeyDataGostR3410-2012-512Id</font></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLKeyDataHmacGetKlass" title="xmlSecOpenSSLKeyDataHmacGetKlass ()">xmlSecOpenSSLKeyDataHmacGetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLKeyDataHmacId" title="xmlSecOpenSSLKeyDataHmacId">xmlSecOpenSSLKeyDataHmacId</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLKeyDataHmacSet" title="xmlSecOpenSSLKeyDataHmacSet ()">xmlSecOpenSSLKeyDataHmacSet</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-x509.html#xmlSecOpenSSLKeyDataRawX509CertGetKlass" title="xmlSecOpenSSLKeyDataRawX509CertGetKlass ()">xmlSecOpenSSLKeyDataRawX509CertGetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-x509.html#xmlSecOpenSSLKeyDataRawX509CertId" title="xmlSecOpenSSLKeyDataRawX509CertId">xmlSecOpenSSLKeyDataRawX509CertId</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLKeyDataRsaAdoptEvp" title="xmlSecOpenSSLKeyDataRsaAdoptEvp ()">xmlSecOpenSSLKeyDataRsaAdoptEvp</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLKeyDataRsaAdoptRsa" title="xmlSecOpenSSLKeyDataRsaAdoptRsa ()">xmlSecOpenSSLKeyDataRsaAdoptRsa</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLKeyDataRsaGetEvp" title="xmlSecOpenSSLKeyDataRsaGetEvp ()">xmlSecOpenSSLKeyDataRsaGetEvp</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLKeyDataRsaGetKlass" title="xmlSecOpenSSLKeyDataRsaGetKlass ()">xmlSecOpenSSLKeyDataRsaGetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLKeyDataRsaGetRsa" title="xmlSecOpenSSLKeyDataRsaGetRsa ()">xmlSecOpenSSLKeyDataRsaGetRsa</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLKeyDataRsaId" title="xmlSecOpenSSLKeyDataRsaId">xmlSecOpenSSLKeyDataRsaId</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-x509.html#xmlSecOpenSSLKeyDataX509AdoptCert" title="xmlSecOpenSSLKeyDataX509AdoptCert ()">xmlSecOpenSSLKeyDataX509AdoptCert</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-x509.html#xmlSecOpenSSLKeyDataX509AdoptCrl" title="xmlSecOpenSSLKeyDataX509AdoptCrl ()">xmlSecOpenSSLKeyDataX509AdoptCrl</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-x509.html#xmlSecOpenSSLKeyDataX509AdoptKeyCert" title="xmlSecOpenSSLKeyDataX509AdoptKeyCert ()">xmlSecOpenSSLKeyDataX509AdoptKeyCert</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-x509.html#xmlSecOpenSSLKeyDataX509GetCert" title="xmlSecOpenSSLKeyDataX509GetCert ()">xmlSecOpenSSLKeyDataX509GetCert</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-x509.html#xmlSecOpenSSLKeyDataX509GetCertsSize" title="xmlSecOpenSSLKeyDataX509GetCertsSize ()">xmlSecOpenSSLKeyDataX509GetCertsSize</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-x509.html#xmlSecOpenSSLKeyDataX509GetCrl" title="xmlSecOpenSSLKeyDataX509GetCrl ()">xmlSecOpenSSLKeyDataX509GetCrl</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-x509.html#xmlSecOpenSSLKeyDataX509GetCrlsSize" title="xmlSecOpenSSLKeyDataX509GetCrlsSize ()">xmlSecOpenSSLKeyDataX509GetCrlsSize</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-x509.html#xmlSecOpenSSLKeyDataX509GetKeyCert" title="xmlSecOpenSSLKeyDataX509GetKeyCert ()">xmlSecOpenSSLKeyDataX509GetKeyCert</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-x509.html#xmlSecOpenSSLKeyDataX509GetKlass" title="xmlSecOpenSSLKeyDataX509GetKlass ()">xmlSecOpenSSLKeyDataX509GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-x509.html#xmlSecOpenSSLKeyDataX509Id" title="xmlSecOpenSSLKeyDataX509Id">xmlSecOpenSSLKeyDataX509Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLKeysMngrInit" title="xmlSecOpenSSLKeysMngrInit ()">xmlSecOpenSSLKeysMngrInit</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-bn.html#xmlSecOpenSSLNodeGetBNValue" title="xmlSecOpenSSLNodeGetBNValue ()">xmlSecOpenSSLNodeGetBNValue</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-bn.html#xmlSecOpenSSLNodeSetBNValue" title="xmlSecOpenSSLNodeSetBNValue ()">xmlSecOpenSSLNodeSetBNValue</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLSetDefaultTrustedCertsFolder" title="xmlSecOpenSSLSetDefaultTrustedCertsFolder ()">xmlSecOpenSSLSetDefaultTrustedCertsFolder</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLShutdown" title="xmlSecOpenSSLShutdown ()">xmlSecOpenSSLShutdown</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformAes128CbcGetKlass" title="xmlSecOpenSSLTransformAes128CbcGetKlass ()">xmlSecOpenSSLTransformAes128CbcGetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformAes128CbcId" title="xmlSecOpenSSLTransformAes128CbcId">xmlSecOpenSSLTransformAes128CbcId</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformAes192CbcGetKlass" title="xmlSecOpenSSLTransformAes192CbcGetKlass ()">xmlSecOpenSSLTransformAes192CbcGetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformAes192CbcId" title="xmlSecOpenSSLTransformAes192CbcId">xmlSecOpenSSLTransformAes192CbcId</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformAes256CbcGetKlass" title="xmlSecOpenSSLTransformAes256CbcGetKlass ()">xmlSecOpenSSLTransformAes256CbcGetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformAes256CbcId" title="xmlSecOpenSSLTransformAes256CbcId">xmlSecOpenSSLTransformAes256CbcId</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformDes3CbcGetKlass" title="xmlSecOpenSSLTransformDes3CbcGetKlass ()">xmlSecOpenSSLTransformDes3CbcGetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformDes3CbcId" title="xmlSecOpenSSLTransformDes3CbcId">xmlSecOpenSSLTransformDes3CbcId</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformDsaSha1GetKlass" title="xmlSecOpenSSLTransformDsaSha1GetKlass ()">xmlSecOpenSSLTransformDsaSha1GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformDsaSha1Id" title="xmlSecOpenSSLTransformDsaSha1Id">xmlSecOpenSSLTransformDsaSha1Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformDsaSha256GetKlass" title="xmlSecOpenSSLTransformDsaSha256GetKlass ()">xmlSecOpenSSLTransformDsaSha256GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformDsaSha256Id" title="xmlSecOpenSSLTransformDsaSha256Id">xmlSecOpenSSLTransformDsaSha256Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformEcdsaSha1GetKlass" title="xmlSecOpenSSLTransformEcdsaSha1GetKlass ()">xmlSecOpenSSLTransformEcdsaSha1GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformEcdsaSha1Id" title="xmlSecOpenSSLTransformEcdsaSha1Id">xmlSecOpenSSLTransformEcdsaSha1Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformEcdsaSha224GetKlass" title="xmlSecOpenSSLTransformEcdsaSha224GetKlass ()">xmlSecOpenSSLTransformEcdsaSha224GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformEcdsaSha224Id" title="xmlSecOpenSSLTransformEcdsaSha224Id">xmlSecOpenSSLTransformEcdsaSha224Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformEcdsaSha256GetKlass" title="xmlSecOpenSSLTransformEcdsaSha256GetKlass ()">xmlSecOpenSSLTransformEcdsaSha256GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformEcdsaSha256Id" title="xmlSecOpenSSLTransformEcdsaSha256Id">xmlSecOpenSSLTransformEcdsaSha256Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformEcdsaSha384GetKlass" title="xmlSecOpenSSLTransformEcdsaSha384GetKlass ()">xmlSecOpenSSLTransformEcdsaSha384GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformEcdsaSha384Id" title="xmlSecOpenSSLTransformEcdsaSha384Id">xmlSecOpenSSLTransformEcdsaSha384Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformEcdsaSha512GetKlass" title="xmlSecOpenSSLTransformEcdsaSha512GetKlass ()">xmlSecOpenSSLTransformEcdsaSha512GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformEcdsaSha512Id" title="xmlSecOpenSSLTransformEcdsaSha512Id">xmlSecOpenSSLTransformEcdsaSha512Id</a></p></li>
+<li class="listitem"><p><font>xmlSecOpenSSLTransformGost2001GostR3411-94GetKlass</font></p></li>
+<li class="listitem"><p><font>xmlSecOpenSSLTransformGost2001GostR3411-94Id</font></p></li>
+<li class="listitem"><p><font>xmlSecOpenSSLTransformGostR3410-2012GostR3411-2012-256GetKlass</font></p></li>
+<li class="listitem"><p><font>xmlSecOpenSSLTransformGostR3410-2012GostR3411-2012-256Id</font></p></li>
+<li class="listitem"><p><font>xmlSecOpenSSLTransformGostR3410-2012GostR3411-2012-512GetKlass</font></p></li>
+<li class="listitem"><p><font>xmlSecOpenSSLTransformGostR3410-2012GostR3411-2012-512Id</font></p></li>
+<li class="listitem"><p><font>xmlSecOpenSSLTransformGostR3411-2012-256GetKlass</font></p></li>
+<li class="listitem"><p><font>xmlSecOpenSSLTransformGostR3411-2012-256Id</font></p></li>
+<li class="listitem"><p><font>xmlSecOpenSSLTransformGostR3411-2012-512GetKlass</font></p></li>
+<li class="listitem"><p><font>xmlSecOpenSSLTransformGostR3411-2012-512Id</font></p></li>
+<li class="listitem"><p><font>xmlSecOpenSSLTransformGostR3411-94GetKlass</font></p></li>
+<li class="listitem"><p><font>xmlSecOpenSSLTransformGostR3411-94Id</font></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformHmacMd5GetKlass" title="xmlSecOpenSSLTransformHmacMd5GetKlass ()">xmlSecOpenSSLTransformHmacMd5GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformHmacMd5Id" title="xmlSecOpenSSLTransformHmacMd5Id">xmlSecOpenSSLTransformHmacMd5Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformHmacRipemd160GetKlass" title="xmlSecOpenSSLTransformHmacRipemd160GetKlass ()">xmlSecOpenSSLTransformHmacRipemd160GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformHmacRipemd160Id" title="xmlSecOpenSSLTransformHmacRipemd160Id">xmlSecOpenSSLTransformHmacRipemd160Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformHmacSha1GetKlass" title="xmlSecOpenSSLTransformHmacSha1GetKlass ()">xmlSecOpenSSLTransformHmacSha1GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformHmacSha1Id" title="xmlSecOpenSSLTransformHmacSha1Id">xmlSecOpenSSLTransformHmacSha1Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformHmacSha224GetKlass" title="xmlSecOpenSSLTransformHmacSha224GetKlass ()">xmlSecOpenSSLTransformHmacSha224GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformHmacSha224Id" title="xmlSecOpenSSLTransformHmacSha224Id">xmlSecOpenSSLTransformHmacSha224Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformHmacSha256GetKlass" title="xmlSecOpenSSLTransformHmacSha256GetKlass ()">xmlSecOpenSSLTransformHmacSha256GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformHmacSha256Id" title="xmlSecOpenSSLTransformHmacSha256Id">xmlSecOpenSSLTransformHmacSha256Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformHmacSha384GetKlass" title="xmlSecOpenSSLTransformHmacSha384GetKlass ()">xmlSecOpenSSLTransformHmacSha384GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformHmacSha384Id" title="xmlSecOpenSSLTransformHmacSha384Id">xmlSecOpenSSLTransformHmacSha384Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformHmacSha512GetKlass" title="xmlSecOpenSSLTransformHmacSha512GetKlass ()">xmlSecOpenSSLTransformHmacSha512GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformHmacSha512Id" title="xmlSecOpenSSLTransformHmacSha512Id">xmlSecOpenSSLTransformHmacSha512Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformKWAes128GetKlass" title="xmlSecOpenSSLTransformKWAes128GetKlass ()">xmlSecOpenSSLTransformKWAes128GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformKWAes128Id" title="xmlSecOpenSSLTransformKWAes128Id">xmlSecOpenSSLTransformKWAes128Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformKWAes192GetKlass" title="xmlSecOpenSSLTransformKWAes192GetKlass ()">xmlSecOpenSSLTransformKWAes192GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformKWAes192Id" title="xmlSecOpenSSLTransformKWAes192Id">xmlSecOpenSSLTransformKWAes192Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformKWAes256GetKlass" title="xmlSecOpenSSLTransformKWAes256GetKlass ()">xmlSecOpenSSLTransformKWAes256GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformKWAes256Id" title="xmlSecOpenSSLTransformKWAes256Id">xmlSecOpenSSLTransformKWAes256Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformKWDes3GetKlass" title="xmlSecOpenSSLTransformKWDes3GetKlass ()">xmlSecOpenSSLTransformKWDes3GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformKWDes3Id" title="xmlSecOpenSSLTransformKWDes3Id">xmlSecOpenSSLTransformKWDes3Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformMd5GetKlass" title="xmlSecOpenSSLTransformMd5GetKlass ()">xmlSecOpenSSLTransformMd5GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformMd5Id" title="xmlSecOpenSSLTransformMd5Id">xmlSecOpenSSLTransformMd5Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformRipemd160GetKlass" title="xmlSecOpenSSLTransformRipemd160GetKlass ()">xmlSecOpenSSLTransformRipemd160GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformRipemd160Id" title="xmlSecOpenSSLTransformRipemd160Id">xmlSecOpenSSLTransformRipemd160Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformRsaMd5GetKlass" title="xmlSecOpenSSLTransformRsaMd5GetKlass ()">xmlSecOpenSSLTransformRsaMd5GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformRsaMd5Id" title="xmlSecOpenSSLTransformRsaMd5Id">xmlSecOpenSSLTransformRsaMd5Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformRsaOaepGetKlass" title="xmlSecOpenSSLTransformRsaOaepGetKlass ()">xmlSecOpenSSLTransformRsaOaepGetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformRsaOaepId" title="xmlSecOpenSSLTransformRsaOaepId">xmlSecOpenSSLTransformRsaOaepId</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformRsaPkcs1GetKlass" title="xmlSecOpenSSLTransformRsaPkcs1GetKlass ()">xmlSecOpenSSLTransformRsaPkcs1GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformRsaPkcs1Id" title="xmlSecOpenSSLTransformRsaPkcs1Id">xmlSecOpenSSLTransformRsaPkcs1Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformRsaRipemd160GetKlass" title="xmlSecOpenSSLTransformRsaRipemd160GetKlass ()">xmlSecOpenSSLTransformRsaRipemd160GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformRsaRipemd160Id" title="xmlSecOpenSSLTransformRsaRipemd160Id">xmlSecOpenSSLTransformRsaRipemd160Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformRsaSha1GetKlass" title="xmlSecOpenSSLTransformRsaSha1GetKlass ()">xmlSecOpenSSLTransformRsaSha1GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformRsaSha1Id" title="xmlSecOpenSSLTransformRsaSha1Id">xmlSecOpenSSLTransformRsaSha1Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformRsaSha224GetKlass" title="xmlSecOpenSSLTransformRsaSha224GetKlass ()">xmlSecOpenSSLTransformRsaSha224GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformRsaSha224Id" title="xmlSecOpenSSLTransformRsaSha224Id">xmlSecOpenSSLTransformRsaSha224Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformRsaSha256GetKlass" title="xmlSecOpenSSLTransformRsaSha256GetKlass ()">xmlSecOpenSSLTransformRsaSha256GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformRsaSha256Id" title="xmlSecOpenSSLTransformRsaSha256Id">xmlSecOpenSSLTransformRsaSha256Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformRsaSha384GetKlass" title="xmlSecOpenSSLTransformRsaSha384GetKlass ()">xmlSecOpenSSLTransformRsaSha384GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformRsaSha384Id" title="xmlSecOpenSSLTransformRsaSha384Id">xmlSecOpenSSLTransformRsaSha384Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformRsaSha512GetKlass" title="xmlSecOpenSSLTransformRsaSha512GetKlass ()">xmlSecOpenSSLTransformRsaSha512GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformRsaSha512Id" title="xmlSecOpenSSLTransformRsaSha512Id">xmlSecOpenSSLTransformRsaSha512Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformSha1GetKlass" title="xmlSecOpenSSLTransformSha1GetKlass ()">xmlSecOpenSSLTransformSha1GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformSha1Id" title="xmlSecOpenSSLTransformSha1Id">xmlSecOpenSSLTransformSha1Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformSha224GetKlass" title="xmlSecOpenSSLTransformSha224GetKlass ()">xmlSecOpenSSLTransformSha224GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformSha224Id" title="xmlSecOpenSSLTransformSha224Id">xmlSecOpenSSLTransformSha224Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformSha256GetKlass" title="xmlSecOpenSSLTransformSha256GetKlass ()">xmlSecOpenSSLTransformSha256GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformSha256Id" title="xmlSecOpenSSLTransformSha256Id">xmlSecOpenSSLTransformSha256Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformSha384GetKlass" title="xmlSecOpenSSLTransformSha384GetKlass ()">xmlSecOpenSSLTransformSha384GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformSha384Id" title="xmlSecOpenSSLTransformSha384Id">xmlSecOpenSSLTransformSha384Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformSha512GetKlass" title="xmlSecOpenSSLTransformSha512GetKlass ()">xmlSecOpenSSLTransformSha512GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformSha512Id" title="xmlSecOpenSSLTransformSha512Id">xmlSecOpenSSLTransformSha512Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-x509.html#xmlSecOpenSSLX509CertGetKey" title="xmlSecOpenSSLX509CertGetKey ()">xmlSecOpenSSLX509CertGetKey</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-x509.html#xmlSecOpenSSLX509StoreAddCertsFile" title="xmlSecOpenSSLX509StoreAddCertsFile ()">xmlSecOpenSSLX509StoreAddCertsFile</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-x509.html#xmlSecOpenSSLX509StoreAddCertsPath" title="xmlSecOpenSSLX509StoreAddCertsPath ()">xmlSecOpenSSLX509StoreAddCertsPath</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-x509.html#xmlSecOpenSSLX509StoreAdoptCert" title="xmlSecOpenSSLX509StoreAdoptCert ()">xmlSecOpenSSLX509StoreAdoptCert</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-x509.html#xmlSecOpenSSLX509StoreAdoptCrl" title="xmlSecOpenSSLX509StoreAdoptCrl ()">xmlSecOpenSSLX509StoreAdoptCrl</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-x509.html#xmlSecOpenSSLX509StoreFindCert" title="xmlSecOpenSSLX509StoreFindCert ()">xmlSecOpenSSLX509StoreFindCert</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-x509.html#xmlSecOpenSSLX509StoreGetKlass" title="xmlSecOpenSSLX509StoreGetKlass ()">xmlSecOpenSSLX509StoreGetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-x509.html#xmlSecOpenSSLX509StoreId" title="xmlSecOpenSSLX509StoreId">xmlSecOpenSSLX509StoreId</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-openssl-x509.html#xmlSecOpenSSLX509StoreVerify" title="xmlSecOpenSSLX509StoreVerify ()">xmlSecOpenSSLX509StoreVerify</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-parser.html#xmlSecParseFile" title="xmlSecParseFile ()">xmlSecParseFile</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-parser.html#xmlSecParseMemoryExt" title="xmlSecParseMemoryExt ()">xmlSecParseMemoryExt</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-parser.html#xmlSecParseMemory" title="xmlSecParseMemory ()">xmlSecParseMemory</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-xmltree.html#xmlSecPrintXmlString" title="xmlSecPrintXmlString ()">xmlSecPrintXmlString</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-list.html#xmlSecPtrDebugDumpItemMethod" title="xmlSecPtrDebugDumpItemMethod ()">xmlSecPtrDebugDumpItemMethod</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-list.html#xmlSecPtrDestroyItemMethod" title="xmlSecPtrDestroyItemMethod ()">xmlSecPtrDestroyItemMethod</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-list.html#xmlSecPtrDuplicateItemMethod" title="xmlSecPtrDuplicateItemMethod ()">xmlSecPtrDuplicateItemMethod</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-list.html#xmlSecPtrListAdd" title="xmlSecPtrListAdd ()">xmlSecPtrListAdd</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-list.html#xmlSecPtrListCheckId" title="xmlSecPtrListCheckId()">xmlSecPtrListCheckId</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-list.html#xmlSecPtrListCopy" title="xmlSecPtrListCopy ()">xmlSecPtrListCopy</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-list.html#xmlSecPtrListCreate" title="xmlSecPtrListCreate ()">xmlSecPtrListCreate</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-list.html#xmlSecPtrListDebugDump" title="xmlSecPtrListDebugDump ()">xmlSecPtrListDebugDump</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-list.html#xmlSecPtrListDebugXmlDump" title="xmlSecPtrListDebugXmlDump ()">xmlSecPtrListDebugXmlDump</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-list.html#xmlSecPtrListDestroy" title="xmlSecPtrListDestroy ()">xmlSecPtrListDestroy</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-list.html#xmlSecPtrListDuplicate" title="xmlSecPtrListDuplicate ()">xmlSecPtrListDuplicate</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-list.html#xmlSecPtrListEmpty" title="xmlSecPtrListEmpty ()">xmlSecPtrListEmpty</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-list.html#xmlSecPtrListFinalize" title="xmlSecPtrListFinalize ()">xmlSecPtrListFinalize</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-list.html#xmlSecPtrListGetItem" title="xmlSecPtrListGetItem ()">xmlSecPtrListGetItem</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-list.html#xmlSecPtrListGetName" title="xmlSecPtrListGetName()">xmlSecPtrListGetName</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-list.html#xmlSecPtrListGetSize" title="xmlSecPtrListGetSize ()">xmlSecPtrListGetSize</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-list.html#xmlSecPtrListIdUnknown" title="xmlSecPtrListIdUnknown">xmlSecPtrListIdUnknown</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-list.html#xmlSecPtrListInitialize" title="xmlSecPtrListInitialize ()">xmlSecPtrListInitialize</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-list.html#xmlSecPtrListIsValid" title="xmlSecPtrListIsValid()">xmlSecPtrListIsValid</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-list.html#xmlSecPtrListKlassGetName" title="xmlSecPtrListKlassGetName()">xmlSecPtrListKlassGetName</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-list.html#xmlSecPtrListKlass" title="struct xmlSecPtrListKlass">xmlSecPtrListKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-list.html#xmlSecPtrList" title="struct xmlSecPtrList">xmlSecPtrList</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-list.html#xmlSecPtrListRemoveAndReturn" title="xmlSecPtrListRemoveAndReturn ()">xmlSecPtrListRemoveAndReturn</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-list.html#xmlSecPtrListRemove" title="xmlSecPtrListRemove ()">xmlSecPtrListRemove</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-list.html#xmlSecPtrListSetDefaultAllocMode" title="xmlSecPtrListSetDefaultAllocMode ()">xmlSecPtrListSetDefaultAllocMode</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-list.html#xmlSecPtrListSet" title="xmlSecPtrListSet ()">xmlSecPtrListSet</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-xmlsec.html#xmlSecPtr" title="xmlSecPtr">xmlSecPtr</a></p></li>
+<li class="listitem"><p><font>XMLSEC-PTR-TO-FUNC-IMPL</font></p></li>
+<li class="listitem"><p><font>XMLSEC-PTR-TO-FUNC</font></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-xmltree.html#xmlSecQName2BitMaskDebugDump" title="xmlSecQName2BitMaskDebugDump ()">xmlSecQName2BitMaskDebugDump</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-xmltree.html#xmlSecQName2BitMaskDebugXmlDump" title="xmlSecQName2BitMaskDebugXmlDump ()">xmlSecQName2BitMaskDebugXmlDump</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-xmltree.html#xmlSecQName2BitMaskGetBitMaskFromString" title="xmlSecQName2BitMaskGetBitMaskFromString ()">xmlSecQName2BitMaskGetBitMaskFromString</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-xmltree.html#xmlSecQName2BitMaskGetBitMask" title="xmlSecQName2BitMaskGetBitMask ()">xmlSecQName2BitMaskGetBitMask</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-xmltree.html#xmlSecQName2BitMaskGetInfo" title="xmlSecQName2BitMaskGetInfo ()">xmlSecQName2BitMaskGetInfo</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-xmltree.html#xmlSecQName2BitMaskGetStringFromBitMask" title="xmlSecQName2BitMaskGetStringFromBitMask ()">xmlSecQName2BitMaskGetStringFromBitMask</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-xmltree.html#xmlSecQName2BitMaskInfoConstPtr" title="xmlSecQName2BitMaskInfoConstPtr">xmlSecQName2BitMaskInfoConstPtr</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-xmltree.html#xmlSecQName2BitMaskInfo" title="struct xmlSecQName2BitMaskInfo">xmlSecQName2BitMaskInfo</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-xmltree.html#xmlSecQName2BitMaskNodesRead" title="xmlSecQName2BitMaskNodesRead ()">xmlSecQName2BitMaskNodesRead</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-xmltree.html#xmlSecQName2BitMaskNodesWrite" title="xmlSecQName2BitMaskNodesWrite ()">xmlSecQName2BitMaskNodesWrite</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-xmltree.html#xmlSecQName2IntegerAttributeRead" title="xmlSecQName2IntegerAttributeRead ()">xmlSecQName2IntegerAttributeRead</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-xmltree.html#xmlSecQName2IntegerAttributeWrite" title="xmlSecQName2IntegerAttributeWrite ()">xmlSecQName2IntegerAttributeWrite</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-xmltree.html#xmlSecQName2IntegerDebugDump" title="xmlSecQName2IntegerDebugDump ()">xmlSecQName2IntegerDebugDump</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-xmltree.html#xmlSecQName2IntegerDebugXmlDump" title="xmlSecQName2IntegerDebugXmlDump ()">xmlSecQName2IntegerDebugXmlDump</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-xmltree.html#xmlSecQName2IntegerGetInfo" title="xmlSecQName2IntegerGetInfo ()">xmlSecQName2IntegerGetInfo</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-xmltree.html#xmlSecQName2IntegerGetIntegerFromString" title="xmlSecQName2IntegerGetIntegerFromString ()">xmlSecQName2IntegerGetIntegerFromString</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-xmltree.html#xmlSecQName2IntegerGetInteger" title="xmlSecQName2IntegerGetInteger ()">xmlSecQName2IntegerGetInteger</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-xmltree.html#xmlSecQName2IntegerGetStringFromInteger" title="xmlSecQName2IntegerGetStringFromInteger ()">xmlSecQName2IntegerGetStringFromInteger</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-xmltree.html#xmlSecQName2IntegerInfoConstPtr" title="xmlSecQName2IntegerInfoConstPtr">xmlSecQName2IntegerInfoConstPtr</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-xmltree.html#xmlSecQName2IntegerInfo" title="struct xmlSecQName2IntegerInfo">xmlSecQName2IntegerInfo</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-xmltree.html#xmlSecQName2IntegerNodeRead" title="xmlSecQName2IntegerNodeRead ()">xmlSecQName2IntegerNodeRead</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-xmltree.html#xmlSecQName2IntegerNodeWrite" title="xmlSecQName2IntegerNodeWrite ()">xmlSecQName2IntegerNodeWrite</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-xmltree.html#xmlSecReplaceContentAndReturn" title="xmlSecReplaceContentAndReturn ()">xmlSecReplaceContentAndReturn</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-xmltree.html#xmlSecReplaceContent" title="xmlSecReplaceContent ()">xmlSecReplaceContent</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-xmltree.html#xmlSecReplaceNodeAndReturn" title="xmlSecReplaceNodeAndReturn ()">xmlSecReplaceNodeAndReturn</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-xmltree.html#xmlSecReplaceNodeBufferAndReturn" title="xmlSecReplaceNodeBufferAndReturn ()">xmlSecReplaceNodeBufferAndReturn</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-xmltree.html#xmlSecReplaceNodeBuffer" title="xmlSecReplaceNodeBuffer ()">xmlSecReplaceNodeBuffer</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-xmltree.html#xmlSecReplaceNode" title="xmlSecReplaceNode ()">xmlSecReplaceNode</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-xmlsec.html#xmlSecSetExternalEntityLoader" title="xmlSecSetExternalEntityLoader ()">xmlSecSetExternalEntityLoader</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-xmlsec.html#xmlSecShutdown" title="xmlSecShutdown ()">xmlSecShutdown</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keysmngr.html#xmlSecSimpleKeysStoreAdoptKey" title="xmlSecSimpleKeysStoreAdoptKey ()">xmlSecSimpleKeysStoreAdoptKey</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keysmngr.html#xmlSecSimpleKeysStoreGetKeys" title="xmlSecSimpleKeysStoreGetKeys ()">xmlSecSimpleKeysStoreGetKeys</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keysmngr.html#xmlSecSimpleKeysStoreGetKlass" title="xmlSecSimpleKeysStoreGetKlass ()">xmlSecSimpleKeysStoreGetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keysmngr.html#xmlSecSimpleKeysStoreId" title="xmlSecSimpleKeysStoreId">xmlSecSimpleKeysStoreId</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keysmngr.html#xmlSecSimpleKeysStoreLoad" title="xmlSecSimpleKeysStoreLoad ()">xmlSecSimpleKeysStoreLoad</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-keysmngr.html#xmlSecSimpleKeysStoreSave" title="xmlSecSimpleKeysStoreSave ()">xmlSecSimpleKeysStoreSave</a></p></li>
+<li class="listitem"><p><font>XMLSEC-SIZE-BAD-CAST</font></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize">xmlSecSize</a></p></li>
+<li class="listitem"><p><font>xmlSecSoap12FaultCode</font></p></li>
+<li class="listitem"><p><font>XMLSEC-STACK-OF-X509-CRL</font></p></li>
+<li class="listitem"><p><font>XMLSEC-STACK-OF-X509</font></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-list.html#xmlSecStringListGetKlass" title="xmlSecStringListGetKlass ()">xmlSecStringListGetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-list.html#xmlSecStringListId" title="xmlSecStringListId">xmlSecStringListId</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-templates.html#xmlSecTmplCipherReferenceAddTransform" title="xmlSecTmplCipherReferenceAddTransform ()">xmlSecTmplCipherReferenceAddTransform</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-templates.html#xmlSecTmplEncDataAddEncProperty" title="xmlSecTmplEncDataAddEncProperty ()">xmlSecTmplEncDataAddEncProperty</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-templates.html#xmlSecTmplEncDataCreate" title="xmlSecTmplEncDataCreate ()">xmlSecTmplEncDataCreate</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-templates.html#xmlSecTmplEncDataEnsureCipherReference" title="xmlSecTmplEncDataEnsureCipherReference ()">xmlSecTmplEncDataEnsureCipherReference</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-templates.html#xmlSecTmplEncDataEnsureCipherValue" title="xmlSecTmplEncDataEnsureCipherValue ()">xmlSecTmplEncDataEnsureCipherValue</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-templates.html#xmlSecTmplEncDataEnsureEncProperties" title="xmlSecTmplEncDataEnsureEncProperties ()">xmlSecTmplEncDataEnsureEncProperties</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-templates.html#xmlSecTmplEncDataEnsureKeyInfo" title="xmlSecTmplEncDataEnsureKeyInfo ()">xmlSecTmplEncDataEnsureKeyInfo</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-templates.html#xmlSecTmplEncDataGetEncMethodNode" title="xmlSecTmplEncDataGetEncMethodNode ()">xmlSecTmplEncDataGetEncMethodNode</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-templates.html#xmlSecTmplKeyInfoAddEncryptedKey" title="xmlSecTmplKeyInfoAddEncryptedKey ()">xmlSecTmplKeyInfoAddEncryptedKey</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-templates.html#xmlSecTmplKeyInfoAddKeyName" title="xmlSecTmplKeyInfoAddKeyName ()">xmlSecTmplKeyInfoAddKeyName</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-templates.html#xmlSecTmplKeyInfoAddKeyValue" title="xmlSecTmplKeyInfoAddKeyValue ()">xmlSecTmplKeyInfoAddKeyValue</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-templates.html#xmlSecTmplKeyInfoAddRetrievalMethod" title="xmlSecTmplKeyInfoAddRetrievalMethod ()">xmlSecTmplKeyInfoAddRetrievalMethod</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-templates.html#xmlSecTmplKeyInfoAddX509Data" title="xmlSecTmplKeyInfoAddX509Data ()">xmlSecTmplKeyInfoAddX509Data</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-templates.html#xmlSecTmplManifestAddReference" title="xmlSecTmplManifestAddReference ()">xmlSecTmplManifestAddReference</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-templates.html#xmlSecTmplObjectAddManifest" title="xmlSecTmplObjectAddManifest ()">xmlSecTmplObjectAddManifest</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-templates.html#xmlSecTmplObjectAddSignProperties" title="xmlSecTmplObjectAddSignProperties ()">xmlSecTmplObjectAddSignProperties</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-templates.html#xmlSecTmplReferenceAddTransform" title="xmlSecTmplReferenceAddTransform ()">xmlSecTmplReferenceAddTransform</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-templates.html#xmlSecTmplReferenceListAddDataReference" title="xmlSecTmplReferenceListAddDataReference ()">xmlSecTmplReferenceListAddDataReference</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-templates.html#xmlSecTmplReferenceListAddKeyReference" title="xmlSecTmplReferenceListAddKeyReference ()">xmlSecTmplReferenceListAddKeyReference</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-templates.html#xmlSecTmplRetrievalMethodAddTransform" title="xmlSecTmplRetrievalMethodAddTransform ()">xmlSecTmplRetrievalMethodAddTransform</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-templates.html#xmlSecTmplSignatureAddObject" title="xmlSecTmplSignatureAddObject ()">xmlSecTmplSignatureAddObject</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-templates.html#xmlSecTmplSignatureAddReference" title="xmlSecTmplSignatureAddReference ()">xmlSecTmplSignatureAddReference</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-templates.html#xmlSecTmplSignatureCreate" title="xmlSecTmplSignatureCreate ()">xmlSecTmplSignatureCreate</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-templates.html#xmlSecTmplSignatureCreateNsPref" title="xmlSecTmplSignatureCreateNsPref ()">xmlSecTmplSignatureCreateNsPref</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-templates.html#xmlSecTmplSignatureEnsureKeyInfo" title="xmlSecTmplSignatureEnsureKeyInfo ()">xmlSecTmplSignatureEnsureKeyInfo</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-templates.html#xmlSecTmplSignatureGetC14NMethodNode" title="xmlSecTmplSignatureGetC14NMethodNode ()">xmlSecTmplSignatureGetC14NMethodNode</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-templates.html#xmlSecTmplSignatureGetSignMethodNode" title="xmlSecTmplSignatureGetSignMethodNode ()">xmlSecTmplSignatureGetSignMethodNode</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-templates.html#xmlSecTmplTransformAddC14NInclNamespaces" title="xmlSecTmplTransformAddC14NInclNamespaces ()">xmlSecTmplTransformAddC14NInclNamespaces</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-templates.html#xmlSecTmplTransformAddHmacOutputLength" title="xmlSecTmplTransformAddHmacOutputLength ()">xmlSecTmplTransformAddHmacOutputLength</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-templates.html#xmlSecTmplTransformAddRsaOaepParam" title="xmlSecTmplTransformAddRsaOaepParam ()">xmlSecTmplTransformAddRsaOaepParam</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-templates.html#xmlSecTmplTransformAddXPath2" title="xmlSecTmplTransformAddXPath2 ()">xmlSecTmplTransformAddXPath2</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-templates.html#xmlSecTmplTransformAddXPath" title="xmlSecTmplTransformAddXPath ()">xmlSecTmplTransformAddXPath</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-templates.html#xmlSecTmplTransformAddXPointer" title="xmlSecTmplTransformAddXPointer ()">xmlSecTmplTransformAddXPointer</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-templates.html#xmlSecTmplTransformAddXsltStylesheet" title="xmlSecTmplTransformAddXsltStylesheet ()">xmlSecTmplTransformAddXsltStylesheet</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-templates.html#xmlSecTmplX509DataAddCertificate" title="xmlSecTmplX509DataAddCertificate ()">xmlSecTmplX509DataAddCertificate</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-templates.html#xmlSecTmplX509DataAddCRL" title="xmlSecTmplX509DataAddCRL ()">xmlSecTmplX509DataAddCRL</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-templates.html#xmlSecTmplX509DataAddIssuerSerial" title="xmlSecTmplX509DataAddIssuerSerial ()">xmlSecTmplX509DataAddIssuerSerial</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-templates.html#xmlSecTmplX509DataAddSKI" title="xmlSecTmplX509DataAddSKI ()">xmlSecTmplX509DataAddSKI</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-templates.html#xmlSecTmplX509DataAddSubjectName" title="xmlSecTmplX509DataAddSubjectName ()">xmlSecTmplX509DataAddSubjectName</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-templates.html#xmlSecTmplX509IssuerSerialAddIssuerName" title="xmlSecTmplX509IssuerSerialAddIssuerName ()">xmlSecTmplX509IssuerSerialAddIssuerName</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-templates.html#xmlSecTmplX509IssuerSerialAddSerialNumber" title="xmlSecTmplX509IssuerSerialAddSerialNumber ()">xmlSecTmplX509IssuerSerialAddSerialNumber</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-app.html#xmlSecTransformAes128CbcGetKlass" title="xmlSecTransformAes128CbcGetKlass ()">xmlSecTransformAes128CbcGetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-app.html#xmlSecTransformAes128CbcId" title="xmlSecTransformAes128CbcId">xmlSecTransformAes128CbcId</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-app.html#xmlSecTransformAes192CbcGetKlass" title="xmlSecTransformAes192CbcGetKlass ()">xmlSecTransformAes192CbcGetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-app.html#xmlSecTransformAes192CbcId" title="xmlSecTransformAes192CbcId">xmlSecTransformAes192CbcId</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-app.html#xmlSecTransformAes256CbcGetKlass" title="xmlSecTransformAes256CbcGetKlass ()">xmlSecTransformAes256CbcGetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-app.html#xmlSecTransformAes256CbcId" title="xmlSecTransformAes256CbcId">xmlSecTransformAes256CbcId</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformBase64GetKlass" title="xmlSecTransformBase64GetKlass ()">xmlSecTransformBase64GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformBase64Id" title="xmlSecTransformBase64Id">xmlSecTransformBase64Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformBase64SetLineSize" title="xmlSecTransformBase64SetLineSize ()">xmlSecTransformBase64SetLineSize</a></p></li>
+<li class="listitem"><p><font>XMLSEC-TRANSFORM-BINARY-CHUNK</font></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformCheckId" title="xmlSecTransformCheckId()">xmlSecTransformCheckId</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformCheckSize" title="xmlSecTransformCheckSize()">xmlSecTransformCheckSize</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformConnect" title="xmlSecTransformConnect ()">xmlSecTransformConnect</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformCreateInputBuffer" title="xmlSecTransformCreateInputBuffer ()">xmlSecTransformCreateInputBuffer</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformCreate" title="xmlSecTransformCreate ()">xmlSecTransformCreate</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformCreateOutputBuffer" title="xmlSecTransformCreateOutputBuffer ()">xmlSecTransformCreateOutputBuffer</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformCtxAppend" title="xmlSecTransformCtxAppend ()">xmlSecTransformCtxAppend</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformCtxBinaryExecute" title="xmlSecTransformCtxBinaryExecute ()">xmlSecTransformCtxBinaryExecute</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformCtxCopyUserPref" title="xmlSecTransformCtxCopyUserPref ()">xmlSecTransformCtxCopyUserPref</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformCtxCreateAndAppend" title="xmlSecTransformCtxCreateAndAppend ()">xmlSecTransformCtxCreateAndAppend</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformCtxCreateAndPrepend" title="xmlSecTransformCtxCreateAndPrepend ()">xmlSecTransformCtxCreateAndPrepend</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformCtxCreate" title="xmlSecTransformCtxCreate ()">xmlSecTransformCtxCreate</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformCtxDebugDump" title="xmlSecTransformCtxDebugDump ()">xmlSecTransformCtxDebugDump</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformCtxDebugXmlDump" title="xmlSecTransformCtxDebugXmlDump ()">xmlSecTransformCtxDebugXmlDump</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformCtxDestroy" title="xmlSecTransformCtxDestroy ()">xmlSecTransformCtxDestroy</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformCtxExecute" title="xmlSecTransformCtxExecute ()">xmlSecTransformCtxExecute</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformCtxFinalize" title="xmlSecTransformCtxFinalize ()">xmlSecTransformCtxFinalize</a></p></li>
+<li class="listitem"><p><font>XMLSEC-TRANSFORMCTX-FLAGS-USE-VISA3D-HACK</font></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformCtxInitialize" title="xmlSecTransformCtxInitialize ()">xmlSecTransformCtxInitialize</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformCtx" title="struct xmlSecTransformCtx">xmlSecTransformCtx</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformCtxNodeRead" title="xmlSecTransformCtxNodeRead ()">xmlSecTransformCtxNodeRead</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformCtxNodesListRead" title="xmlSecTransformCtxNodesListRead ()">xmlSecTransformCtxNodesListRead</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformCtxPreExecuteCallback" title="xmlSecTransformCtxPreExecuteCallback ()">xmlSecTransformCtxPreExecuteCallback</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformCtxPrepare" title="xmlSecTransformCtxPrepare ()">xmlSecTransformCtxPrepare</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformCtxPrepend" title="xmlSecTransformCtxPrepend ()">xmlSecTransformCtxPrepend</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformCtxReset" title="xmlSecTransformCtxReset ()">xmlSecTransformCtxReset</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformCtxSetUri" title="xmlSecTransformCtxSetUri ()">xmlSecTransformCtxSetUri</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformCtxUriExecute" title="xmlSecTransformCtxUriExecute ()">xmlSecTransformCtxUriExecute</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformCtxXmlExecute" title="xmlSecTransformCtxXmlExecute ()">xmlSecTransformCtxXmlExecute</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformDataTypeBin" title="xmlSecTransformDataTypeBin">xmlSecTransformDataTypeBin</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformDataType" title="xmlSecTransformDataType">xmlSecTransformDataType</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformDataTypeUnknown" title="xmlSecTransformDataTypeUnknown">xmlSecTransformDataTypeUnknown</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformDataTypeXml" title="xmlSecTransformDataTypeXml">xmlSecTransformDataTypeXml</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformDebugDump" title="xmlSecTransformDebugDump ()">xmlSecTransformDebugDump</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformDebugXmlDump" title="xmlSecTransformDebugXmlDump ()">xmlSecTransformDebugXmlDump</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformDefaultGetDataType" title="xmlSecTransformDefaultGetDataType ()">xmlSecTransformDefaultGetDataType</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformDefaultPopBin" title="xmlSecTransformDefaultPopBin ()">xmlSecTransformDefaultPopBin</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformDefaultPopXml" title="xmlSecTransformDefaultPopXml ()">xmlSecTransformDefaultPopXml</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformDefaultPushBin" title="xmlSecTransformDefaultPushBin ()">xmlSecTransformDefaultPushBin</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformDefaultPushXml" title="xmlSecTransformDefaultPushXml ()">xmlSecTransformDefaultPushXml</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-app.html#xmlSecTransformDes3CbcGetKlass" title="xmlSecTransformDes3CbcGetKlass ()">xmlSecTransformDes3CbcGetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-app.html#xmlSecTransformDes3CbcId" title="xmlSecTransformDes3CbcId">xmlSecTransformDes3CbcId</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformDestroy" title="xmlSecTransformDestroy ()">xmlSecTransformDestroy</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-app.html#xmlSecTransformDsaSha1GetKlass" title="xmlSecTransformDsaSha1GetKlass ()">xmlSecTransformDsaSha1GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-app.html#xmlSecTransformDsaSha1Id" title="xmlSecTransformDsaSha1Id">xmlSecTransformDsaSha1Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-app.html#xmlSecTransformDsaSha256GetKlass" title="xmlSecTransformDsaSha256GetKlass ()">xmlSecTransformDsaSha256GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-app.html#xmlSecTransformDsaSha256Id" title="xmlSecTransformDsaSha256Id">xmlSecTransformDsaSha256Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-app.html#xmlSecTransformEcdsaSha1GetKlass" title="xmlSecTransformEcdsaSha1GetKlass ()">xmlSecTransformEcdsaSha1GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-app.html#xmlSecTransformEcdsaSha1Id" title="xmlSecTransformEcdsaSha1Id">xmlSecTransformEcdsaSha1Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-app.html#xmlSecTransformEcdsaSha224GetKlass" title="xmlSecTransformEcdsaSha224GetKlass ()">xmlSecTransformEcdsaSha224GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-app.html#xmlSecTransformEcdsaSha224Id" title="xmlSecTransformEcdsaSha224Id">xmlSecTransformEcdsaSha224Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-app.html#xmlSecTransformEcdsaSha256GetKlass" title="xmlSecTransformEcdsaSha256GetKlass ()">xmlSecTransformEcdsaSha256GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-app.html#xmlSecTransformEcdsaSha256Id" title="xmlSecTransformEcdsaSha256Id">xmlSecTransformEcdsaSha256Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-app.html#xmlSecTransformEcdsaSha384GetKlass" title="xmlSecTransformEcdsaSha384GetKlass ()">xmlSecTransformEcdsaSha384GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-app.html#xmlSecTransformEcdsaSha384Id" title="xmlSecTransformEcdsaSha384Id">xmlSecTransformEcdsaSha384Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-app.html#xmlSecTransformEcdsaSha512GetKlass" title="xmlSecTransformEcdsaSha512GetKlass ()">xmlSecTransformEcdsaSha512GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-app.html#xmlSecTransformEcdsaSha512Id" title="xmlSecTransformEcdsaSha512Id">xmlSecTransformEcdsaSha512Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformEnvelopedGetKlass" title="xmlSecTransformEnvelopedGetKlass ()">xmlSecTransformEnvelopedGetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformEnvelopedId" title="xmlSecTransformEnvelopedId">xmlSecTransformEnvelopedId</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformExclC14NGetKlass" title="xmlSecTransformExclC14NGetKlass ()">xmlSecTransformExclC14NGetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformExclC14NId" title="xmlSecTransformExclC14NId">xmlSecTransformExclC14NId</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformExclC14NWithCommentsGetKlass" title="xmlSecTransformExclC14NWithCommentsGetKlass ()">xmlSecTransformExclC14NWithCommentsGetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformExclC14NWithCommentsId" title="xmlSecTransformExclC14NWithCommentsId">xmlSecTransformExclC14NWithCommentsId</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformExecuteMethod" title="xmlSecTransformExecuteMethod ()">xmlSecTransformExecuteMethod</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformExecute" title="xmlSecTransformExecute ()">xmlSecTransformExecute</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformFinalizeMethod" title="xmlSecTransformFinalizeMethod ()">xmlSecTransformFinalizeMethod</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformGetDataTypeMethod" title="xmlSecTransformGetDataTypeMethod ()">xmlSecTransformGetDataTypeMethod</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformGetDataType" title="xmlSecTransformGetDataType ()">xmlSecTransformGetDataType</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformGetName" title="xmlSecTransformGetName()">xmlSecTransformGetName</a></p></li>
+<li class="listitem"><p><font>xmlSecTransformGost2001GostR3411-94GetKlass</font></p></li>
+<li class="listitem"><p><font>xmlSecTransformGost2001GostR3411-94Id</font></p></li>
+<li class="listitem"><p><font>xmlSecTransformGostR3410-2012GostR3411-2012-256GetKlass</font></p></li>
+<li class="listitem"><p><font>xmlSecTransformGostR3410-2012GostR3411-2012-256Id</font></p></li>
+<li class="listitem"><p><font>xmlSecTransformGostR3410-2012GostR3411-2012-512GetKlass</font></p></li>
+<li class="listitem"><p><font>xmlSecTransformGostR3410-2012GostR3411-2012-512Id</font></p></li>
+<li class="listitem"><p><font>xmlSecTransformGostR3411-2012-256GetKlass</font></p></li>
+<li class="listitem"><p><font>xmlSecTransformGostR3411-2012-256Id</font></p></li>
+<li class="listitem"><p><font>xmlSecTransformGostR3411-2012-512GetKlass</font></p></li>
+<li class="listitem"><p><font>xmlSecTransformGostR3411-2012-512Id</font></p></li>
+<li class="listitem"><p><font>xmlSecTransformGostR3411-94GetKlass</font></p></li>
+<li class="listitem"><p><font>xmlSecTransformGostR3411-94Id</font></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-app.html#xmlSecTransformHmacMd5GetKlass" title="xmlSecTransformHmacMd5GetKlass ()">xmlSecTransformHmacMd5GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-app.html#xmlSecTransformHmacMd5Id" title="xmlSecTransformHmacMd5Id">xmlSecTransformHmacMd5Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-app.html#xmlSecTransformHmacRipemd160GetKlass" title="xmlSecTransformHmacRipemd160GetKlass ()">xmlSecTransformHmacRipemd160GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-app.html#xmlSecTransformHmacRipemd160Id" title="xmlSecTransformHmacRipemd160Id">xmlSecTransformHmacRipemd160Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-app.html#xmlSecTransformHmacSha1GetKlass" title="xmlSecTransformHmacSha1GetKlass ()">xmlSecTransformHmacSha1GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-app.html#xmlSecTransformHmacSha1Id" title="xmlSecTransformHmacSha1Id">xmlSecTransformHmacSha1Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-app.html#xmlSecTransformHmacSha224GetKlass" title="xmlSecTransformHmacSha224GetKlass ()">xmlSecTransformHmacSha224GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-app.html#xmlSecTransformHmacSha224Id" title="xmlSecTransformHmacSha224Id">xmlSecTransformHmacSha224Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-app.html#xmlSecTransformHmacSha256GetKlass" title="xmlSecTransformHmacSha256GetKlass ()">xmlSecTransformHmacSha256GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-app.html#xmlSecTransformHmacSha256Id" title="xmlSecTransformHmacSha256Id">xmlSecTransformHmacSha256Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-app.html#xmlSecTransformHmacSha384GetKlass" title="xmlSecTransformHmacSha384GetKlass ()">xmlSecTransformHmacSha384GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-app.html#xmlSecTransformHmacSha384Id" title="xmlSecTransformHmacSha384Id">xmlSecTransformHmacSha384Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-app.html#xmlSecTransformHmacSha512GetKlass" title="xmlSecTransformHmacSha512GetKlass ()">xmlSecTransformHmacSha512GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-app.html#xmlSecTransformHmacSha512Id" title="xmlSecTransformHmacSha512Id">xmlSecTransformHmacSha512Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformIdListDebugDump" title="xmlSecTransformIdListDebugDump ()">xmlSecTransformIdListDebugDump</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformIdListDebugXmlDump" title="xmlSecTransformIdListDebugXmlDump ()">xmlSecTransformIdListDebugXmlDump</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformIdListFindByHref" title="xmlSecTransformIdListFindByHref ()">xmlSecTransformIdListFindByHref</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformIdListFindByName" title="xmlSecTransformIdListFindByName ()">xmlSecTransformIdListFindByName</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformIdListFind" title="xmlSecTransformIdListFind ()">xmlSecTransformIdListFind</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformIdListGetKlass" title="xmlSecTransformIdListGetKlass ()">xmlSecTransformIdListGetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformIdListId" title="xmlSecTransformIdListId">xmlSecTransformIdListId</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformIdsGet" title="xmlSecTransformIdsGet ()">xmlSecTransformIdsGet</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformIdsInit" title="xmlSecTransformIdsInit ()">xmlSecTransformIdsInit</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformIdsRegisterDefault" title="xmlSecTransformIdsRegisterDefault ()">xmlSecTransformIdsRegisterDefault</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformIdsRegister" title="xmlSecTransformIdsRegister ()">xmlSecTransformIdsRegister</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformIdsShutdown" title="xmlSecTransformIdsShutdown ()">xmlSecTransformIdsShutdown</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformIdUnknown" title="xmlSecTransformIdUnknown">xmlSecTransformIdUnknown</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformInclC14N11GetKlass" title="xmlSecTransformInclC14N11GetKlass ()">xmlSecTransformInclC14N11GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformInclC14N11Id" title="xmlSecTransformInclC14N11Id">xmlSecTransformInclC14N11Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformInclC14N11WithCommentsGetKlass" title="xmlSecTransformInclC14N11WithCommentsGetKlass ()">xmlSecTransformInclC14N11WithCommentsGetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformInclC14N11WithCommentsId" title="xmlSecTransformInclC14N11WithCommentsId">xmlSecTransformInclC14N11WithCommentsId</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformInclC14NGetKlass" title="xmlSecTransformInclC14NGetKlass ()">xmlSecTransformInclC14NGetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformInclC14NId" title="xmlSecTransformInclC14NId">xmlSecTransformInclC14NId</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformInclC14NWithCommentsGetKlass" title="xmlSecTransformInclC14NWithCommentsGetKlass ()">xmlSecTransformInclC14NWithCommentsGetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformInclC14NWithCommentsId" title="xmlSecTransformInclC14NWithCommentsId">xmlSecTransformInclC14NWithCommentsId</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformInitializeMethod" title="xmlSecTransformInitializeMethod ()">xmlSecTransformInitializeMethod</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-io.html#xmlSecTransformInputURIClose" title="xmlSecTransformInputURIClose ()">xmlSecTransformInputURIClose</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-io.html#xmlSecTransformInputURIGetKlass" title="xmlSecTransformInputURIGetKlass ()">xmlSecTransformInputURIGetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-io.html#xmlSecTransformInputURIId" title="xmlSecTransformInputURIId">xmlSecTransformInputURIId</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-io.html#xmlSecTransformInputURIOpen" title="xmlSecTransformInputURIOpen ()">xmlSecTransformInputURIOpen</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformIsValid" title="xmlSecTransformIsValid()">xmlSecTransformIsValid</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformKlassGetName" title="xmlSecTransformKlassGetName()">xmlSecTransformKlassGetName</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformKlass" title="struct xmlSecTransformKlass">xmlSecTransformKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-app.html#xmlSecTransformKWAes128GetKlass" title="xmlSecTransformKWAes128GetKlass ()">xmlSecTransformKWAes128GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-app.html#xmlSecTransformKWAes128Id" title="xmlSecTransformKWAes128Id">xmlSecTransformKWAes128Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-app.html#xmlSecTransformKWAes192GetKlass" title="xmlSecTransformKWAes192GetKlass ()">xmlSecTransformKWAes192GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-app.html#xmlSecTransformKWAes192Id" title="xmlSecTransformKWAes192Id">xmlSecTransformKWAes192Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-app.html#xmlSecTransformKWAes256GetKlass" title="xmlSecTransformKWAes256GetKlass ()">xmlSecTransformKWAes256GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-app.html#xmlSecTransformKWAes256Id" title="xmlSecTransformKWAes256Id">xmlSecTransformKWAes256Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-app.html#xmlSecTransformKWDes3GetKlass" title="xmlSecTransformKWDes3GetKlass ()">xmlSecTransformKWDes3GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-app.html#xmlSecTransformKWDes3Id" title="xmlSecTransformKWDes3Id">xmlSecTransformKWDes3Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-app.html#xmlSecTransformMd5GetKlass" title="xmlSecTransformMd5GetKlass ()">xmlSecTransformMd5GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-app.html#xmlSecTransformMd5Id" title="xmlSecTransformMd5Id">xmlSecTransformMd5Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-membuf.html#xmlSecTransformMemBufGetBuffer" title="xmlSecTransformMemBufGetBuffer ()">xmlSecTransformMemBufGetBuffer</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-membuf.html#xmlSecTransformMemBufGetKlass" title="xmlSecTransformMemBufGetKlass ()">xmlSecTransformMemBufGetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-membuf.html#xmlSecTransformMemBufId" title="xmlSecTransformMemBufId">xmlSecTransformMemBufId</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformMode" title="enum xmlSecTransformMode">xmlSecTransformMode</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransform" title="struct xmlSecTransform">xmlSecTransform</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformNodeReadMethod" title="xmlSecTransformNodeReadMethod ()">xmlSecTransformNodeReadMethod</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformNodeRead" title="xmlSecTransformNodeRead ()">xmlSecTransformNodeRead</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformNodeWriteMethod" title="xmlSecTransformNodeWriteMethod ()">xmlSecTransformNodeWriteMethod</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformOperation" title="enum xmlSecTransformOperation">xmlSecTransformOperation</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformPopBinMethod" title="xmlSecTransformPopBinMethod ()">xmlSecTransformPopBinMethod</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformPopBin" title="xmlSecTransformPopBin ()">xmlSecTransformPopBin</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformPopXmlMethod" title="xmlSecTransformPopXmlMethod ()">xmlSecTransformPopXmlMethod</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformPopXml" title="xmlSecTransformPopXml ()">xmlSecTransformPopXml</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformPump" title="xmlSecTransformPump ()">xmlSecTransformPump</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformPushBinMethod" title="xmlSecTransformPushBinMethod ()">xmlSecTransformPushBinMethod</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformPushBin" title="xmlSecTransformPushBin ()">xmlSecTransformPushBin</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformPushXmlMethod" title="xmlSecTransformPushXmlMethod ()">xmlSecTransformPushXmlMethod</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformPushXml" title="xmlSecTransformPushXml ()">xmlSecTransformPushXml</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformRelationshipGetKlass" title="xmlSecTransformRelationshipGetKlass ()">xmlSecTransformRelationshipGetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformRelationshipId" title="xmlSecTransformRelationshipId">xmlSecTransformRelationshipId</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformRemove" title="xmlSecTransformRemove ()">xmlSecTransformRemove</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformRemoveXmlTagsC14NGetKlass" title="xmlSecTransformRemoveXmlTagsC14NGetKlass ()">xmlSecTransformRemoveXmlTagsC14NGetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformRemoveXmlTagsC14NId" title="xmlSecTransformRemoveXmlTagsC14NId">xmlSecTransformRemoveXmlTagsC14NId</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-app.html#xmlSecTransformRipemd160GetKlass" title="xmlSecTransformRipemd160GetKlass ()">xmlSecTransformRipemd160GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-app.html#xmlSecTransformRipemd160Id" title="xmlSecTransformRipemd160Id">xmlSecTransformRipemd160Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-app.html#xmlSecTransformRsaMd5GetKlass" title="xmlSecTransformRsaMd5GetKlass ()">xmlSecTransformRsaMd5GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-app.html#xmlSecTransformRsaMd5Id" title="xmlSecTransformRsaMd5Id">xmlSecTransformRsaMd5Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-app.html#xmlSecTransformRsaOaepGetKlass" title="xmlSecTransformRsaOaepGetKlass ()">xmlSecTransformRsaOaepGetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-app.html#xmlSecTransformRsaOaepId" title="xmlSecTransformRsaOaepId">xmlSecTransformRsaOaepId</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-app.html#xmlSecTransformRsaPkcs1GetKlass" title="xmlSecTransformRsaPkcs1GetKlass ()">xmlSecTransformRsaPkcs1GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-app.html#xmlSecTransformRsaPkcs1Id" title="xmlSecTransformRsaPkcs1Id">xmlSecTransformRsaPkcs1Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-app.html#xmlSecTransformRsaRipemd160GetKlass" title="xmlSecTransformRsaRipemd160GetKlass ()">xmlSecTransformRsaRipemd160GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-app.html#xmlSecTransformRsaRipemd160Id" title="xmlSecTransformRsaRipemd160Id">xmlSecTransformRsaRipemd160Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-app.html#xmlSecTransformRsaSha1GetKlass" title="xmlSecTransformRsaSha1GetKlass ()">xmlSecTransformRsaSha1GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-app.html#xmlSecTransformRsaSha1Id" title="xmlSecTransformRsaSha1Id">xmlSecTransformRsaSha1Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-app.html#xmlSecTransformRsaSha224GetKlass" title="xmlSecTransformRsaSha224GetKlass ()">xmlSecTransformRsaSha224GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-app.html#xmlSecTransformRsaSha224Id" title="xmlSecTransformRsaSha224Id">xmlSecTransformRsaSha224Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-app.html#xmlSecTransformRsaSha256GetKlass" title="xmlSecTransformRsaSha256GetKlass ()">xmlSecTransformRsaSha256GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-app.html#xmlSecTransformRsaSha256Id" title="xmlSecTransformRsaSha256Id">xmlSecTransformRsaSha256Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-app.html#xmlSecTransformRsaSha384GetKlass" title="xmlSecTransformRsaSha384GetKlass ()">xmlSecTransformRsaSha384GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-app.html#xmlSecTransformRsaSha384Id" title="xmlSecTransformRsaSha384Id">xmlSecTransformRsaSha384Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-app.html#xmlSecTransformRsaSha512GetKlass" title="xmlSecTransformRsaSha512GetKlass ()">xmlSecTransformRsaSha512GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-app.html#xmlSecTransformRsaSha512Id" title="xmlSecTransformRsaSha512Id">xmlSecTransformRsaSha512Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformSetKeyMethod" title="xmlSecTransformSetKeyMethod ()">xmlSecTransformSetKeyMethod</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformSetKey" title="xmlSecTransformSetKey ()">xmlSecTransformSetKey</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformSetKeyReq" title="xmlSecTransformSetKeyReq ()">xmlSecTransformSetKeyReq</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformSetKeyRequirementsMethod" title="xmlSecTransformSetKeyRequirementsMethod ()">xmlSecTransformSetKeyRequirementsMethod</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-app.html#xmlSecTransformSha1GetKlass" title="xmlSecTransformSha1GetKlass ()">xmlSecTransformSha1GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-app.html#xmlSecTransformSha1Id" title="xmlSecTransformSha1Id">xmlSecTransformSha1Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-app.html#xmlSecTransformSha224GetKlass" title="xmlSecTransformSha224GetKlass ()">xmlSecTransformSha224GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-app.html#xmlSecTransformSha224Id" title="xmlSecTransformSha224Id">xmlSecTransformSha224Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-app.html#xmlSecTransformSha256GetKlass" title="xmlSecTransformSha256GetKlass ()">xmlSecTransformSha256GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-app.html#xmlSecTransformSha256Id" title="xmlSecTransformSha256Id">xmlSecTransformSha256Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-app.html#xmlSecTransformSha384GetKlass" title="xmlSecTransformSha384GetKlass ()">xmlSecTransformSha384GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-app.html#xmlSecTransformSha384Id" title="xmlSecTransformSha384Id">xmlSecTransformSha384Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-app.html#xmlSecTransformSha512GetKlass" title="xmlSecTransformSha512GetKlass ()">xmlSecTransformSha512GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-app.html#xmlSecTransformSha512Id" title="xmlSecTransformSha512Id">xmlSecTransformSha512Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformStatus" title="enum xmlSecTransformStatus">xmlSecTransformStatus</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformUriTypeAny" title="xmlSecTransformUriTypeAny">xmlSecTransformUriTypeAny</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformUriTypeCheck" title="xmlSecTransformUriTypeCheck ()">xmlSecTransformUriTypeCheck</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformUriTypeEmpty" title="xmlSecTransformUriTypeEmpty">xmlSecTransformUriTypeEmpty</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformUriTypeLocal" title="xmlSecTransformUriTypeLocal">xmlSecTransformUriTypeLocal</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformUriType" title="xmlSecTransformUriType">xmlSecTransformUriType</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformUriTypeNone" title="xmlSecTransformUriTypeNone">xmlSecTransformUriTypeNone</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformUriTypeRemote" title="xmlSecTransformUriTypeRemote">xmlSecTransformUriTypeRemote</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformUriTypeSameDocument" title="xmlSecTransformUriTypeSameDocument">xmlSecTransformUriTypeSameDocument</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformUsageAny" title="xmlSecTransformUsageAny">xmlSecTransformUsageAny</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformUsageC14NMethod" title="xmlSecTransformUsageC14NMethod">xmlSecTransformUsageC14NMethod</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformUsageDigestMethod" title="xmlSecTransformUsageDigestMethod">xmlSecTransformUsageDigestMethod</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformUsageDSigTransform" title="xmlSecTransformUsageDSigTransform">xmlSecTransformUsageDSigTransform</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformUsageEncryptionMethod" title="xmlSecTransformUsageEncryptionMethod">xmlSecTransformUsageEncryptionMethod</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformUsage" title="xmlSecTransformUsage">xmlSecTransformUsage</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformUsageSignatureMethod" title="xmlSecTransformUsageSignatureMethod">xmlSecTransformUsageSignatureMethod</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformUsageUnknown" title="xmlSecTransformUsageUnknown">xmlSecTransformUsageUnknown</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformVerifyMethod" title="xmlSecTransformVerifyMethod ()">xmlSecTransformVerifyMethod</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformVerify" title="xmlSecTransformVerify ()">xmlSecTransformVerify</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformVerifyNodeContent" title="xmlSecTransformVerifyNodeContent ()">xmlSecTransformVerifyNodeContent</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformVisa3DHackGetKlass" title="xmlSecTransformVisa3DHackGetKlass ()">xmlSecTransformVisa3DHackGetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformVisa3DHackId" title="xmlSecTransformVisa3DHackId">xmlSecTransformVisa3DHackId</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformVisa3DHackSetID" title="xmlSecTransformVisa3DHackSetID ()">xmlSecTransformVisa3DHackSetID</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-parser.html#xmlSecTransformXmlParserGetKlass" title="xmlSecTransformXmlParserGetKlass ()">xmlSecTransformXmlParserGetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-parser.html#xmlSecTransformXmlParserId" title="xmlSecTransformXmlParserId">xmlSecTransformXmlParserId</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformXPath2GetKlass" title="xmlSecTransformXPath2GetKlass ()">xmlSecTransformXPath2GetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformXPath2Id" title="xmlSecTransformXPath2Id">xmlSecTransformXPath2Id</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformXPathGetKlass" title="xmlSecTransformXPathGetKlass ()">xmlSecTransformXPathGetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformXPathId" title="xmlSecTransformXPathId">xmlSecTransformXPathId</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformXPointerGetKlass" title="xmlSecTransformXPointerGetKlass ()">xmlSecTransformXPointerGetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformXPointerId" title="xmlSecTransformXPointerId">xmlSecTransformXPointerId</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformXPointerSetExpr" title="xmlSecTransformXPointerSetExpr ()">xmlSecTransformXPointerSetExpr</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformXsltGetKlass" title="xmlSecTransformXsltGetKlass ()">xmlSecTransformXsltGetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformXsltId" title="xmlSecTransformXsltId">xmlSecTransformXsltId</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformXsltSetDefaultSecurityPrefs" title="xmlSecTransformXsltSetDefaultSecurityPrefs ()">xmlSecTransformXsltSetDefaultSecurityPrefs</a></p></li>
+<li class="listitem"><p><font>XMLSEC-VERSION-INFO</font></p></li>
+<li class="listitem"><p><font>XMLSEC-VERSION-MAJOR</font></p></li>
+<li class="listitem"><p><font>XMLSEC-VERSION-MINOR</font></p></li>
+<li class="listitem"><p><font>XMLSEC-VERSION</font></p></li>
+<li class="listitem"><p><font>XMLSEC-VERSION-SUBMINOR</font></p></li>
+<li class="listitem"><p><font>XMLSEC-X509DATA-CERTIFICATE-NODE</font></p></li>
+<li class="listitem"><p><font>XMLSEC-X509DATA-CRL-NODE</font></p></li>
+<li class="listitem"><p><font>XMLSEC-X509DATA-DEFAULT</font></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-x509.html#xmlSecX509DataGetNodeContent" title="xmlSecX509DataGetNodeContent ()">xmlSecX509DataGetNodeContent</a></p></li>
+<li class="listitem"><p><font>XMLSEC-X509DATA-ISSUERSERIAL-NODE</font></p></li>
+<li class="listitem"><p><font>XMLSEC-X509DATA-SKI-NODE</font></p></li>
+<li class="listitem"><p><font>XMLSEC-X509DATA-SUBJECTNAME-NODE</font></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-app.html#xmlSecX509StoreGetKlass" title="xmlSecX509StoreGetKlass ()">xmlSecX509StoreGetKlass</a></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-app.html#xmlSecX509StoreId" title="xmlSecX509StoreId">xmlSecX509StoreId</a></p></li>
+</ul></div>
+<p>
+ </p>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
</td></tr></table></td>
</tr></table></body>
</html>
diff --git a/docs/api/xmlsec-io.html b/docs/api/xmlsec-io.html
index 9782a92..57fb400 100644
--- a/docs/api/xmlsec-io.html
+++ b/docs/api/xmlsec-io.html
@@ -1,41 +1,14 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>io</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79">
-<link rel="HOME" title="XML Security Library Reference Manual" href="index.html">
-<link rel="UP" title="XML Security Core Library API Reference." href="xmlsec-ref.html">
-<link rel="PREVIOUS" title="errors" href="xmlsec-errors.html">
-<link rel="NEXT" title="keyinfo" href="xmlsec-keyinfo.html">
-<style type="text/css">.synopsis, .classsynopsis {
- background: #eeeeee;
- border: solid 1px #aaaaaa;
- padding: 0.5em;
-}
-.programlisting {
- background: #eeeeff;
- border: solid 1px #aaaaff;
- padding: 0.5em;
-}
-.variablelist {
- padding: 4px;
- margin-left: 3em;
-}
-.navigation {
- background: #ffeeee;
- border: solid 1px #ffaaaa;
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
-.navigation a {
- color: #770000;
-}
-.navigation a:visited {
- color: #550000;
-}
-.navigation .title {
- font-size: 200%;
-}</style>
+<title>io: XML Security Library Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="XML Security Library Reference Manual">
+<link rel="up" href="xmlsec-ref.html" title="XML Security Core Library API Reference.">
+<link rel="prev" href="xmlsec-errors.html" title="errors">
+<link rel="next" href="xmlsec-keyinfo.html" title="keyinfo">
+<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
<style type="text/css">
table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
width: 20em;
@@ -100,275 +73,290 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
</table>
</td>
<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent">
-<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td><a accesskey="p" href="xmlsec-errors.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="xmlsec-ref.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description"> <span class="dim">|</span>
+ <a href="#xmlsec-io.description" class="shortcut">Description</a></span>
+</td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<th width="100%" align="center">XML Security Library Reference Manual</th>
+<td><a accesskey="u" href="xmlsec-ref.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="xmlsec-errors.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="xmlsec-keyinfo.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
-<h1>
-<a name="XMLSEC-IO"></a>io</h1>
-<div class="REFNAMEDIV">
-<a name="AEN7144"></a><h2>Name</h2>io -- Input/output support.</div>
-<div class="REFSECT1">
-<a name="XMLSEC-IO.FUNCTIONS"></a><h2>Functions</h2>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN7149"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
+<div class="refentry">
+<a name="xmlsec-io"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="xmlsec-io.top_of_page"></a>io</span></h2>
+<p>io — Input/output support.</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="xmlsec-io.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
<tbody>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-io.html#XMLSECIOINIT">xmlSecIOInit</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-io.html#xmlSecIOInit" title="xmlSecIOInit ()">xmlSecIOInit</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">void</span></font></td>
-<td>
-<a href="xmlsec-io.html#XMLSECIOSHUTDOWN">xmlSecIOShutdown</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">void</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-io.html#xmlSecIOShutdown" title="xmlSecIOShutdown ()">xmlSecIOShutdown</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">void</span></font></td>
-<td>
-<a href="xmlsec-io.html#XMLSECIOCLEANUPCALLBACKS">xmlSecIOCleanupCallbacks</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">void</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-io.html#xmlSecIOCleanupCallbacks" title="xmlSecIOCleanupCallbacks ()">xmlSecIOCleanupCallbacks</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-io.html#XMLSECIOREGISTERDEFAULTCALLBACKS">xmlSecIORegisterDefaultCallbacks</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-io.html#xmlSecIORegisterDefaultCallbacks" title="xmlSecIORegisterDefaultCallbacks ()">xmlSecIORegisterDefaultCallbacks</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-io.html#XMLSECIOREGISTERCALLBACKS">xmlSecIORegisterCallbacks</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-io.html#xmlSecIORegisterCallbacks" title="xmlSecIORegisterCallbacks ()">xmlSecIORegisterCallbacks</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-io.html#XMLSECTRANSFORMINPUTURIGETKLASS">xmlSecTransformInputURIGetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-io.html#xmlSecTransformInputURIGetKlass" title="xmlSecTransformInputURIGetKlass ()">xmlSecTransformInputURIGetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-io.html#XMLSECTRANSFORMINPUTURIOPEN">xmlSecTransformInputURIOpen</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-io.html#xmlSecTransformInputURIOpen" title="xmlSecTransformInputURIOpen ()">xmlSecTransformInputURIOpen</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-io.html#XMLSECTRANSFORMINPUTURICLOSE">xmlSecTransformInputURIClose</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-io.html#xmlSecTransformInputURIClose" title="xmlSecTransformInputURIClose ()">xmlSecTransformInputURIClose</a> <span class="c_punctuation">()</span>
</td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT1">
-<a name="XMLSEC-IO.OTHER"></a><h2>Types and Values</h2>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN7210"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
+<div class="refsect1">
+<a name="xmlsec-io.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
<tbody><tr>
-<td>#define</td>
-<td><a href="xmlsec-io.html#XMLSECTRANSFORMINPUTURIID">xmlSecTransformInputURIId</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-io.html#xmlSecTransformInputURIId" title="xmlSecTransformInputURIId">xmlSecTransformInputURIId</a></td>
</tr></tbody>
-</table>
-<p></p>
+</table></div>
</div>
+<div class="refsect1">
+<a name="xmlsec-io.description"></a><h2>Description</h2>
+<p>
+Input/output support.
+</p>
</div>
-<div class="REFSECT1">
-<a name="XMLSEC-IO.DESCRIPTION"></a><h2>Description</h2>
-<p>Input/output support.</p>
-</div>
-<div class="REFSECT1">
-<a name="XMLSEC-IO.FUNCTIONS_DETAILS"></a><h2>Functions</h2>
-<div class="REFSECT2">
-<a name="XMLSECIOINIT"></a><h3>xmlSecIOInit ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecIOInit (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
-<p>The IO initialization (called from <a href="xmlsec-xmlsec.html#XMLSECINIT"><span class="TYPE">xmlSecInit</span></a> function).
+<div class="refsect1">
+<a name="xmlsec-io.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="xmlSecIOInit"></a><h3>xmlSecIOInit ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecIOInit (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
+<p>The IO initialization (called from <a class="link" href="xmlsec-xmlsec.html#xmlSecInit" title="xmlSecInit ()"><span class="type">xmlSecInit</span></a> function).
Applications should not call this function directly.</p>
-<div class="REFSECT3">
-<a name="AEN7234"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecIOInit.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECIOSHUTDOWN"></a><h3>xmlSecIOShutdown ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">void</span></font>
-xmlSecIOShutdown (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
-<p>The IO clenaup (called from <a href="xmlsec-xmlsec.html#XMLSECSHUTDOWN"><span class="TYPE">xmlSecShutdown</span></a> function).
+<div class="refsect2">
+<a name="xmlSecIOShutdown"></a><h3>xmlSecIOShutdown ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">void</span></font>
+xmlSecIOShutdown (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
+<p>The IO clenaup (called from <a class="link" href="xmlsec-xmlsec.html#xmlSecShutdown" title="xmlSecShutdown ()"><span class="type">xmlSecShutdown</span></a> function).
Applications should not call this function directly.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECIOCLEANUPCALLBACKS"></a><h3>xmlSecIOCleanupCallbacks ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">void</span></font>
-xmlSecIOCleanupCallbacks (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecIOCleanupCallbacks"></a><h3>xmlSecIOCleanupCallbacks ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">void</span></font>
+xmlSecIOCleanupCallbacks (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>Clears the entire input callback table. this includes the
compiled-in I/O.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECIOREGISTERDEFAULTCALLBACKS"></a><h3>xmlSecIORegisterDefaultCallbacks ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecIORegisterDefaultCallbacks (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecIORegisterDefaultCallbacks"></a><h3>xmlSecIORegisterDefaultCallbacks ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecIORegisterDefaultCallbacks (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>Registers the default compiled-in I/O handlers.</p>
-<div class="REFSECT3">
-<a name="AEN7269"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecIORegisterDefaultCallbacks.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECIOREGISTERCALLBACKS"></a><h3>xmlSecIORegisterCallbacks ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecIORegisterCallbacks (<code class="PARAMETER"><font><span class="TYPE">xmlInputMatchCallback</span></font> matchFunc</code>,
- <code class="PARAMETER"><font><span class="TYPE">xmlInputOpenCallback</span></font> openFunc</code>,
- <code class="PARAMETER"><font><span class="TYPE">xmlInputReadCallback</span></font> readFunc</code>,
- <code class="PARAMETER"><font><span class="TYPE">xmlInputCloseCallback</span></font> closeFunc</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecIORegisterCallbacks"></a><h3>xmlSecIORegisterCallbacks ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecIORegisterCallbacks (<em class="parameter"><code><font><span class="type">xmlInputMatchCallback</span></font> matchFunc</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlInputOpenCallback</span></font> openFunc</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlInputReadCallback</span></font> readFunc</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlInputCloseCallback</span></font> closeFunc</code></em>);</pre>
<p>Register a new set of I/O callback for handling parser input.</p>
-<div class="REFSECT3">
-<a name="AEN7292"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN7294"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecIORegisterCallbacks.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>matchFunc</p></td>
-<td><p>the protocol match callback.</p></td>
-<td> </td>
+<td class="parameter_name"><p>matchFunc</p></td>
+<td class="parameter_description"><p>the protocol match callback.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>openFunc</p></td>
-<td><p>the open stream callback.</p></td>
-<td> </td>
+<td class="parameter_name"><p>openFunc</p></td>
+<td class="parameter_description"><p>the open stream callback.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>readFunc</p></td>
-<td><p>the read from stream callback.</p></td>
-<td> </td>
+<td class="parameter_name"><p>readFunc</p></td>
+<td class="parameter_description"><p>the read from stream callback.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>closeFunc</p></td>
-<td><p>the close stream callback.</p></td>
-<td> </td>
+<td class="parameter_name"><p>closeFunc</p></td>
+<td class="parameter_description"><p>the close stream callback.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN7321"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecIORegisterCallbacks.returns"></a><h4>Returns</h4>
<p> the 0 on success or a negative value if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMINPUTURIGETKLASS"></a><h3>xmlSecTransformInputURIGetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
-xmlSecTransformInputURIGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecTransformInputURIGetKlass"></a><h3>xmlSecTransformInputURIGetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
+xmlSecTransformInputURIGetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The input uri transform klass. Reads binary data from an uri.</p>
-<div class="REFSECT3">
-<a name="AEN7334"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTransformInputURIGetKlass.returns"></a><h4>Returns</h4>
<p> input URI transform id.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMINPUTURIOPEN"></a><h3>xmlSecTransformInputURIOpen ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecTransformInputURIOpen (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>,
- <code class="PARAMETER">const <font><span class="TYPE">xmlChar</span></font> *uri</code>);</pre>
-<p>Opens the given <code class="PARAMETER">uri</code>
+<div class="refsect2">
+<a name="xmlSecTransformInputURIOpen"></a><h3>xmlSecTransformInputURIOpen ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecTransformInputURIOpen (<em class="parameter"><code><font><span class="type">xmlSecTransformPtr</span></font> transform</code></em>,
+ <em class="parameter"><code>const <font><span class="type">xmlChar</span></font> *uri</code></em>);</pre>
+<p>Opens the given <em class="parameter"><code>uri</code></em>
for reading.</p>
-<div class="REFSECT3">
-<a name="AEN7352"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN7354"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecTransformInputURIOpen.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>transform</p></td>
-<td><p>the pointer to IO transform.</p></td>
-<td> </td>
+<td class="parameter_name"><p>transform</p></td>
+<td class="parameter_description"><p>the pointer to IO transform.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>uri</p></td>
-<td><p>the URL to open.</p></td>
-<td> </td>
+<td class="parameter_name"><p>uri</p></td>
+<td class="parameter_description"><p>the URL to open.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN7369"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTransformInputURIOpen.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMINPUTURICLOSE"></a><h3>xmlSecTransformInputURIClose ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecTransformInputURIClose (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>);</pre>
-<p>Closes the given <code class="PARAMETER">transform</code>
+<div class="refsect2">
+<a name="xmlSecTransformInputURIClose"></a><h3>xmlSecTransformInputURIClose ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecTransformInputURIClose (<em class="parameter"><code><font><span class="type">xmlSecTransformPtr</span></font> transform</code></em>);</pre>
+<p>Closes the given <em class="parameter"><code>transform</code></em>
and frees up resourses.</p>
-<div class="REFSECT3">
-<a name="AEN7384"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN7386"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecTransformInputURIClose.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>transform</p></td>
-<td><p>the pointer to IO transform.</p></td>
-<td> </td>
+<td class="parameter_name"><p>transform</p></td>
+<td class="parameter_description"><p>the pointer to IO transform.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN7395"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTransformInputURIClose.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value otherwise.</p>
</div>
</div>
</div>
-<div class="REFSECT1">
-<a name="XMLSEC-IO.OTHER_DETAILS"></a><h2>Types and Values</h2>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMINPUTURIID"></a><h3>xmlSecTransformInputURIId</h3>
-<pre class="PROGRAMLISTING">#define xmlSecTransformInputURIId</pre>
+<div class="refsect1">
+<a name="xmlsec-io.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="xmlSecTransformInputURIId"></a><h3>xmlSecTransformInputURIId</h3>
+<pre class="programlisting">#define xmlSecTransformInputURIId</pre>
<p>The Input URI transform id.</p>
</div>
</div>
-<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td align="left"><a accesskey="p" href="xmlsec-errors.html"><b><<< errors</b></a></td>
-<td align="right"><a accesskey="n" href="xmlsec-keyinfo.html"><b>keyinfo >>></b></a></td>
-</tr></table>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
</td></tr></table></td>
</tr></table></body>
</html>
diff --git a/docs/api/xmlsec-keyinfo.html b/docs/api/xmlsec-keyinfo.html
index a8ad3cd..8fd30da 100644
--- a/docs/api/xmlsec-keyinfo.html
+++ b/docs/api/xmlsec-keyinfo.html
@@ -1,41 +1,14 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>keyinfo</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79">
-<link rel="HOME" title="XML Security Library Reference Manual" href="index.html">
-<link rel="UP" title="XML Security Core Library API Reference." href="xmlsec-ref.html">
-<link rel="PREVIOUS" title="io" href="xmlsec-io.html">
-<link rel="NEXT" title="keysdata" href="xmlsec-keysdata.html">
-<style type="text/css">.synopsis, .classsynopsis {
- background: #eeeeee;
- border: solid 1px #aaaaaa;
- padding: 0.5em;
-}
-.programlisting {
- background: #eeeeff;
- border: solid 1px #aaaaff;
- padding: 0.5em;
-}
-.variablelist {
- padding: 4px;
- margin-left: 3em;
-}
-.navigation {
- background: #ffeeee;
- border: solid 1px #ffaaaa;
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
-.navigation a {
- color: #770000;
-}
-.navigation a:visited {
- color: #550000;
-}
-.navigation .title {
- font-size: 200%;
-}</style>
+<title>keyinfo: XML Security Library Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="XML Security Library Reference Manual">
+<link rel="up" href="xmlsec-ref.html" title="XML Security Core Library API Reference.">
+<link rel="prev" href="xmlsec-io.html" title="io">
+<link rel="next" href="xmlsec-keysdata.html" title="keysdata">
+<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
<style type="text/css">
table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
width: 20em;
@@ -100,586 +73,600 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
</table>
</td>
<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent">
-<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td><a accesskey="p" href="xmlsec-io.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="xmlsec-ref.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description"> <span class="dim">|</span>
+ <a href="#xmlsec-keyinfo.description" class="shortcut">Description</a></span>
+</td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<th width="100%" align="center">XML Security Library Reference Manual</th>
+<td><a accesskey="u" href="xmlsec-ref.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="xmlsec-io.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="xmlsec-keysdata.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
-<h1>
-<a name="XMLSEC-KEYINFO"></a>keyinfo</h1>
-<div class="REFNAMEDIV">
-<a name="AEN7411"></a><h2>Name</h2>keyinfo -- <a href="http://www.w3.org/TR/xmldsig-core/#sec-KeyInfo" target="_top"><dsig:KeyInfo/></a> node parser.</div>
-<div class="REFSECT1">
-<a name="XMLSEC-KEYINFO.FUNCTIONS"></a><h2>Functions</h2>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN7417"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
+<div class="refentry">
+<a name="xmlsec-keyinfo"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="xmlsec-keyinfo.top_of_page"></a>keyinfo</span></h2>
+<p>keyinfo — <dsig:KeyInfo/> node parser.</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="xmlsec-keyinfo.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
<tbody>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-keyinfo.html#XMLSECKEYINFONODEREAD">xmlSecKeyInfoNodeRead</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-keyinfo.html#xmlSecKeyInfoNodeRead" title="xmlSecKeyInfoNodeRead ()">xmlSecKeyInfoNodeRead</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-keyinfo.html#XMLSECKEYINFONODEWRITE">xmlSecKeyInfoNodeWrite</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-keyinfo.html#xmlSecKeyInfoNodeWrite" title="xmlSecKeyInfoNodeWrite ()">xmlSecKeyInfoNodeWrite</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTX"><span class="RETURNVALUE">xmlSecKeyInfoCtxPtr</span></a></td>
-<td>
-<a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTXCREATE">xmlSecKeyInfoCtxCreate</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecKeyInfoCtxPtr</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-keyinfo.html#xmlSecKeyInfoCtxCreate" title="xmlSecKeyInfoCtxCreate ()">xmlSecKeyInfoCtxCreate</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">void</span></font></td>
-<td>
-<a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTXDESTROY">xmlSecKeyInfoCtxDestroy</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">void</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-keyinfo.html#xmlSecKeyInfoCtxDestroy" title="xmlSecKeyInfoCtxDestroy ()">xmlSecKeyInfoCtxDestroy</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTXINITIALIZE">xmlSecKeyInfoCtxInitialize</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-keyinfo.html#xmlSecKeyInfoCtxInitialize" title="xmlSecKeyInfoCtxInitialize ()">xmlSecKeyInfoCtxInitialize</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">void</span></font></td>
-<td>
-<a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTXFINALIZE">xmlSecKeyInfoCtxFinalize</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">void</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-keyinfo.html#xmlSecKeyInfoCtxFinalize" title="xmlSecKeyInfoCtxFinalize ()">xmlSecKeyInfoCtxFinalize</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">void</span></font></td>
-<td>
-<a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTXRESET">xmlSecKeyInfoCtxReset</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">void</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-keyinfo.html#xmlSecKeyInfoCtxReset" title="xmlSecKeyInfoCtxReset ()">xmlSecKeyInfoCtxReset</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTXCOPYUSERPREF">xmlSecKeyInfoCtxCopyUserPref</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-keyinfo.html#xmlSecKeyInfoCtxCopyUserPref" title="xmlSecKeyInfoCtxCopyUserPref ()">xmlSecKeyInfoCtxCopyUserPref</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTXCREATEENCCTX">xmlSecKeyInfoCtxCreateEncCtx</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-keyinfo.html#xmlSecKeyInfoCtxCreateEncCtx" title="xmlSecKeyInfoCtxCreateEncCtx ()">xmlSecKeyInfoCtxCreateEncCtx</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">void</span></font></td>
-<td>
-<a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTXDEBUGDUMP">xmlSecKeyInfoCtxDebugDump</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">void</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-keyinfo.html#xmlSecKeyInfoCtxDebugDump" title="xmlSecKeyInfoCtxDebugDump ()">xmlSecKeyInfoCtxDebugDump</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">void</span></font></td>
-<td>
-<a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTXDEBUGXMLDUMP">xmlSecKeyInfoCtxDebugXmlDump</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">void</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-keyinfo.html#xmlSecKeyInfoCtxDebugXmlDump" title="xmlSecKeyInfoCtxDebugXmlDump ()">xmlSecKeyInfoCtxDebugXmlDump</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecKeyDataId</span></font></td>
-<td>
-<a href="xmlsec-keyinfo.html#XMLSECKEYDATANAMEGETKLASS">xmlSecKeyDataNameGetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecKeyDataId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-keyinfo.html#xmlSecKeyDataNameGetKlass" title="xmlSecKeyDataNameGetKlass ()">xmlSecKeyDataNameGetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecKeyDataId</span></font></td>
-<td>
-<a href="xmlsec-keyinfo.html#XMLSECKEYDATAVALUEGETKLASS">xmlSecKeyDataValueGetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecKeyDataId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-keyinfo.html#xmlSecKeyDataValueGetKlass" title="xmlSecKeyDataValueGetKlass ()">xmlSecKeyDataValueGetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecKeyDataId</span></font></td>
-<td>
-<a href="xmlsec-keyinfo.html#XMLSECKEYDATARETRIEVALMETHODGETKLASS">xmlSecKeyDataRetrievalMethodGetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecKeyDataId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-keyinfo.html#xmlSecKeyDataRetrievalMethodGetKlass" title="xmlSecKeyDataRetrievalMethodGetKlass ()">xmlSecKeyDataRetrievalMethodGetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecKeyDataId</span></font></td>
-<td>
-<a href="xmlsec-keyinfo.html#XMLSECKEYDATAENCRYPTEDKEYGETKLASS">xmlSecKeyDataEncryptedKeyGetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecKeyDataId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-keyinfo.html#xmlSecKeyDataEncryptedKeyGetKlass" title="xmlSecKeyDataEncryptedKeyGetKlass ()">xmlSecKeyDataEncryptedKeyGetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
-</div>
-<div class="REFSECT1">
-<a name="XMLSEC-KEYINFO.OTHER"></a><h2>Types and Values</h2>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN7527"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="xmlsec-keyinfo.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
<tbody>
<tr>
-<td>enum</td>
-<td><a href="xmlsec-keyinfo.html#XMLSECKEYINFOMODE">xmlSecKeyInfoMode</a></td>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="xmlsec-keyinfo.html#xmlSecKeyInfoMode" title="enum xmlSecKeyInfoMode">xmlSecKeyInfoMode</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-keyinfo.html#XMLSEC-KEYINFO-FLAGS-DONT-STOP-ON-KEY-FOUND:CAPS">XMLSEC_KEYINFO_FLAGS_DONT_STOP_ON_KEY_FOUND</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-keyinfo.html#XMLSEC-KEYINFO-FLAGS-DONT-STOP-ON-KEY-FOUND:CAPS" title="XMLSEC_KEYINFO_FLAGS_DONT_STOP_ON_KEY_FOUND">XMLSEC_KEYINFO_FLAGS_DONT_STOP_ON_KEY_FOUND</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-keyinfo.html#XMLSEC-KEYINFO-FLAGS-STOP-ON-UNKNOWN-CHILD:CAPS">XMLSEC_KEYINFO_FLAGS_STOP_ON_UNKNOWN_CHILD</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-keyinfo.html#XMLSEC-KEYINFO-FLAGS-STOP-ON-UNKNOWN-CHILD:CAPS" title="XMLSEC_KEYINFO_FLAGS_STOP_ON_UNKNOWN_CHILD">XMLSEC_KEYINFO_FLAGS_STOP_ON_UNKNOWN_CHILD</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-keyinfo.html#XMLSEC-KEYINFO-FLAGS-KEYNAME-STOP-ON-UNKNOWN:CAPS">XMLSEC_KEYINFO_FLAGS_KEYNAME_STOP_ON_UNKNOWN</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-keyinfo.html#XMLSEC-KEYINFO-FLAGS-KEYNAME-STOP-ON-UNKNOWN:CAPS" title="XMLSEC_KEYINFO_FLAGS_KEYNAME_STOP_ON_UNKNOWN">XMLSEC_KEYINFO_FLAGS_KEYNAME_STOP_ON_UNKNOWN</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-keyinfo.html#XMLSEC-KEYINFO-FLAGS-KEYVALUE-STOP-ON-UNKNOWN-CHILD:CAPS">XMLSEC_KEYINFO_FLAGS_KEYVALUE_STOP_ON_UNKNOWN_CHILD</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-keyinfo.html#XMLSEC-KEYINFO-FLAGS-KEYVALUE-STOP-ON-UNKNOWN-CHILD:CAPS" title="XMLSEC_KEYINFO_FLAGS_KEYVALUE_STOP_ON_UNKNOWN_CHILD">XMLSEC_KEYINFO_FLAGS_KEYVALUE_STOP_ON_UNKNOWN_CHILD</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-keyinfo.html#XMLSEC-KEYINFO-FLAGS-RETRMETHOD-STOP-ON-UNKNOWN-HREF:CAPS">XMLSEC_KEYINFO_FLAGS_RETRMETHOD_STOP_ON_UNKNOWN_HREF</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-keyinfo.html#XMLSEC-KEYINFO-FLAGS-RETRMETHOD-STOP-ON-UNKNOWN-HREF:CAPS" title="XMLSEC_KEYINFO_FLAGS_RETRMETHOD_STOP_ON_UNKNOWN_HREF">XMLSEC_KEYINFO_FLAGS_RETRMETHOD_STOP_ON_UNKNOWN_HREF</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-keyinfo.html#XMLSEC-KEYINFO-FLAGS-RETRMETHOD-STOP-ON-MISMATCH-HREF:CAPS">XMLSEC_KEYINFO_FLAGS_RETRMETHOD_STOP_ON_MISMATCH_HREF</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-keyinfo.html#XMLSEC-KEYINFO-FLAGS-RETRMETHOD-STOP-ON-MISMATCH-HREF:CAPS" title="XMLSEC_KEYINFO_FLAGS_RETRMETHOD_STOP_ON_MISMATCH_HREF">XMLSEC_KEYINFO_FLAGS_RETRMETHOD_STOP_ON_MISMATCH_HREF</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-keyinfo.html#XMLSEC-KEYINFO-FLAGS-X509DATA-STOP-ON-UNKNOWN-CHILD:CAPS">XMLSEC_KEYINFO_FLAGS_X509DATA_STOP_ON_UNKNOWN_CHILD</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-keyinfo.html#XMLSEC-KEYINFO-FLAGS-X509DATA-STOP-ON-UNKNOWN-CHILD:CAPS" title="XMLSEC_KEYINFO_FLAGS_X509DATA_STOP_ON_UNKNOWN_CHILD">XMLSEC_KEYINFO_FLAGS_X509DATA_STOP_ON_UNKNOWN_CHILD</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-keyinfo.html#XMLSEC-KEYINFO-FLAGS-X509DATA-DONT-VERIFY-CERTS:CAPS">XMLSEC_KEYINFO_FLAGS_X509DATA_DONT_VERIFY_CERTS</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-keyinfo.html#XMLSEC-KEYINFO-FLAGS-X509DATA-DONT-VERIFY-CERTS:CAPS" title="XMLSEC_KEYINFO_FLAGS_X509DATA_DONT_VERIFY_CERTS">XMLSEC_KEYINFO_FLAGS_X509DATA_DONT_VERIFY_CERTS</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-keyinfo.html#XMLSEC-KEYINFO-FLAGS-X509DATA-STOP-ON-UNKNOWN-CERT:CAPS">XMLSEC_KEYINFO_FLAGS_X509DATA_STOP_ON_UNKNOWN_CERT</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-keyinfo.html#XMLSEC-KEYINFO-FLAGS-X509DATA-STOP-ON-UNKNOWN-CERT:CAPS" title="XMLSEC_KEYINFO_FLAGS_X509DATA_STOP_ON_UNKNOWN_CERT">XMLSEC_KEYINFO_FLAGS_X509DATA_STOP_ON_UNKNOWN_CERT</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-keyinfo.html#XMLSEC-KEYINFO-FLAGS-X509DATA-STOP-ON-INVALID-CERT:CAPS">XMLSEC_KEYINFO_FLAGS_X509DATA_STOP_ON_INVALID_CERT</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-keyinfo.html#XMLSEC-KEYINFO-FLAGS-X509DATA-STOP-ON-INVALID-CERT:CAPS" title="XMLSEC_KEYINFO_FLAGS_X509DATA_STOP_ON_INVALID_CERT">XMLSEC_KEYINFO_FLAGS_X509DATA_STOP_ON_INVALID_CERT</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-keyinfo.html#XMLSEC-KEYINFO-FLAGS-ENCKEY-DONT-STOP-ON-FAILED-DECRYPTION:CAPS">XMLSEC_KEYINFO_FLAGS_ENCKEY_DONT_STOP_ON_FAILED_DECRYPTION</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-keyinfo.html#XMLSEC-KEYINFO-FLAGS-ENCKEY-DONT-STOP-ON-FAILED-DECRYPTION:CAPS" title="XMLSEC_KEYINFO_FLAGS_ENCKEY_DONT_STOP_ON_FAILED_DECRYPTION">XMLSEC_KEYINFO_FLAGS_ENCKEY_DONT_STOP_ON_FAILED_DECRYPTION</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-keyinfo.html#XMLSEC-KEYINFO-FLAGS-STOP-ON-EMPTY-NODE:CAPS">XMLSEC_KEYINFO_FLAGS_STOP_ON_EMPTY_NODE</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-keyinfo.html#XMLSEC-KEYINFO-FLAGS-STOP-ON-EMPTY-NODE:CAPS" title="XMLSEC_KEYINFO_FLAGS_STOP_ON_EMPTY_NODE">XMLSEC_KEYINFO_FLAGS_STOP_ON_EMPTY_NODE</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-keyinfo.html#XMLSEC-KEYINFO-FLAGS-X509DATA-SKIP-STRICT-CHECKS:CAPS">XMLSEC_KEYINFO_FLAGS_X509DATA_SKIP_STRICT_CHECKS</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-keyinfo.html#XMLSEC-KEYINFO-FLAGS-X509DATA-SKIP-STRICT-CHECKS:CAPS" title="XMLSEC_KEYINFO_FLAGS_X509DATA_SKIP_STRICT_CHECKS">XMLSEC_KEYINFO_FLAGS_X509DATA_SKIP_STRICT_CHECKS</a></td>
</tr>
<tr>
-<td>struct</td>
-<td><a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTX">xmlSecKeyInfoCtx</a></td>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="xmlsec-keyinfo.html#xmlSecKeyInfoCtx" title="struct xmlSecKeyInfoCtx">xmlSecKeyInfoCtx</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-keyinfo.html#XMLSECKEYDATANAMEID">xmlSecKeyDataNameId</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-keyinfo.html#xmlSecKeyDataNameId" title="xmlSecKeyDataNameId">xmlSecKeyDataNameId</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-keyinfo.html#XMLSECKEYDATAVALUEID">xmlSecKeyDataValueId</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-keyinfo.html#xmlSecKeyDataValueId" title="xmlSecKeyDataValueId">xmlSecKeyDataValueId</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-keyinfo.html#XMLSECKEYDATARETRIEVALMETHODID">xmlSecKeyDataRetrievalMethodId</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-keyinfo.html#xmlSecKeyDataRetrievalMethodId" title="xmlSecKeyDataRetrievalMethodId">xmlSecKeyDataRetrievalMethodId</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-keyinfo.html#XMLSECKEYDATAENCRYPTEDKEYID">xmlSecKeyDataEncryptedKeyId</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-keyinfo.html#xmlSecKeyDataEncryptedKeyId" title="xmlSecKeyDataEncryptedKeyId">xmlSecKeyDataEncryptedKeyId</a></td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
-</div>
-<div class="REFSECT1">
-<a name="XMLSEC-KEYINFO.DESCRIPTION"></a><h2>Description</h2>
-<p><a href="http://www.w3.org/TR/xmldsig-core/#sec-KeyInfo" target="_top"><dsig:KeyInfo/></a> node parser.</p>
-</div>
-<div class="REFSECT1">
-<a name="XMLSEC-KEYINFO.FUNCTIONS_DETAILS"></a><h2>Functions</h2>
-<div class="REFSECT2">
-<a name="XMLSECKEYINFONODEREAD"></a><h3>xmlSecKeyInfoNodeRead ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecKeyInfoNodeRead (<code class="PARAMETER"><font><span class="TYPE">xmlNodePtr</span></font> keyInfoNode</code>,
- <code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>,
- <code class="PARAMETER"><a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTX"><span class="TYPE">xmlSecKeyInfoCtxPtr</span></a> keyInfoCtx</code>);</pre>
-<p>Parses the <dsig:KeyInfo/> element <code class="PARAMETER">keyInfoNode</code>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="xmlsec-keyinfo.description"></a><h2>Description</h2>
+<p>
+<dsig:KeyInfo/> node parser.
+</p>
+</div>
+<div class="refsect1">
+<a name="xmlsec-keyinfo.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="xmlSecKeyInfoNodeRead"></a><h3>xmlSecKeyInfoNodeRead ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecKeyInfoNodeRead (<em class="parameter"><code><font><span class="type">xmlNodePtr</span></font> keyInfoNode</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlSecKeyPtr</span></font> key</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlSecKeyInfoCtxPtr</span></font> keyInfoCtx</code></em>);</pre>
+<p>Parses the <dsig:KeyInfo/> element <em class="parameter"><code>keyInfoNode</code></em>
, extracts the key data
-and stores into <code class="PARAMETER">key</code>
+and stores into <em class="parameter"><code>key</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN7631"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN7633"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecKeyInfoNodeRead.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>keyInfoNode</p></td>
-<td><p>the pointer to <dsig:KeyInfo/> node.</p></td>
-<td> </td>
+<td class="parameter_name"><p>keyInfoNode</p></td>
+<td class="parameter_description"><p>the pointer to <dsig:KeyInfo/> node.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>key</p></td>
-<td><p>the pointer to result key object.</p></td>
-<td> </td>
+<td class="parameter_name"><p>key</p></td>
+<td class="parameter_description"><p>the pointer to result key object.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>keyInfoCtx</p></td>
-<td><p>the pointer to <dsig:KeyInfo/> element processing context.</p></td>
-<td> </td>
+<td class="parameter_name"><p>keyInfoCtx</p></td>
+<td class="parameter_description"><p>the pointer to <dsig:KeyInfo/> element processing context.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN7654"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecKeyInfoNodeRead.returns"></a><h4>Returns</h4>
<p> 0 on success or -1 if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYINFONODEWRITE"></a><h3>xmlSecKeyInfoNodeWrite ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecKeyInfoNodeWrite (<code class="PARAMETER"><font><span class="TYPE">xmlNodePtr</span></font> keyInfoNode</code>,
- <code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>,
- <code class="PARAMETER"><a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTX"><span class="TYPE">xmlSecKeyInfoCtxPtr</span></a> keyInfoCtx</code>);</pre>
-<p>Writes the <code class="PARAMETER">key</code>
- into the <dsig:KeyInfo/> element template <code class="PARAMETER">keyInfoNode</code>
+<div class="refsect2">
+<a name="xmlSecKeyInfoNodeWrite"></a><h3>xmlSecKeyInfoNodeWrite ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecKeyInfoNodeWrite (<em class="parameter"><code><font><span class="type">xmlNodePtr</span></font> keyInfoNode</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlSecKeyPtr</span></font> key</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlSecKeyInfoCtxPtr</span></font> keyInfoCtx</code></em>);</pre>
+<p>Writes the <em class="parameter"><code>key</code></em>
+ into the <dsig:KeyInfo/> element template <em class="parameter"><code>keyInfoNode</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN7676"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN7678"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecKeyInfoNodeWrite.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>keyInfoNode</p></td>
-<td><p>the pointer to <dsig:KeyInfo/> node.</p></td>
-<td> </td>
+<td class="parameter_name"><p>keyInfoNode</p></td>
+<td class="parameter_description"><p>the pointer to <dsig:KeyInfo/> node.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>key</p></td>
-<td><p>the pointer to key object.</p></td>
-<td> </td>
+<td class="parameter_name"><p>key</p></td>
+<td class="parameter_description"><p>the pointer to key object.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>keyInfoCtx</p></td>
-<td><p>the pointer to <dsig:KeyInfo/> element processing context.</p></td>
-<td> </td>
+<td class="parameter_name"><p>keyInfoCtx</p></td>
+<td class="parameter_description"><p>the pointer to <dsig:KeyInfo/> element processing context.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN7699"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecKeyInfoNodeWrite.returns"></a><h4>Returns</h4>
<p> 0 on success or -1 if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYINFOCTXCREATE"></a><h3>xmlSecKeyInfoCtxCreate ()</h3>
-<pre class="PROGRAMLISTING"><a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTX"><span class="RETURNVALUE">xmlSecKeyInfoCtxPtr</span></a>
-xmlSecKeyInfoCtxCreate (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> keysMngr</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecKeyInfoCtxCreate"></a><h3>xmlSecKeyInfoCtxCreate ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecKeyInfoCtxPtr</span></font>
+xmlSecKeyInfoCtxCreate (<em class="parameter"><code><font><span class="type">xmlSecKeysMngrPtr</span></font> keysMngr</code></em>);</pre>
<p>Allocates and initializes <dsig:KeyInfo/> element processing context.
-Caller is responsible for freeing it by calling <a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTXDESTROY"><span class="TYPE">xmlSecKeyInfoCtxDestroy</span></a>
+Caller is responsible for freeing it by calling <a class="link" href="xmlsec-keyinfo.html#xmlSecKeyInfoCtxDestroy" title="xmlSecKeyInfoCtxDestroy ()"><span class="type">xmlSecKeyInfoCtxDestroy</span></a>
function.</p>
-<div class="REFSECT3">
-<a name="AEN7715"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN7717"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecKeyInfoCtxCreate.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>keysMngr</p></td>
-<td><p>the pointer to keys manager (may be NULL).</p></td>
-<td> </td>
+<td class="parameter_name"><p>keysMngr</p></td>
+<td class="parameter_description"><p>the pointer to keys manager (may be NULL).</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN7726"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecKeyInfoCtxCreate.returns"></a><h4>Returns</h4>
<p> pointer to newly allocated object or NULL if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYINFOCTXDESTROY"></a><h3>xmlSecKeyInfoCtxDestroy ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">void</span></font>
-xmlSecKeyInfoCtxDestroy (<code class="PARAMETER"><a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTX"><span class="TYPE">xmlSecKeyInfoCtxPtr</span></a> keyInfoCtx</code>);</pre>
-<p>Destroys <code class="PARAMETER">keyInfoCtx</code>
- object created with <a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTXCREATE"><span class="TYPE">xmlSecKeyInfoCtxCreate</span></a> function.</p>
-<div class="REFSECT3">
-<a name="AEN7743"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN7745"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect2">
+<a name="xmlSecKeyInfoCtxDestroy"></a><h3>xmlSecKeyInfoCtxDestroy ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">void</span></font>
+xmlSecKeyInfoCtxDestroy (<em class="parameter"><code><font><span class="type">xmlSecKeyInfoCtxPtr</span></font> keyInfoCtx</code></em>);</pre>
+<p>Destroys <em class="parameter"><code>keyInfoCtx</code></em>
+ object created with <a class="link" href="xmlsec-keyinfo.html#xmlSecKeyInfoCtxCreate" title="xmlSecKeyInfoCtxCreate ()"><span class="type">xmlSecKeyInfoCtxCreate</span></a> function.</p>
+<div class="refsect3">
+<a name="xmlSecKeyInfoCtxDestroy.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>keyInfoCtx</p></td>
-<td><p>the pointer to <dsig:KeyInfo/> element processing context.</p></td>
-<td> </td>
+<td class="parameter_name"><p>keyInfoCtx</p></td>
+<td class="parameter_description"><p>the pointer to <dsig:KeyInfo/> element processing context.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYINFOCTXINITIALIZE"></a><h3>xmlSecKeyInfoCtxInitialize ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecKeyInfoCtxInitialize (<code class="PARAMETER"><a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTX"><span class="TYPE">xmlSecKeyInfoCtxPtr</span></a> keyInfoCtx</code>,
- <code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> keysMngr</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecKeyInfoCtxInitialize"></a><h3>xmlSecKeyInfoCtxInitialize ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecKeyInfoCtxInitialize (<em class="parameter"><code><font><span class="type">xmlSecKeyInfoCtxPtr</span></font> keyInfoCtx</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlSecKeysMngrPtr</span></font> keysMngr</code></em>);</pre>
<p>Initializes <dsig:KeyInfo/> element processing context. Caller is
-responsible for cleaning it up by <a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTXFINALIZE"><span class="TYPE">xmlSecKeyInfoCtxFinalize</span></a> function.</p>
-<div class="REFSECT3">
-<a name="AEN7770"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN7772"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+responsible for cleaning it up by <a class="link" href="xmlsec-keyinfo.html#xmlSecKeyInfoCtxFinalize" title="xmlSecKeyInfoCtxFinalize ()"><span class="type">xmlSecKeyInfoCtxFinalize</span></a> function.</p>
+<div class="refsect3">
+<a name="xmlSecKeyInfoCtxInitialize.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>keyInfoCtx</p></td>
-<td><p>the pointer to <dsig:KeyInfo/> element processing context.</p></td>
-<td> </td>
+<td class="parameter_name"><p>keyInfoCtx</p></td>
+<td class="parameter_description"><p>the pointer to <dsig:KeyInfo/> element processing context.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>keysMngr</p></td>
-<td><p>the pointer to keys manager (may be NULL).</p></td>
-<td> </td>
+<td class="parameter_name"><p>keysMngr</p></td>
+<td class="parameter_description"><p>the pointer to keys manager (may be NULL).</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN7787"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecKeyInfoCtxInitialize.returns"></a><h4>Returns</h4>
<p> 0 on success and a negative value if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYINFOCTXFINALIZE"></a><h3>xmlSecKeyInfoCtxFinalize ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">void</span></font>
-xmlSecKeyInfoCtxFinalize (<code class="PARAMETER"><a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTX"><span class="TYPE">xmlSecKeyInfoCtxPtr</span></a> keyInfoCtx</code>);</pre>
-<p>Cleans up the <code class="PARAMETER">keyInfoCtx</code>
- initialized with <a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTXINITIALIZE"><span class="TYPE">xmlSecKeyInfoCtxInitialize</span></a>
+<div class="refsect2">
+<a name="xmlSecKeyInfoCtxFinalize"></a><h3>xmlSecKeyInfoCtxFinalize ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">void</span></font>
+xmlSecKeyInfoCtxFinalize (<em class="parameter"><code><font><span class="type">xmlSecKeyInfoCtxPtr</span></font> keyInfoCtx</code></em>);</pre>
+<p>Cleans up the <em class="parameter"><code>keyInfoCtx</code></em>
+ initialized with <a class="link" href="xmlsec-keyinfo.html#xmlSecKeyInfoCtxInitialize" title="xmlSecKeyInfoCtxInitialize ()"><span class="type">xmlSecKeyInfoCtxInitialize</span></a>
function.</p>
-<div class="REFSECT3">
-<a name="AEN7804"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN7806"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecKeyInfoCtxFinalize.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>keyInfoCtx</p></td>
-<td><p>the pointer to <dsig:KeyInfo/> element processing context.</p></td>
-<td> </td>
+<td class="parameter_name"><p>keyInfoCtx</p></td>
+<td class="parameter_description"><p>the pointer to <dsig:KeyInfo/> element processing context.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYINFOCTXRESET"></a><h3>xmlSecKeyInfoCtxReset ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">void</span></font>
-xmlSecKeyInfoCtxReset (<code class="PARAMETER"><a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTX"><span class="TYPE">xmlSecKeyInfoCtxPtr</span></a> keyInfoCtx</code>);</pre>
-<p>Resets the <code class="PARAMETER">keyInfoCtx</code>
+<div class="refsect2">
+<a name="xmlSecKeyInfoCtxReset"></a><h3>xmlSecKeyInfoCtxReset ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">void</span></font>
+xmlSecKeyInfoCtxReset (<em class="parameter"><code><font><span class="type">xmlSecKeyInfoCtxPtr</span></font> keyInfoCtx</code></em>);</pre>
+<p>Resets the <em class="parameter"><code>keyInfoCtx</code></em>
state. User settings are not changed.</p>
-<div class="REFSECT3">
-<a name="AEN7827"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN7829"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecKeyInfoCtxReset.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>keyInfoCtx</p></td>
-<td><p>the pointer to <dsig:KeyInfo/> element processing context.</p></td>
-<td> </td>
+<td class="parameter_name"><p>keyInfoCtx</p></td>
+<td class="parameter_description"><p>the pointer to <dsig:KeyInfo/> element processing context.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYINFOCTXCOPYUSERPREF"></a><h3>xmlSecKeyInfoCtxCopyUserPref ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecKeyInfoCtxCopyUserPref (<code class="PARAMETER"><a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTX"><span class="TYPE">xmlSecKeyInfoCtxPtr</span></a> dst</code>,
- <code class="PARAMETER"><a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTX"><span class="TYPE">xmlSecKeyInfoCtxPtr</span></a> src</code>);</pre>
-<p>Copies user preferences from <code class="PARAMETER">src</code>
- context to <code class="PARAMETER">dst</code>
+<div class="refsect2">
+<a name="xmlSecKeyInfoCtxCopyUserPref"></a><h3>xmlSecKeyInfoCtxCopyUserPref ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecKeyInfoCtxCopyUserPref (<em class="parameter"><code><font><span class="type">xmlSecKeyInfoCtxPtr</span></font> dst</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlSecKeyInfoCtxPtr</span></font> src</code></em>);</pre>
+<p>Copies user preferences from <em class="parameter"><code>src</code></em>
+ context to <em class="parameter"><code>dst</code></em>
context.</p>
-<div class="REFSECT3">
-<a name="AEN7854"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN7856"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecKeyInfoCtxCopyUserPref.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>dst</p></td>
-<td><p>the pointer to destination context object.</p></td>
-<td> </td>
+<td class="parameter_name"><p>dst</p></td>
+<td class="parameter_description"><p>the pointer to destination context object.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>src</p></td>
-<td><p>the pointer to source context object.</p></td>
-<td> </td>
+<td class="parameter_name"><p>src</p></td>
+<td class="parameter_description"><p>the pointer to source context object.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN7871"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecKeyInfoCtxCopyUserPref.returns"></a><h4>Returns</h4>
<p> 0 on success and a negative value if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYINFOCTXCREATEENCCTX"></a><h3>xmlSecKeyInfoCtxCreateEncCtx ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecKeyInfoCtxCreateEncCtx (<code class="PARAMETER"><a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTX"><span class="TYPE">xmlSecKeyInfoCtxPtr</span></a> keyInfoCtx</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecKeyInfoCtxCreateEncCtx"></a><h3>xmlSecKeyInfoCtxCreateEncCtx ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecKeyInfoCtxCreateEncCtx (<em class="parameter"><code><font><span class="type">xmlSecKeyInfoCtxPtr</span></font> keyInfoCtx</code></em>);</pre>
<p>Creates encryption context form processing <enc:EncryptedKey/> child
of <dsig:KeyInfo/> element.</p>
-<div class="REFSECT3">
-<a name="AEN7885"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN7887"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecKeyInfoCtxCreateEncCtx.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>keyInfoCtx</p></td>
-<td><p>the pointer to <dsig:KeyInfo/> element processing context.</p></td>
-<td> </td>
+<td class="parameter_name"><p>keyInfoCtx</p></td>
+<td class="parameter_description"><p>the pointer to <dsig:KeyInfo/> element processing context.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN7896"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecKeyInfoCtxCreateEncCtx.returns"></a><h4>Returns</h4>
<p> 0 on success and a negative value if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYINFOCTXDEBUGDUMP"></a><h3>xmlSecKeyInfoCtxDebugDump ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">void</span></font>
-xmlSecKeyInfoCtxDebugDump (<code class="PARAMETER"><a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTX"><span class="TYPE">xmlSecKeyInfoCtxPtr</span></a> keyInfoCtx</code>,
- <code class="PARAMETER"><font><span class="TYPE">FILE</span></font> *output</code>);</pre>
-<p>Prints user settings and current context state to <code class="PARAMETER">output</code>
+<div class="refsect2">
+<a name="xmlSecKeyInfoCtxDebugDump"></a><h3>xmlSecKeyInfoCtxDebugDump ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">void</span></font>
+xmlSecKeyInfoCtxDebugDump (<em class="parameter"><code><font><span class="type">xmlSecKeyInfoCtxPtr</span></font> keyInfoCtx</code></em>,
+ <em class="parameter"><code><font><span class="type">FILE</span></font> *output</code></em>);</pre>
+<p>Prints user settings and current context state to <em class="parameter"><code>output</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN7914"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN7916"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecKeyInfoCtxDebugDump.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>keyInfoCtx</p></td>
-<td><p>the pointer to <dsig:KeyInfo/> element processing context.</p></td>
-<td> </td>
+<td class="parameter_name"><p>keyInfoCtx</p></td>
+<td class="parameter_description"><p>the pointer to <dsig:KeyInfo/> element processing context.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>output</p></td>
-<td><p>the output file pointer.</p></td>
-<td> </td>
+<td class="parameter_name"><p>output</p></td>
+<td class="parameter_description"><p>the output file pointer.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYINFOCTXDEBUGXMLDUMP"></a><h3>xmlSecKeyInfoCtxDebugXmlDump ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">void</span></font>
-xmlSecKeyInfoCtxDebugXmlDump (<code class="PARAMETER"><a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTX"><span class="TYPE">xmlSecKeyInfoCtxPtr</span></a> keyInfoCtx</code>,
- <code class="PARAMETER"><font><span class="TYPE">FILE</span></font> *output</code>);</pre>
-<p>Prints user settings and current context state in XML format to <code class="PARAMETER">output</code>
+<div class="refsect2">
+<a name="xmlSecKeyInfoCtxDebugXmlDump"></a><h3>xmlSecKeyInfoCtxDebugXmlDump ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">void</span></font>
+xmlSecKeyInfoCtxDebugXmlDump (<em class="parameter"><code><font><span class="type">xmlSecKeyInfoCtxPtr</span></font> keyInfoCtx</code></em>,
+ <em class="parameter"><code><font><span class="type">FILE</span></font> *output</code></em>);</pre>
+<p>Prints user settings and current context state in XML format to <em class="parameter"><code>output</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN7946"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN7948"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecKeyInfoCtxDebugXmlDump.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>keyInfoCtx</p></td>
-<td><p>the pointer to <dsig:KeyInfo/> element processing context.</p></td>
-<td> </td>
+<td class="parameter_name"><p>keyInfoCtx</p></td>
+<td class="parameter_description"><p>the pointer to <dsig:KeyInfo/> element processing context.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>output</p></td>
-<td><p>the output file pointer.</p></td>
-<td> </td>
+<td class="parameter_name"><p>output</p></td>
+<td class="parameter_description"><p>the output file pointer.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYDATANAMEGETKLASS"></a><h3>xmlSecKeyDataNameGetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecKeyDataId</span></font>
-xmlSecKeyDataNameGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecKeyDataNameGetKlass"></a><h3>xmlSecKeyDataNameGetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecKeyDataId</span></font>
+xmlSecKeyDataNameGetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The <dsig:KeyName/> element key data klass
-(http://www.w3.org/TR/xmldsig-core/<font><span class="TYPE">sec-KeyName</span></font>):</p>
+(http://www.w3.org/TR/xmldsig-core/<font><span class="type">sec-KeyName</span></font>):</p>
<p>The KeyName element contains a string value (in which white space is
significant) which may be used by the signer to communicate a key
identifier to the recipient. Typically, KeyName contains an identifier
@@ -687,32 +674,32 @@ related to the key pair used to sign the message, but it may contain
other protocol-related information that indirectly identifies a key pair.
(Common uses of KeyName include simple string names for keys, a key index,
a distinguished name (DN), an email address, etc.)</p>
-<div class="REFSECT3">
-<a name="AEN7976"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecKeyDataNameGetKlass.returns"></a><h4>Returns</h4>
<p> the <dsig:KeyName/> element processing key data klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYDATAVALUEGETKLASS"></a><h3>xmlSecKeyDataValueGetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecKeyDataId</span></font>
-xmlSecKeyDataValueGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecKeyDataValueGetKlass"></a><h3>xmlSecKeyDataValueGetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecKeyDataId</span></font>
+xmlSecKeyDataValueGetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The <dsig:KeyValue/> element key data klass
-(http://www.w3.org/TR/xmldsig-core/<font><span class="TYPE">sec-KeyValue</span></font>):</p>
+(http://www.w3.org/TR/xmldsig-core/<font><span class="type">sec-KeyValue</span></font>):</p>
<p>The KeyValue element contains a single public key that may be useful in
validating the signature.</p>
-<div class="REFSECT3">
-<a name="AEN7992"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecKeyDataValueGetKlass.returns"></a><h4>Returns</h4>
<p> the <dsig:KeyValue/> element processing key data klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYDATARETRIEVALMETHODGETKLASS"></a><h3>xmlSecKeyDataRetrievalMethodGetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecKeyDataId</span></font>
-xmlSecKeyDataRetrievalMethodGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecKeyDataRetrievalMethodGetKlass"></a><h3>xmlSecKeyDataRetrievalMethodGetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecKeyDataId</span></font>
+xmlSecKeyDataRetrievalMethodGetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The <dsig:RetrievalMethod/> element key data klass
-(http://www.w3.org/TR/xmldsig-core/<font><span class="TYPE">sec-RetrievalMethod</span></font>):
+(http://www.w3.org/TR/xmldsig-core/<font><span class="type">sec-RetrievalMethod</span></font>):
A RetrievalMethod element within KeyInfo is used to convey a reference to
KeyInfo information that is stored at another location. For example,
several signatures in a document might use a key verified by an X.509v3
@@ -722,18 +709,18 @@ RetrievalMethod element instead of including the entire chain with a
sequence of X509Certificate elements.</p>
<p>RetrievalMethod uses the same syntax and dereferencing behavior as
Reference's URI and The Reference Processing Model.</p>
-<div class="REFSECT3">
-<a name="AEN8008"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecKeyDataRetrievalMethodGetKlass.returns"></a><h4>Returns</h4>
<p> the <dsig:RetrievalMethod/> element processing key data klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYDATAENCRYPTEDKEYGETKLASS"></a><h3>xmlSecKeyDataEncryptedKeyGetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecKeyDataId</span></font>
-xmlSecKeyDataEncryptedKeyGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecKeyDataEncryptedKeyGetKlass"></a><h3>xmlSecKeyDataEncryptedKeyGetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecKeyDataId</span></font>
+xmlSecKeyDataEncryptedKeyGetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The <enc:EncryptedKey/> element key data klass
-(http://www.w3.org/TR/xmlenc-core/<font><span class="TYPE">sec-EncryptedKey</span></font>):</p>
+(http://www.w3.org/TR/xmlenc-core/<font><span class="type">sec-EncryptedKey</span></font>):</p>
<p>The EncryptedKey element is used to transport encryption keys from
the originator to a known recipient(s). It may be used as a stand-alone
XML document, be placed within an application document, or appear inside
@@ -741,138 +728,153 @@ an EncryptedData element as a child of a ds:KeyInfo element. The key value
is always encrypted to the recipient(s). When EncryptedKey is decrypted the
resulting octets are made available to the EncryptionMethod algorithm
without any additional processing.</p>
-<div class="REFSECT3">
-<a name="AEN8024"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecKeyDataEncryptedKeyGetKlass.returns"></a><h4>Returns</h4>
<p> the <enc:EncryptedKey/> element processing key data klass.</p>
</div>
</div>
</div>
-<div class="REFSECT1">
-<a name="XMLSEC-KEYINFO.OTHER_DETAILS"></a><h2>Types and Values</h2>
-<div class="REFSECT2">
-<a name="XMLSECKEYINFOMODE"></a><h3>enum xmlSecKeyInfoMode</h3>
-<p>The <code class="PARAMETER">xmlSecKeyInfoCtx</code>
+<div class="refsect1">
+<a name="xmlsec-keyinfo.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="xmlSecKeyInfoMode"></a><h3>enum xmlSecKeyInfoMode</h3>
+<p>The <em class="parameter"><code>xmlSecKeyInfoCtx</code></em>
operation mode (read or write).</p>
-<div class="REFSECT3">
-<a name="AEN8035"></a><h4>Members</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN8037"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecKeyInfoMode.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="enum_members_name">
+<col class="enum_members_description">
+<col width="200px" class="enum_members_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>xmlSecKeyInfoModeRead</p></td>
-<td><p>read <dsig:KeyInfo /> element.</p></td>
-<td> </td>
+<td class="enum_member_name"><p><a name="xmlSecKeyInfoModeRead"></a>xmlSecKeyInfoModeRead</p></td>
+<td class="enum_member_description">
+<p>read <dsig:KeyInfo /> element.</p>
+</td>
+<td class="enum_member_annotations"> </td>
</tr>
<tr>
-<td><p>xmlSecKeyInfoModeWrite</p></td>
-<td><p>write <dsig:KeyInfo /> element.</p></td>
-<td> </td>
+<td class="enum_member_name"><p><a name="xmlSecKeyInfoModeWrite"></a>xmlSecKeyInfoModeWrite</p></td>
+<td class="enum_member_description">
+<p>write <dsig:KeyInfo /> element.</p>
+</td>
+<td class="enum_member_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
+<div class="refsect2">
<a name="XMLSEC-KEYINFO-FLAGS-DONT-STOP-ON-KEY-FOUND:CAPS"></a><h3>XMLSEC_KEYINFO_FLAGS_DONT_STOP_ON_KEY_FOUND</h3>
-<pre class="PROGRAMLISTING">#define XMLSEC_KEYINFO_FLAGS_DONT_STOP_ON_KEY_FOUND 0x00000001</pre>
+<pre class="programlisting">#define XMLSEC_KEYINFO_FLAGS_DONT_STOP_ON_KEY_FOUND 0x00000001
+</pre>
<p>If flag is set then we will continue reading <dsig:KeyInfo />
element even when key is already found.</p>
</div>
<hr>
-<div class="REFSECT2">
+<div class="refsect2">
<a name="XMLSEC-KEYINFO-FLAGS-STOP-ON-UNKNOWN-CHILD:CAPS"></a><h3>XMLSEC_KEYINFO_FLAGS_STOP_ON_UNKNOWN_CHILD</h3>
-<pre class="PROGRAMLISTING">#define XMLSEC_KEYINFO_FLAGS_STOP_ON_UNKNOWN_CHILD 0x00000002</pre>
+<pre class="programlisting">#define XMLSEC_KEYINFO_FLAGS_STOP_ON_UNKNOWN_CHILD 0x00000002
+</pre>
<p>If flag is set then we abort if an unknown <dsig:KeyInfo />
child is found.</p>
</div>
<hr>
-<div class="REFSECT2">
+<div class="refsect2">
<a name="XMLSEC-KEYINFO-FLAGS-KEYNAME-STOP-ON-UNKNOWN:CAPS"></a><h3>XMLSEC_KEYINFO_FLAGS_KEYNAME_STOP_ON_UNKNOWN</h3>
-<pre class="PROGRAMLISTING">#define XMLSEC_KEYINFO_FLAGS_KEYNAME_STOP_ON_UNKNOWN 0x00000004</pre>
+<pre class="programlisting">#define XMLSEC_KEYINFO_FLAGS_KEYNAME_STOP_ON_UNKNOWN 0x00000004
+</pre>
<p>If flags is set then we abort if an unknown key name
(content of <dsig:KeyName /> element) is found.</p>
</div>
<hr>
-<div class="REFSECT2">
+<div class="refsect2">
<a name="XMLSEC-KEYINFO-FLAGS-KEYVALUE-STOP-ON-UNKNOWN-CHILD:CAPS"></a><h3>XMLSEC_KEYINFO_FLAGS_KEYVALUE_STOP_ON_UNKNOWN_CHILD</h3>
-<pre class="PROGRAMLISTING">#define XMLSEC_KEYINFO_FLAGS_KEYVALUE_STOP_ON_UNKNOWN_CHILD 0x00000008</pre>
+<pre class="programlisting">#define XMLSEC_KEYINFO_FLAGS_KEYVALUE_STOP_ON_UNKNOWN_CHILD 0x00000008
+</pre>
<p>If flags is set then we abort if an unknown <dsig:KeyValue />
child is found.</p>
</div>
<hr>
-<div class="REFSECT2">
+<div class="refsect2">
<a name="XMLSEC-KEYINFO-FLAGS-RETRMETHOD-STOP-ON-UNKNOWN-HREF:CAPS"></a><h3>XMLSEC_KEYINFO_FLAGS_RETRMETHOD_STOP_ON_UNKNOWN_HREF</h3>
-<pre class="PROGRAMLISTING">#define XMLSEC_KEYINFO_FLAGS_RETRMETHOD_STOP_ON_UNKNOWN_HREF 0x00000010</pre>
+<pre class="programlisting">#define XMLSEC_KEYINFO_FLAGS_RETRMETHOD_STOP_ON_UNKNOWN_HREF 0x00000010
+</pre>
<p>If flag is set then we abort if an unknown href attribute
of <dsig:RetrievalMethod /> element is found.</p>
</div>
<hr>
-<div class="REFSECT2">
+<div class="refsect2">
<a name="XMLSEC-KEYINFO-FLAGS-RETRMETHOD-STOP-ON-MISMATCH-HREF:CAPS"></a><h3>XMLSEC_KEYINFO_FLAGS_RETRMETHOD_STOP_ON_MISMATCH_HREF</h3>
-<pre class="PROGRAMLISTING">#define XMLSEC_KEYINFO_FLAGS_RETRMETHOD_STOP_ON_MISMATCH_HREF 0x00000020</pre>
+<pre class="programlisting">#define XMLSEC_KEYINFO_FLAGS_RETRMETHOD_STOP_ON_MISMATCH_HREF 0x00000020
+</pre>
<p>If flag is set then we abort if an href attribute <dsig:RetrievalMethod />
element does not match the real key data type.</p>
</div>
<hr>
-<div class="REFSECT2">
+<div class="refsect2">
<a name="XMLSEC-KEYINFO-FLAGS-X509DATA-STOP-ON-UNKNOWN-CHILD:CAPS"></a><h3>XMLSEC_KEYINFO_FLAGS_X509DATA_STOP_ON_UNKNOWN_CHILD</h3>
-<pre class="PROGRAMLISTING">#define XMLSEC_KEYINFO_FLAGS_X509DATA_STOP_ON_UNKNOWN_CHILD 0x00000100</pre>
+<pre class="programlisting">#define XMLSEC_KEYINFO_FLAGS_X509DATA_STOP_ON_UNKNOWN_CHILD 0x00000100
+</pre>
<p>If flags is set then we abort if an unknown <dsig:X509Data />
child is found.</p>
</div>
<hr>
-<div class="REFSECT2">
+<div class="refsect2">
<a name="XMLSEC-KEYINFO-FLAGS-X509DATA-DONT-VERIFY-CERTS:CAPS"></a><h3>XMLSEC_KEYINFO_FLAGS_X509DATA_DONT_VERIFY_CERTS</h3>
-<pre class="PROGRAMLISTING">#define XMLSEC_KEYINFO_FLAGS_X509DATA_DONT_VERIFY_CERTS 0x00000200</pre>
+<pre class="programlisting">#define XMLSEC_KEYINFO_FLAGS_X509DATA_DONT_VERIFY_CERTS 0x00000200
+</pre>
<p>If flag is set then we'll load certificates from <dsig:X509Data />
element without verification.</p>
</div>
<hr>
-<div class="REFSECT2">
+<div class="refsect2">
<a name="XMLSEC-KEYINFO-FLAGS-X509DATA-STOP-ON-UNKNOWN-CERT:CAPS"></a><h3>XMLSEC_KEYINFO_FLAGS_X509DATA_STOP_ON_UNKNOWN_CERT</h3>
-<pre class="PROGRAMLISTING">#define XMLSEC_KEYINFO_FLAGS_X509DATA_STOP_ON_UNKNOWN_CERT 0x00000400</pre>
+<pre class="programlisting">#define XMLSEC_KEYINFO_FLAGS_X509DATA_STOP_ON_UNKNOWN_CERT 0x00000400
+</pre>
<p>If flag is set then we'll stop when we could not resolve reference
to certificate from <dsig:X509IssuerSerial />, <dsig:X509SKI /> or
<dsig:X509SubjectName /> elements.</p>
</div>
<hr>
-<div class="REFSECT2">
+<div class="refsect2">
<a name="XMLSEC-KEYINFO-FLAGS-X509DATA-STOP-ON-INVALID-CERT:CAPS"></a><h3>XMLSEC_KEYINFO_FLAGS_X509DATA_STOP_ON_INVALID_CERT</h3>
-<pre class="PROGRAMLISTING">#define XMLSEC_KEYINFO_FLAGS_X509DATA_STOP_ON_INVALID_CERT 0x00000800</pre>
+<pre class="programlisting">#define XMLSEC_KEYINFO_FLAGS_X509DATA_STOP_ON_INVALID_CERT 0x00000800
+</pre>
<p>If the flag is set then we'll stop when <dsig:X509Data /> element
processing does not return a verified certificate.</p>
</div>
<hr>
-<div class="REFSECT2">
+<div class="refsect2">
<a name="XMLSEC-KEYINFO-FLAGS-ENCKEY-DONT-STOP-ON-FAILED-DECRYPTION:CAPS"></a><h3>XMLSEC_KEYINFO_FLAGS_ENCKEY_DONT_STOP_ON_FAILED_DECRYPTION</h3>
-<pre class="PROGRAMLISTING">#define XMLSEC_KEYINFO_FLAGS_ENCKEY_DONT_STOP_ON_FAILED_DECRYPTION 0x00001000</pre>
+<pre class="programlisting">#define XMLSEC_KEYINFO_FLAGS_ENCKEY_DONT_STOP_ON_FAILED_DECRYPTION 0x00001000
+</pre>
<p>If the flag is set then we'll stop when <enc:EncryptedKey /> element
processing fails.</p>
</div>
<hr>
-<div class="REFSECT2">
+<div class="refsect2">
<a name="XMLSEC-KEYINFO-FLAGS-STOP-ON-EMPTY-NODE:CAPS"></a><h3>XMLSEC_KEYINFO_FLAGS_STOP_ON_EMPTY_NODE</h3>
-<pre class="PROGRAMLISTING">#define XMLSEC_KEYINFO_FLAGS_STOP_ON_EMPTY_NODE 0x00002000</pre>
+<pre class="programlisting">#define XMLSEC_KEYINFO_FLAGS_STOP_ON_EMPTY_NODE 0x00002000
+</pre>
<p>If the flag is set then we'll stop when we found an empty node.
Otherwise we just ignore it.</p>
</div>
<hr>
-<div class="REFSECT2">
+<div class="refsect2">
<a name="XMLSEC-KEYINFO-FLAGS-X509DATA-SKIP-STRICT-CHECKS:CAPS"></a><h3>XMLSEC_KEYINFO_FLAGS_X509DATA_SKIP_STRICT_CHECKS</h3>
-<pre class="PROGRAMLISTING">#define XMLSEC_KEYINFO_FLAGS_X509DATA_SKIP_STRICT_CHECKS 0x00004000</pre>
+<pre class="programlisting">#define XMLSEC_KEYINFO_FLAGS_X509DATA_SKIP_STRICT_CHECKS 0x00004000
+</pre>
<p>If the flag is set then we'll skip strict checking of certs and CRLs</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYINFOCTX"></a><h3>struct xmlSecKeyInfoCtx</h3>
-<pre class="PROGRAMLISTING">struct xmlSecKeyInfoCtx {
+<div class="refsect2">
+<a name="xmlSecKeyInfoCtx"></a><h3>struct xmlSecKeyInfoCtx</h3>
+<pre class="programlisting">struct xmlSecKeyInfoCtx {
void* userData;
unsigned int flags;
unsigned int flags2;
@@ -908,167 +910,169 @@ Otherwise we just ignore it.</p>
/* for the future */
void* reserved0;
void* reserved1;
-};</pre>
+};
+</pre>
<p>The <dsig:KeyInfo /> reading or writing context.</p>
-<div class="REFSECT3">
-<a name="AEN8136"></a><h4>Members</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN8138"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecKeyInfoCtx.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="struct_members_name">
+<col class="struct_members_description">
+<col width="200px" class="struct_members_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p><font><span class="TYPE">void</span></font> *<code class="STRUCTFIELD">userData</code>;</p></td>
-<td><p>the pointer to user data (xmlsec and xmlsec-crypto
+<td class="struct_member_name"><p><font><span class="type">void</span></font> *<em class="structfield"><code><a name="xmlSecKeyInfoCtx.userData"></a>userData</code></em>;</p></td>
+<td class="struct_member_description"><p>the pointer to user data (xmlsec and xmlsec-crypto
never touch this).</p></td>
-<td> </td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p>unsigned <font><span class="TYPE">int</span></font> <code class="STRUCTFIELD">flags</code>;</p></td>
-<td><p>the bit mask for flags that control processin.</p></td>
-<td> </td>
+<td class="struct_member_name"><p>unsigned <font><span class="type">int</span></font> <em class="structfield"><code><a name="xmlSecKeyInfoCtx.flags"></a>flags</code></em>;</p></td>
+<td class="struct_member_description"><p>the bit mask for flags that control processin.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p>unsigned <font><span class="TYPE">int</span></font> <code class="STRUCTFIELD">flags2</code>;</p></td>
-<td><p>reserved for future.</p></td>
-<td> </td>
+<td class="struct_member_name"><p>unsigned <font><span class="type">int</span></font> <em class="structfield"><code><a name="xmlSecKeyInfoCtx.flags2"></a>flags2</code></em>;</p></td>
+<td class="struct_member_description"><p>reserved for future.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> <code class="STRUCTFIELD">keysMngr</code>;</p></td>
-<td><p>the pointer to current keys manager.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><font><span class="type">xmlSecKeysMngrPtr</span></font> <em class="structfield"><code><a name="xmlSecKeyInfoCtx.keysMngr"></a>keysMngr</code></em>;</p></td>
+<td class="struct_member_description"><p>the pointer to current keys manager.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><a href="xmlsec-keyinfo.html#XMLSECKEYINFOMODE"><span class="TYPE">xmlSecKeyInfoMode</span></a> <code class="STRUCTFIELD">mode</code>;</p></td>
-<td><p>do we read or write <dsig:KeyInfo /> element.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><a class="link" href="xmlsec-keyinfo.html#xmlSecKeyInfoMode" title="enum xmlSecKeyInfoMode"><span class="type">xmlSecKeyInfoMode</span></a> <em class="structfield"><code><a name="xmlSecKeyInfoCtx.mode"></a>mode</code></em>;</p></td>
+<td class="struct_member_description"><p>do we read or write <dsig:KeyInfo /> element.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><a href="xmlsec-list.html#XMLSECPTRLIST"><span class="TYPE">xmlSecPtrList</span></a> <code class="STRUCTFIELD">enabledKeyData</code>;</p></td>
-<td><p>the list of enabled <code class="PARAMETER">xmlSecKeyDataId</code>
+<td class="struct_member_name"><p><a class="link" href="xmlsec-list.html#xmlSecPtrList" title="struct xmlSecPtrList"><span class="type">xmlSecPtrList</span></a> <em class="structfield"><code><a name="xmlSecKeyInfoCtx.enabledKeyData"></a>enabledKeyData</code></em>;</p></td>
+<td class="struct_member_description"><p>the list of enabled <em class="parameter"><code>xmlSecKeyDataId</code></em>
(if list is
empty then all data ids are enabled).</p></td>
-<td> </td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><font><span class="TYPE">int</span></font> <code class="STRUCTFIELD">base64LineSize</code>;</p></td>
-<td><p>the max columns size for base64 encoding.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><font><span class="type">int</span></font> <em class="structfield"><code><a name="xmlSecKeyInfoCtx.base64LineSize"></a>base64LineSize</code></em>;</p></td>
+<td class="struct_member_description"><p>the max columns size for base64 encoding.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtx</span></a> <code class="STRUCTFIELD">retrievalMethodCtx</code>;</p></td>
-<td><p>the transforms context for <dsig:RetrievalMethod />
+<td class="struct_member_name"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformCtx" title="struct xmlSecTransformCtx"><span class="type">xmlSecTransformCtx</span></a> <em class="structfield"><code><a name="xmlSecKeyInfoCtx.retrievalMethodCtx"></a>retrievalMethodCtx</code></em>;</p></td>
+<td class="struct_member_description"><p>the transforms context for <dsig:RetrievalMethod />
element processing.</p></td>
-<td> </td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><font><span class="TYPE">int</span></font> <code class="STRUCTFIELD">maxRetrievalMethodLevel</code>;</p></td>
-<td><p>the max recursion level when processing
+<td class="struct_member_name"><p><font><span class="type">int</span></font> <em class="structfield"><code><a name="xmlSecKeyInfoCtx.maxRetrievalMethodLevel"></a>maxRetrievalMethodLevel</code></em>;</p></td>
+<td class="struct_member_description"><p>the max recursion level when processing
<dsig:RetrievalMethod /> element; default level is 1
-(see also <code class="PARAMETER">curRetrievalMethodLevel</code>
+(see also <em class="parameter"><code>curRetrievalMethodLevel</code></em>
).</p></td>
-<td> </td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><a href="xmlsec-xmlenc.html#XMLSECENCCTX"><span class="TYPE">xmlSecEncCtxPtr</span></a> <code class="STRUCTFIELD">encCtx</code>;</p></td>
-<td><p>the encryption context for <dsig:EncryptedKey /> element
+<td class="struct_member_name"><p><font><span class="type">xmlSecEncCtxPtr</span></font> <em class="structfield"><code><a name="xmlSecKeyInfoCtx.encCtx"></a>encCtx</code></em>;</p></td>
+<td class="struct_member_description"><p>the encryption context for <dsig:EncryptedKey /> element
processing.</p></td>
-<td> </td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><font><span class="TYPE">int</span></font> <code class="STRUCTFIELD">maxEncryptedKeyLevel</code>;</p></td>
-<td><p>the max recursion level when processing
+<td class="struct_member_name"><p><font><span class="type">int</span></font> <em class="structfield"><code><a name="xmlSecKeyInfoCtx.maxEncryptedKeyLevel"></a>maxEncryptedKeyLevel</code></em>;</p></td>
+<td class="struct_member_description"><p>the max recursion level when processing
<enc:EncryptedKey /> element; default level is 1
-(see <code class="PARAMETER">curEncryptedKeyLevel</code>
+(see <em class="parameter"><code>curEncryptedKeyLevel</code></em>
).</p></td>
-<td> </td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><font><span class="TYPE">time_t</span></font> <code class="STRUCTFIELD">certsVerificationTime</code>;</p></td>
-<td><p>the time to use for X509 certificates verification
+<td class="struct_member_name"><p><font><span class="type">time_t</span></font> <em class="structfield"><code><a name="xmlSecKeyInfoCtx.certsVerificationTime"></a>certsVerificationTime</code></em>;</p></td>
+<td class="struct_member_description"><p>the time to use for X509 certificates verification
("not valid before" and "not valid after" checks);
-if <code class="PARAMETER">certsVerificationTime</code>
+if <em class="parameter"><code>certsVerificationTime</code></em>
is equal to 0 (default)
then we verify certificates against the system's
clock "now".</p></td>
-<td> </td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><font><span class="TYPE">int</span></font> <code class="STRUCTFIELD">certsVerificationDepth</code>;</p></td>
-<td><p>the max certifications chain length (default is 9).</p></td>
-<td> </td>
+<td class="struct_member_name"><p><font><span class="type">int</span></font> <em class="structfield"><code><a name="xmlSecKeyInfoCtx.certsVerificationDepth"></a>certsVerificationDepth</code></em>;</p></td>
+<td class="struct_member_description"><p>the max certifications chain length (default is 9).</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><font><span class="TYPE">void</span></font> *<code class="STRUCTFIELD">pgpReserved</code>;</p></td>
-<td><p>reserved for PGP.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><font><span class="type">void</span></font> *<em class="structfield"><code><a name="xmlSecKeyInfoCtx.pgpReserved"></a>pgpReserved</code></em>;</p></td>
+<td class="struct_member_description"><p>reserved for PGP.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><font><span class="TYPE">int</span></font> <code class="STRUCTFIELD">curRetrievalMethodLevel</code>;</p></td>
-<td><p>the current <dsig:RetrievalMethod /> element
-processing level (see <code class="PARAMETER">maxRetrievalMethodLevel</code>
+<td class="struct_member_name"><p><font><span class="type">int</span></font> <em class="structfield"><code><a name="xmlSecKeyInfoCtx.curRetrievalMethodLevel"></a>curRetrievalMethodLevel</code></em>;</p></td>
+<td class="struct_member_description"><p>the current <dsig:RetrievalMethod /> element
+processing level (see <em class="parameter"><code>maxRetrievalMethodLevel</code></em>
).</p></td>
-<td> </td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><font><span class="TYPE">int</span></font> <code class="STRUCTFIELD">curEncryptedKeyLevel</code>;</p></td>
-<td><p>the current <enc:EncryptedKey /> element
-processing level (see <code class="PARAMETER">maxEncryptedKeyLevel</code>
+<td class="struct_member_name"><p><font><span class="type">int</span></font> <em class="structfield"><code><a name="xmlSecKeyInfoCtx.curEncryptedKeyLevel"></a>curEncryptedKeyLevel</code></em>;</p></td>
+<td class="struct_member_description"><p>the current <enc:EncryptedKey /> element
+processing level (see <em class="parameter"><code>maxEncryptedKeyLevel</code></em>
).</p></td>
-<td> </td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><a href="xmlsec-keys.html#XMLSECKEYREQ"><span class="TYPE">xmlSecKeyReq</span></a> <code class="STRUCTFIELD">keyReq</code>;</p></td>
-<td><p>the current key requirements.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><a class="link" href="xmlsec-keys.html#xmlSecKeyReq" title="struct xmlSecKeyReq"><span class="type">xmlSecKeyReq</span></a> <em class="structfield"><code><a name="xmlSecKeyInfoCtx.keyReq"></a>keyReq</code></em>;</p></td>
+<td class="struct_member_description"><p>the current key requirements.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><font><span class="TYPE">void</span></font> *<code class="STRUCTFIELD">reserved0</code>;</p></td>
-<td><p>reserved for the future.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><font><span class="type">void</span></font> *<em class="structfield"><code><a name="xmlSecKeyInfoCtx.reserved0"></a>reserved0</code></em>;</p></td>
+<td class="struct_member_description"><p>reserved for the future.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><font><span class="TYPE">void</span></font> *<code class="STRUCTFIELD">reserved1</code>;</p></td>
-<td><p>reserved for the future.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><font><span class="type">void</span></font> *<em class="structfield"><code><a name="xmlSecKeyInfoCtx.reserved1"></a>reserved1</code></em>;</p></td>
+<td class="struct_member_description"><p>reserved for the future.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYDATANAMEID"></a><h3>xmlSecKeyDataNameId</h3>
-<pre class="PROGRAMLISTING">#define xmlSecKeyDataNameId xmlSecKeyDataNameGetKlass()</pre>
+<div class="refsect2">
+<a name="xmlSecKeyDataNameId"></a><h3>xmlSecKeyDataNameId</h3>
+<pre class="programlisting">#define xmlSecKeyDataNameId xmlSecKeyDataNameGetKlass()
+</pre>
<p>The <dsig:KeyName> processing class.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYDATAVALUEID"></a><h3>xmlSecKeyDataValueId</h3>
-<pre class="PROGRAMLISTING">#define xmlSecKeyDataValueId xmlSecKeyDataValueGetKlass()</pre>
+<div class="refsect2">
+<a name="xmlSecKeyDataValueId"></a><h3>xmlSecKeyDataValueId</h3>
+<pre class="programlisting">#define xmlSecKeyDataValueId xmlSecKeyDataValueGetKlass()
+</pre>
<p>The <dsig:KeyValue> processing class.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYDATARETRIEVALMETHODID"></a><h3>xmlSecKeyDataRetrievalMethodId</h3>
-<pre class="PROGRAMLISTING">#define xmlSecKeyDataRetrievalMethodId xmlSecKeyDataRetrievalMethodGetKlass()</pre>
+<div class="refsect2">
+<a name="xmlSecKeyDataRetrievalMethodId"></a><h3>xmlSecKeyDataRetrievalMethodId</h3>
+<pre class="programlisting">#define xmlSecKeyDataRetrievalMethodId xmlSecKeyDataRetrievalMethodGetKlass()
+</pre>
<p>The <dsig:RetrievalMethod> processing class.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYDATAENCRYPTEDKEYID"></a><h3>xmlSecKeyDataEncryptedKeyId</h3>
-<pre class="PROGRAMLISTING">#define xmlSecKeyDataEncryptedKeyId xmlSecKeyDataEncryptedKeyGetKlass()</pre>
+<div class="refsect2">
+<a name="xmlSecKeyDataEncryptedKeyId"></a><h3>xmlSecKeyDataEncryptedKeyId</h3>
+<pre class="programlisting">#define xmlSecKeyDataEncryptedKeyId xmlSecKeyDataEncryptedKeyGetKlass()
+</pre>
<p>The <enc:EncryptedKey> processing class.</p>
</div>
</div>
-<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td align="left"><a accesskey="p" href="xmlsec-io.html"><b><<< io</b></a></td>
-<td align="right"><a accesskey="n" href="xmlsec-keysdata.html"><b>keysdata >>></b></a></td>
-</tr></table>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
</td></tr></table></td>
</tr></table></body>
</html>
diff --git a/docs/api/xmlsec-keys.html b/docs/api/xmlsec-keys.html
index 3c49c84..24c4a72 100644
--- a/docs/api/xmlsec-keys.html
+++ b/docs/api/xmlsec-keys.html
@@ -1,41 +1,14 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>keys</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79">
-<link rel="HOME" title="XML Security Library Reference Manual" href="index.html">
-<link rel="UP" title="XML Security Core Library API Reference." href="xmlsec-ref.html">
-<link rel="PREVIOUS" title="keysdata" href="xmlsec-keysdata.html">
-<link rel="NEXT" title="keysmngr" href="xmlsec-keysmngr.html">
-<style type="text/css">.synopsis, .classsynopsis {
- background: #eeeeee;
- border: solid 1px #aaaaaa;
- padding: 0.5em;
-}
-.programlisting {
- background: #eeeeff;
- border: solid 1px #aaaaff;
- padding: 0.5em;
-}
-.variablelist {
- padding: 4px;
- margin-left: 3em;
-}
-.navigation {
- background: #ffeeee;
- border: solid 1px #ffaaaa;
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
-.navigation a {
- color: #770000;
-}
-.navigation a:visited {
- color: #550000;
-}
-.navigation .title {
- font-size: 200%;
-}</style>
+<title>keys: XML Security Library Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="XML Security Library Reference Manual">
+<link rel="up" href="xmlsec-ref.html" title="XML Security Core Library API Reference.">
+<link rel="prev" href="xmlsec-keysdata.html" title="keysdata">
+<link rel="next" href="xmlsec-keysmngr.html" title="keysmngr">
+<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
<style type="text/css">
table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
width: 20em;
@@ -100,1845 +73,1859 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
</table>
</td>
<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent">
-<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td><a accesskey="p" href="xmlsec-keysdata.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="xmlsec-ref.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description"> <span class="dim">|</span>
+ <a href="#xmlsec-keys.description" class="shortcut">Description</a></span>
+</td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<th width="100%" align="center">XML Security Library Reference Manual</th>
+<td><a accesskey="u" href="xmlsec-ref.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="xmlsec-keysdata.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="xmlsec-keysmngr.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
-<h1>
-<a name="XMLSEC-KEYS"></a>keys</h1>
-<div class="REFNAMEDIV">
-<a name="AEN11732"></a><h2>Name</h2>keys -- Crypto key object definition.</div>
-<div class="REFSECT1">
-<a name="XMLSEC-KEYS.FUNCTIONS"></a><h2>Functions</h2>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN11737"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
+<div class="refentry">
+<a name="xmlsec-keys"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="xmlsec-keys.top_of_page"></a>keys</span></h2>
+<p>keys — Crypto key object definition.</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="xmlsec-keys.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
<tbody>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-keys.html#XMLSECKEYUSEWITHINITIALIZE">xmlSecKeyUseWithInitialize</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-keys.html#xmlSecKeyUseWithInitialize" title="xmlSecKeyUseWithInitialize ()">xmlSecKeyUseWithInitialize</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">void</span></font></td>
-<td>
-<a href="xmlsec-keys.html#XMLSECKEYUSEWITHFINALIZE">xmlSecKeyUseWithFinalize</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">void</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-keys.html#xmlSecKeyUseWithFinalize" title="xmlSecKeyUseWithFinalize ()">xmlSecKeyUseWithFinalize</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">void</span></font></td>
-<td>
-<a href="xmlsec-keys.html#XMLSECKEYUSEWITHRESET">xmlSecKeyUseWithReset</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">void</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-keys.html#xmlSecKeyUseWithReset" title="xmlSecKeyUseWithReset ()">xmlSecKeyUseWithReset</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-keys.html#XMLSECKEYUSEWITHCOPY">xmlSecKeyUseWithCopy</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-keys.html#xmlSecKeyUseWithCopy" title="xmlSecKeyUseWithCopy ()">xmlSecKeyUseWithCopy</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><a href="xmlsec-keys.html#XMLSECKEYUSEWITH"><span class="RETURNVALUE">xmlSecKeyUseWithPtr</span></a></td>
-<td>
-<a href="xmlsec-keys.html#XMLSECKEYUSEWITHCREATE">xmlSecKeyUseWithCreate</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecKeyUseWithPtr</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-keys.html#xmlSecKeyUseWithCreate" title="xmlSecKeyUseWithCreate ()">xmlSecKeyUseWithCreate</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><a href="xmlsec-keys.html#XMLSECKEYUSEWITH"><span class="RETURNVALUE">xmlSecKeyUseWithPtr</span></a></td>
-<td>
-<a href="xmlsec-keys.html#XMLSECKEYUSEWITHDUPLICATE">xmlSecKeyUseWithDuplicate</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecKeyUseWithPtr</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-keys.html#xmlSecKeyUseWithDuplicate" title="xmlSecKeyUseWithDuplicate ()">xmlSecKeyUseWithDuplicate</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">void</span></font></td>
-<td>
-<a href="xmlsec-keys.html#XMLSECKEYUSEWITHDESTROY">xmlSecKeyUseWithDestroy</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">void</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-keys.html#xmlSecKeyUseWithDestroy" title="xmlSecKeyUseWithDestroy ()">xmlSecKeyUseWithDestroy</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-keys.html#XMLSECKEYUSEWITHSET">xmlSecKeyUseWithSet</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-keys.html#xmlSecKeyUseWithSet" title="xmlSecKeyUseWithSet ()">xmlSecKeyUseWithSet</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">void</span></font></td>
-<td>
-<a href="xmlsec-keys.html#XMLSECKEYUSEWITHDEBUGDUMP">xmlSecKeyUseWithDebugDump</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">void</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-keys.html#xmlSecKeyUseWithDebugDump" title="xmlSecKeyUseWithDebugDump ()">xmlSecKeyUseWithDebugDump</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">void</span></font></td>
-<td>
-<a href="xmlsec-keys.html#XMLSECKEYUSEWITHDEBUGXMLDUMP">xmlSecKeyUseWithDebugXmlDump</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">void</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-keys.html#xmlSecKeyUseWithDebugXmlDump" title="xmlSecKeyUseWithDebugXmlDump ()">xmlSecKeyUseWithDebugXmlDump</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecPtrListId</span></font></td>
-<td>
-<a href="xmlsec-keys.html#XMLSECKEYUSEWITHPTRLISTGETKLASS">xmlSecKeyUseWithPtrListGetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecPtrListId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-keys.html#xmlSecKeyUseWithPtrListGetKlass" title="xmlSecKeyUseWithPtrListGetKlass ()">xmlSecKeyUseWithPtrListGetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-keys.html#XMLSECKEYREQINITIALIZE">xmlSecKeyReqInitialize</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-keys.html#xmlSecKeyReqInitialize" title="xmlSecKeyReqInitialize ()">xmlSecKeyReqInitialize</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">void</span></font></td>
-<td>
-<a href="xmlsec-keys.html#XMLSECKEYREQFINALIZE">xmlSecKeyReqFinalize</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">void</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-keys.html#xmlSecKeyReqFinalize" title="xmlSecKeyReqFinalize ()">xmlSecKeyReqFinalize</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">void</span></font></td>
-<td>
-<a href="xmlsec-keys.html#XMLSECKEYREQRESET">xmlSecKeyReqReset</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">void</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-keys.html#xmlSecKeyReqReset" title="xmlSecKeyReqReset ()">xmlSecKeyReqReset</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-keys.html#XMLSECKEYREQCOPY">xmlSecKeyReqCopy</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-keys.html#xmlSecKeyReqCopy" title="xmlSecKeyReqCopy ()">xmlSecKeyReqCopy</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-keys.html#XMLSECKEYREQMATCHKEY">xmlSecKeyReqMatchKey</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-keys.html#xmlSecKeyReqMatchKey" title="xmlSecKeyReqMatchKey ()">xmlSecKeyReqMatchKey</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-keys.html#XMLSECKEYREQMATCHKEYVALUE">xmlSecKeyReqMatchKeyValue</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-keys.html#xmlSecKeyReqMatchKeyValue" title="xmlSecKeyReqMatchKeyValue ()">xmlSecKeyReqMatchKeyValue</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">void</span></font></td>
-<td>
-<a href="xmlsec-keys.html#XMLSECKEYREQDEBUGDUMP">xmlSecKeyReqDebugDump</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">void</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-keys.html#xmlSecKeyReqDebugDump" title="xmlSecKeyReqDebugDump ()">xmlSecKeyReqDebugDump</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">void</span></font></td>
-<td>
-<a href="xmlsec-keys.html#XMLSECKEYREQDEBUGXMLDUMP">xmlSecKeyReqDebugXmlDump</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">void</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-keys.html#xmlSecKeyReqDebugXmlDump" title="xmlSecKeyReqDebugXmlDump ()">xmlSecKeyReqDebugXmlDump</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a></td>
-<td>
-<a href="xmlsec-keys.html#XMLSECKEYCREATE">xmlSecKeyCreate</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecKeyPtr</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-keys.html#xmlSecKeyCreate" title="xmlSecKeyCreate ()">xmlSecKeyCreate</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">void</span></font></td>
-<td>
-<a href="xmlsec-keys.html#XMLSECKEYDESTROY">xmlSecKeyDestroy</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">void</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-keys.html#xmlSecKeyDestroy" title="xmlSecKeyDestroy ()">xmlSecKeyDestroy</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">void</span></font></td>
-<td>
-<a href="xmlsec-keys.html#XMLSECKEYEMPTY">xmlSecKeyEmpty</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">void</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-keys.html#xmlSecKeyEmpty" title="xmlSecKeyEmpty ()">xmlSecKeyEmpty</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a></td>
-<td>
-<a href="xmlsec-keys.html#XMLSECKEYDUPLICATE">xmlSecKeyDuplicate</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecKeyPtr</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-keys.html#xmlSecKeyDuplicate" title="xmlSecKeyDuplicate ()">xmlSecKeyDuplicate</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-keys.html#XMLSECKEYCOPY">xmlSecKeyCopy</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-keys.html#xmlSecKeyCopy" title="xmlSecKeyCopy ()">xmlSecKeyCopy</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td>const <font><span class="RETURNVALUE">xmlChar</span></font> *</td>
-<td>
-<a href="xmlsec-keys.html#XMLSECKEYGETNAME">xmlSecKeyGetName</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">const <font><span class="returnvalue">xmlChar</span></font> *
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-keys.html#xmlSecKeyGetName" title="xmlSecKeyGetName ()">xmlSecKeyGetName</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-keys.html#XMLSECKEYSETNAME">xmlSecKeySetName</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-keys.html#xmlSecKeySetName" title="xmlSecKeySetName ()">xmlSecKeySetName</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><a href="xmlsec-keysdata.html#XMLSECKEYDATATYPE"><span class="RETURNVALUE">xmlSecKeyDataType</span></a></td>
-<td>
-<a href="xmlsec-keys.html#XMLSECKEYGETTYPE">xmlSecKeyGetType</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataType" title="xmlSecKeyDataType"><span class="returnvalue">xmlSecKeyDataType</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-keys.html#xmlSecKeyGetType" title="xmlSecKeyGetType ()">xmlSecKeyGetType</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="RETURNVALUE">xmlSecKeyDataPtr</span></a></td>
-<td>
-<a href="xmlsec-keys.html#XMLSECKEYGETVALUE">xmlSecKeyGetValue</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecKeyDataPtr</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-keys.html#xmlSecKeyGetValue" title="xmlSecKeyGetValue ()">xmlSecKeyGetValue</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-keys.html#XMLSECKEYSETVALUE">xmlSecKeySetValue</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-keys.html#xmlSecKeySetValue" title="xmlSecKeySetValue ()">xmlSecKeySetValue</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="RETURNVALUE">xmlSecKeyDataPtr</span></a></td>
-<td>
-<a href="xmlsec-keys.html#XMLSECKEYGETDATA">xmlSecKeyGetData</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecKeyDataPtr</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-keys.html#xmlSecKeyGetData" title="xmlSecKeyGetData ()">xmlSecKeyGetData</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="RETURNVALUE">xmlSecKeyDataPtr</span></a></td>
-<td>
-<a href="xmlsec-keys.html#XMLSECKEYENSUREDATA">xmlSecKeyEnsureData</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecKeyDataPtr</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-keys.html#xmlSecKeyEnsureData" title="xmlSecKeyEnsureData ()">xmlSecKeyEnsureData</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-keys.html#XMLSECKEYADOPTDATA">xmlSecKeyAdoptData</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-keys.html#xmlSecKeyAdoptData" title="xmlSecKeyAdoptData ()">xmlSecKeyAdoptData</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">void</span></font></td>
-<td>
-<a href="xmlsec-keys.html#XMLSECKEYDEBUGDUMP">xmlSecKeyDebugDump</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">void</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-keys.html#xmlSecKeyDebugDump" title="xmlSecKeyDebugDump ()">xmlSecKeyDebugDump</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">void</span></font></td>
-<td>
-<a href="xmlsec-keys.html#XMLSECKEYDEBUGXMLDUMP">xmlSecKeyDebugXmlDump</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">void</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-keys.html#xmlSecKeyDebugXmlDump" title="xmlSecKeyDebugXmlDump ()">xmlSecKeyDebugXmlDump</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a></td>
-<td>
-<a href="xmlsec-keys.html#XMLSECKEYGENERATE">xmlSecKeyGenerate</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecKeyPtr</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-keys.html#xmlSecKeyGenerate" title="xmlSecKeyGenerate ()">xmlSecKeyGenerate</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a></td>
-<td>
-<a href="xmlsec-keys.html#XMLSECKEYGENERATEBYNAME">xmlSecKeyGenerateByName</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecKeyPtr</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-keys.html#xmlSecKeyGenerateByName" title="xmlSecKeyGenerateByName ()">xmlSecKeyGenerateByName</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-keys.html#XMLSECKEYMATCH">xmlSecKeyMatch</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-keys.html#xmlSecKeyMatch" title="xmlSecKeyMatch ()">xmlSecKeyMatch</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a></td>
-<td>
-<a href="xmlsec-keys.html#XMLSECKEYREADBUFFER">xmlSecKeyReadBuffer</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecKeyPtr</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-keys.html#xmlSecKeyReadBuffer" title="xmlSecKeyReadBuffer ()">xmlSecKeyReadBuffer</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a></td>
-<td>
-<a href="xmlsec-keys.html#XMLSECKEYREADBINARYFILE">xmlSecKeyReadBinaryFile</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecKeyPtr</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-keys.html#xmlSecKeyReadBinaryFile" title="xmlSecKeyReadBinaryFile ()">xmlSecKeyReadBinaryFile</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a></td>
-<td>
-<a href="xmlsec-keys.html#XMLSECKEYREADMEMORY">xmlSecKeyReadMemory</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecKeyPtr</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-keys.html#xmlSecKeyReadMemory" title="xmlSecKeyReadMemory ()">xmlSecKeyReadMemory</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td>#define</td>
-<td>
-<a href="xmlsec-keys.html#XMLSECKEYISVALID">xmlSecKeyIsValid</a><span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="define_keyword">#define</td>
+<td class="function_name">
+<a class="link" href="xmlsec-keys.html#xmlSecKeyIsValid" title="xmlSecKeyIsValid()">xmlSecKeyIsValid</a><span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td>#define</td>
-<td>
-<a href="xmlsec-keys.html#XMLSECKEYCHECKID">xmlSecKeyCheckId</a><span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="define_keyword">#define</td>
+<td class="function_name">
+<a class="link" href="xmlsec-keys.html#xmlSecKeyCheckId" title="xmlSecKeyCheckId()">xmlSecKeyCheckId</a><span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecPtrListId</span></font></td>
-<td>
-<a href="xmlsec-keys.html#XMLSECKEYPTRLISTGETKLASS">xmlSecKeyPtrListGetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecPtrListId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-keys.html#xmlSecKeyPtrListGetKlass" title="xmlSecKeyPtrListGetKlass ()">xmlSecKeyPtrListGetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
-</div>
-<div class="REFSECT1">
-<a name="XMLSEC-KEYS.OTHER"></a><h2>Types and Values</h2>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN12039"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="xmlsec-keys.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
<tbody>
<tr>
-<td>typedef</td>
-<td><a href="xmlsec-keys.html#XMLSECKEYUSAGE">xmlSecKeyUsage</a></td>
+<td class="typedef_keyword">typedef</td>
+<td class="function_name"><a class="link" href="xmlsec-keys.html#xmlSecKeyUsage" title="xmlSecKeyUsage">xmlSecKeyUsage</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-keys.html#XMLSECKEYUSAGESIGN">xmlSecKeyUsageSign</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-keys.html#xmlSecKeyUsageSign" title="xmlSecKeyUsageSign">xmlSecKeyUsageSign</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-keys.html#XMLSECKEYUSAGEVERIFY">xmlSecKeyUsageVerify</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-keys.html#xmlSecKeyUsageVerify" title="xmlSecKeyUsageVerify">xmlSecKeyUsageVerify</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-keys.html#XMLSECKEYUSAGEENCRYPT">xmlSecKeyUsageEncrypt</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-keys.html#xmlSecKeyUsageEncrypt" title="xmlSecKeyUsageEncrypt">xmlSecKeyUsageEncrypt</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-keys.html#XMLSECKEYUSAGEDECRYPT">xmlSecKeyUsageDecrypt</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-keys.html#xmlSecKeyUsageDecrypt" title="xmlSecKeyUsageDecrypt">xmlSecKeyUsageDecrypt</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-keys.html#XMLSECKEYUSAGEKEYEXCHANGE">xmlSecKeyUsageKeyExchange</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-keys.html#xmlSecKeyUsageKeyExchange" title="xmlSecKeyUsageKeyExchange">xmlSecKeyUsageKeyExchange</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-keys.html#XMLSECKEYUSAGEANY">xmlSecKeyUsageAny</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-keys.html#xmlSecKeyUsageAny" title="xmlSecKeyUsageAny">xmlSecKeyUsageAny</a></td>
</tr>
<tr>
-<td>struct</td>
-<td><a href="xmlsec-keys.html#XMLSECKEYUSEWITH">xmlSecKeyUseWith</a></td>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="xmlsec-keys.html#xmlSecKeyUseWith" title="struct xmlSecKeyUseWith">xmlSecKeyUseWith</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-keys.html#XMLSECKEYUSEWITHPTRLISTID">xmlSecKeyUseWithPtrListId</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-keys.html#xmlSecKeyUseWithPtrListId" title="xmlSecKeyUseWithPtrListId">xmlSecKeyUseWithPtrListId</a></td>
</tr>
<tr>
-<td>struct</td>
-<td><a href="xmlsec-keys.html#XMLSECKEYREQ">xmlSecKeyReq</a></td>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="xmlsec-keys.html#xmlSecKeyReq" title="struct xmlSecKeyReq">xmlSecKeyReq</a></td>
</tr>
<tr>
-<td>struct</td>
-<td><a href="xmlsec-keys.html#XMLSECKEY">xmlSecKey</a></td>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="xmlsec-keys.html#xmlSecKey" title="struct xmlSecKey">xmlSecKey</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-keys.html#XMLSECKEYPTRLISTID">xmlSecKeyPtrListId</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-keys.html#xmlSecKeyPtrListId" title="xmlSecKeyPtrListId">xmlSecKeyPtrListId</a></td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
-</div>
-<div class="REFSECT1">
-<a name="XMLSEC-KEYS.DESCRIPTION"></a><h2>Description</h2>
-<p>Crypto key object definition.</p>
-</div>
-<div class="REFSECT1">
-<a name="XMLSEC-KEYS.FUNCTIONS_DETAILS"></a><h2>Functions</h2>
-<div class="REFSECT2">
-<a name="XMLSECKEYUSEWITHINITIALIZE"></a><h3>xmlSecKeyUseWithInitialize ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecKeyUseWithInitialize (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEYUSEWITH"><span class="TYPE">xmlSecKeyUseWithPtr</span></a> keyUseWith</code>);</pre>
-<p>Initializes <code class="PARAMETER">keyUseWith</code>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="xmlsec-keys.description"></a><h2>Description</h2>
+<p>
+Crypto key object definition.
+</p>
+</div>
+<div class="refsect1">
+<a name="xmlsec-keys.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="xmlSecKeyUseWithInitialize"></a><h3>xmlSecKeyUseWithInitialize ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecKeyUseWithInitialize (<em class="parameter"><code><font><span class="type">xmlSecKeyUseWithPtr</span></font> keyUseWith</code></em>);</pre>
+<p>Initializes <em class="parameter"><code>keyUseWith</code></em>
object.</p>
-<div class="REFSECT3">
-<a name="AEN12107"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN12109"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecKeyUseWithInitialize.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>keyUseWith</p></td>
-<td><p>the pointer to information about key application/user.</p></td>
-<td> </td>
+<td class="parameter_name"><p>keyUseWith</p></td>
+<td class="parameter_description"><p>the pointer to information about key application/user.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN12118"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecKeyUseWithInitialize.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYUSEWITHFINALIZE"></a><h3>xmlSecKeyUseWithFinalize ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">void</span></font>
-xmlSecKeyUseWithFinalize (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEYUSEWITH"><span class="TYPE">xmlSecKeyUseWithPtr</span></a> keyUseWith</code>);</pre>
-<p>Finalizes <code class="PARAMETER">keyUseWith</code>
+<div class="refsect2">
+<a name="xmlSecKeyUseWithFinalize"></a><h3>xmlSecKeyUseWithFinalize ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">void</span></font>
+xmlSecKeyUseWithFinalize (<em class="parameter"><code><font><span class="type">xmlSecKeyUseWithPtr</span></font> keyUseWith</code></em>);</pre>
+<p>Finalizes <em class="parameter"><code>keyUseWith</code></em>
object.</p>
-<div class="REFSECT3">
-<a name="AEN12133"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN12135"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecKeyUseWithFinalize.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>keyUseWith</p></td>
-<td><p>the pointer to information about key application/user.</p></td>
-<td> </td>
+<td class="parameter_name"><p>keyUseWith</p></td>
+<td class="parameter_description"><p>the pointer to information about key application/user.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYUSEWITHRESET"></a><h3>xmlSecKeyUseWithReset ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">void</span></font>
-xmlSecKeyUseWithReset (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEYUSEWITH"><span class="TYPE">xmlSecKeyUseWithPtr</span></a> keyUseWith</code>);</pre>
-<p>Resets the <code class="PARAMETER">keyUseWith</code>
+<div class="refsect2">
+<a name="xmlSecKeyUseWithReset"></a><h3>xmlSecKeyUseWithReset ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">void</span></font>
+xmlSecKeyUseWithReset (<em class="parameter"><code><font><span class="type">xmlSecKeyUseWithPtr</span></font> keyUseWith</code></em>);</pre>
+<p>Resets the <em class="parameter"><code>keyUseWith</code></em>
to its state after initialization.</p>
-<div class="REFSECT3">
-<a name="AEN12156"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN12158"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecKeyUseWithReset.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>keyUseWith</p></td>
-<td><p>the pointer to information about key application/user.</p></td>
-<td> </td>
+<td class="parameter_name"><p>keyUseWith</p></td>
+<td class="parameter_description"><p>the pointer to information about key application/user.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYUSEWITHCOPY"></a><h3>xmlSecKeyUseWithCopy ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecKeyUseWithCopy (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEYUSEWITH"><span class="TYPE">xmlSecKeyUseWithPtr</span></a> dst</code>,
- <code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEYUSEWITH"><span class="TYPE">xmlSecKeyUseWithPtr</span></a> src</code>);</pre>
-<p>Copies information from <code class="PARAMETER">dst</code>
- to <code class="PARAMETER">src</code>
+<div class="refsect2">
+<a name="xmlSecKeyUseWithCopy"></a><h3>xmlSecKeyUseWithCopy ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecKeyUseWithCopy (<em class="parameter"><code><font><span class="type">xmlSecKeyUseWithPtr</span></font> dst</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlSecKeyUseWithPtr</span></font> src</code></em>);</pre>
+<p>Copies information from <em class="parameter"><code>dst</code></em>
+ to <em class="parameter"><code>src</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN12183"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN12185"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecKeyUseWithCopy.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>dst</p></td>
-<td><p>the pointer to destination object.</p></td>
-<td> </td>
+<td class="parameter_name"><p>dst</p></td>
+<td class="parameter_description"><p>the pointer to destination object.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>src</p></td>
-<td><p>the pointer to source object.</p></td>
-<td> </td>
+<td class="parameter_name"><p>src</p></td>
+<td class="parameter_description"><p>the pointer to source object.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN12200"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecKeyUseWithCopy.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYUSEWITHCREATE"></a><h3>xmlSecKeyUseWithCreate ()</h3>
-<pre class="PROGRAMLISTING"><a href="xmlsec-keys.html#XMLSECKEYUSEWITH"><span class="RETURNVALUE">xmlSecKeyUseWithPtr</span></a>
-xmlSecKeyUseWithCreate (<code class="PARAMETER">const <font><span class="TYPE">xmlChar</span></font> *application</code>,
- <code class="PARAMETER">const <font><span class="TYPE">xmlChar</span></font> *identifier</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecKeyUseWithCreate"></a><h3>xmlSecKeyUseWithCreate ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecKeyUseWithPtr</span></font>
+xmlSecKeyUseWithCreate (<em class="parameter"><code>const <font><span class="type">xmlChar</span></font> *application</code></em>,
+ <em class="parameter"><code>const <font><span class="type">xmlChar</span></font> *identifier</code></em>);</pre>
<p>Creates new xmlSecKeyUseWith object. The caller is responsible for destroying
-returned object with <code class="PARAMETER">xmlSecKeyUseWithDestroy</code>
+returned object with <em class="parameter"><code>xmlSecKeyUseWithDestroy</code></em>
function.</p>
-<div class="REFSECT3">
-<a name="AEN12218"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN12220"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecKeyUseWithCreate.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>application</p></td>
-<td><p>the application value.</p></td>
-<td> </td>
+<td class="parameter_name"><p>application</p></td>
+<td class="parameter_description"><p>the application value.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>identifier</p></td>
-<td><p>the identifier value.</p></td>
-<td> </td>
+<td class="parameter_name"><p>identifier</p></td>
+<td class="parameter_description"><p>the identifier value.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN12235"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecKeyUseWithCreate.returns"></a><h4>Returns</h4>
<p> pointer to newly created object or NULL if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYUSEWITHDUPLICATE"></a><h3>xmlSecKeyUseWithDuplicate ()</h3>
-<pre class="PROGRAMLISTING"><a href="xmlsec-keys.html#XMLSECKEYUSEWITH"><span class="RETURNVALUE">xmlSecKeyUseWithPtr</span></a>
-xmlSecKeyUseWithDuplicate (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEYUSEWITH"><span class="TYPE">xmlSecKeyUseWithPtr</span></a> keyUseWith</code>);</pre>
-<p>Duplicates <code class="PARAMETER">keyUseWith</code>
+<div class="refsect2">
+<a name="xmlSecKeyUseWithDuplicate"></a><h3>xmlSecKeyUseWithDuplicate ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecKeyUseWithPtr</span></font>
+xmlSecKeyUseWithDuplicate (<em class="parameter"><code><font><span class="type">xmlSecKeyUseWithPtr</span></font> keyUseWith</code></em>);</pre>
+<p>Duplicates <em class="parameter"><code>keyUseWith</code></em>
object. The caller is responsible for destroying
-returned object with <code class="PARAMETER">xmlSecKeyUseWithDestroy</code>
+returned object with <em class="parameter"><code>xmlSecKeyUseWithDestroy</code></em>
function.</p>
-<div class="REFSECT3">
-<a name="AEN12251"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN12253"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecKeyUseWithDuplicate.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>keyUseWith</p></td>
-<td><p>the pointer to information about key application/user.</p></td>
-<td> </td>
+<td class="parameter_name"><p>keyUseWith</p></td>
+<td class="parameter_description"><p>the pointer to information about key application/user.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN12262"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecKeyUseWithDuplicate.returns"></a><h4>Returns</h4>
<p> pointer to newly created object or NULL if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYUSEWITHDESTROY"></a><h3>xmlSecKeyUseWithDestroy ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">void</span></font>
-xmlSecKeyUseWithDestroy (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEYUSEWITH"><span class="TYPE">xmlSecKeyUseWithPtr</span></a> keyUseWith</code>);</pre>
-<p>Destroys <code class="PARAMETER">keyUseWith</code>
- created with <code class="PARAMETER">xmlSecKeyUseWithCreate</code>
- or <code class="PARAMETER">xmlSecKeyUseWithDuplicate</code>
+<div class="refsect2">
+<a name="xmlSecKeyUseWithDestroy"></a><h3>xmlSecKeyUseWithDestroy ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">void</span></font>
+xmlSecKeyUseWithDestroy (<em class="parameter"><code><font><span class="type">xmlSecKeyUseWithPtr</span></font> keyUseWith</code></em>);</pre>
+<p>Destroys <em class="parameter"><code>keyUseWith</code></em>
+ created with <em class="parameter"><code>xmlSecKeyUseWithCreate</code></em>
+ or <em class="parameter"><code>xmlSecKeyUseWithDuplicate</code></em>
functions.</p>
-<div class="REFSECT3">
-<a name="AEN12279"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN12281"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecKeyUseWithDestroy.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>keyUseWith</p></td>
-<td><p>the pointer to information about key application/user.</p></td>
-<td> </td>
+<td class="parameter_name"><p>keyUseWith</p></td>
+<td class="parameter_description"><p>the pointer to information about key application/user.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYUSEWITHSET"></a><h3>xmlSecKeyUseWithSet ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecKeyUseWithSet (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEYUSEWITH"><span class="TYPE">xmlSecKeyUseWithPtr</span></a> keyUseWith</code>,
- <code class="PARAMETER">const <font><span class="TYPE">xmlChar</span></font> *application</code>,
- <code class="PARAMETER">const <font><span class="TYPE">xmlChar</span></font> *identifier</code>);</pre>
-<p>Sets <code class="PARAMETER">application</code>
- and <code class="PARAMETER">identifier</code>
- in the <code class="PARAMETER">keyUseWith</code>
+<div class="refsect2">
+<a name="xmlSecKeyUseWithSet"></a><h3>xmlSecKeyUseWithSet ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecKeyUseWithSet (<em class="parameter"><code><font><span class="type">xmlSecKeyUseWithPtr</span></font> keyUseWith</code></em>,
+ <em class="parameter"><code>const <font><span class="type">xmlChar</span></font> *application</code></em>,
+ <em class="parameter"><code>const <font><span class="type">xmlChar</span></font> *identifier</code></em>);</pre>
+<p>Sets <em class="parameter"><code>application</code></em>
+ and <em class="parameter"><code>identifier</code></em>
+ in the <em class="parameter"><code>keyUseWith</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN12310"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN12312"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecKeyUseWithSet.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>keyUseWith</p></td>
-<td><p>the pointer to information about key application/user.</p></td>
-<td> </td>
+<td class="parameter_name"><p>keyUseWith</p></td>
+<td class="parameter_description"><p>the pointer to information about key application/user.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>application</p></td>
-<td><p>the new application value.</p></td>
-<td> </td>
+<td class="parameter_name"><p>application</p></td>
+<td class="parameter_description"><p>the new application value.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>identifier</p></td>
-<td><p>the new identifier value.</p></td>
-<td> </td>
+<td class="parameter_name"><p>identifier</p></td>
+<td class="parameter_description"><p>the new identifier value.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN12333"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecKeyUseWithSet.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYUSEWITHDEBUGDUMP"></a><h3>xmlSecKeyUseWithDebugDump ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">void</span></font>
-xmlSecKeyUseWithDebugDump (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEYUSEWITH"><span class="TYPE">xmlSecKeyUseWithPtr</span></a> keyUseWith</code>,
- <code class="PARAMETER"><font><span class="TYPE">FILE</span></font> *output</code>);</pre>
-<p>Prints xmlSecKeyUseWith debug information to a file <code class="PARAMETER">output</code>
+<div class="refsect2">
+<a name="xmlSecKeyUseWithDebugDump"></a><h3>xmlSecKeyUseWithDebugDump ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">void</span></font>
+xmlSecKeyUseWithDebugDump (<em class="parameter"><code><font><span class="type">xmlSecKeyUseWithPtr</span></font> keyUseWith</code></em>,
+ <em class="parameter"><code><font><span class="type">FILE</span></font> *output</code></em>);</pre>
+<p>Prints xmlSecKeyUseWith debug information to a file <em class="parameter"><code>output</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN12351"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN12353"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecKeyUseWithDebugDump.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>keyUseWith</p></td>
-<td><p>the pointer to information about key application/user.</p></td>
-<td> </td>
+<td class="parameter_name"><p>keyUseWith</p></td>
+<td class="parameter_description"><p>the pointer to information about key application/user.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>output</p></td>
-<td><p>the pointer to output FILE.</p></td>
-<td> </td>
+<td class="parameter_name"><p>output</p></td>
+<td class="parameter_description"><p>the pointer to output FILE.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYUSEWITHDEBUGXMLDUMP"></a><h3>xmlSecKeyUseWithDebugXmlDump ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">void</span></font>
-xmlSecKeyUseWithDebugXmlDump (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEYUSEWITH"><span class="TYPE">xmlSecKeyUseWithPtr</span></a> keyUseWith</code>,
- <code class="PARAMETER"><font><span class="TYPE">FILE</span></font> *output</code>);</pre>
-<p>Prints xmlSecKeyUseWith debug information to a file <code class="PARAMETER">output</code>
+<div class="refsect2">
+<a name="xmlSecKeyUseWithDebugXmlDump"></a><h3>xmlSecKeyUseWithDebugXmlDump ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">void</span></font>
+xmlSecKeyUseWithDebugXmlDump (<em class="parameter"><code><font><span class="type">xmlSecKeyUseWithPtr</span></font> keyUseWith</code></em>,
+ <em class="parameter"><code><font><span class="type">FILE</span></font> *output</code></em>);</pre>
+<p>Prints xmlSecKeyUseWith debug information to a file <em class="parameter"><code>output</code></em>
in XML format.</p>
-<div class="REFSECT3">
-<a name="AEN12383"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN12385"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecKeyUseWithDebugXmlDump.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>keyUseWith</p></td>
-<td><p>the pointer to information about key application/user.</p></td>
-<td> </td>
+<td class="parameter_name"><p>keyUseWith</p></td>
+<td class="parameter_description"><p>the pointer to information about key application/user.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>output</p></td>
-<td><p>the pointer to output FILE.</p></td>
-<td> </td>
+<td class="parameter_name"><p>output</p></td>
+<td class="parameter_description"><p>the pointer to output FILE.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYUSEWITHPTRLISTGETKLASS"></a><h3>xmlSecKeyUseWithPtrListGetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecPtrListId</span></font>
-xmlSecKeyUseWithPtrListGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecKeyUseWithPtrListGetKlass"></a><h3>xmlSecKeyUseWithPtrListGetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecPtrListId</span></font>
+xmlSecKeyUseWithPtrListGetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The key data list klass.</p>
-<div class="REFSECT3">
-<a name="AEN12410"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecKeyUseWithPtrListGetKlass.returns"></a><h4>Returns</h4>
<p> pointer to the key data list klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYREQINITIALIZE"></a><h3>xmlSecKeyReqInitialize ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecKeyReqInitialize (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEYREQ"><span class="TYPE">xmlSecKeyReqPtr</span></a> keyReq</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecKeyReqInitialize"></a><h3>xmlSecKeyReqInitialize ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecKeyReqInitialize (<em class="parameter"><code><font><span class="type">xmlSecKeyReqPtr</span></font> keyReq</code></em>);</pre>
<p>Initialize key requirements object. Caller is responsible for
-cleaning it with <a href="xmlsec-keys.html#XMLSECKEYREQFINALIZE"><span class="TYPE">xmlSecKeyReqFinalize</span></a> function.</p>
-<div class="REFSECT3">
-<a name="AEN12426"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN12428"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+cleaning it with <a class="link" href="xmlsec-keys.html#xmlSecKeyReqFinalize" title="xmlSecKeyReqFinalize ()"><span class="type">xmlSecKeyReqFinalize</span></a> function.</p>
+<div class="refsect3">
+<a name="xmlSecKeyReqInitialize.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>keyReq</p></td>
-<td><p>the pointer to key requirements object.</p></td>
-<td> </td>
+<td class="parameter_name"><p>keyReq</p></td>
+<td class="parameter_description"><p>the pointer to key requirements object.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN12437"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecKeyReqInitialize.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYREQFINALIZE"></a><h3>xmlSecKeyReqFinalize ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">void</span></font>
-xmlSecKeyReqFinalize (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEYREQ"><span class="TYPE">xmlSecKeyReqPtr</span></a> keyReq</code>);</pre>
-<p>Cleans the key requirements object initialized with <a href="xmlsec-keys.html#XMLSECKEYREQINITIALIZE"><span class="TYPE">xmlSecKeyReqInitialize</span></a>
+<div class="refsect2">
+<a name="xmlSecKeyReqFinalize"></a><h3>xmlSecKeyReqFinalize ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">void</span></font>
+xmlSecKeyReqFinalize (<em class="parameter"><code><font><span class="type">xmlSecKeyReqPtr</span></font> keyReq</code></em>);</pre>
+<p>Cleans the key requirements object initialized with <a class="link" href="xmlsec-keys.html#xmlSecKeyReqInitialize" title="xmlSecKeyReqInitialize ()"><span class="type">xmlSecKeyReqInitialize</span></a>
function.</p>
-<div class="REFSECT3">
-<a name="AEN12453"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN12455"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecKeyReqFinalize.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>keyReq</p></td>
-<td><p>the pointer to key requirements object.</p></td>
-<td> </td>
+<td class="parameter_name"><p>keyReq</p></td>
+<td class="parameter_description"><p>the pointer to key requirements object.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYREQRESET"></a><h3>xmlSecKeyReqReset ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">void</span></font>
-xmlSecKeyReqReset (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEYREQ"><span class="TYPE">xmlSecKeyReqPtr</span></a> keyReq</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecKeyReqReset"></a><h3>xmlSecKeyReqReset ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">void</span></font>
+xmlSecKeyReqReset (<em class="parameter"><code><font><span class="type">xmlSecKeyReqPtr</span></font> keyReq</code></em>);</pre>
<p>Resets key requirements object for new key search.</p>
-<div class="REFSECT3">
-<a name="AEN12475"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN12477"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecKeyReqReset.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>keyReq</p></td>
-<td><p>the pointer to key requirements object.</p></td>
-<td> </td>
+<td class="parameter_name"><p>keyReq</p></td>
+<td class="parameter_description"><p>the pointer to key requirements object.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYREQCOPY"></a><h3>xmlSecKeyReqCopy ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecKeyReqCopy (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEYREQ"><span class="TYPE">xmlSecKeyReqPtr</span></a> dst</code>,
- <code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEYREQ"><span class="TYPE">xmlSecKeyReqPtr</span></a> src</code>);</pre>
-<p>Copies key requirements from <code class="PARAMETER">src</code>
- object to <code class="PARAMETER">dst</code>
+<div class="refsect2">
+<a name="xmlSecKeyReqCopy"></a><h3>xmlSecKeyReqCopy ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecKeyReqCopy (<em class="parameter"><code><font><span class="type">xmlSecKeyReqPtr</span></font> dst</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlSecKeyReqPtr</span></font> src</code></em>);</pre>
+<p>Copies key requirements from <em class="parameter"><code>src</code></em>
+ object to <em class="parameter"><code>dst</code></em>
object.</p>
-<div class="REFSECT3">
-<a name="AEN12502"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN12504"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecKeyReqCopy.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>dst</p></td>
-<td><p>the pointer to destination object.</p></td>
-<td> </td>
+<td class="parameter_name"><p>dst</p></td>
+<td class="parameter_description"><p>the pointer to destination object.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>src</p></td>
-<td><p>the pointer to source object.</p></td>
-<td> </td>
+<td class="parameter_name"><p>src</p></td>
+<td class="parameter_description"><p>the pointer to source object.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN12519"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecKeyReqCopy.returns"></a><h4>Returns</h4>
<p> 0 on success and a negative value if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYREQMATCHKEY"></a><h3>xmlSecKeyReqMatchKey ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecKeyReqMatchKey (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEYREQ"><span class="TYPE">xmlSecKeyReqPtr</span></a> keyReq</code>,
- <code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>);</pre>
-<p>Checks whether <code class="PARAMETER">key</code>
- matches key requirements <code class="PARAMETER">keyReq</code>
+<div class="refsect2">
+<a name="xmlSecKeyReqMatchKey"></a><h3>xmlSecKeyReqMatchKey ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecKeyReqMatchKey (<em class="parameter"><code><font><span class="type">xmlSecKeyReqPtr</span></font> keyReq</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlSecKeyPtr</span></font> key</code></em>);</pre>
+<p>Checks whether <em class="parameter"><code>key</code></em>
+ matches key requirements <em class="parameter"><code>keyReq</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN12538"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN12540"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecKeyReqMatchKey.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>keyReq</p></td>
-<td><p>the pointer to key requirements object.</p></td>
-<td> </td>
+<td class="parameter_name"><p>keyReq</p></td>
+<td class="parameter_description"><p>the pointer to key requirements object.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>key</p></td>
-<td><p>the pointer to key.</p></td>
-<td> </td>
+<td class="parameter_name"><p>key</p></td>
+<td class="parameter_description"><p>the pointer to key.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN12555"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecKeyReqMatchKey.returns"></a><h4>Returns</h4>
<p> 1 if key matches requirements, 0 if not and a negative value
if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYREQMATCHKEYVALUE"></a><h3>xmlSecKeyReqMatchKeyValue ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecKeyReqMatchKeyValue (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEYREQ"><span class="TYPE">xmlSecKeyReqPtr</span></a> keyReq</code>,
- <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> value</code>);</pre>
-<p>Checks whether <code class="PARAMETER">keyValue</code>
- matches key requirements <code class="PARAMETER">keyReq</code>
+<div class="refsect2">
+<a name="xmlSecKeyReqMatchKeyValue"></a><h3>xmlSecKeyReqMatchKeyValue ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecKeyReqMatchKeyValue (<em class="parameter"><code><font><span class="type">xmlSecKeyReqPtr</span></font> keyReq</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlSecKeyDataPtr</span></font> value</code></em>);</pre>
+<p>Checks whether <em class="parameter"><code>keyValue</code></em>
+ matches key requirements <em class="parameter"><code>keyReq</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN12574"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN12576"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecKeyReqMatchKeyValue.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>keyReq</p></td>
-<td><p>the pointer to key requirements.</p></td>
-<td> </td>
+<td class="parameter_name"><p>keyReq</p></td>
+<td class="parameter_description"><p>the pointer to key requirements.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>value</p></td>
-<td><p>the pointer to key value.</p></td>
-<td> </td>
+<td class="parameter_name"><p>value</p></td>
+<td class="parameter_description"><p>the pointer to key value.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN12591"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecKeyReqMatchKeyValue.returns"></a><h4>Returns</h4>
<p> 1 if key value matches requirements, 0 if not and a negative value
if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYREQDEBUGDUMP"></a><h3>xmlSecKeyReqDebugDump ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">void</span></font>
-xmlSecKeyReqDebugDump (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEYREQ"><span class="TYPE">xmlSecKeyReqPtr</span></a> keyReq</code>,
- <code class="PARAMETER"><font><span class="TYPE">FILE</span></font> *output</code>);</pre>
-<p>Prints debug information about <code class="PARAMETER">keyReq</code>
- into <code class="PARAMETER">output</code>
+<div class="refsect2">
+<a name="xmlSecKeyReqDebugDump"></a><h3>xmlSecKeyReqDebugDump ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">void</span></font>
+xmlSecKeyReqDebugDump (<em class="parameter"><code><font><span class="type">xmlSecKeyReqPtr</span></font> keyReq</code></em>,
+ <em class="parameter"><code><font><span class="type">FILE</span></font> *output</code></em>);</pre>
+<p>Prints debug information about <em class="parameter"><code>keyReq</code></em>
+ into <em class="parameter"><code>output</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN12610"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN12612"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecKeyReqDebugDump.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>keyReq</p></td>
-<td><p>the pointer to key requirements object.</p></td>
-<td> </td>
+<td class="parameter_name"><p>keyReq</p></td>
+<td class="parameter_description"><p>the pointer to key requirements object.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>output</p></td>
-<td><p>the pointer to output FILE.</p></td>
-<td> </td>
+<td class="parameter_name"><p>output</p></td>
+<td class="parameter_description"><p>the pointer to output FILE.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYREQDEBUGXMLDUMP"></a><h3>xmlSecKeyReqDebugXmlDump ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">void</span></font>
-xmlSecKeyReqDebugXmlDump (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEYREQ"><span class="TYPE">xmlSecKeyReqPtr</span></a> keyReq</code>,
- <code class="PARAMETER"><font><span class="TYPE">FILE</span></font> *output</code>);</pre>
-<p>Prints debug information about <code class="PARAMETER">keyReq</code>
- into <code class="PARAMETER">output</code>
+<div class="refsect2">
+<a name="xmlSecKeyReqDebugXmlDump"></a><h3>xmlSecKeyReqDebugXmlDump ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">void</span></font>
+xmlSecKeyReqDebugXmlDump (<em class="parameter"><code><font><span class="type">xmlSecKeyReqPtr</span></font> keyReq</code></em>,
+ <em class="parameter"><code><font><span class="type">FILE</span></font> *output</code></em>);</pre>
+<p>Prints debug information about <em class="parameter"><code>keyReq</code></em>
+ into <em class="parameter"><code>output</code></em>
in XML format.</p>
-<div class="REFSECT3">
-<a name="AEN12643"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN12645"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecKeyReqDebugXmlDump.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>keyReq</p></td>
-<td><p>the pointer to key requirements object.</p></td>
-<td> </td>
+<td class="parameter_name"><p>keyReq</p></td>
+<td class="parameter_description"><p>the pointer to key requirements object.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>output</p></td>
-<td><p>the pointer to output FILE.</p></td>
-<td> </td>
+<td class="parameter_name"><p>output</p></td>
+<td class="parameter_description"><p>the pointer to output FILE.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYCREATE"></a><h3>xmlSecKeyCreate ()</h3>
-<pre class="PROGRAMLISTING"><a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a>
-xmlSecKeyCreate (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecKeyCreate"></a><h3>xmlSecKeyCreate ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecKeyPtr</span></font>
+xmlSecKeyCreate (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>Allocates and initializes new key. Caller is responsible for
-freeing returned object with <a href="xmlsec-keys.html#XMLSECKEYDESTROY"><span class="TYPE">xmlSecKeyDestroy</span></a> function.</p>
-<div class="REFSECT3">
-<a name="AEN12672"></a><h4>Returns</h4>
-<p> the pointer to newly allocated <code class="PARAMETER">xmlSecKey</code>
+freeing returned object with <a class="link" href="xmlsec-keys.html#xmlSecKeyDestroy" title="xmlSecKeyDestroy ()"><span class="type">xmlSecKeyDestroy</span></a> function.</p>
+<div class="refsect3">
+<a name="xmlSecKeyCreate.returns"></a><h4>Returns</h4>
+<p> the pointer to newly allocated <em class="parameter"><code>xmlSecKey</code></em>
structure
or NULL if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYDESTROY"></a><h3>xmlSecKeyDestroy ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">void</span></font>
-xmlSecKeyDestroy (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>);</pre>
-<p>Destroys the key created using <a href="xmlsec-keys.html#XMLSECKEYCREATE"><span class="TYPE">xmlSecKeyCreate</span></a> function.</p>
-<div class="REFSECT3">
-<a name="AEN12689"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN12691"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect2">
+<a name="xmlSecKeyDestroy"></a><h3>xmlSecKeyDestroy ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">void</span></font>
+xmlSecKeyDestroy (<em class="parameter"><code><font><span class="type">xmlSecKeyPtr</span></font> key</code></em>);</pre>
+<p>Destroys the key created using <a class="link" href="xmlsec-keys.html#xmlSecKeyCreate" title="xmlSecKeyCreate ()"><span class="type">xmlSecKeyCreate</span></a> function.</p>
+<div class="refsect3">
+<a name="xmlSecKeyDestroy.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>key</p></td>
-<td><p>the pointer to key.</p></td>
-<td> </td>
+<td class="parameter_name"><p>key</p></td>
+<td class="parameter_description"><p>the pointer to key.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYEMPTY"></a><h3>xmlSecKeyEmpty ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">void</span></font>
-xmlSecKeyEmpty (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>);</pre>
-<p>Clears the <code class="PARAMETER">key</code>
+<div class="refsect2">
+<a name="xmlSecKeyEmpty"></a><h3>xmlSecKeyEmpty ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">void</span></font>
+xmlSecKeyEmpty (<em class="parameter"><code><font><span class="type">xmlSecKeyPtr</span></font> key</code></em>);</pre>
+<p>Clears the <em class="parameter"><code>key</code></em>
data.</p>
-<div class="REFSECT3">
-<a name="AEN12712"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN12714"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecKeyEmpty.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>key</p></td>
-<td><p>the pointer to key.</p></td>
-<td> </td>
+<td class="parameter_name"><p>key</p></td>
+<td class="parameter_description"><p>the pointer to key.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYDUPLICATE"></a><h3>xmlSecKeyDuplicate ()</h3>
-<pre class="PROGRAMLISTING"><a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a>
-xmlSecKeyDuplicate (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>);</pre>
-<p>Creates a duplicate of the given <code class="PARAMETER">key</code>
+<div class="refsect2">
+<a name="xmlSecKeyDuplicate"></a><h3>xmlSecKeyDuplicate ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecKeyPtr</span></font>
+xmlSecKeyDuplicate (<em class="parameter"><code><font><span class="type">xmlSecKeyPtr</span></font> key</code></em>);</pre>
+<p>Creates a duplicate of the given <em class="parameter"><code>key</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN12735"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN12737"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecKeyDuplicate.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>key</p></td>
-<td><p>the pointer to the <a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKey</span></a> structure.</p></td>
-<td> </td>
+<td class="parameter_name"><p>key</p></td>
+<td class="parameter_description"><p>the pointer to the <a class="link" href="xmlsec-keys.html#xmlSecKey" title="struct xmlSecKey"><span class="type">xmlSecKey</span></a> structure.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN12748"></a><h4>Returns</h4>
-<p> the pointer to newly allocated <a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKey</span></a> structure
+<div class="refsect3">
+<a name="xmlSecKeyDuplicate.returns"></a><h4>Returns</h4>
+<p> the pointer to newly allocated <a class="link" href="xmlsec-keys.html#xmlSecKey" title="struct xmlSecKey"><span class="type">xmlSecKey</span></a> structure
or NULL if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYCOPY"></a><h3>xmlSecKeyCopy ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecKeyCopy (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> keyDst</code>,
- <code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> keySrc</code>);</pre>
-<p>Copies key data from <code class="PARAMETER">keySrc</code>
- to <code class="PARAMETER">keyDst</code>
+<div class="refsect2">
+<a name="xmlSecKeyCopy"></a><h3>xmlSecKeyCopy ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecKeyCopy (<em class="parameter"><code><font><span class="type">xmlSecKeyPtr</span></font> keyDst</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlSecKeyPtr</span></font> keySrc</code></em>);</pre>
+<p>Copies key data from <em class="parameter"><code>keySrc</code></em>
+ to <em class="parameter"><code>keyDst</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN12769"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN12771"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecKeyCopy.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>keyDst</p></td>
-<td><p>the destination key.</p></td>
-<td> </td>
+<td class="parameter_name"><p>keyDst</p></td>
+<td class="parameter_description"><p>the destination key.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>keySrc</p></td>
-<td><p>the source key.</p></td>
-<td> </td>
+<td class="parameter_name"><p>keySrc</p></td>
+<td class="parameter_description"><p>the source key.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN12786"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecKeyCopy.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYGETNAME"></a><h3>xmlSecKeyGetName ()</h3>
-<pre class="PROGRAMLISTING">const <font><span class="RETURNVALUE">xmlChar</span></font> *
-xmlSecKeyGetName (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>);</pre>
-<p>Gets key name (see also <a href="xmlsec-keys.html#XMLSECKEYSETNAME"><span class="TYPE">xmlSecKeySetName</span></a> function).</p>
-<div class="REFSECT3">
-<a name="AEN12802"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN12804"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect2">
+<a name="xmlSecKeyGetName"></a><h3>xmlSecKeyGetName ()</h3>
+<pre class="programlisting">const <font><span class="returnvalue">xmlChar</span></font> *
+xmlSecKeyGetName (<em class="parameter"><code><font><span class="type">xmlSecKeyPtr</span></font> key</code></em>);</pre>
+<p>Gets key name (see also <a class="link" href="xmlsec-keys.html#xmlSecKeySetName" title="xmlSecKeySetName ()"><span class="type">xmlSecKeySetName</span></a> function).</p>
+<div class="refsect3">
+<a name="xmlSecKeyGetName.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>key</p></td>
-<td><p>the pointer to key.</p></td>
-<td> </td>
+<td class="parameter_name"><p>key</p></td>
+<td class="parameter_description"><p>the pointer to key.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN12813"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecKeyGetName.returns"></a><h4>Returns</h4>
<p> key name.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYSETNAME"></a><h3>xmlSecKeySetName ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecKeySetName (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>,
- <code class="PARAMETER">const <font><span class="TYPE">xmlChar</span></font> *name</code>);</pre>
-<p>Sets key name (see also <a href="xmlsec-keys.html#XMLSECKEYGETNAME"><span class="TYPE">xmlSecKeyGetName</span></a> function).</p>
-<div class="REFSECT3">
-<a name="AEN12832"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN12834"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect2">
+<a name="xmlSecKeySetName"></a><h3>xmlSecKeySetName ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecKeySetName (<em class="parameter"><code><font><span class="type">xmlSecKeyPtr</span></font> key</code></em>,
+ <em class="parameter"><code>const <font><span class="type">xmlChar</span></font> *name</code></em>);</pre>
+<p>Sets key name (see also <a class="link" href="xmlsec-keys.html#xmlSecKeyGetName" title="xmlSecKeyGetName ()"><span class="type">xmlSecKeyGetName</span></a> function).</p>
+<div class="refsect3">
+<a name="xmlSecKeySetName.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>key</p></td>
-<td><p>the pointer to key.</p></td>
-<td> </td>
+<td class="parameter_name"><p>key</p></td>
+<td class="parameter_description"><p>the pointer to key.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>name</p></td>
-<td><p>the new key name.</p></td>
-<td> </td>
+<td class="parameter_name"><p>name</p></td>
+<td class="parameter_description"><p>the new key name.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN12849"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecKeySetName.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYGETTYPE"></a><h3>xmlSecKeyGetType ()</h3>
-<pre class="PROGRAMLISTING"><a href="xmlsec-keysdata.html#XMLSECKEYDATATYPE"><span class="RETURNVALUE">xmlSecKeyDataType</span></a>
-xmlSecKeyGetType (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>);</pre>
-<p>Gets <code class="PARAMETER">key</code>
+<div class="refsect2">
+<a name="xmlSecKeyGetType"></a><h3>xmlSecKeyGetType ()</h3>
+<pre class="programlisting"><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataType" title="xmlSecKeyDataType"><span class="returnvalue">xmlSecKeyDataType</span></a>
+xmlSecKeyGetType (<em class="parameter"><code><font><span class="type">xmlSecKeyPtr</span></font> key</code></em>);</pre>
+<p>Gets <em class="parameter"><code>key</code></em>
type.</p>
-<div class="REFSECT3">
-<a name="AEN12864"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN12866"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecKeyGetType.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>key</p></td>
-<td><p>the pointer to key.</p></td>
-<td> </td>
+<td class="parameter_name"><p>key</p></td>
+<td class="parameter_description"><p>the pointer to key.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN12875"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecKeyGetType.returns"></a><h4>Returns</h4>
<p> key type.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYGETVALUE"></a><h3>xmlSecKeyGetValue ()</h3>
-<pre class="PROGRAMLISTING"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="RETURNVALUE">xmlSecKeyDataPtr</span></a>
-xmlSecKeyGetValue (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>);</pre>
-<p>Gets key value (see also <a href="xmlsec-keys.html#XMLSECKEYSETVALUE"><span class="TYPE">xmlSecKeySetValue</span></a> function).</p>
-<div class="REFSECT3">
-<a name="AEN12891"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN12893"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect2">
+<a name="xmlSecKeyGetValue"></a><h3>xmlSecKeyGetValue ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecKeyDataPtr</span></font>
+xmlSecKeyGetValue (<em class="parameter"><code><font><span class="type">xmlSecKeyPtr</span></font> key</code></em>);</pre>
+<p>Gets key value (see also <a class="link" href="xmlsec-keys.html#xmlSecKeySetValue" title="xmlSecKeySetValue ()"><span class="type">xmlSecKeySetValue</span></a> function).</p>
+<div class="refsect3">
+<a name="xmlSecKeyGetValue.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>key</p></td>
-<td><p>the pointer to key.</p></td>
-<td> </td>
+<td class="parameter_name"><p>key</p></td>
+<td class="parameter_description"><p>the pointer to key.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN12902"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecKeyGetValue.returns"></a><h4>Returns</h4>
<p> key value (crypto material).</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYSETVALUE"></a><h3>xmlSecKeySetValue ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecKeySetValue (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>,
- <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> value</code>);</pre>
-<p>Sets key value (see also <a href="xmlsec-keys.html#XMLSECKEYGETVALUE"><span class="TYPE">xmlSecKeyGetValue</span></a> function).</p>
-<div class="REFSECT3">
-<a name="AEN12921"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN12923"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect2">
+<a name="xmlSecKeySetValue"></a><h3>xmlSecKeySetValue ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecKeySetValue (<em class="parameter"><code><font><span class="type">xmlSecKeyPtr</span></font> key</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlSecKeyDataPtr</span></font> value</code></em>);</pre>
+<p>Sets key value (see also <a class="link" href="xmlsec-keys.html#xmlSecKeyGetValue" title="xmlSecKeyGetValue ()"><span class="type">xmlSecKeyGetValue</span></a> function).</p>
+<div class="refsect3">
+<a name="xmlSecKeySetValue.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>key</p></td>
-<td><p>the pointer to key.</p></td>
-<td> </td>
+<td class="parameter_name"><p>key</p></td>
+<td class="parameter_description"><p>the pointer to key.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>value</p></td>
-<td><p>the new value.</p></td>
-<td> </td>
+<td class="parameter_name"><p>value</p></td>
+<td class="parameter_description"><p>the new value.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN12938"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecKeySetValue.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYGETDATA"></a><h3>xmlSecKeyGetData ()</h3>
-<pre class="PROGRAMLISTING"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="RETURNVALUE">xmlSecKeyDataPtr</span></a>
-xmlSecKeyGetData (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>,
- <code class="PARAMETER"><font><span class="TYPE">xmlSecKeyDataId</span></font> dataId</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecKeyGetData"></a><h3>xmlSecKeyGetData ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecKeyDataPtr</span></font>
+xmlSecKeyGetData (<em class="parameter"><code><font><span class="type">xmlSecKeyPtr</span></font> key</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlSecKeyDataId</span></font> dataId</code></em>);</pre>
<p>Gets key's data.</p>
-<div class="REFSECT3">
-<a name="AEN12955"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN12957"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecKeyGetData.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>key</p></td>
-<td><p>the pointer to key.</p></td>
-<td> </td>
+<td class="parameter_name"><p>key</p></td>
+<td class="parameter_description"><p>the pointer to key.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>dataId</p></td>
-<td><p>the requested data klass.</p></td>
-<td> </td>
+<td class="parameter_name"><p>dataId</p></td>
+<td class="parameter_description"><p>the requested data klass.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN12972"></a><h4>Returns</h4>
-<p> additional data associated with the <code class="PARAMETER">key</code>
+<div class="refsect3">
+<a name="xmlSecKeyGetData.returns"></a><h4>Returns</h4>
+<p> additional data associated with the <em class="parameter"><code>key</code></em>
(see also
-<a href="xmlsec-keys.html#XMLSECKEYADOPTDATA"><span class="TYPE">xmlSecKeyAdoptData</span></a> function).</p>
+<a class="link" href="xmlsec-keys.html#xmlSecKeyAdoptData" title="xmlSecKeyAdoptData ()"><span class="type">xmlSecKeyAdoptData</span></a> function).</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYENSUREDATA"></a><h3>xmlSecKeyEnsureData ()</h3>
-<pre class="PROGRAMLISTING"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="RETURNVALUE">xmlSecKeyDataPtr</span></a>
-xmlSecKeyEnsureData (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>,
- <code class="PARAMETER"><font><span class="TYPE">xmlSecKeyDataId</span></font> dataId</code>);</pre>
-<p>If necessary, creates key data of <code class="PARAMETER">dataId</code>
- klass and adds to <code class="PARAMETER">key</code>
+<div class="refsect2">
+<a name="xmlSecKeyEnsureData"></a><h3>xmlSecKeyEnsureData ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecKeyDataPtr</span></font>
+xmlSecKeyEnsureData (<em class="parameter"><code><font><span class="type">xmlSecKeyPtr</span></font> key</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlSecKeyDataId</span></font> dataId</code></em>);</pre>
+<p>If necessary, creates key data of <em class="parameter"><code>dataId</code></em>
+ klass and adds to <em class="parameter"><code>key</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN12994"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN12996"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecKeyEnsureData.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>key</p></td>
-<td><p>the pointer to key.</p></td>
-<td> </td>
+<td class="parameter_name"><p>key</p></td>
+<td class="parameter_description"><p>the pointer to key.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>dataId</p></td>
-<td><p>the requested data klass.</p></td>
-<td> </td>
+<td class="parameter_name"><p>dataId</p></td>
+<td class="parameter_description"><p>the requested data klass.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN13011"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecKeyEnsureData.returns"></a><h4>Returns</h4>
<p> pointer to key data or NULL if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYADOPTDATA"></a><h3>xmlSecKeyAdoptData ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecKeyAdoptData (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>,
- <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>);</pre>
-<p>Adds <code class="PARAMETER">data</code>
- to the <code class="PARAMETER">key</code>
-. The <code class="PARAMETER">data</code>
+<div class="refsect2">
+<a name="xmlSecKeyAdoptData"></a><h3>xmlSecKeyAdoptData ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecKeyAdoptData (<em class="parameter"><code><font><span class="type">xmlSecKeyPtr</span></font> key</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlSecKeyDataPtr</span></font> data</code></em>);</pre>
+<p>Adds <em class="parameter"><code>data</code></em>
+ to the <em class="parameter"><code>key</code></em>
+. The <em class="parameter"><code>data</code></em>
object will be destroyed
-by <code class="PARAMETER">key</code>
+by <em class="parameter"><code>key</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN13032"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN13034"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecKeyAdoptData.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>key</p></td>
-<td><p>the pointer to key.</p></td>
-<td> </td>
+<td class="parameter_name"><p>key</p></td>
+<td class="parameter_description"><p>the pointer to key.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>data</p></td>
-<td><p>the pointer to key data.</p></td>
-<td> </td>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the pointer to key data.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN13049"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecKeyAdoptData.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYDEBUGDUMP"></a><h3>xmlSecKeyDebugDump ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">void</span></font>
-xmlSecKeyDebugDump (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>,
- <code class="PARAMETER"><font><span class="TYPE">FILE</span></font> *output</code>);</pre>
-<p>Prints the information about the <code class="PARAMETER">key</code>
- to the <code class="PARAMETER">output</code>
+<div class="refsect2">
+<a name="xmlSecKeyDebugDump"></a><h3>xmlSecKeyDebugDump ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">void</span></font>
+xmlSecKeyDebugDump (<em class="parameter"><code><font><span class="type">xmlSecKeyPtr</span></font> key</code></em>,
+ <em class="parameter"><code><font><span class="type">FILE</span></font> *output</code></em>);</pre>
+<p>Prints the information about the <em class="parameter"><code>key</code></em>
+ to the <em class="parameter"><code>output</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN13068"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN13070"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecKeyDebugDump.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>key</p></td>
-<td><p>the pointer to key.</p></td>
-<td> </td>
+<td class="parameter_name"><p>key</p></td>
+<td class="parameter_description"><p>the pointer to key.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>output</p></td>
-<td><p>the pointer to output FILE.</p></td>
-<td> </td>
+<td class="parameter_name"><p>output</p></td>
+<td class="parameter_description"><p>the pointer to output FILE.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYDEBUGXMLDUMP"></a><h3>xmlSecKeyDebugXmlDump ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">void</span></font>
-xmlSecKeyDebugXmlDump (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>,
- <code class="PARAMETER"><font><span class="TYPE">FILE</span></font> *output</code>);</pre>
-<p>Prints the information about the <code class="PARAMETER">key</code>
- to the <code class="PARAMETER">output</code>
+<div class="refsect2">
+<a name="xmlSecKeyDebugXmlDump"></a><h3>xmlSecKeyDebugXmlDump ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">void</span></font>
+xmlSecKeyDebugXmlDump (<em class="parameter"><code><font><span class="type">xmlSecKeyPtr</span></font> key</code></em>,
+ <em class="parameter"><code><font><span class="type">FILE</span></font> *output</code></em>);</pre>
+<p>Prints the information about the <em class="parameter"><code>key</code></em>
+ to the <em class="parameter"><code>output</code></em>
in XML format.</p>
-<div class="REFSECT3">
-<a name="AEN13101"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN13103"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecKeyDebugXmlDump.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>key</p></td>
-<td><p>the pointer to key.</p></td>
-<td> </td>
+<td class="parameter_name"><p>key</p></td>
+<td class="parameter_description"><p>the pointer to key.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>output</p></td>
-<td><p>the pointer to output FILE.</p></td>
-<td> </td>
+<td class="parameter_name"><p>output</p></td>
+<td class="parameter_description"><p>the pointer to output FILE.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYGENERATE"></a><h3>xmlSecKeyGenerate ()</h3>
-<pre class="PROGRAMLISTING"><a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a>
-xmlSecKeyGenerate (<code class="PARAMETER"><font><span class="TYPE">xmlSecKeyDataId</span></font> dataId</code>,
- <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> sizeBits</code>,
- <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATATYPE"><span class="TYPE">xmlSecKeyDataType</span></a> type</code>);</pre>
-<p>Generates new key of requested klass <code class="PARAMETER">dataId</code>
- and <code class="PARAMETER">type</code>
+<div class="refsect2">
+<a name="xmlSecKeyGenerate"></a><h3>xmlSecKeyGenerate ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecKeyPtr</span></font>
+xmlSecKeyGenerate (<em class="parameter"><code><font><span class="type">xmlSecKeyDataId</span></font> dataId</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="type">xmlSecSize</span></a> sizeBits</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataType" title="xmlSecKeyDataType"><span class="type">xmlSecKeyDataType</span></a> type</code></em>);</pre>
+<p>Generates new key of requested klass <em class="parameter"><code>dataId</code></em>
+ and <em class="parameter"><code>type</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN13137"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN13139"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecKeyGenerate.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>dataId</p></td>
-<td><p>the requested key klass (rsa, dsa, aes, ...).</p></td>
-<td> </td>
+<td class="parameter_name"><p>dataId</p></td>
+<td class="parameter_description"><p>the requested key klass (rsa, dsa, aes, ...).</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>sizeBits</p></td>
-<td><p>the new key size (in bits!).</p></td>
-<td> </td>
+<td class="parameter_name"><p>sizeBits</p></td>
+<td class="parameter_description"><p>the new key size (in bits!).</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>type</p></td>
-<td><p>the new key type (session, permanent, ...).</p></td>
-<td> </td>
+<td class="parameter_name"><p>type</p></td>
+<td class="parameter_description"><p>the new key type (session, permanent, ...).</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN13160"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecKeyGenerate.returns"></a><h4>Returns</h4>
<p> pointer to newly created key or NULL if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYGENERATEBYNAME"></a><h3>xmlSecKeyGenerateByName ()</h3>
-<pre class="PROGRAMLISTING"><a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a>
-xmlSecKeyGenerateByName (<code class="PARAMETER">const <font><span class="TYPE">xmlChar</span></font> *name</code>,
- <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> sizeBits</code>,
- <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATATYPE"><span class="TYPE">xmlSecKeyDataType</span></a> type</code>);</pre>
-<p>Generates new key of requested <code class="PARAMETER">klass</code>
- and <code class="PARAMETER">type</code>
+<div class="refsect2">
+<a name="xmlSecKeyGenerateByName"></a><h3>xmlSecKeyGenerateByName ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecKeyPtr</span></font>
+xmlSecKeyGenerateByName (<em class="parameter"><code>const <font><span class="type">xmlChar</span></font> *name</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="type">xmlSecSize</span></a> sizeBits</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataType" title="xmlSecKeyDataType"><span class="type">xmlSecKeyDataType</span></a> type</code></em>);</pre>
+<p>Generates new key of requested <em class="parameter"><code>klass</code></em>
+ and <em class="parameter"><code>type</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN13182"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN13184"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecKeyGenerateByName.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>name</p></td>
-<td><p>the requested key klass name (rsa, dsa, aes, ...).</p></td>
-<td> </td>
+<td class="parameter_name"><p>name</p></td>
+<td class="parameter_description"><p>the requested key klass name (rsa, dsa, aes, ...).</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>sizeBits</p></td>
-<td><p>the new key size (in bits!).</p></td>
-<td> </td>
+<td class="parameter_name"><p>sizeBits</p></td>
+<td class="parameter_description"><p>the new key size (in bits!).</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>type</p></td>
-<td><p>the new key type (session, permanent, ...).</p></td>
-<td> </td>
+<td class="parameter_name"><p>type</p></td>
+<td class="parameter_description"><p>the new key type (session, permanent, ...).</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN13205"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecKeyGenerateByName.returns"></a><h4>Returns</h4>
<p> pointer to newly created key or NULL if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYMATCH"></a><h3>xmlSecKeyMatch ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecKeyMatch (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>,
- <code class="PARAMETER">const <font><span class="TYPE">xmlChar</span></font> *name</code>,
- <code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEYREQ"><span class="TYPE">xmlSecKeyReqPtr</span></a> keyReq</code>);</pre>
-<p>Checks whether the <code class="PARAMETER">key</code>
+<div class="refsect2">
+<a name="xmlSecKeyMatch"></a><h3>xmlSecKeyMatch ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecKeyMatch (<em class="parameter"><code><font><span class="type">xmlSecKeyPtr</span></font> key</code></em>,
+ <em class="parameter"><code>const <font><span class="type">xmlChar</span></font> *name</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlSecKeyReqPtr</span></font> keyReq</code></em>);</pre>
+<p>Checks whether the <em class="parameter"><code>key</code></em>
matches the given criteria.</p>
-<div class="REFSECT3">
-<a name="AEN13226"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN13228"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecKeyMatch.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>key</p></td>
-<td><p>the pointer to key.</p></td>
-<td> </td>
+<td class="parameter_name"><p>key</p></td>
+<td class="parameter_description"><p>the pointer to key.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>name</p></td>
-<td><p>the pointer to key name (may be NULL).</p></td>
-<td> </td>
+<td class="parameter_name"><p>name</p></td>
+<td class="parameter_description"><p>the pointer to key name (may be NULL).</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>keyReq</p></td>
-<td><p>the pointer to key requirements.</p></td>
-<td> </td>
+<td class="parameter_name"><p>keyReq</p></td>
+<td class="parameter_description"><p>the pointer to key requirements.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN13249"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecKeyMatch.returns"></a><h4>Returns</h4>
<p> 1 if the key satisfies the given criteria or 0 otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYREADBUFFER"></a><h3>xmlSecKeyReadBuffer ()</h3>
-<pre class="PROGRAMLISTING"><a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a>
-xmlSecKeyReadBuffer (<code class="PARAMETER"><font><span class="TYPE">xmlSecKeyDataId</span></font> dataId</code>,
- <code class="PARAMETER"><a href="xmlsec-buffer.html#XMLSECBUFFER"><span class="TYPE">xmlSecBuffer</span></a> *buffer</code>);</pre>
-<p>Reads the key value of klass <code class="PARAMETER">dataId</code>
+<div class="refsect2">
+<a name="xmlSecKeyReadBuffer"></a><h3>xmlSecKeyReadBuffer ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecKeyPtr</span></font>
+xmlSecKeyReadBuffer (<em class="parameter"><code><font><span class="type">xmlSecKeyDataId</span></font> dataId</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-buffer.html#xmlSecBuffer" title="struct xmlSecBuffer"><span class="type">xmlSecBuffer</span></a> *buffer</code></em>);</pre>
+<p>Reads the key value of klass <em class="parameter"><code>dataId</code></em>
from a buffer.</p>
-<div class="REFSECT3">
-<a name="AEN13267"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN13269"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecKeyReadBuffer.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>dataId</p></td>
-<td><p>the key value data klass.</p></td>
-<td> </td>
+<td class="parameter_name"><p>dataId</p></td>
+<td class="parameter_description"><p>the key value data klass.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>buffer</p></td>
-<td><p>the buffer that contains the binary data.</p></td>
-<td> </td>
+<td class="parameter_name"><p>buffer</p></td>
+<td class="parameter_description"><p>the buffer that contains the binary data.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN13284"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecKeyReadBuffer.returns"></a><h4>Returns</h4>
<p> pointer to newly created key or NULL if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYREADBINARYFILE"></a><h3>xmlSecKeyReadBinaryFile ()</h3>
-<pre class="PROGRAMLISTING"><a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a>
-xmlSecKeyReadBinaryFile (<code class="PARAMETER"><font><span class="TYPE">xmlSecKeyDataId</span></font> dataId</code>,
- <code class="PARAMETER">const <font><span class="TYPE">char</span></font> *filename</code>);</pre>
-<p>Reads the key value of klass <code class="PARAMETER">dataId</code>
- from a binary file <code class="PARAMETER">filename</code>
+<div class="refsect2">
+<a name="xmlSecKeyReadBinaryFile"></a><h3>xmlSecKeyReadBinaryFile ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecKeyPtr</span></font>
+xmlSecKeyReadBinaryFile (<em class="parameter"><code><font><span class="type">xmlSecKeyDataId</span></font> dataId</code></em>,
+ <em class="parameter"><code>const <font><span class="type">char</span></font> *filename</code></em>);</pre>
+<p>Reads the key value of klass <em class="parameter"><code>dataId</code></em>
+ from a binary file <em class="parameter"><code>filename</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN13303"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN13305"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecKeyReadBinaryFile.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>dataId</p></td>
-<td><p>the key value data klass.</p></td>
-<td> </td>
+<td class="parameter_name"><p>dataId</p></td>
+<td class="parameter_description"><p>the key value data klass.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>filename</p></td>
-<td><p>the key binary filename.</p></td>
-<td> </td>
+<td class="parameter_name"><p>filename</p></td>
+<td class="parameter_description"><p>the key binary filename.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN13320"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecKeyReadBinaryFile.returns"></a><h4>Returns</h4>
<p> pointer to newly created key or NULL if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYREADMEMORY"></a><h3>xmlSecKeyReadMemory ()</h3>
-<pre class="PROGRAMLISTING"><a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a>
-xmlSecKeyReadMemory (<code class="PARAMETER"><font><span class="TYPE">xmlSecKeyDataId</span></font> dataId</code>,
- <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>,
- <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> dataSize</code>);</pre>
-<p>Reads the key value of klass <code class="PARAMETER">dataId</code>
- from a memory block <code class="PARAMETER">data</code>
+<div class="refsect2">
+<a name="xmlSecKeyReadMemory"></a><h3>xmlSecKeyReadMemory ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecKeyPtr</span></font>
+xmlSecKeyReadMemory (<em class="parameter"><code><font><span class="type">xmlSecKeyDataId</span></font> dataId</code></em>,
+ <em class="parameter"><code>const <a class="link" href="xmlsec-xmlsec.html#xmlSecByte" title="xmlSecByte"><span class="type">xmlSecByte</span></a> *data</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="type">xmlSecSize</span></a> dataSize</code></em>);</pre>
+<p>Reads the key value of klass <em class="parameter"><code>dataId</code></em>
+ from a memory block <em class="parameter"><code>data</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN13342"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN13344"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecKeyReadMemory.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>dataId</p></td>
-<td><p>the key value data klass.</p></td>
-<td> </td>
+<td class="parameter_name"><p>dataId</p></td>
+<td class="parameter_description"><p>the key value data klass.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>data</p></td>
-<td><p>the memory containing the key</p></td>
-<td> </td>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the memory containing the key</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>dataSize</p></td>
-<td><p>the size of the memory block</p></td>
-<td> </td>
+<td class="parameter_name"><p>dataSize</p></td>
+<td class="parameter_description"><p>the size of the memory block</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN13365"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecKeyReadMemory.returns"></a><h4>Returns</h4>
<p> pointer to newly created key or NULL if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYISVALID"></a><h3>xmlSecKeyIsValid()</h3>
-<pre class="PROGRAMLISTING">#define xmlSecKeyIsValid(key)</pre>
-<p>Macro. Returns 1 if <code class="PARAMETER">key</code>
- is not NULL and <code class="PARAMETER">key->id</code>
+<div class="refsect2">
+<a name="xmlSecKeyIsValid"></a><h3>xmlSecKeyIsValid()</h3>
+<pre class="programlisting">#define xmlSecKeyIsValid(key)</pre>
+<p>Macro. Returns 1 if <em class="parameter"><code>key</code></em>
+ is not NULL and <em class="parameter"><code>key->id</code></em>
is not NULL
or 0 otherwise.</p>
-<div class="REFSECT3">
-<a name="AEN13376"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN13378"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecKeyIsValid.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>key</p></td>
-<td><p>the pointer to key.</p></td>
-<td> </td>
+<td class="parameter_name"><p>key</p></td>
+<td class="parameter_description"><p>the pointer to key.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYCHECKID"></a><h3>xmlSecKeyCheckId()</h3>
-<pre class="PROGRAMLISTING">#define xmlSecKeyCheckId(key, keyId)</pre>
-<p>Macro. Returns 1 if <code class="PARAMETER">key</code>
- is valid and <code class="PARAMETER">key</code>
-'s id is equal to <code class="PARAMETER">keyId</code>
+<div class="refsect2">
+<a name="xmlSecKeyCheckId"></a><h3>xmlSecKeyCheckId()</h3>
+<pre class="programlisting">#define xmlSecKeyCheckId(key, keyId)</pre>
+<p>Macro. Returns 1 if <em class="parameter"><code>key</code></em>
+ is valid and <em class="parameter"><code>key</code></em>
+'s id is equal to <em class="parameter"><code>keyId</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN13396"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN13398"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecKeyCheckId.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>key</p></td>
-<td><p>the pointer to key.</p></td>
-<td> </td>
+<td class="parameter_name"><p>key</p></td>
+<td class="parameter_description"><p>the pointer to key.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>keyId</p></td>
-<td><p>the key Id.</p></td>
-<td> </td>
+<td class="parameter_name"><p>keyId</p></td>
+<td class="parameter_description"><p>the key Id.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYPTRLISTGETKLASS"></a><h3>xmlSecKeyPtrListGetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecPtrListId</span></font>
-xmlSecKeyPtrListGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecKeyPtrListGetKlass"></a><h3>xmlSecKeyPtrListGetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecPtrListId</span></font>
+xmlSecKeyPtrListGetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The keys list klass.</p>
-<div class="REFSECT3">
-<a name="AEN13423"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecKeyPtrListGetKlass.returns"></a><h4>Returns</h4>
<p> keys list id.</p>
</div>
</div>
</div>
-<div class="REFSECT1">
-<a name="XMLSEC-KEYS.OTHER_DETAILS"></a><h2>Types and Values</h2>
-<div class="REFSECT2">
-<a name="XMLSECKEYUSAGE"></a><h3>xmlSecKeyUsage</h3>
-<pre class="PROGRAMLISTING">typedef unsigned int xmlSecKeyUsage;</pre>
+<div class="refsect1">
+<a name="xmlsec-keys.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="xmlSecKeyUsage"></a><h3>xmlSecKeyUsage</h3>
+<pre class="programlisting">typedef unsigned int xmlSecKeyUsage;
+</pre>
<p>The key usage.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYUSAGESIGN"></a><h3>xmlSecKeyUsageSign</h3>
-<pre class="PROGRAMLISTING">#define xmlSecKeyUsageSign 0x00000001</pre>
+<div class="refsect2">
+<a name="xmlSecKeyUsageSign"></a><h3>xmlSecKeyUsageSign</h3>
+<pre class="programlisting">#define xmlSecKeyUsageSign 0x00000001
+</pre>
<p>Key can be used in any way.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYUSAGEVERIFY"></a><h3>xmlSecKeyUsageVerify</h3>
-<pre class="PROGRAMLISTING">#define xmlSecKeyUsageVerify 0x00000002</pre>
+<div class="refsect2">
+<a name="xmlSecKeyUsageVerify"></a><h3>xmlSecKeyUsageVerify</h3>
+<pre class="programlisting">#define xmlSecKeyUsageVerify 0x00000002
+</pre>
<p>Key for signing.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYUSAGEENCRYPT"></a><h3>xmlSecKeyUsageEncrypt</h3>
-<pre class="PROGRAMLISTING">#define xmlSecKeyUsageEncrypt 0x00000004</pre>
+<div class="refsect2">
+<a name="xmlSecKeyUsageEncrypt"></a><h3>xmlSecKeyUsageEncrypt</h3>
+<pre class="programlisting">#define xmlSecKeyUsageEncrypt 0x00000004
+</pre>
<p>Key for signature verification.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYUSAGEDECRYPT"></a><h3>xmlSecKeyUsageDecrypt</h3>
-<pre class="PROGRAMLISTING">#define xmlSecKeyUsageDecrypt 0x00000008</pre>
+<div class="refsect2">
+<a name="xmlSecKeyUsageDecrypt"></a><h3>xmlSecKeyUsageDecrypt</h3>
+<pre class="programlisting">#define xmlSecKeyUsageDecrypt 0x00000008
+</pre>
<p>An encryption key.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYUSAGEKEYEXCHANGE"></a><h3>xmlSecKeyUsageKeyExchange</h3>
-<pre class="PROGRAMLISTING">#define xmlSecKeyUsageKeyExchange 0x00000010</pre>
+<div class="refsect2">
+<a name="xmlSecKeyUsageKeyExchange"></a><h3>xmlSecKeyUsageKeyExchange</h3>
+<pre class="programlisting">#define xmlSecKeyUsageKeyExchange 0x00000010
+</pre>
<p>The key is used for key exchange.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYUSAGEANY"></a><h3>xmlSecKeyUsageAny</h3>
-<pre class="PROGRAMLISTING">#define xmlSecKeyUsageAny 0xFFFFFFFF</pre>
+<div class="refsect2">
+<a name="xmlSecKeyUsageAny"></a><h3>xmlSecKeyUsageAny</h3>
+<pre class="programlisting">#define xmlSecKeyUsageAny 0xFFFFFFFF
+</pre>
<p>A decryption key.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYUSEWITH"></a><h3>struct xmlSecKeyUseWith</h3>
-<pre class="PROGRAMLISTING">struct xmlSecKeyUseWith {
+<div class="refsect2">
+<a name="xmlSecKeyUseWith"></a><h3>struct xmlSecKeyUseWith</h3>
+<pre class="programlisting">struct xmlSecKeyUseWith {
xmlChar* application;
xmlChar* identifier;
void* reserved1;
void* reserved2;
-};</pre>
+};
+</pre>
<p>Information about application and user of the key.</p>
-<div class="REFSECT3">
-<a name="AEN13476"></a><h4>Members</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN13478"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecKeyUseWith.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="struct_members_name">
+<col class="struct_members_description">
+<col width="200px" class="struct_members_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p><font><span class="TYPE">xmlChar</span></font> *<code class="STRUCTFIELD">application</code>;</p></td>
-<td><p>the application.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><font><span class="type">xmlChar</span></font> *<em class="structfield"><code><a name="xmlSecKeyUseWith.application"></a>application</code></em>;</p></td>
+<td class="struct_member_description"><p>the application.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><font><span class="TYPE">xmlChar</span></font> *<code class="STRUCTFIELD">identifier</code>;</p></td>
-<td><p>the identifier.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><font><span class="type">xmlChar</span></font> *<em class="structfield"><code><a name="xmlSecKeyUseWith.identifier"></a>identifier</code></em>;</p></td>
+<td class="struct_member_description"><p>the identifier.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><font><span class="TYPE">void</span></font> *<code class="STRUCTFIELD">reserved1</code>;</p></td>
-<td><p>reserved for future use.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><font><span class="type">void</span></font> *<em class="structfield"><code><a name="xmlSecKeyUseWith.reserved1"></a>reserved1</code></em>;</p></td>
+<td class="struct_member_description"><p>reserved for future use.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><font><span class="TYPE">void</span></font> *<code class="STRUCTFIELD">reserved2</code>;</p></td>
-<td><p>reserved for future use.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><font><span class="type">void</span></font> *<em class="structfield"><code><a name="xmlSecKeyUseWith.reserved2"></a>reserved2</code></em>;</p></td>
+<td class="struct_member_description"><p>reserved for future use.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYUSEWITHPTRLISTID"></a><h3>xmlSecKeyUseWithPtrListId</h3>
-<pre class="PROGRAMLISTING">#define xmlSecKeyUseWithPtrListId xmlSecKeyUseWithPtrListGetKlass()</pre>
+<div class="refsect2">
+<a name="xmlSecKeyUseWithPtrListId"></a><h3>xmlSecKeyUseWithPtrListId</h3>
+<pre class="programlisting">#define xmlSecKeyUseWithPtrListId xmlSecKeyUseWithPtrListGetKlass()
+</pre>
<p>The keys list klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYREQ"></a><h3>struct xmlSecKeyReq</h3>
-<pre class="PROGRAMLISTING">struct xmlSecKeyReq {
+<div class="refsect2">
+<a name="xmlSecKeyReq"></a><h3>struct xmlSecKeyReq</h3>
+<pre class="programlisting">struct xmlSecKeyReq {
xmlSecKeyDataId keyId;
xmlSecKeyDataType keyType;
xmlSecKeyUsage keyUsage;
@@ -1947,126 +1934,124 @@ xmlSecKeyPtrListGetKlass (<code class="PARAMETER"><span class="TYPE">void</span>
void* reserved1;
void* reserved2;
-};</pre>
+};
+</pre>
<p>The key requirements information.</p>
-<div class="REFSECT3">
-<a name="AEN13529"></a><h4>Members</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN13531"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecKeyReq.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="struct_members_name">
+<col class="struct_members_description">
+<col width="200px" class="struct_members_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p><font><span class="TYPE">xmlSecKeyDataId</span></font> <code class="STRUCTFIELD">keyId</code>;</p></td>
-<td><p>the desired key value klass.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><font><span class="type">xmlSecKeyDataId</span></font> <em class="structfield"><code><a name="xmlSecKeyReq.keyId"></a>keyId</code></em>;</p></td>
+<td class="struct_member_description"><p>the desired key value klass.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><a href="xmlsec-keysdata.html#XMLSECKEYDATATYPE"><span class="TYPE">xmlSecKeyDataType</span></a> <code class="STRUCTFIELD">keyType</code>;</p></td>
-<td><p>the desired key type.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataType" title="xmlSecKeyDataType"><span class="type">xmlSecKeyDataType</span></a> <em class="structfield"><code><a name="xmlSecKeyReq.keyType"></a>keyType</code></em>;</p></td>
+<td class="struct_member_description"><p>the desired key type.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><a href="xmlsec-keys.html#XMLSECKEYUSAGE"><span class="TYPE">xmlSecKeyUsage</span></a> <code class="STRUCTFIELD">keyUsage</code>;</p></td>
-<td><p>the desired key usage.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><a class="link" href="xmlsec-keys.html#xmlSecKeyUsage" title="xmlSecKeyUsage"><span class="type">xmlSecKeyUsage</span></a> <em class="structfield"><code><a name="xmlSecKeyReq.keyUsage"></a>keyUsage</code></em>;</p></td>
+<td class="struct_member_description"><p>the desired key usage.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> <code class="STRUCTFIELD">keyBitsSize</code>;</p></td>
-<td><p>the desired key size (in bits!).</p></td>
-<td> </td>
+<td class="struct_member_name"><p><a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="type">xmlSecSize</span></a> <em class="structfield"><code><a name="xmlSecKeyReq.keyBitsSize"></a>keyBitsSize</code></em>;</p></td>
+<td class="struct_member_description"><p>the desired key size (in bits!).</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><a href="xmlsec-list.html#XMLSECPTRLIST"><span class="TYPE">xmlSecPtrList</span></a> <code class="STRUCTFIELD">keyUseWithList</code>;</p></td>
-<td><p>the desired key use with application/identifier information.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><a class="link" href="xmlsec-list.html#xmlSecPtrList" title="struct xmlSecPtrList"><span class="type">xmlSecPtrList</span></a> <em class="structfield"><code><a name="xmlSecKeyReq.keyUseWithList"></a>keyUseWithList</code></em>;</p></td>
+<td class="struct_member_description"><p>the desired key use with application/identifier information.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><font><span class="TYPE">void</span></font> *<code class="STRUCTFIELD">reserved1</code>;</p></td>
-<td><p>reserved for future use.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><font><span class="type">void</span></font> *<em class="structfield"><code><a name="xmlSecKeyReq.reserved1"></a>reserved1</code></em>;</p></td>
+<td class="struct_member_description"><p>reserved for future use.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><font><span class="TYPE">void</span></font> *<code class="STRUCTFIELD">reserved2</code>;</p></td>
-<td><p>reserved for future use.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><font><span class="type">void</span></font> *<em class="structfield"><code><a name="xmlSecKeyReq.reserved2"></a>reserved2</code></em>;</p></td>
+<td class="struct_member_description"><p>reserved for future use.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEY"></a><h3>struct xmlSecKey</h3>
-<pre class="PROGRAMLISTING">struct xmlSecKey {
+<div class="refsect2">
+<a name="xmlSecKey"></a><h3>struct xmlSecKey</h3>
+<pre class="programlisting">struct xmlSecKey {
xmlChar* name;
xmlSecKeyDataPtr value;
xmlSecPtrListPtr dataList;
xmlSecKeyUsage usage;
time_t notValidBefore;
time_t notValidAfter;
-};</pre>
+};
+</pre>
<p>The key.</p>
-<div class="REFSECT3">
-<a name="AEN13603"></a><h4>Members</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN13605"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecKey.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="struct_members_name">
+<col class="struct_members_description">
+<col width="200px" class="struct_members_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p><font><span class="TYPE">xmlChar</span></font> *<code class="STRUCTFIELD">name</code>;</p></td>
-<td><p>the key name.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><font><span class="type">xmlChar</span></font> *<em class="structfield"><code><a name="xmlSecKey.name"></a>name</code></em>;</p></td>
+<td class="struct_member_description"><p>the key name.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> <code class="STRUCTFIELD">value</code>;</p></td>
-<td><p>the key value.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><font><span class="type">xmlSecKeyDataPtr</span></font> <em class="structfield"><code><a name="xmlSecKey.value"></a>value</code></em>;</p></td>
+<td class="struct_member_description"><p>the key value.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><a href="xmlsec-list.html#XMLSECPTRLIST"><span class="TYPE">xmlSecPtrListPtr</span></a> <code class="STRUCTFIELD">dataList</code>;</p></td>
-<td><p>the key data list.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><font><span class="type">xmlSecPtrListPtr</span></font> <em class="structfield"><code><a name="xmlSecKey.dataList"></a>dataList</code></em>;</p></td>
+<td class="struct_member_description"><p>the key data list.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><a href="xmlsec-keys.html#XMLSECKEYUSAGE"><span class="TYPE">xmlSecKeyUsage</span></a> <code class="STRUCTFIELD">usage</code>;</p></td>
-<td><p>the key usage.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><a class="link" href="xmlsec-keys.html#xmlSecKeyUsage" title="xmlSecKeyUsage"><span class="type">xmlSecKeyUsage</span></a> <em class="structfield"><code><a name="xmlSecKey.usage"></a>usage</code></em>;</p></td>
+<td class="struct_member_description"><p>the key usage.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><font><span class="TYPE">time_t</span></font> <code class="STRUCTFIELD">notValidBefore</code>;</p></td>
-<td><p>the start key validity interval.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><font><span class="type">time_t</span></font> <em class="structfield"><code><a name="xmlSecKey.notValidBefore"></a>notValidBefore</code></em>;</p></td>
+<td class="struct_member_description"><p>the start key validity interval.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><font><span class="TYPE">time_t</span></font> <code class="STRUCTFIELD">notValidAfter</code>;</p></td>
-<td><p>the end key validity interval.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><font><span class="type">time_t</span></font> <em class="structfield"><code><a name="xmlSecKey.notValidAfter"></a>notValidAfter</code></em>;</p></td>
+<td class="struct_member_description"><p>the end key validity interval.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYPTRLISTID"></a><h3>xmlSecKeyPtrListId</h3>
-<pre class="PROGRAMLISTING">#define xmlSecKeyPtrListId xmlSecKeyPtrListGetKlass()</pre>
+<div class="refsect2">
+<a name="xmlSecKeyPtrListId"></a><h3>xmlSecKeyPtrListId</h3>
+<pre class="programlisting">#define xmlSecKeyPtrListId xmlSecKeyPtrListGetKlass()
+</pre>
<p>The keys list klass.</p>
</div>
</div>
-<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td align="left"><a accesskey="p" href="xmlsec-keysdata.html"><b><<< keysdata</b></a></td>
-<td align="right"><a accesskey="n" href="xmlsec-keysmngr.html"><b>keysmngr >>></b></a></td>
-</tr></table>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
</td></tr></table></td>
</tr></table></body>
</html>
diff --git a/docs/api/xmlsec-keysdata.html b/docs/api/xmlsec-keysdata.html
index 01f8428..e86acc3 100644
--- a/docs/api/xmlsec-keysdata.html
+++ b/docs/api/xmlsec-keysdata.html
@@ -1,41 +1,14 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>keysdata</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79">
-<link rel="HOME" title="XML Security Library Reference Manual" href="index.html">
-<link rel="UP" title="XML Security Core Library API Reference." href="xmlsec-ref.html">
-<link rel="PREVIOUS" title="keyinfo" href="xmlsec-keyinfo.html">
-<link rel="NEXT" title="keys" href="xmlsec-keys.html">
-<style type="text/css">.synopsis, .classsynopsis {
- background: #eeeeee;
- border: solid 1px #aaaaaa;
- padding: 0.5em;
-}
-.programlisting {
- background: #eeeeff;
- border: solid 1px #aaaaff;
- padding: 0.5em;
-}
-.variablelist {
- padding: 4px;
- margin-left: 3em;
-}
-.navigation {
- background: #ffeeee;
- border: solid 1px #ffaaaa;
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
-.navigation a {
- color: #770000;
-}
-.navigation a:visited {
- color: #550000;
-}
-.navigation .title {
- font-size: 200%;
-}</style>
+<title>keysdata: XML Security Library Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="XML Security Library Reference Manual">
+<link rel="up" href="xmlsec-ref.html" title="XML Security Core Library API Reference.">
+<link rel="prev" href="xmlsec-keyinfo.html" title="keyinfo">
+<link rel="next" href="xmlsec-keys.html" title="keys">
+<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
<style type="text/css">
table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
width: 20em;
@@ -100,3015 +73,3046 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
</table>
</td>
<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent">
-<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td><a accesskey="p" href="xmlsec-keyinfo.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="xmlsec-ref.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description"> <span class="dim">|</span>
+ <a href="#xmlsec-keysdata.description" class="shortcut">Description</a></span>
+</td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<th width="100%" align="center">XML Security Library Reference Manual</th>
+<td><a accesskey="u" href="xmlsec-ref.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="xmlsec-keyinfo.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="xmlsec-keys.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
-<h1>
-<a name="XMLSEC-KEYSDATA"></a>keysdata</h1>
-<div class="REFNAMEDIV">
-<a name="AEN8347"></a><h2>Name</h2>keysdata -- Crypto key data object definition.</div>
-<div class="REFSECT1">
-<a name="XMLSEC-KEYSDATA.FUNCTIONS"></a><h2>Functions</h2>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN8352"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
+<div class="refentry">
+<a name="xmlsec-keysdata"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="xmlsec-keysdata.top_of_page"></a>keysdata</span></h2>
+<p>keysdata — Crypto key data object definition.</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="xmlsec-keysdata.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
<tbody>
<tr>
-<td><a href="xmlsec-list.html#XMLSECPTRLIST"><span class="RETURNVALUE">xmlSecPtrListPtr</span></a></td>
-<td>
-<a href="xmlsec-keysdata.html#XMLSECKEYDATAIDSGET">xmlSecKeyDataIdsGet</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecPtrListPtr</span></font>
</td>
-</tr>
-<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-keysdata.html#XMLSECKEYDATAIDSINIT">xmlSecKeyDataIdsInit</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_name">
+<a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataIdsGet" title="xmlSecKeyDataIdsGet ()">xmlSecKeyDataIdsGet</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">void</span></font></td>
-<td>
-<a href="xmlsec-keysdata.html#XMLSECKEYDATAIDSSHUTDOWN">xmlSecKeyDataIdsShutdown</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataIdsInit" title="xmlSecKeyDataIdsInit ()">xmlSecKeyDataIdsInit</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-keysdata.html#XMLSECKEYDATAIDSREGISTERDEFAULT">xmlSecKeyDataIdsRegisterDefault</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">void</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataIdsShutdown" title="xmlSecKeyDataIdsShutdown ()">xmlSecKeyDataIdsShutdown</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-keysdata.html#XMLSECKEYDATAIDSREGISTER">xmlSecKeyDataIdsRegister</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataIdsRegisterDefault" title="xmlSecKeyDataIdsRegisterDefault ()">xmlSecKeyDataIdsRegisterDefault</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="RETURNVALUE">xmlSecKeyDataPtr</span></a></td>
-<td>
-<a href="xmlsec-keysdata.html#XMLSECKEYDATACREATE">xmlSecKeyDataCreate</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataIdsRegister" title="xmlSecKeyDataIdsRegister ()">xmlSecKeyDataIdsRegister</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="RETURNVALUE">xmlSecKeyDataPtr</span></a></td>
-<td>
-<a href="xmlsec-keysdata.html#XMLSECKEYDATADUPLICATE">xmlSecKeyDataDuplicate</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecKeyDataPtr</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataCreate" title="xmlSecKeyDataCreate ()">xmlSecKeyDataCreate</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">void</span></font></td>
-<td>
-<a href="xmlsec-keysdata.html#XMLSECKEYDATADESTROY">xmlSecKeyDataDestroy</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecKeyDataPtr</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataDuplicate" title="xmlSecKeyDataDuplicate ()">xmlSecKeyDataDuplicate</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-keysdata.html#XMLSECKEYDATAGENERATE">xmlSecKeyDataGenerate</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">void</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataDestroy" title="xmlSecKeyDataDestroy ()">xmlSecKeyDataDestroy</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><a href="xmlsec-keysdata.html#XMLSECKEYDATATYPE"><span class="RETURNVALUE">xmlSecKeyDataType</span></a></td>
-<td>
-<a href="xmlsec-keysdata.html#XMLSECKEYDATAGETTYPE">xmlSecKeyDataGetType</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataGenerate" title="xmlSecKeyDataGenerate ()">xmlSecKeyDataGenerate</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="RETURNVALUE">xmlSecSize</span></a></td>
-<td>
-<a href="xmlsec-keysdata.html#XMLSECKEYDATAGETSIZE">xmlSecKeyDataGetSize</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataType" title="xmlSecKeyDataType"><span class="returnvalue">xmlSecKeyDataType</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataGetType" title="xmlSecKeyDataGetType ()">xmlSecKeyDataGetType</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td>const <font><span class="RETURNVALUE">xmlChar</span></font> *</td>
-<td>
-<a href="xmlsec-keysdata.html#XMLSECKEYDATAGETIDENTIFIER">xmlSecKeyDataGetIdentifier</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="returnvalue">xmlSecSize</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataGetSize" title="xmlSecKeyDataGetSize ()">xmlSecKeyDataGetSize</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">void</span></font></td>
-<td>
-<a href="xmlsec-keysdata.html#XMLSECKEYDATADEBUGDUMP">xmlSecKeyDataDebugDump</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">const <font><span class="returnvalue">xmlChar</span></font> *
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataGetIdentifier" title="xmlSecKeyDataGetIdentifier ()">xmlSecKeyDataGetIdentifier</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">void</span></font></td>
-<td>
-<a href="xmlsec-keysdata.html#XMLSECKEYDATADEBUGXMLDUMP">xmlSecKeyDataDebugXmlDump</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">void</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataDebugDump" title="xmlSecKeyDataDebugDump ()">xmlSecKeyDataDebugDump</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-keysdata.html#XMLSECKEYDATAXMLREAD">xmlSecKeyDataXmlRead</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">void</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataDebugXmlDump" title="xmlSecKeyDataDebugXmlDump ()">xmlSecKeyDataDebugXmlDump</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-keysdata.html#XMLSECKEYDATAXMLWRITE">xmlSecKeyDataXmlWrite</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataXmlRead" title="xmlSecKeyDataXmlRead ()">xmlSecKeyDataXmlRead</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-keysdata.html#XMLSECKEYDATABINREAD">xmlSecKeyDataBinRead</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataXmlWrite" title="xmlSecKeyDataXmlWrite ()">xmlSecKeyDataXmlWrite</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-keysdata.html#XMLSECKEYDATABINWRITE">xmlSecKeyDataBinWrite</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataBinRead" title="xmlSecKeyDataBinRead ()">xmlSecKeyDataBinRead</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td>#define</td>
-<td>
-<a href="xmlsec-keysdata.html#XMLSECKEYDATAGETNAME">xmlSecKeyDataGetName</a><span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataBinWrite" title="xmlSecKeyDataBinWrite ()">xmlSecKeyDataBinWrite</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td>#define</td>
-<td>
-<a href="xmlsec-keysdata.html#XMLSECKEYDATAISVALID">xmlSecKeyDataIsValid</a><span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="define_keyword">#define</td>
+<td class="function_name">
+<a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataGetName" title="xmlSecKeyDataGetName()">xmlSecKeyDataGetName</a><span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td>#define</td>
-<td>
-<a href="xmlsec-keysdata.html#XMLSECKEYDATACHECKID">xmlSecKeyDataCheckId</a><span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="define_keyword">#define</td>
+<td class="function_name">
+<a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataIsValid" title="xmlSecKeyDataIsValid()">xmlSecKeyDataIsValid</a><span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td>#define</td>
-<td>
-<a href="xmlsec-keysdata.html#XMLSECKEYDATACHECKUSAGE">xmlSecKeyDataCheckUsage</a><span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="define_keyword">#define</td>
+<td class="function_name">
+<a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataCheckId" title="xmlSecKeyDataCheckId()">xmlSecKeyDataCheckId</a><span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td>#define</td>
-<td>
-<a href="xmlsec-keysdata.html#XMLSECKEYDATACHECKSIZE">xmlSecKeyDataCheckSize</a><span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="define_keyword">#define</td>
+<td class="function_name">
+<a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataCheckUsage" title="xmlSecKeyDataCheckUsage()">xmlSecKeyDataCheckUsage</a><span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-keysdata.html#XMLSECKEYDATAIDUNKNOWN">xmlSecKeyDataIdUnknown</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name">
+<a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataCheckSize" title="xmlSecKeyDataCheckSize()">xmlSecKeyDataCheckSize</a><span class="c_punctuation">()</span>
+</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<span class="c_punctuation"><span class="PHRASE">(</span></span><a href="xmlsec-keysdata.html#XMLSECKEYDATAINITMETHOD">*xmlSecKeyDataInitMethod</a><span class="c_punctuation"><span class="PHRASE">)</span></span> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<span class="c_punctuation">(</span><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataInitMethod" title="xmlSecKeyDataInitMethod ()">*xmlSecKeyDataInitMethod</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<span class="c_punctuation"><span class="PHRASE">(</span></span><a href="xmlsec-keysdata.html#XMLSECKEYDATADUPLICATEMETHOD">*xmlSecKeyDataDuplicateMethod</a><span class="c_punctuation"><span class="PHRASE">)</span></span> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<span class="c_punctuation">(</span><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataDuplicateMethod" title="xmlSecKeyDataDuplicateMethod ()">*xmlSecKeyDataDuplicateMethod</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">void</span></font></td>
-<td>
-<span class="c_punctuation"><span class="PHRASE">(</span></span><a href="xmlsec-keysdata.html#XMLSECKEYDATAFINALIZEMETHOD">*xmlSecKeyDataFinalizeMethod</a><span class="c_punctuation"><span class="PHRASE">)</span></span> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">void</span></font>
+</td>
+<td class="function_name">
+<span class="c_punctuation">(</span><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataFinalizeMethod" title="xmlSecKeyDataFinalizeMethod ()">*xmlSecKeyDataFinalizeMethod</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<span class="c_punctuation"><span class="PHRASE">(</span></span><a href="xmlsec-keysdata.html#XMLSECKEYDATAXMLREADMETHOD">*xmlSecKeyDataXmlReadMethod</a><span class="c_punctuation"><span class="PHRASE">)</span></span> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<span class="c_punctuation">(</span><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataXmlReadMethod" title="xmlSecKeyDataXmlReadMethod ()">*xmlSecKeyDataXmlReadMethod</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<span class="c_punctuation"><span class="PHRASE">(</span></span><a href="xmlsec-keysdata.html#XMLSECKEYDATAXMLWRITEMETHOD">*xmlSecKeyDataXmlWriteMethod</a><span class="c_punctuation"><span class="PHRASE">)</span></span> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<span class="c_punctuation">(</span><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataXmlWriteMethod" title="xmlSecKeyDataXmlWriteMethod ()">*xmlSecKeyDataXmlWriteMethod</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<span class="c_punctuation"><span class="PHRASE">(</span></span><a href="xmlsec-keysdata.html#XMLSECKEYDATABINREADMETHOD">*xmlSecKeyDataBinReadMethod</a><span class="c_punctuation"><span class="PHRASE">)</span></span> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<span class="c_punctuation">(</span><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataBinReadMethod" title="xmlSecKeyDataBinReadMethod ()">*xmlSecKeyDataBinReadMethod</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<span class="c_punctuation"><span class="PHRASE">(</span></span><a href="xmlsec-keysdata.html#XMLSECKEYDATABINWRITEMETHOD">*xmlSecKeyDataBinWriteMethod</a><span class="c_punctuation"><span class="PHRASE">)</span></span> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<span class="c_punctuation">(</span><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataBinWriteMethod" title="xmlSecKeyDataBinWriteMethod ()">*xmlSecKeyDataBinWriteMethod</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<span class="c_punctuation"><span class="PHRASE">(</span></span><a href="xmlsec-keysdata.html#XMLSECKEYDATAGENERATEMETHOD">*xmlSecKeyDataGenerateMethod</a><span class="c_punctuation"><span class="PHRASE">)</span></span> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<span class="c_punctuation">(</span><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataGenerateMethod" title="xmlSecKeyDataGenerateMethod ()">*xmlSecKeyDataGenerateMethod</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><a href="xmlsec-keysdata.html#XMLSECKEYDATATYPE"><span class="RETURNVALUE">xmlSecKeyDataType</span></a></td>
-<td>
-<span class="c_punctuation"><span class="PHRASE">(</span></span><a href="xmlsec-keysdata.html#XMLSECKEYDATAGETTYPEMETHOD">*xmlSecKeyDataGetTypeMethod</a><span class="c_punctuation"><span class="PHRASE">)</span></span> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataType" title="xmlSecKeyDataType"><span class="returnvalue">xmlSecKeyDataType</span></a>
+</td>
+<td class="function_name">
+<span class="c_punctuation">(</span><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataGetTypeMethod" title="xmlSecKeyDataGetTypeMethod ()">*xmlSecKeyDataGetTypeMethod</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="RETURNVALUE">xmlSecSize</span></a></td>
-<td>
-<span class="c_punctuation"><span class="PHRASE">(</span></span><a href="xmlsec-keysdata.html#XMLSECKEYDATAGETSIZEMETHOD">*xmlSecKeyDataGetSizeMethod</a><span class="c_punctuation"><span class="PHRASE">)</span></span> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="returnvalue">xmlSecSize</span></a>
+</td>
+<td class="function_name">
+<span class="c_punctuation">(</span><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataGetSizeMethod" title="xmlSecKeyDataGetSizeMethod ()">*xmlSecKeyDataGetSizeMethod</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td>const <font><span class="RETURNVALUE">xmlChar</span></font> *</td>
-<td>
-<span class="c_punctuation"><span class="PHRASE">(</span></span><a href="xmlsec-keysdata.html#XMLSECKEYDATAGETIDENTIFIERMETHOD">*xmlSecKeyDataGetIdentifierMethod</a><span class="c_punctuation"><span class="PHRASE">)</span></span> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">const <font><span class="returnvalue">xmlChar</span></font> *
+</td>
+<td class="function_name">
+<span class="c_punctuation">(</span><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataGetIdentifierMethod" title="xmlSecKeyDataGetIdentifierMethod ()">*xmlSecKeyDataGetIdentifierMethod</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">void</span></font></td>
-<td>
-<span class="c_punctuation"><span class="PHRASE">(</span></span><a href="xmlsec-keysdata.html#XMLSECKEYDATADEBUGDUMPMETHOD">*xmlSecKeyDataDebugDumpMethod</a><span class="c_punctuation"><span class="PHRASE">)</span></span> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">void</span></font>
+</td>
+<td class="function_name">
+<span class="c_punctuation">(</span><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataDebugDumpMethod" title="xmlSecKeyDataDebugDumpMethod ()">*xmlSecKeyDataDebugDumpMethod</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td>#define</td>
-<td>
-<a href="xmlsec-keysdata.html#XMLSECKEYDATAKLASSGETNAME">xmlSecKeyDataKlassGetName</a><span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="define_keyword">#define</td>
+<td class="function_name">
+<a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataKlassGetName" title="xmlSecKeyDataKlassGetName()">xmlSecKeyDataKlassGetName</a><span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecPtrListId</span></font></td>
-<td>
-<a href="xmlsec-keysdata.html#XMLSECKEYDATALISTGETKLASS">xmlSecKeyDataListGetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecPtrListId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataListGetKlass" title="xmlSecKeyDataListGetKlass ()">xmlSecKeyDataListGetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecPtrListId</span></font></td>
-<td>
-<a href="xmlsec-keysdata.html#XMLSECKEYDATAIDLISTGETKLASS">xmlSecKeyDataIdListGetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecPtrListId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataIdListGetKlass" title="xmlSecKeyDataIdListGetKlass ()">xmlSecKeyDataIdListGetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-keysdata.html#XMLSECKEYDATAIDLISTFIND">xmlSecKeyDataIdListFind</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataIdListFind" title="xmlSecKeyDataIdListFind ()">xmlSecKeyDataIdListFind</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecKeyDataId</span></font></td>
-<td>
-<a href="xmlsec-keysdata.html#XMLSECKEYDATAIDLISTFINDBYNODE">xmlSecKeyDataIdListFindByNode</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecKeyDataId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataIdListFindByNode" title="xmlSecKeyDataIdListFindByNode ()">xmlSecKeyDataIdListFindByNode</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecKeyDataId</span></font></td>
-<td>
-<a href="xmlsec-keysdata.html#XMLSECKEYDATAIDLISTFINDBYHREF">xmlSecKeyDataIdListFindByHref</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecKeyDataId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataIdListFindByHref" title="xmlSecKeyDataIdListFindByHref ()">xmlSecKeyDataIdListFindByHref</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecKeyDataId</span></font></td>
-<td>
-<a href="xmlsec-keysdata.html#XMLSECKEYDATAIDLISTFINDBYNAME">xmlSecKeyDataIdListFindByName</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecKeyDataId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataIdListFindByName" title="xmlSecKeyDataIdListFindByName ()">xmlSecKeyDataIdListFindByName</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">void</span></font></td>
-<td>
-<a href="xmlsec-keysdata.html#XMLSECKEYDATAIDLISTDEBUGDUMP">xmlSecKeyDataIdListDebugDump</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">void</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataIdListDebugDump" title="xmlSecKeyDataIdListDebugDump ()">xmlSecKeyDataIdListDebugDump</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">void</span></font></td>
-<td>
-<a href="xmlsec-keysdata.html#XMLSECKEYDATAIDLISTDEBUGXMLDUMP">xmlSecKeyDataIdListDebugXmlDump</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">void</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataIdListDebugXmlDump" title="xmlSecKeyDataIdListDebugXmlDump ()">xmlSecKeyDataIdListDebugXmlDump</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-keysdata.html#XMLSECKEYDATABINARYVALUEINITIALIZE">xmlSecKeyDataBinaryValueInitialize</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataBinaryValueInitialize" title="xmlSecKeyDataBinaryValueInitialize ()">xmlSecKeyDataBinaryValueInitialize</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-keysdata.html#XMLSECKEYDATABINARYVALUEDUPLICATE">xmlSecKeyDataBinaryValueDuplicate</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataBinaryValueDuplicate" title="xmlSecKeyDataBinaryValueDuplicate ()">xmlSecKeyDataBinaryValueDuplicate</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">void</span></font></td>
-<td>
-<a href="xmlsec-keysdata.html#XMLSECKEYDATABINARYVALUEFINALIZE">xmlSecKeyDataBinaryValueFinalize</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">void</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataBinaryValueFinalize" title="xmlSecKeyDataBinaryValueFinalize ()">xmlSecKeyDataBinaryValueFinalize</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-keysdata.html#XMLSECKEYDATABINARYVALUEXMLREAD">xmlSecKeyDataBinaryValueXmlRead</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataBinaryValueXmlRead" title="xmlSecKeyDataBinaryValueXmlRead ()">xmlSecKeyDataBinaryValueXmlRead</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-keysdata.html#XMLSECKEYDATABINARYVALUEXMLWRITE">xmlSecKeyDataBinaryValueXmlWrite</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataBinaryValueXmlWrite" title="xmlSecKeyDataBinaryValueXmlWrite ()">xmlSecKeyDataBinaryValueXmlWrite</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-keysdata.html#XMLSECKEYDATABINARYVALUEBINREAD">xmlSecKeyDataBinaryValueBinRead</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataBinaryValueBinRead" title="xmlSecKeyDataBinaryValueBinRead ()">xmlSecKeyDataBinaryValueBinRead</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-keysdata.html#XMLSECKEYDATABINARYVALUEBINWRITE">xmlSecKeyDataBinaryValueBinWrite</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataBinaryValueBinWrite" title="xmlSecKeyDataBinaryValueBinWrite ()">xmlSecKeyDataBinaryValueBinWrite</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">void</span></font></td>
-<td>
-<a href="xmlsec-keysdata.html#XMLSECKEYDATABINARYVALUEDEBUGDUMP">xmlSecKeyDataBinaryValueDebugDump</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">void</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataBinaryValueDebugDump" title="xmlSecKeyDataBinaryValueDebugDump ()">xmlSecKeyDataBinaryValueDebugDump</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">void</span></font></td>
-<td>
-<a href="xmlsec-keysdata.html#XMLSECKEYDATABINARYVALUEDEBUGXMLDUMP">xmlSecKeyDataBinaryValueDebugXmlDump</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">void</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataBinaryValueDebugXmlDump" title="xmlSecKeyDataBinaryValueDebugXmlDump ()">xmlSecKeyDataBinaryValueDebugXmlDump</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="RETURNVALUE">xmlSecSize</span></a></td>
-<td>
-<a href="xmlsec-keysdata.html#XMLSECKEYDATABINARYVALUEGETSIZE">xmlSecKeyDataBinaryValueGetSize</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="returnvalue">xmlSecSize</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataBinaryValueGetSize" title="xmlSecKeyDataBinaryValueGetSize ()">xmlSecKeyDataBinaryValueGetSize</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><a href="xmlsec-buffer.html#XMLSECBUFFER"><span class="RETURNVALUE">xmlSecBufferPtr</span></a></td>
-<td>
-<a href="xmlsec-keysdata.html#XMLSECKEYDATABINARYVALUEGETBUFFER">xmlSecKeyDataBinaryValueGetBuffer</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecBufferPtr</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataBinaryValueGetBuffer" title="xmlSecKeyDataBinaryValueGetBuffer ()">xmlSecKeyDataBinaryValueGetBuffer</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-keysdata.html#XMLSECKEYDATABINARYVALUESETBUFFER">xmlSecKeyDataBinaryValueSetBuffer</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataBinaryValueSetBuffer" title="xmlSecKeyDataBinaryValueSetBuffer ()">xmlSecKeyDataBinaryValueSetBuffer</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><a href="xmlsec-keysdata.html#XMLSECKEYDATASTORE"><span class="RETURNVALUE">xmlSecKeyDataStorePtr</span></a></td>
-<td>
-<a href="xmlsec-keysdata.html#XMLSECKEYDATASTORECREATE">xmlSecKeyDataStoreCreate</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecKeyDataStorePtr</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataStoreCreate" title="xmlSecKeyDataStoreCreate ()">xmlSecKeyDataStoreCreate</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">void</span></font></td>
-<td>
-<a href="xmlsec-keysdata.html#XMLSECKEYDATASTOREDESTROY">xmlSecKeyDataStoreDestroy</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">void</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataStoreDestroy" title="xmlSecKeyDataStoreDestroy ()">xmlSecKeyDataStoreDestroy</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td>#define</td>
-<td>
-<a href="xmlsec-keysdata.html#XMLSECKEYDATASTOREGETNAME">xmlSecKeyDataStoreGetName</a><span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="define_keyword">#define</td>
+<td class="function_name">
+<a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataStoreGetName" title="xmlSecKeyDataStoreGetName()">xmlSecKeyDataStoreGetName</a><span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td>#define</td>
-<td>
-<a href="xmlsec-keysdata.html#XMLSECKEYDATASTOREISVALID">xmlSecKeyDataStoreIsValid</a><span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="define_keyword">#define</td>
+<td class="function_name">
+<a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataStoreIsValid" title="xmlSecKeyDataStoreIsValid()">xmlSecKeyDataStoreIsValid</a><span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td>#define</td>
-<td>
-<a href="xmlsec-keysdata.html#XMLSECKEYDATASTORECHECKID">xmlSecKeyDataStoreCheckId</a><span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="define_keyword">#define</td>
+<td class="function_name">
+<a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataStoreCheckId" title="xmlSecKeyDataStoreCheckId()">xmlSecKeyDataStoreCheckId</a><span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td>#define</td>
-<td>
-<a href="xmlsec-keysdata.html#XMLSECKEYDATASTORECHECKSIZE">xmlSecKeyDataStoreCheckSize</a><span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="define_keyword">#define</td>
+<td class="function_name">
+<a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataStoreCheckSize" title="xmlSecKeyDataStoreCheckSize()">xmlSecKeyDataStoreCheckSize</a><span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<span class="c_punctuation"><span class="PHRASE">(</span></span><a href="xmlsec-keysdata.html#XMLSECKEYDATASTOREINITIALIZEMETHOD">*xmlSecKeyDataStoreInitializeMethod</a><span class="c_punctuation"><span class="PHRASE">)</span></span> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<span class="c_punctuation">(</span><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataStoreInitializeMethod" title="xmlSecKeyDataStoreInitializeMethod ()">*xmlSecKeyDataStoreInitializeMethod</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">void</span></font></td>
-<td>
-<span class="c_punctuation"><span class="PHRASE">(</span></span><a href="xmlsec-keysdata.html#XMLSECKEYDATASTOREFINALIZEMETHOD">*xmlSecKeyDataStoreFinalizeMethod</a><span class="c_punctuation"><span class="PHRASE">)</span></span> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">void</span></font>
+</td>
+<td class="function_name">
+<span class="c_punctuation">(</span><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataStoreFinalizeMethod" title="xmlSecKeyDataStoreFinalizeMethod ()">*xmlSecKeyDataStoreFinalizeMethod</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td>#define</td>
-<td>
-<a href="xmlsec-keysdata.html#XMLSECKEYDATASTOREKLASSGETNAME">xmlSecKeyDataStoreKlassGetName</a><span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="define_keyword">#define</td>
+<td class="function_name">
+<a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataStoreKlassGetName" title="xmlSecKeyDataStoreKlassGetName()">xmlSecKeyDataStoreKlassGetName</a><span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecPtrListId</span></font></td>
-<td>
-<a href="xmlsec-keysdata.html#XMLSECKEYDATASTOREPTRLISTGETKLASS">xmlSecKeyDataStorePtrListGetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecPtrListId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataStorePtrListGetKlass" title="xmlSecKeyDataStorePtrListGetKlass ()">xmlSecKeyDataStorePtrListGetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
-</div>
-<div class="REFSECT1">
-<a name="XMLSEC-KEYSDATA.OTHER"></a><h2>Types and Values</h2>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN8829"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="xmlsec-keysdata.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
<tbody>
<tr>
-<td>typedef</td>
-<td><a href="xmlsec-keysdata.html#XMLSECKEYDATAUSAGE">xmlSecKeyDataUsage</a></td>
+<td class="typedef_keyword">typedef</td>
+<td class="function_name"><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataUsage" title="xmlSecKeyDataUsage">xmlSecKeyDataUsage</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataUsageUnknown" title="xmlSecKeyDataUsageUnknown">xmlSecKeyDataUsageUnknown</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-keysdata.html#XMLSECKEYDATAUSAGEUNKNOWN">xmlSecKeyDataUsageUnknown</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataUsageKeyInfoNodeRead" title="xmlSecKeyDataUsageKeyInfoNodeRead">xmlSecKeyDataUsageKeyInfoNodeRead</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-keysdata.html#XMLSECKEYDATAUSAGEKEYINFONODEREAD">xmlSecKeyDataUsageKeyInfoNodeRead</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataUsageKeyInfoNodeWrite" title="xmlSecKeyDataUsageKeyInfoNodeWrite">xmlSecKeyDataUsageKeyInfoNodeWrite</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-keysdata.html#XMLSECKEYDATAUSAGEKEYINFONODEWRITE">xmlSecKeyDataUsageKeyInfoNodeWrite</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataUsageKeyValueNodeRead" title="xmlSecKeyDataUsageKeyValueNodeRead">xmlSecKeyDataUsageKeyValueNodeRead</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-keysdata.html#XMLSECKEYDATAUSAGEKEYVALUENODEREAD">xmlSecKeyDataUsageKeyValueNodeRead</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataUsageKeyValueNodeWrite" title="xmlSecKeyDataUsageKeyValueNodeWrite">xmlSecKeyDataUsageKeyValueNodeWrite</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-keysdata.html#XMLSECKEYDATAUSAGEKEYVALUENODEWRITE">xmlSecKeyDataUsageKeyValueNodeWrite</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataUsageRetrievalMethodNodeXml" title="xmlSecKeyDataUsageRetrievalMethodNodeXml">xmlSecKeyDataUsageRetrievalMethodNodeXml</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-keysdata.html#XMLSECKEYDATAUSAGERETRIEVALMETHODNODEXML">xmlSecKeyDataUsageRetrievalMethodNodeXml</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataUsageRetrievalMethodNodeBin" title="xmlSecKeyDataUsageRetrievalMethodNodeBin">xmlSecKeyDataUsageRetrievalMethodNodeBin</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-keysdata.html#XMLSECKEYDATAUSAGERETRIEVALMETHODNODEBIN">xmlSecKeyDataUsageRetrievalMethodNodeBin</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataUsageAny" title="xmlSecKeyDataUsageAny">xmlSecKeyDataUsageAny</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-keysdata.html#XMLSECKEYDATAUSAGEANY">xmlSecKeyDataUsageAny</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataUsageKeyInfoNode" title="xmlSecKeyDataUsageKeyInfoNode">xmlSecKeyDataUsageKeyInfoNode</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-keysdata.html#XMLSECKEYDATAUSAGEKEYINFONODE">xmlSecKeyDataUsageKeyInfoNode</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataUsageKeyValueNode" title="xmlSecKeyDataUsageKeyValueNode">xmlSecKeyDataUsageKeyValueNode</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-keysdata.html#XMLSECKEYDATAUSAGEKEYVALUENODE">xmlSecKeyDataUsageKeyValueNode</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataUsageRetrievalMethodNode" title="xmlSecKeyDataUsageRetrievalMethodNode">xmlSecKeyDataUsageRetrievalMethodNode</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-keysdata.html#XMLSECKEYDATAUSAGERETRIEVALMETHODNODE">xmlSecKeyDataUsageRetrievalMethodNode</a></td>
+<td class="typedef_keyword">typedef</td>
+<td class="function_name"><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataType" title="xmlSecKeyDataType">xmlSecKeyDataType</a></td>
</tr>
<tr>
-<td>typedef</td>
-<td><a href="xmlsec-keysdata.html#XMLSECKEYDATATYPE">xmlSecKeyDataType</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataTypeUnknown" title="xmlSecKeyDataTypeUnknown">xmlSecKeyDataTypeUnknown</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-keysdata.html#XMLSECKEYDATATYPEUNKNOWN">xmlSecKeyDataTypeUnknown</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataTypeNone" title="xmlSecKeyDataTypeNone">xmlSecKeyDataTypeNone</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-keysdata.html#XMLSECKEYDATATYPENONE">xmlSecKeyDataTypeNone</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataTypePublic" title="xmlSecKeyDataTypePublic">xmlSecKeyDataTypePublic</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-keysdata.html#XMLSECKEYDATATYPEPUBLIC">xmlSecKeyDataTypePublic</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataTypePrivate" title="xmlSecKeyDataTypePrivate">xmlSecKeyDataTypePrivate</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-keysdata.html#XMLSECKEYDATATYPEPRIVATE">xmlSecKeyDataTypePrivate</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataTypeSymmetric" title="xmlSecKeyDataTypeSymmetric">xmlSecKeyDataTypeSymmetric</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-keysdata.html#XMLSECKEYDATATYPESYMMETRIC">xmlSecKeyDataTypeSymmetric</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataTypeSession" title="xmlSecKeyDataTypeSession">xmlSecKeyDataTypeSession</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-keysdata.html#XMLSECKEYDATATYPESESSION">xmlSecKeyDataTypeSession</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataTypePermanent" title="xmlSecKeyDataTypePermanent">xmlSecKeyDataTypePermanent</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-keysdata.html#XMLSECKEYDATATYPEPERMANENT">xmlSecKeyDataTypePermanent</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataTypeTrusted" title="xmlSecKeyDataTypeTrusted">xmlSecKeyDataTypeTrusted</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-keysdata.html#XMLSECKEYDATATYPETRUSTED">xmlSecKeyDataTypeTrusted</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataTypeAny" title="xmlSecKeyDataTypeAny">xmlSecKeyDataTypeAny</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-keysdata.html#XMLSECKEYDATATYPEANY">xmlSecKeyDataTypeAny</a></td>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataFormat" title="enum xmlSecKeyDataFormat">xmlSecKeyDataFormat</a></td>
</tr>
<tr>
-<td>enum</td>
-<td><a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT">xmlSecKeyDataFormat</a></td>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="xmlsec-keysdata.html#xmlSecKeyData" title="struct xmlSecKeyData">xmlSecKeyData</a></td>
</tr>
<tr>
-<td>struct</td>
-<td><a href="xmlsec-keysdata.html#XMLSECKEYDATA">xmlSecKeyData</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataIdUnknown" title="xmlSecKeyDataIdUnknown">xmlSecKeyDataIdUnknown</a></td>
</tr>
<tr>
-<td>struct</td>
-<td><a href="xmlsec-keysdata.html#XMLSECKEYDATAKLASS">xmlSecKeyDataKlass</a></td>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataKlass" title="struct xmlSecKeyDataKlass">xmlSecKeyDataKlass</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-keysdata.html#XMLSECKEYDATALISTID">xmlSecKeyDataListId</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataListId" title="xmlSecKeyDataListId">xmlSecKeyDataListId</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-keysdata.html#XMLSECKEYDATAIDLISTID">xmlSecKeyDataIdListId</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataIdListId" title="xmlSecKeyDataIdListId">xmlSecKeyDataIdListId</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-keysdata.html#XMLSECKEYDATABINARYSIZE">xmlSecKeyDataBinarySize</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataBinarySize" title="xmlSecKeyDataBinarySize">xmlSecKeyDataBinarySize</a></td>
</tr>
<tr>
-<td>struct</td>
-<td><a href="xmlsec-keysdata.html#XMLSECKEYDATASTORE">xmlSecKeyDataStore</a></td>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataStore" title="struct xmlSecKeyDataStore">xmlSecKeyDataStore</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-keysdata.html#XMLSECKEYDATASTOREIDUNKNOWN">xmlSecKeyDataStoreIdUnknown</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataStoreIdUnknown" title="xmlSecKeyDataStoreIdUnknown">xmlSecKeyDataStoreIdUnknown</a></td>
</tr>
<tr>
-<td>struct</td>
-<td><a href="xmlsec-keysdata.html#XMLSECKEYDATASTOREKLASS">xmlSecKeyDataStoreKlass</a></td>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataStoreKlass" title="struct xmlSecKeyDataStoreKlass">xmlSecKeyDataStoreKlass</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-keysdata.html#XMLSECKEYDATASTOREPTRLISTID">xmlSecKeyDataStorePtrListId</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataStorePtrListId" title="xmlSecKeyDataStorePtrListId">xmlSecKeyDataStorePtrListId</a></td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
-</div>
-<div class="REFSECT1">
-<a name="XMLSEC-KEYSDATA.DESCRIPTION"></a><h2>Description</h2>
-<p>Crypto key data object definition.</p>
-</div>
-<div class="REFSECT1">
-<a name="XMLSEC-KEYSDATA.FUNCTIONS_DETAILS"></a><h2>Functions</h2>
-<div class="REFSECT2">
-<a name="XMLSECKEYDATAIDSGET"></a><h3>xmlSecKeyDataIdsGet ()</h3>
-<pre class="PROGRAMLISTING"><a href="xmlsec-list.html#XMLSECPTRLIST"><span class="RETURNVALUE">xmlSecPtrListPtr</span></a>
-xmlSecKeyDataIdsGet (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="xmlsec-keysdata.description"></a><h2>Description</h2>
+<p>
+Crypto key data object definition.
+</p>
+</div>
+<div class="refsect1">
+<a name="xmlsec-keysdata.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="xmlSecKeyDataIdsGet"></a><h3>xmlSecKeyDataIdsGet ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecPtrListPtr</span></font>
+xmlSecKeyDataIdsGet (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>Gets global registered key data klasses list.</p>
-<div class="REFSECT3">
-<a name="AEN8975"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecKeyDataIdsGet.returns"></a><h4>Returns</h4>
<p> the pointer to list of all registered key data klasses.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYDATAIDSINIT"></a><h3>xmlSecKeyDataIdsInit ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecKeyDataIdsInit (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecKeyDataIdsInit"></a><h3>xmlSecKeyDataIdsInit ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecKeyDataIdsInit (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>Initializes the key data klasses. This function is called from the
-<a href="xmlsec-xmlsec.html#XMLSECINIT"><span class="TYPE">xmlSecInit</span></a> function and the application should not call it directly.</p>
-<div class="REFSECT3">
-<a name="AEN8990"></a><h4>Returns</h4>
+<a class="link" href="xmlsec-xmlsec.html#xmlSecInit" title="xmlSecInit ()"><span class="type">xmlSecInit</span></a> function and the application should not call it directly.</p>
+<div class="refsect3">
+<a name="xmlSecKeyDataIdsInit.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYDATAIDSSHUTDOWN"></a><h3>xmlSecKeyDataIdsShutdown ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">void</span></font>
-xmlSecKeyDataIdsShutdown (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecKeyDataIdsShutdown"></a><h3>xmlSecKeyDataIdsShutdown ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">void</span></font>
+xmlSecKeyDataIdsShutdown (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>Shuts down the keys data klasses. This function is called from the
-<a href="xmlsec-xmlsec.html#XMLSECSHUTDOWN"><span class="TYPE">xmlSecShutdown</span></a> function and the application should not call it directly.</p>
+<a class="link" href="xmlsec-xmlsec.html#xmlSecShutdown" title="xmlSecShutdown ()"><span class="type">xmlSecShutdown</span></a> function and the application should not call it directly.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYDATAIDSREGISTERDEFAULT"></a><h3>xmlSecKeyDataIdsRegisterDefault ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecKeyDataIdsRegisterDefault (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecKeyDataIdsRegisterDefault"></a><h3>xmlSecKeyDataIdsRegisterDefault ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecKeyDataIdsRegisterDefault (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>Registers default (implemented by XML Security Library)
key data klasses: <dsig:KeyName/> element processing klass,
<dsig:KeyValue/> element processing klass, ...</p>
-<div class="REFSECT3">
-<a name="AEN9015"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecKeyDataIdsRegisterDefault.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYDATAIDSREGISTER"></a><h3>xmlSecKeyDataIdsRegister ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecKeyDataIdsRegister (<code class="PARAMETER"><font><span class="TYPE">xmlSecKeyDataId</span></font> id</code>);</pre>
-<p>Registers <code class="PARAMETER">id</code>
+<div class="refsect2">
+<a name="xmlSecKeyDataIdsRegister"></a><h3>xmlSecKeyDataIdsRegister ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecKeyDataIdsRegister (<em class="parameter"><code><font><span class="type">xmlSecKeyDataId</span></font> id</code></em>);</pre>
+<p>Registers <em class="parameter"><code>id</code></em>
in the global list of key data klasses.</p>
-<div class="REFSECT3">
-<a name="AEN9030"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN9032"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecKeyDataIdsRegister.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>id</p></td>
-<td><p>the key data klass.</p></td>
-<td> </td>
+<td class="parameter_name"><p>id</p></td>
+<td class="parameter_description"><p>the key data klass.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN9041"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecKeyDataIdsRegister.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYDATACREATE"></a><h3>xmlSecKeyDataCreate ()</h3>
-<pre class="PROGRAMLISTING"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="RETURNVALUE">xmlSecKeyDataPtr</span></a>
-xmlSecKeyDataCreate (<code class="PARAMETER"><font><span class="TYPE">xmlSecKeyDataId</span></font> id</code>);</pre>
-<p>Allocates and initializes new key data of the specified type <code class="PARAMETER">id</code>
+<div class="refsect2">
+<a name="xmlSecKeyDataCreate"></a><h3>xmlSecKeyDataCreate ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecKeyDataPtr</span></font>
+xmlSecKeyDataCreate (<em class="parameter"><code><font><span class="type">xmlSecKeyDataId</span></font> id</code></em>);</pre>
+<p>Allocates and initializes new key data of the specified type <em class="parameter"><code>id</code></em>
.
Caller is responsible for destroying returned object with
-<a href="xmlsec-keysdata.html#XMLSECKEYDATADESTROY"><span class="TYPE">xmlSecKeyDataDestroy</span></a> function.</p>
-<div class="REFSECT3">
-<a name="AEN9058"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN9060"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataDestroy" title="xmlSecKeyDataDestroy ()"><span class="type">xmlSecKeyDataDestroy</span></a> function.</p>
+<div class="refsect3">
+<a name="xmlSecKeyDataCreate.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>id</p></td>
-<td><p>the data id.</p></td>
-<td> </td>
+<td class="parameter_name"><p>id</p></td>
+<td class="parameter_description"><p>the data id.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN9069"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecKeyDataCreate.returns"></a><h4>Returns</h4>
<p> the pointer to newly allocated key data structure
or NULL if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYDATADUPLICATE"></a><h3>xmlSecKeyDataDuplicate ()</h3>
-<pre class="PROGRAMLISTING"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="RETURNVALUE">xmlSecKeyDataPtr</span></a>
-xmlSecKeyDataDuplicate (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>);</pre>
-<p>Creates a duplicate of the given <code class="PARAMETER">data</code>
+<div class="refsect2">
+<a name="xmlSecKeyDataDuplicate"></a><h3>xmlSecKeyDataDuplicate ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecKeyDataPtr</span></font>
+xmlSecKeyDataDuplicate (<em class="parameter"><code><font><span class="type">xmlSecKeyDataPtr</span></font> data</code></em>);</pre>
+<p>Creates a duplicate of the given <em class="parameter"><code>data</code></em>
. Caller is responsible for
-destroying returned object with <a href="xmlsec-keysdata.html#XMLSECKEYDATADESTROY"><span class="TYPE">xmlSecKeyDataDestroy</span></a> function.</p>
-<div class="REFSECT3">
-<a name="AEN9086"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN9088"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+destroying returned object with <a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataDestroy" title="xmlSecKeyDataDestroy ()"><span class="type">xmlSecKeyDataDestroy</span></a> function.</p>
+<div class="refsect3">
+<a name="xmlSecKeyDataDuplicate.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>data</p></td>
-<td><p>the pointer to the key data.</p></td>
-<td> </td>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the pointer to the key data.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN9097"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecKeyDataDuplicate.returns"></a><h4>Returns</h4>
<p> the pointer to newly allocated key data structure
or NULL if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYDATADESTROY"></a><h3>xmlSecKeyDataDestroy ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">void</span></font>
-xmlSecKeyDataDestroy (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecKeyDataDestroy"></a><h3>xmlSecKeyDataDestroy ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">void</span></font>
+xmlSecKeyDataDestroy (<em class="parameter"><code><font><span class="type">xmlSecKeyDataPtr</span></font> data</code></em>);</pre>
<p>Destroys the data and frees all allocated memory.</p>
-<div class="REFSECT3">
-<a name="AEN9111"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN9113"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecKeyDataDestroy.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>data</p></td>
-<td><p>the pointer to the key data.</p></td>
-<td> </td>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the pointer to the key data.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYDATAGENERATE"></a><h3>xmlSecKeyDataGenerate ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecKeyDataGenerate (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>,
- <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> sizeBits</code>,
- <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATATYPE"><span class="TYPE">xmlSecKeyDataType</span></a> type</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecKeyDataGenerate"></a><h3>xmlSecKeyDataGenerate ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecKeyDataGenerate (<em class="parameter"><code><font><span class="type">xmlSecKeyDataPtr</span></font> data</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="type">xmlSecSize</span></a> sizeBits</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataType" title="xmlSecKeyDataType"><span class="type">xmlSecKeyDataType</span></a> type</code></em>);</pre>
<p>Generates new key data of given size and type.</p>
-<div class="REFSECT3">
-<a name="AEN9139"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN9141"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecKeyDataGenerate.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>data</p></td>
-<td><p>the pointer to key data.</p></td>
-<td> </td>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the pointer to key data.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>sizeBits</p></td>
-<td><p>the desired key data size (in bits).</p></td>
-<td> </td>
+<td class="parameter_name"><p>sizeBits</p></td>
+<td class="parameter_description"><p>the desired key data size (in bits).</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>type</p></td>
-<td><p>the desired key data type.</p></td>
-<td> </td>
+<td class="parameter_name"><p>type</p></td>
+<td class="parameter_description"><p>the desired key data type.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN9162"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecKeyDataGenerate.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYDATAGETTYPE"></a><h3>xmlSecKeyDataGetType ()</h3>
-<pre class="PROGRAMLISTING"><a href="xmlsec-keysdata.html#XMLSECKEYDATATYPE"><span class="RETURNVALUE">xmlSecKeyDataType</span></a>
-xmlSecKeyDataGetType (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecKeyDataGetType"></a><h3>xmlSecKeyDataGetType ()</h3>
+<pre class="programlisting"><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataType" title="xmlSecKeyDataType"><span class="returnvalue">xmlSecKeyDataType</span></a>
+xmlSecKeyDataGetType (<em class="parameter"><code><font><span class="type">xmlSecKeyDataPtr</span></font> data</code></em>);</pre>
<p>Gets key data type.</p>
-<div class="REFSECT3">
-<a name="AEN9176"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN9178"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecKeyDataGetType.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>data</p></td>
-<td><p>the pointer to key data.</p></td>
-<td> </td>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the pointer to key data.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN9187"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecKeyDataGetType.returns"></a><h4>Returns</h4>
<p> key data type.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYDATAGETSIZE"></a><h3>xmlSecKeyDataGetSize ()</h3>
-<pre class="PROGRAMLISTING"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="RETURNVALUE">xmlSecSize</span></a>
-xmlSecKeyDataGetSize (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecKeyDataGetSize"></a><h3>xmlSecKeyDataGetSize ()</h3>
+<pre class="programlisting"><a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="returnvalue">xmlSecSize</span></a>
+xmlSecKeyDataGetSize (<em class="parameter"><code><font><span class="type">xmlSecKeyDataPtr</span></font> data</code></em>);</pre>
<p>Gets key data size.</p>
-<div class="REFSECT3">
-<a name="AEN9201"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN9203"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecKeyDataGetSize.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>data</p></td>
-<td><p>the pointer to key data.</p></td>
-<td> </td>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the pointer to key data.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN9212"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecKeyDataGetSize.returns"></a><h4>Returns</h4>
<p> key data size (in bits).</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYDATAGETIDENTIFIER"></a><h3>xmlSecKeyDataGetIdentifier ()</h3>
-<pre class="PROGRAMLISTING">const <font><span class="RETURNVALUE">xmlChar</span></font> *
-xmlSecKeyDataGetIdentifier (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecKeyDataGetIdentifier"></a><h3>xmlSecKeyDataGetIdentifier ()</h3>
+<pre class="programlisting">const <font><span class="returnvalue">xmlChar</span></font> *
+xmlSecKeyDataGetIdentifier (<em class="parameter"><code><font><span class="type">xmlSecKeyDataPtr</span></font> data</code></em>);</pre>
<p>Gets key data identifier string.</p>
-<div class="REFSECT3">
-<a name="AEN9226"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN9228"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecKeyDataGetIdentifier.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>data</p></td>
-<td><p>the pointer to key data.</p></td>
-<td> </td>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the pointer to key data.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN9237"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecKeyDataGetIdentifier.returns"></a><h4>Returns</h4>
<p> key data id string.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYDATADEBUGDUMP"></a><h3>xmlSecKeyDataDebugDump ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">void</span></font>
-xmlSecKeyDataDebugDump (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>,
- <code class="PARAMETER"><font><span class="TYPE">FILE</span></font> *output</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecKeyDataDebugDump"></a><h3>xmlSecKeyDataDebugDump ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">void</span></font>
+xmlSecKeyDataDebugDump (<em class="parameter"><code><font><span class="type">xmlSecKeyDataPtr</span></font> data</code></em>,
+ <em class="parameter"><code><font><span class="type">FILE</span></font> *output</code></em>);</pre>
<p>Prints key data debug info.</p>
-<div class="REFSECT3">
-<a name="AEN9254"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN9256"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecKeyDataDebugDump.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>data</p></td>
-<td><p>the pointer to key data.</p></td>
-<td> </td>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the pointer to key data.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>output</p></td>
-<td><p>the pointer to output FILE.</p></td>
-<td> </td>
+<td class="parameter_name"><p>output</p></td>
+<td class="parameter_description"><p>the pointer to output FILE.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYDATADEBUGXMLDUMP"></a><h3>xmlSecKeyDataDebugXmlDump ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">void</span></font>
-xmlSecKeyDataDebugXmlDump (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>,
- <code class="PARAMETER"><font><span class="TYPE">FILE</span></font> *output</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecKeyDataDebugXmlDump"></a><h3>xmlSecKeyDataDebugXmlDump ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">void</span></font>
+xmlSecKeyDataDebugXmlDump (<em class="parameter"><code><font><span class="type">xmlSecKeyDataPtr</span></font> data</code></em>,
+ <em class="parameter"><code><font><span class="type">FILE</span></font> *output</code></em>);</pre>
<p>Prints key data debug info in XML format.</p>
-<div class="REFSECT3">
-<a name="AEN9285"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN9287"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecKeyDataDebugXmlDump.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>data</p></td>
-<td><p>the pointer to key data.</p></td>
-<td> </td>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the pointer to key data.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>output</p></td>
-<td><p>the pointer to output FILE.</p></td>
-<td> </td>
+<td class="parameter_name"><p>output</p></td>
+<td class="parameter_description"><p>the pointer to output FILE.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYDATAXMLREAD"></a><h3>xmlSecKeyDataXmlRead ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecKeyDataXmlRead (<code class="PARAMETER"><font><span class="TYPE">xmlSecKeyDataId</span></font> id</code>,
- <code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>,
- <code class="PARAMETER"><font><span class="TYPE">xmlNodePtr</span></font> node</code>,
- <code class="PARAMETER"><a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTX"><span class="TYPE">xmlSecKeyInfoCtxPtr</span></a> keyInfoCtx</code>);</pre>
-<p>Reads the key data of klass <code class="PARAMETER">id</code>
- from XML <code class="PARAMETER">node</code>
- and adds them to <code class="PARAMETER">key</code>
+<div class="refsect2">
+<a name="xmlSecKeyDataXmlRead"></a><h3>xmlSecKeyDataXmlRead ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecKeyDataXmlRead (<em class="parameter"><code><font><span class="type">xmlSecKeyDataId</span></font> id</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlSecKeyPtr</span></font> key</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlNodePtr</span></font> node</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlSecKeyInfoCtxPtr</span></font> keyInfoCtx</code></em>);</pre>
+<p>Reads the key data of klass <em class="parameter"><code>id</code></em>
+ from XML <em class="parameter"><code>node</code></em>
+ and adds them to <em class="parameter"><code>key</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN9325"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN9327"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecKeyDataXmlRead.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>id</p></td>
-<td><p>the data klass.</p></td>
-<td> </td>
+<td class="parameter_name"><p>id</p></td>
+<td class="parameter_description"><p>the data klass.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>key</p></td>
-<td><p>the destination key.</p></td>
-<td> </td>
+<td class="parameter_name"><p>key</p></td>
+<td class="parameter_description"><p>the destination key.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>node</p></td>
-<td><p>the pointer to an XML node.</p></td>
-<td> </td>
+<td class="parameter_name"><p>node</p></td>
+<td class="parameter_description"><p>the pointer to an XML node.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>keyInfoCtx</p></td>
-<td><p>the pointer to <dsig:KeyInfo/> element processing context.</p></td>
-<td> </td>
+<td class="parameter_name"><p>keyInfoCtx</p></td>
+<td class="parameter_description"><p>the pointer to <dsig:KeyInfo/> element processing context.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN9354"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecKeyDataXmlRead.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYDATAXMLWRITE"></a><h3>xmlSecKeyDataXmlWrite ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecKeyDataXmlWrite (<code class="PARAMETER"><font><span class="TYPE">xmlSecKeyDataId</span></font> id</code>,
- <code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>,
- <code class="PARAMETER"><font><span class="TYPE">xmlNodePtr</span></font> node</code>,
- <code class="PARAMETER"><a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTX"><span class="TYPE">xmlSecKeyInfoCtxPtr</span></a> keyInfoCtx</code>);</pre>
-<p>Writes the key data of klass <code class="PARAMETER">id</code>
- from <code class="PARAMETER">key</code>
- to an XML <code class="PARAMETER">node</code>
+<div class="refsect2">
+<a name="xmlSecKeyDataXmlWrite"></a><h3>xmlSecKeyDataXmlWrite ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecKeyDataXmlWrite (<em class="parameter"><code><font><span class="type">xmlSecKeyDataId</span></font> id</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlSecKeyPtr</span></font> key</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlNodePtr</span></font> node</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlSecKeyInfoCtxPtr</span></font> keyInfoCtx</code></em>);</pre>
+<p>Writes the key data of klass <em class="parameter"><code>id</code></em>
+ from <em class="parameter"><code>key</code></em>
+ to an XML <em class="parameter"><code>node</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN9380"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN9382"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecKeyDataXmlWrite.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>id</p></td>
-<td><p>the data klass.</p></td>
-<td> </td>
+<td class="parameter_name"><p>id</p></td>
+<td class="parameter_description"><p>the data klass.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>key</p></td>
-<td><p>the source key.</p></td>
-<td> </td>
+<td class="parameter_name"><p>key</p></td>
+<td class="parameter_description"><p>the source key.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>node</p></td>
-<td><p>the pointer to an XML node.</p></td>
-<td> </td>
+<td class="parameter_name"><p>node</p></td>
+<td class="parameter_description"><p>the pointer to an XML node.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>keyInfoCtx</p></td>
-<td><p>the pointer to <dsig:KeyInfo/> element processing context.</p></td>
-<td> </td>
+<td class="parameter_name"><p>keyInfoCtx</p></td>
+<td class="parameter_description"><p>the pointer to <dsig:KeyInfo/> element processing context.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN9409"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecKeyDataXmlWrite.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYDATABINREAD"></a><h3>xmlSecKeyDataBinRead ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecKeyDataBinRead (<code class="PARAMETER"><font><span class="TYPE">xmlSecKeyDataId</span></font> id</code>,
- <code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>,
- <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *buf</code>,
- <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> bufSize</code>,
- <code class="PARAMETER"><a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTX"><span class="TYPE">xmlSecKeyInfoCtxPtr</span></a> keyInfoCtx</code>);</pre>
-<p>Reads the key data of klass <code class="PARAMETER">id</code>
- from binary buffer <code class="PARAMETER">buf</code>
- to <code class="PARAMETER">key</code>
+<div class="refsect2">
+<a name="xmlSecKeyDataBinRead"></a><h3>xmlSecKeyDataBinRead ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecKeyDataBinRead (<em class="parameter"><code><font><span class="type">xmlSecKeyDataId</span></font> id</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlSecKeyPtr</span></font> key</code></em>,
+ <em class="parameter"><code>const <a class="link" href="xmlsec-xmlsec.html#xmlSecByte" title="xmlSecByte"><span class="type">xmlSecByte</span></a> *buf</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="type">xmlSecSize</span></a> bufSize</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlSecKeyInfoCtxPtr</span></font> keyInfoCtx</code></em>);</pre>
+<p>Reads the key data of klass <em class="parameter"><code>id</code></em>
+ from binary buffer <em class="parameter"><code>buf</code></em>
+ to <em class="parameter"><code>key</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN9438"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN9440"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecKeyDataBinRead.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>id</p></td>
-<td><p>the data klass.</p></td>
-<td> </td>
+<td class="parameter_name"><p>id</p></td>
+<td class="parameter_description"><p>the data klass.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>key</p></td>
-<td><p>the destination key.</p></td>
-<td> </td>
+<td class="parameter_name"><p>key</p></td>
+<td class="parameter_description"><p>the destination key.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>buf</p></td>
-<td><p>the input binary buffer.</p></td>
-<td> </td>
+<td class="parameter_name"><p>buf</p></td>
+<td class="parameter_description"><p>the input binary buffer.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>bufSize</p></td>
-<td><p>the input buffer size.</p></td>
-<td> </td>
+<td class="parameter_name"><p>bufSize</p></td>
+<td class="parameter_description"><p>the input buffer size.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>keyInfoCtx</p></td>
-<td><p>the <dsig:KeyInfo/> node processing context.</p></td>
-<td> </td>
+<td class="parameter_name"><p>keyInfoCtx</p></td>
+<td class="parameter_description"><p>the <dsig:KeyInfo/> node processing context.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN9473"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecKeyDataBinRead.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYDATABINWRITE"></a><h3>xmlSecKeyDataBinWrite ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecKeyDataBinWrite (<code class="PARAMETER"><font><span class="TYPE">xmlSecKeyDataId</span></font> id</code>,
- <code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>,
- <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> **buf</code>,
- <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> *bufSize</code>,
- <code class="PARAMETER"><a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTX"><span class="TYPE">xmlSecKeyInfoCtxPtr</span></a> keyInfoCtx</code>);</pre>
-<p>Writes the key data of klass <code class="PARAMETER">id</code>
- from the <code class="PARAMETER">key</code>
- to a binary buffer <code class="PARAMETER">buf</code>
+<div class="refsect2">
+<a name="xmlSecKeyDataBinWrite"></a><h3>xmlSecKeyDataBinWrite ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecKeyDataBinWrite (<em class="parameter"><code><font><span class="type">xmlSecKeyDataId</span></font> id</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlSecKeyPtr</span></font> key</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-xmlsec.html#xmlSecByte" title="xmlSecByte"><span class="type">xmlSecByte</span></a> **buf</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="type">xmlSecSize</span></a> *bufSize</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlSecKeyInfoCtxPtr</span></font> keyInfoCtx</code></em>);</pre>
+<p>Writes the key data of klass <em class="parameter"><code>id</code></em>
+ from the <em class="parameter"><code>key</code></em>
+ to a binary buffer <em class="parameter"><code>buf</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN9502"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN9504"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecKeyDataBinWrite.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>id</p></td>
-<td><p>the data klass.</p></td>
-<td> </td>
+<td class="parameter_name"><p>id</p></td>
+<td class="parameter_description"><p>the data klass.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>key</p></td>
-<td><p>the source key.</p></td>
-<td> </td>
+<td class="parameter_name"><p>key</p></td>
+<td class="parameter_description"><p>the source key.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>buf</p></td>
-<td><p>the output binary buffer.</p></td>
-<td> </td>
+<td class="parameter_name"><p>buf</p></td>
+<td class="parameter_description"><p>the output binary buffer.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>bufSize</p></td>
-<td><p>the output buffer size.</p></td>
-<td> </td>
+<td class="parameter_name"><p>bufSize</p></td>
+<td class="parameter_description"><p>the output buffer size.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>keyInfoCtx</p></td>
-<td><p>the <dsig:KeyInfo/> node processing context.</p></td>
-<td> </td>
+<td class="parameter_name"><p>keyInfoCtx</p></td>
+<td class="parameter_description"><p>the <dsig:KeyInfo/> node processing context.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN9537"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecKeyDataBinWrite.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYDATAGETNAME"></a><h3>xmlSecKeyDataGetName()</h3>
-<pre class="PROGRAMLISTING">#define xmlSecKeyDataGetName(data)</pre>
+<div class="refsect2">
+<a name="xmlSecKeyDataGetName"></a><h3>xmlSecKeyDataGetName()</h3>
+<pre class="programlisting">#define xmlSecKeyDataGetName(data)</pre>
<p>Macro. Returns the key data name.</p>
-<div class="REFSECT3">
-<a name="AEN9546"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN9548"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecKeyDataGetName.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>data</p></td>
-<td><p>the pointer to key data.</p></td>
-<td> </td>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the pointer to key data.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYDATAISVALID"></a><h3>xmlSecKeyDataIsValid()</h3>
-<pre class="PROGRAMLISTING">#define xmlSecKeyDataIsValid(data)</pre>
-<p>Macro. Returns 1 if <code class="PARAMETER">data</code>
- is not NULL and <code class="PARAMETER">data->id</code>
+<div class="refsect2">
+<a name="xmlSecKeyDataIsValid"></a><h3>xmlSecKeyDataIsValid()</h3>
+<pre class="programlisting">#define xmlSecKeyDataIsValid(data)</pre>
+<p>Macro. Returns 1 if <em class="parameter"><code>data</code></em>
+ is not NULL and <em class="parameter"><code>data->id</code></em>
is not NULL
or 0 otherwise.</p>
-<div class="REFSECT3">
-<a name="AEN9565"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN9567"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecKeyDataIsValid.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>data</p></td>
-<td><p>the pointer to data.</p></td>
-<td> </td>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the pointer to data.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYDATACHECKID"></a><h3>xmlSecKeyDataCheckId()</h3>
-<pre class="PROGRAMLISTING">#define xmlSecKeyDataCheckId(data, dataId)</pre>
-<p>Macro. Returns 1 if <code class="PARAMETER">data</code>
- is valid and <code class="PARAMETER">data</code>
-'s id is equal to <code class="PARAMETER">dataId</code>
+<div class="refsect2">
+<a name="xmlSecKeyDataCheckId"></a><h3>xmlSecKeyDataCheckId()</h3>
+<pre class="programlisting">#define xmlSecKeyDataCheckId(data, dataId)</pre>
+<p>Macro. Returns 1 if <em class="parameter"><code>data</code></em>
+ is valid and <em class="parameter"><code>data</code></em>
+'s id is equal to <em class="parameter"><code>dataId</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN9585"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN9587"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecKeyDataCheckId.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>data</p></td>
-<td><p>the pointer to data.</p></td>
-<td> </td>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the pointer to data.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>dataId</p></td>
-<td><p>the data Id.</p></td>
-<td> </td>
+<td class="parameter_name"><p>dataId</p></td>
+<td class="parameter_description"><p>the data Id.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYDATACHECKUSAGE"></a><h3>xmlSecKeyDataCheckUsage()</h3>
-<pre class="PROGRAMLISTING">#define xmlSecKeyDataCheckUsage(data, usg)</pre>
-<p>Macro. Returns 1 if <code class="PARAMETER">data</code>
- is valid and could be used for <code class="PARAMETER">usg</code>
+<div class="refsect2">
+<a name="xmlSecKeyDataCheckUsage"></a><h3>xmlSecKeyDataCheckUsage()</h3>
+<pre class="programlisting">#define xmlSecKeyDataCheckUsage(data, usg)</pre>
+<p>Macro. Returns 1 if <em class="parameter"><code>data</code></em>
+ is valid and could be used for <em class="parameter"><code>usg</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN9610"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN9612"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecKeyDataCheckUsage.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>data</p></td>
-<td><p>the pointer to data.</p></td>
-<td> </td>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the pointer to data.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>usg</p></td>
-<td><p>the data usage.</p></td>
-<td> </td>
+<td class="parameter_name"><p>usg</p></td>
+<td class="parameter_description"><p>the data usage.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYDATACHECKSIZE"></a><h3>xmlSecKeyDataCheckSize()</h3>
-<pre class="PROGRAMLISTING">#define xmlSecKeyDataCheckSize(data, size)</pre>
-<p>Macro. Returns 1 if <code class="PARAMETER">data</code>
- is valid and <code class="PARAMETER">data</code>
-'s object has at least <code class="PARAMETER">size</code>
+<div class="refsect2">
+<a name="xmlSecKeyDataCheckSize"></a><h3>xmlSecKeyDataCheckSize()</h3>
+<pre class="programlisting">#define xmlSecKeyDataCheckSize(data, size)</pre>
+<p>Macro. Returns 1 if <em class="parameter"><code>data</code></em>
+ is valid and <em class="parameter"><code>data</code></em>
+'s object has at least <em class="parameter"><code>size</code></em>
bytes.</p>
-<div class="REFSECT3">
-<a name="AEN9636"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN9638"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecKeyDataCheckSize.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>data</p></td>
-<td><p>the pointer to data.</p></td>
-<td> </td>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the pointer to data.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>size</p></td>
-<td><p>the expected size.</p></td>
-<td> </td>
+<td class="parameter_name"><p>size</p></td>
+<td class="parameter_description"><p>the expected size.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYDATAIDUNKNOWN"></a><h3>xmlSecKeyDataIdUnknown</h3>
-<pre class="PROGRAMLISTING">#define xmlSecKeyDataIdUnknown ((xmlSecKeyDataId)NULL)</pre>
-<p>The "unknown" id.</p>
-</div>
-<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYDATAINITMETHOD"></a><h3>xmlSecKeyDataInitMethod ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-<span class="c_punctuation"><span class="PHRASE">(</span></span>*xmlSecKeyDataInitMethod<span class="c_punctuation"><span class="PHRASE">)</span></span> (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecKeyDataInitMethod"></a><h3>xmlSecKeyDataInitMethod ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+<span class="c_punctuation">(</span>*xmlSecKeyDataInitMethod<span class="c_punctuation">)</span> (<em class="parameter"><code><font><span class="type">xmlSecKeyDataPtr</span></font> data</code></em>);</pre>
<p>Key data specific initialization method.</p>
-<div class="REFSECT3">
-<a name="AEN9672"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN9674"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecKeyDataInitMethod.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>data</p></td>
-<td><p>the pointer to key data.</p></td>
-<td> </td>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the pointer to key data.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN9683"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecKeyDataInitMethod.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYDATADUPLICATEMETHOD"></a><h3>xmlSecKeyDataDuplicateMethod ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-<span class="c_punctuation"><span class="PHRASE">(</span></span>*xmlSecKeyDataDuplicateMethod<span class="c_punctuation"><span class="PHRASE">)</span></span> (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> dst</code>,
- <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> src</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecKeyDataDuplicateMethod"></a><h3>xmlSecKeyDataDuplicateMethod ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+<span class="c_punctuation">(</span>*xmlSecKeyDataDuplicateMethod<span class="c_punctuation">)</span> (<em class="parameter"><code><font><span class="type">xmlSecKeyDataPtr</span></font> dst</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlSecKeyDataPtr</span></font> src</code></em>);</pre>
<p>Key data specific duplication (copy) method.</p>
-<div class="REFSECT3">
-<a name="AEN9702"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN9704"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecKeyDataDuplicateMethod.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>dst</p></td>
-<td><p>the pointer to destination key data.</p></td>
-<td> </td>
+<td class="parameter_name"><p>dst</p></td>
+<td class="parameter_description"><p>the pointer to destination key data.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>src</p></td>
-<td><p>the poiniter to source key data.</p></td>
-<td> </td>
+<td class="parameter_name"><p>src</p></td>
+<td class="parameter_description"><p>the poiniter to source key data.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN9719"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecKeyDataDuplicateMethod.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYDATAFINALIZEMETHOD"></a><h3>xmlSecKeyDataFinalizeMethod ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">void</span></font>
-<span class="c_punctuation"><span class="PHRASE">(</span></span>*xmlSecKeyDataFinalizeMethod<span class="c_punctuation"><span class="PHRASE">)</span></span> (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecKeyDataFinalizeMethod"></a><h3>xmlSecKeyDataFinalizeMethod ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">void</span></font>
+<span class="c_punctuation">(</span>*xmlSecKeyDataFinalizeMethod<span class="c_punctuation">)</span> (<em class="parameter"><code><font><span class="type">xmlSecKeyDataPtr</span></font> data</code></em>);</pre>
<p>Key data specific finalization method. All the objects and resources allocated
by the key data object must be freed inside this method.</p>
-<div class="REFSECT3">
-<a name="AEN9735"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN9737"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecKeyDataFinalizeMethod.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>data</p></td>
-<td><p>the data.</p></td>
-<td> </td>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the data.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYDATAXMLREADMETHOD"></a><h3>xmlSecKeyDataXmlReadMethod ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-<span class="c_punctuation"><span class="PHRASE">(</span></span>*xmlSecKeyDataXmlReadMethod<span class="c_punctuation"><span class="PHRASE">)</span></span> (<code class="PARAMETER"><font><span class="TYPE">xmlSecKeyDataId</span></font> id</code>,
- <code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>,
- <code class="PARAMETER"><font><span class="TYPE">xmlNodePtr</span></font> node</code>,
- <code class="PARAMETER"><a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTX"><span class="TYPE">xmlSecKeyInfoCtxPtr</span></a> keyInfoCtx</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecKeyDataXmlReadMethod"></a><h3>xmlSecKeyDataXmlReadMethod ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+<span class="c_punctuation">(</span>*xmlSecKeyDataXmlReadMethod<span class="c_punctuation">)</span> (<em class="parameter"><code><font><span class="type">xmlSecKeyDataId</span></font> id</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlSecKeyPtr</span></font> key</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlNodePtr</span></font> node</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlSecKeyInfoCtxPtr</span></font> keyInfoCtx</code></em>);</pre>
<p>Key data specific method for reading XML node.</p>
-<div class="REFSECT3">
-<a name="AEN9768"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN9770"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecKeyDataXmlReadMethod.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>id</p></td>
-<td><p>the data id.</p></td>
-<td> </td>
+<td class="parameter_name"><p>id</p></td>
+<td class="parameter_description"><p>the data id.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>key</p></td>
-<td><p>the key.</p></td>
-<td> </td>
+<td class="parameter_name"><p>key</p></td>
+<td class="parameter_description"><p>the key.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>node</p></td>
-<td><p>the pointer to data's value XML node.</p></td>
-<td> </td>
+<td class="parameter_name"><p>node</p></td>
+<td class="parameter_description"><p>the pointer to data's value XML node.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>keyInfoCtx</p></td>
-<td><p>the <dsig:KeyInfo/> node processing context.</p></td>
-<td> </td>
+<td class="parameter_name"><p>keyInfoCtx</p></td>
+<td class="parameter_description"><p>the <dsig:KeyInfo/> node processing context.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN9797"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecKeyDataXmlReadMethod.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYDATAXMLWRITEMETHOD"></a><h3>xmlSecKeyDataXmlWriteMethod ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-<span class="c_punctuation"><span class="PHRASE">(</span></span>*xmlSecKeyDataXmlWriteMethod<span class="c_punctuation"><span class="PHRASE">)</span></span> (<code class="PARAMETER"><font><span class="TYPE">xmlSecKeyDataId</span></font> id</code>,
- <code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>,
- <code class="PARAMETER"><font><span class="TYPE">xmlNodePtr</span></font> node</code>,
- <code class="PARAMETER"><a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTX"><span class="TYPE">xmlSecKeyInfoCtxPtr</span></a> keyInfoCtx</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecKeyDataXmlWriteMethod"></a><h3>xmlSecKeyDataXmlWriteMethod ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+<span class="c_punctuation">(</span>*xmlSecKeyDataXmlWriteMethod<span class="c_punctuation">)</span> (<em class="parameter"><code><font><span class="type">xmlSecKeyDataId</span></font> id</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlSecKeyPtr</span></font> key</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlNodePtr</span></font> node</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlSecKeyInfoCtxPtr</span></font> keyInfoCtx</code></em>);</pre>
<p>Key data specific method for writing XML node.</p>
-<div class="REFSECT3">
-<a name="AEN9822"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN9824"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecKeyDataXmlWriteMethod.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>id</p></td>
-<td><p>the data id.</p></td>
-<td> </td>
+<td class="parameter_name"><p>id</p></td>
+<td class="parameter_description"><p>the data id.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>key</p></td>
-<td><p>the key.</p></td>
-<td> </td>
+<td class="parameter_name"><p>key</p></td>
+<td class="parameter_description"><p>the key.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>node</p></td>
-<td><p>the pointer to data's value XML node.</p></td>
-<td> </td>
+<td class="parameter_name"><p>node</p></td>
+<td class="parameter_description"><p>the pointer to data's value XML node.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>keyInfoCtx</p></td>
-<td><p>the <dsig:KeyInfo> node processing context.</p></td>
-<td> </td>
+<td class="parameter_name"><p>keyInfoCtx</p></td>
+<td class="parameter_description"><p>the <dsig:KeyInfo> node processing context.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN9851"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecKeyDataXmlWriteMethod.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYDATABINREADMETHOD"></a><h3>xmlSecKeyDataBinReadMethod ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-<span class="c_punctuation"><span class="PHRASE">(</span></span>*xmlSecKeyDataBinReadMethod<span class="c_punctuation"><span class="PHRASE">)</span></span> (<code class="PARAMETER"><font><span class="TYPE">xmlSecKeyDataId</span></font> id</code>,
- <code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>,
- <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *buf</code>,
- <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> bufSize</code>,
- <code class="PARAMETER"><a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTX"><span class="TYPE">xmlSecKeyInfoCtxPtr</span></a> keyInfoCtx</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecKeyDataBinReadMethod"></a><h3>xmlSecKeyDataBinReadMethod ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+<span class="c_punctuation">(</span>*xmlSecKeyDataBinReadMethod<span class="c_punctuation">)</span> (<em class="parameter"><code><font><span class="type">xmlSecKeyDataId</span></font> id</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlSecKeyPtr</span></font> key</code></em>,
+ <em class="parameter"><code>const <a class="link" href="xmlsec-xmlsec.html#xmlSecByte" title="xmlSecByte"><span class="type">xmlSecByte</span></a> *buf</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="type">xmlSecSize</span></a> bufSize</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlSecKeyInfoCtxPtr</span></font> keyInfoCtx</code></em>);</pre>
<p>Key data specific method for reading binary buffer.</p>
-<div class="REFSECT3">
-<a name="AEN9879"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN9881"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecKeyDataBinReadMethod.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>id</p></td>
-<td><p>the data id.</p></td>
-<td> </td>
+<td class="parameter_name"><p>id</p></td>
+<td class="parameter_description"><p>the data id.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>key</p></td>
-<td><p>the key.</p></td>
-<td> </td>
+<td class="parameter_name"><p>key</p></td>
+<td class="parameter_description"><p>the key.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>buf</p></td>
-<td><p>the input buffer.</p></td>
-<td> </td>
+<td class="parameter_name"><p>buf</p></td>
+<td class="parameter_description"><p>the input buffer.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>bufSize</p></td>
-<td><p>the buffer size.</p></td>
-<td> </td>
+<td class="parameter_name"><p>bufSize</p></td>
+<td class="parameter_description"><p>the buffer size.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>keyInfoCtx</p></td>
-<td><p>the <dsig:KeyInfo/> node processing context.</p></td>
-<td> </td>
+<td class="parameter_name"><p>keyInfoCtx</p></td>
+<td class="parameter_description"><p>the <dsig:KeyInfo/> node processing context.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN9914"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecKeyDataBinReadMethod.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYDATABINWRITEMETHOD"></a><h3>xmlSecKeyDataBinWriteMethod ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-<span class="c_punctuation"><span class="PHRASE">(</span></span>*xmlSecKeyDataBinWriteMethod<span class="c_punctuation"><span class="PHRASE">)</span></span> (<code class="PARAMETER"><font><span class="TYPE">xmlSecKeyDataId</span></font> id</code>,
- <code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>,
- <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> **buf</code>,
- <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> *bufSize</code>,
- <code class="PARAMETER"><a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTX"><span class="TYPE">xmlSecKeyInfoCtxPtr</span></a> keyInfoCtx</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecKeyDataBinWriteMethod"></a><h3>xmlSecKeyDataBinWriteMethod ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+<span class="c_punctuation">(</span>*xmlSecKeyDataBinWriteMethod<span class="c_punctuation">)</span> (<em class="parameter"><code><font><span class="type">xmlSecKeyDataId</span></font> id</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlSecKeyPtr</span></font> key</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-xmlsec.html#xmlSecByte" title="xmlSecByte"><span class="type">xmlSecByte</span></a> **buf</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="type">xmlSecSize</span></a> *bufSize</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlSecKeyInfoCtxPtr</span></font> keyInfoCtx</code></em>);</pre>
<p>Key data specific method for reading binary buffer.</p>
-<div class="REFSECT3">
-<a name="AEN9942"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN9944"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecKeyDataBinWriteMethod.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>id</p></td>
-<td><p>the data id.</p></td>
-<td> </td>
+<td class="parameter_name"><p>id</p></td>
+<td class="parameter_description"><p>the data id.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>key</p></td>
-<td><p>the key.</p></td>
-<td> </td>
+<td class="parameter_name"><p>key</p></td>
+<td class="parameter_description"><p>the key.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>buf</p></td>
-<td><p>the output buffer.</p></td>
-<td> </td>
+<td class="parameter_name"><p>buf</p></td>
+<td class="parameter_description"><p>the output buffer.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>bufSize</p></td>
-<td><p>the buffer size.</p></td>
-<td> </td>
+<td class="parameter_name"><p>bufSize</p></td>
+<td class="parameter_description"><p>the buffer size.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>keyInfoCtx</p></td>
-<td><p>the <dsig:KeyInfo/> node processing context.</p></td>
-<td> </td>
+<td class="parameter_name"><p>keyInfoCtx</p></td>
+<td class="parameter_description"><p>the <dsig:KeyInfo/> node processing context.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN9977"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecKeyDataBinWriteMethod.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYDATAGENERATEMETHOD"></a><h3>xmlSecKeyDataGenerateMethod ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-<span class="c_punctuation"><span class="PHRASE">(</span></span>*xmlSecKeyDataGenerateMethod<span class="c_punctuation"><span class="PHRASE">)</span></span> (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>,
- <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> sizeBits</code>,
- <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATATYPE"><span class="TYPE">xmlSecKeyDataType</span></a> type</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecKeyDataGenerateMethod"></a><h3>xmlSecKeyDataGenerateMethod ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+<span class="c_punctuation">(</span>*xmlSecKeyDataGenerateMethod<span class="c_punctuation">)</span> (<em class="parameter"><code><font><span class="type">xmlSecKeyDataPtr</span></font> data</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="type">xmlSecSize</span></a> sizeBits</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataType" title="xmlSecKeyDataType"><span class="type">xmlSecKeyDataType</span></a> type</code></em>);</pre>
<p>Key data specific method for generating new key data.</p>
-<div class="REFSECT3">
-<a name="AEN9999"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN10001"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecKeyDataGenerateMethod.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>data</p></td>
-<td><p>the pointer to key data.</p></td>
-<td> </td>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the pointer to key data.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>sizeBits</p></td>
-<td><p>the key data specific size.</p></td>
-<td> </td>
+<td class="parameter_name"><p>sizeBits</p></td>
+<td class="parameter_description"><p>the key data specific size.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>type</p></td>
-<td><p>the required key type (session/permanent, etc.)</p></td>
-<td> </td>
+<td class="parameter_name"><p>type</p></td>
+<td class="parameter_description"><p>the required key type (session/permanent, etc.)</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN10022"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecKeyDataGenerateMethod.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYDATAGETTYPEMETHOD"></a><h3>xmlSecKeyDataGetTypeMethod ()</h3>
-<pre class="PROGRAMLISTING"><a href="xmlsec-keysdata.html#XMLSECKEYDATATYPE"><span class="RETURNVALUE">xmlSecKeyDataType</span></a>
-<span class="c_punctuation"><span class="PHRASE">(</span></span>*xmlSecKeyDataGetTypeMethod<span class="c_punctuation"><span class="PHRASE">)</span></span> (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecKeyDataGetTypeMethod"></a><h3>xmlSecKeyDataGetTypeMethod ()</h3>
+<pre class="programlisting"><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataType" title="xmlSecKeyDataType"><span class="returnvalue">xmlSecKeyDataType</span></a>
+<span class="c_punctuation">(</span>*xmlSecKeyDataGetTypeMethod<span class="c_punctuation">)</span> (<em class="parameter"><code><font><span class="type">xmlSecKeyDataPtr</span></font> data</code></em>);</pre>
<p>Key data specific method to get the key type.</p>
-<div class="REFSECT3">
-<a name="AEN10038"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN10040"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecKeyDataGetTypeMethod.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>data</p></td>
-<td><p>the data.</p></td>
-<td> </td>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the data.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN10049"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecKeyDataGetTypeMethod.returns"></a><h4>Returns</h4>
<p> the key type.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYDATAGETSIZEMETHOD"></a><h3>xmlSecKeyDataGetSizeMethod ()</h3>
-<pre class="PROGRAMLISTING"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="RETURNVALUE">xmlSecSize</span></a>
-<span class="c_punctuation"><span class="PHRASE">(</span></span>*xmlSecKeyDataGetSizeMethod<span class="c_punctuation"><span class="PHRASE">)</span></span> (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecKeyDataGetSizeMethod"></a><h3>xmlSecKeyDataGetSizeMethod ()</h3>
+<pre class="programlisting"><a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="returnvalue">xmlSecSize</span></a>
+<span class="c_punctuation">(</span>*xmlSecKeyDataGetSizeMethod<span class="c_punctuation">)</span> (<em class="parameter"><code><font><span class="type">xmlSecKeyDataPtr</span></font> data</code></em>);</pre>
<p>Key data specific method to get the key size.</p>
-<div class="REFSECT3">
-<a name="AEN10065"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN10067"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecKeyDataGetSizeMethod.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>data</p></td>
-<td><p>the pointer to key data.</p></td>
-<td> </td>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the pointer to key data.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN10076"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecKeyDataGetSizeMethod.returns"></a><h4>Returns</h4>
<p> the key size in bits.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYDATAGETIDENTIFIERMETHOD"></a><h3>xmlSecKeyDataGetIdentifierMethod ()</h3>
-<pre class="PROGRAMLISTING">const <font><span class="RETURNVALUE">xmlChar</span></font> *
-<span class="c_punctuation"><span class="PHRASE">(</span></span>*xmlSecKeyDataGetIdentifierMethod<span class="c_punctuation"><span class="PHRASE">)</span></span> (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecKeyDataGetIdentifierMethod"></a><h3>xmlSecKeyDataGetIdentifierMethod ()</h3>
+<pre class="programlisting">const <font><span class="returnvalue">xmlChar</span></font> *
+<span class="c_punctuation">(</span>*xmlSecKeyDataGetIdentifierMethod<span class="c_punctuation">)</span> (<em class="parameter"><code><font><span class="type">xmlSecKeyDataPtr</span></font> data</code></em>);</pre>
<p>Key data specific method to get the key data identifier string (for example,
X509 data identifier is the subject of the verified cert).</p>
-<div class="REFSECT3">
-<a name="AEN10092"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN10094"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecKeyDataGetIdentifierMethod.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>data</p></td>
-<td><p>the pointer to key data.</p></td>
-<td> </td>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the pointer to key data.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN10103"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecKeyDataGetIdentifierMethod.returns"></a><h4>Returns</h4>
<p> the identifier string or NULL if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYDATADEBUGDUMPMETHOD"></a><h3>xmlSecKeyDataDebugDumpMethod ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">void</span></font>
-<span class="c_punctuation"><span class="PHRASE">(</span></span>*xmlSecKeyDataDebugDumpMethod<span class="c_punctuation"><span class="PHRASE">)</span></span> (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>,
- <code class="PARAMETER"><font><span class="TYPE">FILE</span></font> *output</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecKeyDataDebugDumpMethod"></a><h3>xmlSecKeyDataDebugDumpMethod ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">void</span></font>
+<span class="c_punctuation">(</span>*xmlSecKeyDataDebugDumpMethod<span class="c_punctuation">)</span> (<em class="parameter"><code><font><span class="type">xmlSecKeyDataPtr</span></font> data</code></em>,
+ <em class="parameter"><code><font><span class="type">FILE</span></font> *output</code></em>);</pre>
<p>Key data specific method for printing debug info.</p>
-<div class="REFSECT3">
-<a name="AEN10122"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN10124"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecKeyDataDebugDumpMethod.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>data</p></td>
-<td><p>the data.</p></td>
-<td> </td>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the data.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>output</p></td>
-<td><p>the FILE to print debug info (should be open for writing).</p></td>
-<td> </td>
+<td class="parameter_name"><p>output</p></td>
+<td class="parameter_description"><p>the FILE to print debug info (should be open for writing).</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYDATAKLASSGETNAME"></a><h3>xmlSecKeyDataKlassGetName()</h3>
-<pre class="PROGRAMLISTING">#define xmlSecKeyDataKlassGetName(klass)</pre>
+<div class="refsect2">
+<a name="xmlSecKeyDataKlassGetName"></a><h3>xmlSecKeyDataKlassGetName()</h3>
+<pre class="programlisting">#define xmlSecKeyDataKlassGetName(klass)</pre>
<p>Macro. Returns data klass name.</p>
-<div class="REFSECT3">
-<a name="AEN10145"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN10147"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecKeyDataKlassGetName.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>klass</p></td>
-<td><p>the data klass.</p></td>
-<td> </td>
+<td class="parameter_name"><p>klass</p></td>
+<td class="parameter_description"><p>the data klass.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYDATALISTGETKLASS"></a><h3>xmlSecKeyDataListGetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecPtrListId</span></font>
-xmlSecKeyDataListGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecKeyDataListGetKlass"></a><h3>xmlSecKeyDataListGetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecPtrListId</span></font>
+xmlSecKeyDataListGetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The key data list klass.</p>
-<div class="REFSECT3">
-<a name="AEN10166"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecKeyDataListGetKlass.returns"></a><h4>Returns</h4>
<p> pointer to the key data list klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYDATAIDLISTGETKLASS"></a><h3>xmlSecKeyDataIdListGetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecPtrListId</span></font>
-xmlSecKeyDataIdListGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecKeyDataIdListGetKlass"></a><h3>xmlSecKeyDataIdListGetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecPtrListId</span></font>
+xmlSecKeyDataIdListGetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The key data id list klass.</p>
-<div class="REFSECT3">
-<a name="AEN10179"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecKeyDataIdListGetKlass.returns"></a><h4>Returns</h4>
<p> pointer to the key data id list klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYDATAIDLISTFIND"></a><h3>xmlSecKeyDataIdListFind ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecKeyDataIdListFind (<code class="PARAMETER"><a href="xmlsec-list.html#XMLSECPTRLIST"><span class="TYPE">xmlSecPtrListPtr</span></a> list</code>,
- <code class="PARAMETER"><font><span class="TYPE">xmlSecKeyDataId</span></font> dataId</code>);</pre>
-<p>Lookups <code class="PARAMETER">dataId</code>
- in <code class="PARAMETER">list</code>
+<div class="refsect2">
+<a name="xmlSecKeyDataIdListFind"></a><h3>xmlSecKeyDataIdListFind ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecKeyDataIdListFind (<em class="parameter"><code><font><span class="type">xmlSecPtrListPtr</span></font> list</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlSecKeyDataId</span></font> dataId</code></em>);</pre>
+<p>Lookups <em class="parameter"><code>dataId</code></em>
+ in <em class="parameter"><code>list</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN10198"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN10200"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecKeyDataIdListFind.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>list</p></td>
-<td><p>the pointer to key data ids list.</p></td>
-<td> </td>
+<td class="parameter_name"><p>list</p></td>
+<td class="parameter_description"><p>the pointer to key data ids list.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>dataId</p></td>
-<td><p>the key data klass.</p></td>
-<td> </td>
+<td class="parameter_name"><p>dataId</p></td>
+<td class="parameter_description"><p>the key data klass.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN10215"></a><h4>Returns</h4>
-<p> 1 if <code class="PARAMETER">dataId</code>
-is found in the <code class="PARAMETER">list</code>
+<div class="refsect3">
+<a name="xmlSecKeyDataIdListFind.returns"></a><h4>Returns</h4>
+<p> 1 if <em class="parameter"><code>dataId</code></em>
+is found in the <em class="parameter"><code>list</code></em>
, 0 if not and a negative
value if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYDATAIDLISTFINDBYNODE"></a><h3>xmlSecKeyDataIdListFindByNode ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecKeyDataId</span></font>
-xmlSecKeyDataIdListFindByNode (<code class="PARAMETER"><a href="xmlsec-list.html#XMLSECPTRLIST"><span class="TYPE">xmlSecPtrListPtr</span></a> list</code>,
- <code class="PARAMETER">const <font><span class="TYPE">xmlChar</span></font> *nodeName</code>,
- <code class="PARAMETER">const <font><span class="TYPE">xmlChar</span></font> *nodeNs</code>,
- <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATAUSAGE"><span class="TYPE">xmlSecKeyDataUsage</span></a> usage</code>);</pre>
-<p>Lookups data klass in the list with given <code class="PARAMETER">nodeName</code>
-, <code class="PARAMETER">nodeNs</code>
+<div class="refsect2">
+<a name="xmlSecKeyDataIdListFindByNode"></a><h3>xmlSecKeyDataIdListFindByNode ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecKeyDataId</span></font>
+xmlSecKeyDataIdListFindByNode (<em class="parameter"><code><font><span class="type">xmlSecPtrListPtr</span></font> list</code></em>,
+ <em class="parameter"><code>const <font><span class="type">xmlChar</span></font> *nodeName</code></em>,
+ <em class="parameter"><code>const <font><span class="type">xmlChar</span></font> *nodeNs</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataUsage" title="xmlSecKeyDataUsage"><span class="type">xmlSecKeyDataUsage</span></a> usage</code></em>);</pre>
+<p>Lookups data klass in the list with given <em class="parameter"><code>nodeName</code></em>
+, <em class="parameter"><code>nodeNs</code></em>
and
-<code class="PARAMETER">usage</code>
- in the <code class="PARAMETER">list</code>
+<em class="parameter"><code>usage</code></em>
+ in the <em class="parameter"><code>list</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN10244"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN10246"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecKeyDataIdListFindByNode.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>list</p></td>
-<td><p>the pointer to key data ids list.</p></td>
-<td> </td>
+<td class="parameter_name"><p>list</p></td>
+<td class="parameter_description"><p>the pointer to key data ids list.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>nodeName</p></td>
-<td><p>the desired key data klass XML node name.</p></td>
-<td> </td>
+<td class="parameter_name"><p>nodeName</p></td>
+<td class="parameter_description"><p>the desired key data klass XML node name.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>nodeNs</p></td>
-<td><p>the desired key data klass XML node namespace.</p></td>
-<td> </td>
+<td class="parameter_name"><p>nodeNs</p></td>
+<td class="parameter_description"><p>the desired key data klass XML node namespace.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>usage</p></td>
-<td><p>the desired key data usage.</p></td>
-<td> </td>
+<td class="parameter_name"><p>usage</p></td>
+<td class="parameter_description"><p>the desired key data usage.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN10273"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecKeyDataIdListFindByNode.returns"></a><h4>Returns</h4>
<p> key data klass is found and NULL otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYDATAIDLISTFINDBYHREF"></a><h3>xmlSecKeyDataIdListFindByHref ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecKeyDataId</span></font>
-xmlSecKeyDataIdListFindByHref (<code class="PARAMETER"><a href="xmlsec-list.html#XMLSECPTRLIST"><span class="TYPE">xmlSecPtrListPtr</span></a> list</code>,
- <code class="PARAMETER">const <font><span class="TYPE">xmlChar</span></font> *href</code>,
- <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATAUSAGE"><span class="TYPE">xmlSecKeyDataUsage</span></a> usage</code>);</pre>
-<p>Lookups data klass in the list with given <code class="PARAMETER">href</code>
- and <code class="PARAMETER">usage</code>
- in <code class="PARAMETER">list</code>
+<div class="refsect2">
+<a name="xmlSecKeyDataIdListFindByHref"></a><h3>xmlSecKeyDataIdListFindByHref ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecKeyDataId</span></font>
+xmlSecKeyDataIdListFindByHref (<em class="parameter"><code><font><span class="type">xmlSecPtrListPtr</span></font> list</code></em>,
+ <em class="parameter"><code>const <font><span class="type">xmlChar</span></font> *href</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataUsage" title="xmlSecKeyDataUsage"><span class="type">xmlSecKeyDataUsage</span></a> usage</code></em>);</pre>
+<p>Lookups data klass in the list with given <em class="parameter"><code>href</code></em>
+ and <em class="parameter"><code>usage</code></em>
+ in <em class="parameter"><code>list</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN10296"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN10298"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecKeyDataIdListFindByHref.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>list</p></td>
-<td><p>the pointer to key data ids list.</p></td>
-<td> </td>
+<td class="parameter_name"><p>list</p></td>
+<td class="parameter_description"><p>the pointer to key data ids list.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>href</p></td>
-<td><p>the desired key data klass href.</p></td>
-<td> </td>
+<td class="parameter_name"><p>href</p></td>
+<td class="parameter_description"><p>the desired key data klass href.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>usage</p></td>
-<td><p>the desired key data usage.</p></td>
-<td> </td>
+<td class="parameter_name"><p>usage</p></td>
+<td class="parameter_description"><p>the desired key data usage.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN10319"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecKeyDataIdListFindByHref.returns"></a><h4>Returns</h4>
<p> key data klass is found and NULL otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYDATAIDLISTFINDBYNAME"></a><h3>xmlSecKeyDataIdListFindByName ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecKeyDataId</span></font>
-xmlSecKeyDataIdListFindByName (<code class="PARAMETER"><a href="xmlsec-list.html#XMLSECPTRLIST"><span class="TYPE">xmlSecPtrListPtr</span></a> list</code>,
- <code class="PARAMETER">const <font><span class="TYPE">xmlChar</span></font> *name</code>,
- <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATAUSAGE"><span class="TYPE">xmlSecKeyDataUsage</span></a> usage</code>);</pre>
-<p>Lookups data klass in the list with given <code class="PARAMETER">name</code>
- and <code class="PARAMETER">usage</code>
- in <code class="PARAMETER">list</code>
+<div class="refsect2">
+<a name="xmlSecKeyDataIdListFindByName"></a><h3>xmlSecKeyDataIdListFindByName ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecKeyDataId</span></font>
+xmlSecKeyDataIdListFindByName (<em class="parameter"><code><font><span class="type">xmlSecPtrListPtr</span></font> list</code></em>,
+ <em class="parameter"><code>const <font><span class="type">xmlChar</span></font> *name</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataUsage" title="xmlSecKeyDataUsage"><span class="type">xmlSecKeyDataUsage</span></a> usage</code></em>);</pre>
+<p>Lookups data klass in the list with given <em class="parameter"><code>name</code></em>
+ and <em class="parameter"><code>usage</code></em>
+ in <em class="parameter"><code>list</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN10342"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN10344"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecKeyDataIdListFindByName.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>list</p></td>
-<td><p>the pointer to key data ids list.</p></td>
-<td> </td>
+<td class="parameter_name"><p>list</p></td>
+<td class="parameter_description"><p>the pointer to key data ids list.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>name</p></td>
-<td><p>the desired key data klass name.</p></td>
-<td> </td>
+<td class="parameter_name"><p>name</p></td>
+<td class="parameter_description"><p>the desired key data klass name.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>usage</p></td>
-<td><p>the desired key data usage.</p></td>
-<td> </td>
+<td class="parameter_name"><p>usage</p></td>
+<td class="parameter_description"><p>the desired key data usage.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN10365"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecKeyDataIdListFindByName.returns"></a><h4>Returns</h4>
<p> key data klass is found and NULL otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYDATAIDLISTDEBUGDUMP"></a><h3>xmlSecKeyDataIdListDebugDump ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">void</span></font>
-xmlSecKeyDataIdListDebugDump (<code class="PARAMETER"><a href="xmlsec-list.html#XMLSECPTRLIST"><span class="TYPE">xmlSecPtrListPtr</span></a> list</code>,
- <code class="PARAMETER"><font><span class="TYPE">FILE</span></font> *output</code>);</pre>
-<p>Prints binary key data debug information to <code class="PARAMETER">output</code>
+<div class="refsect2">
+<a name="xmlSecKeyDataIdListDebugDump"></a><h3>xmlSecKeyDataIdListDebugDump ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">void</span></font>
+xmlSecKeyDataIdListDebugDump (<em class="parameter"><code><font><span class="type">xmlSecPtrListPtr</span></font> list</code></em>,
+ <em class="parameter"><code><font><span class="type">FILE</span></font> *output</code></em>);</pre>
+<p>Prints binary key data debug information to <em class="parameter"><code>output</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN10383"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN10385"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecKeyDataIdListDebugDump.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>list</p></td>
-<td><p>the pointer to key data ids list.</p></td>
-<td> </td>
+<td class="parameter_name"><p>list</p></td>
+<td class="parameter_description"><p>the pointer to key data ids list.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>output</p></td>
-<td><p>the pointer to output FILE.</p></td>
-<td> </td>
+<td class="parameter_name"><p>output</p></td>
+<td class="parameter_description"><p>the pointer to output FILE.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYDATAIDLISTDEBUGXMLDUMP"></a><h3>xmlSecKeyDataIdListDebugXmlDump ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">void</span></font>
-xmlSecKeyDataIdListDebugXmlDump (<code class="PARAMETER"><a href="xmlsec-list.html#XMLSECPTRLIST"><span class="TYPE">xmlSecPtrListPtr</span></a> list</code>,
- <code class="PARAMETER"><font><span class="TYPE">FILE</span></font> *output</code>);</pre>
-<p>Prints binary key data debug information to <code class="PARAMETER">output</code>
+<div class="refsect2">
+<a name="xmlSecKeyDataIdListDebugXmlDump"></a><h3>xmlSecKeyDataIdListDebugXmlDump ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">void</span></font>
+xmlSecKeyDataIdListDebugXmlDump (<em class="parameter"><code><font><span class="type">xmlSecPtrListPtr</span></font> list</code></em>,
+ <em class="parameter"><code><font><span class="type">FILE</span></font> *output</code></em>);</pre>
+<p>Prints binary key data debug information to <em class="parameter"><code>output</code></em>
in XML format.</p>
-<div class="REFSECT3">
-<a name="AEN10415"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN10417"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecKeyDataIdListDebugXmlDump.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>list</p></td>
-<td><p>the pointer to key data ids list.</p></td>
-<td> </td>
+<td class="parameter_name"><p>list</p></td>
+<td class="parameter_description"><p>the pointer to key data ids list.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>output</p></td>
-<td><p>the pointer to output FILE.</p></td>
-<td> </td>
+<td class="parameter_name"><p>output</p></td>
+<td class="parameter_description"><p>the pointer to output FILE.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYDATABINARYVALUEINITIALIZE"></a><h3>xmlSecKeyDataBinaryValueInitialize ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecKeyDataBinaryValueInitialize (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecKeyDataBinaryValueInitialize"></a><h3>xmlSecKeyDataBinaryValueInitialize ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecKeyDataBinaryValueInitialize (<em class="parameter"><code><font><span class="type">xmlSecKeyDataPtr</span></font> data</code></em>);</pre>
<p>Initializes key data.</p>
-<div class="REFSECT3">
-<a name="AEN10443"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN10445"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecKeyDataBinaryValueInitialize.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>data</p></td>
-<td><p>the pointer to binary key data.</p></td>
-<td> </td>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the pointer to binary key data.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN10454"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecKeyDataBinaryValueInitialize.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYDATABINARYVALUEDUPLICATE"></a><h3>xmlSecKeyDataBinaryValueDuplicate ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecKeyDataBinaryValueDuplicate (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> dst</code>,
- <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> src</code>);</pre>
-<p>Copies binary key data from <code class="PARAMETER">src</code>
- to <code class="PARAMETER">dst</code>
+<div class="refsect2">
+<a name="xmlSecKeyDataBinaryValueDuplicate"></a><h3>xmlSecKeyDataBinaryValueDuplicate ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecKeyDataBinaryValueDuplicate (<em class="parameter"><code><font><span class="type">xmlSecKeyDataPtr</span></font> dst</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlSecKeyDataPtr</span></font> src</code></em>);</pre>
+<p>Copies binary key data from <em class="parameter"><code>src</code></em>
+ to <em class="parameter"><code>dst</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN10473"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN10475"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecKeyDataBinaryValueDuplicate.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>dst</p></td>
-<td><p>the pointer to destination binary key data.</p></td>
-<td> </td>
+<td class="parameter_name"><p>dst</p></td>
+<td class="parameter_description"><p>the pointer to destination binary key data.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>src</p></td>
-<td><p>the pointer to source binary key data.</p></td>
-<td> </td>
+<td class="parameter_name"><p>src</p></td>
+<td class="parameter_description"><p>the pointer to source binary key data.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN10490"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecKeyDataBinaryValueDuplicate.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYDATABINARYVALUEFINALIZE"></a><h3>xmlSecKeyDataBinaryValueFinalize ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">void</span></font>
-xmlSecKeyDataBinaryValueFinalize (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecKeyDataBinaryValueFinalize"></a><h3>xmlSecKeyDataBinaryValueFinalize ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">void</span></font>
+xmlSecKeyDataBinaryValueFinalize (<em class="parameter"><code><font><span class="type">xmlSecKeyDataPtr</span></font> data</code></em>);</pre>
<p>Cleans up binary key data.</p>
-<div class="REFSECT3">
-<a name="AEN10504"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN10506"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecKeyDataBinaryValueFinalize.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>data</p></td>
-<td><p>the pointer to binary key data.</p></td>
-<td> </td>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the pointer to binary key data.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYDATABINARYVALUEXMLREAD"></a><h3>xmlSecKeyDataBinaryValueXmlRead ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecKeyDataBinaryValueXmlRead (<code class="PARAMETER"><font><span class="TYPE">xmlSecKeyDataId</span></font> id</code>,
- <code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>,
- <code class="PARAMETER"><font><span class="TYPE">xmlNodePtr</span></font> node</code>,
- <code class="PARAMETER"><a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTX"><span class="TYPE">xmlSecKeyInfoCtxPtr</span></a> keyInfoCtx</code>);</pre>
-<p>Reads binary key data from <code class="PARAMETER">node</code>
- to the key by base64 decoding the <code class="PARAMETER">node</code>
+<div class="refsect2">
+<a name="xmlSecKeyDataBinaryValueXmlRead"></a><h3>xmlSecKeyDataBinaryValueXmlRead ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecKeyDataBinaryValueXmlRead (<em class="parameter"><code><font><span class="type">xmlSecKeyDataId</span></font> id</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlSecKeyPtr</span></font> key</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlNodePtr</span></font> node</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlSecKeyInfoCtxPtr</span></font> keyInfoCtx</code></em>);</pre>
+<p>Reads binary key data from <em class="parameter"><code>node</code></em>
+ to the key by base64 decoding the <em class="parameter"><code>node</code></em>
content.</p>
-<div class="REFSECT3">
-<a name="AEN10537"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN10539"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecKeyDataBinaryValueXmlRead.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>id</p></td>
-<td><p>the data klass.</p></td>
-<td> </td>
+<td class="parameter_name"><p>id</p></td>
+<td class="parameter_description"><p>the data klass.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>key</p></td>
-<td><p>the pointer to destination key.</p></td>
-<td> </td>
+<td class="parameter_name"><p>key</p></td>
+<td class="parameter_description"><p>the pointer to destination key.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>node</p></td>
-<td><p>the pointer to an XML node.</p></td>
-<td> </td>
+<td class="parameter_name"><p>node</p></td>
+<td class="parameter_description"><p>the pointer to an XML node.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>keyInfoCtx</p></td>
-<td><p>the pointer to <dsig:KeyInfo/> element processing context.</p></td>
-<td> </td>
+<td class="parameter_name"><p>keyInfoCtx</p></td>
+<td class="parameter_description"><p>the pointer to <dsig:KeyInfo/> element processing context.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN10566"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecKeyDataBinaryValueXmlRead.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYDATABINARYVALUEXMLWRITE"></a><h3>xmlSecKeyDataBinaryValueXmlWrite ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecKeyDataBinaryValueXmlWrite (<code class="PARAMETER"><font><span class="TYPE">xmlSecKeyDataId</span></font> id</code>,
- <code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>,
- <code class="PARAMETER"><font><span class="TYPE">xmlNodePtr</span></font> node</code>,
- <code class="PARAMETER"><a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTX"><span class="TYPE">xmlSecKeyInfoCtxPtr</span></a> keyInfoCtx</code>);</pre>
-<p>Base64 encodes binary key data of klass <code class="PARAMETER">id</code>
- from the <code class="PARAMETER">key</code>
+<div class="refsect2">
+<a name="xmlSecKeyDataBinaryValueXmlWrite"></a><h3>xmlSecKeyDataBinaryValueXmlWrite ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecKeyDataBinaryValueXmlWrite (<em class="parameter"><code><font><span class="type">xmlSecKeyDataId</span></font> id</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlSecKeyPtr</span></font> key</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlNodePtr</span></font> node</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlSecKeyInfoCtxPtr</span></font> keyInfoCtx</code></em>);</pre>
+<p>Base64 encodes binary key data of klass <em class="parameter"><code>id</code></em>
+ from the <em class="parameter"><code>key</code></em>
and
-sets to the <code class="PARAMETER">node</code>
+sets to the <em class="parameter"><code>node</code></em>
content.</p>
-<div class="REFSECT3">
-<a name="AEN10592"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN10594"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecKeyDataBinaryValueXmlWrite.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>id</p></td>
-<td><p>the data klass.</p></td>
-<td> </td>
+<td class="parameter_name"><p>id</p></td>
+<td class="parameter_description"><p>the data klass.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>key</p></td>
-<td><p>the pointer to source key.</p></td>
-<td> </td>
+<td class="parameter_name"><p>key</p></td>
+<td class="parameter_description"><p>the pointer to source key.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>node</p></td>
-<td><p>the pointer to an XML node.</p></td>
-<td> </td>
+<td class="parameter_name"><p>node</p></td>
+<td class="parameter_description"><p>the pointer to an XML node.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>keyInfoCtx</p></td>
-<td><p>the pointer to <dsig:KeyInfo/> element processing context.</p></td>
-<td> </td>
+<td class="parameter_name"><p>keyInfoCtx</p></td>
+<td class="parameter_description"><p>the pointer to <dsig:KeyInfo/> element processing context.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN10621"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecKeyDataBinaryValueXmlWrite.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYDATABINARYVALUEBINREAD"></a><h3>xmlSecKeyDataBinaryValueBinRead ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecKeyDataBinaryValueBinRead (<code class="PARAMETER"><font><span class="TYPE">xmlSecKeyDataId</span></font> id</code>,
- <code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>,
- <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *buf</code>,
- <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> bufSize</code>,
- <code class="PARAMETER"><a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTX"><span class="TYPE">xmlSecKeyInfoCtxPtr</span></a> keyInfoCtx</code>);</pre>
-<p>Reads binary key data of the klass <code class="PARAMETER">id</code>
- from <code class="PARAMETER">buf</code>
- to the <code class="PARAMETER">key</code>
+<div class="refsect2">
+<a name="xmlSecKeyDataBinaryValueBinRead"></a><h3>xmlSecKeyDataBinaryValueBinRead ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecKeyDataBinaryValueBinRead (<em class="parameter"><code><font><span class="type">xmlSecKeyDataId</span></font> id</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlSecKeyPtr</span></font> key</code></em>,
+ <em class="parameter"><code>const <a class="link" href="xmlsec-xmlsec.html#xmlSecByte" title="xmlSecByte"><span class="type">xmlSecByte</span></a> *buf</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="type">xmlSecSize</span></a> bufSize</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlSecKeyInfoCtxPtr</span></font> keyInfoCtx</code></em>);</pre>
+<p>Reads binary key data of the klass <em class="parameter"><code>id</code></em>
+ from <em class="parameter"><code>buf</code></em>
+ to the <em class="parameter"><code>key</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN10650"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN10652"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecKeyDataBinaryValueBinRead.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>id</p></td>
-<td><p>the data klass.</p></td>
-<td> </td>
+<td class="parameter_name"><p>id</p></td>
+<td class="parameter_description"><p>the data klass.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>key</p></td>
-<td><p>the pointer to destination key.</p></td>
-<td> </td>
+<td class="parameter_name"><p>key</p></td>
+<td class="parameter_description"><p>the pointer to destination key.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>buf</p></td>
-<td><p>the source binary buffer.</p></td>
-<td> </td>
+<td class="parameter_name"><p>buf</p></td>
+<td class="parameter_description"><p>the source binary buffer.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>bufSize</p></td>
-<td><p>the source binary buffer size.</p></td>
-<td> </td>
+<td class="parameter_name"><p>bufSize</p></td>
+<td class="parameter_description"><p>the source binary buffer size.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>keyInfoCtx</p></td>
-<td><p>the pointer to <dsig:KeyInfo/> element processing context.</p></td>
-<td> </td>
+<td class="parameter_name"><p>keyInfoCtx</p></td>
+<td class="parameter_description"><p>the pointer to <dsig:KeyInfo/> element processing context.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN10685"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecKeyDataBinaryValueBinRead.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYDATABINARYVALUEBINWRITE"></a><h3>xmlSecKeyDataBinaryValueBinWrite ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecKeyDataBinaryValueBinWrite (<code class="PARAMETER"><font><span class="TYPE">xmlSecKeyDataId</span></font> id</code>,
- <code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>,
- <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> **buf</code>,
- <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> *bufSize</code>,
- <code class="PARAMETER"><a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTX"><span class="TYPE">xmlSecKeyInfoCtxPtr</span></a> keyInfoCtx</code>);</pre>
-<p>Writes binary key data of klass <code class="PARAMETER">id</code>
- from the <code class="PARAMETER">key</code>
- to <code class="PARAMETER">buf</code>
+<div class="refsect2">
+<a name="xmlSecKeyDataBinaryValueBinWrite"></a><h3>xmlSecKeyDataBinaryValueBinWrite ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecKeyDataBinaryValueBinWrite (<em class="parameter"><code><font><span class="type">xmlSecKeyDataId</span></font> id</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlSecKeyPtr</span></font> key</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-xmlsec.html#xmlSecByte" title="xmlSecByte"><span class="type">xmlSecByte</span></a> **buf</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="type">xmlSecSize</span></a> *bufSize</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlSecKeyInfoCtxPtr</span></font> keyInfoCtx</code></em>);</pre>
+<p>Writes binary key data of klass <em class="parameter"><code>id</code></em>
+ from the <em class="parameter"><code>key</code></em>
+ to <em class="parameter"><code>buf</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN10714"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN10716"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecKeyDataBinaryValueBinWrite.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>id</p></td>
-<td><p>the data klass.</p></td>
-<td> </td>
+<td class="parameter_name"><p>id</p></td>
+<td class="parameter_description"><p>the data klass.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>key</p></td>
-<td><p>the pointer to source key.</p></td>
-<td> </td>
+<td class="parameter_name"><p>key</p></td>
+<td class="parameter_description"><p>the pointer to source key.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>buf</p></td>
-<td><p>the destination binary buffer.</p></td>
-<td> </td>
+<td class="parameter_name"><p>buf</p></td>
+<td class="parameter_description"><p>the destination binary buffer.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>bufSize</p></td>
-<td><p>the destination binary buffer size.</p></td>
-<td> </td>
+<td class="parameter_name"><p>bufSize</p></td>
+<td class="parameter_description"><p>the destination binary buffer size.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>keyInfoCtx</p></td>
-<td><p>the pointer to <dsig:KeyInfo/> element processing context.</p></td>
-<td> </td>
+<td class="parameter_name"><p>keyInfoCtx</p></td>
+<td class="parameter_description"><p>the pointer to <dsig:KeyInfo/> element processing context.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN10749"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecKeyDataBinaryValueBinWrite.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYDATABINARYVALUEDEBUGDUMP"></a><h3>xmlSecKeyDataBinaryValueDebugDump ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">void</span></font>
-xmlSecKeyDataBinaryValueDebugDump (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>,
- <code class="PARAMETER"><font><span class="TYPE">FILE</span></font> *output</code>);</pre>
-<p>Prints binary key data debug information to <code class="PARAMETER">output</code>
+<div class="refsect2">
+<a name="xmlSecKeyDataBinaryValueDebugDump"></a><h3>xmlSecKeyDataBinaryValueDebugDump ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">void</span></font>
+xmlSecKeyDataBinaryValueDebugDump (<em class="parameter"><code><font><span class="type">xmlSecKeyDataPtr</span></font> data</code></em>,
+ <em class="parameter"><code><font><span class="type">FILE</span></font> *output</code></em>);</pre>
+<p>Prints binary key data debug information to <em class="parameter"><code>output</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN10767"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN10769"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecKeyDataBinaryValueDebugDump.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>data</p></td>
-<td><p>the pointer to binary key data.</p></td>
-<td> </td>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the pointer to binary key data.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>output</p></td>
-<td><p>the pointer to output FILE.</p></td>
-<td> </td>
+<td class="parameter_name"><p>output</p></td>
+<td class="parameter_description"><p>the pointer to output FILE.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYDATABINARYVALUEDEBUGXMLDUMP"></a><h3>xmlSecKeyDataBinaryValueDebugXmlDump ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">void</span></font>
-xmlSecKeyDataBinaryValueDebugXmlDump (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>,
- <code class="PARAMETER"><font><span class="TYPE">FILE</span></font> *output</code>);</pre>
-<p>Prints binary key data debug information to <code class="PARAMETER">output</code>
+<div class="refsect2">
+<a name="xmlSecKeyDataBinaryValueDebugXmlDump"></a><h3>xmlSecKeyDataBinaryValueDebugXmlDump ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">void</span></font>
+xmlSecKeyDataBinaryValueDebugXmlDump (<em class="parameter"><code><font><span class="type">xmlSecKeyDataPtr</span></font> data</code></em>,
+ <em class="parameter"><code><font><span class="type">FILE</span></font> *output</code></em>);</pre>
+<p>Prints binary key data debug information to <em class="parameter"><code>output</code></em>
in XML format.</p>
-<div class="REFSECT3">
-<a name="AEN10799"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN10801"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecKeyDataBinaryValueDebugXmlDump.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>data</p></td>
-<td><p>the pointer to binary key data.</p></td>
-<td> </td>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the pointer to binary key data.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>output</p></td>
-<td><p>the pointer to output FILE.</p></td>
-<td> </td>
+<td class="parameter_name"><p>output</p></td>
+<td class="parameter_description"><p>the pointer to output FILE.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYDATABINARYVALUEGETSIZE"></a><h3>xmlSecKeyDataBinaryValueGetSize ()</h3>
-<pre class="PROGRAMLISTING"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="RETURNVALUE">xmlSecSize</span></a>
-xmlSecKeyDataBinaryValueGetSize (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecKeyDataBinaryValueGetSize"></a><h3>xmlSecKeyDataBinaryValueGetSize ()</h3>
+<pre class="programlisting"><a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="returnvalue">xmlSecSize</span></a>
+xmlSecKeyDataBinaryValueGetSize (<em class="parameter"><code><font><span class="type">xmlSecKeyDataPtr</span></font> data</code></em>);</pre>
<p>Gets the binary key data size.</p>
-<div class="REFSECT3">
-<a name="AEN10827"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN10829"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecKeyDataBinaryValueGetSize.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>data</p></td>
-<td><p>the pointer to binary key data.</p></td>
-<td> </td>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the pointer to binary key data.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN10838"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecKeyDataBinaryValueGetSize.returns"></a><h4>Returns</h4>
<p> binary key data size in bits.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYDATABINARYVALUEGETBUFFER"></a><h3>xmlSecKeyDataBinaryValueGetBuffer ()</h3>
-<pre class="PROGRAMLISTING"><a href="xmlsec-buffer.html#XMLSECBUFFER"><span class="RETURNVALUE">xmlSecBufferPtr</span></a>
-xmlSecKeyDataBinaryValueGetBuffer (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecKeyDataBinaryValueGetBuffer"></a><h3>xmlSecKeyDataBinaryValueGetBuffer ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecBufferPtr</span></font>
+xmlSecKeyDataBinaryValueGetBuffer (<em class="parameter"><code><font><span class="type">xmlSecKeyDataPtr</span></font> data</code></em>);</pre>
<p>Gets the binary key data buffer.</p>
-<div class="REFSECT3">
-<a name="AEN10852"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN10854"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecKeyDataBinaryValueGetBuffer.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>data</p></td>
-<td><p>the pointer to binary key data.</p></td>
-<td> </td>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the pointer to binary key data.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN10863"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecKeyDataBinaryValueGetBuffer.returns"></a><h4>Returns</h4>
<p> pointer to binary key data buffer.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYDATABINARYVALUESETBUFFER"></a><h3>xmlSecKeyDataBinaryValueSetBuffer ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecKeyDataBinaryValueSetBuffer (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>,
- <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *buf</code>,
- <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> bufSize</code>);</pre>
-<p>Sets the value of <code class="PARAMETER">data</code>
- to <code class="PARAMETER">buf</code>
+<div class="refsect2">
+<a name="xmlSecKeyDataBinaryValueSetBuffer"></a><h3>xmlSecKeyDataBinaryValueSetBuffer ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecKeyDataBinaryValueSetBuffer (<em class="parameter"><code><font><span class="type">xmlSecKeyDataPtr</span></font> data</code></em>,
+ <em class="parameter"><code>const <a class="link" href="xmlsec-xmlsec.html#xmlSecByte" title="xmlSecByte"><span class="type">xmlSecByte</span></a> *buf</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="type">xmlSecSize</span></a> bufSize</code></em>);</pre>
+<p>Sets the value of <em class="parameter"><code>data</code></em>
+ to <em class="parameter"><code>buf</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN10885"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN10887"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecKeyDataBinaryValueSetBuffer.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>data</p></td>
-<td><p>the pointer to binary key data.</p></td>
-<td> </td>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the pointer to binary key data.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>buf</p></td>
-<td><p>the pointer to binary buffer.</p></td>
-<td> </td>
+<td class="parameter_name"><p>buf</p></td>
+<td class="parameter_description"><p>the pointer to binary buffer.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>bufSize</p></td>
-<td><p>the binary buffer size.</p></td>
-<td> </td>
+<td class="parameter_name"><p>bufSize</p></td>
+<td class="parameter_description"><p>the binary buffer size.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN10908"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecKeyDataBinaryValueSetBuffer.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYDATASTORECREATE"></a><h3>xmlSecKeyDataStoreCreate ()</h3>
-<pre class="PROGRAMLISTING"><a href="xmlsec-keysdata.html#XMLSECKEYDATASTORE"><span class="RETURNVALUE">xmlSecKeyDataStorePtr</span></a>
-xmlSecKeyDataStoreCreate (<code class="PARAMETER"><font><span class="TYPE">xmlSecKeyDataStoreId</span></font> id</code>);</pre>
-<p>Creates new key data store of the specified klass <code class="PARAMETER">id</code>
+<div class="refsect2">
+<a name="xmlSecKeyDataStoreCreate"></a><h3>xmlSecKeyDataStoreCreate ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecKeyDataStorePtr</span></font>
+xmlSecKeyDataStoreCreate (<em class="parameter"><code><font><span class="type">xmlSecKeyDataStoreId</span></font> id</code></em>);</pre>
+<p>Creates new key data store of the specified klass <em class="parameter"><code>id</code></em>
. Caller is responsible
-for freeing returned object with <a href="xmlsec-keysdata.html#XMLSECKEYDATASTOREDESTROY"><span class="TYPE">xmlSecKeyDataStoreDestroy</span></a> function.</p>
-<div class="REFSECT3">
-<a name="AEN10925"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN10927"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+for freeing returned object with <a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataStoreDestroy" title="xmlSecKeyDataStoreDestroy ()"><span class="type">xmlSecKeyDataStoreDestroy</span></a> function.</p>
+<div class="refsect3">
+<a name="xmlSecKeyDataStoreCreate.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>id</p></td>
-<td><p>the store id.</p></td>
-<td> </td>
+<td class="parameter_name"><p>id</p></td>
+<td class="parameter_description"><p>the store id.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN10936"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecKeyDataStoreCreate.returns"></a><h4>Returns</h4>
<p> the pointer to newly allocated key data store structure
or NULL if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYDATASTOREDESTROY"></a><h3>xmlSecKeyDataStoreDestroy ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">void</span></font>
-xmlSecKeyDataStoreDestroy (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATASTORE"><span class="TYPE">xmlSecKeyDataStorePtr</span></a> store</code>);</pre>
-<p>Destroys the key data store created with <a href="xmlsec-keysdata.html#XMLSECKEYDATASTORECREATE"><span class="TYPE">xmlSecKeyDataStoreCreate</span></a>
+<div class="refsect2">
+<a name="xmlSecKeyDataStoreDestroy"></a><h3>xmlSecKeyDataStoreDestroy ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">void</span></font>
+xmlSecKeyDataStoreDestroy (<em class="parameter"><code><font><span class="type">xmlSecKeyDataStorePtr</span></font> store</code></em>);</pre>
+<p>Destroys the key data store created with <a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataStoreCreate" title="xmlSecKeyDataStoreCreate ()"><span class="type">xmlSecKeyDataStoreCreate</span></a>
function.</p>
-<div class="REFSECT3">
-<a name="AEN10952"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN10954"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecKeyDataStoreDestroy.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>store</p></td>
-<td><p>the pointer to the key data store..</p></td>
-<td> </td>
+<td class="parameter_name"><p>store</p></td>
+<td class="parameter_description"><p>the pointer to the key data store..</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYDATASTOREGETNAME"></a><h3>xmlSecKeyDataStoreGetName()</h3>
-<pre class="PROGRAMLISTING">#define xmlSecKeyDataStoreGetName(store)</pre>
+<div class="refsect2">
+<a name="xmlSecKeyDataStoreGetName"></a><h3>xmlSecKeyDataStoreGetName()</h3>
+<pre class="programlisting">#define xmlSecKeyDataStoreGetName(store)</pre>
<p>Macro. Returns key data store name.</p>
-<div class="REFSECT3">
-<a name="AEN10969"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN10971"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecKeyDataStoreGetName.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>store</p></td>
-<td><p>the pointer to store.</p></td>
-<td> </td>
+<td class="parameter_name"><p>store</p></td>
+<td class="parameter_description"><p>the pointer to store.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYDATASTOREISVALID"></a><h3>xmlSecKeyDataStoreIsValid()</h3>
-<pre class="PROGRAMLISTING">#define xmlSecKeyDataStoreIsValid(store)</pre>
-<p>Macro. Returns 1 if <code class="PARAMETER">store</code>
- is not NULL and <code class="PARAMETER">store->id</code>
+<div class="refsect2">
+<a name="xmlSecKeyDataStoreIsValid"></a><h3>xmlSecKeyDataStoreIsValid()</h3>
+<pre class="programlisting">#define xmlSecKeyDataStoreIsValid(store)</pre>
+<p>Macro. Returns 1 if <em class="parameter"><code>store</code></em>
+ is not NULL and <em class="parameter"><code>store->id</code></em>
is not NULL
or 0 otherwise.</p>
-<div class="REFSECT3">
-<a name="AEN10988"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN10990"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecKeyDataStoreIsValid.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>store</p></td>
-<td><p>the pointer to store.</p></td>
-<td> </td>
+<td class="parameter_name"><p>store</p></td>
+<td class="parameter_description"><p>the pointer to store.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYDATASTORECHECKID"></a><h3>xmlSecKeyDataStoreCheckId()</h3>
-<pre class="PROGRAMLISTING">#define xmlSecKeyDataStoreCheckId(store, storeId)</pre>
-<p>Macro. Returns 1 if <code class="PARAMETER">store</code>
- is valid and <code class="PARAMETER">store</code>
-'s id is equal to <code class="PARAMETER">storeId</code>
+<div class="refsect2">
+<a name="xmlSecKeyDataStoreCheckId"></a><h3>xmlSecKeyDataStoreCheckId()</h3>
+<pre class="programlisting">#define xmlSecKeyDataStoreCheckId(store, storeId)</pre>
+<p>Macro. Returns 1 if <em class="parameter"><code>store</code></em>
+ is valid and <em class="parameter"><code>store</code></em>
+'s id is equal to <em class="parameter"><code>storeId</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN11008"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN11010"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecKeyDataStoreCheckId.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>store</p></td>
-<td><p>the pointer to store.</p></td>
-<td> </td>
+<td class="parameter_name"><p>store</p></td>
+<td class="parameter_description"><p>the pointer to store.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>storeId</p></td>
-<td><p>the store Id.</p></td>
-<td> </td>
+<td class="parameter_name"><p>storeId</p></td>
+<td class="parameter_description"><p>the store Id.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYDATASTORECHECKSIZE"></a><h3>xmlSecKeyDataStoreCheckSize()</h3>
-<pre class="PROGRAMLISTING">#define xmlSecKeyDataStoreCheckSize(store, size)</pre>
-<p>Macro. Returns 1 if <code class="PARAMETER">data</code>
- is valid and <code class="PARAMETER">stores</code>
-'s object has at least <code class="PARAMETER">size</code>
+<div class="refsect2">
+<a name="xmlSecKeyDataStoreCheckSize"></a><h3>xmlSecKeyDataStoreCheckSize()</h3>
+<pre class="programlisting">#define xmlSecKeyDataStoreCheckSize(store, size)</pre>
+<p>Macro. Returns 1 if <em class="parameter"><code>data</code></em>
+ is valid and <em class="parameter"><code>stores</code></em>
+'s object has at least <em class="parameter"><code>size</code></em>
bytes.</p>
-<div class="REFSECT3">
-<a name="AEN11034"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN11036"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecKeyDataStoreCheckSize.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>store</p></td>
-<td><p>the pointer to store.</p></td>
-<td> </td>
+<td class="parameter_name"><p>store</p></td>
+<td class="parameter_description"><p>the pointer to store.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>size</p></td>
-<td><p>the expected size.</p></td>
-<td> </td>
+<td class="parameter_name"><p>size</p></td>
+<td class="parameter_description"><p>the expected size.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYDATASTOREINITIALIZEMETHOD"></a><h3>xmlSecKeyDataStoreInitializeMethod ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-<span class="c_punctuation"><span class="PHRASE">(</span></span>*xmlSecKeyDataStoreInitializeMethod<span class="c_punctuation"><span class="PHRASE">)</span></span> (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATASTORE"><span class="TYPE">xmlSecKeyDataStorePtr</span></a> store</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecKeyDataStoreInitializeMethod"></a><h3>xmlSecKeyDataStoreInitializeMethod ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+<span class="c_punctuation">(</span>*xmlSecKeyDataStoreInitializeMethod<span class="c_punctuation">)</span> (<em class="parameter"><code><font><span class="type">xmlSecKeyDataStorePtr</span></font> store</code></em>);</pre>
<p>Key data store specific initialization method.</p>
-<div class="REFSECT3">
-<a name="AEN11064"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN11066"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecKeyDataStoreInitializeMethod.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>store</p></td>
-<td><p>the data store.</p></td>
-<td> </td>
+<td class="parameter_name"><p>store</p></td>
+<td class="parameter_description"><p>the data store.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN11075"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecKeyDataStoreInitializeMethod.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYDATASTOREFINALIZEMETHOD"></a><h3>xmlSecKeyDataStoreFinalizeMethod ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">void</span></font>
-<span class="c_punctuation"><span class="PHRASE">(</span></span>*xmlSecKeyDataStoreFinalizeMethod<span class="c_punctuation"><span class="PHRASE">)</span></span> (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATASTORE"><span class="TYPE">xmlSecKeyDataStorePtr</span></a> store</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecKeyDataStoreFinalizeMethod"></a><h3>xmlSecKeyDataStoreFinalizeMethod ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">void</span></font>
+<span class="c_punctuation">(</span>*xmlSecKeyDataStoreFinalizeMethod<span class="c_punctuation">)</span> (<em class="parameter"><code><font><span class="type">xmlSecKeyDataStorePtr</span></font> store</code></em>);</pre>
<p>Key data store specific finalization (destroy) method.</p>
-<div class="REFSECT3">
-<a name="AEN11091"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN11093"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecKeyDataStoreFinalizeMethod.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>store</p></td>
-<td><p>the data store.</p></td>
-<td> </td>
+<td class="parameter_name"><p>store</p></td>
+<td class="parameter_description"><p>the data store.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYDATASTOREKLASSGETNAME"></a><h3>xmlSecKeyDataStoreKlassGetName()</h3>
-<pre class="PROGRAMLISTING">#define xmlSecKeyDataStoreKlassGetName(klass)</pre>
+<div class="refsect2">
+<a name="xmlSecKeyDataStoreKlassGetName"></a><h3>xmlSecKeyDataStoreKlassGetName()</h3>
+<pre class="programlisting">#define xmlSecKeyDataStoreKlassGetName(klass)</pre>
<p>Macro. Returns store klass name.</p>
-<div class="REFSECT3">
-<a name="AEN11108"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN11110"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecKeyDataStoreKlassGetName.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>klass</p></td>
-<td><p>the pointer to store klass.</p></td>
-<td> </td>
+<td class="parameter_name"><p>klass</p></td>
+<td class="parameter_description"><p>the pointer to store klass.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYDATASTOREPTRLISTGETKLASS"></a><h3>xmlSecKeyDataStorePtrListGetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecPtrListId</span></font>
-xmlSecKeyDataStorePtrListGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecKeyDataStorePtrListGetKlass"></a><h3>xmlSecKeyDataStorePtrListGetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecPtrListId</span></font>
+xmlSecKeyDataStorePtrListGetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>Key data stores list.</p>
-<div class="REFSECT3">
-<a name="AEN11129"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecKeyDataStorePtrListGetKlass.returns"></a><h4>Returns</h4>
<p> key data stores list klass.</p>
</div>
</div>
</div>
-<div class="REFSECT1">
-<a name="XMLSEC-KEYSDATA.OTHER_DETAILS"></a><h2>Types and Values</h2>
-<div class="REFSECT2">
-<a name="XMLSECKEYDATAUSAGE"></a><h3>xmlSecKeyDataUsage</h3>
-<pre class="PROGRAMLISTING">typedef unsigned int xmlSecKeyDataUsage;</pre>
+<div class="refsect1">
+<a name="xmlsec-keysdata.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="xmlSecKeyDataUsage"></a><h3>xmlSecKeyDataUsage</h3>
+<pre class="programlisting">typedef unsigned int xmlSecKeyDataUsage;
+</pre>
<p>The bits mask that determines possible keys data usage.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYDATAUSAGEUNKNOWN"></a><h3>xmlSecKeyDataUsageUnknown</h3>
-<pre class="PROGRAMLISTING">#define xmlSecKeyDataUsageUnknown 0x00000</pre>
+<div class="refsect2">
+<a name="xmlSecKeyDataUsageUnknown"></a><h3>xmlSecKeyDataUsageUnknown</h3>
+<pre class="programlisting">#define xmlSecKeyDataUsageUnknown 0x00000
+</pre>
<p>The key data usage is unknown.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYDATAUSAGEKEYINFONODEREAD"></a><h3>xmlSecKeyDataUsageKeyInfoNodeRead</h3>
-<pre class="PROGRAMLISTING">#define xmlSecKeyDataUsageKeyInfoNodeRead 0x00001</pre>
+<div class="refsect2">
+<a name="xmlSecKeyDataUsageKeyInfoNodeRead"></a><h3>xmlSecKeyDataUsageKeyInfoNodeRead</h3>
+<pre class="programlisting">#define xmlSecKeyDataUsageKeyInfoNodeRead 0x00001
+</pre>
<p>The key data could be read from a <dsig:KeyInfo/> child.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYDATAUSAGEKEYINFONODEWRITE"></a><h3>xmlSecKeyDataUsageKeyInfoNodeWrite</h3>
-<pre class="PROGRAMLISTING">#define xmlSecKeyDataUsageKeyInfoNodeWrite 0x00002</pre>
+<div class="refsect2">
+<a name="xmlSecKeyDataUsageKeyInfoNodeWrite"></a><h3>xmlSecKeyDataUsageKeyInfoNodeWrite</h3>
+<pre class="programlisting">#define xmlSecKeyDataUsageKeyInfoNodeWrite 0x00002
+</pre>
<p>The key data could be written to a <dsig:KeyInfo /> child.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYDATAUSAGEKEYVALUENODEREAD"></a><h3>xmlSecKeyDataUsageKeyValueNodeRead</h3>
-<pre class="PROGRAMLISTING">#define xmlSecKeyDataUsageKeyValueNodeRead 0x00004</pre>
+<div class="refsect2">
+<a name="xmlSecKeyDataUsageKeyValueNodeRead"></a><h3>xmlSecKeyDataUsageKeyValueNodeRead</h3>
+<pre class="programlisting">#define xmlSecKeyDataUsageKeyValueNodeRead 0x00004
+</pre>
<p>The key data could be read from a <dsig:KeyValue /> child.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYDATAUSAGEKEYVALUENODEWRITE"></a><h3>xmlSecKeyDataUsageKeyValueNodeWrite</h3>
-<pre class="PROGRAMLISTING">#define xmlSecKeyDataUsageKeyValueNodeWrite 0x00008</pre>
+<div class="refsect2">
+<a name="xmlSecKeyDataUsageKeyValueNodeWrite"></a><h3>xmlSecKeyDataUsageKeyValueNodeWrite</h3>
+<pre class="programlisting">#define xmlSecKeyDataUsageKeyValueNodeWrite 0x00008
+</pre>
<p>The key data could be written to a <dsig:KeyValue /> child.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYDATAUSAGERETRIEVALMETHODNODEXML"></a><h3>xmlSecKeyDataUsageRetrievalMethodNodeXml</h3>
-<pre class="PROGRAMLISTING">#define xmlSecKeyDataUsageRetrievalMethodNodeXml 0x00010</pre>
+<div class="refsect2">
+<a name="xmlSecKeyDataUsageRetrievalMethodNodeXml"></a><h3>xmlSecKeyDataUsageRetrievalMethodNodeXml</h3>
+<pre class="programlisting">#define xmlSecKeyDataUsageRetrievalMethodNodeXml 0x00010
+</pre>
<p>The key data could be retrieved using <dsig:RetrievalMethod /> node
in XML format.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYDATAUSAGERETRIEVALMETHODNODEBIN"></a><h3>xmlSecKeyDataUsageRetrievalMethodNodeBin</h3>
-<pre class="PROGRAMLISTING">#define xmlSecKeyDataUsageRetrievalMethodNodeBin 0x00020</pre>
+<div class="refsect2">
+<a name="xmlSecKeyDataUsageRetrievalMethodNodeBin"></a><h3>xmlSecKeyDataUsageRetrievalMethodNodeBin</h3>
+<pre class="programlisting">#define xmlSecKeyDataUsageRetrievalMethodNodeBin 0x00020
+</pre>
<p>The key data could be retrieved using <dsig:RetrievalMethod /> node
in binary format.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYDATAUSAGEANY"></a><h3>xmlSecKeyDataUsageAny</h3>
-<pre class="PROGRAMLISTING">#define xmlSecKeyDataUsageAny 0xFFFFF</pre>
+<div class="refsect2">
+<a name="xmlSecKeyDataUsageAny"></a><h3>xmlSecKeyDataUsageAny</h3>
+<pre class="programlisting">#define xmlSecKeyDataUsageAny 0xFFFFF
+</pre>
<p>Any key data usage.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYDATAUSAGEKEYINFONODE"></a><h3>xmlSecKeyDataUsageKeyInfoNode</h3>
-<pre class="PROGRAMLISTING">#define xmlSecKeyDataUsageKeyInfoNode</pre>
+<div class="refsect2">
+<a name="xmlSecKeyDataUsageKeyInfoNode"></a><h3>xmlSecKeyDataUsageKeyInfoNode</h3>
+<pre class="programlisting">#define xmlSecKeyDataUsageKeyInfoNode</pre>
<p>The key data could be read and written from/to a <dsig:KeyInfo /> child.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYDATAUSAGEKEYVALUENODE"></a><h3>xmlSecKeyDataUsageKeyValueNode</h3>
-<pre class="PROGRAMLISTING">#define xmlSecKeyDataUsageKeyValueNode</pre>
+<div class="refsect2">
+<a name="xmlSecKeyDataUsageKeyValueNode"></a><h3>xmlSecKeyDataUsageKeyValueNode</h3>
+<pre class="programlisting">#define xmlSecKeyDataUsageKeyValueNode</pre>
<p>The key data could be read and written from/to a <dsig:KeyValue /> child.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYDATAUSAGERETRIEVALMETHODNODE"></a><h3>xmlSecKeyDataUsageRetrievalMethodNode</h3>
-<pre class="PROGRAMLISTING">#define xmlSecKeyDataUsageRetrievalMethodNode</pre>
+<div class="refsect2">
+<a name="xmlSecKeyDataUsageRetrievalMethodNode"></a><h3>xmlSecKeyDataUsageRetrievalMethodNode</h3>
+<pre class="programlisting">#define xmlSecKeyDataUsageRetrievalMethodNode</pre>
<p>The key data could be retrieved using <dsig:RetrievalMethod /> node
in any format.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYDATATYPE"></a><h3>xmlSecKeyDataType</h3>
-<pre class="PROGRAMLISTING">typedef unsigned int xmlSecKeyDataType;</pre>
+<div class="refsect2">
+<a name="xmlSecKeyDataType"></a><h3>xmlSecKeyDataType</h3>
+<pre class="programlisting">typedef unsigned int xmlSecKeyDataType;
+</pre>
<p>The key data type (public/private, session/permanet, etc.).</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYDATATYPEUNKNOWN"></a><h3>xmlSecKeyDataTypeUnknown</h3>
-<pre class="PROGRAMLISTING">#define xmlSecKeyDataTypeUnknown 0x0000</pre>
-<p>The key data type is unknown (same as <a href="xmlsec-keysdata.html#XMLSECKEYDATATYPENONE"><span class="TYPE">xmlSecKeyDataTypeNone</span></a>).</p>
+<div class="refsect2">
+<a name="xmlSecKeyDataTypeUnknown"></a><h3>xmlSecKeyDataTypeUnknown</h3>
+<pre class="programlisting">#define xmlSecKeyDataTypeUnknown 0x0000
+</pre>
+<p>The key data type is unknown (same as <a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataTypeNone" title="xmlSecKeyDataTypeNone"><span class="type">xmlSecKeyDataTypeNone</span></a>).</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYDATATYPENONE"></a><h3>xmlSecKeyDataTypeNone</h3>
-<pre class="PROGRAMLISTING">#define xmlSecKeyDataTypeNone xmlSecKeyDataTypeUnknown</pre>
-<p>The key data type is unknown (same as <a href="xmlsec-keysdata.html#XMLSECKEYDATATYPEUNKNOWN"><span class="TYPE">xmlSecKeyDataTypeUnknown</span></a>).</p>
+<div class="refsect2">
+<a name="xmlSecKeyDataTypeNone"></a><h3>xmlSecKeyDataTypeNone</h3>
+<pre class="programlisting">#define xmlSecKeyDataTypeNone xmlSecKeyDataTypeUnknown
+</pre>
+<p>The key data type is unknown (same as <a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataTypeUnknown" title="xmlSecKeyDataTypeUnknown"><span class="type">xmlSecKeyDataTypeUnknown</span></a>).</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYDATATYPEPUBLIC"></a><h3>xmlSecKeyDataTypePublic</h3>
-<pre class="PROGRAMLISTING">#define xmlSecKeyDataTypePublic 0x0001</pre>
+<div class="refsect2">
+<a name="xmlSecKeyDataTypePublic"></a><h3>xmlSecKeyDataTypePublic</h3>
+<pre class="programlisting">#define xmlSecKeyDataTypePublic 0x0001
+</pre>
<p>The key data contain a public key.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYDATATYPEPRIVATE"></a><h3>xmlSecKeyDataTypePrivate</h3>
-<pre class="PROGRAMLISTING">#define xmlSecKeyDataTypePrivate 0x0002</pre>
+<div class="refsect2">
+<a name="xmlSecKeyDataTypePrivate"></a><h3>xmlSecKeyDataTypePrivate</h3>
+<pre class="programlisting">#define xmlSecKeyDataTypePrivate 0x0002
+</pre>
<p>The key data contain a private key.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYDATATYPESYMMETRIC"></a><h3>xmlSecKeyDataTypeSymmetric</h3>
-<pre class="PROGRAMLISTING">#define xmlSecKeyDataTypeSymmetric 0x0004</pre>
+<div class="refsect2">
+<a name="xmlSecKeyDataTypeSymmetric"></a><h3>xmlSecKeyDataTypeSymmetric</h3>
+<pre class="programlisting">#define xmlSecKeyDataTypeSymmetric 0x0004
+</pre>
<p>The key data contain a symmetric key.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYDATATYPESESSION"></a><h3>xmlSecKeyDataTypeSession</h3>
-<pre class="PROGRAMLISTING">#define xmlSecKeyDataTypeSession 0x0008</pre>
+<div class="refsect2">
+<a name="xmlSecKeyDataTypeSession"></a><h3>xmlSecKeyDataTypeSession</h3>
+<pre class="programlisting">#define xmlSecKeyDataTypeSession 0x0008
+</pre>
<p>The key data contain session key (one time key, not stored in keys manager).</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYDATATYPEPERMANENT"></a><h3>xmlSecKeyDataTypePermanent</h3>
-<pre class="PROGRAMLISTING">#define xmlSecKeyDataTypePermanent 0x0010</pre>
+<div class="refsect2">
+<a name="xmlSecKeyDataTypePermanent"></a><h3>xmlSecKeyDataTypePermanent</h3>
+<pre class="programlisting">#define xmlSecKeyDataTypePermanent 0x0010
+</pre>
<p>The key data contain permanent key (stored in keys manager).</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYDATATYPETRUSTED"></a><h3>xmlSecKeyDataTypeTrusted</h3>
-<pre class="PROGRAMLISTING">#define xmlSecKeyDataTypeTrusted 0x0100</pre>
+<div class="refsect2">
+<a name="xmlSecKeyDataTypeTrusted"></a><h3>xmlSecKeyDataTypeTrusted</h3>
+<pre class="programlisting">#define xmlSecKeyDataTypeTrusted 0x0100
+</pre>
<p>The key data is trusted.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYDATATYPEANY"></a><h3>xmlSecKeyDataTypeAny</h3>
-<pre class="PROGRAMLISTING">#define xmlSecKeyDataTypeAny 0xFFFF</pre>
+<div class="refsect2">
+<a name="xmlSecKeyDataTypeAny"></a><h3>xmlSecKeyDataTypeAny</h3>
+<pre class="programlisting">#define xmlSecKeyDataTypeAny 0xFFFF
+</pre>
<p>Any key data.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYDATAFORMAT"></a><h3>enum xmlSecKeyDataFormat</h3>
+<div class="refsect2">
+<a name="xmlSecKeyDataFormat"></a><h3>enum xmlSecKeyDataFormat</h3>
<p>The key data format (binary, der, pem, etc.).</p>
-<div class="REFSECT3">
-<a name="AEN11275"></a><h4>Members</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN11277"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecKeyDataFormat.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="enum_members_name">
+<col class="enum_members_description">
+<col width="200px" class="enum_members_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>xmlSecKeyDataFormatUnknown</p></td>
-<td><p>the key data format is unknown.</p></td>
-<td> </td>
+<td class="enum_member_name"><p><a name="xmlSecKeyDataFormatUnknown"></a>xmlSecKeyDataFormatUnknown</p></td>
+<td class="enum_member_description">
+<p>the key data format is unknown.</p>
+</td>
+<td class="enum_member_annotations"> </td>
</tr>
<tr>
-<td><p>xmlSecKeyDataFormatBinary</p></td>
-<td><p>the binary key data.</p></td>
-<td> </td>
+<td class="enum_member_name"><p><a name="xmlSecKeyDataFormatBinary"></a>xmlSecKeyDataFormatBinary</p></td>
+<td class="enum_member_description">
+<p>the binary key data.</p>
+</td>
+<td class="enum_member_annotations"> </td>
</tr>
<tr>
-<td><p>xmlSecKeyDataFormatPem</p></td>
-<td><p>the PEM key data (cert or public/private key).</p></td>
-<td> </td>
+<td class="enum_member_name"><p><a name="xmlSecKeyDataFormatPem"></a>xmlSecKeyDataFormatPem</p></td>
+<td class="enum_member_description">
+<p>the PEM key data (cert or public/private key).</p>
+</td>
+<td class="enum_member_annotations"> </td>
</tr>
<tr>
-<td><p>xmlSecKeyDataFormatDer</p></td>
-<td><p>the DER key data (cert or public/private key).</p></td>
-<td> </td>
+<td class="enum_member_name"><p><a name="xmlSecKeyDataFormatDer"></a>xmlSecKeyDataFormatDer</p></td>
+<td class="enum_member_description">
+<p>the DER key data (cert or public/private key).</p>
+</td>
+<td class="enum_member_annotations"> </td>
</tr>
<tr>
-<td><p>xmlSecKeyDataFormatPkcs8Pem</p></td>
-<td><p>the PKCS8 PEM private key.</p></td>
-<td> </td>
+<td class="enum_member_name"><p><a name="xmlSecKeyDataFormatPkcs8Pem"></a>xmlSecKeyDataFormatPkcs8Pem</p></td>
+<td class="enum_member_description">
+<p>the PKCS8 PEM private key.</p>
+</td>
+<td class="enum_member_annotations"> </td>
</tr>
<tr>
-<td><p>xmlSecKeyDataFormatPkcs8Der</p></td>
-<td><p>the PKCS8 DER private key.</p></td>
-<td> </td>
+<td class="enum_member_name"><p><a name="xmlSecKeyDataFormatPkcs8Der"></a>xmlSecKeyDataFormatPkcs8Der</p></td>
+<td class="enum_member_description">
+<p>the PKCS8 DER private key.</p>
+</td>
+<td class="enum_member_annotations"> </td>
</tr>
<tr>
-<td><p>xmlSecKeyDataFormatPkcs12</p></td>
-<td><p>the PKCS12 format (bag of keys and certs)</p></td>
-<td> </td>
+<td class="enum_member_name"><p><a name="xmlSecKeyDataFormatPkcs12"></a>xmlSecKeyDataFormatPkcs12</p></td>
+<td class="enum_member_description">
+<p>the PKCS12 format (bag of keys and certs)</p>
+</td>
+<td class="enum_member_annotations"> </td>
</tr>
<tr>
-<td><p>xmlSecKeyDataFormatCertPem</p></td>
-<td><p>the PEM cert.</p></td>
-<td> </td>
+<td class="enum_member_name"><p><a name="xmlSecKeyDataFormatCertPem"></a>xmlSecKeyDataFormatCertPem</p></td>
+<td class="enum_member_description">
+<p>the PEM cert.</p>
+</td>
+<td class="enum_member_annotations"> </td>
</tr>
<tr>
-<td><p>xmlSecKeyDataFormatCertDer</p></td>
-<td><p>the DER cert.</p></td>
-<td> </td>
+<td class="enum_member_name"><p><a name="xmlSecKeyDataFormatCertDer"></a>xmlSecKeyDataFormatCertDer</p></td>
+<td class="enum_member_description">
+<p>the DER cert.</p>
+</td>
+<td class="enum_member_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYDATA"></a><h3>struct xmlSecKeyData</h3>
-<pre class="PROGRAMLISTING">struct xmlSecKeyData {
+<div class="refsect2">
+<a name="xmlSecKeyData"></a><h3>struct xmlSecKeyData</h3>
+<pre class="programlisting">struct xmlSecKeyData {
xmlSecKeyDataId id;
void* reserved0;
void* reserved1;
-};</pre>
+};
+</pre>
<p>The key data: key value (crypto material), x509 data, pgp data, etc.</p>
-<div class="REFSECT3">
-<a name="AEN11340"></a><h4>Members</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN11342"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecKeyData.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="struct_members_name">
+<col class="struct_members_description">
+<col width="200px" class="struct_members_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p><font><span class="TYPE">xmlSecKeyDataId</span></font> <code class="STRUCTFIELD">id</code>;</p></td>
-<td><p>the data id (<font><span class="TYPE">xmlSecKeyDataId</span></font>).</p></td>
-<td> </td>
+<td class="struct_member_name"><p><font><span class="type">xmlSecKeyDataId</span></font> <em class="structfield"><code><a name="xmlSecKeyData.id"></a>id</code></em>;</p></td>
+<td class="struct_member_description"><p>the data id (<font><span class="type">xmlSecKeyDataId</span></font>).</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><font><span class="TYPE">void</span></font> *<code class="STRUCTFIELD">reserved0</code>;</p></td>
-<td><p>reserved for the future.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><font><span class="type">void</span></font> *<em class="structfield"><code><a name="xmlSecKeyData.reserved0"></a>reserved0</code></em>;</p></td>
+<td class="struct_member_description"><p>reserved for the future.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><font><span class="TYPE">void</span></font> *<code class="STRUCTFIELD">reserved1</code>;</p></td>
-<td><p>reserved for the future.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><font><span class="type">void</span></font> *<em class="structfield"><code><a name="xmlSecKeyData.reserved1"></a>reserved1</code></em>;</p></td>
+<td class="struct_member_description"><p>reserved for the future.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
</div>
+<hr>
+<div class="refsect2">
+<a name="xmlSecKeyDataIdUnknown"></a><h3>xmlSecKeyDataIdUnknown</h3>
+<pre class="programlisting">#define xmlSecKeyDataIdUnknown ((xmlSecKeyDataId)NULL)
+</pre>
+<p>The "unknown" id.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYDATAKLASS"></a><h3>struct xmlSecKeyDataKlass</h3>
-<pre class="PROGRAMLISTING">struct xmlSecKeyDataKlass {
+<div class="refsect2">
+<a name="xmlSecKeyDataKlass"></a><h3>struct xmlSecKeyDataKlass</h3>
+<pre class="programlisting">struct xmlSecKeyDataKlass {
xmlSecSize klassSize;
xmlSecSize objSize;
@@ -3143,204 +3147,205 @@ in any format.</p>
/* for the future */
void* reserved0;
void* reserved1;
-};</pre>
+};
+</pre>
<p>The data id (klass).</p>
-<div class="REFSECT3">
-<a name="AEN11380"></a><h4>Members</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN11382"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecKeyDataKlass.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="struct_members_name">
+<col class="struct_members_description">
+<col width="200px" class="struct_members_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> <code class="STRUCTFIELD">klassSize</code>;</p></td>
-<td><p>the klass size.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="type">xmlSecSize</span></a> <em class="structfield"><code><a name="xmlSecKeyDataKlass.klassSize"></a>klassSize</code></em>;</p></td>
+<td class="struct_member_description"><p>the klass size.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> <code class="STRUCTFIELD">objSize</code>;</p></td>
-<td><p>the object size.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="type">xmlSecSize</span></a> <em class="structfield"><code><a name="xmlSecKeyDataKlass.objSize"></a>objSize</code></em>;</p></td>
+<td class="struct_member_description"><p>the object size.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p>const <font><span class="TYPE">xmlChar</span></font> *<code class="STRUCTFIELD">name</code>;</p></td>
-<td><p>the object name.</p></td>
-<td> </td>
+<td class="struct_member_name"><p>const <font><span class="type">xmlChar</span></font> *<em class="structfield"><code><a name="xmlSecKeyDataKlass.name"></a>name</code></em>;</p></td>
+<td class="struct_member_description"><p>the object name.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><a href="xmlsec-keysdata.html#XMLSECKEYDATAUSAGE"><span class="TYPE">xmlSecKeyDataUsage</span></a> <code class="STRUCTFIELD">usage</code>;</p></td>
-<td><p>the allowed data usage.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataUsage" title="xmlSecKeyDataUsage"><span class="type">xmlSecKeyDataUsage</span></a> <em class="structfield"><code><a name="xmlSecKeyDataKlass.usage"></a>usage</code></em>;</p></td>
+<td class="struct_member_description"><p>the allowed data usage.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p>const <font><span class="TYPE">xmlChar</span></font> *<code class="STRUCTFIELD">href</code>;</p></td>
-<td><p>the identification string (href).</p></td>
-<td> </td>
+<td class="struct_member_name"><p>const <font><span class="type">xmlChar</span></font> *<em class="structfield"><code><a name="xmlSecKeyDataKlass.href"></a>href</code></em>;</p></td>
+<td class="struct_member_description"><p>the identification string (href).</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p>const <font><span class="TYPE">xmlChar</span></font> *<code class="STRUCTFIELD">dataNodeName</code>;</p></td>
-<td><p>the data's XML node name.</p></td>
-<td> </td>
+<td class="struct_member_name"><p>const <font><span class="type">xmlChar</span></font> *<em class="structfield"><code><a name="xmlSecKeyDataKlass.dataNodeName"></a>dataNodeName</code></em>;</p></td>
+<td class="struct_member_description"><p>the data's XML node name.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p>const <font><span class="TYPE">xmlChar</span></font> *<code class="STRUCTFIELD">dataNodeNs</code>;</p></td>
-<td><p>the data's XML node namespace.</p></td>
-<td> </td>
+<td class="struct_member_name"><p>const <font><span class="type">xmlChar</span></font> *<em class="structfield"><code><a name="xmlSecKeyDataKlass.dataNodeNs"></a>dataNodeNs</code></em>;</p></td>
+<td class="struct_member_description"><p>the data's XML node namespace.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><a href="xmlsec-keysdata.html#XMLSECKEYDATAINITMETHOD"><span class="TYPE">xmlSecKeyDataInitMethod</span></a> <code class="STRUCTFIELD">initialize</code>;</p></td>
-<td><p>the initialization method.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataInitMethod" title="xmlSecKeyDataInitMethod ()"><span class="type">xmlSecKeyDataInitMethod</span></a> <em class="structfield"><code><a name="xmlSecKeyDataKlass.initialize"></a>initialize</code></em>;</p></td>
+<td class="struct_member_description"><p>the initialization method.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><a href="xmlsec-keysdata.html#XMLSECKEYDATADUPLICATEMETHOD"><span class="TYPE">xmlSecKeyDataDuplicateMethod</span></a> <code class="STRUCTFIELD">duplicate</code>;</p></td>
-<td><p>the duplicate (copy) method.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataDuplicateMethod" title="xmlSecKeyDataDuplicateMethod ()"><span class="type">xmlSecKeyDataDuplicateMethod</span></a> <em class="structfield"><code><a name="xmlSecKeyDataKlass.duplicate"></a>duplicate</code></em>;</p></td>
+<td class="struct_member_description"><p>the duplicate (copy) method.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><a href="xmlsec-keysdata.html#XMLSECKEYDATAFINALIZEMETHOD"><span class="TYPE">xmlSecKeyDataFinalizeMethod</span></a> <code class="STRUCTFIELD">finalize</code>;</p></td>
-<td><p>the finalization (destroy) method.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataFinalizeMethod" title="xmlSecKeyDataFinalizeMethod ()"><span class="type">xmlSecKeyDataFinalizeMethod</span></a> <em class="structfield"><code><a name="xmlSecKeyDataKlass.finalize"></a>finalize</code></em>;</p></td>
+<td class="struct_member_description"><p>the finalization (destroy) method.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><a href="xmlsec-keysdata.html#XMLSECKEYDATAGENERATEMETHOD"><span class="TYPE">xmlSecKeyDataGenerateMethod</span></a> <code class="STRUCTFIELD">generate</code>;</p></td>
-<td><p>the new data generation method.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataGenerateMethod" title="xmlSecKeyDataGenerateMethod ()"><span class="type">xmlSecKeyDataGenerateMethod</span></a> <em class="structfield"><code><a name="xmlSecKeyDataKlass.generate"></a>generate</code></em>;</p></td>
+<td class="struct_member_description"><p>the new data generation method.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><a href="xmlsec-keysdata.html#XMLSECKEYDATAGETTYPEMETHOD"><span class="TYPE">xmlSecKeyDataGetTypeMethod</span></a> <code class="STRUCTFIELD">getType</code>;</p></td>
-<td><p>the method to access data's type information.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataGetTypeMethod" title="xmlSecKeyDataGetTypeMethod ()"><span class="type">xmlSecKeyDataGetTypeMethod</span></a> <em class="structfield"><code><a name="xmlSecKeyDataKlass.getType"></a>getType</code></em>;</p></td>
+<td class="struct_member_description"><p>the method to access data's type information.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><a href="xmlsec-keysdata.html#XMLSECKEYDATAGETSIZEMETHOD"><span class="TYPE">xmlSecKeyDataGetSizeMethod</span></a> <code class="STRUCTFIELD">getSize</code>;</p></td>
-<td><p>the method to access data's size.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataGetSizeMethod" title="xmlSecKeyDataGetSizeMethod ()"><span class="type">xmlSecKeyDataGetSizeMethod</span></a> <em class="structfield"><code><a name="xmlSecKeyDataKlass.getSize"></a>getSize</code></em>;</p></td>
+<td class="struct_member_description"><p>the method to access data's size.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><a href="xmlsec-keysdata.html#XMLSECKEYDATAGETIDENTIFIERMETHOD"><span class="TYPE">xmlSecKeyDataGetIdentifierMethod</span></a> <code class="STRUCTFIELD">getIdentifier</code>;</p></td>
-<td><p>the method to access data's string identifier.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataGetIdentifierMethod" title="xmlSecKeyDataGetIdentifierMethod ()"><span class="type">xmlSecKeyDataGetIdentifierMethod</span></a> <em class="structfield"><code><a name="xmlSecKeyDataKlass.getIdentifier"></a>getIdentifier</code></em>;</p></td>
+<td class="struct_member_description"><p>the method to access data's string identifier.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><a href="xmlsec-keysdata.html#XMLSECKEYDATAXMLREADMETHOD"><span class="TYPE">xmlSecKeyDataXmlReadMethod</span></a> <code class="STRUCTFIELD">xmlRead</code>;</p></td>
-<td><p>the method for reading data from XML node.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataXmlReadMethod" title="xmlSecKeyDataXmlReadMethod ()"><span class="type">xmlSecKeyDataXmlReadMethod</span></a> <em class="structfield"><code><a name="xmlSecKeyDataKlass.xmlRead"></a>xmlRead</code></em>;</p></td>
+<td class="struct_member_description"><p>the method for reading data from XML node.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><a href="xmlsec-keysdata.html#XMLSECKEYDATAXMLWRITEMETHOD"><span class="TYPE">xmlSecKeyDataXmlWriteMethod</span></a> <code class="STRUCTFIELD">xmlWrite</code>;</p></td>
-<td><p>the method for writing data to XML node.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataXmlWriteMethod" title="xmlSecKeyDataXmlWriteMethod ()"><span class="type">xmlSecKeyDataXmlWriteMethod</span></a> <em class="structfield"><code><a name="xmlSecKeyDataKlass.xmlWrite"></a>xmlWrite</code></em>;</p></td>
+<td class="struct_member_description"><p>the method for writing data to XML node.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><a href="xmlsec-keysdata.html#XMLSECKEYDATABINREADMETHOD"><span class="TYPE">xmlSecKeyDataBinReadMethod</span></a> <code class="STRUCTFIELD">binRead</code>;</p></td>
-<td><p>the method for reading data from a binary buffer.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataBinReadMethod" title="xmlSecKeyDataBinReadMethod ()"><span class="type">xmlSecKeyDataBinReadMethod</span></a> <em class="structfield"><code><a name="xmlSecKeyDataKlass.binRead"></a>binRead</code></em>;</p></td>
+<td class="struct_member_description"><p>the method for reading data from a binary buffer.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><a href="xmlsec-keysdata.html#XMLSECKEYDATABINWRITEMETHOD"><span class="TYPE">xmlSecKeyDataBinWriteMethod</span></a> <code class="STRUCTFIELD">binWrite</code>;</p></td>
-<td><p>the method for writing data to binary buffer.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataBinWriteMethod" title="xmlSecKeyDataBinWriteMethod ()"><span class="type">xmlSecKeyDataBinWriteMethod</span></a> <em class="structfield"><code><a name="xmlSecKeyDataKlass.binWrite"></a>binWrite</code></em>;</p></td>
+<td class="struct_member_description"><p>the method for writing data to binary buffer.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><a href="xmlsec-keysdata.html#XMLSECKEYDATADEBUGDUMPMETHOD"><span class="TYPE">xmlSecKeyDataDebugDumpMethod</span></a> <code class="STRUCTFIELD">debugDump</code>;</p></td>
-<td><p>the method for printing debug data information.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataDebugDumpMethod" title="xmlSecKeyDataDebugDumpMethod ()"><span class="type">xmlSecKeyDataDebugDumpMethod</span></a> <em class="structfield"><code><a name="xmlSecKeyDataKlass.debugDump"></a>debugDump</code></em>;</p></td>
+<td class="struct_member_description"><p>the method for printing debug data information.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><a href="xmlsec-keysdata.html#XMLSECKEYDATADEBUGDUMPMETHOD"><span class="TYPE">xmlSecKeyDataDebugDumpMethod</span></a> <code class="STRUCTFIELD">debugXmlDump</code>;</p></td>
-<td><p>the method for printing debug data information in XML format.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataDebugDumpMethod" title="xmlSecKeyDataDebugDumpMethod ()"><span class="type">xmlSecKeyDataDebugDumpMethod</span></a> <em class="structfield"><code><a name="xmlSecKeyDataKlass.debugXmlDump"></a>debugXmlDump</code></em>;</p></td>
+<td class="struct_member_description"><p>the method for printing debug data information in XML format.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><font><span class="TYPE">void</span></font> *<code class="STRUCTFIELD">reserved0</code>;</p></td>
-<td><p>reserved for the future.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><font><span class="type">void</span></font> *<em class="structfield"><code><a name="xmlSecKeyDataKlass.reserved0"></a>reserved0</code></em>;</p></td>
+<td class="struct_member_description"><p>reserved for the future.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><font><span class="TYPE">void</span></font> *<code class="STRUCTFIELD">reserved1</code>;</p></td>
-<td><p>reserved for the future.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><font><span class="type">void</span></font> *<em class="structfield"><code><a name="xmlSecKeyDataKlass.reserved1"></a>reserved1</code></em>;</p></td>
+<td class="struct_member_description"><p>reserved for the future.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYDATALISTID"></a><h3>xmlSecKeyDataListId</h3>
-<pre class="PROGRAMLISTING">#define xmlSecKeyDataListId xmlSecKeyDataListGetKlass()</pre>
+<div class="refsect2">
+<a name="xmlSecKeyDataListId"></a><h3>xmlSecKeyDataListId</h3>
+<pre class="programlisting">#define xmlSecKeyDataListId xmlSecKeyDataListGetKlass()
+</pre>
<p>The key data klasses list klass id.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYDATAIDLISTID"></a><h3>xmlSecKeyDataIdListId</h3>
-<pre class="PROGRAMLISTING">#define xmlSecKeyDataIdListId xmlSecKeyDataIdListGetKlass()</pre>
+<div class="refsect2">
+<a name="xmlSecKeyDataIdListId"></a><h3>xmlSecKeyDataIdListId</h3>
+<pre class="programlisting">#define xmlSecKeyDataIdListId xmlSecKeyDataIdListGetKlass()
+</pre>
<p>The key data list klass id.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYDATABINARYSIZE"></a><h3>xmlSecKeyDataBinarySize</h3>
-<pre class="PROGRAMLISTING">#define xmlSecKeyDataBinarySize</pre>
+<div class="refsect2">
+<a name="xmlSecKeyDataBinarySize"></a><h3>xmlSecKeyDataBinarySize</h3>
+<pre class="programlisting">#define xmlSecKeyDataBinarySize</pre>
<p>The binary key data object size.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYDATASTORE"></a><h3>struct xmlSecKeyDataStore</h3>
-<pre class="PROGRAMLISTING">struct xmlSecKeyDataStore {
+<div class="refsect2">
+<a name="xmlSecKeyDataStore"></a><h3>struct xmlSecKeyDataStore</h3>
+<pre class="programlisting">struct xmlSecKeyDataStore {
xmlSecKeyDataStoreId id;
/* for the future */
void* reserved0;
void* reserved1;
-};</pre>
+};
+</pre>
<p>The key data store. Key data store holds common key data specific information
required for key data processing. For example, X509 data store may hold
information about trusted (root) certificates.</p>
-<div class="REFSECT3">
-<a name="AEN11607"></a><h4>Members</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN11609"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecKeyDataStore.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="struct_members_name">
+<col class="struct_members_description">
+<col width="200px" class="struct_members_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p><font><span class="TYPE">xmlSecKeyDataStoreId</span></font> <code class="STRUCTFIELD">id</code>;</p></td>
-<td><p>the store id (<font><span class="TYPE">xmlSecKeyDataStoreId</span></font>).</p></td>
-<td> </td>
+<td class="struct_member_name"><p><font><span class="type">xmlSecKeyDataStoreId</span></font> <em class="structfield"><code><a name="xmlSecKeyDataStore.id"></a>id</code></em>;</p></td>
+<td class="struct_member_description"><p>the store id (<font><span class="type">xmlSecKeyDataStoreId</span></font>).</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><font><span class="TYPE">void</span></font> *<code class="STRUCTFIELD">reserved0</code>;</p></td>
-<td><p>reserved for the future.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><font><span class="type">void</span></font> *<em class="structfield"><code><a name="xmlSecKeyDataStore.reserved0"></a>reserved0</code></em>;</p></td>
+<td class="struct_member_description"><p>reserved for the future.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><font><span class="TYPE">void</span></font> *<code class="STRUCTFIELD">reserved1</code>;</p></td>
-<td><p>reserved for the future.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><font><span class="type">void</span></font> *<em class="structfield"><code><a name="xmlSecKeyDataStore.reserved1"></a>reserved1</code></em>;</p></td>
+<td class="struct_member_description"><p>reserved for the future.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYDATASTOREIDUNKNOWN"></a><h3>xmlSecKeyDataStoreIdUnknown</h3>
-<pre class="PROGRAMLISTING">#define xmlSecKeyDataStoreIdUnknown NULL</pre>
+<div class="refsect2">
+<a name="xmlSecKeyDataStoreIdUnknown"></a><h3>xmlSecKeyDataStoreIdUnknown</h3>
+<pre class="programlisting">#define xmlSecKeyDataStoreIdUnknown NULL
+</pre>
<p>The "unknown" id.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYDATASTOREKLASS"></a><h3>struct xmlSecKeyDataStoreKlass</h3>
-<pre class="PROGRAMLISTING">struct xmlSecKeyDataStoreKlass {
+<div class="refsect2">
+<a name="xmlSecKeyDataStoreKlass"></a><h3>struct xmlSecKeyDataStoreKlass</h3>
+<pre class="programlisting">struct xmlSecKeyDataStoreKlass {
xmlSecSize klassSize;
xmlSecSize objSize;
@@ -3354,69 +3359,68 @@ information about trusted (root) certificates.</p>
/* for the future */
void* reserved0;
void* reserved1;
-};</pre>
+};
+</pre>
<p>The data store id (klass).</p>
-<div class="REFSECT3">
-<a name="AEN11653"></a><h4>Members</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN11655"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecKeyDataStoreKlass.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="struct_members_name">
+<col class="struct_members_description">
+<col width="200px" class="struct_members_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> <code class="STRUCTFIELD">klassSize</code>;</p></td>
-<td><p>the data store klass size.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="type">xmlSecSize</span></a> <em class="structfield"><code><a name="xmlSecKeyDataStoreKlass.klassSize"></a>klassSize</code></em>;</p></td>
+<td class="struct_member_description"><p>the data store klass size.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> <code class="STRUCTFIELD">objSize</code>;</p></td>
-<td><p>the data store obj size.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="type">xmlSecSize</span></a> <em class="structfield"><code><a name="xmlSecKeyDataStoreKlass.objSize"></a>objSize</code></em>;</p></td>
+<td class="struct_member_description"><p>the data store obj size.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p>const <font><span class="TYPE">xmlChar</span></font> *<code class="STRUCTFIELD">name</code>;</p></td>
-<td><p>the store's name.</p></td>
-<td> </td>
+<td class="struct_member_name"><p>const <font><span class="type">xmlChar</span></font> *<em class="structfield"><code><a name="xmlSecKeyDataStoreKlass.name"></a>name</code></em>;</p></td>
+<td class="struct_member_description"><p>the store's name.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><a href="xmlsec-keysdata.html#XMLSECKEYDATASTOREINITIALIZEMETHOD"><span class="TYPE">xmlSecKeyDataStoreInitializeMethod</span></a> <code class="STRUCTFIELD">initialize</code>;</p></td>
-<td><p>the store's initialization method.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataStoreInitializeMethod" title="xmlSecKeyDataStoreInitializeMethod ()"><span class="type">xmlSecKeyDataStoreInitializeMethod</span></a> <em class="structfield"><code><a name="xmlSecKeyDataStoreKlass.initialize"></a>initialize</code></em>;</p></td>
+<td class="struct_member_description"><p>the store's initialization method.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><a href="xmlsec-keysdata.html#XMLSECKEYDATASTOREFINALIZEMETHOD"><span class="TYPE">xmlSecKeyDataStoreFinalizeMethod</span></a> <code class="STRUCTFIELD">finalize</code>;</p></td>
-<td><p>the store's finalization (destroy) method.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataStoreFinalizeMethod" title="xmlSecKeyDataStoreFinalizeMethod ()"><span class="type">xmlSecKeyDataStoreFinalizeMethod</span></a> <em class="structfield"><code><a name="xmlSecKeyDataStoreKlass.finalize"></a>finalize</code></em>;</p></td>
+<td class="struct_member_description"><p>the store's finalization (destroy) method.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><font><span class="TYPE">void</span></font> *<code class="STRUCTFIELD">reserved0</code>;</p></td>
-<td><p>reserved for the future.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><font><span class="type">void</span></font> *<em class="structfield"><code><a name="xmlSecKeyDataStoreKlass.reserved0"></a>reserved0</code></em>;</p></td>
+<td class="struct_member_description"><p>reserved for the future.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><font><span class="TYPE">void</span></font> *<code class="STRUCTFIELD">reserved1</code>;</p></td>
-<td><p>reserved for the future.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><font><span class="type">void</span></font> *<em class="structfield"><code><a name="xmlSecKeyDataStoreKlass.reserved1"></a>reserved1</code></em>;</p></td>
+<td class="struct_member_description"><p>reserved for the future.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYDATASTOREPTRLISTID"></a><h3>xmlSecKeyDataStorePtrListId</h3>
-<pre class="PROGRAMLISTING">#define xmlSecKeyDataStorePtrListId xmlSecKeyDataStorePtrListGetKlass()</pre>
+<div class="refsect2">
+<a name="xmlSecKeyDataStorePtrListId"></a><h3>xmlSecKeyDataStorePtrListId</h3>
+<pre class="programlisting">#define xmlSecKeyDataStorePtrListId xmlSecKeyDataStorePtrListGetKlass()
+</pre>
<p>The data store list id (klass).</p>
</div>
</div>
-<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td align="left"><a accesskey="p" href="xmlsec-keyinfo.html"><b><<< keyinfo</b></a></td>
-<td align="right"><a accesskey="n" href="xmlsec-keys.html"><b>keys >>></b></a></td>
-</tr></table>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
</td></tr></table></td>
</tr></table></body>
</html>
diff --git a/docs/api/xmlsec-keysmngr.html b/docs/api/xmlsec-keysmngr.html
index 04a026d..3e4e9ad 100644
--- a/docs/api/xmlsec-keysmngr.html
+++ b/docs/api/xmlsec-keysmngr.html
@@ -1,41 +1,14 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>keysmngr</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79">
-<link rel="HOME" title="XML Security Library Reference Manual" href="index.html">
-<link rel="UP" title="XML Security Core Library API Reference." href="xmlsec-ref.html">
-<link rel="PREVIOUS" title="keys" href="xmlsec-keys.html">
-<link rel="NEXT" title="list" href="xmlsec-list.html">
-<style type="text/css">.synopsis, .classsynopsis {
- background: #eeeeee;
- border: solid 1px #aaaaaa;
- padding: 0.5em;
-}
-.programlisting {
- background: #eeeeff;
- border: solid 1px #aaaaff;
- padding: 0.5em;
-}
-.variablelist {
- padding: 4px;
- margin-left: 3em;
-}
-.navigation {
- background: #ffeeee;
- border: solid 1px #ffaaaa;
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
-.navigation a {
- color: #770000;
-}
-.navigation a:visited {
- color: #550000;
-}
-.navigation .title {
- font-size: 200%;
-}</style>
+<title>keysmngr: XML Security Library Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="XML Security Library Reference Manual">
+<link rel="up" href="xmlsec-ref.html" title="XML Security Core Library API Reference.">
+<link rel="prev" href="xmlsec-keys.html" title="keys">
+<link rel="next" href="xmlsec-list.html" title="list">
+<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
<style type="text/css">
table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
width: 20em;
@@ -100,1100 +73,1099 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
</table>
</td>
<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent">
-<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td><a accesskey="p" href="xmlsec-keys.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="xmlsec-ref.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description"> <span class="dim">|</span>
+ <a href="#xmlsec-keysmngr.description" class="shortcut">Description</a></span>
+</td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<th width="100%" align="center">XML Security Library Reference Manual</th>
+<td><a accesskey="u" href="xmlsec-ref.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="xmlsec-keys.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="xmlsec-list.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
-<h1>
-<a name="XMLSEC-KEYSMNGR"></a>keysmngr</h1>
-<div class="REFNAMEDIV">
-<a name="AEN13673"></a><h2>Name</h2>keysmngr -- Keys manager object support.</div>
-<div class="REFSECT1">
-<a name="XMLSEC-KEYSMNGR.FUNCTIONS"></a><h2>Functions</h2>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN13678"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
+<div class="refentry">
+<a name="xmlsec-keysmngr"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="xmlsec-keysmngr.top_of_page"></a>keysmngr</span></h2>
+<p>keysmngr — Keys manager object support.</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="xmlsec-keysmngr.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
<tbody>
<tr>
-<td><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="RETURNVALUE">xmlSecKeysMngrPtr</span></a></td>
-<td>
-<a href="xmlsec-keysmngr.html#XMLSECKEYSMNGRCREATE">xmlSecKeysMngrCreate</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecKeysMngrPtr</span></font>
</td>
-</tr>
-<tr>
-<td><font><span class="RETURNVALUE">void</span></font></td>
-<td>
-<a href="xmlsec-keysmngr.html#XMLSECKEYSMNGRDESTROY">xmlSecKeysMngrDestroy</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_name">
+<a class="link" href="xmlsec-keysmngr.html#xmlSecKeysMngrCreate" title="xmlSecKeysMngrCreate ()">xmlSecKeysMngrCreate</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a></td>
-<td>
-<a href="xmlsec-keysmngr.html#XMLSECKEYSMNGRFINDKEY">xmlSecKeysMngrFindKey</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">void</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-keysmngr.html#xmlSecKeysMngrDestroy" title="xmlSecKeysMngrDestroy ()">xmlSecKeysMngrDestroy</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-keysmngr.html#XMLSECKEYSMNGRADOPTKEYSSTORE">xmlSecKeysMngrAdoptKeysStore</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecKeyPtr</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-keysmngr.html#xmlSecKeysMngrFindKey" title="xmlSecKeysMngrFindKey ()">xmlSecKeysMngrFindKey</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><a href="xmlsec-keysmngr.html#XMLSECKEYSTORE"><span class="RETURNVALUE">xmlSecKeyStorePtr</span></a></td>
-<td>
-<a href="xmlsec-keysmngr.html#XMLSECKEYSMNGRGETKEYSSTORE">xmlSecKeysMngrGetKeysStore</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-keysmngr.html#xmlSecKeysMngrAdoptKeysStore" title="xmlSecKeysMngrAdoptKeysStore ()">xmlSecKeysMngrAdoptKeysStore</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-keysmngr.html#XMLSECKEYSMNGRADOPTDATASTORE">xmlSecKeysMngrAdoptDataStore</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecKeyStorePtr</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-keysmngr.html#xmlSecKeysMngrGetKeysStore" title="xmlSecKeysMngrGetKeysStore ()">xmlSecKeysMngrGetKeysStore</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><a href="xmlsec-keysdata.html#XMLSECKEYDATASTORE"><span class="RETURNVALUE">xmlSecKeyDataStorePtr</span></a></td>
-<td>
-<a href="xmlsec-keysmngr.html#XMLSECKEYSMNGRGETDATASTORE">xmlSecKeysMngrGetDataStore</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-keysmngr.html#xmlSecKeysMngrAdoptDataStore" title="xmlSecKeysMngrAdoptDataStore ()">xmlSecKeysMngrAdoptDataStore</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a></td>
-<td>
-<span class="c_punctuation"><span class="PHRASE">(</span></span><a href="xmlsec-keysmngr.html#XMLSECGETKEYCALLBACK">*xmlSecGetKeyCallback</a><span class="c_punctuation"><span class="PHRASE">)</span></span> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecKeyDataStorePtr</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-keysmngr.html#xmlSecKeysMngrGetDataStore" title="xmlSecKeysMngrGetDataStore ()">xmlSecKeysMngrGetDataStore</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a></td>
-<td>
-<a href="xmlsec-keysmngr.html#XMLSECKEYSMNGRGETKEY">xmlSecKeysMngrGetKey</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecKeyPtr</span></font>
+</td>
+<td class="function_name">
+<span class="c_punctuation">(</span><a class="link" href="xmlsec-keysmngr.html#xmlSecGetKeyCallback" title="xmlSecGetKeyCallback ()">*xmlSecGetKeyCallback</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><a href="xmlsec-keysmngr.html#XMLSECKEYSTORE"><span class="RETURNVALUE">xmlSecKeyStorePtr</span></a></td>
-<td>
-<a href="xmlsec-keysmngr.html#XMLSECKEYSTORECREATE">xmlSecKeyStoreCreate</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecKeyPtr</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-keysmngr.html#xmlSecKeysMngrGetKey" title="xmlSecKeysMngrGetKey ()">xmlSecKeysMngrGetKey</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">void</span></font></td>
-<td>
-<a href="xmlsec-keysmngr.html#XMLSECKEYSTOREDESTROY">xmlSecKeyStoreDestroy</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecKeyStorePtr</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-keysmngr.html#xmlSecKeyStoreCreate" title="xmlSecKeyStoreCreate ()">xmlSecKeyStoreCreate</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a></td>
-<td>
-<a href="xmlsec-keysmngr.html#XMLSECKEYSTOREFINDKEY">xmlSecKeyStoreFindKey</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">void</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-keysmngr.html#xmlSecKeyStoreDestroy" title="xmlSecKeyStoreDestroy ()">xmlSecKeyStoreDestroy</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td>#define</td>
-<td>
-<a href="xmlsec-keysmngr.html#XMLSECKEYSTOREGETNAME">xmlSecKeyStoreGetName</a><span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecKeyPtr</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-keysmngr.html#xmlSecKeyStoreFindKey" title="xmlSecKeyStoreFindKey ()">xmlSecKeyStoreFindKey</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td>#define</td>
-<td>
-<a href="xmlsec-keysmngr.html#XMLSECKEYSTOREISVALID">xmlSecKeyStoreIsValid</a><span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="define_keyword">#define</td>
+<td class="function_name">
+<a class="link" href="xmlsec-keysmngr.html#xmlSecKeyStoreGetName" title="xmlSecKeyStoreGetName()">xmlSecKeyStoreGetName</a><span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td>#define</td>
-<td>
-<a href="xmlsec-keysmngr.html#XMLSECKEYSTORECHECKID">xmlSecKeyStoreCheckId</a><span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="define_keyword">#define</td>
+<td class="function_name">
+<a class="link" href="xmlsec-keysmngr.html#xmlSecKeyStoreIsValid" title="xmlSecKeyStoreIsValid()">xmlSecKeyStoreIsValid</a><span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td>#define</td>
-<td>
-<a href="xmlsec-keysmngr.html#XMLSECKEYSTORECHECKSIZE">xmlSecKeyStoreCheckSize</a><span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="define_keyword">#define</td>
+<td class="function_name">
+<a class="link" href="xmlsec-keysmngr.html#xmlSecKeyStoreCheckId" title="xmlSecKeyStoreCheckId()">xmlSecKeyStoreCheckId</a><span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-keysmngr.html#XMLSECKEYSTOREIDUNKNOWN">xmlSecKeyStoreIdUnknown</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name">
+<a class="link" href="xmlsec-keysmngr.html#xmlSecKeyStoreCheckSize" title="xmlSecKeyStoreCheckSize()">xmlSecKeyStoreCheckSize</a><span class="c_punctuation">()</span>
+</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<span class="c_punctuation"><span class="PHRASE">(</span></span><a href="xmlsec-keysmngr.html#XMLSECKEYSTOREINITIALIZEMETHOD">*xmlSecKeyStoreInitializeMethod</a><span class="c_punctuation"><span class="PHRASE">)</span></span> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<span class="c_punctuation">(</span><a class="link" href="xmlsec-keysmngr.html#xmlSecKeyStoreInitializeMethod" title="xmlSecKeyStoreInitializeMethod ()">*xmlSecKeyStoreInitializeMethod</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">void</span></font></td>
-<td>
-<span class="c_punctuation"><span class="PHRASE">(</span></span><a href="xmlsec-keysmngr.html#XMLSECKEYSTOREFINALIZEMETHOD">*xmlSecKeyStoreFinalizeMethod</a><span class="c_punctuation"><span class="PHRASE">)</span></span> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">void</span></font>
+</td>
+<td class="function_name">
+<span class="c_punctuation">(</span><a class="link" href="xmlsec-keysmngr.html#xmlSecKeyStoreFinalizeMethod" title="xmlSecKeyStoreFinalizeMethod ()">*xmlSecKeyStoreFinalizeMethod</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a></td>
-<td>
-<span class="c_punctuation"><span class="PHRASE">(</span></span><a href="xmlsec-keysmngr.html#XMLSECKEYSTOREFINDKEYMETHOD">*xmlSecKeyStoreFindKeyMethod</a><span class="c_punctuation"><span class="PHRASE">)</span></span> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecKeyPtr</span></font>
+</td>
+<td class="function_name">
+<span class="c_punctuation">(</span><a class="link" href="xmlsec-keysmngr.html#xmlSecKeyStoreFindKeyMethod" title="xmlSecKeyStoreFindKeyMethod ()">*xmlSecKeyStoreFindKeyMethod</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td>#define</td>
-<td>
-<a href="xmlsec-keysmngr.html#XMLSECKEYSTOREKLASSGETNAME">xmlSecKeyStoreKlassGetName</a><span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="define_keyword">#define</td>
+<td class="function_name">
+<a class="link" href="xmlsec-keysmngr.html#xmlSecKeyStoreKlassGetName" title="xmlSecKeyStoreKlassGetName()">xmlSecKeyStoreKlassGetName</a><span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecKeyStoreId</span></font></td>
-<td>
-<a href="xmlsec-keysmngr.html#XMLSECSIMPLEKEYSSTOREGETKLASS">xmlSecSimpleKeysStoreGetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecKeyStoreId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-keysmngr.html#xmlSecSimpleKeysStoreGetKlass" title="xmlSecSimpleKeysStoreGetKlass ()">xmlSecSimpleKeysStoreGetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-keysmngr.html#XMLSECSIMPLEKEYSSTOREADOPTKEY">xmlSecSimpleKeysStoreAdoptKey</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-keysmngr.html#xmlSecSimpleKeysStoreAdoptKey" title="xmlSecSimpleKeysStoreAdoptKey ()">xmlSecSimpleKeysStoreAdoptKey</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-keysmngr.html#XMLSECSIMPLEKEYSSTORELOAD">xmlSecSimpleKeysStoreLoad</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-keysmngr.html#xmlSecSimpleKeysStoreLoad" title="xmlSecSimpleKeysStoreLoad ()">xmlSecSimpleKeysStoreLoad</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-keysmngr.html#XMLSECSIMPLEKEYSSTORESAVE">xmlSecSimpleKeysStoreSave</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-keysmngr.html#xmlSecSimpleKeysStoreSave" title="xmlSecSimpleKeysStoreSave ()">xmlSecSimpleKeysStoreSave</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><a href="xmlsec-list.html#XMLSECPTRLIST"><span class="RETURNVALUE">xmlSecPtrListPtr</span></a></td>
-<td>
-<a href="xmlsec-keysmngr.html#XMLSECSIMPLEKEYSSTOREGETKEYS">xmlSecSimpleKeysStoreGetKeys</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecPtrListPtr</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-keysmngr.html#xmlSecSimpleKeysStoreGetKeys" title="xmlSecSimpleKeysStoreGetKeys ()">xmlSecSimpleKeysStoreGetKeys</a> <span class="c_punctuation">()</span>
</td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
-</div>
-<div class="REFSECT1">
-<a name="XMLSEC-KEYSMNGR.OTHER"></a><h2>Types and Values</h2>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN13860"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="xmlsec-keysmngr.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
<tbody>
<tr>
-<td>struct</td>
-<td><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR">xmlSecKeysMngr</a></td>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="xmlsec-keysmngr.html#xmlSecKeysMngr" title="struct xmlSecKeysMngr">xmlSecKeysMngr</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="xmlsec-keysmngr.html#xmlSecKeyStore" title="struct xmlSecKeyStore">xmlSecKeyStore</a></td>
</tr>
<tr>
-<td>struct</td>
-<td><a href="xmlsec-keysmngr.html#XMLSECKEYSTORE">xmlSecKeyStore</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-keysmngr.html#xmlSecKeyStoreIdUnknown" title="xmlSecKeyStoreIdUnknown">xmlSecKeyStoreIdUnknown</a></td>
</tr>
<tr>
-<td>struct</td>
-<td><a href="xmlsec-keysmngr.html#XMLSECKEYSTOREKLASS">xmlSecKeyStoreKlass</a></td>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="xmlsec-keysmngr.html#xmlSecKeyStoreKlass" title="struct xmlSecKeyStoreKlass">xmlSecKeyStoreKlass</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-keysmngr.html#XMLSECSIMPLEKEYSSTOREID">xmlSecSimpleKeysStoreId</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-keysmngr.html#xmlSecSimpleKeysStoreId" title="xmlSecSimpleKeysStoreId">xmlSecSimpleKeysStoreId</a></td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
-</div>
-<div class="REFSECT1">
-<a name="XMLSEC-KEYSMNGR.DESCRIPTION"></a><h2>Description</h2>
-<p>Keys manager object support.</p>
-</div>
-<div class="REFSECT1">
-<a name="XMLSEC-KEYSMNGR.FUNCTIONS_DETAILS"></a><h2>Functions</h2>
-<div class="REFSECT2">
-<a name="XMLSECKEYSMNGRCREATE"></a><h3>xmlSecKeysMngrCreate ()</h3>
-<pre class="PROGRAMLISTING"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="RETURNVALUE">xmlSecKeysMngrPtr</span></a>
-xmlSecKeysMngrCreate (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="xmlsec-keysmngr.description"></a><h2>Description</h2>
+<p>
+Keys manager object support.
+</p>
+</div>
+<div class="refsect1">
+<a name="xmlsec-keysmngr.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="xmlSecKeysMngrCreate"></a><h3>xmlSecKeysMngrCreate ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecKeysMngrPtr</span></font>
+xmlSecKeysMngrCreate (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>Creates new keys manager. Caller is responsible for freeing it with
-<a href="xmlsec-keysmngr.html#XMLSECKEYSMNGRDESTROY"><span class="TYPE">xmlSecKeysMngrDestroy</span></a> function.</p>
-<div class="REFSECT3">
-<a name="AEN13896"></a><h4>Returns</h4>
+<a class="link" href="xmlsec-keysmngr.html#xmlSecKeysMngrDestroy" title="xmlSecKeysMngrDestroy ()"><span class="type">xmlSecKeysMngrDestroy</span></a> function.</p>
+<div class="refsect3">
+<a name="xmlSecKeysMngrCreate.returns"></a><h4>Returns</h4>
<p> the pointer to newly allocated keys manager or NULL if
an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYSMNGRDESTROY"></a><h3>xmlSecKeysMngrDestroy ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">void</span></font>
-xmlSecKeysMngrDestroy (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>);</pre>
-<p>Destroys keys manager created with <a href="xmlsec-keysmngr.html#XMLSECKEYSMNGRCREATE"><span class="TYPE">xmlSecKeysMngrCreate</span></a> function.</p>
-<div class="REFSECT3">
-<a name="AEN13912"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN13914"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect2">
+<a name="xmlSecKeysMngrDestroy"></a><h3>xmlSecKeysMngrDestroy ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">void</span></font>
+xmlSecKeysMngrDestroy (<em class="parameter"><code><font><span class="type">xmlSecKeysMngrPtr</span></font> mngr</code></em>);</pre>
+<p>Destroys keys manager created with <a class="link" href="xmlsec-keysmngr.html#xmlSecKeysMngrCreate" title="xmlSecKeysMngrCreate ()"><span class="type">xmlSecKeysMngrCreate</span></a> function.</p>
+<div class="refsect3">
+<a name="xmlSecKeysMngrDestroy.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>mngr</p></td>
-<td><p>the pointer to keys manager.</p></td>
-<td> </td>
+<td class="parameter_name"><p>mngr</p></td>
+<td class="parameter_description"><p>the pointer to keys manager.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYSMNGRFINDKEY"></a><h3>xmlSecKeysMngrFindKey ()</h3>
-<pre class="PROGRAMLISTING"><a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a>
-xmlSecKeysMngrFindKey (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>,
- <code class="PARAMETER">const <font><span class="TYPE">xmlChar</span></font> *name</code>,
- <code class="PARAMETER"><a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTX"><span class="TYPE">xmlSecKeyInfoCtxPtr</span></a> keyInfoCtx</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecKeysMngrFindKey"></a><h3>xmlSecKeysMngrFindKey ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecKeyPtr</span></font>
+xmlSecKeysMngrFindKey (<em class="parameter"><code><font><span class="type">xmlSecKeysMngrPtr</span></font> mngr</code></em>,
+ <em class="parameter"><code>const <font><span class="type">xmlChar</span></font> *name</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlSecKeyInfoCtxPtr</span></font> keyInfoCtx</code></em>);</pre>
<p>Lookups key in the keys manager keys store. The caller is responsible
-for destroying the returned key using <a href="xmlsec-keys.html#XMLSECKEYDESTROY"><span class="TYPE">xmlSecKeyDestroy</span></a> method.</p>
-<div class="REFSECT3">
-<a name="AEN13942"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN13944"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+for destroying the returned key using <a class="link" href="xmlsec-keys.html#xmlSecKeyDestroy" title="xmlSecKeyDestroy ()"><span class="type">xmlSecKeyDestroy</span></a> method.</p>
+<div class="refsect3">
+<a name="xmlSecKeysMngrFindKey.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>mngr</p></td>
-<td><p>the pointer to keys manager.</p></td>
-<td> </td>
+<td class="parameter_name"><p>mngr</p></td>
+<td class="parameter_description"><p>the pointer to keys manager.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>name</p></td>
-<td><p>the desired key name.</p></td>
-<td> </td>
+<td class="parameter_name"><p>name</p></td>
+<td class="parameter_description"><p>the desired key name.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>keyInfoCtx</p></td>
-<td><p>the pointer to <dsig:KeyInfo/> node processing context.</p></td>
-<td> </td>
+<td class="parameter_name"><p>keyInfoCtx</p></td>
+<td class="parameter_description"><p>the pointer to <dsig:KeyInfo/> node processing context.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN13965"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecKeysMngrFindKey.returns"></a><h4>Returns</h4>
<p> the pointer to a key or NULL if key is not found or an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYSMNGRADOPTKEYSSTORE"></a><h3>xmlSecKeysMngrAdoptKeysStore ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecKeysMngrAdoptKeysStore (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>,
- <code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSTORE"><span class="TYPE">xmlSecKeyStorePtr</span></a> store</code>);</pre>
-<p>Adopts keys store in the keys manager <code class="PARAMETER">mngr</code>
+<div class="refsect2">
+<a name="xmlSecKeysMngrAdoptKeysStore"></a><h3>xmlSecKeysMngrAdoptKeysStore ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecKeysMngrAdoptKeysStore (<em class="parameter"><code><font><span class="type">xmlSecKeysMngrPtr</span></font> mngr</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlSecKeyStorePtr</span></font> store</code></em>);</pre>
+<p>Adopts keys store in the keys manager <em class="parameter"><code>mngr</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN13983"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN13985"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecKeysMngrAdoptKeysStore.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>mngr</p></td>
-<td><p>the pointer to keys manager.</p></td>
-<td> </td>
+<td class="parameter_name"><p>mngr</p></td>
+<td class="parameter_description"><p>the pointer to keys manager.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>store</p></td>
-<td><p>the pointer to keys store.</p></td>
-<td> </td>
+<td class="parameter_name"><p>store</p></td>
+<td class="parameter_description"><p>the pointer to keys store.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN14000"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecKeysMngrAdoptKeysStore.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYSMNGRGETKEYSSTORE"></a><h3>xmlSecKeysMngrGetKeysStore ()</h3>
-<pre class="PROGRAMLISTING"><a href="xmlsec-keysmngr.html#XMLSECKEYSTORE"><span class="RETURNVALUE">xmlSecKeyStorePtr</span></a>
-xmlSecKeysMngrGetKeysStore (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecKeysMngrGetKeysStore"></a><h3>xmlSecKeysMngrGetKeysStore ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecKeyStorePtr</span></font>
+xmlSecKeysMngrGetKeysStore (<em class="parameter"><code><font><span class="type">xmlSecKeysMngrPtr</span></font> mngr</code></em>);</pre>
<p>Gets the keys store.</p>
-<div class="REFSECT3">
-<a name="AEN14014"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN14016"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecKeysMngrGetKeysStore.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>mngr</p></td>
-<td><p>the pointer to keys manager.</p></td>
-<td> </td>
+<td class="parameter_name"><p>mngr</p></td>
+<td class="parameter_description"><p>the pointer to keys manager.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN14025"></a><h4>Returns</h4>
-<p> the keys store in the keys manager <code class="PARAMETER">mngr</code>
+<div class="refsect3">
+<a name="xmlSecKeysMngrGetKeysStore.returns"></a><h4>Returns</h4>
+<p> the keys store in the keys manager <em class="parameter"><code>mngr</code></em>
or NULL if
there is no store or an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYSMNGRADOPTDATASTORE"></a><h3>xmlSecKeysMngrAdoptDataStore ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecKeysMngrAdoptDataStore (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>,
- <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATASTORE"><span class="TYPE">xmlSecKeyDataStorePtr</span></a> store</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecKeysMngrAdoptDataStore"></a><h3>xmlSecKeysMngrAdoptDataStore ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecKeysMngrAdoptDataStore (<em class="parameter"><code><font><span class="type">xmlSecKeysMngrPtr</span></font> mngr</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlSecKeyDataStorePtr</span></font> store</code></em>);</pre>
<p>Adopts data store in the keys manager.</p>
-<div class="REFSECT3">
-<a name="AEN14043"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN14045"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecKeysMngrAdoptDataStore.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>mngr</p></td>
-<td><p>the pointer to keys manager.</p></td>
-<td> </td>
+<td class="parameter_name"><p>mngr</p></td>
+<td class="parameter_description"><p>the pointer to keys manager.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>store</p></td>
-<td><p>the pointer to data store.</p></td>
-<td> </td>
+<td class="parameter_name"><p>store</p></td>
+<td class="parameter_description"><p>the pointer to data store.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN14060"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecKeysMngrAdoptDataStore.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYSMNGRGETDATASTORE"></a><h3>xmlSecKeysMngrGetDataStore ()</h3>
-<pre class="PROGRAMLISTING"><a href="xmlsec-keysdata.html#XMLSECKEYDATASTORE"><span class="RETURNVALUE">xmlSecKeyDataStorePtr</span></a>
-xmlSecKeysMngrGetDataStore (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>,
- <code class="PARAMETER"><font><span class="TYPE">xmlSecKeyDataStoreId</span></font> id</code>);</pre>
-<p>Lookups the data store of given klass <code class="PARAMETER">id</code>
+<div class="refsect2">
+<a name="xmlSecKeysMngrGetDataStore"></a><h3>xmlSecKeysMngrGetDataStore ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecKeyDataStorePtr</span></font>
+xmlSecKeysMngrGetDataStore (<em class="parameter"><code><font><span class="type">xmlSecKeysMngrPtr</span></font> mngr</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlSecKeyDataStoreId</span></font> id</code></em>);</pre>
+<p>Lookups the data store of given klass <em class="parameter"><code>id</code></em>
in the keys manager.</p>
-<div class="REFSECT3">
-<a name="AEN14078"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN14080"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecKeysMngrGetDataStore.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>mngr</p></td>
-<td><p>the pointer to keys manager.</p></td>
-<td> </td>
+<td class="parameter_name"><p>mngr</p></td>
+<td class="parameter_description"><p>the pointer to keys manager.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>id</p></td>
-<td><p>the desired data store klass.</p></td>
-<td> </td>
+<td class="parameter_name"><p>id</p></td>
+<td class="parameter_description"><p>the desired data store klass.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN14095"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecKeysMngrGetDataStore.returns"></a><h4>Returns</h4>
<p> pointer to data store or NULL if it is not found or an error
occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGETKEYCALLBACK"></a><h3>xmlSecGetKeyCallback ()</h3>
-<pre class="PROGRAMLISTING"><a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a>
-<span class="c_punctuation"><span class="PHRASE">(</span></span>*xmlSecGetKeyCallback<span class="c_punctuation"><span class="PHRASE">)</span></span> (<code class="PARAMETER"><font><span class="TYPE">xmlNodePtr</span></font> keyInfoNode</code>,
- <code class="PARAMETER"><a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTX"><span class="TYPE">xmlSecKeyInfoCtxPtr</span></a> keyInfoCtx</code>);</pre>
-<p>Reads the <dsig:KeyInfo/> node <code class="PARAMETER">keyInfoNode</code>
+<div class="refsect2">
+<a name="xmlSecGetKeyCallback"></a><h3>xmlSecGetKeyCallback ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecKeyPtr</span></font>
+<span class="c_punctuation">(</span>*xmlSecGetKeyCallback<span class="c_punctuation">)</span> (<em class="parameter"><code><font><span class="type">xmlNodePtr</span></font> keyInfoNode</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlSecKeyInfoCtxPtr</span></font> keyInfoCtx</code></em>);</pre>
+<p>Reads the <dsig:KeyInfo/> node <em class="parameter"><code>keyInfoNode</code></em>
and extracts the key.</p>
-<div class="REFSECT3">
-<a name="AEN14115"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN14117"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecGetKeyCallback.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>keyInfoNode</p></td>
-<td><p>the pointer to <dsig:KeyInfo/> node.</p></td>
-<td> </td>
+<td class="parameter_name"><p>keyInfoNode</p></td>
+<td class="parameter_description"><p>the pointer to <dsig:KeyInfo/> node.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>keyInfoCtx</p></td>
-<td><p>the pointer to <dsig:KeyInfo/> node processing context.</p></td>
-<td> </td>
+<td class="parameter_name"><p>keyInfoCtx</p></td>
+<td class="parameter_description"><p>the pointer to <dsig:KeyInfo/> node processing context.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN14132"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecGetKeyCallback.returns"></a><h4>Returns</h4>
<p> the pointer to key or NULL if the key is not found or
an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYSMNGRGETKEY"></a><h3>xmlSecKeysMngrGetKey ()</h3>
-<pre class="PROGRAMLISTING"><a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a>
-xmlSecKeysMngrGetKey (<code class="PARAMETER"><font><span class="TYPE">xmlNodePtr</span></font> keyInfoNode</code>,
- <code class="PARAMETER"><a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTX"><span class="TYPE">xmlSecKeyInfoCtxPtr</span></a> keyInfoCtx</code>);</pre>
-<p>Reads the <dsig:KeyInfo/> node <code class="PARAMETER">keyInfoNode</code>
+<div class="refsect2">
+<a name="xmlSecKeysMngrGetKey"></a><h3>xmlSecKeysMngrGetKey ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecKeyPtr</span></font>
+xmlSecKeysMngrGetKey (<em class="parameter"><code><font><span class="type">xmlNodePtr</span></font> keyInfoNode</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlSecKeyInfoCtxPtr</span></font> keyInfoCtx</code></em>);</pre>
+<p>Reads the <dsig:KeyInfo/> node <em class="parameter"><code>keyInfoNode</code></em>
and extracts the key.</p>
-<div class="REFSECT3">
-<a name="AEN14150"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN14152"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecKeysMngrGetKey.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>keyInfoNode</p></td>
-<td><p>the pointer to <dsig:KeyInfo/> node.</p></td>
-<td> </td>
+<td class="parameter_name"><p>keyInfoNode</p></td>
+<td class="parameter_description"><p>the pointer to <dsig:KeyInfo/> node.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>keyInfoCtx</p></td>
-<td><p>the pointer to <dsig:KeyInfo/> node processing context.</p></td>
-<td> </td>
+<td class="parameter_name"><p>keyInfoCtx</p></td>
+<td class="parameter_description"><p>the pointer to <dsig:KeyInfo/> node processing context.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN14167"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecKeysMngrGetKey.returns"></a><h4>Returns</h4>
<p> the pointer to key or NULL if the key is not found or
an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYSTORECREATE"></a><h3>xmlSecKeyStoreCreate ()</h3>
-<pre class="PROGRAMLISTING"><a href="xmlsec-keysmngr.html#XMLSECKEYSTORE"><span class="RETURNVALUE">xmlSecKeyStorePtr</span></a>
-xmlSecKeyStoreCreate (<code class="PARAMETER"><font><span class="TYPE">xmlSecKeyStoreId</span></font> id</code>);</pre>
-<p>Creates new store of the specified klass <code class="PARAMETER">klass</code>
+<div class="refsect2">
+<a name="xmlSecKeyStoreCreate"></a><h3>xmlSecKeyStoreCreate ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecKeyStorePtr</span></font>
+xmlSecKeyStoreCreate (<em class="parameter"><code><font><span class="type">xmlSecKeyStoreId</span></font> id</code></em>);</pre>
+<p>Creates new store of the specified klass <em class="parameter"><code>klass</code></em>
. Caller is responsible
-for freeing the returned store by calling <a href="xmlsec-keysmngr.html#XMLSECKEYSTOREDESTROY"><span class="TYPE">xmlSecKeyStoreDestroy</span></a> function.</p>
-<div class="REFSECT3">
-<a name="AEN14184"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN14186"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+for freeing the returned store by calling <a class="link" href="xmlsec-keysmngr.html#xmlSecKeyStoreDestroy" title="xmlSecKeyStoreDestroy ()"><span class="type">xmlSecKeyStoreDestroy</span></a> function.</p>
+<div class="refsect3">
+<a name="xmlSecKeyStoreCreate.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>id</p></td>
-<td><p>the key store klass.</p></td>
-<td> </td>
+<td class="parameter_name"><p>id</p></td>
+<td class="parameter_description"><p>the key store klass.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN14195"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecKeyStoreCreate.returns"></a><h4>Returns</h4>
<p> the pointer to newly allocated keys store or NULL if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYSTOREDESTROY"></a><h3>xmlSecKeyStoreDestroy ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">void</span></font>
-xmlSecKeyStoreDestroy (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSTORE"><span class="TYPE">xmlSecKeyStorePtr</span></a> store</code>);</pre>
-<p>Destroys the store created with <a href="xmlsec-keysmngr.html#XMLSECKEYSTORECREATE"><span class="TYPE">xmlSecKeyStoreCreate</span></a> function.</p>
-<div class="REFSECT3">
-<a name="AEN14211"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN14213"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect2">
+<a name="xmlSecKeyStoreDestroy"></a><h3>xmlSecKeyStoreDestroy ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">void</span></font>
+xmlSecKeyStoreDestroy (<em class="parameter"><code><font><span class="type">xmlSecKeyStorePtr</span></font> store</code></em>);</pre>
+<p>Destroys the store created with <a class="link" href="xmlsec-keysmngr.html#xmlSecKeyStoreCreate" title="xmlSecKeyStoreCreate ()"><span class="type">xmlSecKeyStoreCreate</span></a> function.</p>
+<div class="refsect3">
+<a name="xmlSecKeyStoreDestroy.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>store</p></td>
-<td><p>the pointer to keys store.</p></td>
-<td> </td>
+<td class="parameter_name"><p>store</p></td>
+<td class="parameter_description"><p>the pointer to keys store.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYSTOREFINDKEY"></a><h3>xmlSecKeyStoreFindKey ()</h3>
-<pre class="PROGRAMLISTING"><a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a>
-xmlSecKeyStoreFindKey (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSTORE"><span class="TYPE">xmlSecKeyStorePtr</span></a> store</code>,
- <code class="PARAMETER">const <font><span class="TYPE">xmlChar</span></font> *name</code>,
- <code class="PARAMETER"><a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTX"><span class="TYPE">xmlSecKeyInfoCtxPtr</span></a> keyInfoCtx</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecKeyStoreFindKey"></a><h3>xmlSecKeyStoreFindKey ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecKeyPtr</span></font>
+xmlSecKeyStoreFindKey (<em class="parameter"><code><font><span class="type">xmlSecKeyStorePtr</span></font> store</code></em>,
+ <em class="parameter"><code>const <font><span class="type">xmlChar</span></font> *name</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlSecKeyInfoCtxPtr</span></font> keyInfoCtx</code></em>);</pre>
<p>Lookups key in the store. The caller is responsible for destroying
-the returned key using <a href="xmlsec-keys.html#XMLSECKEYDESTROY"><span class="TYPE">xmlSecKeyDestroy</span></a> method.</p>
-<div class="REFSECT3">
-<a name="AEN14241"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN14243"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+the returned key using <a class="link" href="xmlsec-keys.html#xmlSecKeyDestroy" title="xmlSecKeyDestroy ()"><span class="type">xmlSecKeyDestroy</span></a> method.</p>
+<div class="refsect3">
+<a name="xmlSecKeyStoreFindKey.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>store</p></td>
-<td><p>the pointer to keys store.</p></td>
-<td> </td>
+<td class="parameter_name"><p>store</p></td>
+<td class="parameter_description"><p>the pointer to keys store.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>name</p></td>
-<td><p>the desired key name.</p></td>
-<td> </td>
+<td class="parameter_name"><p>name</p></td>
+<td class="parameter_description"><p>the desired key name.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>keyInfoCtx</p></td>
-<td><p>the pointer to <dsig:KeyInfo/> node processing context.</p></td>
-<td> </td>
+<td class="parameter_name"><p>keyInfoCtx</p></td>
+<td class="parameter_description"><p>the pointer to <dsig:KeyInfo/> node processing context.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN14264"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecKeyStoreFindKey.returns"></a><h4>Returns</h4>
<p> the pointer to a key or NULL if key is not found or an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYSTOREGETNAME"></a><h3>xmlSecKeyStoreGetName()</h3>
-<pre class="PROGRAMLISTING">#define xmlSecKeyStoreGetName(store)</pre>
+<div class="refsect2">
+<a name="xmlSecKeyStoreGetName"></a><h3>xmlSecKeyStoreGetName()</h3>
+<pre class="programlisting">#define xmlSecKeyStoreGetName(store)</pre>
<p>Macro. Returns key store name.</p>
-<div class="REFSECT3">
-<a name="AEN14273"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN14275"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecKeyStoreGetName.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>store</p></td>
-<td><p>the pointer to store.</p></td>
-<td> </td>
+<td class="parameter_name"><p>store</p></td>
+<td class="parameter_description"><p>the pointer to store.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYSTOREISVALID"></a><h3>xmlSecKeyStoreIsValid()</h3>
-<pre class="PROGRAMLISTING">#define xmlSecKeyStoreIsValid(store)</pre>
-<p>Macro. Returns 1 if <code class="PARAMETER">store</code>
- is not NULL and <code class="PARAMETER">store->id</code>
+<div class="refsect2">
+<a name="xmlSecKeyStoreIsValid"></a><h3>xmlSecKeyStoreIsValid()</h3>
+<pre class="programlisting">#define xmlSecKeyStoreIsValid(store)</pre>
+<p>Macro. Returns 1 if <em class="parameter"><code>store</code></em>
+ is not NULL and <em class="parameter"><code>store->id</code></em>
is not NULL
or 0 otherwise.</p>
-<div class="REFSECT3">
-<a name="AEN14292"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN14294"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecKeyStoreIsValid.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>store</p></td>
-<td><p>the pointer to store.</p></td>
-<td> </td>
+<td class="parameter_name"><p>store</p></td>
+<td class="parameter_description"><p>the pointer to store.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYSTORECHECKID"></a><h3>xmlSecKeyStoreCheckId()</h3>
-<pre class="PROGRAMLISTING">#define xmlSecKeyStoreCheckId(store, storeId)</pre>
-<p>Macro. Returns 1 if <code class="PARAMETER">store</code>
- is valid and <code class="PARAMETER">store</code>
-'s id is equal to <code class="PARAMETER">storeId</code>
+<div class="refsect2">
+<a name="xmlSecKeyStoreCheckId"></a><h3>xmlSecKeyStoreCheckId()</h3>
+<pre class="programlisting">#define xmlSecKeyStoreCheckId(store, storeId)</pre>
+<p>Macro. Returns 1 if <em class="parameter"><code>store</code></em>
+ is valid and <em class="parameter"><code>store</code></em>
+'s id is equal to <em class="parameter"><code>storeId</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN14312"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN14314"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecKeyStoreCheckId.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>store</p></td>
-<td><p>the pointer to store.</p></td>
-<td> </td>
+<td class="parameter_name"><p>store</p></td>
+<td class="parameter_description"><p>the pointer to store.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>storeId</p></td>
-<td><p>the store Id.</p></td>
-<td> </td>
+<td class="parameter_name"><p>storeId</p></td>
+<td class="parameter_description"><p>the store Id.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYSTORECHECKSIZE"></a><h3>xmlSecKeyStoreCheckSize()</h3>
-<pre class="PROGRAMLISTING">#define xmlSecKeyStoreCheckSize(store, size)</pre>
-<p>Macro. Returns 1 if <code class="PARAMETER">store</code>
- is valid and <code class="PARAMETER">stores</code>
-'s object has at least <code class="PARAMETER">size</code>
+<div class="refsect2">
+<a name="xmlSecKeyStoreCheckSize"></a><h3>xmlSecKeyStoreCheckSize()</h3>
+<pre class="programlisting">#define xmlSecKeyStoreCheckSize(store, size)</pre>
+<p>Macro. Returns 1 if <em class="parameter"><code>store</code></em>
+ is valid and <em class="parameter"><code>stores</code></em>
+'s object has at least <em class="parameter"><code>size</code></em>
bytes.</p>
-<div class="REFSECT3">
-<a name="AEN14338"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN14340"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecKeyStoreCheckSize.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>store</p></td>
-<td><p>the pointer to store.</p></td>
-<td> </td>
+<td class="parameter_name"><p>store</p></td>
+<td class="parameter_description"><p>the pointer to store.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>size</p></td>
-<td><p>the expected size.</p></td>
-<td> </td>
+<td class="parameter_name"><p>size</p></td>
+<td class="parameter_description"><p>the expected size.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYSTOREIDUNKNOWN"></a><h3>xmlSecKeyStoreIdUnknown</h3>
-<pre class="PROGRAMLISTING">#define xmlSecKeyStoreIdUnknown ((xmlSecKeyDataStoreId)NULL)</pre>
-<p>The "unknown" id.</p>
-</div>
-<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYSTOREINITIALIZEMETHOD"></a><h3>xmlSecKeyStoreInitializeMethod ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-<span class="c_punctuation"><span class="PHRASE">(</span></span>*xmlSecKeyStoreInitializeMethod<span class="c_punctuation"><span class="PHRASE">)</span></span> (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSTORE"><span class="TYPE">xmlSecKeyStorePtr</span></a> store</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecKeyStoreInitializeMethod"></a><h3>xmlSecKeyStoreInitializeMethod ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+<span class="c_punctuation">(</span>*xmlSecKeyStoreInitializeMethod<span class="c_punctuation">)</span> (<em class="parameter"><code><font><span class="type">xmlSecKeyStorePtr</span></font> store</code></em>);</pre>
<p>Keys store specific initialization method.</p>
-<div class="REFSECT3">
-<a name="AEN14374"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN14376"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecKeyStoreInitializeMethod.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>store</p></td>
-<td><p>the store.</p></td>
-<td> </td>
+<td class="parameter_name"><p>store</p></td>
+<td class="parameter_description"><p>the store.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN14385"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecKeyStoreInitializeMethod.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYSTOREFINALIZEMETHOD"></a><h3>xmlSecKeyStoreFinalizeMethod ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">void</span></font>
-<span class="c_punctuation"><span class="PHRASE">(</span></span>*xmlSecKeyStoreFinalizeMethod<span class="c_punctuation"><span class="PHRASE">)</span></span> (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSTORE"><span class="TYPE">xmlSecKeyStorePtr</span></a> store</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecKeyStoreFinalizeMethod"></a><h3>xmlSecKeyStoreFinalizeMethod ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">void</span></font>
+<span class="c_punctuation">(</span>*xmlSecKeyStoreFinalizeMethod<span class="c_punctuation">)</span> (<em class="parameter"><code><font><span class="type">xmlSecKeyStorePtr</span></font> store</code></em>);</pre>
<p>Keys store specific finalization (destroy) method.</p>
-<div class="REFSECT3">
-<a name="AEN14401"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN14403"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecKeyStoreFinalizeMethod.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>store</p></td>
-<td><p>the store.</p></td>
-<td> </td>
+<td class="parameter_name"><p>store</p></td>
+<td class="parameter_description"><p>the store.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYSTOREFINDKEYMETHOD"></a><h3>xmlSecKeyStoreFindKeyMethod ()</h3>
-<pre class="PROGRAMLISTING"><a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a>
-<span class="c_punctuation"><span class="PHRASE">(</span></span>*xmlSecKeyStoreFindKeyMethod<span class="c_punctuation"><span class="PHRASE">)</span></span> (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSTORE"><span class="TYPE">xmlSecKeyStorePtr</span></a> store</code>,
- <code class="PARAMETER">const <font><span class="TYPE">xmlChar</span></font> *name</code>,
- <code class="PARAMETER"><a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTX"><span class="TYPE">xmlSecKeyInfoCtxPtr</span></a> keyInfoCtx</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecKeyStoreFindKeyMethod"></a><h3>xmlSecKeyStoreFindKeyMethod ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecKeyPtr</span></font>
+<span class="c_punctuation">(</span>*xmlSecKeyStoreFindKeyMethod<span class="c_punctuation">)</span> (<em class="parameter"><code><font><span class="type">xmlSecKeyStorePtr</span></font> store</code></em>,
+ <em class="parameter"><code>const <font><span class="type">xmlChar</span></font> *name</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlSecKeyInfoCtxPtr</span></font> keyInfoCtx</code></em>);</pre>
<p>Keys store specific find method. The caller is responsible for destroying
-the returned key using <a href="xmlsec-keys.html#XMLSECKEYDESTROY"><span class="TYPE">xmlSecKeyDestroy</span></a> method.</p>
-<div class="REFSECT3">
-<a name="AEN14433"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN14435"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+the returned key using <a class="link" href="xmlsec-keys.html#xmlSecKeyDestroy" title="xmlSecKeyDestroy ()"><span class="type">xmlSecKeyDestroy</span></a> method.</p>
+<div class="refsect3">
+<a name="xmlSecKeyStoreFindKeyMethod.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>store</p></td>
-<td><p>the store.</p></td>
-<td> </td>
+<td class="parameter_name"><p>store</p></td>
+<td class="parameter_description"><p>the store.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>name</p></td>
-<td><p>the desired key name.</p></td>
-<td> </td>
+<td class="parameter_name"><p>name</p></td>
+<td class="parameter_description"><p>the desired key name.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>keyInfoCtx</p></td>
-<td><p>the pointer to key info context.</p></td>
-<td> </td>
+<td class="parameter_name"><p>keyInfoCtx</p></td>
+<td class="parameter_description"><p>the pointer to key info context.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN14456"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecKeyStoreFindKeyMethod.returns"></a><h4>Returns</h4>
<p> the pointer to a key or NULL if key is not found or an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYSTOREKLASSGETNAME"></a><h3>xmlSecKeyStoreKlassGetName()</h3>
-<pre class="PROGRAMLISTING">#define xmlSecKeyStoreKlassGetName(klass)</pre>
+<div class="refsect2">
+<a name="xmlSecKeyStoreKlassGetName"></a><h3>xmlSecKeyStoreKlassGetName()</h3>
+<pre class="programlisting">#define xmlSecKeyStoreKlassGetName(klass)</pre>
<p>Macro. Returns store klass name.</p>
-<div class="REFSECT3">
-<a name="AEN14465"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN14467"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecKeyStoreKlassGetName.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>klass</p></td>
-<td><p>the pointer to store klass.</p></td>
-<td> </td>
+<td class="parameter_name"><p>klass</p></td>
+<td class="parameter_description"><p>the pointer to store klass.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECSIMPLEKEYSSTOREGETKLASS"></a><h3>xmlSecSimpleKeysStoreGetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecKeyStoreId</span></font>
-xmlSecSimpleKeysStoreGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecSimpleKeysStoreGetKlass"></a><h3>xmlSecSimpleKeysStoreGetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecKeyStoreId</span></font>
+xmlSecSimpleKeysStoreGetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The simple list based keys store klass.</p>
-<div class="REFSECT3">
-<a name="AEN14486"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecSimpleKeysStoreGetKlass.returns"></a><h4>Returns</h4>
<p> simple list based keys store klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECSIMPLEKEYSSTOREADOPTKEY"></a><h3>xmlSecSimpleKeysStoreAdoptKey ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecSimpleKeysStoreAdoptKey (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSTORE"><span class="TYPE">xmlSecKeyStorePtr</span></a> store</code>,
- <code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>);</pre>
-<p>Adds <code class="PARAMETER">key</code>
- to the <code class="PARAMETER">store</code>
+<div class="refsect2">
+<a name="xmlSecSimpleKeysStoreAdoptKey"></a><h3>xmlSecSimpleKeysStoreAdoptKey ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecSimpleKeysStoreAdoptKey (<em class="parameter"><code><font><span class="type">xmlSecKeyStorePtr</span></font> store</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlSecKeyPtr</span></font> key</code></em>);</pre>
+<p>Adds <em class="parameter"><code>key</code></em>
+ to the <em class="parameter"><code>store</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN14505"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN14507"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecSimpleKeysStoreAdoptKey.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>store</p></td>
-<td><p>the pointer to simple keys store.</p></td>
-<td> </td>
+<td class="parameter_name"><p>store</p></td>
+<td class="parameter_description"><p>the pointer to simple keys store.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>key</p></td>
-<td><p>the pointer to key.</p></td>
-<td> </td>
+<td class="parameter_name"><p>key</p></td>
+<td class="parameter_description"><p>the pointer to key.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN14522"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecSimpleKeysStoreAdoptKey.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECSIMPLEKEYSSTORELOAD"></a><h3>xmlSecSimpleKeysStoreLoad ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecSimpleKeysStoreLoad (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSTORE"><span class="TYPE">xmlSecKeyStorePtr</span></a> store</code>,
- <code class="PARAMETER">const <font><span class="TYPE">char</span></font> *uri</code>,
- <code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> keysMngr</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecSimpleKeysStoreLoad"></a><h3>xmlSecSimpleKeysStoreLoad ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecSimpleKeysStoreLoad (<em class="parameter"><code><font><span class="type">xmlSecKeyStorePtr</span></font> store</code></em>,
+ <em class="parameter"><code>const <font><span class="type">char</span></font> *uri</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlSecKeysMngrPtr</span></font> keysMngr</code></em>);</pre>
<p>Reads keys from an XML file.</p>
-<div class="REFSECT3">
-<a name="AEN14542"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN14544"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecSimpleKeysStoreLoad.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>store</p></td>
-<td><p>the pointer to simple keys store.</p></td>
-<td> </td>
+<td class="parameter_name"><p>store</p></td>
+<td class="parameter_description"><p>the pointer to simple keys store.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>uri</p></td>
-<td><p>the filename.</p></td>
-<td> </td>
+<td class="parameter_name"><p>uri</p></td>
+<td class="parameter_description"><p>the filename.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>keysMngr</p></td>
-<td><p>the pointer to associated keys manager.</p></td>
-<td> </td>
+<td class="parameter_name"><p>keysMngr</p></td>
+<td class="parameter_description"><p>the pointer to associated keys manager.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN14565"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecSimpleKeysStoreLoad.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECSIMPLEKEYSSTORESAVE"></a><h3>xmlSecSimpleKeysStoreSave ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecSimpleKeysStoreSave (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSTORE"><span class="TYPE">xmlSecKeyStorePtr</span></a> store</code>,
- <code class="PARAMETER">const <font><span class="TYPE">char</span></font> *filename</code>,
- <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATATYPE"><span class="TYPE">xmlSecKeyDataType</span></a> type</code>);</pre>
-<p>Writes keys from <code class="PARAMETER">store</code>
+<div class="refsect2">
+<a name="xmlSecSimpleKeysStoreSave"></a><h3>xmlSecSimpleKeysStoreSave ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecSimpleKeysStoreSave (<em class="parameter"><code><font><span class="type">xmlSecKeyStorePtr</span></font> store</code></em>,
+ <em class="parameter"><code>const <font><span class="type">char</span></font> *filename</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataType" title="xmlSecKeyDataType"><span class="type">xmlSecKeyDataType</span></a> type</code></em>);</pre>
+<p>Writes keys from <em class="parameter"><code>store</code></em>
to an XML file.</p>
-<div class="REFSECT3">
-<a name="AEN14586"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN14588"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecSimpleKeysStoreSave.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>store</p></td>
-<td><p>the pointer to simple keys store.</p></td>
-<td> </td>
+<td class="parameter_name"><p>store</p></td>
+<td class="parameter_description"><p>the pointer to simple keys store.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>filename</p></td>
-<td><p>the filename.</p></td>
-<td> </td>
+<td class="parameter_name"><p>filename</p></td>
+<td class="parameter_description"><p>the filename.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>type</p></td>
-<td><p>the saved keys type (public, private, ...).</p></td>
-<td> </td>
+<td class="parameter_name"><p>type</p></td>
+<td class="parameter_description"><p>the saved keys type (public, private, ...).</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN14609"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecSimpleKeysStoreSave.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECSIMPLEKEYSSTOREGETKEYS"></a><h3>xmlSecSimpleKeysStoreGetKeys ()</h3>
-<pre class="PROGRAMLISTING"><a href="xmlsec-list.html#XMLSECPTRLIST"><span class="RETURNVALUE">xmlSecPtrListPtr</span></a>
-xmlSecSimpleKeysStoreGetKeys (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSTORE"><span class="TYPE">xmlSecKeyStorePtr</span></a> store</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecSimpleKeysStoreGetKeys"></a><h3>xmlSecSimpleKeysStoreGetKeys ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecPtrListPtr</span></font>
+xmlSecSimpleKeysStoreGetKeys (<em class="parameter"><code><font><span class="type">xmlSecKeyStorePtr</span></font> store</code></em>);</pre>
<p>Gets list of keys from simple keys store.</p>
-<div class="REFSECT3">
-<a name="AEN14623"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN14625"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecSimpleKeysStoreGetKeys.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>store</p></td>
-<td><p>the pointer to simple keys store.</p></td>
-<td> </td>
+<td class="parameter_name"><p>store</p></td>
+<td class="parameter_description"><p>the pointer to simple keys store.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN14634"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecSimpleKeysStoreGetKeys.returns"></a><h4>Returns</h4>
<p> pointer to the list of keys stored in the keys store or NULL
if an error occurs.</p>
</div>
</div>
</div>
-<div class="REFSECT1">
-<a name="XMLSEC-KEYSMNGR.OTHER_DETAILS"></a><h2>Types and Values</h2>
-<div class="REFSECT2">
-<a name="XMLSECKEYSMNGR"></a><h3>struct xmlSecKeysMngr</h3>
-<pre class="PROGRAMLISTING">struct xmlSecKeysMngr {
+<div class="refsect1">
+<a name="xmlsec-keysmngr.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="xmlSecKeysMngr"></a><h3>struct xmlSecKeysMngr</h3>
+<pre class="programlisting">struct xmlSecKeysMngr {
xmlSecKeyStorePtr keysStore;
xmlSecPtrList storesList;
xmlSecGetKeyCallback getKey;
-};</pre>
+};
+</pre>
<p>The keys manager structure.</p>
-<div class="REFSECT3">
-<a name="AEN14645"></a><h4>Members</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN14647"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecKeysMngr.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="struct_members_name">
+<col class="struct_members_description">
+<col width="200px" class="struct_members_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p><a href="xmlsec-keysmngr.html#XMLSECKEYSTORE"><span class="TYPE">xmlSecKeyStorePtr</span></a> <code class="STRUCTFIELD">keysStore</code>;</p></td>
-<td><p>the key store (list of keys known to keys manager).</p></td>
-<td> </td>
+<td class="struct_member_name"><p><font><span class="type">xmlSecKeyStorePtr</span></font> <em class="structfield"><code><a name="xmlSecKeysMngr.keysStore"></a>keysStore</code></em>;</p></td>
+<td class="struct_member_description"><p>the key store (list of keys known to keys manager).</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><a href="xmlsec-list.html#XMLSECPTRLIST"><span class="TYPE">xmlSecPtrList</span></a> <code class="STRUCTFIELD">storesList</code>;</p></td>
-<td><p>the list of key data stores known to keys manager.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><a class="link" href="xmlsec-list.html#xmlSecPtrList" title="struct xmlSecPtrList"><span class="type">xmlSecPtrList</span></a> <em class="structfield"><code><a name="xmlSecKeysMngr.storesList"></a>storesList</code></em>;</p></td>
+<td class="struct_member_description"><p>the list of key data stores known to keys manager.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><a href="xmlsec-keysmngr.html#XMLSECGETKEYCALLBACK"><span class="TYPE">xmlSecGetKeyCallback</span></a> <code class="STRUCTFIELD">getKey</code>;</p></td>
-<td><p>the callback used to read <dsig:KeyInfo/> node.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><a class="link" href="xmlsec-keysmngr.html#xmlSecGetKeyCallback" title="xmlSecGetKeyCallback ()"><span class="type">xmlSecGetKeyCallback</span></a> <em class="structfield"><code><a name="xmlSecKeysMngr.getKey"></a>getKey</code></em>;</p></td>
+<td class="struct_member_description"><p>the callback used to read <dsig:KeyInfo/> node.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYSTORE"></a><h3>struct xmlSecKeyStore</h3>
-<pre class="PROGRAMLISTING">struct xmlSecKeyStore {
+<div class="refsect2">
+<a name="xmlSecKeyStore"></a><h3>struct xmlSecKeyStore</h3>
+<pre class="programlisting">struct xmlSecKeyStore {
xmlSecKeyStoreId id;
/* for the future */
void* reserved0;
void* reserved1;
-};</pre>
+};
+</pre>
<p>The keys store.</p>
-<div class="REFSECT3">
-<a name="AEN14683"></a><h4>Members</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN14685"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecKeyStore.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="struct_members_name">
+<col class="struct_members_description">
+<col width="200px" class="struct_members_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p><font><span class="TYPE">xmlSecKeyStoreId</span></font> <code class="STRUCTFIELD">id</code>;</p></td>
-<td><p>the store id (<font><span class="TYPE">xmlSecKeyStoreId</span></font>).</p></td>
-<td> </td>
+<td class="struct_member_name"><p><font><span class="type">xmlSecKeyStoreId</span></font> <em class="structfield"><code><a name="xmlSecKeyStore.id"></a>id</code></em>;</p></td>
+<td class="struct_member_description"><p>the store id (<font><span class="type">xmlSecKeyStoreId</span></font>).</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><font><span class="TYPE">void</span></font> *<code class="STRUCTFIELD">reserved0</code>;</p></td>
-<td><p>reserved for the future.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><font><span class="type">void</span></font> *<em class="structfield"><code><a name="xmlSecKeyStore.reserved0"></a>reserved0</code></em>;</p></td>
+<td class="struct_member_description"><p>reserved for the future.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><font><span class="TYPE">void</span></font> *<code class="STRUCTFIELD">reserved1</code>;</p></td>
-<td><p>reserved for the future.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><font><span class="type">void</span></font> *<em class="structfield"><code><a name="xmlSecKeyStore.reserved1"></a>reserved1</code></em>;</p></td>
+<td class="struct_member_description"><p>reserved for the future.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
</div>
+<hr>
+<div class="refsect2">
+<a name="xmlSecKeyStoreIdUnknown"></a><h3>xmlSecKeyStoreIdUnknown</h3>
+<pre class="programlisting">#define xmlSecKeyStoreIdUnknown ((xmlSecKeyDataStoreId)NULL)
+</pre>
+<p>The "unknown" id.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECKEYSTOREKLASS"></a><h3>struct xmlSecKeyStoreKlass</h3>
-<pre class="PROGRAMLISTING">struct xmlSecKeyStoreKlass {
+<div class="refsect2">
+<a name="xmlSecKeyStoreKlass"></a><h3>struct xmlSecKeyStoreKlass</h3>
+<pre class="programlisting">struct xmlSecKeyStoreKlass {
xmlSecSize klassSize;
xmlSecSize objSize;
@@ -1208,74 +1180,73 @@ if an error occurs.</p>
/* for the future */
void* reserved0;
void* reserved1;
-};</pre>
+};
+</pre>
<p>The keys store id (klass).</p>
-<div class="REFSECT3">
-<a name="AEN14723"></a><h4>Members</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN14725"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecKeyStoreKlass.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="struct_members_name">
+<col class="struct_members_description">
+<col width="200px" class="struct_members_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> <code class="STRUCTFIELD">klassSize</code>;</p></td>
-<td><p>the store klass size.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="type">xmlSecSize</span></a> <em class="structfield"><code><a name="xmlSecKeyStoreKlass.klassSize"></a>klassSize</code></em>;</p></td>
+<td class="struct_member_description"><p>the store klass size.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> <code class="STRUCTFIELD">objSize</code>;</p></td>
-<td><p>the store obj size.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="type">xmlSecSize</span></a> <em class="structfield"><code><a name="xmlSecKeyStoreKlass.objSize"></a>objSize</code></em>;</p></td>
+<td class="struct_member_description"><p>the store obj size.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p>const <font><span class="TYPE">xmlChar</span></font> *<code class="STRUCTFIELD">name</code>;</p></td>
-<td><p>the store's name.</p></td>
-<td> </td>
+<td class="struct_member_name"><p>const <font><span class="type">xmlChar</span></font> *<em class="structfield"><code><a name="xmlSecKeyStoreKlass.name"></a>name</code></em>;</p></td>
+<td class="struct_member_description"><p>the store's name.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><a href="xmlsec-keysmngr.html#XMLSECKEYSTOREINITIALIZEMETHOD"><span class="TYPE">xmlSecKeyStoreInitializeMethod</span></a> <code class="STRUCTFIELD">initialize</code>;</p></td>
-<td><p>the store's initialization method.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><a class="link" href="xmlsec-keysmngr.html#xmlSecKeyStoreInitializeMethod" title="xmlSecKeyStoreInitializeMethod ()"><span class="type">xmlSecKeyStoreInitializeMethod</span></a> <em class="structfield"><code><a name="xmlSecKeyStoreKlass.initialize"></a>initialize</code></em>;</p></td>
+<td class="struct_member_description"><p>the store's initialization method.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><a href="xmlsec-keysmngr.html#XMLSECKEYSTOREFINALIZEMETHOD"><span class="TYPE">xmlSecKeyStoreFinalizeMethod</span></a> <code class="STRUCTFIELD">finalize</code>;</p></td>
-<td><p>the store's finalization (destroy) method.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><a class="link" href="xmlsec-keysmngr.html#xmlSecKeyStoreFinalizeMethod" title="xmlSecKeyStoreFinalizeMethod ()"><span class="type">xmlSecKeyStoreFinalizeMethod</span></a> <em class="structfield"><code><a name="xmlSecKeyStoreKlass.finalize"></a>finalize</code></em>;</p></td>
+<td class="struct_member_description"><p>the store's finalization (destroy) method.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><a href="xmlsec-keysmngr.html#XMLSECKEYSTOREFINDKEYMETHOD"><span class="TYPE">xmlSecKeyStoreFindKeyMethod</span></a> <code class="STRUCTFIELD">findKey</code>;</p></td>
-<td><p>the store's find method.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><a class="link" href="xmlsec-keysmngr.html#xmlSecKeyStoreFindKeyMethod" title="xmlSecKeyStoreFindKeyMethod ()"><span class="type">xmlSecKeyStoreFindKeyMethod</span></a> <em class="structfield"><code><a name="xmlSecKeyStoreKlass.findKey"></a>findKey</code></em>;</p></td>
+<td class="struct_member_description"><p>the store's find method.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><font><span class="TYPE">void</span></font> *<code class="STRUCTFIELD">reserved0</code>;</p></td>
-<td><p>reserved for the future.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><font><span class="type">void</span></font> *<em class="structfield"><code><a name="xmlSecKeyStoreKlass.reserved0"></a>reserved0</code></em>;</p></td>
+<td class="struct_member_description"><p>reserved for the future.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><font><span class="TYPE">void</span></font> *<code class="STRUCTFIELD">reserved1</code>;</p></td>
-<td><p>reserved for the future.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><font><span class="type">void</span></font> *<em class="structfield"><code><a name="xmlSecKeyStoreKlass.reserved1"></a>reserved1</code></em>;</p></td>
+<td class="struct_member_description"><p>reserved for the future.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECSIMPLEKEYSSTOREID"></a><h3>xmlSecSimpleKeysStoreId</h3>
-<pre class="PROGRAMLISTING">#define xmlSecSimpleKeysStoreId xmlSecSimpleKeysStoreGetKlass()</pre>
+<div class="refsect2">
+<a name="xmlSecSimpleKeysStoreId"></a><h3>xmlSecSimpleKeysStoreId</h3>
+<pre class="programlisting">#define xmlSecSimpleKeysStoreId xmlSecSimpleKeysStoreGetKlass()
+</pre>
<p>A simple keys store klass id.</p>
</div>
</div>
-<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td align="left"><a accesskey="p" href="xmlsec-keys.html"><b><<< keys</b></a></td>
-<td align="right"><a accesskey="n" href="xmlsec-list.html"><b>list >>></b></a></td>
-</tr></table>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
</td></tr></table></td>
</tr></table></body>
</html>
diff --git a/docs/api/xmlsec-list.html b/docs/api/xmlsec-list.html
index 06fffcf..1fd4efb 100644
--- a/docs/api/xmlsec-list.html
+++ b/docs/api/xmlsec-list.html
@@ -1,41 +1,14 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>list</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79">
-<link rel="HOME" title="XML Security Library Reference Manual" href="index.html">
-<link rel="UP" title="XML Security Core Library API Reference." href="xmlsec-ref.html">
-<link rel="PREVIOUS" title="keysmngr" href="xmlsec-keysmngr.html">
-<link rel="NEXT" title="membuf" href="xmlsec-membuf.html">
-<style type="text/css">.synopsis, .classsynopsis {
- background: #eeeeee;
- border: solid 1px #aaaaaa;
- padding: 0.5em;
-}
-.programlisting {
- background: #eeeeff;
- border: solid 1px #aaaaff;
- padding: 0.5em;
-}
-.variablelist {
- padding: 4px;
- margin-left: 3em;
-}
-.navigation {
- background: #ffeeee;
- border: solid 1px #ffaaaa;
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
-.navigation a {
- color: #770000;
-}
-.navigation a:visited {
- color: #550000;
-}
-.navigation .title {
- font-size: 200%;
-}</style>
+<title>list: XML Security Library Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="XML Security Library Reference Manual">
+<link rel="up" href="xmlsec-ref.html" title="XML Security Core Library API Reference.">
+<link rel="prev" href="xmlsec-keysmngr.html" title="keysmngr">
+<link rel="next" href="xmlsec-membuf.html" title="membuf">
+<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
<style type="text/css">
table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
width: 20em;
@@ -100,1069 +73,1067 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
</table>
</td>
<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent">
-<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td><a accesskey="p" href="xmlsec-keysmngr.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="xmlsec-ref.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description"> <span class="dim">|</span>
+ <a href="#xmlsec-list.description" class="shortcut">Description</a></span>
+</td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<th width="100%" align="center">XML Security Library Reference Manual</th>
+<td><a accesskey="u" href="xmlsec-ref.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="xmlsec-keysmngr.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="xmlsec-membuf.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
-<h1>
-<a name="XMLSEC-LIST"></a>list</h1>
-<div class="REFNAMEDIV">
-<a name="AEN14811"></a><h2>Name</h2>list -- Generic list structure implementation.</div>
-<div class="REFSECT1">
-<a name="XMLSEC-LIST.FUNCTIONS"></a><h2>Functions</h2>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN14816"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
+<div class="refentry">
+<a name="xmlsec-list"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="xmlsec-list.top_of_page"></a>list</span></h2>
+<p>list — Generic list structure implementation.</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="xmlsec-list.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
<tbody>
<tr>
-<td><font><span class="RETURNVALUE">void</span></font></td>
-<td>
-<a href="xmlsec-list.html#XMLSECPTRLISTSETDEFAULTALLOCMODE">xmlSecPtrListSetDefaultAllocMode</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">void</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-list.html#xmlSecPtrListSetDefaultAllocMode" title="xmlSecPtrListSetDefaultAllocMode ()">xmlSecPtrListSetDefaultAllocMode</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-list.html#XMLSECPTRLISTINITIALIZE">xmlSecPtrListInitialize</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-list.html#xmlSecPtrListInitialize" title="xmlSecPtrListInitialize ()">xmlSecPtrListInitialize</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">void</span></font></td>
-<td>
-<a href="xmlsec-list.html#XMLSECPTRLISTFINALIZE">xmlSecPtrListFinalize</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">void</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-list.html#xmlSecPtrListFinalize" title="xmlSecPtrListFinalize ()">xmlSecPtrListFinalize</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><a href="xmlsec-list.html#XMLSECPTRLIST"><span class="RETURNVALUE">xmlSecPtrListPtr</span></a></td>
-<td>
-<a href="xmlsec-list.html#XMLSECPTRLISTCREATE">xmlSecPtrListCreate</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecPtrListPtr</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-list.html#xmlSecPtrListCreate" title="xmlSecPtrListCreate ()">xmlSecPtrListCreate</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">void</span></font></td>
-<td>
-<a href="xmlsec-list.html#XMLSECPTRLISTDESTROY">xmlSecPtrListDestroy</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">void</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-list.html#xmlSecPtrListDestroy" title="xmlSecPtrListDestroy ()">xmlSecPtrListDestroy</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">void</span></font></td>
-<td>
-<a href="xmlsec-list.html#XMLSECPTRLISTEMPTY">xmlSecPtrListEmpty</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">void</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-list.html#xmlSecPtrListEmpty" title="xmlSecPtrListEmpty ()">xmlSecPtrListEmpty</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-list.html#XMLSECPTRLISTCOPY">xmlSecPtrListCopy</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-list.html#xmlSecPtrListCopy" title="xmlSecPtrListCopy ()">xmlSecPtrListCopy</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><a href="xmlsec-list.html#XMLSECPTRLIST"><span class="RETURNVALUE">xmlSecPtrListPtr</span></a></td>
-<td>
-<a href="xmlsec-list.html#XMLSECPTRLISTDUPLICATE">xmlSecPtrListDuplicate</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecPtrListPtr</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-list.html#xmlSecPtrListDuplicate" title="xmlSecPtrListDuplicate ()">xmlSecPtrListDuplicate</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="RETURNVALUE">xmlSecSize</span></a></td>
-<td>
-<a href="xmlsec-list.html#XMLSECPTRLISTGETSIZE">xmlSecPtrListGetSize</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="returnvalue">xmlSecSize</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-list.html#xmlSecPtrListGetSize" title="xmlSecPtrListGetSize ()">xmlSecPtrListGetSize</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecPtr</span></font></td>
-<td>
-<a href="xmlsec-list.html#XMLSECPTRLISTGETITEM">xmlSecPtrListGetItem</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<a class="link" href="xmlsec-xmlsec.html#xmlSecPtr" title="xmlSecPtr"><span class="returnvalue">xmlSecPtr</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-list.html#xmlSecPtrListGetItem" title="xmlSecPtrListGetItem ()">xmlSecPtrListGetItem</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-list.html#XMLSECPTRLISTADD">xmlSecPtrListAdd</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-list.html#xmlSecPtrListAdd" title="xmlSecPtrListAdd ()">xmlSecPtrListAdd</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-list.html#XMLSECPTRLISTSET">xmlSecPtrListSet</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-list.html#xmlSecPtrListSet" title="xmlSecPtrListSet ()">xmlSecPtrListSet</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-list.html#XMLSECPTRLISTREMOVE">xmlSecPtrListRemove</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-list.html#xmlSecPtrListRemove" title="xmlSecPtrListRemove ()">xmlSecPtrListRemove</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecPtr</span></font></td>
-<td>
-<a href="xmlsec-list.html#XMLSECPTRLISTREMOVEANDRETURN">xmlSecPtrListRemoveAndReturn</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<a class="link" href="xmlsec-xmlsec.html#xmlSecPtr" title="xmlSecPtr"><span class="returnvalue">xmlSecPtr</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-list.html#xmlSecPtrListRemoveAndReturn" title="xmlSecPtrListRemoveAndReturn ()">xmlSecPtrListRemoveAndReturn</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">void</span></font></td>
-<td>
-<a href="xmlsec-list.html#XMLSECPTRLISTDEBUGDUMP">xmlSecPtrListDebugDump</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">void</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-list.html#xmlSecPtrListDebugDump" title="xmlSecPtrListDebugDump ()">xmlSecPtrListDebugDump</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">void</span></font></td>
-<td>
-<a href="xmlsec-list.html#XMLSECPTRLISTDEBUGXMLDUMP">xmlSecPtrListDebugXmlDump</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">void</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-list.html#xmlSecPtrListDebugXmlDump" title="xmlSecPtrListDebugXmlDump ()">xmlSecPtrListDebugXmlDump</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td>#define</td>
-<td>
-<a href="xmlsec-list.html#XMLSECPTRLISTGETNAME">xmlSecPtrListGetName</a><span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="define_keyword">#define</td>
+<td class="function_name">
+<a class="link" href="xmlsec-list.html#xmlSecPtrListGetName" title="xmlSecPtrListGetName()">xmlSecPtrListGetName</a><span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td>#define</td>
-<td>
-<a href="xmlsec-list.html#XMLSECPTRLISTISVALID">xmlSecPtrListIsValid</a><span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="define_keyword">#define</td>
+<td class="function_name">
+<a class="link" href="xmlsec-list.html#xmlSecPtrListIsValid" title="xmlSecPtrListIsValid()">xmlSecPtrListIsValid</a><span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td>#define</td>
-<td>
-<a href="xmlsec-list.html#XMLSECPTRLISTCHECKID">xmlSecPtrListCheckId</a><span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="define_keyword">#define</td>
+<td class="function_name">
+<a class="link" href="xmlsec-list.html#xmlSecPtrListCheckId" title="xmlSecPtrListCheckId()">xmlSecPtrListCheckId</a><span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecPtr</span></font></td>
-<td>
-<span class="c_punctuation"><span class="PHRASE">(</span></span><a href="xmlsec-list.html#XMLSECPTRDUPLICATEITEMMETHOD">*xmlSecPtrDuplicateItemMethod</a><span class="c_punctuation"><span class="PHRASE">)</span></span> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<a class="link" href="xmlsec-xmlsec.html#xmlSecPtr" title="xmlSecPtr"><span class="returnvalue">xmlSecPtr</span></a>
+</td>
+<td class="function_name">
+<span class="c_punctuation">(</span><a class="link" href="xmlsec-list.html#xmlSecPtrDuplicateItemMethod" title="xmlSecPtrDuplicateItemMethod ()">*xmlSecPtrDuplicateItemMethod</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">void</span></font></td>
-<td>
-<span class="c_punctuation"><span class="PHRASE">(</span></span><a href="xmlsec-list.html#XMLSECPTRDESTROYITEMMETHOD">*xmlSecPtrDestroyItemMethod</a><span class="c_punctuation"><span class="PHRASE">)</span></span> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">void</span></font>
+</td>
+<td class="function_name">
+<span class="c_punctuation">(</span><a class="link" href="xmlsec-list.html#xmlSecPtrDestroyItemMethod" title="xmlSecPtrDestroyItemMethod ()">*xmlSecPtrDestroyItemMethod</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">void</span></font></td>
-<td>
-<span class="c_punctuation"><span class="PHRASE">(</span></span><a href="xmlsec-list.html#XMLSECPTRDEBUGDUMPITEMMETHOD">*xmlSecPtrDebugDumpItemMethod</a><span class="c_punctuation"><span class="PHRASE">)</span></span> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">void</span></font>
+</td>
+<td class="function_name">
+<span class="c_punctuation">(</span><a class="link" href="xmlsec-list.html#xmlSecPtrDebugDumpItemMethod" title="xmlSecPtrDebugDumpItemMethod ()">*xmlSecPtrDebugDumpItemMethod</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td>#define</td>
-<td>
-<a href="xmlsec-list.html#XMLSECPTRLISTKLASSGETNAME">xmlSecPtrListKlassGetName</a><span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="define_keyword">#define</td>
+<td class="function_name">
+<a class="link" href="xmlsec-list.html#xmlSecPtrListKlassGetName" title="xmlSecPtrListKlassGetName()">xmlSecPtrListKlassGetName</a><span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecPtrListId</span></font></td>
-<td>
-<a href="xmlsec-list.html#XMLSECSTRINGLISTGETKLASS">xmlSecStringListGetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecPtrListId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-list.html#xmlSecStringListGetKlass" title="xmlSecStringListGetKlass ()">xmlSecStringListGetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
-</div>
-<div class="REFSECT1">
-<a name="XMLSEC-LIST.OTHER"></a><h2>Types and Values</h2>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN14987"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="xmlsec-list.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
<tbody>
<tr>
-<td>struct</td>
-<td><a href="xmlsec-list.html#XMLSECPTRLIST">xmlSecPtrList</a></td>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="xmlsec-list.html#xmlSecPtrList" title="struct xmlSecPtrList">xmlSecPtrList</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-list.html#XMLSECPTRLISTIDUNKNOWN">xmlSecPtrListIdUnknown</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-list.html#xmlSecPtrListIdUnknown" title="xmlSecPtrListIdUnknown">xmlSecPtrListIdUnknown</a></td>
</tr>
<tr>
-<td>struct</td>
-<td><a href="xmlsec-list.html#XMLSECPTRLISTKLASS">xmlSecPtrListKlass</a></td>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="xmlsec-list.html#xmlSecPtrListKlass" title="struct xmlSecPtrListKlass">xmlSecPtrListKlass</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-list.html#XMLSECSTRINGLISTID">xmlSecStringListId</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-list.html#xmlSecStringListId" title="xmlSecStringListId">xmlSecStringListId</a></td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
-</div>
-<div class="REFSECT1">
-<a name="XMLSEC-LIST.DESCRIPTION"></a><h2>Description</h2>
-<p>Generic list structure implementation.</p>
-</div>
-<div class="REFSECT1">
-<a name="XMLSEC-LIST.FUNCTIONS_DETAILS"></a><h2>Functions</h2>
-<div class="REFSECT2">
-<a name="XMLSECPTRLISTSETDEFAULTALLOCMODE"></a><h3>xmlSecPtrListSetDefaultAllocMode ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">void</span></font>
-xmlSecPtrListSetDefaultAllocMode (<code class="PARAMETER"><a href="xmlsec-buffer.html#XMLSECALLOCMODE"><span class="TYPE">xmlSecAllocMode</span></a> defAllocMode</code>,
- <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> defInitialSize</code>);</pre>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="xmlsec-list.description"></a><h2>Description</h2>
+<p>
+Generic list structure implementation.
+</p>
+</div>
+<div class="refsect1">
+<a name="xmlsec-list.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="xmlSecPtrListSetDefaultAllocMode"></a><h3>xmlSecPtrListSetDefaultAllocMode ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">void</span></font>
+xmlSecPtrListSetDefaultAllocMode (<em class="parameter"><code><a class="link" href="xmlsec-buffer.html#xmlSecAllocMode" title="enum xmlSecAllocMode"><span class="type">xmlSecAllocMode</span></a> defAllocMode</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="type">xmlSecSize</span></a> defInitialSize</code></em>);</pre>
<p>Sets new default allocation mode and minimal initial list size.</p>
-<div class="REFSECT3">
-<a name="AEN15025"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN15027"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecPtrListSetDefaultAllocMode.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>defAllocMode</p></td>
-<td><p>the new default memory allocation mode.</p></td>
-<td> </td>
+<td class="parameter_name"><p>defAllocMode</p></td>
+<td class="parameter_description"><p>the new default memory allocation mode.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>defInitialSize</p></td>
-<td><p>the new default minimal initial size.</p></td>
-<td> </td>
+<td class="parameter_name"><p>defInitialSize</p></td>
+<td class="parameter_description"><p>the new default minimal initial size.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECPTRLISTINITIALIZE"></a><h3>xmlSecPtrListInitialize ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecPtrListInitialize (<code class="PARAMETER"><a href="xmlsec-list.html#XMLSECPTRLIST"><span class="TYPE">xmlSecPtrListPtr</span></a> list</code>,
- <code class="PARAMETER"><font><span class="TYPE">xmlSecPtrListId</span></font> id</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecPtrListInitialize"></a><h3>xmlSecPtrListInitialize ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecPtrListInitialize (<em class="parameter"><code><font><span class="type">xmlSecPtrListPtr</span></font> list</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlSecPtrListId</span></font> id</code></em>);</pre>
<p>Initializes the list of given klass. Caller is responsible
-for cleaning up by calling <a href="xmlsec-list.html#XMLSECPTRLISTFINALIZE"><span class="TYPE">xmlSecPtrListFinalize</span></a> function.</p>
-<div class="REFSECT3">
-<a name="AEN15058"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN15060"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+for cleaning up by calling <a class="link" href="xmlsec-list.html#xmlSecPtrListFinalize" title="xmlSecPtrListFinalize ()"><span class="type">xmlSecPtrListFinalize</span></a> function.</p>
+<div class="refsect3">
+<a name="xmlSecPtrListInitialize.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>list</p></td>
-<td><p>the pointer to list.</p></td>
-<td> </td>
+<td class="parameter_name"><p>list</p></td>
+<td class="parameter_description"><p>the pointer to list.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>id</p></td>
-<td><p>the list klass.</p></td>
-<td> </td>
+<td class="parameter_name"><p>id</p></td>
+<td class="parameter_description"><p>the list klass.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN15075"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecPtrListInitialize.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECPTRLISTFINALIZE"></a><h3>xmlSecPtrListFinalize ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">void</span></font>
-xmlSecPtrListFinalize (<code class="PARAMETER"><a href="xmlsec-list.html#XMLSECPTRLIST"><span class="TYPE">xmlSecPtrListPtr</span></a> list</code>);</pre>
-<p>Cleans up the list initialized with <a href="xmlsec-list.html#XMLSECPTRLISTINITIALIZE"><span class="TYPE">xmlSecPtrListInitialize</span></a>
+<div class="refsect2">
+<a name="xmlSecPtrListFinalize"></a><h3>xmlSecPtrListFinalize ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">void</span></font>
+xmlSecPtrListFinalize (<em class="parameter"><code><font><span class="type">xmlSecPtrListPtr</span></font> list</code></em>);</pre>
+<p>Cleans up the list initialized with <a class="link" href="xmlsec-list.html#xmlSecPtrListInitialize" title="xmlSecPtrListInitialize ()"><span class="type">xmlSecPtrListInitialize</span></a>
function.</p>
-<div class="REFSECT3">
-<a name="AEN15091"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN15093"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecPtrListFinalize.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>list</p></td>
-<td><p>the pointer to list.</p></td>
-<td> </td>
+<td class="parameter_name"><p>list</p></td>
+<td class="parameter_description"><p>the pointer to list.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECPTRLISTCREATE"></a><h3>xmlSecPtrListCreate ()</h3>
-<pre class="PROGRAMLISTING"><a href="xmlsec-list.html#XMLSECPTRLIST"><span class="RETURNVALUE">xmlSecPtrListPtr</span></a>
-xmlSecPtrListCreate (<code class="PARAMETER"><font><span class="TYPE">xmlSecPtrListId</span></font> id</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecPtrListCreate"></a><h3>xmlSecPtrListCreate ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecPtrListPtr</span></font>
+xmlSecPtrListCreate (<em class="parameter"><code><font><span class="type">xmlSecPtrListId</span></font> id</code></em>);</pre>
<p>Creates new list object. Caller is responsible for freeing returned list
-by calling <a href="xmlsec-list.html#XMLSECPTRLISTDESTROY"><span class="TYPE">xmlSecPtrListDestroy</span></a> function.</p>
-<div class="REFSECT3">
-<a name="AEN15115"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN15117"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+by calling <a class="link" href="xmlsec-list.html#xmlSecPtrListDestroy" title="xmlSecPtrListDestroy ()"><span class="type">xmlSecPtrListDestroy</span></a> function.</p>
+<div class="refsect3">
+<a name="xmlSecPtrListCreate.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>id</p></td>
-<td><p>the list klass.</p></td>
-<td> </td>
+<td class="parameter_name"><p>id</p></td>
+<td class="parameter_description"><p>the list klass.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN15126"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecPtrListCreate.returns"></a><h4>Returns</h4>
<p> pointer to newly allocated list or NULL if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECPTRLISTDESTROY"></a><h3>xmlSecPtrListDestroy ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">void</span></font>
-xmlSecPtrListDestroy (<code class="PARAMETER"><a href="xmlsec-list.html#XMLSECPTRLIST"><span class="TYPE">xmlSecPtrListPtr</span></a> list</code>);</pre>
-<p>Destroys <code class="PARAMETER">list</code>
- created with <a href="xmlsec-list.html#XMLSECPTRLISTCREATE"><span class="TYPE">xmlSecPtrListCreate</span></a> function.</p>
-<div class="REFSECT3">
-<a name="AEN15143"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN15145"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect2">
+<a name="xmlSecPtrListDestroy"></a><h3>xmlSecPtrListDestroy ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">void</span></font>
+xmlSecPtrListDestroy (<em class="parameter"><code><font><span class="type">xmlSecPtrListPtr</span></font> list</code></em>);</pre>
+<p>Destroys <em class="parameter"><code>list</code></em>
+ created with <a class="link" href="xmlsec-list.html#xmlSecPtrListCreate" title="xmlSecPtrListCreate ()"><span class="type">xmlSecPtrListCreate</span></a> function.</p>
+<div class="refsect3">
+<a name="xmlSecPtrListDestroy.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>list</p></td>
-<td><p>the pointer to list.</p></td>
-<td> </td>
+<td class="parameter_name"><p>list</p></td>
+<td class="parameter_description"><p>the pointer to list.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECPTRLISTEMPTY"></a><h3>xmlSecPtrListEmpty ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">void</span></font>
-xmlSecPtrListEmpty (<code class="PARAMETER"><a href="xmlsec-list.html#XMLSECPTRLIST"><span class="TYPE">xmlSecPtrListPtr</span></a> list</code>);</pre>
-<p>Remove all items from <code class="PARAMETER">list</code>
+<div class="refsect2">
+<a name="xmlSecPtrListEmpty"></a><h3>xmlSecPtrListEmpty ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">void</span></font>
+xmlSecPtrListEmpty (<em class="parameter"><code><font><span class="type">xmlSecPtrListPtr</span></font> list</code></em>);</pre>
+<p>Remove all items from <em class="parameter"><code>list</code></em>
(if any).</p>
-<div class="REFSECT3">
-<a name="AEN15166"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN15168"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecPtrListEmpty.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>list</p></td>
-<td><p>the pointer to list.</p></td>
-<td> </td>
+<td class="parameter_name"><p>list</p></td>
+<td class="parameter_description"><p>the pointer to list.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECPTRLISTCOPY"></a><h3>xmlSecPtrListCopy ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecPtrListCopy (<code class="PARAMETER"><a href="xmlsec-list.html#XMLSECPTRLIST"><span class="TYPE">xmlSecPtrListPtr</span></a> dst</code>,
- <code class="PARAMETER"><a href="xmlsec-list.html#XMLSECPTRLIST"><span class="TYPE">xmlSecPtrListPtr</span></a> src</code>);</pre>
-<p>Copies <code class="PARAMETER">src</code>
- list items to <code class="PARAMETER">dst</code>
- list using <font><span class="TYPE">duplicateItem</span></font> method
-of the list klass. If <font><span class="TYPE">duplicateItem</span></font> method is NULL then
+<div class="refsect2">
+<a name="xmlSecPtrListCopy"></a><h3>xmlSecPtrListCopy ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecPtrListCopy (<em class="parameter"><code><font><span class="type">xmlSecPtrListPtr</span></font> dst</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlSecPtrListPtr</span></font> src</code></em>);</pre>
+<p>Copies <em class="parameter"><code>src</code></em>
+ list items to <em class="parameter"><code>dst</code></em>
+ list using <font><span class="type">duplicateItem</span></font> method
+of the list klass. If <font><span class="type">duplicateItem</span></font> method is NULL then
we jsut copy pointers to items.</p>
-<div class="REFSECT3">
-<a name="AEN15197"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN15199"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecPtrListCopy.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>dst</p></td>
-<td><p>the pointer to destination list.</p></td>
-<td> </td>
+<td class="parameter_name"><p>dst</p></td>
+<td class="parameter_description"><p>the pointer to destination list.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>src</p></td>
-<td><p>the pointer to source list.</p></td>
-<td> </td>
+<td class="parameter_name"><p>src</p></td>
+<td class="parameter_description"><p>the pointer to source list.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN15214"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecPtrListCopy.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECPTRLISTDUPLICATE"></a><h3>xmlSecPtrListDuplicate ()</h3>
-<pre class="PROGRAMLISTING"><a href="xmlsec-list.html#XMLSECPTRLIST"><span class="RETURNVALUE">xmlSecPtrListPtr</span></a>
-xmlSecPtrListDuplicate (<code class="PARAMETER"><a href="xmlsec-list.html#XMLSECPTRLIST"><span class="TYPE">xmlSecPtrListPtr</span></a> list</code>);</pre>
-<p>Creates a new copy of <code class="PARAMETER">list</code>
+<div class="refsect2">
+<a name="xmlSecPtrListDuplicate"></a><h3>xmlSecPtrListDuplicate ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecPtrListPtr</span></font>
+xmlSecPtrListDuplicate (<em class="parameter"><code><font><span class="type">xmlSecPtrListPtr</span></font> list</code></em>);</pre>
+<p>Creates a new copy of <em class="parameter"><code>list</code></em>
and all its items.</p>
-<div class="REFSECT3">
-<a name="AEN15229"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN15231"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecPtrListDuplicate.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>list</p></td>
-<td><p>the pointer to list.</p></td>
-<td> </td>
+<td class="parameter_name"><p>list</p></td>
+<td class="parameter_description"><p>the pointer to list.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN15240"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecPtrListDuplicate.returns"></a><h4>Returns</h4>
<p> pointer to newly allocated list or NULL if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECPTRLISTGETSIZE"></a><h3>xmlSecPtrListGetSize ()</h3>
-<pre class="PROGRAMLISTING"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="RETURNVALUE">xmlSecSize</span></a>
-xmlSecPtrListGetSize (<code class="PARAMETER"><a href="xmlsec-list.html#XMLSECPTRLIST"><span class="TYPE">xmlSecPtrListPtr</span></a> list</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecPtrListGetSize"></a><h3>xmlSecPtrListGetSize ()</h3>
+<pre class="programlisting"><a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="returnvalue">xmlSecSize</span></a>
+xmlSecPtrListGetSize (<em class="parameter"><code><font><span class="type">xmlSecPtrListPtr</span></font> list</code></em>);</pre>
<p>Gets list size.</p>
-<div class="REFSECT3">
-<a name="AEN15254"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN15256"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecPtrListGetSize.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>list</p></td>
-<td><p>the pointer to list.</p></td>
-<td> </td>
+<td class="parameter_name"><p>list</p></td>
+<td class="parameter_description"><p>the pointer to list.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN15265"></a><h4>Returns</h4>
-<p> the number of itmes in <code class="PARAMETER">list</code>
+<div class="refsect3">
+<a name="xmlSecPtrListGetSize.returns"></a><h4>Returns</h4>
+<p> the number of itmes in <em class="parameter"><code>list</code></em>
.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECPTRLISTGETITEM"></a><h3>xmlSecPtrListGetItem ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecPtr</span></font>
-xmlSecPtrListGetItem (<code class="PARAMETER"><a href="xmlsec-list.html#XMLSECPTRLIST"><span class="TYPE">xmlSecPtrListPtr</span></a> list</code>,
- <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> pos</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecPtrListGetItem"></a><h3>xmlSecPtrListGetItem ()</h3>
+<pre class="programlisting"><a class="link" href="xmlsec-xmlsec.html#xmlSecPtr" title="xmlSecPtr"><span class="returnvalue">xmlSecPtr</span></a>
+xmlSecPtrListGetItem (<em class="parameter"><code><font><span class="type">xmlSecPtrListPtr</span></font> list</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="type">xmlSecSize</span></a> pos</code></em>);</pre>
<p>Gets item from the list.</p>
-<div class="REFSECT3">
-<a name="AEN15283"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN15285"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecPtrListGetItem.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>list</p></td>
-<td><p>the pointer to list.</p></td>
-<td> </td>
+<td class="parameter_name"><p>list</p></td>
+<td class="parameter_description"><p>the pointer to list.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>pos</p></td>
-<td><p>the item position.</p></td>
-<td> </td>
+<td class="parameter_name"><p>pos</p></td>
+<td class="parameter_description"><p>the item position.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN15300"></a><h4>Returns</h4>
-<p> the list item at position <code class="PARAMETER">pos</code>
-or NULL if <code class="PARAMETER">pos</code>
+<div class="refsect3">
+<a name="xmlSecPtrListGetItem.returns"></a><h4>Returns</h4>
+<p> the list item at position <em class="parameter"><code>pos</code></em>
+or NULL if <em class="parameter"><code>pos</code></em>
is greater
than the number of items in the list or an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECPTRLISTADD"></a><h3>xmlSecPtrListAdd ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecPtrListAdd (<code class="PARAMETER"><a href="xmlsec-list.html#XMLSECPTRLIST"><span class="TYPE">xmlSecPtrListPtr</span></a> list</code>,
- <code class="PARAMETER"><font><span class="TYPE">xmlSecPtr</span></font> item</code>);</pre>
-<p>Adds <code class="PARAMETER">item</code>
- to the end of the <code class="PARAMETER">list</code>
+<div class="refsect2">
+<a name="xmlSecPtrListAdd"></a><h3>xmlSecPtrListAdd ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecPtrListAdd (<em class="parameter"><code><font><span class="type">xmlSecPtrListPtr</span></font> list</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-xmlsec.html#xmlSecPtr" title="xmlSecPtr"><span class="type">xmlSecPtr</span></a> item</code></em>);</pre>
+<p>Adds <em class="parameter"><code>item</code></em>
+ to the end of the <em class="parameter"><code>list</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN15321"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN15323"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecPtrListAdd.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>list</p></td>
-<td><p>the pointer to list.</p></td>
-<td> </td>
+<td class="parameter_name"><p>list</p></td>
+<td class="parameter_description"><p>the pointer to list.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>item</p></td>
-<td><p>the item.</p></td>
-<td> </td>
+<td class="parameter_name"><p>item</p></td>
+<td class="parameter_description"><p>the item.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN15338"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecPtrListAdd.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECPTRLISTSET"></a><h3>xmlSecPtrListSet ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecPtrListSet (<code class="PARAMETER"><a href="xmlsec-list.html#XMLSECPTRLIST"><span class="TYPE">xmlSecPtrListPtr</span></a> list</code>,
- <code class="PARAMETER"><font><span class="TYPE">xmlSecPtr</span></font> item</code>,
- <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> pos</code>);</pre>
-<p>Sets the value of list item at position <code class="PARAMETER">pos</code>
+<div class="refsect2">
+<a name="xmlSecPtrListSet"></a><h3>xmlSecPtrListSet ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecPtrListSet (<em class="parameter"><code><font><span class="type">xmlSecPtrListPtr</span></font> list</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-xmlsec.html#xmlSecPtr" title="xmlSecPtr"><span class="type">xmlSecPtr</span></a> item</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="type">xmlSecSize</span></a> pos</code></em>);</pre>
+<p>Sets the value of list item at position <em class="parameter"><code>pos</code></em>
. The old value
is destroyed.</p>
-<div class="REFSECT3">
-<a name="AEN15359"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN15361"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecPtrListSet.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>list</p></td>
-<td><p>the pointer to list.</p></td>
-<td> </td>
+<td class="parameter_name"><p>list</p></td>
+<td class="parameter_description"><p>the pointer to list.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>item</p></td>
-<td><p>the item.</p></td>
-<td> </td>
+<td class="parameter_name"><p>item</p></td>
+<td class="parameter_description"><p>the item.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>pos</p></td>
-<td><p>the pos.</p></td>
-<td> </td>
+<td class="parameter_name"><p>pos</p></td>
+<td class="parameter_description"><p>the pos.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN15382"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecPtrListSet.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECPTRLISTREMOVE"></a><h3>xmlSecPtrListRemove ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecPtrListRemove (<code class="PARAMETER"><a href="xmlsec-list.html#XMLSECPTRLIST"><span class="TYPE">xmlSecPtrListPtr</span></a> list</code>,
- <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> pos</code>);</pre>
-<p>Destroys list item at the position <code class="PARAMETER">pos</code>
+<div class="refsect2">
+<a name="xmlSecPtrListRemove"></a><h3>xmlSecPtrListRemove ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecPtrListRemove (<em class="parameter"><code><font><span class="type">xmlSecPtrListPtr</span></font> list</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="type">xmlSecSize</span></a> pos</code></em>);</pre>
+<p>Destroys list item at the position <em class="parameter"><code>pos</code></em>
and sets it value to NULL.</p>
-<div class="REFSECT3">
-<a name="AEN15400"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN15402"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecPtrListRemove.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>list</p></td>
-<td><p>the pointer to list.</p></td>
-<td> </td>
+<td class="parameter_name"><p>list</p></td>
+<td class="parameter_description"><p>the pointer to list.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>pos</p></td>
-<td><p>the position.</p></td>
-<td> </td>
+<td class="parameter_name"><p>pos</p></td>
+<td class="parameter_description"><p>the position.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN15417"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecPtrListRemove.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECPTRLISTREMOVEANDRETURN"></a><h3>xmlSecPtrListRemoveAndReturn ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecPtr</span></font>
-xmlSecPtrListRemoveAndReturn (<code class="PARAMETER"><a href="xmlsec-list.html#XMLSECPTRLIST"><span class="TYPE">xmlSecPtrListPtr</span></a> list</code>,
- <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> pos</code>);</pre>
-<p>Remove the list item at the position <code class="PARAMETER">pos</code>
+<div class="refsect2">
+<a name="xmlSecPtrListRemoveAndReturn"></a><h3>xmlSecPtrListRemoveAndReturn ()</h3>
+<pre class="programlisting"><a class="link" href="xmlsec-xmlsec.html#xmlSecPtr" title="xmlSecPtr"><span class="returnvalue">xmlSecPtr</span></a>
+xmlSecPtrListRemoveAndReturn (<em class="parameter"><code><font><span class="type">xmlSecPtrListPtr</span></font> list</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="type">xmlSecSize</span></a> pos</code></em>);</pre>
+<p>Remove the list item at the position <em class="parameter"><code>pos</code></em>
and return it back.</p>
-<div class="REFSECT3">
-<a name="AEN15435"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN15437"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecPtrListRemoveAndReturn.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>list</p></td>
-<td><p>the pointer to list.</p></td>
-<td> </td>
+<td class="parameter_name"><p>list</p></td>
+<td class="parameter_description"><p>the pointer to list.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>pos</p></td>
-<td><p>the position.</p></td>
-<td> </td>
+<td class="parameter_name"><p>pos</p></td>
+<td class="parameter_description"><p>the position.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN15452"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecPtrListRemoveAndReturn.returns"></a><h4>Returns</h4>
<p> the pointer to the list item.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECPTRLISTDEBUGDUMP"></a><h3>xmlSecPtrListDebugDump ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">void</span></font>
-xmlSecPtrListDebugDump (<code class="PARAMETER"><a href="xmlsec-list.html#XMLSECPTRLIST"><span class="TYPE">xmlSecPtrListPtr</span></a> list</code>,
- <code class="PARAMETER"><font><span class="TYPE">FILE</span></font> *output</code>);</pre>
-<p>Prints debug information about <code class="PARAMETER">list</code>
- to the <code class="PARAMETER">output</code>
+<div class="refsect2">
+<a name="xmlSecPtrListDebugDump"></a><h3>xmlSecPtrListDebugDump ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">void</span></font>
+xmlSecPtrListDebugDump (<em class="parameter"><code><font><span class="type">xmlSecPtrListPtr</span></font> list</code></em>,
+ <em class="parameter"><code><font><span class="type">FILE</span></font> *output</code></em>);</pre>
+<p>Prints debug information about <em class="parameter"><code>list</code></em>
+ to the <em class="parameter"><code>output</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN15471"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN15473"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecPtrListDebugDump.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>list</p></td>
-<td><p>the pointer to list.</p></td>
-<td> </td>
+<td class="parameter_name"><p>list</p></td>
+<td class="parameter_description"><p>the pointer to list.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>output</p></td>
-<td><p>the pointer to output FILE.</p></td>
-<td> </td>
+<td class="parameter_name"><p>output</p></td>
+<td class="parameter_description"><p>the pointer to output FILE.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECPTRLISTDEBUGXMLDUMP"></a><h3>xmlSecPtrListDebugXmlDump ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">void</span></font>
-xmlSecPtrListDebugXmlDump (<code class="PARAMETER"><a href="xmlsec-list.html#XMLSECPTRLIST"><span class="TYPE">xmlSecPtrListPtr</span></a> list</code>,
- <code class="PARAMETER"><font><span class="TYPE">FILE</span></font> *output</code>);</pre>
-<p>Prints debug information about <code class="PARAMETER">list</code>
- to the <code class="PARAMETER">output</code>
+<div class="refsect2">
+<a name="xmlSecPtrListDebugXmlDump"></a><h3>xmlSecPtrListDebugXmlDump ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">void</span></font>
+xmlSecPtrListDebugXmlDump (<em class="parameter"><code><font><span class="type">xmlSecPtrListPtr</span></font> list</code></em>,
+ <em class="parameter"><code><font><span class="type">FILE</span></font> *output</code></em>);</pre>
+<p>Prints debug information about <em class="parameter"><code>list</code></em>
+ to the <em class="parameter"><code>output</code></em>
in XML format.</p>
-<div class="REFSECT3">
-<a name="AEN15504"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN15506"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecPtrListDebugXmlDump.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>list</p></td>
-<td><p>the pointer to list.</p></td>
-<td> </td>
+<td class="parameter_name"><p>list</p></td>
+<td class="parameter_description"><p>the pointer to list.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>output</p></td>
-<td><p>the pointer to output FILE.</p></td>
-<td> </td>
+<td class="parameter_name"><p>output</p></td>
+<td class="parameter_description"><p>the pointer to output FILE.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECPTRLISTGETNAME"></a><h3>xmlSecPtrListGetName()</h3>
-<pre class="PROGRAMLISTING">#define xmlSecPtrListGetName(list)</pre>
+<div class="refsect2">
+<a name="xmlSecPtrListGetName"></a><h3>xmlSecPtrListGetName()</h3>
+<pre class="programlisting">#define xmlSecPtrListGetName(list)</pre>
<p>Macro. Returns lists's name.</p>
-<div class="REFSECT3">
-<a name="AEN15527"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN15529"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecPtrListGetName.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>list</p></td>
-<td><p>the ponter to list.</p></td>
-<td> </td>
+<td class="parameter_name"><p>list</p></td>
+<td class="parameter_description"><p>the ponter to list.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECPTRLISTISVALID"></a><h3>xmlSecPtrListIsValid()</h3>
-<pre class="PROGRAMLISTING">#define xmlSecPtrListIsValid(list)</pre>
-<p>Macro. Returns 1 if <code class="PARAMETER">list</code>
- is not NULL and <code class="PARAMETER">list->id</code>
+<div class="refsect2">
+<a name="xmlSecPtrListIsValid"></a><h3>xmlSecPtrListIsValid()</h3>
+<pre class="programlisting">#define xmlSecPtrListIsValid(list)</pre>
+<p>Macro. Returns 1 if <em class="parameter"><code>list</code></em>
+ is not NULL and <em class="parameter"><code>list->id</code></em>
is not NULL
or 0 otherwise.</p>
-<div class="REFSECT3">
-<a name="AEN15546"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN15548"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecPtrListIsValid.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>list</p></td>
-<td><p>the pointer to list.</p></td>
-<td> </td>
+<td class="parameter_name"><p>list</p></td>
+<td class="parameter_description"><p>the pointer to list.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECPTRLISTCHECKID"></a><h3>xmlSecPtrListCheckId()</h3>
-<pre class="PROGRAMLISTING">#define xmlSecPtrListCheckId(list, dataId)</pre>
-<p>Macro. Returns 1 if <code class="PARAMETER">list</code>
- is valid and <code class="PARAMETER">list</code>
-'s id is equal to <code class="PARAMETER">dataId</code>
+<div class="refsect2">
+<a name="xmlSecPtrListCheckId"></a><h3>xmlSecPtrListCheckId()</h3>
+<pre class="programlisting">#define xmlSecPtrListCheckId(list, dataId)</pre>
+<p>Macro. Returns 1 if <em class="parameter"><code>list</code></em>
+ is valid and <em class="parameter"><code>list</code></em>
+'s id is equal to <em class="parameter"><code>dataId</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN15566"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN15568"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecPtrListCheckId.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>list</p></td>
-<td><p>the pointer to list.</p></td>
-<td> </td>
+<td class="parameter_name"><p>list</p></td>
+<td class="parameter_description"><p>the pointer to list.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>dataId</p></td>
-<td><p>the list Id.</p></td>
-<td> </td>
+<td class="parameter_name"><p>dataId</p></td>
+<td class="parameter_description"><p>the list Id.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECPTRDUPLICATEITEMMETHOD"></a><h3>xmlSecPtrDuplicateItemMethod ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecPtr</span></font>
-<span class="c_punctuation"><span class="PHRASE">(</span></span>*xmlSecPtrDuplicateItemMethod<span class="c_punctuation"><span class="PHRASE">)</span></span> (<code class="PARAMETER"><font><span class="TYPE">xmlSecPtr</span></font> ptr</code>);</pre>
-<p>Duplicates item <code class="PARAMETER">ptr</code>
+<div class="refsect2">
+<a name="xmlSecPtrDuplicateItemMethod"></a><h3>xmlSecPtrDuplicateItemMethod ()</h3>
+<pre class="programlisting"><a class="link" href="xmlsec-xmlsec.html#xmlSecPtr" title="xmlSecPtr"><span class="returnvalue">xmlSecPtr</span></a>
+<span class="c_punctuation">(</span>*xmlSecPtrDuplicateItemMethod<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="xmlsec-xmlsec.html#xmlSecPtr" title="xmlSecPtr"><span class="type">xmlSecPtr</span></a> ptr</code></em>);</pre>
+<p>Duplicates item <em class="parameter"><code>ptr</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN15597"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN15599"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecPtrDuplicateItemMethod.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>ptr</p></td>
-<td><p>the poinetr to list item.</p></td>
-<td> </td>
+<td class="parameter_name"><p>ptr</p></td>
+<td class="parameter_description"><p>the poinetr to list item.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN15608"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecPtrDuplicateItemMethod.returns"></a><h4>Returns</h4>
<p> pointer to new item copy or NULL if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECPTRDESTROYITEMMETHOD"></a><h3>xmlSecPtrDestroyItemMethod ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">void</span></font>
-<span class="c_punctuation"><span class="PHRASE">(</span></span>*xmlSecPtrDestroyItemMethod<span class="c_punctuation"><span class="PHRASE">)</span></span> (<code class="PARAMETER"><font><span class="TYPE">xmlSecPtr</span></font> ptr</code>);</pre>
-<p>Destroys list item <code class="PARAMETER">ptr</code>
+<div class="refsect2">
+<a name="xmlSecPtrDestroyItemMethod"></a><h3>xmlSecPtrDestroyItemMethod ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">void</span></font>
+<span class="c_punctuation">(</span>*xmlSecPtrDestroyItemMethod<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="xmlsec-xmlsec.html#xmlSecPtr" title="xmlSecPtr"><span class="type">xmlSecPtr</span></a> ptr</code></em>);</pre>
+<p>Destroys list item <em class="parameter"><code>ptr</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN15625"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN15627"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecPtrDestroyItemMethod.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>ptr</p></td>
-<td><p>the poinetr to list item.</p></td>
-<td> </td>
+<td class="parameter_name"><p>ptr</p></td>
+<td class="parameter_description"><p>the poinetr to list item.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECPTRDEBUGDUMPITEMMETHOD"></a><h3>xmlSecPtrDebugDumpItemMethod ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">void</span></font>
-<span class="c_punctuation"><span class="PHRASE">(</span></span>*xmlSecPtrDebugDumpItemMethod<span class="c_punctuation"><span class="PHRASE">)</span></span> (<code class="PARAMETER"><font><span class="TYPE">xmlSecPtr</span></font> ptr</code>,
- <code class="PARAMETER"><font><span class="TYPE">FILE</span></font> *output</code>);</pre>
-<p>Prints debug information about <code class="PARAMETER">item</code>
- to <code class="PARAMETER">output</code>
+<div class="refsect2">
+<a name="xmlSecPtrDebugDumpItemMethod"></a><h3>xmlSecPtrDebugDumpItemMethod ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">void</span></font>
+<span class="c_punctuation">(</span>*xmlSecPtrDebugDumpItemMethod<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="xmlsec-xmlsec.html#xmlSecPtr" title="xmlSecPtr"><span class="type">xmlSecPtr</span></a> ptr</code></em>,
+ <em class="parameter"><code><font><span class="type">FILE</span></font> *output</code></em>);</pre>
+<p>Prints debug information about <em class="parameter"><code>item</code></em>
+ to <em class="parameter"><code>output</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN15654"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN15656"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecPtrDebugDumpItemMethod.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>ptr</p></td>
-<td><p>the poinetr to list item.</p></td>
-<td> </td>
+<td class="parameter_name"><p>ptr</p></td>
+<td class="parameter_description"><p>the poinetr to list item.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>output</p></td>
-<td><p>the output FILE.</p></td>
-<td> </td>
+<td class="parameter_name"><p>output</p></td>
+<td class="parameter_description"><p>the output FILE.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECPTRLISTKLASSGETNAME"></a><h3>xmlSecPtrListKlassGetName()</h3>
-<pre class="PROGRAMLISTING">#define xmlSecPtrListKlassGetName(klass)</pre>
+<div class="refsect2">
+<a name="xmlSecPtrListKlassGetName"></a><h3>xmlSecPtrListKlassGetName()</h3>
+<pre class="programlisting">#define xmlSecPtrListKlassGetName(klass)</pre>
<p>Macro. Returns the list klass name.</p>
-<div class="REFSECT3">
-<a name="AEN15677"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN15679"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecPtrListKlassGetName.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>klass</p></td>
-<td><p>the list klass.
+<td class="parameter_name"><p>klass</p></td>
+<td class="parameter_description"><p>the list klass.
2</p></td>
-<td> </td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECSTRINGLISTGETKLASS"></a><h3>xmlSecStringListGetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecPtrListId</span></font>
-xmlSecStringListGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecStringListGetKlass"></a><h3>xmlSecStringListGetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecPtrListId</span></font>
+xmlSecStringListGetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The strins list class.</p>
-<div class="REFSECT3">
-<a name="AEN15698"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecStringListGetKlass.returns"></a><h4>Returns</h4>
<p> strings list klass.</p>
</div>
</div>
</div>
-<div class="REFSECT1">
-<a name="XMLSEC-LIST.OTHER_DETAILS"></a><h2>Types and Values</h2>
-<div class="REFSECT2">
-<a name="XMLSECPTRLIST"></a><h3>struct xmlSecPtrList</h3>
-<pre class="PROGRAMLISTING">struct xmlSecPtrList {
+<div class="refsect1">
+<a name="xmlsec-list.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="xmlSecPtrList"></a><h3>struct xmlSecPtrList</h3>
+<pre class="programlisting">struct xmlSecPtrList {
xmlSecPtrListId id;
xmlSecPtr* data;
xmlSecSize use;
xmlSecSize max;
xmlSecAllocMode allocMode;
-};</pre>
+};
+</pre>
<p>The pointers list.</p>
-<div class="REFSECT3">
-<a name="AEN15709"></a><h4>Members</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN15711"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecPtrList.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="struct_members_name">
+<col class="struct_members_description">
+<col width="200px" class="struct_members_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p><font><span class="TYPE">xmlSecPtrListId</span></font> <code class="STRUCTFIELD">id</code>;</p></td>
-<td><p>the list items description.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><font><span class="type">xmlSecPtrListId</span></font> <em class="structfield"><code><a name="xmlSecPtrList.id"></a>id</code></em>;</p></td>
+<td class="struct_member_description"><p>the list items description.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><font><span class="TYPE">xmlSecPtr</span></font> *<code class="STRUCTFIELD">data</code>;</p></td>
-<td><p>the list data.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><a class="link" href="xmlsec-xmlsec.html#xmlSecPtr" title="xmlSecPtr"><span class="type">xmlSecPtr</span></a> *<em class="structfield"><code><a name="xmlSecPtrList.data"></a>data</code></em>;</p></td>
+<td class="struct_member_description"><p>the list data.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> <code class="STRUCTFIELD">use</code>;</p></td>
-<td><p>the current list size.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="type">xmlSecSize</span></a> <em class="structfield"><code><a name="xmlSecPtrList.use"></a>use</code></em>;</p></td>
+<td class="struct_member_description"><p>the current list size.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> <code class="STRUCTFIELD">max</code>;</p></td>
-<td><p>the max (allocated) list size.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="type">xmlSecSize</span></a> <em class="structfield"><code><a name="xmlSecPtrList.max"></a>max</code></em>;</p></td>
+<td class="struct_member_description"><p>the max (allocated) list size.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><a href="xmlsec-buffer.html#XMLSECALLOCMODE"><span class="TYPE">xmlSecAllocMode</span></a> <code class="STRUCTFIELD">allocMode</code>;</p></td>
-<td><p>the memory allocation mode.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><a class="link" href="xmlsec-buffer.html#xmlSecAllocMode" title="enum xmlSecAllocMode"><span class="type">xmlSecAllocMode</span></a> <em class="structfield"><code><a name="xmlSecPtrList.allocMode"></a>allocMode</code></em>;</p></td>
+<td class="struct_member_description"><p>the memory allocation mode.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECPTRLISTIDUNKNOWN"></a><h3>xmlSecPtrListIdUnknown</h3>
-<pre class="PROGRAMLISTING">#define xmlSecPtrListIdUnknown NULL</pre>
+<div class="refsect2">
+<a name="xmlSecPtrListIdUnknown"></a><h3>xmlSecPtrListIdUnknown</h3>
+<pre class="programlisting">#define xmlSecPtrListIdUnknown NULL
+</pre>
<p>The "unknown" id.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECPTRLISTKLASS"></a><h3>struct xmlSecPtrListKlass</h3>
-<pre class="PROGRAMLISTING">struct xmlSecPtrListKlass {
+<div class="refsect2">
+<a name="xmlSecPtrListKlass"></a><h3>struct xmlSecPtrListKlass</h3>
+<pre class="programlisting">struct xmlSecPtrListKlass {
const xmlChar* name;
xmlSecPtrDuplicateItemMethod duplicateItem;
xmlSecPtrDestroyItemMethod destroyItem;
xmlSecPtrDebugDumpItemMethod debugDumpItem;
xmlSecPtrDebugDumpItemMethod debugXmlDumpItem;
-};</pre>
+};
+</pre>
<p>List klass.</p>
-<div class="REFSECT3">
-<a name="AEN15771"></a><h4>Members</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN15773"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecPtrListKlass.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="struct_members_name">
+<col class="struct_members_description">
+<col width="200px" class="struct_members_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>const <font><span class="TYPE">xmlChar</span></font> *<code class="STRUCTFIELD">name</code>;</p></td>
-<td><p>the list klass name.</p></td>
-<td> </td>
+<td class="struct_member_name"><p>const <font><span class="type">xmlChar</span></font> *<em class="structfield"><code><a name="xmlSecPtrListKlass.name"></a>name</code></em>;</p></td>
+<td class="struct_member_description"><p>the list klass name.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><a href="xmlsec-list.html#XMLSECPTRDUPLICATEITEMMETHOD"><span class="TYPE">xmlSecPtrDuplicateItemMethod</span></a> <code class="STRUCTFIELD">duplicateItem</code>;</p></td>
-<td><p>the duplciate item method.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><a class="link" href="xmlsec-list.html#xmlSecPtrDuplicateItemMethod" title="xmlSecPtrDuplicateItemMethod ()"><span class="type">xmlSecPtrDuplicateItemMethod</span></a> <em class="structfield"><code><a name="xmlSecPtrListKlass.duplicateItem"></a>duplicateItem</code></em>;</p></td>
+<td class="struct_member_description"><p>the duplciate item method.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><a href="xmlsec-list.html#XMLSECPTRDESTROYITEMMETHOD"><span class="TYPE">xmlSecPtrDestroyItemMethod</span></a> <code class="STRUCTFIELD">destroyItem</code>;</p></td>
-<td><p>the destroy item method.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><a class="link" href="xmlsec-list.html#xmlSecPtrDestroyItemMethod" title="xmlSecPtrDestroyItemMethod ()"><span class="type">xmlSecPtrDestroyItemMethod</span></a> <em class="structfield"><code><a name="xmlSecPtrListKlass.destroyItem"></a>destroyItem</code></em>;</p></td>
+<td class="struct_member_description"><p>the destroy item method.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><a href="xmlsec-list.html#XMLSECPTRDEBUGDUMPITEMMETHOD"><span class="TYPE">xmlSecPtrDebugDumpItemMethod</span></a> <code class="STRUCTFIELD">debugDumpItem</code>;</p></td>
-<td><p>the debug dump item method.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><a class="link" href="xmlsec-list.html#xmlSecPtrDebugDumpItemMethod" title="xmlSecPtrDebugDumpItemMethod ()"><span class="type">xmlSecPtrDebugDumpItemMethod</span></a> <em class="structfield"><code><a name="xmlSecPtrListKlass.debugDumpItem"></a>debugDumpItem</code></em>;</p></td>
+<td class="struct_member_description"><p>the debug dump item method.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><a href="xmlsec-list.html#XMLSECPTRDEBUGDUMPITEMMETHOD"><span class="TYPE">xmlSecPtrDebugDumpItemMethod</span></a> <code class="STRUCTFIELD">debugXmlDumpItem</code>;</p></td>
-<td><p>the debug dump item in xml format method.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><a class="link" href="xmlsec-list.html#xmlSecPtrDebugDumpItemMethod" title="xmlSecPtrDebugDumpItemMethod ()"><span class="type">xmlSecPtrDebugDumpItemMethod</span></a> <em class="structfield"><code><a name="xmlSecPtrListKlass.debugXmlDumpItem"></a>debugXmlDumpItem</code></em>;</p></td>
+<td class="struct_member_description"><p>the debug dump item in xml format method.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECSTRINGLISTID"></a><h3>xmlSecStringListId</h3>
-<pre class="PROGRAMLISTING">#define xmlSecStringListId</pre>
+<div class="refsect2">
+<a name="xmlSecStringListId"></a><h3>xmlSecStringListId</h3>
+<pre class="programlisting">#define xmlSecStringListId</pre>
<p>Strings list klass.</p>
</div>
</div>
-<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td align="left"><a accesskey="p" href="xmlsec-keysmngr.html"><b><<< keysmngr</b></a></td>
-<td align="right"><a accesskey="n" href="xmlsec-membuf.html"><b>membuf >>></b></a></td>
-</tr></table>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
</td></tr></table></td>
</tr></table></body>
</html>
diff --git a/docs/api/xmlsec-membuf.html b/docs/api/xmlsec-membuf.html
index 9761b68..154f978 100644
--- a/docs/api/xmlsec-membuf.html
+++ b/docs/api/xmlsec-membuf.html
@@ -1,41 +1,14 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>membuf</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79">
-<link rel="HOME" title="XML Security Library Reference Manual" href="index.html">
-<link rel="UP" title="XML Security Core Library API Reference." href="xmlsec-ref.html">
-<link rel="PREVIOUS" title="list" href="xmlsec-list.html">
-<link rel="NEXT" title="nodeset" href="xmlsec-nodeset.html">
-<style type="text/css">.synopsis, .classsynopsis {
- background: #eeeeee;
- border: solid 1px #aaaaaa;
- padding: 0.5em;
-}
-.programlisting {
- background: #eeeeff;
- border: solid 1px #aaaaff;
- padding: 0.5em;
-}
-.variablelist {
- padding: 4px;
- margin-left: 3em;
-}
-.navigation {
- background: #ffeeee;
- border: solid 1px #ffaaaa;
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
-.navigation a {
- color: #770000;
-}
-.navigation a:visited {
- color: #550000;
-}
-.navigation .title {
- font-size: 200%;
-}</style>
+<title>membuf: XML Security Library Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="XML Security Library Reference Manual">
+<link rel="up" href="xmlsec-ref.html" title="XML Security Core Library API Reference.">
+<link rel="prev" href="xmlsec-list.html" title="list">
+<link rel="next" href="xmlsec-nodeset.html" title="nodeset">
+<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
<style type="text/css">
table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
width: 20em;
@@ -100,114 +73,121 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
</table>
</td>
<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent">
-<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td><a accesskey="p" href="xmlsec-list.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="xmlsec-ref.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description"> <span class="dim">|</span>
+ <a href="#xmlsec-membuf.description" class="shortcut">Description</a></span>
+</td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<th width="100%" align="center">XML Security Library Reference Manual</th>
+<td><a accesskey="u" href="xmlsec-ref.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="xmlsec-list.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="xmlsec-nodeset.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
-<h1>
-<a name="XMLSEC-MEMBUF"></a>membuf</h1>
-<div class="REFNAMEDIV">
-<a name="AEN15832"></a><h2>Name</h2>membuf -- Memory buffer transform implementation.</div>
-<div class="REFSECT1">
-<a name="XMLSEC-MEMBUF.FUNCTIONS"></a><h2>Functions</h2>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN15837"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
+<div class="refentry">
+<a name="xmlsec-membuf"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="xmlsec-membuf.top_of_page"></a>membuf</span></h2>
+<p>membuf — Memory buffer transform implementation.</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="xmlsec-membuf.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
<tbody>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-membuf.html#XMLSECTRANSFORMMEMBUFGETKLASS">xmlSecTransformMemBufGetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-membuf.html#xmlSecTransformMemBufGetKlass" title="xmlSecTransformMemBufGetKlass ()">xmlSecTransformMemBufGetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><a href="xmlsec-buffer.html#XMLSECBUFFER"><span class="RETURNVALUE">xmlSecBufferPtr</span></a></td>
-<td>
-<a href="xmlsec-membuf.html#XMLSECTRANSFORMMEMBUFGETBUFFER">xmlSecTransformMemBufGetBuffer</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecBufferPtr</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-membuf.html#xmlSecTransformMemBufGetBuffer" title="xmlSecTransformMemBufGetBuffer ()">xmlSecTransformMemBufGetBuffer</a> <span class="c_punctuation">()</span>
</td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT1">
-<a name="XMLSEC-MEMBUF.OTHER"></a><h2>Types and Values</h2>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN15856"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
+<div class="refsect1">
+<a name="xmlsec-membuf.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
<tbody><tr>
-<td>#define</td>
-<td><a href="xmlsec-membuf.html#XMLSECTRANSFORMMEMBUFID">xmlSecTransformMemBufId</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-membuf.html#xmlSecTransformMemBufId" title="xmlSecTransformMemBufId">xmlSecTransformMemBufId</a></td>
</tr></tbody>
-</table>
-<p></p>
+</table></div>
</div>
+<div class="refsect1">
+<a name="xmlsec-membuf.description"></a><h2>Description</h2>
+<p>
+Memory buffer transform implementation.
+</p>
</div>
-<div class="REFSECT1">
-<a name="XMLSEC-MEMBUF.DESCRIPTION"></a><h2>Description</h2>
-<p>Memory buffer transform implementation.</p>
-</div>
-<div class="REFSECT1">
-<a name="XMLSEC-MEMBUF.FUNCTIONS_DETAILS"></a><h2>Functions</h2>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMMEMBUFGETKLASS"></a><h3>xmlSecTransformMemBufGetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
-xmlSecTransformMemBufGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect1">
+<a name="xmlsec-membuf.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="xmlSecTransformMemBufGetKlass"></a><h3>xmlSecTransformMemBufGetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
+xmlSecTransformMemBufGetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The memory buffer transorm (used to store the data that go through it).</p>
-<div class="REFSECT3">
-<a name="AEN15878"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTransformMemBufGetKlass.returns"></a><h4>Returns</h4>
<p> memory buffer transform klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMMEMBUFGETBUFFER"></a><h3>xmlSecTransformMemBufGetBuffer ()</h3>
-<pre class="PROGRAMLISTING"><a href="xmlsec-buffer.html#XMLSECBUFFER"><span class="RETURNVALUE">xmlSecBufferPtr</span></a>
-xmlSecTransformMemBufGetBuffer (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecTransformMemBufGetBuffer"></a><h3>xmlSecTransformMemBufGetBuffer ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecBufferPtr</span></font>
+xmlSecTransformMemBufGetBuffer (<em class="parameter"><code><font><span class="type">xmlSecTransformPtr</span></font> transform</code></em>);</pre>
<p>Gets the pointer to memory buffer transform buffer.</p>
-<div class="REFSECT3">
-<a name="AEN15892"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN15894"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecTransformMemBufGetBuffer.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>transform</p></td>
-<td><p>the pointer to memory buffer transform.</p></td>
-<td> </td>
+<td class="parameter_name"><p>transform</p></td>
+<td class="parameter_description"><p>the pointer to memory buffer transform.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
+</table></div>
</div>
+<div class="refsect3">
+<a name="xmlSecTransformMemBufGetBuffer.returns"></a><h4>Returns</h4>
+<p> pointer to the transform's <a class="link" href="xmlsec-buffer.html#xmlSecBuffer" title="struct xmlSecBuffer"><span class="type">xmlSecBuffer</span></a>.</p>
</div>
-<div class="REFSECT3">
-<a name="AEN15903"></a><h4>Returns</h4>
-<p> pointer to the transform's <a href="xmlsec-buffer.html#XMLSECBUFFER"><span class="TYPE">xmlSecBuffer</span></a>.</p>
</div>
</div>
-</div>
-<div class="REFSECT1">
-<a name="XMLSEC-MEMBUF.OTHER_DETAILS"></a><h2>Types and Values</h2>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMMEMBUFID"></a><h3>xmlSecTransformMemBufId</h3>
-<pre class="PROGRAMLISTING">#define xmlSecTransformMemBufId</pre>
+<div class="refsect1">
+<a name="xmlsec-membuf.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="xmlSecTransformMemBufId"></a><h3>xmlSecTransformMemBufId</h3>
+<pre class="programlisting">#define xmlSecTransformMemBufId</pre>
<p>The Memory Buffer transform klass.</p>
</div>
</div>
-<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td align="left"><a accesskey="p" href="xmlsec-list.html"><b><<< list</b></a></td>
-<td align="right"><a accesskey="n" href="xmlsec-nodeset.html"><b>nodeset >>></b></a></td>
-</tr></table>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
</td></tr></table></td>
</tr></table></body>
</html>
diff --git a/docs/api/xmlsec-mscrypto-app.html b/docs/api/xmlsec-mscrypto-app.html
index 6bc441b..c4d6d4f 100644
--- a/docs/api/xmlsec-mscrypto-app.html
+++ b/docs/api/xmlsec-mscrypto-app.html
@@ -1,41 +1,14 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>app</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79">
-<link rel="HOME" title="XML Security Library Reference Manual" href="index.html">
-<link rel="UP" title="XML Security Library for MSCrypto API Reference." href="xmlsec-mscrypto-ref.html">
-<link rel="PREVIOUS" title="XML Security Library for MSCrypto API Reference." href="xmlsec-mscrypto-ref.html">
-<link rel="NEXT" title="certkeys" href="xmlsec-mscrypto-certkeys.html">
-<style type="text/css">.synopsis, .classsynopsis {
- background: #eeeeee;
- border: solid 1px #aaaaaa;
- padding: 0.5em;
-}
-.programlisting {
- background: #eeeeff;
- border: solid 1px #aaaaff;
- padding: 0.5em;
-}
-.variablelist {
- padding: 4px;
- margin-left: 3em;
-}
-.navigation {
- background: #ffeeee;
- border: solid 1px #ffaaaa;
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
-.navigation a {
- color: #770000;
-}
-.navigation a:visited {
- color: #550000;
-}
-.navigation .title {
- font-size: 200%;
-}</style>
+<title>app: XML Security Library Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="XML Security Library Reference Manual">
+<link rel="up" href="xmlsec-mscrypto-ref.html" title="XML Security Library for MSCrypto API Reference.">
+<link rel="prev" href="xmlsec-mscrypto-ref.html" title="XML Security Library for MSCrypto API Reference.">
+<link rel="next" href="xmlsec-mscrypto-certkeys.html" title="certkeys">
+<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
<style type="text/css">
table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
width: 20em;
@@ -100,1051 +73,1062 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
</table>
</td>
<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent">
-<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td><a accesskey="p" href="xmlsec-mscrypto-ref.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="xmlsec-mscrypto-ref.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description"> <span class="dim">|</span>
+ <a href="#xmlsec-mscrypto-app.description" class="shortcut">Description</a></span>
+</td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<th width="100%" align="center">XML Security Library Reference Manual</th>
+<td><a accesskey="u" href="xmlsec-mscrypto-ref.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="xmlsec-mscrypto-ref.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="xmlsec-mscrypto-certkeys.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
-<h1>
-<a name="XMLSEC-MSCRYPTO-APP"></a>app</h1>
-<div class="REFNAMEDIV">
-<a name="AEN42067"></a><h2>Name</h2>app -- Application functions implementation for MS Crypto.</div>
-<div class="REFSECT1">
-<a name="XMLSEC-MSCRYPTO-APP.FUNCTIONS"></a><h2>Functions</h2>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN42072"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
+<div class="refentry">
+<a name="xmlsec-mscrypto-app"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="xmlsec-mscrypto-app.top_of_page"></a>app</span></h2>
+<p>app — Application functions implementation for MS Crypto.</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="xmlsec-mscrypto-app.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
<tbody>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-mscrypto-app.html#XMLSECMSCRYPTOAPPINIT">xmlSecMSCryptoAppInit</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-mscrypto-app.html#xmlSecMSCryptoAppInit" title="xmlSecMSCryptoAppInit ()">xmlSecMSCryptoAppInit</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-mscrypto-app.html#XMLSECMSCRYPTOAPPSHUTDOWN">xmlSecMSCryptoAppShutdown</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-mscrypto-app.html#xmlSecMSCryptoAppShutdown" title="xmlSecMSCryptoAppShutdown ()">xmlSecMSCryptoAppShutdown</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">LPCTSTR</span></font></td>
-<td>
-<a href="xmlsec-mscrypto-app.html#XMLSECMSCRYPTOAPPGETCERTSTORENAME">xmlSecMSCryptoAppGetCertStoreName</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">LPCTSTR</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-mscrypto-app.html#xmlSecMSCryptoAppGetCertStoreName" title="xmlSecMSCryptoAppGetCertStoreName ()">xmlSecMSCryptoAppGetCertStoreName</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-mscrypto-app.html#XMLSECMSCRYPTOAPPDEFAULTKEYSMNGRINIT">xmlSecMSCryptoAppDefaultKeysMngrInit</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-mscrypto-app.html#xmlSecMSCryptoAppDefaultKeysMngrInit" title="xmlSecMSCryptoAppDefaultKeysMngrInit ()">xmlSecMSCryptoAppDefaultKeysMngrInit</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-mscrypto-app.html#XMLSECMSCRYPTOAPPDEFAULTKEYSMNGRADOPTKEY">xmlSecMSCryptoAppDefaultKeysMngrAdoptKey</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-mscrypto-app.html#xmlSecMSCryptoAppDefaultKeysMngrAdoptKey" title="xmlSecMSCryptoAppDefaultKeysMngrAdoptKey ()">xmlSecMSCryptoAppDefaultKeysMngrAdoptKey</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-mscrypto-app.html#XMLSECMSCRYPTOAPPDEFAULTKEYSMNGRLOAD">xmlSecMSCryptoAppDefaultKeysMngrLoad</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-mscrypto-app.html#xmlSecMSCryptoAppDefaultKeysMngrLoad" title="xmlSecMSCryptoAppDefaultKeysMngrLoad ()">xmlSecMSCryptoAppDefaultKeysMngrLoad</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-mscrypto-app.html#XMLSECMSCRYPTOAPPDEFAULTKEYSMNGRSAVE">xmlSecMSCryptoAppDefaultKeysMngrSave</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-mscrypto-app.html#xmlSecMSCryptoAppDefaultKeysMngrSave" title="xmlSecMSCryptoAppDefaultKeysMngrSave ()">xmlSecMSCryptoAppDefaultKeysMngrSave</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-mscrypto-app.html#XMLSECMSCRYPTOAPPDEFAULTKEYSMNGRPRIVATEKEYLOAD">xmlSecMSCryptoAppDefaultKeysMngrPrivateKeyLoad</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-mscrypto-app.html#xmlSecMSCryptoAppDefaultKeysMngrPrivateKeyLoad" title="xmlSecMSCryptoAppDefaultKeysMngrPrivateKeyLoad ()">xmlSecMSCryptoAppDefaultKeysMngrPrivateKeyLoad</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-mscrypto-app.html#XMLSECMSCRYPTOAPPDEFAULTKEYSMNGRPUBLICKEYLOAD">xmlSecMSCryptoAppDefaultKeysMngrPublicKeyLoad</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-mscrypto-app.html#xmlSecMSCryptoAppDefaultKeysMngrPublicKeyLoad" title="xmlSecMSCryptoAppDefaultKeysMngrPublicKeyLoad ()">xmlSecMSCryptoAppDefaultKeysMngrPublicKeyLoad</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-mscrypto-app.html#XMLSECMSCRYPTOAPPDEFAULTKEYSMNGRSYMKEYLOAD">xmlSecMSCryptoAppDefaultKeysMngrSymKeyLoad</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-mscrypto-app.html#xmlSecMSCryptoAppDefaultKeysMngrSymKeyLoad" title="xmlSecMSCryptoAppDefaultKeysMngrSymKeyLoad ()">xmlSecMSCryptoAppDefaultKeysMngrSymKeyLoad</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-mscrypto-app.html#XMLSECMSCRYPTOAPPDEFAULTKEYSMNGRADOPTKEYSTORE">xmlSecMSCryptoAppDefaultKeysMngrAdoptKeyStore</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-mscrypto-app.html#xmlSecMSCryptoAppDefaultKeysMngrAdoptKeyStore" title="xmlSecMSCryptoAppDefaultKeysMngrAdoptKeyStore ()">xmlSecMSCryptoAppDefaultKeysMngrAdoptKeyStore</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-mscrypto-app.html#XMLSECMSCRYPTOAPPDEFAULTKEYSMNGRADOPTTRUSTEDSTORE">xmlSecMSCryptoAppDefaultKeysMngrAdoptTrustedStore</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-mscrypto-app.html#xmlSecMSCryptoAppDefaultKeysMngrAdoptTrustedStore" title="xmlSecMSCryptoAppDefaultKeysMngrAdoptTrustedStore ()">xmlSecMSCryptoAppDefaultKeysMngrAdoptTrustedStore</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-mscrypto-app.html#XMLSECMSCRYPTOAPPDEFAULTKEYSMNGRADOPTUNTRUSTEDSTORE">xmlSecMSCryptoAppDefaultKeysMngrAdoptUntrustedStore</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-mscrypto-app.html#xmlSecMSCryptoAppDefaultKeysMngrAdoptUntrustedStore" title="xmlSecMSCryptoAppDefaultKeysMngrAdoptUntrustedStore ()">xmlSecMSCryptoAppDefaultKeysMngrAdoptUntrustedStore</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-mscrypto-app.html#XMLSECMSCRYPTOAPPKEYSMNGRCERTLOAD">xmlSecMSCryptoAppKeysMngrCertLoad</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-mscrypto-app.html#xmlSecMSCryptoAppKeysMngrCertLoad" title="xmlSecMSCryptoAppKeysMngrCertLoad ()">xmlSecMSCryptoAppKeysMngrCertLoad</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-mscrypto-app.html#XMLSECMSCRYPTOAPPKEYSMNGRCERTLOADMEMORY">xmlSecMSCryptoAppKeysMngrCertLoadMemory</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-mscrypto-app.html#xmlSecMSCryptoAppKeysMngrCertLoadMemory" title="xmlSecMSCryptoAppKeysMngrCertLoadMemory ()">xmlSecMSCryptoAppKeysMngrCertLoadMemory</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a></td>
-<td>
-<a href="xmlsec-mscrypto-app.html#XMLSECMSCRYPTOAPPKEYLOAD">xmlSecMSCryptoAppKeyLoad</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecKeyPtr</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-mscrypto-app.html#xmlSecMSCryptoAppKeyLoad" title="xmlSecMSCryptoAppKeyLoad ()">xmlSecMSCryptoAppKeyLoad</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a></td>
-<td>
-<a href="xmlsec-mscrypto-app.html#XMLSECMSCRYPTOAPPKEYLOADMEMORY">xmlSecMSCryptoAppKeyLoadMemory</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecKeyPtr</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-mscrypto-app.html#xmlSecMSCryptoAppKeyLoadMemory" title="xmlSecMSCryptoAppKeyLoadMemory ()">xmlSecMSCryptoAppKeyLoadMemory</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a></td>
-<td>
-<a href="xmlsec-mscrypto-app.html#XMLSECMSCRYPTOAPPPKCS12LOAD">xmlSecMSCryptoAppPkcs12Load</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecKeyPtr</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-mscrypto-app.html#xmlSecMSCryptoAppPkcs12Load" title="xmlSecMSCryptoAppPkcs12Load ()">xmlSecMSCryptoAppPkcs12Load</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a></td>
-<td>
-<a href="xmlsec-mscrypto-app.html#XMLSECMSCRYPTOAPPPKCS12LOADMEMORY">xmlSecMSCryptoAppPkcs12LoadMemory</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecKeyPtr</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-mscrypto-app.html#xmlSecMSCryptoAppPkcs12LoadMemory" title="xmlSecMSCryptoAppPkcs12LoadMemory ()">xmlSecMSCryptoAppPkcs12LoadMemory</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-mscrypto-app.html#XMLSECMSCRYPTOAPPKEYCERTLOAD">xmlSecMSCryptoAppKeyCertLoad</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-mscrypto-app.html#xmlSecMSCryptoAppKeyCertLoad" title="xmlSecMSCryptoAppKeyCertLoad ()">xmlSecMSCryptoAppKeyCertLoad</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-mscrypto-app.html#XMLSECMSCRYPTOAPPKEYCERTLOADMEMORY">xmlSecMSCryptoAppKeyCertLoadMemory</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-mscrypto-app.html#xmlSecMSCryptoAppKeyCertLoadMemory" title="xmlSecMSCryptoAppKeyCertLoadMemory ()">xmlSecMSCryptoAppKeyCertLoadMemory</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td>
-<font><span class="RETURNVALUE">void</span></font> *</td>
-<td>
-<a href="xmlsec-mscrypto-app.html#XMLSECMSCRYPTOAPPGETDEFAULTPWDCALLBACK">xmlSecMSCryptoAppGetDefaultPwdCallback</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">void</span></font> *
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-mscrypto-app.html#xmlSecMSCryptoAppGetDefaultPwdCallback" title="xmlSecMSCryptoAppGetDefaultPwdCallback ()">xmlSecMSCryptoAppGetDefaultPwdCallback</a> <span class="c_punctuation">()</span>
</td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
-</div>
-<div class="REFSECT1">
-<a name="XMLSEC-MSCRYPTO-APP.DESCRIPTION"></a><h2>Description</h2>
-<p>Application functions implementation for MS Crypto.</p>
-</div>
-<div class="REFSECT1">
-<a name="XMLSEC-MSCRYPTO-APP.FUNCTIONS_DETAILS"></a><h2>Functions</h2>
-<div class="REFSECT2">
-<a name="XMLSECMSCRYPTOAPPINIT"></a><h3>xmlSecMSCryptoAppInit ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecMSCryptoAppInit (<code class="PARAMETER">const <font><span class="TYPE">char</span></font> *config</code>);</pre>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="xmlsec-mscrypto-app.description"></a><h2>Description</h2>
+<p>
+Application functions implementation for MS Crypto.
+</p>
+</div>
+<div class="refsect1">
+<a name="xmlsec-mscrypto-app.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="xmlSecMSCryptoAppInit"></a><h3>xmlSecMSCryptoAppInit ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecMSCryptoAppInit (<em class="parameter"><code>const <font><span class="type">char</span></font> *config</code></em>);</pre>
<p>General crypto engine initialization. This function is used
by XMLSec command line utility and called before
-<code class="PARAMETER">xmlSecInit</code>
+<em class="parameter"><code>xmlSecInit</code></em>
function.</p>
-<div class="REFSECT3">
-<a name="AEN42246"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN42248"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecMSCryptoAppInit.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>config</p></td>
-<td><p>the name of another then the default ms certificate store.</p></td>
-<td> </td>
+<td class="parameter_name"><p>config</p></td>
+<td class="parameter_description"><p>the name of another then the default ms certificate store.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN42257"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecMSCryptoAppInit.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECMSCRYPTOAPPSHUTDOWN"></a><h3>xmlSecMSCryptoAppShutdown ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecMSCryptoAppShutdown (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecMSCryptoAppShutdown"></a><h3>xmlSecMSCryptoAppShutdown ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecMSCryptoAppShutdown (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>General crypto engine shutdown. This function is used
by XMLSec command line utility and called after
-<code class="PARAMETER">xmlSecShutdown</code>
+<em class="parameter"><code>xmlSecShutdown</code></em>
function.</p>
-<div class="REFSECT3">
-<a name="AEN42271"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecMSCryptoAppShutdown.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECMSCRYPTOAPPGETCERTSTORENAME"></a><h3>xmlSecMSCryptoAppGetCertStoreName ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">LPCTSTR</span></font>
-xmlSecMSCryptoAppGetCertStoreName (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
-<p>Gets the MS Crypto certs store name set by <code class="PARAMETER">xmlSecMSCryptoAppInit</code>
+<div class="refsect2">
+<a name="xmlSecMSCryptoAppGetCertStoreName"></a><h3>xmlSecMSCryptoAppGetCertStoreName ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">LPCTSTR</span></font>
+xmlSecMSCryptoAppGetCertStoreName (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
+<p>Gets the MS Crypto certs store name set by <em class="parameter"><code>xmlSecMSCryptoAppInit</code></em>
function.</p>
-<div class="REFSECT3">
-<a name="AEN42285"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecMSCryptoAppGetCertStoreName.returns"></a><h4>Returns</h4>
<p> the MS Crypto certs name used by xmlsec-mscrypto.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECMSCRYPTOAPPDEFAULTKEYSMNGRINIT"></a><h3>xmlSecMSCryptoAppDefaultKeysMngrInit ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecMSCryptoAppDefaultKeysMngrInit (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>);</pre>
-<p>Initializes <code class="PARAMETER">mngr</code>
- with simple keys store <a href="xmlsec-keysmngr.html#XMLSECSIMPLEKEYSSTOREID"><span class="TYPE">xmlSecSimpleKeysStoreId</span></a>
+<div class="refsect2">
+<a name="xmlSecMSCryptoAppDefaultKeysMngrInit"></a><h3>xmlSecMSCryptoAppDefaultKeysMngrInit ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecMSCryptoAppDefaultKeysMngrInit (<em class="parameter"><code><font><span class="type">xmlSecKeysMngrPtr</span></font> mngr</code></em>);</pre>
+<p>Initializes <em class="parameter"><code>mngr</code></em>
+ with simple keys store <a class="link" href="xmlsec-keysmngr.html#xmlSecSimpleKeysStoreId" title="xmlSecSimpleKeysStoreId"><span class="type">xmlSecSimpleKeysStoreId</span></a>
and a default MSCrypto crypto key data stores.</p>
-<div class="REFSECT3">
-<a name="AEN42302"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN42304"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecMSCryptoAppDefaultKeysMngrInit.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>mngr</p></td>
-<td><p>the pointer to keys manager.</p></td>
-<td> </td>
+<td class="parameter_name"><p>mngr</p></td>
+<td class="parameter_description"><p>the pointer to keys manager.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN42313"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecMSCryptoAppDefaultKeysMngrInit.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECMSCRYPTOAPPDEFAULTKEYSMNGRADOPTKEY"></a><h3>xmlSecMSCryptoAppDefaultKeysMngrAdoptKey ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
+<div class="refsect2">
+<a name="xmlSecMSCryptoAppDefaultKeysMngrAdoptKey"></a><h3>xmlSecMSCryptoAppDefaultKeysMngrAdoptKey ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
xmlSecMSCryptoAppDefaultKeysMngrAdoptKey
- (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>,
- <code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>);</pre>
-<p>Adds <code class="PARAMETER">key</code>
- to the keys manager <code class="PARAMETER">mngr</code>
- created with <a href="xmlsec-mscrypto-app.html#XMLSECMSCRYPTOAPPDEFAULTKEYSMNGRINIT"><span class="TYPE">xmlSecMSCryptoAppDefaultKeysMngrInit</span></a>
+ (<em class="parameter"><code><font><span class="type">xmlSecKeysMngrPtr</span></font> mngr</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlSecKeyPtr</span></font> key</code></em>);</pre>
+<p>Adds <em class="parameter"><code>key</code></em>
+ to the keys manager <em class="parameter"><code>mngr</code></em>
+ created with <a class="link" href="xmlsec-mscrypto-app.html#xmlSecMSCryptoAppDefaultKeysMngrInit" title="xmlSecMSCryptoAppDefaultKeysMngrInit ()"><span class="type">xmlSecMSCryptoAppDefaultKeysMngrInit</span></a>
function.</p>
-<div class="REFSECT3">
-<a name="AEN42334"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN42336"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecMSCryptoAppDefaultKeysMngrAdoptKey.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>mngr</p></td>
-<td><p>the pointer to keys manager.</p></td>
-<td> </td>
+<td class="parameter_name"><p>mngr</p></td>
+<td class="parameter_description"><p>the pointer to keys manager.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>key</p></td>
-<td><p>the pointer to key.</p></td>
-<td> </td>
+<td class="parameter_name"><p>key</p></td>
+<td class="parameter_description"><p>the pointer to key.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN42351"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecMSCryptoAppDefaultKeysMngrAdoptKey.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECMSCRYPTOAPPDEFAULTKEYSMNGRLOAD"></a><h3>xmlSecMSCryptoAppDefaultKeysMngrLoad ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecMSCryptoAppDefaultKeysMngrLoad (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>,
- <code class="PARAMETER">const <font><span class="TYPE">char</span></font> *uri</code>);</pre>
-<p>Loads XML keys file from <code class="PARAMETER">uri</code>
- to the keys manager <code class="PARAMETER">mngr</code>
+<div class="refsect2">
+<a name="xmlSecMSCryptoAppDefaultKeysMngrLoad"></a><h3>xmlSecMSCryptoAppDefaultKeysMngrLoad ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecMSCryptoAppDefaultKeysMngrLoad (<em class="parameter"><code><font><span class="type">xmlSecKeysMngrPtr</span></font> mngr</code></em>,
+ <em class="parameter"><code>const <font><span class="type">char</span></font> *uri</code></em>);</pre>
+<p>Loads XML keys file from <em class="parameter"><code>uri</code></em>
+ to the keys manager <em class="parameter"><code>mngr</code></em>
created
-with <a href="xmlsec-mscrypto-app.html#XMLSECMSCRYPTOAPPDEFAULTKEYSMNGRINIT"><span class="TYPE">xmlSecMSCryptoAppDefaultKeysMngrInit</span></a> function.</p>
-<div class="REFSECT3">
-<a name="AEN42372"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN42374"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+with <a class="link" href="xmlsec-mscrypto-app.html#xmlSecMSCryptoAppDefaultKeysMngrInit" title="xmlSecMSCryptoAppDefaultKeysMngrInit ()"><span class="type">xmlSecMSCryptoAppDefaultKeysMngrInit</span></a> function.</p>
+<div class="refsect3">
+<a name="xmlSecMSCryptoAppDefaultKeysMngrLoad.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>mngr</p></td>
-<td><p>the pointer to keys manager.</p></td>
-<td> </td>
+<td class="parameter_name"><p>mngr</p></td>
+<td class="parameter_description"><p>the pointer to keys manager.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>uri</p></td>
-<td><p>the uri.</p></td>
-<td> </td>
+<td class="parameter_name"><p>uri</p></td>
+<td class="parameter_description"><p>the uri.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN42389"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecMSCryptoAppDefaultKeysMngrLoad.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECMSCRYPTOAPPDEFAULTKEYSMNGRSAVE"></a><h3>xmlSecMSCryptoAppDefaultKeysMngrSave ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecMSCryptoAppDefaultKeysMngrSave (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>,
- <code class="PARAMETER">const <font><span class="TYPE">char</span></font> *filename</code>,
- <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATATYPE"><span class="TYPE">xmlSecKeyDataType</span></a> type</code>);</pre>
-<p>Saves keys from <code class="PARAMETER">mngr</code>
+<div class="refsect2">
+<a name="xmlSecMSCryptoAppDefaultKeysMngrSave"></a><h3>xmlSecMSCryptoAppDefaultKeysMngrSave ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecMSCryptoAppDefaultKeysMngrSave (<em class="parameter"><code><font><span class="type">xmlSecKeysMngrPtr</span></font> mngr</code></em>,
+ <em class="parameter"><code>const <font><span class="type">char</span></font> *filename</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataType" title="xmlSecKeyDataType"><span class="type">xmlSecKeyDataType</span></a> type</code></em>);</pre>
+<p>Saves keys from <em class="parameter"><code>mngr</code></em>
to XML keys file.</p>
-<div class="REFSECT3">
-<a name="AEN42410"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN42412"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecMSCryptoAppDefaultKeysMngrSave.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>mngr</p></td>
-<td><p>the pointer to keys manager.</p></td>
-<td> </td>
+<td class="parameter_name"><p>mngr</p></td>
+<td class="parameter_description"><p>the pointer to keys manager.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>filename</p></td>
-<td><p>the destination filename.</p></td>
-<td> </td>
+<td class="parameter_name"><p>filename</p></td>
+<td class="parameter_description"><p>the destination filename.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>type</p></td>
-<td><p>the type of keys to save (public/private/symmetric).</p></td>
-<td> </td>
+<td class="parameter_name"><p>type</p></td>
+<td class="parameter_description"><p>the type of keys to save (public/private/symmetric).</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN42433"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecMSCryptoAppDefaultKeysMngrSave.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECMSCRYPTOAPPDEFAULTKEYSMNGRPRIVATEKEYLOAD"></a><h3>xmlSecMSCryptoAppDefaultKeysMngrPrivateKeyLoad ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
+<div class="refsect2">
+<a name="xmlSecMSCryptoAppDefaultKeysMngrPrivateKeyLoad"></a><h3>xmlSecMSCryptoAppDefaultKeysMngrPrivateKeyLoad ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
xmlSecMSCryptoAppDefaultKeysMngrPrivateKeyLoad
- (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>,
- <code class="PARAMETER"><font><span class="TYPE">HCRYPTKEY</span></font> hKey</code>);</pre>
-<p>Adds private key <code class="PARAMETER">hKey</code>
- to the keys manager <code class="PARAMETER">mngr</code>
+ (<em class="parameter"><code><font><span class="type">xmlSecKeysMngrPtr</span></font> mngr</code></em>,
+ <em class="parameter"><code><font><span class="type">HCRYPTKEY</span></font> hKey</code></em>);</pre>
+<p>Adds private key <em class="parameter"><code>hKey</code></em>
+ to the keys manager <em class="parameter"><code>mngr</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN42452"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN42454"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecMSCryptoAppDefaultKeysMngrPrivateKeyLoad.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>mngr</p></td>
-<td><p>the pointer to keys manager.</p></td>
-<td> </td>
+<td class="parameter_name"><p>mngr</p></td>
+<td class="parameter_description"><p>the pointer to keys manager.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>hKey</p></td>
-<td><p>the key handle.</p></td>
-<td> </td>
+<td class="parameter_name"><p>hKey</p></td>
+<td class="parameter_description"><p>the key handle.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN42469"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecMSCryptoAppDefaultKeysMngrPrivateKeyLoad.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECMSCRYPTOAPPDEFAULTKEYSMNGRPUBLICKEYLOAD"></a><h3>xmlSecMSCryptoAppDefaultKeysMngrPublicKeyLoad ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
+<div class="refsect2">
+<a name="xmlSecMSCryptoAppDefaultKeysMngrPublicKeyLoad"></a><h3>xmlSecMSCryptoAppDefaultKeysMngrPublicKeyLoad ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
xmlSecMSCryptoAppDefaultKeysMngrPublicKeyLoad
- (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>,
- <code class="PARAMETER"><font><span class="TYPE">HCRYPTKEY</span></font> hKey</code>);</pre>
-<p>Adds public key <code class="PARAMETER">hKey</code>
- to the keys manager <code class="PARAMETER">mngr</code>
+ (<em class="parameter"><code><font><span class="type">xmlSecKeysMngrPtr</span></font> mngr</code></em>,
+ <em class="parameter"><code><font><span class="type">HCRYPTKEY</span></font> hKey</code></em>);</pre>
+<p>Adds public key <em class="parameter"><code>hKey</code></em>
+ to the keys manager <em class="parameter"><code>mngr</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN42488"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN42490"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecMSCryptoAppDefaultKeysMngrPublicKeyLoad.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>mngr</p></td>
-<td><p>the pointer to keys manager.</p></td>
-<td> </td>
+<td class="parameter_name"><p>mngr</p></td>
+<td class="parameter_description"><p>the pointer to keys manager.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>hKey</p></td>
-<td><p>the key handle.</p></td>
-<td> </td>
+<td class="parameter_name"><p>hKey</p></td>
+<td class="parameter_description"><p>the key handle.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN42505"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecMSCryptoAppDefaultKeysMngrPublicKeyLoad.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECMSCRYPTOAPPDEFAULTKEYSMNGRSYMKEYLOAD"></a><h3>xmlSecMSCryptoAppDefaultKeysMngrSymKeyLoad ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
+<div class="refsect2">
+<a name="xmlSecMSCryptoAppDefaultKeysMngrSymKeyLoad"></a><h3>xmlSecMSCryptoAppDefaultKeysMngrSymKeyLoad ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
xmlSecMSCryptoAppDefaultKeysMngrSymKeyLoad
- (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>,
- <code class="PARAMETER"><font><span class="TYPE">HCRYPTKEY</span></font> hKey</code>);</pre>
-<p>Adds symmetric key <code class="PARAMETER">hKey</code>
- to the keys manager <code class="PARAMETER">mngr</code>
+ (<em class="parameter"><code><font><span class="type">xmlSecKeysMngrPtr</span></font> mngr</code></em>,
+ <em class="parameter"><code><font><span class="type">HCRYPTKEY</span></font> hKey</code></em>);</pre>
+<p>Adds symmetric key <em class="parameter"><code>hKey</code></em>
+ to the keys manager <em class="parameter"><code>mngr</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN42524"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN42526"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecMSCryptoAppDefaultKeysMngrSymKeyLoad.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>mngr</p></td>
-<td><p>the pointer to keys manager.</p></td>
-<td> </td>
+<td class="parameter_name"><p>mngr</p></td>
+<td class="parameter_description"><p>the pointer to keys manager.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>hKey</p></td>
-<td><p>the key handle.</p></td>
-<td> </td>
+<td class="parameter_name"><p>hKey</p></td>
+<td class="parameter_description"><p>the key handle.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN42541"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecMSCryptoAppDefaultKeysMngrSymKeyLoad.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECMSCRYPTOAPPDEFAULTKEYSMNGRADOPTKEYSTORE"></a><h3>xmlSecMSCryptoAppDefaultKeysMngrAdoptKeyStore ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
+<div class="refsect2">
+<a name="xmlSecMSCryptoAppDefaultKeysMngrAdoptKeyStore"></a><h3>xmlSecMSCryptoAppDefaultKeysMngrAdoptKeyStore ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
xmlSecMSCryptoAppDefaultKeysMngrAdoptKeyStore
- (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>,
- <code class="PARAMETER"><font><span class="TYPE">HCERTSTORE</span></font> keyStore</code>);</pre>
-<p>Adds <code class="PARAMETER">keyStore</code>
- to the list of key stores in the keys manager <code class="PARAMETER">mngr</code>
+ (<em class="parameter"><code><font><span class="type">xmlSecKeysMngrPtr</span></font> mngr</code></em>,
+ <em class="parameter"><code><font><span class="type">HCERTSTORE</span></font> keyStore</code></em>);</pre>
+<p>Adds <em class="parameter"><code>keyStore</code></em>
+ to the list of key stores in the keys manager <em class="parameter"><code>mngr</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN42560"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN42562"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecMSCryptoAppDefaultKeysMngrAdoptKeyStore.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>mngr</p></td>
-<td><p>the keys manager.</p></td>
-<td> </td>
+<td class="parameter_name"><p>mngr</p></td>
+<td class="parameter_description"><p>the keys manager.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>keyStore</p></td>
-<td><p>the pointer to keys store.</p></td>
-<td> </td>
+<td class="parameter_name"><p>keyStore</p></td>
+<td class="parameter_description"><p>the pointer to keys store.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN42577"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecMSCryptoAppDefaultKeysMngrAdoptKeyStore.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECMSCRYPTOAPPDEFAULTKEYSMNGRADOPTTRUSTEDSTORE"></a><h3>xmlSecMSCryptoAppDefaultKeysMngrAdoptTrustedStore ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
+<div class="refsect2">
+<a name="xmlSecMSCryptoAppDefaultKeysMngrAdoptTrustedStore"></a><h3>xmlSecMSCryptoAppDefaultKeysMngrAdoptTrustedStore ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
xmlSecMSCryptoAppDefaultKeysMngrAdoptTrustedStore
- (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>,
- <code class="PARAMETER"><font><span class="TYPE">HCERTSTORE</span></font> trustedStore</code>);</pre>
-<p>Adds <code class="PARAMETER">trustedStore</code>
- to the list of trusted cert stores in the keys manager <code class="PARAMETER">mngr</code>
+ (<em class="parameter"><code><font><span class="type">xmlSecKeysMngrPtr</span></font> mngr</code></em>,
+ <em class="parameter"><code><font><span class="type">HCERTSTORE</span></font> trustedStore</code></em>);</pre>
+<p>Adds <em class="parameter"><code>trustedStore</code></em>
+ to the list of trusted cert stores in the keys manager <em class="parameter"><code>mngr</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN42596"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN42598"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecMSCryptoAppDefaultKeysMngrAdoptTrustedStore.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>mngr</p></td>
-<td><p>the keys manager.</p></td>
-<td> </td>
+<td class="parameter_name"><p>mngr</p></td>
+<td class="parameter_description"><p>the keys manager.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>trustedStore</p></td>
-<td><p>the pointer to certs store.</p></td>
-<td> </td>
+<td class="parameter_name"><p>trustedStore</p></td>
+<td class="parameter_description"><p>the pointer to certs store.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN42613"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecMSCryptoAppDefaultKeysMngrAdoptTrustedStore.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECMSCRYPTOAPPDEFAULTKEYSMNGRADOPTUNTRUSTEDSTORE"></a><h3>xmlSecMSCryptoAppDefaultKeysMngrAdoptUntrustedStore ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
+<div class="refsect2">
+<a name="xmlSecMSCryptoAppDefaultKeysMngrAdoptUntrustedStore"></a><h3>xmlSecMSCryptoAppDefaultKeysMngrAdoptUntrustedStore ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
xmlSecMSCryptoAppDefaultKeysMngrAdoptUntrustedStore
- (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>,
- <code class="PARAMETER"><font><span class="TYPE">HCERTSTORE</span></font> untrustedStore</code>);</pre>
-<p>Adds <code class="PARAMETER">trustedStore</code>
- to the list of un-trusted cert stores in the keys manager <code class="PARAMETER">mngr</code>
+ (<em class="parameter"><code><font><span class="type">xmlSecKeysMngrPtr</span></font> mngr</code></em>,
+ <em class="parameter"><code><font><span class="type">HCERTSTORE</span></font> untrustedStore</code></em>);</pre>
+<p>Adds <em class="parameter"><code>trustedStore</code></em>
+ to the list of un-trusted cert stores in the keys manager <em class="parameter"><code>mngr</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN42632"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN42634"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecMSCryptoAppDefaultKeysMngrAdoptUntrustedStore.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>mngr</p></td>
-<td><p>the keys manager.</p></td>
-<td> </td>
+<td class="parameter_name"><p>mngr</p></td>
+<td class="parameter_description"><p>the keys manager.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>untrustedStore</p></td>
-<td><p>the pointer to certs store.</p></td>
-<td> </td>
+<td class="parameter_name"><p>untrustedStore</p></td>
+<td class="parameter_description"><p>the pointer to certs store.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN42649"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecMSCryptoAppDefaultKeysMngrAdoptUntrustedStore.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECMSCRYPTOAPPKEYSMNGRCERTLOAD"></a><h3>xmlSecMSCryptoAppKeysMngrCertLoad ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecMSCryptoAppKeysMngrCertLoad (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>,
- <code class="PARAMETER">const <font><span class="TYPE">char</span></font> *filename</code>,
- <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT"><span class="TYPE">xmlSecKeyDataFormat</span></a> format</code>,
- <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATATYPE"><span class="TYPE">xmlSecKeyDataType</span></a> type</code>);</pre>
-<p>Reads cert from <code class="PARAMETER">filename</code>
+<div class="refsect2">
+<a name="xmlSecMSCryptoAppKeysMngrCertLoad"></a><h3>xmlSecMSCryptoAppKeysMngrCertLoad ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecMSCryptoAppKeysMngrCertLoad (<em class="parameter"><code><font><span class="type">xmlSecKeysMngrPtr</span></font> mngr</code></em>,
+ <em class="parameter"><code>const <font><span class="type">char</span></font> *filename</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataFormat" title="enum xmlSecKeyDataFormat"><span class="type">xmlSecKeyDataFormat</span></a> format</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataType" title="xmlSecKeyDataType"><span class="type">xmlSecKeyDataType</span></a> type</code></em>);</pre>
+<p>Reads cert from <em class="parameter"><code>filename</code></em>
and adds to the list of trusted or known
-untrusted certs in <code class="PARAMETER">store</code>
+untrusted certs in <em class="parameter"><code>store</code></em>
(not implemented yet).</p>
-<div class="REFSECT3">
-<a name="AEN42674"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN42676"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecMSCryptoAppKeysMngrCertLoad.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>mngr</p></td>
-<td><p>the keys manager.</p></td>
-<td> </td>
+<td class="parameter_name"><p>mngr</p></td>
+<td class="parameter_description"><p>the keys manager.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>filename</p></td>
-<td><p>the certificate file.</p></td>
-<td> </td>
+<td class="parameter_name"><p>filename</p></td>
+<td class="parameter_description"><p>the certificate file.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>format</p></td>
-<td><p>the certificate file format.</p></td>
-<td> </td>
+<td class="parameter_name"><p>format</p></td>
+<td class="parameter_description"><p>the certificate file format.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>type</p></td>
-<td><p>the flag that indicates is the certificate in <code class="PARAMETER">filename</code>
+<td class="parameter_name"><p>type</p></td>
+<td class="parameter_description"><p>the flag that indicates is the certificate in <em class="parameter"><code>filename</code></em>
trusted or not.</p></td>
-<td> </td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN42704"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecMSCryptoAppKeysMngrCertLoad.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECMSCRYPTOAPPKEYSMNGRCERTLOADMEMORY"></a><h3>xmlSecMSCryptoAppKeysMngrCertLoadMemory ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
+<div class="refsect2">
+<a name="xmlSecMSCryptoAppKeysMngrCertLoadMemory"></a><h3>xmlSecMSCryptoAppKeysMngrCertLoadMemory ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
xmlSecMSCryptoAppKeysMngrCertLoadMemory
- (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>,
- <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>,
- <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> dataSize</code>,
- <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT"><span class="TYPE">xmlSecKeyDataFormat</span></a> format</code>,
- <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATATYPE"><span class="TYPE">xmlSecKeyDataType</span></a> type</code>);</pre>
-<p>Reads cert from <code class="PARAMETER">data</code>
+ (<em class="parameter"><code><font><span class="type">xmlSecKeysMngrPtr</span></font> mngr</code></em>,
+ <em class="parameter"><code>const <a class="link" href="xmlsec-xmlsec.html#xmlSecByte" title="xmlSecByte"><span class="type">xmlSecByte</span></a> *data</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="type">xmlSecSize</span></a> dataSize</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataFormat" title="enum xmlSecKeyDataFormat"><span class="type">xmlSecKeyDataFormat</span></a> format</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataType" title="xmlSecKeyDataType"><span class="type">xmlSecKeyDataType</span></a> type</code></em>);</pre>
+<p>Reads cert from <em class="parameter"><code>data</code></em>
and adds to the list of trusted or known
-untrusted certs in <code class="PARAMETER">store</code>
+untrusted certs in <em class="parameter"><code>store</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN42732"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN42734"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecMSCryptoAppKeysMngrCertLoadMemory.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>mngr</p></td>
-<td><p>the keys manager.</p></td>
-<td> </td>
+<td class="parameter_name"><p>mngr</p></td>
+<td class="parameter_description"><p>the keys manager.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>data</p></td>
-<td><p>the binary certificate.</p></td>
-<td> </td>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the binary certificate.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>dataSize</p></td>
-<td><p>size of binary certificate (data)</p></td>
-<td> </td>
+<td class="parameter_name"><p>dataSize</p></td>
+<td class="parameter_description"><p>size of binary certificate (data)</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>format</p></td>
-<td><p>the certificate file format.</p></td>
-<td> </td>
+<td class="parameter_name"><p>format</p></td>
+<td class="parameter_description"><p>the certificate file format.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>type</p></td>
-<td><p>the flag that indicates is the certificate in <code class="PARAMETER">filename</code>
+<td class="parameter_name"><p>type</p></td>
+<td class="parameter_description"><p>the flag that indicates is the certificate in <em class="parameter"><code>filename</code></em>
trusted or not.</p></td>
-<td> </td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN42768"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecMSCryptoAppKeysMngrCertLoadMemory.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECMSCRYPTOAPPKEYLOAD"></a><h3>xmlSecMSCryptoAppKeyLoad ()</h3>
-<pre class="PROGRAMLISTING"><a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a>
-xmlSecMSCryptoAppKeyLoad (<code class="PARAMETER">const <font><span class="TYPE">char</span></font> *filename</code>,
- <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT"><span class="TYPE">xmlSecKeyDataFormat</span></a> format</code>,
- <code class="PARAMETER">const <font><span class="TYPE">char</span></font> *pwd</code>,
- <code class="PARAMETER"><font><span class="TYPE">void</span></font> *pwdCallback</code>,
- <code class="PARAMETER"><font><span class="TYPE">void</span></font> *pwdCallbackCtx</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecMSCryptoAppKeyLoad"></a><h3>xmlSecMSCryptoAppKeyLoad ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecKeyPtr</span></font>
+xmlSecMSCryptoAppKeyLoad (<em class="parameter"><code>const <font><span class="type">char</span></font> *filename</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataFormat" title="enum xmlSecKeyDataFormat"><span class="type">xmlSecKeyDataFormat</span></a> format</code></em>,
+ <em class="parameter"><code>const <font><span class="type">char</span></font> *pwd</code></em>,
+ <em class="parameter"><code><font><span class="type">void</span></font> *pwdCallback</code></em>,
+ <em class="parameter"><code><font><span class="type">void</span></font> *pwdCallbackCtx</code></em>);</pre>
<p>Reads key from the a file.</p>
-<div class="REFSECT3">
-<a name="AEN42794"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN42796"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecMSCryptoAppKeyLoad.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>filename</p></td>
-<td><p>the key filename.</p></td>
-<td> </td>
+<td class="parameter_name"><p>filename</p></td>
+<td class="parameter_description"><p>the key filename.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>format</p></td>
-<td><p>the key file format.</p></td>
-<td> </td>
+<td class="parameter_name"><p>format</p></td>
+<td class="parameter_description"><p>the key file format.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>pwd</p></td>
-<td><p>the key file password.</p></td>
-<td> </td>
+<td class="parameter_name"><p>pwd</p></td>
+<td class="parameter_description"><p>the key file password.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>pwdCallback</p></td>
-<td><p>the key password callback.</p></td>
-<td> </td>
+<td class="parameter_name"><p>pwdCallback</p></td>
+<td class="parameter_description"><p>the key password callback.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>pwdCallbackCtx</p></td>
-<td><p>the user context for password callback.</p></td>
-<td> </td>
+<td class="parameter_name"><p>pwdCallbackCtx</p></td>
+<td class="parameter_description"><p>the user context for password callback.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN42829"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecMSCryptoAppKeyLoad.returns"></a><h4>Returns</h4>
<p> pointer to the key or NULL if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECMSCRYPTOAPPKEYLOADMEMORY"></a><h3>xmlSecMSCryptoAppKeyLoadMemory ()</h3>
-<pre class="PROGRAMLISTING"><a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a>
-xmlSecMSCryptoAppKeyLoadMemory (<code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>,
- <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> dataSize</code>,
- <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT"><span class="TYPE">xmlSecKeyDataFormat</span></a> format</code>,
- <code class="PARAMETER">const <font><span class="TYPE">char</span></font> *pwd</code>,
- <code class="PARAMETER"><font><span class="TYPE">void</span></font> *pwdCallback</code>,
- <code class="PARAMETER"><font><span class="TYPE">void</span></font> *pwdCallbackCtx</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecMSCryptoAppKeyLoadMemory"></a><h3>xmlSecMSCryptoAppKeyLoadMemory ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecKeyPtr</span></font>
+xmlSecMSCryptoAppKeyLoadMemory (<em class="parameter"><code>const <a class="link" href="xmlsec-xmlsec.html#xmlSecByte" title="xmlSecByte"><span class="type">xmlSecByte</span></a> *data</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="type">xmlSecSize</span></a> dataSize</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataFormat" title="enum xmlSecKeyDataFormat"><span class="type">xmlSecKeyDataFormat</span></a> format</code></em>,
+ <em class="parameter"><code>const <font><span class="type">char</span></font> *pwd</code></em>,
+ <em class="parameter"><code><font><span class="type">void</span></font> *pwdCallback</code></em>,
+ <em class="parameter"><code><font><span class="type">void</span></font> *pwdCallbackCtx</code></em>);</pre>
<p>Reads key from the a file.</p>
-<div class="REFSECT3">
-<a name="AEN42858"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN42860"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecMSCryptoAppKeyLoadMemory.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>data</p></td>
-<td><p>the key binary data.</p></td>
-<td> </td>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the key binary data.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>dataSize</p></td>
-<td><p>the key data size.</p></td>
-<td> </td>
+<td class="parameter_name"><p>dataSize</p></td>
+<td class="parameter_description"><p>the key data size.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>format</p></td>
-<td><p>the key format.</p></td>
-<td> </td>
+<td class="parameter_name"><p>format</p></td>
+<td class="parameter_description"><p>the key format.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>pwd</p></td>
-<td><p>the key password.</p></td>
-<td> </td>
+<td class="parameter_name"><p>pwd</p></td>
+<td class="parameter_description"><p>the key password.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>pwdCallback</p></td>
-<td><p>the key password callback.</p></td>
-<td> </td>
+<td class="parameter_name"><p>pwdCallback</p></td>
+<td class="parameter_description"><p>the key password callback.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>pwdCallbackCtx</p></td>
-<td><p>the user context for password callback.</p></td>
-<td> </td>
+<td class="parameter_name"><p>pwdCallbackCtx</p></td>
+<td class="parameter_description"><p>the user context for password callback.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN42899"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecMSCryptoAppKeyLoadMemory.returns"></a><h4>Returns</h4>
<p> pointer to the key or NULL if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECMSCRYPTOAPPPKCS12LOAD"></a><h3>xmlSecMSCryptoAppPkcs12Load ()</h3>
-<pre class="PROGRAMLISTING"><a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a>
-xmlSecMSCryptoAppPkcs12Load (<code class="PARAMETER">const <font><span class="TYPE">char</span></font> *filename</code>,
- <code class="PARAMETER">const <font><span class="TYPE">char</span></font> *pwd</code>,
- <code class="PARAMETER"><font><span class="TYPE">void</span></font> *pwdCallback</code>,
- <code class="PARAMETER"><font><span class="TYPE">void</span></font> *pwdCallbackCtx</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecMSCryptoAppPkcs12Load"></a><h3>xmlSecMSCryptoAppPkcs12Load ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecKeyPtr</span></font>
+xmlSecMSCryptoAppPkcs12Load (<em class="parameter"><code>const <font><span class="type">char</span></font> *filename</code></em>,
+ <em class="parameter"><code>const <font><span class="type">char</span></font> *pwd</code></em>,
+ <em class="parameter"><code><font><span class="type">void</span></font> *pwdCallback</code></em>,
+ <em class="parameter"><code><font><span class="type">void</span></font> *pwdCallbackCtx</code></em>);</pre>
<p>Reads key and all associated certificates from the PKCS12 file</p>
-<div class="REFSECT3">
-<a name="AEN42922"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN42924"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecMSCryptoAppPkcs12Load.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>filename</p></td>
-<td><p>the PKCS12 key filename.</p></td>
-<td> </td>
+<td class="parameter_name"><p>filename</p></td>
+<td class="parameter_description"><p>the PKCS12 key filename.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>pwd</p></td>
-<td><p>the PKCS12 file password.</p></td>
-<td> </td>
+<td class="parameter_name"><p>pwd</p></td>
+<td class="parameter_description"><p>the PKCS12 file password.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>pwdCallback</p></td>
-<td><p>the password callback.</p></td>
-<td> </td>
+<td class="parameter_name"><p>pwdCallback</p></td>
+<td class="parameter_description"><p>the password callback.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>pwdCallbackCtx</p></td>
-<td><p>the user context for password callback.</p></td>
-<td> </td>
+<td class="parameter_name"><p>pwdCallbackCtx</p></td>
+<td class="parameter_description"><p>the user context for password callback.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN42951"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecMSCryptoAppPkcs12Load.returns"></a><h4>Returns</h4>
<p> pointer to the key or NULL if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECMSCRYPTOAPPPKCS12LOADMEMORY"></a><h3>xmlSecMSCryptoAppPkcs12LoadMemory ()</h3>
-<pre class="PROGRAMLISTING"><a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a>
-xmlSecMSCryptoAppPkcs12LoadMemory (<code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>,
- <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> dataSize</code>,
- <code class="PARAMETER">const <font><span class="TYPE">char</span></font> *pwd</code>,
- <code class="PARAMETER"><font><span class="TYPE">void</span></font> *pwdCallback</code>,
- <code class="PARAMETER"><font><span class="TYPE">void</span></font> *pwdCallbackCtx</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecMSCryptoAppPkcs12LoadMemory"></a><h3>xmlSecMSCryptoAppPkcs12LoadMemory ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecKeyPtr</span></font>
+xmlSecMSCryptoAppPkcs12LoadMemory (<em class="parameter"><code>const <a class="link" href="xmlsec-xmlsec.html#xmlSecByte" title="xmlSecByte"><span class="type">xmlSecByte</span></a> *data</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="type">xmlSecSize</span></a> dataSize</code></em>,
+ <em class="parameter"><code>const <font><span class="type">char</span></font> *pwd</code></em>,
+ <em class="parameter"><code><font><span class="type">void</span></font> *pwdCallback</code></em>,
+ <em class="parameter"><code><font><span class="type">void</span></font> *pwdCallbackCtx</code></em>);</pre>
<p>Reads key and all associated certificates from the PKCS12 binary</p>
-<div class="REFSECT3">
-<a name="AEN42977"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN42979"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecMSCryptoAppPkcs12LoadMemory.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>data</p></td>
-<td><p>the binary PKCS12 key in data.</p></td>
-<td> </td>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the binary PKCS12 key in data.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>dataSize</p></td>
-<td><p>size of binary pkcs12 data</p></td>
-<td> </td>
+<td class="parameter_name"><p>dataSize</p></td>
+<td class="parameter_description"><p>size of binary pkcs12 data</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>pwd</p></td>
-<td><p>the PKCS12 file password.</p></td>
-<td> </td>
+<td class="parameter_name"><p>pwd</p></td>
+<td class="parameter_description"><p>the PKCS12 file password.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>pwdCallback</p></td>
-<td><p>the password callback.</p></td>
-<td> </td>
+<td class="parameter_name"><p>pwdCallback</p></td>
+<td class="parameter_description"><p>the password callback.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>pwdCallbackCtx</p></td>
-<td><p>the user context for password callback.</p></td>
-<td> </td>
+<td class="parameter_name"><p>pwdCallbackCtx</p></td>
+<td class="parameter_description"><p>the user context for password callback.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN43012"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecMSCryptoAppPkcs12LoadMemory.returns"></a><h4>Returns</h4>
<p> pointer to the key or NULL if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECMSCRYPTOAPPKEYCERTLOAD"></a><h3>xmlSecMSCryptoAppKeyCertLoad ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecMSCryptoAppKeyCertLoad (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>,
- <code class="PARAMETER">const <font><span class="TYPE">char</span></font> *filename</code>,
- <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT"><span class="TYPE">xmlSecKeyDataFormat</span></a> format</code>);</pre>
-<p>Reads the certificate from $<code class="PARAMETER">filename</code>
+<div class="refsect2">
+<a name="xmlSecMSCryptoAppKeyCertLoad"></a><h3>xmlSecMSCryptoAppKeyCertLoad ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecMSCryptoAppKeyCertLoad (<em class="parameter"><code><font><span class="type">xmlSecKeyPtr</span></font> key</code></em>,
+ <em class="parameter"><code>const <font><span class="type">char</span></font> *filename</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataFormat" title="enum xmlSecKeyDataFormat"><span class="type">xmlSecKeyDataFormat</span></a> format</code></em>);</pre>
+<p>Reads the certificate from $<em class="parameter"><code>filename</code></em>
and adds it to key.</p>
-<div class="REFSECT3">
-<a name="AEN43033"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN43035"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecMSCryptoAppKeyCertLoad.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>key</p></td>
-<td><p>the pointer to key.</p></td>
-<td> </td>
+<td class="parameter_name"><p>key</p></td>
+<td class="parameter_description"><p>the pointer to key.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>filename</p></td>
-<td><p>the certificate filename.</p></td>
-<td> </td>
+<td class="parameter_name"><p>filename</p></td>
+<td class="parameter_description"><p>the certificate filename.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>format</p></td>
-<td><p>the certificate file format.</p></td>
-<td> </td>
+<td class="parameter_name"><p>format</p></td>
+<td class="parameter_description"><p>the certificate file format.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN43056"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecMSCryptoAppKeyCertLoad.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECMSCRYPTOAPPKEYCERTLOADMEMORY"></a><h3>xmlSecMSCryptoAppKeyCertLoadMemory ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecMSCryptoAppKeyCertLoadMemory (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>,
- <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>,
- <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> dataSize</code>,
- <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT"><span class="TYPE">xmlSecKeyDataFormat</span></a> format</code>);</pre>
-<p>Reads the certificate from $<code class="PARAMETER">data</code>
+<div class="refsect2">
+<a name="xmlSecMSCryptoAppKeyCertLoadMemory"></a><h3>xmlSecMSCryptoAppKeyCertLoadMemory ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecMSCryptoAppKeyCertLoadMemory (<em class="parameter"><code><font><span class="type">xmlSecKeyPtr</span></font> key</code></em>,
+ <em class="parameter"><code>const <a class="link" href="xmlsec-xmlsec.html#xmlSecByte" title="xmlSecByte"><span class="type">xmlSecByte</span></a> *data</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="type">xmlSecSize</span></a> dataSize</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataFormat" title="enum xmlSecKeyDataFormat"><span class="type">xmlSecKeyDataFormat</span></a> format</code></em>);</pre>
+<p>Reads the certificate from $<em class="parameter"><code>data</code></em>
and adds it to key.</p>
-<div class="REFSECT3">
-<a name="AEN43080"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN43082"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecMSCryptoAppKeyCertLoadMemory.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>key</p></td>
-<td><p>the pointer to key.</p></td>
-<td> </td>
+<td class="parameter_name"><p>key</p></td>
+<td class="parameter_description"><p>the pointer to key.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>data</p></td>
-<td><p>the binary certificate.</p></td>
-<td> </td>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the binary certificate.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>dataSize</p></td>
-<td><p>size of certificate binary (data)</p></td>
-<td> </td>
+<td class="parameter_name"><p>dataSize</p></td>
+<td class="parameter_description"><p>size of certificate binary (data)</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>format</p></td>
-<td><p>the certificate file format.</p></td>
-<td> </td>
+<td class="parameter_name"><p>format</p></td>
+<td class="parameter_description"><p>the certificate file format.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN43109"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecMSCryptoAppKeyCertLoadMemory.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECMSCRYPTOAPPGETDEFAULTPWDCALLBACK"></a><h3>xmlSecMSCryptoAppGetDefaultPwdCallback ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">void</span></font> *
+<div class="refsect2">
+<a name="xmlSecMSCryptoAppGetDefaultPwdCallback"></a><h3>xmlSecMSCryptoAppGetDefaultPwdCallback ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">void</span></font> *
xmlSecMSCryptoAppGetDefaultPwdCallback
- (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+ (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>Gets default password callback.</p>
-<div class="REFSECT3">
-<a name="AEN43122"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecMSCryptoAppGetDefaultPwdCallback.returns"></a><h4>Returns</h4>
<p> default password callback.</p>
</div>
</div>
</div>
-<div class="REFSECT1">
-<a name="XMLSEC-MSCRYPTO-APP.OTHER_DETAILS"></a><h2>Types and Values</h2>
-<p></p>
+<div class="refsect1">
+<a name="xmlsec-mscrypto-app.other_details"></a><h2>Types and Values</h2>
</div>
-<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td align="left"><a accesskey="p" href="xmlsec-mscrypto-ref.html"><b><<< XML Security Library for MSCrypto API Reference.</b></a></td>
-<td align="right"><a accesskey="n" href="xmlsec-mscrypto-certkeys.html"><b>certkeys >>></b></a></td>
-</tr></table>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
</td></tr></table></td>
</tr></table></body>
</html>
diff --git a/docs/api/xmlsec-mscrypto-certkeys.html b/docs/api/xmlsec-mscrypto-certkeys.html
index 3df1040..a2a9104 100644
--- a/docs/api/xmlsec-mscrypto-certkeys.html
+++ b/docs/api/xmlsec-mscrypto-certkeys.html
@@ -1,41 +1,14 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>certkeys</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79">
-<link rel="HOME" title="XML Security Library Reference Manual" href="index.html">
-<link rel="UP" title="XML Security Library for MSCrypto API Reference." href="xmlsec-mscrypto-ref.html">
-<link rel="PREVIOUS" title="app" href="xmlsec-mscrypto-app.html">
-<link rel="NEXT" title="crypto" href="xmlsec-mscrypto-crypto.html">
-<style type="text/css">.synopsis, .classsynopsis {
- background: #eeeeee;
- border: solid 1px #aaaaaa;
- padding: 0.5em;
-}
-.programlisting {
- background: #eeeeff;
- border: solid 1px #aaaaff;
- padding: 0.5em;
-}
-.variablelist {
- padding: 4px;
- margin-left: 3em;
-}
-.navigation {
- background: #ffeeee;
- border: solid 1px #ffaaaa;
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
-.navigation a {
- color: #770000;
-}
-.navigation a:visited {
- color: #550000;
-}
-.navigation .title {
- font-size: 200%;
-}</style>
+<title>certkeys: XML Security Library Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="XML Security Library Reference Manual">
+<link rel="up" href="xmlsec-mscrypto-ref.html" title="XML Security Library for MSCrypto API Reference.">
+<link rel="prev" href="xmlsec-mscrypto-app.html" title="app">
+<link rel="next" href="xmlsec-mscrypto-crypto.html" title="crypto">
+<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
<style type="text/css">
table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
width: 20em;
@@ -100,319 +73,346 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
</table>
</td>
<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent">
-<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td><a accesskey="p" href="xmlsec-mscrypto-app.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="xmlsec-mscrypto-ref.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description"> <span class="dim">|</span>
+ <a href="#xmlsec-mscrypto-certkeys.description" class="shortcut">Description</a></span>
+</td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<th width="100%" align="center">XML Security Library Reference Manual</th>
+<td><a accesskey="u" href="xmlsec-mscrypto-ref.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="xmlsec-mscrypto-app.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="xmlsec-mscrypto-crypto.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
-<h1>
-<a name="XMLSEC-MSCRYPTO-CERTKEYS"></a>certkeys</h1>
-<div class="REFNAMEDIV">
-<a name="AEN43133"></a><h2>Name</h2>certkeys -- MS Crypto certificates helper functions.</div>
-<div class="REFSECT1">
-<a name="XMLSEC-MSCRYPTO-CERTKEYS.FUNCTIONS"></a><h2>Functions</h2>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN43138"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
+<div class="refentry">
+<a name="xmlsec-mscrypto-certkeys"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="xmlsec-mscrypto-certkeys.top_of_page"></a>certkeys</span></h2>
+<p>certkeys — MS Crypto certificates helper functions.</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="xmlsec-mscrypto-certkeys.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
<tbody>
<tr>
-<td><font><span class="RETURNVALUE">PCCERT_CONTEXT</span></font></td>
-<td>
-<a href="xmlsec-mscrypto-certkeys.html#XMLSECMSCRYPTOKEYDATAGETCERT">xmlSecMSCryptoKeyDataGetCert</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">PCCERT_CONTEXT</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-mscrypto-certkeys.html#xmlSecMSCryptoKeyDataGetCert" title="xmlSecMSCryptoKeyDataGetCert ()">xmlSecMSCryptoKeyDataGetCert</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">HCRYPTKEY</span></font></td>
-<td>
-<a href="xmlsec-mscrypto-certkeys.html#XMLSECMSCRYPTOKEYDATAGETKEY">xmlSecMSCryptoKeyDataGetKey</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">HCRYPTKEY</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-mscrypto-certkeys.html#xmlSecMSCryptoKeyDataGetKey" title="xmlSecMSCryptoKeyDataGetKey ()">xmlSecMSCryptoKeyDataGetKey</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">HCRYPTKEY</span></font></td>
-<td>
-<a href="xmlsec-mscrypto-certkeys.html#XMLSECMSCRYPTOKEYDATAGETDECRYPTKEY">xmlSecMSCryptoKeyDataGetDecryptKey</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">HCRYPTKEY</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-mscrypto-certkeys.html#xmlSecMSCryptoKeyDataGetDecryptKey" title="xmlSecMSCryptoKeyDataGetDecryptKey ()">xmlSecMSCryptoKeyDataGetDecryptKey</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">PCCERT_CONTEXT</span></font></td>
-<td>
-<a href="xmlsec-mscrypto-certkeys.html#XMLSECMSCRYPTOCERTDUP">xmlSecMSCryptoCertDup</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">PCCERT_CONTEXT</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-mscrypto-certkeys.html#xmlSecMSCryptoCertDup" title="xmlSecMSCryptoCertDup ()">xmlSecMSCryptoCertDup</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="RETURNVALUE">xmlSecKeyDataPtr</span></a></td>
-<td>
-<a href="xmlsec-mscrypto-certkeys.html#XMLSECMSCRYPTOCERTADOPT">xmlSecMSCryptoCertAdopt</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecKeyDataPtr</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-mscrypto-certkeys.html#xmlSecMSCryptoCertAdopt" title="xmlSecMSCryptoCertAdopt ()">xmlSecMSCryptoCertAdopt</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">HCRYPTPROV</span></font></td>
-<td>
-<a href="xmlsec-mscrypto-certkeys.html#XMLSECMSCRYPTOKEYDATAGETMSCRYPTOPROVIDER">xmlSecMSCryptoKeyDataGetMSCryptoProvider</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">HCRYPTPROV</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-mscrypto-certkeys.html#xmlSecMSCryptoKeyDataGetMSCryptoProvider" title="xmlSecMSCryptoKeyDataGetMSCryptoProvider ()">xmlSecMSCryptoKeyDataGetMSCryptoProvider</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">DWORD</span></font></td>
-<td>
-<a href="xmlsec-mscrypto-certkeys.html#XMLSECMSCRYPTOKEYDATAGETMSCRYPTOKEYSPEC">xmlSecMSCryptoKeyDataGetMSCryptoKeySpec</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">DWORD</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-mscrypto-certkeys.html#xmlSecMSCryptoKeyDataGetMSCryptoKeySpec" title="xmlSecMSCryptoKeyDataGetMSCryptoKeySpec ()">xmlSecMSCryptoKeyDataGetMSCryptoKeySpec</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">PCRYPT_KEY_PROV_INFO</span></font></td>
-<td>
-<a href="xmlsec-mscrypto-certkeys.html#XMLSECMSCRYPTOKEYDATAGETMSCRYPTOPROVIDERINFO">xmlSecMSCryptoKeyDataGetMSCryptoProviderInfo</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">PCRYPT_KEY_PROV_INFO</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-mscrypto-certkeys.html#xmlSecMSCryptoKeyDataGetMSCryptoProviderInfo" title="xmlSecMSCryptoKeyDataGetMSCryptoProviderInfo ()">xmlSecMSCryptoKeyDataGetMSCryptoProviderInfo</a> <span class="c_punctuation">()</span>
</td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
-</div>
-<div class="REFSECT1">
-<a name="XMLSEC-MSCRYPTO-CERTKEYS.DESCRIPTION"></a><h2>Description</h2>
-<p>MS Crypto certificates helper functions.</p>
-</div>
-<div class="REFSECT1">
-<a name="XMLSEC-MSCRYPTO-CERTKEYS.FUNCTIONS_DETAILS"></a><h2>Functions</h2>
-<div class="REFSECT2">
-<a name="XMLSECMSCRYPTOKEYDATAGETCERT"></a><h3>xmlSecMSCryptoKeyDataGetCert ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">PCCERT_CONTEXT</span></font>
-xmlSecMSCryptoKeyDataGetCert (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>);</pre>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="xmlsec-mscrypto-certkeys.description"></a><h2>Description</h2>
+<p>
+MS Crypto certificates helper functions.
+</p>
+</div>
+<div class="refsect1">
+<a name="xmlsec-mscrypto-certkeys.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="xmlSecMSCryptoKeyDataGetCert"></a><h3>xmlSecMSCryptoKeyDataGetCert ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">PCCERT_CONTEXT</span></font>
+xmlSecMSCryptoKeyDataGetCert (<em class="parameter"><code><font><span class="type">xmlSecKeyDataPtr</span></font> data</code></em>);</pre>
<p>Native MSCrypto certificate retrieval from xmlsec keydata. The
returned PCCERT_CONTEXT must not be released by the caller.</p>
-<div class="REFSECT3">
-<a name="AEN43213"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN43215"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecMSCryptoKeyDataGetCert.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>data</p></td>
-<td><p>the key data to retrieve certificate from.</p></td>
-<td> </td>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the key data to retrieve certificate from.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN43224"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecMSCryptoKeyDataGetCert.returns"></a><h4>Returns</h4>
<p> PCCERT_CONTEXT on success or NULL otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECMSCRYPTOKEYDATAGETKEY"></a><h3>xmlSecMSCryptoKeyDataGetKey ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">HCRYPTKEY</span></font>
-xmlSecMSCryptoKeyDataGetKey (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>,
- <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATATYPE"><span class="TYPE">xmlSecKeyDataType</span></a> type</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecMSCryptoKeyDataGetKey"></a><h3>xmlSecMSCryptoKeyDataGetKey ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">HCRYPTKEY</span></font>
+xmlSecMSCryptoKeyDataGetKey (<em class="parameter"><code><font><span class="type">xmlSecKeyDataPtr</span></font> data</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataType" title="xmlSecKeyDataType"><span class="type">xmlSecKeyDataType</span></a> type</code></em>);</pre>
<p>Native MSCrypto key retrieval from xmlsec keydata. The
returned HKEY must not be destroyed by the caller.</p>
-<div class="REFSECT3">
-<a name="AEN43241"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN43243"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecMSCryptoKeyDataGetKey.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>data</p></td>
-<td><p>the key data to retrieve certificate from.</p></td>
-<td> </td>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the key data to retrieve certificate from.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>type</p></td>
-<td><p>type of key requested (public/private)</p></td>
-<td> </td>
+<td class="parameter_name"><p>type</p></td>
+<td class="parameter_description"><p>type of key requested (public/private)</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN43258"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecMSCryptoKeyDataGetKey.returns"></a><h4>Returns</h4>
<p> HKEY on success or NULL otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECMSCRYPTOKEYDATAGETDECRYPTKEY"></a><h3>xmlSecMSCryptoKeyDataGetDecryptKey ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">HCRYPTKEY</span></font>
-xmlSecMSCryptoKeyDataGetDecryptKey (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecMSCryptoKeyDataGetDecryptKey"></a><h3>xmlSecMSCryptoKeyDataGetDecryptKey ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">HCRYPTKEY</span></font>
+xmlSecMSCryptoKeyDataGetDecryptKey (<em class="parameter"><code><font><span class="type">xmlSecKeyDataPtr</span></font> data</code></em>);</pre>
<p>Native MSCrypto decrypt key retrieval from xmlsec keydata. The
returned HKEY must not be destroyed by the caller.</p>
-<div class="REFSECT3">
-<a name="AEN43272"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN43274"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecMSCryptoKeyDataGetDecryptKey.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>data</p></td>
-<td><p>the key data pointer</p></td>
-<td> </td>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the key data pointer</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN43283"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecMSCryptoKeyDataGetDecryptKey.returns"></a><h4>Returns</h4>
<p> HKEY on success or NULL otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECMSCRYPTOCERTDUP"></a><h3>xmlSecMSCryptoCertDup ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">PCCERT_CONTEXT</span></font>
-xmlSecMSCryptoCertDup (<code class="PARAMETER"><font><span class="TYPE">PCCERT_CONTEXT</span></font> pCert</code>);</pre>
-<p>Duplicates the <code class="PARAMETER">pCert</code>
+<div class="refsect2">
+<a name="xmlSecMSCryptoCertDup"></a><h3>xmlSecMSCryptoCertDup ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">PCCERT_CONTEXT</span></font>
+xmlSecMSCryptoCertDup (<em class="parameter"><code><font><span class="type">PCCERT_CONTEXT</span></font> pCert</code></em>);</pre>
+<p>Duplicates the <em class="parameter"><code>pCert</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN43298"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN43300"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecMSCryptoCertDup.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>pCert</p></td>
-<td><p>the pointer to cert.</p></td>
-<td> </td>
+<td class="parameter_name"><p>pCert</p></td>
+<td class="parameter_description"><p>the pointer to cert.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN43309"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecMSCryptoCertDup.returns"></a><h4>Returns</h4>
<p> pointer to newly created PCCERT_CONTEXT object or
NULL if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECMSCRYPTOCERTADOPT"></a><h3>xmlSecMSCryptoCertAdopt ()</h3>
-<pre class="PROGRAMLISTING"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="RETURNVALUE">xmlSecKeyDataPtr</span></a>
-xmlSecMSCryptoCertAdopt (<code class="PARAMETER"><font><span class="TYPE">PCCERT_CONTEXT</span></font> pCert</code>,
- <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATATYPE"><span class="TYPE">xmlSecKeyDataType</span></a> type</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecMSCryptoCertAdopt"></a><h3>xmlSecMSCryptoCertAdopt ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecKeyDataPtr</span></font>
+xmlSecMSCryptoCertAdopt (<em class="parameter"><code><font><span class="type">PCCERT_CONTEXT</span></font> pCert</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataType" title="xmlSecKeyDataType"><span class="type">xmlSecKeyDataType</span></a> type</code></em>);</pre>
<p>Creates key data value from the cert.</p>
-<div class="REFSECT3">
-<a name="AEN43326"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN43328"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecMSCryptoCertAdopt.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>pCert</p></td>
-<td><p>the pointer to cert.</p></td>
-<td> </td>
+<td class="parameter_name"><p>pCert</p></td>
+<td class="parameter_description"><p>the pointer to cert.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>type</p></td>
-<td><p>the expected key type.</p></td>
-<td> </td>
+<td class="parameter_name"><p>type</p></td>
+<td class="parameter_description"><p>the expected key type.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN43343"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecMSCryptoCertAdopt.returns"></a><h4>Returns</h4>
<p> pointer to newly created xmlsec key or NULL if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECMSCRYPTOKEYDATAGETMSCRYPTOPROVIDER"></a><h3>xmlSecMSCryptoKeyDataGetMSCryptoProvider ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">HCRYPTPROV</span></font>
+<div class="refsect2">
+<a name="xmlSecMSCryptoKeyDataGetMSCryptoProvider"></a><h3>xmlSecMSCryptoKeyDataGetMSCryptoProvider ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">HCRYPTPROV</span></font>
xmlSecMSCryptoKeyDataGetMSCryptoProvider
- (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>);</pre>
+ (<em class="parameter"><code><font><span class="type">xmlSecKeyDataPtr</span></font> data</code></em>);</pre>
<p>Gets crypto provider handle</p>
-<div class="REFSECT3">
-<a name="AEN43357"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN43359"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecMSCryptoKeyDataGetMSCryptoProvider.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>data</p></td>
-<td><p>the key data</p></td>
-<td> </td>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the key data</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN43368"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecMSCryptoKeyDataGetMSCryptoProvider.returns"></a><h4>Returns</h4>
<p> the crypto provider handler or 0 if there is an error.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECMSCRYPTOKEYDATAGETMSCRYPTOKEYSPEC"></a><h3>xmlSecMSCryptoKeyDataGetMSCryptoKeySpec ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">DWORD</span></font>
+<div class="refsect2">
+<a name="xmlSecMSCryptoKeyDataGetMSCryptoKeySpec"></a><h3>xmlSecMSCryptoKeyDataGetMSCryptoKeySpec ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">DWORD</span></font>
xmlSecMSCryptoKeyDataGetMSCryptoKeySpec
- (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>);</pre>
+ (<em class="parameter"><code><font><span class="type">xmlSecKeyDataPtr</span></font> data</code></em>);</pre>
<p>Gets key spec info.</p>
-<div class="REFSECT3">
-<a name="AEN43382"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN43384"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecMSCryptoKeyDataGetMSCryptoKeySpec.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>data</p></td>
-<td><p>the key data</p></td>
-<td> </td>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the key data</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN43393"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecMSCryptoKeyDataGetMSCryptoKeySpec.returns"></a><h4>Returns</h4>
<p> the key spec info from key data</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECMSCRYPTOKEYDATAGETMSCRYPTOPROVIDERINFO"></a><h3>xmlSecMSCryptoKeyDataGetMSCryptoProviderInfo ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">PCRYPT_KEY_PROV_INFO</span></font>
+<div class="refsect2">
+<a name="xmlSecMSCryptoKeyDataGetMSCryptoProviderInfo"></a><h3>xmlSecMSCryptoKeyDataGetMSCryptoProviderInfo ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">PCRYPT_KEY_PROV_INFO</span></font>
xmlSecMSCryptoKeyDataGetMSCryptoProviderInfo
- (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>);</pre>
-<p></p>
+ (<em class="parameter"><code><font><span class="type">xmlSecKeyDataPtr</span></font> data</code></em>);</pre>
+<p>Gets key provider info.</p>
+<div class="refsect3">
+<a name="xmlSecMSCryptoKeyDataGetMSCryptoProviderInfo.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the key data</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
</div>
+<div class="refsect3">
+<a name="xmlSecMSCryptoKeyDataGetMSCryptoProviderInfo.returns"></a><h4>Returns</h4>
+<p> the key provider info.</p>
</div>
-<div class="REFSECT1">
-<a name="XMLSEC-MSCRYPTO-CERTKEYS.OTHER_DETAILS"></a><h2>Types and Values</h2>
-<p></p>
</div>
-<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td align="left"><a accesskey="p" href="xmlsec-mscrypto-app.html"><b><<< app</b></a></td>
-<td align="right"><a accesskey="n" href="xmlsec-mscrypto-crypto.html"><b>crypto >>></b></a></td>
-</tr></table>
+</div>
+<div class="refsect1">
+<a name="xmlsec-mscrypto-certkeys.other_details"></a><h2>Types and Values</h2>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
</td></tr></table></td>
</tr></table></body>
</html>
diff --git a/docs/api/xmlsec-mscrypto-crypto.html b/docs/api/xmlsec-mscrypto-crypto.html
index 9bed684..92d6b92 100644
--- a/docs/api/xmlsec-mscrypto-crypto.html
+++ b/docs/api/xmlsec-mscrypto-crypto.html
@@ -1,41 +1,14 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>crypto</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79">
-<link rel="HOME" title="XML Security Library Reference Manual" href="index.html">
-<link rel="UP" title="XML Security Library for MSCrypto API Reference." href="xmlsec-mscrypto-ref.html">
-<link rel="PREVIOUS" title="certkeys" href="xmlsec-mscrypto-certkeys.html">
-<link rel="NEXT" title="keysstore" href="xmlsec-mscrypto-keysstore.html">
-<style type="text/css">.synopsis, .classsynopsis {
- background: #eeeeee;
- border: solid 1px #aaaaaa;
- padding: 0.5em;
-}
-.programlisting {
- background: #eeeeff;
- border: solid 1px #aaaaff;
- padding: 0.5em;
-}
-.variablelist {
- padding: 4px;
- margin-left: 3em;
-}
-.navigation {
- background: #ffeeee;
- border: solid 1px #ffaaaa;
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
-.navigation a {
- color: #770000;
-}
-.navigation a:visited {
- color: #550000;
-}
-.navigation .title {
- font-size: 200%;
-}</style>
+<title>crypto: XML Security Library Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="XML Security Library Reference Manual">
+<link rel="up" href="xmlsec-mscrypto-ref.html" title="XML Security Library for MSCrypto API Reference.">
+<link rel="prev" href="xmlsec-mscrypto-certkeys.html" title="certkeys">
+<link rel="next" href="xmlsec-mscrypto-keysstore.html" title="keysstore">
+<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
<style type="text/css">
table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
width: 20em;
@@ -100,1577 +73,1654 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
</table>
</td>
<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent">
-<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td><a accesskey="p" href="xmlsec-mscrypto-certkeys.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="xmlsec-mscrypto-ref.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description"> <span class="dim">|</span>
+ <a href="#xmlsec-mscrypto-crypto.description" class="shortcut">Description</a></span>
+</td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<th width="100%" align="center">XML Security Library Reference Manual</th>
+<td><a accesskey="u" href="xmlsec-mscrypto-ref.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="xmlsec-mscrypto-certkeys.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="xmlsec-mscrypto-keysstore.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
-<h1>
-<a name="XMLSEC-MSCRYPTO-CRYPTO"></a>crypto</h1>
-<div class="REFNAMEDIV">
-<a name="AEN43415"></a><h2>Name</h2>crypto -- Crypto transforms implementation for MS Crypto.</div>
-<div class="REFSECT1">
-<a name="XMLSEC-MSCRYPTO-CRYPTO.FUNCTIONS"></a><h2>Functions</h2>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN43420"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
+<div class="refentry">
+<a name="xmlsec-mscrypto-crypto"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="xmlsec-mscrypto-crypto.top_of_page"></a>crypto</span></h2>
+<p>crypto — Crypto transforms implementation for MS Crypto.</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="xmlsec-mscrypto-crypto.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
<tbody>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecCryptoDLFunctionsPtr</span></font></td>
-<td>
-<a href="xmlsec-mscrypto-crypto.html#XMLSECCRYPTOGETFUNCTIONS-MSCRYPTO">xmlSecCryptoGetFunctions_mscrypto</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecCryptoDLFunctionsPtr</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecCryptoGetFunctions-mscrypto" title="xmlSecCryptoGetFunctions_mscrypto ()">xmlSecCryptoGetFunctions_mscrypto</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOINIT">xmlSecMSCryptoInit</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoInit" title="xmlSecMSCryptoInit ()">xmlSecMSCryptoInit</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOSHUTDOWN">xmlSecMSCryptoShutdown</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoShutdown" title="xmlSecMSCryptoShutdown ()">xmlSecMSCryptoShutdown</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOKEYSMNGRINIT">xmlSecMSCryptoKeysMngrInit</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoKeysMngrInit" title="xmlSecMSCryptoKeysMngrInit ()">xmlSecMSCryptoKeysMngrInit</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOGENERATERANDOM">xmlSecMSCryptoGenerateRandom</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoGenerateRandom" title="xmlSecMSCryptoGenerateRandom ()">xmlSecMSCryptoGenerateRandom</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">void</span></font></td>
-<td>
-<a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOERRORSDEFAULTCALLBACK">xmlSecMSCryptoErrorsDefaultCallback</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">void</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoErrorsDefaultCallback" title="xmlSecMSCryptoErrorsDefaultCallback ()">xmlSecMSCryptoErrorsDefaultCallback</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">LPWSTR</span></font></td>
-<td>
-<a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOCONVERTLOCALETOUNICODE">xmlSecMSCryptoConvertLocaleToUnicode</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">LPWSTR</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoConvertLocaleToUnicode" title="xmlSecMSCryptoConvertLocaleToUnicode ()">xmlSecMSCryptoConvertLocaleToUnicode</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">LPWSTR</span></font></td>
-<td>
-<a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOCONVERTUTF8TOUNICODE">xmlSecMSCryptoConvertUtf8ToUnicode</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">LPWSTR</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoConvertUtf8ToUnicode" title="xmlSecMSCryptoConvertUtf8ToUnicode ()">xmlSecMSCryptoConvertUtf8ToUnicode</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td>
-<font><span class="RETURNVALUE">xmlChar</span></font> *</td>
-<td>
-<a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOCONVERTUNICODETOUTF8">xmlSecMSCryptoConvertUnicodeToUtf8</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlChar</span></font> *
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoConvertUnicodeToUtf8" title="xmlSecMSCryptoConvertUnicodeToUtf8 ()">xmlSecMSCryptoConvertUnicodeToUtf8</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td>
-<font><span class="RETURNVALUE">xmlChar</span></font> *</td>
-<td>
-<a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOCONVERTLOCALETOUTF8">xmlSecMSCryptoConvertLocaleToUtf8</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlChar</span></font> *
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoConvertLocaleToUtf8" title="xmlSecMSCryptoConvertLocaleToUtf8 ()">xmlSecMSCryptoConvertLocaleToUtf8</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td>
-<font><span class="RETURNVALUE">char</span></font> *</td>
-<td>
-<a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOCONVERTUTF8TOLOCALE">xmlSecMSCryptoConvertUtf8ToLocale</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">char</span></font> *
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoConvertUtf8ToLocale" title="xmlSecMSCryptoConvertUtf8ToLocale ()">xmlSecMSCryptoConvertUtf8ToLocale</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td>
-<font><span class="RETURNVALUE">xmlChar</span></font> *</td>
-<td>
-<a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOCONVERTTSTRTOUTF8">xmlSecMSCryptoConvertTstrToUtf8</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlChar</span></font> *
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoConvertTstrToUtf8" title="xmlSecMSCryptoConvertTstrToUtf8 ()">xmlSecMSCryptoConvertTstrToUtf8</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">LPTSTR</span></font></td>
-<td>
-<a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOCONVERTUTF8TOTSTR">xmlSecMSCryptoConvertUtf8ToTstr</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">LPTSTR</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoConvertUtf8ToTstr" title="xmlSecMSCryptoConvertUtf8ToTstr ()">xmlSecMSCryptoConvertUtf8ToTstr</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecKeyDataId</span></font></td>
-<td>
-<a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOKEYDATADSAGETKLASS">xmlSecMSCryptoKeyDataDsaGetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecKeyDataId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoKeyDataDsaGetKlass" title="xmlSecMSCryptoKeyDataDsaGetKlass ()">xmlSecMSCryptoKeyDataDsaGetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMDSASHA1GETKLASS">xmlSecMSCryptoTransformDsaSha1GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoTransformDsaSha1GetKlass" title="xmlSecMSCryptoTransformDsaSha1GetKlass ()">xmlSecMSCryptoTransformDsaSha1GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecKeyDataId</span></font></td>
-<td>
-<a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOKEYDATAGOST2001GETKLASS">xmlSecMSCryptoKeyDataGost2001GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecKeyDataId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoKeyDataGost2001GetKlass" title="xmlSecMSCryptoKeyDataGost2001GetKlass ()">xmlSecMSCryptoKeyDataGost2001GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMGOST2001GOSTR3411-94GETKLASS">xmlSecMSCryptoTransformGost2001GostR3411_94GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoTransformGost2001GostR3411-94GetKlass" title="xmlSecMSCryptoTransformGost2001GostR3411_94GetKlass ()">xmlSecMSCryptoTransformGost2001GostR3411_94GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecKeyDataId</span></font></td>
-<td>
-<a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOKEYDATARSAGETKLASS">xmlSecMSCryptoKeyDataRsaGetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecKeyDataId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoKeyDataRsaGetKlass" title="xmlSecMSCryptoKeyDataRsaGetKlass ()">xmlSecMSCryptoKeyDataRsaGetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMRSAMD5GETKLASS">xmlSecMSCryptoTransformRsaMd5GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoTransformRsaMd5GetKlass" title="xmlSecMSCryptoTransformRsaMd5GetKlass ()">xmlSecMSCryptoTransformRsaMd5GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMRSASHA1GETKLASS">xmlSecMSCryptoTransformRsaSha1GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoTransformRsaSha1GetKlass" title="xmlSecMSCryptoTransformRsaSha1GetKlass ()">xmlSecMSCryptoTransformRsaSha1GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMRSASHA256GETKLASS">xmlSecMSCryptoTransformRsaSha256GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoTransformRsaSha256GetKlass" title="xmlSecMSCryptoTransformRsaSha256GetKlass ()">xmlSecMSCryptoTransformRsaSha256GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMRSASHA384GETKLASS">xmlSecMSCryptoTransformRsaSha384GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoTransformRsaSha384GetKlass" title="xmlSecMSCryptoTransformRsaSha384GetKlass ()">xmlSecMSCryptoTransformRsaSha384GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMRSASHA512GETKLASS">xmlSecMSCryptoTransformRsaSha512GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoTransformRsaSha512GetKlass" title="xmlSecMSCryptoTransformRsaSha512GetKlass ()">xmlSecMSCryptoTransformRsaSha512GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMRSAPKCS1GETKLASS">xmlSecMSCryptoTransformRsaPkcs1GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoTransformRsaPkcs1GetKlass" title="xmlSecMSCryptoTransformRsaPkcs1GetKlass ()">xmlSecMSCryptoTransformRsaPkcs1GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMRSAOAEPGETKLASS">xmlSecMSCryptoTransformRsaOaepGetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoTransformRsaOaepGetKlass" title="xmlSecMSCryptoTransformRsaOaepGetKlass ()">xmlSecMSCryptoTransformRsaOaepGetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMMD5GETKLASS">xmlSecMSCryptoTransformMd5GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoTransformMd5GetKlass" title="xmlSecMSCryptoTransformMd5GetKlass ()">xmlSecMSCryptoTransformMd5GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMSHA1GETKLASS">xmlSecMSCryptoTransformSha1GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoTransformSha1GetKlass" title="xmlSecMSCryptoTransformSha1GetKlass ()">xmlSecMSCryptoTransformSha1GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMSHA256GETKLASS">xmlSecMSCryptoTransformSha256GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoTransformSha256GetKlass" title="xmlSecMSCryptoTransformSha256GetKlass ()">xmlSecMSCryptoTransformSha256GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMSHA384GETKLASS">xmlSecMSCryptoTransformSha384GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoTransformSha384GetKlass" title="xmlSecMSCryptoTransformSha384GetKlass ()">xmlSecMSCryptoTransformSha384GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMSHA512GETKLASS">xmlSecMSCryptoTransformSha512GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoTransformSha512GetKlass" title="xmlSecMSCryptoTransformSha512GetKlass ()">xmlSecMSCryptoTransformSha512GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMGOSTR3411-94GETKLASS">xmlSecMSCryptoTransformGostR3411_94GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoTransformGostR3411-94GetKlass" title="xmlSecMSCryptoTransformGostR3411_94GetKlass ()">xmlSecMSCryptoTransformGostR3411_94GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecKeyDataId</span></font></td>
-<td>
-<a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOKEYDATAAESGETKLASS">xmlSecMSCryptoKeyDataAesGetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecKeyDataId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoKeyDataAesGetKlass" title="xmlSecMSCryptoKeyDataAesGetKlass ()">xmlSecMSCryptoKeyDataAesGetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOKEYDATAAESSET">xmlSecMSCryptoKeyDataAesSet</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoKeyDataAesSet" title="xmlSecMSCryptoKeyDataAesSet ()">xmlSecMSCryptoKeyDataAesSet</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMAES128CBCGETKLASS">xmlSecMSCryptoTransformAes128CbcGetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoTransformAes128CbcGetKlass" title="xmlSecMSCryptoTransformAes128CbcGetKlass ()">xmlSecMSCryptoTransformAes128CbcGetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMAES192CBCGETKLASS">xmlSecMSCryptoTransformAes192CbcGetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoTransformAes192CbcGetKlass" title="xmlSecMSCryptoTransformAes192CbcGetKlass ()">xmlSecMSCryptoTransformAes192CbcGetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMAES256CBCGETKLASS">xmlSecMSCryptoTransformAes256CbcGetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoTransformAes256CbcGetKlass" title="xmlSecMSCryptoTransformAes256CbcGetKlass ()">xmlSecMSCryptoTransformAes256CbcGetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMKWAES128GETKLASS">xmlSecMSCryptoTransformKWAes128GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoTransformKWAes128GetKlass" title="xmlSecMSCryptoTransformKWAes128GetKlass ()">xmlSecMSCryptoTransformKWAes128GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMKWAES192GETKLASS">xmlSecMSCryptoTransformKWAes192GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoTransformKWAes192GetKlass" title="xmlSecMSCryptoTransformKWAes192GetKlass ()">xmlSecMSCryptoTransformKWAes192GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMKWAES256GETKLASS">xmlSecMSCryptoTransformKWAes256GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoTransformKWAes256GetKlass" title="xmlSecMSCryptoTransformKWAes256GetKlass ()">xmlSecMSCryptoTransformKWAes256GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecKeyDataId</span></font></td>
-<td>
-<a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOKEYDATADESGETKLASS">xmlSecMSCryptoKeyDataDesGetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecKeyDataId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoKeyDataDesGetKlass" title="xmlSecMSCryptoKeyDataDesGetKlass ()">xmlSecMSCryptoKeyDataDesGetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMDES3CBCGETKLASS">xmlSecMSCryptoTransformDes3CbcGetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoTransformDes3CbcGetKlass" title="xmlSecMSCryptoTransformDes3CbcGetKlass ()">xmlSecMSCryptoTransformDes3CbcGetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMKWDES3GETKLASS">xmlSecMSCryptoTransformKWDes3GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoTransformKWDes3GetKlass" title="xmlSecMSCryptoTransformKWDes3GetKlass ()">xmlSecMSCryptoTransformKWDes3GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOHMACGETMINOUTPUTLENGTH">xmlSecMSCryptoHmacGetMinOutputLength</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoHmacGetMinOutputLength" title="xmlSecMSCryptoHmacGetMinOutputLength ()">xmlSecMSCryptoHmacGetMinOutputLength</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">void</span></font></td>
-<td>
-<a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOHMACSETMINOUTPUTLENGTH">xmlSecMSCryptoHmacSetMinOutputLength</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">void</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoHmacSetMinOutputLength" title="xmlSecMSCryptoHmacSetMinOutputLength ()">xmlSecMSCryptoHmacSetMinOutputLength</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecKeyDataId</span></font></td>
-<td>
-<a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOKEYDATAHMACGETKLASS">xmlSecMSCryptoKeyDataHmacGetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecKeyDataId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoKeyDataHmacGetKlass" title="xmlSecMSCryptoKeyDataHmacGetKlass ()">xmlSecMSCryptoKeyDataHmacGetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOKEYDATAHMACSET">xmlSecMSCryptoKeyDataHmacSet</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoKeyDataHmacSet" title="xmlSecMSCryptoKeyDataHmacSet ()">xmlSecMSCryptoKeyDataHmacSet</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMHMACMD5GETKLASS">xmlSecMSCryptoTransformHmacMd5GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoTransformHmacMd5GetKlass" title="xmlSecMSCryptoTransformHmacMd5GetKlass ()">xmlSecMSCryptoTransformHmacMd5GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMHMACSHA1GETKLASS">xmlSecMSCryptoTransformHmacSha1GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoTransformHmacSha1GetKlass" title="xmlSecMSCryptoTransformHmacSha1GetKlass ()">xmlSecMSCryptoTransformHmacSha1GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMHMACSHA256GETKLASS">xmlSecMSCryptoTransformHmacSha256GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoTransformHmacSha256GetKlass" title="xmlSecMSCryptoTransformHmacSha256GetKlass ()">xmlSecMSCryptoTransformHmacSha256GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMHMACSHA384GETKLASS">xmlSecMSCryptoTransformHmacSha384GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoTransformHmacSha384GetKlass" title="xmlSecMSCryptoTransformHmacSha384GetKlass ()">xmlSecMSCryptoTransformHmacSha384GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMHMACSHA512GETKLASS">xmlSecMSCryptoTransformHmacSha512GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoTransformHmacSha512GetKlass" title="xmlSecMSCryptoTransformHmacSha512GetKlass ()">xmlSecMSCryptoTransformHmacSha512GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
-</div>
-<div class="REFSECT1">
-<a name="XMLSEC-MSCRYPTO-CRYPTO.OTHER"></a><h2>Types and Values</h2>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN43782"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="xmlsec-mscrypto-crypto.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
<tbody>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOKEYDATADSAID">xmlSecMSCryptoKeyDataDsaId</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoKeyDataDsaId" title="xmlSecMSCryptoKeyDataDsaId">xmlSecMSCryptoKeyDataDsaId</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMDSASHA1ID">xmlSecMSCryptoTransformDsaSha1Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoTransformDsaSha1Id" title="xmlSecMSCryptoTransformDsaSha1Id">xmlSecMSCryptoTransformDsaSha1Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOKEYDATAGOST2001ID">xmlSecMSCryptoKeyDataGost2001Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoKeyDataGost2001Id" title="xmlSecMSCryptoKeyDataGost2001Id">xmlSecMSCryptoKeyDataGost2001Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMGOST2001GOSTR3411-94ID">xmlSecMSCryptoTransformGost2001GostR3411_94Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoTransformGost2001GostR3411-94Id" title="xmlSecMSCryptoTransformGost2001GostR3411_94Id">xmlSecMSCryptoTransformGost2001GostR3411_94Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOKEYDATARSAID">xmlSecMSCryptoKeyDataRsaId</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoKeyDataRsaId" title="xmlSecMSCryptoKeyDataRsaId">xmlSecMSCryptoKeyDataRsaId</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMRSAMD5ID">xmlSecMSCryptoTransformRsaMd5Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoTransformRsaMd5Id" title="xmlSecMSCryptoTransformRsaMd5Id">xmlSecMSCryptoTransformRsaMd5Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMRSASHA1ID">xmlSecMSCryptoTransformRsaSha1Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoTransformRsaSha1Id" title="xmlSecMSCryptoTransformRsaSha1Id">xmlSecMSCryptoTransformRsaSha1Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMRSASHA256ID">xmlSecMSCryptoTransformRsaSha256Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoTransformRsaSha256Id" title="xmlSecMSCryptoTransformRsaSha256Id">xmlSecMSCryptoTransformRsaSha256Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMRSASHA384ID">xmlSecMSCryptoTransformRsaSha384Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoTransformRsaSha384Id" title="xmlSecMSCryptoTransformRsaSha384Id">xmlSecMSCryptoTransformRsaSha384Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMRSASHA512ID">xmlSecMSCryptoTransformRsaSha512Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoTransformRsaSha512Id" title="xmlSecMSCryptoTransformRsaSha512Id">xmlSecMSCryptoTransformRsaSha512Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMRSAPKCS1ID">xmlSecMSCryptoTransformRsaPkcs1Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoTransformRsaPkcs1Id" title="xmlSecMSCryptoTransformRsaPkcs1Id">xmlSecMSCryptoTransformRsaPkcs1Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMRSAOAEPID">xmlSecMSCryptoTransformRsaOaepId</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoTransformRsaOaepId" title="xmlSecMSCryptoTransformRsaOaepId">xmlSecMSCryptoTransformRsaOaepId</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMMD5ID">xmlSecMSCryptoTransformMd5Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoTransformMd5Id" title="xmlSecMSCryptoTransformMd5Id">xmlSecMSCryptoTransformMd5Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMSHA1ID">xmlSecMSCryptoTransformSha1Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoTransformSha1Id" title="xmlSecMSCryptoTransformSha1Id">xmlSecMSCryptoTransformSha1Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMSHA256ID">xmlSecMSCryptoTransformSha256Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoTransformSha256Id" title="xmlSecMSCryptoTransformSha256Id">xmlSecMSCryptoTransformSha256Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMSHA384ID">xmlSecMSCryptoTransformSha384Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoTransformSha384Id" title="xmlSecMSCryptoTransformSha384Id">xmlSecMSCryptoTransformSha384Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMSHA512ID">xmlSecMSCryptoTransformSha512Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoTransformSha512Id" title="xmlSecMSCryptoTransformSha512Id">xmlSecMSCryptoTransformSha512Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMGOSTR3411-94ID">xmlSecMSCryptoTransformGostR3411_94Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoTransformGostR3411-94Id" title="xmlSecMSCryptoTransformGostR3411_94Id">xmlSecMSCryptoTransformGostR3411_94Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOKEYDATAAESID">xmlSecMSCryptoKeyDataAesId</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoKeyDataAesId" title="xmlSecMSCryptoKeyDataAesId">xmlSecMSCryptoKeyDataAesId</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMAES128CBCID">xmlSecMSCryptoTransformAes128CbcId</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoTransformAes128CbcId" title="xmlSecMSCryptoTransformAes128CbcId">xmlSecMSCryptoTransformAes128CbcId</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMAES192CBCID">xmlSecMSCryptoTransformAes192CbcId</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoTransformAes192CbcId" title="xmlSecMSCryptoTransformAes192CbcId">xmlSecMSCryptoTransformAes192CbcId</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMAES256CBCID">xmlSecMSCryptoTransformAes256CbcId</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoTransformAes256CbcId" title="xmlSecMSCryptoTransformAes256CbcId">xmlSecMSCryptoTransformAes256CbcId</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMKWAES128ID">xmlSecMSCryptoTransformKWAes128Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoTransformKWAes128Id" title="xmlSecMSCryptoTransformKWAes128Id">xmlSecMSCryptoTransformKWAes128Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMKWAES192ID">xmlSecMSCryptoTransformKWAes192Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoTransformKWAes192Id" title="xmlSecMSCryptoTransformKWAes192Id">xmlSecMSCryptoTransformKWAes192Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMKWAES256ID">xmlSecMSCryptoTransformKWAes256Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoTransformKWAes256Id" title="xmlSecMSCryptoTransformKWAes256Id">xmlSecMSCryptoTransformKWAes256Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOKEYDATADESID">xmlSecMSCryptoKeyDataDesId</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoKeyDataDesId" title="xmlSecMSCryptoKeyDataDesId">xmlSecMSCryptoKeyDataDesId</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMDES3CBCID">xmlSecMSCryptoTransformDes3CbcId</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoTransformDes3CbcId" title="xmlSecMSCryptoTransformDes3CbcId">xmlSecMSCryptoTransformDes3CbcId</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMKWDES3ID">xmlSecMSCryptoTransformKWDes3Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoTransformKWDes3Id" title="xmlSecMSCryptoTransformKWDes3Id">xmlSecMSCryptoTransformKWDes3Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOKEYDATAHMACID">xmlSecMSCryptoKeyDataHmacId</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoKeyDataHmacId" title="xmlSecMSCryptoKeyDataHmacId">xmlSecMSCryptoKeyDataHmacId</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMHMACMD5ID">xmlSecMSCryptoTransformHmacMd5Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoTransformHmacMd5Id" title="xmlSecMSCryptoTransformHmacMd5Id">xmlSecMSCryptoTransformHmacMd5Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMHMACSHA1ID">xmlSecMSCryptoTransformHmacSha1Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoTransformHmacSha1Id" title="xmlSecMSCryptoTransformHmacSha1Id">xmlSecMSCryptoTransformHmacSha1Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMHMACSHA256ID">xmlSecMSCryptoTransformHmacSha256Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoTransformHmacSha256Id" title="xmlSecMSCryptoTransformHmacSha256Id">xmlSecMSCryptoTransformHmacSha256Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMHMACSHA384ID">xmlSecMSCryptoTransformHmacSha384Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoTransformHmacSha384Id" title="xmlSecMSCryptoTransformHmacSha384Id">xmlSecMSCryptoTransformHmacSha384Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-mscrypto-crypto.html#XMLSECMSCRYPTOTRANSFORMHMACSHA512ID">xmlSecMSCryptoTransformHmacSha512Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-mscrypto-crypto.html#xmlSecMSCryptoTransformHmacSha512Id" title="xmlSecMSCryptoTransformHmacSha512Id">xmlSecMSCryptoTransformHmacSha512Id</a></td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
-</div>
-<div class="REFSECT1">
-<a name="XMLSEC-MSCRYPTO-CRYPTO.DESCRIPTION"></a><h2>Description</h2>
-<p>Crypto transforms implementation for MS Crypto.</p>
-</div>
-<div class="REFSECT1">
-<a name="XMLSEC-MSCRYPTO-CRYPTO.FUNCTIONS_DETAILS"></a><h2>Functions</h2>
-<div class="REFSECT2">
-<a name="XMLSECCRYPTOGETFUNCTIONS-MSCRYPTO"></a><h3>xmlSecCryptoGetFunctions_mscrypto ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecCryptoDLFunctionsPtr</span></font>
-xmlSecCryptoGetFunctions_mscrypto (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="xmlsec-mscrypto-crypto.description"></a><h2>Description</h2>
+<p>
+Crypto transforms implementation for MS Crypto.
+</p>
+</div>
+<div class="refsect1">
+<a name="xmlsec-mscrypto-crypto.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="xmlSecCryptoGetFunctions-mscrypto"></a><h3>xmlSecCryptoGetFunctions_mscrypto ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecCryptoDLFunctionsPtr</span></font>
+xmlSecCryptoGetFunctions_mscrypto (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>Gets MSCrypto specific functions table.</p>
-<div class="REFSECT3">
-<a name="AEN43936"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecCryptoGetFunctions-mscrypto.returns"></a><h4>Returns</h4>
<p> xmlsec-mscrypto functions table.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECMSCRYPTOINIT"></a><h3>xmlSecMSCryptoInit ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecMSCryptoInit (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecMSCryptoInit"></a><h3>xmlSecMSCryptoInit ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecMSCryptoInit (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>XMLSec library specific crypto engine initialization.</p>
-<div class="REFSECT3">
-<a name="AEN43949"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecMSCryptoInit.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECMSCRYPTOSHUTDOWN"></a><h3>xmlSecMSCryptoShutdown ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecMSCryptoShutdown (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecMSCryptoShutdown"></a><h3>xmlSecMSCryptoShutdown ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecMSCryptoShutdown (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>XMLSec library specific crypto engine shutdown.</p>
-<div class="REFSECT3">
-<a name="AEN43962"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecMSCryptoShutdown.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECMSCRYPTOKEYSMNGRINIT"></a><h3>xmlSecMSCryptoKeysMngrInit ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecMSCryptoKeysMngrInit (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecMSCryptoKeysMngrInit"></a><h3>xmlSecMSCryptoKeysMngrInit ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecMSCryptoKeysMngrInit (<em class="parameter"><code><font><span class="type">xmlSecKeysMngrPtr</span></font> mngr</code></em>);</pre>
<p>Adds MSCrypto specific key data stores in keys manager.</p>
-<div class="REFSECT3">
-<a name="AEN43976"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN43978"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecMSCryptoKeysMngrInit.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>mngr</p></td>
-<td><p>the pointer to keys manager.</p></td>
-<td> </td>
+<td class="parameter_name"><p>mngr</p></td>
+<td class="parameter_description"><p>the pointer to keys manager.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN43987"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecMSCryptoKeysMngrInit.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECMSCRYPTOGENERATERANDOM"></a><h3>xmlSecMSCryptoGenerateRandom ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecMSCryptoGenerateRandom (<code class="PARAMETER"><a href="xmlsec-buffer.html#XMLSECBUFFER"><span class="TYPE">xmlSecBufferPtr</span></a> buffer</code>,
- <code class="PARAMETER"><font><span class="TYPE">size_t</span></font> size</code>);</pre>
-<p>Generates <code class="PARAMETER">size</code>
- random bytes and puts result in <code class="PARAMETER">buffer</code>
+<div class="refsect2">
+<a name="xmlSecMSCryptoGenerateRandom"></a><h3>xmlSecMSCryptoGenerateRandom ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecMSCryptoGenerateRandom (<em class="parameter"><code><font><span class="type">xmlSecBufferPtr</span></font> buffer</code></em>,
+ <em class="parameter"><code><font><span class="type">size_t</span></font> size</code></em>);</pre>
+<p>Generates <em class="parameter"><code>size</code></em>
+ random bytes and puts result in <em class="parameter"><code>buffer</code></em>
(not implemented yet).</p>
-<div class="REFSECT3">
-<a name="AEN44006"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN44008"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecMSCryptoGenerateRandom.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>buffer</p></td>
-<td><p>the destination buffer.</p></td>
-<td> </td>
+<td class="parameter_name"><p>buffer</p></td>
+<td class="parameter_description"><p>the destination buffer.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>size</p></td>
-<td><p>the numer of bytes to generate.</p></td>
-<td> </td>
+<td class="parameter_name"><p>size</p></td>
+<td class="parameter_description"><p>the numer of bytes to generate.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN44023"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecMSCryptoGenerateRandom.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECMSCRYPTOERRORSDEFAULTCALLBACK"></a><h3>xmlSecMSCryptoErrorsDefaultCallback ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">void</span></font>
-xmlSecMSCryptoErrorsDefaultCallback (<code class="PARAMETER">const <font><span class="TYPE">char</span></font> *file</code>,
- <code class="PARAMETER"><font><span class="TYPE">int</span></font> line</code>,
- <code class="PARAMETER">const <font><span class="TYPE">char</span></font> *func</code>,
- <code class="PARAMETER">const <font><span class="TYPE">char</span></font> *errorObject</code>,
- <code class="PARAMETER">const <font><span class="TYPE">char</span></font> *errorSubject</code>,
- <code class="PARAMETER"><font><span class="TYPE">int</span></font> reason</code>,
- <code class="PARAMETER">const <font><span class="TYPE">char</span></font> *msg</code>);</pre>
-<p>The default errors reporting callback function.</p>
-<div class="REFSECT3">
-<a name="AEN44055"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN44057"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect2">
+<a name="xmlSecMSCryptoErrorsDefaultCallback"></a><h3>xmlSecMSCryptoErrorsDefaultCallback ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">void</span></font>
+xmlSecMSCryptoErrorsDefaultCallback (<em class="parameter"><code>const <font><span class="type">char</span></font> *file</code></em>,
+ <em class="parameter"><code><font><span class="type">int</span></font> line</code></em>,
+ <em class="parameter"><code>const <font><span class="type">char</span></font> *func</code></em>,
+ <em class="parameter"><code>const <font><span class="type">char</span></font> *errorObject</code></em>,
+ <em class="parameter"><code>const <font><span class="type">char</span></font> *errorSubject</code></em>,
+ <em class="parameter"><code><font><span class="type">int</span></font> reason</code></em>,
+ <em class="parameter"><code>const <font><span class="type">char</span></font> *msg</code></em>);</pre>
+<p>The default errors reporting callback function. Just a pass through to the default callback.</p>
+<div class="refsect3">
+<a name="xmlSecMSCryptoErrorsDefaultCallback.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>file</p></td>
-<td><p>the error location file name (__FILE__ macro).</p></td>
-<td> </td>
+<td class="parameter_name"><p>file</p></td>
+<td class="parameter_description"><p>the error location file name (__FILE__ macro).</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>line</p></td>
-<td><p>the error location line number (__LINE__ macro).</p></td>
-<td> </td>
+<td class="parameter_name"><p>line</p></td>
+<td class="parameter_description"><p>the error location line number (__LINE__ macro).</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>func</p></td>
-<td><p>the error location function name (__FUNCTION__ macro).</p></td>
-<td> </td>
+<td class="parameter_name"><p>func</p></td>
+<td class="parameter_description"><p>the error location function name (__FUNCTION__ macro).</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>errorObject</p></td>
-<td><p>the error specific error object</p></td>
-<td> </td>
+<td class="parameter_name"><p>errorObject</p></td>
+<td class="parameter_description"><p>the error specific error object</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>errorSubject</p></td>
-<td><p>the error specific error subject.</p></td>
-<td> </td>
+<td class="parameter_name"><p>errorSubject</p></td>
+<td class="parameter_description"><p>the error specific error subject.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>reason</p></td>
-<td><p>the error code.</p></td>
-<td> </td>
+<td class="parameter_name"><p>reason</p></td>
+<td class="parameter_description"><p>the error code.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>msg</p></td>
-<td><p>the additional error message.</p></td>
-<td> </td>
+<td class="parameter_name"><p>msg</p></td>
+<td class="parameter_description"><p>the additional error message.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECMSCRYPTOCONVERTLOCALETOUNICODE"></a><h3>xmlSecMSCryptoConvertLocaleToUnicode ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">LPWSTR</span></font>
-xmlSecMSCryptoConvertLocaleToUnicode (<code class="PARAMETER">const <font><span class="TYPE">char</span></font> *str</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecMSCryptoConvertLocaleToUnicode"></a><h3>xmlSecMSCryptoConvertLocaleToUnicode ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">LPWSTR</span></font>
+xmlSecMSCryptoConvertLocaleToUnicode (<em class="parameter"><code>const <font><span class="type">char</span></font> *str</code></em>);</pre>
<p>Converts input string from current system locale to Unicode.</p>
-<div class="REFSECT3">
-<a name="AEN44113"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN44115"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecMSCryptoConvertLocaleToUnicode.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>str</p></td>
-<td><p>the string to convert.</p></td>
-<td> </td>
+<td class="parameter_name"><p>str</p></td>
+<td class="parameter_description"><p>the string to convert.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN44124"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecMSCryptoConvertLocaleToUnicode.returns"></a><h4>Returns</h4>
<p> a pointer to newly allocated string (must be freed with xmlFree) or NULL if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECMSCRYPTOCONVERTUTF8TOUNICODE"></a><h3>xmlSecMSCryptoConvertUtf8ToUnicode ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">LPWSTR</span></font>
-xmlSecMSCryptoConvertUtf8ToUnicode (<code class="PARAMETER">const <font><span class="TYPE">xmlChar</span></font> *str</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecMSCryptoConvertUtf8ToUnicode"></a><h3>xmlSecMSCryptoConvertUtf8ToUnicode ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">LPWSTR</span></font>
+xmlSecMSCryptoConvertUtf8ToUnicode (<em class="parameter"><code>const <font><span class="type">xmlChar</span></font> *str</code></em>);</pre>
<p>Converts input string from UTF8 to Unicode.</p>
-<div class="REFSECT3">
-<a name="AEN44138"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN44140"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecMSCryptoConvertUtf8ToUnicode.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>str</p></td>
-<td><p>the string to convert.</p></td>
-<td> </td>
+<td class="parameter_name"><p>str</p></td>
+<td class="parameter_description"><p>the string to convert.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN44149"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecMSCryptoConvertUtf8ToUnicode.returns"></a><h4>Returns</h4>
<p> a pointer to newly allocated string (must be freed with xmlFree) or NULL if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECMSCRYPTOCONVERTUNICODETOUTF8"></a><h3>xmlSecMSCryptoConvertUnicodeToUtf8 ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlChar</span></font> *
-xmlSecMSCryptoConvertUnicodeToUtf8 (<code class="PARAMETER"><font><span class="TYPE">LPCWSTR</span></font> str</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecMSCryptoConvertUnicodeToUtf8"></a><h3>xmlSecMSCryptoConvertUnicodeToUtf8 ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlChar</span></font> *
+xmlSecMSCryptoConvertUnicodeToUtf8 (<em class="parameter"><code><font><span class="type">LPCWSTR</span></font> str</code></em>);</pre>
<p>Converts input string from Unicode to UTF8.</p>
-<div class="REFSECT3">
-<a name="AEN44163"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN44165"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecMSCryptoConvertUnicodeToUtf8.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>str</p></td>
-<td><p>the string to convert.</p></td>
-<td> </td>
+<td class="parameter_name"><p>str</p></td>
+<td class="parameter_description"><p>the string to convert.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN44174"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecMSCryptoConvertUnicodeToUtf8.returns"></a><h4>Returns</h4>
<p> a pointer to newly allocated string (must be freed with xmlFree) or NULL if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECMSCRYPTOCONVERTLOCALETOUTF8"></a><h3>xmlSecMSCryptoConvertLocaleToUtf8 ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlChar</span></font> *
-xmlSecMSCryptoConvertLocaleToUtf8 (<code class="PARAMETER">const <font><span class="TYPE">char</span></font> *str</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecMSCryptoConvertLocaleToUtf8"></a><h3>xmlSecMSCryptoConvertLocaleToUtf8 ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlChar</span></font> *
+xmlSecMSCryptoConvertLocaleToUtf8 (<em class="parameter"><code>const <font><span class="type">char</span></font> *str</code></em>);</pre>
<p>Converts input string from locale to UTF8.</p>
-<div class="REFSECT3">
-<a name="AEN44188"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN44190"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecMSCryptoConvertLocaleToUtf8.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>str</p></td>
-<td><p>the string to convert.</p></td>
-<td> </td>
+<td class="parameter_name"><p>str</p></td>
+<td class="parameter_description"><p>the string to convert.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN44199"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecMSCryptoConvertLocaleToUtf8.returns"></a><h4>Returns</h4>
<p> a pointer to newly allocated string (must be freed with xmlFree) or NULL if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECMSCRYPTOCONVERTUTF8TOLOCALE"></a><h3>xmlSecMSCryptoConvertUtf8ToLocale ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">char</span></font> *
-xmlSecMSCryptoConvertUtf8ToLocale (<code class="PARAMETER">const <font><span class="TYPE">xmlChar</span></font> *str</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecMSCryptoConvertUtf8ToLocale"></a><h3>xmlSecMSCryptoConvertUtf8ToLocale ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">char</span></font> *
+xmlSecMSCryptoConvertUtf8ToLocale (<em class="parameter"><code>const <font><span class="type">xmlChar</span></font> *str</code></em>);</pre>
<p>Converts input string from UTF8 to locale.</p>
-<div class="REFSECT3">
-<a name="AEN44213"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN44215"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecMSCryptoConvertUtf8ToLocale.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>str</p></td>
-<td><p>the string to convert.</p></td>
-<td> </td>
+<td class="parameter_name"><p>str</p></td>
+<td class="parameter_description"><p>the string to convert.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN44224"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecMSCryptoConvertUtf8ToLocale.returns"></a><h4>Returns</h4>
<p> a pointer to newly allocated string (must be freed with xmlFree) or NULL if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECMSCRYPTOCONVERTTSTRTOUTF8"></a><h3>xmlSecMSCryptoConvertTstrToUtf8 ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlChar</span></font> *
-xmlSecMSCryptoConvertTstrToUtf8 (<code class="PARAMETER"><font><span class="TYPE">LPCTSTR</span></font> str</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecMSCryptoConvertTstrToUtf8"></a><h3>xmlSecMSCryptoConvertTstrToUtf8 ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlChar</span></font> *
+xmlSecMSCryptoConvertTstrToUtf8 (<em class="parameter"><code><font><span class="type">LPCTSTR</span></font> str</code></em>);</pre>
<p>Converts input string from TSTR (locale or Unicode) to UTF8.</p>
-<div class="REFSECT3">
-<a name="AEN44238"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN44240"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecMSCryptoConvertTstrToUtf8.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>str</p></td>
-<td><p>the string to convert.</p></td>
-<td> </td>
+<td class="parameter_name"><p>str</p></td>
+<td class="parameter_description"><p>the string to convert.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN44249"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecMSCryptoConvertTstrToUtf8.returns"></a><h4>Returns</h4>
<p> a pointer to newly allocated string (must be freed with xmlFree) or NULL if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECMSCRYPTOCONVERTUTF8TOTSTR"></a><h3>xmlSecMSCryptoConvertUtf8ToTstr ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">LPTSTR</span></font>
-xmlSecMSCryptoConvertUtf8ToTstr (<code class="PARAMETER">const <font><span class="TYPE">xmlChar</span></font> *str</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecMSCryptoConvertUtf8ToTstr"></a><h3>xmlSecMSCryptoConvertUtf8ToTstr ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">LPTSTR</span></font>
+xmlSecMSCryptoConvertUtf8ToTstr (<em class="parameter"><code>const <font><span class="type">xmlChar</span></font> *str</code></em>);</pre>
<p>Converts input string from UTF8 to TSTR (locale or Unicode).</p>
-<div class="REFSECT3">
-<a name="AEN44263"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN44265"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecMSCryptoConvertUtf8ToTstr.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>str</p></td>
-<td><p>the string to convert.</p></td>
-<td> </td>
+<td class="parameter_name"><p>str</p></td>
+<td class="parameter_description"><p>the string to convert.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN44274"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecMSCryptoConvertUtf8ToTstr.returns"></a><h4>Returns</h4>
<p> a pointer to newly allocated string (must be freed with xmlFree) or NULL if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECMSCRYPTOKEYDATADSAGETKLASS"></a><h3>xmlSecMSCryptoKeyDataDsaGetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecKeyDataId</span></font>
-xmlSecMSCryptoKeyDataDsaGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecMSCryptoKeyDataDsaGetKlass"></a><h3>xmlSecMSCryptoKeyDataDsaGetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecKeyDataId</span></font>
+xmlSecMSCryptoKeyDataDsaGetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The DSA key data klass.</p>
-<div class="REFSECT3">
-<a name="AEN44287"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecMSCryptoKeyDataDsaGetKlass.returns"></a><h4>Returns</h4>
<p> pointer to DSA key data klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECMSCRYPTOTRANSFORMDSASHA1GETKLASS"></a><h3>xmlSecMSCryptoTransformDsaSha1GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
+<div class="refsect2">
+<a name="xmlSecMSCryptoTransformDsaSha1GetKlass"></a><h3>xmlSecMSCryptoTransformDsaSha1GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
xmlSecMSCryptoTransformDsaSha1GetKlass
- (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+ (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The DSA-SHA1 signature transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN44300"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecMSCryptoTransformDsaSha1GetKlass.returns"></a><h4>Returns</h4>
<p> DSA-SHA1 signature transform klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECMSCRYPTOKEYDATAGOST2001GETKLASS"></a><h3>xmlSecMSCryptoKeyDataGost2001GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecKeyDataId</span></font>
-xmlSecMSCryptoKeyDataGost2001GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecMSCryptoKeyDataGost2001GetKlass"></a><h3>xmlSecMSCryptoKeyDataGost2001GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecKeyDataId</span></font>
+xmlSecMSCryptoKeyDataGost2001GetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The GOST2001 key data klass.</p>
-<div class="REFSECT3">
-<a name="AEN44313"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecMSCryptoKeyDataGost2001GetKlass.returns"></a><h4>Returns</h4>
<p> pointer to GOST2001 key data klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECMSCRYPTOTRANSFORMGOST2001GOSTR3411-94GETKLASS"></a><h3>xmlSecMSCryptoTransformGost2001GostR3411_94GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
+<div class="refsect2">
+<a name="xmlSecMSCryptoTransformGost2001GostR3411-94GetKlass"></a><h3>xmlSecMSCryptoTransformGost2001GostR3411_94GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
xmlSecMSCryptoTransformGost2001GostR3411_94GetKlass
- (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+ (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The GOST2001-GOSTR3411_94 signature transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN44326"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecMSCryptoTransformGost2001GostR3411-94GetKlass.returns"></a><h4>Returns</h4>
<p> GOST2001-GOSTR3411_94 signature transform klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECMSCRYPTOKEYDATARSAGETKLASS"></a><h3>xmlSecMSCryptoKeyDataRsaGetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecKeyDataId</span></font>
-xmlSecMSCryptoKeyDataRsaGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecMSCryptoKeyDataRsaGetKlass"></a><h3>xmlSecMSCryptoKeyDataRsaGetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecKeyDataId</span></font>
+xmlSecMSCryptoKeyDataRsaGetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The MSCrypto RSA CertKey data klass.</p>
-<div class="REFSECT3">
-<a name="AEN44339"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecMSCryptoKeyDataRsaGetKlass.returns"></a><h4>Returns</h4>
<p> pointer to MSCrypto RSA key data klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECMSCRYPTOTRANSFORMRSAMD5GETKLASS"></a><h3>xmlSecMSCryptoTransformRsaMd5GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
-xmlSecMSCryptoTransformRsaMd5GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecMSCryptoTransformRsaMd5GetKlass"></a><h3>xmlSecMSCryptoTransformRsaMd5GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
+xmlSecMSCryptoTransformRsaMd5GetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The RSA-MD5 signature transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN44352"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecMSCryptoTransformRsaMd5GetKlass.returns"></a><h4>Returns</h4>
<p> RSA-MD5 signature transform klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECMSCRYPTOTRANSFORMRSASHA1GETKLASS"></a><h3>xmlSecMSCryptoTransformRsaSha1GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
+<div class="refsect2">
+<a name="xmlSecMSCryptoTransformRsaSha1GetKlass"></a><h3>xmlSecMSCryptoTransformRsaSha1GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
xmlSecMSCryptoTransformRsaSha1GetKlass
- (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+ (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The RSA-SHA1 signature transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN44365"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecMSCryptoTransformRsaSha1GetKlass.returns"></a><h4>Returns</h4>
<p> RSA-SHA1 signature transform klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECMSCRYPTOTRANSFORMRSASHA256GETKLASS"></a><h3>xmlSecMSCryptoTransformRsaSha256GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
+<div class="refsect2">
+<a name="xmlSecMSCryptoTransformRsaSha256GetKlass"></a><h3>xmlSecMSCryptoTransformRsaSha256GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
xmlSecMSCryptoTransformRsaSha256GetKlass
- (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+ (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The RSA-SHA256 signature transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN44378"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecMSCryptoTransformRsaSha256GetKlass.returns"></a><h4>Returns</h4>
<p> RSA-SHA256 signature transform klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECMSCRYPTOTRANSFORMRSASHA384GETKLASS"></a><h3>xmlSecMSCryptoTransformRsaSha384GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
+<div class="refsect2">
+<a name="xmlSecMSCryptoTransformRsaSha384GetKlass"></a><h3>xmlSecMSCryptoTransformRsaSha384GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
xmlSecMSCryptoTransformRsaSha384GetKlass
- (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+ (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The RSA-SHA384 signature transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN44391"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecMSCryptoTransformRsaSha384GetKlass.returns"></a><h4>Returns</h4>
<p> RSA-SHA384 signature transform klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECMSCRYPTOTRANSFORMRSASHA512GETKLASS"></a><h3>xmlSecMSCryptoTransformRsaSha512GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
+<div class="refsect2">
+<a name="xmlSecMSCryptoTransformRsaSha512GetKlass"></a><h3>xmlSecMSCryptoTransformRsaSha512GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
xmlSecMSCryptoTransformRsaSha512GetKlass
- (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+ (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The RSA-SHA512 signature transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN44404"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecMSCryptoTransformRsaSha512GetKlass.returns"></a><h4>Returns</h4>
<p> RSA-SHA512 signature transform klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECMSCRYPTOTRANSFORMRSAPKCS1GETKLASS"></a><h3>xmlSecMSCryptoTransformRsaPkcs1GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
+<div class="refsect2">
+<a name="xmlSecMSCryptoTransformRsaPkcs1GetKlass"></a><h3>xmlSecMSCryptoTransformRsaPkcs1GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
xmlSecMSCryptoTransformRsaPkcs1GetKlass
- (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+ (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The RSA-PKCS1 key transport transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN44417"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecMSCryptoTransformRsaPkcs1GetKlass.returns"></a><h4>Returns</h4>
<p> RSA-PKCS1 key transport transform klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECMSCRYPTOTRANSFORMRSAOAEPGETKLASS"></a><h3>xmlSecMSCryptoTransformRsaOaepGetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
+<div class="refsect2">
+<a name="xmlSecMSCryptoTransformRsaOaepGetKlass"></a><h3>xmlSecMSCryptoTransformRsaOaepGetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
xmlSecMSCryptoTransformRsaOaepGetKlass
- (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+ (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The RSA-OAEP key transport transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN44430"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecMSCryptoTransformRsaOaepGetKlass.returns"></a><h4>Returns</h4>
<p> RSA-OAEP key transport transform klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECMSCRYPTOTRANSFORMMD5GETKLASS"></a><h3>xmlSecMSCryptoTransformMd5GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
-xmlSecMSCryptoTransformMd5GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecMSCryptoTransformMd5GetKlass"></a><h3>xmlSecMSCryptoTransformMd5GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
+xmlSecMSCryptoTransformMd5GetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>SHA-1 digest transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN44443"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecMSCryptoTransformMd5GetKlass.returns"></a><h4>Returns</h4>
<p> pointer to SHA-1 digest transform klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECMSCRYPTOTRANSFORMSHA1GETKLASS"></a><h3>xmlSecMSCryptoTransformSha1GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
-xmlSecMSCryptoTransformSha1GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecMSCryptoTransformSha1GetKlass"></a><h3>xmlSecMSCryptoTransformSha1GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
+xmlSecMSCryptoTransformSha1GetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>SHA-1 digest transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN44456"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecMSCryptoTransformSha1GetKlass.returns"></a><h4>Returns</h4>
<p> pointer to SHA-1 digest transform klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECMSCRYPTOTRANSFORMSHA256GETKLASS"></a><h3>xmlSecMSCryptoTransformSha256GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
-xmlSecMSCryptoTransformSha256GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecMSCryptoTransformSha256GetKlass"></a><h3>xmlSecMSCryptoTransformSha256GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
+xmlSecMSCryptoTransformSha256GetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>SHA-256 digest transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN44469"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecMSCryptoTransformSha256GetKlass.returns"></a><h4>Returns</h4>
<p> pointer to SHA-256 digest transform klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECMSCRYPTOTRANSFORMSHA384GETKLASS"></a><h3>xmlSecMSCryptoTransformSha384GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
-xmlSecMSCryptoTransformSha384GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecMSCryptoTransformSha384GetKlass"></a><h3>xmlSecMSCryptoTransformSha384GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
+xmlSecMSCryptoTransformSha384GetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>SHA-384 digest transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN44482"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecMSCryptoTransformSha384GetKlass.returns"></a><h4>Returns</h4>
<p> pointer to SHA-384 digest transform klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECMSCRYPTOTRANSFORMSHA512GETKLASS"></a><h3>xmlSecMSCryptoTransformSha512GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
-xmlSecMSCryptoTransformSha512GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecMSCryptoTransformSha512GetKlass"></a><h3>xmlSecMSCryptoTransformSha512GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
+xmlSecMSCryptoTransformSha512GetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>SHA-512 digest transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN44495"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecMSCryptoTransformSha512GetKlass.returns"></a><h4>Returns</h4>
<p> pointer to SHA-512 digest transform klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECMSCRYPTOTRANSFORMGOSTR3411-94GETKLASS"></a><h3>xmlSecMSCryptoTransformGostR3411_94GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
+<div class="refsect2">
+<a name="xmlSecMSCryptoTransformGostR3411-94GetKlass"></a><h3>xmlSecMSCryptoTransformGostR3411_94GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
xmlSecMSCryptoTransformGostR3411_94GetKlass
- (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+ (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>GOSTR3411_94 digest transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN44508"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecMSCryptoTransformGostR3411-94GetKlass.returns"></a><h4>Returns</h4>
<p> pointer to GOSTR3411_94 digest transform klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECMSCRYPTOKEYDATAAESGETKLASS"></a><h3>xmlSecMSCryptoKeyDataAesGetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecKeyDataId</span></font>
-xmlSecMSCryptoKeyDataAesGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecMSCryptoKeyDataAesGetKlass"></a><h3>xmlSecMSCryptoKeyDataAesGetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecKeyDataId</span></font>
+xmlSecMSCryptoKeyDataAesGetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The AES key data klass.</p>
-<div class="REFSECT3">
-<a name="AEN44521"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecMSCryptoKeyDataAesGetKlass.returns"></a><h4>Returns</h4>
<p> AES key data klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECMSCRYPTOKEYDATAAESSET"></a><h3>xmlSecMSCryptoKeyDataAesSet ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecMSCryptoKeyDataAesSet (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>,
- <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *buf</code>,
- <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> bufSize</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecMSCryptoKeyDataAesSet"></a><h3>xmlSecMSCryptoKeyDataAesSet ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecMSCryptoKeyDataAesSet (<em class="parameter"><code><font><span class="type">xmlSecKeyDataPtr</span></font> data</code></em>,
+ <em class="parameter"><code>const <a class="link" href="xmlsec-xmlsec.html#xmlSecByte" title="xmlSecByte"><span class="type">xmlSecByte</span></a> *buf</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="type">xmlSecSize</span></a> bufSize</code></em>);</pre>
<p>Sets the value of AES key data.</p>
-<div class="REFSECT3">
-<a name="AEN44541"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN44543"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecMSCryptoKeyDataAesSet.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>data</p></td>
-<td><p>the pointer to AES key data.</p></td>
-<td> </td>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the pointer to AES key data.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>buf</p></td>
-<td><p>the pointer to key value.</p></td>
-<td> </td>
+<td class="parameter_name"><p>buf</p></td>
+<td class="parameter_description"><p>the pointer to key value.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>bufSize</p></td>
-<td><p>the key value size (in bytes).</p></td>
-<td> </td>
+<td class="parameter_name"><p>bufSize</p></td>
+<td class="parameter_description"><p>the key value size (in bytes).</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN44564"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecMSCryptoKeyDataAesSet.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECMSCRYPTOTRANSFORMAES128CBCGETKLASS"></a><h3>xmlSecMSCryptoTransformAes128CbcGetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
+<div class="refsect2">
+<a name="xmlSecMSCryptoTransformAes128CbcGetKlass"></a><h3>xmlSecMSCryptoTransformAes128CbcGetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
xmlSecMSCryptoTransformAes128CbcGetKlass
- (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+ (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>AES 128 CBC encryption transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN44577"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecMSCryptoTransformAes128CbcGetKlass.returns"></a><h4>Returns</h4>
<p> pointer to AES 128 CBC encryption transform.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECMSCRYPTOTRANSFORMAES192CBCGETKLASS"></a><h3>xmlSecMSCryptoTransformAes192CbcGetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
+<div class="refsect2">
+<a name="xmlSecMSCryptoTransformAes192CbcGetKlass"></a><h3>xmlSecMSCryptoTransformAes192CbcGetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
xmlSecMSCryptoTransformAes192CbcGetKlass
- (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+ (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>AES 192 CBC encryption transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN44590"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecMSCryptoTransformAes192CbcGetKlass.returns"></a><h4>Returns</h4>
<p> pointer to AES 192 CBC encryption transform.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECMSCRYPTOTRANSFORMAES256CBCGETKLASS"></a><h3>xmlSecMSCryptoTransformAes256CbcGetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
+<div class="refsect2">
+<a name="xmlSecMSCryptoTransformAes256CbcGetKlass"></a><h3>xmlSecMSCryptoTransformAes256CbcGetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
xmlSecMSCryptoTransformAes256CbcGetKlass
- (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+ (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>AES 256 CBC encryption transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN44603"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecMSCryptoTransformAes256CbcGetKlass.returns"></a><h4>Returns</h4>
<p> pointer to AES 256 CBC encryption transform.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECMSCRYPTOTRANSFORMKWAES128GETKLASS"></a><h3>xmlSecMSCryptoTransformKWAes128GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
+<div class="refsect2">
+<a name="xmlSecMSCryptoTransformKWAes128GetKlass"></a><h3>xmlSecMSCryptoTransformKWAes128GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
xmlSecMSCryptoTransformKWAes128GetKlass
- (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+ (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The AES-128 kew wrapper transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN44616"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecMSCryptoTransformKWAes128GetKlass.returns"></a><h4>Returns</h4>
<p> AES-128 kew wrapper transform klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECMSCRYPTOTRANSFORMKWAES192GETKLASS"></a><h3>xmlSecMSCryptoTransformKWAes192GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
+<div class="refsect2">
+<a name="xmlSecMSCryptoTransformKWAes192GetKlass"></a><h3>xmlSecMSCryptoTransformKWAes192GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
xmlSecMSCryptoTransformKWAes192GetKlass
- (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+ (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The AES-192 kew wrapper transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN44629"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecMSCryptoTransformKWAes192GetKlass.returns"></a><h4>Returns</h4>
<p> AES-192 kew wrapper transform klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECMSCRYPTOTRANSFORMKWAES256GETKLASS"></a><h3>xmlSecMSCryptoTransformKWAes256GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
+<div class="refsect2">
+<a name="xmlSecMSCryptoTransformKWAes256GetKlass"></a><h3>xmlSecMSCryptoTransformKWAes256GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
xmlSecMSCryptoTransformKWAes256GetKlass
- (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+ (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The AES-256 kew wrapper transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN44642"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecMSCryptoTransformKWAes256GetKlass.returns"></a><h4>Returns</h4>
<p> AES-256 kew wrapper transform klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECMSCRYPTOKEYDATADESGETKLASS"></a><h3>xmlSecMSCryptoKeyDataDesGetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecKeyDataId</span></font>
-xmlSecMSCryptoKeyDataDesGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecMSCryptoKeyDataDesGetKlass"></a><h3>xmlSecMSCryptoKeyDataDesGetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecKeyDataId</span></font>
+xmlSecMSCryptoKeyDataDesGetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The DES key data klass.</p>
-<div class="REFSECT3">
-<a name="AEN44655"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecMSCryptoKeyDataDesGetKlass.returns"></a><h4>Returns</h4>
<p> DES key data klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECMSCRYPTOTRANSFORMDES3CBCGETKLASS"></a><h3>xmlSecMSCryptoTransformDes3CbcGetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
+<div class="refsect2">
+<a name="xmlSecMSCryptoTransformDes3CbcGetKlass"></a><h3>xmlSecMSCryptoTransformDes3CbcGetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
xmlSecMSCryptoTransformDes3CbcGetKlass
- (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+ (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>Triple DES CBC encryption transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN44668"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecMSCryptoTransformDes3CbcGetKlass.returns"></a><h4>Returns</h4>
<p> pointer to Triple DES encryption transform.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECMSCRYPTOTRANSFORMKWDES3GETKLASS"></a><h3>xmlSecMSCryptoTransformKWDes3GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
-xmlSecMSCryptoTransformKWDes3GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecMSCryptoTransformKWDes3GetKlass"></a><h3>xmlSecMSCryptoTransformKWDes3GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
+xmlSecMSCryptoTransformKWDes3GetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The Triple DES key wrapper transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN44681"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecMSCryptoTransformKWDes3GetKlass.returns"></a><h4>Returns</h4>
<p> Triple DES key wrapper transform klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECMSCRYPTOHMACGETMINOUTPUTLENGTH"></a><h3>xmlSecMSCryptoHmacGetMinOutputLength ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecMSCryptoHmacGetMinOutputLength (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecMSCryptoHmacGetMinOutputLength"></a><h3>xmlSecMSCryptoHmacGetMinOutputLength ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecMSCryptoHmacGetMinOutputLength (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>Gets the value of min HMAC length.</p>
-<div class="REFSECT3">
-<a name="AEN44694"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecMSCryptoHmacGetMinOutputLength.returns"></a><h4>Returns</h4>
<p> the min HMAC output length</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECMSCRYPTOHMACSETMINOUTPUTLENGTH"></a><h3>xmlSecMSCryptoHmacSetMinOutputLength ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">void</span></font>
-xmlSecMSCryptoHmacSetMinOutputLength (<code class="PARAMETER"><font><span class="TYPE">int</span></font> min_length</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecMSCryptoHmacSetMinOutputLength"></a><h3>xmlSecMSCryptoHmacSetMinOutputLength ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">void</span></font>
+xmlSecMSCryptoHmacSetMinOutputLength (<em class="parameter"><code><font><span class="type">int</span></font> min_length</code></em>);</pre>
<p>Sets the min HMAC output length</p>
-<div class="REFSECT3">
-<a name="AEN44708"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN44710"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecMSCryptoHmacSetMinOutputLength.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>min_length</p></td>
-<td><p>the new min length</p></td>
-<td> </td>
+<td class="parameter_name"><p>min_length</p></td>
+<td class="parameter_description"><p>the new min length</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECMSCRYPTOKEYDATAHMACGETKLASS"></a><h3>xmlSecMSCryptoKeyDataHmacGetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecKeyDataId</span></font>
-xmlSecMSCryptoKeyDataHmacGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecMSCryptoKeyDataHmacGetKlass"></a><h3>xmlSecMSCryptoKeyDataHmacGetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecKeyDataId</span></font>
+xmlSecMSCryptoKeyDataHmacGetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The HMAC key data klass.</p>
-<div class="REFSECT3">
-<a name="AEN44729"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecMSCryptoKeyDataHmacGetKlass.returns"></a><h4>Returns</h4>
<p> HMAC key data klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECMSCRYPTOKEYDATAHMACSET"></a><h3>xmlSecMSCryptoKeyDataHmacSet ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecMSCryptoKeyDataHmacSet (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>,
- <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *buf</code>,
- <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> bufSize</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecMSCryptoKeyDataHmacSet"></a><h3>xmlSecMSCryptoKeyDataHmacSet ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecMSCryptoKeyDataHmacSet (<em class="parameter"><code><font><span class="type">xmlSecKeyDataPtr</span></font> data</code></em>,
+ <em class="parameter"><code>const <a class="link" href="xmlsec-xmlsec.html#xmlSecByte" title="xmlSecByte"><span class="type">xmlSecByte</span></a> *buf</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="type">xmlSecSize</span></a> bufSize</code></em>);</pre>
<p>Sets the value of HMAC key data.</p>
-<div class="REFSECT3">
-<a name="AEN44749"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN44751"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecMSCryptoKeyDataHmacSet.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>data</p></td>
-<td><p>the pointer to HMAC key data.</p></td>
-<td> </td>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the pointer to HMAC key data.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>buf</p></td>
-<td><p>the pointer to key value.</p></td>
-<td> </td>
+<td class="parameter_name"><p>buf</p></td>
+<td class="parameter_description"><p>the pointer to key value.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>bufSize</p></td>
-<td><p>the key value size (in bytes).</p></td>
-<td> </td>
+<td class="parameter_name"><p>bufSize</p></td>
+<td class="parameter_description"><p>the key value size (in bytes).</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN44772"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecMSCryptoKeyDataHmacSet.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECMSCRYPTOTRANSFORMHMACMD5GETKLASS"></a><h3>xmlSecMSCryptoTransformHmacMd5GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
+<div class="refsect2">
+<a name="xmlSecMSCryptoTransformHmacMd5GetKlass"></a><h3>xmlSecMSCryptoTransformHmacMd5GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
xmlSecMSCryptoTransformHmacMd5GetKlass
- (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+ (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The HMAC-MD5 transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN44785"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecMSCryptoTransformHmacMd5GetKlass.returns"></a><h4>Returns</h4>
<p> the HMAC-MD5 transform klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECMSCRYPTOTRANSFORMHMACSHA1GETKLASS"></a><h3>xmlSecMSCryptoTransformHmacSha1GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
+<div class="refsect2">
+<a name="xmlSecMSCryptoTransformHmacSha1GetKlass"></a><h3>xmlSecMSCryptoTransformHmacSha1GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
xmlSecMSCryptoTransformHmacSha1GetKlass
- (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+ (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The HMAC-SHA1 transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN44798"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecMSCryptoTransformHmacSha1GetKlass.returns"></a><h4>Returns</h4>
<p> the HMAC-SHA1 transform klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECMSCRYPTOTRANSFORMHMACSHA256GETKLASS"></a><h3>xmlSecMSCryptoTransformHmacSha256GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
+<div class="refsect2">
+<a name="xmlSecMSCryptoTransformHmacSha256GetKlass"></a><h3>xmlSecMSCryptoTransformHmacSha256GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
xmlSecMSCryptoTransformHmacSha256GetKlass
- (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+ (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The HMAC-SHA256 transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN44811"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecMSCryptoTransformHmacSha256GetKlass.returns"></a><h4>Returns</h4>
<p> the HMAC-SHA256 transform klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECMSCRYPTOTRANSFORMHMACSHA384GETKLASS"></a><h3>xmlSecMSCryptoTransformHmacSha384GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
+<div class="refsect2">
+<a name="xmlSecMSCryptoTransformHmacSha384GetKlass"></a><h3>xmlSecMSCryptoTransformHmacSha384GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
xmlSecMSCryptoTransformHmacSha384GetKlass
- (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+ (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The HMAC-SHA384 transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN44824"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecMSCryptoTransformHmacSha384GetKlass.returns"></a><h4>Returns</h4>
<p> the HMAC-SHA384 transform klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECMSCRYPTOTRANSFORMHMACSHA512GETKLASS"></a><h3>xmlSecMSCryptoTransformHmacSha512GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
+<div class="refsect2">
+<a name="xmlSecMSCryptoTransformHmacSha512GetKlass"></a><h3>xmlSecMSCryptoTransformHmacSha512GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
xmlSecMSCryptoTransformHmacSha512GetKlass
- (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+ (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The HMAC-SHA512 transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN44837"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecMSCryptoTransformHmacSha512GetKlass.returns"></a><h4>Returns</h4>
<p> the HMAC-SHA512 transform klass.</p>
</div>
</div>
</div>
-<div class="REFSECT1">
-<a name="XMLSEC-MSCRYPTO-CRYPTO.OTHER_DETAILS"></a><h2>Types and Values</h2>
-<div class="REFSECT2">
-<a name="XMLSECMSCRYPTOKEYDATADSAID"></a><h3>xmlSecMSCryptoKeyDataDsaId</h3>
-<pre class="PROGRAMLISTING">#define xmlSecMSCryptoKeyDataDsaId</pre>
+<div class="refsect1">
+<a name="xmlsec-mscrypto-crypto.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="xmlSecMSCryptoKeyDataDsaId"></a><h3>xmlSecMSCryptoKeyDataDsaId</h3>
+<pre class="programlisting">#define xmlSecMSCryptoKeyDataDsaId</pre>
<p>The DSA key klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECMSCRYPTOTRANSFORMDSASHA1ID"></a><h3>xmlSecMSCryptoTransformDsaSha1Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecMSCryptoTransformDsaSha1Id</pre>
+<div class="refsect2">
+<a name="xmlSecMSCryptoTransformDsaSha1Id"></a><h3>xmlSecMSCryptoTransformDsaSha1Id</h3>
+<pre class="programlisting">#define xmlSecMSCryptoTransformDsaSha1Id</pre>
<p>The DSA SHA1 signature transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECMSCRYPTOKEYDATAGOST2001ID"></a><h3>xmlSecMSCryptoKeyDataGost2001Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecMSCryptoKeyDataGost2001Id</pre>
+<div class="refsect2">
+<a name="xmlSecMSCryptoKeyDataGost2001Id"></a><h3>xmlSecMSCryptoKeyDataGost2001Id</h3>
+<pre class="programlisting">#define xmlSecMSCryptoKeyDataGost2001Id</pre>
<p>The GOST2001 key klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECMSCRYPTOTRANSFORMGOST2001GOSTR3411-94ID"></a><h3>xmlSecMSCryptoTransformGost2001GostR3411_94Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecMSCryptoTransformGost2001GostR3411_94Id</pre>
+<div class="refsect2">
+<a name="xmlSecMSCryptoTransformGost2001GostR3411-94Id"></a><h3>xmlSecMSCryptoTransformGost2001GostR3411_94Id</h3>
+<pre class="programlisting">#define xmlSecMSCryptoTransformGost2001GostR3411_94Id</pre>
<p>The GOST2001 GOSTR3411_94 signature transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECMSCRYPTOKEYDATARSAID"></a><h3>xmlSecMSCryptoKeyDataRsaId</h3>
-<pre class="PROGRAMLISTING">#define xmlSecMSCryptoKeyDataRsaId</pre>
+<div class="refsect2">
+<a name="xmlSecMSCryptoKeyDataRsaId"></a><h3>xmlSecMSCryptoKeyDataRsaId</h3>
+<pre class="programlisting">#define xmlSecMSCryptoKeyDataRsaId</pre>
<p>The RSA key klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECMSCRYPTOTRANSFORMRSAMD5ID"></a><h3>xmlSecMSCryptoTransformRsaMd5Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecMSCryptoTransformRsaMd5Id</pre>
+<div class="refsect2">
+<a name="xmlSecMSCryptoTransformRsaMd5Id"></a><h3>xmlSecMSCryptoTransformRsaMd5Id</h3>
+<pre class="programlisting">#define xmlSecMSCryptoTransformRsaMd5Id</pre>
<p>The RSA-MD5 signature transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECMSCRYPTOTRANSFORMRSASHA1ID"></a><h3>xmlSecMSCryptoTransformRsaSha1Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecMSCryptoTransformRsaSha1Id</pre>
+<div class="refsect2">
+<a name="xmlSecMSCryptoTransformRsaSha1Id"></a><h3>xmlSecMSCryptoTransformRsaSha1Id</h3>
+<pre class="programlisting">#define xmlSecMSCryptoTransformRsaSha1Id</pre>
<p>The RSA-SHA1 signature transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECMSCRYPTOTRANSFORMRSASHA256ID"></a><h3>xmlSecMSCryptoTransformRsaSha256Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecMSCryptoTransformRsaSha256Id</pre>
+<div class="refsect2">
+<a name="xmlSecMSCryptoTransformRsaSha256Id"></a><h3>xmlSecMSCryptoTransformRsaSha256Id</h3>
+<pre class="programlisting">#define xmlSecMSCryptoTransformRsaSha256Id</pre>
<p>The RSA-SHA256 signature transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECMSCRYPTOTRANSFORMRSASHA384ID"></a><h3>xmlSecMSCryptoTransformRsaSha384Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecMSCryptoTransformRsaSha384Id</pre>
+<div class="refsect2">
+<a name="xmlSecMSCryptoTransformRsaSha384Id"></a><h3>xmlSecMSCryptoTransformRsaSha384Id</h3>
+<pre class="programlisting">#define xmlSecMSCryptoTransformRsaSha384Id</pre>
<p>The RSA-SHA384 signature transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECMSCRYPTOTRANSFORMRSASHA512ID"></a><h3>xmlSecMSCryptoTransformRsaSha512Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecMSCryptoTransformRsaSha512Id</pre>
+<div class="refsect2">
+<a name="xmlSecMSCryptoTransformRsaSha512Id"></a><h3>xmlSecMSCryptoTransformRsaSha512Id</h3>
+<pre class="programlisting">#define xmlSecMSCryptoTransformRsaSha512Id</pre>
<p>The RSA-SHA512 signature transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECMSCRYPTOTRANSFORMRSAPKCS1ID"></a><h3>xmlSecMSCryptoTransformRsaPkcs1Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecMSCryptoTransformRsaPkcs1Id</pre>
+<div class="refsect2">
+<a name="xmlSecMSCryptoTransformRsaPkcs1Id"></a><h3>xmlSecMSCryptoTransformRsaPkcs1Id</h3>
+<pre class="programlisting">#define xmlSecMSCryptoTransformRsaPkcs1Id</pre>
<p>The RSA PKCS1 key transport transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECMSCRYPTOTRANSFORMRSAOAEPID"></a><h3>xmlSecMSCryptoTransformRsaOaepId</h3>
-<pre class="PROGRAMLISTING">#define xmlSecMSCryptoTransformRsaOaepId</pre>
+<div class="refsect2">
+<a name="xmlSecMSCryptoTransformRsaOaepId"></a><h3>xmlSecMSCryptoTransformRsaOaepId</h3>
+<pre class="programlisting">#define xmlSecMSCryptoTransformRsaOaepId</pre>
<p>The RSA PKCS1 key transport transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECMSCRYPTOTRANSFORMMD5ID"></a><h3>xmlSecMSCryptoTransformMd5Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecMSCryptoTransformMd5Id</pre>
+<div class="refsect2">
+<a name="xmlSecMSCryptoTransformMd5Id"></a><h3>xmlSecMSCryptoTransformMd5Id</h3>
+<pre class="programlisting">#define xmlSecMSCryptoTransformMd5Id</pre>
<p>The MD5 digest transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECMSCRYPTOTRANSFORMSHA1ID"></a><h3>xmlSecMSCryptoTransformSha1Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecMSCryptoTransformSha1Id</pre>
+<div class="refsect2">
+<a name="xmlSecMSCryptoTransformSha1Id"></a><h3>xmlSecMSCryptoTransformSha1Id</h3>
+<pre class="programlisting">#define xmlSecMSCryptoTransformSha1Id</pre>
<p>The SHA1 digest transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECMSCRYPTOTRANSFORMSHA256ID"></a><h3>xmlSecMSCryptoTransformSha256Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecMSCryptoTransformSha256Id</pre>
+<div class="refsect2">
+<a name="xmlSecMSCryptoTransformSha256Id"></a><h3>xmlSecMSCryptoTransformSha256Id</h3>
+<pre class="programlisting">#define xmlSecMSCryptoTransformSha256Id</pre>
<p>The SHA256 digest transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECMSCRYPTOTRANSFORMSHA384ID"></a><h3>xmlSecMSCryptoTransformSha384Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecMSCryptoTransformSha384Id</pre>
+<div class="refsect2">
+<a name="xmlSecMSCryptoTransformSha384Id"></a><h3>xmlSecMSCryptoTransformSha384Id</h3>
+<pre class="programlisting">#define xmlSecMSCryptoTransformSha384Id</pre>
<p>The SHA384 digest transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECMSCRYPTOTRANSFORMSHA512ID"></a><h3>xmlSecMSCryptoTransformSha512Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecMSCryptoTransformSha512Id</pre>
+<div class="refsect2">
+<a name="xmlSecMSCryptoTransformSha512Id"></a><h3>xmlSecMSCryptoTransformSha512Id</h3>
+<pre class="programlisting">#define xmlSecMSCryptoTransformSha512Id</pre>
<p>The SHA512 digest transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECMSCRYPTOTRANSFORMGOSTR3411-94ID"></a><h3>xmlSecMSCryptoTransformGostR3411_94Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecMSCryptoTransformGostR3411_94Id</pre>
+<div class="refsect2">
+<a name="xmlSecMSCryptoTransformGostR3411-94Id"></a><h3>xmlSecMSCryptoTransformGostR3411_94Id</h3>
+<pre class="programlisting">#define xmlSecMSCryptoTransformGostR3411_94Id</pre>
<p>The GOSTR3411_94 digest transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECMSCRYPTOKEYDATAAESID"></a><h3>xmlSecMSCryptoKeyDataAesId</h3>
-<pre class="PROGRAMLISTING">#define xmlSecMSCryptoKeyDataAesId</pre>
+<div class="refsect2">
+<a name="xmlSecMSCryptoKeyDataAesId"></a><h3>xmlSecMSCryptoKeyDataAesId</h3>
+<pre class="programlisting">#define xmlSecMSCryptoKeyDataAesId</pre>
<p>The AES key data klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECMSCRYPTOTRANSFORMAES128CBCID"></a><h3>xmlSecMSCryptoTransformAes128CbcId</h3>
-<pre class="PROGRAMLISTING">#define xmlSecMSCryptoTransformAes128CbcId</pre>
+<div class="refsect2">
+<a name="xmlSecMSCryptoTransformAes128CbcId"></a><h3>xmlSecMSCryptoTransformAes128CbcId</h3>
+<pre class="programlisting">#define xmlSecMSCryptoTransformAes128CbcId</pre>
<p>The AES128 CBC cipher transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECMSCRYPTOTRANSFORMAES192CBCID"></a><h3>xmlSecMSCryptoTransformAes192CbcId</h3>
-<pre class="PROGRAMLISTING">#define xmlSecMSCryptoTransformAes192CbcId</pre>
+<div class="refsect2">
+<a name="xmlSecMSCryptoTransformAes192CbcId"></a><h3>xmlSecMSCryptoTransformAes192CbcId</h3>
+<pre class="programlisting">#define xmlSecMSCryptoTransformAes192CbcId</pre>
<p>The AES192 CBC cipher transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECMSCRYPTOTRANSFORMAES256CBCID"></a><h3>xmlSecMSCryptoTransformAes256CbcId</h3>
-<pre class="PROGRAMLISTING">#define xmlSecMSCryptoTransformAes256CbcId</pre>
+<div class="refsect2">
+<a name="xmlSecMSCryptoTransformAes256CbcId"></a><h3>xmlSecMSCryptoTransformAes256CbcId</h3>
+<pre class="programlisting">#define xmlSecMSCryptoTransformAes256CbcId</pre>
<p>The AES256 CBC cipher transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECMSCRYPTOTRANSFORMKWAES128ID"></a><h3>xmlSecMSCryptoTransformKWAes128Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecMSCryptoTransformKWAes128Id</pre>
+<div class="refsect2">
+<a name="xmlSecMSCryptoTransformKWAes128Id"></a><h3>xmlSecMSCryptoTransformKWAes128Id</h3>
+<pre class="programlisting">#define xmlSecMSCryptoTransformKWAes128Id</pre>
<p>The AES 128 key wrap transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECMSCRYPTOTRANSFORMKWAES192ID"></a><h3>xmlSecMSCryptoTransformKWAes192Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecMSCryptoTransformKWAes192Id</pre>
+<div class="refsect2">
+<a name="xmlSecMSCryptoTransformKWAes192Id"></a><h3>xmlSecMSCryptoTransformKWAes192Id</h3>
+<pre class="programlisting">#define xmlSecMSCryptoTransformKWAes192Id</pre>
<p>The AES 192 key wrap transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECMSCRYPTOTRANSFORMKWAES256ID"></a><h3>xmlSecMSCryptoTransformKWAes256Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecMSCryptoTransformKWAes256Id</pre>
+<div class="refsect2">
+<a name="xmlSecMSCryptoTransformKWAes256Id"></a><h3>xmlSecMSCryptoTransformKWAes256Id</h3>
+<pre class="programlisting">#define xmlSecMSCryptoTransformKWAes256Id</pre>
<p>The AES 256 key wrap transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECMSCRYPTOKEYDATADESID"></a><h3>xmlSecMSCryptoKeyDataDesId</h3>
-<pre class="PROGRAMLISTING">#define xmlSecMSCryptoKeyDataDesId</pre>
+<div class="refsect2">
+<a name="xmlSecMSCryptoKeyDataDesId"></a><h3>xmlSecMSCryptoKeyDataDesId</h3>
+<pre class="programlisting">#define xmlSecMSCryptoKeyDataDesId</pre>
<p>The DES key data klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECMSCRYPTOTRANSFORMDES3CBCID"></a><h3>xmlSecMSCryptoTransformDes3CbcId</h3>
-<pre class="PROGRAMLISTING">#define xmlSecMSCryptoTransformDes3CbcId</pre>
+<div class="refsect2">
+<a name="xmlSecMSCryptoTransformDes3CbcId"></a><h3>xmlSecMSCryptoTransformDes3CbcId</h3>
+<pre class="programlisting">#define xmlSecMSCryptoTransformDes3CbcId</pre>
<p>The DES3 CBC cipher transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECMSCRYPTOTRANSFORMKWDES3ID"></a><h3>xmlSecMSCryptoTransformKWDes3Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecMSCryptoTransformKWDes3Id</pre>
+<div class="refsect2">
+<a name="xmlSecMSCryptoTransformKWDes3Id"></a><h3>xmlSecMSCryptoTransformKWDes3Id</h3>
+<pre class="programlisting">#define xmlSecMSCryptoTransformKWDes3Id</pre>
<p>The DES3 KW transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECMSCRYPTOKEYDATAHMACID"></a><h3>xmlSecMSCryptoKeyDataHmacId</h3>
-<pre class="PROGRAMLISTING">#define xmlSecMSCryptoKeyDataHmacId</pre>
+<div class="refsect2">
+<a name="xmlSecMSCryptoKeyDataHmacId"></a><h3>xmlSecMSCryptoKeyDataHmacId</h3>
+<pre class="programlisting">#define xmlSecMSCryptoKeyDataHmacId</pre>
<p>The DHMAC key klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECMSCRYPTOTRANSFORMHMACMD5ID"></a><h3>xmlSecMSCryptoTransformHmacMd5Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecMSCryptoTransformHmacMd5Id</pre>
+<div class="refsect2">
+<a name="xmlSecMSCryptoTransformHmacMd5Id"></a><h3>xmlSecMSCryptoTransformHmacMd5Id</h3>
+<pre class="programlisting">#define xmlSecMSCryptoTransformHmacMd5Id</pre>
<p>The HMAC with MD5 signature transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECMSCRYPTOTRANSFORMHMACSHA1ID"></a><h3>xmlSecMSCryptoTransformHmacSha1Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecMSCryptoTransformHmacSha1Id</pre>
+<div class="refsect2">
+<a name="xmlSecMSCryptoTransformHmacSha1Id"></a><h3>xmlSecMSCryptoTransformHmacSha1Id</h3>
+<pre class="programlisting">#define xmlSecMSCryptoTransformHmacSha1Id</pre>
<p>The HMAC with SHA1 signature transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECMSCRYPTOTRANSFORMHMACSHA256ID"></a><h3>xmlSecMSCryptoTransformHmacSha256Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecMSCryptoTransformHmacSha256Id</pre>
+<div class="refsect2">
+<a name="xmlSecMSCryptoTransformHmacSha256Id"></a><h3>xmlSecMSCryptoTransformHmacSha256Id</h3>
+<pre class="programlisting">#define xmlSecMSCryptoTransformHmacSha256Id</pre>
<p>The HMAC with SHA256 signature transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECMSCRYPTOTRANSFORMHMACSHA384ID"></a><h3>xmlSecMSCryptoTransformHmacSha384Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecMSCryptoTransformHmacSha384Id</pre>
+<div class="refsect2">
+<a name="xmlSecMSCryptoTransformHmacSha384Id"></a><h3>xmlSecMSCryptoTransformHmacSha384Id</h3>
+<pre class="programlisting">#define xmlSecMSCryptoTransformHmacSha384Id</pre>
<p>The HMAC with SHA384 signature transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECMSCRYPTOTRANSFORMHMACSHA512ID"></a><h3>xmlSecMSCryptoTransformHmacSha512Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecMSCryptoTransformHmacSha512Id</pre>
+<div class="refsect2">
+<a name="xmlSecMSCryptoTransformHmacSha512Id"></a><h3>xmlSecMSCryptoTransformHmacSha512Id</h3>
+<pre class="programlisting">#define xmlSecMSCryptoTransformHmacSha512Id</pre>
<p>The HMAC with SHA512 signature transform klass.</p>
</div>
</div>
-<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td align="left"><a accesskey="p" href="xmlsec-mscrypto-certkeys.html"><b><<< certkeys</b></a></td>
-<td align="right"><a accesskey="n" href="xmlsec-mscrypto-keysstore.html"><b>keysstore >>></b></a></td>
-</tr></table>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
</td></tr></table></td>
</tr></table></body>
</html>
diff --git a/docs/api/xmlsec-mscrypto-keysstore.html b/docs/api/xmlsec-mscrypto-keysstore.html
index 584b476..31b39d2 100644
--- a/docs/api/xmlsec-mscrypto-keysstore.html
+++ b/docs/api/xmlsec-mscrypto-keysstore.html
@@ -1,41 +1,14 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>keysstore</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79">
-<link rel="HOME" title="XML Security Library Reference Manual" href="index.html">
-<link rel="UP" title="XML Security Library for MSCrypto API Reference." href="xmlsec-mscrypto-ref.html">
-<link rel="PREVIOUS" title="crypto" href="xmlsec-mscrypto-crypto.html">
-<link rel="NEXT" title="x509" href="xmlsec-mscrypto-x509.html">
-<style type="text/css">.synopsis, .classsynopsis {
- background: #eeeeee;
- border: solid 1px #aaaaaa;
- padding: 0.5em;
-}
-.programlisting {
- background: #eeeeff;
- border: solid 1px #aaaaff;
- padding: 0.5em;
-}
-.variablelist {
- padding: 4px;
- margin-left: 3em;
-}
-.navigation {
- background: #ffeeee;
- border: solid 1px #ffaaaa;
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
-.navigation a {
- color: #770000;
-}
-.navigation a:visited {
- color: #550000;
-}
-.navigation .title {
- font-size: 200%;
-}</style>
+<title>keysstore: XML Security Library Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="XML Security Library Reference Manual">
+<link rel="up" href="xmlsec-mscrypto-ref.html" title="XML Security Library for MSCrypto API Reference.">
+<link rel="prev" href="xmlsec-mscrypto-crypto.html" title="crypto">
+<link rel="next" href="xmlsec-mscrypto-x509.html" title="x509">
+<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
<style type="text/css">
table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
width: 20em;
@@ -100,221 +73,229 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
</table>
</td>
<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent">
-<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td><a accesskey="p" href="xmlsec-mscrypto-crypto.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="xmlsec-mscrypto-ref.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description"> <span class="dim">|</span>
+ <a href="#xmlsec-mscrypto-keysstore.description" class="shortcut">Description</a></span>
+</td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<th width="100%" align="center">XML Security Library Reference Manual</th>
+<td><a accesskey="u" href="xmlsec-mscrypto-ref.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="xmlsec-mscrypto-crypto.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="xmlsec-mscrypto-x509.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
-<h1>
-<a name="XMLSEC-MSCRYPTO-KEYSSTORE"></a>keysstore</h1>
-<div class="REFNAMEDIV">
-<a name="AEN45051"></a><h2>Name</h2>keysstore -- Keys store implementation for MS Crypto.</div>
-<div class="REFSECT1">
-<a name="XMLSEC-MSCRYPTO-KEYSSTORE.FUNCTIONS"></a><h2>Functions</h2>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN45056"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
+<div class="refentry">
+<a name="xmlsec-mscrypto-keysstore"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="xmlsec-mscrypto-keysstore.top_of_page"></a>keysstore</span></h2>
+<p>keysstore — Keys store implementation for MS Crypto.</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="xmlsec-mscrypto-keysstore.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
<tbody>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecKeyStoreId</span></font></td>
-<td>
-<a href="xmlsec-mscrypto-keysstore.html#XMLSECMSCRYPTOKEYSSTOREGETKLASS">xmlSecMSCryptoKeysStoreGetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecKeyStoreId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-mscrypto-keysstore.html#xmlSecMSCryptoKeysStoreGetKlass" title="xmlSecMSCryptoKeysStoreGetKlass ()">xmlSecMSCryptoKeysStoreGetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-mscrypto-keysstore.html#XMLSECMSCRYPTOKEYSSTOREADOPTKEY">xmlSecMSCryptoKeysStoreAdoptKey</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-mscrypto-keysstore.html#xmlSecMSCryptoKeysStoreAdoptKey" title="xmlSecMSCryptoKeysStoreAdoptKey ()">xmlSecMSCryptoKeysStoreAdoptKey</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-mscrypto-keysstore.html#XMLSECMSCRYPTOKEYSSTORELOAD">xmlSecMSCryptoKeysStoreLoad</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-mscrypto-keysstore.html#xmlSecMSCryptoKeysStoreLoad" title="xmlSecMSCryptoKeysStoreLoad ()">xmlSecMSCryptoKeysStoreLoad</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-mscrypto-keysstore.html#XMLSECMSCRYPTOKEYSSTORESAVE">xmlSecMSCryptoKeysStoreSave</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-mscrypto-keysstore.html#xmlSecMSCryptoKeysStoreSave" title="xmlSecMSCryptoKeysStoreSave ()">xmlSecMSCryptoKeysStoreSave</a> <span class="c_punctuation">()</span>
</td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT1">
-<a name="XMLSEC-MSCRYPTO-KEYSSTORE.OTHER"></a><h2>Types and Values</h2>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN45089"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
+<div class="refsect1">
+<a name="xmlsec-mscrypto-keysstore.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
<tbody><tr>
-<td>#define</td>
-<td><a href="xmlsec-mscrypto-keysstore.html#XMLSECMSCRYPTOKEYSSTOREID">xmlSecMSCryptoKeysStoreId</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-mscrypto-keysstore.html#xmlSecMSCryptoKeysStoreId" title="xmlSecMSCryptoKeysStoreId">xmlSecMSCryptoKeysStoreId</a></td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT1">
-<a name="XMLSEC-MSCRYPTO-KEYSSTORE.DESCRIPTION"></a><h2>Description</h2>
-<p>Keys store implementation for MS Crypto.</p>
+<div class="refsect1">
+<a name="xmlsec-mscrypto-keysstore.description"></a><h2>Description</h2>
+<p>
+Keys store implementation for MS Crypto.
+</p>
</div>
-<div class="REFSECT1">
-<a name="XMLSEC-MSCRYPTO-KEYSSTORE.FUNCTIONS_DETAILS"></a><h2>Functions</h2>
-<div class="REFSECT2">
-<a name="XMLSECMSCRYPTOKEYSSTOREGETKLASS"></a><h3>xmlSecMSCryptoKeysStoreGetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecKeyStoreId</span></font>
-xmlSecMSCryptoKeysStoreGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect1">
+<a name="xmlsec-mscrypto-keysstore.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="xmlSecMSCryptoKeysStoreGetKlass"></a><h3>xmlSecMSCryptoKeysStoreGetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecKeyStoreId</span></font>
+xmlSecMSCryptoKeysStoreGetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The MSCrypto list based keys store klass.</p>
-<div class="REFSECT3">
-<a name="AEN45111"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecMSCryptoKeysStoreGetKlass.returns"></a><h4>Returns</h4>
<p> MSCrypto list based keys store klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECMSCRYPTOKEYSSTOREADOPTKEY"></a><h3>xmlSecMSCryptoKeysStoreAdoptKey ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecMSCryptoKeysStoreAdoptKey (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSTORE"><span class="TYPE">xmlSecKeyStorePtr</span></a> store</code>,
- <code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>);</pre>
-<p>Adds <code class="PARAMETER">key</code>
- to the <code class="PARAMETER">store</code>
+<div class="refsect2">
+<a name="xmlSecMSCryptoKeysStoreAdoptKey"></a><h3>xmlSecMSCryptoKeysStoreAdoptKey ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecMSCryptoKeysStoreAdoptKey (<em class="parameter"><code><font><span class="type">xmlSecKeyStorePtr</span></font> store</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlSecKeyPtr</span></font> key</code></em>);</pre>
+<p>Adds <em class="parameter"><code>key</code></em>
+ to the <em class="parameter"><code>store</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN45130"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN45132"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecMSCryptoKeysStoreAdoptKey.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>store</p></td>
-<td><p>the pointer to MSCrypto keys store.</p></td>
-<td> </td>
+<td class="parameter_name"><p>store</p></td>
+<td class="parameter_description"><p>the pointer to MSCrypto keys store.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>key</p></td>
-<td><p>the pointer to key.</p></td>
-<td> </td>
+<td class="parameter_name"><p>key</p></td>
+<td class="parameter_description"><p>the pointer to key.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN45147"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecMSCryptoKeysStoreAdoptKey.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECMSCRYPTOKEYSSTORELOAD"></a><h3>xmlSecMSCryptoKeysStoreLoad ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecMSCryptoKeysStoreLoad (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSTORE"><span class="TYPE">xmlSecKeyStorePtr</span></a> store</code>,
- <code class="PARAMETER">const <font><span class="TYPE">char</span></font> *uri</code>,
- <code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> keysMngr</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecMSCryptoKeysStoreLoad"></a><h3>xmlSecMSCryptoKeysStoreLoad ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecMSCryptoKeysStoreLoad (<em class="parameter"><code><font><span class="type">xmlSecKeyStorePtr</span></font> store</code></em>,
+ <em class="parameter"><code>const <font><span class="type">char</span></font> *uri</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlSecKeysMngrPtr</span></font> keysMngr</code></em>);</pre>
<p>Reads keys from an XML file.</p>
-<div class="REFSECT3">
-<a name="AEN45167"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN45169"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecMSCryptoKeysStoreLoad.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>store</p></td>
-<td><p>the pointer to MSCrypto keys store.</p></td>
-<td> </td>
+<td class="parameter_name"><p>store</p></td>
+<td class="parameter_description"><p>the pointer to MSCrypto keys store.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>uri</p></td>
-<td><p>the filename.</p></td>
-<td> </td>
+<td class="parameter_name"><p>uri</p></td>
+<td class="parameter_description"><p>the filename.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>keysMngr</p></td>
-<td><p>the pointer to associated keys manager.</p></td>
-<td> </td>
+<td class="parameter_name"><p>keysMngr</p></td>
+<td class="parameter_description"><p>the pointer to associated keys manager.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN45190"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecMSCryptoKeysStoreLoad.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECMSCRYPTOKEYSSTORESAVE"></a><h3>xmlSecMSCryptoKeysStoreSave ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecMSCryptoKeysStoreSave (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSTORE"><span class="TYPE">xmlSecKeyStorePtr</span></a> store</code>,
- <code class="PARAMETER">const <font><span class="TYPE">char</span></font> *filename</code>,
- <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATATYPE"><span class="TYPE">xmlSecKeyDataType</span></a> type</code>);</pre>
-<p>Writes keys from <code class="PARAMETER">store</code>
+<div class="refsect2">
+<a name="xmlSecMSCryptoKeysStoreSave"></a><h3>xmlSecMSCryptoKeysStoreSave ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecMSCryptoKeysStoreSave (<em class="parameter"><code><font><span class="type">xmlSecKeyStorePtr</span></font> store</code></em>,
+ <em class="parameter"><code>const <font><span class="type">char</span></font> *filename</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataType" title="xmlSecKeyDataType"><span class="type">xmlSecKeyDataType</span></a> type</code></em>);</pre>
+<p>Writes keys from <em class="parameter"><code>store</code></em>
to an XML file.</p>
-<div class="REFSECT3">
-<a name="AEN45211"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN45213"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecMSCryptoKeysStoreSave.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>store</p></td>
-<td><p>the pointer to MSCrypto keys store.</p></td>
-<td> </td>
+<td class="parameter_name"><p>store</p></td>
+<td class="parameter_description"><p>the pointer to MSCrypto keys store.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>filename</p></td>
-<td><p>the filename.</p></td>
-<td> </td>
+<td class="parameter_name"><p>filename</p></td>
+<td class="parameter_description"><p>the filename.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>type</p></td>
-<td><p>the saved keys type (public, private, ...).</p></td>
-<td> </td>
+<td class="parameter_name"><p>type</p></td>
+<td class="parameter_description"><p>the saved keys type (public, private, ...).</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN45234"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecMSCryptoKeysStoreSave.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs.</p>
</div>
</div>
</div>
-<div class="REFSECT1">
-<a name="XMLSEC-MSCRYPTO-KEYSSTORE.OTHER_DETAILS"></a><h2>Types and Values</h2>
-<div class="REFSECT2">
-<a name="XMLSECMSCRYPTOKEYSSTOREID"></a><h3>xmlSecMSCryptoKeysStoreId</h3>
-<pre class="PROGRAMLISTING">#define xmlSecMSCryptoKeysStoreId xmlSecMSCryptoKeysStoreGetKlass()</pre>
+<div class="refsect1">
+<a name="xmlsec-mscrypto-keysstore.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="xmlSecMSCryptoKeysStoreId"></a><h3>xmlSecMSCryptoKeysStoreId</h3>
+<pre class="programlisting">#define xmlSecMSCryptoKeysStoreId xmlSecMSCryptoKeysStoreGetKlass()
+</pre>
<p>A MSCrypto keys store klass id.</p>
</div>
</div>
-<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td align="left"><a accesskey="p" href="xmlsec-mscrypto-crypto.html"><b><<< crypto</b></a></td>
-<td align="right"><a accesskey="n" href="xmlsec-mscrypto-x509.html"><b>x509 >>></b></a></td>
-</tr></table>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
</td></tr></table></td>
</tr></table></body>
</html>
diff --git a/docs/api/xmlsec-mscrypto-ref.html b/docs/api/xmlsec-mscrypto-ref.html
index 1d71e0e..fb1c150 100644
--- a/docs/api/xmlsec-mscrypto-ref.html
+++ b/docs/api/xmlsec-mscrypto-ref.html
@@ -1,41 +1,14 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>XML Security Library for MSCrypto API Reference.</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79">
-<link rel="HOME" title="XML Security Library Reference Manual" href="index.html">
-<link rel="UP" title="XML Security Library API Reference." href="xmlsec-reference.html">
-<link rel="PREVIOUS" title="x509" href="xmlsec-nss-x509.html">
-<link rel="NEXT" title="app" href="xmlsec-mscrypto-app.html">
-<style type="text/css">.synopsis, .classsynopsis {
- background: #eeeeee;
- border: solid 1px #aaaaaa;
- padding: 0.5em;
-}
-.programlisting {
- background: #eeeeff;
- border: solid 1px #aaaaff;
- padding: 0.5em;
-}
-.variablelist {
- padding: 4px;
- margin-left: 3em;
-}
-.navigation {
- background: #ffeeee;
- border: solid 1px #ffaaaa;
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
-.navigation a {
- color: #770000;
-}
-.navigation a:visited {
- color: #550000;
-}
-.navigation .title {
- font-size: 200%;
-}</style>
+<title>XML Security Library for MSCrypto API Reference.: XML Security Library Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="XML Security Library Reference Manual">
+<link rel="up" href="xmlsec-reference.html" title="Part II. XML Security Library API Reference.">
+<link rel="prev" href="xmlsec-nss-x509.html" title="x509">
+<link rel="next" href="xmlsec-mscrypto-app.html" title="app">
+<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
<style type="text/css">
table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
width: 20em;
@@ -100,37 +73,39 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
</table>
</td>
<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent">
-<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td><a accesskey="p" href="xmlsec-nss-x509.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="xmlsec-reference.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<th width="100%" align="center">XML Security Library Reference Manual</th>
+<td><a accesskey="u" href="xmlsec-reference.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="xmlsec-nss-x509.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="xmlsec-mscrypto-app.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
-<div class="CHAPTER">
-<h1>
-<a name="XMLSEC-MSCRYPTO-REF"></a>XML Security Library for MSCrypto API Reference.</h1>
-<div class="TOC"><dl>
-<dt><b>Table of Contents</b></dt>
+<div class="chapter">
+<div class="titlepage"><div><div><h2 class="title">
+<a name="xmlsec-mscrypto-ref"></a>XML Security Library for MSCrypto API Reference.</h2></div></div></div>
+<div class="toc"><dl class="toc">
<dt>
-<a href="xmlsec-mscrypto-app.html">app</a> -- Application functions implementation for MS Crypto.</dt>
+<span class="refentrytitle"><a href="xmlsec-mscrypto-app.html">app</a></span><span class="refpurpose"> — Application functions implementation for MS Crypto.</span>
+</dt>
<dt>
-<a href="xmlsec-mscrypto-certkeys.html">certkeys</a> -- MS Crypto certificates helper functions.</dt>
+<span class="refentrytitle"><a href="xmlsec-mscrypto-certkeys.html">certkeys</a></span><span class="refpurpose"> — MS Crypto certificates helper functions.</span>
+</dt>
<dt>
-<a href="xmlsec-mscrypto-crypto.html">crypto</a> -- Crypto transforms implementation for MS Crypto.</dt>
+<span class="refentrytitle"><a href="xmlsec-mscrypto-crypto.html">crypto</a></span><span class="refpurpose"> — Crypto transforms implementation for MS Crypto.</span>
+</dt>
<dt>
-<a href="xmlsec-mscrypto-keysstore.html">keysstore</a> -- Keys store implementation for MS Crypto.</dt>
+<span class="refentrytitle"><a href="xmlsec-mscrypto-keysstore.html">keysstore</a></span><span class="refpurpose"> — Keys store implementation for MS Crypto.</span>
+</dt>
<dt>
-<a href="xmlsec-mscrypto-x509.html">x509</a> -- X509 certificates support implementation for MS Crypto.</dt>
+<span class="refentrytitle"><a href="xmlsec-mscrypto-x509.html">x509</a></span><span class="refpurpose"> — X509 certificates support implementation for MS Crypto.</span>
+</dt>
</dl></div>
<p>This section contains the API reference for xmlsec-mscrypto. All
the public interfaces are documented here. This reference guide is
build by extracting comments from the code sources. </p>
</div>
-<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td align="left"><a accesskey="p" href="xmlsec-nss-x509.html"><b><<< x509</b></a></td>
-<td align="right"><a accesskey="n" href="xmlsec-mscrypto-app.html"><b>app >>></b></a></td>
-</tr></table>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
</td></tr></table></td>
</tr></table></body>
</html>
diff --git a/docs/api/xmlsec-mscrypto-x509.html b/docs/api/xmlsec-mscrypto-x509.html
index 63e2bcb..57c8167 100644
--- a/docs/api/xmlsec-mscrypto-x509.html
+++ b/docs/api/xmlsec-mscrypto-x509.html
@@ -1,41 +1,14 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>x509</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79">
-<link rel="HOME" title="XML Security Library Reference Manual" href="index.html">
-<link rel="UP" title="XML Security Library for MSCrypto API Reference." href="xmlsec-mscrypto-ref.html">
-<link rel="PREVIOUS" title="keysstore" href="xmlsec-mscrypto-keysstore.html">
-<link rel="NEXT" title="XML Security Library Reference Index" href="xmlsec-index.html">
-<style type="text/css">.synopsis, .classsynopsis {
- background: #eeeeee;
- border: solid 1px #aaaaaa;
- padding: 0.5em;
-}
-.programlisting {
- background: #eeeeff;
- border: solid 1px #aaaaff;
- padding: 0.5em;
-}
-.variablelist {
- padding: 4px;
- margin-left: 3em;
-}
-.navigation {
- background: #ffeeee;
- border: solid 1px #ffaaaa;
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
-.navigation a {
- color: #770000;
-}
-.navigation a:visited {
- color: #550000;
-}
-.navigation .title {
- font-size: 200%;
-}</style>
+<title>x509: XML Security Library Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="XML Security Library Reference Manual">
+<link rel="up" href="xmlsec-mscrypto-ref.html" title="XML Security Library for MSCrypto API Reference.">
+<link rel="prev" href="xmlsec-mscrypto-keysstore.html" title="keysstore">
+<link rel="next" href="xmlsec-index.html" title="XML Security Library Reference Index">
+<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
<style type="text/css">
table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
width: 20em;
@@ -100,679 +73,690 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
</table>
</td>
<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent">
-<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td><a accesskey="p" href="xmlsec-mscrypto-keysstore.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="xmlsec-mscrypto-ref.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description"> <span class="dim">|</span>
+ <a href="#xmlsec-mscrypto-x509.description" class="shortcut">Description</a></span>
+</td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<th width="100%" align="center">XML Security Library Reference Manual</th>
+<td><a accesskey="u" href="xmlsec-mscrypto-ref.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="xmlsec-mscrypto-keysstore.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="xmlsec-index.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
-<h1>
-<a name="XMLSEC-MSCRYPTO-X509"></a>x509</h1>
-<div class="REFNAMEDIV">
-<a name="AEN45250"></a><h2>Name</h2>x509 -- X509 certificates support implementation for MS Crypto.</div>
-<div class="REFSECT1">
-<a name="XMLSEC-MSCRYPTO-X509.FUNCTIONS"></a><h2>Functions</h2>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN45255"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
+<div class="refentry">
+<a name="xmlsec-mscrypto-x509"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="xmlsec-mscrypto-x509.top_of_page"></a>x509</span></h2>
+<p>x509 — X509 certificates support implementation for MS Crypto.</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="xmlsec-mscrypto-x509.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
<tbody>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecKeyDataId</span></font></td>
-<td>
-<a href="xmlsec-mscrypto-x509.html#XMLSECMSCRYPTOKEYDATAX509GETKLASS">xmlSecMSCryptoKeyDataX509GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecKeyDataId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-mscrypto-x509.html#xmlSecMSCryptoKeyDataX509GetKlass" title="xmlSecMSCryptoKeyDataX509GetKlass ()">xmlSecMSCryptoKeyDataX509GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">PCCERT_CONTEXT</span></font></td>
-<td>
-<a href="xmlsec-mscrypto-x509.html#XMLSECMSCRYPTOKEYDATAX509GETKEYCERT">xmlSecMSCryptoKeyDataX509GetKeyCert</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">PCCERT_CONTEXT</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-mscrypto-x509.html#xmlSecMSCryptoKeyDataX509GetKeyCert" title="xmlSecMSCryptoKeyDataX509GetKeyCert ()">xmlSecMSCryptoKeyDataX509GetKeyCert</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-mscrypto-x509.html#XMLSECMSCRYPTOKEYDATAX509ADOPTKEYCERT">xmlSecMSCryptoKeyDataX509AdoptKeyCert</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-mscrypto-x509.html#xmlSecMSCryptoKeyDataX509AdoptKeyCert" title="xmlSecMSCryptoKeyDataX509AdoptKeyCert ()">xmlSecMSCryptoKeyDataX509AdoptKeyCert</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-mscrypto-x509.html#XMLSECMSCRYPTOKEYDATAX509ADOPTCERT">xmlSecMSCryptoKeyDataX509AdoptCert</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-mscrypto-x509.html#xmlSecMSCryptoKeyDataX509AdoptCert" title="xmlSecMSCryptoKeyDataX509AdoptCert ()">xmlSecMSCryptoKeyDataX509AdoptCert</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">PCCERT_CONTEXT</span></font></td>
-<td>
-<a href="xmlsec-mscrypto-x509.html#XMLSECMSCRYPTOKEYDATAX509GETCERT">xmlSecMSCryptoKeyDataX509GetCert</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">PCCERT_CONTEXT</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-mscrypto-x509.html#xmlSecMSCryptoKeyDataX509GetCert" title="xmlSecMSCryptoKeyDataX509GetCert ()">xmlSecMSCryptoKeyDataX509GetCert</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="RETURNVALUE">xmlSecSize</span></a></td>
-<td>
-<a href="xmlsec-mscrypto-x509.html#XMLSECMSCRYPTOKEYDATAX509GETCERTSSIZE">xmlSecMSCryptoKeyDataX509GetCertsSize</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="returnvalue">xmlSecSize</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-mscrypto-x509.html#xmlSecMSCryptoKeyDataX509GetCertsSize" title="xmlSecMSCryptoKeyDataX509GetCertsSize ()">xmlSecMSCryptoKeyDataX509GetCertsSize</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-mscrypto-x509.html#XMLSECMSCRYPTOKEYDATAX509ADOPTCRL">xmlSecMSCryptoKeyDataX509AdoptCrl</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-mscrypto-x509.html#xmlSecMSCryptoKeyDataX509AdoptCrl" title="xmlSecMSCryptoKeyDataX509AdoptCrl ()">xmlSecMSCryptoKeyDataX509AdoptCrl</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">PCCRL_CONTEXT</span></font></td>
-<td>
-<a href="xmlsec-mscrypto-x509.html#XMLSECMSCRYPTOKEYDATAX509GETCRL">xmlSecMSCryptoKeyDataX509GetCrl</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">PCCRL_CONTEXT</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-mscrypto-x509.html#xmlSecMSCryptoKeyDataX509GetCrl" title="xmlSecMSCryptoKeyDataX509GetCrl ()">xmlSecMSCryptoKeyDataX509GetCrl</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="RETURNVALUE">xmlSecSize</span></a></td>
-<td>
-<a href="xmlsec-mscrypto-x509.html#XMLSECMSCRYPTOKEYDATAX509GETCRLSSIZE">xmlSecMSCryptoKeyDataX509GetCrlsSize</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="returnvalue">xmlSecSize</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-mscrypto-x509.html#xmlSecMSCryptoKeyDataX509GetCrlsSize" title="xmlSecMSCryptoKeyDataX509GetCrlsSize ()">xmlSecMSCryptoKeyDataX509GetCrlsSize</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecKeyDataId</span></font></td>
-<td>
-<a href="xmlsec-mscrypto-x509.html#XMLSECMSCRYPTOKEYDATARAWX509CERTGETKLASS">xmlSecMSCryptoKeyDataRawX509CertGetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecKeyDataId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-mscrypto-x509.html#xmlSecMSCryptoKeyDataRawX509CertGetKlass" title="xmlSecMSCryptoKeyDataRawX509CertGetKlass ()">xmlSecMSCryptoKeyDataRawX509CertGetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecKeyDataStoreId</span></font></td>
-<td>
-<a href="xmlsec-mscrypto-x509.html#XMLSECMSCRYPTOX509STOREGETKLASS">xmlSecMSCryptoX509StoreGetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecKeyDataStoreId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-mscrypto-x509.html#xmlSecMSCryptoX509StoreGetKlass" title="xmlSecMSCryptoX509StoreGetKlass ()">xmlSecMSCryptoX509StoreGetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-mscrypto-x509.html#XMLSECMSCRYPTOX509STOREADOPTCERT">xmlSecMSCryptoX509StoreAdoptCert</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-mscrypto-x509.html#xmlSecMSCryptoX509StoreAdoptCert" title="xmlSecMSCryptoX509StoreAdoptCert ()">xmlSecMSCryptoX509StoreAdoptCert</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-mscrypto-x509.html#XMLSECMSCRYPTOX509STOREADOPTKEYSTORE">xmlSecMSCryptoX509StoreAdoptKeyStore</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-mscrypto-x509.html#xmlSecMSCryptoX509StoreAdoptKeyStore" title="xmlSecMSCryptoX509StoreAdoptKeyStore ()">xmlSecMSCryptoX509StoreAdoptKeyStore</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-mscrypto-x509.html#XMLSECMSCRYPTOX509STOREADOPTTRUSTEDSTORE">xmlSecMSCryptoX509StoreAdoptTrustedStore</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-mscrypto-x509.html#xmlSecMSCryptoX509StoreAdoptTrustedStore" title="xmlSecMSCryptoX509StoreAdoptTrustedStore ()">xmlSecMSCryptoX509StoreAdoptTrustedStore</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-mscrypto-x509.html#XMLSECMSCRYPTOX509STOREADOPTUNTRUSTEDSTORE">xmlSecMSCryptoX509StoreAdoptUntrustedStore</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-mscrypto-x509.html#xmlSecMSCryptoX509StoreAdoptUntrustedStore" title="xmlSecMSCryptoX509StoreAdoptUntrustedStore ()">xmlSecMSCryptoX509StoreAdoptUntrustedStore</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">void</span></font></td>
-<td>
-<a href="xmlsec-mscrypto-x509.html#XMLSECMSCRYPTOX509STOREENABLESYSTEMTRUSTEDCERTS">xmlSecMSCryptoX509StoreEnableSystemTrustedCerts</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">void</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-mscrypto-x509.html#xmlSecMSCryptoX509StoreEnableSystemTrustedCerts" title="xmlSecMSCryptoX509StoreEnableSystemTrustedCerts ()">xmlSecMSCryptoX509StoreEnableSystemTrustedCerts</a> <span class="c_punctuation">()</span>
</td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
-</div>
-<div class="REFSECT1">
-<a name="XMLSEC-MSCRYPTO-X509.OTHER"></a><h2>Types and Values</h2>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN45372"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="xmlsec-mscrypto-x509.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
<tbody>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-mscrypto-x509.html#XMLSECMSCRYPTOKEYDATAX509ID">xmlSecMSCryptoKeyDataX509Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-mscrypto-x509.html#xmlSecMSCryptoKeyDataX509Id" title="xmlSecMSCryptoKeyDataX509Id">xmlSecMSCryptoKeyDataX509Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-mscrypto-x509.html#XMLSECMSCRYPTOKEYDATARAWX509CERTID">xmlSecMSCryptoKeyDataRawX509CertId</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-mscrypto-x509.html#xmlSecMSCryptoKeyDataRawX509CertId" title="xmlSecMSCryptoKeyDataRawX509CertId">xmlSecMSCryptoKeyDataRawX509CertId</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-mscrypto-x509.html#XMLSECMSCRYPTOX509STOREID">xmlSecMSCryptoX509StoreId</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-mscrypto-x509.html#xmlSecMSCryptoX509StoreId" title="xmlSecMSCryptoX509StoreId">xmlSecMSCryptoX509StoreId</a></td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
-</div>
-<div class="REFSECT1">
-<a name="XMLSEC-MSCRYPTO-X509.DESCRIPTION"></a><h2>Description</h2>
-<p>X509 certificates support implementation for MS Crypto.</p>
-</div>
-<div class="REFSECT1">
-<a name="XMLSEC-MSCRYPTO-X509.FUNCTIONS_DETAILS"></a><h2>Functions</h2>
-<div class="REFSECT2">
-<a name="XMLSECMSCRYPTOKEYDATAX509GETKLASS"></a><h3>xmlSecMSCryptoKeyDataX509GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecKeyDataId</span></font>
-xmlSecMSCryptoKeyDataX509GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
-<p>The MSCrypto X509 key data klass (http://www.w3.org/TR/xmldsig-core/<font><span class="TYPE">sec-X509Data</span></font>).</p>
-<div class="REFSECT3">
-<a name="AEN45404"></a><h4>Returns</h4>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="xmlsec-mscrypto-x509.description"></a><h2>Description</h2>
+<p>
+X509 certificates support implementation for MS Crypto.
+</p>
+</div>
+<div class="refsect1">
+<a name="xmlsec-mscrypto-x509.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="xmlSecMSCryptoKeyDataX509GetKlass"></a><h3>xmlSecMSCryptoKeyDataX509GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecKeyDataId</span></font>
+xmlSecMSCryptoKeyDataX509GetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
+<p>The MSCrypto X509 key data klass (http://www.w3.org/TR/xmldsig-core/<font><span class="type">sec-X509Data</span></font>).</p>
+<div class="refsect3">
+<a name="xmlSecMSCryptoKeyDataX509GetKlass.returns"></a><h4>Returns</h4>
<p> the X509 data klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECMSCRYPTOKEYDATAX509GETKEYCERT"></a><h3>xmlSecMSCryptoKeyDataX509GetKeyCert ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">PCCERT_CONTEXT</span></font>
-xmlSecMSCryptoKeyDataX509GetKeyCert (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecMSCryptoKeyDataX509GetKeyCert"></a><h3>xmlSecMSCryptoKeyDataX509GetKeyCert ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">PCCERT_CONTEXT</span></font>
+xmlSecMSCryptoKeyDataX509GetKeyCert (<em class="parameter"><code><font><span class="type">xmlSecKeyDataPtr</span></font> data</code></em>);</pre>
<p>Gets the certificate from which the key was extracted.</p>
-<div class="REFSECT3">
-<a name="AEN45418"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN45420"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecMSCryptoKeyDataX509GetKeyCert.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>data</p></td>
-<td><p>the pointer to X509 key data.</p></td>
-<td> </td>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the pointer to X509 key data.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN45429"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecMSCryptoKeyDataX509GetKeyCert.returns"></a><h4>Returns</h4>
<p> the key's certificate or NULL if key data was not used for key
extraction or an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECMSCRYPTOKEYDATAX509ADOPTKEYCERT"></a><h3>xmlSecMSCryptoKeyDataX509AdoptKeyCert ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecMSCryptoKeyDataX509AdoptKeyCert (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>,
- <code class="PARAMETER"><font><span class="TYPE">PCCERT_CONTEXT</span></font> cert</code>);</pre>
-<p>Sets the key's certificate in <code class="PARAMETER">data</code>
+<div class="refsect2">
+<a name="xmlSecMSCryptoKeyDataX509AdoptKeyCert"></a><h3>xmlSecMSCryptoKeyDataX509AdoptKeyCert ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecMSCryptoKeyDataX509AdoptKeyCert (<em class="parameter"><code><font><span class="type">xmlSecKeyDataPtr</span></font> data</code></em>,
+ <em class="parameter"><code><font><span class="type">PCCERT_CONTEXT</span></font> cert</code></em>);</pre>
+<p>Sets the key's certificate in <em class="parameter"><code>data</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN45447"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN45449"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecMSCryptoKeyDataX509AdoptKeyCert.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>data</p></td>
-<td><p>the pointer to X509 key data.</p></td>
-<td> </td>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the pointer to X509 key data.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>cert</p></td>
-<td><p>the pointer to MSCRYPTO X509 certificate.</p></td>
-<td> </td>
+<td class="parameter_name"><p>cert</p></td>
+<td class="parameter_description"><p>the pointer to MSCRYPTO X509 certificate.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN45464"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecMSCryptoKeyDataX509AdoptKeyCert.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECMSCRYPTOKEYDATAX509ADOPTCERT"></a><h3>xmlSecMSCryptoKeyDataX509AdoptCert ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecMSCryptoKeyDataX509AdoptCert (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>,
- <code class="PARAMETER"><font><span class="TYPE">PCCERT_CONTEXT</span></font> cert</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecMSCryptoKeyDataX509AdoptCert"></a><h3>xmlSecMSCryptoKeyDataX509AdoptCert ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecMSCryptoKeyDataX509AdoptCert (<em class="parameter"><code><font><span class="type">xmlSecKeyDataPtr</span></font> data</code></em>,
+ <em class="parameter"><code><font><span class="type">PCCERT_CONTEXT</span></font> cert</code></em>);</pre>
<p>Adds certificate to the X509 key data.</p>
-<div class="REFSECT3">
-<a name="AEN45481"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN45483"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecMSCryptoKeyDataX509AdoptCert.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>data</p></td>
-<td><p>the pointer to X509 key data.</p></td>
-<td> </td>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the pointer to X509 key data.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>cert</p></td>
-<td><p>the pointer to MSCRYPTO X509 certificate.</p></td>
-<td> </td>
+<td class="parameter_name"><p>cert</p></td>
+<td class="parameter_description"><p>the pointer to MSCRYPTO X509 certificate.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN45498"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecMSCryptoKeyDataX509AdoptCert.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECMSCRYPTOKEYDATAX509GETCERT"></a><h3>xmlSecMSCryptoKeyDataX509GetCert ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">PCCERT_CONTEXT</span></font>
-xmlSecMSCryptoKeyDataX509GetCert (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>,
- <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> pos</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecMSCryptoKeyDataX509GetCert"></a><h3>xmlSecMSCryptoKeyDataX509GetCert ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">PCCERT_CONTEXT</span></font>
+xmlSecMSCryptoKeyDataX509GetCert (<em class="parameter"><code><font><span class="type">xmlSecKeyDataPtr</span></font> data</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="type">xmlSecSize</span></a> pos</code></em>);</pre>
<p>Gets a certificate from X509 key data.</p>
-<div class="REFSECT3">
-<a name="AEN45515"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN45517"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecMSCryptoKeyDataX509GetCert.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>data</p></td>
-<td><p>the pointer to X509 key data.</p></td>
-<td> </td>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the pointer to X509 key data.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>pos</p></td>
-<td><p>the desired certificate position.</p></td>
-<td> </td>
+<td class="parameter_name"><p>pos</p></td>
+<td class="parameter_description"><p>the desired certificate position.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN45532"></a><h4>Returns</h4>
-<p> the pointer to certificate or NULL if <code class="PARAMETER">pos</code>
+<div class="refsect3">
+<a name="xmlSecMSCryptoKeyDataX509GetCert.returns"></a><h4>Returns</h4>
+<p> the pointer to certificate or NULL if <em class="parameter"><code>pos</code></em>
is larger than the
-number of certificates in <code class="PARAMETER">data</code>
+number of certificates in <em class="parameter"><code>data</code></em>
or an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECMSCRYPTOKEYDATAX509GETCERTSSIZE"></a><h3>xmlSecMSCryptoKeyDataX509GetCertsSize ()</h3>
-<pre class="PROGRAMLISTING"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="RETURNVALUE">xmlSecSize</span></a>
-xmlSecMSCryptoKeyDataX509GetCertsSize (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>);</pre>
-<p>Gets the number of certificates in <code class="PARAMETER">data</code>
+<div class="refsect2">
+<a name="xmlSecMSCryptoKeyDataX509GetCertsSize"></a><h3>xmlSecMSCryptoKeyDataX509GetCertsSize ()</h3>
+<pre class="programlisting"><a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="returnvalue">xmlSecSize</span></a>
+xmlSecMSCryptoKeyDataX509GetCertsSize (<em class="parameter"><code><font><span class="type">xmlSecKeyDataPtr</span></font> data</code></em>);</pre>
+<p>Gets the number of certificates in <em class="parameter"><code>data</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN45549"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN45551"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecMSCryptoKeyDataX509GetCertsSize.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>data</p></td>
-<td><p>the pointer to X509 key data.</p></td>
-<td> </td>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the pointer to X509 key data.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN45560"></a><h4>Returns</h4>
-<p> te number of certificates in <code class="PARAMETER">data</code>
+<div class="refsect3">
+<a name="xmlSecMSCryptoKeyDataX509GetCertsSize.returns"></a><h4>Returns</h4>
+<p> te number of certificates in <em class="parameter"><code>data</code></em>
.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECMSCRYPTOKEYDATAX509ADOPTCRL"></a><h3>xmlSecMSCryptoKeyDataX509AdoptCrl ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecMSCryptoKeyDataX509AdoptCrl (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>,
- <code class="PARAMETER"><font><span class="TYPE">PCCRL_CONTEXT</span></font> crl</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecMSCryptoKeyDataX509AdoptCrl"></a><h3>xmlSecMSCryptoKeyDataX509AdoptCrl ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecMSCryptoKeyDataX509AdoptCrl (<em class="parameter"><code><font><span class="type">xmlSecKeyDataPtr</span></font> data</code></em>,
+ <em class="parameter"><code><font><span class="type">PCCRL_CONTEXT</span></font> crl</code></em>);</pre>
<p>Adds CRL to the X509 key data.</p>
-<div class="REFSECT3">
-<a name="AEN45578"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN45580"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecMSCryptoKeyDataX509AdoptCrl.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>data</p></td>
-<td><p>the pointer to X509 key data.</p></td>
-<td> </td>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the pointer to X509 key data.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>crl</p></td>
-<td><p>the pointer to MSCrypto X509 CRL.</p></td>
-<td> </td>
+<td class="parameter_name"><p>crl</p></td>
+<td class="parameter_description"><p>the pointer to MSCrypto X509 CRL.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN45595"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecMSCryptoKeyDataX509AdoptCrl.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECMSCRYPTOKEYDATAX509GETCRL"></a><h3>xmlSecMSCryptoKeyDataX509GetCrl ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">PCCRL_CONTEXT</span></font>
-xmlSecMSCryptoKeyDataX509GetCrl (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>,
- <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> pos</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecMSCryptoKeyDataX509GetCrl"></a><h3>xmlSecMSCryptoKeyDataX509GetCrl ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">PCCRL_CONTEXT</span></font>
+xmlSecMSCryptoKeyDataX509GetCrl (<em class="parameter"><code><font><span class="type">xmlSecKeyDataPtr</span></font> data</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="type">xmlSecSize</span></a> pos</code></em>);</pre>
<p>Gets a CRL from X509 key data.</p>
-<div class="REFSECT3">
-<a name="AEN45612"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN45614"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecMSCryptoKeyDataX509GetCrl.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>data</p></td>
-<td><p>the pointer to X509 key data.</p></td>
-<td> </td>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the pointer to X509 key data.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>pos</p></td>
-<td><p>the desired CRL position.</p></td>
-<td> </td>
+<td class="parameter_name"><p>pos</p></td>
+<td class="parameter_description"><p>the desired CRL position.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN45629"></a><h4>Returns</h4>
-<p> the pointer to CRL or NULL if <code class="PARAMETER">pos</code>
+<div class="refsect3">
+<a name="xmlSecMSCryptoKeyDataX509GetCrl.returns"></a><h4>Returns</h4>
+<p> the pointer to CRL or NULL if <em class="parameter"><code>pos</code></em>
is larger than the
-number of CRLs in <code class="PARAMETER">data</code>
+number of CRLs in <em class="parameter"><code>data</code></em>
or an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECMSCRYPTOKEYDATAX509GETCRLSSIZE"></a><h3>xmlSecMSCryptoKeyDataX509GetCrlsSize ()</h3>
-<pre class="PROGRAMLISTING"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="RETURNVALUE">xmlSecSize</span></a>
-xmlSecMSCryptoKeyDataX509GetCrlsSize (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>);</pre>
-<p>Gets the number of CRLs in <code class="PARAMETER">data</code>
+<div class="refsect2">
+<a name="xmlSecMSCryptoKeyDataX509GetCrlsSize"></a><h3>xmlSecMSCryptoKeyDataX509GetCrlsSize ()</h3>
+<pre class="programlisting"><a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="returnvalue">xmlSecSize</span></a>
+xmlSecMSCryptoKeyDataX509GetCrlsSize (<em class="parameter"><code><font><span class="type">xmlSecKeyDataPtr</span></font> data</code></em>);</pre>
+<p>Gets the number of CRLs in <em class="parameter"><code>data</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN45646"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN45648"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecMSCryptoKeyDataX509GetCrlsSize.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>data</p></td>
-<td><p>the pointer to X509 key data.</p></td>
-<td> </td>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the pointer to X509 key data.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN45657"></a><h4>Returns</h4>
-<p> te number of CRLs in <code class="PARAMETER">data</code>
+<div class="refsect3">
+<a name="xmlSecMSCryptoKeyDataX509GetCrlsSize.returns"></a><h4>Returns</h4>
+<p> te number of CRLs in <em class="parameter"><code>data</code></em>
.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECMSCRYPTOKEYDATARAWX509CERTGETKLASS"></a><h3>xmlSecMSCryptoKeyDataRawX509CertGetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecKeyDataId</span></font>
+<div class="refsect2">
+<a name="xmlSecMSCryptoKeyDataRawX509CertGetKlass"></a><h3>xmlSecMSCryptoKeyDataRawX509CertGetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecKeyDataId</span></font>
xmlSecMSCryptoKeyDataRawX509CertGetKlass
- (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+ (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The raw X509 certificates key data klass.</p>
-<div class="REFSECT3">
-<a name="AEN45671"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecMSCryptoKeyDataRawX509CertGetKlass.returns"></a><h4>Returns</h4>
<p> raw X509 certificates key data klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECMSCRYPTOX509STOREGETKLASS"></a><h3>xmlSecMSCryptoX509StoreGetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecKeyDataStoreId</span></font>
-xmlSecMSCryptoX509StoreGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecMSCryptoX509StoreGetKlass"></a><h3>xmlSecMSCryptoX509StoreGetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecKeyDataStoreId</span></font>
+xmlSecMSCryptoX509StoreGetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The MSCrypto X509 certificates key data store klass.</p>
-<div class="REFSECT3">
-<a name="AEN45684"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecMSCryptoX509StoreGetKlass.returns"></a><h4>Returns</h4>
<p> pointer to MSCrypto X509 certificates key data store klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECMSCRYPTOX509STOREADOPTCERT"></a><h3>xmlSecMSCryptoX509StoreAdoptCert ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecMSCryptoX509StoreAdoptCert (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATASTORE"><span class="TYPE">xmlSecKeyDataStorePtr</span></a> store</code>,
- <code class="PARAMETER"><font><span class="TYPE">PCCERT_CONTEXT</span></font> cert</code>,
- <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATATYPE"><span class="TYPE">xmlSecKeyDataType</span></a> type</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecMSCryptoX509StoreAdoptCert"></a><h3>xmlSecMSCryptoX509StoreAdoptCert ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecMSCryptoX509StoreAdoptCert (<em class="parameter"><code><font><span class="type">xmlSecKeyDataStorePtr</span></font> store</code></em>,
+ <em class="parameter"><code><font><span class="type">PCCERT_CONTEXT</span></font> cert</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataType" title="xmlSecKeyDataType"><span class="type">xmlSecKeyDataType</span></a> type</code></em>);</pre>
<p>Adds trusted (root) or untrusted certificate to the store.</p>
-<div class="REFSECT3">
-<a name="AEN45704"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN45706"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecMSCryptoX509StoreAdoptCert.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>store</p></td>
-<td><p>the pointer to X509 key data store klass.</p></td>
-<td> </td>
+<td class="parameter_name"><p>store</p></td>
+<td class="parameter_description"><p>the pointer to X509 key data store klass.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>cert</p></td>
-<td><p>the pointer to PCCERT_CONTEXT X509 certificate.</p></td>
-<td> </td>
+<td class="parameter_name"><p>cert</p></td>
+<td class="parameter_description"><p>the pointer to PCCERT_CONTEXT X509 certificate.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>type</p></td>
-<td><p>the certificate type (trusted/untrusted).</p></td>
-<td> </td>
+<td class="parameter_name"><p>type</p></td>
+<td class="parameter_description"><p>the certificate type (trusted/untrusted).</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN45727"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecMSCryptoX509StoreAdoptCert.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECMSCRYPTOX509STOREADOPTKEYSTORE"></a><h3>xmlSecMSCryptoX509StoreAdoptKeyStore ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecMSCryptoX509StoreAdoptKeyStore (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATASTORE"><span class="TYPE">xmlSecKeyDataStorePtr</span></a> store</code>,
- <code class="PARAMETER"><font><span class="TYPE">HCERTSTORE</span></font> keyStore</code>);</pre>
-<p>Adds <code class="PARAMETER">keyStore</code>
+<div class="refsect2">
+<a name="xmlSecMSCryptoX509StoreAdoptKeyStore"></a><h3>xmlSecMSCryptoX509StoreAdoptKeyStore ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecMSCryptoX509StoreAdoptKeyStore (<em class="parameter"><code><font><span class="type">xmlSecKeyDataStorePtr</span></font> store</code></em>,
+ <em class="parameter"><code><font><span class="type">HCERTSTORE</span></font> keyStore</code></em>);</pre>
+<p>Adds <em class="parameter"><code>keyStore</code></em>
to the list of key stores.</p>
-<div class="REFSECT3">
-<a name="AEN45745"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN45747"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecMSCryptoX509StoreAdoptKeyStore.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>store</p></td>
-<td><p>the pointer to X509 key data store klass.</p></td>
-<td> </td>
+<td class="parameter_name"><p>store</p></td>
+<td class="parameter_description"><p>the pointer to X509 key data store klass.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>keyStore</p></td>
-<td><p>the pointer to keys store.</p></td>
-<td> </td>
+<td class="parameter_name"><p>keyStore</p></td>
+<td class="parameter_description"><p>the pointer to keys store.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN45762"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecMSCryptoX509StoreAdoptKeyStore.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECMSCRYPTOX509STOREADOPTTRUSTEDSTORE"></a><h3>xmlSecMSCryptoX509StoreAdoptTrustedStore ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
+<div class="refsect2">
+<a name="xmlSecMSCryptoX509StoreAdoptTrustedStore"></a><h3>xmlSecMSCryptoX509StoreAdoptTrustedStore ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
xmlSecMSCryptoX509StoreAdoptTrustedStore
- (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATASTORE"><span class="TYPE">xmlSecKeyDataStorePtr</span></a> store</code>,
- <code class="PARAMETER"><font><span class="TYPE">HCERTSTORE</span></font> trustedStore</code>);</pre>
-<p>Adds <code class="PARAMETER">trustedStore</code>
+ (<em class="parameter"><code><font><span class="type">xmlSecKeyDataStorePtr</span></font> store</code></em>,
+ <em class="parameter"><code><font><span class="type">HCERTSTORE</span></font> trustedStore</code></em>);</pre>
+<p>Adds <em class="parameter"><code>trustedStore</code></em>
to the list of trusted certs stores.</p>
-<div class="REFSECT3">
-<a name="AEN45780"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN45782"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecMSCryptoX509StoreAdoptTrustedStore.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>store</p></td>
-<td><p>the pointer to X509 key data store klass.</p></td>
-<td> </td>
+<td class="parameter_name"><p>store</p></td>
+<td class="parameter_description"><p>the pointer to X509 key data store klass.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>trustedStore</p></td>
-<td><p>the pointer to certs store.</p></td>
-<td> </td>
+<td class="parameter_name"><p>trustedStore</p></td>
+<td class="parameter_description"><p>the pointer to certs store.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN45797"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecMSCryptoX509StoreAdoptTrustedStore.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECMSCRYPTOX509STOREADOPTUNTRUSTEDSTORE"></a><h3>xmlSecMSCryptoX509StoreAdoptUntrustedStore ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
+<div class="refsect2">
+<a name="xmlSecMSCryptoX509StoreAdoptUntrustedStore"></a><h3>xmlSecMSCryptoX509StoreAdoptUntrustedStore ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
xmlSecMSCryptoX509StoreAdoptUntrustedStore
- (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATASTORE"><span class="TYPE">xmlSecKeyDataStorePtr</span></a> store</code>,
- <code class="PARAMETER"><font><span class="TYPE">HCERTSTORE</span></font> untrustedStore</code>);</pre>
-<p>Adds <code class="PARAMETER">trustedStore</code>
+ (<em class="parameter"><code><font><span class="type">xmlSecKeyDataStorePtr</span></font> store</code></em>,
+ <em class="parameter"><code><font><span class="type">HCERTSTORE</span></font> untrustedStore</code></em>);</pre>
+<p>Adds <em class="parameter"><code>trustedStore</code></em>
to the list of un-trusted certs stores.</p>
-<div class="REFSECT3">
-<a name="AEN45815"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN45817"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecMSCryptoX509StoreAdoptUntrustedStore.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>store</p></td>
-<td><p>the pointer to X509 key data store klass.</p></td>
-<td> </td>
+<td class="parameter_name"><p>store</p></td>
+<td class="parameter_description"><p>the pointer to X509 key data store klass.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>untrustedStore</p></td>
-<td><p>the pointer to certs store.</p></td>
-<td> </td>
+<td class="parameter_name"><p>untrustedStore</p></td>
+<td class="parameter_description"><p>the pointer to certs store.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN45832"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecMSCryptoX509StoreAdoptUntrustedStore.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECMSCRYPTOX509STOREENABLESYSTEMTRUSTEDCERTS"></a><h3>xmlSecMSCryptoX509StoreEnableSystemTrustedCerts ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">void</span></font>
+<div class="refsect2">
+<a name="xmlSecMSCryptoX509StoreEnableSystemTrustedCerts"></a><h3>xmlSecMSCryptoX509StoreEnableSystemTrustedCerts ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">void</span></font>
xmlSecMSCryptoX509StoreEnableSystemTrustedCerts
- (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATASTORE"><span class="TYPE">xmlSecKeyDataStorePtr</span></a> store</code>,
- <code class="PARAMETER"><font><span class="TYPE">int</span></font> val</code>);</pre>
+ (<em class="parameter"><code><font><span class="type">xmlSecKeyDataStorePtr</span></font> store</code></em>,
+ <em class="parameter"><code><font><span class="type">int</span></font> val</code></em>);</pre>
<p>Enables/disables the system trusted certs.</p>
-<div class="REFSECT3">
-<a name="AEN45849"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN45851"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecMSCryptoX509StoreEnableSystemTrustedCerts.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>store</p></td>
-<td><p>the pointer to X509 key data store klass.</p></td>
-<td> </td>
+<td class="parameter_name"><p>store</p></td>
+<td class="parameter_description"><p>the pointer to X509 key data store klass.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>val</p></td>
-<td><p>the enable/disable flag</p></td>
-<td> </td>
+<td class="parameter_name"><p>val</p></td>
+<td class="parameter_description"><p>the enable/disable flag</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
</div>
-<div class="REFSECT1">
-<a name="XMLSEC-MSCRYPTO-X509.OTHER_DETAILS"></a><h2>Types and Values</h2>
-<div class="REFSECT2">
-<a name="XMLSECMSCRYPTOKEYDATAX509ID"></a><h3>xmlSecMSCryptoKeyDataX509Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecMSCryptoKeyDataX509Id</pre>
+<div class="refsect1">
+<a name="xmlsec-mscrypto-x509.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="xmlSecMSCryptoKeyDataX509Id"></a><h3>xmlSecMSCryptoKeyDataX509Id</h3>
+<pre class="programlisting">#define xmlSecMSCryptoKeyDataX509Id</pre>
<p>The MSCrypto X509 data klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECMSCRYPTOKEYDATARAWX509CERTID"></a><h3>xmlSecMSCryptoKeyDataRawX509CertId</h3>
-<pre class="PROGRAMLISTING">#define xmlSecMSCryptoKeyDataRawX509CertId</pre>
+<div class="refsect2">
+<a name="xmlSecMSCryptoKeyDataRawX509CertId"></a><h3>xmlSecMSCryptoKeyDataRawX509CertId</h3>
+<pre class="programlisting">#define xmlSecMSCryptoKeyDataRawX509CertId</pre>
<p>The MSCrypto raw X509 certificate klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECMSCRYPTOX509STOREID"></a><h3>xmlSecMSCryptoX509StoreId</h3>
-<pre class="PROGRAMLISTING">#define xmlSecMSCryptoX509StoreId</pre>
+<div class="refsect2">
+<a name="xmlSecMSCryptoX509StoreId"></a><h3>xmlSecMSCryptoX509StoreId</h3>
+<pre class="programlisting">#define xmlSecMSCryptoX509StoreId</pre>
<p>The MSCrypto X509 store klass.</p>
</div>
</div>
-<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td align="left"><a accesskey="p" href="xmlsec-mscrypto-keysstore.html"><b><<< keysstore</b></a></td>
-<td align="right"><a accesskey="n" href="xmlsec-index.html"><b>XML Security Library Reference Index >>></b></a></td>
-</tr></table>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
</td></tr></table></td>
</tr></table></body>
</html>
diff --git a/docs/api/xmlsec-nodeset.html b/docs/api/xmlsec-nodeset.html
index 4d4e831..4fdfce4 100644
--- a/docs/api/xmlsec-nodeset.html
+++ b/docs/api/xmlsec-nodeset.html
@@ -1,41 +1,14 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>nodeset</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79">
-<link rel="HOME" title="XML Security Library Reference Manual" href="index.html">
-<link rel="UP" title="XML Security Core Library API Reference." href="xmlsec-ref.html">
-<link rel="PREVIOUS" title="membuf" href="xmlsec-membuf.html">
-<link rel="NEXT" title="parser" href="xmlsec-parser.html">
-<style type="text/css">.synopsis, .classsynopsis {
- background: #eeeeee;
- border: solid 1px #aaaaaa;
- padding: 0.5em;
-}
-.programlisting {
- background: #eeeeff;
- border: solid 1px #aaaaff;
- padding: 0.5em;
-}
-.variablelist {
- padding: 4px;
- margin-left: 3em;
-}
-.navigation {
- background: #ffeeee;
- border: solid 1px #ffaaaa;
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
-.navigation a {
- color: #770000;
-}
-.navigation a:visited {
- color: #550000;
-}
-.navigation .title {
- font-size: 200%;
-}</style>
+<title>nodeset: XML Security Library Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="XML Security Library Reference Manual">
+<link rel="up" href="xmlsec-ref.html" title="XML Security Core Library API Reference.">
+<link rel="prev" href="xmlsec-membuf.html" title="membuf">
+<link rel="next" href="xmlsec-parser.html" title="parser">
+<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
<style type="text/css">
table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
width: 20em;
@@ -100,699 +73,720 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
</table>
</td>
<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent">
-<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td><a accesskey="p" href="xmlsec-membuf.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="xmlsec-ref.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description"> <span class="dim">|</span>
+ <a href="#xmlsec-nodeset.description" class="shortcut">Description</a></span>
+</td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<th width="100%" align="center">XML Security Library Reference Manual</th>
+<td><a accesskey="u" href="xmlsec-ref.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="xmlsec-membuf.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="xmlsec-parser.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
-<h1>
-<a name="XMLSEC-NODESET"></a>nodeset</h1>
-<div class="REFNAMEDIV">
-<a name="AEN15921"></a><h2>Name</h2>nodeset -- Nodeset object implementation.</div>
-<div class="REFSECT1">
-<a name="XMLSEC-NODESET.FUNCTIONS"></a><h2>Functions</h2>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN15926"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
+<div class="refentry">
+<a name="xmlsec-nodeset"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="xmlsec-nodeset.top_of_page"></a>nodeset</span></h2>
+<p>nodeset — Nodeset object implementation.</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="xmlsec-nodeset.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
<tbody>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<span class="c_punctuation"><span class="PHRASE">(</span></span><a href="xmlsec-nodeset.html#XMLSECNODESETWALKCALLBACK">*xmlSecNodeSetWalkCallback</a><span class="c_punctuation"><span class="PHRASE">)</span></span> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<span class="c_punctuation">(</span><a class="link" href="xmlsec-nodeset.html#xmlSecNodeSetWalkCallback" title="xmlSecNodeSetWalkCallback ()">*xmlSecNodeSetWalkCallback</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><a href="xmlsec-nodeset.html#XMLSECNODESET"><span class="RETURNVALUE">xmlSecNodeSetPtr</span></a></td>
-<td>
-<a href="xmlsec-nodeset.html#XMLSECNODESETCREATE">xmlSecNodeSetCreate</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecNodeSetPtr</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-nodeset.html#xmlSecNodeSetCreate" title="xmlSecNodeSetCreate ()">xmlSecNodeSetCreate</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">void</span></font></td>
-<td>
-<a href="xmlsec-nodeset.html#XMLSECNODESETDESTROY">xmlSecNodeSetDestroy</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">void</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-nodeset.html#xmlSecNodeSetDestroy" title="xmlSecNodeSetDestroy ()">xmlSecNodeSetDestroy</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">void</span></font></td>
-<td>
-<a href="xmlsec-nodeset.html#XMLSECNODESETDOCDESTROY">xmlSecNodeSetDocDestroy</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">void</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-nodeset.html#xmlSecNodeSetDocDestroy" title="xmlSecNodeSetDocDestroy ()">xmlSecNodeSetDocDestroy</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-nodeset.html#XMLSECNODESETCONTAINS">xmlSecNodeSetContains</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-nodeset.html#xmlSecNodeSetContains" title="xmlSecNodeSetContains ()">xmlSecNodeSetContains</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><a href="xmlsec-nodeset.html#XMLSECNODESET"><span class="RETURNVALUE">xmlSecNodeSetPtr</span></a></td>
-<td>
-<a href="xmlsec-nodeset.html#XMLSECNODESETADD">xmlSecNodeSetAdd</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecNodeSetPtr</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-nodeset.html#xmlSecNodeSetAdd" title="xmlSecNodeSetAdd ()">xmlSecNodeSetAdd</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><a href="xmlsec-nodeset.html#XMLSECNODESET"><span class="RETURNVALUE">xmlSecNodeSetPtr</span></a></td>
-<td>
-<a href="xmlsec-nodeset.html#XMLSECNODESETADDLIST">xmlSecNodeSetAddList</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecNodeSetPtr</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-nodeset.html#xmlSecNodeSetAddList" title="xmlSecNodeSetAddList ()">xmlSecNodeSetAddList</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><a href="xmlsec-nodeset.html#XMLSECNODESET"><span class="RETURNVALUE">xmlSecNodeSetPtr</span></a></td>
-<td>
-<a href="xmlsec-nodeset.html#XMLSECNODESETGETCHILDREN">xmlSecNodeSetGetChildren</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecNodeSetPtr</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-nodeset.html#xmlSecNodeSetGetChildren" title="xmlSecNodeSetGetChildren ()">xmlSecNodeSetGetChildren</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-nodeset.html#XMLSECNODESETWALK">xmlSecNodeSetWalk</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-nodeset.html#xmlSecNodeSetWalk" title="xmlSecNodeSetWalk ()">xmlSecNodeSetWalk</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-nodeset.html#XMLSECNODESETDUMPTEXTNODES">xmlSecNodeSetDumpTextNodes</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-nodeset.html#xmlSecNodeSetDumpTextNodes" title="xmlSecNodeSetDumpTextNodes ()">xmlSecNodeSetDumpTextNodes</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">void</span></font></td>
-<td>
-<a href="xmlsec-nodeset.html#XMLSECNODESETDEBUGDUMP">xmlSecNodeSetDebugDump</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">void</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-nodeset.html#xmlSecNodeSetDebugDump" title="xmlSecNodeSetDebugDump ()">xmlSecNodeSetDebugDump</a> <span class="c_punctuation">()</span>
</td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
-</div>
-<div class="REFSECT1">
-<a name="XMLSEC-NODESET.OTHER"></a><h2>Types and Values</h2>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN16010"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="xmlsec-nodeset.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
<tbody>
<tr>
-<td>enum</td>
-<td><a href="xmlsec-nodeset.html#XMLSECNODESETTYPE">xmlSecNodeSetType</a></td>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="xmlsec-nodeset.html#xmlSecNodeSetType" title="enum xmlSecNodeSetType">xmlSecNodeSetType</a></td>
</tr>
<tr>
-<td>enum</td>
-<td><a href="xmlsec-nodeset.html#XMLSECNODESETOP">xmlSecNodeSetOp</a></td>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="xmlsec-nodeset.html#xmlSecNodeSetOp" title="enum xmlSecNodeSetOp">xmlSecNodeSetOp</a></td>
</tr>
<tr>
-<td>struct</td>
-<td><a href="xmlsec-nodeset.html#XMLSECNODESET">xmlSecNodeSet</a></td>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="xmlsec-nodeset.html#xmlSecNodeSet" title="struct xmlSecNodeSet">xmlSecNodeSet</a></td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
-</div>
-<div class="REFSECT1">
-<a name="XMLSEC-NODESET.DESCRIPTION"></a><h2>Description</h2>
-<p>Nodeset object implementation.</p>
-</div>
-<div class="REFSECT1">
-<a name="XMLSEC-NODESET.FUNCTIONS_DETAILS"></a><h2>Functions</h2>
-<div class="REFSECT2">
-<a name="XMLSECNODESETWALKCALLBACK"></a><h3>xmlSecNodeSetWalkCallback ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-<span class="c_punctuation"><span class="PHRASE">(</span></span>*xmlSecNodeSetWalkCallback<span class="c_punctuation"><span class="PHRASE">)</span></span> (<code class="PARAMETER"><a href="xmlsec-nodeset.html#XMLSECNODESET"><span class="TYPE">xmlSecNodeSetPtr</span></a> nset</code>,
- <code class="PARAMETER"><font><span class="TYPE">xmlNodePtr</span></font> cur</code>,
- <code class="PARAMETER"><font><span class="TYPE">xmlNodePtr</span></font> parent</code>,
- <code class="PARAMETER"><font><span class="TYPE">void</span></font> *data</code>);</pre>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="xmlsec-nodeset.description"></a><h2>Description</h2>
+<p>
+Nodeset object implementation.
+</p>
+</div>
+<div class="refsect1">
+<a name="xmlsec-nodeset.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="xmlSecNodeSetWalkCallback"></a><h3>xmlSecNodeSetWalkCallback ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+<span class="c_punctuation">(</span>*xmlSecNodeSetWalkCallback<span class="c_punctuation">)</span> (<em class="parameter"><code><font><span class="type">xmlSecNodeSetPtr</span></font> nset</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlNodePtr</span></font> cur</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlNodePtr</span></font> parent</code></em>,
+ <em class="parameter"><code><font><span class="type">void</span></font> *data</code></em>);</pre>
<p>The callback function called once per each node in the nodes set.</p>
-<div class="REFSECT3">
-<a name="AEN16052"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN16054"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecNodeSetWalkCallback.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>nset</p></td>
-<td><p>the pointer to <a href="xmlsec-nodeset.html#XMLSECNODESET"><span class="TYPE">xmlSecNodeSet</span></a> structure.</p></td>
-<td> </td>
+<td class="parameter_name"><p>nset</p></td>
+<td class="parameter_description"><p>the pointer to <a class="link" href="xmlsec-nodeset.html#xmlSecNodeSet" title="struct xmlSecNodeSet"><span class="type">xmlSecNodeSet</span></a> structure.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>cur</p></td>
-<td><p>the pointer current XML node.</p></td>
-<td> </td>
+<td class="parameter_name"><p>cur</p></td>
+<td class="parameter_description"><p>the pointer current XML node.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>parent</p></td>
-<td><p>the pointer to the <code class="PARAMETER">cur</code>
+<td class="parameter_name"><p>parent</p></td>
+<td class="parameter_description"><p>the pointer to the <em class="parameter"><code>cur</code></em>
parent node.</p></td>
-<td> </td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>data</p></td>
-<td><p>the pointer to application specific data.</p></td>
-<td> </td>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the pointer to application specific data.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN16084"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecNodeSetWalkCallback.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs
an walk procedure should be interrupted.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECNODESETCREATE"></a><h3>xmlSecNodeSetCreate ()</h3>
-<pre class="PROGRAMLISTING"><a href="xmlsec-nodeset.html#XMLSECNODESET"><span class="RETURNVALUE">xmlSecNodeSetPtr</span></a>
-xmlSecNodeSetCreate (<code class="PARAMETER"><font><span class="TYPE">xmlDocPtr</span></font> doc</code>,
- <code class="PARAMETER"><font><span class="TYPE">xmlNodeSetPtr</span></font> nodes</code>,
- <code class="PARAMETER"><a href="xmlsec-nodeset.html#XMLSECNODESETTYPE"><span class="TYPE">xmlSecNodeSetType</span></a> type</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecNodeSetCreate"></a><h3>xmlSecNodeSetCreate ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecNodeSetPtr</span></font>
+xmlSecNodeSetCreate (<em class="parameter"><code><font><span class="type">xmlDocPtr</span></font> doc</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlNodeSetPtr</span></font> nodes</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-nodeset.html#xmlSecNodeSetType" title="enum xmlSecNodeSetType"><span class="type">xmlSecNodeSetType</span></a> type</code></em>);</pre>
<p>Creates new nodes set. Caller is responsible for freeing returned object
-by calling <a href="xmlsec-nodeset.html#XMLSECNODESETDESTROY"><span class="TYPE">xmlSecNodeSetDestroy</span></a> function.</p>
-<div class="REFSECT3">
-<a name="AEN16106"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN16108"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+by calling <a class="link" href="xmlsec-nodeset.html#xmlSecNodeSetDestroy" title="xmlSecNodeSetDestroy ()"><span class="type">xmlSecNodeSetDestroy</span></a> function.</p>
+<div class="refsect3">
+<a name="xmlSecNodeSetCreate.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>doc</p></td>
-<td><p>the pointer to parent XML document.</p></td>
-<td> </td>
+<td class="parameter_name"><p>doc</p></td>
+<td class="parameter_description"><p>the pointer to parent XML document.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>nodes</p></td>
-<td><p>the list of nodes.</p></td>
-<td> </td>
+<td class="parameter_name"><p>nodes</p></td>
+<td class="parameter_description"><p>the list of nodes.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>type</p></td>
-<td><p>the nodes set type.</p></td>
-<td> </td>
+<td class="parameter_name"><p>type</p></td>
+<td class="parameter_description"><p>the nodes set type.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN16129"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecNodeSetCreate.returns"></a><h4>Returns</h4>
<p> pointer to newly allocated node set or NULL if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECNODESETDESTROY"></a><h3>xmlSecNodeSetDestroy ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">void</span></font>
-xmlSecNodeSetDestroy (<code class="PARAMETER"><a href="xmlsec-nodeset.html#XMLSECNODESET"><span class="TYPE">xmlSecNodeSetPtr</span></a> nset</code>);</pre>
-<p>Destroys the nodes set created with <a href="xmlsec-nodeset.html#XMLSECNODESETCREATE"><span class="TYPE">xmlSecNodeSetCreate</span></a> function.</p>
-<div class="REFSECT3">
-<a name="AEN16145"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN16147"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect2">
+<a name="xmlSecNodeSetDestroy"></a><h3>xmlSecNodeSetDestroy ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">void</span></font>
+xmlSecNodeSetDestroy (<em class="parameter"><code><font><span class="type">xmlSecNodeSetPtr</span></font> nset</code></em>);</pre>
+<p>Destroys the nodes set created with <a class="link" href="xmlsec-nodeset.html#xmlSecNodeSetCreate" title="xmlSecNodeSetCreate ()"><span class="type">xmlSecNodeSetCreate</span></a> function.</p>
+<div class="refsect3">
+<a name="xmlSecNodeSetDestroy.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>nset</p></td>
-<td><p>the pointer to node set.</p></td>
-<td> </td>
+<td class="parameter_name"><p>nset</p></td>
+<td class="parameter_description"><p>the pointer to node set.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECNODESETDOCDESTROY"></a><h3>xmlSecNodeSetDocDestroy ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">void</span></font>
-xmlSecNodeSetDocDestroy (<code class="PARAMETER"><a href="xmlsec-nodeset.html#XMLSECNODESET"><span class="TYPE">xmlSecNodeSetPtr</span></a> nset</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecNodeSetDocDestroy"></a><h3>xmlSecNodeSetDocDestroy ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">void</span></font>
+xmlSecNodeSetDocDestroy (<em class="parameter"><code><font><span class="type">xmlSecNodeSetPtr</span></font> nset</code></em>);</pre>
<p>Instructs node set to destroy nodes parent doc when node set is destroyed.</p>
-<div class="REFSECT3">
-<a name="AEN16167"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN16169"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecNodeSetDocDestroy.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>nset</p></td>
-<td><p>the pointer to node set.</p></td>
-<td> </td>
+<td class="parameter_name"><p>nset</p></td>
+<td class="parameter_description"><p>the pointer to node set.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECNODESETCONTAINS"></a><h3>xmlSecNodeSetContains ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecNodeSetContains (<code class="PARAMETER"><a href="xmlsec-nodeset.html#XMLSECNODESET"><span class="TYPE">xmlSecNodeSetPtr</span></a> nset</code>,
- <code class="PARAMETER"><font><span class="TYPE">xmlNodePtr</span></font> node</code>,
- <code class="PARAMETER"><font><span class="TYPE">xmlNodePtr</span></font> parent</code>);</pre>
-<p>Checks whether the <code class="PARAMETER">node</code>
+<div class="refsect2">
+<a name="xmlSecNodeSetContains"></a><h3>xmlSecNodeSetContains ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecNodeSetContains (<em class="parameter"><code><font><span class="type">xmlSecNodeSetPtr</span></font> nset</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlNodePtr</span></font> node</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlNodePtr</span></font> parent</code></em>);</pre>
+<p>Checks whether the <em class="parameter"><code>node</code></em>
is in the nodes set or not.</p>
-<div class="REFSECT3">
-<a name="AEN16196"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN16198"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecNodeSetContains.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>nset</p></td>
-<td><p>the pointer to node set.</p></td>
-<td> </td>
+<td class="parameter_name"><p>nset</p></td>
+<td class="parameter_description"><p>the pointer to node set.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>node</p></td>
-<td><p>the pointer to XML node to check.</p></td>
-<td> </td>
+<td class="parameter_name"><p>node</p></td>
+<td class="parameter_description"><p>the pointer to XML node to check.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>parent</p></td>
-<td><p>the pointer to <code class="PARAMETER">node</code>
+<td class="parameter_name"><p>parent</p></td>
+<td class="parameter_description"><p>the pointer to <em class="parameter"><code>node</code></em>
parent node.</p></td>
-<td> </td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN16220"></a><h4>Returns</h4>
-<p> 1 if the <code class="PARAMETER">node</code>
-is in the nodes set <code class="PARAMETER">nset</code>
+<div class="refsect3">
+<a name="xmlSecNodeSetContains.returns"></a><h4>Returns</h4>
+<p> 1 if the <em class="parameter"><code>node</code></em>
+is in the nodes set <em class="parameter"><code>nset</code></em>
, 0 if it is not
and a negative value if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECNODESETADD"></a><h3>xmlSecNodeSetAdd ()</h3>
-<pre class="PROGRAMLISTING"><a href="xmlsec-nodeset.html#XMLSECNODESET"><span class="RETURNVALUE">xmlSecNodeSetPtr</span></a>
-xmlSecNodeSetAdd (<code class="PARAMETER"><a href="xmlsec-nodeset.html#XMLSECNODESET"><span class="TYPE">xmlSecNodeSetPtr</span></a> nset</code>,
- <code class="PARAMETER"><a href="xmlsec-nodeset.html#XMLSECNODESET"><span class="TYPE">xmlSecNodeSetPtr</span></a> newNSet</code>,
- <code class="PARAMETER"><a href="xmlsec-nodeset.html#XMLSECNODESETOP"><span class="TYPE">xmlSecNodeSetOp</span></a> op</code>);</pre>
-<p>Adds <code class="PARAMETER">newNSet</code>
- to the <code class="PARAMETER">nset</code>
- using operation <code class="PARAMETER">op</code>
+<div class="refsect2">
+<a name="xmlSecNodeSetAdd"></a><h3>xmlSecNodeSetAdd ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecNodeSetPtr</span></font>
+xmlSecNodeSetAdd (<em class="parameter"><code><font><span class="type">xmlSecNodeSetPtr</span></font> nset</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlSecNodeSetPtr</span></font> newNSet</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-nodeset.html#xmlSecNodeSetOp" title="enum xmlSecNodeSetOp"><span class="type">xmlSecNodeSetOp</span></a> op</code></em>);</pre>
+<p>Adds <em class="parameter"><code>newNSet</code></em>
+ to the <em class="parameter"><code>nset</code></em>
+ using operation <em class="parameter"><code>op</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN16245"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN16247"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecNodeSetAdd.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>nset</p></td>
-<td><p>the pointer to currrent nodes set (or NULL).</p></td>
-<td> </td>
+<td class="parameter_name"><p>nset</p></td>
+<td class="parameter_description"><p>the pointer to currrent nodes set (or NULL).</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>newNSet</p></td>
-<td><p>the pointer to new nodes set.</p></td>
-<td> </td>
+<td class="parameter_name"><p>newNSet</p></td>
+<td class="parameter_description"><p>the pointer to new nodes set.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>op</p></td>
-<td><p>the operation type.</p></td>
-<td> </td>
+<td class="parameter_name"><p>op</p></td>
+<td class="parameter_description"><p>the operation type.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN16268"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecNodeSetAdd.returns"></a><h4>Returns</h4>
<p> the pointer to combined nodes set or NULL if an error
occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECNODESETADDLIST"></a><h3>xmlSecNodeSetAddList ()</h3>
-<pre class="PROGRAMLISTING"><a href="xmlsec-nodeset.html#XMLSECNODESET"><span class="RETURNVALUE">xmlSecNodeSetPtr</span></a>
-xmlSecNodeSetAddList (<code class="PARAMETER"><a href="xmlsec-nodeset.html#XMLSECNODESET"><span class="TYPE">xmlSecNodeSetPtr</span></a> nset</code>,
- <code class="PARAMETER"><a href="xmlsec-nodeset.html#XMLSECNODESET"><span class="TYPE">xmlSecNodeSetPtr</span></a> newNSet</code>,
- <code class="PARAMETER"><a href="xmlsec-nodeset.html#XMLSECNODESETOP"><span class="TYPE">xmlSecNodeSetOp</span></a> op</code>);</pre>
-<p>Adds <code class="PARAMETER">newNSet</code>
- to the <code class="PARAMETER">nset</code>
- as child using operation <code class="PARAMETER">op</code>
+<div class="refsect2">
+<a name="xmlSecNodeSetAddList"></a><h3>xmlSecNodeSetAddList ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecNodeSetPtr</span></font>
+xmlSecNodeSetAddList (<em class="parameter"><code><font><span class="type">xmlSecNodeSetPtr</span></font> nset</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlSecNodeSetPtr</span></font> newNSet</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-nodeset.html#xmlSecNodeSetOp" title="enum xmlSecNodeSetOp"><span class="type">xmlSecNodeSetOp</span></a> op</code></em>);</pre>
+<p>Adds <em class="parameter"><code>newNSet</code></em>
+ to the <em class="parameter"><code>nset</code></em>
+ as child using operation <em class="parameter"><code>op</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN16291"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN16293"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecNodeSetAddList.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>nset</p></td>
-<td><p>the pointer to currrent nodes set (or NULL).</p></td>
-<td> </td>
+<td class="parameter_name"><p>nset</p></td>
+<td class="parameter_description"><p>the pointer to currrent nodes set (or NULL).</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>newNSet</p></td>
-<td><p>the pointer to new nodes set.</p></td>
-<td> </td>
+<td class="parameter_name"><p>newNSet</p></td>
+<td class="parameter_description"><p>the pointer to new nodes set.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>op</p></td>
-<td><p>the operation type.</p></td>
-<td> </td>
+<td class="parameter_name"><p>op</p></td>
+<td class="parameter_description"><p>the operation type.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN16314"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecNodeSetAddList.returns"></a><h4>Returns</h4>
<p> the pointer to combined nodes set or NULL if an error
occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECNODESETGETCHILDREN"></a><h3>xmlSecNodeSetGetChildren ()</h3>
-<pre class="PROGRAMLISTING"><a href="xmlsec-nodeset.html#XMLSECNODESET"><span class="RETURNVALUE">xmlSecNodeSetPtr</span></a>
-xmlSecNodeSetGetChildren (<code class="PARAMETER"><font><span class="TYPE">xmlDocPtr</span></font> doc</code>,
- <code class="PARAMETER">const <font><span class="TYPE">xmlNodePtr</span></font> parent</code>,
- <code class="PARAMETER"><font><span class="TYPE">int</span></font> withComments</code>,
- <code class="PARAMETER"><font><span class="TYPE">int</span></font> invert</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecNodeSetGetChildren"></a><h3>xmlSecNodeSetGetChildren ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecNodeSetPtr</span></font>
+xmlSecNodeSetGetChildren (<em class="parameter"><code><font><span class="type">xmlDocPtr</span></font> doc</code></em>,
+ <em class="parameter"><code>const <font><span class="type">xmlNodePtr</span></font> parent</code></em>,
+ <em class="parameter"><code><font><span class="type">int</span></font> withComments</code></em>,
+ <em class="parameter"><code><font><span class="type">int</span></font> invert</code></em>);</pre>
<p>Creates a new nodes set that contains:</p>
-<p></p>
-<ul>
-<li><p>if <code class="PARAMETER">withComments</code>
- is not 0 and <code class="PARAMETER">invert</code>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem"><p>if <em class="parameter"><code>withComments</code></em>
+ is not 0 and <em class="parameter"><code>invert</code></em>
is 0:
-all nodes in the <code class="PARAMETER">parent</code>
+all nodes in the <em class="parameter"><code>parent</code></em>
subtree;</p></li>
-<li><p>if <code class="PARAMETER">withComments</code>
- is 0 and <code class="PARAMETER">invert</code>
+<li class="listitem"><p>if <em class="parameter"><code>withComments</code></em>
+ is 0 and <em class="parameter"><code>invert</code></em>
is 0:
-all nodes in the <code class="PARAMETER">parent</code>
+all nodes in the <em class="parameter"><code>parent</code></em>
subtree except comment nodes;</p></li>
-<li><p>if <code class="PARAMETER">withComments</code>
- is not 0 and <code class="PARAMETER">invert</code>
+<li class="listitem"><p>if <em class="parameter"><code>withComments</code></em>
+ is not 0 and <em class="parameter"><code>invert</code></em>
not is 0:
-all nodes in the <code class="PARAMETER">doc</code>
- except nodes in the <code class="PARAMETER">parent</code>
+all nodes in the <em class="parameter"><code>doc</code></em>
+ except nodes in the <em class="parameter"><code>parent</code></em>
subtree;</p></li>
-<li><p>if <code class="PARAMETER">withComments</code>
- is 0 and <code class="PARAMETER">invert</code>
+<li class="listitem"><p>if <em class="parameter"><code>withComments</code></em>
+ is 0 and <em class="parameter"><code>invert</code></em>
is 0:
-all nodes in the <code class="PARAMETER">doc</code>
- except nodes in the <code class="PARAMETER">parent</code>
+all nodes in the <em class="parameter"><code>doc</code></em>
+ except nodes in the <em class="parameter"><code>parent</code></em>
subtree
and comment nodes.</p></li>
-</ul>
-<div class="REFSECT3">
-<a name="AEN16360"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN16362"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+</ul></div>
+<div class="refsect3">
+<a name="xmlSecNodeSetGetChildren.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>doc</p></td>
-<td><p>the pointer to an XML document.</p></td>
-<td> </td>
+<td class="parameter_name"><p>doc</p></td>
+<td class="parameter_description"><p>the pointer to an XML document.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>parent</p></td>
-<td><p>the pointer to parent XML node or NULL if we want to include all document nodes.</p></td>
-<td> </td>
+<td class="parameter_name"><p>parent</p></td>
+<td class="parameter_description"><p>the pointer to parent XML node or NULL if we want to include all document nodes.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>withComments</p></td>
-<td><p>the flag include comments or not.</p></td>
-<td> </td>
+<td class="parameter_name"><p>withComments</p></td>
+<td class="parameter_description"><p>the flag include comments or not.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>invert</p></td>
-<td><p>the "invert" flag.</p></td>
-<td> </td>
+<td class="parameter_name"><p>invert</p></td>
+<td class="parameter_description"><p>the "invert" flag.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN16389"></a><h4>Returns</h4>
-<p> pointer to the newly created <a href="xmlsec-nodeset.html#XMLSECNODESET"><span class="TYPE">xmlSecNodeSet</span></a> structure
+<div class="refsect3">
+<a name="xmlSecNodeSetGetChildren.returns"></a><h4>Returns</h4>
+<p> pointer to the newly created <a class="link" href="xmlsec-nodeset.html#xmlSecNodeSet" title="struct xmlSecNodeSet"><span class="type">xmlSecNodeSet</span></a> structure
or NULL if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECNODESETWALK"></a><h3>xmlSecNodeSetWalk ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecNodeSetWalk (<code class="PARAMETER"><a href="xmlsec-nodeset.html#XMLSECNODESET"><span class="TYPE">xmlSecNodeSetPtr</span></a> nset</code>,
- <code class="PARAMETER"><a href="xmlsec-nodeset.html#XMLSECNODESETWALKCALLBACK"><span class="TYPE">xmlSecNodeSetWalkCallback</span></a> walkFunc</code>,
- <code class="PARAMETER"><font><span class="TYPE">void</span></font> *data</code>);</pre>
-<p>Calls the function <code class="PARAMETER">walkFunc</code>
- once per each node in the nodes set <code class="PARAMETER">nset</code>
+<div class="refsect2">
+<a name="xmlSecNodeSetWalk"></a><h3>xmlSecNodeSetWalk ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecNodeSetWalk (<em class="parameter"><code><font><span class="type">xmlSecNodeSetPtr</span></font> nset</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-nodeset.html#xmlSecNodeSetWalkCallback" title="xmlSecNodeSetWalkCallback ()"><span class="type">xmlSecNodeSetWalkCallback</span></a> walkFunc</code></em>,
+ <em class="parameter"><code><font><span class="type">void</span></font> *data</code></em>);</pre>
+<p>Calls the function <em class="parameter"><code>walkFunc</code></em>
+ once per each node in the nodes set <em class="parameter"><code>nset</code></em>
.
-If the <code class="PARAMETER">walkFunc</code>
+If the <em class="parameter"><code>walkFunc</code></em>
returns a negative value, then the walk procedure
is interrupted.</p>
-<div class="REFSECT3">
-<a name="AEN16414"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN16416"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecNodeSetWalk.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>nset</p></td>
-<td><p>the pointer to node set.</p></td>
-<td> </td>
+<td class="parameter_name"><p>nset</p></td>
+<td class="parameter_description"><p>the pointer to node set.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>walkFunc</p></td>
-<td><p>the callback functions.</p></td>
-<td> </td>
+<td class="parameter_name"><p>walkFunc</p></td>
+<td class="parameter_description"><p>the callback functions.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>data</p></td>
-<td><p>the application specific data passed to the <code class="PARAMETER">walkFunc</code>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the application specific data passed to the <em class="parameter"><code>walkFunc</code></em>
.</p></td>
-<td> </td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN16438"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecNodeSetWalk.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECNODESETDUMPTEXTNODES"></a><h3>xmlSecNodeSetDumpTextNodes ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecNodeSetDumpTextNodes (<code class="PARAMETER"><a href="xmlsec-nodeset.html#XMLSECNODESET"><span class="TYPE">xmlSecNodeSetPtr</span></a> nset</code>,
- <code class="PARAMETER"><font><span class="TYPE">xmlOutputBufferPtr</span></font> out</code>);</pre>
-<p>Dumps content of all the text nodes from <code class="PARAMETER">nset</code>
- to <code class="PARAMETER">out</code>
+<div class="refsect2">
+<a name="xmlSecNodeSetDumpTextNodes"></a><h3>xmlSecNodeSetDumpTextNodes ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecNodeSetDumpTextNodes (<em class="parameter"><code><font><span class="type">xmlSecNodeSetPtr</span></font> nset</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlOutputBufferPtr</span></font> out</code></em>);</pre>
+<p>Dumps content of all the text nodes from <em class="parameter"><code>nset</code></em>
+ to <em class="parameter"><code>out</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN16457"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN16459"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecNodeSetDumpTextNodes.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>nset</p></td>
-<td><p>the pointer to node set.</p></td>
-<td> </td>
+<td class="parameter_name"><p>nset</p></td>
+<td class="parameter_description"><p>the pointer to node set.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>out</p></td>
-<td><p>the output buffer.</p></td>
-<td> </td>
+<td class="parameter_name"><p>out</p></td>
+<td class="parameter_description"><p>the output buffer.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN16474"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecNodeSetDumpTextNodes.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECNODESETDEBUGDUMP"></a><h3>xmlSecNodeSetDebugDump ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">void</span></font>
-xmlSecNodeSetDebugDump (<code class="PARAMETER"><a href="xmlsec-nodeset.html#XMLSECNODESET"><span class="TYPE">xmlSecNodeSetPtr</span></a> nset</code>,
- <code class="PARAMETER"><font><span class="TYPE">FILE</span></font> *output</code>);</pre>
-<p>Prints information about <code class="PARAMETER">nset</code>
- to the <code class="PARAMETER">output</code>
+<div class="refsect2">
+<a name="xmlSecNodeSetDebugDump"></a><h3>xmlSecNodeSetDebugDump ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">void</span></font>
+xmlSecNodeSetDebugDump (<em class="parameter"><code><font><span class="type">xmlSecNodeSetPtr</span></font> nset</code></em>,
+ <em class="parameter"><code><font><span class="type">FILE</span></font> *output</code></em>);</pre>
+<p>Prints information about <em class="parameter"><code>nset</code></em>
+ to the <em class="parameter"><code>output</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN16493"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN16495"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecNodeSetDebugDump.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>nset</p></td>
-<td><p>the pointer to node set.</p></td>
-<td> </td>
+<td class="parameter_name"><p>nset</p></td>
+<td class="parameter_description"><p>the pointer to node set.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>output</p></td>
-<td><p>the pointer to output FILE.</p></td>
-<td> </td>
+<td class="parameter_name"><p>output</p></td>
+<td class="parameter_description"><p>the pointer to output FILE.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
</div>
-<div class="REFSECT1">
-<a name="XMLSEC-NODESET.OTHER_DETAILS"></a><h2>Types and Values</h2>
-<div class="REFSECT2">
-<a name="XMLSECNODESETTYPE"></a><h3>enum xmlSecNodeSetType</h3>
+<div class="refsect1">
+<a name="xmlsec-nodeset.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="xmlSecNodeSetType"></a><h3>enum xmlSecNodeSetType</h3>
<p>The basic nodes sets types.</p>
-<div class="REFSECT3">
-<a name="AEN16517"></a><h4>Members</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN16519"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecNodeSetType.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="enum_members_name">
+<col class="enum_members_description">
+<col width="200px" class="enum_members_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>xmlSecNodeSetNormal</p></td>
-<td><p>nodes set = nodes in the list.</p></td>
-<td> </td>
+<td class="enum_member_name"><p><a name="xmlSecNodeSetNormal"></a>xmlSecNodeSetNormal</p></td>
+<td class="enum_member_description">
+<p>nodes set = nodes in the list.</p>
+</td>
+<td class="enum_member_annotations"> </td>
</tr>
<tr>
-<td><p>xmlSecNodeSetInvert</p></td>
-<td><p>nodes set = all document nodes minus nodes in the list.</p></td>
-<td> </td>
+<td class="enum_member_name"><p><a name="xmlSecNodeSetInvert"></a>xmlSecNodeSetInvert</p></td>
+<td class="enum_member_description">
+<p>nodes set = all document nodes minus nodes in the list.</p>
+</td>
+<td class="enum_member_annotations"> </td>
</tr>
<tr>
-<td><p>xmlSecNodeSetTree</p></td>
-<td><p>nodes set = nodes in the list and all their subtress.</p></td>
-<td> </td>
+<td class="enum_member_name"><p><a name="xmlSecNodeSetTree"></a>xmlSecNodeSetTree</p></td>
+<td class="enum_member_description">
+<p>nodes set = nodes in the list and all their subtress.</p>
+</td>
+<td class="enum_member_annotations"> </td>
</tr>
<tr>
-<td><p>xmlSecNodeSetTreeWithoutComments</p></td>
-<td><p>nodes set = nodes in the list and
- all their subtress but no comment nodes.</p></td>
-<td> </td>
+<td class="enum_member_name"><p><a name="xmlSecNodeSetTreeWithoutComments"></a>xmlSecNodeSetTreeWithoutComments</p></td>
+<td class="enum_member_description">
+<p>nodes set = nodes in the list and
+ all their subtress but no comment nodes.</p>
+</td>
+<td class="enum_member_annotations"> </td>
</tr>
<tr>
-<td><p>xmlSecNodeSetTreeInvert</p></td>
-<td><p>nodes set = all document nodes minus nodes in the
- list and all their subtress.</p></td>
-<td> </td>
+<td class="enum_member_name"><p><a name="xmlSecNodeSetTreeInvert"></a>xmlSecNodeSetTreeInvert</p></td>
+<td class="enum_member_description">
+<p>nodes set = all document nodes minus nodes in the
+ list and all their subtress.</p>
+</td>
+<td class="enum_member_annotations"> </td>
</tr>
<tr>
-<td><p>xmlSecNodeSetTreeWithoutCommentsInvert</p></td>
-<td><p>nodes set = all document nodes
+<td class="enum_member_name"><p><a name="xmlSecNodeSetTreeWithoutCommentsInvert"></a>xmlSecNodeSetTreeWithoutCommentsInvert</p></td>
+<td class="enum_member_description">
+<p>nodes set = all document nodes
minus (nodes in the list and all their subtress
- plus all comment nodes).</p></td>
-<td> </td>
+ plus all comment nodes).</p>
+</td>
+<td class="enum_member_annotations"> </td>
</tr>
<tr>
-<td><p>xmlSecNodeSetList</p></td>
-<td><p>nodes set = all nodes in the chidren list of nodes sets.</p></td>
-<td> </td>
+<td class="enum_member_name"><p><a name="xmlSecNodeSetList"></a>xmlSecNodeSetList</p></td>
+<td class="enum_member_description">
+<p>nodes set = all nodes in the chidren list of nodes sets.</p>
+</td>
+<td class="enum_member_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECNODESETOP"></a><h3>enum xmlSecNodeSetOp</h3>
+<div class="refsect2">
+<a name="xmlSecNodeSetOp"></a><h3>enum xmlSecNodeSetOp</h3>
<p>The simple nodes sets operations.</p>
-<div class="REFSECT3">
-<a name="AEN16569"></a><h4>Members</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN16571"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecNodeSetOp.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="enum_members_name">
+<col class="enum_members_description">
+<col width="200px" class="enum_members_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>xmlSecNodeSetIntersection</p></td>
-<td><p>intersection.</p></td>
-<td> </td>
+<td class="enum_member_name"><p><a name="xmlSecNodeSetIntersection"></a>xmlSecNodeSetIntersection</p></td>
+<td class="enum_member_description">
+<p>intersection.</p>
+</td>
+<td class="enum_member_annotations"> </td>
</tr>
<tr>
-<td><p>xmlSecNodeSetSubtraction</p></td>
-<td><p>subtraction.</p></td>
-<td> </td>
+<td class="enum_member_name"><p><a name="xmlSecNodeSetSubtraction"></a>xmlSecNodeSetSubtraction</p></td>
+<td class="enum_member_description">
+<p>subtraction.</p>
+</td>
+<td class="enum_member_annotations"> </td>
</tr>
<tr>
-<td><p>xmlSecNodeSetUnion</p></td>
-<td><p>union.</p></td>
-<td> </td>
+<td class="enum_member_name"><p><a name="xmlSecNodeSetUnion"></a>xmlSecNodeSetUnion</p></td>
+<td class="enum_member_description">
+<p>union.</p>
+</td>
+<td class="enum_member_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECNODESET"></a><h3>struct xmlSecNodeSet</h3>
-<pre class="PROGRAMLISTING">struct xmlSecNodeSet {
+<div class="refsect2">
+<a name="xmlSecNodeSet"></a><h3>struct xmlSecNodeSet</h3>
+<pre class="programlisting">struct xmlSecNodeSet {
xmlNodeSetPtr nodes;
xmlDocPtr doc;
int destroyDoc;
@@ -801,71 +795,69 @@ xmlSecNodeSetDebugDump (<code class="PARAMETER"><a href="xmlsec-nodeset.html#XML
xmlSecNodeSetPtr next;
xmlSecNodeSetPtr prev;
xmlSecNodeSetPtr children;
-};</pre>
+};
+</pre>
<p>The enchanced nodes set.</p>
-<div class="REFSECT3">
-<a name="AEN16598"></a><h4>Members</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN16600"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecNodeSet.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="struct_members_name">
+<col class="struct_members_description">
+<col width="200px" class="struct_members_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p><font><span class="TYPE">xmlNodeSetPtr</span></font> <code class="STRUCTFIELD">nodes</code>;</p></td>
-<td><p>the nodes list.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><font><span class="type">xmlNodeSetPtr</span></font> <em class="structfield"><code><a name="xmlSecNodeSet.nodes"></a>nodes</code></em>;</p></td>
+<td class="struct_member_description"><p>the nodes list.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><font><span class="TYPE">xmlDocPtr</span></font> <code class="STRUCTFIELD">doc</code>;</p></td>
-<td><p>the parent XML document.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><font><span class="type">xmlDocPtr</span></font> <em class="structfield"><code><a name="xmlSecNodeSet.doc"></a>doc</code></em>;</p></td>
+<td class="struct_member_description"><p>the parent XML document.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><font><span class="TYPE">int</span></font> <code class="STRUCTFIELD">destroyDoc</code>;</p></td>
-<td><p>the flag: if set to 1 then <code class="PARAMETER">doc</code>
+<td class="struct_member_name"><p><font><span class="type">int</span></font> <em class="structfield"><code><a name="xmlSecNodeSet.destroyDoc"></a>destroyDoc</code></em>;</p></td>
+<td class="struct_member_description"><p>the flag: if set to 1 then <em class="parameter"><code>doc</code></em>
will
be destroyed when node set is destroyed.</p></td>
-<td> </td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><a href="xmlsec-nodeset.html#XMLSECNODESETTYPE"><span class="TYPE">xmlSecNodeSetType</span></a> <code class="STRUCTFIELD">type</code>;</p></td>
-<td><p>the nodes set type.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><a class="link" href="xmlsec-nodeset.html#xmlSecNodeSetType" title="enum xmlSecNodeSetType"><span class="type">xmlSecNodeSetType</span></a> <em class="structfield"><code><a name="xmlSecNodeSet.type"></a>type</code></em>;</p></td>
+<td class="struct_member_description"><p>the nodes set type.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><a href="xmlsec-nodeset.html#XMLSECNODESETOP"><span class="TYPE">xmlSecNodeSetOp</span></a> <code class="STRUCTFIELD">op</code>;</p></td>
-<td><p>the operation type.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><a class="link" href="xmlsec-nodeset.html#xmlSecNodeSetOp" title="enum xmlSecNodeSetOp"><span class="type">xmlSecNodeSetOp</span></a> <em class="structfield"><code><a name="xmlSecNodeSet.op"></a>op</code></em>;</p></td>
+<td class="struct_member_description"><p>the operation type.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><a href="xmlsec-nodeset.html#XMLSECNODESET"><span class="TYPE">xmlSecNodeSetPtr</span></a> <code class="STRUCTFIELD">next</code>;</p></td>
-<td><p>the next nodes set.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><font><span class="type">xmlSecNodeSetPtr</span></font> <em class="structfield"><code><a name="xmlSecNodeSet.next"></a>next</code></em>;</p></td>
+<td class="struct_member_description"><p>the next nodes set.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><a href="xmlsec-nodeset.html#XMLSECNODESET"><span class="TYPE">xmlSecNodeSetPtr</span></a> <code class="STRUCTFIELD">prev</code>;</p></td>
-<td><p>the previous nodes set.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><font><span class="type">xmlSecNodeSetPtr</span></font> <em class="structfield"><code><a name="xmlSecNodeSet.prev"></a>prev</code></em>;</p></td>
+<td class="struct_member_description"><p>the previous nodes set.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><a href="xmlsec-nodeset.html#XMLSECNODESET"><span class="TYPE">xmlSecNodeSetPtr</span></a> <code class="STRUCTFIELD">children</code>;</p></td>
-<td><p>the children list (valid only if type
-equal to <a href="xmlsec-nodeset.html#XMLSECNODESETLIST"><span class="TYPE">xmlSecNodeSetList</span></a>).</p></td>
-<td> </td>
+<td class="struct_member_name"><p><font><span class="type">xmlSecNodeSetPtr</span></font> <em class="structfield"><code><a name="xmlSecNodeSet.children"></a>children</code></em>;</p></td>
+<td class="struct_member_description"><p>the children list (valid only if type
+equal to <a class="link" href="xmlsec-nodeset.html#xmlSecNodeSetList"><span class="type">xmlSecNodeSetList</span></a>).</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
</div>
</div>
</div>
-<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td align="left"><a accesskey="p" href="xmlsec-membuf.html"><b><<< membuf</b></a></td>
-<td align="right"><a accesskey="n" href="xmlsec-parser.html"><b>parser >>></b></a></td>
-</tr></table>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
</td></tr></table></td>
</tr></table></body>
</html>
diff --git a/docs/api/xmlsec-notes-compiling-others.html b/docs/api/xmlsec-notes-compiling-others.html
index f97242d..2b6260a 100644
--- a/docs/api/xmlsec-notes-compiling-others.html
+++ b/docs/api/xmlsec-notes-compiling-others.html
@@ -1,41 +1,14 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Compiling and linking on other systems.</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79">
-<link rel="HOME" title="XML Security Library Reference Manual" href="index.html">
-<link rel="UP" title="Building the application with XML Security Library." href="xmlsec-notes-compiling.html">
-<link rel="PREVIOUS" title="Compiling and linking on Windows." href="xmlsec-notes-compiling-windows.html">
-<link rel="NEXT" title="Initialization and shutdown." href="xmlsec-notes-init-shutdown.html">
-<style type="text/css">.synopsis, .classsynopsis {
- background: #eeeeee;
- border: solid 1px #aaaaaa;
- padding: 0.5em;
-}
-.programlisting {
- background: #eeeeff;
- border: solid 1px #aaaaff;
- padding: 0.5em;
-}
-.variablelist {
- padding: 4px;
- margin-left: 3em;
-}
-.navigation {
- background: #ffeeee;
- border: solid 1px #ffaaaa;
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
-.navigation a {
- color: #770000;
-}
-.navigation a:visited {
- color: #550000;
-}
-.navigation .title {
- font-size: 200%;
-}</style>
+<title>Compiling and linking on other systems.: XML Security Library Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="XML Security Library Reference Manual">
+<link rel="up" href="xmlsec-notes-compiling.html" title="Building the application with XML Security Library.">
+<link rel="prev" href="xmlsec-notes-compiling-windows.html" title="Compiling and linking on Windows.">
+<link rel="next" href="xmlsec-notes-init-shutdown.html" title="Initialization and shutdown.">
+<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
<style type="text/css">
table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
width: 20em;
@@ -100,15 +73,16 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
</table>
</td>
<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent">
-<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td><a accesskey="p" href="xmlsec-notes-compiling-windows.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="xmlsec-notes-compiling.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<th width="100%" align="center">XML Security Library Reference Manual</th>
+<td><a accesskey="u" href="xmlsec-notes-compiling.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="xmlsec-notes-compiling-windows.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="xmlsec-notes-init-shutdown.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
-<br clear="all"><div class="SECT1">
-<h1 class="SECT1"><a name="XMLSEC-NOTES-COMPILING-OTHERS">Compiling and linking on other systems.</a></h1>
+<div class="sect1">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="xmlsec-notes-compiling-others"></a>Compiling and linking on other systems.</h2></div></div></div>
<p>Well, nothing is impossible, it's only software (you managed to
compile the library itself, do you?).
I'll be happy to include in this manual your expirience with
@@ -116,10 +90,8 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
on other platforms (if you would like to share it).
</p>
</div>
-<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td align="left"><a accesskey="p" href="xmlsec-notes-compiling-windows.html"><b><<< Compiling and linking on Windows.</b></a></td>
-<td align="right"><a accesskey="n" href="xmlsec-notes-init-shutdown.html"><b>Initialization and shutdown. >>></b></a></td>
-</tr></table>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
</td></tr></table></td>
</tr></table></body>
</html>
diff --git a/docs/api/xmlsec-notes-compiling-unix.html b/docs/api/xmlsec-notes-compiling-unix.html
index bd7d6be..ab5209a 100644
--- a/docs/api/xmlsec-notes-compiling-unix.html
+++ b/docs/api/xmlsec-notes-compiling-unix.html
@@ -1,41 +1,14 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Compiling and linking on Unix.</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79">
-<link rel="HOME" title="XML Security Library Reference Manual" href="index.html">
-<link rel="UP" title="Building the application with XML Security Library." href="xmlsec-notes-compiling.html">
-<link rel="PREVIOUS" title="Include files." href="xmlsec-notes-include-files.html">
-<link rel="NEXT" title="Compiling and linking on Windows." href="xmlsec-notes-compiling-windows.html">
-<style type="text/css">.synopsis, .classsynopsis {
- background: #eeeeee;
- border: solid 1px #aaaaaa;
- padding: 0.5em;
-}
-.programlisting {
- background: #eeeeff;
- border: solid 1px #aaaaff;
- padding: 0.5em;
-}
-.variablelist {
- padding: 4px;
- margin-left: 3em;
-}
-.navigation {
- background: #ffeeee;
- border: solid 1px #ffaaaa;
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
-.navigation a {
- color: #770000;
-}
-.navigation a:visited {
- color: #550000;
-}
-.navigation .title {
- font-size: 200%;
-}</style>
+<title>Compiling and linking on Unix.: XML Security Library Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="XML Security Library Reference Manual">
+<link rel="up" href="xmlsec-notes-compiling.html" title="Building the application with XML Security Library.">
+<link rel="prev" href="xmlsec-notes-include-files.html" title="Include files.">
+<link rel="next" href="xmlsec-notes-compiling-windows.html" title="Compiling and linking on Windows.">
+<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
<style type="text/css">
table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
width: 20em;
@@ -100,60 +73,67 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
</table>
</td>
<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent">
-<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td><a accesskey="p" href="xmlsec-notes-include-files.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="xmlsec-notes-compiling.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<th width="100%" align="center">XML Security Library Reference Manual</th>
+<td><a accesskey="u" href="xmlsec-notes-compiling.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="xmlsec-notes-include-files.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="xmlsec-notes-compiling-windows.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
-<br clear="all"><div class="SECT1">
-<h1 class="SECT1"><a name="XMLSEC-NOTES-COMPILING-UNIX">Compiling and linking on Unix.</a></h1>
+<div class="sect1">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="xmlsec-notes-compiling-unix"></a>Compiling and linking on Unix.</h2></div></div></div>
<p>There are several ways to get necessary compilation
and linking information on Unix and application can use
any of these methods to do crypto engine selection either
at linking or run time.
</p>
-<p></p>
-<ul>
-<li>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
<p>PKG_CHECK_MODULES() macro
</p>
-<div class="EXAMPLE">
-<a name="AEN70"></a><p><b>Example 2. Using PKG_CHECK_MODULES() macro in a configure.in file
+<div class="example">
+<a name="id-1.2.4.4.2.1.1.1.1"></a><p class="title"><b>Example 2. Using PKG_CHECK_MODULES() macro in a configure.in file
to select crypto engine (openssl) at linking time.</b></p>
-<pre class="PROGRAMLISTING">dnl
+<div class="example-contents"><pre class="programlisting">
+dnl
dnl Check for xmlsec and friends
dnl
PKG_CHECK_MODULES(XMLSEC, xmlsec1-openssl >= 1.0.0 xml2 libxslt,,exit)
CFLAGS="$CFLAGS $XMLSEC_CFLAGS"
CPPFLAGS="$CPPFLAGS $XMLSEC_CFLAGS"
LDFLAGS="$LDFLAGS $XMLSEC_LIBS"
- </pre>
+ </pre></div>
</div>
+<p><br class="example-break">
- <div class="EXAMPLE">
-<a name="AEN73"></a><p><b>Example 3. Using PKG_CHECK_MODULES() macro in a configure.in file
+ </p>
+<div class="example">
+<a name="id-1.2.4.4.2.1.1.1.2"></a><p class="title"><b>Example 3. Using PKG_CHECK_MODULES() macro in a configure.in file
to enable dynamical loading of xmlsec-crypto library.</b></p>
-<pre class="PROGRAMLISTING">dnl
+<div class="example-contents"><pre class="programlisting">
+dnl
dnl Check for xmlsec and friends
dnl
PKG_CHECK_MODULES(XMLSEC, xmlsec1 >= 1.0.0 xml2 libxslt,,exit)
CFLAGS="$CFLAGS $XMLSEC_CFLAGS"
CPPFLAGS="$CPPFLAGS $XMLSEC_CFLAGS"
LDFLAGS="$LDFLAGS $XMLSEC_LIBS"
- </pre>
+ </pre></div>
</div>
+<p><br class="example-break">
- </li>
-<li>
+ </p>
+</li>
+<li class="listitem">
<p>pkg-config script
</p>
-<div class="EXAMPLE">
-<a name="AEN78"></a><p><b>Example 4. Using pkg-config script in a Makefile
+<div class="example">
+<a name="id-1.2.4.4.2.1.2.1.1"></a><p class="title"><b>Example 4. Using pkg-config script in a Makefile
to select crypto engine (nss) at linking time.</b></p>
-<pre class="PROGRAMLISTING">PROGRAM = test
+<div class="example-contents"><pre class="programlisting">
+PROGRAM = test
PROGRAM_FILES = test.c
CFLAGS += -g $(shell pkg-config --cflags xmlsec1-nss)
@@ -167,14 +147,17 @@ all: $(PROGRAM)
clean:
@rm -rf $(PROGRAM)
- </pre>
+ </pre></div>
</div>
+<p><br class="example-break">
- <div class="EXAMPLE">
-<a name="AEN81"></a><p><b>Example 5. Using pkg-config script in a Makefile
+ </p>
+<div class="example">
+<a name="id-1.2.4.4.2.1.2.1.2"></a><p class="title"><b>Example 5. Using pkg-config script in a Makefile
to enable dynamical loading of xmlsec-crypto library.</b></p>
-<pre class="PROGRAMLISTING">PROGRAM = test
+<div class="example-contents"><pre class="programlisting">
+PROGRAM = test
PROGRAM_FILES = test.c
CFLAGS += -g $(shell pkg-config --cflags xmlsec1)
@@ -188,17 +171,20 @@ all: $(PROGRAM)
clean:
@rm -rf $(PROGRAM)
- </pre>
+ </pre></div>
</div>
+<p><br class="example-break">
- </li>
-<li>
+ </p>
+</li>
+<li class="listitem">
<p>xmlsec1-config script
</p>
-<div class="EXAMPLE">
-<a name="AEN86"></a><p><b>Example 6. Using xmlsec1-config script in a Makefile
+<div class="example">
+<a name="id-1.2.4.4.2.1.3.1.1"></a><p class="title"><b>Example 6. Using xmlsec1-config script in a Makefile
to select crypto engine (e.g. gnutls) at linking time.</b></p>
-<pre class="PROGRAMLISTING">PROGRAM = test
+<div class="example-contents"><pre class="programlisting">
+PROGRAM = test
PROGRAM_FILES = test.c
CFLAGS += -g $(shell xmlsec1-config --crypto gnutls --cflags)
@@ -212,13 +198,16 @@ all: $(PROGRAM)
clean:
@rm -rf $(PROGRAM)
- </pre>
+ </pre></div>
</div>
+<p><br class="example-break">
- <div class="EXAMPLE">
-<a name="AEN89"></a><p><b>Example 7. Using xmlsec1-config script in a Makefile
+ </p>
+<div class="example">
+<a name="id-1.2.4.4.2.1.3.1.2"></a><p class="title"><b>Example 7. Using xmlsec1-config script in a Makefile
to enable dynamical loading of xmlsec-crypto library.</b></p>
-<pre class="PROGRAMLISTING">PROGRAM = test
+<div class="example-contents"><pre class="programlisting">
+PROGRAM = test
PROGRAM_FILES = test.c
CFLAGS += -g $(shell xmlsec1-config --cflags)
@@ -232,15 +221,17 @@ all: $(PROGRAM)
clean:
@rm -rf $(PROGRAM)
- </pre>
+ </pre></div>
</div>
- </li>
-</ul>
- </div>
-<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td align="left"><a accesskey="p" href="xmlsec-notes-include-files.html"><b><<< Include files.</b></a></td>
-<td align="right"><a accesskey="n" href="xmlsec-notes-compiling-windows.html"><b>Compiling and linking on Windows. >>></b></a></td>
-</tr></table>
+<p><br class="example-break">
+ </p>
+</li>
+</ul></div>
+<p>
+ </p>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
</td></tr></table></td>
</tr></table></body>
</html>
diff --git a/docs/api/xmlsec-notes-compiling-windows.html b/docs/api/xmlsec-notes-compiling-windows.html
index 2a3c46f..51a94ab 100644
--- a/docs/api/xmlsec-notes-compiling-windows.html
+++ b/docs/api/xmlsec-notes-compiling-windows.html
@@ -1,41 +1,14 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Compiling and linking on Windows.</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79">
-<link rel="HOME" title="XML Security Library Reference Manual" href="index.html">
-<link rel="UP" title="Building the application with XML Security Library." href="xmlsec-notes-compiling.html">
-<link rel="PREVIOUS" title="Compiling and linking on Unix." href="xmlsec-notes-compiling-unix.html">
-<link rel="NEXT" title="Compiling and linking on other systems." href="xmlsec-notes-compiling-others.html">
-<style type="text/css">.synopsis, .classsynopsis {
- background: #eeeeee;
- border: solid 1px #aaaaaa;
- padding: 0.5em;
-}
-.programlisting {
- background: #eeeeff;
- border: solid 1px #aaaaff;
- padding: 0.5em;
-}
-.variablelist {
- padding: 4px;
- margin-left: 3em;
-}
-.navigation {
- background: #ffeeee;
- border: solid 1px #ffaaaa;
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
-.navigation a {
- color: #770000;
-}
-.navigation a:visited {
- color: #550000;
-}
-.navigation .title {
- font-size: 200%;
-}</style>
+<title>Compiling and linking on Windows.: XML Security Library Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="XML Security Library Reference Manual">
+<link rel="up" href="xmlsec-notes-compiling.html" title="Building the application with XML Security Library.">
+<link rel="prev" href="xmlsec-notes-compiling-unix.html" title="Compiling and linking on Unix.">
+<link rel="next" href="xmlsec-notes-compiling-others.html" title="Compiling and linking on other systems.">
+<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
<style type="text/css">
table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
width: 20em;
@@ -100,62 +73,62 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
</table>
</td>
<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent">
-<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td><a accesskey="p" href="xmlsec-notes-compiling-unix.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="xmlsec-notes-compiling.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<th width="100%" align="center">XML Security Library Reference Manual</th>
+<td><a accesskey="u" href="xmlsec-notes-compiling.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="xmlsec-notes-compiling-unix.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="xmlsec-notes-compiling-others.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
-<br clear="all"><div class="SECT1">
-<h1 class="SECT1"><a name="XMLSEC-NOTES-COMPILING-WINDOWS">Compiling and linking on Windows.</a></h1>
+<div class="sect1">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="xmlsec-notes-compiling-windows"></a>Compiling and linking on Windows.</h2></div></div></div>
<p>On Windows there is no such simple and elegant solution.
- Please check <tt class="FILENAME">README</tt> file in <tt class="FILENAME">win32</tt>
+ Please check <code class="filename">README</code> file in <code class="filename">win32</code>
folder of the library package for latest instructions.
However, there are few general things, that you need to remember:
</p>
-<p></p>
-<ul>
-<li><p>
- <span class="emphasis"><i class="EMPHASIS">All libraries linked to your application must be compiled
- with the same Microsoft Runtime Libraries.</i></span>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem"><p>
+ <span class="emphasis"><em>All libraries linked to your application must be compiled
+ with the same Microsoft Runtime Libraries.</em></span>
</p></li>
-<li>
+<li class="listitem">
<p>
- <span class="emphasis"><i class="EMPHASIS">Static linking with XML Security Library requires
- additional global defines:</i></span>
+ <span class="emphasis"><em>Static linking with XML Security Library requires
+ additional global defines:</em></span>
</p>
-<div class="INFORMALEXAMPLE">
-<p></p>
-<a name="AEN104"></a><pre class="PROGRAMLISTING">#define LIBXML_STATIC
+<div class="informalexample"><pre class="programlisting">
+#define LIBXML_STATIC
#define LIBXSLT_STATIC
#define XMLSEC_STATIC
- </pre>
-<p></p>
-</div>
- </li>
-<li><p> If you do not want to dynamicaly load xmlsec-crypto library
+ </pre></div>
+<p>
+ </p>
+</li>
+<li class="listitem"><p>
+ If you do not want to dynamicaly load xmlsec-crypto library
and prefer to select crypto engine at linking then you should
link your application with xmlsec and at least one of
xmlsec-crypto libraries.
</p></li>
-<li>
-<p> In order to enable dynamic loading for xmlsec-crypto library
+<li class="listitem">
+<p>
+ In order to enable dynamic loading for xmlsec-crypto library
you should add additional global define:
</p>
-<div class="INFORMALEXAMPLE">
-<p></p>
-<a name="AEN110"></a><pre class="PROGRAMLISTING">#define XMLSEC_CRYPTO_DYNAMIC_LOADING
- </pre>
-<p></p>
-</div>
- </li>
-</ul>
- </div>
-<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td align="left"><a accesskey="p" href="xmlsec-notes-compiling-unix.html"><b><<< Compiling and linking on Unix.</b></a></td>
-<td align="right"><a accesskey="n" href="xmlsec-notes-compiling-others.html"><b>Compiling and linking on other systems. >>></b></a></td>
-</tr></table>
+<div class="informalexample"><pre class="programlisting">
+#define XMLSEC_CRYPTO_DYNAMIC_LOADING
+ </pre></div>
+<p>
+ </p>
+</li>
+</ul></div>
+<p>
+ </p>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
</td></tr></table></td>
</tr></table></body>
</html>
diff --git a/docs/api/xmlsec-notes-compiling.html b/docs/api/xmlsec-notes-compiling.html
index 6f1ed9a..68a4e3f 100644
--- a/docs/api/xmlsec-notes-compiling.html
+++ b/docs/api/xmlsec-notes-compiling.html
@@ -1,41 +1,14 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Building the application with XML Security Library.</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79">
-<link rel="HOME" title="XML Security Library Reference Manual" href="index.html">
-<link rel="UP" title="XML Security Library Tutorial" href="xmlsec-notes.html">
-<link rel="PREVIOUS" title="XML Security Library Structure." href="xmlsec-notes-structure.html">
-<link rel="NEXT" title="Include files." href="xmlsec-notes-include-files.html">
-<style type="text/css">.synopsis, .classsynopsis {
- background: #eeeeee;
- border: solid 1px #aaaaaa;
- padding: 0.5em;
-}
-.programlisting {
- background: #eeeeff;
- border: solid 1px #aaaaff;
- padding: 0.5em;
-}
-.variablelist {
- padding: 4px;
- margin-left: 3em;
-}
-.navigation {
- background: #ffeeee;
- border: solid 1px #ffaaaa;
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
-.navigation a {
- color: #770000;
-}
-.navigation a:visited {
- color: #550000;
-}
-.navigation .title {
- font-size: 200%;
-}</style>
+<title>Building the application with XML Security Library.: XML Security Library Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="XML Security Library Reference Manual">
+<link rel="up" href="xmlsec-notes.html" title="Part I. XML Security Library Tutorial">
+<link rel="prev" href="xmlsec-notes-structure.html" title="XML Security Library Structure.">
+<link rel="next" href="xmlsec-notes-include-files.html" title="Include files.">
+<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
<style type="text/css">
table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
width: 20em;
@@ -100,26 +73,26 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
</table>
</td>
<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent">
-<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td><a accesskey="p" href="xmlsec-notes-structure.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="xmlsec-notes.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<th width="100%" align="center">XML Security Library Reference Manual</th>
+<td><a accesskey="u" href="xmlsec-notes.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="xmlsec-notes-structure.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="xmlsec-notes-include-files.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
-<div class="CHAPTER">
-<h1>
-<a name="XMLSEC-NOTES-COMPILING"></a>Building the application with XML Security Library.</h1>
-<div class="TOC"><dl>
-<dt><b>Table of Contents</b></dt>
-<dt><a href="xmlsec-notes-compiling.html#XMLSEC-NOTES-COMPILING-OVERVIEW">Overview.</a></dt>
-<dt><a href="xmlsec-notes-include-files.html">Include files.</a></dt>
-<dt><a href="xmlsec-notes-compiling-unix.html">Compiling and linking on Unix.</a></dt>
-<dt><a href="xmlsec-notes-compiling-windows.html">Compiling and linking on Windows.</a></dt>
-<dt><a href="xmlsec-notes-compiling-others.html">Compiling and linking on other systems.</a></dt>
+<div class="chapter">
+<div class="titlepage"><div><div><h2 class="title">
+<a name="xmlsec-notes-compiling"></a>Building the application with XML Security Library.</h2></div></div></div>
+<div class="toc"><dl class="toc">
+<dt><span class="sect1"><a href="xmlsec-notes-compiling.html#xmlsec-notes-compiling-overview">Overview.</a></span></dt>
+<dt><span class="sect1"><a href="xmlsec-notes-include-files.html">Include files.</a></span></dt>
+<dt><span class="sect1"><a href="xmlsec-notes-compiling-unix.html">Compiling and linking on Unix.</a></span></dt>
+<dt><span class="sect1"><a href="xmlsec-notes-compiling-windows.html">Compiling and linking on Windows.</a></span></dt>
+<dt><span class="sect1"><a href="xmlsec-notes-compiling-others.html">Compiling and linking on other systems.</a></span></dt>
</dl></div>
-<br clear="all"><div class="SECT1">
-<h1 class="SECT1"><a name="XMLSEC-NOTES-COMPILING-OVERVIEW">Overview.</a></h1>
+<div class="sect1">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="xmlsec-notes-compiling-overview"></a>Overview.</h2></div></div></div>
<p>Compiling and linking application with XML Security
Library requires specifying correct compilation flags, library files
and paths to include and library files. As we discussed before,
@@ -131,10 +104,8 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
</p>
</div>
</div>
-<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td align="left"><a accesskey="p" href="xmlsec-notes-structure.html"><b><<< XML Security Library Structure.</b></a></td>
-<td align="right"><a accesskey="n" href="xmlsec-notes-include-files.html"><b>Include files. >>></b></a></td>
-</tr></table>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
</td></tr></table></td>
</tr></table></body>
</html>
diff --git a/docs/api/xmlsec-notes-contexts.html b/docs/api/xmlsec-notes-contexts.html
index 85a0801..b5601aa 100644
--- a/docs/api/xmlsec-notes-contexts.html
+++ b/docs/api/xmlsec-notes-contexts.html
@@ -1,41 +1,14 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Using context objects.</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79">
-<link rel="HOME" title="XML Security Library Reference Manual" href="index.html">
-<link rel="UP" title="XML Security Library Tutorial" href="xmlsec-notes.html">
-<link rel="PREVIOUS" title="Transforms and transforms chain." href="xmlsec-notes-transforms.html">
-<link rel="NEXT" title="Adding support for new cryptographic library." href="xmlsec-notes-new-crypto.html">
-<style type="text/css">.synopsis, .classsynopsis {
- background: #eeeeee;
- border: solid 1px #aaaaaa;
- padding: 0.5em;
-}
-.programlisting {
- background: #eeeeff;
- border: solid 1px #aaaaff;
- padding: 0.5em;
-}
-.variablelist {
- padding: 4px;
- margin-left: 3em;
-}
-.navigation {
- background: #ffeeee;
- border: solid 1px #ffaaaa;
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
-.navigation a {
- color: #770000;
-}
-.navigation a:visited {
- color: #550000;
-}
-.navigation .title {
- font-size: 200%;
-}</style>
+<title>Using context objects.: XML Security Library Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="XML Security Library Reference Manual">
+<link rel="up" href="xmlsec-notes.html" title="Part I. XML Security Library Tutorial">
+<link rel="prev" href="xmlsec-notes-transforms.html" title="Transforms and transforms chain.">
+<link rel="next" href="xmlsec-notes-new-crypto.html" title="Adding support for new cryptographic library.">
+<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
<style type="text/css">
table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
width: 20em;
@@ -100,16 +73,16 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
</table>
</td>
<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent">
-<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td><a accesskey="p" href="xmlsec-notes-transforms.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="xmlsec-notes.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<th width="100%" align="center">XML Security Library Reference Manual</th>
+<td><a accesskey="u" href="xmlsec-notes.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="xmlsec-notes-transforms.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="xmlsec-notes-new-crypto.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
-<div class="CHAPTER">
-<h1>
-<a name="XMLSEC-NOTES-CONTEXTS"></a>Using context objects.</h1>
+<div class="chapter">
+<div class="titlepage"><div><div><h2 class="title">
+<a name="xmlsec-notes-contexts"></a>Using context objects.</h2></div></div></div>
<p>The great flexibility of XML Digital Signature and XML Encryption
specification is one of the most interesting and in the same time,
most dangerouse feature for an application developer.
@@ -125,19 +98,21 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
enable or disable particular features, return the result
data and the information collected during the processing.
Also all the context objects defined in XML Security library have
- a special <code class="STRUCTFIELD">userData</code> member which could
+ a special <em class="structfield"><code>userData</code></em> member which could
be used by application to pass application specific data around.
XML Security Library never use this field.
The application creates a new
- <a href="xmlsec-xmldsig.html#XMLSECDSIGCTX">xmlSecDSigCtx</a>
- or <a href="xmlsec-xmlenc.html#XMLSECENCCTX">xmlSecEncCtx</a> object for each
+ <a class="link" href="xmlsec-xmldsig.html#xmlSecDSigCtx" title="struct xmlSecDSigCtx">xmlSecDSigCtx</a>
+ or <a class="link" href="xmlsec-xmlenc.html#xmlSecEncCtx" title="struct xmlSecEncCtx">xmlSecEncCtx</a> object for each
operation, sets necessary options and consumes result returned
in the context after signature, verification, encryption or decryption.
</p>
-<p> </p>
-<div class="EXAMPLE">
-<a name="AEN489"></a><p><b>Example 1. SAML signature validation.</b></p>
-<pre class="PROGRAMLISTING">/**
+<p>
+ </p>
+<div class="example">
+<a name="id-1.2.13.3.1"></a><p class="title"><b>Example 24. SAML signature validation.</b></p>
+<div class="example-contents"><pre class="programlisting">
+/**
* verify_file:
* @mngr: the pointer to keys manager.
* @xml_file: the signed XML file name.
@@ -240,13 +215,13 @@ done:
return(res);
}
- </pre>
+ </pre></div>
</div>
- </div>
-<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td align="left"><a accesskey="p" href="xmlsec-notes-transforms.html"><b><<< Transforms and transforms chain.</b></a></td>
-<td align="right"><a accesskey="n" href="xmlsec-notes-new-crypto.html"><b>Adding support for new cryptographic library. >>></b></a></td>
-</tr></table>
+<p><br class="example-break">
+ </p>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
</td></tr></table></td>
</tr></table></body>
</html>
diff --git a/docs/api/xmlsec-notes-custom-keys-store.html b/docs/api/xmlsec-notes-custom-keys-store.html
index b12dd6c..8294a29 100644
--- a/docs/api/xmlsec-notes-custom-keys-store.html
+++ b/docs/api/xmlsec-notes-custom-keys-store.html
@@ -1,41 +1,14 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Implementing a custom keys store.</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79">
-<link rel="HOME" title="XML Security Library Reference Manual" href="index.html">
-<link rel="UP" title="Keys manager." href="xmlsec-notes-keysmngr.html">
-<link rel="PREVIOUS" title="Using keys manager for verification/decryption." href="xmlsec-notes-keys-mngr-verify-decrypt.html">
-<link rel="NEXT" title="Using X509 Certificates." href="xmlsec-notes-x509.html">
-<style type="text/css">.synopsis, .classsynopsis {
- background: #eeeeee;
- border: solid 1px #aaaaaa;
- padding: 0.5em;
-}
-.programlisting {
- background: #eeeeff;
- border: solid 1px #aaaaff;
- padding: 0.5em;
-}
-.variablelist {
- padding: 4px;
- margin-left: 3em;
-}
-.navigation {
- background: #ffeeee;
- border: solid 1px #ffaaaa;
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
-.navigation a {
- color: #770000;
-}
-.navigation a:visited {
- color: #550000;
-}
-.navigation .title {
- font-size: 200%;
-}</style>
+<title>Implementing a custom keys store.: XML Security Library Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="XML Security Library Reference Manual">
+<link rel="up" href="xmlsec-notes-keysmngr.html" title="Keys manager.">
+<link rel="prev" href="xmlsec-notes-keys-mngr-verify-decrypt.html" title="Using keys manager for verification/decryption.">
+<link rel="next" href="xmlsec-notes-x509.html" title="Using X509 Certificates.">
+<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
<style type="text/css">
table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
width: 20em;
@@ -100,24 +73,28 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
</table>
</td>
<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent">
-<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td><a accesskey="p" href="xmlsec-notes-keys-mngr-verify-decrypt.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="xmlsec-notes-keysmngr.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<th width="100%" align="center">XML Security Library Reference Manual</th>
+<td><a accesskey="u" href="xmlsec-notes-keysmngr.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="xmlsec-notes-keys-mngr-verify-decrypt.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="xmlsec-notes-x509.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
-<br clear="all"><div class="SECT1">
-<h1 class="SECT1"><a name="XMLSEC-NOTES-CUSTOM-KEYS-STORE">Implementing a custom keys store.</a></h1>
+<div class="sect1">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="xmlsec-notes-custom-keys-store"></a>Implementing a custom keys store.</h2></div></div></div>
<p>In many cases, a default built-in list based keys store
is not good enough. For example, XML Security Library (and
the built-in default keys store) have no synchronization and
you'll need to implement a custom keys store if you want to
add or remove keys while other threads use the store.</p>
-<p> </p>
-<div class="EXAMPLE">
-<a name="AEN400"></a><p><b>Example 4. Creating a custom keys manager.</b></p>
-<pre class="PROGRAMLISTING">/**
+<p>
+ </p>
+<div class="example">
+<a name="id-1.2.10.6.3.1"></a><p class="title"><b>Example 19. Creating a custom keys manager.</b></p>
+<div class="example-contents">
+<pre class="programlisting">
+/**
* create_files_keys_mngr:
*
* Creates a files based keys manager: we assume that key name is
@@ -261,13 +238,14 @@ files_keys_store_find_key(xmlSecKeyStorePtr store, const xmlChar* name, xmlSecKe
return(key);
}
</pre>
-<p><a href="xmlsec-custom-keys-manager.html#XMLSEC-EXAMPLE-DECRYPT3">Full program listing</a></p>
+<p><a class="link" href="xmlsec-custom-keys-manager.html#xmlsec-example-decrypt3" title="decrypt3.c">Full program listing</a></p>
</div>
- </div>
-<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td align="left"><a accesskey="p" href="xmlsec-notes-keys-mngr-verify-decrypt.html"><b><<< Using keys manager for verification/decryption.</b></a></td>
-<td align="right"><a accesskey="n" href="xmlsec-notes-x509.html"><b>Using X509 Certificates. >>></b></a></td>
-</tr></table>
+</div>
+<p><br class="example-break">
+ </p>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
</td></tr></table></td>
</tr></table></body>
</html>
diff --git a/docs/api/xmlsec-notes-decrypt.html b/docs/api/xmlsec-notes-decrypt.html
index 5298c6b..9084835 100644
--- a/docs/api/xmlsec-notes-decrypt.html
+++ b/docs/api/xmlsec-notes-decrypt.html
@@ -1,41 +1,14 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Decrypting an encrypted document</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79">
-<link rel="HOME" title="XML Security Library Reference Manual" href="index.html">
-<link rel="UP" title="Verifing and decrypting documents." href="xmlsec-notes-verify-decrypt.html">
-<link rel="PREVIOUS" title="Verifying a signed document" href="xmlsec-notes-verify.html">
-<link rel="NEXT" title="Keys." href="xmlsec-notes-keys.html">
-<style type="text/css">.synopsis, .classsynopsis {
- background: #eeeeee;
- border: solid 1px #aaaaaa;
- padding: 0.5em;
-}
-.programlisting {
- background: #eeeeff;
- border: solid 1px #aaaaff;
- padding: 0.5em;
-}
-.variablelist {
- padding: 4px;
- margin-left: 3em;
-}
-.navigation {
- background: #ffeeee;
- border: solid 1px #ffaaaa;
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
-.navigation a {
- color: #770000;
-}
-.navigation a:visited {
- color: #550000;
-}
-.navigation .title {
- font-size: 200%;
-}</style>
+<title>Decrypting an encrypted document: XML Security Library Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="XML Security Library Reference Manual">
+<link rel="up" href="xmlsec-notes-verify-decrypt.html" title="Verifing and decrypting documents.">
+<link rel="prev" href="xmlsec-notes-verify.html" title="Verifying a signed document">
+<link rel="next" href="xmlsec-notes-keys.html" title="Keys.">
+<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
<style type="text/css">
table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
width: 20em;
@@ -100,43 +73,54 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
</table>
</td>
<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent">
-<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td><a accesskey="p" href="xmlsec-notes-verify.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="xmlsec-notes-verify-decrypt.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<th width="100%" align="center">XML Security Library Reference Manual</th>
+<td><a accesskey="u" href="xmlsec-notes-verify-decrypt.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="xmlsec-notes-verify.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="xmlsec-notes-keys.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
-<br clear="all"><div class="SECT1">
-<h1 class="SECT1"><a name="XMLSEC-NOTES-DECRYPT">Decrypting an encrypted document</a></h1>
+<div class="sect1">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="xmlsec-notes-decrypt"></a>Decrypting an encrypted document</h2></div></div></div>
<p>The typical decryption process includes following steps:
</p>
-<p></p>
-<ul>
-<li><p> Load keys, X509 certificates, etc. in the <a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR">keys manager</a> .
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem"><p>
+ Load keys, X509 certificates, etc. in the <a class="link" href="xmlsec-keysmngr.html#xmlSecKeysMngr" title="struct xmlSecKeysMngr">keys manager</a> .
</p></li>
-<li><p> Create encryption context <a href="xmlsec-xmlenc.html#XMLSECENCCTX">xmlSecEncCtx</a>
- using <a href="xmlsec-xmlenc.html#XMLSECENCCTXCREATE">xmlSecEncCtxCreate</a> or
- <a href="xmlsec-xmlenc.html#XMLSECENCCTXINITIALIZE">xmlSecEncCtxInitialize</a>
+<li class="listitem"><p>
+ Create encryption context <a class="link" href="xmlsec-xmlenc.html#xmlSecEncCtx" title="struct xmlSecEncCtx">xmlSecEncCtx</a>
+ using <a class="link" href="xmlsec-xmlenc.html#xmlSecEncCtxCreate" title="xmlSecEncCtxCreate ()">xmlSecEncCtxCreate</a> or
+ <a class="link" href="xmlsec-xmlenc.html#xmlSecEncCtxInitialize" title="xmlSecEncCtxInitialize ()">xmlSecEncCtxInitialize</a>
functions.
</p></li>
-<li><p> Select start decryption <enc:EncryptedData> node.
+<li class="listitem"><p>
+ Select start decryption <enc:EncryptedData> node.
</p></li>
-<li><p> Decrypt by calling <a href="xmlsec-xmlenc.html#XMLSECENCCTXDECRYPT">xmlSecencCtxDecrypt</a>
+<li class="listitem"><p>
+ Decrypt by calling <a class="link" href="xmlsec-xmlenc.html#xmlSecEncCtxDecrypt" title="xmlSecEncCtxDecrypt ()">xmlSecencCtxDecrypt</a>
function.
</p></li>
-<li><p> Check returned value and if necessary consume encrypted data.
+<li class="listitem"><p>
+ Check returned value and if necessary consume encrypted data.
</p></li>
-<li><p> Destroy encryption context <a href="xmlsec-xmlenc.html#XMLSECENCCTX">xmlSecEncCtx</a>
- using <a href="xmlsec-xmlenc.html#XMLSECENCCTXDESTROY">xmlSecEncCtxDestroy</a> or
- <a href="xmlsec-xmlenc.html#XMLSECENCCTXFINALIZE">xmlSecEncCtxFinalize</a>
+<li class="listitem"><p>
+ Destroy encryption context <a class="link" href="xmlsec-xmlenc.html#xmlSecEncCtx" title="struct xmlSecEncCtx">xmlSecEncCtx</a>
+ using <a class="link" href="xmlsec-xmlenc.html#xmlSecEncCtxDestroy" title="xmlSecEncCtxDestroy ()">xmlSecEncCtxDestroy</a> or
+ <a class="link" href="xmlsec-xmlenc.html#xmlSecEncCtxFinalize" title="xmlSecEncCtxFinalize ()">xmlSecEncCtxFinalize</a>
functions.
</p></li>
-</ul>
- <p> </p>
-<div class="EXAMPLE">
-<a name="AEN333"></a><p><b>Example 2. Decrypting a document.</b></p>
-<pre class="PROGRAMLISTING">int
+</ul></div>
+<p>
+ </p>
+<p>
+ </p>
+<div class="example">
+<a name="id-1.2.8.4.3.1"></a><p class="title"><b>Example 15. Decrypting a document.</b></p>
+<div class="example-contents">
+<pre class="programlisting">
+int
decrypt_file(const char* enc_file, const char* key_file) {
xmlDocPtr doc = NULL;
xmlNodePtr node = NULL;
@@ -216,13 +200,14 @@ done:
return(res);
}
</pre>
-<p><a href="xmlsec-decrypt-with-signle-key.html#XMLSEC-EXAMPLE-DECRYPT1">Full Program Listing</a></p>
+<p><a class="link" href="xmlsec-decrypt-with-signle-key.html#xmlsec-example-decrypt1" title="decrypt1.c">Full Program Listing</a></p>
</div>
- </div>
-<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td align="left"><a accesskey="p" href="xmlsec-notes-verify.html"><b><<< Verifying a signed document</b></a></td>
-<td align="right"><a accesskey="n" href="xmlsec-notes-keys.html"><b>Keys. >>></b></a></td>
-</tr></table>
+</div>
+<p><br class="example-break">
+ </p>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
</td></tr></table></td>
</tr></table></body>
</html>
diff --git a/docs/api/xmlsec-notes-dynamic-encryption-templates.html b/docs/api/xmlsec-notes-dynamic-encryption-templates.html
index a1ca1de..b149cae 100644
--- a/docs/api/xmlsec-notes-dynamic-encryption-templates.html
+++ b/docs/api/xmlsec-notes-dynamic-encryption-templates.html
@@ -1,41 +1,14 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Creating dynamic encryption templates.</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79">
-<link rel="HOME" title="XML Security Library Reference Manual" href="index.html">
-<link rel="UP" title="Creating dynamic templates." href="xmlsec-notes-templates.html">
-<link rel="PREVIOUS" title="Creating dynamic signature templates." href="xmlsec-notes-dynamic-signature-templates.html">
-<link rel="NEXT" title="Verifing and decrypting documents." href="xmlsec-notes-verify-decrypt.html">
-<style type="text/css">.synopsis, .classsynopsis {
- background: #eeeeee;
- border: solid 1px #aaaaaa;
- padding: 0.5em;
-}
-.programlisting {
- background: #eeeeff;
- border: solid 1px #aaaaff;
- padding: 0.5em;
-}
-.variablelist {
- padding: 4px;
- margin-left: 3em;
-}
-.navigation {
- background: #ffeeee;
- border: solid 1px #ffaaaa;
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
-.navigation a {
- color: #770000;
-}
-.navigation a:visited {
- color: #550000;
-}
-.navigation .title {
- font-size: 200%;
-}</style>
+<title>Creating dynamic encryption templates.: XML Security Library Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="XML Security Library Reference Manual">
+<link rel="up" href="xmlsec-notes-templates.html" title="Creating dynamic templates.">
+<link rel="prev" href="xmlsec-notes-dynamic-signature-templates.html" title="Creating dynamic signature templates.">
+<link rel="next" href="xmlsec-notes-verify-decrypt.html" title="Verifing and decrypting documents.">
+<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
<style type="text/css">
table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
width: 20em;
@@ -100,26 +73,28 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
</table>
</td>
<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent">
-<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td><a accesskey="p" href="xmlsec-notes-dynamic-signature-templates.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="xmlsec-notes-templates.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<th width="100%" align="center">XML Security Library Reference Manual</th>
+<td><a accesskey="u" href="xmlsec-notes-templates.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="xmlsec-notes-dynamic-signature-templates.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="xmlsec-notes-verify-decrypt.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
-<br clear="all"><div class="SECT1">
-<h1 class="SECT1"><a name="XMLSEC-NOTES-DYNAMIC-ENCRYPTION-TEMPLATES">Creating dynamic encryption templates.</a></h1>
+<div class="sect1">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="xmlsec-notes-dynamic-encryption-templates"></a>Creating dynamic encryption templates.</h2></div></div></div>
<p>The encryption template has structure similar
to the XML Encryption structure as it is described in
- <a href="http://www.w3.org/TR/xmlenc-core" target="_top">specification</a>.
+ <a class="ulink" href="" target="_top">specification</a>.
The only difference is that some nodes (for example,
<enc:CipherValue/>)
are empty. The XML Security Library sets the content of these
nodes after doing necessary calculations.
</p>
-<div class="FIGURE">
-<a name="AEN256"></a><p><b>Figure 2. XML Encryption structure</b></p>
-<pre class="PROGRAMLISTING"><enc:EncryptedData Id? Type? MimeType? Encoding?>
+<div class="figure">
+<a name="id-1.2.7.4.3"></a><p class="title"><b>Figure 4. XML Encryption structure</b></p>
+<div class="figure-contents"><pre class="programlisting">
+<enc:EncryptedData Id? Type? MimeType? Encoding?>
<enc:EncryptionMethod Algorithm />?
(<dsig:KeyInfo>
<dsig:KeyName>?
@@ -139,12 +114,15 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
</enc:CipherData>
<enc:EncryptionProperties>?
</enc:EncryptedData>
- </pre>
+ </pre></div>
</div>
-<p> </p>
-<div class="EXAMPLE">
-<a name="AEN260"></a><p><b>Example 2. Creating dynamic encrytion template.</b></p>
-<pre class="PROGRAMLISTING">/**
+<br class="figure-break"><p>
+ </p>
+<div class="example">
+<a name="id-1.2.7.4.4.1"></a><p class="title"><b>Example 13. Creating dynamic encrytion template.</b></p>
+<div class="example-contents">
+<pre class="programlisting">
+/**
* encrypt_file:
* @xml_file: the encryption template file name.
* @key_file: the Triple DES key file.
@@ -251,13 +229,14 @@ done:
return(res);
}
</pre>
-<p><a href="xmlsec-encrypt-dynamic-template.html#XMLSEC-EXAMPLE-ENCRYPT2">Full program listing</a></p>
+<p><a class="link" href="xmlsec-encrypt-dynamic-template.html#xmlsec-example-encrypt2" title="encrypt2.c">Full program listing</a></p>
</div>
- </div>
-<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td align="left"><a accesskey="p" href="xmlsec-notes-dynamic-signature-templates.html"><b><<< Creating dynamic signature templates.</b></a></td>
-<td align="right"><a accesskey="n" href="xmlsec-notes-verify-decrypt.html"><b>Verifing and decrypting documents. >>></b></a></td>
-</tr></table>
+</div>
+<p><br class="example-break">
+ </p>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
</td></tr></table></td>
</tr></table></body>
</html>
diff --git a/docs/api/xmlsec-notes-dynamic-signature-templates.html b/docs/api/xmlsec-notes-dynamic-signature-templates.html
index b01f735..c3eeba3 100644
--- a/docs/api/xmlsec-notes-dynamic-signature-templates.html
+++ b/docs/api/xmlsec-notes-dynamic-signature-templates.html
@@ -1,41 +1,14 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Creating dynamic signature templates.</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79">
-<link rel="HOME" title="XML Security Library Reference Manual" href="index.html">
-<link rel="UP" title="Creating dynamic templates." href="xmlsec-notes-templates.html">
-<link rel="PREVIOUS" title="Creating dynamic templates." href="xmlsec-notes-templates.html">
-<link rel="NEXT" title="Creating dynamic encryption templates." href="xmlsec-notes-dynamic-encryption-templates.html">
-<style type="text/css">.synopsis, .classsynopsis {
- background: #eeeeee;
- border: solid 1px #aaaaaa;
- padding: 0.5em;
-}
-.programlisting {
- background: #eeeeff;
- border: solid 1px #aaaaff;
- padding: 0.5em;
-}
-.variablelist {
- padding: 4px;
- margin-left: 3em;
-}
-.navigation {
- background: #ffeeee;
- border: solid 1px #ffaaaa;
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
-.navigation a {
- color: #770000;
-}
-.navigation a:visited {
- color: #550000;
-}
-.navigation .title {
- font-size: 200%;
-}</style>
+<title>Creating dynamic signature templates.: XML Security Library Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="XML Security Library Reference Manual">
+<link rel="up" href="xmlsec-notes-templates.html" title="Creating dynamic templates.">
+<link rel="prev" href="xmlsec-notes-templates.html" title="Creating dynamic templates.">
+<link rel="next" href="xmlsec-notes-dynamic-encryption-templates.html" title="Creating dynamic encryption templates.">
+<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
<style type="text/css">
table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
width: 20em;
@@ -100,26 +73,28 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
</table>
</td>
<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent">
-<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td><a accesskey="p" href="xmlsec-notes-templates.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="xmlsec-notes-templates.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<th width="100%" align="center">XML Security Library Reference Manual</th>
+<td><a accesskey="u" href="xmlsec-notes-templates.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="xmlsec-notes-templates.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="xmlsec-notes-dynamic-encryption-templates.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
-<br clear="all"><div class="SECT1">
-<h1 class="SECT1"><a name="XMLSEC-NOTES-DYNAMIC-SIGNATURE-TEMPLATES">Creating dynamic signature templates.</a></h1>
+<div class="sect1">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="xmlsec-notes-dynamic-signature-templates"></a>Creating dynamic signature templates.</h2></div></div></div>
<p>The signature template has structure similar
to the XML Digital Signature structure as it is described in
- <a href="http://www.w3.org/TR/xmldsig-core" target="_top">specification</a>.
+ <a class="ulink" href="" target="_top">specification</a>.
The only difference is that some nodes (for example,
<dsig:DigestValue/> or <SignatureValue/>)
are empty. The XML Security Library sets the content of these
nodes after doing necessary calculations.
</p>
-<div class="FIGURE">
-<a name="AEN243"></a><p><b>Figure 1. XML Digital Signature structure</b></p>
-<pre class="PROGRAMLISTING"><dsig:Signature ID?>
+<div class="figure">
+<a name="id-1.2.7.3.3"></a><p class="title"><b>Figure 3. XML Digital Signature structure</b></p>
+<div class="figure-contents"><pre class="programlisting">
+<dsig:Signature ID?>
<dsig:SignedInfo>
<dsig:CanonicalizationMethod Algorithm />
<dsig:SignatureMethod Algorithm />
@@ -146,12 +121,15 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
</dsig:KeyInfo>)?
(<dsig:Object ID?>)*
</dsig:Signature>
- </pre>
+ </pre></div>
</div>
-<p> </p>
-<div class="EXAMPLE">
-<a name="AEN247"></a><p><b>Example 1. Creating dynamic signature template.</b></p>
-<pre class="PROGRAMLISTING">/**
+<br class="figure-break"><p>
+ </p>
+<div class="example">
+<a name="id-1.2.7.3.4.1"></a><p class="title"><b>Example 12. Creating dynamic signature template.</b></p>
+<div class="example-contents">
+<pre class="programlisting">
+/**
* sign_file:
* @xml_file: the XML file name.
* @key_file: the PEM private key file name.
@@ -261,13 +239,14 @@ done:
return(res);
}
</pre>
-<p><a href="xmlsec-examples-sign-dynamimc-template.html#XMLSEC-EXAMPLE-SIGN2">Full program listing</a></p>
+<p><a class="link" href="xmlsec-examples-sign-dynamimc-template.html#xmlsec-example-sign2" title="sign2.c">Full program listing</a></p>
</div>
- </div>
-<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td align="left"><a accesskey="p" href="xmlsec-notes-templates.html"><b><<< Creating dynamic templates.</b></a></td>
-<td align="right"><a accesskey="n" href="xmlsec-notes-dynamic-encryption-templates.html"><b>Creating dynamic encryption templates. >>></b></a></td>
-</tr></table>
+</div>
+<p><br class="example-break">
+ </p>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
</td></tr></table></td>
</tr></table></body>
</html>
diff --git a/docs/api/xmlsec-notes-encrypt.html b/docs/api/xmlsec-notes-encrypt.html
index 56d12eb..72ae657 100644
--- a/docs/api/xmlsec-notes-encrypt.html
+++ b/docs/api/xmlsec-notes-encrypt.html
@@ -1,41 +1,14 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Encrypting data.</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79">
-<link rel="HOME" title="XML Security Library Reference Manual" href="index.html">
-<link rel="UP" title="Signing and encrypting documents." href="xmlsec-notes-sign-encrypt.html">
-<link rel="PREVIOUS" title="Signing a document." href="xmlsec-notes-sign.html">
-<link rel="NEXT" title="Creating dynamic templates." href="xmlsec-notes-templates.html">
-<style type="text/css">.synopsis, .classsynopsis {
- background: #eeeeee;
- border: solid 1px #aaaaaa;
- padding: 0.5em;
-}
-.programlisting {
- background: #eeeeff;
- border: solid 1px #aaaaff;
- padding: 0.5em;
-}
-.variablelist {
- padding: 4px;
- margin-left: 3em;
-}
-.navigation {
- background: #ffeeee;
- border: solid 1px #ffaaaa;
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
-.navigation a {
- color: #770000;
-}
-.navigation a:visited {
- color: #550000;
-}
-.navigation .title {
- font-size: 200%;
-}</style>
+<title>Encrypting data.: XML Security Library Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="XML Security Library Reference Manual">
+<link rel="up" href="xmlsec-notes-sign-encrypt.html" title="Signing and encrypting documents.">
+<link rel="prev" href="xmlsec-notes-sign.html" title="Signing a document.">
+<link rel="next" href="xmlsec-notes-templates.html" title="Creating dynamic templates.">
+<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
<style type="text/css">
table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
width: 20em;
@@ -100,59 +73,75 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
</table>
</td>
<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent">
-<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td><a accesskey="p" href="xmlsec-notes-sign.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="xmlsec-notes-sign-encrypt.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<th width="100%" align="center">XML Security Library Reference Manual</th>
+<td><a accesskey="u" href="xmlsec-notes-sign-encrypt.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="xmlsec-notes-sign.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="xmlsec-notes-templates.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
-<br clear="all"><div class="SECT1">
-<h1 class="SECT1"><a name="XMLSEC-NOTES-ENCRYPT">Encrypting data.</a></h1>
+<div class="sect1">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="xmlsec-notes-encrypt"></a>Encrypting data.</h2></div></div></div>
<p>The typical encryption process includes following steps:
</p>
-<p></p>
-<ul>
-<li><p> Prepare data for encryption.
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem"><p>
+ Prepare data for encryption.
</p></li>
-<li><p> Create or load encryption template and select start
+<li class="listitem"><p>
+ Create or load encryption template and select start
<enc:EncryptedData/> node.
</p></li>
-<li><p> Create encryption context <a href="xmlsec-xmlenc.html#XMLSECENCCTX">xmlSecEncCtx</a>
- using <a href="xmlsec-xmlenc.html#XMLSECENCCTXCREATE">xmlSecEncCtxCreate</a> or
- <a href="xmlsec-xmlenc.html#XMLSECENCCTXINITIALIZE">xmlSecEncCtxInitialize</a>
+<li class="listitem"><p>
+ Create encryption context <a class="link" href="xmlsec-xmlenc.html#xmlSecEncCtx" title="struct xmlSecEncCtx">xmlSecEncCtx</a>
+ using <a class="link" href="xmlsec-xmlenc.html#xmlSecEncCtxCreate" title="xmlSecEncCtxCreate ()">xmlSecEncCtxCreate</a> or
+ <a class="link" href="xmlsec-xmlenc.html#xmlSecEncCtxInitialize" title="xmlSecEncCtxInitialize ()">xmlSecEncCtxInitialize</a>
functions.
</p></li>
-<li><p> Load encryption key in <a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR">keys manager</a>
+<li class="listitem"><p>
+ Load encryption key in <a class="link" href="xmlsec-keysmngr.html#xmlSecKeysMngr" title="struct xmlSecKeysMngr">keys manager</a>
or generate a session key and set it in the encryption context
- (<code class="STRUCTFIELD">encKey</code> member of
- <a href="xmlsec-xmlenc.html#XMLSECENCCTX">xmlSecEncCtx</a> structure).
+ (<em class="structfield"><code>encKey</code></em> member of
+ <a class="link" href="xmlsec-xmlenc.html#xmlSecEncCtx" title="struct xmlSecEncCtx">xmlSecEncCtx</a> structure).
</p></li>
-<li>
-<p> Encrypt data by calling one of the following functions:
+<li class="listitem">
+<p>
+ Encrypt data by calling one of the following functions:
</p>
-<p></p>
-<ul>
-<li><p> <a href="xmlsec-xmlenc.html#XMLSECENCCTXBINARYENCRYPT">xmlSecEncCtxBinaryEncrypt</a>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: circle; ">
+<li class="listitem"><p>
+ <a class="link" href="xmlsec-xmlenc.html#xmlSecEncCtxBinaryEncrypt" title="xmlSecEncCtxBinaryEncrypt ()">xmlSecEncCtxBinaryEncrypt</a>
</p></li>
-<li><p> <a href="xmlsec-xmlenc.html#XMLSECENCCTXXMLENCRYPT">xmlSecEncCtxXmlEncrypt</a>
+<li class="listitem"><p>
+ <a class="link" href="xmlsec-xmlenc.html#xmlSecEncCtxXmlEncrypt" title="xmlSecEncCtxXmlEncrypt ()">xmlSecEncCtxXmlEncrypt</a>
</p></li>
-<li><p> <a href="xmlsec-xmlenc.html#XMLSECENCCTXURIENCRYPT">xmlSecEncCtxUriEncrypt</a>
+<li class="listitem"><p>
+ <a class="link" href="xmlsec-xmlenc.html#xmlSecEncCtxUriEncrypt" title="xmlSecEncCtxUriEncrypt ()">xmlSecEncCtxUriEncrypt</a>
</p></li>
-</ul>
- </li>
-<li><p> Check returned value and if necessary consume encrypted data.
+</ul></div>
+<p>
+ </p>
+</li>
+<li class="listitem"><p>
+ Check returned value and if necessary consume encrypted data.
</p></li>
-<li><p> Destroy encryption context <a href="xmlsec-xmlenc.html#XMLSECENCCTX">xmlSecEncCtx</a>
- using <a href="xmlsec-xmlenc.html#XMLSECENCCTXDESTROY">xmlSecEncCtxDestroy</a> or
- <a href="xmlsec-xmlenc.html#XMLSECENCCTXFINALIZE">xmlSecEncCtxFinalize</a>
+<li class="listitem"><p>
+ Destroy encryption context <a class="link" href="xmlsec-xmlenc.html#xmlSecEncCtx" title="struct xmlSecEncCtx">xmlSecEncCtx</a>
+ using <a class="link" href="xmlsec-xmlenc.html#xmlSecEncCtxDestroy" title="xmlSecEncCtxDestroy ()">xmlSecEncCtxDestroy</a> or
+ <a class="link" href="xmlsec-xmlenc.html#xmlSecEncCtxFinalize" title="xmlSecEncCtxFinalize ()">xmlSecEncCtxFinalize</a>
functions.
</p></li>
-</ul>
- <p> </p>
-<div class="EXAMPLE">
-<a name="AEN227"></a><p><b>Example 2. Encrypting binary data with a template.</b></p>
-<pre class="PROGRAMLISTING">/**
+</ul></div>
+<p>
+ </p>
+<p>
+ </p>
+<div class="example">
+<a name="id-1.2.6.4.3.1"></a><p class="title"><b>Example 11. Encrypting binary data with a template.</b></p>
+<div class="example-contents">
+<pre class="programlisting">
+/**
* encrypt_file:
* @tmpl_file: the encryption template file name.
* @key_file: the Triple DES key file.
@@ -233,14 +222,15 @@ done:
return(res);
}
</pre>
-<p><a href="xmlsec-encrypt-template-file.html#XMLSEC-EXAMPLE-ENCRYPT1">Full program listing</a></p>
-<p><a href="xmlsec-encrypt-template-file.html#XMLSEC-EXAMPLE-ENCRYPT1-TMPL">Simple encryption template file</a></p>
+<p><a class="link" href="xmlsec-encrypt-template-file.html#xmlsec-example-encrypt1" title="encrypt1.c">Full program listing</a></p>
+<p><a class="link" href="xmlsec-encrypt-template-file.html#xmlsec-example-encrypt1-tmpl" title="encrypt1-tmpl.xml">Simple encryption template file</a></p>
</div>
- </div>
-<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td align="left"><a accesskey="p" href="xmlsec-notes-sign.html"><b><<< Signing a document.</b></a></td>
-<td align="right"><a accesskey="n" href="xmlsec-notes-templates.html"><b>Creating dynamic templates. >>></b></a></td>
-</tr></table>
+</div>
+<p><br class="example-break">
+ </p>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
</td></tr></table></td>
</tr></table></body>
</html>
diff --git a/docs/api/xmlsec-notes-include-files.html b/docs/api/xmlsec-notes-include-files.html
index 09928b6..cadf3bb 100644
--- a/docs/api/xmlsec-notes-include-files.html
+++ b/docs/api/xmlsec-notes-include-files.html
@@ -1,41 +1,14 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Include files.</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79">
-<link rel="HOME" title="XML Security Library Reference Manual" href="index.html">
-<link rel="UP" title="Building the application with XML Security Library." href="xmlsec-notes-compiling.html">
-<link rel="PREVIOUS" title="Building the application with XML Security Library." href="xmlsec-notes-compiling.html">
-<link rel="NEXT" title="Compiling and linking on Unix." href="xmlsec-notes-compiling-unix.html">
-<style type="text/css">.synopsis, .classsynopsis {
- background: #eeeeee;
- border: solid 1px #aaaaaa;
- padding: 0.5em;
-}
-.programlisting {
- background: #eeeeff;
- border: solid 1px #aaaaff;
- padding: 0.5em;
-}
-.variablelist {
- padding: 4px;
- margin-left: 3em;
-}
-.navigation {
- background: #ffeeee;
- border: solid 1px #ffaaaa;
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
-.navigation a {
- color: #770000;
-}
-.navigation a:visited {
- color: #550000;
-}
-.navigation .title {
- font-size: 200%;
-}</style>
+<title>Include files.: XML Security Library Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="XML Security Library Reference Manual">
+<link rel="up" href="xmlsec-notes-compiling.html" title="Building the application with XML Security Library.">
+<link rel="prev" href="xmlsec-notes-compiling.html" title="Building the application with XML Security Library.">
+<link rel="next" href="xmlsec-notes-compiling-unix.html" title="Compiling and linking on Unix.">
+<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
<style type="text/css">
table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
width: 20em;
@@ -100,45 +73,49 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
</table>
</td>
<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent">
-<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td><a accesskey="p" href="xmlsec-notes-compiling.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="xmlsec-notes-compiling.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<th width="100%" align="center">XML Security Library Reference Manual</th>
+<td><a accesskey="u" href="xmlsec-notes-compiling.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="xmlsec-notes-compiling.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="xmlsec-notes-compiling-unix.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
-<br clear="all"><div class="SECT1">
-<h1 class="SECT1"><a name="XMLSEC-NOTES-INCLUDE-FILES">Include files.</a></h1>
+<div class="sect1">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="xmlsec-notes-include-files"></a>Include files.</h2></div></div></div>
<p>In order to use XML Security Library an application should include
one or more of the following files:
</p>
-<p></p>
-<ul>
-<li><p><a href="xmlsec-xmlsec.html">xmlsec/xmlsec.h</a> -
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem"><p><font>xmlsec/xmlsec.h</font> -
XML Security Library initialization and shutdown functions;
</p></li>
-<li><p><a href="xmlsec-xmldsig.html">xmlsec/xmldsig.h</a> -
+<li class="listitem"><p><font>xmlsec/xmldsig.h</font> -
XML Digital Signature functions;</p></li>
-<li><p><a href="xmlsec-xmlenc.html">xmlsec/xmlenc.h</a> -
+<li class="listitem"><p><font>xmlsec/xmlenc.h</font> -
XML Encryption functions;</p></li>
-<li><p><a href="xmlsec-xmltree.html">xmlsec/xmltree.h</a> -
+<li class="listitem"><p><font>xmlsec/xmltree.h</font> -
helper functions for XML documents manipulation;
</p></li>
-<li><p><a href="xmlsec-templates.html">xmlsec/templates.h</a> -
+<li class="listitem"><p><font>xmlsec/templates.h</font> -
helper functions for dynamic XML Digital Signature and
XML Encryption templates creation;
</p></li>
-<li><p><font>xmlsec/crypto.h</font> -
+<li class="listitem"><p><font>xmlsec/crypto.h</font> -
automatic XML Security Crypto Library selection.
</p></li>
-</ul>
- <p>If necessary, the application should also include LibXML,
+</ul></div>
+<p>
+ </p>
+<p>If necessary, the application should also include LibXML,
LibXSLT and crypto library header files.
</p>
-<p> </p>
-<div class="EXAMPLE">
-<a name="AEN61"></a><p><b>Example 1. Example includes file section.</b></p>
-<pre class="PROGRAMLISTING">#include <libxml/tree.h>
+<p>
+ </p>
+<div class="example">
+<a name="id-1.2.4.3.4.1"></a><p class="title"><b>Example 1. Example includes file section.</b></p>
+<div class="example-contents"><pre class="programlisting">
+#include <libxml/tree.h>
#include <libxml/xmlmemory.h>
#include <libxml/parser.h>
@@ -152,13 +129,13 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
#include <xmlsec/xmlenc.h>
#include <xmlsec/templates.h>
#include <xmlsec/crypto.h>
- </pre>
+ </pre></div>
</div>
- </div>
-<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td align="left"><a accesskey="p" href="xmlsec-notes-compiling.html"><b><<< Building the application with XML Security Library.</b></a></td>
-<td align="right"><a accesskey="n" href="xmlsec-notes-compiling-unix.html"><b>Compiling and linking on Unix. >>></b></a></td>
-</tr></table>
+<p><br class="example-break">
+ </p>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
</td></tr></table></td>
</tr></table></body>
</html>
diff --git a/docs/api/xmlsec-notes-init-shutdown.html b/docs/api/xmlsec-notes-init-shutdown.html
index fe65905..9bd433a 100644
--- a/docs/api/xmlsec-notes-init-shutdown.html
+++ b/docs/api/xmlsec-notes-init-shutdown.html
@@ -1,41 +1,14 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Initialization and shutdown.</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79">
-<link rel="HOME" title="XML Security Library Reference Manual" href="index.html">
-<link rel="UP" title="XML Security Library Tutorial" href="xmlsec-notes.html">
-<link rel="PREVIOUS" title="Compiling and linking on other systems." href="xmlsec-notes-compiling-others.html">
-<link rel="NEXT" title="Signing and encrypting documents." href="xmlsec-notes-sign-encrypt.html">
-<style type="text/css">.synopsis, .classsynopsis {
- background: #eeeeee;
- border: solid 1px #aaaaaa;
- padding: 0.5em;
-}
-.programlisting {
- background: #eeeeff;
- border: solid 1px #aaaaff;
- padding: 0.5em;
-}
-.variablelist {
- padding: 4px;
- margin-left: 3em;
-}
-.navigation {
- background: #ffeeee;
- border: solid 1px #ffaaaa;
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
-.navigation a {
- color: #770000;
-}
-.navigation a:visited {
- color: #550000;
-}
-.navigation .title {
- font-size: 200%;
-}</style>
+<title>Initialization and shutdown.: XML Security Library Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="XML Security Library Reference Manual">
+<link rel="up" href="xmlsec-notes.html" title="Part I. XML Security Library Tutorial">
+<link rel="prev" href="xmlsec-notes-compiling-others.html" title="Compiling and linking on other systems.">
+<link rel="next" href="xmlsec-notes-sign-encrypt.html" title="Signing and encrypting documents.">
+<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
<style type="text/css">
table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
width: 20em;
@@ -100,47 +73,50 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
</table>
</td>
<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent">
-<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td><a accesskey="p" href="xmlsec-notes-compiling-others.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="xmlsec-notes.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<th width="100%" align="center">XML Security Library Reference Manual</th>
+<td><a accesskey="u" href="xmlsec-notes.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="xmlsec-notes-compiling-others.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="xmlsec-notes-sign-encrypt.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
-<div class="CHAPTER">
-<h1>
-<a name="XMLSEC-NOTES-INIT-SHUTDOWN"></a>Initialization and shutdown.</h1>
+<div class="chapter">
+<div class="titlepage"><div><div><h2 class="title">
+<a name="xmlsec-notes-init-shutdown"></a>Initialization and shutdown.</h2></div></div></div>
<p>XML Security Library initialization/shutdown
process includes initialization and shutdown of the
dependent libraries:
</p>
-<p></p>
-<ul>
-<li><p>libxml library;</p></li>
-<li><p>libxslt library;</p></li>
-<li><p>crypto library (OpenSSL, GnuTLS, GCrypt, NSS, ...);</p></li>
-<li><p>xmlsec library
- (<a href="xmlsec-xmlsec.html#XMLSECINIT">xmlSecInit</a>
- and <a href="xmlsec-xmlsec.html#XMLSECSHUTDOWN">xmlSecShutdown</a>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem"><p>libxml library;</p></li>
+<li class="listitem"><p>libxslt library;</p></li>
+<li class="listitem"><p>crypto library (OpenSSL, GnuTLS, GCrypt, NSS, ...);</p></li>
+<li class="listitem"><p>xmlsec library
+ (<a class="link" href="xmlsec-xmlsec.html#xmlSecInit" title="xmlSecInit ()">xmlSecInit</a>
+ and <a class="link" href="xmlsec-xmlsec.html#xmlSecShutdown" title="xmlSecShutdown ()">xmlSecShutdown</a>
functions);
</p></li>
-<li><p>xmlsec-crypto library
- (<a href="xmlsec-dl.html#XMLSECCRYPTODLLOADLIBRARY">xmlSecCryptoDLLoadLibrary</a>
+<li class="listitem"><p>xmlsec-crypto library
+ (<a class="link" href="xmlsec-dl.html#xmlSecCryptoDLLoadLibrary" title="xmlSecCryptoDLLoadLibrary ()">xmlSecCryptoDLLoadLibrary</a>
to load xmlsec-crypto library dynamicaly if needed,
- <a href="xmlsec-app.html#XMLSECCRYPTOINIT">xmlSecCryptoInit</a>
- and <a href="xmlsec-app.html#XMLSECCRYPTOSHUTDOWN">xmlSecCryptoShutdown</a>
+ <a class="link" href="xmlsec-app.html#xmlSecCryptoInit" title="xmlSecCryptoInit ()">xmlSecCryptoInit</a>
+ and <a class="link" href="xmlsec-app.html#xmlSecCryptoShutdown" title="xmlSecCryptoShutdown ()">xmlSecCryptoShutdown</a>
functions);
</p></li>
-</ul>
+</ul></div>
+<p>
xmlsec-crypto library also provides a convinient functions
<font>xmlSecAppCryptoInit</font>
and <font>xmlSecAppCryptoShutdown</font>
to initialize the crypto library itself but application can do it
by itself.
- <p> </p>
-<div class="EXAMPLE">
-<a name="AEN137"></a><p><b>Example 1. Initializing application.</b></p>
-<pre class="PROGRAMLISTING"> /* Init libxml and libxslt libraries */
+ </p>
+<p>
+ </p>
+<div class="example">
+<a name="id-1.2.5.3.1"></a><p class="title"><b>Example 8. Initializing application.</b></p>
+<div class="example-contents"><pre class="programlisting">
+ /* Init libxml and libxslt libraries */
xmlInitParser();
LIBXML_TEST_VERSION
xmlLoadExtDtdDefaultValue = XML_DETECT_IDS | XML_COMPLETE_ATTRS;
@@ -186,12 +162,16 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
fprintf(stderr, "Error: xmlsec-crypto initialization failed.\n");
return(-1);
}
- </pre>
+ </pre></div>
</div>
- <p> </p>
-<div class="EXAMPLE">
-<a name="AEN141"></a><p><b>Example 2. Shutting down application.</b></p>
-<pre class="PROGRAMLISTING"> /* Shutdown xmlsec-crypto library */
+<p><br class="example-break">
+ </p>
+<p>
+ </p>
+<div class="example">
+<a name="id-1.2.5.4.1"></a><p class="title"><b>Example 9. Shutting down application.</b></p>
+<div class="example-contents"><pre class="programlisting">
+ /* Shutdown xmlsec-crypto library */
xmlSecCryptoShutdown();
/* Shutdown crypto library */
@@ -205,13 +185,13 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
xsltCleanupGlobals();
#endif /* XMLSEC_NO_XSLT */
xmlCleanupParser();
- </pre>
+ </pre></div>
</div>
- </div>
-<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td align="left"><a accesskey="p" href="xmlsec-notes-compiling-others.html"><b><<< Compiling and linking on other systems.</b></a></td>
-<td align="right"><a accesskey="n" href="xmlsec-notes-sign-encrypt.html"><b>Signing and encrypting documents. >>></b></a></td>
-</tr></table>
+<p><br class="example-break">
+ </p>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
</td></tr></table></td>
</tr></table></body>
</html>
diff --git a/docs/api/xmlsec-notes-keys-manager-sign-enc.html b/docs/api/xmlsec-notes-keys-manager-sign-enc.html
index a697fd5..f93050e 100644
--- a/docs/api/xmlsec-notes-keys-manager-sign-enc.html
+++ b/docs/api/xmlsec-notes-keys-manager-sign-enc.html
@@ -1,41 +1,14 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Using keys manager for signatures/encryption.</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79">
-<link rel="HOME" title="XML Security Library Reference Manual" href="index.html">
-<link rel="UP" title="Keys manager." href="xmlsec-notes-keysmngr.html">
-<link rel="PREVIOUS" title="Simple keys store." href="xmlsec-notes-simple-keys-store.html">
-<link rel="NEXT" title="Using keys manager for verification/decryption." href="xmlsec-notes-keys-mngr-verify-decrypt.html">
-<style type="text/css">.synopsis, .classsynopsis {
- background: #eeeeee;
- border: solid 1px #aaaaaa;
- padding: 0.5em;
-}
-.programlisting {
- background: #eeeeff;
- border: solid 1px #aaaaff;
- padding: 0.5em;
-}
-.variablelist {
- padding: 4px;
- margin-left: 3em;
-}
-.navigation {
- background: #ffeeee;
- border: solid 1px #ffaaaa;
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
-.navigation a {
- color: #770000;
-}
-.navigation a:visited {
- color: #550000;
-}
-.navigation .title {
- font-size: 200%;
-}</style>
+<title>Using keys manager for signatures/encryption.: XML Security Library Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="XML Security Library Reference Manual">
+<link rel="up" href="xmlsec-notes-keysmngr.html" title="Keys manager.">
+<link rel="prev" href="xmlsec-notes-simple-keys-store.html" title="Simple keys store.">
+<link rel="next" href="xmlsec-notes-keys-mngr-verify-decrypt.html" title="Using keys manager for verification/decryption.">
+<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
<style type="text/css">
table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
width: 20em;
@@ -100,34 +73,38 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
</table>
</td>
<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent">
-<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td><a accesskey="p" href="xmlsec-notes-simple-keys-store.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="xmlsec-notes-keysmngr.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<th width="100%" align="center">XML Security Library Reference Manual</th>
+<td><a accesskey="u" href="xmlsec-notes-keysmngr.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="xmlsec-notes-simple-keys-store.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="xmlsec-notes-keys-mngr-verify-decrypt.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
-<br clear="all"><div class="SECT1">
-<h1 class="SECT1"><a name="XMLSEC-NOTES-KEYS-MANAGER-SIGN-ENC">Using keys manager for signatures/encryption.</a></h1>
+<div class="sect1">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="xmlsec-notes-keys-manager-sign-enc"></a>Using keys manager for signatures/encryption.</h2></div></div></div>
<p>Instead of specifiying signature or encryption key in the
- corresponding context object (<code class="STRUCTFIELD">signKey</code>
- member of <a href="xmlsec-xmldsig.html#XMLSECDSIGCTX">xmlSecDSigCtx</a>
- structure or <code class="STRUCTFIELD">encKey</code> member of
- <a href="xmlsec-xmlenc.html#XMLSECENCCTX">xmlSecEncCtx</a> structure),
+ corresponding context object (<em class="structfield"><code>signKey</code></em>
+ member of <a class="link" href="xmlsec-xmldsig.html#xmlSecDSigCtx" title="struct xmlSecDSigCtx">xmlSecDSigCtx</a>
+ structure or <em class="structfield"><code>encKey</code></em> member of
+ <a class="link" href="xmlsec-xmlenc.html#xmlSecEncCtx" title="struct xmlSecEncCtx">xmlSecEncCtx</a> structure),
the application can use keys manager to select the
signature or encryption key. This is especialy useful
when you are encrypting or signing something with a session key
which is by itself should be encrypted. The key for the
session key encryption in the
- <a href="http://www.w3.org/TR/xmlenc-core/#sec-EncryptedKey" target="_top"><EncryptedKey/></a>
+ <a class="ulink" href="" target="_top"><EncryptedKey/></a>
node could be selected using
- <a href="http://www.w3.org/TR/xmldsig-core/#sec-KeyName" target="_top"><dsig:KeyName/></a>
+ <a class="ulink" href="" target="_top"><dsig:KeyName/></a>
node in the template.
</p>
-<p> </p>
-<div class="EXAMPLE">
-<a name="AEN378"></a><p><b>Example 2. Encrypting file using a session key and a permanent key from keys manager.</b></p>
-<pre class="PROGRAMLISTING">/**
+<p>
+ </p>
+<div class="example">
+<a name="id-1.2.10.4.3.1"></a><p class="title"><b>Example 17. Encrypting file using a session key and a permanent key from keys manager.</b></p>
+<div class="example-contents">
+<pre class="programlisting">
+/**
* load_rsa_keys:
* @key_file: the key filename.
*
@@ -318,13 +295,14 @@ done:
}
</pre>
-<p><a href="xmlsec-encrypt-with-session-key.html#XMLSEC-EXAMPLE-ENCRYPT3">Full program listing</a></p>
+<p><a class="link" href="xmlsec-encrypt-with-session-key.html#xmlsec-example-encrypt3" title="encrypt3.c">Full program listing</a></p>
</div>
- </div>
-<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td align="left"><a accesskey="p" href="xmlsec-notes-simple-keys-store.html"><b><<< Simple keys store.</b></a></td>
-<td align="right"><a accesskey="n" href="xmlsec-notes-keys-mngr-verify-decrypt.html"><b>Using keys manager for verification/decryption. >>></b></a></td>
-</tr></table>
+</div>
+<p><br class="example-break">
+ </p>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
</td></tr></table></td>
</tr></table></body>
</html>
diff --git a/docs/api/xmlsec-notes-keys-mngr-verify-decrypt.html b/docs/api/xmlsec-notes-keys-mngr-verify-decrypt.html
index 6c64c90..8033921 100644
--- a/docs/api/xmlsec-notes-keys-mngr-verify-decrypt.html
+++ b/docs/api/xmlsec-notes-keys-mngr-verify-decrypt.html
@@ -1,41 +1,14 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Using keys manager for verification/decryption.</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79">
-<link rel="HOME" title="XML Security Library Reference Manual" href="index.html">
-<link rel="UP" title="Keys manager." href="xmlsec-notes-keysmngr.html">
-<link rel="PREVIOUS" title="Using keys manager for signatures/encryption." href="xmlsec-notes-keys-manager-sign-enc.html">
-<link rel="NEXT" title="Implementing a custom keys store." href="xmlsec-notes-custom-keys-store.html">
-<style type="text/css">.synopsis, .classsynopsis {
- background: #eeeeee;
- border: solid 1px #aaaaaa;
- padding: 0.5em;
-}
-.programlisting {
- background: #eeeeff;
- border: solid 1px #aaaaff;
- padding: 0.5em;
-}
-.variablelist {
- padding: 4px;
- margin-left: 3em;
-}
-.navigation {
- background: #ffeeee;
- border: solid 1px #ffaaaa;
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
-.navigation a {
- color: #770000;
-}
-.navigation a:visited {
- color: #550000;
-}
-.navigation .title {
- font-size: 200%;
-}</style>
+<title>Using keys manager for verification/decryption.: XML Security Library Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="XML Security Library Reference Manual">
+<link rel="up" href="xmlsec-notes-keysmngr.html" title="Keys manager.">
+<link rel="prev" href="xmlsec-notes-keys-manager-sign-enc.html" title="Using keys manager for signatures/encryption.">
+<link rel="next" href="xmlsec-notes-custom-keys-store.html" title="Implementing a custom keys store.">
+<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
<style type="text/css">
table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
width: 20em;
@@ -100,28 +73,32 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
</table>
</td>
<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent">
-<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td><a accesskey="p" href="xmlsec-notes-keys-manager-sign-enc.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="xmlsec-notes-keysmngr.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<th width="100%" align="center">XML Security Library Reference Manual</th>
+<td><a accesskey="u" href="xmlsec-notes-keysmngr.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="xmlsec-notes-keys-manager-sign-enc.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="xmlsec-notes-custom-keys-store.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
-<br clear="all"><div class="SECT1">
-<h1 class="SECT1"><a name="XMLSEC-NOTES-KEYS-MNGR-VERIFY-DECRYPT">Using keys manager for verification/decryption.</a></h1>
+<div class="sect1">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="xmlsec-notes-keys-mngr-verify-decrypt"></a>Using keys manager for verification/decryption.</h2></div></div></div>
<p>If more than one key could be used for signature or encryption,
- then using <code class="STRUCTFIELD">signKey</code> member of
- <a href="xmlsec-xmldsig.html#XMLSECDSIGCTX">xmlSecDSigCtx</a> structure or
- <code class="STRUCTFIELD">encKey</code> member of
- <a href="xmlsec-xmlenc.html#XMLSECENCCTX">xmlSecEncCtx</a> structure
+ then using <em class="structfield"><code>signKey</code></em> member of
+ <a class="link" href="xmlsec-xmldsig.html#xmlSecDSigCtx" title="struct xmlSecDSigCtx">xmlSecDSigCtx</a> structure or
+ <em class="structfield"><code>encKey</code></em> member of
+ <a class="link" href="xmlsec-xmlenc.html#xmlSecEncCtx" title="struct xmlSecEncCtx">xmlSecEncCtx</a> structure
is not possible. Instead, the application should load known keys in
the keys manager and use <dsig:KeyName/> element to specify
the key name.
</p>
-<p> </p>
-<div class="EXAMPLE">
-<a name="AEN391"></a><p><b>Example 3. Initializing keys manager and loading DES keys from binary files.</b></p>
-<pre class="PROGRAMLISTING">/**
+<p>
+ </p>
+<div class="example">
+<a name="id-1.2.10.5.3.1"></a><p class="title"><b>Example 18. Initializing keys manager and loading DES keys from binary files.</b></p>
+<div class="example-contents">
+<pre class="programlisting">
+/**
* load_des_keys:
* @files: the list of filenames.
* @files_size: the number of filenames in #files.
@@ -190,13 +167,14 @@ load_des_keys(char** files, int files_size) {
return(mngr);
}
</pre>
-<p><a href="xmlsec-decrypt-with-keys-mngr.html#XMLSEC-EXAMPLE-DECRYPT2">Full program listing</a></p>
+<p><a class="link" href="xmlsec-decrypt-with-keys-mngr.html#xmlsec-example-decrypt2" title="decrypt2.c">Full program listing</a></p>
</div>
- </div>
-<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td align="left"><a accesskey="p" href="xmlsec-notes-keys-manager-sign-enc.html"><b><<< Using keys manager for signatures/encryption.</b></a></td>
-<td align="right"><a accesskey="n" href="xmlsec-notes-custom-keys-store.html"><b>Implementing a custom keys store. >>></b></a></td>
-</tr></table>
+</div>
+<p><br class="example-break">
+ </p>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
</td></tr></table></td>
</tr></table></body>
</html>
diff --git a/docs/api/xmlsec-notes-keys.html b/docs/api/xmlsec-notes-keys.html
index 5f543f1..d42253f 100644
--- a/docs/api/xmlsec-notes-keys.html
+++ b/docs/api/xmlsec-notes-keys.html
@@ -1,41 +1,14 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Keys.</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79">
-<link rel="HOME" title="XML Security Library Reference Manual" href="index.html">
-<link rel="UP" title="XML Security Library Tutorial" href="xmlsec-notes.html">
-<link rel="PREVIOUS" title="Decrypting an encrypted document" href="xmlsec-notes-decrypt.html">
-<link rel="NEXT" title="Keys manager." href="xmlsec-notes-keysmngr.html">
-<style type="text/css">.synopsis, .classsynopsis {
- background: #eeeeee;
- border: solid 1px #aaaaaa;
- padding: 0.5em;
-}
-.programlisting {
- background: #eeeeff;
- border: solid 1px #aaaaff;
- padding: 0.5em;
-}
-.variablelist {
- padding: 4px;
- margin-left: 3em;
-}
-.navigation {
- background: #ffeeee;
- border: solid 1px #ffaaaa;
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
-.navigation a {
- color: #770000;
-}
-.navigation a:visited {
- color: #550000;
-}
-.navigation .title {
- font-size: 200%;
-}</style>
+<title>Keys.: XML Security Library Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="XML Security Library Reference Manual">
+<link rel="up" href="xmlsec-notes.html" title="Part I. XML Security Library Tutorial">
+<link rel="prev" href="xmlsec-notes-decrypt.html" title="Decrypting an encrypted document">
+<link rel="next" href="xmlsec-notes-keysmngr.html" title="Keys manager.">
+<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
<style type="text/css">
table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
width: 20em;
@@ -100,18 +73,18 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
</table>
</td>
<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent">
-<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td><a accesskey="p" href="xmlsec-notes-decrypt.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="xmlsec-notes.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<th width="100%" align="center">XML Security Library Reference Manual</th>
+<td><a accesskey="u" href="xmlsec-notes.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="xmlsec-notes-decrypt.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="xmlsec-notes-keysmngr.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
-<div class="CHAPTER">
-<h1>
-<a name="XMLSEC-NOTES-KEYS"></a>Keys.</h1>
+<div class="chapter">
+<div class="titlepage"><div><div><h2 class="title">
+<a name="xmlsec-notes-keys"></a>Keys.</h2></div></div></div>
<p>A key in XML Security Library is a representation of the
- <a href="http://www.w3.org/TR/xmldsig-core/#sec-KeyInfo" target="_top"><dsig:KeyInfo/></a>
+ <a class="ulink" href="" target="_top"><dsig:KeyInfo/></a>
element and consist of several key data objects.
The "value" key data usually contains raw key material (or handlers to
key material) required to execute particular crypto transform. Other
@@ -122,22 +95,20 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
have a DSA key "value" and two key data objects for X509 certificate
and PGP key data.
</p>
-<div class="FIGURE">
-<a name="AEN342"></a><p><b>Figure 1. The key structure.</b></p>
-<p><img src="images/key.png" align="CENTER"></p>
+<div class="figure">
+<a name="id-1.2.9.3"></a><p class="title"><b>Figure 6. The key structure.</b></p>
+<div class="figure-contents"><div align="center"><img src="images/key.png" align="middle" alt="The key structure."></div></div>
</div>
-<p>XML Security Library has several "invisible" key data classes.
+<br class="figure-break"><p>XML Security Library has several "invisible" key data classes.
These classes never show up in the keys data list of a key but are used for
- <a href="http://www.w3.org/TR/xmldsig-core/#sec-KeyInfo" target="_top"><dsig:KeyInfo/></a>
- children processing (<a href="http://www.w3.org/TR/xmldsig-core/#sec-KeyName" target="_top"><dsig:KeyName/></a>,
+ <a class="ulink" href="" target="_top"><dsig:KeyInfo/></a>
+ children processing (<a class="ulink" href="" target="_top"><dsig:KeyName/></a>,
<enc:EncryptedKey/>, ...). As with transforms, application might
add any new key data objects or replace the default ones.
</p>
</div>
-<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td align="left"><a accesskey="p" href="xmlsec-notes-decrypt.html"><b><<< Decrypting an encrypted document</b></a></td>
-<td align="right"><a accesskey="n" href="xmlsec-notes-keysmngr.html"><b>Keys manager. >>></b></a></td>
-</tr></table>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
</td></tr></table></td>
</tr></table></body>
</html>
diff --git a/docs/api/xmlsec-notes-keysmngr.html b/docs/api/xmlsec-notes-keysmngr.html
index ec5969e..cf64483 100644
--- a/docs/api/xmlsec-notes-keysmngr.html
+++ b/docs/api/xmlsec-notes-keysmngr.html
@@ -1,41 +1,14 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Keys manager.</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79">
-<link rel="HOME" title="XML Security Library Reference Manual" href="index.html">
-<link rel="UP" title="XML Security Library Tutorial" href="xmlsec-notes.html">
-<link rel="PREVIOUS" title="Keys." href="xmlsec-notes-keys.html">
-<link rel="NEXT" title="Simple keys store." href="xmlsec-notes-simple-keys-store.html">
-<style type="text/css">.synopsis, .classsynopsis {
- background: #eeeeee;
- border: solid 1px #aaaaaa;
- padding: 0.5em;
-}
-.programlisting {
- background: #eeeeff;
- border: solid 1px #aaaaff;
- padding: 0.5em;
-}
-.variablelist {
- padding: 4px;
- margin-left: 3em;
-}
-.navigation {
- background: #ffeeee;
- border: solid 1px #ffaaaa;
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
-.navigation a {
- color: #770000;
-}
-.navigation a:visited {
- color: #550000;
-}
-.navigation .title {
- font-size: 200%;
-}</style>
+<title>Keys manager.: XML Security Library Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="XML Security Library Reference Manual">
+<link rel="up" href="xmlsec-notes.html" title="Part I. XML Security Library Tutorial">
+<link rel="prev" href="xmlsec-notes-keys.html" title="Keys.">
+<link rel="next" href="xmlsec-notes-simple-keys-store.html" title="Simple keys store.">
+<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
<style type="text/css">
table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
width: 20em;
@@ -100,26 +73,26 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
</table>
</td>
<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent">
-<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td><a accesskey="p" href="xmlsec-notes-keys.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="xmlsec-notes.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<th width="100%" align="center">XML Security Library Reference Manual</th>
+<td><a accesskey="u" href="xmlsec-notes.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="xmlsec-notes-keys.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="xmlsec-notes-simple-keys-store.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
-<div class="CHAPTER">
-<h1>
-<a name="XMLSEC-NOTES-KEYSMNGR"></a>Keys manager.</h1>
-<div class="TOC"><dl>
-<dt><b>Table of Contents</b></dt>
-<dt><a href="xmlsec-notes-keysmngr.html#XMLSEC-NOTES-KEYSMNGR-OVERVIEW">Overview.</a></dt>
-<dt><a href="xmlsec-notes-simple-keys-store.html">Simple keys store.</a></dt>
-<dt><a href="xmlsec-notes-keys-manager-sign-enc.html">Using keys manager for signatures/encryption.</a></dt>
-<dt><a href="xmlsec-notes-keys-mngr-verify-decrypt.html">Using keys manager for verification/decryption.</a></dt>
-<dt><a href="xmlsec-notes-custom-keys-store.html">Implementing a custom keys store.</a></dt>
+<div class="chapter">
+<div class="titlepage"><div><div><h2 class="title">
+<a name="xmlsec-notes-keysmngr"></a>Keys manager.</h2></div></div></div>
+<div class="toc"><dl class="toc">
+<dt><span class="sect1"><a href="xmlsec-notes-keysmngr.html#xmlsec-notes-keysmngr-overview">Overview.</a></span></dt>
+<dt><span class="sect1"><a href="xmlsec-notes-simple-keys-store.html">Simple keys store.</a></span></dt>
+<dt><span class="sect1"><a href="xmlsec-notes-keys-manager-sign-enc.html">Using keys manager for signatures/encryption.</a></span></dt>
+<dt><span class="sect1"><a href="xmlsec-notes-keys-mngr-verify-decrypt.html">Using keys manager for verification/decryption.</a></span></dt>
+<dt><span class="sect1"><a href="xmlsec-notes-custom-keys-store.html">Implementing a custom keys store.</a></span></dt>
</dl></div>
-<br clear="all"><div class="SECT1">
-<h1 class="SECT1"><a name="XMLSEC-NOTES-KEYSMNGR-OVERVIEW">Overview.</a></h1>
+<div class="sect1">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="xmlsec-notes-keysmngr-overview"></a>Overview.</h2></div></div></div>
<p>Processing some of the key data objects require additional
information which is global across the application (or in the
particular area of the application). For example, X509 certificates
@@ -128,15 +101,15 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
for key data processing in a a collection of key data stores called
"keys manager".
</p>
-<div class="FIGURE">
-<a name="AEN353"></a><p><b>Figure 1. The keys manager structure.</b></p>
-<p><img src="images/keysmngr.png" align="CENTER"></p>
+<div class="figure">
+<a name="id-1.2.10.2.3"></a><p class="title"><b>Figure 7. The keys manager structure.</b></p>
+<div class="figure-contents"><div align="center"><img src="images/keysmngr.png" align="middle" alt="The keys manager structure."></div></div>
</div>
-<p>Keys manager has a special "keys store" which lists the keys
+<br class="figure-break"><p>Keys manager has a special "keys store" which lists the keys
known to the application. This "keys store" is used by XML Security
Library to lookup keys by name, type and crypto algorithm (for example,
during
- <a href="http://www.w3.org/TR/xmldsig-core/#sec-KeyName" target="_top"><dsig:KeyName/></a>
+ <a class="ulink" href="" target="_top"><dsig:KeyName/></a>
processing). The XML Security Library
provides default simple "flat list" based implementation of a default keys
store. The application can replace it with any other keys store
@@ -154,10 +127,8 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
</p>
</div>
</div>
-<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td align="left"><a accesskey="p" href="xmlsec-notes-keys.html"><b><<< Keys.</b></a></td>
-<td align="right"><a accesskey="n" href="xmlsec-notes-simple-keys-store.html"><b>Simple keys store. >>></b></a></td>
-</tr></table>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
</td></tr></table></td>
</tr></table></body>
</html>
diff --git a/docs/api/xmlsec-notes-new-crypto-functions.html b/docs/api/xmlsec-notes-new-crypto-functions.html
index 170f5b6..228577f 100644
--- a/docs/api/xmlsec-notes-new-crypto-functions.html
+++ b/docs/api/xmlsec-notes-new-crypto-functions.html
@@ -1,41 +1,14 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>xmlSecCryptoApp* functions.</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79">
-<link rel="HOME" title="XML Security Library Reference Manual" href="index.html">
-<link rel="UP" title="Adding support for new cryptographic library." href="xmlsec-notes-new-crypto.html">
-<link rel="PREVIOUS" title="Creating a framework from the skeleton." href="xmlsec-notes-new-crypto-skeleton.html">
-<link rel="NEXT" title="Klasses and objects." href="xmlsec-notes-new-crypto-klasses.html">
-<style type="text/css">.synopsis, .classsynopsis {
- background: #eeeeee;
- border: solid 1px #aaaaaa;
- padding: 0.5em;
-}
-.programlisting {
- background: #eeeeff;
- border: solid 1px #aaaaff;
- padding: 0.5em;
-}
-.variablelist {
- padding: 4px;
- margin-left: 3em;
-}
-.navigation {
- background: #ffeeee;
- border: solid 1px #ffaaaa;
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
-.navigation a {
- color: #770000;
-}
-.navigation a:visited {
- color: #550000;
-}
-.navigation .title {
- font-size: 200%;
-}</style>
+<title>xmlSecCryptoApp* functions.: XML Security Library Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="XML Security Library Reference Manual">
+<link rel="up" href="xmlsec-notes-new-crypto.html" title="Adding support for new cryptographic library.">
+<link rel="prev" href="xmlsec-notes-new-crypto-skeleton.html" title="Creating a framework from the skeleton.">
+<link rel="next" href="xmlsec-notes-new-crypto-klasses.html" title="Klasses and objects.">
+<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
<style type="text/css">
table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
width: 20em;
@@ -100,16 +73,18 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
</table>
</td>
<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent">
-<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td><a accesskey="p" href="xmlsec-notes-new-crypto-skeleton.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="xmlsec-notes-new-crypto.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<th width="100%" align="center">XML Security Library Reference Manual</th>
+<td><a accesskey="u" href="xmlsec-notes-new-crypto.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="xmlsec-notes-new-crypto-skeleton.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="xmlsec-notes-new-crypto-klasses.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
-<br clear="all"><div class="SECT1">
-<h1 class="SECT1"><a name="XMLSEC-NOTES-NEW-CRYPTO-FUNCTIONS">xmlSecCryptoApp* functions.</a></h1>
-<p> The XML Security Library allows application to load multiple
+<div class="sect1">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="xmlsec-notes-new-crypto-functions"></a>xmlSecCryptoApp* functions.</h2></div></div></div>
+<p>
+ The XML Security Library allows application to load multiple
"xmlsec-<crypto> libraries. To prevent symbol conflicts,
all "xmlsec-mycrypto" library names MUST start with "xmlSecMyCrypto".
However, in some applications (for example, the xmlsec command line
@@ -119,7 +94,8 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
include files do the magic by mapping "xmlSecMyCrypto*" to
"xmlSecCrypto*" names using "XMLSEC_CRYPTO_*" defines.
</p>
-<p> In order to build xmlsec command line utility, the
+<p>
+ In order to build xmlsec command line utility, the
"xmlsec-<crypto>" library must implement several functions.
The stubs for all these functions are provided in the "skeleton"
we've created. While these functions are not required to be
@@ -127,14 +103,17 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
doing so (if possible) to simplify testing (thru xmlsec command line
utility) and application development.
</p>
-<p> In adition to xmlSecCryptoApp* functions, the xmlsec-<crypto>
+<p>
+ In adition to xmlSecCryptoApp* functions, the xmlsec-<crypto>
library MUST implement following xmlSecCrypto* functions:
</p>
-<div class="TABLE">
-<a name="AEN540"></a><p><b>Table 1. xmlSecCrypto* functions.</b></p>
-<table border="1" class="CALSTABLE">
+<div class="table">
+<a name="id-1.2.14.4.4.1"></a><p class="title"><b>Table 1. xmlSecCrypto* functions.</b></p>
+<div class="table-contents"><table class="table" summary="xmlSecCrypto* functions." border="1">
+<colgroup>
<col>
<col>
+</colgroup>
<tbody>
<tr>
<td>xmlSecCryptoInit()</td>
@@ -162,13 +141,13 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
</td>
</tr>
</tbody>
-</table>
+</table></div>
</div>
- </div>
-<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td align="left"><a accesskey="p" href="xmlsec-notes-new-crypto-skeleton.html"><b><<< Creating a framework from the skeleton.</b></a></td>
-<td align="right"><a accesskey="n" href="xmlsec-notes-new-crypto-klasses.html"><b>Klasses and objects. >>></b></a></td>
-</tr></table>
+<p><br class="table-break">
+ </p>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
</td></tr></table></td>
</tr></table></body>
</html>
diff --git a/docs/api/xmlsec-notes-new-crypto-key-stores.html b/docs/api/xmlsec-notes-new-crypto-key-stores.html
index af2c5f0..fee3c18 100644
--- a/docs/api/xmlsec-notes-new-crypto-key-stores.html
+++ b/docs/api/xmlsec-notes-new-crypto-key-stores.html
@@ -59,6 +59,52 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
color: initial;
}
</style>
+<style type="text/css">
+table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
+ width: 20em;
+}
+.synopsis, .classsynopsis {
+ background: #eeeeee;
+ border: solid 1px #aaaaaa;
+}
+.programlisting {
+ background: #eeeeee;
+ border: solid 1px #000000;
+}
+.navigation {
+ background: #eeeeee;
+ border: solid 1px #000000;
+}
+.navigation a {
+ color: initial;
+}
+.navigation a:visited {
+ color: initial;
+}
+</style>
+<style type="text/css">
+table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
+ width: 20em;
+}
+.synopsis, .classsynopsis {
+ background: #eeeeee;
+ border: solid 1px #aaaaaa;
+}
+.programlisting {
+ background: #eeeeee;
+ border: solid 1px #000000;
+}
+.navigation {
+ background: #eeeeee;
+ border: solid 1px #000000;
+}
+.navigation a {
+ color: initial;
+}
+.navigation a:visited {
+ color: initial;
+}
+</style>
</head>
<body><table width="100%" valign="top"><tr valign="top">
<td valign="top" align="left" width="210">
diff --git a/docs/api/xmlsec-notes-new-crypto-keys.html b/docs/api/xmlsec-notes-new-crypto-keys.html
index 2ab33bc..1adade2 100644
--- a/docs/api/xmlsec-notes-new-crypto-keys.html
+++ b/docs/api/xmlsec-notes-new-crypto-keys.html
@@ -1,41 +1,14 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Keys data and keys data stores.</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79">
-<link rel="HOME" title="XML Security Library Reference Manual" href="index.html">
-<link rel="UP" title="Adding support for new cryptographic library." href="xmlsec-notes-new-crypto.html">
-<link rel="PREVIOUS" title="Cryptographic transforms." href="xmlsec-notes-new-crypto-transforms.html">
-<link rel="NEXT" title="Default keys manager." href="xmlsec-notes-new-crypto-simple-keys-mngr.html">
-<style type="text/css">.synopsis, .classsynopsis {
- background: #eeeeee;
- border: solid 1px #aaaaaa;
- padding: 0.5em;
-}
-.programlisting {
- background: #eeeeff;
- border: solid 1px #aaaaff;
- padding: 0.5em;
-}
-.variablelist {
- padding: 4px;
- margin-left: 3em;
-}
-.navigation {
- background: #ffeeee;
- border: solid 1px #ffaaaa;
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
-.navigation a {
- color: #770000;
-}
-.navigation a:visited {
- color: #550000;
-}
-.navigation .title {
- font-size: 200%;
-}</style>
+<title>Keys data and keys data stores.: XML Security Library Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="XML Security Library Reference Manual">
+<link rel="up" href="xmlsec-notes-new-crypto.html" title="Adding support for new cryptographic library.">
+<link rel="prev" href="xmlsec-notes-new-crypto-transforms.html" title="Cryptographic transforms.">
+<link rel="next" href="xmlsec-notes-new-crypto-simple-keys-mngr.html" title="Default keys manager.">
+<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
<style type="text/css">
table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
width: 20em;
@@ -100,27 +73,27 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
</table>
</td>
<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent">
-<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td><a accesskey="p" href="xmlsec-notes-new-crypto-transforms.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="xmlsec-notes-new-crypto.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<th width="100%" align="center">XML Security Library Reference Manual</th>
+<td><a accesskey="u" href="xmlsec-notes-new-crypto.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="xmlsec-notes-new-crypto-transforms.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="xmlsec-notes-new-crypto-simple-keys-mngr.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
-<br clear="all"><div class="SECT1">
-<h1 class="SECT1"><a name="XMLSEC-NOTES-NEW-CRYPTO-KEYS">Keys data and keys data stores.</a></h1>
-<p> There are two key data types: key value data (for example, AES, DES, DSA,
+<div class="sect1">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="xmlsec-notes-new-crypto-keys"></a>Keys data and keys data stores.</h2></div></div></div>
+<p>
+ There are two key data types: key value data (for example, AES, DES, DSA,
HMAC or RSA key data) and others (for example, key name, X509 or PGP data).
The key data implementation should implement at least one of
- <a href="xmlsec-keysdata.html#XMLSECKEYDATAXMLREADMETHOD">xmlRead</a>
- or <a href="xmlsec-keysdata.html#XMLSECKEYDATABINREADMETHOD">binRead</a> methods.
+ <a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataXmlReadMethod" title="xmlSecKeyDataXmlReadMethod ()">xmlRead</a>
+ or <a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataBinReadMethod" title="xmlSecKeyDataBinReadMethod ()">binRead</a> methods.
</p>
<p>TODO</p>
</div>
-<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td align="left"><a accesskey="p" href="xmlsec-notes-new-crypto-transforms.html"><b><<< Cryptographic transforms.</b></a></td>
-<td align="right"><a accesskey="n" href="xmlsec-notes-new-crypto-simple-keys-mngr.html"><b>Default keys manager. >>></b></a></td>
-</tr></table>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
</td></tr></table></td>
</tr></table></body>
</html>
diff --git a/docs/api/xmlsec-notes-new-crypto-klasses.html b/docs/api/xmlsec-notes-new-crypto-klasses.html
index 9c0e7f8..e9d496f 100644
--- a/docs/api/xmlsec-notes-new-crypto-klasses.html
+++ b/docs/api/xmlsec-notes-new-crypto-klasses.html
@@ -1,41 +1,14 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Klasses and objects.</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79">
-<link rel="HOME" title="XML Security Library Reference Manual" href="index.html">
-<link rel="UP" title="Adding support for new cryptographic library." href="xmlsec-notes-new-crypto.html">
-<link rel="PREVIOUS" title="xmlSecCryptoApp* functions." href="xmlsec-notes-new-crypto-functions.html">
-<link rel="NEXT" title="Cryptographic transforms." href="xmlsec-notes-new-crypto-transforms.html">
-<style type="text/css">.synopsis, .classsynopsis {
- background: #eeeeee;
- border: solid 1px #aaaaaa;
- padding: 0.5em;
-}
-.programlisting {
- background: #eeeeff;
- border: solid 1px #aaaaff;
- padding: 0.5em;
-}
-.variablelist {
- padding: 4px;
- margin-left: 3em;
-}
-.navigation {
- background: #ffeeee;
- border: solid 1px #ffaaaa;
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
-.navigation a {
- color: #770000;
-}
-.navigation a:visited {
- color: #550000;
-}
-.navigation .title {
- font-size: 200%;
-}</style>
+<title>Klasses and objects.: XML Security Library Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="XML Security Library Reference Manual">
+<link rel="up" href="xmlsec-notes-new-crypto.html" title="Adding support for new cryptographic library.">
+<link rel="prev" href="xmlsec-notes-new-crypto-functions.html" title="xmlSecCryptoApp* functions.">
+<link rel="next" href="xmlsec-notes-new-crypto-transforms.html" title="Cryptographic transforms.">
+<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
<style type="text/css">
table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
width: 20em;
@@ -100,19 +73,20 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
</table>
</td>
<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent">
-<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td><a accesskey="p" href="xmlsec-notes-new-crypto-functions.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="xmlsec-notes-new-crypto.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<th width="100%" align="center">XML Security Library Reference Manual</th>
+<td><a accesskey="u" href="xmlsec-notes-new-crypto.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="xmlsec-notes-new-crypto-functions.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="xmlsec-notes-new-crypto-transforms.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
-<br clear="all"><div class="SECT1">
-<h1 class="SECT1"><a name="XMLSEC-NOTES-NEW-CRYPTO-KLASSES">Klasses and objects.</a></h1>
+<div class="sect1">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="xmlsec-notes-new-crypto-klasses"></a>Klasses and objects.</h2></div></div></div>
<p>The XML Security Library is written in C but it uses some OOP techniques:
the objects in the library have "klasses" and there is "klasses" inheritance.
- (see <a href="xmlsec-signature-klasses.html">signature</a> and
- <a href="xmlsec-encryption-klasses.html">encryption</a> klasses
+ (see <a class="link" href="xmlsec-signature-klasses.html" title="APPENDIX A. XML Security Library Signature Klasses.">signature</a> and
+ <a class="link" href="xmlsec-encryption-klasses.html" title="APPENDIX B. XML Security Library Encryption Klasses.">encryption</a> klasses
diagrams). The "klass" is different from C++ "class" (btw, this is
one of the reasons why it is spelled differently). The idea of "klasses"
used in XML Security Library are close to one in the GLIB/GTK/GNOME
@@ -121,16 +95,16 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
</p>
<p>XML Security Library "klass" includes three main parts:
</p>
-<p></p>
-<ul>
-<li>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
<p>"Klass" declaration structure that defines "klass" interfaces
and global constant data (for example, the human-readable name of
the "klass").
</p>
-<div class="EXAMPLE">
-<a name="AEN562"></a><p><b>Example 6. Base transform "klass" and its child XPath transform "klass" structure.</b></p>
-<pre class="PROGRAMLISTING">struct _xmlSecTransformKlass {
+<div class="example">
+<a name="id-1.2.14.5.3.1.1.1.1"></a><p class="title"><b>Example 30. Base transform "klass" and its child XPath transform "klass" structure.</b></p>
+<div class="example-contents"><pre class="programlisting">
+struct _xmlSecTransformKlass {
/* data */
size_t klassSize;
size_t objSize;
@@ -166,17 +140,20 @@ static xmlSecTransformKlass xmlSecTransformXPathKlass = {
...
};
- </pre>
+ </pre></div>
</div>
- </li>
-<li>
+<p><br class="example-break">
+ </p>
+</li>
+<li class="listitem">
<p>"Klass" id which is simply a pointer to the "klass"
declaration strucutre. "Klass" id is used to bind "klass" objects
to the "klass" declaration and to pass "klass" strucutre to functions.
</p>
-<div class="EXAMPLE">
-<a name="AEN567"></a><p><b>Example 7. Base transform "klass" id declaration and its child XPath transform "klass" id implementation.</b></p>
-<pre class="PROGRAMLISTING">typedef const struct _xmlSecTransformKlass xmlSecTransformKlass, *xmlSecTransformId;
+<div class="example">
+<a name="id-1.2.14.5.3.1.2.1.1"></a><p class="title"><b>Example 31. Base transform "klass" id declaration and its child XPath transform "klass" id implementation.</b></p>
+<div class="example-contents"><pre class="programlisting">
+typedef const struct _xmlSecTransformKlass xmlSecTransformKlass, *xmlSecTransformId;
...
@@ -188,17 +165,20 @@ xmlSecTransformId
xmlSecTransformXPathGetKlass(void) {
return(&xmlSecTransformXPathKlass);
}
- </pre>
+ </pre></div>
</div>
- </li>
-<li>
+<p><br class="example-break">
+ </p>
+</li>
+<li class="listitem">
<p>"Klass" object structure that contains object specific
data. The child object specific data are placed after the parent "klass"
object data.
</p>
-<div class="EXAMPLE">
-<a name="AEN572"></a><p><b>Example 8. Base transform object strucutre and its child XPath transform object.</b></p>
-<pre class="PROGRAMLISTING">struct _xmlSecTransform {
+<div class="example">
+<a name="id-1.2.14.5.3.1.3.1.1"></a><p class="title"><b>Example 32. Base transform object strucutre and its child XPath transform object.</b></p>
+<div class="example-contents"><pre class="programlisting">
+struct _xmlSecTransform {
xmlSecTransformId id;
xmlSecTransformOperation operation;
xmlSecTransformStatus status;
@@ -226,15 +206,17 @@ xmlSecTransformXPathGetKlass(void) {
((xmlSecTransformCheckSize((transform), xmlSecXPathTransformSize)) ? \
(xmlSecPtrListPtr)(((unsigned char*)(transform)) + sizeof(xmlSecTransform)) : \
(xmlSecPtrListPtr)NULL)
- </pre>
+ </pre></div>
</div>
- </li>
-</ul>
- </div>
-<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td align="left"><a accesskey="p" href="xmlsec-notes-new-crypto-functions.html"><b><<< xmlSecCryptoApp* functions.</b></a></td>
-<td align="right"><a accesskey="n" href="xmlsec-notes-new-crypto-transforms.html"><b>Cryptographic transforms. >>></b></a></td>
-</tr></table>
+<p><br class="example-break">
+ </p>
+</li>
+</ul></div>
+<p>
+ </p>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
</td></tr></table></td>
</tr></table></body>
</html>
diff --git a/docs/api/xmlsec-notes-new-crypto-sharing-results.html b/docs/api/xmlsec-notes-new-crypto-sharing-results.html
index e39d41e..c4dc194 100644
--- a/docs/api/xmlsec-notes-new-crypto-sharing-results.html
+++ b/docs/api/xmlsec-notes-new-crypto-sharing-results.html
@@ -1,41 +1,14 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Sharing the results.</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79">
-<link rel="HOME" title="XML Security Library Reference Manual" href="index.html">
-<link rel="UP" title="Adding support for new cryptographic library." href="xmlsec-notes-new-crypto.html">
-<link rel="PREVIOUS" title="Default keys manager." href="xmlsec-notes-new-crypto-simple-keys-mngr.html">
-<link rel="NEXT" title="Examples." href="xmlsec-examples.html">
-<style type="text/css">.synopsis, .classsynopsis {
- background: #eeeeee;
- border: solid 1px #aaaaaa;
- padding: 0.5em;
-}
-.programlisting {
- background: #eeeeff;
- border: solid 1px #aaaaff;
- padding: 0.5em;
-}
-.variablelist {
- padding: 4px;
- margin-left: 3em;
-}
-.navigation {
- background: #ffeeee;
- border: solid 1px #ffaaaa;
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
-.navigation a {
- color: #770000;
-}
-.navigation a:visited {
- color: #550000;
-}
-.navigation .title {
- font-size: 200%;
-}</style>
+<title>Sharing the results.: XML Security Library Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="XML Security Library Reference Manual">
+<link rel="up" href="xmlsec-notes-new-crypto.html" title="Adding support for new cryptographic library.">
+<link rel="prev" href="xmlsec-notes-new-crypto-simple-keys-mngr.html" title="Default keys manager.">
+<link rel="next" href="xmlsec-examples.html" title="Examples.">
+<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
<style type="text/css">
table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
width: 20em;
@@ -100,15 +73,16 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
</table>
</td>
<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent">
-<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td><a accesskey="p" href="xmlsec-notes-new-crypto-simple-keys-mngr.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="xmlsec-notes-new-crypto.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<th width="100%" align="center">XML Security Library Reference Manual</th>
+<td><a accesskey="u" href="xmlsec-notes-new-crypto.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="xmlsec-notes-new-crypto-simple-keys-mngr.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="xmlsec-examples.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
-<br clear="all"><div class="SECT1">
-<h1 class="SECT1"><a name="XMLSEC-NOTES-NEW-CRYPTO-SHARING-RESULTS">Sharing the results.</a></h1>
+<div class="sect1">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="xmlsec-notes-new-crypto-sharing-results"></a>Sharing the results.</h2></div></div></div>
<p>If you implemented support for new cryptographic library
(or extended an existing one) and both you and your company/university/...
are willing to share the code I would be glad to add your work
@@ -117,14 +91,12 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
for your work.
</p>
<p>The best way to submit your enchancements is to send a pull request
- through <a href="https://github.com/lsh123/xmlsec" target="_top">GitHub</a>.
+ through <a class="ulink" href="" target="_top">GitHub</a>.
I will try to review and merge your pool request as soon as possible.
</p>
</div>
-<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td align="left"><a accesskey="p" href="xmlsec-notes-new-crypto-simple-keys-mngr.html"><b><<< Default keys manager.</b></a></td>
-<td align="right"><a accesskey="n" href="xmlsec-examples.html"><b>Examples. >>></b></a></td>
-</tr></table>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
</td></tr></table></td>
</tr></table></body>
</html>
diff --git a/docs/api/xmlsec-notes-new-crypto-simple-keys-mngr.html b/docs/api/xmlsec-notes-new-crypto-simple-keys-mngr.html
index 2a2371e..233da68 100644
--- a/docs/api/xmlsec-notes-new-crypto-simple-keys-mngr.html
+++ b/docs/api/xmlsec-notes-new-crypto-simple-keys-mngr.html
@@ -1,41 +1,14 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Default keys manager.</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79">
-<link rel="HOME" title="XML Security Library Reference Manual" href="index.html">
-<link rel="UP" title="Adding support for new cryptographic library." href="xmlsec-notes-new-crypto.html">
-<link rel="PREVIOUS" title="Keys data and keys data stores." href="xmlsec-notes-new-crypto-keys.html">
-<link rel="NEXT" title="Sharing the results." href="xmlsec-notes-new-crypto-sharing-results.html">
-<style type="text/css">.synopsis, .classsynopsis {
- background: #eeeeee;
- border: solid 1px #aaaaaa;
- padding: 0.5em;
-}
-.programlisting {
- background: #eeeeff;
- border: solid 1px #aaaaff;
- padding: 0.5em;
-}
-.variablelist {
- padding: 4px;
- margin-left: 3em;
-}
-.navigation {
- background: #ffeeee;
- border: solid 1px #ffaaaa;
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
-.navigation a {
- color: #770000;
-}
-.navigation a:visited {
- color: #550000;
-}
-.navigation .title {
- font-size: 200%;
-}</style>
+<title>Default keys manager.: XML Security Library Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="XML Security Library Reference Manual">
+<link rel="up" href="xmlsec-notes-new-crypto.html" title="Adding support for new cryptographic library.">
+<link rel="prev" href="xmlsec-notes-new-crypto-keys.html" title="Keys data and keys data stores.">
+<link rel="next" href="xmlsec-notes-new-crypto-sharing-results.html" title="Sharing the results.">
+<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
<style type="text/css">
table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
width: 20em;
@@ -100,26 +73,25 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
</table>
</td>
<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent">
-<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td><a accesskey="p" href="xmlsec-notes-new-crypto-keys.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="xmlsec-notes-new-crypto.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<th width="100%" align="center">XML Security Library Reference Manual</th>
+<td><a accesskey="u" href="xmlsec-notes-new-crypto.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="xmlsec-notes-new-crypto-keys.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="xmlsec-notes-new-crypto-sharing-results.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
-<br clear="all"><div class="SECT1">
-<h1 class="SECT1"><a name="XMLSEC-NOTES-NEW-CRYPTO-SIMPLE-KEYS-MNGR">Default keys manager.</a></h1>
+<div class="sect1">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="xmlsec-notes-new-crypto-simple-keys-mngr"></a>Default keys manager.</h2></div></div></div>
<p>Any "xmlsec-<crypto>" library implementation must provide
a default keys store. The XML Security Library has a built-in flat
- list based <a href="xmlsec-keysmngr.html#XMLSECSIMPLEKEYSSTOREID">simple keys
+ list based <a class="link" href="xmlsec-keysmngr.html#xmlSecSimpleKeysStoreId" title="xmlSecSimpleKeysStoreId">simple keys
store</a> which could be used if cryptographic library does not
have one itself.
</p>
</div>
-<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td align="left"><a accesskey="p" href="xmlsec-notes-new-crypto-keys.html"><b><<< Keys data and keys data stores.</b></a></td>
-<td align="right"><a accesskey="n" href="xmlsec-notes-new-crypto-sharing-results.html"><b>Sharing the results. >>></b></a></td>
-</tr></table>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
</td></tr></table></td>
</tr></table></body>
</html>
diff --git a/docs/api/xmlsec-notes-new-crypto-skeleton.html b/docs/api/xmlsec-notes-new-crypto-skeleton.html
index e9cda62..c33cfc9 100644
--- a/docs/api/xmlsec-notes-new-crypto-skeleton.html
+++ b/docs/api/xmlsec-notes-new-crypto-skeleton.html
@@ -1,41 +1,14 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Creating a framework from the skeleton.</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79">
-<link rel="HOME" title="XML Security Library Reference Manual" href="index.html">
-<link rel="UP" title="Adding support for new cryptographic library." href="xmlsec-notes-new-crypto.html">
-<link rel="PREVIOUS" title="Adding support for new cryptographic library." href="xmlsec-notes-new-crypto.html">
-<link rel="NEXT" title="xmlSecCryptoApp* functions." href="xmlsec-notes-new-crypto-functions.html">
-<style type="text/css">.synopsis, .classsynopsis {
- background: #eeeeee;
- border: solid 1px #aaaaaa;
- padding: 0.5em;
-}
-.programlisting {
- background: #eeeeff;
- border: solid 1px #aaaaff;
- padding: 0.5em;
-}
-.variablelist {
- padding: 4px;
- margin-left: 3em;
-}
-.navigation {
- background: #ffeeee;
- border: solid 1px #ffaaaa;
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
-.navigation a {
- color: #770000;
-}
-.navigation a:visited {
- color: #550000;
-}
-.navigation .title {
- font-size: 200%;
-}</style>
+<title>Creating a framework from the skeleton.: XML Security Library Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="XML Security Library Reference Manual">
+<link rel="up" href="xmlsec-notes-new-crypto.html" title="Adding support for new cryptographic library.">
+<link rel="prev" href="xmlsec-notes-new-crypto.html" title="Adding support for new cryptographic library.">
+<link rel="next" href="xmlsec-notes-new-crypto-functions.html" title="xmlSecCryptoApp* functions.">
+<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
<style type="text/css">
table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
width: 20em;
@@ -100,55 +73,66 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
</table>
</td>
<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent">
-<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td><a accesskey="p" href="xmlsec-notes-new-crypto.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="xmlsec-notes-new-crypto.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<th width="100%" align="center">XML Security Library Reference Manual</th>
+<td><a accesskey="u" href="xmlsec-notes-new-crypto.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="xmlsec-notes-new-crypto.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="xmlsec-notes-new-crypto-functions.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
-<br clear="all"><div class="SECT1">
-<h1 class="SECT1"><a name="XMLSEC-NOTES-NEW-CRYPTO-SKELETON">Creating a framework from the skeleton.</a></h1>
-<p> The XML Security Library contains a "skeleton" for creating new
+<div class="sect1">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="xmlsec-notes-new-crypto-skeleton"></a>Creating a framework from the skeleton.</h2></div></div></div>
+<p>
+ The XML Security Library contains a "skeleton" for creating new
"xmlsec-<crypto>" libraries. In order to create "xmlsec-mycrypto"
library framework, do the following (this example assumes that you
are using *nix system, adjust the commands if you are using something else):
</p>
-<p></p>
-<ul>
-<li>
-<p> Copy src/skeleton and include/xmlsec/skeleton folders to src/mycrypto and
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+<p>
+ Copy src/skeleton and include/xmlsec/skeleton folders to src/mycrypto and
include/xmlsec/mycrypto folders:
</p>
-<div class="EXAMPLE">
-<a name="AEN512"></a><p><b>Example 1. Coping skeleton folders:</b></p>
-<pre class="PROGRAMLISTING">cp -r src/skeleton src/mycrypto
+<div class="example">
+<a name="id-1.2.14.3.2.1.1.1.1"></a><p class="title"><b>Example 25. Coping skeleton folders:</b></p>
+<div class="example-contents"><pre class="programlisting">
+cp -r src/skeleton src/mycrypto
cp -r include/xmlsec/skeleton include/xmlsec/mycrypto
- </pre>
-</div>
- </li>
-<li>
-<p> Replace "skeleton" with "mycrypto" in the copied files (note that there
+ </pre></div>
+</div>
+<p><br class="example-break">
+ </p>
+</li>
+<li class="listitem">
+<p>
+ Replace "skeleton" with "mycrypto" in the copied files (note that there
are different possible cases here):
</p>
-<div class="EXAMPLE">
-<a name="AEN517"></a><p><b>Example 2. Replacing "skeleton" with "mycrypto".</b></p>
-<pre class="PROGRAMLISTING">for i in `ls include/xmlsec/mycrypto/* src/mycrypto/*`; do
+<div class="example">
+<a name="id-1.2.14.3.2.1.2.1.1"></a><p class="title"><b>Example 26. Replacing "skeleton" with "mycrypto".</b></p>
+<div class="example-contents"><pre class="programlisting">
+for i in `ls include/xmlsec/mycrypto/* src/mycrypto/*`; do
echo Processing $i ..;
sed 's/skeleton/mycrypto/g' $i | \
sed 's/SKELETON/MYCRYPTO/g' | \
sed 's/Skeleton/MyCrypto/g' > $i.tmp;
mv $i.tmp $i;
done
- </pre>
+ </pre></div>
</div>
- </li>
-<li>
-<p> Add "xmlsec-mycrypto" library to the "include/xmlsec/crypto.h" file:
+<p><br class="example-break">
+ </p>
+</li>
+<li class="listitem">
+<p>
+ Add "xmlsec-mycrypto" library to the "include/xmlsec/crypto.h" file:
</p>
-<div class="EXAMPLE">
-<a name="AEN522"></a><p><b>Example 3. Modifying include/xmlsec/crypto.h file.</b></p>
-<pre class="PROGRAMLISTING">...
+<div class="example">
+<a name="id-1.2.14.3.2.1.3.1.1"></a><p class="title"><b>Example 27. Modifying include/xmlsec/crypto.h file.</b></p>
+<div class="example-contents"><pre class="programlisting">
+...
#ifdef XMLSEC_CRYPTO_MYCRYPTO
#include <xmlsec/mycrypto/app.h>
#include <xmlsec/mycrypto/crypto.h>
@@ -157,17 +141,21 @@ done
...
#endif /* XMLSEC_CRYPTO_MYCRYPTO */
...
- </pre>
+ </pre></div>
</div>
- </li>
-<li>
-<p> Add "xmlsec-crypto" library to the configure.in file (for *nix systems;
+<p><br class="example-break">
+ </p>
+</li>
+<li class="listitem">
+<p>
+ Add "xmlsec-crypto" library to the configure.in file (for *nix systems;
for Windows you need to modify win32/confgure.js and win32/Makefile.msvc
files, see win32/README.txt for details):
</p>
-<div class="EXAMPLE">
-<a name="AEN527"></a><p><b>Example 4. Modifying configure.in file.</b></p>
-<pre class="PROGRAMLISTING">dnl ==========================================================================
+<div class="example">
+<a name="id-1.2.14.3.2.1.4.1.1"></a><p class="title"><b>Example 28. Modifying configure.in file.</b></p>
+<div class="example-contents"><pre class="programlisting">
+dnl ==========================================================================
dnl See if we can find MyCrypto
dnl ==========================================================================
XMLSEC_MYCRYPTO_DEFINES=""
@@ -240,30 +228,35 @@ include/xmlsec/mycrypto/Makefile
src/mycrypto/Makefile
...
])
- </pre>
+ </pre></div>
</div>
- </li>
-<li><p>Modify "xmlsec.spec.in" file to create "xmlsec-mycrypto"
+<p><br class="example-break">
+ </p>
+</li>
+<li class="listitem"><p>Modify "xmlsec.spec.in" file to create "xmlsec-mycrypto"
RPM (if necessary).
</p></li>
-</ul>
+</ul></div>
+<p>
By now you should be able to sucessfuly compile XML Security Library
with MyCrypto library (we disable all other libraries to make sure
that xmlsec command line utility is linked against xmlsec-mycrypto
library):
- <div class="EXAMPLE">
-<a name="AEN532"></a><p><b>Example 5. Compiling the results.</b></p>
-<pre class="PROGRAMLISTING">./autogen.sh --without-openssl --without-nss --without-gnutls --without-gcrypt \
+ </p>
+<div class="example">
+<a name="id-1.2.14.3.2.2"></a><p class="title"><b>Example 29. Compiling the results.</b></p>
+<div class="example-contents"><pre class="programlisting">
+./autogen.sh --without-openssl --without-nss --without-gnutls --without-gcrypt \
--with-mycrypto=$HOME --disable-tmpl-tests
make
- </pre>
+ </pre></div>
</div>
- </div>
-<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td align="left"><a accesskey="p" href="xmlsec-notes-new-crypto.html"><b><<< Adding support for new cryptographic library.</b></a></td>
-<td align="right"><a accesskey="n" href="xmlsec-notes-new-crypto-functions.html"><b>xmlSecCryptoApp* functions. >>></b></a></td>
-</tr></table>
+<p><br class="example-break">
+ </p>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
</td></tr></table></td>
</tr></table></body>
</html>
diff --git a/docs/api/xmlsec-notes-new-crypto-transforms.html b/docs/api/xmlsec-notes-new-crypto-transforms.html
index 1209013..ab9da62 100644
--- a/docs/api/xmlsec-notes-new-crypto-transforms.html
+++ b/docs/api/xmlsec-notes-new-crypto-transforms.html
@@ -1,41 +1,14 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Cryptographic transforms.</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79">
-<link rel="HOME" title="XML Security Library Reference Manual" href="index.html">
-<link rel="UP" title="Adding support for new cryptographic library." href="xmlsec-notes-new-crypto.html">
-<link rel="PREVIOUS" title="Klasses and objects." href="xmlsec-notes-new-crypto-klasses.html">
-<link rel="NEXT" title="Keys data and keys data stores." href="xmlsec-notes-new-crypto-keys.html">
-<style type="text/css">.synopsis, .classsynopsis {
- background: #eeeeee;
- border: solid 1px #aaaaaa;
- padding: 0.5em;
-}
-.programlisting {
- background: #eeeeff;
- border: solid 1px #aaaaff;
- padding: 0.5em;
-}
-.variablelist {
- padding: 4px;
- margin-left: 3em;
-}
-.navigation {
- background: #ffeeee;
- border: solid 1px #ffaaaa;
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
-.navigation a {
- color: #770000;
-}
-.navigation a:visited {
- color: #550000;
-}
-.navigation .title {
- font-size: 200%;
-}</style>
+<title>Cryptographic transforms.: XML Security Library Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="XML Security Library Reference Manual">
+<link rel="up" href="xmlsec-notes-new-crypto.html" title="Adding support for new cryptographic library.">
+<link rel="prev" href="xmlsec-notes-new-crypto-klasses.html" title="Klasses and objects.">
+<link rel="next" href="xmlsec-notes-new-crypto-keys.html" title="Keys data and keys data stores.">
+<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
<style type="text/css">
table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
width: 20em;
@@ -100,52 +73,55 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
</table>
</td>
<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent">
-<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td><a accesskey="p" href="xmlsec-notes-new-crypto-klasses.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="xmlsec-notes-new-crypto.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<th width="100%" align="center">XML Security Library Reference Manual</th>
+<td><a accesskey="u" href="xmlsec-notes-new-crypto.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="xmlsec-notes-new-crypto-klasses.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="xmlsec-notes-new-crypto-keys.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
-<br clear="all"><div class="SECT1">
-<h1 class="SECT1"><a name="XMLSEC-NOTES-NEW-CRYPTO-TRANSFORMS">Cryptographic transforms.</a></h1>
+<div class="sect1">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="xmlsec-notes-new-crypto-transforms"></a>Cryptographic transforms.</h2></div></div></div>
<p>The cryptographic transforms (digests, signatures and encryption)
implementation is the main goal of "xmlsec-<crypto>" library.
- Most of the cryptographic <a href="xmlsec-notes-transforms.html">transforms</a>
- use default <code class="STRUCTFIELD">pushBin</code> and <code class="STRUCTFIELD">popBin</code>
- methods and provide custom <a href="xmlsec-transforms.html#XMLSECTRANSFORMEXECUTEMETHOD">execute</a> method.
- The binary transform <a href="xmlsec-transforms.html#XMLSECTRANSFORMEXECUTEMETHOD">execute</a> method
+ Most of the cryptographic <a class="link" href="xmlsec-notes-transforms.html" title="Transforms and transforms chain.">transforms</a>
+ use default <em class="structfield"><code>pushBin</code></em> and <em class="structfield"><code>popBin</code></em>
+ methods and provide custom <a class="link" href="xmlsec-transforms.html#xmlSecTransformExecuteMethod" title="xmlSecTransformExecuteMethod ()">execute</a> method.
+ The binary transform <a class="link" href="xmlsec-transforms.html#xmlSecTransformExecuteMethod" title="xmlSecTransformExecuteMethod ()">execute</a> method
processes data from the input buffer
- <code class="STRUCTFIELD">inBuf</code> and pushes results to
- <code class="STRUCTFIELD">outBuf</code>. The transform should try to
- consume and remove data from <code class="STRUCTFIELD">inBuf</code> buffer
+ <em class="structfield"><code>inBuf</code></em> and pushes results to
+ <em class="structfield"><code>outBuf</code></em>. The transform should try to
+ consume and remove data from <em class="structfield"><code>inBuf</code></em> buffer
as soon as the data became available. However, it might happen
that current data size in the input buffer is not enough (for example,
RSA-PKCS1 algorithm requires that all the data are available in
one buffer). In this case, transform might keep the data in the
input buffer till the next call to
- <a href="xmlsec-transforms.html#XMLSECTRANSFORMEXECUTEMETHOD">execute</a>
+ <a class="link" href="xmlsec-transforms.html#xmlSecTransformExecuteMethod" title="xmlSecTransformExecuteMethod ()">execute</a>
method. The "last" parameter of the
- <a href="xmlsec-transforms.html#XMLSECTRANSFORMEXECUTEMETHOD">execute</a>
+ <a class="link" href="xmlsec-transforms.html#xmlSecTransformExecuteMethod" title="xmlSecTransformExecuteMethod ()">execute</a>
indicates that transform MUST process all the data in the input buffer
and return as much as possible in the output buffer. The
- <a href="xmlsec-transforms.html#XMLSECTRANSFORMEXECUTEMETHOD">execute</a> method
+ <a class="link" href="xmlsec-transforms.html#xmlSecTransformExecuteMethod" title="xmlSecTransformExecuteMethod ()">execute</a> method
might be called multiple times with non-zero "last" parameter until
the transforms returns nothing
in the output buffer. In addition, the transform implementation is
- responsible for managing the transform <code class="STRUCTFIELD">status</code>
+ responsible for managing the transform <em class="structfield"><code>status</code></em>
variable.
</p>
-<div class="TABLE">
-<a name="AEN590"></a><p><b>Table 2. Typical transform status managing.</b></p>
-<table border="1" class="CALSTABLE">
+<div class="table">
+<a name="id-1.2.14.6.2.13"></a><p class="title"><b>Table 2. Typical transform status managing.</b></p>
+<div class="table-contents"><table class="table" summary="Typical transform status managing." border="1">
+<colgroup>
<col>
<col>
+</colgroup>
<tbody>
<tr>
<td>xmlSecTransformStatusNone</td>
<td>Transform initializes itself (for example, cipher transform
- generates or reads IV) and sets <code class="STRUCTFIELD">status</code>
+ generates or reads IV) and sets <em class="structfield"><code>status</code></em>
variable to xmlSecTransformStatusWorking.</td>
</tr>
<tr>
@@ -153,7 +129,7 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
<td>Transform process the next (if "last" parameter is zero) or
last block of data (if "last" parameter is non-zero).
When transform returns all the data, it sets the
- <code class="STRUCTFIELD">status</code> variable to
+ <em class="structfield"><code>status</code></em> variable to
xmlSecTransformStatusFinished.</td>
</tr>
<tr>
@@ -162,32 +138,32 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
processing.</td>
</tr>
</tbody>
-</table>
-</div>
- <p>In adition to <a href="xmlsec-transforms.html#XMLSECTRANSFORMEXECUTEMETHOD">execute</a>
+</table></div>
+</div>
+<p><br class="table-break">
+ </p>
+<p>In adition to <a class="link" href="xmlsec-transforms.html#xmlSecTransformExecuteMethod" title="xmlSecTransformExecuteMethod ()">execute</a>
methods, signature, hmac or digest transforms
- MUST implement <a href="xmlsec-transforms.html#XMLSECTRANSFORMVERIFYMETHOD">verify</a> method.
- The <a href="xmlsec-transforms.html#XMLSECTRANSFORMVERIFYMETHOD">verify</a> method is called
+ MUST implement <a class="link" href="xmlsec-transforms.html#xmlSecTransformVerifyMethod" title="xmlSecTransformVerifyMethod ()">verify</a> method.
+ The <a class="link" href="xmlsec-transforms.html#xmlSecTransformVerifyMethod" title="xmlSecTransformVerifyMethod ()">verify</a> method is called
after transform execution is finished. The
- <a href="xmlsec-transforms.html#XMLSECTRANSFORMVERIFYMETHOD">verify</a> method implementation
- must set the "status" member to <a href="xmlsec-transforms.html#XMLSECTRANSFORMSTATUSOK">xmlSecTransformStatusOk</a>
+ <a class="link" href="xmlsec-transforms.html#xmlSecTransformVerifyMethod" title="xmlSecTransformVerifyMethod ()">verify</a> method implementation
+ must set the "status" member to <a class="link" href="xmlsec-transforms.html#xmlSecTransformStatusOk">xmlSecTransformStatusOk</a>
if signature, hmac or digest is successfuly verified or to
- <a href="xmlsec-transforms.html#XMLSECTRANSFORMSTATUSFAIL">xmlSecTransformStatusFail</a>
+ <a class="link" href="xmlsec-transforms.html#xmlSecTransformStatusFail">xmlSecTransformStatusFail</a>
otherwise.
</p>
<p>The transforms that require a key (signature or encryption
transforms, for example) MUST imlpement
- <a href="xmlsec-transforms.html#XMLSECTRANSFORMSETKEYREQUIREMENTSMETHOD">setKeyReq</a>
- (prepares the <a href="xmlsec-keys.html#XMLSECKEYREQ">key requirements</a>
+ <a class="link" href="xmlsec-transforms.html#xmlSecTransformSetKeyRequirementsMethod" title="xmlSecTransformSetKeyRequirementsMethod ()">setKeyReq</a>
+ (prepares the <a class="link" href="xmlsec-keys.html#xmlSecKeyReq" title="struct xmlSecKeyReq">key requirements</a>
for key search) and
- <a href="xmlsec-transforms.html#XMLSECTRANSFORMSETKEYMETHOD">setKey</a>
+ <a class="link" href="xmlsec-transforms.html#xmlSecTransformSetKeyMethod" title="xmlSecTransformSetKeyMethod ()">setKey</a>
(sets the key in the transform) methods.
</p>
</div>
-<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td align="left"><a accesskey="p" href="xmlsec-notes-new-crypto-klasses.html"><b><<< Klasses and objects.</b></a></td>
-<td align="right"><a accesskey="n" href="xmlsec-notes-new-crypto-keys.html"><b>Keys data and keys data stores. >>></b></a></td>
-</tr></table>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
</td></tr></table></td>
</tr></table></body>
</html>
diff --git a/docs/api/xmlsec-notes-new-crypto.html b/docs/api/xmlsec-notes-new-crypto.html
index c1b49d9..542b8b0 100644
--- a/docs/api/xmlsec-notes-new-crypto.html
+++ b/docs/api/xmlsec-notes-new-crypto.html
@@ -1,41 +1,14 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Adding support for new cryptographic library.</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79">
-<link rel="HOME" title="XML Security Library Reference Manual" href="index.html">
-<link rel="UP" title="XML Security Library Tutorial" href="xmlsec-notes.html">
-<link rel="PREVIOUS" title="Using context objects." href="xmlsec-notes-contexts.html">
-<link rel="NEXT" title="Creating a framework from the skeleton." href="xmlsec-notes-new-crypto-skeleton.html">
-<style type="text/css">.synopsis, .classsynopsis {
- background: #eeeeee;
- border: solid 1px #aaaaaa;
- padding: 0.5em;
-}
-.programlisting {
- background: #eeeeff;
- border: solid 1px #aaaaff;
- padding: 0.5em;
-}
-.variablelist {
- padding: 4px;
- margin-left: 3em;
-}
-.navigation {
- background: #ffeeee;
- border: solid 1px #ffaaaa;
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
-.navigation a {
- color: #770000;
-}
-.navigation a:visited {
- color: #550000;
-}
-.navigation .title {
- font-size: 200%;
-}</style>
+<title>Adding support for new cryptographic library.: XML Security Library Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="XML Security Library Reference Manual">
+<link rel="up" href="xmlsec-notes.html" title="Part I. XML Security Library Tutorial">
+<link rel="prev" href="xmlsec-notes-contexts.html" title="Using context objects.">
+<link rel="next" href="xmlsec-notes-new-crypto-skeleton.html" title="Creating a framework from the skeleton.">
+<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
<style type="text/css">
table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
width: 20em;
@@ -100,29 +73,29 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
</table>
</td>
<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent">
-<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td><a accesskey="p" href="xmlsec-notes-contexts.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="xmlsec-notes.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<th width="100%" align="center">XML Security Library Reference Manual</th>
+<td><a accesskey="u" href="xmlsec-notes.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="xmlsec-notes-contexts.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="xmlsec-notes-new-crypto-skeleton.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
-<div class="CHAPTER">
-<h1>
-<a name="XMLSEC-NOTES-NEW-CRYPTO"></a>Adding support for new cryptographic library.</h1>
-<div class="TOC"><dl>
-<dt><b>Table of Contents</b></dt>
-<dt><a href="xmlsec-notes-new-crypto.html#XMLSEC-NOTES-NEW-CRYPTO-OVERVIEW">Overview.</a></dt>
-<dt><a href="xmlsec-notes-new-crypto-skeleton.html">Creating a framework from the skeleton.</a></dt>
-<dt><a href="xmlsec-notes-new-crypto-functions.html">xmlSecCryptoApp* functions.</a></dt>
-<dt><a href="xmlsec-notes-new-crypto-klasses.html">Klasses and objects.</a></dt>
-<dt><a href="xmlsec-notes-new-crypto-transforms.html">Cryptographic transforms.</a></dt>
-<dt><a href="xmlsec-notes-new-crypto-keys.html">Keys data and keys data stores.</a></dt>
-<dt><a href="xmlsec-notes-new-crypto-simple-keys-mngr.html">Default keys manager.</a></dt>
-<dt><a href="xmlsec-notes-new-crypto-sharing-results.html">Sharing the results.</a></dt>
+<div class="chapter">
+<div class="titlepage"><div><div><h2 class="title">
+<a name="xmlsec-notes-new-crypto"></a>Adding support for new cryptographic library.</h2></div></div></div>
+<div class="toc"><dl class="toc">
+<dt><span class="sect1"><a href="xmlsec-notes-new-crypto.html#xmlsec-notes-new-crypto-overview">Overview.</a></span></dt>
+<dt><span class="sect1"><a href="xmlsec-notes-new-crypto-skeleton.html">Creating a framework from the skeleton.</a></span></dt>
+<dt><span class="sect1"><a href="xmlsec-notes-new-crypto-functions.html">xmlSecCryptoApp* functions.</a></span></dt>
+<dt><span class="sect1"><a href="xmlsec-notes-new-crypto-klasses.html">Klasses and objects.</a></span></dt>
+<dt><span class="sect1"><a href="xmlsec-notes-new-crypto-transforms.html">Cryptographic transforms.</a></span></dt>
+<dt><span class="sect1"><a href="xmlsec-notes-new-crypto-keys.html">Keys data and keys data stores.</a></span></dt>
+<dt><span class="sect1"><a href="xmlsec-notes-new-crypto-simple-keys-mngr.html">Default keys manager.</a></span></dt>
+<dt><span class="sect1"><a href="xmlsec-notes-new-crypto-sharing-results.html">Sharing the results.</a></span></dt>
</dl></div>
-<br clear="all"><div class="SECT1">
-<h1 class="SECT1"><a name="XMLSEC-NOTES-NEW-CRYPTO-OVERVIEW">Overview.</a></h1>
+<div class="sect1">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="xmlsec-notes-new-crypto-overview"></a>Overview.</h2></div></div></div>
<p>XML Security Library can support practicaly any cryptographic
library. Currently, it has "out-of-the-box" support for OpenSSL,
MSCrypto, NSS, GnuTLS and GCrypt. If your favorite library is not supported yet then
@@ -130,30 +103,33 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
(university, ...) are willing to share the results of your work I would
be happy to add support for new libraries to the main XML Security
Library distribution.</p>
-<p> The XML Security Library
- <a href="xmlsec-notes-structure.html">separates</a>
+<p>
+ The XML Security Library
+ <a class="link" href="xmlsec-notes-structure.html" title="XML Security Library Structure.">separates</a>
the cryptographic library (engine)
specific code in an "xmlsec-<crypto>" library (where "<crypto>" is
"openssl", "mscrypt", "gnutls", "gcrypt", "nss", etc.) which includes following items:
</p>
-<p></p>
-<ul>
-<li><p> xmlSecCryptoApp* functions.
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem"><p>
+ xmlSecCryptoApp* functions.
</p></li>
-<li><p> Cryptographic transforms and keys data implementation.
+<li class="listitem"><p>
+ Cryptographic transforms and keys data implementation.
</p></li>
-<li><p> Keys store support (X509, PGP, etc.).
+<li class="listitem"><p>
+ Keys store support (X509, PGP, etc.).
</p></li>
-</ul>
+</ul></div>
+<p>
In this chapter, we will discuss
a task of creating "xmlsec-mycrypto" library that provides support
for your favorite "MyCrypto" cryptographic library.
- </div>
+ </p>
</div>
-<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td align="left"><a accesskey="p" href="xmlsec-notes-contexts.html"><b><<< Using context objects.</b></a></td>
-<td align="right"><a accesskey="n" href="xmlsec-notes-new-crypto-skeleton.html"><b>Creating a framework from the skeleton. >>></b></a></td>
-</tr></table>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
</td></tr></table></td>
</tr></table></body>
</html>
diff --git a/docs/api/xmlsec-notes-overview.html b/docs/api/xmlsec-notes-overview.html
index dd8ea31..6fe2f48 100644
--- a/docs/api/xmlsec-notes-overview.html
+++ b/docs/api/xmlsec-notes-overview.html
@@ -1,41 +1,14 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Overview.</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79">
-<link rel="HOME" title="XML Security Library Reference Manual" href="index.html">
-<link rel="UP" title="XML Security Library Tutorial" href="xmlsec-notes.html">
-<link rel="PREVIOUS" title="XML Security Library Tutorial" href="xmlsec-notes.html">
-<link rel="NEXT" title="XML Security Library Structure." href="xmlsec-notes-structure.html">
-<style type="text/css">.synopsis, .classsynopsis {
- background: #eeeeee;
- border: solid 1px #aaaaaa;
- padding: 0.5em;
-}
-.programlisting {
- background: #eeeeff;
- border: solid 1px #aaaaff;
- padding: 0.5em;
-}
-.variablelist {
- padding: 4px;
- margin-left: 3em;
-}
-.navigation {
- background: #ffeeee;
- border: solid 1px #ffaaaa;
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
-.navigation a {
- color: #770000;
-}
-.navigation a:visited {
- color: #550000;
-}
-.navigation .title {
- font-size: 200%;
-}</style>
+<title>Overview.: XML Security Library Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="XML Security Library Reference Manual">
+<link rel="up" href="xmlsec-notes.html" title="Part I. XML Security Library Tutorial">
+<link rel="prev" href="xmlsec-notes.html" title="Part I. XML Security Library Tutorial">
+<link rel="next" href="xmlsec-notes-structure.html" title="XML Security Library Structure.">
+<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
<style type="text/css">
table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
width: 20em;
@@ -100,26 +73,24 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
</table>
</td>
<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent">
-<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td><a accesskey="p" href="xmlsec-notes.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="xmlsec-notes.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<th width="100%" align="center">XML Security Library Reference Manual</th>
+<td><a accesskey="u" href="xmlsec-notes.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="xmlsec-notes.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="xmlsec-notes-structure.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
-<div class="CHAPTER">
-<h1>
-<a name="XMLSEC-NOTES-OVERVIEW"></a>Overview.</h1>
+<div class="chapter">
+<div class="titlepage"><div><div><h2 class="title">
+<a name="xmlsec-notes-overview"></a>Overview.</h2></div></div></div>
<p>XML Security Library provides support for XML Digital Signature
and XML Encryption. It is based on LibXML/LibXSLT and can use
practicaly any crypto library (currently there is "out of the box"
support for OpenSSL, MSCrypto, GnuTLS, GCrypt and NSS).
</p>
</div>
-<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td align="left"><a accesskey="p" href="xmlsec-notes.html"><b><<< XML Security Library Tutorial</b></a></td>
-<td align="right"><a accesskey="n" href="xmlsec-notes-structure.html"><b>XML Security Library Structure. >>></b></a></td>
-</tr></table>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
</td></tr></table></td>
</tr></table></body>
</html>
diff --git a/docs/api/xmlsec-notes-sign-encrypt.html b/docs/api/xmlsec-notes-sign-encrypt.html
index 83b3ece..29a01ea 100644
--- a/docs/api/xmlsec-notes-sign-encrypt.html
+++ b/docs/api/xmlsec-notes-sign-encrypt.html
@@ -1,41 +1,14 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Signing and encrypting documents.</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79">
-<link rel="HOME" title="XML Security Library Reference Manual" href="index.html">
-<link rel="UP" title="XML Security Library Tutorial" href="xmlsec-notes.html">
-<link rel="PREVIOUS" title="Initialization and shutdown." href="xmlsec-notes-init-shutdown.html">
-<link rel="NEXT" title="Signing a document." href="xmlsec-notes-sign.html">
-<style type="text/css">.synopsis, .classsynopsis {
- background: #eeeeee;
- border: solid 1px #aaaaaa;
- padding: 0.5em;
-}
-.programlisting {
- background: #eeeeff;
- border: solid 1px #aaaaff;
- padding: 0.5em;
-}
-.variablelist {
- padding: 4px;
- margin-left: 3em;
-}
-.navigation {
- background: #ffeeee;
- border: solid 1px #ffaaaa;
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
-.navigation a {
- color: #770000;
-}
-.navigation a:visited {
- color: #550000;
-}
-.navigation .title {
- font-size: 200%;
-}</style>
+<title>Signing and encrypting documents.: XML Security Library Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="XML Security Library Reference Manual">
+<link rel="up" href="xmlsec-notes.html" title="Part I. XML Security Library Tutorial">
+<link rel="prev" href="xmlsec-notes-init-shutdown.html" title="Initialization and shutdown.">
+<link rel="next" href="xmlsec-notes-sign.html" title="Signing a document.">
+<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
<style type="text/css">
table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
width: 20em;
@@ -100,24 +73,24 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
</table>
</td>
<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent">
-<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td><a accesskey="p" href="xmlsec-notes-init-shutdown.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="xmlsec-notes.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<th width="100%" align="center">XML Security Library Reference Manual</th>
+<td><a accesskey="u" href="xmlsec-notes.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="xmlsec-notes-init-shutdown.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="xmlsec-notes-sign.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
-<div class="CHAPTER">
-<h1>
-<a name="XMLSEC-NOTES-SIGN-ENCRYPT"></a>Signing and encrypting documents.</h1>
-<div class="TOC"><dl>
-<dt><b>Table of Contents</b></dt>
-<dt><a href="xmlsec-notes-sign-encrypt.html#XMLSEC-NOTES-SIGN-ENCRYPT-OVERVIEW">Overview.</a></dt>
-<dt><a href="xmlsec-notes-sign.html">Signing a document.</a></dt>
-<dt><a href="xmlsec-notes-encrypt.html">Encrypting data.</a></dt>
+<div class="chapter">
+<div class="titlepage"><div><div><h2 class="title">
+<a name="xmlsec-notes-sign-encrypt"></a>Signing and encrypting documents.</h2></div></div></div>
+<div class="toc"><dl class="toc">
+<dt><span class="sect1"><a href="xmlsec-notes-sign-encrypt.html#xmlsec-notes-sign-encrypt-overview">Overview.</a></span></dt>
+<dt><span class="sect1"><a href="xmlsec-notes-sign.html">Signing a document.</a></span></dt>
+<dt><span class="sect1"><a href="xmlsec-notes-encrypt.html">Encrypting data.</a></span></dt>
</dl></div>
-<br clear="all"><div class="SECT1">
-<h1 class="SECT1"><a name="XMLSEC-NOTES-SIGN-ENCRYPT-OVERVIEW">Overview.</a></h1>
+<div class="sect1">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="xmlsec-notes-sign-encrypt-overview"></a>Overview.</h2></div></div></div>
<p>XML Security Library performs signature or encryption by processing
input xml or binary data and a template that specifies a signature or
encryption skeleton: the transforms, algorithms, the key selection
@@ -128,16 +101,16 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
the template. Signature or encryption context controls the whole
process and stores the required temporary data.
</p>
-<div class="FIGURE">
-<a name="AEN149"></a><p><b>Figure 1. The signature or encryption processing model.</b></p>
-<p><img src="images/sign-enc-model.png" align="CENTER"></p>
+<div class="figure">
+<a name="id-1.2.6.2.2.1"></a><p class="title"><b>Figure 2. The signature or encryption processing model.</b></p>
+<div class="figure-contents"><div align="center"><img src="images/sign-enc-model.png" align="middle" alt="The signature or encryption processing model."></div></div>
</div>
- </div>
+<p><br class="figure-break">
+ </p>
</div>
-<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td align="left"><a accesskey="p" href="xmlsec-notes-init-shutdown.html"><b><<< Initialization and shutdown.</b></a></td>
-<td align="right"><a accesskey="n" href="xmlsec-notes-sign.html"><b>Signing a document. >>></b></a></td>
-</tr></table>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
</td></tr></table></td>
</tr></table></body>
</html>
diff --git a/docs/api/xmlsec-notes-sign-x509.html b/docs/api/xmlsec-notes-sign-x509.html
index 7a91e2f..2c2ae2e 100644
--- a/docs/api/xmlsec-notes-sign-x509.html
+++ b/docs/api/xmlsec-notes-sign-x509.html
@@ -1,41 +1,14 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Signing data with X509 certificate.</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79">
-<link rel="HOME" title="XML Security Library Reference Manual" href="index.html">
-<link rel="UP" title="Using X509 Certificates." href="xmlsec-notes-x509.html">
-<link rel="PREVIOUS" title="Using X509 Certificates." href="xmlsec-notes-x509.html">
-<link rel="NEXT" title="Verifing document signed with X509 certificates." href="xmlsec-notes-verify-x509.html">
-<style type="text/css">.synopsis, .classsynopsis {
- background: #eeeeee;
- border: solid 1px #aaaaaa;
- padding: 0.5em;
-}
-.programlisting {
- background: #eeeeff;
- border: solid 1px #aaaaff;
- padding: 0.5em;
-}
-.variablelist {
- padding: 4px;
- margin-left: 3em;
-}
-.navigation {
- background: #ffeeee;
- border: solid 1px #ffaaaa;
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
-.navigation a {
- color: #770000;
-}
-.navigation a:visited {
- color: #550000;
-}
-.navigation .title {
- font-size: 200%;
-}</style>
+<title>Signing data with X509 certificate.: XML Security Library Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="XML Security Library Reference Manual">
+<link rel="up" href="xmlsec-notes-x509.html" title="Using X509 Certificates.">
+<link rel="prev" href="xmlsec-notes-x509.html" title="Using X509 Certificates.">
+<link rel="next" href="xmlsec-notes-verify-x509.html" title="Verifing document signed with X509 certificates.">
+<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
<style type="text/css">
table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
width: 20em;
@@ -100,34 +73,41 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
</table>
</td>
<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent">
-<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td><a accesskey="p" href="xmlsec-notes-x509.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="xmlsec-notes-x509.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<th width="100%" align="center">XML Security Library Reference Manual</th>
+<td><a accesskey="u" href="xmlsec-notes-x509.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="xmlsec-notes-x509.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="xmlsec-notes-verify-x509.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
-<br clear="all"><div class="SECT1">
-<h1 class="SECT1"><a name="XMLSEC-NOTES-SIGN-X509">Signing data with X509 certificate.</a></h1>
+<div class="sect1">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="xmlsec-notes-sign-x509"></a>Signing data with X509 certificate.</h2></div></div></div>
<p>To sign a file using X509 certificate,
an application need to associate the certificate (or certificates)
with the private key using one of the following functions:
</p>
-<p></p>
-<ul>
-<li><p> <a href="xmlsec-openssl-app.html#XMLSECOPENSSLAPPKEYCERTLOAD">xmlSecOpenSSLAppKeyCertLoad</a> - loads
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem"><p>
+ <a class="link" href="xmlsec-openssl-app.html#xmlSecOpenSSLAppKeyCertLoad" title="xmlSecOpenSSLAppKeyCertLoad ()">xmlSecOpenSSLAppKeyCertLoad</a> - loads
certificate from a file and adds to the key;
</p></li>
-<li><p> <a href="xmlsec-openssl-app.html#XMLSECOPENSSLAPPPKCS12LOAD">xmlSecOpenSSLAppPkcs12Load</a> -
+<li class="listitem"><p>
+ <a class="link" href="xmlsec-openssl-app.html#xmlSecOpenSSLAppPkcs12Load" title="xmlSecOpenSSLAppPkcs12Load ()">xmlSecOpenSSLAppPkcs12Load</a> -
loads private key and all the certificates associated with it from a PKCS12 file;
</p></li>
-<li><p> <a href="xmlsec-keys.html#XMLSECKEYADOPTDATA">xmlSecKeyAdoptData</a> - low level
+<li class="listitem"><p>
+ <a class="link" href="xmlsec-keys.html#xmlSecKeyAdoptData" title="xmlSecKeyAdoptData ()">xmlSecKeyAdoptData</a> - low level
function to add key data (including X509 key data) to the key.
</p></li>
-</ul>
- <div class="EXAMPLE">
-<a name="AEN423"></a><p><b>Example 1. Loading private key and X509 certificate.</b></p>
-<pre class="PROGRAMLISTING"> /* load private key, assuming that there is not password */
+</ul></div>
+<p>
+ </p>
+<div class="example">
+<a name="id-1.2.11.3.2.2"></a><p class="title"><b>Example 20. Loading private key and X509 certificate.</b></p>
+<div class="example-contents">
+<pre class="programlisting">
+ /* load private key, assuming that there is not password */
key = xmlSecCryptoAppKeyLoad(key_file, xmlSecKeyDataFormatPem, NULL, NULL, NULL);
if(key == NULL) {
fprintf(stderr,"Error: failed to load private pem key from \"%s\"\n", key_file);
@@ -140,17 +120,22 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
goto done;
}
</pre>
-<p><a href="xmlsec-examples-sign-x509.html#XMLSEC-EXAMPLE-SIGN3">Full program listing</a></p>
+<p><a class="link" href="xmlsec-examples-sign-x509.html#xmlsec-example-sign3" title="sign3.c">Full program listing</a></p>
</div>
- <p>Next step is to prepare signature template with <dsig:X509Data/>
+</div>
+<p><br class="example-break">
+ </p>
+<p>Next step is to prepare signature template with <dsig:X509Data/>
child of the <dsig:KeyInfo/> element. When XML Security Library finds
this node in the template, it automaticaly creates <dsig:X509Certificate/>
children of the <dsig:X509Data/> element and writes to result XML document
all the certificates associated with the signature key.
</p>
-<div class="EXAMPLE">
-<a name="AEN429"></a><p><b>Example 2. Dynamicaly creating a signature template for signing document using X509 certificate.</b></p>
-<pre class="PROGRAMLISTING"> /* create signature template for RSA-SHA1 enveloped signature */
+<div class="example">
+<a name="id-1.2.11.3.3.1"></a><p class="title"><b>Example 21. Dynamicaly creating a signature template for signing document using X509 certificate.</b></p>
+<div class="example-contents">
+<pre class="programlisting">
+ /* create signature template for RSA-SHA1 enveloped signature */
signNode = xmlSecTmplSignatureCreate(doc, xmlSecTransformExclC14NId,
xmlSecTransformRsaSha1Id, NULL);
if(signNode == NULL) {
@@ -187,13 +172,14 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
goto done;
}
</pre>
-<p><a href="xmlsec-examples-sign-x509.html#XMLSEC-EXAMPLE-SIGN3">Full program listing</a></p>
+<p><a class="link" href="xmlsec-examples-sign-x509.html#xmlsec-example-sign3" title="sign3.c">Full program listing</a></p>
</div>
- </div>
-<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td align="left"><a accesskey="p" href="xmlsec-notes-x509.html"><b><<< Using X509 Certificates.</b></a></td>
-<td align="right"><a accesskey="n" href="xmlsec-notes-verify-x509.html"><b>Verifing document signed with X509 certificates. >>></b></a></td>
-</tr></table>
+</div>
+<p><br class="example-break">
+ </p>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
</td></tr></table></td>
</tr></table></body>
</html>
diff --git a/docs/api/xmlsec-notes-sign.html b/docs/api/xmlsec-notes-sign.html
index 5b4dac5..09df177 100644
--- a/docs/api/xmlsec-notes-sign.html
+++ b/docs/api/xmlsec-notes-sign.html
@@ -1,41 +1,14 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Signing a document.</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79">
-<link rel="HOME" title="XML Security Library Reference Manual" href="index.html">
-<link rel="UP" title="Signing and encrypting documents." href="xmlsec-notes-sign-encrypt.html">
-<link rel="PREVIOUS" title="Signing and encrypting documents." href="xmlsec-notes-sign-encrypt.html">
-<link rel="NEXT" title="Encrypting data." href="xmlsec-notes-encrypt.html">
-<style type="text/css">.synopsis, .classsynopsis {
- background: #eeeeee;
- border: solid 1px #aaaaaa;
- padding: 0.5em;
-}
-.programlisting {
- background: #eeeeff;
- border: solid 1px #aaaaff;
- padding: 0.5em;
-}
-.variablelist {
- padding: 4px;
- margin-left: 3em;
-}
-.navigation {
- background: #ffeeee;
- border: solid 1px #ffaaaa;
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
-.navigation a {
- color: #770000;
-}
-.navigation a:visited {
- color: #550000;
-}
-.navigation .title {
- font-size: 200%;
-}</style>
+<title>Signing a document.: XML Security Library Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="XML Security Library Reference Manual">
+<link rel="up" href="xmlsec-notes-sign-encrypt.html" title="Signing and encrypting documents.">
+<link rel="prev" href="xmlsec-notes-sign-encrypt.html" title="Signing and encrypting documents.">
+<link rel="next" href="xmlsec-notes-encrypt.html" title="Encrypting data.">
+<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
<style type="text/css">
table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
width: 20em;
@@ -100,50 +73,62 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
</table>
</td>
<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent">
-<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td><a accesskey="p" href="xmlsec-notes-sign-encrypt.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="xmlsec-notes-sign-encrypt.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<th width="100%" align="center">XML Security Library Reference Manual</th>
+<td><a accesskey="u" href="xmlsec-notes-sign-encrypt.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="xmlsec-notes-sign-encrypt.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="xmlsec-notes-encrypt.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
-<br clear="all"><div class="SECT1">
-<h1 class="SECT1"><a name="XMLSEC-NOTES-SIGN">Signing a document.</a></h1>
+<div class="sect1">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="xmlsec-notes-sign"></a>Signing a document.</h2></div></div></div>
<p>The typical signature process includes following steps:
</p>
-<p></p>
-<ul>
-<li><p> Prepare data for signature.
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem"><p>
+ Prepare data for signature.
</p></li>
-<li><p> Create or load signature template and select start
- <a href="http://www.w3.org/TR/xmldsig-core/#sec-Signature" target="_top"><dsig:Signature/></a>
+<li class="listitem"><p>
+ Create or load signature template and select start
+ <a class="ulink" href="" target="_top"><dsig:Signature/></a>
node.
</p></li>
-<li><p> Create signature context <a href="xmlsec-xmldsig.html#XMLSECDSIGCTX">xmlSecDSigCtx</a>
- using <a href="xmlsec-xmldsig.html#XMLSECDSIGCTXCREATE">xmlSecDSigCtxCreate</a> or
- <a href="xmlsec-xmldsig.html#XMLSECDSIGCTXINITIALIZE">xmlSecDSigCtxInitialize</a>
+<li class="listitem"><p>
+ Create signature context <a class="link" href="xmlsec-xmldsig.html#xmlSecDSigCtx" title="struct xmlSecDSigCtx">xmlSecDSigCtx</a>
+ using <a class="link" href="xmlsec-xmldsig.html#xmlSecDSigCtxCreate" title="xmlSecDSigCtxCreate ()">xmlSecDSigCtxCreate</a> or
+ <a class="link" href="xmlsec-xmldsig.html#xmlSecDSigCtxInitialize" title="xmlSecDSigCtxInitialize ()">xmlSecDSigCtxInitialize</a>
functions.
</p></li>
-<li><p> Load signature key in <a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR">keys manager</a>
+<li class="listitem"><p>
+ Load signature key in <a class="link" href="xmlsec-keysmngr.html#xmlSecKeysMngr" title="struct xmlSecKeysMngr">keys manager</a>
or generate a session key and set it in the signature context
- (<code class="STRUCTFIELD">signKey</code> member of
- <a href="xmlsec-xmldsig.html#XMLSECDSIGCTX">xmlSecDSigCtx</a> structure).
+ (<em class="structfield"><code>signKey</code></em> member of
+ <a class="link" href="xmlsec-xmldsig.html#xmlSecDSigCtx" title="struct xmlSecDSigCtx">xmlSecDSigCtx</a> structure).
</p></li>
-<li><p> Sign data by calling <a href="xmlsec-xmldsig.html#XMLSECDSIGCTXSIGN">xmlSecDSigCtxSign</a>
+<li class="listitem"><p>
+ Sign data by calling <a class="link" href="xmlsec-xmldsig.html#xmlSecDSigCtxSign" title="xmlSecDSigCtxSign ()">xmlSecDSigCtxSign</a>
function.
</p></li>
-<li><p> Check returned value and consume signed data.
+<li class="listitem"><p>
+ Check returned value and consume signed data.
</p></li>
-<li><p> Destroy signature context <a href="xmlsec-xmldsig.html#XMLSECDSIGCTX">xmlSecDSigCtx</a>
- using <a href="xmlsec-xmldsig.html#XMLSECDSIGCTXDESTROY">xmlSecDSigCtxDestroy</a> or
- <a href="xmlsec-xmldsig.html#XMLSECDSIGCTXFINALIZE">xmlSecDSigCtxFinalize</a>
+<li class="listitem"><p>
+ Destroy signature context <a class="link" href="xmlsec-xmldsig.html#xmlSecDSigCtx" title="struct xmlSecDSigCtx">xmlSecDSigCtx</a>
+ using <a class="link" href="xmlsec-xmldsig.html#xmlSecDSigCtxDestroy" title="xmlSecDSigCtxDestroy ()">xmlSecDSigCtxDestroy</a> or
+ <a class="link" href="xmlsec-xmldsig.html#xmlSecDSigCtxFinalize" title="xmlSecDSigCtxFinalize ()">xmlSecDSigCtxFinalize</a>
functions.
</p></li>
-</ul>
- <p> </p>
-<div class="EXAMPLE">
-<a name="AEN182"></a><p><b>Example 1. Signing a template.</b></p>
-<pre class="PROGRAMLISTING">/**
+</ul></div>
+<p>
+ </p>
+<p>
+ </p>
+<div class="example">
+<a name="id-1.2.6.3.3.1"></a><p class="title"><b>Example 10. Signing a template.</b></p>
+<div class="example-contents">
+<pre class="programlisting">
+/**
* sign_file:
* @tmpl_file: the signature template file name.
* @key_file: the PEM private key file name.
@@ -220,14 +205,15 @@ done:
return(res);
}
</pre>
-<p><a href="xmlsec-examples-sign-template-file.html#XMLSEC-EXAMPLE-SIGN1">Full program listing</a></p>
-<p><a href="xmlsec-examples-sign-template-file.html#XMLSEC-EXAMPLE-SIGN1-TMPL">Simple signature template file</a></p>
+<p><a class="link" href="xmlsec-examples-sign-template-file.html#xmlsec-example-sign1" title="sign1.c">Full program listing</a></p>
+<p><a class="link" href="xmlsec-examples-sign-template-file.html#xmlsec-example-sign1-tmpl" title="sign1-tmpl.xml">Simple signature template file</a></p>
</div>
- </div>
-<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td align="left"><a accesskey="p" href="xmlsec-notes-sign-encrypt.html"><b><<< Signing and encrypting documents.</b></a></td>
-<td align="right"><a accesskey="n" href="xmlsec-notes-encrypt.html"><b>Encrypting data. >>></b></a></td>
-</tr></table>
+</div>
+<p><br class="example-break">
+ </p>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
</td></tr></table></td>
</tr></table></body>
</html>
diff --git a/docs/api/xmlsec-notes-simple-keys-store.html b/docs/api/xmlsec-notes-simple-keys-store.html
index d66797e..86f01fc 100644
--- a/docs/api/xmlsec-notes-simple-keys-store.html
+++ b/docs/api/xmlsec-notes-simple-keys-store.html
@@ -1,41 +1,14 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Simple keys store.</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79">
-<link rel="HOME" title="XML Security Library Reference Manual" href="index.html">
-<link rel="UP" title="Keys manager." href="xmlsec-notes-keysmngr.html">
-<link rel="PREVIOUS" title="Keys manager." href="xmlsec-notes-keysmngr.html">
-<link rel="NEXT" title="Using keys manager for signatures/encryption." href="xmlsec-notes-keys-manager-sign-enc.html">
-<style type="text/css">.synopsis, .classsynopsis {
- background: #eeeeee;
- border: solid 1px #aaaaaa;
- padding: 0.5em;
-}
-.programlisting {
- background: #eeeeff;
- border: solid 1px #aaaaff;
- padding: 0.5em;
-}
-.variablelist {
- padding: 4px;
- margin-left: 3em;
-}
-.navigation {
- background: #ffeeee;
- border: solid 1px #ffaaaa;
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
-.navigation a {
- color: #770000;
-}
-.navigation a:visited {
- color: #550000;
-}
-.navigation .title {
- font-size: 200%;
-}</style>
+<title>Simple keys store.: XML Security Library Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="XML Security Library Reference Manual">
+<link rel="up" href="xmlsec-notes-keysmngr.html" title="Keys manager.">
+<link rel="prev" href="xmlsec-notes-keysmngr.html" title="Keys manager.">
+<link rel="next" href="xmlsec-notes-keys-manager-sign-enc.html" title="Using keys manager for signatures/encryption.">
+<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
<style type="text/css">
table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
width: 20em;
@@ -100,26 +73,31 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
</table>
</td>
<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent">
-<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td><a accesskey="p" href="xmlsec-notes-keysmngr.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="xmlsec-notes-keysmngr.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<th width="100%" align="center">XML Security Library Reference Manual</th>
+<td><a accesskey="u" href="xmlsec-notes-keysmngr.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="xmlsec-notes-keysmngr.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="xmlsec-notes-keys-manager-sign-enc.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
-<br clear="all"><div class="SECT1">
-<h1 class="SECT1"><a name="XMLSEC-NOTES-SIMPLE-KEYS-STORE">Simple keys store.</a></h1>
-<p> XML Security Library has a built-in simple keys store
+<div class="sect1">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="xmlsec-notes-simple-keys-store"></a>Simple keys store.</h2></div></div></div>
+<p>
+ XML Security Library has a built-in simple keys store
implemented using a keys list. You can use it in your application
if you have a small number of keys. However, this might be not a
best option from performance point of view if you have a lot of keys.
In this case, you probably should implement your own keys store
using an SQL database or some other keys storage.
</p>
-<p> </p>
-<div class="EXAMPLE">
-<a name="AEN363"></a><p><b>Example 1. Initializing keys manager and loading keys from PEM files.</b></p>
-<pre class="PROGRAMLISTING">/**
+<p>
+ </p>
+<div class="example">
+<a name="id-1.2.10.3.3.1"></a><p class="title"><b>Example 16. Initializing keys manager and loading keys from PEM files.</b></p>
+<div class="example-contents">
+<pre class="programlisting">
+/**
* load_keys:
* @files: the list of filenames.
* @files_size: the number of filenames in #files.
@@ -188,13 +166,14 @@ load_keys(char** files, int files_size) {
return(mngr);
}
</pre>
-<p><a href="xmlsec-verify-with-keys-mngr.html#XMLSEC-EXAMPLE-VERIFY2">Full program listing</a></p>
+<p><a class="link" href="xmlsec-verify-with-keys-mngr.html#xmlsec-example-verify2" title="verify2.c">Full program listing</a></p>
</div>
- </div>
-<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td align="left"><a accesskey="p" href="xmlsec-notes-keysmngr.html"><b><<< Keys manager.</b></a></td>
-<td align="right"><a accesskey="n" href="xmlsec-notes-keys-manager-sign-enc.html"><b>Using keys manager for signatures/encryption. >>></b></a></td>
-</tr></table>
+</div>
+<p><br class="example-break">
+ </p>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
</td></tr></table></td>
</tr></table></body>
</html>
diff --git a/docs/api/xmlsec-notes-structure.html b/docs/api/xmlsec-notes-structure.html
index af17a3a..d1eed6b 100644
--- a/docs/api/xmlsec-notes-structure.html
+++ b/docs/api/xmlsec-notes-structure.html
@@ -1,41 +1,14 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>XML Security Library Structure.</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79">
-<link rel="HOME" title="XML Security Library Reference Manual" href="index.html">
-<link rel="UP" title="XML Security Library Tutorial" href="xmlsec-notes.html">
-<link rel="PREVIOUS" title="Overview." href="xmlsec-notes-overview.html">
-<link rel="NEXT" title="Building the application with XML Security Library." href="xmlsec-notes-compiling.html">
-<style type="text/css">.synopsis, .classsynopsis {
- background: #eeeeee;
- border: solid 1px #aaaaaa;
- padding: 0.5em;
-}
-.programlisting {
- background: #eeeeff;
- border: solid 1px #aaaaff;
- padding: 0.5em;
-}
-.variablelist {
- padding: 4px;
- margin-left: 3em;
-}
-.navigation {
- background: #ffeeee;
- border: solid 1px #ffaaaa;
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
-.navigation a {
- color: #770000;
-}
-.navigation a:visited {
- color: #550000;
-}
-.navigation .title {
- font-size: 200%;
-}</style>
+<title>XML Security Library Structure.: XML Security Library Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="XML Security Library Reference Manual">
+<link rel="up" href="xmlsec-notes.html" title="Part I. XML Security Library Tutorial">
+<link rel="prev" href="xmlsec-notes-overview.html" title="Overview.">
+<link rel="next" href="xmlsec-notes-compiling.html" title="Building the application with XML Security Library.">
+<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
<style type="text/css">
table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
width: 20em;
@@ -100,26 +73,28 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
</table>
</td>
<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent">
-<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td><a accesskey="p" href="xmlsec-notes-overview.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="xmlsec-notes.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<th width="100%" align="center">XML Security Library Reference Manual</th>
+<td><a accesskey="u" href="xmlsec-notes.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="xmlsec-notes-overview.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="xmlsec-notes-compiling.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
-<div class="CHAPTER">
-<h1>
-<a name="XMLSEC-NOTES-STRUCTURE"></a>XML Security Library Structure.</h1>
+<div class="chapter">
+<div class="titlepage"><div><div><h2 class="title">
+<a name="xmlsec-notes-structure"></a>XML Security Library Structure.</h2></div></div></div>
<p>In order to provide the an ability to use different crypto engines,
the XML Security Library is splitted in two parts: core library (xmlsec)
and crypto library (xmlsec-openssl, xmlsec-mscrypt, xmlsec-gnutls,
xmlsec-gcrypt, xmlsec-nss, ...).
</p>
-<div class="FIGURE">
-<a name="AEN28"></a><p><b>Figure 1. The library structure and dependencies.</b></p>
-<p><img src="images/structure.png" align="CENTER"></p>
-</div>
- <p>The core library has no dependency on any crypto library and provides
+<div class="figure">
+<a name="id-1.2.3.2.1"></a><p class="title"><b>Figure 1. The library structure and dependencies.</b></p>
+<div class="figure-contents"><div align="center"><img src="images/structure.png" align="middle" alt="The library structure and dependencies."></div></div>
+</div>
+<p><br class="figure-break">
+ </p>
+<p>The core library has no dependency on any crypto library and provides
implementation of all the engines as well as support for all the non
crypto transforms (xml parser, c14n transforms, xpath and xslt
transforms,...). The XML Security Crypto library provides
@@ -129,10 +104,8 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
code might be general enough so switching crypto engine would be
a matter of changing several #include directives.</p>
</div>
-<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td align="left"><a accesskey="p" href="xmlsec-notes-overview.html"><b><<< Overview.</b></a></td>
-<td align="right"><a accesskey="n" href="xmlsec-notes-compiling.html"><b>Building the application with XML Security Library. >>></b></a></td>
-</tr></table>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
</td></tr></table></td>
</tr></table></body>
</html>
diff --git a/docs/api/xmlsec-notes-templates.html b/docs/api/xmlsec-notes-templates.html
index fa495e8..ee5b60c 100644
--- a/docs/api/xmlsec-notes-templates.html
+++ b/docs/api/xmlsec-notes-templates.html
@@ -1,41 +1,14 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Creating dynamic templates.</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79">
-<link rel="HOME" title="XML Security Library Reference Manual" href="index.html">
-<link rel="UP" title="XML Security Library Tutorial" href="xmlsec-notes.html">
-<link rel="PREVIOUS" title="Encrypting data." href="xmlsec-notes-encrypt.html">
-<link rel="NEXT" title="Creating dynamic signature templates." href="xmlsec-notes-dynamic-signature-templates.html">
-<style type="text/css">.synopsis, .classsynopsis {
- background: #eeeeee;
- border: solid 1px #aaaaaa;
- padding: 0.5em;
-}
-.programlisting {
- background: #eeeeff;
- border: solid 1px #aaaaff;
- padding: 0.5em;
-}
-.variablelist {
- padding: 4px;
- margin-left: 3em;
-}
-.navigation {
- background: #ffeeee;
- border: solid 1px #ffaaaa;
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
-.navigation a {
- color: #770000;
-}
-.navigation a:visited {
- color: #550000;
-}
-.navigation .title {
- font-size: 200%;
-}</style>
+<title>Creating dynamic templates.: XML Security Library Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="XML Security Library Reference Manual">
+<link rel="up" href="xmlsec-notes.html" title="Part I. XML Security Library Tutorial">
+<link rel="prev" href="xmlsec-notes-encrypt.html" title="Encrypting data.">
+<link rel="next" href="xmlsec-notes-dynamic-signature-templates.html" title="Creating dynamic signature templates.">
+<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
<style type="text/css">
table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
width: 20em;
@@ -100,24 +73,24 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
</table>
</td>
<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent">
-<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td><a accesskey="p" href="xmlsec-notes-encrypt.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="xmlsec-notes.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<th width="100%" align="center">XML Security Library Reference Manual</th>
+<td><a accesskey="u" href="xmlsec-notes.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="xmlsec-notes-encrypt.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="xmlsec-notes-dynamic-signature-templates.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
-<div class="CHAPTER">
-<h1>
-<a name="XMLSEC-NOTES-TEMPLATES"></a>Creating dynamic templates.</h1>
-<div class="TOC"><dl>
-<dt><b>Table of Contents</b></dt>
-<dt><a href="xmlsec-notes-templates.html#XMLSEC-NOTES-TEMPLATES-OVERVIEW">Overview.</a></dt>
-<dt><a href="xmlsec-notes-dynamic-signature-templates.html">Creating dynamic signature templates.</a></dt>
-<dt><a href="xmlsec-notes-dynamic-encryption-templates.html">Creating dynamic encryption templates.</a></dt>
+<div class="chapter">
+<div class="titlepage"><div><div><h2 class="title">
+<a name="xmlsec-notes-templates"></a>Creating dynamic templates.</h2></div></div></div>
+<div class="toc"><dl class="toc">
+<dt><span class="sect1"><a href="xmlsec-notes-templates.html#xmlsec-notes-templates-overview">Overview.</a></span></dt>
+<dt><span class="sect1"><a href="xmlsec-notes-dynamic-signature-templates.html">Creating dynamic signature templates.</a></span></dt>
+<dt><span class="sect1"><a href="xmlsec-notes-dynamic-encryption-templates.html">Creating dynamic encryption templates.</a></span></dt>
</dl></div>
-<br clear="all"><div class="SECT1">
-<h1 class="SECT1"><a name="XMLSEC-NOTES-TEMPLATES-OVERVIEW">Overview.</a></h1>
+<div class="sect1">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="xmlsec-notes-templates-overview"></a>Overview.</h2></div></div></div>
<p>The XML Security Library uses templates to describe
how and what data should be signed or encrypted. The template
is a regular XML file. You can create templates in advance
@@ -128,10 +101,8 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
inside your application.</p>
</div>
</div>
-<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td align="left"><a accesskey="p" href="xmlsec-notes-encrypt.html"><b><<< Encrypting data.</b></a></td>
-<td align="right"><a accesskey="n" href="xmlsec-notes-dynamic-signature-templates.html"><b>Creating dynamic signature templates. >>></b></a></td>
-</tr></table>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
</td></tr></table></td>
</tr></table></body>
</html>
diff --git a/docs/api/xmlsec-notes-transforms.html b/docs/api/xmlsec-notes-transforms.html
index 2df51ec..691e6e4 100644
--- a/docs/api/xmlsec-notes-transforms.html
+++ b/docs/api/xmlsec-notes-transforms.html
@@ -1,41 +1,14 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Transforms and transforms chain.</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79">
-<link rel="HOME" title="XML Security Library Reference Manual" href="index.html">
-<link rel="UP" title="XML Security Library Tutorial" href="xmlsec-notes.html">
-<link rel="PREVIOUS" title="Verifing document signed with X509 certificates." href="xmlsec-notes-verify-x509.html">
-<link rel="NEXT" title="Using context objects." href="xmlsec-notes-contexts.html">
-<style type="text/css">.synopsis, .classsynopsis {
- background: #eeeeee;
- border: solid 1px #aaaaaa;
- padding: 0.5em;
-}
-.programlisting {
- background: #eeeeff;
- border: solid 1px #aaaaff;
- padding: 0.5em;
-}
-.variablelist {
- padding: 4px;
- margin-left: 3em;
-}
-.navigation {
- background: #ffeeee;
- border: solid 1px #ffaaaa;
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
-.navigation a {
- color: #770000;
-}
-.navigation a:visited {
- color: #550000;
-}
-.navigation .title {
- font-size: 200%;
-}</style>
+<title>Transforms and transforms chain.: XML Security Library Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="XML Security Library Reference Manual">
+<link rel="up" href="xmlsec-notes.html" title="Part I. XML Security Library Tutorial">
+<link rel="prev" href="xmlsec-notes-verify-x509.html" title="Verifing document signed with X509 certificates.">
+<link rel="next" href="xmlsec-notes-contexts.html" title="Using context objects.">
+<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
<style type="text/css">
table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
width: 20em;
@@ -100,16 +73,16 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
</table>
</td>
<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent">
-<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td><a accesskey="p" href="xmlsec-notes-verify-x509.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="xmlsec-notes.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<th width="100%" align="center">XML Security Library Reference Manual</th>
+<td><a accesskey="u" href="xmlsec-notes.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="xmlsec-notes-verify-x509.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="xmlsec-notes-contexts.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
-<div class="CHAPTER">
-<h1>
-<a name="XMLSEC-NOTES-TRANSFORMS"></a>Transforms and transforms chain.</h1>
+<div class="chapter">
+<div class="titlepage"><div><div><h2 class="title">
+<a name="xmlsec-notes-transforms"></a>Transforms and transforms chain.</h2></div></div></div>
<p>XML Digital Signature and XML Encryption standards are
very flexible and provide an XML developer many different ways to
sign or encrypt any part (or even parts) of an XML document.
@@ -121,18 +94,23 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
calculation digest, encrypting or decrypting. Each XML Security Library
transform provides at least one of the following callbacks:
</p>
-<p></p>
-<ul>
-<li><p> <a href="xmlsec-transforms.html#XMLSECTRANSFORMPUSHBINMETHOD">push binary data</a>;
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem"><p>
+ <a class="link" href="xmlsec-transforms.html#xmlSecTransformPushBinMethod" title="xmlSecTransformPushBinMethod ()">push binary data</a>;
</p></li>
-<li><p> <a href="xmlsec-transforms.html#XMLSECTRANSFORMPUSHXMLMETHOD">push xml data</a>;
+<li class="listitem"><p>
+ <a class="link" href="xmlsec-transforms.html#xmlSecTransformPushXmlMethod" title="xmlSecTransformPushXmlMethod ()">push xml data</a>;
</p></li>
-<li><p> <a href="xmlsec-transforms.html#XMLSECTRANSFORMPOPBINMETHOD">pop binary data</a>;
+<li class="listitem"><p>
+ <a class="link" href="xmlsec-transforms.html#xmlSecTransformPopBinMethod" title="xmlSecTransformPopBinMethod ()">pop binary data</a>;
</p></li>
-<li><p> <a href="xmlsec-transforms.html#XMLSECTRANSFORMPOPXMLMETHOD">pop xml data</a>.
+<li class="listitem"><p>
+ <a class="link" href="xmlsec-transforms.html#xmlSecTransformPopXmlMethod" title="xmlSecTransformPopXmlMethod ()">pop xml data</a>.
</p></li>
-</ul>
- <p>One additional <a href="xmlsec-transforms.html#XMLSECTRANSFORMEXECUTEMETHOD">execute</a>
+</ul></div>
+<p>
+ </p>
+<p>One additional <a class="link" href="xmlsec-transforms.html#xmlSecTransformExecuteMethod" title="xmlSecTransformExecuteMethod ()">execute</a>
callback was added to simplify the development and reduce code size.
This callback is used by default
implementations of the four external callbacks from the list above.
@@ -141,11 +119,11 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
binary data callbacks. However, in some cases using push/pop callbacks
directly is more efficient.
</p>
-<div class="FIGURE">
-<a name="AEN470"></a><p><b>Figure 1. The XML Security Library transform.</b></p>
-<p><img src="images/transform.png" align="CENTER"></p>
+<div class="figure">
+<a name="id-1.2.12.4"></a><p class="title"><b>Figure 9. The XML Security Library transform.</b></p>
+<div class="figure-contents"><div align="center"><img src="images/transform.png" align="middle" alt="The XML Security Library transform."></div></div>
</div>
-<p>XML Security Library constructs transforms chain according to the
+<br class="figure-break"><p>XML Security Library constructs transforms chain according to the
signature/encryption template or signed/encrypted document.
If necessary, XML Security Library inserts XML parser or defaul
canonicalization to ensure that the output data type (binary or XML)
@@ -157,21 +135,23 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
processes this chunk and pushes the result to the next transform
in the chain.
</p>
-<div class="FIGURE">
-<a name="AEN475"></a><p><b>Figure 2. Transforms chain created for <dsig:Reference/> element processing.</b></p>
-<p><img src="images/transforms-chain.png" align="CENTER"></p>
+<div class="figure">
+<a name="id-1.2.12.7"></a><p class="title"><b>Figure 10. Transforms chain created for <dsig:Reference/> element processing.</b></p>
+<div class="figure-contents"><div align="center"><img src="images/transforms-chain.png" align="middle" alt="Transforms chain created for <dsig:Reference/> element processing."></div></div>
</div>
-<p> </p>
-<div class="EXAMPLE">
-<a name="AEN479"></a><p><b>Example 1. Walking through transforms chain.</b></p>
-<pre class="PROGRAMLISTING">TODO
- </pre>
+<br class="figure-break"><p>
+ </p>
+<div class="example">
+<a name="id-1.2.12.8.1"></a><p class="title"><b>Example 23. Walking through transforms chain.</b></p>
+<div class="example-contents"><pre class="programlisting">
+TODO
+ </pre></div>
</div>
- </div>
-<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td align="left"><a accesskey="p" href="xmlsec-notes-verify-x509.html"><b><<< Verifing document signed with X509 certificates.</b></a></td>
-<td align="right"><a accesskey="n" href="xmlsec-notes-contexts.html"><b>Using context objects. >>></b></a></td>
-</tr></table>
+<p><br class="example-break">
+ </p>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
</td></tr></table></td>
</tr></table></body>
</html>
diff --git a/docs/api/xmlsec-notes-verify-decrypt.html b/docs/api/xmlsec-notes-verify-decrypt.html
index 60a58d1..074304d 100644
--- a/docs/api/xmlsec-notes-verify-decrypt.html
+++ b/docs/api/xmlsec-notes-verify-decrypt.html
@@ -1,41 +1,14 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Verifing and decrypting documents.</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79">
-<link rel="HOME" title="XML Security Library Reference Manual" href="index.html">
-<link rel="UP" title="XML Security Library Tutorial" href="xmlsec-notes.html">
-<link rel="PREVIOUS" title="Creating dynamic encryption templates." href="xmlsec-notes-dynamic-encryption-templates.html">
-<link rel="NEXT" title="Verifying a signed document" href="xmlsec-notes-verify.html">
-<style type="text/css">.synopsis, .classsynopsis {
- background: #eeeeee;
- border: solid 1px #aaaaaa;
- padding: 0.5em;
-}
-.programlisting {
- background: #eeeeff;
- border: solid 1px #aaaaff;
- padding: 0.5em;
-}
-.variablelist {
- padding: 4px;
- margin-left: 3em;
-}
-.navigation {
- background: #ffeeee;
- border: solid 1px #ffaaaa;
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
-.navigation a {
- color: #770000;
-}
-.navigation a:visited {
- color: #550000;
-}
-.navigation .title {
- font-size: 200%;
-}</style>
+<title>Verifing and decrypting documents.: XML Security Library Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="XML Security Library Reference Manual">
+<link rel="up" href="xmlsec-notes.html" title="Part I. XML Security Library Tutorial">
+<link rel="prev" href="xmlsec-notes-dynamic-encryption-templates.html" title="Creating dynamic encryption templates.">
+<link rel="next" href="xmlsec-notes-verify.html" title="Verifying a signed document">
+<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
<style type="text/css">
table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
width: 20em;
@@ -100,24 +73,24 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
</table>
</td>
<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent">
-<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td><a accesskey="p" href="xmlsec-notes-dynamic-encryption-templates.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="xmlsec-notes.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<th width="100%" align="center">XML Security Library Reference Manual</th>
+<td><a accesskey="u" href="xmlsec-notes.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="xmlsec-notes-dynamic-encryption-templates.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="xmlsec-notes-verify.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
-<div class="CHAPTER">
-<h1>
-<a name="XMLSEC-NOTES-VERIFY-DECRYPT"></a>Verifing and decrypting documents.</h1>
-<div class="TOC"><dl>
-<dt><b>Table of Contents</b></dt>
-<dt><a href="xmlsec-notes-verify-decrypt.html#XMLSEC-NOTES-VERIFY-DECRYPT-OVERVIEW">Overview.</a></dt>
-<dt><a href="xmlsec-notes-verify.html">Verifying a signed document</a></dt>
-<dt><a href="xmlsec-notes-decrypt.html">Decrypting an encrypted document</a></dt>
+<div class="chapter">
+<div class="titlepage"><div><div><h2 class="title">
+<a name="xmlsec-notes-verify-decrypt"></a>Verifing and decrypting documents.</h2></div></div></div>
+<div class="toc"><dl class="toc">
+<dt><span class="sect1"><a href="xmlsec-notes-verify-decrypt.html#xmlsec-notes-verify-decrypt-overview">Overview.</a></span></dt>
+<dt><span class="sect1"><a href="xmlsec-notes-verify.html">Verifying a signed document</a></span></dt>
+<dt><span class="sect1"><a href="xmlsec-notes-decrypt.html">Decrypting an encrypted document</a></span></dt>
</dl></div>
-<br clear="all"><div class="SECT1">
-<h1 class="SECT1"><a name="XMLSEC-NOTES-VERIFY-DECRYPT-OVERVIEW">Overview.</a></h1>
+<div class="sect1">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="xmlsec-notes-verify-decrypt-overview"></a>Overview.</h2></div></div></div>
<p>Since the template is just an XML file, it might be created in advance
and saved in a file. It's also possible for application to create
templates without using XML Security Library functions. Also in some
@@ -128,16 +101,16 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
because all the necessary information is provided in the signed or
encrypted document.
</p>
-<div class="FIGURE">
-<a name="AEN271"></a><p><b>Figure 1. The verification or decryption processing model.</b></p>
-<p><img src="images/verif-dec-model.png" align="CENTER"></p>
-</div>
- </div>
+<div class="figure">
+<a name="id-1.2.8.2.3.1"></a><p class="title"><b>Figure 5. The verification or decryption processing model.</b></p>
+<div class="figure-contents"><div align="center"><img src="images/verif-dec-model.png" align="middle" alt="The verification or decryption processing model."></div></div>
</div>
-<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td align="left"><a accesskey="p" href="xmlsec-notes-dynamic-encryption-templates.html"><b><<< Creating dynamic encryption templates.</b></a></td>
-<td align="right"><a accesskey="n" href="xmlsec-notes-verify.html"><b>Verifying a signed document >>></b></a></td>
-</tr></table>
+<p><br class="figure-break">
+ </p>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
</td></tr></table></td>
</tr></table></body>
</html>
diff --git a/docs/api/xmlsec-notes-verify-x509.html b/docs/api/xmlsec-notes-verify-x509.html
index 9506c48..67cfeb4 100644
--- a/docs/api/xmlsec-notes-verify-x509.html
+++ b/docs/api/xmlsec-notes-verify-x509.html
@@ -1,41 +1,14 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Verifing document signed with X509 certificates.</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79">
-<link rel="HOME" title="XML Security Library Reference Manual" href="index.html">
-<link rel="UP" title="Using X509 Certificates." href="xmlsec-notes-x509.html">
-<link rel="PREVIOUS" title="Signing data with X509 certificate." href="xmlsec-notes-sign-x509.html">
-<link rel="NEXT" title="Transforms and transforms chain." href="xmlsec-notes-transforms.html">
-<style type="text/css">.synopsis, .classsynopsis {
- background: #eeeeee;
- border: solid 1px #aaaaaa;
- padding: 0.5em;
-}
-.programlisting {
- background: #eeeeff;
- border: solid 1px #aaaaff;
- padding: 0.5em;
-}
-.variablelist {
- padding: 4px;
- margin-left: 3em;
-}
-.navigation {
- background: #ffeeee;
- border: solid 1px #ffaaaa;
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
-.navigation a {
- color: #770000;
-}
-.navigation a:visited {
- color: #550000;
-}
-.navigation .title {
- font-size: 200%;
-}</style>
+<title>Verifing document signed with X509 certificates.: XML Security Library Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="XML Security Library Reference Manual">
+<link rel="up" href="xmlsec-notes-x509.html" title="Using X509 Certificates.">
+<link rel="prev" href="xmlsec-notes-sign-x509.html" title="Signing data with X509 certificate.">
+<link rel="next" href="xmlsec-notes-transforms.html" title="Transforms and transforms chain.">
+<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
<style type="text/css">
table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
width: 20em;
@@ -100,38 +73,45 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
</table>
</td>
<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent">
-<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td><a accesskey="p" href="xmlsec-notes-sign-x509.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="xmlsec-notes-x509.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<th width="100%" align="center">XML Security Library Reference Manual</th>
+<td><a accesskey="u" href="xmlsec-notes-x509.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="xmlsec-notes-sign-x509.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="xmlsec-notes-transforms.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
-<br clear="all"><div class="SECT1">
-<h1 class="SECT1"><a name="XMLSEC-NOTES-VERIFY-X509">Verifing document signed with X509 certificates.</a></h1>
-<p> If the document is signed with an X509 certificate then the signature
+<div class="sect1">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="xmlsec-notes-verify-x509"></a>Verifing document signed with X509 certificates.</h2></div></div></div>
+<p>
+ If the document is signed with an X509 certificate then the signature
verification consist of two steps:
</p>
-<p></p>
-<ul>
-<li><p>Creating and verifing X509 certificates chain.
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem"><p>Creating and verifing X509 certificates chain.
</p></li>
-<li><p>Verifing signature itself using key exrtacted from
+<li class="listitem"><p>Verifing signature itself using key exrtacted from
a certificate verified on previous step.
</p></li>
-</ul>
+</ul></div>
+<p>
Certificates chain is constructed from certificates in a way that
each certificate in the chain is signed with previous one:
- <div class="FIGURE">
-<a name="AEN442"></a><p><b>Figure 1. Certificates chain.</b></p>
-<pre class="PROGRAMLISTING">Certificate A (signed with B) <- Certificate B (signed with C) <- ... <- Root Certificate (signed by itself)
- </pre>
+ </p>
+<div class="figure">
+<a name="id-1.2.11.4.2.2"></a><p class="title"><b>Figure 8. Certificates chain.</b></p>
+<div class="figure-contents"><pre class="programlisting">
+Certificate A (signed with B) <- Certificate B (signed with C) <- ... <- Root Certificate (signed by itself)
+ </pre></div>
</div>
+<p><br class="figure-break">
At the end of the chain there is a "Root Certificate" which
is signed by itself. There is no way to verify the validity of the
root certificate and application have to "trust" it
(another name for root certificates is "trusted" certificates).
- <p> Application can use <a href="xmlsec-app.html#XMLSECCRYPTOAPPKEYSMNGRCERTLOAD">xmlSecCryptoAppKeysMngrCertLoad</a>
+ </p>
+<p>
+ Application can use <a class="link" href="xmlsec-app.html#xmlSecCryptoAppKeysMngrCertLoad" title="xmlSecCryptoAppKeysMngrCertLoad ()">xmlSecCryptoAppKeysMngrCertLoad</a>
function to load both "trusted" and "un-trusted"
certificates. However, the selection of "trusted"
certificates is very sensitive process and this function might be
@@ -140,9 +120,11 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
or specified in crypto engine configuration files.
Check XML Security Library API reference for more details.
</p>
-<div class="EXAMPLE">
-<a name="AEN447"></a><p><b>Example 3. Loading trusted X509 certificate.</b></p>
-<pre class="PROGRAMLISTING">/**
+<div class="example">
+<a name="id-1.2.11.4.3.2"></a><p class="title"><b>Example 22. Loading trusted X509 certificate.</b></p>
+<div class="example-contents">
+<pre class="programlisting">
+/**
* load_trusted_certs:
* @files: the list of filenames.
* @files_size: the number of filenames in #files.
@@ -191,13 +173,14 @@ load_trusted_certs(char** files, int files_size) {
return(mngr);
}
</pre>
-<p><a href="xmlsec-verify-with-x509.html#XMLSEC-EXAMPLE-VERIFY3">Full program listing</a></p>
+<p><a class="link" href="xmlsec-verify-with-x509.html#xmlsec-example-verify3" title="verify3.c">Full program listing</a></p>
</div>
- </div>
-<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td align="left"><a accesskey="p" href="xmlsec-notes-sign-x509.html"><b><<< Signing data with X509 certificate.</b></a></td>
-<td align="right"><a accesskey="n" href="xmlsec-notes-transforms.html"><b>Transforms and transforms chain. >>></b></a></td>
-</tr></table>
+</div>
+<p><br class="example-break">
+ </p>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
</td></tr></table></td>
</tr></table></body>
</html>
diff --git a/docs/api/xmlsec-notes-verify.html b/docs/api/xmlsec-notes-verify.html
index 716d77d..753bb1f 100644
--- a/docs/api/xmlsec-notes-verify.html
+++ b/docs/api/xmlsec-notes-verify.html
@@ -1,41 +1,14 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Verifying a signed document</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79">
-<link rel="HOME" title="XML Security Library Reference Manual" href="index.html">
-<link rel="UP" title="Verifing and decrypting documents." href="xmlsec-notes-verify-decrypt.html">
-<link rel="PREVIOUS" title="Verifing and decrypting documents." href="xmlsec-notes-verify-decrypt.html">
-<link rel="NEXT" title="Decrypting an encrypted document" href="xmlsec-notes-decrypt.html">
-<style type="text/css">.synopsis, .classsynopsis {
- background: #eeeeee;
- border: solid 1px #aaaaaa;
- padding: 0.5em;
-}
-.programlisting {
- background: #eeeeff;
- border: solid 1px #aaaaff;
- padding: 0.5em;
-}
-.variablelist {
- padding: 4px;
- margin-left: 3em;
-}
-.navigation {
- background: #ffeeee;
- border: solid 1px #ffaaaa;
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
-.navigation a {
- color: #770000;
-}
-.navigation a:visited {
- color: #550000;
-}
-.navigation .title {
- font-size: 200%;
-}</style>
+<title>Verifying a signed document: XML Security Library Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="XML Security Library Reference Manual">
+<link rel="up" href="xmlsec-notes-verify-decrypt.html" title="Verifing and decrypting documents.">
+<link rel="prev" href="xmlsec-notes-verify-decrypt.html" title="Verifing and decrypting documents.">
+<link rel="next" href="xmlsec-notes-decrypt.html" title="Decrypting an encrypted document">
+<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
<style type="text/css">
table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
width: 20em;
@@ -100,47 +73,58 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
</table>
</td>
<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent">
-<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td><a accesskey="p" href="xmlsec-notes-verify-decrypt.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="xmlsec-notes-verify-decrypt.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<th width="100%" align="center">XML Security Library Reference Manual</th>
+<td><a accesskey="u" href="xmlsec-notes-verify-decrypt.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="xmlsec-notes-verify-decrypt.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="xmlsec-notes-decrypt.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
-<br clear="all"><div class="SECT1">
-<h1 class="SECT1"><a name="XMLSEC-NOTES-VERIFY">Verifying a signed document</a></h1>
+<div class="sect1">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="xmlsec-notes-verify"></a>Verifying a signed document</h2></div></div></div>
<p>The typical signature verification process includes following steps:
</p>
-<p></p>
-<ul>
-<li><p> Load keys, X509 certificates, etc. in the <a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR">keys manager</a> .
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem"><p>
+ Load keys, X509 certificates, etc. in the <a class="link" href="xmlsec-keysmngr.html#xmlSecKeysMngr" title="struct xmlSecKeysMngr">keys manager</a> .
</p></li>
-<li><p> Create signature context <a href="xmlsec-xmldsig.html#XMLSECDSIGCTX">xmlSecDSigCtx</a>
- using <a href="xmlsec-xmldsig.html#XMLSECDSIGCTXCREATE">xmlSecDSigCtxCreate</a> or
- <a href="xmlsec-xmldsig.html#XMLSECDSIGCTXINITIALIZE">xmlSecDSigCtxInitialize</a>
+<li class="listitem"><p>
+ Create signature context <a class="link" href="xmlsec-xmldsig.html#xmlSecDSigCtx" title="struct xmlSecDSigCtx">xmlSecDSigCtx</a>
+ using <a class="link" href="xmlsec-xmldsig.html#xmlSecDSigCtxCreate" title="xmlSecDSigCtxCreate ()">xmlSecDSigCtxCreate</a> or
+ <a class="link" href="xmlsec-xmldsig.html#xmlSecDSigCtxInitialize" title="xmlSecDSigCtxInitialize ()">xmlSecDSigCtxInitialize</a>
functions.
</p></li>
-<li><p> Select start verification
- <a href="http://www.w3.org/TR/xmldsig-core/#sec-Signature" target="_top"><dsig:Signature/></a>
+<li class="listitem"><p>
+ Select start verification
+ <a class="ulink" href="" target="_top"><dsig:Signature/></a>
node in the signed XML document.
</p></li>
-<li><p> Verify signature by calling <a href="xmlsec-xmldsig.html#XMLSECDSIGCTXVERIFY">xmlSecDSigCtxVerify</a>
+<li class="listitem"><p>
+ Verify signature by calling <a class="link" href="xmlsec-xmldsig.html#xmlSecDSigCtxVerify" title="xmlSecDSigCtxVerify ()">xmlSecDSigCtxVerify</a>
function.
</p></li>
-<li><p> Check returned value and verification status (<code class="STRUCTFIELD">status</code>
- member of <a href="xmlsec-xmldsig.html#XMLSECDSIGCTX">xmlSecDSigCtx</a> structure).
- If necessary, consume returned data from the <a href="xmlsec-xmldsig.html#XMLSECDSIGCTX">context</a>.
+<li class="listitem"><p>
+ Check returned value and verification status (<em class="structfield"><code>status</code></em>
+ member of <a class="link" href="xmlsec-xmldsig.html#xmlSecDSigCtx" title="struct xmlSecDSigCtx">xmlSecDSigCtx</a> structure).
+ If necessary, consume returned data from the <a class="link" href="xmlsec-xmldsig.html#xmlSecDSigCtx" title="struct xmlSecDSigCtx">context</a>.
</p></li>
-<li><p> Destroy signature context <a href="xmlsec-xmldsig.html#XMLSECDSIGCTX">xmlSecDSigCtx</a>
- using <a href="xmlsec-xmldsig.html#XMLSECDSIGCTXDESTROY">xmlSecDSigCtxDestroy</a> or
- <a href="xmlsec-xmldsig.html#XMLSECDSIGCTXFINALIZE">xmlSecDSigCtxFinalize</a>
+<li class="listitem"><p>
+ Destroy signature context <a class="link" href="xmlsec-xmldsig.html#xmlSecDSigCtx" title="struct xmlSecDSigCtx">xmlSecDSigCtx</a>
+ using <a class="link" href="xmlsec-xmldsig.html#xmlSecDSigCtxDestroy" title="xmlSecDSigCtxDestroy ()">xmlSecDSigCtxDestroy</a> or
+ <a class="link" href="xmlsec-xmldsig.html#xmlSecDSigCtxFinalize" title="xmlSecDSigCtxFinalize ()">xmlSecDSigCtxFinalize</a>
functions.
</p></li>
-</ul>
- <p> </p>
-<div class="EXAMPLE">
-<a name="AEN303"></a><p><b>Example 1. Verifying a document.</b></p>
-<pre class="PROGRAMLISTING">/**
+</ul></div>
+<p>
+ </p>
+<p>
+ </p>
+<div class="example">
+<a name="id-1.2.8.3.3.1"></a><p class="title"><b>Example 14. Verifying a document.</b></p>
+<div class="example-contents">
+<pre class="programlisting">
+/**
* verify_file:
* @xml_file: the signed XML file name.
* @key_file: the PEM public key file name.
@@ -221,13 +205,14 @@ done:
return(res);
}
</pre>
-<p><a href="xmlsec-verify-with-key.html#XMLSEC-EXAMPLE-VERIFY1">Full Program Listing</a></p>
+<p><a class="link" href="xmlsec-verify-with-key.html#xmlsec-example-verify1" title="verify1.c">Full Program Listing</a></p>
</div>
- </div>
-<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td align="left"><a accesskey="p" href="xmlsec-notes-verify-decrypt.html"><b><<< Verifing and decrypting documents.</b></a></td>
-<td align="right"><a accesskey="n" href="xmlsec-notes-decrypt.html"><b>Decrypting an encrypted document >>></b></a></td>
-</tr></table>
+</div>
+<p><br class="example-break">
+ </p>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
</td></tr></table></td>
</tr></table></body>
</html>
diff --git a/docs/api/xmlsec-notes-x509.html b/docs/api/xmlsec-notes-x509.html
index c58f772..1738427 100644
--- a/docs/api/xmlsec-notes-x509.html
+++ b/docs/api/xmlsec-notes-x509.html
@@ -1,41 +1,14 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Using X509 Certificates.</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79">
-<link rel="HOME" title="XML Security Library Reference Manual" href="index.html">
-<link rel="UP" title="XML Security Library Tutorial" href="xmlsec-notes.html">
-<link rel="PREVIOUS" title="Implementing a custom keys store." href="xmlsec-notes-custom-keys-store.html">
-<link rel="NEXT" title="Signing data with X509 certificate." href="xmlsec-notes-sign-x509.html">
-<style type="text/css">.synopsis, .classsynopsis {
- background: #eeeeee;
- border: solid 1px #aaaaaa;
- padding: 0.5em;
-}
-.programlisting {
- background: #eeeeff;
- border: solid 1px #aaaaff;
- padding: 0.5em;
-}
-.variablelist {
- padding: 4px;
- margin-left: 3em;
-}
-.navigation {
- background: #ffeeee;
- border: solid 1px #ffaaaa;
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
-.navigation a {
- color: #770000;
-}
-.navigation a:visited {
- color: #550000;
-}
-.navigation .title {
- font-size: 200%;
-}</style>
+<title>Using X509 Certificates.: XML Security Library Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="XML Security Library Reference Manual">
+<link rel="up" href="xmlsec-notes.html" title="Part I. XML Security Library Tutorial">
+<link rel="prev" href="xmlsec-notes-custom-keys-store.html" title="Implementing a custom keys store.">
+<link rel="next" href="xmlsec-notes-sign-x509.html" title="Signing data with X509 certificate.">
+<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
<style type="text/css">
table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
width: 20em;
@@ -100,24 +73,24 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
</table>
</td>
<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent">
-<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td><a accesskey="p" href="xmlsec-notes-custom-keys-store.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="xmlsec-notes.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<th width="100%" align="center">XML Security Library Reference Manual</th>
+<td><a accesskey="u" href="xmlsec-notes.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="xmlsec-notes-custom-keys-store.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="xmlsec-notes-sign-x509.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
-<div class="CHAPTER">
-<h1>
-<a name="XMLSEC-NOTES-X509"></a>Using X509 Certificates.</h1>
-<div class="TOC"><dl>
-<dt><b>Table of Contents</b></dt>
-<dt><a href="xmlsec-notes-x509.html#XMLSEC-NOTES-X509-OVERVIEW">Overview.</a></dt>
-<dt><a href="xmlsec-notes-sign-x509.html">Signing data with X509 certificate.</a></dt>
-<dt><a href="xmlsec-notes-verify-x509.html">Verifing document signed with X509 certificates.</a></dt>
+<div class="chapter">
+<div class="titlepage"><div><div><h2 class="title">
+<a name="xmlsec-notes-x509"></a>Using X509 Certificates.</h2></div></div></div>
+<div class="toc"><dl class="toc">
+<dt><span class="sect1"><a href="xmlsec-notes-x509.html#xmlsec-notes-x509-overview">Overview.</a></span></dt>
+<dt><span class="sect1"><a href="xmlsec-notes-sign-x509.html">Signing data with X509 certificate.</a></span></dt>
+<dt><span class="sect1"><a href="xmlsec-notes-verify-x509.html">Verifing document signed with X509 certificates.</a></span></dt>
</dl></div>
-<br clear="all"><div class="SECT1">
-<h1 class="SECT1"><a name="XMLSEC-NOTES-X509-OVERVIEW">Overview.</a></h1>
+<div class="sect1">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="xmlsec-notes-x509-overview"></a>Overview.</h2></div></div></div>
<p>X509 certificate is one of many possible keys data object that can be
associated with a key. Application may read and write X509 data
from/to XML file. The X509 certificates management policies significantly
@@ -128,10 +101,8 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
</p>
</div>
</div>
-<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td align="left"><a accesskey="p" href="xmlsec-notes-custom-keys-store.html"><b><<< Implementing a custom keys store.</b></a></td>
-<td align="right"><a accesskey="n" href="xmlsec-notes-sign-x509.html"><b>Signing data with X509 certificate. >>></b></a></td>
-</tr></table>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
</td></tr></table></td>
</tr></table></body>
</html>
diff --git a/docs/api/xmlsec-notes.html b/docs/api/xmlsec-notes.html
index 88c9b6f..1976753 100644
--- a/docs/api/xmlsec-notes.html
+++ b/docs/api/xmlsec-notes.html
@@ -1,40 +1,14 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>XML Security Library Tutorial</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79">
-<link rel="HOME" title="XML Security Library Reference Manual" href="index.html">
-<link rel="PREVIOUS" title="XML Security Library Reference Manual" href="index.html">
-<link rel="NEXT" title="Overview." href="xmlsec-notes-overview.html">
-<style type="text/css">.synopsis, .classsynopsis {
- background: #eeeeee;
- border: solid 1px #aaaaaa;
- padding: 0.5em;
-}
-.programlisting {
- background: #eeeeff;
- border: solid 1px #aaaaff;
- padding: 0.5em;
-}
-.variablelist {
- padding: 4px;
- margin-left: 3em;
-}
-.navigation {
- background: #ffeeee;
- border: solid 1px #ffaaaa;
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
-.navigation a {
- color: #770000;
-}
-.navigation a:visited {
- color: #550000;
-}
-.navigation .title {
- font-size: 200%;
-}</style>
+<title>Part I. XML Security Library Tutorial: XML Security Library Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="XML Security Library Reference Manual">
+<link rel="up" href="index.html" title="XML Security Library Reference Manual">
+<link rel="prev" href="index.html" title="XML Security Library Reference Manual">
+<link rel="next" href="xmlsec-notes-overview.html" title="Overview.">
+<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
<style type="text/css">
table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
width: 20em;
@@ -99,40 +73,143 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
</table>
</td>
<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent">
-<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td><a accesskey="p" href="index.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<th width="100%" align="center">XML Security Library Reference Manual</th>
+<td><img src="up-insensitive.png" width="16" height="16" border="0"></td>
+<td><a accesskey="p" href="index.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="xmlsec-notes-overview.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
-<div class="PART">
-<a name="XMLSEC-NOTES"></a><div class="TITLEPAGE">
-<h1 class="TITLE">I. XML Security Library Tutorial</h1>
-<div class="TOC"><dl>
-<dt><b>Table of Contents</b></dt>
-<dt><a href="xmlsec-notes-overview.html">Overview.</a></dt>
-<dt><a href="xmlsec-notes-structure.html">XML Security Library Structure.</a></dt>
-<dt><a href="xmlsec-notes-compiling.html">Building the application with XML Security Library.</a></dt>
-<dt><a href="xmlsec-notes-init-shutdown.html">Initialization and shutdown.</a></dt>
-<dt><a href="xmlsec-notes-sign-encrypt.html">Signing and encrypting documents.</a></dt>
-<dt><a href="xmlsec-notes-templates.html">Creating dynamic templates.</a></dt>
-<dt><a href="xmlsec-notes-verify-decrypt.html">Verifing and decrypting documents.</a></dt>
-<dt><a href="xmlsec-notes-keys.html">Keys.</a></dt>
-<dt><a href="xmlsec-notes-keysmngr.html">Keys manager.</a></dt>
-<dt><a href="xmlsec-notes-x509.html">Using X509 Certificates.</a></dt>
-<dt><a href="xmlsec-notes-transforms.html">Transforms and transforms chain.</a></dt>
-<dt><a href="xmlsec-notes-contexts.html">Using context objects.</a></dt>
-<dt><a href="xmlsec-notes-new-crypto.html">Adding support for new cryptographic library.</a></dt>
-<dt><a href="xmlsec-examples.html">Examples.</a></dt>
-<dt><a href="xmlsec-signature-klasses.html">APPENDIX A. XML Security Library Signature Klasses.</a></dt>
-<dt><a href="xmlsec-encryption-klasses.html">APPENDIX B. XML Security Library Encryption Klasses.</a></dt>
-</dl></div>
+<div class="part">
+<div class="titlepage"><div><div><h1 class="title">
+<a name="xmlsec-notes"></a>Part I. XML Security Library Tutorial</h1></div></div></div>
+<div class="toc">
+<p><b>Table of Contents</b></p>
+<dl class="toc">
+<dt><span class="chapter"><a href="xmlsec-notes-overview.html">Overview.</a></span></dt>
+<dt><span class="chapter"><a href="xmlsec-notes-structure.html">XML Security Library Structure.</a></span></dt>
+<dt><span class="chapter"><a href="xmlsec-notes-compiling.html">Building the application with XML Security Library.</a></span></dt>
+<dd><dl>
+<dt><span class="sect1"><a href="xmlsec-notes-compiling.html#xmlsec-notes-compiling-overview">Overview.</a></span></dt>
+<dt><span class="sect1"><a href="xmlsec-notes-include-files.html">Include files.</a></span></dt>
+<dt><span class="sect1"><a href="xmlsec-notes-compiling-unix.html">Compiling and linking on Unix.</a></span></dt>
+<dt><span class="sect1"><a href="xmlsec-notes-compiling-windows.html">Compiling and linking on Windows.</a></span></dt>
+<dt><span class="sect1"><a href="xmlsec-notes-compiling-others.html">Compiling and linking on other systems.</a></span></dt>
+</dl></dd>
+<dt><span class="chapter"><a href="xmlsec-notes-init-shutdown.html">Initialization and shutdown.</a></span></dt>
+<dt><span class="chapter"><a href="xmlsec-notes-sign-encrypt.html">Signing and encrypting documents.</a></span></dt>
+<dd><dl>
+<dt><span class="sect1"><a href="xmlsec-notes-sign-encrypt.html#xmlsec-notes-sign-encrypt-overview">Overview.</a></span></dt>
+<dt><span class="sect1"><a href="xmlsec-notes-sign.html">Signing a document.</a></span></dt>
+<dt><span class="sect1"><a href="xmlsec-notes-encrypt.html">Encrypting data.</a></span></dt>
+</dl></dd>
+<dt><span class="chapter"><a href="xmlsec-notes-templates.html">Creating dynamic templates.</a></span></dt>
+<dd><dl>
+<dt><span class="sect1"><a href="xmlsec-notes-templates.html#xmlsec-notes-templates-overview">Overview.</a></span></dt>
+<dt><span class="sect1"><a href="xmlsec-notes-dynamic-signature-templates.html">Creating dynamic signature templates.</a></span></dt>
+<dt><span class="sect1"><a href="xmlsec-notes-dynamic-encryption-templates.html">Creating dynamic encryption templates.</a></span></dt>
+</dl></dd>
+<dt><span class="chapter"><a href="xmlsec-notes-verify-decrypt.html">Verifing and decrypting documents.</a></span></dt>
+<dd><dl>
+<dt><span class="sect1"><a href="xmlsec-notes-verify-decrypt.html#xmlsec-notes-verify-decrypt-overview">Overview.</a></span></dt>
+<dt><span class="sect1"><a href="xmlsec-notes-verify.html">Verifying a signed document</a></span></dt>
+<dt><span class="sect1"><a href="xmlsec-notes-decrypt.html">Decrypting an encrypted document</a></span></dt>
+</dl></dd>
+<dt><span class="chapter"><a href="xmlsec-notes-keys.html">Keys.</a></span></dt>
+<dt><span class="chapter"><a href="xmlsec-notes-keysmngr.html">Keys manager.</a></span></dt>
+<dd><dl>
+<dt><span class="sect1"><a href="xmlsec-notes-keysmngr.html#xmlsec-notes-keysmngr-overview">Overview.</a></span></dt>
+<dt><span class="sect1"><a href="xmlsec-notes-simple-keys-store.html">Simple keys store.</a></span></dt>
+<dt><span class="sect1"><a href="xmlsec-notes-keys-manager-sign-enc.html">Using keys manager for signatures/encryption.</a></span></dt>
+<dt><span class="sect1"><a href="xmlsec-notes-keys-mngr-verify-decrypt.html">Using keys manager for verification/decryption.</a></span></dt>
+<dt><span class="sect1"><a href="xmlsec-notes-custom-keys-store.html">Implementing a custom keys store.</a></span></dt>
+</dl></dd>
+<dt><span class="chapter"><a href="xmlsec-notes-x509.html">Using X509 Certificates.</a></span></dt>
+<dd><dl>
+<dt><span class="sect1"><a href="xmlsec-notes-x509.html#xmlsec-notes-x509-overview">Overview.</a></span></dt>
+<dt><span class="sect1"><a href="xmlsec-notes-sign-x509.html">Signing data with X509 certificate.</a></span></dt>
+<dt><span class="sect1"><a href="xmlsec-notes-verify-x509.html">Verifing document signed with X509 certificates.</a></span></dt>
+</dl></dd>
+<dt><span class="chapter"><a href="xmlsec-notes-transforms.html">Transforms and transforms chain.</a></span></dt>
+<dt><span class="chapter"><a href="xmlsec-notes-contexts.html">Using context objects.</a></span></dt>
+<dt><span class="chapter"><a href="xmlsec-notes-new-crypto.html">Adding support for new cryptographic library.</a></span></dt>
+<dd><dl>
+<dt><span class="sect1"><a href="xmlsec-notes-new-crypto.html#xmlsec-notes-new-crypto-overview">Overview.</a></span></dt>
+<dt><span class="sect1"><a href="xmlsec-notes-new-crypto-skeleton.html">Creating a framework from the skeleton.</a></span></dt>
+<dt><span class="sect1"><a href="xmlsec-notes-new-crypto-functions.html">xmlSecCryptoApp* functions.</a></span></dt>
+<dt><span class="sect1"><a href="xmlsec-notes-new-crypto-klasses.html">Klasses and objects.</a></span></dt>
+<dt><span class="sect1"><a href="xmlsec-notes-new-crypto-transforms.html">Cryptographic transforms.</a></span></dt>
+<dt><span class="sect1"><a href="xmlsec-notes-new-crypto-keys.html">Keys data and keys data stores.</a></span></dt>
+<dt><span class="sect1"><a href="xmlsec-notes-new-crypto-simple-keys-mngr.html">Default keys manager.</a></span></dt>
+<dt><span class="sect1"><a href="xmlsec-notes-new-crypto-sharing-results.html">Sharing the results.</a></span></dt>
+</dl></dd>
+<dt><span class="chapter"><a href="xmlsec-examples.html">Examples.</a></span></dt>
+<dd><dl>
+<dt><span class="sect1"><a href="xmlsec-examples.html#xmlsec-examples-overview">XML Security Library Examples.</a></span></dt>
+<dt><span class="sect1"><a href="xmlsec-examples-sign-template-file.html">Signing a template file.</a></span></dt>
+<dd><dl>
+<dt><span class="sect2"><a href="xmlsec-examples-sign-template-file.html#xmlsec-example-sign1">sign1.c</a></span></dt>
+<dt><span class="sect2"><a href="xmlsec-examples-sign-template-file.html#xmlsec-example-sign1-tmpl">sign1-tmpl.xml</a></span></dt>
+<dt><span class="sect2"><a href="xmlsec-examples-sign-template-file.html#xmlsec-example-sign1-res">sign1-res.xml</a></span></dt>
+</dl></dd>
+<dt><span class="sect1"><a href="xmlsec-examples-sign-dynamimc-template.html">Signing a dynamicaly created template.</a></span></dt>
+<dd><dl>
+<dt><span class="sect2"><a href="xmlsec-examples-sign-dynamimc-template.html#xmlsec-example-sign2">sign2.c</a></span></dt>
+<dt><span class="sect2"><a href="xmlsec-examples-sign-dynamimc-template.html#xmlsec-example-sign2-doc">sign2-doc.xml</a></span></dt>
+<dt><span class="sect2"><a href="xmlsec-examples-sign-dynamimc-template.html#xmlsec-example-sign2-res">sign2-res.xml</a></span></dt>
+</dl></dd>
+<dt><span class="sect1"><a href="xmlsec-examples-sign-x509.html">Signing with X509 certificate.</a></span></dt>
+<dd><dl>
+<dt><span class="sect2"><a href="xmlsec-examples-sign-x509.html#xmlsec-example-sign3">sign3.c</a></span></dt>
+<dt><span class="sect2"><a href="xmlsec-examples-sign-x509.html#xmlsec-example-sign3-doc">sign3-doc.xml</a></span></dt>
+<dt><span class="sect2"><a href="xmlsec-examples-sign-x509.html#xmlsec-example-sign3-res">sign3-res.xml</a></span></dt>
+</dl></dd>
+<dt><span class="sect1"><a href="xmlsec-verify-with-key.html">Verifying a signature with a single key.</a></span></dt>
+<dd><dl><dt><span class="sect2"><a href="xmlsec-verify-with-key.html#xmlsec-example-verify1">verify1.c</a></span></dt></dl></dd>
+<dt><span class="sect1"><a href="xmlsec-verify-with-keys-mngr.html">Verifying a signature with keys manager.</a></span></dt>
+<dd><dl><dt><span class="sect2"><a href="xmlsec-verify-with-keys-mngr.html#xmlsec-example-verify2">verify2.c</a></span></dt></dl></dd>
+<dt><span class="sect1"><a href="xmlsec-verify-with-x509.html">Verifying a signature with X509 certificates.</a></span></dt>
+<dd><dl><dt><span class="sect2"><a href="xmlsec-verify-with-x509.html#xmlsec-example-verify3">verify3.c</a></span></dt></dl></dd>
+<dt><span class="sect1"><a href="xmlsec-verify-with-restrictions.html">Verifying a signature with additional restrictions.</a></span></dt>
+<dd><dl>
+<dt><span class="sect2"><a href="xmlsec-verify-with-restrictions.html#xmlsec-example-verify4">verify4.c</a></span></dt>
+<dt><span class="sect2"><a href="xmlsec-verify-with-restrictions.html#xmlsec-example-verify4-tmpl">verify4-tmpl.xml</a></span></dt>
+<dt><span class="sect2"><a href="xmlsec-verify-with-restrictions.html#xmlsec-example-verify4-res">verify4-res.xml</a></span></dt>
+<dt><span class="sect2"><a href="xmlsec-verify-with-restrictions.html#xmlsec-example-verify4-bad-tmpl">verify4-bad-tmpl.xml</a></span></dt>
+<dt><span class="sect2"><a href="xmlsec-verify-with-restrictions.html#xmlsec-example-verify4-bad-res">verify4-bad-res.xml</a></span></dt>
+</dl></dd>
+<dt><span class="sect1"><a href="xmlsec-encrypt-template-file.html">Encrypting data with a template file.</a></span></dt>
+<dd><dl>
+<dt><span class="sect2"><a href="xmlsec-encrypt-template-file.html#xmlsec-example-encrypt1">encrypt1.c</a></span></dt>
+<dt><span class="sect2"><a href="xmlsec-encrypt-template-file.html#xmlsec-example-encrypt1-tmpl">encrypt1-tmpl.xml</a></span></dt>
+<dt><span class="sect2"><a href="xmlsec-encrypt-template-file.html#xmlsec-example-encrypt1-res">encrypt1-res.xml</a></span></dt>
+</dl></dd>
+<dt><span class="sect1"><a href="xmlsec-encrypt-dynamic-template.html">Encrypting data with a dynamicaly created template.</a></span></dt>
+<dd><dl>
+<dt><span class="sect2"><a href="xmlsec-encrypt-dynamic-template.html#xmlsec-example-encrypt2">encrypt2.c</a></span></dt>
+<dt><span class="sect2"><a href="xmlsec-encrypt-dynamic-template.html#xmlsec-example-encrypt2-doc">encrypt2-doc.xml</a></span></dt>
+<dt><span class="sect2"><a href="xmlsec-encrypt-dynamic-template.html#xmlsec-example-encrypt2-res">encrypt2-res.xml</a></span></dt>
+</dl></dd>
+<dt><span class="sect1"><a href="xmlsec-encrypt-with-session-key.html">Encrypting data with a session key.</a></span></dt>
+<dd><dl>
+<dt><span class="sect2"><a href="xmlsec-encrypt-with-session-key.html#xmlsec-example-encrypt3">encrypt3.c</a></span></dt>
+<dt><span class="sect2"><a href="xmlsec-encrypt-with-session-key.html#xmlsec-example-encrypt3-doc">encrypt3-doc.xml</a></span></dt>
+<dt><span class="sect2"><a href="xmlsec-encrypt-with-session-key.html#xmlsec-example-encrypt3-res">encrypt3-res.xml</a></span></dt>
+</dl></dd>
+<dt><span class="sect1"><a href="xmlsec-decrypt-with-signle-key.html">Decrypting data with a single key.</a></span></dt>
+<dd><dl><dt><span class="sect2"><a href="xmlsec-decrypt-with-signle-key.html#xmlsec-example-decrypt1">decrypt1.c</a></span></dt></dl></dd>
+<dt><span class="sect1"><a href="xmlsec-decrypt-with-keys-mngr.html">Decrypting data with keys manager.</a></span></dt>
+<dd><dl><dt><span class="sect2"><a href="xmlsec-decrypt-with-keys-mngr.html#xmlsec-example-decrypt2">decrypt2.c</a></span></dt></dl></dd>
+<dt><span class="sect1"><a href="xmlsec-custom-keys-manager.html">Writing a custom keys manager.</a></span></dt>
+<dd><dl><dt><span class="sect2"><a href="xmlsec-custom-keys-manager.html#xmlsec-example-decrypt3">decrypt3.c</a></span></dt></dl></dd>
+</dl></dd>
+<dt><span class="chapter"><a href="xmlsec-signature-klasses.html">APPENDIX A. XML Security Library Signature Klasses.</a></span></dt>
+<dt><span class="chapter"><a href="xmlsec-encryption-klasses.html">APPENDIX B. XML Security Library Encryption Klasses.</a></span></dt>
+</dl>
</div>
</div>
-<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td align="left"><a accesskey="p" href="index.html"><b><<< XML Security Library Reference Manual</b></a></td>
-<td align="right"><a accesskey="n" href="xmlsec-notes-overview.html"><b>Overview. >>></b></a></td>
-</tr></table>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
</td></tr></table></td>
</tr></table></body>
</html>
diff --git a/docs/api/xmlsec-nss-app.html b/docs/api/xmlsec-nss-app.html
index 8464729..7d2eba2 100644
--- a/docs/api/xmlsec-nss-app.html
+++ b/docs/api/xmlsec-nss-app.html
@@ -1,41 +1,14 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>app</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79">
-<link rel="HOME" title="XML Security Library Reference Manual" href="index.html">
-<link rel="UP" title="XML Security Library for NSS API Reference." href="xmlsec-nss-ref.html">
-<link rel="PREVIOUS" title="XML Security Library for NSS API Reference." href="xmlsec-nss-ref.html">
-<link rel="NEXT" title="bignum" href="xmlsec-nss-bignum.html">
-<style type="text/css">.synopsis, .classsynopsis {
- background: #eeeeee;
- border: solid 1px #aaaaaa;
- padding: 0.5em;
-}
-.programlisting {
- background: #eeeeff;
- border: solid 1px #aaaaff;
- padding: 0.5em;
-}
-.variablelist {
- padding: 4px;
- margin-left: 3em;
-}
-.navigation {
- background: #ffeeee;
- border: solid 1px #ffaaaa;
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
-.navigation a {
- color: #770000;
-}
-.navigation a:visited {
- color: #550000;
-}
-.navigation .title {
- font-size: 200%;
-}</style>
+<title>app: XML Security Library Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="XML Security Library Reference Manual">
+<link rel="up" href="xmlsec-nss-ref.html" title="XML Security Library for NSS API Reference.">
+<link rel="prev" href="xmlsec-nss-ref.html" title="XML Security Library for NSS API Reference.">
+<link rel="next" href="xmlsec-nss-bignum.html" title="bignum">
+<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
<style type="text/css">
table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
width: 20em;
@@ -100,1026 +73,1038 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
</table>
</td>
<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent">
-<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td><a accesskey="p" href="xmlsec-nss-ref.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="xmlsec-nss-ref.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description"> <span class="dim">|</span>
+ <a href="#xmlsec-nss-app.description" class="shortcut">Description</a></span>
+</td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<th width="100%" align="center">XML Security Library Reference Manual</th>
+<td><a accesskey="u" href="xmlsec-nss-ref.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="xmlsec-nss-ref.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="xmlsec-nss-bignum.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
-<h1>
-<a name="XMLSEC-NSS-APP"></a>app</h1>
-<div class="REFNAMEDIV">
-<a name="AEN38411"></a><h2>Name</h2>app -- Application functions implementation for NSS.</div>
-<div class="REFSECT1">
-<a name="XMLSEC-NSS-APP.FUNCTIONS"></a><h2>Functions</h2>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN38416"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
+<div class="refentry">
+<a name="xmlsec-nss-app"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="xmlsec-nss-app.top_of_page"></a>app</span></h2>
+<p>app — Application functions implementation for NSS.</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="xmlsec-nss-app.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
<tbody>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-nss-app.html#XMLSECNSSAPPINIT">xmlSecNssAppInit</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-nss-app.html#xmlSecNssAppInit" title="xmlSecNssAppInit ()">xmlSecNssAppInit</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-nss-app.html#XMLSECNSSAPPSHUTDOWN">xmlSecNssAppShutdown</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-nss-app.html#xmlSecNssAppShutdown" title="xmlSecNssAppShutdown ()">xmlSecNssAppShutdown</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-nss-app.html#XMLSECNSSAPPDEFAULTKEYSMNGRINIT">xmlSecNssAppDefaultKeysMngrInit</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-nss-app.html#xmlSecNssAppDefaultKeysMngrInit" title="xmlSecNssAppDefaultKeysMngrInit ()">xmlSecNssAppDefaultKeysMngrInit</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-nss-app.html#XMLSECNSSAPPDEFAULTKEYSMNGRADOPTKEY">xmlSecNssAppDefaultKeysMngrAdoptKey</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-nss-app.html#xmlSecNssAppDefaultKeysMngrAdoptKey" title="xmlSecNssAppDefaultKeysMngrAdoptKey ()">xmlSecNssAppDefaultKeysMngrAdoptKey</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-nss-app.html#XMLSECNSSAPPDEFAULTKEYSMNGRLOAD">xmlSecNssAppDefaultKeysMngrLoad</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-nss-app.html#xmlSecNssAppDefaultKeysMngrLoad" title="xmlSecNssAppDefaultKeysMngrLoad ()">xmlSecNssAppDefaultKeysMngrLoad</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-nss-app.html#XMLSECNSSAPPDEFAULTKEYSMNGRSAVE">xmlSecNssAppDefaultKeysMngrSave</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-nss-app.html#xmlSecNssAppDefaultKeysMngrSave" title="xmlSecNssAppDefaultKeysMngrSave ()">xmlSecNssAppDefaultKeysMngrSave</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-nss-app.html#XMLSECNSSAPPKEYSMNGRCERTLOAD">xmlSecNssAppKeysMngrCertLoad</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-nss-app.html#xmlSecNssAppKeysMngrCertLoad" title="xmlSecNssAppKeysMngrCertLoad ()">xmlSecNssAppKeysMngrCertLoad</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-nss-app.html#XMLSECNSSAPPKEYSMNGRCERTLOADMEMORY">xmlSecNssAppKeysMngrCertLoadMemory</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-nss-app.html#xmlSecNssAppKeysMngrCertLoadMemory" title="xmlSecNssAppKeysMngrCertLoadMemory ()">xmlSecNssAppKeysMngrCertLoadMemory</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-nss-app.html#XMLSECNSSAPPKEYSMNGRCERTLOADSECITEM">xmlSecNssAppKeysMngrCertLoadSECItem</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-nss-app.html#xmlSecNssAppKeysMngrCertLoadSECItem" title="xmlSecNssAppKeysMngrCertLoadSECItem ()">xmlSecNssAppKeysMngrCertLoadSECItem</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a></td>
-<td>
-<a href="xmlsec-nss-app.html#XMLSECNSSAPPKEYLOAD">xmlSecNssAppKeyLoad</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecKeyPtr</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-nss-app.html#xmlSecNssAppKeyLoad" title="xmlSecNssAppKeyLoad ()">xmlSecNssAppKeyLoad</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a></td>
-<td>
-<a href="xmlsec-nss-app.html#XMLSECNSSAPPKEYLOADMEMORY">xmlSecNssAppKeyLoadMemory</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecKeyPtr</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-nss-app.html#xmlSecNssAppKeyLoadMemory" title="xmlSecNssAppKeyLoadMemory ()">xmlSecNssAppKeyLoadMemory</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a></td>
-<td>
-<a href="xmlsec-nss-app.html#XMLSECNSSAPPKEYLOADSECITEM">xmlSecNssAppKeyLoadSECItem</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecKeyPtr</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-nss-app.html#xmlSecNssAppKeyLoadSECItem" title="xmlSecNssAppKeyLoadSECItem ()">xmlSecNssAppKeyLoadSECItem</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a></td>
-<td>
-<a href="xmlsec-nss-app.html#XMLSECNSSAPPPKCS12LOAD">xmlSecNssAppPkcs12Load</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecKeyPtr</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-nss-app.html#xmlSecNssAppPkcs12Load" title="xmlSecNssAppPkcs12Load ()">xmlSecNssAppPkcs12Load</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a></td>
-<td>
-<a href="xmlsec-nss-app.html#XMLSECNSSAPPPKCS12LOADMEMORY">xmlSecNssAppPkcs12LoadMemory</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecKeyPtr</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-nss-app.html#xmlSecNssAppPkcs12LoadMemory" title="xmlSecNssAppPkcs12LoadMemory ()">xmlSecNssAppPkcs12LoadMemory</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a></td>
-<td>
-<a href="xmlsec-nss-app.html#XMLSECNSSAPPPKCS12LOADSECITEM">xmlSecNssAppPkcs12LoadSECItem</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecKeyPtr</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-nss-app.html#xmlSecNssAppPkcs12LoadSECItem" title="xmlSecNssAppPkcs12LoadSECItem ()">xmlSecNssAppPkcs12LoadSECItem</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-nss-app.html#XMLSECNSSAPPKEYCERTLOAD">xmlSecNssAppKeyCertLoad</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-nss-app.html#xmlSecNssAppKeyCertLoad" title="xmlSecNssAppKeyCertLoad ()">xmlSecNssAppKeyCertLoad</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-nss-app.html#XMLSECNSSAPPKEYCERTLOADMEMORY">xmlSecNssAppKeyCertLoadMemory</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-nss-app.html#xmlSecNssAppKeyCertLoadMemory" title="xmlSecNssAppKeyCertLoadMemory ()">xmlSecNssAppKeyCertLoadMemory</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-nss-app.html#XMLSECNSSAPPKEYCERTLOADSECITEM">xmlSecNssAppKeyCertLoadSECItem</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-nss-app.html#xmlSecNssAppKeyCertLoadSECItem" title="xmlSecNssAppKeyCertLoadSECItem ()">xmlSecNssAppKeyCertLoadSECItem</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a></td>
-<td>
-<a href="xmlsec-nss-app.html#XMLSECNSSAPPKEYFROMCERTLOADSECITEM">xmlSecNssAppKeyFromCertLoadSECItem</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecKeyPtr</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-nss-app.html#xmlSecNssAppKeyFromCertLoadSECItem" title="xmlSecNssAppKeyFromCertLoadSECItem ()">xmlSecNssAppKeyFromCertLoadSECItem</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td>
-<font><span class="RETURNVALUE">void</span></font> *</td>
-<td>
-<a href="xmlsec-nss-app.html#XMLSECNSSAPPGETDEFAULTPWDCALLBACK">xmlSecNssAppGetDefaultPwdCallback</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">void</span></font> *
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-nss-app.html#xmlSecNssAppGetDefaultPwdCallback" title="xmlSecNssAppGetDefaultPwdCallback ()">xmlSecNssAppGetDefaultPwdCallback</a> <span class="c_punctuation">()</span>
</td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
-</div>
-<div class="REFSECT1">
-<a name="XMLSEC-NSS-APP.DESCRIPTION"></a><h2>Description</h2>
-<p>Application functions implementation for NSS.</p>
-</div>
-<div class="REFSECT1">
-<a name="XMLSEC-NSS-APP.FUNCTIONS_DETAILS"></a><h2>Functions</h2>
-<div class="REFSECT2">
-<a name="XMLSECNSSAPPINIT"></a><h3>xmlSecNssAppInit ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecNssAppInit (<code class="PARAMETER">const <font><span class="TYPE">char</span></font> *config</code>);</pre>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="xmlsec-nss-app.description"></a><h2>Description</h2>
+<p>
+Application functions implementation for NSS.
+</p>
+</div>
+<div class="refsect1">
+<a name="xmlsec-nss-app.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="xmlSecNssAppInit"></a><h3>xmlSecNssAppInit ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecNssAppInit (<em class="parameter"><code>const <font><span class="type">char</span></font> *config</code></em>);</pre>
<p>General crypto engine initialization. This function is used
by XMLSec command line utility and called before
-<code class="PARAMETER">xmlSecInit</code>
+<em class="parameter"><code>xmlSecInit</code></em>
function.</p>
-<div class="REFSECT3">
-<a name="AEN38576"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN38578"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecNssAppInit.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>config</p></td>
-<td><p>the path to NSS database files.</p></td>
-<td> </td>
+<td class="parameter_name"><p>config</p></td>
+<td class="parameter_description"><p>the path to NSS database files.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN38587"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecNssAppInit.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECNSSAPPSHUTDOWN"></a><h3>xmlSecNssAppShutdown ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecNssAppShutdown (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecNssAppShutdown"></a><h3>xmlSecNssAppShutdown ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecNssAppShutdown (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>General crypto engine shutdown. This function is used
by XMLSec command line utility and called after
-<code class="PARAMETER">xmlSecShutdown</code>
+<em class="parameter"><code>xmlSecShutdown</code></em>
function.</p>
-<div class="REFSECT3">
-<a name="AEN38601"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecNssAppShutdown.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECNSSAPPDEFAULTKEYSMNGRINIT"></a><h3>xmlSecNssAppDefaultKeysMngrInit ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecNssAppDefaultKeysMngrInit (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>);</pre>
-<p>Initializes <code class="PARAMETER">mngr</code>
- with NSS keys store <a href="xmlsec-nss-keysstore.html#XMLSECNSSKEYSSTOREID"><span class="TYPE">xmlSecNssKeysStoreId</span></a>
+<div class="refsect2">
+<a name="xmlSecNssAppDefaultKeysMngrInit"></a><h3>xmlSecNssAppDefaultKeysMngrInit ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecNssAppDefaultKeysMngrInit (<em class="parameter"><code><font><span class="type">xmlSecKeysMngrPtr</span></font> mngr</code></em>);</pre>
+<p>Initializes <em class="parameter"><code>mngr</code></em>
+ with NSS keys store <a class="link" href="xmlsec-nss-keysstore.html#xmlSecNssKeysStoreId" title="xmlSecNssKeysStoreId"><span class="type">xmlSecNssKeysStoreId</span></a>
and a default NSS crypto key data stores.</p>
-<div class="REFSECT3">
-<a name="AEN38618"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN38620"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecNssAppDefaultKeysMngrInit.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>mngr</p></td>
-<td><p>the pointer to keys manager.</p></td>
-<td> </td>
+<td class="parameter_name"><p>mngr</p></td>
+<td class="parameter_description"><p>the pointer to keys manager.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN38629"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecNssAppDefaultKeysMngrInit.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECNSSAPPDEFAULTKEYSMNGRADOPTKEY"></a><h3>xmlSecNssAppDefaultKeysMngrAdoptKey ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecNssAppDefaultKeysMngrAdoptKey (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>,
- <code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>);</pre>
-<p>Adds <code class="PARAMETER">key</code>
- to the keys manager <code class="PARAMETER">mngr</code>
- created with <a href="xmlsec-nss-app.html#XMLSECNSSAPPDEFAULTKEYSMNGRINIT"><span class="TYPE">xmlSecNssAppDefaultKeysMngrInit</span></a>
+<div class="refsect2">
+<a name="xmlSecNssAppDefaultKeysMngrAdoptKey"></a><h3>xmlSecNssAppDefaultKeysMngrAdoptKey ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecNssAppDefaultKeysMngrAdoptKey (<em class="parameter"><code><font><span class="type">xmlSecKeysMngrPtr</span></font> mngr</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlSecKeyPtr</span></font> key</code></em>);</pre>
+<p>Adds <em class="parameter"><code>key</code></em>
+ to the keys manager <em class="parameter"><code>mngr</code></em>
+ created with <a class="link" href="xmlsec-nss-app.html#xmlSecNssAppDefaultKeysMngrInit" title="xmlSecNssAppDefaultKeysMngrInit ()"><span class="type">xmlSecNssAppDefaultKeysMngrInit</span></a>
function.</p>
-<div class="REFSECT3">
-<a name="AEN38650"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN38652"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecNssAppDefaultKeysMngrAdoptKey.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>mngr</p></td>
-<td><p>the pointer to keys manager.</p></td>
-<td> </td>
+<td class="parameter_name"><p>mngr</p></td>
+<td class="parameter_description"><p>the pointer to keys manager.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>key</p></td>
-<td><p>the pointer to key.</p></td>
-<td> </td>
+<td class="parameter_name"><p>key</p></td>
+<td class="parameter_description"><p>the pointer to key.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN38667"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecNssAppDefaultKeysMngrAdoptKey.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECNSSAPPDEFAULTKEYSMNGRLOAD"></a><h3>xmlSecNssAppDefaultKeysMngrLoad ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecNssAppDefaultKeysMngrLoad (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>,
- <code class="PARAMETER">const <font><span class="TYPE">char</span></font> *uri</code>);</pre>
-<p>Loads XML keys file from <code class="PARAMETER">uri</code>
- to the keys manager <code class="PARAMETER">mngr</code>
+<div class="refsect2">
+<a name="xmlSecNssAppDefaultKeysMngrLoad"></a><h3>xmlSecNssAppDefaultKeysMngrLoad ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecNssAppDefaultKeysMngrLoad (<em class="parameter"><code><font><span class="type">xmlSecKeysMngrPtr</span></font> mngr</code></em>,
+ <em class="parameter"><code>const <font><span class="type">char</span></font> *uri</code></em>);</pre>
+<p>Loads XML keys file from <em class="parameter"><code>uri</code></em>
+ to the keys manager <em class="parameter"><code>mngr</code></em>
created
-with <a href="xmlsec-nss-app.html#XMLSECNSSAPPDEFAULTKEYSMNGRINIT"><span class="TYPE">xmlSecNssAppDefaultKeysMngrInit</span></a> function.</p>
-<div class="REFSECT3">
-<a name="AEN38688"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN38690"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+with <a class="link" href="xmlsec-nss-app.html#xmlSecNssAppDefaultKeysMngrInit" title="xmlSecNssAppDefaultKeysMngrInit ()"><span class="type">xmlSecNssAppDefaultKeysMngrInit</span></a> function.</p>
+<div class="refsect3">
+<a name="xmlSecNssAppDefaultKeysMngrLoad.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>mngr</p></td>
-<td><p>the pointer to keys manager.</p></td>
-<td> </td>
+<td class="parameter_name"><p>mngr</p></td>
+<td class="parameter_description"><p>the pointer to keys manager.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>uri</p></td>
-<td><p>the uri.</p></td>
-<td> </td>
+<td class="parameter_name"><p>uri</p></td>
+<td class="parameter_description"><p>the uri.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN38705"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecNssAppDefaultKeysMngrLoad.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECNSSAPPDEFAULTKEYSMNGRSAVE"></a><h3>xmlSecNssAppDefaultKeysMngrSave ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecNssAppDefaultKeysMngrSave (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>,
- <code class="PARAMETER">const <font><span class="TYPE">char</span></font> *filename</code>,
- <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATATYPE"><span class="TYPE">xmlSecKeyDataType</span></a> type</code>);</pre>
-<p>Saves keys from <code class="PARAMETER">mngr</code>
+<div class="refsect2">
+<a name="xmlSecNssAppDefaultKeysMngrSave"></a><h3>xmlSecNssAppDefaultKeysMngrSave ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecNssAppDefaultKeysMngrSave (<em class="parameter"><code><font><span class="type">xmlSecKeysMngrPtr</span></font> mngr</code></em>,
+ <em class="parameter"><code>const <font><span class="type">char</span></font> *filename</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataType" title="xmlSecKeyDataType"><span class="type">xmlSecKeyDataType</span></a> type</code></em>);</pre>
+<p>Saves keys from <em class="parameter"><code>mngr</code></em>
to XML keys file.</p>
-<div class="REFSECT3">
-<a name="AEN38726"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN38728"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecNssAppDefaultKeysMngrSave.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>mngr</p></td>
-<td><p>the pointer to keys manager.</p></td>
-<td> </td>
+<td class="parameter_name"><p>mngr</p></td>
+<td class="parameter_description"><p>the pointer to keys manager.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>filename</p></td>
-<td><p>the destination filename.</p></td>
-<td> </td>
+<td class="parameter_name"><p>filename</p></td>
+<td class="parameter_description"><p>the destination filename.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>type</p></td>
-<td><p>the type of keys to save (public/private/symmetric).</p></td>
-<td> </td>
+<td class="parameter_name"><p>type</p></td>
+<td class="parameter_description"><p>the type of keys to save (public/private/symmetric).</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN38749"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecNssAppDefaultKeysMngrSave.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECNSSAPPKEYSMNGRCERTLOAD"></a><h3>xmlSecNssAppKeysMngrCertLoad ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecNssAppKeysMngrCertLoad (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>,
- <code class="PARAMETER">const <font><span class="TYPE">char</span></font> *filename</code>,
- <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT"><span class="TYPE">xmlSecKeyDataFormat</span></a> format</code>,
- <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATATYPE"><span class="TYPE">xmlSecKeyDataType</span></a> type</code>);</pre>
-<p>Reads cert from <code class="PARAMETER">filename</code>
+<div class="refsect2">
+<a name="xmlSecNssAppKeysMngrCertLoad"></a><h3>xmlSecNssAppKeysMngrCertLoad ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecNssAppKeysMngrCertLoad (<em class="parameter"><code><font><span class="type">xmlSecKeysMngrPtr</span></font> mngr</code></em>,
+ <em class="parameter"><code>const <font><span class="type">char</span></font> *filename</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataFormat" title="enum xmlSecKeyDataFormat"><span class="type">xmlSecKeyDataFormat</span></a> format</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataType" title="xmlSecKeyDataType"><span class="type">xmlSecKeyDataType</span></a> type</code></em>);</pre>
+<p>Reads cert from <em class="parameter"><code>filename</code></em>
and adds to the list of trusted or known
-untrusted certs in <code class="PARAMETER">store</code></p>
-<div class="REFSECT3">
-<a name="AEN38774"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN38776"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+untrusted certs in <em class="parameter"><code>store</code></em>
+</p>
+<div class="refsect3">
+<a name="xmlSecNssAppKeysMngrCertLoad.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>mngr</p></td>
-<td><p>the pointer to keys manager.</p></td>
-<td> </td>
+<td class="parameter_name"><p>mngr</p></td>
+<td class="parameter_description"><p>the pointer to keys manager.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>filename</p></td>
-<td><p>the certificate file.</p></td>
-<td> </td>
+<td class="parameter_name"><p>filename</p></td>
+<td class="parameter_description"><p>the certificate file.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>format</p></td>
-<td><p>the certificate file format (PEM or DER).</p></td>
-<td> </td>
+<td class="parameter_name"><p>format</p></td>
+<td class="parameter_description"><p>the certificate file format (PEM or DER).</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>type</p></td>
-<td><p>the certificate type (trusted/untrusted).</p></td>
-<td> </td>
+<td class="parameter_name"><p>type</p></td>
+<td class="parameter_description"><p>the certificate type (trusted/untrusted).</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN38803"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecNssAppKeysMngrCertLoad.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECNSSAPPKEYSMNGRCERTLOADMEMORY"></a><h3>xmlSecNssAppKeysMngrCertLoadMemory ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecNssAppKeysMngrCertLoadMemory (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>,
- <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>,
- <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> dataSize</code>,
- <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT"><span class="TYPE">xmlSecKeyDataFormat</span></a> format</code>,
- <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATATYPE"><span class="TYPE">xmlSecKeyDataType</span></a> type</code>);</pre>
-<p>Reads cert from <code class="PARAMETER">data</code>
+<div class="refsect2">
+<a name="xmlSecNssAppKeysMngrCertLoadMemory"></a><h3>xmlSecNssAppKeysMngrCertLoadMemory ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecNssAppKeysMngrCertLoadMemory (<em class="parameter"><code><font><span class="type">xmlSecKeysMngrPtr</span></font> mngr</code></em>,
+ <em class="parameter"><code>const <a class="link" href="xmlsec-xmlsec.html#xmlSecByte" title="xmlSecByte"><span class="type">xmlSecByte</span></a> *data</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="type">xmlSecSize</span></a> dataSize</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataFormat" title="enum xmlSecKeyDataFormat"><span class="type">xmlSecKeyDataFormat</span></a> format</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataType" title="xmlSecKeyDataType"><span class="type">xmlSecKeyDataType</span></a> type</code></em>);</pre>
+<p>Reads cert from <em class="parameter"><code>data</code></em>
and adds to the list of trusted or known
-untrusted certs in <code class="PARAMETER">store</code></p>
-<div class="REFSECT3">
-<a name="AEN38831"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN38833"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+untrusted certs in <em class="parameter"><code>store</code></em>
+</p>
+<div class="refsect3">
+<a name="xmlSecNssAppKeysMngrCertLoadMemory.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>mngr</p></td>
-<td><p>the pointer to keys manager.</p></td>
-<td> </td>
+<td class="parameter_name"><p>mngr</p></td>
+<td class="parameter_description"><p>the pointer to keys manager.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>data</p></td>
-<td><p>the key binary data.</p></td>
-<td> </td>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the key binary data.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>dataSize</p></td>
-<td><p>the key binary data size.</p></td>
-<td> </td>
+<td class="parameter_name"><p>dataSize</p></td>
+<td class="parameter_description"><p>the key binary data size.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>format</p></td>
-<td><p>the certificate format (PEM or DER).</p></td>
-<td> </td>
+<td class="parameter_name"><p>format</p></td>
+<td class="parameter_description"><p>the certificate format (PEM or DER).</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>type</p></td>
-<td><p>the certificate type (trusted/untrusted).</p></td>
-<td> </td>
+<td class="parameter_name"><p>type</p></td>
+<td class="parameter_description"><p>the certificate type (trusted/untrusted).</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN38866"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecNssAppKeysMngrCertLoadMemory.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECNSSAPPKEYSMNGRCERTLOADSECITEM"></a><h3>xmlSecNssAppKeysMngrCertLoadSECItem ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecNssAppKeysMngrCertLoadSECItem (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>,
- <code class="PARAMETER"><font><span class="TYPE">SECItem</span></font> *secItem</code>,
- <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT"><span class="TYPE">xmlSecKeyDataFormat</span></a> format</code>,
- <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATATYPE"><span class="TYPE">xmlSecKeyDataType</span></a> type</code>);</pre>
-<p>Reads cert from <code class="PARAMETER">secItem</code>
+<div class="refsect2">
+<a name="xmlSecNssAppKeysMngrCertLoadSECItem"></a><h3>xmlSecNssAppKeysMngrCertLoadSECItem ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecNssAppKeysMngrCertLoadSECItem (<em class="parameter"><code><font><span class="type">xmlSecKeysMngrPtr</span></font> mngr</code></em>,
+ <em class="parameter"><code><font><span class="type">SECItem</span></font> *secItem</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataFormat" title="enum xmlSecKeyDataFormat"><span class="type">xmlSecKeyDataFormat</span></a> format</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataType" title="xmlSecKeyDataType"><span class="type">xmlSecKeyDataType</span></a> type</code></em>);</pre>
+<p>Reads cert from <em class="parameter"><code>secItem</code></em>
and adds to the list of trusted or known
-untrusted certs in <code class="PARAMETER">store</code></p>
-<div class="REFSECT3">
-<a name="AEN38891"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN38893"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+untrusted certs in <em class="parameter"><code>store</code></em>
+</p>
+<div class="refsect3">
+<a name="xmlSecNssAppKeysMngrCertLoadSECItem.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>mngr</p></td>
-<td><p>the pointer to keys manager.</p></td>
-<td> </td>
+<td class="parameter_name"><p>mngr</p></td>
+<td class="parameter_description"><p>the pointer to keys manager.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>secItem</p></td>
-<td><p>the pointer to SECItem.</p></td>
-<td> </td>
+<td class="parameter_name"><p>secItem</p></td>
+<td class="parameter_description"><p>the pointer to SECItem.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>format</p></td>
-<td><p>the certificate format (PEM or DER).</p></td>
-<td> </td>
+<td class="parameter_name"><p>format</p></td>
+<td class="parameter_description"><p>the certificate format (PEM or DER).</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>type</p></td>
-<td><p>the certificate type (trusted/untrusted).</p></td>
-<td> </td>
+<td class="parameter_name"><p>type</p></td>
+<td class="parameter_description"><p>the certificate type (trusted/untrusted).</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN38920"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecNssAppKeysMngrCertLoadSECItem.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECNSSAPPKEYLOAD"></a><h3>xmlSecNssAppKeyLoad ()</h3>
-<pre class="PROGRAMLISTING"><a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a>
-xmlSecNssAppKeyLoad (<code class="PARAMETER">const <font><span class="TYPE">char</span></font> *filename</code>,
- <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT"><span class="TYPE">xmlSecKeyDataFormat</span></a> format</code>,
- <code class="PARAMETER">const <font><span class="TYPE">char</span></font> *pwd</code>,
- <code class="PARAMETER"><font><span class="TYPE">void</span></font> *pwdCallback</code>,
- <code class="PARAMETER"><font><span class="TYPE">void</span></font> *pwdCallbackCtx</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecNssAppKeyLoad"></a><h3>xmlSecNssAppKeyLoad ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecKeyPtr</span></font>
+xmlSecNssAppKeyLoad (<em class="parameter"><code>const <font><span class="type">char</span></font> *filename</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataFormat" title="enum xmlSecKeyDataFormat"><span class="type">xmlSecKeyDataFormat</span></a> format</code></em>,
+ <em class="parameter"><code>const <font><span class="type">char</span></font> *pwd</code></em>,
+ <em class="parameter"><code><font><span class="type">void</span></font> *pwdCallback</code></em>,
+ <em class="parameter"><code><font><span class="type">void</span></font> *pwdCallbackCtx</code></em>);</pre>
<p>Reads key from a file</p>
-<div class="REFSECT3">
-<a name="AEN38946"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN38948"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecNssAppKeyLoad.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>filename</p></td>
-<td><p>the key filename.</p></td>
-<td> </td>
+<td class="parameter_name"><p>filename</p></td>
+<td class="parameter_description"><p>the key filename.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>format</p></td>
-<td><p>the key file format.</p></td>
-<td> </td>
+<td class="parameter_name"><p>format</p></td>
+<td class="parameter_description"><p>the key file format.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>pwd</p></td>
-<td><p>the key file password.</p></td>
-<td> </td>
+<td class="parameter_name"><p>pwd</p></td>
+<td class="parameter_description"><p>the key file password.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>pwdCallback</p></td>
-<td><p>the key password callback.</p></td>
-<td> </td>
+<td class="parameter_name"><p>pwdCallback</p></td>
+<td class="parameter_description"><p>the key password callback.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>pwdCallbackCtx</p></td>
-<td><p>the user context for password callback.</p></td>
-<td> </td>
+<td class="parameter_name"><p>pwdCallbackCtx</p></td>
+<td class="parameter_description"><p>the user context for password callback.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN38981"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecNssAppKeyLoad.returns"></a><h4>Returns</h4>
<p> pointer to the key or NULL if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECNSSAPPKEYLOADMEMORY"></a><h3>xmlSecNssAppKeyLoadMemory ()</h3>
-<pre class="PROGRAMLISTING"><a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a>
-xmlSecNssAppKeyLoadMemory (<code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>,
- <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> dataSize</code>,
- <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT"><span class="TYPE">xmlSecKeyDataFormat</span></a> format</code>,
- <code class="PARAMETER">const <font><span class="TYPE">char</span></font> *pwd</code>,
- <code class="PARAMETER"><font><span class="TYPE">void</span></font> *pwdCallback</code>,
- <code class="PARAMETER"><font><span class="TYPE">void</span></font> *pwdCallbackCtx</code>);</pre>
-<p>Reads key from a binary <code class="PARAMETER">data</code>
+<div class="refsect2">
+<a name="xmlSecNssAppKeyLoadMemory"></a><h3>xmlSecNssAppKeyLoadMemory ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecKeyPtr</span></font>
+xmlSecNssAppKeyLoadMemory (<em class="parameter"><code>const <a class="link" href="xmlsec-xmlsec.html#xmlSecByte" title="xmlSecByte"><span class="type">xmlSecByte</span></a> *data</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="type">xmlSecSize</span></a> dataSize</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataFormat" title="enum xmlSecKeyDataFormat"><span class="type">xmlSecKeyDataFormat</span></a> format</code></em>,
+ <em class="parameter"><code>const <font><span class="type">char</span></font> *pwd</code></em>,
+ <em class="parameter"><code><font><span class="type">void</span></font> *pwdCallback</code></em>,
+ <em class="parameter"><code><font><span class="type">void</span></font> *pwdCallbackCtx</code></em>);</pre>
+<p>Reads key from a binary <em class="parameter"><code>data</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN39011"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN39013"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecNssAppKeyLoadMemory.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>data</p></td>
-<td><p>the key binary data.</p></td>
-<td> </td>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the key binary data.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>dataSize</p></td>
-<td><p>the key binary data size.</p></td>
-<td> </td>
+<td class="parameter_name"><p>dataSize</p></td>
+<td class="parameter_description"><p>the key binary data size.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>format</p></td>
-<td><p>the key data format.</p></td>
-<td> </td>
+<td class="parameter_name"><p>format</p></td>
+<td class="parameter_description"><p>the key data format.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>pwd</p></td>
-<td><p>the key data2 password.</p></td>
-<td> </td>
+<td class="parameter_name"><p>pwd</p></td>
+<td class="parameter_description"><p>the key data2 password.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>pwdCallback</p></td>
-<td><p>the key password callback.</p></td>
-<td> </td>
+<td class="parameter_name"><p>pwdCallback</p></td>
+<td class="parameter_description"><p>the key password callback.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>pwdCallbackCtx</p></td>
-<td><p>the user context for password callback.</p></td>
-<td> </td>
+<td class="parameter_name"><p>pwdCallbackCtx</p></td>
+<td class="parameter_description"><p>the user context for password callback.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN39052"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecNssAppKeyLoadMemory.returns"></a><h4>Returns</h4>
<p> pointer to the key or NULL if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECNSSAPPKEYLOADSECITEM"></a><h3>xmlSecNssAppKeyLoadSECItem ()</h3>
-<pre class="PROGRAMLISTING"><a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a>
-xmlSecNssAppKeyLoadSECItem (<code class="PARAMETER"><font><span class="TYPE">SECItem</span></font> *secItem</code>,
- <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT"><span class="TYPE">xmlSecKeyDataFormat</span></a> format</code>,
- <code class="PARAMETER">const <font><span class="TYPE">char</span></font> *pwd</code>,
- <code class="PARAMETER"><font><span class="TYPE">void</span></font> *pwdCallback</code>,
- <code class="PARAMETER"><font><span class="TYPE">void</span></font> *pwdCallbackCtx</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecNssAppKeyLoadSECItem"></a><h3>xmlSecNssAppKeyLoadSECItem ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecKeyPtr</span></font>
+xmlSecNssAppKeyLoadSECItem (<em class="parameter"><code><font><span class="type">SECItem</span></font> *secItem</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataFormat" title="enum xmlSecKeyDataFormat"><span class="type">xmlSecKeyDataFormat</span></a> format</code></em>,
+ <em class="parameter"><code>const <font><span class="type">char</span></font> *pwd</code></em>,
+ <em class="parameter"><code><font><span class="type">void</span></font> *pwdCallback</code></em>,
+ <em class="parameter"><code><font><span class="type">void</span></font> *pwdCallbackCtx</code></em>);</pre>
<p>Reads key from a file</p>
-<div class="REFSECT3">
-<a name="AEN39078"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN39080"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecNssAppKeyLoadSECItem.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>secItem</p></td>
-<td><p>the pointer to sec item.</p></td>
-<td> </td>
+<td class="parameter_name"><p>secItem</p></td>
+<td class="parameter_description"><p>the pointer to sec item.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>format</p></td>
-<td><p>the key format.</p></td>
-<td> </td>
+<td class="parameter_name"><p>format</p></td>
+<td class="parameter_description"><p>the key format.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>pwd</p></td>
-<td><p>the key password.</p></td>
-<td> </td>
+<td class="parameter_name"><p>pwd</p></td>
+<td class="parameter_description"><p>the key password.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>pwdCallback</p></td>
-<td><p>the key password callback.</p></td>
-<td> </td>
+<td class="parameter_name"><p>pwdCallback</p></td>
+<td class="parameter_description"><p>the key password callback.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>pwdCallbackCtx</p></td>
-<td><p>the user context for password callback.</p></td>
-<td> </td>
+<td class="parameter_name"><p>pwdCallbackCtx</p></td>
+<td class="parameter_description"><p>the user context for password callback.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN39113"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecNssAppKeyLoadSECItem.returns"></a><h4>Returns</h4>
<p> pointer to the key or NULL if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECNSSAPPPKCS12LOAD"></a><h3>xmlSecNssAppPkcs12Load ()</h3>
-<pre class="PROGRAMLISTING"><a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a>
-xmlSecNssAppPkcs12Load (<code class="PARAMETER">const <font><span class="TYPE">char</span></font> *filename</code>,
- <code class="PARAMETER">const <font><span class="TYPE">char</span></font> *pwd</code>,
- <code class="PARAMETER"><font><span class="TYPE">void</span></font> *pwdCallback</code>,
- <code class="PARAMETER"><font><span class="TYPE">void</span></font> *pwdCallbackCtx</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecNssAppPkcs12Load"></a><h3>xmlSecNssAppPkcs12Load ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecKeyPtr</span></font>
+xmlSecNssAppPkcs12Load (<em class="parameter"><code>const <font><span class="type">char</span></font> *filename</code></em>,
+ <em class="parameter"><code>const <font><span class="type">char</span></font> *pwd</code></em>,
+ <em class="parameter"><code><font><span class="type">void</span></font> *pwdCallback</code></em>,
+ <em class="parameter"><code><font><span class="type">void</span></font> *pwdCallbackCtx</code></em>);</pre>
<p>Reads key and all associated certificates from the PKCS12 file.
For uniformity, call xmlSecNssAppKeyLoad instead of this function. Pass
in format=xmlSecKeyDataFormatPkcs12.</p>
-<div class="REFSECT3">
-<a name="AEN39136"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN39138"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecNssAppPkcs12Load.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>filename</p></td>
-<td><p>the PKCS12 key filename.</p></td>
-<td> </td>
+<td class="parameter_name"><p>filename</p></td>
+<td class="parameter_description"><p>the PKCS12 key filename.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>pwd</p></td>
-<td><p>the PKCS12 file password.</p></td>
-<td> </td>
+<td class="parameter_name"><p>pwd</p></td>
+<td class="parameter_description"><p>the PKCS12 file password.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>pwdCallback</p></td>
-<td><p>the password callback.</p></td>
-<td> </td>
+<td class="parameter_name"><p>pwdCallback</p></td>
+<td class="parameter_description"><p>the password callback.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>pwdCallbackCtx</p></td>
-<td><p>the user context for password callback.</p></td>
-<td> </td>
+<td class="parameter_name"><p>pwdCallbackCtx</p></td>
+<td class="parameter_description"><p>the user context for password callback.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN39165"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecNssAppPkcs12Load.returns"></a><h4>Returns</h4>
<p> pointer to the key or NULL if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECNSSAPPPKCS12LOADMEMORY"></a><h3>xmlSecNssAppPkcs12LoadMemory ()</h3>
-<pre class="PROGRAMLISTING"><a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a>
-xmlSecNssAppPkcs12LoadMemory (<code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>,
- <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> dataSize</code>,
- <code class="PARAMETER">const <font><span class="TYPE">char</span></font> *pwd</code>,
- <code class="PARAMETER"><font><span class="TYPE">void</span></font> *pwdCallback</code>,
- <code class="PARAMETER"><font><span class="TYPE">void</span></font> *pwdCallbackCtx</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecNssAppPkcs12LoadMemory"></a><h3>xmlSecNssAppPkcs12LoadMemory ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecKeyPtr</span></font>
+xmlSecNssAppPkcs12LoadMemory (<em class="parameter"><code>const <a class="link" href="xmlsec-xmlsec.html#xmlSecByte" title="xmlSecByte"><span class="type">xmlSecByte</span></a> *data</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="type">xmlSecSize</span></a> dataSize</code></em>,
+ <em class="parameter"><code>const <font><span class="type">char</span></font> *pwd</code></em>,
+ <em class="parameter"><code><font><span class="type">void</span></font> *pwdCallback</code></em>,
+ <em class="parameter"><code><font><span class="type">void</span></font> *pwdCallbackCtx</code></em>);</pre>
<p>Reads key and all associated certificates from the PKCS12 binary data.
For uniformity, call xmlSecNssAppKeyLoad instead of this function. Pass
in format=xmlSecKeyDataFormatPkcs12.</p>
-<div class="REFSECT3">
-<a name="AEN39191"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN39193"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecNssAppPkcs12LoadMemory.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>data</p></td>
-<td><p>the key binary data.</p></td>
-<td> </td>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the key binary data.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>dataSize</p></td>
-<td><p>the key binary data size.</p></td>
-<td> </td>
+<td class="parameter_name"><p>dataSize</p></td>
+<td class="parameter_description"><p>the key binary data size.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>pwd</p></td>
-<td><p>the PKCS12 password.</p></td>
-<td> </td>
+<td class="parameter_name"><p>pwd</p></td>
+<td class="parameter_description"><p>the PKCS12 password.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>pwdCallback</p></td>
-<td><p>the password callback.</p></td>
-<td> </td>
+<td class="parameter_name"><p>pwdCallback</p></td>
+<td class="parameter_description"><p>the password callback.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>pwdCallbackCtx</p></td>
-<td><p>the user context for password callback.</p></td>
-<td> </td>
+<td class="parameter_name"><p>pwdCallbackCtx</p></td>
+<td class="parameter_description"><p>the user context for password callback.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN39226"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecNssAppPkcs12LoadMemory.returns"></a><h4>Returns</h4>
<p> pointer to the key or NULL if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECNSSAPPPKCS12LOADSECITEM"></a><h3>xmlSecNssAppPkcs12LoadSECItem ()</h3>
-<pre class="PROGRAMLISTING"><a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a>
-xmlSecNssAppPkcs12LoadSECItem (<code class="PARAMETER"><font><span class="TYPE">SECItem</span></font> *secItem</code>,
- <code class="PARAMETER">const <font><span class="TYPE">char</span></font> *pwd</code>,
- <code class="PARAMETER"><font><span class="TYPE">void</span></font> *pwdCallback</code>,
- <code class="PARAMETER"><font><span class="TYPE">void</span></font> *pwdCallbackCtx</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecNssAppPkcs12LoadSECItem"></a><h3>xmlSecNssAppPkcs12LoadSECItem ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecKeyPtr</span></font>
+xmlSecNssAppPkcs12LoadSECItem (<em class="parameter"><code><font><span class="type">SECItem</span></font> *secItem</code></em>,
+ <em class="parameter"><code>const <font><span class="type">char</span></font> *pwd</code></em>,
+ <em class="parameter"><code><font><span class="type">void</span></font> *pwdCallback</code></em>,
+ <em class="parameter"><code><font><span class="type">void</span></font> *pwdCallbackCtx</code></em>);</pre>
<p>Reads key and all associated certificates from the PKCS12 SECItem.
For uniformity, call xmlSecNssAppKeyLoad instead of this function. Pass
in format=xmlSecKeyDataFormatPkcs12.</p>
-<div class="REFSECT3">
-<a name="AEN39249"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN39251"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecNssAppPkcs12LoadSECItem.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>secItem</p></td>
-<td><p>the <code class="PARAMETER">SECItem</code>
+<td class="parameter_name"><p>secItem</p></td>
+<td class="parameter_description"><p>the <em class="parameter"><code>SECItem</code></em>
object.</p></td>
-<td> </td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>pwd</p></td>
-<td><p>the PKCS12 file password.</p></td>
-<td> </td>
+<td class="parameter_name"><p>pwd</p></td>
+<td class="parameter_description"><p>the PKCS12 file password.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>pwdCallback</p></td>
-<td><p>the password callback.</p></td>
-<td> </td>
+<td class="parameter_name"><p>pwdCallback</p></td>
+<td class="parameter_description"><p>the password callback.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>pwdCallbackCtx</p></td>
-<td><p>the user context for password callback.</p></td>
-<td> </td>
+<td class="parameter_name"><p>pwdCallbackCtx</p></td>
+<td class="parameter_description"><p>the user context for password callback.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN39279"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecNssAppPkcs12LoadSECItem.returns"></a><h4>Returns</h4>
<p> pointer to the key or NULL if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECNSSAPPKEYCERTLOAD"></a><h3>xmlSecNssAppKeyCertLoad ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecNssAppKeyCertLoad (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>,
- <code class="PARAMETER">const <font><span class="TYPE">char</span></font> *filename</code>,
- <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT"><span class="TYPE">xmlSecKeyDataFormat</span></a> format</code>);</pre>
-<p>Reads the certificate from $<code class="PARAMETER">filename</code>
+<div class="refsect2">
+<a name="xmlSecNssAppKeyCertLoad"></a><h3>xmlSecNssAppKeyCertLoad ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecNssAppKeyCertLoad (<em class="parameter"><code><font><span class="type">xmlSecKeyPtr</span></font> key</code></em>,
+ <em class="parameter"><code>const <font><span class="type">char</span></font> *filename</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataFormat" title="enum xmlSecKeyDataFormat"><span class="type">xmlSecKeyDataFormat</span></a> format</code></em>);</pre>
+<p>Reads the certificate from $<em class="parameter"><code>filename</code></em>
and adds it to key</p>
-<div class="REFSECT3">
-<a name="AEN39300"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN39302"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecNssAppKeyCertLoad.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>key</p></td>
-<td><p>the pointer to key.</p></td>
-<td> </td>
+<td class="parameter_name"><p>key</p></td>
+<td class="parameter_description"><p>the pointer to key.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>filename</p></td>
-<td><p>the certificate filename.</p></td>
-<td> </td>
+<td class="parameter_name"><p>filename</p></td>
+<td class="parameter_description"><p>the certificate filename.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>format</p></td>
-<td><p>the certificate file format.</p></td>
-<td> </td>
+<td class="parameter_name"><p>format</p></td>
+<td class="parameter_description"><p>the certificate file format.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN39323"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecNssAppKeyCertLoad.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECNSSAPPKEYCERTLOADMEMORY"></a><h3>xmlSecNssAppKeyCertLoadMemory ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecNssAppKeyCertLoadMemory (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>,
- <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>,
- <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> dataSize</code>,
- <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT"><span class="TYPE">xmlSecKeyDataFormat</span></a> format</code>);</pre>
-<p>Reads the certificate from <code class="PARAMETER">data</code>
+<div class="refsect2">
+<a name="xmlSecNssAppKeyCertLoadMemory"></a><h3>xmlSecNssAppKeyCertLoadMemory ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecNssAppKeyCertLoadMemory (<em class="parameter"><code><font><span class="type">xmlSecKeyPtr</span></font> key</code></em>,
+ <em class="parameter"><code>const <a class="link" href="xmlsec-xmlsec.html#xmlSecByte" title="xmlSecByte"><span class="type">xmlSecByte</span></a> *data</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="type">xmlSecSize</span></a> dataSize</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataFormat" title="enum xmlSecKeyDataFormat"><span class="type">xmlSecKeyDataFormat</span></a> format</code></em>);</pre>
+<p>Reads the certificate from <em class="parameter"><code>data</code></em>
and adds it to key</p>
-<div class="REFSECT3">
-<a name="AEN39347"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN39349"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecNssAppKeyCertLoadMemory.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>key</p></td>
-<td><p>the pointer to key.</p></td>
-<td> </td>
+<td class="parameter_name"><p>key</p></td>
+<td class="parameter_description"><p>the pointer to key.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>data</p></td>
-<td><p>the key binary data.</p></td>
-<td> </td>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the key binary data.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>dataSize</p></td>
-<td><p>the key binary data size.</p></td>
-<td> </td>
+<td class="parameter_name"><p>dataSize</p></td>
+<td class="parameter_description"><p>the key binary data size.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>format</p></td>
-<td><p>the certificate format.</p></td>
-<td> </td>
+<td class="parameter_name"><p>format</p></td>
+<td class="parameter_description"><p>the certificate format.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN39376"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecNssAppKeyCertLoadMemory.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECNSSAPPKEYCERTLOADSECITEM"></a><h3>xmlSecNssAppKeyCertLoadSECItem ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecNssAppKeyCertLoadSECItem (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>,
- <code class="PARAMETER"><font><span class="TYPE">SECItem</span></font> *secItem</code>,
- <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT"><span class="TYPE">xmlSecKeyDataFormat</span></a> format</code>);</pre>
-<p>Reads the certificate from <code class="PARAMETER">secItem</code>
+<div class="refsect2">
+<a name="xmlSecNssAppKeyCertLoadSECItem"></a><h3>xmlSecNssAppKeyCertLoadSECItem ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecNssAppKeyCertLoadSECItem (<em class="parameter"><code><font><span class="type">xmlSecKeyPtr</span></font> key</code></em>,
+ <em class="parameter"><code><font><span class="type">SECItem</span></font> *secItem</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataFormat" title="enum xmlSecKeyDataFormat"><span class="type">xmlSecKeyDataFormat</span></a> format</code></em>);</pre>
+<p>Reads the certificate from <em class="parameter"><code>secItem</code></em>
and adds it to key</p>
-<div class="REFSECT3">
-<a name="AEN39397"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN39399"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecNssAppKeyCertLoadSECItem.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>key</p></td>
-<td><p>the pointer to key.</p></td>
-<td> </td>
+<td class="parameter_name"><p>key</p></td>
+<td class="parameter_description"><p>the pointer to key.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>secItem</p></td>
-<td><p>the pointer to SECItem.</p></td>
-<td> </td>
+<td class="parameter_name"><p>secItem</p></td>
+<td class="parameter_description"><p>the pointer to SECItem.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>format</p></td>
-<td><p>the certificate format.</p></td>
-<td> </td>
+<td class="parameter_name"><p>format</p></td>
+<td class="parameter_description"><p>the certificate format.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN39420"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecNssAppKeyCertLoadSECItem.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECNSSAPPKEYFROMCERTLOADSECITEM"></a><h3>xmlSecNssAppKeyFromCertLoadSECItem ()</h3>
-<pre class="PROGRAMLISTING"><a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a>
-xmlSecNssAppKeyFromCertLoadSECItem (<code class="PARAMETER"><font><span class="TYPE">SECItem</span></font> *secItem</code>,
- <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT"><span class="TYPE">xmlSecKeyDataFormat</span></a> format</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecNssAppKeyFromCertLoadSECItem"></a><h3>xmlSecNssAppKeyFromCertLoadSECItem ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecKeyPtr</span></font>
+xmlSecNssAppKeyFromCertLoadSECItem (<em class="parameter"><code><font><span class="type">SECItem</span></font> *secItem</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataFormat" title="enum xmlSecKeyDataFormat"><span class="type">xmlSecKeyDataFormat</span></a> format</code></em>);</pre>
<p>Loads public key from cert.</p>
-<div class="REFSECT3">
-<a name="AEN39437"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN39439"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecNssAppKeyFromCertLoadSECItem.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>secItem</p></td>
-<td><p>the <code class="PARAMETER">SECItem</code>
+<td class="parameter_name"><p>secItem</p></td>
+<td class="parameter_description"><p>the <em class="parameter"><code>SECItem</code></em>
object.</p></td>
-<td> </td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>format</p></td>
-<td><p>the cert format.</p></td>
-<td> </td>
+<td class="parameter_name"><p>format</p></td>
+<td class="parameter_description"><p>the cert format.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN39455"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecNssAppKeyFromCertLoadSECItem.returns"></a><h4>Returns</h4>
<p> pointer to key or NULL if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECNSSAPPGETDEFAULTPWDCALLBACK"></a><h3>xmlSecNssAppGetDefaultPwdCallback ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">void</span></font> *
-xmlSecNssAppGetDefaultPwdCallback (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecNssAppGetDefaultPwdCallback"></a><h3>xmlSecNssAppGetDefaultPwdCallback ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">void</span></font> *
+xmlSecNssAppGetDefaultPwdCallback (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>Gets default password callback.</p>
-<div class="REFSECT3">
-<a name="AEN39468"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecNssAppGetDefaultPwdCallback.returns"></a><h4>Returns</h4>
<p> default password callback.</p>
</div>
</div>
</div>
-<div class="REFSECT1">
-<a name="XMLSEC-NSS-APP.OTHER_DETAILS"></a><h2>Types and Values</h2>
-<p></p>
+<div class="refsect1">
+<a name="xmlsec-nss-app.other_details"></a><h2>Types and Values</h2>
</div>
-<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td align="left"><a accesskey="p" href="xmlsec-nss-ref.html"><b><<< XML Security Library for NSS API Reference.</b></a></td>
-<td align="right"><a accesskey="n" href="xmlsec-nss-bignum.html"><b>bignum >>></b></a></td>
-</tr></table>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
</td></tr></table></td>
</tr></table></body>
</html>
diff --git a/docs/api/xmlsec-nss-bignum.html b/docs/api/xmlsec-nss-bignum.html
index 5b91538..41f6d98 100644
--- a/docs/api/xmlsec-nss-bignum.html
+++ b/docs/api/xmlsec-nss-bignum.html
@@ -1,41 +1,14 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>bignum</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79">
-<link rel="HOME" title="XML Security Library Reference Manual" href="index.html">
-<link rel="UP" title="XML Security Library for NSS API Reference." href="xmlsec-nss-ref.html">
-<link rel="PREVIOUS" title="app" href="xmlsec-nss-app.html">
-<link rel="NEXT" title="crypto" href="xmlsec-nss-crypto.html">
-<style type="text/css">.synopsis, .classsynopsis {
- background: #eeeeee;
- border: solid 1px #aaaaaa;
- padding: 0.5em;
-}
-.programlisting {
- background: #eeeeff;
- border: solid 1px #aaaaff;
- padding: 0.5em;
-}
-.variablelist {
- padding: 4px;
- margin-left: 3em;
-}
-.navigation {
- background: #ffeeee;
- border: solid 1px #ffaaaa;
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
-.navigation a {
- color: #770000;
-}
-.navigation a:visited {
- color: #550000;
-}
-.navigation .title {
- font-size: 200%;
-}</style>
+<title>bignum: XML Security Library Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="XML Security Library Reference Manual">
+<link rel="up" href="xmlsec-nss-ref.html" title="XML Security Library for NSS API Reference.">
+<link rel="prev" href="xmlsec-nss-app.html" title="app">
+<link rel="next" href="xmlsec-nss-crypto.html" title="crypto">
+<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
<style type="text/css">
table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
width: 20em;
@@ -100,151 +73,156 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
</table>
</td>
<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent">
-<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td><a accesskey="p" href="xmlsec-nss-app.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="xmlsec-nss-ref.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description"> <span class="dim">|</span>
+ <a href="#xmlsec-nss-bignum.description" class="shortcut">Description</a></span>
+</td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<th width="100%" align="center">XML Security Library Reference Manual</th>
+<td><a accesskey="u" href="xmlsec-nss-ref.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="xmlsec-nss-app.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="xmlsec-nss-crypto.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
-<h1>
-<a name="XMLSEC-NSS-BIGNUM"></a>bignum</h1>
-<div class="REFNAMEDIV">
-<a name="AEN39479"></a><h2>Name</h2>bignum -- Big numbers helper functions.</div>
-<div class="REFSECT1">
-<a name="XMLSEC-NSS-BIGNUM.FUNCTIONS"></a><h2>Functions</h2>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN39484"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
+<div class="refentry">
+<a name="xmlsec-nss-bignum"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="xmlsec-nss-bignum.top_of_page"></a>bignum</span></h2>
+<p>bignum — Big numbers helper functions.</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="xmlsec-nss-bignum.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
<tbody>
<tr>
-<td>
-<font><span class="RETURNVALUE">SECItem</span></font> *</td>
-<td>
-<a href="xmlsec-nss-bignum.html#XMLSECNSSNODEGETBIGNUMVALUE">xmlSecNssNodeGetBigNumValue</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">SECItem</span></font> *
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-nss-bignum.html#xmlSecNssNodeGetBigNumValue" title="xmlSecNssNodeGetBigNumValue ()">xmlSecNssNodeGetBigNumValue</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-nss-bignum.html#XMLSECNSSNODESETBIGNUMVALUE">xmlSecNssNodeSetBigNumValue</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-nss-bignum.html#xmlSecNssNodeSetBigNumValue" title="xmlSecNssNodeSetBigNumValue ()">xmlSecNssNodeSetBigNumValue</a> <span class="c_punctuation">()</span>
</td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
+<div class="refsect1">
+<a name="xmlsec-nss-bignum.description"></a><h2>Description</h2>
+<p>
+Big numbers helper functions.
+</p>
</div>
-<div class="REFSECT1">
-<a name="XMLSEC-NSS-BIGNUM.DESCRIPTION"></a><h2>Description</h2>
-<p>Big numbers helper functions.</p>
-</div>
-<div class="REFSECT1">
-<a name="XMLSEC-NSS-BIGNUM.FUNCTIONS_DETAILS"></a><h2>Functions</h2>
-<div class="REFSECT2">
-<a name="XMLSECNSSNODEGETBIGNUMVALUE"></a><h3>xmlSecNssNodeGetBigNumValue ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">SECItem</span></font> *
-xmlSecNssNodeGetBigNumValue (<code class="PARAMETER"><font><span class="TYPE">PRArenaPool</span></font> *arena</code>,
- <code class="PARAMETER">const <font><span class="TYPE">xmlNodePtr</span></font> cur</code>,
- <code class="PARAMETER"><font><span class="TYPE">SECItem</span></font> *a</code>);</pre>
+<div class="refsect1">
+<a name="xmlsec-nss-bignum.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="xmlSecNssNodeGetBigNumValue"></a><h3>xmlSecNssNodeGetBigNumValue ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">SECItem</span></font> *
+xmlSecNssNodeGetBigNumValue (<em class="parameter"><code><font><span class="type">PRArenaPool</span></font> *arena</code></em>,
+ <em class="parameter"><code>const <font><span class="type">xmlNodePtr</span></font> cur</code></em>,
+ <em class="parameter"><code><font><span class="type">SECItem</span></font> *a</code></em>);</pre>
<p>Converts the node content from CryptoBinary format
-(http://www.w3.org/TR/xmldsig-core/<font><span class="TYPE">sec-CryptoBinary</span></font>)
+(http://www.w3.org/TR/xmldsig-core/<font><span class="type">sec-CryptoBinary</span></font>)
to a SECItem. If no SECItem object provided then a new
one is created (caller is responsible for freeing it).</p>
-<div class="REFSECT3">
-<a name="AEN39525"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN39527"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecNssNodeGetBigNumValue.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>arena</p></td>
-<td><p>the arena from which to allocate memory</p></td>
-<td> </td>
+<td class="parameter_name"><p>arena</p></td>
+<td class="parameter_description"><p>the arena from which to allocate memory</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>cur</p></td>
-<td><p>the poitner to an XML node.</p></td>
-<td> </td>
+<td class="parameter_name"><p>cur</p></td>
+<td class="parameter_description"><p>the poitner to an XML node.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>a</p></td>
-<td><p>a SECItem object to hold the BigNum value</p></td>
-<td> </td>
+<td class="parameter_name"><p>a</p></td>
+<td class="parameter_description"><p>a SECItem object to hold the BigNum value</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN39548"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecNssNodeGetBigNumValue.returns"></a><h4>Returns</h4>
<p> a pointer to SECItem produced from CryptoBinary string
or NULL if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECNSSNODESETBIGNUMVALUE"></a><h3>xmlSecNssNodeSetBigNumValue ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecNssNodeSetBigNumValue (<code class="PARAMETER"><font><span class="TYPE">xmlNodePtr</span></font> cur</code>,
- <code class="PARAMETER">const <font><span class="TYPE">SECItem</span></font> *a</code>,
- <code class="PARAMETER"><font><span class="TYPE">int</span></font> addLineBreaks</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecNssNodeSetBigNumValue"></a><h3>xmlSecNssNodeSetBigNumValue ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecNssNodeSetBigNumValue (<em class="parameter"><code><font><span class="type">xmlNodePtr</span></font> cur</code></em>,
+ <em class="parameter"><code>const <font><span class="type">SECItem</span></font> *a</code></em>,
+ <em class="parameter"><code><font><span class="type">int</span></font> addLineBreaks</code></em>);</pre>
<p>Converts SECItem to CryptoBinary string
-(http://www.w3.org/TR/xmldsig-core/<font><span class="TYPE">sec-CryptoBinary</span></font>)
+(http://www.w3.org/TR/xmldsig-core/<font><span class="type">sec-CryptoBinary</span></font>)
and sets it as the content of the given node. If the
addLineBreaks is set then line breaks are added
before and after the CryptoBinary string.</p>
-<div class="REFSECT3">
-<a name="AEN39570"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN39572"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecNssNodeSetBigNumValue.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>cur</p></td>
-<td><p>the pointer to an XML node.</p></td>
-<td> </td>
+<td class="parameter_name"><p>cur</p></td>
+<td class="parameter_description"><p>the pointer to an XML node.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>a</p></td>
-<td><p>a SECItem containing the BigNum value.</p></td>
-<td> </td>
+<td class="parameter_name"><p>a</p></td>
+<td class="parameter_description"><p>a SECItem containing the BigNum value.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>addLineBreaks</p></td>
-<td><p>if the flag is equal to 1 then
+<td class="parameter_name"><p>addLineBreaks</p></td>
+<td class="parameter_description"><p>if the flag is equal to 1 then
linebreaks will be added before and after
new buffer content.</p></td>
-<td> </td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN39593"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecNssNodeSetBigNumValue.returns"></a><h4>Returns</h4>
<p> 0 on success or -1 otherwise.</p>
</div>
</div>
</div>
-<div class="REFSECT1">
-<a name="XMLSEC-NSS-BIGNUM.OTHER_DETAILS"></a><h2>Types and Values</h2>
-<p></p>
+<div class="refsect1">
+<a name="xmlsec-nss-bignum.other_details"></a><h2>Types and Values</h2>
</div>
-<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td align="left"><a accesskey="p" href="xmlsec-nss-app.html"><b><<< app</b></a></td>
-<td align="right"><a accesskey="n" href="xmlsec-nss-crypto.html"><b>crypto >>></b></a></td>
-</tr></table>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
</td></tr></table></td>
</tr></table></body>
</html>
diff --git a/docs/api/xmlsec-nss-crypto.html b/docs/api/xmlsec-nss-crypto.html
index f0b83ea..0542e2f 100644
--- a/docs/api/xmlsec-nss-crypto.html
+++ b/docs/api/xmlsec-nss-crypto.html
@@ -1,41 +1,14 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>crypto</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79">
-<link rel="HOME" title="XML Security Library Reference Manual" href="index.html">
-<link rel="UP" title="XML Security Library for NSS API Reference." href="xmlsec-nss-ref.html">
-<link rel="PREVIOUS" title="bignum" href="xmlsec-nss-bignum.html">
-<link rel="NEXT" title="keysstore" href="xmlsec-nss-keysstore.html">
-<style type="text/css">.synopsis, .classsynopsis {
- background: #eeeeee;
- border: solid 1px #aaaaaa;
- padding: 0.5em;
-}
-.programlisting {
- background: #eeeeff;
- border: solid 1px #aaaaff;
- padding: 0.5em;
-}
-.variablelist {
- padding: 4px;
- margin-left: 3em;
-}
-.navigation {
- background: #ffeeee;
- border: solid 1px #ffaaaa;
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
-.navigation a {
- color: #770000;
-}
-.navigation a:visited {
- color: #550000;
-}
-.navigation .title {
- font-size: 200%;
-}</style>
+<title>crypto: XML Security Library Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="XML Security Library Reference Manual">
+<link rel="up" href="xmlsec-nss-ref.html" title="XML Security Library for NSS API Reference.">
+<link rel="prev" href="xmlsec-nss-bignum.html" title="bignum">
+<link rel="next" href="xmlsec-nss-keysstore.html" title="keysstore">
+<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
<style type="text/css">
table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
width: 20em;
@@ -100,1326 +73,1524 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
</table>
</td>
<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent">
-<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td><a accesskey="p" href="xmlsec-nss-bignum.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="xmlsec-nss-ref.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description"> <span class="dim">|</span>
+ <a href="#xmlsec-nss-crypto.description" class="shortcut">Description</a></span>
+</td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<th width="100%" align="center">XML Security Library Reference Manual</th>
+<td><a accesskey="u" href="xmlsec-nss-ref.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="xmlsec-nss-bignum.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="xmlsec-nss-keysstore.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
-<h1>
-<a name="XMLSEC-NSS-CRYPTO"></a>crypto</h1>
-<div class="REFNAMEDIV">
-<a name="AEN39604"></a><h2>Name</h2>crypto -- Crypto transforms implementation for NSS.</div>
-<div class="REFSECT1">
-<a name="XMLSEC-NSS-CRYPTO.FUNCTIONS"></a><h2>Functions</h2>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN39609"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
+<div class="refentry">
+<a name="xmlsec-nss-crypto"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="xmlsec-nss-crypto.top_of_page"></a>crypto</span></h2>
+<p>crypto — Crypto transforms implementation for NSS.</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="xmlsec-nss-crypto.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
<tbody>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecCryptoDLFunctionsPtr</span></font></td>
-<td>
-<a href="xmlsec-nss-crypto.html#XMLSECCRYPTOGETFUNCTIONS-NSS">xmlSecCryptoGetFunctions_nss</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecCryptoDLFunctionsPtr</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-nss-crypto.html#xmlSecCryptoGetFunctions-nss" title="xmlSecCryptoGetFunctions_nss ()">xmlSecCryptoGetFunctions_nss</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-nss-crypto.html#XMLSECNSSINIT">xmlSecNssInit</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-nss-crypto.html#xmlSecNssInit" title="xmlSecNssInit ()">xmlSecNssInit</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-nss-crypto.html#XMLSECNSSSHUTDOWN">xmlSecNssShutdown</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-nss-crypto.html#xmlSecNssShutdown" title="xmlSecNssShutdown ()">xmlSecNssShutdown</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-nss-crypto.html#XMLSECNSSKEYSMNGRINIT">xmlSecNssKeysMngrInit</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-nss-crypto.html#xmlSecNssKeysMngrInit" title="xmlSecNssKeysMngrInit ()">xmlSecNssKeysMngrInit</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-nss-crypto.html#XMLSECNSSGENERATERANDOM">xmlSecNssGenerateRandom</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-nss-crypto.html#xmlSecNssGenerateRandom" title="xmlSecNssGenerateRandom ()">xmlSecNssGenerateRandom</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">void</span></font></td>
-<td>
-<a href="xmlsec-nss-crypto.html#XMLSECNSSERRORSDEFAULTCALLBACK">xmlSecNssErrorsDefaultCallback</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">void</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-nss-crypto.html#xmlSecNssErrorsDefaultCallback" title="xmlSecNssErrorsDefaultCallback ()">xmlSecNssErrorsDefaultCallback</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td>
-<font><span class="RETURNVALUE">PK11SlotInfo</span></font> *</td>
-<td>
-<a href="xmlsec-nss-crypto.html#XMLSECNSSGETINTERNALKEYSLOT">xmlSecNssGetInternalKeySlot</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">PK11SlotInfo</span></font> *
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-nss-crypto.html#xmlSecNssGetInternalKeySlot" title="xmlSecNssGetInternalKeySlot ()">xmlSecNssGetInternalKeySlot</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecKeyDataId</span></font></td>
-<td>
-<a href="xmlsec-nss-crypto.html#XMLSECNSSKEYDATAAESGETKLASS">xmlSecNssKeyDataAesGetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecKeyDataId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-nss-crypto.html#xmlSecNssKeyDataAesGetKlass" title="xmlSecNssKeyDataAesGetKlass ()">xmlSecNssKeyDataAesGetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-nss-crypto.html#XMLSECNSSKEYDATAAESSET">xmlSecNssKeyDataAesSet</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-nss-crypto.html#xmlSecNssKeyDataAesSet" title="xmlSecNssKeyDataAesSet ()">xmlSecNssKeyDataAesSet</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMAES128CBCGETKLASS">xmlSecNssTransformAes128CbcGetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-nss-crypto.html#xmlSecNssTransformAes128CbcGetKlass" title="xmlSecNssTransformAes128CbcGetKlass ()">xmlSecNssTransformAes128CbcGetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMAES192CBCGETKLASS">xmlSecNssTransformAes192CbcGetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-nss-crypto.html#xmlSecNssTransformAes192CbcGetKlass" title="xmlSecNssTransformAes192CbcGetKlass ()">xmlSecNssTransformAes192CbcGetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMAES256CBCGETKLASS">xmlSecNssTransformAes256CbcGetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-nss-crypto.html#xmlSecNssTransformAes256CbcGetKlass" title="xmlSecNssTransformAes256CbcGetKlass ()">xmlSecNssTransformAes256CbcGetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMKWAES128GETKLASS">xmlSecNssTransformKWAes128GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-nss-crypto.html#xmlSecNssTransformKWAes128GetKlass" title="xmlSecNssTransformKWAes128GetKlass ()">xmlSecNssTransformKWAes128GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMKWAES192GETKLASS">xmlSecNssTransformKWAes192GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-nss-crypto.html#xmlSecNssTransformKWAes192GetKlass" title="xmlSecNssTransformKWAes192GetKlass ()">xmlSecNssTransformKWAes192GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMKWAES256GETKLASS">xmlSecNssTransformKWAes256GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-nss-crypto.html#xmlSecNssTransformKWAes256GetKlass" title="xmlSecNssTransformKWAes256GetKlass ()">xmlSecNssTransformKWAes256GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecKeyDataId</span></font></td>
-<td>
-<a href="xmlsec-nss-crypto.html#XMLSECNSSKEYDATADESGETKLASS">xmlSecNssKeyDataDesGetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecKeyDataId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-nss-crypto.html#xmlSecNssKeyDataDesGetKlass" title="xmlSecNssKeyDataDesGetKlass ()">xmlSecNssKeyDataDesGetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-nss-crypto.html#XMLSECNSSKEYDATADESSET">xmlSecNssKeyDataDesSet</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-nss-crypto.html#xmlSecNssKeyDataDesSet" title="xmlSecNssKeyDataDesSet ()">xmlSecNssKeyDataDesSet</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMDES3CBCGETKLASS">xmlSecNssTransformDes3CbcGetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-nss-crypto.html#xmlSecNssTransformDes3CbcGetKlass" title="xmlSecNssTransformDes3CbcGetKlass ()">xmlSecNssTransformDes3CbcGetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMKWDES3GETKLASS">xmlSecNssTransformKWDes3GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-nss-crypto.html#xmlSecNssTransformKWDes3GetKlass" title="xmlSecNssTransformKWDes3GetKlass ()">xmlSecNssTransformKWDes3GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecKeyDataId</span></font></td>
-<td>
-<a href="xmlsec-nss-crypto.html#XMLSECNSSKEYDATADSAGETKLASS">xmlSecNssKeyDataDsaGetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecKeyDataId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-nss-crypto.html#xmlSecNssKeyDataDsaGetKlass" title="xmlSecNssKeyDataDsaGetKlass ()">xmlSecNssKeyDataDsaGetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMDSASHA1GETKLASS">xmlSecNssTransformDsaSha1GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-nss-crypto.html#xmlSecNssTransformDsaSha1GetKlass" title="xmlSecNssTransformDsaSha1GetKlass ()">xmlSecNssTransformDsaSha1GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-nss-crypto.html#XMLSECNSSHMACGETMINOUTPUTLENGTH">xmlSecNssHmacGetMinOutputLength</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecKeyDataId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-nss-crypto.html#xmlSecNssKeyDataEcdsaGetKlass" title="xmlSecNssKeyDataEcdsaGetKlass ()">xmlSecNssKeyDataEcdsaGetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">void</span></font></td>
-<td>
-<a href="xmlsec-nss-crypto.html#XMLSECNSSHMACSETMINOUTPUTLENGTH">xmlSecNssHmacSetMinOutputLength</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-nss-crypto.html#xmlSecNssTransformEcdsaSha1GetKlass" title="xmlSecNssTransformEcdsaSha1GetKlass ()">xmlSecNssTransformEcdsaSha1GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecKeyDataId</span></font></td>
-<td>
-<a href="xmlsec-nss-crypto.html#XMLSECNSSKEYDATAHMACGETKLASS">xmlSecNssKeyDataHmacGetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-nss-crypto.html#xmlSecNssTransformEcdsaSha256GetKlass" title="xmlSecNssTransformEcdsaSha256GetKlass ()">xmlSecNssTransformEcdsaSha256GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-nss-crypto.html#XMLSECNSSKEYDATAHMACSET">xmlSecNssKeyDataHmacSet</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-nss-crypto.html#xmlSecNssTransformEcdsaSha512GetKlass" title="xmlSecNssTransformEcdsaSha512GetKlass ()">xmlSecNssTransformEcdsaSha512GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMHMACMD5GETKLASS">xmlSecNssTransformHmacMd5GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-nss-crypto.html#xmlSecNssHmacGetMinOutputLength" title="xmlSecNssHmacGetMinOutputLength ()">xmlSecNssHmacGetMinOutputLength</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMHMACRIPEMD160GETKLASS">xmlSecNssTransformHmacRipemd160GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">void</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-nss-crypto.html#xmlSecNssHmacSetMinOutputLength" title="xmlSecNssHmacSetMinOutputLength ()">xmlSecNssHmacSetMinOutputLength</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMHMACSHA1GETKLASS">xmlSecNssTransformHmacSha1GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecKeyDataId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-nss-crypto.html#xmlSecNssKeyDataHmacGetKlass" title="xmlSecNssKeyDataHmacGetKlass ()">xmlSecNssKeyDataHmacGetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMHMACSHA256GETKLASS">xmlSecNssTransformHmacSha256GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-nss-crypto.html#xmlSecNssKeyDataHmacSet" title="xmlSecNssKeyDataHmacSet ()">xmlSecNssKeyDataHmacSet</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMHMACSHA384GETKLASS">xmlSecNssTransformHmacSha384GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-nss-crypto.html#xmlSecNssTransformHmacMd5GetKlass" title="xmlSecNssTransformHmacMd5GetKlass ()">xmlSecNssTransformHmacMd5GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMHMACSHA512GETKLASS">xmlSecNssTransformHmacSha512GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-nss-crypto.html#xmlSecNssTransformHmacRipemd160GetKlass" title="xmlSecNssTransformHmacRipemd160GetKlass ()">xmlSecNssTransformHmacRipemd160GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecKeyDataId</span></font></td>
-<td>
-<a href="xmlsec-nss-crypto.html#XMLSECNSSKEYDATARSAGETKLASS">xmlSecNssKeyDataRsaGetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-nss-crypto.html#xmlSecNssTransformHmacSha1GetKlass" title="xmlSecNssTransformHmacSha1GetKlass ()">xmlSecNssTransformHmacSha1GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMRSAMD5GETKLASS">xmlSecNssTransformRsaMd5GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-nss-crypto.html#xmlSecNssTransformHmacSha256GetKlass" title="xmlSecNssTransformHmacSha256GetKlass ()">xmlSecNssTransformHmacSha256GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMRSASHA1GETKLASS">xmlSecNssTransformRsaSha1GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-nss-crypto.html#xmlSecNssTransformHmacSha384GetKlass" title="xmlSecNssTransformHmacSha384GetKlass ()">xmlSecNssTransformHmacSha384GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMRSASHA256GETKLASS">xmlSecNssTransformRsaSha256GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-nss-crypto.html#xmlSecNssTransformHmacSha512GetKlass" title="xmlSecNssTransformHmacSha512GetKlass ()">xmlSecNssTransformHmacSha512GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMRSASHA384GETKLASS">xmlSecNssTransformRsaSha384GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecKeyDataId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-nss-crypto.html#xmlSecNssKeyDataRsaGetKlass" title="xmlSecNssKeyDataRsaGetKlass ()">xmlSecNssKeyDataRsaGetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMRSASHA512GETKLASS">xmlSecNssTransformRsaSha512GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-nss-crypto.html#xmlSecNssTransformRsaMd5GetKlass" title="xmlSecNssTransformRsaMd5GetKlass ()">xmlSecNssTransformRsaMd5GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMRSAPKCS1GETKLASS">xmlSecNssTransformRsaPkcs1GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-nss-crypto.html#xmlSecNssTransformRsaSha1GetKlass" title="xmlSecNssTransformRsaSha1GetKlass ()">xmlSecNssTransformRsaSha1GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMRSAOAEPGETKLASS">xmlSecNssTransformRsaOaepGetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-nss-crypto.html#xmlSecNssTransformRsaSha256GetKlass" title="xmlSecNssTransformRsaSha256GetKlass ()">xmlSecNssTransformRsaSha256GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMSHA1GETKLASS">xmlSecNssTransformSha1GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-nss-crypto.html#xmlSecNssTransformRsaSha384GetKlass" title="xmlSecNssTransformRsaSha384GetKlass ()">xmlSecNssTransformRsaSha384GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMSHA256GETKLASS">xmlSecNssTransformSha256GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-nss-crypto.html#xmlSecNssTransformRsaSha512GetKlass" title="xmlSecNssTransformRsaSha512GetKlass ()">xmlSecNssTransformRsaSha512GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMSHA384GETKLASS">xmlSecNssTransformSha384GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-nss-crypto.html#xmlSecNssTransformRsaPkcs1GetKlass" title="xmlSecNssTransformRsaPkcs1GetKlass ()">xmlSecNssTransformRsaPkcs1GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMSHA512GETKLASS">xmlSecNssTransformSha512GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-nss-crypto.html#xmlSecNssTransformRsaOaepGetKlass" title="xmlSecNssTransformRsaOaepGetKlass ()">xmlSecNssTransformRsaOaepGetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMMD5GETKLASS">xmlSecNssTransformMd5GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-nss-crypto.html#xmlSecNssTransformSha1GetKlass" title="xmlSecNssTransformSha1GetKlass ()">xmlSecNssTransformSha1GetKlass</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-nss-crypto.html#xmlSecNssTransformSha256GetKlass" title="xmlSecNssTransformSha256GetKlass ()">xmlSecNssTransformSha256GetKlass</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-nss-crypto.html#xmlSecNssTransformSha384GetKlass" title="xmlSecNssTransformSha384GetKlass ()">xmlSecNssTransformSha384GetKlass</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-nss-crypto.html#xmlSecNssTransformSha512GetKlass" title="xmlSecNssTransformSha512GetKlass ()">xmlSecNssTransformSha512GetKlass</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-nss-crypto.html#xmlSecNssTransformMd5GetKlass" title="xmlSecNssTransformMd5GetKlass ()">xmlSecNssTransformMd5GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
-</div>
-<div class="REFSECT1">
-<a name="XMLSEC-NSS-CRYPTO.OTHER"></a><h2>Types and Values</h2>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN39922"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="xmlsec-nss-crypto.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
<tbody>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-nss-crypto.html#XMLSECNSSKEYDATAAESID">xmlSecNssKeyDataAesId</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-nss-crypto.html#xmlSecNssKeyDataAesId" title="xmlSecNssKeyDataAesId">xmlSecNssKeyDataAesId</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMAES128CBCID">xmlSecNssTransformAes128CbcId</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-nss-crypto.html#xmlSecNssTransformAes128CbcId" title="xmlSecNssTransformAes128CbcId">xmlSecNssTransformAes128CbcId</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMAES192CBCID">xmlSecNssTransformAes192CbcId</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-nss-crypto.html#xmlSecNssTransformAes192CbcId" title="xmlSecNssTransformAes192CbcId">xmlSecNssTransformAes192CbcId</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMAES256CBCID">xmlSecNssTransformAes256CbcId</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-nss-crypto.html#xmlSecNssTransformAes256CbcId" title="xmlSecNssTransformAes256CbcId">xmlSecNssTransformAes256CbcId</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMKWAES128ID">xmlSecNssTransformKWAes128Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-nss-crypto.html#xmlSecNssTransformKWAes128Id" title="xmlSecNssTransformKWAes128Id">xmlSecNssTransformKWAes128Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMKWAES192ID">xmlSecNssTransformKWAes192Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-nss-crypto.html#xmlSecNssTransformKWAes192Id" title="xmlSecNssTransformKWAes192Id">xmlSecNssTransformKWAes192Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMKWAES256ID">xmlSecNssTransformKWAes256Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-nss-crypto.html#xmlSecNssTransformKWAes256Id" title="xmlSecNssTransformKWAes256Id">xmlSecNssTransformKWAes256Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-nss-crypto.html#XMLSECNSSKEYDATADESID">xmlSecNssKeyDataDesId</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-nss-crypto.html#xmlSecNssKeyDataDesId" title="xmlSecNssKeyDataDesId">xmlSecNssKeyDataDesId</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMDES3CBCID">xmlSecNssTransformDes3CbcId</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-nss-crypto.html#xmlSecNssTransformDes3CbcId" title="xmlSecNssTransformDes3CbcId">xmlSecNssTransformDes3CbcId</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMKWDES3ID">xmlSecNssTransformKWDes3Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-nss-crypto.html#xmlSecNssTransformKWDes3Id" title="xmlSecNssTransformKWDes3Id">xmlSecNssTransformKWDes3Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-nss-crypto.html#XMLSECNSSKEYDATADSAID">xmlSecNssKeyDataDsaId</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-nss-crypto.html#xmlSecNssKeyDataDsaId" title="xmlSecNssKeyDataDsaId">xmlSecNssKeyDataDsaId</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMDSASHA1ID">xmlSecNssTransformDsaSha1Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-nss-crypto.html#xmlSecNssTransformDsaSha1Id" title="xmlSecNssTransformDsaSha1Id">xmlSecNssTransformDsaSha1Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-nss-crypto.html#XMLSECNSSKEYDATAHMACID">xmlSecNssKeyDataHmacId</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-nss-crypto.html#xmlSecNssKeyDataEcdsaId" title="xmlSecNssKeyDataEcdsaId">xmlSecNssKeyDataEcdsaId</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMHMACMD5ID">xmlSecNssTransformHmacMd5Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-nss-crypto.html#xmlSecNssTransformEcdsaSha1Id" title="xmlSecNssTransformEcdsaSha1Id">xmlSecNssTransformEcdsaSha1Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMHMACRIPEMD160ID">xmlSecNssTransformHmacRipemd160Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-nss-crypto.html#xmlSecNssTransformEcdsaSha256Id" title="xmlSecNssTransformEcdsaSha256Id">xmlSecNssTransformEcdsaSha256Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMHMACSHA1ID">xmlSecNssTransformHmacSha1Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-nss-crypto.html#xmlSecNssTransformEcdsaSha512Id" title="xmlSecNssTransformEcdsaSha512Id">xmlSecNssTransformEcdsaSha512Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMHMACSHA256ID">xmlSecNssTransformHmacSha256Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-nss-crypto.html#xmlSecNssKeyDataHmacId" title="xmlSecNssKeyDataHmacId">xmlSecNssKeyDataHmacId</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMHMACSHA384ID">xmlSecNssTransformHmacSha384Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-nss-crypto.html#xmlSecNssTransformHmacMd5Id" title="xmlSecNssTransformHmacMd5Id">xmlSecNssTransformHmacMd5Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMHMACSHA512ID">xmlSecNssTransformHmacSha512Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-nss-crypto.html#xmlSecNssTransformHmacRipemd160Id" title="xmlSecNssTransformHmacRipemd160Id">xmlSecNssTransformHmacRipemd160Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-nss-crypto.html#XMLSECNSSKEYDATARSAID">xmlSecNssKeyDataRsaId</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-nss-crypto.html#xmlSecNssTransformHmacSha1Id" title="xmlSecNssTransformHmacSha1Id">xmlSecNssTransformHmacSha1Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMRSAMD5ID">xmlSecNssTransformRsaMd5Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-nss-crypto.html#xmlSecNssTransformHmacSha256Id" title="xmlSecNssTransformHmacSha256Id">xmlSecNssTransformHmacSha256Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMRSASHA1ID">xmlSecNssTransformRsaSha1Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-nss-crypto.html#xmlSecNssTransformHmacSha384Id" title="xmlSecNssTransformHmacSha384Id">xmlSecNssTransformHmacSha384Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMRSASHA256ID">xmlSecNssTransformRsaSha256Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-nss-crypto.html#xmlSecNssTransformHmacSha512Id" title="xmlSecNssTransformHmacSha512Id">xmlSecNssTransformHmacSha512Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMRSASHA384ID">xmlSecNssTransformRsaSha384Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-nss-crypto.html#xmlSecNssKeyDataRsaId" title="xmlSecNssKeyDataRsaId">xmlSecNssKeyDataRsaId</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMRSASHA512ID">xmlSecNssTransformRsaSha512Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-nss-crypto.html#xmlSecNssTransformRsaMd5Id" title="xmlSecNssTransformRsaMd5Id">xmlSecNssTransformRsaMd5Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMRSAPKCS1ID">xmlSecNssTransformRsaPkcs1Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-nss-crypto.html#xmlSecNssTransformRsaSha1Id" title="xmlSecNssTransformRsaSha1Id">xmlSecNssTransformRsaSha1Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMRSAOAEPID">xmlSecNssTransformRsaOaepId</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-nss-crypto.html#xmlSecNssTransformRsaSha256Id" title="xmlSecNssTransformRsaSha256Id">xmlSecNssTransformRsaSha256Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMSHA1ID">xmlSecNssTransformSha1Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-nss-crypto.html#xmlSecNssTransformRsaSha384Id" title="xmlSecNssTransformRsaSha384Id">xmlSecNssTransformRsaSha384Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMSHA256ID">xmlSecNssTransformSha256Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-nss-crypto.html#xmlSecNssTransformRsaSha512Id" title="xmlSecNssTransformRsaSha512Id">xmlSecNssTransformRsaSha512Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMSHA384ID">xmlSecNssTransformSha384Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-nss-crypto.html#xmlSecNssTransformRsaPkcs1Id" title="xmlSecNssTransformRsaPkcs1Id">xmlSecNssTransformRsaPkcs1Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMSHA512ID">xmlSecNssTransformSha512Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-nss-crypto.html#xmlSecNssTransformRsaOaepId" title="xmlSecNssTransformRsaOaepId">xmlSecNssTransformRsaOaepId</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-nss-crypto.html#XMLSECNSSTRANSFORMMD5ID">xmlSecNssTransformMd5Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-nss-crypto.html#xmlSecNssTransformSha1Id" title="xmlSecNssTransformSha1Id">xmlSecNssTransformSha1Id</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-nss-crypto.html#xmlSecNssTransformSha256Id" title="xmlSecNssTransformSha256Id">xmlSecNssTransformSha256Id</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-nss-crypto.html#xmlSecNssTransformSha384Id" title="xmlSecNssTransformSha384Id">xmlSecNssTransformSha384Id</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-nss-crypto.html#xmlSecNssTransformSha512Id" title="xmlSecNssTransformSha512Id">xmlSecNssTransformSha512Id</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-nss-crypto.html#xmlSecNssTransformMd5Id" title="xmlSecNssTransformMd5Id">xmlSecNssTransformMd5Id</a></td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
-</div>
-<div class="REFSECT1">
-<a name="XMLSEC-NSS-CRYPTO.DESCRIPTION"></a><h2>Description</h2>
-<p>Crypto transforms implementation for NSS.</p>
-</div>
-<div class="REFSECT1">
-<a name="XMLSEC-NSS-CRYPTO.FUNCTIONS_DETAILS"></a><h2>Functions</h2>
-<div class="REFSECT2">
-<a name="XMLSECCRYPTOGETFUNCTIONS-NSS"></a><h3>xmlSecCryptoGetFunctions_nss ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecCryptoDLFunctionsPtr</span></font>
-xmlSecCryptoGetFunctions_nss (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="xmlsec-nss-crypto.description"></a><h2>Description</h2>
+<p>
+Crypto transforms implementation for NSS.
+</p>
+</div>
+<div class="refsect1">
+<a name="xmlsec-nss-crypto.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="xmlSecCryptoGetFunctions-nss"></a><h3>xmlSecCryptoGetFunctions_nss ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecCryptoDLFunctionsPtr</span></font>
+xmlSecCryptoGetFunctions_nss (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>Gets the pointer to xmlsec-nss functions table.</p>
-<div class="REFSECT3">
-<a name="AEN40068"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecCryptoGetFunctions-nss.returns"></a><h4>Returns</h4>
<p> the xmlsec-nss functions table or NULL if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECNSSINIT"></a><h3>xmlSecNssInit ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecNssInit (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecNssInit"></a><h3>xmlSecNssInit ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecNssInit (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>XMLSec library specific crypto engine initialization.</p>
-<div class="REFSECT3">
-<a name="AEN40081"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecNssInit.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECNSSSHUTDOWN"></a><h3>xmlSecNssShutdown ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecNssShutdown (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecNssShutdown"></a><h3>xmlSecNssShutdown ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecNssShutdown (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>XMLSec library specific crypto engine shutdown.</p>
-<div class="REFSECT3">
-<a name="AEN40094"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecNssShutdown.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECNSSKEYSMNGRINIT"></a><h3>xmlSecNssKeysMngrInit ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecNssKeysMngrInit (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecNssKeysMngrInit"></a><h3>xmlSecNssKeysMngrInit ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecNssKeysMngrInit (<em class="parameter"><code><font><span class="type">xmlSecKeysMngrPtr</span></font> mngr</code></em>);</pre>
<p>Adds NSS specific key data stores in keys manager.</p>
-<div class="REFSECT3">
-<a name="AEN40108"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN40110"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecNssKeysMngrInit.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>mngr</p></td>
-<td><p>the pointer to keys manager.</p></td>
-<td> </td>
+<td class="parameter_name"><p>mngr</p></td>
+<td class="parameter_description"><p>the pointer to keys manager.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN40119"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecNssKeysMngrInit.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECNSSGENERATERANDOM"></a><h3>xmlSecNssGenerateRandom ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecNssGenerateRandom (<code class="PARAMETER"><a href="xmlsec-buffer.html#XMLSECBUFFER"><span class="TYPE">xmlSecBufferPtr</span></a> buffer</code>,
- <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> size</code>);</pre>
-<p>Generates <code class="PARAMETER">size</code>
- random bytes and puts result in <code class="PARAMETER">buffer</code>
+<div class="refsect2">
+<a name="xmlSecNssGenerateRandom"></a><h3>xmlSecNssGenerateRandom ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecNssGenerateRandom (<em class="parameter"><code><font><span class="type">xmlSecBufferPtr</span></font> buffer</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="type">xmlSecSize</span></a> size</code></em>);</pre>
+<p>Generates <em class="parameter"><code>size</code></em>
+ random bytes and puts result in <em class="parameter"><code>buffer</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN40138"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN40140"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecNssGenerateRandom.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>buffer</p></td>
-<td><p>the destination buffer.</p></td>
-<td> </td>
+<td class="parameter_name"><p>buffer</p></td>
+<td class="parameter_description"><p>the destination buffer.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>size</p></td>
-<td><p>the numer of bytes to generate.</p></td>
-<td> </td>
+<td class="parameter_name"><p>size</p></td>
+<td class="parameter_description"><p>the numer of bytes to generate.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN40155"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecNssGenerateRandom.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECNSSERRORSDEFAULTCALLBACK"></a><h3>xmlSecNssErrorsDefaultCallback ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">void</span></font>
-xmlSecNssErrorsDefaultCallback (<code class="PARAMETER">const <font><span class="TYPE">char</span></font> *file</code>,
- <code class="PARAMETER"><font><span class="TYPE">int</span></font> line</code>,
- <code class="PARAMETER">const <font><span class="TYPE">char</span></font> *func</code>,
- <code class="PARAMETER">const <font><span class="TYPE">char</span></font> *errorObject</code>,
- <code class="PARAMETER">const <font><span class="TYPE">char</span></font> *errorSubject</code>,
- <code class="PARAMETER"><font><span class="TYPE">int</span></font> reason</code>,
- <code class="PARAMETER">const <font><span class="TYPE">char</span></font> *msg</code>);</pre>
-<p>The default errors reporting callback function.</p>
-<div class="REFSECT3">
-<a name="AEN40187"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN40189"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect2">
+<a name="xmlSecNssErrorsDefaultCallback"></a><h3>xmlSecNssErrorsDefaultCallback ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">void</span></font>
+xmlSecNssErrorsDefaultCallback (<em class="parameter"><code>const <font><span class="type">char</span></font> *file</code></em>,
+ <em class="parameter"><code><font><span class="type">int</span></font> line</code></em>,
+ <em class="parameter"><code>const <font><span class="type">char</span></font> *func</code></em>,
+ <em class="parameter"><code>const <font><span class="type">char</span></font> *errorObject</code></em>,
+ <em class="parameter"><code>const <font><span class="type">char</span></font> *errorSubject</code></em>,
+ <em class="parameter"><code><font><span class="type">int</span></font> reason</code></em>,
+ <em class="parameter"><code>const <font><span class="type">char</span></font> *msg</code></em>);</pre>
+<p>The errors reporting callback function. Just a pass through to the default callback.</p>
+<div class="refsect3">
+<a name="xmlSecNssErrorsDefaultCallback.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>file</p></td>
-<td><p>the error location file name (__FILE__ macro).</p></td>
-<td> </td>
+<td class="parameter_name"><p>file</p></td>
+<td class="parameter_description"><p>the error location file name (__FILE__ macro).</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>line</p></td>
-<td><p>the error location line number (__LINE__ macro).</p></td>
-<td> </td>
+<td class="parameter_name"><p>line</p></td>
+<td class="parameter_description"><p>the error location line number (__LINE__ macro).</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>func</p></td>
-<td><p>the error location function name (__FUNCTION__ macro).</p></td>
-<td> </td>
+<td class="parameter_name"><p>func</p></td>
+<td class="parameter_description"><p>the error location function name (__FUNCTION__ macro).</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>errorObject</p></td>
-<td><p>the error specific error object</p></td>
-<td> </td>
+<td class="parameter_name"><p>errorObject</p></td>
+<td class="parameter_description"><p>the error specific error object</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>errorSubject</p></td>
-<td><p>the error specific error subject.</p></td>
-<td> </td>
+<td class="parameter_name"><p>errorSubject</p></td>
+<td class="parameter_description"><p>the error specific error subject.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>reason</p></td>
-<td><p>the error code.</p></td>
-<td> </td>
+<td class="parameter_name"><p>reason</p></td>
+<td class="parameter_description"><p>the error code.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>msg</p></td>
-<td><p>the additional error message.</p></td>
-<td> </td>
+<td class="parameter_name"><p>msg</p></td>
+<td class="parameter_description"><p>the additional error message.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECNSSGETINTERNALKEYSLOT"></a><h3>xmlSecNssGetInternalKeySlot ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">PK11SlotInfo</span></font> *
-xmlSecNssGetInternalKeySlot (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecNssGetInternalKeySlot"></a><h3>xmlSecNssGetInternalKeySlot ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">PK11SlotInfo</span></font> *
+xmlSecNssGetInternalKeySlot (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>Gets internal NSS key slot.</p>
-<div class="REFSECT3">
-<a name="AEN40244"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecNssGetInternalKeySlot.returns"></a><h4>Returns</h4>
<p> internal key slot and initializes it if needed.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECNSSKEYDATAAESGETKLASS"></a><h3>xmlSecNssKeyDataAesGetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecKeyDataId</span></font>
-xmlSecNssKeyDataAesGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecNssKeyDataAesGetKlass"></a><h3>xmlSecNssKeyDataAesGetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecKeyDataId</span></font>
+xmlSecNssKeyDataAesGetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The AES key data klass.</p>
-<div class="REFSECT3">
-<a name="AEN40257"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecNssKeyDataAesGetKlass.returns"></a><h4>Returns</h4>
<p> AES key data klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECNSSKEYDATAAESSET"></a><h3>xmlSecNssKeyDataAesSet ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecNssKeyDataAesSet (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>,
- <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *buf</code>,
- <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> bufSize</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecNssKeyDataAesSet"></a><h3>xmlSecNssKeyDataAesSet ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecNssKeyDataAesSet (<em class="parameter"><code><font><span class="type">xmlSecKeyDataPtr</span></font> data</code></em>,
+ <em class="parameter"><code>const <a class="link" href="xmlsec-xmlsec.html#xmlSecByte" title="xmlSecByte"><span class="type">xmlSecByte</span></a> *buf</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="type">xmlSecSize</span></a> bufSize</code></em>);</pre>
<p>Sets the value of AES key data.</p>
-<div class="REFSECT3">
-<a name="AEN40277"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN40279"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecNssKeyDataAesSet.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>data</p></td>
-<td><p>the pointer to AES key data.</p></td>
-<td> </td>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the pointer to AES key data.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>buf</p></td>
-<td><p>the pointer to key value.</p></td>
-<td> </td>
+<td class="parameter_name"><p>buf</p></td>
+<td class="parameter_description"><p>the pointer to key value.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>bufSize</p></td>
-<td><p>the key value size (in bytes).</p></td>
-<td> </td>
+<td class="parameter_name"><p>bufSize</p></td>
+<td class="parameter_description"><p>the key value size (in bytes).</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN40300"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecNssKeyDataAesSet.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECNSSTRANSFORMAES128CBCGETKLASS"></a><h3>xmlSecNssTransformAes128CbcGetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
-xmlSecNssTransformAes128CbcGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecNssTransformAes128CbcGetKlass"></a><h3>xmlSecNssTransformAes128CbcGetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
+xmlSecNssTransformAes128CbcGetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>AES 128 CBC encryption transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN40313"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecNssTransformAes128CbcGetKlass.returns"></a><h4>Returns</h4>
<p> pointer to AES 128 CBC encryption transform.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECNSSTRANSFORMAES192CBCGETKLASS"></a><h3>xmlSecNssTransformAes192CbcGetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
-xmlSecNssTransformAes192CbcGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecNssTransformAes192CbcGetKlass"></a><h3>xmlSecNssTransformAes192CbcGetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
+xmlSecNssTransformAes192CbcGetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>AES 192 CBC encryption transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN40326"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecNssTransformAes192CbcGetKlass.returns"></a><h4>Returns</h4>
<p> pointer to AES 192 CBC encryption transform.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECNSSTRANSFORMAES256CBCGETKLASS"></a><h3>xmlSecNssTransformAes256CbcGetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
-xmlSecNssTransformAes256CbcGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecNssTransformAes256CbcGetKlass"></a><h3>xmlSecNssTransformAes256CbcGetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
+xmlSecNssTransformAes256CbcGetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>AES 256 CBC encryption transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN40339"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecNssTransformAes256CbcGetKlass.returns"></a><h4>Returns</h4>
<p> pointer to AES 256 CBC encryption transform.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECNSSTRANSFORMKWAES128GETKLASS"></a><h3>xmlSecNssTransformKWAes128GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
-xmlSecNssTransformKWAes128GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecNssTransformKWAes128GetKlass"></a><h3>xmlSecNssTransformKWAes128GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
+xmlSecNssTransformKWAes128GetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The AES-128 key wrapper transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN40352"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecNssTransformKWAes128GetKlass.returns"></a><h4>Returns</h4>
<p> AES-128 key wrapper transform klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECNSSTRANSFORMKWAES192GETKLASS"></a><h3>xmlSecNssTransformKWAes192GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
-xmlSecNssTransformKWAes192GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecNssTransformKWAes192GetKlass"></a><h3>xmlSecNssTransformKWAes192GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
+xmlSecNssTransformKWAes192GetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The AES-192 key wrapper transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN40365"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecNssTransformKWAes192GetKlass.returns"></a><h4>Returns</h4>
<p> AES-192 key wrapper transform klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECNSSTRANSFORMKWAES256GETKLASS"></a><h3>xmlSecNssTransformKWAes256GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
-xmlSecNssTransformKWAes256GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecNssTransformKWAes256GetKlass"></a><h3>xmlSecNssTransformKWAes256GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
+xmlSecNssTransformKWAes256GetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The AES-256 key wrapper transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN40378"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecNssTransformKWAes256GetKlass.returns"></a><h4>Returns</h4>
<p> AES-256 key wrapper transform klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECNSSKEYDATADESGETKLASS"></a><h3>xmlSecNssKeyDataDesGetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecKeyDataId</span></font>
-xmlSecNssKeyDataDesGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecNssKeyDataDesGetKlass"></a><h3>xmlSecNssKeyDataDesGetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecKeyDataId</span></font>
+xmlSecNssKeyDataDesGetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The DES key data klass.</p>
-<div class="REFSECT3">
-<a name="AEN40391"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecNssKeyDataDesGetKlass.returns"></a><h4>Returns</h4>
<p> DES key data klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECNSSKEYDATADESSET"></a><h3>xmlSecNssKeyDataDesSet ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecNssKeyDataDesSet (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>,
- <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *buf</code>,
- <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> bufSize</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecNssKeyDataDesSet"></a><h3>xmlSecNssKeyDataDesSet ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecNssKeyDataDesSet (<em class="parameter"><code><font><span class="type">xmlSecKeyDataPtr</span></font> data</code></em>,
+ <em class="parameter"><code>const <a class="link" href="xmlsec-xmlsec.html#xmlSecByte" title="xmlSecByte"><span class="type">xmlSecByte</span></a> *buf</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="type">xmlSecSize</span></a> bufSize</code></em>);</pre>
<p>Sets the value of DES key data.</p>
-<div class="REFSECT3">
-<a name="AEN40411"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN40413"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecNssKeyDataDesSet.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>data</p></td>
-<td><p>the pointer to DES key data.</p></td>
-<td> </td>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the pointer to DES key data.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>buf</p></td>
-<td><p>the pointer to key value.</p></td>
-<td> </td>
+<td class="parameter_name"><p>buf</p></td>
+<td class="parameter_description"><p>the pointer to key value.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>bufSize</p></td>
-<td><p>the key value size (in bytes).</p></td>
-<td> </td>
+<td class="parameter_name"><p>bufSize</p></td>
+<td class="parameter_description"><p>the key value size (in bytes).</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN40434"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecNssKeyDataDesSet.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECNSSTRANSFORMDES3CBCGETKLASS"></a><h3>xmlSecNssTransformDes3CbcGetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
-xmlSecNssTransformDes3CbcGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecNssTransformDes3CbcGetKlass"></a><h3>xmlSecNssTransformDes3CbcGetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
+xmlSecNssTransformDes3CbcGetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>Triple DES CBC encryption transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN40447"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecNssTransformDes3CbcGetKlass.returns"></a><h4>Returns</h4>
<p> pointer to Triple DES encryption transform.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECNSSTRANSFORMKWDES3GETKLASS"></a><h3>xmlSecNssTransformKWDes3GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
-xmlSecNssTransformKWDes3GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecNssTransformKWDes3GetKlass"></a><h3>xmlSecNssTransformKWDes3GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
+xmlSecNssTransformKWDes3GetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The Triple DES key wrapper transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN40460"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecNssTransformKWDes3GetKlass.returns"></a><h4>Returns</h4>
<p> Triple DES key wrapper transform klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECNSSKEYDATADSAGETKLASS"></a><h3>xmlSecNssKeyDataDsaGetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecKeyDataId</span></font>
-xmlSecNssKeyDataDsaGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecNssKeyDataDsaGetKlass"></a><h3>xmlSecNssKeyDataDsaGetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecKeyDataId</span></font>
+xmlSecNssKeyDataDsaGetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The DSA key data klass.</p>
-<div class="REFSECT3">
-<a name="AEN40473"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecNssKeyDataDsaGetKlass.returns"></a><h4>Returns</h4>
<p> pointer to DSA key data klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECNSSTRANSFORMDSASHA1GETKLASS"></a><h3>xmlSecNssTransformDsaSha1GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
-xmlSecNssTransformDsaSha1GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecNssTransformDsaSha1GetKlass"></a><h3>xmlSecNssTransformDsaSha1GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
+xmlSecNssTransformDsaSha1GetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The DSA-SHA1 signature transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN40486"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecNssTransformDsaSha1GetKlass.returns"></a><h4>Returns</h4>
<p> DSA-SHA1 signature transform klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECNSSHMACGETMINOUTPUTLENGTH"></a><h3>xmlSecNssHmacGetMinOutputLength ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecNssHmacGetMinOutputLength (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecNssKeyDataEcdsaGetKlass"></a><h3>xmlSecNssKeyDataEcdsaGetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecKeyDataId</span></font>
+xmlSecNssKeyDataEcdsaGetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
+<p>The ECDSA key data klass.</p>
+<div class="refsect3">
+<a name="xmlSecNssKeyDataEcdsaGetKlass.returns"></a><h4>Returns</h4>
+<p> pointer to ECDSA key data klass.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="xmlSecNssTransformEcdsaSha1GetKlass"></a><h3>xmlSecNssTransformEcdsaSha1GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
+xmlSecNssTransformEcdsaSha1GetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
+<p>The ECDSA-SHA1 signature transform klass.</p>
+<div class="refsect3">
+<a name="xmlSecNssTransformEcdsaSha1GetKlass.returns"></a><h4>Returns</h4>
+<p> ECDSA-SHA1 signature transform klass.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="xmlSecNssTransformEcdsaSha256GetKlass"></a><h3>xmlSecNssTransformEcdsaSha256GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
+xmlSecNssTransformEcdsaSha256GetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
+<p>The ECDSA-SHA256 signature transform klass.</p>
+<div class="refsect3">
+<a name="xmlSecNssTransformEcdsaSha256GetKlass.returns"></a><h4>Returns</h4>
+<p> ECDSA-SHA256 signature transform klass.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="xmlSecNssTransformEcdsaSha512GetKlass"></a><h3>xmlSecNssTransformEcdsaSha512GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
+xmlSecNssTransformEcdsaSha512GetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
+<p>The ECDSA-SHA512 signature transform klass.</p>
+<div class="refsect3">
+<a name="xmlSecNssTransformEcdsaSha512GetKlass.returns"></a><h4>Returns</h4>
+<p> ECDSA-SHA512 signature transform klass.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="xmlSecNssHmacGetMinOutputLength"></a><h3>xmlSecNssHmacGetMinOutputLength ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecNssHmacGetMinOutputLength (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>Gets the value of min HMAC length.</p>
-<div class="REFSECT3">
-<a name="AEN40499"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecNssHmacGetMinOutputLength.returns"></a><h4>Returns</h4>
<p> the min HMAC output length</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECNSSHMACSETMINOUTPUTLENGTH"></a><h3>xmlSecNssHmacSetMinOutputLength ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">void</span></font>
-xmlSecNssHmacSetMinOutputLength (<code class="PARAMETER"><font><span class="TYPE">int</span></font> min_length</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecNssHmacSetMinOutputLength"></a><h3>xmlSecNssHmacSetMinOutputLength ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">void</span></font>
+xmlSecNssHmacSetMinOutputLength (<em class="parameter"><code><font><span class="type">int</span></font> min_length</code></em>);</pre>
<p>Sets the min HMAC output length</p>
-<div class="REFSECT3">
-<a name="AEN40513"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN40515"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecNssHmacSetMinOutputLength.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>min_length</p></td>
-<td><p>the new min length</p></td>
-<td> </td>
+<td class="parameter_name"><p>min_length</p></td>
+<td class="parameter_description"><p>the new min length</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECNSSKEYDATAHMACGETKLASS"></a><h3>xmlSecNssKeyDataHmacGetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecKeyDataId</span></font>
-xmlSecNssKeyDataHmacGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecNssKeyDataHmacGetKlass"></a><h3>xmlSecNssKeyDataHmacGetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecKeyDataId</span></font>
+xmlSecNssKeyDataHmacGetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The HMAC key data klass.</p>
-<div class="REFSECT3">
-<a name="AEN40534"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecNssKeyDataHmacGetKlass.returns"></a><h4>Returns</h4>
<p> HMAC key data klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECNSSKEYDATAHMACSET"></a><h3>xmlSecNssKeyDataHmacSet ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecNssKeyDataHmacSet (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>,
- <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *buf</code>,
- <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> bufSize</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecNssKeyDataHmacSet"></a><h3>xmlSecNssKeyDataHmacSet ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecNssKeyDataHmacSet (<em class="parameter"><code><font><span class="type">xmlSecKeyDataPtr</span></font> data</code></em>,
+ <em class="parameter"><code>const <a class="link" href="xmlsec-xmlsec.html#xmlSecByte" title="xmlSecByte"><span class="type">xmlSecByte</span></a> *buf</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="type">xmlSecSize</span></a> bufSize</code></em>);</pre>
<p>Sets the value of HMAC key data.</p>
-<div class="REFSECT3">
-<a name="AEN40554"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN40556"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecNssKeyDataHmacSet.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>data</p></td>
-<td><p>the pointer to HMAC key data.</p></td>
-<td> </td>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the pointer to HMAC key data.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>buf</p></td>
-<td><p>the pointer to key value.</p></td>
-<td> </td>
+<td class="parameter_name"><p>buf</p></td>
+<td class="parameter_description"><p>the pointer to key value.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>bufSize</p></td>
-<td><p>the key value size (in bytes).</p></td>
-<td> </td>
+<td class="parameter_name"><p>bufSize</p></td>
+<td class="parameter_description"><p>the key value size (in bytes).</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN40577"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecNssKeyDataHmacSet.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECNSSTRANSFORMHMACMD5GETKLASS"></a><h3>xmlSecNssTransformHmacMd5GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
-xmlSecNssTransformHmacMd5GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecNssTransformHmacMd5GetKlass"></a><h3>xmlSecNssTransformHmacMd5GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
+xmlSecNssTransformHmacMd5GetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The HMAC-MD5 transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN40590"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecNssTransformHmacMd5GetKlass.returns"></a><h4>Returns</h4>
<p> the HMAC-MD5 transform klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECNSSTRANSFORMHMACRIPEMD160GETKLASS"></a><h3>xmlSecNssTransformHmacRipemd160GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
+<div class="refsect2">
+<a name="xmlSecNssTransformHmacRipemd160GetKlass"></a><h3>xmlSecNssTransformHmacRipemd160GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
xmlSecNssTransformHmacRipemd160GetKlass
- (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+ (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The HMAC-RIPEMD160 transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN40603"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecNssTransformHmacRipemd160GetKlass.returns"></a><h4>Returns</h4>
<p> the HMAC-RIPEMD160 transform klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECNSSTRANSFORMHMACSHA1GETKLASS"></a><h3>xmlSecNssTransformHmacSha1GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
-xmlSecNssTransformHmacSha1GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecNssTransformHmacSha1GetKlass"></a><h3>xmlSecNssTransformHmacSha1GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
+xmlSecNssTransformHmacSha1GetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The HMAC-SHA1 transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN40616"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecNssTransformHmacSha1GetKlass.returns"></a><h4>Returns</h4>
<p> the HMAC-SHA1 transform klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECNSSTRANSFORMHMACSHA256GETKLASS"></a><h3>xmlSecNssTransformHmacSha256GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
-xmlSecNssTransformHmacSha256GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecNssTransformHmacSha256GetKlass"></a><h3>xmlSecNssTransformHmacSha256GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
+xmlSecNssTransformHmacSha256GetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The HMAC-SHA256 transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN40629"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecNssTransformHmacSha256GetKlass.returns"></a><h4>Returns</h4>
<p> the HMAC-SHA256 transform klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECNSSTRANSFORMHMACSHA384GETKLASS"></a><h3>xmlSecNssTransformHmacSha384GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
-xmlSecNssTransformHmacSha384GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecNssTransformHmacSha384GetKlass"></a><h3>xmlSecNssTransformHmacSha384GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
+xmlSecNssTransformHmacSha384GetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The HMAC-SHA384 transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN40642"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecNssTransformHmacSha384GetKlass.returns"></a><h4>Returns</h4>
<p> the HMAC-SHA384 transform klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECNSSTRANSFORMHMACSHA512GETKLASS"></a><h3>xmlSecNssTransformHmacSha512GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
-xmlSecNssTransformHmacSha512GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecNssTransformHmacSha512GetKlass"></a><h3>xmlSecNssTransformHmacSha512GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
+xmlSecNssTransformHmacSha512GetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The HMAC-SHA512 transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN40655"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecNssTransformHmacSha512GetKlass.returns"></a><h4>Returns</h4>
<p> the HMAC-SHA512 transform klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECNSSKEYDATARSAGETKLASS"></a><h3>xmlSecNssKeyDataRsaGetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecKeyDataId</span></font>
-xmlSecNssKeyDataRsaGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecNssKeyDataRsaGetKlass"></a><h3>xmlSecNssKeyDataRsaGetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecKeyDataId</span></font>
+xmlSecNssKeyDataRsaGetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The RSA key data klass.</p>
-<div class="REFSECT3">
-<a name="AEN40668"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecNssKeyDataRsaGetKlass.returns"></a><h4>Returns</h4>
<p> pointer to RSA key data klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECNSSTRANSFORMRSAMD5GETKLASS"></a><h3>xmlSecNssTransformRsaMd5GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
-xmlSecNssTransformRsaMd5GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecNssTransformRsaMd5GetKlass"></a><h3>xmlSecNssTransformRsaMd5GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
+xmlSecNssTransformRsaMd5GetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The RSA-MD5 signature transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN40681"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecNssTransformRsaMd5GetKlass.returns"></a><h4>Returns</h4>
<p> RSA-MD5 signature transform klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECNSSTRANSFORMRSASHA1GETKLASS"></a><h3>xmlSecNssTransformRsaSha1GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
-xmlSecNssTransformRsaSha1GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecNssTransformRsaSha1GetKlass"></a><h3>xmlSecNssTransformRsaSha1GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
+xmlSecNssTransformRsaSha1GetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The RSA-SHA1 signature transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN40694"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecNssTransformRsaSha1GetKlass.returns"></a><h4>Returns</h4>
<p> RSA-SHA1 signature transform klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECNSSTRANSFORMRSASHA256GETKLASS"></a><h3>xmlSecNssTransformRsaSha256GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
-xmlSecNssTransformRsaSha256GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecNssTransformRsaSha256GetKlass"></a><h3>xmlSecNssTransformRsaSha256GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
+xmlSecNssTransformRsaSha256GetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The RSA-SHA256 signature transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN40707"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecNssTransformRsaSha256GetKlass.returns"></a><h4>Returns</h4>
<p> RSA-SHA256 signature transform klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECNSSTRANSFORMRSASHA384GETKLASS"></a><h3>xmlSecNssTransformRsaSha384GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
-xmlSecNssTransformRsaSha384GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecNssTransformRsaSha384GetKlass"></a><h3>xmlSecNssTransformRsaSha384GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
+xmlSecNssTransformRsaSha384GetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The RSA-SHA384 signature transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN40720"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecNssTransformRsaSha384GetKlass.returns"></a><h4>Returns</h4>
<p> RSA-SHA384 signature transform klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECNSSTRANSFORMRSASHA512GETKLASS"></a><h3>xmlSecNssTransformRsaSha512GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
-xmlSecNssTransformRsaSha512GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecNssTransformRsaSha512GetKlass"></a><h3>xmlSecNssTransformRsaSha512GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
+xmlSecNssTransformRsaSha512GetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The RSA-SHA512 signature transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN40733"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecNssTransformRsaSha512GetKlass.returns"></a><h4>Returns</h4>
<p> RSA-SHA512 signature transform klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECNSSTRANSFORMRSAPKCS1GETKLASS"></a><h3>xmlSecNssTransformRsaPkcs1GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
-xmlSecNssTransformRsaPkcs1GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecNssTransformRsaPkcs1GetKlass"></a><h3>xmlSecNssTransformRsaPkcs1GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
+xmlSecNssTransformRsaPkcs1GetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The RSA-PKCS1 key transport transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN40746"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecNssTransformRsaPkcs1GetKlass.returns"></a><h4>Returns</h4>
<p> RSA-PKCS1 key transport transform klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECNSSTRANSFORMRSAOAEPGETKLASS"></a><h3>xmlSecNssTransformRsaOaepGetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
-xmlSecNssTransformRsaOaepGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecNssTransformRsaOaepGetKlass"></a><h3>xmlSecNssTransformRsaOaepGetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
+xmlSecNssTransformRsaOaepGetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The RSA-PKCS1 key transport transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN40759"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecNssTransformRsaOaepGetKlass.returns"></a><h4>Returns</h4>
<p> RSA-PKCS1 key transport transform klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECNSSTRANSFORMSHA1GETKLASS"></a><h3>xmlSecNssTransformSha1GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
-xmlSecNssTransformSha1GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecNssTransformSha1GetKlass"></a><h3>xmlSecNssTransformSha1GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
+xmlSecNssTransformSha1GetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>SHA-1 digest transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN40772"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecNssTransformSha1GetKlass.returns"></a><h4>Returns</h4>
<p> pointer to SHA-1 digest transform klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECNSSTRANSFORMSHA256GETKLASS"></a><h3>xmlSecNssTransformSha256GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
-xmlSecNssTransformSha256GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecNssTransformSha256GetKlass"></a><h3>xmlSecNssTransformSha256GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
+xmlSecNssTransformSha256GetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>SHA256 digest transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN40785"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecNssTransformSha256GetKlass.returns"></a><h4>Returns</h4>
<p> pointer to SHA256 digest transform klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECNSSTRANSFORMSHA384GETKLASS"></a><h3>xmlSecNssTransformSha384GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
-xmlSecNssTransformSha384GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecNssTransformSha384GetKlass"></a><h3>xmlSecNssTransformSha384GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
+xmlSecNssTransformSha384GetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>SHA384 digest transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN40798"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecNssTransformSha384GetKlass.returns"></a><h4>Returns</h4>
<p> pointer to SHA384 digest transform klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECNSSTRANSFORMSHA512GETKLASS"></a><h3>xmlSecNssTransformSha512GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
-xmlSecNssTransformSha512GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecNssTransformSha512GetKlass"></a><h3>xmlSecNssTransformSha512GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
+xmlSecNssTransformSha512GetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>SHA512 digest transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN40811"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecNssTransformSha512GetKlass.returns"></a><h4>Returns</h4>
<p> pointer to SHA512 digest transform klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECNSSTRANSFORMMD5GETKLASS"></a><h3>xmlSecNssTransformMd5GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
-xmlSecNssTransformMd5GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecNssTransformMd5GetKlass"></a><h3>xmlSecNssTransformMd5GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
+xmlSecNssTransformMd5GetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>MD5 digest transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN40824"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecNssTransformMd5GetKlass.returns"></a><h4>Returns</h4>
<p> pointer to MD5 digest transform klass.</p>
</div>
</div>
</div>
-<div class="REFSECT1">
-<a name="XMLSEC-NSS-CRYPTO.OTHER_DETAILS"></a><h2>Types and Values</h2>
-<div class="REFSECT2">
-<a name="XMLSECNSSKEYDATAAESID"></a><h3>xmlSecNssKeyDataAesId</h3>
-<pre class="PROGRAMLISTING">#define xmlSecNssKeyDataAesId</pre>
+<div class="refsect1">
+<a name="xmlsec-nss-crypto.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="xmlSecNssKeyDataAesId"></a><h3>xmlSecNssKeyDataAesId</h3>
+<pre class="programlisting">#define xmlSecNssKeyDataAesId</pre>
<p>The AES key data klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECNSSTRANSFORMAES128CBCID"></a><h3>xmlSecNssTransformAes128CbcId</h3>
-<pre class="PROGRAMLISTING">#define xmlSecNssTransformAes128CbcId</pre>
+<div class="refsect2">
+<a name="xmlSecNssTransformAes128CbcId"></a><h3>xmlSecNssTransformAes128CbcId</h3>
+<pre class="programlisting">#define xmlSecNssTransformAes128CbcId</pre>
<p>The AES128 CBC cipher transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECNSSTRANSFORMAES192CBCID"></a><h3>xmlSecNssTransformAes192CbcId</h3>
-<pre class="PROGRAMLISTING">#define xmlSecNssTransformAes192CbcId</pre>
+<div class="refsect2">
+<a name="xmlSecNssTransformAes192CbcId"></a><h3>xmlSecNssTransformAes192CbcId</h3>
+<pre class="programlisting">#define xmlSecNssTransformAes192CbcId</pre>
<p>The AES192 CBC cipher transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECNSSTRANSFORMAES256CBCID"></a><h3>xmlSecNssTransformAes256CbcId</h3>
-<pre class="PROGRAMLISTING">#define xmlSecNssTransformAes256CbcId</pre>
+<div class="refsect2">
+<a name="xmlSecNssTransformAes256CbcId"></a><h3>xmlSecNssTransformAes256CbcId</h3>
+<pre class="programlisting">#define xmlSecNssTransformAes256CbcId</pre>
<p>The AES256 CBC cipher transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECNSSTRANSFORMKWAES128ID"></a><h3>xmlSecNssTransformKWAes128Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecNssTransformKWAes128Id</pre>
+<div class="refsect2">
+<a name="xmlSecNssTransformKWAes128Id"></a><h3>xmlSecNssTransformKWAes128Id</h3>
+<pre class="programlisting">#define xmlSecNssTransformKWAes128Id</pre>
<p>The AES 128 key wrap transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECNSSTRANSFORMKWAES192ID"></a><h3>xmlSecNssTransformKWAes192Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecNssTransformKWAes192Id</pre>
+<div class="refsect2">
+<a name="xmlSecNssTransformKWAes192Id"></a><h3>xmlSecNssTransformKWAes192Id</h3>
+<pre class="programlisting">#define xmlSecNssTransformKWAes192Id</pre>
<p>The AES 192 key wrap transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECNSSTRANSFORMKWAES256ID"></a><h3>xmlSecNssTransformKWAes256Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecNssTransformKWAes256Id</pre>
+<div class="refsect2">
+<a name="xmlSecNssTransformKWAes256Id"></a><h3>xmlSecNssTransformKWAes256Id</h3>
+<pre class="programlisting">#define xmlSecNssTransformKWAes256Id</pre>
<p>The AES 256 key wrap transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECNSSKEYDATADESID"></a><h3>xmlSecNssKeyDataDesId</h3>
-<pre class="PROGRAMLISTING">#define xmlSecNssKeyDataDesId</pre>
+<div class="refsect2">
+<a name="xmlSecNssKeyDataDesId"></a><h3>xmlSecNssKeyDataDesId</h3>
+<pre class="programlisting">#define xmlSecNssKeyDataDesId</pre>
<p>The DES key data klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECNSSTRANSFORMDES3CBCID"></a><h3>xmlSecNssTransformDes3CbcId</h3>
-<pre class="PROGRAMLISTING">#define xmlSecNssTransformDes3CbcId</pre>
+<div class="refsect2">
+<a name="xmlSecNssTransformDes3CbcId"></a><h3>xmlSecNssTransformDes3CbcId</h3>
+<pre class="programlisting">#define xmlSecNssTransformDes3CbcId</pre>
<p>The Triple DES CBC cipher transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECNSSTRANSFORMKWDES3ID"></a><h3>xmlSecNssTransformKWDes3Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecNssTransformKWDes3Id</pre>
+<div class="refsect2">
+<a name="xmlSecNssTransformKWDes3Id"></a><h3>xmlSecNssTransformKWDes3Id</h3>
+<pre class="programlisting">#define xmlSecNssTransformKWDes3Id</pre>
<p>The DES3 KW transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECNSSKEYDATADSAID"></a><h3>xmlSecNssKeyDataDsaId</h3>
-<pre class="PROGRAMLISTING">#define xmlSecNssKeyDataDsaId</pre>
+<div class="refsect2">
+<a name="xmlSecNssKeyDataDsaId"></a><h3>xmlSecNssKeyDataDsaId</h3>
+<pre class="programlisting">#define xmlSecNssKeyDataDsaId</pre>
<p>The DSA key klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECNSSTRANSFORMDSASHA1ID"></a><h3>xmlSecNssTransformDsaSha1Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecNssTransformDsaSha1Id</pre>
+<div class="refsect2">
+<a name="xmlSecNssTransformDsaSha1Id"></a><h3>xmlSecNssTransformDsaSha1Id</h3>
+<pre class="programlisting">#define xmlSecNssTransformDsaSha1Id</pre>
<p>The DSA SHA1 signature transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECNSSKEYDATAHMACID"></a><h3>xmlSecNssKeyDataHmacId</h3>
-<pre class="PROGRAMLISTING">#define xmlSecNssKeyDataHmacId</pre>
+<div class="refsect2">
+<a name="xmlSecNssKeyDataEcdsaId"></a><h3>xmlSecNssKeyDataEcdsaId</h3>
+<pre class="programlisting">#define xmlSecNssKeyDataEcdsaId xmlSecNssKeyDataEcdsaGetKlass()
+</pre>
+<p>The ECDSA key klass.</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="xmlSecNssTransformEcdsaSha1Id"></a><h3>xmlSecNssTransformEcdsaSha1Id</h3>
+<pre class="programlisting">#define xmlSecNssTransformEcdsaSha1Id xmlSecNssTransformEcdsaSha1GetKlass()
+</pre>
+<p>The ECDSA SHA1 signature transform klass.</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="xmlSecNssTransformEcdsaSha256Id"></a><h3>xmlSecNssTransformEcdsaSha256Id</h3>
+<pre class="programlisting">#define xmlSecNssTransformEcdsaSha256Id xmlSecNssTransformEcdsaSha256GetKlass()
+</pre>
+<p>The ECDSA SHA256 signature transform klass.</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="xmlSecNssTransformEcdsaSha512Id"></a><h3>xmlSecNssTransformEcdsaSha512Id</h3>
+<pre class="programlisting">#define xmlSecNssTransformEcdsaSha512Id xmlSecNssTransformEcdsaSha512GetKlass()
+</pre>
+<p>The ECDSA SHA512 signature transform klass.</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="xmlSecNssKeyDataHmacId"></a><h3>xmlSecNssKeyDataHmacId</h3>
+<pre class="programlisting">#define xmlSecNssKeyDataHmacId</pre>
<p>The DHMAC key data klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECNSSTRANSFORMHMACMD5ID"></a><h3>xmlSecNssTransformHmacMd5Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecNssTransformHmacMd5Id</pre>
+<div class="refsect2">
+<a name="xmlSecNssTransformHmacMd5Id"></a><h3>xmlSecNssTransformHmacMd5Id</h3>
+<pre class="programlisting">#define xmlSecNssTransformHmacMd5Id</pre>
<p>The HMAC with MD5 signature transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECNSSTRANSFORMHMACRIPEMD160ID"></a><h3>xmlSecNssTransformHmacRipemd160Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecNssTransformHmacRipemd160Id</pre>
+<div class="refsect2">
+<a name="xmlSecNssTransformHmacRipemd160Id"></a><h3>xmlSecNssTransformHmacRipemd160Id</h3>
+<pre class="programlisting">#define xmlSecNssTransformHmacRipemd160Id</pre>
<p>The HMAC with RipeMD160 signature transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECNSSTRANSFORMHMACSHA1ID"></a><h3>xmlSecNssTransformHmacSha1Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecNssTransformHmacSha1Id</pre>
+<div class="refsect2">
+<a name="xmlSecNssTransformHmacSha1Id"></a><h3>xmlSecNssTransformHmacSha1Id</h3>
+<pre class="programlisting">#define xmlSecNssTransformHmacSha1Id</pre>
<p>The HMAC with SHA1 signature transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECNSSTRANSFORMHMACSHA256ID"></a><h3>xmlSecNssTransformHmacSha256Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecNssTransformHmacSha256Id</pre>
+<div class="refsect2">
+<a name="xmlSecNssTransformHmacSha256Id"></a><h3>xmlSecNssTransformHmacSha256Id</h3>
+<pre class="programlisting">#define xmlSecNssTransformHmacSha256Id</pre>
<p>The HMAC with SHA256 signature transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECNSSTRANSFORMHMACSHA384ID"></a><h3>xmlSecNssTransformHmacSha384Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecNssTransformHmacSha384Id</pre>
+<div class="refsect2">
+<a name="xmlSecNssTransformHmacSha384Id"></a><h3>xmlSecNssTransformHmacSha384Id</h3>
+<pre class="programlisting">#define xmlSecNssTransformHmacSha384Id</pre>
<p>The HMAC with SHA384 signature transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECNSSTRANSFORMHMACSHA512ID"></a><h3>xmlSecNssTransformHmacSha512Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecNssTransformHmacSha512Id</pre>
+<div class="refsect2">
+<a name="xmlSecNssTransformHmacSha512Id"></a><h3>xmlSecNssTransformHmacSha512Id</h3>
+<pre class="programlisting">#define xmlSecNssTransformHmacSha512Id</pre>
<p>The HMAC with SHA512 signature transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECNSSKEYDATARSAID"></a><h3>xmlSecNssKeyDataRsaId</h3>
-<pre class="PROGRAMLISTING">#define xmlSecNssKeyDataRsaId</pre>
+<div class="refsect2">
+<a name="xmlSecNssKeyDataRsaId"></a><h3>xmlSecNssKeyDataRsaId</h3>
+<pre class="programlisting">#define xmlSecNssKeyDataRsaId</pre>
<p>The RSA key klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECNSSTRANSFORMRSAMD5ID"></a><h3>xmlSecNssTransformRsaMd5Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecNssTransformRsaMd5Id</pre>
+<div class="refsect2">
+<a name="xmlSecNssTransformRsaMd5Id"></a><h3>xmlSecNssTransformRsaMd5Id</h3>
+<pre class="programlisting">#define xmlSecNssTransformRsaMd5Id</pre>
<p>The RSA-MD5 signature transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECNSSTRANSFORMRSASHA1ID"></a><h3>xmlSecNssTransformRsaSha1Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecNssTransformRsaSha1Id</pre>
+<div class="refsect2">
+<a name="xmlSecNssTransformRsaSha1Id"></a><h3>xmlSecNssTransformRsaSha1Id</h3>
+<pre class="programlisting">#define xmlSecNssTransformRsaSha1Id</pre>
<p>The RSA-SHA1 signature transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECNSSTRANSFORMRSASHA256ID"></a><h3>xmlSecNssTransformRsaSha256Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecNssTransformRsaSha256Id</pre>
+<div class="refsect2">
+<a name="xmlSecNssTransformRsaSha256Id"></a><h3>xmlSecNssTransformRsaSha256Id</h3>
+<pre class="programlisting">#define xmlSecNssTransformRsaSha256Id</pre>
<p>The RSA-SHA256 signature transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECNSSTRANSFORMRSASHA384ID"></a><h3>xmlSecNssTransformRsaSha384Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecNssTransformRsaSha384Id</pre>
+<div class="refsect2">
+<a name="xmlSecNssTransformRsaSha384Id"></a><h3>xmlSecNssTransformRsaSha384Id</h3>
+<pre class="programlisting">#define xmlSecNssTransformRsaSha384Id</pre>
<p>The RSA-SHA384 signature transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECNSSTRANSFORMRSASHA512ID"></a><h3>xmlSecNssTransformRsaSha512Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecNssTransformRsaSha512Id</pre>
+<div class="refsect2">
+<a name="xmlSecNssTransformRsaSha512Id"></a><h3>xmlSecNssTransformRsaSha512Id</h3>
+<pre class="programlisting">#define xmlSecNssTransformRsaSha512Id</pre>
<p>The RSA-SHA512 signature transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECNSSTRANSFORMRSAPKCS1ID"></a><h3>xmlSecNssTransformRsaPkcs1Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecNssTransformRsaPkcs1Id</pre>
+<div class="refsect2">
+<a name="xmlSecNssTransformRsaPkcs1Id"></a><h3>xmlSecNssTransformRsaPkcs1Id</h3>
+<pre class="programlisting">#define xmlSecNssTransformRsaPkcs1Id</pre>
<p>The RSA PKCS1 key transport transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECNSSTRANSFORMRSAOAEPID"></a><h3>xmlSecNssTransformRsaOaepId</h3>
-<pre class="PROGRAMLISTING">#define xmlSecNssTransformRsaOaepId</pre>
+<div class="refsect2">
+<a name="xmlSecNssTransformRsaOaepId"></a><h3>xmlSecNssTransformRsaOaepId</h3>
+<pre class="programlisting">#define xmlSecNssTransformRsaOaepId</pre>
<p>The RSA OAEP key transport transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECNSSTRANSFORMSHA1ID"></a><h3>xmlSecNssTransformSha1Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecNssTransformSha1Id</pre>
+<div class="refsect2">
+<a name="xmlSecNssTransformSha1Id"></a><h3>xmlSecNssTransformSha1Id</h3>
+<pre class="programlisting">#define xmlSecNssTransformSha1Id</pre>
<p>The SHA1 digest transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECNSSTRANSFORMSHA256ID"></a><h3>xmlSecNssTransformSha256Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecNssTransformSha256Id</pre>
+<div class="refsect2">
+<a name="xmlSecNssTransformSha256Id"></a><h3>xmlSecNssTransformSha256Id</h3>
+<pre class="programlisting">#define xmlSecNssTransformSha256Id</pre>
<p>The SHA256 digest transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECNSSTRANSFORMSHA384ID"></a><h3>xmlSecNssTransformSha384Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecNssTransformSha384Id</pre>
+<div class="refsect2">
+<a name="xmlSecNssTransformSha384Id"></a><h3>xmlSecNssTransformSha384Id</h3>
+<pre class="programlisting">#define xmlSecNssTransformSha384Id</pre>
<p>The SHA384 digest transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECNSSTRANSFORMSHA512ID"></a><h3>xmlSecNssTransformSha512Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecNssTransformSha512Id</pre>
+<div class="refsect2">
+<a name="xmlSecNssTransformSha512Id"></a><h3>xmlSecNssTransformSha512Id</h3>
+<pre class="programlisting">#define xmlSecNssTransformSha512Id</pre>
<p>The SHA512 digest transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECNSSTRANSFORMMD5ID"></a><h3>xmlSecNssTransformMd5Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecNssTransformMd5Id</pre>
+<div class="refsect2">
+<a name="xmlSecNssTransformMd5Id"></a><h3>xmlSecNssTransformMd5Id</h3>
+<pre class="programlisting">#define xmlSecNssTransformMd5Id</pre>
<p>The MD5 digest transform klass.</p>
</div>
</div>
-<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td align="left"><a accesskey="p" href="xmlsec-nss-bignum.html"><b><<< bignum</b></a></td>
-<td align="right"><a accesskey="n" href="xmlsec-nss-keysstore.html"><b>keysstore >>></b></a></td>
-</tr></table>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
</td></tr></table></td>
</tr></table></body>
</html>
diff --git a/docs/api/xmlsec-nss-keysstore.html b/docs/api/xmlsec-nss-keysstore.html
index e50265c..2c4a708 100644
--- a/docs/api/xmlsec-nss-keysstore.html
+++ b/docs/api/xmlsec-nss-keysstore.html
@@ -1,41 +1,14 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>keysstore</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79">
-<link rel="HOME" title="XML Security Library Reference Manual" href="index.html">
-<link rel="UP" title="XML Security Library for NSS API Reference." href="xmlsec-nss-ref.html">
-<link rel="PREVIOUS" title="crypto" href="xmlsec-nss-crypto.html">
-<link rel="NEXT" title="pkikeys" href="xmlsec-nss-pkikeys.html">
-<style type="text/css">.synopsis, .classsynopsis {
- background: #eeeeee;
- border: solid 1px #aaaaaa;
- padding: 0.5em;
-}
-.programlisting {
- background: #eeeeff;
- border: solid 1px #aaaaff;
- padding: 0.5em;
-}
-.variablelist {
- padding: 4px;
- margin-left: 3em;
-}
-.navigation {
- background: #ffeeee;
- border: solid 1px #ffaaaa;
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
-.navigation a {
- color: #770000;
-}
-.navigation a:visited {
- color: #550000;
-}
-.navigation .title {
- font-size: 200%;
-}</style>
+<title>keysstore: XML Security Library Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="XML Security Library Reference Manual">
+<link rel="up" href="xmlsec-nss-ref.html" title="XML Security Library for NSS API Reference.">
+<link rel="prev" href="xmlsec-nss-crypto.html" title="crypto">
+<link rel="next" href="xmlsec-nss-pkikeys.html" title="pkikeys">
+<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
<style type="text/css">
table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
width: 20em;
@@ -100,221 +73,229 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
</table>
</td>
<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent">
-<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td><a accesskey="p" href="xmlsec-nss-crypto.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="xmlsec-nss-ref.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description"> <span class="dim">|</span>
+ <a href="#xmlsec-nss-keysstore.description" class="shortcut">Description</a></span>
+</td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<th width="100%" align="center">XML Security Library Reference Manual</th>
+<td><a accesskey="u" href="xmlsec-nss-ref.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="xmlsec-nss-crypto.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="xmlsec-nss-pkikeys.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
-<h1>
-<a name="XMLSEC-NSS-KEYSSTORE"></a>keysstore</h1>
-<div class="REFNAMEDIV">
-<a name="AEN41026"></a><h2>Name</h2>keysstore -- Keys store implementation for NSS.</div>
-<div class="REFSECT1">
-<a name="XMLSEC-NSS-KEYSSTORE.FUNCTIONS"></a><h2>Functions</h2>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN41031"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
+<div class="refentry">
+<a name="xmlsec-nss-keysstore"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="xmlsec-nss-keysstore.top_of_page"></a>keysstore</span></h2>
+<p>keysstore — Keys store implementation for NSS.</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="xmlsec-nss-keysstore.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
<tbody>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecKeyStoreId</span></font></td>
-<td>
-<a href="xmlsec-nss-keysstore.html#XMLSECNSSKEYSSTOREGETKLASS">xmlSecNssKeysStoreGetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecKeyStoreId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-nss-keysstore.html#xmlSecNssKeysStoreGetKlass" title="xmlSecNssKeysStoreGetKlass ()">xmlSecNssKeysStoreGetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-nss-keysstore.html#XMLSECNSSKEYSSTOREADOPTKEY">xmlSecNssKeysStoreAdoptKey</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-nss-keysstore.html#xmlSecNssKeysStoreAdoptKey" title="xmlSecNssKeysStoreAdoptKey ()">xmlSecNssKeysStoreAdoptKey</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-nss-keysstore.html#XMLSECNSSKEYSSTORELOAD">xmlSecNssKeysStoreLoad</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-nss-keysstore.html#xmlSecNssKeysStoreLoad" title="xmlSecNssKeysStoreLoad ()">xmlSecNssKeysStoreLoad</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-nss-keysstore.html#XMLSECNSSKEYSSTORESAVE">xmlSecNssKeysStoreSave</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-nss-keysstore.html#xmlSecNssKeysStoreSave" title="xmlSecNssKeysStoreSave ()">xmlSecNssKeysStoreSave</a> <span class="c_punctuation">()</span>
</td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT1">
-<a name="XMLSEC-NSS-KEYSSTORE.OTHER"></a><h2>Types and Values</h2>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN41064"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
+<div class="refsect1">
+<a name="xmlsec-nss-keysstore.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
<tbody><tr>
-<td>#define</td>
-<td><a href="xmlsec-nss-keysstore.html#XMLSECNSSKEYSSTOREID">xmlSecNssKeysStoreId</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-nss-keysstore.html#xmlSecNssKeysStoreId" title="xmlSecNssKeysStoreId">xmlSecNssKeysStoreId</a></td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT1">
-<a name="XMLSEC-NSS-KEYSSTORE.DESCRIPTION"></a><h2>Description</h2>
-<p>Keys store implementation for NSS.</p>
+<div class="refsect1">
+<a name="xmlsec-nss-keysstore.description"></a><h2>Description</h2>
+<p>
+Keys store implementation for NSS.
+</p>
</div>
-<div class="REFSECT1">
-<a name="XMLSEC-NSS-KEYSSTORE.FUNCTIONS_DETAILS"></a><h2>Functions</h2>
-<div class="REFSECT2">
-<a name="XMLSECNSSKEYSSTOREGETKLASS"></a><h3>xmlSecNssKeysStoreGetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecKeyStoreId</span></font>
-xmlSecNssKeysStoreGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect1">
+<a name="xmlsec-nss-keysstore.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="xmlSecNssKeysStoreGetKlass"></a><h3>xmlSecNssKeysStoreGetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecKeyStoreId</span></font>
+xmlSecNssKeysStoreGetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The Nss list based keys store klass.</p>
-<div class="REFSECT3">
-<a name="AEN41086"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecNssKeysStoreGetKlass.returns"></a><h4>Returns</h4>
<p> Nss list based keys store klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECNSSKEYSSTOREADOPTKEY"></a><h3>xmlSecNssKeysStoreAdoptKey ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecNssKeysStoreAdoptKey (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSTORE"><span class="TYPE">xmlSecKeyStorePtr</span></a> store</code>,
- <code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>);</pre>
-<p>Adds <code class="PARAMETER">key</code>
- to the <code class="PARAMETER">store</code>
+<div class="refsect2">
+<a name="xmlSecNssKeysStoreAdoptKey"></a><h3>xmlSecNssKeysStoreAdoptKey ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecNssKeysStoreAdoptKey (<em class="parameter"><code><font><span class="type">xmlSecKeyStorePtr</span></font> store</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlSecKeyPtr</span></font> key</code></em>);</pre>
+<p>Adds <em class="parameter"><code>key</code></em>
+ to the <em class="parameter"><code>store</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN41105"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN41107"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecNssKeysStoreAdoptKey.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>store</p></td>
-<td><p>the pointer to Nss keys store.</p></td>
-<td> </td>
+<td class="parameter_name"><p>store</p></td>
+<td class="parameter_description"><p>the pointer to Nss keys store.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>key</p></td>
-<td><p>the pointer to key.</p></td>
-<td> </td>
+<td class="parameter_name"><p>key</p></td>
+<td class="parameter_description"><p>the pointer to key.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN41122"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecNssKeysStoreAdoptKey.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECNSSKEYSSTORELOAD"></a><h3>xmlSecNssKeysStoreLoad ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecNssKeysStoreLoad (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSTORE"><span class="TYPE">xmlSecKeyStorePtr</span></a> store</code>,
- <code class="PARAMETER">const <font><span class="TYPE">char</span></font> *uri</code>,
- <code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> keysMngr</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecNssKeysStoreLoad"></a><h3>xmlSecNssKeysStoreLoad ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecNssKeysStoreLoad (<em class="parameter"><code><font><span class="type">xmlSecKeyStorePtr</span></font> store</code></em>,
+ <em class="parameter"><code>const <font><span class="type">char</span></font> *uri</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlSecKeysMngrPtr</span></font> keysMngr</code></em>);</pre>
<p>Reads keys from an XML file.</p>
-<div class="REFSECT3">
-<a name="AEN41142"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN41144"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecNssKeysStoreLoad.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>store</p></td>
-<td><p>the pointer to Nss keys store.</p></td>
-<td> </td>
+<td class="parameter_name"><p>store</p></td>
+<td class="parameter_description"><p>the pointer to Nss keys store.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>uri</p></td>
-<td><p>the filename.</p></td>
-<td> </td>
+<td class="parameter_name"><p>uri</p></td>
+<td class="parameter_description"><p>the filename.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>keysMngr</p></td>
-<td><p>the pointer to associated keys manager.</p></td>
-<td> </td>
+<td class="parameter_name"><p>keysMngr</p></td>
+<td class="parameter_description"><p>the pointer to associated keys manager.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN41165"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecNssKeysStoreLoad.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECNSSKEYSSTORESAVE"></a><h3>xmlSecNssKeysStoreSave ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecNssKeysStoreSave (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSTORE"><span class="TYPE">xmlSecKeyStorePtr</span></a> store</code>,
- <code class="PARAMETER">const <font><span class="TYPE">char</span></font> *filename</code>,
- <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATATYPE"><span class="TYPE">xmlSecKeyDataType</span></a> type</code>);</pre>
-<p>Writes keys from <code class="PARAMETER">store</code>
+<div class="refsect2">
+<a name="xmlSecNssKeysStoreSave"></a><h3>xmlSecNssKeysStoreSave ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecNssKeysStoreSave (<em class="parameter"><code><font><span class="type">xmlSecKeyStorePtr</span></font> store</code></em>,
+ <em class="parameter"><code>const <font><span class="type">char</span></font> *filename</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataType" title="xmlSecKeyDataType"><span class="type">xmlSecKeyDataType</span></a> type</code></em>);</pre>
+<p>Writes keys from <em class="parameter"><code>store</code></em>
to an XML file.</p>
-<div class="REFSECT3">
-<a name="AEN41186"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN41188"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecNssKeysStoreSave.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>store</p></td>
-<td><p>the pointer to Nss keys store.</p></td>
-<td> </td>
+<td class="parameter_name"><p>store</p></td>
+<td class="parameter_description"><p>the pointer to Nss keys store.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>filename</p></td>
-<td><p>the filename.</p></td>
-<td> </td>
+<td class="parameter_name"><p>filename</p></td>
+<td class="parameter_description"><p>the filename.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>type</p></td>
-<td><p>the saved keys type (public, private, ...).</p></td>
-<td> </td>
+<td class="parameter_name"><p>type</p></td>
+<td class="parameter_description"><p>the saved keys type (public, private, ...).</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN41209"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecNssKeysStoreSave.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs.</p>
</div>
</div>
</div>
-<div class="REFSECT1">
-<a name="XMLSEC-NSS-KEYSSTORE.OTHER_DETAILS"></a><h2>Types and Values</h2>
-<div class="REFSECT2">
-<a name="XMLSECNSSKEYSSTOREID"></a><h3>xmlSecNssKeysStoreId</h3>
-<pre class="PROGRAMLISTING">#define xmlSecNssKeysStoreId xmlSecNssKeysStoreGetKlass()</pre>
+<div class="refsect1">
+<a name="xmlsec-nss-keysstore.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="xmlSecNssKeysStoreId"></a><h3>xmlSecNssKeysStoreId</h3>
+<pre class="programlisting">#define xmlSecNssKeysStoreId xmlSecNssKeysStoreGetKlass()
+</pre>
<p>A Nss keys store klass id.</p>
</div>
</div>
-<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td align="left"><a accesskey="p" href="xmlsec-nss-crypto.html"><b><<< crypto</b></a></td>
-<td align="right"><a accesskey="n" href="xmlsec-nss-pkikeys.html"><b>pkikeys >>></b></a></td>
-</tr></table>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
</td></tr></table></td>
</tr></table></body>
</html>
diff --git a/docs/api/xmlsec-nss-pkikeys.html b/docs/api/xmlsec-nss-pkikeys.html
index 0ae0e8f..f7dcfa9 100644
--- a/docs/api/xmlsec-nss-pkikeys.html
+++ b/docs/api/xmlsec-nss-pkikeys.html
@@ -1,41 +1,14 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>pkikeys</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79">
-<link rel="HOME" title="XML Security Library Reference Manual" href="index.html">
-<link rel="UP" title="XML Security Library for NSS API Reference." href="xmlsec-nss-ref.html">
-<link rel="PREVIOUS" title="keysstore" href="xmlsec-nss-keysstore.html">
-<link rel="NEXT" title="x509" href="xmlsec-nss-x509.html">
-<style type="text/css">.synopsis, .classsynopsis {
- background: #eeeeee;
- border: solid 1px #aaaaaa;
- padding: 0.5em;
-}
-.programlisting {
- background: #eeeeff;
- border: solid 1px #aaaaff;
- padding: 0.5em;
-}
-.variablelist {
- padding: 4px;
- margin-left: 3em;
-}
-.navigation {
- background: #ffeeee;
- border: solid 1px #ffaaaa;
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
-.navigation a {
- color: #770000;
-}
-.navigation a:visited {
- color: #550000;
-}
-.navigation .title {
- font-size: 200%;
-}</style>
+<title>pkikeys: XML Security Library Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="XML Security Library Reference Manual">
+<link rel="up" href="xmlsec-nss-ref.html" title="XML Security Library for NSS API Reference.">
+<link rel="prev" href="xmlsec-nss-keysstore.html" title="keysstore">
+<link rel="next" href="xmlsec-nss-x509.html" title="x509">
+<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
<style type="text/css">
table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
width: 20em;
@@ -100,235 +73,239 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
</table>
</td>
<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent">
-<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td><a accesskey="p" href="xmlsec-nss-keysstore.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="xmlsec-nss-ref.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description"> <span class="dim">|</span>
+ <a href="#xmlsec-nss-pkikeys.description" class="shortcut">Description</a></span>
+</td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<th width="100%" align="center">XML Security Library Reference Manual</th>
+<td><a accesskey="u" href="xmlsec-nss-ref.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="xmlsec-nss-keysstore.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="xmlsec-nss-x509.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
-<h1>
-<a name="XMLSEC-NSS-PKIKEYS"></a>pkikeys</h1>
-<div class="REFNAMEDIV">
-<a name="AEN41225"></a><h2>Name</h2>pkikeys -- PKI keys data implementation.</div>
-<div class="REFSECT1">
-<a name="XMLSEC-NSS-PKIKEYS.FUNCTIONS"></a><h2>Functions</h2>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN41230"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
+<div class="refentry">
+<a name="xmlsec-nss-pkikeys"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="xmlsec-nss-pkikeys.top_of_page"></a>pkikeys</span></h2>
+<p>pkikeys — PKI keys data implementation.</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="xmlsec-nss-pkikeys.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
<tbody>
<tr>
-<td><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="RETURNVALUE">xmlSecKeyDataPtr</span></a></td>
-<td>
-<a href="xmlsec-nss-pkikeys.html#XMLSECNSSPKIADOPTKEY">xmlSecNssPKIAdoptKey</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecKeyDataPtr</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-nss-pkikeys.html#xmlSecNssPKIAdoptKey" title="xmlSecNssPKIAdoptKey ()">xmlSecNssPKIAdoptKey</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td>
-<font><span class="RETURNVALUE">SECKEYPublicKey</span></font> *</td>
-<td>
-<a href="xmlsec-nss-pkikeys.html#XMLSECNSSPKIKEYDATAGETPUBKEY">xmlSecNssPKIKeyDataGetPubKey</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">SECKEYPublicKey</span></font> *
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-nss-pkikeys.html#xmlSecNssPKIKeyDataGetPubKey" title="xmlSecNssPKIKeyDataGetPubKey ()">xmlSecNssPKIKeyDataGetPubKey</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td>
-<font><span class="RETURNVALUE">SECKEYPrivateKey</span></font> *</td>
-<td>
-<a href="xmlsec-nss-pkikeys.html#XMLSECNSSPKIKEYDATAGETPRIVKEY">xmlSecNssPKIKeyDataGetPrivKey</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">SECKEYPrivateKey</span></font> *
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-nss-pkikeys.html#xmlSecNssPKIKeyDataGetPrivKey" title="xmlSecNssPKIKeyDataGetPrivKey ()">xmlSecNssPKIKeyDataGetPrivKey</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">KeyType</span></font></td>
-<td>
-<a href="xmlsec-nss-pkikeys.html#XMLSECNSSPKIKEYDATAGETKEYTYPE">xmlSecNssPKIKeyDataGetKeyType</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">KeyType</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-nss-pkikeys.html#xmlSecNssPKIKeyDataGetKeyType" title="xmlSecNssPKIKeyDataGetKeyType ()">xmlSecNssPKIKeyDataGetKeyType</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-nss-pkikeys.html#XMLSECNSSPKIKEYDATADUPLICATE">xmlSecNssPKIKeyDataDuplicate</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-nss-pkikeys.html#xmlSecNssPKIKeyDataDuplicate" title="xmlSecNssPKIKeyDataDuplicate ()">xmlSecNssPKIKeyDataDuplicate</a> <span class="c_punctuation">()</span>
</td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
+<div class="refsect1">
+<a name="xmlsec-nss-pkikeys.description"></a><h2>Description</h2>
+<p>
+PKI keys data implementation.
+</p>
</div>
-<div class="REFSECT1">
-<a name="XMLSEC-NSS-PKIKEYS.DESCRIPTION"></a><h2>Description</h2>
-<p>PKI keys data implementation.</p>
-</div>
-<div class="REFSECT1">
-<a name="XMLSEC-NSS-PKIKEYS.FUNCTIONS_DETAILS"></a><h2>Functions</h2>
-<div class="REFSECT2">
-<a name="XMLSECNSSPKIADOPTKEY"></a><h3>xmlSecNssPKIAdoptKey ()</h3>
-<pre class="PROGRAMLISTING"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="RETURNVALUE">xmlSecKeyDataPtr</span></a>
-xmlSecNssPKIAdoptKey (<code class="PARAMETER"><font><span class="TYPE">SECKEYPrivateKey</span></font> *privkey</code>,
- <code class="PARAMETER"><font><span class="TYPE">SECKEYPublicKey</span></font> *pubkey</code>);</pre>
+<div class="refsect1">
+<a name="xmlsec-nss-pkikeys.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="xmlSecNssPKIAdoptKey"></a><h3>xmlSecNssPKIAdoptKey ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecKeyDataPtr</span></font>
+xmlSecNssPKIAdoptKey (<em class="parameter"><code><font><span class="type">SECKEYPrivateKey</span></font> *privkey</code></em>,
+ <em class="parameter"><code><font><span class="type">SECKEYPublicKey</span></font> *pubkey</code></em>);</pre>
<p>Build a KeyData object from the given Private Key and Public
Key handles.</p>
-<div class="REFSECT3">
-<a name="AEN41287"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN41289"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecNssPKIAdoptKey.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>privkey</p></td>
-<td><p>the NSS Private Key handle</p></td>
-<td> </td>
+<td class="parameter_name"><p>privkey</p></td>
+<td class="parameter_description"><p>the NSS Private Key handle</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>pubkey</p></td>
-<td><p>the NSS Public Key handle</p></td>
-<td> </td>
+<td class="parameter_name"><p>pubkey</p></td>
+<td class="parameter_description"><p>the NSS Public Key handle</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN41304"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecNssPKIAdoptKey.returns"></a><h4>Returns</h4>
<p> pointer to KeyData object or NULL if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECNSSPKIKEYDATAGETPUBKEY"></a><h3>xmlSecNssPKIKeyDataGetPubKey ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">SECKEYPublicKey</span></font> *
-xmlSecNssPKIKeyDataGetPubKey (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecNssPKIKeyDataGetPubKey"></a><h3>xmlSecNssPKIKeyDataGetPubKey ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">SECKEYPublicKey</span></font> *
+xmlSecNssPKIKeyDataGetPubKey (<em class="parameter"><code><font><span class="type">xmlSecKeyDataPtr</span></font> data</code></em>);</pre>
<p>Gets the Public Key from the key data.</p>
-<div class="REFSECT3">
-<a name="AEN41318"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN41320"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecNssPKIKeyDataGetPubKey.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>data</p></td>
-<td><p>the pointer to NSS Key data.</p></td>
-<td> </td>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the pointer to NSS Key data.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN41329"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecNssPKIKeyDataGetPubKey.returns"></a><h4>Returns</h4>
<p> pointer to SECKEYPublicKey or NULL if an error occurs.
Caller is responsible for freeing the key when done</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECNSSPKIKEYDATAGETPRIVKEY"></a><h3>xmlSecNssPKIKeyDataGetPrivKey ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">SECKEYPrivateKey</span></font> *
-xmlSecNssPKIKeyDataGetPrivKey (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecNssPKIKeyDataGetPrivKey"></a><h3>xmlSecNssPKIKeyDataGetPrivKey ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">SECKEYPrivateKey</span></font> *
+xmlSecNssPKIKeyDataGetPrivKey (<em class="parameter"><code><font><span class="type">xmlSecKeyDataPtr</span></font> data</code></em>);</pre>
<p>Gets the Private Key from the key data.</p>
-<div class="REFSECT3">
-<a name="AEN41343"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN41345"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecNssPKIKeyDataGetPrivKey.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>data</p></td>
-<td><p>the pointer to NSS Key data.</p></td>
-<td> </td>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the pointer to NSS Key data.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN41354"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecNssPKIKeyDataGetPrivKey.returns"></a><h4>Returns</h4>
<p> pointer to SECKEYPrivateKey or NULL if an error occurs.
Caller is responsible for freeing the key when done</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECNSSPKIKEYDATAGETKEYTYPE"></a><h3>xmlSecNssPKIKeyDataGetKeyType ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">KeyType</span></font>
-xmlSecNssPKIKeyDataGetKeyType (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecNssPKIKeyDataGetKeyType"></a><h3>xmlSecNssPKIKeyDataGetKeyType ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">KeyType</span></font>
+xmlSecNssPKIKeyDataGetKeyType (<em class="parameter"><code><font><span class="type">xmlSecKeyDataPtr</span></font> data</code></em>);</pre>
<p>Gets the Key Type from the key data.</p>
-<div class="REFSECT3">
-<a name="AEN41368"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN41370"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecNssPKIKeyDataGetKeyType.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>data</p></td>
-<td><p>the pointer to NSS Key data.</p></td>
-<td> </td>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the pointer to NSS Key data.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN41379"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecNssPKIKeyDataGetKeyType.returns"></a><h4>Returns</h4>
<p> Key Type</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECNSSPKIKEYDATADUPLICATE"></a><h3>xmlSecNssPKIKeyDataDuplicate ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecNssPKIKeyDataDuplicate (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> dst</code>,
- <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> src</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecNssPKIKeyDataDuplicate"></a><h3>xmlSecNssPKIKeyDataDuplicate ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecNssPKIKeyDataDuplicate (<em class="parameter"><code><font><span class="type">xmlSecKeyDataPtr</span></font> dst</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlSecKeyDataPtr</span></font> src</code></em>);</pre>
<p>Duplicates the keydata from src to dst</p>
-<div class="REFSECT3">
-<a name="AEN41396"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN41398"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecNssPKIKeyDataDuplicate.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>dst</p></td>
-<td><p>the pointer to NSS Key data to copy to.</p></td>
-<td> </td>
+<td class="parameter_name"><p>dst</p></td>
+<td class="parameter_description"><p>the pointer to NSS Key data to copy to.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>src</p></td>
-<td><p>the pointer to NSS Key data to copy from.</p></td>
-<td> </td>
+<td class="parameter_name"><p>src</p></td>
+<td class="parameter_description"><p>the pointer to NSS Key data to copy from.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN41413"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecNssPKIKeyDataDuplicate.returns"></a><h4>Returns</h4>
<p> -1 on error, 0 on success</p>
</div>
</div>
</div>
-<div class="REFSECT1">
-<a name="XMLSEC-NSS-PKIKEYS.OTHER_DETAILS"></a><h2>Types and Values</h2>
-<p></p>
+<div class="refsect1">
+<a name="xmlsec-nss-pkikeys.other_details"></a><h2>Types and Values</h2>
</div>
-<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td align="left"><a accesskey="p" href="xmlsec-nss-keysstore.html"><b><<< keysstore</b></a></td>
-<td align="right"><a accesskey="n" href="xmlsec-nss-x509.html"><b>x509 >>></b></a></td>
-</tr></table>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
</td></tr></table></td>
</tr></table></body>
</html>
diff --git a/docs/api/xmlsec-nss-ref.html b/docs/api/xmlsec-nss-ref.html
index 79b3d60..36e9726 100644
--- a/docs/api/xmlsec-nss-ref.html
+++ b/docs/api/xmlsec-nss-ref.html
@@ -1,41 +1,14 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>XML Security Library for NSS API Reference.</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79">
-<link rel="HOME" title="XML Security Library Reference Manual" href="index.html">
-<link rel="UP" title="XML Security Library API Reference." href="xmlsec-reference.html">
-<link rel="PREVIOUS" title="crypto" href="xmlsec-gcrypt-crypto.html">
-<link rel="NEXT" title="app" href="xmlsec-nss-app.html">
-<style type="text/css">.synopsis, .classsynopsis {
- background: #eeeeee;
- border: solid 1px #aaaaaa;
- padding: 0.5em;
-}
-.programlisting {
- background: #eeeeff;
- border: solid 1px #aaaaff;
- padding: 0.5em;
-}
-.variablelist {
- padding: 4px;
- margin-left: 3em;
-}
-.navigation {
- background: #ffeeee;
- border: solid 1px #ffaaaa;
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
-.navigation a {
- color: #770000;
-}
-.navigation a:visited {
- color: #550000;
-}
-.navigation .title {
- font-size: 200%;
-}</style>
+<title>XML Security Library for NSS API Reference.: XML Security Library Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="XML Security Library Reference Manual">
+<link rel="up" href="xmlsec-reference.html" title="Part II. XML Security Library API Reference.">
+<link rel="prev" href="xmlsec-gcrypt-crypto.html" title="crypto">
+<link rel="next" href="xmlsec-nss-app.html" title="app">
+<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
<style type="text/css">
table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
width: 20em;
@@ -100,39 +73,42 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
</table>
</td>
<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent">
-<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td><a accesskey="p" href="xmlsec-gcrypt-crypto.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="xmlsec-reference.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<th width="100%" align="center">XML Security Library Reference Manual</th>
+<td><a accesskey="u" href="xmlsec-reference.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="xmlsec-gcrypt-crypto.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="xmlsec-nss-app.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
-<div class="CHAPTER">
-<h1>
-<a name="XMLSEC-NSS-REF"></a>XML Security Library for NSS API Reference.</h1>
-<div class="TOC"><dl>
-<dt><b>Table of Contents</b></dt>
+<div class="chapter">
+<div class="titlepage"><div><div><h2 class="title">
+<a name="xmlsec-nss-ref"></a>XML Security Library for NSS API Reference.</h2></div></div></div>
+<div class="toc"><dl class="toc">
<dt>
-<a href="xmlsec-nss-app.html">app</a> -- Application functions implementation for NSS.</dt>
+<span class="refentrytitle"><a href="xmlsec-nss-app.html">app</a></span><span class="refpurpose"> — Application functions implementation for NSS.</span>
+</dt>
<dt>
-<a href="xmlsec-nss-bignum.html">bignum</a> -- Big numbers helper functions.</dt>
+<span class="refentrytitle"><a href="xmlsec-nss-bignum.html">bignum</a></span><span class="refpurpose"> — Big numbers helper functions.</span>
+</dt>
<dt>
-<a href="xmlsec-nss-crypto.html">crypto</a> -- Crypto transforms implementation for NSS.</dt>
+<span class="refentrytitle"><a href="xmlsec-nss-crypto.html">crypto</a></span><span class="refpurpose"> — Crypto transforms implementation for NSS.</span>
+</dt>
<dt>
-<a href="xmlsec-nss-keysstore.html">keysstore</a> -- Keys store implementation for NSS.</dt>
+<span class="refentrytitle"><a href="xmlsec-nss-keysstore.html">keysstore</a></span><span class="refpurpose"> — Keys store implementation for NSS.</span>
+</dt>
<dt>
-<a href="xmlsec-nss-pkikeys.html">pkikeys</a> -- PKI keys data implementation.</dt>
+<span class="refentrytitle"><a href="xmlsec-nss-pkikeys.html">pkikeys</a></span><span class="refpurpose"> — PKI keys data implementation.</span>
+</dt>
<dt>
-<a href="xmlsec-nss-x509.html">x509</a> -- X509 certificates support implementation for NSS.</dt>
+<span class="refentrytitle"><a href="xmlsec-nss-x509.html">x509</a></span><span class="refpurpose"> — X509 certificates support implementation for NSS.</span>
+</dt>
</dl></div>
<p>This section contains the API reference for xmlsec-nss. All
the public interfaces are documented here. This reference guide is
build by extracting comments from the code sources. </p>
</div>
-<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td align="left"><a accesskey="p" href="xmlsec-gcrypt-crypto.html"><b><<< crypto</b></a></td>
-<td align="right"><a accesskey="n" href="xmlsec-nss-app.html"><b>app >>></b></a></td>
-</tr></table>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
</td></tr></table></td>
</tr></table></body>
</html>
diff --git a/docs/api/xmlsec-nss-x509.html b/docs/api/xmlsec-nss-x509.html
index 3d7191b..457fb99 100644
--- a/docs/api/xmlsec-nss-x509.html
+++ b/docs/api/xmlsec-nss-x509.html
@@ -1,41 +1,14 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>x509</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79">
-<link rel="HOME" title="XML Security Library Reference Manual" href="index.html">
-<link rel="UP" title="XML Security Library for NSS API Reference." href="xmlsec-nss-ref.html">
-<link rel="PREVIOUS" title="pkikeys" href="xmlsec-nss-pkikeys.html">
-<link rel="NEXT" title="XML Security Library for MSCrypto API Reference." href="xmlsec-mscrypto-ref.html">
-<style type="text/css">.synopsis, .classsynopsis {
- background: #eeeeee;
- border: solid 1px #aaaaaa;
- padding: 0.5em;
-}
-.programlisting {
- background: #eeeeff;
- border: solid 1px #aaaaff;
- padding: 0.5em;
-}
-.variablelist {
- padding: 4px;
- margin-left: 3em;
-}
-.navigation {
- background: #ffeeee;
- border: solid 1px #ffaaaa;
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
-.navigation a {
- color: #770000;
-}
-.navigation a:visited {
- color: #550000;
-}
-.navigation .title {
- font-size: 200%;
-}</style>
+<title>x509: XML Security Library Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="XML Security Library Reference Manual">
+<link rel="up" href="xmlsec-nss-ref.html" title="XML Security Library for NSS API Reference.">
+<link rel="prev" href="xmlsec-nss-pkikeys.html" title="pkikeys">
+<link rel="next" href="xmlsec-mscrypto-ref.html" title="XML Security Library for MSCrypto API Reference.">
+<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
<style type="text/css">
table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
width: 20em;
@@ -100,666 +73,672 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
</table>
</td>
<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent">
-<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td><a accesskey="p" href="xmlsec-nss-pkikeys.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="xmlsec-nss-ref.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description"> <span class="dim">|</span>
+ <a href="#xmlsec-nss-x509.description" class="shortcut">Description</a></span>
+</td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<th width="100%" align="center">XML Security Library Reference Manual</th>
+<td><a accesskey="u" href="xmlsec-nss-ref.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="xmlsec-nss-pkikeys.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="xmlsec-mscrypto-ref.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
-<h1>
-<a name="XMLSEC-NSS-X509"></a>x509</h1>
-<div class="REFNAMEDIV">
-<a name="AEN41424"></a><h2>Name</h2>x509 -- X509 certificates support implementation for NSS.</div>
-<div class="REFSECT1">
-<a name="XMLSEC-NSS-X509.FUNCTIONS"></a><h2>Functions</h2>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN41429"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
+<div class="refentry">
+<a name="xmlsec-nss-x509"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="xmlsec-nss-x509.top_of_page"></a>x509</span></h2>
+<p>x509 — X509 certificates support implementation for NSS.</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="xmlsec-nss-x509.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
<tbody>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecKeyDataId</span></font></td>
-<td>
-<a href="xmlsec-nss-x509.html#XMLSECNSSKEYDATAX509GETKLASS">xmlSecNssKeyDataX509GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecKeyDataId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-nss-x509.html#xmlSecNssKeyDataX509GetKlass" title="xmlSecNssKeyDataX509GetKlass ()">xmlSecNssKeyDataX509GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td>
-<font><span class="RETURNVALUE">CERTCertificate</span></font> *</td>
-<td>
-<a href="xmlsec-nss-x509.html#XMLSECNSSKEYDATAX509GETKEYCERT">xmlSecNssKeyDataX509GetKeyCert</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">CERTCertificate</span></font> *
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-nss-x509.html#xmlSecNssKeyDataX509GetKeyCert" title="xmlSecNssKeyDataX509GetKeyCert ()">xmlSecNssKeyDataX509GetKeyCert</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-nss-x509.html#XMLSECNSSKEYDATAX509ADOPTKEYCERT">xmlSecNssKeyDataX509AdoptKeyCert</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-nss-x509.html#xmlSecNssKeyDataX509AdoptKeyCert" title="xmlSecNssKeyDataX509AdoptKeyCert ()">xmlSecNssKeyDataX509AdoptKeyCert</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-nss-x509.html#XMLSECNSSKEYDATAX509ADOPTCERT">xmlSecNssKeyDataX509AdoptCert</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-nss-x509.html#xmlSecNssKeyDataX509AdoptCert" title="xmlSecNssKeyDataX509AdoptCert ()">xmlSecNssKeyDataX509AdoptCert</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td>
-<font><span class="RETURNVALUE">CERTCertificate</span></font> *</td>
-<td>
-<a href="xmlsec-nss-x509.html#XMLSECNSSKEYDATAX509GETCERT">xmlSecNssKeyDataX509GetCert</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">CERTCertificate</span></font> *
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-nss-x509.html#xmlSecNssKeyDataX509GetCert" title="xmlSecNssKeyDataX509GetCert ()">xmlSecNssKeyDataX509GetCert</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="RETURNVALUE">xmlSecSize</span></a></td>
-<td>
-<a href="xmlsec-nss-x509.html#XMLSECNSSKEYDATAX509GETCERTSSIZE">xmlSecNssKeyDataX509GetCertsSize</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="returnvalue">xmlSecSize</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-nss-x509.html#xmlSecNssKeyDataX509GetCertsSize" title="xmlSecNssKeyDataX509GetCertsSize ()">xmlSecNssKeyDataX509GetCertsSize</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-nss-x509.html#XMLSECNSSKEYDATAX509ADOPTCRL">xmlSecNssKeyDataX509AdoptCrl</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-nss-x509.html#xmlSecNssKeyDataX509AdoptCrl" title="xmlSecNssKeyDataX509AdoptCrl ()">xmlSecNssKeyDataX509AdoptCrl</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td>
-<font><span class="RETURNVALUE">CERTSignedCrl</span></font> *</td>
-<td>
-<a href="xmlsec-nss-x509.html#XMLSECNSSKEYDATAX509GETCRL">xmlSecNssKeyDataX509GetCrl</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">CERTSignedCrl</span></font> *
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-nss-x509.html#xmlSecNssKeyDataX509GetCrl" title="xmlSecNssKeyDataX509GetCrl ()">xmlSecNssKeyDataX509GetCrl</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="RETURNVALUE">xmlSecSize</span></a></td>
-<td>
-<a href="xmlsec-nss-x509.html#XMLSECNSSKEYDATAX509GETCRLSSIZE">xmlSecNssKeyDataX509GetCrlsSize</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="returnvalue">xmlSecSize</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-nss-x509.html#xmlSecNssKeyDataX509GetCrlsSize" title="xmlSecNssKeyDataX509GetCrlsSize ()">xmlSecNssKeyDataX509GetCrlsSize</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="RETURNVALUE">xmlSecKeyDataPtr</span></a></td>
-<td>
-<a href="xmlsec-nss-x509.html#XMLSECNSSX509CERTGETKEY">xmlSecNssX509CertGetKey</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecKeyDataPtr</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-nss-x509.html#xmlSecNssX509CertGetKey" title="xmlSecNssX509CertGetKey ()">xmlSecNssX509CertGetKey</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecKeyDataId</span></font></td>
-<td>
-<a href="xmlsec-nss-x509.html#XMLSECNSSKEYDATARAWX509CERTGETKLASS">xmlSecNssKeyDataRawX509CertGetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecKeyDataId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-nss-x509.html#xmlSecNssKeyDataRawX509CertGetKlass" title="xmlSecNssKeyDataRawX509CertGetKlass ()">xmlSecNssKeyDataRawX509CertGetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecKeyDataStoreId</span></font></td>
-<td>
-<a href="xmlsec-nss-x509.html#XMLSECNSSX509STOREGETKLASS">xmlSecNssX509StoreGetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecKeyDataStoreId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-nss-x509.html#xmlSecNssX509StoreGetKlass" title="xmlSecNssX509StoreGetKlass ()">xmlSecNssX509StoreGetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td>
-<font><span class="RETURNVALUE">CERTCertificate</span></font> *</td>
-<td>
-<a href="xmlsec-nss-x509.html#XMLSECNSSX509STOREFINDCERT">xmlSecNssX509StoreFindCert</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">CERTCertificate</span></font> *
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-nss-x509.html#xmlSecNssX509StoreFindCert" title="xmlSecNssX509StoreFindCert ()">xmlSecNssX509StoreFindCert</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td>
-<font><span class="RETURNVALUE">CERTCertificate</span></font> *</td>
-<td>
-<a href="xmlsec-nss-x509.html#XMLSECNSSX509STOREVERIFY">xmlSecNssX509StoreVerify</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">CERTCertificate</span></font> *
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-nss-x509.html#xmlSecNssX509StoreVerify" title="xmlSecNssX509StoreVerify ()">xmlSecNssX509StoreVerify</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-nss-x509.html#XMLSECNSSX509STOREADOPTCERT">xmlSecNssX509StoreAdoptCert</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-nss-x509.html#xmlSecNssX509StoreAdoptCert" title="xmlSecNssX509StoreAdoptCert ()">xmlSecNssX509StoreAdoptCert</a> <span class="c_punctuation">()</span>
</td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
-</div>
-<div class="REFSECT1">
-<a name="XMLSEC-NSS-X509.OTHER"></a><h2>Types and Values</h2>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN41539"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="xmlsec-nss-x509.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
<tbody>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-nss-x509.html#XMLSECNSSKEYDATAX509ID">xmlSecNssKeyDataX509Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-nss-x509.html#xmlSecNssKeyDataX509Id" title="xmlSecNssKeyDataX509Id">xmlSecNssKeyDataX509Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-nss-x509.html#XMLSECNSSKEYDATARAWX509CERTID">xmlSecNssKeyDataRawX509CertId</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-nss-x509.html#xmlSecNssKeyDataRawX509CertId" title="xmlSecNssKeyDataRawX509CertId">xmlSecNssKeyDataRawX509CertId</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-nss-x509.html#XMLSECNSSX509STOREID">xmlSecNssX509StoreId</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-nss-x509.html#xmlSecNssX509StoreId" title="xmlSecNssX509StoreId">xmlSecNssX509StoreId</a></td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
-</div>
-<div class="REFSECT1">
-<a name="XMLSEC-NSS-X509.DESCRIPTION"></a><h2>Description</h2>
-<p>X509 certificates support implementation for NSS.</p>
-</div>
-<div class="REFSECT1">
-<a name="XMLSEC-NSS-X509.FUNCTIONS_DETAILS"></a><h2>Functions</h2>
-<div class="REFSECT2">
-<a name="XMLSECNSSKEYDATAX509GETKLASS"></a><h3>xmlSecNssKeyDataX509GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecKeyDataId</span></font>
-xmlSecNssKeyDataX509GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
-<p>The NSS X509 key data klass (http://www.w3.org/TR/xmldsig-core/<font><span class="TYPE">sec-X509Data</span></font>).</p>
-<div class="REFSECT3">
-<a name="AEN41571"></a><h4>Returns</h4>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="xmlsec-nss-x509.description"></a><h2>Description</h2>
+<p>
+X509 certificates support implementation for NSS.
+</p>
+</div>
+<div class="refsect1">
+<a name="xmlsec-nss-x509.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="xmlSecNssKeyDataX509GetKlass"></a><h3>xmlSecNssKeyDataX509GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecKeyDataId</span></font>
+xmlSecNssKeyDataX509GetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
+<p>The NSS X509 key data klass (http://www.w3.org/TR/xmldsig-core/<font><span class="type">sec-X509Data</span></font>).</p>
+<div class="refsect3">
+<a name="xmlSecNssKeyDataX509GetKlass.returns"></a><h4>Returns</h4>
<p> the X509 data klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECNSSKEYDATAX509GETKEYCERT"></a><h3>xmlSecNssKeyDataX509GetKeyCert ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">CERTCertificate</span></font> *
-xmlSecNssKeyDataX509GetKeyCert (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecNssKeyDataX509GetKeyCert"></a><h3>xmlSecNssKeyDataX509GetKeyCert ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">CERTCertificate</span></font> *
+xmlSecNssKeyDataX509GetKeyCert (<em class="parameter"><code><font><span class="type">xmlSecKeyDataPtr</span></font> data</code></em>);</pre>
<p>Gets the certificate from which the key was extracted.</p>
-<div class="REFSECT3">
-<a name="AEN41585"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN41587"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecNssKeyDataX509GetKeyCert.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>data</p></td>
-<td><p>the pointer to X509 key data.</p></td>
-<td> </td>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the pointer to X509 key data.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN41596"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecNssKeyDataX509GetKeyCert.returns"></a><h4>Returns</h4>
<p> the key's certificate or NULL if key data was not used for key
extraction or an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECNSSKEYDATAX509ADOPTKEYCERT"></a><h3>xmlSecNssKeyDataX509AdoptKeyCert ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecNssKeyDataX509AdoptKeyCert (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>,
- <code class="PARAMETER"><font><span class="TYPE">CERTCertificate</span></font> *cert</code>);</pre>
-<p>Sets the key's certificate in <code class="PARAMETER">data</code>
+<div class="refsect2">
+<a name="xmlSecNssKeyDataX509AdoptKeyCert"></a><h3>xmlSecNssKeyDataX509AdoptKeyCert ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecNssKeyDataX509AdoptKeyCert (<em class="parameter"><code><font><span class="type">xmlSecKeyDataPtr</span></font> data</code></em>,
+ <em class="parameter"><code><font><span class="type">CERTCertificate</span></font> *cert</code></em>);</pre>
+<p>Sets the key's certificate in <em class="parameter"><code>data</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN41614"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN41616"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecNssKeyDataX509AdoptKeyCert.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>data</p></td>
-<td><p>the pointer to X509 key data.</p></td>
-<td> </td>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the pointer to X509 key data.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>cert</p></td>
-<td><p>the pointer to NSS X509 certificate.</p></td>
-<td> </td>
+<td class="parameter_name"><p>cert</p></td>
+<td class="parameter_description"><p>the pointer to NSS X509 certificate.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN41631"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecNssKeyDataX509AdoptKeyCert.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECNSSKEYDATAX509ADOPTCERT"></a><h3>xmlSecNssKeyDataX509AdoptCert ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecNssKeyDataX509AdoptCert (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>,
- <code class="PARAMETER"><font><span class="TYPE">CERTCertificate</span></font> *cert</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecNssKeyDataX509AdoptCert"></a><h3>xmlSecNssKeyDataX509AdoptCert ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecNssKeyDataX509AdoptCert (<em class="parameter"><code><font><span class="type">xmlSecKeyDataPtr</span></font> data</code></em>,
+ <em class="parameter"><code><font><span class="type">CERTCertificate</span></font> *cert</code></em>);</pre>
<p>Adds certificate to the X509 key data.</p>
-<div class="REFSECT3">
-<a name="AEN41648"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN41650"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecNssKeyDataX509AdoptCert.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>data</p></td>
-<td><p>the pointer to X509 key data.</p></td>
-<td> </td>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the pointer to X509 key data.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>cert</p></td>
-<td><p>the pointer to NSS X509 certificate.</p></td>
-<td> </td>
+<td class="parameter_name"><p>cert</p></td>
+<td class="parameter_description"><p>the pointer to NSS X509 certificate.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN41665"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecNssKeyDataX509AdoptCert.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECNSSKEYDATAX509GETCERT"></a><h3>xmlSecNssKeyDataX509GetCert ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">CERTCertificate</span></font> *
-xmlSecNssKeyDataX509GetCert (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>,
- <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> pos</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecNssKeyDataX509GetCert"></a><h3>xmlSecNssKeyDataX509GetCert ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">CERTCertificate</span></font> *
+xmlSecNssKeyDataX509GetCert (<em class="parameter"><code><font><span class="type">xmlSecKeyDataPtr</span></font> data</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="type">xmlSecSize</span></a> pos</code></em>);</pre>
<p>Gets a certificate from X509 key data.</p>
-<div class="REFSECT3">
-<a name="AEN41682"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN41684"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecNssKeyDataX509GetCert.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>data</p></td>
-<td><p>the pointer to X509 key data.</p></td>
-<td> </td>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the pointer to X509 key data.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>pos</p></td>
-<td><p>the desired certificate position.</p></td>
-<td> </td>
+<td class="parameter_name"><p>pos</p></td>
+<td class="parameter_description"><p>the desired certificate position.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN41699"></a><h4>Returns</h4>
-<p> the pointer to certificate or NULL if <code class="PARAMETER">pos</code>
+<div class="refsect3">
+<a name="xmlSecNssKeyDataX509GetCert.returns"></a><h4>Returns</h4>
+<p> the pointer to certificate or NULL if <em class="parameter"><code>pos</code></em>
is larger than the
-number of certificates in <code class="PARAMETER">data</code>
+number of certificates in <em class="parameter"><code>data</code></em>
or an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECNSSKEYDATAX509GETCERTSSIZE"></a><h3>xmlSecNssKeyDataX509GetCertsSize ()</h3>
-<pre class="PROGRAMLISTING"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="RETURNVALUE">xmlSecSize</span></a>
-xmlSecNssKeyDataX509GetCertsSize (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>);</pre>
-<p>Gets the number of certificates in <code class="PARAMETER">data</code>
+<div class="refsect2">
+<a name="xmlSecNssKeyDataX509GetCertsSize"></a><h3>xmlSecNssKeyDataX509GetCertsSize ()</h3>
+<pre class="programlisting"><a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="returnvalue">xmlSecSize</span></a>
+xmlSecNssKeyDataX509GetCertsSize (<em class="parameter"><code><font><span class="type">xmlSecKeyDataPtr</span></font> data</code></em>);</pre>
+<p>Gets the number of certificates in <em class="parameter"><code>data</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN41716"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN41718"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecNssKeyDataX509GetCertsSize.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>data</p></td>
-<td><p>the pointer to X509 key data.</p></td>
-<td> </td>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the pointer to X509 key data.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN41727"></a><h4>Returns</h4>
-<p> te number of certificates in <code class="PARAMETER">data</code>
+<div class="refsect3">
+<a name="xmlSecNssKeyDataX509GetCertsSize.returns"></a><h4>Returns</h4>
+<p> te number of certificates in <em class="parameter"><code>data</code></em>
.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECNSSKEYDATAX509ADOPTCRL"></a><h3>xmlSecNssKeyDataX509AdoptCrl ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecNssKeyDataX509AdoptCrl (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>,
- <code class="PARAMETER"><font><span class="TYPE">CERTSignedCrl</span></font> *crl</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecNssKeyDataX509AdoptCrl"></a><h3>xmlSecNssKeyDataX509AdoptCrl ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecNssKeyDataX509AdoptCrl (<em class="parameter"><code><font><span class="type">xmlSecKeyDataPtr</span></font> data</code></em>,
+ <em class="parameter"><code><font><span class="type">CERTSignedCrl</span></font> *crl</code></em>);</pre>
<p>Adds CRL to the X509 key data.</p>
-<div class="REFSECT3">
-<a name="AEN41745"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN41747"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecNssKeyDataX509AdoptCrl.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>data</p></td>
-<td><p>the pointer to X509 key data.</p></td>
-<td> </td>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the pointer to X509 key data.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>crl</p></td>
-<td><p>the pointer to NSS X509 CRL.</p></td>
-<td> </td>
+<td class="parameter_name"><p>crl</p></td>
+<td class="parameter_description"><p>the pointer to NSS X509 CRL.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN41762"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecNssKeyDataX509AdoptCrl.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECNSSKEYDATAX509GETCRL"></a><h3>xmlSecNssKeyDataX509GetCrl ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">CERTSignedCrl</span></font> *
-xmlSecNssKeyDataX509GetCrl (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>,
- <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> pos</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecNssKeyDataX509GetCrl"></a><h3>xmlSecNssKeyDataX509GetCrl ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">CERTSignedCrl</span></font> *
+xmlSecNssKeyDataX509GetCrl (<em class="parameter"><code><font><span class="type">xmlSecKeyDataPtr</span></font> data</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="type">xmlSecSize</span></a> pos</code></em>);</pre>
<p>Gets a CRL from X509 key data.</p>
-<div class="REFSECT3">
-<a name="AEN41779"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN41781"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecNssKeyDataX509GetCrl.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>data</p></td>
-<td><p>the pointer to X509 key data.</p></td>
-<td> </td>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the pointer to X509 key data.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>pos</p></td>
-<td><p>the desired CRL position.</p></td>
-<td> </td>
+<td class="parameter_name"><p>pos</p></td>
+<td class="parameter_description"><p>the desired CRL position.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN41796"></a><h4>Returns</h4>
-<p> the pointer to CRL or NULL if <code class="PARAMETER">pos</code>
+<div class="refsect3">
+<a name="xmlSecNssKeyDataX509GetCrl.returns"></a><h4>Returns</h4>
+<p> the pointer to CRL or NULL if <em class="parameter"><code>pos</code></em>
is larger than the
-number of CRLs in <code class="PARAMETER">data</code>
+number of CRLs in <em class="parameter"><code>data</code></em>
or an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECNSSKEYDATAX509GETCRLSSIZE"></a><h3>xmlSecNssKeyDataX509GetCrlsSize ()</h3>
-<pre class="PROGRAMLISTING"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="RETURNVALUE">xmlSecSize</span></a>
-xmlSecNssKeyDataX509GetCrlsSize (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>);</pre>
-<p>Gets the number of CRLs in <code class="PARAMETER">data</code>
+<div class="refsect2">
+<a name="xmlSecNssKeyDataX509GetCrlsSize"></a><h3>xmlSecNssKeyDataX509GetCrlsSize ()</h3>
+<pre class="programlisting"><a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="returnvalue">xmlSecSize</span></a>
+xmlSecNssKeyDataX509GetCrlsSize (<em class="parameter"><code><font><span class="type">xmlSecKeyDataPtr</span></font> data</code></em>);</pre>
+<p>Gets the number of CRLs in <em class="parameter"><code>data</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN41813"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN41815"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecNssKeyDataX509GetCrlsSize.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>data</p></td>
-<td><p>the pointer to X509 key data.</p></td>
-<td> </td>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the pointer to X509 key data.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN41824"></a><h4>Returns</h4>
-<p> te number of CRLs in <code class="PARAMETER">data</code>
+<div class="refsect3">
+<a name="xmlSecNssKeyDataX509GetCrlsSize.returns"></a><h4>Returns</h4>
+<p> te number of CRLs in <em class="parameter"><code>data</code></em>
.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECNSSX509CERTGETKEY"></a><h3>xmlSecNssX509CertGetKey ()</h3>
-<pre class="PROGRAMLISTING"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="RETURNVALUE">xmlSecKeyDataPtr</span></a>
-xmlSecNssX509CertGetKey (<code class="PARAMETER"><font><span class="TYPE">CERTCertificate</span></font> *cert</code>);</pre>
-<p>Extracts public key from the <code class="PARAMETER">cert</code>
+<div class="refsect2">
+<a name="xmlSecNssX509CertGetKey"></a><h3>xmlSecNssX509CertGetKey ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecKeyDataPtr</span></font>
+xmlSecNssX509CertGetKey (<em class="parameter"><code><font><span class="type">CERTCertificate</span></font> *cert</code></em>);</pre>
+<p>Extracts public key from the <em class="parameter"><code>cert</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN41840"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN41842"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecNssX509CertGetKey.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>cert</p></td>
-<td><p>the certificate.</p></td>
-<td> </td>
+<td class="parameter_name"><p>cert</p></td>
+<td class="parameter_description"><p>the certificate.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN41851"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecNssX509CertGetKey.returns"></a><h4>Returns</h4>
<p> public key value or NULL if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECNSSKEYDATARAWX509CERTGETKLASS"></a><h3>xmlSecNssKeyDataRawX509CertGetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecKeyDataId</span></font>
-xmlSecNssKeyDataRawX509CertGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecNssKeyDataRawX509CertGetKlass"></a><h3>xmlSecNssKeyDataRawX509CertGetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecKeyDataId</span></font>
+xmlSecNssKeyDataRawX509CertGetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The raw X509 certificates key data klass.</p>
-<div class="REFSECT3">
-<a name="AEN41864"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecNssKeyDataRawX509CertGetKlass.returns"></a><h4>Returns</h4>
<p> raw X509 certificates key data klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECNSSX509STOREGETKLASS"></a><h3>xmlSecNssX509StoreGetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecKeyDataStoreId</span></font>
-xmlSecNssX509StoreGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecNssX509StoreGetKlass"></a><h3>xmlSecNssX509StoreGetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecKeyDataStoreId</span></font>
+xmlSecNssX509StoreGetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The NSS X509 certificates key data store klass.</p>
-<div class="REFSECT3">
-<a name="AEN41877"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecNssX509StoreGetKlass.returns"></a><h4>Returns</h4>
<p> pointer to NSS X509 certificates key data store klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECNSSX509STOREFINDCERT"></a><h3>xmlSecNssX509StoreFindCert ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">CERTCertificate</span></font> *
-xmlSecNssX509StoreFindCert (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATASTORE"><span class="TYPE">xmlSecKeyDataStorePtr</span></a> store</code>,
- <code class="PARAMETER"><font><span class="TYPE">xmlChar</span></font> *subjectName</code>,
- <code class="PARAMETER"><font><span class="TYPE">xmlChar</span></font> *issuerName</code>,
- <code class="PARAMETER"><font><span class="TYPE">xmlChar</span></font> *issuerSerial</code>,
- <code class="PARAMETER"><font><span class="TYPE">xmlChar</span></font> *ski</code>,
- <code class="PARAMETER"><a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTX"><span class="TYPE">xmlSecKeyInfoCtx</span></a> *keyInfoCtx</code>);</pre>
-<p>Searches <code class="PARAMETER">store</code>
+<div class="refsect2">
+<a name="xmlSecNssX509StoreFindCert"></a><h3>xmlSecNssX509StoreFindCert ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">CERTCertificate</span></font> *
+xmlSecNssX509StoreFindCert (<em class="parameter"><code><font><span class="type">xmlSecKeyDataStorePtr</span></font> store</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlChar</span></font> *subjectName</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlChar</span></font> *issuerName</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlChar</span></font> *issuerSerial</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlChar</span></font> *ski</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-keyinfo.html#xmlSecKeyInfoCtx" title="struct xmlSecKeyInfoCtx"><span class="type">xmlSecKeyInfoCtx</span></a> *keyInfoCtx</code></em>);</pre>
+<p>Searches <em class="parameter"><code>store</code></em>
for a certificate that matches given criteria.</p>
-<div class="REFSECT3">
-<a name="AEN41907"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN41909"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecNssX509StoreFindCert.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>store</p></td>
-<td><p>the pointer to X509 key data store klass.</p></td>
-<td> </td>
+<td class="parameter_name"><p>store</p></td>
+<td class="parameter_description"><p>the pointer to X509 key data store klass.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>subjectName</p></td>
-<td><p>the desired certificate name.</p></td>
-<td> </td>
+<td class="parameter_name"><p>subjectName</p></td>
+<td class="parameter_description"><p>the desired certificate name.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>issuerName</p></td>
-<td><p>the desired certificate issuer name.</p></td>
-<td> </td>
+<td class="parameter_name"><p>issuerName</p></td>
+<td class="parameter_description"><p>the desired certificate issuer name.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>issuerSerial</p></td>
-<td><p>the desired certificate issuer serial number.</p></td>
-<td> </td>
+<td class="parameter_name"><p>issuerSerial</p></td>
+<td class="parameter_description"><p>the desired certificate issuer serial number.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>ski</p></td>
-<td><p>the desired certificate SKI.</p></td>
-<td> </td>
+<td class="parameter_name"><p>ski</p></td>
+<td class="parameter_description"><p>the desired certificate SKI.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>keyInfoCtx</p></td>
-<td><p>the pointer to <dsig:KeyInfo/> element processing context.</p></td>
-<td> </td>
+<td class="parameter_name"><p>keyInfoCtx</p></td>
+<td class="parameter_description"><p>the pointer to <dsig:KeyInfo/> element processing context.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN41948"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecNssX509StoreFindCert.returns"></a><h4>Returns</h4>
<p> pointer to found certificate or NULL if certificate is not found
or an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECNSSX509STOREVERIFY"></a><h3>xmlSecNssX509StoreVerify ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">CERTCertificate</span></font> *
-xmlSecNssX509StoreVerify (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATASTORE"><span class="TYPE">xmlSecKeyDataStorePtr</span></a> store</code>,
- <code class="PARAMETER"><font><span class="TYPE">CERTCertList</span></font> *certs</code>,
- <code class="PARAMETER"><a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTX"><span class="TYPE">xmlSecKeyInfoCtx</span></a> *keyInfoCtx</code>);</pre>
-<p>Verifies <code class="PARAMETER">certs</code>
+<div class="refsect2">
+<a name="xmlSecNssX509StoreVerify"></a><h3>xmlSecNssX509StoreVerify ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">CERTCertificate</span></font> *
+xmlSecNssX509StoreVerify (<em class="parameter"><code><font><span class="type">xmlSecKeyDataStorePtr</span></font> store</code></em>,
+ <em class="parameter"><code><font><span class="type">CERTCertList</span></font> *certs</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-keyinfo.html#xmlSecKeyInfoCtx" title="struct xmlSecKeyInfoCtx"><span class="type">xmlSecKeyInfoCtx</span></a> *keyInfoCtx</code></em>);</pre>
+<p>Verifies <em class="parameter"><code>certs</code></em>
list.</p>
-<div class="REFSECT3">
-<a name="AEN41969"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN41971"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecNssX509StoreVerify.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>store</p></td>
-<td><p>the pointer to X509 key data store klass.</p></td>
-<td> </td>
+<td class="parameter_name"><p>store</p></td>
+<td class="parameter_description"><p>the pointer to X509 key data store klass.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>certs</p></td>
-<td><p>the untrusted certificates stack.</p></td>
-<td> </td>
+<td class="parameter_name"><p>certs</p></td>
+<td class="parameter_description"><p>the untrusted certificates stack.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>keyInfoCtx</p></td>
-<td><p>the pointer to <dsig:KeyInfo/> element processing context.</p></td>
-<td> </td>
+<td class="parameter_name"><p>keyInfoCtx</p></td>
+<td class="parameter_description"><p>the pointer to <dsig:KeyInfo/> element processing context.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN41992"></a><h4>Returns</h4>
-<p> pointer to the first verified certificate from <code class="PARAMETER">certs</code>
+<div class="refsect3">
+<a name="xmlSecNssX509StoreVerify.returns"></a><h4>Returns</h4>
+<p> pointer to the first verified certificate from <em class="parameter"><code>certs</code></em>
.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECNSSX509STOREADOPTCERT"></a><h3>xmlSecNssX509StoreAdoptCert ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecNssX509StoreAdoptCert (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATASTORE"><span class="TYPE">xmlSecKeyDataStorePtr</span></a> store</code>,
- <code class="PARAMETER"><font><span class="TYPE">CERTCertificate</span></font> *cert</code>,
- <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATATYPE"><span class="TYPE">xmlSecKeyDataType</span></a> type</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecNssX509StoreAdoptCert"></a><h3>xmlSecNssX509StoreAdoptCert ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecNssX509StoreAdoptCert (<em class="parameter"><code><font><span class="type">xmlSecKeyDataStorePtr</span></font> store</code></em>,
+ <em class="parameter"><code><font><span class="type">CERTCertificate</span></font> *cert</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataType" title="xmlSecKeyDataType"><span class="type">xmlSecKeyDataType</span></a> type</code></em>);</pre>
<p>Adds trusted (root) or untrusted certificate to the store.</p>
-<div class="REFSECT3">
-<a name="AEN42013"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN42015"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecNssX509StoreAdoptCert.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>store</p></td>
-<td><p>the pointer to X509 key data store klass.</p></td>
-<td> </td>
+<td class="parameter_name"><p>store</p></td>
+<td class="parameter_description"><p>the pointer to X509 key data store klass.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>cert</p></td>
-<td><p>the pointer to NSS X509 certificate.</p></td>
-<td> </td>
+<td class="parameter_name"><p>cert</p></td>
+<td class="parameter_description"><p>the pointer to NSS X509 certificate.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>type</p></td>
-<td><p>the certificate type (trusted/untrusted).</p></td>
-<td> </td>
+<td class="parameter_name"><p>type</p></td>
+<td class="parameter_description"><p>the certificate type (trusted/untrusted).</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN42036"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecNssX509StoreAdoptCert.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs.</p>
</div>
</div>
</div>
-<div class="REFSECT1">
-<a name="XMLSEC-NSS-X509.OTHER_DETAILS"></a><h2>Types and Values</h2>
-<div class="REFSECT2">
-<a name="XMLSECNSSKEYDATAX509ID"></a><h3>xmlSecNssKeyDataX509Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecNssKeyDataX509Id</pre>
+<div class="refsect1">
+<a name="xmlsec-nss-x509.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="xmlSecNssKeyDataX509Id"></a><h3>xmlSecNssKeyDataX509Id</h3>
+<pre class="programlisting">#define xmlSecNssKeyDataX509Id</pre>
<p>The NSS X509 data klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECNSSKEYDATARAWX509CERTID"></a><h3>xmlSecNssKeyDataRawX509CertId</h3>
-<pre class="PROGRAMLISTING">#define xmlSecNssKeyDataRawX509CertId</pre>
+<div class="refsect2">
+<a name="xmlSecNssKeyDataRawX509CertId"></a><h3>xmlSecNssKeyDataRawX509CertId</h3>
+<pre class="programlisting">#define xmlSecNssKeyDataRawX509CertId</pre>
<p>The NSS raw X509 certificate klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECNSSX509STOREID"></a><h3>xmlSecNssX509StoreId</h3>
-<pre class="PROGRAMLISTING">#define xmlSecNssX509StoreId</pre>
+<div class="refsect2">
+<a name="xmlSecNssX509StoreId"></a><h3>xmlSecNssX509StoreId</h3>
+<pre class="programlisting">#define xmlSecNssX509StoreId</pre>
<p>The NSS X509 store klass.</p>
</div>
</div>
-<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td align="left"><a accesskey="p" href="xmlsec-nss-pkikeys.html"><b><<< pkikeys</b></a></td>
-<td align="right"><a accesskey="n" href="xmlsec-mscrypto-ref.html"><b>XML Security Library for MSCrypto API Reference. >>></b></a></td>
-</tr></table>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
</td></tr></table></td>
</tr></table></body>
</html>
diff --git a/docs/api/xmlsec-openssl-app.html b/docs/api/xmlsec-openssl-app.html
index 888b6b7..41d4d9b 100644
--- a/docs/api/xmlsec-openssl-app.html
+++ b/docs/api/xmlsec-openssl-app.html
@@ -1,41 +1,14 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>app</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79">
-<link rel="HOME" title="XML Security Library Reference Manual" href="index.html">
-<link rel="UP" title="XML Security Library for OpenSLL API Reference." href="xmlsec-openssl-ref.html">
-<link rel="PREVIOUS" title="XML Security Library for OpenSLL API Reference." href="xmlsec-openssl-ref.html">
-<link rel="NEXT" title="bn" href="xmlsec-openssl-bn.html">
-<style type="text/css">.synopsis, .classsynopsis {
- background: #eeeeee;
- border: solid 1px #aaaaaa;
- padding: 0.5em;
-}
-.programlisting {
- background: #eeeeff;
- border: solid 1px #aaaaff;
- padding: 0.5em;
-}
-.variablelist {
- padding: 4px;
- margin-left: 3em;
-}
-.navigation {
- background: #ffeeee;
- border: solid 1px #ffaaaa;
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
-.navigation a {
- color: #770000;
-}
-.navigation a:visited {
- color: #550000;
-}
-.navigation .title {
- font-size: 200%;
-}</style>
+<title>app: XML Security Library Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="XML Security Library Reference Manual">
+<link rel="up" href="xmlsec-openssl-ref.html" title="XML Security Library for OpenSLL API Reference.">
+<link rel="prev" href="xmlsec-openssl-ref.html" title="XML Security Library for OpenSLL API Reference.">
+<link rel="next" href="xmlsec-openssl-bn.html" title="bn">
+<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
<style type="text/css">
table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
width: 20em;
@@ -100,1114 +73,1123 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
</table>
</td>
<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent">
-<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td><a accesskey="p" href="xmlsec-openssl-ref.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="xmlsec-openssl-ref.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description"> <span class="dim">|</span>
+ <a href="#xmlsec-openssl-app.description" class="shortcut">Description</a></span>
+</td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<th width="100%" align="center">XML Security Library Reference Manual</th>
+<td><a accesskey="u" href="xmlsec-openssl-ref.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="xmlsec-openssl-ref.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="xmlsec-openssl-bn.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
-<h1>
-<a name="XMLSEC-OPENSSL-APP"></a>app</h1>
-<div class="REFNAMEDIV">
-<a name="AEN28928"></a><h2>Name</h2>app -- Application functions implementation for OpenSSL.</div>
-<div class="REFSECT1">
-<a name="XMLSEC-OPENSSL-APP.FUNCTIONS"></a><h2>Functions</h2>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN28933"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
+<div class="refentry">
+<a name="xmlsec-openssl-app"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="xmlsec-openssl-app.top_of_page"></a>app</span></h2>
+<p>app — Application functions implementation for OpenSSL.</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="xmlsec-openssl-app.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
<tbody>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-openssl-app.html#XMLSECOPENSSLAPPINIT">xmlSecOpenSSLAppInit</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-openssl-app.html#xmlSecOpenSSLAppInit" title="xmlSecOpenSSLAppInit ()">xmlSecOpenSSLAppInit</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-openssl-app.html#XMLSECOPENSSLAPPSHUTDOWN">xmlSecOpenSSLAppShutdown</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-openssl-app.html#xmlSecOpenSSLAppShutdown" title="xmlSecOpenSSLAppShutdown ()">xmlSecOpenSSLAppShutdown</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-openssl-app.html#XMLSECOPENSSLAPPDEFAULTKEYSMNGRINIT">xmlSecOpenSSLAppDefaultKeysMngrInit</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-openssl-app.html#xmlSecOpenSSLAppDefaultKeysMngrInit" title="xmlSecOpenSSLAppDefaultKeysMngrInit ()">xmlSecOpenSSLAppDefaultKeysMngrInit</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-openssl-app.html#XMLSECOPENSSLAPPDEFAULTKEYSMNGRADOPTKEY">xmlSecOpenSSLAppDefaultKeysMngrAdoptKey</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-openssl-app.html#xmlSecOpenSSLAppDefaultKeysMngrAdoptKey" title="xmlSecOpenSSLAppDefaultKeysMngrAdoptKey ()">xmlSecOpenSSLAppDefaultKeysMngrAdoptKey</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-openssl-app.html#XMLSECOPENSSLAPPDEFAULTKEYSMNGRLOAD">xmlSecOpenSSLAppDefaultKeysMngrLoad</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-openssl-app.html#xmlSecOpenSSLAppDefaultKeysMngrLoad" title="xmlSecOpenSSLAppDefaultKeysMngrLoad ()">xmlSecOpenSSLAppDefaultKeysMngrLoad</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-openssl-app.html#XMLSECOPENSSLAPPDEFAULTKEYSMNGRSAVE">xmlSecOpenSSLAppDefaultKeysMngrSave</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-openssl-app.html#xmlSecOpenSSLAppDefaultKeysMngrSave" title="xmlSecOpenSSLAppDefaultKeysMngrSave ()">xmlSecOpenSSLAppDefaultKeysMngrSave</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-openssl-app.html#XMLSECOPENSSLAPPKEYSMNGRCERTLOAD">xmlSecOpenSSLAppKeysMngrCertLoad</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-openssl-app.html#xmlSecOpenSSLAppKeysMngrCertLoad" title="xmlSecOpenSSLAppKeysMngrCertLoad ()">xmlSecOpenSSLAppKeysMngrCertLoad</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-openssl-app.html#XMLSECOPENSSLAPPKEYSMNGRCERTLOADMEMORY">xmlSecOpenSSLAppKeysMngrCertLoadMemory</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-openssl-app.html#xmlSecOpenSSLAppKeysMngrCertLoadMemory" title="xmlSecOpenSSLAppKeysMngrCertLoadMemory ()">xmlSecOpenSSLAppKeysMngrCertLoadMemory</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-openssl-app.html#XMLSECOPENSSLAPPKEYSMNGRCERTLOADBIO">xmlSecOpenSSLAppKeysMngrCertLoadBIO</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-openssl-app.html#xmlSecOpenSSLAppKeysMngrCertLoadBIO" title="xmlSecOpenSSLAppKeysMngrCertLoadBIO ()">xmlSecOpenSSLAppKeysMngrCertLoadBIO</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-openssl-app.html#XMLSECOPENSSLAPPKEYSMNGRADDCERTSPATH">xmlSecOpenSSLAppKeysMngrAddCertsPath</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-openssl-app.html#xmlSecOpenSSLAppKeysMngrAddCertsPath" title="xmlSecOpenSSLAppKeysMngrAddCertsPath ()">xmlSecOpenSSLAppKeysMngrAddCertsPath</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-openssl-app.html#XMLSECOPENSSLAPPKEYSMNGRADDCERTSFILE">xmlSecOpenSSLAppKeysMngrAddCertsFile</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-openssl-app.html#xmlSecOpenSSLAppKeysMngrAddCertsFile" title="xmlSecOpenSSLAppKeysMngrAddCertsFile ()">xmlSecOpenSSLAppKeysMngrAddCertsFile</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a></td>
-<td>
-<a href="xmlsec-openssl-app.html#XMLSECOPENSSLAPPKEYLOAD">xmlSecOpenSSLAppKeyLoad</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecKeyPtr</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-openssl-app.html#xmlSecOpenSSLAppKeyLoad" title="xmlSecOpenSSLAppKeyLoad ()">xmlSecOpenSSLAppKeyLoad</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a></td>
-<td>
-<a href="xmlsec-openssl-app.html#XMLSECOPENSSLAPPKEYLOADMEMORY">xmlSecOpenSSLAppKeyLoadMemory</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecKeyPtr</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-openssl-app.html#xmlSecOpenSSLAppKeyLoadMemory" title="xmlSecOpenSSLAppKeyLoadMemory ()">xmlSecOpenSSLAppKeyLoadMemory</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a></td>
-<td>
-<a href="xmlsec-openssl-app.html#XMLSECOPENSSLAPPKEYLOADBIO">xmlSecOpenSSLAppKeyLoadBIO</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecKeyPtr</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-openssl-app.html#xmlSecOpenSSLAppKeyLoadBIO" title="xmlSecOpenSSLAppKeyLoadBIO ()">xmlSecOpenSSLAppKeyLoadBIO</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a></td>
-<td>
-<a href="xmlsec-openssl-app.html#XMLSECOPENSSLAPPPKCS12LOAD">xmlSecOpenSSLAppPkcs12Load</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecKeyPtr</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-openssl-app.html#xmlSecOpenSSLAppPkcs12Load" title="xmlSecOpenSSLAppPkcs12Load ()">xmlSecOpenSSLAppPkcs12Load</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a></td>
-<td>
-<a href="xmlsec-openssl-app.html#XMLSECOPENSSLAPPPKCS12LOADMEMORY">xmlSecOpenSSLAppPkcs12LoadMemory</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecKeyPtr</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-openssl-app.html#xmlSecOpenSSLAppPkcs12LoadMemory" title="xmlSecOpenSSLAppPkcs12LoadMemory ()">xmlSecOpenSSLAppPkcs12LoadMemory</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a></td>
-<td>
-<a href="xmlsec-openssl-app.html#XMLSECOPENSSLAPPPKCS12LOADBIO">xmlSecOpenSSLAppPkcs12LoadBIO</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecKeyPtr</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-openssl-app.html#xmlSecOpenSSLAppPkcs12LoadBIO" title="xmlSecOpenSSLAppPkcs12LoadBIO ()">xmlSecOpenSSLAppPkcs12LoadBIO</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-openssl-app.html#XMLSECOPENSSLAPPKEYCERTLOAD">xmlSecOpenSSLAppKeyCertLoad</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-openssl-app.html#xmlSecOpenSSLAppKeyCertLoad" title="xmlSecOpenSSLAppKeyCertLoad ()">xmlSecOpenSSLAppKeyCertLoad</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-openssl-app.html#XMLSECOPENSSLAPPKEYCERTLOADMEMORY">xmlSecOpenSSLAppKeyCertLoadMemory</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-openssl-app.html#xmlSecOpenSSLAppKeyCertLoadMemory" title="xmlSecOpenSSLAppKeyCertLoadMemory ()">xmlSecOpenSSLAppKeyCertLoadMemory</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-openssl-app.html#XMLSECOPENSSLAPPKEYCERTLOADBIO">xmlSecOpenSSLAppKeyCertLoadBIO</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-openssl-app.html#xmlSecOpenSSLAppKeyCertLoadBIO" title="xmlSecOpenSSLAppKeyCertLoadBIO ()">xmlSecOpenSSLAppKeyCertLoadBIO</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a></td>
-<td>
-<a href="xmlsec-openssl-app.html#XMLSECOPENSSLAPPKEYFROMCERTLOADBIO">xmlSecOpenSSLAppKeyFromCertLoadBIO</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecKeyPtr</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-openssl-app.html#xmlSecOpenSSLAppKeyFromCertLoadBIO" title="xmlSecOpenSSLAppKeyFromCertLoadBIO ()">xmlSecOpenSSLAppKeyFromCertLoadBIO</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td>
-<font><span class="RETURNVALUE">void</span></font> *</td>
-<td>
-<a href="xmlsec-openssl-app.html#XMLSECOPENSSLAPPGETDEFAULTPWDCALLBACK">xmlSecOpenSSLAppGetDefaultPwdCallback</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">void</span></font> *
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-openssl-app.html#xmlSecOpenSSLAppGetDefaultPwdCallback" title="xmlSecOpenSSLAppGetDefaultPwdCallback ()">xmlSecOpenSSLAppGetDefaultPwdCallback</a> <span class="c_punctuation">()</span>
</td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
-</div>
-<div class="REFSECT1">
-<a name="XMLSEC-OPENSSL-APP.DESCRIPTION"></a><h2>Description</h2>
-<p>Application functions implementation for OpenSSL.</p>
-</div>
-<div class="REFSECT1">
-<a name="XMLSEC-OPENSSL-APP.FUNCTIONS_DETAILS"></a><h2>Functions</h2>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLAPPINIT"></a><h3>xmlSecOpenSSLAppInit ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecOpenSSLAppInit (<code class="PARAMETER">const <font><span class="TYPE">char</span></font> *config</code>);</pre>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="xmlsec-openssl-app.description"></a><h2>Description</h2>
+<p>
+Application functions implementation for OpenSSL.
+</p>
+</div>
+<div class="refsect1">
+<a name="xmlsec-openssl-app.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="xmlSecOpenSSLAppInit"></a><h3>xmlSecOpenSSLAppInit ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecOpenSSLAppInit (<em class="parameter"><code>const <font><span class="type">char</span></font> *config</code></em>);</pre>
<p>General crypto engine initialization. This function is used
by XMLSec command line utility and called before
-<code class="PARAMETER">xmlSecInit</code>
+<em class="parameter"><code>xmlSecInit</code></em>
function.</p>
-<div class="REFSECT3">
-<a name="AEN29107"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN29109"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecOpenSSLAppInit.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>config</p></td>
-<td><p>the path to certs.</p></td>
-<td> </td>
+<td class="parameter_name"><p>config</p></td>
+<td class="parameter_description"><p>the path to certs.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN29118"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecOpenSSLAppInit.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLAPPSHUTDOWN"></a><h3>xmlSecOpenSSLAppShutdown ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecOpenSSLAppShutdown (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecOpenSSLAppShutdown"></a><h3>xmlSecOpenSSLAppShutdown ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecOpenSSLAppShutdown (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>General crypto engine shutdown. This function is used
by XMLSec command line utility and called after
-<code class="PARAMETER">xmlSecShutdown</code>
+<em class="parameter"><code>xmlSecShutdown</code></em>
function.</p>
-<div class="REFSECT3">
-<a name="AEN29132"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecOpenSSLAppShutdown.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLAPPDEFAULTKEYSMNGRINIT"></a><h3>xmlSecOpenSSLAppDefaultKeysMngrInit ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecOpenSSLAppDefaultKeysMngrInit (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>);</pre>
-<p>Initializes <code class="PARAMETER">mngr</code>
- with simple keys store <a href="xmlsec-keysmngr.html#XMLSECSIMPLEKEYSSTOREID"><span class="TYPE">xmlSecSimpleKeysStoreId</span></a>
+<div class="refsect2">
+<a name="xmlSecOpenSSLAppDefaultKeysMngrInit"></a><h3>xmlSecOpenSSLAppDefaultKeysMngrInit ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecOpenSSLAppDefaultKeysMngrInit (<em class="parameter"><code><font><span class="type">xmlSecKeysMngrPtr</span></font> mngr</code></em>);</pre>
+<p>Initializes <em class="parameter"><code>mngr</code></em>
+ with simple keys store <a class="link" href="xmlsec-keysmngr.html#xmlSecSimpleKeysStoreId" title="xmlSecSimpleKeysStoreId"><span class="type">xmlSecSimpleKeysStoreId</span></a>
and a default OpenSSL crypto key data stores.</p>
-<div class="REFSECT3">
-<a name="AEN29149"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN29151"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecOpenSSLAppDefaultKeysMngrInit.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>mngr</p></td>
-<td><p>the pointer to keys manager.</p></td>
-<td> </td>
+<td class="parameter_name"><p>mngr</p></td>
+<td class="parameter_description"><p>the pointer to keys manager.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN29160"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecOpenSSLAppDefaultKeysMngrInit.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLAPPDEFAULTKEYSMNGRADOPTKEY"></a><h3>xmlSecOpenSSLAppDefaultKeysMngrAdoptKey ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
+<div class="refsect2">
+<a name="xmlSecOpenSSLAppDefaultKeysMngrAdoptKey"></a><h3>xmlSecOpenSSLAppDefaultKeysMngrAdoptKey ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
xmlSecOpenSSLAppDefaultKeysMngrAdoptKey
- (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>,
- <code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>);</pre>
-<p>Adds <code class="PARAMETER">key</code>
- to the keys manager <code class="PARAMETER">mngr</code>
- created with <a href="xmlsec-openssl-app.html#XMLSECOPENSSLAPPDEFAULTKEYSMNGRINIT"><span class="TYPE">xmlSecOpenSSLAppDefaultKeysMngrInit</span></a>
+ (<em class="parameter"><code><font><span class="type">xmlSecKeysMngrPtr</span></font> mngr</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlSecKeyPtr</span></font> key</code></em>);</pre>
+<p>Adds <em class="parameter"><code>key</code></em>
+ to the keys manager <em class="parameter"><code>mngr</code></em>
+ created with <a class="link" href="xmlsec-openssl-app.html#xmlSecOpenSSLAppDefaultKeysMngrInit" title="xmlSecOpenSSLAppDefaultKeysMngrInit ()"><span class="type">xmlSecOpenSSLAppDefaultKeysMngrInit</span></a>
function.</p>
-<div class="REFSECT3">
-<a name="AEN29181"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN29183"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecOpenSSLAppDefaultKeysMngrAdoptKey.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>mngr</p></td>
-<td><p>the pointer to keys manager.</p></td>
-<td> </td>
+<td class="parameter_name"><p>mngr</p></td>
+<td class="parameter_description"><p>the pointer to keys manager.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>key</p></td>
-<td><p>the pointer to key.</p></td>
-<td> </td>
+<td class="parameter_name"><p>key</p></td>
+<td class="parameter_description"><p>the pointer to key.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN29198"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecOpenSSLAppDefaultKeysMngrAdoptKey.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLAPPDEFAULTKEYSMNGRLOAD"></a><h3>xmlSecOpenSSLAppDefaultKeysMngrLoad ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecOpenSSLAppDefaultKeysMngrLoad (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>,
- <code class="PARAMETER">const <font><span class="TYPE">char</span></font> *uri</code>);</pre>
-<p>Loads XML keys file from <code class="PARAMETER">uri</code>
- to the keys manager <code class="PARAMETER">mngr</code>
+<div class="refsect2">
+<a name="xmlSecOpenSSLAppDefaultKeysMngrLoad"></a><h3>xmlSecOpenSSLAppDefaultKeysMngrLoad ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecOpenSSLAppDefaultKeysMngrLoad (<em class="parameter"><code><font><span class="type">xmlSecKeysMngrPtr</span></font> mngr</code></em>,
+ <em class="parameter"><code>const <font><span class="type">char</span></font> *uri</code></em>);</pre>
+<p>Loads XML keys file from <em class="parameter"><code>uri</code></em>
+ to the keys manager <em class="parameter"><code>mngr</code></em>
created
-with <a href="xmlsec-openssl-app.html#XMLSECOPENSSLAPPDEFAULTKEYSMNGRINIT"><span class="TYPE">xmlSecOpenSSLAppDefaultKeysMngrInit</span></a> function.</p>
-<div class="REFSECT3">
-<a name="AEN29219"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN29221"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+with <a class="link" href="xmlsec-openssl-app.html#xmlSecOpenSSLAppDefaultKeysMngrInit" title="xmlSecOpenSSLAppDefaultKeysMngrInit ()"><span class="type">xmlSecOpenSSLAppDefaultKeysMngrInit</span></a> function.</p>
+<div class="refsect3">
+<a name="xmlSecOpenSSLAppDefaultKeysMngrLoad.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>mngr</p></td>
-<td><p>the pointer to keys manager.</p></td>
-<td> </td>
+<td class="parameter_name"><p>mngr</p></td>
+<td class="parameter_description"><p>the pointer to keys manager.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>uri</p></td>
-<td><p>the uri.</p></td>
-<td> </td>
+<td class="parameter_name"><p>uri</p></td>
+<td class="parameter_description"><p>the uri.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN29236"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecOpenSSLAppDefaultKeysMngrLoad.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLAPPDEFAULTKEYSMNGRSAVE"></a><h3>xmlSecOpenSSLAppDefaultKeysMngrSave ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecOpenSSLAppDefaultKeysMngrSave (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>,
- <code class="PARAMETER">const <font><span class="TYPE">char</span></font> *filename</code>,
- <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATATYPE"><span class="TYPE">xmlSecKeyDataType</span></a> type</code>);</pre>
-<p>Saves keys from <code class="PARAMETER">mngr</code>
+<div class="refsect2">
+<a name="xmlSecOpenSSLAppDefaultKeysMngrSave"></a><h3>xmlSecOpenSSLAppDefaultKeysMngrSave ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecOpenSSLAppDefaultKeysMngrSave (<em class="parameter"><code><font><span class="type">xmlSecKeysMngrPtr</span></font> mngr</code></em>,
+ <em class="parameter"><code>const <font><span class="type">char</span></font> *filename</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataType" title="xmlSecKeyDataType"><span class="type">xmlSecKeyDataType</span></a> type</code></em>);</pre>
+<p>Saves keys from <em class="parameter"><code>mngr</code></em>
to XML keys file.</p>
-<div class="REFSECT3">
-<a name="AEN29257"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN29259"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecOpenSSLAppDefaultKeysMngrSave.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>mngr</p></td>
-<td><p>the pointer to keys manager.</p></td>
-<td> </td>
+<td class="parameter_name"><p>mngr</p></td>
+<td class="parameter_description"><p>the pointer to keys manager.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>filename</p></td>
-<td><p>the destination filename.</p></td>
-<td> </td>
+<td class="parameter_name"><p>filename</p></td>
+<td class="parameter_description"><p>the destination filename.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>type</p></td>
-<td><p>the type of keys to save (public/private/symmetric).</p></td>
-<td> </td>
+<td class="parameter_name"><p>type</p></td>
+<td class="parameter_description"><p>the type of keys to save (public/private/symmetric).</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN29280"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecOpenSSLAppDefaultKeysMngrSave.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLAPPKEYSMNGRCERTLOAD"></a><h3>xmlSecOpenSSLAppKeysMngrCertLoad ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecOpenSSLAppKeysMngrCertLoad (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>,
- <code class="PARAMETER">const <font><span class="TYPE">char</span></font> *filename</code>,
- <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT"><span class="TYPE">xmlSecKeyDataFormat</span></a> format</code>,
- <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATATYPE"><span class="TYPE">xmlSecKeyDataType</span></a> type</code>);</pre>
-<p>Reads cert from <code class="PARAMETER">filename</code>
+<div class="refsect2">
+<a name="xmlSecOpenSSLAppKeysMngrCertLoad"></a><h3>xmlSecOpenSSLAppKeysMngrCertLoad ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecOpenSSLAppKeysMngrCertLoad (<em class="parameter"><code><font><span class="type">xmlSecKeysMngrPtr</span></font> mngr</code></em>,
+ <em class="parameter"><code>const <font><span class="type">char</span></font> *filename</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataFormat" title="enum xmlSecKeyDataFormat"><span class="type">xmlSecKeyDataFormat</span></a> format</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataType" title="xmlSecKeyDataType"><span class="type">xmlSecKeyDataType</span></a> type</code></em>);</pre>
+<p>Reads cert from <em class="parameter"><code>filename</code></em>
and adds to the list of trusted or known
-untrusted certs in <code class="PARAMETER">store</code>
+untrusted certs in <em class="parameter"><code>store</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN29305"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN29307"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecOpenSSLAppKeysMngrCertLoad.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>mngr</p></td>
-<td><p>the keys manager.</p></td>
-<td> </td>
+<td class="parameter_name"><p>mngr</p></td>
+<td class="parameter_description"><p>the keys manager.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>filename</p></td>
-<td><p>the certificate file.</p></td>
-<td> </td>
+<td class="parameter_name"><p>filename</p></td>
+<td class="parameter_description"><p>the certificate file.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>format</p></td>
-<td><p>the certificate file format.</p></td>
-<td> </td>
+<td class="parameter_name"><p>format</p></td>
+<td class="parameter_description"><p>the certificate file format.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>type</p></td>
-<td><p>the flag that indicates is the certificate in <code class="PARAMETER">filename</code>
+<td class="parameter_name"><p>type</p></td>
+<td class="parameter_description"><p>the flag that indicates is the certificate in <em class="parameter"><code>filename</code></em>
trusted or not.</p></td>
-<td> </td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN29335"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecOpenSSLAppKeysMngrCertLoad.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLAPPKEYSMNGRCERTLOADMEMORY"></a><h3>xmlSecOpenSSLAppKeysMngrCertLoadMemory ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
+<div class="refsect2">
+<a name="xmlSecOpenSSLAppKeysMngrCertLoadMemory"></a><h3>xmlSecOpenSSLAppKeysMngrCertLoadMemory ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
xmlSecOpenSSLAppKeysMngrCertLoadMemory
- (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>,
- <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>,
- <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> dataSize</code>,
- <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT"><span class="TYPE">xmlSecKeyDataFormat</span></a> format</code>,
- <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATATYPE"><span class="TYPE">xmlSecKeyDataType</span></a> type</code>);</pre>
-<p>Reads cert from binary buffer <code class="PARAMETER">data</code>
+ (<em class="parameter"><code><font><span class="type">xmlSecKeysMngrPtr</span></font> mngr</code></em>,
+ <em class="parameter"><code>const <a class="link" href="xmlsec-xmlsec.html#xmlSecByte" title="xmlSecByte"><span class="type">xmlSecByte</span></a> *data</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="type">xmlSecSize</span></a> dataSize</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataFormat" title="enum xmlSecKeyDataFormat"><span class="type">xmlSecKeyDataFormat</span></a> format</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataType" title="xmlSecKeyDataType"><span class="type">xmlSecKeyDataType</span></a> type</code></em>);</pre>
+<p>Reads cert from binary buffer <em class="parameter"><code>data</code></em>
and adds to the list of trusted or known
-untrusted certs in <code class="PARAMETER">store</code>
+untrusted certs in <em class="parameter"><code>store</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN29363"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN29365"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecOpenSSLAppKeysMngrCertLoadMemory.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>mngr</p></td>
-<td><p>the keys manager.</p></td>
-<td> </td>
+<td class="parameter_name"><p>mngr</p></td>
+<td class="parameter_description"><p>the keys manager.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>data</p></td>
-<td><p>the certificate binary data.</p></td>
-<td> </td>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the certificate binary data.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>dataSize</p></td>
-<td><p>the certificate binary data size.</p></td>
-<td> </td>
+<td class="parameter_name"><p>dataSize</p></td>
+<td class="parameter_description"><p>the certificate binary data size.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>format</p></td>
-<td><p>the certificate file format.</p></td>
-<td> </td>
+<td class="parameter_name"><p>format</p></td>
+<td class="parameter_description"><p>the certificate file format.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>type</p></td>
-<td><p>the flag that indicates is the certificate trusted or not.</p></td>
-<td> </td>
+<td class="parameter_name"><p>type</p></td>
+<td class="parameter_description"><p>the flag that indicates is the certificate trusted or not.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN29398"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecOpenSSLAppKeysMngrCertLoadMemory.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLAPPKEYSMNGRCERTLOADBIO"></a><h3>xmlSecOpenSSLAppKeysMngrCertLoadBIO ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecOpenSSLAppKeysMngrCertLoadBIO (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>,
- <code class="PARAMETER"><font><span class="TYPE">BIO</span></font> *bio</code>,
- <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT"><span class="TYPE">xmlSecKeyDataFormat</span></a> format</code>,
- <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATATYPE"><span class="TYPE">xmlSecKeyDataType</span></a> type</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecOpenSSLAppKeysMngrCertLoadBIO"></a><h3>xmlSecOpenSSLAppKeysMngrCertLoadBIO ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecOpenSSLAppKeysMngrCertLoadBIO (<em class="parameter"><code><font><span class="type">xmlSecKeysMngrPtr</span></font> mngr</code></em>,
+ <em class="parameter"><code><font><span class="type">BIO</span></font> *bio</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataFormat" title="enum xmlSecKeyDataFormat"><span class="type">xmlSecKeyDataFormat</span></a> format</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataType" title="xmlSecKeyDataType"><span class="type">xmlSecKeyDataType</span></a> type</code></em>);</pre>
<p>Reads cert from an OpenSSL BIO object and adds to the list of trusted or known
-untrusted certs in <code class="PARAMETER">store</code>
+untrusted certs in <em class="parameter"><code>store</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN29422"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN29424"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecOpenSSLAppKeysMngrCertLoadBIO.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>mngr</p></td>
-<td><p>the keys manager.</p></td>
-<td> </td>
+<td class="parameter_name"><p>mngr</p></td>
+<td class="parameter_description"><p>the keys manager.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>bio</p></td>
-<td><p>the certificate BIO.</p></td>
-<td> </td>
+<td class="parameter_name"><p>bio</p></td>
+<td class="parameter_description"><p>the certificate BIO.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>format</p></td>
-<td><p>the certificate file format.</p></td>
-<td> </td>
+<td class="parameter_name"><p>format</p></td>
+<td class="parameter_description"><p>the certificate file format.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>type</p></td>
-<td><p>the flag that indicates is the certificate trusted or not.</p></td>
-<td> </td>
+<td class="parameter_name"><p>type</p></td>
+<td class="parameter_description"><p>the flag that indicates is the certificate trusted or not.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN29451"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecOpenSSLAppKeysMngrCertLoadBIO.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLAPPKEYSMNGRADDCERTSPATH"></a><h3>xmlSecOpenSSLAppKeysMngrAddCertsPath ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecOpenSSLAppKeysMngrAddCertsPath (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>,
- <code class="PARAMETER">const <font><span class="TYPE">char</span></font> *path</code>);</pre>
-<p>Reads cert from <code class="PARAMETER">path</code>
+<div class="refsect2">
+<a name="xmlSecOpenSSLAppKeysMngrAddCertsPath"></a><h3>xmlSecOpenSSLAppKeysMngrAddCertsPath ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecOpenSSLAppKeysMngrAddCertsPath (<em class="parameter"><code><font><span class="type">xmlSecKeysMngrPtr</span></font> mngr</code></em>,
+ <em class="parameter"><code>const <font><span class="type">char</span></font> *path</code></em>);</pre>
+<p>Reads cert from <em class="parameter"><code>path</code></em>
and adds to the list of trusted certificates.</p>
-<div class="REFSECT3">
-<a name="AEN29469"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN29471"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecOpenSSLAppKeysMngrAddCertsPath.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>mngr</p></td>
-<td><p>the keys manager.</p></td>
-<td> </td>
+<td class="parameter_name"><p>mngr</p></td>
+<td class="parameter_description"><p>the keys manager.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>path</p></td>
-<td><p>the path to trusted certificates.</p></td>
-<td> </td>
+<td class="parameter_name"><p>path</p></td>
+<td class="parameter_description"><p>the path to trusted certificates.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN29486"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecOpenSSLAppKeysMngrAddCertsPath.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLAPPKEYSMNGRADDCERTSFILE"></a><h3>xmlSecOpenSSLAppKeysMngrAddCertsFile ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecOpenSSLAppKeysMngrAddCertsFile (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>,
- <code class="PARAMETER">const <font><span class="TYPE">char</span></font> *file</code>);</pre>
-<p>Reads certs from <code class="PARAMETER">file</code>
+<div class="refsect2">
+<a name="xmlSecOpenSSLAppKeysMngrAddCertsFile"></a><h3>xmlSecOpenSSLAppKeysMngrAddCertsFile ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecOpenSSLAppKeysMngrAddCertsFile (<em class="parameter"><code><font><span class="type">xmlSecKeysMngrPtr</span></font> mngr</code></em>,
+ <em class="parameter"><code>const <font><span class="type">char</span></font> *filename</code></em>);</pre>
+<p>Reads certs from <em class="parameter"><code>file</code></em>
and adds to the list of trusted certificates.
-It is possible for <code class="PARAMETER">file</code>
+It is possible for <em class="parameter"><code>file</code></em>
to contain multiple certs.</p>
-<div class="REFSECT3">
-<a name="AEN29505"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN29507"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecOpenSSLAppKeysMngrAddCertsFile.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>mngr</p></td>
-<td><p>the keys manager.</p></td>
-<td> </td>
+<td class="parameter_name"><p>mngr</p></td>
+<td class="parameter_description"><p>the keys manager.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>file</p></td>
-<td><p>the file containing trusted certificates.</p></td>
-<td> </td>
+<td class="parameter_name"><p>filename</p></td>
+<td class="parameter_description"><p>the file containing trusted certificates.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN29522"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecOpenSSLAppKeysMngrAddCertsFile.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLAPPKEYLOAD"></a><h3>xmlSecOpenSSLAppKeyLoad ()</h3>
-<pre class="PROGRAMLISTING"><a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a>
-xmlSecOpenSSLAppKeyLoad (<code class="PARAMETER">const <font><span class="TYPE">char</span></font> *filename</code>,
- <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT"><span class="TYPE">xmlSecKeyDataFormat</span></a> format</code>,
- <code class="PARAMETER">const <font><span class="TYPE">char</span></font> *pwd</code>,
- <code class="PARAMETER"><font><span class="TYPE">void</span></font> *pwdCallback</code>,
- <code class="PARAMETER"><font><span class="TYPE">void</span></font> *pwdCallbackCtx</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecOpenSSLAppKeyLoad"></a><h3>xmlSecOpenSSLAppKeyLoad ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecKeyPtr</span></font>
+xmlSecOpenSSLAppKeyLoad (<em class="parameter"><code>const <font><span class="type">char</span></font> *filename</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataFormat" title="enum xmlSecKeyDataFormat"><span class="type">xmlSecKeyDataFormat</span></a> format</code></em>,
+ <em class="parameter"><code>const <font><span class="type">char</span></font> *pwd</code></em>,
+ <em class="parameter"><code><font><span class="type">void</span></font> *pwdCallback</code></em>,
+ <em class="parameter"><code><font><span class="type">void</span></font> *pwdCallbackCtx</code></em>);</pre>
<p>Reads key from the a file.</p>
-<div class="REFSECT3">
-<a name="AEN29548"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN29550"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecOpenSSLAppKeyLoad.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>filename</p></td>
-<td><p>the key filename.</p></td>
-<td> </td>
+<td class="parameter_name"><p>filename</p></td>
+<td class="parameter_description"><p>the key filename.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>format</p></td>
-<td><p>the key file format.</p></td>
-<td> </td>
+<td class="parameter_name"><p>format</p></td>
+<td class="parameter_description"><p>the key file format.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>pwd</p></td>
-<td><p>the key file password.</p></td>
-<td> </td>
+<td class="parameter_name"><p>pwd</p></td>
+<td class="parameter_description"><p>the key file password.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>pwdCallback</p></td>
-<td><p>the key password callback.</p></td>
-<td> </td>
+<td class="parameter_name"><p>pwdCallback</p></td>
+<td class="parameter_description"><p>the key password callback.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>pwdCallbackCtx</p></td>
-<td><p>the user context for password callback.</p></td>
-<td> </td>
+<td class="parameter_name"><p>pwdCallbackCtx</p></td>
+<td class="parameter_description"><p>the user context for password callback.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN29583"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecOpenSSLAppKeyLoad.returns"></a><h4>Returns</h4>
<p> pointer to the key or NULL if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLAPPKEYLOADMEMORY"></a><h3>xmlSecOpenSSLAppKeyLoadMemory ()</h3>
-<pre class="PROGRAMLISTING"><a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a>
-xmlSecOpenSSLAppKeyLoadMemory (<code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>,
- <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> dataSize</code>,
- <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT"><span class="TYPE">xmlSecKeyDataFormat</span></a> format</code>,
- <code class="PARAMETER">const <font><span class="TYPE">char</span></font> *pwd</code>,
- <code class="PARAMETER"><font><span class="TYPE">void</span></font> *pwdCallback</code>,
- <code class="PARAMETER"><font><span class="TYPE">void</span></font> *pwdCallbackCtx</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecOpenSSLAppKeyLoadMemory"></a><h3>xmlSecOpenSSLAppKeyLoadMemory ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecKeyPtr</span></font>
+xmlSecOpenSSLAppKeyLoadMemory (<em class="parameter"><code>const <a class="link" href="xmlsec-xmlsec.html#xmlSecByte" title="xmlSecByte"><span class="type">xmlSecByte</span></a> *data</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="type">xmlSecSize</span></a> dataSize</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataFormat" title="enum xmlSecKeyDataFormat"><span class="type">xmlSecKeyDataFormat</span></a> format</code></em>,
+ <em class="parameter"><code>const <font><span class="type">char</span></font> *pwd</code></em>,
+ <em class="parameter"><code><font><span class="type">void</span></font> *pwdCallback</code></em>,
+ <em class="parameter"><code><font><span class="type">void</span></font> *pwdCallbackCtx</code></em>);</pre>
<p>Reads key from the memory buffer.</p>
-<div class="REFSECT3">
-<a name="AEN29612"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN29614"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecOpenSSLAppKeyLoadMemory.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>data</p></td>
-<td><p>the binary key data.</p></td>
-<td> </td>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the binary key data.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>dataSize</p></td>
-<td><p>the size of binary key.</p></td>
-<td> </td>
+<td class="parameter_name"><p>dataSize</p></td>
+<td class="parameter_description"><p>the size of binary key.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>format</p></td>
-<td><p>the key file format.</p></td>
-<td> </td>
+<td class="parameter_name"><p>format</p></td>
+<td class="parameter_description"><p>the key file format.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>pwd</p></td>
-<td><p>the key file password.</p></td>
-<td> </td>
+<td class="parameter_name"><p>pwd</p></td>
+<td class="parameter_description"><p>the key file password.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>pwdCallback</p></td>
-<td><p>the key password callback.</p></td>
-<td> </td>
+<td class="parameter_name"><p>pwdCallback</p></td>
+<td class="parameter_description"><p>the key password callback.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>pwdCallbackCtx</p></td>
-<td><p>the user context for password callback.</p></td>
-<td> </td>
+<td class="parameter_name"><p>pwdCallbackCtx</p></td>
+<td class="parameter_description"><p>the user context for password callback.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN29653"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecOpenSSLAppKeyLoadMemory.returns"></a><h4>Returns</h4>
<p> pointer to the key or NULL if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLAPPKEYLOADBIO"></a><h3>xmlSecOpenSSLAppKeyLoadBIO ()</h3>
-<pre class="PROGRAMLISTING"><a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a>
-xmlSecOpenSSLAppKeyLoadBIO (<code class="PARAMETER"><font><span class="TYPE">BIO</span></font> *bio</code>,
- <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT"><span class="TYPE">xmlSecKeyDataFormat</span></a> format</code>,
- <code class="PARAMETER">const <font><span class="TYPE">char</span></font> *pwd</code>,
- <code class="PARAMETER"><font><span class="TYPE">void</span></font> *pwdCallback</code>,
- <code class="PARAMETER"><font><span class="TYPE">void</span></font> *pwdCallbackCtx</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecOpenSSLAppKeyLoadBIO"></a><h3>xmlSecOpenSSLAppKeyLoadBIO ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecKeyPtr</span></font>
+xmlSecOpenSSLAppKeyLoadBIO (<em class="parameter"><code><font><span class="type">BIO</span></font> *bio</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataFormat" title="enum xmlSecKeyDataFormat"><span class="type">xmlSecKeyDataFormat</span></a> format</code></em>,
+ <em class="parameter"><code>const <font><span class="type">char</span></font> *pwd</code></em>,
+ <em class="parameter"><code><font><span class="type">void</span></font> *pwdCallback</code></em>,
+ <em class="parameter"><code><font><span class="type">void</span></font> *pwdCallbackCtx</code></em>);</pre>
<p>Reads key from the an OpenSSL BIO object.</p>
-<div class="REFSECT3">
-<a name="AEN29679"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN29681"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecOpenSSLAppKeyLoadBIO.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>bio</p></td>
-<td><p>the key BIO.</p></td>
-<td> </td>
+<td class="parameter_name"><p>bio</p></td>
+<td class="parameter_description"><p>the key BIO.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>format</p></td>
-<td><p>the key file format.</p></td>
-<td> </td>
+<td class="parameter_name"><p>format</p></td>
+<td class="parameter_description"><p>the key file format.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>pwd</p></td>
-<td><p>the key file password.</p></td>
-<td> </td>
+<td class="parameter_name"><p>pwd</p></td>
+<td class="parameter_description"><p>the key file password.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>pwdCallback</p></td>
-<td><p>the key password callback.</p></td>
-<td> </td>
+<td class="parameter_name"><p>pwdCallback</p></td>
+<td class="parameter_description"><p>the key password callback.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>pwdCallbackCtx</p></td>
-<td><p>the user context for password callback.</p></td>
-<td> </td>
+<td class="parameter_name"><p>pwdCallbackCtx</p></td>
+<td class="parameter_description"><p>the user context for password callback.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN29714"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecOpenSSLAppKeyLoadBIO.returns"></a><h4>Returns</h4>
<p> pointer to the key or NULL if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLAPPPKCS12LOAD"></a><h3>xmlSecOpenSSLAppPkcs12Load ()</h3>
-<pre class="PROGRAMLISTING"><a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a>
-xmlSecOpenSSLAppPkcs12Load (<code class="PARAMETER">const <font><span class="TYPE">char</span></font> *filename</code>,
- <code class="PARAMETER">const <font><span class="TYPE">char</span></font> *pwd</code>,
- <code class="PARAMETER"><font><span class="TYPE">void</span></font> *pwdCallback</code>,
- <code class="PARAMETER"><font><span class="TYPE">void</span></font> *pwdCallbackCtx</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecOpenSSLAppPkcs12Load"></a><h3>xmlSecOpenSSLAppPkcs12Load ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecKeyPtr</span></font>
+xmlSecOpenSSLAppPkcs12Load (<em class="parameter"><code>const <font><span class="type">char</span></font> *filename</code></em>,
+ <em class="parameter"><code>const <font><span class="type">char</span></font> *pwd</code></em>,
+ <em class="parameter"><code><font><span class="type">void</span></font> *pwdCallback</code></em>,
+ <em class="parameter"><code><font><span class="type">void</span></font> *pwdCallbackCtx</code></em>);</pre>
<p>Reads key and all associated certificates from the PKCS12 file.
For uniformity, call xmlSecOpenSSLAppKeyLoad instead of this function. Pass
in format=xmlSecKeyDataFormatPkcs12.</p>
-<div class="REFSECT3">
-<a name="AEN29737"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN29739"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecOpenSSLAppPkcs12Load.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>filename</p></td>
-<td><p>the PKCS12 key filename.</p></td>
-<td> </td>
+<td class="parameter_name"><p>filename</p></td>
+<td class="parameter_description"><p>the PKCS12 key filename.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>pwd</p></td>
-<td><p>the PKCS12 file password.</p></td>
-<td> </td>
+<td class="parameter_name"><p>pwd</p></td>
+<td class="parameter_description"><p>the PKCS12 file password.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>pwdCallback</p></td>
-<td><p>the password callback.</p></td>
-<td> </td>
+<td class="parameter_name"><p>pwdCallback</p></td>
+<td class="parameter_description"><p>the password callback.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>pwdCallbackCtx</p></td>
-<td><p>the user context for password callback.</p></td>
-<td> </td>
+<td class="parameter_name"><p>pwdCallbackCtx</p></td>
+<td class="parameter_description"><p>the user context for password callback.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN29766"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecOpenSSLAppPkcs12Load.returns"></a><h4>Returns</h4>
<p> pointer to the key or NULL if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLAPPPKCS12LOADMEMORY"></a><h3>xmlSecOpenSSLAppPkcs12LoadMemory ()</h3>
-<pre class="PROGRAMLISTING"><a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a>
-xmlSecOpenSSLAppPkcs12LoadMemory (<code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>,
- <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> dataSize</code>,
- <code class="PARAMETER">const <font><span class="TYPE">char</span></font> *pwd</code>,
- <code class="PARAMETER"><font><span class="TYPE">void</span></font> *pwdCallback</code>,
- <code class="PARAMETER"><font><span class="TYPE">void</span></font> *pwdCallbackCtx</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecOpenSSLAppPkcs12LoadMemory"></a><h3>xmlSecOpenSSLAppPkcs12LoadMemory ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecKeyPtr</span></font>
+xmlSecOpenSSLAppPkcs12LoadMemory (<em class="parameter"><code>const <a class="link" href="xmlsec-xmlsec.html#xmlSecByte" title="xmlSecByte"><span class="type">xmlSecByte</span></a> *data</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="type">xmlSecSize</span></a> dataSize</code></em>,
+ <em class="parameter"><code>const <font><span class="type">char</span></font> *pwd</code></em>,
+ <em class="parameter"><code><font><span class="type">void</span></font> *pwdCallback</code></em>,
+ <em class="parameter"><code><font><span class="type">void</span></font> *pwdCallbackCtx</code></em>);</pre>
<p>Reads key and all associated certificates from the PKCS12 data in memory buffer.
For uniformity, call xmlSecOpenSSLAppKeyLoad instead of this function. Pass
in format=xmlSecKeyDataFormatPkcs12.</p>
-<div class="REFSECT3">
-<a name="AEN29792"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN29794"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecOpenSSLAppPkcs12LoadMemory.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>data</p></td>
-<td><p>the PKCS12 binary data.</p></td>
-<td> </td>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the PKCS12 binary data.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>dataSize</p></td>
-<td><p>the PKCS12 binary data size.</p></td>
-<td> </td>
+<td class="parameter_name"><p>dataSize</p></td>
+<td class="parameter_description"><p>the PKCS12 binary data size.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>pwd</p></td>
-<td><p>the PKCS12 file password.</p></td>
-<td> </td>
+<td class="parameter_name"><p>pwd</p></td>
+<td class="parameter_description"><p>the PKCS12 file password.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>pwdCallback</p></td>
-<td><p>the password callback.</p></td>
-<td> </td>
+<td class="parameter_name"><p>pwdCallback</p></td>
+<td class="parameter_description"><p>the password callback.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>pwdCallbackCtx</p></td>
-<td><p>the user context for password callback.</p></td>
-<td> </td>
+<td class="parameter_name"><p>pwdCallbackCtx</p></td>
+<td class="parameter_description"><p>the user context for password callback.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN29827"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecOpenSSLAppPkcs12LoadMemory.returns"></a><h4>Returns</h4>
<p> pointer to the key or NULL if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLAPPPKCS12LOADBIO"></a><h3>xmlSecOpenSSLAppPkcs12LoadBIO ()</h3>
-<pre class="PROGRAMLISTING"><a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a>
-xmlSecOpenSSLAppPkcs12LoadBIO (<code class="PARAMETER"><font><span class="TYPE">BIO</span></font> *bio</code>,
- <code class="PARAMETER">const <font><span class="TYPE">char</span></font> *pwd</code>,
- <code class="PARAMETER"><font><span class="TYPE">void</span></font> *pwdCallback</code>,
- <code class="PARAMETER"><font><span class="TYPE">void</span></font> *pwdCallbackCtx</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecOpenSSLAppPkcs12LoadBIO"></a><h3>xmlSecOpenSSLAppPkcs12LoadBIO ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecKeyPtr</span></font>
+xmlSecOpenSSLAppPkcs12LoadBIO (<em class="parameter"><code><font><span class="type">BIO</span></font> *bio</code></em>,
+ <em class="parameter"><code>const <font><span class="type">char</span></font> *pwd</code></em>,
+ <em class="parameter"><code><font><span class="type">void</span></font> *pwdCallback</code></em>,
+ <em class="parameter"><code><font><span class="type">void</span></font> *pwdCallbackCtx</code></em>);</pre>
<p>Reads key and all associated certificates from the PKCS12 data in an OpenSSL BIO object.
For uniformity, call xmlSecOpenSSLAppKeyLoad instead of this function. Pass
in format=xmlSecKeyDataFormatPkcs12.</p>
-<div class="REFSECT3">
-<a name="AEN29850"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN29852"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecOpenSSLAppPkcs12LoadBIO.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>bio</p></td>
-<td><p>the PKCS12 key bio.</p></td>
-<td> </td>
+<td class="parameter_name"><p>bio</p></td>
+<td class="parameter_description"><p>the PKCS12 key bio.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>pwd</p></td>
-<td><p>the PKCS12 file password.</p></td>
-<td> </td>
+<td class="parameter_name"><p>pwd</p></td>
+<td class="parameter_description"><p>the PKCS12 file password.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>pwdCallback</p></td>
-<td><p>the password callback.</p></td>
-<td> </td>
+<td class="parameter_name"><p>pwdCallback</p></td>
+<td class="parameter_description"><p>the password callback.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>pwdCallbackCtx</p></td>
-<td><p>the user context for password callback.</p></td>
-<td> </td>
+<td class="parameter_name"><p>pwdCallbackCtx</p></td>
+<td class="parameter_description"><p>the user context for password callback.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN29879"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecOpenSSLAppPkcs12LoadBIO.returns"></a><h4>Returns</h4>
<p> pointer to the key or NULL if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLAPPKEYCERTLOAD"></a><h3>xmlSecOpenSSLAppKeyCertLoad ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecOpenSSLAppKeyCertLoad (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>,
- <code class="PARAMETER">const <font><span class="TYPE">char</span></font> *filename</code>,
- <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT"><span class="TYPE">xmlSecKeyDataFormat</span></a> format</code>);</pre>
-<p>Reads the certificate from $<code class="PARAMETER">filename</code>
+<div class="refsect2">
+<a name="xmlSecOpenSSLAppKeyCertLoad"></a><h3>xmlSecOpenSSLAppKeyCertLoad ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecOpenSSLAppKeyCertLoad (<em class="parameter"><code><font><span class="type">xmlSecKeyPtr</span></font> key</code></em>,
+ <em class="parameter"><code>const <font><span class="type">char</span></font> *filename</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataFormat" title="enum xmlSecKeyDataFormat"><span class="type">xmlSecKeyDataFormat</span></a> format</code></em>);</pre>
+<p>Reads the certificate from $<em class="parameter"><code>filename</code></em>
and adds it to key.</p>
-<div class="REFSECT3">
-<a name="AEN29900"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN29902"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecOpenSSLAppKeyCertLoad.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>key</p></td>
-<td><p>the pointer to key.</p></td>
-<td> </td>
+<td class="parameter_name"><p>key</p></td>
+<td class="parameter_description"><p>the pointer to key.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>filename</p></td>
-<td><p>the certificate filename.</p></td>
-<td> </td>
+<td class="parameter_name"><p>filename</p></td>
+<td class="parameter_description"><p>the certificate filename.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>format</p></td>
-<td><p>the certificate file format.</p></td>
-<td> </td>
+<td class="parameter_name"><p>format</p></td>
+<td class="parameter_description"><p>the certificate file format.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN29923"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecOpenSSLAppKeyCertLoad.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLAPPKEYCERTLOADMEMORY"></a><h3>xmlSecOpenSSLAppKeyCertLoadMemory ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecOpenSSLAppKeyCertLoadMemory (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>,
- <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>,
- <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> dataSize</code>,
- <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT"><span class="TYPE">xmlSecKeyDataFormat</span></a> format</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecOpenSSLAppKeyCertLoadMemory"></a><h3>xmlSecOpenSSLAppKeyCertLoadMemory ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecOpenSSLAppKeyCertLoadMemory (<em class="parameter"><code><font><span class="type">xmlSecKeyPtr</span></font> key</code></em>,
+ <em class="parameter"><code>const <a class="link" href="xmlsec-xmlsec.html#xmlSecByte" title="xmlSecByte"><span class="type">xmlSecByte</span></a> *data</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="type">xmlSecSize</span></a> dataSize</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataFormat" title="enum xmlSecKeyDataFormat"><span class="type">xmlSecKeyDataFormat</span></a> format</code></em>);</pre>
<p>Reads the certificate from memory buffer and adds it to key.</p>
-<div class="REFSECT3">
-<a name="AEN29946"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN29948"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecOpenSSLAppKeyCertLoadMemory.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>key</p></td>
-<td><p>the pointer to key.</p></td>
-<td> </td>
+<td class="parameter_name"><p>key</p></td>
+<td class="parameter_description"><p>the pointer to key.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>data</p></td>
-<td><p>the certificate binary data.</p></td>
-<td> </td>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the certificate binary data.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>dataSize</p></td>
-<td><p>the certificate binary data size.</p></td>
-<td> </td>
+<td class="parameter_name"><p>dataSize</p></td>
+<td class="parameter_description"><p>the certificate binary data size.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>format</p></td>
-<td><p>the certificate file format.</p></td>
-<td> </td>
+<td class="parameter_name"><p>format</p></td>
+<td class="parameter_description"><p>the certificate file format.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN29975"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecOpenSSLAppKeyCertLoadMemory.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLAPPKEYCERTLOADBIO"></a><h3>xmlSecOpenSSLAppKeyCertLoadBIO ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecOpenSSLAppKeyCertLoadBIO (<code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>,
- <code class="PARAMETER"><font><span class="TYPE">BIO</span></font> *bio</code>,
- <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT"><span class="TYPE">xmlSecKeyDataFormat</span></a> format</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecOpenSSLAppKeyCertLoadBIO"></a><h3>xmlSecOpenSSLAppKeyCertLoadBIO ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecOpenSSLAppKeyCertLoadBIO (<em class="parameter"><code><font><span class="type">xmlSecKeyPtr</span></font> key</code></em>,
+ <em class="parameter"><code><font><span class="type">BIO</span></font> *bio</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataFormat" title="enum xmlSecKeyDataFormat"><span class="type">xmlSecKeyDataFormat</span></a> format</code></em>);</pre>
<p>Reads the certificate from memory buffer and adds it to key.</p>
-<div class="REFSECT3">
-<a name="AEN29995"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN29997"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecOpenSSLAppKeyCertLoadBIO.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>key</p></td>
-<td><p>the pointer to key.</p></td>
-<td> </td>
+<td class="parameter_name"><p>key</p></td>
+<td class="parameter_description"><p>the pointer to key.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>bio</p></td>
-<td><p>the certificate bio.</p></td>
-<td> </td>
+<td class="parameter_name"><p>bio</p></td>
+<td class="parameter_description"><p>the certificate bio.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>format</p></td>
-<td><p>the certificate file format.</p></td>
-<td> </td>
+<td class="parameter_name"><p>format</p></td>
+<td class="parameter_description"><p>the certificate file format.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN30018"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecOpenSSLAppKeyCertLoadBIO.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLAPPKEYFROMCERTLOADBIO"></a><h3>xmlSecOpenSSLAppKeyFromCertLoadBIO ()</h3>
-<pre class="PROGRAMLISTING"><a href="xmlsec-keys.html#XMLSECKEY"><span class="RETURNVALUE">xmlSecKeyPtr</span></a>
-xmlSecOpenSSLAppKeyFromCertLoadBIO (<code class="PARAMETER"><font><span class="TYPE">BIO</span></font> *bio</code>,
- <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATAFORMAT"><span class="TYPE">xmlSecKeyDataFormat</span></a> format</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecOpenSSLAppKeyFromCertLoadBIO"></a><h3>xmlSecOpenSSLAppKeyFromCertLoadBIO ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecKeyPtr</span></font>
+xmlSecOpenSSLAppKeyFromCertLoadBIO (<em class="parameter"><code><font><span class="type">BIO</span></font> *bio</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataFormat" title="enum xmlSecKeyDataFormat"><span class="type">xmlSecKeyDataFormat</span></a> format</code></em>);</pre>
<p>Loads public key from cert.</p>
-<div class="REFSECT3">
-<a name="AEN30035"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN30037"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecOpenSSLAppKeyFromCertLoadBIO.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>bio</p></td>
-<td><p>the BIO.</p></td>
-<td> </td>
+<td class="parameter_name"><p>bio</p></td>
+<td class="parameter_description"><p>the BIO.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>format</p></td>
-<td><p>the cert format.</p></td>
-<td> </td>
+<td class="parameter_name"><p>format</p></td>
+<td class="parameter_description"><p>the cert format.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN30052"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecOpenSSLAppKeyFromCertLoadBIO.returns"></a><h4>Returns</h4>
<p> pointer to key or NULL if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLAPPGETDEFAULTPWDCALLBACK"></a><h3>xmlSecOpenSSLAppGetDefaultPwdCallback ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">void</span></font> *
-xmlSecOpenSSLAppGetDefaultPwdCallback (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecOpenSSLAppGetDefaultPwdCallback"></a><h3>xmlSecOpenSSLAppGetDefaultPwdCallback ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">void</span></font> *
+xmlSecOpenSSLAppGetDefaultPwdCallback (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>Gets default password callback.</p>
-<div class="REFSECT3">
-<a name="AEN30065"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecOpenSSLAppGetDefaultPwdCallback.returns"></a><h4>Returns</h4>
<p> default password callback.</p>
</div>
</div>
</div>
-<div class="REFSECT1">
-<a name="XMLSEC-OPENSSL-APP.OTHER_DETAILS"></a><h2>Types and Values</h2>
-<p></p>
+<div class="refsect1">
+<a name="xmlsec-openssl-app.other_details"></a><h2>Types and Values</h2>
</div>
-<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td align="left"><a accesskey="p" href="xmlsec-openssl-ref.html"><b><<< XML Security Library for OpenSLL API Reference.</b></a></td>
-<td align="right"><a accesskey="n" href="xmlsec-openssl-bn.html"><b>bn >>></b></a></td>
-</tr></table>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
</td></tr></table></td>
</tr></table></body>
</html>
diff --git a/docs/api/xmlsec-openssl-bn.html b/docs/api/xmlsec-openssl-bn.html
index 4f3c540..d53999d 100644
--- a/docs/api/xmlsec-openssl-bn.html
+++ b/docs/api/xmlsec-openssl-bn.html
@@ -1,41 +1,14 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>bn</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79">
-<link rel="HOME" title="XML Security Library Reference Manual" href="index.html">
-<link rel="UP" title="XML Security Library for OpenSLL API Reference." href="xmlsec-openssl-ref.html">
-<link rel="PREVIOUS" title="app" href="xmlsec-openssl-app.html">
-<link rel="NEXT" title="crypto" href="xmlsec-openssl-crypto.html">
-<style type="text/css">.synopsis, .classsynopsis {
- background: #eeeeee;
- border: solid 1px #aaaaaa;
- padding: 0.5em;
-}
-.programlisting {
- background: #eeeeff;
- border: solid 1px #aaaaff;
- padding: 0.5em;
-}
-.variablelist {
- padding: 4px;
- margin-left: 3em;
-}
-.navigation {
- background: #ffeeee;
- border: solid 1px #ffaaaa;
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
-.navigation a {
- color: #770000;
-}
-.navigation a:visited {
- color: #550000;
-}
-.navigation .title {
- font-size: 200%;
-}</style>
+<title>bn: XML Security Library Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="XML Security Library Reference Manual">
+<link rel="up" href="xmlsec-openssl-ref.html" title="XML Security Library for OpenSLL API Reference.">
+<link rel="prev" href="xmlsec-openssl-app.html" title="app">
+<link rel="next" href="xmlsec-openssl-crypto.html" title="crypto">
+<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
<style type="text/css">
table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
width: 20em;
@@ -100,145 +73,150 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
</table>
</td>
<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent">
-<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td><a accesskey="p" href="xmlsec-openssl-app.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="xmlsec-openssl-ref.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description"> <span class="dim">|</span>
+ <a href="#xmlsec-openssl-bn.description" class="shortcut">Description</a></span>
+</td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<th width="100%" align="center">XML Security Library Reference Manual</th>
+<td><a accesskey="u" href="xmlsec-openssl-ref.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="xmlsec-openssl-app.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="xmlsec-openssl-crypto.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
-<h1>
-<a name="XMLSEC-OPENSSL-BN"></a>bn</h1>
-<div class="REFNAMEDIV">
-<a name="AEN30076"></a><h2>Name</h2>bn -- Big numbers helper functions.</div>
-<div class="REFSECT1">
-<a name="XMLSEC-OPENSSL-BN.FUNCTIONS"></a><h2>Functions</h2>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN30081"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
+<div class="refentry">
+<a name="xmlsec-openssl-bn"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="xmlsec-openssl-bn.top_of_page"></a>bn</span></h2>
+<p>bn — Big numbers helper functions.</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="xmlsec-openssl-bn.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
<tbody>
<tr>
-<td>
-<font><span class="RETURNVALUE">BIGNUM</span></font> *</td>
-<td>
-<a href="xmlsec-openssl-bn.html#XMLSECOPENSSLNODEGETBNVALUE">xmlSecOpenSSLNodeGetBNValue</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">BIGNUM</span></font> *
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-openssl-bn.html#xmlSecOpenSSLNodeGetBNValue" title="xmlSecOpenSSLNodeGetBNValue ()">xmlSecOpenSSLNodeGetBNValue</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-openssl-bn.html#XMLSECOPENSSLNODESETBNVALUE">xmlSecOpenSSLNodeSetBNValue</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-openssl-bn.html#xmlSecOpenSSLNodeSetBNValue" title="xmlSecOpenSSLNodeSetBNValue ()">xmlSecOpenSSLNodeSetBNValue</a> <span class="c_punctuation">()</span>
</td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
+<div class="refsect1">
+<a name="xmlsec-openssl-bn.description"></a><h2>Description</h2>
+<p>
+Big numbers helper functions.
+</p>
</div>
-<div class="REFSECT1">
-<a name="XMLSEC-OPENSSL-BN.DESCRIPTION"></a><h2>Description</h2>
-<p>Big numbers helper functions.</p>
-</div>
-<div class="REFSECT1">
-<a name="XMLSEC-OPENSSL-BN.FUNCTIONS_DETAILS"></a><h2>Functions</h2>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLNODEGETBNVALUE"></a><h3>xmlSecOpenSSLNodeGetBNValue ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">BIGNUM</span></font> *
-xmlSecOpenSSLNodeGetBNValue (<code class="PARAMETER">const <font><span class="TYPE">xmlNodePtr</span></font> cur</code>,
- <code class="PARAMETER"><font><span class="TYPE">BIGNUM</span></font> **a</code>);</pre>
+<div class="refsect1">
+<a name="xmlsec-openssl-bn.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="xmlSecOpenSSLNodeGetBNValue"></a><h3>xmlSecOpenSSLNodeGetBNValue ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">BIGNUM</span></font> *
+xmlSecOpenSSLNodeGetBNValue (<em class="parameter"><code>const <font><span class="type">xmlNodePtr</span></font> cur</code></em>,
+ <em class="parameter"><code><font><span class="type">BIGNUM</span></font> **a</code></em>);</pre>
<p>Converts the node content from CryptoBinary format
-(http://www.w3.org/TR/xmldsig-core/<font><span class="TYPE">sec-CryptoBinary</span></font>)
+(http://www.w3.org/TR/xmldsig-core/<font><span class="type">sec-CryptoBinary</span></font>)
to a BIGNUM. If no BIGNUM buffer provided then a new
BIGNUM is created (caller is responsible for freeing it).</p>
-<div class="REFSECT3">
-<a name="AEN30119"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN30121"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecOpenSSLNodeGetBNValue.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>cur</p></td>
-<td><p>the poitner to an XML node.</p></td>
-<td> </td>
+<td class="parameter_name"><p>cur</p></td>
+<td class="parameter_description"><p>the poitner to an XML node.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>a</p></td>
-<td><p>the BIGNUM buffer.</p></td>
-<td> </td>
+<td class="parameter_name"><p>a</p></td>
+<td class="parameter_description"><p>the BIGNUM buffer.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN30136"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecOpenSSLNodeGetBNValue.returns"></a><h4>Returns</h4>
<p> a pointer to BIGNUM produced from CryptoBinary string
or NULL if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLNODESETBNVALUE"></a><h3>xmlSecOpenSSLNodeSetBNValue ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecOpenSSLNodeSetBNValue (<code class="PARAMETER"><font><span class="TYPE">xmlNodePtr</span></font> cur</code>,
- <code class="PARAMETER">const <font><span class="TYPE">BIGNUM</span></font> *a</code>,
- <code class="PARAMETER"><font><span class="TYPE">int</span></font> addLineBreaks</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecOpenSSLNodeSetBNValue"></a><h3>xmlSecOpenSSLNodeSetBNValue ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecOpenSSLNodeSetBNValue (<em class="parameter"><code><font><span class="type">xmlNodePtr</span></font> cur</code></em>,
+ <em class="parameter"><code>const <font><span class="type">BIGNUM</span></font> *a</code></em>,
+ <em class="parameter"><code><font><span class="type">int</span></font> addLineBreaks</code></em>);</pre>
<p>Converts BIGNUM to CryptoBinary string
-(http://www.w3.org/TR/xmldsig-core/<font><span class="TYPE">sec-CryptoBinary</span></font>)
+(http://www.w3.org/TR/xmldsig-core/<font><span class="type">sec-CryptoBinary</span></font>)
and sets it as the content of the given node. If the
addLineBreaks is set then line breaks are added
before and after the CryptoBinary string.</p>
-<div class="REFSECT3">
-<a name="AEN30158"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN30160"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecOpenSSLNodeSetBNValue.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>cur</p></td>
-<td><p>the pointer to an XML node.</p></td>
-<td> </td>
+<td class="parameter_name"><p>cur</p></td>
+<td class="parameter_description"><p>the pointer to an XML node.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>a</p></td>
-<td><p>the BIGNUM.</p></td>
-<td> </td>
+<td class="parameter_name"><p>a</p></td>
+<td class="parameter_description"><p>the BIGNUM.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>addLineBreaks</p></td>
-<td><p>if the flag is equal to 1 then
+<td class="parameter_name"><p>addLineBreaks</p></td>
+<td class="parameter_description"><p>if the flag is equal to 1 then
linebreaks will be added before and after
new buffer content.</p></td>
-<td> </td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN30181"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecOpenSSLNodeSetBNValue.returns"></a><h4>Returns</h4>
<p> 0 on success or -1 otherwise.</p>
</div>
</div>
</div>
-<div class="REFSECT1">
-<a name="XMLSEC-OPENSSL-BN.OTHER_DETAILS"></a><h2>Types and Values</h2>
-<p></p>
+<div class="refsect1">
+<a name="xmlsec-openssl-bn.other_details"></a><h2>Types and Values</h2>
</div>
-<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td align="left"><a accesskey="p" href="xmlsec-openssl-app.html"><b><<< app</b></a></td>
-<td align="right"><a accesskey="n" href="xmlsec-openssl-crypto.html"><b>crypto >>></b></a></td>
-</tr></table>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
</td></tr></table></td>
</tr></table></body>
</html>
diff --git a/docs/api/xmlsec-openssl-crypto.html b/docs/api/xmlsec-openssl-crypto.html
index f56e0a9..2a908ad 100644
--- a/docs/api/xmlsec-openssl-crypto.html
+++ b/docs/api/xmlsec-openssl-crypto.html
@@ -1,41 +1,14 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>crypto</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79">
-<link rel="HOME" title="XML Security Library Reference Manual" href="index.html">
-<link rel="UP" title="XML Security Library for OpenSLL API Reference." href="xmlsec-openssl-ref.html">
-<link rel="PREVIOUS" title="bn" href="xmlsec-openssl-bn.html">
-<link rel="NEXT" title="evp" href="xmlsec-openssl-evp.html">
-<style type="text/css">.synopsis, .classsynopsis {
- background: #eeeeee;
- border: solid 1px #aaaaaa;
- padding: 0.5em;
-}
-.programlisting {
- background: #eeeeff;
- border: solid 1px #aaaaff;
- padding: 0.5em;
-}
-.variablelist {
- padding: 4px;
- margin-left: 3em;
-}
-.navigation {
- background: #ffeeee;
- border: solid 1px #ffaaaa;
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
-.navigation a {
- color: #770000;
-}
-.navigation a:visited {
- color: #550000;
-}
-.navigation .title {
- font-size: 200%;
-}</style>
+<title>crypto: XML Security Library Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="XML Security Library Reference Manual">
+<link rel="up" href="xmlsec-openssl-ref.html" title="XML Security Library for OpenSLL API Reference.">
+<link rel="prev" href="xmlsec-openssl-bn.html" title="bn">
+<link rel="next" href="xmlsec-openssl-evp.html" title="evp">
+<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
<style type="text/css">
table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
width: 20em;
@@ -100,2434 +73,2760 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
</table>
</td>
<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent">
-<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td><a accesskey="p" href="xmlsec-openssl-bn.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="xmlsec-openssl-ref.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description"> <span class="dim">|</span>
+ <a href="#xmlsec-openssl-crypto.description" class="shortcut">Description</a></span>
+</td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<th width="100%" align="center">XML Security Library Reference Manual</th>
+<td><a accesskey="u" href="xmlsec-openssl-ref.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="xmlsec-openssl-bn.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="xmlsec-openssl-evp.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
-<h1>
-<a name="XMLSEC-OPENSSL-CRYPTO"></a>crypto</h1>
-<div class="REFNAMEDIV">
-<a name="AEN30192"></a><h2>Name</h2>crypto -- Crypto transforms implementation for OpenSSL.</div>
-<div class="REFSECT1">
-<a name="XMLSEC-OPENSSL-CRYPTO.FUNCTIONS"></a><h2>Functions</h2>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN30197"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
+<div class="refentry">
+<a name="xmlsec-openssl-crypto"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="xmlsec-openssl-crypto.top_of_page"></a>crypto</span></h2>
+<p>crypto — Crypto transforms implementation for OpenSSL.</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="xmlsec-openssl-crypto.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
<tbody>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecCryptoDLFunctionsPtr</span></font></td>
-<td>
-<a href="xmlsec-openssl-crypto.html#XMLSECCRYPTOGETFUNCTIONS-OPENSSL">xmlSecCryptoGetFunctions_openssl</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecCryptoDLFunctionsPtr</span></font>
</td>
-</tr>
-<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLINIT">xmlSecOpenSSLInit</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_name">
+<a class="link" href="xmlsec-openssl-crypto.html#xmlSecCryptoGetFunctions-openssl" title="xmlSecCryptoGetFunctions_openssl ()">xmlSecCryptoGetFunctions_openssl</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLSHUTDOWN">xmlSecOpenSSLShutdown</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLInit" title="xmlSecOpenSSLInit ()">xmlSecOpenSSLInit</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLKEYSMNGRINIT">xmlSecOpenSSLKeysMngrInit</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLShutdown" title="xmlSecOpenSSLShutdown ()">xmlSecOpenSSLShutdown</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLGENERATERANDOM">xmlSecOpenSSLGenerateRandom</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLKeysMngrInit" title="xmlSecOpenSSLKeysMngrInit ()">xmlSecOpenSSLKeysMngrInit</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLSETDEFAULTTRUSTEDCERTSFOLDER">xmlSecOpenSSLSetDefaultTrustedCertsFolder</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLGenerateRandom" title="xmlSecOpenSSLGenerateRandom ()">xmlSecOpenSSLGenerateRandom</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td>const <font><span class="RETURNVALUE">xmlChar</span></font> *</td>
-<td>
-<a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLGETDEFAULTTRUSTEDCERTSFOLDER">xmlSecOpenSSLGetDefaultTrustedCertsFolder</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLSetDefaultTrustedCertsFolder" title="xmlSecOpenSSLSetDefaultTrustedCertsFolder ()">xmlSecOpenSSLSetDefaultTrustedCertsFolder</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecKeyDataId</span></font></td>
-<td>
-<a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLKEYDATAAESGETKLASS">xmlSecOpenSSLKeyDataAesGetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">const <font><span class="returnvalue">xmlChar</span></font> *
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLGetDefaultTrustedCertsFolder" title="xmlSecOpenSSLGetDefaultTrustedCertsFolder ()">xmlSecOpenSSLGetDefaultTrustedCertsFolder</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLKEYDATAAESSET">xmlSecOpenSSLKeyDataAesSet</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecKeyDataId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLKeyDataAesGetKlass" title="xmlSecOpenSSLKeyDataAesGetKlass ()">xmlSecOpenSSLKeyDataAesGetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMAES128CBCGETKLASS">xmlSecOpenSSLTransformAes128CbcGetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLKeyDataAesSet" title="xmlSecOpenSSLKeyDataAesSet ()">xmlSecOpenSSLKeyDataAesSet</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMAES192CBCGETKLASS">xmlSecOpenSSLTransformAes192CbcGetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformAes128CbcGetKlass" title="xmlSecOpenSSLTransformAes128CbcGetKlass ()">xmlSecOpenSSLTransformAes128CbcGetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMAES256CBCGETKLASS">xmlSecOpenSSLTransformAes256CbcGetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformAes192CbcGetKlass" title="xmlSecOpenSSLTransformAes192CbcGetKlass ()">xmlSecOpenSSLTransformAes192CbcGetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMKWAES128GETKLASS">xmlSecOpenSSLTransformKWAes128GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformAes256CbcGetKlass" title="xmlSecOpenSSLTransformAes256CbcGetKlass ()">xmlSecOpenSSLTransformAes256CbcGetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMKWAES192GETKLASS">xmlSecOpenSSLTransformKWAes192GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformKWAes128GetKlass" title="xmlSecOpenSSLTransformKWAes128GetKlass ()">xmlSecOpenSSLTransformKWAes128GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMKWAES256GETKLASS">xmlSecOpenSSLTransformKWAes256GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformKWAes192GetKlass" title="xmlSecOpenSSLTransformKWAes192GetKlass ()">xmlSecOpenSSLTransformKWAes192GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecKeyDataId</span></font></td>
-<td>
-<a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLKEYDATADESGETKLASS">xmlSecOpenSSLKeyDataDesGetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformKWAes256GetKlass" title="xmlSecOpenSSLTransformKWAes256GetKlass ()">xmlSecOpenSSLTransformKWAes256GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLKEYDATADESSET">xmlSecOpenSSLKeyDataDesSet</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecKeyDataId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLKeyDataDesGetKlass" title="xmlSecOpenSSLKeyDataDesGetKlass ()">xmlSecOpenSSLKeyDataDesGetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMDES3CBCGETKLASS">xmlSecOpenSSLTransformDes3CbcGetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLKeyDataDesSet" title="xmlSecOpenSSLKeyDataDesSet ()">xmlSecOpenSSLKeyDataDesSet</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMKWDES3GETKLASS">xmlSecOpenSSLTransformKWDes3GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformDes3CbcGetKlass" title="xmlSecOpenSSLTransformDes3CbcGetKlass ()">xmlSecOpenSSLTransformDes3CbcGetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecKeyDataId</span></font></td>
-<td>
-<a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLKEYDATADSAGETKLASS">xmlSecOpenSSLKeyDataDsaGetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformKWDes3GetKlass" title="xmlSecOpenSSLTransformKWDes3GetKlass ()">xmlSecOpenSSLTransformKWDes3GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLKEYDATADSAADOPTDSA">xmlSecOpenSSLKeyDataDsaAdoptDsa</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecKeyDataId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLKeyDataDsaGetKlass" title="xmlSecOpenSSLKeyDataDsaGetKlass ()">xmlSecOpenSSLKeyDataDsaGetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td>
-<font><span class="RETURNVALUE">DSA</span></font> *</td>
-<td>
-<a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLKEYDATADSAGETDSA">xmlSecOpenSSLKeyDataDsaGetDsa</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLKeyDataDsaAdoptDsa" title="xmlSecOpenSSLKeyDataDsaAdoptDsa ()">xmlSecOpenSSLKeyDataDsaAdoptDsa</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLKEYDATADSAADOPTEVP">xmlSecOpenSSLKeyDataDsaAdoptEvp</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">DSA</span></font> *
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLKeyDataDsaGetDsa" title="xmlSecOpenSSLKeyDataDsaGetDsa ()">xmlSecOpenSSLKeyDataDsaGetDsa</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td>
-<font><span class="RETURNVALUE">EVP_PKEY</span></font> *</td>
-<td>
-<a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLKEYDATADSAGETEVP">xmlSecOpenSSLKeyDataDsaGetEvp</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLKeyDataDsaAdoptEvp" title="xmlSecOpenSSLKeyDataDsaAdoptEvp ()">xmlSecOpenSSLKeyDataDsaAdoptEvp</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMDSASHA1GETKLASS">xmlSecOpenSSLTransformDsaSha1GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">EVP_PKEY</span></font> *
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLKeyDataDsaGetEvp" title="xmlSecOpenSSLKeyDataDsaGetEvp ()">xmlSecOpenSSLKeyDataDsaGetEvp</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMDSASHA256GETKLASS">xmlSecOpenSSLTransformDsaSha256GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformDsaSha1GetKlass" title="xmlSecOpenSSLTransformDsaSha1GetKlass ()">xmlSecOpenSSLTransformDsaSha1GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecKeyDataId</span></font></td>
-<td>
-<a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLKEYDATAECDSAGETKLASS">xmlSecOpenSSLKeyDataEcdsaGetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformDsaSha256GetKlass" title="xmlSecOpenSSLTransformDsaSha256GetKlass ()">xmlSecOpenSSLTransformDsaSha256GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLKEYDATAECDSAADOPTECDSA">xmlSecOpenSSLKeyDataEcdsaAdoptEcdsa</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecKeyDataId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLKeyDataEcdsaGetKlass" title="xmlSecOpenSSLKeyDataEcdsaGetKlass ()">xmlSecOpenSSLKeyDataEcdsaGetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td>
-<font><span class="RETURNVALUE">EC_KEY</span></font> *</td>
-<td>
-<a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLKEYDATAECDSAGETECDSA">xmlSecOpenSSLKeyDataEcdsaGetEcdsa</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLKeyDataEcdsaAdoptEcdsa" title="xmlSecOpenSSLKeyDataEcdsaAdoptEcdsa ()">xmlSecOpenSSLKeyDataEcdsaAdoptEcdsa</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLKEYDATAECDSAADOPTEVP">xmlSecOpenSSLKeyDataEcdsaAdoptEvp</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">EC_KEY</span></font> *
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLKeyDataEcdsaGetEcdsa" title="xmlSecOpenSSLKeyDataEcdsaGetEcdsa ()">xmlSecOpenSSLKeyDataEcdsaGetEcdsa</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td>
-<font><span class="RETURNVALUE">EVP_PKEY</span></font> *</td>
-<td>
-<a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLKEYDATAECDSAGETEVP">xmlSecOpenSSLKeyDataEcdsaGetEvp</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLKeyDataEcdsaAdoptEvp" title="xmlSecOpenSSLKeyDataEcdsaAdoptEvp ()">xmlSecOpenSSLKeyDataEcdsaAdoptEvp</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMECDSASHA1GETKLASS">xmlSecOpenSSLTransformEcdsaSha1GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">EVP_PKEY</span></font> *
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLKeyDataEcdsaGetEvp" title="xmlSecOpenSSLKeyDataEcdsaGetEvp ()">xmlSecOpenSSLKeyDataEcdsaGetEvp</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMECDSASHA224GETKLASS">xmlSecOpenSSLTransformEcdsaSha224GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformEcdsaSha1GetKlass" title="xmlSecOpenSSLTransformEcdsaSha1GetKlass ()">xmlSecOpenSSLTransformEcdsaSha1GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMECDSASHA256GETKLASS">xmlSecOpenSSLTransformEcdsaSha256GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformEcdsaSha224GetKlass" title="xmlSecOpenSSLTransformEcdsaSha224GetKlass ()">xmlSecOpenSSLTransformEcdsaSha224GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMECDSASHA384GETKLASS">xmlSecOpenSSLTransformEcdsaSha384GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformEcdsaSha256GetKlass" title="xmlSecOpenSSLTransformEcdsaSha256GetKlass ()">xmlSecOpenSSLTransformEcdsaSha256GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMECDSASHA512GETKLASS">xmlSecOpenSSLTransformEcdsaSha512GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformEcdsaSha384GetKlass" title="xmlSecOpenSSLTransformEcdsaSha384GetKlass ()">xmlSecOpenSSLTransformEcdsaSha384GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecKeyDataId</span></font></td>
-<td>
-<a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLKEYDATAGOST2001GETKLASS">xmlSecOpenSSLKeyDataGost2001GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformEcdsaSha512GetKlass" title="xmlSecOpenSSLTransformEcdsaSha512GetKlass ()">xmlSecOpenSSLTransformEcdsaSha512GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMGOST2001GOSTR3411-94GETKLASS">xmlSecOpenSSLTransformGost2001GostR3411_94GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecKeyDataId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLKeyDataGost2001GetKlass" title="xmlSecOpenSSLKeyDataGost2001GetKlass ()">xmlSecOpenSSLKeyDataGost2001GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMGOSTR3411-94GETKLASS">xmlSecOpenSSLTransformGostR3411_94GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformGost2001GostR3411-94GetKlass" title="xmlSecOpenSSLTransformGost2001GostR3411_94GetKlass ()">xmlSecOpenSSLTransformGost2001GostR3411_94GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecKeyDataId</span></font></td>
-<td>
-<a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLKEYDATAGOSTR3410-2012-256GETKLASS">xmlSecOpenSSLKeyDataGostR3410_2012_256GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformGostR3411-94GetKlass" title="xmlSecOpenSSLTransformGostR3411_94GetKlass ()">xmlSecOpenSSLTransformGostR3411_94GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecKeyDataId</span></font></td>
-<td>
-<a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLKEYDATAGOSTR3410-2012-512GETKLASS">xmlSecOpenSSLKeyDataGostR3410_2012_512GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecKeyDataId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLKeyDataGostR3410-2012-256GetKlass" title="xmlSecOpenSSLKeyDataGostR3410_2012_256GetKlass ()">xmlSecOpenSSLKeyDataGostR3410_2012_256GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMGOSTR3410-2012GOSTR3411-2012-256GETKLASS">xmlSecOpenSSLTransformGostR3410_2012GostR3411_2012_256GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecKeyDataId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLKeyDataGostR3410-2012-512GetKlass" title="xmlSecOpenSSLKeyDataGostR3410_2012_512GetKlass ()">xmlSecOpenSSLKeyDataGostR3410_2012_512GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMGOSTR3410-2012GOSTR3411-2012-512GETKLASS">xmlSecOpenSSLTransformGostR3410_2012GostR3411_2012_512GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformGostR3410-2012GostR3411-2012-256GetKlass" title="xmlSecOpenSSLTransformGostR3410_2012GostR3411_2012_256GetKlass ()">xmlSecOpenSSLTransformGostR3410_2012GostR3411_2012_256GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMGOSTR3411-2012-256GETKLASS">xmlSecOpenSSLTransformGostR3411_2012_256GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformGostR3410-2012GostR3411-2012-512GetKlass" title="xmlSecOpenSSLTransformGostR3410_2012GostR3411_2012_512GetKlass ()">xmlSecOpenSSLTransformGostR3410_2012GostR3411_2012_512GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMGOSTR3411-2012-512GETKLASS">xmlSecOpenSSLTransformGostR3411_2012_512GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformGostR3411-2012-256GetKlass" title="xmlSecOpenSSLTransformGostR3411_2012_256GetKlass ()">xmlSecOpenSSLTransformGostR3411_2012_256GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLHMACGETMINOUTPUTLENGTH">xmlSecOpenSSLHmacGetMinOutputLength</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformGostR3411-2012-512GetKlass" title="xmlSecOpenSSLTransformGostR3411_2012_512GetKlass ()">xmlSecOpenSSLTransformGostR3411_2012_512GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">void</span></font></td>
-<td>
-<a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLHMACSETMINOUTPUTLENGTH">xmlSecOpenSSLHmacSetMinOutputLength</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLHmacGetMinOutputLength" title="xmlSecOpenSSLHmacGetMinOutputLength ()">xmlSecOpenSSLHmacGetMinOutputLength</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecKeyDataId</span></font></td>
-<td>
-<a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLKEYDATAHMACGETKLASS">xmlSecOpenSSLKeyDataHmacGetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">void</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLHmacSetMinOutputLength" title="xmlSecOpenSSLHmacSetMinOutputLength ()">xmlSecOpenSSLHmacSetMinOutputLength</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLKEYDATAHMACSET">xmlSecOpenSSLKeyDataHmacSet</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecKeyDataId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLKeyDataHmacGetKlass" title="xmlSecOpenSSLKeyDataHmacGetKlass ()">xmlSecOpenSSLKeyDataHmacGetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMHMACMD5GETKLASS">xmlSecOpenSSLTransformHmacMd5GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLKeyDataHmacSet" title="xmlSecOpenSSLKeyDataHmacSet ()">xmlSecOpenSSLKeyDataHmacSet</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMHMACRIPEMD160GETKLASS">xmlSecOpenSSLTransformHmacRipemd160GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformHmacMd5GetKlass" title="xmlSecOpenSSLTransformHmacMd5GetKlass ()">xmlSecOpenSSLTransformHmacMd5GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMHMACSHA1GETKLASS">xmlSecOpenSSLTransformHmacSha1GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformHmacRipemd160GetKlass" title="xmlSecOpenSSLTransformHmacRipemd160GetKlass ()">xmlSecOpenSSLTransformHmacRipemd160GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMHMACSHA224GETKLASS">xmlSecOpenSSLTransformHmacSha224GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformHmacSha1GetKlass" title="xmlSecOpenSSLTransformHmacSha1GetKlass ()">xmlSecOpenSSLTransformHmacSha1GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMHMACSHA256GETKLASS">xmlSecOpenSSLTransformHmacSha256GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformHmacSha224GetKlass" title="xmlSecOpenSSLTransformHmacSha224GetKlass ()">xmlSecOpenSSLTransformHmacSha224GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMHMACSHA384GETKLASS">xmlSecOpenSSLTransformHmacSha384GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformHmacSha256GetKlass" title="xmlSecOpenSSLTransformHmacSha256GetKlass ()">xmlSecOpenSSLTransformHmacSha256GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMHMACSHA512GETKLASS">xmlSecOpenSSLTransformHmacSha512GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformHmacSha384GetKlass" title="xmlSecOpenSSLTransformHmacSha384GetKlass ()">xmlSecOpenSSLTransformHmacSha384GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMMD5GETKLASS">xmlSecOpenSSLTransformMd5GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformHmacSha512GetKlass" title="xmlSecOpenSSLTransformHmacSha512GetKlass ()">xmlSecOpenSSLTransformHmacSha512GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMRIPEMD160GETKLASS">xmlSecOpenSSLTransformRipemd160GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformMd5GetKlass" title="xmlSecOpenSSLTransformMd5GetKlass ()">xmlSecOpenSSLTransformMd5GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecKeyDataId</span></font></td>
-<td>
-<a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLKEYDATARSAGETKLASS">xmlSecOpenSSLKeyDataRsaGetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformRipemd160GetKlass" title="xmlSecOpenSSLTransformRipemd160GetKlass ()">xmlSecOpenSSLTransformRipemd160GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLKEYDATARSAADOPTRSA">xmlSecOpenSSLKeyDataRsaAdoptRsa</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecKeyDataId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLKeyDataRsaGetKlass" title="xmlSecOpenSSLKeyDataRsaGetKlass ()">xmlSecOpenSSLKeyDataRsaGetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td>
-<font><span class="RETURNVALUE">RSA</span></font> *</td>
-<td>
-<a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLKEYDATARSAGETRSA">xmlSecOpenSSLKeyDataRsaGetRsa</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLKeyDataRsaAdoptRsa" title="xmlSecOpenSSLKeyDataRsaAdoptRsa ()">xmlSecOpenSSLKeyDataRsaAdoptRsa</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLKEYDATARSAADOPTEVP">xmlSecOpenSSLKeyDataRsaAdoptEvp</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">RSA</span></font> *
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLKeyDataRsaGetRsa" title="xmlSecOpenSSLKeyDataRsaGetRsa ()">xmlSecOpenSSLKeyDataRsaGetRsa</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td>
-<font><span class="RETURNVALUE">EVP_PKEY</span></font> *</td>
-<td>
-<a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLKEYDATARSAGETEVP">xmlSecOpenSSLKeyDataRsaGetEvp</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLKeyDataRsaAdoptEvp" title="xmlSecOpenSSLKeyDataRsaAdoptEvp ()">xmlSecOpenSSLKeyDataRsaAdoptEvp</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMRSAMD5GETKLASS">xmlSecOpenSSLTransformRsaMd5GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">EVP_PKEY</span></font> *
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLKeyDataRsaGetEvp" title="xmlSecOpenSSLKeyDataRsaGetEvp ()">xmlSecOpenSSLKeyDataRsaGetEvp</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMRSARIPEMD160GETKLASS">xmlSecOpenSSLTransformRsaRipemd160GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformRsaMd5GetKlass" title="xmlSecOpenSSLTransformRsaMd5GetKlass ()">xmlSecOpenSSLTransformRsaMd5GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMRSASHA1GETKLASS">xmlSecOpenSSLTransformRsaSha1GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformRsaRipemd160GetKlass" title="xmlSecOpenSSLTransformRsaRipemd160GetKlass ()">xmlSecOpenSSLTransformRsaRipemd160GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMRSASHA224GETKLASS">xmlSecOpenSSLTransformRsaSha224GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformRsaSha1GetKlass" title="xmlSecOpenSSLTransformRsaSha1GetKlass ()">xmlSecOpenSSLTransformRsaSha1GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMRSASHA256GETKLASS">xmlSecOpenSSLTransformRsaSha256GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformRsaSha224GetKlass" title="xmlSecOpenSSLTransformRsaSha224GetKlass ()">xmlSecOpenSSLTransformRsaSha224GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMRSASHA384GETKLASS">xmlSecOpenSSLTransformRsaSha384GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformRsaSha256GetKlass" title="xmlSecOpenSSLTransformRsaSha256GetKlass ()">xmlSecOpenSSLTransformRsaSha256GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMRSASHA512GETKLASS">xmlSecOpenSSLTransformRsaSha512GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformRsaSha384GetKlass" title="xmlSecOpenSSLTransformRsaSha384GetKlass ()">xmlSecOpenSSLTransformRsaSha384GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMRSAPKCS1GETKLASS">xmlSecOpenSSLTransformRsaPkcs1GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformRsaSha512GetKlass" title="xmlSecOpenSSLTransformRsaSha512GetKlass ()">xmlSecOpenSSLTransformRsaSha512GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMRSAOAEPGETKLASS">xmlSecOpenSSLTransformRsaOaepGetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformRsaPkcs1GetKlass" title="xmlSecOpenSSLTransformRsaPkcs1GetKlass ()">xmlSecOpenSSLTransformRsaPkcs1GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMSHA1GETKLASS">xmlSecOpenSSLTransformSha1GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformRsaOaepGetKlass" title="xmlSecOpenSSLTransformRsaOaepGetKlass ()">xmlSecOpenSSLTransformRsaOaepGetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMSHA224GETKLASS">xmlSecOpenSSLTransformSha224GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformSha1GetKlass" title="xmlSecOpenSSLTransformSha1GetKlass ()">xmlSecOpenSSLTransformSha1GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMSHA256GETKLASS">xmlSecOpenSSLTransformSha256GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformSha224GetKlass" title="xmlSecOpenSSLTransformSha224GetKlass ()">xmlSecOpenSSLTransformSha224GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMSHA384GETKLASS">xmlSecOpenSSLTransformSha384GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformSha256GetKlass" title="xmlSecOpenSSLTransformSha256GetKlass ()">xmlSecOpenSSLTransformSha256GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMSHA512GETKLASS">xmlSecOpenSSLTransformSha512GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformSha384GetKlass" title="xmlSecOpenSSLTransformSha384GetKlass ()">xmlSecOpenSSLTransformSha384GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-openssl-crypto.html#XMLSEC-OPENSSL-ERRORS-LIB:CAPS">XMLSEC_OPENSSL_ERRORS_LIB</a></td>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformSha512GetKlass" title="xmlSecOpenSSLTransformSha512GetKlass ()">xmlSecOpenSSLTransformSha512GetKlass</a> <span class="c_punctuation">()</span>
+</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">void</span></font></td>
-<td>
-<a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLERRORSDEFAULTCALLBACK">xmlSecOpenSSLErrorsDefaultCallback</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">void</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLErrorsDefaultCallback" title="xmlSecOpenSSLErrorsDefaultCallback ()">xmlSecOpenSSLErrorsDefaultCallback</a> <span class="c_punctuation">()</span>
</td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
-</div>
-<div class="REFSECT1">
-<a name="XMLSEC-OPENSSL-CRYPTO.OTHER"></a><h2>Types and Values</h2>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN30752"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="xmlsec-openssl-crypto.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
<tbody>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLKEYDATAAESID">xmlSecOpenSSLKeyDataAesId</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-openssl-crypto.html#XMLSEC-OPENSSL-API-100:CAPS" title="XMLSEC_OPENSSL_API_100">XMLSEC_OPENSSL_API_100</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-openssl-crypto.html#XMLSEC-OPENSSL-API-110:CAPS" title="XMLSEC_OPENSSL_API_110">XMLSEC_OPENSSL_API_110</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-openssl-crypto.html#XMLSEC-OPENSSL-API-098:CAPS" title="XMLSEC_OPENSSL_API_098">XMLSEC_OPENSSL_API_098</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-openssl-crypto.html#XMLSEC-NO-ECDSA:CAPS" title="XMLSEC_NO_ECDSA">XMLSEC_NO_ECDSA</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-openssl-crypto.html#XMLSEC-NO-SHA224:CAPS" title="XMLSEC_NO_SHA224">XMLSEC_NO_SHA224</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-openssl-crypto.html#XMLSEC-NO-SHA256:CAPS" title="XMLSEC_NO_SHA256">XMLSEC_NO_SHA256</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-openssl-crypto.html#XMLSEC-NO-SHA384:CAPS" title="XMLSEC_NO_SHA384">XMLSEC_NO_SHA384</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-openssl-crypto.html#XMLSEC-NO-SHA512:CAPS" title="XMLSEC_NO_SHA512">XMLSEC_NO_SHA512</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-openssl-crypto.html#XMLSEC-NO-AES:CAPS" title="XMLSEC_NO_AES">XMLSEC_NO_AES</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-openssl-crypto.html#XMLSEC-NO-DES:CAPS" title="XMLSEC_NO_DES">XMLSEC_NO_DES</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-openssl-crypto.html#XMLSEC-NO-DSA:CAPS" title="XMLSEC_NO_DSA">XMLSEC_NO_DSA</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-openssl-crypto.html#XMLSEC-NO-GOST:CAPS" title="XMLSEC_NO_GOST">XMLSEC_NO_GOST</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-openssl-crypto.html#XMLSEC-NO-GOST2012:CAPS" title="XMLSEC_NO_GOST2012">XMLSEC_NO_GOST2012</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-openssl-crypto.html#XMLSEC-NO-HMAC:CAPS" title="XMLSEC_NO_HMAC">XMLSEC_NO_HMAC</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-openssl-crypto.html#XMLSEC-NO-MD5:CAPS" title="XMLSEC_NO_MD5">XMLSEC_NO_MD5</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-openssl-crypto.html#XMLSEC-NO-RIPEMD160:CAPS" title="XMLSEC_NO_RIPEMD160">XMLSEC_NO_RIPEMD160</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMAES128CBCID">xmlSecOpenSSLTransformAes128CbcId</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-openssl-crypto.html#XMLSEC-NO-RSA:CAPS" title="XMLSEC_NO_RSA">XMLSEC_NO_RSA</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMAES192CBCID">xmlSecOpenSSLTransformAes192CbcId</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-openssl-crypto.html#XMLSEC-NO-SHA1:CAPS" title="XMLSEC_NO_SHA1">XMLSEC_NO_SHA1</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMAES256CBCID">xmlSecOpenSSLTransformAes256CbcId</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-openssl-crypto.html#XMLSEC-NO-X509:CAPS" title="XMLSEC_NO_X509">XMLSEC_NO_X509</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMKWAES128ID">xmlSecOpenSSLTransformKWAes128Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLKeyDataAesId" title="xmlSecOpenSSLKeyDataAesId">xmlSecOpenSSLKeyDataAesId</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMKWAES192ID">xmlSecOpenSSLTransformKWAes192Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformAes128CbcId" title="xmlSecOpenSSLTransformAes128CbcId">xmlSecOpenSSLTransformAes128CbcId</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMKWAES256ID">xmlSecOpenSSLTransformKWAes256Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformAes192CbcId" title="xmlSecOpenSSLTransformAes192CbcId">xmlSecOpenSSLTransformAes192CbcId</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLKEYDATADESID">xmlSecOpenSSLKeyDataDesId</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformAes256CbcId" title="xmlSecOpenSSLTransformAes256CbcId">xmlSecOpenSSLTransformAes256CbcId</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMDES3CBCID">xmlSecOpenSSLTransformDes3CbcId</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformKWAes128Id" title="xmlSecOpenSSLTransformKWAes128Id">xmlSecOpenSSLTransformKWAes128Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMKWDES3ID">xmlSecOpenSSLTransformKWDes3Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformKWAes192Id" title="xmlSecOpenSSLTransformKWAes192Id">xmlSecOpenSSLTransformKWAes192Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLKEYDATADSAID">xmlSecOpenSSLKeyDataDsaId</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformKWAes256Id" title="xmlSecOpenSSLTransformKWAes256Id">xmlSecOpenSSLTransformKWAes256Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMDSASHA1ID">xmlSecOpenSSLTransformDsaSha1Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLKeyDataDesId" title="xmlSecOpenSSLKeyDataDesId">xmlSecOpenSSLKeyDataDesId</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMDSASHA256ID">xmlSecOpenSSLTransformDsaSha256Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformDes3CbcId" title="xmlSecOpenSSLTransformDes3CbcId">xmlSecOpenSSLTransformDes3CbcId</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLKEYDATAECDSAID">xmlSecOpenSSLKeyDataEcdsaId</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformKWDes3Id" title="xmlSecOpenSSLTransformKWDes3Id">xmlSecOpenSSLTransformKWDes3Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMECDSASHA1ID">xmlSecOpenSSLTransformEcdsaSha1Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLKeyDataDsaId" title="xmlSecOpenSSLKeyDataDsaId">xmlSecOpenSSLKeyDataDsaId</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMECDSASHA224ID">xmlSecOpenSSLTransformEcdsaSha224Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformDsaSha1Id" title="xmlSecOpenSSLTransformDsaSha1Id">xmlSecOpenSSLTransformDsaSha1Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMECDSASHA256ID">xmlSecOpenSSLTransformEcdsaSha256Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformDsaSha256Id" title="xmlSecOpenSSLTransformDsaSha256Id">xmlSecOpenSSLTransformDsaSha256Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMECDSASHA384ID">xmlSecOpenSSLTransformEcdsaSha384Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLKeyDataEcdsaId" title="xmlSecOpenSSLKeyDataEcdsaId">xmlSecOpenSSLKeyDataEcdsaId</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMECDSASHA512ID">xmlSecOpenSSLTransformEcdsaSha512Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformEcdsaSha1Id" title="xmlSecOpenSSLTransformEcdsaSha1Id">xmlSecOpenSSLTransformEcdsaSha1Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLKEYDATAGOST2001ID">xmlSecOpenSSLKeyDataGost2001Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformEcdsaSha224Id" title="xmlSecOpenSSLTransformEcdsaSha224Id">xmlSecOpenSSLTransformEcdsaSha224Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMGOST2001GOSTR3411-94ID">xmlSecOpenSSLTransformGost2001GostR3411_94Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformEcdsaSha256Id" title="xmlSecOpenSSLTransformEcdsaSha256Id">xmlSecOpenSSLTransformEcdsaSha256Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMGOSTR3411-94ID">xmlSecOpenSSLTransformGostR3411_94Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformEcdsaSha384Id" title="xmlSecOpenSSLTransformEcdsaSha384Id">xmlSecOpenSSLTransformEcdsaSha384Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLKEYDATAGOSTR3410-2012-256ID">xmlSecOpenSSLKeyDataGostR3410_2012_256Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformEcdsaSha512Id" title="xmlSecOpenSSLTransformEcdsaSha512Id">xmlSecOpenSSLTransformEcdsaSha512Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLKEYDATAGOSTR3410-2012-512ID">xmlSecOpenSSLKeyDataGostR3410_2012_512Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLKeyDataGost2001Id" title="xmlSecOpenSSLKeyDataGost2001Id">xmlSecOpenSSLKeyDataGost2001Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMGOSTR3410-2012GOSTR3411-2012-256ID">xmlSecOpenSSLTransformGostR3410_2012GostR3411_2012_256Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformGost2001GostR3411-94Id" title="xmlSecOpenSSLTransformGost2001GostR3411_94Id">xmlSecOpenSSLTransformGost2001GostR3411_94Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMGOSTR3410-2012GOSTR3411-2012-512ID">xmlSecOpenSSLTransformGostR3410_2012GostR3411_2012_512Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformGostR3411-94Id" title="xmlSecOpenSSLTransformGostR3411_94Id">xmlSecOpenSSLTransformGostR3411_94Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMGOSTR3411-2012-256ID">xmlSecOpenSSLTransformGostR3411_2012_256Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLKeyDataGostR3410-2012-256Id" title="xmlSecOpenSSLKeyDataGostR3410_2012_256Id">xmlSecOpenSSLKeyDataGostR3410_2012_256Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMGOSTR3411-2012-512ID">xmlSecOpenSSLTransformGostR3411_2012_512Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLKeyDataGostR3410-2012-512Id" title="xmlSecOpenSSLKeyDataGostR3410_2012_512Id">xmlSecOpenSSLKeyDataGostR3410_2012_512Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLKEYDATAHMACID">xmlSecOpenSSLKeyDataHmacId</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformGostR3410-2012GostR3411-2012-256Id" title="xmlSecOpenSSLTransformGostR3410_2012GostR3411_2012_256Id">xmlSecOpenSSLTransformGostR3410_2012GostR3411_2012_256Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMHMACMD5ID">xmlSecOpenSSLTransformHmacMd5Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformGostR3410-2012GostR3411-2012-512Id" title="xmlSecOpenSSLTransformGostR3410_2012GostR3411_2012_512Id">xmlSecOpenSSLTransformGostR3410_2012GostR3411_2012_512Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMHMACRIPEMD160ID">xmlSecOpenSSLTransformHmacRipemd160Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformGostR3411-2012-256Id" title="xmlSecOpenSSLTransformGostR3411_2012_256Id">xmlSecOpenSSLTransformGostR3411_2012_256Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMHMACSHA1ID">xmlSecOpenSSLTransformHmacSha1Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformGostR3411-2012-512Id" title="xmlSecOpenSSLTransformGostR3411_2012_512Id">xmlSecOpenSSLTransformGostR3411_2012_512Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMHMACSHA224ID">xmlSecOpenSSLTransformHmacSha224Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLKeyDataHmacId" title="xmlSecOpenSSLKeyDataHmacId">xmlSecOpenSSLKeyDataHmacId</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMHMACSHA256ID">xmlSecOpenSSLTransformHmacSha256Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformHmacMd5Id" title="xmlSecOpenSSLTransformHmacMd5Id">xmlSecOpenSSLTransformHmacMd5Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMHMACSHA384ID">xmlSecOpenSSLTransformHmacSha384Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformHmacRipemd160Id" title="xmlSecOpenSSLTransformHmacRipemd160Id">xmlSecOpenSSLTransformHmacRipemd160Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMHMACSHA512ID">xmlSecOpenSSLTransformHmacSha512Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformHmacSha1Id" title="xmlSecOpenSSLTransformHmacSha1Id">xmlSecOpenSSLTransformHmacSha1Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMMD5ID">xmlSecOpenSSLTransformMd5Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformHmacSha224Id" title="xmlSecOpenSSLTransformHmacSha224Id">xmlSecOpenSSLTransformHmacSha224Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMRIPEMD160ID">xmlSecOpenSSLTransformRipemd160Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformHmacSha256Id" title="xmlSecOpenSSLTransformHmacSha256Id">xmlSecOpenSSLTransformHmacSha256Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLKEYDATARSAID">xmlSecOpenSSLKeyDataRsaId</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformHmacSha384Id" title="xmlSecOpenSSLTransformHmacSha384Id">xmlSecOpenSSLTransformHmacSha384Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMRSAMD5ID">xmlSecOpenSSLTransformRsaMd5Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformHmacSha512Id" title="xmlSecOpenSSLTransformHmacSha512Id">xmlSecOpenSSLTransformHmacSha512Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMRSARIPEMD160ID">xmlSecOpenSSLTransformRsaRipemd160Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformMd5Id" title="xmlSecOpenSSLTransformMd5Id">xmlSecOpenSSLTransformMd5Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMRSASHA1ID">xmlSecOpenSSLTransformRsaSha1Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformRipemd160Id" title="xmlSecOpenSSLTransformRipemd160Id">xmlSecOpenSSLTransformRipemd160Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMRSASHA224ID">xmlSecOpenSSLTransformRsaSha224Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLKeyDataRsaId" title="xmlSecOpenSSLKeyDataRsaId">xmlSecOpenSSLKeyDataRsaId</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMRSASHA256ID">xmlSecOpenSSLTransformRsaSha256Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformRsaMd5Id" title="xmlSecOpenSSLTransformRsaMd5Id">xmlSecOpenSSLTransformRsaMd5Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMRSASHA384ID">xmlSecOpenSSLTransformRsaSha384Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformRsaRipemd160Id" title="xmlSecOpenSSLTransformRsaRipemd160Id">xmlSecOpenSSLTransformRsaRipemd160Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMRSASHA512ID">xmlSecOpenSSLTransformRsaSha512Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformRsaSha1Id" title="xmlSecOpenSSLTransformRsaSha1Id">xmlSecOpenSSLTransformRsaSha1Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMRSAPKCS1ID">xmlSecOpenSSLTransformRsaPkcs1Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformRsaSha224Id" title="xmlSecOpenSSLTransformRsaSha224Id">xmlSecOpenSSLTransformRsaSha224Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMRSAOAEPID">xmlSecOpenSSLTransformRsaOaepId</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformRsaSha256Id" title="xmlSecOpenSSLTransformRsaSha256Id">xmlSecOpenSSLTransformRsaSha256Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMSHA1ID">xmlSecOpenSSLTransformSha1Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformRsaSha384Id" title="xmlSecOpenSSLTransformRsaSha384Id">xmlSecOpenSSLTransformRsaSha384Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMSHA224ID">xmlSecOpenSSLTransformSha224Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformRsaSha512Id" title="xmlSecOpenSSLTransformRsaSha512Id">xmlSecOpenSSLTransformRsaSha512Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMSHA256ID">xmlSecOpenSSLTransformSha256Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformRsaPkcs1Id" title="xmlSecOpenSSLTransformRsaPkcs1Id">xmlSecOpenSSLTransformRsaPkcs1Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMSHA384ID">xmlSecOpenSSLTransformSha384Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformRsaOaepId" title="xmlSecOpenSSLTransformRsaOaepId">xmlSecOpenSSLTransformRsaOaepId</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-openssl-crypto.html#XMLSECOPENSSLTRANSFORMSHA512ID">xmlSecOpenSSLTransformSha512Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformSha1Id" title="xmlSecOpenSSLTransformSha1Id">xmlSecOpenSSLTransformSha1Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-openssl-crypto.html#XMLSEC-OPENSSL-ERRORS-FUNCTION:CAPS">XMLSEC_OPENSSL_ERRORS_FUNCTION</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformSha224Id" title="xmlSecOpenSSLTransformSha224Id">xmlSecOpenSSLTransformSha224Id</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformSha256Id" title="xmlSecOpenSSLTransformSha256Id">xmlSecOpenSSLTransformSha256Id</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformSha384Id" title="xmlSecOpenSSLTransformSha384Id">xmlSecOpenSSLTransformSha384Id</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-openssl-crypto.html#xmlSecOpenSSLTransformSha512Id" title="xmlSecOpenSSLTransformSha512Id">xmlSecOpenSSLTransformSha512Id</a></td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
-</div>
-<div class="REFSECT1">
-<a name="XMLSEC-OPENSSL-CRYPTO.DESCRIPTION"></a><h2>Description</h2>
-<p>Crypto transforms implementation for OpenSSL.</p>
-</div>
-<div class="REFSECT1">
-<a name="XMLSEC-OPENSSL-CRYPTO.FUNCTIONS_DETAILS"></a><h2>Functions</h2>
-<div class="REFSECT2">
-<a name="XMLSECCRYPTOGETFUNCTIONS-OPENSSL"></a><h3>xmlSecCryptoGetFunctions_openssl ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecCryptoDLFunctionsPtr</span></font>
-xmlSecCryptoGetFunctions_openssl (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="xmlsec-openssl-crypto.description"></a><h2>Description</h2>
+<p>
+Crypto transforms implementation for OpenSSL.
+</p>
+</div>
+<div class="refsect1">
+<a name="xmlsec-openssl-crypto.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="xmlSecCryptoGetFunctions-openssl"></a><h3>xmlSecCryptoGetFunctions_openssl ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecCryptoDLFunctionsPtr</span></font>
+xmlSecCryptoGetFunctions_openssl (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>Gets the pointer to xmlsec-openssl functions table.</p>
-<div class="REFSECT3">
-<a name="AEN30986"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecCryptoGetFunctions-openssl.returns"></a><h4>Returns</h4>
<p> the xmlsec-openssl functions table or NULL if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLINIT"></a><h3>xmlSecOpenSSLInit ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecOpenSSLInit (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecOpenSSLInit"></a><h3>xmlSecOpenSSLInit ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecOpenSSLInit (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>XMLSec library specific crypto engine initialization.</p>
-<div class="REFSECT3">
-<a name="AEN30999"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecOpenSSLInit.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLSHUTDOWN"></a><h3>xmlSecOpenSSLShutdown ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecOpenSSLShutdown (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecOpenSSLShutdown"></a><h3>xmlSecOpenSSLShutdown ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecOpenSSLShutdown (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>XMLSec library specific crypto engine shutdown.</p>
-<div class="REFSECT3">
-<a name="AEN31012"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecOpenSSLShutdown.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLKEYSMNGRINIT"></a><h3>xmlSecOpenSSLKeysMngrInit ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecOpenSSLKeysMngrInit (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> mngr</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecOpenSSLKeysMngrInit"></a><h3>xmlSecOpenSSLKeysMngrInit ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecOpenSSLKeysMngrInit (<em class="parameter"><code><font><span class="type">xmlSecKeysMngrPtr</span></font> mngr</code></em>);</pre>
<p>Adds OpenSSL specific key data stores in keys manager.</p>
-<div class="REFSECT3">
-<a name="AEN31026"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN31028"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecOpenSSLKeysMngrInit.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>mngr</p></td>
-<td><p>the pointer to keys manager.</p></td>
-<td> </td>
+<td class="parameter_name"><p>mngr</p></td>
+<td class="parameter_description"><p>the pointer to keys manager.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN31037"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecOpenSSLKeysMngrInit.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLGENERATERANDOM"></a><h3>xmlSecOpenSSLGenerateRandom ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecOpenSSLGenerateRandom (<code class="PARAMETER"><a href="xmlsec-buffer.html#XMLSECBUFFER"><span class="TYPE">xmlSecBufferPtr</span></a> buffer</code>,
- <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> size</code>);</pre>
-<p>Generates <code class="PARAMETER">size</code>
- random bytes and puts result in <code class="PARAMETER">buffer</code>
+<div class="refsect2">
+<a name="xmlSecOpenSSLGenerateRandom"></a><h3>xmlSecOpenSSLGenerateRandom ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecOpenSSLGenerateRandom (<em class="parameter"><code><font><span class="type">xmlSecBufferPtr</span></font> buffer</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="type">xmlSecSize</span></a> size</code></em>);</pre>
+<p>Generates <em class="parameter"><code>size</code></em>
+ random bytes and puts result in <em class="parameter"><code>buffer</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN31056"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN31058"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecOpenSSLGenerateRandom.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>buffer</p></td>
-<td><p>the destination buffer.</p></td>
-<td> </td>
+<td class="parameter_name"><p>buffer</p></td>
+<td class="parameter_description"><p>the destination buffer.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>size</p></td>
-<td><p>the numer of bytes to generate.</p></td>
-<td> </td>
+<td class="parameter_name"><p>size</p></td>
+<td class="parameter_description"><p>the numer of bytes to generate.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN31073"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecOpenSSLGenerateRandom.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLSETDEFAULTTRUSTEDCERTSFOLDER"></a><h3>xmlSecOpenSSLSetDefaultTrustedCertsFolder ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
+<div class="refsect2">
+<a name="xmlSecOpenSSLSetDefaultTrustedCertsFolder"></a><h3>xmlSecOpenSSLSetDefaultTrustedCertsFolder ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
xmlSecOpenSSLSetDefaultTrustedCertsFolder
- (<code class="PARAMETER">const <font><span class="TYPE">xmlChar</span></font> *path</code>);</pre>
+ (<em class="parameter"><code>const <font><span class="type">xmlChar</span></font> *path</code></em>);</pre>
<p>Sets the default trusted certs folder.</p>
-<div class="REFSECT3">
-<a name="AEN31087"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN31089"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecOpenSSLSetDefaultTrustedCertsFolder.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>path</p></td>
-<td><p>the default trusted certs path.</p></td>
-<td> </td>
+<td class="parameter_name"><p>path</p></td>
+<td class="parameter_description"><p>the default trusted certs path.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN31098"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecOpenSSLSetDefaultTrustedCertsFolder.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLGETDEFAULTTRUSTEDCERTSFOLDER"></a><h3>xmlSecOpenSSLGetDefaultTrustedCertsFolder ()</h3>
-<pre class="PROGRAMLISTING">const <font><span class="RETURNVALUE">xmlChar</span></font> *
+<div class="refsect2">
+<a name="xmlSecOpenSSLGetDefaultTrustedCertsFolder"></a><h3>xmlSecOpenSSLGetDefaultTrustedCertsFolder ()</h3>
+<pre class="programlisting">const <font><span class="returnvalue">xmlChar</span></font> *
xmlSecOpenSSLGetDefaultTrustedCertsFolder
- (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+ (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>Gets the default trusted certs folder.</p>
-<div class="REFSECT3">
-<a name="AEN31111"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecOpenSSLGetDefaultTrustedCertsFolder.returns"></a><h4>Returns</h4>
<p> the default trusted cert folder.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLKEYDATAAESGETKLASS"></a><h3>xmlSecOpenSSLKeyDataAesGetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecKeyDataId</span></font>
-xmlSecOpenSSLKeyDataAesGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecOpenSSLKeyDataAesGetKlass"></a><h3>xmlSecOpenSSLKeyDataAesGetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecKeyDataId</span></font>
+xmlSecOpenSSLKeyDataAesGetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The AES key data klass.</p>
-<div class="REFSECT3">
-<a name="AEN31124"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecOpenSSLKeyDataAesGetKlass.returns"></a><h4>Returns</h4>
<p> AES key data klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLKEYDATAAESSET"></a><h3>xmlSecOpenSSLKeyDataAesSet ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecOpenSSLKeyDataAesSet (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>,
- <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *buf</code>,
- <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> bufSize</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecOpenSSLKeyDataAesSet"></a><h3>xmlSecOpenSSLKeyDataAesSet ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecOpenSSLKeyDataAesSet (<em class="parameter"><code><font><span class="type">xmlSecKeyDataPtr</span></font> data</code></em>,
+ <em class="parameter"><code>const <a class="link" href="xmlsec-xmlsec.html#xmlSecByte" title="xmlSecByte"><span class="type">xmlSecByte</span></a> *buf</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="type">xmlSecSize</span></a> bufSize</code></em>);</pre>
<p>Sets the value of AES key data.</p>
-<div class="REFSECT3">
-<a name="AEN31144"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN31146"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecOpenSSLKeyDataAesSet.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>data</p></td>
-<td><p>the pointer to AES key data.</p></td>
-<td> </td>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the pointer to AES key data.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>buf</p></td>
-<td><p>the pointer to key value.</p></td>
-<td> </td>
+<td class="parameter_name"><p>buf</p></td>
+<td class="parameter_description"><p>the pointer to key value.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>bufSize</p></td>
-<td><p>the key value size (in bytes).</p></td>
-<td> </td>
+<td class="parameter_name"><p>bufSize</p></td>
+<td class="parameter_description"><p>the key value size (in bytes).</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN31167"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecOpenSSLKeyDataAesSet.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLTRANSFORMAES128CBCGETKLASS"></a><h3>xmlSecOpenSSLTransformAes128CbcGetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
+<div class="refsect2">
+<a name="xmlSecOpenSSLTransformAes128CbcGetKlass"></a><h3>xmlSecOpenSSLTransformAes128CbcGetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
xmlSecOpenSSLTransformAes128CbcGetKlass
- (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+ (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>AES 128 CBC encryption transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN31180"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecOpenSSLTransformAes128CbcGetKlass.returns"></a><h4>Returns</h4>
<p> pointer to AES 128 CBC encryption transform.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLTRANSFORMAES192CBCGETKLASS"></a><h3>xmlSecOpenSSLTransformAes192CbcGetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
+<div class="refsect2">
+<a name="xmlSecOpenSSLTransformAes192CbcGetKlass"></a><h3>xmlSecOpenSSLTransformAes192CbcGetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
xmlSecOpenSSLTransformAes192CbcGetKlass
- (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+ (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>AES 192 CBC encryption transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN31193"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecOpenSSLTransformAes192CbcGetKlass.returns"></a><h4>Returns</h4>
<p> pointer to AES 192 CBC encryption transform.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLTRANSFORMAES256CBCGETKLASS"></a><h3>xmlSecOpenSSLTransformAes256CbcGetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
+<div class="refsect2">
+<a name="xmlSecOpenSSLTransformAes256CbcGetKlass"></a><h3>xmlSecOpenSSLTransformAes256CbcGetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
xmlSecOpenSSLTransformAes256CbcGetKlass
- (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+ (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>AES 256 CBC encryption transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN31206"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecOpenSSLTransformAes256CbcGetKlass.returns"></a><h4>Returns</h4>
<p> pointer to AES 256 CBC encryption transform.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLTRANSFORMKWAES128GETKLASS"></a><h3>xmlSecOpenSSLTransformKWAes128GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
+<div class="refsect2">
+<a name="xmlSecOpenSSLTransformKWAes128GetKlass"></a><h3>xmlSecOpenSSLTransformKWAes128GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
xmlSecOpenSSLTransformKWAes128GetKlass
- (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+ (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The AES-128 kew wrapper transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN31219"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecOpenSSLTransformKWAes128GetKlass.returns"></a><h4>Returns</h4>
<p> AES-128 kew wrapper transform klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLTRANSFORMKWAES192GETKLASS"></a><h3>xmlSecOpenSSLTransformKWAes192GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
+<div class="refsect2">
+<a name="xmlSecOpenSSLTransformKWAes192GetKlass"></a><h3>xmlSecOpenSSLTransformKWAes192GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
xmlSecOpenSSLTransformKWAes192GetKlass
- (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+ (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The AES-192 kew wrapper transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN31232"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecOpenSSLTransformKWAes192GetKlass.returns"></a><h4>Returns</h4>
<p> AES-192 kew wrapper transform klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLTRANSFORMKWAES256GETKLASS"></a><h3>xmlSecOpenSSLTransformKWAes256GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
+<div class="refsect2">
+<a name="xmlSecOpenSSLTransformKWAes256GetKlass"></a><h3>xmlSecOpenSSLTransformKWAes256GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
xmlSecOpenSSLTransformKWAes256GetKlass
- (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+ (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The AES-256 kew wrapper transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN31245"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecOpenSSLTransformKWAes256GetKlass.returns"></a><h4>Returns</h4>
<p> AES-256 kew wrapper transform klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLKEYDATADESGETKLASS"></a><h3>xmlSecOpenSSLKeyDataDesGetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecKeyDataId</span></font>
-xmlSecOpenSSLKeyDataDesGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecOpenSSLKeyDataDesGetKlass"></a><h3>xmlSecOpenSSLKeyDataDesGetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecKeyDataId</span></font>
+xmlSecOpenSSLKeyDataDesGetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The DES key data klass.</p>
-<div class="REFSECT3">
-<a name="AEN31258"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecOpenSSLKeyDataDesGetKlass.returns"></a><h4>Returns</h4>
<p> DES key data klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLKEYDATADESSET"></a><h3>xmlSecOpenSSLKeyDataDesSet ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecOpenSSLKeyDataDesSet (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>,
- <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *buf</code>,
- <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> bufSize</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecOpenSSLKeyDataDesSet"></a><h3>xmlSecOpenSSLKeyDataDesSet ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecOpenSSLKeyDataDesSet (<em class="parameter"><code><font><span class="type">xmlSecKeyDataPtr</span></font> data</code></em>,
+ <em class="parameter"><code>const <a class="link" href="xmlsec-xmlsec.html#xmlSecByte" title="xmlSecByte"><span class="type">xmlSecByte</span></a> *buf</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="type">xmlSecSize</span></a> bufSize</code></em>);</pre>
<p>Sets the value of DES key data.</p>
-<div class="REFSECT3">
-<a name="AEN31278"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN31280"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecOpenSSLKeyDataDesSet.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>data</p></td>
-<td><p>the pointer to DES key data.</p></td>
-<td> </td>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the pointer to DES key data.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>buf</p></td>
-<td><p>the pointer to key value.</p></td>
-<td> </td>
+<td class="parameter_name"><p>buf</p></td>
+<td class="parameter_description"><p>the pointer to key value.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>bufSize</p></td>
-<td><p>the key value size (in bytes).</p></td>
-<td> </td>
+<td class="parameter_name"><p>bufSize</p></td>
+<td class="parameter_description"><p>the key value size (in bytes).</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN31301"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecOpenSSLKeyDataDesSet.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLTRANSFORMDES3CBCGETKLASS"></a><h3>xmlSecOpenSSLTransformDes3CbcGetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
-xmlSecOpenSSLTransformDes3CbcGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecOpenSSLTransformDes3CbcGetKlass"></a><h3>xmlSecOpenSSLTransformDes3CbcGetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
+xmlSecOpenSSLTransformDes3CbcGetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>Triple DES CBC encryption transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN31314"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecOpenSSLTransformDes3CbcGetKlass.returns"></a><h4>Returns</h4>
<p> pointer to Triple DES encryption transform.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLTRANSFORMKWDES3GETKLASS"></a><h3>xmlSecOpenSSLTransformKWDes3GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
-xmlSecOpenSSLTransformKWDes3GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecOpenSSLTransformKWDes3GetKlass"></a><h3>xmlSecOpenSSLTransformKWDes3GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
+xmlSecOpenSSLTransformKWDes3GetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The Triple DES key wrapper transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN31327"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecOpenSSLTransformKWDes3GetKlass.returns"></a><h4>Returns</h4>
<p> Triple DES key wrapper transform klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLKEYDATADSAGETKLASS"></a><h3>xmlSecOpenSSLKeyDataDsaGetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecKeyDataId</span></font>
-xmlSecOpenSSLKeyDataDsaGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecOpenSSLKeyDataDsaGetKlass"></a><h3>xmlSecOpenSSLKeyDataDsaGetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecKeyDataId</span></font>
+xmlSecOpenSSLKeyDataDsaGetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The DSA key data klass.</p>
-<div class="REFSECT3">
-<a name="AEN31340"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecOpenSSLKeyDataDsaGetKlass.returns"></a><h4>Returns</h4>
<p> pointer to DSA key data klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLKEYDATADSAADOPTDSA"></a><h3>xmlSecOpenSSLKeyDataDsaAdoptDsa ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecOpenSSLKeyDataDsaAdoptDsa (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>,
- <code class="PARAMETER"><font><span class="TYPE">DSA</span></font> *dsa</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecOpenSSLKeyDataDsaAdoptDsa"></a><h3>xmlSecOpenSSLKeyDataDsaAdoptDsa ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecOpenSSLKeyDataDsaAdoptDsa (<em class="parameter"><code><font><span class="type">xmlSecKeyDataPtr</span></font> data</code></em>,
+ <em class="parameter"><code><font><span class="type">DSA</span></font> *dsa</code></em>);</pre>
<p>Sets the value of DSA key data.</p>
-<div class="REFSECT3">
-<a name="AEN31357"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN31359"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecOpenSSLKeyDataDsaAdoptDsa.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>data</p></td>
-<td><p>the pointer to DSA key data.</p></td>
-<td> </td>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the pointer to DSA key data.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>dsa</p></td>
-<td><p>the pointer to OpenSSL DSA key.</p></td>
-<td> </td>
+<td class="parameter_name"><p>dsa</p></td>
+<td class="parameter_description"><p>the pointer to OpenSSL DSA key.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN31374"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecOpenSSLKeyDataDsaAdoptDsa.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLKEYDATADSAGETDSA"></a><h3>xmlSecOpenSSLKeyDataDsaGetDsa ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">DSA</span></font> *
-xmlSecOpenSSLKeyDataDsaGetDsa (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecOpenSSLKeyDataDsaGetDsa"></a><h3>xmlSecOpenSSLKeyDataDsaGetDsa ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">DSA</span></font> *
+xmlSecOpenSSLKeyDataDsaGetDsa (<em class="parameter"><code><font><span class="type">xmlSecKeyDataPtr</span></font> data</code></em>);</pre>
<p>Gets the OpenSSL DSA key from DSA key data.</p>
-<div class="REFSECT3">
-<a name="AEN31388"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN31390"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecOpenSSLKeyDataDsaGetDsa.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>data</p></td>
-<td><p>the pointer to DSA key data.</p></td>
-<td> </td>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the pointer to DSA key data.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN31399"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecOpenSSLKeyDataDsaGetDsa.returns"></a><h4>Returns</h4>
<p> pointer to OpenSSL DSA key or NULL if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLKEYDATADSAADOPTEVP"></a><h3>xmlSecOpenSSLKeyDataDsaAdoptEvp ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecOpenSSLKeyDataDsaAdoptEvp (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>,
- <code class="PARAMETER"><font><span class="TYPE">EVP_PKEY</span></font> *pKey</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecOpenSSLKeyDataDsaAdoptEvp"></a><h3>xmlSecOpenSSLKeyDataDsaAdoptEvp ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecOpenSSLKeyDataDsaAdoptEvp (<em class="parameter"><code><font><span class="type">xmlSecKeyDataPtr</span></font> data</code></em>,
+ <em class="parameter"><code><font><span class="type">EVP_PKEY</span></font> *pKey</code></em>);</pre>
<p>Sets the DSA key data value to OpenSSL EVP key.</p>
-<div class="REFSECT3">
-<a name="AEN31416"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN31418"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecOpenSSLKeyDataDsaAdoptEvp.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>data</p></td>
-<td><p>the pointer to DSA key data.</p></td>
-<td> </td>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the pointer to DSA key data.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>pKey</p></td>
-<td><p>the pointer to OpenSSL EVP key.</p></td>
-<td> </td>
+<td class="parameter_name"><p>pKey</p></td>
+<td class="parameter_description"><p>the pointer to OpenSSL EVP key.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN31433"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecOpenSSLKeyDataDsaAdoptEvp.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLKEYDATADSAGETEVP"></a><h3>xmlSecOpenSSLKeyDataDsaGetEvp ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">EVP_PKEY</span></font> *
-xmlSecOpenSSLKeyDataDsaGetEvp (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecOpenSSLKeyDataDsaGetEvp"></a><h3>xmlSecOpenSSLKeyDataDsaGetEvp ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">EVP_PKEY</span></font> *
+xmlSecOpenSSLKeyDataDsaGetEvp (<em class="parameter"><code><font><span class="type">xmlSecKeyDataPtr</span></font> data</code></em>);</pre>
<p>Gets the OpenSSL EVP key from DSA key data.</p>
-<div class="REFSECT3">
-<a name="AEN31447"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN31449"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecOpenSSLKeyDataDsaGetEvp.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>data</p></td>
-<td><p>the pointer to DSA key data.</p></td>
-<td> </td>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the pointer to DSA key data.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN31458"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecOpenSSLKeyDataDsaGetEvp.returns"></a><h4>Returns</h4>
<p> pointer to OpenSSL EVP key or NULL if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLTRANSFORMDSASHA1GETKLASS"></a><h3>xmlSecOpenSSLTransformDsaSha1GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
-xmlSecOpenSSLTransformDsaSha1GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecOpenSSLTransformDsaSha1GetKlass"></a><h3>xmlSecOpenSSLTransformDsaSha1GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
+xmlSecOpenSSLTransformDsaSha1GetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The DSA-SHA1 signature transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN31471"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecOpenSSLTransformDsaSha1GetKlass.returns"></a><h4>Returns</h4>
<p> DSA-SHA1 signature transform klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLTRANSFORMDSASHA256GETKLASS"></a><h3>xmlSecOpenSSLTransformDsaSha256GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
+<div class="refsect2">
+<a name="xmlSecOpenSSLTransformDsaSha256GetKlass"></a><h3>xmlSecOpenSSLTransformDsaSha256GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
xmlSecOpenSSLTransformDsaSha256GetKlass
- (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+ (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The DSA-SHA256 signature transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN31484"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecOpenSSLTransformDsaSha256GetKlass.returns"></a><h4>Returns</h4>
<p> DSA-SHA256 signature transform klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLKEYDATAECDSAGETKLASS"></a><h3>xmlSecOpenSSLKeyDataEcdsaGetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecKeyDataId</span></font>
-xmlSecOpenSSLKeyDataEcdsaGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecOpenSSLKeyDataEcdsaGetKlass"></a><h3>xmlSecOpenSSLKeyDataEcdsaGetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecKeyDataId</span></font>
+xmlSecOpenSSLKeyDataEcdsaGetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The ECDSA key data klass.</p>
-<div class="REFSECT3">
-<a name="AEN31497"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecOpenSSLKeyDataEcdsaGetKlass.returns"></a><h4>Returns</h4>
<p> pointer to ECDSA key data klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLKEYDATAECDSAADOPTECDSA"></a><h3>xmlSecOpenSSLKeyDataEcdsaAdoptEcdsa ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecOpenSSLKeyDataEcdsaAdoptEcdsa (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>,
- <code class="PARAMETER"><font><span class="TYPE">EC_KEY</span></font> *ecdsa</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecOpenSSLKeyDataEcdsaAdoptEcdsa"></a><h3>xmlSecOpenSSLKeyDataEcdsaAdoptEcdsa ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecOpenSSLKeyDataEcdsaAdoptEcdsa (<em class="parameter"><code><font><span class="type">xmlSecKeyDataPtr</span></font> data</code></em>,
+ <em class="parameter"><code><font><span class="type">EC_KEY</span></font> *ecdsa</code></em>);</pre>
<p>Sets the value of ECDSA key data.</p>
-<div class="REFSECT3">
-<a name="AEN31514"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN31516"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecOpenSSLKeyDataEcdsaAdoptEcdsa.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>data</p></td>
-<td><p>the pointer to ECDSA key data.</p></td>
-<td> </td>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the pointer to ECDSA key data.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>ecdsa</p></td>
-<td><p>the pointer to OpenSSL ECDSA key.</p></td>
-<td> </td>
+<td class="parameter_name"><p>ecdsa</p></td>
+<td class="parameter_description"><p>the pointer to OpenSSL ECDSA key.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN31531"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecOpenSSLKeyDataEcdsaAdoptEcdsa.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLKEYDATAECDSAGETECDSA"></a><h3>xmlSecOpenSSLKeyDataEcdsaGetEcdsa ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">EC_KEY</span></font> *
-xmlSecOpenSSLKeyDataEcdsaGetEcdsa (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecOpenSSLKeyDataEcdsaGetEcdsa"></a><h3>xmlSecOpenSSLKeyDataEcdsaGetEcdsa ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">EC_KEY</span></font> *
+xmlSecOpenSSLKeyDataEcdsaGetEcdsa (<em class="parameter"><code><font><span class="type">xmlSecKeyDataPtr</span></font> data</code></em>);</pre>
<p>Gets the OpenSSL ECDSA key from ECDSA key data.</p>
-<div class="REFSECT3">
-<a name="AEN31545"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN31547"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecOpenSSLKeyDataEcdsaGetEcdsa.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>data</p></td>
-<td><p>the pointer to ECDSA key data.</p></td>
-<td> </td>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the pointer to ECDSA key data.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN31556"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecOpenSSLKeyDataEcdsaGetEcdsa.returns"></a><h4>Returns</h4>
<p> pointer to OpenSSL ECDSA key or NULL if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLKEYDATAECDSAADOPTEVP"></a><h3>xmlSecOpenSSLKeyDataEcdsaAdoptEvp ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecOpenSSLKeyDataEcdsaAdoptEvp (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>,
- <code class="PARAMETER"><font><span class="TYPE">EVP_PKEY</span></font> *pKey</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecOpenSSLKeyDataEcdsaAdoptEvp"></a><h3>xmlSecOpenSSLKeyDataEcdsaAdoptEvp ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecOpenSSLKeyDataEcdsaAdoptEvp (<em class="parameter"><code><font><span class="type">xmlSecKeyDataPtr</span></font> data</code></em>,
+ <em class="parameter"><code><font><span class="type">EVP_PKEY</span></font> *pKey</code></em>);</pre>
<p>Sets the ECDSA key data value to OpenSSL EVP key.</p>
-<div class="REFSECT3">
-<a name="AEN31573"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN31575"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecOpenSSLKeyDataEcdsaAdoptEvp.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>data</p></td>
-<td><p>the pointer to ECDSA key data.</p></td>
-<td> </td>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the pointer to ECDSA key data.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>pKey</p></td>
-<td><p>the pointer to OpenSSL EVP key.</p></td>
-<td> </td>
+<td class="parameter_name"><p>pKey</p></td>
+<td class="parameter_description"><p>the pointer to OpenSSL EVP key.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN31590"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecOpenSSLKeyDataEcdsaAdoptEvp.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLKEYDATAECDSAGETEVP"></a><h3>xmlSecOpenSSLKeyDataEcdsaGetEvp ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">EVP_PKEY</span></font> *
-xmlSecOpenSSLKeyDataEcdsaGetEvp (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecOpenSSLKeyDataEcdsaGetEvp"></a><h3>xmlSecOpenSSLKeyDataEcdsaGetEvp ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">EVP_PKEY</span></font> *
+xmlSecOpenSSLKeyDataEcdsaGetEvp (<em class="parameter"><code><font><span class="type">xmlSecKeyDataPtr</span></font> data</code></em>);</pre>
<p>Gets the OpenSSL EVP key from ECDSA key data.</p>
-<div class="REFSECT3">
-<a name="AEN31604"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN31606"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecOpenSSLKeyDataEcdsaGetEvp.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>data</p></td>
-<td><p>the pointer to ECDSA key data.</p></td>
-<td> </td>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the pointer to ECDSA key data.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN31615"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecOpenSSLKeyDataEcdsaGetEvp.returns"></a><h4>Returns</h4>
<p> pointer to OpenSSL EVP key or NULL if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLTRANSFORMECDSASHA1GETKLASS"></a><h3>xmlSecOpenSSLTransformEcdsaSha1GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
+<div class="refsect2">
+<a name="xmlSecOpenSSLTransformEcdsaSha1GetKlass"></a><h3>xmlSecOpenSSLTransformEcdsaSha1GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
xmlSecOpenSSLTransformEcdsaSha1GetKlass
- (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+ (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The ECDSA-SHA1 signature transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN31628"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecOpenSSLTransformEcdsaSha1GetKlass.returns"></a><h4>Returns</h4>
<p> ECDSA-SHA1 signature transform klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLTRANSFORMECDSASHA224GETKLASS"></a><h3>xmlSecOpenSSLTransformEcdsaSha224GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
+<div class="refsect2">
+<a name="xmlSecOpenSSLTransformEcdsaSha224GetKlass"></a><h3>xmlSecOpenSSLTransformEcdsaSha224GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
xmlSecOpenSSLTransformEcdsaSha224GetKlass
- (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+ (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The ECDSA-SHA224 signature transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN31641"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecOpenSSLTransformEcdsaSha224GetKlass.returns"></a><h4>Returns</h4>
<p> ECDSA-SHA224 signature transform klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLTRANSFORMECDSASHA256GETKLASS"></a><h3>xmlSecOpenSSLTransformEcdsaSha256GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
+<div class="refsect2">
+<a name="xmlSecOpenSSLTransformEcdsaSha256GetKlass"></a><h3>xmlSecOpenSSLTransformEcdsaSha256GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
xmlSecOpenSSLTransformEcdsaSha256GetKlass
- (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+ (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The ECDSA-SHA256 signature transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN31654"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecOpenSSLTransformEcdsaSha256GetKlass.returns"></a><h4>Returns</h4>
<p> ECDSA-SHA256 signature transform klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLTRANSFORMECDSASHA384GETKLASS"></a><h3>xmlSecOpenSSLTransformEcdsaSha384GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
+<div class="refsect2">
+<a name="xmlSecOpenSSLTransformEcdsaSha384GetKlass"></a><h3>xmlSecOpenSSLTransformEcdsaSha384GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
xmlSecOpenSSLTransformEcdsaSha384GetKlass
- (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+ (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The ECDSA-SHA384 signature transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN31667"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecOpenSSLTransformEcdsaSha384GetKlass.returns"></a><h4>Returns</h4>
<p> ECDSA-SHA384 signature transform klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLTRANSFORMECDSASHA512GETKLASS"></a><h3>xmlSecOpenSSLTransformEcdsaSha512GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
+<div class="refsect2">
+<a name="xmlSecOpenSSLTransformEcdsaSha512GetKlass"></a><h3>xmlSecOpenSSLTransformEcdsaSha512GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
xmlSecOpenSSLTransformEcdsaSha512GetKlass
- (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+ (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The ECDSA-SHA512 signature transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN31680"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecOpenSSLTransformEcdsaSha512GetKlass.returns"></a><h4>Returns</h4>
<p> ECDSA-SHA512 signature transform klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLKEYDATAGOST2001GETKLASS"></a><h3>xmlSecOpenSSLKeyDataGost2001GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecKeyDataId</span></font>
-xmlSecOpenSSLKeyDataGost2001GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecOpenSSLKeyDataGost2001GetKlass"></a><h3>xmlSecOpenSSLKeyDataGost2001GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecKeyDataId</span></font>
+xmlSecOpenSSLKeyDataGost2001GetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The GOST2001 key data klass.</p>
-<div class="REFSECT3">
-<a name="AEN31693"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecOpenSSLKeyDataGost2001GetKlass.returns"></a><h4>Returns</h4>
<p> pointer to GOST2001 key data klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLTRANSFORMGOST2001GOSTR3411-94GETKLASS"></a><h3>xmlSecOpenSSLTransformGost2001GostR3411_94GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
+<div class="refsect2">
+<a name="xmlSecOpenSSLTransformGost2001GostR3411-94GetKlass"></a><h3>xmlSecOpenSSLTransformGost2001GostR3411_94GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
xmlSecOpenSSLTransformGost2001GostR3411_94GetKlass
- (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+ (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The GOST2001-GOSTR3411_94 signature transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN31706"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecOpenSSLTransformGost2001GostR3411-94GetKlass.returns"></a><h4>Returns</h4>
<p> GOST2001-GOSTR3411_94 signature transform klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLTRANSFORMGOSTR3411-94GETKLASS"></a><h3>xmlSecOpenSSLTransformGostR3411_94GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
+<div class="refsect2">
+<a name="xmlSecOpenSSLTransformGostR3411-94GetKlass"></a><h3>xmlSecOpenSSLTransformGostR3411_94GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
xmlSecOpenSSLTransformGostR3411_94GetKlass
- (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+ (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>GOSTR3411_94 digest transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN31719"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecOpenSSLTransformGostR3411-94GetKlass.returns"></a><h4>Returns</h4>
<p> pointer to GOSTR3411_94 digest transform klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLKEYDATAGOSTR3410-2012-256GETKLASS"></a><h3>xmlSecOpenSSLKeyDataGostR3410_2012_256GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecKeyDataId</span></font>
+<div class="refsect2">
+<a name="xmlSecOpenSSLKeyDataGostR3410-2012-256GetKlass"></a><h3>xmlSecOpenSSLKeyDataGostR3410_2012_256GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecKeyDataId</span></font>
xmlSecOpenSSLKeyDataGostR3410_2012_256GetKlass
- (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+ (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The GOST R 34.10-2012 256 bit key data klass.</p>
-<div class="REFSECT3">
-<a name="AEN31732"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecOpenSSLKeyDataGostR3410-2012-256GetKlass.returns"></a><h4>Returns</h4>
<p> pointer to GOST R 34.10-2012 256 bit key data klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLKEYDATAGOSTR3410-2012-512GETKLASS"></a><h3>xmlSecOpenSSLKeyDataGostR3410_2012_512GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecKeyDataId</span></font>
+<div class="refsect2">
+<a name="xmlSecOpenSSLKeyDataGostR3410-2012-512GetKlass"></a><h3>xmlSecOpenSSLKeyDataGostR3410_2012_512GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecKeyDataId</span></font>
xmlSecOpenSSLKeyDataGostR3410_2012_512GetKlass
- (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+ (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The GOST R 34.10-2012 512 bit key data klass.</p>
-<div class="REFSECT3">
-<a name="AEN31745"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecOpenSSLKeyDataGostR3410-2012-512GetKlass.returns"></a><h4>Returns</h4>
<p> pointer to GOST R 34.10-2012 512 bit key data klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLTRANSFORMGOSTR3410-2012GOSTR3411-2012-256GETKLASS"></a><h3>xmlSecOpenSSLTransformGostR3410_2012GostR3411_2012_256GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
+<div class="refsect2">
+<a name="xmlSecOpenSSLTransformGostR3410-2012GostR3411-2012-256GetKlass"></a><h3>xmlSecOpenSSLTransformGostR3410_2012GostR3411_2012_256GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
xmlSecOpenSSLTransformGostR3410_2012GostR3411_2012_256GetKlass
- (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
-<p></p>
+ (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
+<p>
+</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLTRANSFORMGOSTR3410-2012GOSTR3411-2012-512GETKLASS"></a><h3>xmlSecOpenSSLTransformGostR3410_2012GostR3411_2012_512GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
+<div class="refsect2">
+<a name="xmlSecOpenSSLTransformGostR3410-2012GostR3411-2012-512GetKlass"></a><h3>xmlSecOpenSSLTransformGostR3410_2012GostR3411_2012_512GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
xmlSecOpenSSLTransformGostR3410_2012GostR3411_2012_512GetKlass
- (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
-<p></p>
+ (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
+<p>
+</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLTRANSFORMGOSTR3411-2012-256GETKLASS"></a><h3>xmlSecOpenSSLTransformGostR3411_2012_256GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
+<div class="refsect2">
+<a name="xmlSecOpenSSLTransformGostR3411-2012-256GetKlass"></a><h3>xmlSecOpenSSLTransformGostR3411_2012_256GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
xmlSecOpenSSLTransformGostR3411_2012_256GetKlass
- (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+ (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>GOST R 34.11-2012 256 bit digest transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN31778"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecOpenSSLTransformGostR3411-2012-256GetKlass.returns"></a><h4>Returns</h4>
<p> pointer to GOST R 34.11-2012 256 bit digest transform klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLTRANSFORMGOSTR3411-2012-512GETKLASS"></a><h3>xmlSecOpenSSLTransformGostR3411_2012_512GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
+<div class="refsect2">
+<a name="xmlSecOpenSSLTransformGostR3411-2012-512GetKlass"></a><h3>xmlSecOpenSSLTransformGostR3411_2012_512GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
xmlSecOpenSSLTransformGostR3411_2012_512GetKlass
- (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+ (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>GOST R 34.11-2012 512 bit digest transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN31791"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecOpenSSLTransformGostR3411-2012-512GetKlass.returns"></a><h4>Returns</h4>
<p> pointer to GOST R 34.11-2012 512 bit digest transform klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLHMACGETMINOUTPUTLENGTH"></a><h3>xmlSecOpenSSLHmacGetMinOutputLength ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecOpenSSLHmacGetMinOutputLength (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecOpenSSLHmacGetMinOutputLength"></a><h3>xmlSecOpenSSLHmacGetMinOutputLength ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecOpenSSLHmacGetMinOutputLength (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>Gets the value of min HMAC length.</p>
-<div class="REFSECT3">
-<a name="AEN31804"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecOpenSSLHmacGetMinOutputLength.returns"></a><h4>Returns</h4>
<p> the min HMAC output length</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLHMACSETMINOUTPUTLENGTH"></a><h3>xmlSecOpenSSLHmacSetMinOutputLength ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">void</span></font>
-xmlSecOpenSSLHmacSetMinOutputLength (<code class="PARAMETER"><font><span class="TYPE">int</span></font> min_length</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecOpenSSLHmacSetMinOutputLength"></a><h3>xmlSecOpenSSLHmacSetMinOutputLength ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">void</span></font>
+xmlSecOpenSSLHmacSetMinOutputLength (<em class="parameter"><code><font><span class="type">int</span></font> min_length</code></em>);</pre>
<p>Sets the min HMAC output length</p>
-<div class="REFSECT3">
-<a name="AEN31818"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN31820"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecOpenSSLHmacSetMinOutputLength.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>min_length</p></td>
-<td><p>the new min length</p></td>
-<td> </td>
+<td class="parameter_name"><p>min_length</p></td>
+<td class="parameter_description"><p>the new min length</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLKEYDATAHMACGETKLASS"></a><h3>xmlSecOpenSSLKeyDataHmacGetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecKeyDataId</span></font>
-xmlSecOpenSSLKeyDataHmacGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecOpenSSLKeyDataHmacGetKlass"></a><h3>xmlSecOpenSSLKeyDataHmacGetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecKeyDataId</span></font>
+xmlSecOpenSSLKeyDataHmacGetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The HMAC key data klass.</p>
-<div class="REFSECT3">
-<a name="AEN31839"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecOpenSSLKeyDataHmacGetKlass.returns"></a><h4>Returns</h4>
<p> HMAC key data klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLKEYDATAHMACSET"></a><h3>xmlSecOpenSSLKeyDataHmacSet ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecOpenSSLKeyDataHmacSet (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>,
- <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *buf</code>,
- <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> bufSize</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecOpenSSLKeyDataHmacSet"></a><h3>xmlSecOpenSSLKeyDataHmacSet ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecOpenSSLKeyDataHmacSet (<em class="parameter"><code><font><span class="type">xmlSecKeyDataPtr</span></font> data</code></em>,
+ <em class="parameter"><code>const <a class="link" href="xmlsec-xmlsec.html#xmlSecByte" title="xmlSecByte"><span class="type">xmlSecByte</span></a> *buf</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="type">xmlSecSize</span></a> bufSize</code></em>);</pre>
<p>Sets the value of HMAC key data.</p>
-<div class="REFSECT3">
-<a name="AEN31859"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN31861"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecOpenSSLKeyDataHmacSet.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>data</p></td>
-<td><p>the pointer to HMAC key data.</p></td>
-<td> </td>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the pointer to HMAC key data.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>buf</p></td>
-<td><p>the pointer to key value.</p></td>
-<td> </td>
+<td class="parameter_name"><p>buf</p></td>
+<td class="parameter_description"><p>the pointer to key value.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>bufSize</p></td>
-<td><p>the key value size (in bytes).</p></td>
-<td> </td>
+<td class="parameter_name"><p>bufSize</p></td>
+<td class="parameter_description"><p>the key value size (in bytes).</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN31882"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecOpenSSLKeyDataHmacSet.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLTRANSFORMHMACMD5GETKLASS"></a><h3>xmlSecOpenSSLTransformHmacMd5GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
-xmlSecOpenSSLTransformHmacMd5GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecOpenSSLTransformHmacMd5GetKlass"></a><h3>xmlSecOpenSSLTransformHmacMd5GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
+xmlSecOpenSSLTransformHmacMd5GetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The HMAC-MD5 transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN31895"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecOpenSSLTransformHmacMd5GetKlass.returns"></a><h4>Returns</h4>
<p> the HMAC-MD5 transform klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLTRANSFORMHMACRIPEMD160GETKLASS"></a><h3>xmlSecOpenSSLTransformHmacRipemd160GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
+<div class="refsect2">
+<a name="xmlSecOpenSSLTransformHmacRipemd160GetKlass"></a><h3>xmlSecOpenSSLTransformHmacRipemd160GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
xmlSecOpenSSLTransformHmacRipemd160GetKlass
- (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+ (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The HMAC-RIPEMD160 transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN31908"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecOpenSSLTransformHmacRipemd160GetKlass.returns"></a><h4>Returns</h4>
<p> the HMAC-RIPEMD160 transform klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLTRANSFORMHMACSHA1GETKLASS"></a><h3>xmlSecOpenSSLTransformHmacSha1GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
+<div class="refsect2">
+<a name="xmlSecOpenSSLTransformHmacSha1GetKlass"></a><h3>xmlSecOpenSSLTransformHmacSha1GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
xmlSecOpenSSLTransformHmacSha1GetKlass
- (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+ (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The HMAC-SHA1 transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN31921"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecOpenSSLTransformHmacSha1GetKlass.returns"></a><h4>Returns</h4>
<p> the HMAC-SHA1 transform klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLTRANSFORMHMACSHA224GETKLASS"></a><h3>xmlSecOpenSSLTransformHmacSha224GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
+<div class="refsect2">
+<a name="xmlSecOpenSSLTransformHmacSha224GetKlass"></a><h3>xmlSecOpenSSLTransformHmacSha224GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
xmlSecOpenSSLTransformHmacSha224GetKlass
- (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+ (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The HMAC-SHA224 transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN31934"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecOpenSSLTransformHmacSha224GetKlass.returns"></a><h4>Returns</h4>
<p> the HMAC-SHA224 transform klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLTRANSFORMHMACSHA256GETKLASS"></a><h3>xmlSecOpenSSLTransformHmacSha256GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
+<div class="refsect2">
+<a name="xmlSecOpenSSLTransformHmacSha256GetKlass"></a><h3>xmlSecOpenSSLTransformHmacSha256GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
xmlSecOpenSSLTransformHmacSha256GetKlass
- (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+ (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The HMAC-SHA256 transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN31947"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecOpenSSLTransformHmacSha256GetKlass.returns"></a><h4>Returns</h4>
<p> the HMAC-SHA256 transform klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLTRANSFORMHMACSHA384GETKLASS"></a><h3>xmlSecOpenSSLTransformHmacSha384GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
+<div class="refsect2">
+<a name="xmlSecOpenSSLTransformHmacSha384GetKlass"></a><h3>xmlSecOpenSSLTransformHmacSha384GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
xmlSecOpenSSLTransformHmacSha384GetKlass
- (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+ (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The HMAC-SHA384 transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN31960"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecOpenSSLTransformHmacSha384GetKlass.returns"></a><h4>Returns</h4>
<p> the HMAC-SHA384 transform klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLTRANSFORMHMACSHA512GETKLASS"></a><h3>xmlSecOpenSSLTransformHmacSha512GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
+<div class="refsect2">
+<a name="xmlSecOpenSSLTransformHmacSha512GetKlass"></a><h3>xmlSecOpenSSLTransformHmacSha512GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
xmlSecOpenSSLTransformHmacSha512GetKlass
- (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+ (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The HMAC-SHA512 transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN31973"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecOpenSSLTransformHmacSha512GetKlass.returns"></a><h4>Returns</h4>
<p> the HMAC-SHA512 transform klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLTRANSFORMMD5GETKLASS"></a><h3>xmlSecOpenSSLTransformMd5GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
-xmlSecOpenSSLTransformMd5GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecOpenSSLTransformMd5GetKlass"></a><h3>xmlSecOpenSSLTransformMd5GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
+xmlSecOpenSSLTransformMd5GetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>MD5 digest transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN31986"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecOpenSSLTransformMd5GetKlass.returns"></a><h4>Returns</h4>
<p> pointer to MD5 digest transform klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLTRANSFORMRIPEMD160GETKLASS"></a><h3>xmlSecOpenSSLTransformRipemd160GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
+<div class="refsect2">
+<a name="xmlSecOpenSSLTransformRipemd160GetKlass"></a><h3>xmlSecOpenSSLTransformRipemd160GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
xmlSecOpenSSLTransformRipemd160GetKlass
- (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+ (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>RIPEMD-160 digest transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN31999"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecOpenSSLTransformRipemd160GetKlass.returns"></a><h4>Returns</h4>
<p> pointer to RIPEMD-160 digest transform klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLKEYDATARSAGETKLASS"></a><h3>xmlSecOpenSSLKeyDataRsaGetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecKeyDataId</span></font>
-xmlSecOpenSSLKeyDataRsaGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecOpenSSLKeyDataRsaGetKlass"></a><h3>xmlSecOpenSSLKeyDataRsaGetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecKeyDataId</span></font>
+xmlSecOpenSSLKeyDataRsaGetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The OpenSSL RSA key data klass.</p>
-<div class="REFSECT3">
-<a name="AEN32012"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecOpenSSLKeyDataRsaGetKlass.returns"></a><h4>Returns</h4>
<p> pointer to OpenSSL RSA key data klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLKEYDATARSAADOPTRSA"></a><h3>xmlSecOpenSSLKeyDataRsaAdoptRsa ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecOpenSSLKeyDataRsaAdoptRsa (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>,
- <code class="PARAMETER"><font><span class="TYPE">RSA</span></font> *rsa</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecOpenSSLKeyDataRsaAdoptRsa"></a><h3>xmlSecOpenSSLKeyDataRsaAdoptRsa ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecOpenSSLKeyDataRsaAdoptRsa (<em class="parameter"><code><font><span class="type">xmlSecKeyDataPtr</span></font> data</code></em>,
+ <em class="parameter"><code><font><span class="type">RSA</span></font> *rsa</code></em>);</pre>
<p>Sets the value of RSA key data.</p>
-<div class="REFSECT3">
-<a name="AEN32029"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN32031"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecOpenSSLKeyDataRsaAdoptRsa.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>data</p></td>
-<td><p>the pointer to RSA key data.</p></td>
-<td> </td>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the pointer to RSA key data.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>rsa</p></td>
-<td><p>the pointer to OpenSSL RSA key.</p></td>
-<td> </td>
+<td class="parameter_name"><p>rsa</p></td>
+<td class="parameter_description"><p>the pointer to OpenSSL RSA key.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN32046"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecOpenSSLKeyDataRsaAdoptRsa.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLKEYDATARSAGETRSA"></a><h3>xmlSecOpenSSLKeyDataRsaGetRsa ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">RSA</span></font> *
-xmlSecOpenSSLKeyDataRsaGetRsa (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecOpenSSLKeyDataRsaGetRsa"></a><h3>xmlSecOpenSSLKeyDataRsaGetRsa ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">RSA</span></font> *
+xmlSecOpenSSLKeyDataRsaGetRsa (<em class="parameter"><code><font><span class="type">xmlSecKeyDataPtr</span></font> data</code></em>);</pre>
<p>Gets the OpenSSL RSA key from RSA key data.</p>
-<div class="REFSECT3">
-<a name="AEN32060"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN32062"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecOpenSSLKeyDataRsaGetRsa.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>data</p></td>
-<td><p>the pointer to RSA key data.</p></td>
-<td> </td>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the pointer to RSA key data.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN32071"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecOpenSSLKeyDataRsaGetRsa.returns"></a><h4>Returns</h4>
<p> pointer to OpenSSL RSA key or NULL if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLKEYDATARSAADOPTEVP"></a><h3>xmlSecOpenSSLKeyDataRsaAdoptEvp ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecOpenSSLKeyDataRsaAdoptEvp (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>,
- <code class="PARAMETER"><font><span class="TYPE">EVP_PKEY</span></font> *pKey</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecOpenSSLKeyDataRsaAdoptEvp"></a><h3>xmlSecOpenSSLKeyDataRsaAdoptEvp ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecOpenSSLKeyDataRsaAdoptEvp (<em class="parameter"><code><font><span class="type">xmlSecKeyDataPtr</span></font> data</code></em>,
+ <em class="parameter"><code><font><span class="type">EVP_PKEY</span></font> *pKey</code></em>);</pre>
<p>Sets the RSA key data value to OpenSSL EVP key.</p>
-<div class="REFSECT3">
-<a name="AEN32088"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN32090"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecOpenSSLKeyDataRsaAdoptEvp.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>data</p></td>
-<td><p>the pointer to RSA key data.</p></td>
-<td> </td>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the pointer to RSA key data.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>pKey</p></td>
-<td><p>the pointer to OpenSSL EVP key.</p></td>
-<td> </td>
+<td class="parameter_name"><p>pKey</p></td>
+<td class="parameter_description"><p>the pointer to OpenSSL EVP key.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN32105"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecOpenSSLKeyDataRsaAdoptEvp.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLKEYDATARSAGETEVP"></a><h3>xmlSecOpenSSLKeyDataRsaGetEvp ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">EVP_PKEY</span></font> *
-xmlSecOpenSSLKeyDataRsaGetEvp (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecOpenSSLKeyDataRsaGetEvp"></a><h3>xmlSecOpenSSLKeyDataRsaGetEvp ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">EVP_PKEY</span></font> *
+xmlSecOpenSSLKeyDataRsaGetEvp (<em class="parameter"><code><font><span class="type">xmlSecKeyDataPtr</span></font> data</code></em>);</pre>
<p>Gets the OpenSSL EVP key from RSA key data.</p>
-<div class="REFSECT3">
-<a name="AEN32119"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN32121"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecOpenSSLKeyDataRsaGetEvp.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>data</p></td>
-<td><p>the pointer to RSA key data.</p></td>
-<td> </td>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the pointer to RSA key data.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN32130"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecOpenSSLKeyDataRsaGetEvp.returns"></a><h4>Returns</h4>
<p> pointer to OpenSSL EVP key or NULL if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLTRANSFORMRSAMD5GETKLASS"></a><h3>xmlSecOpenSSLTransformRsaMd5GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
-xmlSecOpenSSLTransformRsaMd5GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecOpenSSLTransformRsaMd5GetKlass"></a><h3>xmlSecOpenSSLTransformRsaMd5GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
+xmlSecOpenSSLTransformRsaMd5GetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The RSA-MD5 signature transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN32143"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecOpenSSLTransformRsaMd5GetKlass.returns"></a><h4>Returns</h4>
<p> RSA-MD5 signature transform klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLTRANSFORMRSARIPEMD160GETKLASS"></a><h3>xmlSecOpenSSLTransformRsaRipemd160GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
+<div class="refsect2">
+<a name="xmlSecOpenSSLTransformRsaRipemd160GetKlass"></a><h3>xmlSecOpenSSLTransformRsaRipemd160GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
xmlSecOpenSSLTransformRsaRipemd160GetKlass
- (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+ (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The RSA-RIPEMD160 signature transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN32156"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecOpenSSLTransformRsaRipemd160GetKlass.returns"></a><h4>Returns</h4>
<p> RSA-RIPEMD160 signature transform klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLTRANSFORMRSASHA1GETKLASS"></a><h3>xmlSecOpenSSLTransformRsaSha1GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
-xmlSecOpenSSLTransformRsaSha1GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecOpenSSLTransformRsaSha1GetKlass"></a><h3>xmlSecOpenSSLTransformRsaSha1GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
+xmlSecOpenSSLTransformRsaSha1GetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The RSA-SHA1 signature transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN32169"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecOpenSSLTransformRsaSha1GetKlass.returns"></a><h4>Returns</h4>
<p> RSA-SHA1 signature transform klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLTRANSFORMRSASHA224GETKLASS"></a><h3>xmlSecOpenSSLTransformRsaSha224GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
+<div class="refsect2">
+<a name="xmlSecOpenSSLTransformRsaSha224GetKlass"></a><h3>xmlSecOpenSSLTransformRsaSha224GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
xmlSecOpenSSLTransformRsaSha224GetKlass
- (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+ (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The RSA-SHA224 signature transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN32182"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecOpenSSLTransformRsaSha224GetKlass.returns"></a><h4>Returns</h4>
<p> RSA-SHA224 signature transform klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLTRANSFORMRSASHA256GETKLASS"></a><h3>xmlSecOpenSSLTransformRsaSha256GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
+<div class="refsect2">
+<a name="xmlSecOpenSSLTransformRsaSha256GetKlass"></a><h3>xmlSecOpenSSLTransformRsaSha256GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
xmlSecOpenSSLTransformRsaSha256GetKlass
- (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+ (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The RSA-SHA256 signature transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN32195"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecOpenSSLTransformRsaSha256GetKlass.returns"></a><h4>Returns</h4>
<p> RSA-SHA256 signature transform klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLTRANSFORMRSASHA384GETKLASS"></a><h3>xmlSecOpenSSLTransformRsaSha384GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
+<div class="refsect2">
+<a name="xmlSecOpenSSLTransformRsaSha384GetKlass"></a><h3>xmlSecOpenSSLTransformRsaSha384GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
xmlSecOpenSSLTransformRsaSha384GetKlass
- (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+ (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The RSA-SHA384 signature transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN32208"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecOpenSSLTransformRsaSha384GetKlass.returns"></a><h4>Returns</h4>
<p> RSA-SHA384 signature transform klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLTRANSFORMRSASHA512GETKLASS"></a><h3>xmlSecOpenSSLTransformRsaSha512GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
+<div class="refsect2">
+<a name="xmlSecOpenSSLTransformRsaSha512GetKlass"></a><h3>xmlSecOpenSSLTransformRsaSha512GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
xmlSecOpenSSLTransformRsaSha512GetKlass
- (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+ (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The RSA-SHA512 signature transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN32221"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecOpenSSLTransformRsaSha512GetKlass.returns"></a><h4>Returns</h4>
<p> RSA-SHA512 signature transform klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLTRANSFORMRSAPKCS1GETKLASS"></a><h3>xmlSecOpenSSLTransformRsaPkcs1GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
+<div class="refsect2">
+<a name="xmlSecOpenSSLTransformRsaPkcs1GetKlass"></a><h3>xmlSecOpenSSLTransformRsaPkcs1GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
xmlSecOpenSSLTransformRsaPkcs1GetKlass
- (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+ (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The RSA-PKCS1 key transport transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN32234"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecOpenSSLTransformRsaPkcs1GetKlass.returns"></a><h4>Returns</h4>
<p> RSA-PKCS1 key transport transform klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLTRANSFORMRSAOAEPGETKLASS"></a><h3>xmlSecOpenSSLTransformRsaOaepGetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
-xmlSecOpenSSLTransformRsaOaepGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecOpenSSLTransformRsaOaepGetKlass"></a><h3>xmlSecOpenSSLTransformRsaOaepGetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
+xmlSecOpenSSLTransformRsaOaepGetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The RSA-OAEP key transport transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN32247"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecOpenSSLTransformRsaOaepGetKlass.returns"></a><h4>Returns</h4>
<p> RSA-OAEP key transport transform klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLTRANSFORMSHA1GETKLASS"></a><h3>xmlSecOpenSSLTransformSha1GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
-xmlSecOpenSSLTransformSha1GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecOpenSSLTransformSha1GetKlass"></a><h3>xmlSecOpenSSLTransformSha1GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
+xmlSecOpenSSLTransformSha1GetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>SHA-1 digest transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN32260"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecOpenSSLTransformSha1GetKlass.returns"></a><h4>Returns</h4>
<p> pointer to SHA-1 digest transform klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLTRANSFORMSHA224GETKLASS"></a><h3>xmlSecOpenSSLTransformSha224GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
-xmlSecOpenSSLTransformSha224GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecOpenSSLTransformSha224GetKlass"></a><h3>xmlSecOpenSSLTransformSha224GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
+xmlSecOpenSSLTransformSha224GetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>SHA-224 digest transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN32273"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecOpenSSLTransformSha224GetKlass.returns"></a><h4>Returns</h4>
<p> pointer to SHA-224 digest transform klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLTRANSFORMSHA256GETKLASS"></a><h3>xmlSecOpenSSLTransformSha256GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
-xmlSecOpenSSLTransformSha256GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecOpenSSLTransformSha256GetKlass"></a><h3>xmlSecOpenSSLTransformSha256GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
+xmlSecOpenSSLTransformSha256GetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>SHA-256 digest transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN32286"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecOpenSSLTransformSha256GetKlass.returns"></a><h4>Returns</h4>
<p> pointer to SHA-256 digest transform klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLTRANSFORMSHA384GETKLASS"></a><h3>xmlSecOpenSSLTransformSha384GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
-xmlSecOpenSSLTransformSha384GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecOpenSSLTransformSha384GetKlass"></a><h3>xmlSecOpenSSLTransformSha384GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
+xmlSecOpenSSLTransformSha384GetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>SHA-384 digest transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN32299"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecOpenSSLTransformSha384GetKlass.returns"></a><h4>Returns</h4>
<p> pointer to SHA-384 digest transform klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLTRANSFORMSHA512GETKLASS"></a><h3>xmlSecOpenSSLTransformSha512GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
-xmlSecOpenSSLTransformSha512GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecOpenSSLTransformSha512GetKlass"></a><h3>xmlSecOpenSSLTransformSha512GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
+xmlSecOpenSSLTransformSha512GetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>SHA-512 digest transform klass.</p>
-<div class="REFSECT3">
-<a name="AEN32312"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecOpenSSLTransformSha512GetKlass.returns"></a><h4>Returns</h4>
<p> pointer to SHA-512 digest transform klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSEC-OPENSSL-ERRORS-LIB:CAPS"></a><h3>XMLSEC_OPENSSL_ERRORS_LIB</h3>
-<pre class="PROGRAMLISTING">#define XMLSEC_OPENSSL_ERRORS_LIB (ERR_LIB_USER + 57)</pre>
-<p>Macro. The XMLSec library klass for OpenSSL errors reporting functions.</p>
-</div>
-<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLERRORSDEFAULTCALLBACK"></a><h3>xmlSecOpenSSLErrorsDefaultCallback ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">void</span></font>
-xmlSecOpenSSLErrorsDefaultCallback (<code class="PARAMETER">const <font><span class="TYPE">char</span></font> *file</code>,
- <code class="PARAMETER"><font><span class="TYPE">int</span></font> line</code>,
- <code class="PARAMETER">const <font><span class="TYPE">char</span></font> *func</code>,
- <code class="PARAMETER">const <font><span class="TYPE">char</span></font> *errorObject</code>,
- <code class="PARAMETER">const <font><span class="TYPE">char</span></font> *errorSubject</code>,
- <code class="PARAMETER"><font><span class="TYPE">int</span></font> reason</code>,
- <code class="PARAMETER">const <font><span class="TYPE">char</span></font> *msg</code>);</pre>
-<p>The default OpenSSL errors reporting callback function.</p>
-<div class="REFSECT3">
-<a name="AEN32350"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN32352"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect2">
+<a name="xmlSecOpenSSLErrorsDefaultCallback"></a><h3>xmlSecOpenSSLErrorsDefaultCallback ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">void</span></font>
+xmlSecOpenSSLErrorsDefaultCallback (<em class="parameter"><code>const <font><span class="type">char</span></font> *file</code></em>,
+ <em class="parameter"><code><font><span class="type">int</span></font> line</code></em>,
+ <em class="parameter"><code>const <font><span class="type">char</span></font> *func</code></em>,
+ <em class="parameter"><code>const <font><span class="type">char</span></font> *errorObject</code></em>,
+ <em class="parameter"><code>const <font><span class="type">char</span></font> *errorSubject</code></em>,
+ <em class="parameter"><code><font><span class="type">int</span></font> reason</code></em>,
+ <em class="parameter"><code>const <font><span class="type">char</span></font> *msg</code></em>);</pre>
+<p>The errors reporting callback function.</p>
+<div class="refsect3">
+<a name="xmlSecOpenSSLErrorsDefaultCallback.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>file</p></td>
-<td><p>the error location file name (__FILE__ macro).</p></td>
-<td> </td>
+<td class="parameter_name"><p>file</p></td>
+<td class="parameter_description"><p>the error location file name (__FILE__ macro).</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>line</p></td>
-<td><p>the error location line number (__LINE__ macro).</p></td>
-<td> </td>
+<td class="parameter_name"><p>line</p></td>
+<td class="parameter_description"><p>the error location line number (__LINE__ macro).</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>func</p></td>
-<td><p>the error location function name (__FUNCTION__ macro).</p></td>
-<td> </td>
+<td class="parameter_name"><p>func</p></td>
+<td class="parameter_description"><p>the error location function name (__FUNCTION__ macro).</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>errorObject</p></td>
-<td><p>the error specific error object</p></td>
-<td> </td>
+<td class="parameter_name"><p>errorObject</p></td>
+<td class="parameter_description"><p>the error specific error object</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>errorSubject</p></td>
-<td><p>the error specific error subject.</p></td>
-<td> </td>
+<td class="parameter_name"><p>errorSubject</p></td>
+<td class="parameter_description"><p>the error specific error subject.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>reason</p></td>
-<td><p>the error code.</p></td>
-<td> </td>
+<td class="parameter_name"><p>reason</p></td>
+<td class="parameter_description"><p>the error code.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>msg</p></td>
-<td><p>the additional error message.</p></td>
-<td> </td>
+<td class="parameter_name"><p>msg</p></td>
+<td class="parameter_description"><p>the additional error message.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="xmlsec-openssl-crypto.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="XMLSEC-OPENSSL-API-100:CAPS"></a><h3>XMLSEC_OPENSSL_API_100</h3>
+<pre class="programlisting">#define XMLSEC_OPENSSL_API_100 1
+</pre>
+<p>
+</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="XMLSEC-OPENSSL-API-110:CAPS"></a><h3>XMLSEC_OPENSSL_API_110</h3>
+<pre class="programlisting">#define XMLSEC_OPENSSL_API_110 1
+</pre>
+<p>
+</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="XMLSEC-OPENSSL-API-098:CAPS"></a><h3>XMLSEC_OPENSSL_API_098</h3>
+<pre class="programlisting">#define XMLSEC_OPENSSL_API_098 1
+</pre>
+<p>
+</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="XMLSEC-NO-ECDSA:CAPS"></a><h3>XMLSEC_NO_ECDSA</h3>
+<pre class="programlisting">#define XMLSEC_NO_ECDSA 1
+</pre>
+<p>
+</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="XMLSEC-NO-SHA224:CAPS"></a><h3>XMLSEC_NO_SHA224</h3>
+<pre class="programlisting">#define XMLSEC_NO_SHA224 1
+</pre>
+<p>
+</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="XMLSEC-NO-SHA256:CAPS"></a><h3>XMLSEC_NO_SHA256</h3>
+<pre class="programlisting">#define XMLSEC_NO_SHA256 1
+</pre>
+<p>
+</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="XMLSEC-NO-SHA384:CAPS"></a><h3>XMLSEC_NO_SHA384</h3>
+<pre class="programlisting">#define XMLSEC_NO_SHA384 1
+</pre>
+<p>
+</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="XMLSEC-NO-SHA512:CAPS"></a><h3>XMLSEC_NO_SHA512</h3>
+<pre class="programlisting">#define XMLSEC_NO_SHA512 1
+</pre>
+<p>
+</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="XMLSEC-NO-AES:CAPS"></a><h3>XMLSEC_NO_AES</h3>
+<pre class="programlisting">#define XMLSEC_NO_AES 1
+</pre>
+<p>
+</p>
</div>
+<hr>
+<div class="refsect2">
+<a name="XMLSEC-NO-DES:CAPS"></a><h3>XMLSEC_NO_DES</h3>
+<pre class="programlisting">#define XMLSEC_NO_DES 1
+</pre>
+<p>
+</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="XMLSEC-NO-DSA:CAPS"></a><h3>XMLSEC_NO_DSA</h3>
+<pre class="programlisting">#define XMLSEC_NO_DSA 1
+</pre>
+<p>
+</p>
</div>
+<hr>
+<div class="refsect2">
+<a name="XMLSEC-NO-GOST:CAPS"></a><h3>XMLSEC_NO_GOST</h3>
+<pre class="programlisting">#define XMLSEC_NO_GOST 1
+</pre>
+<p>
+</p>
</div>
+<hr>
+<div class="refsect2">
+<a name="XMLSEC-NO-GOST2012:CAPS"></a><h3>XMLSEC_NO_GOST2012</h3>
+<pre class="programlisting">#define XMLSEC_NO_GOST2012 1
+</pre>
+<p>
+</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="XMLSEC-NO-HMAC:CAPS"></a><h3>XMLSEC_NO_HMAC</h3>
+<pre class="programlisting">#define XMLSEC_NO_HMAC 1
+</pre>
+<p>
+</p>
</div>
-<div class="REFSECT1">
-<a name="XMLSEC-OPENSSL-CRYPTO.OTHER_DETAILS"></a><h2>Types and Values</h2>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLKEYDATAAESID"></a><h3>xmlSecOpenSSLKeyDataAesId</h3>
-<pre class="PROGRAMLISTING">#define xmlSecOpenSSLKeyDataAesId</pre>
+<hr>
+<div class="refsect2">
+<a name="XMLSEC-NO-MD5:CAPS"></a><h3>XMLSEC_NO_MD5</h3>
+<pre class="programlisting">#define XMLSEC_NO_MD5 1
+</pre>
+<p>
+</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="XMLSEC-NO-RIPEMD160:CAPS"></a><h3>XMLSEC_NO_RIPEMD160</h3>
+<pre class="programlisting">#define XMLSEC_NO_RIPEMD160 1
+</pre>
+<p>
+</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="XMLSEC-NO-RSA:CAPS"></a><h3>XMLSEC_NO_RSA</h3>
+<pre class="programlisting">#define XMLSEC_NO_RSA 1
+</pre>
+<p>
+</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="XMLSEC-NO-SHA1:CAPS"></a><h3>XMLSEC_NO_SHA1</h3>
+<pre class="programlisting">#define XMLSEC_NO_SHA1 1
+</pre>
+<p>
+</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="XMLSEC-NO-X509:CAPS"></a><h3>XMLSEC_NO_X509</h3>
+<pre class="programlisting">#define XMLSEC_NO_X509 1
+</pre>
+<p>
+</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="xmlSecOpenSSLKeyDataAesId"></a><h3>xmlSecOpenSSLKeyDataAesId</h3>
+<pre class="programlisting">#define xmlSecOpenSSLKeyDataAesId</pre>
<p>The AES key klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLTRANSFORMAES128CBCID"></a><h3>xmlSecOpenSSLTransformAes128CbcId</h3>
-<pre class="PROGRAMLISTING">#define xmlSecOpenSSLTransformAes128CbcId</pre>
+<div class="refsect2">
+<a name="xmlSecOpenSSLTransformAes128CbcId"></a><h3>xmlSecOpenSSLTransformAes128CbcId</h3>
+<pre class="programlisting">#define xmlSecOpenSSLTransformAes128CbcId</pre>
<p>The AES128 CBC cipher transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLTRANSFORMAES192CBCID"></a><h3>xmlSecOpenSSLTransformAes192CbcId</h3>
-<pre class="PROGRAMLISTING">#define xmlSecOpenSSLTransformAes192CbcId</pre>
+<div class="refsect2">
+<a name="xmlSecOpenSSLTransformAes192CbcId"></a><h3>xmlSecOpenSSLTransformAes192CbcId</h3>
+<pre class="programlisting">#define xmlSecOpenSSLTransformAes192CbcId</pre>
<p>The AES192 CBC cipher transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLTRANSFORMAES256CBCID"></a><h3>xmlSecOpenSSLTransformAes256CbcId</h3>
-<pre class="PROGRAMLISTING">#define xmlSecOpenSSLTransformAes256CbcId</pre>
+<div class="refsect2">
+<a name="xmlSecOpenSSLTransformAes256CbcId"></a><h3>xmlSecOpenSSLTransformAes256CbcId</h3>
+<pre class="programlisting">#define xmlSecOpenSSLTransformAes256CbcId</pre>
<p>The AES256 CBC cipher transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLTRANSFORMKWAES128ID"></a><h3>xmlSecOpenSSLTransformKWAes128Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecOpenSSLTransformKWAes128Id</pre>
+<div class="refsect2">
+<a name="xmlSecOpenSSLTransformKWAes128Id"></a><h3>xmlSecOpenSSLTransformKWAes128Id</h3>
+<pre class="programlisting">#define xmlSecOpenSSLTransformKWAes128Id</pre>
<p>The AES 128 key wrap transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLTRANSFORMKWAES192ID"></a><h3>xmlSecOpenSSLTransformKWAes192Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecOpenSSLTransformKWAes192Id</pre>
+<div class="refsect2">
+<a name="xmlSecOpenSSLTransformKWAes192Id"></a><h3>xmlSecOpenSSLTransformKWAes192Id</h3>
+<pre class="programlisting">#define xmlSecOpenSSLTransformKWAes192Id</pre>
<p>The AES 192 key wrap transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLTRANSFORMKWAES256ID"></a><h3>xmlSecOpenSSLTransformKWAes256Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecOpenSSLTransformKWAes256Id</pre>
+<div class="refsect2">
+<a name="xmlSecOpenSSLTransformKWAes256Id"></a><h3>xmlSecOpenSSLTransformKWAes256Id</h3>
+<pre class="programlisting">#define xmlSecOpenSSLTransformKWAes256Id</pre>
<p>The AES 256 key wrap transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLKEYDATADESID"></a><h3>xmlSecOpenSSLKeyDataDesId</h3>
-<pre class="PROGRAMLISTING">#define xmlSecOpenSSLKeyDataDesId</pre>
+<div class="refsect2">
+<a name="xmlSecOpenSSLKeyDataDesId"></a><h3>xmlSecOpenSSLKeyDataDesId</h3>
+<pre class="programlisting">#define xmlSecOpenSSLKeyDataDesId</pre>
<p>The DES key klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLTRANSFORMDES3CBCID"></a><h3>xmlSecOpenSSLTransformDes3CbcId</h3>
-<pre class="PROGRAMLISTING">#define xmlSecOpenSSLTransformDes3CbcId</pre>
+<div class="refsect2">
+<a name="xmlSecOpenSSLTransformDes3CbcId"></a><h3>xmlSecOpenSSLTransformDes3CbcId</h3>
+<pre class="programlisting">#define xmlSecOpenSSLTransformDes3CbcId</pre>
<p>The DES3 CBC cipher transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLTRANSFORMKWDES3ID"></a><h3>xmlSecOpenSSLTransformKWDes3Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecOpenSSLTransformKWDes3Id</pre>
+<div class="refsect2">
+<a name="xmlSecOpenSSLTransformKWDes3Id"></a><h3>xmlSecOpenSSLTransformKWDes3Id</h3>
+<pre class="programlisting">#define xmlSecOpenSSLTransformKWDes3Id</pre>
<p>The DES3 KW transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLKEYDATADSAID"></a><h3>xmlSecOpenSSLKeyDataDsaId</h3>
-<pre class="PROGRAMLISTING">#define xmlSecOpenSSLKeyDataDsaId</pre>
+<div class="refsect2">
+<a name="xmlSecOpenSSLKeyDataDsaId"></a><h3>xmlSecOpenSSLKeyDataDsaId</h3>
+<pre class="programlisting">#define xmlSecOpenSSLKeyDataDsaId</pre>
<p>The DSA key klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLTRANSFORMDSASHA1ID"></a><h3>xmlSecOpenSSLTransformDsaSha1Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecOpenSSLTransformDsaSha1Id</pre>
+<div class="refsect2">
+<a name="xmlSecOpenSSLTransformDsaSha1Id"></a><h3>xmlSecOpenSSLTransformDsaSha1Id</h3>
+<pre class="programlisting">#define xmlSecOpenSSLTransformDsaSha1Id</pre>
<p>The DSA SHA1 signature transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLTRANSFORMDSASHA256ID"></a><h3>xmlSecOpenSSLTransformDsaSha256Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecOpenSSLTransformDsaSha256Id</pre>
+<div class="refsect2">
+<a name="xmlSecOpenSSLTransformDsaSha256Id"></a><h3>xmlSecOpenSSLTransformDsaSha256Id</h3>
+<pre class="programlisting">#define xmlSecOpenSSLTransformDsaSha256Id</pre>
<p>The DSA SHA256 signature transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLKEYDATAECDSAID"></a><h3>xmlSecOpenSSLKeyDataEcdsaId</h3>
-<pre class="PROGRAMLISTING">#define xmlSecOpenSSLKeyDataEcdsaId</pre>
+<div class="refsect2">
+<a name="xmlSecOpenSSLKeyDataEcdsaId"></a><h3>xmlSecOpenSSLKeyDataEcdsaId</h3>
+<pre class="programlisting">#define xmlSecOpenSSLKeyDataEcdsaId</pre>
<p>The ECDSA key klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLTRANSFORMECDSASHA1ID"></a><h3>xmlSecOpenSSLTransformEcdsaSha1Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecOpenSSLTransformEcdsaSha1Id</pre>
+<div class="refsect2">
+<a name="xmlSecOpenSSLTransformEcdsaSha1Id"></a><h3>xmlSecOpenSSLTransformEcdsaSha1Id</h3>
+<pre class="programlisting">#define xmlSecOpenSSLTransformEcdsaSha1Id</pre>
<p>The ECDSA-SHA1 signature transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLTRANSFORMECDSASHA224ID"></a><h3>xmlSecOpenSSLTransformEcdsaSha224Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecOpenSSLTransformEcdsaSha224Id</pre>
+<div class="refsect2">
+<a name="xmlSecOpenSSLTransformEcdsaSha224Id"></a><h3>xmlSecOpenSSLTransformEcdsaSha224Id</h3>
+<pre class="programlisting">#define xmlSecOpenSSLTransformEcdsaSha224Id</pre>
<p>The ECDSA-SHA224 signature transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLTRANSFORMECDSASHA256ID"></a><h3>xmlSecOpenSSLTransformEcdsaSha256Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecOpenSSLTransformEcdsaSha256Id</pre>
+<div class="refsect2">
+<a name="xmlSecOpenSSLTransformEcdsaSha256Id"></a><h3>xmlSecOpenSSLTransformEcdsaSha256Id</h3>
+<pre class="programlisting">#define xmlSecOpenSSLTransformEcdsaSha256Id</pre>
<p>The ECDSA-SHA256 signature transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLTRANSFORMECDSASHA384ID"></a><h3>xmlSecOpenSSLTransformEcdsaSha384Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecOpenSSLTransformEcdsaSha384Id</pre>
+<div class="refsect2">
+<a name="xmlSecOpenSSLTransformEcdsaSha384Id"></a><h3>xmlSecOpenSSLTransformEcdsaSha384Id</h3>
+<pre class="programlisting">#define xmlSecOpenSSLTransformEcdsaSha384Id</pre>
<p>The ECDSA-SHA384 signature transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLTRANSFORMECDSASHA512ID"></a><h3>xmlSecOpenSSLTransformEcdsaSha512Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecOpenSSLTransformEcdsaSha512Id</pre>
+<div class="refsect2">
+<a name="xmlSecOpenSSLTransformEcdsaSha512Id"></a><h3>xmlSecOpenSSLTransformEcdsaSha512Id</h3>
+<pre class="programlisting">#define xmlSecOpenSSLTransformEcdsaSha512Id</pre>
<p>The ECDSA-SHA512 signature transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLKEYDATAGOST2001ID"></a><h3>xmlSecOpenSSLKeyDataGost2001Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecOpenSSLKeyDataGost2001Id</pre>
+<div class="refsect2">
+<a name="xmlSecOpenSSLKeyDataGost2001Id"></a><h3>xmlSecOpenSSLKeyDataGost2001Id</h3>
+<pre class="programlisting">#define xmlSecOpenSSLKeyDataGost2001Id</pre>
<p>The GOST2001 key klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLTRANSFORMGOST2001GOSTR3411-94ID"></a><h3>xmlSecOpenSSLTransformGost2001GostR3411_94Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecOpenSSLTransformGost2001GostR3411_94Id</pre>
+<div class="refsect2">
+<a name="xmlSecOpenSSLTransformGost2001GostR3411-94Id"></a><h3>xmlSecOpenSSLTransformGost2001GostR3411_94Id</h3>
+<pre class="programlisting">#define xmlSecOpenSSLTransformGost2001GostR3411_94Id</pre>
<p>The GOST2001 GOSTR3411_94 signature transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLTRANSFORMGOSTR3411-94ID"></a><h3>xmlSecOpenSSLTransformGostR3411_94Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecOpenSSLTransformGostR3411_94Id</pre>
+<div class="refsect2">
+<a name="xmlSecOpenSSLTransformGostR3411-94Id"></a><h3>xmlSecOpenSSLTransformGostR3411_94Id</h3>
+<pre class="programlisting">#define xmlSecOpenSSLTransformGostR3411_94Id</pre>
<p>The GOSTR3411_94 signature transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLKEYDATAGOSTR3410-2012-256ID"></a><h3>xmlSecOpenSSLKeyDataGostR3410_2012_256Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecOpenSSLKeyDataGostR3410_2012_256Id</pre>
-<p></p>
+<div class="refsect2">
+<a name="xmlSecOpenSSLKeyDataGostR3410-2012-256Id"></a><h3>xmlSecOpenSSLKeyDataGostR3410_2012_256Id</h3>
+<pre class="programlisting">#define xmlSecOpenSSLKeyDataGostR3410_2012_256Id</pre>
+<p>
+</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLKEYDATAGOSTR3410-2012-512ID"></a><h3>xmlSecOpenSSLKeyDataGostR3410_2012_512Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecOpenSSLKeyDataGostR3410_2012_512Id</pre>
-<p></p>
+<div class="refsect2">
+<a name="xmlSecOpenSSLKeyDataGostR3410-2012-512Id"></a><h3>xmlSecOpenSSLKeyDataGostR3410_2012_512Id</h3>
+<pre class="programlisting">#define xmlSecOpenSSLKeyDataGostR3410_2012_512Id</pre>
+<p>
+</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLTRANSFORMGOSTR3410-2012GOSTR3411-2012-256ID"></a><h3>xmlSecOpenSSLTransformGostR3410_2012GostR3411_2012_256Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecOpenSSLTransformGostR3410_2012GostR3411_2012_256Id</pre>
+<div class="refsect2">
+<a name="xmlSecOpenSSLTransformGostR3410-2012GostR3411-2012-256Id"></a><h3>xmlSecOpenSSLTransformGostR3410_2012GostR3411_2012_256Id</h3>
+<pre class="programlisting">#define xmlSecOpenSSLTransformGostR3410_2012GostR3411_2012_256Id</pre>
<p>The GOST R 34.10-2012 - GOST R 3411-2012 256 bit signature transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLTRANSFORMGOSTR3410-2012GOSTR3411-2012-512ID"></a><h3>xmlSecOpenSSLTransformGostR3410_2012GostR3411_2012_512Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecOpenSSLTransformGostR3410_2012GostR3411_2012_512Id</pre>
+<div class="refsect2">
+<a name="xmlSecOpenSSLTransformGostR3410-2012GostR3411-2012-512Id"></a><h3>xmlSecOpenSSLTransformGostR3410_2012GostR3411_2012_512Id</h3>
+<pre class="programlisting">#define xmlSecOpenSSLTransformGostR3410_2012GostR3411_2012_512Id</pre>
<p>The GOST R 34.10-2012 - GOST R 3411-2012 512 bit signature transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLTRANSFORMGOSTR3411-2012-256ID"></a><h3>xmlSecOpenSSLTransformGostR3411_2012_256Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecOpenSSLTransformGostR3411_2012_256Id</pre>
+<div class="refsect2">
+<a name="xmlSecOpenSSLTransformGostR3411-2012-256Id"></a><h3>xmlSecOpenSSLTransformGostR3411_2012_256Id</h3>
+<pre class="programlisting">#define xmlSecOpenSSLTransformGostR3411_2012_256Id</pre>
<p>The GOST R 34.11-2012 256 bit hash transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLTRANSFORMGOSTR3411-2012-512ID"></a><h3>xmlSecOpenSSLTransformGostR3411_2012_512Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecOpenSSLTransformGostR3411_2012_512Id</pre>
+<div class="refsect2">
+<a name="xmlSecOpenSSLTransformGostR3411-2012-512Id"></a><h3>xmlSecOpenSSLTransformGostR3411_2012_512Id</h3>
+<pre class="programlisting">#define xmlSecOpenSSLTransformGostR3411_2012_512Id</pre>
<p>The GOST R 34.11-2012 512 bit hash transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLKEYDATAHMACID"></a><h3>xmlSecOpenSSLKeyDataHmacId</h3>
-<pre class="PROGRAMLISTING">#define xmlSecOpenSSLKeyDataHmacId</pre>
+<div class="refsect2">
+<a name="xmlSecOpenSSLKeyDataHmacId"></a><h3>xmlSecOpenSSLKeyDataHmacId</h3>
+<pre class="programlisting">#define xmlSecOpenSSLKeyDataHmacId</pre>
<p>The DHMAC key klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLTRANSFORMHMACMD5ID"></a><h3>xmlSecOpenSSLTransformHmacMd5Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecOpenSSLTransformHmacMd5Id</pre>
+<div class="refsect2">
+<a name="xmlSecOpenSSLTransformHmacMd5Id"></a><h3>xmlSecOpenSSLTransformHmacMd5Id</h3>
+<pre class="programlisting">#define xmlSecOpenSSLTransformHmacMd5Id</pre>
<p>The HMAC with MD5 signature transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLTRANSFORMHMACRIPEMD160ID"></a><h3>xmlSecOpenSSLTransformHmacRipemd160Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecOpenSSLTransformHmacRipemd160Id</pre>
+<div class="refsect2">
+<a name="xmlSecOpenSSLTransformHmacRipemd160Id"></a><h3>xmlSecOpenSSLTransformHmacRipemd160Id</h3>
+<pre class="programlisting">#define xmlSecOpenSSLTransformHmacRipemd160Id</pre>
<p>The HMAC with RipeMD160 signature transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLTRANSFORMHMACSHA1ID"></a><h3>xmlSecOpenSSLTransformHmacSha1Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecOpenSSLTransformHmacSha1Id</pre>
+<div class="refsect2">
+<a name="xmlSecOpenSSLTransformHmacSha1Id"></a><h3>xmlSecOpenSSLTransformHmacSha1Id</h3>
+<pre class="programlisting">#define xmlSecOpenSSLTransformHmacSha1Id</pre>
<p>The HMAC with SHA1 signature transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLTRANSFORMHMACSHA224ID"></a><h3>xmlSecOpenSSLTransformHmacSha224Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecOpenSSLTransformHmacSha224Id</pre>
+<div class="refsect2">
+<a name="xmlSecOpenSSLTransformHmacSha224Id"></a><h3>xmlSecOpenSSLTransformHmacSha224Id</h3>
+<pre class="programlisting">#define xmlSecOpenSSLTransformHmacSha224Id</pre>
<p>The HMAC with SHA224 signature transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLTRANSFORMHMACSHA256ID"></a><h3>xmlSecOpenSSLTransformHmacSha256Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecOpenSSLTransformHmacSha256Id</pre>
+<div class="refsect2">
+<a name="xmlSecOpenSSLTransformHmacSha256Id"></a><h3>xmlSecOpenSSLTransformHmacSha256Id</h3>
+<pre class="programlisting">#define xmlSecOpenSSLTransformHmacSha256Id</pre>
<p>The HMAC with SHA256 signature transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLTRANSFORMHMACSHA384ID"></a><h3>xmlSecOpenSSLTransformHmacSha384Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecOpenSSLTransformHmacSha384Id</pre>
+<div class="refsect2">
+<a name="xmlSecOpenSSLTransformHmacSha384Id"></a><h3>xmlSecOpenSSLTransformHmacSha384Id</h3>
+<pre class="programlisting">#define xmlSecOpenSSLTransformHmacSha384Id</pre>
<p>The HMAC with SHA384 signature transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLTRANSFORMHMACSHA512ID"></a><h3>xmlSecOpenSSLTransformHmacSha512Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecOpenSSLTransformHmacSha512Id</pre>
+<div class="refsect2">
+<a name="xmlSecOpenSSLTransformHmacSha512Id"></a><h3>xmlSecOpenSSLTransformHmacSha512Id</h3>
+<pre class="programlisting">#define xmlSecOpenSSLTransformHmacSha512Id</pre>
<p>The HMAC with SHA512 signature transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLTRANSFORMMD5ID"></a><h3>xmlSecOpenSSLTransformMd5Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecOpenSSLTransformMd5Id</pre>
+<div class="refsect2">
+<a name="xmlSecOpenSSLTransformMd5Id"></a><h3>xmlSecOpenSSLTransformMd5Id</h3>
+<pre class="programlisting">#define xmlSecOpenSSLTransformMd5Id</pre>
<p>The MD5 digest transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLTRANSFORMRIPEMD160ID"></a><h3>xmlSecOpenSSLTransformRipemd160Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecOpenSSLTransformRipemd160Id</pre>
+<div class="refsect2">
+<a name="xmlSecOpenSSLTransformRipemd160Id"></a><h3>xmlSecOpenSSLTransformRipemd160Id</h3>
+<pre class="programlisting">#define xmlSecOpenSSLTransformRipemd160Id</pre>
<p>The RIPEMD160 digest transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLKEYDATARSAID"></a><h3>xmlSecOpenSSLKeyDataRsaId</h3>
-<pre class="PROGRAMLISTING">#define xmlSecOpenSSLKeyDataRsaId</pre>
+<div class="refsect2">
+<a name="xmlSecOpenSSLKeyDataRsaId"></a><h3>xmlSecOpenSSLKeyDataRsaId</h3>
+<pre class="programlisting">#define xmlSecOpenSSLKeyDataRsaId</pre>
<p>The RSA key klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLTRANSFORMRSAMD5ID"></a><h3>xmlSecOpenSSLTransformRsaMd5Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecOpenSSLTransformRsaMd5Id</pre>
+<div class="refsect2">
+<a name="xmlSecOpenSSLTransformRsaMd5Id"></a><h3>xmlSecOpenSSLTransformRsaMd5Id</h3>
+<pre class="programlisting">#define xmlSecOpenSSLTransformRsaMd5Id</pre>
<p>The RSA-MD5 signature transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLTRANSFORMRSARIPEMD160ID"></a><h3>xmlSecOpenSSLTransformRsaRipemd160Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecOpenSSLTransformRsaRipemd160Id</pre>
+<div class="refsect2">
+<a name="xmlSecOpenSSLTransformRsaRipemd160Id"></a><h3>xmlSecOpenSSLTransformRsaRipemd160Id</h3>
+<pre class="programlisting">#define xmlSecOpenSSLTransformRsaRipemd160Id</pre>
<p>The RSA-RIPEMD160 signature transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLTRANSFORMRSASHA1ID"></a><h3>xmlSecOpenSSLTransformRsaSha1Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecOpenSSLTransformRsaSha1Id</pre>
+<div class="refsect2">
+<a name="xmlSecOpenSSLTransformRsaSha1Id"></a><h3>xmlSecOpenSSLTransformRsaSha1Id</h3>
+<pre class="programlisting">#define xmlSecOpenSSLTransformRsaSha1Id</pre>
<p>The RSA-SHA1 signature transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLTRANSFORMRSASHA224ID"></a><h3>xmlSecOpenSSLTransformRsaSha224Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecOpenSSLTransformRsaSha224Id</pre>
+<div class="refsect2">
+<a name="xmlSecOpenSSLTransformRsaSha224Id"></a><h3>xmlSecOpenSSLTransformRsaSha224Id</h3>
+<pre class="programlisting">#define xmlSecOpenSSLTransformRsaSha224Id</pre>
<p>The RSA-SHA224 signature transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLTRANSFORMRSASHA256ID"></a><h3>xmlSecOpenSSLTransformRsaSha256Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecOpenSSLTransformRsaSha256Id</pre>
+<div class="refsect2">
+<a name="xmlSecOpenSSLTransformRsaSha256Id"></a><h3>xmlSecOpenSSLTransformRsaSha256Id</h3>
+<pre class="programlisting">#define xmlSecOpenSSLTransformRsaSha256Id</pre>
<p>The RSA-SHA256 signature transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLTRANSFORMRSASHA384ID"></a><h3>xmlSecOpenSSLTransformRsaSha384Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecOpenSSLTransformRsaSha384Id</pre>
+<div class="refsect2">
+<a name="xmlSecOpenSSLTransformRsaSha384Id"></a><h3>xmlSecOpenSSLTransformRsaSha384Id</h3>
+<pre class="programlisting">#define xmlSecOpenSSLTransformRsaSha384Id</pre>
<p>The RSA-SHA384 signature transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLTRANSFORMRSASHA512ID"></a><h3>xmlSecOpenSSLTransformRsaSha512Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecOpenSSLTransformRsaSha512Id</pre>
+<div class="refsect2">
+<a name="xmlSecOpenSSLTransformRsaSha512Id"></a><h3>xmlSecOpenSSLTransformRsaSha512Id</h3>
+<pre class="programlisting">#define xmlSecOpenSSLTransformRsaSha512Id</pre>
<p>The RSA-SHA512 signature transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLTRANSFORMRSAPKCS1ID"></a><h3>xmlSecOpenSSLTransformRsaPkcs1Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecOpenSSLTransformRsaPkcs1Id</pre>
+<div class="refsect2">
+<a name="xmlSecOpenSSLTransformRsaPkcs1Id"></a><h3>xmlSecOpenSSLTransformRsaPkcs1Id</h3>
+<pre class="programlisting">#define xmlSecOpenSSLTransformRsaPkcs1Id</pre>
<p>The RSA PKCS1 key transport transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLTRANSFORMRSAOAEPID"></a><h3>xmlSecOpenSSLTransformRsaOaepId</h3>
-<pre class="PROGRAMLISTING">#define xmlSecOpenSSLTransformRsaOaepId</pre>
+<div class="refsect2">
+<a name="xmlSecOpenSSLTransformRsaOaepId"></a><h3>xmlSecOpenSSLTransformRsaOaepId</h3>
+<pre class="programlisting">#define xmlSecOpenSSLTransformRsaOaepId</pre>
<p>The RSA PKCS1 key transport transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLTRANSFORMSHA1ID"></a><h3>xmlSecOpenSSLTransformSha1Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecOpenSSLTransformSha1Id</pre>
+<div class="refsect2">
+<a name="xmlSecOpenSSLTransformSha1Id"></a><h3>xmlSecOpenSSLTransformSha1Id</h3>
+<pre class="programlisting">#define xmlSecOpenSSLTransformSha1Id</pre>
<p>The SHA1 digest transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLTRANSFORMSHA224ID"></a><h3>xmlSecOpenSSLTransformSha224Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecOpenSSLTransformSha224Id</pre>
+<div class="refsect2">
+<a name="xmlSecOpenSSLTransformSha224Id"></a><h3>xmlSecOpenSSLTransformSha224Id</h3>
+<pre class="programlisting">#define xmlSecOpenSSLTransformSha224Id</pre>
<p>The SHA224 digest transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLTRANSFORMSHA256ID"></a><h3>xmlSecOpenSSLTransformSha256Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecOpenSSLTransformSha256Id</pre>
+<div class="refsect2">
+<a name="xmlSecOpenSSLTransformSha256Id"></a><h3>xmlSecOpenSSLTransformSha256Id</h3>
+<pre class="programlisting">#define xmlSecOpenSSLTransformSha256Id</pre>
<p>The SHA256 digest transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLTRANSFORMSHA384ID"></a><h3>xmlSecOpenSSLTransformSha384Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecOpenSSLTransformSha384Id</pre>
+<div class="refsect2">
+<a name="xmlSecOpenSSLTransformSha384Id"></a><h3>xmlSecOpenSSLTransformSha384Id</h3>
+<pre class="programlisting">#define xmlSecOpenSSLTransformSha384Id</pre>
<p>The SHA384 digest transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLTRANSFORMSHA512ID"></a><h3>xmlSecOpenSSLTransformSha512Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecOpenSSLTransformSha512Id</pre>
+<div class="refsect2">
+<a name="xmlSecOpenSSLTransformSha512Id"></a><h3>xmlSecOpenSSLTransformSha512Id</h3>
+<pre class="programlisting">#define xmlSecOpenSSLTransformSha512Id</pre>
<p>The SHA512 digest transform klass.</p>
</div>
-<hr>
-<div class="REFSECT2">
-<a name="XMLSEC-OPENSSL-ERRORS-FUNCTION:CAPS"></a><h3>XMLSEC_OPENSSL_ERRORS_FUNCTION</h3>
-<pre class="PROGRAMLISTING">#define XMLSEC_OPENSSL_ERRORS_FUNCTION 0</pre>
-<p>Macro. The XMLSec library functions OpenSSL errors reporting functions.</p>
</div>
</div>
-<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td align="left"><a accesskey="p" href="xmlsec-openssl-bn.html"><b><<< bn</b></a></td>
-<td align="right"><a accesskey="n" href="xmlsec-openssl-evp.html"><b>evp >>></b></a></td>
-</tr></table>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
</td></tr></table></td>
</tr></table></body>
</html>
diff --git a/docs/api/xmlsec-openssl-evp.html b/docs/api/xmlsec-openssl-evp.html
index e3dfd52..85727df 100644
--- a/docs/api/xmlsec-openssl-evp.html
+++ b/docs/api/xmlsec-openssl-evp.html
@@ -1,41 +1,14 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>evp</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79">
-<link rel="HOME" title="XML Security Library Reference Manual" href="index.html">
-<link rel="UP" title="XML Security Library for OpenSLL API Reference." href="xmlsec-openssl-ref.html">
-<link rel="PREVIOUS" title="crypto" href="xmlsec-openssl-crypto.html">
-<link rel="NEXT" title="x509" href="xmlsec-openssl-x509.html">
-<style type="text/css">.synopsis, .classsynopsis {
- background: #eeeeee;
- border: solid 1px #aaaaaa;
- padding: 0.5em;
-}
-.programlisting {
- background: #eeeeff;
- border: solid 1px #aaaaff;
- padding: 0.5em;
-}
-.variablelist {
- padding: 4px;
- margin-left: 3em;
-}
-.navigation {
- background: #ffeeee;
- border: solid 1px #ffaaaa;
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
-.navigation a {
- color: #770000;
-}
-.navigation a:visited {
- color: #550000;
-}
-.navigation .title {
- font-size: 200%;
-}</style>
+<title>evp: XML Security Library Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="XML Security Library Reference Manual">
+<link rel="up" href="xmlsec-openssl-ref.html" title="XML Security Library for OpenSLL API Reference.">
+<link rel="prev" href="xmlsec-openssl-crypto.html" title="crypto">
+<link rel="next" href="xmlsec-openssl-x509.html" title="x509">
+<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
<style type="text/css">
table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
width: 20em;
@@ -100,191 +73,195 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
</table>
</td>
<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent">
-<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td><a accesskey="p" href="xmlsec-openssl-crypto.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="xmlsec-openssl-ref.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description"> <span class="dim">|</span>
+ <a href="#xmlsec-openssl-evp.description" class="shortcut">Description</a></span>
+</td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<th width="100%" align="center">XML Security Library Reference Manual</th>
+<td><a accesskey="u" href="xmlsec-openssl-ref.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="xmlsec-openssl-crypto.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="xmlsec-openssl-x509.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
-<h1>
-<a name="XMLSEC-OPENSSL-EVP"></a>evp</h1>
-<div class="REFNAMEDIV">
-<a name="AEN32728"></a><h2>Name</h2>evp -- EVP keys data implementation.</div>
-<div class="REFSECT1">
-<a name="XMLSEC-OPENSSL-EVP.FUNCTIONS"></a><h2>Functions</h2>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN32733"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
+<div class="refentry">
+<a name="xmlsec-openssl-evp"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="xmlsec-openssl-evp.top_of_page"></a>evp</span></h2>
+<p>evp — EVP keys data implementation.</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="xmlsec-openssl-evp.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
<tbody>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-openssl-evp.html#XMLSECOPENSSLEVPKEYDATAADOPTEVP">xmlSecOpenSSLEvpKeyDataAdoptEvp</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-openssl-evp.html#xmlSecOpenSSLEvpKeyDataAdoptEvp" title="xmlSecOpenSSLEvpKeyDataAdoptEvp ()">xmlSecOpenSSLEvpKeyDataAdoptEvp</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td>
-<font><span class="RETURNVALUE">EVP_PKEY</span></font> *</td>
-<td>
-<a href="xmlsec-openssl-evp.html#XMLSECOPENSSLEVPKEYDATAGETEVP">xmlSecOpenSSLEvpKeyDataGetEvp</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">EVP_PKEY</span></font> *
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-openssl-evp.html#xmlSecOpenSSLEvpKeyDataGetEvp" title="xmlSecOpenSSLEvpKeyDataGetEvp ()">xmlSecOpenSSLEvpKeyDataGetEvp</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td>
-<font><span class="RETURNVALUE">EVP_PKEY</span></font> *</td>
-<td>
-<a href="xmlsec-openssl-evp.html#XMLSECOPENSSLEVPKEYDUP">xmlSecOpenSSLEvpKeyDup</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">EVP_PKEY</span></font> *
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-openssl-evp.html#xmlSecOpenSSLEvpKeyDup" title="xmlSecOpenSSLEvpKeyDup ()">xmlSecOpenSSLEvpKeyDup</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="RETURNVALUE">xmlSecKeyDataPtr</span></a></td>
-<td>
-<a href="xmlsec-openssl-evp.html#XMLSECOPENSSLEVPKEYADOPT">xmlSecOpenSSLEvpKeyAdopt</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecKeyDataPtr</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-openssl-evp.html#xmlSecOpenSSLEvpKeyAdopt" title="xmlSecOpenSSLEvpKeyAdopt ()">xmlSecOpenSSLEvpKeyAdopt</a> <span class="c_punctuation">()</span>
</td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT1">
-<a name="XMLSEC-OPENSSL-EVP.DESCRIPTION"></a><h2>Description</h2>
-<p>EVP keys data implementation.</p>
+<div class="refsect1">
+<a name="xmlsec-openssl-evp.description"></a><h2>Description</h2>
+<p>
+EVP keys data implementation.
+</p>
</div>
-<div class="REFSECT1">
-<a name="XMLSEC-OPENSSL-EVP.FUNCTIONS_DETAILS"></a><h2>Functions</h2>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLEVPKEYDATAADOPTEVP"></a><h3>xmlSecOpenSSLEvpKeyDataAdoptEvp ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecOpenSSLEvpKeyDataAdoptEvp (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>,
- <code class="PARAMETER"><font><span class="TYPE">EVP_PKEY</span></font> *pKey</code>);</pre>
+<div class="refsect1">
+<a name="xmlsec-openssl-evp.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="xmlSecOpenSSLEvpKeyDataAdoptEvp"></a><h3>xmlSecOpenSSLEvpKeyDataAdoptEvp ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecOpenSSLEvpKeyDataAdoptEvp (<em class="parameter"><code><font><span class="type">xmlSecKeyDataPtr</span></font> data</code></em>,
+ <em class="parameter"><code><font><span class="type">EVP_PKEY</span></font> *pKey</code></em>);</pre>
<p>Sets the value of key data.</p>
-<div class="REFSECT3">
-<a name="AEN32783"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN32785"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecOpenSSLEvpKeyDataAdoptEvp.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>data</p></td>
-<td><p>the pointer to OpenSSL EVP key data.</p></td>
-<td> </td>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the pointer to OpenSSL EVP key data.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>pKey</p></td>
-<td><p>the pointer to EVP key.</p></td>
-<td> </td>
+<td class="parameter_name"><p>pKey</p></td>
+<td class="parameter_description"><p>the pointer to EVP key.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN32800"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecOpenSSLEvpKeyDataAdoptEvp.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLEVPKEYDATAGETEVP"></a><h3>xmlSecOpenSSLEvpKeyDataGetEvp ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">EVP_PKEY</span></font> *
-xmlSecOpenSSLEvpKeyDataGetEvp (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecOpenSSLEvpKeyDataGetEvp"></a><h3>xmlSecOpenSSLEvpKeyDataGetEvp ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">EVP_PKEY</span></font> *
+xmlSecOpenSSLEvpKeyDataGetEvp (<em class="parameter"><code><font><span class="type">xmlSecKeyDataPtr</span></font> data</code></em>);</pre>
<p>Gets the EVP_PKEY from the key data.</p>
-<div class="REFSECT3">
-<a name="AEN32814"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN32816"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecOpenSSLEvpKeyDataGetEvp.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>data</p></td>
-<td><p>the pointer to OpenSSL EVP data.</p></td>
-<td> </td>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the pointer to OpenSSL EVP data.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN32825"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecOpenSSLEvpKeyDataGetEvp.returns"></a><h4>Returns</h4>
<p> pointer to EVP_PKEY or NULL if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLEVPKEYDUP"></a><h3>xmlSecOpenSSLEvpKeyDup ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">EVP_PKEY</span></font> *
-xmlSecOpenSSLEvpKeyDup (<code class="PARAMETER"><font><span class="TYPE">EVP_PKEY</span></font> *pKey</code>);</pre>
-<p>Duplicates <code class="PARAMETER">pKey</code>
+<div class="refsect2">
+<a name="xmlSecOpenSSLEvpKeyDup"></a><h3>xmlSecOpenSSLEvpKeyDup ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">EVP_PKEY</span></font> *
+xmlSecOpenSSLEvpKeyDup (<em class="parameter"><code><font><span class="type">EVP_PKEY</span></font> *pKey</code></em>);</pre>
+<p>Duplicates <em class="parameter"><code>pKey</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN32840"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN32842"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecOpenSSLEvpKeyDup.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>pKey</p></td>
-<td><p>the pointer to EVP_PKEY.</p></td>
-<td> </td>
+<td class="parameter_name"><p>pKey</p></td>
+<td class="parameter_description"><p>the pointer to EVP_PKEY.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN32851"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecOpenSSLEvpKeyDup.returns"></a><h4>Returns</h4>
<p> pointer to newly created EVP_PKEY object or NULL if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLEVPKEYADOPT"></a><h3>xmlSecOpenSSLEvpKeyAdopt ()</h3>
-<pre class="PROGRAMLISTING"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="RETURNVALUE">xmlSecKeyDataPtr</span></a>
-xmlSecOpenSSLEvpKeyAdopt (<code class="PARAMETER"><font><span class="TYPE">EVP_PKEY</span></font> *pKey</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecOpenSSLEvpKeyAdopt"></a><h3>xmlSecOpenSSLEvpKeyAdopt ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecKeyDataPtr</span></font>
+xmlSecOpenSSLEvpKeyAdopt (<em class="parameter"><code><font><span class="type">EVP_PKEY</span></font> *pKey</code></em>);</pre>
<p>Creates xmlsec key object from OpenSSL key object.</p>
-<div class="REFSECT3">
-<a name="AEN32865"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN32867"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecOpenSSLEvpKeyAdopt.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>pKey</p></td>
-<td><p>the pointer to EVP_PKEY.</p></td>
-<td> </td>
+<td class="parameter_name"><p>pKey</p></td>
+<td class="parameter_description"><p>the pointer to EVP_PKEY.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN32876"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecOpenSSLEvpKeyAdopt.returns"></a><h4>Returns</h4>
<p> pointer to newly created xmlsec key or NULL if an error occurs.</p>
</div>
</div>
</div>
-<div class="REFSECT1">
-<a name="XMLSEC-OPENSSL-EVP.OTHER_DETAILS"></a><h2>Types and Values</h2>
-<p></p>
+<div class="refsect1">
+<a name="xmlsec-openssl-evp.other_details"></a><h2>Types and Values</h2>
</div>
-<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td align="left"><a accesskey="p" href="xmlsec-openssl-crypto.html"><b><<< crypto</b></a></td>
-<td align="right"><a accesskey="n" href="xmlsec-openssl-x509.html"><b>x509 >>></b></a></td>
-</tr></table>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
</td></tr></table></td>
</tr></table></body>
</html>
diff --git a/docs/api/xmlsec-openssl-ref.html b/docs/api/xmlsec-openssl-ref.html
index 3ce8bd8..c4efea4 100644
--- a/docs/api/xmlsec-openssl-ref.html
+++ b/docs/api/xmlsec-openssl-ref.html
@@ -1,41 +1,14 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>XML Security Library for OpenSLL API Reference.</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79">
-<link rel="HOME" title="XML Security Library Reference Manual" href="index.html">
-<link rel="UP" title="XML Security Library API Reference." href="xmlsec-reference.html">
-<link rel="PREVIOUS" title="x509" href="xmlsec-x509.html">
-<link rel="NEXT" title="app" href="xmlsec-openssl-app.html">
-<style type="text/css">.synopsis, .classsynopsis {
- background: #eeeeee;
- border: solid 1px #aaaaaa;
- padding: 0.5em;
-}
-.programlisting {
- background: #eeeeff;
- border: solid 1px #aaaaff;
- padding: 0.5em;
-}
-.variablelist {
- padding: 4px;
- margin-left: 3em;
-}
-.navigation {
- background: #ffeeee;
- border: solid 1px #ffaaaa;
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
-.navigation a {
- color: #770000;
-}
-.navigation a:visited {
- color: #550000;
-}
-.navigation .title {
- font-size: 200%;
-}</style>
+<title>XML Security Library for OpenSLL API Reference.: XML Security Library Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="XML Security Library Reference Manual">
+<link rel="up" href="xmlsec-reference.html" title="Part II. XML Security Library API Reference.">
+<link rel="prev" href="xmlsec-x509.html" title="x509">
+<link rel="next" href="xmlsec-openssl-app.html" title="app">
+<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
<style type="text/css">
table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
width: 20em;
@@ -100,37 +73,39 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
</table>
</td>
<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent">
-<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td><a accesskey="p" href="xmlsec-x509.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="xmlsec-reference.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<th width="100%" align="center">XML Security Library Reference Manual</th>
+<td><a accesskey="u" href="xmlsec-reference.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="xmlsec-x509.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="xmlsec-openssl-app.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
-<div class="CHAPTER">
-<h1>
-<a name="XMLSEC-OPENSSL-REF"></a>XML Security Library for OpenSLL API Reference.</h1>
-<div class="TOC"><dl>
-<dt><b>Table of Contents</b></dt>
+<div class="chapter">
+<div class="titlepage"><div><div><h2 class="title">
+<a name="xmlsec-openssl-ref"></a>XML Security Library for OpenSLL API Reference.</h2></div></div></div>
+<div class="toc"><dl class="toc">
<dt>
-<a href="xmlsec-openssl-app.html">app</a> -- Application functions implementation for OpenSSL.</dt>
+<span class="refentrytitle"><a href="xmlsec-openssl-app.html">app</a></span><span class="refpurpose"> — Application functions implementation for OpenSSL.</span>
+</dt>
<dt>
-<a href="xmlsec-openssl-bn.html">bn</a> -- Big numbers helper functions.</dt>
+<span class="refentrytitle"><a href="xmlsec-openssl-bn.html">bn</a></span><span class="refpurpose"> — Big numbers helper functions.</span>
+</dt>
<dt>
-<a href="xmlsec-openssl-crypto.html">crypto</a> -- Crypto transforms implementation for OpenSSL.</dt>
+<span class="refentrytitle"><a href="xmlsec-openssl-crypto.html">crypto</a></span><span class="refpurpose"> — Crypto transforms implementation for OpenSSL.</span>
+</dt>
<dt>
-<a href="xmlsec-openssl-evp.html">evp</a> -- EVP keys data implementation.</dt>
+<span class="refentrytitle"><a href="xmlsec-openssl-evp.html">evp</a></span><span class="refpurpose"> — EVP keys data implementation.</span>
+</dt>
<dt>
-<a href="xmlsec-openssl-x509.html">x509</a> -- X509 certificates support implementation for OpenSSL.</dt>
+<span class="refentrytitle"><a href="xmlsec-openssl-x509.html">x509</a></span><span class="refpurpose"> — X509 certificates support implementation for OpenSSL.</span>
+</dt>
</dl></div>
<p>This section contains the API reference for xmlsec-openssl. All
the public interfaces are documented here. This reference guide is
build by extracting comments from the code sources. </p>
</div>
-<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td align="left"><a accesskey="p" href="xmlsec-x509.html"><b><<< x509</b></a></td>
-<td align="right"><a accesskey="n" href="xmlsec-openssl-app.html"><b>app >>></b></a></td>
-</tr></table>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
</td></tr></table></td>
</tr></table></body>
</html>
diff --git a/docs/api/xmlsec-openssl-x509.html b/docs/api/xmlsec-openssl-x509.html
index 39e1040..a5bc09f 100644
--- a/docs/api/xmlsec-openssl-x509.html
+++ b/docs/api/xmlsec-openssl-x509.html
@@ -1,41 +1,14 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>x509</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79">
-<link rel="HOME" title="XML Security Library Reference Manual" href="index.html">
-<link rel="UP" title="XML Security Library for OpenSLL API Reference." href="xmlsec-openssl-ref.html">
-<link rel="PREVIOUS" title="evp" href="xmlsec-openssl-evp.html">
-<link rel="NEXT" title="XML Security Library for GnuTLS API Reference." href="xmlsec-gnutls-ref.html">
-<style type="text/css">.synopsis, .classsynopsis {
- background: #eeeeee;
- border: solid 1px #aaaaaa;
- padding: 0.5em;
-}
-.programlisting {
- background: #eeeeff;
- border: solid 1px #aaaaff;
- padding: 0.5em;
-}
-.variablelist {
- padding: 4px;
- margin-left: 3em;
-}
-.navigation {
- background: #ffeeee;
- border: solid 1px #ffaaaa;
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
-.navigation a {
- color: #770000;
-}
-.navigation a:visited {
- color: #550000;
-}
-.navigation .title {
- font-size: 200%;
-}</style>
+<title>x509: XML Security Library Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="XML Security Library Reference Manual">
+<link rel="up" href="xmlsec-openssl-ref.html" title="XML Security Library for OpenSLL API Reference.">
+<link rel="prev" href="xmlsec-openssl-evp.html" title="evp">
+<link rel="next" href="xmlsec-gnutls-ref.html" title="XML Security Library for GnuTLS API Reference.">
+<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
<style type="text/css">
table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
width: 20em;
@@ -100,826 +73,834 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
</table>
</td>
<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent">
-<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td><a accesskey="p" href="xmlsec-openssl-evp.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="xmlsec-openssl-ref.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description"> <span class="dim">|</span>
+ <a href="#xmlsec-openssl-x509.description" class="shortcut">Description</a></span>
+</td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<th width="100%" align="center">XML Security Library Reference Manual</th>
+<td><a accesskey="u" href="xmlsec-openssl-ref.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="xmlsec-openssl-evp.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="xmlsec-gnutls-ref.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
-<h1>
-<a name="XMLSEC-OPENSSL-X509"></a>x509</h1>
-<div class="REFNAMEDIV">
-<a name="AEN32887"></a><h2>Name</h2>x509 -- X509 certificates support implementation for OpenSSL.</div>
-<div class="REFSECT1">
-<a name="XMLSEC-OPENSSL-X509.FUNCTIONS"></a><h2>Functions</h2>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN32892"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
+<div class="refentry">
+<a name="xmlsec-openssl-x509"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="xmlsec-openssl-x509.top_of_page"></a>x509</span></h2>
+<p>x509 — X509 certificates support implementation for OpenSSL.</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="xmlsec-openssl-x509.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
<tbody>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecKeyDataId</span></font></td>
-<td>
-<a href="xmlsec-openssl-x509.html#XMLSECOPENSSLKEYDATAX509GETKLASS">xmlSecOpenSSLKeyDataX509GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecKeyDataId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-openssl-x509.html#xmlSecOpenSSLKeyDataX509GetKlass" title="xmlSecOpenSSLKeyDataX509GetKlass ()">xmlSecOpenSSLKeyDataX509GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td>
-<font><span class="RETURNVALUE">X509</span></font> *</td>
-<td>
-<a href="xmlsec-openssl-x509.html#XMLSECOPENSSLKEYDATAX509GETKEYCERT">xmlSecOpenSSLKeyDataX509GetKeyCert</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">X509</span></font> *
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-openssl-x509.html#xmlSecOpenSSLKeyDataX509GetKeyCert" title="xmlSecOpenSSLKeyDataX509GetKeyCert ()">xmlSecOpenSSLKeyDataX509GetKeyCert</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-openssl-x509.html#XMLSECOPENSSLKEYDATAX509ADOPTKEYCERT">xmlSecOpenSSLKeyDataX509AdoptKeyCert</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-openssl-x509.html#xmlSecOpenSSLKeyDataX509AdoptKeyCert" title="xmlSecOpenSSLKeyDataX509AdoptKeyCert ()">xmlSecOpenSSLKeyDataX509AdoptKeyCert</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-openssl-x509.html#XMLSECOPENSSLKEYDATAX509ADOPTCERT">xmlSecOpenSSLKeyDataX509AdoptCert</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-openssl-x509.html#xmlSecOpenSSLKeyDataX509AdoptCert" title="xmlSecOpenSSLKeyDataX509AdoptCert ()">xmlSecOpenSSLKeyDataX509AdoptCert</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td>
-<font><span class="RETURNVALUE">X509</span></font> *</td>
-<td>
-<a href="xmlsec-openssl-x509.html#XMLSECOPENSSLKEYDATAX509GETCERT">xmlSecOpenSSLKeyDataX509GetCert</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">X509</span></font> *
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-openssl-x509.html#xmlSecOpenSSLKeyDataX509GetCert" title="xmlSecOpenSSLKeyDataX509GetCert ()">xmlSecOpenSSLKeyDataX509GetCert</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="RETURNVALUE">xmlSecSize</span></a></td>
-<td>
-<a href="xmlsec-openssl-x509.html#XMLSECOPENSSLKEYDATAX509GETCERTSSIZE">xmlSecOpenSSLKeyDataX509GetCertsSize</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="returnvalue">xmlSecSize</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-openssl-x509.html#xmlSecOpenSSLKeyDataX509GetCertsSize" title="xmlSecOpenSSLKeyDataX509GetCertsSize ()">xmlSecOpenSSLKeyDataX509GetCertsSize</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-openssl-x509.html#XMLSECOPENSSLKEYDATAX509ADOPTCRL">xmlSecOpenSSLKeyDataX509AdoptCrl</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-openssl-x509.html#xmlSecOpenSSLKeyDataX509AdoptCrl" title="xmlSecOpenSSLKeyDataX509AdoptCrl ()">xmlSecOpenSSLKeyDataX509AdoptCrl</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td>
-<font><span class="RETURNVALUE">X509_CRL</span></font> *</td>
-<td>
-<a href="xmlsec-openssl-x509.html#XMLSECOPENSSLKEYDATAX509GETCRL">xmlSecOpenSSLKeyDataX509GetCrl</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">X509_CRL</span></font> *
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-openssl-x509.html#xmlSecOpenSSLKeyDataX509GetCrl" title="xmlSecOpenSSLKeyDataX509GetCrl ()">xmlSecOpenSSLKeyDataX509GetCrl</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="RETURNVALUE">xmlSecSize</span></a></td>
-<td>
-<a href="xmlsec-openssl-x509.html#XMLSECOPENSSLKEYDATAX509GETCRLSSIZE">xmlSecOpenSSLKeyDataX509GetCrlsSize</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="returnvalue">xmlSecSize</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-openssl-x509.html#xmlSecOpenSSLKeyDataX509GetCrlsSize" title="xmlSecOpenSSLKeyDataX509GetCrlsSize ()">xmlSecOpenSSLKeyDataX509GetCrlsSize</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="RETURNVALUE">xmlSecKeyDataPtr</span></a></td>
-<td>
-<a href="xmlsec-openssl-x509.html#XMLSECOPENSSLX509CERTGETKEY">xmlSecOpenSSLX509CertGetKey</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecKeyDataPtr</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-openssl-x509.html#xmlSecOpenSSLX509CertGetKey" title="xmlSecOpenSSLX509CertGetKey ()">xmlSecOpenSSLX509CertGetKey</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecKeyDataId</span></font></td>
-<td>
-<a href="xmlsec-openssl-x509.html#XMLSECOPENSSLKEYDATARAWX509CERTGETKLASS">xmlSecOpenSSLKeyDataRawX509CertGetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecKeyDataId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-openssl-x509.html#xmlSecOpenSSLKeyDataRawX509CertGetKlass" title="xmlSecOpenSSLKeyDataRawX509CertGetKlass ()">xmlSecOpenSSLKeyDataRawX509CertGetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecKeyDataStoreId</span></font></td>
-<td>
-<a href="xmlsec-openssl-x509.html#XMLSECOPENSSLX509STOREGETKLASS">xmlSecOpenSSLX509StoreGetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecKeyDataStoreId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-openssl-x509.html#xmlSecOpenSSLX509StoreGetKlass" title="xmlSecOpenSSLX509StoreGetKlass ()">xmlSecOpenSSLX509StoreGetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td>
-<font><span class="RETURNVALUE">X509</span></font> *</td>
-<td>
-<a href="xmlsec-openssl-x509.html#XMLSECOPENSSLX509STOREFINDCERT">xmlSecOpenSSLX509StoreFindCert</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">X509</span></font> *
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-openssl-x509.html#xmlSecOpenSSLX509StoreFindCert" title="xmlSecOpenSSLX509StoreFindCert ()">xmlSecOpenSSLX509StoreFindCert</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td>
-<font><span class="RETURNVALUE">X509</span></font> *</td>
-<td>
-<a href="xmlsec-openssl-x509.html#XMLSECOPENSSLX509STOREVERIFY">xmlSecOpenSSLX509StoreVerify</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">X509</span></font> *
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-openssl-x509.html#xmlSecOpenSSLX509StoreVerify" title="xmlSecOpenSSLX509StoreVerify ()">xmlSecOpenSSLX509StoreVerify</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-openssl-x509.html#XMLSECOPENSSLX509STOREADOPTCERT">xmlSecOpenSSLX509StoreAdoptCert</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-openssl-x509.html#xmlSecOpenSSLX509StoreAdoptCert" title="xmlSecOpenSSLX509StoreAdoptCert ()">xmlSecOpenSSLX509StoreAdoptCert</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-openssl-x509.html#XMLSECOPENSSLX509STOREADOPTCRL">xmlSecOpenSSLX509StoreAdoptCrl</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-openssl-x509.html#xmlSecOpenSSLX509StoreAdoptCrl" title="xmlSecOpenSSLX509StoreAdoptCrl ()">xmlSecOpenSSLX509StoreAdoptCrl</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-openssl-x509.html#XMLSECOPENSSLX509STOREADDCERTSPATH">xmlSecOpenSSLX509StoreAddCertsPath</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-openssl-x509.html#xmlSecOpenSSLX509StoreAddCertsPath" title="xmlSecOpenSSLX509StoreAddCertsPath ()">xmlSecOpenSSLX509StoreAddCertsPath</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-openssl-x509.html#XMLSECOPENSSLX509STOREADDCERTSFILE">xmlSecOpenSSLX509StoreAddCertsFile</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-openssl-x509.html#xmlSecOpenSSLX509StoreAddCertsFile" title="xmlSecOpenSSLX509StoreAddCertsFile ()">xmlSecOpenSSLX509StoreAddCertsFile</a> <span class="c_punctuation">()</span>
</td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
-</div>
-<div class="REFSECT1">
-<a name="XMLSEC-OPENSSL-X509.OTHER"></a><h2>Types and Values</h2>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN33023"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="xmlsec-openssl-x509.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
<tbody>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-openssl-x509.html#XMLSEC-STACK-OF-X509:CAPS">XMLSEC_STACK_OF_X509</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-openssl-x509.html#XMLSEC-STACK-OF-X509:CAPS" title="XMLSEC_STACK_OF_X509">XMLSEC_STACK_OF_X509</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-openssl-x509.html#XMLSEC-STACK-OF-X509-CRL:CAPS">XMLSEC_STACK_OF_X509_CRL</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-openssl-x509.html#XMLSEC-STACK-OF-X509-CRL:CAPS" title="XMLSEC_STACK_OF_X509_CRL">XMLSEC_STACK_OF_X509_CRL</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-openssl-x509.html#XMLSECOPENSSLKEYDATAX509ID">xmlSecOpenSSLKeyDataX509Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-openssl-x509.html#xmlSecOpenSSLKeyDataX509Id" title="xmlSecOpenSSLKeyDataX509Id">xmlSecOpenSSLKeyDataX509Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-openssl-x509.html#XMLSECOPENSSLKEYDATARAWX509CERTID">xmlSecOpenSSLKeyDataRawX509CertId</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-openssl-x509.html#xmlSecOpenSSLKeyDataRawX509CertId" title="xmlSecOpenSSLKeyDataRawX509CertId">xmlSecOpenSSLKeyDataRawX509CertId</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-openssl-x509.html#XMLSECOPENSSLX509STOREID">xmlSecOpenSSLX509StoreId</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-openssl-x509.html#xmlSecOpenSSLX509StoreId" title="xmlSecOpenSSLX509StoreId">xmlSecOpenSSLX509StoreId</a></td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
-</div>
-<div class="REFSECT1">
-<a name="XMLSEC-OPENSSL-X509.DESCRIPTION"></a><h2>Description</h2>
-<p>X509 certificates support implementation for OpenSSL.</p>
-</div>
-<div class="REFSECT1">
-<a name="XMLSEC-OPENSSL-X509.FUNCTIONS_DETAILS"></a><h2>Functions</h2>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLKEYDATAX509GETKLASS"></a><h3>xmlSecOpenSSLKeyDataX509GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecKeyDataId</span></font>
-xmlSecOpenSSLKeyDataX509GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
-<p>The OpenSSL X509 key data klass (http://www.w3.org/TR/xmldsig-core/<font><span class="TYPE">sec-X509Data</span></font>).</p>
-<div class="REFSECT3">
-<a name="AEN33063"></a><h4>Returns</h4>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="xmlsec-openssl-x509.description"></a><h2>Description</h2>
+<p>
+X509 certificates support implementation for OpenSSL.
+</p>
+</div>
+<div class="refsect1">
+<a name="xmlsec-openssl-x509.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="xmlSecOpenSSLKeyDataX509GetKlass"></a><h3>xmlSecOpenSSLKeyDataX509GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecKeyDataId</span></font>
+xmlSecOpenSSLKeyDataX509GetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
+<p>The OpenSSL X509 key data klass (http://www.w3.org/TR/xmldsig-core/<font><span class="type">sec-X509Data</span></font>).</p>
+<div class="refsect3">
+<a name="xmlSecOpenSSLKeyDataX509GetKlass.returns"></a><h4>Returns</h4>
<p> the X509 data klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLKEYDATAX509GETKEYCERT"></a><h3>xmlSecOpenSSLKeyDataX509GetKeyCert ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">X509</span></font> *
-xmlSecOpenSSLKeyDataX509GetKeyCert (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecOpenSSLKeyDataX509GetKeyCert"></a><h3>xmlSecOpenSSLKeyDataX509GetKeyCert ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">X509</span></font> *
+xmlSecOpenSSLKeyDataX509GetKeyCert (<em class="parameter"><code><font><span class="type">xmlSecKeyDataPtr</span></font> data</code></em>);</pre>
<p>Gets the certificate from which the key was extracted.</p>
-<div class="REFSECT3">
-<a name="AEN33077"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN33079"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecOpenSSLKeyDataX509GetKeyCert.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>data</p></td>
-<td><p>the pointer to X509 key data.</p></td>
-<td> </td>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the pointer to X509 key data.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN33088"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecOpenSSLKeyDataX509GetKeyCert.returns"></a><h4>Returns</h4>
<p> the key's certificate or NULL if key data was not used for key
extraction or an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLKEYDATAX509ADOPTKEYCERT"></a><h3>xmlSecOpenSSLKeyDataX509AdoptKeyCert ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecOpenSSLKeyDataX509AdoptKeyCert (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>,
- <code class="PARAMETER"><font><span class="TYPE">X509</span></font> *cert</code>);</pre>
-<p>Sets the key's certificate in <code class="PARAMETER">data</code>
+<div class="refsect2">
+<a name="xmlSecOpenSSLKeyDataX509AdoptKeyCert"></a><h3>xmlSecOpenSSLKeyDataX509AdoptKeyCert ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecOpenSSLKeyDataX509AdoptKeyCert (<em class="parameter"><code><font><span class="type">xmlSecKeyDataPtr</span></font> data</code></em>,
+ <em class="parameter"><code><font><span class="type">X509</span></font> *cert</code></em>);</pre>
+<p>Sets the key's certificate in <em class="parameter"><code>data</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN33106"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN33108"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecOpenSSLKeyDataX509AdoptKeyCert.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>data</p></td>
-<td><p>the pointer to X509 key data.</p></td>
-<td> </td>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the pointer to X509 key data.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>cert</p></td>
-<td><p>the pointer to OpenSSL X509 certificate.</p></td>
-<td> </td>
+<td class="parameter_name"><p>cert</p></td>
+<td class="parameter_description"><p>the pointer to OpenSSL X509 certificate.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN33123"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecOpenSSLKeyDataX509AdoptKeyCert.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLKEYDATAX509ADOPTCERT"></a><h3>xmlSecOpenSSLKeyDataX509AdoptCert ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecOpenSSLKeyDataX509AdoptCert (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>,
- <code class="PARAMETER"><font><span class="TYPE">X509</span></font> *cert</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecOpenSSLKeyDataX509AdoptCert"></a><h3>xmlSecOpenSSLKeyDataX509AdoptCert ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecOpenSSLKeyDataX509AdoptCert (<em class="parameter"><code><font><span class="type">xmlSecKeyDataPtr</span></font> data</code></em>,
+ <em class="parameter"><code><font><span class="type">X509</span></font> *cert</code></em>);</pre>
<p>Adds certificate to the X509 key data.</p>
-<div class="REFSECT3">
-<a name="AEN33140"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN33142"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecOpenSSLKeyDataX509AdoptCert.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>data</p></td>
-<td><p>the pointer to X509 key data.</p></td>
-<td> </td>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the pointer to X509 key data.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>cert</p></td>
-<td><p>the pointer to OpenSSL X509 certificate.</p></td>
-<td> </td>
+<td class="parameter_name"><p>cert</p></td>
+<td class="parameter_description"><p>the pointer to OpenSSL X509 certificate.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN33157"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecOpenSSLKeyDataX509AdoptCert.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLKEYDATAX509GETCERT"></a><h3>xmlSecOpenSSLKeyDataX509GetCert ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">X509</span></font> *
-xmlSecOpenSSLKeyDataX509GetCert (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>,
- <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> pos</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecOpenSSLKeyDataX509GetCert"></a><h3>xmlSecOpenSSLKeyDataX509GetCert ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">X509</span></font> *
+xmlSecOpenSSLKeyDataX509GetCert (<em class="parameter"><code><font><span class="type">xmlSecKeyDataPtr</span></font> data</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="type">xmlSecSize</span></a> pos</code></em>);</pre>
<p>Gets a certificate from X509 key data.</p>
-<div class="REFSECT3">
-<a name="AEN33174"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN33176"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecOpenSSLKeyDataX509GetCert.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>data</p></td>
-<td><p>the pointer to X509 key data.</p></td>
-<td> </td>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the pointer to X509 key data.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>pos</p></td>
-<td><p>the desired certificate position.</p></td>
-<td> </td>
+<td class="parameter_name"><p>pos</p></td>
+<td class="parameter_description"><p>the desired certificate position.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN33191"></a><h4>Returns</h4>
-<p> the pointer to certificate or NULL if <code class="PARAMETER">pos</code>
+<div class="refsect3">
+<a name="xmlSecOpenSSLKeyDataX509GetCert.returns"></a><h4>Returns</h4>
+<p> the pointer to certificate or NULL if <em class="parameter"><code>pos</code></em>
is larger than the
-number of certificates in <code class="PARAMETER">data</code>
+number of certificates in <em class="parameter"><code>data</code></em>
or an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLKEYDATAX509GETCERTSSIZE"></a><h3>xmlSecOpenSSLKeyDataX509GetCertsSize ()</h3>
-<pre class="PROGRAMLISTING"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="RETURNVALUE">xmlSecSize</span></a>
-xmlSecOpenSSLKeyDataX509GetCertsSize (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>);</pre>
-<p>Gets the number of certificates in <code class="PARAMETER">data</code>
+<div class="refsect2">
+<a name="xmlSecOpenSSLKeyDataX509GetCertsSize"></a><h3>xmlSecOpenSSLKeyDataX509GetCertsSize ()</h3>
+<pre class="programlisting"><a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="returnvalue">xmlSecSize</span></a>
+xmlSecOpenSSLKeyDataX509GetCertsSize (<em class="parameter"><code><font><span class="type">xmlSecKeyDataPtr</span></font> data</code></em>);</pre>
+<p>Gets the number of certificates in <em class="parameter"><code>data</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN33208"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN33210"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecOpenSSLKeyDataX509GetCertsSize.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>data</p></td>
-<td><p>the pointer to X509 key data.</p></td>
-<td> </td>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the pointer to X509 key data.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN33219"></a><h4>Returns</h4>
-<p> te number of certificates in <code class="PARAMETER">data</code>
+<div class="refsect3">
+<a name="xmlSecOpenSSLKeyDataX509GetCertsSize.returns"></a><h4>Returns</h4>
+<p> te number of certificates in <em class="parameter"><code>data</code></em>
.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLKEYDATAX509ADOPTCRL"></a><h3>xmlSecOpenSSLKeyDataX509AdoptCrl ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecOpenSSLKeyDataX509AdoptCrl (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>,
- <code class="PARAMETER"><font><span class="TYPE">X509_CRL</span></font> *crl</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecOpenSSLKeyDataX509AdoptCrl"></a><h3>xmlSecOpenSSLKeyDataX509AdoptCrl ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecOpenSSLKeyDataX509AdoptCrl (<em class="parameter"><code><font><span class="type">xmlSecKeyDataPtr</span></font> data</code></em>,
+ <em class="parameter"><code><font><span class="type">X509_CRL</span></font> *crl</code></em>);</pre>
<p>Adds CRL to the X509 key data.</p>
-<div class="REFSECT3">
-<a name="AEN33237"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN33239"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecOpenSSLKeyDataX509AdoptCrl.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>data</p></td>
-<td><p>the pointer to X509 key data.</p></td>
-<td> </td>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the pointer to X509 key data.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>crl</p></td>
-<td><p>the pointer to OpenSSL X509 CRL.</p></td>
-<td> </td>
+<td class="parameter_name"><p>crl</p></td>
+<td class="parameter_description"><p>the pointer to OpenSSL X509 CRL.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN33254"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecOpenSSLKeyDataX509AdoptCrl.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLKEYDATAX509GETCRL"></a><h3>xmlSecOpenSSLKeyDataX509GetCrl ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">X509_CRL</span></font> *
-xmlSecOpenSSLKeyDataX509GetCrl (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>,
- <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> pos</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecOpenSSLKeyDataX509GetCrl"></a><h3>xmlSecOpenSSLKeyDataX509GetCrl ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">X509_CRL</span></font> *
+xmlSecOpenSSLKeyDataX509GetCrl (<em class="parameter"><code><font><span class="type">xmlSecKeyDataPtr</span></font> data</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="type">xmlSecSize</span></a> pos</code></em>);</pre>
<p>Gets a CRL from X509 key data.</p>
-<div class="REFSECT3">
-<a name="AEN33271"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN33273"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecOpenSSLKeyDataX509GetCrl.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>data</p></td>
-<td><p>the pointer to X509 key data.</p></td>
-<td> </td>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the pointer to X509 key data.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>pos</p></td>
-<td><p>the desired CRL position.</p></td>
-<td> </td>
+<td class="parameter_name"><p>pos</p></td>
+<td class="parameter_description"><p>the desired CRL position.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN33288"></a><h4>Returns</h4>
-<p> the pointer to CRL or NULL if <code class="PARAMETER">pos</code>
+<div class="refsect3">
+<a name="xmlSecOpenSSLKeyDataX509GetCrl.returns"></a><h4>Returns</h4>
+<p> the pointer to CRL or NULL if <em class="parameter"><code>pos</code></em>
is larger than the
-number of CRLs in <code class="PARAMETER">data</code>
+number of CRLs in <em class="parameter"><code>data</code></em>
or an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLKEYDATAX509GETCRLSSIZE"></a><h3>xmlSecOpenSSLKeyDataX509GetCrlsSize ()</h3>
-<pre class="PROGRAMLISTING"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="RETURNVALUE">xmlSecSize</span></a>
-xmlSecOpenSSLKeyDataX509GetCrlsSize (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="TYPE">xmlSecKeyDataPtr</span></a> data</code>);</pre>
-<p>Gets the number of CRLs in <code class="PARAMETER">data</code>
+<div class="refsect2">
+<a name="xmlSecOpenSSLKeyDataX509GetCrlsSize"></a><h3>xmlSecOpenSSLKeyDataX509GetCrlsSize ()</h3>
+<pre class="programlisting"><a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="returnvalue">xmlSecSize</span></a>
+xmlSecOpenSSLKeyDataX509GetCrlsSize (<em class="parameter"><code><font><span class="type">xmlSecKeyDataPtr</span></font> data</code></em>);</pre>
+<p>Gets the number of CRLs in <em class="parameter"><code>data</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN33305"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN33307"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecOpenSSLKeyDataX509GetCrlsSize.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>data</p></td>
-<td><p>the pointer to X509 key data.</p></td>
-<td> </td>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the pointer to X509 key data.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN33316"></a><h4>Returns</h4>
-<p> te number of CRLs in <code class="PARAMETER">data</code>
+<div class="refsect3">
+<a name="xmlSecOpenSSLKeyDataX509GetCrlsSize.returns"></a><h4>Returns</h4>
+<p> te number of CRLs in <em class="parameter"><code>data</code></em>
.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLX509CERTGETKEY"></a><h3>xmlSecOpenSSLX509CertGetKey ()</h3>
-<pre class="PROGRAMLISTING"><a href="xmlsec-keysdata.html#XMLSECKEYDATA"><span class="RETURNVALUE">xmlSecKeyDataPtr</span></a>
-xmlSecOpenSSLX509CertGetKey (<code class="PARAMETER"><font><span class="TYPE">X509</span></font> *cert</code>);</pre>
-<p>Extracts public key from the <code class="PARAMETER">cert</code>
+<div class="refsect2">
+<a name="xmlSecOpenSSLX509CertGetKey"></a><h3>xmlSecOpenSSLX509CertGetKey ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecKeyDataPtr</span></font>
+xmlSecOpenSSLX509CertGetKey (<em class="parameter"><code><font><span class="type">X509</span></font> *cert</code></em>);</pre>
+<p>Extracts public key from the <em class="parameter"><code>cert</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN33332"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN33334"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecOpenSSLX509CertGetKey.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>cert</p></td>
-<td><p>the certificate.</p></td>
-<td> </td>
+<td class="parameter_name"><p>cert</p></td>
+<td class="parameter_description"><p>the certificate.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN33343"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecOpenSSLX509CertGetKey.returns"></a><h4>Returns</h4>
<p> public key value or NULL if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLKEYDATARAWX509CERTGETKLASS"></a><h3>xmlSecOpenSSLKeyDataRawX509CertGetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecKeyDataId</span></font>
+<div class="refsect2">
+<a name="xmlSecOpenSSLKeyDataRawX509CertGetKlass"></a><h3>xmlSecOpenSSLKeyDataRawX509CertGetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecKeyDataId</span></font>
xmlSecOpenSSLKeyDataRawX509CertGetKlass
- (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+ (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The raw X509 certificates key data klass.</p>
-<div class="REFSECT3">
-<a name="AEN33356"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecOpenSSLKeyDataRawX509CertGetKlass.returns"></a><h4>Returns</h4>
<p> raw X509 certificates key data klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLX509STOREGETKLASS"></a><h3>xmlSecOpenSSLX509StoreGetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecKeyDataStoreId</span></font>
-xmlSecOpenSSLX509StoreGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecOpenSSLX509StoreGetKlass"></a><h3>xmlSecOpenSSLX509StoreGetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecKeyDataStoreId</span></font>
+xmlSecOpenSSLX509StoreGetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The OpenSSL X509 certificates key data store klass.</p>
-<div class="REFSECT3">
-<a name="AEN33369"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecOpenSSLX509StoreGetKlass.returns"></a><h4>Returns</h4>
<p> pointer to OpenSSL X509 certificates key data store klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLX509STOREFINDCERT"></a><h3>xmlSecOpenSSLX509StoreFindCert ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">X509</span></font> *
-xmlSecOpenSSLX509StoreFindCert (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATASTORE"><span class="TYPE">xmlSecKeyDataStorePtr</span></a> store</code>,
- <code class="PARAMETER"><font><span class="TYPE">xmlChar</span></font> *subjectName</code>,
- <code class="PARAMETER"><font><span class="TYPE">xmlChar</span></font> *issuerName</code>,
- <code class="PARAMETER"><font><span class="TYPE">xmlChar</span></font> *issuerSerial</code>,
- <code class="PARAMETER"><font><span class="TYPE">xmlChar</span></font> *ski</code>,
- <code class="PARAMETER"><a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTX"><span class="TYPE">xmlSecKeyInfoCtx</span></a> *keyInfoCtx</code>);</pre>
-<p>Searches <code class="PARAMETER">store</code>
+<div class="refsect2">
+<a name="xmlSecOpenSSLX509StoreFindCert"></a><h3>xmlSecOpenSSLX509StoreFindCert ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">X509</span></font> *
+xmlSecOpenSSLX509StoreFindCert (<em class="parameter"><code><font><span class="type">xmlSecKeyDataStorePtr</span></font> store</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlChar</span></font> *subjectName</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlChar</span></font> *issuerName</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlChar</span></font> *issuerSerial</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlChar</span></font> *ski</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-keyinfo.html#xmlSecKeyInfoCtx" title="struct xmlSecKeyInfoCtx"><span class="type">xmlSecKeyInfoCtx</span></a> *keyInfoCtx</code></em>);</pre>
+<p>Searches <em class="parameter"><code>store</code></em>
for a certificate that matches given criteria.</p>
-<div class="REFSECT3">
-<a name="AEN33399"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN33401"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecOpenSSLX509StoreFindCert.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>store</p></td>
-<td><p>the pointer to X509 key data store klass.</p></td>
-<td> </td>
+<td class="parameter_name"><p>store</p></td>
+<td class="parameter_description"><p>the pointer to X509 key data store klass.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>subjectName</p></td>
-<td><p>the desired certificate name.</p></td>
-<td> </td>
+<td class="parameter_name"><p>subjectName</p></td>
+<td class="parameter_description"><p>the desired certificate name.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>issuerName</p></td>
-<td><p>the desired certificate issuer name.</p></td>
-<td> </td>
+<td class="parameter_name"><p>issuerName</p></td>
+<td class="parameter_description"><p>the desired certificate issuer name.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>issuerSerial</p></td>
-<td><p>the desired certificate issuer serial number.</p></td>
-<td> </td>
+<td class="parameter_name"><p>issuerSerial</p></td>
+<td class="parameter_description"><p>the desired certificate issuer serial number.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>ski</p></td>
-<td><p>the desired certificate SKI.</p></td>
-<td> </td>
+<td class="parameter_name"><p>ski</p></td>
+<td class="parameter_description"><p>the desired certificate SKI.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>keyInfoCtx</p></td>
-<td><p>the pointer to <dsig:KeyInfo/> element processing context.</p></td>
-<td> </td>
+<td class="parameter_name"><p>keyInfoCtx</p></td>
+<td class="parameter_description"><p>the pointer to <dsig:KeyInfo/> element processing context.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN33440"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecOpenSSLX509StoreFindCert.returns"></a><h4>Returns</h4>
<p> pointer to found certificate or NULL if certificate is not found
or an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLX509STOREVERIFY"></a><h3>xmlSecOpenSSLX509StoreVerify ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">X509</span></font> *
-xmlSecOpenSSLX509StoreVerify (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATASTORE"><span class="TYPE">xmlSecKeyDataStorePtr</span></a> store</code>,
- <code class="PARAMETER"><a href="xmlsec-openssl-x509.html#XMLSEC-STACK-OF-X509:CAPS"><span class="TYPE">XMLSEC_STACK_OF_X509</span></a> *certs</code>,
- <code class="PARAMETER"><a href="xmlsec-openssl-x509.html#XMLSEC-STACK-OF-X509-CRL:CAPS"><span class="TYPE">XMLSEC_STACK_OF_X509_CRL</span></a> *crls</code>,
- <code class="PARAMETER"><a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTX"><span class="TYPE">xmlSecKeyInfoCtx</span></a> *keyInfoCtx</code>);</pre>
-<p>Verifies <code class="PARAMETER">certs</code>
+<div class="refsect2">
+<a name="xmlSecOpenSSLX509StoreVerify"></a><h3>xmlSecOpenSSLX509StoreVerify ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">X509</span></font> *
+xmlSecOpenSSLX509StoreVerify (<em class="parameter"><code><font><span class="type">xmlSecKeyDataStorePtr</span></font> store</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-openssl-x509.html#XMLSEC-STACK-OF-X509:CAPS" title="XMLSEC_STACK_OF_X509"><span class="type">XMLSEC_STACK_OF_X509</span></a> *certs</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-openssl-x509.html#XMLSEC-STACK-OF-X509-CRL:CAPS" title="XMLSEC_STACK_OF_X509_CRL"><span class="type">XMLSEC_STACK_OF_X509_CRL</span></a> *crls</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-keyinfo.html#xmlSecKeyInfoCtx" title="struct xmlSecKeyInfoCtx"><span class="type">xmlSecKeyInfoCtx</span></a> *keyInfoCtx</code></em>);</pre>
+<p>Verifies <em class="parameter"><code>certs</code></em>
list.</p>
-<div class="REFSECT3">
-<a name="AEN33464"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN33466"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecOpenSSLX509StoreVerify.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>store</p></td>
-<td><p>the pointer to X509 key data store klass.</p></td>
-<td> </td>
+<td class="parameter_name"><p>store</p></td>
+<td class="parameter_description"><p>the pointer to X509 key data store klass.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>certs</p></td>
-<td><p>the untrusted certificates stack.</p></td>
-<td> </td>
+<td class="parameter_name"><p>certs</p></td>
+<td class="parameter_description"><p>the untrusted certificates stack.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>crls</p></td>
-<td><p>the crls stack.</p></td>
-<td> </td>
+<td class="parameter_name"><p>crls</p></td>
+<td class="parameter_description"><p>the crls stack.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>keyInfoCtx</p></td>
-<td><p>the pointer to <dsig:KeyInfo/> element processing context.</p></td>
-<td> </td>
+<td class="parameter_name"><p>keyInfoCtx</p></td>
+<td class="parameter_description"><p>the pointer to <dsig:KeyInfo/> element processing context.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN33493"></a><h4>Returns</h4>
-<p> pointer to the first verified certificate from <code class="PARAMETER">certs</code>
+<div class="refsect3">
+<a name="xmlSecOpenSSLX509StoreVerify.returns"></a><h4>Returns</h4>
+<p> pointer to the first verified certificate from <em class="parameter"><code>certs</code></em>
.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLX509STOREADOPTCERT"></a><h3>xmlSecOpenSSLX509StoreAdoptCert ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecOpenSSLX509StoreAdoptCert (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATASTORE"><span class="TYPE">xmlSecKeyDataStorePtr</span></a> store</code>,
- <code class="PARAMETER"><font><span class="TYPE">X509</span></font> *cert</code>,
- <code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATATYPE"><span class="TYPE">xmlSecKeyDataType</span></a> type</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecOpenSSLX509StoreAdoptCert"></a><h3>xmlSecOpenSSLX509StoreAdoptCert ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecOpenSSLX509StoreAdoptCert (<em class="parameter"><code><font><span class="type">xmlSecKeyDataStorePtr</span></font> store</code></em>,
+ <em class="parameter"><code><font><span class="type">X509</span></font> *cert</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataType" title="xmlSecKeyDataType"><span class="type">xmlSecKeyDataType</span></a> type</code></em>);</pre>
<p>Adds trusted (root) or untrusted certificate to the store.</p>
-<div class="REFSECT3">
-<a name="AEN33514"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN33516"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecOpenSSLX509StoreAdoptCert.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>store</p></td>
-<td><p>the pointer to X509 key data store klass.</p></td>
-<td> </td>
+<td class="parameter_name"><p>store</p></td>
+<td class="parameter_description"><p>the pointer to X509 key data store klass.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>cert</p></td>
-<td><p>the pointer to OpenSSL X509 certificate.</p></td>
-<td> </td>
+<td class="parameter_name"><p>cert</p></td>
+<td class="parameter_description"><p>the pointer to OpenSSL X509 certificate.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>type</p></td>
-<td><p>the certificate type (trusted/untrusted).</p></td>
-<td> </td>
+<td class="parameter_name"><p>type</p></td>
+<td class="parameter_description"><p>the certificate type (trusted/untrusted).</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN33537"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecOpenSSLX509StoreAdoptCert.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLX509STOREADOPTCRL"></a><h3>xmlSecOpenSSLX509StoreAdoptCrl ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecOpenSSLX509StoreAdoptCrl (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATASTORE"><span class="TYPE">xmlSecKeyDataStorePtr</span></a> store</code>,
- <code class="PARAMETER"><font><span class="TYPE">X509_CRL</span></font> *crl</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecOpenSSLX509StoreAdoptCrl"></a><h3>xmlSecOpenSSLX509StoreAdoptCrl ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecOpenSSLX509StoreAdoptCrl (<em class="parameter"><code><font><span class="type">xmlSecKeyDataStorePtr</span></font> store</code></em>,
+ <em class="parameter"><code><font><span class="type">X509_CRL</span></font> *crl</code></em>);</pre>
<p>Adds X509 CRL to the store.</p>
-<div class="REFSECT3">
-<a name="AEN33554"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN33556"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecOpenSSLX509StoreAdoptCrl.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>store</p></td>
-<td><p>the pointer to X509 key data store klass.</p></td>
-<td> </td>
+<td class="parameter_name"><p>store</p></td>
+<td class="parameter_description"><p>the pointer to X509 key data store klass.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>crl</p></td>
-<td><p>the pointer to OpenSSL X509_CRL.</p></td>
-<td> </td>
+<td class="parameter_name"><p>crl</p></td>
+<td class="parameter_description"><p>the pointer to OpenSSL X509_CRL.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN33571"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecOpenSSLX509StoreAdoptCrl.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLX509STOREADDCERTSPATH"></a><h3>xmlSecOpenSSLX509StoreAddCertsPath ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecOpenSSLX509StoreAddCertsPath (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATASTORE"><span class="TYPE">xmlSecKeyDataStorePtr</span></a> store</code>,
- <code class="PARAMETER">const <font><span class="TYPE">char</span></font> *path</code>);</pre>
-<p>Adds all certs in the <code class="PARAMETER">path</code>
+<div class="refsect2">
+<a name="xmlSecOpenSSLX509StoreAddCertsPath"></a><h3>xmlSecOpenSSLX509StoreAddCertsPath ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecOpenSSLX509StoreAddCertsPath (<em class="parameter"><code><font><span class="type">xmlSecKeyDataStorePtr</span></font> store</code></em>,
+ <em class="parameter"><code>const <font><span class="type">char</span></font> *path</code></em>);</pre>
+<p>Adds all certs in the <em class="parameter"><code>path</code></em>
to the list of trusted certs
-in <code class="PARAMETER">store</code>
+in <em class="parameter"><code>store</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN33590"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN33592"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecOpenSSLX509StoreAddCertsPath.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>store</p></td>
-<td><p>the pointer to OpenSSL x509 store.</p></td>
-<td> </td>
+<td class="parameter_name"><p>store</p></td>
+<td class="parameter_description"><p>the pointer to OpenSSL x509 store.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>path</p></td>
-<td><p>the path to the certs dir.</p></td>
-<td> </td>
+<td class="parameter_name"><p>path</p></td>
+<td class="parameter_description"><p>the path to the certs dir.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN33607"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecOpenSSLX509StoreAddCertsPath.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLX509STOREADDCERTSFILE"></a><h3>xmlSecOpenSSLX509StoreAddCertsFile ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecOpenSSLX509StoreAddCertsFile (<code class="PARAMETER"><a href="xmlsec-keysdata.html#XMLSECKEYDATASTORE"><span class="TYPE">xmlSecKeyDataStorePtr</span></a> store</code>,
- <code class="PARAMETER">const <font><span class="TYPE">char</span></font> *file</code>);</pre>
-<p>Adds all certs in <code class="PARAMETER">file</code>
+<div class="refsect2">
+<a name="xmlSecOpenSSLX509StoreAddCertsFile"></a><h3>xmlSecOpenSSLX509StoreAddCertsFile ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecOpenSSLX509StoreAddCertsFile (<em class="parameter"><code><font><span class="type">xmlSecKeyDataStorePtr</span></font> store</code></em>,
+ <em class="parameter"><code>const <font><span class="type">char</span></font> *filename</code></em>);</pre>
+<p>Adds all certs in <em class="parameter"><code>file</code></em>
to the list of trusted certs
-in <code class="PARAMETER">store</code>
-. It is possible for <code class="PARAMETER">file</code>
+in <em class="parameter"><code>store</code></em>
+. It is possible for <em class="parameter"><code>file</code></em>
to contain multiple certs.</p>
-<div class="REFSECT3">
-<a name="AEN33627"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN33629"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecOpenSSLX509StoreAddCertsFile.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>store</p></td>
-<td><p>the pointer to OpenSSL x509 store.</p></td>
-<td> </td>
+<td class="parameter_name"><p>store</p></td>
+<td class="parameter_description"><p>the pointer to OpenSSL x509 store.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>file</p></td>
-<td><p>the certs file.</p></td>
-<td> </td>
+<td class="parameter_name"><p>filename</p></td>
+<td class="parameter_description"><p>the certs file.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN33644"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecOpenSSLX509StoreAddCertsFile.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value otherwise.</p>
</div>
</div>
</div>
-<div class="REFSECT1">
-<a name="XMLSEC-OPENSSL-X509.OTHER_DETAILS"></a><h2>Types and Values</h2>
-<div class="REFSECT2">
+<div class="refsect1">
+<a name="xmlsec-openssl-x509.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
<a name="XMLSEC-STACK-OF-X509:CAPS"></a><h3>XMLSEC_STACK_OF_X509</h3>
-<pre class="PROGRAMLISTING">#define XMLSEC_STACK_OF_X509 STACK_OF(X509)</pre>
+<pre class="programlisting">#define XMLSEC_STACK_OF_X509 STACK_OF(X509)
+</pre>
<p>Macro. To make docbook happy.</p>
</div>
<hr>
-<div class="REFSECT2">
+<div class="refsect2">
<a name="XMLSEC-STACK-OF-X509-CRL:CAPS"></a><h3>XMLSEC_STACK_OF_X509_CRL</h3>
-<pre class="PROGRAMLISTING">#define XMLSEC_STACK_OF_X509_CRL STACK_OF(X509_CRL)</pre>
+<pre class="programlisting">#define XMLSEC_STACK_OF_X509_CRL STACK_OF(X509_CRL)
+</pre>
<p>Macro. To make docbook happy.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLKEYDATAX509ID"></a><h3>xmlSecOpenSSLKeyDataX509Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecOpenSSLKeyDataX509Id</pre>
+<div class="refsect2">
+<a name="xmlSecOpenSSLKeyDataX509Id"></a><h3>xmlSecOpenSSLKeyDataX509Id</h3>
+<pre class="programlisting">#define xmlSecOpenSSLKeyDataX509Id</pre>
<p>The OpenSSL X509 data klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLKEYDATARAWX509CERTID"></a><h3>xmlSecOpenSSLKeyDataRawX509CertId</h3>
-<pre class="PROGRAMLISTING">#define xmlSecOpenSSLKeyDataRawX509CertId</pre>
+<div class="refsect2">
+<a name="xmlSecOpenSSLKeyDataRawX509CertId"></a><h3>xmlSecOpenSSLKeyDataRawX509CertId</h3>
+<pre class="programlisting">#define xmlSecOpenSSLKeyDataRawX509CertId</pre>
<p>The OpenSSL raw X509 certificate klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECOPENSSLX509STOREID"></a><h3>xmlSecOpenSSLX509StoreId</h3>
-<pre class="PROGRAMLISTING">#define xmlSecOpenSSLX509StoreId</pre>
+<div class="refsect2">
+<a name="xmlSecOpenSSLX509StoreId"></a><h3>xmlSecOpenSSLX509StoreId</h3>
+<pre class="programlisting">#define xmlSecOpenSSLX509StoreId</pre>
<p>The OpenSSL X509 store klass.</p>
</div>
</div>
-<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td align="left"><a accesskey="p" href="xmlsec-openssl-evp.html"><b><<< evp</b></a></td>
-<td align="right"><a accesskey="n" href="xmlsec-gnutls-ref.html"><b>XML Security Library for GnuTLS API Reference. >>></b></a></td>
-</tr></table>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
</td></tr></table></td>
</tr></table></body>
</html>
diff --git a/docs/api/xmlsec-parser.html b/docs/api/xmlsec-parser.html
index abf343e..6d3b6a1 100644
--- a/docs/api/xmlsec-parser.html
+++ b/docs/api/xmlsec-parser.html
@@ -1,41 +1,14 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>parser</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79">
-<link rel="HOME" title="XML Security Library Reference Manual" href="index.html">
-<link rel="UP" title="XML Security Core Library API Reference." href="xmlsec-ref.html">
-<link rel="PREVIOUS" title="nodeset" href="xmlsec-nodeset.html">
-<link rel="NEXT" title="templates" href="xmlsec-templates.html">
-<style type="text/css">.synopsis, .classsynopsis {
- background: #eeeeee;
- border: solid 1px #aaaaaa;
- padding: 0.5em;
-}
-.programlisting {
- background: #eeeeff;
- border: solid 1px #aaaaff;
- padding: 0.5em;
-}
-.variablelist {
- padding: 4px;
- margin-left: 3em;
-}
-.navigation {
- background: #ffeeee;
- border: solid 1px #ffaaaa;
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
-.navigation a {
- color: #770000;
-}
-.navigation a:visited {
- color: #550000;
-}
-.navigation .title {
- font-size: 200%;
-}</style>
+<title>parser: XML Security Library Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="XML Security Library Reference Manual">
+<link rel="up" href="xmlsec-ref.html" title="XML Security Core Library API Reference.">
+<link rel="prev" href="xmlsec-nodeset.html" title="nodeset">
+<link rel="next" href="xmlsec-templates.html" title="templates">
+<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
<style type="text/css">
table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
width: 20em;
@@ -100,234 +73,241 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
</table>
</td>
<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent">
-<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td><a accesskey="p" href="xmlsec-nodeset.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="xmlsec-ref.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description"> <span class="dim">|</span>
+ <a href="#xmlsec-parser.description" class="shortcut">Description</a></span>
+</td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<th width="100%" align="center">XML Security Library Reference Manual</th>
+<td><a accesskey="u" href="xmlsec-ref.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="xmlsec-nodeset.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="xmlsec-templates.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
-<h1>
-<a name="XMLSEC-PARSER"></a>parser</h1>
-<div class="REFNAMEDIV">
-<a name="AEN16683"></a><h2>Name</h2>parser -- Parser transform implementation.</div>
-<div class="REFSECT1">
-<a name="XMLSEC-PARSER.FUNCTIONS"></a><h2>Functions</h2>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN16688"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
+<div class="refentry">
+<a name="xmlsec-parser"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="xmlsec-parser.top_of_page"></a>parser</span></h2>
+<p>parser — Parser transform implementation.</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="xmlsec-parser.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
<tbody>
<tr>
-<td><font><span class="RETURNVALUE">xmlDocPtr</span></font></td>
-<td>
-<a href="xmlsec-parser.html#XMLSECPARSEFILE">xmlSecParseFile</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlDocPtr</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-parser.html#xmlSecParseFile" title="xmlSecParseFile ()">xmlSecParseFile</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlDocPtr</span></font></td>
-<td>
-<a href="xmlsec-parser.html#XMLSECPARSEMEMORY">xmlSecParseMemory</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlDocPtr</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-parser.html#xmlSecParseMemory" title="xmlSecParseMemory ()">xmlSecParseMemory</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlDocPtr</span></font></td>
-<td>
-<a href="xmlsec-parser.html#XMLSECPARSEMEMORYEXT">xmlSecParseMemoryExt</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlDocPtr</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-parser.html#xmlSecParseMemoryExt" title="xmlSecParseMemoryExt ()">xmlSecParseMemoryExt</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-parser.html#XMLSECTRANSFORMXMLPARSERGETKLASS">xmlSecTransformXmlParserGetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-parser.html#xmlSecTransformXmlParserGetKlass" title="xmlSecTransformXmlParserGetKlass ()">xmlSecTransformXmlParserGetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT1">
-<a name="XMLSEC-PARSER.OTHER"></a><h2>Types and Values</h2>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN16721"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
+<div class="refsect1">
+<a name="xmlsec-parser.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
<tbody><tr>
-<td>#define</td>
-<td><a href="xmlsec-parser.html#XMLSECTRANSFORMXMLPARSERID">xmlSecTransformXmlParserId</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-parser.html#xmlSecTransformXmlParserId" title="xmlSecTransformXmlParserId">xmlSecTransformXmlParserId</a></td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT1">
-<a name="XMLSEC-PARSER.DESCRIPTION"></a><h2>Description</h2>
-<p>Parser transform implementation.</p>
+<div class="refsect1">
+<a name="xmlsec-parser.description"></a><h2>Description</h2>
+<p>
+Parser transform implementation.
+</p>
</div>
-<div class="REFSECT1">
-<a name="XMLSEC-PARSER.FUNCTIONS_DETAILS"></a><h2>Functions</h2>
-<div class="REFSECT2">
-<a name="XMLSECPARSEFILE"></a><h3>xmlSecParseFile ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlDocPtr</span></font>
-xmlSecParseFile (<code class="PARAMETER">const <font><span class="TYPE">char</span></font> *filename</code>);</pre>
-<p>Loads XML Doc from file <code class="PARAMETER">filename</code>
+<div class="refsect1">
+<a name="xmlsec-parser.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="xmlSecParseFile"></a><h3>xmlSecParseFile ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlDocPtr</span></font>
+xmlSecParseFile (<em class="parameter"><code>const <font><span class="type">char</span></font> *filename</code></em>);</pre>
+<p>Loads XML Doc from file <em class="parameter"><code>filename</code></em>
. We need a special version because of
-c14n issue. The code is copied from <font><code class="FUNCTION">xmlSAXParseFileWithData()</code></font> function.</p>
-<div class="REFSECT3">
-<a name="AEN16747"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN16749"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+c14n issue. The code is copied from <font><code class="function">xmlSAXParseFileWithData()</code></font> function.</p>
+<div class="refsect3">
+<a name="xmlSecParseFile.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>filename</p></td>
-<td><p>the filename.</p></td>
-<td> </td>
+<td class="parameter_name"><p>filename</p></td>
+<td class="parameter_description"><p>the filename.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN16758"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecParseFile.returns"></a><h4>Returns</h4>
<p> pointer to the loaded XML document or NULL if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECPARSEMEMORY"></a><h3>xmlSecParseMemory ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlDocPtr</span></font>
-xmlSecParseMemory (<code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *buffer</code>,
- <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> size</code>,
- <code class="PARAMETER"><font><span class="TYPE">int</span></font> recovery</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecParseMemory"></a><h3>xmlSecParseMemory ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlDocPtr</span></font>
+xmlSecParseMemory (<em class="parameter"><code>const <a class="link" href="xmlsec-xmlsec.html#xmlSecByte" title="xmlSecByte"><span class="type">xmlSecByte</span></a> *buffer</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="type">xmlSecSize</span></a> size</code></em>,
+ <em class="parameter"><code><font><span class="type">int</span></font> recovery</code></em>);</pre>
<p>Loads XML Doc from memory. We need a special version because of
-c14n issue. The code is copied from <font><code class="FUNCTION">xmlSAXParseMemory()</code></font> function.</p>
-<div class="REFSECT3">
-<a name="AEN16780"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN16782"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+c14n issue. The code is copied from <font><code class="function">xmlSAXParseMemory()</code></font> function.</p>
+<div class="refsect3">
+<a name="xmlSecParseMemory.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>buffer</p></td>
-<td><p>the input buffer.</p></td>
-<td> </td>
+<td class="parameter_name"><p>buffer</p></td>
+<td class="parameter_description"><p>the input buffer.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>size</p></td>
-<td><p>the input buffer size.</p></td>
-<td> </td>
+<td class="parameter_name"><p>size</p></td>
+<td class="parameter_description"><p>the input buffer size.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>recovery</p></td>
-<td><p>the flag.</p></td>
-<td> </td>
+<td class="parameter_name"><p>recovery</p></td>
+<td class="parameter_description"><p>the flag.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN16803"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecParseMemory.returns"></a><h4>Returns</h4>
<p> pointer to the loaded XML document or NULL if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECPARSEMEMORYEXT"></a><h3>xmlSecParseMemoryExt ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlDocPtr</span></font>
-xmlSecParseMemoryExt (<code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *prefix</code>,
- <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> prefixSize</code>,
- <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *buffer</code>,
- <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> bufferSize</code>,
- <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *postfix</code>,
- <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> postfixSize</code>);</pre>
-<p>Loads XML Doc from 3 chunks of memory: <code class="PARAMETER">prefix</code>
-, <code class="PARAMETER">buffer</code>
- and <code class="PARAMETER">postfix</code>
+<div class="refsect2">
+<a name="xmlSecParseMemoryExt"></a><h3>xmlSecParseMemoryExt ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlDocPtr</span></font>
+xmlSecParseMemoryExt (<em class="parameter"><code>const <a class="link" href="xmlsec-xmlsec.html#xmlSecByte" title="xmlSecByte"><span class="type">xmlSecByte</span></a> *prefix</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="type">xmlSecSize</span></a> prefixSize</code></em>,
+ <em class="parameter"><code>const <a class="link" href="xmlsec-xmlsec.html#xmlSecByte" title="xmlSecByte"><span class="type">xmlSecByte</span></a> *buffer</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="type">xmlSecSize</span></a> bufferSize</code></em>,
+ <em class="parameter"><code>const <a class="link" href="xmlsec-xmlsec.html#xmlSecByte" title="xmlSecByte"><span class="type">xmlSecByte</span></a> *postfix</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="type">xmlSecSize</span></a> postfixSize</code></em>);</pre>
+<p>Loads XML Doc from 3 chunks of memory: <em class="parameter"><code>prefix</code></em>
+, <em class="parameter"><code>buffer</code></em>
+ and <em class="parameter"><code>postfix</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN16835"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN16837"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecParseMemoryExt.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>prefix</p></td>
-<td><p>the first part of the input.</p></td>
-<td> </td>
+<td class="parameter_name"><p>prefix</p></td>
+<td class="parameter_description"><p>the first part of the input.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>prefixSize</p></td>
-<td><p>the size of the first part of the input.</p></td>
-<td> </td>
+<td class="parameter_name"><p>prefixSize</p></td>
+<td class="parameter_description"><p>the size of the first part of the input.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>buffer</p></td>
-<td><p>the second part of the input.</p></td>
-<td> </td>
+<td class="parameter_name"><p>buffer</p></td>
+<td class="parameter_description"><p>the second part of the input.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>bufferSize</p></td>
-<td><p>the size of the second part of the input.</p></td>
-<td> </td>
+<td class="parameter_name"><p>bufferSize</p></td>
+<td class="parameter_description"><p>the size of the second part of the input.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>postfix</p></td>
-<td><p>the third part of the input.</p></td>
-<td> </td>
+<td class="parameter_name"><p>postfix</p></td>
+<td class="parameter_description"><p>the third part of the input.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>postfixSize</p></td>
-<td><p>the size of the third part of the input.</p></td>
-<td> </td>
+<td class="parameter_name"><p>postfixSize</p></td>
+<td class="parameter_description"><p>the size of the third part of the input.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN16876"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecParseMemoryExt.returns"></a><h4>Returns</h4>
<p> pointer to the loaded XML document or NULL if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMXMLPARSERGETKLASS"></a><h3>xmlSecTransformXmlParserGetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
-xmlSecTransformXmlParserGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecTransformXmlParserGetKlass"></a><h3>xmlSecTransformXmlParserGetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
+xmlSecTransformXmlParserGetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The XML parser transform.</p>
-<div class="REFSECT3">
-<a name="AEN16889"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTransformXmlParserGetKlass.returns"></a><h4>Returns</h4>
<p> XML parser transform klass.</p>
</div>
</div>
</div>
-<div class="REFSECT1">
-<a name="XMLSEC-PARSER.OTHER_DETAILS"></a><h2>Types and Values</h2>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMXMLPARSERID"></a><h3>xmlSecTransformXmlParserId</h3>
-<pre class="PROGRAMLISTING">#define xmlSecTransformXmlParserId</pre>
+<div class="refsect1">
+<a name="xmlsec-parser.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="xmlSecTransformXmlParserId"></a><h3>xmlSecTransformXmlParserId</h3>
+<pre class="programlisting">#define xmlSecTransformXmlParserId</pre>
<p>The XML Parser transform klass.</p>
</div>
</div>
-<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td align="left"><a accesskey="p" href="xmlsec-nodeset.html"><b><<< nodeset</b></a></td>
-<td align="right"><a accesskey="n" href="xmlsec-templates.html"><b>templates >>></b></a></td>
-</tr></table>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
</td></tr></table></td>
</tr></table></body>
</html>
diff --git a/docs/api/xmlsec-ref.html b/docs/api/xmlsec-ref.html
index 6f504cf..1accae7 100644
--- a/docs/api/xmlsec-ref.html
+++ b/docs/api/xmlsec-ref.html
@@ -1,41 +1,14 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>XML Security Core Library API Reference.</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79">
-<link rel="HOME" title="XML Security Library Reference Manual" href="index.html">
-<link rel="UP" title="XML Security Library API Reference." href="xmlsec-reference.html">
-<link rel="PREVIOUS" title="XML Security Library API Reference." href="xmlsec-reference.html">
-<link rel="NEXT" title="app" href="xmlsec-app.html">
-<style type="text/css">.synopsis, .classsynopsis {
- background: #eeeeee;
- border: solid 1px #aaaaaa;
- padding: 0.5em;
-}
-.programlisting {
- background: #eeeeff;
- border: solid 1px #aaaaff;
- padding: 0.5em;
-}
-.variablelist {
- padding: 4px;
- margin-left: 3em;
-}
-.navigation {
- background: #ffeeee;
- border: solid 1px #ffaaaa;
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
-.navigation a {
- color: #770000;
-}
-.navigation a:visited {
- color: #550000;
-}
-.navigation .title {
- font-size: 200%;
-}</style>
+<title>XML Security Core Library API Reference.: XML Security Library Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="XML Security Library Reference Manual">
+<link rel="up" href="xmlsec-reference.html" title="Part II. XML Security Library API Reference.">
+<link rel="prev" href="xmlsec-reference.html" title="Part II. XML Security Library API Reference.">
+<link rel="next" href="xmlsec-app.html" title="app">
+<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
<style type="text/css">
table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
width: 20em;
@@ -100,73 +73,93 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
</table>
</td>
<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent">
-<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td><a accesskey="p" href="xmlsec-reference.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="xmlsec-reference.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<th width="100%" align="center">XML Security Library Reference Manual</th>
+<td><a accesskey="u" href="xmlsec-reference.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="xmlsec-reference.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="xmlsec-app.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
-<div class="CHAPTER">
-<h1>
-<a name="XMLSEC-REF"></a>XML Security Core Library API Reference.</h1>
-<div class="TOC"><dl>
-<dt><b>Table of Contents</b></dt>
+<div class="chapter">
+<div class="titlepage"><div><div><h2 class="title">
+<a name="xmlsec-ref"></a>XML Security Core Library API Reference.</h2></div></div></div>
+<div class="toc"><dl class="toc">
<dt>
-<a href="xmlsec-app.html">app</a> -- Crypto-engine independent application support function.</dt>
+<span class="refentrytitle"><a href="xmlsec-app.html">app</a></span><span class="refpurpose"> — Crypto-engine independent application support function.</span>
+</dt>
<dt>
-<a href="xmlsec-base64.html">base64</a> -- Base64 encoding/decoding functions.</dt>
+<span class="refentrytitle"><a href="xmlsec-base64.html">base64</a></span><span class="refpurpose"> — Base64 encoding/decoding functions.</span>
+</dt>
<dt>
-<a href="xmlsec-bn.html">bn</a> -- Big numbers support functions.</dt>
+<span class="refentrytitle"><a href="xmlsec-bn.html">bn</a></span><span class="refpurpose"> — Big numbers support functions.</span>
+</dt>
<dt>
-<a href="xmlsec-buffer.html">buffer</a> -- Binary buffer implementation.</dt>
+<span class="refentrytitle"><a href="xmlsec-buffer.html">buffer</a></span><span class="refpurpose"> — Binary buffer implementation.</span>
+</dt>
<dt>
-<a href="xmlsec-dl.html">dl</a> -- Dynamic crypto-engine library loading support.</dt>
+<span class="refentrytitle"><a href="xmlsec-dl.html">dl</a></span><span class="refpurpose"> — Dynamic crypto-engine library loading support.</span>
+</dt>
<dt>
-<a href="xmlsec-errors.html">errors</a> -- Error/log messages support.</dt>
+<span class="refentrytitle"><a href="xmlsec-errors.html">errors</a></span><span class="refpurpose"> — Error/log messages support.</span>
+</dt>
<dt>
-<a href="xmlsec-io.html">io</a> -- Input/output support.</dt>
+<span class="refentrytitle"><a href="xmlsec-io.html">io</a></span><span class="refpurpose"> — Input/output support.</span>
+</dt>
<dt>
-<a href="xmlsec-keyinfo.html">keyinfo</a> -- <a href="http://www.w3.org/TR/xmldsig-core/#sec-KeyInfo" target="_top"><dsig:KeyInfo/></a> node parser.</dt>
+<span class="refentrytitle"><a href="xmlsec-keyinfo.html">keyinfo</a></span><span class="refpurpose"> — <dsig:KeyInfo/> node parser.</span>
+</dt>
<dt>
-<a href="xmlsec-keysdata.html">keysdata</a> -- Crypto key data object definition.</dt>
+<span class="refentrytitle"><a href="xmlsec-keysdata.html">keysdata</a></span><span class="refpurpose"> — Crypto key data object definition.</span>
+</dt>
<dt>
-<a href="xmlsec-keys.html">keys</a> -- Crypto key object definition.</dt>
+<span class="refentrytitle"><a href="xmlsec-keys.html">keys</a></span><span class="refpurpose"> — Crypto key object definition.</span>
+</dt>
<dt>
-<a href="xmlsec-keysmngr.html">keysmngr</a> -- Keys manager object support.</dt>
+<span class="refentrytitle"><a href="xmlsec-keysmngr.html">keysmngr</a></span><span class="refpurpose"> — Keys manager object support.</span>
+</dt>
<dt>
-<a href="xmlsec-list.html">list</a> -- Generic list structure implementation.</dt>
+<span class="refentrytitle"><a href="xmlsec-list.html">list</a></span><span class="refpurpose"> — Generic list structure implementation.</span>
+</dt>
<dt>
-<a href="xmlsec-membuf.html">membuf</a> -- Memory buffer transform implementation.</dt>
+<span class="refentrytitle"><a href="xmlsec-membuf.html">membuf</a></span><span class="refpurpose"> — Memory buffer transform implementation.</span>
+</dt>
<dt>
-<a href="xmlsec-nodeset.html">nodeset</a> -- Nodeset object implementation.</dt>
+<span class="refentrytitle"><a href="xmlsec-nodeset.html">nodeset</a></span><span class="refpurpose"> — Nodeset object implementation.</span>
+</dt>
<dt>
-<a href="xmlsec-parser.html">parser</a> -- Parser transform implementation.</dt>
+<span class="refentrytitle"><a href="xmlsec-parser.html">parser</a></span><span class="refpurpose"> — Parser transform implementation.</span>
+</dt>
<dt>
-<a href="xmlsec-templates.html">templates</a> -- Dynamic templates creation functions.</dt>
+<span class="refentrytitle"><a href="xmlsec-templates.html">templates</a></span><span class="refpurpose"> — Dynamic templates creation functions.</span>
+</dt>
<dt>
-<a href="xmlsec-transforms.html">transforms</a> -- Transform object definition.</dt>
+<span class="refentrytitle"><a href="xmlsec-transforms.html">transforms</a></span><span class="refpurpose"> — Transform object definition.</span>
+</dt>
<dt>
-<a href="xmlsec-version.html">version</a> -- Version macros.</dt>
+<span class="refentrytitle"><a href="xmlsec-version.html">version</a></span><span class="refpurpose"> — Version macros.</span>
+</dt>
<dt>
-<a href="xmlsec-xmldsig.html">xmldsig</a> -- XML Digital Signature support.</dt>
+<span class="refentrytitle"><a href="xmlsec-xmldsig.html">xmldsig</a></span><span class="refpurpose"> — XML Digital Signature support.</span>
+</dt>
<dt>
-<a href="xmlsec-xmlenc.html">xmlenc</a> -- XML Encryption support.</dt>
+<span class="refentrytitle"><a href="xmlsec-xmlenc.html">xmlenc</a></span><span class="refpurpose"> — XML Encryption support.</span>
+</dt>
<dt>
-<a href="xmlsec-xmlsec.html">xmlsec</a> -- Utility functions.</dt>
+<span class="refentrytitle"><a href="xmlsec-xmlsec.html">xmlsec</a></span><span class="refpurpose"> — Utility functions.</span>
+</dt>
<dt>
-<a href="xmlsec-xmltree.html">xmltree</a> -- XML tree operations.</dt>
+<span class="refentrytitle"><a href="xmlsec-xmltree.html">xmltree</a></span><span class="refpurpose"> — XML tree operations.</span>
+</dt>
<dt>
-<a href="xmlsec-x509.html">x509</a> -- <a href="http://www.w3.org/TR/xmldsig-core/#sec-X509Certificate" target="_top"><dsig:X509Certificate/></a> node parser.</dt>
+<span class="refentrytitle"><a href="xmlsec-x509.html">x509</a></span><span class="refpurpose"> — <dsig:X509Certificate/> node parser.</span>
+</dt>
</dl></div>
<p>This section contains the API reference for xmlsec. All
the public interfaces are documented here. This reference guide is
build by extracting comments from the code sources. </p>
</div>
-<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td align="left"><a accesskey="p" href="xmlsec-reference.html"><b><<< XML Security Library API Reference.</b></a></td>
-<td align="right"><a accesskey="n" href="xmlsec-app.html"><b>app >>></b></a></td>
-</tr></table>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
</td></tr></table></td>
</tr></table></body>
</html>
diff --git a/docs/api/xmlsec-reference.html b/docs/api/xmlsec-reference.html
index 5543081..1681cf7 100644
--- a/docs/api/xmlsec-reference.html
+++ b/docs/api/xmlsec-reference.html
@@ -1,40 +1,14 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>XML Security Library API Reference.</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79">
-<link rel="HOME" title="XML Security Library Reference Manual" href="index.html">
-<link rel="PREVIOUS" title="APPENDIX B. XML Security Library Encryption Klasses." href="xmlsec-encryption-klasses.html">
-<link rel="NEXT" title="XML Security Core Library API Reference." href="xmlsec-ref.html">
-<style type="text/css">.synopsis, .classsynopsis {
- background: #eeeeee;
- border: solid 1px #aaaaaa;
- padding: 0.5em;
-}
-.programlisting {
- background: #eeeeff;
- border: solid 1px #aaaaff;
- padding: 0.5em;
-}
-.variablelist {
- padding: 4px;
- margin-left: 3em;
-}
-.navigation {
- background: #ffeeee;
- border: solid 1px #ffaaaa;
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
-.navigation a {
- color: #770000;
-}
-.navigation a:visited {
- color: #550000;
-}
-.navigation .title {
- font-size: 200%;
-}</style>
+<title>Part II. XML Security Library API Reference.: XML Security Library Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="XML Security Library Reference Manual">
+<link rel="up" href="index.html" title="XML Security Library Reference Manual">
+<link rel="prev" href="xmlsec-encryption-klasses.html" title="APPENDIX B. XML Security Library Encryption Klasses.">
+<link rel="next" href="xmlsec-ref.html" title="XML Security Core Library API Reference.">
+<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
<style type="text/css">
table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
width: 20em;
@@ -99,31 +73,175 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
</table>
</td>
<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent">
-<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td><a accesskey="p" href="xmlsec-encryption-klasses.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<th width="100%" align="center">XML Security Library Reference Manual</th>
+<td><img src="up-insensitive.png" width="16" height="16" border="0"></td>
+<td><a accesskey="p" href="xmlsec-encryption-klasses.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="xmlsec-ref.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
-<div class="PART">
-<a name="XMLSEC-REFERENCE"></a><div class="TITLEPAGE">
-<h1 class="TITLE">II. XML Security Library API Reference.</h1>
-<div class="TOC"><dl>
-<dt><b>Table of Contents</b></dt>
-<dt><a href="xmlsec-ref.html">XML Security Core Library API Reference.</a></dt>
-<dt><a href="xmlsec-openssl-ref.html">XML Security Library for OpenSLL API Reference.</a></dt>
-<dt><a href="xmlsec-gnutls-ref.html">XML Security Library for GnuTLS API Reference.</a></dt>
-<dt><a href="xmlsec-gcrypt-ref.html">XML Security Library for GCrypt API Reference.</a></dt>
-<dt><a href="xmlsec-nss-ref.html">XML Security Library for NSS API Reference.</a></dt>
-<dt><a href="xmlsec-mscrypto-ref.html">XML Security Library for MSCrypto API Reference.</a></dt>
-<dt><a href="xmlsec-index.html">XML Security Library Reference Index</a></dt>
-</dl></div>
+<div class="part">
+<div class="titlepage"><div><div><h1 class="title">
+<a name="xmlsec-reference"></a>Part II. XML Security Library API Reference.</h1></div></div></div>
+<div class="toc">
+<p><b>Table of Contents</b></p>
+<dl class="toc">
+<dt><span class="chapter"><a href="xmlsec-ref.html">XML Security Core Library API Reference.</a></span></dt>
+<dd><dl>
+<dt>
+<span class="refentrytitle"><a href="xmlsec-app.html">app</a></span><span class="refpurpose"> — Crypto-engine independent application support function.</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="xmlsec-base64.html">base64</a></span><span class="refpurpose"> — Base64 encoding/decoding functions.</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="xmlsec-bn.html">bn</a></span><span class="refpurpose"> — Big numbers support functions.</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="xmlsec-buffer.html">buffer</a></span><span class="refpurpose"> — Binary buffer implementation.</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="xmlsec-dl.html">dl</a></span><span class="refpurpose"> — Dynamic crypto-engine library loading support.</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="xmlsec-errors.html">errors</a></span><span class="refpurpose"> — Error/log messages support.</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="xmlsec-io.html">io</a></span><span class="refpurpose"> — Input/output support.</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="xmlsec-keyinfo.html">keyinfo</a></span><span class="refpurpose"> — <dsig:KeyInfo/> node parser.</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="xmlsec-keysdata.html">keysdata</a></span><span class="refpurpose"> — Crypto key data object definition.</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="xmlsec-keys.html">keys</a></span><span class="refpurpose"> — Crypto key object definition.</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="xmlsec-keysmngr.html">keysmngr</a></span><span class="refpurpose"> — Keys manager object support.</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="xmlsec-list.html">list</a></span><span class="refpurpose"> — Generic list structure implementation.</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="xmlsec-membuf.html">membuf</a></span><span class="refpurpose"> — Memory buffer transform implementation.</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="xmlsec-nodeset.html">nodeset</a></span><span class="refpurpose"> — Nodeset object implementation.</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="xmlsec-parser.html">parser</a></span><span class="refpurpose"> — Parser transform implementation.</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="xmlsec-templates.html">templates</a></span><span class="refpurpose"> — Dynamic templates creation functions.</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="xmlsec-transforms.html">transforms</a></span><span class="refpurpose"> — Transform object definition.</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="xmlsec-version.html">version</a></span><span class="refpurpose"> — Version macros.</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="xmlsec-xmldsig.html">xmldsig</a></span><span class="refpurpose"> — XML Digital Signature support.</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="xmlsec-xmlenc.html">xmlenc</a></span><span class="refpurpose"> — XML Encryption support.</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="xmlsec-xmlsec.html">xmlsec</a></span><span class="refpurpose"> — Utility functions.</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="xmlsec-xmltree.html">xmltree</a></span><span class="refpurpose"> — XML tree operations.</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="xmlsec-x509.html">x509</a></span><span class="refpurpose"> — <dsig:X509Certificate/> node parser.</span>
+</dt>
+</dl></dd>
+<dt><span class="chapter"><a href="xmlsec-openssl-ref.html">XML Security Library for OpenSLL API Reference.</a></span></dt>
+<dd><dl>
+<dt>
+<span class="refentrytitle"><a href="xmlsec-openssl-app.html">app</a></span><span class="refpurpose"> — Application functions implementation for OpenSSL.</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="xmlsec-openssl-bn.html">bn</a></span><span class="refpurpose"> — Big numbers helper functions.</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="xmlsec-openssl-crypto.html">crypto</a></span><span class="refpurpose"> — Crypto transforms implementation for OpenSSL.</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="xmlsec-openssl-evp.html">evp</a></span><span class="refpurpose"> — EVP keys data implementation.</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="xmlsec-openssl-x509.html">x509</a></span><span class="refpurpose"> — X509 certificates support implementation for OpenSSL.</span>
+</dt>
+</dl></dd>
+<dt><span class="chapter"><a href="xmlsec-gnutls-ref.html">XML Security Library for GnuTLS API Reference.</a></span></dt>
+<dd><dl>
+<dt>
+<span class="refentrytitle"><a href="xmlsec-gnutls-app.html">app</a></span><span class="refpurpose"> — Application functions implementation for GnuTLS.</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="xmlsec-gnutls-crypto.html">crypto</a></span><span class="refpurpose"> — Crypto transforms implementation for GnuTLS.</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="xmlsec-gnutls-x509.html">x509</a></span><span class="refpurpose"> — X509 certificates support implementation for GnuTLS.</span>
+</dt>
+</dl></dd>
+<dt><span class="chapter"><a href="xmlsec-gcrypt-ref.html">XML Security Library for GCrypt API Reference.</a></span></dt>
+<dd><dl>
+<dt>
+<span class="refentrytitle"><a href="xmlsec-gcrypt-app.html">app</a></span><span class="refpurpose"> — Application functions implementation for GnuTLS.</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="xmlsec-gcrypt-crypto.html">crypto</a></span><span class="refpurpose"> — Crypto transforms implementation for GCrypt.</span>
+</dt>
+</dl></dd>
+<dt><span class="chapter"><a href="xmlsec-nss-ref.html">XML Security Library for NSS API Reference.</a></span></dt>
+<dd><dl>
+<dt>
+<span class="refentrytitle"><a href="xmlsec-nss-app.html">app</a></span><span class="refpurpose"> — Application functions implementation for NSS.</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="xmlsec-nss-bignum.html">bignum</a></span><span class="refpurpose"> — Big numbers helper functions.</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="xmlsec-nss-crypto.html">crypto</a></span><span class="refpurpose"> — Crypto transforms implementation for NSS.</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="xmlsec-nss-keysstore.html">keysstore</a></span><span class="refpurpose"> — Keys store implementation for NSS.</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="xmlsec-nss-pkikeys.html">pkikeys</a></span><span class="refpurpose"> — PKI keys data implementation.</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="xmlsec-nss-x509.html">x509</a></span><span class="refpurpose"> — X509 certificates support implementation for NSS.</span>
+</dt>
+</dl></dd>
+<dt><span class="chapter"><a href="xmlsec-mscrypto-ref.html">XML Security Library for MSCrypto API Reference.</a></span></dt>
+<dd><dl>
+<dt>
+<span class="refentrytitle"><a href="xmlsec-mscrypto-app.html">app</a></span><span class="refpurpose"> — Application functions implementation for MS Crypto.</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="xmlsec-mscrypto-certkeys.html">certkeys</a></span><span class="refpurpose"> — MS Crypto certificates helper functions.</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="xmlsec-mscrypto-crypto.html">crypto</a></span><span class="refpurpose"> — Crypto transforms implementation for MS Crypto.</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="xmlsec-mscrypto-keysstore.html">keysstore</a></span><span class="refpurpose"> — Keys store implementation for MS Crypto.</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="xmlsec-mscrypto-x509.html">x509</a></span><span class="refpurpose"> — X509 certificates support implementation for MS Crypto.</span>
+</dt>
+</dl></dd>
+<dt><span class="chapter"><a href="xmlsec-index.html">XML Security Library Reference Index</a></span></dt>
+</dl>
</div>
</div>
-<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td align="left"><a accesskey="p" href="xmlsec-encryption-klasses.html"><b><<< APPENDIX B. XML Security Library Encryption Klasses.</b></a></td>
-<td align="right"><a accesskey="n" href="xmlsec-ref.html"><b>XML Security Core Library API Reference. >>></b></a></td>
-</tr></table>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
</td></tr></table></td>
</tr></table></body>
</html>
diff --git a/docs/api/xmlsec-signature-klasses.html b/docs/api/xmlsec-signature-klasses.html
index 56e5dc8..b383109 100644
--- a/docs/api/xmlsec-signature-klasses.html
+++ b/docs/api/xmlsec-signature-klasses.html
@@ -1,41 +1,14 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>APPENDIX A. XML Security Library Signature Klasses.</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79">
-<link rel="HOME" title="XML Security Library Reference Manual" href="index.html">
-<link rel="UP" title="XML Security Library Tutorial" href="xmlsec-notes.html">
-<link rel="PREVIOUS" title="Writing a custom keys manager." href="xmlsec-custom-keys-manager.html">
-<link rel="NEXT" title="APPENDIX B. XML Security Library Encryption Klasses." href="xmlsec-encryption-klasses.html">
-<style type="text/css">.synopsis, .classsynopsis {
- background: #eeeeee;
- border: solid 1px #aaaaaa;
- padding: 0.5em;
-}
-.programlisting {
- background: #eeeeff;
- border: solid 1px #aaaaff;
- padding: 0.5em;
-}
-.variablelist {
- padding: 4px;
- margin-left: 3em;
-}
-.navigation {
- background: #ffeeee;
- border: solid 1px #ffaaaa;
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
-.navigation a {
- color: #770000;
-}
-.navigation a:visited {
- color: #550000;
-}
-.navigation .title {
- font-size: 200%;
-}</style>
+<title>APPENDIX A. XML Security Library Signature Klasses.: XML Security Library Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="XML Security Library Reference Manual">
+<link rel="up" href="xmlsec-notes.html" title="Part I. XML Security Library Tutorial">
+<link rel="prev" href="xmlsec-custom-keys-manager.html" title="Writing a custom keys manager.">
+<link rel="next" href="xmlsec-encryption-klasses.html" title="APPENDIX B. XML Security Library Encryption Klasses.">
+<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
<style type="text/css">
table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
width: 20em;
@@ -100,25 +73,24 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
</table>
</td>
<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent">
-<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td><a accesskey="p" href="xmlsec-custom-keys-manager.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="xmlsec-notes.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<th width="100%" align="center">XML Security Library Reference Manual</th>
+<td><a accesskey="u" href="xmlsec-notes.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="xmlsec-custom-keys-manager.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="xmlsec-encryption-klasses.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
-<div class="CHAPTER">
-<h1>
-<a name="XMLSEC-SIGNATURE-KLASSES"></a>APPENDIX A. XML Security Library Signature Klasses.</h1>
-<div class="FIGURE">
-<a name="AEN839"></a><p><b>Figure 1. XML Security Library Signature Klasses.</b></p>
-<p><img src="images/signature-structure.png" align="CENTER"></p>
+<div class="chapter">
+<div class="titlepage"><div><div><h2 class="title">
+<a name="xmlsec-signature-klasses"></a>APPENDIX A. XML Security Library Signature Klasses.</h2></div></div></div>
+<div class="figure">
+<a name="id-1.2.16.2"></a><p class="title"><b>Figure 11. XML Security Library Signature Klasses.</b></p>
+<div class="figure-contents"><div align="center"><img src="images/signature-structure.png" align="middle" alt="XML Security Library Signature Klasses."></div></div>
</div>
+<br class="figure-break">
</div>
-<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td align="left"><a accesskey="p" href="xmlsec-custom-keys-manager.html"><b><<< Writing a custom keys manager.</b></a></td>
-<td align="right"><a accesskey="n" href="xmlsec-encryption-klasses.html"><b>APPENDIX B. XML Security Library Encryption Klasses. >>></b></a></td>
-</tr></table>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
</td></tr></table></td>
</tr></table></body>
</html>
diff --git a/docs/api/xmlsec-templates.html b/docs/api/xmlsec-templates.html
index 84a489a..3097e63 100644
--- a/docs/api/xmlsec-templates.html
+++ b/docs/api/xmlsec-templates.html
@@ -1,41 +1,14 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>templates</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79">
-<link rel="HOME" title="XML Security Library Reference Manual" href="index.html">
-<link rel="UP" title="XML Security Core Library API Reference." href="xmlsec-ref.html">
-<link rel="PREVIOUS" title="parser" href="xmlsec-parser.html">
-<link rel="NEXT" title="transforms" href="xmlsec-transforms.html">
-<style type="text/css">.synopsis, .classsynopsis {
- background: #eeeeee;
- border: solid 1px #aaaaaa;
- padding: 0.5em;
-}
-.programlisting {
- background: #eeeeff;
- border: solid 1px #aaaaff;
- padding: 0.5em;
-}
-.variablelist {
- padding: 4px;
- margin-left: 3em;
-}
-.navigation {
- background: #ffeeee;
- border: solid 1px #ffaaaa;
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
-.navigation a {
- color: #770000;
-}
-.navigation a:visited {
- color: #550000;
-}
-.navigation .title {
- font-size: 200%;
-}</style>
+<title>templates: XML Security Library Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="XML Security Library Reference Manual">
+<link rel="up" href="xmlsec-ref.html" title="XML Security Core Library API Reference.">
+<link rel="prev" href="xmlsec-parser.html" title="parser">
+<link rel="next" href="xmlsec-transforms.html" title="transforms">
+<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
<style type="text/css">
table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
width: 20em;
@@ -100,346 +73,434 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
</table>
</td>
<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent">
-<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td><a accesskey="p" href="xmlsec-parser.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="xmlsec-ref.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description"> <span class="dim">|</span>
+ <a href="#xmlsec-templates.description" class="shortcut">Description</a></span>
+</td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<th width="100%" align="center">XML Security Library Reference Manual</th>
+<td><a accesskey="u" href="xmlsec-ref.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="xmlsec-parser.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="xmlsec-transforms.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
-<h1>
-<a name="XMLSEC-TEMPLATES"></a>templates</h1>
-<div class="REFNAMEDIV">
-<a name="AEN16905"></a><h2>Name</h2>templates -- Dynamic templates creation functions.</div>
-<div class="REFSECT1">
-<a name="XMLSEC-TEMPLATES.FUNCTIONS"></a><h2>Functions</h2>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN16910"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
+<div class="refentry">
+<a name="xmlsec-templates"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="xmlsec-templates.top_of_page"></a>templates</span></h2>
+<p>templates — Dynamic templates creation functions.</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="xmlsec-templates.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
<tbody>
<tr>
-<td><font><span class="RETURNVALUE">xmlNodePtr</span></font></td>
-<td>
-<a href="xmlsec-templates.html#XMLSECTMPLSIGNATURECREATE">xmlSecTmplSignatureCreate</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlNodePtr</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-templates.html#xmlSecTmplSignatureCreate" title="xmlSecTmplSignatureCreate ()">xmlSecTmplSignatureCreate</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlNodePtr</span></font></td>
-<td>
-<a href="xmlsec-templates.html#XMLSECTMPLSIGNATURECREATENSPREF">xmlSecTmplSignatureCreateNsPref</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlNodePtr</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-templates.html#xmlSecTmplSignatureCreateNsPref" title="xmlSecTmplSignatureCreateNsPref ()">xmlSecTmplSignatureCreateNsPref</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlNodePtr</span></font></td>
-<td>
-<a href="xmlsec-templates.html#XMLSECTMPLSIGNATUREENSUREKEYINFO">xmlSecTmplSignatureEnsureKeyInfo</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlNodePtr</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-templates.html#xmlSecTmplSignatureEnsureKeyInfo" title="xmlSecTmplSignatureEnsureKeyInfo ()">xmlSecTmplSignatureEnsureKeyInfo</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlNodePtr</span></font></td>
-<td>
-<a href="xmlsec-templates.html#XMLSECTMPLSIGNATUREADDREFERENCE">xmlSecTmplSignatureAddReference</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlNodePtr</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-templates.html#xmlSecTmplSignatureAddReference" title="xmlSecTmplSignatureAddReference ()">xmlSecTmplSignatureAddReference</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlNodePtr</span></font></td>
-<td>
-<a href="xmlsec-templates.html#XMLSECTMPLSIGNATUREADDOBJECT">xmlSecTmplSignatureAddObject</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlNodePtr</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-templates.html#xmlSecTmplSignatureAddObject" title="xmlSecTmplSignatureAddObject ()">xmlSecTmplSignatureAddObject</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlNodePtr</span></font></td>
-<td>
-<a href="xmlsec-templates.html#XMLSECTMPLSIGNATUREGETSIGNMETHODNODE">xmlSecTmplSignatureGetSignMethodNode</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlNodePtr</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-templates.html#xmlSecTmplSignatureGetSignMethodNode" title="xmlSecTmplSignatureGetSignMethodNode ()">xmlSecTmplSignatureGetSignMethodNode</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlNodePtr</span></font></td>
-<td>
-<a href="xmlsec-templates.html#XMLSECTMPLSIGNATUREGETC14NMETHODNODE">xmlSecTmplSignatureGetC14NMethodNode</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlNodePtr</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-templates.html#xmlSecTmplSignatureGetC14NMethodNode" title="xmlSecTmplSignatureGetC14NMethodNode ()">xmlSecTmplSignatureGetC14NMethodNode</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlNodePtr</span></font></td>
-<td>
-<a href="xmlsec-templates.html#XMLSECTMPLREFERENCEADDTRANSFORM">xmlSecTmplReferenceAddTransform</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlNodePtr</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-templates.html#xmlSecTmplReferenceAddTransform" title="xmlSecTmplReferenceAddTransform ()">xmlSecTmplReferenceAddTransform</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlNodePtr</span></font></td>
-<td>
-<a href="xmlsec-templates.html#XMLSECTMPLOBJECTADDSIGNPROPERTIES">xmlSecTmplObjectAddSignProperties</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlNodePtr</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-templates.html#xmlSecTmplObjectAddSignProperties" title="xmlSecTmplObjectAddSignProperties ()">xmlSecTmplObjectAddSignProperties</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlNodePtr</span></font></td>
-<td>
-<a href="xmlsec-templates.html#XMLSECTMPLOBJECTADDMANIFEST">xmlSecTmplObjectAddManifest</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlNodePtr</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-templates.html#xmlSecTmplObjectAddManifest" title="xmlSecTmplObjectAddManifest ()">xmlSecTmplObjectAddManifest</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlNodePtr</span></font></td>
-<td>
-<a href="xmlsec-templates.html#XMLSECTMPLMANIFESTADDREFERENCE">xmlSecTmplManifestAddReference</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlNodePtr</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-templates.html#xmlSecTmplManifestAddReference" title="xmlSecTmplManifestAddReference ()">xmlSecTmplManifestAddReference</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlNodePtr</span></font></td>
-<td>
-<a href="xmlsec-templates.html#XMLSECTMPLENCDATACREATE">xmlSecTmplEncDataCreate</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlNodePtr</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-templates.html#xmlSecTmplEncDataCreate" title="xmlSecTmplEncDataCreate ()">xmlSecTmplEncDataCreate</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlNodePtr</span></font></td>
-<td>
-<a href="xmlsec-templates.html#XMLSECTMPLENCDATAENSUREKEYINFO">xmlSecTmplEncDataEnsureKeyInfo</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlNodePtr</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-templates.html#xmlSecTmplEncDataEnsureKeyInfo" title="xmlSecTmplEncDataEnsureKeyInfo ()">xmlSecTmplEncDataEnsureKeyInfo</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlNodePtr</span></font></td>
-<td>
-<a href="xmlsec-templates.html#XMLSECTMPLENCDATAENSUREENCPROPERTIES">xmlSecTmplEncDataEnsureEncProperties</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlNodePtr</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-templates.html#xmlSecTmplEncDataEnsureEncProperties" title="xmlSecTmplEncDataEnsureEncProperties ()">xmlSecTmplEncDataEnsureEncProperties</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlNodePtr</span></font></td>
-<td>
-<a href="xmlsec-templates.html#XMLSECTMPLENCDATAADDENCPROPERTY">xmlSecTmplEncDataAddEncProperty</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlNodePtr</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-templates.html#xmlSecTmplEncDataAddEncProperty" title="xmlSecTmplEncDataAddEncProperty ()">xmlSecTmplEncDataAddEncProperty</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlNodePtr</span></font></td>
-<td>
-<a href="xmlsec-templates.html#XMLSECTMPLENCDATAENSURECIPHERVALUE">xmlSecTmplEncDataEnsureCipherValue</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlNodePtr</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-templates.html#xmlSecTmplEncDataEnsureCipherValue" title="xmlSecTmplEncDataEnsureCipherValue ()">xmlSecTmplEncDataEnsureCipherValue</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlNodePtr</span></font></td>
-<td>
-<a href="xmlsec-templates.html#XMLSECTMPLENCDATAENSURECIPHERREFERENCE">xmlSecTmplEncDataEnsureCipherReference</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlNodePtr</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-templates.html#xmlSecTmplEncDataEnsureCipherReference" title="xmlSecTmplEncDataEnsureCipherReference ()">xmlSecTmplEncDataEnsureCipherReference</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlNodePtr</span></font></td>
-<td>
-<a href="xmlsec-templates.html#XMLSECTMPLENCDATAGETENCMETHODNODE">xmlSecTmplEncDataGetEncMethodNode</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlNodePtr</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-templates.html#xmlSecTmplEncDataGetEncMethodNode" title="xmlSecTmplEncDataGetEncMethodNode ()">xmlSecTmplEncDataGetEncMethodNode</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlNodePtr</span></font></td>
-<td>
-<a href="xmlsec-templates.html#XMLSECTMPLCIPHERREFERENCEADDTRANSFORM">xmlSecTmplCipherReferenceAddTransform</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlNodePtr</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-templates.html#xmlSecTmplCipherReferenceAddTransform" title="xmlSecTmplCipherReferenceAddTransform ()">xmlSecTmplCipherReferenceAddTransform</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlNodePtr</span></font></td>
-<td>
-<a href="xmlsec-templates.html#XMLSECTMPLREFERENCELISTADDDATAREFERENCE">xmlSecTmplReferenceListAddDataReference</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlNodePtr</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-templates.html#xmlSecTmplReferenceListAddDataReference" title="xmlSecTmplReferenceListAddDataReference ()">xmlSecTmplReferenceListAddDataReference</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlNodePtr</span></font></td>
-<td>
-<a href="xmlsec-templates.html#XMLSECTMPLREFERENCELISTADDKEYREFERENCE">xmlSecTmplReferenceListAddKeyReference</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlNodePtr</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-templates.html#xmlSecTmplReferenceListAddKeyReference" title="xmlSecTmplReferenceListAddKeyReference ()">xmlSecTmplReferenceListAddKeyReference</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlNodePtr</span></font></td>
-<td>
-<a href="xmlsec-templates.html#XMLSECTMPLKEYINFOADDKEYNAME">xmlSecTmplKeyInfoAddKeyName</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlNodePtr</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-templates.html#xmlSecTmplKeyInfoAddKeyName" title="xmlSecTmplKeyInfoAddKeyName ()">xmlSecTmplKeyInfoAddKeyName</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlNodePtr</span></font></td>
-<td>
-<a href="xmlsec-templates.html#XMLSECTMPLKEYINFOADDKEYVALUE">xmlSecTmplKeyInfoAddKeyValue</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlNodePtr</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-templates.html#xmlSecTmplKeyInfoAddKeyValue" title="xmlSecTmplKeyInfoAddKeyValue ()">xmlSecTmplKeyInfoAddKeyValue</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlNodePtr</span></font></td>
-<td>
-<a href="xmlsec-templates.html#XMLSECTMPLKEYINFOADDX509DATA">xmlSecTmplKeyInfoAddX509Data</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlNodePtr</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-templates.html#xmlSecTmplKeyInfoAddX509Data" title="xmlSecTmplKeyInfoAddX509Data ()">xmlSecTmplKeyInfoAddX509Data</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlNodePtr</span></font></td>
-<td>
-<a href="xmlsec-templates.html#XMLSECTMPLKEYINFOADDRETRIEVALMETHOD">xmlSecTmplKeyInfoAddRetrievalMethod</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlNodePtr</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-templates.html#xmlSecTmplKeyInfoAddRetrievalMethod" title="xmlSecTmplKeyInfoAddRetrievalMethod ()">xmlSecTmplKeyInfoAddRetrievalMethod</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlNodePtr</span></font></td>
-<td>
-<a href="xmlsec-templates.html#XMLSECTMPLRETRIEVALMETHODADDTRANSFORM">xmlSecTmplRetrievalMethodAddTransform</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlNodePtr</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-templates.html#xmlSecTmplRetrievalMethodAddTransform" title="xmlSecTmplRetrievalMethodAddTransform ()">xmlSecTmplRetrievalMethodAddTransform</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlNodePtr</span></font></td>
-<td>
-<a href="xmlsec-templates.html#XMLSECTMPLKEYINFOADDENCRYPTEDKEY">xmlSecTmplKeyInfoAddEncryptedKey</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlNodePtr</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-templates.html#xmlSecTmplKeyInfoAddEncryptedKey" title="xmlSecTmplKeyInfoAddEncryptedKey ()">xmlSecTmplKeyInfoAddEncryptedKey</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlNodePtr</span></font></td>
-<td>
-<a href="xmlsec-templates.html#XMLSECTMPLX509DATAADDISSUERSERIAL">xmlSecTmplX509DataAddIssuerSerial</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlNodePtr</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-templates.html#xmlSecTmplX509DataAddIssuerSerial" title="xmlSecTmplX509DataAddIssuerSerial ()">xmlSecTmplX509DataAddIssuerSerial</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlNodePtr</span></font></td>
-<td>
-<a href="xmlsec-templates.html#XMLSECTMPLX509ISSUERSERIALADDISSUERNAME">xmlSecTmplX509IssuerSerialAddIssuerName</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlNodePtr</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-templates.html#xmlSecTmplX509IssuerSerialAddIssuerName" title="xmlSecTmplX509IssuerSerialAddIssuerName ()">xmlSecTmplX509IssuerSerialAddIssuerName</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlNodePtr</span></font></td>
-<td>
-<a href="xmlsec-templates.html#XMLSECTMPLX509ISSUERSERIALADDSERIALNUMBER">xmlSecTmplX509IssuerSerialAddSerialNumber</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlNodePtr</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-templates.html#xmlSecTmplX509IssuerSerialAddSerialNumber" title="xmlSecTmplX509IssuerSerialAddSerialNumber ()">xmlSecTmplX509IssuerSerialAddSerialNumber</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlNodePtr</span></font></td>
-<td>
-<a href="xmlsec-templates.html#XMLSECTMPLX509DATAADDSUBJECTNAME">xmlSecTmplX509DataAddSubjectName</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlNodePtr</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-templates.html#xmlSecTmplX509DataAddSubjectName" title="xmlSecTmplX509DataAddSubjectName ()">xmlSecTmplX509DataAddSubjectName</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlNodePtr</span></font></td>
-<td>
-<a href="xmlsec-templates.html#XMLSECTMPLX509DATAADDSKI">xmlSecTmplX509DataAddSKI</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlNodePtr</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-templates.html#xmlSecTmplX509DataAddSKI" title="xmlSecTmplX509DataAddSKI ()">xmlSecTmplX509DataAddSKI</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlNodePtr</span></font></td>
-<td>
-<a href="xmlsec-templates.html#XMLSECTMPLX509DATAADDCERTIFICATE">xmlSecTmplX509DataAddCertificate</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlNodePtr</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-templates.html#xmlSecTmplX509DataAddCertificate" title="xmlSecTmplX509DataAddCertificate ()">xmlSecTmplX509DataAddCertificate</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlNodePtr</span></font></td>
-<td>
-<a href="xmlsec-templates.html#XMLSECTMPLX509DATAADDCRL">xmlSecTmplX509DataAddCRL</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlNodePtr</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-templates.html#xmlSecTmplX509DataAddCRL" title="xmlSecTmplX509DataAddCRL ()">xmlSecTmplX509DataAddCRL</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-templates.html#XMLSECTMPLTRANSFORMADDHMACOUTPUTLENGTH">xmlSecTmplTransformAddHmacOutputLength</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-templates.html#xmlSecTmplTransformAddHmacOutputLength" title="xmlSecTmplTransformAddHmacOutputLength ()">xmlSecTmplTransformAddHmacOutputLength</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-templates.html#XMLSECTMPLTRANSFORMADDRSAOAEPPARAM">xmlSecTmplTransformAddRsaOaepParam</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-templates.html#xmlSecTmplTransformAddRsaOaepParam" title="xmlSecTmplTransformAddRsaOaepParam ()">xmlSecTmplTransformAddRsaOaepParam</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-templates.html#XMLSECTMPLTRANSFORMADDXSLTSTYLESHEET">xmlSecTmplTransformAddXsltStylesheet</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-templates.html#xmlSecTmplTransformAddXsltStylesheet" title="xmlSecTmplTransformAddXsltStylesheet ()">xmlSecTmplTransformAddXsltStylesheet</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-templates.html#XMLSECTMPLTRANSFORMADDC14NINCLNAMESPACES">xmlSecTmplTransformAddC14NInclNamespaces</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-templates.html#xmlSecTmplTransformAddC14NInclNamespaces" title="xmlSecTmplTransformAddC14NInclNamespaces ()">xmlSecTmplTransformAddC14NInclNamespaces</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-templates.html#XMLSECTMPLTRANSFORMADDXPATH">xmlSecTmplTransformAddXPath</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-templates.html#xmlSecTmplTransformAddXPath" title="xmlSecTmplTransformAddXPath ()">xmlSecTmplTransformAddXPath</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-templates.html#XMLSECTMPLTRANSFORMADDXPATH2">xmlSecTmplTransformAddXPath2</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-templates.html#xmlSecTmplTransformAddXPath2" title="xmlSecTmplTransformAddXPath2 ()">xmlSecTmplTransformAddXPath2</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-templates.html#XMLSECTMPLTRANSFORMADDXPOINTER">xmlSecTmplTransformAddXPointer</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-templates.html#xmlSecTmplTransformAddXPointer" title="xmlSecTmplTransformAddXPointer ()">xmlSecTmplTransformAddXPointer</a> <span class="c_punctuation">()</span>
</td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
-</div>
-<div class="REFSECT1">
-<a name="XMLSEC-TEMPLATES.DESCRIPTION"></a><h2>Description</h2>
-<p>Dynamic templates creation functions.</p>
-</div>
-<div class="REFSECT1">
-<a name="XMLSEC-TEMPLATES.FUNCTIONS_DETAILS"></a><h2>Functions</h2>
-<div class="REFSECT2">
-<a name="XMLSECTMPLSIGNATURECREATE"></a><h3>xmlSecTmplSignatureCreate ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlNodePtr</span></font>
-xmlSecTmplSignatureCreate (<code class="PARAMETER"><font><span class="TYPE">xmlDocPtr</span></font> doc</code>,
- <code class="PARAMETER"><font><span class="TYPE">xmlSecTransformId</span></font> c14nMethodId</code>,
- <code class="PARAMETER"><font><span class="TYPE">xmlSecTransformId</span></font> signMethodId</code>,
- <code class="PARAMETER">const <font><span class="TYPE">xmlChar</span></font> *id</code>);</pre>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="xmlsec-templates.description"></a><h2>Description</h2>
+<p>
+Dynamic templates creation functions.
+</p>
+</div>
+<div class="refsect1">
+<a name="xmlsec-templates.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="xmlSecTmplSignatureCreate"></a><h3>xmlSecTmplSignatureCreate ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlNodePtr</span></font>
+xmlSecTmplSignatureCreate (<em class="parameter"><code><font><span class="type">xmlDocPtr</span></font> doc</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlSecTransformId</span></font> c14nMethodId</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlSecTransformId</span></font> signMethodId</code></em>,
+ <em class="parameter"><code>const <font><span class="type">xmlChar</span></font> *id</code></em>);</pre>
<p>Creates new <dsig:Signature/> node with the mandatory <dsig:SignedInfo/>,
<dsig:CanonicalizationMethod/>, <dsig:SignatureMethod/> and
<dsig:SignatureValue/> children and sub-children.
The application is responsible for inserting the returned node
in the XML document.</p>
-<div class="REFSECT3">
-<a name="AEN17225"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN17227"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecTmplSignatureCreate.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>doc</p></td>
-<td><p>the pointer to signature document or NULL; in the
-second case, application must later call <code class="PARAMETER">xmlSetTreeDoc</code>
+<td class="parameter_name"><p>doc</p></td>
+<td class="parameter_description"><p>the pointer to signature document or NULL; in the
+second case, application must later call <em class="parameter"><code>xmlSetTreeDoc</code></em>
to ensure that all the children nodes have correct
pointer to XML document.</p></td>
-<td> </td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>c14nMethodId</p></td>
-<td><p>the signature canonicalization method.</p></td>
-<td> </td>
+<td class="parameter_name"><p>c14nMethodId</p></td>
+<td class="parameter_description"><p>the signature canonicalization method.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>signMethodId</p></td>
-<td><p>the signature method.</p></td>
-<td> </td>
+<td class="parameter_name"><p>signMethodId</p></td>
+<td class="parameter_description"><p>the signature method.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>id</p></td>
-<td><p>the node id (may be NULL).</p></td>
-<td> </td>
+<td class="parameter_name"><p>id</p></td>
+<td class="parameter_description"><p>the node id (may be NULL).</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN17255"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTmplSignatureCreate.returns"></a><h4>Returns</h4>
<p> the pointer to newly created <dsig:Signature/> node or NULL if an
error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTMPLSIGNATURECREATENSPREF"></a><h3>xmlSecTmplSignatureCreateNsPref ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlNodePtr</span></font>
-xmlSecTmplSignatureCreateNsPref (<code class="PARAMETER"><font><span class="TYPE">xmlDocPtr</span></font> doc</code>,
- <code class="PARAMETER"><font><span class="TYPE">xmlSecTransformId</span></font> c14nMethodId</code>,
- <code class="PARAMETER"><font><span class="TYPE">xmlSecTransformId</span></font> signMethodId</code>,
- <code class="PARAMETER">const <font><span class="TYPE">xmlChar</span></font> *id</code>,
- <code class="PARAMETER">const <font><span class="TYPE">xmlChar</span></font> *nsPrefix</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecTmplSignatureCreateNsPref"></a><h3>xmlSecTmplSignatureCreateNsPref ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlNodePtr</span></font>
+xmlSecTmplSignatureCreateNsPref (<em class="parameter"><code><font><span class="type">xmlDocPtr</span></font> doc</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlSecTransformId</span></font> c14nMethodId</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlSecTransformId</span></font> signMethodId</code></em>,
+ <em class="parameter"><code>const <font><span class="type">xmlChar</span></font> *id</code></em>,
+ <em class="parameter"><code>const <font><span class="type">xmlChar</span></font> *nsPrefix</code></em>);</pre>
<p>Creates new <dsig:Signature/> node with the mandatory
<dsig:SignedInfo/>, <dsig:CanonicalizationMethod/>,
<dsig:SignatureMethod/> and <dsig:SignatureValue/> children and
@@ -448,1614 +509,1532 @@ that it will define the http://www.w3.org/2000/09/xmldsig#
namespace with the given prefix that will be used for all of the
appropriate child nodes. The application is responsible for
inserting the returned node in the XML document.</p>
-<div class="REFSECT3">
-<a name="AEN17281"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN17283"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecTmplSignatureCreateNsPref.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>doc</p></td>
-<td><p>the pointer to signature document or NULL; in the
-second case, application must later call <code class="PARAMETER">xmlSetTreeDoc</code>
+<td class="parameter_name"><p>doc</p></td>
+<td class="parameter_description"><p>the pointer to signature document or NULL; in the
+second case, application must later call <em class="parameter"><code>xmlSetTreeDoc</code></em>
to ensure that all the children nodes have correct
pointer to XML document.</p></td>
-<td> </td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>c14nMethodId</p></td>
-<td><p>the signature canonicalization method.</p></td>
-<td> </td>
+<td class="parameter_name"><p>c14nMethodId</p></td>
+<td class="parameter_description"><p>the signature canonicalization method.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>signMethodId</p></td>
-<td><p>the signature method.</p></td>
-<td> </td>
+<td class="parameter_name"><p>signMethodId</p></td>
+<td class="parameter_description"><p>the signature method.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>id</p></td>
-<td><p>the node id (may be NULL).</p></td>
-<td> </td>
+<td class="parameter_name"><p>id</p></td>
+<td class="parameter_description"><p>the node id (may be NULL).</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>nsPrefix</p></td>
-<td><p>the namespace prefix for the signature element (e.g. "dsig"), or NULL</p></td>
-<td> </td>
+<td class="parameter_name"><p>nsPrefix</p></td>
+<td class="parameter_description"><p>the namespace prefix for the signature element (e.g. "dsig"), or NULL</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN17317"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTmplSignatureCreateNsPref.returns"></a><h4>Returns</h4>
<p> the pointer to newly created <dsig:Signature/> node or NULL if an
error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTMPLSIGNATUREENSUREKEYINFO"></a><h3>xmlSecTmplSignatureEnsureKeyInfo ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlNodePtr</span></font>
-xmlSecTmplSignatureEnsureKeyInfo (<code class="PARAMETER"><font><span class="TYPE">xmlNodePtr</span></font> signNode</code>,
- <code class="PARAMETER">const <font><span class="TYPE">xmlChar</span></font> *id</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecTmplSignatureEnsureKeyInfo"></a><h3>xmlSecTmplSignatureEnsureKeyInfo ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlNodePtr</span></font>
+xmlSecTmplSignatureEnsureKeyInfo (<em class="parameter"><code><font><span class="type">xmlNodePtr</span></font> signNode</code></em>,
+ <em class="parameter"><code>const <font><span class="type">xmlChar</span></font> *id</code></em>);</pre>
<p>Adds (if necessary) <dsig:KeyInfo/> node to the <dsig:Signature/>
-node <code class="PARAMETER">signNode</code>
+node <em class="parameter"><code>signNode</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN17335"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN17337"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecTmplSignatureEnsureKeyInfo.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>signNode</p></td>
-<td><p>the pointer to <dsig:Signature/> node.</p></td>
-<td> </td>
+<td class="parameter_name"><p>signNode</p></td>
+<td class="parameter_description"><p>the pointer to <dsig:Signature/> node.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>id</p></td>
-<td><p>the node id (may be NULL).</p></td>
-<td> </td>
+<td class="parameter_name"><p>id</p></td>
+<td class="parameter_description"><p>the node id (may be NULL).</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN17352"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTmplSignatureEnsureKeyInfo.returns"></a><h4>Returns</h4>
<p> the pointer to newly created <dsig:KeyInfo/> node or NULL if an
error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTMPLSIGNATUREADDREFERENCE"></a><h3>xmlSecTmplSignatureAddReference ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlNodePtr</span></font>
-xmlSecTmplSignatureAddReference (<code class="PARAMETER"><font><span class="TYPE">xmlNodePtr</span></font> signNode</code>,
- <code class="PARAMETER"><font><span class="TYPE">xmlSecTransformId</span></font> digestMethodId</code>,
- <code class="PARAMETER">const <font><span class="TYPE">xmlChar</span></font> *id</code>,
- <code class="PARAMETER">const <font><span class="TYPE">xmlChar</span></font> *uri</code>,
- <code class="PARAMETER">const <font><span class="TYPE">xmlChar</span></font> *type</code>);</pre>
-<p>Adds <dsig:Reference/> node with given URI (<code class="PARAMETER">uri</code>
-), Id (<code class="PARAMETER">id</code>
+<div class="refsect2">
+<a name="xmlSecTmplSignatureAddReference"></a><h3>xmlSecTmplSignatureAddReference ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlNodePtr</span></font>
+xmlSecTmplSignatureAddReference (<em class="parameter"><code><font><span class="type">xmlNodePtr</span></font> signNode</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlSecTransformId</span></font> digestMethodId</code></em>,
+ <em class="parameter"><code>const <font><span class="type">xmlChar</span></font> *id</code></em>,
+ <em class="parameter"><code>const <font><span class="type">xmlChar</span></font> *uri</code></em>,
+ <em class="parameter"><code>const <font><span class="type">xmlChar</span></font> *type</code></em>);</pre>
+<p>Adds <dsig:Reference/> node with given URI (<em class="parameter"><code>uri</code></em>
+), Id (<em class="parameter"><code>id</code></em>
) and
-Type (<code class="PARAMETER">type</code>
+Type (<em class="parameter"><code>type</code></em>
) attributes and the required children <dsig:DigestMethod/> and
-<dsig:DigestValue/> to the <dsig:SignedInfo/> child of <code class="PARAMETER">signNode</code>
+<dsig:DigestValue/> to the <dsig:SignedInfo/> child of <em class="parameter"><code>signNode</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN17382"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN17384"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecTmplSignatureAddReference.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>signNode</p></td>
-<td><p>the pointer to <dsig:Signature/> node.</p></td>
-<td> </td>
+<td class="parameter_name"><p>signNode</p></td>
+<td class="parameter_description"><p>the pointer to <dsig:Signature/> node.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>digestMethodId</p></td>
-<td><p>the reference digest method.</p></td>
-<td> </td>
+<td class="parameter_name"><p>digestMethodId</p></td>
+<td class="parameter_description"><p>the reference digest method.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>id</p></td>
-<td><p>the node id (may be NULL).</p></td>
-<td> </td>
+<td class="parameter_name"><p>id</p></td>
+<td class="parameter_description"><p>the node id (may be NULL).</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>uri</p></td>
-<td><p>the reference node uri (may be NULL).</p></td>
-<td> </td>
+<td class="parameter_name"><p>uri</p></td>
+<td class="parameter_description"><p>the reference node uri (may be NULL).</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>type</p></td>
-<td><p>the reference node type (may be NULL).</p></td>
-<td> </td>
+<td class="parameter_name"><p>type</p></td>
+<td class="parameter_description"><p>the reference node type (may be NULL).</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN17417"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTmplSignatureAddReference.returns"></a><h4>Returns</h4>
<p> the pointer to newly created <dsig:Reference/> node or NULL
if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTMPLSIGNATUREADDOBJECT"></a><h3>xmlSecTmplSignatureAddObject ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlNodePtr</span></font>
-xmlSecTmplSignatureAddObject (<code class="PARAMETER"><font><span class="TYPE">xmlNodePtr</span></font> signNode</code>,
- <code class="PARAMETER">const <font><span class="TYPE">xmlChar</span></font> *id</code>,
- <code class="PARAMETER">const <font><span class="TYPE">xmlChar</span></font> *mimeType</code>,
- <code class="PARAMETER">const <font><span class="TYPE">xmlChar</span></font> *encoding</code>);</pre>
-<p>Adds <dsig:Object/> node to the <dsig:Signature/> node <code class="PARAMETER">signNode</code>
+<div class="refsect2">
+<a name="xmlSecTmplSignatureAddObject"></a><h3>xmlSecTmplSignatureAddObject ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlNodePtr</span></font>
+xmlSecTmplSignatureAddObject (<em class="parameter"><code><font><span class="type">xmlNodePtr</span></font> signNode</code></em>,
+ <em class="parameter"><code>const <font><span class="type">xmlChar</span></font> *id</code></em>,
+ <em class="parameter"><code>const <font><span class="type">xmlChar</span></font> *mimeType</code></em>,
+ <em class="parameter"><code>const <font><span class="type">xmlChar</span></font> *encoding</code></em>);</pre>
+<p>Adds <dsig:Object/> node to the <dsig:Signature/> node <em class="parameter"><code>signNode</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN17441"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN17443"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecTmplSignatureAddObject.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>signNode</p></td>
-<td><p>the pointer to <dsig:Signature/> node.</p></td>
-<td> </td>
+<td class="parameter_name"><p>signNode</p></td>
+<td class="parameter_description"><p>the pointer to <dsig:Signature/> node.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>id</p></td>
-<td><p>the node id (may be NULL).</p></td>
-<td> </td>
+<td class="parameter_name"><p>id</p></td>
+<td class="parameter_description"><p>the node id (may be NULL).</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>mimeType</p></td>
-<td><p>the object mime type (may be NULL).</p></td>
-<td> </td>
+<td class="parameter_name"><p>mimeType</p></td>
+<td class="parameter_description"><p>the object mime type (may be NULL).</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>encoding</p></td>
-<td><p>the object encoding (may be NULL).</p></td>
-<td> </td>
+<td class="parameter_name"><p>encoding</p></td>
+<td class="parameter_description"><p>the object encoding (may be NULL).</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN17470"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTmplSignatureAddObject.returns"></a><h4>Returns</h4>
<p> the pointer to newly created <dsig:Object/> node or NULL
if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTMPLSIGNATUREGETSIGNMETHODNODE"></a><h3>xmlSecTmplSignatureGetSignMethodNode ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlNodePtr</span></font>
-xmlSecTmplSignatureGetSignMethodNode (<code class="PARAMETER"><font><span class="TYPE">xmlNodePtr</span></font> signNode</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecTmplSignatureGetSignMethodNode"></a><h3>xmlSecTmplSignatureGetSignMethodNode ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlNodePtr</span></font>
+xmlSecTmplSignatureGetSignMethodNode (<em class="parameter"><code><font><span class="type">xmlNodePtr</span></font> signNode</code></em>);</pre>
<p>Gets pointer to <dsig:SignatureMethod/> child of <dsig:KeyInfo/> node.</p>
-<div class="REFSECT3">
-<a name="AEN17484"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN17486"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecTmplSignatureGetSignMethodNode.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>signNode</p></td>
-<td><p>the pointer to <dsig:Signature /> node.</p></td>
-<td> </td>
+<td class="parameter_name"><p>signNode</p></td>
+<td class="parameter_description"><p>the pointer to <dsig:Signature /> node.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN17495"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTmplSignatureGetSignMethodNode.returns"></a><h4>Returns</h4>
<p> pointer to <dsig:SignatureMethod /> node or NULL if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTMPLSIGNATUREGETC14NMETHODNODE"></a><h3>xmlSecTmplSignatureGetC14NMethodNode ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlNodePtr</span></font>
-xmlSecTmplSignatureGetC14NMethodNode (<code class="PARAMETER"><font><span class="TYPE">xmlNodePtr</span></font> signNode</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecTmplSignatureGetC14NMethodNode"></a><h3>xmlSecTmplSignatureGetC14NMethodNode ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlNodePtr</span></font>
+xmlSecTmplSignatureGetC14NMethodNode (<em class="parameter"><code><font><span class="type">xmlNodePtr</span></font> signNode</code></em>);</pre>
<p>Gets pointer to <dsig:CanonicalizationMethod/> child of <dsig:KeyInfo/> node.</p>
-<div class="REFSECT3">
-<a name="AEN17509"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN17511"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecTmplSignatureGetC14NMethodNode.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>signNode</p></td>
-<td><p>the pointer to <dsig:Signature /> node.</p></td>
-<td> </td>
+<td class="parameter_name"><p>signNode</p></td>
+<td class="parameter_description"><p>the pointer to <dsig:Signature /> node.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN17520"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTmplSignatureGetC14NMethodNode.returns"></a><h4>Returns</h4>
<p> pointer to <dsig:CanonicalizationMethod /> node or NULL if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTMPLREFERENCEADDTRANSFORM"></a><h3>xmlSecTmplReferenceAddTransform ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlNodePtr</span></font>
-xmlSecTmplReferenceAddTransform (<code class="PARAMETER"><font><span class="TYPE">xmlNodePtr</span></font> referenceNode</code>,
- <code class="PARAMETER"><font><span class="TYPE">xmlSecTransformId</span></font> transformId</code>);</pre>
-<p>Adds <dsig:Transform/> node to the <dsig:Reference/> node <code class="PARAMETER">referenceNode</code>
+<div class="refsect2">
+<a name="xmlSecTmplReferenceAddTransform"></a><h3>xmlSecTmplReferenceAddTransform ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlNodePtr</span></font>
+xmlSecTmplReferenceAddTransform (<em class="parameter"><code><font><span class="type">xmlNodePtr</span></font> referenceNode</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlSecTransformId</span></font> transformId</code></em>);</pre>
+<p>Adds <dsig:Transform/> node to the <dsig:Reference/> node <em class="parameter"><code>referenceNode</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN17538"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN17540"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecTmplReferenceAddTransform.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>referenceNode</p></td>
-<td><p>the pointer to <dsig:Reference/> node.</p></td>
-<td> </td>
+<td class="parameter_name"><p>referenceNode</p></td>
+<td class="parameter_description"><p>the pointer to <dsig:Reference/> node.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>transformId</p></td>
-<td><p>the transform method id.</p></td>
-<td> </td>
+<td class="parameter_name"><p>transformId</p></td>
+<td class="parameter_description"><p>the transform method id.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN17555"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTmplReferenceAddTransform.returns"></a><h4>Returns</h4>
<p> the pointer to newly created <dsig:Transform/> node or NULL if an
error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTMPLOBJECTADDSIGNPROPERTIES"></a><h3>xmlSecTmplObjectAddSignProperties ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlNodePtr</span></font>
-xmlSecTmplObjectAddSignProperties (<code class="PARAMETER"><font><span class="TYPE">xmlNodePtr</span></font> objectNode</code>,
- <code class="PARAMETER">const <font><span class="TYPE">xmlChar</span></font> *id</code>,
- <code class="PARAMETER">const <font><span class="TYPE">xmlChar</span></font> *target</code>);</pre>
-<p>Adds <dsig:SignatureProperties/> node to the <dsig:Object/> node <code class="PARAMETER">objectNode</code>
+<div class="refsect2">
+<a name="xmlSecTmplObjectAddSignProperties"></a><h3>xmlSecTmplObjectAddSignProperties ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlNodePtr</span></font>
+xmlSecTmplObjectAddSignProperties (<em class="parameter"><code><font><span class="type">xmlNodePtr</span></font> objectNode</code></em>,
+ <em class="parameter"><code>const <font><span class="type">xmlChar</span></font> *id</code></em>,
+ <em class="parameter"><code>const <font><span class="type">xmlChar</span></font> *target</code></em>);</pre>
+<p>Adds <dsig:SignatureProperties/> node to the <dsig:Object/> node <em class="parameter"><code>objectNode</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN17576"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN17578"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecTmplObjectAddSignProperties.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>objectNode</p></td>
-<td><p>the pointer to <dsig:Object/> node.</p></td>
-<td> </td>
+<td class="parameter_name"><p>objectNode</p></td>
+<td class="parameter_description"><p>the pointer to <dsig:Object/> node.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>id</p></td>
-<td><p>the node id (may be NULL).</p></td>
-<td> </td>
+<td class="parameter_name"><p>id</p></td>
+<td class="parameter_description"><p>the node id (may be NULL).</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>target</p></td>
-<td><p>the Target (may be NULL).</p></td>
-<td> </td>
+<td class="parameter_name"><p>target</p></td>
+<td class="parameter_description"><p>the Target (may be NULL).</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN17599"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTmplObjectAddSignProperties.returns"></a><h4>Returns</h4>
<p> the pointer to newly created <dsig:SignatureProperties/> node or NULL
if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTMPLOBJECTADDMANIFEST"></a><h3>xmlSecTmplObjectAddManifest ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlNodePtr</span></font>
-xmlSecTmplObjectAddManifest (<code class="PARAMETER"><font><span class="TYPE">xmlNodePtr</span></font> objectNode</code>,
- <code class="PARAMETER">const <font><span class="TYPE">xmlChar</span></font> *id</code>);</pre>
-<p>Adds <dsig:Manifest/> node to the <dsig:Object/> node <code class="PARAMETER">objectNode</code>
+<div class="refsect2">
+<a name="xmlSecTmplObjectAddManifest"></a><h3>xmlSecTmplObjectAddManifest ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlNodePtr</span></font>
+xmlSecTmplObjectAddManifest (<em class="parameter"><code><font><span class="type">xmlNodePtr</span></font> objectNode</code></em>,
+ <em class="parameter"><code>const <font><span class="type">xmlChar</span></font> *id</code></em>);</pre>
+<p>Adds <dsig:Manifest/> node to the <dsig:Object/> node <em class="parameter"><code>objectNode</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN17617"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN17619"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecTmplObjectAddManifest.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>objectNode</p></td>
-<td><p>the pointer to <dsig:Object/> node.</p></td>
-<td> </td>
+<td class="parameter_name"><p>objectNode</p></td>
+<td class="parameter_description"><p>the pointer to <dsig:Object/> node.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>id</p></td>
-<td><p>the node id (may be NULL).</p></td>
-<td> </td>
+<td class="parameter_name"><p>id</p></td>
+<td class="parameter_description"><p>the node id (may be NULL).</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN17634"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTmplObjectAddManifest.returns"></a><h4>Returns</h4>
<p> the pointer to newly created <dsig:Manifest/> node or NULL
if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTMPLMANIFESTADDREFERENCE"></a><h3>xmlSecTmplManifestAddReference ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlNodePtr</span></font>
-xmlSecTmplManifestAddReference (<code class="PARAMETER"><font><span class="TYPE">xmlNodePtr</span></font> manifestNode</code>,
- <code class="PARAMETER"><font><span class="TYPE">xmlSecTransformId</span></font> digestMethodId</code>,
- <code class="PARAMETER">const <font><span class="TYPE">xmlChar</span></font> *id</code>,
- <code class="PARAMETER">const <font><span class="TYPE">xmlChar</span></font> *uri</code>,
- <code class="PARAMETER">const <font><span class="TYPE">xmlChar</span></font> *type</code>);</pre>
-<p>Adds <dsig:Reference/> node with specified URI (<code class="PARAMETER">uri</code>
-), Id (<code class="PARAMETER">id</code>
+<div class="refsect2">
+<a name="xmlSecTmplManifestAddReference"></a><h3>xmlSecTmplManifestAddReference ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlNodePtr</span></font>
+xmlSecTmplManifestAddReference (<em class="parameter"><code><font><span class="type">xmlNodePtr</span></font> manifestNode</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlSecTransformId</span></font> digestMethodId</code></em>,
+ <em class="parameter"><code>const <font><span class="type">xmlChar</span></font> *id</code></em>,
+ <em class="parameter"><code>const <font><span class="type">xmlChar</span></font> *uri</code></em>,
+ <em class="parameter"><code>const <font><span class="type">xmlChar</span></font> *type</code></em>);</pre>
+<p>Adds <dsig:Reference/> node with specified URI (<em class="parameter"><code>uri</code></em>
+), Id (<em class="parameter"><code>id</code></em>
) and
-Type (<code class="PARAMETER">type</code>
+Type (<em class="parameter"><code>type</code></em>
) attributes and the required children <dsig:DigestMethod/> and
-<dsig:DigestValue/> to the <dsig:Manifest/> node <code class="PARAMETER">manifestNode</code>
+<dsig:DigestValue/> to the <dsig:Manifest/> node <em class="parameter"><code>manifestNode</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN17664"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN17666"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecTmplManifestAddReference.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>manifestNode</p></td>
-<td><p>the pointer to <dsig:Manifest/> node.</p></td>
-<td> </td>
+<td class="parameter_name"><p>manifestNode</p></td>
+<td class="parameter_description"><p>the pointer to <dsig:Manifest/> node.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>digestMethodId</p></td>
-<td><p>the reference digest method.</p></td>
-<td> </td>
+<td class="parameter_name"><p>digestMethodId</p></td>
+<td class="parameter_description"><p>the reference digest method.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>id</p></td>
-<td><p>the node id (may be NULL).</p></td>
-<td> </td>
+<td class="parameter_name"><p>id</p></td>
+<td class="parameter_description"><p>the node id (may be NULL).</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>uri</p></td>
-<td><p>the reference node uri (may be NULL).</p></td>
-<td> </td>
+<td class="parameter_name"><p>uri</p></td>
+<td class="parameter_description"><p>the reference node uri (may be NULL).</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>type</p></td>
-<td><p>the reference node type (may be NULL).</p></td>
-<td> </td>
+<td class="parameter_name"><p>type</p></td>
+<td class="parameter_description"><p>the reference node type (may be NULL).</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN17699"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTmplManifestAddReference.returns"></a><h4>Returns</h4>
<p> the pointer to newly created <dsig:Reference/> node or NULL
if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTMPLENCDATACREATE"></a><h3>xmlSecTmplEncDataCreate ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlNodePtr</span></font>
-xmlSecTmplEncDataCreate (<code class="PARAMETER"><font><span class="TYPE">xmlDocPtr</span></font> doc</code>,
- <code class="PARAMETER"><font><span class="TYPE">xmlSecTransformId</span></font> encMethodId</code>,
- <code class="PARAMETER">const <font><span class="TYPE">xmlChar</span></font> *id</code>,
- <code class="PARAMETER">const <font><span class="TYPE">xmlChar</span></font> *type</code>,
- <code class="PARAMETER">const <font><span class="TYPE">xmlChar</span></font> *mimeType</code>,
- <code class="PARAMETER">const <font><span class="TYPE">xmlChar</span></font> *encoding</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecTmplEncDataCreate"></a><h3>xmlSecTmplEncDataCreate ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlNodePtr</span></font>
+xmlSecTmplEncDataCreate (<em class="parameter"><code><font><span class="type">xmlDocPtr</span></font> doc</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlSecTransformId</span></font> encMethodId</code></em>,
+ <em class="parameter"><code>const <font><span class="type">xmlChar</span></font> *id</code></em>,
+ <em class="parameter"><code>const <font><span class="type">xmlChar</span></font> *type</code></em>,
+ <em class="parameter"><code>const <font><span class="type">xmlChar</span></font> *mimeType</code></em>,
+ <em class="parameter"><code>const <font><span class="type">xmlChar</span></font> *encoding</code></em>);</pre>
<p>Creates new <enc:EncryptedData /> node for encryption template.</p>
-<div class="REFSECT3">
-<a name="AEN17728"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN17730"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecTmplEncDataCreate.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>doc</p></td>
-<td><p>the pointer to signature document or NULL; in the later
-case, application must later call <code class="PARAMETER">xmlSetTreeDoc</code>
+<td class="parameter_name"><p>doc</p></td>
+<td class="parameter_description"><p>the pointer to signature document or NULL; in the later
+case, application must later call <em class="parameter"><code>xmlSetTreeDoc</code></em>
to ensure
that all the children nodes have correct pointer to XML document.</p></td>
-<td> </td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>encMethodId</p></td>
-<td><p>the encryption method (may be NULL).</p></td>
-<td> </td>
+<td class="parameter_name"><p>encMethodId</p></td>
+<td class="parameter_description"><p>the encryption method (may be NULL).</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>id</p></td>
-<td><p>the Id attribute (optional).</p></td>
-<td> </td>
+<td class="parameter_name"><p>id</p></td>
+<td class="parameter_description"><p>the Id attribute (optional).</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>type</p></td>
-<td><p>the Type attribute (optional)</p></td>
-<td> </td>
+<td class="parameter_name"><p>type</p></td>
+<td class="parameter_description"><p>the Type attribute (optional)</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>mimeType</p></td>
-<td><p>the MimeType attribute (optional)</p></td>
-<td> </td>
+<td class="parameter_name"><p>mimeType</p></td>
+<td class="parameter_description"><p>the MimeType attribute (optional)</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>encoding</p></td>
-<td><p>the Encoding attribute (optional)</p></td>
-<td> </td>
+<td class="parameter_name"><p>encoding</p></td>
+<td class="parameter_description"><p>the Encoding attribute (optional)</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN17770"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTmplEncDataCreate.returns"></a><h4>Returns</h4>
<p> the pointer newly created <enc:EncryptedData/> node or NULL
if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTMPLENCDATAENSUREKEYINFO"></a><h3>xmlSecTmplEncDataEnsureKeyInfo ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlNodePtr</span></font>
-xmlSecTmplEncDataEnsureKeyInfo (<code class="PARAMETER"><font><span class="TYPE">xmlNodePtr</span></font> encNode</code>,
- <code class="PARAMETER">const <font><span class="TYPE">xmlChar</span></font> *id</code>);</pre>
-<p>Adds <dsig:KeyInfo/> to the <enc:EncryptedData/> node <code class="PARAMETER">encNode</code>
+<div class="refsect2">
+<a name="xmlSecTmplEncDataEnsureKeyInfo"></a><h3>xmlSecTmplEncDataEnsureKeyInfo ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlNodePtr</span></font>
+xmlSecTmplEncDataEnsureKeyInfo (<em class="parameter"><code><font><span class="type">xmlNodePtr</span></font> encNode</code></em>,
+ <em class="parameter"><code>const <font><span class="type">xmlChar</span></font> *id</code></em>);</pre>
+<p>Adds <dsig:KeyInfo/> to the <enc:EncryptedData/> node <em class="parameter"><code>encNode</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN17788"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN17790"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecTmplEncDataEnsureKeyInfo.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>encNode</p></td>
-<td><p>the pointer to <enc:EncryptedData/> node.</p></td>
-<td> </td>
+<td class="parameter_name"><p>encNode</p></td>
+<td class="parameter_description"><p>the pointer to <enc:EncryptedData/> node.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>id</p></td>
-<td><p>the Id attrbibute (optional).</p></td>
-<td> </td>
+<td class="parameter_name"><p>id</p></td>
+<td class="parameter_description"><p>the Id attrbibute (optional).</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN17805"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTmplEncDataEnsureKeyInfo.returns"></a><h4>Returns</h4>
<p> the pointer to newly created <dsig:KeyInfo/> node or
NULL if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTMPLENCDATAENSUREENCPROPERTIES"></a><h3>xmlSecTmplEncDataEnsureEncProperties ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlNodePtr</span></font>
-xmlSecTmplEncDataEnsureEncProperties (<code class="PARAMETER"><font><span class="TYPE">xmlNodePtr</span></font> encNode</code>,
- <code class="PARAMETER">const <font><span class="TYPE">xmlChar</span></font> *id</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecTmplEncDataEnsureEncProperties"></a><h3>xmlSecTmplEncDataEnsureEncProperties ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlNodePtr</span></font>
+xmlSecTmplEncDataEnsureEncProperties (<em class="parameter"><code><font><span class="type">xmlNodePtr</span></font> encNode</code></em>,
+ <em class="parameter"><code>const <font><span class="type">xmlChar</span></font> *id</code></em>);</pre>
<p>Adds <enc:EncryptionProperties/> node to the <enc:EncryptedData/>
-node <code class="PARAMETER">encNode</code>
+node <em class="parameter"><code>encNode</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN17823"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN17825"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecTmplEncDataEnsureEncProperties.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>encNode</p></td>
-<td><p>the pointer to <enc:EncryptedData/> node.</p></td>
-<td> </td>
+<td class="parameter_name"><p>encNode</p></td>
+<td class="parameter_description"><p>the pointer to <enc:EncryptedData/> node.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>id</p></td>
-<td><p>the Id attribute (optional).</p></td>
-<td> </td>
+<td class="parameter_name"><p>id</p></td>
+<td class="parameter_description"><p>the Id attribute (optional).</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN17840"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTmplEncDataEnsureEncProperties.returns"></a><h4>Returns</h4>
<p> the pointer to newly created <enc:EncryptionProperties/> node or
NULL if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTMPLENCDATAADDENCPROPERTY"></a><h3>xmlSecTmplEncDataAddEncProperty ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlNodePtr</span></font>
-xmlSecTmplEncDataAddEncProperty (<code class="PARAMETER"><font><span class="TYPE">xmlNodePtr</span></font> encNode</code>,
- <code class="PARAMETER">const <font><span class="TYPE">xmlChar</span></font> *id</code>,
- <code class="PARAMETER">const <font><span class="TYPE">xmlChar</span></font> *target</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecTmplEncDataAddEncProperty"></a><h3>xmlSecTmplEncDataAddEncProperty ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlNodePtr</span></font>
+xmlSecTmplEncDataAddEncProperty (<em class="parameter"><code><font><span class="type">xmlNodePtr</span></font> encNode</code></em>,
+ <em class="parameter"><code>const <font><span class="type">xmlChar</span></font> *id</code></em>,
+ <em class="parameter"><code>const <font><span class="type">xmlChar</span></font> *target</code></em>);</pre>
<p>Adds <enc:EncryptionProperty/> node (and the parent
<enc:EncryptionProperties/> node if required) to the
-<enc:EncryptedData/> node <code class="PARAMETER">encNode</code>
+<enc:EncryptedData/> node <em class="parameter"><code>encNode</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN17861"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN17863"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecTmplEncDataAddEncProperty.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>encNode</p></td>
-<td><p>the pointer to <enc:EncryptedData/> node.</p></td>
-<td> </td>
+<td class="parameter_name"><p>encNode</p></td>
+<td class="parameter_description"><p>the pointer to <enc:EncryptedData/> node.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>id</p></td>
-<td><p>the Id attribute (optional).</p></td>
-<td> </td>
+<td class="parameter_name"><p>id</p></td>
+<td class="parameter_description"><p>the Id attribute (optional).</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>target</p></td>
-<td><p>the Target attribute (optional).</p></td>
-<td> </td>
+<td class="parameter_name"><p>target</p></td>
+<td class="parameter_description"><p>the Target attribute (optional).</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN17884"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTmplEncDataAddEncProperty.returns"></a><h4>Returns</h4>
<p> the pointer to newly created <enc:EncryptionProperty/> node or
NULL if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTMPLENCDATAENSURECIPHERVALUE"></a><h3>xmlSecTmplEncDataEnsureCipherValue ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlNodePtr</span></font>
-xmlSecTmplEncDataEnsureCipherValue (<code class="PARAMETER"><font><span class="TYPE">xmlNodePtr</span></font> encNode</code>);</pre>
-<p>Adds <enc:CipherValue/> to the <enc:EncryptedData/> node <code class="PARAMETER">encNode</code>
+<div class="refsect2">
+<a name="xmlSecTmplEncDataEnsureCipherValue"></a><h3>xmlSecTmplEncDataEnsureCipherValue ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlNodePtr</span></font>
+xmlSecTmplEncDataEnsureCipherValue (<em class="parameter"><code><font><span class="type">xmlNodePtr</span></font> encNode</code></em>);</pre>
+<p>Adds <enc:CipherValue/> to the <enc:EncryptedData/> node <em class="parameter"><code>encNode</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN17899"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN17901"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecTmplEncDataEnsureCipherValue.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>encNode</p></td>
-<td><p>the pointer to <enc:EncryptedData/> node.</p></td>
-<td> </td>
+<td class="parameter_name"><p>encNode</p></td>
+<td class="parameter_description"><p>the pointer to <enc:EncryptedData/> node.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN17910"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTmplEncDataEnsureCipherValue.returns"></a><h4>Returns</h4>
<p> the pointer to newly created <enc:CipherValue/> node or
NULL if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTMPLENCDATAENSURECIPHERREFERENCE"></a><h3>xmlSecTmplEncDataEnsureCipherReference ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlNodePtr</span></font>
+<div class="refsect2">
+<a name="xmlSecTmplEncDataEnsureCipherReference"></a><h3>xmlSecTmplEncDataEnsureCipherReference ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlNodePtr</span></font>
xmlSecTmplEncDataEnsureCipherReference
- (<code class="PARAMETER"><font><span class="TYPE">xmlNodePtr</span></font> encNode</code>,
- <code class="PARAMETER">const <font><span class="TYPE">xmlChar</span></font> *uri</code>);</pre>
-<p>Adds <enc:CipherReference/> node with specified URI attribute <code class="PARAMETER">uri</code>
+ (<em class="parameter"><code><font><span class="type">xmlNodePtr</span></font> encNode</code></em>,
+ <em class="parameter"><code>const <font><span class="type">xmlChar</span></font> *uri</code></em>);</pre>
+<p>Adds <enc:CipherReference/> node with specified URI attribute <em class="parameter"><code>uri</code></em>
-to the <enc:EncryptedData/> node <code class="PARAMETER">encNode</code>
+to the <enc:EncryptedData/> node <em class="parameter"><code>encNode</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN17929"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN17931"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecTmplEncDataEnsureCipherReference.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>encNode</p></td>
-<td><p>the pointer to <enc:EncryptedData/> node.</p></td>
-<td> </td>
+<td class="parameter_name"><p>encNode</p></td>
+<td class="parameter_description"><p>the pointer to <enc:EncryptedData/> node.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>uri</p></td>
-<td><p>the URI attribute (may be NULL).</p></td>
-<td> </td>
+<td class="parameter_name"><p>uri</p></td>
+<td class="parameter_description"><p>the URI attribute (may be NULL).</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN17946"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTmplEncDataEnsureCipherReference.returns"></a><h4>Returns</h4>
<p> the pointer to newly created <enc:CipherReference/> node or
NULL if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTMPLENCDATAGETENCMETHODNODE"></a><h3>xmlSecTmplEncDataGetEncMethodNode ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlNodePtr</span></font>
-xmlSecTmplEncDataGetEncMethodNode (<code class="PARAMETER"><font><span class="TYPE">xmlNodePtr</span></font> encNode</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecTmplEncDataGetEncMethodNode"></a><h3>xmlSecTmplEncDataGetEncMethodNode ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlNodePtr</span></font>
+xmlSecTmplEncDataGetEncMethodNode (<em class="parameter"><code><font><span class="type">xmlNodePtr</span></font> encNode</code></em>);</pre>
<p>Gets pointer to <enc:EncrytpionMethod/> node.</p>
-<div class="REFSECT3">
-<a name="AEN17960"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN17962"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecTmplEncDataGetEncMethodNode.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>encNode</p></td>
-<td><p>the pointer to <enc:EcnryptedData /> node.</p></td>
-<td> </td>
+<td class="parameter_name"><p>encNode</p></td>
+<td class="parameter_description"><p>the pointer to <enc:EcnryptedData /> node.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN17971"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTmplEncDataGetEncMethodNode.returns"></a><h4>Returns</h4>
<p> pointer to <enc:EncryptionMethod /> node or NULL if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTMPLCIPHERREFERENCEADDTRANSFORM"></a><h3>xmlSecTmplCipherReferenceAddTransform ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlNodePtr</span></font>
-xmlSecTmplCipherReferenceAddTransform (<code class="PARAMETER"><font><span class="TYPE">xmlNodePtr</span></font> cipherReferenceNode</code>,
- <code class="PARAMETER"><font><span class="TYPE">xmlSecTransformId</span></font> transformId</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecTmplCipherReferenceAddTransform"></a><h3>xmlSecTmplCipherReferenceAddTransform ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlNodePtr</span></font>
+xmlSecTmplCipherReferenceAddTransform (<em class="parameter"><code><font><span class="type">xmlNodePtr</span></font> cipherReferenceNode</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlSecTransformId</span></font> transformId</code></em>);</pre>
<p>Adds <dsig:Transform/> node (and the parent <dsig:Transforms/> node)
-with specified transform methods <code class="PARAMETER">transform</code>
+with specified transform methods <em class="parameter"><code>transform</code></em>
to the <enc:CipherReference/>
-child node of the <enc:EncryptedData/> node <code class="PARAMETER">encNode</code>
+child node of the <enc:EncryptedData/> node <em class="parameter"><code>encNode</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN17990"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN17992"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecTmplCipherReferenceAddTransform.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>cipherReferenceNode</p></td>
-<td><p>the pointer to <enc:CipherReference/> node.</p></td>
-<td> </td>
+<td class="parameter_name"><p>cipherReferenceNode</p></td>
+<td class="parameter_description"><p>the pointer to <enc:CipherReference/> node.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>transformId</p></td>
-<td><p>the transform id.</p></td>
-<td> </td>
+<td class="parameter_name"><p>transformId</p></td>
+<td class="parameter_description"><p>the transform id.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN18007"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTmplCipherReferenceAddTransform.returns"></a><h4>Returns</h4>
<p> the pointer to newly created <dsig:Transform/> node or
NULL if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTMPLREFERENCELISTADDDATAREFERENCE"></a><h3>xmlSecTmplReferenceListAddDataReference ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlNodePtr</span></font>
+<div class="refsect2">
+<a name="xmlSecTmplReferenceListAddDataReference"></a><h3>xmlSecTmplReferenceListAddDataReference ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlNodePtr</span></font>
xmlSecTmplReferenceListAddDataReference
- (<code class="PARAMETER"><font><span class="TYPE">xmlNodePtr</span></font> encNode</code>,
- <code class="PARAMETER">const <font><span class="TYPE">xmlChar</span></font> *uri</code>);</pre>
+ (<em class="parameter"><code><font><span class="type">xmlNodePtr</span></font> encNode</code></em>,
+ <em class="parameter"><code>const <font><span class="type">xmlChar</span></font> *uri</code></em>);</pre>
<p>Adds <enc:DataReference/> and the parent <enc:ReferenceList/> node (if needed).</p>
-<div class="REFSECT3">
-<a name="AEN18024"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN18026"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecTmplReferenceListAddDataReference.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>encNode</p></td>
-<td><p>the pointer to <enc:EncryptedKey/> node.</p></td>
-<td> </td>
+<td class="parameter_name"><p>encNode</p></td>
+<td class="parameter_description"><p>the pointer to <enc:EncryptedKey/> node.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>uri</p></td>
-<td><p>uri to reference (optional)</p></td>
-<td> </td>
+<td class="parameter_name"><p>uri</p></td>
+<td class="parameter_description"><p>uri to reference (optional)</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN18041"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTmplReferenceListAddDataReference.returns"></a><h4>Returns</h4>
<p> the pointer to newly created <enc:DataReference/> node or
NULL if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTMPLREFERENCELISTADDKEYREFERENCE"></a><h3>xmlSecTmplReferenceListAddKeyReference ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlNodePtr</span></font>
+<div class="refsect2">
+<a name="xmlSecTmplReferenceListAddKeyReference"></a><h3>xmlSecTmplReferenceListAddKeyReference ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlNodePtr</span></font>
xmlSecTmplReferenceListAddKeyReference
- (<code class="PARAMETER"><font><span class="TYPE">xmlNodePtr</span></font> encNode</code>,
- <code class="PARAMETER">const <font><span class="TYPE">xmlChar</span></font> *uri</code>);</pre>
+ (<em class="parameter"><code><font><span class="type">xmlNodePtr</span></font> encNode</code></em>,
+ <em class="parameter"><code>const <font><span class="type">xmlChar</span></font> *uri</code></em>);</pre>
<p>Adds <enc:KeyReference/> and the parent <enc:ReferenceList/> node (if needed).</p>
-<div class="REFSECT3">
-<a name="AEN18058"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN18060"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecTmplReferenceListAddKeyReference.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>encNode</p></td>
-<td><p>the pointer to <enc:EncryptedKey/> node.</p></td>
-<td> </td>
+<td class="parameter_name"><p>encNode</p></td>
+<td class="parameter_description"><p>the pointer to <enc:EncryptedKey/> node.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>uri</p></td>
-<td><p>uri to reference (optional)</p></td>
-<td> </td>
+<td class="parameter_name"><p>uri</p></td>
+<td class="parameter_description"><p>uri to reference (optional)</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN18075"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTmplReferenceListAddKeyReference.returns"></a><h4>Returns</h4>
<p> the pointer to newly created <enc:KeyReference/> node or
NULL if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTMPLKEYINFOADDKEYNAME"></a><h3>xmlSecTmplKeyInfoAddKeyName ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlNodePtr</span></font>
-xmlSecTmplKeyInfoAddKeyName (<code class="PARAMETER"><font><span class="TYPE">xmlNodePtr</span></font> keyInfoNode</code>,
- <code class="PARAMETER">const <font><span class="TYPE">xmlChar</span></font> *name</code>);</pre>
-<p>Adds <dsig:KeyName/> node to the <dsig:KeyInfo/> node <code class="PARAMETER">keyInfoNode</code>
+<div class="refsect2">
+<a name="xmlSecTmplKeyInfoAddKeyName"></a><h3>xmlSecTmplKeyInfoAddKeyName ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlNodePtr</span></font>
+xmlSecTmplKeyInfoAddKeyName (<em class="parameter"><code><font><span class="type">xmlNodePtr</span></font> keyInfoNode</code></em>,
+ <em class="parameter"><code>const <font><span class="type">xmlChar</span></font> *name</code></em>);</pre>
+<p>Adds <dsig:KeyName/> node to the <dsig:KeyInfo/> node <em class="parameter"><code>keyInfoNode</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN18093"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN18095"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecTmplKeyInfoAddKeyName.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>keyInfoNode</p></td>
-<td><p>the pointer to <dsig:KeyInfo/> node.</p></td>
-<td> </td>
+<td class="parameter_name"><p>keyInfoNode</p></td>
+<td class="parameter_description"><p>the pointer to <dsig:KeyInfo/> node.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>name</p></td>
-<td><p>the key name (optional).</p></td>
-<td> </td>
+<td class="parameter_name"><p>name</p></td>
+<td class="parameter_description"><p>the key name (optional).</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN18110"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTmplKeyInfoAddKeyName.returns"></a><h4>Returns</h4>
<p> the pointer to the newly created <dsig:KeyName/> node or
NULL if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTMPLKEYINFOADDKEYVALUE"></a><h3>xmlSecTmplKeyInfoAddKeyValue ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlNodePtr</span></font>
-xmlSecTmplKeyInfoAddKeyValue (<code class="PARAMETER"><font><span class="TYPE">xmlNodePtr</span></font> keyInfoNode</code>);</pre>
-<p>Adds <dsig:KeyValue/> node to the <dsig:KeyInfo/> node <code class="PARAMETER">keyInfoNode</code>
+<div class="refsect2">
+<a name="xmlSecTmplKeyInfoAddKeyValue"></a><h3>xmlSecTmplKeyInfoAddKeyValue ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlNodePtr</span></font>
+xmlSecTmplKeyInfoAddKeyValue (<em class="parameter"><code><font><span class="type">xmlNodePtr</span></font> keyInfoNode</code></em>);</pre>
+<p>Adds <dsig:KeyValue/> node to the <dsig:KeyInfo/> node <em class="parameter"><code>keyInfoNode</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN18125"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN18127"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecTmplKeyInfoAddKeyValue.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>keyInfoNode</p></td>
-<td><p>the pointer to <dsig:KeyInfo/> node.</p></td>
-<td> </td>
+<td class="parameter_name"><p>keyInfoNode</p></td>
+<td class="parameter_description"><p>the pointer to <dsig:KeyInfo/> node.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN18136"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTmplKeyInfoAddKeyValue.returns"></a><h4>Returns</h4>
<p> the pointer to the newly created <dsig:KeyValue/> node or
NULL if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTMPLKEYINFOADDX509DATA"></a><h3>xmlSecTmplKeyInfoAddX509Data ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlNodePtr</span></font>
-xmlSecTmplKeyInfoAddX509Data (<code class="PARAMETER"><font><span class="TYPE">xmlNodePtr</span></font> keyInfoNode</code>);</pre>
-<p>Adds <dsig:X509Data/> node to the <dsig:KeyInfo/> node <code class="PARAMETER">keyInfoNode</code>
+<div class="refsect2">
+<a name="xmlSecTmplKeyInfoAddX509Data"></a><h3>xmlSecTmplKeyInfoAddX509Data ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlNodePtr</span></font>
+xmlSecTmplKeyInfoAddX509Data (<em class="parameter"><code><font><span class="type">xmlNodePtr</span></font> keyInfoNode</code></em>);</pre>
+<p>Adds <dsig:X509Data/> node to the <dsig:KeyInfo/> node <em class="parameter"><code>keyInfoNode</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN18151"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN18153"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecTmplKeyInfoAddX509Data.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>keyInfoNode</p></td>
-<td><p>the pointer to <dsig:KeyInfo/> node.</p></td>
-<td> </td>
+<td class="parameter_name"><p>keyInfoNode</p></td>
+<td class="parameter_description"><p>the pointer to <dsig:KeyInfo/> node.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN18162"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTmplKeyInfoAddX509Data.returns"></a><h4>Returns</h4>
<p> the pointer to the newly created <dsig:X509Data/> node or
NULL if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTMPLKEYINFOADDRETRIEVALMETHOD"></a><h3>xmlSecTmplKeyInfoAddRetrievalMethod ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlNodePtr</span></font>
-xmlSecTmplKeyInfoAddRetrievalMethod (<code class="PARAMETER"><font><span class="TYPE">xmlNodePtr</span></font> keyInfoNode</code>,
- <code class="PARAMETER">const <font><span class="TYPE">xmlChar</span></font> *uri</code>,
- <code class="PARAMETER">const <font><span class="TYPE">xmlChar</span></font> *type</code>);</pre>
-<p>Adds <dsig:RetrievalMethod/> node to the <dsig:KeyInfo/> node <code class="PARAMETER">keyInfoNode</code>
+<div class="refsect2">
+<a name="xmlSecTmplKeyInfoAddRetrievalMethod"></a><h3>xmlSecTmplKeyInfoAddRetrievalMethod ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlNodePtr</span></font>
+xmlSecTmplKeyInfoAddRetrievalMethod (<em class="parameter"><code><font><span class="type">xmlNodePtr</span></font> keyInfoNode</code></em>,
+ <em class="parameter"><code>const <font><span class="type">xmlChar</span></font> *uri</code></em>,
+ <em class="parameter"><code>const <font><span class="type">xmlChar</span></font> *type</code></em>);</pre>
+<p>Adds <dsig:RetrievalMethod/> node to the <dsig:KeyInfo/> node <em class="parameter"><code>keyInfoNode</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN18183"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN18185"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecTmplKeyInfoAddRetrievalMethod.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>keyInfoNode</p></td>
-<td><p>the pointer to <dsig:KeyInfo/> node.</p></td>
-<td> </td>
+<td class="parameter_name"><p>keyInfoNode</p></td>
+<td class="parameter_description"><p>the pointer to <dsig:KeyInfo/> node.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>uri</p></td>
-<td><p>the URI attribute (optional).</p></td>
-<td> </td>
+<td class="parameter_name"><p>uri</p></td>
+<td class="parameter_description"><p>the URI attribute (optional).</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>type</p></td>
-<td><p>the Type attribute(optional).</p></td>
-<td> </td>
+<td class="parameter_name"><p>type</p></td>
+<td class="parameter_description"><p>the Type attribute(optional).</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN18206"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTmplKeyInfoAddRetrievalMethod.returns"></a><h4>Returns</h4>
<p> the pointer to the newly created <dsig:RetrievalMethod/> node or
NULL if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTMPLRETRIEVALMETHODADDTRANSFORM"></a><h3>xmlSecTmplRetrievalMethodAddTransform ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlNodePtr</span></font>
-xmlSecTmplRetrievalMethodAddTransform (<code class="PARAMETER"><font><span class="TYPE">xmlNodePtr</span></font> retrMethodNode</code>,
- <code class="PARAMETER"><font><span class="TYPE">xmlSecTransformId</span></font> transformId</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecTmplRetrievalMethodAddTransform"></a><h3>xmlSecTmplRetrievalMethodAddTransform ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlNodePtr</span></font>
+xmlSecTmplRetrievalMethodAddTransform (<em class="parameter"><code><font><span class="type">xmlNodePtr</span></font> retrMethodNode</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlSecTransformId</span></font> transformId</code></em>);</pre>
<p>Adds <dsig:Transform/> node (and the parent <dsig:Transforms/> node
-if required) to the <dsig:RetrievalMethod/> node <code class="PARAMETER">retrMethod</code>
+if required) to the <dsig:RetrievalMethod/> node <em class="parameter"><code>retrMethod</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN18224"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN18226"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecTmplRetrievalMethodAddTransform.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>retrMethodNode</p></td>
-<td><p>the pointer to <dsig:RetrievalMethod/> node.</p></td>
-<td> </td>
+<td class="parameter_name"><p>retrMethodNode</p></td>
+<td class="parameter_description"><p>the pointer to <dsig:RetrievalMethod/> node.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>transformId</p></td>
-<td><p>the transform id.</p></td>
-<td> </td>
+<td class="parameter_name"><p>transformId</p></td>
+<td class="parameter_description"><p>the transform id.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN18241"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTmplRetrievalMethodAddTransform.returns"></a><h4>Returns</h4>
<p> the pointer to the newly created <dsig:Transforms/> node or
NULL if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTMPLKEYINFOADDENCRYPTEDKEY"></a><h3>xmlSecTmplKeyInfoAddEncryptedKey ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlNodePtr</span></font>
-xmlSecTmplKeyInfoAddEncryptedKey (<code class="PARAMETER"><font><span class="TYPE">xmlNodePtr</span></font> keyInfoNode</code>,
- <code class="PARAMETER"><font><span class="TYPE">xmlSecTransformId</span></font> encMethodId</code>,
- <code class="PARAMETER">const <font><span class="TYPE">xmlChar</span></font> *id</code>,
- <code class="PARAMETER">const <font><span class="TYPE">xmlChar</span></font> *type</code>,
- <code class="PARAMETER">const <font><span class="TYPE">xmlChar</span></font> *recipient</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecTmplKeyInfoAddEncryptedKey"></a><h3>xmlSecTmplKeyInfoAddEncryptedKey ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlNodePtr</span></font>
+xmlSecTmplKeyInfoAddEncryptedKey (<em class="parameter"><code><font><span class="type">xmlNodePtr</span></font> keyInfoNode</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlSecTransformId</span></font> encMethodId</code></em>,
+ <em class="parameter"><code>const <font><span class="type">xmlChar</span></font> *id</code></em>,
+ <em class="parameter"><code>const <font><span class="type">xmlChar</span></font> *type</code></em>,
+ <em class="parameter"><code>const <font><span class="type">xmlChar</span></font> *recipient</code></em>);</pre>
<p>Adds <enc:EncryptedKey/> node with given attributes to
-the <dsig:KeyInfo/> node <code class="PARAMETER">keyInfoNode</code>
+the <dsig:KeyInfo/> node <em class="parameter"><code>keyInfoNode</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN18268"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN18270"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecTmplKeyInfoAddEncryptedKey.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>keyInfoNode</p></td>
-<td><p>the pointer to <dsig:KeyInfo/> node.</p></td>
-<td> </td>
+<td class="parameter_name"><p>keyInfoNode</p></td>
+<td class="parameter_description"><p>the pointer to <dsig:KeyInfo/> node.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>encMethodId</p></td>
-<td><p>the encryption method (optional).</p></td>
-<td> </td>
+<td class="parameter_name"><p>encMethodId</p></td>
+<td class="parameter_description"><p>the encryption method (optional).</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>id</p></td>
-<td><p>the Id attribute (optional).</p></td>
-<td> </td>
+<td class="parameter_name"><p>id</p></td>
+<td class="parameter_description"><p>the Id attribute (optional).</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>type</p></td>
-<td><p>the Type attribute (optional).</p></td>
-<td> </td>
+<td class="parameter_name"><p>type</p></td>
+<td class="parameter_description"><p>the Type attribute (optional).</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>recipient</p></td>
-<td><p>the Recipient attribute (optional).</p></td>
-<td> </td>
+<td class="parameter_name"><p>recipient</p></td>
+<td class="parameter_description"><p>the Recipient attribute (optional).</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN18303"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTmplKeyInfoAddEncryptedKey.returns"></a><h4>Returns</h4>
<p> the pointer to the newly created <enc:EncryptedKey/> node or
NULL if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTMPLX509DATAADDISSUERSERIAL"></a><h3>xmlSecTmplX509DataAddIssuerSerial ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlNodePtr</span></font>
-xmlSecTmplX509DataAddIssuerSerial (<code class="PARAMETER"><font><span class="TYPE">xmlNodePtr</span></font> x509DataNode</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecTmplX509DataAddIssuerSerial"></a><h3>xmlSecTmplX509DataAddIssuerSerial ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlNodePtr</span></font>
+xmlSecTmplX509DataAddIssuerSerial (<em class="parameter"><code><font><span class="type">xmlNodePtr</span></font> x509DataNode</code></em>);</pre>
<p>Adds <dsig:X509IssuerSerial/> node to the given <dsig:X509Data/> node.</p>
-<div class="REFSECT3">
-<a name="AEN18317"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN18319"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecTmplX509DataAddIssuerSerial.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>x509DataNode</p></td>
-<td><p>the pointer to <dsig:X509Data/> node.</p></td>
-<td> </td>
+<td class="parameter_name"><p>x509DataNode</p></td>
+<td class="parameter_description"><p>the pointer to <dsig:X509Data/> node.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN18328"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTmplX509DataAddIssuerSerial.returns"></a><h4>Returns</h4>
<p> the pointer to the newly created <dsig:X509IssuerSerial/> node or
NULL if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTMPLX509ISSUERSERIALADDISSUERNAME"></a><h3>xmlSecTmplX509IssuerSerialAddIssuerName ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlNodePtr</span></font>
+<div class="refsect2">
+<a name="xmlSecTmplX509IssuerSerialAddIssuerName"></a><h3>xmlSecTmplX509IssuerSerialAddIssuerName ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlNodePtr</span></font>
xmlSecTmplX509IssuerSerialAddIssuerName
- (<code class="PARAMETER"><font><span class="TYPE">xmlNodePtr</span></font> x509IssuerSerialNode</code>,
- <code class="PARAMETER">const <font><span class="TYPE">xmlChar</span></font> *issuerName</code>);</pre>
-<p>Adds <dsig:X509IssuerName/> node to the <dsig:X509IssuerSerial/> node <code class="PARAMETER">x509IssuerSerialNode</code>
+ (<em class="parameter"><code><font><span class="type">xmlNodePtr</span></font> x509IssuerSerialNode</code></em>,
+ <em class="parameter"><code>const <font><span class="type">xmlChar</span></font> *issuerName</code></em>);</pre>
+<p>Adds <dsig:X509IssuerName/> node to the <dsig:X509IssuerSerial/> node <em class="parameter"><code>x509IssuerSerialNode</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN18346"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN18348"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecTmplX509IssuerSerialAddIssuerName.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>x509IssuerSerialNode</p></td>
-<td><p>the pointer to <dsig:X509IssuerSerial/> node.</p></td>
-<td> </td>
+<td class="parameter_name"><p>x509IssuerSerialNode</p></td>
+<td class="parameter_description"><p>the pointer to <dsig:X509IssuerSerial/> node.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>issuerName</p></td>
-<td><p>the issuer name (optional).</p></td>
-<td> </td>
+<td class="parameter_name"><p>issuerName</p></td>
+<td class="parameter_description"><p>the issuer name (optional).</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN18363"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTmplX509IssuerSerialAddIssuerName.returns"></a><h4>Returns</h4>
<p> the pointer to the newly created <dsig:X509IssuerName/> node or
NULL if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTMPLX509ISSUERSERIALADDSERIALNUMBER"></a><h3>xmlSecTmplX509IssuerSerialAddSerialNumber ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlNodePtr</span></font>
+<div class="refsect2">
+<a name="xmlSecTmplX509IssuerSerialAddSerialNumber"></a><h3>xmlSecTmplX509IssuerSerialAddSerialNumber ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlNodePtr</span></font>
xmlSecTmplX509IssuerSerialAddSerialNumber
- (<code class="PARAMETER"><font><span class="TYPE">xmlNodePtr</span></font> x509IssuerSerialNode</code>,
- <code class="PARAMETER">const <font><span class="TYPE">xmlChar</span></font> *serial</code>);</pre>
-<p>Adds <dsig:X509SerialNumber/> node to the <dsig:X509IssuerSerial/> node <code class="PARAMETER">x509IssuerSerialNode</code>
+ (<em class="parameter"><code><font><span class="type">xmlNodePtr</span></font> x509IssuerSerialNode</code></em>,
+ <em class="parameter"><code>const <font><span class="type">xmlChar</span></font> *serial</code></em>);</pre>
+<p>Adds <dsig:X509SerialNumber/> node to the <dsig:X509IssuerSerial/> node <em class="parameter"><code>x509IssuerSerialNode</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN18381"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN18383"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecTmplX509IssuerSerialAddSerialNumber.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>x509IssuerSerialNode</p></td>
-<td><p>the pointer to <dsig:X509IssuerSerial/> node.</p></td>
-<td> </td>
+<td class="parameter_name"><p>x509IssuerSerialNode</p></td>
+<td class="parameter_description"><p>the pointer to <dsig:X509IssuerSerial/> node.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>serial</p></td>
-<td><p>the serial number (optional).</p></td>
-<td> </td>
+<td class="parameter_name"><p>serial</p></td>
+<td class="parameter_description"><p>the serial number (optional).</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN18398"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTmplX509IssuerSerialAddSerialNumber.returns"></a><h4>Returns</h4>
<p> the pointer to the newly created <dsig:X509SerialNumber/> node or
NULL if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTMPLX509DATAADDSUBJECTNAME"></a><h3>xmlSecTmplX509DataAddSubjectName ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlNodePtr</span></font>
-xmlSecTmplX509DataAddSubjectName (<code class="PARAMETER"><font><span class="TYPE">xmlNodePtr</span></font> x509DataNode</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecTmplX509DataAddSubjectName"></a><h3>xmlSecTmplX509DataAddSubjectName ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlNodePtr</span></font>
+xmlSecTmplX509DataAddSubjectName (<em class="parameter"><code><font><span class="type">xmlNodePtr</span></font> x509DataNode</code></em>);</pre>
<p>Adds <dsig:X509SubjectName/> node to the given <dsig:X509Data/> node.</p>
-<div class="REFSECT3">
-<a name="AEN18412"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN18414"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecTmplX509DataAddSubjectName.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>x509DataNode</p></td>
-<td><p>the pointer to <dsig:X509Data/> node.</p></td>
-<td> </td>
+<td class="parameter_name"><p>x509DataNode</p></td>
+<td class="parameter_description"><p>the pointer to <dsig:X509Data/> node.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN18423"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTmplX509DataAddSubjectName.returns"></a><h4>Returns</h4>
<p> the pointer to the newly created <dsig:X509SubjectName/> node or
NULL if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTMPLX509DATAADDSKI"></a><h3>xmlSecTmplX509DataAddSKI ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlNodePtr</span></font>
-xmlSecTmplX509DataAddSKI (<code class="PARAMETER"><font><span class="TYPE">xmlNodePtr</span></font> x509DataNode</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecTmplX509DataAddSKI"></a><h3>xmlSecTmplX509DataAddSKI ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlNodePtr</span></font>
+xmlSecTmplX509DataAddSKI (<em class="parameter"><code><font><span class="type">xmlNodePtr</span></font> x509DataNode</code></em>);</pre>
<p>Adds <dsig:X509SKI/> node to the given <dsig:X509Data/> node.</p>
-<div class="REFSECT3">
-<a name="AEN18437"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN18439"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecTmplX509DataAddSKI.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>x509DataNode</p></td>
-<td><p>the pointer to <dsig:X509Data/> node.</p></td>
-<td> </td>
+<td class="parameter_name"><p>x509DataNode</p></td>
+<td class="parameter_description"><p>the pointer to <dsig:X509Data/> node.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN18448"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTmplX509DataAddSKI.returns"></a><h4>Returns</h4>
<p> the pointer to the newly created <dsig:X509SKI/> node or
NULL if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTMPLX509DATAADDCERTIFICATE"></a><h3>xmlSecTmplX509DataAddCertificate ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlNodePtr</span></font>
-xmlSecTmplX509DataAddCertificate (<code class="PARAMETER"><font><span class="TYPE">xmlNodePtr</span></font> x509DataNode</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecTmplX509DataAddCertificate"></a><h3>xmlSecTmplX509DataAddCertificate ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlNodePtr</span></font>
+xmlSecTmplX509DataAddCertificate (<em class="parameter"><code><font><span class="type">xmlNodePtr</span></font> x509DataNode</code></em>);</pre>
<p>Adds <dsig:X509Certificate/> node to the given <dsig:X509Data/> node.</p>
-<div class="REFSECT3">
-<a name="AEN18462"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN18464"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecTmplX509DataAddCertificate.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>x509DataNode</p></td>
-<td><p>the pointer to <dsig:X509Data/> node.</p></td>
-<td> </td>
+<td class="parameter_name"><p>x509DataNode</p></td>
+<td class="parameter_description"><p>the pointer to <dsig:X509Data/> node.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN18473"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTmplX509DataAddCertificate.returns"></a><h4>Returns</h4>
<p> the pointer to the newly created <dsig:X509Certificate/> node or
NULL if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTMPLX509DATAADDCRL"></a><h3>xmlSecTmplX509DataAddCRL ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlNodePtr</span></font>
-xmlSecTmplX509DataAddCRL (<code class="PARAMETER"><font><span class="TYPE">xmlNodePtr</span></font> x509DataNode</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecTmplX509DataAddCRL"></a><h3>xmlSecTmplX509DataAddCRL ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlNodePtr</span></font>
+xmlSecTmplX509DataAddCRL (<em class="parameter"><code><font><span class="type">xmlNodePtr</span></font> x509DataNode</code></em>);</pre>
<p>Adds <dsig:X509CRL/> node to the given <dsig:X509Data/> node.</p>
-<div class="REFSECT3">
-<a name="AEN18487"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN18489"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecTmplX509DataAddCRL.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>x509DataNode</p></td>
-<td><p>the pointer to <dsig:X509Data/> node.</p></td>
-<td> </td>
+<td class="parameter_name"><p>x509DataNode</p></td>
+<td class="parameter_description"><p>the pointer to <dsig:X509Data/> node.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN18498"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTmplX509DataAddCRL.returns"></a><h4>Returns</h4>
<p> the pointer to the newly created <dsig:X509CRL/> node or
NULL if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTMPLTRANSFORMADDHMACOUTPUTLENGTH"></a><h3>xmlSecTmplTransformAddHmacOutputLength ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
+<div class="refsect2">
+<a name="xmlSecTmplTransformAddHmacOutputLength"></a><h3>xmlSecTmplTransformAddHmacOutputLength ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
xmlSecTmplTransformAddHmacOutputLength
- (<code class="PARAMETER"><font><span class="TYPE">xmlNodePtr</span></font> transformNode</code>,
- <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> bitsLen</code>);</pre>
+ (<em class="parameter"><code><font><span class="type">xmlNodePtr</span></font> transformNode</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="type">xmlSecSize</span></a> bitsLen</code></em>);</pre>
<p>Creates <dsig:HMACOutputLength/> child for the HMAC transform
-node <code class="PARAMETER">node</code>
+node <em class="parameter"><code>node</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN18516"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN18518"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecTmplTransformAddHmacOutputLength.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>transformNode</p></td>
-<td><p>the pointer to <dsig:Transform/> node</p></td>
-<td> </td>
+<td class="parameter_name"><p>transformNode</p></td>
+<td class="parameter_description"><p>the pointer to <dsig:Transform/> node</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>bitsLen</p></td>
-<td><p>the required length in bits</p></td>
-<td> </td>
+<td class="parameter_name"><p>bitsLen</p></td>
+<td class="parameter_description"><p>the required length in bits</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN18533"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTmplTransformAddHmacOutputLength.returns"></a><h4>Returns</h4>
<p> 0 on success and a negatie value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTMPLTRANSFORMADDRSAOAEPPARAM"></a><h3>xmlSecTmplTransformAddRsaOaepParam ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecTmplTransformAddRsaOaepParam (<code class="PARAMETER"><font><span class="TYPE">xmlNodePtr</span></font> transformNode</code>,
- <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *buf</code>,
- <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> size</code>);</pre>
-<p>Creates <enc:OAEPParam/> child node in the <code class="PARAMETER">node</code>
+<div class="refsect2">
+<a name="xmlSecTmplTransformAddRsaOaepParam"></a><h3>xmlSecTmplTransformAddRsaOaepParam ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecTmplTransformAddRsaOaepParam (<em class="parameter"><code><font><span class="type">xmlNodePtr</span></font> transformNode</code></em>,
+ <em class="parameter"><code>const <a class="link" href="xmlsec-xmlsec.html#xmlSecByte" title="xmlSecByte"><span class="type">xmlSecByte</span></a> *buf</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="type">xmlSecSize</span></a> size</code></em>);</pre>
+<p>Creates <enc:OAEPParam/> child node in the <em class="parameter"><code>node</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN18554"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN18556"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecTmplTransformAddRsaOaepParam.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>transformNode</p></td>
-<td><p>the pointer to <dsig:Transform/> node.</p></td>
-<td> </td>
+<td class="parameter_name"><p>transformNode</p></td>
+<td class="parameter_description"><p>the pointer to <dsig:Transform/> node.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>buf</p></td>
-<td><p>the OAEP param buffer.</p></td>
-<td> </td>
+<td class="parameter_name"><p>buf</p></td>
+<td class="parameter_description"><p>the OAEP param buffer.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>size</p></td>
-<td><p>the OAEP param buffer size.</p></td>
-<td> </td>
+<td class="parameter_name"><p>size</p></td>
+<td class="parameter_description"><p>the OAEP param buffer size.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN18577"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTmplTransformAddRsaOaepParam.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTMPLTRANSFORMADDXSLTSTYLESHEET"></a><h3>xmlSecTmplTransformAddXsltStylesheet ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecTmplTransformAddXsltStylesheet (<code class="PARAMETER"><font><span class="TYPE">xmlNodePtr</span></font> transformNode</code>,
- <code class="PARAMETER">const <font><span class="TYPE">xmlChar</span></font> *xslt</code>);</pre>
-<p>Writes the XSLT transform expression to the <code class="PARAMETER">node</code>
+<div class="refsect2">
+<a name="xmlSecTmplTransformAddXsltStylesheet"></a><h3>xmlSecTmplTransformAddXsltStylesheet ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecTmplTransformAddXsltStylesheet (<em class="parameter"><code><font><span class="type">xmlNodePtr</span></font> transformNode</code></em>,
+ <em class="parameter"><code>const <font><span class="type">xmlChar</span></font> *xslt</code></em>);</pre>
+<p>Writes the XSLT transform expression to the <em class="parameter"><code>node</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN18595"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN18597"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecTmplTransformAddXsltStylesheet.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>transformNode</p></td>
-<td><p>the pointer to <dsig:Transform/> node.</p></td>
-<td> </td>
+<td class="parameter_name"><p>transformNode</p></td>
+<td class="parameter_description"><p>the pointer to <dsig:Transform/> node.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>xslt</p></td>
-<td><p>the XSLT transform exspression.</p></td>
-<td> </td>
+<td class="parameter_name"><p>xslt</p></td>
+<td class="parameter_description"><p>the XSLT transform exspression.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN18612"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTmplTransformAddXsltStylesheet.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTMPLTRANSFORMADDC14NINCLNAMESPACES"></a><h3>xmlSecTmplTransformAddC14NInclNamespaces ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
+<div class="refsect2">
+<a name="xmlSecTmplTransformAddC14NInclNamespaces"></a><h3>xmlSecTmplTransformAddC14NInclNamespaces ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
xmlSecTmplTransformAddC14NInclNamespaces
- (<code class="PARAMETER"><font><span class="TYPE">xmlNodePtr</span></font> transformNode</code>,
- <code class="PARAMETER">const <font><span class="TYPE">xmlChar</span></font> *prefixList</code>);</pre>
-<p>Adds "inclusive" namespaces to the ExcC14N transform node <code class="PARAMETER">node</code>
+ (<em class="parameter"><code><font><span class="type">xmlNodePtr</span></font> transformNode</code></em>,
+ <em class="parameter"><code>const <font><span class="type">xmlChar</span></font> *prefixList</code></em>);</pre>
+<p>Adds "inclusive" namespaces to the ExcC14N transform node <em class="parameter"><code>node</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN18630"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN18632"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecTmplTransformAddC14NInclNamespaces.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>transformNode</p></td>
-<td><p>the pointer to <dsig:Transform/> node.</p></td>
-<td> </td>
+<td class="parameter_name"><p>transformNode</p></td>
+<td class="parameter_description"><p>the pointer to <dsig:Transform/> node.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>prefixList</p></td>
-<td><p>the white space delimited list of namespace prefixes,
-where "<font><span class="TYPE">default</span></font>" indicates the default namespace
+<td class="parameter_name"><p>prefixList</p></td>
+<td class="parameter_description"><p>the white space delimited list of namespace prefixes,
+where "<font><span class="type">default</span></font>" indicates the default namespace
(optional).</p></td>
-<td> </td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN18649"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTmplTransformAddC14NInclNamespaces.returns"></a><h4>Returns</h4>
<p> 0 if success or a negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTMPLTRANSFORMADDXPATH"></a><h3>xmlSecTmplTransformAddXPath ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecTmplTransformAddXPath (<code class="PARAMETER"><font><span class="TYPE">xmlNodePtr</span></font> transformNode</code>,
- <code class="PARAMETER">const <font><span class="TYPE">xmlChar</span></font> *expression</code>,
- <code class="PARAMETER">const <font><span class="TYPE">xmlChar</span></font> **nsList</code>);</pre>
-<p>Writes XPath transform infromation to the <dsig:Transform/> node
-<code class="PARAMETER">node</code>
+<div class="refsect2">
+<a name="xmlSecTmplTransformAddXPath"></a><h3>xmlSecTmplTransformAddXPath ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecTmplTransformAddXPath (<em class="parameter"><code><font><span class="type">xmlNodePtr</span></font> transformNode</code></em>,
+ <em class="parameter"><code>const <font><span class="type">xmlChar</span></font> *expression</code></em>,
+ <em class="parameter"><code>const <font><span class="type">xmlChar</span></font> **nsList</code></em>);</pre>
+<p>Writes XPath transform information to the <dsig:Transform/> node
+<em class="parameter"><code>node</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN18670"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN18672"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecTmplTransformAddXPath.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>transformNode</p></td>
-<td><p>the pointer to the <dsig:Transform/> node.</p></td>
-<td> </td>
+<td class="parameter_name"><p>transformNode</p></td>
+<td class="parameter_description"><p>the pointer to the <dsig:Transform/> node.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>expression</p></td>
-<td><p>the XPath expression.</p></td>
-<td> </td>
+<td class="parameter_name"><p>expression</p></td>
+<td class="parameter_description"><p>the XPath expression.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>nsList</p></td>
-<td><p>the NULL terminated list of namespace prefix/href pairs
+<td class="parameter_name"><p>nsList</p></td>
+<td class="parameter_description"><p>the NULL terminated list of namespace prefix/href pairs
(optional).</p></td>
-<td> </td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN18693"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTmplTransformAddXPath.returns"></a><h4>Returns</h4>
<p> 0 for success or a negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTMPLTRANSFORMADDXPATH2"></a><h3>xmlSecTmplTransformAddXPath2 ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecTmplTransformAddXPath2 (<code class="PARAMETER"><font><span class="TYPE">xmlNodePtr</span></font> transformNode</code>,
- <code class="PARAMETER">const <font><span class="TYPE">xmlChar</span></font> *type</code>,
- <code class="PARAMETER">const <font><span class="TYPE">xmlChar</span></font> *expression</code>,
- <code class="PARAMETER">const <font><span class="TYPE">xmlChar</span></font> **nsList</code>);</pre>
-<p>Writes XPath2 transform infromation to the <dsig:Transform/> node
-<code class="PARAMETER">node</code>
+<div class="refsect2">
+<a name="xmlSecTmplTransformAddXPath2"></a><h3>xmlSecTmplTransformAddXPath2 ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecTmplTransformAddXPath2 (<em class="parameter"><code><font><span class="type">xmlNodePtr</span></font> transformNode</code></em>,
+ <em class="parameter"><code>const <font><span class="type">xmlChar</span></font> *type</code></em>,
+ <em class="parameter"><code>const <font><span class="type">xmlChar</span></font> *expression</code></em>,
+ <em class="parameter"><code>const <font><span class="type">xmlChar</span></font> **nsList</code></em>);</pre>
+<p>Writes XPath2 transform information to the <dsig:Transform/> node
+<em class="parameter"><code>node</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN18717"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN18719"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecTmplTransformAddXPath2.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>transformNode</p></td>
-<td><p>the pointer to the <dsig:Transform/> node.</p></td>
-<td> </td>
+<td class="parameter_name"><p>transformNode</p></td>
+<td class="parameter_description"><p>the pointer to the <dsig:Transform/> node.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>type</p></td>
-<td><p>the XPath2 transform type ("union", "intersect" or "subtract").</p></td>
-<td> </td>
+<td class="parameter_name"><p>type</p></td>
+<td class="parameter_description"><p>the XPath2 transform type ("union", "intersect" or "subtract").</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>expression</p></td>
-<td><p>the XPath expression.</p></td>
-<td> </td>
+<td class="parameter_name"><p>expression</p></td>
+<td class="parameter_description"><p>the XPath expression.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>nsList</p></td>
-<td><p>the NULL terminated list of namespace prefix/href pairs.
+<td class="parameter_name"><p>nsList</p></td>
+<td class="parameter_description"><p>the NULL terminated list of namespace prefix/href pairs.
(optional).</p></td>
-<td> </td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN18746"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTmplTransformAddXPath2.returns"></a><h4>Returns</h4>
<p> 0 for success or a negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTMPLTRANSFORMADDXPOINTER"></a><h3>xmlSecTmplTransformAddXPointer ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecTmplTransformAddXPointer (<code class="PARAMETER"><font><span class="TYPE">xmlNodePtr</span></font> transformNode</code>,
- <code class="PARAMETER">const <font><span class="TYPE">xmlChar</span></font> *expression</code>,
- <code class="PARAMETER">const <font><span class="TYPE">xmlChar</span></font> **nsList</code>);</pre>
-<p>Writes XPoniter transform infromation to the <dsig:Transform/> node
-<code class="PARAMETER">node</code>
+<div class="refsect2">
+<a name="xmlSecTmplTransformAddXPointer"></a><h3>xmlSecTmplTransformAddXPointer ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecTmplTransformAddXPointer (<em class="parameter"><code><font><span class="type">xmlNodePtr</span></font> transformNode</code></em>,
+ <em class="parameter"><code>const <font><span class="type">xmlChar</span></font> *expression</code></em>,
+ <em class="parameter"><code>const <font><span class="type">xmlChar</span></font> **nsList</code></em>);</pre>
+<p>Writes XPointer transform information to the <dsig:Transform/> node
+<em class="parameter"><code>node</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN18767"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN18769"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecTmplTransformAddXPointer.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>transformNode</p></td>
-<td><p>the pointer to the <dsig:Transform/> node.</p></td>
-<td> </td>
+<td class="parameter_name"><p>transformNode</p></td>
+<td class="parameter_description"><p>the pointer to the <dsig:Transform/> node.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>expression</p></td>
-<td><p>the XPath expression.</p></td>
-<td> </td>
+<td class="parameter_name"><p>expression</p></td>
+<td class="parameter_description"><p>the XPath expression.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>nsList</p></td>
-<td><p>the NULL terminated list of namespace prefix/href pairs.
+<td class="parameter_name"><p>nsList</p></td>
+<td class="parameter_description"><p>the NULL terminated list of namespace prefix/href pairs.
(optional).</p></td>
-<td> </td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN18790"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTmplTransformAddXPointer.returns"></a><h4>Returns</h4>
<p> 0 for success or a negative value otherwise.</p>
</div>
</div>
</div>
-<div class="REFSECT1">
-<a name="XMLSEC-TEMPLATES.OTHER_DETAILS"></a><h2>Types and Values</h2>
-<p></p>
+<div class="refsect1">
+<a name="xmlsec-templates.other_details"></a><h2>Types and Values</h2>
</div>
-<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td align="left"><a accesskey="p" href="xmlsec-parser.html"><b><<< parser</b></a></td>
-<td align="right"><a accesskey="n" href="xmlsec-transforms.html"><b>transforms >>></b></a></td>
-</tr></table>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
</td></tr></table></td>
</tr></table></body>
</html>
diff --git a/docs/api/xmlsec-transforms.html b/docs/api/xmlsec-transforms.html
index 04b879c..b0800be 100644
--- a/docs/api/xmlsec-transforms.html
+++ b/docs/api/xmlsec-transforms.html
@@ -1,41 +1,14 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>transforms</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79">
-<link rel="HOME" title="XML Security Library Reference Manual" href="index.html">
-<link rel="UP" title="XML Security Core Library API Reference." href="xmlsec-ref.html">
-<link rel="PREVIOUS" title="templates" href="xmlsec-templates.html">
-<link rel="NEXT" title="version" href="xmlsec-version.html">
-<style type="text/css">.synopsis, .classsynopsis {
- background: #eeeeee;
- border: solid 1px #aaaaaa;
- padding: 0.5em;
-}
-.programlisting {
- background: #eeeeff;
- border: solid 1px #aaaaff;
- padding: 0.5em;
-}
-.variablelist {
- padding: 4px;
- margin-left: 3em;
-}
-.navigation {
- background: #ffeeee;
- border: solid 1px #ffaaaa;
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
-.navigation a {
- color: #770000;
-}
-.navigation a:visited {
- color: #550000;
-}
-.navigation .title {
- font-size: 200%;
-}</style>
+<title>transforms: XML Security Library Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="XML Security Library Reference Manual">
+<link rel="up" href="xmlsec-ref.html" title="XML Security Core Library API Reference.">
+<link rel="prev" href="xmlsec-templates.html" title="templates">
+<link rel="next" href="xmlsec-version.html" title="version">
+<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
<style type="text/css">
table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
width: 20em;
@@ -100,3774 +73,3811 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
</table>
</td>
<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent">
-<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td><a accesskey="p" href="xmlsec-templates.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="xmlsec-ref.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description"> <span class="dim">|</span>
+ <a href="#xmlsec-transforms.description" class="shortcut">Description</a></span>
+</td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<th width="100%" align="center">XML Security Library Reference Manual</th>
+<td><a accesskey="u" href="xmlsec-ref.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="xmlsec-templates.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="xmlsec-version.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
-<h1>
-<a name="XMLSEC-TRANSFORMS"></a>transforms</h1>
-<div class="REFNAMEDIV">
-<a name="AEN18801"></a><h2>Name</h2>transforms -- Transform object definition.</div>
-<div class="REFSECT1">
-<a name="XMLSEC-TRANSFORMS.FUNCTIONS"></a><h2>Functions</h2>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN18806"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
+<div class="refentry">
+<a name="xmlsec-transforms"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="xmlsec-transforms.top_of_page"></a>transforms</span></h2>
+<p>transforms — Transform object definition.</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="xmlsec-transforms.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
<tbody>
<tr>
-<td><a href="xmlsec-list.html#XMLSECPTRLIST"><span class="RETURNVALUE">xmlSecPtrListPtr</span></a></td>
-<td>
-<a href="xmlsec-transforms.html#XMLSECTRANSFORMIDSGET">xmlSecTransformIdsGet</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecPtrListPtr</span></font>
</td>
-</tr>
-<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-transforms.html#XMLSECTRANSFORMIDSINIT">xmlSecTransformIdsInit</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_name">
+<a class="link" href="xmlsec-transforms.html#xmlSecTransformIdsGet" title="xmlSecTransformIdsGet ()">xmlSecTransformIdsGet</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">void</span></font></td>
-<td>
-<a href="xmlsec-transforms.html#XMLSECTRANSFORMIDSSHUTDOWN">xmlSecTransformIdsShutdown</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-transforms.html#xmlSecTransformIdsInit" title="xmlSecTransformIdsInit ()">xmlSecTransformIdsInit</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-transforms.html#XMLSECTRANSFORMIDSREGISTERDEFAULT">xmlSecTransformIdsRegisterDefault</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">void</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-transforms.html#xmlSecTransformIdsShutdown" title="xmlSecTransformIdsShutdown ()">xmlSecTransformIdsShutdown</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-transforms.html#XMLSECTRANSFORMIDSREGISTER">xmlSecTransformIdsRegister</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-transforms.html#xmlSecTransformIdsRegisterDefault" title="xmlSecTransformIdsRegisterDefault ()">xmlSecTransformIdsRegisterDefault</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-transforms.html#XMLSECTRANSFORMURITYPECHECK">xmlSecTransformUriTypeCheck</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-transforms.html#xmlSecTransformIdsRegister" title="xmlSecTransformIdsRegister ()">xmlSecTransformIdsRegister</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<span class="c_punctuation"><span class="PHRASE">(</span></span><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXPREEXECUTECALLBACK">*xmlSecTransformCtxPreExecuteCallback</a><span class="c_punctuation"><span class="PHRASE">)</span></span> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-transforms.html#xmlSecTransformUriTypeCheck" title="xmlSecTransformUriTypeCheck ()">xmlSecTransformUriTypeCheck</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="RETURNVALUE">xmlSecTransformCtxPtr</span></a></td>
-<td>
-<a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXCREATE">xmlSecTransformCtxCreate</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<span class="c_punctuation">(</span><a class="link" href="xmlsec-transforms.html#xmlSecTransformCtxPreExecuteCallback" title="xmlSecTransformCtxPreExecuteCallback ()">*xmlSecTransformCtxPreExecuteCallback</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">void</span></font></td>
-<td>
-<a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXDESTROY">xmlSecTransformCtxDestroy</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformCtxPtr</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-transforms.html#xmlSecTransformCtxCreate" title="xmlSecTransformCtxCreate ()">xmlSecTransformCtxCreate</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXINITIALIZE">xmlSecTransformCtxInitialize</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">void</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-transforms.html#xmlSecTransformCtxDestroy" title="xmlSecTransformCtxDestroy ()">xmlSecTransformCtxDestroy</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">void</span></font></td>
-<td>
-<a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXFINALIZE">xmlSecTransformCtxFinalize</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-transforms.html#xmlSecTransformCtxInitialize" title="xmlSecTransformCtxInitialize ()">xmlSecTransformCtxInitialize</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">void</span></font></td>
-<td>
-<a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXRESET">xmlSecTransformCtxReset</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">void</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-transforms.html#xmlSecTransformCtxFinalize" title="xmlSecTransformCtxFinalize ()">xmlSecTransformCtxFinalize</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXCOPYUSERPREF">xmlSecTransformCtxCopyUserPref</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">void</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-transforms.html#xmlSecTransformCtxReset" title="xmlSecTransformCtxReset ()">xmlSecTransformCtxReset</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXSETURI">xmlSecTransformCtxSetUri</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-transforms.html#xmlSecTransformCtxCopyUserPref" title="xmlSecTransformCtxCopyUserPref ()">xmlSecTransformCtxCopyUserPref</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXAPPEND">xmlSecTransformCtxAppend</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-transforms.html#xmlSecTransformCtxSetUri" title="xmlSecTransformCtxSetUri ()">xmlSecTransformCtxSetUri</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXPREPEND">xmlSecTransformCtxPrepend</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-transforms.html#xmlSecTransformCtxAppend" title="xmlSecTransformCtxAppend ()">xmlSecTransformCtxAppend</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="RETURNVALUE">xmlSecTransformPtr</span></a></td>
-<td>
-<a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXCREATEANDAPPEND">xmlSecTransformCtxCreateAndAppend</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-transforms.html#xmlSecTransformCtxPrepend" title="xmlSecTransformCtxPrepend ()">xmlSecTransformCtxPrepend</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="RETURNVALUE">xmlSecTransformPtr</span></a></td>
-<td>
-<a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXCREATEANDPREPEND">xmlSecTransformCtxCreateAndPrepend</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformPtr</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-transforms.html#xmlSecTransformCtxCreateAndAppend" title="xmlSecTransformCtxCreateAndAppend ()">xmlSecTransformCtxCreateAndAppend</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="RETURNVALUE">xmlSecTransformPtr</span></a></td>
-<td>
-<a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXNODEREAD">xmlSecTransformCtxNodeRead</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformPtr</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-transforms.html#xmlSecTransformCtxCreateAndPrepend" title="xmlSecTransformCtxCreateAndPrepend ()">xmlSecTransformCtxCreateAndPrepend</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXNODESLISTREAD">xmlSecTransformCtxNodesListRead</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformPtr</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-transforms.html#xmlSecTransformCtxNodeRead" title="xmlSecTransformCtxNodeRead ()">xmlSecTransformCtxNodeRead</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXPREPARE">xmlSecTransformCtxPrepare</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-transforms.html#xmlSecTransformCtxNodesListRead" title="xmlSecTransformCtxNodesListRead ()">xmlSecTransformCtxNodesListRead</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXBINARYEXECUTE">xmlSecTransformCtxBinaryExecute</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-transforms.html#xmlSecTransformCtxPrepare" title="xmlSecTransformCtxPrepare ()">xmlSecTransformCtxPrepare</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXURIEXECUTE">xmlSecTransformCtxUriExecute</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-transforms.html#xmlSecTransformCtxBinaryExecute" title="xmlSecTransformCtxBinaryExecute ()">xmlSecTransformCtxBinaryExecute</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXXMLEXECUTE">xmlSecTransformCtxXmlExecute</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-transforms.html#xmlSecTransformCtxUriExecute" title="xmlSecTransformCtxUriExecute ()">xmlSecTransformCtxUriExecute</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXEXECUTE">xmlSecTransformCtxExecute</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-transforms.html#xmlSecTransformCtxXmlExecute" title="xmlSecTransformCtxXmlExecute ()">xmlSecTransformCtxXmlExecute</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">void</span></font></td>
-<td>
-<a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXDEBUGDUMP">xmlSecTransformCtxDebugDump</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-transforms.html#xmlSecTransformCtxExecute" title="xmlSecTransformCtxExecute ()">xmlSecTransformCtxExecute</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">void</span></font></td>
-<td>
-<a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXDEBUGXMLDUMP">xmlSecTransformCtxDebugXmlDump</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">void</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-transforms.html#xmlSecTransformCtxDebugDump" title="xmlSecTransformCtxDebugDump ()">xmlSecTransformCtxDebugDump</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="RETURNVALUE">xmlSecTransformPtr</span></a></td>
-<td>
-<a href="xmlsec-transforms.html#XMLSECTRANSFORMCREATE">xmlSecTransformCreate</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">void</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-transforms.html#xmlSecTransformCtxDebugXmlDump" title="xmlSecTransformCtxDebugXmlDump ()">xmlSecTransformCtxDebugXmlDump</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">void</span></font></td>
-<td>
-<a href="xmlsec-transforms.html#XMLSECTRANSFORMDESTROY">xmlSecTransformDestroy</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformPtr</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-transforms.html#xmlSecTransformCreate" title="xmlSecTransformCreate ()">xmlSecTransformCreate</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="RETURNVALUE">xmlSecTransformPtr</span></a></td>
-<td>
-<a href="xmlsec-transforms.html#XMLSECTRANSFORMNODEREAD">xmlSecTransformNodeRead</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">void</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-transforms.html#xmlSecTransformDestroy" title="xmlSecTransformDestroy ()">xmlSecTransformDestroy</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-transforms.html#XMLSECTRANSFORMPUMP">xmlSecTransformPump</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformPtr</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-transforms.html#xmlSecTransformNodeRead" title="xmlSecTransformNodeRead ()">xmlSecTransformNodeRead</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-transforms.html#XMLSECTRANSFORMSETKEY">xmlSecTransformSetKey</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-transforms.html#xmlSecTransformPump" title="xmlSecTransformPump ()">xmlSecTransformPump</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-transforms.html#XMLSECTRANSFORMSETKEYREQ">xmlSecTransformSetKeyReq</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-transforms.html#xmlSecTransformSetKey" title="xmlSecTransformSetKey ()">xmlSecTransformSetKey</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-transforms.html#XMLSECTRANSFORMVERIFY">xmlSecTransformVerify</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-transforms.html#xmlSecTransformSetKeyReq" title="xmlSecTransformSetKeyReq ()">xmlSecTransformSetKeyReq</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-transforms.html#XMLSECTRANSFORMVERIFYNODECONTENT">xmlSecTransformVerifyNodeContent</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-transforms.html#xmlSecTransformVerify" title="xmlSecTransformVerify ()">xmlSecTransformVerify</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><a href="xmlsec-transforms.html#XMLSECTRANSFORMDATATYPE"><span class="RETURNVALUE">xmlSecTransformDataType</span></a></td>
-<td>
-<a href="xmlsec-transforms.html#XMLSECTRANSFORMGETDATATYPE">xmlSecTransformGetDataType</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-transforms.html#xmlSecTransformVerifyNodeContent" title="xmlSecTransformVerifyNodeContent ()">xmlSecTransformVerifyNodeContent</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-transforms.html#XMLSECTRANSFORMPUSHBIN">xmlSecTransformPushBin</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<a class="link" href="xmlsec-transforms.html#xmlSecTransformDataType" title="xmlSecTransformDataType"><span class="returnvalue">xmlSecTransformDataType</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-transforms.html#xmlSecTransformGetDataType" title="xmlSecTransformGetDataType ()">xmlSecTransformGetDataType</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-transforms.html#XMLSECTRANSFORMPOPBIN">xmlSecTransformPopBin</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-transforms.html#xmlSecTransformPushBin" title="xmlSecTransformPushBin ()">xmlSecTransformPushBin</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-transforms.html#XMLSECTRANSFORMPUSHXML">xmlSecTransformPushXml</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-transforms.html#xmlSecTransformPopBin" title="xmlSecTransformPopBin ()">xmlSecTransformPopBin</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-transforms.html#XMLSECTRANSFORMPOPXML">xmlSecTransformPopXml</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-transforms.html#xmlSecTransformPushXml" title="xmlSecTransformPushXml ()">xmlSecTransformPushXml</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-transforms.html#XMLSECTRANSFORMEXECUTE">xmlSecTransformExecute</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-transforms.html#xmlSecTransformPopXml" title="xmlSecTransformPopXml ()">xmlSecTransformPopXml</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">void</span></font></td>
-<td>
-<a href="xmlsec-transforms.html#XMLSECTRANSFORMDEBUGDUMP">xmlSecTransformDebugDump</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-transforms.html#xmlSecTransformExecute" title="xmlSecTransformExecute ()">xmlSecTransformExecute</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">void</span></font></td>
-<td>
-<a href="xmlsec-transforms.html#XMLSECTRANSFORMDEBUGXMLDUMP">xmlSecTransformDebugXmlDump</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">void</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-transforms.html#xmlSecTransformDebugDump" title="xmlSecTransformDebugDump ()">xmlSecTransformDebugDump</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td>#define</td>
-<td>
-<a href="xmlsec-transforms.html#XMLSECTRANSFORMGETNAME">xmlSecTransformGetName</a><span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">void</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-transforms.html#xmlSecTransformDebugXmlDump" title="xmlSecTransformDebugXmlDump ()">xmlSecTransformDebugXmlDump</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td>#define</td>
-<td>
-<a href="xmlsec-transforms.html#XMLSECTRANSFORMISVALID">xmlSecTransformIsValid</a><span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="define_keyword">#define</td>
+<td class="function_name">
+<a class="link" href="xmlsec-transforms.html#xmlSecTransformGetName" title="xmlSecTransformGetName()">xmlSecTransformGetName</a><span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td>#define</td>
-<td>
-<a href="xmlsec-transforms.html#XMLSECTRANSFORMCHECKID">xmlSecTransformCheckId</a><span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="define_keyword">#define</td>
+<td class="function_name">
+<a class="link" href="xmlsec-transforms.html#xmlSecTransformIsValid" title="xmlSecTransformIsValid()">xmlSecTransformIsValid</a><span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td>#define</td>
-<td>
-<a href="xmlsec-transforms.html#XMLSECTRANSFORMCHECKSIZE">xmlSecTransformCheckSize</a><span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="define_keyword">#define</td>
+<td class="function_name">
+<a class="link" href="xmlsec-transforms.html#xmlSecTransformCheckId" title="xmlSecTransformCheckId()">xmlSecTransformCheckId</a><span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-transforms.html#XMLSECTRANSFORMCONNECT">xmlSecTransformConnect</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="define_keyword">#define</td>
+<td class="function_name">
+<a class="link" href="xmlsec-transforms.html#xmlSecTransformCheckSize" title="xmlSecTransformCheckSize()">xmlSecTransformCheckSize</a><span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">void</span></font></td>
-<td>
-<a href="xmlsec-transforms.html#XMLSECTRANSFORMREMOVE">xmlSecTransformRemove</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-transforms.html#xmlSecTransformConnect" title="xmlSecTransformConnect ()">xmlSecTransformConnect</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><a href="xmlsec-transforms.html#XMLSECTRANSFORMDATATYPE"><span class="RETURNVALUE">xmlSecTransformDataType</span></a></td>
-<td>
-<a href="xmlsec-transforms.html#XMLSECTRANSFORMDEFAULTGETDATATYPE">xmlSecTransformDefaultGetDataType</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">void</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-transforms.html#xmlSecTransformRemove" title="xmlSecTransformRemove ()">xmlSecTransformRemove</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-transforms.html#XMLSECTRANSFORMDEFAULTPUSHBIN">xmlSecTransformDefaultPushBin</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<a class="link" href="xmlsec-transforms.html#xmlSecTransformDataType" title="xmlSecTransformDataType"><span class="returnvalue">xmlSecTransformDataType</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-transforms.html#xmlSecTransformDefaultGetDataType" title="xmlSecTransformDefaultGetDataType ()">xmlSecTransformDefaultGetDataType</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-transforms.html#XMLSECTRANSFORMDEFAULTPOPBIN">xmlSecTransformDefaultPopBin</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-transforms.html#xmlSecTransformDefaultPushBin" title="xmlSecTransformDefaultPushBin ()">xmlSecTransformDefaultPushBin</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-transforms.html#XMLSECTRANSFORMDEFAULTPUSHXML">xmlSecTransformDefaultPushXml</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-transforms.html#xmlSecTransformDefaultPopBin" title="xmlSecTransformDefaultPopBin ()">xmlSecTransformDefaultPopBin</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-transforms.html#XMLSECTRANSFORMDEFAULTPOPXML">xmlSecTransformDefaultPopXml</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-transforms.html#xmlSecTransformDefaultPushXml" title="xmlSecTransformDefaultPushXml ()">xmlSecTransformDefaultPushXml</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlOutputBufferPtr</span></font></td>
-<td>
-<a href="xmlsec-transforms.html#XMLSECTRANSFORMCREATEOUTPUTBUFFER">xmlSecTransformCreateOutputBuffer</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-transforms.html#xmlSecTransformDefaultPopXml" title="xmlSecTransformDefaultPopXml ()">xmlSecTransformDefaultPopXml</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlParserInputBufferPtr</span></font></td>
-<td>
-<a href="xmlsec-transforms.html#XMLSECTRANSFORMCREATEINPUTBUFFER">xmlSecTransformCreateInputBuffer</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlOutputBufferPtr</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-transforms.html#xmlSecTransformCreateOutputBuffer" title="xmlSecTransformCreateOutputBuffer ()">xmlSecTransformCreateOutputBuffer</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<span class="c_punctuation"><span class="PHRASE">(</span></span><a href="xmlsec-transforms.html#XMLSECTRANSFORMINITIALIZEMETHOD">*xmlSecTransformInitializeMethod</a><span class="c_punctuation"><span class="PHRASE">)</span></span> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlParserInputBufferPtr</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-transforms.html#xmlSecTransformCreateInputBuffer" title="xmlSecTransformCreateInputBuffer ()">xmlSecTransformCreateInputBuffer</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">void</span></font></td>
-<td>
-<span class="c_punctuation"><span class="PHRASE">(</span></span><a href="xmlsec-transforms.html#XMLSECTRANSFORMFINALIZEMETHOD">*xmlSecTransformFinalizeMethod</a><span class="c_punctuation"><span class="PHRASE">)</span></span> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<span class="c_punctuation">(</span><a class="link" href="xmlsec-transforms.html#xmlSecTransformInitializeMethod" title="xmlSecTransformInitializeMethod ()">*xmlSecTransformInitializeMethod</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><a href="xmlsec-transforms.html#XMLSECTRANSFORMDATATYPE"><span class="RETURNVALUE">xmlSecTransformDataType</span></a></td>
-<td>
-<span class="c_punctuation"><span class="PHRASE">(</span></span><a href="xmlsec-transforms.html#XMLSECTRANSFORMGETDATATYPEMETHOD">*xmlSecTransformGetDataTypeMethod</a><span class="c_punctuation"><span class="PHRASE">)</span></span> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">void</span></font>
+</td>
+<td class="function_name">
+<span class="c_punctuation">(</span><a class="link" href="xmlsec-transforms.html#xmlSecTransformFinalizeMethod" title="xmlSecTransformFinalizeMethod ()">*xmlSecTransformFinalizeMethod</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<span class="c_punctuation"><span class="PHRASE">(</span></span><a href="xmlsec-transforms.html#XMLSECTRANSFORMNODEREADMETHOD">*xmlSecTransformNodeReadMethod</a><span class="c_punctuation"><span class="PHRASE">)</span></span> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<a class="link" href="xmlsec-transforms.html#xmlSecTransformDataType" title="xmlSecTransformDataType"><span class="returnvalue">xmlSecTransformDataType</span></a>
+</td>
+<td class="function_name">
+<span class="c_punctuation">(</span><a class="link" href="xmlsec-transforms.html#xmlSecTransformGetDataTypeMethod" title="xmlSecTransformGetDataTypeMethod ()">*xmlSecTransformGetDataTypeMethod</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<span class="c_punctuation"><span class="PHRASE">(</span></span><a href="xmlsec-transforms.html#XMLSECTRANSFORMNODEWRITEMETHOD">*xmlSecTransformNodeWriteMethod</a><span class="c_punctuation"><span class="PHRASE">)</span></span> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<span class="c_punctuation">(</span><a class="link" href="xmlsec-transforms.html#xmlSecTransformNodeReadMethod" title="xmlSecTransformNodeReadMethod ()">*xmlSecTransformNodeReadMethod</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<span class="c_punctuation"><span class="PHRASE">(</span></span><a href="xmlsec-transforms.html#XMLSECTRANSFORMSETKEYREQUIREMENTSMETHOD">*xmlSecTransformSetKeyRequirementsMethod</a><span class="c_punctuation"><span class="PHRASE">)</span></span> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<span class="c_punctuation">(</span><a class="link" href="xmlsec-transforms.html#xmlSecTransformNodeWriteMethod" title="xmlSecTransformNodeWriteMethod ()">*xmlSecTransformNodeWriteMethod</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<span class="c_punctuation"><span class="PHRASE">(</span></span><a href="xmlsec-transforms.html#XMLSECTRANSFORMSETKEYMETHOD">*xmlSecTransformSetKeyMethod</a><span class="c_punctuation"><span class="PHRASE">)</span></span> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<span class="c_punctuation">(</span><a class="link" href="xmlsec-transforms.html#xmlSecTransformSetKeyRequirementsMethod" title="xmlSecTransformSetKeyRequirementsMethod ()">*xmlSecTransformSetKeyRequirementsMethod</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<span class="c_punctuation"><span class="PHRASE">(</span></span><a href="xmlsec-transforms.html#XMLSECTRANSFORMVERIFYMETHOD">*xmlSecTransformVerifyMethod</a><span class="c_punctuation"><span class="PHRASE">)</span></span> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<span class="c_punctuation">(</span><a class="link" href="xmlsec-transforms.html#xmlSecTransformSetKeyMethod" title="xmlSecTransformSetKeyMethod ()">*xmlSecTransformSetKeyMethod</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<span class="c_punctuation"><span class="PHRASE">(</span></span><a href="xmlsec-transforms.html#XMLSECTRANSFORMPUSHBINMETHOD">*xmlSecTransformPushBinMethod</a><span class="c_punctuation"><span class="PHRASE">)</span></span> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<span class="c_punctuation">(</span><a class="link" href="xmlsec-transforms.html#xmlSecTransformVerifyMethod" title="xmlSecTransformVerifyMethod ()">*xmlSecTransformVerifyMethod</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<span class="c_punctuation"><span class="PHRASE">(</span></span><a href="xmlsec-transforms.html#XMLSECTRANSFORMPOPBINMETHOD">*xmlSecTransformPopBinMethod</a><span class="c_punctuation"><span class="PHRASE">)</span></span> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<span class="c_punctuation">(</span><a class="link" href="xmlsec-transforms.html#xmlSecTransformPushBinMethod" title="xmlSecTransformPushBinMethod ()">*xmlSecTransformPushBinMethod</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<span class="c_punctuation"><span class="PHRASE">(</span></span><a href="xmlsec-transforms.html#XMLSECTRANSFORMPUSHXMLMETHOD">*xmlSecTransformPushXmlMethod</a><span class="c_punctuation"><span class="PHRASE">)</span></span> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<span class="c_punctuation">(</span><a class="link" href="xmlsec-transforms.html#xmlSecTransformPopBinMethod" title="xmlSecTransformPopBinMethod ()">*xmlSecTransformPopBinMethod</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<span class="c_punctuation"><span class="PHRASE">(</span></span><a href="xmlsec-transforms.html#XMLSECTRANSFORMPOPXMLMETHOD">*xmlSecTransformPopXmlMethod</a><span class="c_punctuation"><span class="PHRASE">)</span></span> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<span class="c_punctuation">(</span><a class="link" href="xmlsec-transforms.html#xmlSecTransformPushXmlMethod" title="xmlSecTransformPushXmlMethod ()">*xmlSecTransformPushXmlMethod</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<span class="c_punctuation"><span class="PHRASE">(</span></span><a href="xmlsec-transforms.html#XMLSECTRANSFORMEXECUTEMETHOD">*xmlSecTransformExecuteMethod</a><span class="c_punctuation"><span class="PHRASE">)</span></span> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<span class="c_punctuation">(</span><a class="link" href="xmlsec-transforms.html#xmlSecTransformPopXmlMethod" title="xmlSecTransformPopXmlMethod ()">*xmlSecTransformPopXmlMethod</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td>#define</td>
-<td>
-<a href="xmlsec-transforms.html#XMLSECTRANSFORMKLASSGETNAME">xmlSecTransformKlassGetName</a><span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<span class="c_punctuation">(</span><a class="link" href="xmlsec-transforms.html#xmlSecTransformExecuteMethod" title="xmlSecTransformExecuteMethod ()">*xmlSecTransformExecuteMethod</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecPtrListId</span></font></td>
-<td>
-<a href="xmlsec-transforms.html#XMLSECTRANSFORMIDLISTGETKLASS">xmlSecTransformIdListGetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="define_keyword">#define</td>
+<td class="function_name">
+<a class="link" href="xmlsec-transforms.html#xmlSecTransformKlassGetName" title="xmlSecTransformKlassGetName()">xmlSecTransformKlassGetName</a><span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-transforms.html#XMLSECTRANSFORMIDLISTFIND">xmlSecTransformIdListFind</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecPtrListId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-transforms.html#xmlSecTransformIdListGetKlass" title="xmlSecTransformIdListGetKlass ()">xmlSecTransformIdListGetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-transforms.html#XMLSECTRANSFORMIDLISTFINDBYHREF">xmlSecTransformIdListFindByHref</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-transforms.html#xmlSecTransformIdListFind" title="xmlSecTransformIdListFind ()">xmlSecTransformIdListFind</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-transforms.html#XMLSECTRANSFORMIDLISTFINDBYNAME">xmlSecTransformIdListFindByName</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-transforms.html#xmlSecTransformIdListFindByHref" title="xmlSecTransformIdListFindByHref ()">xmlSecTransformIdListFindByHref</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">void</span></font></td>
-<td>
-<a href="xmlsec-transforms.html#XMLSECTRANSFORMIDLISTDEBUGDUMP">xmlSecTransformIdListDebugDump</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-transforms.html#xmlSecTransformIdListFindByName" title="xmlSecTransformIdListFindByName ()">xmlSecTransformIdListFindByName</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">void</span></font></td>
-<td>
-<a href="xmlsec-transforms.html#XMLSECTRANSFORMIDLISTDEBUGXMLDUMP">xmlSecTransformIdListDebugXmlDump</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">void</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-transforms.html#xmlSecTransformIdListDebugDump" title="xmlSecTransformIdListDebugDump ()">xmlSecTransformIdListDebugDump</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-transforms.html#XMLSECTRANSFORMIDUNKNOWN">xmlSecTransformIdUnknown</a></td>
+<td class="function_type">
+<font><span class="returnvalue">void</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-transforms.html#xmlSecTransformIdListDebugXmlDump" title="xmlSecTransformIdListDebugXmlDump ()">xmlSecTransformIdListDebugXmlDump</a> <span class="c_punctuation">()</span>
+</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-transforms.html#XMLSECTRANSFORMBASE64GETKLASS">xmlSecTransformBase64GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-transforms.html#xmlSecTransformBase64GetKlass" title="xmlSecTransformBase64GetKlass ()">xmlSecTransformBase64GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">void</span></font></td>
-<td>
-<a href="xmlsec-transforms.html#XMLSECTRANSFORMBASE64SETLINESIZE">xmlSecTransformBase64SetLineSize</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">void</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-transforms.html#xmlSecTransformBase64SetLineSize" title="xmlSecTransformBase64SetLineSize ()">xmlSecTransformBase64SetLineSize</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-transforms.html#XMLSECTRANSFORMINCLC14NGETKLASS">xmlSecTransformInclC14NGetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-transforms.html#xmlSecTransformInclC14NGetKlass" title="xmlSecTransformInclC14NGetKlass ()">xmlSecTransformInclC14NGetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-transforms.html#XMLSECTRANSFORMINCLC14NWITHCOMMENTSGETKLASS">xmlSecTransformInclC14NWithCommentsGetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-transforms.html#xmlSecTransformInclC14NWithCommentsGetKlass" title="xmlSecTransformInclC14NWithCommentsGetKlass ()">xmlSecTransformInclC14NWithCommentsGetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-transforms.html#XMLSECTRANSFORMINCLC14N11GETKLASS">xmlSecTransformInclC14N11GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-transforms.html#xmlSecTransformInclC14N11GetKlass" title="xmlSecTransformInclC14N11GetKlass ()">xmlSecTransformInclC14N11GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-transforms.html#XMLSECTRANSFORMINCLC14N11WITHCOMMENTSGETKLASS">xmlSecTransformInclC14N11WithCommentsGetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-transforms.html#xmlSecTransformInclC14N11WithCommentsGetKlass" title="xmlSecTransformInclC14N11WithCommentsGetKlass ()">xmlSecTransformInclC14N11WithCommentsGetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-transforms.html#XMLSECTRANSFORMEXCLC14NGETKLASS">xmlSecTransformExclC14NGetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-transforms.html#xmlSecTransformExclC14NGetKlass" title="xmlSecTransformExclC14NGetKlass ()">xmlSecTransformExclC14NGetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-transforms.html#XMLSECTRANSFORMEXCLC14NWITHCOMMENTSGETKLASS">xmlSecTransformExclC14NWithCommentsGetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-transforms.html#xmlSecTransformExclC14NWithCommentsGetKlass" title="xmlSecTransformExclC14NWithCommentsGetKlass ()">xmlSecTransformExclC14NWithCommentsGetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-transforms.html#XMLSECTRANSFORMENVELOPEDGETKLASS">xmlSecTransformEnvelopedGetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-transforms.html#xmlSecTransformEnvelopedGetKlass" title="xmlSecTransformEnvelopedGetKlass ()">xmlSecTransformEnvelopedGetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-transforms.html#XMLSECTRANSFORMXPATHGETKLASS">xmlSecTransformXPathGetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-transforms.html#xmlSecTransformXPathGetKlass" title="xmlSecTransformXPathGetKlass ()">xmlSecTransformXPathGetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-transforms.html#XMLSECTRANSFORMXPATH2GETKLASS">xmlSecTransformXPath2GetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-transforms.html#xmlSecTransformXPath2GetKlass" title="xmlSecTransformXPath2GetKlass ()">xmlSecTransformXPath2GetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-transforms.html#XMLSECTRANSFORMXPOINTERGETKLASS">xmlSecTransformXPointerGetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-transforms.html#xmlSecTransformXPointerGetKlass" title="xmlSecTransformXPointerGetKlass ()">xmlSecTransformXPointerGetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-transforms.html#XMLSECTRANSFORMXPOINTERSETEXPR">xmlSecTransformXPointerSetExpr</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-transforms.html#xmlSecTransformXPointerSetExpr" title="xmlSecTransformXPointerSetExpr ()">xmlSecTransformXPointerSetExpr</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-transforms.html#XMLSECTRANSFORMRELATIONSHIPGETKLASS">xmlSecTransformRelationshipGetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-transforms.html#xmlSecTransformRelationshipGetKlass" title="xmlSecTransformRelationshipGetKlass ()">xmlSecTransformRelationshipGetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-transforms.html#XMLSECTRANSFORMXSLTGETKLASS">xmlSecTransformXsltGetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-transforms.html#xmlSecTransformXsltGetKlass" title="xmlSecTransformXsltGetKlass ()">xmlSecTransformXsltGetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">void</span></font></td>
-<td>
-<a href="xmlsec-transforms.html#XMLSECTRANSFORMXSLTSETDEFAULTSECURITYPREFS">xmlSecTransformXsltSetDefaultSecurityPrefs</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">void</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-transforms.html#xmlSecTransformXsltSetDefaultSecurityPrefs" title="xmlSecTransformXsltSetDefaultSecurityPrefs ()">xmlSecTransformXsltSetDefaultSecurityPrefs</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-transforms.html#XMLSECTRANSFORMREMOVEXMLTAGSC14NGETKLASS">xmlSecTransformRemoveXmlTagsC14NGetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-transforms.html#xmlSecTransformRemoveXmlTagsC14NGetKlass" title="xmlSecTransformRemoveXmlTagsC14NGetKlass ()">xmlSecTransformRemoveXmlTagsC14NGetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecTransformId</span></font></td>
-<td>
-<a href="xmlsec-transforms.html#XMLSECTRANSFORMVISA3DHACKGETKLASS">xmlSecTransformVisa3DHackGetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecTransformId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-transforms.html#xmlSecTransformVisa3DHackGetKlass" title="xmlSecTransformVisa3DHackGetKlass ()">xmlSecTransformVisa3DHackGetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-transforms.html#XMLSECTRANSFORMVISA3DHACKSETID">xmlSecTransformVisa3DHackSetID</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-transforms.html#xmlSecTransformVisa3DHackSetID" title="xmlSecTransformVisa3DHackSetID ()">xmlSecTransformVisa3DHackSetID</a> <span class="c_punctuation">()</span>
</td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
-</div>
-<div class="REFSECT1">
-<a name="XMLSEC-TRANSFORMS.OTHER"></a><h2>Types and Values</h2>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN19498"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="xmlsec-transforms.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
<tbody>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-transforms.html#XMLSEC-TRANSFORM-BINARY-CHUNK:CAPS">XMLSEC_TRANSFORM_BINARY_CHUNK</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-transforms.html#XMLSEC-TRANSFORM-BINARY-CHUNK:CAPS" title="XMLSEC_TRANSFORM_BINARY_CHUNK">XMLSEC_TRANSFORM_BINARY_CHUNK</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="xmlsec-transforms.html#xmlSecTransformStatus" title="enum xmlSecTransformStatus">xmlSecTransformStatus</a></td>
</tr>
<tr>
-<td>enum</td>
-<td><a href="xmlsec-transforms.html#XMLSECTRANSFORMSTATUS">xmlSecTransformStatus</a></td>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="xmlsec-transforms.html#xmlSecTransformMode" title="enum xmlSecTransformMode">xmlSecTransformMode</a></td>
</tr>
<tr>
-<td>enum</td>
-<td><a href="xmlsec-transforms.html#XMLSECTRANSFORMMODE">xmlSecTransformMode</a></td>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="xmlsec-transforms.html#xmlSecTransformOperation" title="enum xmlSecTransformOperation">xmlSecTransformOperation</a></td>
</tr>
<tr>
-<td>enum</td>
-<td><a href="xmlsec-transforms.html#XMLSECTRANSFORMOPERATION">xmlSecTransformOperation</a></td>
+<td class="typedef_keyword">typedef</td>
+<td class="function_name"><a class="link" href="xmlsec-transforms.html#xmlSecTransformUriType" title="xmlSecTransformUriType">xmlSecTransformUriType</a></td>
</tr>
<tr>
-<td>typedef</td>
-<td><a href="xmlsec-transforms.html#XMLSECTRANSFORMURITYPE">xmlSecTransformUriType</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-transforms.html#xmlSecTransformUriTypeNone" title="xmlSecTransformUriTypeNone">xmlSecTransformUriTypeNone</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-transforms.html#XMLSECTRANSFORMURITYPENONE">xmlSecTransformUriTypeNone</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-transforms.html#xmlSecTransformUriTypeEmpty" title="xmlSecTransformUriTypeEmpty">xmlSecTransformUriTypeEmpty</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-transforms.html#XMLSECTRANSFORMURITYPEEMPTY">xmlSecTransformUriTypeEmpty</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-transforms.html#xmlSecTransformUriTypeSameDocument" title="xmlSecTransformUriTypeSameDocument">xmlSecTransformUriTypeSameDocument</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-transforms.html#XMLSECTRANSFORMURITYPESAMEDOCUMENT">xmlSecTransformUriTypeSameDocument</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-transforms.html#xmlSecTransformUriTypeLocal" title="xmlSecTransformUriTypeLocal">xmlSecTransformUriTypeLocal</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-transforms.html#XMLSECTRANSFORMURITYPELOCAL">xmlSecTransformUriTypeLocal</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-transforms.html#xmlSecTransformUriTypeRemote" title="xmlSecTransformUriTypeRemote">xmlSecTransformUriTypeRemote</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-transforms.html#XMLSECTRANSFORMURITYPEREMOTE">xmlSecTransformUriTypeRemote</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-transforms.html#xmlSecTransformUriTypeAny" title="xmlSecTransformUriTypeAny">xmlSecTransformUriTypeAny</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-transforms.html#XMLSECTRANSFORMURITYPEANY">xmlSecTransformUriTypeAny</a></td>
+<td class="typedef_keyword">typedef</td>
+<td class="function_name"><a class="link" href="xmlsec-transforms.html#xmlSecTransformDataType" title="xmlSecTransformDataType">xmlSecTransformDataType</a></td>
</tr>
<tr>
-<td>typedef</td>
-<td><a href="xmlsec-transforms.html#XMLSECTRANSFORMDATATYPE">xmlSecTransformDataType</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-transforms.html#xmlSecTransformDataTypeUnknown" title="xmlSecTransformDataTypeUnknown">xmlSecTransformDataTypeUnknown</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-transforms.html#XMLSECTRANSFORMDATATYPEUNKNOWN">xmlSecTransformDataTypeUnknown</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-transforms.html#xmlSecTransformDataTypeBin" title="xmlSecTransformDataTypeBin">xmlSecTransformDataTypeBin</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-transforms.html#XMLSECTRANSFORMDATATYPEBIN">xmlSecTransformDataTypeBin</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-transforms.html#xmlSecTransformDataTypeXml" title="xmlSecTransformDataTypeXml">xmlSecTransformDataTypeXml</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-transforms.html#XMLSECTRANSFORMDATATYPEXML">xmlSecTransformDataTypeXml</a></td>
+<td class="typedef_keyword">typedef</td>
+<td class="function_name"><a class="link" href="xmlsec-transforms.html#xmlSecTransformUsage" title="xmlSecTransformUsage">xmlSecTransformUsage</a></td>
</tr>
<tr>
-<td>typedef</td>
-<td><a href="xmlsec-transforms.html#XMLSECTRANSFORMUSAGE">xmlSecTransformUsage</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-transforms.html#xmlSecTransformUsageUnknown" title="xmlSecTransformUsageUnknown">xmlSecTransformUsageUnknown</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-transforms.html#XMLSECTRANSFORMUSAGEUNKNOWN">xmlSecTransformUsageUnknown</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-transforms.html#xmlSecTransformUsageDSigTransform" title="xmlSecTransformUsageDSigTransform">xmlSecTransformUsageDSigTransform</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-transforms.html#XMLSECTRANSFORMUSAGEDSIGTRANSFORM">xmlSecTransformUsageDSigTransform</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-transforms.html#xmlSecTransformUsageC14NMethod" title="xmlSecTransformUsageC14NMethod">xmlSecTransformUsageC14NMethod</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-transforms.html#XMLSECTRANSFORMUSAGEC14NMETHOD">xmlSecTransformUsageC14NMethod</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-transforms.html#xmlSecTransformUsageDigestMethod" title="xmlSecTransformUsageDigestMethod">xmlSecTransformUsageDigestMethod</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-transforms.html#XMLSECTRANSFORMUSAGEDIGESTMETHOD">xmlSecTransformUsageDigestMethod</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-transforms.html#xmlSecTransformUsageSignatureMethod" title="xmlSecTransformUsageSignatureMethod">xmlSecTransformUsageSignatureMethod</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-transforms.html#XMLSECTRANSFORMUSAGESIGNATUREMETHOD">xmlSecTransformUsageSignatureMethod</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-transforms.html#xmlSecTransformUsageEncryptionMethod" title="xmlSecTransformUsageEncryptionMethod">xmlSecTransformUsageEncryptionMethod</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-transforms.html#XMLSECTRANSFORMUSAGEENCRYPTIONMETHOD">xmlSecTransformUsageEncryptionMethod</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-transforms.html#xmlSecTransformUsageAny" title="xmlSecTransformUsageAny">xmlSecTransformUsageAny</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-transforms.html#XMLSECTRANSFORMUSAGEANY">xmlSecTransformUsageAny</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-transforms.html#XMLSEC-TRANSFORMCTX-FLAGS-USE-VISA3D-HACK:CAPS" title="XMLSEC_TRANSFORMCTX_FLAGS_USE_VISA3D_HACK">XMLSEC_TRANSFORMCTX_FLAGS_USE_VISA3D_HACK</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-transforms.html#XMLSEC-TRANSFORMCTX-FLAGS-USE-VISA3D-HACK:CAPS">XMLSEC_TRANSFORMCTX_FLAGS_USE_VISA3D_HACK</a></td>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="xmlsec-transforms.html#xmlSecTransformCtx" title="struct xmlSecTransformCtx">xmlSecTransformCtx</a></td>
</tr>
<tr>
-<td>struct</td>
-<td><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX">xmlSecTransformCtx</a></td>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="xmlsec-transforms.html#xmlSecTransform" title="struct xmlSecTransform">xmlSecTransform</a></td>
</tr>
<tr>
-<td>struct</td>
-<td><a href="xmlsec-transforms.html#XMLSECTRANSFORM">xmlSecTransform</a></td>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="xmlsec-transforms.html#xmlSecTransformKlass" title="struct xmlSecTransformKlass">xmlSecTransformKlass</a></td>
</tr>
<tr>
-<td>struct</td>
-<td><a href="xmlsec-transforms.html#XMLSECTRANSFORMKLASS">xmlSecTransformKlass</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-transforms.html#xmlSecTransformIdListId" title="xmlSecTransformIdListId">xmlSecTransformIdListId</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-transforms.html#XMLSECTRANSFORMIDLISTID">xmlSecTransformIdListId</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-transforms.html#xmlSecTransformIdUnknown" title="xmlSecTransformIdUnknown">xmlSecTransformIdUnknown</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-transforms.html#XMLSECTRANSFORMBASE64ID">xmlSecTransformBase64Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-transforms.html#xmlSecTransformBase64Id" title="xmlSecTransformBase64Id">xmlSecTransformBase64Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-transforms.html#XMLSECTRANSFORMINCLC14NID">xmlSecTransformInclC14NId</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-transforms.html#xmlSecTransformInclC14NId" title="xmlSecTransformInclC14NId">xmlSecTransformInclC14NId</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-transforms.html#XMLSECTRANSFORMINCLC14NWITHCOMMENTSID">xmlSecTransformInclC14NWithCommentsId</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-transforms.html#xmlSecTransformInclC14NWithCommentsId" title="xmlSecTransformInclC14NWithCommentsId">xmlSecTransformInclC14NWithCommentsId</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-transforms.html#XMLSECTRANSFORMINCLC14N11ID">xmlSecTransformInclC14N11Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-transforms.html#xmlSecTransformInclC14N11Id" title="xmlSecTransformInclC14N11Id">xmlSecTransformInclC14N11Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-transforms.html#XMLSECTRANSFORMINCLC14N11WITHCOMMENTSID">xmlSecTransformInclC14N11WithCommentsId</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-transforms.html#xmlSecTransformInclC14N11WithCommentsId" title="xmlSecTransformInclC14N11WithCommentsId">xmlSecTransformInclC14N11WithCommentsId</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-transforms.html#XMLSECTRANSFORMEXCLC14NID">xmlSecTransformExclC14NId</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-transforms.html#xmlSecTransformExclC14NId" title="xmlSecTransformExclC14NId">xmlSecTransformExclC14NId</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-transforms.html#XMLSECTRANSFORMEXCLC14NWITHCOMMENTSID">xmlSecTransformExclC14NWithCommentsId</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-transforms.html#xmlSecTransformExclC14NWithCommentsId" title="xmlSecTransformExclC14NWithCommentsId">xmlSecTransformExclC14NWithCommentsId</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-transforms.html#XMLSECTRANSFORMENVELOPEDID">xmlSecTransformEnvelopedId</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-transforms.html#xmlSecTransformEnvelopedId" title="xmlSecTransformEnvelopedId">xmlSecTransformEnvelopedId</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-transforms.html#XMLSECTRANSFORMXPATHID">xmlSecTransformXPathId</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-transforms.html#xmlSecTransformXPathId" title="xmlSecTransformXPathId">xmlSecTransformXPathId</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-transforms.html#XMLSECTRANSFORMXPATH2ID">xmlSecTransformXPath2Id</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-transforms.html#xmlSecTransformXPath2Id" title="xmlSecTransformXPath2Id">xmlSecTransformXPath2Id</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-transforms.html#XMLSECTRANSFORMXPOINTERID">xmlSecTransformXPointerId</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-transforms.html#xmlSecTransformXPointerId" title="xmlSecTransformXPointerId">xmlSecTransformXPointerId</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-transforms.html#XMLSECTRANSFORMRELATIONSHIPID">xmlSecTransformRelationshipId</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-transforms.html#xmlSecTransformRelationshipId" title="xmlSecTransformRelationshipId">xmlSecTransformRelationshipId</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-transforms.html#XMLSECTRANSFORMXSLTID">xmlSecTransformXsltId</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-transforms.html#xmlSecTransformXsltId" title="xmlSecTransformXsltId">xmlSecTransformXsltId</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-transforms.html#XMLSECTRANSFORMREMOVEXMLTAGSC14NID">xmlSecTransformRemoveXmlTagsC14NId</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-transforms.html#xmlSecTransformRemoveXmlTagsC14NId" title="xmlSecTransformRemoveXmlTagsC14NId">xmlSecTransformRemoveXmlTagsC14NId</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-transforms.html#XMLSECTRANSFORMVISA3DHACKID">xmlSecTransformVisa3DHackId</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-transforms.html#xmlSecTransformVisa3DHackId" title="xmlSecTransformVisa3DHackId">xmlSecTransformVisa3DHackId</a></td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
-</div>
-<div class="REFSECT1">
-<a name="XMLSEC-TRANSFORMS.DESCRIPTION"></a><h2>Description</h2>
-<p>Transform object definition.</p>
-</div>
-<div class="REFSECT1">
-<a name="XMLSEC-TRANSFORMS.FUNCTIONS_DETAILS"></a><h2>Functions</h2>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMIDSGET"></a><h3>xmlSecTransformIdsGet ()</h3>
-<pre class="PROGRAMLISTING"><a href="xmlsec-list.html#XMLSECPTRLIST"><span class="RETURNVALUE">xmlSecPtrListPtr</span></a>
-xmlSecTransformIdsGet (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="xmlsec-transforms.description"></a><h2>Description</h2>
+<p>
+Transform object definition.
+</p>
+</div>
+<div class="refsect1">
+<a name="xmlsec-transforms.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="xmlSecTransformIdsGet"></a><h3>xmlSecTransformIdsGet ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecPtrListPtr</span></font>
+xmlSecTransformIdsGet (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>Gets global registered transform klasses list.</p>
-<div class="REFSECT3">
-<a name="AEN19688"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTransformIdsGet.returns"></a><h4>Returns</h4>
<p> the pointer to list of all registered transform klasses.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMIDSINIT"></a><h3>xmlSecTransformIdsInit ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecTransformIdsInit (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecTransformIdsInit"></a><h3>xmlSecTransformIdsInit ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecTransformIdsInit (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>Initializes the transform klasses. This function is called from the
-<a href="xmlsec-xmlsec.html#XMLSECINIT"><span class="TYPE">xmlSecInit</span></a> function and the application should not call it directly.</p>
-<div class="REFSECT3">
-<a name="AEN19703"></a><h4>Returns</h4>
+<a class="link" href="xmlsec-xmlsec.html#xmlSecInit" title="xmlSecInit ()"><span class="type">xmlSecInit</span></a> function and the application should not call it directly.</p>
+<div class="refsect3">
+<a name="xmlSecTransformIdsInit.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMIDSSHUTDOWN"></a><h3>xmlSecTransformIdsShutdown ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">void</span></font>
-xmlSecTransformIdsShutdown (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecTransformIdsShutdown"></a><h3>xmlSecTransformIdsShutdown ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">void</span></font>
+xmlSecTransformIdsShutdown (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>Shuts down the keys data klasses. This function is called from the
-<a href="xmlsec-xmlsec.html#XMLSECSHUTDOWN"><span class="TYPE">xmlSecShutdown</span></a> function and the application should not call it directly.</p>
+<a class="link" href="xmlsec-xmlsec.html#xmlSecShutdown" title="xmlSecShutdown ()"><span class="type">xmlSecShutdown</span></a> function and the application should not call it directly.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMIDSREGISTERDEFAULT"></a><h3>xmlSecTransformIdsRegisterDefault ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecTransformIdsRegisterDefault (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecTransformIdsRegisterDefault"></a><h3>xmlSecTransformIdsRegisterDefault ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecTransformIdsRegisterDefault (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>Registers default (implemented by XML Security Library)
transform klasses: XPath transform, Base64 transform, ...</p>
-<div class="REFSECT3">
-<a name="AEN19728"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTransformIdsRegisterDefault.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMIDSREGISTER"></a><h3>xmlSecTransformIdsRegister ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecTransformIdsRegister (<code class="PARAMETER"><font><span class="TYPE">xmlSecTransformId</span></font> id</code>);</pre>
-<p>Registers <code class="PARAMETER">id</code>
+<div class="refsect2">
+<a name="xmlSecTransformIdsRegister"></a><h3>xmlSecTransformIdsRegister ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecTransformIdsRegister (<em class="parameter"><code><font><span class="type">xmlSecTransformId</span></font> id</code></em>);</pre>
+<p>Registers <em class="parameter"><code>id</code></em>
in the global list of transform klasses.</p>
-<div class="REFSECT3">
-<a name="AEN19743"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN19745"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecTransformIdsRegister.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>id</p></td>
-<td><p>the transform klass.</p></td>
-<td> </td>
+<td class="parameter_name"><p>id</p></td>
+<td class="parameter_description"><p>the transform klass.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN19754"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTransformIdsRegister.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMURITYPECHECK"></a><h3>xmlSecTransformUriTypeCheck ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecTransformUriTypeCheck (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMURITYPE"><span class="TYPE">xmlSecTransformUriType</span></a> type</code>,
- <code class="PARAMETER">const <font><span class="TYPE">xmlChar</span></font> *uri</code>);</pre>
-<p>Checks if <code class="PARAMETER">uri</code>
- matches expected type <code class="PARAMETER">type</code>
+<div class="refsect2">
+<a name="xmlSecTransformUriTypeCheck"></a><h3>xmlSecTransformUriTypeCheck ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecTransformUriTypeCheck (<em class="parameter"><code><a class="link" href="xmlsec-transforms.html#xmlSecTransformUriType" title="xmlSecTransformUriType"><span class="type">xmlSecTransformUriType</span></a> type</code></em>,
+ <em class="parameter"><code>const <font><span class="type">xmlChar</span></font> *uri</code></em>);</pre>
+<p>Checks if <em class="parameter"><code>uri</code></em>
+ matches expected type <em class="parameter"><code>type</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN19773"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN19775"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecTransformUriTypeCheck.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>type</p></td>
-<td><p>the expected URI type.</p></td>
-<td> </td>
+<td class="parameter_name"><p>type</p></td>
+<td class="parameter_description"><p>the expected URI type.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>uri</p></td>
-<td><p>the uri for checking.</p></td>
-<td> </td>
+<td class="parameter_name"><p>uri</p></td>
+<td class="parameter_description"><p>the uri for checking.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN19790"></a><h4>Returns</h4>
-<p> 1 if <code class="PARAMETER">uri</code>
-matches <code class="PARAMETER">type</code>
+<div class="refsect3">
+<a name="xmlSecTransformUriTypeCheck.returns"></a><h4>Returns</h4>
+<p> 1 if <em class="parameter"><code>uri</code></em>
+matches <em class="parameter"><code>type</code></em>
, 0 if not or a negative value
if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMCTXPREEXECUTECALLBACK"></a><h3>xmlSecTransformCtxPreExecuteCallback ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-<span class="c_punctuation"><span class="PHRASE">(</span></span>*xmlSecTransformCtxPreExecuteCallback<span class="c_punctuation"><span class="PHRASE">)</span></span>
- (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecTransformCtxPreExecuteCallback"></a><h3>xmlSecTransformCtxPreExecuteCallback ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+<span class="c_punctuation">(</span>*xmlSecTransformCtxPreExecuteCallback<span class="c_punctuation">)</span>
+ (<em class="parameter"><code><font><span class="type">xmlSecTransformCtxPtr</span></font> transformCtx</code></em>);</pre>
<p>The callback called after creating transforms chain but before
starting data processing. Application can use this callback to
do additional transforms chain verification or modification and
aborting transforms execution (if necessary).</p>
-<div class="REFSECT3">
-<a name="AEN19808"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN19810"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecTransformCtxPreExecuteCallback.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>transformCtx</p></td>
-<td><p>the pointer to transform's context.</p></td>
-<td> </td>
+<td class="parameter_name"><p>transformCtx</p></td>
+<td class="parameter_description"><p>the pointer to transform's context.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN19819"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTransformCtxPreExecuteCallback.returns"></a><h4>Returns</h4>
<p> 0 on success and a negative value otherwise (in this case,
transforms chain will not be executed and xmlsec processing stops).</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMCTXCREATE"></a><h3>xmlSecTransformCtxCreate ()</h3>
-<pre class="PROGRAMLISTING"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="RETURNVALUE">xmlSecTransformCtxPtr</span></a>
-xmlSecTransformCtxCreate (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecTransformCtxCreate"></a><h3>xmlSecTransformCtxCreate ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformCtxPtr</span></font>
+xmlSecTransformCtxCreate (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>Creates transforms chain processing context.
The caller is responsible for destroying returned object by calling
-<a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXDESTROY"><span class="TYPE">xmlSecTransformCtxDestroy</span></a> function.</p>
-<div class="REFSECT3">
-<a name="AEN19834"></a><h4>Returns</h4>
+<a class="link" href="xmlsec-transforms.html#xmlSecTransformCtxDestroy" title="xmlSecTransformCtxDestroy ()"><span class="type">xmlSecTransformCtxDestroy</span></a> function.</p>
+<div class="refsect3">
+<a name="xmlSecTransformCtxCreate.returns"></a><h4>Returns</h4>
<p> pointer to newly allocated context object or NULL if an error
occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMCTXDESTROY"></a><h3>xmlSecTransformCtxDestroy ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">void</span></font>
-xmlSecTransformCtxDestroy (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> ctx</code>);</pre>
-<p>Destroy context object created with <a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXCREATE"><span class="TYPE">xmlSecTransformCtxCreate</span></a> function.</p>
-<div class="REFSECT3">
-<a name="AEN19850"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN19852"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect2">
+<a name="xmlSecTransformCtxDestroy"></a><h3>xmlSecTransformCtxDestroy ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">void</span></font>
+xmlSecTransformCtxDestroy (<em class="parameter"><code><font><span class="type">xmlSecTransformCtxPtr</span></font> ctx</code></em>);</pre>
+<p>Destroy context object created with <a class="link" href="xmlsec-transforms.html#xmlSecTransformCtxCreate" title="xmlSecTransformCtxCreate ()"><span class="type">xmlSecTransformCtxCreate</span></a> function.</p>
+<div class="refsect3">
+<a name="xmlSecTransformCtxDestroy.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>ctx</p></td>
-<td><p>the pointer to transforms chain processing context.</p></td>
-<td> </td>
+<td class="parameter_name"><p>ctx</p></td>
+<td class="parameter_description"><p>the pointer to transforms chain processing context.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMCTXINITIALIZE"></a><h3>xmlSecTransformCtxInitialize ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecTransformCtxInitialize (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> ctx</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecTransformCtxInitialize"></a><h3>xmlSecTransformCtxInitialize ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecTransformCtxInitialize (<em class="parameter"><code><font><span class="type">xmlSecTransformCtxPtr</span></font> ctx</code></em>);</pre>
<p>Initializes transforms chain processing context.
The caller is responsible for cleaning up returned object by calling
-<a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXFINALIZE"><span class="TYPE">xmlSecTransformCtxFinalize</span></a> function.</p>
-<div class="REFSECT3">
-<a name="AEN19874"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN19876"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<a class="link" href="xmlsec-transforms.html#xmlSecTransformCtxFinalize" title="xmlSecTransformCtxFinalize ()"><span class="type">xmlSecTransformCtxFinalize</span></a> function.</p>
+<div class="refsect3">
+<a name="xmlSecTransformCtxInitialize.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>ctx</p></td>
-<td><p>the pointer to transforms chain processing context.</p></td>
-<td> </td>
+<td class="parameter_name"><p>ctx</p></td>
+<td class="parameter_description"><p>the pointer to transforms chain processing context.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN19885"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTransformCtxInitialize.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMCTXFINALIZE"></a><h3>xmlSecTransformCtxFinalize ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">void</span></font>
-xmlSecTransformCtxFinalize (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> ctx</code>);</pre>
-<p>Cleans up <code class="PARAMETER">ctx</code>
- object initialized with <a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXINITIALIZE"><span class="TYPE">xmlSecTransformCtxInitialize</span></a> function.</p>
-<div class="REFSECT3">
-<a name="AEN19902"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN19904"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect2">
+<a name="xmlSecTransformCtxFinalize"></a><h3>xmlSecTransformCtxFinalize ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">void</span></font>
+xmlSecTransformCtxFinalize (<em class="parameter"><code><font><span class="type">xmlSecTransformCtxPtr</span></font> ctx</code></em>);</pre>
+<p>Cleans up <em class="parameter"><code>ctx</code></em>
+ object initialized with <a class="link" href="xmlsec-transforms.html#xmlSecTransformCtxInitialize" title="xmlSecTransformCtxInitialize ()"><span class="type">xmlSecTransformCtxInitialize</span></a> function.</p>
+<div class="refsect3">
+<a name="xmlSecTransformCtxFinalize.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>ctx</p></td>
-<td><p>the pointer to transforms chain processing context.</p></td>
-<td> </td>
+<td class="parameter_name"><p>ctx</p></td>
+<td class="parameter_description"><p>the pointer to transforms chain processing context.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMCTXRESET"></a><h3>xmlSecTransformCtxReset ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">void</span></font>
-xmlSecTransformCtxReset (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> ctx</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecTransformCtxReset"></a><h3>xmlSecTransformCtxReset ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">void</span></font>
+xmlSecTransformCtxReset (<em class="parameter"><code><font><span class="type">xmlSecTransformCtxPtr</span></font> ctx</code></em>);</pre>
<p>Resets transfroms context for new processing.</p>
-<div class="REFSECT3">
-<a name="AEN19924"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN19926"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecTransformCtxReset.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>ctx</p></td>
-<td><p>the pointer to transforms chain processing context.</p></td>
-<td> </td>
+<td class="parameter_name"><p>ctx</p></td>
+<td class="parameter_description"><p>the pointer to transforms chain processing context.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMCTXCOPYUSERPREF"></a><h3>xmlSecTransformCtxCopyUserPref ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecTransformCtxCopyUserPref (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> dst</code>,
- <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> src</code>);</pre>
-<p>Copies user settings from <code class="PARAMETER">src</code>
- context to <code class="PARAMETER">dst</code>
+<div class="refsect2">
+<a name="xmlSecTransformCtxCopyUserPref"></a><h3>xmlSecTransformCtxCopyUserPref ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecTransformCtxCopyUserPref (<em class="parameter"><code><font><span class="type">xmlSecTransformCtxPtr</span></font> dst</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlSecTransformCtxPtr</span></font> src</code></em>);</pre>
+<p>Copies user settings from <em class="parameter"><code>src</code></em>
+ context to <em class="parameter"><code>dst</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN19951"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN19953"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecTransformCtxCopyUserPref.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>dst</p></td>
-<td><p>the pointer to destination transforms chain processing context.</p></td>
-<td> </td>
+<td class="parameter_name"><p>dst</p></td>
+<td class="parameter_description"><p>the pointer to destination transforms chain processing context.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>src</p></td>
-<td><p>the pointer to source transforms chain processing context.</p></td>
-<td> </td>
+<td class="parameter_name"><p>src</p></td>
+<td class="parameter_description"><p>the pointer to source transforms chain processing context.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN19968"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTransformCtxCopyUserPref.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMCTXSETURI"></a><h3>xmlSecTransformCtxSetUri ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecTransformCtxSetUri (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> ctx</code>,
- <code class="PARAMETER">const <font><span class="TYPE">xmlChar</span></font> *uri</code>,
- <code class="PARAMETER"><font><span class="TYPE">xmlNodePtr</span></font> hereNode</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecTransformCtxSetUri"></a><h3>xmlSecTransformCtxSetUri ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecTransformCtxSetUri (<em class="parameter"><code><font><span class="type">xmlSecTransformCtxPtr</span></font> ctx</code></em>,
+ <em class="parameter"><code>const <font><span class="type">xmlChar</span></font> *uri</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlNodePtr</span></font> hereNode</code></em>);</pre>
<p>Parses uri and adds xpointer transforms if required.</p>
<p>The following examples demonstrate what the URI attribute identifies and
how it is dereferenced
-(http://www.w3.org/TR/xmldsig-core/<font><span class="TYPE">sec-ReferenceProcessingModel</span></font>):</p>
-<p></p>
-<ul>
-<li><p>URI="http://example.com/bar.xml"
+(http://www.w3.org/TR/xmldsig-core/<font><span class="type">sec-ReferenceProcessingModel</span></font>):</p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem"><p>URI="http://example.com/bar.xml"
identifies the octets that represent the external resource
'http://example.com/bar.xml', that is probably an XML document given
its file extension.</p></li>
-<li><p>URI="http://example.com/bar.xml<font><span class="TYPE">chapter1</span></font>"
+<li class="listitem"><p>URI="http://example.com/bar.xml<font><span class="type">chapter1</span></font>"
identifies the element with ID attribute value 'chapter1' of the
external XML resource 'http://example.com/bar.xml', provided as an
octet stream. Again, for the sake of interoperability, the element
identified as 'chapter1' should be obtained using an XPath transform
rather than a URI fragment (barename XPointer resolution in external
resources is not REQUIRED in this specification).</p></li>
-<li><p>URI=""
+<li class="listitem"><p>URI=""
identifies the node-set (minus any comment nodes) of the XML resource
containing the signature</p></li>
-<li><p>URI="<font><span class="TYPE">chapter1</span></font>"
+<li class="listitem"><p>URI="<font><span class="type">chapter1</span></font>"
identifies a node-set containing the element with ID attribute value
'chapter1' of the XML resource containing the signature. XML Signature
(and its applications) modify this node-set to include the element plus
all descendents including namespaces and attributes -- but not comments.</p></li>
-</ul>
-<div class="REFSECT3">
-<a name="AEN20004"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN20006"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+</ul></div>
+<div class="refsect3">
+<a name="xmlSecTransformCtxSetUri.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>ctx</p></td>
-<td><p>the pointer to transforms chain processing context.</p></td>
-<td> </td>
+<td class="parameter_name"><p>ctx</p></td>
+<td class="parameter_description"><p>the pointer to transforms chain processing context.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>uri</p></td>
-<td><p>the URI.</p></td>
-<td> </td>
+<td class="parameter_name"><p>uri</p></td>
+<td class="parameter_description"><p>the URI.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>hereNode</p></td>
-<td><p>the pointer to "here" node required by some
+<td class="parameter_name"><p>hereNode</p></td>
+<td class="parameter_description"><p>the pointer to "here" node required by some
XML transforms (may be NULL).</p></td>
-<td> </td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN20027"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTransformCtxSetUri.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMCTXAPPEND"></a><h3>xmlSecTransformCtxAppend ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecTransformCtxAppend (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> ctx</code>,
- <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>);</pre>
-<p>Connects the <code class="PARAMETER">transform</code>
- to the end of the chain of transforms in the <code class="PARAMETER">ctx</code>
+<div class="refsect2">
+<a name="xmlSecTransformCtxAppend"></a><h3>xmlSecTransformCtxAppend ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecTransformCtxAppend (<em class="parameter"><code><font><span class="type">xmlSecTransformCtxPtr</span></font> ctx</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlSecTransformPtr</span></font> transform</code></em>);</pre>
+<p>Connects the <em class="parameter"><code>transform</code></em>
+ to the end of the chain of transforms in the <em class="parameter"><code>ctx</code></em>
-(see <a href="xmlsec-transforms.html#XMLSECTRANSFORMCONNECT"><span class="TYPE">xmlSecTransformConnect</span></a> function for details).</p>
-<div class="REFSECT3">
-<a name="AEN20048"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN20050"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+(see <a class="link" href="xmlsec-transforms.html#xmlSecTransformConnect" title="xmlSecTransformConnect ()"><span class="type">xmlSecTransformConnect</span></a> function for details).</p>
+<div class="refsect3">
+<a name="xmlSecTransformCtxAppend.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>ctx</p></td>
-<td><p>the pointer to transforms chain processing context.</p></td>
-<td> </td>
+<td class="parameter_name"><p>ctx</p></td>
+<td class="parameter_description"><p>the pointer to transforms chain processing context.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>transform</p></td>
-<td><p>the pointer to new transform.</p></td>
-<td> </td>
+<td class="parameter_name"><p>transform</p></td>
+<td class="parameter_description"><p>the pointer to new transform.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN20065"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTransformCtxAppend.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMCTXPREPEND"></a><h3>xmlSecTransformCtxPrepend ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecTransformCtxPrepend (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> ctx</code>,
- <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>);</pre>
-<p>Connects the <code class="PARAMETER">transform</code>
- to the beggining of the chain of transforms in the <code class="PARAMETER">ctx</code>
+<div class="refsect2">
+<a name="xmlSecTransformCtxPrepend"></a><h3>xmlSecTransformCtxPrepend ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecTransformCtxPrepend (<em class="parameter"><code><font><span class="type">xmlSecTransformCtxPtr</span></font> ctx</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlSecTransformPtr</span></font> transform</code></em>);</pre>
+<p>Connects the <em class="parameter"><code>transform</code></em>
+ to the beggining of the chain of transforms in the <em class="parameter"><code>ctx</code></em>
-(see <a href="xmlsec-transforms.html#XMLSECTRANSFORMCONNECT"><span class="TYPE">xmlSecTransformConnect</span></a> function for details).</p>
-<div class="REFSECT3">
-<a name="AEN20086"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN20088"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+(see <a class="link" href="xmlsec-transforms.html#xmlSecTransformConnect" title="xmlSecTransformConnect ()"><span class="type">xmlSecTransformConnect</span></a> function for details).</p>
+<div class="refsect3">
+<a name="xmlSecTransformCtxPrepend.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>ctx</p></td>
-<td><p>the pointer to transforms chain processing context.</p></td>
-<td> </td>
+<td class="parameter_name"><p>ctx</p></td>
+<td class="parameter_description"><p>the pointer to transforms chain processing context.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>transform</p></td>
-<td><p>the pointer to new transform.</p></td>
-<td> </td>
+<td class="parameter_name"><p>transform</p></td>
+<td class="parameter_description"><p>the pointer to new transform.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN20103"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTransformCtxPrepend.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMCTXCREATEANDAPPEND"></a><h3>xmlSecTransformCtxCreateAndAppend ()</h3>
-<pre class="PROGRAMLISTING"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="RETURNVALUE">xmlSecTransformPtr</span></a>
-xmlSecTransformCtxCreateAndAppend (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> ctx</code>,
- <code class="PARAMETER"><font><span class="TYPE">xmlSecTransformId</span></font> id</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecTransformCtxCreateAndAppend"></a><h3>xmlSecTransformCtxCreateAndAppend ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformPtr</span></font>
+xmlSecTransformCtxCreateAndAppend (<em class="parameter"><code><font><span class="type">xmlSecTransformCtxPtr</span></font> ctx</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlSecTransformId</span></font> id</code></em>);</pre>
<p>Creaeates new transform and connects it to the end of the chain of
-transforms in the <code class="PARAMETER">ctx</code>
- (see <a href="xmlsec-transforms.html#XMLSECTRANSFORMCONNECT"><span class="TYPE">xmlSecTransformConnect</span></a> function for details).</p>
-<div class="REFSECT3">
-<a name="AEN20123"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN20125"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+transforms in the <em class="parameter"><code>ctx</code></em>
+ (see <a class="link" href="xmlsec-transforms.html#xmlSecTransformConnect" title="xmlSecTransformConnect ()"><span class="type">xmlSecTransformConnect</span></a> function for details).</p>
+<div class="refsect3">
+<a name="xmlSecTransformCtxCreateAndAppend.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>ctx</p></td>
-<td><p>the pointer to transforms chain processing context.</p></td>
-<td> </td>
+<td class="parameter_name"><p>ctx</p></td>
+<td class="parameter_description"><p>the pointer to transforms chain processing context.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>id</p></td>
-<td><p>the new transform klass.</p></td>
-<td> </td>
+<td class="parameter_name"><p>id</p></td>
+<td class="parameter_description"><p>the new transform klass.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN20140"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTransformCtxCreateAndAppend.returns"></a><h4>Returns</h4>
<p> pointer to newly created transform or NULL if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMCTXCREATEANDPREPEND"></a><h3>xmlSecTransformCtxCreateAndPrepend ()</h3>
-<pre class="PROGRAMLISTING"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="RETURNVALUE">xmlSecTransformPtr</span></a>
-xmlSecTransformCtxCreateAndPrepend (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> ctx</code>,
- <code class="PARAMETER"><font><span class="TYPE">xmlSecTransformId</span></font> id</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecTransformCtxCreateAndPrepend"></a><h3>xmlSecTransformCtxCreateAndPrepend ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformPtr</span></font>
+xmlSecTransformCtxCreateAndPrepend (<em class="parameter"><code><font><span class="type">xmlSecTransformCtxPtr</span></font> ctx</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlSecTransformId</span></font> id</code></em>);</pre>
<p>Creaeates new transform and connects it to the end of the chain of
-transforms in the <code class="PARAMETER">ctx</code>
- (see <a href="xmlsec-transforms.html#XMLSECTRANSFORMCONNECT"><span class="TYPE">xmlSecTransformConnect</span></a> function for details).</p>
-<div class="REFSECT3">
-<a name="AEN20160"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN20162"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+transforms in the <em class="parameter"><code>ctx</code></em>
+ (see <a class="link" href="xmlsec-transforms.html#xmlSecTransformConnect" title="xmlSecTransformConnect ()"><span class="type">xmlSecTransformConnect</span></a> function for details).</p>
+<div class="refsect3">
+<a name="xmlSecTransformCtxCreateAndPrepend.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>ctx</p></td>
-<td><p>the pointer to transforms chain processing context.</p></td>
-<td> </td>
+<td class="parameter_name"><p>ctx</p></td>
+<td class="parameter_description"><p>the pointer to transforms chain processing context.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>id</p></td>
-<td><p>the new transform klass.</p></td>
-<td> </td>
+<td class="parameter_name"><p>id</p></td>
+<td class="parameter_description"><p>the new transform klass.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN20177"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTransformCtxCreateAndPrepend.returns"></a><h4>Returns</h4>
<p> pointer to newly created transform or NULL if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMCTXNODEREAD"></a><h3>xmlSecTransformCtxNodeRead ()</h3>
-<pre class="PROGRAMLISTING"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="RETURNVALUE">xmlSecTransformPtr</span></a>
-xmlSecTransformCtxNodeRead (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> ctx</code>,
- <code class="PARAMETER"><font><span class="TYPE">xmlNodePtr</span></font> node</code>,
- <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMUSAGE"><span class="TYPE">xmlSecTransformUsage</span></a> usage</code>);</pre>
-<p>Reads the transform from the <code class="PARAMETER">node</code>
+<div class="refsect2">
+<a name="xmlSecTransformCtxNodeRead"></a><h3>xmlSecTransformCtxNodeRead ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformPtr</span></font>
+xmlSecTransformCtxNodeRead (<em class="parameter"><code><font><span class="type">xmlSecTransformCtxPtr</span></font> ctx</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlNodePtr</span></font> node</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-transforms.html#xmlSecTransformUsage" title="xmlSecTransformUsage"><span class="type">xmlSecTransformUsage</span></a> usage</code></em>);</pre>
+<p>Reads the transform from the <em class="parameter"><code>node</code></em>
and appends it to the current chain
-of transforms in <code class="PARAMETER">ctx</code>
+of transforms in <em class="parameter"><code>ctx</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN20199"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN20201"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecTransformCtxNodeRead.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>ctx</p></td>
-<td><p>the pointer to transforms chain processing context.</p></td>
-<td> </td>
+<td class="parameter_name"><p>ctx</p></td>
+<td class="parameter_description"><p>the pointer to transforms chain processing context.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>node</p></td>
-<td><p>the pointer to transform's node.</p></td>
-<td> </td>
+<td class="parameter_name"><p>node</p></td>
+<td class="parameter_description"><p>the pointer to transform's node.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>usage</p></td>
-<td><p>the transform's usage (signature, encryption, etc.).</p></td>
-<td> </td>
+<td class="parameter_name"><p>usage</p></td>
+<td class="parameter_description"><p>the transform's usage (signature, encryption, etc.).</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN20222"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTransformCtxNodeRead.returns"></a><h4>Returns</h4>
<p> pointer to newly created transform or NULL if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMCTXNODESLISTREAD"></a><h3>xmlSecTransformCtxNodesListRead ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecTransformCtxNodesListRead (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> ctx</code>,
- <code class="PARAMETER"><font><span class="TYPE">xmlNodePtr</span></font> node</code>,
- <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMUSAGE"><span class="TYPE">xmlSecTransformUsage</span></a> usage</code>);</pre>
-<p>Reads transforms from the <dsig:Transform/> children of the <code class="PARAMETER">node</code>
+<div class="refsect2">
+<a name="xmlSecTransformCtxNodesListRead"></a><h3>xmlSecTransformCtxNodesListRead ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecTransformCtxNodesListRead (<em class="parameter"><code><font><span class="type">xmlSecTransformCtxPtr</span></font> ctx</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlNodePtr</span></font> node</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-transforms.html#xmlSecTransformUsage" title="xmlSecTransformUsage"><span class="type">xmlSecTransformUsage</span></a> usage</code></em>);</pre>
+<p>Reads transforms from the <dsig:Transform/> children of the <em class="parameter"><code>node</code></em>
and
-appends them to the current transforms chain in <code class="PARAMETER">ctx</code>
+appends them to the current transforms chain in <em class="parameter"><code>ctx</code></em>
object.</p>
-<div class="REFSECT3">
-<a name="AEN20244"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN20246"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecTransformCtxNodesListRead.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>ctx</p></td>
-<td><p>the pointer to transforms chain processing context.</p></td>
-<td> </td>
+<td class="parameter_name"><p>ctx</p></td>
+<td class="parameter_description"><p>the pointer to transforms chain processing context.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>node</p></td>
-<td><p>the pointer to <dsig:Transform/> nodes parent node.</p></td>
-<td> </td>
+<td class="parameter_name"><p>node</p></td>
+<td class="parameter_description"><p>the pointer to <dsig:Transform/> nodes parent node.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>usage</p></td>
-<td><p>the transform's usage (signature, encryption, etc.).</p></td>
-<td> </td>
+<td class="parameter_name"><p>usage</p></td>
+<td class="parameter_description"><p>the transform's usage (signature, encryption, etc.).</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN20267"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTransformCtxNodesListRead.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMCTXPREPARE"></a><h3>xmlSecTransformCtxPrepare ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecTransformCtxPrepare (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> ctx</code>,
- <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMDATATYPE"><span class="TYPE">xmlSecTransformDataType</span></a> inputDataType</code>);</pre>
-<p>Prepares the transform context for processing data of <code class="PARAMETER">inputDataType</code>
+<div class="refsect2">
+<a name="xmlSecTransformCtxPrepare"></a><h3>xmlSecTransformCtxPrepare ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecTransformCtxPrepare (<em class="parameter"><code><font><span class="type">xmlSecTransformCtxPtr</span></font> ctx</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-transforms.html#xmlSecTransformDataType" title="xmlSecTransformDataType"><span class="type">xmlSecTransformDataType</span></a> inputDataType</code></em>);</pre>
+<p>Prepares the transform context for processing data of <em class="parameter"><code>inputDataType</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN20285"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN20287"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecTransformCtxPrepare.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>ctx</p></td>
-<td><p>the pointer to transforms chain processing context.</p></td>
-<td> </td>
+<td class="parameter_name"><p>ctx</p></td>
+<td class="parameter_description"><p>the pointer to transforms chain processing context.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>inputDataType</p></td>
-<td><p>the expected input type.</p></td>
-<td> </td>
+<td class="parameter_name"><p>inputDataType</p></td>
+<td class="parameter_description"><p>the expected input type.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN20302"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTransformCtxPrepare.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMCTXBINARYEXECUTE"></a><h3>xmlSecTransformCtxBinaryExecute ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecTransformCtxBinaryExecute (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> ctx</code>,
- <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>,
- <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> dataSize</code>);</pre>
-<p>Processes binary data using transforms chain in the <code class="PARAMETER">ctx</code>
+<div class="refsect2">
+<a name="xmlSecTransformCtxBinaryExecute"></a><h3>xmlSecTransformCtxBinaryExecute ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecTransformCtxBinaryExecute (<em class="parameter"><code><font><span class="type">xmlSecTransformCtxPtr</span></font> ctx</code></em>,
+ <em class="parameter"><code>const <a class="link" href="xmlsec-xmlsec.html#xmlSecByte" title="xmlSecByte"><span class="type">xmlSecByte</span></a> *data</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="type">xmlSecSize</span></a> dataSize</code></em>);</pre>
+<p>Processes binary data using transforms chain in the <em class="parameter"><code>ctx</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN20323"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN20325"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecTransformCtxBinaryExecute.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>ctx</p></td>
-<td><p>the pointer to transforms chain processing context.</p></td>
-<td> </td>
+<td class="parameter_name"><p>ctx</p></td>
+<td class="parameter_description"><p>the pointer to transforms chain processing context.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>data</p></td>
-<td><p>the input binary data buffer.</p></td>
-<td> </td>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the input binary data buffer.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>dataSize</p></td>
-<td><p>the input data size.</p></td>
-<td> </td>
+<td class="parameter_name"><p>dataSize</p></td>
+<td class="parameter_description"><p>the input data size.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN20346"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTransformCtxBinaryExecute.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMCTXURIEXECUTE"></a><h3>xmlSecTransformCtxUriExecute ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecTransformCtxUriExecute (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> ctx</code>,
- <code class="PARAMETER">const <font><span class="TYPE">xmlChar</span></font> *uri</code>);</pre>
-<p>Process binary data from the URI using transforms chain in <code class="PARAMETER">ctx</code>
+<div class="refsect2">
+<a name="xmlSecTransformCtxUriExecute"></a><h3>xmlSecTransformCtxUriExecute ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecTransformCtxUriExecute (<em class="parameter"><code><font><span class="type">xmlSecTransformCtxPtr</span></font> ctx</code></em>,
+ <em class="parameter"><code>const <font><span class="type">xmlChar</span></font> *uri</code></em>);</pre>
+<p>Process binary data from the URI using transforms chain in <em class="parameter"><code>ctx</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN20364"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN20366"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecTransformCtxUriExecute.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>ctx</p></td>
-<td><p>the pointer to transforms chain processing context.</p></td>
-<td> </td>
+<td class="parameter_name"><p>ctx</p></td>
+<td class="parameter_description"><p>the pointer to transforms chain processing context.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>uri</p></td>
-<td><p>the URI.</p></td>
-<td> </td>
+<td class="parameter_name"><p>uri</p></td>
+<td class="parameter_description"><p>the URI.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN20381"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTransformCtxUriExecute.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMCTXXMLEXECUTE"></a><h3>xmlSecTransformCtxXmlExecute ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecTransformCtxXmlExecute (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> ctx</code>,
- <code class="PARAMETER"><a href="xmlsec-nodeset.html#XMLSECNODESET"><span class="TYPE">xmlSecNodeSetPtr</span></a> nodes</code>);</pre>
-<p>Process <code class="PARAMETER">nodes</code>
- using transforms in the transforms chain in <code class="PARAMETER">ctx</code>
+<div class="refsect2">
+<a name="xmlSecTransformCtxXmlExecute"></a><h3>xmlSecTransformCtxXmlExecute ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecTransformCtxXmlExecute (<em class="parameter"><code><font><span class="type">xmlSecTransformCtxPtr</span></font> ctx</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlSecNodeSetPtr</span></font> nodes</code></em>);</pre>
+<p>Process <em class="parameter"><code>nodes</code></em>
+ using transforms in the transforms chain in <em class="parameter"><code>ctx</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN20400"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN20402"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecTransformCtxXmlExecute.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>ctx</p></td>
-<td><p>the pointer to transforms chain processing context.</p></td>
-<td> </td>
+<td class="parameter_name"><p>ctx</p></td>
+<td class="parameter_description"><p>the pointer to transforms chain processing context.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>nodes</p></td>
-<td><p>the input node set.</p></td>
-<td> </td>
+<td class="parameter_name"><p>nodes</p></td>
+<td class="parameter_description"><p>the input node set.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN20417"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTransformCtxXmlExecute.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMCTXEXECUTE"></a><h3>xmlSecTransformCtxExecute ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecTransformCtxExecute (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> ctx</code>,
- <code class="PARAMETER"><font><span class="TYPE">xmlDocPtr</span></font> doc</code>);</pre>
-<p>Executes transforms chain in <code class="PARAMETER">ctx</code>
+<div class="refsect2">
+<a name="xmlSecTransformCtxExecute"></a><h3>xmlSecTransformCtxExecute ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecTransformCtxExecute (<em class="parameter"><code><font><span class="type">xmlSecTransformCtxPtr</span></font> ctx</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlDocPtr</span></font> doc</code></em>);</pre>
+<p>Executes transforms chain in <em class="parameter"><code>ctx</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN20435"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN20437"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecTransformCtxExecute.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>ctx</p></td>
-<td><p>the pointer to transforms chain processing context.</p></td>
-<td> </td>
+<td class="parameter_name"><p>ctx</p></td>
+<td class="parameter_description"><p>the pointer to transforms chain processing context.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>doc</p></td>
-<td><p>the pointer to input document.</p></td>
-<td> </td>
+<td class="parameter_name"><p>doc</p></td>
+<td class="parameter_description"><p>the pointer to input document.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN20452"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTransformCtxExecute.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMCTXDEBUGDUMP"></a><h3>xmlSecTransformCtxDebugDump ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">void</span></font>
-xmlSecTransformCtxDebugDump (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> ctx</code>,
- <code class="PARAMETER"><font><span class="TYPE">FILE</span></font> *output</code>);</pre>
-<p>Prints transforms context debug information to <code class="PARAMETER">output</code>
+<div class="refsect2">
+<a name="xmlSecTransformCtxDebugDump"></a><h3>xmlSecTransformCtxDebugDump ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">void</span></font>
+xmlSecTransformCtxDebugDump (<em class="parameter"><code><font><span class="type">xmlSecTransformCtxPtr</span></font> ctx</code></em>,
+ <em class="parameter"><code><font><span class="type">FILE</span></font> *output</code></em>);</pre>
+<p>Prints transforms context debug information to <em class="parameter"><code>output</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN20470"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN20472"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecTransformCtxDebugDump.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>ctx</p></td>
-<td><p>the pointer to transforms chain processing context.</p></td>
-<td> </td>
+<td class="parameter_name"><p>ctx</p></td>
+<td class="parameter_description"><p>the pointer to transforms chain processing context.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>output</p></td>
-<td><p>the pointer to output FILE.</p></td>
-<td> </td>
+<td class="parameter_name"><p>output</p></td>
+<td class="parameter_description"><p>the pointer to output FILE.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMCTXDEBUGXMLDUMP"></a><h3>xmlSecTransformCtxDebugXmlDump ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">void</span></font>
-xmlSecTransformCtxDebugXmlDump (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> ctx</code>,
- <code class="PARAMETER"><font><span class="TYPE">FILE</span></font> *output</code>);</pre>
-<p>Prints transforms context debug information to <code class="PARAMETER">output</code>
+<div class="refsect2">
+<a name="xmlSecTransformCtxDebugXmlDump"></a><h3>xmlSecTransformCtxDebugXmlDump ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">void</span></font>
+xmlSecTransformCtxDebugXmlDump (<em class="parameter"><code><font><span class="type">xmlSecTransformCtxPtr</span></font> ctx</code></em>,
+ <em class="parameter"><code><font><span class="type">FILE</span></font> *output</code></em>);</pre>
+<p>Prints transforms context debug information to <em class="parameter"><code>output</code></em>
in XML format.</p>
-<div class="REFSECT3">
-<a name="AEN20502"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN20504"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecTransformCtxDebugXmlDump.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>ctx</p></td>
-<td><p>the pointer to transforms chain processing context.</p></td>
-<td> </td>
+<td class="parameter_name"><p>ctx</p></td>
+<td class="parameter_description"><p>the pointer to transforms chain processing context.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>output</p></td>
-<td><p>the pointer to output FILE.</p></td>
-<td> </td>
+<td class="parameter_name"><p>output</p></td>
+<td class="parameter_description"><p>the pointer to output FILE.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMCREATE"></a><h3>xmlSecTransformCreate ()</h3>
-<pre class="PROGRAMLISTING"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="RETURNVALUE">xmlSecTransformPtr</span></a>
-xmlSecTransformCreate (<code class="PARAMETER"><font><span class="TYPE">xmlSecTransformId</span></font> id</code>);</pre>
-<p>Creates new transform of the <code class="PARAMETER">id</code>
+<div class="refsect2">
+<a name="xmlSecTransformCreate"></a><h3>xmlSecTransformCreate ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformPtr</span></font>
+xmlSecTransformCreate (<em class="parameter"><code><font><span class="type">xmlSecTransformId</span></font> id</code></em>);</pre>
+<p>Creates new transform of the <em class="parameter"><code>id</code></em>
klass. The caller is responsible for
-destroying returned tansform using <a href="xmlsec-transforms.html#XMLSECTRANSFORMDESTROY"><span class="TYPE">xmlSecTransformDestroy</span></a> function.</p>
-<div class="REFSECT3">
-<a name="AEN20533"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN20535"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+destroying returned tansform using <a class="link" href="xmlsec-transforms.html#xmlSecTransformDestroy" title="xmlSecTransformDestroy ()"><span class="type">xmlSecTransformDestroy</span></a> function.</p>
+<div class="refsect3">
+<a name="xmlSecTransformCreate.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>id</p></td>
-<td><p>the transform id to create.</p></td>
-<td> </td>
+<td class="parameter_name"><p>id</p></td>
+<td class="parameter_description"><p>the transform id to create.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN20544"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTransformCreate.returns"></a><h4>Returns</h4>
<p> pointer to newly created transform or NULL if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMDESTROY"></a><h3>xmlSecTransformDestroy ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">void</span></font>
-xmlSecTransformDestroy (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>);</pre>
-<p>Destroys transform created with <a href="xmlsec-transforms.html#XMLSECTRANSFORMCREATE"><span class="TYPE">xmlSecTransformCreate</span></a> function.</p>
-<div class="REFSECT3">
-<a name="AEN20560"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN20562"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect2">
+<a name="xmlSecTransformDestroy"></a><h3>xmlSecTransformDestroy ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">void</span></font>
+xmlSecTransformDestroy (<em class="parameter"><code><font><span class="type">xmlSecTransformPtr</span></font> transform</code></em>);</pre>
+<p>Destroys transform created with <a class="link" href="xmlsec-transforms.html#xmlSecTransformCreate" title="xmlSecTransformCreate ()"><span class="type">xmlSecTransformCreate</span></a> function.</p>
+<div class="refsect3">
+<a name="xmlSecTransformDestroy.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>transform</p></td>
-<td><p>the pointer to transform.</p></td>
-<td> </td>
+<td class="parameter_name"><p>transform</p></td>
+<td class="parameter_description"><p>the pointer to transform.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMNODEREAD"></a><h3>xmlSecTransformNodeRead ()</h3>
-<pre class="PROGRAMLISTING"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="RETURNVALUE">xmlSecTransformPtr</span></a>
-xmlSecTransformNodeRead (<code class="PARAMETER"><font><span class="TYPE">xmlNodePtr</span></font> node</code>,
- <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMUSAGE"><span class="TYPE">xmlSecTransformUsage</span></a> usage</code>,
- <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>);</pre>
-<p>Reads transform from the <code class="PARAMETER">node</code>
+<div class="refsect2">
+<a name="xmlSecTransformNodeRead"></a><h3>xmlSecTransformNodeRead ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformPtr</span></font>
+xmlSecTransformNodeRead (<em class="parameter"><code><font><span class="type">xmlNodePtr</span></font> node</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-transforms.html#xmlSecTransformUsage" title="xmlSecTransformUsage"><span class="type">xmlSecTransformUsage</span></a> usage</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlSecTransformCtxPtr</span></font> transformCtx</code></em>);</pre>
+<p>Reads transform from the <em class="parameter"><code>node</code></em>
as follows:</p>
<p> 1) reads "Algorithm" attribute;</p>
<p> 2) checks the lists of known and allowed transforms;</p>
<p> 3) calls transform's create method;</p>
<p> 4) calls transform's read transform node method.</p>
-<div class="REFSECT3">
-<a name="AEN20593"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN20595"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecTransformNodeRead.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>node</p></td>
-<td><p>the pointer to the transform's node.</p></td>
-<td> </td>
+<td class="parameter_name"><p>node</p></td>
+<td class="parameter_description"><p>the pointer to the transform's node.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>usage</p></td>
-<td><p>the transform usage (signature, encryption, ...).</p></td>
-<td> </td>
+<td class="parameter_name"><p>usage</p></td>
+<td class="parameter_description"><p>the transform usage (signature, encryption, ...).</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>transformCtx</p></td>
-<td><p>the transform's chaing processing context.</p></td>
-<td> </td>
+<td class="parameter_name"><p>transformCtx</p></td>
+<td class="parameter_description"><p>the transform's chaing processing context.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN20616"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTransformNodeRead.returns"></a><h4>Returns</h4>
<p> pointer to newly created transform or NULL if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMPUMP"></a><h3>xmlSecTransformPump ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecTransformPump (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> left</code>,
- <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> right</code>,
- <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>);</pre>
-<p>Pops data from <code class="PARAMETER">left</code>
- transform and pushes to <code class="PARAMETER">right</code>
+<div class="refsect2">
+<a name="xmlSecTransformPump"></a><h3>xmlSecTransformPump ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecTransformPump (<em class="parameter"><code><font><span class="type">xmlSecTransformPtr</span></font> left</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlSecTransformPtr</span></font> right</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlSecTransformCtxPtr</span></font> transformCtx</code></em>);</pre>
+<p>Pops data from <em class="parameter"><code>left</code></em>
+ transform and pushes to <em class="parameter"><code>right</code></em>
transform until
no more data is available.</p>
-<div class="REFSECT3">
-<a name="AEN20638"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN20640"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecTransformPump.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>left</p></td>
-<td><p>the source pumping transform.</p></td>
-<td> </td>
+<td class="parameter_name"><p>left</p></td>
+<td class="parameter_description"><p>the source pumping transform.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>right</p></td>
-<td><p>the destination pumping transform.</p></td>
-<td> </td>
+<td class="parameter_name"><p>right</p></td>
+<td class="parameter_description"><p>the destination pumping transform.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>transformCtx</p></td>
-<td><p>the transform's chaing processing context.</p></td>
-<td> </td>
+<td class="parameter_name"><p>transformCtx</p></td>
+<td class="parameter_description"><p>the transform's chaing processing context.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN20661"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTransformPump.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMSETKEY"></a><h3>xmlSecTransformSetKey ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecTransformSetKey (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>,
- <code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecTransformSetKey"></a><h3>xmlSecTransformSetKey ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecTransformSetKey (<em class="parameter"><code><font><span class="type">xmlSecTransformPtr</span></font> transform</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlSecKeyPtr</span></font> key</code></em>);</pre>
<p>Sets the transform's key.</p>
-<div class="REFSECT3">
-<a name="AEN20678"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN20680"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecTransformSetKey.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>transform</p></td>
-<td><p>the pointer to transform.</p></td>
-<td> </td>
+<td class="parameter_name"><p>transform</p></td>
+<td class="parameter_description"><p>the pointer to transform.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>key</p></td>
-<td><p>the pointer to key.</p></td>
-<td> </td>
+<td class="parameter_name"><p>key</p></td>
+<td class="parameter_description"><p>the pointer to key.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN20695"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTransformSetKey.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMSETKEYREQ"></a><h3>xmlSecTransformSetKeyReq ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecTransformSetKeyReq (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>,
- <code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEYREQ"><span class="TYPE">xmlSecKeyReqPtr</span></a> keyReq</code>);</pre>
-<p>Sets the key requirements for <code class="PARAMETER">transform</code>
- in the <code class="PARAMETER">keyReq</code>
+<div class="refsect2">
+<a name="xmlSecTransformSetKeyReq"></a><h3>xmlSecTransformSetKeyReq ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecTransformSetKeyReq (<em class="parameter"><code><font><span class="type">xmlSecTransformPtr</span></font> transform</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlSecKeyReqPtr</span></font> keyReq</code></em>);</pre>
+<p>Sets the key requirements for <em class="parameter"><code>transform</code></em>
+ in the <em class="parameter"><code>keyReq</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN20714"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN20716"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecTransformSetKeyReq.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>transform</p></td>
-<td><p>the pointer to transform.</p></td>
-<td> </td>
+<td class="parameter_name"><p>transform</p></td>
+<td class="parameter_description"><p>the pointer to transform.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>keyReq</p></td>
-<td><p>the pointer to keys requirements object.</p></td>
-<td> </td>
+<td class="parameter_name"><p>keyReq</p></td>
+<td class="parameter_description"><p>the pointer to keys requirements object.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN20731"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTransformSetKeyReq.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMVERIFY"></a><h3>xmlSecTransformVerify ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecTransformVerify (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>,
- <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>,
- <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> dataSize</code>,
- <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecTransformVerify"></a><h3>xmlSecTransformVerify ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecTransformVerify (<em class="parameter"><code><font><span class="type">xmlSecTransformPtr</span></font> transform</code></em>,
+ <em class="parameter"><code>const <a class="link" href="xmlsec-xmlsec.html#xmlSecByte" title="xmlSecByte"><span class="type">xmlSecByte</span></a> *data</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="type">xmlSecSize</span></a> dataSize</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlSecTransformCtxPtr</span></font> transformCtx</code></em>);</pre>
<p>Verifies the data with transform's processing results
(for digest, HMAC and signature transforms). The verification
-result is stored in the <font><span class="TYPE">status</span></font> member of <a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransform</span></a> object.</p>
-<div class="REFSECT3">
-<a name="AEN20758"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN20760"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+result is stored in the <font><span class="type">status</span></font> member of <a class="link" href="xmlsec-transforms.html#xmlSecTransform" title="struct xmlSecTransform"><span class="type">xmlSecTransform</span></a> object.</p>
+<div class="refsect3">
+<a name="xmlSecTransformVerify.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>transform</p></td>
-<td><p>the pointer to transform.</p></td>
-<td> </td>
+<td class="parameter_name"><p>transform</p></td>
+<td class="parameter_description"><p>the pointer to transform.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>data</p></td>
-<td><p>the binary data for verification.</p></td>
-<td> </td>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the binary data for verification.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>dataSize</p></td>
-<td><p>the data size.</p></td>
-<td> </td>
+<td class="parameter_name"><p>dataSize</p></td>
+<td class="parameter_description"><p>the data size.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>transformCtx</p></td>
-<td><p>the transform's chaing processing context.</p></td>
-<td> </td>
+<td class="parameter_name"><p>transformCtx</p></td>
+<td class="parameter_description"><p>the transform's chaing processing context.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN20787"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTransformVerify.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMVERIFYNODECONTENT"></a><h3>xmlSecTransformVerifyNodeContent ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecTransformVerifyNodeContent (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>,
- <code class="PARAMETER"><font><span class="TYPE">xmlNodePtr</span></font> node</code>,
- <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>);</pre>
-<p>Gets the <code class="PARAMETER">node</code>
- content, base64 decodes it and calls <a href="xmlsec-transforms.html#XMLSECTRANSFORMVERIFY"><span class="TYPE">xmlSecTransformVerify</span></a>
+<div class="refsect2">
+<a name="xmlSecTransformVerifyNodeContent"></a><h3>xmlSecTransformVerifyNodeContent ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecTransformVerifyNodeContent (<em class="parameter"><code><font><span class="type">xmlSecTransformPtr</span></font> transform</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlNodePtr</span></font> node</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlSecTransformCtxPtr</span></font> transformCtx</code></em>);</pre>
+<p>Gets the <em class="parameter"><code>node</code></em>
+ content, base64 decodes it and calls <a class="link" href="xmlsec-transforms.html#xmlSecTransformVerify" title="xmlSecTransformVerify ()"><span class="type">xmlSecTransformVerify</span></a>
function to verify binary results.</p>
-<div class="REFSECT3">
-<a name="AEN20810"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN20812"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecTransformVerifyNodeContent.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>transform</p></td>
-<td><p>the pointer to transform.</p></td>
-<td> </td>
+<td class="parameter_name"><p>transform</p></td>
+<td class="parameter_description"><p>the pointer to transform.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>node</p></td>
-<td><p>the pointer to node.</p></td>
-<td> </td>
+<td class="parameter_name"><p>node</p></td>
+<td class="parameter_description"><p>the pointer to node.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>transformCtx</p></td>
-<td><p>the transform's chaing processing context.</p></td>
-<td> </td>
+<td class="parameter_name"><p>transformCtx</p></td>
+<td class="parameter_description"><p>the transform's chaing processing context.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN20833"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTransformVerifyNodeContent.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMGETDATATYPE"></a><h3>xmlSecTransformGetDataType ()</h3>
-<pre class="PROGRAMLISTING"><a href="xmlsec-transforms.html#XMLSECTRANSFORMDATATYPE"><span class="RETURNVALUE">xmlSecTransformDataType</span></a>
-xmlSecTransformGetDataType (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>,
- <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMMODE"><span class="TYPE">xmlSecTransformMode</span></a> mode</code>,
- <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>);</pre>
-<p>Gets transform input (<code class="PARAMETER">mode</code>
- is "push") or output (<code class="PARAMETER">mode</code>
+<div class="refsect2">
+<a name="xmlSecTransformGetDataType"></a><h3>xmlSecTransformGetDataType ()</h3>
+<pre class="programlisting"><a class="link" href="xmlsec-transforms.html#xmlSecTransformDataType" title="xmlSecTransformDataType"><span class="returnvalue">xmlSecTransformDataType</span></a>
+xmlSecTransformGetDataType (<em class="parameter"><code><font><span class="type">xmlSecTransformPtr</span></font> transform</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-transforms.html#xmlSecTransformMode" title="enum xmlSecTransformMode"><span class="type">xmlSecTransformMode</span></a> mode</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlSecTransformCtxPtr</span></font> transformCtx</code></em>);</pre>
+<p>Gets transform input (<em class="parameter"><code>mode</code></em>
+ is "push") or output (<em class="parameter"><code>mode</code></em>
is "pop") data
type (binary or XML).</p>
-<div class="REFSECT3">
-<a name="AEN20855"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN20857"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecTransformGetDataType.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>transform</p></td>
-<td><p>the pointer to transform.</p></td>
-<td> </td>
+<td class="parameter_name"><p>transform</p></td>
+<td class="parameter_description"><p>the pointer to transform.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>mode</p></td>
-<td><p>the data mode (push or pop).</p></td>
-<td> </td>
+<td class="parameter_name"><p>mode</p></td>
+<td class="parameter_description"><p>the data mode (push or pop).</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>transformCtx</p></td>
-<td><p>the transform's chaing processing context.</p></td>
-<td> </td>
+<td class="parameter_name"><p>transformCtx</p></td>
+<td class="parameter_description"><p>the transform's chaing processing context.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN20878"></a><h4>Returns</h4>
-<p> the transform's data type for the <code class="PARAMETER">mode</code>
+<div class="refsect3">
+<a name="xmlSecTransformGetDataType.returns"></a><h4>Returns</h4>
+<p> the transform's data type for the <em class="parameter"><code>mode</code></em>
operation.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMPUSHBIN"></a><h3>xmlSecTransformPushBin ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecTransformPushBin (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>,
- <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>,
- <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> dataSize</code>,
- <code class="PARAMETER"><font><span class="TYPE">int</span></font> final</code>,
- <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>);</pre>
-<p>Process binary <code class="PARAMETER">data</code>
+<div class="refsect2">
+<a name="xmlSecTransformPushBin"></a><h3>xmlSecTransformPushBin ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecTransformPushBin (<em class="parameter"><code><font><span class="type">xmlSecTransformPtr</span></font> transform</code></em>,
+ <em class="parameter"><code>const <a class="link" href="xmlsec-xmlsec.html#xmlSecByte" title="xmlSecByte"><span class="type">xmlSecByte</span></a> *data</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="type">xmlSecSize</span></a> dataSize</code></em>,
+ <em class="parameter"><code><font><span class="type">int</span></font> final</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlSecTransformCtxPtr</span></font> transformCtx</code></em>);</pre>
+<p>Process binary <em class="parameter"><code>data</code></em>
and pushes results to next transform.</p>
-<div class="REFSECT3">
-<a name="AEN20906"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN20908"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecTransformPushBin.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>transform</p></td>
-<td><p>the pointer to transform object.</p></td>
-<td> </td>
+<td class="parameter_name"><p>transform</p></td>
+<td class="parameter_description"><p>the pointer to transform object.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>data</p></td>
-<td><p>the input binary data,</p></td>
-<td> </td>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the input binary data,</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>dataSize</p></td>
-<td><p>the input data size.</p></td>
-<td> </td>
+<td class="parameter_name"><p>dataSize</p></td>
+<td class="parameter_description"><p>the input data size.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>final</p></td>
-<td><p>the flag: if set to 1 then it's the last
+<td class="parameter_name"><p>final</p></td>
+<td class="parameter_description"><p>the flag: if set to 1 then it's the last
data chunk.</p></td>
-<td> </td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>transformCtx</p></td>
-<td><p>the pointer to transform context object.</p></td>
-<td> </td>
+<td class="parameter_name"><p>transformCtx</p></td>
+<td class="parameter_description"><p>the pointer to transform context object.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN20941"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTransformPushBin.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMPOPBIN"></a><h3>xmlSecTransformPopBin ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecTransformPopBin (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>,
- <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>,
- <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> maxDataSize</code>,
- <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> *dataSize</code>,
- <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecTransformPopBin"></a><h3>xmlSecTransformPopBin ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecTransformPopBin (<em class="parameter"><code><font><span class="type">xmlSecTransformPtr</span></font> transform</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-xmlsec.html#xmlSecByte" title="xmlSecByte"><span class="type">xmlSecByte</span></a> *data</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="type">xmlSecSize</span></a> maxDataSize</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="type">xmlSecSize</span></a> *dataSize</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlSecTransformCtxPtr</span></font> transformCtx</code></em>);</pre>
<p>Pops data from previous transform in the chain, processes data and
-returns result in the <code class="PARAMETER">data</code>
+returns result in the <em class="parameter"><code>data</code></em>
buffer. The size of returned data is
-placed in the <code class="PARAMETER">dataSize</code>
+placed in the <em class="parameter"><code>dataSize</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN20969"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN20971"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecTransformPopBin.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>transform</p></td>
-<td><p>the pointer to transform object.</p></td>
-<td> </td>
+<td class="parameter_name"><p>transform</p></td>
+<td class="parameter_description"><p>the pointer to transform object.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>data</p></td>
-<td><p>the buffer to store result data.</p></td>
-<td> </td>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the buffer to store result data.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>maxDataSize</p></td>
-<td><p>the size of the buffer <font><span class="TYPE">data</span></font>.</p></td>
-<td> </td>
+<td class="parameter_name"><p>maxDataSize</p></td>
+<td class="parameter_description"><p>the size of the buffer <font><span class="type">data</span></font>.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>dataSize</p></td>
-<td><p>the pointer to returned data size.</p></td>
-<td> </td>
+<td class="parameter_name"><p>dataSize</p></td>
+<td class="parameter_description"><p>the pointer to returned data size.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>transformCtx</p></td>
-<td><p>the pointer to transform context object.</p></td>
-<td> </td>
+<td class="parameter_name"><p>transformCtx</p></td>
+<td class="parameter_description"><p>the pointer to transform context object.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN21006"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTransformPopBin.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMPUSHXML"></a><h3>xmlSecTransformPushXml ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecTransformPushXml (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>,
- <code class="PARAMETER"><a href="xmlsec-nodeset.html#XMLSECNODESET"><span class="TYPE">xmlSecNodeSetPtr</span></a> nodes</code>,
- <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>);</pre>
-<p>Processes <code class="PARAMETER">nodes</code>
+<div class="refsect2">
+<a name="xmlSecTransformPushXml"></a><h3>xmlSecTransformPushXml ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecTransformPushXml (<em class="parameter"><code><font><span class="type">xmlSecTransformPtr</span></font> transform</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlSecNodeSetPtr</span></font> nodes</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlSecTransformCtxPtr</span></font> transformCtx</code></em>);</pre>
+<p>Processes <em class="parameter"><code>nodes</code></em>
and pushes result to the next transform in the chain.</p>
-<div class="REFSECT3">
-<a name="AEN21027"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN21029"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecTransformPushXml.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>transform</p></td>
-<td><p>the pointer to transform object.</p></td>
-<td> </td>
+<td class="parameter_name"><p>transform</p></td>
+<td class="parameter_description"><p>the pointer to transform object.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>nodes</p></td>
-<td><p>the input nodes.</p></td>
-<td> </td>
+<td class="parameter_name"><p>nodes</p></td>
+<td class="parameter_description"><p>the input nodes.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>transformCtx</p></td>
-<td><p>the pointer to transform context object.</p></td>
-<td> </td>
+<td class="parameter_name"><p>transformCtx</p></td>
+<td class="parameter_description"><p>the pointer to transform context object.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN21050"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTransformPushXml.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMPOPXML"></a><h3>xmlSecTransformPopXml ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecTransformPopXml (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>,
- <code class="PARAMETER"><a href="xmlsec-nodeset.html#XMLSECNODESET"><span class="TYPE">xmlSecNodeSetPtr</span></a> *nodes</code>,
- <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecTransformPopXml"></a><h3>xmlSecTransformPopXml ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecTransformPopXml (<em class="parameter"><code><font><span class="type">xmlSecTransformPtr</span></font> transform</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlSecNodeSetPtr</span></font> *nodes</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlSecTransformCtxPtr</span></font> transformCtx</code></em>);</pre>
<p>Pops data from previous transform in the chain, processes the data and
-returns result in <code class="PARAMETER">nodes</code>
+returns result in <em class="parameter"><code>nodes</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN21071"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN21073"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecTransformPopXml.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>transform</p></td>
-<td><p>the pointer to transform object.</p></td>
-<td> </td>
+<td class="parameter_name"><p>transform</p></td>
+<td class="parameter_description"><p>the pointer to transform object.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>nodes</p></td>
-<td><p>the pointer to store popinter to result nodes.</p></td>
-<td> </td>
+<td class="parameter_name"><p>nodes</p></td>
+<td class="parameter_description"><p>the pointer to store popinter to result nodes.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>transformCtx</p></td>
-<td><p>the pointer to transform context object.</p></td>
-<td> </td>
+<td class="parameter_name"><p>transformCtx</p></td>
+<td class="parameter_description"><p>the pointer to transform context object.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN21094"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTransformPopXml.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMEXECUTE"></a><h3>xmlSecTransformExecute ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecTransformExecute (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>,
- <code class="PARAMETER"><font><span class="TYPE">int</span></font> last</code>,
- <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecTransformExecute"></a><h3>xmlSecTransformExecute ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecTransformExecute (<em class="parameter"><code><font><span class="type">xmlSecTransformPtr</span></font> transform</code></em>,
+ <em class="parameter"><code><font><span class="type">int</span></font> last</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlSecTransformCtxPtr</span></font> transformCtx</code></em>);</pre>
<p>Executes transform (used by default popBin/pushBin/popXml/pushXml methods).</p>
-<div class="REFSECT3">
-<a name="AEN21114"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN21116"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecTransformExecute.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>transform</p></td>
-<td><p>the pointer to transform.</p></td>
-<td> </td>
+<td class="parameter_name"><p>transform</p></td>
+<td class="parameter_description"><p>the pointer to transform.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>last</p></td>
-<td><p>the flag: if set to 1 then it's the last data chunk.</p></td>
-<td> </td>
+<td class="parameter_name"><p>last</p></td>
+<td class="parameter_description"><p>the flag: if set to 1 then it's the last data chunk.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>transformCtx</p></td>
-<td><p>the transform's chaing processing context.</p></td>
-<td> </td>
+<td class="parameter_name"><p>transformCtx</p></td>
+<td class="parameter_description"><p>the transform's chaing processing context.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN21137"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTransformExecute.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMDEBUGDUMP"></a><h3>xmlSecTransformDebugDump ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">void</span></font>
-xmlSecTransformDebugDump (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>,
- <code class="PARAMETER"><font><span class="TYPE">FILE</span></font> *output</code>);</pre>
-<p>Prints transform's debug information to <code class="PARAMETER">output</code>
+<div class="refsect2">
+<a name="xmlSecTransformDebugDump"></a><h3>xmlSecTransformDebugDump ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">void</span></font>
+xmlSecTransformDebugDump (<em class="parameter"><code><font><span class="type">xmlSecTransformPtr</span></font> transform</code></em>,
+ <em class="parameter"><code><font><span class="type">FILE</span></font> *output</code></em>);</pre>
+<p>Prints transform's debug information to <em class="parameter"><code>output</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN21155"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN21157"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecTransformDebugDump.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>transform</p></td>
-<td><p>the pointer to transform.</p></td>
-<td> </td>
+<td class="parameter_name"><p>transform</p></td>
+<td class="parameter_description"><p>the pointer to transform.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>output</p></td>
-<td><p>the pointer to output FILE.</p></td>
-<td> </td>
+<td class="parameter_name"><p>output</p></td>
+<td class="parameter_description"><p>the pointer to output FILE.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMDEBUGXMLDUMP"></a><h3>xmlSecTransformDebugXmlDump ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">void</span></font>
-xmlSecTransformDebugXmlDump (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>,
- <code class="PARAMETER"><font><span class="TYPE">FILE</span></font> *output</code>);</pre>
-<p>Prints transform's debug information to <code class="PARAMETER">output</code>
+<div class="refsect2">
+<a name="xmlSecTransformDebugXmlDump"></a><h3>xmlSecTransformDebugXmlDump ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">void</span></font>
+xmlSecTransformDebugXmlDump (<em class="parameter"><code><font><span class="type">xmlSecTransformPtr</span></font> transform</code></em>,
+ <em class="parameter"><code><font><span class="type">FILE</span></font> *output</code></em>);</pre>
+<p>Prints transform's debug information to <em class="parameter"><code>output</code></em>
in XML format.</p>
-<div class="REFSECT3">
-<a name="AEN21187"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN21189"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecTransformDebugXmlDump.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>transform</p></td>
-<td><p>the pointer to transform.</p></td>
-<td> </td>
+<td class="parameter_name"><p>transform</p></td>
+<td class="parameter_description"><p>the pointer to transform.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>output</p></td>
-<td><p>the pointer to output FILE.</p></td>
-<td> </td>
+<td class="parameter_name"><p>output</p></td>
+<td class="parameter_description"><p>the pointer to output FILE.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMGETNAME"></a><h3>xmlSecTransformGetName()</h3>
-<pre class="PROGRAMLISTING">#define xmlSecTransformGetName(transform)</pre>
+<div class="refsect2">
+<a name="xmlSecTransformGetName"></a><h3>xmlSecTransformGetName()</h3>
+<pre class="programlisting">#define xmlSecTransformGetName(transform)</pre>
<p>Macro. Returns transform name.</p>
-<div class="REFSECT3">
-<a name="AEN21210"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN21212"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecTransformGetName.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>transform</p></td>
-<td><p>the pointer to transform.</p></td>
-<td> </td>
+<td class="parameter_name"><p>transform</p></td>
+<td class="parameter_description"><p>the pointer to transform.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMISVALID"></a><h3>xmlSecTransformIsValid()</h3>
-<pre class="PROGRAMLISTING">#define xmlSecTransformIsValid(transform)</pre>
-<p>Macro. Returns 1 if the <code class="PARAMETER">transform</code>
+<div class="refsect2">
+<a name="xmlSecTransformIsValid"></a><h3>xmlSecTransformIsValid()</h3>
+<pre class="programlisting">#define xmlSecTransformIsValid(transform)</pre>
+<p>Macro. Returns 1 if the <em class="parameter"><code>transform</code></em>
is valid or 0 otherwise.</p>
-<div class="REFSECT3">
-<a name="AEN21228"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN21230"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecTransformIsValid.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>transform</p></td>
-<td><p>the pointer to transform.</p></td>
-<td> </td>
+<td class="parameter_name"><p>transform</p></td>
+<td class="parameter_description"><p>the pointer to transform.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMCHECKID"></a><h3>xmlSecTransformCheckId()</h3>
-<pre class="PROGRAMLISTING">#define xmlSecTransformCheckId(transform, i)</pre>
-<p>Macro. Returns 1 if the <code class="PARAMETER">transform</code>
- is valid and has specified id <code class="PARAMETER">i</code>
+<div class="refsect2">
+<a name="xmlSecTransformCheckId"></a><h3>xmlSecTransformCheckId()</h3>
+<pre class="programlisting">#define xmlSecTransformCheckId(transform, i)</pre>
+<p>Macro. Returns 1 if the <em class="parameter"><code>transform</code></em>
+ is valid and has specified id <em class="parameter"><code>i</code></em>
or 0 otherwise.</p>
-<div class="REFSECT3">
-<a name="AEN21247"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN21249"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecTransformCheckId.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>transform</p></td>
-<td><p>the pointer to transform.</p></td>
-<td> </td>
+<td class="parameter_name"><p>transform</p></td>
+<td class="parameter_description"><p>the pointer to transform.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>i</p></td>
-<td><p>the transform id.</p></td>
-<td> </td>
+<td class="parameter_name"><p>i</p></td>
+<td class="parameter_description"><p>the transform id.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMCHECKSIZE"></a><h3>xmlSecTransformCheckSize()</h3>
-<pre class="PROGRAMLISTING">#define xmlSecTransformCheckSize(transform, size)</pre>
-<p>Macro. Returns 1 if the <code class="PARAMETER">transform</code>
- is valid and has at least <code class="PARAMETER">size</code>
+<div class="refsect2">
+<a name="xmlSecTransformCheckSize"></a><h3>xmlSecTransformCheckSize()</h3>
+<pre class="programlisting">#define xmlSecTransformCheckSize(transform, size)</pre>
+<p>Macro. Returns 1 if the <em class="parameter"><code>transform</code></em>
+ is valid and has at least <em class="parameter"><code>size</code></em>
bytes or 0 otherwise.</p>
-<div class="REFSECT3">
-<a name="AEN21272"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN21274"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecTransformCheckSize.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>transform</p></td>
-<td><p>the pointer to transform.</p></td>
-<td> </td>
+<td class="parameter_name"><p>transform</p></td>
+<td class="parameter_description"><p>the pointer to transform.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>size</p></td>
-<td><p>the transform object size.</p></td>
-<td> </td>
+<td class="parameter_name"><p>size</p></td>
+<td class="parameter_description"><p>the transform object size.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMCONNECT"></a><h3>xmlSecTransformConnect ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecTransformConnect (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> left</code>,
- <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> right</code>,
- <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecTransformConnect"></a><h3>xmlSecTransformConnect ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecTransformConnect (<em class="parameter"><code><font><span class="type">xmlSecTransformPtr</span></font> left</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlSecTransformPtr</span></font> right</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlSecTransformCtxPtr</span></font> transformCtx</code></em>);</pre>
<p>If the data object is a node-set and the next transform requires octets,
the signature application MUST attempt to convert the node-set to an octet
stream using Canonical XML [XML-C14N].</p>
<p>The story is different if the right transform is base64 decode
-(http://www.w3.org/TR/xmldsig-core/<font><span class="TYPE">sec-Base-64</span></font>):</p>
+(http://www.w3.org/TR/xmldsig-core/<font><span class="type">sec-Base-64</span></font>):</p>
<p>This transform requires an octet stream for input. If an XPath node-set
(or sufficiently functional alternative) is given as input, then it is
converted to an octet stream by performing operations logically equivalent
-to 1) applying an XPath transform with expression self::<font><code class="FUNCTION">text()</code></font>, then 2)
+to 1) applying an XPath transform with expression self::<font><code class="function">text()</code></font>, then 2)
taking the string-value of the node-set. Thus, if an XML element is
identified by a barename XPointer in the Reference URI, and its content
consists solely of base64 encoded character data, then this transform
automatically strips away the start and end tags of the identified element
and any of its descendant elements as well as any descendant comments and
processing instructions. The output of this transform is an octet stream.</p>
-<div class="REFSECT3">
-<a name="AEN21312"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN21314"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecTransformConnect.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>left</p></td>
-<td><p>the pointer to left (prev) transform.</p></td>
-<td> </td>
+<td class="parameter_name"><p>left</p></td>
+<td class="parameter_description"><p>the pointer to left (prev) transform.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>right</p></td>
-<td><p>the pointer to right (next) transform.</p></td>
-<td> </td>
+<td class="parameter_name"><p>right</p></td>
+<td class="parameter_description"><p>the pointer to right (next) transform.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>transformCtx</p></td>
-<td><p>the transform's chaing processing context.</p></td>
-<td> </td>
+<td class="parameter_name"><p>transformCtx</p></td>
+<td class="parameter_description"><p>the transform's chaing processing context.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN21335"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTransformConnect.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMREMOVE"></a><h3>xmlSecTransformRemove ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">void</span></font>
-xmlSecTransformRemove (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>);</pre>
-<p>Removes <code class="PARAMETER">transform</code>
+<div class="refsect2">
+<a name="xmlSecTransformRemove"></a><h3>xmlSecTransformRemove ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">void</span></font>
+xmlSecTransformRemove (<em class="parameter"><code><font><span class="type">xmlSecTransformPtr</span></font> transform</code></em>);</pre>
+<p>Removes <em class="parameter"><code>transform</code></em>
from the chain.</p>
-<div class="REFSECT3">
-<a name="AEN21350"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN21352"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecTransformRemove.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>transform</p></td>
-<td><p>the pointer to <a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransform</span></a> structure.</p></td>
-<td> </td>
+<td class="parameter_name"><p>transform</p></td>
+<td class="parameter_description"><p>the pointer to <a class="link" href="xmlsec-transforms.html#xmlSecTransform" title="struct xmlSecTransform"><span class="type">xmlSecTransform</span></a> structure.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMDEFAULTGETDATATYPE"></a><h3>xmlSecTransformDefaultGetDataType ()</h3>
-<pre class="PROGRAMLISTING"><a href="xmlsec-transforms.html#XMLSECTRANSFORMDATATYPE"><span class="RETURNVALUE">xmlSecTransformDataType</span></a>
-xmlSecTransformDefaultGetDataType (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>,
- <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMMODE"><span class="TYPE">xmlSecTransformMode</span></a> mode</code>,
- <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>);</pre>
-<p>Gets transform input (<code class="PARAMETER">mode</code>
- is "push") or output (<code class="PARAMETER">mode</code>
+<div class="refsect2">
+<a name="xmlSecTransformDefaultGetDataType"></a><h3>xmlSecTransformDefaultGetDataType ()</h3>
+<pre class="programlisting"><a class="link" href="xmlsec-transforms.html#xmlSecTransformDataType" title="xmlSecTransformDataType"><span class="returnvalue">xmlSecTransformDataType</span></a>
+xmlSecTransformDefaultGetDataType (<em class="parameter"><code><font><span class="type">xmlSecTransformPtr</span></font> transform</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-transforms.html#xmlSecTransformMode" title="enum xmlSecTransformMode"><span class="type">xmlSecTransformMode</span></a> mode</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlSecTransformCtxPtr</span></font> transformCtx</code></em>);</pre>
+<p>Gets transform input (<em class="parameter"><code>mode</code></em>
+ is "push") or output (<em class="parameter"><code>mode</code></em>
is "pop") data
type (binary or XML) by analyzing available pushBin/popBin/pushXml/popXml
methods.</p>
-<div class="REFSECT3">
-<a name="AEN21382"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN21384"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecTransformDefaultGetDataType.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>transform</p></td>
-<td><p>the pointer to transform.</p></td>
-<td> </td>
+<td class="parameter_name"><p>transform</p></td>
+<td class="parameter_description"><p>the pointer to transform.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>mode</p></td>
-<td><p>the data mode (push or pop).</p></td>
-<td> </td>
+<td class="parameter_name"><p>mode</p></td>
+<td class="parameter_description"><p>the data mode (push or pop).</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>transformCtx</p></td>
-<td><p>the transform's chaing processing context.</p></td>
-<td> </td>
+<td class="parameter_name"><p>transformCtx</p></td>
+<td class="parameter_description"><p>the transform's chaing processing context.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN21405"></a><h4>Returns</h4>
-<p> the transform's data type for the <code class="PARAMETER">mode</code>
+<div class="refsect3">
+<a name="xmlSecTransformDefaultGetDataType.returns"></a><h4>Returns</h4>
+<p> the transform's data type for the <em class="parameter"><code>mode</code></em>
operation.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMDEFAULTPUSHBIN"></a><h3>xmlSecTransformDefaultPushBin ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecTransformDefaultPushBin (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>,
- <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>,
- <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> dataSize</code>,
- <code class="PARAMETER"><font><span class="TYPE">int</span></font> final</code>,
- <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>);</pre>
-<p>Process binary <code class="PARAMETER">data</code>
+<div class="refsect2">
+<a name="xmlSecTransformDefaultPushBin"></a><h3>xmlSecTransformDefaultPushBin ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecTransformDefaultPushBin (<em class="parameter"><code><font><span class="type">xmlSecTransformPtr</span></font> transform</code></em>,
+ <em class="parameter"><code>const <a class="link" href="xmlsec-xmlsec.html#xmlSecByte" title="xmlSecByte"><span class="type">xmlSecByte</span></a> *data</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="type">xmlSecSize</span></a> dataSize</code></em>,
+ <em class="parameter"><code><font><span class="type">int</span></font> final</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlSecTransformCtxPtr</span></font> transformCtx</code></em>);</pre>
+<p>Process binary <em class="parameter"><code>data</code></em>
by calling transform's execute method and pushes
results to next transform.</p>
-<div class="REFSECT3">
-<a name="AEN21433"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN21435"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecTransformDefaultPushBin.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>transform</p></td>
-<td><p>the pointer to transform object.</p></td>
-<td> </td>
+<td class="parameter_name"><p>transform</p></td>
+<td class="parameter_description"><p>the pointer to transform object.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>data</p></td>
-<td><p>the input binary data,</p></td>
-<td> </td>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the input binary data,</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>dataSize</p></td>
-<td><p>the input data size.</p></td>
-<td> </td>
+<td class="parameter_name"><p>dataSize</p></td>
+<td class="parameter_description"><p>the input data size.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>final</p></td>
-<td><p>the flag: if set to 1 then it's the last
+<td class="parameter_name"><p>final</p></td>
+<td class="parameter_description"><p>the flag: if set to 1 then it's the last
data chunk.</p></td>
-<td> </td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>transformCtx</p></td>
-<td><p>the pointer to transform context object.</p></td>
-<td> </td>
+<td class="parameter_name"><p>transformCtx</p></td>
+<td class="parameter_description"><p>the pointer to transform context object.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN21468"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTransformDefaultPushBin.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMDEFAULTPOPBIN"></a><h3>xmlSecTransformDefaultPopBin ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecTransformDefaultPopBin (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>,
- <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>,
- <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> maxDataSize</code>,
- <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> *dataSize</code>,
- <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecTransformDefaultPopBin"></a><h3>xmlSecTransformDefaultPopBin ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecTransformDefaultPopBin (<em class="parameter"><code><font><span class="type">xmlSecTransformPtr</span></font> transform</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-xmlsec.html#xmlSecByte" title="xmlSecByte"><span class="type">xmlSecByte</span></a> *data</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="type">xmlSecSize</span></a> maxDataSize</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="type">xmlSecSize</span></a> *dataSize</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlSecTransformCtxPtr</span></font> transformCtx</code></em>);</pre>
<p>Pops data from previous transform in the chain, processes data by calling
-transform's execute method and returns result in the <code class="PARAMETER">data</code>
+transform's execute method and returns result in the <em class="parameter"><code>data</code></em>
buffer. The
-size of returned data is placed in the <code class="PARAMETER">dataSize</code>
+size of returned data is placed in the <em class="parameter"><code>dataSize</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN21496"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN21498"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecTransformDefaultPopBin.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>transform</p></td>
-<td><p>the pointer to transform object.</p></td>
-<td> </td>
+<td class="parameter_name"><p>transform</p></td>
+<td class="parameter_description"><p>the pointer to transform object.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>data</p></td>
-<td><p>the buffer to store result data.</p></td>
-<td> </td>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the buffer to store result data.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>maxDataSize</p></td>
-<td><p>the size of the buffer <font><span class="TYPE">data</span></font>.</p></td>
-<td> </td>
+<td class="parameter_name"><p>maxDataSize</p></td>
+<td class="parameter_description"><p>the size of the buffer <font><span class="type">data</span></font>.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>dataSize</p></td>
-<td><p>the pointer to returned data size.</p></td>
-<td> </td>
+<td class="parameter_name"><p>dataSize</p></td>
+<td class="parameter_description"><p>the pointer to returned data size.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>transformCtx</p></td>
-<td><p>the pointer to transform context object.</p></td>
-<td> </td>
+<td class="parameter_name"><p>transformCtx</p></td>
+<td class="parameter_description"><p>the pointer to transform context object.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN21533"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTransformDefaultPopBin.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMDEFAULTPUSHXML"></a><h3>xmlSecTransformDefaultPushXml ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecTransformDefaultPushXml (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>,
- <code class="PARAMETER"><a href="xmlsec-nodeset.html#XMLSECNODESET"><span class="TYPE">xmlSecNodeSetPtr</span></a> nodes</code>,
- <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>);</pre>
-<p>Processes <code class="PARAMETER">nodes</code>
+<div class="refsect2">
+<a name="xmlSecTransformDefaultPushXml"></a><h3>xmlSecTransformDefaultPushXml ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecTransformDefaultPushXml (<em class="parameter"><code><font><span class="type">xmlSecTransformPtr</span></font> transform</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlSecNodeSetPtr</span></font> nodes</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlSecTransformCtxPtr</span></font> transformCtx</code></em>);</pre>
+<p>Processes <em class="parameter"><code>nodes</code></em>
by calling transform's execute method and pushes
result to the next transform in the chain.</p>
-<div class="REFSECT3">
-<a name="AEN21554"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN21556"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecTransformDefaultPushXml.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>transform</p></td>
-<td><p>the pointer to transform object.</p></td>
-<td> </td>
+<td class="parameter_name"><p>transform</p></td>
+<td class="parameter_description"><p>the pointer to transform object.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>nodes</p></td>
-<td><p>the input nodes.</p></td>
-<td> </td>
+<td class="parameter_name"><p>nodes</p></td>
+<td class="parameter_description"><p>the input nodes.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>transformCtx</p></td>
-<td><p>the pointer to transform context object.</p></td>
-<td> </td>
+<td class="parameter_name"><p>transformCtx</p></td>
+<td class="parameter_description"><p>the pointer to transform context object.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN21577"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTransformDefaultPushXml.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMDEFAULTPOPXML"></a><h3>xmlSecTransformDefaultPopXml ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecTransformDefaultPopXml (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>,
- <code class="PARAMETER"><a href="xmlsec-nodeset.html#XMLSECNODESET"><span class="TYPE">xmlSecNodeSetPtr</span></a> *nodes</code>,
- <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecTransformDefaultPopXml"></a><h3>xmlSecTransformDefaultPopXml ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecTransformDefaultPopXml (<em class="parameter"><code><font><span class="type">xmlSecTransformPtr</span></font> transform</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlSecNodeSetPtr</span></font> *nodes</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlSecTransformCtxPtr</span></font> transformCtx</code></em>);</pre>
<p>Pops data from previous transform in the chain, processes the data
-by calling transform's execute method and returns result in <code class="PARAMETER">nodes</code>
+by calling transform's execute method and returns result in <em class="parameter"><code>nodes</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN21598"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN21600"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecTransformDefaultPopXml.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>transform</p></td>
-<td><p>the pointer to transform object.</p></td>
-<td> </td>
+<td class="parameter_name"><p>transform</p></td>
+<td class="parameter_description"><p>the pointer to transform object.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>nodes</p></td>
-<td><p>the pointer to store popinter to result nodes.</p></td>
-<td> </td>
+<td class="parameter_name"><p>nodes</p></td>
+<td class="parameter_description"><p>the pointer to store popinter to result nodes.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>transformCtx</p></td>
-<td><p>the pointer to transform context object.</p></td>
-<td> </td>
+<td class="parameter_name"><p>transformCtx</p></td>
+<td class="parameter_description"><p>the pointer to transform context object.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN21621"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTransformDefaultPopXml.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMCREATEOUTPUTBUFFER"></a><h3>xmlSecTransformCreateOutputBuffer ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlOutputBufferPtr</span></font>
-xmlSecTransformCreateOutputBuffer (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>,
- <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>);</pre>
-<p>Creates output buffer to write data to <code class="PARAMETER">transform</code>
+<div class="refsect2">
+<a name="xmlSecTransformCreateOutputBuffer"></a><h3>xmlSecTransformCreateOutputBuffer ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlOutputBufferPtr</span></font>
+xmlSecTransformCreateOutputBuffer (<em class="parameter"><code><font><span class="type">xmlSecTransformPtr</span></font> transform</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlSecTransformCtxPtr</span></font> transformCtx</code></em>);</pre>
+<p>Creates output buffer to write data to <em class="parameter"><code>transform</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN21639"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN21641"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecTransformCreateOutputBuffer.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>transform</p></td>
-<td><p>the pointer to transform.</p></td>
-<td> </td>
+<td class="parameter_name"><p>transform</p></td>
+<td class="parameter_description"><p>the pointer to transform.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>transformCtx</p></td>
-<td><p>the pointer to transform context object.</p></td>
-<td> </td>
+<td class="parameter_name"><p>transformCtx</p></td>
+<td class="parameter_description"><p>the pointer to transform context object.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN21656"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTransformCreateOutputBuffer.returns"></a><h4>Returns</h4>
<p> pointer to new output buffer or NULL if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMCREATEINPUTBUFFER"></a><h3>xmlSecTransformCreateInputBuffer ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlParserInputBufferPtr</span></font>
-xmlSecTransformCreateInputBuffer (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>,
- <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>);</pre>
-<p>Creates input buffer to read data from <code class="PARAMETER">transform</code>
+<div class="refsect2">
+<a name="xmlSecTransformCreateInputBuffer"></a><h3>xmlSecTransformCreateInputBuffer ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlParserInputBufferPtr</span></font>
+xmlSecTransformCreateInputBuffer (<em class="parameter"><code><font><span class="type">xmlSecTransformPtr</span></font> transform</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlSecTransformCtxPtr</span></font> transformCtx</code></em>);</pre>
+<p>Creates input buffer to read data from <em class="parameter"><code>transform</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN21674"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN21676"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecTransformCreateInputBuffer.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>transform</p></td>
-<td><p>the pointer to transform.</p></td>
-<td> </td>
+<td class="parameter_name"><p>transform</p></td>
+<td class="parameter_description"><p>the pointer to transform.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>transformCtx</p></td>
-<td><p>the pointer to transform context object.</p></td>
-<td> </td>
+<td class="parameter_name"><p>transformCtx</p></td>
+<td class="parameter_description"><p>the pointer to transform context object.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN21691"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTransformCreateInputBuffer.returns"></a><h4>Returns</h4>
<p> pointer to new input buffer or NULL if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMINITIALIZEMETHOD"></a><h3>xmlSecTransformInitializeMethod ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-<span class="c_punctuation"><span class="PHRASE">(</span></span>*xmlSecTransformInitializeMethod<span class="c_punctuation"><span class="PHRASE">)</span></span> (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecTransformInitializeMethod"></a><h3>xmlSecTransformInitializeMethod ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+<span class="c_punctuation">(</span>*xmlSecTransformInitializeMethod<span class="c_punctuation">)</span> (<em class="parameter"><code><font><span class="type">xmlSecTransformPtr</span></font> transform</code></em>);</pre>
<p>The transform specific initialization method.</p>
-<div class="REFSECT3">
-<a name="AEN21707"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN21709"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecTransformInitializeMethod.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>transform</p></td>
-<td><p>the pointer to transform object.</p></td>
-<td> </td>
+<td class="parameter_name"><p>transform</p></td>
+<td class="parameter_description"><p>the pointer to transform object.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN21718"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTransformInitializeMethod.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMFINALIZEMETHOD"></a><h3>xmlSecTransformFinalizeMethod ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">void</span></font>
-<span class="c_punctuation"><span class="PHRASE">(</span></span>*xmlSecTransformFinalizeMethod<span class="c_punctuation"><span class="PHRASE">)</span></span> (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecTransformFinalizeMethod"></a><h3>xmlSecTransformFinalizeMethod ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">void</span></font>
+<span class="c_punctuation">(</span>*xmlSecTransformFinalizeMethod<span class="c_punctuation">)</span> (<em class="parameter"><code><font><span class="type">xmlSecTransformPtr</span></font> transform</code></em>);</pre>
<p>The transform specific destroy method.</p>
-<div class="REFSECT3">
-<a name="AEN21734"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN21736"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecTransformFinalizeMethod.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>transform</p></td>
-<td><p>the pointer to transform object.</p></td>
-<td> </td>
+<td class="parameter_name"><p>transform</p></td>
+<td class="parameter_description"><p>the pointer to transform object.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMGETDATATYPEMETHOD"></a><h3>xmlSecTransformGetDataTypeMethod ()</h3>
-<pre class="PROGRAMLISTING"><a href="xmlsec-transforms.html#XMLSECTRANSFORMDATATYPE"><span class="RETURNVALUE">xmlSecTransformDataType</span></a>
-<span class="c_punctuation"><span class="PHRASE">(</span></span>*xmlSecTransformGetDataTypeMethod<span class="c_punctuation"><span class="PHRASE">)</span></span> (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>,
- <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMMODE"><span class="TYPE">xmlSecTransformMode</span></a> mode</code>,
- <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecTransformGetDataTypeMethod"></a><h3>xmlSecTransformGetDataTypeMethod ()</h3>
+<pre class="programlisting"><a class="link" href="xmlsec-transforms.html#xmlSecTransformDataType" title="xmlSecTransformDataType"><span class="returnvalue">xmlSecTransformDataType</span></a>
+<span class="c_punctuation">(</span>*xmlSecTransformGetDataTypeMethod<span class="c_punctuation">)</span> (<em class="parameter"><code><font><span class="type">xmlSecTransformPtr</span></font> transform</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-transforms.html#xmlSecTransformMode" title="enum xmlSecTransformMode"><span class="type">xmlSecTransformMode</span></a> mode</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlSecTransformCtxPtr</span></font> transformCtx</code></em>);</pre>
<p>The transform specific method to query information about transform
-data type in specified mode <code class="PARAMETER">mode</code>
+data type in specified mode <em class="parameter"><code>mode</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN21765"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN21767"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecTransformGetDataTypeMethod.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>transform</p></td>
-<td><p>the pointer to transform object.</p></td>
-<td> </td>
+<td class="parameter_name"><p>transform</p></td>
+<td class="parameter_description"><p>the pointer to transform object.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>mode</p></td>
-<td><p>the mode.</p></td>
-<td> </td>
+<td class="parameter_name"><p>mode</p></td>
+<td class="parameter_description"><p>the mode.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>transformCtx</p></td>
-<td><p>the pointer to transform context object.</p></td>
-<td> </td>
+<td class="parameter_name"><p>transformCtx</p></td>
+<td class="parameter_description"><p>the pointer to transform context object.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN21788"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTransformGetDataTypeMethod.returns"></a><h4>Returns</h4>
<p> transform data type.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMNODEREADMETHOD"></a><h3>xmlSecTransformNodeReadMethod ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-<span class="c_punctuation"><span class="PHRASE">(</span></span>*xmlSecTransformNodeReadMethod<span class="c_punctuation"><span class="PHRASE">)</span></span> (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>,
- <code class="PARAMETER"><font><span class="TYPE">xmlNodePtr</span></font> node</code>,
- <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecTransformNodeReadMethod"></a><h3>xmlSecTransformNodeReadMethod ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+<span class="c_punctuation">(</span>*xmlSecTransformNodeReadMethod<span class="c_punctuation">)</span> (<em class="parameter"><code><font><span class="type">xmlSecTransformPtr</span></font> transform</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlNodePtr</span></font> node</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlSecTransformCtxPtr</span></font> transformCtx</code></em>);</pre>
<p>The transform specific method to read the transform data from
-the <code class="PARAMETER">node</code>
+the <em class="parameter"><code>node</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN21811"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN21813"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecTransformNodeReadMethod.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>transform</p></td>
-<td><p>the pointer to transform object.</p></td>
-<td> </td>
+<td class="parameter_name"><p>transform</p></td>
+<td class="parameter_description"><p>the pointer to transform object.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>node</p></td>
-<td><p>the pointer to <dsig:Transform/> node.</p></td>
-<td> </td>
+<td class="parameter_name"><p>node</p></td>
+<td class="parameter_description"><p>the pointer to <dsig:Transform/> node.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>transformCtx</p></td>
-<td><p>the pointer to transform context object.</p></td>
-<td> </td>
+<td class="parameter_name"><p>transformCtx</p></td>
+<td class="parameter_description"><p>the pointer to transform context object.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN21834"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTransformNodeReadMethod.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMNODEWRITEMETHOD"></a><h3>xmlSecTransformNodeWriteMethod ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-<span class="c_punctuation"><span class="PHRASE">(</span></span>*xmlSecTransformNodeWriteMethod<span class="c_punctuation"><span class="PHRASE">)</span></span> (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>,
- <code class="PARAMETER"><font><span class="TYPE">xmlNodePtr</span></font> node</code>,
- <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>);</pre>
-<p>The transform specific method to write transform information to an XML node <code class="PARAMETER">node</code>
+<div class="refsect2">
+<a name="xmlSecTransformNodeWriteMethod"></a><h3>xmlSecTransformNodeWriteMethod ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+<span class="c_punctuation">(</span>*xmlSecTransformNodeWriteMethod<span class="c_punctuation">)</span> (<em class="parameter"><code><font><span class="type">xmlSecTransformPtr</span></font> transform</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlNodePtr</span></font> node</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlSecTransformCtxPtr</span></font> transformCtx</code></em>);</pre>
+<p>The transform specific method to write transform information to an XML node <em class="parameter"><code>node</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN21857"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN21859"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecTransformNodeWriteMethod.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>transform</p></td>
-<td><p>the pointer to transform object.</p></td>
-<td> </td>
+<td class="parameter_name"><p>transform</p></td>
+<td class="parameter_description"><p>the pointer to transform object.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>node</p></td>
-<td><p>the pointer to <dsig:Transform/> node.</p></td>
-<td> </td>
+<td class="parameter_name"><p>node</p></td>
+<td class="parameter_description"><p>the pointer to <dsig:Transform/> node.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>transformCtx</p></td>
-<td><p>the pointer to transform context object.</p></td>
-<td> </td>
+<td class="parameter_name"><p>transformCtx</p></td>
+<td class="parameter_description"><p>the pointer to transform context object.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN21880"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTransformNodeWriteMethod.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMSETKEYREQUIREMENTSMETHOD"></a><h3>xmlSecTransformSetKeyRequirementsMethod ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-<span class="c_punctuation"><span class="PHRASE">(</span></span>*xmlSecTransformSetKeyRequirementsMethod<span class="c_punctuation"><span class="PHRASE">)</span></span>
- (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>,
- <code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEYREQ"><span class="TYPE">xmlSecKeyReqPtr</span></a> keyReq</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecTransformSetKeyRequirementsMethod"></a><h3>xmlSecTransformSetKeyRequirementsMethod ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+<span class="c_punctuation">(</span>*xmlSecTransformSetKeyRequirementsMethod<span class="c_punctuation">)</span>
+ (<em class="parameter"><code><font><span class="type">xmlSecTransformPtr</span></font> transform</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlSecKeyReqPtr</span></font> keyReq</code></em>);</pre>
<p>Transform specific method to set transform's key requirements.</p>
-<div class="REFSECT3">
-<a name="AEN21899"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN21901"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecTransformSetKeyRequirementsMethod.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>transform</p></td>
-<td><p>the pointer to transform object.</p></td>
-<td> </td>
+<td class="parameter_name"><p>transform</p></td>
+<td class="parameter_description"><p>the pointer to transform object.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>keyReq</p></td>
-<td><p>the pointer to key requirements structure.</p></td>
-<td> </td>
+<td class="parameter_name"><p>keyReq</p></td>
+<td class="parameter_description"><p>the pointer to key requirements structure.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN21916"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTransformSetKeyRequirementsMethod.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMSETKEYMETHOD"></a><h3>xmlSecTransformSetKeyMethod ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-<span class="c_punctuation"><span class="PHRASE">(</span></span>*xmlSecTransformSetKeyMethod<span class="c_punctuation"><span class="PHRASE">)</span></span> (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>,
- <code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecTransformSetKeyMethod"></a><h3>xmlSecTransformSetKeyMethod ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+<span class="c_punctuation">(</span>*xmlSecTransformSetKeyMethod<span class="c_punctuation">)</span> (<em class="parameter"><code><font><span class="type">xmlSecTransformPtr</span></font> transform</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlSecKeyPtr</span></font> key</code></em>);</pre>
<p>The transform specific method to set the key for use.</p>
-<div class="REFSECT3">
-<a name="AEN21935"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN21937"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecTransformSetKeyMethod.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>transform</p></td>
-<td><p>the pointer to transform object.</p></td>
-<td> </td>
+<td class="parameter_name"><p>transform</p></td>
+<td class="parameter_description"><p>the pointer to transform object.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>key</p></td>
-<td><p>the pointer to key.</p></td>
-<td> </td>
+<td class="parameter_name"><p>key</p></td>
+<td class="parameter_description"><p>the pointer to key.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN21952"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTransformSetKeyMethod.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMVERIFYMETHOD"></a><h3>xmlSecTransformVerifyMethod ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-<span class="c_punctuation"><span class="PHRASE">(</span></span>*xmlSecTransformVerifyMethod<span class="c_punctuation"><span class="PHRASE">)</span></span> (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>,
- <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>,
- <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> dataSize</code>,
- <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecTransformVerifyMethod"></a><h3>xmlSecTransformVerifyMethod ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+<span class="c_punctuation">(</span>*xmlSecTransformVerifyMethod<span class="c_punctuation">)</span> (<em class="parameter"><code><font><span class="type">xmlSecTransformPtr</span></font> transform</code></em>,
+ <em class="parameter"><code>const <a class="link" href="xmlsec-xmlsec.html#xmlSecByte" title="xmlSecByte"><span class="type">xmlSecByte</span></a> *data</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="type">xmlSecSize</span></a> dataSize</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlSecTransformCtxPtr</span></font> transformCtx</code></em>);</pre>
<p>The transform specific method to verify transform processing results
-(used by digest and signature transforms). This method sets <code class="PARAMETER">status</code>
+(used by digest and signature transforms). This method sets <em class="parameter"><code>status</code></em>
-member of the <a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransform</span></a> structure to either <a href="xmlsec-transforms.html#XMLSECTRANSFORMSTATUSOK"><span class="TYPE">xmlSecTransformStatusOk</span></a>
-if verification succeeded or <a href="xmlsec-transforms.html#XMLSECTRANSFORMSTATUSFAIL"><span class="TYPE">xmlSecTransformStatusFail</span></a> otherwise.</p>
-<div class="REFSECT3">
-<a name="AEN21984"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN21986"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+member of the <a class="link" href="xmlsec-transforms.html#xmlSecTransform" title="struct xmlSecTransform"><span class="type">xmlSecTransform</span></a> structure to either <a class="link" href="xmlsec-transforms.html#xmlSecTransformStatusOk"><span class="type">xmlSecTransformStatusOk</span></a>
+if verification succeeded or <a class="link" href="xmlsec-transforms.html#xmlSecTransformStatusFail"><span class="type">xmlSecTransformStatusFail</span></a> otherwise.</p>
+<div class="refsect3">
+<a name="xmlSecTransformVerifyMethod.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>transform</p></td>
-<td><p>the pointer to transform object.</p></td>
-<td> </td>
+<td class="parameter_name"><p>transform</p></td>
+<td class="parameter_description"><p>the pointer to transform object.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>data</p></td>
-<td><p>the input buffer.</p></td>
-<td> </td>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the input buffer.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>dataSize</p></td>
-<td><p>the size of input buffer <code class="PARAMETER">data</code>
+<td class="parameter_name"><p>dataSize</p></td>
+<td class="parameter_description"><p>the size of input buffer <em class="parameter"><code>data</code></em>
.</p></td>
-<td> </td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>transformCtx</p></td>
-<td><p>the pointer to transform context object.</p></td>
-<td> </td>
+<td class="parameter_name"><p>transformCtx</p></td>
+<td class="parameter_description"><p>the pointer to transform context object.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN22014"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTransformVerifyMethod.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMPUSHBINMETHOD"></a><h3>xmlSecTransformPushBinMethod ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-<span class="c_punctuation"><span class="PHRASE">(</span></span>*xmlSecTransformPushBinMethod<span class="c_punctuation"><span class="PHRASE">)</span></span> (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>,
- <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>,
- <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> dataSize</code>,
- <code class="PARAMETER"><font><span class="TYPE">int</span></font> final</code>,
- <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>);</pre>
-<p>The transform specific method to process data from <code class="PARAMETER">data</code>
+<div class="refsect2">
+<a name="xmlSecTransformPushBinMethod"></a><h3>xmlSecTransformPushBinMethod ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+<span class="c_punctuation">(</span>*xmlSecTransformPushBinMethod<span class="c_punctuation">)</span> (<em class="parameter"><code><font><span class="type">xmlSecTransformPtr</span></font> transform</code></em>,
+ <em class="parameter"><code>const <a class="link" href="xmlsec-xmlsec.html#xmlSecByte" title="xmlSecByte"><span class="type">xmlSecByte</span></a> *data</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="type">xmlSecSize</span></a> dataSize</code></em>,
+ <em class="parameter"><code><font><span class="type">int</span></font> final</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlSecTransformCtxPtr</span></font> transformCtx</code></em>);</pre>
+<p>The transform specific method to process data from <em class="parameter"><code>data</code></em>
and push
result to the next transform in the chain.</p>
-<div class="REFSECT3">
-<a name="AEN22043"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN22045"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecTransformPushBinMethod.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>transform</p></td>
-<td><p>the pointer to transform object.</p></td>
-<td> </td>
+<td class="parameter_name"><p>transform</p></td>
+<td class="parameter_description"><p>the pointer to transform object.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>data</p></td>
-<td><p>the input binary data,</p></td>
-<td> </td>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the input binary data,</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>dataSize</p></td>
-<td><p>the input data size.</p></td>
-<td> </td>
+<td class="parameter_name"><p>dataSize</p></td>
+<td class="parameter_description"><p>the input data size.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>final</p></td>
-<td><p>the flag: if set to 1 then it's the last
+<td class="parameter_name"><p>final</p></td>
+<td class="parameter_description"><p>the flag: if set to 1 then it's the last
data chunk.</p></td>
-<td> </td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>transformCtx</p></td>
-<td><p>the pointer to transform context object.</p></td>
-<td> </td>
+<td class="parameter_name"><p>transformCtx</p></td>
+<td class="parameter_description"><p>the pointer to transform context object.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN22078"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTransformPushBinMethod.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMPOPBINMETHOD"></a><h3>xmlSecTransformPopBinMethod ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-<span class="c_punctuation"><span class="PHRASE">(</span></span>*xmlSecTransformPopBinMethod<span class="c_punctuation"><span class="PHRASE">)</span></span> (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>,
- <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>,
- <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> maxDataSize</code>,
- <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> *dataSize</code>,
- <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecTransformPopBinMethod"></a><h3>xmlSecTransformPopBinMethod ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+<span class="c_punctuation">(</span>*xmlSecTransformPopBinMethod<span class="c_punctuation">)</span> (<em class="parameter"><code><font><span class="type">xmlSecTransformPtr</span></font> transform</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-xmlsec.html#xmlSecByte" title="xmlSecByte"><span class="type">xmlSecByte</span></a> *data</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="type">xmlSecSize</span></a> maxDataSize</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="type">xmlSecSize</span></a> *dataSize</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlSecTransformCtxPtr</span></font> transformCtx</code></em>);</pre>
<p>The transform specific method to pop data from previous transform
-in the chain and return result in the <code class="PARAMETER">data</code>
+in the chain and return result in the <em class="parameter"><code>data</code></em>
buffer. The size of returned
-data is placed in the <code class="PARAMETER">dataSize</code>
+data is placed in the <em class="parameter"><code>dataSize</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN22108"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN22110"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecTransformPopBinMethod.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>transform</p></td>
-<td><p>the pointer to transform object.</p></td>
-<td> </td>
+<td class="parameter_name"><p>transform</p></td>
+<td class="parameter_description"><p>the pointer to transform object.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>data</p></td>
-<td><p>the buffer to store result data.</p></td>
-<td> </td>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the buffer to store result data.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>maxDataSize</p></td>
-<td><p>the size of the buffer <code class="PARAMETER">data</code>
+<td class="parameter_name"><p>maxDataSize</p></td>
+<td class="parameter_description"><p>the size of the buffer <em class="parameter"><code>data</code></em>
.</p></td>
-<td> </td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>dataSize</p></td>
-<td><p>the pointer to returned data size.</p></td>
-<td> </td>
+<td class="parameter_name"><p>dataSize</p></td>
+<td class="parameter_description"><p>the pointer to returned data size.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>transformCtx</p></td>
-<td><p>the pointer to transform context object.</p></td>
-<td> </td>
+<td class="parameter_name"><p>transformCtx</p></td>
+<td class="parameter_description"><p>the pointer to transform context object.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN22144"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTransformPopBinMethod.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMPUSHXMLMETHOD"></a><h3>xmlSecTransformPushXmlMethod ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-<span class="c_punctuation"><span class="PHRASE">(</span></span>*xmlSecTransformPushXmlMethod<span class="c_punctuation"><span class="PHRASE">)</span></span> (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>,
- <code class="PARAMETER"><a href="xmlsec-nodeset.html#XMLSECNODESET"><span class="TYPE">xmlSecNodeSetPtr</span></a> nodes</code>,
- <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>);</pre>
-<p>The transform specific method to process <code class="PARAMETER">nodes</code>
+<div class="refsect2">
+<a name="xmlSecTransformPushXmlMethod"></a><h3>xmlSecTransformPushXmlMethod ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+<span class="c_punctuation">(</span>*xmlSecTransformPushXmlMethod<span class="c_punctuation">)</span> (<em class="parameter"><code><font><span class="type">xmlSecTransformPtr</span></font> transform</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlSecNodeSetPtr</span></font> nodes</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlSecTransformCtxPtr</span></font> transformCtx</code></em>);</pre>
+<p>The transform specific method to process <em class="parameter"><code>nodes</code></em>
and push result to the next
transform in the chain.</p>
-<div class="REFSECT3">
-<a name="AEN22167"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN22169"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecTransformPushXmlMethod.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>transform</p></td>
-<td><p>the pointer to transform object.</p></td>
-<td> </td>
+<td class="parameter_name"><p>transform</p></td>
+<td class="parameter_description"><p>the pointer to transform object.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>nodes</p></td>
-<td><p>the input nodes.</p></td>
-<td> </td>
+<td class="parameter_name"><p>nodes</p></td>
+<td class="parameter_description"><p>the input nodes.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>transformCtx</p></td>
-<td><p>the pointer to transform context object.</p></td>
-<td> </td>
+<td class="parameter_name"><p>transformCtx</p></td>
+<td class="parameter_description"><p>the pointer to transform context object.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN22190"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTransformPushXmlMethod.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMPOPXMLMETHOD"></a><h3>xmlSecTransformPopXmlMethod ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-<span class="c_punctuation"><span class="PHRASE">(</span></span>*xmlSecTransformPopXmlMethod<span class="c_punctuation"><span class="PHRASE">)</span></span> (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>,
- <code class="PARAMETER"><a href="xmlsec-nodeset.html#XMLSECNODESET"><span class="TYPE">xmlSecNodeSetPtr</span></a> *nodes</code>,
- <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecTransformPopXmlMethod"></a><h3>xmlSecTransformPopXmlMethod ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+<span class="c_punctuation">(</span>*xmlSecTransformPopXmlMethod<span class="c_punctuation">)</span> (<em class="parameter"><code><font><span class="type">xmlSecTransformPtr</span></font> transform</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlSecNodeSetPtr</span></font> *nodes</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlSecTransformCtxPtr</span></font> transformCtx</code></em>);</pre>
<p>The transform specific method to pop data from previous transform in the chain,
-process the data and return result in <code class="PARAMETER">nodes</code>
+process the data and return result in <em class="parameter"><code>nodes</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN22213"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN22215"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecTransformPopXmlMethod.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>transform</p></td>
-<td><p>the pointer to transform object.</p></td>
-<td> </td>
+<td class="parameter_name"><p>transform</p></td>
+<td class="parameter_description"><p>the pointer to transform object.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>nodes</p></td>
-<td><p>the pointer to store popinter to result nodes.</p></td>
-<td> </td>
+<td class="parameter_name"><p>nodes</p></td>
+<td class="parameter_description"><p>the pointer to store popinter to result nodes.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>transformCtx</p></td>
-<td><p>the pointer to transform context object.</p></td>
-<td> </td>
+<td class="parameter_name"><p>transformCtx</p></td>
+<td class="parameter_description"><p>the pointer to transform context object.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN22236"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTransformPopXmlMethod.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMEXECUTEMETHOD"></a><h3>xmlSecTransformExecuteMethod ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-<span class="c_punctuation"><span class="PHRASE">(</span></span>*xmlSecTransformExecuteMethod<span class="c_punctuation"><span class="PHRASE">)</span></span> (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>,
- <code class="PARAMETER"><font><span class="TYPE">int</span></font> last</code>,
- <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecTransformExecuteMethod"></a><h3>xmlSecTransformExecuteMethod ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+<span class="c_punctuation">(</span>*xmlSecTransformExecuteMethod<span class="c_punctuation">)</span> (<em class="parameter"><code><font><span class="type">xmlSecTransformPtr</span></font> transform</code></em>,
+ <em class="parameter"><code><font><span class="type">int</span></font> last</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlSecTransformCtxPtr</span></font> transformCtx</code></em>);</pre>
<p>Transform specific method to process a chunk of data.</p>
-<div class="REFSECT3">
-<a name="AEN22258"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN22260"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecTransformExecuteMethod.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>transform</p></td>
-<td><p>the pointer to transform object.</p></td>
-<td> </td>
+<td class="parameter_name"><p>transform</p></td>
+<td class="parameter_description"><p>the pointer to transform object.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>last</p></td>
-<td><p>the flag: if set to 1 then it's the last data chunk.</p></td>
-<td> </td>
+<td class="parameter_name"><p>last</p></td>
+<td class="parameter_description"><p>the flag: if set to 1 then it's the last data chunk.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>transformCtx</p></td>
-<td><p>the pointer to transform context object.</p></td>
-<td> </td>
+<td class="parameter_name"><p>transformCtx</p></td>
+<td class="parameter_description"><p>the pointer to transform context object.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN22281"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTransformExecuteMethod.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMKLASSGETNAME"></a><h3>xmlSecTransformKlassGetName()</h3>
-<pre class="PROGRAMLISTING">#define xmlSecTransformKlassGetName(klass)</pre>
+<div class="refsect2">
+<a name="xmlSecTransformKlassGetName"></a><h3>xmlSecTransformKlassGetName()</h3>
+<pre class="programlisting">#define xmlSecTransformKlassGetName(klass)</pre>
<p>Macro. Returns transform klass name.</p>
-<div class="REFSECT3">
-<a name="AEN22290"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN22292"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecTransformKlassGetName.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>klass</p></td>
-<td><p>the transofrm's klass.</p></td>
-<td> </td>
+<td class="parameter_name"><p>klass</p></td>
+<td class="parameter_description"><p>the transofrm's klass.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMIDLISTGETKLASS"></a><h3>xmlSecTransformIdListGetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecPtrListId</span></font>
-xmlSecTransformIdListGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecTransformIdListGetKlass"></a><h3>xmlSecTransformIdListGetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecPtrListId</span></font>
+xmlSecTransformIdListGetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The transform id list klass.</p>
-<div class="REFSECT3">
-<a name="AEN22311"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTransformIdListGetKlass.returns"></a><h4>Returns</h4>
<p> pointer to the transform id list klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMIDLISTFIND"></a><h3>xmlSecTransformIdListFind ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecTransformIdListFind (<code class="PARAMETER"><a href="xmlsec-list.html#XMLSECPTRLIST"><span class="TYPE">xmlSecPtrListPtr</span></a> list</code>,
- <code class="PARAMETER"><font><span class="TYPE">xmlSecTransformId</span></font> transformId</code>);</pre>
-<p>Lookups <code class="PARAMETER">dataId</code>
- in <code class="PARAMETER">list</code>
+<div class="refsect2">
+<a name="xmlSecTransformIdListFind"></a><h3>xmlSecTransformIdListFind ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecTransformIdListFind (<em class="parameter"><code><font><span class="type">xmlSecPtrListPtr</span></font> list</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlSecTransformId</span></font> transformId</code></em>);</pre>
+<p>Lookups <em class="parameter"><code>dataId</code></em>
+ in <em class="parameter"><code>list</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN22330"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN22332"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecTransformIdListFind.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>list</p></td>
-<td><p>the pointer to transform ids list.</p></td>
-<td> </td>
+<td class="parameter_name"><p>list</p></td>
+<td class="parameter_description"><p>the pointer to transform ids list.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>transformId</p></td>
-<td><p>the transform klass.</p></td>
-<td> </td>
+<td class="parameter_name"><p>transformId</p></td>
+<td class="parameter_description"><p>the transform klass.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN22347"></a><h4>Returns</h4>
-<p> 1 if <code class="PARAMETER">dataId</code>
-is found in the <code class="PARAMETER">list</code>
+<div class="refsect3">
+<a name="xmlSecTransformIdListFind.returns"></a><h4>Returns</h4>
+<p> 1 if <em class="parameter"><code>dataId</code></em>
+is found in the <em class="parameter"><code>list</code></em>
, 0 if not and a negative
value if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMIDLISTFINDBYHREF"></a><h3>xmlSecTransformIdListFindByHref ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
-xmlSecTransformIdListFindByHref (<code class="PARAMETER"><a href="xmlsec-list.html#XMLSECPTRLIST"><span class="TYPE">xmlSecPtrListPtr</span></a> list</code>,
- <code class="PARAMETER">const <font><span class="TYPE">xmlChar</span></font> *href</code>,
- <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMUSAGE"><span class="TYPE">xmlSecTransformUsage</span></a> usage</code>);</pre>
-<p>Lookups data klass in the list with given <code class="PARAMETER">href</code>
- and <code class="PARAMETER">usage</code>
- in <code class="PARAMETER">list</code>
+<div class="refsect2">
+<a name="xmlSecTransformIdListFindByHref"></a><h3>xmlSecTransformIdListFindByHref ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
+xmlSecTransformIdListFindByHref (<em class="parameter"><code><font><span class="type">xmlSecPtrListPtr</span></font> list</code></em>,
+ <em class="parameter"><code>const <font><span class="type">xmlChar</span></font> *href</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-transforms.html#xmlSecTransformUsage" title="xmlSecTransformUsage"><span class="type">xmlSecTransformUsage</span></a> usage</code></em>);</pre>
+<p>Lookups data klass in the list with given <em class="parameter"><code>href</code></em>
+ and <em class="parameter"><code>usage</code></em>
+ in <em class="parameter"><code>list</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN22372"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN22374"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecTransformIdListFindByHref.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>list</p></td>
-<td><p>the pointer to transform ids list.</p></td>
-<td> </td>
+<td class="parameter_name"><p>list</p></td>
+<td class="parameter_description"><p>the pointer to transform ids list.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>href</p></td>
-<td><p>the desired transform klass href.</p></td>
-<td> </td>
+<td class="parameter_name"><p>href</p></td>
+<td class="parameter_description"><p>the desired transform klass href.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>usage</p></td>
-<td><p>the desired transform usage.</p></td>
-<td> </td>
+<td class="parameter_name"><p>usage</p></td>
+<td class="parameter_description"><p>the desired transform usage.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN22395"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTransformIdListFindByHref.returns"></a><h4>Returns</h4>
<p> transform klass is found and NULL otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMIDLISTFINDBYNAME"></a><h3>xmlSecTransformIdListFindByName ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
-xmlSecTransformIdListFindByName (<code class="PARAMETER"><a href="xmlsec-list.html#XMLSECPTRLIST"><span class="TYPE">xmlSecPtrListPtr</span></a> list</code>,
- <code class="PARAMETER">const <font><span class="TYPE">xmlChar</span></font> *name</code>,
- <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMUSAGE"><span class="TYPE">xmlSecTransformUsage</span></a> usage</code>);</pre>
-<p>Lookups data klass in the list with given <code class="PARAMETER">name</code>
- and <code class="PARAMETER">usage</code>
- in <code class="PARAMETER">list</code>
+<div class="refsect2">
+<a name="xmlSecTransformIdListFindByName"></a><h3>xmlSecTransformIdListFindByName ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
+xmlSecTransformIdListFindByName (<em class="parameter"><code><font><span class="type">xmlSecPtrListPtr</span></font> list</code></em>,
+ <em class="parameter"><code>const <font><span class="type">xmlChar</span></font> *name</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-transforms.html#xmlSecTransformUsage" title="xmlSecTransformUsage"><span class="type">xmlSecTransformUsage</span></a> usage</code></em>);</pre>
+<p>Lookups data klass in the list with given <em class="parameter"><code>name</code></em>
+ and <em class="parameter"><code>usage</code></em>
+ in <em class="parameter"><code>list</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN22418"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN22420"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecTransformIdListFindByName.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>list</p></td>
-<td><p>the pointer to transform ids list.</p></td>
-<td> </td>
+<td class="parameter_name"><p>list</p></td>
+<td class="parameter_description"><p>the pointer to transform ids list.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>name</p></td>
-<td><p>the desired transform klass name.</p></td>
-<td> </td>
+<td class="parameter_name"><p>name</p></td>
+<td class="parameter_description"><p>the desired transform klass name.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>usage</p></td>
-<td><p>the desired transform usage.</p></td>
-<td> </td>
+<td class="parameter_name"><p>usage</p></td>
+<td class="parameter_description"><p>the desired transform usage.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN22441"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTransformIdListFindByName.returns"></a><h4>Returns</h4>
<p> transform klass is found and NULL otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMIDLISTDEBUGDUMP"></a><h3>xmlSecTransformIdListDebugDump ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">void</span></font>
-xmlSecTransformIdListDebugDump (<code class="PARAMETER"><a href="xmlsec-list.html#XMLSECPTRLIST"><span class="TYPE">xmlSecPtrListPtr</span></a> list</code>,
- <code class="PARAMETER"><font><span class="TYPE">FILE</span></font> *output</code>);</pre>
-<p>Prints binary transform debug information to <code class="PARAMETER">output</code>
+<div class="refsect2">
+<a name="xmlSecTransformIdListDebugDump"></a><h3>xmlSecTransformIdListDebugDump ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">void</span></font>
+xmlSecTransformIdListDebugDump (<em class="parameter"><code><font><span class="type">xmlSecPtrListPtr</span></font> list</code></em>,
+ <em class="parameter"><code><font><span class="type">FILE</span></font> *output</code></em>);</pre>
+<p>Prints binary transform debug information to <em class="parameter"><code>output</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN22459"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN22461"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecTransformIdListDebugDump.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>list</p></td>
-<td><p>the pointer to transform ids list.</p></td>
-<td> </td>
+<td class="parameter_name"><p>list</p></td>
+<td class="parameter_description"><p>the pointer to transform ids list.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>output</p></td>
-<td><p>the pointer to output FILE.</p></td>
-<td> </td>
+<td class="parameter_name"><p>output</p></td>
+<td class="parameter_description"><p>the pointer to output FILE.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMIDLISTDEBUGXMLDUMP"></a><h3>xmlSecTransformIdListDebugXmlDump ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">void</span></font>
-xmlSecTransformIdListDebugXmlDump (<code class="PARAMETER"><a href="xmlsec-list.html#XMLSECPTRLIST"><span class="TYPE">xmlSecPtrListPtr</span></a> list</code>,
- <code class="PARAMETER"><font><span class="TYPE">FILE</span></font> *output</code>);</pre>
-<p>Prints binary transform debug information to <code class="PARAMETER">output</code>
+<div class="refsect2">
+<a name="xmlSecTransformIdListDebugXmlDump"></a><h3>xmlSecTransformIdListDebugXmlDump ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">void</span></font>
+xmlSecTransformIdListDebugXmlDump (<em class="parameter"><code><font><span class="type">xmlSecPtrListPtr</span></font> list</code></em>,
+ <em class="parameter"><code><font><span class="type">FILE</span></font> *output</code></em>);</pre>
+<p>Prints binary transform debug information to <em class="parameter"><code>output</code></em>
in XML format.</p>
-<div class="REFSECT3">
-<a name="AEN22491"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN22493"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecTransformIdListDebugXmlDump.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>list</p></td>
-<td><p>the pointer to transform ids list.</p></td>
-<td> </td>
+<td class="parameter_name"><p>list</p></td>
+<td class="parameter_description"><p>the pointer to transform ids list.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>output</p></td>
-<td><p>the pointer to output FILE.</p></td>
-<td> </td>
+<td class="parameter_name"><p>output</p></td>
+<td class="parameter_description"><p>the pointer to output FILE.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMIDUNKNOWN"></a><h3>xmlSecTransformIdUnknown</h3>
-<pre class="PROGRAMLISTING">#define xmlSecTransformIdUnknown ((xmlSecTransformId)NULL)</pre>
-<p>The "unknown" transform id (NULL).</p>
-</div>
-<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMBASE64GETKLASS"></a><h3>xmlSecTransformBase64GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
-xmlSecTransformBase64GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
-<p>The Base64 transform klass (http://www.w3.org/TR/xmldsig-core/<font><span class="TYPE">sec-Base-64</span></font>).
+<div class="refsect2">
+<a name="xmlSecTransformBase64GetKlass"></a><h3>xmlSecTransformBase64GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
+xmlSecTransformBase64GetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
+<p>The Base64 transform klass (http://www.w3.org/TR/xmldsig-core/<font><span class="type">sec-Base-64</span></font>).
The normative specification for base64 decoding transforms is RFC 2045
(http://www.ietf.org/rfc/rfc2045.txt). The base64 Transform element has
no content. The input is decoded by the algorithms. This transform is
useful if an application needs to sign the raw data associated with
the encoded content of an element.</p>
-<div class="REFSECT3">
-<a name="AEN22526"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTransformBase64GetKlass.returns"></a><h4>Returns</h4>
<p> base64 transform id.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMBASE64SETLINESIZE"></a><h3>xmlSecTransformBase64SetLineSize ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">void</span></font>
-xmlSecTransformBase64SetLineSize (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>,
- <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> lineSize</code>);</pre>
-<p>Sets the max line size to <code class="PARAMETER">lineSize</code>
+<div class="refsect2">
+<a name="xmlSecTransformBase64SetLineSize"></a><h3>xmlSecTransformBase64SetLineSize ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">void</span></font>
+xmlSecTransformBase64SetLineSize (<em class="parameter"><code><font><span class="type">xmlSecTransformPtr</span></font> transform</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="type">xmlSecSize</span></a> lineSize</code></em>);</pre>
+<p>Sets the max line size to <em class="parameter"><code>lineSize</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN22544"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN22546"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecTransformBase64SetLineSize.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>transform</p></td>
-<td><p>the pointer to BASE64 encode transform.</p></td>
-<td> </td>
+<td class="parameter_name"><p>transform</p></td>
+<td class="parameter_description"><p>the pointer to BASE64 encode transform.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>lineSize</p></td>
-<td><p>the new max line size.</p></td>
-<td> </td>
+<td class="parameter_name"><p>lineSize</p></td>
+<td class="parameter_description"><p>the new max line size.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMINCLC14NGETKLASS"></a><h3>xmlSecTransformInclC14NGetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
-xmlSecTransformInclC14NGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecTransformInclC14NGetKlass"></a><h3>xmlSecTransformInclC14NGetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
+xmlSecTransformInclC14NGetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>Inclusive (regular) canonicalization that omits comments transform klass
-(http://www.w3.org/TR/xmldsig-core/<font><span class="TYPE">sec-c14nAlg</span></font> and
+(http://www.w3.org/TR/xmldsig-core/<font><span class="type">sec-c14nAlg</span></font> and
http://www.w3.org/TR/2001/REC-xml-c14n-20010315).</p>
-<div class="REFSECT3">
-<a name="AEN22573"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTransformInclC14NGetKlass.returns"></a><h4>Returns</h4>
<p> c14n transform id.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMINCLC14NWITHCOMMENTSGETKLASS"></a><h3>xmlSecTransformInclC14NWithCommentsGetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
+<div class="refsect2">
+<a name="xmlSecTransformInclC14NWithCommentsGetKlass"></a><h3>xmlSecTransformInclC14NWithCommentsGetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
xmlSecTransformInclC14NWithCommentsGetKlass
- (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+ (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>Inclusive (regular) canonicalization that includes comments transform klass
-(http://www.w3.org/TR/xmldsig-core/<font><span class="TYPE">sec-c14nAlg</span></font> and
+(http://www.w3.org/TR/xmldsig-core/<font><span class="type">sec-c14nAlg</span></font> and
http://www.w3.org/TR/2001/REC-xml-c14n-20010315).</p>
-<div class="REFSECT3">
-<a name="AEN22588"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTransformInclC14NWithCommentsGetKlass.returns"></a><h4>Returns</h4>
<p> c14n with comments transform id.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMINCLC14N11GETKLASS"></a><h3>xmlSecTransformInclC14N11GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
-xmlSecTransformInclC14N11GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecTransformInclC14N11GetKlass"></a><h3>xmlSecTransformInclC14N11GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
+xmlSecTransformInclC14N11GetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>C14N version 1.1 (http://www.w3.org/TR/xml-c14n11)</p>
-<div class="REFSECT3">
-<a name="AEN22601"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTransformInclC14N11GetKlass.returns"></a><h4>Returns</h4>
<p> c14n v1.1 transform id.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMINCLC14N11WITHCOMMENTSGETKLASS"></a><h3>xmlSecTransformInclC14N11WithCommentsGetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
+<div class="refsect2">
+<a name="xmlSecTransformInclC14N11WithCommentsGetKlass"></a><h3>xmlSecTransformInclC14N11WithCommentsGetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
xmlSecTransformInclC14N11WithCommentsGetKlass
- (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+ (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>C14N version 1.1 (http://www.w3.org/TR/xml-c14n11) with comments</p>
-<div class="REFSECT3">
-<a name="AEN22614"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTransformInclC14N11WithCommentsGetKlass.returns"></a><h4>Returns</h4>
<p> c14n v1.1 with comments transform id.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMEXCLC14NGETKLASS"></a><h3>xmlSecTransformExclC14NGetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
-xmlSecTransformExclC14NGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecTransformExclC14NGetKlass"></a><h3>xmlSecTransformExclC14NGetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
+xmlSecTransformExclC14NGetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>Exclusive canoncicalization that ommits comments transform klass
(http://www.w3.org/TR/xml-exc-c14n/).</p>
-<div class="REFSECT3">
-<a name="AEN22627"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTransformExclC14NGetKlass.returns"></a><h4>Returns</h4>
<p> exclusive c14n transform id.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMEXCLC14NWITHCOMMENTSGETKLASS"></a><h3>xmlSecTransformExclC14NWithCommentsGetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
+<div class="refsect2">
+<a name="xmlSecTransformExclC14NWithCommentsGetKlass"></a><h3>xmlSecTransformExclC14NWithCommentsGetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
xmlSecTransformExclC14NWithCommentsGetKlass
- (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+ (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>Exclusive canoncicalization that includes comments transform klass
(http://www.w3.org/TR/xml-exc-c14n/).</p>
-<div class="REFSECT3">
-<a name="AEN22640"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTransformExclC14NWithCommentsGetKlass.returns"></a><h4>Returns</h4>
<p> exclusive c14n with comments transform id.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMENVELOPEDGETKLASS"></a><h3>xmlSecTransformEnvelopedGetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
-xmlSecTransformEnvelopedGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
-<p>The enveloped transform klass (http://www.w3.org/TR/xmldsig-core/<font><span class="TYPE">sec-EnvelopedSignature</span></font>):</p>
+<div class="refsect2">
+<a name="xmlSecTransformEnvelopedGetKlass"></a><h3>xmlSecTransformEnvelopedGetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
+xmlSecTransformEnvelopedGetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
+<p>The enveloped transform klass (http://www.w3.org/TR/xmldsig-core/<font><span class="type">sec-EnvelopedSignature</span></font>):</p>
<p>An enveloped signature transform T removes the whole Signature element
containing T from the digest calculation of the Reference element
containing T. The entire string of characters used by an XML processor
@@ -3877,7 +3887,7 @@ result from replacing T with an XPath transform containing the following
XPath parameter element:</p>
<p> <XPath xmlns:dsig="...">
count(ancestor-or-self::dsig:Signature |
- <font><code class="FUNCTION">here()</code></font>/ancestor::dsig:Signature[1]) >
+ <font><code class="function">here()</code></font>/ancestor::dsig:Signature[1]) >
count(ancestor-or-self::dsig:Signature)
</XPath></p>
<p>The input and output requirements of this transform are identical to
@@ -3886,109 +3896,108 @@ its parent XML document. Note that it is not necessary to use an XPath
expression evaluator to create this transform. However, this transform
MUST produce output in exactly the same manner as the XPath transform
parameterized by the XPath expression above.</p>
-<div class="REFSECT3">
-<a name="AEN22660"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTransformEnvelopedGetKlass.returns"></a><h4>Returns</h4>
<p> enveloped transform id.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMXPATHGETKLASS"></a><h3>xmlSecTransformXPathGetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
-xmlSecTransformXPathGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecTransformXPathGetKlass"></a><h3>xmlSecTransformXPathGetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
+xmlSecTransformXPathGetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The XPath transform evaluates given XPath expression and
intersects the result with the previous nodes set. See
-http://www.w3.org/TR/xmldsig-core/<font><span class="TYPE">sec-XPath</span></font> for more details.</p>
-<div class="REFSECT3">
-<a name="AEN22675"></a><h4>Returns</h4>
+http://www.w3.org/TR/xmldsig-core/<font><span class="type">sec-XPath</span></font> for more details.</p>
+<div class="refsect3">
+<a name="xmlSecTransformXPathGetKlass.returns"></a><h4>Returns</h4>
<p> XPath transform id.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMXPATH2GETKLASS"></a><h3>xmlSecTransformXPath2GetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
-xmlSecTransformXPath2GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecTransformXPath2GetKlass"></a><h3>xmlSecTransformXPath2GetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
+xmlSecTransformXPath2GetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The XPath2 transform (http://www.w3.org/TR/xmldsig-filter2/).</p>
-<div class="REFSECT3">
-<a name="AEN22688"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTransformXPath2GetKlass.returns"></a><h4>Returns</h4>
<p> XPath2 transform klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMXPOINTERGETKLASS"></a><h3>xmlSecTransformXPointerGetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
-xmlSecTransformXPointerGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecTransformXPointerGetKlass"></a><h3>xmlSecTransformXPointerGetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
+xmlSecTransformXPointerGetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The XPointer transform klass
(http://www.ietf.org/internet-drafts/draft-eastlake-xmldsig-uri-02.txt).</p>
-<div class="REFSECT3">
-<a name="AEN22701"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTransformXPointerGetKlass.returns"></a><h4>Returns</h4>
<p> XPointer transform klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMXPOINTERSETEXPR"></a><h3>xmlSecTransformXPointerSetExpr ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecTransformXPointerSetExpr (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>,
- <code class="PARAMETER">const <font><span class="TYPE">xmlChar</span></font> *expr</code>,
- <code class="PARAMETER"><a href="xmlsec-nodeset.html#XMLSECNODESETTYPE"><span class="TYPE">xmlSecNodeSetType</span></a> nodeSetType</code>,
- <code class="PARAMETER"><font><span class="TYPE">xmlNodePtr</span></font> hereNode</code>);</pre>
-<p>Sets the XPointer expression for an XPointer <code class="PARAMETER">transform</code>
+<div class="refsect2">
+<a name="xmlSecTransformXPointerSetExpr"></a><h3>xmlSecTransformXPointerSetExpr ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecTransformXPointerSetExpr (<em class="parameter"><code><font><span class="type">xmlSecTransformPtr</span></font> transform</code></em>,
+ <em class="parameter"><code>const <font><span class="type">xmlChar</span></font> *expr</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-nodeset.html#xmlSecNodeSetType" title="enum xmlSecNodeSetType"><span class="type">xmlSecNodeSetType</span></a> nodeSetType</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlNodePtr</span></font> hereNode</code></em>);</pre>
+<p>Sets the XPointer expression for an XPointer <em class="parameter"><code>transform</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN22725"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN22727"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecTransformXPointerSetExpr.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>transform</p></td>
-<td><p>the pointer to XPointer transform.</p></td>
-<td> </td>
+<td class="parameter_name"><p>transform</p></td>
+<td class="parameter_description"><p>the pointer to XPointer transform.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>expr</p></td>
-<td><p>the XPointer expression.</p></td>
-<td> </td>
+<td class="parameter_name"><p>expr</p></td>
+<td class="parameter_description"><p>the XPointer expression.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>nodeSetType</p></td>
-<td><p>the type of evaluated XPointer expression.</p></td>
-<td> </td>
+<td class="parameter_name"><p>nodeSetType</p></td>
+<td class="parameter_description"><p>the type of evaluated XPointer expression.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>hereNode</p></td>
-<td><p>the pointer to "here" node.</p></td>
-<td> </td>
+<td class="parameter_name"><p>hereNode</p></td>
+<td class="parameter_description"><p>the pointer to "here" node.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN22754"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTransformXPointerSetExpr.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMRELATIONSHIPGETKLASS"></a><h3>xmlSecTransformRelationshipGetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
-xmlSecTransformRelationshipGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
-<p></p>
+<div class="refsect2">
+<a name="xmlSecTransformRelationshipGetKlass"></a><h3>xmlSecTransformRelationshipGetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
+xmlSecTransformRelationshipGetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
+<p>
+</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMXSLTGETKLASS"></a><h3>xmlSecTransformXsltGetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
-xmlSecTransformXsltGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
-<p>XSLT transform klass (http://www.w3.org/TR/xmldsig-core/<font><span class="TYPE">sec-XSLT</span></font>):</p>
+<div class="refsect2">
+<a name="xmlSecTransformXsltGetKlass"></a><h3>xmlSecTransformXsltGetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
+xmlSecTransformXsltGetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
+<p>XSLT transform klass (http://www.w3.org/TR/xmldsig-core/<font><span class="type">sec-XSLT</span></font>):</p>
<p>The normative specification for XSL Transformations is [XSLT].
Specification of a namespace-qualified stylesheet element, which MUST be
the sole child of the Transform element, indicates that the specified style
@@ -4011,377 +4020,418 @@ after the XSLT transform to canonicalize the output. These steps will help
to ensure interoperability of the resulting signatures among applications
that support the XSLT transform. Note that if the output is actually HTML,
then the result of these steps is logically equivalent [XHTML].</p>
-<div class="REFSECT3">
-<a name="AEN22782"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTransformXsltGetKlass.returns"></a><h4>Returns</h4>
<p> pointer to XSLT transform klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMXSLTSETDEFAULTSECURITYPREFS"></a><h3>xmlSecTransformXsltSetDefaultSecurityPrefs ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">void</span></font>
+<div class="refsect2">
+<a name="xmlSecTransformXsltSetDefaultSecurityPrefs"></a><h3>xmlSecTransformXsltSetDefaultSecurityPrefs ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">void</span></font>
xmlSecTransformXsltSetDefaultSecurityPrefs
- (<code class="PARAMETER"><font><span class="TYPE">xsltSecurityPrefsPtr</span></font> sec</code>);</pre>
+ (<em class="parameter"><code><font><span class="type">xsltSecurityPrefsPtr</span></font> sec</code></em>);</pre>
<p>Sets the new default security preferences. The xmlsec default security policy is
to disable everything.</p>
-<div class="REFSECT3">
-<a name="AEN22796"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN22798"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecTransformXsltSetDefaultSecurityPrefs.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>sec</p></td>
-<td><p>the new security preferences</p></td>
-<td> </td>
+<td class="parameter_name"><p>sec</p></td>
+<td class="parameter_description"><p>the new security preferences</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMREMOVEXMLTAGSC14NGETKLASS"></a><h3>xmlSecTransformRemoveXmlTagsC14NGetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
+<div class="refsect2">
+<a name="xmlSecTransformRemoveXmlTagsC14NGetKlass"></a><h3>xmlSecTransformRemoveXmlTagsC14NGetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
xmlSecTransformRemoveXmlTagsC14NGetKlass
- (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
-<p>The "remove xml tags" transform klass (http://www.w3.org/TR/xmldsig-core/<font><span class="TYPE">sec-Base-64</span></font>):
+ (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
+<p>The "remove xml tags" transform klass (http://www.w3.org/TR/xmldsig-core/<font><span class="type">sec-Base-64</span></font>):
Base64 transform requires an octet stream for input. If an XPath node-set
(or sufficiently functional alternative) is given as input, then it is
converted to an octet stream by performing operations logically equivalent
-to 1) applying an XPath transform with expression self::<font><code class="FUNCTION">text()</code></font>, then 2)
+to 1) applying an XPath transform with expression self::<font><code class="function">text()</code></font>, then 2)
taking the string-value of the node-set. Thus, if an XML element is
identified by a barename XPointer in the Reference URI, and its content
consists solely of base64 encoded character data, then this transform
automatically strips away the start and end tags of the identified element
and any of its descendant elements as well as any descendant comments and
processing instructions. The output of this transform is an octet stream.</p>
-<div class="REFSECT3">
-<a name="AEN22821"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTransformRemoveXmlTagsC14NGetKlass.returns"></a><h4>Returns</h4>
<p> "remove xml tags" transform id.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMVISA3DHACKGETKLASS"></a><h3>xmlSecTransformVisa3DHackGetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecTransformId</span></font>
-xmlSecTransformVisa3DHackGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecTransformVisa3DHackGetKlass"></a><h3>xmlSecTransformVisa3DHackGetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecTransformId</span></font>
+xmlSecTransformVisa3DHackGetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The Visa3DHack transform klass. The only reason why we need this
is Visa3D protocol. It doesn't follow XML/XPointer/XMLDSig specs and allows
invalid XPointer expressions in the URI attribute. Since we couldn't evaluate
such expressions thru XPath/XPointer engine, we need to have this hack here.</p>
-<div class="REFSECT3">
-<a name="AEN22834"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTransformVisa3DHackGetKlass.returns"></a><h4>Returns</h4>
<p> Visa3DHack transform klass.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMVISA3DHACKSETID"></a><h3>xmlSecTransformVisa3DHackSetID ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecTransformVisa3DHackSetID (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>,
- <code class="PARAMETER">const <font><span class="TYPE">xmlChar</span></font> *id</code>);</pre>
-<p>Sets the ID value for an Visa3DHack <code class="PARAMETER">transform</code>
+<div class="refsect2">
+<a name="xmlSecTransformVisa3DHackSetID"></a><h3>xmlSecTransformVisa3DHackSetID ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecTransformVisa3DHackSetID (<em class="parameter"><code><font><span class="type">xmlSecTransformPtr</span></font> transform</code></em>,
+ <em class="parameter"><code>const <font><span class="type">xmlChar</span></font> *id</code></em>);</pre>
+<p>Sets the ID value for an Visa3DHack <em class="parameter"><code>transform</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN22852"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN22854"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecTransformVisa3DHackSetID.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>transform</p></td>
-<td><p>the pointer to Visa3DHack transform.</p></td>
-<td> </td>
+<td class="parameter_name"><p>transform</p></td>
+<td class="parameter_description"><p>the pointer to Visa3DHack transform.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>id</p></td>
-<td><p>the ID value.</p></td>
-<td> </td>
+<td class="parameter_name"><p>id</p></td>
+<td class="parameter_description"><p>the ID value.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN22869"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecTransformVisa3DHackSetID.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs.</p>
</div>
</div>
</div>
-<div class="REFSECT1">
-<a name="XMLSEC-TRANSFORMS.OTHER_DETAILS"></a><h2>Types and Values</h2>
-<div class="REFSECT2">
+<div class="refsect1">
+<a name="xmlsec-transforms.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
<a name="XMLSEC-TRANSFORM-BINARY-CHUNK:CAPS"></a><h3>XMLSEC_TRANSFORM_BINARY_CHUNK</h3>
-<pre class="PROGRAMLISTING">#define XMLSEC_TRANSFORM_BINARY_CHUNK 1024</pre>
+<pre class="programlisting">#define XMLSEC_TRANSFORM_BINARY_CHUNK 1024
+</pre>
<p>The binary data chunks size. XMLSec processes binary data one chunk
at a time. Changing this impacts xmlsec memory usage and performance.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMSTATUS"></a><h3>enum xmlSecTransformStatus</h3>
+<div class="refsect2">
+<a name="xmlSecTransformStatus"></a><h3>enum xmlSecTransformStatus</h3>
<p>The transform execution status.</p>
-<div class="REFSECT3">
-<a name="AEN22885"></a><h4>Members</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN22887"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecTransformStatus.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="enum_members_name">
+<col class="enum_members_description">
+<col width="200px" class="enum_members_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>xmlSecTransformStatusNone</p></td>
-<td><p>the status unknown.</p></td>
-<td> </td>
+<td class="enum_member_name"><p><a name="xmlSecTransformStatusNone"></a>xmlSecTransformStatusNone</p></td>
+<td class="enum_member_description">
+<p>the status unknown.</p>
+</td>
+<td class="enum_member_annotations"> </td>
</tr>
<tr>
-<td><p>xmlSecTransformStatusWorking</p></td>
-<td><p>the transform is executed.</p></td>
-<td> </td>
+<td class="enum_member_name"><p><a name="xmlSecTransformStatusWorking"></a>xmlSecTransformStatusWorking</p></td>
+<td class="enum_member_description">
+<p>the transform is executed.</p>
+</td>
+<td class="enum_member_annotations"> </td>
</tr>
<tr>
-<td><p>xmlSecTransformStatusFinished</p></td>
-<td><p>the transform finished</p></td>
-<td> </td>
+<td class="enum_member_name"><p><a name="xmlSecTransformStatusFinished"></a>xmlSecTransformStatusFinished</p></td>
+<td class="enum_member_description">
+<p>the transform finished</p>
+</td>
+<td class="enum_member_annotations"> </td>
</tr>
<tr>
-<td><p>xmlSecTransformStatusOk</p></td>
-<td><p>the transform succeeded.</p></td>
-<td> </td>
+<td class="enum_member_name"><p><a name="xmlSecTransformStatusOk"></a>xmlSecTransformStatusOk</p></td>
+<td class="enum_member_description">
+<p>the transform succeeded.</p>
+</td>
+<td class="enum_member_annotations"> </td>
</tr>
<tr>
-<td><p>xmlSecTransformStatusFail</p></td>
-<td><p>the transform failed (an error occur).</p></td>
-<td> </td>
+<td class="enum_member_name"><p><a name="xmlSecTransformStatusFail"></a>xmlSecTransformStatusFail</p></td>
+<td class="enum_member_description">
+<p>the transform failed (an error occur).</p>
+</td>
+<td class="enum_member_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMMODE"></a><h3>enum xmlSecTransformMode</h3>
+<div class="refsect2">
+<a name="xmlSecTransformMode"></a><h3>enum xmlSecTransformMode</h3>
<p>The transform operation mode</p>
-<div class="REFSECT3">
-<a name="AEN22925"></a><h4>Members</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN22927"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecTransformMode.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="enum_members_name">
+<col class="enum_members_description">
+<col width="200px" class="enum_members_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>xmlSecTransformModeNone</p></td>
-<td><p>the mode is unknown.</p></td>
-<td> </td>
+<td class="enum_member_name"><p><a name="xmlSecTransformModeNone"></a>xmlSecTransformModeNone</p></td>
+<td class="enum_member_description">
+<p>the mode is unknown.</p>
+</td>
+<td class="enum_member_annotations"> </td>
</tr>
<tr>
-<td><p>xmlSecTransformModePush</p></td>
-<td><p>pushing data thru transform.</p></td>
-<td> </td>
+<td class="enum_member_name"><p><a name="xmlSecTransformModePush"></a>xmlSecTransformModePush</p></td>
+<td class="enum_member_description">
+<p>pushing data thru transform.</p>
+</td>
+<td class="enum_member_annotations"> </td>
</tr>
<tr>
-<td><p>xmlSecTransformModePop</p></td>
-<td><p>popping data from transform.</p></td>
-<td> </td>
+<td class="enum_member_name"><p><a name="xmlSecTransformModePop"></a>xmlSecTransformModePop</p></td>
+<td class="enum_member_description">
+<p>popping data from transform.</p>
+</td>
+<td class="enum_member_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMOPERATION"></a><h3>enum xmlSecTransformOperation</h3>
+<div class="refsect2">
+<a name="xmlSecTransformOperation"></a><h3>enum xmlSecTransformOperation</h3>
<p>The transform operation.</p>
-<div class="REFSECT3">
-<a name="AEN22953"></a><h4>Members</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN22955"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecTransformOperation.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="enum_members_name">
+<col class="enum_members_description">
+<col width="200px" class="enum_members_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>xmlSecTransformOperationNone</p></td>
-<td><p>the operation is unknown.</p></td>
-<td> </td>
+<td class="enum_member_name"><p><a name="xmlSecTransformOperationNone"></a>xmlSecTransformOperationNone</p></td>
+<td class="enum_member_description">
+<p>the operation is unknown.</p>
+</td>
+<td class="enum_member_annotations"> </td>
</tr>
<tr>
-<td><p>xmlSecTransformOperationEncode</p></td>
-<td><p>the encode operation (for base64 transform).</p></td>
-<td> </td>
+<td class="enum_member_name"><p><a name="xmlSecTransformOperationEncode"></a>xmlSecTransformOperationEncode</p></td>
+<td class="enum_member_description">
+<p>the encode operation (for base64 transform).</p>
+</td>
+<td class="enum_member_annotations"> </td>
</tr>
<tr>
-<td><p>xmlSecTransformOperationDecode</p></td>
-<td><p>the decode operation (for base64 transform).</p></td>
-<td> </td>
+<td class="enum_member_name"><p><a name="xmlSecTransformOperationDecode"></a>xmlSecTransformOperationDecode</p></td>
+<td class="enum_member_description">
+<p>the decode operation (for base64 transform).</p>
+</td>
+<td class="enum_member_annotations"> </td>
</tr>
<tr>
-<td><p>xmlSecTransformOperationSign</p></td>
-<td><p>the sign or digest operation.</p></td>
-<td> </td>
+<td class="enum_member_name"><p><a name="xmlSecTransformOperationSign"></a>xmlSecTransformOperationSign</p></td>
+<td class="enum_member_description">
+<p>the sign or digest operation.</p>
+</td>
+<td class="enum_member_annotations"> </td>
</tr>
<tr>
-<td><p>xmlSecTransformOperationVerify</p></td>
-<td><p>the verification of signature or digest operation.</p></td>
-<td> </td>
+<td class="enum_member_name"><p><a name="xmlSecTransformOperationVerify"></a>xmlSecTransformOperationVerify</p></td>
+<td class="enum_member_description">
+<p>the verification of signature or digest operation.</p>
+</td>
+<td class="enum_member_annotations"> </td>
</tr>
<tr>
-<td><p>xmlSecTransformOperationEncrypt</p></td>
-<td><p>the encryption operation.</p></td>
-<td> </td>
+<td class="enum_member_name"><p><a name="xmlSecTransformOperationEncrypt"></a>xmlSecTransformOperationEncrypt</p></td>
+<td class="enum_member_description">
+<p>the encryption operation.</p>
+</td>
+<td class="enum_member_annotations"> </td>
</tr>
<tr>
-<td><p>xmlSecTransformOperationDecrypt</p></td>
-<td><p>the decryption operation.</p></td>
-<td> </td>
+<td class="enum_member_name"><p><a name="xmlSecTransformOperationDecrypt"></a>xmlSecTransformOperationDecrypt</p></td>
+<td class="enum_member_description">
+<p>the decryption operation.</p>
+</td>
+<td class="enum_member_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMURITYPE"></a><h3>xmlSecTransformUriType</h3>
-<pre class="PROGRAMLISTING">typedef unsigned int xmlSecTransformUriType;</pre>
+<div class="refsect2">
+<a name="xmlSecTransformUriType"></a><h3>xmlSecTransformUriType</h3>
+<pre class="programlisting">typedef unsigned int xmlSecTransformUriType;
+</pre>
<p>URI transform type bit mask.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMURITYPENONE"></a><h3>xmlSecTransformUriTypeNone</h3>
-<pre class="PROGRAMLISTING">#define xmlSecTransformUriTypeNone 0x0000</pre>
+<div class="refsect2">
+<a name="xmlSecTransformUriTypeNone"></a><h3>xmlSecTransformUriTypeNone</h3>
+<pre class="programlisting">#define xmlSecTransformUriTypeNone 0x0000
+</pre>
<p>The URI type is unknown or not set.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMURITYPEEMPTY"></a><h3>xmlSecTransformUriTypeEmpty</h3>
-<pre class="PROGRAMLISTING">#define xmlSecTransformUriTypeEmpty 0x0001</pre>
+<div class="refsect2">
+<a name="xmlSecTransformUriTypeEmpty"></a><h3>xmlSecTransformUriTypeEmpty</h3>
+<pre class="programlisting">#define xmlSecTransformUriTypeEmpty 0x0001
+</pre>
<p>The empty URI ("") type.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMURITYPESAMEDOCUMENT"></a><h3>xmlSecTransformUriTypeSameDocument</h3>
-<pre class="PROGRAMLISTING">#define xmlSecTransformUriTypeSameDocument 0x0002</pre>
+<div class="refsect2">
+<a name="xmlSecTransformUriTypeSameDocument"></a><h3>xmlSecTransformUriTypeSameDocument</h3>
+<pre class="programlisting">#define xmlSecTransformUriTypeSameDocument 0x0002
+</pre>
<p>The smae document ("#...") but not empty ("") URI type.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMURITYPELOCAL"></a><h3>xmlSecTransformUriTypeLocal</h3>
-<pre class="PROGRAMLISTING">#define xmlSecTransformUriTypeLocal 0x0004</pre>
+<div class="refsect2">
+<a name="xmlSecTransformUriTypeLocal"></a><h3>xmlSecTransformUriTypeLocal</h3>
+<pre class="programlisting">#define xmlSecTransformUriTypeLocal 0x0004
+</pre>
<p>The local URI ("file:///....") type.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMURITYPEREMOTE"></a><h3>xmlSecTransformUriTypeRemote</h3>
-<pre class="PROGRAMLISTING">#define xmlSecTransformUriTypeRemote 0x0008</pre>
+<div class="refsect2">
+<a name="xmlSecTransformUriTypeRemote"></a><h3>xmlSecTransformUriTypeRemote</h3>
+<pre class="programlisting">#define xmlSecTransformUriTypeRemote 0x0008
+</pre>
<p>The remote URI type.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMURITYPEANY"></a><h3>xmlSecTransformUriTypeAny</h3>
-<pre class="PROGRAMLISTING">#define xmlSecTransformUriTypeAny 0xFFFF</pre>
+<div class="refsect2">
+<a name="xmlSecTransformUriTypeAny"></a><h3>xmlSecTransformUriTypeAny</h3>
+<pre class="programlisting">#define xmlSecTransformUriTypeAny 0xFFFF
+</pre>
<p>Any URI type.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMDATATYPE"></a><h3>xmlSecTransformDataType</h3>
-<pre class="PROGRAMLISTING">typedef xmlSecByte xmlSecTransformDataType;</pre>
+<div class="refsect2">
+<a name="xmlSecTransformDataType"></a><h3>xmlSecTransformDataType</h3>
+<pre class="programlisting">typedef xmlSecByte xmlSecTransformDataType;
+</pre>
<p>Transform data type bit mask.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMDATATYPEUNKNOWN"></a><h3>xmlSecTransformDataTypeUnknown</h3>
-<pre class="PROGRAMLISTING">#define xmlSecTransformDataTypeUnknown 0x0000</pre>
+<div class="refsect2">
+<a name="xmlSecTransformDataTypeUnknown"></a><h3>xmlSecTransformDataTypeUnknown</h3>
+<pre class="programlisting">#define xmlSecTransformDataTypeUnknown 0x0000
+</pre>
<p>The transform data type is unknown or nor data expected.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMDATATYPEBIN"></a><h3>xmlSecTransformDataTypeBin</h3>
-<pre class="PROGRAMLISTING">#define xmlSecTransformDataTypeBin 0x0001</pre>
+<div class="refsect2">
+<a name="xmlSecTransformDataTypeBin"></a><h3>xmlSecTransformDataTypeBin</h3>
+<pre class="programlisting">#define xmlSecTransformDataTypeBin 0x0001
+</pre>
<p>The binary transform data.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMDATATYPEXML"></a><h3>xmlSecTransformDataTypeXml</h3>
-<pre class="PROGRAMLISTING">#define xmlSecTransformDataTypeXml 0x0002</pre>
+<div class="refsect2">
+<a name="xmlSecTransformDataTypeXml"></a><h3>xmlSecTransformDataTypeXml</h3>
+<pre class="programlisting">#define xmlSecTransformDataTypeXml 0x0002
+</pre>
<p>The xml transform data.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMUSAGE"></a><h3>xmlSecTransformUsage</h3>
-<pre class="PROGRAMLISTING">typedef unsigned int xmlSecTransformUsage;</pre>
+<div class="refsect2">
+<a name="xmlSecTransformUsage"></a><h3>xmlSecTransformUsage</h3>
+<pre class="programlisting">typedef unsigned int xmlSecTransformUsage;
+</pre>
<p>The transform usage bit mask.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMUSAGEUNKNOWN"></a><h3>xmlSecTransformUsageUnknown</h3>
-<pre class="PROGRAMLISTING">#define xmlSecTransformUsageUnknown 0x0000</pre>
+<div class="refsect2">
+<a name="xmlSecTransformUsageUnknown"></a><h3>xmlSecTransformUsageUnknown</h3>
+<pre class="programlisting">#define xmlSecTransformUsageUnknown 0x0000
+</pre>
<p>Transforms usage is unknown or undefined.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMUSAGEDSIGTRANSFORM"></a><h3>xmlSecTransformUsageDSigTransform</h3>
-<pre class="PROGRAMLISTING">#define xmlSecTransformUsageDSigTransform 0x0001</pre>
+<div class="refsect2">
+<a name="xmlSecTransformUsageDSigTransform"></a><h3>xmlSecTransformUsageDSigTransform</h3>
+<pre class="programlisting">#define xmlSecTransformUsageDSigTransform 0x0001
+</pre>
<p>Transform could be used in <dsig:Transform>.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMUSAGEC14NMETHOD"></a><h3>xmlSecTransformUsageC14NMethod</h3>
-<pre class="PROGRAMLISTING">#define xmlSecTransformUsageC14NMethod 0x0002</pre>
+<div class="refsect2">
+<a name="xmlSecTransformUsageC14NMethod"></a><h3>xmlSecTransformUsageC14NMethod</h3>
+<pre class="programlisting">#define xmlSecTransformUsageC14NMethod 0x0002
+</pre>
<p>Transform could be used in <dsig:CanonicalizationMethod>.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMUSAGEDIGESTMETHOD"></a><h3>xmlSecTransformUsageDigestMethod</h3>
-<pre class="PROGRAMLISTING">#define xmlSecTransformUsageDigestMethod 0x0004</pre>
+<div class="refsect2">
+<a name="xmlSecTransformUsageDigestMethod"></a><h3>xmlSecTransformUsageDigestMethod</h3>
+<pre class="programlisting">#define xmlSecTransformUsageDigestMethod 0x0004
+</pre>
<p>Transform could be used in <dsig:DigestMethod>.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMUSAGESIGNATUREMETHOD"></a><h3>xmlSecTransformUsageSignatureMethod</h3>
-<pre class="PROGRAMLISTING">#define xmlSecTransformUsageSignatureMethod 0x0008</pre>
+<div class="refsect2">
+<a name="xmlSecTransformUsageSignatureMethod"></a><h3>xmlSecTransformUsageSignatureMethod</h3>
+<pre class="programlisting">#define xmlSecTransformUsageSignatureMethod 0x0008
+</pre>
<p>Transform could be used in <dsig:SignatureMethod>.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMUSAGEENCRYPTIONMETHOD"></a><h3>xmlSecTransformUsageEncryptionMethod</h3>
-<pre class="PROGRAMLISTING">#define xmlSecTransformUsageEncryptionMethod 0x0010</pre>
+<div class="refsect2">
+<a name="xmlSecTransformUsageEncryptionMethod"></a><h3>xmlSecTransformUsageEncryptionMethod</h3>
+<pre class="programlisting">#define xmlSecTransformUsageEncryptionMethod 0x0010
+</pre>
<p>Transform could be used in <enc:EncryptionMethod>.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMUSAGEANY"></a><h3>xmlSecTransformUsageAny</h3>
-<pre class="PROGRAMLISTING">#define xmlSecTransformUsageAny 0xFFFF</pre>
+<div class="refsect2">
+<a name="xmlSecTransformUsageAny"></a><h3>xmlSecTransformUsageAny</h3>
+<pre class="programlisting">#define xmlSecTransformUsageAny 0xFFFF
+</pre>
<p>Transform could be used for operation.</p>
</div>
<hr>
-<div class="REFSECT2">
+<div class="refsect2">
<a name="XMLSEC-TRANSFORMCTX-FLAGS-USE-VISA3D-HACK:CAPS"></a><h3>XMLSEC_TRANSFORMCTX_FLAGS_USE_VISA3D_HACK</h3>
-<pre class="PROGRAMLISTING">#define XMLSEC_TRANSFORMCTX_FLAGS_USE_VISA3D_HACK 0x00000001</pre>
+<pre class="programlisting">#define XMLSEC_TRANSFORMCTX_FLAGS_USE_VISA3D_HACK 0x00000001
+</pre>
<p>If this flag is set then URI ID references are resolved directly
without using XPointers. This allows one to sign/verify Visa3D
documents that don't follow XML, XPointer and XML DSig specifications.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMCTX"></a><h3>struct xmlSecTransformCtx</h3>
-<pre class="PROGRAMLISTING">struct xmlSecTransformCtx {
+<div class="refsect2">
+<a name="xmlSecTransformCtx"></a><h3>struct xmlSecTransformCtx</h3>
+<pre class="programlisting">struct xmlSecTransformCtx {
/* user settings */
void* userData;
unsigned int flags;
@@ -4401,106 +4451,105 @@ documents that don't follow XML, XPointer and XML DSig specifications.</p>
/* for the future */
void* reserved0;
void* reserved1;
-};</pre>
+};
+</pre>
<p>The transform execution context.</p>
-<div class="REFSECT3">
-<a name="AEN23126"></a><h4>Members</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN23128"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecTransformCtx.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="struct_members_name">
+<col class="struct_members_description">
+<col width="200px" class="struct_members_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p><font><span class="TYPE">void</span></font> *<code class="STRUCTFIELD">userData</code>;</p></td>
-<td><p>the pointer to user data (xmlsec and xmlsec-crypto never
+<td class="struct_member_name"><p><font><span class="type">void</span></font> *<em class="structfield"><code><a name="xmlSecTransformCtx.userData"></a>userData</code></em>;</p></td>
+<td class="struct_member_description"><p>the pointer to user data (xmlsec and xmlsec-crypto never
touch this).</p></td>
-<td> </td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p>unsigned <font><span class="TYPE">int</span></font> <code class="STRUCTFIELD">flags</code>;</p></td>
-<td><p>the bit mask flags to control transforms execution
+<td class="struct_member_name"><p>unsigned <font><span class="type">int</span></font> <em class="structfield"><code><a name="xmlSecTransformCtx.flags"></a>flags</code></em>;</p></td>
+<td class="struct_member_description"><p>the bit mask flags to control transforms execution
(reserved for the future).</p></td>
-<td> </td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p>unsigned <font><span class="TYPE">int</span></font> <code class="STRUCTFIELD">flags2</code>;</p></td>
-<td><p>the bit mask flags to control transforms execution
+<td class="struct_member_name"><p>unsigned <font><span class="type">int</span></font> <em class="structfield"><code><a name="xmlSecTransformCtx.flags2"></a>flags2</code></em>;</p></td>
+<td class="struct_member_description"><p>the bit mask flags to control transforms execution
(reserved for the future).</p></td>
-<td> </td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMURITYPE"><span class="TYPE">xmlSecTransformUriType</span></a> <code class="STRUCTFIELD">enabledUris</code>;</p></td>
-<td><p>the allowed transform data source uri types.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformUriType" title="xmlSecTransformUriType"><span class="type">xmlSecTransformUriType</span></a> <em class="structfield"><code><a name="xmlSecTransformCtx.enabledUris"></a>enabledUris</code></em>;</p></td>
+<td class="struct_member_description"><p>the allowed transform data source uri types.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><a href="xmlsec-list.html#XMLSECPTRLIST"><span class="TYPE">xmlSecPtrList</span></a> <code class="STRUCTFIELD">enabledTransforms</code>;</p></td>
-<td><p>the list of enabled transforms; if list is empty (default)
+<td class="struct_member_name"><p><a class="link" href="xmlsec-list.html#xmlSecPtrList" title="struct xmlSecPtrList"><span class="type">xmlSecPtrList</span></a> <em class="structfield"><code><a name="xmlSecTransformCtx.enabledTransforms"></a>enabledTransforms</code></em>;</p></td>
+<td class="struct_member_description"><p>the list of enabled transforms; if list is empty (default)
then all registered transforms are enabled.</p></td>
-<td> </td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXPREEXECUTECALLBACK"><span class="TYPE">xmlSecTransformCtxPreExecuteCallback</span></a> <code class="STRUCTFIELD">preExecCallback</code>;</p></td>
-<td><p>the callback called after preparing transform chain
+<td class="struct_member_name"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformCtxPreExecuteCallback" title="xmlSecTransformCtxPreExecuteCallback ()"><span class="type">xmlSecTransformCtxPreExecuteCallback</span></a> <em class="structfield"><code><a name="xmlSecTransformCtx.preExecCallback"></a>preExecCallback</code></em>;</p></td>
+<td class="struct_member_description"><p>the callback called after preparing transform chain
and right before actual data processing; application
can use this callback to change transforms parameters,
insert additional transforms in the chain or do
additional validation (and abort transform execution
if needed).</p></td>
-<td> </td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><a href="xmlsec-buffer.html#XMLSECBUFFER"><span class="TYPE">xmlSecBufferPtr</span></a> <code class="STRUCTFIELD">result</code>;</p></td>
-<td><p>the pointer to transforms result buffer.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><font><span class="type">xmlSecBufferPtr</span></font> <em class="structfield"><code><a name="xmlSecTransformCtx.result"></a>result</code></em>;</p></td>
+<td class="struct_member_description"><p>the pointer to transforms result buffer.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMSTATUS"><span class="TYPE">xmlSecTransformStatus</span></a> <code class="STRUCTFIELD">status</code>;</p></td>
-<td><p>the transforms chain processng status.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformStatus" title="enum xmlSecTransformStatus"><span class="type">xmlSecTransformStatus</span></a> <em class="structfield"><code><a name="xmlSecTransformCtx.status"></a>status</code></em>;</p></td>
+<td class="struct_member_description"><p>the transforms chain processng status.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><font><span class="TYPE">xmlChar</span></font> *<code class="STRUCTFIELD">uri</code>;</p></td>
-<td><p>the data source URI without xpointer expression.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><font><span class="type">xmlChar</span></font> *<em class="structfield"><code><a name="xmlSecTransformCtx.uri"></a>uri</code></em>;</p></td>
+<td class="struct_member_description"><p>the data source URI without xpointer expression.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><font><span class="TYPE">xmlChar</span></font> *<code class="STRUCTFIELD">xptrExpr</code>;</p></td>
-<td><p>the xpointer expression from data source URI (if any).</p></td>
-<td> </td>
+<td class="struct_member_name"><p><font><span class="type">xmlChar</span></font> *<em class="structfield"><code><a name="xmlSecTransformCtx.xptrExpr"></a>xptrExpr</code></em>;</p></td>
+<td class="struct_member_description"><p>the xpointer expression from data source URI (if any).</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> <code class="STRUCTFIELD">first</code>;</p></td>
-<td><p>the first transform in the chain.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><font><span class="type">xmlSecTransformPtr</span></font> <em class="structfield"><code><a name="xmlSecTransformCtx.first"></a>first</code></em>;</p></td>
+<td class="struct_member_description"><p>the first transform in the chain.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> <code class="STRUCTFIELD">last</code>;</p></td>
-<td><p>the last transform in the chain.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><font><span class="type">xmlSecTransformPtr</span></font> <em class="structfield"><code><a name="xmlSecTransformCtx.last"></a>last</code></em>;</p></td>
+<td class="struct_member_description"><p>the last transform in the chain.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><font><span class="TYPE">void</span></font> *<code class="STRUCTFIELD">reserved0</code>;</p></td>
-<td><p>reserved for the future.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><font><span class="type">void</span></font> *<em class="structfield"><code><a name="xmlSecTransformCtx.reserved0"></a>reserved0</code></em>;</p></td>
+<td class="struct_member_description"><p>reserved for the future.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><font><span class="TYPE">void</span></font> *<code class="STRUCTFIELD">reserved1</code>;</p></td>
-<td><p>reserved for the future.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><font><span class="type">void</span></font> *<em class="structfield"><code><a name="xmlSecTransformCtx.reserved1"></a>reserved1</code></em>;</p></td>
+<td class="struct_member_description"><p>reserved for the future.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORM"></a><h3>struct xmlSecTransform</h3>
-<pre class="PROGRAMLISTING">struct xmlSecTransform {
+<div class="refsect2">
+<a name="xmlSecTransform"></a><h3>struct xmlSecTransform</h3>
+<pre class="programlisting">struct xmlSecTransform {
xmlSecTransformId id;
xmlSecTransformOperation operation;
xmlSecTransformStatus status;
@@ -4521,87 +4570,86 @@ if needed).</p></td>
/* reserved for the future */
void* reserved0;
void* reserved1;
-};</pre>
+};
+</pre>
<p>The transform structure.</p>
-<div class="REFSECT3">
-<a name="AEN23263"></a><h4>Members</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN23265"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecTransform.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="struct_members_name">
+<col class="struct_members_description">
+<col width="200px" class="struct_members_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p><font><span class="TYPE">xmlSecTransformId</span></font> <code class="STRUCTFIELD">id</code>;</p></td>
-<td><p>the transform id (pointer to <font><span class="TYPE">xmlSecTransformId</span></font>).</p></td>
-<td> </td>
+<td class="struct_member_name"><p><font><span class="type">xmlSecTransformId</span></font> <em class="structfield"><code><a name="xmlSecTransform.id"></a>id</code></em>;</p></td>
+<td class="struct_member_description"><p>the transform id (pointer to <font><span class="type">xmlSecTransformId</span></font>).</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMOPERATION"><span class="TYPE">xmlSecTransformOperation</span></a> <code class="STRUCTFIELD">operation</code>;</p></td>
-<td><p>the transform's opertaion.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformOperation" title="enum xmlSecTransformOperation"><span class="type">xmlSecTransformOperation</span></a> <em class="structfield"><code><a name="xmlSecTransform.operation"></a>operation</code></em>;</p></td>
+<td class="struct_member_description"><p>the transform's opertaion.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMSTATUS"><span class="TYPE">xmlSecTransformStatus</span></a> <code class="STRUCTFIELD">status</code>;</p></td>
-<td><p>the current status.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformStatus" title="enum xmlSecTransformStatus"><span class="type">xmlSecTransformStatus</span></a> <em class="structfield"><code><a name="xmlSecTransform.status"></a>status</code></em>;</p></td>
+<td class="struct_member_description"><p>the current status.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><font><span class="TYPE">xmlNodePtr</span></font> <code class="STRUCTFIELD">hereNode</code>;</p></td>
-<td><p>the pointer to transform's <dsig:Transform /> node.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><font><span class="type">xmlNodePtr</span></font> <em class="structfield"><code><a name="xmlSecTransform.hereNode"></a>hereNode</code></em>;</p></td>
+<td class="struct_member_description"><p>the pointer to transform's <dsig:Transform /> node.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> <code class="STRUCTFIELD">next</code>;</p></td>
-<td><p>the pointer to next transform in the chain.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><font><span class="type">xmlSecTransformPtr</span></font> <em class="structfield"><code><a name="xmlSecTransform.next"></a>next</code></em>;</p></td>
+<td class="struct_member_description"><p>the pointer to next transform in the chain.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> <code class="STRUCTFIELD">prev</code>;</p></td>
-<td><p>the pointer to previous transform in the chain.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><font><span class="type">xmlSecTransformPtr</span></font> <em class="structfield"><code><a name="xmlSecTransform.prev"></a>prev</code></em>;</p></td>
+<td class="struct_member_description"><p>the pointer to previous transform in the chain.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><a href="xmlsec-buffer.html#XMLSECBUFFER"><span class="TYPE">xmlSecBuffer</span></a> <code class="STRUCTFIELD">inBuf</code>;</p></td>
-<td><p>the input binary data buffer.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><a class="link" href="xmlsec-buffer.html#xmlSecBuffer" title="struct xmlSecBuffer"><span class="type">xmlSecBuffer</span></a> <em class="structfield"><code><a name="xmlSecTransform.inBuf"></a>inBuf</code></em>;</p></td>
+<td class="struct_member_description"><p>the input binary data buffer.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><a href="xmlsec-buffer.html#XMLSECBUFFER"><span class="TYPE">xmlSecBuffer</span></a> <code class="STRUCTFIELD">outBuf</code>;</p></td>
-<td><p>the output binary data buffer.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><a class="link" href="xmlsec-buffer.html#xmlSecBuffer" title="struct xmlSecBuffer"><span class="type">xmlSecBuffer</span></a> <em class="structfield"><code><a name="xmlSecTransform.outBuf"></a>outBuf</code></em>;</p></td>
+<td class="struct_member_description"><p>the output binary data buffer.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><a href="xmlsec-nodeset.html#XMLSECNODESET"><span class="TYPE">xmlSecNodeSetPtr</span></a> <code class="STRUCTFIELD">inNodes</code>;</p></td>
-<td><p>the input XML nodes.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><font><span class="type">xmlSecNodeSetPtr</span></font> <em class="structfield"><code><a name="xmlSecTransform.inNodes"></a>inNodes</code></em>;</p></td>
+<td class="struct_member_description"><p>the input XML nodes.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><a href="xmlsec-nodeset.html#XMLSECNODESET"><span class="TYPE">xmlSecNodeSetPtr</span></a> <code class="STRUCTFIELD">outNodes</code>;</p></td>
-<td><p>the output XML nodes.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><font><span class="type">xmlSecNodeSetPtr</span></font> <em class="structfield"><code><a name="xmlSecTransform.outNodes"></a>outNodes</code></em>;</p></td>
+<td class="struct_member_description"><p>the output XML nodes.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><font><span class="TYPE">void</span></font> *<code class="STRUCTFIELD">reserved0</code>;</p></td>
-<td><p>reserved for the future.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><font><span class="type">void</span></font> *<em class="structfield"><code><a name="xmlSecTransform.reserved0"></a>reserved0</code></em>;</p></td>
+<td class="struct_member_description"><p>reserved for the future.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><font><span class="TYPE">void</span></font> *<code class="STRUCTFIELD">reserved1</code>;</p></td>
-<td><p>reserved for the future.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><font><span class="type">void</span></font> *<em class="structfield"><code><a name="xmlSecTransform.reserved1"></a>reserved1</code></em>;</p></td>
+<td class="struct_member_description"><p>reserved for the future.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMKLASS"></a><h3>struct xmlSecTransformKlass</h3>
-<pre class="PROGRAMLISTING">struct xmlSecTransformKlass {
+<div class="refsect2">
+<a name="xmlSecTransformKlass"></a><h3>struct xmlSecTransformKlass</h3>
+<pre class="programlisting">struct xmlSecTransformKlass {
/* data */
xmlSecSize klassSize;
xmlSecSize objSize;
@@ -4632,232 +4680,238 @@ if needed).</p></td>
/* reserved for future */
void* reserved0;
void* reserved1;
-};</pre>
+};
+</pre>
<p>The transform klass desccription structure.</p>
-<div class="REFSECT3">
-<a name="AEN23384"></a><h4>Members</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN23386"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecTransformKlass.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="struct_members_name">
+<col class="struct_members_description">
+<col width="200px" class="struct_members_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> <code class="STRUCTFIELD">klassSize</code>;</p></td>
-<td><p>the transform klass structure size.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="type">xmlSecSize</span></a> <em class="structfield"><code><a name="xmlSecTransformKlass.klassSize"></a>klassSize</code></em>;</p></td>
+<td class="struct_member_description"><p>the transform klass structure size.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> <code class="STRUCTFIELD">objSize</code>;</p></td>
-<td><p>the transform object size.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="type">xmlSecSize</span></a> <em class="structfield"><code><a name="xmlSecTransformKlass.objSize"></a>objSize</code></em>;</p></td>
+<td class="struct_member_description"><p>the transform object size.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p>const <font><span class="TYPE">xmlChar</span></font> *<code class="STRUCTFIELD">name</code>;</p></td>
-<td><p>the transform's name.</p></td>
-<td> </td>
+<td class="struct_member_name"><p>const <font><span class="type">xmlChar</span></font> *<em class="structfield"><code><a name="xmlSecTransformKlass.name"></a>name</code></em>;</p></td>
+<td class="struct_member_description"><p>the transform's name.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p>const <font><span class="TYPE">xmlChar</span></font> *<code class="STRUCTFIELD">href</code>;</p></td>
-<td><p>the transform's identification string (href).</p></td>
-<td> </td>
+<td class="struct_member_name"><p>const <font><span class="type">xmlChar</span></font> *<em class="structfield"><code><a name="xmlSecTransformKlass.href"></a>href</code></em>;</p></td>
+<td class="struct_member_description"><p>the transform's identification string (href).</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMUSAGE"><span class="TYPE">xmlSecTransformUsage</span></a> <code class="STRUCTFIELD">usage</code>;</p></td>
-<td><p>the allowed transforms usages.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformUsage" title="xmlSecTransformUsage"><span class="type">xmlSecTransformUsage</span></a> <em class="structfield"><code><a name="xmlSecTransformKlass.usage"></a>usage</code></em>;</p></td>
+<td class="struct_member_description"><p>the allowed transforms usages.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMINITIALIZEMETHOD"><span class="TYPE">xmlSecTransformInitializeMethod</span></a> <code class="STRUCTFIELD">initialize</code>;</p></td>
-<td><p>the initialization method.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformInitializeMethod" title="xmlSecTransformInitializeMethod ()"><span class="type">xmlSecTransformInitializeMethod</span></a> <em class="structfield"><code><a name="xmlSecTransformKlass.initialize"></a>initialize</code></em>;</p></td>
+<td class="struct_member_description"><p>the initialization method.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMFINALIZEMETHOD"><span class="TYPE">xmlSecTransformFinalizeMethod</span></a> <code class="STRUCTFIELD">finalize</code>;</p></td>
-<td><p>the finmalization (destroy) function.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformFinalizeMethod" title="xmlSecTransformFinalizeMethod ()"><span class="type">xmlSecTransformFinalizeMethod</span></a> <em class="structfield"><code><a name="xmlSecTransformKlass.finalize"></a>finalize</code></em>;</p></td>
+<td class="struct_member_description"><p>the finmalization (destroy) function.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMNODEREADMETHOD"><span class="TYPE">xmlSecTransformNodeReadMethod</span></a> <code class="STRUCTFIELD">readNode</code>;</p></td>
-<td><p>the XML node read method.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformNodeReadMethod" title="xmlSecTransformNodeReadMethod ()"><span class="type">xmlSecTransformNodeReadMethod</span></a> <em class="structfield"><code><a name="xmlSecTransformKlass.readNode"></a>readNode</code></em>;</p></td>
+<td class="struct_member_description"><p>the XML node read method.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMNODEWRITEMETHOD"><span class="TYPE">xmlSecTransformNodeWriteMethod</span></a> <code class="STRUCTFIELD">writeNode</code>;</p></td>
-<td><p>the XML node write method.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformNodeWriteMethod" title="xmlSecTransformNodeWriteMethod ()"><span class="type">xmlSecTransformNodeWriteMethod</span></a> <em class="structfield"><code><a name="xmlSecTransformKlass.writeNode"></a>writeNode</code></em>;</p></td>
+<td class="struct_member_description"><p>the XML node write method.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMSETKEYREQUIREMENTSMETHOD"><span class="TYPE">xmlSecTransformSetKeyRequirementsMethod</span></a> <code class="STRUCTFIELD">setKeyReq</code>;</p></td>
-<td><p>the set key requirements method.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformSetKeyRequirementsMethod" title="xmlSecTransformSetKeyRequirementsMethod ()"><span class="type">xmlSecTransformSetKeyRequirementsMethod</span></a> <em class="structfield"><code><a name="xmlSecTransformKlass.setKeyReq"></a>setKeyReq</code></em>;</p></td>
+<td class="struct_member_description"><p>the set key requirements method.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMSETKEYMETHOD"><span class="TYPE">xmlSecTransformSetKeyMethod</span></a> <code class="STRUCTFIELD">setKey</code>;</p></td>
-<td><p>the set key method.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformSetKeyMethod" title="xmlSecTransformSetKeyMethod ()"><span class="type">xmlSecTransformSetKeyMethod</span></a> <em class="structfield"><code><a name="xmlSecTransformKlass.setKey"></a>setKey</code></em>;</p></td>
+<td class="struct_member_description"><p>the set key method.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMVERIFYMETHOD"><span class="TYPE">xmlSecTransformVerifyMethod</span></a> <code class="STRUCTFIELD">verify</code>;</p></td>
-<td><p>the verify method (for digest and signature transforms).</p></td>
-<td> </td>
+<td class="struct_member_name"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformVerifyMethod" title="xmlSecTransformVerifyMethod ()"><span class="type">xmlSecTransformVerifyMethod</span></a> <em class="structfield"><code><a name="xmlSecTransformKlass.verify"></a>verify</code></em>;</p></td>
+<td class="struct_member_description"><p>the verify method (for digest and signature transforms).</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMGETDATATYPEMETHOD"><span class="TYPE">xmlSecTransformGetDataTypeMethod</span></a> <code class="STRUCTFIELD">getDataType</code>;</p></td>
-<td><p>the input/output data type query method.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformGetDataTypeMethod" title="xmlSecTransformGetDataTypeMethod ()"><span class="type">xmlSecTransformGetDataTypeMethod</span></a> <em class="structfield"><code><a name="xmlSecTransformKlass.getDataType"></a>getDataType</code></em>;</p></td>
+<td class="struct_member_description"><p>the input/output data type query method.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMPUSHBINMETHOD"><span class="TYPE">xmlSecTransformPushBinMethod</span></a> <code class="STRUCTFIELD">pushBin</code>;</p></td>
-<td><p>the binary data "push thru chain" processing method.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformPushBinMethod" title="xmlSecTransformPushBinMethod ()"><span class="type">xmlSecTransformPushBinMethod</span></a> <em class="structfield"><code><a name="xmlSecTransformKlass.pushBin"></a>pushBin</code></em>;</p></td>
+<td class="struct_member_description"><p>the binary data "push thru chain" processing method.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMPOPBINMETHOD"><span class="TYPE">xmlSecTransformPopBinMethod</span></a> <code class="STRUCTFIELD">popBin</code>;</p></td>
-<td><p>the binary data "pop from chain" procesing method.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformPopBinMethod" title="xmlSecTransformPopBinMethod ()"><span class="type">xmlSecTransformPopBinMethod</span></a> <em class="structfield"><code><a name="xmlSecTransformKlass.popBin"></a>popBin</code></em>;</p></td>
+<td class="struct_member_description"><p>the binary data "pop from chain" procesing method.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMPUSHXMLMETHOD"><span class="TYPE">xmlSecTransformPushXmlMethod</span></a> <code class="STRUCTFIELD">pushXml</code>;</p></td>
-<td><p>the XML data "push thru chain" processing method.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformPushXmlMethod" title="xmlSecTransformPushXmlMethod ()"><span class="type">xmlSecTransformPushXmlMethod</span></a> <em class="structfield"><code><a name="xmlSecTransformKlass.pushXml"></a>pushXml</code></em>;</p></td>
+<td class="struct_member_description"><p>the XML data "push thru chain" processing method.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMPOPXMLMETHOD"><span class="TYPE">xmlSecTransformPopXmlMethod</span></a> <code class="STRUCTFIELD">popXml</code>;</p></td>
-<td><p>the XML data "pop from chain" procesing method.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformPopXmlMethod" title="xmlSecTransformPopXmlMethod ()"><span class="type">xmlSecTransformPopXmlMethod</span></a> <em class="structfield"><code><a name="xmlSecTransformKlass.popXml"></a>popXml</code></em>;</p></td>
+<td class="struct_member_description"><p>the XML data "pop from chain" procesing method.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMEXECUTEMETHOD"><span class="TYPE">xmlSecTransformExecuteMethod</span></a> <code class="STRUCTFIELD">execute</code>;</p></td>
-<td><p>the low level data processing method used by default
-implementations of <code class="PARAMETER">pushBin</code>
-, <code class="PARAMETER">popBin</code>
-, <code class="PARAMETER">pushXml</code>
-and <code class="PARAMETER">popXml</code>
+<td class="struct_member_name"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformExecuteMethod" title="xmlSecTransformExecuteMethod ()"><span class="type">xmlSecTransformExecuteMethod</span></a> <em class="structfield"><code><a name="xmlSecTransformKlass.execute"></a>execute</code></em>;</p></td>
+<td class="struct_member_description"><p>the low level data processing method used by default
+implementations of <em class="parameter"><code>pushBin</code></em>
+, <em class="parameter"><code>popBin</code></em>
+, <em class="parameter"><code>pushXml</code></em>
+and <em class="parameter"><code>popXml</code></em>
.</p></td>
-<td> </td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><font><span class="TYPE">void</span></font> *<code class="STRUCTFIELD">reserved0</code>;</p></td>
-<td><p>reserved for the future.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><font><span class="type">void</span></font> *<em class="structfield"><code><a name="xmlSecTransformKlass.reserved0"></a>reserved0</code></em>;</p></td>
+<td class="struct_member_description"><p>reserved for the future.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><font><span class="TYPE">void</span></font> *<code class="STRUCTFIELD">reserved1</code>;</p></td>
-<td><p>reserved for the future.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><font><span class="type">void</span></font> *<em class="structfield"><code><a name="xmlSecTransformKlass.reserved1"></a>reserved1</code></em>;</p></td>
+<td class="struct_member_description"><p>reserved for the future.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMIDLISTID"></a><h3>xmlSecTransformIdListId</h3>
-<pre class="PROGRAMLISTING">#define xmlSecTransformIdListId xmlSecTransformIdListGetKlass()</pre>
+<div class="refsect2">
+<a name="xmlSecTransformIdListId"></a><h3>xmlSecTransformIdListId</h3>
+<pre class="programlisting">#define xmlSecTransformIdListId xmlSecTransformIdListGetKlass()
+</pre>
<p>Transform klasses list klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMBASE64ID"></a><h3>xmlSecTransformBase64Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecTransformBase64Id</pre>
+<div class="refsect2">
+<a name="xmlSecTransformIdUnknown"></a><h3>xmlSecTransformIdUnknown</h3>
+<pre class="programlisting">#define xmlSecTransformIdUnknown ((xmlSecTransformId)NULL)
+</pre>
+<p>The "unknown" transform id (NULL).</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="xmlSecTransformBase64Id"></a><h3>xmlSecTransformBase64Id</h3>
+<pre class="programlisting">#define xmlSecTransformBase64Id</pre>
<p>The base64 encode transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMINCLC14NID"></a><h3>xmlSecTransformInclC14NId</h3>
-<pre class="PROGRAMLISTING">#define xmlSecTransformInclC14NId</pre>
+<div class="refsect2">
+<a name="xmlSecTransformInclC14NId"></a><h3>xmlSecTransformInclC14NId</h3>
+<pre class="programlisting">#define xmlSecTransformInclC14NId</pre>
<p>The regular (inclusive) C14N without comments transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMINCLC14NWITHCOMMENTSID"></a><h3>xmlSecTransformInclC14NWithCommentsId</h3>
-<pre class="PROGRAMLISTING">#define xmlSecTransformInclC14NWithCommentsId</pre>
+<div class="refsect2">
+<a name="xmlSecTransformInclC14NWithCommentsId"></a><h3>xmlSecTransformInclC14NWithCommentsId</h3>
+<pre class="programlisting">#define xmlSecTransformInclC14NWithCommentsId</pre>
<p>The regular (inclusive) C14N with comments transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMINCLC14N11ID"></a><h3>xmlSecTransformInclC14N11Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecTransformInclC14N11Id</pre>
+<div class="refsect2">
+<a name="xmlSecTransformInclC14N11Id"></a><h3>xmlSecTransformInclC14N11Id</h3>
+<pre class="programlisting">#define xmlSecTransformInclC14N11Id</pre>
<p>The regular (inclusive) C14N 1.1 without comments transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMINCLC14N11WITHCOMMENTSID"></a><h3>xmlSecTransformInclC14N11WithCommentsId</h3>
-<pre class="PROGRAMLISTING">#define xmlSecTransformInclC14N11WithCommentsId</pre>
+<div class="refsect2">
+<a name="xmlSecTransformInclC14N11WithCommentsId"></a><h3>xmlSecTransformInclC14N11WithCommentsId</h3>
+<pre class="programlisting">#define xmlSecTransformInclC14N11WithCommentsId</pre>
<p>The regular (inclusive) C14N 1.1 with comments transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMEXCLC14NID"></a><h3>xmlSecTransformExclC14NId</h3>
-<pre class="PROGRAMLISTING">#define xmlSecTransformExclC14NId</pre>
+<div class="refsect2">
+<a name="xmlSecTransformExclC14NId"></a><h3>xmlSecTransformExclC14NId</h3>
+<pre class="programlisting">#define xmlSecTransformExclC14NId</pre>
<p>The exclusive C14N without comments transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMEXCLC14NWITHCOMMENTSID"></a><h3>xmlSecTransformExclC14NWithCommentsId</h3>
-<pre class="PROGRAMLISTING">#define xmlSecTransformExclC14NWithCommentsId</pre>
+<div class="refsect2">
+<a name="xmlSecTransformExclC14NWithCommentsId"></a><h3>xmlSecTransformExclC14NWithCommentsId</h3>
+<pre class="programlisting">#define xmlSecTransformExclC14NWithCommentsId</pre>
<p>The exclusive C14N with comments transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMENVELOPEDID"></a><h3>xmlSecTransformEnvelopedId</h3>
-<pre class="PROGRAMLISTING">#define xmlSecTransformEnvelopedId</pre>
+<div class="refsect2">
+<a name="xmlSecTransformEnvelopedId"></a><h3>xmlSecTransformEnvelopedId</h3>
+<pre class="programlisting">#define xmlSecTransformEnvelopedId</pre>
<p>The "enveloped" transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMXPATHID"></a><h3>xmlSecTransformXPathId</h3>
-<pre class="PROGRAMLISTING">#define xmlSecTransformXPathId</pre>
+<div class="refsect2">
+<a name="xmlSecTransformXPathId"></a><h3>xmlSecTransformXPathId</h3>
+<pre class="programlisting">#define xmlSecTransformXPathId</pre>
<p>The XPath transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMXPATH2ID"></a><h3>xmlSecTransformXPath2Id</h3>
-<pre class="PROGRAMLISTING">#define xmlSecTransformXPath2Id</pre>
+<div class="refsect2">
+<a name="xmlSecTransformXPath2Id"></a><h3>xmlSecTransformXPath2Id</h3>
+<pre class="programlisting">#define xmlSecTransformXPath2Id</pre>
<p>The XPath2 transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMXPOINTERID"></a><h3>xmlSecTransformXPointerId</h3>
-<pre class="PROGRAMLISTING">#define xmlSecTransformXPointerId</pre>
+<div class="refsect2">
+<a name="xmlSecTransformXPointerId"></a><h3>xmlSecTransformXPointerId</h3>
+<pre class="programlisting">#define xmlSecTransformXPointerId</pre>
<p>The XPointer transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMRELATIONSHIPID"></a><h3>xmlSecTransformRelationshipId</h3>
-<pre class="PROGRAMLISTING">#define xmlSecTransformRelationshipId</pre>
+<div class="refsect2">
+<a name="xmlSecTransformRelationshipId"></a><h3>xmlSecTransformRelationshipId</h3>
+<pre class="programlisting">#define xmlSecTransformRelationshipId</pre>
<p>The Relationship transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMXSLTID"></a><h3>xmlSecTransformXsltId</h3>
-<pre class="PROGRAMLISTING">#define xmlSecTransformXsltId</pre>
+<div class="refsect2">
+<a name="xmlSecTransformXsltId"></a><h3>xmlSecTransformXsltId</h3>
+<pre class="programlisting">#define xmlSecTransformXsltId</pre>
<p>The XSLT transform klass.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMREMOVEXMLTAGSC14NID"></a><h3>xmlSecTransformRemoveXmlTagsC14NId</h3>
-<pre class="PROGRAMLISTING">#define xmlSecTransformRemoveXmlTagsC14NId</pre>
+<div class="refsect2">
+<a name="xmlSecTransformRemoveXmlTagsC14NId"></a><h3>xmlSecTransformRemoveXmlTagsC14NId</h3>
+<pre class="programlisting">#define xmlSecTransformRemoveXmlTagsC14NId</pre>
<p>The "remove all xml tags" transform klass (used before base64 transforms).</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECTRANSFORMVISA3DHACKID"></a><h3>xmlSecTransformVisa3DHackId</h3>
-<pre class="PROGRAMLISTING">#define xmlSecTransformVisa3DHackId</pre>
+<div class="refsect2">
+<a name="xmlSecTransformVisa3DHackId"></a><h3>xmlSecTransformVisa3DHackId</h3>
+<pre class="programlisting">#define xmlSecTransformVisa3DHackId</pre>
<p>Selects node subtree by given node id string. The only reason why we need this
is Visa3D protocol. It doesn't follow XML/XPointer/XMLDSig specs and allows
invalid XPointer expressions in the URI attribute. Since we couldn't evaluate
such expressions thru XPath/XPointer engine, we need to have this hack here.</p>
</div>
</div>
-<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td align="left"><a accesskey="p" href="xmlsec-templates.html"><b><<< templates</b></a></td>
-<td align="right"><a accesskey="n" href="xmlsec-version.html"><b>version >>></b></a></td>
-</tr></table>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
</td></tr></table></td>
</tr></table></body>
</html>
diff --git a/docs/api/xmlsec-verify-with-key.html b/docs/api/xmlsec-verify-with-key.html
index 7bd6957..6d11fc4 100644
--- a/docs/api/xmlsec-verify-with-key.html
+++ b/docs/api/xmlsec-verify-with-key.html
@@ -1,41 +1,14 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Verifying a signature with a single key.</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79">
-<link rel="HOME" title="XML Security Library Reference Manual" href="index.html">
-<link rel="UP" title="Examples." href="xmlsec-examples.html">
-<link rel="PREVIOUS" title="Signing with X509 certificate." href="xmlsec-examples-sign-x509.html">
-<link rel="NEXT" title="Verifying a signature with keys manager." href="xmlsec-verify-with-keys-mngr.html">
-<style type="text/css">.synopsis, .classsynopsis {
- background: #eeeeee;
- border: solid 1px #aaaaaa;
- padding: 0.5em;
-}
-.programlisting {
- background: #eeeeff;
- border: solid 1px #aaaaff;
- padding: 0.5em;
-}
-.variablelist {
- padding: 4px;
- margin-left: 3em;
-}
-.navigation {
- background: #ffeeee;
- border: solid 1px #ffaaaa;
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
-.navigation a {
- color: #770000;
-}
-.navigation a:visited {
- color: #550000;
-}
-.navigation .title {
- font-size: 200%;
-}</style>
+<title>Verifying a signature with a single key.: XML Security Library Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="XML Security Library Reference Manual">
+<link rel="up" href="xmlsec-examples.html" title="Examples.">
+<link rel="prev" href="xmlsec-examples-sign-x509.html" title="Signing with X509 certificate.">
+<link rel="next" href="xmlsec-verify-with-keys-mngr.html" title="Verifying a signature with keys manager.">
+<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
<style type="text/css">
table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
width: 20em;
@@ -100,21 +73,21 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
</table>
</td>
<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent">
-<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td><a accesskey="p" href="xmlsec-examples-sign-x509.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="xmlsec-examples.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<th width="100%" align="center">XML Security Library Reference Manual</th>
+<td><a accesskey="u" href="xmlsec-examples.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="xmlsec-examples-sign-x509.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="xmlsec-verify-with-keys-mngr.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
-<br clear="all"><div class="SECT1">
-<h1 class="SECT1"><a name="XMLSEC-VERIFY-WITH-KEY">Verifying a signature with a single key.</a></h1>
-<br clear="all"><div class="SECT2">
-<h2 class="SECT2"><a name="XMLSEC-EXAMPLE-VERIFY1">verify1.c</a></h2>
-<p></p>
-<div class="INFORMALEXAMPLE">
-<p></p>
-<a name="AEN702"></a><pre class="PROGRAMLISTING">/**
+<div class="sect1">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="xmlsec-verify-with-key"></a>Verifying a signature with a single key.</h2></div></div></div>
+<div class="sect2">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="xmlsec-example-verify1"></a>verify1.c</h3></div></div></div>
+<div class="informalexample"><pre class="programlisting">
+/**
* XML Security Library example: Verifying a file using a single key.
*
* Verifies a file using a key from PEM file.
@@ -327,15 +300,13 @@ done:
}
return(res);
}
-
</pre>
-<p></p>
-</div>
+
+
+</pre></div>
</div>
</div>
-<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td align="left"><a accesskey="p" href="xmlsec-examples-sign-x509.html"><b><<< Signing with X509 certificate.</b></a></td>
-<td align="right"><a accesskey="n" href="xmlsec-verify-with-keys-mngr.html"><b>Verifying a signature with keys manager. >>></b></a></td>
-</tr></table>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
</td></tr></table></td>
</tr></table></body>
</html>
diff --git a/docs/api/xmlsec-verify-with-keys-mngr.html b/docs/api/xmlsec-verify-with-keys-mngr.html
index 1105476..83c2442 100644
--- a/docs/api/xmlsec-verify-with-keys-mngr.html
+++ b/docs/api/xmlsec-verify-with-keys-mngr.html
@@ -1,41 +1,14 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Verifying a signature with keys manager.</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79">
-<link rel="HOME" title="XML Security Library Reference Manual" href="index.html">
-<link rel="UP" title="Examples." href="xmlsec-examples.html">
-<link rel="PREVIOUS" title="Verifying a signature with a single key." href="xmlsec-verify-with-key.html">
-<link rel="NEXT" title="Verifying a signature with X509 certificates." href="xmlsec-verify-with-x509.html">
-<style type="text/css">.synopsis, .classsynopsis {
- background: #eeeeee;
- border: solid 1px #aaaaaa;
- padding: 0.5em;
-}
-.programlisting {
- background: #eeeeff;
- border: solid 1px #aaaaff;
- padding: 0.5em;
-}
-.variablelist {
- padding: 4px;
- margin-left: 3em;
-}
-.navigation {
- background: #ffeeee;
- border: solid 1px #ffaaaa;
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
-.navigation a {
- color: #770000;
-}
-.navigation a:visited {
- color: #550000;
-}
-.navigation .title {
- font-size: 200%;
-}</style>
+<title>Verifying a signature with keys manager.: XML Security Library Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="XML Security Library Reference Manual">
+<link rel="up" href="xmlsec-examples.html" title="Examples.">
+<link rel="prev" href="xmlsec-verify-with-key.html" title="Verifying a signature with a single key.">
+<link rel="next" href="xmlsec-verify-with-x509.html" title="Verifying a signature with X509 certificates.">
+<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
<style type="text/css">
table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
width: 20em;
@@ -100,21 +73,21 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
</table>
</td>
<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent">
-<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td><a accesskey="p" href="xmlsec-verify-with-key.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="xmlsec-examples.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<th width="100%" align="center">XML Security Library Reference Manual</th>
+<td><a accesskey="u" href="xmlsec-examples.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="xmlsec-verify-with-key.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="xmlsec-verify-with-x509.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
-<br clear="all"><div class="SECT1">
-<h1 class="SECT1"><a name="XMLSEC-VERIFY-WITH-KEYS-MNGR">Verifying a signature with keys manager.</a></h1>
-<br clear="all"><div class="SECT2">
-<h2 class="SECT2"><a name="XMLSEC-EXAMPLE-VERIFY2">verify2.c</a></h2>
-<p></p>
-<div class="INFORMALEXAMPLE">
-<p></p>
-<a name="AEN709"></a><pre class="PROGRAMLISTING">/**
+<div class="sect1">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="xmlsec-verify-with-keys-mngr"></a>Verifying a signature with keys manager.</h2></div></div></div>
+<div class="sect2">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="xmlsec-example-verify2"></a>verify2.c</h3></div></div></div>
+<div class="informalexample"><pre class="programlisting">
+/**
* XML Security Library example: Verifying a file using keys manager.
*
* Verifies a file using keys manager
@@ -397,15 +370,13 @@ done:
}
return(res);
}
-
</pre>
-<p></p>
-</div>
+
+
+</pre></div>
</div>
</div>
-<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td align="left"><a accesskey="p" href="xmlsec-verify-with-key.html"><b><<< Verifying a signature with a single key.</b></a></td>
-<td align="right"><a accesskey="n" href="xmlsec-verify-with-x509.html"><b>Verifying a signature with X509 certificates. >>></b></a></td>
-</tr></table>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
</td></tr></table></td>
</tr></table></body>
</html>
diff --git a/docs/api/xmlsec-verify-with-restrictions.html b/docs/api/xmlsec-verify-with-restrictions.html
index 94a6a8d..f2ff8e2 100644
--- a/docs/api/xmlsec-verify-with-restrictions.html
+++ b/docs/api/xmlsec-verify-with-restrictions.html
@@ -1,41 +1,14 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Verifying a signature with additional restrictions.</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79">
-<link rel="HOME" title="XML Security Library Reference Manual" href="index.html">
-<link rel="UP" title="Examples." href="xmlsec-examples.html">
-<link rel="PREVIOUS" title="Verifying a signature with X509 certificates." href="xmlsec-verify-with-x509.html">
-<link rel="NEXT" title="Encrypting data with a template file." href="xmlsec-encrypt-template-file.html">
-<style type="text/css">.synopsis, .classsynopsis {
- background: #eeeeee;
- border: solid 1px #aaaaaa;
- padding: 0.5em;
-}
-.programlisting {
- background: #eeeeff;
- border: solid 1px #aaaaff;
- padding: 0.5em;
-}
-.variablelist {
- padding: 4px;
- margin-left: 3em;
-}
-.navigation {
- background: #ffeeee;
- border: solid 1px #ffaaaa;
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
-.navigation a {
- color: #770000;
-}
-.navigation a:visited {
- color: #550000;
-}
-.navigation .title {
- font-size: 200%;
-}</style>
+<title>Verifying a signature with additional restrictions.: XML Security Library Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="XML Security Library Reference Manual">
+<link rel="up" href="xmlsec-examples.html" title="Examples.">
+<link rel="prev" href="xmlsec-verify-with-x509.html" title="Verifying a signature with X509 certificates.">
+<link rel="next" href="xmlsec-encrypt-template-file.html" title="Encrypting data with a template file.">
+<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
<style type="text/css">
table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
width: 20em;
@@ -100,25 +73,25 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
</table>
</td>
<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent">
-<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td><a accesskey="p" href="xmlsec-verify-with-x509.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="xmlsec-examples.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<th width="100%" align="center">XML Security Library Reference Manual</th>
+<td><a accesskey="u" href="xmlsec-examples.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="xmlsec-verify-with-x509.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="xmlsec-encrypt-template-file.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
-<br clear="all"><div class="SECT1">
-<h1 class="SECT1"><a name="XMLSEC-VERIFY-WITH-RESTRICTIONS">Verifying a signature with additional restrictions.</a></h1>
-<br clear="all"><div class="SECT2">
-<h2 class="SECT2"><a name="XMLSEC-EXAMPLE-VERIFY4">verify4.c</a></h2>
-<p></p>
-<div class="INFORMALEXAMPLE">
-<p></p>
-<a name="AEN723"></a><pre class="PROGRAMLISTING">/**
+<div class="sect1">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="xmlsec-verify-with-restrictions"></a>Verifying a signature with additional restrictions.</h2></div></div></div>
+<div class="sect2">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="xmlsec-example-verify4"></a>verify4.c</h3></div></div></div>
+<div class="informalexample"><pre class="programlisting">
+/**
* XML Security Library example: Verifying a simple SAML response with X509 certificate
*
* Verifies a simple SAML response. In addition to refular verification
- * we ensure that the signature has only one <a href="http://www.w3.org/TR/xmldsig-core/#sec-Reference" target="_top"><dsig:Reference/></a> element
+ * we ensure that the signature has only one <a class="ulink" href="" target="_top"><dsig:Reference/></a> element
* with an empty or NULL URI attribute and one enveloped signature transform
* as it is required by SAML specification.
*
@@ -421,16 +394,15 @@ done:
}
return(res);
}
-
</pre>
-<p></p>
-</div>
+
+
+</pre></div>
</div>
-<br clear="all"><div class="SECT2">
-<h2 class="SECT2"><a name="XMLSEC-EXAMPLE-VERIFY4-TMPL">verify4-tmpl.xml</a></h2>
-<p></p>
-<div class="INFORMALEXAMPLE">
-<p></p>
-<a name="AEN729"></a><pre class="PROGRAMLISTING"><?xml version="1.0" encoding="UTF-8"?>
+<div class="sect2">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="xmlsec-example-verify4-tmpl"></a>verify4-tmpl.xml</h3></div></div></div>
+<div class="informalexample"><pre class="programlisting">
+<?xml version="1.0" encoding="UTF-8"?>
<!--
XML Security Library example: A simple SAML response template (verify4 example).
@@ -448,12 +420,12 @@ Sign it using the following command (replace __ with double dashes):
<dsig:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/>
</dsig:Transforms>
<dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
- <a href="http://www.w3.org/TR/xmldsig-core/#sec-DigestValue" target="_top"><dsig:DigestValue/></a>
+ <a class="ulink" href="" target="_top"><dsig:DigestValue/></a>
</dsig:Reference>
</dsig:SignedInfo>
- <a href="http://www.w3.org/TR/xmldsig-core/#sec-SignatureValue" target="_top"><dsig:SignatureValue/></a>
+ <a class="ulink" href="" target="_top"><dsig:SignatureValue/></a>
<dsig:KeyInfo>
- <a href="http://www.w3.org/TR/xmldsig-core/#sec-X509Data" target="_top"><dsig:X509Data/></a>
+ <a class="ulink" href="" target="_top"><dsig:X509Data/></a>
</dsig:KeyInfo>
</dsig:Signature>
<Status>
@@ -476,16 +448,14 @@ Sign it using the following command (replace __ with double dashes):
<AuthorityBinding AuthorityKind="samlp:AttributeQuery" Binding="urn:oasis:names:tc:SAML:1.0:bindings:SOAP-binding" Location="https://aa.osu.edu/"/>
</AuthenticationStatement>
</Assertion>
-</Response></pre>
-<p></p>
-</div>
+</Response>
+</pre></div>
</div>
-<br clear="all"><div class="SECT2">
-<h2 class="SECT2"><a name="XMLSEC-EXAMPLE-VERIFY4-RES">verify4-res.xml</a></h2>
-<p></p>
-<div class="INFORMALEXAMPLE">
-<p></p>
-<a name="AEN737"></a><pre class="PROGRAMLISTING"><?xml version="1.0" encoding="UTF-8"?>
+<div class="sect2">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="xmlsec-example-verify4-res"></a>verify4-res.xml</h3></div></div></div>
+<div class="informalexample"><pre class="programlisting">
+<?xml version="1.0" encoding="UTF-8"?>
<!--
XML Security Library example: A simple SAML response template (verify4 example).
@@ -553,16 +523,14 @@ fBjXssrERn05kpBcrRfzou4r3DCgQFPhjxga</dsig:X509Certificate>
<AuthorityBinding AuthorityKind="samlp:AttributeQuery" Binding="urn:oasis:names:tc:SAML:1.0:bindings:SOAP-binding" Location="https://aa.osu.edu/"/>
</AuthenticationStatement>
</Assertion>
-</Response></pre>
-<p></p>
-</div>
+</Response>
+</pre></div>
</div>
-<br clear="all"><div class="SECT2">
-<h2 class="SECT2"><a name="XMLSEC-EXAMPLE-VERIFY4-BAD-TMPL">verify4-bad-tmpl.xml</a></h2>
-<p></p>
-<div class="INFORMALEXAMPLE">
-<p></p>
-<a name="AEN742"></a><pre class="PROGRAMLISTING"><?xml version="1.0" encoding="UTF-8"?>
+<div class="sect2">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="xmlsec-example-verify4-bad-tmpl"></a>verify4-bad-tmpl.xml</h3></div></div></div>
+<div class="informalexample"><pre class="programlisting">
+<?xml version="1.0" encoding="UTF-8"?>
<!--
XML Security Library example: A simple bad SAML response template (verify4 example).
@@ -587,12 +555,12 @@ Sign it using the following command (replace __ with double dashes):
</dsig:Transform>
</dsig:Transforms>
<dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
- <a href="http://www.w3.org/TR/xmldsig-core/#sec-DigestValue" target="_top"><dsig:DigestValue/></a>
+ <a class="ulink" href="" target="_top"><dsig:DigestValue/></a>
</dsig:Reference>
</dsig:SignedInfo>
- <a href="http://www.w3.org/TR/xmldsig-core/#sec-SignatureValue" target="_top"><dsig:SignatureValue/></a>
+ <a class="ulink" href="" target="_top"><dsig:SignatureValue/></a>
<dsig:KeyInfo>
- <a href="http://www.w3.org/TR/xmldsig-core/#sec-X509Data" target="_top"><dsig:X509Data/></a>
+ <a class="ulink" href="" target="_top"><dsig:X509Data/></a>
</dsig:KeyInfo>
</dsig:Signature>
<Status>
@@ -615,16 +583,14 @@ Sign it using the following command (replace __ with double dashes):
<AuthorityBinding AuthorityKind="samlp:AttributeQuery" Binding="urn:oasis:names:tc:SAML:1.0:bindings:SOAP-binding" Location="https://aa.osu.edu/"/>
</AuthenticationStatement>
</Assertion>
-</Response></pre>
-<p></p>
+</Response>
+</pre></div>
</div>
-</div>
-<br clear="all"><div class="SECT2">
-<h2 class="SECT2"><a name="XMLSEC-EXAMPLE-VERIFY4-BAD-RES">verify4-bad-res.xml</a></h2>
-<p></p>
-<div class="INFORMALEXAMPLE">
-<p></p>
-<a name="AEN750"></a><pre class="PROGRAMLISTING"><?xml version="1.0" encoding="UTF-8"?>
+<div class="sect2">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="xmlsec-example-verify4-bad-res"></a>verify4-bad-res.xml</h3></div></div></div>
+<div class="informalexample"><pre class="programlisting">
+<?xml version="1.0" encoding="UTF-8"?>
<!--
XML Security Library example: A simple bad SAML response (verify4 example).
@@ -713,15 +679,12 @@ NJ2D</X509Certificate>
<AuthorityBinding AuthorityKind="samlp:AttributeQuery" Binding="urn:oasis:names:tc:SAML:1.0:bindings:SOAP-binding" Location="https://aa.osu.edu/"/>
</AuthenticationStatement>
</Assertion>
-</Response></pre>
-<p></p>
-</div>
+</Response>
+</pre></div>
</div>
</div>
-<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td align="left"><a accesskey="p" href="xmlsec-verify-with-x509.html"><b><<< Verifying a signature with X509 certificates.</b></a></td>
-<td align="right"><a accesskey="n" href="xmlsec-encrypt-template-file.html"><b>Encrypting data with a template file. >>></b></a></td>
-</tr></table>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
</td></tr></table></td>
</tr></table></body>
</html>
diff --git a/docs/api/xmlsec-verify-with-x509.html b/docs/api/xmlsec-verify-with-x509.html
index 8b571b6..4b3078f 100644
--- a/docs/api/xmlsec-verify-with-x509.html
+++ b/docs/api/xmlsec-verify-with-x509.html
@@ -1,41 +1,14 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Verifying a signature with X509 certificates.</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79">
-<link rel="HOME" title="XML Security Library Reference Manual" href="index.html">
-<link rel="UP" title="Examples." href="xmlsec-examples.html">
-<link rel="PREVIOUS" title="Verifying a signature with keys manager." href="xmlsec-verify-with-keys-mngr.html">
-<link rel="NEXT" title="Verifying a signature with additional restrictions." href="xmlsec-verify-with-restrictions.html">
-<style type="text/css">.synopsis, .classsynopsis {
- background: #eeeeee;
- border: solid 1px #aaaaaa;
- padding: 0.5em;
-}
-.programlisting {
- background: #eeeeff;
- border: solid 1px #aaaaff;
- padding: 0.5em;
-}
-.variablelist {
- padding: 4px;
- margin-left: 3em;
-}
-.navigation {
- background: #ffeeee;
- border: solid 1px #ffaaaa;
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
-.navigation a {
- color: #770000;
-}
-.navigation a:visited {
- color: #550000;
-}
-.navigation .title {
- font-size: 200%;
-}</style>
+<title>Verifying a signature with X509 certificates.: XML Security Library Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="XML Security Library Reference Manual">
+<link rel="up" href="xmlsec-examples.html" title="Examples.">
+<link rel="prev" href="xmlsec-verify-with-keys-mngr.html" title="Verifying a signature with keys manager.">
+<link rel="next" href="xmlsec-verify-with-restrictions.html" title="Verifying a signature with additional restrictions.">
+<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
<style type="text/css">
table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
width: 20em;
@@ -100,21 +73,21 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
</table>
</td>
<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent">
-<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td><a accesskey="p" href="xmlsec-verify-with-keys-mngr.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="xmlsec-examples.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<th width="100%" align="center">XML Security Library Reference Manual</th>
+<td><a accesskey="u" href="xmlsec-examples.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="xmlsec-verify-with-keys-mngr.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="xmlsec-verify-with-restrictions.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
-<br clear="all"><div class="SECT1">
-<h1 class="SECT1"><a name="XMLSEC-VERIFY-WITH-X509">Verifying a signature with X509 certificates.</a></h1>
-<br clear="all"><div class="SECT2">
-<h2 class="SECT2"><a name="XMLSEC-EXAMPLE-VERIFY3">verify3.c</a></h2>
-<p></p>
-<div class="INFORMALEXAMPLE">
-<p></p>
-<a name="AEN716"></a><pre class="PROGRAMLISTING">/**
+<div class="sect1">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="xmlsec-verify-with-x509"></a>Verifying a signature with X509 certificates.</h2></div></div></div>
+<div class="sect2">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="xmlsec-example-verify3"></a>verify3.c</h3></div></div></div>
+<div class="informalexample"><pre class="programlisting">
+/**
* XML Security Library example: Verifying a file signed with X509 certificate
*
* Verifies a file signed with X509 certificate.
@@ -378,15 +351,13 @@ done:
}
return(res);
}
-
</pre>
-<p></p>
-</div>
+
+
+</pre></div>
</div>
</div>
-<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td align="left"><a accesskey="p" href="xmlsec-verify-with-keys-mngr.html"><b><<< Verifying a signature with keys manager.</b></a></td>
-<td align="right"><a accesskey="n" href="xmlsec-verify-with-restrictions.html"><b>Verifying a signature with additional restrictions. >>></b></a></td>
-</tr></table>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
</td></tr></table></td>
</tr></table></body>
</html>
diff --git a/docs/api/xmlsec-version.html b/docs/api/xmlsec-version.html
index 476bef0..a8b2323 100644
--- a/docs/api/xmlsec-version.html
+++ b/docs/api/xmlsec-version.html
@@ -1,41 +1,14 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>version</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79">
-<link rel="HOME" title="XML Security Library Reference Manual" href="index.html">
-<link rel="UP" title="XML Security Core Library API Reference." href="xmlsec-ref.html">
-<link rel="PREVIOUS" title="transforms" href="xmlsec-transforms.html">
-<link rel="NEXT" title="xmldsig" href="xmlsec-xmldsig.html">
-<style type="text/css">.synopsis, .classsynopsis {
- background: #eeeeee;
- border: solid 1px #aaaaaa;
- padding: 0.5em;
-}
-.programlisting {
- background: #eeeeff;
- border: solid 1px #aaaaff;
- padding: 0.5em;
-}
-.variablelist {
- padding: 4px;
- margin-left: 3em;
-}
-.navigation {
- background: #ffeeee;
- border: solid 1px #ffaaaa;
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
-.navigation a {
- color: #770000;
-}
-.navigation a:visited {
- color: #550000;
-}
-.navigation .title {
- font-size: 200%;
-}</style>
+<title>version: XML Security Library Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="XML Security Library Reference Manual">
+<link rel="up" href="xmlsec-ref.html" title="XML Security Core Library API Reference.">
+<link rel="prev" href="xmlsec-transforms.html" title="transforms">
+<link rel="next" href="xmlsec-xmldsig.html" title="xmldsig">
+<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
<style type="text/css">
table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
width: 20em;
@@ -100,96 +73,108 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
</table>
</td>
<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent">
-<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td><a accesskey="p" href="xmlsec-transforms.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="xmlsec-ref.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description"> <span class="dim">|</span>
+ <a href="#xmlsec-version.description" class="shortcut">Description</a></span>
+</td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<th width="100%" align="center">XML Security Library Reference Manual</th>
+<td><a accesskey="u" href="xmlsec-ref.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="xmlsec-transforms.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="xmlsec-xmldsig.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
-<h1>
-<a name="XMLSEC-VERSION"></a>version</h1>
-<div class="REFNAMEDIV">
-<a name="AEN23674"></a><h2>Name</h2>version -- Version macros.</div>
-<div class="REFSECT1">
-<a name="XMLSEC-VERSION.OTHER"></a><h2>Types and Values</h2>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN23679"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
+<div class="refentry">
+<a name="xmlsec-version"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="xmlsec-version.top_of_page"></a>version</span></h2>
+<p>version — Version macros.</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="xmlsec-version.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
<tbody>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-version.html#XMLSEC-VERSION:CAPS">XMLSEC_VERSION</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-version.html#XMLSEC-VERSION:CAPS" title="XMLSEC_VERSION">XMLSEC_VERSION</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-version.html#XMLSEC-VERSION-MAJOR:CAPS">XMLSEC_VERSION_MAJOR</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-version.html#XMLSEC-VERSION-MAJOR:CAPS" title="XMLSEC_VERSION_MAJOR">XMLSEC_VERSION_MAJOR</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-version.html#XMLSEC-VERSION-MINOR:CAPS">XMLSEC_VERSION_MINOR</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-version.html#XMLSEC-VERSION-MINOR:CAPS" title="XMLSEC_VERSION_MINOR">XMLSEC_VERSION_MINOR</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-version.html#XMLSEC-VERSION-SUBMINOR:CAPS">XMLSEC_VERSION_SUBMINOR</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-version.html#XMLSEC-VERSION-SUBMINOR:CAPS" title="XMLSEC_VERSION_SUBMINOR">XMLSEC_VERSION_SUBMINOR</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-version.html#XMLSEC-VERSION-INFO:CAPS">XMLSEC_VERSION_INFO</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-version.html#XMLSEC-VERSION-INFO:CAPS" title="XMLSEC_VERSION_INFO">XMLSEC_VERSION_INFO</a></td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
+<div class="refsect1">
+<a name="xmlsec-version.description"></a><h2>Description</h2>
+<p>
+Version macros.
+</p>
</div>
-<div class="REFSECT1">
-<a name="XMLSEC-VERSION.DESCRIPTION"></a><h2>Description</h2>
-<p>Version macros.</p>
-</div>
-<div class="REFSECT1">
-<a name="XMLSEC-VERSION.FUNCTIONS_DETAILS"></a><h2>Functions</h2>
+<div class="refsect1">
+<a name="xmlsec-version.functions_details"></a><h2>Functions</h2>
<p></p>
</div>
-<div class="REFSECT1">
-<a name="XMLSEC-VERSION.OTHER_DETAILS"></a><h2>Types and Values</h2>
-<div class="REFSECT2">
+<div class="refsect1">
+<a name="xmlsec-version.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
<a name="XMLSEC-VERSION:CAPS"></a><h3>XMLSEC_VERSION</h3>
-<pre class="PROGRAMLISTING">#define XMLSEC_VERSION "1.2.23"</pre>
+<pre class="programlisting">#define XMLSEC_VERSION "1.2.24"
+</pre>
<p>The library version string in the format
-"<major-number>.<minor-number>.<sub-minor-number>".</p>
+"$major_number.$minor_number.$sub_minor_number".</p>
</div>
<hr>
-<div class="REFSECT2">
+<div class="refsect2">
<a name="XMLSEC-VERSION-MAJOR:CAPS"></a><h3>XMLSEC_VERSION_MAJOR</h3>
-<pre class="PROGRAMLISTING">#define XMLSEC_VERSION_MAJOR 1</pre>
+<pre class="programlisting">#define XMLSEC_VERSION_MAJOR 1
+</pre>
<p>The library major version number.</p>
</div>
<hr>
-<div class="REFSECT2">
+<div class="refsect2">
<a name="XMLSEC-VERSION-MINOR:CAPS"></a><h3>XMLSEC_VERSION_MINOR</h3>
-<pre class="PROGRAMLISTING">#define XMLSEC_VERSION_MINOR 2</pre>
+<pre class="programlisting">#define XMLSEC_VERSION_MINOR 2
+</pre>
<p>The library minor version number.</p>
</div>
<hr>
-<div class="REFSECT2">
+<div class="refsect2">
<a name="XMLSEC-VERSION-SUBMINOR:CAPS"></a><h3>XMLSEC_VERSION_SUBMINOR</h3>
-<pre class="PROGRAMLISTING">#define XMLSEC_VERSION_SUBMINOR 23</pre>
+<pre class="programlisting">#define XMLSEC_VERSION_SUBMINOR 24
+</pre>
<p>The library sub-minor version number.</p>
</div>
<hr>
-<div class="REFSECT2">
+<div class="refsect2">
<a name="XMLSEC-VERSION-INFO:CAPS"></a><h3>XMLSEC_VERSION_INFO</h3>
-<pre class="PROGRAMLISTING">#define XMLSEC_VERSION_INFO "3:23:2"</pre>
+<pre class="programlisting">#define XMLSEC_VERSION_INFO "3:24:2"
+</pre>
<p>The library version info string in the format
-"<major-number>+<minor-number>:<sub-minor-number>:<minor-number>".</p>
+"$major_number+$minor_number:$sub_minor_number:$minor_number".</p>
</div>
</div>
-<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td align="left"><a accesskey="p" href="xmlsec-transforms.html"><b><<< transforms</b></a></td>
-<td align="right"><a accesskey="n" href="xmlsec-xmldsig.html"><b>xmldsig >>></b></a></td>
-</tr></table>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
</td></tr></table></td>
</tr></table></body>
</html>
diff --git a/docs/api/xmlsec-x509.html b/docs/api/xmlsec-x509.html
index 312aec4..4cb327c 100644
--- a/docs/api/xmlsec-x509.html
+++ b/docs/api/xmlsec-x509.html
@@ -1,41 +1,14 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>x509</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79">
-<link rel="HOME" title="XML Security Library Reference Manual" href="index.html">
-<link rel="UP" title="XML Security Core Library API Reference." href="xmlsec-ref.html">
-<link rel="PREVIOUS" title="xmltree" href="xmlsec-xmltree.html">
-<link rel="NEXT" title="XML Security Library for OpenSLL API Reference." href="xmlsec-openssl-ref.html">
-<style type="text/css">.synopsis, .classsynopsis {
- background: #eeeeee;
- border: solid 1px #aaaaaa;
- padding: 0.5em;
-}
-.programlisting {
- background: #eeeeff;
- border: solid 1px #aaaaff;
- padding: 0.5em;
-}
-.variablelist {
- padding: 4px;
- margin-left: 3em;
-}
-.navigation {
- background: #ffeeee;
- border: solid 1px #ffaaaa;
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
-.navigation a {
- color: #770000;
-}
-.navigation a:visited {
- color: #550000;
-}
-.navigation .title {
- font-size: 200%;
-}</style>
+<title>x509: XML Security Library Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="XML Security Library Reference Manual">
+<link rel="up" href="xmlsec-ref.html" title="XML Security Core Library API Reference.">
+<link rel="prev" href="xmlsec-xmltree.html" title="xmltree">
+<link rel="next" href="xmlsec-openssl-ref.html" title="XML Security Library for OpenSLL API Reference.">
+<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
<style type="text/css">
table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
width: 20em;
@@ -100,158 +73,168 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
</table>
</td>
<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent">
-<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td><a accesskey="p" href="xmlsec-xmltree.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="xmlsec-ref.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description"> <span class="dim">|</span>
+ <a href="#xmlsec-x509.description" class="shortcut">Description</a></span>
+</td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<th width="100%" align="center">XML Security Library Reference Manual</th>
+<td><a accesskey="u" href="xmlsec-ref.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="xmlsec-xmltree.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="xmlsec-openssl-ref.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
-<h1>
-<a name="XMLSEC-X509"></a>x509</h1>
-<div class="REFNAMEDIV">
-<a name="AEN28797"></a><h2>Name</h2>x509 -- <a href="http://www.w3.org/TR/xmldsig-core/#sec-X509Certificate" target="_top"><dsig:X509Certificate/></a> node parser.</div>
-<div class="REFSECT1">
-<a name="XMLSEC-X509.FUNCTIONS"></a><h2>Functions</h2>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN28803"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
+<div class="refentry">
+<a name="xmlsec-x509"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="xmlsec-x509.top_of_page"></a>x509</span></h2>
+<p>x509 — <dsig:X509Certificate/> node parser.</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="xmlsec-x509.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
<tbody><tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-x509.html#XMLSECX509DATAGETNODECONTENT">xmlSecX509DataGetNodeContent</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-x509.html#xmlSecX509DataGetNodeContent" title="xmlSecX509DataGetNodeContent ()">xmlSecX509DataGetNodeContent</a> <span class="c_punctuation">()</span>
</td>
</tr></tbody>
-</table>
-<p></p>
-</div>
-</div>
-<div class="REFSECT1">
-<a name="XMLSEC-X509.OTHER"></a><h2>Types and Values</h2>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN28815"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="xmlsec-x509.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
<tbody>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-x509.html#XMLSEC-X509DATA-CERTIFICATE-NODE:CAPS">XMLSEC_X509DATA_CERTIFICATE_NODE</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-x509.html#XMLSEC-X509DATA-CERTIFICATE-NODE:CAPS" title="XMLSEC_X509DATA_CERTIFICATE_NODE">XMLSEC_X509DATA_CERTIFICATE_NODE</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-x509.html#XMLSEC-X509DATA-SUBJECTNAME-NODE:CAPS">XMLSEC_X509DATA_SUBJECTNAME_NODE</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-x509.html#XMLSEC-X509DATA-SUBJECTNAME-NODE:CAPS" title="XMLSEC_X509DATA_SUBJECTNAME_NODE">XMLSEC_X509DATA_SUBJECTNAME_NODE</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-x509.html#XMLSEC-X509DATA-ISSUERSERIAL-NODE:CAPS">XMLSEC_X509DATA_ISSUERSERIAL_NODE</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-x509.html#XMLSEC-X509DATA-ISSUERSERIAL-NODE:CAPS" title="XMLSEC_X509DATA_ISSUERSERIAL_NODE">XMLSEC_X509DATA_ISSUERSERIAL_NODE</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-x509.html#XMLSEC-X509DATA-SKI-NODE:CAPS">XMLSEC_X509DATA_SKI_NODE</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-x509.html#XMLSEC-X509DATA-SKI-NODE:CAPS" title="XMLSEC_X509DATA_SKI_NODE">XMLSEC_X509DATA_SKI_NODE</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-x509.html#XMLSEC-X509DATA-CRL-NODE:CAPS">XMLSEC_X509DATA_CRL_NODE</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-x509.html#XMLSEC-X509DATA-CRL-NODE:CAPS" title="XMLSEC_X509DATA_CRL_NODE">XMLSEC_X509DATA_CRL_NODE</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-x509.html#XMLSEC-X509DATA-DEFAULT:CAPS">XMLSEC_X509DATA_DEFAULT</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-x509.html#XMLSEC-X509DATA-DEFAULT:CAPS" title="XMLSEC_X509DATA_DEFAULT">XMLSEC_X509DATA_DEFAULT</a></td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
-</div>
-<div class="REFSECT1">
-<a name="XMLSEC-X509.DESCRIPTION"></a><h2>Description</h2>
-<p><a href="http://www.w3.org/TR/xmldsig-core/#sec-X509Certificate" target="_top"><dsig:X509Certificate/></a> node parser.</p>
-</div>
-<div class="REFSECT1">
-<a name="XMLSEC-X509.FUNCTIONS_DETAILS"></a><h2>Functions</h2>
-<div class="REFSECT2">
-<a name="XMLSECX509DATAGETNODECONTENT"></a><h3>xmlSecX509DataGetNodeContent ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecX509DataGetNodeContent (<code class="PARAMETER"><font><span class="TYPE">xmlNodePtr</span></font> node</code>,
- <code class="PARAMETER"><a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTX"><span class="TYPE">xmlSecKeyInfoCtxPtr</span></a> keyInfoCtx</code>);</pre>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="xmlsec-x509.description"></a><h2>Description</h2>
+<p>
+<dsig:X509Certificate/> node parser.
+</p>
+</div>
+<div class="refsect1">
+<a name="xmlsec-x509.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="xmlSecX509DataGetNodeContent"></a><h3>xmlSecX509DataGetNodeContent ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecX509DataGetNodeContent (<em class="parameter"><code><font><span class="type">xmlNodePtr</span></font> node</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlSecKeyInfoCtxPtr</span></font> keyInfoCtx</code></em>);</pre>
<p>Reads the contents of <dsig:X509Data/> node and returns it as
a bits mask.</p>
-<div class="REFSECT3">
-<a name="AEN28862"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN28864"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecX509DataGetNodeContent.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>node</p></td>
-<td><p>the pointer to <dsig:X509Data/> node.</p></td>
-<td> </td>
+<td class="parameter_name"><p>node</p></td>
+<td class="parameter_description"><p>the pointer to <dsig:X509Data/> node.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>keyInfoCtx</p></td>
-<td><p>the pointer to <dsig:KeyInfo/> node processing context.</p></td>
-<td> </td>
+<td class="parameter_name"><p>keyInfoCtx</p></td>
+<td class="parameter_description"><p>the pointer to <dsig:KeyInfo/> node processing context.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN28879"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecX509DataGetNodeContent.returns"></a><h4>Returns</h4>
<p> the bit mask representing the <dsig:X509Data/> node content
or a negative value if an error occurs.</p>
</div>
</div>
</div>
-<div class="REFSECT1">
-<a name="XMLSEC-X509.OTHER_DETAILS"></a><h2>Types and Values</h2>
-<div class="REFSECT2">
+<div class="refsect1">
+<a name="xmlsec-x509.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
<a name="XMLSEC-X509DATA-CERTIFICATE-NODE:CAPS"></a><h3>XMLSEC_X509DATA_CERTIFICATE_NODE</h3>
-<pre class="PROGRAMLISTING">#define XMLSEC_X509DATA_CERTIFICATE_NODE 0x00000001</pre>
+<pre class="programlisting">#define XMLSEC_X509DATA_CERTIFICATE_NODE 0x00000001
+</pre>
<p><dsig:X509Certificate/> node found or would be written back.</p>
</div>
<hr>
-<div class="REFSECT2">
+<div class="refsect2">
<a name="XMLSEC-X509DATA-SUBJECTNAME-NODE:CAPS"></a><h3>XMLSEC_X509DATA_SUBJECTNAME_NODE</h3>
-<pre class="PROGRAMLISTING">#define XMLSEC_X509DATA_SUBJECTNAME_NODE 0x00000002</pre>
+<pre class="programlisting">#define XMLSEC_X509DATA_SUBJECTNAME_NODE 0x00000002
+</pre>
<p><dsig:X509SubjectName/> node found or would be written back.</p>
</div>
<hr>
-<div class="REFSECT2">
+<div class="refsect2">
<a name="XMLSEC-X509DATA-ISSUERSERIAL-NODE:CAPS"></a><h3>XMLSEC_X509DATA_ISSUERSERIAL_NODE</h3>
-<pre class="PROGRAMLISTING">#define XMLSEC_X509DATA_ISSUERSERIAL_NODE 0x00000004</pre>
+<pre class="programlisting">#define XMLSEC_X509DATA_ISSUERSERIAL_NODE 0x00000004
+</pre>
<p><dsig:X509IssuerSerial/> node found or would be written back.</p>
</div>
<hr>
-<div class="REFSECT2">
+<div class="refsect2">
<a name="XMLSEC-X509DATA-SKI-NODE:CAPS"></a><h3>XMLSEC_X509DATA_SKI_NODE</h3>
-<pre class="PROGRAMLISTING">#define XMLSEC_X509DATA_SKI_NODE 0x00000008</pre>
+<pre class="programlisting">#define XMLSEC_X509DATA_SKI_NODE 0x00000008
+</pre>
<p><dsig:X509SKI/> node found or would be written back.</p>
</div>
<hr>
-<div class="REFSECT2">
+<div class="refsect2">
<a name="XMLSEC-X509DATA-CRL-NODE:CAPS"></a><h3>XMLSEC_X509DATA_CRL_NODE</h3>
-<pre class="PROGRAMLISTING">#define XMLSEC_X509DATA_CRL_NODE 0x00000010</pre>
+<pre class="programlisting">#define XMLSEC_X509DATA_CRL_NODE 0x00000010
+</pre>
<p><dsig:X509CRL/> node found or would be written back.</p>
</div>
<hr>
-<div class="REFSECT2">
+<div class="refsect2">
<a name="XMLSEC-X509DATA-DEFAULT:CAPS"></a><h3>XMLSEC_X509DATA_DEFAULT</h3>
-<pre class="PROGRAMLISTING">#define XMLSEC_X509DATA_DEFAULT</pre>
+<pre class="programlisting">#define XMLSEC_X509DATA_DEFAULT</pre>
<p>Default set of nodes to write in case of empty
<dsig:X509Data/> node template.</p>
</div>
</div>
-<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td align="left"><a accesskey="p" href="xmlsec-xmltree.html"><b><<< xmltree</b></a></td>
-<td align="right"><a accesskey="n" href="xmlsec-openssl-ref.html"><b>XML Security Library for OpenSLL API Reference. >>></b></a></td>
-</tr></table>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
</td></tr></table></td>
</tr></table></body>
</html>
diff --git a/docs/api/xmlsec-xmldsig.html b/docs/api/xmlsec-xmldsig.html
index 14b176e..bada3e0 100644
--- a/docs/api/xmlsec-xmldsig.html
+++ b/docs/api/xmlsec-xmldsig.html
@@ -1,41 +1,14 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>xmldsig</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79">
-<link rel="HOME" title="XML Security Library Reference Manual" href="index.html">
-<link rel="UP" title="XML Security Core Library API Reference." href="xmlsec-ref.html">
-<link rel="PREVIOUS" title="version" href="xmlsec-version.html">
-<link rel="NEXT" title="xmlenc" href="xmlsec-xmlenc.html">
-<style type="text/css">.synopsis, .classsynopsis {
- background: #eeeeee;
- border: solid 1px #aaaaaa;
- padding: 0.5em;
-}
-.programlisting {
- background: #eeeeff;
- border: solid 1px #aaaaff;
- padding: 0.5em;
-}
-.variablelist {
- padding: 4px;
- margin-left: 3em;
-}
-.navigation {
- background: #ffeeee;
- border: solid 1px #ffaaaa;
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
-.navigation a {
- color: #770000;
-}
-.navigation a:visited {
- color: #550000;
-}
-.navigation .title {
- font-size: 200%;
-}</style>
+<title>xmldsig: XML Security Library Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="XML Security Library Reference Manual">
+<link rel="up" href="xmlsec-ref.html" title="XML Security Core Library API Reference.">
+<link rel="prev" href="xmlsec-version.html" title="version">
+<link rel="next" href="xmlsec-xmlenc.html" title="xmlenc">
+<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
<style type="text/css">
table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
width: 20em;
@@ -100,713 +73,729 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
</table>
</td>
<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent">
-<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td><a accesskey="p" href="xmlsec-version.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="xmlsec-ref.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description"> <span class="dim">|</span>
+ <a href="#xmlsec-xmldsig.description" class="shortcut">Description</a></span>
+</td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<th width="100%" align="center">XML Security Library Reference Manual</th>
+<td><a accesskey="u" href="xmlsec-ref.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="xmlsec-version.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="xmlsec-xmlenc.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
-<h1>
-<a name="XMLSEC-XMLDSIG"></a>xmldsig</h1>
-<div class="REFNAMEDIV">
-<a name="AEN23745"></a><h2>Name</h2>xmldsig -- XML Digital Signature support.</div>
-<div class="REFSECT1">
-<a name="XMLSEC-XMLDSIG.FUNCTIONS"></a><h2>Functions</h2>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN23750"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
+<div class="refentry">
+<a name="xmlsec-xmldsig"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="xmlsec-xmldsig.top_of_page"></a>xmldsig</span></h2>
+<p>xmldsig — XML Digital Signature support.</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="xmlsec-xmldsig.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
<tbody>
<tr>
-<td><a href="xmlsec-xmldsig.html#XMLSECDSIGCTX"><span class="RETURNVALUE">xmlSecDSigCtxPtr</span></a></td>
-<td>
-<a href="xmlsec-xmldsig.html#XMLSECDSIGCTXCREATE">xmlSecDSigCtxCreate</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecDSigCtxPtr</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-xmldsig.html#xmlSecDSigCtxCreate" title="xmlSecDSigCtxCreate ()">xmlSecDSigCtxCreate</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">void</span></font></td>
-<td>
-<a href="xmlsec-xmldsig.html#XMLSECDSIGCTXDESTROY">xmlSecDSigCtxDestroy</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">void</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-xmldsig.html#xmlSecDSigCtxDestroy" title="xmlSecDSigCtxDestroy ()">xmlSecDSigCtxDestroy</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-xmldsig.html#XMLSECDSIGCTXINITIALIZE">xmlSecDSigCtxInitialize</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-xmldsig.html#xmlSecDSigCtxInitialize" title="xmlSecDSigCtxInitialize ()">xmlSecDSigCtxInitialize</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">void</span></font></td>
-<td>
-<a href="xmlsec-xmldsig.html#XMLSECDSIGCTXFINALIZE">xmlSecDSigCtxFinalize</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">void</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-xmldsig.html#xmlSecDSigCtxFinalize" title="xmlSecDSigCtxFinalize ()">xmlSecDSigCtxFinalize</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-xmldsig.html#XMLSECDSIGCTXSIGN">xmlSecDSigCtxSign</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-xmldsig.html#xmlSecDSigCtxSign" title="xmlSecDSigCtxSign ()">xmlSecDSigCtxSign</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-xmldsig.html#XMLSECDSIGCTXVERIFY">xmlSecDSigCtxVerify</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-xmldsig.html#xmlSecDSigCtxVerify" title="xmlSecDSigCtxVerify ()">xmlSecDSigCtxVerify</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-xmldsig.html#XMLSECDSIGCTXENABLEREFERENCETRANSFORM">xmlSecDSigCtxEnableReferenceTransform</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-xmldsig.html#xmlSecDSigCtxEnableReferenceTransform" title="xmlSecDSigCtxEnableReferenceTransform ()">xmlSecDSigCtxEnableReferenceTransform</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-xmldsig.html#XMLSECDSIGCTXENABLESIGNATURETRANSFORM">xmlSecDSigCtxEnableSignatureTransform</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-xmldsig.html#xmlSecDSigCtxEnableSignatureTransform" title="xmlSecDSigCtxEnableSignatureTransform ()">xmlSecDSigCtxEnableSignatureTransform</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><a href="xmlsec-buffer.html#XMLSECBUFFER"><span class="RETURNVALUE">xmlSecBufferPtr</span></a></td>
-<td>
-<a href="xmlsec-xmldsig.html#XMLSECDSIGCTXGETPRESIGNBUFFER">xmlSecDSigCtxGetPreSignBuffer</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecBufferPtr</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-xmldsig.html#xmlSecDSigCtxGetPreSignBuffer" title="xmlSecDSigCtxGetPreSignBuffer ()">xmlSecDSigCtxGetPreSignBuffer</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">void</span></font></td>
-<td>
-<a href="xmlsec-xmldsig.html#XMLSECDSIGCTXDEBUGDUMP">xmlSecDSigCtxDebugDump</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">void</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-xmldsig.html#xmlSecDSigCtxDebugDump" title="xmlSecDSigCtxDebugDump ()">xmlSecDSigCtxDebugDump</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">void</span></font></td>
-<td>
-<a href="xmlsec-xmldsig.html#XMLSECDSIGCTXDEBUGXMLDUMP">xmlSecDSigCtxDebugXmlDump</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">void</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-xmldsig.html#xmlSecDSigCtxDebugXmlDump" title="xmlSecDSigCtxDebugXmlDump ()">xmlSecDSigCtxDebugXmlDump</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><a href="xmlsec-xmldsig.html#XMLSECDSIGREFERENCECTX"><span class="RETURNVALUE">xmlSecDSigReferenceCtxPtr</span></a></td>
-<td>
-<a href="xmlsec-xmldsig.html#XMLSECDSIGREFERENCECTXCREATE">xmlSecDSigReferenceCtxCreate</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecDSigReferenceCtxPtr</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-xmldsig.html#xmlSecDSigReferenceCtxCreate" title="xmlSecDSigReferenceCtxCreate ()">xmlSecDSigReferenceCtxCreate</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">void</span></font></td>
-<td>
-<a href="xmlsec-xmldsig.html#XMLSECDSIGREFERENCECTXDESTROY">xmlSecDSigReferenceCtxDestroy</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">void</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-xmldsig.html#xmlSecDSigReferenceCtxDestroy" title="xmlSecDSigReferenceCtxDestroy ()">xmlSecDSigReferenceCtxDestroy</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-xmldsig.html#XMLSECDSIGREFERENCECTXINITIALIZE">xmlSecDSigReferenceCtxInitialize</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-xmldsig.html#xmlSecDSigReferenceCtxInitialize" title="xmlSecDSigReferenceCtxInitialize ()">xmlSecDSigReferenceCtxInitialize</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">void</span></font></td>
-<td>
-<a href="xmlsec-xmldsig.html#XMLSECDSIGREFERENCECTXFINALIZE">xmlSecDSigReferenceCtxFinalize</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">void</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-xmldsig.html#xmlSecDSigReferenceCtxFinalize" title="xmlSecDSigReferenceCtxFinalize ()">xmlSecDSigReferenceCtxFinalize</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-xmldsig.html#XMLSECDSIGREFERENCECTXPROCESSNODE">xmlSecDSigReferenceCtxProcessNode</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-xmldsig.html#xmlSecDSigReferenceCtxProcessNode" title="xmlSecDSigReferenceCtxProcessNode ()">xmlSecDSigReferenceCtxProcessNode</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><a href="xmlsec-buffer.html#XMLSECBUFFER"><span class="RETURNVALUE">xmlSecBufferPtr</span></a></td>
-<td>
-<a href="xmlsec-xmldsig.html#XMLSECDSIGREFERENCECTXGETPREDIGESTBUFFER">xmlSecDSigReferenceCtxGetPreDigestBuffer</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecBufferPtr</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-xmldsig.html#xmlSecDSigReferenceCtxGetPreDigestBuffer" title="xmlSecDSigReferenceCtxGetPreDigestBuffer ()">xmlSecDSigReferenceCtxGetPreDigestBuffer</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">void</span></font></td>
-<td>
-<a href="xmlsec-xmldsig.html#XMLSECDSIGREFERENCECTXDEBUGDUMP">xmlSecDSigReferenceCtxDebugDump</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">void</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-xmldsig.html#xmlSecDSigReferenceCtxDebugDump" title="xmlSecDSigReferenceCtxDebugDump ()">xmlSecDSigReferenceCtxDebugDump</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">void</span></font></td>
-<td>
-<a href="xmlsec-xmldsig.html#XMLSECDSIGREFERENCECTXDEBUGXMLDUMP">xmlSecDSigReferenceCtxDebugXmlDump</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">void</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-xmldsig.html#xmlSecDSigReferenceCtxDebugXmlDump" title="xmlSecDSigReferenceCtxDebugXmlDump ()">xmlSecDSigReferenceCtxDebugXmlDump</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecPtrListId</span></font></td>
-<td>
-<a href="xmlsec-xmldsig.html#XMLSECDSIGREFERENCECTXLISTGETKLASS">xmlSecDSigReferenceCtxListGetKlass</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecPtrListId</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-xmldsig.html#xmlSecDSigReferenceCtxListGetKlass" title="xmlSecDSigReferenceCtxListGetKlass ()">xmlSecDSigReferenceCtxListGetKlass</a> <span class="c_punctuation">()</span>
</td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
-</div>
-<div class="REFSECT1">
-<a name="XMLSEC-XMLDSIG.OTHER"></a><h2>Types and Values</h2>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN23895"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="xmlsec-xmldsig.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
<tbody>
<tr>
-<td>enum</td>
-<td><a href="xmlsec-xmldsig.html#XMLSECDSIGSTATUS">xmlSecDSigStatus</a></td>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="xmlsec-xmldsig.html#xmlSecDSigStatus" title="enum xmlSecDSigStatus">xmlSecDSigStatus</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-xmldsig.html#XMLSEC-DSIG-FLAGS-IGNORE-MANIFESTS:CAPS">XMLSEC_DSIG_FLAGS_IGNORE_MANIFESTS</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-xmldsig.html#XMLSEC-DSIG-FLAGS-IGNORE-MANIFESTS:CAPS" title="XMLSEC_DSIG_FLAGS_IGNORE_MANIFESTS">XMLSEC_DSIG_FLAGS_IGNORE_MANIFESTS</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-xmldsig.html#XMLSEC-DSIG-FLAGS-STORE-SIGNEDINFO-REFERENCES:CAPS">XMLSEC_DSIG_FLAGS_STORE_SIGNEDINFO_REFERENCES</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-xmldsig.html#XMLSEC-DSIG-FLAGS-STORE-SIGNEDINFO-REFERENCES:CAPS" title="XMLSEC_DSIG_FLAGS_STORE_SIGNEDINFO_REFERENCES">XMLSEC_DSIG_FLAGS_STORE_SIGNEDINFO_REFERENCES</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-xmldsig.html#XMLSEC-DSIG-FLAGS-STORE-MANIFEST-REFERENCES:CAPS">XMLSEC_DSIG_FLAGS_STORE_MANIFEST_REFERENCES</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-xmldsig.html#XMLSEC-DSIG-FLAGS-STORE-MANIFEST-REFERENCES:CAPS" title="XMLSEC_DSIG_FLAGS_STORE_MANIFEST_REFERENCES">XMLSEC_DSIG_FLAGS_STORE_MANIFEST_REFERENCES</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-xmldsig.html#XMLSEC-DSIG-FLAGS-STORE-SIGNATURE:CAPS">XMLSEC_DSIG_FLAGS_STORE_SIGNATURE</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-xmldsig.html#XMLSEC-DSIG-FLAGS-STORE-SIGNATURE:CAPS" title="XMLSEC_DSIG_FLAGS_STORE_SIGNATURE">XMLSEC_DSIG_FLAGS_STORE_SIGNATURE</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-xmldsig.html#XMLSEC-DSIG-FLAGS-USE-VISA3D-HACK:CAPS">XMLSEC_DSIG_FLAGS_USE_VISA3D_HACK</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-xmldsig.html#XMLSEC-DSIG-FLAGS-USE-VISA3D-HACK:CAPS" title="XMLSEC_DSIG_FLAGS_USE_VISA3D_HACK">XMLSEC_DSIG_FLAGS_USE_VISA3D_HACK</a></td>
</tr>
<tr>
-<td>struct</td>
-<td><a href="xmlsec-xmldsig.html#XMLSECDSIGCTX">xmlSecDSigCtx</a></td>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="xmlsec-xmldsig.html#xmlSecDSigCtx" title="struct xmlSecDSigCtx">xmlSecDSigCtx</a></td>
</tr>
<tr>
-<td>enum</td>
-<td><a href="xmlsec-xmldsig.html#XMLSECDSIGREFERENCEORIGIN">xmlSecDSigReferenceOrigin</a></td>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="xmlsec-xmldsig.html#xmlSecDSigReferenceOrigin" title="enum xmlSecDSigReferenceOrigin">xmlSecDSigReferenceOrigin</a></td>
</tr>
<tr>
-<td>struct</td>
-<td><a href="xmlsec-xmldsig.html#XMLSECDSIGREFERENCECTX">xmlSecDSigReferenceCtx</a></td>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="xmlsec-xmldsig.html#xmlSecDSigReferenceCtx" title="struct xmlSecDSigReferenceCtx">xmlSecDSigReferenceCtx</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-xmldsig.html#XMLSECDSIGREFERENCECTXLISTID">xmlSecDSigReferenceCtxListId</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-xmldsig.html#xmlSecDSigReferenceCtxListId" title="xmlSecDSigReferenceCtxListId">xmlSecDSigReferenceCtxListId</a></td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
-</div>
-<div class="REFSECT1">
-<a name="XMLSEC-XMLDSIG.DESCRIPTION"></a><h2>Description</h2>
-<p>XML Digital Signature support.</p>
-</div>
-<div class="REFSECT1">
-<a name="XMLSEC-XMLDSIG.FUNCTIONS_DETAILS"></a><h2>Functions</h2>
-<div class="REFSECT2">
-<a name="XMLSECDSIGCTXCREATE"></a><h3>xmlSecDSigCtxCreate ()</h3>
-<pre class="PROGRAMLISTING"><a href="xmlsec-xmldsig.html#XMLSECDSIGCTX"><span class="RETURNVALUE">xmlSecDSigCtxPtr</span></a>
-xmlSecDSigCtxCreate (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> keysMngr</code>);</pre>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="xmlsec-xmldsig.description"></a><h2>Description</h2>
+<p>
+XML Digital Signature support.
+</p>
+</div>
+<div class="refsect1">
+<a name="xmlsec-xmldsig.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="xmlSecDSigCtxCreate"></a><h3>xmlSecDSigCtxCreate ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecDSigCtxPtr</span></font>
+xmlSecDSigCtxCreate (<em class="parameter"><code><font><span class="type">xmlSecKeysMngrPtr</span></font> keysMngr</code></em>);</pre>
<p>Creates <dsig:Signature/> element processing context.
The caller is responsible for destroying returned object by calling
-<a href="xmlsec-xmldsig.html#XMLSECDSIGCTXDESTROY"><span class="TYPE">xmlSecDSigCtxDestroy</span></a> function.</p>
-<div class="REFSECT3">
-<a name="AEN23956"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN23958"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<a class="link" href="xmlsec-xmldsig.html#xmlSecDSigCtxDestroy" title="xmlSecDSigCtxDestroy ()"><span class="type">xmlSecDSigCtxDestroy</span></a> function.</p>
+<div class="refsect3">
+<a name="xmlSecDSigCtxCreate.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>keysMngr</p></td>
-<td><p>the pointer to keys manager.</p></td>
-<td> </td>
+<td class="parameter_name"><p>keysMngr</p></td>
+<td class="parameter_description"><p>the pointer to keys manager.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN23967"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecDSigCtxCreate.returns"></a><h4>Returns</h4>
<p> pointer to newly allocated context object or NULL if an error
occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECDSIGCTXDESTROY"></a><h3>xmlSecDSigCtxDestroy ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">void</span></font>
-xmlSecDSigCtxDestroy (<code class="PARAMETER"><a href="xmlsec-xmldsig.html#XMLSECDSIGCTX"><span class="TYPE">xmlSecDSigCtxPtr</span></a> dsigCtx</code>);</pre>
-<p>Destroy context object created with <a href="xmlsec-xmldsig.html#XMLSECDSIGCTXCREATE"><span class="TYPE">xmlSecDSigCtxCreate</span></a> function.</p>
-<div class="REFSECT3">
-<a name="AEN23983"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN23985"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect2">
+<a name="xmlSecDSigCtxDestroy"></a><h3>xmlSecDSigCtxDestroy ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">void</span></font>
+xmlSecDSigCtxDestroy (<em class="parameter"><code><font><span class="type">xmlSecDSigCtxPtr</span></font> dsigCtx</code></em>);</pre>
+<p>Destroy context object created with <a class="link" href="xmlsec-xmldsig.html#xmlSecDSigCtxCreate" title="xmlSecDSigCtxCreate ()"><span class="type">xmlSecDSigCtxCreate</span></a> function.</p>
+<div class="refsect3">
+<a name="xmlSecDSigCtxDestroy.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>dsigCtx</p></td>
-<td><p>the pointer to <dsig:Signature/> processing context.</p></td>
-<td> </td>
+<td class="parameter_name"><p>dsigCtx</p></td>
+<td class="parameter_description"><p>the pointer to <dsig:Signature/> processing context.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECDSIGCTXINITIALIZE"></a><h3>xmlSecDSigCtxInitialize ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecDSigCtxInitialize (<code class="PARAMETER"><a href="xmlsec-xmldsig.html#XMLSECDSIGCTX"><span class="TYPE">xmlSecDSigCtxPtr</span></a> dsigCtx</code>,
- <code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> keysMngr</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecDSigCtxInitialize"></a><h3>xmlSecDSigCtxInitialize ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecDSigCtxInitialize (<em class="parameter"><code><font><span class="type">xmlSecDSigCtxPtr</span></font> dsigCtx</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlSecKeysMngrPtr</span></font> keysMngr</code></em>);</pre>
<p>Initializes <dsig:Signature/> element processing context.
The caller is responsible for cleaning up returned object by calling
-<a href="xmlsec-xmldsig.html#XMLSECDSIGCTXFINALIZE"><span class="TYPE">xmlSecDSigCtxFinalize</span></a> function.</p>
-<div class="REFSECT3">
-<a name="AEN24010"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN24012"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<a class="link" href="xmlsec-xmldsig.html#xmlSecDSigCtxFinalize" title="xmlSecDSigCtxFinalize ()"><span class="type">xmlSecDSigCtxFinalize</span></a> function.</p>
+<div class="refsect3">
+<a name="xmlSecDSigCtxInitialize.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>dsigCtx</p></td>
-<td><p>the pointer to <dsig:Signature/> processing context.</p></td>
-<td> </td>
+<td class="parameter_name"><p>dsigCtx</p></td>
+<td class="parameter_description"><p>the pointer to <dsig:Signature/> processing context.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>keysMngr</p></td>
-<td><p>the pointer to keys manager.</p></td>
-<td> </td>
+<td class="parameter_name"><p>keysMngr</p></td>
+<td class="parameter_description"><p>the pointer to keys manager.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN24027"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecDSigCtxInitialize.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECDSIGCTXFINALIZE"></a><h3>xmlSecDSigCtxFinalize ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">void</span></font>
-xmlSecDSigCtxFinalize (<code class="PARAMETER"><a href="xmlsec-xmldsig.html#XMLSECDSIGCTX"><span class="TYPE">xmlSecDSigCtxPtr</span></a> dsigCtx</code>);</pre>
-<p>Cleans up <code class="PARAMETER">dsigCtx</code>
- object initialized with <a href="xmlsec-xmldsig.html#XMLSECDSIGCTXINITIALIZE"><span class="TYPE">xmlSecDSigCtxInitialize</span></a> function.</p>
-<div class="REFSECT3">
-<a name="AEN24044"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN24046"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect2">
+<a name="xmlSecDSigCtxFinalize"></a><h3>xmlSecDSigCtxFinalize ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">void</span></font>
+xmlSecDSigCtxFinalize (<em class="parameter"><code><font><span class="type">xmlSecDSigCtxPtr</span></font> dsigCtx</code></em>);</pre>
+<p>Cleans up <em class="parameter"><code>dsigCtx</code></em>
+ object initialized with <a class="link" href="xmlsec-xmldsig.html#xmlSecDSigCtxInitialize" title="xmlSecDSigCtxInitialize ()"><span class="type">xmlSecDSigCtxInitialize</span></a> function.</p>
+<div class="refsect3">
+<a name="xmlSecDSigCtxFinalize.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>dsigCtx</p></td>
-<td><p>the pointer to <dsig:Signature/> processing context.</p></td>
-<td> </td>
+<td class="parameter_name"><p>dsigCtx</p></td>
+<td class="parameter_description"><p>the pointer to <dsig:Signature/> processing context.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECDSIGCTXSIGN"></a><h3>xmlSecDSigCtxSign ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecDSigCtxSign (<code class="PARAMETER"><a href="xmlsec-xmldsig.html#XMLSECDSIGCTX"><span class="TYPE">xmlSecDSigCtxPtr</span></a> dsigCtx</code>,
- <code class="PARAMETER"><font><span class="TYPE">xmlNodePtr</span></font> tmpl</code>);</pre>
-<p>Signs the data as described in <code class="PARAMETER">tmpl</code>
+<div class="refsect2">
+<a name="xmlSecDSigCtxSign"></a><h3>xmlSecDSigCtxSign ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecDSigCtxSign (<em class="parameter"><code><font><span class="type">xmlSecDSigCtxPtr</span></font> dsigCtx</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlNodePtr</span></font> tmpl</code></em>);</pre>
+<p>Signs the data as described in <em class="parameter"><code>tmpl</code></em>
node.</p>
-<div class="REFSECT3">
-<a name="AEN24070"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN24072"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecDSigCtxSign.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>dsigCtx</p></td>
-<td><p>the pointer to <dsig:Signature/> processing context.</p></td>
-<td> </td>
+<td class="parameter_name"><p>dsigCtx</p></td>
+<td class="parameter_description"><p>the pointer to <dsig:Signature/> processing context.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>tmpl</p></td>
-<td><p>the pointer to <dsig:Signature/> node with signature template.</p></td>
-<td> </td>
+<td class="parameter_name"><p>tmpl</p></td>
+<td class="parameter_description"><p>the pointer to <dsig:Signature/> node with signature template.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN24087"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecDSigCtxSign.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECDSIGCTXVERIFY"></a><h3>xmlSecDSigCtxVerify ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecDSigCtxVerify (<code class="PARAMETER"><a href="xmlsec-xmldsig.html#XMLSECDSIGCTX"><span class="TYPE">xmlSecDSigCtxPtr</span></a> dsigCtx</code>,
- <code class="PARAMETER"><font><span class="TYPE">xmlNodePtr</span></font> node</code>);</pre>
-<p>Vaidates signature in the <code class="PARAMETER">node</code>
+<div class="refsect2">
+<a name="xmlSecDSigCtxVerify"></a><h3>xmlSecDSigCtxVerify ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecDSigCtxVerify (<em class="parameter"><code><font><span class="type">xmlSecDSigCtxPtr</span></font> dsigCtx</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlNodePtr</span></font> node</code></em>);</pre>
+<p>Validates signature in the <em class="parameter"><code>node</code></em>
. The verification result is returned
-in <font><span class="TYPE">status</span></font> member of the <code class="PARAMETER">dsigCtx</code>
+in <font><span class="type">status</span></font> member of the <em class="parameter"><code>dsigCtx</code></em>
object.</p>
-<div class="REFSECT3">
-<a name="AEN24108"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN24110"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecDSigCtxVerify.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>dsigCtx</p></td>
-<td><p>the pointer to <dsig:Signature/> processing context.</p></td>
-<td> </td>
+<td class="parameter_name"><p>dsigCtx</p></td>
+<td class="parameter_description"><p>the pointer to <dsig:Signature/> processing context.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>node</p></td>
-<td><p>the pointer with <dsig:Signature/> node.</p></td>
-<td> </td>
+<td class="parameter_name"><p>node</p></td>
+<td class="parameter_description"><p>the pointer with <dsig:Signature/> node.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN24125"></a><h4>Returns</h4>
-<p> 0 on success (check <font><span class="TYPE">status</span></font> member of <code class="PARAMETER">dsigCtx</code>
+<div class="refsect3">
+<a name="xmlSecDSigCtxVerify.returns"></a><h4>Returns</h4>
+<p> 0 on success (check <font><span class="type">status</span></font> member of <em class="parameter"><code>dsigCtx</code></em>
to get
signature verification result) or a negative value if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECDSIGCTXENABLEREFERENCETRANSFORM"></a><h3>xmlSecDSigCtxEnableReferenceTransform ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecDSigCtxEnableReferenceTransform (<code class="PARAMETER"><a href="xmlsec-xmldsig.html#XMLSECDSIGCTX"><span class="TYPE">xmlSecDSigCtxPtr</span></a> dsigCtx</code>,
- <code class="PARAMETER"><font><span class="TYPE">xmlSecTransformId</span></font> transformId</code>);</pre>
-<p>Enables <code class="PARAMETER">transformId</code>
+<div class="refsect2">
+<a name="xmlSecDSigCtxEnableReferenceTransform"></a><h3>xmlSecDSigCtxEnableReferenceTransform ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecDSigCtxEnableReferenceTransform (<em class="parameter"><code><font><span class="type">xmlSecDSigCtxPtr</span></font> dsigCtx</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlSecTransformId</span></font> transformId</code></em>);</pre>
+<p>Enables <em class="parameter"><code>transformId</code></em>
for <dsig:Reference/> elements processing.</p>
-<div class="REFSECT3">
-<a name="AEN24146"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN24148"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecDSigCtxEnableReferenceTransform.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>dsigCtx</p></td>
-<td><p>the pointer to <dsig:Signature/> processing context.</p></td>
-<td> </td>
+<td class="parameter_name"><p>dsigCtx</p></td>
+<td class="parameter_description"><p>the pointer to <dsig:Signature/> processing context.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>transformId</p></td>
-<td><p>the transform klass.</p></td>
-<td> </td>
+<td class="parameter_name"><p>transformId</p></td>
+<td class="parameter_description"><p>the transform klass.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN24163"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecDSigCtxEnableReferenceTransform.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECDSIGCTXENABLESIGNATURETRANSFORM"></a><h3>xmlSecDSigCtxEnableSignatureTransform ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecDSigCtxEnableSignatureTransform (<code class="PARAMETER"><a href="xmlsec-xmldsig.html#XMLSECDSIGCTX"><span class="TYPE">xmlSecDSigCtxPtr</span></a> dsigCtx</code>,
- <code class="PARAMETER"><font><span class="TYPE">xmlSecTransformId</span></font> transformId</code>);</pre>
-<p>Enables <code class="PARAMETER">transformId</code>
+<div class="refsect2">
+<a name="xmlSecDSigCtxEnableSignatureTransform"></a><h3>xmlSecDSigCtxEnableSignatureTransform ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecDSigCtxEnableSignatureTransform (<em class="parameter"><code><font><span class="type">xmlSecDSigCtxPtr</span></font> dsigCtx</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlSecTransformId</span></font> transformId</code></em>);</pre>
+<p>Enables <em class="parameter"><code>transformId</code></em>
for <dsig:SignedInfo/> element processing.</p>
-<div class="REFSECT3">
-<a name="AEN24181"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN24183"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecDSigCtxEnableSignatureTransform.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>dsigCtx</p></td>
-<td><p>the pointer to <dsig:Signature/> processing context.</p></td>
-<td> </td>
+<td class="parameter_name"><p>dsigCtx</p></td>
+<td class="parameter_description"><p>the pointer to <dsig:Signature/> processing context.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>transformId</p></td>
-<td><p>the transform klass.</p></td>
-<td> </td>
+<td class="parameter_name"><p>transformId</p></td>
+<td class="parameter_description"><p>the transform klass.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN24198"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecDSigCtxEnableSignatureTransform.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECDSIGCTXGETPRESIGNBUFFER"></a><h3>xmlSecDSigCtxGetPreSignBuffer ()</h3>
-<pre class="PROGRAMLISTING"><a href="xmlsec-buffer.html#XMLSECBUFFER"><span class="RETURNVALUE">xmlSecBufferPtr</span></a>
-xmlSecDSigCtxGetPreSignBuffer (<code class="PARAMETER"><a href="xmlsec-xmldsig.html#XMLSECDSIGCTX"><span class="TYPE">xmlSecDSigCtxPtr</span></a> dsigCtx</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecDSigCtxGetPreSignBuffer"></a><h3>xmlSecDSigCtxGetPreSignBuffer ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecBufferPtr</span></font>
+xmlSecDSigCtxGetPreSignBuffer (<em class="parameter"><code><font><span class="type">xmlSecDSigCtxPtr</span></font> dsigCtx</code></em>);</pre>
<p>Gets pointer to the buffer with serialized <dsig:SignedInfo/> element
just before signature claculation (valid if and only if
-<a href="xmlsec-xmldsig.html#XMLSEC-DSIG-FLAGS-STORE-SIGNATURE:CAPS"><span class="TYPE">XMLSEC_DSIG_FLAGS_STORE_SIGNATURE</span></a> context flag is set.</p>
-<div class="REFSECT3">
-<a name="AEN24214"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN24216"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<a class="link" href="xmlsec-xmldsig.html#XMLSEC-DSIG-FLAGS-STORE-SIGNATURE:CAPS" title="XMLSEC_DSIG_FLAGS_STORE_SIGNATURE"><span class="type">XMLSEC_DSIG_FLAGS_STORE_SIGNATURE</span></a> context flag is set.</p>
+<div class="refsect3">
+<a name="xmlSecDSigCtxGetPreSignBuffer.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>dsigCtx</p></td>
-<td><p>the pointer to <dsig:Signature/> processing context.</p></td>
-<td> </td>
+<td class="parameter_name"><p>dsigCtx</p></td>
+<td class="parameter_description"><p>the pointer to <dsig:Signature/> processing context.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN24225"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecDSigCtxGetPreSignBuffer.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECDSIGCTXDEBUGDUMP"></a><h3>xmlSecDSigCtxDebugDump ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">void</span></font>
-xmlSecDSigCtxDebugDump (<code class="PARAMETER"><a href="xmlsec-xmldsig.html#XMLSECDSIGCTX"><span class="TYPE">xmlSecDSigCtxPtr</span></a> dsigCtx</code>,
- <code class="PARAMETER"><font><span class="TYPE">FILE</span></font> *output</code>);</pre>
-<p>Prints the debug information about <code class="PARAMETER">dsigCtx</code>
- to <code class="PARAMETER">output</code>
+<div class="refsect2">
+<a name="xmlSecDSigCtxDebugDump"></a><h3>xmlSecDSigCtxDebugDump ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">void</span></font>
+xmlSecDSigCtxDebugDump (<em class="parameter"><code><font><span class="type">xmlSecDSigCtxPtr</span></font> dsigCtx</code></em>,
+ <em class="parameter"><code><font><span class="type">FILE</span></font> *output</code></em>);</pre>
+<p>Prints the debug information about <em class="parameter"><code>dsigCtx</code></em>
+ to <em class="parameter"><code>output</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN24244"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN24246"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecDSigCtxDebugDump.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>dsigCtx</p></td>
-<td><p>the pointer to <dsig:Signature/> processing context.</p></td>
-<td> </td>
+<td class="parameter_name"><p>dsigCtx</p></td>
+<td class="parameter_description"><p>the pointer to <dsig:Signature/> processing context.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>output</p></td>
-<td><p>the pointer to output FILE.</p></td>
-<td> </td>
+<td class="parameter_name"><p>output</p></td>
+<td class="parameter_description"><p>the pointer to output FILE.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECDSIGCTXDEBUGXMLDUMP"></a><h3>xmlSecDSigCtxDebugXmlDump ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">void</span></font>
-xmlSecDSigCtxDebugXmlDump (<code class="PARAMETER"><a href="xmlsec-xmldsig.html#XMLSECDSIGCTX"><span class="TYPE">xmlSecDSigCtxPtr</span></a> dsigCtx</code>,
- <code class="PARAMETER"><font><span class="TYPE">FILE</span></font> *output</code>);</pre>
-<p>Prints the debug information about <code class="PARAMETER">dsigCtx</code>
- to <code class="PARAMETER">output</code>
+<div class="refsect2">
+<a name="xmlSecDSigCtxDebugXmlDump"></a><h3>xmlSecDSigCtxDebugXmlDump ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">void</span></font>
+xmlSecDSigCtxDebugXmlDump (<em class="parameter"><code><font><span class="type">xmlSecDSigCtxPtr</span></font> dsigCtx</code></em>,
+ <em class="parameter"><code><font><span class="type">FILE</span></font> *output</code></em>);</pre>
+<p>Prints the debug information about <em class="parameter"><code>dsigCtx</code></em>
+ to <em class="parameter"><code>output</code></em>
in XML format.</p>
-<div class="REFSECT3">
-<a name="AEN24277"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN24279"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecDSigCtxDebugXmlDump.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>dsigCtx</p></td>
-<td><p>the pointer to <dsig:Signature/> processing context.</p></td>
-<td> </td>
+<td class="parameter_name"><p>dsigCtx</p></td>
+<td class="parameter_description"><p>the pointer to <dsig:Signature/> processing context.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>output</p></td>
-<td><p>the pointer to output FILE.</p></td>
-<td> </td>
+<td class="parameter_name"><p>output</p></td>
+<td class="parameter_description"><p>the pointer to output FILE.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECDSIGREFERENCECTXCREATE"></a><h3>xmlSecDSigReferenceCtxCreate ()</h3>
-<pre class="PROGRAMLISTING"><a href="xmlsec-xmldsig.html#XMLSECDSIGREFERENCECTX"><span class="RETURNVALUE">xmlSecDSigReferenceCtxPtr</span></a>
-xmlSecDSigReferenceCtxCreate (<code class="PARAMETER"><a href="xmlsec-xmldsig.html#XMLSECDSIGCTX"><span class="TYPE">xmlSecDSigCtxPtr</span></a> dsigCtx</code>,
- <code class="PARAMETER"><a href="xmlsec-xmldsig.html#XMLSECDSIGREFERENCEORIGIN"><span class="TYPE">xmlSecDSigReferenceOrigin</span></a> origin</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecDSigReferenceCtxCreate"></a><h3>xmlSecDSigReferenceCtxCreate ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecDSigReferenceCtxPtr</span></font>
+xmlSecDSigReferenceCtxCreate (<em class="parameter"><code><font><span class="type">xmlSecDSigCtxPtr</span></font> dsigCtx</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-xmldsig.html#xmlSecDSigReferenceOrigin" title="enum xmlSecDSigReferenceOrigin"><span class="type">xmlSecDSigReferenceOrigin</span></a> origin</code></em>);</pre>
<p>Creates new <dsig:Reference/> element processing context. Caller is responsible
-for destroying the returned context by calling <a href="xmlsec-xmldsig.html#XMLSECDSIGREFERENCECTXDESTROY"><span class="TYPE">xmlSecDSigReferenceCtxDestroy</span></a>
+for destroying the returned context by calling <a class="link" href="xmlsec-xmldsig.html#xmlSecDSigReferenceCtxDestroy" title="xmlSecDSigReferenceCtxDestroy ()"><span class="type">xmlSecDSigReferenceCtxDestroy</span></a>
function.</p>
-<div class="REFSECT3">
-<a name="AEN24310"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN24312"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecDSigReferenceCtxCreate.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>dsigCtx</p></td>
-<td><p>the pointer to parent <dsig:Signature/> node processing context.</p></td>
-<td> </td>
+<td class="parameter_name"><p>dsigCtx</p></td>
+<td class="parameter_description"><p>the pointer to parent <dsig:Signature/> node processing context.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>origin</p></td>
-<td><p>the reference origin (<dsig:SignedInfo/> or <dsig:Manifest/> node).</p></td>
-<td> </td>
+<td class="parameter_name"><p>origin</p></td>
+<td class="parameter_description"><p>the reference origin (<dsig:SignedInfo/> or <dsig:Manifest/> node).</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN24327"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecDSigReferenceCtxCreate.returns"></a><h4>Returns</h4>
<p> pointer to newly created context or NULL if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECDSIGREFERENCECTXDESTROY"></a><h3>xmlSecDSigReferenceCtxDestroy ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">void</span></font>
-xmlSecDSigReferenceCtxDestroy (<code class="PARAMETER"><a href="xmlsec-xmldsig.html#XMLSECDSIGREFERENCECTX"><span class="TYPE">xmlSecDSigReferenceCtxPtr</span></a> dsigRefCtx</code>);</pre>
-<p>Destroy context object created with <a href="xmlsec-xmldsig.html#XMLSECDSIGREFERENCECTXCREATE"><span class="TYPE">xmlSecDSigReferenceCtxCreate</span></a> function.</p>
-<div class="REFSECT3">
-<a name="AEN24343"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN24345"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect2">
+<a name="xmlSecDSigReferenceCtxDestroy"></a><h3>xmlSecDSigReferenceCtxDestroy ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">void</span></font>
+xmlSecDSigReferenceCtxDestroy (<em class="parameter"><code><font><span class="type">xmlSecDSigReferenceCtxPtr</span></font> dsigRefCtx</code></em>);</pre>
+<p>Destroy context object created with <a class="link" href="xmlsec-xmldsig.html#xmlSecDSigReferenceCtxCreate" title="xmlSecDSigReferenceCtxCreate ()"><span class="type">xmlSecDSigReferenceCtxCreate</span></a> function.</p>
+<div class="refsect3">
+<a name="xmlSecDSigReferenceCtxDestroy.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>dsigRefCtx</p></td>
-<td><p>the pointer to <dsig:Reference/> element processing context.</p></td>
-<td> </td>
+<td class="parameter_name"><p>dsigRefCtx</p></td>
+<td class="parameter_description"><p>the pointer to <dsig:Reference/> element processing context.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECDSIGREFERENCECTXINITIALIZE"></a><h3>xmlSecDSigReferenceCtxInitialize ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecDSigReferenceCtxInitialize (<code class="PARAMETER"><a href="xmlsec-xmldsig.html#XMLSECDSIGREFERENCECTX"><span class="TYPE">xmlSecDSigReferenceCtxPtr</span></a> dsigRefCtx</code>,
- <code class="PARAMETER"><a href="xmlsec-xmldsig.html#XMLSECDSIGCTX"><span class="TYPE">xmlSecDSigCtxPtr</span></a> dsigCtx</code>,
- <code class="PARAMETER"><a href="xmlsec-xmldsig.html#XMLSECDSIGREFERENCEORIGIN"><span class="TYPE">xmlSecDSigReferenceOrigin</span></a> origin</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecDSigReferenceCtxInitialize"></a><h3>xmlSecDSigReferenceCtxInitialize ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecDSigReferenceCtxInitialize (<em class="parameter"><code><font><span class="type">xmlSecDSigReferenceCtxPtr</span></font> dsigRefCtx</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlSecDSigCtxPtr</span></font> dsigCtx</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-xmldsig.html#xmlSecDSigReferenceOrigin" title="enum xmlSecDSigReferenceOrigin"><span class="type">xmlSecDSigReferenceOrigin</span></a> origin</code></em>);</pre>
<p>Initializes new <dsig:Reference/> element processing context. Caller is responsible
-for cleaning up the returned context by calling <a href="xmlsec-xmldsig.html#XMLSECDSIGREFERENCECTXFINALIZE"><span class="TYPE">xmlSecDSigReferenceCtxFinalize</span></a>
+for cleaning up the returned context by calling <a class="link" href="xmlsec-xmldsig.html#xmlSecDSigReferenceCtxFinalize" title="xmlSecDSigReferenceCtxFinalize ()"><span class="type">xmlSecDSigReferenceCtxFinalize</span></a>
function.</p>
-<div class="REFSECT3">
-<a name="AEN24373"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN24375"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecDSigReferenceCtxInitialize.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>dsigRefCtx</p></td>
-<td><p>the pointer to <dsig:Reference/> element processing context.</p></td>
-<td> </td>
+<td class="parameter_name"><p>dsigRefCtx</p></td>
+<td class="parameter_description"><p>the pointer to <dsig:Reference/> element processing context.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>dsigCtx</p></td>
-<td><p>the pointer to parent <dsig:Signature/> node processing context.</p></td>
-<td> </td>
+<td class="parameter_name"><p>dsigCtx</p></td>
+<td class="parameter_description"><p>the pointer to parent <dsig:Signature/> node processing context.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>origin</p></td>
-<td><p>the reference origin (<dsig:SignedInfo/> or <dsig:Manifest/> node).</p></td>
-<td> </td>
+<td class="parameter_name"><p>origin</p></td>
+<td class="parameter_description"><p>the reference origin (<dsig:SignedInfo/> or <dsig:Manifest/> node).</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN24396"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecDSigReferenceCtxInitialize.returns"></a><h4>Returns</h4>
<p> 0 on succes or aa negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECDSIGREFERENCECTXFINALIZE"></a><h3>xmlSecDSigReferenceCtxFinalize ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">void</span></font>
-xmlSecDSigReferenceCtxFinalize (<code class="PARAMETER"><a href="xmlsec-xmldsig.html#XMLSECDSIGREFERENCECTX"><span class="TYPE">xmlSecDSigReferenceCtxPtr</span></a> dsigRefCtx</code>);</pre>
-<p>Cleans up context object created with <a href="xmlsec-xmldsig.html#XMLSECDSIGREFERENCECTXINITIALIZE"><span class="TYPE">xmlSecDSigReferenceCtxInitialize</span></a> function.</p>
-<div class="REFSECT3">
-<a name="AEN24412"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN24414"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect2">
+<a name="xmlSecDSigReferenceCtxFinalize"></a><h3>xmlSecDSigReferenceCtxFinalize ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">void</span></font>
+xmlSecDSigReferenceCtxFinalize (<em class="parameter"><code><font><span class="type">xmlSecDSigReferenceCtxPtr</span></font> dsigRefCtx</code></em>);</pre>
+<p>Cleans up context object created with <a class="link" href="xmlsec-xmldsig.html#xmlSecDSigReferenceCtxInitialize" title="xmlSecDSigReferenceCtxInitialize ()"><span class="type">xmlSecDSigReferenceCtxInitialize</span></a> function.</p>
+<div class="refsect3">
+<a name="xmlSecDSigReferenceCtxFinalize.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>dsigRefCtx</p></td>
-<td><p>the pointer to <dsig:Reference/> element processing context.</p></td>
-<td> </td>
+<td class="parameter_name"><p>dsigRefCtx</p></td>
+<td class="parameter_description"><p>the pointer to <dsig:Reference/> element processing context.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECDSIGREFERENCECTXPROCESSNODE"></a><h3>xmlSecDSigReferenceCtxProcessNode ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecDSigReferenceCtxProcessNode (<code class="PARAMETER"><a href="xmlsec-xmldsig.html#XMLSECDSIGREFERENCECTX"><span class="TYPE">xmlSecDSigReferenceCtxPtr</span></a> dsigRefCtx</code>,
- <code class="PARAMETER"><font><span class="TYPE">xmlNodePtr</span></font> node</code>);</pre>
-<p>The Reference Element (http://www.w3.org/TR/xmldsig-core/<font><span class="TYPE">sec-Reference</span></font>)</p>
+<div class="refsect2">
+<a name="xmlSecDSigReferenceCtxProcessNode"></a><h3>xmlSecDSigReferenceCtxProcessNode ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecDSigReferenceCtxProcessNode (<em class="parameter"><code><font><span class="type">xmlSecDSigReferenceCtxPtr</span></font> dsigRefCtx</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlNodePtr</span></font> node</code></em>);</pre>
+<p>The Reference Element (http://www.w3.org/TR/xmldsig-core/<font><span class="type">sec-Reference</span></font>)</p>
<p>Reference is an element that may occur one or more times. It specifies
a digest algorithm and digest value, and optionally an identifier of the
object being signed, the type of the object, and/or a list of transforms
@@ -817,221 +806,222 @@ data. For example, while this specification makes no requirements over
external data, an application may wish to signal that the referent is a
Manifest. An optional ID attribute permits a Reference to be referenced
from elsewhere.</p>
-<div class="REFSECT3">
-<a name="AEN24440"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN24442"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecDSigReferenceCtxProcessNode.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>dsigRefCtx</p></td>
-<td><p>the pointer to <dsig:Reference/> element processing context.</p></td>
-<td> </td>
+<td class="parameter_name"><p>dsigRefCtx</p></td>
+<td class="parameter_description"><p>the pointer to <dsig:Reference/> element processing context.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>node</p></td>
-<td><p>the pointer to <dsig:Reference/> node.</p></td>
-<td> </td>
+<td class="parameter_name"><p>node</p></td>
+<td class="parameter_description"><p>the pointer to <dsig:Reference/> node.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN24457"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecDSigReferenceCtxProcessNode.returns"></a><h4>Returns</h4>
<p> 0 on succes or aa negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECDSIGREFERENCECTXGETPREDIGESTBUFFER"></a><h3>xmlSecDSigReferenceCtxGetPreDigestBuffer ()</h3>
-<pre class="PROGRAMLISTING"><a href="xmlsec-buffer.html#XMLSECBUFFER"><span class="RETURNVALUE">xmlSecBufferPtr</span></a>
+<div class="refsect2">
+<a name="xmlSecDSigReferenceCtxGetPreDigestBuffer"></a><h3>xmlSecDSigReferenceCtxGetPreDigestBuffer ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecBufferPtr</span></font>
xmlSecDSigReferenceCtxGetPreDigestBuffer
- (<code class="PARAMETER"><a href="xmlsec-xmldsig.html#XMLSECDSIGREFERENCECTX"><span class="TYPE">xmlSecDSigReferenceCtxPtr</span></a> dsigRefCtx</code>);</pre>
+ (<em class="parameter"><code><font><span class="type">xmlSecDSigReferenceCtxPtr</span></font> dsigRefCtx</code></em>);</pre>
<p>Gets the results of <dsig:Reference/> node processing just before digesting
-(valid only if <a href="xmlsec-xmldsig.html#XMLSEC-DSIG-FLAGS-STORE-SIGNEDINFO-REFERENCES:CAPS"><span class="TYPE">XMLSEC_DSIG_FLAGS_STORE_SIGNEDINFO_REFERENCES</span></a> or
-<a href="xmlsec-xmldsig.html#XMLSEC-DSIG-FLAGS-STORE-MANIFEST-REFERENCES:CAPS"><span class="TYPE">XMLSEC_DSIG_FLAGS_STORE_MANIFEST_REFERENCES</span></a> flas of signature context
+(valid only if <a class="link" href="xmlsec-xmldsig.html#XMLSEC-DSIG-FLAGS-STORE-SIGNEDINFO-REFERENCES:CAPS" title="XMLSEC_DSIG_FLAGS_STORE_SIGNEDINFO_REFERENCES"><span class="type">XMLSEC_DSIG_FLAGS_STORE_SIGNEDINFO_REFERENCES</span></a> or
+<a class="link" href="xmlsec-xmldsig.html#XMLSEC-DSIG-FLAGS-STORE-MANIFEST-REFERENCES:CAPS" title="XMLSEC_DSIG_FLAGS_STORE_MANIFEST_REFERENCES"><span class="type">XMLSEC_DSIG_FLAGS_STORE_MANIFEST_REFERENCES</span></a> flas of signature context
is set).</p>
-<div class="REFSECT3">
-<a name="AEN24475"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN24477"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecDSigReferenceCtxGetPreDigestBuffer.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>dsigRefCtx</p></td>
-<td><p>the pointer to <dsig:Reference/> element processing context.</p></td>
-<td> </td>
+<td class="parameter_name"><p>dsigRefCtx</p></td>
+<td class="parameter_description"><p>the pointer to <dsig:Reference/> element processing context.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN24486"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecDSigReferenceCtxGetPreDigestBuffer.returns"></a><h4>Returns</h4>
<p> pointer to the buffer or NULL if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECDSIGREFERENCECTXDEBUGDUMP"></a><h3>xmlSecDSigReferenceCtxDebugDump ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">void</span></font>
-xmlSecDSigReferenceCtxDebugDump (<code class="PARAMETER"><a href="xmlsec-xmldsig.html#XMLSECDSIGREFERENCECTX"><span class="TYPE">xmlSecDSigReferenceCtxPtr</span></a> dsigRefCtx</code>,
- <code class="PARAMETER"><font><span class="TYPE">FILE</span></font> *output</code>);</pre>
-<p>Prints debug information about <code class="PARAMETER">dsigRefCtx</code>
- to <code class="PARAMETER">output</code>
+<div class="refsect2">
+<a name="xmlSecDSigReferenceCtxDebugDump"></a><h3>xmlSecDSigReferenceCtxDebugDump ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">void</span></font>
+xmlSecDSigReferenceCtxDebugDump (<em class="parameter"><code><font><span class="type">xmlSecDSigReferenceCtxPtr</span></font> dsigRefCtx</code></em>,
+ <em class="parameter"><code><font><span class="type">FILE</span></font> *output</code></em>);</pre>
+<p>Prints debug information about <em class="parameter"><code>dsigRefCtx</code></em>
+ to <em class="parameter"><code>output</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN24505"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN24507"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecDSigReferenceCtxDebugDump.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>dsigRefCtx</p></td>
-<td><p>the pointer to <dsig:Reference/> element processing context.</p></td>
-<td> </td>
+<td class="parameter_name"><p>dsigRefCtx</p></td>
+<td class="parameter_description"><p>the pointer to <dsig:Reference/> element processing context.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>output</p></td>
-<td><p>the pointer to output FILE.</p></td>
-<td> </td>
+<td class="parameter_name"><p>output</p></td>
+<td class="parameter_description"><p>the pointer to output FILE.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECDSIGREFERENCECTXDEBUGXMLDUMP"></a><h3>xmlSecDSigReferenceCtxDebugXmlDump ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">void</span></font>
-xmlSecDSigReferenceCtxDebugXmlDump (<code class="PARAMETER"><a href="xmlsec-xmldsig.html#XMLSECDSIGREFERENCECTX"><span class="TYPE">xmlSecDSigReferenceCtxPtr</span></a> dsigRefCtx</code>,
- <code class="PARAMETER"><font><span class="TYPE">FILE</span></font> *output</code>);</pre>
-<p>Prints debug information about <code class="PARAMETER">dsigRefCtx</code>
- to <code class="PARAMETER">output</code>
+<div class="refsect2">
+<a name="xmlSecDSigReferenceCtxDebugXmlDump"></a><h3>xmlSecDSigReferenceCtxDebugXmlDump ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">void</span></font>
+xmlSecDSigReferenceCtxDebugXmlDump (<em class="parameter"><code><font><span class="type">xmlSecDSigReferenceCtxPtr</span></font> dsigRefCtx</code></em>,
+ <em class="parameter"><code><font><span class="type">FILE</span></font> *output</code></em>);</pre>
+<p>Prints debug information about <em class="parameter"><code>dsigRefCtx</code></em>
+ to <em class="parameter"><code>output</code></em>
in output format.</p>
-<div class="REFSECT3">
-<a name="AEN24538"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN24540"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecDSigReferenceCtxDebugXmlDump.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>dsigRefCtx</p></td>
-<td><p>the pointer to <dsig:Reference/> element processing context.</p></td>
-<td> </td>
+<td class="parameter_name"><p>dsigRefCtx</p></td>
+<td class="parameter_description"><p>the pointer to <dsig:Reference/> element processing context.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>output</p></td>
-<td><p>the pointer to output FILE.</p></td>
-<td> </td>
+<td class="parameter_name"><p>output</p></td>
+<td class="parameter_description"><p>the pointer to output FILE.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECDSIGREFERENCECTXLISTGETKLASS"></a><h3>xmlSecDSigReferenceCtxListGetKlass ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecPtrListId</span></font>
-xmlSecDSigReferenceCtxListGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecDSigReferenceCtxListGetKlass"></a><h3>xmlSecDSigReferenceCtxListGetKlass ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecPtrListId</span></font>
+xmlSecDSigReferenceCtxListGetKlass (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The <dsig:Reference/> element processing contexts list klass.</p>
-<div class="REFSECT3">
-<a name="AEN24565"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecDSigReferenceCtxListGetKlass.returns"></a><h4>Returns</h4>
<p> <dsig:Reference/> element processing context list klass.</p>
</div>
</div>
</div>
-<div class="REFSECT1">
-<a name="XMLSEC-XMLDSIG.OTHER_DETAILS"></a><h2>Types and Values</h2>
-<div class="REFSECT2">
-<a name="XMLSECDSIGSTATUS"></a><h3>enum xmlSecDSigStatus</h3>
+<div class="refsect1">
+<a name="xmlsec-xmldsig.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="xmlSecDSigStatus"></a><h3>enum xmlSecDSigStatus</h3>
<p>XML Digital signature processing status.</p>
-<div class="REFSECT3">
-<a name="AEN24575"></a><h4>Members</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN24577"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecDSigStatus.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="enum_members_name">
+<col class="enum_members_description">
+<col width="200px" class="enum_members_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>xmlSecDSigStatusUnknown</p></td>
-<td><p>the status is unknown.</p></td>
-<td> </td>
+<td class="enum_member_name"><p><a name="xmlSecDSigStatusUnknown"></a>xmlSecDSigStatusUnknown</p></td>
+<td class="enum_member_description">
+<p>the status is unknown.</p>
+</td>
+<td class="enum_member_annotations"> </td>
</tr>
<tr>
-<td><p>xmlSecDSigStatusSucceeded</p></td>
-<td><p>the processing succeeded.</p></td>
-<td> </td>
+<td class="enum_member_name"><p><a name="xmlSecDSigStatusSucceeded"></a>xmlSecDSigStatusSucceeded</p></td>
+<td class="enum_member_description">
+<p>the processing succeeded.</p>
+</td>
+<td class="enum_member_annotations"> </td>
</tr>
<tr>
-<td><p>xmlSecDSigStatusInvalid</p></td>
-<td><p>the processing failed.</p></td>
-<td> </td>
+<td class="enum_member_name"><p><a name="xmlSecDSigStatusInvalid"></a>xmlSecDSigStatusInvalid</p></td>
+<td class="enum_member_description">
+<p>the processing failed.</p>
+</td>
+<td class="enum_member_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
+<div class="refsect2">
<a name="XMLSEC-DSIG-FLAGS-IGNORE-MANIFESTS:CAPS"></a><h3>XMLSEC_DSIG_FLAGS_IGNORE_MANIFESTS</h3>
-<pre class="PROGRAMLISTING">#define XMLSEC_DSIG_FLAGS_IGNORE_MANIFESTS 0x00000001</pre>
+<pre class="programlisting">#define XMLSEC_DSIG_FLAGS_IGNORE_MANIFESTS 0x00000001
+</pre>
<p>If this flag is set then <dsig:Manifests/> nodes will not be processed.</p>
</div>
<hr>
-<div class="REFSECT2">
+<div class="refsect2">
<a name="XMLSEC-DSIG-FLAGS-STORE-SIGNEDINFO-REFERENCES:CAPS"></a><h3>XMLSEC_DSIG_FLAGS_STORE_SIGNEDINFO_REFERENCES</h3>
-<pre class="PROGRAMLISTING">#define XMLSEC_DSIG_FLAGS_STORE_SIGNEDINFO_REFERENCES 0x00000002</pre>
+<pre class="programlisting">#define XMLSEC_DSIG_FLAGS_STORE_SIGNEDINFO_REFERENCES 0x00000002
+</pre>
<p>If this flag is set then pre-digest buffer for <dsig:Reference/> child
-of <dsig:KeyInfo/> element will be stored in <a href="xmlsec-xmldsig.html#XMLSECDSIGCTX"><span class="TYPE">xmlSecDSigCtx</span></a>.</p>
+of <dsig:KeyInfo/> element will be stored in <a class="link" href="xmlsec-xmldsig.html#xmlSecDSigCtx" title="struct xmlSecDSigCtx"><span class="type">xmlSecDSigCtx</span></a>.</p>
</div>
<hr>
-<div class="REFSECT2">
+<div class="refsect2">
<a name="XMLSEC-DSIG-FLAGS-STORE-MANIFEST-REFERENCES:CAPS"></a><h3>XMLSEC_DSIG_FLAGS_STORE_MANIFEST_REFERENCES</h3>
-<pre class="PROGRAMLISTING">#define XMLSEC_DSIG_FLAGS_STORE_MANIFEST_REFERENCES 0x00000004</pre>
+<pre class="programlisting">#define XMLSEC_DSIG_FLAGS_STORE_MANIFEST_REFERENCES 0x00000004
+</pre>
<p>If this flag is set then pre-digest buffer for <dsig:Reference/> child
-of <dsig:Manifest/> element will be stored in <a href="xmlsec-xmldsig.html#XMLSECDSIGCTX"><span class="TYPE">xmlSecDSigCtx</span></a>.</p>
+of <dsig:Manifest/> element will be stored in <a class="link" href="xmlsec-xmldsig.html#xmlSecDSigCtx" title="struct xmlSecDSigCtx"><span class="type">xmlSecDSigCtx</span></a>.</p>
</div>
<hr>
-<div class="REFSECT2">
+<div class="refsect2">
<a name="XMLSEC-DSIG-FLAGS-STORE-SIGNATURE:CAPS"></a><h3>XMLSEC_DSIG_FLAGS_STORE_SIGNATURE</h3>
-<pre class="PROGRAMLISTING">#define XMLSEC_DSIG_FLAGS_STORE_SIGNATURE 0x00000008</pre>
+<pre class="programlisting">#define XMLSEC_DSIG_FLAGS_STORE_SIGNATURE 0x00000008
+</pre>
<p>If this flag is set then pre-signature buffer for <dsig:SignedInfo/>
-element processing will be stored in <a href="xmlsec-xmldsig.html#XMLSECDSIGCTX"><span class="TYPE">xmlSecDSigCtx</span></a>.</p>
+element processing will be stored in <a class="link" href="xmlsec-xmldsig.html#xmlSecDSigCtx" title="struct xmlSecDSigCtx"><span class="type">xmlSecDSigCtx</span></a>.</p>
</div>
<hr>
-<div class="REFSECT2">
+<div class="refsect2">
<a name="XMLSEC-DSIG-FLAGS-USE-VISA3D-HACK:CAPS"></a><h3>XMLSEC_DSIG_FLAGS_USE_VISA3D_HACK</h3>
-<pre class="PROGRAMLISTING">#define XMLSEC_DSIG_FLAGS_USE_VISA3D_HACK 0x00000010</pre>
+<pre class="programlisting">#define XMLSEC_DSIG_FLAGS_USE_VISA3D_HACK 0x00000010
+</pre>
<p>If this flag is set then URI ID references are resolved directly
without using XPointers. This allows one to sign/verify Visa3D
documents that don't follow XML, XPointer and XML DSig specifications.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECDSIGCTX"></a><h3>struct xmlSecDSigCtx</h3>
-<pre class="PROGRAMLISTING">struct xmlSecDSigCtx {
+<div class="refsect2">
+<a name="xmlSecDSigCtx"></a><h3>struct xmlSecDSigCtx</h3>
+<pre class="programlisting">struct xmlSecDSigCtx {
/* these data user can set before performing the operation */
void* userData;
unsigned int flags;
@@ -1062,186 +1052,187 @@ documents that don't follow XML, XPointer and XML DSig specifications.</p>
/* reserved for future */
void* reserved0;
void* reserved1;
-};</pre>
+};
+</pre>
<p>XML DSig processing context.</p>
-<div class="REFSECT3">
-<a name="AEN24640"></a><h4>Members</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN24642"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecDSigCtx.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="struct_members_name">
+<col class="struct_members_description">
+<col width="200px" class="struct_members_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p><font><span class="TYPE">void</span></font> *<code class="STRUCTFIELD">userData</code>;</p></td>
-<td><p>the pointer to user data (xmlsec and xmlsec-crypto libraries
+<td class="struct_member_name"><p><font><span class="type">void</span></font> *<em class="structfield"><code><a name="xmlSecDSigCtx.userData"></a>userData</code></em>;</p></td>
+<td class="struct_member_description"><p>the pointer to user data (xmlsec and xmlsec-crypto libraries
never touches this).</p></td>
-<td> </td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p>unsigned <font><span class="TYPE">int</span></font> <code class="STRUCTFIELD">flags</code>;</p></td>
-<td><p>the XML Digital Signature processing flags.</p></td>
-<td> </td>
+<td class="struct_member_name"><p>unsigned <font><span class="type">int</span></font> <em class="structfield"><code><a name="xmlSecDSigCtx.flags"></a>flags</code></em>;</p></td>
+<td class="struct_member_description"><p>the XML Digital Signature processing flags.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p>unsigned <font><span class="TYPE">int</span></font> <code class="STRUCTFIELD">flags2</code>;</p></td>
-<td><p>the XML Digital Signature processing flags.</p></td>
-<td> </td>
+<td class="struct_member_name"><p>unsigned <font><span class="type">int</span></font> <em class="structfield"><code><a name="xmlSecDSigCtx.flags2"></a>flags2</code></em>;</p></td>
+<td class="struct_member_description"><p>the XML Digital Signature processing flags.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTX"><span class="TYPE">xmlSecKeyInfoCtx</span></a> <code class="STRUCTFIELD">keyInfoReadCtx</code>;</p></td>
-<td><p>the reading key context.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><a class="link" href="xmlsec-keyinfo.html#xmlSecKeyInfoCtx" title="struct xmlSecKeyInfoCtx"><span class="type">xmlSecKeyInfoCtx</span></a> <em class="structfield"><code><a name="xmlSecDSigCtx.keyInfoReadCtx"></a>keyInfoReadCtx</code></em>;</p></td>
+<td class="struct_member_description"><p>the reading key context.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTX"><span class="TYPE">xmlSecKeyInfoCtx</span></a> <code class="STRUCTFIELD">keyInfoWriteCtx</code>;</p></td>
-<td><p>the writing key context (not used for signature verification).</p></td>
-<td> </td>
+<td class="struct_member_name"><p><a class="link" href="xmlsec-keyinfo.html#xmlSecKeyInfoCtx" title="struct xmlSecKeyInfoCtx"><span class="type">xmlSecKeyInfoCtx</span></a> <em class="structfield"><code><a name="xmlSecDSigCtx.keyInfoWriteCtx"></a>keyInfoWriteCtx</code></em>;</p></td>
+<td class="struct_member_description"><p>the writing key context (not used for signature verification).</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtx</span></a> <code class="STRUCTFIELD">transformCtx</code>;</p></td>
-<td><p>the <dsig:SignedInfo/> node processing context.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformCtx" title="struct xmlSecTransformCtx"><span class="type">xmlSecTransformCtx</span></a> <em class="structfield"><code><a name="xmlSecDSigCtx.transformCtx"></a>transformCtx</code></em>;</p></td>
+<td class="struct_member_description"><p>the <dsig:SignedInfo/> node processing context.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMURITYPE"><span class="TYPE">xmlSecTransformUriType</span></a> <code class="STRUCTFIELD">enabledReferenceUris</code>;</p></td>
-<td><p>the URI types allowed for <dsig:Reference/> node.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformUriType" title="xmlSecTransformUriType"><span class="type">xmlSecTransformUriType</span></a> <em class="structfield"><code><a name="xmlSecDSigCtx.enabledReferenceUris"></a>enabledReferenceUris</code></em>;</p></td>
+<td class="struct_member_description"><p>the URI types allowed for <dsig:Reference/> node.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><a href="xmlsec-list.html#XMLSECPTRLIST"><span class="TYPE">xmlSecPtrListPtr</span></a> <code class="STRUCTFIELD">enabledReferenceTransforms</code>;</p></td>
-<td><p>the list of transforms allowed in <dsig:Reference/> node.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><font><span class="type">xmlSecPtrListPtr</span></font> <em class="structfield"><code><a name="xmlSecDSigCtx.enabledReferenceTransforms"></a>enabledReferenceTransforms</code></em>;</p></td>
+<td class="struct_member_description"><p>the list of transforms allowed in <dsig:Reference/> node.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXPREEXECUTECALLBACK"><span class="TYPE">xmlSecTransformCtxPreExecuteCallback</span></a> <code class="STRUCTFIELD">referencePreExecuteCallback</code>;</p></td>
-<td><p>the callback for <dsig:Reference/> node processing.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformCtxPreExecuteCallback" title="xmlSecTransformCtxPreExecuteCallback ()"><span class="type">xmlSecTransformCtxPreExecuteCallback</span></a> <em class="structfield"><code><a name="xmlSecDSigCtx.referencePreExecuteCallback"></a>referencePreExecuteCallback</code></em>;</p></td>
+<td class="struct_member_description"><p>the callback for <dsig:Reference/> node processing.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><font><span class="TYPE">xmlSecTransformId</span></font> <code class="STRUCTFIELD">defSignMethodId</code>;</p></td>
-<td><p>the default signing method klass.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><font><span class="type">xmlSecTransformId</span></font> <em class="structfield"><code><a name="xmlSecDSigCtx.defSignMethodId"></a>defSignMethodId</code></em>;</p></td>
+<td class="struct_member_description"><p>the default signing method klass.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><font><span class="TYPE">xmlSecTransformId</span></font> <code class="STRUCTFIELD">defC14NMethodId</code>;</p></td>
-<td><p>the default c14n method klass.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><font><span class="type">xmlSecTransformId</span></font> <em class="structfield"><code><a name="xmlSecDSigCtx.defC14NMethodId"></a>defC14NMethodId</code></em>;</p></td>
+<td class="struct_member_description"><p>the default c14n method klass.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><font><span class="TYPE">xmlSecTransformId</span></font> <code class="STRUCTFIELD">defDigestMethodId</code>;</p></td>
-<td><p>the default digest method klass.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><font><span class="type">xmlSecTransformId</span></font> <em class="structfield"><code><a name="xmlSecDSigCtx.defDigestMethodId"></a>defDigestMethodId</code></em>;</p></td>
+<td class="struct_member_description"><p>the default digest method klass.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> <code class="STRUCTFIELD">signKey</code>;</p></td>
-<td><p>the signature key; application may set <font><span class="TYPE">signKey</span></font>
-before calling <a href="xmlsec-xmldsig.html#XMLSECDSIGCTXSIGN"><span class="TYPE">xmlSecDSigCtxSign</span></a> or <a href="xmlsec-xmldsig.html#XMLSECDSIGCTXVERIFY"><span class="TYPE">xmlSecDSigCtxVerify</span></a>
+<td class="struct_member_name"><p><font><span class="type">xmlSecKeyPtr</span></font> <em class="structfield"><code><a name="xmlSecDSigCtx.signKey"></a>signKey</code></em>;</p></td>
+<td class="struct_member_description"><p>the signature key; application may set <font><span class="type">signKey</span></font>
+before calling <a class="link" href="xmlsec-xmldsig.html#xmlSecDSigCtxSign" title="xmlSecDSigCtxSign ()"><span class="type">xmlSecDSigCtxSign</span></a> or <a class="link" href="xmlsec-xmldsig.html#xmlSecDSigCtxVerify" title="xmlSecDSigCtxVerify ()"><span class="type">xmlSecDSigCtxVerify</span></a>
functions.</p></td>
-<td> </td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMOPERATION"><span class="TYPE">xmlSecTransformOperation</span></a> <code class="STRUCTFIELD">operation</code>;</p></td>
-<td><p>the operation: sign or verify.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformOperation" title="enum xmlSecTransformOperation"><span class="type">xmlSecTransformOperation</span></a> <em class="structfield"><code><a name="xmlSecDSigCtx.operation"></a>operation</code></em>;</p></td>
+<td class="struct_member_description"><p>the operation: sign or verify.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><a href="xmlsec-buffer.html#XMLSECBUFFER"><span class="TYPE">xmlSecBufferPtr</span></a> <code class="STRUCTFIELD">result</code>;</p></td>
-<td><p>the pointer to signature (not valid for signature verification).</p></td>
-<td> </td>
+<td class="struct_member_name"><p><font><span class="type">xmlSecBufferPtr</span></font> <em class="structfield"><code><a name="xmlSecDSigCtx.result"></a>result</code></em>;</p></td>
+<td class="struct_member_description"><p>the pointer to signature (not valid for signature verification).</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><a href="xmlsec-xmldsig.html#XMLSECDSIGSTATUS"><span class="TYPE">xmlSecDSigStatus</span></a> <code class="STRUCTFIELD">status</code>;</p></td>
-<td><p>the <dsig:Signatuire/> processing status.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><a class="link" href="xmlsec-xmldsig.html#xmlSecDSigStatus" title="enum xmlSecDSigStatus"><span class="type">xmlSecDSigStatus</span></a> <em class="structfield"><code><a name="xmlSecDSigCtx.status"></a>status</code></em>;</p></td>
+<td class="struct_member_description"><p>the <dsig:Signatuire/> processing status.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> <code class="STRUCTFIELD">signMethod</code>;</p></td>
-<td><p>the pointer to signature transform.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><font><span class="type">xmlSecTransformPtr</span></font> <em class="structfield"><code><a name="xmlSecDSigCtx.signMethod"></a>signMethod</code></em>;</p></td>
+<td class="struct_member_description"><p>the pointer to signature transform.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> <code class="STRUCTFIELD">c14nMethod</code>;</p></td>
-<td><p>the pointer to c14n transform.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><font><span class="type">xmlSecTransformPtr</span></font> <em class="structfield"><code><a name="xmlSecDSigCtx.c14nMethod"></a>c14nMethod</code></em>;</p></td>
+<td class="struct_member_description"><p>the pointer to c14n transform.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> <code class="STRUCTFIELD">preSignMemBufMethod</code>;</p></td>
-<td><p>the pointer to binary buffer right before signature
-(valid only if <a href="xmlsec-xmldsig.html#XMLSEC-DSIG-FLAGS-STORE-SIGNATURE:CAPS"><span class="TYPE">XMLSEC_DSIG_FLAGS_STORE_SIGNATURE</span></a> flag is set).</p></td>
-<td> </td>
+<td class="struct_member_name"><p><font><span class="type">xmlSecTransformPtr</span></font> <em class="structfield"><code><a name="xmlSecDSigCtx.preSignMemBufMethod"></a>preSignMemBufMethod</code></em>;</p></td>
+<td class="struct_member_description"><p>the pointer to binary buffer right before signature
+(valid only if <a class="link" href="xmlsec-xmldsig.html#XMLSEC-DSIG-FLAGS-STORE-SIGNATURE:CAPS" title="XMLSEC_DSIG_FLAGS_STORE_SIGNATURE"><span class="type">XMLSEC_DSIG_FLAGS_STORE_SIGNATURE</span></a> flag is set).</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><font><span class="TYPE">xmlNodePtr</span></font> <code class="STRUCTFIELD">signValueNode</code>;</p></td>
-<td><p>the pointer to <dsig:SignatureValue/> node.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><font><span class="type">xmlNodePtr</span></font> <em class="structfield"><code><a name="xmlSecDSigCtx.signValueNode"></a>signValueNode</code></em>;</p></td>
+<td class="struct_member_description"><p>the pointer to <dsig:SignatureValue/> node.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><font><span class="TYPE">xmlChar</span></font> *<code class="STRUCTFIELD">id</code>;</p></td>
-<td><p>the pointer to Id attribute of <dsig:Signature/> node.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><font><span class="type">xmlChar</span></font> *<em class="structfield"><code><a name="xmlSecDSigCtx.id"></a>id</code></em>;</p></td>
+<td class="struct_member_description"><p>the pointer to Id attribute of <dsig:Signature/> node.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><a href="xmlsec-list.html#XMLSECPTRLIST"><span class="TYPE">xmlSecPtrList</span></a> <code class="STRUCTFIELD">signedInfoReferences</code>;</p></td>
-<td><p>the list of references in <dsig:SignedInfo/> node.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><a class="link" href="xmlsec-list.html#xmlSecPtrList" title="struct xmlSecPtrList"><span class="type">xmlSecPtrList</span></a> <em class="structfield"><code><a name="xmlSecDSigCtx.signedInfoReferences"></a>signedInfoReferences</code></em>;</p></td>
+<td class="struct_member_description"><p>the list of references in <dsig:SignedInfo/> node.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><a href="xmlsec-list.html#XMLSECPTRLIST"><span class="TYPE">xmlSecPtrList</span></a> <code class="STRUCTFIELD">manifestReferences</code>;</p></td>
-<td><p>the list of references in <dsig:Manifest/> nodes.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><a class="link" href="xmlsec-list.html#xmlSecPtrList" title="struct xmlSecPtrList"><span class="type">xmlSecPtrList</span></a> <em class="structfield"><code><a name="xmlSecDSigCtx.manifestReferences"></a>manifestReferences</code></em>;</p></td>
+<td class="struct_member_description"><p>the list of references in <dsig:Manifest/> nodes.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><font><span class="TYPE">void</span></font> *<code class="STRUCTFIELD">reserved0</code>;</p></td>
-<td><p>reserved for the future.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><font><span class="type">void</span></font> *<em class="structfield"><code><a name="xmlSecDSigCtx.reserved0"></a>reserved0</code></em>;</p></td>
+<td class="struct_member_description"><p>reserved for the future.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><font><span class="TYPE">void</span></font> *<code class="STRUCTFIELD">reserved1</code>;</p></td>
-<td><p>reserved for the future.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><font><span class="type">void</span></font> *<em class="structfield"><code><a name="xmlSecDSigCtx.reserved1"></a>reserved1</code></em>;</p></td>
+<td class="struct_member_description"><p>reserved for the future.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECDSIGREFERENCEORIGIN"></a><h3>enum xmlSecDSigReferenceOrigin</h3>
+<div class="refsect2">
+<a name="xmlSecDSigReferenceOrigin"></a><h3>enum xmlSecDSigReferenceOrigin</h3>
<p>The possible <dsig:Reference/> node locations: in the <dsig:SignedInfo/>
node or in the <dsig:Manifest/> node.</p>
-<div class="REFSECT3">
-<a name="AEN24883"></a><h4>Members</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN24885"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecDSigReferenceOrigin.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="enum_members_name">
+<col class="enum_members_description">
+<col width="200px" class="enum_members_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>xmlSecDSigReferenceOriginSignedInfo</p></td>
-<td><p>reference in <dsig:SignedInfo> node.</p></td>
-<td> </td>
+<td class="enum_member_name"><p><a name="xmlSecDSigReferenceOriginSignedInfo"></a>xmlSecDSigReferenceOriginSignedInfo</p></td>
+<td class="enum_member_description">
+<p>reference in <dsig:SignedInfo> node.</p>
+</td>
+<td class="enum_member_annotations"> </td>
</tr>
<tr>
-<td><p>xmlSecDSigReferenceOriginManifest</p></td>
-<td><p>reference <dsig:Manifest> node.</p></td>
-<td> </td>
+<td class="enum_member_name"><p><a name="xmlSecDSigReferenceOriginManifest"></a>xmlSecDSigReferenceOriginManifest</p></td>
+<td class="enum_member_description">
+<p>reference <dsig:Manifest> node.</p>
+</td>
+<td class="enum_member_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECDSIGREFERENCECTX"></a><h3>struct xmlSecDSigReferenceCtx</h3>
-<pre class="PROGRAMLISTING">struct xmlSecDSigReferenceCtx {
+<div class="refsect2">
+<a name="xmlSecDSigReferenceCtx"></a><h3>struct xmlSecDSigReferenceCtx</h3>
+<pre class="programlisting">struct xmlSecDSigReferenceCtx {
void* userData;
xmlSecDSigCtxPtr dsigCtx;
xmlSecDSigReferenceOrigin origin;
@@ -1258,103 +1249,101 @@ node or in the <dsig:Manifest/> node.</p>
/* reserved for future */
void* reserved0;
void* reserved1;
-};</pre>
+};
+</pre>
<p>The <dsig:Reference/> processing context.</p>
-<div class="REFSECT3">
-<a name="AEN24906"></a><h4>Members</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN24908"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecDSigReferenceCtx.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="struct_members_name">
+<col class="struct_members_description">
+<col width="200px" class="struct_members_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p><font><span class="TYPE">void</span></font> *<code class="STRUCTFIELD">userData</code>;</p></td>
-<td><p>the pointer to user data (xmlsec and xmlsec-crypto libraries
+<td class="struct_member_name"><p><font><span class="type">void</span></font> *<em class="structfield"><code><a name="xmlSecDSigReferenceCtx.userData"></a>userData</code></em>;</p></td>
+<td class="struct_member_description"><p>the pointer to user data (xmlsec and xmlsec-crypto libraries
never touches this).</p></td>
-<td> </td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><a href="xmlsec-xmldsig.html#XMLSECDSIGCTX"><span class="TYPE">xmlSecDSigCtxPtr</span></a> <code class="STRUCTFIELD">dsigCtx</code>;</p></td>
-<td><p>the pointer to "parent" <dsig:Signature/> processing context.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><font><span class="type">xmlSecDSigCtxPtr</span></font> <em class="structfield"><code><a name="xmlSecDSigReferenceCtx.dsigCtx"></a>dsigCtx</code></em>;</p></td>
+<td class="struct_member_description"><p>the pointer to "parent" <dsig:Signature/> processing context.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><a href="xmlsec-xmldsig.html#XMLSECDSIGREFERENCEORIGIN"><span class="TYPE">xmlSecDSigReferenceOrigin</span></a> <code class="STRUCTFIELD">origin</code>;</p></td>
-<td><p>the signature origin (<dsig:SignedInfo/> or <dsig:Manifest/>).</p></td>
-<td> </td>
+<td class="struct_member_name"><p><a class="link" href="xmlsec-xmldsig.html#xmlSecDSigReferenceOrigin" title="enum xmlSecDSigReferenceOrigin"><span class="type">xmlSecDSigReferenceOrigin</span></a> <em class="structfield"><code><a name="xmlSecDSigReferenceCtx.origin"></a>origin</code></em>;</p></td>
+<td class="struct_member_description"><p>the signature origin (<dsig:SignedInfo/> or <dsig:Manifest/>).</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtx</span></a> <code class="STRUCTFIELD">transformCtx</code>;</p></td>
-<td><p>the reference processing transforms context.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformCtx" title="struct xmlSecTransformCtx"><span class="type">xmlSecTransformCtx</span></a> <em class="structfield"><code><a name="xmlSecDSigReferenceCtx.transformCtx"></a>transformCtx</code></em>;</p></td>
+<td class="struct_member_description"><p>the reference processing transforms context.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> <code class="STRUCTFIELD">digestMethod</code>;</p></td>
-<td><p>the pointer to digest transform.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><font><span class="type">xmlSecTransformPtr</span></font> <em class="structfield"><code><a name="xmlSecDSigReferenceCtx.digestMethod"></a>digestMethod</code></em>;</p></td>
+<td class="struct_member_description"><p>the pointer to digest transform.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><a href="xmlsec-buffer.html#XMLSECBUFFER"><span class="TYPE">xmlSecBufferPtr</span></a> <code class="STRUCTFIELD">result</code>;</p></td>
-<td><p>the pointer to digest result.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><font><span class="type">xmlSecBufferPtr</span></font> <em class="structfield"><code><a name="xmlSecDSigReferenceCtx.result"></a>result</code></em>;</p></td>
+<td class="struct_member_description"><p>the pointer to digest result.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><a href="xmlsec-xmldsig.html#XMLSECDSIGSTATUS"><span class="TYPE">xmlSecDSigStatus</span></a> <code class="STRUCTFIELD">status</code>;</p></td>
-<td><p>the reference processing status.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><a class="link" href="xmlsec-xmldsig.html#xmlSecDSigStatus" title="enum xmlSecDSigStatus"><span class="type">xmlSecDSigStatus</span></a> <em class="structfield"><code><a name="xmlSecDSigReferenceCtx.status"></a>status</code></em>;</p></td>
+<td class="struct_member_description"><p>the reference processing status.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> <code class="STRUCTFIELD">preDigestMemBufMethod</code>;</p></td>
-<td><p>the pointer to binary buffer right before digest
+<td class="struct_member_name"><p><font><span class="type">xmlSecTransformPtr</span></font> <em class="structfield"><code><a name="xmlSecDSigReferenceCtx.preDigestMemBufMethod"></a>preDigestMemBufMethod</code></em>;</p></td>
+<td class="struct_member_description"><p>the pointer to binary buffer right before digest
(valid only if either
-<a href="xmlsec-xmldsig.html#XMLSEC-DSIG-FLAGS-STORE-SIGNEDINFO-REFERENCES:CAPS"><span class="TYPE">XMLSEC_DSIG_FLAGS_STORE_SIGNEDINFO_REFERENCES</span></a> or
-<a href="xmlsec-xmldsig.html#XMLSEC-DSIG-FLAGS-STORE-MANIFEST-REFERENCES:CAPS"><span class="TYPE">XMLSEC_DSIG_FLAGS_STORE_MANIFEST_REFERENCES</span></a> flags are set).</p></td>
-<td> </td>
+<a class="link" href="xmlsec-xmldsig.html#XMLSEC-DSIG-FLAGS-STORE-SIGNEDINFO-REFERENCES:CAPS" title="XMLSEC_DSIG_FLAGS_STORE_SIGNEDINFO_REFERENCES"><span class="type">XMLSEC_DSIG_FLAGS_STORE_SIGNEDINFO_REFERENCES</span></a> or
+<a class="link" href="xmlsec-xmldsig.html#XMLSEC-DSIG-FLAGS-STORE-MANIFEST-REFERENCES:CAPS" title="XMLSEC_DSIG_FLAGS_STORE_MANIFEST_REFERENCES"><span class="type">XMLSEC_DSIG_FLAGS_STORE_MANIFEST_REFERENCES</span></a> flags are set).</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><font><span class="TYPE">xmlChar</span></font> *<code class="STRUCTFIELD">id</code>;</p></td>
-<td><p>the <dsig:Reference/> node ID attribute.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><font><span class="type">xmlChar</span></font> *<em class="structfield"><code><a name="xmlSecDSigReferenceCtx.id"></a>id</code></em>;</p></td>
+<td class="struct_member_description"><p>the <dsig:Reference/> node ID attribute.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><font><span class="TYPE">xmlChar</span></font> *<code class="STRUCTFIELD">uri</code>;</p></td>
-<td><p>the <dsig:Reference/> node URI attribute.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><font><span class="type">xmlChar</span></font> *<em class="structfield"><code><a name="xmlSecDSigReferenceCtx.uri"></a>uri</code></em>;</p></td>
+<td class="struct_member_description"><p>the <dsig:Reference/> node URI attribute.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><font><span class="TYPE">xmlChar</span></font> *<code class="STRUCTFIELD">type</code>;</p></td>
-<td><p>the <dsig:Reference/> node Type attribute.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><font><span class="type">xmlChar</span></font> *<em class="structfield"><code><a name="xmlSecDSigReferenceCtx.type"></a>type</code></em>;</p></td>
+<td class="struct_member_description"><p>the <dsig:Reference/> node Type attribute.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><font><span class="TYPE">void</span></font> *<code class="STRUCTFIELD">reserved0</code>;</p></td>
-<td><p>reserved for the future.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><font><span class="type">void</span></font> *<em class="structfield"><code><a name="xmlSecDSigReferenceCtx.reserved0"></a>reserved0</code></em>;</p></td>
+<td class="struct_member_description"><p>reserved for the future.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><font><span class="TYPE">void</span></font> *<code class="STRUCTFIELD">reserved1</code>;</p></td>
-<td><p>reserved for the future.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><font><span class="type">void</span></font> *<em class="structfield"><code><a name="xmlSecDSigReferenceCtx.reserved1"></a>reserved1</code></em>;</p></td>
+<td class="struct_member_description"><p>reserved for the future.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECDSIGREFERENCECTXLISTID"></a><h3>xmlSecDSigReferenceCtxListId</h3>
-<pre class="PROGRAMLISTING">#define xmlSecDSigReferenceCtxListId</pre>
+<div class="refsect2">
+<a name="xmlSecDSigReferenceCtxListId"></a><h3>xmlSecDSigReferenceCtxListId</h3>
+<pre class="programlisting">#define xmlSecDSigReferenceCtxListId</pre>
<p>The references list klass.</p>
</div>
</div>
-<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td align="left"><a accesskey="p" href="xmlsec-version.html"><b><<< version</b></a></td>
-<td align="right"><a accesskey="n" href="xmlsec-xmlenc.html"><b>xmlenc >>></b></a></td>
-</tr></table>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
</td></tr></table></td>
</tr></table></body>
</html>
diff --git a/docs/api/xmlsec-xmlenc.html b/docs/api/xmlsec-xmlenc.html
index e447556..2611c1d 100644
--- a/docs/api/xmlsec-xmlenc.html
+++ b/docs/api/xmlsec-xmlenc.html
@@ -1,41 +1,14 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>xmlenc</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79">
-<link rel="HOME" title="XML Security Library Reference Manual" href="index.html">
-<link rel="UP" title="XML Security Core Library API Reference." href="xmlsec-ref.html">
-<link rel="PREVIOUS" title="xmldsig" href="xmlsec-xmldsig.html">
-<link rel="NEXT" title="xmlsec" href="xmlsec-xmlsec.html">
-<style type="text/css">.synopsis, .classsynopsis {
- background: #eeeeee;
- border: solid 1px #aaaaaa;
- padding: 0.5em;
-}
-.programlisting {
- background: #eeeeff;
- border: solid 1px #aaaaff;
- padding: 0.5em;
-}
-.variablelist {
- padding: 4px;
- margin-left: 3em;
-}
-.navigation {
- background: #ffeeee;
- border: solid 1px #ffaaaa;
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
-.navigation a {
- color: #770000;
-}
-.navigation a:visited {
- color: #550000;
-}
-.navigation .title {
- font-size: 200%;
-}</style>
+<title>xmlenc: XML Security Library Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="XML Security Library Reference Manual">
+<link rel="up" href="xmlsec-ref.html" title="XML Security Core Library API Reference.">
+<link rel="prev" href="xmlsec-xmldsig.html" title="xmldsig">
+<link rel="next" href="xmlsec-xmlsec.html" title="xmlsec">
+<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
<style type="text/css">
table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
width: 20em;
@@ -100,645 +73,654 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
</table>
</td>
<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent">
-<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td><a accesskey="p" href="xmlsec-xmldsig.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="xmlsec-ref.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description"> <span class="dim">|</span>
+ <a href="#xmlsec-xmlenc.description" class="shortcut">Description</a></span>
+</td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<th width="100%" align="center">XML Security Library Reference Manual</th>
+<td><a accesskey="u" href="xmlsec-ref.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="xmlsec-xmldsig.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="xmlsec-xmlsec.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
-<h1>
-<a name="XMLSEC-XMLENC"></a>xmlenc</h1>
-<div class="REFNAMEDIV">
-<a name="AEN25043"></a><h2>Name</h2>xmlenc -- XML Encryption support.</div>
-<div class="REFSECT1">
-<a name="XMLSEC-XMLENC.FUNCTIONS"></a><h2>Functions</h2>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN25048"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
+<div class="refentry">
+<a name="xmlsec-xmlenc"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="xmlsec-xmlenc.top_of_page"></a>xmlenc</span></h2>
+<p>xmlenc — XML Encryption support.</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="xmlsec-xmlenc.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
<tbody>
<tr>
-<td><a href="xmlsec-xmlenc.html#XMLSECENCCTX"><span class="RETURNVALUE">xmlSecEncCtxPtr</span></a></td>
-<td>
-<a href="xmlsec-xmlenc.html#XMLSECENCCTXCREATE">xmlSecEncCtxCreate</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecEncCtxPtr</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-xmlenc.html#xmlSecEncCtxCreate" title="xmlSecEncCtxCreate ()">xmlSecEncCtxCreate</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">void</span></font></td>
-<td>
-<a href="xmlsec-xmlenc.html#XMLSECENCCTXDESTROY">xmlSecEncCtxDestroy</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">void</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-xmlenc.html#xmlSecEncCtxDestroy" title="xmlSecEncCtxDestroy ()">xmlSecEncCtxDestroy</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-xmlenc.html#XMLSECENCCTXINITIALIZE">xmlSecEncCtxInitialize</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-xmlenc.html#xmlSecEncCtxInitialize" title="xmlSecEncCtxInitialize ()">xmlSecEncCtxInitialize</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">void</span></font></td>
-<td>
-<a href="xmlsec-xmlenc.html#XMLSECENCCTXFINALIZE">xmlSecEncCtxFinalize</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">void</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-xmlenc.html#xmlSecEncCtxFinalize" title="xmlSecEncCtxFinalize ()">xmlSecEncCtxFinalize</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-xmlenc.html#XMLSECENCCTXCOPYUSERPREF">xmlSecEncCtxCopyUserPref</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-xmlenc.html#xmlSecEncCtxCopyUserPref" title="xmlSecEncCtxCopyUserPref ()">xmlSecEncCtxCopyUserPref</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">void</span></font></td>
-<td>
-<a href="xmlsec-xmlenc.html#XMLSECENCCTXRESET">xmlSecEncCtxReset</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">void</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-xmlenc.html#xmlSecEncCtxReset" title="xmlSecEncCtxReset ()">xmlSecEncCtxReset</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-xmlenc.html#XMLSECENCCTXBINARYENCRYPT">xmlSecEncCtxBinaryEncrypt</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-xmlenc.html#xmlSecEncCtxBinaryEncrypt" title="xmlSecEncCtxBinaryEncrypt ()">xmlSecEncCtxBinaryEncrypt</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-xmlenc.html#XMLSECENCCTXXMLENCRYPT">xmlSecEncCtxXmlEncrypt</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-xmlenc.html#xmlSecEncCtxXmlEncrypt" title="xmlSecEncCtxXmlEncrypt ()">xmlSecEncCtxXmlEncrypt</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-xmlenc.html#XMLSECENCCTXURIENCRYPT">xmlSecEncCtxUriEncrypt</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-xmlenc.html#xmlSecEncCtxUriEncrypt" title="xmlSecEncCtxUriEncrypt ()">xmlSecEncCtxUriEncrypt</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-xmlenc.html#XMLSECENCCTXDECRYPT">xmlSecEncCtxDecrypt</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-xmlenc.html#xmlSecEncCtxDecrypt" title="xmlSecEncCtxDecrypt ()">xmlSecEncCtxDecrypt</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><a href="xmlsec-buffer.html#XMLSECBUFFER"><span class="RETURNVALUE">xmlSecBufferPtr</span></a></td>
-<td>
-<a href="xmlsec-xmlenc.html#XMLSECENCCTXDECRYPTTOBUFFER">xmlSecEncCtxDecryptToBuffer</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlSecBufferPtr</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-xmlenc.html#xmlSecEncCtxDecryptToBuffer" title="xmlSecEncCtxDecryptToBuffer ()">xmlSecEncCtxDecryptToBuffer</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">void</span></font></td>
-<td>
-<a href="xmlsec-xmlenc.html#XMLSECENCCTXDEBUGDUMP">xmlSecEncCtxDebugDump</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">void</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-xmlenc.html#xmlSecEncCtxDebugDump" title="xmlSecEncCtxDebugDump ()">xmlSecEncCtxDebugDump</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">void</span></font></td>
-<td>
-<a href="xmlsec-xmlenc.html#XMLSECENCCTXDEBUGXMLDUMP">xmlSecEncCtxDebugXmlDump</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">void</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-xmlenc.html#xmlSecEncCtxDebugXmlDump" title="xmlSecEncCtxDebugXmlDump ()">xmlSecEncCtxDebugXmlDump</a> <span class="c_punctuation">()</span>
</td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
-</div>
-<div class="REFSECT1">
-<a name="XMLSEC-XMLENC.OTHER"></a><h2>Types and Values</h2>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN25144"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="xmlsec-xmlenc.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
<tbody>
<tr>
-<td>enum</td>
-<td><a href="xmlsec-xmlenc.html#XMLENCCTXMODE">xmlEncCtxMode</a></td>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="xmlsec-xmlenc.html#xmlEncCtxMode" title="enum xmlEncCtxMode">xmlEncCtxMode</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-xmlenc.html#XMLSEC-ENC-RETURN-REPLACED-NODE:CAPS">XMLSEC_ENC_RETURN_REPLACED_NODE</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-xmlenc.html#XMLSEC-ENC-RETURN-REPLACED-NODE:CAPS" title="XMLSEC_ENC_RETURN_REPLACED_NODE">XMLSEC_ENC_RETURN_REPLACED_NODE</a></td>
</tr>
<tr>
-<td>struct</td>
-<td><a href="xmlsec-xmlenc.html#XMLSECENCCTX">xmlSecEncCtx</a></td>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="xmlsec-xmlenc.html#xmlSecEncCtx" title="struct xmlSecEncCtx">xmlSecEncCtx</a></td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
-</div>
-<div class="REFSECT1">
-<a name="XMLSEC-XMLENC.DESCRIPTION"></a><h2>Description</h2>
-<p>XML Encryption support.</p>
-</div>
-<div class="REFSECT1">
-<a name="XMLSEC-XMLENC.FUNCTIONS_DETAILS"></a><h2>Functions</h2>
-<div class="REFSECT2">
-<a name="XMLSECENCCTXCREATE"></a><h3>xmlSecEncCtxCreate ()</h3>
-<pre class="PROGRAMLISTING"><a href="xmlsec-xmlenc.html#XMLSECENCCTX"><span class="RETURNVALUE">xmlSecEncCtxPtr</span></a>
-xmlSecEncCtxCreate (<code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> keysMngr</code>);</pre>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="xmlsec-xmlenc.description"></a><h2>Description</h2>
+<p>
+XML Encryption support.
+</p>
+</div>
+<div class="refsect1">
+<a name="xmlsec-xmlenc.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="xmlSecEncCtxCreate"></a><h3>xmlSecEncCtxCreate ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecEncCtxPtr</span></font>
+xmlSecEncCtxCreate (<em class="parameter"><code><font><span class="type">xmlSecKeysMngrPtr</span></font> keysMngr</code></em>);</pre>
<p>Creates <enc:EncryptedData/> element processing context.
The caller is responsible for destroying returned object by calling
-<a href="xmlsec-xmlenc.html#XMLSECENCCTXDESTROY"><span class="TYPE">xmlSecEncCtxDestroy</span></a> function.</p>
-<div class="REFSECT3">
-<a name="AEN25177"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN25179"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<a class="link" href="xmlsec-xmlenc.html#xmlSecEncCtxDestroy" title="xmlSecEncCtxDestroy ()"><span class="type">xmlSecEncCtxDestroy</span></a> function.</p>
+<div class="refsect3">
+<a name="xmlSecEncCtxCreate.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>keysMngr</p></td>
-<td><p>the pointer to keys manager.</p></td>
-<td> </td>
+<td class="parameter_name"><p>keysMngr</p></td>
+<td class="parameter_description"><p>the pointer to keys manager.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN25188"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecEncCtxCreate.returns"></a><h4>Returns</h4>
<p> pointer to newly allocated context object or NULL if an error
occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECENCCTXDESTROY"></a><h3>xmlSecEncCtxDestroy ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">void</span></font>
-xmlSecEncCtxDestroy (<code class="PARAMETER"><a href="xmlsec-xmlenc.html#XMLSECENCCTX"><span class="TYPE">xmlSecEncCtxPtr</span></a> encCtx</code>);</pre>
-<p>Destroy context object created with <a href="xmlsec-xmlenc.html#XMLSECENCCTXCREATE"><span class="TYPE">xmlSecEncCtxCreate</span></a> function.</p>
-<div class="REFSECT3">
-<a name="AEN25204"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN25206"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect2">
+<a name="xmlSecEncCtxDestroy"></a><h3>xmlSecEncCtxDestroy ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">void</span></font>
+xmlSecEncCtxDestroy (<em class="parameter"><code><font><span class="type">xmlSecEncCtxPtr</span></font> encCtx</code></em>);</pre>
+<p>Destroy context object created with <a class="link" href="xmlsec-xmlenc.html#xmlSecEncCtxCreate" title="xmlSecEncCtxCreate ()"><span class="type">xmlSecEncCtxCreate</span></a> function.</p>
+<div class="refsect3">
+<a name="xmlSecEncCtxDestroy.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>encCtx</p></td>
-<td><p>the pointer to <enc:EncryptedData/> processing context.</p></td>
-<td> </td>
+<td class="parameter_name"><p>encCtx</p></td>
+<td class="parameter_description"><p>the pointer to <enc:EncryptedData/> processing context.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECENCCTXINITIALIZE"></a><h3>xmlSecEncCtxInitialize ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecEncCtxInitialize (<code class="PARAMETER"><a href="xmlsec-xmlenc.html#XMLSECENCCTX"><span class="TYPE">xmlSecEncCtxPtr</span></a> encCtx</code>,
- <code class="PARAMETER"><a href="xmlsec-keysmngr.html#XMLSECKEYSMNGR"><span class="TYPE">xmlSecKeysMngrPtr</span></a> keysMngr</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecEncCtxInitialize"></a><h3>xmlSecEncCtxInitialize ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecEncCtxInitialize (<em class="parameter"><code><font><span class="type">xmlSecEncCtxPtr</span></font> encCtx</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlSecKeysMngrPtr</span></font> keysMngr</code></em>);</pre>
<p>Initializes <enc:EncryptedData/> element processing context.
The caller is responsible for cleaning up returned object by calling
-<a href="xmlsec-xmlenc.html#XMLSECENCCTXFINALIZE"><span class="TYPE">xmlSecEncCtxFinalize</span></a> function.</p>
-<div class="REFSECT3">
-<a name="AEN25231"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN25233"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<a class="link" href="xmlsec-xmlenc.html#xmlSecEncCtxFinalize" title="xmlSecEncCtxFinalize ()"><span class="type">xmlSecEncCtxFinalize</span></a> function.</p>
+<div class="refsect3">
+<a name="xmlSecEncCtxInitialize.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>encCtx</p></td>
-<td><p>the pointer to <enc:EncryptedData/> processing context.</p></td>
-<td> </td>
+<td class="parameter_name"><p>encCtx</p></td>
+<td class="parameter_description"><p>the pointer to <enc:EncryptedData/> processing context.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>keysMngr</p></td>
-<td><p>the pointer to keys manager.</p></td>
-<td> </td>
+<td class="parameter_name"><p>keysMngr</p></td>
+<td class="parameter_description"><p>the pointer to keys manager.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN25248"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecEncCtxInitialize.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECENCCTXFINALIZE"></a><h3>xmlSecEncCtxFinalize ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">void</span></font>
-xmlSecEncCtxFinalize (<code class="PARAMETER"><a href="xmlsec-xmlenc.html#XMLSECENCCTX"><span class="TYPE">xmlSecEncCtxPtr</span></a> encCtx</code>);</pre>
-<p>Cleans up <code class="PARAMETER">encCtx</code>
+<div class="refsect2">
+<a name="xmlSecEncCtxFinalize"></a><h3>xmlSecEncCtxFinalize ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">void</span></font>
+xmlSecEncCtxFinalize (<em class="parameter"><code><font><span class="type">xmlSecEncCtxPtr</span></font> encCtx</code></em>);</pre>
+<p>Cleans up <em class="parameter"><code>encCtx</code></em>
object.</p>
-<div class="REFSECT3">
-<a name="AEN25263"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN25265"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecEncCtxFinalize.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>encCtx</p></td>
-<td><p>the pointer to <enc:EncryptedData/> processing context.</p></td>
-<td> </td>
+<td class="parameter_name"><p>encCtx</p></td>
+<td class="parameter_description"><p>the pointer to <enc:EncryptedData/> processing context.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECENCCTXCOPYUSERPREF"></a><h3>xmlSecEncCtxCopyUserPref ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecEncCtxCopyUserPref (<code class="PARAMETER"><a href="xmlsec-xmlenc.html#XMLSECENCCTX"><span class="TYPE">xmlSecEncCtxPtr</span></a> dst</code>,
- <code class="PARAMETER"><a href="xmlsec-xmlenc.html#XMLSECENCCTX"><span class="TYPE">xmlSecEncCtxPtr</span></a> src</code>);</pre>
-<p>Copies user preference from <code class="PARAMETER">src</code>
- context to <code class="PARAMETER">dst</code>
+<div class="refsect2">
+<a name="xmlSecEncCtxCopyUserPref"></a><h3>xmlSecEncCtxCopyUserPref ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecEncCtxCopyUserPref (<em class="parameter"><code><font><span class="type">xmlSecEncCtxPtr</span></font> dst</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlSecEncCtxPtr</span></font> src</code></em>);</pre>
+<p>Copies user preference from <em class="parameter"><code>src</code></em>
+ context to <em class="parameter"><code>dst</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN25290"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN25292"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecEncCtxCopyUserPref.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>dst</p></td>
-<td><p>the pointer to destination context.</p></td>
-<td> </td>
+<td class="parameter_name"><p>dst</p></td>
+<td class="parameter_description"><p>the pointer to destination context.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>src</p></td>
-<td><p>the pointer to source context.</p></td>
-<td> </td>
+<td class="parameter_name"><p>src</p></td>
+<td class="parameter_description"><p>the pointer to source context.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN25307"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecEncCtxCopyUserPref.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECENCCTXRESET"></a><h3>xmlSecEncCtxReset ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">void</span></font>
-xmlSecEncCtxReset (<code class="PARAMETER"><a href="xmlsec-xmlenc.html#XMLSECENCCTX"><span class="TYPE">xmlSecEncCtxPtr</span></a> encCtx</code>);</pre>
-<p>Resets <code class="PARAMETER">encCtx</code>
+<div class="refsect2">
+<a name="xmlSecEncCtxReset"></a><h3>xmlSecEncCtxReset ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">void</span></font>
+xmlSecEncCtxReset (<em class="parameter"><code><font><span class="type">xmlSecEncCtxPtr</span></font> encCtx</code></em>);</pre>
+<p>Resets <em class="parameter"><code>encCtx</code></em>
object, user settings are not touched.</p>
-<div class="REFSECT3">
-<a name="AEN25322"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN25324"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecEncCtxReset.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>encCtx</p></td>
-<td><p>the pointer to <enc:EncryptedData/> processing context.</p></td>
-<td> </td>
+<td class="parameter_name"><p>encCtx</p></td>
+<td class="parameter_description"><p>the pointer to <enc:EncryptedData/> processing context.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECENCCTXBINARYENCRYPT"></a><h3>xmlSecEncCtxBinaryEncrypt ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecEncCtxBinaryEncrypt (<code class="PARAMETER"><a href="xmlsec-xmlenc.html#XMLSECENCCTX"><span class="TYPE">xmlSecEncCtxPtr</span></a> encCtx</code>,
- <code class="PARAMETER"><font><span class="TYPE">xmlNodePtr</span></font> tmpl</code>,
- <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>,
- <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> dataSize</code>);</pre>
-<p>Encrypts <code class="PARAMETER">data</code>
- according to template <code class="PARAMETER">tmpl</code>
+<div class="refsect2">
+<a name="xmlSecEncCtxBinaryEncrypt"></a><h3>xmlSecEncCtxBinaryEncrypt ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecEncCtxBinaryEncrypt (<em class="parameter"><code><font><span class="type">xmlSecEncCtxPtr</span></font> encCtx</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlNodePtr</span></font> tmpl</code></em>,
+ <em class="parameter"><code>const <a class="link" href="xmlsec-xmlsec.html#xmlSecByte" title="xmlSecByte"><span class="type">xmlSecByte</span></a> *data</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="type">xmlSecSize</span></a> dataSize</code></em>);</pre>
+<p>Encrypts <em class="parameter"><code>data</code></em>
+ according to template <em class="parameter"><code>tmpl</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN25355"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN25357"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecEncCtxBinaryEncrypt.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>encCtx</p></td>
-<td><p>the pointer to <enc:EncryptedData/> processing context.</p></td>
-<td> </td>
+<td class="parameter_name"><p>encCtx</p></td>
+<td class="parameter_description"><p>the pointer to <enc:EncryptedData/> processing context.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>tmpl</p></td>
-<td><p>the pointer to <enc:EncryptedData/> template node.</p></td>
-<td> </td>
+<td class="parameter_name"><p>tmpl</p></td>
+<td class="parameter_description"><p>the pointer to <enc:EncryptedData/> template node.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>data</p></td>
-<td><p>the pointer for binary buffer.</p></td>
-<td> </td>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>the pointer for binary buffer.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>dataSize</p></td>
-<td><p>the <code class="PARAMETER">data</code>
+<td class="parameter_name"><p>dataSize</p></td>
+<td class="parameter_description"><p>the <em class="parameter"><code>data</code></em>
buffer size.</p></td>
-<td> </td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN25385"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecEncCtxBinaryEncrypt.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECENCCTXXMLENCRYPT"></a><h3>xmlSecEncCtxXmlEncrypt ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecEncCtxXmlEncrypt (<code class="PARAMETER"><a href="xmlsec-xmlenc.html#XMLSECENCCTX"><span class="TYPE">xmlSecEncCtxPtr</span></a> encCtx</code>,
- <code class="PARAMETER"><font><span class="TYPE">xmlNodePtr</span></font> tmpl</code>,
- <code class="PARAMETER"><font><span class="TYPE">xmlNodePtr</span></font> node</code>);</pre>
-<p>Encrypts <code class="PARAMETER">node</code>
- according to template <code class="PARAMETER">tmpl</code>
-. If requested, <code class="PARAMETER">node</code>
+<div class="refsect2">
+<a name="xmlSecEncCtxXmlEncrypt"></a><h3>xmlSecEncCtxXmlEncrypt ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecEncCtxXmlEncrypt (<em class="parameter"><code><font><span class="type">xmlSecEncCtxPtr</span></font> encCtx</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlNodePtr</span></font> tmpl</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlNodePtr</span></font> node</code></em>);</pre>
+<p>Encrypts <em class="parameter"><code>node</code></em>
+ according to template <em class="parameter"><code>tmpl</code></em>
+. If requested, <em class="parameter"><code>node</code></em>
is replaced
with result <enc:EncryptedData/> node.</p>
-<div class="REFSECT3">
-<a name="AEN25408"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN25410"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecEncCtxXmlEncrypt.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>encCtx</p></td>
-<td><p>the pointer to <enc:EncryptedData/> processing context.</p></td>
-<td> </td>
+<td class="parameter_name"><p>encCtx</p></td>
+<td class="parameter_description"><p>the pointer to <enc:EncryptedData/> processing context.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>tmpl</p></td>
-<td><p>the pointer to <enc:EncryptedData/> template node.</p></td>
-<td> </td>
+<td class="parameter_name"><p>tmpl</p></td>
+<td class="parameter_description"><p>the pointer to <enc:EncryptedData/> template node.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>node</p></td>
-<td><p>the pointer to node for encryption.</p></td>
-<td> </td>
+<td class="parameter_name"><p>node</p></td>
+<td class="parameter_description"><p>the pointer to node for encryption.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN25431"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecEncCtxXmlEncrypt.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECENCCTXURIENCRYPT"></a><h3>xmlSecEncCtxUriEncrypt ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecEncCtxUriEncrypt (<code class="PARAMETER"><a href="xmlsec-xmlenc.html#XMLSECENCCTX"><span class="TYPE">xmlSecEncCtxPtr</span></a> encCtx</code>,
- <code class="PARAMETER"><font><span class="TYPE">xmlNodePtr</span></font> tmpl</code>,
- <code class="PARAMETER">const <font><span class="TYPE">xmlChar</span></font> *uri</code>);</pre>
-<p>Encrypts data from <code class="PARAMETER">uri</code>
- according to template <code class="PARAMETER">tmpl</code>
+<div class="refsect2">
+<a name="xmlSecEncCtxUriEncrypt"></a><h3>xmlSecEncCtxUriEncrypt ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecEncCtxUriEncrypt (<em class="parameter"><code><font><span class="type">xmlSecEncCtxPtr</span></font> encCtx</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlNodePtr</span></font> tmpl</code></em>,
+ <em class="parameter"><code>const <font><span class="type">xmlChar</span></font> *uri</code></em>);</pre>
+<p>Encrypts data from <em class="parameter"><code>uri</code></em>
+ according to template <em class="parameter"><code>tmpl</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN25453"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN25455"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecEncCtxUriEncrypt.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>encCtx</p></td>
-<td><p>the pointer to <enc:EncryptedData/> processing context.</p></td>
-<td> </td>
+<td class="parameter_name"><p>encCtx</p></td>
+<td class="parameter_description"><p>the pointer to <enc:EncryptedData/> processing context.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>tmpl</p></td>
-<td><p>the pointer to <enc:EncryptedData/> template node.</p></td>
-<td> </td>
+<td class="parameter_name"><p>tmpl</p></td>
+<td class="parameter_description"><p>the pointer to <enc:EncryptedData/> template node.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>uri</p></td>
-<td><p>the URI.</p></td>
-<td> </td>
+<td class="parameter_name"><p>uri</p></td>
+<td class="parameter_description"><p>the URI.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN25476"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecEncCtxUriEncrypt.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECENCCTXDECRYPT"></a><h3>xmlSecEncCtxDecrypt ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecEncCtxDecrypt (<code class="PARAMETER"><a href="xmlsec-xmlenc.html#XMLSECENCCTX"><span class="TYPE">xmlSecEncCtxPtr</span></a> encCtx</code>,
- <code class="PARAMETER"><font><span class="TYPE">xmlNodePtr</span></font> node</code>);</pre>
-<p>Decrypts <code class="PARAMETER">node</code>
- and if necessary replaces <code class="PARAMETER">node</code>
+<div class="refsect2">
+<a name="xmlSecEncCtxDecrypt"></a><h3>xmlSecEncCtxDecrypt ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecEncCtxDecrypt (<em class="parameter"><code><font><span class="type">xmlSecEncCtxPtr</span></font> encCtx</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlNodePtr</span></font> node</code></em>);</pre>
+<p>Decrypts <em class="parameter"><code>node</code></em>
+ and if necessary replaces <em class="parameter"><code>node</code></em>
with decrypted data.</p>
-<div class="REFSECT3">
-<a name="AEN25495"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN25497"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecEncCtxDecrypt.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>encCtx</p></td>
-<td><p>the pointer to <enc:EncryptedData/> processing context.</p></td>
-<td> </td>
+<td class="parameter_name"><p>encCtx</p></td>
+<td class="parameter_description"><p>the pointer to <enc:EncryptedData/> processing context.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>node</p></td>
-<td><p>the pointer to <enc:EncryptedData/> node.</p></td>
-<td> </td>
+<td class="parameter_name"><p>node</p></td>
+<td class="parameter_description"><p>the pointer to <enc:EncryptedData/> node.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN25512"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecEncCtxDecrypt.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECENCCTXDECRYPTTOBUFFER"></a><h3>xmlSecEncCtxDecryptToBuffer ()</h3>
-<pre class="PROGRAMLISTING"><a href="xmlsec-buffer.html#XMLSECBUFFER"><span class="RETURNVALUE">xmlSecBufferPtr</span></a>
-xmlSecEncCtxDecryptToBuffer (<code class="PARAMETER"><a href="xmlsec-xmlenc.html#XMLSECENCCTX"><span class="TYPE">xmlSecEncCtxPtr</span></a> encCtx</code>,
- <code class="PARAMETER"><font><span class="TYPE">xmlNodePtr</span></font> node</code>);</pre>
-<p>Decrypts <code class="PARAMETER">node</code>
- data to the <code class="PARAMETER">encCtx</code>
+<div class="refsect2">
+<a name="xmlSecEncCtxDecryptToBuffer"></a><h3>xmlSecEncCtxDecryptToBuffer ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlSecBufferPtr</span></font>
+xmlSecEncCtxDecryptToBuffer (<em class="parameter"><code><font><span class="type">xmlSecEncCtxPtr</span></font> encCtx</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlNodePtr</span></font> node</code></em>);</pre>
+<p>Decrypts <em class="parameter"><code>node</code></em>
+ data to the <em class="parameter"><code>encCtx</code></em>
buffer.</p>
-<div class="REFSECT3">
-<a name="AEN25531"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN25533"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecEncCtxDecryptToBuffer.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>encCtx</p></td>
-<td><p>the pointer to <enc:EncryptedData/> processing context.</p></td>
-<td> </td>
+<td class="parameter_name"><p>encCtx</p></td>
+<td class="parameter_description"><p>the pointer to <enc:EncryptedData/> processing context.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>node</p></td>
-<td><p>the pointer to <enc:EncryptedData/> node.</p></td>
-<td> </td>
+<td class="parameter_name"><p>node</p></td>
+<td class="parameter_description"><p>the pointer to <enc:EncryptedData/> node.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN25548"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecEncCtxDecryptToBuffer.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECENCCTXDEBUGDUMP"></a><h3>xmlSecEncCtxDebugDump ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">void</span></font>
-xmlSecEncCtxDebugDump (<code class="PARAMETER"><a href="xmlsec-xmlenc.html#XMLSECENCCTX"><span class="TYPE">xmlSecEncCtxPtr</span></a> encCtx</code>,
- <code class="PARAMETER"><font><span class="TYPE">FILE</span></font> *output</code>);</pre>
-<p>Prints the debug information about <code class="PARAMETER">encCtx</code>
- to <code class="PARAMETER">output</code>
+<div class="refsect2">
+<a name="xmlSecEncCtxDebugDump"></a><h3>xmlSecEncCtxDebugDump ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">void</span></font>
+xmlSecEncCtxDebugDump (<em class="parameter"><code><font><span class="type">xmlSecEncCtxPtr</span></font> encCtx</code></em>,
+ <em class="parameter"><code><font><span class="type">FILE</span></font> *output</code></em>);</pre>
+<p>Prints the debug information about <em class="parameter"><code>encCtx</code></em>
+ to <em class="parameter"><code>output</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN25567"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN25569"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecEncCtxDebugDump.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>encCtx</p></td>
-<td><p>the pointer to <enc:EncryptedData/> processing context.</p></td>
-<td> </td>
+<td class="parameter_name"><p>encCtx</p></td>
+<td class="parameter_description"><p>the pointer to <enc:EncryptedData/> processing context.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>output</p></td>
-<td><p>the pointer to output FILE.</p></td>
-<td> </td>
+<td class="parameter_name"><p>output</p></td>
+<td class="parameter_description"><p>the pointer to output FILE.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECENCCTXDEBUGXMLDUMP"></a><h3>xmlSecEncCtxDebugXmlDump ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">void</span></font>
-xmlSecEncCtxDebugXmlDump (<code class="PARAMETER"><a href="xmlsec-xmlenc.html#XMLSECENCCTX"><span class="TYPE">xmlSecEncCtxPtr</span></a> encCtx</code>,
- <code class="PARAMETER"><font><span class="TYPE">FILE</span></font> *output</code>);</pre>
-<p>Prints the debug information about <code class="PARAMETER">encCtx</code>
- to <code class="PARAMETER">output</code>
+<div class="refsect2">
+<a name="xmlSecEncCtxDebugXmlDump"></a><h3>xmlSecEncCtxDebugXmlDump ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">void</span></font>
+xmlSecEncCtxDebugXmlDump (<em class="parameter"><code><font><span class="type">xmlSecEncCtxPtr</span></font> encCtx</code></em>,
+ <em class="parameter"><code><font><span class="type">FILE</span></font> *output</code></em>);</pre>
+<p>Prints the debug information about <em class="parameter"><code>encCtx</code></em>
+ to <em class="parameter"><code>output</code></em>
in XML format.</p>
-<div class="REFSECT3">
-<a name="AEN25600"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN25602"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecEncCtxDebugXmlDump.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>encCtx</p></td>
-<td><p>the pointer to <enc:EncryptedData/> processing context.</p></td>
-<td> </td>
+<td class="parameter_name"><p>encCtx</p></td>
+<td class="parameter_description"><p>the pointer to <enc:EncryptedData/> processing context.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>output</p></td>
-<td><p>the pointer to output FILE.</p></td>
-<td> </td>
+<td class="parameter_name"><p>output</p></td>
+<td class="parameter_description"><p>the pointer to output FILE.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
-</div>
-</div>
-</div>
-<div class="REFSECT1">
-<a name="XMLSEC-XMLENC.OTHER_DETAILS"></a><h2>Types and Values</h2>
-<div class="REFSECT2">
-<a name="XMLENCCTXMODE"></a><h3>enum xmlEncCtxMode</h3>
-<p>The <a href="xmlsec-xmlenc.html#XMLSECENCCTX"><span class="TYPE">xmlSecEncCtx</span></a> mode.</p>
-<div class="REFSECT3">
-<a name="AEN25626"></a><h4>Members</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN25628"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+</table></div>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="xmlsec-xmlenc.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="xmlEncCtxMode"></a><h3>enum xmlEncCtxMode</h3>
+<p>The <a class="link" href="xmlsec-xmlenc.html#xmlSecEncCtx" title="struct xmlSecEncCtx"><span class="type">xmlSecEncCtx</span></a> mode.</p>
+<div class="refsect3">
+<a name="xmlEncCtxMode.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="enum_members_name">
+<col class="enum_members_description">
+<col width="200px" class="enum_members_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>xmlEncCtxModeEncryptedData</p></td>
-<td><p>the <enc:EncryptedData/> element procesing.</p></td>
-<td> </td>
+<td class="enum_member_name"><p><a name="xmlEncCtxModeEncryptedData"></a>xmlEncCtxModeEncryptedData</p></td>
+<td class="enum_member_description">
+<p>the <enc:EncryptedData/> element procesing.</p>
+</td>
+<td class="enum_member_annotations"> </td>
</tr>
<tr>
-<td><p>xmlEncCtxModeEncryptedKey</p></td>
-<td><p>the <enc:EncryptedKey/> element processing.</p></td>
-<td> </td>
+<td class="enum_member_name"><p><a name="xmlEncCtxModeEncryptedKey"></a>xmlEncCtxModeEncryptedKey</p></td>
+<td class="enum_member_description">
+<p>the <enc:EncryptedKey/> element processing.</p>
+</td>
+<td class="enum_member_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
+<div class="refsect2">
<a name="XMLSEC-ENC-RETURN-REPLACED-NODE:CAPS"></a><h3>XMLSEC_ENC_RETURN_REPLACED_NODE</h3>
-<pre class="PROGRAMLISTING">#define XMLSEC_ENC_RETURN_REPLACED_NODE 0x00000001</pre>
+<pre class="programlisting">#define XMLSEC_ENC_RETURN_REPLACED_NODE 0x00000001
+</pre>
<p>If this flag is set, then the replaced node will be returned in the replacedNodeList</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECENCCTX"></a><h3>struct xmlSecEncCtx</h3>
-<pre class="PROGRAMLISTING">struct xmlSecEncCtx {
+<div class="refsect2">
+<a name="xmlSecEncCtx"></a><h3>struct xmlSecEncCtx</h3>
+<pre class="programlisting">struct xmlSecEncCtx {
/* these data user can set before performing the operation */
void* userData;
unsigned int flags;
@@ -773,167 +755,165 @@ xmlSecEncCtxDebugXmlDump (<code class="PARAMETER"><a href="xmlsec-xmlenc.html#XM
xmlNodePtr replacedNodeList; /* the pointer to the replaced node */
void* reserved1; /* reserved for future */
-};</pre>
+};
+</pre>
<p>XML Encrypiton context.</p>
-<div class="REFSECT3">
-<a name="AEN25655"></a><h4>Members</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN25657"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecEncCtx.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="struct_members_name">
+<col class="struct_members_description">
+<col width="200px" class="struct_members_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p><font><span class="TYPE">void</span></font> *<code class="STRUCTFIELD">userData</code>;</p></td>
-<td><p>the pointer to user data (xmlsec and xmlsec-crypto libraries
+<td class="struct_member_name"><p><font><span class="type">void</span></font> *<em class="structfield"><code><a name="xmlSecEncCtx.userData"></a>userData</code></em>;</p></td>
+<td class="struct_member_description"><p>the pointer to user data (xmlsec and xmlsec-crypto libraries
never touches this).</p></td>
-<td> </td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p>unsigned <font><span class="TYPE">int</span></font> <code class="STRUCTFIELD">flags</code>;</p></td>
-<td><p>the XML Encryption processing flags.</p></td>
-<td> </td>
+<td class="struct_member_name"><p>unsigned <font><span class="type">int</span></font> <em class="structfield"><code><a name="xmlSecEncCtx.flags"></a>flags</code></em>;</p></td>
+<td class="struct_member_description"><p>the XML Encryption processing flags.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p>unsigned <font><span class="TYPE">int</span></font> <code class="STRUCTFIELD">flags2</code>;</p></td>
-<td><p>the XML Encryption processing flags.</p></td>
-<td> </td>
+<td class="struct_member_name"><p>unsigned <font><span class="type">int</span></font> <em class="structfield"><code><a name="xmlSecEncCtx.flags2"></a>flags2</code></em>;</p></td>
+<td class="struct_member_description"><p>the XML Encryption processing flags.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><a href="xmlsec-xmlenc.html#XMLENCCTXMODE"><span class="TYPE">xmlEncCtxMode</span></a> <code class="STRUCTFIELD">mode</code>;</p></td>
-<td><p>the mode.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><a class="link" href="xmlsec-xmlenc.html#xmlEncCtxMode" title="enum xmlEncCtxMode"><span class="type">xmlEncCtxMode</span></a> <em class="structfield"><code><a name="xmlSecEncCtx.mode"></a>mode</code></em>;</p></td>
+<td class="struct_member_description"><p>the mode.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTX"><span class="TYPE">xmlSecKeyInfoCtx</span></a> <code class="STRUCTFIELD">keyInfoReadCtx</code>;</p></td>
-<td><p>the reading key context.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><a class="link" href="xmlsec-keyinfo.html#xmlSecKeyInfoCtx" title="struct xmlSecKeyInfoCtx"><span class="type">xmlSecKeyInfoCtx</span></a> <em class="structfield"><code><a name="xmlSecEncCtx.keyInfoReadCtx"></a>keyInfoReadCtx</code></em>;</p></td>
+<td class="struct_member_description"><p>the reading key context.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><a href="xmlsec-keyinfo.html#XMLSECKEYINFOCTX"><span class="TYPE">xmlSecKeyInfoCtx</span></a> <code class="STRUCTFIELD">keyInfoWriteCtx</code>;</p></td>
-<td><p>the writing key context (not used for signature verification).</p></td>
-<td> </td>
+<td class="struct_member_name"><p><a class="link" href="xmlsec-keyinfo.html#xmlSecKeyInfoCtx" title="struct xmlSecKeyInfoCtx"><span class="type">xmlSecKeyInfoCtx</span></a> <em class="structfield"><code><a name="xmlSecEncCtx.keyInfoWriteCtx"></a>keyInfoWriteCtx</code></em>;</p></td>
+<td class="struct_member_description"><p>the writing key context (not used for signature verification).</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtx</span></a> <code class="STRUCTFIELD">transformCtx</code>;</p></td>
-<td><p>the transforms processing context.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformCtx" title="struct xmlSecTransformCtx"><span class="type">xmlSecTransformCtx</span></a> <em class="structfield"><code><a name="xmlSecEncCtx.transformCtx"></a>transformCtx</code></em>;</p></td>
+<td class="struct_member_description"><p>the transforms processing context.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><font><span class="TYPE">xmlSecTransformId</span></font> <code class="STRUCTFIELD">defEncMethodId</code>;</p></td>
-<td><p>the default encryption method (used if
+<td class="struct_member_name"><p><font><span class="type">xmlSecTransformId</span></font> <em class="structfield"><code><a name="xmlSecEncCtx.defEncMethodId"></a>defEncMethodId</code></em>;</p></td>
+<td class="struct_member_description"><p>the default encryption method (used if
<enc:EncryptionMethod/> node is not present).</p></td>
-<td> </td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> <code class="STRUCTFIELD">encKey</code>;</p></td>
-<td><p>the signature key; application may set <font><span class="TYPE">encKey</span></font>
+<td class="struct_member_name"><p><font><span class="type">xmlSecKeyPtr</span></font> <em class="structfield"><code><a name="xmlSecEncCtx.encKey"></a>encKey</code></em>;</p></td>
+<td class="struct_member_description"><p>the signature key; application may set <font><span class="type">encKey</span></font>
before calling encryption/decryption functions.</p></td>
-<td> </td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><a href="xmlsec-transforms.html#XMLSECTRANSFORMOPERATION"><span class="TYPE">xmlSecTransformOperation</span></a> <code class="STRUCTFIELD">operation</code>;</p></td>
-<td><p>the operation: encrypt or decrypt.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><a class="link" href="xmlsec-transforms.html#xmlSecTransformOperation" title="enum xmlSecTransformOperation"><span class="type">xmlSecTransformOperation</span></a> <em class="structfield"><code><a name="xmlSecEncCtx.operation"></a>operation</code></em>;</p></td>
+<td class="struct_member_description"><p>the operation: encrypt or decrypt.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><a href="xmlsec-buffer.html#XMLSECBUFFER"><span class="TYPE">xmlSecBufferPtr</span></a> <code class="STRUCTFIELD">result</code>;</p></td>
-<td><p>the pointer to signature (not valid for signature verification).</p></td>
-<td> </td>
+<td class="struct_member_name"><p><font><span class="type">xmlSecBufferPtr</span></font> <em class="structfield"><code><a name="xmlSecEncCtx.result"></a>result</code></em>;</p></td>
+<td class="struct_member_description"><p>the pointer to signature (not valid for signature verification).</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><font><span class="TYPE">int</span></font> <code class="STRUCTFIELD">resultBase64Encoded</code>;</p></td>
-<td><p>the flag: if set then result in <font><span class="TYPE">result</span></font> is base64 encoded.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><font><span class="type">int</span></font> <em class="structfield"><code><a name="xmlSecEncCtx.resultBase64Encoded"></a>resultBase64Encoded</code></em>;</p></td>
+<td class="struct_member_description"><p>the flag: if set then result in <font><span class="type">result</span></font> is base64 encoded.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><font><span class="TYPE">int</span></font> <code class="STRUCTFIELD">resultReplaced</code>;</p></td>
-<td><p>the flag: if set then resulted <enc:EncryptedData/>
+<td class="struct_member_name"><p><font><span class="type">int</span></font> <em class="structfield"><code><a name="xmlSecEncCtx.resultReplaced"></a>resultReplaced</code></em>;</p></td>
+<td class="struct_member_description"><p>the flag: if set then resulted <enc:EncryptedData/>
or <enc:EncryptedKey/> node is added to the document.</p></td>
-<td> </td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> <code class="STRUCTFIELD">encMethod</code>;</p></td>
-<td><p>the pointer to encryption transform.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><font><span class="type">xmlSecTransformPtr</span></font> <em class="structfield"><code><a name="xmlSecEncCtx.encMethod"></a>encMethod</code></em>;</p></td>
+<td class="struct_member_description"><p>the pointer to encryption transform.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><font><span class="TYPE">xmlChar</span></font> *<code class="STRUCTFIELD">id</code>;</p></td>
-<td><p>the ID attribute of <enc:EncryptedData/>
+<td class="struct_member_name"><p><font><span class="type">xmlChar</span></font> *<em class="structfield"><code><a name="xmlSecEncCtx.id"></a>id</code></em>;</p></td>
+<td class="struct_member_description"><p>the ID attribute of <enc:EncryptedData/>
or <enc:EncryptedKey/> node.</p></td>
-<td> </td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><font><span class="TYPE">xmlChar</span></font> *<code class="STRUCTFIELD">type</code>;</p></td>
-<td><p>the Type attribute of <enc:EncryptedData/>
+<td class="struct_member_name"><p><font><span class="type">xmlChar</span></font> *<em class="structfield"><code><a name="xmlSecEncCtx.type"></a>type</code></em>;</p></td>
+<td class="struct_member_description"><p>the Type attribute of <enc:EncryptedData/>
or <enc:EncryptedKey/> node.</p></td>
-<td> </td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><font><span class="TYPE">xmlChar</span></font> *<code class="STRUCTFIELD">mimeType</code>;</p></td>
-<td><p>the MimeType attribute of <enc:EncryptedData/>
+<td class="struct_member_name"><p><font><span class="type">xmlChar</span></font> *<em class="structfield"><code><a name="xmlSecEncCtx.mimeType"></a>mimeType</code></em>;</p></td>
+<td class="struct_member_description"><p>the MimeType attribute of <enc:EncryptedData/>
or <enc:EncryptedKey/> node.</p></td>
-<td> </td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><font><span class="TYPE">xmlChar</span></font> *<code class="STRUCTFIELD">encoding</code>;</p></td>
-<td><p>the Encoding attributeof <enc:EncryptedData/>
+<td class="struct_member_name"><p><font><span class="type">xmlChar</span></font> *<em class="structfield"><code><a name="xmlSecEncCtx.encoding"></a>encoding</code></em>;</p></td>
+<td class="struct_member_description"><p>the Encoding attributeof <enc:EncryptedData/>
or <enc:EncryptedKey/> node.</p></td>
-<td> </td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><font><span class="TYPE">xmlChar</span></font> *<code class="STRUCTFIELD">recipient</code>;</p></td>
-<td><p>the Recipient attribute of <enc:EncryptedKey/> node..</p></td>
-<td> </td>
+<td class="struct_member_name"><p><font><span class="type">xmlChar</span></font> *<em class="structfield"><code><a name="xmlSecEncCtx.recipient"></a>recipient</code></em>;</p></td>
+<td class="struct_member_description"><p>the Recipient attribute of <enc:EncryptedKey/> node..</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><font><span class="TYPE">xmlChar</span></font> *<code class="STRUCTFIELD">carriedKeyName</code>;</p></td>
-<td><p>the CarriedKeyName attribute of <enc:EncryptedKey/> node.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><font><span class="type">xmlChar</span></font> *<em class="structfield"><code><a name="xmlSecEncCtx.carriedKeyName"></a>carriedKeyName</code></em>;</p></td>
+<td class="struct_member_description"><p>the CarriedKeyName attribute of <enc:EncryptedKey/> node.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><font><span class="TYPE">xmlNodePtr</span></font> <code class="STRUCTFIELD">encDataNode</code>;</p></td>
-<td><p>the pointer to <enc:EncryptedData/>
+<td class="struct_member_name"><p><font><span class="type">xmlNodePtr</span></font> <em class="structfield"><code><a name="xmlSecEncCtx.encDataNode"></a>encDataNode</code></em>;</p></td>
+<td class="struct_member_description"><p>the pointer to <enc:EncryptedData/>
or <enc:EncryptedKey/> node.</p></td>
-<td> </td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><font><span class="TYPE">xmlNodePtr</span></font> <code class="STRUCTFIELD">encMethodNode</code>;</p></td>
-<td><p>the pointer to <enc:EncryptionMethod/> node.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><font><span class="type">xmlNodePtr</span></font> <em class="structfield"><code><a name="xmlSecEncCtx.encMethodNode"></a>encMethodNode</code></em>;</p></td>
+<td class="struct_member_description"><p>the pointer to <enc:EncryptionMethod/> node.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><font><span class="TYPE">xmlNodePtr</span></font> <code class="STRUCTFIELD">keyInfoNode</code>;</p></td>
-<td><p>the pointer to <enc:KeyInfo/> node.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><font><span class="type">xmlNodePtr</span></font> <em class="structfield"><code><a name="xmlSecEncCtx.keyInfoNode"></a>keyInfoNode</code></em>;</p></td>
+<td class="struct_member_description"><p>the pointer to <enc:KeyInfo/> node.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><font><span class="TYPE">xmlNodePtr</span></font> <code class="STRUCTFIELD">cipherValueNode</code>;</p></td>
-<td><p>the pointer to <enc:CipherValue/> node.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><font><span class="type">xmlNodePtr</span></font> <em class="structfield"><code><a name="xmlSecEncCtx.cipherValueNode"></a>cipherValueNode</code></em>;</p></td>
+<td class="struct_member_description"><p>the pointer to <enc:CipherValue/> node.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><font><span class="TYPE">xmlNodePtr</span></font> <code class="STRUCTFIELD">replacedNodeList</code>;</p></td>
-<td><p>the first node of the list of replaced nodes depending on the nodeReplacementMode</p></td>
-<td> </td>
+<td class="struct_member_name"><p><font><span class="type">xmlNodePtr</span></font> <em class="structfield"><code><a name="xmlSecEncCtx.replacedNodeList"></a>replacedNodeList</code></em>;</p></td>
+<td class="struct_member_description"><p>the first node of the list of replaced nodes depending on the nodeReplacementMode</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><font><span class="TYPE">void</span></font> *<code class="STRUCTFIELD">reserved1</code>;</p></td>
-<td><p>reserved for the future.</p></td>
-<td> </td>
+<td class="struct_member_name"><p><font><span class="type">void</span></font> *<em class="structfield"><code><a name="xmlSecEncCtx.reserved1"></a>reserved1</code></em>;</p></td>
+<td class="struct_member_description"><p>reserved for the future.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
</div>
</div>
</div>
-<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td align="left"><a accesskey="p" href="xmlsec-xmldsig.html"><b><<< xmldsig</b></a></td>
-<td align="right"><a accesskey="n" href="xmlsec-xmlsec.html"><b>xmlsec >>></b></a></td>
-</tr></table>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
</td></tr></table></td>
</tr></table></body>
</html>
diff --git a/docs/api/xmlsec-xmlsec.html b/docs/api/xmlsec-xmlsec.html
index 692e69f..576031f 100644
--- a/docs/api/xmlsec-xmlsec.html
+++ b/docs/api/xmlsec-xmlsec.html
@@ -1,41 +1,14 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>xmlsec</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79">
-<link rel="HOME" title="XML Security Library Reference Manual" href="index.html">
-<link rel="UP" title="XML Security Core Library API Reference." href="xmlsec-ref.html">
-<link rel="PREVIOUS" title="xmlenc" href="xmlsec-xmlenc.html">
-<link rel="NEXT" title="xmltree" href="xmlsec-xmltree.html">
-<style type="text/css">.synopsis, .classsynopsis {
- background: #eeeeee;
- border: solid 1px #aaaaaa;
- padding: 0.5em;
-}
-.programlisting {
- background: #eeeeff;
- border: solid 1px #aaaaff;
- padding: 0.5em;
-}
-.variablelist {
- padding: 4px;
- margin-left: 3em;
-}
-.navigation {
- background: #ffeeee;
- border: solid 1px #ffaaaa;
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
-.navigation a {
- color: #770000;
-}
-.navigation a:visited {
- color: #550000;
-}
-.navigation .title {
- font-size: 200%;
-}</style>
+<title>xmlsec: XML Security Library Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="XML Security Library Reference Manual">
+<link rel="up" href="xmlsec-ref.html" title="XML Security Core Library API Reference.">
+<link rel="prev" href="xmlsec-xmlenc.html" title="xmlenc">
+<link rel="next" href="xmlsec-xmltree.html" title="xmltree">
+<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
<style type="text/css">
table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
width: 20em;
@@ -100,400 +73,332 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
</table>
</td>
<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent">
-<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td><a accesskey="p" href="xmlsec-xmlenc.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="xmlsec-ref.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description"> <span class="dim">|</span>
+ <a href="#xmlsec-xmlsec.description" class="shortcut">Description</a></span>
+</td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<th width="100%" align="center">XML Security Library Reference Manual</th>
+<td><a accesskey="u" href="xmlsec-ref.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="xmlsec-xmlenc.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="xmlsec-xmltree.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
-<h1>
-<a name="XMLSEC-XMLSEC"></a>xmlsec</h1>
-<div class="REFNAMEDIV">
-<a name="AEN25903"></a><h2>Name</h2>xmlsec -- Utility functions.</div>
-<div class="REFSECT1">
-<a name="XMLSEC-XMLSEC.FUNCTIONS"></a><h2>Functions</h2>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN25908"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
+<div class="refentry">
+<a name="xmlsec-xmlsec"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="xmlsec-xmlsec.top_of_page"></a>xmlsec</span></h2>
+<p>xmlsec — Utility functions.</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="xmlsec-xmlsec.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
<tbody>
<tr>
-<td>#define</td>
-<td>
-<a href="xmlsec-xmlsec.html#XMLSEC-SIZE-BAD-CAST:CAPS">XMLSEC_SIZE_BAD_CAST</a><span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="define_keyword">#define</td>
+<td class="function_name">
+<a class="link" href="xmlsec-xmlsec.html#XMLSEC-SIZE-BAD-CAST:CAPS" title="XMLSEC_SIZE_BAD_CAST()">XMLSEC_SIZE_BAD_CAST</a><span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-xmlsec.html#XMLSECINIT">xmlSecInit</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
</td>
-</tr>
-<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-xmlsec.html#XMLSECSHUTDOWN">xmlSecShutdown</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_name">
+<a class="link" href="xmlsec-xmlsec.html#xmlSecInit" title="xmlSecInit ()">xmlSecInit</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td>const <font><span class="RETURNVALUE">xmlChar</span></font> *</td>
-<td>
-<a href="xmlsec-xmlsec.html#XMLSECGETDEFAULTCRYPTO">xmlSecGetDefaultCrypto</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-xmlsec.html#xmlSecShutdown" title="xmlSecShutdown ()">xmlSecShutdown</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-xmlsec.html#XMLSEC-CRYPTO:CAPS">XMLSEC_CRYPTO</a></td>
-</tr>
-<tr>
-<td>#define</td>
-<td><a href="xmlsec-xmlsec.html#XMLSECCHECKVERSIONEXACT">xmlSecCheckVersionExact</a></td>
-</tr>
-<tr>
-<td>#define</td>
-<td><a href="xmlsec-xmlsec.html#XMLSECCHECKVERSION">xmlSecCheckVersion</a></td>
+<td class="function_type">const <font><span class="returnvalue">xmlChar</span></font> *
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-xmlsec.html#xmlSecGetDefaultCrypto" title="xmlSecGetDefaultCrypto ()">xmlSecGetDefaultCrypto</a> <span class="c_punctuation">()</span>
+</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-xmlsec.html#XMLSECCHECKVERSIONEXT">xmlSecCheckVersionExt</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">void</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-xmlsec.html#xmlSecSetExternalEntityLoader" title="xmlSecSetExternalEntityLoader ()">xmlSecSetExternalEntityLoader</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td>#define</td>
-<td>
-<a href="xmlsec-xmlsec.html#XMLSEC-PTR-TO-FUNC-IMPL:CAPS">XMLSEC_PTR_TO_FUNC_IMPL</a><span class="c_punctuation"><span class="PHRASE">()</span></span>
-</td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-xmlsec.html#xmlSecCheckVersionExact" title="xmlSecCheckVersionExact">xmlSecCheckVersionExact</a></td>
</tr>
<tr>
-<td>#define</td>
-<td>
-<a href="xmlsec-xmlsec.html#XMLSEC-PTR-TO-FUNC:CAPS">XMLSEC_PTR_TO_FUNC</a><span class="c_punctuation"><span class="PHRASE">()</span></span>
-</td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-xmlsec.html#xmlSecCheckVersion" title="xmlSecCheckVersion">xmlSecCheckVersion</a></td>
</tr>
<tr>
-<td>#define</td>
-<td>
-<a href="xmlsec-xmlsec.html#XMLSEC-FUNC-TO-PTR:CAPS">XMLSEC_FUNC_TO_PTR</a><span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-xmlsec.html#xmlSecCheckVersionExt" title="xmlSecCheckVersionExt ()">xmlSecCheckVersionExt</a> <span class="c_punctuation">()</span>
</td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
-</div>
-<div class="REFSECT1">
-<a name="XMLSEC-XMLSEC.OTHER"></a><h2>Types and Values</h2>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN25973"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="xmlsec-xmlsec.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
<tbody>
<tr>
-<td>typedef</td>
-<td><font>xmlSecPtr</font></td>
+<td class="typedef_keyword">typedef</td>
+<td class="function_name"><a class="link" href="xmlsec-xmlsec.html#xmlSecPtr" title="xmlSecPtr">xmlSecPtr</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize">xmlSecSize</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-xmlsec.html#XMLSECSIZE">xmlSecSize</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-xmlsec.html#xmlSecByte" title="xmlSecByte">xmlSecByte</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-xmlsec.html#XMLSECBYTE">xmlSecByte</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-xmlsec.html#XMLSEC-CRYPTO:CAPS" title="XMLSEC_CRYPTO">XMLSEC_CRYPTO</a></td>
</tr>
<tr>
-<td>enum</td>
-<td><a href="xmlsec-xmlsec.html#XMLSECCHECKVERSIONMODE">xmlSecCheckVersionMode</a></td>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="xmlsec-xmlsec.html#XMLSEC-DEPRECATED:CAPS" title="XMLSEC_DEPRECATED">XMLSEC_DEPRECATED</a></td>
</tr>
<tr>
-<td>#define</td>
-<td><a href="xmlsec-xmlsec.html#ATTRIBUTE-UNUSED:CAPS">ATTRIBUTE_UNUSED</a></td>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="xmlsec-xmlsec.html#xmlSecCheckVersionMode" title="enum xmlSecCheckVersionMode">xmlSecCheckVersionMode</a></td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT1">
-<a name="XMLSEC-XMLSEC.DESCRIPTION"></a><h2>Description</h2>
-<p>Utility functions.</p>
+<div class="refsect1">
+<a name="xmlsec-xmlsec.description"></a><h2>Description</h2>
+<p>
+Utility functions.
+</p>
</div>
-<div class="REFSECT1">
-<a name="XMLSEC-XMLSEC.FUNCTIONS_DETAILS"></a><h2>Functions</h2>
-<div class="REFSECT2">
+<div class="refsect1">
+<a name="xmlsec-xmlsec.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
<a name="XMLSEC-SIZE-BAD-CAST:CAPS"></a><h3>XMLSEC_SIZE_BAD_CAST()</h3>
-<pre class="PROGRAMLISTING">#define XMLSEC_SIZE_BAD_CAST(val) ((xmlSecSize)(val))</pre>
+<pre class="programlisting">#define XMLSEC_SIZE_BAD_CAST(val) ((xmlSecSize)(val))
+</pre>
<p>Bad cast to xmlSecSize</p>
-<div class="REFSECT3">
-<a name="AEN26007"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN26009"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="XMLSEC-SIZE-BAD-CAST.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>val</p></td>
-<td><p>the value to cast</p></td>
-<td> </td>
+<td class="parameter_name"><p>val</p></td>
+<td class="parameter_description"><p>the value to cast</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECINIT"></a><h3>xmlSecInit ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecInit (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecInit"></a><h3>xmlSecInit ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecInit (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>Initializes XML Security Library. The depended libraries
(LibXML and LibXSLT) must be initialized before.</p>
-<div class="REFSECT3">
-<a name="AEN26028"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecInit.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECSHUTDOWN"></a><h3>xmlSecShutdown ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecShutdown (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
+<div class="refsect2">
+<a name="xmlSecShutdown"></a><h3>xmlSecShutdown ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecShutdown (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>Gets the default crypto engine ("openssl", "nss", etc.) for the XML Security Library.</p>
-<div class="REFSECT3">
-<a name="AEN26041"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecShutdown.returns"></a><h4>Returns</h4>
<p> the default crypto engine ("openssl", "nss", etc.).</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGETDEFAULTCRYPTO"></a><h3>xmlSecGetDefaultCrypto ()</h3>
-<pre class="PROGRAMLISTING">const <font><span class="RETURNVALUE">xmlChar</span></font> *
-xmlSecGetDefaultCrypto (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre>
-<p></p>
+<div class="refsect2">
+<a name="xmlSecGetDefaultCrypto"></a><h3>xmlSecGetDefaultCrypto ()</h3>
+<pre class="programlisting">const <font><span class="returnvalue">xmlChar</span></font> *
+xmlSecGetDefaultCrypto (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
+<p>
+</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSEC-CRYPTO:CAPS"></a><h3>XMLSEC_CRYPTO</h3>
-<pre class="PROGRAMLISTING">#define XMLSEC_CRYPTO (xmlSecGetDefaultCrypto())</pre>
-<p>Macro. Deprecated. Defined for backward compatibility only. Do not use
-in your code and use <a href="xmlsec-xmlsec.html#XMLSECGETDEFAULTCRYPTO"><code class="FUNCTION">xmlSecGetDefaultCrypto()</code></a> function instead.</p>
-<p>Returns the default crypto engine.</p>
+<div class="refsect2">
+<a name="xmlSecSetExternalEntityLoader"></a><h3>xmlSecSetExternalEntityLoader ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">void</span></font>
+xmlSecSetExternalEntityLoader (<em class="parameter"><code><font><span class="type">xmlExternalEntityLoader</span></font> Param1</code></em>);</pre>
+<p>
+</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECCHECKVERSIONEXACT"></a><h3>xmlSecCheckVersionExact</h3>
-<pre class="PROGRAMLISTING">#define xmlSecCheckVersionExact()</pre>
+<div class="refsect2">
+<a name="xmlSecCheckVersionExact"></a><h3>xmlSecCheckVersionExact</h3>
+<pre class="programlisting">#define xmlSecCheckVersionExact()</pre>
<p>Macro. Returns 1 if the loaded xmlsec library version exactly matches
the one used to compile the caller, 0 if it does not or a negative
value if an error occurs.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECCHECKVERSION"></a><h3>xmlSecCheckVersion</h3>
-<pre class="PROGRAMLISTING">#define xmlSecCheckVersion()</pre>
+<div class="refsect2">
+<a name="xmlSecCheckVersion"></a><h3>xmlSecCheckVersion</h3>
+<pre class="programlisting">#define xmlSecCheckVersion()</pre>
<p>Macro. Returns 1 if the loaded xmlsec library version ABI compatible with
the one used to compile the caller, 0 if it does not or a negative
value if an error occurs.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECCHECKVERSIONEXT"></a><h3>xmlSecCheckVersionExt ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecCheckVersionExt (<code class="PARAMETER"><font><span class="TYPE">int</span></font> major</code>,
- <code class="PARAMETER"><font><span class="TYPE">int</span></font> minor</code>,
- <code class="PARAMETER"><font><span class="TYPE">int</span></font> subminor</code>,
- <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECCHECKVERSIONMODE"><span class="TYPE">xmlSecCheckVersionMode</span></a> mode</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecCheckVersionExt"></a><h3>xmlSecCheckVersionExt ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecCheckVersionExt (<em class="parameter"><code><font><span class="type">int</span></font> major</code></em>,
+ <em class="parameter"><code><font><span class="type">int</span></font> minor</code></em>,
+ <em class="parameter"><code><font><span class="type">int</span></font> subminor</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-xmlsec.html#xmlSecCheckVersionMode" title="enum xmlSecCheckVersionMode"><span class="type">xmlSecCheckVersionMode</span></a> mode</code></em>);</pre>
<p>Checks if the loaded version of xmlsec library could be used.</p>
-<div class="REFSECT3">
-<a name="AEN26095"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN26097"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecCheckVersionExt.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>major</p></td>
-<td><p>the major version number.</p></td>
-<td> </td>
+<td class="parameter_name"><p>major</p></td>
+<td class="parameter_description"><p>the major version number.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>minor</p></td>
-<td><p>the minor version number.</p></td>
-<td> </td>
+<td class="parameter_name"><p>minor</p></td>
+<td class="parameter_description"><p>the minor version number.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>subminor</p></td>
-<td><p>the subminor version number.</p></td>
-<td> </td>
+<td class="parameter_name"><p>subminor</p></td>
+<td class="parameter_description"><p>the subminor version number.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>mode</p></td>
-<td><p>the version check mode.</p></td>
-<td> </td>
+<td class="parameter_name"><p>mode</p></td>
+<td class="parameter_description"><p>the version check mode.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN26124"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecCheckVersionExt.returns"></a><h4>Returns</h4>
<p> 1 if the loaded xmlsec library version is OK to use
0 if it is not or a negative value if an error occurs.</p>
</div>
</div>
-<hr>
-<div class="REFSECT2">
-<a name="XMLSEC-PTR-TO-FUNC-IMPL:CAPS"></a><h3>XMLSEC_PTR_TO_FUNC_IMPL()</h3>
-<pre class="PROGRAMLISTING">#define XMLSEC_PTR_TO_FUNC_IMPL(func_type)</pre>
-<p>Macro declares helper functions to convert between "void *" pointer and
-function pointer.</p>
-<div class="REFSECT3">
-<a name="AEN26133"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN26135"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
-<tbody><tr>
-<td><p>func_type</p></td>
-<td><p>the function type.</p></td>
-<td> </td>
-</tr></tbody>
-</table>
-<p></p>
-</div>
-</div>
-</div>
-<hr>
-<div class="REFSECT2">
-<a name="XMLSEC-PTR-TO-FUNC:CAPS"></a><h3>XMLSEC_PTR_TO_FUNC()</h3>
-<pre class="PROGRAMLISTING">#define XMLSEC_PTR_TO_FUNC(func_type, ptr)</pre>
-<p>Macro converts from "void*" pointer to "func_type" function pointer.</p>
-<div class="REFSECT3">
-<a name="AEN26150"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN26152"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
-<tbody>
-<tr>
-<td><p>func_type</p></td>
-<td><p>the function type.</p></td>
-<td> </td>
-</tr>
-<tr>
-<td><p>ptr</p></td>
-<td><p>the "void*" pointer to be converted.</p></td>
-<td> </td>
-</tr>
-</tbody>
-</table>
-<p></p>
-</div>
-</div>
</div>
-<hr>
-<div class="REFSECT2">
-<a name="XMLSEC-FUNC-TO-PTR:CAPS"></a><h3>XMLSEC_FUNC_TO_PTR()</h3>
-<pre class="PROGRAMLISTING">#define XMLSEC_FUNC_TO_PTR(func_type, func)</pre>
-<p>Macro converts from "func_type" function pointer to "void*" pointer.</p>
-<div class="REFSECT3">
-<a name="AEN26173"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN26175"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
-<tbody>
-<tr>
-<td><p>func_type</p></td>
-<td><p>the function type.</p></td>
-<td> </td>
-</tr>
-<tr>
-<td><p>func</p></td>
-<td><p>the "func_type" function pointer to be converted.</p></td>
-<td> </td>
-</tr>
-</tbody>
-</table>
-<p></p>
-</div>
-</div>
-</div>
-</div>
-<div class="REFSECT1">
-<a name="XMLSEC-XMLSEC.OTHER_DETAILS"></a><h2>Types and Values</h2>
-<div class="REFSECT2">
-<a name="XMLSECPTR"></a><h3>xmlSecPtr</h3>
-<pre class="PROGRAMLISTING">typedef void* xmlSecPtr;</pre>
+<div class="refsect1">
+<a name="xmlsec-xmlsec.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="xmlSecPtr"></a><h3>xmlSecPtr</h3>
+<pre class="programlisting">typedef void* xmlSecPtr;
+</pre>
<p>Void pointer.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECSIZE"></a><h3>xmlSecSize</h3>
-<pre class="PROGRAMLISTING">#define xmlSecSize unsigned int</pre>
+<div class="refsect2">
+<a name="xmlSecSize"></a><h3>xmlSecSize</h3>
+<pre class="programlisting">#define xmlSecSize unsigned int
+</pre>
<p>Size of something. Should be typedef instead of define
but it will break ABI (todo).</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECBYTE"></a><h3>xmlSecByte</h3>
-<pre class="PROGRAMLISTING">#define xmlSecByte unsigned char</pre>
+<div class="refsect2">
+<a name="xmlSecByte"></a><h3>xmlSecByte</h3>
+<pre class="programlisting">#define xmlSecByte unsigned char
+</pre>
<p>One byte. Should be typedef instead of define
but it will break ABI (todo).</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECCHECKVERSIONMODE"></a><h3>enum xmlSecCheckVersionMode</h3>
+<div class="refsect2">
+<a name="XMLSEC-CRYPTO:CAPS"></a><h3>XMLSEC_CRYPTO</h3>
+<pre class="programlisting">#define XMLSEC_CRYPTO (xmlSecGetDefaultCrypto())
+</pre>
+<p>Macro. Deprecated. Defined for backward compatibility only. Do not use
+in your code and use <a class="link" href="xmlsec-xmlsec.html#xmlSecGetDefaultCrypto" title="xmlSecGetDefaultCrypto ()"><code class="function">xmlSecGetDefaultCrypto()</code></a> function instead.</p>
+<p>Returns the default crypto engine.</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="XMLSEC-DEPRECATED:CAPS"></a><h3>XMLSEC_DEPRECATED</h3>
+<pre class="programlisting">#define XMLSEC_DEPRECATED __attribute__((deprecated))
+</pre>
+<p>
+</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="xmlSecCheckVersionMode"></a><h3>enum xmlSecCheckVersionMode</h3>
<p>The xmlsec library version mode.</p>
-<div class="REFSECT3">
-<a name="AEN26215"></a><h4>Members</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN26217"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecCheckVersionMode.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="enum_members_name">
+<col class="enum_members_description">
+<col width="200px" class="enum_members_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>xmlSecCheckVersionExactMatch</p></td>
-<td><p>the version should match exactly.</p></td>
-<td> </td>
+<td class="enum_member_name"><p><a name="xmlSecCheckVersionExactMatch"></a>xmlSecCheckVersionExactMatch</p></td>
+<td class="enum_member_description">
+<p>the version should match exactly.</p>
+</td>
+<td class="enum_member_annotations"> </td>
</tr>
<tr>
-<td><p>xmlSecCheckVersionABICompatible</p></td>
-<td><p>the version should be ABI compatible.</p></td>
-<td> </td>
+<td class="enum_member_name"><p><a name="xmlSecCheckVersionABICompatible"></a>xmlSecCheckVersionABICompatible</p></td>
+<td class="enum_member_description">
+<p>the version should be ABI compatible.</p>
+</td>
+<td class="enum_member_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
</div>
</div>
-<hr>
-<div class="REFSECT2">
-<a name="ATTRIBUTE-UNUSED:CAPS"></a><h3>ATTRIBUTE_UNUSED</h3>
-<pre class="PROGRAMLISTING">#define ATTRIBUTE_UNUSED</pre>
-<p>Macro used to signal to GCC unused function parameters</p>
</div>
-</div>
-<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td align="left"><a accesskey="p" href="xmlsec-xmlenc.html"><b><<< xmlenc</b></a></td>
-<td align="right"><a accesskey="n" href="xmlsec-xmltree.html"><b>xmltree >>></b></a></td>
-</tr></table>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
</td></tr></table></td>
</tr></table></body>
</html>
diff --git a/docs/api/xmlsec-xmltree.html b/docs/api/xmlsec-xmltree.html
index 03f5d7d..3790ec8 100644
--- a/docs/api/xmlsec-xmltree.html
+++ b/docs/api/xmlsec-xmltree.html
@@ -1,41 +1,14 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>xmltree</title>
-<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79">
-<link rel="HOME" title="XML Security Library Reference Manual" href="index.html">
-<link rel="UP" title="XML Security Core Library API Reference." href="xmlsec-ref.html">
-<link rel="PREVIOUS" title="xmlsec" href="xmlsec-xmlsec.html">
-<link rel="NEXT" title="x509" href="xmlsec-x509.html">
-<style type="text/css">.synopsis, .classsynopsis {
- background: #eeeeee;
- border: solid 1px #aaaaaa;
- padding: 0.5em;
-}
-.programlisting {
- background: #eeeeff;
- border: solid 1px #aaaaff;
- padding: 0.5em;
-}
-.variablelist {
- padding: 4px;
- margin-left: 3em;
-}
-.navigation {
- background: #ffeeee;
- border: solid 1px #ffaaaa;
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
-.navigation a {
- color: #770000;
-}
-.navigation a:visited {
- color: #550000;
-}
-.navigation .title {
- font-size: 200%;
-}</style>
+<title>xmltree: XML Security Library Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="XML Security Library Reference Manual">
+<link rel="up" href="xmlsec-ref.html" title="XML Security Core Library API Reference.">
+<link rel="prev" href="xmlsec-xmlsec.html" title="xmlsec">
+<link rel="next" href="xmlsec-x509.html" title="x509">
+<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
<style type="text/css">
table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
width: 20em;
@@ -100,2530 +73,2422 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
</table>
</td>
<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent">
-<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td><a accesskey="p" href="xmlsec-xmlsec.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="xmlsec-ref.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description"> <span class="dim">|</span>
+ <a href="#xmlsec-xmltree.description" class="shortcut">Description</a></span>
+</td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<th width="100%" align="center">XML Security Library Reference Manual</th>
+<td><a accesskey="u" href="xmlsec-ref.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="xmlsec-xmlsec.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="xmlsec-x509.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
-<h1>
-<a name="XMLSEC-XMLTREE"></a>xmltree</h1>
-<div class="REFNAMEDIV">
-<a name="AEN26243"></a><h2>Name</h2>xmltree -- XML tree operations.</div>
-<div class="REFSECT1">
-<a name="XMLSEC-XMLTREE.FUNCTIONS"></a><h2>Functions</h2>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN26248"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
+<div class="refentry">
+<a name="xmlsec-xmltree"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="xmlsec-xmltree.top_of_page"></a>xmltree</span></h2>
+<p>xmltree — XML tree operations.</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="xmlsec-xmltree.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
<tbody>
<tr>
-<td>#define</td>
-<td>
-<a href="xmlsec-xmltree.html#XMLSECNODEGETNAME">xmlSecNodeGetName</a><span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="define_keyword">#define</td>
+<td class="function_name">
+<a class="link" href="xmlsec-xmltree.html#xmlSecNodeGetName" title="xmlSecNodeGetName()">xmlSecNodeGetName</a><span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td>const <font><span class="RETURNVALUE">xmlChar</span></font> *</td>
-<td>
-<a href="xmlsec-xmltree.html#XMLSECGETNODENSHREF">xmlSecGetNodeNsHref</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">const <font><span class="returnvalue">xmlChar</span></font> *
</td>
-</tr>
-<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-xmltree.html#XMLSECCHECKNODENAME">xmlSecCheckNodeName</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_name">
+<a class="link" href="xmlsec-xmltree.html#xmlSecGetNodeNsHref" title="xmlSecGetNodeNsHref ()">xmlSecGetNodeNsHref</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlNodePtr</span></font></td>
-<td>
-<a href="xmlsec-xmltree.html#XMLSECGETNEXTELEMENTNODE">xmlSecGetNextElementNode</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
</td>
-</tr>
-<tr>
-<td><font><span class="RETURNVALUE">xmlNodePtr</span></font></td>
-<td>
-<a href="xmlsec-xmltree.html#XMLSECFINDSIBLING">xmlSecFindSibling</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_name">
+<a class="link" href="xmlsec-xmltree.html#xmlSecCheckNodeName" title="xmlSecCheckNodeName ()">xmlSecCheckNodeName</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlNodePtr</span></font></td>
-<td>
-<a href="xmlsec-xmltree.html#XMLSECFINDCHILD">xmlSecFindChild</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlNodePtr</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-xmltree.html#xmlSecGetNextElementNode" title="xmlSecGetNextElementNode ()">xmlSecGetNextElementNode</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlNodePtr</span></font></td>
-<td>
-<a href="xmlsec-xmltree.html#XMLSECFINDPARENT">xmlSecFindParent</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlNodePtr</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-xmltree.html#xmlSecFindSibling" title="xmlSecFindSibling ()">xmlSecFindSibling</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlNodePtr</span></font></td>
-<td>
-<a href="xmlsec-xmltree.html#XMLSECFINDNODE">xmlSecFindNode</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlNodePtr</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-xmltree.html#xmlSecFindChild" title="xmlSecFindChild ()">xmlSecFindChild</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlNodePtr</span></font></td>
-<td>
-<a href="xmlsec-xmltree.html#XMLSECADDCHILD">xmlSecAddChild</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlNodePtr</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-xmltree.html#xmlSecFindParent" title="xmlSecFindParent ()">xmlSecFindParent</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlNodePtr</span></font></td>
-<td>
-<a href="xmlsec-xmltree.html#XMLSECENSUREEMPTYCHILD">xmlSecEnsureEmptyChild</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlNodePtr</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-xmltree.html#xmlSecFindNode" title="xmlSecFindNode ()">xmlSecFindNode</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlNodePtr</span></font></td>
-<td>
-<a href="xmlsec-xmltree.html#XMLSECADDCHILDNODE">xmlSecAddChildNode</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlNodePtr</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-xmltree.html#xmlSecAddChild" title="xmlSecAddChild ()">xmlSecAddChild</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlNodePtr</span></font></td>
-<td>
-<a href="xmlsec-xmltree.html#XMLSECADDNEXTSIBLING">xmlSecAddNextSibling</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlNodePtr</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-xmltree.html#xmlSecEnsureEmptyChild" title="xmlSecEnsureEmptyChild ()">xmlSecEnsureEmptyChild</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlNodePtr</span></font></td>
-<td>
-<a href="xmlsec-xmltree.html#XMLSECADDPREVSIBLING">xmlSecAddPrevSibling</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlNodePtr</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-xmltree.html#xmlSecAddChildNode" title="xmlSecAddChildNode ()">xmlSecAddChildNode</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-xmltree.html#XMLSECREPLACENODE">xmlSecReplaceNode</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlNodePtr</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-xmltree.html#xmlSecAddNextSibling" title="xmlSecAddNextSibling ()">xmlSecAddNextSibling</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-xmltree.html#XMLSECREPLACENODEANDRETURN">xmlSecReplaceNodeAndReturn</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlNodePtr</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-xmltree.html#xmlSecAddPrevSibling" title="xmlSecAddPrevSibling ()">xmlSecAddPrevSibling</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-xmltree.html#XMLSECREPLACECONTENT">xmlSecReplaceContent</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-xmltree.html#xmlSecReplaceNode" title="xmlSecReplaceNode ()">xmlSecReplaceNode</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-xmltree.html#XMLSECREPLACECONTENTANDRETURN">xmlSecReplaceContentAndReturn</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-xmltree.html#xmlSecReplaceNodeAndReturn" title="xmlSecReplaceNodeAndReturn ()">xmlSecReplaceNodeAndReturn</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-xmltree.html#XMLSECREPLACENODEBUFFER">xmlSecReplaceNodeBuffer</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-xmltree.html#xmlSecReplaceContent" title="xmlSecReplaceContent ()">xmlSecReplaceContent</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-xmltree.html#XMLSECREPLACENODEBUFFERANDRETURN">xmlSecReplaceNodeBufferAndReturn</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-xmltree.html#xmlSecReplaceContentAndReturn" title="xmlSecReplaceContentAndReturn ()">xmlSecReplaceContentAndReturn</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-xmltree.html#XMLSECNODEENCODEANDSETCONTENT">xmlSecNodeEncodeAndSetContent</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-xmltree.html#xmlSecReplaceNodeBuffer" title="xmlSecReplaceNodeBuffer ()">xmlSecReplaceNodeBuffer</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">void</span></font></td>
-<td>
-<a href="xmlsec-xmltree.html#XMLSECADDIDS">xmlSecAddIDs</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-xmltree.html#xmlSecReplaceNodeBufferAndReturn" title="xmlSecReplaceNodeBufferAndReturn ()">xmlSecReplaceNodeBufferAndReturn</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-xmltree.html#XMLSECGENERATEANDADDID">xmlSecGenerateAndAddID</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-xmltree.html#xmlSecNodeEncodeAndSetContent" title="xmlSecNodeEncodeAndSetContent ()">xmlSecNodeEncodeAndSetContent</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td>
-<font><span class="RETURNVALUE">xmlChar</span></font> *</td>
-<td>
-<a href="xmlsec-xmltree.html#XMLSECGENERATEID">xmlSecGenerateID</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">void</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-xmltree.html#xmlSecAddIDs" title="xmlSecAddIDs ()">xmlSecAddIDs</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlDocPtr</span></font></td>
-<td>
-<a href="xmlsec-xmltree.html#XMLSECCREATETREE">xmlSecCreateTree</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlDocPtr</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-xmltree.html#xmlSecCreateTree" title="xmlSecCreateTree ()">xmlSecCreateTree</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-xmltree.html#XMLSECISEMPTYNODE">xmlSecIsEmptyNode</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-xmltree.html#xmlSecIsEmptyNode" title="xmlSecIsEmptyNode ()">xmlSecIsEmptyNode</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-xmltree.html#XMLSECISEMPTYSTRING">xmlSecIsEmptyString</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-xmltree.html#xmlSecIsEmptyString" title="xmlSecIsEmptyString ()">xmlSecIsEmptyString</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td>
-<font><span class="RETURNVALUE">xmlChar</span></font> *</td>
-<td>
-<a href="xmlsec-xmltree.html#XMLSECGETQNAME">xmlSecGetQName</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlChar</span></font> *
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-xmltree.html#xmlSecGetQName" title="xmlSecGetQName ()">xmlSecGetQName</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-xmltree.html#XMLSECPRINTXMLSTRING">xmlSecPrintXmlString</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-xmltree.html#xmlSecPrintXmlString" title="xmlSecPrintXmlString ()">xmlSecPrintXmlString</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td>#define</td>
-<td>
-<a href="xmlsec-xmltree.html#XMLSECISHEX">xmlSecIsHex</a><span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="define_keyword">#define</td>
+<td class="function_name">
+<a class="link" href="xmlsec-xmltree.html#xmlSecIsHex" title="xmlSecIsHex()">xmlSecIsHex</a><span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td>#define</td>
-<td>
-<a href="xmlsec-xmltree.html#XMLSECGETHEX">xmlSecGetHex</a><span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="define_keyword">#define</td>
+<td class="function_name">
+<a class="link" href="xmlsec-xmltree.html#xmlSecGetHex" title="xmlSecGetHex()">xmlSecGetHex</a><span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecQName2IntegerInfoConstPtr</span></font></td>
-<td>
-<a href="xmlsec-xmltree.html#XMLSECQNAME2INTEGERGETINFO">xmlSecQName2IntegerGetInfo</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<a class="link" href="xmlsec-xmltree.html#xmlSecQName2IntegerInfoConstPtr" title="xmlSecQName2IntegerInfoConstPtr"><span class="returnvalue">xmlSecQName2IntegerInfoConstPtr</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-xmltree.html#xmlSecQName2IntegerGetInfo" title="xmlSecQName2IntegerGetInfo ()">xmlSecQName2IntegerGetInfo</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-xmltree.html#XMLSECQNAME2INTEGERGETINTEGER">xmlSecQName2IntegerGetInteger</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-xmltree.html#xmlSecQName2IntegerGetInteger" title="xmlSecQName2IntegerGetInteger ()">xmlSecQName2IntegerGetInteger</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-xmltree.html#XMLSECQNAME2INTEGERGETINTEGERFROMSTRING">xmlSecQName2IntegerGetIntegerFromString</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-xmltree.html#xmlSecQName2IntegerGetIntegerFromString" title="xmlSecQName2IntegerGetIntegerFromString ()">xmlSecQName2IntegerGetIntegerFromString</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td>
-<font><span class="RETURNVALUE">xmlChar</span></font> *</td>
-<td>
-<a href="xmlsec-xmltree.html#XMLSECQNAME2INTEGERGETSTRINGFROMINTEGER">xmlSecQName2IntegerGetStringFromInteger</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlChar</span></font> *
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-xmltree.html#xmlSecQName2IntegerGetStringFromInteger" title="xmlSecQName2IntegerGetStringFromInteger ()">xmlSecQName2IntegerGetStringFromInteger</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-xmltree.html#XMLSECQNAME2INTEGERNODEREAD">xmlSecQName2IntegerNodeRead</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-xmltree.html#xmlSecQName2IntegerNodeRead" title="xmlSecQName2IntegerNodeRead ()">xmlSecQName2IntegerNodeRead</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-xmltree.html#XMLSECQNAME2INTEGERNODEWRITE">xmlSecQName2IntegerNodeWrite</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-xmltree.html#xmlSecQName2IntegerNodeWrite" title="xmlSecQName2IntegerNodeWrite ()">xmlSecQName2IntegerNodeWrite</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-xmltree.html#XMLSECQNAME2INTEGERATTRIBUTEREAD">xmlSecQName2IntegerAttributeRead</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-xmltree.html#xmlSecQName2IntegerAttributeRead" title="xmlSecQName2IntegerAttributeRead ()">xmlSecQName2IntegerAttributeRead</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-xmltree.html#XMLSECQNAME2INTEGERATTRIBUTEWRITE">xmlSecQName2IntegerAttributeWrite</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-xmltree.html#xmlSecQName2IntegerAttributeWrite" title="xmlSecQName2IntegerAttributeWrite ()">xmlSecQName2IntegerAttributeWrite</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">void</span></font></td>
-<td>
-<a href="xmlsec-xmltree.html#XMLSECQNAME2INTEGERDEBUGDUMP">xmlSecQName2IntegerDebugDump</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">void</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-xmltree.html#xmlSecQName2IntegerDebugDump" title="xmlSecQName2IntegerDebugDump ()">xmlSecQName2IntegerDebugDump</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">void</span></font></td>
-<td>
-<a href="xmlsec-xmltree.html#XMLSECQNAME2INTEGERDEBUGXMLDUMP">xmlSecQName2IntegerDebugXmlDump</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">void</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-xmltree.html#xmlSecQName2IntegerDebugXmlDump" title="xmlSecQName2IntegerDebugXmlDump ()">xmlSecQName2IntegerDebugXmlDump</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">xmlSecQName2BitMaskInfoConstPtr</span></font></td>
-<td>
-<a href="xmlsec-xmltree.html#XMLSECQNAME2BITMASKGETINFO">xmlSecQName2BitMaskGetInfo</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<a class="link" href="xmlsec-xmltree.html#xmlSecQName2BitMaskInfoConstPtr" title="xmlSecQName2BitMaskInfoConstPtr"><span class="returnvalue">xmlSecQName2BitMaskInfoConstPtr</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-xmltree.html#xmlSecQName2BitMaskGetInfo" title="xmlSecQName2BitMaskGetInfo ()">xmlSecQName2BitMaskGetInfo</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-xmltree.html#XMLSECQNAME2BITMASKGETBITMASK">xmlSecQName2BitMaskGetBitMask</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-xmltree.html#xmlSecQName2BitMaskGetBitMask" title="xmlSecQName2BitMaskGetBitMask ()">xmlSecQName2BitMaskGetBitMask</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-xmltree.html#XMLSECQNAME2BITMASKNODESREAD">xmlSecQName2BitMaskNodesRead</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-xmltree.html#xmlSecQName2BitMaskNodesRead" title="xmlSecQName2BitMaskNodesRead ()">xmlSecQName2BitMaskNodesRead</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-xmltree.html#XMLSECQNAME2BITMASKGETBITMASKFROMSTRING">xmlSecQName2BitMaskGetBitMaskFromString</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-xmltree.html#xmlSecQName2BitMaskGetBitMaskFromString" title="xmlSecQName2BitMaskGetBitMaskFromString ()">xmlSecQName2BitMaskGetBitMaskFromString</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td>
-<font><span class="RETURNVALUE">xmlChar</span></font> *</td>
-<td>
-<a href="xmlsec-xmltree.html#XMLSECQNAME2BITMASKGETSTRINGFROMBITMASK">xmlSecQName2BitMaskGetStringFromBitMask</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">xmlChar</span></font> *
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-xmltree.html#xmlSecQName2BitMaskGetStringFromBitMask" title="xmlSecQName2BitMaskGetStringFromBitMask ()">xmlSecQName2BitMaskGetStringFromBitMask</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">int</span></font></td>
-<td>
-<a href="xmlsec-xmltree.html#XMLSECQNAME2BITMASKNODESWRITE">xmlSecQName2BitMaskNodesWrite</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">int</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-xmltree.html#xmlSecQName2BitMaskNodesWrite" title="xmlSecQName2BitMaskNodesWrite ()">xmlSecQName2BitMaskNodesWrite</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">void</span></font></td>
-<td>
-<a href="xmlsec-xmltree.html#XMLSECQNAME2BITMASKDEBUGDUMP">xmlSecQName2BitMaskDebugDump</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">void</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-xmltree.html#xmlSecQName2BitMaskDebugDump" title="xmlSecQName2BitMaskDebugDump ()">xmlSecQName2BitMaskDebugDump</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><font><span class="RETURNVALUE">void</span></font></td>
-<td>
-<a href="xmlsec-xmltree.html#XMLSECQNAME2BITMASKDEBUGXMLDUMP">xmlSecQName2BitMaskDebugXmlDump</a> <span class="c_punctuation"><span class="PHRASE">()</span></span>
+<td class="function_type">
+<font><span class="returnvalue">void</span></font>
+</td>
+<td class="function_name">
+<a class="link" href="xmlsec-xmltree.html#xmlSecQName2BitMaskDebugXmlDump" title="xmlSecQName2BitMaskDebugXmlDump ()">xmlSecQName2BitMaskDebugXmlDump</a> <span class="c_punctuation">()</span>
</td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
-</div>
-<div class="REFSECT1">
-<a name="XMLSEC-XMLTREE.OTHER"></a><h2>Types and Values</h2>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN26583"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="xmlsec-xmltree.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
<tbody>
<tr>
-<td>struct</td>
-<td><a href="xmlsec-xmltree.html#XMLSECQNAME2INTEGERINFO">xmlSecQName2IntegerInfo</a></td>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="xmlsec-xmltree.html#xmlSecQName2IntegerInfo" title="struct xmlSecQName2IntegerInfo">xmlSecQName2IntegerInfo</a></td>
</tr>
<tr>
-<td>typedef</td>
-<td><font>xmlSecQName2IntegerInfoConstPtr</font></td>
+<td class="typedef_keyword">typedef</td>
+<td class="function_name"><a class="link" href="xmlsec-xmltree.html#xmlSecQName2IntegerInfoConstPtr" title="xmlSecQName2IntegerInfoConstPtr">xmlSecQName2IntegerInfoConstPtr</a></td>
</tr>
<tr>
-<td>typedef</td>
-<td><a href="xmlsec-xmltree.html#XMLSECBITMASK">xmlSecBitMask</a></td>
+<td class="typedef_keyword">typedef</td>
+<td class="function_name"><a class="link" href="xmlsec-xmltree.html#xmlSecBitMask" title="xmlSecBitMask">xmlSecBitMask</a></td>
</tr>
<tr>
-<td>struct</td>
-<td><a href="xmlsec-xmltree.html#XMLSECQNAME2BITMASKINFO">xmlSecQName2BitMaskInfo</a></td>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="xmlsec-xmltree.html#xmlSecQName2BitMaskInfo" title="struct xmlSecQName2BitMaskInfo">xmlSecQName2BitMaskInfo</a></td>
</tr>
<tr>
-<td>typedef</td>
-<td><font>xmlSecQName2BitMaskInfoConstPtr</font></td>
+<td class="typedef_keyword">typedef</td>
+<td class="function_name"><a class="link" href="xmlsec-xmltree.html#xmlSecQName2BitMaskInfoConstPtr" title="xmlSecQName2BitMaskInfoConstPtr">xmlSecQName2BitMaskInfoConstPtr</a></td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
-</div>
-<div class="REFSECT1">
-<a name="XMLSEC-XMLTREE.DESCRIPTION"></a><h2>Description</h2>
-<p>XML tree operations.</p>
-</div>
-<div class="REFSECT1">
-<a name="XMLSEC-XMLTREE.FUNCTIONS_DETAILS"></a><h2>Functions</h2>
-<div class="REFSECT2">
-<a name="XMLSECNODEGETNAME"></a><h3>xmlSecNodeGetName()</h3>
-<pre class="PROGRAMLISTING">#define xmlSecNodeGetName(node)</pre>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="xmlsec-xmltree.description"></a><h2>Description</h2>
+<p>
+XML tree operations.
+</p>
+</div>
+<div class="refsect1">
+<a name="xmlsec-xmltree.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="xmlSecNodeGetName"></a><h3>xmlSecNodeGetName()</h3>
+<pre class="programlisting">#define xmlSecNodeGetName(node)</pre>
<p>Macro. Returns node's name.</p>
-<div class="REFSECT3">
-<a name="AEN26617"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN26619"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecNodeGetName.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>node</p></td>
-<td><p>the pointer to node.</p></td>
-<td> </td>
+<td class="parameter_name"><p>node</p></td>
+<td class="parameter_description"><p>the pointer to node.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGETNODENSHREF"></a><h3>xmlSecGetNodeNsHref ()</h3>
-<pre class="PROGRAMLISTING">const <font><span class="RETURNVALUE">xmlChar</span></font> *
-xmlSecGetNodeNsHref (<code class="PARAMETER">const <font><span class="TYPE">xmlNodePtr</span></font> cur</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecGetNodeNsHref"></a><h3>xmlSecGetNodeNsHref ()</h3>
+<pre class="programlisting">const <font><span class="returnvalue">xmlChar</span></font> *
+xmlSecGetNodeNsHref (<em class="parameter"><code>const <font><span class="type">xmlNodePtr</span></font> cur</code></em>);</pre>
<p>Get's node's namespace href.</p>
-<div class="REFSECT3">
-<a name="AEN26639"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN26641"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecGetNodeNsHref.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>cur</p></td>
-<td><p>the pointer to node.</p></td>
-<td> </td>
+<td class="parameter_name"><p>cur</p></td>
+<td class="parameter_description"><p>the pointer to node.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN26650"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecGetNodeNsHref.returns"></a><h4>Returns</h4>
<p> node's namespace href.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECCHECKNODENAME"></a><h3>xmlSecCheckNodeName ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecCheckNodeName (<code class="PARAMETER">const <font><span class="TYPE">xmlNodePtr</span></font> cur</code>,
- <code class="PARAMETER">const <font><span class="TYPE">xmlChar</span></font> *name</code>,
- <code class="PARAMETER">const <font><span class="TYPE">xmlChar</span></font> *ns</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecCheckNodeName"></a><h3>xmlSecCheckNodeName ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecCheckNodeName (<em class="parameter"><code>const <font><span class="type">xmlNodePtr</span></font> cur</code></em>,
+ <em class="parameter"><code>const <font><span class="type">xmlChar</span></font> *name</code></em>,
+ <em class="parameter"><code>const <font><span class="type">xmlChar</span></font> *ns</code></em>);</pre>
<p>Checks that the node has a given name and a given namespace href.</p>
-<div class="REFSECT3">
-<a name="AEN26670"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN26672"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecCheckNodeName.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>cur</p></td>
-<td><p>the pointer to an XML node.</p></td>
-<td> </td>
+<td class="parameter_name"><p>cur</p></td>
+<td class="parameter_description"><p>the pointer to an XML node.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>name</p></td>
-<td><p>the name,</p></td>
-<td> </td>
+<td class="parameter_name"><p>name</p></td>
+<td class="parameter_description"><p>the name,</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>ns</p></td>
-<td><p>the namespace href.</p></td>
-<td> </td>
+<td class="parameter_name"><p>ns</p></td>
+<td class="parameter_description"><p>the namespace href.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN26693"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecCheckNodeName.returns"></a><h4>Returns</h4>
<p> 1 if the node matches or 0 otherwise.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGETNEXTELEMENTNODE"></a><h3>xmlSecGetNextElementNode ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlNodePtr</span></font>
-xmlSecGetNextElementNode (<code class="PARAMETER"><font><span class="TYPE">xmlNodePtr</span></font> cur</code>);</pre>
+<div class="refsect2">
+<a name="xmlSecGetNextElementNode"></a><h3>xmlSecGetNextElementNode ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlNodePtr</span></font>
+xmlSecGetNextElementNode (<em class="parameter"><code><font><span class="type">xmlNodePtr</span></font> cur</code></em>);</pre>
<p>Seraches for the next element node.</p>
-<div class="REFSECT3">
-<a name="AEN26707"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN26709"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecGetNextElementNode.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>cur</p></td>
-<td><p>the pointer to an XML node.</p></td>
-<td> </td>
+<td class="parameter_name"><p>cur</p></td>
+<td class="parameter_description"><p>the pointer to an XML node.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN26718"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecGetNextElementNode.returns"></a><h4>Returns</h4>
<p> the pointer to next element node or NULL if it is not found.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECFINDSIBLING"></a><h3>xmlSecFindSibling ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlNodePtr</span></font>
-xmlSecFindSibling (<code class="PARAMETER">const <font><span class="TYPE">xmlNodePtr</span></font> cur</code>,
- <code class="PARAMETER">const <font><span class="TYPE">xmlChar</span></font> *name</code>,
- <code class="PARAMETER">const <font><span class="TYPE">xmlChar</span></font> *ns</code>);</pre>
-<p>Searches <code class="PARAMETER">cur</code>
- and the next siblings of the <code class="PARAMETER">cur</code>
+<div class="refsect2">
+<a name="xmlSecFindSibling"></a><h3>xmlSecFindSibling ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlNodePtr</span></font>
+xmlSecFindSibling (<em class="parameter"><code>const <font><span class="type">xmlNodePtr</span></font> cur</code></em>,
+ <em class="parameter"><code>const <font><span class="type">xmlChar</span></font> *name</code></em>,
+ <em class="parameter"><code>const <font><span class="type">xmlChar</span></font> *ns</code></em>);</pre>
+<p>Searches <em class="parameter"><code>cur</code></em>
+ and the next siblings of the <em class="parameter"><code>cur</code></em>
node having given name and
namespace href.</p>
-<div class="REFSECT3">
-<a name="AEN26740"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN26742"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecFindSibling.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>cur</p></td>
-<td><p>the pointer to XML node.</p></td>
-<td> </td>
+<td class="parameter_name"><p>cur</p></td>
+<td class="parameter_description"><p>the pointer to XML node.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>name</p></td>
-<td><p>the name.</p></td>
-<td> </td>
+<td class="parameter_name"><p>name</p></td>
+<td class="parameter_description"><p>the name.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>ns</p></td>
-<td><p>the namespace href (may be NULL).</p></td>
-<td> </td>
+<td class="parameter_name"><p>ns</p></td>
+<td class="parameter_description"><p>the namespace href (may be NULL).</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN26763"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecFindSibling.returns"></a><h4>Returns</h4>
<p> the pointer to the found node or NULL if an error occurs or
node is not found.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECFINDCHILD"></a><h3>xmlSecFindChild ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlNodePtr</span></font>
-xmlSecFindChild (<code class="PARAMETER">const <font><span class="TYPE">xmlNodePtr</span></font> parent</code>,
- <code class="PARAMETER">const <font><span class="TYPE">xmlChar</span></font> *name</code>,
- <code class="PARAMETER">const <font><span class="TYPE">xmlChar</span></font> *ns</code>);</pre>
-<p>Searches a direct child of the <code class="PARAMETER">parent</code>
+<div class="refsect2">
+<a name="xmlSecFindChild"></a><h3>xmlSecFindChild ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlNodePtr</span></font>
+xmlSecFindChild (<em class="parameter"><code>const <font><span class="type">xmlNodePtr</span></font> parent</code></em>,
+ <em class="parameter"><code>const <font><span class="type">xmlChar</span></font> *name</code></em>,
+ <em class="parameter"><code>const <font><span class="type">xmlChar</span></font> *ns</code></em>);</pre>
+<p>Searches a direct child of the <em class="parameter"><code>parent</code></em>
node having given name and
namespace href.</p>
-<div class="REFSECT3">
-<a name="AEN26784"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN26786"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecFindChild.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>parent</p></td>
-<td><p>the pointer to XML node.</p></td>
-<td> </td>
+<td class="parameter_name"><p>parent</p></td>
+<td class="parameter_description"><p>the pointer to XML node.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>name</p></td>
-<td><p>the name.</p></td>
-<td> </td>
+<td class="parameter_name"><p>name</p></td>
+<td class="parameter_description"><p>the name.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>ns</p></td>
-<td><p>the namespace href (may be NULL).</p></td>
-<td> </td>
+<td class="parameter_name"><p>ns</p></td>
+<td class="parameter_description"><p>the namespace href (may be NULL).</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN26807"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecFindChild.returns"></a><h4>Returns</h4>
<p> the pointer to the found node or NULL if an error occurs or
node is not found.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECFINDPARENT"></a><h3>xmlSecFindParent ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlNodePtr</span></font>
-xmlSecFindParent (<code class="PARAMETER">const <font><span class="TYPE">xmlNodePtr</span></font> cur</code>,
- <code class="PARAMETER">const <font><span class="TYPE">xmlChar</span></font> *name</code>,
- <code class="PARAMETER">const <font><span class="TYPE">xmlChar</span></font> *ns</code>);</pre>
-<p>Searches the ancestors axis of the <code class="PARAMETER">cur</code>
+<div class="refsect2">
+<a name="xmlSecFindParent"></a><h3>xmlSecFindParent ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlNodePtr</span></font>
+xmlSecFindParent (<em class="parameter"><code>const <font><span class="type">xmlNodePtr</span></font> cur</code></em>,
+ <em class="parameter"><code>const <font><span class="type">xmlChar</span></font> *name</code></em>,
+ <em class="parameter"><code>const <font><span class="type">xmlChar</span></font> *ns</code></em>);</pre>
+<p>Searches the ancestors axis of the <em class="parameter"><code>cur</code></em>
node for a node having given name
and namespace href.</p>
-<div class="REFSECT3">
-<a name="AEN26828"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN26830"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecFindParent.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>cur</p></td>
-<td><p>the pointer to an XML node.</p></td>
-<td> </td>
+<td class="parameter_name"><p>cur</p></td>
+<td class="parameter_description"><p>the pointer to an XML node.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>name</p></td>
-<td><p>the name.</p></td>
-<td> </td>
+<td class="parameter_name"><p>name</p></td>
+<td class="parameter_description"><p>the name.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>ns</p></td>
-<td><p>the namespace href (may be NULL).</p></td>
-<td> </td>
+<td class="parameter_name"><p>ns</p></td>
+<td class="parameter_description"><p>the namespace href (may be NULL).</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN26851"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecFindParent.returns"></a><h4>Returns</h4>
<p> the pointer to the found node or NULL if an error occurs or
node is not found.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECFINDNODE"></a><h3>xmlSecFindNode ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlNodePtr</span></font>
-xmlSecFindNode (<code class="PARAMETER">const <font><span class="TYPE">xmlNodePtr</span></font> parent</code>,
- <code class="PARAMETER">const <font><span class="TYPE">xmlChar</span></font> *name</code>,
- <code class="PARAMETER">const <font><span class="TYPE">xmlChar</span></font> *ns</code>);</pre>
-<p>Searches all children of the <code class="PARAMETER">parent</code>
+<div class="refsect2">
+<a name="xmlSecFindNode"></a><h3>xmlSecFindNode ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlNodePtr</span></font>
+xmlSecFindNode (<em class="parameter"><code>const <font><span class="type">xmlNodePtr</span></font> parent</code></em>,
+ <em class="parameter"><code>const <font><span class="type">xmlChar</span></font> *name</code></em>,
+ <em class="parameter"><code>const <font><span class="type">xmlChar</span></font> *ns</code></em>);</pre>
+<p>Searches all children of the <em class="parameter"><code>parent</code></em>
node having given name and
namespace href.</p>
-<div class="REFSECT3">
-<a name="AEN26872"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN26874"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecFindNode.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>parent</p></td>
-<td><p>the pointer to XML node.</p></td>
-<td> </td>
+<td class="parameter_name"><p>parent</p></td>
+<td class="parameter_description"><p>the pointer to XML node.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>name</p></td>
-<td><p>the name.</p></td>
-<td> </td>
+<td class="parameter_name"><p>name</p></td>
+<td class="parameter_description"><p>the name.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>ns</p></td>
-<td><p>the namespace href (may be NULL).</p></td>
-<td> </td>
+<td class="parameter_name"><p>ns</p></td>
+<td class="parameter_description"><p>the namespace href (may be NULL).</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN26895"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecFindNode.returns"></a><h4>Returns</h4>
<p> the pointer to the found node or NULL if an error occurs or
node is not found.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECADDCHILD"></a><h3>xmlSecAddChild ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlNodePtr</span></font>
-xmlSecAddChild (<code class="PARAMETER"><font><span class="TYPE">xmlNodePtr</span></font> parent</code>,
- <code class="PARAMETER">const <font><span class="TYPE">xmlChar</span></font> *name</code>,
- <code class="PARAMETER">const <font><span class="TYPE">xmlChar</span></font> *ns</code>);</pre>
-<p>Adds a child to the node <code class="PARAMETER">parent</code>
- with given <code class="PARAMETER">name</code>
- and namespace <code class="PARAMETER">ns</code>
+<div class="refsect2">
+<a name="xmlSecAddChild"></a><h3>xmlSecAddChild ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlNodePtr</span></font>
+xmlSecAddChild (<em class="parameter"><code><font><span class="type">xmlNodePtr</span></font> parent</code></em>,
+ <em class="parameter"><code>const <font><span class="type">xmlChar</span></font> *name</code></em>,
+ <em class="parameter"><code>const <font><span class="type">xmlChar</span></font> *ns</code></em>);</pre>
+<p>Adds a child to the node <em class="parameter"><code>parent</code></em>
+ with given <em class="parameter"><code>name</code></em>
+ and namespace <em class="parameter"><code>ns</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN26918"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN26920"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecAddChild.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>parent</p></td>
-<td><p>the pointer to an XML node.</p></td>
-<td> </td>
+<td class="parameter_name"><p>parent</p></td>
+<td class="parameter_description"><p>the pointer to an XML node.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>name</p></td>
-<td><p>the new node name.</p></td>
-<td> </td>
+<td class="parameter_name"><p>name</p></td>
+<td class="parameter_description"><p>the new node name.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>ns</p></td>
-<td><p>the new node namespace.</p></td>
-<td> </td>
+<td class="parameter_name"><p>ns</p></td>
+<td class="parameter_description"><p>the new node namespace.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN26941"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecAddChild.returns"></a><h4>Returns</h4>
<p> pointer to the new node or NULL if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECENSUREEMPTYCHILD"></a><h3>xmlSecEnsureEmptyChild ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlNodePtr</span></font>
-xmlSecEnsureEmptyChild (<code class="PARAMETER"><font><span class="TYPE">xmlNodePtr</span></font> parent</code>,
- <code class="PARAMETER">const <font><span class="TYPE">xmlChar</span></font> *name</code>,
- <code class="PARAMETER">const <font><span class="TYPE">xmlChar</span></font> *ns</code>);</pre>
-<p>Searches a direct child of the <code class="PARAMETER">parent</code>
+<div class="refsect2">
+<a name="xmlSecEnsureEmptyChild"></a><h3>xmlSecEnsureEmptyChild ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlNodePtr</span></font>
+xmlSecEnsureEmptyChild (<em class="parameter"><code><font><span class="type">xmlNodePtr</span></font> parent</code></em>,
+ <em class="parameter"><code>const <font><span class="type">xmlChar</span></font> *name</code></em>,
+ <em class="parameter"><code>const <font><span class="type">xmlChar</span></font> *ns</code></em>);</pre>
+<p>Searches a direct child of the <em class="parameter"><code>parent</code></em>
node having given name and
namespace href. If not found then element node with given name / namespace
is added.</p>
-<div class="REFSECT3">
-<a name="AEN26962"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN26964"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecEnsureEmptyChild.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>parent</p></td>
-<td><p>the pointer to XML node.</p></td>
-<td> </td>
+<td class="parameter_name"><p>parent</p></td>
+<td class="parameter_description"><p>the pointer to XML node.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>name</p></td>
-<td><p>the name.</p></td>
-<td> </td>
+<td class="parameter_name"><p>name</p></td>
+<td class="parameter_description"><p>the name.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>ns</p></td>
-<td><p>the namespace href (may be NULL).</p></td>
-<td> </td>
+<td class="parameter_name"><p>ns</p></td>
+<td class="parameter_description"><p>the namespace href (may be NULL).</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN26985"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecEnsureEmptyChild.returns"></a><h4>Returns</h4>
<p> the pointer to the found or created node; or NULL if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECADDCHILDNODE"></a><h3>xmlSecAddChildNode ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlNodePtr</span></font>
-xmlSecAddChildNode (<code class="PARAMETER"><font><span class="TYPE">xmlNodePtr</span></font> parent</code>,
- <code class="PARAMETER"><font><span class="TYPE">xmlNodePtr</span></font> child</code>);</pre>
-<p>Adds <code class="PARAMETER">child</code>
- node to the <code class="PARAMETER">parent</code>
+<div class="refsect2">
+<a name="xmlSecAddChildNode"></a><h3>xmlSecAddChildNode ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlNodePtr</span></font>
+xmlSecAddChildNode (<em class="parameter"><code><font><span class="type">xmlNodePtr</span></font> parent</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlNodePtr</span></font> child</code></em>);</pre>
+<p>Adds <em class="parameter"><code>child</code></em>
+ node to the <em class="parameter"><code>parent</code></em>
node.</p>
-<div class="REFSECT3">
-<a name="AEN27004"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN27006"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecAddChildNode.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>parent</p></td>
-<td><p>the pointer to an XML node.</p></td>
-<td> </td>
+<td class="parameter_name"><p>parent</p></td>
+<td class="parameter_description"><p>the pointer to an XML node.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>child</p></td>
-<td><p>the new node.</p></td>
-<td> </td>
+<td class="parameter_name"><p>child</p></td>
+<td class="parameter_description"><p>the new node.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN27021"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecAddChildNode.returns"></a><h4>Returns</h4>
<p> pointer to the new node or NULL if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECADDNEXTSIBLING"></a><h3>xmlSecAddNextSibling ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlNodePtr</span></font>
-xmlSecAddNextSibling (<code class="PARAMETER"><font><span class="TYPE">xmlNodePtr</span></font> node</code>,
- <code class="PARAMETER">const <font><span class="TYPE">xmlChar</span></font> *name</code>,
- <code class="PARAMETER">const <font><span class="TYPE">xmlChar</span></font> *ns</code>);</pre>
-<p>Adds next sibling to the node <code class="PARAMETER">node</code>
- with given <code class="PARAMETER">name</code>
- and namespace <code class="PARAMETER">ns</code>
+<div class="refsect2">
+<a name="xmlSecAddNextSibling"></a><h3>xmlSecAddNextSibling ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlNodePtr</span></font>
+xmlSecAddNextSibling (<em class="parameter"><code><font><span class="type">xmlNodePtr</span></font> node</code></em>,
+ <em class="parameter"><code>const <font><span class="type">xmlChar</span></font> *name</code></em>,
+ <em class="parameter"><code>const <font><span class="type">xmlChar</span></font> *ns</code></em>);</pre>
+<p>Adds next sibling to the node <em class="parameter"><code>node</code></em>
+ with given <em class="parameter"><code>name</code></em>
+ and namespace <em class="parameter"><code>ns</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN27044"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN27046"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecAddNextSibling.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>node</p></td>
-<td><p>the pointer to an XML node.</p></td>
-<td> </td>
+<td class="parameter_name"><p>node</p></td>
+<td class="parameter_description"><p>the pointer to an XML node.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>name</p></td>
-<td><p>the new node name.</p></td>
-<td> </td>
+<td class="parameter_name"><p>name</p></td>
+<td class="parameter_description"><p>the new node name.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>ns</p></td>
-<td><p>the new node namespace.</p></td>
-<td> </td>
+<td class="parameter_name"><p>ns</p></td>
+<td class="parameter_description"><p>the new node namespace.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN27067"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecAddNextSibling.returns"></a><h4>Returns</h4>
<p> pointer to the new node or NULL if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECADDPREVSIBLING"></a><h3>xmlSecAddPrevSibling ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlNodePtr</span></font>
-xmlSecAddPrevSibling (<code class="PARAMETER"><font><span class="TYPE">xmlNodePtr</span></font> node</code>,
- <code class="PARAMETER">const <font><span class="TYPE">xmlChar</span></font> *name</code>,
- <code class="PARAMETER">const <font><span class="TYPE">xmlChar</span></font> *ns</code>);</pre>
-<p>Adds prev sibling to the node <code class="PARAMETER">node</code>
- with given <code class="PARAMETER">name</code>
- and namespace <code class="PARAMETER">ns</code>
+<div class="refsect2">
+<a name="xmlSecAddPrevSibling"></a><h3>xmlSecAddPrevSibling ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlNodePtr</span></font>
+xmlSecAddPrevSibling (<em class="parameter"><code><font><span class="type">xmlNodePtr</span></font> node</code></em>,
+ <em class="parameter"><code>const <font><span class="type">xmlChar</span></font> *name</code></em>,
+ <em class="parameter"><code>const <font><span class="type">xmlChar</span></font> *ns</code></em>);</pre>
+<p>Adds prev sibling to the node <em class="parameter"><code>node</code></em>
+ with given <em class="parameter"><code>name</code></em>
+ and namespace <em class="parameter"><code>ns</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN27090"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN27092"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecAddPrevSibling.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>node</p></td>
-<td><p>the pointer to an XML node.</p></td>
-<td> </td>
+<td class="parameter_name"><p>node</p></td>
+<td class="parameter_description"><p>the pointer to an XML node.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>name</p></td>
-<td><p>the new node name.</p></td>
-<td> </td>
+<td class="parameter_name"><p>name</p></td>
+<td class="parameter_description"><p>the new node name.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>ns</p></td>
-<td><p>the new node namespace.</p></td>
-<td> </td>
+<td class="parameter_name"><p>ns</p></td>
+<td class="parameter_description"><p>the new node namespace.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN27113"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecAddPrevSibling.returns"></a><h4>Returns</h4>
<p> pointer to the new node or NULL if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECREPLACENODE"></a><h3>xmlSecReplaceNode ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecReplaceNode (<code class="PARAMETER"><font><span class="TYPE">xmlNodePtr</span></font> node</code>,
- <code class="PARAMETER"><font><span class="TYPE">xmlNodePtr</span></font> newNode</code>);</pre>
-<p>Swaps the <code class="PARAMETER">node</code>
- and <code class="PARAMETER">newNode</code>
+<div class="refsect2">
+<a name="xmlSecReplaceNode"></a><h3>xmlSecReplaceNode ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecReplaceNode (<em class="parameter"><code><font><span class="type">xmlNodePtr</span></font> node</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlNodePtr</span></font> newNode</code></em>);</pre>
+<p>Swaps the <em class="parameter"><code>node</code></em>
+ and <em class="parameter"><code>newNode</code></em>
in the XML tree.</p>
-<div class="REFSECT3">
-<a name="AEN27132"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN27134"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecReplaceNode.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>node</p></td>
-<td><p>the current node.</p></td>
-<td> </td>
+<td class="parameter_name"><p>node</p></td>
+<td class="parameter_description"><p>the current node.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>newNode</p></td>
-<td><p>the new node.</p></td>
-<td> </td>
+<td class="parameter_name"><p>newNode</p></td>
+<td class="parameter_description"><p>the new node.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN27149"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecReplaceNode.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECREPLACENODEANDRETURN"></a><h3>xmlSecReplaceNodeAndReturn ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecReplaceNodeAndReturn (<code class="PARAMETER"><font><span class="TYPE">xmlNodePtr</span></font> node</code>,
- <code class="PARAMETER"><font><span class="TYPE">xmlNodePtr</span></font> newNode</code>,
- <code class="PARAMETER"><font><span class="TYPE">xmlNodePtr</span></font> *replaced</code>);</pre>
-<p>Swaps the <code class="PARAMETER">node</code>
- and <code class="PARAMETER">newNode</code>
+<div class="refsect2">
+<a name="xmlSecReplaceNodeAndReturn"></a><h3>xmlSecReplaceNodeAndReturn ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecReplaceNodeAndReturn (<em class="parameter"><code><font><span class="type">xmlNodePtr</span></font> node</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlNodePtr</span></font> newNode</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlNodePtr</span></font> *replaced</code></em>);</pre>
+<p>Swaps the <em class="parameter"><code>node</code></em>
+ and <em class="parameter"><code>newNode</code></em>
in the XML tree.</p>
-<div class="REFSECT3">
-<a name="AEN27171"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN27173"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecReplaceNodeAndReturn.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>node</p></td>
-<td><p>the current node.</p></td>
-<td> </td>
+<td class="parameter_name"><p>node</p></td>
+<td class="parameter_description"><p>the current node.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>newNode</p></td>
-<td><p>the new node.</p></td>
-<td> </td>
+<td class="parameter_name"><p>newNode</p></td>
+<td class="parameter_description"><p>the new node.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>replaced</p></td>
-<td><p>the replaced node, or release it if NULL is given</p></td>
-<td> </td>
+<td class="parameter_name"><p>replaced</p></td>
+<td class="parameter_description"><p>the replaced node, or release it if NULL is given</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN27194"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecReplaceNodeAndReturn.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECREPLACECONTENT"></a><h3>xmlSecReplaceContent ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecReplaceContent (<code class="PARAMETER"><font><span class="TYPE">xmlNodePtr</span></font> node</code>,
- <code class="PARAMETER"><font><span class="TYPE">xmlNodePtr</span></font> newNode</code>);</pre>
-<p>Swaps the content of <code class="PARAMETER">node</code>
- and <code class="PARAMETER">newNode</code>
+<div class="refsect2">
+<a name="xmlSecReplaceContent"></a><h3>xmlSecReplaceContent ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecReplaceContent (<em class="parameter"><code><font><span class="type">xmlNodePtr</span></font> node</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlNodePtr</span></font> newNode</code></em>);</pre>
+<p>Swaps the content of <em class="parameter"><code>node</code></em>
+ and <em class="parameter"><code>newNode</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN27213"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN27215"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecReplaceContent.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>node</p></td>
-<td><p>the current node.</p></td>
-<td> </td>
+<td class="parameter_name"><p>node</p></td>
+<td class="parameter_description"><p>the current node.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>newNode</p></td>
-<td><p>the new node.</p></td>
-<td> </td>
+<td class="parameter_name"><p>newNode</p></td>
+<td class="parameter_description"><p>the new node.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN27230"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecReplaceContent.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECREPLACECONTENTANDRETURN"></a><h3>xmlSecReplaceContentAndReturn ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecReplaceContentAndReturn (<code class="PARAMETER"><font><span class="TYPE">xmlNodePtr</span></font> node</code>,
- <code class="PARAMETER"><font><span class="TYPE">xmlNodePtr</span></font> newNode</code>,
- <code class="PARAMETER"><font><span class="TYPE">xmlNodePtr</span></font> *replaced</code>);</pre>
-<p>Swaps the content of <code class="PARAMETER">node</code>
- and <code class="PARAMETER">newNode</code>
+<div class="refsect2">
+<a name="xmlSecReplaceContentAndReturn"></a><h3>xmlSecReplaceContentAndReturn ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecReplaceContentAndReturn (<em class="parameter"><code><font><span class="type">xmlNodePtr</span></font> node</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlNodePtr</span></font> newNode</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlNodePtr</span></font> *replaced</code></em>);</pre>
+<p>Swaps the content of <em class="parameter"><code>node</code></em>
+ and <em class="parameter"><code>newNode</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN27252"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN27254"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecReplaceContentAndReturn.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>node</p></td>
-<td><p>the current node.</p></td>
-<td> </td>
+<td class="parameter_name"><p>node</p></td>
+<td class="parameter_description"><p>the current node.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>newNode</p></td>
-<td><p>the new node.</p></td>
-<td> </td>
+<td class="parameter_name"><p>newNode</p></td>
+<td class="parameter_description"><p>the new node.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>replaced</p></td>
-<td><p>the replaced nodes, or release them if NULL is given</p></td>
-<td> </td>
+<td class="parameter_name"><p>replaced</p></td>
+<td class="parameter_description"><p>the replaced nodes, or release them if NULL is given</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN27275"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecReplaceContentAndReturn.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECREPLACENODEBUFFER"></a><h3>xmlSecReplaceNodeBuffer ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecReplaceNodeBuffer (<code class="PARAMETER"><font><span class="TYPE">xmlNodePtr</span></font> node</code>,
- <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *buffer</code>,
- <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> size</code>);</pre>
-<p>Swaps the <code class="PARAMETER">node</code>
- and the parsed XML data from the <code class="PARAMETER">buffer</code>
+<div class="refsect2">
+<a name="xmlSecReplaceNodeBuffer"></a><h3>xmlSecReplaceNodeBuffer ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecReplaceNodeBuffer (<em class="parameter"><code><font><span class="type">xmlNodePtr</span></font> node</code></em>,
+ <em class="parameter"><code>const <a class="link" href="xmlsec-xmlsec.html#xmlSecByte" title="xmlSecByte"><span class="type">xmlSecByte</span></a> *buffer</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="type">xmlSecSize</span></a> size</code></em>);</pre>
+<p>Swaps the <em class="parameter"><code>node</code></em>
+ and the parsed XML data from the <em class="parameter"><code>buffer</code></em>
in the XML tree.</p>
-<div class="REFSECT3">
-<a name="AEN27297"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN27299"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecReplaceNodeBuffer.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>node</p></td>
-<td><p>the current node.</p></td>
-<td> </td>
+<td class="parameter_name"><p>node</p></td>
+<td class="parameter_description"><p>the current node.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>buffer</p></td>
-<td><p>the XML data.</p></td>
-<td> </td>
+<td class="parameter_name"><p>buffer</p></td>
+<td class="parameter_description"><p>the XML data.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>size</p></td>
-<td><p>the XML data size.</p></td>
-<td> </td>
+<td class="parameter_name"><p>size</p></td>
+<td class="parameter_description"><p>the XML data size.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN27320"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecReplaceNodeBuffer.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECREPLACENODEBUFFERANDRETURN"></a><h3>xmlSecReplaceNodeBufferAndReturn ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecReplaceNodeBufferAndReturn (<code class="PARAMETER"><font><span class="TYPE">xmlNodePtr</span></font> node</code>,
- <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *buffer</code>,
- <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> size</code>,
- <code class="PARAMETER"><font><span class="TYPE">xmlNodePtr</span></font> *replaced</code>);</pre>
-<p>Swaps the <code class="PARAMETER">node</code>
- and the parsed XML data from the <code class="PARAMETER">buffer</code>
+<div class="refsect2">
+<a name="xmlSecReplaceNodeBufferAndReturn"></a><h3>xmlSecReplaceNodeBufferAndReturn ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecReplaceNodeBufferAndReturn (<em class="parameter"><code><font><span class="type">xmlNodePtr</span></font> node</code></em>,
+ <em class="parameter"><code>const <a class="link" href="xmlsec-xmlsec.html#xmlSecByte" title="xmlSecByte"><span class="type">xmlSecByte</span></a> *buffer</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="type">xmlSecSize</span></a> size</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlNodePtr</span></font> *replaced</code></em>);</pre>
+<p>Swaps the <em class="parameter"><code>node</code></em>
+ and the parsed XML data from the <em class="parameter"><code>buffer</code></em>
in the XML tree.</p>
-<div class="REFSECT3">
-<a name="AEN27345"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN27347"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecReplaceNodeBufferAndReturn.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>node</p></td>
-<td><p>the current node.</p></td>
-<td> </td>
+<td class="parameter_name"><p>node</p></td>
+<td class="parameter_description"><p>the current node.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>buffer</p></td>
-<td><p>the XML data.</p></td>
-<td> </td>
+<td class="parameter_name"><p>buffer</p></td>
+<td class="parameter_description"><p>the XML data.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>size</p></td>
-<td><p>the XML data size.</p></td>
-<td> </td>
+<td class="parameter_name"><p>size</p></td>
+<td class="parameter_description"><p>the XML data size.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>replaced</p></td>
-<td><p>the replaced nodes, or release them if NULL is given</p></td>
-<td> </td>
+<td class="parameter_name"><p>replaced</p></td>
+<td class="parameter_description"><p>the replaced nodes, or release them if NULL is given</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN27374"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecReplaceNodeBufferAndReturn.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECNODEENCODEANDSETCONTENT"></a><h3>xmlSecNodeEncodeAndSetContent ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecNodeEncodeAndSetContent (<code class="PARAMETER"><font><span class="TYPE">xmlNodePtr</span></font> node</code>,
- <code class="PARAMETER">const <font><span class="TYPE">xmlChar</span></font> *buffer</code>);</pre>
-<p>Encodes "special" characters in the <code class="PARAMETER">buffer</code>
+<div class="refsect2">
+<a name="xmlSecNodeEncodeAndSetContent"></a><h3>xmlSecNodeEncodeAndSetContent ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecNodeEncodeAndSetContent (<em class="parameter"><code><font><span class="type">xmlNodePtr</span></font> node</code></em>,
+ <em class="parameter"><code>const <font><span class="type">xmlChar</span></font> *buffer</code></em>);</pre>
+<p>Encodes "special" characters in the <em class="parameter"><code>buffer</code></em>
and sets the result
as the node content.</p>
-<div class="REFSECT3">
-<a name="AEN27392"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN27394"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecNodeEncodeAndSetContent.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>node</p></td>
-<td><p>the pointer to an XML node.</p></td>
-<td> </td>
+<td class="parameter_name"><p>node</p></td>
+<td class="parameter_description"><p>the pointer to an XML node.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>buffer</p></td>
-<td><p>the pointer to the node content.</p></td>
-<td> </td>
+<td class="parameter_name"><p>buffer</p></td>
+<td class="parameter_description"><p>the pointer to the node content.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN27409"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecNodeEncodeAndSetContent.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECADDIDS"></a><h3>xmlSecAddIDs ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">void</span></font>
-xmlSecAddIDs (<code class="PARAMETER"><font><span class="TYPE">xmlDocPtr</span></font> doc</code>,
- <code class="PARAMETER"><font><span class="TYPE">xmlNodePtr</span></font> cur</code>,
- <code class="PARAMETER">const <font><span class="TYPE">xmlChar</span></font> **ids</code>);</pre>
-<p>Walks thru all children of the <code class="PARAMETER">cur</code>
+<div class="refsect2">
+<a name="xmlSecAddIDs"></a><h3>xmlSecAddIDs ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">void</span></font>
+xmlSecAddIDs (<em class="parameter"><code><font><span class="type">xmlDocPtr</span></font> doc</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlNodePtr</span></font> cur</code></em>,
+ <em class="parameter"><code>const <font><span class="type">xmlChar</span></font> **ids</code></em>);</pre>
+<p>Walks thru all children of the <em class="parameter"><code>cur</code></em>
node and adds all attributes
-from the <code class="PARAMETER">ids</code>
- list to the <code class="PARAMETER">doc</code>
+from the <em class="parameter"><code>ids</code></em>
+ list to the <em class="parameter"><code>doc</code></em>
document IDs attributes hash.</p>
-<div class="REFSECT3">
-<a name="AEN27432"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN27434"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
-<tbody>
-<tr>
-<td><p>doc</p></td>
-<td><p>the pointer to an XML document.</p></td>
-<td> </td>
-</tr>
-<tr>
-<td><p>cur</p></td>
-<td><p>the pointer to an XML node.</p></td>
-<td> </td>
-</tr>
-<tr>
-<td><p>ids</p></td>
-<td><p>the pointer to a NULL terminated list of ID attributes.</p></td>
-<td> </td>
-</tr>
-</tbody>
-</table>
-<p></p>
-</div>
-</div>
-</div>
-<hr>
-<div class="REFSECT2">
-<a name="XMLSECGENERATEANDADDID"></a><h3>xmlSecGenerateAndAddID ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecGenerateAndAddID (<code class="PARAMETER"><font><span class="TYPE">xmlNodePtr</span></font> node</code>,
- <code class="PARAMETER">const <font><span class="TYPE">xmlChar</span></font> *attrName</code>,
- <code class="PARAMETER">const <font><span class="TYPE">xmlChar</span></font> *prefix</code>,
- <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> len</code>);</pre>
-<p>Generates a unique ID in the format <<code class="PARAMETER">prefix</code>
->base64-encoded(<code class="PARAMETER">len</code>
- random bytes)
-and puts it in the attribute <code class="PARAMETER">attrName</code>
-.</p>
-<div class="REFSECT3">
-<a name="AEN27478"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN27480"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecAddIDs.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>node</p></td>
-<td><p>the node to ID attr to.</p></td>
-<td> </td>
+<td class="parameter_name"><p>doc</p></td>
+<td class="parameter_description"><p>the pointer to an XML document.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>attrName</p></td>
-<td><p>the ID attr name.</p></td>
-<td> </td>
+<td class="parameter_name"><p>cur</p></td>
+<td class="parameter_description"><p>the pointer to an XML node.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>prefix</p></td>
-<td><p>the prefix to add to the generated ID (can be NULL).</p></td>
-<td> </td>
-</tr>
-<tr>
-<td><p>len</p></td>
-<td><p>the length of ID.</p></td>
-<td> </td>
+<td class="parameter_name"><p>ids</p></td>
+<td class="parameter_description"><p>the pointer to a NULL terminated list of ID attributes.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN27507"></a><h4>Returns</h4>
-<p> 0 on success or a negative value if an error occurs.</p>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGENERATEID"></a><h3>xmlSecGenerateID ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlChar</span></font> *
-xmlSecGenerateID (<code class="PARAMETER">const <font><span class="TYPE">xmlChar</span></font> *prefix</code>,
- <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> len</code>);</pre>
-<p>Generates a unique ID in the format <<code class="PARAMETER">prefix</code>
->base64-encoded(<code class="PARAMETER">len</code>
- random bytes).
-The caller is responsible for freeing returned string using <code class="PARAMETER">xmlFree</code>
- function.</p>
-<div class="REFSECT3">
-<a name="AEN27527"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN27529"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
-<tbody>
-<tr>
-<td><p>prefix</p></td>
-<td><p>the prefix to add to the generated ID (can be NULL).</p></td>
-<td> </td>
-</tr>
-<tr>
-<td><p>len</p></td>
-<td><p>the length of ID.</p></td>
-<td> </td>
-</tr>
-</tbody>
-</table>
-<p></p>
-</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN27544"></a><h4>Returns</h4>
-<p> pointer to generated ID string or NULL if an error occurs.</p>
-</div>
-</div>
-<hr>
-<div class="REFSECT2">
-<a name="XMLSECCREATETREE"></a><h3>xmlSecCreateTree ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlDocPtr</span></font>
-xmlSecCreateTree (<code class="PARAMETER">const <font><span class="TYPE">xmlChar</span></font> *rootNodeName</code>,
- <code class="PARAMETER">const <font><span class="TYPE">xmlChar</span></font> *rootNodeNs</code>);</pre>
-<p>Creates a new XML tree with one root node <code class="PARAMETER">rootNodeName</code>
+<div class="refsect2">
+<a name="xmlSecCreateTree"></a><h3>xmlSecCreateTree ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlDocPtr</span></font>
+xmlSecCreateTree (<em class="parameter"><code>const <font><span class="type">xmlChar</span></font> *rootNodeName</code></em>,
+ <em class="parameter"><code>const <font><span class="type">xmlChar</span></font> *rootNodeNs</code></em>);</pre>
+<div class="warning"><p><code class="literal">xmlSecCreateTree</code> is deprecated and should not be used in newly-written code.</p></div>
+<p>Creates a new XML tree with one root node <em class="parameter"><code>rootNodeName</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN27562"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN27564"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecCreateTree.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>rootNodeName</p></td>
-<td><p>the root node name.</p></td>
-<td> </td>
+<td class="parameter_name"><p>rootNodeName</p></td>
+<td class="parameter_description"><p>the root node name.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>rootNodeNs</p></td>
-<td><p>the root node namespace (otpional).</p></td>
-<td> </td>
+<td class="parameter_name"><p>rootNodeNs</p></td>
+<td class="parameter_description"><p>the root node namespace (otpional).</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN27579"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecCreateTree.returns"></a><h4>Returns</h4>
<p> pointer to the newly created tree or NULL if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECISEMPTYNODE"></a><h3>xmlSecIsEmptyNode ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecIsEmptyNode (<code class="PARAMETER"><font><span class="TYPE">xmlNodePtr</span></font> node</code>);</pre>
-<p>Checks whethere the <code class="PARAMETER">node</code>
+<div class="refsect2">
+<a name="xmlSecIsEmptyNode"></a><h3>xmlSecIsEmptyNode ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecIsEmptyNode (<em class="parameter"><code><font><span class="type">xmlNodePtr</span></font> node</code></em>);</pre>
+<p>Checks whethere the <em class="parameter"><code>node</code></em>
is empty (i.e. has only whitespaces children).</p>
-<div class="REFSECT3">
-<a name="AEN27594"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN27596"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecIsEmptyNode.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>node</p></td>
-<td><p>the node to check</p></td>
-<td> </td>
+<td class="parameter_name"><p>node</p></td>
+<td class="parameter_description"><p>the node to check</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN27605"></a><h4>Returns</h4>
-<p> 1 if <code class="PARAMETER">node</code>
+<div class="refsect3">
+<a name="xmlSecIsEmptyNode.returns"></a><h4>Returns</h4>
+<p> 1 if <em class="parameter"><code>node</code></em>
is empty, 0 otherwise or a negative value if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECISEMPTYSTRING"></a><h3>xmlSecIsEmptyString ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecIsEmptyString (<code class="PARAMETER">const <font><span class="TYPE">xmlChar</span></font> *str</code>);</pre>
-<p>Checks whethere the <code class="PARAMETER">str</code>
+<div class="refsect2">
+<a name="xmlSecIsEmptyString"></a><h3>xmlSecIsEmptyString ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecIsEmptyString (<em class="parameter"><code>const <font><span class="type">xmlChar</span></font> *str</code></em>);</pre>
+<p>Checks whethere the <em class="parameter"><code>str</code></em>
is empty (i.e. has only whitespaces children).</p>
-<div class="REFSECT3">
-<a name="AEN27621"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN27623"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecIsEmptyString.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>str</p></td>
-<td><p>the string to check</p></td>
-<td> </td>
+<td class="parameter_name"><p>str</p></td>
+<td class="parameter_description"><p>the string to check</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN27632"></a><h4>Returns</h4>
-<p> 1 if <code class="PARAMETER">str</code>
+<div class="refsect3">
+<a name="xmlSecIsEmptyString.returns"></a><h4>Returns</h4>
+<p> 1 if <em class="parameter"><code>str</code></em>
is empty, 0 otherwise or a negative value if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGETQNAME"></a><h3>xmlSecGetQName ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlChar</span></font> *
-xmlSecGetQName (<code class="PARAMETER"><font><span class="TYPE">xmlNodePtr</span></font> node</code>,
- <code class="PARAMETER">const <font><span class="TYPE">xmlChar</span></font> *href</code>,
- <code class="PARAMETER">const <font><span class="TYPE">xmlChar</span></font> *local</code>);</pre>
-<p>Creates QName (prefix:local) from <code class="PARAMETER">href</code>
- and <code class="PARAMETER">local</code>
- in the context of the <code class="PARAMETER">node</code>
+<div class="refsect2">
+<a name="xmlSecGetQName"></a><h3>xmlSecGetQName ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlChar</span></font> *
+xmlSecGetQName (<em class="parameter"><code><font><span class="type">xmlNodePtr</span></font> node</code></em>,
+ <em class="parameter"><code>const <font><span class="type">xmlChar</span></font> *href</code></em>,
+ <em class="parameter"><code>const <font><span class="type">xmlChar</span></font> *local</code></em>);</pre>
+<p>Creates QName (prefix:local) from <em class="parameter"><code>href</code></em>
+ and <em class="parameter"><code>local</code></em>
+ in the context of the <em class="parameter"><code>node</code></em>
.
Caller is responsible for freeing returned string with xmlFree.</p>
-<div class="REFSECT3">
-<a name="AEN27656"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN27658"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecGetQName.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>node</p></td>
-<td><p>the context node.</p></td>
-<td> </td>
+<td class="parameter_name"><p>node</p></td>
+<td class="parameter_description"><p>the context node.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>href</p></td>
-<td><p>the QName href (can be NULL).</p></td>
-<td> </td>
+<td class="parameter_name"><p>href</p></td>
+<td class="parameter_description"><p>the QName href (can be NULL).</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>local</p></td>
-<td><p>the QName local part.</p></td>
-<td> </td>
+<td class="parameter_name"><p>local</p></td>
+<td class="parameter_description"><p>the QName local part.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN27679"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecGetQName.returns"></a><h4>Returns</h4>
<p> qname or NULL if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECPRINTXMLSTRING"></a><h3>xmlSecPrintXmlString ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecPrintXmlString (<code class="PARAMETER"><font><span class="TYPE">FILE</span></font> *fd</code>,
- <code class="PARAMETER">const <font><span class="TYPE">xmlChar</span></font> *str</code>);</pre>
-<p>Encodes the <code class="PARAMETER">str</code>
- (e.g. replaces '&' with '&') and writes it to <code class="PARAMETER">fd</code>
+<div class="refsect2">
+<a name="xmlSecPrintXmlString"></a><h3>xmlSecPrintXmlString ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecPrintXmlString (<em class="parameter"><code><font><span class="type">FILE</span></font> *fd</code></em>,
+ <em class="parameter"><code>const <font><span class="type">xmlChar</span></font> *str</code></em>);</pre>
+<p>Encodes the <em class="parameter"><code>str</code></em>
+ (e.g. replaces '&' with '&') and writes it to <em class="parameter"><code>fd</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN27698"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN27700"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecPrintXmlString.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>fd</p></td>
-<td><p>the file descriptor to write the XML string to</p></td>
-<td> </td>
+<td class="parameter_name"><p>fd</p></td>
+<td class="parameter_description"><p>the file descriptor to write the XML string to</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>str</p></td>
-<td><p>the string</p></td>
-<td> </td>
+<td class="parameter_name"><p>str</p></td>
+<td class="parameter_description"><p>the string</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN27715"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecPrintXmlString.returns"></a><h4>Returns</h4>
<p> he number of bytes transmitted or a negative value if an error occurs.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECISHEX"></a><h3>xmlSecIsHex()</h3>
-<pre class="PROGRAMLISTING">#define xmlSecIsHex(c)</pre>
-<p>Macro. Returns 1 if <code class="PARAMETER">c</code>
+<div class="refsect2">
+<a name="xmlSecIsHex"></a><h3>xmlSecIsHex()</h3>
+<pre class="programlisting">#define xmlSecIsHex(c)</pre>
+<p>Macro. Returns 1 if <em class="parameter"><code>c</code></em>
is a hex digit or 0 other wise.</p>
-<div class="REFSECT3">
-<a name="AEN27725"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN27727"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecIsHex.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>c</p></td>
-<td><p>the character.</p></td>
-<td> </td>
+<td class="parameter_name"><p>c</p></td>
+<td class="parameter_description"><p>the character.</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECGETHEX"></a><h3>xmlSecGetHex()</h3>
-<pre class="PROGRAMLISTING">#define xmlSecGetHex(c)</pre>
-<p>Macro. Returns the hex value of the <code class="PARAMETER">c</code>
+<div class="refsect2">
+<a name="xmlSecGetHex"></a><h3>xmlSecGetHex()</h3>
+<pre class="programlisting">#define xmlSecGetHex(c)</pre>
+<p>Macro. Returns the hex value of the <em class="parameter"><code>c</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN27743"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN27745"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecGetHex.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody><tr>
-<td><p>c</p></td>
-<td><p>the character,</p></td>
-<td> </td>
+<td class="parameter_name"><p>c</p></td>
+<td class="parameter_description"><p>the character,</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECQNAME2INTEGERGETINFO"></a><h3>xmlSecQName2IntegerGetInfo ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecQName2IntegerInfoConstPtr</span></font>
-xmlSecQName2IntegerGetInfo (<code class="PARAMETER"><font><span class="TYPE">xmlSecQName2IntegerInfoConstPtr</span></font> info</code>,
- <code class="PARAMETER"><font><span class="TYPE">int</span></font> intValue</code>);</pre>
-<p>Maps integer <code class="PARAMETER">intValue</code>
+<div class="refsect2">
+<a name="xmlSecQName2IntegerGetInfo"></a><h3>xmlSecQName2IntegerGetInfo ()</h3>
+<pre class="programlisting"><a class="link" href="xmlsec-xmltree.html#xmlSecQName2IntegerInfoConstPtr" title="xmlSecQName2IntegerInfoConstPtr"><span class="returnvalue">xmlSecQName2IntegerInfoConstPtr</span></a>
+xmlSecQName2IntegerGetInfo (<em class="parameter"><code><a class="link" href="xmlsec-xmltree.html#xmlSecQName2IntegerInfoConstPtr" title="xmlSecQName2IntegerInfoConstPtr"><span class="type">xmlSecQName2IntegerInfoConstPtr</span></a> info</code></em>,
+ <em class="parameter"><code><font><span class="type">int</span></font> intValue</code></em>);</pre>
+<p>Maps integer <em class="parameter"><code>intValue</code></em>
to a QName prefix.</p>
-<div class="REFSECT3">
-<a name="AEN27769"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN27771"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecQName2IntegerGetInfo.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>info</p></td>
-<td><p>the qname<->integer mapping information.</p></td>
-<td> </td>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>the qname<->integer mapping information.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>intValue</p></td>
-<td><p>the integer value.</p></td>
-<td> </td>
+<td class="parameter_name"><p>intValue</p></td>
+<td class="parameter_description"><p>the integer value.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN27786"></a><h4>Returns</h4>
-<p> the QName info that is mapped to <code class="PARAMETER">intValue</code>
+<div class="refsect3">
+<a name="xmlSecQName2IntegerGetInfo.returns"></a><h4>Returns</h4>
+<p> the QName info that is mapped to <em class="parameter"><code>intValue</code></em>
or NULL if such value
is not found.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECQNAME2INTEGERGETINTEGER"></a><h3>xmlSecQName2IntegerGetInteger ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecQName2IntegerGetInteger (<code class="PARAMETER"><font><span class="TYPE">xmlSecQName2IntegerInfoConstPtr</span></font> info</code>,
- <code class="PARAMETER">const <font><span class="TYPE">xmlChar</span></font> *qnameHref</code>,
- <code class="PARAMETER">const <font><span class="TYPE">xmlChar</span></font> *qnameLocalPart</code>,
- <code class="PARAMETER"><font><span class="TYPE">int</span></font> *intValue</code>);</pre>
-<p>Maps qname qname to an integer and returns it in <code class="PARAMETER">intValue</code>
+<div class="refsect2">
+<a name="xmlSecQName2IntegerGetInteger"></a><h3>xmlSecQName2IntegerGetInteger ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecQName2IntegerGetInteger (<em class="parameter"><code><a class="link" href="xmlsec-xmltree.html#xmlSecQName2IntegerInfoConstPtr" title="xmlSecQName2IntegerInfoConstPtr"><span class="type">xmlSecQName2IntegerInfoConstPtr</span></a> info</code></em>,
+ <em class="parameter"><code>const <font><span class="type">xmlChar</span></font> *qnameHref</code></em>,
+ <em class="parameter"><code>const <font><span class="type">xmlChar</span></font> *qnameLocalPart</code></em>,
+ <em class="parameter"><code><font><span class="type">int</span></font> *intValue</code></em>);</pre>
+<p>Maps qname qname to an integer and returns it in <em class="parameter"><code>intValue</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN27811"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN27813"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecQName2IntegerGetInteger.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>info</p></td>
-<td><p>the qname<->integer mapping information.</p></td>
-<td> </td>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>the qname<->integer mapping information.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>qnameHref</p></td>
-<td><p>the qname href value.</p></td>
-<td> </td>
+<td class="parameter_name"><p>qnameHref</p></td>
+<td class="parameter_description"><p>the qname href value.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>qnameLocalPart</p></td>
-<td><p>the qname local part value.</p></td>
-<td> </td>
+<td class="parameter_name"><p>qnameLocalPart</p></td>
+<td class="parameter_description"><p>the qname local part value.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>intValue</p></td>
-<td><p>the pointer to result integer value.</p></td>
-<td> </td>
+<td class="parameter_name"><p>intValue</p></td>
+<td class="parameter_description"><p>the pointer to result integer value.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN27840"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecQName2IntegerGetInteger.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs,</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECQNAME2INTEGERGETINTEGERFROMSTRING"></a><h3>xmlSecQName2IntegerGetIntegerFromString ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
+<div class="refsect2">
+<a name="xmlSecQName2IntegerGetIntegerFromString"></a><h3>xmlSecQName2IntegerGetIntegerFromString ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
xmlSecQName2IntegerGetIntegerFromString
- (<code class="PARAMETER"><font><span class="TYPE">xmlSecQName2IntegerInfoConstPtr</span></font> info</code>,
- <code class="PARAMETER"><font><span class="TYPE">xmlNodePtr</span></font> node</code>,
- <code class="PARAMETER">const <font><span class="TYPE">xmlChar</span></font> *qname</code>,
- <code class="PARAMETER"><font><span class="TYPE">int</span></font> *intValue</code>);</pre>
-<p>Converts <code class="PARAMETER">qname</code>
- into integer in context of <code class="PARAMETER">node</code>
+ (<em class="parameter"><code><a class="link" href="xmlsec-xmltree.html#xmlSecQName2IntegerInfoConstPtr" title="xmlSecQName2IntegerInfoConstPtr"><span class="type">xmlSecQName2IntegerInfoConstPtr</span></a> info</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlNodePtr</span></font> node</code></em>,
+ <em class="parameter"><code>const <font><span class="type">xmlChar</span></font> *qname</code></em>,
+ <em class="parameter"><code><font><span class="type">int</span></font> *intValue</code></em>);</pre>
+<p>Converts <em class="parameter"><code>qname</code></em>
+ into integer in context of <em class="parameter"><code>node</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN27865"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN27867"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecQName2IntegerGetIntegerFromString.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>info</p></td>
-<td><p>the qname<->integer mapping information.</p></td>
-<td> </td>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>the qname<->integer mapping information.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>node</p></td>
-<td><p>the pointer to node.</p></td>
-<td> </td>
+<td class="parameter_name"><p>node</p></td>
+<td class="parameter_description"><p>the pointer to node.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>qname</p></td>
-<td><p>the qname string.</p></td>
-<td> </td>
+<td class="parameter_name"><p>qname</p></td>
+<td class="parameter_description"><p>the qname string.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>intValue</p></td>
-<td><p>the pointer to result integer value.</p></td>
-<td> </td>
+<td class="parameter_name"><p>intValue</p></td>
+<td class="parameter_description"><p>the pointer to result integer value.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN27894"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecQName2IntegerGetIntegerFromString.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs,</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECQNAME2INTEGERGETSTRINGFROMINTEGER"></a><h3>xmlSecQName2IntegerGetStringFromInteger ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlChar</span></font> *
+<div class="refsect2">
+<a name="xmlSecQName2IntegerGetStringFromInteger"></a><h3>xmlSecQName2IntegerGetStringFromInteger ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlChar</span></font> *
xmlSecQName2IntegerGetStringFromInteger
- (<code class="PARAMETER"><font><span class="TYPE">xmlSecQName2IntegerInfoConstPtr</span></font> info</code>,
- <code class="PARAMETER"><font><span class="TYPE">xmlNodePtr</span></font> node</code>,
- <code class="PARAMETER"><font><span class="TYPE">int</span></font> intValue</code>);</pre>
-<p>Creates qname string for <code class="PARAMETER">intValue</code>
- in context of given <code class="PARAMETER">node</code>
+ (<em class="parameter"><code><a class="link" href="xmlsec-xmltree.html#xmlSecQName2IntegerInfoConstPtr" title="xmlSecQName2IntegerInfoConstPtr"><span class="type">xmlSecQName2IntegerInfoConstPtr</span></a> info</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlNodePtr</span></font> node</code></em>,
+ <em class="parameter"><code><font><span class="type">int</span></font> intValue</code></em>);</pre>
+<p>Creates qname string for <em class="parameter"><code>intValue</code></em>
+ in context of given <em class="parameter"><code>node</code></em>
. Caller
-is responsible for freeing returned string with <code class="PARAMETER">xmlFree</code>
+is responsible for freeing returned string with <em class="parameter"><code>xmlFree</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN27917"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN27919"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecQName2IntegerGetStringFromInteger.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>info</p></td>
-<td><p>the qname<->integer mapping information.</p></td>
-<td> </td>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>the qname<->integer mapping information.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>node</p></td>
-<td><p>the pointer to node.</p></td>
-<td> </td>
+<td class="parameter_name"><p>node</p></td>
+<td class="parameter_description"><p>the pointer to node.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>intValue</p></td>
-<td><p>the integer value.</p></td>
-<td> </td>
+<td class="parameter_name"><p>intValue</p></td>
+<td class="parameter_description"><p>the integer value.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN27940"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecQName2IntegerGetStringFromInteger.returns"></a><h4>Returns</h4>
<p> pointer to newly allocated string on success or NULL if an error occurs,</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECQNAME2INTEGERNODEREAD"></a><h3>xmlSecQName2IntegerNodeRead ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecQName2IntegerNodeRead (<code class="PARAMETER"><font><span class="TYPE">xmlSecQName2IntegerInfoConstPtr</span></font> info</code>,
- <code class="PARAMETER"><font><span class="TYPE">xmlNodePtr</span></font> node</code>,
- <code class="PARAMETER"><font><span class="TYPE">int</span></font> *intValue</code>);</pre>
-<p>Reads the content of <code class="PARAMETER">node</code>
+<div class="refsect2">
+<a name="xmlSecQName2IntegerNodeRead"></a><h3>xmlSecQName2IntegerNodeRead ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecQName2IntegerNodeRead (<em class="parameter"><code><a class="link" href="xmlsec-xmltree.html#xmlSecQName2IntegerInfoConstPtr" title="xmlSecQName2IntegerInfoConstPtr"><span class="type">xmlSecQName2IntegerInfoConstPtr</span></a> info</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlNodePtr</span></font> node</code></em>,
+ <em class="parameter"><code><font><span class="type">int</span></font> *intValue</code></em>);</pre>
+<p>Reads the content of <em class="parameter"><code>node</code></em>
and converts it to an integer using mapping
-from <code class="PARAMETER">info</code>
+from <em class="parameter"><code>info</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN27962"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN27964"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecQName2IntegerNodeRead.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>info</p></td>
-<td><p>the qname<->integer mapping information.</p></td>
-<td> </td>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>the qname<->integer mapping information.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>node</p></td>
-<td><p>the pointer to node.</p></td>
-<td> </td>
+<td class="parameter_name"><p>node</p></td>
+<td class="parameter_description"><p>the pointer to node.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>intValue</p></td>
-<td><p>the pointer to result integer value.</p></td>
-<td> </td>
+<td class="parameter_name"><p>intValue</p></td>
+<td class="parameter_description"><p>the pointer to result integer value.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN27985"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecQName2IntegerNodeRead.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs,</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECQNAME2INTEGERNODEWRITE"></a><h3>xmlSecQName2IntegerNodeWrite ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecQName2IntegerNodeWrite (<code class="PARAMETER"><font><span class="TYPE">xmlSecQName2IntegerInfoConstPtr</span></font> info</code>,
- <code class="PARAMETER"><font><span class="TYPE">xmlNodePtr</span></font> node</code>,
- <code class="PARAMETER">const <font><span class="TYPE">xmlChar</span></font> *nodeName</code>,
- <code class="PARAMETER">const <font><span class="TYPE">xmlChar</span></font> *nodeNs</code>,
- <code class="PARAMETER"><font><span class="TYPE">int</span></font> intValue</code>);</pre>
-<p>Creates new child node in <code class="PARAMETER">node</code>
- and sets its value to <code class="PARAMETER">intValue</code>
+<div class="refsect2">
+<a name="xmlSecQName2IntegerNodeWrite"></a><h3>xmlSecQName2IntegerNodeWrite ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecQName2IntegerNodeWrite (<em class="parameter"><code><a class="link" href="xmlsec-xmltree.html#xmlSecQName2IntegerInfoConstPtr" title="xmlSecQName2IntegerInfoConstPtr"><span class="type">xmlSecQName2IntegerInfoConstPtr</span></a> info</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlNodePtr</span></font> node</code></em>,
+ <em class="parameter"><code>const <font><span class="type">xmlChar</span></font> *nodeName</code></em>,
+ <em class="parameter"><code>const <font><span class="type">xmlChar</span></font> *nodeNs</code></em>,
+ <em class="parameter"><code><font><span class="type">int</span></font> intValue</code></em>);</pre>
+<p>Creates new child node in <em class="parameter"><code>node</code></em>
+ and sets its value to <em class="parameter"><code>intValue</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN28013"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN28015"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecQName2IntegerNodeWrite.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>info</p></td>
-<td><p>the qname<->integer mapping information.</p></td>
-<td> </td>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>the qname<->integer mapping information.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>node</p></td>
-<td><p>the parent node.</p></td>
-<td> </td>
+<td class="parameter_name"><p>node</p></td>
+<td class="parameter_description"><p>the parent node.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>nodeName</p></td>
-<td><p>the child node name.</p></td>
-<td> </td>
+<td class="parameter_name"><p>nodeName</p></td>
+<td class="parameter_description"><p>the child node name.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>nodeNs</p></td>
-<td><p>the child node namespace.</p></td>
-<td> </td>
+<td class="parameter_name"><p>nodeNs</p></td>
+<td class="parameter_description"><p>the child node namespace.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>intValue</p></td>
-<td><p>the integer value.</p></td>
-<td> </td>
+<td class="parameter_name"><p>intValue</p></td>
+<td class="parameter_description"><p>the integer value.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN28048"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecQName2IntegerNodeWrite.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs,</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECQNAME2INTEGERATTRIBUTEREAD"></a><h3>xmlSecQName2IntegerAttributeRead ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecQName2IntegerAttributeRead (<code class="PARAMETER"><font><span class="TYPE">xmlSecQName2IntegerInfoConstPtr</span></font> info</code>,
- <code class="PARAMETER"><font><span class="TYPE">xmlNodePtr</span></font> node</code>,
- <code class="PARAMETER">const <font><span class="TYPE">xmlChar</span></font> *attrName</code>,
- <code class="PARAMETER"><font><span class="TYPE">int</span></font> *intValue</code>);</pre>
-<p>Gets the value of <code class="PARAMETER">attrName</code>
- atrtibute from <code class="PARAMETER">node</code>
+<div class="refsect2">
+<a name="xmlSecQName2IntegerAttributeRead"></a><h3>xmlSecQName2IntegerAttributeRead ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecQName2IntegerAttributeRead (<em class="parameter"><code><a class="link" href="xmlsec-xmltree.html#xmlSecQName2IntegerInfoConstPtr" title="xmlSecQName2IntegerInfoConstPtr"><span class="type">xmlSecQName2IntegerInfoConstPtr</span></a> info</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlNodePtr</span></font> node</code></em>,
+ <em class="parameter"><code>const <font><span class="type">xmlChar</span></font> *attrName</code></em>,
+ <em class="parameter"><code><font><span class="type">int</span></font> *intValue</code></em>);</pre>
+<p>Gets the value of <em class="parameter"><code>attrName</code></em>
+ atrtibute from <em class="parameter"><code>node</code></em>
and converts it to integer
-according to <code class="PARAMETER">info</code>
+according to <em class="parameter"><code>info</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN28074"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN28076"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecQName2IntegerAttributeRead.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>info</p></td>
-<td><p>the qname<->integer mapping information.</p></td>
-<td> </td>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>the qname<->integer mapping information.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>node</p></td>
-<td><p>the element node.</p></td>
-<td> </td>
+<td class="parameter_name"><p>node</p></td>
+<td class="parameter_description"><p>the element node.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>attrName</p></td>
-<td><p>the attribute name.</p></td>
-<td> </td>
+<td class="parameter_name"><p>attrName</p></td>
+<td class="parameter_description"><p>the attribute name.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>intValue</p></td>
-<td><p>the pointer to result integer value.</p></td>
-<td> </td>
+<td class="parameter_name"><p>intValue</p></td>
+<td class="parameter_description"><p>the pointer to result integer value.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN28103"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecQName2IntegerAttributeRead.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs,</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECQNAME2INTEGERATTRIBUTEWRITE"></a><h3>xmlSecQName2IntegerAttributeWrite ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecQName2IntegerAttributeWrite (<code class="PARAMETER"><font><span class="TYPE">xmlSecQName2IntegerInfoConstPtr</span></font> info</code>,
- <code class="PARAMETER"><font><span class="TYPE">xmlNodePtr</span></font> node</code>,
- <code class="PARAMETER">const <font><span class="TYPE">xmlChar</span></font> *attrName</code>,
- <code class="PARAMETER"><font><span class="TYPE">int</span></font> intValue</code>);</pre>
-<p>Converts <code class="PARAMETER">intValue</code>
+<div class="refsect2">
+<a name="xmlSecQName2IntegerAttributeWrite"></a><h3>xmlSecQName2IntegerAttributeWrite ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecQName2IntegerAttributeWrite (<em class="parameter"><code><a class="link" href="xmlsec-xmltree.html#xmlSecQName2IntegerInfoConstPtr" title="xmlSecQName2IntegerInfoConstPtr"><span class="type">xmlSecQName2IntegerInfoConstPtr</span></a> info</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlNodePtr</span></font> node</code></em>,
+ <em class="parameter"><code>const <font><span class="type">xmlChar</span></font> *attrName</code></em>,
+ <em class="parameter"><code><font><span class="type">int</span></font> intValue</code></em>);</pre>
+<p>Converts <em class="parameter"><code>intValue</code></em>
to a qname and sets it to the value of
-attribute <code class="PARAMETER">attrName</code>
- in <code class="PARAMETER">node</code>
+attribute <em class="parameter"><code>attrName</code></em>
+ in <em class="parameter"><code>node</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN28129"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN28131"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecQName2IntegerAttributeWrite.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>info</p></td>
-<td><p>the qname<->integer mapping information.</p></td>
-<td> </td>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>the qname<->integer mapping information.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>node</p></td>
-<td><p>the parent node.</p></td>
-<td> </td>
+<td class="parameter_name"><p>node</p></td>
+<td class="parameter_description"><p>the parent node.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>attrName</p></td>
-<td><p>the name of attribute.</p></td>
-<td> </td>
+<td class="parameter_name"><p>attrName</p></td>
+<td class="parameter_description"><p>the name of attribute.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>intValue</p></td>
-<td><p>the integer value.</p></td>
-<td> </td>
+<td class="parameter_name"><p>intValue</p></td>
+<td class="parameter_description"><p>the integer value.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN28158"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecQName2IntegerAttributeWrite.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs,</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECQNAME2INTEGERDEBUGDUMP"></a><h3>xmlSecQName2IntegerDebugDump ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">void</span></font>
-xmlSecQName2IntegerDebugDump (<code class="PARAMETER"><font><span class="TYPE">xmlSecQName2IntegerInfoConstPtr</span></font> info</code>,
- <code class="PARAMETER"><font><span class="TYPE">int</span></font> intValue</code>,
- <code class="PARAMETER">const <font><span class="TYPE">xmlChar</span></font> *name</code>,
- <code class="PARAMETER"><font><span class="TYPE">FILE</span></font> *output</code>);</pre>
-<p>Prints <code class="PARAMETER">intValue</code>
- into <code class="PARAMETER">output</code>
+<div class="refsect2">
+<a name="xmlSecQName2IntegerDebugDump"></a><h3>xmlSecQName2IntegerDebugDump ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">void</span></font>
+xmlSecQName2IntegerDebugDump (<em class="parameter"><code><a class="link" href="xmlsec-xmltree.html#xmlSecQName2IntegerInfoConstPtr" title="xmlSecQName2IntegerInfoConstPtr"><span class="type">xmlSecQName2IntegerInfoConstPtr</span></a> info</code></em>,
+ <em class="parameter"><code><font><span class="type">int</span></font> intValue</code></em>,
+ <em class="parameter"><code>const <font><span class="type">xmlChar</span></font> *name</code></em>,
+ <em class="parameter"><code><font><span class="type">FILE</span></font> *output</code></em>);</pre>
+<p>Prints <em class="parameter"><code>intValue</code></em>
+ into <em class="parameter"><code>output</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN28183"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN28185"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecQName2IntegerDebugDump.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>info</p></td>
-<td><p>the qname<->integer mapping information.</p></td>
-<td> </td>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>the qname<->integer mapping information.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>intValue</p></td>
-<td><p>the integer value.</p></td>
-<td> </td>
+<td class="parameter_name"><p>intValue</p></td>
+<td class="parameter_description"><p>the integer value.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>name</p></td>
-<td><p>the value name to print.</p></td>
-<td> </td>
+<td class="parameter_name"><p>name</p></td>
+<td class="parameter_description"><p>the value name to print.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>output</p></td>
-<td><p>the pointer to output FILE.</p></td>
-<td> </td>
+<td class="parameter_name"><p>output</p></td>
+<td class="parameter_description"><p>the pointer to output FILE.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECQNAME2INTEGERDEBUGXMLDUMP"></a><h3>xmlSecQName2IntegerDebugXmlDump ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">void</span></font>
-xmlSecQName2IntegerDebugXmlDump (<code class="PARAMETER"><font><span class="TYPE">xmlSecQName2IntegerInfoConstPtr</span></font> info</code>,
- <code class="PARAMETER"><font><span class="TYPE">int</span></font> intValue</code>,
- <code class="PARAMETER">const <font><span class="TYPE">xmlChar</span></font> *name</code>,
- <code class="PARAMETER"><font><span class="TYPE">FILE</span></font> *output</code>);</pre>
-<p>Prints <code class="PARAMETER">intValue</code>
- into <code class="PARAMETER">output</code>
+<div class="refsect2">
+<a name="xmlSecQName2IntegerDebugXmlDump"></a><h3>xmlSecQName2IntegerDebugXmlDump ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">void</span></font>
+xmlSecQName2IntegerDebugXmlDump (<em class="parameter"><code><a class="link" href="xmlsec-xmltree.html#xmlSecQName2IntegerInfoConstPtr" title="xmlSecQName2IntegerInfoConstPtr"><span class="type">xmlSecQName2IntegerInfoConstPtr</span></a> info</code></em>,
+ <em class="parameter"><code><font><span class="type">int</span></font> intValue</code></em>,
+ <em class="parameter"><code>const <font><span class="type">xmlChar</span></font> *name</code></em>,
+ <em class="parameter"><code><font><span class="type">FILE</span></font> *output</code></em>);</pre>
+<p>Prints <em class="parameter"><code>intValue</code></em>
+ into <em class="parameter"><code>output</code></em>
in XML format.</p>
-<div class="REFSECT3">
-<a name="AEN28234"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN28236"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecQName2IntegerDebugXmlDump.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>info</p></td>
-<td><p>the qname<->integer mapping information.</p></td>
-<td> </td>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>the qname<->integer mapping information.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>intValue</p></td>
-<td><p>the integer value.</p></td>
-<td> </td>
+<td class="parameter_name"><p>intValue</p></td>
+<td class="parameter_description"><p>the integer value.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>name</p></td>
-<td><p>the value name to print.</p></td>
-<td> </td>
+<td class="parameter_name"><p>name</p></td>
+<td class="parameter_description"><p>the value name to print.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>output</p></td>
-<td><p>the pointer to output FILE.</p></td>
-<td> </td>
+<td class="parameter_name"><p>output</p></td>
+<td class="parameter_description"><p>the pointer to output FILE.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECQNAME2BITMASKGETINFO"></a><h3>xmlSecQName2BitMaskGetInfo ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlSecQName2BitMaskInfoConstPtr</span></font>
-xmlSecQName2BitMaskGetInfo (<code class="PARAMETER"><font><span class="TYPE">xmlSecQName2BitMaskInfoConstPtr</span></font> info</code>,
- <code class="PARAMETER"><a href="xmlsec-xmltree.html#XMLSECBITMASK"><span class="TYPE">xmlSecBitMask</span></a> mask</code>);</pre>
-<p>Converts <code class="PARAMETER">mask</code>
+<div class="refsect2">
+<a name="xmlSecQName2BitMaskGetInfo"></a><h3>xmlSecQName2BitMaskGetInfo ()</h3>
+<pre class="programlisting"><a class="link" href="xmlsec-xmltree.html#xmlSecQName2BitMaskInfoConstPtr" title="xmlSecQName2BitMaskInfoConstPtr"><span class="returnvalue">xmlSecQName2BitMaskInfoConstPtr</span></a>
+xmlSecQName2BitMaskGetInfo (<em class="parameter"><code><a class="link" href="xmlsec-xmltree.html#xmlSecQName2BitMaskInfoConstPtr" title="xmlSecQName2BitMaskInfoConstPtr"><span class="type">xmlSecQName2BitMaskInfoConstPtr</span></a> info</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-xmltree.html#xmlSecBitMask" title="xmlSecBitMask"><span class="type">xmlSecBitMask</span></a> mask</code></em>);</pre>
+<p>Converts <em class="parameter"><code>mask</code></em>
to qname.</p>
-<div class="REFSECT3">
-<a name="AEN28278"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN28280"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecQName2BitMaskGetInfo.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>info</p></td>
-<td><p>the qname<->bit mask mapping information.</p></td>
-<td> </td>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>the qname<->bit mask mapping information.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>mask</p></td>
-<td><p>the bit mask.</p></td>
-<td> </td>
+<td class="parameter_name"><p>mask</p></td>
+<td class="parameter_description"><p>the bit mask.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN28295"></a><h4>Returns</h4>
-<p> pointer to the qname info for <code class="PARAMETER">mask</code>
+<div class="refsect3">
+<a name="xmlSecQName2BitMaskGetInfo.returns"></a><h4>Returns</h4>
+<p> pointer to the qname info for <em class="parameter"><code>mask</code></em>
or NULL if mask is unknown.</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECQNAME2BITMASKGETBITMASK"></a><h3>xmlSecQName2BitMaskGetBitMask ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecQName2BitMaskGetBitMask (<code class="PARAMETER"><font><span class="TYPE">xmlSecQName2BitMaskInfoConstPtr</span></font> info</code>,
- <code class="PARAMETER">const <font><span class="TYPE">xmlChar</span></font> *qnameLocalPart</code>,
- <code class="PARAMETER">const <font><span class="TYPE">xmlChar</span></font> *qnameHref</code>,
- <code class="PARAMETER"><a href="xmlsec-xmltree.html#XMLSECBITMASK"><span class="TYPE">xmlSecBitMask</span></a> *mask</code>);</pre>
-<p>Converts <code class="PARAMETER">qnameLocalPart</code>
- to <code class="PARAMETER">mask</code>
+<div class="refsect2">
+<a name="xmlSecQName2BitMaskGetBitMask"></a><h3>xmlSecQName2BitMaskGetBitMask ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecQName2BitMaskGetBitMask (<em class="parameter"><code><a class="link" href="xmlsec-xmltree.html#xmlSecQName2BitMaskInfoConstPtr" title="xmlSecQName2BitMaskInfoConstPtr"><span class="type">xmlSecQName2BitMaskInfoConstPtr</span></a> info</code></em>,
+ <em class="parameter"><code>const <font><span class="type">xmlChar</span></font> *qnameLocalPart</code></em>,
+ <em class="parameter"><code>const <font><span class="type">xmlChar</span></font> *qnameHref</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-xmltree.html#xmlSecBitMask" title="xmlSecBitMask"><span class="type">xmlSecBitMask</span></a> *mask</code></em>);</pre>
+<p>Converts <em class="parameter"><code>qnameLocalPart</code></em>
+ to <em class="parameter"><code>mask</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN28321"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN28323"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecQName2BitMaskGetBitMask.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>info</p></td>
-<td><p>the qname<->bit mask mapping information.</p></td>
-<td> </td>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>the qname<->bit mask mapping information.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>qnameLocalPart</p></td>
-<td><p>the qname LocalPart value.</p></td>
-<td> </td>
+<td class="parameter_name"><p>qnameLocalPart</p></td>
+<td class="parameter_description"><p>the qname LocalPart value.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>qnameHref</p></td>
-<td><p>the qname Href value.</p></td>
-<td> </td>
+<td class="parameter_name"><p>qnameHref</p></td>
+<td class="parameter_description"><p>the qname Href value.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>mask</p></td>
-<td><p>the pointer to result mask.</p></td>
-<td> </td>
+<td class="parameter_name"><p>mask</p></td>
+<td class="parameter_description"><p>the pointer to result mask.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN28350"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecQName2BitMaskGetBitMask.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs,</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECQNAME2BITMASKNODESREAD"></a><h3>xmlSecQName2BitMaskNodesRead ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecQName2BitMaskNodesRead (<code class="PARAMETER"><font><span class="TYPE">xmlSecQName2BitMaskInfoConstPtr</span></font> info</code>,
- <code class="PARAMETER"><font><span class="TYPE">xmlNodePtr</span></font> *node</code>,
- <code class="PARAMETER">const <font><span class="TYPE">xmlChar</span></font> *nodeName</code>,
- <code class="PARAMETER">const <font><span class="TYPE">xmlChar</span></font> *nodeNs</code>,
- <code class="PARAMETER"><font><span class="TYPE">int</span></font> stopOnUnknown</code>,
- <code class="PARAMETER"><a href="xmlsec-xmltree.html#XMLSECBITMASK"><span class="TYPE">xmlSecBitMask</span></a> *mask</code>);</pre>
-<p>Reads <<code class="PARAMETER">nodeNs</code>
-:<code class="PARAMETER">nodeName</code>
+<div class="refsect2">
+<a name="xmlSecQName2BitMaskNodesRead"></a><h3>xmlSecQName2BitMaskNodesRead ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecQName2BitMaskNodesRead (<em class="parameter"><code><a class="link" href="xmlsec-xmltree.html#xmlSecQName2BitMaskInfoConstPtr" title="xmlSecQName2BitMaskInfoConstPtr"><span class="type">xmlSecQName2BitMaskInfoConstPtr</span></a> info</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlNodePtr</span></font> *node</code></em>,
+ <em class="parameter"><code>const <font><span class="type">xmlChar</span></font> *nodeName</code></em>,
+ <em class="parameter"><code>const <font><span class="type">xmlChar</span></font> *nodeNs</code></em>,
+ <em class="parameter"><code><font><span class="type">int</span></font> stopOnUnknown</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-xmltree.html#xmlSecBitMask" title="xmlSecBitMask"><span class="type">xmlSecBitMask</span></a> *mask</code></em>);</pre>
+<p>Reads <<em class="parameter"><code>nodeNs</code></em>
+:<em class="parameter"><code>nodeName</code></em>
> elements and puts the result bit mask
-into <code class="PARAMETER">mask</code>
-. When function exits, <code class="PARAMETER">node</code>
+into <em class="parameter"><code>mask</code></em>
+. When function exits, <em class="parameter"><code>node</code></em>
points to the first element node
-after all the <<code class="PARAMETER">nodeNs</code>
-:<code class="PARAMETER">nodeName</code>
+after all the <<em class="parameter"><code>nodeNs</code></em>
+:<em class="parameter"><code>nodeName</code></em>
> elements.</p>
-<div class="REFSECT3">
-<a name="AEN28385"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN28387"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecQName2BitMaskNodesRead.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>info</p></td>
-<td><p>the qname<->bit mask mapping information.</p></td>
-<td> </td>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>the qname<->bit mask mapping information.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>node</p></td>
-<td><p>the start.</p></td>
-<td> </td>
+<td class="parameter_name"><p>node</p></td>
+<td class="parameter_description"><p>the start.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>nodeName</p></td>
-<td><p>the mask nodes name.</p></td>
-<td> </td>
+<td class="parameter_name"><p>nodeName</p></td>
+<td class="parameter_description"><p>the mask nodes name.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>nodeNs</p></td>
-<td><p>the mask nodes namespace.</p></td>
-<td> </td>
+<td class="parameter_name"><p>nodeNs</p></td>
+<td class="parameter_description"><p>the mask nodes namespace.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>stopOnUnknown</p></td>
-<td><p>if this flag is set then function exits if unknown
+<td class="parameter_name"><p>stopOnUnknown</p></td>
+<td class="parameter_description"><p>if this flag is set then function exits if unknown
value was found.</p></td>
-<td> </td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>mask</p></td>
-<td><p>the pointer to result mask.</p></td>
-<td> </td>
+<td class="parameter_name"><p>mask</p></td>
+<td class="parameter_description"><p>the pointer to result mask.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN28426"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecQName2BitMaskNodesRead.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs,</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECQNAME2BITMASKGETBITMASKFROMSTRING"></a><h3>xmlSecQName2BitMaskGetBitMaskFromString ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
+<div class="refsect2">
+<a name="xmlSecQName2BitMaskGetBitMaskFromString"></a><h3>xmlSecQName2BitMaskGetBitMaskFromString ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
xmlSecQName2BitMaskGetBitMaskFromString
- (<code class="PARAMETER"><font><span class="TYPE">xmlSecQName2BitMaskInfoConstPtr</span></font> info</code>,
- <code class="PARAMETER"><font><span class="TYPE">xmlNodePtr</span></font> node</code>,
- <code class="PARAMETER">const <font><span class="TYPE">xmlChar</span></font> *qname</code>,
- <code class="PARAMETER"><a href="xmlsec-xmltree.html#XMLSECBITMASK"><span class="TYPE">xmlSecBitMask</span></a> *mask</code>);</pre>
-<p>Converts <code class="PARAMETER">qname</code>
- into integer in context of <code class="PARAMETER">node</code>
+ (<em class="parameter"><code><a class="link" href="xmlsec-xmltree.html#xmlSecQName2BitMaskInfoConstPtr" title="xmlSecQName2BitMaskInfoConstPtr"><span class="type">xmlSecQName2BitMaskInfoConstPtr</span></a> info</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlNodePtr</span></font> node</code></em>,
+ <em class="parameter"><code>const <font><span class="type">xmlChar</span></font> *qname</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-xmltree.html#xmlSecBitMask" title="xmlSecBitMask"><span class="type">xmlSecBitMask</span></a> *mask</code></em>);</pre>
+<p>Converts <em class="parameter"><code>qname</code></em>
+ into integer in context of <em class="parameter"><code>node</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN28451"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN28453"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecQName2BitMaskGetBitMaskFromString.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>info</p></td>
-<td><p>the qname<->integer mapping information.</p></td>
-<td> </td>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>the qname<->integer mapping information.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>node</p></td>
-<td><p>the pointer to node.</p></td>
-<td> </td>
+<td class="parameter_name"><p>node</p></td>
+<td class="parameter_description"><p>the pointer to node.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>qname</p></td>
-<td><p>the qname string.</p></td>
-<td> </td>
+<td class="parameter_name"><p>qname</p></td>
+<td class="parameter_description"><p>the qname string.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>mask</p></td>
-<td><p>the pointer to result msk value.</p></td>
-<td> </td>
+<td class="parameter_name"><p>mask</p></td>
+<td class="parameter_description"><p>the pointer to result msk value.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
+</table></div>
</div>
-</div>
-<div class="REFSECT3">
-<a name="AEN28480"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecQName2BitMaskGetBitMaskFromString.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs,</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECQNAME2BITMASKGETSTRINGFROMBITMASK"></a><h3>xmlSecQName2BitMaskGetStringFromBitMask ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">xmlChar</span></font> *
+<div class="refsect2">
+<a name="xmlSecQName2BitMaskGetStringFromBitMask"></a><h3>xmlSecQName2BitMaskGetStringFromBitMask ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">xmlChar</span></font> *
xmlSecQName2BitMaskGetStringFromBitMask
- (<code class="PARAMETER"><font><span class="TYPE">xmlSecQName2BitMaskInfoConstPtr</span></font> info</code>,
- <code class="PARAMETER"><font><span class="TYPE">xmlNodePtr</span></font> node</code>,
- <code class="PARAMETER"><a href="xmlsec-xmltree.html#XMLSECBITMASK"><span class="TYPE">xmlSecBitMask</span></a> mask</code>);</pre>
-<p>Creates qname string for <code class="PARAMETER">mask</code>
- in context of given <code class="PARAMETER">node</code>
+ (<em class="parameter"><code><a class="link" href="xmlsec-xmltree.html#xmlSecQName2BitMaskInfoConstPtr" title="xmlSecQName2BitMaskInfoConstPtr"><span class="type">xmlSecQName2BitMaskInfoConstPtr</span></a> info</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlNodePtr</span></font> node</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-xmltree.html#xmlSecBitMask" title="xmlSecBitMask"><span class="type">xmlSecBitMask</span></a> mask</code></em>);</pre>
+<p>Creates qname string for <em class="parameter"><code>mask</code></em>
+ in context of given <em class="parameter"><code>node</code></em>
. Caller
-is responsible for freeing returned string with <code class="PARAMETER">xmlFree</code>
+is responsible for freeing returned string with <em class="parameter"><code>xmlFree</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN28503"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN28505"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecQName2BitMaskGetStringFromBitMask.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>info</p></td>
-<td><p>the qname<->integer mapping information.</p></td>
-<td> </td>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>the qname<->integer mapping information.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>node</p></td>
-<td><p>the pointer to node.</p></td>
-<td> </td>
+<td class="parameter_name"><p>node</p></td>
+<td class="parameter_description"><p>the pointer to node.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>mask</p></td>
-<td><p>the mask.</p></td>
-<td> </td>
+<td class="parameter_name"><p>mask</p></td>
+<td class="parameter_description"><p>the mask.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN28526"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecQName2BitMaskGetStringFromBitMask.returns"></a><h4>Returns</h4>
<p> pointer to newly allocated string on success or NULL if an error occurs,</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECQNAME2BITMASKNODESWRITE"></a><h3>xmlSecQName2BitMaskNodesWrite ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">int</span></font>
-xmlSecQName2BitMaskNodesWrite (<code class="PARAMETER"><font><span class="TYPE">xmlSecQName2BitMaskInfoConstPtr</span></font> info</code>,
- <code class="PARAMETER"><font><span class="TYPE">xmlNodePtr</span></font> node</code>,
- <code class="PARAMETER">const <font><span class="TYPE">xmlChar</span></font> *nodeName</code>,
- <code class="PARAMETER">const <font><span class="TYPE">xmlChar</span></font> *nodeNs</code>,
- <code class="PARAMETER"><a href="xmlsec-xmltree.html#XMLSECBITMASK"><span class="TYPE">xmlSecBitMask</span></a> mask</code>);</pre>
-<p>Writes <<code class="PARAMETER">nodeNs</code>
-:<code class="PARAMETER">nodeName</code>
-> elemnts with values from <code class="PARAMETER">mask</code>
- to <code class="PARAMETER">node</code>
+<div class="refsect2">
+<a name="xmlSecQName2BitMaskNodesWrite"></a><h3>xmlSecQName2BitMaskNodesWrite ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">int</span></font>
+xmlSecQName2BitMaskNodesWrite (<em class="parameter"><code><a class="link" href="xmlsec-xmltree.html#xmlSecQName2BitMaskInfoConstPtr" title="xmlSecQName2BitMaskInfoConstPtr"><span class="type">xmlSecQName2BitMaskInfoConstPtr</span></a> info</code></em>,
+ <em class="parameter"><code><font><span class="type">xmlNodePtr</span></font> node</code></em>,
+ <em class="parameter"><code>const <font><span class="type">xmlChar</span></font> *nodeName</code></em>,
+ <em class="parameter"><code>const <font><span class="type">xmlChar</span></font> *nodeNs</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-xmltree.html#xmlSecBitMask" title="xmlSecBitMask"><span class="type">xmlSecBitMask</span></a> mask</code></em>);</pre>
+<p>Writes <<em class="parameter"><code>nodeNs</code></em>
+:<em class="parameter"><code>nodeName</code></em>
+> elemnts with values from <em class="parameter"><code>mask</code></em>
+ to <em class="parameter"><code>node</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN28556"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN28558"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecQName2BitMaskNodesWrite.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>info</p></td>
-<td><p>the qname<->bit mask mapping information.</p></td>
-<td> </td>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>the qname<->bit mask mapping information.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>node</p></td>
-<td><p>the parent element for mask nodes.</p></td>
-<td> </td>
+<td class="parameter_name"><p>node</p></td>
+<td class="parameter_description"><p>the parent element for mask nodes.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>nodeName</p></td>
-<td><p>the mask nodes name.</p></td>
-<td> </td>
+<td class="parameter_name"><p>nodeName</p></td>
+<td class="parameter_description"><p>the mask nodes name.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>nodeNs</p></td>
-<td><p>the mask nodes namespace.</p></td>
-<td> </td>
+<td class="parameter_name"><p>nodeNs</p></td>
+<td class="parameter_description"><p>the mask nodes namespace.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>mask</p></td>
-<td><p>the bit mask.</p></td>
-<td> </td>
+<td class="parameter_name"><p>mask</p></td>
+<td class="parameter_description"><p>the bit mask.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
-<div class="REFSECT3">
-<a name="AEN28591"></a><h4>Returns</h4>
+<div class="refsect3">
+<a name="xmlSecQName2BitMaskNodesWrite.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs,</p>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECQNAME2BITMASKDEBUGDUMP"></a><h3>xmlSecQName2BitMaskDebugDump ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">void</span></font>
-xmlSecQName2BitMaskDebugDump (<code class="PARAMETER"><font><span class="TYPE">xmlSecQName2BitMaskInfoConstPtr</span></font> info</code>,
- <code class="PARAMETER"><a href="xmlsec-xmltree.html#XMLSECBITMASK"><span class="TYPE">xmlSecBitMask</span></a> mask</code>,
- <code class="PARAMETER">const <font><span class="TYPE">xmlChar</span></font> *name</code>,
- <code class="PARAMETER"><font><span class="TYPE">FILE</span></font> *output</code>);</pre>
-<p>Prints debug information about <code class="PARAMETER">mask</code>
- to <code class="PARAMETER">output</code>
+<div class="refsect2">
+<a name="xmlSecQName2BitMaskDebugDump"></a><h3>xmlSecQName2BitMaskDebugDump ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">void</span></font>
+xmlSecQName2BitMaskDebugDump (<em class="parameter"><code><a class="link" href="xmlsec-xmltree.html#xmlSecQName2BitMaskInfoConstPtr" title="xmlSecQName2BitMaskInfoConstPtr"><span class="type">xmlSecQName2BitMaskInfoConstPtr</span></a> info</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-xmltree.html#xmlSecBitMask" title="xmlSecBitMask"><span class="type">xmlSecBitMask</span></a> mask</code></em>,
+ <em class="parameter"><code>const <font><span class="type">xmlChar</span></font> *name</code></em>,
+ <em class="parameter"><code><font><span class="type">FILE</span></font> *output</code></em>);</pre>
+<p>Prints debug information about <em class="parameter"><code>mask</code></em>
+ to <em class="parameter"><code>output</code></em>
.</p>
-<div class="REFSECT3">
-<a name="AEN28616"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN28618"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecQName2BitMaskDebugDump.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>info</p></td>
-<td><p>the qname<->bit mask mapping information.</p></td>
-<td> </td>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>the qname<->bit mask mapping information.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>mask</p></td>
-<td><p>the bit mask.</p></td>
-<td> </td>
+<td class="parameter_name"><p>mask</p></td>
+<td class="parameter_description"><p>the bit mask.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>name</p></td>
-<td><p>the value name to print.</p></td>
-<td> </td>
+<td class="parameter_name"><p>name</p></td>
+<td class="parameter_description"><p>the value name to print.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>output</p></td>
-<td><p>the pointer to output FILE.</p></td>
-<td> </td>
+<td class="parameter_name"><p>output</p></td>
+<td class="parameter_description"><p>the pointer to output FILE.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECQNAME2BITMASKDEBUGXMLDUMP"></a><h3>xmlSecQName2BitMaskDebugXmlDump ()</h3>
-<pre class="PROGRAMLISTING"><font><span class="RETURNVALUE">void</span></font>
-xmlSecQName2BitMaskDebugXmlDump (<code class="PARAMETER"><font><span class="TYPE">xmlSecQName2BitMaskInfoConstPtr</span></font> info</code>,
- <code class="PARAMETER"><a href="xmlsec-xmltree.html#XMLSECBITMASK"><span class="TYPE">xmlSecBitMask</span></a> mask</code>,
- <code class="PARAMETER">const <font><span class="TYPE">xmlChar</span></font> *name</code>,
- <code class="PARAMETER"><font><span class="TYPE">FILE</span></font> *output</code>);</pre>
-<p>Prints debug information about <code class="PARAMETER">mask</code>
- to <code class="PARAMETER">output</code>
+<div class="refsect2">
+<a name="xmlSecQName2BitMaskDebugXmlDump"></a><h3>xmlSecQName2BitMaskDebugXmlDump ()</h3>
+<pre class="programlisting"><font><span class="returnvalue">void</span></font>
+xmlSecQName2BitMaskDebugXmlDump (<em class="parameter"><code><a class="link" href="xmlsec-xmltree.html#xmlSecQName2BitMaskInfoConstPtr" title="xmlSecQName2BitMaskInfoConstPtr"><span class="type">xmlSecQName2BitMaskInfoConstPtr</span></a> info</code></em>,
+ <em class="parameter"><code><a class="link" href="xmlsec-xmltree.html#xmlSecBitMask" title="xmlSecBitMask"><span class="type">xmlSecBitMask</span></a> mask</code></em>,
+ <em class="parameter"><code>const <font><span class="type">xmlChar</span></font> *name</code></em>,
+ <em class="parameter"><code><font><span class="type">FILE</span></font> *output</code></em>);</pre>
+<p>Prints debug information about <em class="parameter"><code>mask</code></em>
+ to <em class="parameter"><code>output</code></em>
in XML format.</p>
-<div class="REFSECT3">
-<a name="AEN28667"></a><h4>Parameters</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN28669"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecQName2BitMaskDebugXmlDump.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>info</p></td>
-<td><p>the qname<->bit mask mapping information.</p></td>
-<td> </td>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>the qname<->bit mask mapping information.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>mask</p></td>
-<td><p>the bit mask.</p></td>
-<td> </td>
+<td class="parameter_name"><p>mask</p></td>
+<td class="parameter_description"><p>the bit mask.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>name</p></td>
-<td><p>the value name to print.</p></td>
-<td> </td>
+<td class="parameter_name"><p>name</p></td>
+<td class="parameter_description"><p>the value name to print.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p>output</p></td>
-<td><p>the pointer to output FILE.</p></td>
-<td> </td>
+<td class="parameter_name"><p>output</p></td>
+<td class="parameter_description"><p>the pointer to output FILE.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
</div>
-<div class="REFSECT1">
-<a name="XMLSEC-XMLTREE.OTHER_DETAILS"></a><h2>Types and Values</h2>
-<div class="REFSECT2">
-<a name="XMLSECQNAME2INTEGERINFO"></a><h3>struct xmlSecQName2IntegerInfo</h3>
-<pre class="PROGRAMLISTING">struct xmlSecQName2IntegerInfo {
+<div class="refsect1">
+<a name="xmlsec-xmltree.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="xmlSecQName2IntegerInfo"></a><h3>struct xmlSecQName2IntegerInfo</h3>
+<pre class="programlisting">struct xmlSecQName2IntegerInfo {
const xmlChar* qnameHref;
const xmlChar* qnameLocalPart;
int intValue;
-};</pre>
+};
+</pre>
<p>QName <-> Integer conversion definition.</p>
-<div class="REFSECT3">
-<a name="AEN28704"></a><h4>Members</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN28706"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecQName2IntegerInfo.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="struct_members_name">
+<col class="struct_members_description">
+<col width="200px" class="struct_members_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>const <font><span class="TYPE">xmlChar</span></font> *<code class="STRUCTFIELD">qnameHref</code>;</p></td>
-<td><p>the QName href</p></td>
-<td> </td>
+<td class="struct_member_name"><p>const <font><span class="type">xmlChar</span></font> *<em class="structfield"><code><a name="xmlSecQName2IntegerInfo.qnameHref"></a>qnameHref</code></em>;</p></td>
+<td class="struct_member_description"><p>the QName href</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p>const <font><span class="TYPE">xmlChar</span></font> *<code class="STRUCTFIELD">qnameLocalPart</code>;</p></td>
-<td><p>the QName local</p></td>
-<td> </td>
+<td class="struct_member_name"><p>const <font><span class="type">xmlChar</span></font> *<em class="structfield"><code><a name="xmlSecQName2IntegerInfo.qnameLocalPart"></a>qnameLocalPart</code></em>;</p></td>
+<td class="struct_member_description"><p>the QName local</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><font><span class="TYPE">int</span></font> <code class="STRUCTFIELD">intValue</code>;</p></td>
-<td><p>the integer value</p></td>
-<td> </td>
+<td class="struct_member_name"><p><font><span class="type">int</span></font> <em class="structfield"><code><a name="xmlSecQName2IntegerInfo.intValue"></a>intValue</code></em>;</p></td>
+<td class="struct_member_description"><p>the integer value</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECQNAME2INTEGERINFOCONSTPTR"></a><h3>xmlSecQName2IntegerInfoConstPtr</h3>
-<pre class="PROGRAMLISTING">typedef const xmlSecQName2IntegerInfo * xmlSecQName2IntegerInfoConstPtr;</pre>
+<div class="refsect2">
+<a name="xmlSecQName2IntegerInfoConstPtr"></a><h3>xmlSecQName2IntegerInfoConstPtr</h3>
+<pre class="programlisting">typedef const xmlSecQName2IntegerInfo * xmlSecQName2IntegerInfoConstPtr;
+</pre>
<p>Pointer to constant QName <-> Integer conversion definition.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECBITMASK"></a><h3>xmlSecBitMask</h3>
-<pre class="PROGRAMLISTING">typedef unsigned int xmlSecBitMask;</pre>
+<div class="refsect2">
+<a name="xmlSecBitMask"></a><h3>xmlSecBitMask</h3>
+<pre class="programlisting">typedef unsigned int xmlSecBitMask;
+</pre>
<p>Bitmask datatype.</p>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECQNAME2BITMASKINFO"></a><h3>struct xmlSecQName2BitMaskInfo</h3>
-<pre class="PROGRAMLISTING">struct xmlSecQName2BitMaskInfo {
+<div class="refsect2">
+<a name="xmlSecQName2BitMaskInfo"></a><h3>struct xmlSecQName2BitMaskInfo</h3>
+<pre class="programlisting">struct xmlSecQName2BitMaskInfo {
const xmlChar* qnameHref;
const xmlChar* qnameLocalPart;
xmlSecBitMask mask;
-};</pre>
+};
+</pre>
<p>QName <-> Bitmask conversion definition.</p>
-<div class="REFSECT3">
-<a name="AEN28754"></a><h4>Members</h4>
-<div class="INFORMALTABLE">
-<p></p>
-<a name="AEN28756"></a><table border="0" frame="void" width="100%" class="CALSTABLE">
-<col>
-<col>
-<col>
+<div class="refsect3">
+<a name="xmlSecQName2BitMaskInfo.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="struct_members_name">
+<col class="struct_members_description">
+<col width="200px" class="struct_members_annotations">
+</colgroup>
<tbody>
<tr>
-<td><p>const <font><span class="TYPE">xmlChar</span></font> *<code class="STRUCTFIELD">qnameHref</code>;</p></td>
-<td><p>the QName href</p></td>
-<td> </td>
+<td class="struct_member_name"><p>const <font><span class="type">xmlChar</span></font> *<em class="structfield"><code><a name="xmlSecQName2BitMaskInfo.qnameHref"></a>qnameHref</code></em>;</p></td>
+<td class="struct_member_description"><p>the QName href</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p>const <font><span class="TYPE">xmlChar</span></font> *<code class="STRUCTFIELD">qnameLocalPart</code>;</p></td>
-<td><p>the QName local</p></td>
-<td> </td>
+<td class="struct_member_name"><p>const <font><span class="type">xmlChar</span></font> *<em class="structfield"><code><a name="xmlSecQName2BitMaskInfo.qnameLocalPart"></a>qnameLocalPart</code></em>;</p></td>
+<td class="struct_member_description"><p>the QName local</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><a href="xmlsec-xmltree.html#XMLSECBITMASK"><span class="TYPE">xmlSecBitMask</span></a> <code class="STRUCTFIELD">mask</code>;</p></td>
-<td><p>the bitmask value</p></td>
-<td> </td>
+<td class="struct_member_name"><p><a class="link" href="xmlsec-xmltree.html#xmlSecBitMask" title="xmlSecBitMask"><span class="type">xmlSecBitMask</span></a> <em class="structfield"><code><a name="xmlSecQName2BitMaskInfo.mask"></a>mask</code></em>;</p></td>
+<td class="struct_member_description"><p>the bitmask value</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
</tbody>
-</table>
-<p></p>
-</div>
+</table></div>
</div>
</div>
<hr>
-<div class="REFSECT2">
-<a name="XMLSECQNAME2BITMASKINFOCONSTPTR"></a><h3>xmlSecQName2BitMaskInfoConstPtr</h3>
-<pre class="PROGRAMLISTING">typedef const xmlSecQName2BitMaskInfo* xmlSecQName2BitMaskInfoConstPtr;</pre>
+<div class="refsect2">
+<a name="xmlSecQName2BitMaskInfoConstPtr"></a><h3>xmlSecQName2BitMaskInfoConstPtr</h3>
+<pre class="programlisting">typedef const xmlSecQName2BitMaskInfo* xmlSecQName2BitMaskInfoConstPtr;
+</pre>
<p>Pointer to constant QName <-> Bitmask conversion definition.</p>
</div>
</div>
-<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td align="left"><a accesskey="p" href="xmlsec-xmlsec.html"><b><<< xmlsec</b></a></td>
-<td align="right"><a accesskey="n" href="xmlsec-x509.html"><b>x509 >>></b></a></td>
-</tr></table>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
</td></tr></table></td>
</tr></table></body>
</html>
diff --git a/docs/authors.html b/docs/authors.html
index 348ae53..707468a 100644
--- a/docs/authors.html
+++ b/docs/authors.html
@@ -53,6 +53,52 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
color: initial;
}
</style>
+<style type="text/css">
+table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
+ width: 20em;
+}
+.synopsis, .classsynopsis {
+ background: #eeeeee;
+ border: solid 1px #aaaaaa;
+}
+.programlisting {
+ background: #eeeeee;
+ border: solid 1px #000000;
+}
+.navigation {
+ background: #eeeeee;
+ border: solid 1px #000000;
+}
+.navigation a {
+ color: initial;
+}
+.navigation a:visited {
+ color: initial;
+}
+</style>
+<style type="text/css">
+table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
+ width: 20em;
+}
+.synopsis, .classsynopsis {
+ background: #eeeeee;
+ border: solid 1px #aaaaaa;
+}
+.programlisting {
+ background: #eeeeee;
+ border: solid 1px #000000;
+}
+.navigation {
+ background: #eeeeee;
+ border: solid 1px #000000;
+}
+.navigation a {
+ color: initial;
+}
+.navigation a:visited {
+ color: initial;
+}
+</style>
</head>
<body><table width="100%" valign="top"><tr valign="top">
<td valign="top" align="left" width="210">
diff --git a/docs/bugs.html b/docs/bugs.html
index e843ca6..097fe0c 100644
--- a/docs/bugs.html
+++ b/docs/bugs.html
@@ -53,6 +53,52 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
color: initial;
}
</style>
+<style type="text/css">
+table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
+ width: 20em;
+}
+.synopsis, .classsynopsis {
+ background: #eeeeee;
+ border: solid 1px #aaaaaa;
+}
+.programlisting {
+ background: #eeeeee;
+ border: solid 1px #000000;
+}
+.navigation {
+ background: #eeeeee;
+ border: solid 1px #000000;
+}
+.navigation a {
+ color: initial;
+}
+.navigation a:visited {
+ color: initial;
+}
+</style>
+<style type="text/css">
+table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
+ width: 20em;
+}
+.synopsis, .classsynopsis {
+ background: #eeeeee;
+ border: solid 1px #aaaaaa;
+}
+.programlisting {
+ background: #eeeeee;
+ border: solid 1px #000000;
+}
+.navigation {
+ background: #eeeeee;
+ border: solid 1px #000000;
+}
+.navigation a {
+ color: initial;
+}
+.navigation a:visited {
+ color: initial;
+}
+</style>
</head>
<body><table width="100%" valign="top"><tr valign="top">
<td valign="top" align="left" width="210">
diff --git a/docs/c14n.html b/docs/c14n.html
index 92842ec..3818e41 100644
--- a/docs/c14n.html
+++ b/docs/c14n.html
@@ -53,6 +53,52 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
color: initial;
}
</style>
+<style type="text/css">
+table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
+ width: 20em;
+}
+.synopsis, .classsynopsis {
+ background: #eeeeee;
+ border: solid 1px #aaaaaa;
+}
+.programlisting {
+ background: #eeeeee;
+ border: solid 1px #000000;
+}
+.navigation {
+ background: #eeeeee;
+ border: solid 1px #000000;
+}
+.navigation a {
+ color: initial;
+}
+.navigation a:visited {
+ color: initial;
+}
+</style>
+<style type="text/css">
+table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
+ width: 20em;
+}
+.synopsis, .classsynopsis {
+ background: #eeeeee;
+ border: solid 1px #aaaaaa;
+}
+.programlisting {
+ background: #eeeeee;
+ border: solid 1px #000000;
+}
+.navigation {
+ background: #eeeeee;
+ border: solid 1px #000000;
+}
+.navigation a {
+ color: initial;
+}
+.navigation a:visited {
+ color: initial;
+}
+</style>
</head>
<body><table width="100%" valign="top"><tr valign="top">
<td valign="top" align="left" width="210">
diff --git a/docs/documentation.html b/docs/documentation.html
index 4ecaa6c..8aa6f69 100644
--- a/docs/documentation.html
+++ b/docs/documentation.html
@@ -53,6 +53,52 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
color: initial;
}
</style>
+<style type="text/css">
+table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
+ width: 20em;
+}
+.synopsis, .classsynopsis {
+ background: #eeeeee;
+ border: solid 1px #aaaaaa;
+}
+.programlisting {
+ background: #eeeeee;
+ border: solid 1px #000000;
+}
+.navigation {
+ background: #eeeeee;
+ border: solid 1px #000000;
+}
+.navigation a {
+ color: initial;
+}
+.navigation a:visited {
+ color: initial;
+}
+</style>
+<style type="text/css">
+table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
+ width: 20em;
+}
+.synopsis, .classsynopsis {
+ background: #eeeeee;
+ border: solid 1px #aaaaaa;
+}
+.programlisting {
+ background: #eeeeee;
+ border: solid 1px #000000;
+}
+.navigation {
+ background: #eeeeee;
+ border: solid 1px #000000;
+}
+.navigation a {
+ color: initial;
+}
+.navigation a:visited {
+ color: initial;
+}
+</style>
</head>
<body><table width="100%" valign="top"><tr valign="top">
<td valign="top" align="left" width="210">
diff --git a/docs/download.html b/docs/download.html
index 3945a74..49020c6 100644
--- a/docs/download.html
+++ b/docs/download.html
@@ -53,6 +53,52 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
color: initial;
}
</style>
+<style type="text/css">
+table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
+ width: 20em;
+}
+.synopsis, .classsynopsis {
+ background: #eeeeee;
+ border: solid 1px #aaaaaa;
+}
+.programlisting {
+ background: #eeeeee;
+ border: solid 1px #000000;
+}
+.navigation {
+ background: #eeeeee;
+ border: solid 1px #000000;
+}
+.navigation a {
+ color: initial;
+}
+.navigation a:visited {
+ color: initial;
+}
+</style>
+<style type="text/css">
+table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
+ width: 20em;
+}
+.synopsis, .classsynopsis {
+ background: #eeeeee;
+ border: solid 1px #aaaaaa;
+}
+.programlisting {
+ background: #eeeeee;
+ border: solid 1px #000000;
+}
+.navigation {
+ background: #eeeeee;
+ border: solid 1px #000000;
+}
+.navigation a {
+ color: initial;
+}
+.navigation a:visited {
+ color: initial;
+}
+</style>
</head>
<body><table width="100%" valign="top"><tr valign="top">
<td valign="top" align="left" width="210">
@@ -98,10 +144,10 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
<h1>Download</h1>
</div>
<h2>Stable releases.</h2>
-<p>The latest stable XML Security Library version is <b>1.2.23</b>:</p>
+<p>The latest stable XML Security Library version is <b>1.2.24</b>:</p>
<ul>
<li>
- <a href="http://www.aleksey.com/xmlsec/download/xmlsec1-1.2.23.tar.gz">Sources
+ <a href="http://www.aleksey.com/xmlsec/download/xmlsec1-1.2.24.tar.gz">Sources
for latest version</a>.
</li>
<li>
@@ -129,18 +175,15 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
</ul>
<p>and one of the following cryptographic libraries:</p>
<ul>
-<li>
-<a href="http://www.openssl.org/">OpenSSL</a> version 0.9.8 (or later).</li>
- <li>
-<a href="http://www.gnu.org/software/gnutls/">GnuTLS</a>
+ <li><a href="http://www.openssl.org/">OpenSSL</a> version 1.0.0 (or later). The OpenSSL 0.9.8 support is deprecated
+and will be removed in the next release of the XMLSec library</li>
+ <li><a href="http://www.gnu.org/software/gnutls/">GnuTLS</a>
</li>
- <li>
-<a href="http://www.gnu.org/directory/security/libgcrypt.html">Libgcrypt</a>
+ <li><a href="http://www.gnu.org/directory/security/libgcrypt.html">Libgcrypt</a>
</li>
- <li>
-<a href="http://www.mozilla.org/projects/security/pki/nss/">NSS</a> -
- Mozilla cryptographic library.
+ <li><a href="http://www.mozilla.org/projects/security/pki/nss/">NSS</a> (Mozilla cryptographic library).
</li>
+ <li>Microsoft Crypto API (Windows only)</li>
</ul>
<h2>Installation (source archive)</h2>
<p>
diff --git a/docs/faq.html b/docs/faq.html
index 36f831f..34945b1 100644
--- a/docs/faq.html
+++ b/docs/faq.html
@@ -53,6 +53,52 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
color: initial;
}
</style>
+<style type="text/css">
+table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
+ width: 20em;
+}
+.synopsis, .classsynopsis {
+ background: #eeeeee;
+ border: solid 1px #aaaaaa;
+}
+.programlisting {
+ background: #eeeeee;
+ border: solid 1px #000000;
+}
+.navigation {
+ background: #eeeeee;
+ border: solid 1px #000000;
+}
+.navigation a {
+ color: initial;
+}
+.navigation a:visited {
+ color: initial;
+}
+</style>
+<style type="text/css">
+table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
+ width: 20em;
+}
+.synopsis, .classsynopsis {
+ background: #eeeeee;
+ border: solid 1px #aaaaaa;
+}
+.programlisting {
+ background: #eeeeee;
+ border: solid 1px #000000;
+}
+.navigation {
+ background: #eeeeee;
+ border: solid 1px #000000;
+}
+.navigation a {
+ color: initial;
+}
+.navigation a:visited {
+ color: initial;
+}
+</style>
</head>
<body><table width="100%" valign="top"><tr valign="top">
<td valign="top" align="left" width="210">
diff --git a/docs/index.html b/docs/index.html
index 9de530a..2498874 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -53,6 +53,52 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
color: initial;
}
</style>
+<style type="text/css">
+table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
+ width: 20em;
+}
+.synopsis, .classsynopsis {
+ background: #eeeeee;
+ border: solid 1px #aaaaaa;
+}
+.programlisting {
+ background: #eeeeee;
+ border: solid 1px #000000;
+}
+.navigation {
+ background: #eeeeee;
+ border: solid 1px #000000;
+}
+.navigation a {
+ color: initial;
+}
+.navigation a:visited {
+ color: initial;
+}
+</style>
+<style type="text/css">
+table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
+ width: 20em;
+}
+.synopsis, .classsynopsis {
+ background: #eeeeee;
+ border: solid 1px #aaaaaa;
+}
+.programlisting {
+ background: #eeeeee;
+ border: solid 1px #000000;
+}
+.navigation {
+ background: #eeeeee;
+ border: solid 1px #000000;
+}
+.navigation a {
+ color: initial;
+}
+.navigation a:visited {
+ color: initial;
+}
+</style>
</head>
<body><table width="100%" valign="top"><tr valign="top">
<td valign="top" align="left" width="210">
@@ -117,7 +163,22 @@ XML Security Library is released under the
see the Copyright file in the distribution for details.<br><br></p>
<p><b>News</b></p>
<ul>
-<li>October 16 2016<br>
+<li>April 20 2017<br>
+ The <a href="download.html">XML Security Library 1.2.24</a> release includes the following changes:
+ <ul>
+ <li>Added ECDSA-SHA1, ECDSA-SHA256, ECDSA-SHA512 support for xmlsec-nss (vmiklos).</li>
+ <li>Fixed XMLSEC_KEYINFO_FLAGS_X509DATA_DONT_VERIFY_CERTS handling (vmiklos).</li>
+ <li>Disabled external entities loading by xmlsec utility app by default to prevent XXE attacks (d-hat).</li>
+ <li>Improved OpenSSL version and features detection.</li>
+ <li>Cleaned up, simplified, and standardized internal error reporting.</li>
+ <li>Fixed a few Coverity-discovered bugs (<a href="https://scan.coverity.com/projects/xmlsec">report</a>).</li>
+ <li>Marked as deprecated all the functions in xmlsec/soap.h file and a couple other functions no longer
+ required by xmlsec. These functions will be removed in the future releases.</li>
+ <li>Several other small fixes (<a href="https://github.com/lsh123/xmlsec/commits/master">more details</a>).</li>
+ </ul>
+ Please note that OpenSSL 0.9.8 support will be remmoved in the next release of XMLSec library.
+</li>
+<br><li>October 16 2016<br>
The <a href="download.html">XML Security Library 1.2.23</a> release includes the following changes:
<ul>
<li>Full support for OpenSSL 1.1.0.</li>
@@ -149,15 +210,6 @@ see the Copyright file in the distribution for details.<br><br></p>
The XML Security Library was migrated to <a href="https://github.com/lsh123/xmlsec">GitHub</a>. Please use GitHub for
accessing source code and reporting issues.
</li>
-<br><li>May 27 2014<br>
- The <a href="download.html">XML Security Library 1.2.20</a> release fixes a number of miscellaneous bugs and
- updates expired or soon-to-be-expired certificates in the test suite.
-</li>
-<br><li>March 24 2013<br>
- The <a href="download.html">XML Security Library 1.2.19</a> release adds support for DSA-SHA256, ECDSA-SHA1,
- ECDSA-SHA224, ECDSA-SHA256, ECDSA-SHA384, ECDSA-SHA512 and fixes a number of miscellaneous bugs.
-</li>
-<br>
</ul>
</td></tr></table></td>
</tr></table></body>
diff --git a/docs/news.html b/docs/news.html
index 5358519..aed4ac1 100644
--- a/docs/news.html
+++ b/docs/news.html
@@ -53,6 +53,52 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
color: initial;
}
</style>
+<style type="text/css">
+table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
+ width: 20em;
+}
+.synopsis, .classsynopsis {
+ background: #eeeeee;
+ border: solid 1px #aaaaaa;
+}
+.programlisting {
+ background: #eeeeee;
+ border: solid 1px #000000;
+}
+.navigation {
+ background: #eeeeee;
+ border: solid 1px #000000;
+}
+.navigation a {
+ color: initial;
+}
+.navigation a:visited {
+ color: initial;
+}
+</style>
+<style type="text/css">
+table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
+ width: 20em;
+}
+.synopsis, .classsynopsis {
+ background: #eeeeee;
+ border: solid 1px #aaaaaa;
+}
+.programlisting {
+ background: #eeeeee;
+ border: solid 1px #000000;
+}
+.navigation {
+ background: #eeeeee;
+ border: solid 1px #000000;
+}
+.navigation a {
+ color: initial;
+}
+.navigation a:visited {
+ color: initial;
+}
+</style>
</head>
<body><table width="100%" valign="top"><tr valign="top">
<td valign="top" align="left" width="210">
@@ -98,6 +144,22 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
<h1>XML Security Library News</h1>
</div>
<ul>
+<li>April 20 2017<br>
+ The <a href="download.html">XML Security Library 1.2.24</a> release includes the following changes:
+ <ul>
+ <li>Added ECDSA-SHA1, ECDSA-SHA256, ECDSA-SHA512 support for xmlsec-nss (vmiklos).</li>
+ <li>Fixed XMLSEC_KEYINFO_FLAGS_X509DATA_DONT_VERIFY_CERTS handling (vmiklos).</li>
+ <li>Disabled external entities loading by xmlsec utility app by default to prevent XXE attacks (d-hat).</li>
+ <li>Improved OpenSSL version and features detection.</li>
+ <li>Cleaned up, simplified, and standardized internal error reporting.</li>
+ <li>Marked as deprecated all the functions in xmlsec/soap.h file and a couple other functions no longer
+ required by xmlsec. These functions will be removed in the future releases.</li>
+ <li>Fixed a few Coverity-discovered bugs (<a href="https://scan.coverity.com/projects/xmlsec">report</a>).</li>
+ <li>Several other small fixes (<a href="https://github.com/lsh123/xmlsec/commits/master">more details</a>).</li>
+ </ul>
+ Please note that OpenSSL 0.9.8 support will be remmoved in the next release of XMLSec library.
+</li>
+<br>
<li>October 16 2016<br>
The <a href="download.html">XML Security Library 1.2.23</a> release includes the following changes:
<ul>
diff --git a/docs/related.html b/docs/related.html
index 50bdf5d..c4af974 100644
--- a/docs/related.html
+++ b/docs/related.html
@@ -53,6 +53,52 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
color: initial;
}
</style>
+<style type="text/css">
+table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
+ width: 20em;
+}
+.synopsis, .classsynopsis {
+ background: #eeeeee;
+ border: solid 1px #aaaaaa;
+}
+.programlisting {
+ background: #eeeeee;
+ border: solid 1px #000000;
+}
+.navigation {
+ background: #eeeeee;
+ border: solid 1px #000000;
+}
+.navigation a {
+ color: initial;
+}
+.navigation a:visited {
+ color: initial;
+}
+</style>
+<style type="text/css">
+table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
+ width: 20em;
+}
+.synopsis, .classsynopsis {
+ background: #eeeeee;
+ border: solid 1px #aaaaaa;
+}
+.programlisting {
+ background: #eeeeee;
+ border: solid 1px #000000;
+}
+.navigation {
+ background: #eeeeee;
+ border: solid 1px #000000;
+}
+.navigation a {
+ color: initial;
+}
+.navigation a:visited {
+ color: initial;
+}
+</style>
</head>
<body><table width="100%" valign="top"><tr valign="top">
<td valign="top" align="left" width="210">
diff --git a/docs/xmldsig-verifier.html b/docs/xmldsig-verifier.html
index 52389a0..5e30ce2 100644
--- a/docs/xmldsig-verifier.html
+++ b/docs/xmldsig-verifier.html
@@ -53,6 +53,52 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
color: initial;
}
</style>
+<style type="text/css">
+table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
+ width: 20em;
+}
+.synopsis, .classsynopsis {
+ background: #eeeeee;
+ border: solid 1px #aaaaaa;
+}
+.programlisting {
+ background: #eeeeee;
+ border: solid 1px #000000;
+}
+.navigation {
+ background: #eeeeee;
+ border: solid 1px #000000;
+}
+.navigation a {
+ color: initial;
+}
+.navigation a:visited {
+ color: initial;
+}
+</style>
+<style type="text/css">
+table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
+ width: 20em;
+}
+.synopsis, .classsynopsis {
+ background: #eeeeee;
+ border: solid 1px #aaaaaa;
+}
+.programlisting {
+ background: #eeeeee;
+ border: solid 1px #000000;
+}
+.navigation {
+ background: #eeeeee;
+ border: solid 1px #000000;
+}
+.navigation a {
+ color: initial;
+}
+.navigation a:visited {
+ color: initial;
+}
+</style>
</head>
<body><table width="100%" valign="top"><tr valign="top">
<td valign="top" align="left" width="210">
diff --git a/docs/xmldsig.html b/docs/xmldsig.html
index da31c35..f8adf18 100644
--- a/docs/xmldsig.html
+++ b/docs/xmldsig.html
@@ -53,6 +53,52 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
color: initial;
}
</style>
+<style type="text/css">
+table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
+ width: 20em;
+}
+.synopsis, .classsynopsis {
+ background: #eeeeee;
+ border: solid 1px #aaaaaa;
+}
+.programlisting {
+ background: #eeeeee;
+ border: solid 1px #000000;
+}
+.navigation {
+ background: #eeeeee;
+ border: solid 1px #000000;
+}
+.navigation a {
+ color: initial;
+}
+.navigation a:visited {
+ color: initial;
+}
+</style>
+<style type="text/css">
+table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
+ width: 20em;
+}
+.synopsis, .classsynopsis {
+ background: #eeeeee;
+ border: solid 1px #aaaaaa;
+}
+.programlisting {
+ background: #eeeeee;
+ border: solid 1px #000000;
+}
+.navigation {
+ background: #eeeeee;
+ border: solid 1px #000000;
+}
+.navigation a {
+ color: initial;
+}
+.navigation a:visited {
+ color: initial;
+}
+</style>
</head>
<body><table width="100%" valign="top"><tr valign="top">
<td valign="top" align="left" width="210">
diff --git a/docs/xmlenc.html b/docs/xmlenc.html
index 182449e..c47ab58 100644
--- a/docs/xmlenc.html
+++ b/docs/xmlenc.html
@@ -53,6 +53,52 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
color: initial;
}
</style>
+<style type="text/css">
+table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
+ width: 20em;
+}
+.synopsis, .classsynopsis {
+ background: #eeeeee;
+ border: solid 1px #aaaaaa;
+}
+.programlisting {
+ background: #eeeeee;
+ border: solid 1px #000000;
+}
+.navigation {
+ background: #eeeeee;
+ border: solid 1px #000000;
+}
+.navigation a {
+ color: initial;
+}
+.navigation a:visited {
+ color: initial;
+}
+</style>
+<style type="text/css">
+table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
+ width: 20em;
+}
+.synopsis, .classsynopsis {
+ background: #eeeeee;
+ border: solid 1px #aaaaaa;
+}
+.programlisting {
+ background: #eeeeee;
+ border: solid 1px #000000;
+}
+.navigation {
+ background: #eeeeee;
+ border: solid 1px #000000;
+}
+.navigation a {
+ color: initial;
+}
+.navigation a:visited {
+ color: initial;
+}
+</style>
</head>
<body><table width="100%" valign="top"><tr valign="top">
<td valign="top" align="left" width="210">
diff --git a/docs/xmlsec-man.html b/docs/xmlsec-man.html
index c11000a..17fa7cb 100644
--- a/docs/xmlsec-man.html
+++ b/docs/xmlsec-man.html
@@ -258,6 +258,10 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
</dt>
<dd> <dd>skip strict checking of X509 data </dd>
</dd>
+<dt> <b>--insecure</b> <dt></dt>
+</dt>
+<dd> <dd>do not verify certificates </dd>
+</dd>
<dt> <b>--crypto</b> <name> <dt></dt>
</dt>
<dd> <dd>the name of the crypto engine to use from the following list: openssl, mscrypto, nss, gnutls, gcrypt (if no crypto engine is specified then the default one is used) </dd>
@@ -282,6 +286,10 @@ table.CALSTABLE > tbody > tr:nth-child(1) > td:nth-child(1) {
</dt>
<dd> <dd>print help information about the command </dd>
</dd>
+<dt> <b>--xxe</b> <dt></dt>
+</dt>
+<dd> <dd>enable External Entity resolution. WARNING: this may allow the reading of arbitrary files and URLs, controlled by the input XML document. Use with caution! </dd>
+</dd>
</dl>
<a name="lbAF"> </a><h2>AUTHOR</h2>
<a href="mailto:aleksey at aleksey.com">aleksey at aleksey.com</a><a name="lbAG"> </a><h2>REPORTING BUGS</h2>
diff --git a/include/Makefile.in b/include/Makefile.in
index 55f26df..2a1b664 100644
--- a/include/Makefile.in
+++ b/include/Makefile.in
@@ -244,6 +244,7 @@ LIBXSLT_PC_FILE_COND = @LIBXSLT_PC_FILE_COND@
LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MAN2HTML = @MAN2HTML@
@@ -291,6 +292,7 @@ SHELL = @SHELL@
STRIP = @STRIP@
TAR = @TAR@
VERSION = @VERSION@
+XMLSEC_APPS = @XMLSEC_APPS@
XMLSEC_APP_DEFINES = @XMLSEC_APP_DEFINES@
XMLSEC_CFLAGS = @XMLSEC_CFLAGS@
XMLSEC_CORE_CFLAGS = @XMLSEC_CORE_CFLAGS@
@@ -307,6 +309,7 @@ XMLSEC_DEFINES = @XMLSEC_DEFINES@
XMLSEC_DL_INCLUDES = @XMLSEC_DL_INCLUDES@
XMLSEC_DL_LIBS = @XMLSEC_DL_LIBS@
XMLSEC_DOCDIR = @XMLSEC_DOCDIR@
+XMLSEC_DOCS = @XMLSEC_DOCS@
XMLSEC_EXTRA_LDFLAGS = @XMLSEC_EXTRA_LDFLAGS@
XMLSEC_GCRYPT_CFLAGS = @XMLSEC_GCRYPT_CFLAGS@
XMLSEC_GCRYPT_LIBS = @XMLSEC_GCRYPT_LIBS@
@@ -396,6 +399,7 @@ pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
+runstatedir = @runstatedir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
diff --git a/include/xmlsec/Makefile.in b/include/xmlsec/Makefile.in
index 81bf7c8..ef7335f 100644
--- a/include/xmlsec/Makefile.in
+++ b/include/xmlsec/Makefile.in
@@ -275,6 +275,7 @@ LIBXSLT_PC_FILE_COND = @LIBXSLT_PC_FILE_COND@
LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MAN2HTML = @MAN2HTML@
@@ -322,6 +323,7 @@ SHELL = @SHELL@
STRIP = @STRIP@
TAR = @TAR@
VERSION = @VERSION@
+XMLSEC_APPS = @XMLSEC_APPS@
XMLSEC_APP_DEFINES = @XMLSEC_APP_DEFINES@
XMLSEC_CFLAGS = @XMLSEC_CFLAGS@
XMLSEC_CORE_CFLAGS = @XMLSEC_CORE_CFLAGS@
@@ -338,6 +340,7 @@ XMLSEC_DEFINES = @XMLSEC_DEFINES@
XMLSEC_DL_INCLUDES = @XMLSEC_DL_INCLUDES@
XMLSEC_DL_LIBS = @XMLSEC_DL_LIBS@
XMLSEC_DOCDIR = @XMLSEC_DOCDIR@
+XMLSEC_DOCS = @XMLSEC_DOCS@
XMLSEC_EXTRA_LDFLAGS = @XMLSEC_EXTRA_LDFLAGS@
XMLSEC_GCRYPT_CFLAGS = @XMLSEC_GCRYPT_CFLAGS@
XMLSEC_GCRYPT_LIBS = @XMLSEC_GCRYPT_LIBS@
@@ -427,6 +430,7 @@ pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
+runstatedir = @runstatedir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
diff --git a/include/xmlsec/app.h b/include/xmlsec/app.h
index 7b8e510..03a0025 100644
--- a/include/xmlsec/app.h
+++ b/include/xmlsec/app.h
@@ -1,4 +1,4 @@
-/**
+/*
* XML Security Library (http://www.aleksey.com/xmlsec).
*
*
diff --git a/include/xmlsec/base64.h b/include/xmlsec/base64.h
index a40c452..36d8a49 100644
--- a/include/xmlsec/base64.h
+++ b/include/xmlsec/base64.h
@@ -1,4 +1,4 @@
-/**
+/*
* XML Security Library (http://www.aleksey.com/xmlsec).
*
* Base64 encode/decode transform and utility functions.
diff --git a/include/xmlsec/bn.h b/include/xmlsec/bn.h
index 616919b..f9d2b6d 100644
--- a/include/xmlsec/bn.h
+++ b/include/xmlsec/bn.h
@@ -1,4 +1,4 @@
-/**
+/*
* XML Security Library (http://www.aleksey.com/xmlsec).
*
* Simple Big Numbers processing.
diff --git a/include/xmlsec/buffer.h b/include/xmlsec/buffer.h
index 4d8c739..d1f3952 100644
--- a/include/xmlsec/buffer.h
+++ b/include/xmlsec/buffer.h
@@ -1,4 +1,4 @@
-/**
+/*
* XML Security Library (http://www.aleksey.com/xmlsec).
*
* Memory buffer.
diff --git a/include/xmlsec/crypto.h b/include/xmlsec/crypto.h
index 75d92d0..54ecb14 100644
--- a/include/xmlsec/crypto.h
+++ b/include/xmlsec/crypto.h
@@ -1,4 +1,4 @@
-/**
+/*
* XML Security Library (http://www.aleksey.com/xmlsec).
*
* Crypto engine selection.
diff --git a/include/xmlsec/dl.h b/include/xmlsec/dl.h
index e04f4f9..dc73ecd 100644
--- a/include/xmlsec/dl.h
+++ b/include/xmlsec/dl.h
@@ -1,4 +1,4 @@
-/**
+/*
* XML Security Library (http://www.aleksey.com/xmlsec).
*
*
diff --git a/include/xmlsec/errors.h b/include/xmlsec/errors.h
index 32ac2fe..a7b35c8 100644
--- a/include/xmlsec/errors.h
+++ b/include/xmlsec/errors.h
@@ -1,4 +1,4 @@
-/**
+/*
* XML Security Library (http://www.aleksey.com/xmlsec).
*
* Error codes and error reporting functions.
@@ -23,7 +23,7 @@ extern "C" {
/**
* XMLSEC_ERRORS_R_XMLSEC_FAILED:
*
- * An XMLSec function failed (error subject is the failed function).
+ * An XMLSec function failed.
*/
#define XMLSEC_ERRORS_R_XMLSEC_FAILED 1
@@ -44,21 +44,21 @@ extern "C" {
/**
* XMLSEC_ERRORS_R_CRYPTO_FAILED:
*
- * Crypto (OpenSSL) function failed (error subject is the failed function).
+ * Crypto (e.g. OpenSSL) function failed.
*/
#define XMLSEC_ERRORS_R_CRYPTO_FAILED 4
/**
* XMLSEC_ERRORS_R_XML_FAILED:
*
- * LibXML function failed (error subject is the failed function).
+ * LibXML function failed.
*/
#define XMLSEC_ERRORS_R_XML_FAILED 5
/**
* XMLSEC_ERRORS_R_XSLT_FAILED:
*
- * LibXSLT function failed (error subject is the failed function).
+ * LibXSLT function failed.
*/
#define XMLSEC_ERRORS_R_XSLT_FAILED 6
@@ -86,6 +86,13 @@ extern "C" {
#define XMLSEC_ERRORS_R_NOT_IMPLEMENTED 9
/**
+ * XMLSEC_ERRORS_R_INVALID_CONFIG:
+ *
+ * The configuration is invalid.
+ */
+#define XMLSEC_ERRORS_R_INVALID_CONFIG 10
+
+/**
* XMLSEC_ERRORS_R_INVALID_SIZE:
*
* Invalid size.
@@ -142,30 +149,37 @@ extern "C" {
#define XMLSEC_ERRORS_R_DATA_NOT_MATCH 18
/**
+ * XMLSEC_ERRORS_R_INVALID_VERSION:
+ *
+ * Version mismatch.
+ */
+#define XMLSEC_ERRORS_R_INVALID_VERSION 19
+
+/**
* XMLSEC_ERRORS_R_INVALID_NODE:
*
- * Invalid node (error subject is the node name).
+ * Invalid node.
*/
#define XMLSEC_ERRORS_R_INVALID_NODE 21
/**
* XMLSEC_ERRORS_R_INVALID_NODE_CONTENT:
*
- * Invalid node content (error subject is the node name).
+ * Invalid node content.
*/
#define XMLSEC_ERRORS_R_INVALID_NODE_CONTENT 22
/**
* XMLSEC_ERRORS_R_INVALID_NODE_ATTRIBUTE:
*
- * Invalid node attribute (error subject is the node name).
+ * Invalid node attribute.
*/
#define XMLSEC_ERRORS_R_INVALID_NODE_ATTRIBUTE 23
/**
* XMLSEC_ERRORS_R_MISSING_NODE_ATTRIBUTE:
*
- * Missing node attribute (error subject is the node name).
+ * Missing node attribute.
*/
#define XMLSEC_ERRORS_R_MISSING_NODE_ATTRIBUTE 25
@@ -179,21 +193,21 @@ extern "C" {
/**
* XMLSEC_ERRORS_R_UNEXPECTED_NODE:
*
- * Unexpected node (error subject is the node name).
+ * Unexpected node.
*/
#define XMLSEC_ERRORS_R_UNEXPECTED_NODE 27
/**
* XMLSEC_ERRORS_R_NODE_NOT_FOUND:
*
- * Node not found (error subject is the required node name).
+ * Node not found.
*/
#define XMLSEC_ERRORS_R_NODE_NOT_FOUND 28
/**
* XMLSEC_ERRORS_R_INVALID_TRANSFORM:
*
- * This transform is invlaid here.
+ * This transform is invalid.
*/
#define XMLSEC_ERRORS_R_INVALID_TRANSFORM 31
@@ -235,7 +249,7 @@ extern "C" {
/**
* XMLSEC_ERRORS_R_KEY_DATA_NOT_FOUND:
*
- * Data is not found (error subject is the data name).
+ * Data is not found.
*/
#define XMLSEC_ERRORS_R_KEY_DATA_NOT_FOUND 42
@@ -435,7 +449,7 @@ XMLSEC_EXPORT const char* xmlSecErrorsGetMsg (xmlSecSize pos)
* Macro. Returns @str if it is not NULL or pointer to "NULL" otherwise.
*/
#define xmlSecErrorsSafeString(str) \
- (((str) != NULL) ? ((char*)(str)) : (char*)"NULL")
+ (((str) != NULL) ? ((const char*)(str)) : (const char*)"NULL")
/**
* XMLSEC_ERRORS_NO_MESSAGE:
@@ -453,8 +467,6 @@ XMLSEC_EXPORT void xmlSecError (const char* file,
int reason,
const char* msg, ...) XMLSEC_ERRORS_PRINTF_ATTRIBUTE;
-
-
/**********************************************************************
*
* Assertions
@@ -494,7 +506,6 @@ XMLSEC_EXPORT void xmlSecError (const char* file,
}
-
#ifdef __cplusplus
}
#endif /* __cplusplus */
diff --git a/include/xmlsec/exports.h b/include/xmlsec/exports.h
index a2abf3f..c6ed95b 100644
--- a/include/xmlsec/exports.h
+++ b/include/xmlsec/exports.h
@@ -1,4 +1,4 @@
-/**
+/*
* XML Security Library (http://www.aleksey.com/xmlsec).
*
* Export macro declarations for Win32 platform.
diff --git a/include/xmlsec/gcrypt/Makefile.in b/include/xmlsec/gcrypt/Makefile.in
index 448a6e7..d54784c 100644
--- a/include/xmlsec/gcrypt/Makefile.in
+++ b/include/xmlsec/gcrypt/Makefile.in
@@ -233,6 +233,7 @@ LIBXSLT_PC_FILE_COND = @LIBXSLT_PC_FILE_COND@
LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MAN2HTML = @MAN2HTML@
@@ -280,6 +281,7 @@ SHELL = @SHELL@
STRIP = @STRIP@
TAR = @TAR@
VERSION = @VERSION@
+XMLSEC_APPS = @XMLSEC_APPS@
XMLSEC_APP_DEFINES = @XMLSEC_APP_DEFINES@
XMLSEC_CFLAGS = @XMLSEC_CFLAGS@
XMLSEC_CORE_CFLAGS = @XMLSEC_CORE_CFLAGS@
@@ -296,6 +298,7 @@ XMLSEC_DEFINES = @XMLSEC_DEFINES@
XMLSEC_DL_INCLUDES = @XMLSEC_DL_INCLUDES@
XMLSEC_DL_LIBS = @XMLSEC_DL_LIBS@
XMLSEC_DOCDIR = @XMLSEC_DOCDIR@
+XMLSEC_DOCS = @XMLSEC_DOCS@
XMLSEC_EXTRA_LDFLAGS = @XMLSEC_EXTRA_LDFLAGS@
XMLSEC_GCRYPT_CFLAGS = @XMLSEC_GCRYPT_CFLAGS@
XMLSEC_GCRYPT_LIBS = @XMLSEC_GCRYPT_LIBS@
@@ -385,6 +388,7 @@ pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
+runstatedir = @runstatedir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
diff --git a/include/xmlsec/gcrypt/app.h b/include/xmlsec/gcrypt/app.h
index 20bd78e..f0eb88f 100644
--- a/include/xmlsec/gcrypt/app.h
+++ b/include/xmlsec/gcrypt/app.h
@@ -1,5 +1,5 @@
-/**
- * XMLSec library
+/*
+ * XML Security Library (http://www.aleksey.com/xmlsec).
*
* This is free software; see Copyright file in the source
* distribution for preciese wording.
diff --git a/include/xmlsec/gcrypt/crypto.h b/include/xmlsec/gcrypt/crypto.h
index 1035ea3..197f092 100644
--- a/include/xmlsec/gcrypt/crypto.h
+++ b/include/xmlsec/gcrypt/crypto.h
@@ -1,5 +1,5 @@
-/**
- * XMLSec library
+/*
+ * XML Security Library (http://www.aleksey.com/xmlsec).
*
* This is free software; see Copyright file in the source
* distribution for preciese wording.
diff --git a/include/xmlsec/gcrypt/symbols.h b/include/xmlsec/gcrypt/symbols.h
index 371efd3..d011e65 100644
--- a/include/xmlsec/gcrypt/symbols.h
+++ b/include/xmlsec/gcrypt/symbols.h
@@ -1,5 +1,5 @@
-/**
- * XMLSec library
+/*
+ * XML Security Library (http://www.aleksey.com/xmlsec).
*
* This is free software; see Copyright file in the source
* distribution for preciese wording.
diff --git a/include/xmlsec/gnutls/Makefile.in b/include/xmlsec/gnutls/Makefile.in
index 927c00c..4c7493c 100644
--- a/include/xmlsec/gnutls/Makefile.in
+++ b/include/xmlsec/gnutls/Makefile.in
@@ -233,6 +233,7 @@ LIBXSLT_PC_FILE_COND = @LIBXSLT_PC_FILE_COND@
LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MAN2HTML = @MAN2HTML@
@@ -280,6 +281,7 @@ SHELL = @SHELL@
STRIP = @STRIP@
TAR = @TAR@
VERSION = @VERSION@
+XMLSEC_APPS = @XMLSEC_APPS@
XMLSEC_APP_DEFINES = @XMLSEC_APP_DEFINES@
XMLSEC_CFLAGS = @XMLSEC_CFLAGS@
XMLSEC_CORE_CFLAGS = @XMLSEC_CORE_CFLAGS@
@@ -296,6 +298,7 @@ XMLSEC_DEFINES = @XMLSEC_DEFINES@
XMLSEC_DL_INCLUDES = @XMLSEC_DL_INCLUDES@
XMLSEC_DL_LIBS = @XMLSEC_DL_LIBS@
XMLSEC_DOCDIR = @XMLSEC_DOCDIR@
+XMLSEC_DOCS = @XMLSEC_DOCS@
XMLSEC_EXTRA_LDFLAGS = @XMLSEC_EXTRA_LDFLAGS@
XMLSEC_GCRYPT_CFLAGS = @XMLSEC_GCRYPT_CFLAGS@
XMLSEC_GCRYPT_LIBS = @XMLSEC_GCRYPT_LIBS@
@@ -385,6 +388,7 @@ pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
+runstatedir = @runstatedir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
diff --git a/include/xmlsec/gnutls/app.h b/include/xmlsec/gnutls/app.h
index c579a34..f13c085 100644
--- a/include/xmlsec/gnutls/app.h
+++ b/include/xmlsec/gnutls/app.h
@@ -1,5 +1,5 @@
-/**
- * XMLSec library
+/*
+ * XML Security Library (http://www.aleksey.com/xmlsec).
*
* This is free software; see Copyright file in the source
* distribution for preciese wording.
diff --git a/include/xmlsec/gnutls/crypto.h b/include/xmlsec/gnutls/crypto.h
index f0e07c6..399e26f 100644
--- a/include/xmlsec/gnutls/crypto.h
+++ b/include/xmlsec/gnutls/crypto.h
@@ -1,5 +1,5 @@
-/**
- * XMLSec library
+/*
+ * XML Security Library (http://www.aleksey.com/xmlsec).
*
* This is free software; see Copyright file in the source
* distribution for preciese wording.
diff --git a/include/xmlsec/gnutls/symbols.h b/include/xmlsec/gnutls/symbols.h
index cd65437..5c4a726 100644
--- a/include/xmlsec/gnutls/symbols.h
+++ b/include/xmlsec/gnutls/symbols.h
@@ -1,5 +1,5 @@
-/**
- * XMLSec library
+/*
+ * XML Security Library (http://www.aleksey.com/xmlsec).
*
* This is free software; see Copyright file in the source
* distribution for preciese wording.
diff --git a/include/xmlsec/gnutls/x509.h b/include/xmlsec/gnutls/x509.h
index e00bf75..1da86d3 100644
--- a/include/xmlsec/gnutls/x509.h
+++ b/include/xmlsec/gnutls/x509.h
@@ -1,5 +1,5 @@
-/**
- * XMLSec library
+/*
+ * XML Security Library (http://www.aleksey.com/xmlsec).
*
* This is free software; see Copyright file in the source
* distribution for preciese wording.
diff --git a/include/xmlsec/io.h b/include/xmlsec/io.h
index 3e9757f..8478663 100644
--- a/include/xmlsec/io.h
+++ b/include/xmlsec/io.h
@@ -1,4 +1,4 @@
-/**
+/*
* XML Security Library (http://www.aleksey.com/xmlsec).
*
* Input uri transform and utility functions.
diff --git a/include/xmlsec/keyinfo.h b/include/xmlsec/keyinfo.h
index fd87285..b4f080c 100644
--- a/include/xmlsec/keyinfo.h
+++ b/include/xmlsec/keyinfo.h
@@ -1,4 +1,4 @@
-/**
+/*
* XML Security Library (http://www.aleksey.com/xmlsec).
*
* <dsig:KeyInfo> element processing
diff --git a/include/xmlsec/keys.h b/include/xmlsec/keys.h
index 13b37df..0784ef8 100644
--- a/include/xmlsec/keys.h
+++ b/include/xmlsec/keys.h
@@ -1,4 +1,4 @@
-/**
+/*
* XML Security Library (http://www.aleksey.com/xmlsec).
*
* Keys.
diff --git a/include/xmlsec/keysdata.h b/include/xmlsec/keysdata.h
index f833a27..a32240a 100644
--- a/include/xmlsec/keysdata.h
+++ b/include/xmlsec/keysdata.h
@@ -1,4 +1,4 @@
-/**
+/*
* XML Security Library (http://www.aleksey.com/xmlsec).
*
* Key data.
diff --git a/include/xmlsec/keysmngr.h b/include/xmlsec/keysmngr.h
index ed0250d..2b2b7db 100644
--- a/include/xmlsec/keysmngr.h
+++ b/include/xmlsec/keysmngr.h
@@ -1,4 +1,4 @@
-/**
+/*
* XML Security Library (http://www.aleksey.com/xmlsec).
*
* Keys Manager
diff --git a/include/xmlsec/list.h b/include/xmlsec/list.h
index e976402..9129f7b 100644
--- a/include/xmlsec/list.h
+++ b/include/xmlsec/list.h
@@ -1,4 +1,4 @@
-/**
+/*
* XML Security Library (http://www.aleksey.com/xmlsec).
*
* List of pointers.
diff --git a/include/xmlsec/membuf.h b/include/xmlsec/membuf.h
index 0eab206..fcc6eaf 100644
--- a/include/xmlsec/membuf.h
+++ b/include/xmlsec/membuf.h
@@ -1,4 +1,4 @@
-/**
+/*
* XML Security Library (http://www.aleksey.com/xmlsec).
*
* Memory buffer transform
diff --git a/include/xmlsec/mscrypto/Makefile.in b/include/xmlsec/mscrypto/Makefile.in
index f010d55..e613f83 100644
--- a/include/xmlsec/mscrypto/Makefile.in
+++ b/include/xmlsec/mscrypto/Makefile.in
@@ -233,6 +233,7 @@ LIBXSLT_PC_FILE_COND = @LIBXSLT_PC_FILE_COND@
LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MAN2HTML = @MAN2HTML@
@@ -280,6 +281,7 @@ SHELL = @SHELL@
STRIP = @STRIP@
TAR = @TAR@
VERSION = @VERSION@
+XMLSEC_APPS = @XMLSEC_APPS@
XMLSEC_APP_DEFINES = @XMLSEC_APP_DEFINES@
XMLSEC_CFLAGS = @XMLSEC_CFLAGS@
XMLSEC_CORE_CFLAGS = @XMLSEC_CORE_CFLAGS@
@@ -296,6 +298,7 @@ XMLSEC_DEFINES = @XMLSEC_DEFINES@
XMLSEC_DL_INCLUDES = @XMLSEC_DL_INCLUDES@
XMLSEC_DL_LIBS = @XMLSEC_DL_LIBS@
XMLSEC_DOCDIR = @XMLSEC_DOCDIR@
+XMLSEC_DOCS = @XMLSEC_DOCS@
XMLSEC_EXTRA_LDFLAGS = @XMLSEC_EXTRA_LDFLAGS@
XMLSEC_GCRYPT_CFLAGS = @XMLSEC_GCRYPT_CFLAGS@
XMLSEC_GCRYPT_LIBS = @XMLSEC_GCRYPT_LIBS@
@@ -385,6 +388,7 @@ pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
+runstatedir = @runstatedir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
diff --git a/include/xmlsec/mscrypto/app.h b/include/xmlsec/mscrypto/app.h
index 3d23d0e..a370d4d 100644
--- a/include/xmlsec/mscrypto/app.h
+++ b/include/xmlsec/mscrypto/app.h
@@ -1,5 +1,5 @@
-/**
- * XMLSec library
+/*
+ * XML Security Library (http://www.aleksey.com/xmlsec).
*
* This is free software; see Copyright file in the source
* distribution for preciese wording.
diff --git a/include/xmlsec/mscrypto/certkeys.h b/include/xmlsec/mscrypto/certkeys.h
index d5e1b57..0e818f4 100644
--- a/include/xmlsec/mscrypto/certkeys.h
+++ b/include/xmlsec/mscrypto/certkeys.h
@@ -1,5 +1,5 @@
-/**
- * XMLSec library
+/*
+ * XML Security Library (http://www.aleksey.com/xmlsec).
*
* This is free software; see Copyright file in the source
* distribution for preciese wording.
diff --git a/include/xmlsec/mscrypto/crypto.h b/include/xmlsec/mscrypto/crypto.h
index 5f3142f..9527662 100644
--- a/include/xmlsec/mscrypto/crypto.h
+++ b/include/xmlsec/mscrypto/crypto.h
@@ -1,5 +1,5 @@
-/**
- * XMLSec library
+/*
+ * XML Security Library (http://www.aleksey.com/xmlsec).
*
* This is free software; see Copyright file in the source
* distribution for preciese wording.
diff --git a/include/xmlsec/mscrypto/keysstore.h b/include/xmlsec/mscrypto/keysstore.h
index afaf6a9..49dc319 100644
--- a/include/xmlsec/mscrypto/keysstore.h
+++ b/include/xmlsec/mscrypto/keysstore.h
@@ -1,5 +1,5 @@
-/**
- * XMLSec library
+/*
+ * XML Security Library (http://www.aleksey.com/xmlsec).
*
* MSCrypto keys store
*
diff --git a/include/xmlsec/mscrypto/symbols.h b/include/xmlsec/mscrypto/symbols.h
index 17000cc..d0ed129 100644
--- a/include/xmlsec/mscrypto/symbols.h
+++ b/include/xmlsec/mscrypto/symbols.h
@@ -1,5 +1,5 @@
-/**
- * XMLSec library
+/*
+ * XML Security Library (http://www.aleksey.com/xmlsec).
*
* This is free software; see Copyright file in the source
* distribution for preciese wording.
diff --git a/include/xmlsec/mscrypto/x509.h b/include/xmlsec/mscrypto/x509.h
index 60066bd..3199f16 100644
--- a/include/xmlsec/mscrypto/x509.h
+++ b/include/xmlsec/mscrypto/x509.h
@@ -1,5 +1,5 @@
-/**
- * XMLSec library
+/*
+ * XML Security Library (http://www.aleksey.com/xmlsec).
*
* This is free software; see Copyright file in the source
* distribution for preciese wording.
diff --git a/include/xmlsec/nodeset.h b/include/xmlsec/nodeset.h
index 3c0cfc7..028398d 100644
--- a/include/xmlsec/nodeset.h
+++ b/include/xmlsec/nodeset.h
@@ -1,4 +1,4 @@
-/**
+/*
* XML Security Library (http://www.aleksey.com/xmlsec).
*
* Enchanced nodes Set
diff --git a/include/xmlsec/nss/Makefile.in b/include/xmlsec/nss/Makefile.in
index 68aceff..ee5c02e 100644
--- a/include/xmlsec/nss/Makefile.in
+++ b/include/xmlsec/nss/Makefile.in
@@ -233,6 +233,7 @@ LIBXSLT_PC_FILE_COND = @LIBXSLT_PC_FILE_COND@
LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MAN2HTML = @MAN2HTML@
@@ -280,6 +281,7 @@ SHELL = @SHELL@
STRIP = @STRIP@
TAR = @TAR@
VERSION = @VERSION@
+XMLSEC_APPS = @XMLSEC_APPS@
XMLSEC_APP_DEFINES = @XMLSEC_APP_DEFINES@
XMLSEC_CFLAGS = @XMLSEC_CFLAGS@
XMLSEC_CORE_CFLAGS = @XMLSEC_CORE_CFLAGS@
@@ -296,6 +298,7 @@ XMLSEC_DEFINES = @XMLSEC_DEFINES@
XMLSEC_DL_INCLUDES = @XMLSEC_DL_INCLUDES@
XMLSEC_DL_LIBS = @XMLSEC_DL_LIBS@
XMLSEC_DOCDIR = @XMLSEC_DOCDIR@
+XMLSEC_DOCS = @XMLSEC_DOCS@
XMLSEC_EXTRA_LDFLAGS = @XMLSEC_EXTRA_LDFLAGS@
XMLSEC_GCRYPT_CFLAGS = @XMLSEC_GCRYPT_CFLAGS@
XMLSEC_GCRYPT_LIBS = @XMLSEC_GCRYPT_LIBS@
@@ -385,6 +388,7 @@ pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
+runstatedir = @runstatedir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
diff --git a/include/xmlsec/nss/app.h b/include/xmlsec/nss/app.h
index aeac55e..93f6c63 100644
--- a/include/xmlsec/nss/app.h
+++ b/include/xmlsec/nss/app.h
@@ -1,5 +1,5 @@
-/**
- * XMLSec library
+/*
+ * XML Security Library (http://www.aleksey.com/xmlsec).
*
* This is free software; see Copyright file in the source
* distribution for preciese wording.
diff --git a/include/xmlsec/nss/bignum.h b/include/xmlsec/nss/bignum.h
index 6147d20..af8f313 100644
--- a/include/xmlsec/nss/bignum.h
+++ b/include/xmlsec/nss/bignum.h
@@ -1,5 +1,5 @@
-/**
- * XMLSec library
+/*
+ * XML Security Library (http://www.aleksey.com/xmlsec).
*
* Reading/writing BIGNUM values
*
diff --git a/include/xmlsec/nss/crypto.h b/include/xmlsec/nss/crypto.h
index 87f31bf..a41ac6a 100644
--- a/include/xmlsec/nss/crypto.h
+++ b/include/xmlsec/nss/crypto.h
@@ -1,5 +1,5 @@
-/**
- * XMLSec library
+/*
+ * XML Security Library (http://www.aleksey.com/xmlsec).
*
* This is free software; see Copyright file in the source
* distribution for preciese wording.
@@ -189,6 +189,60 @@ XMLSEC_CRYPTO_EXPORT xmlSecTransformId xmlSecNssTransformDsaSha1GetKlass(void);
/********************************************************************
*
+ * ECDSA transform
+ *
+ *******************************************************************/
+#ifndef XMLSEC_NO_ECDSA
+
+/**
+ * xmlSecNssKeyDataEcdsaId:
+ *
+ * The ECDSA key klass.
+ */
+#define xmlSecNssKeyDataEcdsaId xmlSecNssKeyDataEcdsaGetKlass()
+XMLSEC_CRYPTO_EXPORT xmlSecKeyDataId xmlSecNssKeyDataEcdsaGetKlass(void);
+
+#ifndef XMLSEC_NO_SHA1
+
+/**
+ * xmlSecNssTransformEcdsaSha1Id:
+ *
+ * The ECDSA SHA1 signature transform klass.
+ */
+#define xmlSecNssTransformEcdsaSha1Id xmlSecNssTransformEcdsaSha1GetKlass()
+XMLSEC_CRYPTO_EXPORT xmlSecTransformId xmlSecNssTransformEcdsaSha1GetKlass(void);
+
+#endif /* XMLSEC_NO_SHA1 */
+
+#ifndef XMLSEC_NO_SHA256
+
+/**
+ * xmlSecNssTransformEcdsaSha256Id:
+ *
+ * The ECDSA SHA256 signature transform klass.
+ */
+#define xmlSecNssTransformEcdsaSha256Id xmlSecNssTransformEcdsaSha256GetKlass()
+XMLSEC_CRYPTO_EXPORT xmlSecTransformId xmlSecNssTransformEcdsaSha256GetKlass(void);
+
+#endif /* XMLSEC_NO_SHA256 */
+
+#ifndef XMLSEC_NO_SHA512
+
+/**
+ * xmlSecNssTransformEcdsaSha512Id:
+ *
+ * The ECDSA SHA512 signature transform klass.
+ */
+#define xmlSecNssTransformEcdsaSha512Id xmlSecNssTransformEcdsaSha512GetKlass()
+XMLSEC_CRYPTO_EXPORT xmlSecTransformId xmlSecNssTransformEcdsaSha512GetKlass(void);
+
+#endif /* XMLSEC_NO_SHA512 */
+
+#endif /* XMLSEC_NO_ECDSA */
+
+
+/********************************************************************
+ *
* HMAC transforms
*
*******************************************************************/
diff --git a/include/xmlsec/nss/keysstore.h b/include/xmlsec/nss/keysstore.h
index a2cc289..eb64d3c 100644
--- a/include/xmlsec/nss/keysstore.h
+++ b/include/xmlsec/nss/keysstore.h
@@ -1,5 +1,5 @@
-/**
- * XMLSec library
+/*
+ * XML Security Library (http://www.aleksey.com/xmlsec).
*
* Nss keys store
*
diff --git a/include/xmlsec/nss/pkikeys.h b/include/xmlsec/nss/pkikeys.h
index cb49848..b987afe 100644
--- a/include/xmlsec/nss/pkikeys.h
+++ b/include/xmlsec/nss/pkikeys.h
@@ -1,5 +1,5 @@
-/**
- * XMLSec library
+/*
+ * XML Security Library (http://www.aleksey.com/xmlsec).
*
* This is free software; see Copyright file in the source
* distribution for preciese wording.
diff --git a/include/xmlsec/nss/symbols.h b/include/xmlsec/nss/symbols.h
index 23653ed..3cd0f9c 100644
--- a/include/xmlsec/nss/symbols.h
+++ b/include/xmlsec/nss/symbols.h
@@ -1,5 +1,5 @@
-/**
- * XMLSec library
+/*
+ * XML Security Library (http://www.aleksey.com/xmlsec).
*
* This is free software; see Copyright file in the source
* distribution for preciese wording.
@@ -65,6 +65,9 @@ extern "C" {
#define xmlSecTransformDes3CbcId xmlSecNssTransformDes3CbcId
#define xmlSecTransformKWDes3Id xmlSecNssTransformKWDes3Id
#define xmlSecTransformDsaSha1Id xmlSecNssTransformDsaSha1Id
+#define xmlSecTransformEcdsaSha1Id xmlSecNssTransformEcdsaSha1Id
+#define xmlSecTransformEcdsaSha256Id xmlSecNssTransformEcdsaSha256Id
+#define xmlSecTransformEcdsaSha512Id xmlSecNssTransformEcdsaSha512Id
#define xmlSecTransformHmacMd5Id xmlSecNssTransformHmacMd5Id
#define xmlSecTransformHmacRipemd160Id xmlSecNssTransformHmacRipemd160Id
#define xmlSecTransformHmacSha1Id xmlSecNssTransformHmacSha1Id
diff --git a/include/xmlsec/nss/x509.h b/include/xmlsec/nss/x509.h
index fe5ceb4..1290bde 100644
--- a/include/xmlsec/nss/x509.h
+++ b/include/xmlsec/nss/x509.h
@@ -1,5 +1,5 @@
-/**
- * XMLSec library
+/*
+ * XML Security Library (http://www.aleksey.com/xmlsec).
*
* This is free software; see Copyright file in the source
* distribution for preciese wording.
diff --git a/include/xmlsec/openssl/Makefile.in b/include/xmlsec/openssl/Makefile.in
index b6a2b98..14b3be9 100644
--- a/include/xmlsec/openssl/Makefile.in
+++ b/include/xmlsec/openssl/Makefile.in
@@ -233,6 +233,7 @@ LIBXSLT_PC_FILE_COND = @LIBXSLT_PC_FILE_COND@
LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MAN2HTML = @MAN2HTML@
@@ -280,6 +281,7 @@ SHELL = @SHELL@
STRIP = @STRIP@
TAR = @TAR@
VERSION = @VERSION@
+XMLSEC_APPS = @XMLSEC_APPS@
XMLSEC_APP_DEFINES = @XMLSEC_APP_DEFINES@
XMLSEC_CFLAGS = @XMLSEC_CFLAGS@
XMLSEC_CORE_CFLAGS = @XMLSEC_CORE_CFLAGS@
@@ -296,6 +298,7 @@ XMLSEC_DEFINES = @XMLSEC_DEFINES@
XMLSEC_DL_INCLUDES = @XMLSEC_DL_INCLUDES@
XMLSEC_DL_LIBS = @XMLSEC_DL_LIBS@
XMLSEC_DOCDIR = @XMLSEC_DOCDIR@
+XMLSEC_DOCS = @XMLSEC_DOCS@
XMLSEC_EXTRA_LDFLAGS = @XMLSEC_EXTRA_LDFLAGS@
XMLSEC_GCRYPT_CFLAGS = @XMLSEC_GCRYPT_CFLAGS@
XMLSEC_GCRYPT_LIBS = @XMLSEC_GCRYPT_LIBS@
@@ -385,6 +388,7 @@ pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
+runstatedir = @runstatedir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
diff --git a/include/xmlsec/openssl/app.h b/include/xmlsec/openssl/app.h
index 5c5325f..8280b38 100644
--- a/include/xmlsec/openssl/app.h
+++ b/include/xmlsec/openssl/app.h
@@ -1,5 +1,5 @@
-/**
- * XMLSec library
+/*
+ * XML Security Library (http://www.aleksey.com/xmlsec).
*
* This is free software; see Copyright file in the source
* distribution for preciese wording.
@@ -60,7 +60,7 @@ XMLSEC_CRYPTO_EXPORT int xmlSecOpenSSLAppKeysMngrCertLoadBIO(xmlS
XMLSEC_CRYPTO_EXPORT int xmlSecOpenSSLAppKeysMngrAddCertsPath(xmlSecKeysMngrPtr mngr,
const char *path);
XMLSEC_CRYPTO_EXPORT int xmlSecOpenSSLAppKeysMngrAddCertsFile(xmlSecKeysMngrPtr mngr,
- const char *file);
+ const char *filename);
#endif /* XMLSEC_NO_X509 */
diff --git a/include/xmlsec/openssl/bn.h b/include/xmlsec/openssl/bn.h
index 7415a9b..fa42a28 100644
--- a/include/xmlsec/openssl/bn.h
+++ b/include/xmlsec/openssl/bn.h
@@ -1,5 +1,5 @@
-/**
- * XMLSec library
+/*
+ * XML Security Library (http://www.aleksey.com/xmlsec).
*
* Reading/writing BIGNUM values
*
diff --git a/include/xmlsec/openssl/crypto.h b/include/xmlsec/openssl/crypto.h
index c734c14..103522c 100644
--- a/include/xmlsec/openssl/crypto.h
+++ b/include/xmlsec/openssl/crypto.h
@@ -1,5 +1,5 @@
-/**
- * XMLSec library
+/*
+ * XML Security Library (http://www.aleksey.com/xmlsec).
*
* This is free software; see Copyright file in the source
* distribution for preciese wording.
@@ -19,6 +19,7 @@ extern "C" {
#include <xmlsec/dl.h>
#include <openssl/err.h>
+#include <openssl/opensslconf.h>
XMLSEC_CRYPTO_EXPORT xmlSecCryptoDLFunctionsPtr xmlSecCryptoGetFunctions_openssl(void);
@@ -39,6 +40,94 @@ XMLSEC_CRYPTO_EXPORT const xmlChar* xmlSecOpenSSLGetDefaultTrustedCertsFolde
/********************************************************************
*
+ * What version of the openssl API do we have? (also see configure.ac)
+ *
+ *******************************************************************/
+#if OPENSSL_VERSION_NUMBER == 0x20000000L && defined(LIBRESSL_VERSION_NUMBER)
+/* Libressl decided to take over OpenSSL version 2.0.0, likely will create
+ * issues down the road...
+ */
+#define XMLSEC_OPENSSL_API_100 1
+#elif OPENSSL_VERSION_NUMBER >= 0x10100000L
+#define XMLSEC_OPENSSL_API_110 1
+#elif OPENSSL_VERSION_NUMBER >= 0x10000000L
+#define XMLSEC_OPENSSL_API_100 1
+#elif OPENSSL_VERSION_NUMBER >= 0x00908000L
+#define XMLSEC_OPENSSL_API_098 1
+#else /* OPENSSL_VERSION_NUMBER */
+#error "This version of OpenSSL library is not supported"
+#endif /* OPENSSL_VERSION_NUMBER */
+
+/********************************************************************
+ *
+ * What is supported by the openssl?
+ *
+ *******************************************************************/
+#if defined(XMLSEC_OPENSSL_API_098)
+#define XMLSEC_NO_ECDSA 1
+#define XMLSEC_NO_SHA224 1
+#define XMLSEC_NO_SHA256 1
+#define XMLSEC_NO_SHA384 1
+#define XMLSEC_NO_SHA512 1
+#endif /* defined(XMLSEC_OPENSSL_API_098) */
+
+#ifdef OPENSSL_NO_AES
+#define XMLSEC_NO_AES 1
+#endif /* OPENSSL_NO_AES */
+
+#ifdef OPENSSL_NO_DES
+#define XMLSEC_NO_DES 1
+#endif /* OPENSSL_NO_DES */
+
+#ifdef OPENSSL_NO_DSA
+#define XMLSEC_NO_DSA 1
+#endif /* OPENSSL_NO_DSA */
+
+#ifdef OPENSSL_NO_ECDSA
+#define XMLSEC_NO_ECDSA 1
+#endif /* OPENSSL_NO_ECDSA */
+
+#ifdef OPENSSL_NO_GOST
+#define XMLSEC_NO_GOST 1
+#define XMLSEC_NO_GOST2012 1
+#endif /* OPENSSL_NO_GOST */
+
+#ifdef OPENSSL_NO_HMAC
+#define XMLSEC_NO_HMAC 1
+#endif /* OPENSSL_NO_HMAC */
+
+#ifdef OPENSSL_NO_MD5
+#define XMLSEC_NO_MD5 1
+#endif /* OPENSSL_NO_MD5 */
+
+#ifdef OPENSSL_NO_RIPEMD160
+#define XMLSEC_NO_RIPEMD160 1
+#endif /* OPENSSL_NO_RIPEMD160 */
+
+#ifdef OPENSSL_NO_RSA
+#define XMLSEC_NO_RSA 1
+#endif /* OPENSSL_NO_RSA */
+
+#ifdef OPENSSL_NO_SHA1
+#define XMLSEC_NO_SHA1 1
+#endif /* OPENSSL_NO_SHA1 */
+
+#ifdef OPENSSL_NO_SHA256
+#define XMLSEC_NO_SHA256 1
+#define XMLSEC_NO_SHA224 1
+#endif /* OPENSSL_NO_SHA256 */
+
+#ifdef OPENSSL_NO_SHA512
+#define XMLSEC_NO_SHA384 1
+#define XMLSEC_NO_SHA512 1
+#endif /* OPENSSL_NO_SHA512 */
+
+#if defined(OPENSSL_NO_X509) || defined(OPENSSL_NO_X509_VERIFY)
+#define XMLSEC_NO_X509 1
+#endif /* defined(OPENSSL_NO_X509) || defined(OPENSSL_NO_X509_VERIFY) */
+
+/********************************************************************
+ *
* AES transforms
*
*******************************************************************/
@@ -721,26 +810,6 @@ XMLSEC_CRYPTO_EXPORT xmlSecTransformId xmlSecOpenSSLTransformSha512GetKlass(void
#endif /* XMLSEC_NO_SHA512 */
-
-/**************************************************************
- *
- * Error constants for OpenSSL
- *
- *************************************************************/
-/**
- * XMLSEC_OPENSSL_ERRORS_LIB:
- *
- * Macro. The XMLSec library klass for OpenSSL errors reporting functions.
- */
-#define XMLSEC_OPENSSL_ERRORS_LIB (ERR_LIB_USER + 57)
-
-/**
- * XMLSEC_OPENSSL_ERRORS_FUNCTION:
- *
- * Macro. The XMLSec library functions OpenSSL errors reporting functions.
- */
-#define XMLSEC_OPENSSL_ERRORS_FUNCTION 0
-
XMLSEC_CRYPTO_EXPORT void xmlSecOpenSSLErrorsDefaultCallback (const char* file,
int line,
const char* func,
@@ -749,6 +818,7 @@ XMLSEC_CRYPTO_EXPORT void xmlSecOpenSSLErrorsDefaultCallback (const c
int reason,
const char* msg);
+
#ifdef __cplusplus
}
#endif /* __cplusplus */
diff --git a/include/xmlsec/openssl/evp.h b/include/xmlsec/openssl/evp.h
index 2f964e8..7dbd790 100644
--- a/include/xmlsec/openssl/evp.h
+++ b/include/xmlsec/openssl/evp.h
@@ -1,5 +1,5 @@
-/**
- * XMLSec library
+/*
+ * XML Security Library (http://www.aleksey.com/xmlsec).
*
* This is free software; see Copyright file in the source
* distribution for preciese wording.
diff --git a/include/xmlsec/openssl/symbols.h b/include/xmlsec/openssl/symbols.h
index 74a801a..c080f9d 100644
--- a/include/xmlsec/openssl/symbols.h
+++ b/include/xmlsec/openssl/symbols.h
@@ -1,5 +1,5 @@
-/**
- * XMLSec library
+/*
+ * XML Security Library (http://www.aleksey.com/xmlsec).
*
* This is free software; see Copyright file in the source
* distribution for preciese wording.
diff --git a/include/xmlsec/openssl/x509.h b/include/xmlsec/openssl/x509.h
index 0163c23..6bb0d22 100644
--- a/include/xmlsec/openssl/x509.h
+++ b/include/xmlsec/openssl/x509.h
@@ -1,5 +1,5 @@
-/**
- * XMLSec library
+/*
+ * XML Security Library (http://www.aleksey.com/xmlsec).
*
* This is free software; see Copyright file in the source
* distribution for preciese wording.
@@ -98,7 +98,7 @@ XMLSEC_CRYPTO_EXPORT int xmlSecOpenSSLX509StoreAdoptCrl (xmlSecK
XMLSEC_CRYPTO_EXPORT int xmlSecOpenSSLX509StoreAddCertsPath(xmlSecKeyDataStorePtr store,
const char* path);
XMLSEC_CRYPTO_EXPORT int xmlSecOpenSSLX509StoreAddCertsFile(xmlSecKeyDataStorePtr store,
- const char* file);
+ const char* filename);
#endif /* XMLSEC_NO_X509 */
diff --git a/include/xmlsec/parser.h b/include/xmlsec/parser.h
index b91aa8d..bb1071f 100644
--- a/include/xmlsec/parser.h
+++ b/include/xmlsec/parser.h
@@ -1,4 +1,4 @@
-/**
+/*
* XML Security Library (http://www.aleksey.com/xmlsec).
*
* XML Parser transform and utility functions.
diff --git a/include/xmlsec/private.h b/include/xmlsec/private.h
index 0a9d74a..757cc8f 100644
--- a/include/xmlsec/private.h
+++ b/include/xmlsec/private.h
@@ -1,4 +1,4 @@
-/**
+/*
* XML Security Library (http://www.aleksey.com/xmlsec).
*
* These are internal private declarations. You don't want to use this file
@@ -491,21 +491,91 @@ struct _xmlSecCryptoDLFunctions {
void* cryptoAppDefaultPwdCallback;
};
-#include <libxml/xmlstring.h>
+/**
+ * ATTRIBUTE_UNUSED:
+ *
+ * Macro used to signal to GCC unused function parameters
+ */
+#ifdef __GNUC__
+#ifdef HAVE_ANSIDECL_H
+#include <ansidecl.h>
+#endif
+#ifndef ATTRIBUTE_UNUSED
+#define ATTRIBUTE_UNUSED
+#endif
+#else
+#define ATTRIBUTE_UNUSED
+#endif
+
+/***********************************************************************
+ *
+ * Helpers to convert from void* to function pointer, this silence
+ * gcc warning
+ *
+ * warning: ISO C forbids conversion of object pointer to function
+ * pointer type
+ *
+ * The workaround is to declare a union that does the conversion. This is
+ * guaranteed (ISO/IEC 9899:1990 "C89"/"C90") to match exactly.
+ *
+ ***********************************************************************/
+
+/**
+ * XMLSEC_PTR_TO_FUNC_IMPL:
+ * @func_type: the function type.
+ *
+ * Macro declares helper functions to convert from "void *" pointer to
+ * function pointer.
+ */
+#define XMLSEC_PTR_TO_FUNC_IMPL(func_type) \
+ union xmlSecPtrToFuncUnion_ ##func_type { \
+ void *ptr; \
+ func_type * func; \
+ } ; \
+ static func_type * xmlSecPtrToFunc_ ##func_type(void * ptr) { \
+ union xmlSecPtrToFuncUnion_ ##func_type x; \
+ x.ptr = ptr; \
+ return (x.func); \
+ }
/**
- * xmlSecStrPrintf:
+ * XMLSEC_PTR_TO_FUNC:
+ * @func_type: the function type.
+ * @ptr: the "void*" pointer to be converted.
*
- * Prints a string (see @xmlStrPrintf).
+ * Macro converts from "void*" pointer to "func_type" function pointer.
*/
-#define xmlSecStrPrintf xmlStrPrintf
+#define XMLSEC_PTR_TO_FUNC(func_type, ptr) \
+ xmlSecPtrToFunc_ ##func_type((ptr))
/**
- * xmlSecStrVPrintf:
+ * XMLSEC_FUNC_TO_PTR_IMPL:
+ * @func_type: the function type.
*
- * Prints a string (see @xmlStrVPrintf).
+ * Macro declares helper functions to convert from function pointer to
+ * "void *" pointer;
*/
-#define xmlSecStrVPrintf xmlStrVPrintf
+#define XMLSEC_FUNC_TO_PTR_IMPL(func_type) \
+ union xmlSecFuncToPtrUnion_ ##func_type { \
+ void *ptr; \
+ func_type * func; \
+ } ; \
+ static void * xmlSecFuncToPtr_ ##func_type(func_type * func) { \
+ union xmlSecFuncToPtrUnion_ ##func_type x; \
+ x.func = func; \
+ return (x.ptr); \
+ }
+
+/**
+ * XMLSEC_FUNC_TO_PTR:
+ * @func_type: the function type.
+ * @func: the "func_type" function pointer to be converted.
+ *
+ * Macro converts from "func_type" function pointer to "void*" pointer.
+ */
+#define XMLSEC_FUNC_TO_PTR(func_type, func) \
+ xmlSecFuncToPtr_ ##func_type((func))
+
#ifdef __cplusplus
}
diff --git a/include/xmlsec/private/Makefile.in b/include/xmlsec/private/Makefile.in
index 3d8be64..b281646 100644
--- a/include/xmlsec/private/Makefile.in
+++ b/include/xmlsec/private/Makefile.in
@@ -233,6 +233,7 @@ LIBXSLT_PC_FILE_COND = @LIBXSLT_PC_FILE_COND@
LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MAN2HTML = @MAN2HTML@
@@ -280,6 +281,7 @@ SHELL = @SHELL@
STRIP = @STRIP@
TAR = @TAR@
VERSION = @VERSION@
+XMLSEC_APPS = @XMLSEC_APPS@
XMLSEC_APP_DEFINES = @XMLSEC_APP_DEFINES@
XMLSEC_CFLAGS = @XMLSEC_CFLAGS@
XMLSEC_CORE_CFLAGS = @XMLSEC_CORE_CFLAGS@
@@ -296,6 +298,7 @@ XMLSEC_DEFINES = @XMLSEC_DEFINES@
XMLSEC_DL_INCLUDES = @XMLSEC_DL_INCLUDES@
XMLSEC_DL_LIBS = @XMLSEC_DL_LIBS@
XMLSEC_DOCDIR = @XMLSEC_DOCDIR@
+XMLSEC_DOCS = @XMLSEC_DOCS@
XMLSEC_EXTRA_LDFLAGS = @XMLSEC_EXTRA_LDFLAGS@
XMLSEC_GCRYPT_CFLAGS = @XMLSEC_GCRYPT_CFLAGS@
XMLSEC_GCRYPT_LIBS = @XMLSEC_GCRYPT_LIBS@
@@ -385,6 +388,7 @@ pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
+runstatedir = @runstatedir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
diff --git a/include/xmlsec/private/xslt.h b/include/xmlsec/private/xslt.h
index ee3e728..9fbcc3a 100644
--- a/include/xmlsec/private/xslt.h
+++ b/include/xmlsec/private/xslt.h
@@ -1,4 +1,4 @@
-/**
+/*
* XML Security Library (http://www.aleksey.com/xmlsec).
*
* XSLT helper functions
diff --git a/include/xmlsec/skeleton/app.h b/include/xmlsec/skeleton/app.h
index 3d29c32..25b2452 100644
--- a/include/xmlsec/skeleton/app.h
+++ b/include/xmlsec/skeleton/app.h
@@ -1,5 +1,5 @@
-/**
- * XMLSec library
+/*
+ * XML Security Library (http://www.aleksey.com/xmlsec).
*
* This is free software; see Copyright file in the source
* distribution for preciese wording.
diff --git a/include/xmlsec/skeleton/crypto.h b/include/xmlsec/skeleton/crypto.h
index a81ba06..69d7dce 100644
--- a/include/xmlsec/skeleton/crypto.h
+++ b/include/xmlsec/skeleton/crypto.h
@@ -1,5 +1,5 @@
-/**
- * XMLSec library
+/*
+ * XML Security Library (http://www.aleksey.com/xmlsec).
*
* This is free software; see Copyright file in the source
* distribution for preciese wording.
diff --git a/include/xmlsec/skeleton/symbols.h b/include/xmlsec/skeleton/symbols.h
index aa7ed38..5800445 100644
--- a/include/xmlsec/skeleton/symbols.h
+++ b/include/xmlsec/skeleton/symbols.h
@@ -1,5 +1,5 @@
-/**
- * XMLSec library
+/*
+ * XML Security Library (http://www.aleksey.com/xmlsec).
*
* This is free software; see Copyright file in the source
* distribution for preciese wording.
diff --git a/include/xmlsec/soap.h b/include/xmlsec/soap.h
index c4efc00..e397d09 100644
--- a/include/xmlsec/soap.h
+++ b/include/xmlsec/soap.h
@@ -1,4 +1,4 @@
-/**
+/*
* XML Security Library (http://www.aleksey.com/xmlsec).
*
* Simple SOAP messages parsing/creation.
@@ -6,7 +6,7 @@
* This is free software; see Copyright file in the source
* distribution for preciese wording.
*
- * Copyright (C) 2002-2003 Aleksey Sanin <aleksey at aleksey.com>
+ * Copyright (C) 2002-2017 Aleksey Sanin <aleksey at aleksey.com>
*/
#ifndef __XMLSEC_SOAP_H__
#define __XMLSEC_SOAP_H__
@@ -26,22 +26,22 @@ extern "C" {
* SOAP 1.1
*
**********************************************************************/
-XMLSEC_EXPORT xmlNodePtr xmlSecSoap11CreateEnvelope (xmlDocPtr doc);
-XMLSEC_EXPORT xmlNodePtr xmlSecSoap11EnsureHeader (xmlNodePtr envNode);
-XMLSEC_EXPORT xmlNodePtr xmlSecSoap11AddBodyEntry (xmlNodePtr envNode,
+XMLSEC_DEPRECATED XMLSEC_EXPORT xmlNodePtr xmlSecSoap11CreateEnvelope (xmlDocPtr doc);
+XMLSEC_DEPRECATED XMLSEC_EXPORT xmlNodePtr xmlSecSoap11EnsureHeader (xmlNodePtr envNode);
+XMLSEC_DEPRECATED XMLSEC_EXPORT xmlNodePtr xmlSecSoap11AddBodyEntry (xmlNodePtr envNode,
xmlNodePtr entryNode);
-XMLSEC_EXPORT xmlNodePtr xmlSecSoap11AddFaultEntry (xmlNodePtr envNode,
+XMLSEC_DEPRECATED XMLSEC_EXPORT xmlNodePtr xmlSecSoap11AddFaultEntry (xmlNodePtr envNode,
const xmlChar* faultCodeHref,
const xmlChar* faultCodeLocalPart,
const xmlChar* faultString,
const xmlChar* faultActor);
-XMLSEC_EXPORT int xmlSecSoap11CheckEnvelope (xmlNodePtr envNode);
-XMLSEC_EXPORT xmlNodePtr xmlSecSoap11GetHeader (xmlNodePtr envNode);
-XMLSEC_EXPORT xmlNodePtr xmlSecSoap11GetBody (xmlNodePtr envNode);
-XMLSEC_EXPORT xmlSecSize xmlSecSoap11GetBodyEntriesNumber(xmlNodePtr envNode);
-XMLSEC_EXPORT xmlNodePtr xmlSecSoap11GetBodyEntry (xmlNodePtr envNode,
+XMLSEC_DEPRECATED XMLSEC_EXPORT int xmlSecSoap11CheckEnvelope (xmlNodePtr envNode);
+XMLSEC_DEPRECATED XMLSEC_EXPORT xmlNodePtr xmlSecSoap11GetHeader (xmlNodePtr envNode);
+XMLSEC_DEPRECATED XMLSEC_EXPORT xmlNodePtr xmlSecSoap11GetBody (xmlNodePtr envNode);
+XMLSEC_DEPRECATED XMLSEC_EXPORT xmlSecSize xmlSecSoap11GetBodyEntriesNumber(xmlNodePtr envNode);
+XMLSEC_DEPRECATED XMLSEC_EXPORT xmlNodePtr xmlSecSoap11GetBodyEntry (xmlNodePtr envNode,
xmlSecSize pos);
-XMLSEC_EXPORT xmlNodePtr xmlSecSoap11GetFaultEntry (xmlNodePtr envNode);
+XMLSEC_DEPRECATED XMLSEC_EXPORT xmlNodePtr xmlSecSoap11GetFaultEntry (xmlNodePtr envNode);
/***********************************************************************
@@ -92,31 +92,31 @@ typedef enum {
xmlSecSoap12FaultCodeReceiver
} xmlSecSoap12FaultCode;
-XMLSEC_EXPORT xmlNodePtr xmlSecSoap12CreateEnvelope (xmlDocPtr doc);
-XMLSEC_EXPORT xmlNodePtr xmlSecSoap12EnsureHeader (xmlNodePtr envNode);
-XMLSEC_EXPORT xmlNodePtr xmlSecSoap12AddBodyEntry (xmlNodePtr envNode,
+XMLSEC_DEPRECATED XMLSEC_EXPORT xmlNodePtr xmlSecSoap12CreateEnvelope (xmlDocPtr doc);
+XMLSEC_DEPRECATED XMLSEC_EXPORT xmlNodePtr xmlSecSoap12EnsureHeader (xmlNodePtr envNode);
+XMLSEC_DEPRECATED XMLSEC_EXPORT xmlNodePtr xmlSecSoap12AddBodyEntry (xmlNodePtr envNode,
xmlNodePtr entryNode);
-XMLSEC_EXPORT xmlNodePtr xmlSecSoap12AddFaultEntry (xmlNodePtr envNode,
+XMLSEC_DEPRECATED XMLSEC_EXPORT xmlNodePtr xmlSecSoap12AddFaultEntry (xmlNodePtr envNode,
xmlSecSoap12FaultCode faultCode,
const xmlChar* faultReasonText,
const xmlChar* faultReasonLang,
const xmlChar* faultNodeURI,
const xmlChar* faultRole);
-XMLSEC_EXPORT xmlNodePtr xmlSecSoap12AddFaultSubcode (xmlNodePtr faultNode,
+XMLSEC_DEPRECATED XMLSEC_EXPORT xmlNodePtr xmlSecSoap12AddFaultSubcode (xmlNodePtr faultNode,
const xmlChar* subCodeHref,
const xmlChar* subCodeName);
-XMLSEC_EXPORT xmlNodePtr xmlSecSoap12AddFaultReasonText (xmlNodePtr faultNode,
+XMLSEC_DEPRECATED XMLSEC_EXPORT xmlNodePtr xmlSecSoap12AddFaultReasonText (xmlNodePtr faultNode,
const xmlChar* faultReasonText,
const xmlChar* faultReasonLang);
-XMLSEC_EXPORT xmlNodePtr xmlSecSoap12AddFaultDetailEntry (xmlNodePtr faultNode,
+XMLSEC_DEPRECATED XMLSEC_EXPORT xmlNodePtr xmlSecSoap12AddFaultDetailEntry (xmlNodePtr faultNode,
xmlNodePtr detailEntryNode);
-XMLSEC_EXPORT int xmlSecSoap12CheckEnvelope (xmlNodePtr envNode);
-XMLSEC_EXPORT xmlNodePtr xmlSecSoap12GetHeader (xmlNodePtr envNode);
-XMLSEC_EXPORT xmlNodePtr xmlSecSoap12GetBody (xmlNodePtr envNode);
-XMLSEC_EXPORT xmlSecSize xmlSecSoap12GetBodyEntriesNumber(xmlNodePtr envNode);
-XMLSEC_EXPORT xmlNodePtr xmlSecSoap12GetBodyEntry (xmlNodePtr envNode,
+XMLSEC_DEPRECATED XMLSEC_EXPORT int xmlSecSoap12CheckEnvelope (xmlNodePtr envNode);
+XMLSEC_DEPRECATED XMLSEC_EXPORT xmlNodePtr xmlSecSoap12GetHeader (xmlNodePtr envNode);
+XMLSEC_DEPRECATED XMLSEC_EXPORT xmlNodePtr xmlSecSoap12GetBody (xmlNodePtr envNode);
+XMLSEC_DEPRECATED XMLSEC_EXPORT xmlSecSize xmlSecSoap12GetBodyEntriesNumber(xmlNodePtr envNode);
+XMLSEC_DEPRECATED XMLSEC_EXPORT xmlNodePtr xmlSecSoap12GetBodyEntry (xmlNodePtr envNode,
xmlSecSize pos);
-XMLSEC_EXPORT xmlNodePtr xmlSecSoap12GetFaultEntry (xmlNodePtr envNode);
+XMLSEC_DEPRECATED XMLSEC_EXPORT xmlNodePtr xmlSecSoap12GetFaultEntry (xmlNodePtr envNode);
#endif /* XMLSEC_NO_SOAP */
diff --git a/include/xmlsec/strings.h b/include/xmlsec/strings.h
index 42f5117..1a945ec 100644
--- a/include/xmlsec/strings.h
+++ b/include/xmlsec/strings.h
@@ -1,4 +1,4 @@
-/**
+/*
* XML Security Library (http://www.aleksey.com/xmlsec).
*
* All the string constans.
diff --git a/include/xmlsec/templates.h b/include/xmlsec/templates.h
index 94ee740..fafcdcc 100644
--- a/include/xmlsec/templates.h
+++ b/include/xmlsec/templates.h
@@ -1,4 +1,4 @@
-/**
+/*
* XML Security Library (http://www.aleksey.com/xmlsec).
*
* KeyInfo node processing
diff --git a/include/xmlsec/transforms.h b/include/xmlsec/transforms.h
index 7765afc..751efcd 100644
--- a/include/xmlsec/transforms.h
+++ b/include/xmlsec/transforms.h
@@ -1,4 +1,4 @@
-/**
+/*
* XML Security Library (http://www.aleksey.com/xmlsec).
*
* The transforms engine
diff --git a/include/xmlsec/version.h b/include/xmlsec/version.h
index 7c09710..30345a1 100644
--- a/include/xmlsec/version.h
+++ b/include/xmlsec/version.h
@@ -1,4 +1,4 @@
-/**
+/*
* XML Security Library (http://www.aleksey.com/xmlsec).
*
* Version information
@@ -19,9 +19,9 @@ extern "C" {
* XMLSEC_VERSION:
*
* The library version string in the format
- * "<major-number>.<minor-number>.<sub-minor-number>".
+ * "$major_number.$minor_number.$sub_minor_number".
*/
-#define XMLSEC_VERSION "1.2.23"
+#define XMLSEC_VERSION "1.2.24"
/**
* XMLSEC_VERSION_MAJOR:
@@ -42,15 +42,15 @@ extern "C" {
*
* The library sub-minor version number.
*/
-#define XMLSEC_VERSION_SUBMINOR 23
+#define XMLSEC_VERSION_SUBMINOR 24
/**
* XMLSEC_VERSION_INFO:
*
* The library version info string in the format
- * "<major-number>+<minor-number>:<sub-minor-number>:<minor-number>".
+ * "$major_number+$minor_number:$sub_minor_number:$minor_number".
*/
-#define XMLSEC_VERSION_INFO "3:23:2"
+#define XMLSEC_VERSION_INFO "3:24:2"
#ifdef __cplusplus
diff --git a/include/xmlsec/version.h.in b/include/xmlsec/version.h.in
index 6679205..31cee4b 100644
--- a/include/xmlsec/version.h.in
+++ b/include/xmlsec/version.h.in
@@ -1,4 +1,4 @@
-/**
+/*
* XML Security Library (http://www.aleksey.com/xmlsec).
*
* Version information
@@ -19,7 +19,7 @@ extern "C" {
* XMLSEC_VERSION:
*
* The library version string in the format
- * "<major-number>.<minor-number>.<sub-minor-number>".
+ * "$major_number.$minor_number.$sub_minor_number".
*/
#define XMLSEC_VERSION "@XMLSEC_VERSION@"
@@ -48,7 +48,7 @@ extern "C" {
* XMLSEC_VERSION_INFO:
*
* The library version info string in the format
- * "<major-number>+<minor-number>:<sub-minor-number>:<minor-number>".
+ * "$major_number+$minor_number:$sub_minor_number:$minor_number".
*/
#define XMLSEC_VERSION_INFO "@XMLSEC_VERSION_INFO@"
diff --git a/include/xmlsec/x509.h b/include/xmlsec/x509.h
index a53098a..731e63d 100644
--- a/include/xmlsec/x509.h
+++ b/include/xmlsec/x509.h
@@ -1,4 +1,4 @@
-/**
+/*
* XML Security Library (http://www.aleksey.com/xmlsec).
*
* This is free software; see Copyright file in the source
diff --git a/include/xmlsec/xmldsig.h b/include/xmlsec/xmldsig.h
index ec59f4d..57e36c6 100644
--- a/include/xmlsec/xmldsig.h
+++ b/include/xmlsec/xmldsig.h
@@ -1,4 +1,4 @@
-/**
+/*
* XML Security Library (http://www.aleksey.com/xmlsec).
*
* "XML Digital Signature" implementation
diff --git a/include/xmlsec/xmlenc.h b/include/xmlsec/xmlenc.h
index 0253e3e..85d7283 100644
--- a/include/xmlsec/xmlenc.h
+++ b/include/xmlsec/xmlenc.h
@@ -1,4 +1,4 @@
-/**
+/*
* XML Security Library (http://www.aleksey.com/xmlsec).
*
* "XML Encryption" implementation
diff --git a/include/xmlsec/xmlsec.h b/include/xmlsec/xmlsec.h
index 963b37a..69d765f 100644
--- a/include/xmlsec/xmlsec.h
+++ b/include/xmlsec/xmlsec.h
@@ -1,4 +1,4 @@
-/**
+/*
* XML Security Library (http://www.aleksey.com/xmlsec).
*
* General functions and forward declarations.
@@ -86,6 +86,7 @@ typedef struct _xmlSecEncCtx xmlSecEncCtx, *xmlSecEncCtxPtr;
XMLSEC_EXPORT int xmlSecInit (void);
XMLSEC_EXPORT int xmlSecShutdown (void);
XMLSEC_EXPORT const xmlChar * xmlSecGetDefaultCrypto (void);
+XMLSEC_EXPORT void xmlSecSetExternalEntityLoader (xmlExternalEntityLoader);
/**
* XMLSEC_CRYPTO:
@@ -97,6 +98,19 @@ XMLSEC_EXPORT const xmlChar * xmlSecGetDefaultCrypto (void);
*/
#define XMLSEC_CRYPTO (xmlSecGetDefaultCrypto())
+/*
+ * XMLSEC_DEPRECATED function definition
+ */
+#ifdef __GNUC__
+#define XMLSEC_DEPRECATED __attribute__((deprecated))
+#elif defined(_MSC_VER)
+#define XMLSEC_DEPRECATED __declspec(deprecated)
+#else /* defined(_MSC_VER) */
+#pragma message("WARNING: You need to implement XMLSEC_DEPRECATED for this compiler")
+#define XMLSEC_DEPRECATED
+#endif /* defined(_MSC_VER) */
+
+
/***********************************************************************
*
* Version checking
@@ -139,79 +153,6 @@ XMLSEC_EXPORT int xmlSecCheckVersionExt (int major,
int subminor,
xmlSecCheckVersionMode mode);
-/**
- * ATTRIBUTE_UNUSED:
- *
- * Macro used to signal to GCC unused function parameters
- */
-#ifdef __GNUC__
-#ifdef HAVE_ANSIDECL_H
-#include <ansidecl.h>
-#endif
-#ifndef ATTRIBUTE_UNUSED
-#define ATTRIBUTE_UNUSED
-#endif
-#else
-#define ATTRIBUTE_UNUSED
-#endif
-
-/***********************************************************************
- *
- * Helpers to convert from void* to function pointer, this silence
- * gcc warning
- *
- * warning: ISO C forbids conversion of object pointer to function
- * pointer type
- *
- * The workaround is to declare a union that does the conversion. This is
- * guaranteed (ISO/IEC 9899:1990 "C89"/"C90") to match exactly.
- *
- ***********************************************************************/
-
-/**
- * XMLSEC_PTR_TO_FUNC_IMPL:
- * @func_type: the function type.
- *
- * Macro declares helper functions to convert between "void *" pointer and
- * function pointer.
- */
-#define XMLSEC_PTR_TO_FUNC_IMPL(func_type) \
- union xmlSecPtrToFuncUnion_ ##func_type { \
- void *ptr; \
- func_type * func; \
- } ; \
- static func_type * xmlSecPtrToFunc_ ##func_type(void * ptr) { \
- union xmlSecPtrToFuncUnion_ ##func_type x; \
- x.ptr = ptr; \
- return (x.func); \
- } \
- static void * xmlSecFuncToPtr_ ##func_type(func_type * func) { \
- union xmlSecPtrToFuncUnion_ ##func_type x; \
- x.func = func; \
- return (x.ptr); \
- }
-
-/**
- * XMLSEC_PTR_TO_FUNC:
- * @func_type: the function type.
- * @ptr: the "void*" pointer to be converted.
- *
- * Macro converts from "void*" pointer to "func_type" function pointer.
- */
-#define XMLSEC_PTR_TO_FUNC(func_type, ptr) \
- xmlSecPtrToFunc_ ##func_type((ptr))
-
-/**
- * XMLSEC_FUNC_TO_PTR:
- * @func_type: the function type.
- * @func: the "func_type" function pointer to be converted.
- *
- * Macro converts from "func_type" function pointer to "void*" pointer.
- */
-#define XMLSEC_FUNC_TO_PTR(func_type, func) \
- xmlSecFuncToPtr_ ##func_type((func))
-
-
#ifdef __cplusplus
}
#endif /* __cplusplus */
diff --git a/include/xmlsec/xmltree.h b/include/xmlsec/xmltree.h
index b26a092..64df99a 100644
--- a/include/xmlsec/xmltree.h
+++ b/include/xmlsec/xmltree.h
@@ -1,4 +1,4 @@
-/**
+/*
* XML Security Library (http://www.aleksey.com/xmlsec).
*
* Common XML utility functions
@@ -88,11 +88,11 @@ XMLSEC_EXPORT int xmlSecNodeEncodeAndSetContent
XMLSEC_EXPORT void xmlSecAddIDs (xmlDocPtr doc,
xmlNodePtr cur,
const xmlChar** ids);
-XMLSEC_EXPORT int xmlSecGenerateAndAddID (xmlNodePtr node,
+XMLSEC_DEPRECATED XMLSEC_EXPORT int xmlSecGenerateAndAddID (xmlNodePtr node,
const xmlChar* attrName,
const xmlChar* prefix,
xmlSecSize len);
-XMLSEC_EXPORT xmlChar* xmlSecGenerateID (const xmlChar* prefix,
+XMLSEC_DEPRECATED XMLSEC_EXPORT xmlChar* xmlSecGenerateID (const xmlChar* prefix,
xmlSecSize len);
XMLSEC_EXPORT xmlDocPtr xmlSecCreateTree (const xmlChar* rootNodeName,
diff --git a/install-sh b/install-sh
index 0b0fdcb..59990a1 100755
--- a/install-sh
+++ b/install-sh
@@ -1,7 +1,7 @@
#!/bin/sh
# install - install a program, script, or datafile
-scriptversion=2013-12-25.23; # UTC
+scriptversion=2014-09-12.12; # UTC
# This originates from X11R5 (mit/util/scripts/install.sh), which was
# later released in X11R6 (xc/config/util/install.sh) with the
@@ -324,34 +324,41 @@ do
# is incompatible with FreeBSD 'install' when (umask & 300) != 0.
;;
*)
+ # $RANDOM is not portable (e.g. dash); use it when possible to
+ # lower collision chance
tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
- trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0
+ trap 'ret=$?; rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir" 2>/dev/null; exit $ret' 0
+ # As "mkdir -p" follows symlinks and we work in /tmp possibly; so
+ # create the $tmpdir first (and fail if unsuccessful) to make sure
+ # that nobody tries to guess the $tmpdir name.
if (umask $mkdir_umask &&
- exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1
+ $mkdirprog $mkdir_mode "$tmpdir" &&
+ exec $mkdirprog $mkdir_mode -p -- "$tmpdir/a/b") >/dev/null 2>&1
then
if test -z "$dir_arg" || {
# Check for POSIX incompatibilities with -m.
# HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
# other-writable bit of parent directory when it shouldn't.
# FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
- ls_ld_tmpdir=`ls -ld "$tmpdir"`
+ test_tmpdir="$tmpdir/a"
+ ls_ld_tmpdir=`ls -ld "$test_tmpdir"`
case $ls_ld_tmpdir in
d????-?r-*) different_mode=700;;
d????-?--*) different_mode=755;;
*) false;;
esac &&
- $mkdirprog -m$different_mode -p -- "$tmpdir" && {
- ls_ld_tmpdir_1=`ls -ld "$tmpdir"`
+ $mkdirprog -m$different_mode -p -- "$test_tmpdir" && {
+ ls_ld_tmpdir_1=`ls -ld "$test_tmpdir"`
test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
}
}
then posix_mkdir=:
fi
- rmdir "$tmpdir/d" "$tmpdir"
+ rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir"
else
# Remove any dirs left behind by ancient mkdir implementations.
- rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null
+ rmdir ./$mkdir_mode ./-p ./-- "$tmpdir" 2>/dev/null
fi
trap '' 0;;
esac;;
diff --git a/ltmain.sh b/ltmain.sh
index bffda54..147d758 100644
--- a/ltmain.sh
+++ b/ltmain.sh
@@ -1,9 +1,12 @@
+#! /bin/sh
+## DO NOT EDIT - This file generated from ./build-aux/ltmain.in
+## by inline-source v2014-01-03.01
-# libtool (GNU libtool) 2.4.2
+# libtool (GNU libtool) 2.4.6
+# Provide generalized library-building support services.
# Written by Gordon Matzigkeit <gord at gnu.ai.mit.edu>, 1996
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006,
-# 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
+# Copyright (C) 1996-2015 Free Software Foundation, Inc.
# This is free software; see the source for copying conditions. There is NO
# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
@@ -23,881 +26,2112 @@
# General Public License for more details.
#
# You should have received a copy of the GNU General Public License
-# along with GNU Libtool; see the file COPYING. If not, a copy
-# can be downloaded from http://www.gnu.org/licenses/gpl.html,
-# or obtained by writing to the Free Software Foundation, Inc.,
-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
-# Usage: $progname [OPTION]... [MODE-ARG]...
-#
-# Provide generalized library-building support services.
-#
-# --config show all configuration variables
-# --debug enable verbose shell tracing
-# -n, --dry-run display commands without modifying any files
-# --features display basic configuration information and exit
-# --mode=MODE use operation mode MODE
-# --preserve-dup-deps don't remove duplicate dependency libraries
-# --quiet, --silent don't print informational messages
-# --no-quiet, --no-silent
-# print informational messages (default)
-# --no-warn don't display warning messages
-# --tag=TAG use configuration variables from tag TAG
-# -v, --verbose print more informational messages than default
-# --no-verbose don't print the extra informational messages
-# --version print version information
-# -h, --help, --help-all print short, long, or detailed help message
-#
-# MODE must be one of the following:
-#
-# clean remove files from the build directory
-# compile compile a source file into a libtool object
-# execute automatically set library path, then run a program
-# finish complete the installation of libtool libraries
-# install install libraries or executables
-# link create a library or an executable
-# uninstall remove libraries from an installed directory
-#
-# MODE-ARGS vary depending on the MODE. When passed as first option,
-# `--mode=MODE' may be abbreviated as `MODE' or a unique abbreviation of that.
-# Try `$progname --help --mode=MODE' for a more detailed description of MODE.
-#
-# When reporting a bug, please describe a test case to reproduce it and
-# include the following information:
-#
-# host-triplet: $host
-# shell: $SHELL
-# compiler: $LTCC
-# compiler flags: $LTCFLAGS
-# linker: $LD (gnu? $with_gnu_ld)
-# $progname: (GNU libtool) 2.4.2 Debian-2.4.2-1.11
-# automake: $automake_version
-# autoconf: $autoconf_version
-#
-# Report bugs to <bug-libtool at gnu.org>.
-# GNU libtool home page: <http://www.gnu.org/software/libtool/>.
-# General help using GNU software: <http://www.gnu.org/gethelp/>.
PROGRAM=libtool
PACKAGE=libtool
-VERSION="2.4.2 Debian-2.4.2-1.11"
-TIMESTAMP=""
-package_revision=1.3337
+VERSION="2.4.6 Debian-2.4.6-0.1"
+package_revision=2.4.6
-# Be Bourne compatible
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+
+## ------ ##
+## Usage. ##
+## ------ ##
+
+# Run './libtool --help' for help with using this script from the
+# command line.
+
+
+## ------------------------------- ##
+## User overridable command paths. ##
+## ------------------------------- ##
+
+# After configure completes, it has a better idea of some of the
+# shell tools we need than the defaults used by the functions shared
+# with bootstrap, so set those here where they can still be over-
+# ridden by the user, but otherwise take precedence.
+
+: ${AUTOCONF="autoconf"}
+: ${AUTOMAKE="automake"}
+
+
+## -------------------------- ##
+## Source external libraries. ##
+## -------------------------- ##
+
+# Much of our low-level functionality needs to be sourced from external
+# libraries, which are installed to $pkgauxdir.
+
+# Set a version string for this script.
+scriptversion=2015-01-20.17; # UTC
+
+# General shell script boiler plate, and helper functions.
+# Written by Gary V. Vaughan, 2004
+
+# Copyright (C) 2004-2015 Free Software Foundation, Inc.
+# This is free software; see the source for copying conditions. There is NO
+# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+
+# As a special exception to the GNU General Public License, if you distribute
+# this file as part of a program or library that is built using GNU Libtool,
+# you may include this file under the same distribution terms that you use
+# for the rest of that program.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNES FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+# Please report bugs or propose patches to gary at gnu.org.
+
+
+## ------ ##
+## Usage. ##
+## ------ ##
+
+# Evaluate this file near the top of your script to gain access to
+# the functions and variables defined here:
+#
+# . `echo "$0" | ${SED-sed} 's|[^/]*$||'`/build-aux/funclib.sh
+#
+# If you need to override any of the default environment variable
+# settings, do that before evaluating this file.
+
+
+## -------------------- ##
+## Shell normalisation. ##
+## -------------------- ##
+
+# Some shells need a little help to be as Bourne compatible as possible.
+# Before doing anything else, make sure all that help has been provided!
+
+DUALCASE=1; export DUALCASE # for MKS sh
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
emulate sh
NULLCMD=:
- # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+ # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
# is contrary to our usage. Disable this feature.
alias -g '${1+"$@"}'='"$@"'
setopt NO_GLOB_SUBST
else
- case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac
+ case `(set -o) 2>/dev/null` in *posix*) set -o posix ;; esac
fi
-BIN_SH=xpg4; export BIN_SH # for Tru64
-DUALCASE=1; export DUALCASE # for MKS sh
-
-# A function that is used when there is no print builtin or printf.
-func_fallback_echo ()
-{
- eval 'cat <<_LTECHO_EOF
-$1
-_LTECHO_EOF'
-}
-# NLS nuisances: We save the old values to restore during execute mode.
-lt_user_locale=
-lt_safe_locale=
-for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
+# NLS nuisances: We save the old values in case they are required later.
+_G_user_locale=
+_G_safe_locale=
+for _G_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
do
- eval "if test \"\${$lt_var+set}\" = set; then
- save_$lt_var=\$$lt_var
- $lt_var=C
- export $lt_var
- lt_user_locale=\"$lt_var=\\\$save_\$lt_var; \$lt_user_locale\"
- lt_safe_locale=\"$lt_var=C; \$lt_safe_locale\"
+ eval "if test set = \"\${$_G_var+set}\"; then
+ save_$_G_var=\$$_G_var
+ $_G_var=C
+ export $_G_var
+ _G_user_locale=\"$_G_var=\\\$save_\$_G_var; \$_G_user_locale\"
+ _G_safe_locale=\"$_G_var=C; \$_G_safe_locale\"
fi"
done
-LC_ALL=C
-LANGUAGE=C
-export LANGUAGE LC_ALL
-$lt_unset CDPATH
+# CDPATH.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+# Make sure IFS has a sensible default
+sp=' '
+nl='
+'
+IFS="$sp $nl"
+
+# There are apparently some retarded systems that use ';' as a PATH separator!
+if test "${PATH_SEPARATOR+set}" != set; then
+ PATH_SEPARATOR=:
+ (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
+ (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
+ PATH_SEPARATOR=';'
+ }
+fi
-# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh
-# is ksh but when the shell is invoked as "sh" and the current value of
-# the _XPG environment variable is not equal to 1 (one), the special
-# positional parameter $0, within a function call, is the name of the
-# function.
-progpath="$0"
+## ------------------------- ##
+## Locate command utilities. ##
+## ------------------------- ##
+
+
+# func_executable_p FILE
+# ----------------------
+# Check that FILE is an executable regular file.
+func_executable_p ()
+{
+ test -f "$1" && test -x "$1"
+}
+
+
+# func_path_progs PROGS_LIST CHECK_FUNC [PATH]
+# --------------------------------------------
+# Search for either a program that responds to --version with output
+# containing "GNU", or else returned by CHECK_FUNC otherwise, by
+# trying all the directories in PATH with each of the elements of
+# PROGS_LIST.
+#
+# CHECK_FUNC should accept the path to a candidate program, and
+# set $func_check_prog_result if it truncates its output less than
+# $_G_path_prog_max characters.
+func_path_progs ()
+{
+ _G_progs_list=$1
+ _G_check_func=$2
+ _G_PATH=${3-"$PATH"}
+
+ _G_path_prog_max=0
+ _G_path_prog_found=false
+ _G_save_IFS=$IFS; IFS=${PATH_SEPARATOR-:}
+ for _G_dir in $_G_PATH; do
+ IFS=$_G_save_IFS
+ test -z "$_G_dir" && _G_dir=.
+ for _G_prog_name in $_G_progs_list; do
+ for _exeext in '' .EXE; do
+ _G_path_prog=$_G_dir/$_G_prog_name$_exeext
+ func_executable_p "$_G_path_prog" || continue
+ case `"$_G_path_prog" --version 2>&1` in
+ *GNU*) func_path_progs_result=$_G_path_prog _G_path_prog_found=: ;;
+ *) $_G_check_func $_G_path_prog
+ func_path_progs_result=$func_check_prog_result
+ ;;
+ esac
+ $_G_path_prog_found && break 3
+ done
+ done
+ done
+ IFS=$_G_save_IFS
+ test -z "$func_path_progs_result" && {
+ echo "no acceptable sed could be found in \$PATH" >&2
+ exit 1
+ }
+}
+
+
+# We want to be able to use the functions in this file before configure
+# has figured out where the best binaries are kept, which means we have
+# to search for them ourselves - except when the results are already set
+# where we skip the searches.
+
+# Unless the user overrides by setting SED, search the path for either GNU
+# sed, or the sed that truncates its output the least.
+test -z "$SED" && {
+ _G_sed_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
+ for _G_i in 1 2 3 4 5 6 7; do
+ _G_sed_script=$_G_sed_script$nl$_G_sed_script
+ done
+ echo "$_G_sed_script" 2>/dev/null | sed 99q >conftest.sed
+ _G_sed_script=
+
+ func_check_prog_sed ()
+ {
+ _G_path_prog=$1
+
+ _G_count=0
+ printf 0123456789 >conftest.in
+ while :
+ do
+ cat conftest.in conftest.in >conftest.tmp
+ mv conftest.tmp conftest.in
+ cp conftest.in conftest.nl
+ echo '' >> conftest.nl
+ "$_G_path_prog" -f conftest.sed <conftest.nl >conftest.out 2>/dev/null || break
+ diff conftest.out conftest.nl >/dev/null 2>&1 || break
+ _G_count=`expr $_G_count + 1`
+ if test "$_G_count" -gt "$_G_path_prog_max"; then
+ # Best one so far, save it but keep looking for a better one
+ func_check_prog_result=$_G_path_prog
+ _G_path_prog_max=$_G_count
+ fi
+ # 10*(2^10) chars as input seems more than enough
+ test 10 -lt "$_G_count" && break
+ done
+ rm -f conftest.in conftest.tmp conftest.nl conftest.out
+ }
+
+ func_path_progs "sed gsed" func_check_prog_sed $PATH:/usr/xpg4/bin
+ rm -f conftest.sed
+ SED=$func_path_progs_result
+}
+
+
+# Unless the user overrides by setting GREP, search the path for either GNU
+# grep, or the grep that truncates its output the least.
+test -z "$GREP" && {
+ func_check_prog_grep ()
+ {
+ _G_path_prog=$1
+
+ _G_count=0
+ _G_path_prog_max=0
+ printf 0123456789 >conftest.in
+ while :
+ do
+ cat conftest.in conftest.in >conftest.tmp
+ mv conftest.tmp conftest.in
+ cp conftest.in conftest.nl
+ echo 'GREP' >> conftest.nl
+ "$_G_path_prog" -e 'GREP$' -e '-(cannot match)-' <conftest.nl >conftest.out 2>/dev/null || break
+ diff conftest.out conftest.nl >/dev/null 2>&1 || break
+ _G_count=`expr $_G_count + 1`
+ if test "$_G_count" -gt "$_G_path_prog_max"; then
+ # Best one so far, save it but keep looking for a better one
+ func_check_prog_result=$_G_path_prog
+ _G_path_prog_max=$_G_count
+ fi
+ # 10*(2^10) chars as input seems more than enough
+ test 10 -lt "$_G_count" && break
+ done
+ rm -f conftest.in conftest.tmp conftest.nl conftest.out
+ }
+
+ func_path_progs "grep ggrep" func_check_prog_grep $PATH:/usr/xpg4/bin
+ GREP=$func_path_progs_result
+}
+
+
+## ------------------------------- ##
+## User overridable command paths. ##
+## ------------------------------- ##
+
+# All uppercase variable names are used for environment variables. These
+# variables can be overridden by the user before calling a script that
+# uses them if a suitable command of that name is not already available
+# in the command search PATH.
: ${CP="cp -f"}
-test "${ECHO+set}" = set || ECHO=${as_echo-'printf %s\n'}
+: ${ECHO="printf %s\n"}
+: ${EGREP="$GREP -E"}
+: ${FGREP="$GREP -F"}
+: ${LN_S="ln -s"}
: ${MAKE="make"}
: ${MKDIR="mkdir"}
: ${MV="mv -f"}
: ${RM="rm -f"}
: ${SHELL="${CONFIG_SHELL-/bin/sh}"}
-: ${Xsed="$SED -e 1s/^X//"}
-
-# Global variables:
-EXIT_SUCCESS=0
-EXIT_FAILURE=1
-EXIT_MISMATCH=63 # $? = 63 is used to indicate version mismatch to missing.
-EXIT_SKIP=77 # $? = 77 is used to indicate a skipped test to automake.
-
-exit_status=$EXIT_SUCCESS
-
-# Make sure IFS has a sensible default
-lt_nl='
-'
-IFS=" $lt_nl"
-dirname="s,/[^/]*$,,"
-basename="s,^.*/,,"
-# func_dirname file append nondir_replacement
-# Compute the dirname of FILE. If nonempty, add APPEND to the result,
-# otherwise set result to NONDIR_REPLACEMENT.
-func_dirname ()
-{
- func_dirname_result=`$ECHO "${1}" | $SED "$dirname"`
- if test "X$func_dirname_result" = "X${1}"; then
- func_dirname_result="${3}"
- else
- func_dirname_result="$func_dirname_result${2}"
- fi
-} # func_dirname may be replaced by extended shell implementation
+## -------------------- ##
+## Useful sed snippets. ##
+## -------------------- ##
+sed_dirname='s|/[^/]*$||'
+sed_basename='s|^.*/||'
-# func_basename file
-func_basename ()
-{
- func_basename_result=`$ECHO "${1}" | $SED "$basename"`
-} # func_basename may be replaced by extended shell implementation
+# Sed substitution that helps us do robust quoting. It backslashifies
+# metacharacters that are still active within double-quoted strings.
+sed_quote_subst='s|\([`"$\\]\)|\\\1|g'
+# Same as above, but do not quote variable references.
+sed_double_quote_subst='s/\(["`\\]\)/\\\1/g'
-# func_dirname_and_basename file append nondir_replacement
-# perform func_basename and func_dirname in a single function
-# call:
-# dirname: Compute the dirname of FILE. If nonempty,
-# add APPEND to the result, otherwise set result
-# to NONDIR_REPLACEMENT.
-# value returned in "$func_dirname_result"
-# basename: Compute filename of FILE.
-# value retuned in "$func_basename_result"
-# Implementation must be kept synchronized with func_dirname
-# and func_basename. For efficiency, we do not delegate to
-# those functions but instead duplicate the functionality here.
-func_dirname_and_basename ()
-{
- # Extract subdirectory from the argument.
- func_dirname_result=`$ECHO "${1}" | $SED -e "$dirname"`
- if test "X$func_dirname_result" = "X${1}"; then
- func_dirname_result="${3}"
- else
- func_dirname_result="$func_dirname_result${2}"
- fi
- func_basename_result=`$ECHO "${1}" | $SED -e "$basename"`
-} # func_dirname_and_basename may be replaced by extended shell implementation
+# Sed substitution that turns a string into a regex matching for the
+# string literally.
+sed_make_literal_regex='s|[].[^$\\*\/]|\\&|g'
+# Sed substitution that converts a w32 file name or path
+# that contains forward slashes, into one that contains
+# (escaped) backslashes. A very naive implementation.
+sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g'
+
+# Re-'\' parameter expansions in output of sed_double_quote_subst that
+# were '\'-ed in input to the same. If an odd number of '\' preceded a
+# '$' in input to sed_double_quote_subst, that '$' was protected from
+# expansion. Since each input '\' is now two '\'s, look for any number
+# of runs of four '\'s followed by two '\'s and then a '$'. '\' that '$'.
+_G_bs='\\'
+_G_bs2='\\\\'
+_G_bs4='\\\\\\\\'
+_G_dollar='\$'
+sed_double_backslash="\
+ s/$_G_bs4/&\\
+/g
+ s/^$_G_bs2$_G_dollar/$_G_bs&/
+ s/\\([^$_G_bs]\\)$_G_bs2$_G_dollar/\\1$_G_bs2$_G_bs$_G_dollar/g
+ s/\n//g"
-# func_stripname prefix suffix name
-# strip PREFIX and SUFFIX off of NAME.
-# PREFIX and SUFFIX must not contain globbing or regex special
-# characters, hashes, percent signs, but SUFFIX may contain a leading
-# dot (in which case that matches only a dot).
-# func_strip_suffix prefix name
-func_stripname ()
-{
- case ${2} in
- .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;;
- *) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;;
- esac
-} # func_stripname may be replaced by extended shell implementation
+## ----------------- ##
+## Global variables. ##
+## ----------------- ##
-# These SED scripts presuppose an absolute path with a trailing slash.
-pathcar='s,^/\([^/]*\).*$,\1,'
-pathcdr='s,^/[^/]*,,'
-removedotparts=':dotsl
- s@/\./@/@g
- t dotsl
- s,/\.$,/,'
-collapseslashes='s@/\{1,\}@/@g'
-finalslash='s,/*$,/,'
+# Except for the global variables explicitly listed below, the following
+# functions in the '^func_' namespace, and the '^require_' namespace
+# variables initialised in the 'Resource management' section, sourcing
+# this file will not pollute your global namespace with anything
+# else. There's no portable way to scope variables in Bourne shell
+# though, so actually running these functions will sometimes place
+# results into a variable named after the function, and often use
+# temporary variables in the '^_G_' namespace. If you are careful to
+# avoid using those namespaces casually in your sourcing script, things
+# should continue to work as you expect. And, of course, you can freely
+# overwrite any of the functions or variables defined here before
+# calling anything to customize them.
-# func_normal_abspath PATH
-# Remove doubled-up and trailing slashes, "." path components,
-# and cancel out any ".." path components in PATH after making
-# it an absolute path.
-# value returned in "$func_normal_abspath_result"
-func_normal_abspath ()
-{
- # Start from root dir and reassemble the path.
- func_normal_abspath_result=
- func_normal_abspath_tpath=$1
- func_normal_abspath_altnamespace=
- case $func_normal_abspath_tpath in
- "")
- # Empty path, that just means $cwd.
- func_stripname '' '/' "`pwd`"
- func_normal_abspath_result=$func_stripname_result
- return
- ;;
- # The next three entries are used to spot a run of precisely
- # two leading slashes without using negated character classes;
- # we take advantage of case's first-match behaviour.
- ///*)
- # Unusual form of absolute path, do nothing.
- ;;
- //*)
- # Not necessarily an ordinary path; POSIX reserves leading '//'
- # and for example Cygwin uses it to access remote file shares
- # over CIFS/SMB, so we conserve a leading double slash if found.
- func_normal_abspath_altnamespace=/
- ;;
- /*)
- # Absolute path, do nothing.
- ;;
- *)
- # Relative path, prepend $cwd.
- func_normal_abspath_tpath=`pwd`/$func_normal_abspath_tpath
- ;;
- esac
- # Cancel out all the simple stuff to save iterations. We also want
- # the path to end with a slash for ease of parsing, so make sure
- # there is one (and only one) here.
- func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \
- -e "$removedotparts" -e "$collapseslashes" -e "$finalslash"`
- while :; do
- # Processed it all yet?
- if test "$func_normal_abspath_tpath" = / ; then
- # If we ascended to the root using ".." the result may be empty now.
- if test -z "$func_normal_abspath_result" ; then
- func_normal_abspath_result=/
- fi
- break
- fi
- func_normal_abspath_tcomponent=`$ECHO "$func_normal_abspath_tpath" | $SED \
- -e "$pathcar"`
- func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \
- -e "$pathcdr"`
- # Figure out what to do with it
- case $func_normal_abspath_tcomponent in
- "")
- # Trailing empty path component, ignore it.
- ;;
- ..)
- # Parent dir; strip last assembled component from result.
- func_dirname "$func_normal_abspath_result"
- func_normal_abspath_result=$func_dirname_result
- ;;
- *)
- # Actual path component, append it.
- func_normal_abspath_result=$func_normal_abspath_result/$func_normal_abspath_tcomponent
- ;;
- esac
- done
- # Restore leading double-slash if one was found on entry.
- func_normal_abspath_result=$func_normal_abspath_altnamespace$func_normal_abspath_result
-}
+EXIT_SUCCESS=0
+EXIT_FAILURE=1
+EXIT_MISMATCH=63 # $? = 63 is used to indicate version mismatch to missing.
+EXIT_SKIP=77 # $? = 77 is used to indicate a skipped test to automake.
-# func_relative_path SRCDIR DSTDIR
-# generates a relative path from SRCDIR to DSTDIR, with a trailing
-# slash if non-empty, suitable for immediately appending a filename
-# without needing to append a separator.
-# value returned in "$func_relative_path_result"
-func_relative_path ()
-{
- func_relative_path_result=
- func_normal_abspath "$1"
- func_relative_path_tlibdir=$func_normal_abspath_result
- func_normal_abspath "$2"
- func_relative_path_tbindir=$func_normal_abspath_result
-
- # Ascend the tree starting from libdir
- while :; do
- # check if we have found a prefix of bindir
- case $func_relative_path_tbindir in
- $func_relative_path_tlibdir)
- # found an exact match
- func_relative_path_tcancelled=
- break
- ;;
- $func_relative_path_tlibdir*)
- # found a matching prefix
- func_stripname "$func_relative_path_tlibdir" '' "$func_relative_path_tbindir"
- func_relative_path_tcancelled=$func_stripname_result
- if test -z "$func_relative_path_result"; then
- func_relative_path_result=.
- fi
- break
- ;;
- *)
- func_dirname $func_relative_path_tlibdir
- func_relative_path_tlibdir=${func_dirname_result}
- if test "x$func_relative_path_tlibdir" = x ; then
- # Have to descend all the way to the root!
- func_relative_path_result=../$func_relative_path_result
- func_relative_path_tcancelled=$func_relative_path_tbindir
- break
- fi
- func_relative_path_result=../$func_relative_path_result
- ;;
- esac
- done
+# Allow overriding, eg assuming that you follow the convention of
+# putting '$debug_cmd' at the start of all your functions, you can get
+# bash to show function call trace with:
+#
+# debug_cmd='eval echo "${FUNCNAME[0]} $*" >&2' bash your-script-name
+debug_cmd=${debug_cmd-":"}
+exit_cmd=:
- # Now calculate path; take care to avoid doubling-up slashes.
- func_stripname '' '/' "$func_relative_path_result"
- func_relative_path_result=$func_stripname_result
- func_stripname '/' '/' "$func_relative_path_tcancelled"
- if test "x$func_stripname_result" != x ; then
- func_relative_path_result=${func_relative_path_result}/${func_stripname_result}
- fi
+# By convention, finish your script with:
+#
+# exit $exit_status
+#
+# so that you can set exit_status to non-zero if you want to indicate
+# something went wrong during execution without actually bailing out at
+# the point of failure.
+exit_status=$EXIT_SUCCESS
- # Normalisation. If bindir is libdir, return empty string,
- # else relative path ending with a slash; either way, target
- # file name can be directly appended.
- if test ! -z "$func_relative_path_result"; then
- func_stripname './' '' "$func_relative_path_result/"
- func_relative_path_result=$func_stripname_result
- fi
-}
+# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh
+# is ksh but when the shell is invoked as "sh" and the current value of
+# the _XPG environment variable is not equal to 1 (one), the special
+# positional parameter $0, within a function call, is the name of the
+# function.
+progpath=$0
-# The name of this program:
-func_dirname_and_basename "$progpath"
-progname=$func_basename_result
+# The name of this program.
+progname=`$ECHO "$progpath" |$SED "$sed_basename"`
-# Make sure we have an absolute path for reexecution:
+# Make sure we have an absolute progpath for reexecution:
case $progpath in
[\\/]*|[A-Za-z]:\\*) ;;
*[\\/]*)
- progdir=$func_dirname_result
+ progdir=`$ECHO "$progpath" |$SED "$sed_dirname"`
progdir=`cd "$progdir" && pwd`
- progpath="$progdir/$progname"
+ progpath=$progdir/$progname
;;
*)
- save_IFS="$IFS"
+ _G_IFS=$IFS
IFS=${PATH_SEPARATOR-:}
for progdir in $PATH; do
- IFS="$save_IFS"
+ IFS=$_G_IFS
test -x "$progdir/$progname" && break
done
- IFS="$save_IFS"
+ IFS=$_G_IFS
test -n "$progdir" || progdir=`pwd`
- progpath="$progdir/$progname"
+ progpath=$progdir/$progname
;;
esac
-# Sed substitution that helps us do robust quoting. It backslashifies
-# metacharacters that are still active within double-quoted strings.
-Xsed="${SED}"' -e 1s/^X//'
-sed_quote_subst='s/\([`"$\\]\)/\\\1/g'
-
-# Same as above, but do not quote variable references.
-double_quote_subst='s/\(["`\\]\)/\\\1/g'
-# Sed substitution that turns a string into a regex matching for the
-# string literally.
-sed_make_literal_regex='s,[].[^$\\*\/],\\&,g'
+## ----------------- ##
+## Standard options. ##
+## ----------------- ##
-# Sed substitution that converts a w32 file name or path
-# which contains forward slashes, into one that contains
-# (escaped) backslashes. A very naive implementation.
-lt_sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g'
-
-# Re-`\' parameter expansions in output of double_quote_subst that were
-# `\'-ed in input to the same. If an odd number of `\' preceded a '$'
-# in input to double_quote_subst, that '$' was protected from expansion.
-# Since each input `\' is now two `\'s, look for any number of runs of
-# four `\'s followed by two `\'s and then a '$'. `\' that '$'.
-bs='\\'
-bs2='\\\\'
-bs4='\\\\\\\\'
-dollar='\$'
-sed_double_backslash="\
- s/$bs4/&\\
-/g
- s/^$bs2$dollar/$bs&/
- s/\\([^$bs]\\)$bs2$dollar/\\1$bs2$bs$dollar/g
- s/\n//g"
+# The following options affect the operation of the functions defined
+# below, and should be set appropriately depending on run-time para-
+# meters passed on the command line.
-# Standard options:
opt_dry_run=false
-opt_help=false
opt_quiet=false
opt_verbose=false
-opt_warning=:
-# func_echo arg...
-# Echo program name prefixed message, along with the current mode
-# name if it has been set yet.
-func_echo ()
-{
- $ECHO "$progname: ${opt_mode+$opt_mode: }$*"
-}
+# Categories 'all' and 'none' are always available. Append any others
+# you will pass as the first argument to func_warning from your own
+# code.
+warning_categories=
-# func_verbose arg...
-# Echo program name prefixed message in verbose mode only.
-func_verbose ()
-{
- $opt_verbose && func_echo ${1+"$@"}
+# By default, display warnings according to 'opt_warning_types'. Set
+# 'warning_func' to ':' to elide all warnings, or func_fatal_error to
+# treat the next displayed warning as a fatal error.
+warning_func=func_warn_and_continue
- # A bug in bash halts the script if the last line of a function
- # fails when set -e is in force, so we need another command to
- # work around that:
- :
-}
+# Set to 'all' to display all warnings, 'none' to suppress all
+# warnings, or a space delimited list of some subset of
+# 'warning_categories' to display only the listed warnings.
+opt_warning_types=all
-# func_echo_all arg...
-# Invoke $ECHO with all args, space-separated.
-func_echo_all ()
-{
- $ECHO "$*"
-}
-# func_error arg...
-# Echo program name prefixed message to standard error.
-func_error ()
-{
- $ECHO "$progname: ${opt_mode+$opt_mode: }"${1+"$@"} 1>&2
-}
+## -------------------- ##
+## Resource management. ##
+## -------------------- ##
-# func_warning arg...
-# Echo program name prefixed warning message to standard error.
-func_warning ()
-{
- $opt_warning && $ECHO "$progname: ${opt_mode+$opt_mode: }warning: "${1+"$@"} 1>&2
+# This section contains definitions for functions that each ensure a
+# particular resource (a file, or a non-empty configuration variable for
+# example) is available, and if appropriate to extract default values
+# from pertinent package files. Call them using their associated
+# 'require_*' variable to ensure that they are executed, at most, once.
+#
+# It's entirely deliberate that calling these functions can set
+# variables that don't obey the namespace limitations obeyed by the rest
+# of this file, in order that that they be as useful as possible to
+# callers.
- # bash bug again:
- :
-}
-# func_fatal_error arg...
-# Echo program name prefixed message to standard error, and exit.
-func_fatal_error ()
+# require_term_colors
+# -------------------
+# Allow display of bold text on terminals that support it.
+require_term_colors=func_require_term_colors
+func_require_term_colors ()
{
- func_error ${1+"$@"}
- exit $EXIT_FAILURE
-}
+ $debug_cmd
+
+ test -t 1 && {
+ # COLORTERM and USE_ANSI_COLORS environment variables take
+ # precedence, because most terminfo databases neglect to describe
+ # whether color sequences are supported.
+ test -n "${COLORTERM+set}" && : ${USE_ANSI_COLORS="1"}
+
+ if test 1 = "$USE_ANSI_COLORS"; then
+ # Standard ANSI escape sequences
+ tc_reset='[0m'
+ tc_bold='[1m'; tc_standout='[7m'
+ tc_red='[31m'; tc_green='[32m'
+ tc_blue='[34m'; tc_cyan='[36m'
+ else
+ # Otherwise trust the terminfo database after all.
+ test -n "`tput sgr0 2>/dev/null`" && {
+ tc_reset=`tput sgr0`
+ test -n "`tput bold 2>/dev/null`" && tc_bold=`tput bold`
+ tc_standout=$tc_bold
+ test -n "`tput smso 2>/dev/null`" && tc_standout=`tput smso`
+ test -n "`tput setaf 1 2>/dev/null`" && tc_red=`tput setaf 1`
+ test -n "`tput setaf 2 2>/dev/null`" && tc_green=`tput setaf 2`
+ test -n "`tput setaf 4 2>/dev/null`" && tc_blue=`tput setaf 4`
+ test -n "`tput setaf 5 2>/dev/null`" && tc_cyan=`tput setaf 5`
+ }
+ fi
+ }
-# func_fatal_help arg...
-# Echo program name prefixed message to standard error, followed by
-# a help hint, and exit.
-func_fatal_help ()
-{
- func_error ${1+"$@"}
- func_fatal_error "$help"
+ require_term_colors=:
}
-help="Try \`$progname --help' for more information." ## default
-# func_grep expression filename
+## ----------------- ##
+## Function library. ##
+## ----------------- ##
+
+# This section contains a variety of useful functions to call in your
+# scripts. Take note of the portable wrappers for features provided by
+# some modern shells, which will fall back to slower equivalents on
+# less featureful shells.
+
+
+# func_append VAR VALUE
+# ---------------------
+# Append VALUE onto the existing contents of VAR.
+
+ # We should try to minimise forks, especially on Windows where they are
+ # unreasonably slow, so skip the feature probes when bash or zsh are
+ # being used:
+ if test set = "${BASH_VERSION+set}${ZSH_VERSION+set}"; then
+ : ${_G_HAVE_ARITH_OP="yes"}
+ : ${_G_HAVE_XSI_OPS="yes"}
+ # The += operator was introduced in bash 3.1
+ case $BASH_VERSION in
+ [12].* | 3.0 | 3.0*) ;;
+ *)
+ : ${_G_HAVE_PLUSEQ_OP="yes"}
+ ;;
+ esac
+ fi
+
+ # _G_HAVE_PLUSEQ_OP
+ # Can be empty, in which case the shell is probed, "yes" if += is
+ # useable or anything else if it does not work.
+ test -z "$_G_HAVE_PLUSEQ_OP" \
+ && (eval 'x=a; x+=" b"; test "a b" = "$x"') 2>/dev/null \
+ && _G_HAVE_PLUSEQ_OP=yes
+
+if test yes = "$_G_HAVE_PLUSEQ_OP"
+then
+ # This is an XSI compatible shell, allowing a faster implementation...
+ eval 'func_append ()
+ {
+ $debug_cmd
+
+ eval "$1+=\$2"
+ }'
+else
+ # ...otherwise fall back to using expr, which is often a shell builtin.
+ func_append ()
+ {
+ $debug_cmd
+
+ eval "$1=\$$1\$2"
+ }
+fi
+
+
+# func_append_quoted VAR VALUE
+# ----------------------------
+# Quote VALUE and append to the end of shell variable VAR, separated
+# by a space.
+if test yes = "$_G_HAVE_PLUSEQ_OP"; then
+ eval 'func_append_quoted ()
+ {
+ $debug_cmd
+
+ func_quote_for_eval "$2"
+ eval "$1+=\\ \$func_quote_for_eval_result"
+ }'
+else
+ func_append_quoted ()
+ {
+ $debug_cmd
+
+ func_quote_for_eval "$2"
+ eval "$1=\$$1\\ \$func_quote_for_eval_result"
+ }
+fi
+
+
+# func_append_uniq VAR VALUE
+# --------------------------
+# Append unique VALUE onto the existing contents of VAR, assuming
+# entries are delimited by the first character of VALUE. For example:
+#
+# func_append_uniq options " --another-option option-argument"
+#
+# will only append to $options if " --another-option option-argument "
+# is not already present somewhere in $options already (note spaces at
+# each end implied by leading space in second argument).
+func_append_uniq ()
+{
+ $debug_cmd
+
+ eval _G_current_value='`$ECHO $'$1'`'
+ _G_delim=`expr "$2" : '\(.\)'`
+
+ case $_G_delim$_G_current_value$_G_delim in
+ *"$2$_G_delim"*) ;;
+ *) func_append "$@" ;;
+ esac
+}
+
+
+# func_arith TERM...
+# ------------------
+# Set func_arith_result to the result of evaluating TERMs.
+ test -z "$_G_HAVE_ARITH_OP" \
+ && (eval 'test 2 = $(( 1 + 1 ))') 2>/dev/null \
+ && _G_HAVE_ARITH_OP=yes
+
+if test yes = "$_G_HAVE_ARITH_OP"; then
+ eval 'func_arith ()
+ {
+ $debug_cmd
+
+ func_arith_result=$(( $* ))
+ }'
+else
+ func_arith ()
+ {
+ $debug_cmd
+
+ func_arith_result=`expr "$@"`
+ }
+fi
+
+
+# func_basename FILE
+# ------------------
+# Set func_basename_result to FILE with everything up to and including
+# the last / stripped.
+if test yes = "$_G_HAVE_XSI_OPS"; then
+ # If this shell supports suffix pattern removal, then use it to avoid
+ # forking. Hide the definitions single quotes in case the shell chokes
+ # on unsupported syntax...
+ _b='func_basename_result=${1##*/}'
+ _d='case $1 in
+ */*) func_dirname_result=${1%/*}$2 ;;
+ * ) func_dirname_result=$3 ;;
+ esac'
+
+else
+ # ...otherwise fall back to using sed.
+ _b='func_basename_result=`$ECHO "$1" |$SED "$sed_basename"`'
+ _d='func_dirname_result=`$ECHO "$1" |$SED "$sed_dirname"`
+ if test "X$func_dirname_result" = "X$1"; then
+ func_dirname_result=$3
+ else
+ func_append func_dirname_result "$2"
+ fi'
+fi
+
+eval 'func_basename ()
+{
+ $debug_cmd
+
+ '"$_b"'
+}'
+
+
+# func_dirname FILE APPEND NONDIR_REPLACEMENT
+# -------------------------------------------
+# Compute the dirname of FILE. If nonempty, add APPEND to the result,
+# otherwise set result to NONDIR_REPLACEMENT.
+eval 'func_dirname ()
+{
+ $debug_cmd
+
+ '"$_d"'
+}'
+
+
+# func_dirname_and_basename FILE APPEND NONDIR_REPLACEMENT
+# --------------------------------------------------------
+# Perform func_basename and func_dirname in a single function
+# call:
+# dirname: Compute the dirname of FILE. If nonempty,
+# add APPEND to the result, otherwise set result
+# to NONDIR_REPLACEMENT.
+# value returned in "$func_dirname_result"
+# basename: Compute filename of FILE.
+# value retuned in "$func_basename_result"
+# For efficiency, we do not delegate to the functions above but instead
+# duplicate the functionality here.
+eval 'func_dirname_and_basename ()
+{
+ $debug_cmd
+
+ '"$_b"'
+ '"$_d"'
+}'
+
+
+# func_echo ARG...
+# ----------------
+# Echo program name prefixed message.
+func_echo ()
+{
+ $debug_cmd
+
+ _G_message=$*
+
+ func_echo_IFS=$IFS
+ IFS=$nl
+ for _G_line in $_G_message; do
+ IFS=$func_echo_IFS
+ $ECHO "$progname: $_G_line"
+ done
+ IFS=$func_echo_IFS
+}
+
+
+# func_echo_all ARG...
+# --------------------
+# Invoke $ECHO with all args, space-separated.
+func_echo_all ()
+{
+ $ECHO "$*"
+}
+
+
+# func_echo_infix_1 INFIX ARG...
+# ------------------------------
+# Echo program name, followed by INFIX on the first line, with any
+# additional lines not showing INFIX.
+func_echo_infix_1 ()
+{
+ $debug_cmd
+
+ $require_term_colors
+
+ _G_infix=$1; shift
+ _G_indent=$_G_infix
+ _G_prefix="$progname: $_G_infix: "
+ _G_message=$*
+
+ # Strip color escape sequences before counting printable length
+ for _G_tc in "$tc_reset" "$tc_bold" "$tc_standout" "$tc_red" "$tc_green" "$tc_blue" "$tc_cyan"
+ do
+ test -n "$_G_tc" && {
+ _G_esc_tc=`$ECHO "$_G_tc" | $SED "$sed_make_literal_regex"`
+ _G_indent=`$ECHO "$_G_indent" | $SED "s|$_G_esc_tc||g"`
+ }
+ done
+ _G_indent="$progname: "`echo "$_G_indent" | $SED 's|.| |g'`" " ## exclude from sc_prohibit_nested_quotes
+
+ func_echo_infix_1_IFS=$IFS
+ IFS=$nl
+ for _G_line in $_G_message; do
+ IFS=$func_echo_infix_1_IFS
+ $ECHO "$_G_prefix$tc_bold$_G_line$tc_reset" >&2
+ _G_prefix=$_G_indent
+ done
+ IFS=$func_echo_infix_1_IFS
+}
+
+
+# func_error ARG...
+# -----------------
+# Echo program name prefixed message to standard error.
+func_error ()
+{
+ $debug_cmd
+
+ $require_term_colors
+
+ func_echo_infix_1 " $tc_standout${tc_red}error$tc_reset" "$*" >&2
+}
+
+
+# func_fatal_error ARG...
+# -----------------------
+# Echo program name prefixed message to standard error, and exit.
+func_fatal_error ()
+{
+ $debug_cmd
+
+ func_error "$*"
+ exit $EXIT_FAILURE
+}
+
+
+# func_grep EXPRESSION FILENAME
+# -----------------------------
# Check whether EXPRESSION matches any line of FILENAME, without output.
func_grep ()
{
+ $debug_cmd
+
$GREP "$1" "$2" >/dev/null 2>&1
}
-# func_mkdir_p directory-path
+# func_len STRING
+# ---------------
+# Set func_len_result to the length of STRING. STRING may not
+# start with a hyphen.
+ test -z "$_G_HAVE_XSI_OPS" \
+ && (eval 'x=a/b/c;
+ test 5aa/bb/cc = "${#x}${x%%/*}${x%/*}${x#*/}${x##*/}"') 2>/dev/null \
+ && _G_HAVE_XSI_OPS=yes
+
+if test yes = "$_G_HAVE_XSI_OPS"; then
+ eval 'func_len ()
+ {
+ $debug_cmd
+
+ func_len_result=${#1}
+ }'
+else
+ func_len ()
+ {
+ $debug_cmd
+
+ func_len_result=`expr "$1" : ".*" 2>/dev/null || echo $max_cmd_len`
+ }
+fi
+
+
+# func_mkdir_p DIRECTORY-PATH
+# ---------------------------
# Make sure the entire path to DIRECTORY-PATH is available.
func_mkdir_p ()
{
- my_directory_path="$1"
- my_dir_list=
+ $debug_cmd
- if test -n "$my_directory_path" && test "$opt_dry_run" != ":"; then
+ _G_directory_path=$1
+ _G_dir_list=
- # Protect directory names starting with `-'
- case $my_directory_path in
- -*) my_directory_path="./$my_directory_path" ;;
+ if test -n "$_G_directory_path" && test : != "$opt_dry_run"; then
+
+ # Protect directory names starting with '-'
+ case $_G_directory_path in
+ -*) _G_directory_path=./$_G_directory_path ;;
esac
# While some portion of DIR does not yet exist...
- while test ! -d "$my_directory_path"; do
+ while test ! -d "$_G_directory_path"; do
# ...make a list in topmost first order. Use a colon delimited
# list incase some portion of path contains whitespace.
- my_dir_list="$my_directory_path:$my_dir_list"
+ _G_dir_list=$_G_directory_path:$_G_dir_list
# If the last portion added has no slash in it, the list is done
- case $my_directory_path in */*) ;; *) break ;; esac
+ case $_G_directory_path in */*) ;; *) break ;; esac
# ...otherwise throw away the child directory and loop
- my_directory_path=`$ECHO "$my_directory_path" | $SED -e "$dirname"`
+ _G_directory_path=`$ECHO "$_G_directory_path" | $SED -e "$sed_dirname"`
done
- my_dir_list=`$ECHO "$my_dir_list" | $SED 's,:*$,,'`
+ _G_dir_list=`$ECHO "$_G_dir_list" | $SED 's|:*$||'`
- save_mkdir_p_IFS="$IFS"; IFS=':'
- for my_dir in $my_dir_list; do
- IFS="$save_mkdir_p_IFS"
- # mkdir can fail with a `File exist' error if two processes
+ func_mkdir_p_IFS=$IFS; IFS=:
+ for _G_dir in $_G_dir_list; do
+ IFS=$func_mkdir_p_IFS
+ # mkdir can fail with a 'File exist' error if two processes
# try to create one of the directories concurrently. Don't
# stop in that case!
- $MKDIR "$my_dir" 2>/dev/null || :
+ $MKDIR "$_G_dir" 2>/dev/null || :
done
- IFS="$save_mkdir_p_IFS"
+ IFS=$func_mkdir_p_IFS
# Bail out if we (or some other process) failed to create a directory.
- test -d "$my_directory_path" || \
- func_fatal_error "Failed to create \`$1'"
+ test -d "$_G_directory_path" || \
+ func_fatal_error "Failed to create '$1'"
fi
}
-# func_mktempdir [string]
+# func_mktempdir [BASENAME]
+# -------------------------
# Make a temporary directory that won't clash with other running
# libtool processes, and avoids race conditions if possible. If
-# given, STRING is the basename for that directory.
+# given, BASENAME is the basename for that directory.
func_mktempdir ()
{
- my_template="${TMPDIR-/tmp}/${1-$progname}"
+ $debug_cmd
+
+ _G_template=${TMPDIR-/tmp}/${1-$progname}
- if test "$opt_dry_run" = ":"; then
+ if test : = "$opt_dry_run"; then
# Return a directory name, but don't create it in dry-run mode
- my_tmpdir="${my_template}-$$"
+ _G_tmpdir=$_G_template-$$
else
# If mktemp works, use that first and foremost
- my_tmpdir=`mktemp -d "${my_template}-XXXXXXXX" 2>/dev/null`
+ _G_tmpdir=`mktemp -d "$_G_template-XXXXXXXX" 2>/dev/null`
- if test ! -d "$my_tmpdir"; then
+ if test ! -d "$_G_tmpdir"; then
# Failing that, at least try and use $RANDOM to avoid a race
- my_tmpdir="${my_template}-${RANDOM-0}$$"
+ _G_tmpdir=$_G_template-${RANDOM-0}$$
- save_mktempdir_umask=`umask`
+ func_mktempdir_umask=`umask`
umask 0077
- $MKDIR "$my_tmpdir"
- umask $save_mktempdir_umask
+ $MKDIR "$_G_tmpdir"
+ umask $func_mktempdir_umask
fi
# If we're not in dry-run mode, bomb out on failure
- test -d "$my_tmpdir" || \
- func_fatal_error "cannot create temporary directory \`$my_tmpdir'"
+ test -d "$_G_tmpdir" || \
+ func_fatal_error "cannot create temporary directory '$_G_tmpdir'"
+ fi
+
+ $ECHO "$_G_tmpdir"
+}
+
+
+# func_normal_abspath PATH
+# ------------------------
+# Remove doubled-up and trailing slashes, "." path components,
+# and cancel out any ".." path components in PATH after making
+# it an absolute path.
+func_normal_abspath ()
+{
+ $debug_cmd
+
+ # These SED scripts presuppose an absolute path with a trailing slash.
+ _G_pathcar='s|^/\([^/]*\).*$|\1|'
+ _G_pathcdr='s|^/[^/]*||'
+ _G_removedotparts=':dotsl
+ s|/\./|/|g
+ t dotsl
+ s|/\.$|/|'
+ _G_collapseslashes='s|/\{1,\}|/|g'
+ _G_finalslash='s|/*$|/|'
+
+ # Start from root dir and reassemble the path.
+ func_normal_abspath_result=
+ func_normal_abspath_tpath=$1
+ func_normal_abspath_altnamespace=
+ case $func_normal_abspath_tpath in
+ "")
+ # Empty path, that just means $cwd.
+ func_stripname '' '/' "`pwd`"
+ func_normal_abspath_result=$func_stripname_result
+ return
+ ;;
+ # The next three entries are used to spot a run of precisely
+ # two leading slashes without using negated character classes;
+ # we take advantage of case's first-match behaviour.
+ ///*)
+ # Unusual form of absolute path, do nothing.
+ ;;
+ //*)
+ # Not necessarily an ordinary path; POSIX reserves leading '//'
+ # and for example Cygwin uses it to access remote file shares
+ # over CIFS/SMB, so we conserve a leading double slash if found.
+ func_normal_abspath_altnamespace=/
+ ;;
+ /*)
+ # Absolute path, do nothing.
+ ;;
+ *)
+ # Relative path, prepend $cwd.
+ func_normal_abspath_tpath=`pwd`/$func_normal_abspath_tpath
+ ;;
+ esac
+
+ # Cancel out all the simple stuff to save iterations. We also want
+ # the path to end with a slash for ease of parsing, so make sure
+ # there is one (and only one) here.
+ func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \
+ -e "$_G_removedotparts" -e "$_G_collapseslashes" -e "$_G_finalslash"`
+ while :; do
+ # Processed it all yet?
+ if test / = "$func_normal_abspath_tpath"; then
+ # If we ascended to the root using ".." the result may be empty now.
+ if test -z "$func_normal_abspath_result"; then
+ func_normal_abspath_result=/
+ fi
+ break
+ fi
+ func_normal_abspath_tcomponent=`$ECHO "$func_normal_abspath_tpath" | $SED \
+ -e "$_G_pathcar"`
+ func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \
+ -e "$_G_pathcdr"`
+ # Figure out what to do with it
+ case $func_normal_abspath_tcomponent in
+ "")
+ # Trailing empty path component, ignore it.
+ ;;
+ ..)
+ # Parent dir; strip last assembled component from result.
+ func_dirname "$func_normal_abspath_result"
+ func_normal_abspath_result=$func_dirname_result
+ ;;
+ *)
+ # Actual path component, append it.
+ func_append func_normal_abspath_result "/$func_normal_abspath_tcomponent"
+ ;;
+ esac
+ done
+ # Restore leading double-slash if one was found on entry.
+ func_normal_abspath_result=$func_normal_abspath_altnamespace$func_normal_abspath_result
+}
+
+
+# func_notquiet ARG...
+# --------------------
+# Echo program name prefixed message only when not in quiet mode.
+func_notquiet ()
+{
+ $debug_cmd
+
+ $opt_quiet || func_echo ${1+"$@"}
+
+ # A bug in bash halts the script if the last line of a function
+ # fails when set -e is in force, so we need another command to
+ # work around that:
+ :
+}
+
+
+# func_relative_path SRCDIR DSTDIR
+# --------------------------------
+# Set func_relative_path_result to the relative path from SRCDIR to DSTDIR.
+func_relative_path ()
+{
+ $debug_cmd
+
+ func_relative_path_result=
+ func_normal_abspath "$1"
+ func_relative_path_tlibdir=$func_normal_abspath_result
+ func_normal_abspath "$2"
+ func_relative_path_tbindir=$func_normal_abspath_result
+
+ # Ascend the tree starting from libdir
+ while :; do
+ # check if we have found a prefix of bindir
+ case $func_relative_path_tbindir in
+ $func_relative_path_tlibdir)
+ # found an exact match
+ func_relative_path_tcancelled=
+ break
+ ;;
+ $func_relative_path_tlibdir*)
+ # found a matching prefix
+ func_stripname "$func_relative_path_tlibdir" '' "$func_relative_path_tbindir"
+ func_relative_path_tcancelled=$func_stripname_result
+ if test -z "$func_relative_path_result"; then
+ func_relative_path_result=.
+ fi
+ break
+ ;;
+ *)
+ func_dirname $func_relative_path_tlibdir
+ func_relative_path_tlibdir=$func_dirname_result
+ if test -z "$func_relative_path_tlibdir"; then
+ # Have to descend all the way to the root!
+ func_relative_path_result=../$func_relative_path_result
+ func_relative_path_tcancelled=$func_relative_path_tbindir
+ break
+ fi
+ func_relative_path_result=../$func_relative_path_result
+ ;;
+ esac
+ done
+
+ # Now calculate path; take care to avoid doubling-up slashes.
+ func_stripname '' '/' "$func_relative_path_result"
+ func_relative_path_result=$func_stripname_result
+ func_stripname '/' '/' "$func_relative_path_tcancelled"
+ if test -n "$func_stripname_result"; then
+ func_append func_relative_path_result "/$func_stripname_result"
+ fi
+
+ # Normalisation. If bindir is libdir, return '.' else relative path.
+ if test -n "$func_relative_path_result"; then
+ func_stripname './' '' "$func_relative_path_result"
+ func_relative_path_result=$func_stripname_result
fi
- $ECHO "$my_tmpdir"
+ test -n "$func_relative_path_result" || func_relative_path_result=.
+
+ :
+}
+
+
+# func_quote_for_eval ARG...
+# --------------------------
+# Aesthetically quote ARGs to be evaled later.
+# This function returns two values:
+# i) func_quote_for_eval_result
+# double-quoted, suitable for a subsequent eval
+# ii) func_quote_for_eval_unquoted_result
+# has all characters that are still active within double
+# quotes backslashified.
+func_quote_for_eval ()
+{
+ $debug_cmd
+
+ func_quote_for_eval_unquoted_result=
+ func_quote_for_eval_result=
+ while test 0 -lt $#; do
+ case $1 in
+ *[\\\`\"\$]*)
+ _G_unquoted_arg=`printf '%s\n' "$1" |$SED "$sed_quote_subst"` ;;
+ *)
+ _G_unquoted_arg=$1 ;;
+ esac
+ if test -n "$func_quote_for_eval_unquoted_result"; then
+ func_append func_quote_for_eval_unquoted_result " $_G_unquoted_arg"
+ else
+ func_append func_quote_for_eval_unquoted_result "$_G_unquoted_arg"
+ fi
+
+ case $_G_unquoted_arg in
+ # Double-quote args containing shell metacharacters to delay
+ # word splitting, command substitution and variable expansion
+ # for a subsequent eval.
+ # Many Bourne shells cannot handle close brackets correctly
+ # in scan sets, so we specify it separately.
+ *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
+ _G_quoted_arg=\"$_G_unquoted_arg\"
+ ;;
+ *)
+ _G_quoted_arg=$_G_unquoted_arg
+ ;;
+ esac
+
+ if test -n "$func_quote_for_eval_result"; then
+ func_append func_quote_for_eval_result " $_G_quoted_arg"
+ else
+ func_append func_quote_for_eval_result "$_G_quoted_arg"
+ fi
+ shift
+ done
+}
+
+
+# func_quote_for_expand ARG
+# -------------------------
+# Aesthetically quote ARG to be evaled later; same as above,
+# but do not quote variable references.
+func_quote_for_expand ()
+{
+ $debug_cmd
+
+ case $1 in
+ *[\\\`\"]*)
+ _G_arg=`$ECHO "$1" | $SED \
+ -e "$sed_double_quote_subst" -e "$sed_double_backslash"` ;;
+ *)
+ _G_arg=$1 ;;
+ esac
+
+ case $_G_arg in
+ # Double-quote args containing shell metacharacters to delay
+ # word splitting and command substitution for a subsequent eval.
+ # Many Bourne shells cannot handle close brackets correctly
+ # in scan sets, so we specify it separately.
+ *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
+ _G_arg=\"$_G_arg\"
+ ;;
+ esac
+
+ func_quote_for_expand_result=$_G_arg
+}
+
+
+# func_stripname PREFIX SUFFIX NAME
+# ---------------------------------
+# strip PREFIX and SUFFIX from NAME, and store in func_stripname_result.
+# PREFIX and SUFFIX must not contain globbing or regex special
+# characters, hashes, percent signs, but SUFFIX may contain a leading
+# dot (in which case that matches only a dot).
+if test yes = "$_G_HAVE_XSI_OPS"; then
+ eval 'func_stripname ()
+ {
+ $debug_cmd
+
+ # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are
+ # positional parameters, so assign one to ordinary variable first.
+ func_stripname_result=$3
+ func_stripname_result=${func_stripname_result#"$1"}
+ func_stripname_result=${func_stripname_result%"$2"}
+ }'
+else
+ func_stripname ()
+ {
+ $debug_cmd
+
+ case $2 in
+ .*) func_stripname_result=`$ECHO "$3" | $SED -e "s%^$1%%" -e "s%\\\\$2\$%%"`;;
+ *) func_stripname_result=`$ECHO "$3" | $SED -e "s%^$1%%" -e "s%$2\$%%"`;;
+ esac
+ }
+fi
+
+
+# func_show_eval CMD [FAIL_EXP]
+# -----------------------------
+# Unless opt_quiet is true, then output CMD. Then, if opt_dryrun is
+# not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP
+# is given, then evaluate it.
+func_show_eval ()
+{
+ $debug_cmd
+
+ _G_cmd=$1
+ _G_fail_exp=${2-':'}
+
+ func_quote_for_expand "$_G_cmd"
+ eval "func_notquiet $func_quote_for_expand_result"
+
+ $opt_dry_run || {
+ eval "$_G_cmd"
+ _G_status=$?
+ if test 0 -ne "$_G_status"; then
+ eval "(exit $_G_status); $_G_fail_exp"
+ fi
+ }
+}
+
+
+# func_show_eval_locale CMD [FAIL_EXP]
+# ------------------------------------
+# Unless opt_quiet is true, then output CMD. Then, if opt_dryrun is
+# not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP
+# is given, then evaluate it. Use the saved locale for evaluation.
+func_show_eval_locale ()
+{
+ $debug_cmd
+
+ _G_cmd=$1
+ _G_fail_exp=${2-':'}
+
+ $opt_quiet || {
+ func_quote_for_expand "$_G_cmd"
+ eval "func_echo $func_quote_for_expand_result"
+ }
+
+ $opt_dry_run || {
+ eval "$_G_user_locale
+ $_G_cmd"
+ _G_status=$?
+ eval "$_G_safe_locale"
+ if test 0 -ne "$_G_status"; then
+ eval "(exit $_G_status); $_G_fail_exp"
+ fi
+ }
+}
+
+
+# func_tr_sh
+# ----------
+# Turn $1 into a string suitable for a shell variable name.
+# Result is stored in $func_tr_sh_result. All characters
+# not in the set a-zA-Z0-9_ are replaced with '_'. Further,
+# if $1 begins with a digit, a '_' is prepended as well.
+func_tr_sh ()
+{
+ $debug_cmd
+
+ case $1 in
+ [0-9]* | *[!a-zA-Z0-9_]*)
+ func_tr_sh_result=`$ECHO "$1" | $SED -e 's/^\([0-9]\)/_\1/' -e 's/[^a-zA-Z0-9_]/_/g'`
+ ;;
+ * )
+ func_tr_sh_result=$1
+ ;;
+ esac
+}
+
+
+# func_verbose ARG...
+# -------------------
+# Echo program name prefixed message in verbose mode only.
+func_verbose ()
+{
+ $debug_cmd
+
+ $opt_verbose && func_echo "$*"
+
+ :
+}
+
+
+# func_warn_and_continue ARG...
+# -----------------------------
+# Echo program name prefixed warning message to standard error.
+func_warn_and_continue ()
+{
+ $debug_cmd
+
+ $require_term_colors
+
+ func_echo_infix_1 "${tc_red}warning$tc_reset" "$*" >&2
+}
+
+
+# func_warning CATEGORY ARG...
+# ----------------------------
+# Echo program name prefixed warning message to standard error. Warning
+# messages can be filtered according to CATEGORY, where this function
+# elides messages where CATEGORY is not listed in the global variable
+# 'opt_warning_types'.
+func_warning ()
+{
+ $debug_cmd
+
+ # CATEGORY must be in the warning_categories list!
+ case " $warning_categories " in
+ *" $1 "*) ;;
+ *) func_internal_error "invalid warning category '$1'" ;;
+ esac
+
+ _G_category=$1
+ shift
+
+ case " $opt_warning_types " in
+ *" $_G_category "*) $warning_func ${1+"$@"} ;;
+ esac
+}
+
+
+# func_sort_ver VER1 VER2
+# -----------------------
+# 'sort -V' is not generally available.
+# Note this deviates from the version comparison in automake
+# in that it treats 1.5 < 1.5.0, and treats 1.4.4a < 1.4-p3a
+# but this should suffice as we won't be specifying old
+# version formats or redundant trailing .0 in bootstrap.conf.
+# If we did want full compatibility then we should probably
+# use m4_version_compare from autoconf.
+func_sort_ver ()
+{
+ $debug_cmd
+
+ printf '%s\n%s\n' "$1" "$2" \
+ | sort -t. -k 1,1n -k 2,2n -k 3,3n -k 4,4n -k 5,5n -k 6,6n -k 7,7n -k 8,8n -k 9,9n
+}
+
+# func_lt_ver PREV CURR
+# ---------------------
+# Return true if PREV and CURR are in the correct order according to
+# func_sort_ver, otherwise false. Use it like this:
+#
+# func_lt_ver "$prev_ver" "$proposed_ver" || func_fatal_error "..."
+func_lt_ver ()
+{
+ $debug_cmd
+
+ test "x$1" = x`func_sort_ver "$1" "$2" | $SED 1q`
+}
+
+
+# Local variables:
+# mode: shell-script
+# sh-indentation: 2
+# eval: (add-hook 'before-save-hook 'time-stamp)
+# time-stamp-pattern: "10/scriptversion=%:y-%02m-%02d.%02H; # UTC"
+# time-stamp-time-zone: "UTC"
+# End:
+#! /bin/sh
+
+# Set a version string for this script.
+scriptversion=2014-01-07.03; # UTC
+
+# A portable, pluggable option parser for Bourne shell.
+# Written by Gary V. Vaughan, 2010
+
+# Copyright (C) 2010-2015 Free Software Foundation, Inc.
+# This is free software; see the source for copying conditions. There is NO
+# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+
+# This program 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 General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+# Please report bugs or propose patches to gary at gnu.org.
+
+
+## ------ ##
+## Usage. ##
+## ------ ##
+
+# This file is a library for parsing options in your shell scripts along
+# with assorted other useful supporting features that you can make use
+# of too.
+#
+# For the simplest scripts you might need only:
+#
+# #!/bin/sh
+# . relative/path/to/funclib.sh
+# . relative/path/to/options-parser
+# scriptversion=1.0
+# func_options ${1+"$@"}
+# eval set dummy "$func_options_result"; shift
+# ...rest of your script...
+#
+# In order for the '--version' option to work, you will need to have a
+# suitably formatted comment like the one at the top of this file
+# starting with '# Written by ' and ending with '# warranty; '.
+#
+# For '-h' and '--help' to work, you will also need a one line
+# description of your script's purpose in a comment directly above the
+# '# Written by ' line, like the one at the top of this file.
+#
+# The default options also support '--debug', which will turn on shell
+# execution tracing (see the comment above debug_cmd below for another
+# use), and '--verbose' and the func_verbose function to allow your script
+# to display verbose messages only when your user has specified
+# '--verbose'.
+#
+# After sourcing this file, you can plug processing for additional
+# options by amending the variables from the 'Configuration' section
+# below, and following the instructions in the 'Option parsing'
+# section further down.
+
+## -------------- ##
+## Configuration. ##
+## -------------- ##
+
+# You should override these variables in your script after sourcing this
+# file so that they reflect the customisations you have added to the
+# option parser.
+
+# The usage line for option parsing errors and the start of '-h' and
+# '--help' output messages. You can embed shell variables for delayed
+# expansion at the time the message is displayed, but you will need to
+# quote other shell meta-characters carefully to prevent them being
+# expanded when the contents are evaled.
+usage='$progpath [OPTION]...'
+
+# Short help message in response to '-h' and '--help'. Add to this or
+# override it after sourcing this library to reflect the full set of
+# options your script accepts.
+usage_message="\
+ --debug enable verbose shell tracing
+ -W, --warnings=CATEGORY
+ report the warnings falling in CATEGORY [all]
+ -v, --verbose verbosely report processing
+ --version print version information and exit
+ -h, --help print short or long help message and exit
+"
+
+# Additional text appended to 'usage_message' in response to '--help'.
+long_help_message="
+Warning categories include:
+ 'all' show all warnings
+ 'none' turn off all the warnings
+ 'error' warnings are treated as fatal errors"
+
+# Help message printed before fatal option parsing errors.
+fatal_help="Try '\$progname --help' for more information."
+
+
+
+## ------------------------- ##
+## Hook function management. ##
+## ------------------------- ##
+
+# This section contains functions for adding, removing, and running hooks
+# to the main code. A hook is just a named list of of function, that can
+# be run in order later on.
+
+# func_hookable FUNC_NAME
+# -----------------------
+# Declare that FUNC_NAME will run hooks added with
+# 'func_add_hook FUNC_NAME ...'.
+func_hookable ()
+{
+ $debug_cmd
+
+ func_append hookable_fns " $1"
+}
+
+
+# func_add_hook FUNC_NAME HOOK_FUNC
+# ---------------------------------
+# Request that FUNC_NAME call HOOK_FUNC before it returns. FUNC_NAME must
+# first have been declared "hookable" by a call to 'func_hookable'.
+func_add_hook ()
+{
+ $debug_cmd
+
+ case " $hookable_fns " in
+ *" $1 "*) ;;
+ *) func_fatal_error "'$1' does not accept hook functions." ;;
+ esac
+
+ eval func_append ${1}_hooks '" $2"'
+}
+
+
+# func_remove_hook FUNC_NAME HOOK_FUNC
+# ------------------------------------
+# Remove HOOK_FUNC from the list of functions called by FUNC_NAME.
+func_remove_hook ()
+{
+ $debug_cmd
+
+ eval ${1}_hooks='`$ECHO "\$'$1'_hooks" |$SED "s| '$2'||"`'
+}
+
+
+# func_run_hooks FUNC_NAME [ARG]...
+# ---------------------------------
+# Run all hook functions registered to FUNC_NAME.
+# It is assumed that the list of hook functions contains nothing more
+# than a whitespace-delimited list of legal shell function names, and
+# no effort is wasted trying to catch shell meta-characters or preserve
+# whitespace.
+func_run_hooks ()
+{
+ $debug_cmd
+
+ case " $hookable_fns " in
+ *" $1 "*) ;;
+ *) func_fatal_error "'$1' does not support hook funcions.n" ;;
+ esac
+
+ eval _G_hook_fns=\$$1_hooks; shift
+
+ for _G_hook in $_G_hook_fns; do
+ eval $_G_hook '"$@"'
+
+ # store returned options list back into positional
+ # parameters for next 'cmd' execution.
+ eval _G_hook_result=\$${_G_hook}_result
+ eval set dummy "$_G_hook_result"; shift
+ done
+
+ func_quote_for_eval ${1+"$@"}
+ func_run_hooks_result=$func_quote_for_eval_result
+}
+
+
+
+## --------------- ##
+## Option parsing. ##
+## --------------- ##
+
+# In order to add your own option parsing hooks, you must accept the
+# full positional parameter list in your hook function, remove any
+# options that you action, and then pass back the remaining unprocessed
+# options in '<hooked_function_name>_result', escaped suitably for
+# 'eval'. Like this:
+#
+# my_options_prep ()
+# {
+# $debug_cmd
+#
+# # Extend the existing usage message.
+# usage_message=$usage_message'
+# -s, --silent don'\''t print informational messages
+# '
+#
+# func_quote_for_eval ${1+"$@"}
+# my_options_prep_result=$func_quote_for_eval_result
+# }
+# func_add_hook func_options_prep my_options_prep
+#
+#
+# my_silent_option ()
+# {
+# $debug_cmd
+#
+# # Note that for efficiency, we parse as many options as we can
+# # recognise in a loop before passing the remainder back to the
+# # caller on the first unrecognised argument we encounter.
+# while test $# -gt 0; do
+# opt=$1; shift
+# case $opt in
+# --silent|-s) opt_silent=: ;;
+# # Separate non-argument short options:
+# -s*) func_split_short_opt "$_G_opt"
+# set dummy "$func_split_short_opt_name" \
+# "-$func_split_short_opt_arg" ${1+"$@"}
+# shift
+# ;;
+# *) set dummy "$_G_opt" "$*"; shift; break ;;
+# esac
+# done
+#
+# func_quote_for_eval ${1+"$@"}
+# my_silent_option_result=$func_quote_for_eval_result
+# }
+# func_add_hook func_parse_options my_silent_option
+#
+#
+# my_option_validation ()
+# {
+# $debug_cmd
+#
+# $opt_silent && $opt_verbose && func_fatal_help "\
+# '--silent' and '--verbose' options are mutually exclusive."
+#
+# func_quote_for_eval ${1+"$@"}
+# my_option_validation_result=$func_quote_for_eval_result
+# }
+# func_add_hook func_validate_options my_option_validation
+#
+# You'll alse need to manually amend $usage_message to reflect the extra
+# options you parse. It's preferable to append if you can, so that
+# multiple option parsing hooks can be added safely.
+
+
+# func_options [ARG]...
+# ---------------------
+# All the functions called inside func_options are hookable. See the
+# individual implementations for details.
+func_hookable func_options
+func_options ()
+{
+ $debug_cmd
+
+ func_options_prep ${1+"$@"}
+ eval func_parse_options \
+ ${func_options_prep_result+"$func_options_prep_result"}
+ eval func_validate_options \
+ ${func_parse_options_result+"$func_parse_options_result"}
+
+ eval func_run_hooks func_options \
+ ${func_validate_options_result+"$func_validate_options_result"}
+
+ # save modified positional parameters for caller
+ func_options_result=$func_run_hooks_result
}
-# func_quote_for_eval arg
-# Aesthetically quote ARG to be evaled later.
-# This function returns two values: FUNC_QUOTE_FOR_EVAL_RESULT
-# is double-quoted, suitable for a subsequent eval, whereas
-# FUNC_QUOTE_FOR_EVAL_UNQUOTED_RESULT has merely all characters
-# which are still active within double quotes backslashified.
-func_quote_for_eval ()
+# func_options_prep [ARG]...
+# --------------------------
+# All initialisations required before starting the option parse loop.
+# Note that when calling hook functions, we pass through the list of
+# positional parameters. If a hook function modifies that list, and
+# needs to propogate that back to rest of this script, then the complete
+# modified list must be put in 'func_run_hooks_result' before
+# returning.
+func_hookable func_options_prep
+func_options_prep ()
{
- case $1 in
- *[\\\`\"\$]*)
- func_quote_for_eval_unquoted_result=`$ECHO "$1" | $SED "$sed_quote_subst"` ;;
- *)
- func_quote_for_eval_unquoted_result="$1" ;;
- esac
+ $debug_cmd
- case $func_quote_for_eval_unquoted_result in
- # Double-quote args containing shell metacharacters to delay
- # word splitting, command substitution and and variable
- # expansion for a subsequent eval.
- # Many Bourne shells cannot handle close brackets correctly
- # in scan sets, so we specify it separately.
- *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
- func_quote_for_eval_result="\"$func_quote_for_eval_unquoted_result\""
- ;;
- *)
- func_quote_for_eval_result="$func_quote_for_eval_unquoted_result"
- esac
+ # Option defaults:
+ opt_verbose=false
+ opt_warning_types=
+
+ func_run_hooks func_options_prep ${1+"$@"}
+
+ # save modified positional parameters for caller
+ func_options_prep_result=$func_run_hooks_result
}
-# func_quote_for_expand arg
-# Aesthetically quote ARG to be evaled later; same as above,
-# but do not quote variable references.
-func_quote_for_expand ()
+# func_parse_options [ARG]...
+# ---------------------------
+# The main option parsing loop.
+func_hookable func_parse_options
+func_parse_options ()
{
- case $1 in
- *[\\\`\"]*)
- my_arg=`$ECHO "$1" | $SED \
- -e "$double_quote_subst" -e "$sed_double_backslash"` ;;
- *)
- my_arg="$1" ;;
- esac
+ $debug_cmd
- case $my_arg in
- # Double-quote args containing shell metacharacters to delay
- # word splitting and command substitution for a subsequent eval.
- # Many Bourne shells cannot handle close brackets correctly
- # in scan sets, so we specify it separately.
- *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
- my_arg="\"$my_arg\""
- ;;
- esac
+ func_parse_options_result=
- func_quote_for_expand_result="$my_arg"
-}
+ # this just eases exit handling
+ while test $# -gt 0; do
+ # Defer to hook functions for initial option parsing, so they
+ # get priority in the event of reusing an option name.
+ func_run_hooks func_parse_options ${1+"$@"}
+ # Adjust func_parse_options positional parameters to match
+ eval set dummy "$func_run_hooks_result"; shift
-# func_show_eval cmd [fail_exp]
-# Unless opt_silent is true, then output CMD. Then, if opt_dryrun is
-# not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP
-# is given, then evaluate it.
-func_show_eval ()
-{
- my_cmd="$1"
- my_fail_exp="${2-:}"
+ # Break out of the loop if we already parsed every option.
+ test $# -gt 0 || break
- ${opt_silent-false} || {
- func_quote_for_expand "$my_cmd"
- eval "func_echo $func_quote_for_expand_result"
- }
+ _G_opt=$1
+ shift
+ case $_G_opt in
+ --debug|-x) debug_cmd='set -x'
+ func_echo "enabling shell trace mode"
+ $debug_cmd
+ ;;
+
+ --no-warnings|--no-warning|--no-warn)
+ set dummy --warnings none ${1+"$@"}
+ shift
+ ;;
- if ${opt_dry_run-false}; then :; else
- eval "$my_cmd"
- my_status=$?
- if test "$my_status" -eq 0; then :; else
- eval "(exit $my_status); $my_fail_exp"
- fi
- fi
+ --warnings|--warning|-W)
+ test $# = 0 && func_missing_arg $_G_opt && break
+ case " $warning_categories $1" in
+ *" $1 "*)
+ # trailing space prevents matching last $1 above
+ func_append_uniq opt_warning_types " $1"
+ ;;
+ *all)
+ opt_warning_types=$warning_categories
+ ;;
+ *none)
+ opt_warning_types=none
+ warning_func=:
+ ;;
+ *error)
+ opt_warning_types=$warning_categories
+ warning_func=func_fatal_error
+ ;;
+ *)
+ func_fatal_error \
+ "unsupported warning category: '$1'"
+ ;;
+ esac
+ shift
+ ;;
+
+ --verbose|-v) opt_verbose=: ;;
+ --version) func_version ;;
+ -\?|-h) func_usage ;;
+ --help) func_help ;;
+
+ # Separate optargs to long options (plugins may need this):
+ --*=*) func_split_equals "$_G_opt"
+ set dummy "$func_split_equals_lhs" \
+ "$func_split_equals_rhs" ${1+"$@"}
+ shift
+ ;;
+
+ # Separate optargs to short options:
+ -W*)
+ func_split_short_opt "$_G_opt"
+ set dummy "$func_split_short_opt_name" \
+ "$func_split_short_opt_arg" ${1+"$@"}
+ shift
+ ;;
+
+ # Separate non-argument short options:
+ -\?*|-h*|-v*|-x*)
+ func_split_short_opt "$_G_opt"
+ set dummy "$func_split_short_opt_name" \
+ "-$func_split_short_opt_arg" ${1+"$@"}
+ shift
+ ;;
+
+ --) break ;;
+ -*) func_fatal_help "unrecognised option: '$_G_opt'" ;;
+ *) set dummy "$_G_opt" ${1+"$@"}; shift; break ;;
+ esac
+ done
+
+ # save modified positional parameters for caller
+ func_quote_for_eval ${1+"$@"}
+ func_parse_options_result=$func_quote_for_eval_result
}
-# func_show_eval_locale cmd [fail_exp]
-# Unless opt_silent is true, then output CMD. Then, if opt_dryrun is
-# not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP
-# is given, then evaluate it. Use the saved locale for evaluation.
-func_show_eval_locale ()
+# func_validate_options [ARG]...
+# ------------------------------
+# Perform any sanity checks on option settings and/or unconsumed
+# arguments.
+func_hookable func_validate_options
+func_validate_options ()
{
- my_cmd="$1"
- my_fail_exp="${2-:}"
+ $debug_cmd
- ${opt_silent-false} || {
- func_quote_for_expand "$my_cmd"
- eval "func_echo $func_quote_for_expand_result"
- }
+ # Display all warnings if -W was not given.
+ test -n "$opt_warning_types" || opt_warning_types=" $warning_categories"
- if ${opt_dry_run-false}; then :; else
- eval "$lt_user_locale
- $my_cmd"
- my_status=$?
- eval "$lt_safe_locale"
- if test "$my_status" -eq 0; then :; else
- eval "(exit $my_status); $my_fail_exp"
- fi
- fi
-}
+ func_run_hooks func_validate_options ${1+"$@"}
-# func_tr_sh
-# Turn $1 into a string suitable for a shell variable name.
-# Result is stored in $func_tr_sh_result. All characters
-# not in the set a-zA-Z0-9_ are replaced with '_'. Further,
-# if $1 begins with a digit, a '_' is prepended as well.
-func_tr_sh ()
-{
- case $1 in
- [0-9]* | *[!a-zA-Z0-9_]*)
- func_tr_sh_result=`$ECHO "$1" | $SED 's/^\([0-9]\)/_\1/; s/[^a-zA-Z0-9_]/_/g'`
- ;;
- * )
- func_tr_sh_result=$1
- ;;
- esac
+ # Bail if the options were screwed!
+ $exit_cmd $EXIT_FAILURE
+
+ # save modified positional parameters for caller
+ func_validate_options_result=$func_run_hooks_result
}
-# func_version
-# Echo version message to standard output and exit.
-func_version ()
-{
- $opt_debug
- $SED -n '/(C)/!b go
- :more
- /\./!{
- N
- s/\n# / /
- b more
- }
- :go
- /^# '$PROGRAM' (GNU /,/# warranty; / {
- s/^# //
- s/^# *$//
- s/\((C)\)[ 0-9,-]*\( [1-9][0-9]*\)/\1\2/
- p
- }' < "$progpath"
- exit $?
-}
+## ----------------- ##
+## Helper functions. ##
+## ----------------- ##
-# func_usage
-# Echo short help message to standard output and exit.
-func_usage ()
+# This section contains the helper functions used by the rest of the
+# hookable option parser framework in ascii-betical order.
+
+
+# func_fatal_help ARG...
+# ----------------------
+# Echo program name prefixed message to standard error, followed by
+# a help hint, and exit.
+func_fatal_help ()
{
- $opt_debug
+ $debug_cmd
- $SED -n '/^# Usage:/,/^# *.*--help/ {
- s/^# //
- s/^# *$//
- s/\$progname/'$progname'/
- p
- }' < "$progpath"
- echo
- $ECHO "run \`$progname --help | more' for full usage"
- exit $?
+ eval \$ECHO \""Usage: $usage"\"
+ eval \$ECHO \""$fatal_help"\"
+ func_error ${1+"$@"}
+ exit $EXIT_FAILURE
}
-# func_help [NOEXIT]
-# Echo long help message to standard output and exit,
-# unless 'noexit' is passed as argument.
+
+# func_help
+# ---------
+# Echo long help message to standard output and exit.
func_help ()
{
- $opt_debug
-
- $SED -n '/^# Usage:/,/# Report bugs to/ {
- :print
- s/^# //
- s/^# *$//
- s*\$progname*'$progname'*
- s*\$host*'"$host"'*
- s*\$SHELL*'"$SHELL"'*
- s*\$LTCC*'"$LTCC"'*
- s*\$LTCFLAGS*'"$LTCFLAGS"'*
- s*\$LD*'"$LD"'*
- s/\$with_gnu_ld/'"$with_gnu_ld"'/
- s/\$automake_version/'"`(${AUTOMAKE-automake} --version) 2>/dev/null |$SED 1q`"'/
- s/\$autoconf_version/'"`(${AUTOCONF-autoconf} --version) 2>/dev/null |$SED 1q`"'/
- p
- d
- }
- /^# .* home page:/b print
- /^# General help using/b print
- ' < "$progpath"
- ret=$?
- if test -z "$1"; then
- exit $ret
- fi
+ $debug_cmd
+
+ func_usage_message
+ $ECHO "$long_help_message"
+ exit 0
}
-# func_missing_arg argname
+
+# func_missing_arg ARGNAME
+# ------------------------
# Echo program name prefixed message to standard error and set global
# exit_cmd.
func_missing_arg ()
{
- $opt_debug
+ $debug_cmd
- func_error "missing argument for $1."
+ func_error "Missing argument for '$1'."
exit_cmd=exit
}
-# func_split_short_opt shortopt
+# func_split_equals STRING
+# ------------------------
+# Set func_split_equals_lhs and func_split_equals_rhs shell variables after
+# splitting STRING at the '=' sign.
+test -z "$_G_HAVE_XSI_OPS" \
+ && (eval 'x=a/b/c;
+ test 5aa/bb/cc = "${#x}${x%%/*}${x%/*}${x#*/}${x##*/}"') 2>/dev/null \
+ && _G_HAVE_XSI_OPS=yes
+
+if test yes = "$_G_HAVE_XSI_OPS"
+then
+ # This is an XSI compatible shell, allowing a faster implementation...
+ eval 'func_split_equals ()
+ {
+ $debug_cmd
+
+ func_split_equals_lhs=${1%%=*}
+ func_split_equals_rhs=${1#*=}
+ test "x$func_split_equals_lhs" = "x$1" \
+ && func_split_equals_rhs=
+ }'
+else
+ # ...otherwise fall back to using expr, which is often a shell builtin.
+ func_split_equals ()
+ {
+ $debug_cmd
+
+ func_split_equals_lhs=`expr "x$1" : 'x\([^=]*\)'`
+ func_split_equals_rhs=
+ test "x$func_split_equals_lhs" = "x$1" \
+ || func_split_equals_rhs=`expr "x$1" : 'x[^=]*=\(.*\)$'`
+ }
+fi #func_split_equals
+
+
+# func_split_short_opt SHORTOPT
+# -----------------------------
# Set func_split_short_opt_name and func_split_short_opt_arg shell
# variables after splitting SHORTOPT after the 2nd character.
-func_split_short_opt ()
+if test yes = "$_G_HAVE_XSI_OPS"
+then
+ # This is an XSI compatible shell, allowing a faster implementation...
+ eval 'func_split_short_opt ()
+ {
+ $debug_cmd
+
+ func_split_short_opt_arg=${1#??}
+ func_split_short_opt_name=${1%"$func_split_short_opt_arg"}
+ }'
+else
+ # ...otherwise fall back to using expr, which is often a shell builtin.
+ func_split_short_opt ()
+ {
+ $debug_cmd
+
+ func_split_short_opt_name=`expr "x$1" : 'x-\(.\)'`
+ func_split_short_opt_arg=`expr "x$1" : 'x-.\(.*\)$'`
+ }
+fi #func_split_short_opt
+
+
+# func_usage
+# ----------
+# Echo short help message to standard output and exit.
+func_usage ()
{
- my_sed_short_opt='1s/^\(..\).*$/\1/;q'
- my_sed_short_rest='1s/^..\(.*\)$/\1/;q'
+ $debug_cmd
- func_split_short_opt_name=`$ECHO "$1" | $SED "$my_sed_short_opt"`
- func_split_short_opt_arg=`$ECHO "$1" | $SED "$my_sed_short_rest"`
-} # func_split_short_opt may be replaced by extended shell implementation
+ func_usage_message
+ $ECHO "Run '$progname --help |${PAGER-more}' for full usage"
+ exit 0
+}
-# func_split_long_opt longopt
-# Set func_split_long_opt_name and func_split_long_opt_arg shell
-# variables after splitting LONGOPT at the `=' sign.
-func_split_long_opt ()
+# func_usage_message
+# ------------------
+# Echo short help message to standard output.
+func_usage_message ()
{
- my_sed_long_opt='1s/^\(--[^=]*\)=.*/\1/;q'
- my_sed_long_arg='1s/^--[^=]*=//'
+ $debug_cmd
- func_split_long_opt_name=`$ECHO "$1" | $SED "$my_sed_long_opt"`
- func_split_long_opt_arg=`$ECHO "$1" | $SED "$my_sed_long_arg"`
-} # func_split_long_opt may be replaced by extended shell implementation
+ eval \$ECHO \""Usage: $usage"\"
+ echo
+ $SED -n 's|^# ||
+ /^Written by/{
+ x;p;x
+ }
+ h
+ /^Written by/q' < "$progpath"
+ echo
+ eval \$ECHO \""$usage_message"\"
+}
-exit_cmd=:
+# func_version
+# ------------
+# Echo version message to standard output and exit.
+func_version ()
+{
+ $debug_cmd
+ printf '%s\n' "$progname $scriptversion"
+ $SED -n '
+ /(C)/!b go
+ :more
+ /\./!{
+ N
+ s|\n# | |
+ b more
+ }
+ :go
+ /^# Written by /,/# warranty; / {
+ s|^# ||
+ s|^# *$||
+ s|\((C)\)[ 0-9,-]*[ ,-]\([1-9][0-9]* \)|\1 \2|
+ p
+ }
+ /^# Written by / {
+ s|^# ||
+ p
+ }
+ /^warranty; /q' < "$progpath"
+ exit $?
+}
-magic="%%%MAGIC variable%%%"
-magic_exe="%%%MAGIC EXE variable%%%"
+# Local variables:
+# mode: shell-script
+# sh-indentation: 2
+# eval: (add-hook 'before-save-hook 'time-stamp)
+# time-stamp-pattern: "10/scriptversion=%:y-%02m-%02d.%02H; # UTC"
+# time-stamp-time-zone: "UTC"
+# End:
-# Global variables.
-nonopt=
-preserve_args=
-lo2o="s/\\.lo\$/.${objext}/"
-o2lo="s/\\.${objext}\$/.lo/"
-extracted_archives=
-extracted_serial=0
+# Set a version string.
+scriptversion='(GNU libtool) 2.4.6'
-# If this variable is set in any of the actions, the command in it
-# will be execed at the end. This prevents here-documents from being
-# left over by shells.
-exec_cmd=
-# func_append var value
-# Append VALUE to the end of shell variable VAR.
-func_append ()
+# func_echo ARG...
+# ----------------
+# Libtool also displays the current mode in messages, so override
+# funclib.sh func_echo with this custom definition.
+func_echo ()
{
- eval "${1}=\$${1}\${2}"
-} # func_append may be replaced by extended shell implementation
+ $debug_cmd
-# func_append_quoted var value
-# Quote VALUE and append to the end of shell variable VAR, separated
-# by a space.
-func_append_quoted ()
-{
- func_quote_for_eval "${2}"
- eval "${1}=\$${1}\\ \$func_quote_for_eval_result"
-} # func_append_quoted may be replaced by extended shell implementation
+ _G_message=$*
+ func_echo_IFS=$IFS
+ IFS=$nl
+ for _G_line in $_G_message; do
+ IFS=$func_echo_IFS
+ $ECHO "$progname${opt_mode+: $opt_mode}: $_G_line"
+ done
+ IFS=$func_echo_IFS
+}
-# func_arith arithmetic-term...
-func_arith ()
+
+# func_warning ARG...
+# -------------------
+# Libtool warnings are not categorized, so override funclib.sh
+# func_warning with this simpler definition.
+func_warning ()
{
- func_arith_result=`expr "${@}"`
-} # func_arith may be replaced by extended shell implementation
+ $debug_cmd
+ $warning_func ${1+"$@"}
+}
-# func_len string
-# STRING may not start with a hyphen.
-func_len ()
-{
- func_len_result=`expr "${1}" : ".*" 2>/dev/null || echo $max_cmd_len`
-} # func_len may be replaced by extended shell implementation
+## ---------------- ##
+## Options parsing. ##
+## ---------------- ##
+
+# Hook in the functions to make sure our own options are parsed during
+# the option parsing loop.
+
+usage='$progpath [OPTION]... [MODE-ARG]...'
+
+# Short help message in response to '-h'.
+usage_message="Options:
+ --config show all configuration variables
+ --debug enable verbose shell tracing
+ -n, --dry-run display commands without modifying any files
+ --features display basic configuration information and exit
+ --mode=MODE use operation mode MODE
+ --no-warnings equivalent to '-Wnone'
+ --preserve-dup-deps don't remove duplicate dependency libraries
+ --quiet, --silent don't print informational messages
+ --tag=TAG use configuration variables from tag TAG
+ -v, --verbose print more informational messages than default
+ --version print version information
+ -W, --warnings=CATEGORY report the warnings falling in CATEGORY [all]
+ -h, --help, --help-all print short, long, or detailed help message
+"
-# func_lo2o object
-func_lo2o ()
+# Additional text appended to 'usage_message' in response to '--help'.
+func_help ()
{
- func_lo2o_result=`$ECHO "${1}" | $SED "$lo2o"`
-} # func_lo2o may be replaced by extended shell implementation
+ $debug_cmd
+
+ func_usage_message
+ $ECHO "$long_help_message
+
+MODE must be one of the following:
+
+ clean remove files from the build directory
+ compile compile a source file into a libtool object
+ execute automatically set library path, then run a program
+ finish complete the installation of libtool libraries
+ install install libraries or executables
+ link create a library or an executable
+ uninstall remove libraries from an installed directory
+
+MODE-ARGS vary depending on the MODE. When passed as first option,
+'--mode=MODE' may be abbreviated as 'MODE' or a unique abbreviation of that.
+Try '$progname --help --mode=MODE' for a more detailed description of MODE.
+
+When reporting a bug, please describe a test case to reproduce it and
+include the following information:
+
+ host-triplet: $host
+ shell: $SHELL
+ compiler: $LTCC
+ compiler flags: $LTCFLAGS
+ linker: $LD (gnu? $with_gnu_ld)
+ version: $progname (GNU libtool) 2.4.6
+ automake: `($AUTOMAKE --version) 2>/dev/null |$SED 1q`
+ autoconf: `($AUTOCONF --version) 2>/dev/null |$SED 1q`
+
+Report bugs to <bug-libtool at gnu.org>.
+GNU libtool home page: <http://www.gnu.org/s/libtool/>.
+General help using GNU software: <http://www.gnu.org/gethelp/>."
+ exit 0
+}
-# func_xform libobj-or-source
-func_xform ()
-{
- func_xform_result=`$ECHO "${1}" | $SED 's/\.[^.]*$/.lo/'`
-} # func_xform may be replaced by extended shell implementation
+# func_lo2o OBJECT-NAME
+# ---------------------
+# Transform OBJECT-NAME from a '.lo' suffix to the platform specific
+# object suffix.
+
+lo2o=s/\\.lo\$/.$objext/
+o2lo=s/\\.$objext\$/.lo/
+
+if test yes = "$_G_HAVE_XSI_OPS"; then
+ eval 'func_lo2o ()
+ {
+ case $1 in
+ *.lo) func_lo2o_result=${1%.lo}.$objext ;;
+ * ) func_lo2o_result=$1 ;;
+ esac
+ }'
+
+ # func_xform LIBOBJ-OR-SOURCE
+ # ---------------------------
+ # Transform LIBOBJ-OR-SOURCE from a '.o' or '.c' (or otherwise)
+ # suffix to a '.lo' libtool-object suffix.
+ eval 'func_xform ()
+ {
+ func_xform_result=${1%.*}.lo
+ }'
+else
+ # ...otherwise fall back to using sed.
+ func_lo2o ()
+ {
+ func_lo2o_result=`$ECHO "$1" | $SED "$lo2o"`
+ }
+
+ func_xform ()
+ {
+ func_xform_result=`$ECHO "$1" | $SED 's|\.[^.]*$|.lo|'`
+ }
+fi
-# func_fatal_configuration arg...
+# func_fatal_configuration ARG...
+# -------------------------------
# Echo program name prefixed message to standard error, followed by
# a configuration failure hint, and exit.
func_fatal_configuration ()
{
- func_error ${1+"$@"}
- func_error "See the $PACKAGE documentation for more information."
- func_fatal_error "Fatal configuration error."
+ func__fatal_error ${1+"$@"} \
+ "See the $PACKAGE documentation for more information." \
+ "Fatal configuration error."
}
# func_config
+# -----------
# Display the configuration for all the tags in this script.
func_config ()
{
@@ -915,17 +2149,19 @@ func_config ()
exit $?
}
+
# func_features
+# -------------
# Display the features supported by this script.
func_features ()
{
echo "host: $host"
- if test "$build_libtool_libs" = yes; then
+ if test yes = "$build_libtool_libs"; then
echo "enable shared libraries"
else
echo "disable shared libraries"
fi
- if test "$build_old_libs" = yes; then
+ if test yes = "$build_old_libs"; then
echo "enable static libraries"
else
echo "disable static libraries"
@@ -934,314 +2170,350 @@ func_features ()
exit $?
}
-# func_enable_tag tagname
+
+# func_enable_tag TAGNAME
+# -----------------------
# Verify that TAGNAME is valid, and either flag an error and exit, or
# enable the TAGNAME tag. We also add TAGNAME to the global $taglist
# variable here.
func_enable_tag ()
{
- # Global variable:
- tagname="$1"
+ # Global variable:
+ tagname=$1
- re_begincf="^# ### BEGIN LIBTOOL TAG CONFIG: $tagname\$"
- re_endcf="^# ### END LIBTOOL TAG CONFIG: $tagname\$"
- sed_extractcf="/$re_begincf/,/$re_endcf/p"
+ re_begincf="^# ### BEGIN LIBTOOL TAG CONFIG: $tagname\$"
+ re_endcf="^# ### END LIBTOOL TAG CONFIG: $tagname\$"
+ sed_extractcf=/$re_begincf/,/$re_endcf/p
- # Validate tagname.
- case $tagname in
- *[!-_A-Za-z0-9,/]*)
- func_fatal_error "invalid tag name: $tagname"
- ;;
- esac
+ # Validate tagname.
+ case $tagname in
+ *[!-_A-Za-z0-9,/]*)
+ func_fatal_error "invalid tag name: $tagname"
+ ;;
+ esac
- # Don't test for the "default" C tag, as we know it's
- # there but not specially marked.
- case $tagname in
- CC) ;;
+ # Don't test for the "default" C tag, as we know it's
+ # there but not specially marked.
+ case $tagname in
+ CC) ;;
*)
- if $GREP "$re_begincf" "$progpath" >/dev/null 2>&1; then
- taglist="$taglist $tagname"
-
- # Evaluate the configuration. Be careful to quote the path
- # and the sed script, to avoid splitting on whitespace, but
- # also don't use non-portable quotes within backquotes within
- # quotes we have to do it in 2 steps:
- extractedcf=`$SED -n -e "$sed_extractcf" < "$progpath"`
- eval "$extractedcf"
- else
- func_error "ignoring unknown tag $tagname"
- fi
- ;;
- esac
+ if $GREP "$re_begincf" "$progpath" >/dev/null 2>&1; then
+ taglist="$taglist $tagname"
+
+ # Evaluate the configuration. Be careful to quote the path
+ # and the sed script, to avoid splitting on whitespace, but
+ # also don't use non-portable quotes within backquotes within
+ # quotes we have to do it in 2 steps:
+ extractedcf=`$SED -n -e "$sed_extractcf" < "$progpath"`
+ eval "$extractedcf"
+ else
+ func_error "ignoring unknown tag $tagname"
+ fi
+ ;;
+ esac
}
+
# func_check_version_match
+# ------------------------
# Ensure that we are using m4 macros, and libtool script from the same
# release of libtool.
func_check_version_match ()
{
- if test "$package_revision" != "$macro_revision"; then
- if test "$VERSION" != "$macro_version"; then
- if test -z "$macro_version"; then
- cat >&2 <<_LT_EOF
+ if test "$package_revision" != "$macro_revision"; then
+ if test "$VERSION" != "$macro_version"; then
+ if test -z "$macro_version"; then
+ cat >&2 <<_LT_EOF
$progname: Version mismatch error. This is $PACKAGE $VERSION, but the
$progname: definition of this LT_INIT comes from an older release.
$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION
$progname: and run autoconf again.
_LT_EOF
- else
- cat >&2 <<_LT_EOF
+ else
+ cat >&2 <<_LT_EOF
$progname: Version mismatch error. This is $PACKAGE $VERSION, but the
$progname: definition of this LT_INIT comes from $PACKAGE $macro_version.
$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION
$progname: and run autoconf again.
_LT_EOF
- fi
- else
- cat >&2 <<_LT_EOF
+ fi
+ else
+ cat >&2 <<_LT_EOF
$progname: Version mismatch error. This is $PACKAGE $VERSION, revision $package_revision,
$progname: but the definition of this LT_INIT comes from revision $macro_revision.
$progname: You should recreate aclocal.m4 with macros from revision $package_revision
$progname: of $PACKAGE $VERSION and run autoconf again.
_LT_EOF
- fi
+ fi
- exit $EXIT_MISMATCH
- fi
+ exit $EXIT_MISMATCH
+ fi
}
-# Shorthand for --mode=foo, only valid as the first argument
-case $1 in
-clean|clea|cle|cl)
- shift; set dummy --mode clean ${1+"$@"}; shift
- ;;
-compile|compil|compi|comp|com|co|c)
- shift; set dummy --mode compile ${1+"$@"}; shift
- ;;
-execute|execut|execu|exec|exe|ex|e)
- shift; set dummy --mode execute ${1+"$@"}; shift
- ;;
-finish|finis|fini|fin|fi|f)
- shift; set dummy --mode finish ${1+"$@"}; shift
- ;;
-install|instal|insta|inst|ins|in|i)
- shift; set dummy --mode install ${1+"$@"}; shift
- ;;
-link|lin|li|l)
- shift; set dummy --mode link ${1+"$@"}; shift
- ;;
-uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u)
- shift; set dummy --mode uninstall ${1+"$@"}; shift
- ;;
-esac
+# libtool_options_prep [ARG]...
+# -----------------------------
+# Preparation for options parsed by libtool.
+libtool_options_prep ()
+{
+ $debug_mode
+ # Option defaults:
+ opt_config=false
+ opt_dlopen=
+ opt_dry_run=false
+ opt_help=false
+ opt_mode=
+ opt_preserve_dup_deps=false
+ opt_quiet=false
+ nonopt=
+ preserve_args=
-# Option defaults:
-opt_debug=:
-opt_dry_run=false
-opt_config=false
-opt_preserve_dup_deps=false
-opt_features=false
-opt_finish=false
-opt_help=false
-opt_help_all=false
-opt_silent=:
-opt_warning=:
-opt_verbose=:
-opt_silent=false
-opt_verbose=false
+ # Shorthand for --mode=foo, only valid as the first argument
+ case $1 in
+ clean|clea|cle|cl)
+ shift; set dummy --mode clean ${1+"$@"}; shift
+ ;;
+ compile|compil|compi|comp|com|co|c)
+ shift; set dummy --mode compile ${1+"$@"}; shift
+ ;;
+ execute|execut|execu|exec|exe|ex|e)
+ shift; set dummy --mode execute ${1+"$@"}; shift
+ ;;
+ finish|finis|fini|fin|fi|f)
+ shift; set dummy --mode finish ${1+"$@"}; shift
+ ;;
+ install|instal|insta|inst|ins|in|i)
+ shift; set dummy --mode install ${1+"$@"}; shift
+ ;;
+ link|lin|li|l)
+ shift; set dummy --mode link ${1+"$@"}; shift
+ ;;
+ uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u)
+ shift; set dummy --mode uninstall ${1+"$@"}; shift
+ ;;
+ esac
+
+ # Pass back the list of options.
+ func_quote_for_eval ${1+"$@"}
+ libtool_options_prep_result=$func_quote_for_eval_result
+}
+func_add_hook func_options_prep libtool_options_prep
-# Parse options once, thoroughly. This comes as soon as possible in the
-# script to make things like `--version' happen as quickly as we can.
+# libtool_parse_options [ARG]...
+# ---------------------------------
+# Provide handling for libtool specific options.
+libtool_parse_options ()
{
- # this just eases exit handling
- while test $# -gt 0; do
- opt="$1"
- shift
- case $opt in
- --debug|-x) opt_debug='set -x'
- func_echo "enabling shell trace mode"
- $opt_debug
- ;;
- --dry-run|--dryrun|-n)
- opt_dry_run=:
- ;;
- --config)
- opt_config=:
-func_config
- ;;
- --dlopen|-dlopen)
- optarg="$1"
- opt_dlopen="${opt_dlopen+$opt_dlopen
-}$optarg"
- shift
- ;;
- --preserve-dup-deps)
- opt_preserve_dup_deps=:
- ;;
- --features)
- opt_features=:
-func_features
- ;;
- --finish)
- opt_finish=:
-set dummy --mode finish ${1+"$@"}; shift
- ;;
- --help)
- opt_help=:
- ;;
- --help-all)
- opt_help_all=:
-opt_help=': help-all'
- ;;
- --mode)
- test $# = 0 && func_missing_arg $opt && break
- optarg="$1"
- opt_mode="$optarg"
-case $optarg in
- # Valid mode arguments:
- clean|compile|execute|finish|install|link|relink|uninstall) ;;
-
- # Catch anything else as an error
- *) func_error "invalid argument for $opt"
- exit_cmd=exit
- break
- ;;
-esac
- shift
- ;;
- --no-silent|--no-quiet)
- opt_silent=false
-func_append preserve_args " $opt"
- ;;
- --no-warning|--no-warn)
- opt_warning=false
-func_append preserve_args " $opt"
- ;;
- --no-verbose)
- opt_verbose=false
-func_append preserve_args " $opt"
- ;;
- --silent|--quiet)
- opt_silent=:
-func_append preserve_args " $opt"
- opt_verbose=false
- ;;
- --verbose|-v)
- opt_verbose=:
-func_append preserve_args " $opt"
-opt_silent=false
- ;;
- --tag)
- test $# = 0 && func_missing_arg $opt && break
- optarg="$1"
- opt_tag="$optarg"
-func_append preserve_args " $opt $optarg"
-func_enable_tag "$optarg"
- shift
- ;;
-
- -\?|-h) func_usage ;;
- --help) func_help ;;
- --version) func_version ;;
-
- # Separate optargs to long options:
- --*=*)
- func_split_long_opt "$opt"
- set dummy "$func_split_long_opt_name" "$func_split_long_opt_arg" ${1+"$@"}
- shift
- ;;
-
- # Separate non-argument short options:
- -\?*|-h*|-n*|-v*)
- func_split_short_opt "$opt"
- set dummy "$func_split_short_opt_name" "-$func_split_short_opt_arg" ${1+"$@"}
- shift
- ;;
-
- --) break ;;
- -*) func_fatal_help "unrecognized option \`$opt'" ;;
- *) set dummy "$opt" ${1+"$@"}; shift; break ;;
- esac
- done
+ $debug_cmd
- # Validate options:
+ # Perform our own loop to consume as many options as possible in
+ # each iteration.
+ while test $# -gt 0; do
+ _G_opt=$1
+ shift
+ case $_G_opt in
+ --dry-run|--dryrun|-n)
+ opt_dry_run=:
+ ;;
+
+ --config) func_config ;;
+
+ --dlopen|-dlopen)
+ opt_dlopen="${opt_dlopen+$opt_dlopen
+}$1"
+ shift
+ ;;
+
+ --preserve-dup-deps)
+ opt_preserve_dup_deps=: ;;
+
+ --features) func_features ;;
+
+ --finish) set dummy --mode finish ${1+"$@"}; shift ;;
+
+ --help) opt_help=: ;;
+
+ --help-all) opt_help=': help-all' ;;
+
+ --mode) test $# = 0 && func_missing_arg $_G_opt && break
+ opt_mode=$1
+ case $1 in
+ # Valid mode arguments:
+ clean|compile|execute|finish|install|link|relink|uninstall) ;;
+
+ # Catch anything else as an error
+ *) func_error "invalid argument for $_G_opt"
+ exit_cmd=exit
+ break
+ ;;
+ esac
+ shift
+ ;;
+
+ --no-silent|--no-quiet)
+ opt_quiet=false
+ func_append preserve_args " $_G_opt"
+ ;;
+
+ --no-warnings|--no-warning|--no-warn)
+ opt_warning=false
+ func_append preserve_args " $_G_opt"
+ ;;
+
+ --no-verbose)
+ opt_verbose=false
+ func_append preserve_args " $_G_opt"
+ ;;
+
+ --silent|--quiet)
+ opt_quiet=:
+ opt_verbose=false
+ func_append preserve_args " $_G_opt"
+ ;;
+
+ --tag) test $# = 0 && func_missing_arg $_G_opt && break
+ opt_tag=$1
+ func_append preserve_args " $_G_opt $1"
+ func_enable_tag "$1"
+ shift
+ ;;
+
+ --verbose|-v) opt_quiet=false
+ opt_verbose=:
+ func_append preserve_args " $_G_opt"
+ ;;
+
+ # An option not handled by this hook function:
+ *) set dummy "$_G_opt" ${1+"$@"}; shift; break ;;
+ esac
+ done
- # save first non-option argument
- if test "$#" -gt 0; then
- nonopt="$opt"
- shift
- fi
- # preserve --debug
- test "$opt_debug" = : || func_append preserve_args " --debug"
+ # save modified positional parameters for caller
+ func_quote_for_eval ${1+"$@"}
+ libtool_parse_options_result=$func_quote_for_eval_result
+}
+func_add_hook func_parse_options libtool_parse_options
- case $host in
- *cygwin* | *mingw* | *pw32* | *cegcc*)
- # don't eliminate duplications in $postdeps and $predeps
- opt_duplicate_compiler_generated_deps=:
- ;;
- *)
- opt_duplicate_compiler_generated_deps=$opt_preserve_dup_deps
- ;;
- esac
- $opt_help || {
- # Sanity checks first:
- func_check_version_match
- if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then
- func_fatal_configuration "not configured to build any kind of library"
+# libtool_validate_options [ARG]...
+# ---------------------------------
+# Perform any sanity checks on option settings and/or unconsumed
+# arguments.
+libtool_validate_options ()
+{
+ # save first non-option argument
+ if test 0 -lt $#; then
+ nonopt=$1
+ shift
fi
- # Darwin sucks
- eval std_shrext=\"$shrext_cmds\"
+ # preserve --debug
+ test : = "$debug_cmd" || func_append preserve_args " --debug"
- # Only execute mode is allowed to have -dlopen flags.
- if test -n "$opt_dlopen" && test "$opt_mode" != execute; then
- func_error "unrecognized option \`-dlopen'"
- $ECHO "$help" 1>&2
- exit $EXIT_FAILURE
- fi
+ case $host in
+ # Solaris2 added to fix http://debbugs.gnu.org/cgi/bugreport.cgi?bug=16452
+ # see also: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59788
+ *cygwin* | *mingw* | *pw32* | *cegcc* | *solaris2* | *os2*)
+ # don't eliminate duplications in $postdeps and $predeps
+ opt_duplicate_compiler_generated_deps=:
+ ;;
+ *)
+ opt_duplicate_compiler_generated_deps=$opt_preserve_dup_deps
+ ;;
+ esac
- # Change the help message to a mode-specific one.
- generic_help="$help"
- help="Try \`$progname --help --mode=$opt_mode' for more information."
- }
+ $opt_help || {
+ # Sanity checks first:
+ func_check_version_match
+
+ test yes != "$build_libtool_libs" \
+ && test yes != "$build_old_libs" \
+ && func_fatal_configuration "not configured to build any kind of library"
+
+ # Darwin sucks
+ eval std_shrext=\"$shrext_cmds\"
+
+ # Only execute mode is allowed to have -dlopen flags.
+ if test -n "$opt_dlopen" && test execute != "$opt_mode"; then
+ func_error "unrecognized option '-dlopen'"
+ $ECHO "$help" 1>&2
+ exit $EXIT_FAILURE
+ fi
+ # Change the help message to a mode-specific one.
+ generic_help=$help
+ help="Try '$progname --help --mode=$opt_mode' for more information."
+ }
- # Bail if the options were screwed
- $exit_cmd $EXIT_FAILURE
+ # Pass back the unparsed argument list
+ func_quote_for_eval ${1+"$@"}
+ libtool_validate_options_result=$func_quote_for_eval_result
}
+func_add_hook func_validate_options libtool_validate_options
+# Process options as early as possible so that --help and --version
+# can return quickly.
+func_options ${1+"$@"}
+eval set dummy "$func_options_result"; shift
+
## ----------- ##
## Main. ##
## ----------- ##
+magic='%%%MAGIC variable%%%'
+magic_exe='%%%MAGIC EXE variable%%%'
+
+# Global variables.
+extracted_archives=
+extracted_serial=0
+
+# If this variable is set in any of the actions, the command in it
+# will be execed at the end. This prevents here-documents from being
+# left over by shells.
+exec_cmd=
+
+
+# A function that is used when there is no print builtin or printf.
+func_fallback_echo ()
+{
+ eval 'cat <<_LTECHO_EOF
+$1
+_LTECHO_EOF'
+}
+
+# func_generated_by_libtool
+# True iff stdin has been generated by Libtool. This function is only
+# a basic sanity check; it will hardly flush out determined imposters.
+func_generated_by_libtool_p ()
+{
+ $GREP "^# Generated by .*$PACKAGE" > /dev/null 2>&1
+}
+
# func_lalib_p file
-# True iff FILE is a libtool `.la' library or `.lo' object file.
+# True iff FILE is a libtool '.la' library or '.lo' object file.
# This function is only a basic sanity check; it will hardly flush out
# determined imposters.
func_lalib_p ()
{
test -f "$1" &&
- $SED -e 4q "$1" 2>/dev/null \
- | $GREP "^# Generated by .*$PACKAGE" > /dev/null 2>&1
+ $SED -e 4q "$1" 2>/dev/null | func_generated_by_libtool_p
}
# func_lalib_unsafe_p file
-# True iff FILE is a libtool `.la' library or `.lo' object file.
+# True iff FILE is a libtool '.la' library or '.lo' object file.
# This function implements the same check as func_lalib_p without
# resorting to external programs. To this end, it redirects stdin and
# closes it afterwards, without saving the original file descriptor.
# As a safety measure, use it only where a negative result would be
-# fatal anyway. Works if `file' does not exist.
+# fatal anyway. Works if 'file' does not exist.
func_lalib_unsafe_p ()
{
lalib_p=no
@@ -1249,13 +2521,13 @@ func_lalib_unsafe_p ()
for lalib_p_l in 1 2 3 4
do
read lalib_p_line
- case "$lalib_p_line" in
+ case $lalib_p_line in
\#\ Generated\ by\ *$PACKAGE* ) lalib_p=yes; break;;
esac
done
exec 0<&5 5<&-
fi
- test "$lalib_p" = yes
+ test yes = "$lalib_p"
}
# func_ltwrapper_script_p file
@@ -1264,7 +2536,8 @@ func_lalib_unsafe_p ()
# determined imposters.
func_ltwrapper_script_p ()
{
- func_lalib_p "$1"
+ test -f "$1" &&
+ $lt_truncate_bin < "$1" 2>/dev/null | func_generated_by_libtool_p
}
# func_ltwrapper_executable_p file
@@ -1289,7 +2562,7 @@ func_ltwrapper_scriptname ()
{
func_dirname_and_basename "$1" "" "."
func_stripname '' '.exe' "$func_basename_result"
- func_ltwrapper_scriptname_result="$func_dirname_result/$objdir/${func_stripname_result}_ltshwrapper"
+ func_ltwrapper_scriptname_result=$func_dirname_result/$objdir/${func_stripname_result}_ltshwrapper
}
# func_ltwrapper_p file
@@ -1308,11 +2581,13 @@ func_ltwrapper_p ()
# FAIL_CMD may read-access the current command in variable CMD!
func_execute_cmds ()
{
- $opt_debug
+ $debug_cmd
+
save_ifs=$IFS; IFS='~'
for cmd in $1; do
- IFS=$save_ifs
+ IFS=$sp$nl
eval cmd=\"$cmd\"
+ IFS=$save_ifs
func_show_eval "$cmd" "${2-:}"
done
IFS=$save_ifs
@@ -1324,10 +2599,11 @@ func_execute_cmds ()
# Note that it is not necessary on cygwin/mingw to append a dot to
# FILE even if both FILE and FILE.exe exist: automatic-append-.exe
# behavior happens only for exec(3), not for open(2)! Also, sourcing
-# `FILE.' does not work on cygwin managed mounts.
+# 'FILE.' does not work on cygwin managed mounts.
func_source ()
{
- $opt_debug
+ $debug_cmd
+
case $1 in
*/* | *\\*) . "$1" ;;
*) . "./$1" ;;
@@ -1354,10 +2630,10 @@ func_resolve_sysroot ()
# store the result into func_replace_sysroot_result.
func_replace_sysroot ()
{
- case "$lt_sysroot:$1" in
+ case $lt_sysroot:$1 in
?*:"$lt_sysroot"*)
func_stripname "$lt_sysroot" '' "$1"
- func_replace_sysroot_result="=$func_stripname_result"
+ func_replace_sysroot_result='='$func_stripname_result
;;
*)
# Including no sysroot.
@@ -1374,7 +2650,8 @@ func_replace_sysroot ()
# arg is usually of the form 'gcc ...'
func_infer_tag ()
{
- $opt_debug
+ $debug_cmd
+
if test -n "$available_tags" && test -z "$tagname"; then
CC_quoted=
for arg in $CC; do
@@ -1393,7 +2670,7 @@ func_infer_tag ()
for z in $available_tags; do
if $GREP "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then
# Evaluate the configuration.
- eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`"
+ eval "`$SED -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`"
CC_quoted=
for arg in $CC; do
# Double-quote args containing other shell metacharacters.
@@ -1418,7 +2695,7 @@ func_infer_tag ()
# line option must be used.
if test -z "$tagname"; then
func_echo "unable to infer tagged configuration"
- func_fatal_error "specify a tag with \`--tag'"
+ func_fatal_error "specify a tag with '--tag'"
# else
# func_verbose "using $tagname tagged configuration"
fi
@@ -1434,15 +2711,15 @@ func_infer_tag ()
# but don't create it if we're doing a dry run.
func_write_libtool_object ()
{
- write_libobj=${1}
- if test "$build_libtool_libs" = yes; then
- write_lobj=\'${2}\'
+ write_libobj=$1
+ if test yes = "$build_libtool_libs"; then
+ write_lobj=\'$2\'
else
write_lobj=none
fi
- if test "$build_old_libs" = yes; then
- write_oldobj=\'${3}\'
+ if test yes = "$build_old_libs"; then
+ write_oldobj=\'$3\'
else
write_oldobj=none
fi
@@ -1450,7 +2727,7 @@ func_write_libtool_object ()
$opt_dry_run || {
cat >${write_libobj}T <<EOF
# $write_libobj - a libtool object file
-# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
+# Generated by $PROGRAM (GNU $PACKAGE) $VERSION
#
# Please DO NOT delete this file!
# It is necessary for linking the library.
@@ -1462,7 +2739,7 @@ pic_object=$write_lobj
non_pic_object=$write_oldobj
EOF
- $MV "${write_libobj}T" "${write_libobj}"
+ $MV "${write_libobj}T" "$write_libobj"
}
}
@@ -1482,8 +2759,9 @@ EOF
# be empty on error (or when ARG is empty)
func_convert_core_file_wine_to_w32 ()
{
- $opt_debug
- func_convert_core_file_wine_to_w32_result="$1"
+ $debug_cmd
+
+ func_convert_core_file_wine_to_w32_result=$1
if test -n "$1"; then
# Unfortunately, winepath does not exit with a non-zero error code, so we
# are forced to check the contents of stdout. On the other hand, if the
@@ -1491,9 +2769,9 @@ func_convert_core_file_wine_to_w32 ()
# *an error message* to stdout. So we must check for both error code of
# zero AND non-empty stdout, which explains the odd construction:
func_convert_core_file_wine_to_w32_tmp=`winepath -w "$1" 2>/dev/null`
- if test "$?" -eq 0 && test -n "${func_convert_core_file_wine_to_w32_tmp}"; then
+ if test "$?" -eq 0 && test -n "$func_convert_core_file_wine_to_w32_tmp"; then
func_convert_core_file_wine_to_w32_result=`$ECHO "$func_convert_core_file_wine_to_w32_tmp" |
- $SED -e "$lt_sed_naive_backslashify"`
+ $SED -e "$sed_naive_backslashify"`
else
func_convert_core_file_wine_to_w32_result=
fi
@@ -1514,18 +2792,19 @@ func_convert_core_file_wine_to_w32 ()
# are convertible, then the result may be empty.
func_convert_core_path_wine_to_w32 ()
{
- $opt_debug
+ $debug_cmd
+
# unfortunately, winepath doesn't convert paths, only file names
- func_convert_core_path_wine_to_w32_result=""
+ func_convert_core_path_wine_to_w32_result=
if test -n "$1"; then
oldIFS=$IFS
IFS=:
for func_convert_core_path_wine_to_w32_f in $1; do
IFS=$oldIFS
func_convert_core_file_wine_to_w32 "$func_convert_core_path_wine_to_w32_f"
- if test -n "$func_convert_core_file_wine_to_w32_result" ; then
+ if test -n "$func_convert_core_file_wine_to_w32_result"; then
if test -z "$func_convert_core_path_wine_to_w32_result"; then
- func_convert_core_path_wine_to_w32_result="$func_convert_core_file_wine_to_w32_result"
+ func_convert_core_path_wine_to_w32_result=$func_convert_core_file_wine_to_w32_result
else
func_append func_convert_core_path_wine_to_w32_result ";$func_convert_core_file_wine_to_w32_result"
fi
@@ -1554,7 +2833,8 @@ func_convert_core_path_wine_to_w32 ()
# environment variable; do not put it in $PATH.
func_cygpath ()
{
- $opt_debug
+ $debug_cmd
+
if test -n "$LT_CYGPATH" && test -f "$LT_CYGPATH"; then
func_cygpath_result=`$LT_CYGPATH "$@" 2>/dev/null`
if test "$?" -ne 0; then
@@ -1563,7 +2843,7 @@ func_cygpath ()
fi
else
func_cygpath_result=
- func_error "LT_CYGPATH is empty or specifies non-existent file: \`$LT_CYGPATH'"
+ func_error "LT_CYGPATH is empty or specifies non-existent file: '$LT_CYGPATH'"
fi
}
#end: func_cygpath
@@ -1574,10 +2854,11 @@ func_cygpath ()
# result in func_convert_core_msys_to_w32_result.
func_convert_core_msys_to_w32 ()
{
- $opt_debug
+ $debug_cmd
+
# awkward: cmd appends spaces to result
func_convert_core_msys_to_w32_result=`( cmd //c echo "$1" ) 2>/dev/null |
- $SED -e 's/[ ]*$//' -e "$lt_sed_naive_backslashify"`
+ $SED -e 's/[ ]*$//' -e "$sed_naive_backslashify"`
}
#end: func_convert_core_msys_to_w32
@@ -1588,13 +2869,14 @@ func_convert_core_msys_to_w32 ()
# func_to_host_file_result to ARG1).
func_convert_file_check ()
{
- $opt_debug
- if test -z "$2" && test -n "$1" ; then
+ $debug_cmd
+
+ if test -z "$2" && test -n "$1"; then
func_error "Could not determine host file name corresponding to"
- func_error " \`$1'"
+ func_error " '$1'"
func_error "Continuing, but uninstalled executables may not work."
# Fallback:
- func_to_host_file_result="$1"
+ func_to_host_file_result=$1
fi
}
# end func_convert_file_check
@@ -1606,10 +2888,11 @@ func_convert_file_check ()
# func_to_host_file_result to a simplistic fallback value (see below).
func_convert_path_check ()
{
- $opt_debug
+ $debug_cmd
+
if test -z "$4" && test -n "$3"; then
func_error "Could not determine the host path corresponding to"
- func_error " \`$3'"
+ func_error " '$3'"
func_error "Continuing, but uninstalled executables may not work."
# Fallback. This is a deliberately simplistic "conversion" and
# should not be "improved". See libtool.info.
@@ -1618,7 +2901,7 @@ func_convert_path_check ()
func_to_host_path_result=`echo "$3" |
$SED -e "$lt_replace_pathsep_chars"`
else
- func_to_host_path_result="$3"
+ func_to_host_path_result=$3
fi
fi
}
@@ -1630,9 +2913,10 @@ func_convert_path_check ()
# and appending REPL if ORIG matches BACKPAT.
func_convert_path_front_back_pathsep ()
{
- $opt_debug
+ $debug_cmd
+
case $4 in
- $1 ) func_to_host_path_result="$3$func_to_host_path_result"
+ $1 ) func_to_host_path_result=$3$func_to_host_path_result
;;
esac
case $4 in
@@ -1646,7 +2930,7 @@ func_convert_path_front_back_pathsep ()
##################################################
# $build to $host FILE NAME CONVERSION FUNCTIONS #
##################################################
-# invoked via `$to_host_file_cmd ARG'
+# invoked via '$to_host_file_cmd ARG'
#
# In each case, ARG is the path to be converted from $build to $host format.
# Result will be available in $func_to_host_file_result.
@@ -1657,7 +2941,8 @@ func_convert_path_front_back_pathsep ()
# in func_to_host_file_result.
func_to_host_file ()
{
- $opt_debug
+ $debug_cmd
+
$to_host_file_cmd "$1"
}
# end func_to_host_file
@@ -1669,7 +2954,8 @@ func_to_host_file ()
# in (the comma separated) LAZY, no conversion takes place.
func_to_tool_file ()
{
- $opt_debug
+ $debug_cmd
+
case ,$2, in
*,"$to_tool_file_cmd",*)
func_to_tool_file_result=$1
@@ -1687,7 +2973,7 @@ func_to_tool_file ()
# Copy ARG to func_to_host_file_result.
func_convert_file_noop ()
{
- func_to_host_file_result="$1"
+ func_to_host_file_result=$1
}
# end func_convert_file_noop
@@ -1698,11 +2984,12 @@ func_convert_file_noop ()
# func_to_host_file_result.
func_convert_file_msys_to_w32 ()
{
- $opt_debug
- func_to_host_file_result="$1"
+ $debug_cmd
+
+ func_to_host_file_result=$1
if test -n "$1"; then
func_convert_core_msys_to_w32 "$1"
- func_to_host_file_result="$func_convert_core_msys_to_w32_result"
+ func_to_host_file_result=$func_convert_core_msys_to_w32_result
fi
func_convert_file_check "$1" "$func_to_host_file_result"
}
@@ -1714,8 +3001,9 @@ func_convert_file_msys_to_w32 ()
# func_to_host_file_result.
func_convert_file_cygwin_to_w32 ()
{
- $opt_debug
- func_to_host_file_result="$1"
+ $debug_cmd
+
+ func_to_host_file_result=$1
if test -n "$1"; then
# because $build is cygwin, we call "the" cygpath in $PATH; no need to use
# LT_CYGPATH in this case.
@@ -1731,11 +3019,12 @@ func_convert_file_cygwin_to_w32 ()
# and a working winepath. Returns result in func_to_host_file_result.
func_convert_file_nix_to_w32 ()
{
- $opt_debug
- func_to_host_file_result="$1"
+ $debug_cmd
+
+ func_to_host_file_result=$1
if test -n "$1"; then
func_convert_core_file_wine_to_w32 "$1"
- func_to_host_file_result="$func_convert_core_file_wine_to_w32_result"
+ func_to_host_file_result=$func_convert_core_file_wine_to_w32_result
fi
func_convert_file_check "$1" "$func_to_host_file_result"
}
@@ -1747,12 +3036,13 @@ func_convert_file_nix_to_w32 ()
# Returns result in func_to_host_file_result.
func_convert_file_msys_to_cygwin ()
{
- $opt_debug
- func_to_host_file_result="$1"
+ $debug_cmd
+
+ func_to_host_file_result=$1
if test -n "$1"; then
func_convert_core_msys_to_w32 "$1"
func_cygpath -u "$func_convert_core_msys_to_w32_result"
- func_to_host_file_result="$func_cygpath_result"
+ func_to_host_file_result=$func_cygpath_result
fi
func_convert_file_check "$1" "$func_to_host_file_result"
}
@@ -1765,13 +3055,14 @@ func_convert_file_msys_to_cygwin ()
# in func_to_host_file_result.
func_convert_file_nix_to_cygwin ()
{
- $opt_debug
- func_to_host_file_result="$1"
+ $debug_cmd
+
+ func_to_host_file_result=$1
if test -n "$1"; then
# convert from *nix to w32, then use cygpath to convert from w32 to cygwin.
func_convert_core_file_wine_to_w32 "$1"
func_cygpath -u "$func_convert_core_file_wine_to_w32_result"
- func_to_host_file_result="$func_cygpath_result"
+ func_to_host_file_result=$func_cygpath_result
fi
func_convert_file_check "$1" "$func_to_host_file_result"
}
@@ -1781,7 +3072,7 @@ func_convert_file_nix_to_cygwin ()
#############################################
# $build to $host PATH CONVERSION FUNCTIONS #
#############################################
-# invoked via `$to_host_path_cmd ARG'
+# invoked via '$to_host_path_cmd ARG'
#
# In each case, ARG is the path to be converted from $build to $host format.
# The result will be available in $func_to_host_path_result.
@@ -1805,10 +3096,11 @@ func_convert_file_nix_to_cygwin ()
to_host_path_cmd=
func_init_to_host_path_cmd ()
{
- $opt_debug
+ $debug_cmd
+
if test -z "$to_host_path_cmd"; then
func_stripname 'func_convert_file_' '' "$to_host_file_cmd"
- to_host_path_cmd="func_convert_path_${func_stripname_result}"
+ to_host_path_cmd=func_convert_path_$func_stripname_result
fi
}
@@ -1818,7 +3110,8 @@ func_init_to_host_path_cmd ()
# in func_to_host_path_result.
func_to_host_path ()
{
- $opt_debug
+ $debug_cmd
+
func_init_to_host_path_cmd
$to_host_path_cmd "$1"
}
@@ -1829,7 +3122,7 @@ func_to_host_path ()
# Copy ARG to func_to_host_path_result.
func_convert_path_noop ()
{
- func_to_host_path_result="$1"
+ func_to_host_path_result=$1
}
# end func_convert_path_noop
@@ -1840,8 +3133,9 @@ func_convert_path_noop ()
# func_to_host_path_result.
func_convert_path_msys_to_w32 ()
{
- $opt_debug
- func_to_host_path_result="$1"
+ $debug_cmd
+
+ func_to_host_path_result=$1
if test -n "$1"; then
# Remove leading and trailing path separator characters from ARG. MSYS
# behavior is inconsistent here; cygpath turns them into '.;' and ';.';
@@ -1849,7 +3143,7 @@ func_convert_path_msys_to_w32 ()
func_stripname : : "$1"
func_to_host_path_tmp1=$func_stripname_result
func_convert_core_msys_to_w32 "$func_to_host_path_tmp1"
- func_to_host_path_result="$func_convert_core_msys_to_w32_result"
+ func_to_host_path_result=$func_convert_core_msys_to_w32_result
func_convert_path_check : ";" \
"$func_to_host_path_tmp1" "$func_to_host_path_result"
func_convert_path_front_back_pathsep ":*" "*:" ";" "$1"
@@ -1863,8 +3157,9 @@ func_convert_path_msys_to_w32 ()
# func_to_host_file_result.
func_convert_path_cygwin_to_w32 ()
{
- $opt_debug
- func_to_host_path_result="$1"
+ $debug_cmd
+
+ func_to_host_path_result=$1
if test -n "$1"; then
# See func_convert_path_msys_to_w32:
func_stripname : : "$1"
@@ -1883,14 +3178,15 @@ func_convert_path_cygwin_to_w32 ()
# a working winepath. Returns result in func_to_host_file_result.
func_convert_path_nix_to_w32 ()
{
- $opt_debug
- func_to_host_path_result="$1"
+ $debug_cmd
+
+ func_to_host_path_result=$1
if test -n "$1"; then
# See func_convert_path_msys_to_w32:
func_stripname : : "$1"
func_to_host_path_tmp1=$func_stripname_result
func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1"
- func_to_host_path_result="$func_convert_core_path_wine_to_w32_result"
+ func_to_host_path_result=$func_convert_core_path_wine_to_w32_result
func_convert_path_check : ";" \
"$func_to_host_path_tmp1" "$func_to_host_path_result"
func_convert_path_front_back_pathsep ":*" "*:" ";" "$1"
@@ -1904,15 +3200,16 @@ func_convert_path_nix_to_w32 ()
# Returns result in func_to_host_file_result.
func_convert_path_msys_to_cygwin ()
{
- $opt_debug
- func_to_host_path_result="$1"
+ $debug_cmd
+
+ func_to_host_path_result=$1
if test -n "$1"; then
# See func_convert_path_msys_to_w32:
func_stripname : : "$1"
func_to_host_path_tmp1=$func_stripname_result
func_convert_core_msys_to_w32 "$func_to_host_path_tmp1"
func_cygpath -u -p "$func_convert_core_msys_to_w32_result"
- func_to_host_path_result="$func_cygpath_result"
+ func_to_host_path_result=$func_cygpath_result
func_convert_path_check : : \
"$func_to_host_path_tmp1" "$func_to_host_path_result"
func_convert_path_front_back_pathsep ":*" "*:" : "$1"
@@ -1927,8 +3224,9 @@ func_convert_path_msys_to_cygwin ()
# func_to_host_file_result.
func_convert_path_nix_to_cygwin ()
{
- $opt_debug
- func_to_host_path_result="$1"
+ $debug_cmd
+
+ func_to_host_path_result=$1
if test -n "$1"; then
# Remove leading and trailing path separator characters from
# ARG. msys behavior is inconsistent here, cygpath turns them
@@ -1937,7 +3235,7 @@ func_convert_path_nix_to_cygwin ()
func_to_host_path_tmp1=$func_stripname_result
func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1"
func_cygpath -u -p "$func_convert_core_path_wine_to_w32_result"
- func_to_host_path_result="$func_cygpath_result"
+ func_to_host_path_result=$func_cygpath_result
func_convert_path_check : : \
"$func_to_host_path_tmp1" "$func_to_host_path_result"
func_convert_path_front_back_pathsep ":*" "*:" : "$1"
@@ -1946,13 +3244,31 @@ func_convert_path_nix_to_cygwin ()
# end func_convert_path_nix_to_cygwin
+# func_dll_def_p FILE
+# True iff FILE is a Windows DLL '.def' file.
+# Keep in sync with _LT_DLL_DEF_P in libtool.m4
+func_dll_def_p ()
+{
+ $debug_cmd
+
+ func_dll_def_p_tmp=`$SED -n \
+ -e 's/^[ ]*//' \
+ -e '/^\(;.*\)*$/d' \
+ -e 's/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p' \
+ -e q \
+ "$1"`
+ test DEF = "$func_dll_def_p_tmp"
+}
+
+
# func_mode_compile arg...
func_mode_compile ()
{
- $opt_debug
+ $debug_cmd
+
# Get the compilation command and the source file.
base_compile=
- srcfile="$nonopt" # always keep a non-empty value in "srcfile"
+ srcfile=$nonopt # always keep a non-empty value in "srcfile"
suppress_opt=yes
suppress_output=
arg_mode=normal
@@ -1965,12 +3281,12 @@ func_mode_compile ()
case $arg_mode in
arg )
# do not "continue". Instead, add this to base_compile
- lastarg="$arg"
+ lastarg=$arg
arg_mode=normal
;;
target )
- libobj="$arg"
+ libobj=$arg
arg_mode=normal
continue
;;
@@ -1980,7 +3296,7 @@ func_mode_compile ()
case $arg in
-o)
test -n "$libobj" && \
- func_fatal_error "you cannot specify \`-o' more than once"
+ func_fatal_error "you cannot specify '-o' more than once"
arg_mode=target
continue
;;
@@ -2009,12 +3325,12 @@ func_mode_compile ()
func_stripname '-Wc,' '' "$arg"
args=$func_stripname_result
lastarg=
- save_ifs="$IFS"; IFS=','
+ save_ifs=$IFS; IFS=,
for arg in $args; do
- IFS="$save_ifs"
+ IFS=$save_ifs
func_append_quoted lastarg "$arg"
done
- IFS="$save_ifs"
+ IFS=$save_ifs
func_stripname ' ' '' "$lastarg"
lastarg=$func_stripname_result
@@ -2027,8 +3343,8 @@ func_mode_compile ()
# Accept the current argument as the source file.
# The previous "srcfile" becomes the current argument.
#
- lastarg="$srcfile"
- srcfile="$arg"
+ lastarg=$srcfile
+ srcfile=$arg
;;
esac # case $arg
;;
@@ -2043,13 +3359,13 @@ func_mode_compile ()
func_fatal_error "you must specify an argument for -Xcompile"
;;
target)
- func_fatal_error "you must specify a target with \`-o'"
+ func_fatal_error "you must specify a target with '-o'"
;;
*)
# Get the name of the library object.
test -z "$libobj" && {
func_basename "$srcfile"
- libobj="$func_basename_result"
+ libobj=$func_basename_result
}
;;
esac
@@ -2069,7 +3385,7 @@ func_mode_compile ()
case $libobj in
*.lo) func_lo2o "$libobj"; obj=$func_lo2o_result ;;
*)
- func_fatal_error "cannot determine name of library object from \`$libobj'"
+ func_fatal_error "cannot determine name of library object from '$libobj'"
;;
esac
@@ -2078,8 +3394,8 @@ func_mode_compile ()
for arg in $later; do
case $arg in
-shared)
- test "$build_libtool_libs" != yes && \
- func_fatal_configuration "can not build a shared library"
+ test yes = "$build_libtool_libs" \
+ || func_fatal_configuration "cannot build a shared library"
build_old_libs=no
continue
;;
@@ -2105,17 +3421,17 @@ func_mode_compile ()
func_quote_for_eval "$libobj"
test "X$libobj" != "X$func_quote_for_eval_result" \
&& $ECHO "X$libobj" | $GREP '[]~#^*{};<>?"'"'"' &()|`$[]' \
- && func_warning "libobj name \`$libobj' may not contain shell special characters."
+ && func_warning "libobj name '$libobj' may not contain shell special characters."
func_dirname_and_basename "$obj" "/" ""
- objname="$func_basename_result"
- xdir="$func_dirname_result"
- lobj=${xdir}$objdir/$objname
+ objname=$func_basename_result
+ xdir=$func_dirname_result
+ lobj=$xdir$objdir/$objname
test -z "$base_compile" && \
func_fatal_help "you must specify a compilation command"
# Delete any leftover library objects.
- if test "$build_old_libs" = yes; then
+ if test yes = "$build_old_libs"; then
removelist="$obj $lobj $libobj ${libobj}T"
else
removelist="$lobj $libobj ${libobj}T"
@@ -2127,16 +3443,16 @@ func_mode_compile ()
pic_mode=default
;;
esac
- if test "$pic_mode" = no && test "$deplibs_check_method" != pass_all; then
+ if test no = "$pic_mode" && test pass_all != "$deplibs_check_method"; then
# non-PIC code in shared libraries is not supported
pic_mode=default
fi
# Calculate the filename of the output object if compiler does
# not support -o with -c
- if test "$compiler_c_o" = no; then
- output_obj=`$ECHO "$srcfile" | $SED 's%^.*/%%; s%\.[^.]*$%%'`.${objext}
- lockfile="$output_obj.lock"
+ if test no = "$compiler_c_o"; then
+ output_obj=`$ECHO "$srcfile" | $SED 's%^.*/%%; s%\.[^.]*$%%'`.$objext
+ lockfile=$output_obj.lock
else
output_obj=
need_locks=no
@@ -2145,12 +3461,12 @@ func_mode_compile ()
# Lock this critical section if it is needed
# We use this script file to make the link, it avoids creating a new file
- if test "$need_locks" = yes; then
+ if test yes = "$need_locks"; then
until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do
func_echo "Waiting for $lockfile to be removed"
sleep 2
done
- elif test "$need_locks" = warn; then
+ elif test warn = "$need_locks"; then
if test -f "$lockfile"; then
$ECHO "\
*** ERROR, $lockfile exists and contains:
@@ -2158,7 +3474,7 @@ func_mode_compile ()
This indicates that another process is trying to use the same
temporary object file, and libtool could not work around it because
-your compiler does not support \`-c' and \`-o' together. If you
+your compiler does not support '-c' and '-o' together. If you
repeat this compilation, it may succeed, by chance, but you had better
avoid parallel builds (make -j) in this platform, or get a better
compiler."
@@ -2180,11 +3496,11 @@ compiler."
qsrcfile=$func_quote_for_eval_result
# Only build a PIC object if we are building libtool libraries.
- if test "$build_libtool_libs" = yes; then
+ if test yes = "$build_libtool_libs"; then
# Without this assignment, base_compile gets emptied.
fbsd_hideous_sh_bug=$base_compile
- if test "$pic_mode" != no; then
+ if test no != "$pic_mode"; then
command="$base_compile $qsrcfile $pic_flag"
else
# Don't build PIC code
@@ -2201,7 +3517,7 @@ compiler."
func_show_eval_locale "$command" \
'test -n "$output_obj" && $RM $removelist; exit $EXIT_FAILURE'
- if test "$need_locks" = warn &&
+ if test warn = "$need_locks" &&
test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
$ECHO "\
*** ERROR, $lockfile contains:
@@ -2212,7 +3528,7 @@ $srcfile
This indicates that another process is trying to use the same
temporary object file, and libtool could not work around it because
-your compiler does not support \`-c' and \`-o' together. If you
+your compiler does not support '-c' and '-o' together. If you
repeat this compilation, it may succeed, by chance, but you had better
avoid parallel builds (make -j) in this platform, or get a better
compiler."
@@ -2228,20 +3544,20 @@ compiler."
fi
# Allow error messages only from the first compilation.
- if test "$suppress_opt" = yes; then
+ if test yes = "$suppress_opt"; then
suppress_output=' >/dev/null 2>&1'
fi
fi
# Only build a position-dependent object if we build old libraries.
- if test "$build_old_libs" = yes; then
- if test "$pic_mode" != yes; then
+ if test yes = "$build_old_libs"; then
+ if test yes != "$pic_mode"; then
# Don't build PIC code
command="$base_compile $qsrcfile$pie_flag"
else
command="$base_compile $qsrcfile $pic_flag"
fi
- if test "$compiler_c_o" = yes; then
+ if test yes = "$compiler_c_o"; then
func_append command " -o $obj"
fi
@@ -2250,7 +3566,7 @@ compiler."
func_show_eval_locale "$command" \
'$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE'
- if test "$need_locks" = warn &&
+ if test warn = "$need_locks" &&
test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
$ECHO "\
*** ERROR, $lockfile contains:
@@ -2261,7 +3577,7 @@ $srcfile
This indicates that another process is trying to use the same
temporary object file, and libtool could not work around it because
-your compiler does not support \`-c' and \`-o' together. If you
+your compiler does not support '-c' and '-o' together. If you
repeat this compilation, it may succeed, by chance, but you had better
avoid parallel builds (make -j) in this platform, or get a better
compiler."
@@ -2281,7 +3597,7 @@ compiler."
func_write_libtool_object "$libobj" "$objdir/$objname" "$objname"
# Unlock the critical section if it was locked
- if test "$need_locks" != no; then
+ if test no != "$need_locks"; then
removelist=$lockfile
$RM "$lockfile"
fi
@@ -2291,7 +3607,7 @@ compiler."
}
$opt_help || {
- test "$opt_mode" = compile && func_mode_compile ${1+"$@"}
+ test compile = "$opt_mode" && func_mode_compile ${1+"$@"}
}
func_mode_help ()
@@ -2311,7 +3627,7 @@ func_mode_help ()
Remove files from the build directory.
RM is the name of the program to use to delete files associated with each FILE
-(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed
+(typically '/bin/rm'). RM-OPTIONS are options (such as '-f') to be passed
to RM.
If FILE is a libtool library, object or program, all the files associated
@@ -2330,16 +3646,16 @@ This mode accepts the following additional options:
-no-suppress do not suppress compiler output for multiple passes
-prefer-pic try to build PIC objects only
-prefer-non-pic try to build non-PIC objects only
- -shared do not build a \`.o' file suitable for static linking
- -static only build a \`.o' file suitable for static linking
+ -shared do not build a '.o' file suitable for static linking
+ -static only build a '.o' file suitable for static linking
-Wc,FLAG pass FLAG directly to the compiler
-COMPILE-COMMAND is a command to be used in creating a \`standard' object file
+COMPILE-COMMAND is a command to be used in creating a 'standard' object file
from the given SOURCEFILE.
The output file name is determined by removing the directory component from
-SOURCEFILE, then substituting the C source code suffix \`.c' with the
-library object suffix, \`.lo'."
+SOURCEFILE, then substituting the C source code suffix '.c' with the
+library object suffix, '.lo'."
;;
execute)
@@ -2352,7 +3668,7 @@ This mode accepts the following additional options:
-dlopen FILE add the directory containing FILE to the library path
-This mode sets the library path environment variable according to \`-dlopen'
+This mode sets the library path environment variable according to '-dlopen'
flags.
If any of the ARGS are libtool executable wrappers, then they are translated
@@ -2371,7 +3687,7 @@ Complete the installation of libtool libraries.
Each LIBDIR is a directory that contains libtool libraries.
The commands that this mode executes may require superuser privileges. Use
-the \`--dry-run' option if you just want to see what would be executed."
+the '--dry-run' option if you just want to see what would be executed."
;;
install)
@@ -2381,7 +3697,7 @@ the \`--dry-run' option if you just want to see what would be executed."
Install executables or libraries.
INSTALL-COMMAND is the installation command. The first component should be
-either the \`install' or \`cp' program.
+either the 'install' or 'cp' program.
The following components of INSTALL-COMMAND are treated specially:
@@ -2407,7 +3723,7 @@ The following components of LINK-COMMAND are treated specially:
-avoid-version do not add a version suffix if possible
-bindir BINDIR specify path to binaries directory (for systems where
libraries must be found in the PATH setting at runtime)
- -dlopen FILE \`-dlpreopen' FILE if it cannot be dlopened at runtime
+ -dlopen FILE '-dlpreopen' FILE if it cannot be dlopened at runtime
-dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols
-export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3)
-export-symbols SYMFILE
@@ -2421,7 +3737,8 @@ The following components of LINK-COMMAND are treated specially:
-no-install link a not-installable executable
-no-undefined declare that a library does not refer to external symbols
-o OUTPUT-FILE create OUTPUT-FILE from the specified objects
- -objectlist FILE Use a list of object files found in FILE to specify objects
+ -objectlist FILE use a list of object files found in FILE to specify objects
+ -os2dllname NAME force a short DLL name on OS/2 (no effect on other OSes)
-precious-files-regex REGEX
don't remove output files matching REGEX
-release RELEASE specify package release information
@@ -2441,20 +3758,20 @@ The following components of LINK-COMMAND are treated specially:
-Xlinker FLAG pass linker-specific FLAG directly to the linker
-XCClinker FLAG pass link-specific FLAG to the compiler driver (CC)
-All other options (arguments beginning with \`-') are ignored.
+All other options (arguments beginning with '-') are ignored.
-Every other argument is treated as a filename. Files ending in \`.la' are
+Every other argument is treated as a filename. Files ending in '.la' are
treated as uninstalled libtool libraries, other files are standard or library
object files.
-If the OUTPUT-FILE ends in \`.la', then a libtool library is created,
-only library objects (\`.lo' files) may be specified, and \`-rpath' is
+If the OUTPUT-FILE ends in '.la', then a libtool library is created,
+only library objects ('.lo' files) may be specified, and '-rpath' is
required, except when creating a convenience library.
-If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created
-using \`ar' and \`ranlib', or on Windows using \`lib'.
+If OUTPUT-FILE ends in '.a' or '.lib', then a standard library is created
+using 'ar' and 'ranlib', or on Windows using 'lib'.
-If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file
+If OUTPUT-FILE ends in '.lo' or '.$objext', then a reloadable object file
is created, otherwise an executable program is created."
;;
@@ -2465,7 +3782,7 @@ is created, otherwise an executable program is created."
Remove libraries from an installation directory.
RM is the name of the program to use to delete files associated with each FILE
-(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed
+(typically '/bin/rm'). RM-OPTIONS are options (such as '-f') to be passed
to RM.
If FILE is a libtool library, all the files associated with it are deleted.
@@ -2473,17 +3790,17 @@ Otherwise, only FILE itself is deleted using RM."
;;
*)
- func_fatal_help "invalid operation mode \`$opt_mode'"
+ func_fatal_help "invalid operation mode '$opt_mode'"
;;
esac
echo
- $ECHO "Try \`$progname --help' for more information about other modes."
+ $ECHO "Try '$progname --help' for more information about other modes."
}
# Now that we've collected a possible --mode arg, show help if necessary
if $opt_help; then
- if test "$opt_help" = :; then
+ if test : = "$opt_help"; then
func_mode_help
else
{
@@ -2491,7 +3808,7 @@ if $opt_help; then
for opt_mode in compile link execute install finish uninstall clean; do
func_mode_help
done
- } | sed -n '1p; 2,$s/^Usage:/ or: /p'
+ } | $SED -n '1p; 2,$s/^Usage:/ or: /p'
{
func_help noexit
for opt_mode in compile link execute install finish uninstall clean; do
@@ -2499,7 +3816,7 @@ if $opt_help; then
func_mode_help
done
} |
- sed '1d
+ $SED '1d
/^When reporting/,/^Report/{
H
d
@@ -2516,16 +3833,17 @@ fi
# func_mode_execute arg...
func_mode_execute ()
{
- $opt_debug
+ $debug_cmd
+
# The first argument is the command name.
- cmd="$nonopt"
+ cmd=$nonopt
test -z "$cmd" && \
func_fatal_help "you must specify a COMMAND"
# Handle -dlopen flags immediately.
for file in $opt_dlopen; do
test -f "$file" \
- || func_fatal_help "\`$file' is not a file"
+ || func_fatal_help "'$file' is not a file"
dir=
case $file in
@@ -2535,7 +3853,7 @@ func_mode_execute ()
# Check to see that this really is a libtool archive.
func_lalib_unsafe_p "$file" \
- || func_fatal_help "\`$lib' is not a valid libtool archive"
+ || func_fatal_help "'$lib' is not a valid libtool archive"
# Read the libtool library.
dlname=
@@ -2546,18 +3864,18 @@ func_mode_execute ()
if test -z "$dlname"; then
# Warn if it was a shared library.
test -n "$library_names" && \
- func_warning "\`$file' was not linked with \`-export-dynamic'"
+ func_warning "'$file' was not linked with '-export-dynamic'"
continue
fi
func_dirname "$file" "" "."
- dir="$func_dirname_result"
+ dir=$func_dirname_result
if test -f "$dir/$objdir/$dlname"; then
func_append dir "/$objdir"
else
if test ! -f "$dir/$dlname"; then
- func_fatal_error "cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'"
+ func_fatal_error "cannot find '$dlname' in '$dir' or '$dir/$objdir'"
fi
fi
;;
@@ -2565,18 +3883,18 @@ func_mode_execute ()
*.lo)
# Just add the directory containing the .lo file.
func_dirname "$file" "" "."
- dir="$func_dirname_result"
+ dir=$func_dirname_result
;;
*)
- func_warning "\`-dlopen' is ignored for non-libtool libraries and objects"
+ func_warning "'-dlopen' is ignored for non-libtool libraries and objects"
continue
;;
esac
# Get the absolute pathname.
absdir=`cd "$dir" && pwd`
- test -n "$absdir" && dir="$absdir"
+ test -n "$absdir" && dir=$absdir
# Now add the directory to shlibpath_var.
if eval "test -z \"\$$shlibpath_var\""; then
@@ -2588,7 +3906,7 @@ func_mode_execute ()
# This variable tells wrapper scripts just to set shlibpath_var
# rather than running their programs.
- libtool_execute_magic="$magic"
+ libtool_execute_magic=$magic
# Check if any of the arguments is a wrapper script.
args=
@@ -2601,12 +3919,12 @@ func_mode_execute ()
if func_ltwrapper_script_p "$file"; then
func_source "$file"
# Transform arg to wrapped name.
- file="$progdir/$program"
+ file=$progdir/$program
elif func_ltwrapper_executable_p "$file"; then
func_ltwrapper_scriptname "$file"
func_source "$func_ltwrapper_scriptname_result"
# Transform arg to wrapped name.
- file="$progdir/$program"
+ file=$progdir/$program
fi
;;
esac
@@ -2614,7 +3932,15 @@ func_mode_execute ()
func_append_quoted args "$file"
done
- if test "X$opt_dry_run" = Xfalse; then
+ if $opt_dry_run; then
+ # Display what would be done.
+ if test -n "$shlibpath_var"; then
+ eval "\$ECHO \"\$shlibpath_var=\$$shlibpath_var\""
+ echo "export $shlibpath_var"
+ fi
+ $ECHO "$cmd$args"
+ exit $EXIT_SUCCESS
+ else
if test -n "$shlibpath_var"; then
# Export the shlibpath_var.
eval "export $shlibpath_var"
@@ -2631,25 +3957,18 @@ func_mode_execute ()
done
# Now prepare to actually exec the command.
- exec_cmd="\$cmd$args"
- else
- # Display what would be done.
- if test -n "$shlibpath_var"; then
- eval "\$ECHO \"\$shlibpath_var=\$$shlibpath_var\""
- echo "export $shlibpath_var"
- fi
- $ECHO "$cmd$args"
- exit $EXIT_SUCCESS
+ exec_cmd=\$cmd$args
fi
}
-test "$opt_mode" = execute && func_mode_execute ${1+"$@"}
+test execute = "$opt_mode" && func_mode_execute ${1+"$@"}
# func_mode_finish arg...
func_mode_finish ()
{
- $opt_debug
+ $debug_cmd
+
libs=
libdirs=
admincmds=
@@ -2663,11 +3982,11 @@ func_mode_finish ()
if func_lalib_unsafe_p "$opt"; then
func_append libs " $opt"
else
- func_warning "\`$opt' is not a valid libtool archive"
+ func_warning "'$opt' is not a valid libtool archive"
fi
else
- func_fatal_error "invalid argument \`$opt'"
+ func_fatal_error "invalid argument '$opt'"
fi
done
@@ -2682,12 +4001,12 @@ func_mode_finish ()
# Remove sysroot references
if $opt_dry_run; then
for lib in $libs; do
- echo "removing references to $lt_sysroot and \`=' prefixes from $lib"
+ echo "removing references to $lt_sysroot and '=' prefixes from $lib"
done
else
tmpdir=`func_mktempdir`
for lib in $libs; do
- sed -e "${sysroot_cmd} s/\([ ']-[LR]\)=/\1/g; s/\([ ']\)=/\1/g" $lib \
+ $SED -e "$sysroot_cmd s/\([ ']-[LR]\)=/\1/g; s/\([ ']\)=/\1/g" $lib \
> $tmpdir/tmp-la
mv -f $tmpdir/tmp-la $lib
done
@@ -2712,7 +4031,7 @@ func_mode_finish ()
fi
# Exit here if they wanted silent mode.
- $opt_silent && exit $EXIT_SUCCESS
+ $opt_quiet && exit $EXIT_SUCCESS
if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
echo "----------------------------------------------------------------------"
@@ -2723,27 +4042,27 @@ func_mode_finish ()
echo
echo "If you ever happen to want to link against installed libraries"
echo "in a given directory, LIBDIR, you must either use libtool, and"
- echo "specify the full pathname of the library, or use the \`-LLIBDIR'"
+ echo "specify the full pathname of the library, or use the '-LLIBDIR'"
echo "flag during linking and do at least one of the following:"
if test -n "$shlibpath_var"; then
- echo " - add LIBDIR to the \`$shlibpath_var' environment variable"
+ echo " - add LIBDIR to the '$shlibpath_var' environment variable"
echo " during execution"
fi
if test -n "$runpath_var"; then
- echo " - add LIBDIR to the \`$runpath_var' environment variable"
+ echo " - add LIBDIR to the '$runpath_var' environment variable"
echo " during linking"
fi
if test -n "$hardcode_libdir_flag_spec"; then
libdir=LIBDIR
eval flag=\"$hardcode_libdir_flag_spec\"
- $ECHO " - use the \`$flag' linker flag"
+ $ECHO " - use the '$flag' linker flag"
fi
if test -n "$admincmds"; then
$ECHO " - have your system administrator run these commands:$admincmds"
fi
if test -f /etc/ld.so.conf; then
- echo " - have your system administrator add LIBDIR to \`/etc/ld.so.conf'"
+ echo " - have your system administrator add LIBDIR to '/etc/ld.so.conf'"
fi
echo
@@ -2762,18 +4081,20 @@ func_mode_finish ()
exit $EXIT_SUCCESS
}
-test "$opt_mode" = finish && func_mode_finish ${1+"$@"}
+test finish = "$opt_mode" && func_mode_finish ${1+"$@"}
# func_mode_install arg...
func_mode_install ()
{
- $opt_debug
+ $debug_cmd
+
# There may be an optional sh(1) argument at the beginning of
# install_prog (especially on Windows NT).
- if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh ||
+ if test "$SHELL" = "$nonopt" || test /bin/sh = "$nonopt" ||
# Allow the use of GNU shtool's install command.
- case $nonopt in *shtool*) :;; *) false;; esac; then
+ case $nonopt in *shtool*) :;; *) false;; esac
+ then
# Aesthetically quote it.
func_quote_for_eval "$nonopt"
install_prog="$func_quote_for_eval_result "
@@ -2800,7 +4121,7 @@ func_mode_install ()
opts=
prev=
install_type=
- isdir=no
+ isdir=false
stripme=
no_mode=:
for arg
@@ -2813,7 +4134,7 @@ func_mode_install ()
fi
case $arg in
- -d) isdir=yes ;;
+ -d) isdir=: ;;
-f)
if $install_cp; then :; else
prev=$arg
@@ -2831,7 +4152,7 @@ func_mode_install ()
*)
# If the previous option needed an argument, then skip it.
if test -n "$prev"; then
- if test "x$prev" = x-m && test -n "$install_override_mode"; then
+ if test X-m = "X$prev" && test -n "$install_override_mode"; then
arg2=$install_override_mode
no_mode=false
fi
@@ -2856,7 +4177,7 @@ func_mode_install ()
func_fatal_help "you must specify an install program"
test -n "$prev" && \
- func_fatal_help "the \`$prev' option requires an argument"
+ func_fatal_help "the '$prev' option requires an argument"
if test -n "$install_override_mode" && $no_mode; then
if $install_cp; then :; else
@@ -2878,19 +4199,19 @@ func_mode_install ()
dest=$func_stripname_result
# Check to see that the destination is a directory.
- test -d "$dest" && isdir=yes
- if test "$isdir" = yes; then
- destdir="$dest"
+ test -d "$dest" && isdir=:
+ if $isdir; then
+ destdir=$dest
destname=
else
func_dirname_and_basename "$dest" "" "."
- destdir="$func_dirname_result"
- destname="$func_basename_result"
+ destdir=$func_dirname_result
+ destname=$func_basename_result
# Not a directory, so check to see that there is only one file specified.
set dummy $files; shift
test "$#" -gt 1 && \
- func_fatal_help "\`$dest' is not a directory"
+ func_fatal_help "'$dest' is not a directory"
fi
case $destdir in
[\\/]* | [A-Za-z]:[\\/]*) ;;
@@ -2899,7 +4220,7 @@ func_mode_install ()
case $file in
*.lo) ;;
*)
- func_fatal_help "\`$destdir' must be an absolute directory name"
+ func_fatal_help "'$destdir' must be an absolute directory name"
;;
esac
done
@@ -2908,7 +4229,7 @@ func_mode_install ()
# This variable tells wrapper scripts just to set variables rather
# than running their programs.
- libtool_install_magic="$magic"
+ libtool_install_magic=$magic
staticlibs=
future_libdirs=
@@ -2928,7 +4249,7 @@ func_mode_install ()
# Check to see that this really is a libtool archive.
func_lalib_unsafe_p "$file" \
- || func_fatal_help "\`$file' is not a valid libtool archive"
+ || func_fatal_help "'$file' is not a valid libtool archive"
library_names=
old_library=
@@ -2950,7 +4271,7 @@ func_mode_install ()
fi
func_dirname "$file" "/" ""
- dir="$func_dirname_result"
+ dir=$func_dirname_result
func_append dir "$objdir"
if test -n "$relink_command"; then
@@ -2964,7 +4285,7 @@ func_mode_install ()
# are installed into $libdir/../bin (currently, that works fine)
# but it's something to keep an eye on.
test "$inst_prefix_dir" = "$destdir" && \
- func_fatal_error "error: cannot install \`$file' to a directory not ending in $libdir"
+ func_fatal_error "error: cannot install '$file' to a directory not ending in $libdir"
if test -n "$inst_prefix_dir"; then
# Stick the inst_prefix_dir data into the link command.
@@ -2973,29 +4294,36 @@ func_mode_install ()
relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%%"`
fi
- func_warning "relinking \`$file'"
+ func_warning "relinking '$file'"
func_show_eval "$relink_command" \
- 'func_fatal_error "error: relink \`$file'\'' with the above command before installing it"'
+ 'func_fatal_error "error: relink '\''$file'\'' with the above command before installing it"'
fi
# See the names of the shared library.
set dummy $library_names; shift
if test -n "$1"; then
- realname="$1"
+ realname=$1
shift
- srcname="$realname"
- test -n "$relink_command" && srcname="$realname"T
+ srcname=$realname
+ test -n "$relink_command" && srcname=${realname}T
# Install the shared library and build the symlinks.
func_show_eval "$install_shared_prog $dir/$srcname $destdir/$realname" \
'exit $?'
- tstripme="$stripme"
+ tstripme=$stripme
case $host_os in
cygwin* | mingw* | pw32* | cegcc*)
case $realname in
*.dll.a)
- tstripme=""
+ tstripme=
+ ;;
+ esac
+ ;;
+ os2*)
+ case $realname in
+ *_dll.a)
+ tstripme=
;;
esac
;;
@@ -3006,7 +4334,7 @@ func_mode_install ()
if test "$#" -gt 0; then
# Delete the old symlinks, and create new ones.
- # Try `ln -sf' first, because the `ln' binary might depend on
+ # Try 'ln -sf' first, because the 'ln' binary might depend on
# the symlink we replace! Solaris /bin/ln does not understand -f,
# so we also need to try rm && ln -s.
for linkname
@@ -3017,14 +4345,14 @@ func_mode_install ()
fi
# Do each command in the postinstall commands.
- lib="$destdir/$realname"
+ lib=$destdir/$realname
func_execute_cmds "$postinstall_cmds" 'exit $?'
fi
# Install the pseudo-library for information purposes.
func_basename "$file"
- name="$func_basename_result"
- instname="$dir/$name"i
+ name=$func_basename_result
+ instname=$dir/${name}i
func_show_eval "$install_prog $instname $destdir/$name" 'exit $?'
# Maybe install the static library, too.
@@ -3036,11 +4364,11 @@ func_mode_install ()
# Figure out destination file name, if it wasn't already specified.
if test -n "$destname"; then
- destfile="$destdir/$destname"
+ destfile=$destdir/$destname
else
func_basename "$file"
- destfile="$func_basename_result"
- destfile="$destdir/$destfile"
+ destfile=$func_basename_result
+ destfile=$destdir/$destfile
fi
# Deduce the name of the destination old-style object file.
@@ -3050,11 +4378,11 @@ func_mode_install ()
staticdest=$func_lo2o_result
;;
*.$objext)
- staticdest="$destfile"
+ staticdest=$destfile
destfile=
;;
*)
- func_fatal_help "cannot copy a libtool object to \`$destfile'"
+ func_fatal_help "cannot copy a libtool object to '$destfile'"
;;
esac
@@ -3063,7 +4391,7 @@ func_mode_install ()
func_show_eval "$install_prog $file $destfile" 'exit $?'
# Install the old object if enabled.
- if test "$build_old_libs" = yes; then
+ if test yes = "$build_old_libs"; then
# Deduce the name of the old-style object file.
func_lo2o "$file"
staticobj=$func_lo2o_result
@@ -3075,23 +4403,23 @@ func_mode_install ()
*)
# Figure out destination file name, if it wasn't already specified.
if test -n "$destname"; then
- destfile="$destdir/$destname"
+ destfile=$destdir/$destname
else
func_basename "$file"
- destfile="$func_basename_result"
- destfile="$destdir/$destfile"
+ destfile=$func_basename_result
+ destfile=$destdir/$destfile
fi
# If the file is missing, and there is a .exe on the end, strip it
# because it is most likely a libtool script we actually want to
# install
- stripped_ext=""
+ stripped_ext=
case $file in
*.exe)
if test ! -f "$file"; then
func_stripname '' '.exe' "$file"
file=$func_stripname_result
- stripped_ext=".exe"
+ stripped_ext=.exe
fi
;;
esac
@@ -3119,19 +4447,19 @@ func_mode_install ()
# Check the variables that should have been set.
test -z "$generated_by_libtool_version" && \
- func_fatal_error "invalid libtool wrapper script \`$wrapper'"
+ func_fatal_error "invalid libtool wrapper script '$wrapper'"
- finalize=yes
+ finalize=:
for lib in $notinst_deplibs; do
# Check to see that each library is installed.
libdir=
if test -f "$lib"; then
func_source "$lib"
fi
- libfile="$libdir/"`$ECHO "$lib" | $SED 's%^.*/%%g'` ### testsuite: skip nested quoting test
+ libfile=$libdir/`$ECHO "$lib" | $SED 's%^.*/%%g'`
if test -n "$libdir" && test ! -f "$libfile"; then
- func_warning "\`$lib' has not been installed in \`$libdir'"
- finalize=no
+ func_warning "'$lib' has not been installed in '$libdir'"
+ finalize=false
fi
done
@@ -3139,29 +4467,29 @@ func_mode_install ()
func_source "$wrapper"
outputname=
- if test "$fast_install" = no && test -n "$relink_command"; then
+ if test no = "$fast_install" && test -n "$relink_command"; then
$opt_dry_run || {
- if test "$finalize" = yes; then
+ if $finalize; then
tmpdir=`func_mktempdir`
func_basename "$file$stripped_ext"
- file="$func_basename_result"
- outputname="$tmpdir/$file"
+ file=$func_basename_result
+ outputname=$tmpdir/$file
# Replace the output file specification.
relink_command=`$ECHO "$relink_command" | $SED 's%@OUTPUT@%'"$outputname"'%g'`
- $opt_silent || {
+ $opt_quiet || {
func_quote_for_expand "$relink_command"
eval "func_echo $func_quote_for_expand_result"
}
if eval "$relink_command"; then :
else
- func_error "error: relink \`$file' with the above command before installing it"
+ func_error "error: relink '$file' with the above command before installing it"
$opt_dry_run || ${RM}r "$tmpdir"
continue
fi
- file="$outputname"
+ file=$outputname
else
- func_warning "cannot relink \`$file'"
+ func_warning "cannot relink '$file'"
fi
}
else
@@ -3198,10 +4526,10 @@ func_mode_install ()
for file in $staticlibs; do
func_basename "$file"
- name="$func_basename_result"
+ name=$func_basename_result
# Set up the ranlib parameters.
- oldlib="$destdir/$name"
+ oldlib=$destdir/$name
func_to_tool_file "$oldlib" func_convert_file_msys_to_w32
tool_oldlib=$func_to_tool_file_result
@@ -3216,18 +4544,18 @@ func_mode_install ()
done
test -n "$future_libdirs" && \
- func_warning "remember to run \`$progname --finish$future_libdirs'"
+ func_warning "remember to run '$progname --finish$future_libdirs'"
if test -n "$current_libdirs"; then
# Maybe just do a dry run.
$opt_dry_run && current_libdirs=" -n$current_libdirs"
- exec_cmd='$SHELL $progpath $preserve_args --finish$current_libdirs'
+ exec_cmd='$SHELL "$progpath" $preserve_args --finish$current_libdirs'
else
exit $EXIT_SUCCESS
fi
}
-test "$opt_mode" = install && func_mode_install ${1+"$@"}
+test install = "$opt_mode" && func_mode_install ${1+"$@"}
# func_generate_dlsyms outputname originator pic_p
@@ -3235,16 +4563,17 @@ test "$opt_mode" = install && func_mode_install ${1+"$@"}
# a dlpreopen symbol table.
func_generate_dlsyms ()
{
- $opt_debug
- my_outputname="$1"
- my_originator="$2"
- my_pic_p="${3-no}"
- my_prefix=`$ECHO "$my_originator" | sed 's%[^a-zA-Z0-9]%_%g'`
+ $debug_cmd
+
+ my_outputname=$1
+ my_originator=$2
+ my_pic_p=${3-false}
+ my_prefix=`$ECHO "$my_originator" | $SED 's%[^a-zA-Z0-9]%_%g'`
my_dlsyms=
- if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
+ if test -n "$dlfiles$dlprefiles" || test no != "$dlself"; then
if test -n "$NM" && test -n "$global_symbol_pipe"; then
- my_dlsyms="${my_outputname}S.c"
+ my_dlsyms=${my_outputname}S.c
else
func_error "not configured to extract global symbols from dlpreopened files"
fi
@@ -3255,7 +4584,7 @@ func_generate_dlsyms ()
"") ;;
*.c)
# Discover the nlist of each of the dlfiles.
- nlist="$output_objdir/${my_outputname}.nm"
+ nlist=$output_objdir/$my_outputname.nm
func_show_eval "$RM $nlist ${nlist}S ${nlist}T"
@@ -3263,34 +4592,36 @@ func_generate_dlsyms ()
func_verbose "creating $output_objdir/$my_dlsyms"
$opt_dry_run || $ECHO > "$output_objdir/$my_dlsyms" "\
-/* $my_dlsyms - symbol resolution table for \`$my_outputname' dlsym emulation. */
-/* Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION */
+/* $my_dlsyms - symbol resolution table for '$my_outputname' dlsym emulation. */
+/* Generated by $PROGRAM (GNU $PACKAGE) $VERSION */
#ifdef __cplusplus
extern \"C\" {
#endif
-#if defined(__GNUC__) && (((__GNUC__ == 4) && (__GNUC_MINOR__ >= 4)) || (__GNUC__ > 4))
+#if defined __GNUC__ && (((__GNUC__ == 4) && (__GNUC_MINOR__ >= 4)) || (__GNUC__ > 4))
#pragma GCC diagnostic ignored \"-Wstrict-prototypes\"
#endif
/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */
-#if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE)
-/* DATA imports from DLLs on WIN32 con't be const, because runtime
+#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE
+/* DATA imports from DLLs on WIN32 can't be const, because runtime
relocations are performed -- see ld's documentation on pseudo-relocs. */
# define LT_DLSYM_CONST
-#elif defined(__osf__)
+#elif defined __osf__
/* This system does not cope well with relocations in const data. */
# define LT_DLSYM_CONST
#else
# define LT_DLSYM_CONST const
#endif
+#define STREQ(s1, s2) (strcmp ((s1), (s2)) == 0)
+
/* External symbol declarations for the compiler. */\
"
- if test "$dlself" = yes; then
- func_verbose "generating symbol list for \`$output'"
+ if test yes = "$dlself"; then
+ func_verbose "generating symbol list for '$output'"
$opt_dry_run || echo ': @PROGRAM@ ' > "$nlist"
@@ -3298,7 +4629,7 @@ extern \"C\" {
progfiles=`$ECHO "$objs$old_deplibs" | $SP2NL | $SED "$lo2o" | $NL2SP`
for progfile in $progfiles; do
func_to_tool_file "$progfile" func_convert_file_msys_to_w32
- func_verbose "extracting global C symbols from \`$func_to_tool_file_result'"
+ func_verbose "extracting global C symbols from '$func_to_tool_file_result'"
$opt_dry_run || eval "$NM $func_to_tool_file_result | $global_symbol_pipe >> '$nlist'"
done
@@ -3318,10 +4649,10 @@ extern \"C\" {
# Prepare the list of exported symbols
if test -z "$export_symbols"; then
- export_symbols="$output_objdir/$outputname.exp"
+ export_symbols=$output_objdir/$outputname.exp
$opt_dry_run || {
$RM $export_symbols
- eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"'
+ eval "$SED -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"'
case $host in
*cygwin* | *mingw* | *cegcc* )
eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
@@ -3331,7 +4662,7 @@ extern \"C\" {
}
else
$opt_dry_run || {
- eval "${SED} -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"'
+ eval "$SED -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"'
eval '$GREP -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T'
eval '$MV "$nlist"T "$nlist"'
case $host in
@@ -3345,22 +4676,22 @@ extern \"C\" {
fi
for dlprefile in $dlprefiles; do
- func_verbose "extracting global C symbols from \`$dlprefile'"
+ func_verbose "extracting global C symbols from '$dlprefile'"
func_basename "$dlprefile"
- name="$func_basename_result"
+ name=$func_basename_result
case $host in
*cygwin* | *mingw* | *cegcc* )
# if an import library, we need to obtain dlname
if func_win32_import_lib_p "$dlprefile"; then
func_tr_sh "$dlprefile"
eval "curr_lafile=\$libfile_$func_tr_sh_result"
- dlprefile_dlbasename=""
+ dlprefile_dlbasename=
if test -n "$curr_lafile" && func_lalib_p "$curr_lafile"; then
# Use subshell, to avoid clobbering current variable values
dlprefile_dlname=`source "$curr_lafile" && echo "$dlname"`
- if test -n "$dlprefile_dlname" ; then
+ if test -n "$dlprefile_dlname"; then
func_basename "$dlprefile_dlname"
- dlprefile_dlbasename="$func_basename_result"
+ dlprefile_dlbasename=$func_basename_result
else
# no lafile. user explicitly requested -dlpreopen <import library>.
$sharedlib_from_linklib_cmd "$dlprefile"
@@ -3368,7 +4699,7 @@ extern \"C\" {
fi
fi
$opt_dry_run || {
- if test -n "$dlprefile_dlbasename" ; then
+ if test -n "$dlprefile_dlbasename"; then
eval '$ECHO ": $dlprefile_dlbasename" >> "$nlist"'
else
func_warning "Could not compute DLL name from $name"
@@ -3424,6 +4755,11 @@ extern \"C\" {
echo '/* NONE */' >> "$output_objdir/$my_dlsyms"
fi
+ func_show_eval '$RM "${nlist}I"'
+ if test -n "$global_symbol_to_import"; then
+ eval "$global_symbol_to_import"' < "$nlist"S > "$nlist"I'
+ fi
+
echo >> "$output_objdir/$my_dlsyms" "\
/* The mapping between symbol names and symbols. */
@@ -3432,11 +4768,30 @@ typedef struct {
void *address;
} lt_dlsymlist;
extern LT_DLSYM_CONST lt_dlsymlist
-lt_${my_prefix}_LTX_preloaded_symbols[];
+lt_${my_prefix}_LTX_preloaded_symbols[];\
+"
+
+ if test -s "$nlist"I; then
+ echo >> "$output_objdir/$my_dlsyms" "\
+static void lt_syminit(void)
+{
+ LT_DLSYM_CONST lt_dlsymlist *symbol = lt_${my_prefix}_LTX_preloaded_symbols;
+ for (; symbol->name; ++symbol)
+ {"
+ $SED 's/.*/ if (STREQ (symbol->name, \"&\")) symbol->address = (void *) \&&;/' < "$nlist"I >> "$output_objdir/$my_dlsyms"
+ echo >> "$output_objdir/$my_dlsyms" "\
+ }
+}"
+ fi
+ echo >> "$output_objdir/$my_dlsyms" "\
LT_DLSYM_CONST lt_dlsymlist
lt_${my_prefix}_LTX_preloaded_symbols[] =
-{\
- { \"$my_originator\", (void *) 0 },"
+{ {\"$my_originator\", (void *) 0},"
+
+ if test -s "$nlist"I; then
+ echo >> "$output_objdir/$my_dlsyms" "\
+ {\"@INIT@\", (void *) <_syminit},"
+ fi
case $need_lib_prefix in
no)
@@ -3478,9 +4833,7 @@ static const void *lt_preloaded_setup() {
*-*-hpux*)
pic_flag_for_symtable=" $pic_flag" ;;
*)
- if test "X$my_pic_p" != Xno; then
- pic_flag_for_symtable=" $pic_flag"
- fi
+ $my_pic_p && pic_flag_for_symtable=" $pic_flag"
;;
esac
;;
@@ -3497,10 +4850,10 @@ static const void *lt_preloaded_setup() {
func_show_eval '(cd $output_objdir && $LTCC$symtab_cflags -c$no_builtin_flag$pic_flag_for_symtable "$my_dlsyms")' 'exit $?'
# Clean up the generated files.
- func_show_eval '$RM "$output_objdir/$my_dlsyms" "$nlist" "${nlist}S" "${nlist}T"'
+ func_show_eval '$RM "$output_objdir/$my_dlsyms" "$nlist" "${nlist}S" "${nlist}T" "${nlist}I"'
# Transform the symbol file into the correct name.
- symfileobj="$output_objdir/${my_outputname}S.$objext"
+ symfileobj=$output_objdir/${my_outputname}S.$objext
case $host in
*cygwin* | *mingw* | *cegcc* )
if test -f "$output_objdir/$my_outputname.def"; then
@@ -3518,7 +4871,7 @@ static const void *lt_preloaded_setup() {
esac
;;
*)
- func_fatal_error "unknown suffix for \`$my_dlsyms'"
+ func_fatal_error "unknown suffix for '$my_dlsyms'"
;;
esac
else
@@ -3532,6 +4885,32 @@ static const void *lt_preloaded_setup() {
fi
}
+# func_cygming_gnu_implib_p ARG
+# This predicate returns with zero status (TRUE) if
+# ARG is a GNU/binutils-style import library. Returns
+# with nonzero status (FALSE) otherwise.
+func_cygming_gnu_implib_p ()
+{
+ $debug_cmd
+
+ func_to_tool_file "$1" func_convert_file_msys_to_w32
+ func_cygming_gnu_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $EGREP ' (_head_[A-Za-z0-9_]+_[ad]l*|[A-Za-z0-9_]+_[ad]l*_iname)$'`
+ test -n "$func_cygming_gnu_implib_tmp"
+}
+
+# func_cygming_ms_implib_p ARG
+# This predicate returns with zero status (TRUE) if
+# ARG is an MS-style import library. Returns
+# with nonzero status (FALSE) otherwise.
+func_cygming_ms_implib_p ()
+{
+ $debug_cmd
+
+ func_to_tool_file "$1" func_convert_file_msys_to_w32
+ func_cygming_ms_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $GREP '_NULL_IMPORT_DESCRIPTOR'`
+ test -n "$func_cygming_ms_implib_tmp"
+}
+
# func_win32_libid arg
# return the library type of file 'arg'
#
@@ -3541,8 +4920,9 @@ static const void *lt_preloaded_setup() {
# Despite the name, also deal with 64 bit binaries.
func_win32_libid ()
{
- $opt_debug
- win32_libid_type="unknown"
+ $debug_cmd
+
+ win32_libid_type=unknown
win32_fileres=`file -L $1 2>/dev/null`
case $win32_fileres in
*ar\ archive\ import\ library*) # definitely import
@@ -3552,16 +4932,29 @@ func_win32_libid ()
# Keep the egrep pattern in sync with the one in _LT_CHECK_MAGIC_METHOD.
if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null |
$EGREP 'file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' >/dev/null; then
- func_to_tool_file "$1" func_convert_file_msys_to_w32
- win32_nmres=`eval $NM -f posix -A \"$func_to_tool_file_result\" |
- $SED -n -e '
+ case $nm_interface in
+ "MS dumpbin")
+ if func_cygming_ms_implib_p "$1" ||
+ func_cygming_gnu_implib_p "$1"
+ then
+ win32_nmres=import
+ else
+ win32_nmres=
+ fi
+ ;;
+ *)
+ func_to_tool_file "$1" func_convert_file_msys_to_w32
+ win32_nmres=`eval $NM -f posix -A \"$func_to_tool_file_result\" |
+ $SED -n -e '
1,100{
/ I /{
- s,.*,import,
+ s|.*|import|
p
q
}
}'`
+ ;;
+ esac
case $win32_nmres in
import*) win32_libid_type="x86 archive import";;
*) win32_libid_type="x86 archive static";;
@@ -3593,7 +4986,8 @@ func_win32_libid ()
# $sharedlib_from_linklib_result
func_cygming_dll_for_implib ()
{
- $opt_debug
+ $debug_cmd
+
sharedlib_from_linklib_result=`$DLLTOOL --identify-strict --identify "$1"`
}
@@ -3610,7 +5004,8 @@ func_cygming_dll_for_implib ()
# specified import library.
func_cygming_dll_for_implib_fallback_core ()
{
- $opt_debug
+ $debug_cmd
+
match_literal=`$ECHO "$1" | $SED "$sed_make_literal_regex"`
$OBJDUMP -s --section "$1" "$2" 2>/dev/null |
$SED '/^Contents of section '"$match_literal"':/{
@@ -3646,8 +5041,8 @@ func_cygming_dll_for_implib_fallback_core ()
/./p' |
# we now have a list, one entry per line, of the stringified
# contents of the appropriate section of all members of the
- # archive which possess that section. Heuristic: eliminate
- # all those which have a first or second character that is
+ # archive that possess that section. Heuristic: eliminate
+ # all those that have a first or second character that is
# a '.' (that is, objdump's representation of an unprintable
# character.) This should work for all archives with less than
# 0x302f exports -- but will fail for DLLs whose name actually
@@ -3658,30 +5053,6 @@ func_cygming_dll_for_implib_fallback_core ()
$SED -e '/^\./d;/^.\./d;q'
}
-# func_cygming_gnu_implib_p ARG
-# This predicate returns with zero status (TRUE) if
-# ARG is a GNU/binutils-style import library. Returns
-# with nonzero status (FALSE) otherwise.
-func_cygming_gnu_implib_p ()
-{
- $opt_debug
- func_to_tool_file "$1" func_convert_file_msys_to_w32
- func_cygming_gnu_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $EGREP ' (_head_[A-Za-z0-9_]+_[ad]l*|[A-Za-z0-9_]+_[ad]l*_iname)$'`
- test -n "$func_cygming_gnu_implib_tmp"
-}
-
-# func_cygming_ms_implib_p ARG
-# This predicate returns with zero status (TRUE) if
-# ARG is an MS-style import library. Returns
-# with nonzero status (FALSE) otherwise.
-func_cygming_ms_implib_p ()
-{
- $opt_debug
- func_to_tool_file "$1" func_convert_file_msys_to_w32
- func_cygming_ms_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $GREP '_NULL_IMPORT_DESCRIPTOR'`
- test -n "$func_cygming_ms_implib_tmp"
-}
-
# func_cygming_dll_for_implib_fallback ARG
# Platform-specific function to extract the
# name of the DLL associated with the specified
@@ -3695,16 +5066,17 @@ func_cygming_ms_implib_p ()
# $sharedlib_from_linklib_result
func_cygming_dll_for_implib_fallback ()
{
- $opt_debug
- if func_cygming_gnu_implib_p "$1" ; then
+ $debug_cmd
+
+ if func_cygming_gnu_implib_p "$1"; then
# binutils import library
sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$7' "$1"`
- elif func_cygming_ms_implib_p "$1" ; then
+ elif func_cygming_ms_implib_p "$1"; then
# ms-generated import library
sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$6' "$1"`
else
# unknown
- sharedlib_from_linklib_result=""
+ sharedlib_from_linklib_result=
fi
}
@@ -3712,10 +5084,11 @@ func_cygming_dll_for_implib_fallback ()
# func_extract_an_archive dir oldlib
func_extract_an_archive ()
{
- $opt_debug
- f_ex_an_ar_dir="$1"; shift
- f_ex_an_ar_oldlib="$1"
- if test "$lock_old_archive_extraction" = yes; then
+ $debug_cmd
+
+ f_ex_an_ar_dir=$1; shift
+ f_ex_an_ar_oldlib=$1
+ if test yes = "$lock_old_archive_extraction"; then
lockfile=$f_ex_an_ar_oldlib.lock
until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do
func_echo "Waiting for $lockfile to be removed"
@@ -3724,7 +5097,7 @@ func_extract_an_archive ()
fi
func_show_eval "(cd \$f_ex_an_ar_dir && $AR x \"\$f_ex_an_ar_oldlib\")" \
'stat=$?; rm -f "$lockfile"; exit $stat'
- if test "$lock_old_archive_extraction" = yes; then
+ if test yes = "$lock_old_archive_extraction"; then
$opt_dry_run || rm -f "$lockfile"
fi
if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then
@@ -3738,22 +5111,23 @@ func_extract_an_archive ()
# func_extract_archives gentop oldlib ...
func_extract_archives ()
{
- $opt_debug
- my_gentop="$1"; shift
+ $debug_cmd
+
+ my_gentop=$1; shift
my_oldlibs=${1+"$@"}
- my_oldobjs=""
- my_xlib=""
- my_xabs=""
- my_xdir=""
+ my_oldobjs=
+ my_xlib=
+ my_xabs=
+ my_xdir=
for my_xlib in $my_oldlibs; do
# Extract the objects.
case $my_xlib in
- [\\/]* | [A-Za-z]:[\\/]*) my_xabs="$my_xlib" ;;
+ [\\/]* | [A-Za-z]:[\\/]*) my_xabs=$my_xlib ;;
*) my_xabs=`pwd`"/$my_xlib" ;;
esac
func_basename "$my_xlib"
- my_xlib="$func_basename_result"
+ my_xlib=$func_basename_result
my_xlib_u=$my_xlib
while :; do
case " $extracted_archives " in
@@ -3765,7 +5139,7 @@ func_extract_archives ()
esac
done
extracted_archives="$extracted_archives $my_xlib_u"
- my_xdir="$my_gentop/$my_xlib_u"
+ my_xdir=$my_gentop/$my_xlib_u
func_mkdir_p "$my_xdir"
@@ -3778,22 +5152,23 @@ func_extract_archives ()
cd $my_xdir || exit $?
darwin_archive=$my_xabs
darwin_curdir=`pwd`
- darwin_base_archive=`basename "$darwin_archive"`
+ func_basename "$darwin_archive"
+ darwin_base_archive=$func_basename_result
darwin_arches=`$LIPO -info "$darwin_archive" 2>/dev/null | $GREP Architectures 2>/dev/null || true`
if test -n "$darwin_arches"; then
darwin_arches=`$ECHO "$darwin_arches" | $SED -e 's/.*are://'`
darwin_arch=
func_verbose "$darwin_base_archive has multiple architectures $darwin_arches"
- for darwin_arch in $darwin_arches ; do
- func_mkdir_p "unfat-$$/${darwin_base_archive}-${darwin_arch}"
- $LIPO -thin $darwin_arch -output "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" "${darwin_archive}"
- cd "unfat-$$/${darwin_base_archive}-${darwin_arch}"
- func_extract_an_archive "`pwd`" "${darwin_base_archive}"
+ for darwin_arch in $darwin_arches; do
+ func_mkdir_p "unfat-$$/$darwin_base_archive-$darwin_arch"
+ $LIPO -thin $darwin_arch -output "unfat-$$/$darwin_base_archive-$darwin_arch/$darwin_base_archive" "$darwin_archive"
+ cd "unfat-$$/$darwin_base_archive-$darwin_arch"
+ func_extract_an_archive "`pwd`" "$darwin_base_archive"
cd "$darwin_curdir"
- $RM "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}"
+ $RM "unfat-$$/$darwin_base_archive-$darwin_arch/$darwin_base_archive"
done # $darwin_arches
## Okay now we've a bunch of thin objects, gotta fatten them up :)
- darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print | $SED -e "$basename" | sort -u`
+ darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print | $SED -e "$sed_basename" | sort -u`
darwin_file=
darwin_files=
for darwin_file in $darwin_filelist; do
@@ -3815,7 +5190,7 @@ func_extract_archives ()
my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | sort | $NL2SP`
done
- func_extract_archives_result="$my_oldobjs"
+ func_extract_archives_result=$my_oldobjs
}
@@ -3830,7 +5205,7 @@ func_extract_archives ()
#
# ARG is the value that the WRAPPER_SCRIPT_BELONGS_IN_OBJDIR
# variable will take. If 'yes', then the emitted script
-# will assume that the directory in which it is stored is
+# will assume that the directory where it is stored is
# the $objdir directory. This is a cygwin/mingw-specific
# behavior.
func_emit_wrapper ()
@@ -3841,7 +5216,7 @@ func_emit_wrapper ()
#! $SHELL
# $output - temporary wrapper script for $objdir/$outputname
-# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
+# Generated by $PROGRAM (GNU $PACKAGE) $VERSION
#
# The $output program cannot be directly executed until all the libtool
# libraries that it depends on are installed.
@@ -3898,9 +5273,9 @@ _LTECHO_EOF'
# Very basic option parsing. These options are (a) specific to
# the libtool wrapper, (b) are identical between the wrapper
-# /script/ and the wrapper /executable/ which is used only on
+# /script/ and the wrapper /executable/ that is used only on
# windows platforms, and (c) all begin with the string "--lt-"
-# (application programs are unlikely to have options which match
+# (application programs are unlikely to have options that match
# this pattern).
#
# There are only two supported options: --lt-debug and
@@ -3933,7 +5308,7 @@ func_parse_lt_options ()
# Print the debug banner immediately:
if test -n \"\$lt_option_debug\"; then
- echo \"${outputname}:${output}:\${LINENO}: libtool wrapper (GNU $PACKAGE$TIMESTAMP) $VERSION\" 1>&2
+ echo \"$outputname:$output:\$LINENO: libtool wrapper (GNU $PACKAGE) $VERSION\" 1>&2
fi
}
@@ -3944,7 +5319,7 @@ func_lt_dump_args ()
lt_dump_args_N=1;
for lt_arg
do
- \$ECHO \"${outputname}:${output}:\${LINENO}: newargv[\$lt_dump_args_N]: \$lt_arg\"
+ \$ECHO \"$outputname:$output:\$LINENO: newargv[\$lt_dump_args_N]: \$lt_arg\"
lt_dump_args_N=\`expr \$lt_dump_args_N + 1\`
done
}
@@ -3958,7 +5333,7 @@ func_exec_program_core ()
*-*-mingw | *-*-os2* | *-cegcc*)
$ECHO "\
if test -n \"\$lt_option_debug\"; then
- \$ECHO \"${outputname}:${output}:\${LINENO}: newargv[0]: \$progdir\\\\\$program\" 1>&2
+ \$ECHO \"$outputname:$output:\$LINENO: newargv[0]: \$progdir\\\\\$program\" 1>&2
func_lt_dump_args \${1+\"\$@\"} 1>&2
fi
exec \"\$progdir\\\\\$program\" \${1+\"\$@\"}
@@ -3968,7 +5343,7 @@ func_exec_program_core ()
*)
$ECHO "\
if test -n \"\$lt_option_debug\"; then
- \$ECHO \"${outputname}:${output}:\${LINENO}: newargv[0]: \$progdir/\$program\" 1>&2
+ \$ECHO \"$outputname:$output:\$LINENO: newargv[0]: \$progdir/\$program\" 1>&2
func_lt_dump_args \${1+\"\$@\"} 1>&2
fi
exec \"\$progdir/\$program\" \${1+\"\$@\"}
@@ -4043,13 +5418,13 @@ func_exec_program ()
test -n \"\$absdir\" && thisdir=\"\$absdir\"
"
- if test "$fast_install" = yes; then
+ if test yes = "$fast_install"; then
$ECHO "\
program=lt-'$outputname'$exeext
progdir=\"\$thisdir/$objdir\"
if test ! -f \"\$progdir/\$program\" ||
- { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | ${SED} 1q\`; \\
+ { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | $SED 1q\`; \\
test \"X\$file\" != \"X\$progdir/\$program\"; }; then
file=\"\$\$-\$program\"
@@ -4066,7 +5441,7 @@ func_exec_program ()
if test -n \"\$relink_command\"; then
if relink_command_output=\`eval \$relink_command 2>&1\`; then :
else
- $ECHO \"\$relink_command_output\" >&2
+ \$ECHO \"\$relink_command_output\" >&2
$RM \"\$progdir/\$file\"
exit 1
fi
@@ -4101,7 +5476,7 @@ func_exec_program ()
fi
# Export our shlibpath_var if we have one.
- if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
+ if test yes = "$shlibpath_overrides_runpath" && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
$ECHO "\
# Add our own library path to $shlibpath_var
$shlibpath_var=\"$temp_rpath\$$shlibpath_var\"
@@ -4121,7 +5496,7 @@ func_exec_program ()
fi
else
# The program doesn't exist.
- \$ECHO \"\$0: error: \\\`\$progdir/\$program' does not exist\" 1>&2
+ \$ECHO \"\$0: error: '\$progdir/\$program' does not exist\" 1>&2
\$ECHO \"This script is just a wrapper for \$program.\" 1>&2
\$ECHO \"See the $PACKAGE documentation for more information.\" 1>&2
exit 1
@@ -4140,7 +5515,7 @@ func_emit_cwrapperexe_src ()
cat <<EOF
/* $cwrappersource - temporary wrapper executable for $objdir/$outputname
- Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
+ Generated by $PROGRAM (GNU $PACKAGE) $VERSION
The $output program cannot be directly executed until all the libtool
libraries that it depends on are installed.
@@ -4175,47 +5550,45 @@ EOF
#include <fcntl.h>
#include <sys/stat.h>
+#define STREQ(s1, s2) (strcmp ((s1), (s2)) == 0)
+
/* declarations of non-ANSI functions */
-#if defined(__MINGW32__)
+#if defined __MINGW32__
# ifdef __STRICT_ANSI__
int _putenv (const char *);
# endif
-#elif defined(__CYGWIN__)
+#elif defined __CYGWIN__
# ifdef __STRICT_ANSI__
char *realpath (const char *, char *);
int putenv (char *);
int setenv (const char *, const char *, int);
# endif
-/* #elif defined (other platforms) ... */
+/* #elif defined other_platform || defined ... */
#endif
/* portability defines, excluding path handling macros */
-#if defined(_MSC_VER)
+#if defined _MSC_VER
# define setmode _setmode
# define stat _stat
# define chmod _chmod
# define getcwd _getcwd
# define putenv _putenv
# define S_IXUSR _S_IEXEC
-# ifndef _INTPTR_T_DEFINED
-# define _INTPTR_T_DEFINED
-# define intptr_t int
-# endif
-#elif defined(__MINGW32__)
+#elif defined __MINGW32__
# define setmode _setmode
# define stat _stat
# define chmod _chmod
# define getcwd _getcwd
# define putenv _putenv
-#elif defined(__CYGWIN__)
+#elif defined __CYGWIN__
# define HAVE_SETENV
# define FOPEN_WB "wb"
-/* #elif defined (other platforms) ... */
+/* #elif defined other platforms ... */
#endif
-#if defined(PATH_MAX)
+#if defined PATH_MAX
# define LT_PATHMAX PATH_MAX
-#elif defined(MAXPATHLEN)
+#elif defined MAXPATHLEN
# define LT_PATHMAX MAXPATHLEN
#else
# define LT_PATHMAX 1024
@@ -4234,8 +5607,8 @@ int setenv (const char *, const char *, int);
# define PATH_SEPARATOR ':'
#endif
-#if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \
- defined (__OS2__)
+#if defined _WIN32 || defined __MSDOS__ || defined __DJGPP__ || \
+ defined __OS2__
# define HAVE_DOS_BASED_FILE_SYSTEM
# define FOPEN_WB "wb"
# ifndef DIR_SEPARATOR_2
@@ -4268,10 +5641,10 @@ int setenv (const char *, const char *, int);
#define XMALLOC(type, num) ((type *) xmalloc ((num) * sizeof(type)))
#define XFREE(stale) do { \
- if (stale) { free ((void *) stale); stale = 0; } \
+ if (stale) { free (stale); stale = 0; } \
} while (0)
-#if defined(LT_DEBUGWRAPPER)
+#if defined LT_DEBUGWRAPPER
static int lt_debug = 1;
#else
static int lt_debug = 0;
@@ -4300,11 +5673,16 @@ void lt_dump_script (FILE *f);
EOF
cat <<EOF
-volatile const char * MAGIC_EXE = "$magic_exe";
+#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 5)
+# define externally_visible volatile
+#else
+# define externally_visible __attribute__((externally_visible)) volatile
+#endif
+externally_visible const char * MAGIC_EXE = "$magic_exe";
const char * LIB_PATH_VARNAME = "$shlibpath_var";
EOF
- if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
+ if test yes = "$shlibpath_overrides_runpath" && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
func_to_host_path "$temp_rpath"
cat <<EOF
const char * LIB_PATH_VALUE = "$func_to_host_path_result";
@@ -4328,7 +5706,7 @@ const char * EXE_PATH_VALUE = "";
EOF
fi
- if test "$fast_install" = yes; then
+ if test yes = "$fast_install"; then
cat <<EOF
const char * TARGET_PROGRAM_NAME = "lt-$outputname"; /* hopefully, no .exe */
EOF
@@ -4357,12 +5735,12 @@ main (int argc, char *argv[])
char *actual_cwrapper_name;
char *target_name;
char *lt_argv_zero;
- intptr_t rval = 127;
+ int rval = 127;
int i;
program_name = (char *) xstrdup (base_name (argv[0]));
- newargz = XMALLOC (char *, argc + 1);
+ newargz = XMALLOC (char *, (size_t) argc + 1);
/* very simple arg parsing; don't want to rely on getopt
* also, copy all non cwrapper options to newargz, except
@@ -4371,10 +5749,10 @@ main (int argc, char *argv[])
newargc=0;
for (i = 1; i < argc; i++)
{
- if (strcmp (argv[i], dumpscript_opt) == 0)
+ if (STREQ (argv[i], dumpscript_opt))
{
EOF
- case "$host" in
+ case $host in
*mingw* | *cygwin* )
# make stdout use "unix" line endings
echo " setmode(1,_O_BINARY);"
@@ -4385,12 +5763,12 @@ EOF
lt_dump_script (stdout);
return 0;
}
- if (strcmp (argv[i], debug_opt) == 0)
+ if (STREQ (argv[i], debug_opt))
{
lt_debug = 1;
continue;
}
- if (strcmp (argv[i], ltwrapper_option_prefix) == 0)
+ if (STREQ (argv[i], ltwrapper_option_prefix))
{
/* however, if there is an option in the LTWRAPPER_OPTION_PREFIX
namespace, but it is not one of the ones we know about and
@@ -4413,7 +5791,7 @@ EOF
EOF
cat <<EOF
/* The GNU banner must be the first non-error debug message */
- lt_debugprintf (__FILE__, __LINE__, "libtool wrapper (GNU $PACKAGE$TIMESTAMP) $VERSION\n");
+ lt_debugprintf (__FILE__, __LINE__, "libtool wrapper (GNU $PACKAGE) $VERSION\n");
EOF
cat <<"EOF"
lt_debugprintf (__FILE__, __LINE__, "(main) argv[0]: %s\n", argv[0]);
@@ -4524,7 +5902,7 @@ EOF
cat <<"EOF"
/* execv doesn't actually work on mingw as expected on unix */
newargz = prepare_spawn (newargz);
- rval = _spawnv (_P_WAIT, lt_argv_zero, (const char * const *) newargz);
+ rval = (int) _spawnv (_P_WAIT, lt_argv_zero, (const char * const *) newargz);
if (rval == -1)
{
/* failed to start process */
@@ -4569,7 +5947,7 @@ base_name (const char *name)
{
const char *base;
-#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
+#if defined HAVE_DOS_BASED_FILE_SYSTEM
/* Skip over the disk name in MSDOS pathnames. */
if (isalpha ((unsigned char) name[0]) && name[1] == ':')
name += 2;
@@ -4628,7 +6006,7 @@ find_executable (const char *wrapper)
const char *p_next;
/* static buffer for getcwd */
char tmp[LT_PATHMAX + 1];
- int tmp_len;
+ size_t tmp_len;
char *concat_name;
lt_debugprintf (__FILE__, __LINE__, "(find_executable): %s\n",
@@ -4638,7 +6016,7 @@ find_executable (const char *wrapper)
return NULL;
/* Absolute path? */
-#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
+#if defined HAVE_DOS_BASED_FILE_SYSTEM
if (isalpha ((unsigned char) wrapper[0]) && wrapper[1] == ':')
{
concat_name = xstrdup (wrapper);
@@ -4656,7 +6034,7 @@ find_executable (const char *wrapper)
return concat_name;
XFREE (concat_name);
}
-#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
+#if defined HAVE_DOS_BASED_FILE_SYSTEM
}
#endif
@@ -4679,7 +6057,7 @@ find_executable (const char *wrapper)
for (q = p; *q; q++)
if (IS_PATH_SEPARATOR (*q))
break;
- p_len = q - p;
+ p_len = (size_t) (q - p);
p_next = (*q == '\0' ? q : q + 1);
if (p_len == 0)
{
@@ -4798,7 +6176,7 @@ strendzap (char *str, const char *pat)
if (patlen <= len)
{
str += len - patlen;
- if (strcmp (str, pat) == 0)
+ if (STREQ (str, pat))
*str = '\0';
}
return str;
@@ -4863,7 +6241,7 @@ lt_setenv (const char *name, const char *value)
char *str = xstrdup (value);
setenv (name, str, 1);
#else
- int len = strlen (name) + 1 + strlen (value) + 1;
+ size_t len = strlen (name) + 1 + strlen (value) + 1;
char *str = XMALLOC (char, len);
sprintf (str, "%s=%s", name, value);
if (putenv (str) != EXIT_SUCCESS)
@@ -4880,8 +6258,8 @@ lt_extend_str (const char *orig_value, const char *add, int to_end)
char *new_value;
if (orig_value && *orig_value)
{
- int orig_value_len = strlen (orig_value);
- int add_len = strlen (add);
+ size_t orig_value_len = strlen (orig_value);
+ size_t add_len = strlen (add);
new_value = XMALLOC (char, add_len + orig_value_len + 1);
if (to_end)
{
@@ -4912,10 +6290,10 @@ lt_update_exe_path (const char *name, const char *value)
{
char *new_value = lt_extend_str (getenv (name), value, 0);
/* some systems can't cope with a ':'-terminated path #' */
- int len = strlen (new_value);
- while (((len = strlen (new_value)) > 0) && IS_PATH_SEPARATOR (new_value[len-1]))
+ size_t len = strlen (new_value);
+ while ((len > 0) && IS_PATH_SEPARATOR (new_value[len-1]))
{
- new_value[len-1] = '\0';
+ new_value[--len] = '\0';
}
lt_setenv (name, new_value);
XFREE (new_value);
@@ -5082,27 +6460,47 @@ EOF
# True if ARG is an import lib, as indicated by $file_magic_cmd
func_win32_import_lib_p ()
{
- $opt_debug
+ $debug_cmd
+
case `eval $file_magic_cmd \"\$1\" 2>/dev/null | $SED -e 10q` in
*import*) : ;;
*) false ;;
esac
}
+# func_suncc_cstd_abi
+# !!ONLY CALL THIS FOR SUN CC AFTER $compile_command IS FULLY EXPANDED!!
+# Several compiler flags select an ABI that is incompatible with the
+# Cstd library. Avoid specifying it if any are in CXXFLAGS.
+func_suncc_cstd_abi ()
+{
+ $debug_cmd
+
+ case " $compile_command " in
+ *" -compat=g "*|*\ -std=c++[0-9][0-9]\ *|*" -library=stdcxx4 "*|*" -library=stlport4 "*)
+ suncc_use_cstd_abi=no
+ ;;
+ *)
+ suncc_use_cstd_abi=yes
+ ;;
+ esac
+}
+
# func_mode_link arg...
func_mode_link ()
{
- $opt_debug
+ $debug_cmd
+
case $host in
*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
# It is impossible to link a dll without this setting, and
# we shouldn't force the makefile maintainer to figure out
- # which system we are compiling for in order to pass an extra
+ # what system we are compiling for in order to pass an extra
# flag for every libtool invocation.
# allow_undefined=no
# FIXME: Unfortunately, there are problems with the above when trying
- # to make a dll which has undefined symbols, in which case not
+ # to make a dll that has undefined symbols, in which case not
# even a static library is built. For now, we need to specify
# -no-undefined on the libtool link line when we can be certain
# that all symbols are satisfied, otherwise we get a static library.
@@ -5146,10 +6544,11 @@ func_mode_link ()
module=no
no_install=no
objs=
+ os2dllname=
non_pic_objects=
precious_files_regex=
prefer_static_libs=no
- preload=no
+ preload=false
prev=
prevarg=
release=
@@ -5161,7 +6560,7 @@ func_mode_link ()
vinfo=
vinfo_number=no
weak_libs=
- single_module="${wl}-single_module"
+ single_module=$wl-single_module
func_infer_tag $base_compile
# We need to know -static, to get the right output filenames.
@@ -5169,15 +6568,15 @@ func_mode_link ()
do
case $arg in
-shared)
- test "$build_libtool_libs" != yes && \
- func_fatal_configuration "can not build a shared library"
+ test yes != "$build_libtool_libs" \
+ && func_fatal_configuration "cannot build a shared library"
build_old_libs=no
break
;;
-all-static | -static | -static-libtool-libs)
case $arg in
-all-static)
- if test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then
+ if test yes = "$build_libtool_libs" && test -z "$link_static_flag"; then
func_warning "complete static linking is impossible in this configuration"
fi
if test -n "$link_static_flag"; then
@@ -5210,7 +6609,7 @@ func_mode_link ()
# Go through the arguments, transforming them on the way.
while test "$#" -gt 0; do
- arg="$1"
+ arg=$1
shift
func_quote_for_eval "$arg"
qarg=$func_quote_for_eval_unquoted_result
@@ -5227,21 +6626,21 @@ func_mode_link ()
case $prev in
bindir)
- bindir="$arg"
+ bindir=$arg
prev=
continue
;;
dlfiles|dlprefiles)
- if test "$preload" = no; then
+ $preload || {
# Add the symbol object into the linking commands.
func_append compile_command " @SYMFILE@"
func_append finalize_command " @SYMFILE@"
- preload=yes
- fi
+ preload=:
+ }
case $arg in
*.la | *.lo) ;; # We handle these cases below.
force)
- if test "$dlself" = no; then
+ if test no = "$dlself"; then
dlself=needless
export_dynamic=yes
fi
@@ -5249,9 +6648,9 @@ func_mode_link ()
continue
;;
self)
- if test "$prev" = dlprefiles; then
+ if test dlprefiles = "$prev"; then
dlself=yes
- elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then
+ elif test dlfiles = "$prev" && test yes != "$dlopen_self"; then
dlself=yes
else
dlself=needless
@@ -5261,7 +6660,7 @@ func_mode_link ()
continue
;;
*)
- if test "$prev" = dlfiles; then
+ if test dlfiles = "$prev"; then
func_append dlfiles " $arg"
else
func_append dlprefiles " $arg"
@@ -5272,14 +6671,14 @@ func_mode_link ()
esac
;;
expsyms)
- export_symbols="$arg"
+ export_symbols=$arg
test -f "$arg" \
- || func_fatal_error "symbol file \`$arg' does not exist"
+ || func_fatal_error "symbol file '$arg' does not exist"
prev=
continue
;;
expsyms_regex)
- export_symbols_regex="$arg"
+ export_symbols_regex=$arg
prev=
continue
;;
@@ -5297,7 +6696,13 @@ func_mode_link ()
continue
;;
inst_prefix)
- inst_prefix_dir="$arg"
+ inst_prefix_dir=$arg
+ prev=
+ continue
+ ;;
+ mllvm)
+ # Clang does not use LLVM to link, so we can simply discard any
+ # '-mllvm $arg' options when doing the link step.
prev=
continue
;;
@@ -5321,21 +6726,21 @@ func_mode_link ()
if test -z "$pic_object" ||
test -z "$non_pic_object" ||
- test "$pic_object" = none &&
- test "$non_pic_object" = none; then
- func_fatal_error "cannot find name of object for \`$arg'"
+ test none = "$pic_object" &&
+ test none = "$non_pic_object"; then
+ func_fatal_error "cannot find name of object for '$arg'"
fi
# Extract subdirectory from the argument.
func_dirname "$arg" "/" ""
- xdir="$func_dirname_result"
+ xdir=$func_dirname_result
- if test "$pic_object" != none; then
+ if test none != "$pic_object"; then
# Prepend the subdirectory the object is found in.
- pic_object="$xdir$pic_object"
+ pic_object=$xdir$pic_object
- if test "$prev" = dlfiles; then
- if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then
+ if test dlfiles = "$prev"; then
+ if test yes = "$build_libtool_libs" && test yes = "$dlopen_support"; then
func_append dlfiles " $pic_object"
prev=
continue
@@ -5346,7 +6751,7 @@ func_mode_link ()
fi
# CHECK ME: I think I busted this. -Ossama
- if test "$prev" = dlprefiles; then
+ if test dlprefiles = "$prev"; then
# Preload the old-style object.
func_append dlprefiles " $pic_object"
prev=
@@ -5354,23 +6759,23 @@ func_mode_link ()
# A PIC object.
func_append libobjs " $pic_object"
- arg="$pic_object"
+ arg=$pic_object
fi
# Non-PIC object.
- if test "$non_pic_object" != none; then
+ if test none != "$non_pic_object"; then
# Prepend the subdirectory the object is found in.
- non_pic_object="$xdir$non_pic_object"
+ non_pic_object=$xdir$non_pic_object
# A standard non-PIC object
func_append non_pic_objects " $non_pic_object"
- if test -z "$pic_object" || test "$pic_object" = none ; then
- arg="$non_pic_object"
+ if test -z "$pic_object" || test none = "$pic_object"; then
+ arg=$non_pic_object
fi
else
# If the PIC object exists, use it instead.
# $xdir was prepended to $pic_object above.
- non_pic_object="$pic_object"
+ non_pic_object=$pic_object
func_append non_pic_objects " $non_pic_object"
fi
else
@@ -5378,7 +6783,7 @@ func_mode_link ()
if $opt_dry_run; then
# Extract subdirectory from the argument.
func_dirname "$arg" "/" ""
- xdir="$func_dirname_result"
+ xdir=$func_dirname_result
func_lo2o "$arg"
pic_object=$xdir$objdir/$func_lo2o_result
@@ -5386,24 +6791,29 @@ func_mode_link ()
func_append libobjs " $pic_object"
func_append non_pic_objects " $non_pic_object"
else
- func_fatal_error "\`$arg' is not a valid libtool object"
+ func_fatal_error "'$arg' is not a valid libtool object"
fi
fi
done
else
- func_fatal_error "link input file \`$arg' does not exist"
+ func_fatal_error "link input file '$arg' does not exist"
fi
arg=$save_arg
prev=
continue
;;
+ os2dllname)
+ os2dllname=$arg
+ prev=
+ continue
+ ;;
precious_regex)
- precious_files_regex="$arg"
+ precious_files_regex=$arg
prev=
continue
;;
release)
- release="-$arg"
+ release=-$arg
prev=
continue
;;
@@ -5415,7 +6825,7 @@ func_mode_link ()
func_fatal_error "only absolute run-paths are allowed"
;;
esac
- if test "$prev" = rpath; then
+ if test rpath = "$prev"; then
case "$rpath " in
*" $arg "*) ;;
*) func_append rpath " $arg" ;;
@@ -5430,7 +6840,7 @@ func_mode_link ()
continue
;;
shrext)
- shrext_cmds="$arg"
+ shrext_cmds=$arg
prev=
continue
;;
@@ -5470,7 +6880,7 @@ func_mode_link ()
esac
fi # test -n "$prev"
- prevarg="$arg"
+ prevarg=$arg
case $arg in
-all-static)
@@ -5484,7 +6894,7 @@ func_mode_link ()
-allow-undefined)
# FIXME: remove this flag sometime in the future.
- func_fatal_error "\`-allow-undefined' must not be used because it is the default"
+ func_fatal_error "'-allow-undefined' must not be used because it is the default"
;;
-avoid-version)
@@ -5516,7 +6926,7 @@ func_mode_link ()
if test -n "$export_symbols" || test -n "$export_symbols_regex"; then
func_fatal_error "more than one -exported-symbols argument is not allowed"
fi
- if test "X$arg" = "X-export-symbols"; then
+ if test X-export-symbols = "X$arg"; then
prev=expsyms
else
prev=expsyms_regex
@@ -5550,9 +6960,9 @@ func_mode_link ()
func_stripname "-L" '' "$arg"
if test -z "$func_stripname_result"; then
if test "$#" -gt 0; then
- func_fatal_error "require no space between \`-L' and \`$1'"
+ func_fatal_error "require no space between '-L' and '$1'"
else
- func_fatal_error "need path for \`-L' option"
+ func_fatal_error "need path for '-L' option"
fi
fi
func_resolve_sysroot "$func_stripname_result"
@@ -5563,8 +6973,8 @@ func_mode_link ()
*)
absdir=`cd "$dir" && pwd`
test -z "$absdir" && \
- func_fatal_error "cannot determine absolute directory name of \`$dir'"
- dir="$absdir"
+ func_fatal_error "cannot determine absolute directory name of '$dir'"
+ dir=$absdir
;;
esac
case "$deplibs " in
@@ -5599,7 +7009,7 @@ func_mode_link ()
;;
-l*)
- if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then
+ if test X-lc = "X$arg" || test X-lm = "X$arg"; then
case $host in
*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos* | *-cegcc* | *-*-haiku*)
# These systems don't actually have a C or math library (as such)
@@ -5607,11 +7017,11 @@ func_mode_link ()
;;
*-*-os2*)
# These systems don't actually have a C library (as such)
- test "X$arg" = "X-lc" && continue
+ test X-lc = "X$arg" && continue
;;
- *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
+ *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-bitrig*)
# Do not include libc due to us having libc/libc_r.
- test "X$arg" = "X-lc" && continue
+ test X-lc = "X$arg" && continue
;;
*-*-rhapsody* | *-*-darwin1.[012])
# Rhapsody C and math libraries are in the System framework
@@ -5620,16 +7030,16 @@ func_mode_link ()
;;
*-*-sco3.2v5* | *-*-sco5v6*)
# Causes problems with __ctype
- test "X$arg" = "X-lc" && continue
+ test X-lc = "X$arg" && continue
;;
*-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*)
# Compiler inserts libc in the correct place for threads to work
- test "X$arg" = "X-lc" && continue
+ test X-lc = "X$arg" && continue
;;
esac
- elif test "X$arg" = "X-lc_r"; then
+ elif test X-lc_r = "X$arg"; then
case $host in
- *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
+ *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-bitrig*)
# Do not include libc_r directly, use -pthread flag.
continue
;;
@@ -5639,6 +7049,11 @@ func_mode_link ()
continue
;;
+ -mllvm)
+ prev=mllvm
+ continue
+ ;;
+
-module)
module=yes
continue
@@ -5668,7 +7083,7 @@ func_mode_link ()
;;
-multi_module)
- single_module="${wl}-multi_module"
+ single_module=$wl-multi_module
continue
;;
@@ -5682,8 +7097,8 @@ func_mode_link ()
*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin* | *-cegcc*)
# The PATH hackery in wrapper scripts is required on Windows
# and Darwin in order for the loader to find any dlls it needs.
- func_warning "\`-no-install' is ignored for $host"
- func_warning "assuming \`-no-fast-install' instead"
+ func_warning "'-no-install' is ignored for $host"
+ func_warning "assuming '-no-fast-install' instead"
fast_install=no
;;
*) no_install=yes ;;
@@ -5701,6 +7116,11 @@ func_mode_link ()
continue
;;
+ -os2dllname)
+ prev=os2dllname
+ continue
+ ;;
+
-o) prev=output ;;
-precious-files-regex)
@@ -5788,14 +7208,14 @@ func_mode_link ()
func_stripname '-Wc,' '' "$arg"
args=$func_stripname_result
arg=
- save_ifs="$IFS"; IFS=','
+ save_ifs=$IFS; IFS=,
for flag in $args; do
- IFS="$save_ifs"
+ IFS=$save_ifs
func_quote_for_eval "$flag"
func_append arg " $func_quote_for_eval_result"
func_append compiler_flags " $func_quote_for_eval_result"
done
- IFS="$save_ifs"
+ IFS=$save_ifs
func_stripname ' ' '' "$arg"
arg=$func_stripname_result
;;
@@ -5804,15 +7224,15 @@ func_mode_link ()
func_stripname '-Wl,' '' "$arg"
args=$func_stripname_result
arg=
- save_ifs="$IFS"; IFS=','
+ save_ifs=$IFS; IFS=,
for flag in $args; do
- IFS="$save_ifs"
+ IFS=$save_ifs
func_quote_for_eval "$flag"
func_append arg " $wl$func_quote_for_eval_result"
func_append compiler_flags " $wl$func_quote_for_eval_result"
func_append linker_flags " $func_quote_for_eval_result"
done
- IFS="$save_ifs"
+ IFS=$save_ifs
func_stripname ' ' '' "$arg"
arg=$func_stripname_result
;;
@@ -5835,7 +7255,7 @@ func_mode_link ()
# -msg_* for osf cc
-msg_*)
func_quote_for_eval "$arg"
- arg="$func_quote_for_eval_result"
+ arg=$func_quote_for_eval_result
;;
# Flags to be passed through unchanged, with rationale:
@@ -5847,25 +7267,49 @@ func_mode_link ()
# -m*, -t[45]*, -txscale* architecture-specific flags for GCC
# -F/path path to uninstalled frameworks, gcc on darwin
# -p, -pg, --coverage, -fprofile-* profiling flags for GCC
+ # -fstack-protector* stack protector flags for GCC
# @file GCC response files
# -tp=* Portland pgcc target processor selection
# --sysroot=* for sysroot support
- # -O*, -flto*, -fwhopr*, -fuse-linker-plugin GCC link-time optimization
+ # -O*, -g*, -flto*, -fwhopr*, -fuse-linker-plugin GCC link-time optimization
+ # -specs=* GCC specs files
+ # -stdlib=* select c++ std lib with clang
+ # -fsanitize=* Clang/GCC memory and address sanitizer
-64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
-t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \
- -O*|-flto*|-fwhopr*|-fuse-linker-plugin)
+ -O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*| \
+ -specs=*|-fsanitize=*)
func_quote_for_eval "$arg"
- arg="$func_quote_for_eval_result"
+ arg=$func_quote_for_eval_result
func_append compile_command " $arg"
func_append finalize_command " $arg"
func_append compiler_flags " $arg"
continue
;;
+ -Z*)
+ if test os2 = "`expr $host : '.*\(os2\)'`"; then
+ # OS/2 uses -Zxxx to specify OS/2-specific options
+ compiler_flags="$compiler_flags $arg"
+ func_append compile_command " $arg"
+ func_append finalize_command " $arg"
+ case $arg in
+ -Zlinker | -Zstack)
+ prev=xcompiler
+ ;;
+ esac
+ continue
+ else
+ # Otherwise treat like 'Some other compiler flag' below
+ func_quote_for_eval "$arg"
+ arg=$func_quote_for_eval_result
+ fi
+ ;;
+
# Some other compiler flag.
-* | +*)
func_quote_for_eval "$arg"
- arg="$func_quote_for_eval_result"
+ arg=$func_quote_for_eval_result
;;
*.$objext)
@@ -5886,21 +7330,21 @@ func_mode_link ()
if test -z "$pic_object" ||
test -z "$non_pic_object" ||
- test "$pic_object" = none &&
- test "$non_pic_object" = none; then
- func_fatal_error "cannot find name of object for \`$arg'"
+ test none = "$pic_object" &&
+ test none = "$non_pic_object"; then
+ func_fatal_error "cannot find name of object for '$arg'"
fi
# Extract subdirectory from the argument.
func_dirname "$arg" "/" ""
- xdir="$func_dirname_result"
+ xdir=$func_dirname_result
- if test "$pic_object" != none; then
+ test none = "$pic_object" || {
# Prepend the subdirectory the object is found in.
- pic_object="$xdir$pic_object"
+ pic_object=$xdir$pic_object
- if test "$prev" = dlfiles; then
- if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then
+ if test dlfiles = "$prev"; then
+ if test yes = "$build_libtool_libs" && test yes = "$dlopen_support"; then
func_append dlfiles " $pic_object"
prev=
continue
@@ -5911,7 +7355,7 @@ func_mode_link ()
fi
# CHECK ME: I think I busted this. -Ossama
- if test "$prev" = dlprefiles; then
+ if test dlprefiles = "$prev"; then
# Preload the old-style object.
func_append dlprefiles " $pic_object"
prev=
@@ -5919,23 +7363,23 @@ func_mode_link ()
# A PIC object.
func_append libobjs " $pic_object"
- arg="$pic_object"
- fi
+ arg=$pic_object
+ }
# Non-PIC object.
- if test "$non_pic_object" != none; then
+ if test none != "$non_pic_object"; then
# Prepend the subdirectory the object is found in.
- non_pic_object="$xdir$non_pic_object"
+ non_pic_object=$xdir$non_pic_object
# A standard non-PIC object
func_append non_pic_objects " $non_pic_object"
- if test -z "$pic_object" || test "$pic_object" = none ; then
- arg="$non_pic_object"
+ if test -z "$pic_object" || test none = "$pic_object"; then
+ arg=$non_pic_object
fi
else
# If the PIC object exists, use it instead.
# $xdir was prepended to $pic_object above.
- non_pic_object="$pic_object"
+ non_pic_object=$pic_object
func_append non_pic_objects " $non_pic_object"
fi
else
@@ -5943,7 +7387,7 @@ func_mode_link ()
if $opt_dry_run; then
# Extract subdirectory from the argument.
func_dirname "$arg" "/" ""
- xdir="$func_dirname_result"
+ xdir=$func_dirname_result
func_lo2o "$arg"
pic_object=$xdir$objdir/$func_lo2o_result
@@ -5951,7 +7395,7 @@ func_mode_link ()
func_append libobjs " $pic_object"
func_append non_pic_objects " $non_pic_object"
else
- func_fatal_error "\`$arg' is not a valid libtool object"
+ func_fatal_error "'$arg' is not a valid libtool object"
fi
fi
;;
@@ -5967,11 +7411,11 @@ func_mode_link ()
# A libtool-controlled library.
func_resolve_sysroot "$arg"
- if test "$prev" = dlfiles; then
+ if test dlfiles = "$prev"; then
# This library was specified with -dlopen.
func_append dlfiles " $func_resolve_sysroot_result"
prev=
- elif test "$prev" = dlprefiles; then
+ elif test dlprefiles = "$prev"; then
# The library was specified with -dlpreopen.
func_append dlprefiles " $func_resolve_sysroot_result"
prev=
@@ -5986,7 +7430,7 @@ func_mode_link ()
# Unknown arguments in both finalize_command and compile_command need
# to be aesthetically quoted because they are evaled later.
func_quote_for_eval "$arg"
- arg="$func_quote_for_eval_result"
+ arg=$func_quote_for_eval_result
;;
esac # arg
@@ -5998,9 +7442,9 @@ func_mode_link ()
done # argument parsing loop
test -n "$prev" && \
- func_fatal_help "the \`$prevarg' option requires an argument"
+ func_fatal_help "the '$prevarg' option requires an argument"
- if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then
+ if test yes = "$export_dynamic" && test -n "$export_dynamic_flag_spec"; then
eval arg=\"$export_dynamic_flag_spec\"
func_append compile_command " $arg"
func_append finalize_command " $arg"
@@ -6009,20 +7453,23 @@ func_mode_link ()
oldlibs=
# calculate the name of the file, without its directory
func_basename "$output"
- outputname="$func_basename_result"
- libobjs_save="$libobjs"
+ outputname=$func_basename_result
+ libobjs_save=$libobjs
if test -n "$shlibpath_var"; then
# get the directories listed in $shlibpath_var
- eval shlib_search_path=\`\$ECHO \"\${$shlibpath_var}\" \| \$SED \'s/:/ /g\'\`
+ eval shlib_search_path=\`\$ECHO \"\$$shlibpath_var\" \| \$SED \'s/:/ /g\'\`
else
shlib_search_path=
fi
eval sys_lib_search_path=\"$sys_lib_search_path_spec\"
eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\"
+ # Definition is injected by LT_CONFIG during libtool generation.
+ func_munge_path_list sys_lib_dlsearch_path "$LT_SYS_LIBRARY_PATH"
+
func_dirname "$output" "/" ""
- output_objdir="$func_dirname_result$objdir"
+ output_objdir=$func_dirname_result$objdir
func_to_tool_file "$output_objdir/"
tool_output_objdir=$func_to_tool_file_result
# Create the object directory.
@@ -6045,7 +7492,7 @@ func_mode_link ()
# Find all interdependent deplibs by searching for libraries
# that are linked more than once (e.g. -la -lb -la)
for deplib in $deplibs; do
- if $opt_preserve_dup_deps ; then
+ if $opt_preserve_dup_deps; then
case "$libs " in
*" $deplib "*) func_append specialdeplibs " $deplib" ;;
esac
@@ -6053,7 +7500,7 @@ func_mode_link ()
func_append libs " $deplib"
done
- if test "$linkmode" = lib; then
+ if test lib = "$linkmode"; then
libs="$predeps $libs $compiler_lib_search_path $postdeps"
# Compute libraries that are listed more than once in $predeps
@@ -6085,7 +7532,7 @@ func_mode_link ()
case $file in
*.la) ;;
*)
- func_fatal_help "libraries can \`-dlopen' only libtool libraries: $file"
+ func_fatal_help "libraries can '-dlopen' only libtool libraries: $file"
;;
esac
done
@@ -6093,7 +7540,7 @@ func_mode_link ()
prog)
compile_deplibs=
finalize_deplibs=
- alldeplibs=no
+ alldeplibs=false
newdlfiles=
newdlprefiles=
passes="conv scan dlopen dlpreopen link"
@@ -6105,32 +7552,32 @@ func_mode_link ()
for pass in $passes; do
# The preopen pass in lib mode reverses $deplibs; put it back here
# so that -L comes before libs that need it for instance...
- if test "$linkmode,$pass" = "lib,link"; then
+ if test lib,link = "$linkmode,$pass"; then
## FIXME: Find the place where the list is rebuilt in the wrong
## order, and fix it there properly
tmp_deplibs=
for deplib in $deplibs; do
tmp_deplibs="$deplib $tmp_deplibs"
done
- deplibs="$tmp_deplibs"
+ deplibs=$tmp_deplibs
fi
- if test "$linkmode,$pass" = "lib,link" ||
- test "$linkmode,$pass" = "prog,scan"; then
- libs="$deplibs"
+ if test lib,link = "$linkmode,$pass" ||
+ test prog,scan = "$linkmode,$pass"; then
+ libs=$deplibs
deplibs=
fi
- if test "$linkmode" = prog; then
+ if test prog = "$linkmode"; then
case $pass in
- dlopen) libs="$dlfiles" ;;
- dlpreopen) libs="$dlprefiles" ;;
+ dlopen) libs=$dlfiles ;;
+ dlpreopen) libs=$dlprefiles ;;
link)
libs="$deplibs %DEPLIBS%"
test "X$link_all_deplibs" != Xno && libs="$libs $dependency_libs"
;;
esac
fi
- if test "$linkmode,$pass" = "lib,dlpreopen"; then
+ if test lib,dlpreopen = "$linkmode,$pass"; then
# Collect and forward deplibs of preopened libtool libs
for lib in $dlprefiles; do
# Ignore non-libtool-libs
@@ -6151,26 +7598,26 @@ func_mode_link ()
esac
done
done
- libs="$dlprefiles"
+ libs=$dlprefiles
fi
- if test "$pass" = dlopen; then
+ if test dlopen = "$pass"; then
# Collect dlpreopened libraries
- save_deplibs="$deplibs"
+ save_deplibs=$deplibs
deplibs=
fi
for deplib in $libs; do
lib=
- found=no
+ found=false
case $deplib in
-mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \
|-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*)
- if test "$linkmode,$pass" = "prog,link"; then
+ if test prog,link = "$linkmode,$pass"; then
compile_deplibs="$deplib $compile_deplibs"
finalize_deplibs="$deplib $finalize_deplibs"
else
func_append compiler_flags " $deplib"
- if test "$linkmode" = lib ; then
+ if test lib = "$linkmode"; then
case "$new_inherited_linker_flags " in
*" $deplib "*) ;;
* ) func_append new_inherited_linker_flags " $deplib" ;;
@@ -6180,13 +7627,13 @@ func_mode_link ()
continue
;;
-l*)
- if test "$linkmode" != lib && test "$linkmode" != prog; then
- func_warning "\`-l' is ignored for archives/objects"
+ if test lib != "$linkmode" && test prog != "$linkmode"; then
+ func_warning "'-l' is ignored for archives/objects"
continue
fi
func_stripname '-l' '' "$deplib"
name=$func_stripname_result
- if test "$linkmode" = lib; then
+ if test lib = "$linkmode"; then
searchdirs="$newlib_search_path $lib_search_path $compiler_lib_search_dirs $sys_lib_search_path $shlib_search_path"
else
searchdirs="$newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path"
@@ -6194,31 +7641,22 @@ func_mode_link ()
for searchdir in $searchdirs; do
for search_ext in .la $std_shrext .so .a; do
# Search the libtool library
- lib="$searchdir/lib${name}${search_ext}"
+ lib=$searchdir/lib$name$search_ext
if test -f "$lib"; then
- if test "$search_ext" = ".la"; then
- found=yes
+ if test .la = "$search_ext"; then
+ found=:
else
- found=no
+ found=false
fi
break 2
fi
done
done
- if test "$found" != yes; then
- # deplib doesn't seem to be a libtool library
- if test "$linkmode,$pass" = "prog,link"; then
- compile_deplibs="$deplib $compile_deplibs"
- finalize_deplibs="$deplib $finalize_deplibs"
- else
- deplibs="$deplib $deplibs"
- test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs"
- fi
- continue
- else # deplib is a libtool library
+ if $found; then
+ # deplib is a libtool library
# If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib,
# We need to do some special things here, and not later.
- if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+ if test yes = "$allow_libtool_libs_with_static_runtimes"; then
case " $predeps $postdeps " in
*" $deplib "*)
if func_lalib_p "$lib"; then
@@ -6226,19 +7664,19 @@ func_mode_link ()
old_library=
func_source "$lib"
for l in $old_library $library_names; do
- ll="$l"
+ ll=$l
done
- if test "X$ll" = "X$old_library" ; then # only static version available
- found=no
+ if test "X$ll" = "X$old_library"; then # only static version available
+ found=false
func_dirname "$lib" "" "."
- ladir="$func_dirname_result"
+ ladir=$func_dirname_result
lib=$ladir/$old_library
- if test "$linkmode,$pass" = "prog,link"; then
+ if test prog,link = "$linkmode,$pass"; then
compile_deplibs="$deplib $compile_deplibs"
finalize_deplibs="$deplib $finalize_deplibs"
else
deplibs="$deplib $deplibs"
- test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs"
+ test lib = "$linkmode" && newdependency_libs="$deplib $newdependency_libs"
fi
continue
fi
@@ -6247,15 +7685,25 @@ func_mode_link ()
*) ;;
esac
fi
+ else
+ # deplib doesn't seem to be a libtool library
+ if test prog,link = "$linkmode,$pass"; then
+ compile_deplibs="$deplib $compile_deplibs"
+ finalize_deplibs="$deplib $finalize_deplibs"
+ else
+ deplibs="$deplib $deplibs"
+ test lib = "$linkmode" && newdependency_libs="$deplib $newdependency_libs"
+ fi
+ continue
fi
;; # -l
*.ltframework)
- if test "$linkmode,$pass" = "prog,link"; then
+ if test prog,link = "$linkmode,$pass"; then
compile_deplibs="$deplib $compile_deplibs"
finalize_deplibs="$deplib $finalize_deplibs"
else
deplibs="$deplib $deplibs"
- if test "$linkmode" = lib ; then
+ if test lib = "$linkmode"; then
case "$new_inherited_linker_flags " in
*" $deplib "*) ;;
* ) func_append new_inherited_linker_flags " $deplib" ;;
@@ -6268,18 +7716,18 @@ func_mode_link ()
case $linkmode in
lib)
deplibs="$deplib $deplibs"
- test "$pass" = conv && continue
+ test conv = "$pass" && continue
newdependency_libs="$deplib $newdependency_libs"
func_stripname '-L' '' "$deplib"
func_resolve_sysroot "$func_stripname_result"
func_append newlib_search_path " $func_resolve_sysroot_result"
;;
prog)
- if test "$pass" = conv; then
+ if test conv = "$pass"; then
deplibs="$deplib $deplibs"
continue
fi
- if test "$pass" = scan; then
+ if test scan = "$pass"; then
deplibs="$deplib $deplibs"
else
compile_deplibs="$deplib $compile_deplibs"
@@ -6290,13 +7738,13 @@ func_mode_link ()
func_append newlib_search_path " $func_resolve_sysroot_result"
;;
*)
- func_warning "\`-L' is ignored for archives/objects"
+ func_warning "'-L' is ignored for archives/objects"
;;
esac # linkmode
continue
;; # -L
-R*)
- if test "$pass" = link; then
+ if test link = "$pass"; then
func_stripname '-R' '' "$deplib"
func_resolve_sysroot "$func_stripname_result"
dir=$func_resolve_sysroot_result
@@ -6314,7 +7762,7 @@ func_mode_link ()
lib=$func_resolve_sysroot_result
;;
*.$libext)
- if test "$pass" = conv; then
+ if test conv = "$pass"; then
deplibs="$deplib $deplibs"
continue
fi
@@ -6325,21 +7773,26 @@ func_mode_link ()
case " $dlpreconveniencelibs " in
*" $deplib "*) ;;
*)
- valid_a_lib=no
+ valid_a_lib=false
case $deplibs_check_method in
match_pattern*)
set dummy $deplibs_check_method; shift
match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
if eval "\$ECHO \"$deplib\"" 2>/dev/null | $SED 10q \
| $EGREP "$match_pattern_regex" > /dev/null; then
- valid_a_lib=yes
+ valid_a_lib=:
fi
;;
pass_all)
- valid_a_lib=yes
+ valid_a_lib=:
;;
esac
- if test "$valid_a_lib" != yes; then
+ if $valid_a_lib; then
+ echo
+ $ECHO "*** Warning: Linking the shared library $output against the"
+ $ECHO "*** static library $deplib is not portable!"
+ deplibs="$deplib $deplibs"
+ else
echo
$ECHO "*** Warning: Trying to link with static lib archive $deplib."
echo "*** I have the capability to make that library automatically link in when"
@@ -6347,18 +7800,13 @@ func_mode_link ()
echo "*** shared version of the library, which you do not appear to have"
echo "*** because the file extensions .$libext of this argument makes me believe"
echo "*** that it is just a static archive that I should not use here."
- else
- echo
- $ECHO "*** Warning: Linking the shared library $output against the"
- $ECHO "*** static library $deplib is not portable!"
- deplibs="$deplib $deplibs"
fi
;;
esac
continue
;;
prog)
- if test "$pass" != link; then
+ if test link != "$pass"; then
deplibs="$deplib $deplibs"
else
compile_deplibs="$deplib $compile_deplibs"
@@ -6369,10 +7817,10 @@ func_mode_link ()
esac # linkmode
;; # *.$libext
*.lo | *.$objext)
- if test "$pass" = conv; then
+ if test conv = "$pass"; then
deplibs="$deplib $deplibs"
- elif test "$linkmode" = prog; then
- if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then
+ elif test prog = "$linkmode"; then
+ if test dlpreopen = "$pass" || test yes != "$dlopen_support" || test no = "$build_libtool_libs"; then
# If there is no dlopen support or we're linking statically,
# we need to preload.
func_append newdlprefiles " $deplib"
@@ -6385,22 +7833,20 @@ func_mode_link ()
continue
;;
%DEPLIBS%)
- alldeplibs=yes
+ alldeplibs=:
continue
;;
esac # case $deplib
- if test "$found" = yes || test -f "$lib"; then :
- else
- func_fatal_error "cannot find the library \`$lib' or unhandled argument \`$deplib'"
- fi
+ $found || test -f "$lib" \
+ || func_fatal_error "cannot find the library '$lib' or unhandled argument '$deplib'"
# Check to see that this really is a libtool archive.
func_lalib_unsafe_p "$lib" \
- || func_fatal_error "\`$lib' is not a valid libtool archive"
+ || func_fatal_error "'$lib' is not a valid libtool archive"
func_dirname "$lib" "" "."
- ladir="$func_dirname_result"
+ ladir=$func_dirname_result
dlname=
dlopen=
@@ -6430,19 +7876,19 @@ func_mode_link ()
done
fi
dependency_libs=`$ECHO " $dependency_libs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
- if test "$linkmode,$pass" = "lib,link" ||
- test "$linkmode,$pass" = "prog,scan" ||
- { test "$linkmode" != prog && test "$linkmode" != lib; }; then
+ if test lib,link = "$linkmode,$pass" ||
+ test prog,scan = "$linkmode,$pass" ||
+ { test prog != "$linkmode" && test lib != "$linkmode"; }; then
test -n "$dlopen" && func_append dlfiles " $dlopen"
test -n "$dlpreopen" && func_append dlprefiles " $dlpreopen"
fi
- if test "$pass" = conv; then
+ if test conv = "$pass"; then
# Only check for convenience libraries
deplibs="$lib $deplibs"
if test -z "$libdir"; then
if test -z "$old_library"; then
- func_fatal_error "cannot find name of link library for \`$lib'"
+ func_fatal_error "cannot find name of link library for '$lib'"
fi
# It is a libtool convenience library, so add in its objects.
func_append convenience " $ladir/$objdir/$old_library"
@@ -6450,15 +7896,15 @@ func_mode_link ()
tmp_libs=
for deplib in $dependency_libs; do
deplibs="$deplib $deplibs"
- if $opt_preserve_dup_deps ; then
+ if $opt_preserve_dup_deps; then
case "$tmp_libs " in
*" $deplib "*) func_append specialdeplibs " $deplib" ;;
esac
fi
func_append tmp_libs " $deplib"
done
- elif test "$linkmode" != prog && test "$linkmode" != lib; then
- func_fatal_error "\`$lib' is not a convenience library"
+ elif test prog != "$linkmode" && test lib != "$linkmode"; then
+ func_fatal_error "'$lib' is not a convenience library"
fi
continue
fi # $pass = conv
@@ -6467,26 +7913,26 @@ func_mode_link ()
# Get the name of the library we link against.
linklib=
if test -n "$old_library" &&
- { test "$prefer_static_libs" = yes ||
- test "$prefer_static_libs,$installed" = "built,no"; }; then
+ { test yes = "$prefer_static_libs" ||
+ test built,no = "$prefer_static_libs,$installed"; }; then
linklib=$old_library
else
for l in $old_library $library_names; do
- linklib="$l"
+ linklib=$l
done
fi
if test -z "$linklib"; then
- func_fatal_error "cannot find name of link library for \`$lib'"
+ func_fatal_error "cannot find name of link library for '$lib'"
fi
# This library was specified with -dlopen.
- if test "$pass" = dlopen; then
- if test -z "$libdir"; then
- func_fatal_error "cannot -dlopen a convenience library: \`$lib'"
- fi
+ if test dlopen = "$pass"; then
+ test -z "$libdir" \
+ && func_fatal_error "cannot -dlopen a convenience library: '$lib'"
if test -z "$dlname" ||
- test "$dlopen_support" != yes ||
- test "$build_libtool_libs" = no; then
+ test yes != "$dlopen_support" ||
+ test no = "$build_libtool_libs"
+ then
# If there is no dlname, no dlopen support or we're linking
# statically, we need to preload. We also need to preload any
# dependent libraries so libltdl's deplib preloader doesn't
@@ -6500,40 +7946,40 @@ func_mode_link ()
# We need an absolute path.
case $ladir in
- [\\/]* | [A-Za-z]:[\\/]*) abs_ladir="$ladir" ;;
+ [\\/]* | [A-Za-z]:[\\/]*) abs_ladir=$ladir ;;
*)
abs_ladir=`cd "$ladir" && pwd`
if test -z "$abs_ladir"; then
- func_warning "cannot determine absolute directory name of \`$ladir'"
+ func_warning "cannot determine absolute directory name of '$ladir'"
func_warning "passing it literally to the linker, although it might fail"
- abs_ladir="$ladir"
+ abs_ladir=$ladir
fi
;;
esac
func_basename "$lib"
- laname="$func_basename_result"
+ laname=$func_basename_result
# Find the relevant object directory and library name.
- if test "X$installed" = Xyes; then
+ if test yes = "$installed"; then
if test ! -f "$lt_sysroot$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then
- func_warning "library \`$lib' was moved."
- dir="$ladir"
- absdir="$abs_ladir"
- libdir="$abs_ladir"
+ func_warning "library '$lib' was moved."
+ dir=$ladir
+ absdir=$abs_ladir
+ libdir=$abs_ladir
else
- dir="$lt_sysroot$libdir"
- absdir="$lt_sysroot$libdir"
+ dir=$lt_sysroot$libdir
+ absdir=$lt_sysroot$libdir
fi
- test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes
+ test yes = "$hardcode_automatic" && avoidtemprpath=yes
else
if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then
- dir="$ladir"
- absdir="$abs_ladir"
+ dir=$ladir
+ absdir=$abs_ladir
# Remove this search path later
func_append notinst_path " $abs_ladir"
else
- dir="$ladir/$objdir"
- absdir="$abs_ladir/$objdir"
+ dir=$ladir/$objdir
+ absdir=$abs_ladir/$objdir
# Remove this search path later
func_append notinst_path " $abs_ladir"
fi
@@ -6542,11 +7988,11 @@ func_mode_link ()
name=$func_stripname_result
# This library was specified with -dlpreopen.
- if test "$pass" = dlpreopen; then
- if test -z "$libdir" && test "$linkmode" = prog; then
- func_fatal_error "only libraries may -dlpreopen a convenience library: \`$lib'"
+ if test dlpreopen = "$pass"; then
+ if test -z "$libdir" && test prog = "$linkmode"; then
+ func_fatal_error "only libraries may -dlpreopen a convenience library: '$lib'"
fi
- case "$host" in
+ case $host in
# special handling for platforms with PE-DLLs.
*cygwin* | *mingw* | *cegcc* )
# Linker will automatically link against shared library if both
@@ -6590,9 +8036,9 @@ func_mode_link ()
if test -z "$libdir"; then
# Link the convenience library
- if test "$linkmode" = lib; then
+ if test lib = "$linkmode"; then
deplibs="$dir/$old_library $deplibs"
- elif test "$linkmode,$pass" = "prog,link"; then
+ elif test prog,link = "$linkmode,$pass"; then
compile_deplibs="$dir/$old_library $compile_deplibs"
finalize_deplibs="$dir/$old_library $finalize_deplibs"
else
@@ -6602,14 +8048,14 @@ func_mode_link ()
fi
- if test "$linkmode" = prog && test "$pass" != link; then
+ if test prog = "$linkmode" && test link != "$pass"; then
func_append newlib_search_path " $ladir"
deplibs="$lib $deplibs"
- linkalldeplibs=no
- if test "$link_all_deplibs" != no || test -z "$library_names" ||
- test "$build_libtool_libs" = no; then
- linkalldeplibs=yes
+ linkalldeplibs=false
+ if test no != "$link_all_deplibs" || test -z "$library_names" ||
+ test no = "$build_libtool_libs"; then
+ linkalldeplibs=:
fi
tmp_libs=
@@ -6621,14 +8067,14 @@ func_mode_link ()
;;
esac
# Need to link against all dependency_libs?
- if test "$linkalldeplibs" = yes; then
+ if $linkalldeplibs; then
deplibs="$deplib $deplibs"
else
# Need to hardcode shared library paths
# or/and link against static libraries
newdependency_libs="$deplib $newdependency_libs"
fi
- if $opt_preserve_dup_deps ; then
+ if $opt_preserve_dup_deps; then
case "$tmp_libs " in
*" $deplib "*) func_append specialdeplibs " $deplib" ;;
esac
@@ -6638,15 +8084,15 @@ func_mode_link ()
continue
fi # $linkmode = prog...
- if test "$linkmode,$pass" = "prog,link"; then
+ if test prog,link = "$linkmode,$pass"; then
if test -n "$library_names" &&
- { { test "$prefer_static_libs" = no ||
- test "$prefer_static_libs,$installed" = "built,yes"; } ||
+ { { test no = "$prefer_static_libs" ||
+ test built,yes = "$prefer_static_libs,$installed"; } ||
test -z "$old_library"; }; then
# We need to hardcode the library path
- if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then
+ if test -n "$shlibpath_var" && test -z "$avoidtemprpath"; then
# Make sure the rpath contains only unique directories.
- case "$temp_rpath:" in
+ case $temp_rpath: in
*"$absdir:"*) ;;
*) func_append temp_rpath "$absdir:" ;;
esac
@@ -6675,9 +8121,9 @@ func_mode_link ()
esac
fi # $linkmode,$pass = prog,link...
- if test "$alldeplibs" = yes &&
- { test "$deplibs_check_method" = pass_all ||
- { test "$build_libtool_libs" = yes &&
+ if $alldeplibs &&
+ { test pass_all = "$deplibs_check_method" ||
+ { test yes = "$build_libtool_libs" &&
test -n "$library_names"; }; }; then
# We only need to search for static libraries
continue
@@ -6686,19 +8132,19 @@ func_mode_link ()
link_static=no # Whether the deplib will be linked statically
use_static_libs=$prefer_static_libs
- if test "$use_static_libs" = built && test "$installed" = yes; then
+ if test built = "$use_static_libs" && test yes = "$installed"; then
use_static_libs=no
fi
if test -n "$library_names" &&
- { test "$use_static_libs" = no || test -z "$old_library"; }; then
+ { test no = "$use_static_libs" || test -z "$old_library"; }; then
case $host in
- *cygwin* | *mingw* | *cegcc*)
+ *cygwin* | *mingw* | *cegcc* | *os2*)
# No point in relinking DLLs because paths are not encoded
func_append notinst_deplibs " $lib"
need_relink=no
;;
*)
- if test "$installed" = no; then
+ if test no = "$installed"; then
func_append notinst_deplibs " $lib"
need_relink=yes
fi
@@ -6708,24 +8154,24 @@ func_mode_link ()
# Warn about portability, can't link against -module's on some
# systems (darwin). Don't bleat about dlopened modules though!
- dlopenmodule=""
+ dlopenmodule=
for dlpremoduletest in $dlprefiles; do
if test "X$dlpremoduletest" = "X$lib"; then
- dlopenmodule="$dlpremoduletest"
+ dlopenmodule=$dlpremoduletest
break
fi
done
- if test -z "$dlopenmodule" && test "$shouldnotlink" = yes && test "$pass" = link; then
+ if test -z "$dlopenmodule" && test yes = "$shouldnotlink" && test link = "$pass"; then
echo
- if test "$linkmode" = prog; then
+ if test prog = "$linkmode"; then
$ECHO "*** Warning: Linking the executable $output against the loadable module"
else
$ECHO "*** Warning: Linking the shared library $output against the loadable module"
fi
$ECHO "*** $linklib is not portable!"
fi
- if test "$linkmode" = lib &&
- test "$hardcode_into_libs" = yes; then
+ if test lib = "$linkmode" &&
+ test yes = "$hardcode_into_libs"; then
# Hardcode the library path.
# Skip directories that are in the system default run-time
# search path.
@@ -6753,43 +8199,43 @@ func_mode_link ()
# figure out the soname
set dummy $library_names
shift
- realname="$1"
+ realname=$1
shift
libname=`eval "\\$ECHO \"$libname_spec\""`
# use dlname if we got it. it's perfectly good, no?
if test -n "$dlname"; then
- soname="$dlname"
+ soname=$dlname
elif test -n "$soname_spec"; then
# bleh windows
case $host in
- *cygwin* | mingw* | *cegcc*)
+ *cygwin* | mingw* | *cegcc* | *os2*)
func_arith $current - $age
major=$func_arith_result
- versuffix="-$major"
+ versuffix=-$major
;;
esac
eval soname=\"$soname_spec\"
else
- soname="$realname"
+ soname=$realname
fi
# Make a new name for the extract_expsyms_cmds to use
- soroot="$soname"
+ soroot=$soname
func_basename "$soroot"
- soname="$func_basename_result"
+ soname=$func_basename_result
func_stripname 'lib' '.dll' "$soname"
newlib=libimp-$func_stripname_result.a
# If the library has no export list, then create one now
if test -f "$output_objdir/$soname-def"; then :
else
- func_verbose "extracting exported symbol list from \`$soname'"
+ func_verbose "extracting exported symbol list from '$soname'"
func_execute_cmds "$extract_expsyms_cmds" 'exit $?'
fi
# Create $newlib
if test -f "$output_objdir/$newlib"; then :; else
- func_verbose "generating import library for \`$soname'"
+ func_verbose "generating import library for '$soname'"
func_execute_cmds "$old_archive_from_expsyms_cmds" 'exit $?'
fi
# make sure the library variables are pointing to the new library
@@ -6797,58 +8243,58 @@ func_mode_link ()
linklib=$newlib
fi # test -n "$old_archive_from_expsyms_cmds"
- if test "$linkmode" = prog || test "$opt_mode" != relink; then
+ if test prog = "$linkmode" || test relink != "$opt_mode"; then
add_shlibpath=
add_dir=
add=
lib_linked=yes
case $hardcode_action in
immediate | unsupported)
- if test "$hardcode_direct" = no; then
- add="$dir/$linklib"
+ if test no = "$hardcode_direct"; then
+ add=$dir/$linklib
case $host in
- *-*-sco3.2v5.0.[024]*) add_dir="-L$dir" ;;
- *-*-sysv4*uw2*) add_dir="-L$dir" ;;
+ *-*-sco3.2v5.0.[024]*) add_dir=-L$dir ;;
+ *-*-sysv4*uw2*) add_dir=-L$dir ;;
*-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \
- *-*-unixware7*) add_dir="-L$dir" ;;
+ *-*-unixware7*) add_dir=-L$dir ;;
*-*-darwin* )
- # if the lib is a (non-dlopened) module then we can not
+ # if the lib is a (non-dlopened) module then we cannot
# link against it, someone is ignoring the earlier warnings
if /usr/bin/file -L $add 2> /dev/null |
- $GREP ": [^:]* bundle" >/dev/null ; then
+ $GREP ": [^:]* bundle" >/dev/null; then
if test "X$dlopenmodule" != "X$lib"; then
$ECHO "*** Warning: lib $linklib is a module, not a shared library"
- if test -z "$old_library" ; then
+ if test -z "$old_library"; then
echo
echo "*** And there doesn't seem to be a static archive available"
echo "*** The link will probably fail, sorry"
else
- add="$dir/$old_library"
+ add=$dir/$old_library
fi
elif test -n "$old_library"; then
- add="$dir/$old_library"
+ add=$dir/$old_library
fi
fi
esac
- elif test "$hardcode_minus_L" = no; then
+ elif test no = "$hardcode_minus_L"; then
case $host in
- *-*-sunos*) add_shlibpath="$dir" ;;
+ *-*-sunos*) add_shlibpath=$dir ;;
esac
- add_dir="-L$dir"
- add="-l$name"
- elif test "$hardcode_shlibpath_var" = no; then
- add_shlibpath="$dir"
- add="-l$name"
+ add_dir=-L$dir
+ add=-l$name
+ elif test no = "$hardcode_shlibpath_var"; then
+ add_shlibpath=$dir
+ add=-l$name
else
lib_linked=no
fi
;;
relink)
- if test "$hardcode_direct" = yes &&
- test "$hardcode_direct_absolute" = no; then
- add="$dir/$linklib"
- elif test "$hardcode_minus_L" = yes; then
- add_dir="-L$absdir"
+ if test yes = "$hardcode_direct" &&
+ test no = "$hardcode_direct_absolute"; then
+ add=$dir/$linklib
+ elif test yes = "$hardcode_minus_L"; then
+ add_dir=-L$absdir
# Try looking first in the location we're being installed to.
if test -n "$inst_prefix_dir"; then
case $libdir in
@@ -6857,10 +8303,10 @@ func_mode_link ()
;;
esac
fi
- add="-l$name"
- elif test "$hardcode_shlibpath_var" = yes; then
- add_shlibpath="$dir"
- add="-l$name"
+ add=-l$name
+ elif test yes = "$hardcode_shlibpath_var"; then
+ add_shlibpath=$dir
+ add=-l$name
else
lib_linked=no
fi
@@ -6868,7 +8314,7 @@ func_mode_link ()
*) lib_linked=no ;;
esac
- if test "$lib_linked" != yes; then
+ if test yes != "$lib_linked"; then
func_fatal_configuration "unsupported hardcode properties"
fi
@@ -6878,15 +8324,15 @@ func_mode_link ()
*) func_append compile_shlibpath "$add_shlibpath:" ;;
esac
fi
- if test "$linkmode" = prog; then
+ if test prog = "$linkmode"; then
test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs"
test -n "$add" && compile_deplibs="$add $compile_deplibs"
else
test -n "$add_dir" && deplibs="$add_dir $deplibs"
test -n "$add" && deplibs="$add $deplibs"
- if test "$hardcode_direct" != yes &&
- test "$hardcode_minus_L" != yes &&
- test "$hardcode_shlibpath_var" = yes; then
+ if test yes != "$hardcode_direct" &&
+ test yes != "$hardcode_minus_L" &&
+ test yes = "$hardcode_shlibpath_var"; then
case :$finalize_shlibpath: in
*":$libdir:"*) ;;
*) func_append finalize_shlibpath "$libdir:" ;;
@@ -6895,33 +8341,33 @@ func_mode_link ()
fi
fi
- if test "$linkmode" = prog || test "$opt_mode" = relink; then
+ if test prog = "$linkmode" || test relink = "$opt_mode"; then
add_shlibpath=
add_dir=
add=
# Finalize command for both is simple: just hardcode it.
- if test "$hardcode_direct" = yes &&
- test "$hardcode_direct_absolute" = no; then
- add="$libdir/$linklib"
- elif test "$hardcode_minus_L" = yes; then
- add_dir="-L$libdir"
- add="-l$name"
- elif test "$hardcode_shlibpath_var" = yes; then
+ if test yes = "$hardcode_direct" &&
+ test no = "$hardcode_direct_absolute"; then
+ add=$libdir/$linklib
+ elif test yes = "$hardcode_minus_L"; then
+ add_dir=-L$libdir
+ add=-l$name
+ elif test yes = "$hardcode_shlibpath_var"; then
case :$finalize_shlibpath: in
*":$libdir:"*) ;;
*) func_append finalize_shlibpath "$libdir:" ;;
esac
- add="-l$name"
- elif test "$hardcode_automatic" = yes; then
+ add=-l$name
+ elif test yes = "$hardcode_automatic"; then
if test -n "$inst_prefix_dir" &&
- test -f "$inst_prefix_dir$libdir/$linklib" ; then
- add="$inst_prefix_dir$libdir/$linklib"
+ test -f "$inst_prefix_dir$libdir/$linklib"; then
+ add=$inst_prefix_dir$libdir/$linklib
else
- add="$libdir/$linklib"
+ add=$libdir/$linklib
fi
else
# We cannot seem to hardcode it, guess we'll fake it.
- add_dir="-L$libdir"
+ add_dir=-L$libdir
# Try looking first in the location we're being installed to.
if test -n "$inst_prefix_dir"; then
case $libdir in
@@ -6930,10 +8376,10 @@ func_mode_link ()
;;
esac
fi
- add="-l$name"
+ add=-l$name
fi
- if test "$linkmode" = prog; then
+ if test prog = "$linkmode"; then
test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs"
test -n "$add" && finalize_deplibs="$add $finalize_deplibs"
else
@@ -6941,43 +8387,43 @@ func_mode_link ()
test -n "$add" && deplibs="$add $deplibs"
fi
fi
- elif test "$linkmode" = prog; then
+ elif test prog = "$linkmode"; then
# Here we assume that one of hardcode_direct or hardcode_minus_L
# is not unsupported. This is valid on all known static and
# shared platforms.
- if test "$hardcode_direct" != unsupported; then
- test -n "$old_library" && linklib="$old_library"
+ if test unsupported != "$hardcode_direct"; then
+ test -n "$old_library" && linklib=$old_library
compile_deplibs="$dir/$linklib $compile_deplibs"
finalize_deplibs="$dir/$linklib $finalize_deplibs"
else
compile_deplibs="-l$name -L$dir $compile_deplibs"
finalize_deplibs="-l$name -L$dir $finalize_deplibs"
fi
- elif test "$build_libtool_libs" = yes; then
+ elif test yes = "$build_libtool_libs"; then
# Not a shared library
- if test "$deplibs_check_method" != pass_all; then
+ if test pass_all != "$deplibs_check_method"; then
# We're trying link a shared library against a static one
# but the system doesn't support it.
# Just print a warning and add the library to dependency_libs so
# that the program can be linked against the static library.
echo
- $ECHO "*** Warning: This system can not link to static lib archive $lib."
+ $ECHO "*** Warning: This system cannot link to static lib archive $lib."
echo "*** I have the capability to make that library automatically link in when"
echo "*** you link to this library. But I can only do this if you have a"
echo "*** shared version of the library, which you do not appear to have."
- if test "$module" = yes; then
+ if test yes = "$module"; then
echo "*** But as you try to build a module library, libtool will still create "
echo "*** a static module, that should work as long as the dlopening application"
echo "*** is linked with the -dlopen flag to resolve symbols at runtime."
if test -z "$global_symbol_pipe"; then
echo
echo "*** However, this would only work if libtool was able to extract symbol"
- echo "*** lists from a program, using \`nm' or equivalent, but libtool could"
+ echo "*** lists from a program, using 'nm' or equivalent, but libtool could"
echo "*** not find such a program. So, this module is probably useless."
- echo "*** \`nm' from GNU binutils and a full rebuild may help."
+ echo "*** 'nm' from GNU binutils and a full rebuild may help."
fi
- if test "$build_old_libs" = no; then
+ if test no = "$build_old_libs"; then
build_libtool_libs=module
build_old_libs=yes
else
@@ -6990,11 +8436,11 @@ func_mode_link ()
fi
fi # link shared/static library?
- if test "$linkmode" = lib; then
+ if test lib = "$linkmode"; then
if test -n "$dependency_libs" &&
- { test "$hardcode_into_libs" != yes ||
- test "$build_old_libs" = yes ||
- test "$link_static" = yes; }; then
+ { test yes != "$hardcode_into_libs" ||
+ test yes = "$build_old_libs" ||
+ test yes = "$link_static"; }; then
# Extract -R from dependency_libs
temp_deplibs=
for libdir in $dependency_libs; do
@@ -7008,12 +8454,12 @@ func_mode_link ()
*) func_append temp_deplibs " $libdir";;
esac
done
- dependency_libs="$temp_deplibs"
+ dependency_libs=$temp_deplibs
fi
func_append newlib_search_path " $absdir"
# Link against this library
- test "$link_static" = no && newdependency_libs="$abs_ladir/$laname $newdependency_libs"
+ test no = "$link_static" && newdependency_libs="$abs_ladir/$laname $newdependency_libs"
# ... and its dependency_libs
tmp_libs=
for deplib in $dependency_libs; do
@@ -7023,7 +8469,7 @@ func_mode_link ()
func_resolve_sysroot "$func_stripname_result";;
*) func_resolve_sysroot "$deplib" ;;
esac
- if $opt_preserve_dup_deps ; then
+ if $opt_preserve_dup_deps; then
case "$tmp_libs " in
*" $func_resolve_sysroot_result "*)
func_append specialdeplibs " $func_resolve_sysroot_result" ;;
@@ -7032,12 +8478,12 @@ func_mode_link ()
func_append tmp_libs " $func_resolve_sysroot_result"
done
- if test "$link_all_deplibs" != no; then
+ if test no != "$link_all_deplibs"; then
# Add the search paths of all dependency libraries
for deplib in $dependency_libs; do
path=
case $deplib in
- -L*) path="$deplib" ;;
+ -L*) path=$deplib ;;
*.la)
func_resolve_sysroot "$deplib"
deplib=$func_resolve_sysroot_result
@@ -7045,12 +8491,12 @@ func_mode_link ()
dir=$func_dirname_result
# We need an absolute path.
case $dir in
- [\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;;
+ [\\/]* | [A-Za-z]:[\\/]*) absdir=$dir ;;
*)
absdir=`cd "$dir" && pwd`
if test -z "$absdir"; then
- func_warning "cannot determine absolute directory name of \`$dir'"
- absdir="$dir"
+ func_warning "cannot determine absolute directory name of '$dir'"
+ absdir=$dir
fi
;;
esac
@@ -7058,35 +8504,35 @@ func_mode_link ()
case $host in
*-*-darwin*)
depdepl=
- eval deplibrary_names=`${SED} -n -e 's/^library_names=\(.*\)$/\1/p' $deplib`
- if test -n "$deplibrary_names" ; then
- for tmp in $deplibrary_names ; do
+ eval deplibrary_names=`$SED -n -e 's/^library_names=\(.*\)$/\1/p' $deplib`
+ if test -n "$deplibrary_names"; then
+ for tmp in $deplibrary_names; do
depdepl=$tmp
done
- if test -f "$absdir/$objdir/$depdepl" ; then
- depdepl="$absdir/$objdir/$depdepl"
- darwin_install_name=`${OTOOL} -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'`
+ if test -f "$absdir/$objdir/$depdepl"; then
+ depdepl=$absdir/$objdir/$depdepl
+ darwin_install_name=`$OTOOL -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'`
if test -z "$darwin_install_name"; then
- darwin_install_name=`${OTOOL64} -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'`
+ darwin_install_name=`$OTOOL64 -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'`
fi
- func_append compiler_flags " ${wl}-dylib_file ${wl}${darwin_install_name}:${depdepl}"
- func_append linker_flags " -dylib_file ${darwin_install_name}:${depdepl}"
+ func_append compiler_flags " $wl-dylib_file $wl$darwin_install_name:$depdepl"
+ func_append linker_flags " -dylib_file $darwin_install_name:$depdepl"
path=
fi
fi
;;
*)
- path="-L$absdir/$objdir"
+ path=-L$absdir/$objdir
;;
esac
else
- eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
+ eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
test -z "$libdir" && \
- func_fatal_error "\`$deplib' is not a valid libtool archive"
+ func_fatal_error "'$deplib' is not a valid libtool archive"
test "$absdir" != "$libdir" && \
- func_warning "\`$deplib' seems to be moved"
+ func_warning "'$deplib' seems to be moved"
- path="-L$absdir"
+ path=-L$absdir
fi
;;
esac
@@ -7098,23 +8544,23 @@ func_mode_link ()
fi # link_all_deplibs != no
fi # linkmode = lib
done # for deplib in $libs
- if test "$pass" = link; then
- if test "$linkmode" = "prog"; then
+ if test link = "$pass"; then
+ if test prog = "$linkmode"; then
compile_deplibs="$new_inherited_linker_flags $compile_deplibs"
finalize_deplibs="$new_inherited_linker_flags $finalize_deplibs"
else
compiler_flags="$compiler_flags "`$ECHO " $new_inherited_linker_flags" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
fi
fi
- dependency_libs="$newdependency_libs"
- if test "$pass" = dlpreopen; then
+ dependency_libs=$newdependency_libs
+ if test dlpreopen = "$pass"; then
# Link the dlpreopened libraries before other libraries
for deplib in $save_deplibs; do
deplibs="$deplib $deplibs"
done
fi
- if test "$pass" != dlopen; then
- if test "$pass" != conv; then
+ if test dlopen != "$pass"; then
+ test conv = "$pass" || {
# Make sure lib_search_path contains only unique directories.
lib_search_path=
for dir in $newlib_search_path; do
@@ -7124,12 +8570,12 @@ func_mode_link ()
esac
done
newlib_search_path=
- fi
+ }
- if test "$linkmode,$pass" != "prog,link"; then
- vars="deplibs"
- else
+ if test prog,link = "$linkmode,$pass"; then
vars="compile_deplibs finalize_deplibs"
+ else
+ vars=deplibs
fi
for var in $vars dependency_libs; do
# Add libraries to $var in reverse order
@@ -7187,62 +8633,93 @@ func_mode_link ()
eval $var=\"$tmp_libs\"
done # for var
fi
+
+ # Add Sun CC postdeps if required:
+ test CXX = "$tagname" && {
+ case $host_os in
+ linux*)
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ C*) # Sun C++ 5.9
+ func_suncc_cstd_abi
+
+ if test no != "$suncc_use_cstd_abi"; then
+ func_append postdeps ' -library=Cstd -library=Crun'
+ fi
+ ;;
+ esac
+ ;;
+
+ solaris*)
+ func_cc_basename "$CC"
+ case $func_cc_basename_result in
+ CC* | sunCC*)
+ func_suncc_cstd_abi
+
+ if test no != "$suncc_use_cstd_abi"; then
+ func_append postdeps ' -library=Cstd -library=Crun'
+ fi
+ ;;
+ esac
+ ;;
+ esac
+ }
+
# Last step: remove runtime libs from dependency_libs
# (they stay in deplibs)
tmp_libs=
- for i in $dependency_libs ; do
+ for i in $dependency_libs; do
case " $predeps $postdeps $compiler_lib_search_path " in
*" $i "*)
- i=""
+ i=
;;
esac
- if test -n "$i" ; then
+ if test -n "$i"; then
func_append tmp_libs " $i"
fi
done
dependency_libs=$tmp_libs
done # for pass
- if test "$linkmode" = prog; then
- dlfiles="$newdlfiles"
+ if test prog = "$linkmode"; then
+ dlfiles=$newdlfiles
fi
- if test "$linkmode" = prog || test "$linkmode" = lib; then
- dlprefiles="$newdlprefiles"
+ if test prog = "$linkmode" || test lib = "$linkmode"; then
+ dlprefiles=$newdlprefiles
fi
case $linkmode in
oldlib)
- if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
- func_warning "\`-dlopen' is ignored for archives"
+ if test -n "$dlfiles$dlprefiles" || test no != "$dlself"; then
+ func_warning "'-dlopen' is ignored for archives"
fi
case " $deplibs" in
*\ -l* | *\ -L*)
- func_warning "\`-l' and \`-L' are ignored for archives" ;;
+ func_warning "'-l' and '-L' are ignored for archives" ;;
esac
test -n "$rpath" && \
- func_warning "\`-rpath' is ignored for archives"
+ func_warning "'-rpath' is ignored for archives"
test -n "$xrpath" && \
- func_warning "\`-R' is ignored for archives"
+ func_warning "'-R' is ignored for archives"
test -n "$vinfo" && \
- func_warning "\`-version-info/-version-number' is ignored for archives"
+ func_warning "'-version-info/-version-number' is ignored for archives"
test -n "$release" && \
- func_warning "\`-release' is ignored for archives"
+ func_warning "'-release' is ignored for archives"
test -n "$export_symbols$export_symbols_regex" && \
- func_warning "\`-export-symbols' is ignored for archives"
+ func_warning "'-export-symbols' is ignored for archives"
# Now set the variables for building old libraries.
build_libtool_libs=no
- oldlibs="$output"
+ oldlibs=$output
func_append objs "$old_deplibs"
;;
lib)
- # Make sure we only generate libraries of the form `libNAME.la'.
+ # Make sure we only generate libraries of the form 'libNAME.la'.
case $outputname in
lib*)
func_stripname 'lib' '.la' "$outputname"
@@ -7251,10 +8728,10 @@ func_mode_link ()
eval libname=\"$libname_spec\"
;;
*)
- test "$module" = no && \
- func_fatal_help "libtool library \`$output' must begin with \`lib'"
+ test no = "$module" \
+ && func_fatal_help "libtool library '$output' must begin with 'lib'"
- if test "$need_lib_prefix" != no; then
+ if test no != "$need_lib_prefix"; then
# Add the "lib" prefix for modules if required
func_stripname '' '.la' "$outputname"
name=$func_stripname_result
@@ -7268,8 +8745,8 @@ func_mode_link ()
esac
if test -n "$objs"; then
- if test "$deplibs_check_method" != pass_all; then
- func_fatal_error "cannot build libtool library \`$output' from non-libtool objects on this host:$objs"
+ if test pass_all != "$deplibs_check_method"; then
+ func_fatal_error "cannot build libtool library '$output' from non-libtool objects on this host:$objs"
else
echo
$ECHO "*** Warning: Linking the shared library $output against the non-libtool"
@@ -7278,21 +8755,21 @@ func_mode_link ()
fi
fi
- test "$dlself" != no && \
- func_warning "\`-dlopen self' is ignored for libtool libraries"
+ test no = "$dlself" \
+ || func_warning "'-dlopen self' is ignored for libtool libraries"
set dummy $rpath
shift
- test "$#" -gt 1 && \
- func_warning "ignoring multiple \`-rpath's for a libtool library"
+ test 1 -lt "$#" \
+ && func_warning "ignoring multiple '-rpath's for a libtool library"
- install_libdir="$1"
+ install_libdir=$1
oldlibs=
if test -z "$rpath"; then
- if test "$build_libtool_libs" = yes; then
+ if test yes = "$build_libtool_libs"; then
# Building a libtool convenience library.
- # Some compilers have problems with a `.al' extension so
+ # Some compilers have problems with a '.al' extension so
# convenience libraries should have the same extension an
# archive normally would.
oldlibs="$output_objdir/$libname.$libext $oldlibs"
@@ -7301,20 +8778,20 @@ func_mode_link ()
fi
test -n "$vinfo" && \
- func_warning "\`-version-info/-version-number' is ignored for convenience libraries"
+ func_warning "'-version-info/-version-number' is ignored for convenience libraries"
test -n "$release" && \
- func_warning "\`-release' is ignored for convenience libraries"
+ func_warning "'-release' is ignored for convenience libraries"
else
# Parse the version information argument.
- save_ifs="$IFS"; IFS=':'
+ save_ifs=$IFS; IFS=:
set dummy $vinfo 0 0 0
shift
- IFS="$save_ifs"
+ IFS=$save_ifs
test -n "$7" && \
- func_fatal_help "too many parameters to \`-version-info'"
+ func_fatal_help "too many parameters to '-version-info'"
# convert absolute version numbers to libtool ages
# this retains compatibility with .la files and attempts
@@ -7322,45 +8799,45 @@ func_mode_link ()
case $vinfo_number in
yes)
- number_major="$1"
- number_minor="$2"
- number_revision="$3"
+ number_major=$1
+ number_minor=$2
+ number_revision=$3
#
# There are really only two kinds -- those that
# use the current revision as the major version
# and those that subtract age and use age as
# a minor version. But, then there is irix
- # which has an extra 1 added just for fun
+ # that has an extra 1 added just for fun
#
case $version_type in
# correct linux to gnu/linux during the next big refactor
- darwin|linux|osf|windows|none)
+ darwin|freebsd-elf|linux|osf|windows|none)
func_arith $number_major + $number_minor
current=$func_arith_result
- age="$number_minor"
- revision="$number_revision"
+ age=$number_minor
+ revision=$number_revision
;;
- freebsd-aout|freebsd-elf|qnx|sunos)
- current="$number_major"
- revision="$number_minor"
- age="0"
+ freebsd-aout|qnx|sunos)
+ current=$number_major
+ revision=$number_minor
+ age=0
;;
irix|nonstopux)
func_arith $number_major + $number_minor
current=$func_arith_result
- age="$number_minor"
- revision="$number_minor"
+ age=$number_minor
+ revision=$number_minor
lt_irix_increment=no
;;
*)
- func_fatal_configuration "$modename: unknown library version type \`$version_type'"
+ func_fatal_configuration "$modename: unknown library version type '$version_type'"
;;
esac
;;
no)
- current="$1"
- revision="$2"
- age="$3"
+ current=$1
+ revision=$2
+ age=$3
;;
esac
@@ -7368,30 +8845,30 @@ func_mode_link ()
case $current in
0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
*)
- func_error "CURRENT \`$current' must be a nonnegative integer"
- func_fatal_error "\`$vinfo' is not valid version information"
+ func_error "CURRENT '$current' must be a nonnegative integer"
+ func_fatal_error "'$vinfo' is not valid version information"
;;
esac
case $revision in
0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
*)
- func_error "REVISION \`$revision' must be a nonnegative integer"
- func_fatal_error "\`$vinfo' is not valid version information"
+ func_error "REVISION '$revision' must be a nonnegative integer"
+ func_fatal_error "'$vinfo' is not valid version information"
;;
esac
case $age in
0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
*)
- func_error "AGE \`$age' must be a nonnegative integer"
- func_fatal_error "\`$vinfo' is not valid version information"
+ func_error "AGE '$age' must be a nonnegative integer"
+ func_fatal_error "'$vinfo' is not valid version information"
;;
esac
if test "$age" -gt "$current"; then
- func_error "AGE \`$age' is greater than the current interface number \`$current'"
- func_fatal_error "\`$vinfo' is not valid version information"
+ func_error "AGE '$age' is greater than the current interface number '$current'"
+ func_fatal_error "'$vinfo' is not valid version information"
fi
# Calculate the version variables.
@@ -7406,26 +8883,36 @@ func_mode_link ()
# verstring for coding it into the library header
func_arith $current - $age
major=.$func_arith_result
- versuffix="$major.$age.$revision"
+ versuffix=$major.$age.$revision
# Darwin ld doesn't like 0 for these options...
func_arith $current + 1
minor_current=$func_arith_result
- xlcverstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision"
+ xlcverstring="$wl-compatibility_version $wl$minor_current $wl-current_version $wl$minor_current.$revision"
verstring="-compatibility_version $minor_current -current_version $minor_current.$revision"
+ # On Darwin other compilers
+ case $CC in
+ nagfor*)
+ verstring="$wl-compatibility_version $wl$minor_current $wl-current_version $wl$minor_current.$revision"
+ ;;
+ *)
+ verstring="-compatibility_version $minor_current -current_version $minor_current.$revision"
+ ;;
+ esac
;;
freebsd-aout)
- major=".$current"
- versuffix=".$current.$revision";
+ major=.$current
+ versuffix=.$current.$revision
;;
freebsd-elf)
- major=".$current"
- versuffix=".$current"
+ func_arith $current - $age
+ major=.$func_arith_result
+ versuffix=$major.$age.$revision
;;
irix | nonstopux)
- if test "X$lt_irix_increment" = "Xno"; then
+ if test no = "$lt_irix_increment"; then
func_arith $current - $age
else
func_arith $current - $age + 1
@@ -7436,69 +8923,74 @@ func_mode_link ()
nonstopux) verstring_prefix=nonstopux ;;
*) verstring_prefix=sgi ;;
esac
- verstring="$verstring_prefix$major.$revision"
+ verstring=$verstring_prefix$major.$revision
# Add in all the interfaces that we are compatible with.
loop=$revision
- while test "$loop" -ne 0; do
+ while test 0 -ne "$loop"; do
func_arith $revision - $loop
iface=$func_arith_result
func_arith $loop - 1
loop=$func_arith_result
- verstring="$verstring_prefix$major.$iface:$verstring"
+ verstring=$verstring_prefix$major.$iface:$verstring
done
- # Before this point, $major must not contain `.'.
+ # Before this point, $major must not contain '.'.
major=.$major
- versuffix="$major.$revision"
+ versuffix=$major.$revision
;;
linux) # correct to gnu/linux during the next big refactor
func_arith $current - $age
major=.$func_arith_result
- versuffix="$major.$age.$revision"
+ versuffix=$major.$age.$revision
;;
osf)
func_arith $current - $age
major=.$func_arith_result
- versuffix=".$current.$age.$revision"
- verstring="$current.$age.$revision"
+ versuffix=.$current.$age.$revision
+ verstring=$current.$age.$revision
# Add in all the interfaces that we are compatible with.
loop=$age
- while test "$loop" -ne 0; do
+ while test 0 -ne "$loop"; do
func_arith $current - $loop
iface=$func_arith_result
func_arith $loop - 1
loop=$func_arith_result
- verstring="$verstring:${iface}.0"
+ verstring=$verstring:$iface.0
done
# Make executables depend on our current version.
- func_append verstring ":${current}.0"
+ func_append verstring ":$current.0"
;;
qnx)
- major=".$current"
- versuffix=".$current"
+ major=.$current
+ versuffix=.$current
+ ;;
+
+ sco)
+ major=.$current
+ versuffix=.$current
;;
sunos)
- major=".$current"
- versuffix=".$current.$revision"
+ major=.$current
+ versuffix=.$current.$revision
;;
windows)
# Use '-' rather than '.', since we only want one
- # extension on DOS 8.3 filesystems.
+ # extension on DOS 8.3 file systems.
func_arith $current - $age
major=$func_arith_result
- versuffix="-$major"
+ versuffix=-$major
;;
*)
- func_fatal_configuration "unknown library version type \`$version_type'"
+ func_fatal_configuration "unknown library version type '$version_type'"
;;
esac
@@ -7512,42 +9004,45 @@ func_mode_link ()
verstring=
;;
*)
- verstring="0.0"
+ verstring=0.0
;;
esac
- if test "$need_version" = no; then
+ if test no = "$need_version"; then
versuffix=
else
- versuffix=".0.0"
+ versuffix=.0.0
fi
fi
# Remove version info from name if versioning should be avoided
- if test "$avoid_version" = yes && test "$need_version" = no; then
+ if test yes,no = "$avoid_version,$need_version"; then
major=
versuffix=
- verstring=""
+ verstring=
fi
# Check to see if the archive will have undefined symbols.
- if test "$allow_undefined" = yes; then
- if test "$allow_undefined_flag" = unsupported; then
- func_warning "undefined symbols not allowed in $host shared libraries"
- build_libtool_libs=no
- build_old_libs=yes
+ if test yes = "$allow_undefined"; then
+ if test unsupported = "$allow_undefined_flag"; then
+ if test yes = "$build_old_libs"; then
+ func_warning "undefined symbols not allowed in $host shared libraries; building static only"
+ build_libtool_libs=no
+ else
+ func_fatal_error "can't build $host shared library unless -no-undefined is specified"
+ fi
fi
else
# Don't allow undefined symbols.
- allow_undefined_flag="$no_undefined_flag"
+ allow_undefined_flag=$no_undefined_flag
fi
fi
- func_generate_dlsyms "$libname" "$libname" "yes"
+ func_generate_dlsyms "$libname" "$libname" :
func_append libobjs " $symfileobj"
- test "X$libobjs" = "X " && libobjs=
+ test " " = "$libobjs" && libobjs=
- if test "$opt_mode" != relink; then
+ if test relink != "$opt_mode"; then
# Remove our outputs, but don't remove object files since they
# may have been created when compiling PIC objects.
removelist=
@@ -7556,8 +9051,8 @@ func_mode_link ()
case $p in
*.$objext | *.gcno)
;;
- $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*)
- if test "X$precious_files_regex" != "X"; then
+ $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/$libname$release.*)
+ if test -n "$precious_files_regex"; then
if $ECHO "$p" | $EGREP -e "$precious_files_regex" >/dev/null 2>&1
then
continue
@@ -7573,11 +9068,11 @@ func_mode_link ()
fi
# Now set the variables for building old libraries.
- if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then
+ if test yes = "$build_old_libs" && test convenience != "$build_libtool_libs"; then
func_append oldlibs " $output_objdir/$libname.$libext"
# Transform .lo files to .o files.
- oldobjs="$objs "`$ECHO "$libobjs" | $SP2NL | $SED "/\.${libext}$/d; $lo2o" | $NL2SP`
+ oldobjs="$objs "`$ECHO "$libobjs" | $SP2NL | $SED "/\.$libext$/d; $lo2o" | $NL2SP`
fi
# Eliminate all temporary directories.
@@ -7598,13 +9093,13 @@ func_mode_link ()
*) func_append finalize_rpath " $libdir" ;;
esac
done
- if test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes; then
+ if test yes != "$hardcode_into_libs" || test yes = "$build_old_libs"; then
dependency_libs="$temp_xrpath $dependency_libs"
fi
fi
# Make sure dlfiles contains only unique files that won't be dlpreopened
- old_dlfiles="$dlfiles"
+ old_dlfiles=$dlfiles
dlfiles=
for lib in $old_dlfiles; do
case " $dlprefiles $dlfiles " in
@@ -7614,7 +9109,7 @@ func_mode_link ()
done
# Make sure dlprefiles contains only unique files
- old_dlprefiles="$dlprefiles"
+ old_dlprefiles=$dlprefiles
dlprefiles=
for lib in $old_dlprefiles; do
case "$dlprefiles " in
@@ -7623,7 +9118,7 @@ func_mode_link ()
esac
done
- if test "$build_libtool_libs" = yes; then
+ if test yes = "$build_libtool_libs"; then
if test -n "$rpath"; then
case $host in
*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos* | *-cegcc* | *-*-haiku*)
@@ -7647,7 +9142,7 @@ func_mode_link ()
;;
*)
# Add libc to deplibs on all other systems if necessary.
- if test "$build_libtool_need_lc" = "yes"; then
+ if test yes = "$build_libtool_need_lc"; then
func_append deplibs " -lc"
fi
;;
@@ -7663,9 +9158,9 @@ func_mode_link ()
# I'm not sure if I'm treating the release correctly. I think
# release should show up in the -l (ie -lgmp5) so we don't want to
# add it in twice. Is that correct?
- release=""
- versuffix=""
- major=""
+ release=
+ versuffix=
+ major=
newdeplibs=
droppeddeps=no
case $deplibs_check_method in
@@ -7694,20 +9189,20 @@ EOF
-l*)
func_stripname -l '' "$i"
name=$func_stripname_result
- if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+ if test yes = "$allow_libtool_libs_with_static_runtimes"; then
case " $predeps $postdeps " in
*" $i "*)
func_append newdeplibs " $i"
- i=""
+ i=
;;
esac
fi
- if test -n "$i" ; then
+ if test -n "$i"; then
libname=`eval "\\$ECHO \"$libname_spec\""`
deplib_matches=`eval "\\$ECHO \"$library_names_spec\""`
set dummy $deplib_matches; shift
deplib_match=$1
- if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
+ if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0; then
func_append newdeplibs " $i"
else
droppeddeps=yes
@@ -7737,20 +9232,20 @@ EOF
$opt_dry_run || $RM conftest
if $LTCC $LTCFLAGS -o conftest conftest.c $i; then
ldd_output=`ldd conftest`
- if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+ if test yes = "$allow_libtool_libs_with_static_runtimes"; then
case " $predeps $postdeps " in
*" $i "*)
func_append newdeplibs " $i"
- i=""
+ i=
;;
esac
fi
- if test -n "$i" ; then
+ if test -n "$i"; then
libname=`eval "\\$ECHO \"$libname_spec\""`
deplib_matches=`eval "\\$ECHO \"$library_names_spec\""`
set dummy $deplib_matches; shift
deplib_match=$1
- if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
+ if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0; then
func_append newdeplibs " $i"
else
droppeddeps=yes
@@ -7787,24 +9282,24 @@ EOF
-l*)
func_stripname -l '' "$a_deplib"
name=$func_stripname_result
- if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+ if test yes = "$allow_libtool_libs_with_static_runtimes"; then
case " $predeps $postdeps " in
*" $a_deplib "*)
func_append newdeplibs " $a_deplib"
- a_deplib=""
+ a_deplib=
;;
esac
fi
- if test -n "$a_deplib" ; then
+ if test -n "$a_deplib"; then
libname=`eval "\\$ECHO \"$libname_spec\""`
if test -n "$file_magic_glob"; then
libnameglob=`func_echo_all "$libname" | $SED -e $file_magic_glob`
else
libnameglob=$libname
fi
- test "$want_nocaseglob" = yes && nocaseglob=`shopt -p nocaseglob`
+ test yes = "$want_nocaseglob" && nocaseglob=`shopt -p nocaseglob`
for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
- if test "$want_nocaseglob" = yes; then
+ if test yes = "$want_nocaseglob"; then
shopt -s nocaseglob
potential_libs=`ls $i/$libnameglob[.-]* 2>/dev/null`
$nocaseglob
@@ -7822,25 +9317,25 @@ EOF
# We might still enter an endless loop, since a link
# loop can be closed while we follow links,
# but so what?
- potlib="$potent_lib"
+ potlib=$potent_lib
while test -h "$potlib" 2>/dev/null; do
- potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'`
+ potliblink=`ls -ld $potlib | $SED 's/.* -> //'`
case $potliblink in
- [\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";;
- *) potlib=`$ECHO "$potlib" | $SED 's,[^/]*$,,'`"$potliblink";;
+ [\\/]* | [A-Za-z]:[\\/]*) potlib=$potliblink;;
+ *) potlib=`$ECHO "$potlib" | $SED 's|[^/]*$||'`"$potliblink";;
esac
done
if eval $file_magic_cmd \"\$potlib\" 2>/dev/null |
$SED -e 10q |
$EGREP "$file_magic_regex" > /dev/null; then
func_append newdeplibs " $a_deplib"
- a_deplib=""
+ a_deplib=
break 2
fi
done
done
fi
- if test -n "$a_deplib" ; then
+ if test -n "$a_deplib"; then
droppeddeps=yes
echo
$ECHO "*** Warning: linker path does not have real file for library $a_deplib."
@@ -7848,7 +9343,7 @@ EOF
echo "*** you link to this library. But I can only do this if you have a"
echo "*** shared version of the library, which you do not appear to have"
echo "*** because I did check the linker path looking for a file starting"
- if test -z "$potlib" ; then
+ if test -z "$potlib"; then
$ECHO "*** with $libname but no candidates were found. (...for file magic test)"
else
$ECHO "*** with $libname and none of the candidates passed a file format test"
@@ -7871,30 +9366,30 @@ EOF
-l*)
func_stripname -l '' "$a_deplib"
name=$func_stripname_result
- if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+ if test yes = "$allow_libtool_libs_with_static_runtimes"; then
case " $predeps $postdeps " in
*" $a_deplib "*)
func_append newdeplibs " $a_deplib"
- a_deplib=""
+ a_deplib=
;;
esac
fi
- if test -n "$a_deplib" ; then
+ if test -n "$a_deplib"; then
libname=`eval "\\$ECHO \"$libname_spec\""`
for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
for potent_lib in $potential_libs; do
- potlib="$potent_lib" # see symlink-check above in file_magic test
+ potlib=$potent_lib # see symlink-check above in file_magic test
if eval "\$ECHO \"$potent_lib\"" 2>/dev/null | $SED 10q | \
$EGREP "$match_pattern_regex" > /dev/null; then
func_append newdeplibs " $a_deplib"
- a_deplib=""
+ a_deplib=
break 2
fi
done
done
fi
- if test -n "$a_deplib" ; then
+ if test -n "$a_deplib"; then
droppeddeps=yes
echo
$ECHO "*** Warning: linker path does not have real file for library $a_deplib."
@@ -7902,7 +9397,7 @@ EOF
echo "*** you link to this library. But I can only do this if you have a"
echo "*** shared version of the library, which you do not appear to have"
echo "*** because I did check the linker path looking for a file starting"
- if test -z "$potlib" ; then
+ if test -z "$potlib"; then
$ECHO "*** with $libname but no candidates were found. (...for regex pattern test)"
else
$ECHO "*** with $libname and none of the candidates passed a file format test"
@@ -7918,18 +9413,18 @@ EOF
done # Gone through all deplibs.
;;
none | unknown | *)
- newdeplibs=""
+ newdeplibs=
tmp_deplibs=`$ECHO " $deplibs" | $SED 's/ -lc$//; s/ -[LR][^ ]*//g'`
- if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
- for i in $predeps $postdeps ; do
+ if test yes = "$allow_libtool_libs_with_static_runtimes"; then
+ for i in $predeps $postdeps; do
# can't use Xsed below, because $i might contain '/'
- tmp_deplibs=`$ECHO " $tmp_deplibs" | $SED "s,$i,,"`
+ tmp_deplibs=`$ECHO " $tmp_deplibs" | $SED "s|$i||"`
done
fi
case $tmp_deplibs in
*[!\ \ ]*)
echo
- if test "X$deplibs_check_method" = "Xnone"; then
+ if test none = "$deplibs_check_method"; then
echo "*** Warning: inter-library dependencies are not supported in this platform."
else
echo "*** Warning: inter-library dependencies are not known to be supported."
@@ -7953,8 +9448,8 @@ EOF
;;
esac
- if test "$droppeddeps" = yes; then
- if test "$module" = yes; then
+ if test yes = "$droppeddeps"; then
+ if test yes = "$module"; then
echo
echo "*** Warning: libtool could not satisfy all declared inter-library"
$ECHO "*** dependencies of module $libname. Therefore, libtool will create"
@@ -7963,12 +9458,12 @@ EOF
if test -z "$global_symbol_pipe"; then
echo
echo "*** However, this would only work if libtool was able to extract symbol"
- echo "*** lists from a program, using \`nm' or equivalent, but libtool could"
+ echo "*** lists from a program, using 'nm' or equivalent, but libtool could"
echo "*** not find such a program. So, this module is probably useless."
- echo "*** \`nm' from GNU binutils and a full rebuild may help."
+ echo "*** 'nm' from GNU binutils and a full rebuild may help."
fi
- if test "$build_old_libs" = no; then
- oldlibs="$output_objdir/$libname.$libext"
+ if test no = "$build_old_libs"; then
+ oldlibs=$output_objdir/$libname.$libext
build_libtool_libs=module
build_old_libs=yes
else
@@ -7979,14 +9474,14 @@ EOF
echo "*** automatically added whenever a program is linked with this library"
echo "*** or is declared to -dlopen it."
- if test "$allow_undefined" = no; then
+ if test no = "$allow_undefined"; then
echo
echo "*** Since this library must not contain undefined symbols,"
echo "*** because either the platform does not support them or"
echo "*** it was explicitly requested with -no-undefined,"
echo "*** libtool will only create a static version of it."
- if test "$build_old_libs" = no; then
- oldlibs="$output_objdir/$libname.$libext"
+ if test no = "$build_old_libs"; then
+ oldlibs=$output_objdir/$libname.$libext
build_libtool_libs=module
build_old_libs=yes
else
@@ -8032,7 +9527,7 @@ EOF
*) func_append new_libs " $deplib" ;;
esac
done
- deplibs="$new_libs"
+ deplibs=$new_libs
# All the library-specific variables (install_libdir is set above).
library_names=
@@ -8040,25 +9535,25 @@ EOF
dlname=
# Test again, we may have decided not to build it any more
- if test "$build_libtool_libs" = yes; then
- # Remove ${wl} instances when linking with ld.
+ if test yes = "$build_libtool_libs"; then
+ # Remove $wl instances when linking with ld.
# FIXME: should test the right _cmds variable.
case $archive_cmds in
*\$LD\ *) wl= ;;
esac
- if test "$hardcode_into_libs" = yes; then
+ if test yes = "$hardcode_into_libs"; then
# Hardcode the library paths
hardcode_libdirs=
dep_rpath=
- rpath="$finalize_rpath"
- test "$opt_mode" != relink && rpath="$compile_rpath$rpath"
+ rpath=$finalize_rpath
+ test relink = "$opt_mode" || rpath=$compile_rpath$rpath
for libdir in $rpath; do
if test -n "$hardcode_libdir_flag_spec"; then
if test -n "$hardcode_libdir_separator"; then
func_replace_sysroot "$libdir"
libdir=$func_replace_sysroot_result
if test -z "$hardcode_libdirs"; then
- hardcode_libdirs="$libdir"
+ hardcode_libdirs=$libdir
else
# Just accumulate the unique libdirs.
case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
@@ -8083,7 +9578,7 @@ EOF
# Substitute the hardcoded libdirs into the rpath.
if test -n "$hardcode_libdir_separator" &&
test -n "$hardcode_libdirs"; then
- libdir="$hardcode_libdirs"
+ libdir=$hardcode_libdirs
eval "dep_rpath=\"$hardcode_libdir_flag_spec\""
fi
if test -n "$runpath_var" && test -n "$perm_rpath"; then
@@ -8097,8 +9592,8 @@ EOF
test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs"
fi
- shlibpath="$finalize_shlibpath"
- test "$opt_mode" != relink && shlibpath="$compile_shlibpath$shlibpath"
+ shlibpath=$finalize_shlibpath
+ test relink = "$opt_mode" || shlibpath=$compile_shlibpath$shlibpath
if test -n "$shlibpath"; then
eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var"
fi
@@ -8108,19 +9603,19 @@ EOF
eval library_names=\"$library_names_spec\"
set dummy $library_names
shift
- realname="$1"
+ realname=$1
shift
if test -n "$soname_spec"; then
eval soname=\"$soname_spec\"
else
- soname="$realname"
+ soname=$realname
fi
if test -z "$dlname"; then
dlname=$soname
fi
- lib="$output_objdir/$realname"
+ lib=$output_objdir/$realname
linknames=
for link
do
@@ -8134,7 +9629,7 @@ EOF
delfiles=
if test -n "$export_symbols" && test -n "$include_expsyms"; then
$opt_dry_run || cp "$export_symbols" "$output_objdir/$libname.uexp"
- export_symbols="$output_objdir/$libname.uexp"
+ export_symbols=$output_objdir/$libname.uexp
func_append delfiles " $export_symbols"
fi
@@ -8143,31 +9638,31 @@ EOF
cygwin* | mingw* | cegcc*)
if test -n "$export_symbols" && test -z "$export_symbols_regex"; then
# exporting using user supplied symfile
- if test "x`$SED 1q $export_symbols`" != xEXPORTS; then
+ func_dll_def_p "$export_symbols" || {
# and it's NOT already a .def file. Must figure out
# which of the given symbols are data symbols and tag
# them as such. So, trigger use of export_symbols_cmds.
# export_symbols gets reassigned inside the "prepare
# the list of exported symbols" if statement, so the
# include_expsyms logic still works.
- orig_export_symbols="$export_symbols"
+ orig_export_symbols=$export_symbols
export_symbols=
always_export_symbols=yes
- fi
+ }
fi
;;
esac
# Prepare the list of exported symbols
if test -z "$export_symbols"; then
- if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then
- func_verbose "generating symbol list for \`$libname.la'"
- export_symbols="$output_objdir/$libname.exp"
+ if test yes = "$always_export_symbols" || test -n "$export_symbols_regex"; then
+ func_verbose "generating symbol list for '$libname.la'"
+ export_symbols=$output_objdir/$libname.exp
$opt_dry_run || $RM $export_symbols
cmds=$export_symbols_cmds
- save_ifs="$IFS"; IFS='~'
+ save_ifs=$IFS; IFS='~'
for cmd1 in $cmds; do
- IFS="$save_ifs"
+ IFS=$save_ifs
# Take the normal branch if the nm_file_list_spec branch
# doesn't work or if tool conversion is not needed.
case $nm_file_list_spec~$to_tool_file_cmd in
@@ -8181,7 +9676,7 @@ EOF
try_normal_branch=no
;;
esac
- if test "$try_normal_branch" = yes \
+ if test yes = "$try_normal_branch" \
&& { test "$len" -lt "$max_cmd_len" \
|| test "$max_cmd_len" -le -1; }
then
@@ -8192,7 +9687,7 @@ EOF
output_la=$func_basename_result
save_libobjs=$libobjs
save_output=$output
- output=${output_objdir}/${output_la}.nm
+ output=$output_objdir/$output_la.nm
func_to_tool_file "$output"
libobjs=$nm_file_list_spec$func_to_tool_file_result
func_append delfiles " $output"
@@ -8215,8 +9710,8 @@ EOF
break
fi
done
- IFS="$save_ifs"
- if test -n "$export_symbols_regex" && test "X$skipped_export" != "X:"; then
+ IFS=$save_ifs
+ if test -n "$export_symbols_regex" && test : != "$skipped_export"; then
func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
func_show_eval '$MV "${export_symbols}T" "$export_symbols"'
fi
@@ -8224,16 +9719,16 @@ EOF
fi
if test -n "$export_symbols" && test -n "$include_expsyms"; then
- tmp_export_symbols="$export_symbols"
- test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols"
+ tmp_export_symbols=$export_symbols
+ test -n "$orig_export_symbols" && tmp_export_symbols=$orig_export_symbols
$opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"'
fi
- if test "X$skipped_export" != "X:" && test -n "$orig_export_symbols"; then
+ if test : != "$skipped_export" && test -n "$orig_export_symbols"; then
# The given exports_symbols file has to be filtered, so filter it.
- func_verbose "filter symbol list for \`$libname.la' to tag DATA exports"
+ func_verbose "filter symbol list for '$libname.la' to tag DATA exports"
# FIXME: $output_objdir/$libname.filter potentially contains lots of
- # 's' commands which not all seds can handle. GNU sed should be fine
+ # 's' commands, which not all seds can handle. GNU sed should be fine
# though. Also, the filter scales superlinearly with the number of
# global variables. join(1) would be nice here, but unfortunately
# isn't a blessed tool.
@@ -8252,11 +9747,11 @@ EOF
;;
esac
done
- deplibs="$tmp_deplibs"
+ deplibs=$tmp_deplibs
if test -n "$convenience"; then
if test -n "$whole_archive_flag_spec" &&
- test "$compiler_needs_object" = yes &&
+ test yes = "$compiler_needs_object" &&
test -z "$libobjs"; then
# extract the archives, so we have objects to list.
# TODO: could optimize this to just extract one archive.
@@ -8267,7 +9762,7 @@ EOF
eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
test "X$libobjs" = "X " && libobjs=
else
- gentop="$output_objdir/${outputname}x"
+ gentop=$output_objdir/${outputname}x
func_append generated " $gentop"
func_extract_archives $gentop $convenience
@@ -8276,18 +9771,18 @@ EOF
fi
fi
- if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then
+ if test yes = "$thread_safe" && test -n "$thread_safe_flag_spec"; then
eval flag=\"$thread_safe_flag_spec\"
func_append linker_flags " $flag"
fi
# Make a backup of the uninstalled library when relinking
- if test "$opt_mode" = relink; then
+ if test relink = "$opt_mode"; then
$opt_dry_run || eval '(cd $output_objdir && $RM ${realname}U && $MV $realname ${realname}U)' || exit $?
fi
# Do each of the archive commands.
- if test "$module" = yes && test -n "$module_cmds" ; then
+ if test yes = "$module" && test -n "$module_cmds"; then
if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then
eval test_cmds=\"$module_expsym_cmds\"
cmds=$module_expsym_cmds
@@ -8305,7 +9800,7 @@ EOF
fi
fi
- if test "X$skipped_export" != "X:" &&
+ if test : != "$skipped_export" &&
func_len " $test_cmds" &&
len=$func_len_result &&
test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then
@@ -8338,8 +9833,8 @@ EOF
last_robj=
k=1
- if test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "$with_gnu_ld" = yes; then
- output=${output_objdir}/${output_la}.lnkscript
+ if test -n "$save_libobjs" && test : != "$skipped_export" && test yes = "$with_gnu_ld"; then
+ output=$output_objdir/$output_la.lnkscript
func_verbose "creating GNU ld script: $output"
echo 'INPUT (' > $output
for obj in $save_libobjs
@@ -8351,14 +9846,14 @@ EOF
func_append delfiles " $output"
func_to_tool_file "$output"
output=$func_to_tool_file_result
- elif test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "X$file_list_spec" != X; then
- output=${output_objdir}/${output_la}.lnk
+ elif test -n "$save_libobjs" && test : != "$skipped_export" && test -n "$file_list_spec"; then
+ output=$output_objdir/$output_la.lnk
func_verbose "creating linker input file list: $output"
: > $output
set x $save_libobjs
shift
firstobj=
- if test "$compiler_needs_object" = yes; then
+ if test yes = "$compiler_needs_object"; then
firstobj="$1 "
shift
fi
@@ -8373,7 +9868,7 @@ EOF
else
if test -n "$save_libobjs"; then
func_verbose "creating reloadable object files..."
- output=$output_objdir/$output_la-${k}.$objext
+ output=$output_objdir/$output_la-$k.$objext
eval test_cmds=\"$reload_cmds\"
func_len " $test_cmds"
len0=$func_len_result
@@ -8385,13 +9880,13 @@ EOF
func_len " $obj"
func_arith $len + $func_len_result
len=$func_arith_result
- if test "X$objlist" = X ||
+ if test -z "$objlist" ||
test "$len" -lt "$max_cmd_len"; then
func_append objlist " $obj"
else
# The command $test_cmds is almost too long, add a
# command to the queue.
- if test "$k" -eq 1 ; then
+ if test 1 -eq "$k"; then
# The first file doesn't have a previous command to add.
reload_objs=$objlist
eval concat_cmds=\"$reload_cmds\"
@@ -8401,10 +9896,10 @@ EOF
reload_objs="$objlist $last_robj"
eval concat_cmds=\"\$concat_cmds~$reload_cmds~\$RM $last_robj\"
fi
- last_robj=$output_objdir/$output_la-${k}.$objext
+ last_robj=$output_objdir/$output_la-$k.$objext
func_arith $k + 1
k=$func_arith_result
- output=$output_objdir/$output_la-${k}.$objext
+ output=$output_objdir/$output_la-$k.$objext
objlist=" $obj"
func_len " $last_robj"
func_arith $len0 + $func_len_result
@@ -8416,9 +9911,9 @@ EOF
# files will link in the last one created.
test -z "$concat_cmds" || concat_cmds=$concat_cmds~
reload_objs="$objlist $last_robj"
- eval concat_cmds=\"\${concat_cmds}$reload_cmds\"
+ eval concat_cmds=\"\$concat_cmds$reload_cmds\"
if test -n "$last_robj"; then
- eval concat_cmds=\"\${concat_cmds}~\$RM $last_robj\"
+ eval concat_cmds=\"\$concat_cmds~\$RM $last_robj\"
fi
func_append delfiles " $output"
@@ -8426,9 +9921,9 @@ EOF
output=
fi
- if ${skipped_export-false}; then
- func_verbose "generating symbol list for \`$libname.la'"
- export_symbols="$output_objdir/$libname.exp"
+ ${skipped_export-false} && {
+ func_verbose "generating symbol list for '$libname.la'"
+ export_symbols=$output_objdir/$libname.exp
$opt_dry_run || $RM $export_symbols
libobjs=$output
# Append the command to create the export file.
@@ -8437,16 +9932,16 @@ EOF
if test -n "$last_robj"; then
eval concat_cmds=\"\$concat_cmds~\$RM $last_robj\"
fi
- fi
+ }
test -n "$save_libobjs" &&
func_verbose "creating a temporary reloadable object file: $output"
# Loop through the commands generated above and execute them.
- save_ifs="$IFS"; IFS='~'
+ save_ifs=$IFS; IFS='~'
for cmd in $concat_cmds; do
- IFS="$save_ifs"
- $opt_silent || {
+ IFS=$save_ifs
+ $opt_quiet || {
func_quote_for_expand "$cmd"
eval "func_echo $func_quote_for_expand_result"
}
@@ -8454,7 +9949,7 @@ EOF
lt_exit=$?
# Restore the uninstalled library and exit
- if test "$opt_mode" = relink; then
+ if test relink = "$opt_mode"; then
( cd "$output_objdir" && \
$RM "${realname}T" && \
$MV "${realname}U" "$realname" )
@@ -8463,7 +9958,7 @@ EOF
exit $lt_exit
}
done
- IFS="$save_ifs"
+ IFS=$save_ifs
if test -n "$export_symbols_regex" && ${skipped_export-false}; then
func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
@@ -8471,18 +9966,18 @@ EOF
fi
fi
- if ${skipped_export-false}; then
+ ${skipped_export-false} && {
if test -n "$export_symbols" && test -n "$include_expsyms"; then
- tmp_export_symbols="$export_symbols"
- test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols"
+ tmp_export_symbols=$export_symbols
+ test -n "$orig_export_symbols" && tmp_export_symbols=$orig_export_symbols
$opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"'
fi
if test -n "$orig_export_symbols"; then
# The given exports_symbols file has to be filtered, so filter it.
- func_verbose "filter symbol list for \`$libname.la' to tag DATA exports"
+ func_verbose "filter symbol list for '$libname.la' to tag DATA exports"
# FIXME: $output_objdir/$libname.filter potentially contains lots of
- # 's' commands which not all seds can handle. GNU sed should be fine
+ # 's' commands, which not all seds can handle. GNU sed should be fine
# though. Also, the filter scales superlinearly with the number of
# global variables. join(1) would be nice here, but unfortunately
# isn't a blessed tool.
@@ -8491,7 +9986,7 @@ EOF
export_symbols=$output_objdir/$libname.def
$opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols
fi
- fi
+ }
libobjs=$output
# Restore the value of output.
@@ -8505,7 +10000,7 @@ EOF
# value of $libobjs for piecewise linking.
# Do each of the archive commands.
- if test "$module" = yes && test -n "$module_cmds" ; then
+ if test yes = "$module" && test -n "$module_cmds"; then
if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then
cmds=$module_expsym_cmds
else
@@ -8527,7 +10022,7 @@ EOF
# Add any objects from preloaded convenience libraries
if test -n "$dlprefiles"; then
- gentop="$output_objdir/${outputname}x"
+ gentop=$output_objdir/${outputname}x
func_append generated " $gentop"
func_extract_archives $gentop $dlprefiles
@@ -8535,11 +10030,12 @@ EOF
test "X$libobjs" = "X " && libobjs=
fi
- save_ifs="$IFS"; IFS='~'
+ save_ifs=$IFS; IFS='~'
for cmd in $cmds; do
- IFS="$save_ifs"
+ IFS=$sp$nl
eval cmd=\"$cmd\"
- $opt_silent || {
+ IFS=$save_ifs
+ $opt_quiet || {
func_quote_for_expand "$cmd"
eval "func_echo $func_quote_for_expand_result"
}
@@ -8547,7 +10043,7 @@ EOF
lt_exit=$?
# Restore the uninstalled library and exit
- if test "$opt_mode" = relink; then
+ if test relink = "$opt_mode"; then
( cd "$output_objdir" && \
$RM "${realname}T" && \
$MV "${realname}U" "$realname" )
@@ -8556,10 +10052,10 @@ EOF
exit $lt_exit
}
done
- IFS="$save_ifs"
+ IFS=$save_ifs
# Restore the uninstalled library and exit
- if test "$opt_mode" = relink; then
+ if test relink = "$opt_mode"; then
$opt_dry_run || eval '(cd $output_objdir && $RM ${realname}T && $MV $realname ${realname}T && $MV ${realname}U $realname)' || exit $?
if test -n "$convenience"; then
@@ -8579,39 +10075,39 @@ EOF
done
# If -module or -export-dynamic was specified, set the dlname.
- if test "$module" = yes || test "$export_dynamic" = yes; then
+ if test yes = "$module" || test yes = "$export_dynamic"; then
# On all known operating systems, these are identical.
- dlname="$soname"
+ dlname=$soname
fi
fi
;;
obj)
- if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
- func_warning "\`-dlopen' is ignored for objects"
+ if test -n "$dlfiles$dlprefiles" || test no != "$dlself"; then
+ func_warning "'-dlopen' is ignored for objects"
fi
case " $deplibs" in
*\ -l* | *\ -L*)
- func_warning "\`-l' and \`-L' are ignored for objects" ;;
+ func_warning "'-l' and '-L' are ignored for objects" ;;
esac
test -n "$rpath" && \
- func_warning "\`-rpath' is ignored for objects"
+ func_warning "'-rpath' is ignored for objects"
test -n "$xrpath" && \
- func_warning "\`-R' is ignored for objects"
+ func_warning "'-R' is ignored for objects"
test -n "$vinfo" && \
- func_warning "\`-version-info' is ignored for objects"
+ func_warning "'-version-info' is ignored for objects"
test -n "$release" && \
- func_warning "\`-release' is ignored for objects"
+ func_warning "'-release' is ignored for objects"
case $output in
*.lo)
test -n "$objs$old_deplibs" && \
- func_fatal_error "cannot build library object \`$output' from non-libtool objects"
+ func_fatal_error "cannot build library object '$output' from non-libtool objects"
libobj=$output
func_lo2o "$libobj"
@@ -8619,7 +10115,7 @@ EOF
;;
*)
libobj=
- obj="$output"
+ obj=$output
;;
esac
@@ -8632,17 +10128,19 @@ EOF
# the extraction.
reload_conv_objs=
gentop=
- # reload_cmds runs $LD directly, so let us get rid of
- # -Wl from whole_archive_flag_spec and hope we can get by with
- # turning comma into space..
- wl=
-
+ # if reload_cmds runs $LD directly, get rid of -Wl from
+ # whole_archive_flag_spec and hope we can get by with turning comma
+ # into space.
+ case $reload_cmds in
+ *\$LD[\ \$]*) wl= ;;
+ esac
if test -n "$convenience"; then
if test -n "$whole_archive_flag_spec"; then
eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\"
- reload_conv_objs=$reload_objs\ `$ECHO "$tmp_whole_archive_flags" | $SED 's|,| |g'`
+ test -n "$wl" || tmp_whole_archive_flags=`$ECHO "$tmp_whole_archive_flags" | $SED 's|,| |g'`
+ reload_conv_objs=$reload_objs\ $tmp_whole_archive_flags
else
- gentop="$output_objdir/${obj}x"
+ gentop=$output_objdir/${obj}x
func_append generated " $gentop"
func_extract_archives $gentop $convenience
@@ -8651,12 +10149,12 @@ EOF
fi
# If we're not building shared, we need to use non_pic_objs
- test "$build_libtool_libs" != yes && libobjs="$non_pic_objects"
+ test yes = "$build_libtool_libs" || libobjs=$non_pic_objects
# Create the old-style object.
- reload_objs="$objs$old_deplibs "`$ECHO "$libobjs" | $SP2NL | $SED "/\.${libext}$/d; /\.lib$/d; $lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test
+ reload_objs=$objs$old_deplibs' '`$ECHO "$libobjs" | $SP2NL | $SED "/\.$libext$/d; /\.lib$/d; $lo2o" | $NL2SP`' '$reload_conv_objs
- output="$obj"
+ output=$obj
func_execute_cmds "$reload_cmds" 'exit $?'
# Exit if we aren't doing a library object file.
@@ -8668,7 +10166,7 @@ EOF
exit $EXIT_SUCCESS
fi
- if test "$build_libtool_libs" != yes; then
+ test yes = "$build_libtool_libs" || {
if test -n "$gentop"; then
func_show_eval '${RM}r "$gentop"'
fi
@@ -8678,12 +10176,12 @@ EOF
# $show "echo timestamp > $libobj"
# $opt_dry_run || eval "echo timestamp > $libobj" || exit $?
exit $EXIT_SUCCESS
- fi
+ }
- if test -n "$pic_flag" || test "$pic_mode" != default; then
+ if test -n "$pic_flag" || test default != "$pic_mode"; then
# Only do commands if we really have different PIC objects.
reload_objs="$libobjs $reload_conv_objs"
- output="$libobj"
+ output=$libobj
func_execute_cmds "$reload_cmds" 'exit $?'
fi
@@ -8700,16 +10198,14 @@ EOF
output=$func_stripname_result.exe;;
esac
test -n "$vinfo" && \
- func_warning "\`-version-info' is ignored for programs"
+ func_warning "'-version-info' is ignored for programs"
test -n "$release" && \
- func_warning "\`-release' is ignored for programs"
+ func_warning "'-release' is ignored for programs"
- test "$preload" = yes \
- && test "$dlopen_support" = unknown \
- && test "$dlopen_self" = unknown \
- && test "$dlopen_self_static" = unknown && \
- func_warning "\`LT_INIT([dlopen])' not used. Assuming no dlopen support."
+ $preload \
+ && test unknown,unknown,unknown = "$dlopen_support,$dlopen_self,$dlopen_self_static" \
+ && func_warning "'LT_INIT([dlopen])' not used. Assuming no dlopen support."
case $host in
*-*-rhapsody* | *-*-darwin1.[012])
@@ -8723,11 +10219,11 @@ EOF
*-*-darwin*)
# Don't allow lazy linking, it breaks C++ global constructors
# But is supposedly fixed on 10.4 or later (yay!).
- if test "$tagname" = CXX ; then
+ if test CXX = "$tagname"; then
case ${MACOSX_DEPLOYMENT_TARGET-10.0} in
10.[0123])
- func_append compile_command " ${wl}-bind_at_load"
- func_append finalize_command " ${wl}-bind_at_load"
+ func_append compile_command " $wl-bind_at_load"
+ func_append finalize_command " $wl-bind_at_load"
;;
esac
fi
@@ -8763,7 +10259,7 @@ EOF
*) func_append new_libs " $deplib" ;;
esac
done
- compile_deplibs="$new_libs"
+ compile_deplibs=$new_libs
func_append compile_command " $compile_deplibs"
@@ -8787,7 +10283,7 @@ EOF
if test -n "$hardcode_libdir_flag_spec"; then
if test -n "$hardcode_libdir_separator"; then
if test -z "$hardcode_libdirs"; then
- hardcode_libdirs="$libdir"
+ hardcode_libdirs=$libdir
else
# Just accumulate the unique libdirs.
case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
@@ -8810,7 +10306,7 @@ EOF
fi
case $host in
*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
- testbindir=`${ECHO} "$libdir" | ${SED} -e 's*/lib$*/bin*'`
+ testbindir=`$ECHO "$libdir" | $SED -e 's*/lib$*/bin*'`
case :$dllsearchpath: in
*":$libdir:"*) ;;
::) dllsearchpath=$libdir;;
@@ -8827,10 +10323,10 @@ EOF
# Substitute the hardcoded libdirs into the rpath.
if test -n "$hardcode_libdir_separator" &&
test -n "$hardcode_libdirs"; then
- libdir="$hardcode_libdirs"
+ libdir=$hardcode_libdirs
eval rpath=\" $hardcode_libdir_flag_spec\"
fi
- compile_rpath="$rpath"
+ compile_rpath=$rpath
rpath=
hardcode_libdirs=
@@ -8838,7 +10334,7 @@ EOF
if test -n "$hardcode_libdir_flag_spec"; then
if test -n "$hardcode_libdir_separator"; then
if test -z "$hardcode_libdirs"; then
- hardcode_libdirs="$libdir"
+ hardcode_libdirs=$libdir
else
# Just accumulate the unique libdirs.
case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
@@ -8863,45 +10359,43 @@ EOF
# Substitute the hardcoded libdirs into the rpath.
if test -n "$hardcode_libdir_separator" &&
test -n "$hardcode_libdirs"; then
- libdir="$hardcode_libdirs"
+ libdir=$hardcode_libdirs
eval rpath=\" $hardcode_libdir_flag_spec\"
fi
- finalize_rpath="$rpath"
+ finalize_rpath=$rpath
- if test -n "$libobjs" && test "$build_old_libs" = yes; then
+ if test -n "$libobjs" && test yes = "$build_old_libs"; then
# Transform all the library objects into standard objects.
compile_command=`$ECHO "$compile_command" | $SP2NL | $SED "$lo2o" | $NL2SP`
finalize_command=`$ECHO "$finalize_command" | $SP2NL | $SED "$lo2o" | $NL2SP`
fi
- func_generate_dlsyms "$outputname" "@PROGRAM@" "no"
+ func_generate_dlsyms "$outputname" "@PROGRAM@" false
# template prelinking step
if test -n "$prelink_cmds"; then
func_execute_cmds "$prelink_cmds" 'exit $?'
fi
- wrappers_required=yes
+ wrappers_required=:
case $host in
*cegcc* | *mingw32ce*)
# Disable wrappers for cegcc and mingw32ce hosts, we are cross compiling anyway.
- wrappers_required=no
+ wrappers_required=false
;;
*cygwin* | *mingw* )
- if test "$build_libtool_libs" != yes; then
- wrappers_required=no
- fi
+ test yes = "$build_libtool_libs" || wrappers_required=false
;;
*)
- if test "$need_relink" = no || test "$build_libtool_libs" != yes; then
- wrappers_required=no
+ if test no = "$need_relink" || test yes != "$build_libtool_libs"; then
+ wrappers_required=false
fi
;;
esac
- if test "$wrappers_required" = no; then
+ $wrappers_required || {
# Replace the output file specification.
compile_command=`$ECHO "$compile_command" | $SED 's%@OUTPUT@%'"$output"'%g'`
- link_command="$compile_command$compile_rpath"
+ link_command=$compile_command$compile_rpath
# We have no uninstalled library dependencies, so finalize right now.
exit_status=0
@@ -8914,12 +10408,12 @@ EOF
fi
# Delete the generated files.
- if test -f "$output_objdir/${outputname}S.${objext}"; then
- func_show_eval '$RM "$output_objdir/${outputname}S.${objext}"'
+ if test -f "$output_objdir/${outputname}S.$objext"; then
+ func_show_eval '$RM "$output_objdir/${outputname}S.$objext"'
fi
exit $exit_status
- fi
+ }
if test -n "$compile_shlibpath$finalize_shlibpath"; then
compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command"
@@ -8949,9 +10443,9 @@ EOF
fi
fi
- if test "$no_install" = yes; then
+ if test yes = "$no_install"; then
# We don't need to create a wrapper script.
- link_command="$compile_var$compile_command$compile_rpath"
+ link_command=$compile_var$compile_command$compile_rpath
# Replace the output file specification.
link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output"'%g'`
# Delete the old output file.
@@ -8968,27 +10462,28 @@ EOF
exit $EXIT_SUCCESS
fi
- if test "$hardcode_action" = relink; then
- # Fast installation is not supported
- link_command="$compile_var$compile_command$compile_rpath"
- relink_command="$finalize_var$finalize_command$finalize_rpath"
+ case $hardcode_action,$fast_install in
+ relink,*)
+ # Fast installation is not supported
+ link_command=$compile_var$compile_command$compile_rpath
+ relink_command=$finalize_var$finalize_command$finalize_rpath
- func_warning "this platform does not like uninstalled shared libraries"
- func_warning "\`$output' will be relinked during installation"
- else
- if test "$fast_install" != no; then
- link_command="$finalize_var$compile_command$finalize_rpath"
- if test "$fast_install" = yes; then
- relink_command=`$ECHO "$compile_var$compile_command$compile_rpath" | $SED 's%@OUTPUT@%\$progdir/\$file%g'`
- else
- # fast_install is set to needless
- relink_command=
- fi
- else
- link_command="$compile_var$compile_command$compile_rpath"
- relink_command="$finalize_var$finalize_command$finalize_rpath"
- fi
- fi
+ func_warning "this platform does not like uninstalled shared libraries"
+ func_warning "'$output' will be relinked during installation"
+ ;;
+ *,yes)
+ link_command=$finalize_var$compile_command$finalize_rpath
+ relink_command=`$ECHO "$compile_var$compile_command$compile_rpath" | $SED 's%@OUTPUT@%\$progdir/\$file%g'`
+ ;;
+ *,no)
+ link_command=$compile_var$compile_command$compile_rpath
+ relink_command=$finalize_var$finalize_command$finalize_rpath
+ ;;
+ *,needless)
+ link_command=$finalize_var$compile_command$finalize_rpath
+ relink_command=
+ ;;
+ esac
# Replace the output file specification.
link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'`
@@ -9045,8 +10540,8 @@ EOF
func_dirname_and_basename "$output" "" "."
output_name=$func_basename_result
output_path=$func_dirname_result
- cwrappersource="$output_path/$objdir/lt-$output_name.c"
- cwrapper="$output_path/$output_name.exe"
+ cwrappersource=$output_path/$objdir/lt-$output_name.c
+ cwrapper=$output_path/$output_name.exe
$RM $cwrappersource $cwrapper
trap "$RM $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15
@@ -9067,7 +10562,7 @@ EOF
trap "$RM $func_ltwrapper_scriptname_result; exit $EXIT_FAILURE" 1 2 15
$opt_dry_run || {
# note: this script will not be executed, so do not chmod.
- if test "x$build" = "x$host" ; then
+ if test "x$build" = "x$host"; then
$cwrapper --lt-dump-script > $func_ltwrapper_scriptname_result
else
func_emit_wrapper no > $func_ltwrapper_scriptname_result
@@ -9090,25 +10585,27 @@ EOF
# See if we need to build an old-fashioned archive.
for oldlib in $oldlibs; do
- if test "$build_libtool_libs" = convenience; then
- oldobjs="$libobjs_save $symfileobj"
- addlibs="$convenience"
- build_libtool_libs=no
- else
- if test "$build_libtool_libs" = module; then
- oldobjs="$libobjs_save"
+ case $build_libtool_libs in
+ convenience)
+ oldobjs="$libobjs_save $symfileobj"
+ addlibs=$convenience
build_libtool_libs=no
- else
+ ;;
+ module)
+ oldobjs=$libobjs_save
+ addlibs=$old_convenience
+ build_libtool_libs=no
+ ;;
+ *)
oldobjs="$old_deplibs $non_pic_objects"
- if test "$preload" = yes && test -f "$symfileobj"; then
- func_append oldobjs " $symfileobj"
- fi
- fi
- addlibs="$old_convenience"
- fi
+ $preload && test -f "$symfileobj" \
+ && func_append oldobjs " $symfileobj"
+ addlibs=$old_convenience
+ ;;
+ esac
if test -n "$addlibs"; then
- gentop="$output_objdir/${outputname}x"
+ gentop=$output_objdir/${outputname}x
func_append generated " $gentop"
func_extract_archives $gentop $addlibs
@@ -9116,13 +10613,13 @@ EOF
fi
# Do each command in the archive commands.
- if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then
+ if test -n "$old_archive_from_new_cmds" && test yes = "$build_libtool_libs"; then
cmds=$old_archive_from_new_cmds
else
# Add any objects from preloaded convenience libraries
if test -n "$dlprefiles"; then
- gentop="$output_objdir/${outputname}x"
+ gentop=$output_objdir/${outputname}x
func_append generated " $gentop"
func_extract_archives $gentop $dlprefiles
@@ -9143,7 +10640,7 @@ EOF
:
else
echo "copying selected object files to avoid basename conflicts..."
- gentop="$output_objdir/${outputname}x"
+ gentop=$output_objdir/${outputname}x
func_append generated " $gentop"
func_mkdir_p "$gentop"
save_oldobjs=$oldobjs
@@ -9152,7 +10649,7 @@ EOF
for obj in $save_oldobjs
do
func_basename "$obj"
- objbase="$func_basename_result"
+ objbase=$func_basename_result
case " $oldobjs " in
" ") oldobjs=$obj ;;
*[\ /]"$objbase "*)
@@ -9221,18 +10718,18 @@ EOF
else
# the above command should be used before it gets too long
oldobjs=$objlist
- if test "$obj" = "$last_oldobj" ; then
+ if test "$obj" = "$last_oldobj"; then
RANLIB=$save_RANLIB
fi
test -z "$concat_cmds" || concat_cmds=$concat_cmds~
- eval concat_cmds=\"\${concat_cmds}$old_archive_cmds\"
+ eval concat_cmds=\"\$concat_cmds$old_archive_cmds\"
objlist=
len=$len0
fi
done
RANLIB=$save_RANLIB
oldobjs=$objlist
- if test "X$oldobjs" = "X" ; then
+ if test -z "$oldobjs"; then
eval cmds=\"\$concat_cmds\"
else
eval cmds=\"\$concat_cmds~\$old_archive_cmds\"
@@ -9249,7 +10746,7 @@ EOF
case $output in
*.la)
old_library=
- test "$build_old_libs" = yes && old_library="$libname.$libext"
+ test yes = "$build_old_libs" && old_library=$libname.$libext
func_verbose "creating $output"
# Preserve any variables that may affect compiler behavior
@@ -9264,31 +10761,31 @@ EOF
fi
done
# Quote the link command for shipping.
- relink_command="(cd `pwd`; $SHELL $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)"
+ relink_command="(cd `pwd`; $SHELL \"$progpath\" $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)"
relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"`
- if test "$hardcode_automatic" = yes ; then
+ if test yes = "$hardcode_automatic"; then
relink_command=
fi
# Only create the output if not a dry run.
$opt_dry_run || {
for installed in no yes; do
- if test "$installed" = yes; then
+ if test yes = "$installed"; then
if test -z "$install_libdir"; then
break
fi
- output="$output_objdir/$outputname"i
+ output=$output_objdir/${outputname}i
# Replace all uninstalled libtool libraries with the installed ones
newdependency_libs=
for deplib in $dependency_libs; do
case $deplib in
*.la)
func_basename "$deplib"
- name="$func_basename_result"
+ name=$func_basename_result
func_resolve_sysroot "$deplib"
- eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $func_resolve_sysroot_result`
+ eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $func_resolve_sysroot_result`
test -z "$libdir" && \
- func_fatal_error "\`$deplib' is not a valid libtool archive"
+ func_fatal_error "'$deplib' is not a valid libtool archive"
func_append newdependency_libs " ${lt_sysroot:+=}$libdir/$name"
;;
-L*)
@@ -9304,23 +10801,23 @@ EOF
*) func_append newdependency_libs " $deplib" ;;
esac
done
- dependency_libs="$newdependency_libs"
+ dependency_libs=$newdependency_libs
newdlfiles=
for lib in $dlfiles; do
case $lib in
*.la)
func_basename "$lib"
- name="$func_basename_result"
- eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
+ name=$func_basename_result
+ eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
test -z "$libdir" && \
- func_fatal_error "\`$lib' is not a valid libtool archive"
+ func_fatal_error "'$lib' is not a valid libtool archive"
func_append newdlfiles " ${lt_sysroot:+=}$libdir/$name"
;;
*) func_append newdlfiles " $lib" ;;
esac
done
- dlfiles="$newdlfiles"
+ dlfiles=$newdlfiles
newdlprefiles=
for lib in $dlprefiles; do
case $lib in
@@ -9330,34 +10827,34 @@ EOF
# didn't already link the preopened objects directly into
# the library:
func_basename "$lib"
- name="$func_basename_result"
- eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
+ name=$func_basename_result
+ eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
test -z "$libdir" && \
- func_fatal_error "\`$lib' is not a valid libtool archive"
+ func_fatal_error "'$lib' is not a valid libtool archive"
func_append newdlprefiles " ${lt_sysroot:+=}$libdir/$name"
;;
esac
done
- dlprefiles="$newdlprefiles"
+ dlprefiles=$newdlprefiles
else
newdlfiles=
for lib in $dlfiles; do
case $lib in
- [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;;
+ [\\/]* | [A-Za-z]:[\\/]*) abs=$lib ;;
*) abs=`pwd`"/$lib" ;;
esac
func_append newdlfiles " $abs"
done
- dlfiles="$newdlfiles"
+ dlfiles=$newdlfiles
newdlprefiles=
for lib in $dlprefiles; do
case $lib in
- [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;;
+ [\\/]* | [A-Za-z]:[\\/]*) abs=$lib ;;
*) abs=`pwd`"/$lib" ;;
esac
func_append newdlprefiles " $abs"
done
- dlprefiles="$newdlprefiles"
+ dlprefiles=$newdlprefiles
fi
$RM $output
# place dlname in correct position for cygwin
@@ -9373,10 +10870,9 @@ EOF
case $host,$output,$installed,$module,$dlname in
*cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll | *cegcc*,*lai,yes,no,*.dll)
# If a -bindir argument was supplied, place the dll there.
- if test "x$bindir" != x ;
- then
+ if test -n "$bindir"; then
func_relative_path "$install_libdir" "$bindir"
- tdlname=$func_relative_path_result$dlname
+ tdlname=$func_relative_path_result/$dlname
else
# Otherwise fall back on heuristic.
tdlname=../bin/$dlname
@@ -9385,7 +10881,7 @@ EOF
esac
$ECHO > $output "\
# $outputname - a libtool library file
-# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
+# Generated by $PROGRAM (GNU $PACKAGE) $VERSION
#
# Please DO NOT delete this file!
# It is necessary for linking the library.
@@ -9399,7 +10895,7 @@ library_names='$library_names'
# The name of the static archive.
old_library='$old_library'
-# Linker flags that can not go in dependency_libs.
+# Linker flags that cannot go in dependency_libs.
inherited_linker_flags='$new_inherited_linker_flags'
# Libraries that this one depends upon.
@@ -9425,7 +10921,7 @@ dlpreopen='$dlprefiles'
# Directory that this library needs to be installed in:
libdir='$install_libdir'"
- if test "$installed" = no && test "$need_relink" = yes; then
+ if test no,yes = "$installed,$need_relink"; then
$ECHO >> $output "\
relink_command=\"$relink_command\""
fi
@@ -9440,27 +10936,29 @@ relink_command=\"$relink_command\""
exit $EXIT_SUCCESS
}
-{ test "$opt_mode" = link || test "$opt_mode" = relink; } &&
- func_mode_link ${1+"$@"}
+if test link = "$opt_mode" || test relink = "$opt_mode"; then
+ func_mode_link ${1+"$@"}
+fi
# func_mode_uninstall arg...
func_mode_uninstall ()
{
- $opt_debug
- RM="$nonopt"
+ $debug_cmd
+
+ RM=$nonopt
files=
- rmforce=
+ rmforce=false
exit_status=0
# This variable tells wrapper scripts just to set variables rather
# than running their programs.
- libtool_install_magic="$magic"
+ libtool_install_magic=$magic
for arg
do
case $arg in
- -f) func_append RM " $arg"; rmforce=yes ;;
+ -f) func_append RM " $arg"; rmforce=: ;;
-*) func_append RM " $arg" ;;
*) func_append files " $arg" ;;
esac
@@ -9473,18 +10971,18 @@ func_mode_uninstall ()
for file in $files; do
func_dirname "$file" "" "."
- dir="$func_dirname_result"
- if test "X$dir" = X.; then
- odir="$objdir"
+ dir=$func_dirname_result
+ if test . = "$dir"; then
+ odir=$objdir
else
- odir="$dir/$objdir"
+ odir=$dir/$objdir
fi
func_basename "$file"
- name="$func_basename_result"
- test "$opt_mode" = uninstall && odir="$dir"
+ name=$func_basename_result
+ test uninstall = "$opt_mode" && odir=$dir
# Remember odir for removal later, being careful to avoid duplicates
- if test "$opt_mode" = clean; then
+ if test clean = "$opt_mode"; then
case " $rmdirs " in
*" $odir "*) ;;
*) func_append rmdirs " $odir" ;;
@@ -9499,11 +10997,11 @@ func_mode_uninstall ()
elif test -d "$file"; then
exit_status=1
continue
- elif test "$rmforce" = yes; then
+ elif $rmforce; then
continue
fi
- rmfiles="$file"
+ rmfiles=$file
case $name in
*.la)
@@ -9517,7 +11015,7 @@ func_mode_uninstall ()
done
test -n "$old_library" && func_append rmfiles " $odir/$old_library"
- case "$opt_mode" in
+ case $opt_mode in
clean)
case " $library_names " in
*" $dlname "*) ;;
@@ -9528,12 +11026,12 @@ func_mode_uninstall ()
uninstall)
if test -n "$library_names"; then
# Do each command in the postuninstall commands.
- func_execute_cmds "$postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1'
+ func_execute_cmds "$postuninstall_cmds" '$rmforce || exit_status=1'
fi
if test -n "$old_library"; then
# Do each command in the old_postuninstall commands.
- func_execute_cmds "$old_postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1'
+ func_execute_cmds "$old_postuninstall_cmds" '$rmforce || exit_status=1'
fi
# FIXME: should reinstall the best remaining shared library.
;;
@@ -9549,21 +11047,19 @@ func_mode_uninstall ()
func_source $dir/$name
# Add PIC object to the list of files to remove.
- if test -n "$pic_object" &&
- test "$pic_object" != none; then
+ if test -n "$pic_object" && test none != "$pic_object"; then
func_append rmfiles " $dir/$pic_object"
fi
# Add non-PIC object to the list of files to remove.
- if test -n "$non_pic_object" &&
- test "$non_pic_object" != none; then
+ if test -n "$non_pic_object" && test none != "$non_pic_object"; then
func_append rmfiles " $dir/$non_pic_object"
fi
fi
;;
*)
- if test "$opt_mode" = clean ; then
+ if test clean = "$opt_mode"; then
noexename=$name
case $file in
*.exe)
@@ -9590,12 +11086,12 @@ func_mode_uninstall ()
# note $name still contains .exe if it was in $file originally
# as does the version of $file that was added into $rmfiles
- func_append rmfiles " $odir/$name $odir/${name}S.${objext}"
- if test "$fast_install" = yes && test -n "$relink_command"; then
+ func_append rmfiles " $odir/$name $odir/${name}S.$objext"
+ if test yes = "$fast_install" && test -n "$relink_command"; then
func_append rmfiles " $odir/lt-$name"
fi
- if test "X$noexename" != "X$name" ; then
- func_append rmfiles " $odir/lt-${noexename}.c"
+ if test "X$noexename" != "X$name"; then
+ func_append rmfiles " $odir/lt-$noexename.c"
fi
fi
fi
@@ -9604,7 +11100,7 @@ func_mode_uninstall ()
func_show_eval "$RM $rmfiles" 'exit_status=1'
done
- # Try to remove the ${objdir}s in the directories where we deleted files
+ # Try to remove the $objdir's in the directories where we deleted files
for dir in $rmdirs; do
if test -d "$dir"; then
func_show_eval "rmdir $dir >/dev/null 2>&1"
@@ -9614,16 +11110,17 @@ func_mode_uninstall ()
exit $exit_status
}
-{ test "$opt_mode" = uninstall || test "$opt_mode" = clean; } &&
- func_mode_uninstall ${1+"$@"}
+if test uninstall = "$opt_mode" || test clean = "$opt_mode"; then
+ func_mode_uninstall ${1+"$@"}
+fi
test -z "$opt_mode" && {
- help="$generic_help"
+ help=$generic_help
func_fatal_help "you must specify a MODE"
}
test -z "$exec_cmd" && \
- func_fatal_help "invalid operation mode \`$opt_mode'"
+ func_fatal_help "invalid operation mode '$opt_mode'"
if test -n "$exec_cmd"; then
eval exec "$exec_cmd"
@@ -9634,7 +11131,7 @@ exit $exit_status
# The TAGs below are defined such that we never get into a situation
-# in which we disable both kinds of libraries. Given conflicting
+# where we disable both kinds of libraries. Given conflicting
# choices, we go for a static library, that is the most portable,
# since we can't tell whether shared libraries were disabled because
# the user asked for that or because the platform doesn't support
@@ -9657,5 +11154,3 @@ build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac`
# mode:shell-script
# sh-indentation:2
# End:
-# vi:sw=2
-
diff --git a/m4/libtool.m4 b/m4/libtool.m4
index d7c043f..10ab284 100644
--- a/m4/libtool.m4
+++ b/m4/libtool.m4
@@ -1,8 +1,6 @@
# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
#
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
-# 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 1996-2001, 2003-2015 Free Software Foundation, Inc.
# Written by Gordon Matzigkeit, 1996
#
# This file is free software; the Free Software Foundation gives
@@ -10,36 +8,30 @@
# modifications, as long as this notice is preserved.
m4_define([_LT_COPYING], [dnl
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
-# 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
-# Written by Gordon Matzigkeit, 1996
-#
-# This file is part of GNU Libtool.
-#
-# GNU Libtool is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License as
-# published by the Free Software Foundation; either version 2 of
-# the License, or (at your option) any later version.
+# Copyright (C) 2014 Free Software Foundation, Inc.
+# This is free software; see the source for copying conditions. There is NO
+# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+# GNU Libtool is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of of the License, or
+# (at your option) any later version.
#
-# As a special exception to the GNU General Public License,
-# if you distribute this file as part of a program or library that
-# is built using GNU Libtool, you may include this file under the
-# same distribution terms that you use for the rest of that program.
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program or library that is built
+# using GNU Libtool, you may include this file under the same
+# distribution terms that you use for the rest of that program.
#
-# GNU Libtool is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# GNU Libtool 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 General Public License for more details.
#
# You should have received a copy of the GNU General Public License
-# along with GNU Libtool; see the file COPYING. If not, a copy
-# can be downloaded from http://www.gnu.org/licenses/gpl.html, or
-# obtained by writing to the Free Software Foundation, Inc.,
-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
])
-# serial 57 LT_INIT
+# serial 58 LT_INIT
# LT_PREREQ(VERSION)
@@ -67,7 +59,7 @@ esac
# LT_INIT([OPTIONS])
# ------------------
AC_DEFUN([LT_INIT],
-[AC_PREREQ([2.58])dnl We use AC_INCLUDES_DEFAULT
+[AC_PREREQ([2.62])dnl We use AC_PATH_PROGS_FEATURE_CHECK
AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl
AC_BEFORE([$0], [LT_LANG])dnl
AC_BEFORE([$0], [LT_OUTPUT])dnl
@@ -91,7 +83,7 @@ dnl Parse OPTIONS
_LT_SET_OPTIONS([$0], [$1])
# This can be used to rebuild libtool when needed
-LIBTOOL_DEPS="$ltmain"
+LIBTOOL_DEPS=$ltmain
# Always use our own libtool.
LIBTOOL='$(SHELL) $(top_builddir)/libtool'
@@ -111,26 +103,43 @@ dnl AC_DEFUN([AC_PROG_LIBTOOL], [])
dnl AC_DEFUN([AM_PROG_LIBTOOL], [])
+# _LT_PREPARE_CC_BASENAME
+# -----------------------
+m4_defun([_LT_PREPARE_CC_BASENAME], [
+# Calculate cc_basename. Skip known compiler wrappers and cross-prefix.
+func_cc_basename ()
+{
+ for cc_temp in @S|@*""; do
+ case $cc_temp in
+ compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;;
+ distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;;
+ \-*) ;;
+ *) break;;
+ esac
+ done
+ func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
+}
+])# _LT_PREPARE_CC_BASENAME
+
+
# _LT_CC_BASENAME(CC)
# -------------------
-# Calculate cc_basename. Skip known compiler wrappers and cross-prefix.
+# It would be clearer to call AC_REQUIREs from _LT_PREPARE_CC_BASENAME,
+# but that macro is also expanded into generated libtool script, which
+# arranges for $SED and $ECHO to be set by different means.
m4_defun([_LT_CC_BASENAME],
-[for cc_temp in $1""; do
- case $cc_temp in
- compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;;
- distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;;
- \-*) ;;
- *) break;;
- esac
-done
-cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
+[m4_require([_LT_PREPARE_CC_BASENAME])dnl
+AC_REQUIRE([_LT_DECL_SED])dnl
+AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl
+func_cc_basename $1
+cc_basename=$func_cc_basename_result
])
# _LT_FILEUTILS_DEFAULTS
# ----------------------
# It is okay to use these file commands and assume they have been set
-# sensibly after `m4_require([_LT_FILEUTILS_DEFAULTS])'.
+# sensibly after 'm4_require([_LT_FILEUTILS_DEFAULTS])'.
m4_defun([_LT_FILEUTILS_DEFAULTS],
[: ${CP="cp -f"}
: ${MV="mv -f"}
@@ -177,15 +186,16 @@ m4_require([_LT_CHECK_SHAREDLIB_FROM_LINKLIB])dnl
m4_require([_LT_CMD_OLD_ARCHIVE])dnl
m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
m4_require([_LT_WITH_SYSROOT])dnl
+m4_require([_LT_CMD_TRUNCATE])dnl
_LT_CONFIG_LIBTOOL_INIT([
-# See if we are running on zsh, and set the options which allow our
+# See if we are running on zsh, and set the options that allow our
# commands through without removal of \ escapes INIT.
-if test -n "\${ZSH_VERSION+set}" ; then
+if test -n "\${ZSH_VERSION+set}"; then
setopt NO_GLOB_SUBST
fi
])
-if test -n "${ZSH_VERSION+set}" ; then
+if test -n "${ZSH_VERSION+set}"; then
setopt NO_GLOB_SUBST
fi
@@ -198,7 +208,7 @@ aix3*)
# AIX sometimes has problems with the GCC collect2 program. For some
# reason, if we set the COLLECT_NAMES environment variable, the problems
# vanish in a puff of smoke.
- if test "X${COLLECT_NAMES+set}" != Xset; then
+ if test set != "${COLLECT_NAMES+set}"; then
COLLECT_NAMES=
export COLLECT_NAMES
fi
@@ -209,14 +219,14 @@ esac
ofile=libtool
can_build_shared=yes
-# All known linkers require a `.a' archive for static linking (except MSVC,
+# All known linkers require a '.a' archive for static linking (except MSVC,
# which needs '.lib').
libext=a
-with_gnu_ld="$lt_cv_prog_gnu_ld"
+with_gnu_ld=$lt_cv_prog_gnu_ld
-old_CC="$CC"
-old_CFLAGS="$CFLAGS"
+old_CC=$CC
+old_CFLAGS=$CFLAGS
# Set sane defaults for various variables
test -z "$CC" && CC=cc
@@ -269,14 +279,14 @@ no_glob_subst='s/\*/\\\*/g'
# _LT_PROG_LTMAIN
# ---------------
-# Note that this code is called both from `configure', and `config.status'
+# Note that this code is called both from 'configure', and 'config.status'
# now that we use AC_CONFIG_COMMANDS to generate libtool. Notably,
-# `config.status' has no value for ac_aux_dir unless we are using Automake,
+# 'config.status' has no value for ac_aux_dir unless we are using Automake,
# so we pass a copy along to make sure it has a sensible value anyway.
m4_defun([_LT_PROG_LTMAIN],
[m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([ltmain.sh])])dnl
_LT_CONFIG_LIBTOOL_INIT([ac_aux_dir='$ac_aux_dir'])
-ltmain="$ac_aux_dir/ltmain.sh"
+ltmain=$ac_aux_dir/ltmain.sh
])# _LT_PROG_LTMAIN
@@ -286,7 +296,7 @@ ltmain="$ac_aux_dir/ltmain.sh"
# So that we can recreate a full libtool script including additional
# tags, we accumulate the chunks of code to send to AC_CONFIG_COMMANDS
-# in macros and then make a single call at the end using the `libtool'
+# in macros and then make a single call at the end using the 'libtool'
# label.
@@ -421,8 +431,8 @@ m4_define([_lt_decl_all_varnames],
# _LT_CONFIG_STATUS_DECLARE([VARNAME])
# ------------------------------------
-# Quote a variable value, and forward it to `config.status' so that its
-# declaration there will have the same value as in `configure'. VARNAME
+# Quote a variable value, and forward it to 'config.status' so that its
+# declaration there will have the same value as in 'configure'. VARNAME
# must have a single quote delimited value for this to work.
m4_define([_LT_CONFIG_STATUS_DECLARE],
[$1='`$ECHO "$][$1" | $SED "$delay_single_quote_subst"`'])
@@ -446,7 +456,7 @@ m4_defun([_LT_CONFIG_STATUS_DECLARATIONS],
# Output comment and list of tags supported by the script
m4_defun([_LT_LIBTOOL_TAGS],
[_LT_FORMAT_COMMENT([The names of the tagged configurations supported by this script])dnl
-available_tags="_LT_TAGS"dnl
+available_tags='_LT_TAGS'dnl
])
@@ -474,7 +484,7 @@ m4_ifval([$2], [_$2])[]m4_popdef([_libtool_name])[]dnl
# _LT_LIBTOOL_CONFIG_VARS
# -----------------------
# Produce commented declarations of non-tagged libtool config variables
-# suitable for insertion in the LIBTOOL CONFIG section of the `libtool'
+# suitable for insertion in the LIBTOOL CONFIG section of the 'libtool'
# script. Tagged libtool config variables (even for the LIBTOOL CONFIG
# section) are produced by _LT_LIBTOOL_TAG_VARS.
m4_defun([_LT_LIBTOOL_CONFIG_VARS],
@@ -500,8 +510,8 @@ m4_define([_LT_TAGVAR], [m4_ifval([$2], [$1_$2], [$1])])
# Send accumulated output to $CONFIG_STATUS. Thanks to the lists of
# variables for single and double quote escaping we saved from calls
# to _LT_DECL, we can put quote escaped variables declarations
-# into `config.status', and then the shell code to quote escape them in
-# for loops in `config.status'. Finally, any additional code accumulated
+# into 'config.status', and then the shell code to quote escape them in
+# for loops in 'config.status'. Finally, any additional code accumulated
# from calls to _LT_CONFIG_LIBTOOL_INIT is expanded.
m4_defun([_LT_CONFIG_COMMANDS],
[AC_PROVIDE_IFELSE([LT_OUTPUT],
@@ -547,7 +557,7 @@ for var in lt_decl_all_varnames([[ \
]], lt_decl_quote_varnames); do
case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
*[[\\\\\\\`\\"\\\$]]*)
- eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\""
+ eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes
;;
*)
eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
@@ -560,7 +570,7 @@ for var in lt_decl_all_varnames([[ \
]], lt_decl_dquote_varnames); do
case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
*[[\\\\\\\`\\"\\\$]]*)
- eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\""
+ eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes
;;
*)
eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
@@ -576,7 +586,7 @@ _LT_OUTPUT_LIBTOOL_INIT
# Generate a child script FILE with all initialization necessary to
# reuse the environment learned by the parent script, and make the
# file executable. If COMMENT is supplied, it is inserted after the
-# `#!' sequence but before initialization text begins. After this
+# '#!' sequence but before initialization text begins. After this
# macro, additional text can be appended to FILE to form the body of
# the child script. The macro ends with non-zero status if the
# file could not be fully written (such as if the disk is full).
@@ -598,7 +608,7 @@ AS_SHELL_SANITIZE
_AS_PREPARE
exec AS_MESSAGE_FD>&1
_ASEOF
-test $lt_write_fail = 0 && chmod +x $1[]dnl
+test 0 = "$lt_write_fail" && chmod +x $1[]dnl
m4_popdef([AS_MESSAGE_LOG_FD])])])# _LT_GENERATED_FILE_INIT
# LT_OUTPUT
@@ -621,7 +631,7 @@ exec AS_MESSAGE_LOG_FD>>config.log
} >&AS_MESSAGE_LOG_FD
lt_cl_help="\
-\`$as_me' creates a local libtool stub from the current configuration,
+'$as_me' creates a local libtool stub from the current configuration,
for use in further configure time tests before the real libtool is
generated.
@@ -643,7 +653,7 @@ Copyright (C) 2011 Free Software Foundation, Inc.
This config.lt script is free software; the Free Software Foundation
gives unlimited permision to copy, distribute and modify it."
-while test $[#] != 0
+while test 0 != $[#]
do
case $[1] in
--version | --v* | -V )
@@ -656,10 +666,10 @@ do
lt_cl_silent=: ;;
-*) AC_MSG_ERROR([unrecognized option: $[1]
-Try \`$[0] --help' for more information.]) ;;
+Try '$[0] --help' for more information.]) ;;
*) AC_MSG_ERROR([unrecognized argument: $[1]
-Try \`$[0] --help' for more information.]) ;;
+Try '$[0] --help' for more information.]) ;;
esac
shift
done
@@ -685,7 +695,7 @@ chmod +x "$CONFIG_LT"
# open by configure. Here we exec the FD to /dev/null, effectively closing
# config.log, so it can be properly (re)opened and appended to by config.lt.
lt_cl_success=:
-test "$silent" = yes &&
+test yes = "$silent" &&
lt_config_lt_args="$lt_config_lt_args --quiet"
exec AS_MESSAGE_LOG_FD>/dev/null
$SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false
@@ -705,27 +715,31 @@ m4_defun([_LT_CONFIG],
_LT_CONFIG_SAVE_COMMANDS([
m4_define([_LT_TAG], m4_if([$1], [], [C], [$1]))dnl
m4_if(_LT_TAG, [C], [
- # See if we are running on zsh, and set the options which allow our
+ # See if we are running on zsh, and set the options that allow our
# commands through without removal of \ escapes.
- if test -n "${ZSH_VERSION+set}" ; then
+ if test -n "${ZSH_VERSION+set}"; then
setopt NO_GLOB_SUBST
fi
- cfgfile="${ofile}T"
+ cfgfile=${ofile}T
trap "$RM \"$cfgfile\"; exit 1" 1 2 15
$RM "$cfgfile"
cat <<_LT_EOF >> "$cfgfile"
#! $SHELL
-
-# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
-# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION
+# Generated automatically by $as_me ($PACKAGE) $VERSION
# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
# NOTE: Changes made to this file will be lost: look at ltmain.sh.
-#
+
+# Provide generalized library-building support services.
+# Written by Gordon Matzigkeit, 1996
+
_LT_COPYING
_LT_LIBTOOL_TAGS
+# Configured defaults for sys_lib_dlsearch_path munging.
+: \${LT_SYS_LIBRARY_PATH="$configure_time_lt_sys_library_path"}
+
# ### BEGIN LIBTOOL CONFIG
_LT_LIBTOOL_CONFIG_VARS
_LT_LIBTOOL_TAG_VARS
@@ -733,13 +747,24 @@ _LT_LIBTOOL_TAG_VARS
_LT_EOF
+ cat <<'_LT_EOF' >> "$cfgfile"
+
+# ### BEGIN FUNCTIONS SHARED WITH CONFIGURE
+
+_LT_PREPARE_MUNGE_PATH_LIST
+_LT_PREPARE_CC_BASENAME
+
+# ### END FUNCTIONS SHARED WITH CONFIGURE
+
+_LT_EOF
+
case $host_os in
aix3*)
cat <<\_LT_EOF >> "$cfgfile"
# AIX sometimes has problems with the GCC collect2 program. For some
# reason, if we set the COLLECT_NAMES environment variable, the problems
# vanish in a puff of smoke.
-if test "X${COLLECT_NAMES+set}" != Xset; then
+if test set != "${COLLECT_NAMES+set}"; then
COLLECT_NAMES=
export COLLECT_NAMES
fi
@@ -756,8 +781,6 @@ _LT_EOF
sed '$q' "$ltmain" >> "$cfgfile" \
|| (rm -f "$cfgfile"; exit 1)
- _LT_PROG_REPLACE_SHELLFNS
-
mv -f "$cfgfile" "$ofile" ||
(rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
chmod +x "$ofile"
@@ -775,7 +798,6 @@ _LT_EOF
[m4_if([$1], [], [
PACKAGE='$PACKAGE'
VERSION='$VERSION'
- TIMESTAMP='$TIMESTAMP'
RM='$RM'
ofile='$ofile'], [])
])dnl /_LT_CONFIG_SAVE_COMMANDS
@@ -974,7 +996,7 @@ m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[
AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod],
[lt_cv_apple_cc_single_mod=no
- if test -z "${LT_MULTI_MODULE}"; then
+ if test -z "$LT_MULTI_MODULE"; then
# By default we will add the -single_module flag. You can override
# by either setting the environment variable LT_MULTI_MODULE
# non-empty at configure time, or by adding -multi_module to the
@@ -992,7 +1014,7 @@ m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[
cat conftest.err >&AS_MESSAGE_LOG_FD
# Otherwise, if the output was created with a 0 exit code from
# the compiler, it worked.
- elif test -f libconftest.dylib && test $_lt_result -eq 0; then
+ elif test -f libconftest.dylib && test 0 = "$_lt_result"; then
lt_cv_apple_cc_single_mod=yes
else
cat conftest.err >&AS_MESSAGE_LOG_FD
@@ -1010,7 +1032,7 @@ m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[
AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
[lt_cv_ld_exported_symbols_list=yes],
[lt_cv_ld_exported_symbols_list=no])
- LDFLAGS="$save_LDFLAGS"
+ LDFLAGS=$save_LDFLAGS
])
AC_CACHE_CHECK([for -force_load linker flag],[lt_cv_ld_force_load],
@@ -1032,7 +1054,7 @@ _LT_EOF
_lt_result=$?
if test -s conftest.err && $GREP force_load conftest.err; then
cat conftest.err >&AS_MESSAGE_LOG_FD
- elif test -f conftest && test $_lt_result -eq 0 && $GREP forced_load conftest >/dev/null 2>&1 ; then
+ elif test -f conftest && test 0 = "$_lt_result" && $GREP forced_load conftest >/dev/null 2>&1; then
lt_cv_ld_force_load=yes
else
cat conftest.err >&AS_MESSAGE_LOG_FD
@@ -1042,32 +1064,32 @@ _LT_EOF
])
case $host_os in
rhapsody* | darwin1.[[012]])
- _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
+ _lt_dar_allow_undefined='$wl-undefined ${wl}suppress' ;;
darwin1.*)
- _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
+ _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;;
darwin*) # darwin 5.x on
# if running on 10.5 or later, the deployment target defaults
# to the OS version, if on x86, and 10.4, the deployment
# target defaults to 10.4. Don't you love it?
case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
10.0,*86*-darwin8*|10.0,*-darwin[[91]]*)
- _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
- 10.[[012]]*)
- _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
+ _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;;
+ 10.[[012]][[,.]]*)
+ _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;;
10.*)
- _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
+ _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;;
esac
;;
esac
- if test "$lt_cv_apple_cc_single_mod" = "yes"; then
+ if test yes = "$lt_cv_apple_cc_single_mod"; then
_lt_dar_single_mod='$single_module'
fi
- if test "$lt_cv_ld_exported_symbols_list" = "yes"; then
- _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym'
+ if test yes = "$lt_cv_ld_exported_symbols_list"; then
+ _lt_dar_export_syms=' $wl-exported_symbols_list,$output_objdir/$libname-symbols.expsym'
else
- _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}'
+ _lt_dar_export_syms='~$NMEDIT -s $output_objdir/$libname-symbols.expsym $lib'
fi
- if test "$DSYMUTIL" != ":" && test "$lt_cv_ld_force_load" = "no"; then
+ if test : != "$DSYMUTIL" && test no = "$lt_cv_ld_force_load"; then
_lt_dsymutil='~$DSYMUTIL $lib || :'
else
_lt_dsymutil=
@@ -1087,29 +1109,29 @@ m4_defun([_LT_DARWIN_LINKER_FEATURES],
_LT_TAGVAR(hardcode_direct, $1)=no
_LT_TAGVAR(hardcode_automatic, $1)=yes
_LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
- if test "$lt_cv_ld_force_load" = "yes"; then
- _LT_TAGVAR(whole_archive_flag_spec, $1)='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'
+ if test yes = "$lt_cv_ld_force_load"; then
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience $wl-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'
m4_case([$1], [F77], [_LT_TAGVAR(compiler_needs_object, $1)=yes],
[FC], [_LT_TAGVAR(compiler_needs_object, $1)=yes])
else
_LT_TAGVAR(whole_archive_flag_spec, $1)=''
fi
_LT_TAGVAR(link_all_deplibs, $1)=yes
- _LT_TAGVAR(allow_undefined_flag, $1)="$_lt_dar_allow_undefined"
+ _LT_TAGVAR(allow_undefined_flag, $1)=$_lt_dar_allow_undefined
case $cc_basename in
- ifort*) _lt_dar_can_shared=yes ;;
+ ifort*|nagfor*) _lt_dar_can_shared=yes ;;
*) _lt_dar_can_shared=$GCC ;;
esac
- if test "$_lt_dar_can_shared" = "yes"; then
+ if test yes = "$_lt_dar_can_shared"; then
output_verbose_link_cmd=func_echo_all
- _LT_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
- _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
- _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
- _LT_TAGVAR(module_expsym_cmds, $1)="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
+ _LT_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil"
+ _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil"
+ _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dar_export_syms$_lt_dsymutil"
+ _LT_TAGVAR(module_expsym_cmds, $1)="sed -e 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dar_export_syms$_lt_dsymutil"
m4_if([$1], [CXX],
-[ if test "$lt_cv_apple_cc_single_mod" != "yes"; then
- _LT_TAGVAR(archive_cmds, $1)="\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dsymutil}"
- _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dar_export_syms}${_lt_dsymutil}"
+[ if test yes != "$lt_cv_apple_cc_single_mod"; then
+ _LT_TAGVAR(archive_cmds, $1)="\$CC -r -keep_private_externs -nostdlib -o \$lib-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$lib-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring$_lt_dsymutil"
+ _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \$lib-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$lib-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring$_lt_dar_export_syms$_lt_dsymutil"
fi
],[])
else
@@ -1129,7 +1151,7 @@ m4_defun([_LT_DARWIN_LINKER_FEATURES],
# Allow to override them for all tags through lt_cv_aix_libpath.
m4_defun([_LT_SYS_MODULE_PATH_AIX],
[m4_require([_LT_DECL_SED])dnl
-if test "${lt_cv_aix_libpath+set}" = set; then
+if test set = "${lt_cv_aix_libpath+set}"; then
aix_libpath=$lt_cv_aix_libpath
else
AC_CACHE_VAL([_LT_TAGVAR([lt_cv_aix_libpath_], [$1])],
@@ -1147,7 +1169,7 @@ else
_LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
fi],[])
if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then
- _LT_TAGVAR([lt_cv_aix_libpath_], [$1])="/usr/lib:/lib"
+ _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=/usr/lib:/lib
fi
])
aix_libpath=$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])
@@ -1167,8 +1189,8 @@ m4_define([_LT_SHELL_INIT],
# -----------------------
# Find how we can fake an echo command that does not interpret backslash.
# In particular, with Autoconf 2.60 or later we add some code to the start
-# of the generated configure script which will find a shell with a builtin
-# printf (which we can use as an echo command).
+# of the generated configure script that will find a shell with a builtin
+# printf (that we can use as an echo command).
m4_defun([_LT_PROG_ECHO_BACKSLASH],
[ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
@@ -1196,10 +1218,10 @@ fi
# Invoke $ECHO with all args, space-separated.
func_echo_all ()
{
- $ECHO "$*"
+ $ECHO "$*"
}
-case "$ECHO" in
+case $ECHO in
printf*) AC_MSG_RESULT([printf]) ;;
print*) AC_MSG_RESULT([print -r]) ;;
*) AC_MSG_RESULT([cat]) ;;
@@ -1225,16 +1247,17 @@ _LT_DECL([], [ECHO], [1], [An echo program that protects backslashes])
AC_DEFUN([_LT_WITH_SYSROOT],
[AC_MSG_CHECKING([for sysroot])
AC_ARG_WITH([sysroot],
-[ --with-sysroot[=DIR] Search for dependent libraries within DIR
- (or the compiler's sysroot if not specified).],
+[AS_HELP_STRING([--with-sysroot@<:@=DIR@:>@],
+ [Search for dependent libraries within DIR (or the compiler's sysroot
+ if not specified).])],
[], [with_sysroot=no])
dnl lt_sysroot will always be passed unquoted. We quote it here
dnl in case the user passed a directory name.
lt_sysroot=
-case ${with_sysroot} in #(
+case $with_sysroot in #(
yes)
- if test "$GCC" = yes; then
+ if test yes = "$GCC"; then
lt_sysroot=`$CC --print-sysroot 2>/dev/null`
fi
;; #(
@@ -1244,14 +1267,14 @@ case ${with_sysroot} in #(
no|'')
;; #(
*)
- AC_MSG_RESULT([${with_sysroot}])
+ AC_MSG_RESULT([$with_sysroot])
AC_MSG_ERROR([The sysroot must be an absolute path.])
;;
esac
AC_MSG_RESULT([${lt_sysroot:-no}])
_LT_DECL([], [lt_sysroot], [0], [The root where to search for ]dnl
-[dependent libraries, and in which our libraries should be installed.])])
+[dependent libraries, and where our libraries should be installed.])])
# _LT_ENABLE_LOCK
# ---------------
@@ -1259,31 +1282,33 @@ m4_defun([_LT_ENABLE_LOCK],
[AC_ARG_ENABLE([libtool-lock],
[AS_HELP_STRING([--disable-libtool-lock],
[avoid locking (might break parallel builds)])])
-test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
+test no = "$enable_libtool_lock" || enable_libtool_lock=yes
# Some flags need to be propagated to the compiler or linker for good
# libtool support.
case $host in
ia64-*-hpux*)
- # Find out which ABI we are using.
+ # Find out what ABI is being produced by ac_compile, and set mode
+ # options accordingly.
echo 'int i;' > conftest.$ac_ext
if AC_TRY_EVAL(ac_compile); then
case `/usr/bin/file conftest.$ac_objext` in
*ELF-32*)
- HPUX_IA64_MODE="32"
+ HPUX_IA64_MODE=32
;;
*ELF-64*)
- HPUX_IA64_MODE="64"
+ HPUX_IA64_MODE=64
;;
esac
fi
rm -rf conftest*
;;
*-*-irix6*)
- # Find out which ABI we are using.
+ # Find out what ABI is being produced by ac_compile, and set linker
+ # options accordingly.
echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext
if AC_TRY_EVAL(ac_compile); then
- if test "$lt_cv_prog_gnu_ld" = yes; then
+ if test yes = "$lt_cv_prog_gnu_ld"; then
case `/usr/bin/file conftest.$ac_objext` in
*32-bit*)
LD="${LD-ld} -melf32bsmip"
@@ -1312,9 +1337,46 @@ ia64-*-hpux*)
rm -rf conftest*
;;
+mips64*-*linux*)
+ # Find out what ABI is being produced by ac_compile, and set linker
+ # options accordingly.
+ echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext
+ if AC_TRY_EVAL(ac_compile); then
+ emul=elf
+ case `/usr/bin/file conftest.$ac_objext` in
+ *32-bit*)
+ emul="${emul}32"
+ ;;
+ *64-bit*)
+ emul="${emul}64"
+ ;;
+ esac
+ case `/usr/bin/file conftest.$ac_objext` in
+ *MSB*)
+ emul="${emul}btsmip"
+ ;;
+ *LSB*)
+ emul="${emul}ltsmip"
+ ;;
+ esac
+ case `/usr/bin/file conftest.$ac_objext` in
+ *N32*)
+ emul="${emul}n32"
+ ;;
+ esac
+ LD="${LD-ld} -m $emul"
+ fi
+ rm -rf conftest*
+ ;;
+
x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \
s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
- # Find out which ABI we are using.
+ # Find out what ABI is being produced by ac_compile, and set linker
+ # options accordingly. Note that the listed cases only cover the
+ # situations where additional linker options are needed (such as when
+ # doing 32-bit compilation for a host where ld defaults to 64-bit, or
+ # vice versa); the common cases where no linker options are needed do
+ # not appear in the list.
echo 'int i;' > conftest.$ac_ext
if AC_TRY_EVAL(ac_compile); then
case `/usr/bin/file conftest.o` in
@@ -1333,10 +1395,10 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
;;
esac
;;
- powerpc64le-*)
+ powerpc64le-*linux*)
LD="${LD-ld} -m elf32lppclinux"
;;
- powerpc64-*)
+ powerpc64-*linux*)
LD="${LD-ld} -m elf32ppclinux"
;;
s390x-*linux*)
@@ -1355,10 +1417,10 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
x86_64-*linux*)
LD="${LD-ld} -m elf_x86_64"
;;
- powerpcle-*)
+ powerpcle-*linux*)
LD="${LD-ld} -m elf64lppc"
;;
- powerpc-*)
+ powerpc-*linux*)
LD="${LD-ld} -m elf64ppc"
;;
s390*-*linux*|s390*-*tpf*)
@@ -1376,19 +1438,20 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
*-*-sco3.2v5*)
# On SCO OpenServer 5, we need -belf to get full-featured binaries.
- SAVE_CFLAGS="$CFLAGS"
+ SAVE_CFLAGS=$CFLAGS
CFLAGS="$CFLAGS -belf"
AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf,
[AC_LANG_PUSH(C)
AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[]])],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])
AC_LANG_POP])
- if test x"$lt_cv_cc_needs_belf" != x"yes"; then
+ if test yes != "$lt_cv_cc_needs_belf"; then
# this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
- CFLAGS="$SAVE_CFLAGS"
+ CFLAGS=$SAVE_CFLAGS
fi
;;
*-*solaris*)
- # Find out which ABI we are using.
+ # Find out what ABI is being produced by ac_compile, and set linker
+ # options accordingly.
echo 'int i;' > conftest.$ac_ext
if AC_TRY_EVAL(ac_compile); then
case `/usr/bin/file conftest.o` in
@@ -1396,7 +1459,7 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
case $lt_cv_prog_gnu_ld in
yes*)
case $host in
- i?86-*-solaris*)
+ i?86-*-solaris*|x86_64-*-solaris*)
LD="${LD-ld} -m elf_x86_64"
;;
sparc*-*-solaris*)
@@ -1405,7 +1468,7 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
esac
# GNU ld 2.21 introduced _sol2 emulations. Use them if available.
if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then
- LD="${LD-ld}_sol2"
+ LD=${LD-ld}_sol2
fi
;;
*)
@@ -1421,7 +1484,7 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
;;
esac
-need_locks="$enable_libtool_lock"
+need_locks=$enable_libtool_lock
])# _LT_ENABLE_LOCK
@@ -1440,11 +1503,11 @@ AC_CACHE_CHECK([for archiver @FILE support], [lt_cv_ar_at_file],
[echo conftest.$ac_objext > conftest.lst
lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&AS_MESSAGE_LOG_FD'
AC_TRY_EVAL([lt_ar_try])
- if test "$ac_status" -eq 0; then
+ if test 0 -eq "$ac_status"; then
# Ensure the archiver fails upon bogus file names.
rm -f conftest.$ac_objext libconftest.a
AC_TRY_EVAL([lt_ar_try])
- if test "$ac_status" -ne 0; then
+ if test 0 -ne "$ac_status"; then
lt_cv_ar_at_file=@
fi
fi
@@ -1452,7 +1515,7 @@ AC_CACHE_CHECK([for archiver @FILE support], [lt_cv_ar_at_file],
])
])
-if test "x$lt_cv_ar_at_file" = xno; then
+if test no = "$lt_cv_ar_at_file"; then
archiver_list_spec=
else
archiver_list_spec=$lt_cv_ar_at_file
@@ -1483,7 +1546,7 @@ old_postuninstall_cmds=
if test -n "$RANLIB"; then
case $host_os in
- openbsd*)
+ bitrig* | openbsd*)
old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib"
;;
*)
@@ -1519,7 +1582,7 @@ AC_CACHE_CHECK([$1], [$2],
[$2=no
m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4])
echo "$lt_simple_compile_test_code" > conftest.$ac_ext
- lt_compiler_flag="$3"
+ lt_compiler_flag="$3" ## exclude from sc_useless_quotes_in_assignment
# Insert the option either (1) after the last *FLAGS variable, or
# (2) before a word containing "conftest.", or (3) at the end.
# Note that $ac_compile itself does not contain backslashes and begins
@@ -1546,7 +1609,7 @@ AC_CACHE_CHECK([$1], [$2],
$RM conftest*
])
-if test x"[$]$2" = xyes; then
+if test yes = "[$]$2"; then
m4_if([$5], , :, [$5])
else
m4_if([$6], , :, [$6])
@@ -1568,7 +1631,7 @@ AC_DEFUN([_LT_LINKER_OPTION],
m4_require([_LT_DECL_SED])dnl
AC_CACHE_CHECK([$1], [$2],
[$2=no
- save_LDFLAGS="$LDFLAGS"
+ save_LDFLAGS=$LDFLAGS
LDFLAGS="$LDFLAGS $3"
echo "$lt_simple_link_test_code" > conftest.$ac_ext
if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
@@ -1587,10 +1650,10 @@ AC_CACHE_CHECK([$1], [$2],
fi
fi
$RM -r conftest*
- LDFLAGS="$save_LDFLAGS"
+ LDFLAGS=$save_LDFLAGS
])
-if test x"[$]$2" = xyes; then
+if test yes = "[$]$2"; then
m4_if([$4], , :, [$4])
else
m4_if([$5], , :, [$5])
@@ -1611,7 +1674,7 @@ AC_DEFUN([LT_CMD_MAX_LEN],
AC_MSG_CHECKING([the maximum length of command line arguments])
AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
i=0
- teststring="ABCD"
+ teststring=ABCD
case $build_os in
msdosdjgpp*)
@@ -1651,7 +1714,7 @@ AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
lt_cv_sys_max_cmd_len=8192;
;;
- netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
+ bitrig* | darwin* | dragonfly* | freebsd* | netbsd* | openbsd*)
# This has been around since 386BSD, at least. Likely further.
if test -x /sbin/sysctl; then
lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
@@ -1702,22 +1765,22 @@ AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
*)
lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
if test -n "$lt_cv_sys_max_cmd_len" && \
- test undefined != "$lt_cv_sys_max_cmd_len"; then
+ test undefined != "$lt_cv_sys_max_cmd_len"; then
lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
else
# Make teststring a little bigger before we do anything with it.
# a 1K string should be a reasonable start.
- for i in 1 2 3 4 5 6 7 8 ; do
+ for i in 1 2 3 4 5 6 7 8; do
teststring=$teststring$teststring
done
SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
# If test is not a shell built-in, we'll probably end up computing a
# maximum length that is only half of the actual maximum length, but
# we can't tell.
- while { test "X"`env echo "$teststring$teststring" 2>/dev/null` \
+ while { test X`env echo "$teststring$teststring" 2>/dev/null` \
= "X$teststring$teststring"; } >/dev/null 2>&1 &&
- test $i != 17 # 1/2 MB should be enough
+ test 17 != "$i" # 1/2 MB should be enough
do
i=`expr $i + 1`
teststring=$teststring$teststring
@@ -1733,7 +1796,7 @@ AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
;;
esac
])
-if test -n $lt_cv_sys_max_cmd_len ; then
+if test -n "$lt_cv_sys_max_cmd_len"; then
AC_MSG_RESULT($lt_cv_sys_max_cmd_len)
else
AC_MSG_RESULT(none)
@@ -1761,7 +1824,7 @@ m4_defun([_LT_HEADER_DLFCN],
# ----------------------------------------------------------------
m4_defun([_LT_TRY_DLOPEN_SELF],
[m4_require([_LT_HEADER_DLFCN])dnl
-if test "$cross_compiling" = yes; then :
+if test yes = "$cross_compiling"; then :
[$4]
else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
@@ -1808,9 +1871,9 @@ else
# endif
#endif
-/* When -fvisbility=hidden is used, assume the code has been annotated
+/* When -fvisibility=hidden is used, assume the code has been annotated
correspondingly for the symbols needed. */
-#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
+#if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
int fnord () __attribute__((visibility("default")));
#endif
@@ -1836,7 +1899,7 @@ int main ()
return status;
}]
_LT_EOF
- if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then
+ if AC_TRY_EVAL(ac_link) && test -s "conftest$ac_exeext" 2>/dev/null; then
(./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null
lt_status=$?
case x$lt_status in
@@ -1857,7 +1920,7 @@ rm -fr conftest*
# ------------------
AC_DEFUN([LT_SYS_DLOPEN_SELF],
[m4_require([_LT_HEADER_DLFCN])dnl
-if test "x$enable_dlopen" != xyes; then
+if test yes != "$enable_dlopen"; then
enable_dlopen=unknown
enable_dlopen_self=unknown
enable_dlopen_self_static=unknown
@@ -1867,44 +1930,52 @@ else
case $host_os in
beos*)
- lt_cv_dlopen="load_add_on"
+ lt_cv_dlopen=load_add_on
lt_cv_dlopen_libs=
lt_cv_dlopen_self=yes
;;
mingw* | pw32* | cegcc*)
- lt_cv_dlopen="LoadLibrary"
+ lt_cv_dlopen=LoadLibrary
lt_cv_dlopen_libs=
;;
cygwin*)
- lt_cv_dlopen="dlopen"
+ lt_cv_dlopen=dlopen
lt_cv_dlopen_libs=
;;
darwin*)
- # if libdl is installed we need to link against it
+ # if libdl is installed we need to link against it
AC_CHECK_LIB([dl], [dlopen],
- [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[
- lt_cv_dlopen="dyld"
+ [lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl],[
+ lt_cv_dlopen=dyld
lt_cv_dlopen_libs=
lt_cv_dlopen_self=yes
])
;;
+ tpf*)
+ # Don't try to run any link tests for TPF. We know it's impossible
+ # because TPF is a cross-compiler, and we know how we open DSOs.
+ lt_cv_dlopen=dlopen
+ lt_cv_dlopen_libs=
+ lt_cv_dlopen_self=no
+ ;;
+
*)
AC_CHECK_FUNC([shl_load],
- [lt_cv_dlopen="shl_load"],
+ [lt_cv_dlopen=shl_load],
[AC_CHECK_LIB([dld], [shl_load],
- [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"],
+ [lt_cv_dlopen=shl_load lt_cv_dlopen_libs=-ldld],
[AC_CHECK_FUNC([dlopen],
- [lt_cv_dlopen="dlopen"],
+ [lt_cv_dlopen=dlopen],
[AC_CHECK_LIB([dl], [dlopen],
- [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],
+ [lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl],
[AC_CHECK_LIB([svld], [dlopen],
- [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"],
+ [lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-lsvld],
[AC_CHECK_LIB([dld], [dld_link],
- [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"])
+ [lt_cv_dlopen=dld_link lt_cv_dlopen_libs=-ldld])
])
])
])
@@ -1913,21 +1984,21 @@ else
;;
esac
- if test "x$lt_cv_dlopen" != xno; then
- enable_dlopen=yes
- else
+ if test no = "$lt_cv_dlopen"; then
enable_dlopen=no
+ else
+ enable_dlopen=yes
fi
case $lt_cv_dlopen in
dlopen)
- save_CPPFLAGS="$CPPFLAGS"
- test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
+ save_CPPFLAGS=$CPPFLAGS
+ test yes = "$ac_cv_header_dlfcn_h" && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
- save_LDFLAGS="$LDFLAGS"
+ save_LDFLAGS=$LDFLAGS
wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
- save_LIBS="$LIBS"
+ save_LIBS=$LIBS
LIBS="$lt_cv_dlopen_libs $LIBS"
AC_CACHE_CHECK([whether a program can dlopen itself],
@@ -1937,7 +2008,7 @@ else
lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross)
])
- if test "x$lt_cv_dlopen_self" = xyes; then
+ if test yes = "$lt_cv_dlopen_self"; then
wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
AC_CACHE_CHECK([whether a statically linked program can dlopen itself],
lt_cv_dlopen_self_static, [dnl
@@ -1947,9 +2018,9 @@ else
])
fi
- CPPFLAGS="$save_CPPFLAGS"
- LDFLAGS="$save_LDFLAGS"
- LIBS="$save_LIBS"
+ CPPFLAGS=$save_CPPFLAGS
+ LDFLAGS=$save_LDFLAGS
+ LIBS=$save_LIBS
;;
esac
@@ -2041,8 +2112,8 @@ m4_defun([_LT_COMPILER_FILE_LOCKS],
m4_require([_LT_FILEUTILS_DEFAULTS])dnl
_LT_COMPILER_C_O([$1])
-hard_links="nottested"
-if test "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then
+hard_links=nottested
+if test no = "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" && test no != "$need_locks"; then
# do not overwrite the value of need_locks provided by the user
AC_MSG_CHECKING([if we can lock with hard links])
hard_links=yes
@@ -2052,8 +2123,8 @@ if test "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" !=
ln conftest.a conftest.b 2>&5 || hard_links=no
ln conftest.a conftest.b 2>/dev/null && hard_links=no
AC_MSG_RESULT([$hard_links])
- if test "$hard_links" = no; then
- AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe])
+ if test no = "$hard_links"; then
+ AC_MSG_WARN(['$CC' does not support '-c -o', so 'make -j' may be unsafe])
need_locks=warn
fi
else
@@ -2080,8 +2151,8 @@ objdir=$lt_cv_objdir
_LT_DECL([], [objdir], [0],
[The name of the directory that contains temporary libtool files])dnl
m4_pattern_allow([LT_OBJDIR])dnl
-AC_DEFINE_UNQUOTED(LT_OBJDIR, "$lt_cv_objdir/",
- [Define to the sub-directory in which libtool stores uninstalled libraries.])
+AC_DEFINE_UNQUOTED([LT_OBJDIR], "$lt_cv_objdir/",
+ [Define to the sub-directory where libtool stores uninstalled libraries.])
])# _LT_CHECK_OBJDIR
@@ -2093,15 +2164,15 @@ m4_defun([_LT_LINKER_HARDCODE_LIBPATH],
_LT_TAGVAR(hardcode_action, $1)=
if test -n "$_LT_TAGVAR(hardcode_libdir_flag_spec, $1)" ||
test -n "$_LT_TAGVAR(runpath_var, $1)" ||
- test "X$_LT_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then
+ test yes = "$_LT_TAGVAR(hardcode_automatic, $1)"; then
# We can hardcode non-existent directories.
- if test "$_LT_TAGVAR(hardcode_direct, $1)" != no &&
+ if test no != "$_LT_TAGVAR(hardcode_direct, $1)" &&
# If the only mechanism to avoid hardcoding is shlibpath_var, we
# have to relink, otherwise we might link with an installed library
# when we should be linking with a yet-to-be-installed one
- ## test "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" != no &&
- test "$_LT_TAGVAR(hardcode_minus_L, $1)" != no; then
+ ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" &&
+ test no != "$_LT_TAGVAR(hardcode_minus_L, $1)"; then
# Linking always hardcodes the temporary library directory.
_LT_TAGVAR(hardcode_action, $1)=relink
else
@@ -2115,12 +2186,12 @@ else
fi
AC_MSG_RESULT([$_LT_TAGVAR(hardcode_action, $1)])
-if test "$_LT_TAGVAR(hardcode_action, $1)" = relink ||
- test "$_LT_TAGVAR(inherit_rpath, $1)" = yes; then
+if test relink = "$_LT_TAGVAR(hardcode_action, $1)" ||
+ test yes = "$_LT_TAGVAR(inherit_rpath, $1)"; then
# Fast installation is not supported
enable_fast_install=no
-elif test "$shlibpath_overrides_runpath" = yes ||
- test "$enable_shared" = no; then
+elif test yes = "$shlibpath_overrides_runpath" ||
+ test no = "$enable_shared"; then
# Fast installation is not necessary
enable_fast_install=needless
fi
@@ -2144,7 +2215,7 @@ else
# FIXME - insert some real tests, host_os isn't really good enough
case $host_os in
darwin*)
- if test -n "$STRIP" ; then
+ if test -n "$STRIP"; then
striplib="$STRIP -x"
old_striplib="$STRIP -S"
AC_MSG_RESULT([yes])
@@ -2162,6 +2233,47 @@ _LT_DECL([], [striplib], [1])
])# _LT_CMD_STRIPLIB
+# _LT_PREPARE_MUNGE_PATH_LIST
+# ---------------------------
+# Make sure func_munge_path_list() is defined correctly.
+m4_defun([_LT_PREPARE_MUNGE_PATH_LIST],
+[[# func_munge_path_list VARIABLE PATH
+# -----------------------------------
+# VARIABLE is name of variable containing _space_ separated list of
+# directories to be munged by the contents of PATH, which is string
+# having a format:
+# "DIR[:DIR]:"
+# string "DIR[ DIR]" will be prepended to VARIABLE
+# ":DIR[:DIR]"
+# string "DIR[ DIR]" will be appended to VARIABLE
+# "DIRP[:DIRP]::[DIRA:]DIRA"
+# string "DIRP[ DIRP]" will be prepended to VARIABLE and string
+# "DIRA[ DIRA]" will be appended to VARIABLE
+# "DIR[:DIR]"
+# VARIABLE will be replaced by "DIR[ DIR]"
+func_munge_path_list ()
+{
+ case x at S|@2 in
+ x)
+ ;;
+ *:)
+ eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'` \@S|@@S|@1\"
+ ;;
+ x:*)
+ eval @S|@1=\"\@S|@@S|@1 `$ECHO @S|@2 | $SED 's/:/ /g'`\"
+ ;;
+ *::*)
+ eval @S|@1=\"\@S|@@S|@1\ `$ECHO @S|@2 | $SED -e 's/.*:://' -e 's/:/ /g'`\"
+ eval @S|@1=\"`$ECHO @S|@2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \@S|@@S|@1\"
+ ;;
+ *)
+ eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'`\"
+ ;;
+ esac
+}
+]])# _LT_PREPARE_PATH_LIST
+
+
# _LT_SYS_DYNAMIC_LINKER([TAG])
# -----------------------------
# PORTME Fill in your ld.so characteristics
@@ -2172,17 +2284,18 @@ m4_require([_LT_FILEUTILS_DEFAULTS])dnl
m4_require([_LT_DECL_OBJDUMP])dnl
m4_require([_LT_DECL_SED])dnl
m4_require([_LT_CHECK_SHELL_FEATURES])dnl
+m4_require([_LT_PREPARE_MUNGE_PATH_LIST])dnl
AC_MSG_CHECKING([dynamic linker characteristics])
m4_if([$1],
[], [
-if test "$GCC" = yes; then
+if test yes = "$GCC"; then
case $host_os in
- darwin*) lt_awk_arg="/^libraries:/,/LR/" ;;
- *) lt_awk_arg="/^libraries:/" ;;
+ darwin*) lt_awk_arg='/^libraries:/,/LR/' ;;
+ *) lt_awk_arg='/^libraries:/' ;;
esac
case $host_os in
- mingw* | cegcc*) lt_sed_strip_eq="s,=\([[A-Za-z]]:\),\1,g" ;;
- *) lt_sed_strip_eq="s,=/,/,g" ;;
+ mingw* | cegcc*) lt_sed_strip_eq='s|=\([[A-Za-z]]:\)|\1|g' ;;
+ *) lt_sed_strip_eq='s|=/|/|g' ;;
esac
lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq`
case $lt_search_path_spec in
@@ -2198,28 +2311,35 @@ if test "$GCC" = yes; then
;;
esac
# Ok, now we have the path, separated by spaces, we can step through it
- # and add multilib dir if necessary.
+ # and add multilib dir if necessary...
lt_tmp_lt_search_path_spec=
- lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
+ lt_multi_os_dir=/`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
+ # ...but if some path component already ends with the multilib dir we assume
+ # that all is fine and trust -print-search-dirs as is (GCC 4.2? or newer).
+ case "$lt_multi_os_dir; $lt_search_path_spec " in
+ "/; "* | "/.; "* | "/./; "* | *"$lt_multi_os_dir "* | *"$lt_multi_os_dir/ "*)
+ lt_multi_os_dir=
+ ;;
+ esac
for lt_sys_path in $lt_search_path_spec; do
- if test -d "$lt_sys_path/$lt_multi_os_dir"; then
- lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir"
- else
+ if test -d "$lt_sys_path$lt_multi_os_dir"; then
+ lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path$lt_multi_os_dir"
+ elif test -n "$lt_multi_os_dir"; then
test -d "$lt_sys_path" && \
lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
fi
done
lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk '
-BEGIN {RS=" "; FS="/|\n";} {
- lt_foo="";
- lt_count=0;
+BEGIN {RS = " "; FS = "/|\n";} {
+ lt_foo = "";
+ lt_count = 0;
for (lt_i = NF; lt_i > 0; lt_i--) {
if ($lt_i != "" && $lt_i != ".") {
if ($lt_i == "..") {
lt_count++;
} else {
if (lt_count == 0) {
- lt_foo="/" $lt_i lt_foo;
+ lt_foo = "/" $lt_i lt_foo;
} else {
lt_count--;
}
@@ -2233,7 +2353,7 @@ BEGIN {RS=" "; FS="/|\n";} {
# for these hosts.
case $host_os in
mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\
- $SED 's,/\([[A-Za-z]]:\),\1,g'` ;;
+ $SED 's|/\([[A-Za-z]]:\)|\1|g'` ;;
esac
sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP`
else
@@ -2242,7 +2362,7 @@ fi])
library_names_spec=
libname_spec='lib$name'
soname_spec=
-shrext_cmds=".so"
+shrext_cmds=.so
postinstall_cmds=
postuninstall_cmds=
finish_cmds=
@@ -2259,14 +2379,17 @@ hardcode_into_libs=no
# flags to be left without arguments
need_version=unknown
+AC_ARG_VAR([LT_SYS_LIBRARY_PATH],
+[User-defined run-time library search path.])
+
case $host_os in
aix3*)
version_type=linux # correct to gnu/linux during the next big refactor
- library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname.a'
shlibpath_var=LIBPATH
# AIX 3 has no versioning support, so we append a major version to the name.
- soname_spec='${libname}${release}${shared_ext}$major'
+ soname_spec='$libname$release$shared_ext$major'
;;
aix[[4-9]]*)
@@ -2274,41 +2397,91 @@ aix[[4-9]]*)
need_lib_prefix=no
need_version=no
hardcode_into_libs=yes
- if test "$host_cpu" = ia64; then
+ if test ia64 = "$host_cpu"; then
# AIX 5 supports IA64
- library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
+ library_names_spec='$libname$release$shared_ext$major $libname$release$shared_ext$versuffix $libname$shared_ext'
shlibpath_var=LD_LIBRARY_PATH
else
# With GCC up to 2.95.x, collect2 would create an import file
# for dependence libraries. The import file would start with
- # the line `#! .'. This would cause the generated library to
- # depend on `.', always an invalid library. This was fixed in
+ # the line '#! .'. This would cause the generated library to
+ # depend on '.', always an invalid library. This was fixed in
# development snapshots of GCC prior to 3.0.
case $host_os in
aix4 | aix4.[[01]] | aix4.[[01]].*)
if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
echo ' yes '
- echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then
+ echo '#endif'; } | $CC -E - | $GREP yes > /dev/null; then
:
else
can_build_shared=no
fi
;;
esac
- # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
+ # Using Import Files as archive members, it is possible to support
+ # filename-based versioning of shared library archives on AIX. While
+ # this would work for both with and without runtime linking, it will
+ # prevent static linking of such archives. So we do filename-based
+ # shared library versioning with .so extension only, which is used
+ # when both runtime linking and shared linking is enabled.
+ # Unfortunately, runtime linking may impact performance, so we do
+ # not want this to be the default eventually. Also, we use the
+ # versioned .so libs for executables only if there is the -brtl
+ # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only.
+ # To allow for filename-based versioning support, we need to create
+ # libNAME.so.V as an archive file, containing:
+ # *) an Import File, referring to the versioned filename of the
+ # archive as well as the shared archive member, telling the
+ # bitwidth (32 or 64) of that shared object, and providing the
+ # list of exported symbols of that shared object, eventually
+ # decorated with the 'weak' keyword
+ # *) the shared object with the F_LOADONLY flag set, to really avoid
+ # it being seen by the linker.
+ # At run time we better use the real file rather than another symlink,
+ # but for link time we create the symlink libNAME.so -> libNAME.so.V
+
+ case $with_aix_soname,$aix_use_runtimelinking in
+ # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct
# soname into executable. Probably we can add versioning support to
# collect2, so additional links can be useful in future.
- if test "$aix_use_runtimelinking" = yes; then
+ aix,yes) # traditional libtool
+ dynamic_linker='AIX unversionable lib.so'
# If using run time linking (on AIX 4.2 or later) use lib<name>.so
# instead of lib<name>.a to let people know that these are not
# typical AIX shared libraries.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- else
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ ;;
+ aix,no) # traditional AIX only
+ dynamic_linker='AIX lib.a[(]lib.so.V[)]'
# We preserve .a as extension for shared libraries through AIX4.2
# and later when we are not doing run time linking.
- library_names_spec='${libname}${release}.a $libname.a'
- soname_spec='${libname}${release}${shared_ext}$major'
- fi
+ library_names_spec='$libname$release.a $libname.a'
+ soname_spec='$libname$release$shared_ext$major'
+ ;;
+ svr4,*) # full svr4 only
+ dynamic_linker="AIX lib.so.V[(]$shared_archive_member_spec.o[)]"
+ library_names_spec='$libname$release$shared_ext$major $libname$shared_ext'
+ # We do not specify a path in Import Files, so LIBPATH fires.
+ shlibpath_overrides_runpath=yes
+ ;;
+ *,yes) # both, prefer svr4
+ dynamic_linker="AIX lib.so.V[(]$shared_archive_member_spec.o[)], lib.a[(]lib.so.V[)]"
+ library_names_spec='$libname$release$shared_ext$major $libname$shared_ext'
+ # unpreferred sharedlib libNAME.a needs extra handling
+ postinstall_cmds='test -n "$linkname" || linkname="$realname"~func_stripname "" ".so" "$linkname"~$install_shared_prog "$dir/$func_stripname_result.$libext" "$destdir/$func_stripname_result.$libext"~test -z "$tstripme" || test -z "$striplib" || $striplib "$destdir/$func_stripname_result.$libext"'
+ postuninstall_cmds='for n in $library_names $old_library; do :; done~func_stripname "" ".so" "$n"~test "$func_stripname_result" = "$n" || func_append rmfiles " $odir/$func_stripname_result.$libext"'
+ # We do not specify a path in Import Files, so LIBPATH fires.
+ shlibpath_overrides_runpath=yes
+ ;;
+ *,no) # both, prefer aix
+ dynamic_linker="AIX lib.a[(]lib.so.V[)], lib.so.V[(]$shared_archive_member_spec.o[)]"
+ library_names_spec='$libname$release.a $libname.a'
+ soname_spec='$libname$release$shared_ext$major'
+ # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling
+ postinstall_cmds='test -z "$dlname" || $install_shared_prog $dir/$dlname $destdir/$dlname~test -z "$tstripme" || test -z "$striplib" || $striplib $destdir/$dlname~test -n "$linkname" || linkname=$realname~func_stripname "" ".a" "$linkname"~(cd "$destdir" && $LN_S -f $dlname $func_stripname_result.so)'
+ postuninstall_cmds='test -z "$dlname" || func_append rmfiles " $odir/$dlname"~for n in $old_library $library_names; do :; done~func_stripname "" ".a" "$n"~func_append rmfiles " $odir/$func_stripname_result.so"'
+ ;;
+ esac
shlibpath_var=LIBPATH
fi
;;
@@ -2318,18 +2491,18 @@ amigaos*)
powerpc)
# Since July 2007 AmigaOS4 officially supports .so libraries.
# When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
;;
m68k)
library_names_spec='$libname.ixlibrary $libname.a'
# Create ${libname}_ixlibrary.a entries in /sys/libs.
- finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
+ finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
;;
esac
;;
beos*)
- library_names_spec='${libname}${shared_ext}'
+ library_names_spec='$libname$shared_ext'
dynamic_linker="$host_os ld.so"
shlibpath_var=LIBRARY_PATH
;;
@@ -2337,8 +2510,8 @@ beos*)
bsdi[[45]]*)
version_type=linux # correct to gnu/linux during the next big refactor
need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
shlibpath_var=LD_LIBRARY_PATH
sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
@@ -2350,7 +2523,7 @@ bsdi[[45]]*)
cygwin* | mingw* | pw32* | cegcc*)
version_type=windows
- shrext_cmds=".dll"
+ shrext_cmds=.dll
need_version=no
need_lib_prefix=no
@@ -2359,8 +2532,8 @@ cygwin* | mingw* | pw32* | cegcc*)
# gcc
library_names_spec='$libname.dll.a'
# DLL is installed to $(libdir)/../bin by postinstall_cmds
- postinstall_cmds='base_file=`basename \${file}`~
- dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
+ postinstall_cmds='base_file=`basename \$file`~
+ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~
dldir=$destdir/`dirname \$dlpath`~
test -d \$dldir || mkdir -p \$dldir~
$install_prog $dir/$dlname \$dldir/$dlname~
@@ -2376,17 +2549,17 @@ cygwin* | mingw* | pw32* | cegcc*)
case $host_os in
cygwin*)
# Cygwin DLLs use 'cyg' prefix rather than 'lib'
- soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
+ soname_spec='`echo $libname | sed -e 's/^lib/cyg/'``echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext'
m4_if([$1], [],[
sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"])
;;
mingw* | cegcc*)
# MinGW DLLs use traditional 'lib' prefix
- soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
+ soname_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext'
;;
pw32*)
# pw32 DLLs use 'pw' prefix rather than 'lib'
- library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
+ library_names_spec='`echo $libname | sed -e 's/^lib/pw/'``echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext'
;;
esac
dynamic_linker='Win32 ld.exe'
@@ -2395,8 +2568,8 @@ m4_if([$1], [],[
*,cl*)
# Native MSVC
libname_spec='$name'
- soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
- library_names_spec='${libname}.dll.lib'
+ soname_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext'
+ library_names_spec='$libname.dll.lib'
case $build_os in
mingw*)
@@ -2423,7 +2596,7 @@ m4_if([$1], [],[
sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
;;
*)
- sys_lib_search_path_spec="$LIB"
+ sys_lib_search_path_spec=$LIB
if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then
# It is most probably a Windows format PATH.
sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
@@ -2436,8 +2609,8 @@ m4_if([$1], [],[
esac
# DLL is installed to $(libdir)/../bin by postinstall_cmds
- postinstall_cmds='base_file=`basename \${file}`~
- dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
+ postinstall_cmds='base_file=`basename \$file`~
+ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~
dldir=$destdir/`dirname \$dlpath`~
test -d \$dldir || mkdir -p \$dldir~
$install_prog $dir/$dlname \$dldir/$dlname'
@@ -2450,7 +2623,7 @@ m4_if([$1], [],[
*)
# Assume MSVC wrapper
- library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib'
+ library_names_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext $libname.lib'
dynamic_linker='Win32 ld.exe'
;;
esac
@@ -2463,8 +2636,8 @@ darwin* | rhapsody*)
version_type=darwin
need_lib_prefix=no
need_version=no
- library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext'
- soname_spec='${libname}${release}${major}$shared_ext'
+ library_names_spec='$libname$release$major$shared_ext $libname$shared_ext'
+ soname_spec='$libname$release$major$shared_ext'
shlibpath_overrides_runpath=yes
shlibpath_var=DYLD_LIBRARY_PATH
shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
@@ -2477,8 +2650,8 @@ dgux*)
version_type=linux # correct to gnu/linux during the next big refactor
need_lib_prefix=no
need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
- soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
shlibpath_var=LD_LIBRARY_PATH
;;
@@ -2496,12 +2669,13 @@ freebsd* | dragonfly*)
version_type=freebsd-$objformat
case $version_type in
freebsd-elf*)
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
need_version=no
need_lib_prefix=no
;;
freebsd-*)
- library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
need_version=yes
;;
esac
@@ -2531,10 +2705,10 @@ haiku*)
need_lib_prefix=no
need_version=no
dynamic_linker="$host_os runtime_loader"
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
shlibpath_var=LIBRARY_PATH
- shlibpath_overrides_runpath=yes
+ shlibpath_overrides_runpath=no
sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
hardcode_into_libs=yes
;;
@@ -2552,14 +2726,15 @@ hpux9* | hpux10* | hpux11*)
dynamic_linker="$host_os dld.so"
shlibpath_var=LD_LIBRARY_PATH
shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- if test "X$HPUX_IA64_MODE" = X32; then
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
+ if test 32 = "$HPUX_IA64_MODE"; then
sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
+ sys_lib_dlsearch_path_spec=/usr/lib/hpux32
else
sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
+ sys_lib_dlsearch_path_spec=/usr/lib/hpux64
fi
- sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
;;
hppa*64*)
shrext_cmds='.sl'
@@ -2567,8 +2742,8 @@ hpux9* | hpux10* | hpux11*)
dynamic_linker="$host_os dld.sl"
shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
;;
@@ -2577,8 +2752,8 @@ hpux9* | hpux10* | hpux11*)
dynamic_linker="$host_os dld.sl"
shlibpath_var=SHLIB_PATH
shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
;;
esac
# HP-UX runs *really* slowly unless shared libraries are mode 555, ...
@@ -2591,8 +2766,8 @@ interix[[3-9]]*)
version_type=linux # correct to gnu/linux during the next big refactor
need_lib_prefix=no
need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
shlibpath_var=LD_LIBRARY_PATH
shlibpath_overrides_runpath=no
@@ -2603,7 +2778,7 @@ irix5* | irix6* | nonstopux*)
case $host_os in
nonstopux*) version_type=nonstopux ;;
*)
- if test "$lt_cv_prog_gnu_ld" = yes; then
+ if test yes = "$lt_cv_prog_gnu_ld"; then
version_type=linux # correct to gnu/linux during the next big refactor
else
version_type=irix
@@ -2611,8 +2786,8 @@ irix5* | irix6* | nonstopux*)
esac
need_lib_prefix=no
need_version=no
- soname_spec='${libname}${release}${shared_ext}$major'
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
+ soname_spec='$libname$release$shared_ext$major'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$release$shared_ext $libname$shared_ext'
case $host_os in
irix5* | nonstopux*)
libsuff= shlibsuff=
@@ -2631,8 +2806,8 @@ irix5* | irix6* | nonstopux*)
esac
shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
shlibpath_overrides_runpath=no
- sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
- sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
+ sys_lib_search_path_spec="/usr/lib$libsuff /lib$libsuff /usr/local/lib$libsuff"
+ sys_lib_dlsearch_path_spec="/usr/lib$libsuff /lib$libsuff"
hardcode_into_libs=yes
;;
@@ -2641,13 +2816,33 @@ linux*oldld* | linux*aout* | linux*coff*)
dynamic_linker=no
;;
+linux*android*)
+ version_type=none # Android doesn't support versioned libraries.
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='$libname$release$shared_ext'
+ soname_spec='$libname$release$shared_ext'
+ finish_cmds=
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+
+ # This implies no fast_install, which is unacceptable.
+ # Some rework will be needed to allow for fast_install
+ # before this can be enabled.
+ hardcode_into_libs=yes
+
+ dynamic_linker='Android linker'
+ # Don't embed -rpath directories since the linker doesn't support them.
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ ;;
+
# This must be glibc/ELF.
linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
version_type=linux # correct to gnu/linux during the next big refactor
need_lib_prefix=no
need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
shlibpath_var=LD_LIBRARY_PATH
shlibpath_overrides_runpath=no
@@ -2672,7 +2867,12 @@ linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
# before this can be enabled.
hardcode_into_libs=yes
- # Append ld.so.conf contents to the search path
+ # Ideally, we could use ldconfig to report *all* directores which are
+ # searched for libraries, however this is still not possible. Aside from not
+ # being certain /sbin/ldconfig is available, command
+ # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64,
+ # even though it is searched at run-time. Try to do the best guess by
+ # appending ld.so.conf contents (and includes) to the search path.
if test -f /etc/ld.so.conf; then
lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
@@ -2704,12 +2904,12 @@ netbsd*)
need_lib_prefix=no
need_version=no
if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
dynamic_linker='NetBSD (a.out) ld.so'
else
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
dynamic_linker='NetBSD ld.elf_so'
fi
shlibpath_var=LD_LIBRARY_PATH
@@ -2719,7 +2919,7 @@ netbsd*)
newsos6)
version_type=linux # correct to gnu/linux during the next big refactor
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
shlibpath_var=LD_LIBRARY_PATH
shlibpath_overrides_runpath=yes
;;
@@ -2728,58 +2928,68 @@ newsos6)
version_type=qnx
need_lib_prefix=no
need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
shlibpath_var=LD_LIBRARY_PATH
shlibpath_overrides_runpath=no
hardcode_into_libs=yes
dynamic_linker='ldqnx.so'
;;
-openbsd*)
+openbsd* | bitrig*)
version_type=sunos
- sys_lib_dlsearch_path_spec="/usr/lib"
+ sys_lib_dlsearch_path_spec=/usr/lib
need_lib_prefix=no
- # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
- case $host_os in
- openbsd3.3 | openbsd3.3.*) need_version=yes ;;
- *) need_version=no ;;
- esac
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- case $host_os in
- openbsd2.[[89]] | openbsd2.[[89]].*)
- shlibpath_overrides_runpath=no
- ;;
- *)
- shlibpath_overrides_runpath=yes
- ;;
- esac
+ if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
+ need_version=no
else
- shlibpath_overrides_runpath=yes
+ need_version=yes
fi
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
;;
os2*)
libname_spec='$name'
- shrext_cmds=".dll"
+ version_type=windows
+ shrext_cmds=.dll
+ need_version=no
need_lib_prefix=no
- library_names_spec='$libname${shared_ext} $libname.a'
+ # OS/2 can only load a DLL with a base name of 8 characters or less.
+ soname_spec='`test -n "$os2dllname" && libname="$os2dllname";
+ v=$($ECHO $release$versuffix | tr -d .-);
+ n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _);
+ $ECHO $n$v`$shared_ext'
+ library_names_spec='${libname}_dll.$libext'
dynamic_linker='OS/2 ld.exe'
- shlibpath_var=LIBPATH
+ shlibpath_var=BEGINLIBPATH
+ sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
+ sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+ postinstall_cmds='base_file=`basename \$file`~
+ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; $ECHO \$dlname'\''`~
+ dldir=$destdir/`dirname \$dlpath`~
+ test -d \$dldir || mkdir -p \$dldir~
+ $install_prog $dir/$dlname \$dldir/$dlname~
+ chmod a+x \$dldir/$dlname~
+ if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
+ eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
+ fi'
+ postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; $ECHO \$dlname'\''`~
+ dlpath=$dir/\$dldll~
+ $RM \$dlpath'
;;
osf3* | osf4* | osf5*)
version_type=osf
need_lib_prefix=no
need_version=no
- soname_spec='${libname}${release}${shared_ext}$major'
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='$libname$release$shared_ext$major'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
shlibpath_var=LD_LIBRARY_PATH
sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
- sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
+ sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
;;
rdos*)
@@ -2790,8 +3000,8 @@ solaris*)
version_type=linux # correct to gnu/linux during the next big refactor
need_lib_prefix=no
need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
shlibpath_var=LD_LIBRARY_PATH
shlibpath_overrides_runpath=yes
hardcode_into_libs=yes
@@ -2801,11 +3011,11 @@ solaris*)
sunos4*)
version_type=sunos
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
shlibpath_var=LD_LIBRARY_PATH
shlibpath_overrides_runpath=yes
- if test "$with_gnu_ld" = yes; then
+ if test yes = "$with_gnu_ld"; then
need_lib_prefix=no
fi
need_version=yes
@@ -2813,8 +3023,8 @@ sunos4*)
sysv4 | sysv4.3*)
version_type=linux # correct to gnu/linux during the next big refactor
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
shlibpath_var=LD_LIBRARY_PATH
case $host_vendor in
sni)
@@ -2835,24 +3045,24 @@ sysv4 | sysv4.3*)
;;
sysv4*MP*)
- if test -d /usr/nec ;then
+ if test -d /usr/nec; then
version_type=linux # correct to gnu/linux during the next big refactor
- library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
- soname_spec='$libname${shared_ext}.$major'
+ library_names_spec='$libname$shared_ext.$versuffix $libname$shared_ext.$major $libname$shared_ext'
+ soname_spec='$libname$shared_ext.$major'
shlibpath_var=LD_LIBRARY_PATH
fi
;;
sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
- version_type=freebsd-elf
+ version_type=sco
need_lib_prefix=no
need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
shlibpath_var=LD_LIBRARY_PATH
shlibpath_overrides_runpath=yes
hardcode_into_libs=yes
- if test "$with_gnu_ld" = yes; then
+ if test yes = "$with_gnu_ld"; then
sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
else
sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
@@ -2870,7 +3080,7 @@ tpf*)
version_type=linux # correct to gnu/linux during the next big refactor
need_lib_prefix=no
need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
shlibpath_var=LD_LIBRARY_PATH
shlibpath_overrides_runpath=no
hardcode_into_libs=yes
@@ -2878,8 +3088,8 @@ tpf*)
uts4*)
version_type=linux # correct to gnu/linux during the next big refactor
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
shlibpath_var=LD_LIBRARY_PATH
;;
@@ -2888,20 +3098,30 @@ uts4*)
;;
esac
AC_MSG_RESULT([$dynamic_linker])
-test "$dynamic_linker" = no && can_build_shared=no
+test no = "$dynamic_linker" && can_build_shared=no
variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
-if test "$GCC" = yes; then
+if test yes = "$GCC"; then
variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
fi
-if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
- sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
+if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then
+ sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec
fi
-if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
- sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
+
+if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then
+ sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec
fi
+# remember unaugmented sys_lib_dlsearch_path content for libtool script decls...
+configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec
+
+# ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code
+func_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH"
+
+# to be used as default LT_SYS_LIBRARY_PATH value in generated libtool
+configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH
+
_LT_DECL([], [variables_saved_for_relink], [1],
[Variables whose values should be saved in libtool wrapper scripts and
restored at link time])
@@ -2934,39 +3154,41 @@ _LT_DECL([], [hardcode_into_libs], [0],
[Whether we should hardcode library paths into libraries])
_LT_DECL([], [sys_lib_search_path_spec], [2],
[Compile-time system search path for libraries])
-_LT_DECL([], [sys_lib_dlsearch_path_spec], [2],
- [Run-time system search path for libraries])
+_LT_DECL([sys_lib_dlsearch_path_spec], [configure_time_dlsearch_path], [2],
+ [Detected run-time system search path for libraries])
+_LT_DECL([], [configure_time_lt_sys_library_path], [2],
+ [Explicit LT_SYS_LIBRARY_PATH set during ./configure time])
])# _LT_SYS_DYNAMIC_LINKER
# _LT_PATH_TOOL_PREFIX(TOOL)
# --------------------------
-# find a file program which can recognize shared library
+# find a file program that can recognize shared library
AC_DEFUN([_LT_PATH_TOOL_PREFIX],
[m4_require([_LT_DECL_EGREP])dnl
AC_MSG_CHECKING([for $1])
AC_CACHE_VAL(lt_cv_path_MAGIC_CMD,
[case $MAGIC_CMD in
[[\\/*] | ?:[\\/]*])
- lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
+ lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path.
;;
*)
- lt_save_MAGIC_CMD="$MAGIC_CMD"
- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+ lt_save_MAGIC_CMD=$MAGIC_CMD
+ lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
dnl $ac_dummy forces splitting on constant user-supplied paths.
dnl POSIX.2 word splitting is done only on the output of word expansions,
dnl not every word. This closes a longstanding sh security hole.
ac_dummy="m4_if([$2], , $PATH, [$2])"
for ac_dir in $ac_dummy; do
- IFS="$lt_save_ifs"
+ IFS=$lt_save_ifs
test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$1; then
- lt_cv_path_MAGIC_CMD="$ac_dir/$1"
+ if test -f "$ac_dir/$1"; then
+ lt_cv_path_MAGIC_CMD=$ac_dir/"$1"
if test -n "$file_magic_test_file"; then
case $deplibs_check_method in
"file_magic "*)
file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
- MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+ MAGIC_CMD=$lt_cv_path_MAGIC_CMD
if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
$EGREP "$file_magic_regex" > /dev/null; then
:
@@ -2989,11 +3211,11 @@ _LT_EOF
break
fi
done
- IFS="$lt_save_ifs"
- MAGIC_CMD="$lt_save_MAGIC_CMD"
+ IFS=$lt_save_ifs
+ MAGIC_CMD=$lt_save_MAGIC_CMD
;;
esac])
-MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+MAGIC_CMD=$lt_cv_path_MAGIC_CMD
if test -n "$MAGIC_CMD"; then
AC_MSG_RESULT($MAGIC_CMD)
else
@@ -3011,7 +3233,7 @@ dnl AC_DEFUN([AC_PATH_TOOL_PREFIX], [])
# _LT_PATH_MAGIC
# --------------
-# find a file program which can recognize a shared library
+# find a file program that can recognize a shared library
m4_defun([_LT_PATH_MAGIC],
[_LT_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH)
if test -z "$lt_cv_path_MAGIC_CMD"; then
@@ -3038,16 +3260,16 @@ m4_require([_LT_PROG_ECHO_BACKSLASH])dnl
AC_ARG_WITH([gnu-ld],
[AS_HELP_STRING([--with-gnu-ld],
[assume the C compiler uses GNU ld @<:@default=no@:>@])],
- [test "$withval" = no || with_gnu_ld=yes],
+ [test no = "$withval" || with_gnu_ld=yes],
[with_gnu_ld=no])dnl
ac_prog=ld
-if test "$GCC" = yes; then
+if test yes = "$GCC"; then
# Check if gcc -print-prog-name=ld gives a path.
AC_MSG_CHECKING([for ld used by $CC])
case $host in
*-*-mingw*)
- # gcc leaves a trailing carriage return which upsets mingw
+ # gcc leaves a trailing carriage return, which upsets mingw
ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
*)
ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
@@ -3061,7 +3283,7 @@ if test "$GCC" = yes; then
while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
done
- test -z "$LD" && LD="$ac_prog"
+ test -z "$LD" && LD=$ac_prog
;;
"")
# If it fails, then pretend we aren't using GCC.
@@ -3072,37 +3294,37 @@ if test "$GCC" = yes; then
with_gnu_ld=unknown
;;
esac
-elif test "$with_gnu_ld" = yes; then
+elif test yes = "$with_gnu_ld"; then
AC_MSG_CHECKING([for GNU ld])
else
AC_MSG_CHECKING([for non-GNU ld])
fi
AC_CACHE_VAL(lt_cv_path_LD,
[if test -z "$LD"; then
- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+ lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
for ac_dir in $PATH; do
- IFS="$lt_save_ifs"
+ IFS=$lt_save_ifs
test -z "$ac_dir" && ac_dir=.
if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
- lt_cv_path_LD="$ac_dir/$ac_prog"
+ lt_cv_path_LD=$ac_dir/$ac_prog
# Check to see if the program is GNU ld. I'd rather use --version,
# but apparently some variants of GNU ld only accept -v.
# Break only if it was the GNU/non-GNU ld that we prefer.
case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
*GNU* | *'with BFD'*)
- test "$with_gnu_ld" != no && break
+ test no != "$with_gnu_ld" && break
;;
*)
- test "$with_gnu_ld" != yes && break
+ test yes != "$with_gnu_ld" && break
;;
esac
fi
done
- IFS="$lt_save_ifs"
+ IFS=$lt_save_ifs
else
- lt_cv_path_LD="$LD" # Let the user override the test with a path.
+ lt_cv_path_LD=$LD # Let the user override the test with a path.
fi])
-LD="$lt_cv_path_LD"
+LD=$lt_cv_path_LD
if test -n "$LD"; then
AC_MSG_RESULT($LD)
else
@@ -3156,13 +3378,13 @@ esac
reload_cmds='$LD$reload_flag -o $output$reload_objs'
case $host_os in
cygwin* | mingw* | pw32* | cegcc*)
- if test "$GCC" != yes; then
+ if test yes != "$GCC"; then
reload_cmds=false
fi
;;
darwin*)
- if test "$GCC" = yes; then
- reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
+ if test yes = "$GCC"; then
+ reload_cmds='$LTCC $LTCFLAGS -nostdlib $wl-r -o $output$reload_objs'
else
reload_cmds='$LD$reload_flag -o $output$reload_objs'
fi
@@ -3173,6 +3395,43 @@ _LT_TAGDECL([], [reload_cmds], [2])dnl
])# _LT_CMD_RELOAD
+# _LT_PATH_DD
+# -----------
+# find a working dd
+m4_defun([_LT_PATH_DD],
+[AC_CACHE_CHECK([for a working dd], [ac_cv_path_lt_DD],
+[printf 0123456789abcdef0123456789abcdef >conftest.i
+cat conftest.i conftest.i >conftest2.i
+: ${lt_DD:=$DD}
+AC_PATH_PROGS_FEATURE_CHECK([lt_DD], [dd],
+[if "$ac_path_lt_DD" bs=32 count=1 <conftest2.i >conftest.out 2>/dev/null; then
+ cmp -s conftest.i conftest.out \
+ && ac_cv_path_lt_DD="$ac_path_lt_DD" ac_path_lt_DD_found=:
+fi])
+rm -f conftest.i conftest2.i conftest.out])
+])# _LT_PATH_DD
+
+
+# _LT_CMD_TRUNCATE
+# ----------------
+# find command to truncate a binary pipe
+m4_defun([_LT_CMD_TRUNCATE],
+[m4_require([_LT_PATH_DD])
+AC_CACHE_CHECK([how to truncate binary pipes], [lt_cv_truncate_bin],
+[printf 0123456789abcdef0123456789abcdef >conftest.i
+cat conftest.i conftest.i >conftest2.i
+lt_cv_truncate_bin=
+if "$ac_cv_path_lt_DD" bs=32 count=1 <conftest2.i >conftest.out 2>/dev/null; then
+ cmp -s conftest.i conftest.out \
+ && lt_cv_truncate_bin="$ac_cv_path_lt_DD bs=4096 count=1"
+fi
+rm -f conftest.i conftest2.i conftest.out
+test -z "$lt_cv_truncate_bin" && lt_cv_truncate_bin="$SED -e 4q"])
+_LT_DECL([lt_truncate_bin], [lt_cv_truncate_bin], [1],
+ [Command to truncate a binary pipe])
+])# _LT_CMD_TRUNCATE
+
+
# _LT_CHECK_MAGIC_METHOD
# ----------------------
# how to check for library dependencies
@@ -3188,13 +3447,13 @@ lt_cv_deplibs_check_method='unknown'
# Need to set the preceding variable on all platforms that support
# interlibrary dependencies.
# 'none' -- dependencies not supported.
-# `unknown' -- same as none, but documents that we really don't know.
+# 'unknown' -- same as none, but documents that we really don't know.
# 'pass_all' -- all dependencies passed with no checks.
# 'test_compile' -- check by making test program.
# 'file_magic [[regex]]' -- check by looking for files in library path
-# which responds to the $file_magic_cmd with a given extended regex.
-# If you have `file' or equivalent on your system and you're not sure
-# whether `pass_all' will *always* work, you probably want this one.
+# that responds to the $file_magic_cmd with a given extended regex.
+# If you have 'file' or equivalent on your system and you're not sure
+# whether 'pass_all' will *always* work, you probably want this one.
case $host_os in
aix[[4-9]]*)
@@ -3221,8 +3480,7 @@ mingw* | pw32*)
# Base MSYS/MinGW do not provide the 'file' command needed by
# func_win32_libid shell function, so use a weaker test based on 'objdump',
# unless we find 'file', for example because we are cross-compiling.
- # func_win32_libid assumes BSD nm, so disallow it if using MS dumpbin.
- if ( test "$lt_cv_nm_interface" = "BSD nm" && file / ) >/dev/null 2>&1; then
+ if ( file / ) >/dev/null 2>&1; then
lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
lt_cv_file_magic_cmd='func_win32_libid'
else
@@ -3318,8 +3576,8 @@ newos6*)
lt_cv_deplibs_check_method=pass_all
;;
-openbsd*)
- if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+openbsd* | bitrig*)
+ if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$'
else
lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
@@ -3372,6 +3630,9 @@ sysv4 | sysv4.3*)
tpf*)
lt_cv_deplibs_check_method=pass_all
;;
+os2*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
esac
])
@@ -3412,33 +3673,38 @@ AC_DEFUN([LT_PATH_NM],
AC_CACHE_CHECK([for BSD- or MS-compatible name lister (nm)], lt_cv_path_NM,
[if test -n "$NM"; then
# Let the user override the test.
- lt_cv_path_NM="$NM"
+ lt_cv_path_NM=$NM
else
- lt_nm_to_check="${ac_tool_prefix}nm"
+ lt_nm_to_check=${ac_tool_prefix}nm
if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
lt_nm_to_check="$lt_nm_to_check nm"
fi
for lt_tmp_nm in $lt_nm_to_check; do
- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+ lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
- IFS="$lt_save_ifs"
+ IFS=$lt_save_ifs
test -z "$ac_dir" && ac_dir=.
- tmp_nm="$ac_dir/$lt_tmp_nm"
- if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
+ tmp_nm=$ac_dir/$lt_tmp_nm
+ if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext"; then
# Check to see if the nm accepts a BSD-compat flag.
- # Adding the `sed 1q' prevents false positives on HP-UX, which says:
+ # Adding the 'sed 1q' prevents false positives on HP-UX, which says:
# nm: unknown option "B" ignored
# Tru64's nm complains that /dev/null is an invalid object file
- case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
- */dev/null* | *'Invalid file or object type'*)
+ # MSYS converts /dev/null to NUL, MinGW nm treats NUL as empty
+ case $build_os in
+ mingw*) lt_bad_file=conftest.nm/nofile ;;
+ *) lt_bad_file=/dev/null ;;
+ esac
+ case `"$tmp_nm" -B $lt_bad_file 2>&1 | sed '1q'` in
+ *$lt_bad_file* | *'Invalid file or object type'*)
lt_cv_path_NM="$tmp_nm -B"
- break
+ break 2
;;
*)
case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
*/dev/null*)
lt_cv_path_NM="$tmp_nm -p"
- break
+ break 2
;;
*)
lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
@@ -3449,21 +3715,21 @@ else
esac
fi
done
- IFS="$lt_save_ifs"
+ IFS=$lt_save_ifs
done
: ${lt_cv_path_NM=no}
fi])
-if test "$lt_cv_path_NM" != "no"; then
- NM="$lt_cv_path_NM"
+if test no != "$lt_cv_path_NM"; then
+ NM=$lt_cv_path_NM
else
# Didn't find any BSD compatible name lister, look for dumpbin.
if test -n "$DUMPBIN"; then :
# Let the user override the test.
else
AC_CHECK_TOOLS(DUMPBIN, [dumpbin "link -dump"], :)
- case `$DUMPBIN -symbols /dev/null 2>&1 | sed '1q'` in
+ case `$DUMPBIN -symbols -headers /dev/null 2>&1 | sed '1q'` in
*COFF*)
- DUMPBIN="$DUMPBIN -symbols"
+ DUMPBIN="$DUMPBIN -symbols -headers"
;;
*)
DUMPBIN=:
@@ -3471,8 +3737,8 @@ else
esac
fi
AC_SUBST([DUMPBIN])
- if test "$DUMPBIN" != ":"; then
- NM="$DUMPBIN"
+ if test : != "$DUMPBIN"; then
+ NM=$DUMPBIN
fi
fi
test -z "$NM" && NM=nm
@@ -3518,8 +3784,8 @@ lt_cv_sharedlib_from_linklib_cmd,
case $host_os in
cygwin* | mingw* | pw32* | cegcc*)
- # two different shell functions defined in ltmain.sh
- # decide which to use based on capabilities of $DLLTOOL
+ # two different shell functions defined in ltmain.sh;
+ # decide which one to use based on capabilities of $DLLTOOL
case `$DLLTOOL --help 2>&1` in
*--identify-strict*)
lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib
@@ -3531,7 +3797,7 @@ cygwin* | mingw* | pw32* | cegcc*)
;;
*)
# fallback: assume linklib IS sharedlib
- lt_cv_sharedlib_from_linklib_cmd="$ECHO"
+ lt_cv_sharedlib_from_linklib_cmd=$ECHO
;;
esac
])
@@ -3558,13 +3824,28 @@ AC_CACHE_CHECK([if $MANIFEST_TOOL is a manifest tool], [lt_cv_path_mainfest_tool
lt_cv_path_mainfest_tool=yes
fi
rm -f conftest*])
-if test "x$lt_cv_path_mainfest_tool" != xyes; then
+if test yes != "$lt_cv_path_mainfest_tool"; then
MANIFEST_TOOL=:
fi
_LT_DECL([], [MANIFEST_TOOL], [1], [Manifest tool])dnl
])# _LT_PATH_MANIFEST_TOOL
+# _LT_DLL_DEF_P([FILE])
+# ---------------------
+# True iff FILE is a Windows DLL '.def' file.
+# Keep in sync with func_dll_def_p in the libtool script
+AC_DEFUN([_LT_DLL_DEF_P],
+[dnl
+ test DEF = "`$SED -n dnl
+ -e '\''s/^[[ ]]*//'\'' dnl Strip leading whitespace
+ -e '\''/^\(;.*\)*$/d'\'' dnl Delete empty lines and comments
+ -e '\''s/^\(EXPORTS\|LIBRARY\)\([[ ]].*\)*$/DEF/p'\'' dnl
+ -e q dnl Only consider the first "real" line
+ $1`" dnl
+])# _LT_DLL_DEF_P
+
+
# LT_LIB_M
# --------
# check for math library
@@ -3576,11 +3857,11 @@ case $host in
# These system don't have libm, or don't need it
;;
*-ncr-sysv4.3*)
- AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw")
+ AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM=-lmw)
AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm")
;;
*)
- AC_CHECK_LIB(m, cos, LIBM="-lm")
+ AC_CHECK_LIB(m, cos, LIBM=-lm)
;;
esac
AC_SUBST([LIBM])
@@ -3599,7 +3880,7 @@ m4_defun([_LT_COMPILER_NO_RTTI],
_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
-if test "$GCC" = yes; then
+if test yes = "$GCC"; then
case $cc_basename in
nvcc*)
_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -Xcompiler -fno-builtin' ;;
@@ -3651,7 +3932,7 @@ cygwin* | mingw* | pw32* | cegcc*)
symcode='[[ABCDGISTW]]'
;;
hpux*)
- if test "$host_cpu" = ia64; then
+ if test ia64 = "$host_cpu"; then
symcode='[[ABCDEGRST]]'
fi
;;
@@ -3684,14 +3965,44 @@ case `$NM -V 2>&1` in
symcode='[[ABCDGIRSTW]]' ;;
esac
+if test "$lt_cv_nm_interface" = "MS dumpbin"; then
+ # Gets list of data symbols to import.
+ lt_cv_sys_global_symbol_to_import="sed -n -e 's/^I .* \(.*\)$/\1/p'"
+ # Adjust the below global symbol transforms to fixup imported variables.
+ lt_cdecl_hook=" -e 's/^I .* \(.*\)$/extern __declspec(dllimport) char \1;/p'"
+ lt_c_name_hook=" -e 's/^I .* \(.*\)$/ {\"\1\", (void *) 0},/p'"
+ lt_c_name_lib_hook="\
+ -e 's/^I .* \(lib.*\)$/ {\"\1\", (void *) 0},/p'\
+ -e 's/^I .* \(.*\)$/ {\"lib\1\", (void *) 0},/p'"
+else
+ # Disable hooks by default.
+ lt_cv_sys_global_symbol_to_import=
+ lt_cdecl_hook=
+ lt_c_name_hook=
+ lt_c_name_lib_hook=
+fi
+
# Transform an extracted symbol line into a proper C declaration.
# Some systems (esp. on ia64) link data and code symbols differently,
# so use this general approach.
-lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
+lt_cv_sys_global_symbol_to_cdecl="sed -n"\
+$lt_cdecl_hook\
+" -e 's/^T .* \(.*\)$/extern int \1();/p'"\
+" -e 's/^$symcode$symcode* .* \(.*\)$/extern char \1;/p'"
# Transform an extracted symbol line into symbol name and symbol address
-lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\)[[ ]]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p'"
-lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([[^ ]]*\)[[ ]]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \(lib[[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"lib\2\", (void *) \&\2},/p'"
+lt_cv_sys_global_symbol_to_c_name_address="sed -n"\
+$lt_c_name_hook\
+" -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\
+" -e 's/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/p'"
+
+# Transform an extracted symbol line into symbol name with lib prefix and
+# symbol address.
+lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n"\
+$lt_c_name_lib_hook\
+" -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\
+" -e 's/^$symcode$symcode* .* \(lib.*\)$/ {\"\1\", (void *) \&\1},/p'"\
+" -e 's/^$symcode$symcode* .* \(.*\)$/ {\"lib\1\", (void *) \&\1},/p'"
# Handle CRLF in mingw tool chain
opt_cr=
@@ -3709,21 +4020,24 @@ for ac_symprfx in "" "_"; do
# Write the raw and C identifiers.
if test "$lt_cv_nm_interface" = "MS dumpbin"; then
- # Fake it for dumpbin and say T for any non-static function
- # and D for any global variable.
+ # Fake it for dumpbin and say T for any non-static function,
+ # D for any global variable and I for any imported variable.
# Also find C++ and __fastcall symbols from MSVC++,
# which start with @ or ?.
lt_cv_sys_global_symbol_pipe="$AWK ['"\
" {last_section=section; section=\$ 3};"\
" /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\
" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
+" /^ *Symbol name *: /{split(\$ 0,sn,\":\"); si=substr(sn[2],2)};"\
+" /^ *Type *: code/{print \"T\",si,substr(si,length(prfx))};"\
+" /^ *Type *: data/{print \"I\",si,substr(si,length(prfx))};"\
" \$ 0!~/External *\|/{next};"\
" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
" {if(hide[section]) next};"\
-" {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\
-" {split(\$ 0, a, /\||\r/); split(a[2], s)};"\
-" s[1]~/^[@?]/{print s[1], s[1]; next};"\
-" s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\
+" {f=\"D\"}; \$ 0~/\(\).*\|/{f=\"T\"};"\
+" {split(\$ 0,a,/\||\r/); split(a[2],s)};"\
+" s[1]~/^[@?]/{print f,s[1],s[1]; next};"\
+" s[1]~prfx {split(s[1],t,\"@\"); print f,t[1],substr(t[1],length(prfx))}"\
" ' prfx=^$ac_symprfx]"
else
lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
@@ -3763,11 +4077,11 @@ _LT_EOF
if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
cat <<_LT_EOF > conftest.$ac_ext
/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */
-#if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE)
-/* DATA imports from DLLs on WIN32 con't be const, because runtime
+#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE
+/* DATA imports from DLLs on WIN32 can't be const, because runtime
relocations are performed -- see ld's documentation on pseudo-relocs. */
# define LT@&t at _DLSYM_CONST
-#elif defined(__osf__)
+#elif defined __osf__
/* This system does not cope well with relocations in const data. */
# define LT@&t at _DLSYM_CONST
#else
@@ -3793,7 +4107,7 @@ lt__PROGRAM__LTX_preloaded_symbols[[]] =
{
{ "@PROGRAM@", (void *) 0 },
_LT_EOF
- $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
+ $SED "s/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
cat <<\_LT_EOF >> conftest.$ac_ext
{0, (void *) 0}
};
@@ -3813,9 +4127,9 @@ _LT_EOF
mv conftest.$ac_objext conftstm.$ac_objext
lt_globsym_save_LIBS=$LIBS
lt_globsym_save_CFLAGS=$CFLAGS
- LIBS="conftstm.$ac_objext"
+ LIBS=conftstm.$ac_objext
CFLAGS="$CFLAGS$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)"
- if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then
+ if AC_TRY_EVAL(ac_link) && test -s conftest$ac_exeext; then
pipe_works=yes
fi
LIBS=$lt_globsym_save_LIBS
@@ -3836,7 +4150,7 @@ _LT_EOF
rm -rf conftest* conftst*
# Do not use the global_symbol_pipe unless it works.
- if test "$pipe_works" = yes; then
+ if test yes = "$pipe_works"; then
break
else
lt_cv_sys_global_symbol_pipe=
@@ -3863,12 +4177,16 @@ _LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1],
[Take the output of nm and produce a listing of raw symbols and C names])
_LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1],
[Transform the output of nm in a proper C declaration])
+_LT_DECL([global_symbol_to_import], [lt_cv_sys_global_symbol_to_import], [1],
+ [Transform the output of nm into a list of symbols to manually relocate])
_LT_DECL([global_symbol_to_c_name_address],
[lt_cv_sys_global_symbol_to_c_name_address], [1],
[Transform the output of nm in a C name address pair])
_LT_DECL([global_symbol_to_c_name_address_lib_prefix],
[lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1],
[Transform the output of nm in a C name address pair when lib prefix is needed])
+_LT_DECL([nm_interface], [lt_cv_nm_interface], [1],
+ [The name lister interface])
_LT_DECL([], [nm_file_list_spec], [1],
[Specify filename containing input files for $NM])
]) # _LT_CMD_GLOBAL_SYMBOLS
@@ -3884,17 +4202,18 @@ _LT_TAGVAR(lt_prog_compiler_static, $1)=
m4_if([$1], [CXX], [
# C++ specific cases for pic, static, wl, etc.
- if test "$GXX" = yes; then
+ if test yes = "$GXX"; then
_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
_LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
case $host_os in
aix*)
# All AIX code is PIC.
- if test "$host_cpu" = ia64; then
+ if test ia64 = "$host_cpu"; then
# AIX 5 now supports IA64 processor
_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
fi
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
;;
amigaos*)
@@ -3905,8 +4224,8 @@ m4_if([$1], [CXX], [
;;
m68k)
# FIXME: we need at least 68020 code to build shared libraries, but
- # adding the `-m68020' flag to GCC prevents building anything better,
- # like `-m68040'.
+ # adding the '-m68020' flag to GCC prevents building anything better,
+ # like '-m68040'.
_LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
;;
esac
@@ -3922,6 +4241,11 @@ m4_if([$1], [CXX], [
# (--disable-auto-import) libraries
m4_if([$1], [GCJ], [],
[_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
+ case $host_os in
+ os2*)
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static'
+ ;;
+ esac
;;
darwin* | rhapsody*)
# PIC is the default on this platform
@@ -3971,7 +4295,7 @@ m4_if([$1], [CXX], [
case $host_os in
aix[[4-9]]*)
# All AIX code is PIC.
- if test "$host_cpu" = ia64; then
+ if test ia64 = "$host_cpu"; then
# AIX 5 now supports IA64 processor
_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
else
@@ -4012,14 +4336,14 @@ m4_if([$1], [CXX], [
case $cc_basename in
CC*)
_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
- if test "$host_cpu" != ia64; then
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-a ${wl}archive'
+ if test ia64 != "$host_cpu"; then
_LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
fi
;;
aCC*)
_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-a ${wl}archive'
case $host_cpu in
hppa*64*|ia64*)
# +Z the default
@@ -4056,7 +4380,7 @@ m4_if([$1], [CXX], [
_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
;;
ecpc* )
- # old Intel C++ for x86_64 which still supported -KPIC.
+ # old Intel C++ for x86_64, which still supported -KPIC.
_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
_LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
_LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
@@ -4201,17 +4525,18 @@ m4_if([$1], [CXX], [
fi
],
[
- if test "$GCC" = yes; then
+ if test yes = "$GCC"; then
_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
_LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
case $host_os in
aix*)
# All AIX code is PIC.
- if test "$host_cpu" = ia64; then
+ if test ia64 = "$host_cpu"; then
# AIX 5 now supports IA64 processor
_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
fi
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
;;
amigaos*)
@@ -4222,8 +4547,8 @@ m4_if([$1], [CXX], [
;;
m68k)
# FIXME: we need at least 68020 code to build shared libraries, but
- # adding the `-m68020' flag to GCC prevents building anything better,
- # like `-m68040'.
+ # adding the '-m68020' flag to GCC prevents building anything better,
+ # like '-m68040'.
_LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
;;
esac
@@ -4240,6 +4565,11 @@ m4_if([$1], [CXX], [
# (--disable-auto-import) libraries
m4_if([$1], [GCJ], [],
[_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
+ case $host_os in
+ os2*)
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static'
+ ;;
+ esac
;;
darwin* | rhapsody*)
@@ -4310,7 +4640,7 @@ m4_if([$1], [CXX], [
case $host_os in
aix*)
_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- if test "$host_cpu" = ia64; then
+ if test ia64 = "$host_cpu"; then
# AIX 5 now supports IA64 processor
_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
else
@@ -4318,11 +4648,30 @@ m4_if([$1], [CXX], [
fi
;;
+ darwin* | rhapsody*)
+ # PIC is the default on this platform
+ # Common symbols not allowed in MH_DYLIB files
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
+ case $cc_basename in
+ nagfor*)
+ # NAG Fortran compiler
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,-Wl,,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+ esac
+ ;;
+
mingw* | cygwin* | pw32* | os2* | cegcc*)
# This hack is so that the source file can tell whether it is being
# built for inclusion in a dll (and should export symbols for example).
m4_if([$1], [GCJ], [],
[_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
+ case $host_os in
+ os2*)
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static'
+ ;;
+ esac
;;
hpux9* | hpux10* | hpux11*)
@@ -4338,7 +4687,7 @@ m4_if([$1], [CXX], [
;;
esac
# Is there a better lt_prog_compiler_static that works with the bundled CC?
- _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-a ${wl}archive'
;;
irix5* | irix6* | nonstopux*)
@@ -4349,7 +4698,7 @@ m4_if([$1], [CXX], [
linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
case $cc_basename in
- # old Intel for x86_64 which still supported -KPIC.
+ # old Intel for x86_64, which still supported -KPIC.
ecc*)
_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
_LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
@@ -4374,6 +4723,12 @@ m4_if([$1], [CXX], [
_LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
;;
+ tcc*)
+ # Fabrice Bellard et al's Tiny C Compiler
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+ ;;
pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
# Portland Group compilers (*not* the Pentium gcc compiler,
# which looks to be a dead project)
@@ -4471,7 +4826,7 @@ m4_if([$1], [CXX], [
;;
sysv4*MP*)
- if test -d /usr/nec ;then
+ if test -d /usr/nec; then
_LT_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic'
_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
fi
@@ -4500,7 +4855,7 @@ m4_if([$1], [CXX], [
fi
])
case $host_os in
- # For platforms which do not support PIC, -DPIC is meaningless:
+ # For platforms that do not support PIC, -DPIC is meaningless:
*djgpp*)
_LT_TAGVAR(lt_prog_compiler_pic, $1)=
;;
@@ -4566,17 +4921,21 @@ m4_if([$1], [CXX], [
case $host_os in
aix[[4-9]]*)
# If we're using GNU nm, then we don't want the "-C" option.
- # -C means demangle to AIX nm, but means don't demangle with GNU nm
- # Also, AIX nm treats weak defined symbols like other global defined
- # symbols, whereas GNU nm marks them as "W".
+ # -C means demangle to GNU nm, but means don't demangle to AIX nm.
+ # Without the "-l" option, or with the "-B" option, AIX nm treats
+ # weak defined symbols like other global defined symbols, whereas
+ # GNU nm marks them as "W".
+ # While the 'weak' keyword is ignored in the Export File, we need
+ # it in the Import File for the 'aix-soname' feature, so we have
+ # to replace the "-B" option with "-P" for AIX nm.
if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
- _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+ _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols'
else
- _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+ _LT_TAGVAR(export_symbols_cmds, $1)='`func_echo_all $NM | $SED -e '\''s/B\([[^B]]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && ([substr](\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols'
fi
;;
pw32*)
- _LT_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds"
+ _LT_TAGVAR(export_symbols_cmds, $1)=$ltdll_cmds
;;
cygwin* | mingw* | cegcc*)
case $cc_basename in
@@ -4625,9 +4984,9 @@ m4_if([$1], [CXX], [
# included in the symbol list
_LT_TAGVAR(include_expsyms, $1)=
# exclude_expsyms can be an extended regexp of symbols to exclude
- # it will be wrapped by ` (' and `)$', so one must not match beginning or
- # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
- # as well as any symbol that contains `d'.
+ # it will be wrapped by ' (' and ')$', so one must not match beginning or
+ # end of line. Example: 'a|bc|.*d.*' will exclude the symbols 'a' and 'bc',
+ # as well as any symbol that contains 'd'.
_LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
# Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
# platforms (ab)use it in PIC code, but their linkers get confused if
@@ -4643,7 +5002,7 @@ dnl Note also adjust exclude_expsyms for C++ above.
# FIXME: the MSVC++ port hasn't been tested in a loooong time
# When not using gcc, we currently assume that we are using
# Microsoft Visual C++.
- if test "$GCC" != yes; then
+ if test yes != "$GCC"; then
with_gnu_ld=no
fi
;;
@@ -4651,7 +5010,7 @@ dnl Note also adjust exclude_expsyms for C++ above.
# we just hope/assume this is gcc and not c89 (= MSVC++)
with_gnu_ld=yes
;;
- openbsd*)
+ openbsd* | bitrig*)
with_gnu_ld=no
;;
linux* | k*bsd*-gnu | gnu*)
@@ -4664,7 +5023,7 @@ dnl Note also adjust exclude_expsyms for C++ above.
# On some targets, GNU ld is compatible enough with the native linker
# that we're better off using the native interface for both.
lt_use_gnu_ld_interface=no
- if test "$with_gnu_ld" = yes; then
+ if test yes = "$with_gnu_ld"; then
case $host_os in
aix*)
# The AIX port of GNU ld has always aspired to compatibility
@@ -4686,24 +5045,24 @@ dnl Note also adjust exclude_expsyms for C++ above.
esac
fi
- if test "$lt_use_gnu_ld_interface" = yes; then
+ if test yes = "$lt_use_gnu_ld_interface"; then
# If archive_cmds runs LD, not CC, wlarc should be empty
- wlarc='${wl}'
+ wlarc='$wl'
# Set some defaults for GNU ld with shared library support. These
# are reset later if shared libraries are not supported. Putting them
# here allows them to be overridden if necessary.
runpath_var=LD_RUN_PATH
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
# ancient GNU ld didn't support --whole-archive et. al.
if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
- _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+ _LT_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive'
else
_LT_TAGVAR(whole_archive_flag_spec, $1)=
fi
supports_anon_versioning=no
- case `$LD -v 2>&1` in
+ case `$LD -v | $SED -e 's/([^)]\+)\s\+//' 2>&1` in
*GNU\ gold*) supports_anon_versioning=yes ;;
*\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11
*\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
@@ -4716,7 +5075,7 @@ dnl Note also adjust exclude_expsyms for C++ above.
case $host_os in
aix[[3-9]]*)
# On AIX/PPC, the GNU linker is very broken
- if test "$host_cpu" != ia64; then
+ if test ia64 != "$host_cpu"; then
_LT_TAGVAR(ld_shlibs, $1)=no
cat <<_LT_EOF 1>&2
@@ -4735,7 +5094,7 @@ _LT_EOF
case $host_cpu in
powerpc)
# see comment about AmigaOS4 .so support
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
_LT_TAGVAR(archive_expsym_cmds, $1)=''
;;
m68k)
@@ -4751,7 +5110,7 @@ _LT_EOF
_LT_TAGVAR(allow_undefined_flag, $1)=unsupported
# Joseph Beckenbach <jrb3 at best.com> says some releases of gcc
# support --undefined. This deserves some investigation. FIXME
- _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
else
_LT_TAGVAR(ld_shlibs, $1)=no
fi
@@ -4761,7 +5120,7 @@ _LT_EOF
# _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
# as there is no search path for DLLs.
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-all-symbols'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-all-symbols'
_LT_TAGVAR(allow_undefined_flag, $1)=unsupported
_LT_TAGVAR(always_export_symbols, $1)=no
_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
@@ -4769,61 +5128,89 @@ _LT_EOF
_LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname']
if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
- # If the export-symbols file already is a .def file (1st line
- # is EXPORTS), use it as is; otherwise, prepend...
- _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
- cp $export_symbols $output_objdir/$soname.def;
- else
- echo EXPORTS > $output_objdir/$soname.def;
- cat $export_symbols >> $output_objdir/$soname.def;
- fi~
- $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+ # If the export-symbols file already is a .def file, use it as
+ # is; otherwise, prepend EXPORTS...
+ _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then
+ cp $export_symbols $output_objdir/$soname.def;
+ else
+ echo EXPORTS > $output_objdir/$soname.def;
+ cat $export_symbols >> $output_objdir/$soname.def;
+ fi~
+ $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
else
_LT_TAGVAR(ld_shlibs, $1)=no
fi
;;
haiku*)
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
_LT_TAGVAR(link_all_deplibs, $1)=yes
;;
+ os2*)
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
+ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+ shrext_cmds=.dll
+ _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
+ $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
+ $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
+ $ECHO EXPORTS >> $output_objdir/$libname.def~
+ emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
+ $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
+ emximp -o $lib $output_objdir/$libname.def'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
+ $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
+ $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
+ $ECHO EXPORTS >> $output_objdir/$libname.def~
+ prefix_cmds="$SED"~
+ if test EXPORTS = "`$SED 1q $export_symbols`"; then
+ prefix_cmds="$prefix_cmds -e 1d";
+ fi~
+ prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~
+ cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
+ $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
+ emximp -o $lib $output_objdir/$libname.def'
+ _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
+ _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+ ;;
+
interix[[3-9]]*)
_LT_TAGVAR(hardcode_direct, $1)=no
_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
# Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
# Instead, shared libraries are loaded at an image base (0x10000000 by
# default) and relocated if they conflict, which is a slow very memory
# consuming and fragmenting process. To avoid this, we pick a random,
# 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
# time. Moving up from 0x10000000 also allows more sbrk(2) space.
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
- _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
;;
gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
tmp_diet=no
- if test "$host_os" = linux-dietlibc; then
+ if test linux-dietlibc = "$host_os"; then
case $cc_basename in
diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn)
esac
fi
if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
- && test "$tmp_diet" = no
+ && test no = "$tmp_diet"
then
tmp_addflag=' $pic_flag'
tmp_sharedflag='-shared'
case $cc_basename,$host_cpu in
pgcc*) # Portland Group C compiler
- _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
tmp_addflag=' $pic_flag'
;;
pgf77* | pgf90* | pgf95* | pgfortran*)
# Portland Group f77 and f90 compilers
- _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
tmp_addflag=' $pic_flag -Mnomain' ;;
ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64
tmp_addflag=' -i_dynamic' ;;
@@ -4834,42 +5221,47 @@ _LT_EOF
lf95*) # Lahey Fortran 8.1
_LT_TAGVAR(whole_archive_flag_spec, $1)=
tmp_sharedflag='--shared' ;;
+ nagfor*) # NAGFOR 5.3
+ tmp_sharedflag='-Wl,-shared' ;;
xl[[cC]]* | bgxl[[cC]]* | mpixl[[cC]]*) # IBM XL C 8.0 on PPC (deal with xlf below)
tmp_sharedflag='-qmkshrobj'
tmp_addflag= ;;
nvcc*) # Cuda Compiler Driver 2.2
- _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
_LT_TAGVAR(compiler_needs_object, $1)=yes
;;
esac
case `$CC -V 2>&1 | sed 5q` in
*Sun\ C*) # Sun C 5.9
- _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
_LT_TAGVAR(compiler_needs_object, $1)=yes
tmp_sharedflag='-G' ;;
*Sun\ F*) # Sun Fortran 8.3
tmp_sharedflag='-G' ;;
esac
- _LT_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
- if test "x$supports_anon_versioning" = xyes; then
+ if test yes = "$supports_anon_versioning"; then
_LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
- cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
- echo "local: *; };" >> $output_objdir/$libname.ver~
- $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
+ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+ echo "local: *; };" >> $output_objdir/$libname.ver~
+ $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib'
fi
case $cc_basename in
+ tcc*)
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='-rdynamic'
+ ;;
xlf* | bgf* | bgxlf* | mpixlf*)
# IBM XL Fortran 10.1 on PPC cannot create shared libs itself
_LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive'
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
_LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'
- if test "x$supports_anon_versioning" = xyes; then
+ if test yes = "$supports_anon_versioning"; then
_LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
- cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
- echo "local: *; };" >> $output_objdir/$libname.ver~
- $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
+ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+ echo "local: *; };" >> $output_objdir/$libname.ver~
+ $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
fi
;;
esac
@@ -4883,8 +5275,8 @@ _LT_EOF
_LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
wlarc=
else
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
fi
;;
@@ -4902,8 +5294,8 @@ _LT_EOF
_LT_EOF
elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
else
_LT_TAGVAR(ld_shlibs, $1)=no
fi
@@ -4915,7 +5307,7 @@ _LT_EOF
_LT_TAGVAR(ld_shlibs, $1)=no
cat <<_LT_EOF 1>&2
-*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
+*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 cannot
*** reliably create shared libraries on SCO systems. Therefore, libtool
*** is disabling shared libraries support. We urge you to upgrade GNU
*** binutils to release 2.16.91.0.3 or newer. Another option is to modify
@@ -4930,9 +5322,9 @@ _LT_EOF
# DT_RUNPATH tag from executables and libraries. But doing so
# requires that you compile everything twice, which is a pain.
if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
else
_LT_TAGVAR(ld_shlibs, $1)=no
fi
@@ -4949,15 +5341,15 @@ _LT_EOF
*)
if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
else
_LT_TAGVAR(ld_shlibs, $1)=no
fi
;;
esac
- if test "$_LT_TAGVAR(ld_shlibs, $1)" = no; then
+ if test no = "$_LT_TAGVAR(ld_shlibs, $1)"; then
runpath_var=
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
_LT_TAGVAR(export_dynamic_flag_spec, $1)=
@@ -4973,7 +5365,7 @@ _LT_EOF
# Note: this linker hardcodes the directories in LIBPATH if there
# are no directories specified by -L.
_LT_TAGVAR(hardcode_minus_L, $1)=yes
- if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
+ if test yes = "$GCC" && test -z "$lt_prog_compiler_static"; then
# Neither direct hardcoding nor static linking is supported with a
# broken collect2.
_LT_TAGVAR(hardcode_direct, $1)=unsupported
@@ -4981,34 +5373,57 @@ _LT_EOF
;;
aix[[4-9]]*)
- if test "$host_cpu" = ia64; then
+ if test ia64 = "$host_cpu"; then
# On IA64, the linker does run time linking by default, so we don't
# have to do anything special.
aix_use_runtimelinking=no
exp_sym_flag='-Bexport'
- no_entry_flag=""
+ no_entry_flag=
else
# If we're using GNU nm, then we don't want the "-C" option.
- # -C means demangle to AIX nm, but means don't demangle with GNU nm
- # Also, AIX nm treats weak defined symbols like other global
- # defined symbols, whereas GNU nm marks them as "W".
+ # -C means demangle to GNU nm, but means don't demangle to AIX nm.
+ # Without the "-l" option, or with the "-B" option, AIX nm treats
+ # weak defined symbols like other global defined symbols, whereas
+ # GNU nm marks them as "W".
+ # While the 'weak' keyword is ignored in the Export File, we need
+ # it in the Import File for the 'aix-soname' feature, so we have
+ # to replace the "-B" option with "-P" for AIX nm.
if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
- _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+ _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols'
else
- _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+ _LT_TAGVAR(export_symbols_cmds, $1)='`func_echo_all $NM | $SED -e '\''s/B\([[^B]]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && ([substr](\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols'
fi
aix_use_runtimelinking=no
# Test if we are trying to use run time linking or normal
# AIX style linking. If -brtl is somewhere in LDFLAGS, we
- # need to do runtime linking.
+ # have runtime linking enabled, and use it for executables.
+ # For shared libraries, we enable/disable runtime linking
+ # depending on the kind of the shared library created -
+ # when "with_aix_soname,aix_use_runtimelinking" is:
+ # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables
+ # "aix,yes" lib.so shared, rtl:yes, for executables
+ # lib.a static archive
+ # "both,no" lib.so.V(shr.o) shared, rtl:yes
+ # lib.a(lib.so.V) shared, rtl:no, for executables
+ # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables
+ # lib.a(lib.so.V) shared, rtl:no
+ # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables
+ # lib.a static archive
case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
for ld_flag in $LDFLAGS; do
- if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
+ if (test x-brtl = "x$ld_flag" || test x-Wl,-brtl = "x$ld_flag"); then
aix_use_runtimelinking=yes
break
fi
done
+ if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then
+ # With aix-soname=svr4, we create the lib.so.V shared archives only,
+ # so we don't have lib.a shared libs to link our executables.
+ # We have to force runtime linking in this case.
+ aix_use_runtimelinking=yes
+ LDFLAGS="$LDFLAGS -Wl,-brtl"
+ fi
;;
esac
@@ -5027,13 +5442,21 @@ _LT_EOF
_LT_TAGVAR(hardcode_direct_absolute, $1)=yes
_LT_TAGVAR(hardcode_libdir_separator, $1)=':'
_LT_TAGVAR(link_all_deplibs, $1)=yes
- _LT_TAGVAR(file_list_spec, $1)='${wl}-f,'
+ _LT_TAGVAR(file_list_spec, $1)='$wl-f,'
+ case $with_aix_soname,$aix_use_runtimelinking in
+ aix,*) ;; # traditional, no import file
+ svr4,* | *,yes) # use import file
+ # The Import File defines what to hardcode.
+ _LT_TAGVAR(hardcode_direct, $1)=no
+ _LT_TAGVAR(hardcode_direct_absolute, $1)=no
+ ;;
+ esac
- if test "$GCC" = yes; then
+ if test yes = "$GCC"; then
case $host_os in aix4.[[012]]|aix4.[[012]].*)
# We only want to do this on AIX 4.2 and lower, the check
# below for broken collect2 doesn't work under 4.3+
- collect2name=`${CC} -print-prog-name=collect2`
+ collect2name=`$CC -print-prog-name=collect2`
if test -f "$collect2name" &&
strings "$collect2name" | $GREP resolve_lib_name >/dev/null
then
@@ -5052,62 +5475,80 @@ _LT_EOF
;;
esac
shared_flag='-shared'
- if test "$aix_use_runtimelinking" = yes; then
- shared_flag="$shared_flag "'${wl}-G'
+ if test yes = "$aix_use_runtimelinking"; then
+ shared_flag="$shared_flag "'$wl-G'
fi
- _LT_TAGVAR(link_all_deplibs, $1)=no
+ # Need to ensure runtime linking is disabled for the traditional
+ # shared library, or the linker may eventually find shared libraries
+ # /with/ Import File - we do not want to mix them.
+ shared_flag_aix='-shared'
+ shared_flag_svr4='-shared $wl-G'
else
# not using gcc
- if test "$host_cpu" = ia64; then
+ if test ia64 = "$host_cpu"; then
# VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
# chokes on -Wl,-G. The following line is correct:
shared_flag='-G'
else
- if test "$aix_use_runtimelinking" = yes; then
- shared_flag='${wl}-G'
+ if test yes = "$aix_use_runtimelinking"; then
+ shared_flag='$wl-G'
else
- shared_flag='${wl}-bM:SRE'
+ shared_flag='$wl-bM:SRE'
fi
+ shared_flag_aix='$wl-bM:SRE'
+ shared_flag_svr4='$wl-G'
fi
fi
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-bexpall'
# It seems that -bexpall does not export symbols beginning with
# underscore (_), so it is better to generate a list of symbols to export.
_LT_TAGVAR(always_export_symbols, $1)=yes
- if test "$aix_use_runtimelinking" = yes; then
+ if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then
# Warning - without using the other runtime loading flags (-brtl),
# -berok will link without error, but may produce a broken library.
_LT_TAGVAR(allow_undefined_flag, $1)='-berok'
# Determine the default libpath from the value encoded in an
# empty executable.
_LT_SYS_MODULE_PATH_AIX([$1])
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath"
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags `if test -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag
else
- if test "$host_cpu" = ia64; then
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
+ if test ia64 = "$host_cpu"; then
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $libdir:/usr/lib:/lib'
_LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
- _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
+ _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\$wl$no_entry_flag"' $compiler_flags $wl$allow_undefined_flag '"\$wl$exp_sym_flag:\$export_symbols"
else
# Determine the default libpath from the value encoded in an
# empty executable.
_LT_SYS_MODULE_PATH_AIX([$1])
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath"
# Warning - without using the other run time loading flags,
# -berok will link without error, but may produce a broken library.
- _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
- _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
- if test "$with_gnu_ld" = yes; then
+ _LT_TAGVAR(no_undefined_flag, $1)=' $wl-bernotok'
+ _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-berok'
+ if test yes = "$with_gnu_ld"; then
# We only use this code for GNU lds that support --whole-archive.
- _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive'
else
# Exported symbols can be pulled into shared objects from archives
_LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
fi
_LT_TAGVAR(archive_cmds_need_lc, $1)=yes
- # This is similar to how AIX traditionally builds its shared libraries.
- _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d'
+ # -brtl affects multiple linker settings, -berok does not and is overridden later
+ compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([[, ]]\\)%-berok\\1%g"`'
+ if test svr4 != "$with_aix_soname"; then
+ # This is similar to how AIX traditionally builds its shared libraries.
+ _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname'
+ fi
+ if test aix != "$with_aix_soname"; then
+ _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 3 [...]
+ else
+ # used by -dlpreopen to get the symbols
+ _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$MV $output_objdir/$realname.d/$soname $output_objdir'
+ fi
+ _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$RM -r $output_objdir/$realname.d'
fi
fi
;;
@@ -5116,7 +5557,7 @@ _LT_EOF
case $host_cpu in
powerpc)
# see comment about AmigaOS4 .so support
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
_LT_TAGVAR(archive_expsym_cmds, $1)=''
;;
m68k)
@@ -5146,16 +5587,17 @@ _LT_EOF
# Tell ltmain to make .lib files, not .a files.
libext=lib
# Tell ltmain to make .dll files, not .so files.
- shrext_cmds=".dll"
+ shrext_cmds=.dll
# FIXME: Setting linknames here is a bad hack.
- _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames='
- _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
- sed -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp;
- else
- sed -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp;
- fi~
- $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
- linknames='
+ _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames='
+ _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then
+ cp "$export_symbols" "$output_objdir/$soname.def";
+ echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp";
+ else
+ $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp;
+ fi~
+ $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
+ linknames='
# The linker will not automatically build a static lib if we build a DLL.
# _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
@@ -5164,18 +5606,18 @@ _LT_EOF
# Don't use ranlib
_LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib'
_LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~
- lt_tool_outputfile="@TOOL_OUTPUT@"~
- case $lt_outputfile in
- *.exe|*.EXE) ;;
- *)
- lt_outputfile="$lt_outputfile.exe"
- lt_tool_outputfile="$lt_tool_outputfile.exe"
- ;;
- esac~
- if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then
- $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
- $RM "$lt_outputfile.manifest";
- fi'
+ lt_tool_outputfile="@TOOL_OUTPUT@"~
+ case $lt_outputfile in
+ *.exe|*.EXE) ;;
+ *)
+ lt_outputfile=$lt_outputfile.exe
+ lt_tool_outputfile=$lt_tool_outputfile.exe
+ ;;
+ esac~
+ if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then
+ $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
+ $RM "$lt_outputfile.manifest";
+ fi'
;;
*)
# Assume MSVC wrapper
@@ -5184,7 +5626,7 @@ _LT_EOF
# Tell ltmain to make .lib files, not .a files.
libext=lib
# Tell ltmain to make .dll files, not .so files.
- shrext_cmds=".dll"
+ shrext_cmds=.dll
# FIXME: Setting linknames here is a bad hack.
_LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
# The linker will automatically build a .lib file if we build a DLL.
@@ -5234,33 +5676,33 @@ _LT_EOF
;;
hpux9*)
- if test "$GCC" = yes; then
- _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ if test yes = "$GCC"; then
+ _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared $pic_flag $wl+b $wl$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib'
else
- _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib'
fi
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir'
_LT_TAGVAR(hardcode_libdir_separator, $1)=:
_LT_TAGVAR(hardcode_direct, $1)=yes
# hardcode_minus_L: Not really in the search PATH,
# but as the default location of the library.
_LT_TAGVAR(hardcode_minus_L, $1)=yes
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
;;
hpux10*)
- if test "$GCC" = yes && test "$with_gnu_ld" = no; then
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+ if test yes,no = "$GCC,$with_gnu_ld"; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
else
_LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
fi
- if test "$with_gnu_ld" = no; then
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+ if test no = "$with_gnu_ld"; then
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir'
_LT_TAGVAR(hardcode_libdir_separator, $1)=:
_LT_TAGVAR(hardcode_direct, $1)=yes
_LT_TAGVAR(hardcode_direct_absolute, $1)=yes
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
# hardcode_minus_L: Not really in the search PATH,
# but as the default location of the library.
_LT_TAGVAR(hardcode_minus_L, $1)=yes
@@ -5268,25 +5710,25 @@ _LT_EOF
;;
hpux11*)
- if test "$GCC" = yes && test "$with_gnu_ld" = no; then
+ if test yes,no = "$GCC,$with_gnu_ld"; then
case $host_cpu in
hppa*64*)
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags'
;;
ia64*)
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
;;
*)
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
;;
esac
else
case $host_cpu in
hppa*64*)
- _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags'
;;
ia64*)
- _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
;;
*)
m4_if($1, [], [
@@ -5294,14 +5736,14 @@ _LT_EOF
# (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does)
_LT_LINKER_OPTION([if $CC understands -b],
_LT_TAGVAR(lt_cv_prog_compiler__b, $1), [-b],
- [_LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'],
+ [_LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'],
[_LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'])],
- [_LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'])
+ [_LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'])
;;
esac
fi
- if test "$with_gnu_ld" = no; then
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+ if test no = "$with_gnu_ld"; then
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir'
_LT_TAGVAR(hardcode_libdir_separator, $1)=:
case $host_cpu in
@@ -5312,7 +5754,7 @@ _LT_EOF
*)
_LT_TAGVAR(hardcode_direct, $1)=yes
_LT_TAGVAR(hardcode_direct_absolute, $1)=yes
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
# hardcode_minus_L: Not really in the search PATH,
# but as the default location of the library.
@@ -5323,16 +5765,16 @@ _LT_EOF
;;
irix5* | irix6* | nonstopux*)
- if test "$GCC" = yes; then
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ if test yes = "$GCC"; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
# Try to use the -exported_symbol ld option, if it does not
# work, assume that -exports_file does not work either and
# implicitly export all symbols.
# This should be the same for all languages, so no per-tag cache variable.
AC_CACHE_CHECK([whether the $host_os linker accepts -exported_symbol],
[lt_cv_irix_exported_symbol],
- [save_LDFLAGS="$LDFLAGS"
- LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
+ [save_LDFLAGS=$LDFLAGS
+ LDFLAGS="$LDFLAGS -shared $wl-exported_symbol ${wl}foo $wl-update_registry $wl/dev/null"
AC_LINK_IFELSE(
[AC_LANG_SOURCE(
[AC_LANG_CASE([C], [[int foo (void) { return 0; }]],
@@ -5345,21 +5787,32 @@ _LT_EOF
end]])])],
[lt_cv_irix_exported_symbol=yes],
[lt_cv_irix_exported_symbol=no])
- LDFLAGS="$save_LDFLAGS"])
- if test "$lt_cv_irix_exported_symbol" = yes; then
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
+ LDFLAGS=$save_LDFLAGS])
+ if test yes = "$lt_cv_irix_exported_symbol"; then
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations $wl-exports_file $wl$export_symbols -o $lib'
fi
+ _LT_TAGVAR(link_all_deplibs, $1)=no
else
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -exports_file $export_symbols -o $lib'
fi
_LT_TAGVAR(archive_cmds_need_lc, $1)='no'
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
_LT_TAGVAR(hardcode_libdir_separator, $1)=:
_LT_TAGVAR(inherit_rpath, $1)=yes
_LT_TAGVAR(link_all_deplibs, $1)=yes
;;
+ linux*)
+ case $cc_basename in
+ tcc*)
+ # Fabrice Bellard et al's Tiny C Compiler
+ _LT_TAGVAR(ld_shlibs, $1)=yes
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ esac
+ ;;
+
netbsd* | netbsdelf*-gnu)
if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
_LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
@@ -5374,7 +5827,7 @@ _LT_EOF
newsos6)
_LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
_LT_TAGVAR(hardcode_direct, $1)=yes
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
_LT_TAGVAR(hardcode_libdir_separator, $1)=:
_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
;;
@@ -5382,27 +5835,19 @@ _LT_EOF
*nto* | *qnx*)
;;
- openbsd*)
+ openbsd* | bitrig*)
if test -f /usr/libexec/ld.so; then
_LT_TAGVAR(hardcode_direct, $1)=yes
_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
_LT_TAGVAR(hardcode_direct_absolute, $1)=yes
- if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags $wl-retain-symbols-file,$export_symbols'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
else
- case $host_os in
- openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*)
- _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
- ;;
- *)
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
- ;;
- esac
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
fi
else
_LT_TAGVAR(ld_shlibs, $1)=no
@@ -5413,33 +5858,53 @@ _LT_EOF
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
_LT_TAGVAR(hardcode_minus_L, $1)=yes
_LT_TAGVAR(allow_undefined_flag, $1)=unsupported
- _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~echo DATA >> $output_objdir/$libname.def~echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
- _LT_TAGVAR(old_archive_from_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
+ shrext_cmds=.dll
+ _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
+ $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
+ $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
+ $ECHO EXPORTS >> $output_objdir/$libname.def~
+ emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
+ $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
+ emximp -o $lib $output_objdir/$libname.def'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
+ $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
+ $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
+ $ECHO EXPORTS >> $output_objdir/$libname.def~
+ prefix_cmds="$SED"~
+ if test EXPORTS = "`$SED 1q $export_symbols`"; then
+ prefix_cmds="$prefix_cmds -e 1d";
+ fi~
+ prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~
+ cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
+ $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
+ emximp -o $lib $output_objdir/$libname.def'
+ _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
+ _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
;;
osf3*)
- if test "$GCC" = yes; then
- _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ if test yes = "$GCC"; then
+ _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
else
_LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
fi
_LT_TAGVAR(archive_cmds_need_lc, $1)='no'
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
_LT_TAGVAR(hardcode_libdir_separator, $1)=:
;;
osf4* | osf5*) # as osf3* with the addition of -msym flag
- if test "$GCC" = yes; then
- _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $pic_flag $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ if test yes = "$GCC"; then
+ _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $pic_flag $libobjs $deplibs $compiler_flags $wl-msym $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
else
_LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
_LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~
- $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp'
+ $CC -shared$allow_undefined_flag $wl-input $wl$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib~$RM $lib.exp'
# Both c and cxx compiler support -rpath directly
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
@@ -5450,24 +5915,24 @@ _LT_EOF
solaris*)
_LT_TAGVAR(no_undefined_flag, $1)=' -z defs'
- if test "$GCC" = yes; then
- wlarc='${wl}'
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ if test yes = "$GCC"; then
+ wlarc='$wl'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl-z ${wl}text $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags'
_LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
- $CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
+ $CC -shared $pic_flag $wl-z ${wl}text $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
else
case `$CC -V 2>&1` in
*"Compilers 5.0"*)
wlarc=''
- _LT_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ _LT_TAGVAR(archive_cmds, $1)='$LD -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $linker_flags'
_LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
- $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
+ $LD -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
;;
*)
- wlarc='${wl}'
- _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags'
+ wlarc='$wl'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $compiler_flags'
_LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
- $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
+ $CC -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
;;
esac
fi
@@ -5477,11 +5942,11 @@ _LT_EOF
solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
*)
# The compiler driver will combine and reorder linker options,
- # but understands `-z linker_flag'. GCC discards it without `$wl',
+ # but understands '-z linker_flag'. GCC discards it without '$wl',
# but is careful enough not to reorder.
# Supported since Solaris 2.6 (maybe 2.5.1?)
- if test "$GCC" = yes; then
- _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
+ if test yes = "$GCC"; then
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract'
else
_LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
fi
@@ -5491,10 +5956,10 @@ _LT_EOF
;;
sunos4*)
- if test "x$host_vendor" = xsequent; then
+ if test sequent = "$host_vendor"; then
# Use $CC to link under sequent, because it throws in some extra .o
# files that make .init and .fini sections work.
- _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h $soname -o $lib $libobjs $deplibs $compiler_flags'
else
_LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
fi
@@ -5543,43 +6008,43 @@ _LT_EOF
;;
sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
- _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
+ _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text'
_LT_TAGVAR(archive_cmds_need_lc, $1)=no
_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
runpath_var='LD_RUN_PATH'
- if test "$GCC" = yes; then
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ if test yes = "$GCC"; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
else
- _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
fi
;;
sysv5* | sco3.2v5* | sco5v6*)
- # Note: We can NOT use -z defs as we might desire, because we do not
+ # Note: We CANNOT use -z defs as we might desire, because we do not
# link with -lc, and that would cause any symbols used from libc to
# always be unresolved, which means just about no library would
# ever link correctly. If we're not using GNU ld we use -z text
# though, which does catch some bad symbols but isn't as heavy-handed
# as -z defs.
- _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
- _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
+ _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text'
+ _LT_TAGVAR(allow_undefined_flag, $1)='$wl-z,nodefs'
_LT_TAGVAR(archive_cmds_need_lc, $1)=no
_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R,$libdir'
_LT_TAGVAR(hardcode_libdir_separator, $1)=':'
_LT_TAGVAR(link_all_deplibs, $1)=yes
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-Bexport'
runpath_var='LD_RUN_PATH'
- if test "$GCC" = yes; then
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ if test yes = "$GCC"; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
else
- _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
fi
;;
@@ -5594,17 +6059,17 @@ _LT_EOF
;;
esac
- if test x$host_vendor = xsni; then
+ if test sni = "$host_vendor"; then
case $host in
sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Blargedynsym'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-Blargedynsym'
;;
esac
fi
fi
])
AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
-test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
+test no = "$_LT_TAGVAR(ld_shlibs, $1)" && can_build_shared=no
_LT_TAGVAR(with_gnu_ld, $1)=$with_gnu_ld
@@ -5621,7 +6086,7 @@ x|xyes)
# Assume -lc should be added
_LT_TAGVAR(archive_cmds_need_lc, $1)=yes
- if test "$enable_shared" = yes && test "$GCC" = yes; then
+ if test yes,yes = "$GCC,$enable_shared"; then
case $_LT_TAGVAR(archive_cmds, $1) in
*'~'*)
# FIXME: we may have to deal with multi-command sequences.
@@ -5701,12 +6166,12 @@ _LT_TAGDECL([], [hardcode_libdir_flag_spec], [1],
_LT_TAGDECL([], [hardcode_libdir_separator], [1],
[Whether we need a single "-rpath" flag with a separated argument])
_LT_TAGDECL([], [hardcode_direct], [0],
- [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes
+ [Set to "yes" if using DIR/libNAME$shared_ext during linking hardcodes
DIR into the resulting binary])
_LT_TAGDECL([], [hardcode_direct_absolute], [0],
- [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes
+ [Set to "yes" if using DIR/libNAME$shared_ext during linking hardcodes
DIR into the resulting binary and the resulting library dependency is
- "absolute", i.e impossible to change by setting ${shlibpath_var} if the
+ "absolute", i.e impossible to change by setting $shlibpath_var if the
library is relocated])
_LT_TAGDECL([], [hardcode_minus_L], [0],
[Set to "yes" if using the -LDIR flag during linking hardcodes DIR
@@ -5747,10 +6212,10 @@ dnl [Compiler flag to generate thread safe objects])
# ------------------------
# Ensure that the configuration variables for a C compiler are suitably
# defined. These variables are subsequently used by _LT_CONFIG to write
-# the compiler configuration to `libtool'.
+# the compiler configuration to 'libtool'.
m4_defun([_LT_LANG_C_CONFIG],
[m4_require([_LT_DECL_EGREP])dnl
-lt_save_CC="$CC"
+lt_save_CC=$CC
AC_LANG_PUSH(C)
# Source file extension for C test sources.
@@ -5790,18 +6255,18 @@ if test -n "$compiler"; then
LT_SYS_DLOPEN_SELF
_LT_CMD_STRIPLIB
- # Report which library types will actually be built
+ # Report what library types will actually be built
AC_MSG_CHECKING([if libtool supports shared libraries])
AC_MSG_RESULT([$can_build_shared])
AC_MSG_CHECKING([whether to build shared libraries])
- test "$can_build_shared" = "no" && enable_shared=no
+ test no = "$can_build_shared" && enable_shared=no
# On AIX, shared libraries and static libraries use the same namespace, and
# are all built from PIC.
case $host_os in
aix3*)
- test "$enable_shared" = yes && enable_static=no
+ test yes = "$enable_shared" && enable_static=no
if test -n "$RANLIB"; then
archive_cmds="$archive_cmds~\$RANLIB \$lib"
postinstall_cmds='$RANLIB $lib'
@@ -5809,8 +6274,12 @@ if test -n "$compiler"; then
;;
aix[[4-9]]*)
- if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
- test "$enable_shared" = yes && enable_static=no
+ if test ia64 != "$host_cpu"; then
+ case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in
+ yes,aix,yes) ;; # shared object as lib.so file only
+ yes,svr4,*) ;; # shared object as lib.so archive member only
+ yes,*) enable_static=no ;; # shared object in lib.a archive as well
+ esac
fi
;;
esac
@@ -5818,13 +6287,13 @@ if test -n "$compiler"; then
AC_MSG_CHECKING([whether to build static libraries])
# Make sure either enable_shared or enable_static is yes.
- test "$enable_shared" = yes || enable_static=yes
+ test yes = "$enable_shared" || enable_static=yes
AC_MSG_RESULT([$enable_static])
_LT_CONFIG($1)
fi
AC_LANG_POP
-CC="$lt_save_CC"
+CC=$lt_save_CC
])# _LT_LANG_C_CONFIG
@@ -5832,14 +6301,14 @@ CC="$lt_save_CC"
# --------------------------
# Ensure that the configuration variables for a C++ compiler are suitably
# defined. These variables are subsequently used by _LT_CONFIG to write
-# the compiler configuration to `libtool'.
+# the compiler configuration to 'libtool'.
m4_defun([_LT_LANG_CXX_CONFIG],
[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
m4_require([_LT_DECL_EGREP])dnl
m4_require([_LT_PATH_MANIFEST_TOOL])dnl
-if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
- ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
- (test "X$CXX" != "Xg++"))) ; then
+if test -n "$CXX" && ( test no != "$CXX" &&
+ ( (test g++ = "$CXX" && `g++ -v >/dev/null 2>&1` ) ||
+ (test g++ != "$CXX"))); then
AC_PROG_CXXCPP
else
_lt_caught_CXX_error=yes
@@ -5881,7 +6350,7 @@ _LT_TAGVAR(objext, $1)=$objext
# the CXX compiler isn't working. Some variables (like enable_shared)
# are currently assumed to apply to all compilers on this platform,
# and will be corrupted by setting them based on a non-working compiler.
-if test "$_lt_caught_CXX_error" != yes; then
+if test yes != "$_lt_caught_CXX_error"; then
# Code to be used in simple compile tests
lt_simple_compile_test_code="int some_variable = 0;"
@@ -5923,35 +6392,35 @@ if test "$_lt_caught_CXX_error" != yes; then
if test -n "$compiler"; then
# We don't want -fno-exception when compiling C++ code, so set the
# no_builtin_flag separately
- if test "$GXX" = yes; then
+ if test yes = "$GXX"; then
_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
else
_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
fi
- if test "$GXX" = yes; then
+ if test yes = "$GXX"; then
# Set up default GNU C++ configuration
LT_PATH_LD
# Check if GNU C++ uses GNU ld as the underlying linker, since the
# archiving commands below assume that GNU ld is being used.
- if test "$with_gnu_ld" = yes; then
- _LT_TAGVAR(archive_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ if test yes = "$with_gnu_ld"; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
# If archive_cmds runs LD, not CC, wlarc should be empty
# XXX I think wlarc can be eliminated in ltcf-cxx, but I need to
# investigate it a little bit more. (MM)
- wlarc='${wl}'
+ wlarc='$wl'
# ancient GNU ld didn't support --whole-archive et. al.
if eval "`$CC -print-prog-name=ld` --help 2>&1" |
$GREP 'no-whole-archive' > /dev/null; then
- _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+ _LT_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive'
else
_LT_TAGVAR(whole_archive_flag_spec, $1)=
fi
@@ -5987,18 +6456,30 @@ if test "$_lt_caught_CXX_error" != yes; then
_LT_TAGVAR(ld_shlibs, $1)=no
;;
aix[[4-9]]*)
- if test "$host_cpu" = ia64; then
+ if test ia64 = "$host_cpu"; then
# On IA64, the linker does run time linking by default, so we don't
# have to do anything special.
aix_use_runtimelinking=no
exp_sym_flag='-Bexport'
- no_entry_flag=""
+ no_entry_flag=
else
aix_use_runtimelinking=no
# Test if we are trying to use run time linking or normal
# AIX style linking. If -brtl is somewhere in LDFLAGS, we
- # need to do runtime linking.
+ # have runtime linking enabled, and use it for executables.
+ # For shared libraries, we enable/disable runtime linking
+ # depending on the kind of the shared library created -
+ # when "with_aix_soname,aix_use_runtimelinking" is:
+ # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables
+ # "aix,yes" lib.so shared, rtl:yes, for executables
+ # lib.a static archive
+ # "both,no" lib.so.V(shr.o) shared, rtl:yes
+ # lib.a(lib.so.V) shared, rtl:no, for executables
+ # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables
+ # lib.a(lib.so.V) shared, rtl:no
+ # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables
+ # lib.a static archive
case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
for ld_flag in $LDFLAGS; do
case $ld_flag in
@@ -6008,6 +6489,13 @@ if test "$_lt_caught_CXX_error" != yes; then
;;
esac
done
+ if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then
+ # With aix-soname=svr4, we create the lib.so.V shared archives only,
+ # so we don't have lib.a shared libs to link our executables.
+ # We have to force runtime linking in this case.
+ aix_use_runtimelinking=yes
+ LDFLAGS="$LDFLAGS -Wl,-brtl"
+ fi
;;
esac
@@ -6026,13 +6514,21 @@ if test "$_lt_caught_CXX_error" != yes; then
_LT_TAGVAR(hardcode_direct_absolute, $1)=yes
_LT_TAGVAR(hardcode_libdir_separator, $1)=':'
_LT_TAGVAR(link_all_deplibs, $1)=yes
- _LT_TAGVAR(file_list_spec, $1)='${wl}-f,'
+ _LT_TAGVAR(file_list_spec, $1)='$wl-f,'
+ case $with_aix_soname,$aix_use_runtimelinking in
+ aix,*) ;; # no import file
+ svr4,* | *,yes) # use import file
+ # The Import File defines what to hardcode.
+ _LT_TAGVAR(hardcode_direct, $1)=no
+ _LT_TAGVAR(hardcode_direct_absolute, $1)=no
+ ;;
+ esac
- if test "$GXX" = yes; then
+ if test yes = "$GXX"; then
case $host_os in aix4.[[012]]|aix4.[[012]].*)
# We only want to do this on AIX 4.2 and lower, the check
# below for broken collect2 doesn't work under 4.3+
- collect2name=`${CC} -print-prog-name=collect2`
+ collect2name=`$CC -print-prog-name=collect2`
if test -f "$collect2name" &&
strings "$collect2name" | $GREP resolve_lib_name >/dev/null
then
@@ -6050,64 +6546,84 @@ if test "$_lt_caught_CXX_error" != yes; then
fi
esac
shared_flag='-shared'
- if test "$aix_use_runtimelinking" = yes; then
- shared_flag="$shared_flag "'${wl}-G'
+ if test yes = "$aix_use_runtimelinking"; then
+ shared_flag=$shared_flag' $wl-G'
fi
+ # Need to ensure runtime linking is disabled for the traditional
+ # shared library, or the linker may eventually find shared libraries
+ # /with/ Import File - we do not want to mix them.
+ shared_flag_aix='-shared'
+ shared_flag_svr4='-shared $wl-G'
else
# not using gcc
- if test "$host_cpu" = ia64; then
+ if test ia64 = "$host_cpu"; then
# VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
# chokes on -Wl,-G. The following line is correct:
shared_flag='-G'
else
- if test "$aix_use_runtimelinking" = yes; then
- shared_flag='${wl}-G'
+ if test yes = "$aix_use_runtimelinking"; then
+ shared_flag='$wl-G'
else
- shared_flag='${wl}-bM:SRE'
+ shared_flag='$wl-bM:SRE'
fi
+ shared_flag_aix='$wl-bM:SRE'
+ shared_flag_svr4='$wl-G'
fi
fi
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-bexpall'
# It seems that -bexpall does not export symbols beginning with
# underscore (_), so it is better to generate a list of symbols to
# export.
_LT_TAGVAR(always_export_symbols, $1)=yes
- if test "$aix_use_runtimelinking" = yes; then
+ if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then
# Warning - without using the other runtime loading flags (-brtl),
# -berok will link without error, but may produce a broken library.
- _LT_TAGVAR(allow_undefined_flag, $1)='-berok'
+ # The "-G" linker flag allows undefined symbols.
+ _LT_TAGVAR(no_undefined_flag, $1)='-bernotok'
# Determine the default libpath from the value encoded in an empty
# executable.
_LT_SYS_MODULE_PATH_AIX([$1])
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath"
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags `if test -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag
else
- if test "$host_cpu" = ia64; then
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
+ if test ia64 = "$host_cpu"; then
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $libdir:/usr/lib:/lib'
_LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
- _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
+ _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\$wl$no_entry_flag"' $compiler_flags $wl$allow_undefined_flag '"\$wl$exp_sym_flag:\$export_symbols"
else
# Determine the default libpath from the value encoded in an
# empty executable.
_LT_SYS_MODULE_PATH_AIX([$1])
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath"
# Warning - without using the other run time loading flags,
# -berok will link without error, but may produce a broken library.
- _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
- _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
- if test "$with_gnu_ld" = yes; then
+ _LT_TAGVAR(no_undefined_flag, $1)=' $wl-bernotok'
+ _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-berok'
+ if test yes = "$with_gnu_ld"; then
# We only use this code for GNU lds that support --whole-archive.
- _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive'
else
# Exported symbols can be pulled into shared objects from archives
_LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
fi
_LT_TAGVAR(archive_cmds_need_lc, $1)=yes
- # This is similar to how AIX traditionally builds its shared
- # libraries.
- _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d'
+ # -brtl affects multiple linker settings, -berok does not and is overridden later
+ compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([[, ]]\\)%-berok\\1%g"`'
+ if test svr4 != "$with_aix_soname"; then
+ # This is similar to how AIX traditionally builds its shared
+ # libraries. Need -bnortl late, we may have -brtl in LDFLAGS.
+ _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname'
+ fi
+ if test aix != "$with_aix_soname"; then
+ _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# [...]
+ else
+ # used by -dlpreopen to get the symbols
+ _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$MV $output_objdir/$realname.d/$soname $output_objdir'
+ fi
+ _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$RM -r $output_objdir/$realname.d'
fi
fi
;;
@@ -6117,7 +6633,7 @@ if test "$_lt_caught_CXX_error" != yes; then
_LT_TAGVAR(allow_undefined_flag, $1)=unsupported
# Joseph Beckenbach <jrb3 at best.com> says some releases of gcc
# support --undefined. This deserves some investigation. FIXME
- _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
else
_LT_TAGVAR(ld_shlibs, $1)=no
fi
@@ -6145,57 +6661,58 @@ if test "$_lt_caught_CXX_error" != yes; then
# Tell ltmain to make .lib files, not .a files.
libext=lib
# Tell ltmain to make .dll files, not .so files.
- shrext_cmds=".dll"
+ shrext_cmds=.dll
# FIXME: Setting linknames here is a bad hack.
- _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames='
- _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
- $SED -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp;
- else
- $SED -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp;
- fi~
- $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
- linknames='
+ _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames='
+ _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then
+ cp "$export_symbols" "$output_objdir/$soname.def";
+ echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp";
+ else
+ $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp;
+ fi~
+ $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
+ linknames='
# The linker will not automatically build a static lib if we build a DLL.
# _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
# Don't use ranlib
_LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib'
_LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~
- lt_tool_outputfile="@TOOL_OUTPUT@"~
- case $lt_outputfile in
- *.exe|*.EXE) ;;
- *)
- lt_outputfile="$lt_outputfile.exe"
- lt_tool_outputfile="$lt_tool_outputfile.exe"
- ;;
- esac~
- func_to_tool_file "$lt_outputfile"~
- if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then
- $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
- $RM "$lt_outputfile.manifest";
- fi'
+ lt_tool_outputfile="@TOOL_OUTPUT@"~
+ case $lt_outputfile in
+ *.exe|*.EXE) ;;
+ *)
+ lt_outputfile=$lt_outputfile.exe
+ lt_tool_outputfile=$lt_tool_outputfile.exe
+ ;;
+ esac~
+ func_to_tool_file "$lt_outputfile"~
+ if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then
+ $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
+ $RM "$lt_outputfile.manifest";
+ fi'
;;
*)
# g++
# _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
# as there is no search path for DLLs.
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-all-symbols'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-all-symbols'
_LT_TAGVAR(allow_undefined_flag, $1)=unsupported
_LT_TAGVAR(always_export_symbols, $1)=no
_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
- # If the export-symbols file already is a .def file (1st line
- # is EXPORTS), use it as is; otherwise, prepend...
- _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
- cp $export_symbols $output_objdir/$soname.def;
- else
- echo EXPORTS > $output_objdir/$soname.def;
- cat $export_symbols >> $output_objdir/$soname.def;
- fi~
- $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+ # If the export-symbols file already is a .def file, use it as
+ # is; otherwise, prepend EXPORTS...
+ _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then
+ cp $export_symbols $output_objdir/$soname.def;
+ else
+ echo EXPORTS > $output_objdir/$soname.def;
+ cat $export_symbols >> $output_objdir/$soname.def;
+ fi~
+ $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
else
_LT_TAGVAR(ld_shlibs, $1)=no
fi
@@ -6206,6 +6723,34 @@ if test "$_lt_caught_CXX_error" != yes; then
_LT_DARWIN_LINKER_FEATURES($1)
;;
+ os2*)
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
+ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+ shrext_cmds=.dll
+ _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
+ $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
+ $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
+ $ECHO EXPORTS >> $output_objdir/$libname.def~
+ emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
+ $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
+ emximp -o $lib $output_objdir/$libname.def'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
+ $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
+ $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
+ $ECHO EXPORTS >> $output_objdir/$libname.def~
+ prefix_cmds="$SED"~
+ if test EXPORTS = "`$SED 1q $export_symbols`"; then
+ prefix_cmds="$prefix_cmds -e 1d";
+ fi~
+ prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~
+ cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
+ $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
+ emximp -o $lib $output_objdir/$libname.def'
+ _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
+ _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+ ;;
+
dgux*)
case $cc_basename in
ec++*)
@@ -6241,14 +6786,14 @@ if test "$_lt_caught_CXX_error" != yes; then
;;
haiku*)
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
_LT_TAGVAR(link_all_deplibs, $1)=yes
;;
hpux9*)
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir'
_LT_TAGVAR(hardcode_libdir_separator, $1)=:
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
_LT_TAGVAR(hardcode_direct, $1)=yes
_LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
# but as the default
@@ -6260,7 +6805,7 @@ if test "$_lt_caught_CXX_error" != yes; then
_LT_TAGVAR(ld_shlibs, $1)=no
;;
aCC*)
- _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -b $wl+b $wl$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib'
# Commands to make compiler produce verbose output that lists
# what "hidden" libraries, object files and flags are used when
# linking a shared library.
@@ -6269,11 +6814,11 @@ if test "$_lt_caught_CXX_error" != yes; then
# explicitly linking system object files so we need to strip them
# from the output so that they don't get included in the library
# dependencies.
- output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
+ output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
;;
*)
- if test "$GXX" = yes; then
- _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -nostdlib $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ if test yes = "$GXX"; then
+ _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -nostdlib $pic_flag $wl+b $wl$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib'
else
# FIXME: insert proper C++ library support
_LT_TAGVAR(ld_shlibs, $1)=no
@@ -6283,15 +6828,15 @@ if test "$_lt_caught_CXX_error" != yes; then
;;
hpux10*|hpux11*)
- if test $with_gnu_ld = no; then
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+ if test no = "$with_gnu_ld"; then
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir'
_LT_TAGVAR(hardcode_libdir_separator, $1)=:
case $host_cpu in
hppa*64*|ia64*)
;;
*)
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
;;
esac
fi
@@ -6317,13 +6862,13 @@ if test "$_lt_caught_CXX_error" != yes; then
aCC*)
case $host_cpu in
hppa*64*)
- _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
;;
ia64*)
- _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
;;
*)
- _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
;;
esac
# Commands to make compiler produce verbose output that lists
@@ -6334,20 +6879,20 @@ if test "$_lt_caught_CXX_error" != yes; then
# explicitly linking system object files so we need to strip them
# from the output so that they don't get included in the library
# dependencies.
- output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
+ output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
;;
*)
- if test "$GXX" = yes; then
- if test $with_gnu_ld = no; then
+ if test yes = "$GXX"; then
+ if test no = "$with_gnu_ld"; then
case $host_cpu in
hppa*64*)
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
;;
ia64*)
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
;;
*)
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
;;
esac
fi
@@ -6362,22 +6907,22 @@ if test "$_lt_caught_CXX_error" != yes; then
interix[[3-9]]*)
_LT_TAGVAR(hardcode_direct, $1)=no
_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
# Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
# Instead, shared libraries are loaded at an image base (0x10000000 by
# default) and relocated if they conflict, which is a slow very memory
# consuming and fragmenting process. To avoid this, we pick a random,
# 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
# time. Moving up from 0x10000000 also allows more sbrk(2) space.
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
- _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
;;
irix5* | irix6*)
case $cc_basename in
CC*)
# SGI C++
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
# Archives containing C++ object files must be created using
# "CC -ar", where "CC" is the IRIX C++ compiler. This is
@@ -6386,17 +6931,17 @@ if test "$_lt_caught_CXX_error" != yes; then
_LT_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs'
;;
*)
- if test "$GXX" = yes; then
- if test "$with_gnu_ld" = no; then
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ if test yes = "$GXX"; then
+ if test no = "$with_gnu_ld"; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
else
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` -o $lib'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` -o $lib'
fi
fi
_LT_TAGVAR(link_all_deplibs, $1)=yes
;;
esac
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
_LT_TAGVAR(hardcode_libdir_separator, $1)=:
_LT_TAGVAR(inherit_rpath, $1)=yes
;;
@@ -6409,8 +6954,8 @@ if test "$_lt_caught_CXX_error" != yes; then
# KCC will only create a shared library if the output file
# ends with ".so" (or ".sl" for HP-UX), so rename the library
# to its proper name (with version) after linking.
- _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
- _LT_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib'
+ _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib $wl-retain-symbols-file,$export_symbols; mv \$templib $lib'
# Commands to make compiler produce verbose output that lists
# what "hidden" libraries, object files and flags are used when
# linking a shared library.
@@ -6419,10 +6964,10 @@ if test "$_lt_caught_CXX_error" != yes; then
# explicitly linking system object files so we need to strip them
# from the output so that they don't get included in the library
# dependencies.
- output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
+ output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
# Archives containing C++ object files must be created using
# "CC -Bstatic", where "CC" is the KAI C++ compiler.
@@ -6436,59 +6981,59 @@ if test "$_lt_caught_CXX_error" != yes; then
# earlier do not add the objects themselves.
case `$CC -V 2>&1` in
*"Version 7."*)
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
;;
*) # Version 8.0 or newer
tmp_idyn=
case $host_cpu in
ia64*) tmp_idyn=' -i_dynamic';;
esac
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
;;
esac
_LT_TAGVAR(archive_cmds_need_lc, $1)=no
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
- _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive'
;;
pgCC* | pgcpp*)
# Portland Group C++ compiler
case `$CC -V` in
*pgCC\ [[1-5]].* | *pgcpp\ [[1-5]].*)
_LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~
- rm -rf $tpldir~
- $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~
- compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"'
+ rm -rf $tpldir~
+ $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~
+ compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"'
_LT_TAGVAR(old_archive_cmds, $1)='tpldir=Template.dir~
- rm -rf $tpldir~
- $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~
- $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~
- $RANLIB $oldlib'
+ rm -rf $tpldir~
+ $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~
+ $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~
+ $RANLIB $oldlib'
_LT_TAGVAR(archive_cmds, $1)='tpldir=Template.dir~
- rm -rf $tpldir~
- $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
- $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
+ rm -rf $tpldir~
+ $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
+ $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
_LT_TAGVAR(archive_expsym_cmds, $1)='tpldir=Template.dir~
- rm -rf $tpldir~
- $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
- $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
+ rm -rf $tpldir~
+ $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
+ $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
;;
*) # Version 6 and above use weak symbols
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
;;
esac
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
- _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl--rpath $wl$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
;;
cxx*)
# Compaq C++
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib $wl-retain-symbols-file $wl$export_symbols'
runpath_var=LD_RUN_PATH
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
@@ -6502,18 +7047,18 @@ if test "$_lt_caught_CXX_error" != yes; then
# explicitly linking system object files so we need to strip them
# from the output so that they don't get included in the library
# dependencies.
- output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "X$list" | $Xsed'
+ output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "X$list" | $Xsed'
;;
xl* | mpixl* | bgxl*)
# IBM XL 8.0 on PPC, with GNU ld
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
- _LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- if test "x$supports_anon_versioning" = xyes; then
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+ if test yes = "$supports_anon_versioning"; then
_LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
- cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
- echo "local: *; };" >> $output_objdir/$libname.ver~
- $CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
+ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+ echo "local: *; };" >> $output_objdir/$libname.ver~
+ $CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib'
fi
;;
*)
@@ -6521,10 +7066,10 @@ if test "$_lt_caught_CXX_error" != yes; then
*Sun\ C*)
# Sun C++ 5.9
_LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
- _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-retain-symbols-file $wl$export_symbols'
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
- _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
_LT_TAGVAR(compiler_needs_object, $1)=yes
# Not sure whether something based on
@@ -6582,22 +7127,17 @@ if test "$_lt_caught_CXX_error" != yes; then
_LT_TAGVAR(ld_shlibs, $1)=yes
;;
- openbsd2*)
- # C++ shared libraries are fairly broken
- _LT_TAGVAR(ld_shlibs, $1)=no
- ;;
-
- openbsd*)
+ openbsd* | bitrig*)
if test -f /usr/libexec/ld.so; then
_LT_TAGVAR(hardcode_direct, $1)=yes
_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
_LT_TAGVAR(hardcode_direct_absolute, $1)=yes
_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
- if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib'
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
- _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
+ if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`"; then
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-retain-symbols-file,$export_symbols -o $lib'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
+ _LT_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive'
fi
output_verbose_link_cmd=func_echo_all
else
@@ -6613,9 +7153,9 @@ if test "$_lt_caught_CXX_error" != yes; then
# KCC will only create a shared library if the output file
# ends with ".so" (or ".sl" for HP-UX), so rename the library
# to its proper name (with version) after linking.
- _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
+ _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
_LT_TAGVAR(hardcode_libdir_separator, $1)=:
# Archives containing C++ object files must be created using
@@ -6633,17 +7173,17 @@ if test "$_lt_caught_CXX_error" != yes; then
cxx*)
case $host in
osf3*)
- _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && func_echo_all "${wl}-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $soname `test -n "$verstring" && func_echo_all "$wl-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
;;
*)
_LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
_LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
- echo "-hidden">> $lib.exp~
- $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname ${wl}-input ${wl}$lib.exp `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~
- $RM $lib.exp'
+ echo "-hidden">> $lib.exp~
+ $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname $wl-input $wl$lib.exp `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib~
+ $RM $lib.exp'
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
;;
esac
@@ -6658,21 +7198,21 @@ if test "$_lt_caught_CXX_error" != yes; then
# explicitly linking system object files so we need to strip them
# from the output so that they don't get included in the library
# dependencies.
- output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
+ output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
;;
*)
- if test "$GXX" = yes && test "$with_gnu_ld" = no; then
- _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
+ if test yes,no = "$GXX,$with_gnu_ld"; then
+ _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*'
case $host in
osf3*)
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
;;
*)
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-msym $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
;;
esac
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
_LT_TAGVAR(hardcode_libdir_separator, $1)=:
# Commands to make compiler produce verbose output that lists
@@ -6718,9 +7258,9 @@ if test "$_lt_caught_CXX_error" != yes; then
# Sun C++ 4.2, 5.x and Centerline C++
_LT_TAGVAR(archive_cmds_need_lc,$1)=yes
_LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
- _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
_LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
- $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
+ $CC -G$allow_undefined_flag $wl-M $wl$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
@@ -6728,7 +7268,7 @@ if test "$_lt_caught_CXX_error" != yes; then
solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
*)
# The compiler driver will combine and reorder linker options,
- # but understands `-z linker_flag'.
+ # but understands '-z linker_flag'.
# Supported since Solaris 2.6 (maybe 2.5.1?)
_LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
;;
@@ -6745,30 +7285,30 @@ if test "$_lt_caught_CXX_error" != yes; then
;;
gcx*)
# Green Hills C++ Compiler
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib'
# The C++ compiler must be used to create the archive.
_LT_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs'
;;
*)
# GNU C++ compiler with Solaris linker
- if test "$GXX" = yes && test "$with_gnu_ld" = no; then
- _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs'
+ if test yes,no = "$GXX,$with_gnu_ld"; then
+ _LT_TAGVAR(no_undefined_flag, $1)=' $wl-z ${wl}defs'
if $CC --version | $GREP -v '^2\.7' > /dev/null; then
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib'
_LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
- $CC -shared $pic_flag -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
+ $CC -shared $pic_flag -nostdlib $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
# Commands to make compiler produce verbose output that lists
# what "hidden" libraries, object files and flags are used when
# linking a shared library.
output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
else
- # g++ 2.7 appears to require `-G' NOT `-shared' on this
+ # g++ 2.7 appears to require '-G' NOT '-shared' on this
# platform.
- _LT_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib'
_LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
- $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
+ $CC -G -nostdlib $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
# Commands to make compiler produce verbose output that lists
# what "hidden" libraries, object files and flags are used when
@@ -6776,11 +7316,11 @@ if test "$_lt_caught_CXX_error" != yes; then
output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
fi
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $wl$libdir'
case $host_os in
solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
*)
- _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract'
;;
esac
fi
@@ -6789,52 +7329,52 @@ if test "$_lt_caught_CXX_error" != yes; then
;;
sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
- _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
+ _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text'
_LT_TAGVAR(archive_cmds_need_lc, $1)=no
_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
runpath_var='LD_RUN_PATH'
case $cc_basename in
CC*)
- _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
;;
*)
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
;;
esac
;;
sysv5* | sco3.2v5* | sco5v6*)
- # Note: We can NOT use -z defs as we might desire, because we do not
+ # Note: We CANNOT use -z defs as we might desire, because we do not
# link with -lc, and that would cause any symbols used from libc to
# always be unresolved, which means just about no library would
# ever link correctly. If we're not using GNU ld we use -z text
# though, which does catch some bad symbols but isn't as heavy-handed
# as -z defs.
- _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
- _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
+ _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text'
+ _LT_TAGVAR(allow_undefined_flag, $1)='$wl-z,nodefs'
_LT_TAGVAR(archive_cmds_need_lc, $1)=no
_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R,$libdir'
_LT_TAGVAR(hardcode_libdir_separator, $1)=':'
_LT_TAGVAR(link_all_deplibs, $1)=yes
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-Bexport'
runpath_var='LD_RUN_PATH'
case $cc_basename in
CC*)
- _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
_LT_TAGVAR(old_archive_cmds, $1)='$CC -Tprelink_objects $oldobjs~
- '"$_LT_TAGVAR(old_archive_cmds, $1)"
+ '"$_LT_TAGVAR(old_archive_cmds, $1)"
_LT_TAGVAR(reload_cmds, $1)='$CC -Tprelink_objects $reload_objs~
- '"$_LT_TAGVAR(reload_cmds, $1)"
+ '"$_LT_TAGVAR(reload_cmds, $1)"
;;
*)
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
;;
esac
;;
@@ -6865,10 +7405,10 @@ if test "$_lt_caught_CXX_error" != yes; then
esac
AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
- test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
+ test no = "$_LT_TAGVAR(ld_shlibs, $1)" && can_build_shared=no
- _LT_TAGVAR(GCC, $1)="$GXX"
- _LT_TAGVAR(LD, $1)="$LD"
+ _LT_TAGVAR(GCC, $1)=$GXX
+ _LT_TAGVAR(LD, $1)=$LD
## CAVEAT EMPTOR:
## There is no encapsulation within the following macros, do not change
@@ -6895,7 +7435,7 @@ if test "$_lt_caught_CXX_error" != yes; then
lt_cv_path_LD=$lt_save_path_LD
lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld
lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld
-fi # test "$_lt_caught_CXX_error" != yes
+fi # test yes != "$_lt_caught_CXX_error"
AC_LANG_POP
])# _LT_LANG_CXX_CONFIG
@@ -6917,13 +7457,14 @@ AC_REQUIRE([_LT_DECL_SED])
AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])
func_stripname_cnf ()
{
- case ${2} in
- .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;;
- *) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;;
+ case @S|@2 in
+ .*) func_stripname_result=`$ECHO "@S|@3" | $SED "s%^@S|@1%%; s%\\\\@S|@2\$%%"`;;
+ *) func_stripname_result=`$ECHO "@S|@3" | $SED "s%^@S|@1%%; s%@S|@2\$%%"`;;
esac
} # func_stripname_cnf
])# _LT_FUNC_STRIPNAME_CNF
+
# _LT_SYS_HIDDEN_LIBDEPS([TAGNAME])
# ---------------------------------
# Figure out "hidden" library dependencies from verbose
@@ -7007,13 +7548,13 @@ if AC_TRY_EVAL(ac_compile); then
pre_test_object_deps_done=no
for p in `eval "$output_verbose_link_cmd"`; do
- case ${prev}${p} in
+ case $prev$p in
-L* | -R* | -l*)
# Some compilers place space between "-{L,R}" and the path.
# Remove the space.
- if test $p = "-L" ||
- test $p = "-R"; then
+ if test x-L = "$p" ||
+ test x-R = "$p"; then
prev=$p
continue
fi
@@ -7029,16 +7570,16 @@ if AC_TRY_EVAL(ac_compile); then
case $p in
=*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;;
esac
- if test "$pre_test_object_deps_done" = no; then
- case ${prev} in
+ if test no = "$pre_test_object_deps_done"; then
+ case $prev in
-L | -R)
# Internal compiler library paths should come after those
# provided the user. The postdeps already come after the
# user supplied libs so there is no need to process them.
if test -z "$_LT_TAGVAR(compiler_lib_search_path, $1)"; then
- _LT_TAGVAR(compiler_lib_search_path, $1)="${prev}${p}"
+ _LT_TAGVAR(compiler_lib_search_path, $1)=$prev$p
else
- _LT_TAGVAR(compiler_lib_search_path, $1)="${_LT_TAGVAR(compiler_lib_search_path, $1)} ${prev}${p}"
+ _LT_TAGVAR(compiler_lib_search_path, $1)="${_LT_TAGVAR(compiler_lib_search_path, $1)} $prev$p"
fi
;;
# The "-l" case would never come before the object being
@@ -7046,9 +7587,9 @@ if AC_TRY_EVAL(ac_compile); then
esac
else
if test -z "$_LT_TAGVAR(postdeps, $1)"; then
- _LT_TAGVAR(postdeps, $1)="${prev}${p}"
+ _LT_TAGVAR(postdeps, $1)=$prev$p
else
- _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} ${prev}${p}"
+ _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} $prev$p"
fi
fi
prev=
@@ -7063,15 +7604,15 @@ if AC_TRY_EVAL(ac_compile); then
continue
fi
- if test "$pre_test_object_deps_done" = no; then
+ if test no = "$pre_test_object_deps_done"; then
if test -z "$_LT_TAGVAR(predep_objects, $1)"; then
- _LT_TAGVAR(predep_objects, $1)="$p"
+ _LT_TAGVAR(predep_objects, $1)=$p
else
_LT_TAGVAR(predep_objects, $1)="$_LT_TAGVAR(predep_objects, $1) $p"
fi
else
if test -z "$_LT_TAGVAR(postdep_objects, $1)"; then
- _LT_TAGVAR(postdep_objects, $1)="$p"
+ _LT_TAGVAR(postdep_objects, $1)=$p
else
_LT_TAGVAR(postdep_objects, $1)="$_LT_TAGVAR(postdep_objects, $1) $p"
fi
@@ -7102,51 +7643,6 @@ interix[[3-9]]*)
_LT_TAGVAR(postdep_objects,$1)=
_LT_TAGVAR(postdeps,$1)=
;;
-
-linux*)
- case `$CC -V 2>&1 | sed 5q` in
- *Sun\ C*)
- # Sun C++ 5.9
-
- # The more standards-conforming stlport4 library is
- # incompatible with the Cstd library. Avoid specifying
- # it if it's in CXXFLAGS. Ignore libCrun as
- # -library=stlport4 depends on it.
- case " $CXX $CXXFLAGS " in
- *" -library=stlport4 "*)
- solaris_use_stlport4=yes
- ;;
- esac
-
- if test "$solaris_use_stlport4" != yes; then
- _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
- fi
- ;;
- esac
- ;;
-
-solaris*)
- case $cc_basename in
- CC* | sunCC*)
- # The more standards-conforming stlport4 library is
- # incompatible with the Cstd library. Avoid specifying
- # it if it's in CXXFLAGS. Ignore libCrun as
- # -library=stlport4 depends on it.
- case " $CXX $CXXFLAGS " in
- *" -library=stlport4 "*)
- solaris_use_stlport4=yes
- ;;
- esac
-
- # Adding this requires a known-good setup of shared libraries for
- # Sun compiler versions before 5.6, else PIC objects from an old
- # archive will be linked into the output, leading to subtle bugs.
- if test "$solaris_use_stlport4" != yes; then
- _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
- fi
- ;;
- esac
- ;;
esac
])
@@ -7155,7 +7651,7 @@ case " $_LT_TAGVAR(postdeps, $1) " in
esac
_LT_TAGVAR(compiler_lib_search_dirs, $1)=
if test -n "${_LT_TAGVAR(compiler_lib_search_path, $1)}"; then
- _LT_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_TAGVAR(compiler_lib_search_path, $1)}" | ${SED} -e 's! -L! !g' -e 's!^ !!'`
+ _LT_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_TAGVAR(compiler_lib_search_path, $1)}" | $SED -e 's! -L! !g' -e 's!^ !!'`
fi
_LT_TAGDECL([], [compiler_lib_search_dirs], [1],
[The directories searched by this compiler when creating a shared library])
@@ -7175,10 +7671,10 @@ _LT_TAGDECL([], [compiler_lib_search_path], [1],
# --------------------------
# Ensure that the configuration variables for a Fortran 77 compiler are
# suitably defined. These variables are subsequently used by _LT_CONFIG
-# to write the compiler configuration to `libtool'.
+# to write the compiler configuration to 'libtool'.
m4_defun([_LT_LANG_F77_CONFIG],
[AC_LANG_PUSH(Fortran 77)
-if test -z "$F77" || test "X$F77" = "Xno"; then
+if test -z "$F77" || test no = "$F77"; then
_lt_disable_F77=yes
fi
@@ -7215,7 +7711,7 @@ _LT_TAGVAR(objext, $1)=$objext
# the F77 compiler isn't working. Some variables (like enable_shared)
# are currently assumed to apply to all compilers on this platform,
# and will be corrupted by setting them based on a non-working compiler.
-if test "$_lt_disable_F77" != yes; then
+if test yes != "$_lt_disable_F77"; then
# Code to be used in simple compile tests
lt_simple_compile_test_code="\
subroutine t
@@ -7237,7 +7733,7 @@ if test "$_lt_disable_F77" != yes; then
_LT_LINKER_BOILERPLATE
# Allow CC to be a program name with arguments.
- lt_save_CC="$CC"
+ lt_save_CC=$CC
lt_save_GCC=$GCC
lt_save_CFLAGS=$CFLAGS
CC=${F77-"f77"}
@@ -7251,21 +7747,25 @@ if test "$_lt_disable_F77" != yes; then
AC_MSG_RESULT([$can_build_shared])
AC_MSG_CHECKING([whether to build shared libraries])
- test "$can_build_shared" = "no" && enable_shared=no
+ test no = "$can_build_shared" && enable_shared=no
# On AIX, shared libraries and static libraries use the same namespace, and
# are all built from PIC.
case $host_os in
aix3*)
- test "$enable_shared" = yes && enable_static=no
+ test yes = "$enable_shared" && enable_static=no
if test -n "$RANLIB"; then
archive_cmds="$archive_cmds~\$RANLIB \$lib"
postinstall_cmds='$RANLIB $lib'
fi
;;
aix[[4-9]]*)
- if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
- test "$enable_shared" = yes && enable_static=no
+ if test ia64 != "$host_cpu"; then
+ case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in
+ yes,aix,yes) ;; # shared object as lib.so file only
+ yes,svr4,*) ;; # shared object as lib.so archive member only
+ yes,*) enable_static=no ;; # shared object in lib.a archive as well
+ esac
fi
;;
esac
@@ -7273,11 +7773,11 @@ if test "$_lt_disable_F77" != yes; then
AC_MSG_CHECKING([whether to build static libraries])
# Make sure either enable_shared or enable_static is yes.
- test "$enable_shared" = yes || enable_static=yes
+ test yes = "$enable_shared" || enable_static=yes
AC_MSG_RESULT([$enable_static])
- _LT_TAGVAR(GCC, $1)="$G77"
- _LT_TAGVAR(LD, $1)="$LD"
+ _LT_TAGVAR(GCC, $1)=$G77
+ _LT_TAGVAR(LD, $1)=$LD
## CAVEAT EMPTOR:
## There is no encapsulation within the following macros, do not change
@@ -7294,9 +7794,9 @@ if test "$_lt_disable_F77" != yes; then
fi # test -n "$compiler"
GCC=$lt_save_GCC
- CC="$lt_save_CC"
- CFLAGS="$lt_save_CFLAGS"
-fi # test "$_lt_disable_F77" != yes
+ CC=$lt_save_CC
+ CFLAGS=$lt_save_CFLAGS
+fi # test yes != "$_lt_disable_F77"
AC_LANG_POP
])# _LT_LANG_F77_CONFIG
@@ -7306,11 +7806,11 @@ AC_LANG_POP
# -------------------------
# Ensure that the configuration variables for a Fortran compiler are
# suitably defined. These variables are subsequently used by _LT_CONFIG
-# to write the compiler configuration to `libtool'.
+# to write the compiler configuration to 'libtool'.
m4_defun([_LT_LANG_FC_CONFIG],
[AC_LANG_PUSH(Fortran)
-if test -z "$FC" || test "X$FC" = "Xno"; then
+if test -z "$FC" || test no = "$FC"; then
_lt_disable_FC=yes
fi
@@ -7347,7 +7847,7 @@ _LT_TAGVAR(objext, $1)=$objext
# the FC compiler isn't working. Some variables (like enable_shared)
# are currently assumed to apply to all compilers on this platform,
# and will be corrupted by setting them based on a non-working compiler.
-if test "$_lt_disable_FC" != yes; then
+if test yes != "$_lt_disable_FC"; then
# Code to be used in simple compile tests
lt_simple_compile_test_code="\
subroutine t
@@ -7369,7 +7869,7 @@ if test "$_lt_disable_FC" != yes; then
_LT_LINKER_BOILERPLATE
# Allow CC to be a program name with arguments.
- lt_save_CC="$CC"
+ lt_save_CC=$CC
lt_save_GCC=$GCC
lt_save_CFLAGS=$CFLAGS
CC=${FC-"f95"}
@@ -7385,21 +7885,25 @@ if test "$_lt_disable_FC" != yes; then
AC_MSG_RESULT([$can_build_shared])
AC_MSG_CHECKING([whether to build shared libraries])
- test "$can_build_shared" = "no" && enable_shared=no
+ test no = "$can_build_shared" && enable_shared=no
# On AIX, shared libraries and static libraries use the same namespace, and
# are all built from PIC.
case $host_os in
aix3*)
- test "$enable_shared" = yes && enable_static=no
+ test yes = "$enable_shared" && enable_static=no
if test -n "$RANLIB"; then
archive_cmds="$archive_cmds~\$RANLIB \$lib"
postinstall_cmds='$RANLIB $lib'
fi
;;
aix[[4-9]]*)
- if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
- test "$enable_shared" = yes && enable_static=no
+ if test ia64 != "$host_cpu"; then
+ case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in
+ yes,aix,yes) ;; # shared object as lib.so file only
+ yes,svr4,*) ;; # shared object as lib.so archive member only
+ yes,*) enable_static=no ;; # shared object in lib.a archive as well
+ esac
fi
;;
esac
@@ -7407,11 +7911,11 @@ if test "$_lt_disable_FC" != yes; then
AC_MSG_CHECKING([whether to build static libraries])
# Make sure either enable_shared or enable_static is yes.
- test "$enable_shared" = yes || enable_static=yes
+ test yes = "$enable_shared" || enable_static=yes
AC_MSG_RESULT([$enable_static])
- _LT_TAGVAR(GCC, $1)="$ac_cv_fc_compiler_gnu"
- _LT_TAGVAR(LD, $1)="$LD"
+ _LT_TAGVAR(GCC, $1)=$ac_cv_fc_compiler_gnu
+ _LT_TAGVAR(LD, $1)=$LD
## CAVEAT EMPTOR:
## There is no encapsulation within the following macros, do not change
@@ -7431,7 +7935,7 @@ if test "$_lt_disable_FC" != yes; then
GCC=$lt_save_GCC
CC=$lt_save_CC
CFLAGS=$lt_save_CFLAGS
-fi # test "$_lt_disable_FC" != yes
+fi # test yes != "$_lt_disable_FC"
AC_LANG_POP
])# _LT_LANG_FC_CONFIG
@@ -7441,7 +7945,7 @@ AC_LANG_POP
# --------------------------
# Ensure that the configuration variables for the GNU Java Compiler compiler
# are suitably defined. These variables are subsequently used by _LT_CONFIG
-# to write the compiler configuration to `libtool'.
+# to write the compiler configuration to 'libtool'.
m4_defun([_LT_LANG_GCJ_CONFIG],
[AC_REQUIRE([LT_PROG_GCJ])dnl
AC_LANG_SAVE
@@ -7475,7 +7979,7 @@ CC=${GCJ-"gcj"}
CFLAGS=$GCJFLAGS
compiler=$CC
_LT_TAGVAR(compiler, $1)=$CC
-_LT_TAGVAR(LD, $1)="$LD"
+_LT_TAGVAR(LD, $1)=$LD
_LT_CC_BASENAME([$compiler])
# GCJ did not exist at the time GCC didn't implicitly link libc in.
@@ -7512,7 +8016,7 @@ CFLAGS=$lt_save_CFLAGS
# --------------------------
# Ensure that the configuration variables for the GNU Go compiler
# are suitably defined. These variables are subsequently used by _LT_CONFIG
-# to write the compiler configuration to `libtool'.
+# to write the compiler configuration to 'libtool'.
m4_defun([_LT_LANG_GO_CONFIG],
[AC_REQUIRE([LT_PROG_GO])dnl
AC_LANG_SAVE
@@ -7546,7 +8050,7 @@ CC=${GOC-"gccgo"}
CFLAGS=$GOFLAGS
compiler=$CC
_LT_TAGVAR(compiler, $1)=$CC
-_LT_TAGVAR(LD, $1)="$LD"
+_LT_TAGVAR(LD, $1)=$LD
_LT_CC_BASENAME([$compiler])
# Go did not exist at the time GCC didn't implicitly link libc in.
@@ -7583,7 +8087,7 @@ CFLAGS=$lt_save_CFLAGS
# -------------------------
# Ensure that the configuration variables for the Windows resource compiler
# are suitably defined. These variables are subsequently used by _LT_CONFIG
-# to write the compiler configuration to `libtool'.
+# to write the compiler configuration to 'libtool'.
m4_defun([_LT_LANG_RC_CONFIG],
[AC_REQUIRE([LT_PROG_RC])dnl
AC_LANG_SAVE
@@ -7599,7 +8103,7 @@ _LT_TAGVAR(objext, $1)=$objext
lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }'
# Code to be used in simple link tests
-lt_simple_link_test_code="$lt_simple_compile_test_code"
+lt_simple_link_test_code=$lt_simple_compile_test_code
# ltmain only uses $CC for tagged configurations so make sure $CC is set.
_LT_TAG_COMPILER
@@ -7609,7 +8113,7 @@ _LT_COMPILER_BOILERPLATE
_LT_LINKER_BOILERPLATE
# Allow CC to be a program name with arguments.
-lt_save_CC="$CC"
+lt_save_CC=$CC
lt_save_CFLAGS=$CFLAGS
lt_save_GCC=$GCC
GCC=
@@ -7638,7 +8142,7 @@ AC_DEFUN([LT_PROG_GCJ],
[m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ],
[m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ],
[AC_CHECK_TOOL(GCJ, gcj,)
- test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2"
+ test set = "${GCJFLAGS+set}" || GCJFLAGS="-g -O2"
AC_SUBST(GCJFLAGS)])])[]dnl
])
@@ -7749,7 +8253,7 @@ lt_ac_count=0
# Add /usr/xpg4/bin/sed as it is typically found on Solaris
# along with /bin/sed that truncates output.
for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do
- test ! -f $lt_ac_sed && continue
+ test ! -f "$lt_ac_sed" && continue
cat /dev/null > conftest.in
lt_ac_count=0
echo $ECHO_N "0123456789$ECHO_C" >conftest.in
@@ -7766,9 +8270,9 @@ for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do
$lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break
cmp -s conftest.out conftest.nl || break
# 10000 chars as input seems more than enough
- test $lt_ac_count -gt 10 && break
+ test 10 -lt "$lt_ac_count" && break
lt_ac_count=`expr $lt_ac_count + 1`
- if test $lt_ac_count -gt $lt_ac_max; then
+ if test "$lt_ac_count" -gt "$lt_ac_max"; then
lt_ac_max=$lt_ac_count
lt_cv_path_SED=$lt_ac_sed
fi
@@ -7792,27 +8296,7 @@ dnl AC_DEFUN([LT_AC_PROG_SED], [])
# Find out whether the shell is Bourne or XSI compatible,
# or has some other useful features.
m4_defun([_LT_CHECK_SHELL_FEATURES],
-[AC_MSG_CHECKING([whether the shell understands some XSI constructs])
-# Try some XSI features
-xsi_shell=no
-( _lt_dummy="a/b/c"
- test "${_lt_dummy##*/},${_lt_dummy%/*},${_lt_dummy#??}"${_lt_dummy%"$_lt_dummy"}, \
- = c,a/b,b/c, \
- && eval 'test $(( 1 + 1 )) -eq 2 \
- && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
- && xsi_shell=yes
-AC_MSG_RESULT([$xsi_shell])
-_LT_CONFIG_LIBTOOL_INIT([xsi_shell='$xsi_shell'])
-
-AC_MSG_CHECKING([whether the shell understands "+="])
-lt_shell_append=no
-( foo=bar; set foo baz; eval "$[1]+=\$[2]" && test "$foo" = barbaz ) \
- >/dev/null 2>&1 \
- && lt_shell_append=yes
-AC_MSG_RESULT([$lt_shell_append])
-_LT_CONFIG_LIBTOOL_INIT([lt_shell_append='$lt_shell_append'])
-
-if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
+[if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
lt_unset=unset
else
lt_unset=false
@@ -7836,102 +8320,9 @@ _LT_DECL([NL2SP], [lt_NL2SP], [1], [turn newlines into spaces])dnl
])# _LT_CHECK_SHELL_FEATURES
-# _LT_PROG_FUNCTION_REPLACE (FUNCNAME, REPLACEMENT-BODY)
-# ------------------------------------------------------
-# In `$cfgfile', look for function FUNCNAME delimited by `^FUNCNAME ()$' and
-# '^} FUNCNAME ', and replace its body with REPLACEMENT-BODY.
-m4_defun([_LT_PROG_FUNCTION_REPLACE],
-[dnl {
-sed -e '/^$1 ()$/,/^} # $1 /c\
-$1 ()\
-{\
-m4_bpatsubsts([$2], [$], [\\], [^\([ ]\)], [\\\1])
-} # Extended-shell $1 implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-])
-
-
-# _LT_PROG_REPLACE_SHELLFNS
-# -------------------------
-# Replace existing portable implementations of several shell functions with
-# equivalent extended shell implementations where those features are available..
-m4_defun([_LT_PROG_REPLACE_SHELLFNS],
-[if test x"$xsi_shell" = xyes; then
- _LT_PROG_FUNCTION_REPLACE([func_dirname], [dnl
- case ${1} in
- */*) func_dirname_result="${1%/*}${2}" ;;
- * ) func_dirname_result="${3}" ;;
- esac])
-
- _LT_PROG_FUNCTION_REPLACE([func_basename], [dnl
- func_basename_result="${1##*/}"])
-
- _LT_PROG_FUNCTION_REPLACE([func_dirname_and_basename], [dnl
- case ${1} in
- */*) func_dirname_result="${1%/*}${2}" ;;
- * ) func_dirname_result="${3}" ;;
- esac
- func_basename_result="${1##*/}"])
-
- _LT_PROG_FUNCTION_REPLACE([func_stripname], [dnl
- # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are
- # positional parameters, so assign one to ordinary parameter first.
- func_stripname_result=${3}
- func_stripname_result=${func_stripname_result#"${1}"}
- func_stripname_result=${func_stripname_result%"${2}"}])
-
- _LT_PROG_FUNCTION_REPLACE([func_split_long_opt], [dnl
- func_split_long_opt_name=${1%%=*}
- func_split_long_opt_arg=${1#*=}])
-
- _LT_PROG_FUNCTION_REPLACE([func_split_short_opt], [dnl
- func_split_short_opt_arg=${1#??}
- func_split_short_opt_name=${1%"$func_split_short_opt_arg"}])
-
- _LT_PROG_FUNCTION_REPLACE([func_lo2o], [dnl
- case ${1} in
- *.lo) func_lo2o_result=${1%.lo}.${objext} ;;
- *) func_lo2o_result=${1} ;;
- esac])
-
- _LT_PROG_FUNCTION_REPLACE([func_xform], [ func_xform_result=${1%.*}.lo])
-
- _LT_PROG_FUNCTION_REPLACE([func_arith], [ func_arith_result=$(( $[*] ))])
-
- _LT_PROG_FUNCTION_REPLACE([func_len], [ func_len_result=${#1}])
-fi
-
-if test x"$lt_shell_append" = xyes; then
- _LT_PROG_FUNCTION_REPLACE([func_append], [ eval "${1}+=\\${2}"])
-
- _LT_PROG_FUNCTION_REPLACE([func_append_quoted], [dnl
- func_quote_for_eval "${2}"
-dnl m4 expansion turns \\\\ into \\, and then the shell eval turns that into \
- eval "${1}+=\\\\ \\$func_quote_for_eval_result"])
-
- # Save a `func_append' function call where possible by direct use of '+='
- sed -e 's%func_append \([[a-zA-Z_]]\{1,\}\) "%\1+="%g' $cfgfile > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
- test 0 -eq $? || _lt_function_replace_fail=:
-else
- # Save a `func_append' function call even when '+=' is not available
- sed -e 's%func_append \([[a-zA-Z_]]\{1,\}\) "%\1="$\1%g' $cfgfile > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
- test 0 -eq $? || _lt_function_replace_fail=:
-fi
-
-if test x"$_lt_function_replace_fail" = x":"; then
- AC_MSG_WARN([Unable to substitute extended shell functions in $ofile])
-fi
-])
-
# _LT_PATH_CONVERSION_FUNCTIONS
# -----------------------------
-# Determine which file name conversion functions should be used by
+# Determine what file name conversion functions should be used by
# func_to_host_file (and, implicitly, by func_to_host_path). These are needed
# for certain cross-compile configurations and native mingw.
m4_defun([_LT_PATH_CONVERSION_FUNCTIONS],
diff --git a/m4/ltoptions.m4 b/m4/ltoptions.m4
index 5d9acd8..94b0829 100644
--- a/m4/ltoptions.m4
+++ b/m4/ltoptions.m4
@@ -1,14 +1,14 @@
# Helper functions for option handling. -*- Autoconf -*-
#
-# Copyright (C) 2004, 2005, 2007, 2008, 2009 Free Software Foundation,
-# Inc.
+# Copyright (C) 2004-2005, 2007-2009, 2011-2015 Free Software
+# Foundation, Inc.
# Written by Gary V. Vaughan, 2004
#
# This file is free software; the Free Software Foundation gives
# unlimited permission to copy and/or distribute it, with or without
# modifications, as long as this notice is preserved.
-# serial 7 ltoptions.m4
+# serial 8 ltoptions.m4
# This is to help aclocal find these macros, as it can't see m4_define.
AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])])
@@ -29,7 +29,7 @@ m4_define([_LT_SET_OPTION],
[m4_define(_LT_MANGLE_OPTION([$1], [$2]))dnl
m4_ifdef(_LT_MANGLE_DEFUN([$1], [$2]),
_LT_MANGLE_DEFUN([$1], [$2]),
- [m4_warning([Unknown $1 option `$2'])])[]dnl
+ [m4_warning([Unknown $1 option '$2'])])[]dnl
])
@@ -75,13 +75,15 @@ m4_if([$1],[LT_INIT],[
dnl
dnl If no reference was made to various pairs of opposing options, then
dnl we run the default mode handler for the pair. For example, if neither
- dnl `shared' nor `disable-shared' was passed, we enable building of shared
+ dnl 'shared' nor 'disable-shared' was passed, we enable building of shared
dnl archives by default:
_LT_UNLESS_OPTIONS([LT_INIT], [shared disable-shared], [_LT_ENABLE_SHARED])
_LT_UNLESS_OPTIONS([LT_INIT], [static disable-static], [_LT_ENABLE_STATIC])
_LT_UNLESS_OPTIONS([LT_INIT], [pic-only no-pic], [_LT_WITH_PIC])
_LT_UNLESS_OPTIONS([LT_INIT], [fast-install disable-fast-install],
- [_LT_ENABLE_FAST_INSTALL])
+ [_LT_ENABLE_FAST_INSTALL])
+ _LT_UNLESS_OPTIONS([LT_INIT], [aix-soname=aix aix-soname=both aix-soname=svr4],
+ [_LT_WITH_AIX_SONAME([aix])])
])
])# _LT_SET_OPTIONS
@@ -112,7 +114,7 @@ AU_DEFUN([AC_LIBTOOL_DLOPEN],
[_LT_SET_OPTION([LT_INIT], [dlopen])
AC_DIAGNOSE([obsolete],
[$0: Remove this warning and the call to _LT_SET_OPTION when you
-put the `dlopen' option into LT_INIT's first parameter.])
+put the 'dlopen' option into LT_INIT's first parameter.])
])
dnl aclocal-1.4 backwards compatibility:
@@ -148,7 +150,7 @@ AU_DEFUN([AC_LIBTOOL_WIN32_DLL],
_LT_SET_OPTION([LT_INIT], [win32-dll])
AC_DIAGNOSE([obsolete],
[$0: Remove this warning and the call to _LT_SET_OPTION when you
-put the `win32-dll' option into LT_INIT's first parameter.])
+put the 'win32-dll' option into LT_INIT's first parameter.])
])
dnl aclocal-1.4 backwards compatibility:
@@ -157,9 +159,9 @@ dnl AC_DEFUN([AC_LIBTOOL_WIN32_DLL], [])
# _LT_ENABLE_SHARED([DEFAULT])
# ----------------------------
-# implement the --enable-shared flag, and supports the `shared' and
-# `disable-shared' LT_INIT options.
-# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
+# implement the --enable-shared flag, and supports the 'shared' and
+# 'disable-shared' LT_INIT options.
+# DEFAULT is either 'yes' or 'no'. If omitted, it defaults to 'yes'.
m4_define([_LT_ENABLE_SHARED],
[m4_define([_LT_ENABLE_SHARED_DEFAULT], [m4_if($1, no, no, yes)])dnl
AC_ARG_ENABLE([shared],
@@ -172,14 +174,14 @@ AC_ARG_ENABLE([shared],
*)
enable_shared=no
# Look at the argument we got. We use all the common list separators.
- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+ lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
for pkg in $enableval; do
- IFS="$lt_save_ifs"
+ IFS=$lt_save_ifs
if test "X$pkg" = "X$p"; then
enable_shared=yes
fi
done
- IFS="$lt_save_ifs"
+ IFS=$lt_save_ifs
;;
esac],
[enable_shared=]_LT_ENABLE_SHARED_DEFAULT)
@@ -211,9 +213,9 @@ dnl AC_DEFUN([AM_DISABLE_SHARED], [])
# _LT_ENABLE_STATIC([DEFAULT])
# ----------------------------
-# implement the --enable-static flag, and support the `static' and
-# `disable-static' LT_INIT options.
-# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
+# implement the --enable-static flag, and support the 'static' and
+# 'disable-static' LT_INIT options.
+# DEFAULT is either 'yes' or 'no'. If omitted, it defaults to 'yes'.
m4_define([_LT_ENABLE_STATIC],
[m4_define([_LT_ENABLE_STATIC_DEFAULT], [m4_if($1, no, no, yes)])dnl
AC_ARG_ENABLE([static],
@@ -226,14 +228,14 @@ AC_ARG_ENABLE([static],
*)
enable_static=no
# Look at the argument we got. We use all the common list separators.
- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+ lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
for pkg in $enableval; do
- IFS="$lt_save_ifs"
+ IFS=$lt_save_ifs
if test "X$pkg" = "X$p"; then
enable_static=yes
fi
done
- IFS="$lt_save_ifs"
+ IFS=$lt_save_ifs
;;
esac],
[enable_static=]_LT_ENABLE_STATIC_DEFAULT)
@@ -265,9 +267,9 @@ dnl AC_DEFUN([AM_DISABLE_STATIC], [])
# _LT_ENABLE_FAST_INSTALL([DEFAULT])
# ----------------------------------
-# implement the --enable-fast-install flag, and support the `fast-install'
-# and `disable-fast-install' LT_INIT options.
-# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
+# implement the --enable-fast-install flag, and support the 'fast-install'
+# and 'disable-fast-install' LT_INIT options.
+# DEFAULT is either 'yes' or 'no'. If omitted, it defaults to 'yes'.
m4_define([_LT_ENABLE_FAST_INSTALL],
[m4_define([_LT_ENABLE_FAST_INSTALL_DEFAULT], [m4_if($1, no, no, yes)])dnl
AC_ARG_ENABLE([fast-install],
@@ -280,14 +282,14 @@ AC_ARG_ENABLE([fast-install],
*)
enable_fast_install=no
# Look at the argument we got. We use all the common list separators.
- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+ lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
for pkg in $enableval; do
- IFS="$lt_save_ifs"
+ IFS=$lt_save_ifs
if test "X$pkg" = "X$p"; then
enable_fast_install=yes
fi
done
- IFS="$lt_save_ifs"
+ IFS=$lt_save_ifs
;;
esac],
[enable_fast_install=]_LT_ENABLE_FAST_INSTALL_DEFAULT)
@@ -304,14 +306,14 @@ AU_DEFUN([AC_ENABLE_FAST_INSTALL],
[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install])
AC_DIAGNOSE([obsolete],
[$0: Remove this warning and the call to _LT_SET_OPTION when you put
-the `fast-install' option into LT_INIT's first parameter.])
+the 'fast-install' option into LT_INIT's first parameter.])
])
AU_DEFUN([AC_DISABLE_FAST_INSTALL],
[_LT_SET_OPTION([LT_INIT], [disable-fast-install])
AC_DIAGNOSE([obsolete],
[$0: Remove this warning and the call to _LT_SET_OPTION when you put
-the `disable-fast-install' option into LT_INIT's first parameter.])
+the 'disable-fast-install' option into LT_INIT's first parameter.])
])
dnl aclocal-1.4 backwards compatibility:
@@ -319,11 +321,64 @@ dnl AC_DEFUN([AC_ENABLE_FAST_INSTALL], [])
dnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], [])
+# _LT_WITH_AIX_SONAME([DEFAULT])
+# ----------------------------------
+# implement the --with-aix-soname flag, and support the `aix-soname=aix'
+# and `aix-soname=both' and `aix-soname=svr4' LT_INIT options. DEFAULT
+# is either `aix', `both' or `svr4'. If omitted, it defaults to `aix'.
+m4_define([_LT_WITH_AIX_SONAME],
+[m4_define([_LT_WITH_AIX_SONAME_DEFAULT], [m4_if($1, svr4, svr4, m4_if($1, both, both, aix))])dnl
+shared_archive_member_spec=
+case $host,$enable_shared in
+power*-*-aix[[5-9]]*,yes)
+ AC_MSG_CHECKING([which variant of shared library versioning to provide])
+ AC_ARG_WITH([aix-soname],
+ [AS_HELP_STRING([--with-aix-soname=aix|svr4|both],
+ [shared library versioning (aka "SONAME") variant to provide on AIX, @<:@default=]_LT_WITH_AIX_SONAME_DEFAULT[@:>@.])],
+ [case $withval in
+ aix|svr4|both)
+ ;;
+ *)
+ AC_MSG_ERROR([Unknown argument to --with-aix-soname])
+ ;;
+ esac
+ lt_cv_with_aix_soname=$with_aix_soname],
+ [AC_CACHE_VAL([lt_cv_with_aix_soname],
+ [lt_cv_with_aix_soname=]_LT_WITH_AIX_SONAME_DEFAULT)
+ with_aix_soname=$lt_cv_with_aix_soname])
+ AC_MSG_RESULT([$with_aix_soname])
+ if test aix != "$with_aix_soname"; then
+ # For the AIX way of multilib, we name the shared archive member
+ # based on the bitwidth used, traditionally 'shr.o' or 'shr_64.o',
+ # and 'shr.imp' or 'shr_64.imp', respectively, for the Import File.
+ # Even when GNU compilers ignore OBJECT_MODE but need '-maix64' flag,
+ # the AIX toolchain works better with OBJECT_MODE set (default 32).
+ if test 64 = "${OBJECT_MODE-32}"; then
+ shared_archive_member_spec=shr_64
+ else
+ shared_archive_member_spec=shr
+ fi
+ fi
+ ;;
+*)
+ with_aix_soname=aix
+ ;;
+esac
+
+_LT_DECL([], [shared_archive_member_spec], [0],
+ [Shared archive member basename, for filename based shared library versioning on AIX])dnl
+])# _LT_WITH_AIX_SONAME
+
+LT_OPTION_DEFINE([LT_INIT], [aix-soname=aix], [_LT_WITH_AIX_SONAME([aix])])
+LT_OPTION_DEFINE([LT_INIT], [aix-soname=both], [_LT_WITH_AIX_SONAME([both])])
+LT_OPTION_DEFINE([LT_INIT], [aix-soname=svr4], [_LT_WITH_AIX_SONAME([svr4])])
+
+
# _LT_WITH_PIC([MODE])
# --------------------
-# implement the --with-pic flag, and support the `pic-only' and `no-pic'
+# implement the --with-pic flag, and support the 'pic-only' and 'no-pic'
# LT_INIT options.
-# MODE is either `yes' or `no'. If omitted, it defaults to `both'.
+# MODE is either 'yes' or 'no'. If omitted, it defaults to 'both'.
m4_define([_LT_WITH_PIC],
[AC_ARG_WITH([pic],
[AS_HELP_STRING([--with-pic@<:@=PKGS@:>@],
@@ -334,19 +389,17 @@ m4_define([_LT_WITH_PIC],
*)
pic_mode=default
# Look at the argument we got. We use all the common list separators.
- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+ lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
for lt_pkg in $withval; do
- IFS="$lt_save_ifs"
+ IFS=$lt_save_ifs
if test "X$lt_pkg" = "X$lt_p"; then
pic_mode=yes
fi
done
- IFS="$lt_save_ifs"
+ IFS=$lt_save_ifs
;;
esac],
- [pic_mode=default])
-
-test -z "$pic_mode" && pic_mode=m4_default([$1], [default])
+ [pic_mode=m4_default([$1], [default])])
_LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl
])# _LT_WITH_PIC
@@ -359,7 +412,7 @@ AU_DEFUN([AC_LIBTOOL_PICMODE],
[_LT_SET_OPTION([LT_INIT], [pic-only])
AC_DIAGNOSE([obsolete],
[$0: Remove this warning and the call to _LT_SET_OPTION when you
-put the `pic-only' option into LT_INIT's first parameter.])
+put the 'pic-only' option into LT_INIT's first parameter.])
])
dnl aclocal-1.4 backwards compatibility:
diff --git a/m4/ltsugar.m4 b/m4/ltsugar.m4
index 9000a05..48bc934 100644
--- a/m4/ltsugar.m4
+++ b/m4/ltsugar.m4
@@ -1,6 +1,7 @@
# ltsugar.m4 -- libtool m4 base layer. -*-Autoconf-*-
#
-# Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc.
+# Copyright (C) 2004-2005, 2007-2008, 2011-2015 Free Software
+# Foundation, Inc.
# Written by Gary V. Vaughan, 2004
#
# This file is free software; the Free Software Foundation gives
@@ -33,7 +34,7 @@ m4_define([_lt_join],
# ------------
# Manipulate m4 lists.
# These macros are necessary as long as will still need to support
-# Autoconf-2.59 which quotes differently.
+# Autoconf-2.59, which quotes differently.
m4_define([lt_car], [[$1]])
m4_define([lt_cdr],
[m4_if([$#], 0, [m4_fatal([$0: cannot be called without arguments])],
@@ -44,7 +45,7 @@ m4_define([lt_unquote], $1)
# lt_append(MACRO-NAME, STRING, [SEPARATOR])
# ------------------------------------------
-# Redefine MACRO-NAME to hold its former content plus `SEPARATOR'`STRING'.
+# Redefine MACRO-NAME to hold its former content plus 'SEPARATOR''STRING'.
# Note that neither SEPARATOR nor STRING are expanded; they are appended
# to MACRO-NAME as is (leaving the expansion for when MACRO-NAME is invoked).
# No SEPARATOR is output if MACRO-NAME was previously undefined (different
diff --git a/m4/ltversion.m4 b/m4/ltversion.m4
index 07a8602..fa04b52 100644
--- a/m4/ltversion.m4
+++ b/m4/ltversion.m4
@@ -1,6 +1,6 @@
# ltversion.m4 -- version numbers -*- Autoconf -*-
#
-# Copyright (C) 2004 Free Software Foundation, Inc.
+# Copyright (C) 2004, 2011-2015 Free Software Foundation, Inc.
# Written by Scott James Remnant, 2004
#
# This file is free software; the Free Software Foundation gives
@@ -9,15 +9,15 @@
# @configure_input@
-# serial 3337 ltversion.m4
+# serial 4179 ltversion.m4
# This file is part of GNU Libtool
-m4_define([LT_PACKAGE_VERSION], [2.4.2])
-m4_define([LT_PACKAGE_REVISION], [1.3337])
+m4_define([LT_PACKAGE_VERSION], [2.4.6])
+m4_define([LT_PACKAGE_REVISION], [2.4.6])
AC_DEFUN([LTVERSION_VERSION],
-[macro_version='2.4.2'
-macro_revision='1.3337'
+[macro_version='2.4.6'
+macro_revision='2.4.6'
_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?])
_LT_DECL(, macro_revision, 0)
])
diff --git a/m4/lt~obsolete.m4 b/m4/lt~obsolete.m4
index c573da9..c6b26f8 100644
--- a/m4/lt~obsolete.m4
+++ b/m4/lt~obsolete.m4
@@ -1,6 +1,7 @@
# lt~obsolete.m4 -- aclocal satisfying obsolete definitions. -*-Autoconf-*-
#
-# Copyright (C) 2004, 2005, 2007, 2009 Free Software Foundation, Inc.
+# Copyright (C) 2004-2005, 2007, 2009, 2011-2015 Free Software
+# Foundation, Inc.
# Written by Scott James Remnant, 2004.
#
# This file is free software; the Free Software Foundation gives
@@ -11,7 +12,7 @@
# These exist entirely to fool aclocal when bootstrapping libtool.
#
-# In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN)
+# In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN),
# which have later been changed to m4_define as they aren't part of the
# exported API, or moved to Autoconf or Automake where they belong.
#
@@ -25,7 +26,7 @@
# included after everything else. This provides aclocal with the
# AC_DEFUNs it wants, but when m4 processes it, it doesn't do anything
# because those macros already exist, or will be overwritten later.
-# We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6.
+# We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6.
#
# Anytime we withdraw an AC_DEFUN or AU_DEFUN, remember to add it here.
# Yes, that means every name once taken will need to remain here until
diff --git a/man/Makefile.in b/man/Makefile.in
index 6cf1008..6786301 100644
--- a/man/Makefile.in
+++ b/man/Makefile.in
@@ -215,6 +215,7 @@ LIBXSLT_PC_FILE_COND = @LIBXSLT_PC_FILE_COND@
LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MAN2HTML = @MAN2HTML@
@@ -262,6 +263,7 @@ SHELL = @SHELL@
STRIP = @STRIP@
TAR = @TAR@
VERSION = @VERSION@
+XMLSEC_APPS = @XMLSEC_APPS@
XMLSEC_APP_DEFINES = @XMLSEC_APP_DEFINES@
XMLSEC_CFLAGS = @XMLSEC_CFLAGS@
XMLSEC_CORE_CFLAGS = @XMLSEC_CORE_CFLAGS@
@@ -278,6 +280,7 @@ XMLSEC_DEFINES = @XMLSEC_DEFINES@
XMLSEC_DL_INCLUDES = @XMLSEC_DL_INCLUDES@
XMLSEC_DL_LIBS = @XMLSEC_DL_LIBS@
XMLSEC_DOCDIR = @XMLSEC_DOCDIR@
+XMLSEC_DOCS = @XMLSEC_DOCS@
XMLSEC_EXTRA_LDFLAGS = @XMLSEC_EXTRA_LDFLAGS@
XMLSEC_GCRYPT_CFLAGS = @XMLSEC_GCRYPT_CFLAGS@
XMLSEC_GCRYPT_LIBS = @XMLSEC_GCRYPT_LIBS@
@@ -367,6 +370,7 @@ pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
+runstatedir = @runstatedir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
diff --git a/man/xmlsec1-config.1 b/man/xmlsec1-config.1
index a8060a4..e91c2a2 100644
--- a/man/xmlsec1-config.1
+++ b/man/xmlsec1-config.1
@@ -1,5 +1,5 @@
-.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.2.
-.TH XMLSEC1-CONFIG "1" "October 2016" "xmlsec1-config 1.2.23" "User Commands"
+.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.3.
+.TH XMLSEC1-CONFIG "1" "April 2017" "xmlsec1-config 1.2.24" "User Commands"
.SH NAME
xmlsec1-config \- detail installed version of xmlsec library
.SH SYNOPSIS
diff --git a/man/xmlsec1.1 b/man/xmlsec1.1
index 8319285..2dd7d6e 100644
--- a/man/xmlsec1.1
+++ b/man/xmlsec1.1
@@ -1,5 +1,5 @@
-.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.2.
-.TH XMLSEC1 "1" "October 2016" "xmlsec1 1.2.23 (openssl)" "User Commands"
+.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.3.
+.TH XMLSEC1 "1" "April 2017" "xmlsec1 1.2.24 (openssl)" "User Commands"
.SH NAME
xmlsec1 \- sign, verify, encrypt and decrypt XML documents
.SH SYNOPSIS
@@ -234,6 +234,10 @@ maximum certificates chain depth
.IP
skip strict checking of X509 data
.HP
+\fB\-\-insecure\fR
+.IP
+do not verify certificates
+.HP
\fB\-\-crypto\fR <name>
.IP
the name of the crypto engine to use from the following
@@ -259,6 +263,12 @@ print errors stack at the end
\fB\-\-help\fR
.IP
print help information about the command
+.HP
+\fB\-\-xxe\fR
+.IP
+enable External Entity resolution.
+WARNING: this may allow the reading of arbitrary files and URLs,
+controlled by the input XML document. Use with caution!
.SH AUTHOR
Written by Aleksey Sanin <aleksey at aleksey.com>.
.SH "REPORTING BUGS"
diff --git a/scripts/build_release.sh b/scripts/build_release.sh
index 8989eac..cfda1d7 100755
--- a/scripts/build_release.sh
+++ b/scripts/build_release.sh
@@ -33,6 +33,6 @@ cd "$cur_pwd"
echo "DO NOT FORGET TO TAG THE RELEASE"
echo "git tag -a xmlsec-1_2_N -m 'XMLSec release 1.2.N'"
-echo "git push origin xmlsec-1_2_N"
+echo "git push --follow-tags"
diff --git a/scripts/change-release.sh b/scripts/change-release.sh
deleted file mode 100755
index 23c6baf..0000000
--- a/scripts/change-release.sh
+++ /dev/null
@@ -1,34 +0,0 @@
-#!/bin/sh
-
-
-old_release=$1
-new_release=$2
-
-sh_files=`find . -name "*.sh" -print`
-am_files=`find . -name "*.am" -print`
-in_files=`find . -name "*.in" -print`
-html_files=`find . -name "*.html" -print`
-sgml_files=`find . -name "*.sgml" -print`
-cvsignore_files=`find . -name ".cvsignore" -print`
-
-files="$sh_files $am_files $in_files $html_files $sgml_files $cvsignore_files"
-for i in $files; do
- echo Processing $i ...
- sed "s/$old_release/$new_release/g" $i > $i.tmp
- if [ $? != 0 ]; then
- echo "Failed to process file $i"
- exit 1
- fi
-
- mode=`stat -c "%a" $i`
- chmod $mode $i.tmp
- if [ $? != 0 ]; then
- echo "Failed to retore permissions for $i"
- exit 1
- fi
-done
-
-for i in $files; do
- echo Moving $i ...
- mv $i.tmp $i
-done
diff --git a/scripts/push_release.sh b/scripts/push_release.sh
deleted file mode 100755
index 162c31a..0000000
--- a/scripts/push_release.sh
+++ /dev/null
@@ -1,30 +0,0 @@
-#!/bin/sh
-
-# input
-version=$1
-
-# config
-svn_module=xmlsec
-svn_uri=svn+ssh://aleksey@svn.gnome.org/svn/$svn_module/trunk
-svn_branch_uri=svn+ssh://aleksey@svn.gnome.org/svn/$svn_module/branches/$version
-
-rpm_name=xmlsec1
-rpm_root=/usr/src/redhat
-remote_root=aleksey at ftp.aleksey.com:/var/ftp/pub/xmlsec/releases
-build_target=i386
-
-echo "Uploading to aleksey.com"
-scp $rpm_root/SOURCES/$rpm_name-$version.tar.gz \
- $rpm_root/SRPMS/$rpm_name-$version-*.src.rpm \
- $rpm_root/RPMS/$build_target/$rpm_name-$version-*.$build_target.rpm \
- $rpm_root/RPMS/$build_target/$rpm_name-devel-$version-*.$build_target.rpm \
- $rpm_root/RPMS/$build_target/$rpm_name-openssl-$version-*.$build_target.rpm \
- $rpm_root/RPMS/$build_target/$rpm_name-openssl-devel-$version-*.$build_target.rpm \
- $rpm_root/RPMS/$build_target/$rpm_name-nss-$version-*.$build_target.rpm \
- $rpm_root/RPMS/$build_target/$rpm_name-nss-devel-$version-*.$build_target.rpm \
- $remote_root
-
-
-echo "Creating SVN branch $version"
-svn copy $svn_uri $svn_branch_uri -m"creating release $version branch"
-
diff --git a/scripts/test_release.sh b/scripts/test_release.sh
deleted file mode 100755
index 705f796..0000000
--- a/scripts/test_release.sh
+++ /dev/null
@@ -1,12 +0,0 @@
-#!/bin/sh
-
-module=$1
-version=$2
-build_root=/tmp
-rpm_root=/usr/src/redhat
-
-./autogen.sh --prefix=/usr --sysconfdir=/etc
-make dist
-mv $module-$version.tar.gz $rpm_root/SOURCES
-rpm -ba $module.spec
-
diff --git a/src/Makefile.am b/src/Makefile.am
index 44cfabe..b0c2444 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -14,6 +14,7 @@ AM_CFLAGS = \
$(NULL)
EXTRA_DIST = \
+ errors_helpers.h \
globals.h \
kw_aes_des.h \
skeleton \
diff --git a/src/Makefile.in b/src/Makefile.in
index 1bcfca0..d87bd53 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -315,6 +315,7 @@ LIBXSLT_PC_FILE_COND = @LIBXSLT_PC_FILE_COND@
LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MAN2HTML = @MAN2HTML@
@@ -362,6 +363,7 @@ SHELL = @SHELL@
STRIP = @STRIP@
TAR = @TAR@
VERSION = @VERSION@
+XMLSEC_APPS = @XMLSEC_APPS@
XMLSEC_APP_DEFINES = @XMLSEC_APP_DEFINES@
XMLSEC_CFLAGS = @XMLSEC_CFLAGS@
XMLSEC_CORE_CFLAGS = @XMLSEC_CORE_CFLAGS@
@@ -378,6 +380,7 @@ XMLSEC_DEFINES = @XMLSEC_DEFINES@
XMLSEC_DL_INCLUDES = @XMLSEC_DL_INCLUDES@
XMLSEC_DL_LIBS = @XMLSEC_DL_LIBS@
XMLSEC_DOCDIR = @XMLSEC_DOCDIR@
+XMLSEC_DOCS = @XMLSEC_DOCS@
XMLSEC_EXTRA_LDFLAGS = @XMLSEC_EXTRA_LDFLAGS@
XMLSEC_GCRYPT_CFLAGS = @XMLSEC_GCRYPT_CFLAGS@
XMLSEC_GCRYPT_LIBS = @XMLSEC_GCRYPT_LIBS@
@@ -467,6 +470,7 @@ pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
+runstatedir = @runstatedir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
@@ -489,6 +493,7 @@ AM_CFLAGS = \
$(NULL)
EXTRA_DIST = \
+ errors_helpers.h \
globals.h \
kw_aes_des.h \
skeleton \
diff --git a/src/app.c b/src/app.c
index b45bc8b..d724d4a 100644
--- a/src/app.c
+++ b/src/app.c
@@ -1,4 +1,4 @@
-/**
+/*
* XML Security Library (http://www.aleksey.com/xmlsec).
*
*
@@ -45,11 +45,7 @@
int
xmlSecCryptoInit(void) {
if((xmlSecCryptoDLGetFunctions() == NULL) || (xmlSecCryptoDLGetFunctions()->cryptoInit == NULL)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "cryptoInit",
- XMLSEC_ERRORS_R_NOT_IMPLEMENTED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNotImplementedError("cryptoInit");
return(-1);
}
@@ -66,11 +62,7 @@ xmlSecCryptoInit(void) {
int
xmlSecCryptoShutdown(void) {
if((xmlSecCryptoDLGetFunctions() == NULL) || (xmlSecCryptoDLGetFunctions()->cryptoShutdown == NULL)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "cryptoShutdown",
- XMLSEC_ERRORS_R_NOT_IMPLEMENTED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNotImplementedError("cryptoShutdown");
return(-1);
}
@@ -88,11 +80,7 @@ xmlSecCryptoShutdown(void) {
int
xmlSecCryptoKeysMngrInit(xmlSecKeysMngrPtr mngr) {
if((xmlSecCryptoDLGetFunctions() == NULL) || (xmlSecCryptoDLGetFunctions()->cryptoKeysMngrInit == NULL)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "cryptoKeysMngrInit",
- XMLSEC_ERRORS_R_NOT_IMPLEMENTED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNotImplementedError("cryptoKeysMngrInit");
return(-1);
}
@@ -116,11 +104,7 @@ xmlSecCryptoKeysMngrInit(xmlSecKeysMngrPtr mngr) {
xmlSecKeyDataId
xmlSecKeyDataAesGetKlass(void) {
if((xmlSecCryptoDLGetFunctions() == NULL) || (xmlSecCryptoDLGetFunctions()->keyDataAesGetKlass == NULL)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "keyDataAesId",
- XMLSEC_ERRORS_R_NOT_IMPLEMENTED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNotImplementedError("keyDataAesGetKlass");
return(xmlSecKeyDataIdUnknown);
}
@@ -139,11 +123,7 @@ xmlSecKeyDataAesGetKlass(void) {
xmlSecKeyDataId
xmlSecKeyDataDesGetKlass(void) {
if((xmlSecCryptoDLGetFunctions() == NULL) || (xmlSecCryptoDLGetFunctions()->keyDataDesGetKlass == NULL)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "keyDataDesId",
- XMLSEC_ERRORS_R_NOT_IMPLEMENTED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNotImplementedError("keyDataDesId");
return(xmlSecKeyDataIdUnknown);
}
@@ -162,11 +142,7 @@ xmlSecKeyDataDesGetKlass(void) {
xmlSecKeyDataId
xmlSecKeyDataDsaGetKlass(void) {
if((xmlSecCryptoDLGetFunctions() == NULL) || (xmlSecCryptoDLGetFunctions()->keyDataDsaGetKlass == NULL)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "keyDataDsaId",
- XMLSEC_ERRORS_R_NOT_IMPLEMENTED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNotImplementedError("keyDataDsaGetKlass");
return(xmlSecKeyDataIdUnknown);
}
@@ -185,11 +161,7 @@ xmlSecKeyDataDsaGetKlass(void) {
xmlSecKeyDataId
xmlSecKeyDataEcdsaGetKlass(void) {
if((xmlSecCryptoDLGetFunctions() == NULL) || (xmlSecCryptoDLGetFunctions()->keyDataEcdsaGetKlass == NULL)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "keyDataEcdsaId",
- XMLSEC_ERRORS_R_NOT_IMPLEMENTED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNotImplementedError("keyDataEcdsaGetKlass");
return(xmlSecKeyDataIdUnknown);
}
@@ -208,11 +180,7 @@ xmlSecKeyDataEcdsaGetKlass(void) {
xmlSecKeyDataId
xmlSecKeyDataGost2001GetKlass(void) {
if((xmlSecCryptoDLGetFunctions() == NULL) || (xmlSecCryptoDLGetFunctions()->keyDataGost2001GetKlass == NULL)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "keyDataGost2001Id",
- XMLSEC_ERRORS_R_NOT_IMPLEMENTED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNotImplementedError("keyDataGost2001GetKlass");
return(xmlSecKeyDataIdUnknown);
}
@@ -231,11 +199,7 @@ xmlSecKeyDataGost2001GetKlass(void) {
xmlSecKeyDataId
xmlSecKeyDataGostR3410_2012_256GetKlass(void) {
if((xmlSecCryptoDLGetFunctions() == NULL) || (xmlSecCryptoDLGetFunctions()->keyDataGostR3410_2012_256GetKlass == NULL)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "keyDataGostR3410_2012_256Id",
- XMLSEC_ERRORS_R_NOT_IMPLEMENTED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNotImplementedError("keyDataGostR3410_2012_256GetKlass");
return(xmlSecKeyDataIdUnknown);
}
@@ -254,11 +218,7 @@ xmlSecKeyDataGostR3410_2012_256GetKlass(void) {
xmlSecKeyDataId
xmlSecKeyDataGostR3410_2012_512GetKlass(void) {
if((xmlSecCryptoDLGetFunctions() == NULL) || (xmlSecCryptoDLGetFunctions()->keyDataGostR3410_2012_512GetKlass == NULL)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "keyDataGostR3410_2012_512Id",
- XMLSEC_ERRORS_R_NOT_IMPLEMENTED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNotImplementedError("keyDataGostR3410_2012_512GetKlass");
return(xmlSecKeyDataIdUnknown);
}
@@ -277,11 +237,7 @@ xmlSecKeyDataGostR3410_2012_512GetKlass(void) {
xmlSecKeyDataId
xmlSecKeyDataHmacGetKlass(void) {
if((xmlSecCryptoDLGetFunctions() == NULL) || (xmlSecCryptoDLGetFunctions()->keyDataHmacGetKlass == NULL)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "keyDataHmacId",
- XMLSEC_ERRORS_R_NOT_IMPLEMENTED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNotImplementedError("keyDataHmacGetKlass");
return(xmlSecKeyDataIdUnknown);
}
@@ -300,11 +256,7 @@ xmlSecKeyDataHmacGetKlass(void) {
xmlSecKeyDataId
xmlSecKeyDataRsaGetKlass(void) {
if((xmlSecCryptoDLGetFunctions() == NULL) || (xmlSecCryptoDLGetFunctions()->keyDataRsaGetKlass == NULL)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "keyDataRsaId",
- XMLSEC_ERRORS_R_NOT_IMPLEMENTED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNotImplementedError("keyDataRsaGetKlass");
return(xmlSecKeyDataIdUnknown);
}
@@ -323,11 +275,7 @@ xmlSecKeyDataRsaGetKlass(void) {
xmlSecKeyDataId
xmlSecKeyDataX509GetKlass(void) {
if((xmlSecCryptoDLGetFunctions() == NULL) || (xmlSecCryptoDLGetFunctions()->keyDataX509GetKlass == NULL)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "keyDataX509Id",
- XMLSEC_ERRORS_R_NOT_IMPLEMENTED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNotImplementedError("keyDataX509GetKlass");
return(xmlSecKeyDataIdUnknown);
}
@@ -346,11 +294,7 @@ xmlSecKeyDataX509GetKlass(void) {
xmlSecKeyDataId
xmlSecKeyDataRawX509CertGetKlass(void) {
if((xmlSecCryptoDLGetFunctions() == NULL) || (xmlSecCryptoDLGetFunctions()->keyDataRawX509CertGetKlass == NULL)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "keyDataRawX509CertId",
- XMLSEC_ERRORS_R_NOT_IMPLEMENTED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNotImplementedError("keyDataRawX509CertGetKlass");
return(xmlSecKeyDataIdUnknown);
}
@@ -374,11 +318,7 @@ xmlSecKeyDataRawX509CertGetKlass(void) {
xmlSecKeyDataStoreId
xmlSecX509StoreGetKlass(void) {
if((xmlSecCryptoDLGetFunctions() == NULL) || (xmlSecCryptoDLGetFunctions()->x509StoreGetKlass == NULL)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "x509StoreId",
- XMLSEC_ERRORS_R_NOT_IMPLEMENTED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNotImplementedError("x509StoreGetKlass");
return(xmlSecKeyStoreIdUnknown);
}
@@ -402,11 +342,7 @@ xmlSecX509StoreGetKlass(void) {
xmlSecTransformId
xmlSecTransformAes128CbcGetKlass(void) {
if((xmlSecCryptoDLGetFunctions() == NULL) || (xmlSecCryptoDLGetFunctions()->transformAes128CbcGetKlass == NULL)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "transformAes128CbcId",
- XMLSEC_ERRORS_R_NOT_IMPLEMENTED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNotImplementedError("transformAes128CbcGetKlass");
return(xmlSecTransformIdUnknown);
}
@@ -425,11 +361,7 @@ xmlSecTransformAes128CbcGetKlass(void) {
xmlSecTransformId
xmlSecTransformAes192CbcGetKlass(void) {
if((xmlSecCryptoDLGetFunctions() == NULL) || (xmlSecCryptoDLGetFunctions()->transformAes192CbcGetKlass == NULL)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "transformAes192CbcId",
- XMLSEC_ERRORS_R_NOT_IMPLEMENTED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNotImplementedError("transformAes192CbcGetKlass");
return(xmlSecTransformIdUnknown);
}
@@ -448,11 +380,7 @@ xmlSecTransformAes192CbcGetKlass(void) {
xmlSecTransformId
xmlSecTransformAes256CbcGetKlass(void) {
if((xmlSecCryptoDLGetFunctions() == NULL) || (xmlSecCryptoDLGetFunctions()->transformAes256CbcGetKlass == NULL)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "transformAes256CbcId",
- XMLSEC_ERRORS_R_NOT_IMPLEMENTED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNotImplementedError("transformAes256CbcGetKlass");
return(xmlSecTransformIdUnknown);
}
@@ -471,11 +399,7 @@ xmlSecTransformAes256CbcGetKlass(void) {
xmlSecTransformId
xmlSecTransformKWAes128GetKlass(void) {
if((xmlSecCryptoDLGetFunctions() == NULL) || (xmlSecCryptoDLGetFunctions()->transformKWAes128GetKlass == NULL)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "transformKWAes128Id",
- XMLSEC_ERRORS_R_NOT_IMPLEMENTED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNotImplementedError("transformKWAes128GetKlass");
return(xmlSecTransformIdUnknown);
}
@@ -494,11 +418,7 @@ xmlSecTransformKWAes128GetKlass(void) {
xmlSecTransformId
xmlSecTransformKWAes192GetKlass(void) {
if((xmlSecCryptoDLGetFunctions() == NULL) || (xmlSecCryptoDLGetFunctions()->transformKWAes192GetKlass == NULL)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "transformKWAes192Id",
- XMLSEC_ERRORS_R_NOT_IMPLEMENTED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNotImplementedError("transformKWAes192GetKlass");
return(xmlSecTransformIdUnknown);
}
@@ -517,11 +437,7 @@ xmlSecTransformKWAes192GetKlass(void) {
xmlSecTransformId
xmlSecTransformKWAes256GetKlass(void) {
if((xmlSecCryptoDLGetFunctions() == NULL) || (xmlSecCryptoDLGetFunctions()->transformKWAes256GetKlass == NULL)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "transformKWAes256Id",
- XMLSEC_ERRORS_R_NOT_IMPLEMENTED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNotImplementedError("transformKWAes256GetKlass");
return(xmlSecTransformIdUnknown);
}
@@ -540,11 +456,7 @@ xmlSecTransformKWAes256GetKlass(void) {
xmlSecTransformId
xmlSecTransformDes3CbcGetKlass(void) {
if((xmlSecCryptoDLGetFunctions() == NULL) || (xmlSecCryptoDLGetFunctions()->transformDes3CbcGetKlass == NULL)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "transformDes3CbcId",
- XMLSEC_ERRORS_R_NOT_IMPLEMENTED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNotImplementedError("transformDes3CbcGetKlass");
return(xmlSecTransformIdUnknown);
}
@@ -563,11 +475,7 @@ xmlSecTransformDes3CbcGetKlass(void) {
xmlSecTransformId
xmlSecTransformKWDes3GetKlass(void) {
if((xmlSecCryptoDLGetFunctions() == NULL) || (xmlSecCryptoDLGetFunctions()->transformKWDes3GetKlass == NULL)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "transformKWDes3Id",
- XMLSEC_ERRORS_R_NOT_IMPLEMENTED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNotImplementedError("transformKWDes3GetKlass");
return(xmlSecTransformIdUnknown);
}
@@ -586,11 +494,7 @@ xmlSecTransformKWDes3GetKlass(void) {
xmlSecTransformId
xmlSecTransformDsaSha1GetKlass(void) {
if((xmlSecCryptoDLGetFunctions() == NULL) || (xmlSecCryptoDLGetFunctions()->transformDsaSha1GetKlass == NULL)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "transformDsaSha1Id",
- XMLSEC_ERRORS_R_NOT_IMPLEMENTED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNotImplementedError("transformDsaSha1GetKlass");
return(xmlSecTransformIdUnknown);
}
@@ -609,11 +513,7 @@ xmlSecTransformDsaSha1GetKlass(void) {
xmlSecTransformId
xmlSecTransformDsaSha256GetKlass(void) {
if((xmlSecCryptoDLGetFunctions() == NULL) || (xmlSecCryptoDLGetFunctions()->transformDsaSha256GetKlass == NULL)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "transformDsaSha256Id",
- XMLSEC_ERRORS_R_NOT_IMPLEMENTED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNotImplementedError("transformDsaSha256GetKlass");
return(xmlSecTransformIdUnknown);
}
@@ -632,11 +532,7 @@ xmlSecTransformDsaSha256GetKlass(void) {
xmlSecTransformId
xmlSecTransformEcdsaSha1GetKlass(void) {
if((xmlSecCryptoDLGetFunctions() == NULL) || (xmlSecCryptoDLGetFunctions()->transformEcdsaSha1GetKlass == NULL)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "transformEcdsaSha1Id",
- XMLSEC_ERRORS_R_NOT_IMPLEMENTED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNotImplementedError("transformEcdsaSha1GetKlass");
return(xmlSecTransformIdUnknown);
}
@@ -655,11 +551,7 @@ xmlSecTransformEcdsaSha1GetKlass(void) {
xmlSecTransformId
xmlSecTransformEcdsaSha224GetKlass(void) {
if((xmlSecCryptoDLGetFunctions() == NULL) || (xmlSecCryptoDLGetFunctions()->transformEcdsaSha224GetKlass == NULL)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "transformEcdsaSha224Id",
- XMLSEC_ERRORS_R_NOT_IMPLEMENTED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNotImplementedError("transformEcdsaSha224GetKlass");
return(xmlSecTransformIdUnknown);
}
@@ -678,11 +570,7 @@ xmlSecTransformEcdsaSha224GetKlass(void) {
xmlSecTransformId
xmlSecTransformEcdsaSha256GetKlass(void) {
if((xmlSecCryptoDLGetFunctions() == NULL) || (xmlSecCryptoDLGetFunctions()->transformEcdsaSha256GetKlass == NULL)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "transformEcdsaSha256Id",
- XMLSEC_ERRORS_R_NOT_IMPLEMENTED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNotImplementedError("transformEcdsaSha256GetKlass");
return(xmlSecTransformIdUnknown);
}
@@ -701,11 +589,7 @@ xmlSecTransformEcdsaSha256GetKlass(void) {
xmlSecTransformId
xmlSecTransformEcdsaSha384GetKlass(void) {
if((xmlSecCryptoDLGetFunctions() == NULL) || (xmlSecCryptoDLGetFunctions()->transformEcdsaSha384GetKlass == NULL)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "transformEcdsaSha384Id",
- XMLSEC_ERRORS_R_NOT_IMPLEMENTED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNotImplementedError("transformEcdsaSha384GetKlass");
return(xmlSecTransformIdUnknown);
}
@@ -724,11 +608,7 @@ xmlSecTransformEcdsaSha384GetKlass(void) {
xmlSecTransformId
xmlSecTransformEcdsaSha512GetKlass(void) {
if((xmlSecCryptoDLGetFunctions() == NULL) || (xmlSecCryptoDLGetFunctions()->transformEcdsaSha512GetKlass == NULL)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "transformEcdsaSha512Id",
- XMLSEC_ERRORS_R_NOT_IMPLEMENTED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNotImplementedError("transformEcdsaSha512GetKlass");
return(xmlSecTransformIdUnknown);
}
@@ -747,11 +627,7 @@ xmlSecTransformEcdsaSha512GetKlass(void) {
xmlSecTransformId
xmlSecTransformGost2001GostR3411_94GetKlass(void) {
if((xmlSecCryptoDLGetFunctions() == NULL) || (xmlSecCryptoDLGetFunctions()->transformGost2001GostR3411_94GetKlass == NULL)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "transformGost2001GostR3411_94Id",
- XMLSEC_ERRORS_R_NOT_IMPLEMENTED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNotImplementedError("transformGost2001GostR3411_94GetKlass");
return(xmlSecTransformIdUnknown);
}
@@ -770,11 +646,7 @@ xmlSecTransformGost2001GostR3411_94GetKlass(void) {
xmlSecTransformId
xmlSecTransformGostR3410_2012GostR3411_2012_256GetKlass(void) {
if((xmlSecCryptoDLGetFunctions() == NULL) || (xmlSecCryptoDLGetFunctions()->transformGostR3410_2012GostR3411_2012_256GetKlass == NULL)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "transformGostR3410_2012GostR3411_2012_256Id",
- XMLSEC_ERRORS_R_NOT_IMPLEMENTED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNotImplementedError("transformGostR3410_2012GostR3411_2012_256GetKlass");
return(xmlSecTransformIdUnknown);
}
@@ -793,11 +665,7 @@ xmlSecTransformGostR3410_2012GostR3411_2012_256GetKlass(void) {
xmlSecTransformId
xmlSecTransformGostR3410_2012GostR3411_2012_512GetKlass(void) {
if((xmlSecCryptoDLGetFunctions() == NULL) || (xmlSecCryptoDLGetFunctions()->transformGostR3410_2012GostR3411_2012_512GetKlass == NULL)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "transformGostR3410_2012GostR3411_2012_512Id",
- XMLSEC_ERRORS_R_NOT_IMPLEMENTED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNotImplementedError("transformGostR3410_2012GostR3411_2012_512GetKlass");
return(xmlSecTransformIdUnknown);
}
@@ -816,11 +684,7 @@ xmlSecTransformGostR3410_2012GostR3411_2012_512GetKlass(void) {
xmlSecTransformId
xmlSecTransformHmacMd5GetKlass(void) {
if((xmlSecCryptoDLGetFunctions() == NULL) || (xmlSecCryptoDLGetFunctions()->transformHmacMd5GetKlass == NULL)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "transformHmacMd5Id",
- XMLSEC_ERRORS_R_NOT_IMPLEMENTED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNotImplementedError("transformHmacMd5GetKlass");
return(xmlSecTransformIdUnknown);
}
@@ -839,11 +703,7 @@ xmlSecTransformHmacMd5GetKlass(void) {
xmlSecTransformId
xmlSecTransformHmacRipemd160GetKlass(void) {
if((xmlSecCryptoDLGetFunctions() == NULL) || (xmlSecCryptoDLGetFunctions()->transformHmacRipemd160GetKlass == NULL)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "transformHmacRipemd160Id",
- XMLSEC_ERRORS_R_NOT_IMPLEMENTED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNotImplementedError("transformHmacRipemd160GetKlass");
return(xmlSecTransformIdUnknown);
}
@@ -862,11 +722,7 @@ xmlSecTransformHmacRipemd160GetKlass(void) {
xmlSecTransformId
xmlSecTransformHmacSha1GetKlass(void) {
if((xmlSecCryptoDLGetFunctions() == NULL) || (xmlSecCryptoDLGetFunctions()->transformHmacSha1GetKlass == NULL)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "transformHmacSha1Id",
- XMLSEC_ERRORS_R_NOT_IMPLEMENTED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNotImplementedError("transformHmacSha1GetKlass");
return(xmlSecTransformIdUnknown);
}
@@ -885,11 +741,7 @@ xmlSecTransformHmacSha1GetKlass(void) {
xmlSecTransformId
xmlSecTransformHmacSha224GetKlass(void) {
if((xmlSecCryptoDLGetFunctions() == NULL) || (xmlSecCryptoDLGetFunctions()->transformHmacSha224GetKlass == NULL)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "transformHmacSha224Id",
- XMLSEC_ERRORS_R_NOT_IMPLEMENTED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNotImplementedError("transformHmacSha224GetKlass");
return(xmlSecTransformIdUnknown);
}
@@ -908,11 +760,7 @@ xmlSecTransformHmacSha224GetKlass(void) {
xmlSecTransformId
xmlSecTransformHmacSha256GetKlass(void) {
if((xmlSecCryptoDLGetFunctions() == NULL) || (xmlSecCryptoDLGetFunctions()->transformHmacSha256GetKlass == NULL)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "transformHmacSha256Id",
- XMLSEC_ERRORS_R_NOT_IMPLEMENTED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNotImplementedError("transformHmacSha256GetKlass");
return(xmlSecTransformIdUnknown);
}
@@ -931,11 +779,7 @@ xmlSecTransformHmacSha256GetKlass(void) {
xmlSecTransformId
xmlSecTransformHmacSha384GetKlass(void) {
if((xmlSecCryptoDLGetFunctions() == NULL) || (xmlSecCryptoDLGetFunctions()->transformHmacSha384GetKlass == NULL)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "transformHmacSha384Id",
- XMLSEC_ERRORS_R_NOT_IMPLEMENTED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNotImplementedError("transformHmacSha384GetKlass");
return(xmlSecTransformIdUnknown);
}
@@ -954,11 +798,7 @@ xmlSecTransformHmacSha384GetKlass(void) {
xmlSecTransformId
xmlSecTransformHmacSha512GetKlass(void) {
if((xmlSecCryptoDLGetFunctions() == NULL) || (xmlSecCryptoDLGetFunctions()->transformHmacSha512GetKlass == NULL)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "transformHmacSha512Id",
- XMLSEC_ERRORS_R_NOT_IMPLEMENTED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNotImplementedError("transformHmacSha512GetKlass");
return(xmlSecTransformIdUnknown);
}
@@ -977,11 +817,7 @@ xmlSecTransformHmacSha512GetKlass(void) {
xmlSecTransformId
xmlSecTransformMd5GetKlass(void) {
if((xmlSecCryptoDLGetFunctions() == NULL) || (xmlSecCryptoDLGetFunctions()->transformMd5GetKlass == NULL)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "transformMd5Id",
- XMLSEC_ERRORS_R_NOT_IMPLEMENTED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNotImplementedError("transformMd5GetKlass");
return(xmlSecTransformIdUnknown);
}
@@ -1000,11 +836,7 @@ xmlSecTransformMd5GetKlass(void) {
xmlSecTransformId
xmlSecTransformRipemd160GetKlass(void) {
if((xmlSecCryptoDLGetFunctions() == NULL) || (xmlSecCryptoDLGetFunctions()->transformRipemd160GetKlass == NULL)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "transformRipemd160Id",
- XMLSEC_ERRORS_R_NOT_IMPLEMENTED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNotImplementedError("transformRipemd160GetKlass");
return(xmlSecTransformIdUnknown);
}
@@ -1023,11 +855,7 @@ xmlSecTransformRipemd160GetKlass(void) {
xmlSecTransformId
xmlSecTransformRsaMd5GetKlass(void) {
if((xmlSecCryptoDLGetFunctions() == NULL) || (xmlSecCryptoDLGetFunctions()->transformRsaMd5GetKlass == NULL)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "transformRsaMd5Id",
- XMLSEC_ERRORS_R_NOT_IMPLEMENTED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNotImplementedError("transformRsaMd5GetKlass");
return(xmlSecTransformIdUnknown);
}
@@ -1046,11 +874,7 @@ xmlSecTransformRsaMd5GetKlass(void) {
xmlSecTransformId
xmlSecTransformRsaRipemd160GetKlass(void) {
if((xmlSecCryptoDLGetFunctions() == NULL) || (xmlSecCryptoDLGetFunctions()->transformRsaRipemd160GetKlass == NULL)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "transformRsaRipemd160Id",
- XMLSEC_ERRORS_R_NOT_IMPLEMENTED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNotImplementedError("transformRsaRipemd160GetKlass");
return(xmlSecTransformIdUnknown);
}
@@ -1069,11 +893,7 @@ xmlSecTransformRsaRipemd160GetKlass(void) {
xmlSecTransformId
xmlSecTransformRsaSha1GetKlass(void) {
if((xmlSecCryptoDLGetFunctions() == NULL) || (xmlSecCryptoDLGetFunctions()->transformRsaSha1GetKlass == NULL)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "transformRsaSha1Id",
- XMLSEC_ERRORS_R_NOT_IMPLEMENTED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNotImplementedError("transformRsaSha1GetKlass");
return(xmlSecTransformIdUnknown);
}
@@ -1092,11 +912,7 @@ xmlSecTransformRsaSha1GetKlass(void) {
xmlSecTransformId
xmlSecTransformRsaSha224GetKlass(void) {
if((xmlSecCryptoDLGetFunctions() == NULL) || (xmlSecCryptoDLGetFunctions()->transformRsaSha224GetKlass == NULL)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "transformRsaSha224Id",
- XMLSEC_ERRORS_R_NOT_IMPLEMENTED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNotImplementedError("transformRsaSha224GetKlass");
return(xmlSecTransformIdUnknown);
}
@@ -1115,11 +931,7 @@ xmlSecTransformRsaSha224GetKlass(void) {
xmlSecTransformId
xmlSecTransformRsaSha256GetKlass(void) {
if((xmlSecCryptoDLGetFunctions() == NULL) || (xmlSecCryptoDLGetFunctions()->transformRsaSha256GetKlass == NULL)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "transformRsaSha256Id",
- XMLSEC_ERRORS_R_NOT_IMPLEMENTED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNotImplementedError("transformRsaSha256GetKlass");
return(xmlSecTransformIdUnknown);
}
@@ -1138,11 +950,7 @@ xmlSecTransformRsaSha256GetKlass(void) {
xmlSecTransformId
xmlSecTransformRsaSha384GetKlass(void) {
if((xmlSecCryptoDLGetFunctions() == NULL) || (xmlSecCryptoDLGetFunctions()->transformRsaSha384GetKlass == NULL)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "transformRsaSha384Id",
- XMLSEC_ERRORS_R_NOT_IMPLEMENTED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNotImplementedError("transformRsaSha384GetKlass");
return(xmlSecTransformIdUnknown);
}
@@ -1161,11 +969,7 @@ xmlSecTransformRsaSha384GetKlass(void) {
xmlSecTransformId
xmlSecTransformRsaSha512GetKlass(void) {
if((xmlSecCryptoDLGetFunctions() == NULL) || (xmlSecCryptoDLGetFunctions()->transformRsaSha512GetKlass == NULL)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "transformRsaSha512Id",
- XMLSEC_ERRORS_R_NOT_IMPLEMENTED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNotImplementedError("transformRsaSha512GetKlass");
return(xmlSecTransformIdUnknown);
}
@@ -1184,11 +988,7 @@ xmlSecTransformRsaSha512GetKlass(void) {
xmlSecTransformId
xmlSecTransformRsaPkcs1GetKlass(void) {
if((xmlSecCryptoDLGetFunctions() == NULL) || (xmlSecCryptoDLGetFunctions()->transformRsaPkcs1GetKlass == NULL)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "transformRsaPkcs1Id",
- XMLSEC_ERRORS_R_NOT_IMPLEMENTED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNotImplementedError("transformRsaPkcs1GetKlass");
return(xmlSecTransformIdUnknown);
}
@@ -1207,11 +1007,7 @@ xmlSecTransformRsaPkcs1GetKlass(void) {
xmlSecTransformId
xmlSecTransformRsaOaepGetKlass(void) {
if((xmlSecCryptoDLGetFunctions() == NULL) || (xmlSecCryptoDLGetFunctions()->transformRsaOaepGetKlass == NULL)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "transformRsaOaepId",
- XMLSEC_ERRORS_R_NOT_IMPLEMENTED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNotImplementedError("transformRsaOaepGetKlass");
return(xmlSecTransformIdUnknown);
}
@@ -1230,11 +1026,7 @@ xmlSecTransformRsaOaepGetKlass(void) {
xmlSecTransformId
xmlSecTransformGostR3411_94GetKlass(void) {
if((xmlSecCryptoDLGetFunctions() == NULL) || (xmlSecCryptoDLGetFunctions()->transformGostR3411_94GetKlass == NULL)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "transformGostR3411_94Id",
- XMLSEC_ERRORS_R_NOT_IMPLEMENTED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNotImplementedError("transformGostR3411_94GetKlass");
return(xmlSecTransformIdUnknown);
}
@@ -1254,11 +1046,7 @@ xmlSecTransformGostR3411_94GetKlass(void) {
xmlSecTransformId
xmlSecTransformGostR3411_2012_256GetKlass(void) {
if((xmlSecCryptoDLGetFunctions() == NULL) || (xmlSecCryptoDLGetFunctions()->transformGostR3411_2012_256GetKlass == NULL)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "transformGostR3411_2012_256Id",
- XMLSEC_ERRORS_R_NOT_IMPLEMENTED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNotImplementedError("transformGostR3411_2012_256GetKlass");
return(xmlSecTransformIdUnknown);
}
@@ -1277,11 +1065,7 @@ xmlSecTransformGostR3411_2012_256GetKlass(void) {
xmlSecTransformId
xmlSecTransformGostR3411_2012_512GetKlass(void) {
if((xmlSecCryptoDLGetFunctions() == NULL) || (xmlSecCryptoDLGetFunctions()->transformGostR3411_2012_512GetKlass == NULL)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "transformGostR3411_2012_512Id",
- XMLSEC_ERRORS_R_NOT_IMPLEMENTED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNotImplementedError("transformGostR3411_2012_512GetKlass");
return(xmlSecTransformIdUnknown);
}
@@ -1299,11 +1083,7 @@ xmlSecTransformGostR3411_2012_512GetKlass(void) {
xmlSecTransformId
xmlSecTransformSha1GetKlass(void) {
if((xmlSecCryptoDLGetFunctions() == NULL) || (xmlSecCryptoDLGetFunctions()->transformSha1GetKlass == NULL)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "transformSha1Id",
- XMLSEC_ERRORS_R_NOT_IMPLEMENTED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNotImplementedError("transformSha1GetKlass");
return(xmlSecTransformIdUnknown);
}
@@ -1322,11 +1102,7 @@ xmlSecTransformSha1GetKlass(void) {
xmlSecTransformId
xmlSecTransformSha224GetKlass(void) {
if((xmlSecCryptoDLGetFunctions() == NULL) || (xmlSecCryptoDLGetFunctions()->transformSha224GetKlass == NULL)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "transformSha224Id",
- XMLSEC_ERRORS_R_NOT_IMPLEMENTED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNotImplementedError("transformSha224GetKlass");
return(xmlSecTransformIdUnknown);
}
@@ -1345,11 +1121,7 @@ xmlSecTransformSha224GetKlass(void) {
xmlSecTransformId
xmlSecTransformSha256GetKlass(void) {
if((xmlSecCryptoDLGetFunctions() == NULL) || (xmlSecCryptoDLGetFunctions()->transformSha256GetKlass == NULL)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "transformSha256Id",
- XMLSEC_ERRORS_R_NOT_IMPLEMENTED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNotImplementedError("transformSha256GetKlass");
return(xmlSecTransformIdUnknown);
}
@@ -1368,11 +1140,7 @@ xmlSecTransformSha256GetKlass(void) {
xmlSecTransformId
xmlSecTransformSha384GetKlass(void) {
if((xmlSecCryptoDLGetFunctions() == NULL) || (xmlSecCryptoDLGetFunctions()->transformSha384GetKlass == NULL)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "transformSha384Id",
- XMLSEC_ERRORS_R_NOT_IMPLEMENTED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNotImplementedError("transformSha384GetKlass");
return(xmlSecTransformIdUnknown);
}
@@ -1391,11 +1159,7 @@ xmlSecTransformSha384GetKlass(void) {
xmlSecTransformId
xmlSecTransformSha512GetKlass(void) {
if((xmlSecCryptoDLGetFunctions() == NULL) || (xmlSecCryptoDLGetFunctions()->transformSha512GetKlass == NULL)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "transformSha512Id",
- XMLSEC_ERRORS_R_NOT_IMPLEMENTED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNotImplementedError("transformSha512GetKlass");
return(xmlSecTransformIdUnknown);
}
@@ -1420,11 +1184,7 @@ xmlSecTransformSha512GetKlass(void) {
int
xmlSecCryptoAppInit(const char* config) {
if((xmlSecCryptoDLGetFunctions() == NULL) || (xmlSecCryptoDLGetFunctions()->cryptoAppInit == NULL)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "cryptoAppInit",
- XMLSEC_ERRORS_R_NOT_IMPLEMENTED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNotImplementedError("cryptoAppInit");
return(-1);
}
@@ -1444,11 +1204,7 @@ xmlSecCryptoAppInit(const char* config) {
int
xmlSecCryptoAppShutdown(void) {
if((xmlSecCryptoDLGetFunctions() == NULL) || (xmlSecCryptoDLGetFunctions()->cryptoAppShutdown == NULL)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "cryptoAppShutdown",
- XMLSEC_ERRORS_R_NOT_IMPLEMENTED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNotImplementedError("cryptoAppShutdown");
return(-1);
}
@@ -1467,11 +1223,7 @@ xmlSecCryptoAppShutdown(void) {
int
xmlSecCryptoAppDefaultKeysMngrInit(xmlSecKeysMngrPtr mngr) {
if((xmlSecCryptoDLGetFunctions() == NULL) || (xmlSecCryptoDLGetFunctions()->cryptoAppDefaultKeysMngrInit == NULL)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "cryptoAppDefaultKeysMngrInit",
- XMLSEC_ERRORS_R_NOT_IMPLEMENTED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNotImplementedError("cryptoAppDefaultKeysMngrInit");
return(-1);
}
@@ -1491,11 +1243,7 @@ xmlSecCryptoAppDefaultKeysMngrInit(xmlSecKeysMngrPtr mngr) {
int
xmlSecCryptoAppDefaultKeysMngrAdoptKey(xmlSecKeysMngrPtr mngr, xmlSecKeyPtr key) {
if((xmlSecCryptoDLGetFunctions() == NULL) || (xmlSecCryptoDLGetFunctions()->cryptoAppDefaultKeysMngrAdoptKey == NULL)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "cryptoAppDefaultKeysMngrAdoptKey",
- XMLSEC_ERRORS_R_NOT_IMPLEMENTED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNotImplementedError("cryptoAppDefaultKeysMngrAdoptKey");
return(-1);
}
@@ -1515,11 +1263,7 @@ xmlSecCryptoAppDefaultKeysMngrAdoptKey(xmlSecKeysMngrPtr mngr, xmlSecKeyPtr key)
int
xmlSecCryptoAppDefaultKeysMngrLoad(xmlSecKeysMngrPtr mngr, const char* uri) {
if((xmlSecCryptoDLGetFunctions() == NULL) || (xmlSecCryptoDLGetFunctions()->cryptoAppDefaultKeysMngrLoad == NULL)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "cryptoAppDefaultKeysMngrLoad",
- XMLSEC_ERRORS_R_NOT_IMPLEMENTED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNotImplementedError("cryptoAppDefaultKeysMngrLoad");
return(-1);
}
@@ -1540,11 +1284,7 @@ int
xmlSecCryptoAppDefaultKeysMngrSave(xmlSecKeysMngrPtr mngr, const char* filename,
xmlSecKeyDataType type) {
if((xmlSecCryptoDLGetFunctions() == NULL) || (xmlSecCryptoDLGetFunctions()->cryptoAppDefaultKeysMngrSave == NULL)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "cryptoAppDefaultKeysMngrSave",
- XMLSEC_ERRORS_R_NOT_IMPLEMENTED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNotImplementedError("cryptoAppDefaultKeysMngrSave");
return(-1);
}
@@ -1568,11 +1308,7 @@ int
xmlSecCryptoAppKeysMngrCertLoad(xmlSecKeysMngrPtr mngr, const char *filename,
xmlSecKeyDataFormat format, xmlSecKeyDataType type) {
if((xmlSecCryptoDLGetFunctions() == NULL) || (xmlSecCryptoDLGetFunctions()->cryptoAppKeysMngrCertLoad == NULL)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "cryptoAppKeysMngrCertLoad",
- XMLSEC_ERRORS_R_NOT_IMPLEMENTED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNotImplementedError("cryptoAppKeysMngrCertLoad");
return(-1);
}
@@ -1597,11 +1333,7 @@ xmlSecCryptoAppKeysMngrCertLoadMemory(xmlSecKeysMngrPtr mngr, const xmlSecByte*
xmlSecSize dataSize, xmlSecKeyDataFormat format,
xmlSecKeyDataType type) {
if((xmlSecCryptoDLGetFunctions() == NULL) || (xmlSecCryptoDLGetFunctions()->cryptoAppKeysMngrCertLoadMemory == NULL)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "cryptoAppKeysMngrCertLoadMemory",
- XMLSEC_ERRORS_R_NOT_IMPLEMENTED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNotImplementedError("cryptoAppKeysMngrCertLoadMemory");
return(-1);
}
@@ -1624,11 +1356,7 @@ xmlSecKeyPtr
xmlSecCryptoAppKeyLoad(const char *filename, xmlSecKeyDataFormat format,
const char *pwd, void* pwdCallback, void* pwdCallbackCtx) {
if((xmlSecCryptoDLGetFunctions() == NULL) || (xmlSecCryptoDLGetFunctions()->cryptoAppKeyLoad == NULL)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "cryptoAppKeyLoad",
- XMLSEC_ERRORS_R_NOT_IMPLEMENTED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNotImplementedError("cryptoAppKeyLoad");
return(NULL);
}
@@ -1652,11 +1380,7 @@ xmlSecKeyPtr
xmlSecCryptoAppKeyLoadMemory(const xmlSecByte* data, xmlSecSize dataSize, xmlSecKeyDataFormat format,
const char *pwd, void* pwdCallback, void* pwdCallbackCtx) {
if((xmlSecCryptoDLGetFunctions() == NULL) || (xmlSecCryptoDLGetFunctions()->cryptoAppKeyLoadMemory == NULL)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "cryptoAppKeyLoadMemory",
- XMLSEC_ERRORS_R_NOT_IMPLEMENTED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNotImplementedError("cryptoAppKeyLoadMemory");
return(NULL);
}
@@ -1680,11 +1404,7 @@ xmlSecKeyPtr
xmlSecCryptoAppPkcs12Load(const char* filename, const char* pwd, void* pwdCallback,
void* pwdCallbackCtx) {
if((xmlSecCryptoDLGetFunctions() == NULL) || (xmlSecCryptoDLGetFunctions()->cryptoAppPkcs12Load == NULL)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "cryptoAppPkcs12Load",
- XMLSEC_ERRORS_R_NOT_IMPLEMENTED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNotImplementedError("cryptoAppPkcs12Load");
return(NULL);
}
@@ -1710,11 +1430,7 @@ xmlSecCryptoAppPkcs12LoadMemory(const xmlSecByte* data, xmlSecSize dataSize,
const char *pwd, void* pwdCallback,
void* pwdCallbackCtx) {
if((xmlSecCryptoDLGetFunctions() == NULL) || (xmlSecCryptoDLGetFunctions()->cryptoAppPkcs12LoadMemory == NULL)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "cryptoAppPkcs12LoadMemory",
- XMLSEC_ERRORS_R_NOT_IMPLEMENTED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNotImplementedError("cryptoAppPkcs12LoadMemory");
return(NULL);
}
@@ -1734,11 +1450,7 @@ xmlSecCryptoAppPkcs12LoadMemory(const xmlSecByte* data, xmlSecSize dataSize,
int
xmlSecCryptoAppKeyCertLoad(xmlSecKeyPtr key, const char* filename, xmlSecKeyDataFormat format) {
if((xmlSecCryptoDLGetFunctions() == NULL) || (xmlSecCryptoDLGetFunctions()->cryptoAppKeyCertLoad == NULL)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "cryptoAppKeyCertLoad",
- XMLSEC_ERRORS_R_NOT_IMPLEMENTED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNotImplementedError("cryptoAppKeyCertLoad");
return(-1);
}
@@ -1760,11 +1472,7 @@ int
xmlSecCryptoAppKeyCertLoadMemory(xmlSecKeyPtr key, const xmlSecByte* data, xmlSecSize dataSize,
xmlSecKeyDataFormat format) {
if((xmlSecCryptoDLGetFunctions() == NULL) || (xmlSecCryptoDLGetFunctions()->cryptoAppKeyCertLoadMemory == NULL)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "cryptoAppKeyCertLoadMemory",
- XMLSEC_ERRORS_R_NOT_IMPLEMENTED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNotImplementedError("cryptoAppKeyCertLoadMemory");
return(-1);
}
@@ -1781,11 +1489,7 @@ xmlSecCryptoAppKeyCertLoadMemory(xmlSecKeyPtr key, const xmlSecByte* data, xmlSe
void*
xmlSecCryptoAppGetDefaultPwdCallback(void) {
if(xmlSecCryptoDLGetFunctions() == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- NULL,
- XMLSEC_ERRORS_R_NOT_IMPLEMENTED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNotImplementedError("cryptoAppDefaultPwdCallback");
return(NULL);
}
diff --git a/src/base64.c b/src/base64.c
index a78f816..b297713 100644
--- a/src/base64.c
+++ b/src/base64.c
@@ -1,4 +1,4 @@
-/**
+/*
* XML Security Library (http://www.aleksey.com/xmlsec).
*
* Base64 encode/decode transform and utility functions.
@@ -156,22 +156,13 @@ xmlSecBase64CtxCreate(int encode, int columns) {
*/
ctx = (xmlSecBase64CtxPtr) xmlMalloc(sizeof(xmlSecBase64Ctx));
if (ctx == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- NULL,
- XMLSEC_ERRORS_R_MALLOC_FAILED,
- "sizeof(xmlSecBase64Ctx)=%d",
- (int)sizeof(xmlSecBase64Ctx));
+ xmlSecMallocError(sizeof(xmlSecBase64Ctx), NULL);
return(NULL);
}
ret = xmlSecBase64CtxInitialize(ctx, encode, columns);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecBase64CtxInitialize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecBase64CtxInitialize", NULL);
xmlSecBase64CtxDestroy(ctx);
return(NULL);
}
@@ -254,22 +245,14 @@ xmlSecBase64CtxUpdate(xmlSecBase64CtxPtr ctx,
ret = xmlSecBase64CtxEncode(ctx, in, inSize, &inResSize,
out, outSize, &outResSize);
if((ret < 0) || (inResSize != inSize)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecBase64CtxEncode",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecBase64CtxEncode", NULL);
return(-1);
}
} else {
ret = xmlSecBase64CtxDecode(ctx, in, inSize, &inResSize,
out, outSize, &outResSize);
if((ret < 0) || (inResSize != inSize)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecBase64CtxDecode",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecBase64CtxDecode", NULL);
return(-1);
}
}
@@ -302,20 +285,12 @@ xmlSecBase64CtxFinal(xmlSecBase64CtxPtr ctx,
if(ctx->encode != 0) {
ret = xmlSecBase64CtxEncodeFinal(ctx, out, outSize, &outResSize);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecBase64CtxEncodeFinal",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "outSize=%d", outSize);
+ xmlSecInternalError2("xmlSecBase64CtxEncodeFinal", NULL, "outSize=%d", outSize);
return(-1);
}
} else {
if(!xmlSecBase64CtxDecodeIsFinished(ctx)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecBase64CtxIsFinished",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecBase64CtxIsFinished", NULL);
return(-1);
}
}
@@ -363,11 +338,7 @@ xmlSecBase64CtxEncodeByte(xmlSecBase64CtxPtr ctx, xmlSecByte inByte, xmlSecByte*
return(xmlSecBase64StatusConsumeAndNext);
}
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- NULL,
- XMLSEC_ERRORS_R_INVALID_DATA,
- "ctx->inPos=%d", ctx->inPos);
+ xmlSecInvalidIntegerDataError("ctx->inPos", ctx->inPos, "0,1,2,3", NULL);
return(xmlSecBase64StatusFailed);
}
@@ -397,11 +368,7 @@ xmlSecBase64CtxEncodeByteFinal(xmlSecBase64CtxPtr ctx, xmlSecByte* outByte) {
return(xmlSecBase64StatusConsumeAndRepeat);
}
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- NULL,
- XMLSEC_ERRORS_R_INVALID_DATA,
- "ctx->inPos=%d", ctx->inPos);
+ xmlSecInvalidIntegerDataError("ctx->inPos", ctx->inPos, "0,1,2,3", NULL);
return(xmlSecBase64StatusFailed);
}
@@ -414,35 +381,20 @@ xmlSecBase64CtxDecodeByte(xmlSecBase64CtxPtr ctx, xmlSecByte inByte, xmlSecByte*
return(xmlSecBase64StatusDone);
} if(inByte == '=') {
ctx->finished = 1;
- if(ctx->inPos < 2) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- NULL,
- XMLSEC_ERRORS_R_INVALID_DATA,
- "ctx->inPos=%d", ctx->inPos);
- return(xmlSecBase64StatusFailed);
- } else if(ctx->inPos == 2) {
+ if(ctx->inPos == 2) {
++ctx->inPos;
return(xmlSecBase64StatusNext);
} else if(ctx->inPos == 3) {
ctx->inPos = 0;
return(xmlSecBase64StatusNext);
} else {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- NULL,
- XMLSEC_ERRORS_R_INVALID_DATA,
- "ctx->inPos=%d", ctx->inPos);
+ xmlSecInvalidIntegerDataError("ctx->inPos", ctx->inPos, "2,3", NULL);
return(xmlSecBase64StatusFailed);
}
} else if(xmlSecIsBase64Space(inByte)) {
return(xmlSecBase64StatusNext);
} else if(!xmlSecIsBase64Char(inByte) || (ctx->finished != 0)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- NULL,
- XMLSEC_ERRORS_R_INVALID_DATA,
- "inByte=0x%02x", inByte);
+ xmlSecInvalidIntegerDataError("inByte", inByte, "base64 character", NULL);
return(xmlSecBase64StatusFailed);
}
@@ -464,27 +416,23 @@ xmlSecBase64CtxDecodeByte(xmlSecBase64CtxPtr ctx, xmlSecByte inByte, xmlSecByte*
++ctx->inPos;
return(xmlSecBase64StatusNext);
} else if(ctx->inPos == 1) {
- (*outByte) = xmlSecBase64Decode1(ctx->inByte, inByte);
+ (*outByte) = (xmlSecByte)xmlSecBase64Decode1(ctx->inByte, inByte);
ctx->inByte = inByte;
++ctx->inPos;
return(xmlSecBase64StatusConsumeAndNext);
} else if(ctx->inPos == 2) {
- (*outByte) = xmlSecBase64Decode2(ctx->inByte, inByte);
+ (*outByte) = (xmlSecByte)xmlSecBase64Decode2(ctx->inByte, inByte);
ctx->inByte = inByte;
++ctx->inPos;
return(xmlSecBase64StatusConsumeAndNext);
} else if(ctx->inPos == 3) {
- (*outByte) = xmlSecBase64Decode3(ctx->inByte, inByte);
+ (*outByte) = (xmlSecByte)xmlSecBase64Decode3(ctx->inByte, inByte);
ctx->inByte = 0;
ctx->inPos = 0;
return(xmlSecBase64StatusConsumeAndNext);
}
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- NULL,
- XMLSEC_ERRORS_R_INVALID_DATA,
- "ctx->inPos=%d", ctx->inPos);
+ xmlSecInvalidIntegerDataError("ctx->inPos", ctx->inPos, "0,1,2,3", NULL);
return(xmlSecBase64StatusFailed);
}
@@ -516,11 +464,7 @@ xmlSecBase64CtxEncode(xmlSecBase64CtxPtr ctx,
case xmlSecBase64StatusNext:
case xmlSecBase64StatusDone:
case xmlSecBase64StatusFailed:
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecBase64CtxEncodeByte",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "status=%d", status);
+ xmlSecInternalError2("xmlSecBase64CtxEncodeByte", NULL, "status=%d", status);
return(-1);
}
}
@@ -553,21 +497,13 @@ xmlSecBase64CtxEncodeFinal(xmlSecBase64CtxPtr ctx,
break;
case xmlSecBase64StatusNext:
case xmlSecBase64StatusFailed:
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecBase64CtxEncodeByteFinal",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "status=%d", status);
+ xmlSecInternalError2("xmlSecBase64CtxEncodeByteFinal", NULL, "status=%d", status);
return(-1);
}
}
if(status != xmlSecBase64StatusDone) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- NULL,
- XMLSEC_ERRORS_R_INVALID_SIZE,
- "outBufSize=%d", outBufSize);
+ xmlSecInvalidSizeOtherError("invalid base64 buffer size", NULL);
return(-1);
}
if(outPos < outBufSize) {
@@ -609,11 +545,7 @@ xmlSecBase64CtxDecode(xmlSecBase64CtxPtr ctx,
case xmlSecBase64StatusDone:
break;
case xmlSecBase64StatusFailed:
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecBase64CtxDecodeByte",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "status=%d", status);
+ xmlSecInternalError2("xmlSecBase64CtxDecodeByte", NULL, "status=%d", status);
return(-1);
}
}
@@ -662,11 +594,7 @@ xmlSecBase64Encode(const xmlSecByte *buf, xmlSecSize len, int columns) {
ret = xmlSecBase64CtxInitialize(&ctx, 1, columns);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecBase64CtxInitialize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecBase64CtxInitialize", NULL);
return(NULL);
}
@@ -677,22 +605,16 @@ xmlSecBase64Encode(const xmlSecByte *buf, xmlSecSize len, int columns) {
}
ptr = (xmlChar*) xmlMalloc(size);
if(ptr == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- NULL,
- XMLSEC_ERRORS_R_MALLOC_FAILED,
- "size=%d", size);
+ xmlSecMallocError(size, NULL);
xmlSecBase64CtxFinalize(&ctx);
return(NULL);
}
ret = xmlSecBase64CtxUpdate(&ctx, buf, len, (xmlSecByte*)ptr, size);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecBase64CtxUpdate",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "len=%d", len);
+ xmlSecInternalError3("xmlSecBase64CtxUpdate", NULL,
+ "len=%lu;size=%lu",
+ (unsigned long)len, (unsigned long)size);
xmlFree(ptr);
xmlSecBase64CtxFinalize(&ctx);
return(NULL);
@@ -701,11 +623,7 @@ xmlSecBase64Encode(const xmlSecByte *buf, xmlSecSize len, int columns) {
ret = xmlSecBase64CtxFinal(&ctx, ((xmlSecByte*)ptr) + size_update, size - size_update);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecBase64CtxFinal",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecBase64CtxFinal", NULL);
xmlFree(ptr);
xmlSecBase64CtxFinalize(&ctx);
return(NULL);
@@ -741,21 +659,13 @@ xmlSecBase64Decode(const xmlChar* str, xmlSecByte *buf, xmlSecSize len) {
ret = xmlSecBase64CtxInitialize(&ctx, 0, 0);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecBase64CtxInitialize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecBase64CtxInitialize", NULL);
return(-1);
}
ret = xmlSecBase64CtxUpdate(&ctx, (const xmlSecByte*)str, xmlStrlen(str), buf, len);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecBase64CtxUpdate",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecBase64CtxUpdate", NULL);
xmlSecBase64CtxFinalize(&ctx);
return(-1);
}
@@ -763,11 +673,7 @@ xmlSecBase64Decode(const xmlChar* str, xmlSecByte *buf, xmlSecSize len) {
size_update = ret;
ret = xmlSecBase64CtxFinal(&ctx, buf + size_update, len - size_update);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecBase64CtxFinal",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecBase64CtxFinal", NULL);
xmlSecBase64CtxFinalize(&ctx);
return(-1);
}
@@ -873,11 +779,8 @@ xmlSecBase64Initialize(xmlSecTransformPtr transform) {
transform->operation = xmlSecTransformOperationDecode;
ret = xmlSecBase64CtxInitialize(ctx, 0, xmlSecBase64GetDefaultLineSize());
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecBase64CtxInitialize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecBase64CtxInitialize",
+ xmlSecTransformGetName(transform));
return(-1);
}
@@ -933,11 +836,9 @@ xmlSecBase64Execute(xmlSecTransformPtr transform, int last, xmlSecTransformCtxPt
}
ret = xmlSecBufferSetMaxSize(out, outSize + outLen);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecBufferSetMaxSize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "size=%d", outSize + outLen);
+ xmlSecInternalError2("xmlSecBufferSetMaxSize",
+ xmlSecTransformGetName(transform),
+ "size=%d", outSize + outLen);
return(-1);
}
@@ -946,11 +847,8 @@ xmlSecBase64Execute(xmlSecTransformPtr transform, int last, xmlSecTransformCtxPt
xmlSecBufferGetData(out) + outSize,
outLen);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecBase64CtxUpdate",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecBase64CtxUpdate",
+ xmlSecTransformGetName(transform));
return(-1);
}
outLen = ret;
@@ -958,22 +856,18 @@ xmlSecBase64Execute(xmlSecTransformPtr transform, int last, xmlSecTransformCtxPt
/* set correct size */
ret = xmlSecBufferSetSize(out, outSize + outLen);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecBufferSetSize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "size=%d", outSize + outLen);
+ xmlSecInternalError2("xmlSecBufferSetSize",
+ xmlSecTransformGetName(transform),
+ "size=%d", outSize + outLen);
return(-1);
}
/* remove chunk from input */
ret = xmlSecBufferRemoveHead(in, inSize);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecBufferRemoveHead",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "size=%d", inSize);
+ xmlSecInternalError2("xmlSecBufferRemoveHead",
+ xmlSecTransformGetName(transform),
+ "size=%d", inSize);
return(-1);
}
}
@@ -983,22 +877,17 @@ xmlSecBase64Execute(xmlSecTransformPtr transform, int last, xmlSecTransformCtxPt
ret = xmlSecBufferSetMaxSize(out, outSize + 16);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecBufferSetMaxSize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "size=%d", outSize + 16);
+ xmlSecInternalError2("xmlSecBufferSetMaxSize",
+ xmlSecTransformGetName(transform),
+ "size=%d", outSize + 16);
return(-1);
}
/* add from ctx buffer */
ret = xmlSecBase64CtxFinal(ctx, xmlSecBufferGetData(out) + outSize, 16);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecBase64CtxFinal",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecBase64CtxFinal",
+ xmlSecTransformGetName(transform));
return(-1);
}
outLen = ret;
@@ -1006,11 +895,9 @@ xmlSecBase64Execute(xmlSecTransformPtr transform, int last, xmlSecTransformCtxPt
/* set correct size */
ret = xmlSecBufferSetSize(out, outSize + outLen);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecBufferSetSize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "size=%d", outSize + outLen);
+ xmlSecInternalError2("xmlSecBufferSetSize",
+ xmlSecTransformGetName(transform),
+ "size=%d", outSize + outLen);
return(-1);
}
transform->status = xmlSecTransformStatusFinished;
@@ -1021,11 +908,7 @@ xmlSecBase64Execute(xmlSecTransformPtr transform, int last, xmlSecTransformCtxPt
xmlSecAssert2(xmlSecBufferGetSize(in) == 0, -1);
break;
default:
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- NULL,
- XMLSEC_ERRORS_R_INVALID_STATUS,
- "status=%d", transform->status);
+ xmlSecInvalidTransfromStatusError(transform);
return(-1);
}
return(0);
diff --git a/src/bn.c b/src/bn.c
index b5333c9..2c56776 100644
--- a/src/bn.c
+++ b/src/bn.c
@@ -1,4 +1,4 @@
-/**
+/*
* XML Security Library (http://www.aleksey.com/xmlsec).
*
* Big Numbers.
@@ -197,23 +197,19 @@ xmlSecBnFromString(xmlSecBnPtr bn, const xmlChar* str, xmlSecSize base) {
*/
ret = xmlSecBufferSetMaxSize(bn, xmlSecBufferGetSize(bn) + len / 2 + 1 + 1);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecBnRevLookupTable",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "size=%d", len / 2 + 1);
+ xmlSecInternalError2("xmlSecBnRevLookupTable", NULL, "size=%d", len / 2 + 1);
return (-1);
}
/* figure out if it is positive or negative number */
- positive = 1;
+ positive = 1; /* no sign, positive by default */
i = 0;
while(i < len) {
ch = str[i++];
/* skip spaces */
if(isspace(ch)) {
- continue;
+ continue;
}
/* check if it is + or - */
@@ -225,64 +221,37 @@ xmlSecBnFromString(xmlSecBnPtr bn, const xmlChar* str, xmlSecSize base) {
break;
}
- /* otherwise, it must be start of the number */
- nn = xmlSecBnLookupTable[ch];
- if((nn >= 0) && ((xmlSecSize)nn < base)) {
- xmlSecAssert2(i > 0, -1);
-
- /* no sign, positive by default */
- positive = 1;
- --i; /* make sure that we will look at this character in next loop */
- break;
- } else {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- NULL,
- XMLSEC_ERRORS_R_INVALID_DATA,
- "char=%c;base=%d",
- ch, base);
- return (-1);
- }
+ /* otherwise, it must be start of the number, make sure that we will look
+ * at this character in next loop */
+ xmlSecAssert2(i > 0, -1);
+ --i;
+ break;
}
/* now parse the number itself */
while(i < len) {
ch = str[i++];
if(isspace(ch)) {
- continue;
+ continue;
}
- xmlSecAssert2(ch <= sizeof(xmlSecBnLookupTable), -1);
nn = xmlSecBnLookupTable[ch];
- if((nn < 0) || ((xmlSecSize)nn > base)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- NULL,
- XMLSEC_ERRORS_R_INVALID_DATA,
- "char=%c;base=%d",
- ch, base);
- return (-1);
+ if((nn < 0) || ((xmlSecSize)nn >= base)) {
+ xmlSecInvalidIntegerDataError2("char", nn, "base", base, "0 <= char < base", NULL);
+ return (-1);
}
ret = xmlSecBnMul(bn, base);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecBnMul",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "base=%d", base);
- return (-1);
+ xmlSecInternalError2("xmlSecBnMul", NULL, "base=%d", base);
+ return (-1);
}
ret = xmlSecBnAdd(bn, nn);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecBnAdd",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "base=%d", base);
- return (-1);
-}
+ xmlSecInternalError2("xmlSecBnAdd", NULL, "base=%d", base);
+ return (-1);
+ }
}
/* check if we need to add 00 prefix, do this for empty bn too */
@@ -292,11 +261,7 @@ xmlSecBnFromString(xmlSecBnPtr bn, const xmlChar* str, xmlSecSize base) {
ch = 0;
ret = xmlSecBufferPrepend(bn, &ch, 1);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecBufferPrepend",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "base=%d", base);
+ xmlSecInternalError2("xmlSecBufferPrepend", NULL, "base=%d", base);
return (-1);
}
}
@@ -311,11 +276,7 @@ xmlSecBnFromString(xmlSecBnPtr bn, const xmlChar* str, xmlSecSize base) {
ret = xmlSecBnAdd(bn, 1);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecBnAdd",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "base=%d", base);
+ xmlSecInternalError2("xmlSecBnAdd", NULL, "base=%d", base);
return (-1);
}
}
@@ -354,21 +315,13 @@ xmlSecBnToString(xmlSecBnPtr bn, xmlSecSize base) {
size = xmlSecBufferGetSize(bn);
ret = xmlSecBnInitialize(&bn2, size);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecBnCreate",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "size=%d", size);
+ xmlSecInternalError2("xmlSecBnCreate", NULL, "size=%d", size);
return (NULL);
}
ret = xmlSecBnSetData(&bn2, data, size);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecBnSetData",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "size=%d", size);
+ xmlSecInternalError2("xmlSecBnSetData", NULL, "size=%d", size);
xmlSecBnFinalize(&bn2);
return (NULL);
}
@@ -380,11 +333,7 @@ xmlSecBnToString(xmlSecBnPtr bn, xmlSecSize base) {
/* subtract 1 and do 2's compliment */
ret = xmlSecBnAdd(&bn2, -1);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecBnAdd",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "size=%d", size);
+ xmlSecInternalError2("xmlSecBnAdd", NULL, "size=%d", size);
xmlSecBnFinalize(&bn2);
return (NULL);
}
@@ -405,11 +354,7 @@ xmlSecBnToString(xmlSecBnPtr bn, xmlSecSize base) {
len = 8 * size + 1 + 1;
res = (xmlChar*)xmlMalloc(len + 1);
if(res == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- NULL,
- XMLSEC_ERRORS_R_MALLOC_FAILED,
- "len=%d", len);
+ xmlSecMallocError(len + 1, NULL);
xmlSecBnFinalize(&bn2);
return (NULL);
}
@@ -417,11 +362,7 @@ xmlSecBnToString(xmlSecBnPtr bn, xmlSecSize base) {
for(i = 0; (xmlSecBufferGetSize(&bn2) > 0) && (i < len); i++) {
if(xmlSecBnDiv(&bn2, base, &nn) < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecBnDiv",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "base=%d", base);
+ xmlSecInternalError2("xmlSecBnDiv", NULL, "base=%d", base);
xmlFree(res);
xmlSecBnFinalize(&bn2);
return (NULL);
@@ -549,11 +490,7 @@ xmlSecBnMul(xmlSecBnPtr bn, int multiplier) {
ret = xmlSecBufferPrepend(bn, &ch, 1);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecBufferPrepend",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "size=1");
+ xmlSecInternalError2("xmlSecBufferPrepend", NULL, "size=%d", 1);
return (-1);
}
}
@@ -592,7 +529,7 @@ xmlSecBnDiv(xmlSecBnPtr bn, int divider, int* mod) {
xmlSecAssert2(data != NULL, -1);
over = over * 256 + data[i];
- data[i] = over / divider;
+ data[i] = (xmlSecByte)(over / divider);
over = over % divider;
}
(*mod) = over;
@@ -608,11 +545,7 @@ xmlSecBnDiv(xmlSecBnPtr bn, int divider, int* mod) {
if(i > 0) {
ret = xmlSecBufferRemoveHead(bn, i);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecBufferRemoveHead",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "size=%d", i);
+ xmlSecInternalError2("xmlSecBufferRemoveHead", NULL, "size=%d", i);
return (-1);
}
}
@@ -659,11 +592,7 @@ xmlSecBnAdd(xmlSecBnPtr bn, int delta) {
ret = xmlSecBufferPrepend(bn, &ch, 1);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecBufferPrepend",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "size=1");
+ xmlSecInternalError2("xmlSecBufferPrepend", NULL, "size=%d", 1);
return (-1);
}
}
@@ -676,7 +605,7 @@ xmlSecBnAdd(xmlSecBnPtr bn, int delta) {
data[i] = 0;
over = (over - tmp) / 256;
} else {
- data[i] = tmp - over;
+ data[i] = (xmlSecByte)(tmp - over);
over = 0;
}
}
@@ -843,31 +772,19 @@ xmlSecBnGetNodeValue(xmlSecBnPtr bn, xmlNodePtr cur, xmlSecBnFormat format, int
case xmlSecBnBase64:
ret = xmlSecBufferBase64NodeContentRead(bn, cur);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecBufferBase64NodeContentRead",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecBufferBase64NodeContentRead", NULL);
return(-1);
}
break;
case xmlSecBnHex:
content = xmlNodeGetContent(cur);
if(content == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlNodeGetContent",
- XMLSEC_ERRORS_R_XML_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecXmlError("xmlNodeGetContent", NULL);
return(-1);
}
ret = xmlSecBnFromHexString(bn, content);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecBnFromHexString",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecBnFromHexString", NULL);
xmlFree(content);
return(-1);
}
@@ -876,20 +793,12 @@ xmlSecBnGetNodeValue(xmlSecBnPtr bn, xmlNodePtr cur, xmlSecBnFormat format, int
case xmlSecBnDec:
content = xmlNodeGetContent(cur);
if(content == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlNodeGetContent",
- XMLSEC_ERRORS_R_XML_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecXmlError("xmlNodeGetContent", NULL);
return(-1);
}
ret = xmlSecBnFromDecString(bn, content);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecBnFromDecString",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecBnFromDecString", NULL);
xmlFree(content);
return(-1);
}
@@ -900,11 +809,7 @@ xmlSecBnGetNodeValue(xmlSecBnPtr bn, xmlNodePtr cur, xmlSecBnFormat format, int
if(reverse != 0) {
ret = xmlSecBnReverse(bn);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecBnReverse",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecBnReverse", NULL);
return(-1);
}
}
@@ -934,11 +839,7 @@ xmlSecBnSetNodeValue(xmlSecBnPtr bn, xmlNodePtr cur, xmlSecBnFormat format, int
if(reverse != 0) {
ret = xmlSecBnReverse(bn);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecBnReverse",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecBnReverse", NULL);
return(-1);
}
}
@@ -951,22 +852,14 @@ xmlSecBnSetNodeValue(xmlSecBnPtr bn, xmlNodePtr cur, xmlSecBnFormat format, int
case xmlSecBnBase64:
ret = xmlSecBufferBase64NodeContentWrite(bn, cur, xmlSecBase64GetDefaultLineSize());
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecBufferBase64NodeContentWrite",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecBufferBase64NodeContentWrite", NULL);
return(-1);
}
break;
case xmlSecBnHex:
content = xmlSecBnToHexString(bn);
if(content == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecBnToHexString",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecBnToHexString", NULL);
xmlFree(content);
return(-1);
}
@@ -976,11 +869,7 @@ xmlSecBnSetNodeValue(xmlSecBnPtr bn, xmlNodePtr cur, xmlSecBnFormat format, int
case xmlSecBnDec:
content = xmlSecBnToDecString(bn);
if(content == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecBnToDecString",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecBnToDecString", NULL);
xmlFree(content);
return(-1);
}
@@ -1023,32 +912,20 @@ xmlSecBnBlobSetNodeValue(const xmlSecByte* data, xmlSecSize dataSize,
ret = xmlSecBnInitialize(&bn, dataSize);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecBnInitialize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecBnInitialize", NULL);
return(-1);
}
ret = xmlSecBnSetData(&bn, data, dataSize);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecBnSetData",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecBnSetData", NULL);
xmlSecBnFinalize(&bn);
return(-1);
}
ret = xmlSecBnSetNodeValue(&bn, cur, format, reverse, addLineBreaks);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecBnSetNodeValue",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecBnSetNodeValue", NULL);
xmlSecBnFinalize(&bn);
return(-1);
}
diff --git a/src/buffer.c b/src/buffer.c
index 55a95dd..473613a 100644
--- a/src/buffer.c
+++ b/src/buffer.c
@@ -1,4 +1,4 @@
-/**
+/*
* XML Security Library (http://www.aleksey.com/xmlsec).
*
* Memory buffer.
@@ -13,7 +13,6 @@
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
-#include <errno.h>
#include <libxml/tree.h>
@@ -63,21 +62,13 @@ xmlSecBufferCreate(xmlSecSize size) {
buf = (xmlSecBufferPtr)xmlMalloc(sizeof(xmlSecBuffer));
if(buf == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- NULL,
- XMLSEC_ERRORS_R_MALLOC_FAILED,
- "sizeof(xmlSecBuffer)=%d", (int)sizeof(xmlSecBuffer));
+ xmlSecMallocError(sizeof(xmlSecBuffer), NULL);
return(NULL);
}
ret = xmlSecBufferInitialize(buf, size);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecBufferInitialize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "size=%d", size);
+ xmlSecInternalError2("xmlSecBufferInitialize", NULL, "size=%d", size);
xmlSecBufferDestroy(buf);
return(NULL);
}
@@ -193,11 +184,7 @@ xmlSecBufferSetData(xmlSecBufferPtr buf, const xmlSecByte* data, xmlSecSize size
ret = xmlSecBufferSetMaxSize(buf, size);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecBufferSetMaxSize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "size=%d", size);
+ xmlSecInternalError2("xmlSecBufferSetMaxSize", NULL, "size=%d", size);
return(-1);
}
@@ -241,11 +228,7 @@ xmlSecBufferSetSize(xmlSecBufferPtr buf, xmlSecSize size) {
ret = xmlSecBufferSetMaxSize(buf, size);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecBufferSetMaxSize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "size=%d", size);
+ xmlSecInternalError2("xmlSecBufferSetMaxSize", NULL, "size=%d", size);
return(-1);
}
@@ -309,11 +292,7 @@ xmlSecBufferSetMaxSize(xmlSecBufferPtr buf, xmlSecSize size) {
newData = (xmlSecByte*)xmlMalloc(newSize);
}
if(newData == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- NULL,
- XMLSEC_ERRORS_R_MALLOC_FAILED,
- "size=%d", newSize);
+ xmlSecMallocError(newSize, NULL);
return(-1);
}
@@ -349,11 +328,7 @@ xmlSecBufferAppend(xmlSecBufferPtr buf, const xmlSecByte* data, xmlSecSize size)
ret = xmlSecBufferSetMaxSize(buf, buf->size + size);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecBufferSetMaxSize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "size=%d", buf->size + size);
+ xmlSecInternalError2("xmlSecBufferSetMaxSize", NULL, "size=%d", buf->size + size);
return(-1);
}
@@ -385,11 +360,7 @@ xmlSecBufferPrepend(xmlSecBufferPtr buf, const xmlSecByte* data, xmlSecSize size
ret = xmlSecBufferSetMaxSize(buf, buf->size + size);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecBufferSetMaxSize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "size=%d", buf->size + size);
+ xmlSecInternalError2("xmlSecBufferSetMaxSize", NULL, "size=%d", buf->size + size);
return(-1);
}
@@ -474,13 +445,7 @@ xmlSecBufferReadFile(xmlSecBufferPtr buf, const char* filename) {
f = fopen(filename, "rb");
if(f == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "fopen",
- XMLSEC_ERRORS_R_IO_FAILED,
- "filename=%s;errno=%d",
- xmlSecErrorsSafeString(filename),
- errno);
+ xmlSecIOError("fopen", filename, NULL);
return(-1);
}
@@ -489,25 +454,14 @@ xmlSecBufferReadFile(xmlSecBufferPtr buf, const char* filename) {
if(len == 0) {
break;
}else if(len < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "fread",
- XMLSEC_ERRORS_R_IO_FAILED,
- "filename=%s;errno=%d",
- xmlSecErrorsSafeString(filename),
- errno);
+ xmlSecIOError("fread", filename, NULL);
fclose(f);
return(-1);
}
ret = xmlSecBufferAppend(buf, buffer, len);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecBufferAppend",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "size=%d",
- len);
+ xmlSecInternalError2("xmlSecBufferAppend", NULL, "size=%d", len);
fclose(f);
return(-1);
}
@@ -538,33 +492,21 @@ xmlSecBufferBase64NodeContentRead(xmlSecBufferPtr buf, xmlNodePtr node) {
content = xmlNodeGetContent(node);
if(content == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- xmlSecErrorsSafeString(xmlSecNodeGetName(node)),
- XMLSEC_ERRORS_R_INVALID_NODE_CONTENT,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInvalidNodeContentError(node, NULL, "empty");
return(-1);
}
/* base64 decode size is less than input size */
ret = xmlSecBufferSetMaxSize(buf, xmlStrlen(content));
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecBufferSetMaxSize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecBufferSetMaxSize", NULL);
xmlFree(content);
return(-1);
}
ret = xmlSecBase64Decode(content, xmlSecBufferGetData(buf), xmlSecBufferGetMaxSize(buf));
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecBase64Decode",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecBase64Decode", NULL);
xmlFree(content);
return(-1);
}
@@ -572,11 +514,7 @@ xmlSecBufferBase64NodeContentRead(xmlSecBufferPtr buf, xmlNodePtr node) {
ret = xmlSecBufferSetSize(buf, size);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecBufferSetSize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "size=%d", size);
+ xmlSecInternalError2("xmlSecBufferSetSize", NULL, "size=%d", size);
xmlFree(content);
return(-1);
}
@@ -604,11 +542,7 @@ xmlSecBufferBase64NodeContentWrite(xmlSecBufferPtr buf, xmlNodePtr node, int col
content = xmlSecBase64Encode(xmlSecBufferGetData(buf), xmlSecBufferGetSize(buf), columns);
if(content == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecBase64Encode",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecBase64Encode", NULL);
return(-1);
}
xmlNodeAddContent(node, content);
@@ -654,11 +588,7 @@ xmlSecBufferIOWrite(xmlSecBufferPtr buf, const xmlSecByte *data, xmlSecSize size
ret = xmlSecBufferAppend(buf, data, size);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecBufferAppend",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "size=%d", size);
+ xmlSecInternalError2("xmlSecBufferAppend", NULL, "size=%d", size);
return(-1);
}
diff --git a/src/c14n.c b/src/c14n.c
index 59a7ddc..5e078d6 100644
--- a/src/c14n.c
+++ b/src/c14n.c
@@ -1,4 +1,4 @@
-/**
+/*
* XML Security Library (http://www.aleksey.com/xmlsec).
*
* Canonicalization transforms.
@@ -84,11 +84,8 @@ xmlSecTransformC14NInitialize(xmlSecTransformPtr transform) {
ret = xmlSecPtrListInitialize(nsList, xmlSecStringListId);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecPtrListInitialize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecPtrListInitialize",
+ xmlSecTransformGetName(transform));
return(-1);
}
return(0);
@@ -127,22 +124,16 @@ xmlSecTransformC14NNodeRead(xmlSecTransformPtr transform, xmlNodePtr node, xmlSe
cur = xmlSecGetNextElementNode(node->children);
if(cur != NULL) {
if(!xmlSecCheckNodeName(cur, xmlSecNodeInclusiveNamespaces, xmlSecNsExcC14N)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- xmlSecErrorsSafeString(xmlSecNodeGetName(cur)),
- XMLSEC_ERRORS_R_INVALID_NODE,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInvalidNodeError(cur, xmlSecNodeInclusiveNamespaces,
+ xmlSecTransformGetName(transform));
return(-1);
}
list = xmlGetProp(cur, xmlSecAttrPrefixList);
if(list == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- xmlSecErrorsSafeString(xmlSecAttrPrefixList),
- XMLSEC_ERRORS_R_INVALID_NODE_ATTRIBUTE,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeGetName(cur)));
+ xmlSecInvalidNodeAttributeError(cur, xmlSecAttrPrefixList,
+ xmlSecTransformGetName(transform),
+ "empty");
return(-1);
}
@@ -155,22 +146,15 @@ xmlSecTransformC14NNodeRead(xmlSecTransformPtr transform, xmlNodePtr node, xmlSe
tmp = xmlStrdup(p);
if(tmp == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- NULL,
- XMLSEC_ERRORS_R_STRDUP_FAILED,
- "len=%d", xmlStrlen(p));
+ xmlSecStrdupError(p, xmlSecTransformGetName(transform));
xmlFree(list);
return(-1);
}
ret = xmlSecPtrListAdd(nsList, tmp);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecPtrListAdd",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecPtrListAdd",
+ xmlSecTransformGetName(transform));
xmlFree(tmp);
xmlFree(list);
return(-1);
@@ -181,11 +165,8 @@ xmlSecTransformC14NNodeRead(xmlSecTransformPtr transform, xmlNodePtr node, xmlSe
/* add NULL at the end */
ret = xmlSecPtrListAdd(nsList, NULL);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecPtrListAdd",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecPtrListAdd",
+ xmlSecTransformGetName(transform));
return(-1);
}
@@ -194,11 +175,7 @@ xmlSecTransformC14NNodeRead(xmlSecTransformPtr transform, xmlNodePtr node, xmlSe
/* check that we have nothing else */
if(cur != NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- xmlSecErrorsSafeString(xmlSecNodeGetName(cur)),
- XMLSEC_ERRORS_R_UNEXPECTED_NODE,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecUnexpectedNodeError(cur, NULL);
return(-1);
}
@@ -226,11 +203,7 @@ xmlSecTransformC14NPushXml(xmlSecTransformPtr transform, xmlSecNodeSetPtr nodes,
case xmlSecTransformStatusFinished:
return(0);
default:
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- NULL,
- XMLSEC_ERRORS_R_INVALID_STATUS,
- "status=%d", transform->status);
+ xmlSecInvalidTransfromStatusError(transform);
return(-1);
}
xmlSecAssert2(transform->status == xmlSecTransformStatusWorking, -1);
@@ -239,21 +212,15 @@ xmlSecTransformC14NPushXml(xmlSecTransformPtr transform, xmlSecNodeSetPtr nodes,
if(transform->next != NULL) {
buf = xmlSecTransformCreateOutputBuffer(transform->next, transformCtx);
if(buf == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecTransformCreateOutputBuffer",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecTransformCreateOutputBuffer",
+ xmlSecTransformGetName(transform));
return(-1);
}
} else {
buf = xmlSecBufferCreateOutputBuffer(&(transform->outBuf));
if(buf == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecBufferCreateOutputBuffer",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecBufferCreateOutputBuffer",
+ xmlSecTransformGetName(transform));
return(-1);
}
}
@@ -265,22 +232,15 @@ xmlSecTransformC14NPushXml(xmlSecTransformPtr transform, xmlSecNodeSetPtr nodes,
ret = xmlSecTransformC14NExecute(transform->id, nodes, (xmlChar**)(nsList->data), buf);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecTransformC14NExecute",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecTransformC14NExecute",
+ xmlSecTransformGetName(transform));
xmlOutputBufferClose(buf);
return(-1);
}
ret = xmlOutputBufferClose(buf);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlOutputBufferClose",
- XMLSEC_ERRORS_R_XML_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecXmlError("xmlOutputBufferClose", xmlSecTransformGetName(transform));
return(-1);
}
transform->status = xmlSecTransformStatusFinished;
@@ -316,22 +276,16 @@ xmlSecTransformC14NPopBin(xmlSecTransformPtr transform, xmlSecByte* data,
/* get xml data from previous transform */
ret = xmlSecTransformPopXml(transform->prev, &(transform->inNodes), transformCtx);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecTransformPopXml",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecTransformPopXml",
+ xmlSecTransformGetName(transform));
return(-1);
}
/* dump everything to internal buffer */
buf = xmlSecBufferCreateOutputBuffer(out);
if(buf == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecBufferCreateOutputBuffer",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecBufferCreateOutputBuffer",
+ xmlSecTransformGetName(transform));
return(-1);
}
@@ -342,21 +296,14 @@ xmlSecTransformC14NPopBin(xmlSecTransformPtr transform, xmlSecByte* data,
ret = xmlSecTransformC14NExecute(transform->id, transform->inNodes, (xmlChar**)(nsList->data), buf);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecTransformC14NExecute",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecTransformC14NExecute",
+ xmlSecTransformGetName(transform));
xmlOutputBufferClose(buf);
return(-1);
}
ret = xmlOutputBufferClose(buf);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlOutputBufferClose",
- XMLSEC_ERRORS_R_XML_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecXmlError("xmlOutputBufferClose", xmlSecTransformGetName(transform));
return(-1);
}
transform->status = xmlSecTransformStatusWorking;
@@ -379,11 +326,9 @@ xmlSecTransformC14NPopBin(xmlSecTransformPtr transform, xmlSecByte* data,
memcpy(data, xmlSecBufferGetData(&(transform->outBuf)), outSize);
ret = xmlSecBufferRemoveHead(&(transform->outBuf), outSize);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecBufferRemoveHead",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "size=%d", outSize);
+ xmlSecInternalError2("xmlSecBufferRemoveHead",
+ xmlSecTransformGetName(transform),
+ "size=%d", outSize);
return(-1);
}
} else if(xmlSecBufferGetSize(out) == 0) {
@@ -395,11 +340,7 @@ xmlSecTransformC14NPopBin(xmlSecTransformPtr transform, xmlSecByte* data,
xmlSecAssert2(xmlSecBufferGetSize(out) == 0, -1);
(*dataSize) = 0;
} else {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- NULL,
- XMLSEC_ERRORS_R_INVALID_STATUS,
- "status=%d", transform->status);
+ xmlSecInvalidTransfromStatusError(transform);
return(-1);
}
@@ -445,20 +386,13 @@ xmlSecTransformC14NExecute(xmlSecTransformId id, xmlSecNodeSetPtr nodes, xmlChar
ret = xmlSecNodeSetDumpTextNodes(nodes, buf);
} else {
/* shoudn't be possible to come here, actually */
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformKlassGetName(id)),
- NULL,
- XMLSEC_ERRORS_R_INVALID_TRANSFORM,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOtherError(XMLSEC_ERRORS_R_INVALID_TRANSFORM,
+ xmlSecTransformKlassGetName(id), NULL);
return(-1);
}
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformKlassGetName(id)),
- "xmlC14NExecute",
- XMLSEC_ERRORS_R_XML_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecXmlError("xmlC14NExecute", xmlSecTransformKlassGetName(id));
return(-1);
}
diff --git a/src/dl.c b/src/dl.c
index 7ab84d7..95d74f3 100644
--- a/src/dl.c
+++ b/src/dl.c
@@ -1,4 +1,4 @@
-/**
+/*
* XML Security Library (http://www.aleksey.com/xmlsec).
*
*
@@ -98,44 +98,28 @@ xmlSecCryptoDLLibraryCreate(const xmlChar* name) {
/* Allocate a new xmlSecCryptoDLLibrary and fill the fields. */
lib = (xmlSecCryptoDLLibraryPtr)xmlMalloc(sizeof(xmlSecCryptoDLLibrary));
if(lib == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- NULL,
- XMLSEC_ERRORS_R_MALLOC_FAILED,
- "size=%d", (int)sizeof(lib));
+ xmlSecMallocError(sizeof(xmlSecCryptoDLLibrary), NULL);
return(NULL);
}
memset(lib, 0, sizeof(xmlSecCryptoDLLibrary));
lib->name = xmlStrdup(name);
if(lib->name == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- "xmlStrdup",
- NULL,
- XMLSEC_ERRORS_R_MALLOC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecStrdupError(name, NULL);
xmlSecCryptoDLLibraryDestroy(lib);
return(NULL);
}
lib->filename = xmlSecCryptoDLLibraryConstructFilename(name);
if(lib->filename == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- "xmlSecCryptoDLLibraryConstructFilename",
- NULL,
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecCryptoDLLibraryConstructFilename", NULL);
xmlSecCryptoDLLibraryDestroy(lib);
return(NULL);
}
lib->getFunctionsName = xmlSecCryptoDLLibraryConstructGetFunctionsName(name);
if(lib->getFunctionsName == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- "xmlSecCryptoDLLibraryConstructGetFunctionsName",
- NULL,
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecCryptoDLLibraryConstructGetFunctionsName", NULL);
xmlSecCryptoDLLibraryDestroy(lib);
return(NULL);
}
@@ -143,12 +127,7 @@ xmlSecCryptoDLLibraryCreate(const xmlChar* name) {
#ifdef XMLSEC_DL_LIBLTDL
lib->handle = lt_dlopenext((char*)lib->filename);
if(lib->handle == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- "lt_dlopenext",
- NULL,
- XMLSEC_ERRORS_R_IO_FAILED,
- "filename=%s",
- xmlSecErrorsSafeString(lib->filename));
+ xmlSecIOError("lt_dlopenext", lib->filename, NULL);
xmlSecCryptoDLLibraryDestroy(lib);
return(NULL);
}
@@ -157,12 +136,7 @@ xmlSecCryptoDLLibraryCreate(const xmlChar* name) {
lt_dlsym(lib->handle, (char*)lib->getFunctionsName)
);
if(getFunctions == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- "lt_dlsym",
- NULL,
- XMLSEC_ERRORS_R_IO_FAILED,
- "function=%s",
- xmlSecErrorsSafeString(lib->getFunctionsName));
+ xmlSecIOError("lt_dlsym", lib->getFunctionsName, NULL);
xmlSecCryptoDLLibraryDestroy(lib);
return(NULL);
}
@@ -171,12 +145,7 @@ xmlSecCryptoDLLibraryCreate(const xmlChar* name) {
#ifdef XMLSEC_DL_WIN32
lib->handle = LoadLibraryA((char*)lib->filename);
if(lib->handle == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- "LoadLibraryA",
- NULL,
- XMLSEC_ERRORS_R_IO_FAILED,
- "filename=%s",
- xmlSecErrorsSafeString(lib->filename));
+ xmlSecIOError("LoadLibraryA", lib->filename, NULL);
xmlSecCryptoDLLibraryDestroy(lib);
return(NULL);
}
@@ -188,34 +157,21 @@ xmlSecCryptoDLLibraryCreate(const xmlChar* name) {
)
);
if(getFunctions == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- "GetProcAddressA",
- NULL,
- XMLSEC_ERRORS_R_IO_FAILED,
- "function=%s",
- xmlSecErrorsSafeString(lib->getFunctionsName));
+ xmlSecIOError("GetProcAddressA", lib->getFunctionsName, NULL);
xmlSecCryptoDLLibraryDestroy(lib);
return(NULL);
}
#endif /* XMLSEC_DL_WIN32 */
if(getFunctions == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- NULL,
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "invalid configuration: no way to load library");
+ xmlSecInternalError("invalid configuration: no way to load library", NULL);
xmlSecCryptoDLLibraryDestroy(lib);
return(NULL);
}
lib->functions = getFunctions();
if(lib->functions == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- "getFunctions",
- NULL,
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("getFunctions", NULL);
xmlSecCryptoDLLibraryDestroy(lib);
return(NULL);
}
@@ -247,11 +203,7 @@ xmlSecCryptoDLLibraryDestroy(xmlSecCryptoDLLibraryPtr lib) {
ret = lt_dlclose(lib->handle);
if(ret != 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- "lt_dlclose",
- NULL,
- XMLSEC_ERRORS_R_IO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecIOError("lt_dlclose", NULL, NULL);
}
}
#endif /* XMLSEC_DL_LIBLTDL */
@@ -262,11 +214,7 @@ xmlSecCryptoDLLibraryDestroy(xmlSecCryptoDLLibraryPtr lib) {
res = FreeLibrary(lib->handle);
if(!res) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- "FreeLibrary",
- NULL,
- XMLSEC_ERRORS_R_IO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecIOError("FreeLibrary", NULL, NULL);
}
}
#endif /* XMLSEC_DL_WIN32*/
@@ -285,47 +233,53 @@ xmlSecCryptoDLLibraryDuplicate(xmlSecCryptoDLLibraryPtr lib) {
static xmlChar*
xmlSecCryptoDLLibraryConstructFilename(const xmlChar* name) {
- static xmlChar tmpl[] = "lib%s-%s";
+ static char tmpl[] = "lib%s-%s";
xmlChar* res;
int len;
+ int ret;
xmlSecAssert2(name != NULL, NULL);
/* TODO */
- len = xmlStrlen(BAD_CAST PACKAGE) + xmlStrlen(name) + xmlStrlen(tmpl) + 1;
+ len = xmlStrlen(BAD_CAST PACKAGE) + xmlStrlen(name) + strlen(tmpl) + 1;
res = (xmlChar*)xmlMalloc(len + 1);
if(res == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- NULL,
- XMLSEC_ERRORS_R_MALLOC_FAILED,
- "size=%d", len + 1);
+ xmlSecMallocError(len + 1, NULL);
+ return(NULL);
+ }
+
+ ret = xmlStrPrintf(res, len, tmpl, PACKAGE, name);
+ if(ret < 0) {
+ xmlSecXmlError("xmlStrPrintf", NULL);
+ xmlFree(res);
return(NULL);
}
- xmlSecStrPrintf(res, len, tmpl, PACKAGE, name);
return(res);
}
static xmlChar*
xmlSecCryptoDLLibraryConstructGetFunctionsName(const xmlChar* name) {
- static xmlChar tmpl[] = "xmlSecCryptoGetFunctions_%s";
+ static char tmpl[] = "xmlSecCryptoGetFunctions_%s";
xmlChar* res;
int len;
+ int ret;
xmlSecAssert2(name != NULL, NULL);
- len = xmlStrlen(name) + xmlStrlen(tmpl) + 1;
+ len = xmlStrlen(name) + strlen(tmpl) + 1;
res = (xmlChar*)xmlMalloc(len + 1);
if(res == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- NULL,
- XMLSEC_ERRORS_R_MALLOC_FAILED,
- "size=%d", len + 1);
+ xmlSecMallocError(len + 1, NULL);
+ return(NULL);
+ }
+
+ ret = xmlStrPrintf(res, len, tmpl, name);
+ if(ret < 0) {
+ xmlSecXmlError("xmlStrPrintf", NULL);
+ xmlFree(res);
return(NULL);
}
- xmlSecStrPrintf(res, len, tmpl, name);
return(res);
}
@@ -373,24 +327,18 @@ int
xmlSecCryptoDLInit(void) {
int ret;
- ret = xmlSecPtrListInitialize(&gXmlSecCryptoDLLibraries, xmlSecCryptoDLLibrariesListGetKlass());
+ ret = xmlSecPtrListInitialize(&gXmlSecCryptoDLLibraries,
+ xmlSecCryptoDLLibrariesListGetKlass());
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecPtrListPtrInitialize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "xmlSecCryptoDLLibrariesListGetKlass");
+ xmlSecInternalError("xmlSecPtrListPtrInitialize",
+ "xmlSecCryptoDLLibrariesListGetKlass");
return(-1);
}
#ifdef XMLSEC_DL_LIBLTDL
ret = lt_dlinit ();
if(ret != 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "lt_dlinit",
- XMLSEC_ERRORS_R_IO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecIOError("lt_dlinit", NULL, NULL);
return(-1);
}
#endif /* XMLSEC_DL_LIBLTDL */
@@ -416,11 +364,7 @@ xmlSecCryptoDLShutdown(void) {
#ifdef XMLSEC_DL_LIBLTDL
ret = lt_dlexit ();
if(ret != 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "lt_dlexit",
- XMLSEC_ERRORS_R_IO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecIOError("lt_dlexit", NULL, NULL);
}
#endif /* XMLSEC_DL_LIBLTDL */
@@ -446,21 +390,13 @@ xmlSecCryptoDLLoadLibrary(const xmlChar* crypto) {
/* if crypto is not specified, then used default */
functions = xmlSecCryptoDLGetLibraryFunctions((crypto != NULL ) ? crypto : xmlSecGetDefaultCrypto());
if(functions == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecCryptoDLGetLibraryFunctions",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecCryptoDLGetLibraryFunctions", NULL);
return(-1);
}
ret = xmlSecCryptoDLSetFunctions(functions);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecCryptoDLSetFunctions",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecCryptoDLSetFunctions", NULL);
return(-1);
}
@@ -496,23 +432,15 @@ xmlSecCryptoDLGetLibraryFunctions(const xmlChar* crypto) {
lib = xmlSecCryptoDLLibraryCreate(crypto);
if(lib == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecCryptoDLLibraryCreate",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "crypto=%s",
- xmlSecErrorsSafeString(crypto));
+ xmlSecInternalError2("xmlSecCryptoDLLibraryCreate", NULL,
+ "crypto=%s", xmlSecErrorsSafeString(crypto));
return(NULL);
}
ret = xmlSecPtrListAdd(&gXmlSecCryptoDLLibraries, lib);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecPtrListAdd",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "crypto=%s",
- xmlSecErrorsSafeString(crypto));
+ xmlSecInternalError2("xmlSecPtrListAdd", NULL,
+ "crypto=%s", xmlSecErrorsSafeString(crypto));
xmlSecCryptoDLLibraryDestroy(lib);
return(NULL);
}
@@ -552,11 +480,7 @@ xmlSecCryptoDLUnloadLibrary(const xmlChar* crypto) {
ret = xmlSecPtrListRemove(&gXmlSecCryptoDLLibraries, pos);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecPtrListRemove",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecPtrListRemove", NULL);
return(-1);
}
@@ -612,90 +536,57 @@ xmlSecCryptoDLFunctionsRegisterKeyDataAndTransforms(struct _xmlSecCryptoDLFuncti
*
****************************************************************************/
if((functions->keyDataAesGetKlass != NULL) && (xmlSecKeyDataIdsRegister(functions->keyDataAesGetKlass()) < 0)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(functions->keyDataAesGetKlass())),
- "xmlSecKeyDataIdsRegister",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeyDataIdsRegister",
+ xmlSecKeyDataKlassGetName(functions->keyDataAesGetKlass()));
return(-1);
}
if((functions->keyDataDesGetKlass != NULL) && (xmlSecKeyDataIdsRegister(functions->keyDataDesGetKlass()) < 0)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(functions->keyDataDesGetKlass())),
- "xmlSecKeyDataIdsRegister",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeyDataIdsRegister",
+ xmlSecKeyDataKlassGetName(functions->keyDataDesGetKlass()));
return(-1);
}
if((functions->keyDataDsaGetKlass != NULL) && (xmlSecKeyDataIdsRegister(functions->keyDataDsaGetKlass()) < 0)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(functions->keyDataDsaGetKlass())),
- "xmlSecKeyDataIdsRegister",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeyDataIdsRegister",
+ xmlSecKeyDataKlassGetName(functions->keyDataDsaGetKlass()));
return(-1);
}
if((functions->keyDataEcdsaGetKlass != NULL) && (xmlSecKeyDataIdsRegister(functions->keyDataEcdsaGetKlass()) < 0)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(functions->keyDataEcdsaGetKlass())),
- "xmlSecKeyDataIdsRegister",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeyDataIdsRegister",
+ xmlSecKeyDataKlassGetName(functions->keyDataEcdsaGetKlass()));
return(-1);
}
if((functions->keyDataGost2001GetKlass != NULL) && (xmlSecKeyDataIdsRegister(functions->keyDataGost2001GetKlass()) < 0)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(functions->keyDataGost2001GetKlass())),
- "xmlSecKeyDataIdsRegister",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeyDataIdsRegister",
+ xmlSecKeyDataKlassGetName(functions->keyDataGost2001GetKlass()));
return(-1);
}
if((functions->keyDataGostR3410_2012_256GetKlass != NULL) && (xmlSecKeyDataIdsRegister(functions->keyDataGostR3410_2012_256GetKlass()) < 0)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(functions->keyDataGostR3410_2012_256GetKlass())),
- "xmlSecKeyDataIdsRegister",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeyDataIdsRegister",
+ xmlSecKeyDataKlassGetName(functions->keyDataGostR3410_2012_256GetKlass()));
return(-1);
}
if((functions->keyDataGostR3410_2012_512GetKlass != NULL) && (xmlSecKeyDataIdsRegister(functions->keyDataGostR3410_2012_512GetKlass()) < 0)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(functions->keyDataGostR3410_2012_512GetKlass())),
- "xmlSecKeyDataIdsRegister",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeyDataIdsRegister",
+ xmlSecKeyDataKlassGetName(functions->keyDataGostR3410_2012_512GetKlass()));
return(-1);
} if((functions->keyDataHmacGetKlass != NULL) && (xmlSecKeyDataIdsRegister(functions->keyDataHmacGetKlass()) < 0)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(functions->keyDataHmacGetKlass())),
- "xmlSecKeyDataIdsRegister",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeyDataIdsRegister",
+ xmlSecKeyDataKlassGetName(functions->keyDataHmacGetKlass()));
return(-1);
}
if((functions->keyDataRsaGetKlass != NULL) && (xmlSecKeyDataIdsRegister(functions->keyDataRsaGetKlass()) < 0)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(functions->keyDataRsaGetKlass())),
- "xmlSecKeyDataIdsRegister",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeyDataIdsRegister",
+ xmlSecKeyDataKlassGetName(functions->keyDataRsaGetKlass()));
return(-1);
}
if((functions->keyDataX509GetKlass != NULL) && (xmlSecKeyDataIdsRegister(functions->keyDataX509GetKlass()) < 0)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(functions->keyDataX509GetKlass())),
- "xmlSecKeyDataIdsRegister",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeyDataIdsRegister",
+ xmlSecKeyDataKlassGetName(functions->keyDataX509GetKlass()));
return(-1);
}
if((functions->keyDataRawX509CertGetKlass != NULL) && (xmlSecKeyDataIdsRegister(functions->keyDataRawX509CertGetKlass()) < 0)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(functions->keyDataRawX509CertGetKlass())),
- "xmlSecKeyDataIdsRegister",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeyDataIdsRegister",
+ xmlSecKeyDataKlassGetName(functions->keyDataRawX509CertGetKlass()));
return(-1);
}
@@ -706,397 +597,265 @@ xmlSecCryptoDLFunctionsRegisterKeyDataAndTransforms(struct _xmlSecCryptoDLFuncti
*
****************************************************************************/
if((functions->transformAes128CbcGetKlass != NULL) && xmlSecTransformIdsRegister(functions->transformAes128CbcGetKlass()) < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformKlassGetName(functions->transformAes128CbcGetKlass())),
- "xmlSecTransformIdsRegister",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecTransformIdsRegister",
+ xmlSecTransformKlassGetName(functions->transformAes128CbcGetKlass()));
return(-1);
}
if((functions->transformAes192CbcGetKlass != NULL) && xmlSecTransformIdsRegister(functions->transformAes192CbcGetKlass()) < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformKlassGetName(functions->transformAes192CbcGetKlass())),
- "xmlSecTransformIdsRegister",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecTransformIdsRegister",
+ xmlSecTransformKlassGetName(functions->transformAes192CbcGetKlass()));
return(-1);
}
if((functions->transformAes256CbcGetKlass != NULL) && xmlSecTransformIdsRegister(functions->transformAes256CbcGetKlass()) < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformKlassGetName(functions->transformAes256CbcGetKlass())),
- "xmlSecTransformIdsRegister",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecTransformIdsRegister",
+ xmlSecTransformKlassGetName(functions->transformAes256CbcGetKlass()));
return(-1);
}
if((functions->transformKWAes128GetKlass != NULL) && xmlSecTransformIdsRegister(functions->transformKWAes128GetKlass()) < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformKlassGetName(functions->transformKWAes128GetKlass())),
- "xmlSecTransformIdsRegister",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecTransformIdsRegister",
+ xmlSecTransformKlassGetName(functions->transformKWAes128GetKlass()));
return(-1);
}
if((functions->transformKWAes192GetKlass != NULL) && xmlSecTransformIdsRegister(functions->transformKWAes192GetKlass()) < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformKlassGetName(functions->transformKWAes192GetKlass())),
- "xmlSecTransformIdsRegister",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecTransformIdsRegister",
+ xmlSecTransformKlassGetName(functions->transformKWAes192GetKlass()));
return(-1);
}
if((functions->transformKWAes256GetKlass != NULL) && xmlSecTransformIdsRegister(functions->transformKWAes256GetKlass()) < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformKlassGetName(functions->transformKWAes256GetKlass())),
- "xmlSecTransformIdsRegister",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecTransformIdsRegister",
+ xmlSecTransformKlassGetName(functions->transformKWAes256GetKlass()));
return(-1);
}
if((functions->transformDes3CbcGetKlass != NULL) && xmlSecTransformIdsRegister(functions->transformDes3CbcGetKlass()) < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformKlassGetName(functions->transformDes3CbcGetKlass())),
- "xmlSecTransformIdsRegister",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecTransformIdsRegister",
+ xmlSecTransformKlassGetName(functions->transformDes3CbcGetKlass()));
return(-1);
}
if((functions->transformKWDes3GetKlass != NULL) && xmlSecTransformIdsRegister(functions->transformKWDes3GetKlass()) < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformKlassGetName(functions->transformKWDes3GetKlass())),
- "xmlSecTransformIdsRegister",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecTransformIdsRegister",
+ xmlSecTransformKlassGetName(functions->transformKWDes3GetKlass()));
return(-1);
}
if((functions->transformGost2001GostR3411_94GetKlass != NULL) && xmlSecTransformIdsRegister(functions->transformGost2001GostR3411_94GetKlass()) < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformKlassGetName(functions->transformGost2001GostR3411_94GetKlass())),
- "xmlSecTransformIdsRegister",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecTransformIdsRegister",
+ xmlSecTransformKlassGetName(functions->transformGost2001GostR3411_94GetKlass()));
return(-1);
}
if((functions->transformGostR3410_2012GostR3411_2012_256GetKlass != NULL) && xmlSecTransformIdsRegister(functions->transformGostR3410_2012GostR3411_2012_256GetKlass()) < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformKlassGetName(functions->transformGostR3410_2012GostR3411_2012_256GetKlass())),
- "xmlSecTransformIdsRegister",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecTransformIdsRegister",
+ xmlSecTransformKlassGetName(functions->transformGostR3410_2012GostR3411_2012_256GetKlass()));
return(-1);
}
if((functions->transformGostR3410_2012GostR3411_2012_512GetKlass != NULL) && xmlSecTransformIdsRegister(functions->transformGostR3410_2012GostR3411_2012_512GetKlass()) < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformKlassGetName(functions->transformGostR3410_2012GostR3411_2012_512GetKlass())),
- "xmlSecTransformIdsRegister",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecTransformIdsRegister",
+ xmlSecTransformKlassGetName(functions->transformGostR3410_2012GostR3411_2012_512GetKlass()));
return(-1);
}
if((functions->transformDsaSha1GetKlass != NULL) && xmlSecTransformIdsRegister(functions->transformDsaSha1GetKlass()) < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformKlassGetName(functions->transformDsaSha1GetKlass())),
- "xmlSecTransformIdsRegister",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecTransformIdsRegister",
+ xmlSecTransformKlassGetName(functions->transformDsaSha1GetKlass()));
return(-1);
}
if((functions->transformDsaSha256GetKlass != NULL) && xmlSecTransformIdsRegister(functions->transformDsaSha256GetKlass()) < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformKlassGetName(functions->transformDsaSha256GetKlass())),
- "xmlSecTransformIdsRegister",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecTransformIdsRegister",
+ xmlSecTransformKlassGetName(functions->transformDsaSha256GetKlass()));
return(-1);
}
if((functions->transformEcdsaSha1GetKlass != NULL) && xmlSecTransformIdsRegister(functions->transformEcdsaSha1GetKlass()) < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformKlassGetName(functions->transformEcdsaSha1GetKlass())),
- "xmlSecTransformIdsRegister",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecTransformIdsRegister",
+ xmlSecTransformKlassGetName(functions->transformEcdsaSha1GetKlass()));
return(-1);
}
if((functions->transformEcdsaSha224GetKlass != NULL) && xmlSecTransformIdsRegister(functions->transformEcdsaSha224GetKlass()) < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformKlassGetName(functions->transformEcdsaSha224GetKlass())),
- "xmlSecTransformIdsRegister",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecTransformIdsRegister",
+ xmlSecTransformKlassGetName(functions->transformEcdsaSha224GetKlass()));
return(-1);
}
if((functions->transformEcdsaSha256GetKlass != NULL) && xmlSecTransformIdsRegister(functions->transformEcdsaSha256GetKlass()) < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformKlassGetName(functions->transformEcdsaSha256GetKlass())),
- "xmlSecTransformIdsRegister",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecTransformIdsRegister",
+ xmlSecTransformKlassGetName(functions->transformEcdsaSha256GetKlass()));
return(-1);
}
if((functions->transformEcdsaSha384GetKlass != NULL) && xmlSecTransformIdsRegister(functions->transformEcdsaSha384GetKlass()) < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformKlassGetName(functions->transformEcdsaSha384GetKlass())),
- "xmlSecTransformIdsRegister",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecTransformIdsRegister",
+ xmlSecTransformKlassGetName(functions->transformEcdsaSha384GetKlass()));
return(-1);
}
if((functions->transformEcdsaSha512GetKlass != NULL) && xmlSecTransformIdsRegister(functions->transformEcdsaSha512GetKlass()) < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformKlassGetName(functions->transformEcdsaSha512GetKlass())),
- "xmlSecTransformIdsRegister",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecTransformIdsRegister",
+ xmlSecTransformKlassGetName(functions->transformEcdsaSha512GetKlass()));
return(-1);
}
if((functions->transformHmacMd5GetKlass != NULL) && xmlSecTransformIdsRegister(functions->transformHmacMd5GetKlass()) < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformKlassGetName(functions->transformHmacMd5GetKlass())),
- "xmlSecTransformIdsRegister",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecTransformIdsRegister",
+ xmlSecTransformKlassGetName(functions->transformHmacMd5GetKlass()));
return(-1);
}
if((functions->transformHmacRipemd160GetKlass != NULL) && xmlSecTransformIdsRegister(functions->transformHmacRipemd160GetKlass()) < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformKlassGetName(functions->transformHmacRipemd160GetKlass())),
- "xmlSecTransformIdsRegister",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecTransformIdsRegister",
+ xmlSecTransformKlassGetName(functions->transformHmacRipemd160GetKlass()));
return(-1);
}
if((functions->transformHmacSha1GetKlass != NULL) && xmlSecTransformIdsRegister(functions->transformHmacSha1GetKlass()) < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformKlassGetName(functions->transformHmacSha1GetKlass())),
- "xmlSecTransformIdsRegister",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecTransformIdsRegister",
+ xmlSecTransformKlassGetName(functions->transformHmacSha1GetKlass()));
return(-1);
}
if((functions->transformHmacSha224GetKlass != NULL) && xmlSecTransformIdsRegister(functions->transformHmacSha224GetKlass()) < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformKlassGetName(functions->transformHmacSha224GetKlass())),
- "xmlSecTransformIdsRegister",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecTransformIdsRegister",
+ xmlSecTransformKlassGetName(functions->transformHmacSha224GetKlass()));
return(-1);
}
if((functions->transformHmacSha256GetKlass != NULL) && xmlSecTransformIdsRegister(functions->transformHmacSha256GetKlass()) < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformKlassGetName(functions->transformHmacSha256GetKlass())),
- "xmlSecTransformIdsRegister",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecTransformIdsRegister",
+ xmlSecTransformKlassGetName(functions->transformHmacSha256GetKlass()));
return(-1);
}
if((functions->transformHmacSha384GetKlass != NULL) && xmlSecTransformIdsRegister(functions->transformHmacSha384GetKlass()) < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformKlassGetName(functions->transformHmacSha384GetKlass())),
- "xmlSecTransformIdsRegister",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecTransformIdsRegister",
+ xmlSecTransformKlassGetName(functions->transformHmacSha384GetKlass()));
return(-1);
}
if((functions->transformHmacSha512GetKlass != NULL) && xmlSecTransformIdsRegister(functions->transformHmacSha512GetKlass()) < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformKlassGetName(functions->transformHmacSha512GetKlass())),
- "xmlSecTransformIdsRegister",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecTransformIdsRegister",
+ xmlSecTransformKlassGetName(functions->transformHmacSha512GetKlass()));
return(-1);
}
if((functions->transformMd5GetKlass != NULL) && xmlSecTransformIdsRegister(functions->transformMd5GetKlass()) < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformKlassGetName(functions->transformMd5GetKlass())),
- "xmlSecTransformIdsRegister",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecTransformIdsRegister",
+ xmlSecTransformKlassGetName(functions->transformMd5GetKlass()));
return(-1);
}
if((functions->transformRipemd160GetKlass != NULL) && xmlSecTransformIdsRegister(functions->transformRipemd160GetKlass()) < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformKlassGetName(functions->transformRipemd160GetKlass())),
- "xmlSecTransformIdsRegister",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecTransformIdsRegister",
+ xmlSecTransformKlassGetName(functions->transformRipemd160GetKlass()));
return(-1);
}
if((functions->transformRsaMd5GetKlass != NULL) && xmlSecTransformIdsRegister(functions->transformRsaMd5GetKlass()) < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformKlassGetName(functions->transformRsaMd5GetKlass())),
- "xmlSecTransformIdsRegister",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecTransformIdsRegister",
+ xmlSecTransformKlassGetName(functions->transformRsaMd5GetKlass()));
return(-1);
}
if((functions->transformRsaRipemd160GetKlass != NULL) && xmlSecTransformIdsRegister(functions->transformRsaRipemd160GetKlass()) < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformKlassGetName(functions->transformRsaRipemd160GetKlass())),
- "xmlSecTransformIdsRegister",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecTransformIdsRegister",
+ xmlSecTransformKlassGetName(functions->transformRsaRipemd160GetKlass()));
return(-1);
}
if((functions->transformRsaSha1GetKlass != NULL) && xmlSecTransformIdsRegister(functions->transformRsaSha1GetKlass()) < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformKlassGetName(functions->transformRsaSha1GetKlass())),
- "xmlSecTransformIdsRegister",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecTransformIdsRegister",
+ xmlSecTransformKlassGetName(functions->transformRsaSha1GetKlass()));
return(-1);
}
if((functions->transformRsaSha224GetKlass != NULL) && xmlSecTransformIdsRegister(functions->transformRsaSha224GetKlass()) < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformKlassGetName(functions->transformRsaSha224GetKlass())),
- "xmlSecTransformIdsRegister",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecTransformIdsRegister",
+ xmlSecTransformKlassGetName(functions->transformRsaSha224GetKlass()));
return(-1);
}
if((functions->transformRsaSha256GetKlass != NULL) && xmlSecTransformIdsRegister(functions->transformRsaSha256GetKlass()) < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformKlassGetName(functions->transformRsaSha256GetKlass())),
- "xmlSecTransformIdsRegister",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecTransformIdsRegister",
+ xmlSecTransformKlassGetName(functions->transformRsaSha256GetKlass()));
return(-1);
}
if((functions->transformRsaSha384GetKlass != NULL) && xmlSecTransformIdsRegister(functions->transformRsaSha384GetKlass()) < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformKlassGetName(functions->transformRsaSha384GetKlass())),
- "xmlSecTransformIdsRegister",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecTransformIdsRegister",
+ xmlSecTransformKlassGetName(functions->transformRsaSha384GetKlass()));
return(-1);
}
if((functions->transformRsaSha512GetKlass != NULL) && xmlSecTransformIdsRegister(functions->transformRsaSha512GetKlass()) < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformKlassGetName(functions->transformRsaSha512GetKlass())),
- "xmlSecTransformIdsRegister",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecTransformIdsRegister",
+ xmlSecTransformKlassGetName(functions->transformRsaSha512GetKlass()));
return(-1);
}
if((functions->transformRsaPkcs1GetKlass != NULL) && xmlSecTransformIdsRegister(functions->transformRsaPkcs1GetKlass()) < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformKlassGetName(functions->transformRsaPkcs1GetKlass())),
- "xmlSecTransformIdsRegister",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecTransformIdsRegister",
+ xmlSecTransformKlassGetName(functions->transformRsaPkcs1GetKlass()));
return(-1);
}
if((functions->transformRsaOaepGetKlass != NULL) && xmlSecTransformIdsRegister(functions->transformRsaOaepGetKlass()) < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformKlassGetName(functions->transformRsaOaepGetKlass())),
- "xmlSecTransformIdsRegister",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecTransformIdsRegister",
+ xmlSecTransformKlassGetName(functions->transformRsaOaepGetKlass()));
return(-1);
}
if((functions->transformGostR3411_94GetKlass != NULL) && xmlSecTransformIdsRegister(functions->transformGostR3411_94GetKlass()) < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformKlassGetName(functions->transformGostR3411_94GetKlass())),
- "xmlSecTransformIdsRegister",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecTransformIdsRegister",
+ xmlSecTransformKlassGetName(functions->transformGostR3411_94GetKlass()));
return(-1);
}
if((functions->transformGostR3411_2012_256GetKlass != NULL) && xmlSecTransformIdsRegister(functions->transformGostR3411_2012_256GetKlass()) < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformKlassGetName(functions->transformGostR3411_2012_256GetKlass())),
- "xmlSecTransformIdsRegister",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecTransformIdsRegister",
+ xmlSecTransformKlassGetName(functions->transformGostR3411_2012_256GetKlass()));
return(-1);
}
if((functions->transformGostR3411_2012_512GetKlass != NULL) && xmlSecTransformIdsRegister(functions->transformGostR3411_2012_512GetKlass()) < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformKlassGetName(functions->transformGostR3411_2012_512GetKlass())),
- "xmlSecTransformIdsRegister",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecTransformIdsRegister",
+ xmlSecTransformKlassGetName(functions->transformGostR3411_2012_512GetKlass()));
return(-1);
}
if((functions->transformSha1GetKlass != NULL) && xmlSecTransformIdsRegister(functions->transformSha1GetKlass()) < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformKlassGetName(functions->transformSha1GetKlass())),
- "xmlSecTransformIdsRegister",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecTransformIdsRegister",
+ xmlSecTransformKlassGetName(functions->transformSha1GetKlass()));
return(-1);
}
if((functions->transformSha224GetKlass != NULL) && xmlSecTransformIdsRegister(functions->transformSha224GetKlass()) < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformKlassGetName(functions->transformSha224GetKlass())),
- "xmlSecTransformIdsRegister",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecTransformIdsRegister",
+ xmlSecTransformKlassGetName(functions->transformSha224GetKlass()));
return(-1);
}
if((functions->transformSha256GetKlass != NULL) && xmlSecTransformIdsRegister(functions->transformSha256GetKlass()) < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformKlassGetName(functions->transformSha256GetKlass())),
- "xmlSecTransformIdsRegister",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecTransformIdsRegister",
+ xmlSecTransformKlassGetName(functions->transformSha256GetKlass()));
return(-1);
}
if((functions->transformSha384GetKlass != NULL) && xmlSecTransformIdsRegister(functions->transformSha384GetKlass()) < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformKlassGetName(functions->transformSha384GetKlass())),
- "xmlSecTransformIdsRegister",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecTransformIdsRegister",
+ xmlSecTransformKlassGetName(functions->transformSha384GetKlass()));
return(-1);
}
if((functions->transformSha512GetKlass != NULL) && xmlSecTransformIdsRegister(functions->transformSha512GetKlass()) < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformKlassGetName(functions->transformSha512GetKlass())),
- "xmlSecTransformIdsRegister",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecTransformIdsRegister",
+ xmlSecTransformKlassGetName(functions->transformSha512GetKlass()));
return(-1);
}
diff --git a/src/enveloped.c b/src/enveloped.c
index ae11c16..d871cd1 100644
--- a/src/enveloped.c
+++ b/src/enveloped.c
@@ -1,4 +1,4 @@
-/**
+/*
* XML Security Library (http://www.aleksey.com/xmlsec).
*
* Enveloped transform.
@@ -106,44 +106,35 @@ xmlSecTransformEnvelopedExecute(xmlSecTransformPtr transform, int last,
xmlSecAssert2(transformCtx != NULL, -1);
if((transform->inNodes != NULL) && (transform->inNodes->doc != transform->hereNode->doc)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- NULL,
- XMLSEC_ERRORS_R_TRANSFORM_SAME_DOCUMENT_REQUIRED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOtherError(XMLSEC_ERRORS_R_TRANSFORM_SAME_DOCUMENT_REQUIRED,
+ xmlSecTransformGetName(transform),
+ NULL);
return(-1);
}
/* find signature node and get all its children in the nodes set */
node = xmlSecFindParent(transform->hereNode, xmlSecNodeSignature, xmlSecDSigNs);
if(node == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- xmlSecErrorsSafeString(xmlSecNodeSignature),
- XMLSEC_ERRORS_R_NODE_NOT_FOUND,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNodeNotFoundError("xmlSecFindParent", transform->hereNode,
+ xmlSecNodeSignature,
+ xmlSecTransformGetName(transform));
return(-1);
}
children = xmlSecNodeSetGetChildren(node->doc, node, 1, 1);
if(children == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecNodeSetGetChildren",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeGetName(node)));
+ xmlSecInternalError2("xmlSecNodeSetGetChildren",
+ xmlSecTransformGetName(transform),
+ "node=%s",
+ xmlSecErrorsSafeString(xmlSecNodeGetName(node)));
return(-1);
}
/* intersect <dsig:Signature/> node children with input nodes (if exist) */
transform->outNodes = xmlSecNodeSetAdd(transform->inNodes, children, xmlSecNodeSetIntersection);
if(transform->outNodes == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecNodeSetAdd",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecNodeSetAdd",
+ xmlSecTransformGetName(transform));
xmlSecNodeSetDestroy(children);
return(-1);
}
diff --git a/src/errors.c b/src/errors.c
index 2ff1f42..a8fffd2 100644
--- a/src/errors.c
+++ b/src/errors.c
@@ -1,4 +1,4 @@
-/**
+/*
* XML Security Library (http://www.aleksey.com/xmlsec).
*
* Error codes and error reporting functions.
@@ -14,6 +14,7 @@
#include <stdio.h>
#include <stdarg.h>
#include <time.h>
+#include <string.h>
#include <libxml/tree.h>
@@ -22,8 +23,12 @@
#include <xmlsec/private.h>
#include <xmlsec/errors.h>
+/* Must be bigger than fatal_error */
#define XMLSEC_ERRORS_BUFFER_SIZE 1024
+/* Must fit into xmlChar[XMLSEC_ERRORS_BUFFER_SIZE] */
+static const xmlChar fatal_error[] = "Can not format error message";
+
typedef struct _xmlSecErrorDescription xmlSecErrorDescription, *xmlSecErrorDescriptionPtr;
struct _xmlSecErrorDescription {
int errorCode;
@@ -40,6 +45,7 @@ static xmlSecErrorDescription xmlSecErrorsTable[XMLSEC_ERRORS_MAX_NUMBER + 1] =
{ XMLSEC_ERRORS_R_IO_FAILED, "io function failed" },
{ XMLSEC_ERRORS_R_DISABLED, "feature is disabled" },
{ XMLSEC_ERRORS_R_NOT_IMPLEMENTED, "feature is not implemented" },
+ { XMLSEC_ERRORS_R_INVALID_CONFIG, "invalid configuration" },
{ XMLSEC_ERRORS_R_INVALID_SIZE, "invalid size" },
{ XMLSEC_ERRORS_R_INVALID_DATA, "invalid data" },
{ XMLSEC_ERRORS_R_INVALID_RESULT, "invalid result" },
@@ -48,6 +54,7 @@ static xmlSecErrorDescription xmlSecErrorsTable[XMLSEC_ERRORS_MAX_NUMBER + 1] =
{ XMLSEC_ERRORS_R_INVALID_STATUS, "invalid status" },
{ XMLSEC_ERRORS_R_INVALID_FORMAT, "invalid format" },
{ XMLSEC_ERRORS_R_DATA_NOT_MATCH, "data do not match" },
+ { XMLSEC_ERRORS_R_INVALID_VERSION, "invalid version" },
{ XMLSEC_ERRORS_R_INVALID_NODE, "invalid node" },
{ XMLSEC_ERRORS_R_INVALID_NODE_CONTENT, "invalid node content" },
{ XMLSEC_ERRORS_R_INVALID_NODE_ATTRIBUTE, "invalid node attribute" },
@@ -209,8 +216,8 @@ xmlSecErrorsGetMsg(xmlSecSize pos) {
* @file: the error location filename (__FILE__).
* @line: the error location line number (__LINE__).
* @func: the error location function (__FUNCTIION__).
- * @errorObject: the error specific error object
- * @errorSubject: the error specific error subject.
+ * @errorObject: the error specific error object (e.g. transform, key data, etc).
+ * @errorSubject: the error specific error subject (e.g. failed function name).
* @reason: the error code.
* @msg: the error message in printf format.
* @...: the parameters for the @msg.
@@ -223,16 +230,20 @@ void
xmlSecError(const char* file, int line, const char* func,
const char* errorObject, const char* errorSubject,
int reason, const char* msg, ...) {
-
if(xmlSecErrorsClbk != NULL) {
xmlChar error_msg[XMLSEC_ERRORS_BUFFER_SIZE];
+ int ret;
if(msg != NULL) {
va_list va;
va_start(va, msg);
- xmlSecStrVPrintf(error_msg, sizeof(error_msg), BAD_CAST msg, va);
- error_msg[sizeof(error_msg) - 1] = '\0';
+ ret = xmlStrVPrintf(error_msg, sizeof(error_msg), msg, va);
+ if(ret < 0) {
+ /* Can't really report an error from an error callback */
+ memcpy(error_msg, fatal_error, sizeof(fatal_error));
+ }
+ error_msg[sizeof(error_msg) - 1] = '\0'; /* just in case */
va_end(va);
} else {
error_msg[0] = '\0';
diff --git a/src/errors_helpers.h b/src/errors_helpers.h
new file mode 100644
index 0000000..3752fa6
--- /dev/null
+++ b/src/errors_helpers.h
@@ -0,0 +1,872 @@
+/*
+ * XML Security Library (http://www.aleksey.com/xmlsec).
+ *
+ * Internal header only used during the compilation,
+ *
+ * This is free software; see Copyright file in the source
+ * distribution for preciese wording.
+ *
+ * Copyright (C) 2002-2016 Aleksey Sanin <aleksey at aleksey.com>. All Rights Reserved.
+ */
+
+#ifndef __XMLSEC_ERROR_HELPERS_H__
+#define __XMLSEC_ERROR_HELPERS_H__
+
+#ifndef XMLSEC_PRIVATE
+#error "private.h file contains private xmlsec definitions and should not be used outside xmlsec or xmlsec-$crypto libraries"
+#endif /* XMLSEC_PRIVATE */
+
+#include <errno.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif /* __cplusplus */
+
+/**********************************************************************
+ *
+ * Error handling macros.
+ *
+ **********************************************************************/
+
+/**
+ * xmlSecInternalError:
+ * @errorFunction: the failed function name.
+ * @errorObject: the error specific error object (e.g. transform, key data, etc).
+ *
+ * Macro. The XMLSec library macro for reporting internal XMLSec errors.
+ */
+#define xmlSecInternalError(errorFunction, errorObject) \
+ xmlSecError(XMLSEC_ERRORS_HERE, \
+ (const char*)(errorObject), \
+ (errorFunction), \
+ XMLSEC_ERRORS_R_XMLSEC_FAILED, \
+ XMLSEC_ERRORS_NO_MESSAGE \
+ )
+
+/**
+ * xmlSecInternalError2:
+ * @errorFunction: the failed function name.
+ * @errorObject: the error specific error object (e.g. transform, key data, etc).
+ * @msg: the extra message.
+ * @param: the extra message param.
+ *
+ * Macro. The XMLSec library macro for reporting internal XMLSec errors.
+ */
+#define xmlSecInternalError2(errorFunction, errorObject, msg, param) \
+ xmlSecError(XMLSEC_ERRORS_HERE, \
+ (const char*)(errorObject), \
+ (errorFunction), \
+ XMLSEC_ERRORS_R_XMLSEC_FAILED, \
+ (msg), (param) \
+ )
+
+/**
+ * xmlSecInternalError3:
+ * @errorFunction: the failed function name.
+ * @errorObject: the error specific error object (e.g. transform, key data, etc).
+ * @msg: the extra message.
+ * @param1: the extra message param1.
+ * @param2: the extra message param2.
+ *
+ * Macro. The XMLSec library macro for reporting internal XMLSec errors.
+ */
+#define xmlSecInternalError3(errorFunction, errorObject, msg, param1, param2) \
+ xmlSecError(XMLSEC_ERRORS_HERE, \
+ (const char*)(errorObject), \
+ (errorFunction), \
+ XMLSEC_ERRORS_R_XMLSEC_FAILED, \
+ (msg), (param1), (param2) \
+ )
+
+/**
+ * xmlSecInternalError4:
+ * @errorFunction: the failed function name.
+ * @errorObject: the error specific error object (e.g. transform, key data, etc).
+ * @msg: the extra message.
+ * @param1: the extra message param1.
+ * @param2: the extra message param2.
+ * @param3: the extra message param3.
+ *
+ * Macro. The XMLSec library macro for reporting internal XMLSec errors.
+ */
+#define xmlSecInternalError4(errorFunction, errorObject, msg, param1, param2, param3) \
+ xmlSecError(XMLSEC_ERRORS_HERE, \
+ (const char*)(errorObject), \
+ (errorFunction), \
+ XMLSEC_ERRORS_R_XMLSEC_FAILED, \
+ (msg), (param1), (param2), (param3) \
+ )
+
+/**
+ * xmlSecMallocError:
+ * @allocSize: the failed allocation size.
+ * @errorObject: the error specific error object (e.g. transform, key data, etc).
+ *
+ * Macro. The XMLSec library macro for reporting xmlMalloc() errors.
+ */
+#define xmlSecMallocError(allocSize, errorObject) \
+ xmlSecError(XMLSEC_ERRORS_HERE, \
+ (const char*)(errorObject), \
+ "xmlMalloc", \
+ XMLSEC_ERRORS_R_MALLOC_FAILED, \
+ "size=%lu", (unsigned long)(allocSize) \
+ )
+
+/**
+ * xmlSecStrdupError:
+ * @str: the failed string.
+ * @errorObject: the error specific error object (e.g. transform, key data, etc).
+ *
+ * Macro. The XMLSec library macro for reporting xmlStrdup() errors.
+ */
+#define xmlSecStrdupError(str, errorObject) \
+ xmlSecError(XMLSEC_ERRORS_HERE, \
+ (const char*)(errorObject), \
+ "xmlStrdup", \
+ XMLSEC_ERRORS_R_STRDUP_FAILED, \
+ "size=%lu", (unsigned long)xmlStrlen(str) \
+ )
+
+/**
+ * xmlSecXmlError:
+ * @errorFunction: the failed function.
+ * @errorObject: the error specific error object (e.g. transform, key data, etc).
+ *
+ * Macro. The XMLSec library macro for reporting generic XML errors.
+ */
+#define xmlSecXmlError(errorFunction, errorObject) \
+ { \
+ xmlErrorPtr error = xmlGetLastError(); \
+ int code = (error != NULL) ? error->code : 0; \
+ const char* message = (error != NULL) ? error->message : NULL; \
+ xmlSecError(XMLSEC_ERRORS_HERE, \
+ (const char*)(errorObject), \
+ (errorFunction), \
+ XMLSEC_ERRORS_R_XML_FAILED, \
+ "xml error: %lu: %s", \
+ (unsigned long)code, \
+ xmlSecErrorsSafeString(message) \
+ ); \
+ }
+
+/**
+ * xmlSecXmlError2:
+ * @errorFunction: the failed function.
+ * @errorObject: the error specific error object (e.g. transform, key data, etc).
+ * @msg: the extra message.
+ * @param: the extra message param.
+ *
+ * Macro. The XMLSec library macro for reporting generic XML errors.
+ */
+#define xmlSecXmlError2(errorFunction, errorObject, msg, param) \
+ { \
+ xmlErrorPtr error = xmlGetLastError(); \
+ int code = (error != NULL) ? error->code : 0; \
+ const char* message = (error != NULL) ? error->message : NULL; \
+ xmlSecError(XMLSEC_ERRORS_HERE, \
+ (const char*)(errorObject), \
+ (errorFunction), \
+ XMLSEC_ERRORS_R_XML_FAILED, \
+ msg "; xml error: %lu: %s", \
+ (param), \
+ (unsigned long)code, \
+ xmlSecErrorsSafeString(message) \
+ ); \
+ }
+
+/**
+ * xmlSecXmlParserError:
+ * @errorFunction: the failed function.
+ * @ctxt: the parser context.
+ * @errorObject: the error specific error object (e.g. transform, key data, etc).
+ *
+ * Macro. The XMLSec library macro for reporting XML parser errors.
+ */
+#define xmlSecXmlParserError(errorFunction, ctxt, errorObject) \
+ { \
+ xmlErrorPtr error = xmlCtxtGetLastError(ctxt);\
+ int code = (error != NULL) ? error->code : 0; \
+ const char* message = (error != NULL) ? error->message : NULL; \
+ xmlSecError(XMLSEC_ERRORS_HERE, \
+ (const char*)(errorObject), \
+ (errorFunction), \
+ XMLSEC_ERRORS_R_XML_FAILED, \
+ "xml error: %lu: %s", \
+ (unsigned long)code, \
+ xmlSecErrorsSafeString(message) \
+ ); \
+ }
+
+/**
+ * xmlSecXmlParserError2:
+ * @errorFunction: the failed function.
+ * @ctxt: the parser context.
+ * @errorObject: the error specific error object (e.g. transform, key data, etc).
+ * @msg: the extra message.
+ * @param: the extra message param.
+ *
+ * Macro. The XMLSec library macro for reporting XML parser errors.
+ */
+#define xmlSecXmlParserError2(errorFunction, ctxt, errorObject, msg, param) \
+ { \
+ xmlErrorPtr error = xmlCtxtGetLastError(ctxt);\
+ int code = (error != NULL) ? error->code : 0; \
+ const char* message = (error != NULL) ? error->message : NULL; \
+ xmlSecError(XMLSEC_ERRORS_HERE, \
+ (const char*)(errorObject), \
+ (errorFunction), \
+ XMLSEC_ERRORS_R_XML_FAILED, \
+ msg "; xml error: %lu: %s", \
+ (param), \
+ (unsigned long)code, \
+ xmlSecErrorsSafeString(message) \
+ ); \
+ }
+
+/**
+ * xmlSecXsltError:
+ * @errorFunction: the failed function.
+ * @ctxt: the parser context.
+ * @errorObject: the error specific error object (e.g. transform, key data, etc).
+ *
+ * Macro. The XMLSec library macro for reporting XSLT errors.
+ */
+#define xmlSecXsltError(errorFunction, ctxt, errorObject) \
+ { \
+ xmlErrorPtr error = xmlGetLastError(); \
+ int code = (error != NULL) ? error->code : 0; \
+ const char* message = (error != NULL) ? error->message : NULL; \
+ xmlSecError(XMLSEC_ERRORS_HERE, \
+ (const char*)(errorObject), \
+ (errorFunction), \
+ XMLSEC_ERRORS_R_XSLT_FAILED, \
+ "xslt error: %lu: %s", \
+ (unsigned long)code, \
+ xmlSecErrorsSafeString(message) \
+ ); \
+ }
+
+/**
+ * xmlSecIOError:
+ * @errorFunction: the failed function.
+ * @name: the filename, function name, uri, etc.
+ * @errorObject: the error specific error object (e.g. transform, key data, etc).
+ *
+ * Macro. The XMLSec library macro for reporting IO errors.
+ */
+#define xmlSecIOError(errorFunction, name, errorObject) \
+ { \
+ xmlSecError(XMLSEC_ERRORS_HERE, \
+ (const char*)(errorObject), \
+ (errorFunction), \
+ XMLSEC_ERRORS_R_IO_FAILED, \
+ "name=\"%s\"; errno=%d", \
+ xmlSecErrorsSafeString(name), \
+ errno \
+ ); \
+ }
+
+/**
+ * xmlSecNotImplementedError:
+ * @details: the additional details.
+ *
+ * Macro. The XMLSec library macro for reporting "not implemented" errors.
+ */
+#define xmlSecNotImplementedError(details) \
+ xmlSecError(XMLSEC_ERRORS_HERE, \
+ NULL, \
+ NULL, \
+ XMLSEC_ERRORS_R_NOT_IMPLEMENTED, \
+ "details=%s", \
+ xmlSecErrorsSafeString(details) \
+ )
+/**
+ * xmlSecInvalidSizeError:
+ * @name: the name of the variable, parameter, etc.
+ * @actual: the actual value.
+ * @expected: the expected value.
+ * @errorObject: the error specific error object (e.g. transform, key data, etc).
+ *
+ * Macro. The XMLSec library macro for reporting "invalid size" errors when
+ * we expect exact match.
+ */
+#define xmlSecInvalidSizeError(name, actual, expected, errorObject) \
+ xmlSecError(XMLSEC_ERRORS_HERE, \
+ (const char*)(errorObject), \
+ NULL, \
+ XMLSEC_ERRORS_R_INVALID_SIZE, \
+ "invalid size for '%s': actual=%lu is not equal to expected=%lu", \
+ xmlSecErrorsSafeString(name), \
+ (unsigned long)(actual), \
+ (unsigned long)(expected) \
+ )
+
+/**
+ * xmlSecInvalidSizeLessThanError:
+ * @name: the name of the variable, parameter, etc.
+ * @actual: the actual value.
+ * @expected: the expected value.
+ * @errorObject: the error specific error object (e.g. transform, key data, etc).
+ *
+ * Macro. The XMLSec library macro for reporting "invalid size" errors when
+ * we expect at least the expected size.
+ */
+#define xmlSecInvalidSizeLessThanError(name, actual, expected, errorObject) \
+ xmlSecError(XMLSEC_ERRORS_HERE, \
+ (const char*)(errorObject), \
+ NULL, \
+ XMLSEC_ERRORS_R_INVALID_SIZE, \
+ "invalid size for '%s': actual=%lu is less than expected=%lu", \
+ xmlSecErrorsSafeString(name), \
+ (unsigned long)(actual), \
+ (unsigned long)(expected) \
+ )
+
+/**
+ * xmlSecInvalidSizeMoreThanError:
+ * @name: the name of the variable, parameter, etc.
+ * @actual: the actual value.
+ * @expected: the expected value.
+ * @errorObject: the error specific error object (e.g. transform, key data, etc).
+ *
+ * Macro. The XMLSec library macro for reporting "invalid size" errors when
+ * we expect at most the expected size.
+ */
+#define xmlSecInvalidSizeMoreThanError(name, actual, expected, errorObject) \
+ xmlSecError(XMLSEC_ERRORS_HERE, \
+ (const char*)(errorObject), \
+ NULL, \
+ XMLSEC_ERRORS_R_NOT_IMPLEMENTED, \
+ "invalid size for '%s': actual=%lu is more than expected=%lu", \
+ xmlSecErrorsSafeString(name), \
+ (unsigned long)(actual), \
+ (unsigned long)(expected) \
+ )
+
+/**
+ * xmlSecInvalidSizeNotMultipleOfError:
+ * @name: the name of the variable, parameter, etc.
+ * @actual: the actual value.
+ * @divider: the expected divider.
+ * @errorObject: the error specific error object (e.g. transform, key data, etc).
+ *
+ * Macro. The XMLSec library macro for reporting "invalid size" errors when
+ * we expect the size to be a multiple of the divider.
+ */
+#define xmlSecInvalidSizeNotMultipleOfError(name, actual, divider, errorObject) \
+ xmlSecError(XMLSEC_ERRORS_HERE, \
+ (const char*)(errorObject), \
+ NULL, \
+ XMLSEC_ERRORS_R_NOT_IMPLEMENTED, \
+ "invalid size for '%s': actual=%lu is not a multiple of %lu", \
+ xmlSecErrorsSafeString(name), \
+ (unsigned long)(actual), \
+ (unsigned long)(divider) \
+ )
+
+/**
+ * xmlSecInvalidSizeOtherError:
+ * @msg: the message about the error.
+ * @errorObject: the error specific error object (e.g. transform, key data, etc).
+ *
+ * Macro. The XMLSec library macro for reporting "invalid size" errors when
+ * we expect exact match.
+ */
+#define xmlSecInvalidSizeOtherError(msg, errorObject) \
+ xmlSecError(XMLSEC_ERRORS_HERE, \
+ (const char*)(errorObject), \
+ NULL, \
+ XMLSEC_ERRORS_R_INVALID_SIZE, \
+ "invalid size: %s", \
+ xmlSecErrorsSafeString(msg) \
+ )
+
+/**
+ * xmlSecInvalidDataError:
+ * @msg: the msg with explanation.
+ * @errorObject: the error specific error object (e.g. transform, key data, etc).
+ *
+ * Macro. The XMLSec library macro for reporting "invalid data" errors.
+ */
+#define xmlSecInvalidDataError(msg, errorObject) \
+ xmlSecError(XMLSEC_ERRORS_HERE, \
+ (const char*)(errorObject), \
+ NULL, \
+ XMLSEC_ERRORS_R_INVALID_DATA, \
+ "%s", \
+ xmlSecErrorsSafeString(msg) \
+ )
+
+/**
+ * xmlSecInvalidStringDataError:
+ * @name: the name of the variable, parameter, etc.
+ * @actual: the actual value as a string.
+ * @expected: the expected value(s) as a string.
+ * @errorObject: the error specific error object (e.g. transform, key data, etc).
+ *
+ * Macro. The XMLSec library macro for reporting "invalid data" errors for string.
+ */
+#define xmlSecInvalidStringDataError(name, actual, expected, errorObject) \
+ xmlSecError(XMLSEC_ERRORS_HERE, \
+ (const char*)(errorObject), \
+ NULL, \
+ XMLSEC_ERRORS_R_INVALID_DATA, \
+ "invalid data for '%s': actual='%s' and expected %s", \
+ xmlSecErrorsSafeString(name), \
+ xmlSecErrorsSafeString(actual), \
+ (expected) \
+ )
+
+/**
+ * xmlSecInvalidIntegerDataError:
+ * @name: the name of the variable, parameter, etc.
+ * @actual: the actual value as an integer.
+ * @expected: the expected value(s) as a string.
+ * @errorObject: the error specific error object (e.g. transform, key data, etc).
+ *
+ * Macro. The XMLSec library macro for reporting "invalid data" errors for integers.
+ */
+#define xmlSecInvalidIntegerDataError(name, actual, expected, errorObject) \
+ xmlSecError(XMLSEC_ERRORS_HERE, \
+ (const char*)(errorObject), \
+ NULL, \
+ XMLSEC_ERRORS_R_INVALID_DATA, \
+ "invalid data for '%s': actual=%ld and expected %s", \
+ xmlSecErrorsSafeString(name), \
+ (unsigned long)(actual), \
+ (expected) \
+ )
+
+/**
+ * xmlSecInvalidIntegerDataError2:
+ * @name1: the name of the first variable, parameter, etc.
+ * @actual1: the actual first value as an integer.
+ * @name2: the name of the second variable, parameter, etc.
+ * @actual2: the actual second value as an integer.
+ * @expected: the expected value(s) as a string.
+ * @errorObject: the error specific error object (e.g. transform, key data, etc).
+ *
+ * Macro. The XMLSec library macro for reporting "invalid data" errors for integers.
+ */
+#define xmlSecInvalidIntegerDataError2(name1, actual1, name2, actual2, expected, errorObject) \
+ xmlSecError(XMLSEC_ERRORS_HERE, \
+ (const char*)(errorObject), \
+ NULL, \
+ XMLSEC_ERRORS_R_INVALID_DATA, \
+ "invalid data: actual value '%s'=%ld, actual value '%s'=%ld and expected %s", \
+ xmlSecErrorsSafeString(name1), \
+ (unsigned long)(actual1), \
+ xmlSecErrorsSafeString(name2), \
+ (unsigned long)(actual2), \
+ (expected) \
+ )
+
+/**
+ * xmlSecInvalidTypeError:
+ * @msg: the msg with explanation.
+ * @errorObject: the error specific error object (e.g. transform, key data, etc).
+ *
+ * Macro. The XMLSec library macro for reporting "invalid type" errors.
+ */
+#define xmlSecInvalidTypeError(msg, errorObject) \
+ xmlSecError(XMLSEC_ERRORS_HERE, \
+ (const char*)(errorObject), \
+ NULL, \
+ XMLSEC_ERRORS_R_INVALID_TYPE, \
+ "%s", \
+ xmlSecErrorsSafeString(msg) \
+ )
+
+/**
+ * xmlSecInvalidStringTypeError:
+ * @name: the name of the variable, parameter, etc.
+ * @actual: the actual value as a string.
+ * @expected: the expected value(s) as a string.
+ * @errorObject: the error specific error object (e.g. transform, key data, etc).
+ *
+ * Macro. The XMLSec library macro for reporting "invalid type" errors for string.
+ */
+#define xmlSecInvalidStringTypeError(name, actual, expected, errorObject) \
+ xmlSecError(XMLSEC_ERRORS_HERE, \
+ (const char*)(errorObject), \
+ NULL, \
+ XMLSEC_ERRORS_R_INVALID_TYPE, \
+ "invalid type for '%s': actual='%s' and expected %s", \
+ xmlSecErrorsSafeString(name), \
+ xmlSecErrorsSafeString(actual), \
+ (expected) \
+ )
+
+/**
+ * xmlSecInvalidIntegerTypeError:
+ * @name: the name of the variable, parameter, etc.
+ * @actual: the actual value as an integer.
+ * @expected: the expected value(s) as a string.
+ * @errorObject: the error specific error object (e.g. transform, key data, etc).
+ *
+ * Macro. The XMLSec library macro for reporting "invalid type" errors for integers.
+ */
+#define xmlSecInvalidIntegerTypeError(name, actual, expected, errorObject) \
+ xmlSecError(XMLSEC_ERRORS_HERE, \
+ (const char*)(errorObject), \
+ NULL, \
+ XMLSEC_ERRORS_R_INVALID_TYPE, \
+ "invalid type for '%s': actual=%ld and expected %s", \
+ xmlSecErrorsSafeString(name), \
+ (unsigned long)(actual), \
+ (expected) \
+ )
+
+/**
+ * xmlSecInvalidIntegerTypeError2:
+ * @name1: the name of the first variable, parameter, etc.
+ * @actual1: the actual first value as an integer.
+ * @name2: the name of the second variable, parameter, etc.
+ * @actual2: the actual second value as an integer.
+ * @expected: the expected value(s) as a string.
+ * @errorObject: the error specific error object (e.g. transform, key data, etc).
+ *
+ * Macro. The XMLSec library macro for reporting "invalid type" errors for integers.
+ */
+#define xmlSecInvalidIntegerTypeError2(name1, actual1, name2, actual2, expected, errorObject) \
+ xmlSecError(XMLSEC_ERRORS_HERE, \
+ (const char*)(errorObject), \
+ NULL, \
+ XMLSEC_ERRORS_R_INVALID_TYPE, \
+ "invalid type: actual value '%s'=%ld, actual value '%s'=%ld and expected %s", \
+ xmlSecErrorsSafeString(name1), \
+ (unsigned long)(actual1), \
+ xmlSecErrorsSafeString(name2), \
+ (unsigned long)(actual2), \
+ (expected) \
+ )
+
+/**
+ * xmlSecInvalidNodeError:
+ * @actualNode: the actual node.
+ * @expectedNodeName: the expected node name.
+ * @errorObject: the error specific error object (e.g. transform, key data, etc).
+ *
+ * Macro. The XMLSec library macro for reporting an invalid node errors.
+ */
+#define xmlSecInvalidNodeError(actualNode, expectedNodeName, errorObject) \
+ { \
+ const char* actualNodeName = xmlSecNodeGetName(actualNode); \
+ xmlSecError(XMLSEC_ERRORS_HERE, \
+ (const char*)(errorObject), \
+ NULL, \
+ XMLSEC_ERRORS_R_INVALID_NODE, \
+ "actual=%s; expected=%s", \
+ xmlSecErrorsSafeString(actualNodeName), \
+ xmlSecErrorsSafeString(expectedNodeName) \
+ ); \
+ }
+
+/**
+ * xmlSecInvalidNodeContentError:
+ * @node: the node.
+ * @errorObject: the error specific error object (e.g. transform, key data, etc).
+ * @reason: the reason why node content is invalid.
+ *
+ * Macro. The XMLSec library macro for reporting an invalid node content errors.
+ */
+#define xmlSecInvalidNodeContentError(node, errorObject, reason) \
+ { \
+ const char* nName = xmlSecNodeGetName(node); \
+ xmlSecError(XMLSEC_ERRORS_HERE, \
+ (const char*)(errorObject), \
+ NULL, \
+ XMLSEC_ERRORS_R_INVALID_NODE_CONTENT, \
+ "node=%s; reason=%s", \
+ xmlSecErrorsSafeString(nName), \
+ xmlSecErrorsSafeString(reason) \
+ ); \
+ }
+
+/**
+ * xmlSecInvalidNodeAttributeError:
+ * @node: the node.
+ * @attrName: the attribute name.
+ * @errorObject: the error specific error object (e.g. transform, key data, etc).
+ * @reason: the reason why node content is invalid.
+ *
+ * Macro. The XMLSec library macro for reporting an invalid node attribute errors.
+ */
+#define xmlSecInvalidNodeAttributeError(node, attrName, errorObject, reason) \
+ { \
+ const char* nName = xmlSecNodeGetName(node); \
+ xmlSecError(XMLSEC_ERRORS_HERE, \
+ (const char*)(errorObject), \
+ NULL, \
+ XMLSEC_ERRORS_R_INVALID_NODE_ATTRIBUTE, \
+ "node=%s; attribute=%s; reason=%s",\
+ xmlSecErrorsSafeString(nName), \
+ xmlSecErrorsSafeString(attrName), \
+ xmlSecErrorsSafeString(reason) \
+ ); \
+ }
+
+/**
+ * xmlSecNodeAlreadyPresentError:
+ * @parent: the parent node.
+ * @nodeName: the node name.
+ * @errorObject: the error specific error object (e.g. transform, key data, etc).
+ *
+ * Macro. The XMLSec library macro for reporting node already present errors.
+ */
+#define xmlSecNodeAlreadyPresentError(parent, nodeName, errorObject) \
+ { \
+ const char* pName = xmlSecNodeGetName(parent);\
+ xmlSecError(XMLSEC_ERRORS_HERE, \
+ (const char*)(errorObject), \
+ NULL, \
+ XMLSEC_ERRORS_R_NODE_ALREADY_PRESENT, \
+ "parent=%s; node=%s", \
+ xmlSecErrorsSafeString(pName), \
+ xmlSecErrorsSafeString(nodeName) \
+ ); \
+ }
+
+/**
+ * xmlSecUnexpectedNodeError:
+ * @node: the node.
+ * @errorObject: the error specific error object (e.g. transform, key data, etc).
+ *
+ * Macro. The XMLSec library macro for reporting an invalid node errors.
+ */
+#define xmlSecUnexpectedNodeError(node, errorObject) \
+ { \
+ const char* nName = xmlSecNodeGetName(node); \
+ xmlSecError(XMLSEC_ERRORS_HERE, \
+ (const char*)(errorObject), \
+ NULL, \
+ XMLSEC_ERRORS_R_UNEXPECTED_NODE, \
+ "node=%s", \
+ xmlSecErrorsSafeString(nName) \
+ ); \
+ }
+
+/**
+ * xmlSecNodeNotFoundError:
+ * @errorFunction: the failed function.
+ * @startNode: the search start node.
+ * @targetNodeName: the expected child node name.
+ * @errorObject: the error specific error object (e.g. transform, key data, etc).
+ *
+ * Macro. The XMLSec library macro for reporting node not found errors.
+ */
+#define xmlSecNodeNotFoundError(errorFunction, startNode, targetNodeName, errorObject) \
+ { \
+ const char* startNodeName = xmlSecNodeGetName(startNode); \
+ xmlSecError(XMLSEC_ERRORS_HERE, \
+ (const char*)(errorObject), \
+ (errorFunction), \
+ XMLSEC_ERRORS_R_NODE_NOT_FOUND, \
+ "startNode=%s; target=%s", \
+ xmlSecErrorsSafeString(startNodeName), \
+ xmlSecErrorsSafeString(targetNodeName) \
+ ); \
+ }
+
+/**
+ * xmlSecInvalidTransfromError:
+ * @transform: the transform.
+ *
+ * Macro. The XMLSec library macro for reporting an invalid transform errors.
+ */
+#define xmlSecInvalidTransfromError(transform) \
+ { \
+ xmlSecError(XMLSEC_ERRORS_HERE, \
+ (const char*)xmlSecTransformGetName(transform), \
+ NULL, \
+ XMLSEC_ERRORS_R_INVALID_TRANSFORM, \
+ XMLSEC_ERRORS_NO_MESSAGE \
+ ); \
+ }
+
+/**
+ * xmlSecInvalidTransfromError2:
+ * @transform: the transform.
+ * @msg: the extra message.
+ * @param: the extra message param.
+ *
+ *
+ * Macro. The XMLSec library macro for reporting an invalid transform errors.
+ */
+#define xmlSecInvalidTransfromError2(transform, msg, param) \
+ { \
+ xmlSecError(XMLSEC_ERRORS_HERE, \
+ (const char*)xmlSecTransformGetName(transform), \
+ NULL, \
+ XMLSEC_ERRORS_R_INVALID_TRANSFORM, \
+ (msg), (param) \
+ ); \
+ }
+
+/**
+ * xmlSecInvalidTransfromStatusError:
+ * @transform: the transform.
+ *
+ * Macro. The XMLSec library macro for reporting an invalid transform status errors.
+ */
+#define xmlSecInvalidTransfromStatusError(transform) \
+ { \
+ xmlSecError(XMLSEC_ERRORS_HERE, \
+ (const char*)xmlSecTransformGetName(transform), \
+ NULL, \
+ XMLSEC_ERRORS_R_INVALID_STATUS, \
+ "transformStatus=%d", \
+ (int)((transform)->status) \
+ ); \
+ }
+
+/**
+ * xmlSecInvalidTransfromStatusError2:
+ * @transform: the transform.
+ * @msg: the extra message.
+ *
+ * Macro. The XMLSec library macro for reporting an invalid transform status errors.
+ */
+#define xmlSecInvalidTransfromStatusError2(transform, msg) \
+ { \
+ xmlSecError(XMLSEC_ERRORS_HERE, \
+ (const char*)xmlSecTransformGetName(transform), \
+ NULL, \
+ XMLSEC_ERRORS_R_INVALID_STATUS, \
+ "transformStatus=%ld, msg=%s", \
+ (long int)((transform)->status), \
+ msg \
+ ); \
+ }
+
+/**
+ * xmlSecInvalidKeyDataSizeError:
+ * @name: the name of the variable, parameter, etc.
+ * @actual: the actual value.
+ * @expected: the expected value(s).
+ * @errorObject: the error specific error object (e.g. transform, key data, etc).
+ *
+ * Macro. The XMLSec library macro for reporting "invalid keydata size" errors.
+ */
+#define xmlSecInvalidKeyDataSizeError(actual, expected, errorObject) \
+ xmlSecError(XMLSEC_ERRORS_HERE, \
+ (const char*)(errorObject), \
+ NULL, \
+ XMLSEC_ERRORS_R_INVALID_KEY_DATA_SIZE, \
+ "invalid key data size: actual=%ld and expected=%ld", \
+ (unsigned long)(actual), \
+ (unsigned long)(expected) \
+ )
+
+/**
+ * xmlSecInvalidZeroKeyDataSizeError:
+ * @name: the name of the variable, parameter, etc.
+ * @errorObject: the error specific error object (e.g. transform, key data, etc).
+ *
+ * Macro. The XMLSec library macro for reporting "invalid keydata size" errors.
+ */
+#define xmlSecInvalidZeroKeyDataSizeError(errorObject) \
+ xmlSecError(XMLSEC_ERRORS_HERE, \
+ (const char*)(errorObject), \
+ NULL, \
+ XMLSEC_ERRORS_R_INVALID_KEY_DATA_SIZE, \
+ "invalid zero key data size" \
+ )
+
+
+/**
+ * xmlSecOtherError:
+ * @code: the error code.
+ * @errorObject: the error specific error object (e.g. transform, key data, etc).
+ * @details: the error message.
+ *
+ * Macro. The XMLSec library macro for reporting other XMLSec errors.
+ */
+#define xmlSecOtherError(code, errorObject, details) \
+ xmlSecError(XMLSEC_ERRORS_HERE, \
+ (const char*)(errorObject), \
+ NULL, \
+ (code), \
+ "details=%s", \
+ xmlSecErrorsSafeString(details) \
+ )
+
+/**
+ * xmlSecOtherError2:
+ * @code: the error code.
+ * @errorObject: the error specific error object (e.g. transform, key data, etc).
+ * @msg: the extra message.
+ * @param: the extra message param.
+ *
+ * Macro. The XMLSec library macro for reporting other XMLSec errors.
+ */
+#define xmlSecOtherError2(code, errorObject, msg, param) \
+ xmlSecError(XMLSEC_ERRORS_HERE, \
+ (const char*)(errorObject), \
+ NULL, \
+ (code), \
+ (msg), (param) \
+ )
+
+/**
+ * xmlSecOtherError3:
+ * @code: the error code.
+ * @errorObject: the error specific error object (e.g. transform, key data, etc).
+ * @msg: the extra message.
+ * @param1: the extra message param.
+ * @param2: the extra message param.
+ *
+ * Macro. The XMLSec library macro for reporting other XMLSec errors.
+ */
+#define xmlSecOtherError3(code, errorObject, msg, param1, param2) \
+ xmlSecError(XMLSEC_ERRORS_HERE, \
+ (const char*)(errorObject), \
+ NULL, \
+ (code), \
+ (msg), (param1), (param2) \
+ )
+
+/**
+ * xmlSecOtherError4:
+ * @code: the error code.
+ * @errorObject: the error specific error object (e.g. transform, key data, etc).
+ * @msg: the extra message.
+ * @param1: the extra message param.
+ * @param2: the extra message param.
+ * @param3: the extra message param.
+ *
+ * Macro. The XMLSec library macro for reporting other XMLSec errors.
+ */
+#define xmlSecOtherError4(code, errorObject, msg, param1, param2, param3) \
+ xmlSecError(XMLSEC_ERRORS_HERE, \
+ (const char*)(errorObject), \
+ NULL, \
+ (code), \
+ (msg), (param1), (param2), (param3) \
+ )
+
+/**
+ * xmlSecOtherError5:
+ * @code: the error code.
+ * @errorObject: the error specific error object (e.g. transform, key data, etc).
+ * @msg: the extra message.
+ * @param1: the extra message param.
+ * @param2: the extra message param.
+ * @param3: the extra message param.
+ * @param4: the extra message param.
+ *
+ * Macro. The XMLSec library macro for reporting other XMLSec errors.
+ */
+#define xmlSecOtherError5(code, errorObject, msg, param1, param2, param3, param4) \
+ xmlSecError(XMLSEC_ERRORS_HERE, \
+ (const char*)(errorObject), \
+ NULL, \
+ (code), \
+ (msg), (param1), (param2), (param3), (param4) \
+ )
+
+#ifdef __cplusplus
+}
+#endif /* __cplusplus */
+
+#endif /* __XMLSEC_ERROR_HELPERS_H__ */
diff --git a/src/gcrypt/Makefile.am b/src/gcrypt/Makefile.am
index 734c429..9645c40 100644
--- a/src/gcrypt/Makefile.am
+++ b/src/gcrypt/Makefile.am
@@ -35,10 +35,6 @@ libxmlsec1_gcrypt_la_SOURCES =\
globals.h \
$(NULL)
-if SHAREDLIB_HACK
-libxmlsec1_gcrypt_la_SOURCES += ../strings.c
-endif
-
libxmlsec1_gcrypt_la_LIBADD = \
$(GCRYPT_LIBS) \
$(LIBXSLT_LIBS) \
diff --git a/src/gcrypt/Makefile.in b/src/gcrypt/Makefile.in
index 1387eac..e1524a7 100644
--- a/src/gcrypt/Makefile.in
+++ b/src/gcrypt/Makefile.in
@@ -88,7 +88,6 @@ PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
- at SHAREDLIB_HACK_TRUE@am__append_1 = ../strings.c
subdir = src/gcrypt
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
@@ -132,21 +131,14 @@ am__uninstall_files_from_dir = { \
am__installdirs = "$(DESTDIR)$(libdir)"
LTLIBRARIES = $(lib_LTLIBRARIES)
am__DEPENDENCIES_1 =
-am__libxmlsec1_gcrypt_la_SOURCES_DIST = app.c asn1.h asn1.c ciphers.c \
- crypto.c digests.c hmac.c kw_aes.c kw_des.c symkeys.c \
- asymkeys.c signatures.c globals.h ../strings.c
am__objects_1 =
-am__dirstamp = $(am__leading_dot)dirstamp
- at SHAREDLIB_HACK_TRUE@am__objects_2 = \
- at SHAREDLIB_HACK_TRUE@ ../libxmlsec1_gcrypt_la-strings.lo
am_libxmlsec1_gcrypt_la_OBJECTS = libxmlsec1_gcrypt_la-app.lo \
libxmlsec1_gcrypt_la-asn1.lo libxmlsec1_gcrypt_la-ciphers.lo \
libxmlsec1_gcrypt_la-crypto.lo libxmlsec1_gcrypt_la-digests.lo \
libxmlsec1_gcrypt_la-hmac.lo libxmlsec1_gcrypt_la-kw_aes.lo \
libxmlsec1_gcrypt_la-kw_des.lo libxmlsec1_gcrypt_la-symkeys.lo \
libxmlsec1_gcrypt_la-asymkeys.lo \
- libxmlsec1_gcrypt_la-signatures.lo $(am__objects_1) \
- $(am__objects_2)
+ libxmlsec1_gcrypt_la-signatures.lo $(am__objects_1)
libxmlsec1_gcrypt_la_OBJECTS = $(am_libxmlsec1_gcrypt_la_OBJECTS)
AM_V_lt = $(am__v_lt_ at AM_V@)
am__v_lt_ = $(am__v_lt_ at AM_DEFAULT_V@)
@@ -191,7 +183,7 @@ am__v_CCLD_ = $(am__v_CCLD_ at AM_DEFAULT_V@)
am__v_CCLD_0 = @echo " CCLD " $@;
am__v_CCLD_1 =
SOURCES = $(libxmlsec1_gcrypt_la_SOURCES)
-DIST_SOURCES = $(am__libxmlsec1_gcrypt_la_SOURCES_DIST)
+DIST_SOURCES = $(libxmlsec1_gcrypt_la_SOURCES)
am__can_run_installinfo = \
case $$AM_UPDATE_INFO_DIR in \
n|no|NO) false;; \
@@ -280,6 +272,7 @@ LIBXSLT_PC_FILE_COND = @LIBXSLT_PC_FILE_COND@
LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MAN2HTML = @MAN2HTML@
@@ -327,6 +320,7 @@ SHELL = @SHELL@
STRIP = @STRIP@
TAR = @TAR@
VERSION = @VERSION@
+XMLSEC_APPS = @XMLSEC_APPS@
XMLSEC_APP_DEFINES = @XMLSEC_APP_DEFINES@
XMLSEC_CFLAGS = @XMLSEC_CFLAGS@
XMLSEC_CORE_CFLAGS = @XMLSEC_CORE_CFLAGS@
@@ -343,6 +337,7 @@ XMLSEC_DEFINES = @XMLSEC_DEFINES@
XMLSEC_DL_INCLUDES = @XMLSEC_DL_INCLUDES@
XMLSEC_DL_LIBS = @XMLSEC_DL_LIBS@
XMLSEC_DOCDIR = @XMLSEC_DOCDIR@
+XMLSEC_DOCS = @XMLSEC_DOCS@
XMLSEC_EXTRA_LDFLAGS = @XMLSEC_EXTRA_LDFLAGS@
XMLSEC_GCRYPT_CFLAGS = @XMLSEC_GCRYPT_CFLAGS@
XMLSEC_GCRYPT_LIBS = @XMLSEC_GCRYPT_LIBS@
@@ -432,6 +427,7 @@ pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
+runstatedir = @runstatedir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
@@ -460,9 +456,22 @@ libxmlsec1_gcrypt_la_CPPFLAGS = \
$(LIBXML_CFLAGS) \
$(NULL)
-libxmlsec1_gcrypt_la_SOURCES = app.c asn1.h asn1.c ciphers.c crypto.c \
- digests.c hmac.c kw_aes.c kw_des.c symkeys.c asymkeys.c \
- signatures.c globals.h $(NULL) $(am__append_1)
+libxmlsec1_gcrypt_la_SOURCES = \
+ app.c \
+ asn1.h \
+ asn1.c \
+ ciphers.c \
+ crypto.c \
+ digests.c \
+ hmac.c \
+ kw_aes.c \
+ kw_des.c \
+ symkeys.c \
+ asymkeys.c \
+ signatures.c \
+ globals.h \
+ $(NULL)
+
libxmlsec1_gcrypt_la_LIBADD = \
$(GCRYPT_LIBS) \
$(LIBXSLT_LIBS) \
@@ -546,27 +555,16 @@ clean-libLTLIBRARIES:
echo rm -f $${locs}; \
rm -f $${locs}; \
}
-../$(am__dirstamp):
- @$(MKDIR_P) ..
- @: > ../$(am__dirstamp)
-../$(DEPDIR)/$(am__dirstamp):
- @$(MKDIR_P) ../$(DEPDIR)
- @: > ../$(DEPDIR)/$(am__dirstamp)
-../libxmlsec1_gcrypt_la-strings.lo: ../$(am__dirstamp) \
- ../$(DEPDIR)/$(am__dirstamp)
libxmlsec1-gcrypt.la: $(libxmlsec1_gcrypt_la_OBJECTS) $(libxmlsec1_gcrypt_la_DEPENDENCIES) $(EXTRA_libxmlsec1_gcrypt_la_DEPENDENCIES)
$(AM_V_CCLD)$(libxmlsec1_gcrypt_la_LINK) -rpath $(libdir) $(libxmlsec1_gcrypt_la_OBJECTS) $(libxmlsec1_gcrypt_la_LIBADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
- -rm -f ../*.$(OBJEXT)
- -rm -f ../*.lo
distclean-compile:
-rm -f *.tab.c
- at AMDEP_TRUE@@am__include@ @am__quote at ../$(DEPDIR)/libxmlsec1_gcrypt_la-strings.Plo at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libxmlsec1_gcrypt_la-app.Plo at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libxmlsec1_gcrypt_la-asn1.Plo at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libxmlsec1_gcrypt_la-asymkeys.Plo at am__quote@
@@ -680,19 +678,11 @@ libxmlsec1_gcrypt_la-signatures.lo: signatures.c
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libxmlsec1_gcrypt_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libxmlsec1_gcrypt_la-signatures.lo `test -f 'signatures.c' || echo '$(srcdir)/'`signatures.c
-../libxmlsec1_gcrypt_la-strings.lo: ../strings.c
- at am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libxmlsec1_gcrypt_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ../libxmlsec1_gcrypt_la-strings.lo -MD -MP -MF ../$(DEPDIR)/libxmlsec1_gcrypt_la-strings.Tpo -c -o ../libxmlsec1_gcrypt_la-strings.lo `test -f '../strings.c' || echo '$(srcdir)/'`../strings.c
- at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) ../$(DEPDIR)/libxmlsec1_gcrypt_la-strings.Tpo ../$(DEPDIR)/libxmlsec1_gcrypt_la-strings.Plo
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='../strings.c' object='../libxmlsec1_gcrypt_la-strings.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libxmlsec1_gcrypt_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ../libxmlsec1_gcrypt_la-strings.lo `test -f '../strings.c' || echo '$(srcdir)/'`../strings.c
-
mostlyclean-libtool:
-rm -f *.lo
clean-libtool:
-rm -rf .libs _libs
- -rm -rf ../.libs ../_libs
ID: $(am__tagged_files)
$(am__define_uniq_tagged_files); mkid -fID $$unique
@@ -809,8 +799,6 @@ clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
- -rm -f ../$(DEPDIR)/$(am__dirstamp)
- -rm -f ../$(am__dirstamp)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -821,7 +809,7 @@ clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \
mostlyclean-am
distclean: distclean-am
- -rm -rf ../$(DEPDIR) ./$(DEPDIR)
+ -rm -rf ./$(DEPDIR)
-rm -f Makefile
distclean-am: clean-am distclean-compile distclean-generic \
distclean-tags
@@ -867,7 +855,7 @@ install-ps-am:
installcheck-am:
maintainer-clean: maintainer-clean-am
- -rm -rf ../$(DEPDIR) ./$(DEPDIR)
+ -rm -rf ./$(DEPDIR)
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
diff --git a/src/gcrypt/app.c b/src/gcrypt/app.c
index dd5d770..1b4850a 100644
--- a/src/gcrypt/app.c
+++ b/src/gcrypt/app.c
@@ -1,5 +1,5 @@
-/**
- * XMLSec library
+/*
+ * XML Security Library (http://www.aleksey.com/xmlsec).
*
* This is free software; see Copyright file in the source
* distribution for preciese wording.
@@ -34,6 +34,7 @@
*/
int
xmlSecGCryptAppInit(const char* config ATTRIBUTE_UNUSED) {
+ gcry_error_t err;
/* Secure memory initialisation based on documentation from:
http://www.gnupg.org/documentation/manuals/gcrypt/Initializing-the-library.html
NOTE sample code don't check gcry_control(...) return code
@@ -65,18 +66,19 @@ Noteworthy changes in version 1.4.3 (2008-09-18)
/* NOTE configure.in defines GCRYPT_MIN_VERSION */
if (!gcry_check_version (GCRYPT_MIN_VERSION)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "gcry_check_version",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecGCryptError2("gcry_check_version", GPG_ERR_NO_ERROR, NULL,
+ "min_version=%ld", (long)GCRYPT_MIN_VERSION);
return(-1);
}
/* We don't want to see any warnings, e.g. because we have not yet
parsed program options which might be used to suppress such
warnings. */
- gcry_control(GCRYCTL_SUSPEND_SECMEM_WARN);
+ err = gcry_control(GCRYCTL_SUSPEND_SECMEM_WARN);
+ if(err != GPG_ERR_NO_ERROR) {
+ xmlSecGCryptError("gcry_control(GCRYCTL_SUSPEND_SECMEM_WARN)", err, NULL);
+ return(-1);
+ }
/* ... If required, other initialization goes here. Note that the
process might still be running with increased privileges and that
@@ -84,17 +86,30 @@ Noteworthy changes in version 1.4.3 (2008-09-18)
/* Allocate a pool of 32k secure memory. This make the secure memory
available and also drops privileges where needed. */
- gcry_control(GCRYCTL_INIT_SECMEM, 32768, 0);
+ err = gcry_control(GCRYCTL_INIT_SECMEM, 32768, 0);
+ if(err != GPG_ERR_NO_ERROR) {
+ xmlSecGCryptError("gcry_control(GCRYCTL_INIT_SECMEM)", err, NULL);
+ return(-1);
+ }
/* It is now okay to let Libgcrypt complain when there was/is
a problem with the secure memory. */
- gcry_control(GCRYCTL_RESUME_SECMEM_WARN);
+ err = gcry_control(GCRYCTL_RESUME_SECMEM_WARN);
+ if(err != GPG_ERR_NO_ERROR) {
+ xmlSecGCryptError("gcry_control(GCRYCTL_RESUME_SECMEM_WARN)", err, NULL);
+ return(-1);
+ }
/* ... If required, other initialization goes here. */
/* Tell Libgcrypt that initialization has completed. */
- gcry_control(GCRYCTL_INITIALIZATION_FINISHED, 0);
+ err = gcry_control(GCRYCTL_INITIALIZATION_FINISHED, 0);
+ if(err != GPG_ERR_NO_ERROR) {
+ xmlSecGCryptError("gcry_control(GCRYCTL_INITIALIZATION_FINISHED)", err, NULL);
+ return(-1);
+ }
+ /* done */
return(0);
}
@@ -112,14 +127,12 @@ xmlSecGCryptAppShutdown(void) {
gcry_error_t err;
err = gcry_control(GCRYCTL_TERM_SECMEM);
- if (gcry_err_code(err)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "gcry_control(GCRYCTL_TERM_SECMEM)",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ if(err != GPG_ERR_NO_ERROR) {
+ xmlSecGCryptError("gcry_control(GCRYCTL_TERM_SECMEM)", err, NULL);
return(-1);
}
+
+ /* done */
return(0);
}
@@ -149,22 +162,14 @@ xmlSecGCryptAppKeyLoad(const char *filename, xmlSecKeyDataFormat format,
ret = xmlSecBufferInitialize(&buffer, 4*1024);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecBufferInitialize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecBufferInitialize", NULL);
return(NULL);
}
ret = xmlSecBufferReadFile(&buffer, filename);
if((ret < 0) || (xmlSecBufferGetData(&buffer) == NULL) || (xmlSecBufferGetSize(&buffer) <= 0)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecBufferReadFile",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "filename=%s",
- xmlSecErrorsSafeString(filename));
+ xmlSecInternalError2("xmlSecBufferReadFile", NULL,
+ "filename=%s", xmlSecErrorsSafeString(filename));
xmlSecBufferFinalize(&buffer);
return(NULL);
}
@@ -173,12 +178,8 @@ xmlSecGCryptAppKeyLoad(const char *filename, xmlSecKeyDataFormat format,
xmlSecBufferGetSize(&buffer),
format, pwd, pwdCallback, pwdCallbackCtx);
if(key == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecGCryptAppKeyLoadMemory",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "filename=%s",
- xmlSecErrorsSafeString(filename));
+ xmlSecInternalError2("xmlSecGCryptAppKeyLoadMemory", NULL,
+ "filename=%s", xmlSecErrorsSafeString(filename));
xmlSecBufferFinalize(&buffer);
return(NULL);
}
@@ -220,36 +221,21 @@ xmlSecGCryptAppKeyLoadMemory(const xmlSecByte* data, xmlSecSize dataSize,
case xmlSecKeyDataFormatDer:
key_data = xmlSecGCryptParseDer(data, dataSize, xmlSecGCryptDerKeyTypeAuto);
if(key_data == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecGCryptParseDer",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecGCryptParseDer", NULL);
return(NULL);
}
break;
case xmlSecKeyDataFormatPem:
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecGCryptAppKeyLoadMemory",
- XMLSEC_ERRORS_R_NOT_IMPLEMENTED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNotImplementedError("xmlSecKeyDataFormatPem");
return (NULL);
#ifndef XMLSEC_NO_X509
case xmlSecKeyDataFormatPkcs12:
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecGCryptAppKeyLoadMemory",
- XMLSEC_ERRORS_R_NOT_IMPLEMENTED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNotImplementedError("xmlSecKeyDataFormatPkcs12");
return (NULL);
#endif /* XMLSEC_NO_X509 */
default:
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- NULL,
- XMLSEC_ERRORS_R_INVALID_FORMAT,
- "format=%d", format);
+ xmlSecOtherError2(XMLSEC_ERRORS_R_INVALID_FORMAT, NULL,
+ "format=%d", (int)format);
return(NULL);
}
@@ -257,23 +243,15 @@ xmlSecGCryptAppKeyLoadMemory(const xmlSecByte* data, xmlSecSize dataSize,
xmlSecAssert2(key_data != NULL, NULL);
key = xmlSecKeyCreate();
if(key == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecKeyCreate",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeyCreate", NULL);
xmlSecKeyDataDestroy(key_data);
return(NULL);
}
ret = xmlSecKeySetValue(key, key_data);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecKeySetValue",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "data=%s",
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(key_data)));
+ xmlSecInternalError("xmlSecKeySetValue",
+ xmlSecKeyDataGetName(key_data));
xmlSecKeyDestroy(key);
xmlSecKeyDataDestroy(key_data);
return(NULL);
@@ -304,11 +282,7 @@ xmlSecGCryptAppKeyCertLoad(xmlSecKeyPtr key, const char* filename,
xmlSecAssert2(format != xmlSecKeyDataFormatUnknown, -1);
/* TODO */
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecGCryptAppKeyCertLoad",
- XMLSEC_ERRORS_R_NOT_IMPLEMENTED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNotImplementedError(NULL);
return(-1);
}
@@ -334,11 +308,7 @@ xmlSecGCryptAppKeyCertLoadMemory(xmlSecKeyPtr key,
xmlSecAssert2(format != xmlSecKeyDataFormatUnknown, -1);
/* TODO */
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecGCryptAppKeyCertLoadMemory",
- XMLSEC_ERRORS_R_NOT_IMPLEMENTED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNotImplementedError(NULL);
return(-1);
}
@@ -364,11 +334,7 @@ xmlSecGCryptAppPkcs12Load(const char *filename,
xmlSecAssert2(filename != NULL, NULL);
/* TODO */
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecGCryptAppPkcs12Load",
- XMLSEC_ERRORS_R_NOT_IMPLEMENTED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNotImplementedError(NULL);
return(NULL);
}
@@ -395,11 +361,7 @@ xmlSecGCryptAppPkcs12LoadMemory(const xmlSecByte* data, xmlSecSize dataSize,
xmlSecAssert2(dataSize > 0, NULL);
/* TODO */
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecGCryptAppPkcs12LoadMemory",
- XMLSEC_ERRORS_R_NOT_IMPLEMENTED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNotImplementedError(NULL);
return(NULL);
}
@@ -426,11 +388,7 @@ xmlSecGCryptAppKeysMngrCertLoad(xmlSecKeysMngrPtr mngr,
xmlSecAssert2(format != xmlSecKeyDataFormatUnknown, -1);
/* TODO */
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecGCryptAppKeysMngrCertLoad",
- XMLSEC_ERRORS_R_NOT_IMPLEMENTED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNotImplementedError(NULL);
return(-1);
}
@@ -459,11 +417,7 @@ xmlSecGCryptAppKeysMngrCertLoadMemory(xmlSecKeysMngrPtr mngr,
xmlSecAssert2(format != xmlSecKeyDataFormatUnknown, -1);
/* TODO */
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecGCryptAppKeysMngrCertLoadMemory",
- XMLSEC_ERRORS_R_NOT_IMPLEMENTED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNotImplementedError(NULL);
return(-1);
}
@@ -490,21 +444,13 @@ xmlSecGCryptAppDefaultKeysMngrInit(xmlSecKeysMngrPtr mngr) {
keysStore = xmlSecKeyStoreCreate(xmlSecSimpleKeysStoreId);
if(keysStore == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecKeyStoreCreate",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "xmlSecSimpleKeysStoreId");
+ xmlSecInternalError("xmlSecKeyStoreCreate(xmlSecSimpleKeysStoreId)", NULL);
return(-1);
}
ret = xmlSecKeysMngrAdoptKeysStore(mngr, keysStore);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecKeysMngrAdoptKeysStore",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeysMngrAdoptKeysStore", NULL);
xmlSecKeyStoreDestroy(keysStore);
return(-1);
}
@@ -512,11 +458,7 @@ xmlSecGCryptAppDefaultKeysMngrInit(xmlSecKeysMngrPtr mngr) {
ret = xmlSecGCryptKeysMngrInit(mngr);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecGCryptKeysMngrInit",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecGCryptKeysMngrInit", NULL);
return(-1);
}
@@ -545,21 +487,13 @@ xmlSecGCryptAppDefaultKeysMngrAdoptKey(xmlSecKeysMngrPtr mngr, xmlSecKeyPtr key)
store = xmlSecKeysMngrGetKeysStore(mngr);
if(store == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecKeysMngrGetKeysStore",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeysMngrGetKeysStore", NULL);
return(-1);
}
ret = xmlSecSimpleKeysStoreAdoptKey(store, key);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecSimpleKeysStoreAdoptKey",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecSimpleKeysStoreAdoptKey", NULL);
return(-1);
}
@@ -586,21 +520,14 @@ xmlSecGCryptAppDefaultKeysMngrLoad(xmlSecKeysMngrPtr mngr, const char* uri) {
store = xmlSecKeysMngrGetKeysStore(mngr);
if(store == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecKeysMngrGetKeysStore",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeysMngrGetKeysStore", NULL);
return(-1);
}
ret = xmlSecSimpleKeysStoreLoad(store, uri, mngr);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecSimpleKeysStoreLoad",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "uri=%s", xmlSecErrorsSafeString(uri));
+ xmlSecInternalError2("xmlSecSimpleKeysStoreLoad", NULL,
+ "uri=%s", xmlSecErrorsSafeString(uri));
return(-1);
}
@@ -627,22 +554,14 @@ xmlSecGCryptAppDefaultKeysMngrSave(xmlSecKeysMngrPtr mngr, const char* filename,
store = xmlSecKeysMngrGetKeysStore(mngr);
if(store == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecKeysMngrGetKeysStore",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeysMngrGetKeysStore", NULL);
return(-1);
}
ret = xmlSecSimpleKeysStoreSave(store, filename, type);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecSimpleKeysStoreSave",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "filename=%s",
- xmlSecErrorsSafeString(filename));
+ xmlSecInternalError2("xmlSecSimpleKeysStoreSave", NULL,
+ "filename=%s", xmlSecErrorsSafeString(filename));
return(-1);
}
diff --git a/src/gcrypt/asn1.c b/src/gcrypt/asn1.c
index be3c799..b83e67f 100644
--- a/src/gcrypt/asn1.c
+++ b/src/gcrypt/asn1.c
@@ -1,5 +1,5 @@
-/**
- * XMLSec library
+/*
+ * XML Security Library (http://www.aleksey.com/xmlsec).
*
* This is free software; see Copyright file in the source
* distribution for preciese wording.
@@ -202,12 +202,8 @@ xmlSecGCryptAsn1ParseIntegerSequence(xmlSecByte const **buffer, xmlSecSize *bufl
memset(&ti, 0, sizeof(ti));
ret = xmlSecGCryptAsn1ParseTag (&buf, &length, &ti);
if((ret != 0) || (ti.tag != TAG_SEQUENCE) || ti.class || !ti.cons || ti.ndef) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecGCryptAsn1ParseTag",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "TAG_SEQUENCE is expected: tag=%d",
- (int)ti.tag);
+ xmlSecInternalError2("xmlSecGCryptAsn1ParseTag", NULL,
+ "TAG_SEQUENCE is expected: tag=%d", (int)ti.tag);
return(-1);
}
@@ -217,22 +213,15 @@ xmlSecGCryptAsn1ParseIntegerSequence(xmlSecByte const **buffer, xmlSecSize *bufl
ret = xmlSecGCryptAsn1ParseTag (&buf, &length, &ti);
if((ret != 0) || (ti.tag != TAG_INTEGER) || ti.class || ti.cons || ti.ndef)
{
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecGCryptAsn1ParseTag",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "TAG_INTEGER is expected - index=%d, tag=%d",
- (int)idx, (int)ti.tag);
+ xmlSecInternalError3("xmlSecGCryptAsn1ParseTag", NULL,
+ "TAG_INTEGER is expected - index=%d, tag=%d",
+ (int)idx, (int)ti.tag);
return(-1);
}
err = gcry_mpi_scan(&(params[idx]), GCRYMPI_FMT_USG, buf, ti.length, NULL);
if((err != GPG_ERR_NO_ERROR) || (params[idx] == NULL)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "gcry_mpi_scan",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_GCRYPT_REPORT_ERROR(err));
+ xmlSecGCryptError("gcry_mpi_scan", err, NULL);
return(-1);
}
buf += ti.length;
@@ -241,12 +230,9 @@ xmlSecGCryptAsn1ParseIntegerSequence(xmlSecByte const **buffer, xmlSecSize *bufl
/* did we parse everything? */
if(length > 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecGCryptAsn1ParseTag",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "too many params - cur=%d, expected=%d",
- (int)(idx - 1), (int)params_size);
+ xmlSecInternalError3("xmlSecGCryptAsn1ParseTag", NULL,
+ "too many params - cur=%d, expected=%d",
+ (int)(idx - 1), (int)params_size);
return(-1);
}
@@ -278,23 +264,15 @@ xmlSecGCryptParseDer(const xmlSecByte * der, xmlSecSize derlen,
keyparms, sizeof(keyparms) / sizeof(keyparms[0])
);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecGCryptAsn1ParseIntegerSequence",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecGCryptAsn1ParseIntegerSequence", NULL);
goto done;
}
keyparms_num = ret;
/* The value of the first integer should be 0. */
if ((keyparms_num < 1) || (gcry_mpi_cmp_ui(keyparms[0], 0) != 0)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecGCryptAsn1ParseTag",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "num=%d",
- (int)keyparms_num);
+ xmlSecInternalError2("xmlSecGCryptAsn1ParseTag", NULL,
+ "num=%d", (int)keyparms_num);
goto done;
}
@@ -319,11 +297,8 @@ xmlSecGCryptParseDer(const xmlSecByte * der, xmlSecSize derlen,
break;
default:
/* unknown */
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "Unexpected number of parameters, unknown key type",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "keyparms_num=%d", (int)keyparms_num);
+ xmlSecInvalidIntegerDataError("keyparms_num", keyparms_num,
+ "the number of parameters matching key type", NULL);
goto done;
}
}
@@ -334,11 +309,8 @@ xmlSecGCryptParseDer(const xmlSecByte * der, xmlSecSize derlen,
case xmlSecGCryptDerKeyTypePrivateDsa:
/* check we have enough params */
if(keyparms_num != 6) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "Private DSA key: 6 parameters exepcted",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "parms_num=%d", (int)keyparms_num);
+ xmlSecInvalidSizeError("Private DSA key params",
+ keyparms_num, 6, NULL);
goto done;
}
@@ -354,11 +326,7 @@ xmlSecGCryptParseDer(const xmlSecByte * der, xmlSecSize derlen,
keyparms[1], keyparms[2], keyparms[3], keyparms[4], keyparms[5]
);
if((err != GPG_ERR_NO_ERROR) || (s_priv_key == NULL)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "gcry_sexp_build(private-key/dsa)",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_GCRYPT_REPORT_ERROR(err));
+ xmlSecGCryptError("gcry_sexp_build(private-key/dsa)", err, NULL);
goto done;
}
@@ -367,32 +335,20 @@ xmlSecGCryptParseDer(const xmlSecByte * der, xmlSecSize derlen,
keyparms[1], keyparms[2], keyparms[3], keyparms[5]
);
if((err != GPG_ERR_NO_ERROR) || (s_pub_key == NULL)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "gcry_sexp_build(public-key/dsa)",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_GCRYPT_REPORT_ERROR(err));
+ xmlSecGCryptError("gcry_sexp_build(public-key/dsa)", err, NULL);
goto done;
}
/* construct key and key data */
key_data = xmlSecKeyDataCreate(xmlSecGCryptKeyDataDsaId);
if(key_data == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecKeyDataCreate",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "xmlSecGCryptKeyDataDsaId");
+ xmlSecInternalError("xmlSecKeyDataCreate(xmlSecGCryptKeyDataDsaId)", NULL);
goto done;
}
ret = xmlSecGCryptKeyDataDsaAdoptKeyPair(key_data, s_pub_key, s_priv_key);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecGCryptKeyDataDsaAdoptKey",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "xmlSecGCryptKeyDataDsaId");
+ xmlSecInternalError("xmlSecGCryptKeyDataDsaAdoptKey(xmlSecGCryptKeyDataDsaId)", NULL);
xmlSecKeyDataDestroy(key_data);
key_data = NULL;
goto done;
@@ -404,11 +360,8 @@ xmlSecGCryptParseDer(const xmlSecByte * der, xmlSecSize derlen,
case xmlSecGCryptDerKeyTypePublicDsa:
/* check we have enough params */
if(keyparms_num != 5) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "Public DSA key: 5 parameters exepcted",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "parms_num=%d", (int)keyparms_num);
+ xmlSecInvalidSizeError("Public DSA key params",
+ keyparms_num, 5, NULL);
goto done;
}
@@ -418,32 +371,20 @@ xmlSecGCryptParseDer(const xmlSecByte * der, xmlSecSize derlen,
keyparms[2], keyparms[3], keyparms[4], keyparms[1]
);
if((err != GPG_ERR_NO_ERROR) || (s_pub_key == NULL)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "gcry_sexp_build(public-key/dsa)",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_GCRYPT_REPORT_ERROR(err));
+ xmlSecGCryptError("gcry_sexp_build(public-key/dsa)", err, NULL);
goto done;
}
/* construct key and key data */
key_data = xmlSecKeyDataCreate(xmlSecGCryptKeyDataDsaId);
if(key_data == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecKeyDataCreate",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "xmlSecGCryptKeyDataDsaId");
+ xmlSecInternalError("xmlSecKeyDataCreate(xmlSecGCryptKeyDataDsaId)", NULL);
goto done;
}
ret = xmlSecGCryptKeyDataDsaAdoptKeyPair(key_data, s_pub_key, NULL);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecGCryptKeyDataDsaAdoptKey",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "xmlSecGCryptKeyDataDsaId");
+ xmlSecInternalError("xmlSecGCryptKeyDataDsaAdoptKey(xmlSecGCryptKeyDataDsaId)", NULL);
xmlSecKeyDataDestroy(key_data);
key_data = NULL;
goto done;
@@ -456,11 +397,8 @@ xmlSecGCryptParseDer(const xmlSecByte * der, xmlSecSize derlen,
case xmlSecGCryptDerKeyTypePrivateRsa:
/* check we have enough params */
if(keyparms_num != 9) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "Private RSA key: 9 parameters exepcted",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "parms_num=%d", (int)keyparms_num);
+ xmlSecInvalidSizeError("Private RSA key params",
+ keyparms_num, 9, NULL);
goto done;
}
@@ -479,11 +417,7 @@ xmlSecGCryptParseDer(const xmlSecByte * der, xmlSecSize derlen,
keyparms[4], keyparms[5], keyparms[8]
);
if((err != GPG_ERR_NO_ERROR) || (s_priv_key == NULL)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "gcry_sexp_build(private-key/rsa)",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_GCRYPT_REPORT_ERROR(err));
+ xmlSecGCryptError("gcry_sexp_build(private-key/rsa)", err, NULL);
goto done;
}
@@ -492,32 +426,20 @@ xmlSecGCryptParseDer(const xmlSecByte * der, xmlSecSize derlen,
keyparms[1], keyparms[2]
);
if((err != GPG_ERR_NO_ERROR) || (s_pub_key == NULL)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "gcry_sexp_build(public-key/rsa)",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_GCRYPT_REPORT_ERROR(err));
+ xmlSecGCryptError("gcry_sexp_build(public-key/rsa)", err, NULL);
goto done;
}
/* construct key and key data */
key_data = xmlSecKeyDataCreate(xmlSecGCryptKeyDataRsaId);
if(key_data == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecKeyDataCreate",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "xmlSecGCryptKeyDataRsaId");
+ xmlSecInternalError("xmlSecKeyDataCreate(xmlSecGCryptKeyDataRsaId)", NULL);
goto done;
}
ret = xmlSecGCryptKeyDataRsaAdoptKeyPair(key_data, s_pub_key, s_priv_key);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecGCryptKeyDataRsaAdoptKey",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "xmlSecGCryptKeyDataRsaId");
+ xmlSecInternalError("xmlSecGCryptKeyDataRsaAdoptKey(xmlSecGCryptKeyDataRsaId)", NULL);
xmlSecKeyDataDestroy(key_data);
key_data = NULL;
goto done;
@@ -529,11 +451,8 @@ xmlSecGCryptParseDer(const xmlSecByte * der, xmlSecSize derlen,
case xmlSecGCryptDerKeyTypePublicRsa:
/* check we have enough params */
if(keyparms_num != 3) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "Public RSA key: 3 parameters exepcted",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "parms_num=%d", (int)keyparms_num);
+ xmlSecInvalidSizeError("Public RSA key params",
+ keyparms_num, 3, NULL);
goto done;
}
@@ -543,32 +462,20 @@ xmlSecGCryptParseDer(const xmlSecByte * der, xmlSecSize derlen,
keyparms[1], keyparms[2]
);
if((err != GPG_ERR_NO_ERROR) || (s_pub_key == NULL)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "gcry_sexp_build(public-key/rsa)",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_GCRYPT_REPORT_ERROR(err));
+ xmlSecGCryptError("gcry_sexp_build(public-key/rsa)", err, NULL);
goto done;
}
/* construct key and key data */
key_data = xmlSecKeyDataCreate(xmlSecGCryptKeyDataRsaId);
if(key_data == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecKeyDataCreate",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "xmlSecGCryptKeyDataRsaId");
+ xmlSecInternalError("xmlSecKeyDataCreate(xmlSecGCryptKeyDataRsaId)", NULL);
goto done;
}
ret = xmlSecGCryptKeyDataRsaAdoptKeyPair(key_data, s_pub_key, NULL);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecGCryptKeyDataRsaAdoptKey",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "xmlSecGCryptKeyDataRsaId");
+ xmlSecInternalError("xmlSecGCryptKeyDataRsaAdoptKey(xmlSecGCryptKeyDataRsaId)", NULL);
xmlSecKeyDataDestroy(key_data);
key_data = NULL;
goto done;
@@ -578,11 +485,7 @@ xmlSecGCryptParseDer(const xmlSecByte * der, xmlSecSize derlen,
#endif /* XMLSEC_NO_RSA */
default:
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "Unsupported key type",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "type=%d", (int)type);
+ xmlSecInvalidIntegerTypeError("key_type", type, "supported key type", NULL);
goto done;
break;
}
diff --git a/src/gcrypt/asymkeys.c b/src/gcrypt/asymkeys.c
index 03bb212..cdbd263 100644
--- a/src/gcrypt/asymkeys.c
+++ b/src/gcrypt/asymkeys.c
@@ -1,5 +1,5 @@
-/**
- * XMLSec library
+/*
+ * XML Security Library (http://www.aleksey.com/xmlsec).
*
* This is free software; see Copyright file in the source
* distribution for preciese wording.
@@ -109,11 +109,8 @@ xmlSecGCryptAsymKeyDataDuplicate(xmlSecKeyDataPtr dst, xmlSecKeyDataPtr src) {
if(ctxSrc->pub_key != NULL) {
ctxDst->pub_key = xmlSecGCryptAsymSExpDup(ctxSrc->pub_key);
if(ctxDst->pub_key == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(dst)),
- "xmlSecGCryptAsymSExpDup(pub_key)",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecGCryptAsymSExpDup(pub_key)",
+ xmlSecKeyDataGetName(dst));
return(-1);
}
}
@@ -121,11 +118,8 @@ xmlSecGCryptAsymKeyDataDuplicate(xmlSecKeyDataPtr dst, xmlSecKeyDataPtr src) {
if(ctxSrc->priv_key != NULL) {
ctxDst->priv_key = xmlSecGCryptAsymSExpDup(ctxSrc->priv_key);
if(ctxDst->priv_key == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(dst)),
- "xmlSecGCryptAsymSExpDup(priv_key)",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecGCryptAsymSExpDup(priv_key)",
+ xmlSecKeyDataGetName(dst));
return(-1);
}
}
@@ -170,22 +164,15 @@ xmlSecGCryptAsymKeyDataAdoptKey(xmlSecKeyDataPtr data, gcry_sexp_t key_pair) {
not be present */
pub_key = gcry_sexp_find_token(key_pair, "public-key", 0);
if(pub_key == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "gcry_sexp_find_token(public-key)",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecGCryptError("gcry_sexp_find_token(public-key)",
+ GPG_ERR_NO_ERROR, NULL);
goto done;
}
priv_key = gcry_sexp_find_token(key_pair, "private-key", 0);
/* assign */
if(xmlSecGCryptAsymKeyDataAdoptKeyPair(data, pub_key, priv_key) < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecGCryptAsymKeyDataAdoptKeyPair",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecGCryptAsymKeyDataAdoptKeyPair", NULL);
goto done;
}
pub_key = NULL; /* data owns it now */
@@ -286,31 +273,19 @@ xmlSecGCryptAsymKeyDataGenerate(xmlSecKeyDataPtr data, const char * alg, xmlSecS
"(genkey (%s (nbits %d)(transient-key)))",
alg, (int)key_size);
if((err != GPG_ERR_NO_ERROR) || (key_spec == NULL)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "gcry_sexp_build(genkey)",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_GCRYPT_REPORT_ERROR(err));
+ xmlSecGCryptError("gcry_sexp_build(genkey)", err, NULL);
goto done;
}
err = gcry_pk_genkey(&key_pair, key_spec);
if((err != GPG_ERR_NO_ERROR) || (key_pair == NULL)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "gcry_pk_genkey",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_GCRYPT_REPORT_ERROR(err));
+ xmlSecGCryptError("gcry_pk_genkey", err, NULL);
goto done;
}
ret = xmlSecGCryptAsymKeyDataAdoptKey(data, key_pair);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecGCryptAsymKeyDataAdopt",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "ret=%d", (int)ret);
+ xmlSecInternalError("xmlSecGCryptAsymKeyDataAdopt", NULL);
goto done;
}
key_pair = NULL; /* now owned by data */
@@ -378,41 +353,26 @@ xmlSecGCryptAsymSExpDup(gcry_sexp_t pKey) {
size = gcry_sexp_sprint(pKey, GCRYSEXP_FMT_ADVANCED, NULL, 0);
if(size == 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "gcry_sexp_sprint",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecGCryptError("gcry_sexp_sprint", GPG_ERR_NO_ERROR, NULL);
goto done;
}
buf = (xmlSecByte *)xmlMalloc(size);
if(buf == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlMalloc",
- XMLSEC_ERRORS_R_MALLOC_FAILED,
- "size=%d", (int)size);
+ xmlSecMallocError(size, NULL);
goto done;
}
size = gcry_sexp_sprint(pKey, GCRYSEXP_FMT_ADVANCED, buf, size);
if(size == 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "gcry_sexp_sprint",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- "size=%d", (int)size);
+ xmlSecGCryptError2("gcry_sexp_sprint", GPG_ERR_NO_ERROR, NULL,
+ "size=%lu", (unsigned long)size);
goto done;
}
err = gcry_sexp_new(&res, buf, size, 1);
if((err != GPG_ERR_NO_ERROR) || (res == NULL)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "gcry_sexp_new",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_GCRYPT_REPORT_ERROR(err));
+ xmlSecGCryptError("gcry_sexp_new", err, NULL);
goto done;
}
@@ -446,21 +406,13 @@ xmlSecGCryptNodeGetMpiValue(const xmlNodePtr cur) {
ret = xmlSecBufferInitialize(&buf, 128);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecBufferInitialize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecBufferInitialize", NULL);
return(NULL);
}
ret = xmlSecBufferBase64NodeContentRead(&buf, cur);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecBufferBase64NodeContentRead",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecBufferBase64NodeContentRead", NULL);
xmlSecBufferFinalize(&buf);
return(NULL);
}
@@ -470,11 +422,7 @@ xmlSecGCryptNodeGetMpiValue(const xmlNodePtr cur) {
xmlSecBufferGetSize(&buf),
NULL);
if((err != GPG_ERR_NO_ERROR) || (res == NULL)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "gcry_mpi_scan",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_GCRYPT_REPORT_ERROR(err));
+ xmlSecGCryptError("gcry_mpi_scan", err, NULL);
xmlSecBufferFinalize(&buf);
return(NULL);
}
@@ -513,21 +461,14 @@ xmlSecGCryptNodeSetMpiValue(xmlNodePtr cur, const gcry_mpi_t a, int addLineBreak
written = 0;
err = gcry_mpi_print(GCRYMPI_FMT_USG, NULL, 0, &written, a);
if((err != GPG_ERR_NO_ERROR) || (written == 0)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "gcry_mpi_print",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_GCRYPT_REPORT_ERROR(err));
+ xmlSecGCryptError("gcry_mpi_print", err, NULL);
return(-1);
}
ret = xmlSecBufferInitialize(&buf, written + 1);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecBufferInitialize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "size=%d", (int)written + 1);
+ xmlSecInternalError2("xmlSecBufferInitialize", NULL,
+ "size=%d", (int)written + 1);
return(-1);
}
@@ -537,22 +478,15 @@ xmlSecGCryptNodeSetMpiValue(xmlNodePtr cur, const gcry_mpi_t a, int addLineBreak
xmlSecBufferGetMaxSize(&buf),
&written, a);
if((err != GPG_ERR_NO_ERROR) || (written == 0)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "gcry_mpi_print",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_GCRYPT_REPORT_ERROR(err));
+ xmlSecGCryptError("gcry_mpi_print", err, NULL);
xmlSecBufferFinalize(&buf);
return(-1);
}
ret = xmlSecBufferSetSize(&buf, written);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecBufferSetSize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "written=%d", (int)written);
+ xmlSecInternalError2("xmlSecBufferSetSize", NULL,
+ "size=%d", (int)written);
xmlSecBufferFinalize(&buf);
return(-1);
}
@@ -565,11 +499,7 @@ xmlSecGCryptNodeSetMpiValue(xmlNodePtr cur, const gcry_mpi_t a, int addLineBreak
ret = xmlSecBufferBase64NodeContentWrite(&buf, cur, xmlSecBase64GetDefaultLineSize());
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecBufferBase64NodeContentWrite",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecBufferBase64NodeContentWrite", NULL);
xmlSecBufferFinalize(&buf);
return(-1);
}
@@ -613,23 +543,14 @@ xmlSecGCryptNodeSetSExpTokValue(xmlNodePtr cur, const gcry_sexp_t sexp,
val = gcry_sexp_find_token(sexp, tok, 0);
if(val == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "gcry_sexp_find_token",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "tok=%s",
- xmlSecErrorsSafeString(tok));
+ xmlSecGCryptError2("gcry_sexp_find_token", GPG_ERR_NO_ERROR, NULL,
+ "tok=%s", xmlSecErrorsSafeString(tok));
goto done;
}
mpi = gcry_sexp_nth_mpi(val, 1, GCRYMPI_FMT_USG);
if(mpi == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "gcry_sexp_nth_mpi",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "tok=%s",
- xmlSecErrorsSafeString(tok));
+ xmlSecGCryptError("gcry_sexp_nth_mpi", GPG_ERR_NO_ERROR, NULL);
goto done;
}
@@ -945,11 +866,9 @@ xmlSecGCryptKeyDataDsaXmlRead(xmlSecKeyDataId id,
xmlSecAssert2(keyInfoCtx != NULL, -1);
if(xmlSecKeyGetValue(key) != NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- NULL,
- XMLSEC_ERRORS_R_INVALID_KEY_DATA,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOtherError(XMLSEC_ERRORS_R_INVALID_KEY_DATA,
+ xmlSecKeyDataKlassGetName(id),
+ "key already has a value");
goto done;
}
@@ -957,66 +876,39 @@ xmlSecGCryptKeyDataDsaXmlRead(xmlSecKeyDataId id,
/* first is P node. It is REQUIRED because we do not support Seed and PgenCounter*/
if((cur == NULL) || (!xmlSecCheckNodeName(cur, xmlSecNodeDSAP, xmlSecDSigNs))) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- xmlSecErrorsSafeString(xmlSecNodeGetName(cur)),
- XMLSEC_ERRORS_R_INVALID_NODE,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeDSAP));
+ xmlSecInvalidNodeError(cur, xmlSecNodeDSAP, xmlSecKeyDataKlassGetName(id));
goto done;
}
p = xmlSecGCryptNodeGetMpiValue(cur);
if(p == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecGCryptNodeGetMpiValue",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeDSAP));
+ xmlSecInternalError("xmlSecGCryptNodeGetMpiValue(NodeDSAP)",
+ xmlSecKeyDataKlassGetName(id));
goto done;
}
cur = xmlSecGetNextElementNode(cur->next);
/* next is Q node. It is REQUIRED because we do not support Seed and PgenCounter*/
if((cur == NULL) || (!xmlSecCheckNodeName(cur, xmlSecNodeDSAQ, xmlSecDSigNs))) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- xmlSecErrorsSafeString(xmlSecNodeGetName(cur)),
- XMLSEC_ERRORS_R_INVALID_NODE,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeDSAQ));
+ xmlSecInvalidNodeError(cur, xmlSecNodeDSAQ, xmlSecKeyDataKlassGetName(id));
goto done;
}
q = xmlSecGCryptNodeGetMpiValue(cur);
if(q == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecGCryptNodeGetMpiValue",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeDSAQ));
+ xmlSecInternalError("xmlSecGCryptNodeGetMpiValue(NodeDSAQ)",
+ xmlSecKeyDataKlassGetName(id));
goto done;
}
cur = xmlSecGetNextElementNode(cur->next);
/* next is G node. It is REQUIRED because we do not support Seed and PgenCounter*/
if((cur == NULL) || (!xmlSecCheckNodeName(cur, xmlSecNodeDSAG, xmlSecDSigNs))) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- xmlSecErrorsSafeString(xmlSecNodeGetName(cur)),
- XMLSEC_ERRORS_R_INVALID_NODE,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeDSAG));
+ xmlSecInvalidNodeError(cur, xmlSecNodeDSAG, xmlSecKeyDataKlassGetName(id));
goto done;
}
g = xmlSecGCryptNodeGetMpiValue(cur);
if(g == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecGCryptNodeGetMpiValue",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeDSAG));
+ xmlSecInternalError("xmlSecGCryptNodeGetMpiValue(NodeDSAG)",
+ xmlSecKeyDataKlassGetName(id));
goto done;
}
cur = xmlSecGetNextElementNode(cur->next);
@@ -1026,12 +918,8 @@ xmlSecGCryptKeyDataDsaXmlRead(xmlSecKeyDataId id,
* we are not sure exactly what do we read */
x = xmlSecGCryptNodeGetMpiValue(cur);
if(x == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecGCryptNodeGetMpiValue",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeDSAX));
+ xmlSecInternalError("xmlSecGCryptNodeGetMpiValue(NodeDSAX)",
+ xmlSecKeyDataKlassGetName(id));
goto done;
}
cur = xmlSecGetNextElementNode(cur->next);
@@ -1039,21 +927,13 @@ xmlSecGCryptKeyDataDsaXmlRead(xmlSecKeyDataId id,
/* next is Y node. */
if((cur == NULL) || (!xmlSecCheckNodeName(cur, xmlSecNodeDSAY, xmlSecDSigNs))) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- xmlSecErrorsSafeString(xmlSecNodeGetName(cur)),
- XMLSEC_ERRORS_R_INVALID_NODE,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeDSAY));
+ xmlSecInvalidNodeError(cur, xmlSecNodeDSAY, xmlSecKeyDataKlassGetName(id));
goto done;
}
y = xmlSecGCryptNodeGetMpiValue(cur);
if(y == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecGCryptNodeGetMpiValue",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s", xmlSecErrorsSafeString(xmlSecNodeDSAY));
+ xmlSecInternalError("xmlSecGCryptNodeGetMpiValue(NodeDSAY)",
+ xmlSecKeyDataKlassGetName(id));
goto done;
}
cur = xmlSecGetNextElementNode(cur->next);
@@ -1074,11 +954,7 @@ xmlSecGCryptKeyDataDsaXmlRead(xmlSecKeyDataId id,
}
if(cur != NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- xmlSecErrorsSafeString(xmlSecNodeGetName(cur)),
- XMLSEC_ERRORS_R_UNEXPECTED_NODE,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecUnexpectedNodeError(cur, xmlSecKeyDataKlassGetName(id));
goto done;
}
@@ -1093,11 +969,8 @@ xmlSecGCryptKeyDataDsaXmlRead(xmlSecKeyDataId id,
"(public-key(dsa(p%m)(q%m)(g%m)(y%m)))",
p, q, g, y);
if((err != GPG_ERR_NO_ERROR) || (pub_key == NULL)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- "gcry_sexp_build(public)",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_GCRYPT_REPORT_ERROR(err));
+ xmlSecGCryptError("gcry_sexp_build(public)", err,
+ xmlSecKeyDataGetName(data));
goto done;
}
if(x != NULL) {
@@ -1105,11 +978,8 @@ xmlSecGCryptKeyDataDsaXmlRead(xmlSecKeyDataId id,
"(private-key(dsa(p%m)(q%m)(g%m)(x%m)(y%m)))",
p, q, g, x, y);
if((err != GPG_ERR_NO_ERROR) || (priv_key == NULL)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- "gcry_sexp_build(private)",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_GCRYPT_REPORT_ERROR(err));
+ xmlSecGCryptError("gcry_sexp_build(private)", err,
+ xmlSecKeyDataGetName(data));
goto done;
}
}
@@ -1117,21 +987,15 @@ xmlSecGCryptKeyDataDsaXmlRead(xmlSecKeyDataId id,
/* create key data */
data = xmlSecKeyDataCreate(id);
if(data == NULL ) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecKeyDataCreate",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeyDataCreate",
+ xmlSecKeyDataKlassGetName(id));
goto done;
}
ret = xmlSecGCryptKeyDataDsaAdoptKeyPair(data, pub_key, priv_key);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- "xmlSecGCryptKeyDataDsaAdoptKeyPair",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecGCryptKeyDataDsaAdoptKeyPair",
+ xmlSecKeyDataGetName(data));
goto done;
}
pub_key = NULL; /* pub_key is owned by data now */
@@ -1140,11 +1004,8 @@ xmlSecGCryptKeyDataDsaXmlRead(xmlSecKeyDataId id,
/* set key */
ret = xmlSecKeySetValue(key, data);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- "xmlSecKeySetValue",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeySetValue",
+ xmlSecKeyDataGetName(data));
goto done;
}
data = NULL; /* data is owned by key now */
@@ -1214,11 +1075,8 @@ xmlSecGCryptKeyDataDsaXmlWrite(xmlSecKeyDataId id, xmlSecKeyPtr key,
if(pub_priv_key == NULL) {
pub_priv_key = xmlSecGCryptKeyDataDsaGetPublicKey(xmlSecKeyGetValue(key));
if(pub_priv_key == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecGCryptKeyDataDsaGetPublicKey()",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecGCryptKeyDataDsaGetPublicKey()",
+ xmlSecKeyDataKlassGetName(id));
goto done;
}
} else {
@@ -1227,77 +1085,50 @@ xmlSecGCryptKeyDataDsaXmlWrite(xmlSecKeyDataId id, xmlSecKeyPtr key,
dsa = gcry_sexp_find_token(pub_priv_key, "dsa", 0);
if(dsa == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "gcry_sexp_find_token(dsa)",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecGCryptError("gcry_sexp_find_token(dsa)", GPG_ERR_NO_ERROR,
+ xmlSecKeyDataKlassGetName(id));
goto done;
}
/* first is P node */
cur = xmlSecAddChild(node, xmlSecNodeDSAP, xmlSecDSigNs);
if(cur == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecAddChild",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeDSAP));
+ xmlSecInternalError("xmlSecAddChild(NodeDSAP)",
+ xmlSecKeyDataKlassGetName(id));
goto done;
}
ret = xmlSecGCryptNodeSetSExpTokValue(cur, dsa, "p", 1);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecGCryptNodeSetSExpTokValue",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeDSAP));
+ xmlSecInternalError("xmlSecGCryptNodeSetSExpTokValue(NodeDSAP)",
+ xmlSecKeyDataKlassGetName(id));
goto done;
}
/* next is Q node. */
cur = xmlSecAddChild(node, xmlSecNodeDSAQ, xmlSecDSigNs);
if(cur == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecAddChild",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeDSAQ));
+ xmlSecInternalError("xmlSecAddChild(NodeDSAQ)",
+ xmlSecKeyDataKlassGetName(id));
goto done;
}
ret = xmlSecGCryptNodeSetSExpTokValue(cur, dsa, "q", 1);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecGCryptNodeSetSExpTokValue",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeDSAQ));
+ xmlSecInternalError("xmlSecGCryptNodeSetSExpTokValue(NodeDSAQ)",
+ xmlSecKeyDataKlassGetName(id));
goto done;
}
/* next is G node. */
cur = xmlSecAddChild(node, xmlSecNodeDSAG, xmlSecDSigNs);
if(cur == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecAddChild",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeDSAG));
+ xmlSecInternalError("xmlSecAddChild(NodeDSAG)",
+ xmlSecKeyDataKlassGetName(id));
goto done;
}
ret = xmlSecGCryptNodeSetSExpTokValue(cur, dsa, "g", 1);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecGCryptNodeSetSExpTokValue",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeDSAG));
+ xmlSecInternalError("xmlSecGCryptNodeSetSExpTokValue(NodeDSAG)",
+ xmlSecKeyDataKlassGetName(id));
goto done;
}
@@ -1305,22 +1136,14 @@ xmlSecGCryptKeyDataDsaXmlWrite(xmlSecKeyDataId id, xmlSecKeyPtr key,
if(((keyInfoCtx->keyReq.keyType & xmlSecKeyDataTypePrivate) != 0) && (private != 0)) {
cur = xmlSecAddChild(node, xmlSecNodeDSAX, xmlSecNs);
if(cur == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecAddChild",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeDSAX));
+ xmlSecInternalError("xmlSecAddChild(NodeDSAX)",
+ xmlSecKeyDataKlassGetName(id));
goto done;
}
ret = xmlSecGCryptNodeSetSExpTokValue(cur, dsa, "x", 1);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecGCryptNodeSetSExpTokValue",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeDSAX));
+ xmlSecInternalError("xmlSecGCryptNodeSetSExpTokValue(NodeDSAX)",
+ xmlSecKeyDataKlassGetName(id));
goto done;
}
}
@@ -1328,22 +1151,14 @@ xmlSecGCryptKeyDataDsaXmlWrite(xmlSecKeyDataId id, xmlSecKeyPtr key,
/* next is Y node. */
cur = xmlSecAddChild(node, xmlSecNodeDSAY, xmlSecDSigNs);
if(cur == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecAddChild",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeDSAY));
+ xmlSecInternalError("xmlSecAddChild(NodeDSAY)",
+ xmlSecKeyDataKlassGetName(id));
goto done;
}
ret = xmlSecGCryptNodeSetSExpTokValue(cur, dsa, "y", 1);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecGCryptNodeSetSExpTokValue",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeDSAY));
+ xmlSecInternalError("xmlSecGCryptNodeSetSExpTokValue(NodeDSAY)",
+ xmlSecKeyDataKlassGetName(id));
goto done;
}
@@ -1623,11 +1438,9 @@ xmlSecGCryptKeyDataRsaXmlRead(xmlSecKeyDataId id, xmlSecKeyPtr key,
xmlSecAssert2(keyInfoCtx != NULL, -1);
if(xmlSecKeyGetValue(key) != NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- NULL,
- XMLSEC_ERRORS_R_INVALID_KEY_DATA,
- "key already has a value");
+ xmlSecOtherError(XMLSEC_ERRORS_R_INVALID_KEY_DATA,
+ xmlSecKeyDataKlassGetName(id),
+ "key already has a value");
goto done;
}
@@ -1635,44 +1448,26 @@ xmlSecGCryptKeyDataRsaXmlRead(xmlSecKeyDataId id, xmlSecKeyPtr key,
/* first is Modulus node. It is REQUIRED */
if((cur == NULL) || (!xmlSecCheckNodeName(cur, xmlSecNodeRSAModulus, xmlSecDSigNs))) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- xmlSecErrorsSafeString(xmlSecNodeGetName(cur)),
- XMLSEC_ERRORS_R_INVALID_NODE,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeRSAModulus));
+ xmlSecInvalidNodeError(cur, xmlSecNodeRSAModulus, xmlSecKeyDataKlassGetName(id));
goto done;
}
n = xmlSecGCryptNodeGetMpiValue(cur);
if(n == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecGCryptNodeGetMpiValue",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeRSAModulus));
+ xmlSecInternalError("xmlSecGCryptNodeGetMpiValue(NodeRSAModulus)",
+ xmlSecKeyDataKlassGetName(id));
goto done;
}
cur = xmlSecGetNextElementNode(cur->next);
/* next is Exponent node. It is REQUIRED */
if((cur == NULL) || (!xmlSecCheckNodeName(cur, xmlSecNodeRSAExponent, xmlSecDSigNs))) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- xmlSecErrorsSafeString(xmlSecNodeGetName(cur)),
- XMLSEC_ERRORS_R_INVALID_NODE,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeRSAExponent));
+ xmlSecInvalidNodeError(cur, xmlSecNodeRSAExponent, xmlSecKeyDataKlassGetName(id));
goto done;
}
e = xmlSecGCryptNodeGetMpiValue(cur);
if(e == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecGCryptNodeGetMpiValue",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeRSAExponent));
+ xmlSecInternalError("xmlSecGCryptNodeGetMpiValue(NodeRSAExponent)",
+ xmlSecKeyDataKlassGetName(id));
goto done;
}
cur = xmlSecGetNextElementNode(cur->next);
@@ -1681,23 +1476,15 @@ xmlSecGCryptKeyDataRsaXmlRead(xmlSecKeyDataId id, xmlSecKeyPtr key,
/* next is PrivateExponent node. It is REQUIRED for private key */
d = xmlSecGCryptNodeGetMpiValue(cur);
if(d == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecGCryptNodeGetMpiValue",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeRSAPrivateExponent));
+ xmlSecInternalError("xmlSecGCryptNodeGetMpiValue(NodeRSAPrivateExponent)",
+ xmlSecKeyDataKlassGetName(id));
goto done;
}
cur = xmlSecGetNextElementNode(cur->next);
}
if(cur != NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- xmlSecErrorsSafeString(xmlSecNodeGetName(cur)),
- XMLSEC_ERRORS_R_INVALID_NODE,
- "no nodes expected");
+ xmlSecUnexpectedNodeError(cur, xmlSecKeyDataKlassGetName(id));
goto done;
}
@@ -1706,11 +1493,8 @@ xmlSecGCryptKeyDataRsaXmlRead(xmlSecKeyDataId id, xmlSecKeyPtr key,
"(public-key(rsa(n%m)(e%m)))",
n, e);
if((err != GPG_ERR_NO_ERROR) || (pub_key == NULL)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- "gcry_sexp_build(public)",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_GCRYPT_REPORT_ERROR(err));
+ xmlSecGCryptError("gcry_sexp_build(public)", err,
+ xmlSecKeyDataGetName(data));
goto done;
}
if(d != NULL) {
@@ -1718,11 +1502,8 @@ xmlSecGCryptKeyDataRsaXmlRead(xmlSecKeyDataId id, xmlSecKeyPtr key,
"(private-key(rsa(n%m)(e%m)(d%m)))",
n, e, d);
if((err != GPG_ERR_NO_ERROR) || (priv_key == NULL)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- "gcry_sexp_build(private)",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_GCRYPT_REPORT_ERROR(err));
+ xmlSecGCryptError("gcry_sexp_build(private)", err,
+ xmlSecKeyDataGetName(data));
goto done;
}
}
@@ -1731,21 +1512,15 @@ xmlSecGCryptKeyDataRsaXmlRead(xmlSecKeyDataId id, xmlSecKeyPtr key,
/* create key data */
data = xmlSecKeyDataCreate(id);
if(data == NULL ) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecKeyDataCreate",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeyDataCreate",
+ xmlSecKeyDataKlassGetName(id));
goto done;
}
ret = xmlSecGCryptKeyDataRsaAdoptKeyPair(data, pub_key, priv_key);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- "xmlSecGCryptKeyDataRsaAdoptKeyPair",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecGCryptKeyDataRsaAdoptKeyPair",
+ xmlSecKeyDataGetName(data));
goto done;
}
pub_key = NULL; /* pub_key is owned by data now */
@@ -1754,11 +1529,8 @@ xmlSecGCryptKeyDataRsaXmlRead(xmlSecKeyDataId id, xmlSecKeyPtr key,
/* set key */
ret = xmlSecKeySetValue(key, data);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- "xmlSecKeySetValue",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeySetValue",
+ xmlSecKeyDataGetName(data));
goto done;
}
data = NULL; /* data is owned by key now */
@@ -1822,11 +1594,8 @@ xmlSecGCryptKeyDataRsaXmlWrite(xmlSecKeyDataId id, xmlSecKeyPtr key,
if(pub_priv_key == NULL) {
pub_priv_key = xmlSecGCryptKeyDataRsaGetPublicKey(xmlSecKeyGetValue(key));
if(pub_priv_key == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecGCryptKeyDataRsaGetPublicKey()",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecGCryptKeyDataRsaGetPublicKey()",
+ xmlSecKeyDataKlassGetName(id));
goto done;
}
} else {
@@ -1835,55 +1604,37 @@ xmlSecGCryptKeyDataRsaXmlWrite(xmlSecKeyDataId id, xmlSecKeyPtr key,
rsa = gcry_sexp_find_token(pub_priv_key, "rsa", 0);
if(rsa == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "gcry_sexp_find_token(rsa)",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecGCryptError("gcry_sexp_find_token(rsa)",
+ GPG_ERR_NO_ERROR,
+ xmlSecKeyDataKlassGetName(id));
goto done;
}
/* first is Modulus node */
cur = xmlSecAddChild(node, xmlSecNodeRSAModulus, xmlSecDSigNs);
if(cur == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecAddChild",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeRSAModulus));
+ xmlSecInternalError("xmlSecAddChild(NodeRSAModulus)",
+ xmlSecKeyDataKlassGetName(id));
goto done;
}
ret = xmlSecGCryptNodeSetSExpTokValue(cur, rsa, "n", 1);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecGCryptNodeSetSExpTokValue",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeRSAModulus));
+ xmlSecInternalError("xmlSecGCryptNodeSetSExpTokValue(NodeRSAModulus)",
+ xmlSecKeyDataKlassGetName(id));
goto done;
}
/* next is Exponent node. */
cur = xmlSecAddChild(node, xmlSecNodeRSAExponent, xmlSecDSigNs);
if(cur == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecAddChild",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeRSAExponent));
+ xmlSecInternalError("xmlSecAddChild(NodeRSAExponent)",
+ xmlSecKeyDataKlassGetName(id));
goto done;
}
ret = xmlSecGCryptNodeSetSExpTokValue(cur, rsa, "e", 1);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecGCryptNodeSetSExpTokValue",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeRSAExponent));
+ xmlSecInternalError("xmlSecGCryptNodeSetSExpTokValue(NodeRSAExponent)",
+ xmlSecKeyDataKlassGetName(id));
goto done;
}
@@ -1891,22 +1642,14 @@ xmlSecGCryptKeyDataRsaXmlWrite(xmlSecKeyDataId id, xmlSecKeyPtr key,
if(((keyInfoCtx->keyReq.keyType & xmlSecKeyDataTypePrivate) != 0) && (private != 0)) {
cur = xmlSecAddChild(node, xmlSecNodeRSAPrivateExponent, xmlSecNs);
if(cur == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecAddChild",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeRSAPrivateExponent));
+ xmlSecInternalError("xmlSecAddChild(NodeRSAPrivateExponent)",
+ xmlSecKeyDataKlassGetName(id));
goto done;
}
ret = xmlSecGCryptNodeSetSExpTokValue(cur, rsa, "d", 1);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecGCryptNodeSetSExpTokValue",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeRSAPrivateExponent));
+ xmlSecInternalError("xmlSecGCryptNodeSetSExpTokValue(NodeRSAPrivateExponent)",
+ xmlSecKeyDataKlassGetName(id));
goto done;
}
}
diff --git a/src/gcrypt/ciphers.c b/src/gcrypt/ciphers.c
index 76c1d5a..91db557 100644
--- a/src/gcrypt/ciphers.c
+++ b/src/gcrypt/ciphers.c
@@ -1,5 +1,5 @@
-/**
- * XMLSec library
+/*
+ * XML Security Library (http://www.aleksey.com/xmlsec).
*
* This is free software; see Copyright file in the source
* distribution for preciese wording.
@@ -84,11 +84,8 @@ xmlSecGCryptBlockCipherCtxInit(xmlSecGCryptBlockCipherCtxPtr ctx,
outSize = xmlSecBufferGetSize(out);
ret = xmlSecBufferSetSize(out, outSize + blockLen);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(cipherName),
- "xmlSecBufferSetSize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "size=%d", outSize + blockLen);
+ xmlSecInternalError2("xmlSecBufferSetSize", cipherName,
+ "size=%d", outSize + blockLen);
return(-1);
}
iv = xmlSecBufferGetData(out) + outSize;
@@ -97,11 +94,8 @@ xmlSecGCryptBlockCipherCtxInit(xmlSecGCryptBlockCipherCtxPtr ctx,
gcry_randomize(iv, blockLen, GCRY_STRONG_RANDOM);
err = gcry_cipher_setiv(ctx->cipherCtx, iv, blockLen);
if(err != GPG_ERR_NO_ERROR) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(cipherName),
- "gcry_cipher_setiv",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_GCRYPT_REPORT_ERROR(err));
+ xmlSecGCryptError("gcry_cipher_setiv", err,
+ cipherName);
return(-1);
}
} else {
@@ -115,22 +109,16 @@ xmlSecGCryptBlockCipherCtxInit(xmlSecGCryptBlockCipherCtxPtr ctx,
/* set iv */
err = gcry_cipher_setiv(ctx->cipherCtx, xmlSecBufferGetData(in), blockLen);
if(err != GPG_ERR_NO_ERROR) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(cipherName),
- "gcry_cipher_setiv",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_GCRYPT_REPORT_ERROR(err));
+ xmlSecGCryptError("gcry_cipher_setiv", err,
+ cipherName);
return(-1);
}
/* and remove from input */
ret = xmlSecBufferRemoveHead(in, blockLen);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(cipherName),
- "xmlSecBufferRemoveHead",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "size=%d", blockLen);
+ xmlSecInternalError2("xmlSecBufferRemoveHead", cipherName,
+ "size=%d", blockLen);
return(-1);
}
}
@@ -181,11 +169,8 @@ xmlSecGCryptBlockCipherCtxUpdate(xmlSecGCryptBlockCipherCtxPtr ctx,
/* we write out the input size plus may be one block */
ret = xmlSecBufferSetMaxSize(out, outSize + inSize + blockLen);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(cipherName),
- "xmlSecBufferSetMaxSize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "size=%d", outSize + inSize + blockLen);
+ xmlSecInternalError2("xmlSecBufferSetMaxSize", cipherName,
+ "size=%d", outSize + inSize + blockLen);
return(-1);
}
outBuf = xmlSecBufferGetData(out) + outSize;
@@ -194,22 +179,16 @@ xmlSecGCryptBlockCipherCtxUpdate(xmlSecGCryptBlockCipherCtxPtr ctx,
err = gcry_cipher_encrypt(ctx->cipherCtx, outBuf, inSize + blockLen,
xmlSecBufferGetData(in), inSize);
if(err != GPG_ERR_NO_ERROR) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(cipherName),
- "gcry_cipher_encrypt",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_GCRYPT_REPORT_ERROR(err));
+ xmlSecGCryptError("gcry_cipher_encrypt", err,
+ cipherName);
return(-1);
}
} else {
err = gcry_cipher_decrypt(ctx->cipherCtx, outBuf, inSize + blockLen,
xmlSecBufferGetData(in), inSize);
if(err != GPG_ERR_NO_ERROR) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(cipherName),
- "gcry_cipher_decrypt",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_GCRYPT_REPORT_ERROR(err));
+ xmlSecGCryptError("gcry_cipher_decrypt", err,
+ cipherName);
return(-1);
}
}
@@ -217,22 +196,16 @@ xmlSecGCryptBlockCipherCtxUpdate(xmlSecGCryptBlockCipherCtxPtr ctx,
/* set correct output buffer size */
ret = xmlSecBufferSetSize(out, outSize + inSize);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(cipherName),
- "xmlSecBufferSetSize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "size=%d", outSize + inSize);
+ xmlSecInternalError2("xmlSecBufferSetSize", cipherName,
+ "size=%d", outSize + inSize);
return(-1);
}
/* remove the processed block from input */
ret = xmlSecBufferRemoveHead(in, inSize);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(cipherName),
- "xmlSecBufferRemoveHead",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "size=%d", inSize);
+ xmlSecInternalError2("xmlSecBufferRemoveHead", cipherName,
+ "size=%d", inSize);
return(-1);
}
return(0);
@@ -272,11 +245,8 @@ xmlSecGCryptBlockCipherCtxFinal(xmlSecGCryptBlockCipherCtxPtr ctx,
/* create padding */
ret = xmlSecBufferSetMaxSize(in, blockLen);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(cipherName),
- "xmlSecBufferSetMaxSize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "size=%d", blockLen);
+ xmlSecInternalError2("xmlSecBufferSetMaxSize", cipherName,
+ "size=%d", blockLen);
return(-1);
}
inBuf = xmlSecBufferGetData(in);
@@ -290,11 +260,7 @@ xmlSecGCryptBlockCipherCtxFinal(xmlSecGCryptBlockCipherCtxPtr ctx,
inSize = blockLen;
} else {
if(inSize != (xmlSecSize)blockLen) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(cipherName),
- NULL,
- XMLSEC_ERRORS_R_INVALID_DATA,
- "data=%d;block=%d", inSize, blockLen);
+ xmlSecInvalidSizeError("Input data", inSize, blockLen, cipherName);
return(-1);
}
}
@@ -302,11 +268,8 @@ xmlSecGCryptBlockCipherCtxFinal(xmlSecGCryptBlockCipherCtxPtr ctx,
/* process last block */
ret = xmlSecBufferSetMaxSize(out, outSize + 2 * blockLen);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(cipherName),
- "xmlSecBufferSetMaxSize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "size=%d", outSize + 2 * blockLen);
+ xmlSecInternalError2("xmlSecBufferSetMaxSize", cipherName,
+ "size=%d", outSize + 2 * blockLen);
return(-1);
}
outBuf = xmlSecBufferGetData(out) + outSize;
@@ -315,22 +278,16 @@ xmlSecGCryptBlockCipherCtxFinal(xmlSecGCryptBlockCipherCtxPtr ctx,
err = gcry_cipher_encrypt(ctx->cipherCtx, outBuf, inSize + blockLen,
xmlSecBufferGetData(in), inSize);
if(err != GPG_ERR_NO_ERROR) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(cipherName),
- "gcry_cipher_encrypt",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_GCRYPT_REPORT_ERROR(err));
+ xmlSecGCryptError("gcry_cipher_encrypt", err,
+ cipherName);
return(-1);
}
} else {
err = gcry_cipher_decrypt(ctx->cipherCtx, outBuf, inSize + blockLen,
xmlSecBufferGetData(in), inSize);
if(err != GPG_ERR_NO_ERROR) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(cipherName),
- "gcry_cipher_decrypt",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_GCRYPT_REPORT_ERROR(err));
+ xmlSecGCryptError("gcry_cipher_decrypt", err,
+ cipherName);
return(-1);
}
}
@@ -338,12 +295,8 @@ xmlSecGCryptBlockCipherCtxFinal(xmlSecGCryptBlockCipherCtxPtr ctx,
if(encrypt == 0) {
/* check padding */
if(inSize < outBuf[blockLen - 1]) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(cipherName),
- NULL,
- XMLSEC_ERRORS_R_INVALID_DATA,
- "padding=%d;buffer=%d",
- outBuf[blockLen - 1], inSize);
+ xmlSecInvalidSizeLessThanError("Input data padding",
+ inSize, outBuf[blockLen - 1], cipherName);
return(-1);
}
outLen = inSize - outBuf[blockLen - 1];
@@ -354,22 +307,16 @@ xmlSecGCryptBlockCipherCtxFinal(xmlSecGCryptBlockCipherCtxPtr ctx,
/* set correct output buffer size */
ret = xmlSecBufferSetSize(out, outSize + outLen);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(cipherName),
- "xmlSecBufferSetSize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "size=%d", outSize + outLen);
+ xmlSecInternalError2("xmlSecBufferSetSize", cipherName,
+ "size=%d", outSize + outLen);
return(-1);
}
/* remove the processed block from input */
ret = xmlSecBufferRemoveHead(in, inSize);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(cipherName),
- "xmlSecBufferRemoveHead",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "size=%d", inSize);
+ xmlSecInternalError2("xmlSecBufferRemoveHead", cipherName,
+ "size=%d", inSize);
return(-1);
}
@@ -377,22 +324,16 @@ xmlSecGCryptBlockCipherCtxFinal(xmlSecGCryptBlockCipherCtxPtr ctx,
/* set correct output buffer size */
ret = xmlSecBufferSetSize(out, outSize + outLen);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(cipherName),
- "xmlSecBufferSetSize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "size=%d", outSize + outLen);
+ xmlSecInternalError2("xmlSecBufferSetSize", cipherName,
+ "size=%d", outSize + outLen);
return(-1);
}
/* remove the processed block from input */
ret = xmlSecBufferRemoveHead(in, inSize);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(cipherName),
- "xmlSecBufferRemoveHead",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "size=%d", inSize);
+ xmlSecInternalError2("xmlSecBufferRemoveHead", cipherName,
+ "size=%d", inSize);
return(-1);
}
@@ -483,21 +424,14 @@ xmlSecGCryptBlockCipherInitialize(xmlSecTransformPtr transform) {
#endif /* XMLSEC_NO_AES */
if(1) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- NULL,
- XMLSEC_ERRORS_R_INVALID_TRANSFORM,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInvalidTransfromError(transform)
return(-1);
}
err = gcry_cipher_open(&ctx->cipherCtx, ctx->cipher, ctx->mode, GCRY_CIPHER_SECURE); /* we are paranoid */
if(err != GPG_ERR_NO_ERROR) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "gcry_cipher_open",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_GCRYPT_REPORT_ERROR(err));
+ xmlSecGCryptError("gcry_cipher_open", err,
+ xmlSecTransformGetName(transform));
return(-1);
}
return(0);
@@ -573,23 +507,16 @@ xmlSecGCryptBlockCipherSetKey(xmlSecTransformPtr transform, xmlSecKeyPtr key) {
xmlSecAssert2(buffer != NULL, -1);
if(xmlSecBufferGetSize(buffer) < keySize) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- NULL,
- XMLSEC_ERRORS_R_INVALID_KEY_DATA_SIZE,
- "keySize=%d;expected=%d",
- xmlSecBufferGetSize(buffer), keySize);
+ xmlSecInvalidKeyDataSizeError(xmlSecBufferGetSize(buffer), keySize,
+ xmlSecTransformGetName(transform));
return(-1);
}
xmlSecAssert2(xmlSecBufferGetData(buffer) != NULL, -1);
err = gcry_cipher_setkey(ctx->cipherCtx, xmlSecBufferGetData(buffer), keySize);
if(err != GPG_ERR_NO_ERROR) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "gcry_cipher_setkey",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_GCRYPT_REPORT_ERROR(err));
+ xmlSecGCryptError("gcry_cipher_setkey", err,
+ xmlSecTransformGetName(transform));
return(-1);
}
@@ -624,20 +551,14 @@ xmlSecGCryptBlockCipherExecute(xmlSecTransformPtr transform, int last, xmlSecTra
(transform->operation == xmlSecTransformOperationEncrypt) ? 1 : 0,
xmlSecTransformGetName(transform), transformCtx);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecGCryptBlockCipherCtxInit",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecGCryptBlockCipherCtxInit",
+ xmlSecTransformGetName(transform));
return(-1);
}
}
if((ctx->ctxInitialized == 0) && (last != 0)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- NULL,
- XMLSEC_ERRORS_R_INVALID_DATA,
- "not enough data to initialize transform");
+ xmlSecInvalidDataError("not enough data to initialize transform",
+ xmlSecTransformGetName(transform));
return(-1);
}
if(ctx->ctxInitialized != 0) {
@@ -645,11 +566,8 @@ xmlSecGCryptBlockCipherExecute(xmlSecTransformPtr transform, int last, xmlSecTra
(transform->operation == xmlSecTransformOperationEncrypt) ? 1 : 0,
xmlSecTransformGetName(transform), transformCtx);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecGCryptBlockCipherCtxUpdate",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecGCryptBlockCipherCtxUpdate",
+ xmlSecTransformGetName(transform));
return(-1);
}
}
@@ -659,11 +577,8 @@ xmlSecGCryptBlockCipherExecute(xmlSecTransformPtr transform, int last, xmlSecTra
(transform->operation == xmlSecTransformOperationEncrypt) ? 1 : 0,
xmlSecTransformGetName(transform), transformCtx);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecGCryptBlockCipherCtxFinal",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecGCryptBlockCipherCtxFinal",
+ xmlSecTransformGetName(transform));
return(-1);
}
transform->status = xmlSecTransformStatusFinished;
@@ -675,11 +590,7 @@ xmlSecGCryptBlockCipherExecute(xmlSecTransformPtr transform, int last, xmlSecTra
/* the only way we can get here is if there is no enough data in the input */
xmlSecAssert2(last == 0, -1);
} else {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- NULL,
- XMLSEC_ERRORS_R_INVALID_STATUS,
- "status=%d", transform->status);
+ xmlSecInvalidTransfromStatusError(transform);
return(-1);
}
diff --git a/src/gcrypt/crypto.c b/src/gcrypt/crypto.c
index d02eb59..2458058 100644
--- a/src/gcrypt/crypto.c
+++ b/src/gcrypt/crypto.c
@@ -1,5 +1,5 @@
-/**
- * XMLSec library
+/*
+ * XML Security Library (http://www.aleksey.com/xmlsec).
*
* This is free software; see Copyright file in the source
* distribution for preciese wording.
@@ -234,21 +234,13 @@ int
xmlSecGCryptInit (void) {
/* Check loaded xmlsec library version */
if(xmlSecCheckVersionExact() != 1) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecCheckVersionExact",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecCheckVersionExact", NULL);
return(-1);
}
/* register our klasses */
if(xmlSecCryptoDLFunctionsRegisterKeyDataAndTransforms(xmlSecCryptoGetFunctions_gcrypt()) < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecCryptoDLFunctionsRegisterKeyDataAndTransforms",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecCryptoDLFunctionsRegisterKeyDataAndTransforms", NULL);
return(-1);
}
@@ -301,11 +293,8 @@ xmlSecGCryptGenerateRandom(xmlSecBufferPtr buffer, xmlSecSize size) {
ret = xmlSecBufferSetSize(buffer, size);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecBufferSetSize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "size=%d", size);
+ xmlSecInternalError2("xmlSecBufferSetSize", NULL,
+ "size=%d", size);
return(-1);
}
diff --git a/src/gcrypt/digests.c b/src/gcrypt/digests.c
index d947446..38d8964 100644
--- a/src/gcrypt/digests.c
+++ b/src/gcrypt/digests.c
@@ -1,5 +1,5 @@
-/**
- * XMLSec library
+/*
+ * XML Security Library (http://www.aleksey.com/xmlsec).
*
* This is free software; see Copyright file in the source
* distribution for preciese wording.
@@ -155,22 +155,15 @@ xmlSecGCryptDigestInitialize(xmlSecTransformPtr transform) {
#endif /* XMLSEC_NO_RIPEMD160 */
if(1) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- NULL,
- XMLSEC_ERRORS_R_INVALID_TRANSFORM,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInvalidTransfromError(transform)
return(-1);
}
/* create digest ctx */
err = gcry_md_open(&ctx->digestCtx, ctx->digest, GCRY_MD_FLAG_SECURE); /* we are paranoid */
if(err != GPG_ERR_NO_ERROR) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "gcry_md_open",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_GCRYPT_REPORT_ERROR(err));
+ xmlSecGCryptError("gcry_md_open", err,
+ xmlSecTransformGetName(transform));
return(-1);
}
return(0);
@@ -210,22 +203,15 @@ xmlSecGCryptDigestVerify(xmlSecTransformPtr transform,
xmlSecAssert2(ctx->dgstSize > 0, -1);
if(dataSize != ctx->dgstSize) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- NULL,
- XMLSEC_ERRORS_R_INVALID_DATA,
- "data and digest sizes are different (data=%d, dgst=%d)",
- dataSize, ctx->dgstSize);
+ xmlSecInvalidSizeError("Input data",
+ dataSize, ctx->dgstSize, xmlSecTransformGetName(transform));
transform->status = xmlSecTransformStatusFail;
return(0);
}
if(memcmp(ctx->dgst, data, dataSize) != 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- NULL,
- XMLSEC_ERRORS_R_INVALID_DATA,
- "data and digest do not match");
+ xmlSecInvalidDataError("data and digest do not match",
+ xmlSecTransformGetName(transform));
transform->status = xmlSecTransformStatusFail;
return(0);
}
@@ -266,11 +252,9 @@ xmlSecGCryptDigestExecute(xmlSecTransformPtr transform, int last, xmlSecTransfor
ret = xmlSecBufferRemoveHead(in, inSize);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecBufferRemoveHead",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "size=%d", inSize);
+ xmlSecInternalError2("xmlSecBufferRemoveHead",
+ xmlSecTransformGetName(transform),
+ "size=%d", inSize);
return(-1);
}
}
@@ -281,11 +265,8 @@ xmlSecGCryptDigestExecute(xmlSecTransformPtr transform, int last, xmlSecTransfor
gcry_md_final(ctx->digestCtx);
buf = gcry_md_read(ctx->digestCtx, ctx->digest);
if(buf == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "gcry_md_read",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecGCryptError("gcry_md_read", GPG_ERR_NO_ERROR,
+ xmlSecTransformGetName(transform));
return(-1);
}
@@ -299,11 +280,9 @@ xmlSecGCryptDigestExecute(xmlSecTransformPtr transform, int last, xmlSecTransfor
if(transform->operation == xmlSecTransformOperationSign) {
ret = xmlSecBufferAppend(out, ctx->dgst, ctx->dgstSize);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecBufferAppend",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "size=%d", ctx->dgstSize);
+ xmlSecInternalError2("xmlSecBufferAppend",
+ xmlSecTransformGetName(transform),
+ "size=%d", ctx->dgstSize);
return(-1);
}
}
@@ -313,11 +292,7 @@ xmlSecGCryptDigestExecute(xmlSecTransformPtr transform, int last, xmlSecTransfor
/* the only way we can get here is if there is no input */
xmlSecAssert2(xmlSecBufferGetSize(&(transform->inBuf)) == 0, -1);
} else {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- NULL,
- XMLSEC_ERRORS_R_INVALID_STATUS,
- "status=%d", transform->status);
+ xmlSecInvalidTransfromStatusError(transform);
return(-1);
}
diff --git a/src/gcrypt/globals.h b/src/gcrypt/globals.h
index 3da464d..37198c2 100644
--- a/src/gcrypt/globals.h
+++ b/src/gcrypt/globals.h
@@ -21,10 +21,60 @@
#define IN_XMLSEC_CRYPTO
#define XMLSEC_PRIVATE
+/* Include common error helper macros. */
+#include "../errors_helpers.h"
#define XMLSEC_GCRYPT_MAX_DIGEST_SIZE 256
-#define XMLSEC_GCRYPT_REPORT_ERROR(err) \
- "error code=%d; error message='%s'", \
- (int)err, xmlSecErrorsSafeString(gcry_strerror((err)))
+
+
+/**
+ * xmlSecGCryptError:
+ * @errorFunction: the failed function name.
+ * @errCode: the GCrypt error code.
+ * @errorObject: the error specific error object (e.g. transform, key data, etc).
+ *
+ * Macro. The XMLSec library macro for reporting GCrypt crypro errors.
+ */
+#define xmlSecGCryptError(errorFunction, errCode, errorObject) \
+ { \
+ const char* source = gcry_strsource((errCode)); \
+ const char* message = gcry_strerror((errCode)); \
+ xmlSecError(XMLSEC_ERRORS_HERE, \
+ (const char*)(errorObject), \
+ (errorFunction), \
+ XMLSEC_ERRORS_R_CRYPTO_FAILED, \
+ "gcrypt error: %ld: %s: %s", \
+ (long)(errCode), \
+ xmlSecErrorsSafeString(source), \
+ xmlSecErrorsSafeString(message) \
+ ); \
+ }
+
+/**
+ * xmlSecGCryptError2:
+ * @errorFunction: the failed function name.
+ * @errCode: the GCrypt error code.
+ * @errorObject: the error specific error object (e.g. transform, key data, etc).
+ * @msg: the extra message.
+ * @param: the extra message param.
+ *
+ * Macro. The XMLSec library macro for reporting GCrypt crypro errors.
+ */
+#define xmlSecGCryptError2(errorFunction, errCode, errorObject, msg, param) \
+ { \
+ const char* source = gcry_strsource((errCode)); \
+ const char* message = gcry_strerror((errCode)); \
+ xmlSecError(XMLSEC_ERRORS_HERE, \
+ (const char*)(errorObject), \
+ (errorFunction), \
+ XMLSEC_ERRORS_R_CRYPTO_FAILED, \
+ msg "; gcrypt error: %ld: %s: %s", \
+ (param), \
+ (long)(errCode), \
+ xmlSecErrorsSafeString(source), \
+ xmlSecErrorsSafeString(message) \
+ ); \
+ }
+
#endif /* ! __XMLSEC_GLOBALS_H__ */
diff --git a/src/gcrypt/hmac.c b/src/gcrypt/hmac.c
index 631b470..7358dfb 100644
--- a/src/gcrypt/hmac.c
+++ b/src/gcrypt/hmac.c
@@ -1,5 +1,5 @@
-/**
- * XMLSec library
+/*
+ * XML Security Library (http://www.aleksey.com/xmlsec).
*
* This is free software; see Copyright file in the source
* distribution for preciese wording.
@@ -199,22 +199,15 @@ xmlSecGCryptHmacInitialize(xmlSecTransformPtr transform) {
/* not found */
{
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- NULL,
- XMLSEC_ERRORS_R_INVALID_TRANSFORM,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInvalidTransfromError(transform)
return(-1);
}
/* open context */
err = gcry_md_open(&ctx->digestCtx, ctx->digest, GCRY_MD_FLAG_HMAC | GCRY_MD_FLAG_SECURE); /* we are paranoid */
if(err != GPG_ERR_NO_ERROR) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "gcry_md_open",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_GCRYPT_REPORT_ERROR(err));
+ xmlSecGCryptError("gcry_md_open", err,
+ xmlSecTransformGetName(transform));
return(-1);
}
@@ -287,11 +280,8 @@ xmlSecGCryptHmacNodeRead(xmlSecTransformPtr transform, xmlNodePtr node, xmlSecTr
small value
*/
if((int)ctx->dgstSize < xmlSecGCryptHmacGetMinOutputLength()) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- xmlSecErrorsSafeString(xmlSecNodeGetName(cur)),
- XMLSEC_ERRORS_R_INVALID_NODE_ATTRIBUTE,
- "HMAC output length is too small");
+ xmlSecInvalidNodeContentError(cur, xmlSecTransformGetName(transform),
+ "HMAC output length is too small");
return(-1);
}
@@ -299,11 +289,7 @@ xmlSecGCryptHmacNodeRead(xmlSecTransformPtr transform, xmlNodePtr node, xmlSecTr
}
if(cur != NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- xmlSecErrorsSafeString(xmlSecNodeGetName(cur)),
- XMLSEC_ERRORS_R_INVALID_NODE,
- "no nodes expected");
+ xmlSecUnexpectedNodeError(cur, xmlSecTransformGetName(transform));
return(-1);
}
return(0);
@@ -356,22 +342,15 @@ xmlSecGCryptHmacSetKey(xmlSecTransformPtr transform, xmlSecKeyPtr key) {
xmlSecAssert2(buffer != NULL, -1);
if(xmlSecBufferGetSize(buffer) == 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- NULL,
- XMLSEC_ERRORS_R_INVALID_KEY_DATA_SIZE,
- "key is empty");
+ xmlSecInvalidZeroKeyDataSizeError(xmlSecTransformGetName(transform));
return(-1);
}
err = gcry_md_setkey(ctx->digestCtx, xmlSecBufferGetData(buffer),
xmlSecBufferGetSize(buffer));
if(err != GPG_ERR_NO_ERROR) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "gcry_md_setkey",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_GCRYPT_REPORT_ERROR(err));
+ xmlSecGCryptError("gcry_md_setkey", err,
+ xmlSecTransformGetName(transform));
return(-1);
}
return(0);
@@ -400,13 +379,10 @@ xmlSecGCryptHmacVerify(xmlSecTransformPtr transform,
xmlSecAssert2(ctx->dgstSize > 0, -1);
/* compare the digest size in bytes */
- if(dataSize != ((ctx->dgstSize + 7) / 8)){
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- NULL,
- XMLSEC_ERRORS_R_INVALID_SIZE,
- "data=%d;dgst=%d",
- dataSize, ((ctx->dgstSize + 7) / 8));
+ if(dataSize != ((ctx->dgstSize + 7) / 8)) {
+ xmlSecInvalidSizeError("HMAC digest size",
+ dataSize, ((ctx->dgstSize + 7) / 8),
+ xmlSecTransformGetName(transform));
transform->status = xmlSecTransformStatusFail;
return(0);
}
@@ -415,22 +391,18 @@ xmlSecGCryptHmacVerify(xmlSecTransformPtr transform,
xmlSecAssert2(dataSize > 0, -1);
mask = last_byte_masks[ctx->dgstSize % 8];
if((ctx->dgst[dataSize - 1] & mask) != (data[dataSize - 1] & mask)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- NULL,
- XMLSEC_ERRORS_R_DATA_NOT_MATCH,
- "data and digest do not match (last byte)");
+ xmlSecOtherError(XMLSEC_ERRORS_R_DATA_NOT_MATCH,
+ xmlSecTransformGetName(transform),
+ "data and digest do not match (last byte)");
transform->status = xmlSecTransformStatusFail;
return(0);
}
/* now check the rest of the digest */
if((dataSize > 1) && (memcmp(ctx->dgst, data, dataSize - 1) != 0)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- NULL,
- XMLSEC_ERRORS_R_DATA_NOT_MATCH,
- "data and digest do not match");
+ xmlSecOtherError(XMLSEC_ERRORS_R_DATA_NOT_MATCH,
+ xmlSecTransformGetName(transform),
+ "data and digest do not match");
transform->status = xmlSecTransformStatusFail;
return(0);
}
@@ -472,11 +444,9 @@ xmlSecGCryptHmacExecute(xmlSecTransformPtr transform, int last, xmlSecTransformC
ret = xmlSecBufferRemoveHead(in, inSize);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecBufferRemoveHead",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "size=%d", inSize);
+ xmlSecInternalError2("xmlSecBufferRemoveHead",
+ xmlSecTransformGetName(transform),
+ "size=%d", inSize);
return(-1);
}
}
@@ -485,11 +455,8 @@ xmlSecGCryptHmacExecute(xmlSecTransformPtr transform, int last, xmlSecTransformC
gcry_md_final(ctx->digestCtx);
dgst = gcry_md_read(ctx->digestCtx, ctx->digest);
if(dgst == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "gcry_md_read",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecGCryptError("gcry_md_read", GPG_ERR_NO_ERROR,
+ xmlSecTransformGetName(transform));
return(-1);
}
@@ -505,23 +472,18 @@ xmlSecGCryptHmacExecute(xmlSecTransformPtr transform, int last, xmlSecTransformC
} else if(ctx->dgstSize <= 8 * dgstSize) {
dgstSize = ((ctx->dgstSize + 7) / 8); /* we need to truncate result digest */
} else {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- NULL,
- XMLSEC_ERRORS_R_INVALID_SIZE,
- "result-bits=%d;required-bits=%d",
- 8 * dgstSize, ctx->dgstSize);
+ xmlSecInvalidSizeLessThanError("HMAC digest (bits)",
+ 8 * dgstSize, ctx->dgstSize,
+ xmlSecTransformGetName(transform));
return(-1);
}
if(transform->operation == xmlSecTransformOperationSign) {
ret = xmlSecBufferAppend(out, ctx->dgst, dgstSize);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecBufferAppend",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "size=%d", dgstSize);
+ xmlSecInternalError2("xmlSecBufferAppend",
+ xmlSecTransformGetName(transform),
+ "size=%d", dgstSize);
return(-1);
}
}
@@ -531,11 +493,7 @@ xmlSecGCryptHmacExecute(xmlSecTransformPtr transform, int last, xmlSecTransformC
/* the only way we can get here is if there is no input */
xmlSecAssert2(xmlSecBufferGetSize(&(transform->inBuf)) == 0, -1);
} else {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- NULL,
- XMLSEC_ERRORS_R_INVALID_STATUS,
- "size=%d", transform->status);
+ xmlSecInvalidTransfromStatusError(transform);
return(-1);
}
diff --git a/src/gcrypt/kw_aes.c b/src/gcrypt/kw_aes.c
index 32bc5cc..8bafa22 100644
--- a/src/gcrypt/kw_aes.c
+++ b/src/gcrypt/kw_aes.c
@@ -1,6 +1,5 @@
-/**
- *
- * XMLSec library
+/*
+ * XML Security Library (http://www.aleksey.com/xmlsec).
*
* AES Algorithm support
*
@@ -111,11 +110,7 @@ xmlSecGCryptKWAesInitialize(xmlSecTransformPtr transform) {
ctx->cipher = GCRY_CIPHER_AES256;
ctx->keyExpectedSize = XMLSEC_KW_AES256_KEY_SIZE;
} else {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- NULL,
- XMLSEC_ERRORS_R_INVALID_TRANSFORM,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInvalidTransfromError(transform)
return(-1);
}
ctx->mode = GCRY_CIPHER_MODE_CBC;
@@ -125,11 +120,8 @@ xmlSecGCryptKWAesInitialize(xmlSecTransformPtr transform) {
ret = xmlSecBufferInitialize(&(ctx->keyBuffer), 0);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecGCryptKWAesGetKey",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecGCryptKWAesGetKey",
+ xmlSecTransformGetName(transform));
return(-1);
}
@@ -194,12 +186,8 @@ xmlSecGCryptKWAesSetKey(xmlSecTransformPtr transform, xmlSecKeyPtr key) {
keySize = xmlSecBufferGetSize(buffer);
if(keySize < ctx->keyExpectedSize) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- NULL,
- XMLSEC_ERRORS_R_INVALID_KEY_DATA_SIZE,
- "key=%d;expected=%d",
- keySize, ctx->keyExpectedSize);
+ xmlSecInvalidKeyDataSizeError(keySize, ctx->keyExpectedSize,
+ xmlSecTransformGetName(transform));
return(-1);
}
@@ -207,12 +195,9 @@ xmlSecGCryptKWAesSetKey(xmlSecTransformPtr transform, xmlSecKeyPtr key) {
xmlSecBufferGetData(buffer),
ctx->keyExpectedSize);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecBufferSetData",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "expected-size=%d",
- ctx->keyExpectedSize);
+ xmlSecInternalError2("xmlSecBufferSetData",
+ xmlSecTransformGetName(transform),
+ "size=%d", ctx->keyExpectedSize);
return(-1);
}
@@ -251,11 +236,8 @@ xmlSecGCryptKWAesExecute(xmlSecTransformPtr transform, int last, xmlSecTransform
/* just do nothing */
} else if((transform->status == xmlSecTransformStatusWorking) && (last != 0)) {
if((inSize % 8) != 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- NULL,
- XMLSEC_ERRORS_R_INVALID_SIZE,
- "size=%d(not 8 bytes aligned)", inSize);
+ xmlSecInvalidSizeNotMultipleOfError("Input data", inSize, 8,
+ xmlSecTransformGetName(transform));
return(-1);
}
@@ -269,11 +251,9 @@ xmlSecGCryptKWAesExecute(xmlSecTransformPtr transform, int last, xmlSecTransform
ret = xmlSecBufferSetMaxSize(out, outSize);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecBufferSetMaxSize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "outSize=%d", outSize);
+ xmlSecInternalError2("xmlSecBufferSetMaxSize",
+ xmlSecTransformGetName(transform),
+ "outSize=%d", outSize);
return(-1);
}
@@ -282,11 +262,8 @@ xmlSecGCryptKWAesExecute(xmlSecTransformPtr transform, int last, xmlSecTransform
xmlSecBufferGetData(in), inSize,
xmlSecBufferGetData(out), outSize);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecKWAesEncode",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKWAesEncode",
+ xmlSecTransformGetName(transform));
return(-1);
}
outSize = ret;
@@ -295,11 +272,8 @@ xmlSecGCryptKWAesExecute(xmlSecTransformPtr transform, int last, xmlSecTransform
xmlSecBufferGetData(in), inSize,
xmlSecBufferGetData(out), outSize);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecKWAesEncode",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKWAesEncode",
+ xmlSecTransformGetName(transform));
return(-1);
}
outSize = ret;
@@ -307,21 +281,17 @@ xmlSecGCryptKWAesExecute(xmlSecTransformPtr transform, int last, xmlSecTransform
ret = xmlSecBufferSetSize(out, outSize);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecBufferSetSize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "outSize=%d", outSize);
+ xmlSecInternalError2("xmlSecBufferSetSize",
+ xmlSecTransformGetName(transform),
+ "outSize=%d", outSize);
return(-1);
}
ret = xmlSecBufferRemoveHead(in, inSize);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecBufferRemoveHead",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "inSize%d", inSize);
+ xmlSecInternalError2("xmlSecBufferRemoveHead",
+ xmlSecTransformGetName(transform),
+ "inSize%d", inSize);
return(-1);
}
@@ -330,11 +300,7 @@ xmlSecGCryptKWAesExecute(xmlSecTransformPtr transform, int last, xmlSecTransform
/* the only way we can get here is if there is no input */
xmlSecAssert2(xmlSecBufferGetSize(&(transform->inBuf)) == 0, -1);
} else {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- NULL,
- XMLSEC_ERRORS_R_INVALID_STATUS,
- "status=%d", transform->status);
+ xmlSecInvalidTransfromStatusError(transform);
return(-1);
}
return(0);
@@ -482,11 +448,7 @@ xmlSecGCryptKWAesBlockEncrypt(const xmlSecByte * in, xmlSecSize inSize,
err = gcry_cipher_open(&cipherCtx, ctx->cipher, ctx->mode, ctx->flags);
if(err != GPG_ERR_NO_ERROR) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "gcry_cipher_open",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_GCRYPT_REPORT_ERROR(err));
+ xmlSecGCryptError("gcry_cipher_open", err, NULL);
return(-1);
}
@@ -494,32 +456,20 @@ xmlSecGCryptKWAesBlockEncrypt(const xmlSecByte * in, xmlSecSize inSize,
xmlSecBufferGetData(&ctx->keyBuffer),
xmlSecBufferGetSize(&ctx->keyBuffer));
if(err != GPG_ERR_NO_ERROR) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "gcry_cipher_setkey",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_GCRYPT_REPORT_ERROR(err));
+ xmlSecGCryptError("gcry_cipher_setkey", err, NULL);
return(-1);
}
/* use zero IV and CBC mode to ensure we get result as-is */
err = gcry_cipher_setiv(cipherCtx, g_zero_iv, sizeof(g_zero_iv));
if(err != GPG_ERR_NO_ERROR) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "gcry_cipher_setiv",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_GCRYPT_REPORT_ERROR(err));
+ xmlSecGCryptError("gcry_cipher_setiv", err, NULL);
return(-1);
}
err = gcry_cipher_encrypt(cipherCtx, out, outSize, in, inSize);
if(err != GPG_ERR_NO_ERROR) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "gcry_cipher_encrypt",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_GCRYPT_REPORT_ERROR(err));
+ xmlSecGCryptError("gcry_cipher_encrypt", err, NULL);
gcry_cipher_close(cipherCtx);
return(-1);
}
@@ -544,11 +494,7 @@ xmlSecGCryptKWAesBlockDecrypt(const xmlSecByte * in, xmlSecSize inSize,
err = gcry_cipher_open(&cipherCtx, ctx->cipher, ctx->mode, ctx->flags);
if(err != GPG_ERR_NO_ERROR) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "gcry_cipher_open",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_GCRYPT_REPORT_ERROR(err));
+ xmlSecGCryptError("gcry_cipher_open", err, NULL);
return(-1);
}
@@ -556,32 +502,20 @@ xmlSecGCryptKWAesBlockDecrypt(const xmlSecByte * in, xmlSecSize inSize,
xmlSecBufferGetData(&ctx->keyBuffer),
xmlSecBufferGetSize(&ctx->keyBuffer));
if(err != GPG_ERR_NO_ERROR) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "gcry_cipher_setkey",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_GCRYPT_REPORT_ERROR(err));
+ xmlSecGCryptError("gcry_cipher_setkey", err, NULL);
return(-1);
}
/* use zero IV and CBC mode to ensure we get result as-is */
err = gcry_cipher_setiv(cipherCtx, g_zero_iv, sizeof(g_zero_iv));
if(err != GPG_ERR_NO_ERROR) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "gcry_cipher_setiv",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_GCRYPT_REPORT_ERROR(err));
+ xmlSecGCryptError("gcry_cipher_setiv", err, NULL);
return(-1);
}
err = gcry_cipher_decrypt(cipherCtx, out, outSize, in, inSize);
if(err != GPG_ERR_NO_ERROR) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "gcry_cipher_decrypt",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_GCRYPT_REPORT_ERROR(err));
+ xmlSecGCryptError("gcry_cipher_decrypt", err, NULL);
gcry_cipher_close(cipherCtx);
return(-1);
}
diff --git a/src/gcrypt/kw_des.c b/src/gcrypt/kw_des.c
index 67e76c5..d972cc7 100644
--- a/src/gcrypt/kw_des.c
+++ b/src/gcrypt/kw_des.c
@@ -1,6 +1,5 @@
-/**
- *
- * XMLSec library
+/*
+ * XML Security Library (http://www.aleksey.com/xmlsec).
*
* DES Algorithm support
*
@@ -158,11 +157,8 @@ xmlSecGCryptKWDes3Initialize(xmlSecTransformPtr transform) {
ret = xmlSecBufferInitialize(&(ctx->keyBuffer), 0);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecBufferInitialize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecBufferInitialize",
+ xmlSecTransformGetName(transform));
return(-1);
}
@@ -226,22 +222,16 @@ xmlSecGCryptKWDes3SetKey(xmlSecTransformPtr transform, xmlSecKeyPtr key) {
keySize = xmlSecBufferGetSize(buffer);
if(keySize < XMLSEC_KW_DES3_KEY_LENGTH) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- NULL,
- XMLSEC_ERRORS_R_INVALID_KEY_DATA_SIZE,
- "key length %d is not enough (%d expected)",
- keySize, XMLSEC_KW_DES3_KEY_LENGTH);
+ xmlSecInvalidKeyDataSizeError(keySize, XMLSEC_KW_DES3_KEY_LENGTH,
+ xmlSecTransformGetName(transform));
return(-1);
}
ret = xmlSecBufferSetData(&(ctx->keyBuffer), xmlSecBufferGetData(buffer), XMLSEC_KW_DES3_KEY_LENGTH);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecBufferSetData",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "size=%d", XMLSEC_KW_DES3_KEY_LENGTH);
+ xmlSecInternalError2("xmlSecBufferSetData",
+ xmlSecTransformGetName(transform),
+ "size=%d", XMLSEC_KW_DES3_KEY_LENGTH);
return(-1);
}
@@ -280,12 +270,9 @@ xmlSecGCryptKWDes3Execute(xmlSecTransformPtr transform, int last, xmlSecTransfor
/* just do nothing */
} else if((transform->status == xmlSecTransformStatusWorking) && (last != 0)) {
if((inSize % XMLSEC_KW_DES3_BLOCK_LENGTH) != 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- NULL,
- XMLSEC_ERRORS_R_INVALID_SIZE,
- "%d bytes - not %d bytes aligned",
- inSize, XMLSEC_KW_DES3_BLOCK_LENGTH);
+ xmlSecInvalidSizeNotMultipleOfError("Input data",
+ inSize, XMLSEC_KW_DES3_BLOCK_LENGTH,
+ xmlSecTransformGetName(transform));
return(-1);
}
@@ -301,11 +288,9 @@ xmlSecGCryptKWDes3Execute(xmlSecTransformPtr transform, int last, xmlSecTransfor
ret = xmlSecBufferSetMaxSize(out, outSize);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecBufferSetMaxSize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "size=%d", outSize);
+ xmlSecInternalError2("xmlSecBufferSetMaxSize",
+ xmlSecTransformGetName(transform),
+ "size=%d", outSize);
return(-1);
}
@@ -314,12 +299,8 @@ xmlSecGCryptKWDes3Execute(xmlSecTransformPtr transform, int last, xmlSecTransfor
xmlSecBufferGetData(in), inSize,
xmlSecBufferGetData(out), outSize);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecKWDes3Encode",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "key=%d,in=%d,out=%d",
- keySize, inSize, outSize);
+ xmlSecInternalError4("xmlSecKWDes3Encode", xmlSecTransformGetName(transform),
+ "key=%d,in=%d,out=%d", keySize, inSize, outSize);
return(-1);
}
outSize = ret;
@@ -328,12 +309,8 @@ xmlSecGCryptKWDes3Execute(xmlSecTransformPtr transform, int last, xmlSecTransfor
xmlSecBufferGetData(in), inSize,
xmlSecBufferGetData(out), outSize);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecKWDes3Decode",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "key=%d,in=%d,out=%d",
- keySize, inSize, outSize);
+ xmlSecInternalError4("xmlSecKWDes3Decode", xmlSecTransformGetName(transform),
+ "key=%d,in=%d,out=%d", keySize, inSize, outSize);
return(-1);
}
outSize = ret;
@@ -341,21 +318,17 @@ xmlSecGCryptKWDes3Execute(xmlSecTransformPtr transform, int last, xmlSecTransfor
ret = xmlSecBufferSetSize(out, outSize);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecBufferSetSize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "size=%d", outSize);
+ xmlSecInternalError2("xmlSecBufferSetSize",
+ xmlSecTransformGetName(transform),
+ "size=%d", outSize);
return(-1);
}
ret = xmlSecBufferRemoveHead(in, inSize);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecBufferRemoveHead",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "size=%d", inSize);
+ xmlSecInternalError2("xmlSecBufferRemoveHead",
+ xmlSecTransformGetName(transform),
+ "size=%d", inSize);
return(-1);
}
@@ -364,11 +337,7 @@ xmlSecGCryptKWDes3Execute(xmlSecTransformPtr transform, int last, xmlSecTransfor
/* the only way we can get here is if there is no input */
xmlSecAssert2(xmlSecBufferGetSize(&(transform->inBuf)) == 0, -1);
} else {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- NULL,
- XMLSEC_ERRORS_R_INVALID_STATUS,
- "status=%d", transform->status);
+ xmlSecInvalidTransfromStatusError(transform);
return(-1);
}
return(0);
@@ -400,11 +369,7 @@ xmlSecGCryptKWDes3Sha1(void * context,
err = gcry_md_open(&digestCtx, GCRY_MD_SHA1, GCRY_MD_FLAG_SECURE); /* we are paranoid */
if(err != GPG_ERR_NO_ERROR) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "gcry_md_open(GCRY_MD_SHA1)",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_GCRYPT_REPORT_ERROR(err));
+ xmlSecGCryptError("gcry_md_open(GCRY_MD_SHA1)", err, NULL);
return(-1);
}
@@ -412,22 +377,14 @@ xmlSecGCryptKWDes3Sha1(void * context,
err = gcry_md_final(digestCtx);
if(err != GPG_ERR_NO_ERROR) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "gcry_md_final",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_GCRYPT_REPORT_ERROR(err));
+ xmlSecGCryptError("gcry_md_final", err, NULL);
gcry_md_close(digestCtx);
return(-1);
}
res = gcry_md_read(digestCtx, GCRY_MD_SHA1);
if(res == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "gcry_md_read(GCRY_MD_SHA1)",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecGCryptError("gcry_md_read", GPG_ERR_NO_ERROR, NULL);
gcry_md_close(digestCtx);
return(-1);
}
@@ -477,11 +434,7 @@ xmlSecGCryptKWDes3BlockEncrypt(void * context,
out, outSize,
1); /* encrypt */
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecGCryptKWDes3Encrypt",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecGCryptKWDes3Encrypt", NULL);
return(-1);
}
@@ -513,11 +466,7 @@ xmlSecGCryptKWDes3BlockDecrypt(void * context,
out, outSize,
0); /* decrypt */
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecGCryptKWDes3Encrypt",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecGCryptKWDes3Encrypt", NULL);
return(-1);
}
return(ret);
@@ -545,53 +494,33 @@ xmlSecGCryptKWDes3Encrypt(const xmlSecByte *key, xmlSecSize keySize,
err = gcry_cipher_open(&cipherCtx, GCRY_CIPHER_3DES, GCRY_CIPHER_MODE_CBC, GCRY_CIPHER_SECURE); /* we are paranoid */
if(err != GPG_ERR_NO_ERROR) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "gcry_cipher_open(GCRY_CIPHER_3DES)",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_GCRYPT_REPORT_ERROR(err));
+ xmlSecGCryptError("gcry_cipher_open(GCRY_CIPHER_3DES)", err, NULL);
return(-1);
}
err = gcry_cipher_setkey(cipherCtx, key, keySize);
if(err != GPG_ERR_NO_ERROR) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "gcry_cipher_setkey",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_GCRYPT_REPORT_ERROR(err));
+ xmlSecGCryptError("gcry_cipher_setkey", err, NULL);
return(-1);
}
err = gcry_cipher_setiv(cipherCtx, iv, ivSize);
if(err != GPG_ERR_NO_ERROR) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "gcry_cipher_setiv",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_GCRYPT_REPORT_ERROR(err));
+ xmlSecGCryptError("gcry_cipher_setiv", err, NULL);
return(-1);
}
if(enc) {
err = gcry_cipher_encrypt(cipherCtx, out, outSize, in, inSize);
if(err != GPG_ERR_NO_ERROR) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "gcry_cipher_encrypt",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_GCRYPT_REPORT_ERROR(err));
+ xmlSecGCryptError("gcry_cipher_encrypt", err, NULL);
gcry_cipher_close(cipherCtx);
return(-1);
}
} else {
err = gcry_cipher_decrypt(cipherCtx, out, outSize, in, inSize);
if(err != GPG_ERR_NO_ERROR) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "gcry_cipher_decrypt",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_GCRYPT_REPORT_ERROR(err));
+ xmlSecGCryptError("gcry_cipher_decrypt", err, NULL);
gcry_cipher_close(cipherCtx);
return(-1);
}
diff --git a/src/gcrypt/signatures.c b/src/gcrypt/signatures.c
index 1d3f77a..846115c 100644
--- a/src/gcrypt/signatures.c
+++ b/src/gcrypt/signatures.c
@@ -1,5 +1,5 @@
-/**
- * XMLSec library
+/*
+ * XML Security Library (http://www.aleksey.com/xmlsec).
*
* This is free software; see Copyright file in the source
* distribution for preciese wording.
@@ -260,22 +260,15 @@ xmlSecGCryptPkSignatureInitialize(xmlSecTransformPtr transform) {
#endif /* XMLSEC_NO_RSA */
if(1) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- NULL,
- XMLSEC_ERRORS_R_INVALID_TRANSFORM,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInvalidTransfromError(transform)
return(-1);
}
/* create digest ctx */
err = gcry_md_open(&ctx->digestCtx, ctx->digest, GCRY_MD_FLAG_SECURE); /* we are paranoid */
if(err != GPG_ERR_NO_ERROR) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "gcry_md_open",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_GCRYPT_REPORT_ERROR(err));
+ xmlSecGCryptError("gcry_md_open", err,
+ xmlSecTransformGetName(transform));
return(-1);
}
@@ -327,11 +320,8 @@ xmlSecGCryptPkSignatureSetKey(xmlSecTransformPtr transform, xmlSecKeyPtr key) {
ctx->key_data = xmlSecKeyDataDuplicate(key_data);
if(ctx->key_data == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecKeyDataDuplicate",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeyDataDuplicate",
+ xmlSecTransformGetName(transform));
return(-1);
}
@@ -386,11 +376,7 @@ xmlSecGCryptPkSignatureVerify(xmlSecTransformPtr transform,
ret = ctx->verify(ctx->digest, ctx->key_data, ctx->dgst, ctx->dgstSize, data, dataSize);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "ctx->verify",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("ctx->verify", xmlSecTransformGetName(transform));
return(-1);
}
@@ -398,11 +384,9 @@ xmlSecGCryptPkSignatureVerify(xmlSecTransformPtr transform,
if(ret == 1) {
transform->status = xmlSecTransformStatusOk;
} else {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "ctx->verify",
- XMLSEC_ERRORS_R_DATA_NOT_MATCH,
- "signature do not match");
+ xmlSecOtherError(XMLSEC_ERRORS_R_DATA_NOT_MATCH,
+ xmlSecTransformGetName(transform),
+ "ctx->verify: signature does not verify");
transform->status = xmlSecTransformStatusFail;
}
@@ -451,11 +435,9 @@ xmlSecGCryptPkSignatureExecute(xmlSecTransformPtr transform, int last, xmlSecTra
ret = xmlSecBufferRemoveHead(in, inSize);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecBufferRemoveHead",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "size=%d", inSize);
+ xmlSecInternalError2("xmlSecBufferRemoveHead",
+ xmlSecTransformGetName(transform),
+ "size=%d", inSize);
return(-1);
}
}
@@ -468,11 +450,8 @@ xmlSecGCryptPkSignatureExecute(xmlSecTransformPtr transform, int last, xmlSecTra
gcry_md_final(ctx->digestCtx);
buf = gcry_md_read(ctx->digestCtx, ctx->digest);
if(buf == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "gcry_md_read",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecGCryptError("gcry_md_read", GPG_ERR_NO_ERROR,
+ xmlSecTransformGetName(transform));
return(-1);
}
@@ -486,11 +465,8 @@ xmlSecGCryptPkSignatureExecute(xmlSecTransformPtr transform, int last, xmlSecTra
if(transform->operation == xmlSecTransformOperationSign) {
ret = ctx->sign(ctx->digest, ctx->key_data, ctx->dgst, ctx->dgstSize, out);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "ctx->sign",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("ctx->sign",
+ xmlSecTransformGetName(transform));
return(-1);
}
}
@@ -504,11 +480,7 @@ xmlSecGCryptPkSignatureExecute(xmlSecTransformPtr transform, int last, xmlSecTra
/* the only way we can get here is if there is no input */
xmlSecAssert2(xmlSecBufferGetSize(&(transform->inBuf)) == 0, -1);
} else {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- NULL,
- XMLSEC_ERRORS_R_INVALID_STATUS,
- "status=%d", transform->status);
+ xmlSecInvalidTransfromStatusError(transform);
return(-1);
}
@@ -537,11 +509,7 @@ xmlSecGCryptAppendMpi(gcry_mpi_t a, xmlSecBufferPtr out, xmlSecSize min_size) {
written = 0;
err = gcry_mpi_print(GCRYMPI_FMT_USG, NULL, 0, &written, a);
if((err != GPG_ERR_NO_ERROR) || (written == 0)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "gcry_mpi_print",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_GCRYPT_REPORT_ERROR(err));
+ xmlSecGCryptError("gcry_mpi_print", err, NULL);
return(-1);
}
@@ -553,11 +521,8 @@ xmlSecGCryptAppendMpi(gcry_mpi_t a, xmlSecBufferPtr out, xmlSecSize min_size) {
/* allocate space */
ret = xmlSecBufferSetMaxSize(out, outSize + written + 1);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecBufferSetMaxSize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "size=%d", (int)(outSize + written + 1));
+ xmlSecInternalError2("xmlSecBufferSetMaxSize", NULL,
+ "size=%d", (int)(outSize + written + 1));
return(-1);
}
xmlSecAssert2(xmlSecBufferGetMaxSize(out) > outSize, -1);
@@ -579,23 +544,15 @@ xmlSecGCryptAppendMpi(gcry_mpi_t a, xmlSecBufferPtr out, xmlSecSize min_size) {
xmlSecBufferGetMaxSize(out) - outSize,
&written, a);
if((err != GPG_ERR_NO_ERROR) || (written == 0)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "gcry_mpi_print",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_GCRYPT_REPORT_ERROR(err));
+ xmlSecGCryptError("gcry_mpi_print", err, NULL);
return(-1);
}
/* reset size */
ret = xmlSecBufferSetSize(out, outSize + written);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecBufferSetSize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "size=%d",
- (int)(outSize + written));
+ xmlSecInternalError2("xmlSecBufferSetSize", NULL,
+ "size=%d", (int)(outSize + written));
return(-1);
}
@@ -654,11 +611,7 @@ xmlSecGCryptDsaPkSign(int digest ATTRIBUTE_UNUSED, xmlSecKeyDataPtr key_data,
/* get the current digest, can't use "hash" :( */
err = gcry_mpi_scan(&m_hash, GCRYMPI_FMT_USG, dgst, dgstSize, NULL);
if((err != GPG_ERR_NO_ERROR) || (m_hash == NULL)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "gcry_mpi_scan(hash)",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_GCRYPT_REPORT_ERROR(err));
+ xmlSecGCryptError("gcry_mpi_scan(hash)", err, NULL);
goto done;
}
@@ -666,33 +619,22 @@ xmlSecGCryptDsaPkSign(int digest ATTRIBUTE_UNUSED, xmlSecKeyDataPtr key_data,
"(data (flags raw)(value %m))",
m_hash);
if((err != GPG_ERR_NO_ERROR) || (s_data == NULL)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "gcry_sexp_build(data)",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_GCRYPT_REPORT_ERROR(err));
+ xmlSecGCryptError("gcry_sexp_build(data)", err, NULL);
goto done;
}
/* create signature */
err = gcry_pk_sign(&s_sig, s_data, xmlSecGCryptKeyDataDsaGetPrivateKey(key_data));
if(err != GPG_ERR_NO_ERROR) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "gcry_pk_sign",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_GCRYPT_REPORT_ERROR(err));
+ xmlSecGCryptError("gcry_pk_sign", err, NULL);
goto done;
}
/* find signature value */
s_tmp = gcry_sexp_find_token(s_sig, "sig-val", 0);
if(s_tmp == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "gcry_sexp_find_token(sig-val)",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecGCryptError("gcry_sexp_find_token(sig-val)",
+ GPG_ERR_NO_ERROR, NULL);
goto done;
}
gcry_sexp_release(s_sig);
@@ -700,11 +642,8 @@ xmlSecGCryptDsaPkSign(int digest ATTRIBUTE_UNUSED, xmlSecKeyDataPtr key_data,
s_tmp = gcry_sexp_find_token(s_sig, "dsa", 0);
if(s_tmp == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "gcry_sexp_find_token(rsa)",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecGCryptError("gcry_sexp_find_token(dsa)",
+ GPG_ERR_NO_ERROR, NULL);
goto done;
}
gcry_sexp_release(s_sig);
@@ -713,63 +652,43 @@ xmlSecGCryptDsaPkSign(int digest ATTRIBUTE_UNUSED, xmlSecKeyDataPtr key_data,
/* r */
s_r = gcry_sexp_find_token(s_sig, "r", 0);
if(s_r == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "gcry_sexp_find_token(r)",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecGCryptError("gcry_sexp_find_token(r)",
+ GPG_ERR_NO_ERROR, NULL);
goto done;
}
m_r = gcry_sexp_nth_mpi(s_r, 1, GCRYMPI_FMT_USG);
if(m_r == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "gcry_sexp_nth_mpi(r)",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecGCryptError("gcry_sexp_nth_mpi(r)",
+ GPG_ERR_NO_ERROR, NULL);
goto done;
}
/* s */
s_s = gcry_sexp_find_token(s_sig, "s", 0);
if(s_s == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "gcry_sexp_find_token(s)",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecGCryptError("gcry_sexp_find_token(s)",
+ GPG_ERR_NO_ERROR, NULL);
goto done;
}
m_s = gcry_sexp_nth_mpi(s_s, 1, GCRYMPI_FMT_USG);
if(m_s == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "gcry_sexp_nth_mpi(s)",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecGCryptError("gcry_sexp_nth_mpi(s)",
+ GPG_ERR_NO_ERROR, NULL);
goto done;
}
/* write out: r + s */
ret = xmlSecGCryptAppendMpi(m_r, out, 20);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecGCryptAppendMpi",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecGCryptAppendMpi", NULL);
goto done;
}
xmlSecAssert2(xmlSecBufferGetSize(out) == 20, -1);
ret = xmlSecGCryptAppendMpi(m_s, out, 20);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecGCryptAppendMpi",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecGCryptAppendMpi", NULL);
goto done;
}
xmlSecAssert2(xmlSecBufferGetSize(out) == (20 + 20), -1);
@@ -826,11 +745,7 @@ xmlSecGCryptDsaPkVerify(int digest ATTRIBUTE_UNUSED, xmlSecKeyDataPtr key_data,
/* get the current digest, can't use "hash" :( */
err = gcry_mpi_scan(&m_hash, GCRYMPI_FMT_USG, dgst, dgstSize, NULL);
if((err != GPG_ERR_NO_ERROR) || (m_hash == NULL)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "gcry_mpi_scan(hash)",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_GCRYPT_REPORT_ERROR(err));
+ xmlSecGCryptError("gcry_mpi_scan(hash)", err, NULL);
goto done;
}
@@ -838,31 +753,19 @@ xmlSecGCryptDsaPkVerify(int digest ATTRIBUTE_UNUSED, xmlSecKeyDataPtr key_data,
"(data (flags raw)(value %m))",
m_hash);
if((err != GPG_ERR_NO_ERROR) || (s_data == NULL)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "gcry_sexp_build(data)",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_GCRYPT_REPORT_ERROR(err));
+ xmlSecGCryptError("gcry_sexp_build(data)", err, NULL);
goto done;
}
/* get the existing signature */
err = gcry_mpi_scan(&m_sig_r, GCRYMPI_FMT_USG, data, 20, NULL);
if((err != GPG_ERR_NO_ERROR) || (m_sig_r == NULL)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "gcry_mpi_scan(r)",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_GCRYPT_REPORT_ERROR(err));
+ xmlSecGCryptError("gcry_mpi_scan(r)", err, NULL);
goto done;
}
err = gcry_mpi_scan(&m_sig_s, GCRYMPI_FMT_USG, data + 20, 20, NULL);
if((err != GPG_ERR_NO_ERROR) || (m_sig_s == NULL)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "gcry_mpi_scan(s)",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_GCRYPT_REPORT_ERROR(err));
+ xmlSecGCryptError("gcry_mpi_scan(s)", err, NULL);
goto done;
}
@@ -870,11 +773,7 @@ xmlSecGCryptDsaPkVerify(int digest ATTRIBUTE_UNUSED, xmlSecKeyDataPtr key_data,
"(sig-val(dsa(r %m)(s %m)))",
m_sig_r, m_sig_s);
if((err != GPG_ERR_NO_ERROR) || (s_sig == NULL)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "gcry_sexp_build(sig-val)",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_GCRYPT_REPORT_ERROR(err));
+ xmlSecGCryptError("gcry_sexp_build(sig-val)", err, NULL);
goto done;
}
@@ -885,11 +784,7 @@ xmlSecGCryptDsaPkVerify(int digest ATTRIBUTE_UNUSED, xmlSecKeyDataPtr key_data,
} else if(err == GPG_ERR_BAD_SIGNATURE) {
res = 0; /* bad signature */
} else {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "gcry_pk_verify",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_GCRYPT_REPORT_ERROR(err));
+ xmlSecGCryptError("gcry_pk_verify", err, NULL);
goto done;
}
@@ -1020,33 +915,22 @@ xmlSecGCryptRsaPkcs1PkSign(int digest, xmlSecKeyDataPtr key_data,
gcry_md_algo_name(digest),
(int)dgstSize, dgst);
if((err != GPG_ERR_NO_ERROR) || (s_data == NULL)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "gcry_sexp_build(data)",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_GCRYPT_REPORT_ERROR(err));
+ xmlSecGCryptError("gcry_sexp_build(data)", err, NULL);
goto done;
}
/* create signature */
err = gcry_pk_sign(&s_sig, s_data, xmlSecGCryptKeyDataRsaGetPrivateKey(key_data));
if(err != GPG_ERR_NO_ERROR) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "gcry_pk_sign",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_GCRYPT_REPORT_ERROR(err));
+ xmlSecGCryptError("gcry_pk_sign", err, NULL);
goto done;
}
/* find signature value */
s_tmp = gcry_sexp_find_token(s_sig, "sig-val", 0);
if(s_tmp == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "gcry_sexp_find_token(sig-val)",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecGCryptError("gcry_sexp_find_token(sig-val)",
+ GPG_ERR_NO_ERROR, NULL);
goto done;
}
gcry_sexp_release(s_sig);
@@ -1054,11 +938,8 @@ xmlSecGCryptRsaPkcs1PkSign(int digest, xmlSecKeyDataPtr key_data,
s_tmp = gcry_sexp_find_token(s_sig, "rsa", 0);
if(s_tmp == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "gcry_sexp_find_token(rsa)",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecGCryptError("gcry_sexp_find_token(rsa)",
+ GPG_ERR_NO_ERROR, NULL);
goto done;
}
gcry_sexp_release(s_sig);
@@ -1066,11 +947,8 @@ xmlSecGCryptRsaPkcs1PkSign(int digest, xmlSecKeyDataPtr key_data,
s_tmp = gcry_sexp_find_token(s_sig, "s", 0);
if(s_tmp == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "gcry_sexp_find_token(s)",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecGCryptError("gcry_sexp_find_token(s)",
+ GPG_ERR_NO_ERROR, NULL);
goto done;
}
gcry_sexp_release(s_sig);
@@ -1078,22 +956,15 @@ xmlSecGCryptRsaPkcs1PkSign(int digest, xmlSecKeyDataPtr key_data,
m_sig = gcry_sexp_nth_mpi(s_sig, 1, GCRYMPI_FMT_USG);
if(m_sig == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "gcry_sexp_nth_mpi(1)",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecGCryptError("gcry_sexp_nth_mpi(1)",
+ GPG_ERR_NO_ERROR, NULL);
goto done;
}
/* write out */
ret = xmlSecGCryptAppendMpi(m_sig, out, 0);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecGCryptAppendMpi",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecGCryptAppendMpi", NULL);
goto done;
}
@@ -1138,22 +1009,14 @@ xmlSecGCryptRsaPkcs1PkVerify(int digest, xmlSecKeyDataPtr key_data,
gcry_md_algo_name(digest),
(int)dgstSize, dgst);
if((err != GPG_ERR_NO_ERROR) || (s_data == NULL)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "gcry_sexp_build(data)",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_GCRYPT_REPORT_ERROR(err));
+ xmlSecGCryptError("gcry_sexp_build(data)", err, NULL);
goto done;
}
/* get the existing signature */
err = gcry_mpi_scan(&m_sig, GCRYMPI_FMT_USG, data, dataSize, NULL);
if((err != GPG_ERR_NO_ERROR) || (m_sig == NULL)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "gcry_mpi_scan",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_GCRYPT_REPORT_ERROR(err));
+ xmlSecGCryptError("gcry_mpi_scan", err, NULL);
goto done;
}
@@ -1161,11 +1024,7 @@ xmlSecGCryptRsaPkcs1PkVerify(int digest, xmlSecKeyDataPtr key_data,
"(sig-val(rsa(s %m)))",
m_sig);
if((err != GPG_ERR_NO_ERROR) || (s_sig == NULL)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "gcry_sexp_build(sig-val)",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_GCRYPT_REPORT_ERROR(err));
+ xmlSecGCryptError("gcry_sexp_build(sig-val)", err, NULL);
goto done;
}
@@ -1176,11 +1035,7 @@ xmlSecGCryptRsaPkcs1PkVerify(int digest, xmlSecKeyDataPtr key_data,
} else if(err == GPG_ERR_BAD_SIGNATURE) {
res = 0; /* bad signature */
} else {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "gcry_pk_verify",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_GCRYPT_REPORT_ERROR(err));
+ xmlSecGCryptError("gcry_pk_verify", err, NULL);
goto done;
}
diff --git a/src/gcrypt/symkeys.c b/src/gcrypt/symkeys.c
index ecd8368..c07b93e 100644
--- a/src/gcrypt/symkeys.c
+++ b/src/gcrypt/symkeys.c
@@ -1,6 +1,5 @@
-/**
- *
- * XMLSec library
+/*
+ * XML Security Library (http://www.aleksey.com/xmlsec).
*
* DES Algorithm support
*
diff --git a/src/globals.h b/src/globals.h
index 5cc7070..b55443a 100644
--- a/src/globals.h
+++ b/src/globals.h
@@ -22,4 +22,7 @@
#define IN_XMLSEC
#define XMLSEC_PRIVATE
+/* Include common error helper macros. */
+#include "errors_helpers.h"
+
#endif /* __XMLSEC_GLOBALS_H__ */
diff --git a/src/gnutls/Makefile.am b/src/gnutls/Makefile.am
index 84ce637..370b7a0 100644
--- a/src/gnutls/Makefile.am
+++ b/src/gnutls/Makefile.am
@@ -36,10 +36,6 @@ libxmlsec1_gnutls_la_SOURCES =\
globals.h \
$(NULL)
-if SHAREDLIB_HACK
-libxmlsec1_gnutls_la_SOURCES += ../strings.c
-endif
-
# xmlsec-gnutls library requires xmlsec-gcrypt
libxmlsec1_gnutls_la_LIBADD = \
$(GNUTLS_LIBS) \
diff --git a/src/gnutls/Makefile.in b/src/gnutls/Makefile.in
index 2d254f6..7b3e8cc 100644
--- a/src/gnutls/Makefile.in
+++ b/src/gnutls/Makefile.in
@@ -88,7 +88,6 @@ PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
- at SHAREDLIB_HACK_TRUE@am__append_1 = ../strings.c
subdir = src/gnutls
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
@@ -132,14 +131,7 @@ am__uninstall_files_from_dir = { \
am__installdirs = "$(DESTDIR)$(libdir)"
LTLIBRARIES = $(lib_LTLIBRARIES)
am__DEPENDENCIES_1 =
-am__libxmlsec1_gnutls_la_SOURCES_DIST = app.c ciphers.c crypto.c \
- digests.c hmac.c kw_aes.c kw_des.c symkeys.c asymkeys.c \
- signatures.c x509utils.h x509utils.c x509.c x509vfy.c \
- globals.h ../strings.c
am__objects_1 =
-am__dirstamp = $(am__leading_dot)dirstamp
- at SHAREDLIB_HACK_TRUE@am__objects_2 = \
- at SHAREDLIB_HACK_TRUE@ ../libxmlsec1_gnutls_la-strings.lo
am_libxmlsec1_gnutls_la_OBJECTS = libxmlsec1_gnutls_la-app.lo \
libxmlsec1_gnutls_la-ciphers.lo libxmlsec1_gnutls_la-crypto.lo \
libxmlsec1_gnutls_la-digests.lo libxmlsec1_gnutls_la-hmac.lo \
@@ -148,8 +140,7 @@ am_libxmlsec1_gnutls_la_OBJECTS = libxmlsec1_gnutls_la-app.lo \
libxmlsec1_gnutls_la-asymkeys.lo \
libxmlsec1_gnutls_la-signatures.lo \
libxmlsec1_gnutls_la-x509utils.lo libxmlsec1_gnutls_la-x509.lo \
- libxmlsec1_gnutls_la-x509vfy.lo $(am__objects_1) \
- $(am__objects_2)
+ libxmlsec1_gnutls_la-x509vfy.lo $(am__objects_1)
libxmlsec1_gnutls_la_OBJECTS = $(am_libxmlsec1_gnutls_la_OBJECTS)
AM_V_lt = $(am__v_lt_ at AM_V@)
am__v_lt_ = $(am__v_lt_ at AM_DEFAULT_V@)
@@ -194,7 +185,7 @@ am__v_CCLD_ = $(am__v_CCLD_ at AM_DEFAULT_V@)
am__v_CCLD_0 = @echo " CCLD " $@;
am__v_CCLD_1 =
SOURCES = $(libxmlsec1_gnutls_la_SOURCES)
-DIST_SOURCES = $(am__libxmlsec1_gnutls_la_SOURCES_DIST)
+DIST_SOURCES = $(libxmlsec1_gnutls_la_SOURCES)
am__can_run_installinfo = \
case $$AM_UPDATE_INFO_DIR in \
n|no|NO) false;; \
@@ -283,6 +274,7 @@ LIBXSLT_PC_FILE_COND = @LIBXSLT_PC_FILE_COND@
LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MAN2HTML = @MAN2HTML@
@@ -330,6 +322,7 @@ SHELL = @SHELL@
STRIP = @STRIP@
TAR = @TAR@
VERSION = @VERSION@
+XMLSEC_APPS = @XMLSEC_APPS@
XMLSEC_APP_DEFINES = @XMLSEC_APP_DEFINES@
XMLSEC_CFLAGS = @XMLSEC_CFLAGS@
XMLSEC_CORE_CFLAGS = @XMLSEC_CORE_CFLAGS@
@@ -346,6 +339,7 @@ XMLSEC_DEFINES = @XMLSEC_DEFINES@
XMLSEC_DL_INCLUDES = @XMLSEC_DL_INCLUDES@
XMLSEC_DL_LIBS = @XMLSEC_DL_LIBS@
XMLSEC_DOCDIR = @XMLSEC_DOCDIR@
+XMLSEC_DOCS = @XMLSEC_DOCS@
XMLSEC_EXTRA_LDFLAGS = @XMLSEC_EXTRA_LDFLAGS@
XMLSEC_GCRYPT_CFLAGS = @XMLSEC_GCRYPT_CFLAGS@
XMLSEC_GCRYPT_LIBS = @XMLSEC_GCRYPT_LIBS@
@@ -435,6 +429,7 @@ pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
+runstatedir = @runstatedir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
@@ -462,10 +457,24 @@ libxmlsec1_gnutls_la_CPPFLAGS = \
$(LIBXML_CFLAGS) \
$(NULL)
-libxmlsec1_gnutls_la_SOURCES = app.c ciphers.c crypto.c digests.c \
- hmac.c kw_aes.c kw_des.c symkeys.c asymkeys.c signatures.c \
- x509utils.h x509utils.c x509.c x509vfy.c globals.h $(NULL) \
- $(am__append_1)
+libxmlsec1_gnutls_la_SOURCES = \
+ app.c \
+ ciphers.c \
+ crypto.c \
+ digests.c \
+ hmac.c \
+ kw_aes.c \
+ kw_des.c \
+ symkeys.c \
+ asymkeys.c \
+ signatures.c \
+ x509utils.h \
+ x509utils.c \
+ x509.c \
+ x509vfy.c \
+ globals.h \
+ $(NULL)
+
# xmlsec-gnutls library requires xmlsec-gcrypt
libxmlsec1_gnutls_la_LIBADD = \
@@ -552,27 +561,16 @@ clean-libLTLIBRARIES:
echo rm -f $${locs}; \
rm -f $${locs}; \
}
-../$(am__dirstamp):
- @$(MKDIR_P) ..
- @: > ../$(am__dirstamp)
-../$(DEPDIR)/$(am__dirstamp):
- @$(MKDIR_P) ../$(DEPDIR)
- @: > ../$(DEPDIR)/$(am__dirstamp)
-../libxmlsec1_gnutls_la-strings.lo: ../$(am__dirstamp) \
- ../$(DEPDIR)/$(am__dirstamp)
libxmlsec1-gnutls.la: $(libxmlsec1_gnutls_la_OBJECTS) $(libxmlsec1_gnutls_la_DEPENDENCIES) $(EXTRA_libxmlsec1_gnutls_la_DEPENDENCIES)
$(AM_V_CCLD)$(libxmlsec1_gnutls_la_LINK) -rpath $(libdir) $(libxmlsec1_gnutls_la_OBJECTS) $(libxmlsec1_gnutls_la_LIBADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
- -rm -f ../*.$(OBJEXT)
- -rm -f ../*.lo
distclean-compile:
-rm -f *.tab.c
- at AMDEP_TRUE@@am__include@ @am__quote at ../$(DEPDIR)/libxmlsec1_gnutls_la-strings.Plo at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libxmlsec1_gnutls_la-app.Plo at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libxmlsec1_gnutls_la-asymkeys.Plo at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libxmlsec1_gnutls_la-ciphers.Plo at am__quote@
@@ -702,19 +700,11 @@ libxmlsec1_gnutls_la-x509vfy.lo: x509vfy.c
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libxmlsec1_gnutls_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libxmlsec1_gnutls_la-x509vfy.lo `test -f 'x509vfy.c' || echo '$(srcdir)/'`x509vfy.c
-../libxmlsec1_gnutls_la-strings.lo: ../strings.c
- at am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libxmlsec1_gnutls_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ../libxmlsec1_gnutls_la-strings.lo -MD -MP -MF ../$(DEPDIR)/libxmlsec1_gnutls_la-strings.Tpo -c -o ../libxmlsec1_gnutls_la-strings.lo `test -f '../strings.c' || echo '$(srcdir)/'`../strings.c
- at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) ../$(DEPDIR)/libxmlsec1_gnutls_la-strings.Tpo ../$(DEPDIR)/libxmlsec1_gnutls_la-strings.Plo
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='../strings.c' object='../libxmlsec1_gnutls_la-strings.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libxmlsec1_gnutls_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ../libxmlsec1_gnutls_la-strings.lo `test -f '../strings.c' || echo '$(srcdir)/'`../strings.c
-
mostlyclean-libtool:
-rm -f *.lo
clean-libtool:
-rm -rf .libs _libs
- -rm -rf ../.libs ../_libs
ID: $(am__tagged_files)
$(am__define_uniq_tagged_files); mkid -fID $$unique
@@ -831,8 +821,6 @@ clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
- -rm -f ../$(DEPDIR)/$(am__dirstamp)
- -rm -f ../$(am__dirstamp)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -843,7 +831,7 @@ clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \
mostlyclean-am
distclean: distclean-am
- -rm -rf ../$(DEPDIR) ./$(DEPDIR)
+ -rm -rf ./$(DEPDIR)
-rm -f Makefile
distclean-am: clean-am distclean-compile distclean-generic \
distclean-tags
@@ -889,7 +877,7 @@ install-ps-am:
installcheck-am:
maintainer-clean: maintainer-clean-am
- -rm -rf ../$(DEPDIR) ./$(DEPDIR)
+ -rm -rf ./$(DEPDIR)
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
diff --git a/src/gnutls/app.c b/src/gnutls/app.c
index 042f311..e59d0cf 100644
--- a/src/gnutls/app.c
+++ b/src/gnutls/app.c
@@ -1,5 +1,5 @@
-/**
- * XMLSec library
+/*
+ * XML Security Library (http://www.aleksey.com/xmlsec).
*
* This is free software; see Copyright file in the source
* distribution for preciese wording.
@@ -51,11 +51,7 @@ xmlSecGnuTLSAppInit(const char* config) {
err = gnutls_global_init();
if(err != GNUTLS_E_SUCCESS) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "gnutls_global_init",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_GNUTLS_REPORT_ERROR(err));
+ xmlSecGnuTLSError("gnutls_global_init", err, NULL);
return(-1);
}
@@ -180,22 +176,14 @@ xmlSecGnuTLSAppKeyCertLoad(xmlSecKeyPtr key, const char* filename,
ret = xmlSecBufferInitialize(&buffer, 4*1024);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecBufferInitialize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecBufferInitialize", NULL);
return(-1);
}
ret = xmlSecBufferReadFile(&buffer, filename);
if((ret < 0) || (xmlSecBufferGetData(&buffer) == NULL) || (xmlSecBufferGetSize(&buffer) <= 0)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecBufferReadFile",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "filename=%s",
- xmlSecErrorsSafeString(filename));
+ xmlSecInternalError2("xmlSecBufferReadFile", NULL,
+ "filename=%s", xmlSecErrorsSafeString(filename));
xmlSecBufferFinalize(&buffer);
return(-1);
}
@@ -205,12 +193,8 @@ xmlSecGnuTLSAppKeyCertLoad(xmlSecKeyPtr key, const char* filename,
xmlSecBufferGetSize(&buffer),
format);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecGnuTLSAppKeyCertLoadMemory",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "filename=%s",
- xmlSecErrorsSafeString(filename));
+ xmlSecInternalError2("xmlSecGnuTLSAppKeyCertLoadMemory", NULL,
+ "filename=%s", xmlSecErrorsSafeString(filename));
xmlSecBufferFinalize(&buffer);
return(-1);
}
@@ -247,31 +231,19 @@ xmlSecGnuTLSAppKeyCertLoadMemory(xmlSecKeyPtr key,
keyData = xmlSecKeyEnsureData(key, xmlSecGnuTLSKeyDataX509Id);
if(keyData == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecKeyEnsureData",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeyEnsureData", NULL);
return(-1);
}
cert = xmlSecGnuTLSX509CertRead(data, dataSize, format);
if(cert == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecGnuTLSX509CertRead",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecGnuTLSX509CertRead", NULL);
return(-1);
}
ret = xmlSecGnuTLSKeyDataX509AdoptCert(keyData, cert);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecGnuTLSKeyDataX509AdoptCert",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecGnuTLSKeyDataX509AdoptCert", NULL);
gnutls_x509_crt_deinit(cert);
return(-1);
}
@@ -305,22 +277,14 @@ xmlSecGnuTLSAppPkcs12Load(const char *filename,
ret = xmlSecBufferInitialize(&buffer, 4*1024);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecBufferInitialize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecBufferInitialize", NULL);
return(NULL);
}
ret = xmlSecBufferReadFile(&buffer, filename);
if((ret < 0) || (xmlSecBufferGetData(&buffer) == NULL) || (xmlSecBufferGetSize(&buffer) <= 0)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecBufferReadFile",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "filename=%s",
- xmlSecErrorsSafeString(filename));
+ xmlSecInternalError2("xmlSecBufferReadFile", NULL,
+ "filename=%s", xmlSecErrorsSafeString(filename));
xmlSecBufferFinalize(&buffer);
return(NULL);
}
@@ -329,12 +293,8 @@ xmlSecGnuTLSAppPkcs12Load(const char *filename,
xmlSecBufferGetSize(&buffer),
pwd, pwdCallback, pwdCallbackCtx);
if(key == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecGnuTLSAppPkcs12LoadMemory",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "filename=%s",
- xmlSecErrorsSafeString(filename));
+ xmlSecInternalError2("xmlSecGnuTLSAppPkcs12LoadMemory", NULL,
+ "filename=%s", xmlSecErrorsSafeString(filename));
xmlSecBufferFinalize(&buffer);
return(NULL);
}
@@ -380,56 +340,36 @@ xmlSecGnuTLSAppPkcs12LoadMemory(const xmlSecByte* data, xmlSecSize dataSize,
/* prepare */
ret = xmlSecPtrListInitialize(&(certsList), xmlSecGnuTLSX509CrtListId);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecPtrListInitialize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "certsList");
+ xmlSecInternalError("xmlSecPtrListInitialize(certsListId)", NULL);
return(NULL);
}
/* load pkcs12 */
ret = xmlSecGnuTLSPkcs12LoadMemory(data, dataSize, pwd, &priv_key, &key_cert, &certsList);
if((ret < 0) || (priv_key == NULL)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecGnuTLSPkcs12LoadMemory",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecGnuTLSPkcs12LoadMemory", NULL);
goto done;
}
/* create key */
key = xmlSecKeyCreate();
if(key == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecKeyCreate",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeyCreate", NULL);
goto done;
}
/* create key value data */
keyData = xmlSecGnuTLSCreateKeyDataAndAdoptPrivKey(priv_key);
if(keyData == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecGnuTLSCreateKeyDataAndAdoptPrivKey",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecGnuTLSCreateKeyDataAndAdoptPrivKey", NULL);
goto done;
}
priv_key = NULL; /* owned by keyData now */
ret = xmlSecKeySetValue(key, keyData);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecKeySetValue",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "data=%s",
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(x509Data)));
+ xmlSecInternalError("xmlSecKeySetValue",
+ xmlSecKeyDataGetName(x509Data));
goto done;
}
keyData = NULL; /* owned by key now */
@@ -442,11 +382,7 @@ xmlSecGnuTLSAppPkcs12LoadMemory(const xmlSecByte* data, xmlSecSize dataSize,
x509Data = xmlSecKeyDataCreate(xmlSecGnuTLSKeyDataX509Id);
if(x509Data == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecKeyDataCreate(xmlSecGnuTLSKeyDataX509Id)",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeyDataCreate(xmlSecGnuTLSKeyDataX509Id)", NULL);
goto done;
}
@@ -454,11 +390,7 @@ xmlSecGnuTLSAppPkcs12LoadMemory(const xmlSecByte* data, xmlSecSize dataSize,
if(key_cert != NULL) {
ret = xmlSecGnuTLSKeyDataX509AdoptKeyCert(x509Data, key_cert);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecGnuTLSKeyDataX509AdoptKeyCert",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecGnuTLSKeyDataX509AdoptKeyCert", NULL);
goto done;
}
key_cert = NULL; /* owned by x509Data now */
@@ -473,11 +405,7 @@ xmlSecGnuTLSAppPkcs12LoadMemory(const xmlSecByte* data, xmlSecSize dataSize,
ret = xmlSecGnuTLSKeyDataX509AdoptCert(x509Data, cert);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecGnuTLSKeyDataX509AdoptCert",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecGnuTLSKeyDataX509AdoptCert", NULL);
gnutls_x509_crt_deinit(cert);
goto done;
}
@@ -486,12 +414,8 @@ xmlSecGnuTLSAppPkcs12LoadMemory(const xmlSecByte* data, xmlSecSize dataSize,
/* set in the key */
ret = xmlSecKeyAdoptData(key, x509Data);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecKeyAdoptData",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "data=%s",
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(x509Data)));
+ xmlSecInternalError("xmlSecKeyAdoptData",
+ xmlSecKeyDataGetName(x509Data));
goto done;
}
x509Data = NULL; /* owned by key now */
@@ -533,22 +457,14 @@ xmlSecGnuTLSAppKeyFromCertLoad(const char *filename,
ret = xmlSecBufferInitialize(&buffer, 4*1024);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecBufferInitialize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecBufferInitialize", NULL);
return(NULL);
}
ret = xmlSecBufferReadFile(&buffer, filename);
if((ret < 0) || (xmlSecBufferGetData(&buffer) == NULL) || (xmlSecBufferGetSize(&buffer) <= 0)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecBufferReadFile",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "filename=%s",
- xmlSecErrorsSafeString(filename));
+ xmlSecInternalError2("xmlSecBufferReadFile", NULL,
+ "filename=%s", xmlSecErrorsSafeString(filename));
xmlSecBufferFinalize(&buffer);
return(NULL);
}
@@ -558,12 +474,8 @@ xmlSecGnuTLSAppKeyFromCertLoad(const char *filename,
xmlSecBufferGetSize(&buffer),
format);
if(key == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecGnuTLSAppKeyFromCertLoadMemory",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "filename=%s",
- xmlSecErrorsSafeString(filename));
+ xmlSecInternalError2("xmlSecGnuTLSAppKeyFromCertLoadMemory", NULL,
+ "filename=%s", xmlSecErrorsSafeString(filename));
xmlSecBufferFinalize(&buffer);
return(NULL);
}
@@ -592,44 +504,28 @@ xmlSecGnuTLSAppKeyFromCertLoadMemory(const xmlSecByte* data,
/* read cert */
cert = xmlSecGnuTLSX509CertRead(data, dataSize, format);
if(cert == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecGnuTLSX509CertRead",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecGnuTLSX509CertRead", NULL);
goto done;
}
/* create key */
key = xmlSecKeyCreate();
if(key == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecKeyCreate",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeyCreate", NULL);
goto done;
}
/* create key value data */
keyData = xmlSecGnuTLSX509CertGetKey(cert);
if(keyData == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecGnuTLSX509CertGetKey",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecGnuTLSX509CertGetKey", NULL);
goto done;
}
ret = xmlSecKeySetValue(key, keyData);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecKeySetValue",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "data=%s",
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(x509Data)));
+ xmlSecInternalError("xmlSecKeySetValue",
+ xmlSecKeyDataGetName(x509Data));
goto done;
}
keyData = NULL; /* owned by key now */
@@ -637,20 +533,12 @@ xmlSecGnuTLSAppKeyFromCertLoadMemory(const xmlSecByte* data,
/* create x509 data */
x509Data = xmlSecKeyEnsureData(key, xmlSecGnuTLSKeyDataX509Id);
if(x509Data == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecKeyEnsureData",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeyEnsureData", NULL);
goto done;
}
ret = xmlSecGnuTLSKeyDataX509AdoptKeyCert(x509Data, cert);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecGnuTLSKeyDataX509AdoptKeyCert",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecGnuTLSKeyDataX509AdoptKeyCert", NULL);
goto done;
}
cert = NULL; /* owned by x509Data now */
@@ -699,22 +587,14 @@ xmlSecGnuTLSAppKeysMngrCertLoad(xmlSecKeysMngrPtr mngr,
ret = xmlSecBufferInitialize(&buffer, 4*1024);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecBufferInitialize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecBufferInitialize", NULL);
return(-1);
}
ret = xmlSecBufferReadFile(&buffer, filename);
if((ret < 0) || (xmlSecBufferGetData(&buffer) == NULL) || (xmlSecBufferGetSize(&buffer) <= 0)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecBufferReadFile",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "filename=%s",
- xmlSecErrorsSafeString(filename));
+ xmlSecInternalError2("xmlSecBufferReadFile", NULL,
+ "filename=%s", xmlSecErrorsSafeString(filename));
xmlSecBufferFinalize(&buffer);
return(-1);
}
@@ -725,12 +605,8 @@ xmlSecGnuTLSAppKeysMngrCertLoad(xmlSecKeysMngrPtr mngr,
format,
type);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecGnuTLSAppKeysMngrCertLoadMemory",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "filename=%s",
- xmlSecErrorsSafeString(filename));
+ xmlSecInternalError2("xmlSecGnuTLSAppKeysMngrCertLoadMemory", NULL,
+ "filename=%s", xmlSecErrorsSafeString(filename));
xmlSecBufferFinalize(&buffer);
return(-1);
}
@@ -770,31 +646,19 @@ xmlSecGnuTLSAppKeysMngrCertLoadMemory(xmlSecKeysMngrPtr mngr,
x509Store = xmlSecKeysMngrGetDataStore(mngr, xmlSecGnuTLSX509StoreId);
if(x509Store == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecKeysMngrGetDataStore",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "xmlSecGnuTLSX509StoreId");
+ xmlSecInternalError("xmlSecKeysMngrGetDataStore(StoreId)", NULL);
return(-1);
}
cert = xmlSecGnuTLSX509CertRead(data, dataSize, format);
if(cert == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecGnuTLSX509CertRead",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecGnuTLSX509CertRead", NULL);
return(-1);
}
ret = xmlSecGnuTLSX509StoreAdoptCert(x509Store, cert, type);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecGnuTLSX509StoreAdoptCert",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecGnuTLSX509StoreAdoptCert", NULL);
gnutls_x509_crt_deinit(cert);
return(-1);
}
@@ -825,21 +689,13 @@ xmlSecGnuTLSAppDefaultKeysMngrInit(xmlSecKeysMngrPtr mngr) {
keysStore = xmlSecKeyStoreCreate(xmlSecSimpleKeysStoreId);
if(keysStore == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecKeyStoreCreate",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "xmlSecSimpleKeysStoreId");
+ xmlSecInternalError("xmlSecKeyStoreCreate(StoreId)", NULL);
return(-1);
}
ret = xmlSecKeysMngrAdoptKeysStore(mngr, keysStore);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecKeysMngrAdoptKeysStore",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeysMngrAdoptKeysStore", NULL);
xmlSecKeyStoreDestroy(keysStore);
return(-1);
}
@@ -847,11 +703,7 @@ xmlSecGnuTLSAppDefaultKeysMngrInit(xmlSecKeysMngrPtr mngr) {
ret = xmlSecGnuTLSKeysMngrInit(mngr);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecGnuTLSKeysMngrInit",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecGnuTLSKeysMngrInit", NULL);
return(-1);
}
@@ -880,21 +732,13 @@ xmlSecGnuTLSAppDefaultKeysMngrAdoptKey(xmlSecKeysMngrPtr mngr, xmlSecKeyPtr key)
store = xmlSecKeysMngrGetKeysStore(mngr);
if(store == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecKeysMngrGetKeysStore",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeysMngrGetKeysStore", NULL);
return(-1);
}
ret = xmlSecSimpleKeysStoreAdoptKey(store, key);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecSimpleKeysStoreAdoptKey",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecSimpleKeysStoreAdoptKey", NULL);
return(-1);
}
@@ -921,21 +765,14 @@ xmlSecGnuTLSAppDefaultKeysMngrLoad(xmlSecKeysMngrPtr mngr, const char* uri) {
store = xmlSecKeysMngrGetKeysStore(mngr);
if(store == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecKeysMngrGetKeysStore",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeysMngrGetKeysStore", NULL);
return(-1);
}
ret = xmlSecSimpleKeysStoreLoad(store, uri, mngr);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecSimpleKeysStoreLoad",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "uri=%s", xmlSecErrorsSafeString(uri));
+ xmlSecInternalError2("xmlSecSimpleKeysStoreLoad", NULL,
+ "uri=%s", xmlSecErrorsSafeString(uri));
return(-1);
}
@@ -962,22 +799,14 @@ xmlSecGnuTLSAppDefaultKeysMngrSave(xmlSecKeysMngrPtr mngr, const char* filename,
store = xmlSecKeysMngrGetKeysStore(mngr);
if(store == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecKeysMngrGetKeysStore",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeysMngrGetKeysStore", NULL);
return(-1);
}
ret = xmlSecSimpleKeysStoreSave(store, filename, type);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecSimpleKeysStoreSave",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "filename=%s",
- xmlSecErrorsSafeString(filename));
+ xmlSecInternalError2("xmlSecSimpleKeysStoreSave", NULL,
+ "filename=%s", xmlSecErrorsSafeString(filename));
return(-1);
}
diff --git a/src/gnutls/asymkeys.c b/src/gnutls/asymkeys.c
index 8c82b70..9496598 100644
--- a/src/gnutls/asymkeys.c
+++ b/src/gnutls/asymkeys.c
@@ -1,5 +1,5 @@
-/**
- * XMLSec library
+/*
+ * XML Security Library (http://www.aleksey.com/xmlsec).
*
* This is free software; see Copyright file in the source
* distribution for preciese wording.
@@ -60,13 +60,10 @@ static int xmlSecGnuTLSConvertParamsToMpis(gnutls_datum_t * params, xmlSecSize p
xmlSecAssert2(paramsNum == mpisNum, -1);
for(ii = 0; ii < paramsNum; ++ii) {
+ mpis[ii] = NULL;
rc = gcry_mpi_scan(&(mpis[ii]), GCRYMPI_FMT_USG, params[ii].data, params[ii].size, NULL);
if((rc != GPG_ERR_NO_ERROR) || (mpis[ii] == NULL)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "gcry_mpi_scan",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_GNUTLS_GCRYPT_REPORT_ERROR(rc));
+ xmlSecGnuTLSGCryptError("gcry_mpi_scan", rc, NULL);
xmlSecGnuTLSDestroyMpis(mpis, ii); /* destroy up to now */
return(-1);
}
@@ -118,11 +115,7 @@ xmlSecGnuTLSKeyDataDsaAdoptPrivateKey(xmlSecKeyDataPtr data, gnutls_x509_privkey
&(params[0]), &(params[1]), &(params[2]),
&(params[3]), &(params[4]));
if(err != GNUTLS_E_SUCCESS) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "gnutls_x509_privkey_export_dsa_raw",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_GNUTLS_REPORT_ERROR(err));
+ xmlSecGnuTLSError("gnutls_x509_privkey_export_dsa_raw", err, NULL);
return(-1);
}
@@ -131,11 +124,7 @@ xmlSecGnuTLSKeyDataDsaAdoptPrivateKey(xmlSecKeyDataPtr data, gnutls_x509_privkey
params, sizeof(params)/sizeof(params[0]),
mpis, sizeof(mpis)/sizeof(mpis[0]));
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecGnuTLSConvertParamsToMpis",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecGnuTLSConvertParamsToMpis", NULL);
xmlSecGnuTLSDestroyParams(params, sizeof(params)/sizeof(params[0]));
return(-1);
}
@@ -151,22 +140,14 @@ xmlSecGnuTLSKeyDataDsaAdoptPrivateKey(xmlSecKeyDataPtr data, gnutls_x509_privkey
rc = gcry_sexp_build(&(priv_key), NULL, "(private-key(dsa(p%m)(q%m)(g%m)(y%m)(x%m)))",
mpis[0], mpis[1], mpis[2], mpis[3], mpis[4]);
if((rc != GPG_ERR_NO_ERROR) || (priv_key == NULL)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "gcry_sexp_build(private/dsa)",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_GNUTLS_GCRYPT_REPORT_ERROR(rc));
+ xmlSecGnuTLSGCryptError("gcry_sexp_build(private/dsa)", rc, NULL);
xmlSecGnuTLSDestroyMpis(mpis, sizeof(mpis)/sizeof(mpis[0]));
return(-1);
}
rc = gcry_sexp_build(&(pub_key), NULL, "(public-key(dsa(p%m)(q%m)(g%m)(y%m)))",
mpis[0], mpis[1], mpis[2], mpis[3]);
if((rc != GPG_ERR_NO_ERROR) || (pub_key == NULL)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "gcry_sexp_build(private/rsa)",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_GNUTLS_GCRYPT_REPORT_ERROR(rc));
+ xmlSecGnuTLSGCryptError("gcry_sexp_build(public/dsa)", rc, NULL);
gcry_sexp_release(priv_key);
xmlSecGnuTLSDestroyMpis(mpis, sizeof(mpis)/sizeof(mpis[0]));
return(-1);
@@ -175,11 +156,7 @@ xmlSecGnuTLSKeyDataDsaAdoptPrivateKey(xmlSecKeyDataPtr data, gnutls_x509_privkey
ret = xmlSecGCryptKeyDataDsaAdoptKeyPair(data, pub_key, priv_key);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecGCryptKeyDataDsaAdoptKeyPair",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecGCryptKeyDataDsaAdoptKeyPair", NULL);
gcry_sexp_release(pub_key);
gcry_sexp_release(priv_key);
return(-1);
@@ -230,11 +207,7 @@ xmlSecGnuTLSKeyDataDsaAdoptPublicKey(xmlSecKeyDataPtr data,
params, sizeof(params)/sizeof(params[0]),
mpis, sizeof(mpis)/sizeof(mpis[0]));
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecGnuTLSConvertParamsToMpis",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecGnuTLSConvertParamsToMpis", NULL);
/* don't destroy params - we got them from outside !!! */
return(-1);
}
@@ -244,11 +217,7 @@ xmlSecGnuTLSKeyDataDsaAdoptPublicKey(xmlSecKeyDataPtr data,
rc = gcry_sexp_build(&(pub_key), NULL, "(public-key(dsa(p%m)(q%m)(g%m)(y%m)))",
mpis[0], mpis[1], mpis[2], mpis[3]);
if((rc != GPG_ERR_NO_ERROR) || (pub_key == NULL)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "gcry_sexp_build(private/rsa)",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_GNUTLS_GCRYPT_REPORT_ERROR(rc));
+ xmlSecGnuTLSGCryptError("gcry_sexp_build(public/dsa)", rc, NULL);
xmlSecGnuTLSDestroyMpis(mpis, sizeof(mpis)/sizeof(mpis[0]));
return(-1);
}
@@ -256,11 +225,7 @@ xmlSecGnuTLSKeyDataDsaAdoptPublicKey(xmlSecKeyDataPtr data,
ret = xmlSecGCryptKeyDataDsaAdoptKeyPair(data, pub_key, NULL);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecGCryptKeyDataDsaAdoptKeyPair",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecGCryptKeyDataDsaAdoptKeyPair", NULL);
gcry_sexp_release(pub_key);
return(-1);
}
@@ -318,11 +283,7 @@ xmlSecGnuTLSKeyDataRsaAdoptPrivateKey(xmlSecKeyDataPtr data, gnutls_x509_privkey
&(params[0]), &(params[1]), &(params[2]),
&(params[3]), &(params[4]), &(params[5]));
if(err != GNUTLS_E_SUCCESS) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "gnutls_x509_privkey_export_rsa_raw",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_GNUTLS_REPORT_ERROR(err));
+ xmlSecGnuTLSError("gnutls_x509_privkey_export_rsa_raw", err, NULL);
return(-1);
}
@@ -331,11 +292,7 @@ xmlSecGnuTLSKeyDataRsaAdoptPrivateKey(xmlSecKeyDataPtr data, gnutls_x509_privkey
params, sizeof(params)/sizeof(params[0]),
mpis, sizeof(mpis)/sizeof(mpis[0]));
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecGnuTLSConvertParamsToMpis",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecGnuTLSConvertParamsToMpis", NULL);
xmlSecGnuTLSDestroyParams(params, sizeof(params)/sizeof(params[0]));
return(-1);
}
@@ -354,22 +311,14 @@ xmlSecGnuTLSKeyDataRsaAdoptPrivateKey(xmlSecKeyDataPtr data, gnutls_x509_privkey
mpis[0], mpis[1], mpis[2],
mpis[3], mpis[4], mpis[5]);
if((rc != GPG_ERR_NO_ERROR) || (priv_key == NULL)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "gcry_sexp_build(private/rsa)",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_GNUTLS_GCRYPT_REPORT_ERROR(rc));
+ xmlSecGnuTLSGCryptError("gcry_sexp_build(private/rsa)", rc, NULL);
xmlSecGnuTLSDestroyMpis(mpis, sizeof(mpis)/sizeof(mpis[0]));
return(-1);
}
rc = gcry_sexp_build(&(pub_key), NULL, "(public-key(rsa((n%m)(e%m))))",
mpis[0], mpis[1]);
if((rc != GPG_ERR_NO_ERROR) || (pub_key == NULL)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "gcry_sexp_build(private/rsa)",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_GNUTLS_GCRYPT_REPORT_ERROR(rc));
+ xmlSecGnuTLSGCryptError("gcry_sexp_build(public/rsa)", rc, NULL);
gcry_sexp_release(priv_key);
xmlSecGnuTLSDestroyMpis(mpis, sizeof(mpis)/sizeof(mpis[0]));
return(-1);
@@ -378,11 +327,7 @@ xmlSecGnuTLSKeyDataRsaAdoptPrivateKey(xmlSecKeyDataPtr data, gnutls_x509_privkey
ret = xmlSecGCryptKeyDataRsaAdoptKeyPair(data, pub_key, priv_key);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecGCryptKeyDataRsaAdoptKeyPair",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecGCryptKeyDataRsaAdoptKeyPair", NULL);
gcry_sexp_release(pub_key);
gcry_sexp_release(priv_key);
return(-1);
@@ -426,11 +371,7 @@ xmlSecGnuTLSKeyDataRsaAdoptPublicKey(xmlSecKeyDataPtr data,
params, sizeof(params)/sizeof(params[0]),
mpis, sizeof(mpis)/sizeof(mpis[0]));
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecGnuTLSConvertParamsToMpis",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecGnuTLSConvertParamsToMpis", NULL);
/* don't destroy params - we got them from outside !!! */
return(-1);
}
@@ -440,11 +381,7 @@ xmlSecGnuTLSKeyDataRsaAdoptPublicKey(xmlSecKeyDataPtr data,
rc = gcry_sexp_build(&(pub_key), NULL, "(public-key(rsa((n%m)(e%m))))",
mpis[0], mpis[1]);
if((rc != GPG_ERR_NO_ERROR) || (pub_key == NULL)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "gcry_sexp_build(private/rsa)",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_GNUTLS_GCRYPT_REPORT_ERROR(rc));
+ xmlSecGnuTLSGCryptError("gcry_sexp_build(public/rsa)", rc, NULL);
xmlSecGnuTLSDestroyMpis(mpis, sizeof(mpis)/sizeof(mpis[0]));
return(-1);
}
@@ -452,11 +389,7 @@ xmlSecGnuTLSKeyDataRsaAdoptPublicKey(xmlSecKeyDataPtr data,
ret = xmlSecGCryptKeyDataRsaAdoptKeyPair(data, pub_key, NULL);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecGCryptKeyDataRsaAdoptKeyPair",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecGCryptKeyDataRsaAdoptKeyPair", NULL);
gcry_sexp_release(pub_key);
return(-1);
}
diff --git a/src/gnutls/ciphers.c b/src/gnutls/ciphers.c
index e38fa7d..bb573ba 100644
--- a/src/gnutls/ciphers.c
+++ b/src/gnutls/ciphers.c
@@ -1,5 +1,5 @@
-/**
- * XMLSec library
+/*
+ * XML Security Library (http://www.aleksey.com/xmlsec).
*
* This is free software; see Copyright file in the source
* distribution for preciese wording.
diff --git a/src/gnutls/crypto.c b/src/gnutls/crypto.c
index 0921f2c..6b10442 100644
--- a/src/gnutls/crypto.c
+++ b/src/gnutls/crypto.c
@@ -1,5 +1,5 @@
-/**
- * XMLSec library
+/*
+ * XML Security Library (http://www.aleksey.com/xmlsec).
*
* This is free software; see Copyright file in the source
* distribution for preciese wording.
@@ -242,21 +242,13 @@ int
xmlSecGnuTLSInit (void) {
/* Check loaded xmlsec library version */
if(xmlSecCheckVersionExact() != 1) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecCheckVersionExact",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecCheckVersionExact", NULL);
return(-1);
}
/* register our klasses */
if(xmlSecCryptoDLFunctionsRegisterKeyDataAndTransforms(xmlSecCryptoGetFunctions_gnutls()) < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecCryptoDLFunctionsRegisterKeyDataAndTransforms",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecCryptoDLFunctionsRegisterKeyDataAndTransforms", NULL);
return(-1);
}
@@ -296,21 +288,13 @@ xmlSecGnuTLSKeysMngrInit(xmlSecKeysMngrPtr mngr) {
x509Store = xmlSecKeyDataStoreCreate(xmlSecGnuTLSX509StoreId);
if(x509Store == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecKeyDataStoreCreate",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "xmlSecGnuTLSX509StoreId");
+ xmlSecInternalError("xmlSecKeyDataStoreCreate(StoreId)", NULL);
return(-1);
}
ret = xmlSecKeysMngrAdoptDataStore(mngr, x509Store);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecKeysMngrAdoptDataStore",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeysMngrAdoptDataStore", NULL);
xmlSecKeyDataStoreDestroy(x509Store);
return(-1);
}
@@ -337,11 +321,8 @@ xmlSecGnuTLSGenerateRandom(xmlSecBufferPtr buffer, xmlSecSize size) {
ret = xmlSecBufferSetSize(buffer, size);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecBufferSetSize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "size=%d", size);
+ xmlSecInternalError2("xmlSecBufferSetSize", NULL,
+ "size=%d", size);
return(-1);
}
diff --git a/src/gnutls/digests.c b/src/gnutls/digests.c
index 94f3aa6..33303b2 100644
--- a/src/gnutls/digests.c
+++ b/src/gnutls/digests.c
@@ -1,5 +1,5 @@
-/**
- * XMLSec library
+/*
+ * XML Security Library (http://www.aleksey.com/xmlsec).
*
* This is free software; see Copyright file in the source
* distribution for preciese wording.
diff --git a/src/gnutls/globals.h b/src/gnutls/globals.h
index 1f9f35c..09cb251 100644
--- a/src/gnutls/globals.h
+++ b/src/gnutls/globals.h
@@ -21,11 +21,74 @@
#define IN_XMLSEC_CRYPTO
#define XMLSEC_PRIVATE
-#define XMLSEC_GNUTLS_GCRYPT_REPORT_ERROR(err) \
- "error code=%d; error message='%s'", \
- (int)err, xmlSecErrorsSafeString(gcry_strerror((err)))
-#define XMLSEC_GNUTLS_REPORT_ERROR(err) \
- "error code=%d; error message='%s'", \
- (int)err, xmlSecErrorsSafeString(gnutls_strerror((err)))
+/* Include common error helper macros. */
+#include "../errors_helpers.h"
+/**
+ * xmlSecGnuTLSGCryptError:
+ * @errorFunction: the failed function name.
+ * @errCode: the GCrypt error code.
+ * @errorObject: the error specific error object (e.g. transform, key data, etc).
+ *
+ * Macro. The XMLSec library macro for reporting GnuTLS-GCrypt errors.
+ */
+#define xmlSecGnuTLSGCryptError(errorFunction, errCode, errorObject) \
+ { \
+ const char* source = gcry_strsource((errCode)); \
+ const char* message = gcry_strerror((errCode)); \
+ xmlSecError(XMLSEC_ERRORS_HERE, \
+ (const char*)(errorObject), \
+ (errorFunction), \
+ XMLSEC_ERRORS_R_CRYPTO_FAILED, \
+ "gcrypt error: %ld: %s: %s", \
+ (long)(errCode), \
+ xmlSecErrorsSafeString(source), \
+ xmlSecErrorsSafeString(message) \
+ ); \
+ }
+
+/**
+ * xmlSecGnuTLSError:
+ * @errorFunction: the failed function name.
+ * @errCode: the GnuTLS error code.
+ * @errorObject: the error specific error object (e.g. transform, key data, etc).
+ *
+ * Macro. The XMLSec library macro for reporting GnuTLS errors.
+ */
+#define xmlSecGnuTLSError(errorFunction, errCode, errorObject) \
+ { \
+ const char* message = gnutls_strerror((errCode)); \
+ xmlSecError(XMLSEC_ERRORS_HERE, \
+ (const char*)(errorObject), \
+ (errorFunction), \
+ XMLSEC_ERRORS_R_CRYPTO_FAILED, \
+ "gnutls error: %ld: %s", \
+ (long)(errCode), \
+ xmlSecErrorsSafeString(message) \
+ ); \
+ }
+
+/**
+ * xmlSecGnuTLSError2:
+ * @errorFunction: the failed function name.
+ * @errCode: the GnuTLS error code.
+ * @errorObject: the error specific error object (e.g. transform, key data, etc).
+ * @msg: the extra message.
+ * @param: the extra message param.
+ *
+ * Macro. The XMLSec library macro for reporting GnuTLS errors.
+ */
+#define xmlSecGnuTLSError2(errorFunction, errCode, errorObject, msg, param) \
+ { \
+ const char* message = gnutls_strerror((errCode)); \
+ xmlSecError(XMLSEC_ERRORS_HERE, \
+ (const char*)(errorObject), \
+ (errorFunction), \
+ XMLSEC_ERRORS_R_CRYPTO_FAILED, \
+ msg "gnutls error: %ld: %s", \
+ (param), \
+ (long)(errCode), \
+ xmlSecErrorsSafeString(message) \
+ ); \
+ }
#endif /* ! __XMLSEC_GLOBALS_H__ */
diff --git a/src/gnutls/hmac.c b/src/gnutls/hmac.c
index 7656805..f18cbca 100644
--- a/src/gnutls/hmac.c
+++ b/src/gnutls/hmac.c
@@ -1,5 +1,5 @@
-/**
- * XMLSec library
+/*
+ * XML Security Library (http://www.aleksey.com/xmlsec).
*
* This is free software; see Copyright file in the source
* distribution for preciese wording.
diff --git a/src/gnutls/kw_aes.c b/src/gnutls/kw_aes.c
index 4186374..6ef45b3 100644
--- a/src/gnutls/kw_aes.c
+++ b/src/gnutls/kw_aes.c
@@ -1,6 +1,5 @@
-/**
- *
- * XMLSec library
+/*
+ * XML Security Library (http://www.aleksey.com/xmlsec).
*
* AES Algorithm support
*
diff --git a/src/gnutls/kw_des.c b/src/gnutls/kw_des.c
index 79660bd..0c930f8 100644
--- a/src/gnutls/kw_des.c
+++ b/src/gnutls/kw_des.c
@@ -1,6 +1,5 @@
-/**
- *
- * XMLSec library
+/*
+ * XML Security Library (http://www.aleksey.com/xmlsec).
*
* DES Algorithm support
*
diff --git a/src/gnutls/signatures.c b/src/gnutls/signatures.c
index 136644c..4ce555d 100644
--- a/src/gnutls/signatures.c
+++ b/src/gnutls/signatures.c
@@ -1,5 +1,5 @@
-/**
- * XMLSec library
+/*
+ * XML Security Library (http://www.aleksey.com/xmlsec).
*
* This is free software; see Copyright file in the source
* distribution for preciese wording.
diff --git a/src/gnutls/symkeys.c b/src/gnutls/symkeys.c
index 74727ee..0b4ac71 100644
--- a/src/gnutls/symkeys.c
+++ b/src/gnutls/symkeys.c
@@ -1,6 +1,5 @@
-/**
- *
- * XMLSec library
+/*
+ * XML Security Library (http://www.aleksey.com/xmlsec).
*
* DES Algorithm support
*
diff --git a/src/gnutls/x509.c b/src/gnutls/x509.c
index a3e3370..c01bcbd 100644
--- a/src/gnutls/x509.c
+++ b/src/gnutls/x509.c
@@ -1,5 +1,6 @@
-/**
- * XMLSec library
+
+/*
+ * XML Security Library (http://www.aleksey.com/xmlsec).
*
* X509 support
*
@@ -328,11 +329,8 @@ xmlSecGnuTLSKeyDataX509AdoptCert(xmlSecKeyDataPtr data, gnutls_x509_crt_t cert)
ret = xmlSecPtrListAdd(&(ctx->certsList), cert);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- "xmlSecPtrListAdd",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecPtrListAdd",
+ xmlSecKeyDataGetName(data));
return(-1);
}
@@ -403,11 +401,8 @@ xmlSecGnuTLSKeyDataX509AdoptCrl(xmlSecKeyDataPtr data, gnutls_x509_crl_t crl) {
ret = xmlSecPtrListAdd(&(ctx->crlsList), crl);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- "xmlSecPtrListAdd",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecPtrListAdd",
+ xmlSecKeyDataGetName(data));
return(-1);
}
@@ -471,21 +466,15 @@ xmlSecGnuTLSKeyDataX509Initialize(xmlSecKeyDataPtr data) {
ret = xmlSecPtrListInitialize(&(ctx->certsList), xmlSecGnuTLSX509CrtListId);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- "xmlSecPtrListInitialize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "certsList");
+ xmlSecInternalError("xmlSecPtrListInitialize(certsList)",
+ xmlSecKeyDataGetName(data));
return(-1);
}
ret = xmlSecPtrListInitialize(&(ctx->crlsList), xmlSecGnuTLSX509CrlListId);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- "xmlSecPtrListInitialize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "crlsList");
+ xmlSecInternalError("xmlSecPtrListInitialize(crlsList)",
+ xmlSecKeyDataGetName(data));
return(-1);
}
@@ -514,11 +503,8 @@ xmlSecGnuTLSKeyDataX509Duplicate(xmlSecKeyDataPtr dst, xmlSecKeyDataPtr src) {
if(ctxSrc->keyCert != NULL) {
ctxDst->keyCert = xmlSecGnuTLSX509CertDup(ctxSrc->keyCert);
if(ctxDst->keyCert == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(src)),
- "xmlSecGnuTLSX509CertDup",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecGnuTLSX509CertDup",
+ xmlSecKeyDataGetName(src));
return(-1);
}
}
@@ -527,11 +513,8 @@ xmlSecGnuTLSKeyDataX509Duplicate(xmlSecKeyDataPtr dst, xmlSecKeyDataPtr src) {
xmlSecPtrListEmpty(&(ctxDst->certsList));
ret = xmlSecPtrListCopy(&(ctxDst->certsList), &(ctxSrc->certsList));
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(src)),
- "xmlSecPtrListCopy",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "certsList");
+ xmlSecInternalError("xmlSecPtrListCopy(certsList)",
+ xmlSecKeyDataGetName(src));
return(-1);
}
@@ -539,13 +522,11 @@ xmlSecGnuTLSKeyDataX509Duplicate(xmlSecKeyDataPtr dst, xmlSecKeyDataPtr src) {
xmlSecPtrListEmpty(&(ctxDst->crlsList));
ret = xmlSecPtrListCopy(&(ctxDst->crlsList), &(ctxSrc->crlsList));
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(src)),
- "xmlSecPtrListCopy",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "crlsList");
+ xmlSecInternalError("xmlSecPtrListCopy(crlsList)",
+ xmlSecKeyDataGetName(src));
return(-1);
}
+
/* done */
return(0);
}
@@ -580,34 +561,23 @@ xmlSecGnuTLSKeyDataX509XmlRead(xmlSecKeyDataId id, xmlSecKeyPtr key,
data = xmlSecKeyEnsureData(key, id);
if(data == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecKeyEnsureData",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeyEnsureData",
+ xmlSecKeyDataKlassGetName(id));
return(-1);
}
ret = xmlSecGnuTLSX509DataNodeRead(data, node, keyInfoCtx);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecGnuTLSX509DataNodeRead",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecGnuTLSX509DataNodeRead",
+ xmlSecKeyDataKlassGetName(id));
return(-1);
}
- if((keyInfoCtx->flags & XMLSEC_KEYINFO_FLAGS_X509DATA_DONT_VERIFY_CERTS) == 0) {
- ret = xmlSecGnuTLSKeyDataX509VerifyAndExtractKey(data, key, keyInfoCtx);
- if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecGnuTLSKeyDataX509VerifyAndExtractKey",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
- return(-1);
- }
+ ret = xmlSecGnuTLSKeyDataX509VerifyAndExtractKey(data, key, keyInfoCtx);
+ if(ret < 0) {
+ xmlSecInternalError("xmlSecGnuTLSKeyDataX509VerifyAndExtractKey",
+ xmlSecKeyDataKlassGetName(id));
+ return(-1);
}
return(0);
}
@@ -629,11 +599,9 @@ xmlSecGnuTLSKeyDataX509XmlWrite(xmlSecKeyDataId id, xmlSecKeyPtr key,
content = xmlSecX509DataGetNodeContent (node, keyInfoCtx);
if (content < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecX509DataGetNodeContent",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "content=%d", content);
+ xmlSecInternalError2("xmlSecX509DataGetNodeContent",
+ xmlSecKeyDataKlassGetName(id),
+ "content=%d", content);
return(-1);
} else if(content == 0) {
/* by default we are writing certificates and crls */
@@ -652,22 +620,18 @@ xmlSecGnuTLSKeyDataX509XmlWrite(xmlSecKeyDataId id, xmlSecKeyPtr key,
for(pos = 0; pos < size; ++pos) {
cert = xmlSecGnuTLSKeyDataX509GetCert(data, pos);
if(cert == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecGnuTLSKeyDataX509GetCert",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "pos=%d", pos);
+ xmlSecInternalError2("xmlSecGnuTLSKeyDataX509GetCert",
+ xmlSecKeyDataKlassGetName(id),
+ "pos=%d", pos);
return(-1);
}
if((content & XMLSEC_X509DATA_CERTIFICATE_NODE) != 0) {
ret = xmlSecGnuTLSX509CertificateNodeWrite(cert, node, keyInfoCtx);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecGnuTLSX509CertificateNodeWrite",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "pos=%d", pos);
+ xmlSecInternalError2("xmlSecGnuTLSX509CertificateNodeWrite",
+ xmlSecKeyDataKlassGetName(id),
+ "pos=%d", pos);
return(-1);
}
}
@@ -675,11 +639,9 @@ xmlSecGnuTLSKeyDataX509XmlWrite(xmlSecKeyDataId id, xmlSecKeyPtr key,
if((content & XMLSEC_X509DATA_SUBJECTNAME_NODE) != 0) {
ret = xmlSecGnuTLSX509SubjectNameNodeWrite(cert, node, keyInfoCtx);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecGnuTLSX509SubjectNameNodeWrite",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "pos=%d", pos);
+ xmlSecInternalError2("xmlSecGnuTLSX509SubjectNameNodeWrite",
+ xmlSecKeyDataKlassGetName(id),
+ "pos=%d", pos);
return(-1);
}
}
@@ -687,11 +649,9 @@ xmlSecGnuTLSKeyDataX509XmlWrite(xmlSecKeyDataId id, xmlSecKeyPtr key,
if((content & XMLSEC_X509DATA_ISSUERSERIAL_NODE) != 0) {
ret = xmlSecGnuTLSX509IssuerSerialNodeWrite(cert, node, keyInfoCtx);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecGnuTLSX509IssuerSerialNodeWrite",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "pos=%d", pos);
+ xmlSecInternalError2("xmlSecGnuTLSX509IssuerSerialNodeWrite",
+ xmlSecKeyDataKlassGetName(id),
+ "pos=%d", pos);
return(-1);
}
}
@@ -699,11 +659,9 @@ xmlSecGnuTLSKeyDataX509XmlWrite(xmlSecKeyDataId id, xmlSecKeyPtr key,
if((content & XMLSEC_X509DATA_SKI_NODE) != 0) {
ret = xmlSecGnuTLSX509SKINodeWrite(cert, node, keyInfoCtx);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecGnuTLSX509SKINodeWrite",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "pos=%d", pos);
+ xmlSecInternalError2("xmlSecGnuTLSX509SKINodeWrite",
+ xmlSecKeyDataKlassGetName(id),
+ "pos=%d", pos);
return(-1);
}
}
@@ -715,21 +673,17 @@ xmlSecGnuTLSKeyDataX509XmlWrite(xmlSecKeyDataId id, xmlSecKeyPtr key,
for(pos = 0; pos < size; ++pos) {
crl = xmlSecGnuTLSKeyDataX509GetCrl(data, pos);
if(crl == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecGnuTLSKeyDataX509GetCrl",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "pos=%d", pos);
+ xmlSecInternalError2("xmlSecGnuTLSKeyDataX509GetCrl",
+ xmlSecKeyDataKlassGetName(id),
+ "pos=%d", pos);
return(-1);
}
ret = xmlSecGnuTLSX509CRLNodeWrite(crl, node, keyInfoCtx);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecGnuTLSX509CRLNodeWrite",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "pos=%d", pos);
+ xmlSecInternalError2("xmlSecGnuTLSX509CRLNodeWrite",
+ xmlSecKeyDataKlassGetName(id),
+ "pos=%d", pos);
return(-1);
}
}
@@ -783,11 +737,9 @@ xmlSecGnuTLSKeyDataX509DebugDump(xmlSecKeyDataPtr data, FILE* output) {
cert = xmlSecGnuTLSKeyDataX509GetCert(data, pos);
if(cert == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- "xmlSecGnuTLSKeyDataX509GetCert",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "pos=%d", pos);
+ xmlSecInternalError2("xmlSecGnuTLSKeyDataX509GetCert",
+ xmlSecKeyDataGetName(data),
+ "pos=%d", pos);
return;
}
fprintf(output, "==== Certificate:\n");
@@ -801,11 +753,9 @@ xmlSecGnuTLSKeyDataX509DebugDump(xmlSecKeyDataPtr data, FILE* output) {
crl = xmlSecGnuTLSKeyDataX509GetCrl(data, pos);
if(crl == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- "xmlSecGnuTLSKeyDataX509GetCrl",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "pos=%d", pos);
+ xmlSecInternalError2("xmlSecGnuTLSKeyDataX509GetCrl",
+ xmlSecKeyDataGetName(data),
+ "pos=%d", pos);
return;
}
fprintf(output, "==== Crl:\n");
@@ -841,11 +791,9 @@ xmlSecGnuTLSKeyDataX509DebugXmlDump(xmlSecKeyDataPtr data, FILE* output) {
cert = xmlSecGnuTLSKeyDataX509GetCert(data, pos);
if(cert == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- "xmlSecGnuTLSKeyDataX509GetCert",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "pos=%d", pos);
+ xmlSecInternalError2("xmlSecGnuTLSKeyDataX509GetCert",
+ xmlSecKeyDataGetName(data),
+ "pos=%d", pos);
return;
}
fprintf(output, "<Certificate>\n");
@@ -860,11 +808,9 @@ xmlSecGnuTLSKeyDataX509DebugXmlDump(xmlSecKeyDataPtr data, FILE* output) {
crl = xmlSecGnuTLSKeyDataX509GetCrl(data, pos);
if(crl == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- "xmlSecGnuTLSKeyDataX509GetCrl",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "pos=%d", pos);
+ xmlSecInternalError2("xmlSecGnuTLSKeyDataX509GetCrl",
+ xmlSecKeyDataGetName(data),
+ "pos=%d", pos);
return;
}
fprintf(output, "<CRL>\n");
@@ -892,29 +838,42 @@ xmlSecGnuTLSX509DataNodeRead(xmlSecKeyDataPtr data, xmlNodePtr node, xmlSecKeyIn
ret = 0;
if(xmlSecCheckNodeName(cur, xmlSecNodeX509Certificate, xmlSecDSigNs)) {
ret = xmlSecGnuTLSX509CertificateNodeRead(data, cur, keyInfoCtx);
+ if(ret < 0) {
+ xmlSecInternalError("xmlSecGnuTLSX509CertificateNodeRead",
+ xmlSecKeyDataGetName(data));
+ return(-1);
+ }
} else if(xmlSecCheckNodeName(cur, xmlSecNodeX509SubjectName, xmlSecDSigNs)) {
ret = xmlSecGnuTLSX509SubjectNameNodeRead(data, cur, keyInfoCtx);
+ if(ret < 0) {
+ xmlSecInternalError("xmlSecGnuTLSX509SubjectNameNodeRead",
+ xmlSecKeyDataGetName(data));
+ return(-1);
+ }
} else if(xmlSecCheckNodeName(cur, xmlSecNodeX509IssuerSerial, xmlSecDSigNs)) {
ret = xmlSecGnuTLSX509IssuerSerialNodeRead(data, cur, keyInfoCtx);
+ if(ret < 0) {
+ xmlSecInternalError("xmlSecGnuTLSX509IssuerSerialNodeRead",
+ xmlSecKeyDataGetName(data));
+ return(-1);
+ }
} else if(xmlSecCheckNodeName(cur, xmlSecNodeX509SKI, xmlSecDSigNs)) {
ret = xmlSecGnuTLSX509SKINodeRead(data, cur, keyInfoCtx);
+ if(ret < 0) {
+ xmlSecInternalError("xmlSecGnuTLSX509SKINodeRead",
+ xmlSecKeyDataGetName(data));
+ return(-1);
+ }
} else if(xmlSecCheckNodeName(cur, xmlSecNodeX509CRL, xmlSecDSigNs)) {
ret = xmlSecGnuTLSX509CRLNodeRead(data, cur, keyInfoCtx);
+ if(ret < 0) {
+ xmlSecInternalError("xmlSecGnuTLSX509CRLNodeRead",
+ xmlSecKeyDataGetName(data));
+ return(-1);
+ }
} else if((keyInfoCtx->flags & XMLSEC_KEYINFO_FLAGS_X509DATA_STOP_ON_UNKNOWN_CHILD) != 0) {
/* laxi schema validation: ignore unknown nodes */
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- xmlSecErrorsSafeString(xmlSecNodeGetName(cur)),
- XMLSEC_ERRORS_R_UNEXPECTED_NODE,
- XMLSEC_ERRORS_NO_MESSAGE);
- return(-1);
- }
- if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- xmlSecErrorsSafeString(xmlSecNodeGetName(cur)),
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "read node failed");
+ xmlSecUnexpectedNodeError(cur, xmlSecKeyDataGetName(data));
return(-1);
}
}
@@ -937,11 +896,7 @@ xmlSecGnuTLSX509CertificateNodeRead(xmlSecKeyDataPtr data, xmlNodePtr node, xmlS
xmlFree(content);
}
if((keyInfoCtx->flags & XMLSEC_KEYINFO_FLAGS_STOP_ON_EMPTY_NODE) != 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- xmlSecErrorsSafeString(xmlSecNodeGetName(node)),
- XMLSEC_ERRORS_R_INVALID_NODE_CONTENT,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInvalidNodeContentError(node, xmlSecKeyDataGetName(data), "empty");
return(-1);
}
return(0);
@@ -949,22 +904,16 @@ xmlSecGnuTLSX509CertificateNodeRead(xmlSecKeyDataPtr data, xmlNodePtr node, xmlS
cert = xmlSecGnuTLSX509CertBase64DerRead(content);
if(cert == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- "xmlSecGnuTLSX509CertBase64DerRead",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecGnuTLSX509CertBase64DerRead",
+ xmlSecKeyDataGetName(data));
xmlFree(content);
return(-1);
}
ret = xmlSecGnuTLSKeyDataX509AdoptCert(data, cert);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- "xmlSecGnuTLSKeyDataX509AdoptCert",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecGnuTLSKeyDataX509AdoptCert",
+ xmlSecKeyDataGetName(data));
gnutls_x509_crt_deinit(cert);
xmlFree(content);
return(-1);
@@ -986,22 +935,13 @@ xmlSecGnuTLSX509CertificateNodeWrite(gnutls_x509_crt_t cert, xmlNodePtr node, xm
/* set base64 lines size from context */
buf = xmlSecGnuTLSX509CertBase64DerWrite(cert, keyInfoCtx->base64LineSize);
if(buf == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecGnuTLSX509CertBase64DerWrite",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecGnuTLSX509CertBase64DerWrite", NULL);
return(-1);
}
cur = xmlSecEnsureEmptyChild(node, xmlSecNodeX509Certificate, xmlSecDSigNs);
if(cur == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecEnsureEmptyChild",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeX509Certificate));
+ xmlSecInternalError("xmlSecEnsureEmptyChild(NodeX509Certificate)", NULL);
xmlFree(buf);
return(-1);
}
@@ -1057,11 +997,8 @@ xmlSecGnuTLSX509SubjectNameNodeRead(xmlSecKeyDataPtr data, xmlNodePtr node, xmlS
x509Store = xmlSecKeysMngrGetDataStore(keyInfoCtx->keysMngr, xmlSecGnuTLSX509StoreId);
if(x509Store == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- "xmlSecKeysMngrGetDataStore",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeysMngrGetDataStore",
+ xmlSecKeyDataGetName(data));
return(-1);
}
@@ -1071,11 +1008,7 @@ xmlSecGnuTLSX509SubjectNameNodeRead(xmlSecKeyDataPtr data, xmlNodePtr node, xmlS
xmlFree(subject);
}
if((keyInfoCtx->flags & XMLSEC_KEYINFO_FLAGS_STOP_ON_EMPTY_NODE) != 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- xmlSecErrorsSafeString(xmlSecNodeGetName(node)),
- XMLSEC_ERRORS_R_INVALID_NODE_CONTENT,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInvalidNodeContentError(node, xmlSecKeyDataGetName(data), "empty");
return(-1);
}
return(0);
@@ -1086,12 +1019,8 @@ xmlSecGnuTLSX509SubjectNameNodeRead(xmlSecKeyDataPtr data, xmlNodePtr node, xmlS
if(cert == NULL){
if((keyInfoCtx->flags & XMLSEC_KEYINFO_FLAGS_X509DATA_STOP_ON_UNKNOWN_CERT) != 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- NULL,
- XMLSEC_ERRORS_R_CERT_NOT_FOUND,
- "subject=%s",
- xmlSecErrorsSafeString(subject));
+ xmlSecOtherError2(XMLSEC_ERRORS_R_CERT_NOT_FOUND, xmlSecKeyDataGetName(data),
+ "subject=%s", xmlSecErrorsSafeString(subject));
xmlFree(subject);
return(-1);
}
@@ -1102,23 +1031,16 @@ xmlSecGnuTLSX509SubjectNameNodeRead(xmlSecKeyDataPtr data, xmlNodePtr node, xmlS
cert2 = xmlSecGnuTLSX509CertDup(cert);
if(cert2 == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- "xmlSecGnuTLSX509CertDup",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
-
+ xmlSecInternalError("xmlSecGnuTLSX509CertDup",
+ xmlSecKeyDataGetName(data));
xmlFree(subject);
return(-1);
}
ret = xmlSecGnuTLSKeyDataX509AdoptCert(data, cert2);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- "xmlSecGnuTLSKeyDataX509AdoptCert",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecGnuTLSKeyDataX509AdoptCert",
+ xmlSecKeyDataGetName(data));
gnutls_x509_crt_deinit(cert2);
xmlFree(subject);
return(-1);
@@ -1132,6 +1054,7 @@ static int
xmlSecGnuTLSX509SubjectNameNodeWrite(gnutls_x509_crt_t cert, xmlNodePtr node, xmlSecKeyInfoCtxPtr keyInfoCtx ATTRIBUTE_UNUSED) {
xmlChar* buf = NULL;
xmlNodePtr cur = NULL;
+ int ret;
xmlSecAssert2(cert != NULL, -1);
xmlSecAssert2(node != NULL, -1);
@@ -1139,28 +1062,24 @@ xmlSecGnuTLSX509SubjectNameNodeWrite(gnutls_x509_crt_t cert, xmlNodePtr node, xm
/* add node */
cur = xmlSecEnsureEmptyChild(node, xmlSecNodeX509SubjectName, xmlSecDSigNs);
if(cur == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecEnsureEmptyChild",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeX509SubjectName));
+ xmlSecInternalError("xmlSecEnsureEmptyChild(NodeX509SubjectName)", NULL);
return(-1);
}
/* get subject */
buf = xmlSecGnuTLSX509CertGetSubjectDN(cert);
if(buf == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecGnuTLSX509CertGetSubjectDN",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecGnuTLSX509CertGetSubjectDN", NULL);
return(-1);
}
/* set value */
- xmlSecNodeEncodeAndSetContent(cur, buf);
+ ret = xmlSecNodeEncodeAndSetContent(cur, buf);
+ if(ret < 0) {
+ xmlSecInternalError("xmlSecNodeEncodeAndSetContent", NULL);
+ xmlFree(buf);
+ return(-1);
+ }
/* done */
xmlFree(buf);
@@ -1184,23 +1103,16 @@ xmlSecGnuTLSX509IssuerSerialNodeRead(xmlSecKeyDataPtr data, xmlNodePtr node, xml
x509Store = xmlSecKeysMngrGetDataStore(keyInfoCtx->keysMngr, xmlSecGnuTLSX509StoreId);
if(x509Store == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- "xmlSecKeysMngrGetDataStore",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeysMngrGetDataStore",
+ xmlSecKeyDataGetName(data));
return(-1);
}
cur = xmlSecGetNextElementNode(node->children);
if(cur == NULL) {
if((keyInfoCtx->flags & XMLSEC_KEYINFO_FLAGS_STOP_ON_EMPTY_NODE) != 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- xmlSecErrorsSafeString(xmlSecNodeX509IssuerName),
- XMLSEC_ERRORS_R_NODE_NOT_FOUND,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeGetName(cur)));
+ xmlSecNodeNotFoundError("xmlSecGetNextElementNode", node, NULL,
+ xmlSecKeyDataGetName(data));
return(-1);
}
return(0);
@@ -1208,56 +1120,32 @@ xmlSecGnuTLSX509IssuerSerialNodeRead(xmlSecKeyDataPtr data, xmlNodePtr node, xml
/* the first is required node X509IssuerName */
if(!xmlSecCheckNodeName(cur, xmlSecNodeX509IssuerName, xmlSecDSigNs)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- xmlSecErrorsSafeString(xmlSecNodeX509IssuerName),
- XMLSEC_ERRORS_R_NODE_NOT_FOUND,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeGetName(cur)));
+ xmlSecInvalidNodeError(cur, xmlSecNodeX509IssuerName, xmlSecKeyDataGetName(data));
return(-1);
}
issuerName = xmlNodeGetContent(cur);
if(issuerName == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- xmlSecErrorsSafeString(xmlSecNodeGetName(cur)),
- XMLSEC_ERRORS_R_INVALID_NODE_CONTENT,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeX509IssuerName));
+ xmlSecInvalidNodeContentError(cur, xmlSecKeyDataGetName(data), "empty");
return(-1);
}
cur = xmlSecGetNextElementNode(cur->next);
/* next is required node X509SerialNumber */
if((cur == NULL) || !xmlSecCheckNodeName(cur, xmlSecNodeX509SerialNumber, xmlSecDSigNs)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- xmlSecErrorsSafeString(xmlSecNodeGetName(cur)),
- XMLSEC_ERRORS_R_NODE_NOT_FOUND,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeX509SerialNumber));
+ xmlSecInvalidNodeError(cur, xmlSecNodeX509SerialNumber, xmlSecKeyDataGetName(data));
xmlFree(issuerName);
return(-1);
}
issuerSerial = xmlNodeGetContent(cur);
if(issuerSerial == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- xmlSecErrorsSafeString(xmlSecNodeX509SerialNumber),
- XMLSEC_ERRORS_R_INVALID_NODE_CONTENT,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeGetName(cur)));
+ xmlSecInvalidNodeContentError(cur, xmlSecKeyDataGetName(data), "empty");
xmlFree(issuerName);
return(-1);
}
cur = xmlSecGetNextElementNode(cur->next);
if(cur != NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- xmlSecErrorsSafeString(xmlSecNodeGetName(cur)),
- XMLSEC_ERRORS_R_UNEXPECTED_NODE,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecUnexpectedNodeError(cur, xmlSecKeyDataGetName(data));
xmlFree(issuerSerial);
xmlFree(issuerName);
return(-1);
@@ -1269,13 +1157,10 @@ xmlSecGnuTLSX509IssuerSerialNodeRead(xmlSecKeyDataPtr data, xmlNodePtr node, xml
if(cert == NULL){
if((keyInfoCtx->flags & XMLSEC_KEYINFO_FLAGS_X509DATA_STOP_ON_UNKNOWN_CERT) != 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- NULL,
- XMLSEC_ERRORS_R_CERT_NOT_FOUND,
- "issuerName=%s;issuerSerial=%s",
- xmlSecErrorsSafeString(issuerName),
- xmlSecErrorsSafeString(issuerSerial));
+ xmlSecOtherError3(XMLSEC_ERRORS_R_CERT_NOT_FOUND, xmlSecKeyDataGetName(data),
+ "issuerName=%s;issuerSerial=%s",
+ xmlSecErrorsSafeString(issuerName),
+ xmlSecErrorsSafeString(issuerSerial));
xmlFree(issuerSerial);
xmlFree(issuerName);
return(-1);
@@ -1287,11 +1172,8 @@ xmlSecGnuTLSX509IssuerSerialNodeRead(xmlSecKeyDataPtr data, xmlNodePtr node, xml
cert2 = xmlSecGnuTLSX509CertDup(cert);
if(cert2 == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- "xmlSecGnuTLSX509CertDup",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecGnuTLSX509CertDup",
+ xmlSecKeyDataGetName(data));
xmlFree(issuerSerial);
xmlFree(issuerName);
return(-1);
@@ -1299,11 +1181,8 @@ xmlSecGnuTLSX509IssuerSerialNodeRead(xmlSecKeyDataPtr data, xmlNodePtr node, xml
ret = xmlSecGnuTLSKeyDataX509AdoptCert(data, cert2);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- "xmlSecGnuTLSKeyDataX509AdoptCert",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecGnuTLSKeyDataX509AdoptCert",
+ xmlSecKeyDataGetName(data));
gnutls_x509_crt_deinit(cert2);
xmlFree(issuerSerial);
xmlFree(issuerName);
@@ -1321,6 +1200,7 @@ xmlSecGnuTLSX509IssuerSerialNodeWrite(gnutls_x509_crt_t cert, xmlNodePtr node, x
xmlNodePtr issuerNameNode;
xmlNodePtr issuerNumberNode;
xmlChar* buf;
+ int ret;
xmlSecAssert2(cert != NULL, -1);
xmlSecAssert2(node != NULL, -1);
@@ -1328,62 +1208,52 @@ xmlSecGnuTLSX509IssuerSerialNodeWrite(gnutls_x509_crt_t cert, xmlNodePtr node, x
/* create xml nodes */
cur = xmlSecEnsureEmptyChild(node, xmlSecNodeX509IssuerSerial, xmlSecDSigNs);
if(cur == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecEnsureEmptyChild",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeX509IssuerSerial));
+ xmlSecInternalError("xmlSecEnsureEmptyChild(NodeX509IssuerSerial)", NULL);
return(-1);
}
issuerNameNode = xmlSecEnsureEmptyChild(cur, xmlSecNodeX509IssuerName, xmlSecDSigNs);
if(issuerNameNode == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecEnsureEmptyChild",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeX509IssuerName));
+ xmlSecInternalError("xmlSecEnsureEmptyChild(NodeX509IssuerName)", NULL);
return(-1);
}
issuerNumberNode = xmlSecEnsureEmptyChild(cur, xmlSecNodeX509SerialNumber, xmlSecDSigNs);
if(issuerNumberNode == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecEnsureEmptyChild",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeX509SerialNumber));
+ xmlSecInternalError("xmlSecEnsureEmptyChild(NodeX509SerialNumber)", NULL);
return(-1);
}
/* write data */
buf = xmlSecGnuTLSX509CertGetIssuerDN(cert);
if(buf == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecGnuTLSX509CertGetIssuerDN",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecGnuTLSX509CertGetIssuerDN", NULL);
+ return(-1);
+ }
+
+ ret = xmlSecNodeEncodeAndSetContent(issuerNameNode, buf);
+ if(ret < 0) {
+ xmlSecInternalError("xmlSecNodeEncodeAndSetContent(issuerNameNode)", NULL);
+ xmlFree(buf);
return(-1);
}
- xmlSecNodeEncodeAndSetContent(issuerNameNode, buf);
xmlFree(buf);
buf = xmlSecGnuTLSX509CertGetIssuerSerial(cert);
if(buf == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecGnuTLSX509CertGetIssuerSerial",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecGnuTLSX509CertGetIssuerSerial", NULL);
+ return(-1);
+ }
+
+ ret = xmlSecNodeEncodeAndSetContent(issuerNumberNode, buf);
+ if(ret < 0) {
+ xmlSecInternalError("xmlSecNodeEncodeAndSetContent(issuerNumberNode)", NULL);
+ xmlFree(buf);
return(-1);
}
- xmlSecNodeEncodeAndSetContent(issuerNumberNode, buf);
- xmlFree(buf);
+ /* done */
+ xmlFree(buf);
return(0);
}
@@ -1403,11 +1273,8 @@ xmlSecGnuTLSX509SKINodeRead(xmlSecKeyDataPtr data, xmlNodePtr node, xmlSecKeyInf
x509Store = xmlSecKeysMngrGetDataStore(keyInfoCtx->keysMngr, xmlSecGnuTLSX509StoreId);
if(x509Store == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- "xmlSecKeysMngrGetDataStore",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeysMngrGetDataStore",
+ xmlSecKeyDataGetName(data));
return(-1);
}
@@ -1417,12 +1284,7 @@ xmlSecGnuTLSX509SKINodeRead(xmlSecKeyDataPtr data, xmlNodePtr node, xmlSecKeyInf
xmlFree(ski);
}
if((keyInfoCtx->flags & XMLSEC_KEYINFO_FLAGS_STOP_ON_EMPTY_NODE) != 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- xmlSecErrorsSafeString(xmlSecNodeGetName(node)),
- XMLSEC_ERRORS_R_INVALID_NODE_CONTENT,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeX509SKI));
+ xmlSecInvalidNodeContentError(node, xmlSecKeyDataGetName(data), "empty");
return(-1);
}
return(0);
@@ -1434,12 +1296,9 @@ xmlSecGnuTLSX509SKINodeRead(xmlSecKeyDataPtr data, xmlNodePtr node, xmlSecKeyInf
xmlFree(ski);
if((keyInfoCtx->flags & XMLSEC_KEYINFO_FLAGS_X509DATA_STOP_ON_UNKNOWN_CERT) != 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- NULL,
- XMLSEC_ERRORS_R_CERT_NOT_FOUND,
- "ski=%s",
- xmlSecErrorsSafeString(ski));
+ xmlSecOtherError2(XMLSEC_ERRORS_R_CERT_NOT_FOUND, xmlSecKeyDataGetName(data),
+ "ski=%s",
+ xmlSecErrorsSafeString(ski));
return(-1);
}
return(0);
@@ -1447,22 +1306,16 @@ xmlSecGnuTLSX509SKINodeRead(xmlSecKeyDataPtr data, xmlNodePtr node, xmlSecKeyInf
cert2 = xmlSecGnuTLSX509CertDup(cert);
if(cert2 == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- "xmlSecGnuTLSX509CertDup",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecGnuTLSX509CertDup",
+ xmlSecKeyDataGetName(data));
xmlFree(ski);
return(-1);
}
ret = xmlSecGnuTLSKeyDataX509AdoptCert(data, cert2);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- "xmlSecGnuTLSKeyDataX509AdoptCert",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecGnuTLSKeyDataX509AdoptCert",
+ xmlSecKeyDataGetName(data));
gnutls_x509_crt_deinit(cert2);
xmlFree(ski);
return(-1);
@@ -1476,6 +1329,7 @@ static int
xmlSecGnuTLSX509SKINodeWrite(gnutls_x509_crt_t cert, xmlNodePtr node, xmlSecKeyInfoCtxPtr keyInfoCtx ATTRIBUTE_UNUSED) {
xmlChar *buf = NULL;
xmlNodePtr cur = NULL;
+ int ret;
xmlSecAssert2(cert != NULL, -1);
xmlSecAssert2(node != NULL, -1);
@@ -1483,29 +1337,26 @@ xmlSecGnuTLSX509SKINodeWrite(gnutls_x509_crt_t cert, xmlNodePtr node, xmlSecKeyI
/* add node */
cur = xmlSecEnsureEmptyChild(node, xmlSecNodeX509SKI, xmlSecDSigNs);
if(cur == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecEnsureEmptyChild",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "new_node=%s",
- xmlSecErrorsSafeString(xmlSecNodeX509SKI));
+ xmlSecInternalError("xmlSecEnsureEmptyChild(NodeX509SKI)", NULL);
return(-1);
}
/* write value */
buf = xmlSecGnuTLSX509CertGetSKI(cert);
if(buf == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecGnuTLSX509CertGetSKI",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecGnuTLSX509CertGetSKI", NULL);
return(-1);
}
- xmlSecNodeEncodeAndSetContent(cur, buf);
- xmlFree(buf);
+ ret = xmlSecNodeEncodeAndSetContent(cur, buf);
+ if(ret < 0) {
+ xmlSecInternalError("xmlSecNodeEncodeAndSetContent", NULL);
+ xmlFree(buf);
+ return(-1);
+ }
+ /* done */
+ xmlFree(buf);
return(0);
}
@@ -1525,11 +1376,7 @@ xmlSecGnuTLSX509CRLNodeRead(xmlSecKeyDataPtr data, xmlNodePtr node, xmlSecKeyInf
xmlFree(content);
}
if((keyInfoCtx->flags & XMLSEC_KEYINFO_FLAGS_STOP_ON_EMPTY_NODE) != 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- xmlSecErrorsSafeString(xmlSecNodeGetName(node)),
- XMLSEC_ERRORS_R_INVALID_NODE_CONTENT,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInvalidNodeContentError(node, xmlSecKeyDataGetName(data), "empty");
return(-1);
}
return(0);
@@ -1537,22 +1384,16 @@ xmlSecGnuTLSX509CRLNodeRead(xmlSecKeyDataPtr data, xmlNodePtr node, xmlSecKeyInf
crl = xmlSecGnuTLSX509CrlBase64DerRead(content);
if(crl == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- "xmlSecGnuTLSX509CrlBase64DerRead",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecGnuTLSX509CrlBase64DerRead",
+ xmlSecKeyDataGetName(data));
xmlFree(content);
return(-1);
}
ret = xmlSecGnuTLSKeyDataX509AdoptCrl(data, crl);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- "xmlSecGnuTLSKeyDataX509AdoptCrl",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecGnuTLSKeyDataX509AdoptCrl",
+ xmlSecKeyDataGetName(data));
gnutls_x509_crl_deinit(crl);
xmlFree(content);
return(-1);
@@ -1574,22 +1415,13 @@ xmlSecGnuTLSX509CRLNodeWrite(gnutls_x509_crl_t crl, xmlNodePtr node, xmlSecKeyIn
/* set base64 lines size from context */
buf = xmlSecGnuTLSX509CrlBase64DerWrite(crl, keyInfoCtx->base64LineSize);
if(buf == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecGnuTLSX509CrlBase64DerWrite",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecGnuTLSX509CrlBase64DerWrite", NULL);
return(-1);
}
cur = xmlSecEnsureEmptyChild(node, xmlSecNodeX509CRL, xmlSecDSigNs);
if(cur == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecEnsureEmptyChild",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "new_node=%s",
- xmlSecErrorsSafeString(xmlSecNodeX509CRL));
+ xmlSecInternalError("xmlSecEnsureEmptyChild(NodeX509CRL)", NULL);
xmlFree(buf);
return(-1);
}
@@ -1620,11 +1452,8 @@ xmlSecGnuTLSKeyDataX509VerifyAndExtractKey(xmlSecKeyDataPtr data, xmlSecKeyPtr k
x509Store = xmlSecKeysMngrGetDataStore(keyInfoCtx->keysMngr, xmlSecGnuTLSX509StoreId);
if(x509Store == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- "xmlSecKeysMngrGetDataStore",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeysMngrGetDataStore",
+ xmlSecKeyDataGetName(data));
return(-1);
}
@@ -1637,42 +1466,30 @@ xmlSecGnuTLSKeyDataX509VerifyAndExtractKey(xmlSecKeyDataPtr data, xmlSecKeyPtr k
ctx->keyCert = xmlSecGnuTLSX509CertDup(cert);
if(ctx->keyCert == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- "xmlSecGnuTLSX509CertDup",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecGnuTLSX509CertDup",
+ xmlSecKeyDataGetName(data));
return(-1);
}
keyValue = xmlSecGnuTLSX509CertGetKey(ctx->keyCert);
if(keyValue == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- "xmlSecGnuTLSX509CertGetKey",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecGnuTLSX509CertGetKey",
+ xmlSecKeyDataGetName(data));
return(-1);
}
/* verify that the key matches our expectations */
if(xmlSecKeyReqMatchKeyValue(&(keyInfoCtx->keyReq), keyValue) != 1) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- "xmlSecKeyReqMatchKeyValue",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeyReqMatchKeyValue",
+ xmlSecKeyDataGetName(data));
xmlSecKeyDataDestroy(keyValue);
return(-1);
}
ret = xmlSecKeySetValue(key, keyValue);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- "xmlSecKeySetValue",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeySetValue",
+ xmlSecKeyDataGetName(data));
xmlSecKeyDataDestroy(keyValue);
return(-1);
}
@@ -1680,28 +1497,22 @@ xmlSecGnuTLSKeyDataX509VerifyAndExtractKey(xmlSecKeyDataPtr data, xmlSecKeyPtr k
/* get expiration time */
key->notValidBefore = gnutls_x509_crt_get_activation_time(ctx->keyCert);
if(key->notValidBefore == (time_t)-1) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- "gnutls_x509_crt_get_activation_time",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecGnuTLSError2("gnutls_x509_crt_get_activation_time", GNUTLS_E_SUCCESS,
+ xmlSecKeyDataGetName(data),
+ "cert activation time is invalid: %ld",
+ (unsigned long)key->notValidBefore);
return(-1);
}
key->notValidAfter = gnutls_x509_crt_get_expiration_time(ctx->keyCert);
if(key->notValidAfter == (time_t)-1) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- "gnutls_x509_crt_get_expiration_time",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecGnuTLSError2("gnutls_x509_crt_get_expiration_time", GNUTLS_E_SUCCESS,
+ xmlSecKeyDataGetName(data),
+ "cert expiration time is invalid: %ld",
+ (unsigned long)key->notValidAfter);
return(-1);
}
} else if((keyInfoCtx->flags & XMLSEC_KEYINFO_FLAGS_X509DATA_STOP_ON_INVALID_CERT) != 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- NULL,
- XMLSEC_ERRORS_R_CERT_NOT_FOUND,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOtherError(XMLSEC_ERRORS_R_CERT_NOT_FOUND, xmlSecKeyDataGetName(data), NULL);
return(-1);
}
}
@@ -1728,11 +1539,7 @@ xmlSecGnuTLSX509CertGetKey(gnutls_x509_crt_t cert) {
alg = gnutls_x509_crt_get_pk_algorithm(cert, &bits);
if(alg < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "gnutls_x509_crt_get_pk_algorithm",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_GNUTLS_REPORT_ERROR(alg));
+ xmlSecGnuTLSError("gnutls_x509_crt_get_pk_algorithm", alg, NULL);
return(NULL);
}
@@ -1744,31 +1551,19 @@ xmlSecGnuTLSX509CertGetKey(gnutls_x509_crt_t cert) {
data = xmlSecKeyDataCreate(xmlSecGnuTLSKeyDataRsaId);
if(data == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecKeyDataCreate",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "xmlSecGnuTLSKeyDataRsaId");
+ xmlSecInternalError("xmlSecKeyDataCreate(KeyDataRsaId)", NULL);
return(NULL);
}
err = gnutls_x509_crt_get_pk_rsa_raw(cert, &m, &e);
if(err != GNUTLS_E_SUCCESS) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "gnutls_x509_crt_get_pk_rsa_raw",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_GNUTLS_REPORT_ERROR(err));
+ xmlSecGnuTLSError("gnutls_x509_crt_get_pk_rsa_raw", err, NULL);
return(NULL);
}
ret = xmlSecGnuTLSKeyDataRsaAdoptPublicKey(data, &m, &e);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecGnuTLSKeyDataRsaAdoptPublicKey",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecGnuTLSKeyDataRsaAdoptPublicKey", NULL);
gnutls_free(m.data);
gnutls_free(e.data);
return(NULL);
@@ -1785,31 +1580,19 @@ xmlSecGnuTLSX509CertGetKey(gnutls_x509_crt_t cert) {
data = xmlSecKeyDataCreate(xmlSecGnuTLSKeyDataDsaId);
if(data == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecKeyDataCreate",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "xmlSecGnuTLSKeyDataDsaId");
+ xmlSecInternalError("xmlSecKeyDataCreate(KeyDataDsaId)", NULL);
return(NULL);
}
err = gnutls_x509_crt_get_pk_dsa_raw(cert, &p, &q, &g, &y);
if(err != GNUTLS_E_SUCCESS) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "gnutls_x509_crt_get_pk_dsa_raw",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_GNUTLS_REPORT_ERROR(err));
+ xmlSecGnuTLSError("gnutls_x509_crt_get_pk_dsa_raw", err, NULL);
return(NULL);
}
ret = xmlSecGnuTLSKeyDataDsaAdoptPublicKey(data, &p, &q, &g, &y);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecGnuTLSKeyDataDsaAdoptPublicKey",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecGnuTLSKeyDataDsaAdoptPublicKey", NULL);
gnutls_free(p.data);
gnutls_free(q.data);
gnutls_free(g.data);
@@ -1823,11 +1606,7 @@ xmlSecGnuTLSX509CertGetKey(gnutls_x509_crt_t cert) {
default:
{
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "gnutls_x509_crt_get_pk_algorithm",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- "Unsupported algorithm %d", (int)alg);
+ xmlSecInvalidIntegerTypeError("key_alg", alg, "supported algorithm", NULL);
return(NULL);
}
}
@@ -1915,43 +1694,30 @@ xmlSecGnuTLSKeyDataRawX509CertBinRead(xmlSecKeyDataId id, xmlSecKeyPtr key,
cert = xmlSecGnuTLSX509CertRead(buf, bufSize, xmlSecKeyDataFormatCertDer);
if(cert == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecGnuTLSX509CertRead",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecGnuTLSX509CertRead", NULL);
return(-1);
}
data = xmlSecKeyEnsureData(key, xmlSecGnuTLSKeyDataX509Id);
if(data == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecKeyEnsureData",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeyEnsureData",
+ xmlSecKeyDataKlassGetName(id));
gnutls_x509_crt_deinit(cert);
return(-1);
}
ret = xmlSecGnuTLSKeyDataX509AdoptCert(data, cert);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecGnuTLSKeyDataX509AdoptCert",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecGnuTLSKeyDataX509AdoptCert",
+ xmlSecKeyDataKlassGetName(id));
gnutls_x509_crt_deinit(cert);
return(-1);
}
ret = xmlSecGnuTLSKeyDataX509VerifyAndExtractKey(data, key, keyInfoCtx);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecGnuTLSKeyDataX509VerifyAndExtractKey",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecGnuTLSKeyDataX509VerifyAndExtractKey",
+ xmlSecKeyDataKlassGetName(id));
return(-1);
}
return(0);
diff --git a/src/gnutls/x509utils.c b/src/gnutls/x509utils.c
index 2ab4df2..b914081 100644
--- a/src/gnutls/x509utils.c
+++ b/src/gnutls/x509utils.c
@@ -1,5 +1,5 @@
-/**
- * XMLSec library
+/*
+ * XML Security Library (http://www.aleksey.com/xmlsec).
*
* X509 support
*
@@ -173,21 +173,13 @@ xmlSecGnuTLSX509CertDup(gnutls_x509_crt_t src) {
buf = xmlSecGnuTLSX509CertBase64DerWrite(src, 0);
if(buf == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecGnuTLSX509CertBase64DerWrite",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecGnuTLSX509CertBase64DerWrite", NULL);
return (NULL);
}
res = xmlSecGnuTLSX509CertBase64DerRead(buf);
if(res == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecGnuTLSX509CertBase64DerRead",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecGnuTLSX509CertBase64DerRead", NULL);
xmlFree(buf);
return (NULL);
}
@@ -208,33 +200,21 @@ xmlSecGnuTLSX509CertGetSubjectDN(gnutls_x509_crt_t cert) {
/* get subject size */
err = gnutls_x509_crt_get_dn(cert, NULL, &bufSize);
if((err != GNUTLS_E_SHORT_MEMORY_BUFFER) || (bufSize <= 0)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "gnutls_x509_crt_get_dn",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_GNUTLS_REPORT_ERROR(err));
+ xmlSecGnuTLSError("gnutls_x509_crt_get_dn", err, NULL);
return(NULL);
}
/* allocate buffer */
buf = (char *)xmlMalloc(bufSize + 1);
if(buf == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlMalloc",
- XMLSEC_ERRORS_R_MALLOC_FAILED,
- "size=%d", (int)bufSize);
+ xmlSecMallocError(bufSize + 1, NULL);
return(NULL);
}
/* finally write it out */
err = gnutls_x509_crt_get_dn(cert, buf, &bufSize);
if(err != GNUTLS_E_SUCCESS) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "gnutls_x509_crt_get_dn",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_GNUTLS_REPORT_ERROR(err));
+ xmlSecGnuTLSError("gnutls_x509_crt_get_dn", err, NULL);
xmlFree(buf);
return(NULL);
}
@@ -254,33 +234,21 @@ xmlSecGnuTLSX509CertGetIssuerDN(gnutls_x509_crt_t cert) {
/* get issuer size */
err = gnutls_x509_crt_get_issuer_dn(cert, NULL, &bufSize);
if((err != GNUTLS_E_SHORT_MEMORY_BUFFER) || (bufSize <= 0)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "gnutls_x509_crt_get_issuer_dn",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_GNUTLS_REPORT_ERROR(err));
+ xmlSecGnuTLSError("gnutls_x509_crt_get_issuer_dn", err, NULL);
return(NULL);
}
/* allocate buffer */
buf = (char *)xmlMalloc(bufSize + 1);
if(buf == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlMalloc",
- XMLSEC_ERRORS_R_MALLOC_FAILED,
- "size=%d", (int)bufSize);
+ xmlSecMallocError(bufSize + 1, NULL);
return(NULL);
}
/* finally write it out */
err = gnutls_x509_crt_get_issuer_dn(cert, buf, &bufSize);
if(err != GNUTLS_E_SUCCESS) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "gnutls_x509_crt_get_issuer_dn",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_GNUTLS_REPORT_ERROR(err));
+ xmlSecGnuTLSError("gnutls_x509_crt_get_issuer_dn", err, NULL);
xmlFree(buf);
return(NULL);
}
@@ -301,33 +269,21 @@ xmlSecGnuTLSX509CertGetIssuerSerial(gnutls_x509_crt_t cert) {
/* get issuer serial size */
err = gnutls_x509_crt_get_serial(cert, NULL, &bufSize);
if((err != GNUTLS_E_SHORT_MEMORY_BUFFER) || (bufSize <= 0)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "gnutls_x509_crt_get_serial",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_GNUTLS_REPORT_ERROR(err));
+ xmlSecGnuTLSError("gnutls_x509_crt_get_serial", err, NULL);
return(NULL);
}
/* allocate buffer */
buf = (unsigned char *)xmlMalloc(bufSize + 1);
if(buf == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlMalloc",
- XMLSEC_ERRORS_R_MALLOC_FAILED,
- "size=%d", (int)bufSize);
+ xmlSecMallocError(bufSize + 1, NULL);
return(NULL);
}
/* write it out */
err = gnutls_x509_crt_get_serial(cert, buf, &bufSize);
if(err != GNUTLS_E_SUCCESS) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "gnutls_x509_crt_get_serial",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_GNUTLS_REPORT_ERROR(err));
+ xmlSecGnuTLSError("gnutls_x509_crt_get_serial", err, NULL);
xmlFree(buf);
return(NULL);
}
@@ -335,11 +291,7 @@ xmlSecGnuTLSX509CertGetIssuerSerial(gnutls_x509_crt_t cert) {
/* convert to string */
res = xmlSecGnuTLSASN1IntegerWrite(buf, bufSize);
if(res == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecGnuTLSASN1IntegerWrite",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecGnuTLSASN1IntegerWrite", NULL);
xmlFree(buf);
return(NULL);
}
@@ -362,33 +314,21 @@ xmlSecGnuTLSX509CertGetSKI(gnutls_x509_crt_t cert) {
/* get ski size */
err = gnutls_x509_crt_get_subject_key_id(cert, NULL, &bufSize, &critical);
if((err != GNUTLS_E_SHORT_MEMORY_BUFFER) || (bufSize <= 0)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "gnutls_x509_crt_get_subject_key_id",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_GNUTLS_REPORT_ERROR(err));
+ xmlSecGnuTLSError("gnutls_x509_crt_get_subject_key_id", err, NULL);
return(NULL);
}
/* allocate buffer */
buf = (xmlSecByte *)xmlMalloc(bufSize + 1);
if(buf == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlMalloc",
- XMLSEC_ERRORS_R_MALLOC_FAILED,
- "size=%d", (int)bufSize);
+ xmlSecMallocError(bufSize + 1, NULL);
return(NULL);
}
/* write it out */
err = gnutls_x509_crt_get_subject_key_id(cert, buf, &bufSize, &critical);
if(err != GNUTLS_E_SUCCESS) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "gnutls_x509_crt_get_subject_key_id",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_GNUTLS_REPORT_ERROR(err));
+ xmlSecGnuTLSError("gnutls_x509_crt_get_subject_key_id", err, NULL);
xmlFree(buf);
return(NULL);
}
@@ -396,11 +336,7 @@ xmlSecGnuTLSX509CertGetSKI(gnutls_x509_crt_t cert) {
/* convert to string */
res = xmlSecBase64Encode(buf, bufSize, 0);
if(res == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecBase64Encode",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecBase64Encode", NULL);
xmlFree(buf);
return(NULL);
}
@@ -420,11 +356,7 @@ xmlSecGnuTLSX509CertBase64DerRead(xmlChar* buf) {
/* usual trick with base64 decoding "in-place" */
ret = xmlSecBase64Decode(buf, (xmlSecByte*)buf, xmlStrlen(buf));
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecBase64Decode",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecBase64Decode", NULL);
return(NULL);
}
@@ -452,22 +384,15 @@ xmlSecGnuTLSX509CertRead(const xmlSecByte* buf, xmlSecSize size, xmlSecKeyDataFo
fmt = GNUTLS_X509_FMT_DER;
break;
default:
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- NULL,
- XMLSEC_ERRORS_R_INVALID_FORMAT,
- "format=%d", format);
+ xmlSecOtherError2(XMLSEC_ERRORS_R_INVALID_FORMAT, NULL,
+ "format=%d", (int)format);
return(NULL);
}
/* read cert */
err = gnutls_x509_crt_init(&cert);
if(err != GNUTLS_E_SUCCESS) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "gnutls_x509_crt_init",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_GNUTLS_REPORT_ERROR(err));
+ xmlSecGnuTLSError("gnutls_x509_crt_init", err, NULL);
return(NULL);
}
@@ -475,11 +400,7 @@ xmlSecGnuTLSX509CertRead(const xmlSecByte* buf, xmlSecSize size, xmlSecKeyDataFo
data.size = size;
err = gnutls_x509_crt_import(cert, &data, fmt);
if(err != GNUTLS_E_SUCCESS) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "gnutls_x509_crt_import",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_GNUTLS_REPORT_ERROR(err));
+ xmlSecGnuTLSError("gnutls_x509_crt_import", err, NULL);
gnutls_x509_crt_deinit(cert);
return(NULL);
}
@@ -499,33 +420,21 @@ xmlSecGnuTLSX509CertBase64DerWrite(gnutls_x509_crt_t cert, int base64LineWrap) {
/* get size */
err = gnutls_x509_crt_export(cert, GNUTLS_X509_FMT_DER, NULL, &bufSize);
if((err != GNUTLS_E_SHORT_MEMORY_BUFFER) || (bufSize <= 0)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "gnutls_x509_crt_export(GNUTLS_X509_FMT_DER)",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_GNUTLS_REPORT_ERROR(err));
+ xmlSecGnuTLSError("gnutls_x509_crt_export(GNUTLS_X509_FMT_DER)", err, NULL);
return(NULL);
}
/* allocate buffer */
buf = (xmlSecByte *)xmlMalloc(bufSize + 1);
if(buf == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlMalloc",
- XMLSEC_ERRORS_R_MALLOC_FAILED,
- "size=%d", (int)bufSize);
+ xmlSecMallocError(bufSize + 1, NULL);
return(NULL);
}
/* write it out */
err = gnutls_x509_crt_export(cert, GNUTLS_X509_FMT_DER, buf, &bufSize);
if(err != GNUTLS_E_SUCCESS) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "gnutls_x509_crt_export(GNUTLS_X509_FMT_DER)",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_GNUTLS_REPORT_ERROR(err));
+ xmlSecGnuTLSError("gnutls_x509_crt_export(GNUTLS_X509_FMT_DER)", err, NULL);
xmlFree(buf);
return(NULL);
}
@@ -533,11 +442,7 @@ xmlSecGnuTLSX509CertBase64DerWrite(gnutls_x509_crt_t cert, int base64LineWrap) {
/* convert to string */
res = xmlSecBase64Encode(buf, bufSize, base64LineWrap);
if(res == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecBase64Encode",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecBase64Encode", NULL);
xmlFree(buf);
return(NULL);
}
@@ -628,21 +533,13 @@ xmlSecGnuTLSX509CrlDup(gnutls_x509_crl_t src) {
buf = xmlSecGnuTLSX509CrlBase64DerWrite(src, 0);
if(buf == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecGnuTLSX509CrlBase64DerWrite",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecGnuTLSX509CrlBase64DerWrite", NULL);
return (NULL);
}
res = xmlSecGnuTLSX509CrlBase64DerRead(buf);
if(res == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecGnuTLSX509CrlBase64DerRead",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecGnuTLSX509CrlBase64DerRead", NULL);
xmlFree(buf);
return (NULL);
}
@@ -663,33 +560,21 @@ xmlSecGnuTLSX509CrlGetIssuerDN(gnutls_x509_crl_t crl) {
/* get issuer size */
err = gnutls_x509_crl_get_issuer_dn(crl, NULL, &bufSize);
if((err != GNUTLS_E_SHORT_MEMORY_BUFFER) || (bufSize <= 0)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "gnutls_x509_crl_get_issuer_dn",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_GNUTLS_REPORT_ERROR(err));
+ xmlSecGnuTLSError("gnutls_x509_crl_get_issuer_dn", err, NULL);
return(NULL);
}
/* allocate buffer */
buf = (char *)xmlMalloc(bufSize + 1);
if(buf == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlMalloc",
- XMLSEC_ERRORS_R_MALLOC_FAILED,
- "size=%d", (int)bufSize);
+ xmlSecMallocError(bufSize + 1, NULL);
return(NULL);
}
/* finally write it out */
err = gnutls_x509_crl_get_issuer_dn(crl, buf, &bufSize);
if(err != GNUTLS_E_SUCCESS) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "gnutls_x509_crl_get_issuer_dn",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_GNUTLS_REPORT_ERROR(err));
+ xmlSecGnuTLSError("gnutls_x509_crl_get_issuer_dn", err, NULL);
xmlFree(buf);
return(NULL);
}
@@ -707,11 +592,7 @@ xmlSecGnuTLSX509CrlBase64DerRead(xmlChar* buf) {
/* usual trick with base64 decoding "in-place" */
ret = xmlSecBase64Decode(buf, (xmlSecByte*)buf, xmlStrlen(buf));
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecBase64Decode",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecBase64Decode", NULL);
return(NULL);
}
@@ -739,22 +620,15 @@ xmlSecGnuTLSX509CrlRead(const xmlSecByte* buf, xmlSecSize size, xmlSecKeyDataFor
fmt = GNUTLS_X509_FMT_DER;
break;
default:
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- NULL,
- XMLSEC_ERRORS_R_INVALID_FORMAT,
- "format=%d", format);
+ xmlSecOtherError2(XMLSEC_ERRORS_R_INVALID_FORMAT, NULL,
+ "format=%d", (int)format);
return(NULL);
}
/* read crl */
err = gnutls_x509_crl_init(&crl);
if(err != GNUTLS_E_SUCCESS) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "gnutls_x509_crl_init",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_GNUTLS_REPORT_ERROR(err));
+ xmlSecGnuTLSError("gnutls_x509_crl_init", err, NULL);
return(NULL);
}
@@ -762,11 +636,7 @@ xmlSecGnuTLSX509CrlRead(const xmlSecByte* buf, xmlSecSize size, xmlSecKeyDataFor
data.size = size;
err = gnutls_x509_crl_import(crl, &data, fmt);
if(err != GNUTLS_E_SUCCESS) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "gnutls_x509_crl_import",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_GNUTLS_REPORT_ERROR(err));
+ xmlSecGnuTLSError("gnutls_x509_crl_import", err, NULL);
gnutls_x509_crl_deinit(crl);
return(NULL);
}
@@ -786,33 +656,21 @@ xmlSecGnuTLSX509CrlBase64DerWrite(gnutls_x509_crl_t crl, int base64LineWrap) {
/* get size */
err = gnutls_x509_crl_export(crl, GNUTLS_X509_FMT_DER, NULL, &bufSize);
if((err != GNUTLS_E_SHORT_MEMORY_BUFFER) || (bufSize <= 0)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "gnutls_x509_crl_export(GNUTLS_X509_FMT_DER)",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_GNUTLS_REPORT_ERROR(err));
+ xmlSecGnuTLSError("gnutls_x509_crl_export(GNUTLS_X509_FMT_DER)", err, NULL);
return(NULL);
}
/* allocate buffer */
buf = (xmlSecByte *)xmlMalloc(bufSize + 1);
if(buf == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlMalloc",
- XMLSEC_ERRORS_R_MALLOC_FAILED,
- "size=%d", (int)bufSize);
+ xmlSecMallocError(bufSize + 1, NULL);
return(NULL);
}
/* write it out */
err = gnutls_x509_crl_export(crl, GNUTLS_X509_FMT_DER, buf, &bufSize);
if(err != GNUTLS_E_SUCCESS) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "gnutls_x509_crl_export(GNUTLS_X509_FMT_DER)",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_GNUTLS_REPORT_ERROR(err));
+ xmlSecGnuTLSError("gnutls_x509_crl_export(GNUTLS_X509_FMT_DER)", err, NULL);
xmlFree(buf);
return(NULL);
}
@@ -820,11 +678,7 @@ xmlSecGnuTLSX509CrlBase64DerWrite(gnutls_x509_crl_t crl, int base64LineWrap) {
/* convert to string */
res = xmlSecBase64Encode(buf, bufSize, base64LineWrap);
if(res == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecBase64Encode",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecBase64Encode", NULL);
xmlFree(buf);
return(NULL);
}
@@ -878,6 +732,7 @@ xmlSecGnuTLSASN1IntegerWrite(const unsigned char * data, size_t len) {
unsigned long long int val = 0;
size_t ii = 0;
int shift = 0;
+ int ret;
xmlSecAssert2(data != NULL, NULL);
xmlSecAssert2(len <= 9, NULL);
@@ -889,15 +744,17 @@ xmlSecGnuTLSASN1IntegerWrite(const unsigned char * data, size_t len) {
res = (xmlChar*)xmlMalloc(resLen + 1);
if(res == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlMalloc",
- XMLSEC_ERRORS_R_MALLOC_FAILED,
- "size=%d", (int)resLen);
- return (NULL);
+ xmlSecMallocError(resLen + 1, NULL);
+ return(NULL);
+ }
+
+ ret = xmlStrPrintf(res, resLen, "%llu", val);
+ if(ret < 0) {
+ xmlSecXmlError("xmlStrPrintf", NULL);
+ xmlFree(res);
+ return(NULL);
}
- xmlSecStrPrintf(res, resLen, BAD_CAST "%llu", val);
return(res);
}
@@ -934,11 +791,7 @@ xmlSecGnuTLSPkcs12LoadMemory(const xmlSecByte* data, xmlSecSize dataSize,
/* read pkcs12 in internal structure */
err = gnutls_pkcs12_init(&pkcs12);
if(err != GNUTLS_E_SUCCESS) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "gnutls_pkcs12_init",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_GNUTLS_REPORT_ERROR(err));
+ xmlSecGnuTLSError("gnutls_pkcs12_init", err, NULL);
goto done;
}
@@ -946,22 +799,14 @@ xmlSecGnuTLSPkcs12LoadMemory(const xmlSecByte* data, xmlSecSize dataSize,
datum.size = dataSize;
err = gnutls_pkcs12_import(pkcs12, &datum, GNUTLS_X509_FMT_DER, 0);
if(err != GNUTLS_E_SUCCESS) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "gnutls_pkcs12_import",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_GNUTLS_REPORT_ERROR(err));
+ xmlSecGnuTLSError("gnutls_pkcs12_import", err, NULL);
goto done;
}
/* verify */
err = gnutls_pkcs12_verify_mac(pkcs12, pwd);
if(err != GNUTLS_E_SUCCESS) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "gnutls_pkcs12_verify_mac",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_GNUTLS_REPORT_ERROR(err));
+ xmlSecGnuTLSError("gnutls_pkcs12_verify_mac", err, NULL);
goto done;
}
@@ -973,11 +818,7 @@ xmlSecGnuTLSPkcs12LoadMemory(const xmlSecByte* data, xmlSecSize dataSize,
err = gnutls_pkcs12_bag_init(&bag);
if(err != GNUTLS_E_SUCCESS) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "gnutls_pkcs12_bag_init",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_GNUTLS_REPORT_ERROR(err));
+ xmlSecGnuTLSError("gnutls_pkcs12_bag_init", err, NULL);
goto done;
}
@@ -986,32 +827,20 @@ xmlSecGnuTLSPkcs12LoadMemory(const xmlSecByte* data, xmlSecSize dataSize,
/* scanned the whole pkcs12, stop */
break;
} else if(err != GNUTLS_E_SUCCESS) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "gnutls_pkcs12_get_bag",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_GNUTLS_REPORT_ERROR(err));
+ xmlSecGnuTLSError("gnutls_pkcs12_get_bag", err, NULL);
goto done;
}
/* check if we need to decrypt the bag */
bag_type = gnutls_pkcs12_bag_get_type(bag, 0);
if(bag_type < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "gnutls_pkcs12_bag_get_type",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_GNUTLS_REPORT_ERROR(bag_type));
+ xmlSecGnuTLSError("gnutls_pkcs12_bag_get_type", bag_type, NULL);
goto done;
}
if(bag_type == GNUTLS_BAG_ENCRYPTED) {
err = gnutls_pkcs12_bag_decrypt(bag, pwd);
if(err != GNUTLS_E_SUCCESS) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "gnutls_pkcs12_bag_decrypt",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_GNUTLS_REPORT_ERROR(err));
+ xmlSecGnuTLSError("gnutls_pkcs12_bag_decrypt", err, NULL);
goto done;
}
}
@@ -1019,31 +848,19 @@ xmlSecGnuTLSPkcs12LoadMemory(const xmlSecByte* data, xmlSecSize dataSize,
/* scan elements in bag */
elements_in_bag = gnutls_pkcs12_bag_get_count(bag);
if(elements_in_bag < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "gnutls_pkcs12_bag_get_count",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_GNUTLS_REPORT_ERROR(bag_type));
+ xmlSecGnuTLSError("gnutls_pkcs12_bag_get_count", elements_in_bag, NULL);
goto done;
}
for(ii = 0; ii < elements_in_bag; ++ii) {
bag_type = gnutls_pkcs12_bag_get_type(bag, ii);
if(bag_type < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "gnutls_pkcs12_bag_get_type",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_GNUTLS_REPORT_ERROR(bag_type));
+ xmlSecGnuTLSError("gnutls_pkcs12_bag_get_type", bag_type, NULL);
goto done;
}
err = gnutls_pkcs12_bag_get_data(bag, ii, &datum);
if(err != GNUTLS_E_SUCCESS) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "gnutls_pkcs12_bag_get_data",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_GNUTLS_REPORT_ERROR(err));
+ xmlSecGnuTLSError("gnutls_pkcs12_bag_get_data", err, NULL);
goto done;
}
@@ -1054,11 +871,7 @@ xmlSecGnuTLSPkcs12LoadMemory(const xmlSecByte* data, xmlSecSize dataSize,
if((*priv_key) == NULL) {
err = gnutls_x509_privkey_init(priv_key);
if(err != GNUTLS_E_SUCCESS) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "gnutls_x509_privkey_init",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_GNUTLS_REPORT_ERROR(err));
+ xmlSecGnuTLSError("gnutls_x509_privkey_init", err, NULL);
goto done;
}
@@ -1067,11 +880,7 @@ xmlSecGnuTLSPkcs12LoadMemory(const xmlSecByte* data, xmlSecSize dataSize,
pwd,
(bag_type == GNUTLS_BAG_PKCS8_KEY) ? GNUTLS_PKCS_PLAIN : 0);
if(err != GNUTLS_E_SUCCESS) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "gnutls_x509_privkey_import_pkcs8",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_GNUTLS_REPORT_ERROR(err));
+ xmlSecGnuTLSError("gnutls_x509_privkey_import_pkcs8", err, NULL);
goto done;
}
}
@@ -1079,31 +888,19 @@ xmlSecGnuTLSPkcs12LoadMemory(const xmlSecByte* data, xmlSecSize dataSize,
case GNUTLS_BAG_CERTIFICATE:
err = gnutls_x509_crt_init(&cert);
if(err != GNUTLS_E_SUCCESS) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "gnutls_x509_crt_init",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_GNUTLS_REPORT_ERROR(err));
+ xmlSecGnuTLSError("gnutls_x509_crt_init", err, NULL);
goto done;
}
err = gnutls_x509_crt_import(cert, &datum, GNUTLS_X509_FMT_DER);
if(err != GNUTLS_E_SUCCESS) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "gnutls_x509_crt_import",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_GNUTLS_REPORT_ERROR(err));
+ xmlSecGnuTLSError("gnutls_x509_crt_import", err, NULL);
goto done;
}
ret = xmlSecPtrListAdd(certsList, cert);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecPtrListAdd(certsList)",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecPtrListAdd(certsList)", NULL);
goto done;
}
cert = NULL; /* owned by certsList now */
@@ -1121,11 +918,8 @@ xmlSecGnuTLSPkcs12LoadMemory(const xmlSecByte* data, xmlSecSize dataSize,
/* check we have private key */
if((*priv_key) == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- NULL,
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "Private key was not found in pkcs12 object");
+ xmlSecOtherError(XMLSEC_ERRORS_R_KEY_NOT_FOUND, NULL,
+ "Private key was not found in pkcs12 object");
goto done;
}
@@ -1141,11 +935,7 @@ xmlSecGnuTLSPkcs12LoadMemory(const xmlSecByte* data, xmlSecSize dataSize,
key_id_size = sizeof(key_id);
err = gnutls_x509_privkey_get_key_id((*priv_key), 0, key_id, &key_id_size);
if(err != GNUTLS_E_SUCCESS) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "gnutls_x509_privkey_get_key_id",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_GNUTLS_REPORT_ERROR(err));
+ xmlSecGnuTLSError("gnutls_x509_privkey_get_key_id", err, NULL);
goto done;
}
for(ii = 0; ii < certsSize; ++ii) {
@@ -1159,11 +949,7 @@ xmlSecGnuTLSPkcs12LoadMemory(const xmlSecByte* data, xmlSecSize dataSize,
cert_id_size = sizeof(cert_id);
err = gnutls_x509_crt_get_key_id(tmp, 0, cert_id, &cert_id_size);
if(err != GNUTLS_E_SUCCESS) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "gnutls_x509_crt_get_key_id",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_GNUTLS_REPORT_ERROR(err));
+ xmlSecGnuTLSError("gnutls_x509_crt_get_key_id", err, NULL);
goto done;
}
@@ -1171,11 +957,7 @@ xmlSecGnuTLSPkcs12LoadMemory(const xmlSecByte* data, xmlSecSize dataSize,
if((key_id_size == cert_id_size) && (memcmp(key_id, cert_id, key_id_size) == 0)) {
(*key_cert) = xmlSecGnuTLSX509CertDup(tmp);
if((*key_cert) == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecGnuTLSX509CertDup",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecGnuTLSX509CertDup", NULL);
goto done;
}
@@ -1185,11 +967,8 @@ xmlSecGnuTLSPkcs12LoadMemory(const xmlSecByte* data, xmlSecSize dataSize,
/* check we have key cert */
if((*key_cert) == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- NULL,
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "Certificate for the private key was not found in pkcs12 object");
+ xmlSecOtherError(XMLSEC_ERRORS_R_CERT_NOT_FOUND, NULL,
+ "Certificate for the private key was not found in pkcs12 object");
goto done;
}
}
@@ -1222,11 +1001,7 @@ xmlSecGnuTLSCreateKeyDataAndAdoptPrivKey(gnutls_x509_privkey_t priv_key) {
/* create key value data */
key_alg = gnutls_x509_privkey_get_pk_algorithm(priv_key);
if(key_alg < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "gnutls_x509_privkey_get_pk_algorithm",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_GNUTLS_REPORT_ERROR(key_alg));
+ xmlSecGnuTLSError("gnutls_x509_privkey_get_pk_algorithm", key_alg < 0, NULL);
return (NULL);
}
switch(key_alg) {
@@ -1234,21 +1009,13 @@ xmlSecGnuTLSCreateKeyDataAndAdoptPrivKey(gnutls_x509_privkey_t priv_key) {
case GNUTLS_PK_RSA:
res = xmlSecKeyDataCreate(xmlSecGnuTLSKeyDataRsaId);
if(res == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecKeyDataCreate",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "xmlSecGnuTLSKeyDataRsaId");
+ xmlSecInternalError("xmlSecKeyDataCreate(KeyDataRsaId)", NULL);
return(NULL);
}
ret = xmlSecGnuTLSKeyDataRsaAdoptPrivateKey(res, priv_key);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecGnuTLSKeyDataRsaAdoptPrivateKey",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "xmlSecGnuTLSKeyDataRsaId");
+ xmlSecInternalError("xmlSecGnuTLSKeyDataRsaAdoptPrivateKey(KeyDataRsaId)", NULL);
xmlSecKeyDataDestroy(res);
return(NULL);
}
@@ -1259,32 +1026,20 @@ xmlSecGnuTLSCreateKeyDataAndAdoptPrivKey(gnutls_x509_privkey_t priv_key) {
case GNUTLS_PK_DSA:
res = xmlSecKeyDataCreate(xmlSecGnuTLSKeyDataDsaId);
if(res == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecKeyDataCreate",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "xmlSecGnuTLSKeyDataDsaId");
+ xmlSecInternalError("xmlSecKeyDataCreate(KeyDataDsaId)", NULL);
return(NULL);
}
ret = xmlSecGnuTLSKeyDataDsaAdoptPrivateKey(res, priv_key);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecGnuTLSKeyDataDsaAdoptPrivateKey",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "xmlSecGnuTLSKeyDataDsaId");
+ xmlSecInternalError("xmlSecGnuTLSKeyDataDsaAdoptPrivateKey(KeyDataDsaId)", NULL);
xmlSecKeyDataDestroy(res);
return(NULL);
}
break;
#endif /* XMLSEC_NO_DSA */
default:
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "gnutls_x509_privkey_get_pk_algorithm",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- "Unsupported algorithm %d", (int)key_alg);
+ xmlSecInvalidIntegerTypeError("key_alg", key_alg, "supported algorithm", NULL);
return(NULL);
}
@@ -1493,11 +1248,7 @@ xmlSecGnuTLSDnAttrsParse(const xmlChar * dn,
/* allocate buffer, we don't need more than string */
tmp = (xmlChar *)xmlMalloc(xmlStrlen(dn) + 1);
if(tmp == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlMalloc",
- XMLSEC_ERRORS_R_MALLOC_FAILED,
- "size=%d", (int)(xmlStrlen(dn) + 1));
+ xmlSecMallocError(xmlStrlen(dn) + 1, NULL);
goto done;
}
@@ -1532,20 +1283,13 @@ xmlSecGnuTLSDnAttrsParse(const xmlChar * dn,
/* insert into the attrs */
if(pos >= attrsSize) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "Not enough space: size=%d", (int)attrsSize);
+ xmlSecInvalidSizeLessThanError("Attributes",
+ attrsSize, pos, NULL);
goto done;
}
attrs[pos].key = xmlStrdup(tmp);
if(attrs[pos].key == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlStrdup",
- XMLSEC_ERRORS_R_MALLOC_FAILED,
- "size=%d", (int)(xmlStrlen(tmp) + 1));
+ xmlSecStrdupError(tmp, NULL);
goto done;
}
@@ -1583,11 +1327,7 @@ xmlSecGnuTLSDnAttrsParse(const xmlChar * dn,
attrs[pos].value = xmlStrdup(tmp);
if(attrs[pos].value == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlStrdup",
- XMLSEC_ERRORS_R_MALLOC_FAILED,
- "size=%d", (int)(xmlStrlen(tmp) + 1));
+ xmlSecStrdupError(tmp, NULL);
goto done;
}
state = xmlSecGnuTLSDnParseState_BeforeNameComponent;
@@ -1609,11 +1349,7 @@ xmlSecGnuTLSDnAttrsParse(const xmlChar * dn,
attrs[pos].value = xmlStrdup(tmp);
if(attrs[pos].value == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlStrdup",
- XMLSEC_ERRORS_R_MALLOC_FAILED,
- "size=%d", (int)(xmlStrlen(tmp) + 1));
+ xmlSecStrdupError(tmp, NULL);
goto done;
}
state = xmlSecGnuTLSDnParseState_AfterQuotedString;
@@ -1628,12 +1364,7 @@ xmlSecGnuTLSDnAttrsParse(const xmlChar * dn,
if((ch == ',') || (ch == ';') || (ch == '\0')) {
state = xmlSecGnuTLSDnParseState_BeforeNameComponent;
} else {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "Unexpected character %c (expected space or ',' or ';')",
- ch);
+ xmlSecInvalidIntegerDataError("ch", ch, "space,',',';','\\0'", NULL);
goto done;
}
} else {
@@ -1650,12 +1381,7 @@ xmlSecGnuTLSDnAttrsParse(const xmlChar * dn,
/* check end state */
if(state != xmlSecGnuTLSDnParseState_BeforeNameComponent) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "Unexpected state %d at the end of parsing",
- (int)state);
+ xmlSecInvalidIntegerDataError("state", state, "xmlSecGnuTLSDnParseState_BeforeNameComponent", NULL);
goto done;
}
diff --git a/src/gnutls/x509vfy.c b/src/gnutls/x509vfy.c
index f302d8f..37e27af 100644
--- a/src/gnutls/x509vfy.c
+++ b/src/gnutls/x509vfy.c
@@ -1,5 +1,5 @@
-/**
- * XMLSec library
+/*
+ * XML Security Library (http://www.aleksey.com/xmlsec).
*
* X509 support
*
@@ -159,38 +159,28 @@ xmlSecGnuTLSX509CheckTime(const gnutls_x509_crt_t * cert_list,
/* get expiration times */
notValidBefore = gnutls_x509_crt_get_activation_time(cert);
if(notValidBefore == (time_t)-1) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "gnutls_x509_crt_get_activation_time",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecGnuTLSError2("gnutls_x509_crt_get_activation_time", GNUTLS_E_SUCCESS,
+ NULL,
+ "cert activation time is invalid: %ld",
+ (unsigned long)notValidBefore);
return(-1);
}
notValidAfter = gnutls_x509_crt_get_expiration_time(cert);
if(notValidAfter == (time_t)-1) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "gnutls_x509_crt_get_expiration_time",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecGnuTLSError2("gnutls_x509_crt_get_expiration_time", GNUTLS_E_SUCCESS,
+ NULL,
+ "cert expiration time is invalid: %ld",
+ (unsigned long)notValidAfter);
return(-1);
}
/* check */
if(ts < notValidBefore) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- NULL,
- XMLSEC_ERRORS_R_CERT_NOT_YET_VALID,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOtherError(XMLSEC_ERRORS_R_CERT_NOT_YET_VALID, NULL, NULL);
return(0);
}
if(ts > notValidAfter) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- NULL,
- XMLSEC_ERRORS_R_CERT_HAS_EXPIRED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOtherError(XMLSEC_ERRORS_R_CERT_HAS_EXPIRED, NULL, NULL);
return(0);
}
}
@@ -249,11 +239,8 @@ xmlSecGnuTLSX509StoreVerify(xmlSecKeyDataStorePtr store,
if(cert_list_length > 0) {
cert_list = (gnutls_x509_crt_t *)xmlMalloc(sizeof(gnutls_x509_crt_t) * cert_list_length);
if(cert_list == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataStoreGetName(store)),
- "xmlMalloc",
- XMLSEC_ERRORS_R_MALLOC_FAILED,
- "size=%d", (int)(sizeof(gnutls_x509_crt_t) * cert_list_length));
+ xmlSecMallocError(sizeof(gnutls_x509_crt_t) * cert_list_length,
+ xmlSecKeyDataStoreGetName(store));
goto done;
}
}
@@ -261,21 +248,15 @@ xmlSecGnuTLSX509StoreVerify(xmlSecKeyDataStorePtr store,
if(crl_list_length > 0) {
crl_list = (gnutls_x509_crl_t *)xmlMalloc(sizeof(gnutls_x509_crl_t) * crl_list_length);
if(crl_list == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataStoreGetName(store)),
- "xmlMalloc",
- XMLSEC_ERRORS_R_MALLOC_FAILED,
- "size=%d", (int)(sizeof(gnutls_x509_crl_t) * crl_list_length));
+ xmlSecMallocError(sizeof(gnutls_x509_crl_t) * crl_list_length,
+ xmlSecKeyDataStoreGetName(store));
goto done;
}
for(ii = 0; ii < crl_list_length; ++ii) {
crl_list[ii] = xmlSecPtrListGetItem(crls, ii);
if(crl_list[ii] == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataStoreGetName(store)),
- "xmlSecPtrListGetItem(crls)",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecPtrListGetItem(crls)",
+ xmlSecKeyDataStoreGetName(store));
goto done;
}
}
@@ -285,21 +266,15 @@ xmlSecGnuTLSX509StoreVerify(xmlSecKeyDataStorePtr store,
if(ca_list_length > 0) {
ca_list = (gnutls_x509_crt_t *)xmlMalloc(sizeof(gnutls_x509_crt_t) * ca_list_length);
if(ca_list == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataStoreGetName(store)),
- "xmlMalloc",
- XMLSEC_ERRORS_R_MALLOC_FAILED,
- "size=%d", (int)(sizeof(gnutls_x509_crt_t) * ca_list_length));
+ xmlSecMallocError(sizeof(gnutls_x509_crt_t) * ca_list_length,
+ xmlSecKeyDataStoreGetName(store));
goto done;
}
for(ii = 0; ii < ca_list_length; ++ii) {
ca_list[ii] = xmlSecPtrListGetItem(&(ctx->certsTrusted), ii);
if(ca_list[ii] == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataStoreGetName(store)),
- "xmlSecPtrListGetItem(certsTrusted)",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecPtrListGetItem(certsTrusted)",
+ xmlSecKeyDataStoreGetName(store));
goto done;
}
}
@@ -325,11 +300,8 @@ xmlSecGnuTLSX509StoreVerify(xmlSecKeyDataStorePtr store,
cert = xmlSecPtrListGetItem(certs, ii);
if(cert == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataStoreGetName(store)),
- "xmlSecPtrListGetItem(certs)",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecPtrListGetItem(certs)",
+ xmlSecKeyDataStoreGetName(store));
goto done;
}
@@ -357,26 +329,24 @@ xmlSecGnuTLSX509StoreVerify(xmlSecKeyDataStorePtr store,
}
/* try to verify */
- err = gnutls_x509_crt_list_verify(
- cert_list, (int)cert_list_cur_length, /* certs chain */
- ca_list, (int)ca_list_length, /* trusted cas */
- crl_list, (int)crl_list_length, /* crls */
- flags, /* flags */
- &verify);
+ if((keyInfoCtx->flags & XMLSEC_KEYINFO_FLAGS_X509DATA_DONT_VERIFY_CERTS) == 0) {
+ err = gnutls_x509_crt_list_verify(
+ cert_list, (int)cert_list_cur_length, /* certs chain */
+ ca_list, (int)ca_list_length, /* trusted cas */
+ crl_list, (int)crl_list_length, /* crls */
+ flags, /* flags */
+ &verify);
+ } else {
+ err = GNUTLS_E_SUCCESS;
+ }
if(err != GNUTLS_E_SUCCESS) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "gnutls_x509_crt_list_verify",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_GNUTLS_REPORT_ERROR(err));
+ xmlSecGnuTLSError("gnutls_x509_crt_list_verify", err, NULL);
/* don't stop, continue! */
continue;
- } else if(verify != 0){
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "gnutls_x509_crt_list_verify",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- "Verification failed: verify=%u", verify);
+ } else if(verify != 0) {
+ xmlSecOtherError2(XMLSEC_ERRORS_R_CERT_VERIFY_FAILED, NULL,
+ "gnutls_x509_crt_list_verify: verification failed: status=%du",
+ verify);
/* don't stop, continue! */
continue;
}
@@ -385,11 +355,7 @@ xmlSecGnuTLSX509StoreVerify(xmlSecKeyDataStorePtr store,
we have to do it ourselves */
ret = xmlSecGnuTLSX509CheckTime(cert_list, cert_list_cur_length, verification_time);
if(ret != 1) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- "Time verification failed");
+ xmlSecInternalError("xmlSecGnuTLSX509CheckTime", NULL);
/* don't stop, continue! */
continue;
}
@@ -437,21 +403,15 @@ xmlSecGnuTLSX509StoreAdoptCert(xmlSecKeyDataStorePtr store, gnutls_x509_crt_t ce
if((type & xmlSecKeyDataTypeTrusted) != 0) {
ret = xmlSecPtrListAdd(&(ctx->certsTrusted), cert);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataStoreGetName(store)),
- "xmlSecPtrListAdd(trusted)",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecPtrListAdd(trusted)",
+ xmlSecKeyDataStoreGetName(store));
return(-1);
}
} else {
ret = xmlSecPtrListAdd(&(ctx->certsUntrusted), cert);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataStoreGetName(store)),
- "xmlSecPtrListAdd(untrusted)",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecPtrListAdd(untrusted)",
+ xmlSecKeyDataStoreGetName(store));
return(-1);
}
}
@@ -474,21 +434,15 @@ xmlSecGnuTLSX509StoreInitialize(xmlSecKeyDataStorePtr store) {
ret = xmlSecPtrListInitialize(&(ctx->certsTrusted), xmlSecGnuTLSX509CrtListId);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataStoreGetName(store)),
- "xmlSecPtrListInitialize(trusted)",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecPtrListInitialize(trusted)",
+ xmlSecKeyDataStoreGetName(store));
return(-1);
}
ret = xmlSecPtrListInitialize(&(ctx->certsUntrusted), xmlSecGnuTLSX509CrtListId);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataStoreGetName(store)),
- "xmlSecPtrListInitialize(untrusted)",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecPtrListInitialize(untrusted)",
+ xmlSecKeyDataStoreGetName(store));
return(-1);
}
@@ -516,6 +470,7 @@ xmlSecGnuTLSX509StoreFinalize(xmlSecKeyDataStorePtr store) {
*
*****************************************************************************/
#define XMLSEC_GNUTLS_DN_ATTRS_SIZE 1024
+
static int
xmlSecGnuTLSX509DnsEqual(const xmlChar * ll, const xmlChar * rr) {
xmlSecGnuTLSDnAttr ll_attrs[XMLSEC_GNUTLS_DN_ATTRS_SIZE];
@@ -538,21 +493,13 @@ xmlSecGnuTLSX509DnsEqual(const xmlChar * ll, const xmlChar * rr) {
/* parse */
ret = xmlSecGnuTLSDnAttrsParse(ll, ll_attrs, XMLSEC_GNUTLS_DN_ATTRS_SIZE);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecGnuTLSDnAttrsParse(ll)",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecGnuTLSDnAttrsParse(ll)", NULL);
goto done;
}
ret = xmlSecGnuTLSDnAttrsParse(rr, rr_attrs, XMLSEC_GNUTLS_DN_ATTRS_SIZE);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecGnuTLSDnAttrsParse(rr)",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecGnuTLSDnAttrsParse(rr)", NULL);
goto done;
}
@@ -564,11 +511,7 @@ xmlSecGnuTLSX509DnsEqual(const xmlChar * ll, const xmlChar * rr) {
} else if(ret == 0) {
res = 0;
} else {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecGnuTLSDnAttrsEqual",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecGnuTLSDnAttrsEqual", NULL);
goto done;
}
@@ -593,11 +536,8 @@ xmlSecGnuTLSX509FindCert(xmlSecPtrListPtr certs,
for(ii = 0; (ii < sz); ++ii) {
gnutls_x509_crt_t cert = xmlSecPtrListGetItem(certs, ii);
if(cert == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecPtrListGetItem",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "pos=%i", (int)ii);
+ xmlSecInternalError2("xmlSecPtrListGetItem", NULL,
+ "pos=%i", (int)ii);
return(NULL);
}
@@ -606,11 +546,8 @@ xmlSecGnuTLSX509FindCert(xmlSecPtrListPtr certs,
tmp = xmlSecGnuTLSX509CertGetSubjectDN(cert);
if(tmp == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecGnuTLSX509CertGetSubjectDN",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "pos=%i", (int)ii);
+ xmlSecInternalError2("xmlSecGnuTLSX509CertGetSubjectDN", NULL,
+ "pos=%i", (int)ii);
return(NULL);
}
@@ -625,21 +562,15 @@ xmlSecGnuTLSX509FindCert(xmlSecPtrListPtr certs,
tmp1 = xmlSecGnuTLSX509CertGetIssuerDN(cert);
if(tmp1 == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecGnuTLSX509CertGetIssuerDN",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "pos=%i", (int)ii);
+ xmlSecInternalError2("xmlSecGnuTLSX509CertGetIssuerDN", NULL,
+ "pos=%i", (int)ii);
return(NULL);
}
tmp2 = xmlSecGnuTLSX509CertGetIssuerSerial(cert);
if(tmp2 == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecGnuTLSX509CertGetIssuerSerial",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "pos=%i", (int)ii);
+ xmlSecInternalError2("xmlSecGnuTLSX509CertGetIssuerSerial", NULL,
+ "pos=%i", (int)ii);
xmlFree(tmp1);
return(NULL);
}
@@ -656,11 +587,8 @@ xmlSecGnuTLSX509FindCert(xmlSecPtrListPtr certs,
tmp = xmlSecGnuTLSX509CertGetSKI(cert);
if(tmp == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecGnuTLSX509CertGetSKI",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "pos=%i", (int)ii);
+ xmlSecInternalError2("xmlSecGnuTLSX509CertGetSKI", NULL,
+ "pos=%i", (int)ii);
return(NULL);
}
@@ -688,11 +616,7 @@ xmlSecGnuTLSX509FindSignedCert(xmlSecPtrListPtr certs, gnutls_x509_crt_t cert) {
/* get subject */
subject = xmlSecGnuTLSX509CertGetSubjectDN(cert);
if(subject == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecGnuTLSX509CertGetSubjectDN",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecGnuTLSX509CertGetSubjectDN", NULL);
goto done;
}
@@ -704,21 +628,15 @@ xmlSecGnuTLSX509FindSignedCert(xmlSecPtrListPtr certs, gnutls_x509_crt_t cert) {
tmp = xmlSecPtrListGetItem(certs, ii);
if(tmp == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecPtrListGetItem",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "pos=%i", (int)ii);
+ xmlSecInternalError2("xmlSecPtrListGetItem", NULL,
+ "pos=%i", (int)ii);
goto done;
}
issuer = xmlSecGnuTLSX509CertGetIssuerDN(tmp);
if(issuer == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecGnuTLSX509CertGetIssuerDN",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "pos=%i", (int)ii);
+ xmlSecInternalError2("xmlSecGnuTLSX509CertGetIssuerDN", NULL,
+ "pos=%i", (int)ii);
goto done;
}
@@ -749,11 +667,7 @@ xmlSecGnuTLSX509FindSignerCert(xmlSecPtrListPtr certs, gnutls_x509_crt_t cert) {
/* get issuer */
issuer = xmlSecGnuTLSX509CertGetIssuerDN(cert);
if(issuer == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecGnuTLSX509CertGetIssuerDN",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecGnuTLSX509CertGetIssuerDN", NULL);
goto done;
}
@@ -765,21 +679,15 @@ xmlSecGnuTLSX509FindSignerCert(xmlSecPtrListPtr certs, gnutls_x509_crt_t cert) {
tmp = xmlSecPtrListGetItem(certs, ii);
if(tmp == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecPtrListGetItem",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "pos=%i", (int)ii);
+ xmlSecInternalError2("xmlSecPtrListGetItem", NULL,
+ "pos=%i", (int)ii);
goto done;
}
subject = xmlSecGnuTLSX509CertGetSubjectDN(tmp);
if(subject == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecGnuTLSX509CertGetSubjectDN",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "pos=%i", (int)ii);
+ xmlSecInternalError2("xmlSecGnuTLSX509CertGetSubjectDN", NULL,
+ "pos=%i", (int)ii);
goto done;
}
diff --git a/src/io.c b/src/io.c
index 7d36171..7d409d2 100644
--- a/src/io.c
+++ b/src/io.c
@@ -1,4 +1,4 @@
-/**
+/*
* XML Security Library (http://www.aleksey.com/xmlsec).
*
* Input uri transform and utility functions.
@@ -12,7 +12,6 @@
#include <stdlib.h>
#include <string.h>
-#include <errno.h>
#include <libxml/uri.h>
#include <libxml/tree.h>
@@ -61,12 +60,7 @@ xmlSecIOCallbackCreate(xmlInputMatchCallback matchFunc, xmlInputOpenCallback ope
/* Allocate a new xmlSecIOCallback and fill the fields. */
callbacks = (xmlSecIOCallbackPtr)xmlMalloc(sizeof(xmlSecIOCallback));
if(callbacks == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- NULL,
- XMLSEC_ERRORS_R_MALLOC_FAILED,
- "sizeof(xmlSecIOCallback)=%d",
- (int)sizeof(xmlSecIOCallback));
+ xmlSecMallocError(sizeof(xmlSecIOCallback), NULL);
return(NULL);
}
memset(callbacks, 0, sizeof(xmlSecIOCallback));
@@ -154,11 +148,7 @@ xmlSecIOInit(void) {
ret = xmlSecPtrListInitialize(&xmlSecAllIOCallbacks, xmlSecIOCallbackPtrListId);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecPtrListPtrInitialize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecPtrListPtrInitialize", NULL);
return(-1);
}
@@ -226,21 +216,13 @@ xmlSecIORegisterCallbacks(xmlInputMatchCallback matchFunc,
callbacks = xmlSecIOCallbackCreate(matchFunc, openFunc, readFunc, closeFunc);
if(callbacks == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecIOCallbackCreate",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecIOCallbackCreate", NULL);
return(-1);
}
ret = xmlSecPtrListAdd(&xmlSecAllIOCallbacks, callbacks);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecPtrListAdd",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecPtrListAdd", NULL);
xmlSecIOCallbackDestroy(callbacks);
return(-1);
}
@@ -263,11 +245,7 @@ xmlSecIORegisterDefaultCallbacks(void) {
ret = xmlSecIORegisterCallbacks(xmlIOHTTPMatch, xmlIOHTTPOpen,
xmlIOHTTPRead, xmlIOHTTPClose);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecIORegisterCallbacks",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "http");
+ xmlSecInternalError("xmlSecIORegisterCallbacks(http)", NULL);
return(-1);
}
#endif /* LIBXML_HTTP_ENABLED */
@@ -276,11 +254,7 @@ xmlSecIORegisterDefaultCallbacks(void) {
ret = xmlSecIORegisterCallbacks(xmlIOFTPMatch, xmlIOFTPOpen,
xmlIOFTPRead, xmlIOFTPClose);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecIORegisterCallbacks",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "ftp");
+ xmlSecInternalError("xmlSecIORegisterCallbacks(ftp)", NULL);
return(-1);
}
#endif /* LIBXML_FTP_ENABLED */
@@ -288,11 +262,7 @@ xmlSecIORegisterDefaultCallbacks(void) {
ret = xmlSecIORegisterCallbacks(xmlFileMatch, xmlFileOpen,
xmlFileRead, xmlFileClose);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecIORegisterCallbacks",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "file");
+ xmlSecInternalError("xmlSecIORegisterCallbacks(file)", NULL);
return(-1);
}
@@ -420,13 +390,8 @@ xmlSecTransformInputURIOpen(xmlSecTransformPtr transform, const xmlChar *uri) {
}
if((ctx->clbks == NULL) || (ctx->clbksCtx == NULL)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "opencallback",
- XMLSEC_ERRORS_R_IO_FAILED,
- "uri=%s;errno=%d",
- xmlSecErrorsSafeString(uri),
- errno);
+ xmlSecInternalError2("ctx->clbks->opencallback", xmlSecTransformGetName(transform),
+ "uri=%s", xmlSecErrorsSafeString(uri));
return(-1);
}
@@ -487,11 +452,9 @@ xmlSecTransformInputURIFinalize(xmlSecTransformPtr transform) {
ret = xmlSecTransformInputURIClose(transform);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecTransformInputURIClose",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "ret=%d", ret);
+ xmlSecInternalError2("xmlSecTransformInputURIClose",
+ xmlSecTransformGetName(transform),
+ "ret=%d", ret);
/* ignore the error */
/* return; */
}
@@ -519,11 +482,7 @@ xmlSecTransformInputURIPopBin(xmlSecTransformPtr transform, xmlSecByte* data,
if((ctx->clbksCtx != NULL) && (ctx->clbks != NULL) && (ctx->clbks->readcallback != NULL)) {
ret = (ctx->clbks->readcallback)(ctx->clbksCtx, (char*)data, (int)maxDataSize);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "readcallback",
- XMLSEC_ERRORS_R_IO_FAILED,
- "errno=%d", errno);
+ xmlSecInternalError("ctx->clbks->readcallback", xmlSecTransformGetName(transform));
return(-1);
}
(*dataSize) = ret;
diff --git a/src/keyinfo.c b/src/keyinfo.c
index 958492f..0c4da9f 100644
--- a/src/keyinfo.c
+++ b/src/keyinfo.c
@@ -1,4 +1,4 @@
-/**
+/*
* XML Security Library (http://www.aleksey.com/xmlsec).
*
* <dsig:KeyInfo/> element processing
@@ -111,22 +111,16 @@ xmlSecKeyInfoNodeRead(xmlNodePtr keyInfoNode, xmlSecKeyPtr key, xmlSecKeyInfoCtx
/* read data node */
ret = xmlSecKeyDataXmlRead(dataId, key, cur, keyInfoCtx);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(dataId)),
- "xmlSecKeyDataXmlRead",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeGetName(cur)));
+ xmlSecInternalError2("xmlSecKeyDataXmlRead",
+ xmlSecKeyDataKlassGetName(dataId),
+ "node=%s",
+ xmlSecErrorsSafeString(xmlSecNodeGetName(cur)));
return(-1);
}
} else if((keyInfoCtx->flags & XMLSEC_KEYINFO_FLAGS_STOP_ON_UNKNOWN_CHILD) != 0) {
/* there is a laxi schema validation but application may
* desire to disable unknown nodes*/
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- xmlSecErrorsSafeString(xmlSecNodeGetName(cur)),
- XMLSEC_ERRORS_R_INVALID_NODE,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecUnexpectedNodeError(cur, NULL);
return(-1);
}
}
@@ -178,21 +172,15 @@ xmlSecKeyInfoNodeWrite(xmlNodePtr keyInfoNode, xmlSecKeyPtr key, xmlSecKeyInfoCt
if(dataId != xmlSecKeyDataIdUnknown) {
ret = xmlSecKeyDataXmlWrite(dataId, key, cur, keyInfoCtx);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(dataId)),
- "xmlSecKeyDataXmlWrite",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeGetName(cur)));
+ xmlSecInternalError2("xmlSecKeyDataXmlWrite",
+ xmlSecKeyDataKlassGetName(dataId),
+ "node=%s",
+ xmlSecErrorsSafeString(xmlSecNodeGetName(cur)));
return(-1);
}
} else if((keyInfoCtx->flags & XMLSEC_KEYINFO_FLAGS_STOP_ON_UNKNOWN_CHILD) != 0) {
/* laxi schema validation but application can disable it*/
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- xmlSecErrorsSafeString(xmlSecNodeGetName(cur)),
- XMLSEC_ERRORS_R_INVALID_NODE,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecUnexpectedNodeError(cur, NULL);
return(-1);
}
}
@@ -223,21 +211,13 @@ xmlSecKeyInfoCtxCreate(xmlSecKeysMngrPtr keysMngr) {
/* Allocate a new xmlSecKeyInfoCtx and fill the fields. */
keyInfoCtx = (xmlSecKeyInfoCtxPtr)xmlMalloc(sizeof(xmlSecKeyInfoCtx));
if(keyInfoCtx == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- NULL,
- XMLSEC_ERRORS_R_MALLOC_FAILED,
- "size=%d", (int)sizeof(xmlSecKeyInfoCtx));
+ xmlSecMallocError(sizeof(xmlSecKeyInfoCtx), NULL);
return(NULL);
}
ret = xmlSecKeyInfoCtxInitialize(keyInfoCtx, keysMngr);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecKeyInfoCtxInitialize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeyInfoCtxInitialize", NULL);
xmlSecKeyInfoCtxDestroy(keyInfoCtx);
return(NULL);
}
@@ -280,22 +260,14 @@ xmlSecKeyInfoCtxInitialize(xmlSecKeyInfoCtxPtr keyInfoCtx, xmlSecKeysMngrPtr key
keyInfoCtx->base64LineSize = xmlSecBase64GetDefaultLineSize();
ret = xmlSecPtrListInitialize(&(keyInfoCtx->enabledKeyData), xmlSecKeyDataIdListId);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecPtrListInitialize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecPtrListInitialize", NULL);
return(-1);
}
keyInfoCtx->maxRetrievalMethodLevel = 1;
ret = xmlSecTransformCtxInitialize(&(keyInfoCtx->retrievalMethodCtx));
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecTransformCtxInitialize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecTransformCtxInitialize", NULL);
return(-1);
}
@@ -309,11 +281,7 @@ xmlSecKeyInfoCtxInitialize(xmlSecKeyInfoCtxPtr keyInfoCtx, xmlSecKeysMngrPtr key
ret = xmlSecKeyReqInitialize(&(keyInfoCtx->keyReq));
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecKeyReqInitialize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeyReqInitialize", NULL);
return(-1);
}
@@ -388,11 +356,7 @@ xmlSecKeyInfoCtxCreateEncCtx(xmlSecKeyInfoCtxPtr keyInfoCtx) {
/* we have to use tmp variable to avoid a recursive loop */
tmp = xmlSecEncCtxCreate(keyInfoCtx->keysMngr);
if(tmp == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecEncCtxCreate",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecEncCtxCreate", NULL);
return(-1);
}
tmp->mode = xmlEncCtxModeEncryptedKey;
@@ -402,11 +366,7 @@ xmlSecKeyInfoCtxCreateEncCtx(xmlSecKeyInfoCtxPtr keyInfoCtx) {
case xmlSecKeyInfoModeRead:
ret = xmlSecKeyInfoCtxCopyUserPref(&(tmp->keyInfoReadCtx), keyInfoCtx);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecKeyInfoCtxCopyUserPref",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeyInfoCtxCopyUserPref", NULL);
xmlSecEncCtxDestroy(tmp);
return(-1);
}
@@ -414,11 +374,7 @@ xmlSecKeyInfoCtxCreateEncCtx(xmlSecKeyInfoCtxPtr keyInfoCtx) {
case xmlSecKeyInfoModeWrite:
ret = xmlSecKeyInfoCtxCopyUserPref(&(tmp->keyInfoWriteCtx), keyInfoCtx);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecKeyInfoCtxCopyUserPref",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeyInfoCtxCopyUserPref", NULL);
xmlSecEncCtxDestroy(tmp);
return(-1);
}
@@ -428,11 +384,8 @@ xmlSecKeyInfoCtxCreateEncCtx(xmlSecKeyInfoCtxPtr keyInfoCtx) {
return(0);
#else /* XMLSEC_NO_XMLENC */
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xml encryption",
- XMLSEC_ERRORS_R_DISABLED,
- XMLSEC_ERRORS_NO_MESSAGE);
+
+ xmlSecOtherError(XMLSEC_ERRORS_R_DISABLED, NULL, "xml encryption");
return(-1);
#endif /* XMLSEC_NO_XMLENC */
}
@@ -462,11 +415,7 @@ xmlSecKeyInfoCtxCopyUserPref(xmlSecKeyInfoCtxPtr dst, xmlSecKeyInfoCtxPtr src) {
ret = xmlSecPtrListCopy(&(dst->enabledKeyData), &(src->enabledKeyData));
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecPtrListCopy",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "enabledKeyData");
+ xmlSecInternalError("xmlSecPtrListCopy(enabledKeyData)", NULL);
return(-1);
}
@@ -475,11 +424,7 @@ xmlSecKeyInfoCtxCopyUserPref(xmlSecKeyInfoCtxPtr dst, xmlSecKeyInfoCtxPtr src) {
ret = xmlSecTransformCtxCopyUserPref(&(dst->retrievalMethodCtx),
&(src->retrievalMethodCtx));
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecTransformCtxCopyUserPref",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "enabledKeyData");
+ xmlSecInternalError("xmlSecTransformCtxCopyUserPref(enabledKeyData)", NULL);
return(-1);
}
@@ -489,22 +434,14 @@ xmlSecKeyInfoCtxCopyUserPref(xmlSecKeyInfoCtxPtr dst, xmlSecKeyInfoCtxPtr src) {
if(src->encCtx != NULL) {
dst->encCtx = xmlSecEncCtxCreate(dst->keysMngr);
if(dst->encCtx == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecEncCtxCreate",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecEncCtxCreate", NULL);
return(-1);
}
dst->encCtx->mode = xmlEncCtxModeEncryptedKey;
ret = xmlSecEncCtxCopyUserPref(dst->encCtx, src->encCtx);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecEncCtxCopyUserPref",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecEncCtxCopyUserPref", NULL);
return(-1);
}
}
@@ -709,22 +646,15 @@ xmlSecKeyDataNameXmlRead(xmlSecKeyDataId id, xmlSecKeyPtr key, xmlNodePtr node,
oldName = xmlSecKeyGetName(key);
newName = xmlNodeGetContent(node);
if(newName == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- xmlSecErrorsSafeString(xmlSecNodeGetName(node)),
- XMLSEC_ERRORS_R_INVALID_NODE_CONTENT,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInvalidNodeContentError(node, xmlSecKeyDataKlassGetName(id), "empty");
return(-1);
}
- /* TODO: do we need to decode the name? */
/* compare name values */
if((oldName != NULL) && !xmlStrEqual(oldName, newName)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "key name is already specified",
- XMLSEC_ERRORS_R_INVALID_KEY_DATA,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOtherError(XMLSEC_ERRORS_R_INVALID_KEY_DATA,
+ xmlSecKeyDataKlassGetName(id),
+ "key name is already specified");
xmlFree(newName);
return(-1);
}
@@ -746,11 +676,8 @@ xmlSecKeyDataNameXmlRead(xmlSecKeyDataId id, xmlSecKeyPtr key, xmlNodePtr node,
/* and copy what we've found */
ret = xmlSecKeyCopy(key, tmpKey);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecKeyCopy",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeyCopy",
+ xmlSecKeyDataKlassGetName(id));
xmlSecKeyDestroy(tmpKey);
xmlFree(newName);
return(-1);
@@ -763,11 +690,8 @@ xmlSecKeyDataNameXmlRead(xmlSecKeyDataId id, xmlSecKeyPtr key, xmlNodePtr node,
if(xmlSecKeyGetName(key) == NULL) {
ret = xmlSecKeySetName(key, newName);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecKeySetName",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeySetName",
+ xmlSecKeyDataKlassGetName(id));
xmlFree(newName);
return(-1);
}
@@ -779,6 +703,7 @@ xmlSecKeyDataNameXmlRead(xmlSecKeyDataId id, xmlSecKeyPtr key, xmlNodePtr node,
static int
xmlSecKeyDataNameXmlWrite(xmlSecKeyDataId id, xmlSecKeyPtr key, xmlNodePtr node, xmlSecKeyInfoCtxPtr keyInfoCtx) {
const xmlChar* name;
+ int ret;
xmlSecAssert2(id == xmlSecKeyDataNameId, -1);
xmlSecAssert2(key != NULL, -1);
@@ -788,7 +713,11 @@ xmlSecKeyDataNameXmlWrite(xmlSecKeyDataId id, xmlSecKeyPtr key, xmlNodePtr node,
name = xmlSecKeyGetName(key);
if(name != NULL) {
- xmlSecNodeEncodeAndSetContent(node, name);
+ ret = xmlSecNodeEncodeAndSetContent(node, name);
+ if(ret < 0) {
+ xmlSecInternalError("xmlSecNodeEncodeAndSetContent", NULL);
+ return(-1);
+ }
}
return(0);
}
@@ -896,32 +825,22 @@ xmlSecKeyDataValueXmlRead(xmlSecKeyDataId id, xmlSecKeyPtr key, xmlNodePtr node,
/* read data node */
ret = xmlSecKeyDataXmlRead(dataId, key, cur, keyInfoCtx);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecKeyDataXmlRead",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeGetName(cur)));
+ xmlSecInternalError2("xmlSecKeyDataXmlRead",
+ xmlSecKeyDataKlassGetName(id),
+ "node=%s",
+ xmlSecErrorsSafeString(xmlSecNodeGetName(cur)));
return(-1);
}
} else if((keyInfoCtx->flags & XMLSEC_KEYINFO_FLAGS_KEYVALUE_STOP_ON_UNKNOWN_CHILD) != 0) {
/* laxi schema validation but application can disable it */
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- xmlSecErrorsSafeString(xmlSecNodeGetName(cur)),
- XMLSEC_ERRORS_R_INVALID_NODE,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecUnexpectedNodeError(cur, xmlSecKeyDataKlassGetName(id));
return(-1);
}
/* <dsig:KeyValue/> might have only one node */
cur = xmlSecGetNextElementNode(cur->next);
if(cur != NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- xmlSecErrorsSafeString(xmlSecNodeGetName(cur)),
- XMLSEC_ERRORS_R_UNEXPECTED_NODE,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecUnexpectedNodeError(cur, xmlSecKeyDataKlassGetName(id));
return(-1);
}
@@ -967,23 +886,19 @@ xmlSecKeyDataValueXmlWrite(xmlSecKeyDataId id, xmlSecKeyPtr key, xmlNodePtr node
/* create key node */
cur = xmlSecAddChild(node, nodeName, nodeNs);
if(cur == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecAddChild",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeGetName(node)));
+ xmlSecInternalError2("xmlSecAddChild",
+ xmlSecKeyDataKlassGetName(id),
+ "node=%s",
+ xmlSecErrorsSafeString(xmlSecNodeGetName(node)));
return(-1);
}
ret = xmlSecKeyDataXmlWrite(key->value->id, key, cur, keyInfoCtx);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecKeyDataXmlWrite",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeGetName(cur)));
+ xmlSecInternalError2("xmlSecKeyDataXmlWrite",
+ xmlSecKeyDataKlassGetName(id),
+ "node=%s",
+ xmlSecErrorsSafeString(xmlSecNodeGetName(cur)));
return(-1);
}
@@ -1090,13 +1005,11 @@ xmlSecKeyDataRetrievalMethodXmlRead(xmlSecKeyDataId id, xmlSecKeyPtr key, xmlNod
/* check retrieval level */
if(keyInfoCtx->curRetrievalMethodLevel >= keyInfoCtx->maxRetrievalMethodLevel) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- NULL,
- XMLSEC_ERRORS_R_MAX_RETRIEVALS_LEVEL,
- "cur=%d;max=%d",
- keyInfoCtx->curRetrievalMethodLevel,
- keyInfoCtx->maxRetrievalMethodLevel);
+ xmlSecOtherError3(XMLSEC_ERRORS_R_MAX_RETRIEVALS_LEVEL,
+ xmlSecKeyDataKlassGetName(id),
+ "cur=%d;max=%d",
+ keyInfoCtx->curRetrievalMethodLevel,
+ keyInfoCtx->maxRetrievalMethodLevel);
goto done;
}
++keyInfoCtx->curRetrievalMethodLevel;
@@ -1113,14 +1026,12 @@ xmlSecKeyDataRetrievalMethodXmlRead(xmlSecKeyDataId id, xmlSecKeyPtr key, xmlNod
}
}
- /* laxi schema validation but aplication can disable it */
+ /* laxi schema validation but application can disable it */
if(dataId == xmlSecKeyDataIdUnknown) {
if((keyInfoCtx->flags & XMLSEC_KEYINFO_FLAGS_RETRMETHOD_STOP_ON_UNKNOWN_HREF) != 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- xmlSecErrorsSafeString(xmlSecAttrType),
- XMLSEC_ERRORS_R_INVALID_NODE_ATTRIBUTE,
- "value=%s", xmlSecErrorsSafeString(retrType));
+ xmlSecInvalidNodeAttributeError(node, xmlSecAttrType,
+ xmlSecKeyDataKlassGetName(id),
+ "retrieval type is unknown");
} else {
res = 0;
}
@@ -1134,12 +1045,9 @@ xmlSecKeyDataRetrievalMethodXmlRead(xmlSecKeyDataId id, xmlSecKeyPtr key, xmlNod
uri = xmlGetProp(node, xmlSecAttrURI);
ret = xmlSecTransformCtxSetUri(&(keyInfoCtx->retrievalMethodCtx), uri, node);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecTransformCtxSetUri",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "uri=%s",
- xmlSecErrorsSafeString(uri));
+ xmlSecInternalError2("xmlSecTransformCtxSetUri",
+ xmlSecKeyDataKlassGetName(id),
+ "uri=%s", xmlSecErrorsSafeString(uri));
goto done;
}
@@ -1149,23 +1057,17 @@ xmlSecKeyDataRetrievalMethodXmlRead(xmlSecKeyDataId id, xmlSecKeyPtr key, xmlNod
ret = xmlSecTransformCtxNodesListRead(&(keyInfoCtx->retrievalMethodCtx),
cur, xmlSecTransformUsageDSigTransform);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecTransformCtxNodesListRead",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeGetName(cur)));
+ xmlSecInternalError2("xmlSecTransformCtxNodesListRead",
+ xmlSecKeyDataKlassGetName(id),
+ "node=%s",
+ xmlSecErrorsSafeString(xmlSecNodeGetName(cur)));
goto done;
}
cur = xmlSecGetNextElementNode(cur->next);
}
if(cur != NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- xmlSecErrorsSafeString(xmlSecNodeGetName(cur)),
- XMLSEC_ERRORS_R_UNEXPECTED_NODE,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecUnexpectedNodeError(cur, xmlSecKeyDataKlassGetName(id));
goto done;
}
@@ -1175,11 +1077,8 @@ xmlSecKeyDataRetrievalMethodXmlRead(xmlSecKeyDataId id, xmlSecKeyPtr key, xmlNod
(keyInfoCtx->retrievalMethodCtx.result == NULL) ||
(xmlSecBufferGetData(keyInfoCtx->retrievalMethodCtx.result) == NULL)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecTransformCtxExecute",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecTransformCtxExecute",
+ xmlSecKeyDataKlassGetName(id));
goto done;
}
@@ -1193,11 +1092,8 @@ xmlSecKeyDataRetrievalMethodXmlRead(xmlSecKeyDataId id, xmlSecKeyPtr key, xmlNod
xmlSecBufferGetSize(keyInfoCtx->retrievalMethodCtx.result),
keyInfoCtx);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecKeyDataRetrievalMethodReadXmlResult",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeyDataRetrievalMethodReadXmlResult",
+ xmlSecKeyDataKlassGetName(id));
goto done;
}
} else {
@@ -1206,11 +1102,8 @@ xmlSecKeyDataRetrievalMethodXmlRead(xmlSecKeyDataId id, xmlSecKeyPtr key, xmlNod
xmlSecBufferGetSize(keyInfoCtx->retrievalMethodCtx.result),
keyInfoCtx);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecKeyDataBinRead",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeyDataBinRead",
+ xmlSecKeyDataKlassGetName(id));
goto done;
}
}
@@ -1258,21 +1151,13 @@ xmlSecKeyDataRetrievalMethodReadXmlResult(xmlSecKeyDataId typeId, xmlSecKeyPtr k
doc = xmlRecoverMemory((const char*)buffer, bufferSize);
if(doc == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(typeId)),
- "xmlRecoverMemory",
- XMLSEC_ERRORS_R_XML_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecXmlError("xmlRecoverMemory", xmlSecKeyDataKlassGetName(typeId));
return(-1);
}
cur = xmlDocGetRootElement(doc);
if(cur == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(typeId)),
- "xmlDocGetRootElement",
- XMLSEC_ERRORS_R_XML_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecXmlError("xmlDocGetRootElement", xmlSecKeyDataKlassGetName(typeId));
xmlFreeDoc(doc);
return(-1);
}
@@ -1293,22 +1178,16 @@ xmlSecKeyDataRetrievalMethodReadXmlResult(xmlSecKeyDataId typeId, xmlSecKeyPtr k
/* laxi schema validation but application can disable it */
if((keyInfoCtx->flags & XMLSEC_KEYINFO_FLAGS_KEYVALUE_STOP_ON_UNKNOWN_CHILD) != 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(typeId)),
- xmlSecErrorsSafeString(xmlSecNodeGetName(cur)),
- XMLSEC_ERRORS_R_INVALID_NODE,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecUnexpectedNodeError(cur, xmlSecKeyDataKlassGetName(typeId));
return(-1);
}
return(0);
} else if((typeId != xmlSecKeyDataIdUnknown) && (typeId != dataId) &&
((keyInfoCtx->flags & XMLSEC_KEYINFO_FLAGS_RETRMETHOD_STOP_ON_MISMATCH_HREF) != 0)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(typeId)),
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(dataId)),
- XMLSEC_ERRORS_R_MAX_RETRIEVAL_TYPE_MISMATCH,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOtherError2(XMLSEC_ERRORS_R_MAX_RETRIEVAL_TYPE_MISMATCH,
+ xmlSecKeyDataKlassGetName(dataId),
+ "typeId=%s", xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(typeId)));
xmlFreeDoc(doc);
return(-1);
}
@@ -1316,12 +1195,10 @@ xmlSecKeyDataRetrievalMethodReadXmlResult(xmlSecKeyDataId typeId, xmlSecKeyPtr k
/* read data node */
ret = xmlSecKeyDataXmlRead(dataId, key, cur, keyInfoCtx);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(typeId)),
- "xmlSecKeyDataXmlRead",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeGetName(cur)));
+ xmlSecInternalError2("xmlSecKeyDataXmlRead",
+ xmlSecKeyDataKlassGetName(typeId),
+ "node=%s",
+ xmlSecErrorsSafeString(xmlSecNodeGetName(cur)));
xmlFreeDoc(doc);
return(-1);
}
@@ -1420,13 +1297,11 @@ xmlSecKeyDataEncryptedKeyXmlRead(xmlSecKeyDataId id, xmlSecKeyPtr key, xmlNodePt
/* check the enc level */
if(keyInfoCtx->curEncryptedKeyLevel >= keyInfoCtx->maxEncryptedKeyLevel) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- NULL,
- XMLSEC_ERRORS_R_MAX_ENCKEY_LEVEL,
- "cur=%d;max=%d",
- keyInfoCtx->curEncryptedKeyLevel,
- keyInfoCtx->maxEncryptedKeyLevel);
+ xmlSecOtherError3(XMLSEC_ERRORS_R_MAX_ENCKEY_LEVEL,
+ xmlSecKeyDataKlassGetName(id),
+ "cur=%d;max=%d",
+ (int)keyInfoCtx->curEncryptedKeyLevel,
+ (int)keyInfoCtx->maxEncryptedKeyLevel);
return(-1);
}
++keyInfoCtx->curEncryptedKeyLevel;
@@ -1437,11 +1312,8 @@ xmlSecKeyDataEncryptedKeyXmlRead(xmlSecKeyDataId id, xmlSecKeyPtr key, xmlNodePt
} else {
ret = xmlSecKeyInfoCtxCreateEncCtx(keyInfoCtx);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecKeyInfoCtxCreateEncCtx",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeyInfoCtxCreateEncCtx",
+ xmlSecKeyDataKlassGetName(id));
return(-1);
}
}
@@ -1454,11 +1326,8 @@ xmlSecKeyDataEncryptedKeyXmlRead(xmlSecKeyDataId id, xmlSecKeyPtr key, xmlNodePt
* correct enc key.
*/
if((keyInfoCtx->flags & XMLSEC_KEYINFO_FLAGS_ENCKEY_DONT_STOP_ON_FAILED_DECRYPTION) != 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecEncCtxDecryptToBuffer",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecEncCtxDecryptToBuffer",
+ xmlSecKeyDataKlassGetName(id));
return(-1);
}
return(0);
@@ -1469,11 +1338,8 @@ xmlSecKeyDataEncryptedKeyXmlRead(xmlSecKeyDataId id, xmlSecKeyPtr key, xmlNodePt
xmlSecBufferGetSize(result),
keyInfoCtx);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecKeyDataBinRead",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeyDataBinRead",
+ xmlSecKeyDataKlassGetName(id));
return(-1);
}
--keyInfoCtx->curEncryptedKeyLevel;
@@ -1499,21 +1365,15 @@ xmlSecKeyDataEncryptedKeyXmlWrite(xmlSecKeyDataId id, xmlSecKeyPtr key, xmlNodeP
/* dump key to a binary buffer */
ret = xmlSecKeyInfoCtxInitialize(&keyInfoCtx2, NULL);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecKeyInfoCtxInitialize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeyInfoCtxInitialize",
+ xmlSecKeyDataKlassGetName(id));
goto done;
}
ret = xmlSecKeyInfoCtxCopyUserPref(&keyInfoCtx2, keyInfoCtx);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecKeyInfoCtxCopyUserPref",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeyInfoCtxCopyUserPref",
+ xmlSecKeyDataKlassGetName(id));
xmlSecKeyInfoCtxFinalize(&keyInfoCtx2);
goto done;
}
@@ -1521,11 +1381,8 @@ xmlSecKeyDataEncryptedKeyXmlWrite(xmlSecKeyDataId id, xmlSecKeyPtr key, xmlNodeP
keyInfoCtx2.keyReq.keyType = xmlSecKeyDataTypeAny;
ret = xmlSecKeyDataBinWrite(key->value->id, key, &keyBuf, &keySize, &keyInfoCtx2);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecKeyDataBinWrite",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeyDataBinWrite",
+ xmlSecKeyDataKlassGetName(id));
xmlSecKeyInfoCtxFinalize(&keyInfoCtx2);
goto done;
}
@@ -1537,11 +1394,8 @@ xmlSecKeyDataEncryptedKeyXmlWrite(xmlSecKeyDataId id, xmlSecKeyPtr key, xmlNodeP
} else {
ret = xmlSecKeyInfoCtxCreateEncCtx(keyInfoCtx);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecKeyInfoCtxCreateEncCtx",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeyInfoCtxCreateEncCtx",
+ xmlSecKeyDataKlassGetName(id));
goto done;
}
}
@@ -1549,11 +1403,8 @@ xmlSecKeyDataEncryptedKeyXmlWrite(xmlSecKeyDataId id, xmlSecKeyPtr key, xmlNodeP
ret = xmlSecEncCtxBinaryEncrypt(keyInfoCtx->encCtx, node, keyBuf, keySize);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecEncCtxBinaryEncrypt",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecEncCtxBinaryEncrypt",
+ xmlSecKeyDataKlassGetName(id));
goto done;
}
diff --git a/src/keys.c b/src/keys.c
index 456565b..493acb7 100644
--- a/src/keys.c
+++ b/src/keys.c
@@ -1,4 +1,4 @@
-/**
+/*
* XML Security Library (http://www.aleksey.com/xmlsec).
*
* Keys.
@@ -107,34 +107,21 @@ xmlSecKeyUseWithCreate(const xmlChar* application, const xmlChar* identifier) {
/* Allocate a new xmlSecKeyUseWith and fill the fields. */
keyUseWith = (xmlSecKeyUseWithPtr)xmlMalloc(sizeof(xmlSecKeyUseWith));
if(keyUseWith == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- NULL,
- XMLSEC_ERRORS_R_MALLOC_FAILED,
- "sizeof(xmlSecKeyUseWith)=%d",
- (int)sizeof(xmlSecKeyUseWith));
+ xmlSecMallocError(sizeof(xmlSecKeyUseWith), NULL);
return(NULL);
}
memset(keyUseWith, 0, sizeof(xmlSecKeyUseWith));
ret = xmlSecKeyUseWithInitialize(keyUseWith);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecKeyUseWithInitialize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeyUseWithInitialize", NULL);
xmlSecKeyUseWithDestroy(keyUseWith);
return(NULL);
}
ret = xmlSecKeyUseWithSet(keyUseWith, application, identifier);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecKeyUseWithSet",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeyUseWithSet", NULL);
xmlSecKeyUseWithDestroy(keyUseWith);
return(NULL);
}
@@ -161,21 +148,13 @@ xmlSecKeyUseWithDuplicate(xmlSecKeyUseWithPtr keyUseWith) {
newKeyUseWith = xmlSecKeyUseWithCreate(NULL, NULL);
if(newKeyUseWith == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecKeyUseWithCreate",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeyUseWithCreate", NULL);
return(NULL);
}
ret = xmlSecKeyUseWithCopy(newKeyUseWith, keyUseWith);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecKeyUseWithCopy",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeyUseWithCopy", NULL);
xmlSecKeyUseWithDestroy(keyUseWith);
return(NULL);
}
@@ -224,24 +203,14 @@ xmlSecKeyUseWithSet(xmlSecKeyUseWithPtr keyUseWith, const xmlChar* application,
if(application != NULL) {
keyUseWith->application = xmlStrdup(application);
if(keyUseWith->application == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- NULL,
- XMLSEC_ERRORS_R_MALLOC_FAILED,
- "xmlStrlen(application)=%d",
- xmlStrlen(application));
+ xmlSecStrdupError(application, NULL);
return(-1);
}
}
if(identifier != NULL) {
keyUseWith->identifier = xmlStrdup(identifier);
if(keyUseWith->identifier == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- NULL,
- XMLSEC_ERRORS_R_MALLOC_FAILED,
- "xmlStrlen(identifier)=%d",
- xmlStrlen(identifier));
+ xmlSecStrdupError(identifier, NULL);
return(-1);
}
}
@@ -341,11 +310,7 @@ xmlSecKeyReqInitialize(xmlSecKeyReqPtr keyReq) {
keyReq->keyUsage = xmlSecKeyUsageAny; /* by default you can do whatever you want with the key */
ret = xmlSecPtrListInitialize(&keyReq->keyUseWithList, xmlSecKeyUseWithPtrListId);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecPtrListInitialize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecPtrListInitialize", NULL);
return(-1);
}
@@ -408,11 +373,7 @@ xmlSecKeyReqCopy(xmlSecKeyReqPtr dst, xmlSecKeyReqPtr src) {
ret = xmlSecPtrListCopy(&dst->keyUseWithList, &src->keyUseWithList);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecPtrListCopy",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecPtrListCopy", NULL);
return(-1);
}
@@ -543,12 +504,7 @@ xmlSecKeyCreate(void) {
/* Allocate a new xmlSecKey and fill the fields. */
key = (xmlSecKeyPtr)xmlMalloc(sizeof(xmlSecKey));
if(key == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- NULL,
- XMLSEC_ERRORS_R_MALLOC_FAILED,
- "sizeof(xmlSecKey)=%d",
- (int)sizeof(xmlSecKey));
+ xmlSecMallocError(sizeof(xmlSecKey), NULL);
return(NULL);
}
memset(key, 0, sizeof(xmlSecKey));
@@ -614,11 +570,7 @@ xmlSecKeyCopy(xmlSecKeyPtr keyDst, xmlSecKeyPtr keySrc) {
if(keySrc->name != NULL) {
keyDst->name = xmlStrdup(keySrc->name);
if(keyDst->name == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- NULL,
- XMLSEC_ERRORS_R_STRDUP_FAILED,
- "len=%d", xmlStrlen(keySrc->name));
+ xmlSecStrdupError(keySrc->name, NULL);
return(-1);
}
}
@@ -626,11 +578,7 @@ xmlSecKeyCopy(xmlSecKeyPtr keyDst, xmlSecKeyPtr keySrc) {
if(keySrc->value != NULL) {
keyDst->value = xmlSecKeyDataDuplicate(keySrc->value);
if(keyDst->value == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecKeyDataDuplicate",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeyDataDuplicate", NULL);
return(-1);
}
}
@@ -638,11 +586,7 @@ xmlSecKeyCopy(xmlSecKeyPtr keyDst, xmlSecKeyPtr keySrc) {
if(keySrc->dataList != NULL) {
keyDst->dataList = xmlSecPtrListDuplicate(keySrc->dataList);
if(keyDst->dataList == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecPtrListDuplicate",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecPtrListDuplicate", NULL);
return(-1);
}
}
@@ -671,21 +615,13 @@ xmlSecKeyDuplicate(xmlSecKeyPtr key) {
newKey = xmlSecKeyCreate();
if(newKey == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecKeyCreate",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeyCreate", NULL);
return(NULL);
}
ret = xmlSecKeyCopy(newKey, key);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecKeyCopy",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeyCopy", NULL);
xmlSecKeyDestroy(newKey);
return(NULL);
}
@@ -771,11 +707,7 @@ xmlSecKeySetName(xmlSecKeyPtr key, const xmlChar* name) {
if(name != NULL) {
key->name = xmlStrdup(name);
if(key->name == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- NULL,
- XMLSEC_ERRORS_R_STRDUP_FAILED,
- "len=%d", xmlStrlen(name));
+ xmlSecStrdupError(name, NULL);
return(-1);
}
}
@@ -878,23 +810,17 @@ xmlSecKeyEnsureData(xmlSecKeyPtr key, xmlSecKeyDataId dataId) {
data = xmlSecKeyDataCreate(dataId);
if(data == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecKeyDataCreate",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "dataId=%s",
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(dataId)));
+ xmlSecInternalError2("xmlSecKeyDataCreate", NULL,
+ "dataId=%s",
+ xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(dataId)));
return(NULL);
}
ret = xmlSecKeyAdoptData(key, data);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecKeyAdoptData",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "dataId=%s",
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(dataId)));
+ xmlSecInternalError2("xmlSecKeyAdoptData", NULL,
+ "dataId=%s",
+ xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(dataId)));
xmlSecKeyDataDestroy(data);
return(NULL);
}
@@ -932,11 +858,7 @@ xmlSecKeyAdoptData(xmlSecKeyPtr key, xmlSecKeyDataPtr data) {
if(key->dataList == NULL) {
key->dataList = xmlSecPtrListCreate(xmlSecKeyDataListId);
if(key->dataList == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecPtrListCreate",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecPtrListCreate", NULL);
return(-1);
}
}
@@ -1067,43 +989,32 @@ xmlSecKeyGenerate(xmlSecKeyDataId dataId, xmlSecSize sizeBits, xmlSecKeyDataType
data = xmlSecKeyDataCreate(dataId);
if(data == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(dataId)),
- "xmlSecKeyDataCreate",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeyDataCreate",
+ xmlSecKeyDataKlassGetName(dataId));
return(NULL);
}
ret = xmlSecKeyDataGenerate(data, sizeBits, type);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(dataId)),
- "xmlSecKeyDataGenerate",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "size=%d;type=%d", sizeBits, type);
+ xmlSecInternalError3("xmlSecKeyDataGenerate",
+ xmlSecKeyDataKlassGetName(dataId),
+ "size=%d;type=%d", sizeBits, type);
xmlSecKeyDataDestroy(data);
return(NULL);
}
key = xmlSecKeyCreate();
if(key == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(dataId)),
- "xmlSecKeyCreate",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeyCreate",
+ xmlSecKeyDataKlassGetName(dataId));
xmlSecKeyDataDestroy(data);
return(NULL);
}
ret = xmlSecKeySetValue(key, data);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(dataId)),
- "xmlSecKeySetValue",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeySetValue",
+ xmlSecKeyDataKlassGetName(dataId));
xmlSecKeyDataDestroy(data);
xmlSecKeyDestroy(key);
return(NULL);
@@ -1130,11 +1041,7 @@ xmlSecKeyGenerateByName(const xmlChar* name, xmlSecSize sizeBits, xmlSecKeyDataT
dataId = xmlSecKeyDataIdListFindByName(xmlSecKeyDataIdsGet(), name, xmlSecKeyDataUsageAny);
if(dataId == xmlSecKeyDataIdUnknown) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- xmlSecErrorsSafeString(name),
- XMLSEC_ERRORS_R_KEY_DATA_NOT_FOUND,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOtherError(XMLSEC_ERRORS_R_KEY_DATA_NOT_FOUND, name, NULL);
return(NULL);
}
@@ -1162,21 +1069,15 @@ xmlSecKeyReadBuffer(xmlSecKeyDataId dataId, xmlSecBuffer* buffer) {
/* create key data */
key = xmlSecKeyCreate();
if(key == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(dataId)),
- "xmlSecKeyCreate",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeyCreate",
+ xmlSecKeyDataKlassGetName(dataId));
return(NULL);
}
ret = xmlSecKeyInfoCtxInitialize(&keyInfoCtx, NULL);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(dataId)),
- "xmlSecKeyInfoCtxInitialize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeyInfoCtxInitialize",
+ xmlSecKeyDataKlassGetName(dataId));
xmlSecKeyDestroy(key);
return(NULL);
}
@@ -1187,11 +1088,8 @@ xmlSecKeyReadBuffer(xmlSecKeyDataId dataId, xmlSecBuffer* buffer) {
xmlSecBufferGetSize(buffer),
&keyInfoCtx);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(dataId)),
- "xmlSecKeyDataBinRead",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeyDataBinRead",
+ xmlSecKeyDataKlassGetName(dataId));
xmlSecKeyInfoCtxFinalize(&keyInfoCtx);
xmlSecKeyDestroy(key);
return(NULL);
@@ -1222,34 +1120,27 @@ xmlSecKeyReadBinaryFile(xmlSecKeyDataId dataId, const char* filename) {
/* read file to buffer */
ret = xmlSecBufferInitialize(&buffer, 0);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(dataId)),
- "xmlSecBufferInitialize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecBufferInitialize",
+ xmlSecKeyDataKlassGetName(dataId));
return(NULL);
}
ret = xmlSecBufferReadFile(&buffer, filename);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(dataId)),
- "xmlSecBufferReadFile",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "filename=%s",
- xmlSecErrorsSafeString(filename));
+ xmlSecInternalError2("xmlSecBufferReadFile",
+ xmlSecKeyDataKlassGetName(dataId),
+ "filename=%s",
+ xmlSecErrorsSafeString(filename));
xmlSecBufferFinalize(&buffer);
return(NULL);
}
key = xmlSecKeyReadBuffer(dataId, &buffer);
if(key == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(dataId)),
- "xmlSecKeyReadBuffer",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "filename=%s",
- xmlSecErrorsSafeString(filename));
+ xmlSecInternalError2("xmlSecKeyReadBuffer",
+ xmlSecKeyDataKlassGetName(dataId),
+ "filename=%s",
+ xmlSecErrorsSafeString(filename));
xmlSecBufferFinalize(&buffer);
return(NULL);
}
@@ -1281,31 +1172,22 @@ xmlSecKeyReadMemory(xmlSecKeyDataId dataId, const xmlSecByte* data, xmlSecSize d
/* read file to buffer */
ret = xmlSecBufferInitialize(&buffer, 0);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(dataId)),
- "xmlSecBufferInitialize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecBufferInitialize",
+ xmlSecKeyDataKlassGetName(dataId));
return(NULL);
}
if (xmlSecBufferAppend(&buffer, data, dataSize) < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(dataId)),
- "xmlSecBufferAppend",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecBufferAppend",
+ xmlSecKeyDataKlassGetName(dataId));
xmlSecBufferFinalize(&buffer);
return(NULL);
}
key = xmlSecKeyReadBuffer(dataId, &buffer);
if(key == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(dataId)),
- "xmlSecKeyReadBuffer",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeyReadBuffer",
+ xmlSecKeyDataKlassGetName(dataId));
xmlSecBufferFinalize(&buffer);
return(NULL);
}
@@ -1335,23 +1217,17 @@ xmlSecKeysMngrGetKey(xmlNodePtr keyInfoNode, xmlSecKeyInfoCtxPtr keyInfoCtx) {
/* first try to read data from <dsig:KeyInfo/> node */
key = xmlSecKeyCreate();
if(key == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecKeyCreate",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeyCreate", NULL);
return(NULL);
}
if(keyInfoNode != NULL) {
ret = xmlSecKeyInfoNodeRead(keyInfoNode, key, keyInfoCtx);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecKeyInfoNodeRead",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeGetName(keyInfoNode)));
+ xmlSecInternalError2("xmlSecKeyInfoNodeRead",
+ NULL,
+ "node=%s",
+ xmlSecErrorsSafeString(xmlSecNodeGetName(keyInfoNode)));
xmlSecKeyDestroy(key);
return(NULL);
}
@@ -1367,11 +1243,7 @@ xmlSecKeysMngrGetKey(xmlNodePtr keyInfoNode, xmlSecKeyInfoCtxPtr keyInfoCtx) {
if(keyInfoCtx->keysMngr != NULL) {
key = xmlSecKeysMngrFindKey(keyInfoCtx->keysMngr, NULL, keyInfoCtx);
if(key == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecKeysMngrFindKey",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeysMngrFindKey", NULL);
return(NULL);
}
if(xmlSecKeyGetValue(key) != NULL) {
@@ -1380,11 +1252,7 @@ xmlSecKeysMngrGetKey(xmlNodePtr keyInfoNode, xmlSecKeyInfoCtxPtr keyInfoCtx) {
xmlSecKeyDestroy(key);
}
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- NULL,
- XMLSEC_ERRORS_R_KEY_NOT_FOUND,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOtherError(XMLSEC_ERRORS_R_KEY_NOT_FOUND, NULL, NULL);
return(NULL);
}
diff --git a/src/keysdata.c b/src/keysdata.c
index 30c800d..e5fd600 100644
--- a/src/keysdata.c
+++ b/src/keysdata.c
@@ -1,4 +1,4 @@
-/**
+/*
* XML Security Library (http://www.aleksey.com/xmlsec).
*
* Key data.
@@ -59,21 +59,13 @@ xmlSecKeyDataIdsInit(void) {
ret = xmlSecPtrListInitialize(xmlSecKeyDataIdsGet(), xmlSecKeyDataIdListId);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecPtrListPtrInitialize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "xmlSecKeyDataIdListId");
+ xmlSecInternalError("xmlSecPtrListPtrInitialize(xmlSecKeyDataIdListId)", NULL);
return(-1);
}
ret = xmlSecKeyDataIdsRegisterDefault();
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecKeyDataIdsRegisterDefault",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeyDataIdsRegisterDefault", NULL);
return(-1);
}
@@ -107,12 +99,8 @@ xmlSecKeyDataIdsRegister(xmlSecKeyDataId id) {
ret = xmlSecPtrListAdd(xmlSecKeyDataIdsGet(), (xmlSecPtr)id);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecPtrListAdd",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "dataId=%s",
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)));
+ xmlSecInternalError("xmlSecPtrListAdd",
+ xmlSecKeyDataKlassGetName(id));
return(-1);
}
@@ -131,39 +119,23 @@ xmlSecKeyDataIdsRegister(xmlSecKeyDataId id) {
int
xmlSecKeyDataIdsRegisterDefault(void) {
if(xmlSecKeyDataIdsRegister(xmlSecKeyDataNameId) < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecKeyDataIdsRegister",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "xmlSecKeyDataNameId");
+ xmlSecInternalError("xmlSecKeyDataIdsRegister(xmlSecKeyDataNameId)", NULL);
return(-1);
}
if(xmlSecKeyDataIdsRegister(xmlSecKeyDataValueId) < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecKeyDataIdsRegister",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "xmlSecKeyDataValueId");
+ xmlSecInternalError("xmlSecKeyDataIdsRegister(xmlSecKeyDataValueId)", NULL);
return(-1);
}
if(xmlSecKeyDataIdsRegister(xmlSecKeyDataRetrievalMethodId) < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecKeyDataIdsRegister",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "xmlSecKeyDataRetrievalMethodId");
+ xmlSecInternalError("xmlSecKeyDataIdsRegister(xmlSecKeyDataRetrievalMethodId", NULL);
return(-1);
}
#ifndef XMLSEC_NO_XMLENC
if(xmlSecKeyDataIdsRegister(xmlSecKeyDataEncryptedKeyId) < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecKeyDataIdsRegister",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "xmlSecKeyDataEncryptedKeyId");
+ xmlSecInternalError("xmlSecKeyDataIdsRegister(xmlSecKeyDataEncryptedKeyId)", NULL);
return(-1);
}
#endif /* XMLSEC_NO_XMLENC */
@@ -200,11 +172,8 @@ xmlSecKeyDataCreate(xmlSecKeyDataId id) {
/* Allocate a new xmlSecKeyData and fill the fields. */
data = (xmlSecKeyDataPtr)xmlMalloc(id->objSize);
if(data == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- NULL,
- XMLSEC_ERRORS_R_MALLOC_FAILED,
- "size=%d", id->objSize);
+ xmlSecMallocError(id->objSize,
+ xmlSecKeyDataKlassGetName(id));
return(NULL);
}
memset(data, 0, id->objSize);
@@ -213,11 +182,8 @@ xmlSecKeyDataCreate(xmlSecKeyDataId id) {
if(id->initialize != NULL) {
ret = (id->initialize)(data);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "id->initialize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("id->initialize",
+ xmlSecKeyDataKlassGetName(id));
xmlSecKeyDataDestroy(data);
return(NULL);
}
@@ -246,21 +212,15 @@ xmlSecKeyDataDuplicate(xmlSecKeyDataPtr data) {
newData = xmlSecKeyDataCreate(data->id);
if(newData == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- "xmlSecKeyDataCreate",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeyDataCreate",
+ xmlSecKeyDataGetName(data));
return(NULL);
}
ret = (data->id->duplicate)(newData, data);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- "id->duplicate",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("id->duplicate",
+ xmlSecKeyDataGetName(data));
xmlSecKeyDataDestroy(newData);
return(NULL);
}
@@ -398,11 +358,9 @@ xmlSecKeyDataGenerate(xmlSecKeyDataPtr data, xmlSecSize sizeBits,
/* write data */
ret = data->id->generate(data, sizeBits, type);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- "id->generate",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "size=%d", sizeBits);
+ xmlSecInternalError2("id->generate",
+ xmlSecKeyDataGetName(data),
+ "size=%d", sizeBits);
return(-1);
}
return(0);
@@ -517,11 +475,8 @@ xmlSecKeyDataBinaryValueInitialize(xmlSecKeyDataPtr data) {
ret = xmlSecBufferInitialize(buffer, 0);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- "xmlSecBufferInitialize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecBufferInitialize",
+ xmlSecKeyDataGetName(data));
return(-1);
}
@@ -555,11 +510,8 @@ xmlSecKeyDataBinaryValueDuplicate(xmlSecKeyDataPtr dst, xmlSecKeyDataPtr src) {
xmlSecBufferGetData(buffer),
xmlSecBufferGetSize(buffer));
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(dst)),
- "xmlSecKeyDataBinaryValueSetBuffer",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeyDataBinaryValueSetBuffer",
+ xmlSecKeyDataGetName(dst));
return(-1);
}
@@ -612,22 +564,15 @@ xmlSecKeyDataBinaryValueXmlRead(xmlSecKeyDataId id, xmlSecKeyPtr key,
str = xmlNodeGetContent(node);
if(str == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- xmlSecErrorsSafeString(xmlSecNodeGetName(node)),
- XMLSEC_ERRORS_R_INVALID_NODE_CONTENT,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInvalidNodeContentError(node, xmlSecKeyDataKlassGetName(id), "empty");
return(-1);
}
/* usual trick: decode into the same buffer */
ret = xmlSecBase64Decode(str, (xmlSecByte*)str, xmlStrlen(str));
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecBase64Decode",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecBase64Decode",
+ xmlSecKeyDataKlassGetName(id));
xmlFree(str);
return(-1);
}
@@ -639,32 +584,28 @@ xmlSecKeyDataBinaryValueXmlRead(xmlSecKeyDataId id, xmlSecKeyPtr key,
xmlSecBufferPtr buffer;
if(!xmlSecKeyDataCheckId(data, id)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- XMLSEC_ERRORS_R_KEY_DATA_ALREADY_EXIST,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOtherError2(XMLSEC_ERRORS_R_KEY_DATA_ALREADY_EXIST,
+ xmlSecKeyDataGetName(data),
+ "id=%s",
+ xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)));
xmlFree(str);
return(-1);
}
buffer = xmlSecKeyDataBinaryValueGetBuffer(data);
- if((buffer != NULL) && ((xmlSecSize)xmlSecBufferGetSize(buffer) != len)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- XMLSEC_ERRORS_R_KEY_DATA_ALREADY_EXIST,
- "cur-data-size=%d;new-data-size=%d",
- xmlSecBufferGetSize(buffer), len);
+ if((buffer != NULL) && (xmlSecBufferGetSize(buffer) != len)) {
+ xmlSecOtherError3(XMLSEC_ERRORS_R_KEY_DATA_ALREADY_EXIST,
+ xmlSecKeyDataGetName(data),
+ "cur-data-size=%lu;new-data-size=%lu",
+ (unsigned long)xmlSecBufferGetSize(buffer),
+ (unsigned long)len);
xmlFree(str);
return(-1);
}
if((buffer != NULL) && (len > 0) && (memcmp(xmlSecBufferGetData(buffer), str, len) != 0)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- XMLSEC_ERRORS_R_KEY_DATA_ALREADY_EXIST,
- "key already has a different value");
+ xmlSecOtherError(XMLSEC_ERRORS_R_KEY_DATA_ALREADY_EXIST,
+ xmlSecKeyDataGetName(data),
+ "key already has a different value");
xmlFree(str);
return(-1);
}
@@ -680,22 +621,17 @@ xmlSecKeyDataBinaryValueXmlRead(xmlSecKeyDataId id, xmlSecKeyPtr key,
data = xmlSecKeyDataCreate(id);
if(data == NULL ) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecKeyDataCreate",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeyDataCreate",
+ xmlSecKeyDataKlassGetName(id));
xmlFree(str);
return(-1);
}
ret = xmlSecKeyDataBinaryValueSetBuffer(data, (xmlSecByte*)str, len);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecKeyDataBinaryValueSetBuffer",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "size=%d", len);
+ xmlSecInternalError2("xmlSecKeyDataBinaryValueSetBuffer",
+ xmlSecKeyDataKlassGetName(id),
+ "size=%d", len);
xmlSecKeyDataDestroy(data);
xmlFree(str);
return(-1);
@@ -703,22 +639,16 @@ xmlSecKeyDataBinaryValueXmlRead(xmlSecKeyDataId id, xmlSecKeyPtr key,
xmlFree(str);
if(xmlSecKeyReqMatchKeyValue(&(keyInfoCtx->keyReq), data) != 1) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecKeyReqMatchKeyValue",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeyReqMatchKeyValue",
+ xmlSecKeyDataKlassGetName(id));
xmlSecKeyDataDestroy(data);
return(0);
}
ret = xmlSecKeySetValue(key, data);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecKeySetValue",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeySetValue",
+ xmlSecKeyDataKlassGetName(id));
xmlSecKeyDataDestroy(data);
return(-1);
}
@@ -765,11 +695,8 @@ xmlSecKeyDataBinaryValueXmlWrite(xmlSecKeyDataId id, xmlSecKeyPtr key,
xmlSecBufferGetSize(buffer),
keyInfoCtx->base64LineSize);
if(str == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecBase64Encode",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecBase64Encode",
+ xmlSecKeyDataKlassGetName(id));
return(-1);
}
xmlNodeSetContent(node, str);
@@ -808,30 +735,26 @@ xmlSecKeyDataBinaryValueBinRead(xmlSecKeyDataId id, xmlSecKeyPtr key,
xmlSecBufferPtr buffer;
if(!xmlSecKeyDataCheckId(data, id)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- XMLSEC_ERRORS_R_KEY_DATA_ALREADY_EXIST,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOtherError2(XMLSEC_ERRORS_R_KEY_DATA_ALREADY_EXIST,
+ xmlSecKeyDataGetName(data),
+ "id=%s",
+ xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)));
return(-1);
}
buffer = xmlSecKeyDataBinaryValueGetBuffer(data);
- if((buffer != NULL) && ((xmlSecSize)xmlSecBufferGetSize(buffer) != bufSize)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- XMLSEC_ERRORS_R_KEY_DATA_ALREADY_EXIST,
- "cur-data-size=%d;new-data-size=%d",
- xmlSecBufferGetSize(buffer), bufSize);
+ if((buffer != NULL) && (xmlSecBufferGetSize(buffer) != bufSize)) {
+ xmlSecOtherError3(XMLSEC_ERRORS_R_KEY_DATA_ALREADY_EXIST,
+ xmlSecKeyDataGetName(data),
+ "cur-data-size=%lu;new-data-size=%lu",
+ (unsigned long)xmlSecBufferGetSize(buffer),
+ (unsigned long)bufSize);
return(-1);
}
if((buffer != NULL) && (bufSize > 0) && (memcmp(xmlSecBufferGetData(buffer), buf, bufSize) != 0)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- XMLSEC_ERRORS_R_KEY_DATA_ALREADY_EXIST,
- "key already has a different value");
+ xmlSecOtherError(XMLSEC_ERRORS_R_KEY_DATA_ALREADY_EXIST,
+ xmlSecKeyDataGetName(data),
+ "key already has a different value");
return(-1);
}
if(buffer != NULL) {
@@ -844,42 +767,31 @@ xmlSecKeyDataBinaryValueBinRead(xmlSecKeyDataId id, xmlSecKeyPtr key,
data = xmlSecKeyDataCreate(id);
if(data == NULL ) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecKeyDataCreate",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeyDataCreate",
+ xmlSecKeyDataKlassGetName(id));
return(-1);
}
ret = xmlSecKeyDataBinaryValueSetBuffer(data, buf, bufSize);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecKeyDataBinaryValueSetBuffer",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "size=%d", bufSize);
+ xmlSecInternalError2("xmlSecKeyDataBinaryValueSetBuffer",
+ xmlSecKeyDataKlassGetName(id),
+ "size=%d", bufSize);
xmlSecKeyDataDestroy(data);
return(-1);
}
if(xmlSecKeyReqMatchKeyValue(&(keyInfoCtx->keyReq), data) != 1) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecKeyReqMatchKeyValue",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeyReqMatchKeyValue",
+ xmlSecKeyDataKlassGetName(id));
xmlSecKeyDataDestroy(data);
return(0);
}
ret = xmlSecKeySetValue(key, data);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecKeySetValue",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeySetValue",
+ xmlSecKeyDataKlassGetName(id));
xmlSecKeyDataDestroy(data);
return(-1);
}
@@ -926,11 +838,8 @@ xmlSecKeyDataBinaryValueBinWrite(xmlSecKeyDataId id, xmlSecKeyPtr key,
(*bufSize) = xmlSecBufferGetSize(buffer);
(*buf) = (xmlSecByte*) xmlMalloc((*bufSize));
if((*buf) == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- NULL,
- XMLSEC_ERRORS_R_MALLOC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecMallocError((*bufSize),
+ xmlSecKeyDataKlassGetName(id));
return(-1);
}
memcpy((*buf), xmlSecBufferGetData(buffer), (*bufSize));
@@ -1314,11 +1223,8 @@ xmlSecKeyDataStoreCreate(xmlSecKeyDataStoreId id) {
/* Allocate a new xmlSecKeyDataStore and fill the fields. */
store = (xmlSecKeyDataStorePtr)xmlMalloc(id->objSize);
if(store == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataStoreKlassGetName(id)),
- NULL,
- XMLSEC_ERRORS_R_MALLOC_FAILED,
- "size=%d", id->objSize);
+ xmlSecMallocError(id->objSize,
+ xmlSecKeyDataStoreKlassGetName(id));
return(NULL);
}
memset(store, 0, id->objSize);
@@ -1327,11 +1233,8 @@ xmlSecKeyDataStoreCreate(xmlSecKeyDataStoreId id) {
if(id->initialize != NULL) {
ret = (id->initialize)(store);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataStoreKlassGetName(id)),
- "id->initialize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("id->initialize",
+ xmlSecKeyDataStoreKlassGetName(id));
xmlSecKeyDataStoreDestroy(store);
return(NULL);
}
diff --git a/src/keysmngr.c b/src/keysmngr.c
index 5315203..6a1b441 100644
--- a/src/keysmngr.c
+++ b/src/keysmngr.c
@@ -1,4 +1,4 @@
-/**
+/*
* XML Security Library (http://www.aleksey.com/xmlsec).
*
* Keys Manager.
@@ -48,23 +48,14 @@ xmlSecKeysMngrCreate(void) {
/* Allocate a new xmlSecKeysMngr and fill the fields. */
mngr = (xmlSecKeysMngrPtr)xmlMalloc(sizeof(xmlSecKeysMngr));
if(mngr == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- NULL,
- XMLSEC_ERRORS_R_MALLOC_FAILED,
- "sizeof(xmlSecKeysMngr)=%d",
- (int)sizeof(xmlSecKeysMngr));
+ xmlSecMallocError(sizeof(xmlSecKeysMngr), NULL);
return(NULL);
}
memset(mngr, 0, sizeof(xmlSecKeysMngr));
ret = xmlSecPtrListInitialize(&(mngr->storesList), xmlSecKeyDataStorePtrListId);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecPtrListInitialize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "xmlSecKeyDataStorePtrListId");
+ xmlSecInternalError("xmlSecPtrListInitialize(xmlSecKeyDataStorePtrListId)", NULL);
return(NULL);
}
@@ -241,11 +232,8 @@ xmlSecKeyStoreCreate(xmlSecKeyStoreId id) {
/* Allocate a new xmlSecKeyStore and fill the fields. */
store = (xmlSecKeyStorePtr)xmlMalloc(id->objSize);
if(store == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyStoreKlassGetName(id)),
- NULL,
- XMLSEC_ERRORS_R_MALLOC_FAILED,
- "size=%d", id->objSize);
+ xmlSecMallocError(id->objSize,
+ xmlSecKeyStoreKlassGetName(id));
return(NULL);
}
memset(store, 0, id->objSize);
@@ -254,11 +242,8 @@ xmlSecKeyStoreCreate(xmlSecKeyStoreId id) {
if(id->initialize != NULL) {
ret = (id->initialize)(store);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyStoreKlassGetName(id)),
- "id->initialize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("id->initialize",
+ xmlSecKeyStoreKlassGetName(id));
xmlSecKeyStoreDestroy(store);
return(NULL);
}
@@ -376,11 +361,8 @@ xmlSecSimpleKeysStoreAdoptKey(xmlSecKeyStorePtr store, xmlSecKeyPtr key) {
ret = xmlSecPtrListAdd(list, key);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyStoreGetName(store)),
- "xmlSecPtrListAdd",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecPtrListAdd",
+ xmlSecKeyStoreGetName(store));
return(-1);
}
@@ -412,22 +394,15 @@ xmlSecSimpleKeysStoreLoad(xmlSecKeyStorePtr store, const char *uri,
doc = xmlParseFile(uri);
if(doc == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyStoreGetName(store)),
- "xmlParseFile",
- XMLSEC_ERRORS_R_XML_FAILED,
- "uri=%s",
- xmlSecErrorsSafeString(uri));
+ xmlSecXmlError2("xmlParseFile", xmlSecKeyStoreGetName(store),
+ "uri=%s", xmlSecErrorsSafeString(uri));
return(-1);
}
root = xmlDocGetRootElement(doc);
if(!xmlSecCheckNodeName(root, BAD_CAST "Keys", xmlSecNs)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyStoreGetName(store)),
- xmlSecErrorsSafeString(xmlSecNodeGetName(root)),
- XMLSEC_ERRORS_R_INVALID_NODE,
- "expected-node=<xmlsec:Keys>");
+ xmlSecInvalidNodeError(root, BAD_CAST "Keys",
+ xmlSecKeyStoreGetName(store));
xmlFreeDoc(doc);
return(-1);
}
@@ -436,23 +411,16 @@ xmlSecSimpleKeysStoreLoad(xmlSecKeyStorePtr store, const char *uri,
while((cur != NULL) && xmlSecCheckNodeName(cur, xmlSecNodeKeyInfo, xmlSecDSigNs)) {
key = xmlSecKeyCreate();
if(key == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyStoreGetName(store)),
- xmlSecErrorsSafeString(xmlSecNodeGetName(cur)),
- XMLSEC_ERRORS_R_INVALID_NODE,
- "expected-node=%s",
- xmlSecErrorsSafeString(xmlSecNodeKeyInfo));
+ xmlSecInternalError("xmlSecKeyCreate",
+ xmlSecKeyStoreGetName(store));
xmlFreeDoc(doc);
return(-1);
}
ret = xmlSecKeyInfoCtxInitialize(&keyInfoCtx, NULL);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyStoreGetName(store)),
- "xmlSecKeyInfoCtxInitialize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeyInfoCtxInitialize",
+ xmlSecKeyStoreGetName(store));
xmlSecKeyDestroy(key);
xmlFreeDoc(doc);
return(-1);
@@ -468,11 +436,8 @@ xmlSecSimpleKeysStoreLoad(xmlSecKeyStorePtr store, const char *uri,
ret = xmlSecKeyInfoNodeRead(cur, key, &keyInfoCtx);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyStoreGetName(store)),
- "xmlSecKeyInfoNodeRead",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeyInfoNodeRead",
+ xmlSecKeyStoreGetName(store));
xmlSecKeyInfoCtxFinalize(&keyInfoCtx);
xmlSecKeyDestroy(key);
xmlFreeDoc(doc);
@@ -483,11 +448,8 @@ xmlSecSimpleKeysStoreLoad(xmlSecKeyStorePtr store, const char *uri,
if(xmlSecKeyIsValid(key)) {
ret = xmlSecSimpleKeysStoreAdoptKey(store, key);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyStoreGetName(store)),
- "xmlSecSimpleKeysStoreAdoptKey",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecSimpleKeysStoreAdoptKey",
+ xmlSecKeyStoreGetName(store));
xmlSecKeyDestroy(key);
xmlFreeDoc(doc);
return(-1);
@@ -500,11 +462,7 @@ xmlSecSimpleKeysStoreLoad(xmlSecKeyStorePtr store, const char *uri,
}
if(cur != NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyStoreGetName(store)),
- xmlSecErrorsSafeString(xmlSecNodeGetName(cur)),
- XMLSEC_ERRORS_R_UNEXPECTED_NODE,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecUnexpectedNodeError(cur, xmlSecKeyStoreGetName(store));
xmlFreeDoc(doc);
return(-1);
}
@@ -547,11 +505,8 @@ xmlSecSimpleKeysStoreSave(xmlSecKeyStorePtr store, const char *filename, xmlSecK
/* create doc */
doc = xmlSecCreateTree(BAD_CAST "Keys", xmlSecNs);
if(doc == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyStoreGetName(store)),
- "xmlSecCreateTree",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecCreateTree",
+ xmlSecKeyStoreGetName(store));
return(-1);
}
@@ -566,12 +521,10 @@ xmlSecSimpleKeysStoreSave(xmlSecKeyStorePtr store, const char *filename, xmlSecK
cur = xmlSecAddChild(xmlDocGetRootElement(doc), xmlSecNodeKeyInfo, xmlSecDSigNs);
if(cur == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyStoreGetName(store)),
- "xmlSecAddChild",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeKeyInfo));
+ xmlSecInternalError2("xmlSecAddChild",
+ xmlSecKeyStoreGetName(store),
+ "node=%s",
+ xmlSecErrorsSafeString(xmlSecNodeKeyInfo));
xmlFreeDoc(doc);
return(-1);
}
@@ -579,12 +532,10 @@ xmlSecSimpleKeysStoreSave(xmlSecKeyStorePtr store, const char *filename, xmlSecK
/* special data key name */
if(xmlSecKeyGetName(key) != NULL) {
if(xmlSecAddChild(cur, xmlSecNodeKeyName, xmlSecDSigNs) == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyStoreGetName(store)),
- "xmlSecAddChild",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeKeyName));
+ xmlSecInternalError2("xmlSecAddChild",
+ xmlSecKeyStoreGetName(store),
+ "node=%s",
+ xmlSecErrorsSafeString(xmlSecNodeKeyName));
xmlFreeDoc(doc);
return(-1);
}
@@ -605,12 +556,9 @@ xmlSecSimpleKeysStoreSave(xmlSecKeyStorePtr store, const char *filename, xmlSecK
}
if(xmlSecAddChild(cur, dataId->dataNodeName, dataId->dataNodeNs) == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyStoreGetName(store)),
- "xmlSecAddChild",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(dataId->dataNodeName));
+ xmlSecInternalError2("xmlSecAddChild",
+ xmlSecKeyStoreGetName(store),
+ "node=%s", xmlSecErrorsSafeString(dataId->dataNodeName));
xmlFreeDoc(doc);
return(-1);
}
@@ -618,11 +566,8 @@ xmlSecSimpleKeysStoreSave(xmlSecKeyStorePtr store, const char *filename, xmlSecK
ret = xmlSecKeyInfoCtxInitialize(&keyInfoCtx, NULL);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyStoreGetName(store)),
- "xmlSecKeyInfoCtxInitialize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeyInfoCtxInitialize",
+ xmlSecKeyStoreGetName(store));
xmlFreeDoc(doc);
return(-1);
}
@@ -635,11 +580,8 @@ xmlSecSimpleKeysStoreSave(xmlSecKeyStorePtr store, const char *filename, xmlSecK
/* finally write key in the node */
ret = xmlSecKeyInfoNodeWrite(cur, key, &keyInfoCtx);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyStoreGetName(store)),
- "xmlSecKeyInfoNodeWrite",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeyInfoNodeWrite",
+ xmlSecKeyStoreGetName(store));
xmlSecKeyInfoCtxFinalize(&keyInfoCtx);
xmlFreeDoc(doc);
return(-1);
@@ -650,12 +592,8 @@ xmlSecSimpleKeysStoreSave(xmlSecKeyStorePtr store, const char *filename, xmlSecK
/* now write result */
ret = xmlSaveFormatFile(filename, doc, 1);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyStoreGetName(store)),
- "xmlSaveFormatFile",
- XMLSEC_ERRORS_R_XML_FAILED,
- "filename=%s",
- xmlSecErrorsSafeString(filename));
+ xmlSecXmlError2("xmlSaveFormatFile", xmlSecKeyStoreGetName(store),
+ "filename=%s", xmlSecErrorsSafeString(filename));
xmlFreeDoc(doc);
return(-1);
}
@@ -697,11 +635,8 @@ xmlSecSimpleKeysStoreInitialize(xmlSecKeyStorePtr store) {
ret = xmlSecPtrListInitialize(list, xmlSecKeyPtrListId);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyStoreGetName(store)),
- "xmlSecPtrListInitialize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "xmlSecKeyPtrListId");
+ xmlSecInternalError("xmlSecPtrListInitialize(xmlSecKeyPtrListId)",
+ xmlSecKeyStoreGetName(store));
return(-1);
}
diff --git a/src/kw_aes_des.c b/src/kw_aes_des.c
index 93a83d7..34c323c 100644
--- a/src/kw_aes_des.c
+++ b/src/kw_aes_des.c
@@ -1,4 +1,4 @@
-/**
+/*
* XML Security Library (http://www.aleksey.com/xmlsec).
*
* Implementation of AES/DES Key Transport algorithm
@@ -94,11 +94,7 @@ xmlSecKWDes3Encode(xmlSecKWDes3Id kwDes3Id, void *context,
/* step 2: calculate sha1 and CMS */
ret = kwDes3Id->sha1(context, in, inSize, sha1, sizeof(sha1));
if((ret < 0) || (ret != sizeof(sha1))) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "kwDes3Id->sha1",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "ret=%d", ret);
+ xmlSecInternalError("kwDes3Id->sha1", NULL);
return(-1);
}
@@ -109,11 +105,7 @@ xmlSecKWDes3Encode(xmlSecKWDes3Id kwDes3Id, void *context,
/* step 4: generate random iv */
ret = kwDes3Id->generateRandom(context, iv, sizeof(iv));
if((ret < 0) || (ret != sizeof(iv))) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "kwDes3Id->generateRandom",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "ret=%d", ret);
+ xmlSecInternalError("kwDes3Id->generateRandom", NULL);
return(-1);
}
@@ -123,11 +115,7 @@ xmlSecKWDes3Encode(xmlSecKWDes3Id kwDes3Id, void *context,
out, inSize + XMLSEC_KW_DES3_BLOCK_LENGTH,
out, outSize);
if((ret < 0) || ((xmlSecSize)ret != inSize + XMLSEC_KW_DES3_BLOCK_LENGTH)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "kwDes3Id->encrypt",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "ret=%d", ret);
+ xmlSecInternalError("kwDes3Id->encrypt", NULL);
return(-1);
}
@@ -139,11 +127,7 @@ xmlSecKWDes3Encode(xmlSecKWDes3Id kwDes3Id, void *context,
/* step 7: reverse octets order, result is TEMP3 */
ret = xmlSecKWDes3BufferReverse(out, s);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecKWDes3BufferReverse",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "ret=%d", ret);
+ xmlSecInternalError("xmlSecKWDes3BufferReverse", NULL);
return(-1);
}
@@ -153,11 +137,7 @@ xmlSecKWDes3Encode(xmlSecKWDes3Id kwDes3Id, void *context,
out, s,
out, outSize);
if((ret < 0) || ((xmlSecSize)ret != s)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "kwDes3Id->encrypt",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "ret=%d", ret);
+ xmlSecInternalError("kwDes3Id->encrypt", NULL);
return(-1);
}
@@ -186,11 +166,7 @@ xmlSecKWDes3Decode(xmlSecKWDes3Id kwDes3Id, void *context,
/* step 2: first decryption with static IV, result is TEMP3 */
tmp = xmlSecBufferCreate(inSize);
if(tmp == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecBufferCreate",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "inSize=%d", (int)inSize);
+ xmlSecInternalError2("xmlSecBufferCreate", NULL, "inSize=%d", (int)inSize);
return(-1);
}
@@ -199,11 +175,7 @@ xmlSecKWDes3Decode(xmlSecKWDes3Id kwDes3Id, void *context,
in, inSize,
xmlSecBufferGetData(tmp), xmlSecBufferGetMaxSize(tmp));
if((ret < 0) || (ret < XMLSEC_KW_DES3_IV_LENGTH)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "kwDes3Id->decrypt",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "ret=%d", ret);
+ xmlSecInternalError("kwDes3Id->decrypt", NULL);
xmlSecBufferDestroy(tmp);
return(-1);
}
@@ -212,11 +184,7 @@ xmlSecKWDes3Decode(xmlSecKWDes3Id kwDes3Id, void *context,
/* step 3: reverse octets order in TEMP3, result is TEMP2 */
ret = xmlSecKWDes3BufferReverse(xmlSecBufferGetData(tmp), s);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecKWDes3BufferReverse",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "ret=%d", ret);
+ xmlSecInternalError("xmlSecKWDes3BufferReverse", NULL);
xmlSecBufferDestroy(tmp);
return(-1);
}
@@ -227,11 +195,7 @@ xmlSecKWDes3Decode(xmlSecKWDes3Id kwDes3Id, void *context,
xmlSecBufferGetData(tmp) + XMLSEC_KW_DES3_IV_LENGTH, s - XMLSEC_KW_DES3_IV_LENGTH,
out, outSize);
if((ret < 0) || (ret < XMLSEC_KW_DES3_BLOCK_LENGTH)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "kwDes3Id->decrypt",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "ret=%d", ret);
+ xmlSecInternalError("kwDes3Id->decrypt", NULL);
xmlSecBufferDestroy(tmp);
return(-1);
}
@@ -242,11 +206,7 @@ xmlSecKWDes3Decode(xmlSecKWDes3Id kwDes3Id, void *context,
out, s,
sha1, sizeof(sha1));
if((ret < 0) || (ret != sizeof(sha1))) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "kwDes3Id->sha1",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "ret=%d", ret);
+ xmlSecInternalError("kwDes3Id->sha1", NULL);
xmlSecBufferDestroy(tmp);
return(-1);
}
@@ -254,11 +214,7 @@ xmlSecKWDes3Decode(xmlSecKWDes3Id kwDes3Id, void *context,
/* check sha1 */
xmlSecAssert2(XMLSEC_KW_DES3_BLOCK_LENGTH <= sizeof(sha1), -1);
if(memcmp(sha1, out + s, XMLSEC_KW_DES3_BLOCK_LENGTH) != 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- NULL,
- XMLSEC_ERRORS_R_INVALID_DATA,
- "SHA1 does not match");
+ xmlSecInvalidDataError("SHA1 does not match", NULL);
xmlSecBufferDestroy(tmp);
return(-1);
}
@@ -396,11 +352,7 @@ xmlSecKWAesEncode(xmlSecKWAesId kwAesId, void *context,
if(N == 1) {
ret = kwAesId->encrypt(out, inSize + XMLSEC_KW_AES_MAGIC_BLOCK_SIZE, out, outSize, context);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "kwAesId->encrypt",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("kwAesId->encrypt", NULL);
return(-1);
}
} else {
@@ -414,11 +366,7 @@ xmlSecKWAesEncode(xmlSecKWAesId kwAesId, void *context,
ret = kwAesId->encrypt(block, sizeof(block), block, sizeof(block), context);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "kwAesId->encrypt",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("kwAesId->encrypt", NULL);
return(-1);
}
block[7] ^= t;
@@ -458,11 +406,7 @@ xmlSecKWAesDecode(xmlSecKWAesId kwAesId, void *context,
if(N == 1) {
ret = kwAesId->decrypt(out, inSize, out, outSize, context);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "kwAesId->decrypt",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("kwAesId->decrypt", NULL);
return(-1);
}
} else {
@@ -477,11 +421,7 @@ xmlSecKWAesDecode(xmlSecKWAesId kwAesId, void *context,
ret = kwAesId->decrypt(block, sizeof(block), block, sizeof(block), context);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "kwAesId->decrypt",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("kwAesId->decrypt", NULL);
return(-1);
}
memcpy(out, block, 8);
@@ -494,11 +434,7 @@ xmlSecKWAesDecode(xmlSecKWAesId kwAesId, void *context,
/* check the output */
if(memcmp(xmlSecKWAesMagicBlock, out, XMLSEC_KW_AES_MAGIC_BLOCK_SIZE) != 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- NULL,
- XMLSEC_ERRORS_R_INVALID_DATA,
- "bad magic block");
+ xmlSecInvalidDataError("bad magic block", NULL);
return(-1);
}
diff --git a/src/kw_aes_des.h b/src/kw_aes_des.h
index 19c9851..58eba88 100644
--- a/src/kw_aes_des.h
+++ b/src/kw_aes_des.h
@@ -1,5 +1,5 @@
-/**
- * XMLSec library
+/*
+ * XML Security Library (http://www.aleksey.com/xmlsec).
*
* THIS IS A PRIVATE XMLSEC HEADER FILE
* DON'T USE IT IN YOUR APPLICATION
diff --git a/src/list.c b/src/list.c
index 40650ca..3214f98 100644
--- a/src/list.c
+++ b/src/list.c
@@ -1,4 +1,4 @@
-/**
+/*
* XML Security Library (http://www.aleksey.com/xmlsec).
*
* List of pointers.
@@ -60,22 +60,15 @@ xmlSecPtrListCreate(xmlSecPtrListId id) {
/* Allocate a new xmlSecPtrList and fill the fields. */
list = (xmlSecPtrListPtr)xmlMalloc(sizeof(xmlSecPtrList));
if(list == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecPtrListKlassGetName(id)),
- NULL,
- XMLSEC_ERRORS_R_MALLOC_FAILED,
- "sizeof(xmlSecPtrList)=%d",
- (int)sizeof(xmlSecPtrList));
+ xmlSecMallocError(sizeof(xmlSecPtrList),
+ xmlSecPtrListKlassGetName(id));
return(NULL);
}
ret = xmlSecPtrListInitialize(list, id);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecPtrListKlassGetName(id)),
- "xmlSecPtrListInitialize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecPtrListInitialize",
+ xmlSecPtrListKlassGetName(id));
xmlFree(list);
return(NULL);
}
@@ -186,11 +179,9 @@ xmlSecPtrListCopy(xmlSecPtrListPtr dst, xmlSecPtrListPtr src) {
/* allocate memory */
ret = xmlSecPtrListEnsureSize(dst, dst->use + src->use);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecPtrListGetName(src)),
- "xmlSecPtrListEnsureSize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "size=%d", src->use);
+ xmlSecInternalError2("xmlSecPtrListEnsureSize",
+ xmlSecPtrListGetName(src),
+ "size=%d", src->use);
return(-1);
}
@@ -202,11 +193,8 @@ xmlSecPtrListCopy(xmlSecPtrListPtr dst, xmlSecPtrListPtr src) {
if((dst->id->duplicateItem != NULL) && (src->data[i] != NULL)) {
dst->data[dst->use] = dst->id->duplicateItem(src->data[i]);
if(dst->data[dst->use] == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecPtrListGetName(src)),
- "duplicateItem",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("duplicateItem",
+ xmlSecPtrListGetName(src));
return(-1);
}
} else {
@@ -234,21 +222,15 @@ xmlSecPtrListDuplicate(xmlSecPtrListPtr list) {
newList = xmlSecPtrListCreate(list->id);
if(newList == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecPtrListGetName(list)),
- "xmlSecPtrListCreate",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecPtrListCreate",
+ xmlSecPtrListGetName(list));
return(NULL);
}
ret = xmlSecPtrListCopy(newList, list);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecPtrListGetName(list)),
- "xmlSecPtrListCopy",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecPtrListCopy",
+ xmlSecPtrListGetName(list));
xmlSecPtrListDestroy(newList);
return(NULL);
}
@@ -306,11 +288,9 @@ xmlSecPtrListAdd(xmlSecPtrListPtr list, xmlSecPtr item) {
ret = xmlSecPtrListEnsureSize(list, list->use + 1);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecPtrListGetName(list)),
- "xmlSecPtrListAdd",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "size=%d", list->use + 1);
+ xmlSecInternalError2("xmlSecPtrListAdd",
+ xmlSecPtrListGetName(list),
+ "size=%d", list->use + 1);
return(-1);
}
@@ -474,12 +454,8 @@ xmlSecPtrListEnsureSize(xmlSecPtrListPtr list, xmlSecSize size) {
newData = (xmlSecPtr*)xmlMalloc(sizeof(xmlSecPtr) * newSize);
}
if(newData == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecPtrListGetName(list)),
- NULL,
- XMLSEC_ERRORS_R_MALLOC_FAILED,
- "sizeof(xmlSecPtr)*%d=%d",
- newSize, (int)(sizeof(xmlSecPtr) * newSize));
+ xmlSecMallocError(sizeof(xmlSecPtr) * newSize,
+ xmlSecPtrListGetName(list));
return(-1);
}
diff --git a/src/membuf.c b/src/membuf.c
index 24cca3d..6cfeb57 100644
--- a/src/membuf.c
+++ b/src/membuf.c
@@ -1,4 +1,4 @@
-/**
+/*
* XML Security Library (http://www.aleksey.com/xmlsec).
*
* Memory buffer transform
@@ -115,11 +115,8 @@ xmlSecTransformMemBufInitialize(xmlSecTransformPtr transform) {
ret = xmlSecBufferInitialize(buffer, 0);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecBufferInitialize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecBufferInitialize",
+ xmlSecTransformGetName(transform));
return(-1);
}
return(0);
@@ -162,31 +159,25 @@ xmlSecTransformMemBufExecute(xmlSecTransformPtr transform, int last, xmlSecTrans
/* just copy everything from in to our buffer and out */
ret = xmlSecBufferAppend(buffer, xmlSecBufferGetData(in), inSize);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecBufferAppend",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "size=%d", inSize);
+ xmlSecInternalError2("xmlSecBufferAppend",
+ xmlSecTransformGetName(transform),
+ "size=%d", inSize);
return(-1);
}
ret = xmlSecBufferAppend(out, xmlSecBufferGetData(in), inSize);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecBufferAppend",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "size=%d", inSize);
+ xmlSecInternalError2("xmlSecBufferAppend",
+ xmlSecTransformGetName(transform),
+ "size=%d", inSize);
return(-1);
}
ret = xmlSecBufferRemoveHead(in, inSize);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecBufferRemoveHead",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "size=%d", inSize);
+ xmlSecInternalError2("xmlSecBufferRemoveHead",
+ xmlSecTransformGetName(transform),
+ "size=%d", inSize);
return(-1);
}
@@ -197,11 +188,7 @@ xmlSecTransformMemBufExecute(xmlSecTransformPtr transform, int last, xmlSecTrans
/* the only way we can get here is if there is no input */
xmlSecAssert2(inSize == 0, -1);
} else {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- NULL,
- XMLSEC_ERRORS_R_INVALID_STATUS,
- "status=%d", transform->status);
+ xmlSecInvalidTransfromStatusError(transform);
return(-1);
}
return(0);
diff --git a/src/mscrypto/Makefile.am b/src/mscrypto/Makefile.am
index 5cea654..20aedc5 100644
--- a/src/mscrypto/Makefile.am
+++ b/src/mscrypto/Makefile.am
@@ -41,10 +41,6 @@ libxmlsec1_mscrypto_la_SOURCES =\
xmlsec-mingw.h \
$(NULL)
-if SHAREDLIB_HACK
-libxmlsec1_mscrypto_la_SOURCES += ../strings.c
-endif
-
libxmlsec1_mscrypto_la_LIBADD = \
$(MSCRYPTO_LIBS) \
$(LIBXSLT_LIBS) \
diff --git a/src/mscrypto/Makefile.in b/src/mscrypto/Makefile.in
index f8ad32b..b09340f 100644
--- a/src/mscrypto/Makefile.in
+++ b/src/mscrypto/Makefile.in
@@ -88,7 +88,6 @@ PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
- at SHAREDLIB_HACK_TRUE@am__append_1 = ../strings.c
subdir = src/mscrypto
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
@@ -132,14 +131,7 @@ am__uninstall_files_from_dir = { \
am__installdirs = "$(DESTDIR)$(libdir)"
LTLIBRARIES = $(lib_LTLIBRARIES)
am__DEPENDENCIES_1 =
-am__libxmlsec1_mscrypto_la_SOURCES_DIST = globals.h private.h app.c \
- certkeys.c ciphers.c crypto.c digests.c hmac.c keysstore.c \
- kw_aes.c kw_des.c kt_rsa.c signatures.c symkeys.c x509.c \
- x509vfy.c csp_calg.h csp_oid.h xmlsec-mingw.h ../strings.c
am__objects_1 =
-am__dirstamp = $(am__leading_dot)dirstamp
- at SHAREDLIB_HACK_TRUE@am__objects_2 = \
- at SHAREDLIB_HACK_TRUE@ ../libxmlsec1_mscrypto_la-strings.lo
am_libxmlsec1_mscrypto_la_OBJECTS = libxmlsec1_mscrypto_la-app.lo \
libxmlsec1_mscrypto_la-certkeys.lo \
libxmlsec1_mscrypto_la-ciphers.lo \
@@ -153,8 +145,7 @@ am_libxmlsec1_mscrypto_la_OBJECTS = libxmlsec1_mscrypto_la-app.lo \
libxmlsec1_mscrypto_la-signatures.lo \
libxmlsec1_mscrypto_la-symkeys.lo \
libxmlsec1_mscrypto_la-x509.lo \
- libxmlsec1_mscrypto_la-x509vfy.lo $(am__objects_1) \
- $(am__objects_2)
+ libxmlsec1_mscrypto_la-x509vfy.lo $(am__objects_1)
libxmlsec1_mscrypto_la_OBJECTS = $(am_libxmlsec1_mscrypto_la_OBJECTS)
AM_V_lt = $(am__v_lt_ at AM_V@)
am__v_lt_ = $(am__v_lt_ at AM_DEFAULT_V@)
@@ -199,7 +190,7 @@ am__v_CCLD_ = $(am__v_CCLD_ at AM_DEFAULT_V@)
am__v_CCLD_0 = @echo " CCLD " $@;
am__v_CCLD_1 =
SOURCES = $(libxmlsec1_mscrypto_la_SOURCES)
-DIST_SOURCES = $(am__libxmlsec1_mscrypto_la_SOURCES_DIST)
+DIST_SOURCES = $(libxmlsec1_mscrypto_la_SOURCES)
am__can_run_installinfo = \
case $$AM_UPDATE_INFO_DIR in \
n|no|NO) false;; \
@@ -288,6 +279,7 @@ LIBXSLT_PC_FILE_COND = @LIBXSLT_PC_FILE_COND@
LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MAN2HTML = @MAN2HTML@
@@ -335,6 +327,7 @@ SHELL = @SHELL@
STRIP = @STRIP@
TAR = @TAR@
VERSION = @VERSION@
+XMLSEC_APPS = @XMLSEC_APPS@
XMLSEC_APP_DEFINES = @XMLSEC_APP_DEFINES@
XMLSEC_CFLAGS = @XMLSEC_CFLAGS@
XMLSEC_CORE_CFLAGS = @XMLSEC_CORE_CFLAGS@
@@ -351,6 +344,7 @@ XMLSEC_DEFINES = @XMLSEC_DEFINES@
XMLSEC_DL_INCLUDES = @XMLSEC_DL_INCLUDES@
XMLSEC_DL_LIBS = @XMLSEC_DL_LIBS@
XMLSEC_DOCDIR = @XMLSEC_DOCDIR@
+XMLSEC_DOCS = @XMLSEC_DOCS@
XMLSEC_EXTRA_LDFLAGS = @XMLSEC_EXTRA_LDFLAGS@
XMLSEC_GCRYPT_CFLAGS = @XMLSEC_GCRYPT_CFLAGS@
XMLSEC_GCRYPT_LIBS = @XMLSEC_GCRYPT_LIBS@
@@ -440,6 +434,7 @@ pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
+runstatedir = @runstatedir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
@@ -468,10 +463,28 @@ libxmlsec1_mscrypto_la_CPPFLAGS = \
$(LIBXML_CFLAGS) \
$(NULL)
-libxmlsec1_mscrypto_la_SOURCES = globals.h private.h app.c certkeys.c \
- ciphers.c crypto.c digests.c hmac.c keysstore.c kw_aes.c \
- kw_des.c kt_rsa.c signatures.c symkeys.c x509.c x509vfy.c \
- csp_calg.h csp_oid.h xmlsec-mingw.h $(NULL) $(am__append_1)
+libxmlsec1_mscrypto_la_SOURCES = \
+ globals.h \
+ private.h \
+ app.c \
+ certkeys.c \
+ ciphers.c \
+ crypto.c \
+ digests.c \
+ hmac.c \
+ keysstore.c \
+ kw_aes.c \
+ kw_des.c \
+ kt_rsa.c \
+ signatures.c \
+ symkeys.c \
+ x509.c \
+ x509vfy.c \
+ csp_calg.h \
+ csp_oid.h \
+ xmlsec-mingw.h \
+ $(NULL)
+
libxmlsec1_mscrypto_la_LIBADD = \
$(MSCRYPTO_LIBS) \
$(LIBXSLT_LIBS) \
@@ -556,27 +569,16 @@ clean-libLTLIBRARIES:
echo rm -f $${locs}; \
rm -f $${locs}; \
}
-../$(am__dirstamp):
- @$(MKDIR_P) ..
- @: > ../$(am__dirstamp)
-../$(DEPDIR)/$(am__dirstamp):
- @$(MKDIR_P) ../$(DEPDIR)
- @: > ../$(DEPDIR)/$(am__dirstamp)
-../libxmlsec1_mscrypto_la-strings.lo: ../$(am__dirstamp) \
- ../$(DEPDIR)/$(am__dirstamp)
libxmlsec1-mscrypto.la: $(libxmlsec1_mscrypto_la_OBJECTS) $(libxmlsec1_mscrypto_la_DEPENDENCIES) $(EXTRA_libxmlsec1_mscrypto_la_DEPENDENCIES)
$(AM_V_CCLD)$(libxmlsec1_mscrypto_la_LINK) -rpath $(libdir) $(libxmlsec1_mscrypto_la_OBJECTS) $(libxmlsec1_mscrypto_la_LIBADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
- -rm -f ../*.$(OBJEXT)
- -rm -f ../*.lo
distclean-compile:
-rm -f *.tab.c
- at AMDEP_TRUE@@am__include@ @am__quote at ../$(DEPDIR)/libxmlsec1_mscrypto_la-strings.Plo at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libxmlsec1_mscrypto_la-app.Plo at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libxmlsec1_mscrypto_la-certkeys.Plo at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libxmlsec1_mscrypto_la-ciphers.Plo at am__quote@
@@ -714,19 +716,11 @@ libxmlsec1_mscrypto_la-x509vfy.lo: x509vfy.c
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libxmlsec1_mscrypto_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libxmlsec1_mscrypto_la-x509vfy.lo `test -f 'x509vfy.c' || echo '$(srcdir)/'`x509vfy.c
-../libxmlsec1_mscrypto_la-strings.lo: ../strings.c
- at am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libxmlsec1_mscrypto_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ../libxmlsec1_mscrypto_la-strings.lo -MD -MP -MF ../$(DEPDIR)/libxmlsec1_mscrypto_la-strings.Tpo -c -o ../libxmlsec1_mscrypto_la-strings.lo `test -f '../strings.c' || echo '$(srcdir)/'`../strings.c
- at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) ../$(DEPDIR)/libxmlsec1_mscrypto_la-strings.Tpo ../$(DEPDIR)/libxmlsec1_mscrypto_la-strings.Plo
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='../strings.c' object='../libxmlsec1_mscrypto_la-strings.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libxmlsec1_mscrypto_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ../libxmlsec1_mscrypto_la-strings.lo `test -f '../strings.c' || echo '$(srcdir)/'`../strings.c
-
mostlyclean-libtool:
-rm -f *.lo
clean-libtool:
-rm -rf .libs _libs
- -rm -rf ../.libs ../_libs
ID: $(am__tagged_files)
$(am__define_uniq_tagged_files); mkid -fID $$unique
@@ -843,8 +837,6 @@ clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
- -rm -f ../$(DEPDIR)/$(am__dirstamp)
- -rm -f ../$(am__dirstamp)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -855,7 +847,7 @@ clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \
mostlyclean-am
distclean: distclean-am
- -rm -rf ../$(DEPDIR) ./$(DEPDIR)
+ -rm -rf ./$(DEPDIR)
-rm -f Makefile
distclean-am: clean-am distclean-compile distclean-generic \
distclean-tags
@@ -901,7 +893,7 @@ install-ps-am:
installcheck-am:
maintainer-clean: maintainer-clean-am
- -rm -rf ../$(DEPDIR) ./$(DEPDIR)
+ -rm -rf ./$(DEPDIR)
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
diff --git a/src/mscrypto/app.c b/src/mscrypto/app.c
index bcb0ea1..a49acad 100644
--- a/src/mscrypto/app.c
+++ b/src/mscrypto/app.c
@@ -1,5 +1,5 @@
-/**
- * XMLSec library
+/*
+ * XML Security Library (http://www.aleksey.com/xmlsec).
*
* This is free software; see Copyright file in the source
* distribution for preciese wording.
@@ -52,35 +52,23 @@ xmlSecMSCryptoAppInit(const char* config) {
if (NULL != config && strlen(config) > 0) {
if (gXmlSecMSCryptoAppCertStoreName != NULL) {
/* This should not happen, initialize twice */
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- NULL,
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- "config=%s, config already set",
- xmlSecErrorsSafeString(config));
+ xmlSecOtherError2(XMLSEC_ERRORS_R_INVALID_CONFIG, NULL,
+ "config=%s, config already set",
+ xmlSecErrorsSafeString(config));
return (-1);
}
#ifdef UNICODE
gXmlSecMSCryptoAppCertStoreName = xmlSecMSCryptoConvertLocaleToUnicode(config);
if (gXmlSecMSCryptoAppCertStoreName == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- "xmlSecMSCryptoConvertLocaleToUnicode",
- NULL,
- XMLSEC_ERRORS_R_MALLOC_FAILED,
- "config=%s",
- xmlSecErrorsSafeString(config));
+ xmlSecInternalError2("xmlSecMSCryptoConvertLocaleToUnicode", NULL,
+ "config=%s", xmlSecErrorsSafeString(config));
return (-1);
}
#else /* UNICODE */
gXmlSecMSCryptoAppCertStoreName = xmlStrdup(config);
if (gXmlSecMSCryptoAppCertStoreName == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- "xmlStrdup",
- NULL,
- XMLSEC_ERRORS_R_MALLOC_FAILED,
- "config=%s",
- xmlSecErrorsSafeString(config));
+ xmlSecStrdupError(config, NULL);
return (-1);
}
#endif /* UNICODE */
@@ -150,33 +138,21 @@ xmlSecMSCryptoAppKeyLoad(const char *filename, xmlSecKeyDataFormat format,
case xmlSecKeyDataFormatPkcs12:
key = xmlSecMSCryptoAppPkcs12Load(filename, pwd, pwdCallback, pwdCallbackCtx);
if(key == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecMSCryptoAppPkcs12Load",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecMSCryptoAppPkcs12Load", NULL);
return(NULL);
}
break;
case xmlSecKeyDataFormatCertDer:
ret = xmlSecBufferInitialize(&buffer, 0);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecBufferInitialize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecBufferInitialize", NULL);
return(NULL);
}
ret = xmlSecBufferReadFile(&buffer, filename);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecBufferReadFile",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "filename=%s",
- xmlSecErrorsSafeString(filename));
+ xmlSecInternalError2("xmlSecBufferReadFile", NULL,
+ "filename=%s", xmlSecErrorsSafeString(filename));
xmlSecBufferFinalize(&buffer);
return (NULL);
}
@@ -185,11 +161,7 @@ xmlSecMSCryptoAppKeyLoad(const char *filename, xmlSecKeyDataFormat format,
xmlSecBufferGetSize(&buffer), format,
pwd, pwdCallback, pwdCallbackCtx);
if(key == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecMSCryptoAppKeyLoadMemory",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecMSCryptoAppKeyLoadMemory", NULL);
xmlSecBufferFinalize(&buffer);
return(NULL);
}
@@ -197,11 +169,8 @@ xmlSecMSCryptoAppKeyLoad(const char *filename, xmlSecKeyDataFormat format,
break;
default:
/* Any other format like PEM keys is currently not supported */
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- NULL,
- XMLSEC_ERRORS_R_INVALID_FORMAT,
- "format=%d", format);
+ xmlSecOtherError2(XMLSEC_ERRORS_R_INVALID_FORMAT, NULL,
+ "format=%d", (int)format);
return(NULL);
}
@@ -238,44 +207,27 @@ xmlSecMSCryptoAppKeyLoadMemory(const xmlSecByte* data, xmlSecSize dataSize, xmlS
pCert = CertCreateCertificateContext(X509_ASN_ENCODING | PKCS_7_ASN_ENCODING, data, dataSize);
if (NULL == pCert) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "CertCreateCertificateContext",
- XMLSEC_ERRORS_R_IO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecMSCryptoError("CertCreateCertificateContext", NULL);
goto done;
}
x509Data = xmlSecKeyDataCreate(xmlSecMSCryptoKeyDataX509Id);
if(x509Data == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecKeyDataCreate",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "transform=%s",
- xmlSecErrorsSafeString(xmlSecTransformKlassGetName(xmlSecMSCryptoKeyDataX509Id)));
+ xmlSecInternalError("xmlSecKeyDataCreate(xmlSecMSCryptoKeyDataX509Id)", NULL);
goto done;
}
tmpcert = CertDuplicateCertificateContext(pCert);
if(tmpcert == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "CertDuplicateCertificateContext",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- "data=%s",
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(x509Data)));
+ xmlSecMSCryptoError("CertDuplicateCertificateContext",
+ xmlSecKeyDataGetName(x509Data));
goto done;
}
ret = xmlSecMSCryptoKeyDataX509AdoptKeyCert(x509Data, tmpcert);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecMSCryptoKeyDataX509AdoptKeyCert",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "data=%s",
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(x509Data)));
+ xmlSecInternalError("xmlSecMSCryptoKeyDataX509AdoptKeyCert",
+ xmlSecKeyDataGetName(x509Data));
CertFreeCertificateContext(tmpcert);
goto done;
}
@@ -283,45 +235,31 @@ xmlSecMSCryptoAppKeyLoadMemory(const xmlSecByte* data, xmlSecSize dataSize, xmlS
keyData = xmlSecMSCryptoCertAdopt(pCert, xmlSecKeyDataTypePublic);
if(keyData == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecMSCryptoCertAdopt",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecMSCryptoCertAdopt",
+ xmlSecKeyDataGetName(x509Data));
goto done;
}
pCert = NULL;
key = xmlSecKeyCreate();
if(key == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecKeyCreate",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeyCreate",
+ xmlSecKeyDataGetName(x509Data));
goto done;
}
ret = xmlSecKeySetValue(key, keyData);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecKeySetValue",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "data=%s",
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(x509Data)));
+ xmlSecInternalError("xmlSecKeySetValue",
+ xmlSecKeyDataGetName(x509Data));
goto done;
}
keyData = NULL;
ret = xmlSecKeyAdoptData(key, x509Data);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecKeyAdoptData",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "data=%s",
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(x509Data)));
+ xmlSecInternalError("xmlSecKeyAdoptData",
+ xmlSecKeyDataGetName(x509Data));
goto done;
}
x509Data = NULL;
@@ -378,22 +316,14 @@ xmlSecMSCryptoAppKeyCertLoad(xmlSecKeyPtr key, const char* filename,
ret = xmlSecBufferInitialize(&buffer, 0);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecBufferInitialize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecBufferInitialize", NULL);
return(-1);
}
ret = xmlSecBufferReadFile(&buffer, filename);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecBufferReadFile",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "filename=%s",
- xmlSecErrorsSafeString(filename));
+ xmlSecInternalError2("xmlSecBufferReadFile", NULL,
+ "filename=%s", xmlSecErrorsSafeString(filename));
xmlSecBufferFinalize(&buffer);
return (-1);
}
@@ -401,11 +331,7 @@ xmlSecMSCryptoAppKeyCertLoad(xmlSecKeyPtr key, const char* filename,
ret = xmlSecMSCryptoAppKeyCertLoadMemory(key, xmlSecBufferGetData(&buffer),
xmlSecBufferGetSize(&buffer), format);
if (ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecMSCryptoAppKeyCertLoadMemory",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecMSCryptoAppKeyCertLoadMemory", NULL);
xmlSecBufferFinalize(&buffer);
return(-1);
}
@@ -438,12 +364,7 @@ xmlSecMSCryptoAppKeyCertLoadMemory(xmlSecKeyPtr key, const xmlSecByte* data, xml
kdata = xmlSecKeyEnsureData(key, xmlSecMSCryptoKeyDataX509Id);
if(kdata == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecKeyEnsureData",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "transform=%s",
- xmlSecErrorsSafeString(xmlSecTransformKlassGetName(xmlSecMSCryptoKeyDataX509Id)));
+ xmlSecInternalError("xmlSecKeyEnsureData(xmlSecMSCryptoKeyDataX509Id)", NULL);
return(-1);
}
@@ -454,32 +375,22 @@ xmlSecMSCryptoAppKeyCertLoadMemory(xmlSecKeyPtr key, const xmlSecByte* data, xml
case xmlSecKeyDataFormatCertDer:
pCert = CertCreateCertificateContext(X509_ASN_ENCODING | PKCS_7_ASN_ENCODING, data, dataSize);
if (NULL == pCert) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "CertCreateCertificateContext",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "format=%d", format);
+ xmlSecInternalError2("CertCreateCertificateContext", NULL,
+ "format=%d", format);
return(-1);
}
ret = xmlSecMSCryptoKeyDataX509AdoptCert(kdata, pCert);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecMSCryptoKeyDataX509AdoptCert",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "data=%s",
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(kdata)));
+ xmlSecInternalError("xmlSecMSCryptoKeyDataX509AdoptCert",
+ xmlSecKeyDataGetName(kdata));
CertFreeCertificateContext(pCert);
return(-1);
}
break;
default:
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- NULL,
- XMLSEC_ERRORS_R_INVALID_FORMAT,
- "format=%d", (int)format);
+ xmlSecOtherError2(XMLSEC_ERRORS_R_INVALID_FORMAT, NULL,
+ "format=%d", (int)format);
return(-1);
}
@@ -511,31 +422,19 @@ xmlSecMSCryptoAppPkcs12Load(const char *filename,
ret = xmlSecBufferInitialize(&buffer, 0);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecBufferInitialize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecBufferInitialize", NULL);
return(NULL);
}
ret = xmlSecBufferReadFile(&buffer, filename);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecBufferReadFile",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "filename=%s",
- xmlSecErrorsSafeString(filename));
+ xmlSecInternalError2("xmlSecBufferReadFile", NULL,
+ "filename=%s", xmlSecErrorsSafeString(filename));
xmlSecBufferFinalize(&buffer);
return (NULL);
}
if(xmlSecBufferGetData(&buffer) == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- NULL,
- XMLSEC_ERRORS_R_INVALID_DATA,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInvalidDataError("data buffer is empty", NULL);
xmlSecBufferFinalize(&buffer);
return(NULL);
}
@@ -544,11 +443,7 @@ xmlSecMSCryptoAppPkcs12Load(const char *filename,
xmlSecBufferGetSize(&buffer), pwd,
pwdCallback, pwdCallbackCtx);
if (key == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecMSCryptoAppPkcs12LoadMemory",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecMSCryptoAppPkcs12LoadMemory", NULL);
xmlSecBufferFinalize(&buffer);
return(NULL);
}
@@ -594,56 +489,39 @@ xmlSecMSCryptoAppPkcs12LoadMemory(const xmlSecByte* data,
pfx.cbData = dataSize;
if(FALSE == PFXIsPFXBlob(&pfx)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "PFXIsPFXBlob",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- "size=%ld",
- pfx.cbData);
+ xmlSecMSCryptoError2("PFXIsPFXBlob", NULL,
+ "size=%ld", (long int)pfx.cbData);
goto done;
}
wcPwd = xmlSecMSCryptoConvertLocaleToUnicode(pwd);
if (wcPwd == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecMSCryptoConvertLocaleToUnicode",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "wcPwd");
+ xmlSecInternalError("xmlSecMSCryptoConvertLocaleToUnicode(pw)", NULL);
goto done;
}
if (FALSE == PFXVerifyPassword(&pfx, wcPwd, 0)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "PFXVerifyPassword",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecMSCryptoError("PFXVerifyPassword", NULL);
goto done;
}
hCertStore = PFXImportCertStore(&pfx, wcPwd, CRYPT_EXPORTABLE | PKCS12_NO_PERSIST_KEY);
if (NULL == hCertStore) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "PFXImportCertStore",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecMSCryptoError("PFXImportCertStore", NULL);
goto done;
}
x509Data = xmlSecKeyDataCreate(xmlSecMSCryptoKeyDataX509Id);
if(x509Data == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecKeyDataCreate",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "transform=%s",
- xmlSecErrorsSafeString(xmlSecTransformKlassGetName(xmlSecMSCryptoKeyDataX509Id)));
+ xmlSecInternalError("xmlSecKeyDataCreate(xmlSecMSCryptoKeyDataX509Id)", NULL);
goto done;
}
- while (pCert = CertEnumCertificatesInStore(hCertStore, pCert)) {
+ while (1) {
+ pCert = CertEnumCertificatesInStore(hCertStore, pCert);
+ if(pCert != NULL) {
+ break;
+ }
DWORD dwData = 0;
DWORD dwDataLen = sizeof(DWORD);
@@ -651,45 +529,30 @@ xmlSecMSCryptoAppPkcs12LoadMemory(const xmlSecByte* data,
if((TRUE == CertGetCertificateContextProperty(pCert, CERT_KEY_SPEC_PROP_ID, &dwData, &dwDataLen)) && (dwData > 0)) {
tmpcert = CertDuplicateCertificateContext(pCert);
if(tmpcert == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "CertDuplicateCertificateContext",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- "data=%s",
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(x509Data)));
+ xmlSecMSCryptoError("CertDuplicateCertificateContext",
+ xmlSecKeyDataGetName(x509Data));
goto done;
}
keyData = xmlSecMSCryptoCertAdopt(tmpcert, xmlSecKeyDataTypePrivate | xmlSecKeyDataTypePublic);
if(keyData == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecMSCryptoCertAdopt",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecMSCryptoCertAdopt",
+ xmlSecKeyDataGetName(x509Data));
goto done;
}
- tmpcert = NULL;
+ tmpcert = NULL;
tmpcert = CertDuplicateCertificateContext(pCert);
if(tmpcert == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "CertDuplicateCertificateContext",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- "data=%s",
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(x509Data)));
+ xmlSecMSCryptoError("CertDuplicateCertificateContext",
+ xmlSecKeyDataGetName(x509Data));
goto done;
}
ret = xmlSecMSCryptoKeyDataX509AdoptKeyCert(x509Data, tmpcert);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecMSCryptoKeyDataX509AdoptKeyCert",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "data=%s",
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(x509Data)));
+ xmlSecInternalError("xmlSecMSCryptoKeyDataX509AdoptKeyCert",
+ xmlSecKeyDataGetName(x509Data));
goto done;
}
tmpcert = NULL;
@@ -698,55 +561,39 @@ xmlSecMSCryptoAppPkcs12LoadMemory(const xmlSecByte* data,
/* load certificate in the x509 key data */
tmpcert = CertDuplicateCertificateContext(pCert);
if(tmpcert == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "CertDuplicateCertificateContext",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- "data=%s",
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(x509Data)));
+ xmlSecMSCryptoError("CertDuplicateCertificateContext",
+ xmlSecKeyDataGetName(x509Data));
goto done;
}
ret = xmlSecMSCryptoKeyDataX509AdoptCert(x509Data, tmpcert);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecMSCryptoKeyDataX509AdoptCert",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "data=%s",
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(x509Data)));
+ xmlSecInternalError("xmlSecMSCryptoKeyDataX509AdoptCert",
+ xmlSecKeyDataGetName(x509Data));
goto done;
}
tmpcert = NULL;
}
if (keyData == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecMSCryptoAppPkcs12Load",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "private key not found in PKCS12 file");
+ /* private key not found in PKCS12 file */
+ xmlSecInternalError2("xmlSecMSCryptoAppPkcs12Load",
+ xmlSecKeyDataGetName(x509Data),
+ "private key not found in PKCS12 file", NULL);
goto done;
}
key = xmlSecKeyCreate();
if(key == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecKeyCreate",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeyCreate",
+ xmlSecKeyDataGetName(x509Data));
goto done;
}
ret = xmlSecKeySetValue(key, keyData);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecKeySetValue",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "data=%s",
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(x509Data)));
+ xmlSecInternalError("xmlSecKeySetValue",
+ xmlSecKeyDataGetName(x509Data));
xmlSecKeyDestroy(key);
key = NULL;
goto done;
@@ -755,12 +602,8 @@ xmlSecMSCryptoAppPkcs12LoadMemory(const xmlSecByte* data,
ret = xmlSecKeyAdoptData(key, x509Data);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecKeyAdoptData",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "data=%s",
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(x509Data)));
+ xmlSecInternalError("xmlSecKeyAdoptData",
+ xmlSecKeyDataGetName(x509Data));
xmlSecKeyDestroy(key);
key = NULL;
goto done;
@@ -812,22 +655,14 @@ xmlSecMSCryptoAppKeysMngrCertLoad(xmlSecKeysMngrPtr mngr, const char *filename,
ret = xmlSecBufferInitialize(&buffer, 0);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecBufferInitialize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecBufferInitialize", NULL);
return(-1);
}
ret = xmlSecBufferReadFile(&buffer, filename);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecBufferReadFile",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "filename=%s",
- xmlSecErrorsSafeString(filename));
+ xmlSecInternalError2("xmlSecBufferReadFile", NULL,
+ "filename=%s", xmlSecErrorsSafeString(filename));
xmlSecBufferFinalize(&buffer);
return (-1);
}
@@ -835,12 +670,8 @@ xmlSecMSCryptoAppKeysMngrCertLoad(xmlSecKeysMngrPtr mngr, const char *filename,
ret = xmlSecMSCryptoAppKeysMngrCertLoadMemory(mngr, xmlSecBufferGetData(&buffer),
xmlSecBufferGetSize(&buffer), format, type);
if (ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecMSCryptoAppKeysMngrCertLoadMemory",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "filename=%s",
- xmlSecErrorsSafeString(filename));
+ xmlSecInternalError2("xmlSecMSCryptoAppKeysMngrCertLoadMemory", NULL,
+ "filename=%s", xmlSecErrorsSafeString(filename));
xmlSecBufferFinalize(&buffer);
return(-1);
}
@@ -878,11 +709,7 @@ xmlSecMSCryptoAppKeysMngrCertLoadMemory(xmlSecKeysMngrPtr mngr, const xmlSecByte
x509Store = xmlSecKeysMngrGetDataStore(mngr, xmlSecMSCryptoX509StoreId);
if(x509Store == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecKeysMngrGetDataStore",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "xmlSecMSCryptoX509StoreId");
+ xmlSecInternalError("xmlSecKeysMngrGetDataStore(xmlSecMSCryptoX509StoreId)", NULL);
return(-1);
}
@@ -892,31 +719,20 @@ xmlSecMSCryptoAppKeysMngrCertLoadMemory(xmlSecKeysMngrPtr mngr, const xmlSecByte
pCert = CertCreateCertificateContext(X509_ASN_ENCODING | PKCS_7_ASN_ENCODING,
data, dataSize);
if (NULL == pCert) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "CertCreateCertificateContext",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecMSCryptoError("CertCreateCertificateContext", NULL);
return (-1);
}
break;
default:
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- NULL,
- XMLSEC_ERRORS_R_INVALID_FORMAT,
- "format=%d", format);
+ xmlSecOtherError2(XMLSEC_ERRORS_R_INVALID_FORMAT, NULL,
+ "format=%d", (int)format);
return(-1);
}
xmlSecAssert2(pCert != NULL, -1);
ret = xmlSecMSCryptoX509StoreAdoptCert(x509Store, pCert, type);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecMSCryptoX509StoreAdoptCert",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecMSCryptoX509StoreAdoptCert", NULL);
CertFreeCertificateContext(pCert);
return(-1);
}
@@ -943,21 +759,14 @@ xmlSecMSCryptoAppDefaultKeysMngrAdoptKeyStore(xmlSecKeysMngrPtr mngr, HCERTSTORE
x509Store = xmlSecKeysMngrGetDataStore( mngr, xmlSecMSCryptoX509StoreId) ;
if( x509Store == NULL ) {
- xmlSecError( XMLSEC_ERRORS_HERE ,
- NULL ,
- "xmlSecKeysMngrGetDataStore" ,
- XMLSEC_ERRORS_R_XMLSEC_FAILED ,
- XMLSEC_ERRORS_NO_MESSAGE ) ;
- return(-1) ;
+ xmlSecInternalError("xmlSecKeysMngrGetDataStore(xmlSecMSCryptoX509StoreId)", NULL);
+ return(-1) ;
}
if( xmlSecMSCryptoX509StoreAdoptKeyStore( x509Store, keyStore ) < 0 ) {
- xmlSecError( XMLSEC_ERRORS_HERE ,
- xmlSecErrorsSafeString( xmlSecKeyDataStoreGetName( x509Store ) ) ,
- "xmlSecMSCryptoX509StoreAdoptKeyStore" ,
- XMLSEC_ERRORS_R_XMLSEC_FAILED ,
- XMLSEC_ERRORS_NO_MESSAGE ) ;
- return(-1) ;
+ xmlSecInternalError("xmlSecMSCryptoX509StoreAdoptKeyStore",
+ xmlSecKeyDataStoreGetName(x509Store));
+ return(-1) ;
}
return (0) ;
@@ -982,21 +791,14 @@ xmlSecMSCryptoAppDefaultKeysMngrAdoptTrustedStore(xmlSecKeysMngrPtr mngr, HCERTS
x509Store = xmlSecKeysMngrGetDataStore( mngr, xmlSecMSCryptoX509StoreId ) ;
if( x509Store == NULL ) {
- xmlSecError( XMLSEC_ERRORS_HERE ,
- NULL ,
- "xmlSecKeysMngrGetDataStore" ,
- XMLSEC_ERRORS_R_XMLSEC_FAILED ,
- XMLSEC_ERRORS_NO_MESSAGE ) ;
- return(-1) ;
+ xmlSecInternalError("xmlSecKeysMngrGetDataStore", NULL);
+ return(-1) ;
}
if( xmlSecMSCryptoX509StoreAdoptTrustedStore( x509Store, trustedStore ) < 0 ) {
- xmlSecError( XMLSEC_ERRORS_HERE ,
- xmlSecErrorsSafeString( xmlSecKeyDataStoreGetName( x509Store ) ) ,
- "xmlSecMSCryptoX509StoreAdoptKeyStore" ,
- XMLSEC_ERRORS_R_XMLSEC_FAILED ,
- XMLSEC_ERRORS_NO_MESSAGE ) ;
- return(-1) ;
+ xmlSecInternalError("xmlSecMSCryptoX509StoreAdoptKeyStore",
+ xmlSecKeyDataStoreGetName(x509Store));
+ return(-1) ;
}
return(0);
@@ -1020,25 +822,18 @@ xmlSecMSCryptoAppDefaultKeysMngrAdoptUntrustedStore(xmlSecKeysMngrPtr mngr, HCER
xmlSecAssert2( untrustedStore != NULL, -1 ) ;
x509Store = xmlSecKeysMngrGetDataStore( mngr, xmlSecMSCryptoX509StoreId);
- if( x509Store == NULL ) {
- xmlSecError( XMLSEC_ERRORS_HERE ,
- NULL ,
- "xmlSecKeysMngrGetDataStore" ,
- XMLSEC_ERRORS_R_XMLSEC_FAILED ,
- XMLSEC_ERRORS_NO_MESSAGE ) ;
- return(-1);
- }
+ if(x509Store == NULL) {
+ xmlSecInternalError("xmlSecKeysMngrGetDataStore", NULL);
+ return(-1);
+ }
- if( xmlSecMSCryptoX509StoreAdoptUntrustedStore( x509Store, untrustedStore ) < 0) {
- xmlSecError( XMLSEC_ERRORS_HERE ,
- xmlSecErrorsSafeString( xmlSecKeyDataStoreGetName( x509Store ) ) ,
- "xmlSecMSCryptoX509StoreAdoptKeyStore" ,
- XMLSEC_ERRORS_R_XMLSEC_FAILED ,
- XMLSEC_ERRORS_NO_MESSAGE ) ;
- return(-1);
- }
+ if(xmlSecMSCryptoX509StoreAdoptUntrustedStore(x509Store, untrustedStore) < 0) {
+ xmlSecInternalError("xmlSecMSCryptoX509StoreAdoptKeyStore",
+ xmlSecKeyDataStoreGetName(x509Store));
+ return(-1);
+ }
- return(0) ;
+ return(0) ;
}
#endif /* XMLSEC_NO_X509 */
@@ -1064,21 +859,13 @@ xmlSecMSCryptoAppDefaultKeysMngrInit(xmlSecKeysMngrPtr mngr) {
keysStore = xmlSecKeyStoreCreate(xmlSecMSCryptoKeysStoreId);
if(keysStore == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecKeyStoreCreate",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "xmlSecMSCryptoKeysStoreId");
+ xmlSecInternalError("xmlSecKeyStoreCreate(xmlSecMSCryptoX509StoreId)", NULL);
return(-1);
}
ret = xmlSecKeysMngrAdoptKeysStore(mngr, keysStore);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecKeysMngrAdoptKeysStore",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeysMngrAdoptKeysStore", NULL);
xmlSecKeyStoreDestroy(keysStore);
return(-1);
}
@@ -1086,11 +873,7 @@ xmlSecMSCryptoAppDefaultKeysMngrInit(xmlSecKeysMngrPtr mngr) {
ret = xmlSecMSCryptoKeysMngrInit(mngr);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecMSCryptoKeysMngrInit",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecMSCryptoKeysMngrInit", NULL);
return(-1);
}
@@ -1118,21 +901,13 @@ xmlSecMSCryptoAppDefaultKeysMngrAdoptKey(xmlSecKeysMngrPtr mngr, xmlSecKeyPtr ke
store = xmlSecKeysMngrGetKeysStore(mngr);
if(store == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecKeysMngrGetKeysStore",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeysMngrGetKeysStore", NULL);
return(-1);
}
ret = xmlSecMSCryptoKeysStoreAdoptKey(store, key);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecMSCryptoKeysStoreAdoptKey",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecMSCryptoKeysStoreAdoptKey", NULL);
return(-1);
}
@@ -1159,21 +934,14 @@ xmlSecMSCryptoAppDefaultKeysMngrLoad(xmlSecKeysMngrPtr mngr, const char* uri) {
store = xmlSecKeysMngrGetKeysStore(mngr);
if(store == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecKeysMngrGetKeysStore",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeysMngrGetKeysStore", NULL);
return(-1);
}
ret = xmlSecMSCryptoKeysStoreLoad(store, uri, mngr);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecMSCryptoKeysStoreLoad",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "uri=%s", xmlSecErrorsSafeString(uri));
+ xmlSecInternalError2("xmlSecMSCryptoKeysStoreLoad", NULL,
+ "uri=%s", xmlSecErrorsSafeString(uri));
return(-1);
}
@@ -1200,21 +968,14 @@ xmlSecMSCryptoAppDefaultKeysMngrSave(xmlSecKeysMngrPtr mngr, const char* filenam
store = xmlSecKeysMngrGetKeysStore(mngr);
if(store == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecKeysMngrGetKeysStore",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeysMngrGetKeysStore", NULL);
return(-1);
}
ret = xmlSecMSCryptoKeysStoreSave(store, filename, type);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecMSCryptoKeysStoreSave",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "filename%s", xmlSecErrorsSafeString(filename));
+ xmlSecInternalError2("xmlSecMSCryptoKeysStoreSave", NULL,
+ "filename%s", xmlSecErrorsSafeString(filename));
return(-1);
}
diff --git a/src/mscrypto/certkeys.c b/src/mscrypto/certkeys.c
index 8a3b324..439f6c2 100644
--- a/src/mscrypto/certkeys.c
+++ b/src/mscrypto/certkeys.c
@@ -1,5 +1,5 @@
-/**
- * XMLSec library
+/*
+ * XML Security Library (http://www.aleksey.com/xmlsec).
*
* This is free software; see Copyright file in the source
* distribution for preciese wording.
@@ -98,12 +98,13 @@ struct _xmlSecMSCryptoKeyDataCtx {
/******************************** Provider *****************************************/
#define xmlSecMSCryptoKeyDataCtxGetProvider(ctx) (ctx)->hProv
-static void
+static int
xmlSecMSCryptoKeyDataCtxCreateProvider(xmlSecMSCryptoKeyDataCtxPtr ctx) {
- xmlSecAssert(ctx != NULL);
+ xmlSecAssert2(ctx != NULL, -1);
- ctx->hProv = 0;
- ctx->fCallerFreeProv = FALSE;
+ ctx->hProv = 0;
+ ctx->fCallerFreeProv = FALSE;
+ return(0);
}
static void
@@ -111,20 +112,21 @@ xmlSecMSCryptoKeyDataCtxDestroyProvider(xmlSecMSCryptoKeyDataCtxPtr ctx) {
xmlSecAssert(ctx != NULL);
if ((ctx->hProv != 0) && (ctx->fCallerFreeProv)) {
- CryptReleaseContext(ctx->hProv, 0);
+ CryptReleaseContext(ctx->hProv, 0);
}
- ctx->hProv = 0;
- ctx->fCallerFreeProv = FALSE;
+ ctx->hProv = 0;
+ ctx->fCallerFreeProv = FALSE;
}
-static void
+static int
xmlSecMSCryptoKeyDataCtxSetProvider(xmlSecMSCryptoKeyDataCtxPtr ctx, HCRYPTPROV hProv, BOOL fCallerFreeProv)
{
- xmlSecAssert(ctx != NULL);
+ xmlSecAssert2(ctx != NULL, -1);
xmlSecMSCryptoKeyDataCtxDestroyProvider(ctx);
ctx->hProv = hProv;
ctx->fCallerFreeProv = fCallerFreeProv;
+ return(0);
}
static int
@@ -136,11 +138,7 @@ xmlSecMSCryptoKeyDataCtxDuplicateProvider(xmlSecMSCryptoKeyDataCtxPtr ctxDst, xm
if(ctxSrc->hProv != 0) {
if(!CryptContextAddRef(ctxSrc->hProv, NULL, 0)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "CryptContextAddRef",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecMSCryptoError("CryptContextAddRef", NULL);
return(-1);
}
@@ -154,11 +152,12 @@ xmlSecMSCryptoKeyDataCtxDuplicateProvider(xmlSecMSCryptoKeyDataCtxPtr ctxDst, xm
/******************************** Key *****************************************/
#define xmlSecMSCryptoKeyDataCtxGetKey(ctx) ((ctx)->hKey)
-static void
+static int
xmlSecMSCryptoKeyDataCtxCreateKey(xmlSecMSCryptoKeyDataCtxPtr ctx) {
- xmlSecAssert(ctx != NULL);
+ xmlSecAssert2(ctx != NULL, -1);
ctx->hKey = 0;
+ return(0);
}
static void
@@ -171,12 +170,13 @@ xmlSecMSCryptoKeyDataCtxDestroyKey(xmlSecMSCryptoKeyDataCtxPtr ctx) {
ctx->hKey = 0;
}
-static void
+static int
xmlSecMSCryptoKeyDataCtxSetKey(xmlSecMSCryptoKeyDataCtxPtr ctx, HCRYPTKEY hKey) {
- xmlSecAssert(ctx != NULL);
+ xmlSecAssert2(ctx != NULL, -1);
xmlSecMSCryptoKeyDataCtxDestroyKey(ctx);
ctx->hKey = hKey;
+ return(0);
}
static int
@@ -187,11 +187,7 @@ xmlSecMSCryptoKeyDataCtxDuplicateKey(xmlSecMSCryptoKeyDataCtxPtr ctxDst, xmlSecM
xmlSecMSCryptoKeyDataCtxDestroyKey(ctxDst);
if (ctxSrc->hKey != 0) {
if (!CryptDuplicateKey(ctxSrc->hKey, NULL, 0, &(ctxDst->hKey))) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "CryptDuplicateKey",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecMSCryptoError("CryptDuplicateKey", NULL);
return(-1);
}
}
@@ -204,58 +200,62 @@ xmlSecMSCryptoKeyDataCtxDuplicateKey(xmlSecMSCryptoKeyDataCtxPtr ctxDst, xmlSecM
/******************************** Provider *****************************************/
#define xmlSecMSCryptoKeyDataCtxGetProvider(ctx) (((ctx)->p_prov) ? ((ctx)->p_prov->hProv) : 0)
-static void
+static int
xmlSecMSCryptoKeyDataCtxCreateProvider(xmlSecMSCryptoKeyDataCtxPtr ctx) {
- xmlSecAssert(ctx != NULL);
+ xmlSecAssert2(ctx != NULL, -1);
- ctx->p_prov = (struct _mscrypt_prov*)xmlMalloc(sizeof(struct _mscrypt_prov));
- if(ctx->p_prov == NULL ) {
- xmlSecError( XMLSEC_ERRORS_HERE,
- "mscrypt_create_prov" ,
- NULL,
- XMLSEC_ERRORS_R_MALLOC_FAILED ,
- XMLSEC_ERRORS_NO_MESSAGE
- );
- }
+ ctx->p_prov = (struct _mscrypt_prov*)xmlMalloc(sizeof(struct _mscrypt_prov));
+ if(ctx->p_prov == NULL) {
+ xmlSecMallocError(sizeof(struct _mscrypt_prov), NULL);
+ return(-1);
+ }
memset(ctx->p_prov, 0, sizeof(struct _mscrypt_prov));
+ return(0);
}
static void
xmlSecMSCryptoKeyDataCtxDestroyProvider(xmlSecMSCryptoKeyDataCtxPtr ctx) {
xmlSecAssert(ctx != NULL);
- if(ctx->p_prov != NULL) {
- if(InterlockedDecrement(&(ctx->p_prov->refcnt)) <= 0) {
- if((ctx->p_prov->hProv != 0) && (ctx->p_prov->fCallerFreeProv)) {
- CryptReleaseContext(ctx->p_prov->hProv, 0) ;
- }
+ if(ctx->p_prov != NULL) {
+ if(InterlockedDecrement(&(ctx->p_prov->refcnt)) <= 0) {
+ if((ctx->p_prov->hProv != 0) && (ctx->p_prov->fCallerFreeProv)) {
+ CryptReleaseContext(ctx->p_prov->hProv, 0) ;
+ }
memset(ctx->p_prov, 0, sizeof(struct _mscrypt_prov));
- xmlFree(ctx->p_prov) ;
- }
- ctx->p_prov = NULL;
+ xmlFree(ctx->p_prov) ;
}
+ ctx->p_prov = NULL;
+ }
}
-static void
+static int
xmlSecMSCryptoKeyDataCtxSetProvider(xmlSecMSCryptoKeyDataCtxPtr ctx, HCRYPTPROV hProv, BOOL fCallerFreeProv)
{
- xmlSecAssert(ctx != NULL);
+ int ret;
+
+ xmlSecAssert2(ctx != NULL, -1);
xmlSecMSCryptoKeyDataCtxDestroyProvider(ctx);
if((ctx->p_prov != NULL) && (ctx->p_prov->refcnt == 1)) {
- if((ctx->p_prov->hProv != 0) && (ctx->p_prov->fCallerFreeProv)) {
- CryptReleaseContext(ctx->p_prov->hProv, 0) ;
- }
+ if((ctx->p_prov->hProv != 0) && (ctx->p_prov->fCallerFreeProv)) {
+ CryptReleaseContext(ctx->p_prov->hProv, 0) ;
+ }
memset(ctx->p_prov, 0, sizeof(struct _mscrypt_prov));
} else {
xmlSecMSCryptoKeyDataCtxDestroyProvider(ctx);
- xmlSecMSCryptoKeyDataCtxCreateProvider(ctx);
+ ret = xmlSecMSCryptoKeyDataCtxCreateProvider(ctx);
+ if(ret != 0) {
+ xmlSecInternalError("xmlSecMSCryptoKeyDataCtxCreateProvider", NULL);
+ return(-1);
+ }
}
ctx->p_prov->hProv = hProv;
ctx->p_prov->fCallerFreeProv = fCallerFreeProv;
ctx->p_prov->refcnt = 1;
+ return(0);
}
static int
@@ -276,20 +276,17 @@ xmlSecMSCryptoKeyDataCtxDuplicateProvider(xmlSecMSCryptoKeyDataCtxPtr ctxDst, xm
/******************************** Key *****************************************/
#define xmlSecMSCryptoKeyDataCtxGetKey(ctx) (((ctx)->p_key) ? ((ctx)->p_key->hKey) : 0)
-static void
+static int
xmlSecMSCryptoKeyDataCtxCreateKey(xmlSecMSCryptoKeyDataCtxPtr ctx) {
- xmlSecAssert(ctx != NULL);
+ xmlSecAssert2(ctx != NULL, -1);
- ctx->p_key = (struct _mscrypt_key*)xmlMalloc(sizeof(struct _mscrypt_key));
- if(ctx->p_key == NULL ) {
- xmlSecError( XMLSEC_ERRORS_HERE,
- "mscrypt_create_key" ,
- NULL,
- XMLSEC_ERRORS_R_MALLOC_FAILED ,
- XMLSEC_ERRORS_NO_MESSAGE
- );
- }
+ ctx->p_key = (struct _mscrypt_key*)xmlMalloc(sizeof(struct _mscrypt_key));
+ if(ctx->p_key == NULL ) {
+ xmlSecMallocError(sizeof(struct _mscrypt_key), NULL);
+ return(-1);
+ }
memset(ctx->p_key, 0, sizeof(struct _mscrypt_key));
+ return(0);
}
static void
@@ -308,21 +305,27 @@ xmlSecMSCryptoKeyDataCtxDestroyKey(xmlSecMSCryptoKeyDataCtxPtr ctx) {
}
}
-static void
+static int
xmlSecMSCryptoKeyDataCtxSetKey(xmlSecMSCryptoKeyDataCtxPtr ctx, HCRYPTKEY hKey) {
- xmlSecAssert(ctx != NULL);
+ int ret;
+ xmlSecAssert2(ctx != NULL, -1);
if((ctx->p_key != NULL) && (ctx->p_key->refcnt == 1)) {
- if(ctx->p_key->hKey != 0) {
- CryptDestroyKey(ctx->p_key->hKey) ;
- }
+ if(ctx->p_key->hKey != 0) {
+ CryptDestroyKey(ctx->p_key->hKey) ;
+ }
memset(ctx->p_key, 0, sizeof(struct _mscrypt_key));
} else {
xmlSecMSCryptoKeyDataCtxDestroyKey(ctx);
- xmlSecMSCryptoKeyDataCtxCreateKey(ctx);
+ ret = xmlSecMSCryptoKeyDataCtxCreateKey(ctx);
+ if(ret != 0) {
+ xmlSecInternalError("xmlSecMSCryptoKeyDataCtxCreateKey", NULL);
+ return(-1);
+ }
}
ctx->p_key->hKey = hKey;
ctx->p_key->refcnt = 1;
+ return(0);
}
static int
@@ -361,12 +364,13 @@ xmlSecMSCryptoKeyDataCtxDestroyCert(xmlSecMSCryptoKeyDataCtxPtr ctx) {
ctx->pCert = NULL;
}
-static void
+static int
xmlSecMSCryptoKeyDataCtxSetCert(xmlSecMSCryptoKeyDataCtxPtr ctx, PCCERT_CONTEXT pCert) {
- xmlSecAssert(ctx != NULL);
+ xmlSecAssert2(ctx != NULL, -1);
xmlSecMSCryptoKeyDataCtxDestroyCert(ctx);
ctx->pCert = pCert;
+ return(0);
}
static int
@@ -378,11 +382,7 @@ xmlSecMSCryptoKeyDataCtxDuplicateCert(xmlSecMSCryptoKeyDataCtxPtr ctxDst, xmlSec
if(ctxSrc->pCert != NULL) {
ctxDst->pCert = xmlSecMSCryptoCertDup(ctxSrc->pCert);
if(ctxDst->pCert == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecMSCryptoPCCDup",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecMSCryptoPCCDup", NULL);
return(-1);
}
}
@@ -416,6 +416,7 @@ static int
xmlSecMSCryptoKeyDataAdoptCert(xmlSecKeyDataPtr data, PCCERT_CONTEXT pCert, xmlSecKeyDataType type) {
xmlSecMSCryptoKeyDataCtxPtr ctx;
HCRYPTKEY hKey = 0;
+ int ret;
xmlSecAssert2(xmlSecKeyDataIsValid(data), -1);
xmlSecAssert2(xmlSecKeyDataCheckSize(data, xmlSecMSCryptoKeyDataSize), -1);
@@ -445,34 +446,30 @@ xmlSecMSCryptoKeyDataAdoptCert(xmlSecKeyDataPtr data, PCCERT_CONTEXT pCert, xmlS
&hProv,
&(ctx->dwKeySpec),
&fCallerFreeProv)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "CryptAcquireCertificatePrivateKey",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecMSCryptoError("CryptAcquireCertificatePrivateKey", NULL);
return(-1);
}
- xmlSecMSCryptoKeyDataCtxSetProvider(ctx, hProv, fCallerFreeProv);
+ ret = xmlSecMSCryptoKeyDataCtxSetProvider(ctx, hProv, fCallerFreeProv);
+ if(ret != 0) {
+ xmlSecInternalError("xmlSecMSCryptoKeyDataCtxSetProvider", NULL);
+ return(-1);
+ }
} else if((type & xmlSecKeyDataTypePublic) != 0){
HCRYPTPROV hProv;
hProv = xmlSecMSCryptoFindProvider(ctx->providers, NULL, CRYPT_VERIFYCONTEXT, FALSE);
if (hProv == 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecMSCryptoFindProvider",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecMSCryptoFindProvider", NULL);
+ return(-1);
+ }
+ ret = xmlSecMSCryptoKeyDataCtxSetProvider(ctx, hProv, TRUE);
+ if(ret != 0) {
+ xmlSecInternalError("xmlSecMSCryptoKeyDataCtxSetProvider", NULL);
return(-1);
}
- xmlSecMSCryptoKeyDataCtxSetProvider(ctx, hProv, TRUE);
ctx->dwKeySpec = 0;
} else {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- NULL,
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "Unsupported keytype");
+ xmlSecInvalidIntegerTypeError("keytype", type, "supported keytype", NULL);
return(-1);
}
@@ -487,16 +484,20 @@ xmlSecMSCryptoKeyDataAdoptCert(xmlSecKeyDataPtr data, PCCERT_CONTEXT pCert, xmlS
X509_ASN_ENCODING | PKCS_7_ASN_ENCODING,
&(pCert->pCertInfo->SubjectPublicKeyInfo),
&hKey)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "CryptImportPublicKeyInfo",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecMSCryptoError("CryptImportPublicKeyInfo", NULL);
return(-1);
}
- xmlSecMSCryptoKeyDataCtxSetKey(ctx, hKey);
- xmlSecMSCryptoKeyDataCtxSetCert(ctx, pCert);
+ ret = xmlSecMSCryptoKeyDataCtxSetKey(ctx, hKey);
+ if(ret != 0) {
+ xmlSecInternalError("xmlSecMSCryptoKeyDataCtxSetKey", NULL);
+ return(-1);
+ }
+ ret = xmlSecMSCryptoKeyDataCtxSetCert(ctx, pCert);
+ if(ret != 0) {
+ xmlSecInternalError("xmlSecMSCryptoKeyDataCtxSetCert", NULL);
+ return(-1);
+ }
return(0);
}
@@ -508,6 +509,7 @@ xmlSecMSCryptoKeyDataAdoptKey(xmlSecKeyDataPtr data,
DWORD dwKeySpec,
xmlSecKeyDataType type) {
xmlSecMSCryptoKeyDataCtxPtr ctx;
+ int ret;
xmlSecAssert2(xmlSecKeyDataIsValid(data), -1);
xmlSecAssert2(xmlSecKeyDataCheckSize(data, xmlSecMSCryptoKeyDataSize), -1);
@@ -517,9 +519,21 @@ xmlSecMSCryptoKeyDataAdoptKey(xmlSecKeyDataPtr data,
ctx = xmlSecMSCryptoKeyDataGetCtx(data);
xmlSecAssert2(ctx != NULL, -1);
- xmlSecMSCryptoKeyDataCtxSetProvider(ctx, hProv, fCallerFreeProv);
- xmlSecMSCryptoKeyDataCtxSetKey(ctx, hKey);
- xmlSecMSCryptoKeyDataCtxSetCert(ctx, NULL);
+ ret = xmlSecMSCryptoKeyDataCtxSetProvider(ctx, hProv, fCallerFreeProv);
+ if(ret != 0) {
+ xmlSecInternalError("xmlSecMSCryptoKeyDataCtxSetProvider", NULL);
+ return(-1);
+ }
+ ret = xmlSecMSCryptoKeyDataCtxSetKey(ctx, hKey);
+ if(ret != 0) {
+ xmlSecInternalError("xmlSecMSCryptoKeyDataCtxSetKey", NULL);
+ return(-1);
+ }
+ ret = xmlSecMSCryptoKeyDataCtxSetCert(ctx, NULL);
+ if(ret != 0) {
+ xmlSecInternalError("xmlSecMSCryptoKeyDataCtxSetCert", NULL);
+ return(-1);
+ }
ctx->dwKeySpec = dwKeySpec;
ctx->type = type;
@@ -571,11 +585,7 @@ xmlSecMSCryptoKeyDataGetDecryptKey(xmlSecKeyDataPtr data) {
xmlSecAssert2(ctx != NULL, 0);
if( !CryptGetUserKey(xmlSecMSCryptoKeyDataCtxGetProvider(ctx), AT_KEYEXCHANGE, &(hKey))) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "CryptGetUserKey",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecMSCryptoError("CryptGetUserKey", NULL);
return(0);
}
return (hKey);
@@ -645,6 +655,44 @@ xmlSecMSCryptoKeyDataGetMSCryptoKeySpec(xmlSecKeyDataPtr data) {
return(ctx->dwKeySpec);
}
+/**
+ * xmlSecMSCryptoKeyDataGetMSCryptoProviderInfo:
+ * @data: the key data
+ *
+ * Gets key provider info.
+ *
+ * Returns: the key provider info.
+ */
+PCRYPT_KEY_PROV_INFO
+xmlSecMSCryptoKeyDataGetMSCryptoProviderInfo(xmlSecKeyDataPtr data) {
+ xmlSecMSCryptoKeyDataCtxPtr ctx;
+ LPBYTE pInfoData = NULL;
+ DWORD dwInfoDataLength = 0;
+
+ xmlSecAssert2(data != NULL, NULL);
+
+ ctx = xmlSecMSCryptoKeyDataGetCtx(data);
+ xmlSecAssert2(ctx != NULL, NULL);
+ xmlSecAssert2(ctx->pCert != NULL, NULL);
+
+ if(!CertGetCertificateContextProperty(ctx->pCert, CERT_KEY_PROV_INFO_PROP_ID, NULL, &dwInfoDataLength)) {
+ xmlSecMSCryptoError("CertGetCertificateContextProperty", NULL);
+ return NULL;
+ }
+
+ if(dwInfoDataLength > 0) {
+ pInfoData = malloc(dwInfoDataLength * sizeof(BYTE));
+
+ if(!CertGetCertificateContextProperty(ctx->pCert, CERT_KEY_PROV_INFO_PROP_ID, pInfoData, &dwInfoDataLength)) {
+ xmlSecMSCryptoError("CertGetCertificateContextProperty", NULL);
+ free(pInfoData);
+ return NULL;
+ }
+ }
+
+ return (PCRYPT_KEY_PROV_INFO)pInfoData;
+}
+
static int
xmlSecMSCryptoKeyDataDuplicate(xmlSecKeyDataPtr dst, xmlSecKeyDataPtr src) {
xmlSecMSCryptoKeyDataCtxPtr ctxDst;
@@ -662,29 +710,20 @@ xmlSecMSCryptoKeyDataDuplicate(xmlSecKeyDataPtr dst, xmlSecKeyDataPtr src) {
xmlSecAssert2(ctxSrc != NULL, -1);
if(xmlSecMSCryptoKeyDataCtxDuplicateProvider(ctxDst, ctxSrc) < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(dst)),
- "xmlSecMSCryptoKeyDataCtxDuplicateProvider",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecMSCryptoKeyDataCtxDuplicateProvider",
+ xmlSecKeyDataGetName(dst));
return(-1);
}
if(xmlSecMSCryptoKeyDataCtxDuplicateKey(ctxDst, ctxSrc) < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(dst)),
- "xmlSecMSCryptoKeyDataCtxDuplicateKey",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecMSCryptoKeyDataCtxDuplicateKey",
+ xmlSecKeyDataGetName(dst));
return(-1);
}
if(xmlSecMSCryptoKeyDataCtxDuplicateCert(ctxDst, ctxSrc) < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(dst)),
- "xmlSecMSCryptoKeyDataCtxDuplicateCert",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecMSCryptoKeyDataCtxDuplicateCert",
+ xmlSecKeyDataGetName(dst));
return(-1);
}
@@ -695,21 +734,31 @@ xmlSecMSCryptoKeyDataDuplicate(xmlSecKeyDataPtr dst, xmlSecKeyDataPtr src) {
return(0);
}
-static void
+static int
xmlSecMSCryptoKeyDataInitialize(xmlSecKeyDataPtr data) {
xmlSecMSCryptoKeyDataCtxPtr ctx;
+ int ret;
- xmlSecAssert(xmlSecKeyDataIsValid(data));
- xmlSecAssert(xmlSecKeyDataCheckSize(data, xmlSecMSCryptoKeyDataSize));
+ xmlSecAssert2(xmlSecKeyDataIsValid(data), -1);
+ xmlSecAssert2(xmlSecKeyDataCheckSize(data, xmlSecMSCryptoKeyDataSize), -1);
ctx = xmlSecMSCryptoKeyDataGetCtx(data);
- xmlSecAssert(ctx != NULL);
+ xmlSecAssert2(ctx != NULL, -1);
memset(ctx, 0, sizeof(xmlSecMSCryptoKeyDataCtx));
- xmlSecMSCryptoKeyDataCtxCreateProvider(ctx);
- xmlSecMSCryptoKeyDataCtxCreateKey(ctx);
+ ret = xmlSecMSCryptoKeyDataCtxCreateProvider(ctx);
+ if(ret != 0) {
+ xmlSecInternalError("xmlSecMSCryptoKeyDataCtxCreateProvider", NULL);
+ return(-1);
+ }
+ ret = xmlSecMSCryptoKeyDataCtxCreateKey(ctx);
+ if(ret != 0) {
+ xmlSecInternalError("xmlSecMSCryptoKeyDataCtxCreateKey", NULL);
+ return(-1);
+ }
xmlSecMSCryptoKeyDataCtxCreateCert(ctx);
+ return(0);
}
static void
@@ -748,11 +797,7 @@ xmlSecMSCryptoKeyDataGetSize(xmlSecKeyDataPtr data) {
DWORD lenlen = sizeof(DWORD);
if (!CryptGetKeyParam(xmlSecMSCryptoKeyDataCtxGetKey(ctx), KP_KEYLEN, (BYTE *)&length, &lenlen, 0)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "CertDuplicateCertificateContext",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecMSCryptoError("CertDuplicateCertificateContext", NULL);
return(0);
}
return(length);
@@ -795,11 +840,7 @@ PCCERT_CONTEXT xmlSecMSCryptoCertDup(PCCERT_CONTEXT pCert) {
ret = CertDuplicateCertificateContext(pCert);
if(ret == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "CertDuplicateCertificateContext",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecMSCryptoError("CertDuplicateCertificateContext", NULL);
return(NULL);
}
@@ -829,11 +870,7 @@ xmlSecMSCryptoCertAdopt(PCCERT_CONTEXT pCert, xmlSecKeyDataType type) {
if (!strcmp(pCert->pCertInfo->SubjectPublicKeyInfo.Algorithm.pszObjId, szOID_RSA_RSA)) {
data = xmlSecKeyDataCreate(xmlSecMSCryptoKeyDataRsaId);
if(data == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecKeyDataCreate",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "xmlSecMSCryptoDataRsaId");
+ xmlSecInternalError("xmlSecKeyDataCreate(KeyDataRsaId)", NULL);
return(NULL);
}
}
@@ -843,11 +880,7 @@ xmlSecMSCryptoCertAdopt(PCCERT_CONTEXT pCert, xmlSecKeyDataType type) {
if (!strcmp(pCert->pCertInfo->SubjectPublicKeyInfo.Algorithm.pszObjId, szOID_X957_DSA /*szOID_DSALG_SIGN*/)) {
data = xmlSecKeyDataCreate(xmlSecMSCryptoKeyDataDsaId);
if(data == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecKeyDataCreate",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "xmlSecMSCryptoKeyDataDsaId");
+ xmlSecInternalError("xmlSecKeyDataCreate(KeyDataDsaId)", NULL);
return(NULL);
}
}
@@ -859,22 +892,16 @@ xmlSecMSCryptoCertAdopt(PCCERT_CONTEXT pCert, xmlSecKeyDataType type) {
!strcmp(pCert->pCertInfo->SubjectPublicKeyInfo.Algorithm.pszObjId, szOID_MAGPRO_PUBKEY_SIGN_R3410_94_CP)) {
data = xmlSecKeyDataCreate(xmlSecMSCryptoKeyDataGost2001Id);
if(data == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecKeyDataCreate",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "xmlSecMSCryptoKeyDataGost2001Id");
+ xmlSecInternalError("xmlSecKeyDataCreate(KeyDataGost2001Id)", NULL);
return(NULL);
}
}
#endif /* XMLSEC_NO_GOST*/
if (NULL == data) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- NULL,
- XMLSEC_ERRORS_R_INVALID_TYPE,
- "PCCERT_CONTEXT key type %s not supported", pCert->pCertInfo->SubjectPublicKeyInfo.Algorithm.pszObjId);
+ xmlSecInvalidIntegerTypeError("PCCERT_CONTEXT key type",
+ pCert->pCertInfo->SubjectPublicKeyInfo.Algorithm.pszObjId,
+ "supported keytype", NULL);
return(NULL);
}
@@ -882,11 +909,7 @@ xmlSecMSCryptoCertAdopt(PCCERT_CONTEXT pCert, xmlSecKeyDataType type) {
ret = xmlSecMSCryptoKeyDataAdoptCert(data, pCert, type);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecMSCryptoPCCDataAdoptPCC",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecMSCryptoPCCDataAdoptPCC", NULL);
xmlSecKeyDataDestroy(data);
return(NULL);
}
@@ -1023,10 +1046,15 @@ xmlSecMSCryptoKeyDataRsaGetKlass(void) {
static int
xmlSecMSCryptoKeyDataRsaInitialize(xmlSecKeyDataPtr data) {
xmlSecMSCryptoKeyDataCtxPtr ctx;
+ int ret;
xmlSecAssert2(xmlSecKeyDataCheckId(data, xmlSecMSCryptoKeyDataRsaId), xmlSecKeyDataTypeUnknown);
- xmlSecMSCryptoKeyDataInitialize(data);
+ ret = xmlSecMSCryptoKeyDataInitialize(data);
+ if(ret != 0) {
+ xmlSecInternalError("xmlSecMSCryptoKeyDataInitialize", NULL);
+ return(-1);
+ }
ctx = xmlSecMSCryptoKeyDataGetCtx(data);
xmlSecAssert2(ctx != NULL, -1);
@@ -1072,43 +1100,32 @@ xmlSecMSCryptoKeyDataRsaXmlRead(xmlSecKeyDataId id, xmlSecKeyPtr key,
xmlSecAssert2(keyInfoCtx != NULL, -1);
if(xmlSecKeyGetValue(key) != NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- NULL,
- XMLSEC_ERRORS_R_INVALID_KEY_DATA,
- "key already has a value");
+ xmlSecOtherError(XMLSEC_ERRORS_R_INVALID_KEY_DATA,
+ xmlSecKeyDataKlassGetName(id),
+ "key already has a value");
return(-1);
}
/* initialize buffers */
ret = xmlSecBnInitialize(&modulus, 0);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecBnInitialize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "modulus");
+ xmlSecInternalError("xmlSecBnInitialize(modulus)",
+ xmlSecKeyDataKlassGetName(id));;
return(-1);
}
ret = xmlSecBnInitialize(&exponent, 0);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecBnInitialize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "exponent");
+ xmlSecInternalError("xmlSecBnInitialize(exponent)",
+ xmlSecKeyDataKlassGetName(id));
xmlSecBnFinalize(&modulus);
return(-1);
}
ret = xmlSecBufferInitialize(&blob, 0);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecBufferInitialize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "blob");
+ xmlSecInternalError("xmlSecBufferInitialize(blob)",
+ xmlSecKeyDataKlassGetName(id));
xmlSecBnFinalize(&modulus);
xmlSecBnFinalize(&exponent);
return(-1);
@@ -1119,45 +1136,28 @@ xmlSecMSCryptoKeyDataRsaXmlRead(xmlSecKeyDataId id, xmlSecKeyPtr key,
/* first is Modulus node. It is REQUIRED because we do not support Seed and PgenCounter*/
if((cur == NULL) || (!xmlSecCheckNodeName(cur, xmlSecNodeRSAModulus, xmlSecDSigNs))) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- xmlSecErrorsSafeString(xmlSecNodeGetName(cur)),
- XMLSEC_ERRORS_R_INVALID_NODE,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeRSAModulus));
+ xmlSecInvalidNodeError(cur, xmlSecNodeRSAModulus,
+ xmlSecKeyDataKlassGetName(id));
goto done;
}
ret = xmlSecBnGetNodeValue(&modulus, cur, xmlSecBnBase64, 1);
- if((ret < 0) || (xmlSecBnGetSize(&modulus) == 0)){
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecBnGetNodeValue",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeRSAModulus));
+ if((ret < 0) || (xmlSecBnGetSize(&modulus) == 0)) {
+ xmlSecInternalError("xmlSecBnGetNodeValue(modulus)",
+ xmlSecKeyDataKlassGetName(id));
goto done;
}
cur = xmlSecGetNextElementNode(cur->next);
/* next is Exponent node. It is REQUIRED because we do not support Seed and PgenCounter*/
- if((cur == NULL) || (!xmlSecCheckNodeName(cur, xmlSecNodeRSAExponent, xmlSecDSigNs))) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- xmlSecErrorsSafeString(xmlSecNodeGetName(cur)),
- XMLSEC_ERRORS_R_INVALID_NODE,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeRSAExponent));
+ if((cur == NULL) || (!xmlSecCheckNodeName(cur, xmlSecNodeRSAExponent, xmlSecDSigNs))) {
+ xmlSecInvalidNodeError(cur, xmlSecNodeRSAExponent, xmlSecKeyDataKlassGetName(id));
goto done;
}
ret = xmlSecBnGetNodeValue(&exponent, cur, xmlSecBnBase64, 1);
if((ret < 0) || (xmlSecBnGetSize(&exponent) == 0)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecBnGetNodeValue",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeRSAExponent));
+ xmlSecInternalError("xmlSecBnGetNodeValue(exponent)",
+ xmlSecKeyDataKlassGetName(id));
goto done;
}
cur = xmlSecGetNextElementNode(cur->next);
@@ -1169,11 +1169,7 @@ xmlSecMSCryptoKeyDataRsaXmlRead(xmlSecKeyDataId id, xmlSecKeyPtr key,
}
if(cur != NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- xmlSecErrorsSafeString(xmlSecNodeGetName(cur)),
- XMLSEC_ERRORS_R_INVALID_NODE,
- "no nodes expected");
+ xmlSecUnexpectedNodeError(cur, xmlSecKeyDataKlassGetName(id));
goto done;
}
@@ -1181,11 +1177,9 @@ xmlSecMSCryptoKeyDataRsaXmlRead(xmlSecKeyDataId id, xmlSecKeyPtr key,
blobBufferLen = sizeof(PUBLICKEYSTRUC) + sizeof(RSAPUBKEY) + xmlSecBnGetSize(&modulus);
ret = xmlSecBufferSetSize(&blob, blobBufferLen);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecBufferSetSize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "size=%d", blobBufferLen);
+ xmlSecInternalError2("xmlSecBufferSetSize",
+ xmlSecKeyDataKlassGetName(id),
+ "size=%d", blobBufferLen);
goto done;
}
@@ -1202,12 +1196,9 @@ xmlSecMSCryptoKeyDataRsaXmlRead(xmlSecKeyDataId id, xmlSecKeyPtr key,
pubKey->bitlen = xmlSecBnGetSize(&modulus) * 8; /* Number of bits in prime modulus */
pubKey->pubexp = 0;
if(sizeof(pubKey->pubexp) < xmlSecBnGetSize(&exponent)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- NULL,
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- "exponent size=%d",
- xmlSecBnGetSize(&exponent));
+ xmlSecInvalidSizeLessThanError("exponent size",
+ sizeof(pubKey->pubexp), xmlSecBnGetSize(&exponent),
+ NULL);
goto done;
}
xmlSecAssert2(xmlSecBnGetData(&exponent) != NULL, -1);
@@ -1220,40 +1211,28 @@ xmlSecMSCryptoKeyDataRsaXmlRead(xmlSecKeyDataId id, xmlSecKeyPtr key,
/* Now that we have the blob, import */
hProv = xmlSecMSCryptoFindProvider(xmlSecMSCryptoProviderInfo_Rsa, NULL, CRYPT_VERIFYCONTEXT, TRUE);
if(hProv == 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecMSCryptoFindProvider",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecMSCryptoFindProvider",
+ xmlSecKeyDataKlassGetName(id));
goto done;
}
if (!CryptImportKey(hProv, xmlSecBufferGetData(&blob), xmlSecBufferGetSize(&blob), 0, 0, &hKey)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "CryptImportKey",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecMSCryptoError("CryptImportKey",
+ xmlSecKeyDataKlassGetName(id));
goto done;
}
data = xmlSecKeyDataCreate(id);
if(data == NULL ) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecKeyDataCreate",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeyDataCreate",
+ xmlSecKeyDataKlassGetName(id));
goto done;
}
ret = xmlSecMSCryptoKeyDataAdoptKey(data, hProv, TRUE, hKey, 0, xmlSecKeyDataTypePublic);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecMSCryptoKeyDataAdoptKey",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecMSCryptoKeyDataAdoptKey",
+ xmlSecKeyDataKlassGetName(id));
goto done;
}
hProv = 0;
@@ -1261,11 +1240,8 @@ xmlSecMSCryptoKeyDataRsaXmlRead(xmlSecKeyDataId id, xmlSecKeyPtr key,
ret = xmlSecKeySetValue(key, data);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecKeySetValue",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeySetValue",
+ xmlSecKeyDataKlassGetName(id));
xmlSecKeyDataDestroy(data);
goto done;
}
@@ -1315,40 +1291,29 @@ xmlSecMSCryptoKeyDataRsaXmlWrite(xmlSecKeyDataId id, xmlSecKeyPtr key,
xmlSecAssert2(xmlSecMSCryptoKeyDataCtxGetKey(ctx) != 0, -1);
if (!CryptExportKey(xmlSecMSCryptoKeyDataCtxGetKey(ctx), 0, PUBLICKEYBLOB, 0, NULL, &dwBlobLen)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "CryptExportKey",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecMSCryptoError("CryptExportKey",
+ xmlSecKeyDataKlassGetName(id));
return(-1);
}
ret = xmlSecBufferInitialize(&buf, dwBlobLen);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecBufferInitialize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "size=%ld", dwBlobLen);
+ xmlSecInternalError2("xmlSecBufferInitialize",
+ xmlSecKeyDataKlassGetName(id),
+ "size=%ld", dwBlobLen);
return(-1);
}
blob = xmlSecBufferGetData(&buf);
if (!CryptExportKey(xmlSecMSCryptoKeyDataCtxGetKey(ctx), 0, PUBLICKEYBLOB, 0, blob, &dwBlobLen)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "CryptExportKey",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecMSCryptoError("CryptExportKey",
+ xmlSecKeyDataKlassGetName(id));
xmlSecBufferFinalize(&buf);
return(-1);
}
if (dwBlobLen < sizeof(PUBLICKEYSTRUC)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- NULL,
- XMLSEC_ERRORS_R_INVALID_DATA,
- "blobLen=%ld", dwBlobLen);
+ xmlSecInvalidSizeLessThanError("Key blob", dwBlobLen, sizeof(PUBLICKEYSTRUC),
+ xmlSecKeyDataKlassGetName(id));
xmlSecBufferFinalize(&buf);
return(-1);
}
@@ -1356,20 +1321,18 @@ xmlSecMSCryptoKeyDataRsaXmlWrite(xmlSecKeyDataId id, xmlSecKeyPtr key,
/* check PUBLICKEYSTRUC */
pubKeyStruc = (PUBLICKEYSTRUC*)blob;
if(pubKeyStruc->bVersion != 0x02) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "CryptExportKey",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- "pubKeyStruc->bVersion=%d", pubKeyStruc->bVersion);
+ xmlSecMSCryptoError2("CryptExportKey",
+ xmlSecKeyDataKlassGetName(id),
+ "pubKeyStruc->bVersion=%ld",
+ (long int)pubKeyStruc->bVersion);
xmlSecBufferFinalize(&buf);
return(-1);
}
if(pubKeyStruc->bType != PUBLICKEYBLOB) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "CryptExportKey",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- "pubKeyStruc->bType=%d", (int)pubKeyStruc->bType);
+ xmlSecMSCryptoError2("CryptExportKey",
+ xmlSecKeyDataKlassGetName(id),
+ "pubKeyStruc->bType=%ld",
+ (long int)pubKeyStruc->bType);
xmlSecBufferFinalize(&buf);
return(-1);
}
@@ -1377,22 +1340,19 @@ xmlSecMSCryptoKeyDataRsaXmlWrite(xmlSecKeyDataId id, xmlSecKeyPtr key,
/* check RSAPUBKEY */
pubKey = (RSAPUBKEY *)(blob + sizeof(PUBLICKEYSTRUC));
if(pubKey->magic != 0x31415352) { /* RSA public key magic */
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "CryptExportKey",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- "pubKey->magic=0x%08lx", pubKey->magic);
+ xmlSecMSCryptoError2("CryptExportKey",
+ xmlSecKeyDataKlassGetName(id),
+ "pubKey->magic=0x%08lx",
+ (long int)pubKey->magic);
xmlSecBufferFinalize(&buf);
return(-1);
}
modulusLen = pubKey->bitlen / 8;
if (dwBlobLen < sizeof(PUBLICKEYSTRUC) + sizeof(RSAPUBKEY) + modulusLen) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- NULL,
- XMLSEC_ERRORS_R_INVALID_DATA,
- "blobLen=%ld; modulusLen=%d", dwBlobLen, modulusLen);
+ xmlSecInvalidSizeLessThanError("Key blob",
+ dwBlobLen, sizeof(PUBLICKEYSTRUC) + sizeof(RSAPUBKEY) + modulusLen,
+ xmlSecKeyDataKlassGetName(id));
xmlSecBufferFinalize(&buf);
return(-1);
}
@@ -1401,24 +1361,16 @@ xmlSecMSCryptoKeyDataRsaXmlWrite(xmlSecKeyDataId id, xmlSecKeyPtr key,
/* first is Modulus node */
cur = xmlSecAddChild(node, xmlSecNodeRSAModulus, xmlSecDSigNs);
if(cur == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecAddChild",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeRSAModulus));
+ xmlSecInternalError("xmlSecAddChild(NodeRSAModulus)",
+ xmlSecKeyDataKlassGetName(id));
xmlSecBufferFinalize(&buf);
return(-1);
}
ret = xmlSecBnBlobSetNodeValue(blob, modulusLen, cur, xmlSecBnBase64, 1, 1);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecBnBlobSetNodeValue",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeRSAModulus));
+ xmlSecInternalError("xmlSecBnBlobSetNodeValue(NodeRSAModulus)",
+ xmlSecKeyDataKlassGetName(id));
xmlSecBufferFinalize(&buf);
return(-1);
}
@@ -1426,12 +1378,8 @@ xmlSecMSCryptoKeyDataRsaXmlWrite(xmlSecKeyDataId id, xmlSecKeyPtr key,
/* next is Exponent node. */
cur = xmlSecAddChild(node, xmlSecNodeRSAExponent, xmlSecDSigNs);
if(cur == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecAddChild",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeRSAExponent));
+ xmlSecInternalError("xmlSecAddChild(NodeRSAExponent)",
+ xmlSecKeyDataKlassGetName(id));
xmlSecBufferFinalize(&buf);
return(-1);
}
@@ -1445,18 +1393,15 @@ xmlSecMSCryptoKeyDataRsaXmlWrite(xmlSecKeyDataId id, xmlSecKeyPtr key,
ret = xmlSecBnBlobSetNodeValue(blob, exponentLen, cur, xmlSecBnBase64, 1, 1);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecBnBlobSetNodeValue",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeRSAExponent));
+ xmlSecInternalError("xmlSecBnBlobSetNodeValue(NodeRSAExponent)",
+ xmlSecKeyDataKlassGetName(id));
xmlSecBufferFinalize(&buf);
return(-1);
}
/* next is PrivateExponent node: not supported in MSCrypto */
+ /* done */
xmlSecBufferFinalize(&buf);
return(0);
}
@@ -1483,33 +1428,24 @@ xmlSecMSCryptoKeyDataRsaGenerate(xmlSecKeyDataPtr data, xmlSecSize sizeBits,
/* get provider */
hProv = xmlSecMSCryptoFindProvider(ctx->providers, NULL, CRYPT_VERIFYCONTEXT, TRUE);
if(hProv == 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- "xmlSecMSCryptoFindProvider",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecMSCryptoFindProvider",
+ xmlSecKeyDataGetName(data));
goto done;
}
dwKeySpec = AT_KEYEXCHANGE | AT_SIGNATURE;
dwSize = ((sizeBits << 16) | CRYPT_EXPORTABLE);
if (!CryptGenKey(hProv, CALG_RSA_SIGN, dwSize, &hKey)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- "CryptGenKey",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecMSCryptoError("CryptGenKey",
+ xmlSecKeyDataGetName(data));
goto done;
}
ret = xmlSecMSCryptoKeyDataAdoptKey(data, hProv, TRUE, hKey, dwKeySpec,
xmlSecKeyDataTypePublic | xmlSecKeyDataTypePrivate);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- "xmlSecMSCryptoKeyDataAdoptKey",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecMSCryptoKeyDataAdoptKey",
+ xmlSecKeyDataGetName(data));
goto done;
}
hProv = 0;
@@ -1723,10 +1659,15 @@ xmlSecMSCryptoKeyDataDsaGetKlass(void) {
static int
xmlSecMSCryptoKeyDataDsaInitialize(xmlSecKeyDataPtr data) {
xmlSecMSCryptoKeyDataCtxPtr ctx;
+ int ret;
xmlSecAssert2(xmlSecKeyDataCheckId(data, xmlSecMSCryptoKeyDataDsaId), xmlSecKeyDataTypeUnknown);
- xmlSecMSCryptoKeyDataInitialize(data);
+ ret = xmlSecMSCryptoKeyDataInitialize(data);
+ if(ret != 0) {
+ xmlSecInternalError("xmlSecMSCryptoKeyDataInitialize", NULL);
+ return(-1);
+ }
ctx = xmlSecMSCryptoKeyDataGetCtx(data);
xmlSecAssert2(ctx != NULL, -1);
@@ -1774,43 +1715,32 @@ xmlSecMSCryptoKeyDataDsaXmlRead(xmlSecKeyDataId id, xmlSecKeyPtr key,
xmlSecAssert2(keyInfoCtx != NULL, -1);
if(xmlSecKeyGetValue(key) != NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- NULL,
- XMLSEC_ERRORS_R_INVALID_KEY_DATA,
- "key already has a value");
+ xmlSecOtherError(XMLSEC_ERRORS_R_INVALID_KEY_DATA,
+ xmlSecKeyDataKlassGetName(id),
+ "key already has a value");
return(-1);
}
/* initialize buffers */
ret = xmlSecBnInitialize(&p, 0);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecBnInitialize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "p");
+ xmlSecInternalError("xmlSecBnInitialize(p)",
+ xmlSecKeyDataKlassGetName(id));
return(-1);
}
ret = xmlSecBnInitialize(&q, 0);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecBnInitialize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "q");
+ xmlSecInternalError("xmlSecBnInitialize(q)",
+ xmlSecKeyDataKlassGetName(id));
xmlSecBnFinalize(&p);
return(-1);
}
ret = xmlSecBnInitialize(&g, 0);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecBnInitialize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "g");
+ xmlSecInternalError("xmlSecBnInitialize(g)",
+ xmlSecKeyDataKlassGetName(id));
xmlSecBnFinalize(&p);
xmlSecBnFinalize(&q);
return(-1);
@@ -1818,11 +1748,8 @@ xmlSecMSCryptoKeyDataDsaXmlRead(xmlSecKeyDataId id, xmlSecKeyPtr key,
ret = xmlSecBnInitialize(&y, 0);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecBnInitialize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "y");
+ xmlSecInternalError("xmlSecBnInitialize(y)",
+ xmlSecKeyDataKlassGetName(id));
xmlSecBnFinalize(&p);
xmlSecBnFinalize(&q);
xmlSecBnFinalize(&g);
@@ -1831,11 +1758,8 @@ xmlSecMSCryptoKeyDataDsaXmlRead(xmlSecKeyDataId id, xmlSecKeyPtr key,
ret = xmlSecBufferInitialize(&blob, 0);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecBufferInitialize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "blob");
+ xmlSecInternalError("xmlSecBufferInitialize(blob)",
+ xmlSecKeyDataKlassGetName(id));
xmlSecBnFinalize(&p);
xmlSecBnFinalize(&q);
xmlSecBnFinalize(&g);
@@ -1848,67 +1772,40 @@ xmlSecMSCryptoKeyDataDsaXmlRead(xmlSecKeyDataId id, xmlSecKeyPtr key,
/* first is P node. It is REQUIRED because we do not support Seed and PgenCounter*/
if((cur == NULL) || (!xmlSecCheckNodeName(cur, xmlSecNodeDSAP, xmlSecDSigNs))) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- xmlSecErrorsSafeString(xmlSecNodeGetName(cur)),
- XMLSEC_ERRORS_R_INVALID_NODE,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeDSAP));
+ xmlSecInvalidNodeError(cur, xmlSecNodeDSAP, xmlSecKeyDataKlassGetName(id));
goto done;
}
ret = xmlSecBnGetNodeValue(&p, cur, xmlSecBnBase64, 1);
- if((ret < 0) || (xmlSecBnGetSize(&p) == 0)){
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecBnGetNodeValue",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeDSAP));
+ if((ret < 0) || (xmlSecBnGetSize(&p) == 0)) {
+ xmlSecInternalError("xmlSecBnGetNodeValue(p)",
+ xmlSecKeyDataKlassGetName(id));
goto done;
}
cur = xmlSecGetNextElementNode(cur->next);
/* next is Q node. It is REQUIRED because we do not support Seed and PgenCounter*/
if((cur == NULL) || (!xmlSecCheckNodeName(cur, xmlSecNodeDSAQ, xmlSecDSigNs))) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- xmlSecErrorsSafeString(xmlSecNodeGetName(cur)),
- XMLSEC_ERRORS_R_INVALID_NODE,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeDSAQ));
+ xmlSecInvalidNodeError(cur, xmlSecNodeDSAQ, xmlSecKeyDataKlassGetName(id));
goto done;
}
ret = xmlSecBnGetNodeValue(&q, cur, xmlSecBnBase64, 1);
- if((ret < 0) || (xmlSecBnGetSize(&q) == 0)){
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecBnGetNodeValue",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeDSAQ));
+ if((ret < 0) || (xmlSecBnGetSize(&q) == 0)) {
+ xmlSecInternalError("xmlSecBnGetNodeValue(q)",
+ xmlSecKeyDataKlassGetName(id));
goto done;
}
cur = xmlSecGetNextElementNode(cur->next);
/* next is G node. It is REQUIRED because we do not support Seed and PgenCounter*/
if((cur == NULL) || (!xmlSecCheckNodeName(cur, xmlSecNodeDSAG, xmlSecDSigNs))) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- xmlSecErrorsSafeString(xmlSecNodeGetName(cur)),
- XMLSEC_ERRORS_R_INVALID_NODE,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeDSAG));
+ xmlSecInvalidNodeError(cur, xmlSecNodeDSAG, xmlSecKeyDataKlassGetName(id));
goto done;
}
ret = xmlSecBnGetNodeValue(&g, cur, xmlSecBnBase64, 1);
if((ret < 0) || (xmlSecBnGetSize(&q) == 0)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecBnGetNodeValue",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeDSAG));
+ xmlSecInternalError("xmlSecBnGetNodeValue(g)",
+ xmlSecKeyDataKlassGetName(id));
goto done;
}
cur = xmlSecGetNextElementNode(cur->next);
@@ -1922,21 +1819,13 @@ xmlSecMSCryptoKeyDataDsaXmlRead(xmlSecKeyDataId id, xmlSecKeyPtr key,
/* next is Y node. */
if((cur == NULL) || (!xmlSecCheckNodeName(cur, xmlSecNodeDSAY, xmlSecDSigNs))) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- xmlSecErrorsSafeString(xmlSecNodeGetName(cur)),
- XMLSEC_ERRORS_R_INVALID_NODE,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeDSAY));
+ xmlSecInvalidNodeError(cur, xmlSecNodeDSAY, xmlSecKeyDataKlassGetName(id));
goto done;
}
ret = xmlSecBnGetNodeValue(&y, cur, xmlSecBnBase64, 1);
if((ret < 0) || (xmlSecBnGetSize(&y) == 0)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecBnGetNodeValue",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s", xmlSecErrorsSafeString(xmlSecNodeDSAY));
+ xmlSecInternalError("xmlSecBnGetNodeValue(y)",
+ xmlSecKeyDataKlassGetName(id));
goto done;
}
cur = xmlSecGetNextElementNode(cur->next);
@@ -1957,11 +1846,7 @@ xmlSecMSCryptoKeyDataDsaXmlRead(xmlSecKeyDataId id, xmlSecKeyPtr key,
}
if(cur != NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- xmlSecErrorsSafeString(xmlSecNodeGetName(cur)),
- XMLSEC_ERRORS_R_UNEXPECTED_NODE,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecUnexpectedNodeError(cur, xmlSecKeyDataKlassGetName(id))
goto done;
}
@@ -1969,11 +1854,7 @@ xmlSecMSCryptoKeyDataDsaXmlRead(xmlSecKeyDataId id, xmlSecKeyPtr key,
blobBufferLen = sizeof(PUBLICKEYSTRUC) + sizeof(DSSPUBKEY) + 3 * xmlSecBnGetSize(&p) + 0x14 + sizeof(DSSSEED);
ret = xmlSecBufferSetSize(&blob, blobBufferLen);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecBufferSetSize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "size=%d", blobBufferLen);
+ xmlSecInternalError2("xmlSecBufferSetSize", NULL, "size=%d", blobBufferLen);
goto done;
}
@@ -1999,11 +1880,8 @@ xmlSecMSCryptoKeyDataDsaXmlRead(xmlSecKeyDataId id, xmlSecKeyPtr key,
/* set q */
if(xmlSecBnGetSize(&q) > 0x14) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "q",
- XMLSEC_ERRORS_R_INVALID_SIZE,
- "size=%d > 0x14", xmlSecBnGetSize(&q));
+ xmlSecInvalidSizeLessThanError("DSA key q",
+ xmlSecBnGetSize(&q), 0x14, NULL);
goto done;
}
xmlSecAssert2(xmlSecBnGetData(&q) != NULL, -1);
@@ -2017,13 +1895,10 @@ xmlSecMSCryptoKeyDataDsaXmlRead(xmlSecKeyDataId id, xmlSecKeyPtr key,
/* set generator */
if(xmlSecBnGetSize(&g) > xmlSecBnGetSize(&p)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "g",
- XMLSEC_ERRORS_R_INVALID_SIZE,
- "size=%d > %d",
- xmlSecBnGetSize(&g),
- xmlSecBnGetSize(&p));
+ xmlSecInvalidSizeMoreThanError("DSA key g",
+ xmlSecBnGetSize(&g),
+ xmlSecBnGetSize(&p),
+ NULL);
goto done;
}
xmlSecAssert2(xmlSecBnGetData(&g) != NULL, -1);
@@ -2036,13 +1911,10 @@ xmlSecMSCryptoKeyDataDsaXmlRead(xmlSecKeyDataId id, xmlSecKeyPtr key,
/* Public key */
if(xmlSecBnGetSize(&y) > xmlSecBnGetSize(&p)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "y",
- XMLSEC_ERRORS_R_INVALID_SIZE,
- "size=%d > %d",
- xmlSecBnGetSize(&y),
- xmlSecBnGetSize(&p));
+ xmlSecInvalidSizeMoreThanError("DSA key y",
+ xmlSecBnGetSize(&y),
+ xmlSecBnGetSize(&p),
+ NULL);
goto done;
}
xmlSecAssert2(xmlSecBnGetData(&y) != NULL, -1);
@@ -2060,41 +1932,29 @@ xmlSecMSCryptoKeyDataDsaXmlRead(xmlSecKeyDataId id, xmlSecKeyPtr key,
hProv = xmlSecMSCryptoFindProvider(xmlSecMSCryptoProviderInfo_Dss, NULL, CRYPT_VERIFYCONTEXT, TRUE);
if(hProv == 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecMSCryptoFindProvider",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecMSCryptoFindProvider",
+ xmlSecKeyDataKlassGetName(id));
goto done;
}
/* import the key blob */
if (!CryptImportKey(hProv, xmlSecBufferGetData(&blob), xmlSecBufferGetSize(&blob), 0, 0, &hKey)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "CryptImportKey",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecMSCryptoError("CryptImportKey",
+ xmlSecKeyDataKlassGetName(id));
goto done;
}
data = xmlSecKeyDataCreate(id);
if(data == NULL ) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecKeyDataCreate",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeyDataCreate",
+ xmlSecKeyDataKlassGetName(id));
goto done;
}
ret = xmlSecMSCryptoKeyDataAdoptKey(data, hProv, TRUE, hKey, 0, xmlSecKeyDataTypePublic);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- "xmlSecMSCryptoKeyDataAdoptKey",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecMSCryptoKeyDataAdoptKey",
+ xmlSecKeyDataGetName(data));
goto done;
}
hProv = 0;
@@ -2102,11 +1962,8 @@ xmlSecMSCryptoKeyDataDsaXmlRead(xmlSecKeyDataId id, xmlSecKeyPtr key,
ret = xmlSecKeySetValue(key, data);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- "xmlSecKeySetValue",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeySetValue",
+ xmlSecKeyDataGetName(data));
goto done;
}
data = NULL;
@@ -2159,40 +2016,29 @@ xmlSecMSCryptoKeyDataDsaXmlWrite(xmlSecKeyDataId id, xmlSecKeyPtr key,
xmlSecAssert2(xmlSecMSCryptoKeyDataCtxGetKey(ctx) != 0, -1);
if (!CryptExportKey(xmlSecMSCryptoKeyDataCtxGetKey(ctx), 0, PUBLICKEYBLOB, 0, NULL, &dwBlobLen)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "CryptExportKey",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("CryptExportKey",
+ xmlSecKeyDataKlassGetName(id));
return(-1);
}
ret = xmlSecBufferInitialize(&buf, dwBlobLen);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecBufferInitialize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "size=%ld", dwBlobLen);
+ xmlSecInternalError2("xmlSecBufferInitialize",
+ xmlSecKeyDataKlassGetName(id),
+ "size=%ld", dwBlobLen);
return(-1);
}
blob = xmlSecBufferGetData(&buf);
if (!CryptExportKey(xmlSecMSCryptoKeyDataCtxGetKey(ctx), 0, PUBLICKEYBLOB, 0, blob, &dwBlobLen)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "CryptExportKey",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecMSCryptoError("CryptExportKey",
+ xmlSecKeyDataKlassGetName(id));
xmlSecBufferFinalize(&buf);
return(-1);
}
if (dwBlobLen < sizeof(PUBLICKEYSTRUC)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- NULL,
- XMLSEC_ERRORS_R_INVALID_DATA,
- "blobLen=%ld", dwBlobLen);
+ xmlSecInvalidSizeLessThanError("Key blob", dwBlobLen, sizeof(PUBLICKEYSTRUC),
+ xmlSecKeyDataKlassGetName(id));
xmlSecBufferFinalize(&buf);
return(-1);
}
@@ -2200,20 +2046,18 @@ xmlSecMSCryptoKeyDataDsaXmlWrite(xmlSecKeyDataId id, xmlSecKeyPtr key,
/* check PUBLICKEYSTRUC */
pubKeyStruc = (PUBLICKEYSTRUC*)blob;
if(pubKeyStruc->bVersion != 0x02) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "CryptExportKey",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- "pubKeyStruc->bVersion=%d", pubKeyStruc->bVersion);
+ xmlSecMSCryptoError2("CryptExportKey",
+ xmlSecKeyDataKlassGetName(id),
+ "pubKeyStruc->bVersion=%ld",
+ (long int)pubKeyStruc->bVersion);
xmlSecBufferFinalize(&buf);
return(-1);
}
if(pubKeyStruc->bType != PUBLICKEYBLOB) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "CryptExportKey",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- "pubKeyStruc->bType=%d", (int)pubKeyStruc->bType);
+ xmlSecMSCryptoError2("CryptExportKey",
+ xmlSecKeyDataKlassGetName(id),
+ "pubKeyStruc->bType=%ld",
+ (long int)pubKeyStruc->bType);
xmlSecBufferFinalize(&buf);
return(-1);
}
@@ -2221,11 +2065,10 @@ xmlSecMSCryptoKeyDataDsaXmlWrite(xmlSecKeyDataId id, xmlSecKeyPtr key,
/* check DSSPUBKEY */
pubKey = (DSSPUBKEY*)(blob + sizeof(PUBLICKEYSTRUC));
if(pubKey->magic != 0x31535344) { /* DSS key magic */
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "CryptExportKey",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- "pubKey->magic=0x%08lx", pubKey->magic);
+ xmlSecMSCryptoError2("CryptExportKey",
+ xmlSecKeyDataKlassGetName(id),
+ "pubKey->magic=0x%08lx",
+ (long int)pubKey->magic);
xmlSecBufferFinalize(&buf);
return(-1);
}
@@ -2233,11 +2076,9 @@ xmlSecMSCryptoKeyDataDsaXmlWrite(xmlSecKeyDataId id, xmlSecKeyPtr key,
/* we assume that sizeof(q) < 0x14, sizeof(g) <= sizeof(p) and sizeof(y) <= sizeof(p) */
if (dwBlobLen < sizeof(PUBLICKEYSTRUC) + sizeof(DSSPUBKEY) + 3 * keyLen + 0x14 + sizeof(DSSSEED)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- NULL,
- XMLSEC_ERRORS_R_INVALID_DATA,
- "blobLen=%ld; keyLen=%d", dwBlobLen, keyLen);
+ xmlSecInvalidSizeLessThanError("Key blob",
+ dwBlobLen, sizeof(PUBLICKEYSTRUC) + sizeof(DSSPUBKEY) + 3 * keyLen + 0x14 + sizeof(DSSSEED),
+ xmlSecKeyDataKlassGetName(id));
xmlSecBufferFinalize(&buf);
return(-1);
}
@@ -2246,24 +2087,16 @@ xmlSecMSCryptoKeyDataDsaXmlWrite(xmlSecKeyDataId id, xmlSecKeyPtr key,
/* first is P node */
cur = xmlSecAddChild(node, xmlSecNodeDSAP, xmlSecDSigNs);
if(cur == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecAddChild",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeDSAP));
+ xmlSecInternalError("xmlSecAddChild(NodeDSAP)",
+ xmlSecKeyDataKlassGetName(id));
xmlSecBufferFinalize(&buf);
return(-1);
}
ret = xmlSecBnBlobSetNodeValue(blob, keyLen, cur, xmlSecBnBase64, 1, 1);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecBnBlobSetNodeValue",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeDSAP));
+ xmlSecInternalError("xmlSecBnBlobSetNodeValue(NodeDSAP)",
+ xmlSecKeyDataKlassGetName(id));
xmlSecBufferFinalize(&buf);
return(-1);
}
@@ -2272,12 +2105,8 @@ xmlSecMSCryptoKeyDataDsaXmlWrite(xmlSecKeyDataId id, xmlSecKeyPtr key,
/* next is Q node. */
cur = xmlSecAddChild(node, xmlSecNodeDSAQ, xmlSecDSigNs);
if(cur == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecAddChild",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeDSAQ));
+ xmlSecInternalError("xmlSecAddChild(NodeDSAQ)",
+ xmlSecKeyDataKlassGetName(id));
xmlSecBufferFinalize(&buf);
return(-1);
}
@@ -2287,12 +2116,8 @@ xmlSecMSCryptoKeyDataDsaXmlWrite(xmlSecKeyDataId id, xmlSecKeyPtr key,
ret = xmlSecBnBlobSetNodeValue(blob, len, cur, xmlSecBnBase64, 1, 1);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecBnBlobSetNodeValue",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeDSAQ));
+ xmlSecInternalError("xmlSecBnBlobSetNodeValue(NodeDSAQ)",
+ xmlSecKeyDataKlassGetName(id));
xmlSecBufferFinalize(&buf);
return(-1);
}
@@ -2301,12 +2126,8 @@ xmlSecMSCryptoKeyDataDsaXmlWrite(xmlSecKeyDataId id, xmlSecKeyPtr key,
/* next is G node. */
cur = xmlSecAddChild(node, xmlSecNodeDSAG, xmlSecDSigNs);
if(cur == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecAddChild",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeDSAG));
+ xmlSecInternalError("xmlSecAddChild(NodeDSAG)",
+ xmlSecKeyDataKlassGetName(id));
xmlSecBufferFinalize(&buf);
return(-1);
}
@@ -2316,12 +2137,8 @@ xmlSecMSCryptoKeyDataDsaXmlWrite(xmlSecKeyDataId id, xmlSecKeyPtr key,
ret = xmlSecBnBlobSetNodeValue(blob, len, cur, xmlSecBnBase64, 1, 1);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecBnBlobSetNodeValue",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeDSAG));
+ xmlSecInternalError("xmlSecBnBlobSetNodeValue(NodeDSAG)",
+ xmlSecKeyDataKlassGetName(id));
xmlSecBufferFinalize(&buf);
return(-1);
}
@@ -2332,12 +2149,8 @@ xmlSecMSCryptoKeyDataDsaXmlWrite(xmlSecKeyDataId id, xmlSecKeyPtr key,
/* next is Y node. */
cur = xmlSecAddChild(node, xmlSecNodeDSAY, xmlSecDSigNs);
if(cur == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecAddChild",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeDSAY));
+ xmlSecInternalError("xmlSecAddChild(NodeDSAY)",
+ xmlSecKeyDataKlassGetName(id));
xmlSecBufferFinalize(&buf);
return(-1);
}
@@ -2347,12 +2160,8 @@ xmlSecMSCryptoKeyDataDsaXmlWrite(xmlSecKeyDataId id, xmlSecKeyPtr key,
ret = xmlSecBnBlobSetNodeValue(blob, len, cur, xmlSecBnBase64, 1, 1);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecBnBlobSetNodeValue",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeDSAY));
+ xmlSecInternalError("xmlSecBnBlobSetNodeValue(NodeDSAY)",
+ xmlSecKeyDataKlassGetName(id));
xmlSecBufferFinalize(&buf);
return(-1);
}
@@ -2381,33 +2190,24 @@ xmlSecMSCryptoKeyDataDsaGenerate(xmlSecKeyDataPtr data, xmlSecSize sizeBits, xml
hProv = xmlSecMSCryptoFindProvider(ctx->providers, NULL, CRYPT_VERIFYCONTEXT, TRUE);
if(hProv == 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- "xmlSecMSCryptoFindProvider",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecMSCryptoFindProvider",
+ xmlSecKeyDataGetName(data));
return(-1);
}
dwKeySpec = AT_SIGNATURE;
dwSize = ((sizeBits << 16) | CRYPT_EXPORTABLE);
if (!CryptGenKey(hProv, CALG_DSS_SIGN, dwSize, &hKey)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- "CryptGenKey",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecMSCryptoError("CryptGenKey",
+ xmlSecKeyDataGetName(data));
goto done;
}
ret = xmlSecMSCryptoKeyDataAdoptKey(data, hProv, TRUE, hKey, dwKeySpec,
xmlSecKeyDataTypePublic | xmlSecKeyDataTypePrivate);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- "xmlSecMSCryptoKeyDataAdoptKey",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecMSCryptoKeyDataAdoptKey",
+ xmlSecKeyDataGetName(data));
goto done;
}
hProv = 0;
@@ -2555,10 +2355,15 @@ xmlSecMSCryptoKeyDataGost2001GetKlass(void) {
static int
xmlSecMSCryptoKeyDataGost2001Initialize(xmlSecKeyDataPtr data) {
xmlSecMSCryptoKeyDataCtxPtr ctx;
+ int ret;
xmlSecAssert2(xmlSecKeyDataCheckId(data, xmlSecMSCryptoKeyDataGost2001Id), xmlSecKeyDataTypeUnknown);
- xmlSecMSCryptoKeyDataInitialize(data);
+ ret = xmlSecMSCryptoKeyDataInitialize(data);
+ if(ret != 0) {
+ xmlSecInternalError("xmlSecMSCryptoKeyDataInitialize", NULL);
+ return(-1);
+ }
ctx = xmlSecMSCryptoKeyDataGetCtx(data);
xmlSecAssert2(ctx != NULL, -1);
@@ -2612,41 +2417,4 @@ xmlSecMSCryptoKeyDataGost2001DebugXmlDump(xmlSecKeyDataPtr data, FILE* output) {
xmlSecMSCryptoKeyDataGost2001GetSize(data));
}
-PCRYPT_KEY_PROV_INFO xmlSecMSCryptoKeyDataGetMSCryptoProviderInfo(xmlSecKeyDataPtr data) {
- xmlSecMSCryptoKeyDataCtxPtr ctx;
- LPBYTE pInfoData = NULL;
- DWORD dwInfoDataLength = 0;
-
- xmlSecAssert2(data != NULL, NULL);
-
- ctx = xmlSecMSCryptoKeyDataGetCtx(data);
- xmlSecAssert2(ctx != NULL, NULL);
- xmlSecAssert2(ctx->pCert != NULL, NULL);
-
- if(!CertGetCertificateContextProperty(ctx->pCert, CERT_KEY_PROV_INFO_PROP_ID, NULL, &dwInfoDataLength)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "CertGetCertificateContextProperty",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
- return NULL;
- }
-
- if(dwInfoDataLength > 0) {
- pInfoData = malloc(dwInfoDataLength * sizeof(BYTE));
-
- if(!CertGetCertificateContextProperty(ctx->pCert, CERT_KEY_PROV_INFO_PROP_ID, pInfoData, &dwInfoDataLength)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "CertGetCertificateContextProperty",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
- free(pInfoData);
- return NULL;
- }
- }
-
- return (PCRYPT_KEY_PROV_INFO)pInfoData;
-}
-
#endif /* XMLSEC_NO_GOST*/
diff --git a/src/mscrypto/ciphers.c b/src/mscrypto/ciphers.c
index 2ac3da0..78693c5 100644
--- a/src/mscrypto/ciphers.c
+++ b/src/mscrypto/ciphers.c
@@ -1,5 +1,5 @@
-/**
- * XMLSec library
+/*
+ * XML Security Library (http://www.aleksey.com/xmlsec).
*
* This is free software; see Copyright file in the source
* distribution for preciese wording.
@@ -72,11 +72,7 @@ xmlSecMSCryptoBlockCipherCtxInit(xmlSecMSCryptoBlockCipherCtxPtr ctx,
/* iv len == block len */
dwBlockLenLen = sizeof(DWORD);
if (!CryptGetKeyParam(ctx->cryptKey, KP_BLOCKLEN, (BYTE *)&dwBlockLen, &dwBlockLenLen, 0)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(cipherName),
- "CryptGetKeyParam",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecMSCryptoError("CryptGetKeyParam", cipherName);
return(-1);
}
@@ -90,31 +86,21 @@ xmlSecMSCryptoBlockCipherCtxInit(xmlSecMSCryptoBlockCipherCtxPtr ctx,
outSize = xmlSecBufferGetSize(out);
ret = xmlSecBufferSetSize(out, outSize + blockLen);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(cipherName),
- "xmlSecBufferSetSize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "size=%d", outSize + blockLen);
+ xmlSecInternalError2("xmlSecBufferSetSize", cipherName,
+ "size=%d", outSize + blockLen);
return(-1);
}
iv = xmlSecBufferGetData(out) + outSize;
/* generate and use random iv */
if(!CryptGenRandom(ctx->cryptProvider, blockLen, iv)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(cipherName),
- "CryptGenRandom",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- "len=%d", blockLen);
+ xmlSecMSCryptoError2("CryptGenRandom", cipherName,
+ "len=%d", blockLen);
return(-1);
}
if(!CryptSetKeyParam(ctx->cryptKey, KP_IV, iv, 0)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(cipherName),
- "CryptSetKeyParam",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecMSCryptoError("CryptSetKeyParam", cipherName);
return(-1);
}
} else {
@@ -127,22 +113,15 @@ xmlSecMSCryptoBlockCipherCtxInit(xmlSecMSCryptoBlockCipherCtxPtr ctx,
/* set iv */
if (!CryptSetKeyParam(ctx->cryptKey, KP_IV, xmlSecBufferGetData(in), 0)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(cipherName),
- "CryptSetKeyParam",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecMSCryptoError("CryptSetKeyParam", cipherName);
return(-1);
}
/* and remove from input */
ret = xmlSecBufferRemoveHead(in, blockLen);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(cipherName),
- "xmlSecBufferRemoveHead",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "size=%d", blockLen);
+ xmlSecInternalError2("xmlSecBufferRemoveHead", cipherName,
+ "size=%d", blockLen);
return(-1);
}
@@ -173,11 +152,7 @@ xmlSecMSCryptoBlockCipherCtxUpdate(xmlSecMSCryptoBlockCipherCtxPtr ctx,
dwBlockLenLen = sizeof(DWORD);
if (!CryptGetKeyParam(ctx->cryptKey, KP_BLOCKLEN, (BYTE *)&dwBlockLen, &dwBlockLenLen, 0)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(cipherName),
- "CryptSetKeyParam",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecMSCryptoError("CryptSetKeyParam", cipherName);
return(-1);
}
blockLen = dwBlockLen / 8;
@@ -202,11 +177,8 @@ xmlSecMSCryptoBlockCipherCtxUpdate(xmlSecMSCryptoBlockCipherCtxPtr ctx,
/* we write out the input size plus may be one block */
ret = xmlSecBufferSetMaxSize(out, outSize + inSize + blockLen);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(cipherName),
- "xmlSecBufferSetMaxSize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "size=%d", outSize + inSize + blockLen);
+ xmlSecInternalError2("xmlSecBufferSetMaxSize", cipherName,
+ "size=%d", outSize + inSize + blockLen);
return(-1);
}
outBuf = xmlSecBufferGetData(out) + outSize;
@@ -217,52 +189,35 @@ xmlSecMSCryptoBlockCipherCtxUpdate(xmlSecMSCryptoBlockCipherCtxPtr ctx,
dwCLen = inSize;
if(encrypt) {
if(!CryptEncrypt(ctx->cryptKey, 0, FALSE, 0, outBuf, &dwCLen, inSize + blockLen)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(cipherName),
- "CryptEncrypt",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecMSCryptoError("CryptEncrypt", cipherName);
return(-1);
}
} else {
if (!CryptDecrypt(ctx->cryptKey, 0, FALSE, 0, outBuf, &dwCLen)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(cipherName),
- "CryptSetKeyDecrypt",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecMSCryptoError("CryptSetKeyDecrypt", cipherName);
return(-1);
}
}
/* Check if we really have de/encrypted the numbers of bytes that we requested */
if (dwCLen != inSize) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(cipherName),
- "CryptEn/Decrypt",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "size=%ld", dwCLen);
+ xmlSecInternalError2("CryptEn/Decrypt", cipherName,
+ "size=%ld", dwCLen);
return(-1);
}
/* set correct output buffer size */
ret = xmlSecBufferSetSize(out, outSize + inSize);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(cipherName),
- "xmlSecBufferSetSize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "size=%d", outSize + inSize);
+ xmlSecInternalError2("xmlSecBufferSetSize", cipherName,
+ "size=%d", outSize + inSize);
return(-1);
}
/* remove the processed block from input */
ret = xmlSecBufferRemoveHead(in, inSize);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(cipherName),
- "xmlSecBufferRemoveHead",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "size=%d", inSize);
+ xmlSecInternalError2("xmlSecBufferRemoveHead", cipherName,
+ "size=%d", inSize);
return(-1);
}
return(0);
@@ -290,11 +245,7 @@ xmlSecMSCryptoBlockCipherCtxFinal(xmlSecMSCryptoBlockCipherCtxPtr ctx,
dwBlockLenLen = sizeof(DWORD);
if (!CryptGetKeyParam(ctx->cryptKey, KP_BLOCKLEN, (BYTE *)&dwBlockLen, &dwBlockLenLen, 0)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(cipherName),
- "CryptGetKeyParam",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecMSCryptoError("CryptGetKeyParam", cipherName);
return(-1);
}
blockLen = dwBlockLen / 8;
@@ -309,11 +260,8 @@ xmlSecMSCryptoBlockCipherCtxFinal(xmlSecMSCryptoBlockCipherCtxPtr ctx,
/* create padding */
ret = xmlSecBufferSetMaxSize(in, blockLen);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(cipherName),
- "xmlSecBufferSetMaxSize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "size=%d", blockLen);
+ xmlSecInternalError2("xmlSecBufferSetMaxSize", cipherName,
+ "size=%d", blockLen);
return(-1);
}
inBuf = xmlSecBufferGetData(in);
@@ -321,23 +269,15 @@ xmlSecMSCryptoBlockCipherCtxFinal(xmlSecMSCryptoBlockCipherCtxPtr ctx,
/* create random padding */
if((size_t)blockLen > (inSize + 1)) {
if (!CryptGenRandom(ctx->cryptProvider, blockLen - inSize - 1, inBuf + inSize)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(cipherName),
- "CryptGenRandom",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecMSCryptoError("CryptGenRandom", cipherName);
return(-1);
}
}
- inBuf[blockLen - 1] = blockLen - inSize;
+ inBuf[blockLen - 1] = (unsigned char)(blockLen - inSize);
inSize = blockLen;
} else {
if(inSize != (size_t)blockLen) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(cipherName),
- NULL,
- XMLSEC_ERRORS_R_INVALID_DATA,
- "data=%d;block=%d", inSize, blockLen);
+ xmlSecInvalidSizeError("Input data", inSize, blockLen, cipherName);
return(-1);
}
inBuf = xmlSecBufferGetData(in);
@@ -346,11 +286,8 @@ xmlSecMSCryptoBlockCipherCtxFinal(xmlSecMSCryptoBlockCipherCtxPtr ctx,
/* process last block */
ret = xmlSecBufferSetMaxSize(out, outSize + 2 * blockLen);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(cipherName),
- "xmlSecBufferSetMaxSize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "size=%d", outSize + 2 * blockLen);
+ xmlSecInternalError2("xmlSecBufferSetMaxSize", cipherName,
+ "size=%d", outSize + 2 * blockLen);
return(-1);
}
outBuf = xmlSecBufferGetData(out) + outSize;
@@ -361,43 +298,28 @@ xmlSecMSCryptoBlockCipherCtxFinal(xmlSecMSCryptoBlockCipherCtxPtr ctx,
/* Set process last block to false, since we handle padding ourselves, and MSCrypto padding
* can be skipped. I hope this will work .... */
if(!CryptEncrypt(ctx->cryptKey, 0, FALSE, 0, outBuf, &dwCLen, inSize + blockLen)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(cipherName),
- "CryptEncrypt",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecMSCryptoError("CryptEncrypt", cipherName);
return(-1);
}
} else {
if (!CryptDecrypt(ctx->cryptKey, 0, FALSE, 0, outBuf, &dwCLen)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(cipherName),
- "CryptDecrypt",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecMSCryptoError("CryptDecrypt", cipherName);
return(-1);
}
}
/* Check if we really have de/encrypted the numbers of bytes that we requested */
if (dwCLen != inSize) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(cipherName),
- "CryptEn/Decrypt",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "size=%ld", dwCLen);
+ xmlSecInternalError2("CryptEn/Decrypt", cipherName,
+ "size=%ld", dwCLen);
return(-1);
}
if(encrypt == 0) {
/* check padding */
if(inSize < outBuf[blockLen - 1]) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(cipherName),
- NULL,
- XMLSEC_ERRORS_R_INVALID_DATA,
- "padding=%d;buffer=%d",
- outBuf[blockLen - 1], inSize);
+ xmlSecInvalidSizeLessThanError("Input data padding",
+ inSize, outBuf[blockLen - 1], cipherName);
return(-1);
}
outLen = inSize - outBuf[blockLen - 1];
@@ -408,22 +330,16 @@ xmlSecMSCryptoBlockCipherCtxFinal(xmlSecMSCryptoBlockCipherCtxPtr ctx,
/* set correct output buffer size */
ret = xmlSecBufferSetSize(out, outSize + outLen);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(cipherName),
- "xmlSecBufferSetSize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "size=%d", outSize + outLen);
+ xmlSecInternalError2("xmlSecBufferSetSize", cipherName,
+ "size=%d", outSize + outLen);
return(-1);
}
/* remove the processed block from input */
ret = xmlSecBufferRemoveHead(in, inSize);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(cipherName),
- "xmlSecBufferRemoveHead",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "size=%d", inSize);
+ xmlSecInternalError2("xmlSecBufferRemoveHead", cipherName,
+ "size=%d", inSize);
return(-1);
}
@@ -538,33 +454,21 @@ xmlSecMSCryptoBlockCipherInitialize(xmlSecTransformPtr transform) {
#endif /* XMLSEC_NO_AES */
{
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- NULL,
- XMLSEC_ERRORS_R_INVALID_TRANSFORM,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInvalidTransfromError(transform)
return(-1);
}
ctx->cryptProvider = xmlSecMSCryptoFindProvider(ctx->providers, NULL, CRYPT_VERIFYCONTEXT, TRUE);
if(ctx->cryptProvider == 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecMSCryptoFindProvider",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
-
+ xmlSecInternalError("xmlSecMSCryptoFindProvider",
+ xmlSecTransformGetName(transform));
return(-1);
}
/* Create dummy key to be able to import plain session keys */
if (!xmlSecMSCryptoCreatePrivateExponentOneKey(ctx->cryptProvider, &(ctx->pubPrivKey))) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecMSCryptoCreatePrivateExponentOneKey",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
-
+ xmlSecMSCryptoError("xmlSecMSCryptoCreatePrivateExponentOneKey",
+ xmlSecTransformGetName(transform));
return(-1);
}
@@ -643,12 +547,8 @@ xmlSecMSCryptoBlockCipherSetKey(xmlSecTransformPtr transform, xmlSecKeyPtr key)
xmlSecAssert2(buffer != NULL, -1);
if(xmlSecBufferGetSize(buffer) < ctx->keySize) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- NULL,
- XMLSEC_ERRORS_R_INVALID_KEY_DATA_SIZE,
- "keySize=%d;expected=%d",
- xmlSecBufferGetSize(buffer), ctx->keySize);
+ xmlSecInvalidKeyDataSizeError(xmlSecBufferGetSize(buffer), ctx->keySize,
+ xmlSecTransformGetName(transform));
return(-1);
}
@@ -664,11 +564,8 @@ xmlSecMSCryptoBlockCipherSetKey(xmlSecTransformPtr transform, xmlSecKeyPtr key)
TRUE,
&(ctx->cryptKey))) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecMSCryptoImportPlainSessionBlob",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecMSCryptoImportPlainSessionBlob",
+ xmlSecTransformGetName(transform));
return(-1);
}
@@ -706,20 +603,14 @@ xmlSecMSCryptoBlockCipherExecute(xmlSecTransformPtr transform, int last, xmlSecT
transformCtx);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecMSCryptoBlockCipherCtxInit",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecMSCryptoBlockCipherCtxInit",
+ xmlSecTransformGetName(transform));
return(-1);
}
}
if((ctx->ctxInitialized == 0) && (last != 0)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- NULL,
- XMLSEC_ERRORS_R_INVALID_DATA,
- "not enough data to initialize transform");
+ xmlSecInvalidDataError("not enough data to initialize transform",
+ xmlSecTransformGetName(transform));
return(-1);
}
if(ctx->ctxInitialized != 0) {
@@ -727,11 +618,8 @@ xmlSecMSCryptoBlockCipherExecute(xmlSecTransformPtr transform, int last, xmlSecT
(transform->operation == xmlSecTransformOperationEncrypt) ? 1 : 0,
xmlSecTransformGetName(transform), transformCtx);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecMSCryptoBlockCipherCtxUpdate",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecMSCryptoBlockCipherCtxUpdate",
+ xmlSecTransformGetName(transform));
return(-1);
}
}
@@ -742,11 +630,8 @@ xmlSecMSCryptoBlockCipherExecute(xmlSecTransformPtr transform, int last, xmlSecT
xmlSecTransformGetName(transform), transformCtx);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecMSCryptoBlockCipherCtxFinal",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecMSCryptoBlockCipherCtxFinal",
+ xmlSecTransformGetName(transform));
return(-1);
}
transform->status = xmlSecTransformStatusFinished;
@@ -758,11 +643,7 @@ xmlSecMSCryptoBlockCipherExecute(xmlSecTransformPtr transform, int last, xmlSecT
/* the only way we can get here is if there is no enough data in the input */
xmlSecAssert2(last == 0, -1);
} else {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- NULL,
- XMLSEC_ERRORS_R_INVALID_STATUS,
- "status=%d", transform->status);
+ xmlSecInvalidTransfromStatusError(transform);
return(-1);
}
diff --git a/src/mscrypto/crypto.c b/src/mscrypto/crypto.c
index aea9685..8864003 100644
--- a/src/mscrypto/crypto.c
+++ b/src/mscrypto/crypto.c
@@ -1,5 +1,5 @@
-/**
- * XMLSec library
+/*
+ * XML Security Library (http://www.aleksey.com/xmlsec).
*
* This is free software; see Copyright file in the source
* distribution for preciese wording.
@@ -25,36 +25,14 @@
#include <xmlsec/mscrypto/x509.h>
#include "private.h"
-#if defined(__MINGW32__)
-/* NOTE mingw.org project don't define any xxx_s function and may
- * be never will define them.
- *
- * In this file is save to use non _s function as into destination
- * buffer program code copy empty string and the size of source buffer
- * (XMLSEC_MSCRYPTO_ERROR_MSG_BUFFER_SIZE=4096) is enough for any
- * encoding. Also program code don't check result of _s functions.
- */
-
-static int
-strcpy_s(char *dest, size_t n, const char *src) {
- strcpy(dest, src);
- return(0);
-}
-
-static int
-wcscpy_s(wchar_t *dest, size_t n, const wchar_t *src) {
- wcscpy(dest, src);
- return(0);
-}
-#endif
#define XMLSEC_CONTAINER_NAME_A "xmlsec-key-container"
#define XMLSEC_CONTAINER_NAME_W L"xmlsec-key-container"
#ifdef UNICODE
#define XMLSEC_CONTAINER_NAME XMLSEC_CONTAINER_NAME_W
-#else
+#else /* UNICODE */
#define XMLSEC_CONTAINER_NAME XMLSEC_CONTAINER_NAME_A
-#endif
+#endif /* UNICODE */
static xmlSecCryptoDLFunctionsPtr gXmlSecMSCryptoFunctions = NULL;
@@ -273,11 +251,7 @@ int
xmlSecMSCryptoInit (void) {
/* Check loaded xmlsec library version */
if(xmlSecCheckVersionExact() != 1) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecCheckVersionExact",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecCheckVersionExact", NULL);
return(-1);
}
@@ -286,11 +260,7 @@ xmlSecMSCryptoInit (void) {
/* register our klasses */
if(xmlSecCryptoDLFunctionsRegisterKeyDataAndTransforms(xmlSecCryptoGetFunctions_mscrypto()) < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecCryptoDLFunctionsRegisterKeyDataAndTransforms",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecCryptoDLFunctionsRegisterKeyDataAndTransforms", NULL);
return(-1);
}
return(0);
@@ -330,21 +300,13 @@ xmlSecMSCryptoKeysMngrInit(xmlSecKeysMngrPtr mngr) {
x509Store = xmlSecKeyDataStoreCreate(xmlSecMSCryptoX509StoreId);
if(x509Store == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecKeyDataStoreCreate",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "xmlSecMSCryptoX509StoreId");
+ xmlSecInternalError("xmlSecKeyDataStoreCreate(xmlSecMSCryptoX509StoreId)", NULL);
return(-1);
}
ret = xmlSecKeysMngrAdoptDataStore(mngr, x509Store);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecKeysMngrAdoptDataStore",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeysMngrAdoptDataStore", NULL);
xmlSecKeyDataStoreDestroy(x509Store);
return(-1);
}
@@ -354,7 +316,6 @@ xmlSecMSCryptoKeysMngrInit(xmlSecKeysMngrPtr mngr) {
return(0);
}
-
static xmlSecMSCryptoProviderInfo xmlSecMSCryptoProviderInfo_Random[] = {
{ MS_STRONG_PROV, PROV_RSA_FULL },
{ MS_ENHANCED_PROV, PROV_RSA_FULL },
@@ -381,29 +342,18 @@ xmlSecMSCryptoGenerateRandom(xmlSecBufferPtr buffer, size_t size) {
ret = xmlSecBufferSetSize(buffer, size);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecBufferSetSize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "size=%d", size);
+ xmlSecInternalError2("xmlSecBufferSetSize", NULL,
+ "size=%d", size);
return(-1);
}
hProv = xmlSecMSCryptoFindProvider(xmlSecMSCryptoProviderInfo_Random, NULL, CRYPT_VERIFYCONTEXT, FALSE);
if (0 == hProv) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecMSCryptoFindProvider",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecMSCryptoFindProvider", NULL);
return(-1);
}
if (FALSE == CryptGenRandom(hProv, (DWORD)size, xmlSecBufferGetData(buffer))) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "CryptGenRandom",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecMSCryptoError("CryptGenRandom", NULL);
CryptReleaseContext(hProv,0);
return(-1);
}
@@ -412,71 +362,85 @@ xmlSecMSCryptoGenerateRandom(xmlSecBufferPtr buffer, size_t size) {
return(0);
}
-#define XMLSEC_MSCRYPTO_ERROR_MSG_BUFFER_SIZE 4096
-
/**
- * xmlSecMSCryptoErrorsDefaultCallback:
- * @file: the error location file name (__FILE__ macro).
- * @line: the error location line number (__LINE__ macro).
- * @func: the error location function name (__FUNCTION__ macro).
- * @errorObject: the error specific error object
- * @errorSubject: the error specific error subject.
- * @reason: the error code.
- * @msg: the additional error message.
+ * xmlSecMSCryptoGetErrorMessage:
+ * @dwError: the error code.
+ * @out: the output buffer.
+ * $outSize: the output buffer size.
*
- * The default errors reporting callback function.
+ * Returns the system error message for the give error code.
*/
void
-xmlSecMSCryptoErrorsDefaultCallback(const char* file, int line, const char* func,
- const char* errorObject, const char* errorSubject,
- int reason, const char* msg) {
- DWORD dwError;
- TCHAR errorT[XMLSEC_MSCRYPTO_ERROR_MSG_BUFFER_SIZE];
- WCHAR errorW[XMLSEC_MSCRYPTO_ERROR_MSG_BUFFER_SIZE];
- CHAR errorUTF8[XMLSEC_MSCRYPTO_ERROR_MSG_BUFFER_SIZE];
- xmlChar buf[XMLSEC_MSCRYPTO_ERROR_MSG_BUFFER_SIZE];
- DWORD rc;
- int ret;
+xmlSecMSCryptoGetErrorMessage(DWORD dwError, xmlChar * out, xmlSecSize outSize) {
+ LPTSTR errorText = NULL;
+ DWORD ret;
+#ifndef UNICODE
+ WCHAR errorTextW[XMLSEC_MSCRYPTO_ERROR_MSG_BUFFER_SIZE];
+#endif /* UNICODE */
- dwError = GetLastError();
- rc = FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM,
- NULL,
- dwError,
- MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), /* Default language */
- errorT,
- XMLSEC_MSCRYPTO_ERROR_MSG_BUFFER_SIZE,
- NULL);
-
-#ifdef UNICODE
- if(rc <= 0) {
- wcscpy_s(errorT, XMLSEC_MSCRYPTO_ERROR_MSG_BUFFER_SIZE, L"");
+ xmlSecAssert(out != NULL);
+ xmlSecAssert(outSize > 0);
+
+ /* Use system message tables to retrieve error text, allocate buffer on local
+ heap for error text, don't use any inserts/parameters */
+ ret = FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM
+ | FORMAT_MESSAGE_ALLOCATE_BUFFER
+ | FORMAT_MESSAGE_IGNORE_INSERTS,
+ NULL,
+ dwError,
+ MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), /* Default language */
+ (LPTSTR)&errorText,
+ 0,
+ NULL);
+ if((ret <= 0) || (errorText == NULL)) {
+ out[0] = '\0';
+ goto done;
}
- ret = WideCharToMultiByte(CP_UTF8, 0, errorT, -1, errorUTF8, XMLSEC_MSCRYPTO_ERROR_MSG_BUFFER_SIZE, NULL, NULL);
+
+#ifdef UNICODE
+ ret = WideCharToMultiByte(CP_UTF8, 0, errorText, -1, out, outSize, NULL, NULL);
if(ret <= 0) {
- strcpy_s(errorUTF8, XMLSEC_MSCRYPTO_ERROR_MSG_BUFFER_SIZE, "");
+ out[0] = '\0';
+ goto done;
}
#else /* UNICODE */
- if(rc <= 0) {
- strcpy_s(errorT, XMLSEC_MSCRYPTO_ERROR_MSG_BUFFER_SIZE, "");
- }
- ret = MultiByteToWideChar(CP_ACP, 0, errorT, -1, errorW, XMLSEC_MSCRYPTO_ERROR_MSG_BUFFER_SIZE);
+ ret = MultiByteToWideChar(CP_ACP, 0, errorText, -1, errorTextW, XMLSEC_MSCRYPTO_ERROR_MSG_BUFFER_SIZE);
if(ret <= 0) {
- wcscpy_s(errorW, XMLSEC_MSCRYPTO_ERROR_MSG_BUFFER_SIZE, L"");
+ out[0] = '\0';
+ goto done;
}
- ret = WideCharToMultiByte(CP_UTF8, 0, errorW, -1, errorUTF8, XMLSEC_MSCRYPTO_ERROR_MSG_BUFFER_SIZE, NULL, NULL);
+ ret = WideCharToMultiByte(CP_UTF8, 0, errorTextW, -1, out, outSize, NULL, NULL);
if(ret <= 0) {
- strcpy_s(errorUTF8, XMLSEC_MSCRYPTO_ERROR_MSG_BUFFER_SIZE, "");
+ out[0] = '\0';
+ goto done;
}
#endif /* UNICODE */
- if((msg != NULL) && ((*msg) != '\0')) {
- xmlSecStrPrintf(buf, sizeof(buf), BAD_CAST "%s;last error=%d (0x%08x);last error msg=%s", msg, dwError, dwError, errorUTF8);
- } else {
- xmlSecStrPrintf(buf, sizeof(buf), BAD_CAST "last error=%d (0x%08x);last error msg=%s", dwError, dwError, errorUTF8);
+done:
+ if(errorText != NULL) {
+ LocalFree(errorText);
}
- xmlSecErrorsDefaultCallback(file, line, func,
- errorObject, errorSubject,
- reason, (char*)buf);
+ return;
+}
+
+
+/**
+ * xmlSecMSCryptoErrorsDefaultCallback:
+ * @file: the error location file name (__FILE__ macro).
+ * @line: the error location line number (__LINE__ macro).
+ * @func: the error location function name (__FUNCTION__ macro).
+ * @errorObject: the error specific error object
+ * @errorSubject: the error specific error subject.
+ * @reason: the error code.
+ * @msg: the additional error message.
+ *
+ * The default errors reporting callback function. Just a pass through to the default callback.
+ */
+void
+xmlSecMSCryptoErrorsDefaultCallback(const char* file, int line, const char* func,
+ const char* errorObject, const char* errorSubject,
+ int reason, const char* msg) {
+ xmlSecErrorsDefaultCallback(file, line, func, errorObject, errorSubject, reason, msg);
}
/**
@@ -496,7 +460,7 @@ xmlSecMSCryptoConvertUtf8ToUnicode(const xmlChar* str) {
xmlSecAssert2(str != NULL, NULL);
/* call MultiByteToWideChar first to get the buffer size */
- ret = MultiByteToWideChar(CP_UTF8, 0, str, -1, NULL, 0);
+ ret = MultiByteToWideChar(CP_UTF8, 0, (LPCCH)str, -1, NULL, 0);
if(ret <= 0) {
return(NULL);
}
@@ -505,16 +469,12 @@ xmlSecMSCryptoConvertUtf8ToUnicode(const xmlChar* str) {
/* allocate buffer */
res = (LPWSTR)xmlMalloc(sizeof(WCHAR) * len);
if(res == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- NULL,
- XMLSEC_ERRORS_R_MALLOC_FAILED,
- "size=%d", sizeof(WCHAR) * len);
+ xmlSecMallocError(sizeof(WCHAR) * len, NULL);
return(NULL);
}
/* convert */
- ret = MultiByteToWideChar(CP_UTF8, 0, str, -1, res, len);
+ ret = MultiByteToWideChar(CP_UTF8, 0, (LPCCH)str, -1, res, len);
if(ret <= 0) {
xmlFree(res);
return(NULL);
@@ -550,16 +510,12 @@ xmlSecMSCryptoConvertUnicodeToUtf8(LPCWSTR str) {
/* allocate buffer */
res = (xmlChar*)xmlMalloc(sizeof(xmlChar) * len);
if(res == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- NULL,
- XMLSEC_ERRORS_R_MALLOC_FAILED,
- "size=%d", sizeof(xmlChar) * len);
+ xmlSecMallocError(sizeof(xmlChar) * len, NULL);
return(NULL);
}
/* convert */
- ret = WideCharToMultiByte(CP_UTF8, 0, str, -1, res, len, NULL, NULL);
+ ret = WideCharToMultiByte(CP_UTF8, 0, str, -1, (LPSTR)res, len, NULL, NULL);
if(ret <= 0) {
xmlFree(res);
return(NULL);
@@ -595,19 +551,15 @@ xmlSecMSCryptoConvertLocaleToUnicode(const char* str) {
/* allocate buffer */
res = (LPWSTR)xmlMalloc(sizeof(WCHAR) * len);
if(res == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- NULL,
- XMLSEC_ERRORS_R_MALLOC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecMallocError(sizeof(WCHAR) * len, NULL);
return(NULL);
}
/* convert */
ret = MultiByteToWideChar(CP_ACP, 0, str, -1, res, len);
if(ret <= 0) {
- xmlFree(res);
- return(NULL);
+ xmlFree(res);
+ return(NULL);
}
/* done */
@@ -647,17 +599,13 @@ xmlSecMSCryptoConvertLocaleToUtf8(const char * str) {
/* allocate buffer */
res = (xmlChar*)xmlMalloc(sizeof(xmlChar) * len);
if(res == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- NULL,
- XMLSEC_ERRORS_R_MALLOC_FAILED,
- "size=%d", sizeof(xmlChar) * len);
+ xmlSecMallocError(sizeof(xmlChar) * len, NULL);
xmlFree(strW);
return(NULL);
}
/* convert */
- ret = WideCharToMultiByte(CP_ACP, 0, strW, -1, res, len, NULL, NULL);
+ ret = WideCharToMultiByte(CP_ACP, 0, strW, -1, (LPSTR)res, len, NULL, NULL);
if(ret <= 0) {
xmlFree(strW);
xmlFree(res);
@@ -702,11 +650,7 @@ xmlSecMSCryptoConvertUtf8ToLocale(const xmlChar* str) {
/* allocate buffer */
res = (char*)xmlMalloc(sizeof(char) * len);
if(res == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- NULL,
- XMLSEC_ERRORS_R_MALLOC_FAILED,
- "size=%d", sizeof(xmlChar) * len);
+ xmlSecMallocError(sizeof(char) * len, NULL);
xmlFree(strW);
return(NULL);
}
diff --git a/src/mscrypto/csp_calg.h b/src/mscrypto/csp_calg.h
index 984fe34..2ca5253 100644
--- a/src/mscrypto/csp_calg.h
+++ b/src/mscrypto/csp_calg.h
@@ -1,5 +1,5 @@
-/**
- * XMLSec library
+/*
+ * XML Security Library (http://www.aleksey.com/xmlsec).
*
* This is free software; see Copyright file in the source
* distribution for preciese wording.
diff --git a/src/mscrypto/csp_oid.h b/src/mscrypto/csp_oid.h
index e563674..e37e53c 100644
--- a/src/mscrypto/csp_oid.h
+++ b/src/mscrypto/csp_oid.h
@@ -1,5 +1,5 @@
-/**
- * XMLSec library
+/*
+ * XML Security Library (http://www.aleksey.com/xmlsec).
*
* This is free software; see Copyright file in the source
* distribution for preciese wording.
diff --git a/src/mscrypto/digests.c b/src/mscrypto/digests.c
index 9394afd..4e6a209 100644
--- a/src/mscrypto/digests.c
+++ b/src/mscrypto/digests.c
@@ -1,5 +1,5 @@
-/**
- * XMLSec library
+/*
+ * XML Security Library (http://www.aleksey.com/xmlsec).
*
* This is free software; see Copyright file in the source
* distribution for preciese wording.
@@ -194,21 +194,14 @@ xmlSecMSCryptoDigestInitialize(xmlSecTransformPtr transform) {
#endif /* XMLSEC_NO_GOST*/
{
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- NULL,
- XMLSEC_ERRORS_R_INVALID_TRANSFORM,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInvalidTransfromError(transform)
return(-1);
}
ctx->provider = xmlSecMSCryptoFindProvider(ctx->providers, NULL, CRYPT_VERIFYCONTEXT, TRUE);
if(ctx->provider == 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecMSCryptoFindProvider",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecMSCryptoFindProvider",
+ xmlSecTransformGetName(transform));
return(-1);
}
@@ -253,22 +246,15 @@ xmlSecMSCryptoDigestVerify(xmlSecTransformPtr transform,
xmlSecAssert2(ctx->dgstSize > 0, -1);
if(dataSize != ctx->dgstSize) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- NULL,
- XMLSEC_ERRORS_R_INVALID_SIZE,
- "data_size=%d;dgst_size=%d",
- dataSize, ctx->dgstSize);
+ xmlSecInvalidSizeError("Digest", dataSize, ctx->dgstSize,
+ xmlSecTransformGetName(transform));
transform->status = xmlSecTransformStatusFail;
return(0);
}
if(memcmp(ctx->dgst, data, ctx->dgstSize) != 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- NULL,
- XMLSEC_ERRORS_R_INVALID_DATA,
- "data and digest do not match");
+ xmlSecInvalidDataError("data and digest do not match",
+ xmlSecTransformGetName(transform));
transform->status = xmlSecTransformStatusFail;
return(0);
}
@@ -307,11 +293,7 @@ xmlSecMSCryptoDigestExecute(xmlSecTransformPtr transform,
&(ctx->mscHash));
if((ret == 0) || (ctx->mscHash == 0)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "CryptCreateHash",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecMSCryptoError("CryptCreateHash", xmlSecTransformGetName(transform));
return(-1);
}
@@ -329,21 +311,17 @@ xmlSecMSCryptoDigestExecute(xmlSecTransformPtr transform,
0);
if(ret == 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "CryptHashData",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- "size=%d", inSize);
+ xmlSecMSCryptoError2("CryptHashData",
+ xmlSecTransformGetName(transform),
+ "size=%d", inSize);
return(-1);
}
ret = xmlSecBufferRemoveHead(in, inSize);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecBufferRemoveHead",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "size=%d", inSize);
+ xmlSecInternalError2("xmlSecBufferRemoveHead",
+ xmlSecTransformGetName(transform),
+ "size=%d", inSize);
return(-1);
}
}
@@ -354,17 +332,14 @@ xmlSecMSCryptoDigestExecute(xmlSecTransformPtr transform,
retLen = MSCRYPTO_MAX_HASH_SIZE;
ret = CryptGetHashParam(ctx->mscHash,
- HP_HASHVAL,
- ctx->dgst,
- &retLen,
- 0);
-
+ HP_HASHVAL,
+ ctx->dgst,
+ &retLen,
+ 0);
if (ret == 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "CryptGetHashParam(HP_HASHVAL)",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "size=%d", MSCRYPTO_MAX_HASH_SIZE);
+ xmlSecMSCryptoError2("CryptGetHashParam(HP_HASHVAL)",
+ xmlSecTransformGetName(transform),
+ "size=%d", MSCRYPTO_MAX_HASH_SIZE);
return(-1);
}
@@ -376,11 +351,9 @@ xmlSecMSCryptoDigestExecute(xmlSecTransformPtr transform,
if(transform->operation == xmlSecTransformOperationSign) {
ret = xmlSecBufferAppend(out, ctx->dgst, ctx->dgstSize);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecBufferAppend",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "size=%d", ctx->dgstSize);
+ xmlSecInternalError2("xmlSecBufferAppend",
+ xmlSecTransformGetName(transform),
+ "size=%d", ctx->dgstSize);
return(-1);
}
}
@@ -390,11 +363,7 @@ xmlSecMSCryptoDigestExecute(xmlSecTransformPtr transform,
/* the only way we can get here is if there is no input */
xmlSecAssert2(xmlSecBufferGetSize(in) == 0, -1);
} else {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- NULL,
- XMLSEC_ERRORS_R_INVALID_STATUS,
- "status=%d", transform->status);
+ xmlSecInvalidTransfromStatusError(transform);
return(-1);
}
diff --git a/src/mscrypto/globals.h b/src/mscrypto/globals.h
index 35cbf24..3c10df5 100644
--- a/src/mscrypto/globals.h
+++ b/src/mscrypto/globals.h
@@ -22,5 +22,62 @@
#define IN_XMLSEC_CRYPTO
#define XMLSEC_PRIVATE
+#include <windows.h>
+#include <xmlsec/xmlsec.h>
+
+/* Include common error helper macros. */
+#include "../errors_helpers.h"
+
+#define XMLSEC_MSCRYPTO_ERROR_MSG_BUFFER_SIZE 4096
+
+void xmlSecMSCryptoGetErrorMessage (DWORD dwError,
+ xmlChar * out,
+ xmlSecSize outSize);
+
+
+/**
+ * xmlSecMSCryptoError:
+ * @errorFunction: the failed function name.
+ * @errorObject: the error specific error object (e.g. transform, key data, etc).
+ *
+ * Macro. The XMLSec library macro for reporting MSCrypto crypro errors.
+ */
+#define xmlSecMSCryptoError(errorFunction, errorObject) \
+ { \
+ DWORD dwError = GetLastError(); \
+ xmlChar buf[XMLSEC_MSCRYPTO_ERROR_MSG_BUFFER_SIZE]; \
+ xmlSecMSCryptoGetErrorMessage(dwError, buf, sizeof(buf)); \
+ xmlSecError(XMLSEC_ERRORS_HERE, \
+ (const char*)(errorObject), \
+ (errorFunction), \
+ XMLSEC_ERRORS_R_CRYPTO_FAILED, \
+ "MSCrypto error: %ld: 0x%08lx: %s", \
+ (long int)dwError, (long int)dwError, buf \
+ ); \
+ }
+
+/**
+ * xmlSecMSCryptoError2:
+ * @errorFunction: the failed function name.
+ * @errorObject: the error specific error object (e.g. transform, key data, etc).
+ * @msg: the extra message.
+ * @param: the extra message param.
+ *
+ * Macro. The XMLSec library macro for reporting MSCrypto crypro errors.
+ */
+#define xmlSecMSCryptoError2(errorFunction, errorObject, msg, param) \
+ { \
+ DWORD dwError = GetLastError(); \
+ xmlChar buf[XMLSEC_MSCRYPTO_ERROR_MSG_BUFFER_SIZE]; \
+ xmlSecMSCryptoGetErrorMessage(dwError, buf, sizeof(buf)); \
+ xmlSecError(XMLSEC_ERRORS_HERE, \
+ (const char*)(errorObject), \
+ (errorFunction), \
+ XMLSEC_ERRORS_R_CRYPTO_FAILED, \
+ msg "MSCrypto error: %ld: 0x%08lx: %s", \
+ (param), \
+ (long int)dwError, (long int)dwError, buf \
+ ); \
+ }
#endif /* ! __XMLSEC_GLOBALS_H__ */
diff --git a/src/mscrypto/hmac.c b/src/mscrypto/hmac.c
index 3637024..a397d0c 100644
--- a/src/mscrypto/hmac.c
+++ b/src/mscrypto/hmac.c
@@ -1,6 +1,5 @@
-/**
- *
- * XMLSec library
+/*
+ * XML Security Library (http://www.aleksey.com/xmlsec).
*
* HMAC Algorithm support (http://www.w3.org/TR/xmldsig-core/#sec-HMAC):
* The HMAC algorithm (RFC2104 [HMAC]) takes the truncation length in bits
@@ -221,31 +220,21 @@ xmlSecMSCryptoHmacInitialize(xmlSecTransformPtr transform) {
/* not found */
{
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- NULL,
- XMLSEC_ERRORS_R_INVALID_TRANSFORM,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInvalidTransfromError(transform)
return(-1);
}
ctx->provider = xmlSecMSCryptoFindProvider(ctx->providers, NULL, CRYPT_VERIFYCONTEXT, TRUE);
if(ctx->provider == 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecMSCryptoFindProvider",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecMSCryptoFindProvider",
+ xmlSecTransformGetName(transform));
return(-1);
}
/* Create dummy key to be able to import plain session keys */
if (!xmlSecMSCryptoCreatePrivateExponentOneKey(ctx->provider, &(ctx->pubPrivKey))) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecMSCryptoCreatePrivateExponentOneKey",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecMSCryptoError("xmlSecMSCryptoCreatePrivateExponentOneKey",
+ xmlSecTransformGetName(transform));
return(-1);
}
@@ -307,23 +296,16 @@ xmlSecMSCryptoHmacNodeRead(xmlSecTransformPtr transform, xmlNodePtr node, xmlSec
small value
*/
if((int)ctx->dgstSize < xmlSecMSCryptoHmacGetMinOutputLength()) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- xmlSecErrorsSafeString(xmlSecNodeGetName(cur)),
- XMLSEC_ERRORS_R_INVALID_NODE_ATTRIBUTE,
- "HMAC output length is too small");
- return(-1);
+ xmlSecInvalidNodeContentError(cur, xmlSecTransformGetName(transform),
+ "HMAC output length is too small");
+ return(-1);
}
cur = xmlSecGetNextElementNode(cur->next);
}
if(cur != NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- xmlSecErrorsSafeString(xmlSecNodeGetName(cur)),
- XMLSEC_ERRORS_R_UNEXPECTED_NODE,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecUnexpectedNodeError(cur, xmlSecTransformGetName(transform));
return(-1);
}
return(0);
@@ -375,11 +357,7 @@ xmlSecMSCryptoHmacSetKey(xmlSecTransformPtr transform, xmlSecKeyPtr key) {
xmlSecAssert2(buffer != NULL, -1);
if(xmlSecBufferGetSize(buffer) == 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- NULL,
- XMLSEC_ERRORS_R_INVALID_KEY_DATA_SIZE,
- "keySize=0");
+ xmlSecInvalidZeroKeyDataSizeError(xmlSecTransformGetName(transform));
return(-1);
}
@@ -400,11 +378,8 @@ xmlSecMSCryptoHmacSetKey(xmlSecTransformPtr transform, xmlSecKeyPtr key) {
&(ctx->cryptKey)
) || (ctx->cryptKey == 0)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecMSCryptoImportPlainSessionBlob",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecMSCryptoImportPlainSessionBlob",
+ xmlSecTransformGetName(transform));
return(-1);
}
@@ -415,11 +390,8 @@ xmlSecMSCryptoHmacSetKey(xmlSecTransformPtr transform, xmlSecKeyPtr key) {
0,
&(ctx->mscHash));
if((ret == 0) || (ctx->mscHash == 0)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "CryptCreateHash",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecMSCryptoError("CryptCreateHash",
+ xmlSecTransformGetName(transform));
return(-1);
}
@@ -428,11 +400,8 @@ xmlSecMSCryptoHmacSetKey(xmlSecTransformPtr transform, xmlSecKeyPtr key) {
hmacInfo.HashAlgid = ctx->alg_id;
ret = CryptSetHashParam(ctx->mscHash, HP_HMAC_INFO, (BYTE*)&hmacInfo, 0);
if(ret == 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "CryptSetHashParam",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecMSCryptoError("CryptSetHashParam",
+ xmlSecTransformGetName(transform));
return(-1);
}
@@ -464,20 +433,9 @@ xmlSecMSCryptoHmacVerify(xmlSecTransformPtr transform,
/* compare the digest size in bytes */
if(dataSize != ((ctx->dgstSize + 7) / 8)){
- /* NO COMMIT */
- xmlChar* a;
- mask = last_byte_masks[ctx->dgstSize % 8];
- ctx->dgst[dataSize - 1] &= mask;
- a = xmlSecBase64Encode(ctx->dgst, (ctx->dgstSize + 7) / 8, -1);
- fprintf(stderr, "%s\n", a);
- xmlFree(a);
-
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- NULL,
- XMLSEC_ERRORS_R_INVALID_SIZE,
- "data=%d;dgst=%d",
- dataSize, ((ctx->dgstSize + 7) / 8));
+ xmlSecInvalidSizeError("HMAC digest",
+ dataSize, ((ctx->dgstSize + 7) / 8),
+ xmlSecTransformGetName(transform));
transform->status = xmlSecTransformStatusFail;
return(0);
}
@@ -486,22 +444,18 @@ xmlSecMSCryptoHmacVerify(xmlSecTransformPtr transform,
xmlSecAssert2(dataSize > 0, -1);
mask = last_byte_masks[ctx->dgstSize % 8];
if((ctx->dgst[dataSize - 1] & mask) != (data[dataSize - 1] & mask)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- NULL,
- XMLSEC_ERRORS_R_DATA_NOT_MATCH,
- "data and digest do not match (last byte)");
+ xmlSecOtherError(XMLSEC_ERRORS_R_DATA_NOT_MATCH,
+ xmlSecTransformGetName(transform),
+ "data and digest do not match (last byte)");
transform->status = xmlSecTransformStatusFail;
return(0);
}
/* now check the rest of the digest */
if((dataSize > 1) && (memcmp(ctx->dgst, data, dataSize - 1) != 0)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- NULL,
- XMLSEC_ERRORS_R_DATA_NOT_MATCH,
- "data and digest do not match");
+ xmlSecOtherError(XMLSEC_ERRORS_R_DATA_NOT_MATCH,
+ xmlSecTransformGetName(transform),
+ "data and digest do not match");
transform->status = xmlSecTransformStatusFail;
return(0);
}
@@ -544,21 +498,17 @@ xmlSecMSCryptoHmacExecute(xmlSecTransformPtr transform, int last, xmlSecTransfor
0);
if(ret == 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "CryptHashData",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- "size=%d", inSize);
+ xmlSecMSCryptoError2("CryptHashData",
+ xmlSecTransformGetName(transform),
+ "size=%d", inSize);
return(-1);
}
ret = xmlSecBufferRemoveHead(in, inSize);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecBufferRemoveHead",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "size=%d", inSize);
+ xmlSecInternalError2("xmlSecBufferRemoveHead",
+ xmlSecTransformGetName(transform),
+ "size=%d", inSize);
return(-1);
}
}
@@ -576,11 +526,9 @@ xmlSecMSCryptoHmacExecute(xmlSecTransformPtr transform, int last, xmlSecTransfor
0);
if (ret == 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "CryptGetHashParam",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "size=%d", inSize);
+ xmlSecInternalError2("CryptGetHashParam",
+ xmlSecTransformGetName(transform),
+ "size=%d", inSize);
return(-1);
}
xmlSecAssert2(retLen > 0, -1);
@@ -591,12 +539,9 @@ xmlSecMSCryptoHmacExecute(xmlSecTransformPtr transform, int last, xmlSecTransfor
} else if(ctx->dgstSize <= 8 * retLen) {
retLen = ((ctx->dgstSize + 7) / 8); /* we need to truncate result digest */
} else {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- NULL,
- XMLSEC_ERRORS_R_INVALID_SIZE,
- "result-bits=%d;required-bits=%d",
- 8 * retLen, ctx->dgstSize);
+ xmlSecInvalidSizeLessThanError("HMAC digest (bits)",
+ 8 * retLen, ctx->dgstSize,
+ xmlSecTransformGetName(transform));
return(-1);
}
@@ -604,11 +549,9 @@ xmlSecMSCryptoHmacExecute(xmlSecTransformPtr transform, int last, xmlSecTransfor
if(transform->operation == xmlSecTransformOperationSign) {
ret = xmlSecBufferAppend(out, ctx->dgst, retLen);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecBufferAppend",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "size=%d", ctx->dgstSize);
+ xmlSecInternalError2("xmlSecBufferAppend",
+ xmlSecTransformGetName(transform),
+ "size=%d", ctx->dgstSize);
return(-1);
}
}
@@ -618,11 +561,7 @@ xmlSecMSCryptoHmacExecute(xmlSecTransformPtr transform, int last, xmlSecTransfor
/* the only way we can get here is if there is no input */
xmlSecAssert2(xmlSecBufferGetSize(in) == 0, -1);
} else {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- NULL,
- XMLSEC_ERRORS_R_INVALID_STATUS,
- "status=%d", transform->status);
+ xmlSecInvalidTransfromStatusError(transform);
return(-1);
}
diff --git a/src/mscrypto/keysstore.c b/src/mscrypto/keysstore.c
index 8ead554..16e188d 100644
--- a/src/mscrypto/keysstore.c
+++ b/src/mscrypto/keysstore.c
@@ -1,5 +1,5 @@
-/**
- * XMLSec library
+/*
+ * XML Security Library (http://www.aleksey.com/xmlsec).
*
* MSCrypto keys store that uses Simple Keys Store under the hood. Uses the
* MS Certificate store as a backing store for the finding keys, but the
@@ -146,22 +146,14 @@ xmlSecMSCryptoKeysStoreLoad(xmlSecKeyStorePtr store, const char *uri,
doc = xmlParseFile(uri);
if(doc == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyStoreGetName(store)),
- "xmlParseFile",
- XMLSEC_ERRORS_R_XML_FAILED,
- "uri=%s",
- xmlSecErrorsSafeString(uri));
+ xmlSecXmlError2("xmlParseFile", xmlSecKeyStoreGetName(store),
+ "uri=%s", xmlSecErrorsSafeString(uri));
return(-1);
}
root = xmlDocGetRootElement(doc);
if(!xmlSecCheckNodeName(root, BAD_CAST "Keys", xmlSecNs)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyStoreGetName(store)),
- xmlSecErrorsSafeString(xmlSecNodeGetName(root)),
- XMLSEC_ERRORS_R_INVALID_NODE,
- "expected-node=<xmlsec:Keys>");
+ xmlSecInvalidNodeError(root, BAD_CAST "Keys", xmlSecKeyStoreGetName(store));
xmlFreeDoc(doc);
return(-1);
}
@@ -170,23 +162,16 @@ xmlSecMSCryptoKeysStoreLoad(xmlSecKeyStorePtr store, const char *uri,
while((cur != NULL) && xmlSecCheckNodeName(cur, xmlSecNodeKeyInfo, xmlSecDSigNs)) {
key = xmlSecKeyCreate();
if(key == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyStoreGetName(store)),
- xmlSecErrorsSafeString(xmlSecNodeGetName(cur)),
- XMLSEC_ERRORS_R_INVALID_NODE,
- "expected-node=%s",
- xmlSecErrorsSafeString(xmlSecNodeKeyInfo));
+ xmlSecInternalError("xmlSecKeyCreate",
+ xmlSecKeyStoreGetName(store));
xmlFreeDoc(doc);
return(-1);
}
ret = xmlSecKeyInfoCtxInitialize(&keyInfoCtx, NULL);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyStoreGetName(store)),
- "xmlSecKeyInfoCtxInitialize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeyInfoCtxInitialize",
+ xmlSecKeyStoreGetName(store));
xmlSecKeyDestroy(key);
xmlFreeDoc(doc);
return(-1);
@@ -202,11 +187,8 @@ xmlSecMSCryptoKeysStoreLoad(xmlSecKeyStorePtr store, const char *uri,
ret = xmlSecKeyInfoNodeRead(cur, key, &keyInfoCtx);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyStoreGetName(store)),
- "xmlSecKeyInfoNodeRead",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeyInfoNodeRead",
+ xmlSecKeyStoreGetName(store));
xmlSecKeyInfoCtxFinalize(&keyInfoCtx);
xmlSecKeyDestroy(key);
xmlFreeDoc(doc);
@@ -217,11 +199,8 @@ xmlSecMSCryptoKeysStoreLoad(xmlSecKeyStorePtr store, const char *uri,
if(xmlSecKeyIsValid(key)) {
ret = xmlSecMSCryptoKeysStoreAdoptKey(store, key);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyStoreGetName(store)),
- "xmlSecMSCryptoKeysStoreAdoptKey",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecMSCryptoKeysStoreAdoptKey",
+ xmlSecKeyStoreGetName(store));
xmlSecKeyDestroy(key);
xmlFreeDoc(doc);
return(-1);
@@ -234,11 +213,7 @@ xmlSecMSCryptoKeysStoreLoad(xmlSecKeyStorePtr store, const char *uri,
}
if(cur != NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyStoreGetName(store)),
- xmlSecErrorsSafeString(xmlSecNodeGetName(cur)),
- XMLSEC_ERRORS_R_UNEXPECTED_NODE,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecUnexpectedNodeError(cur, xmlSecKeyStoreGetName(store));
xmlFreeDoc(doc);
return(-1);
}
@@ -282,11 +257,8 @@ xmlSecMSCryptoKeysStoreInitialize(xmlSecKeyStorePtr store) {
*ss = xmlSecKeyStoreCreate(xmlSecSimpleKeysStoreId);
if(*ss == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyStoreGetName(store)),
- "xmlSecKeyStoreCreate",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "xmlSecSimpleKeysStoreId");
+ xmlSecInternalError("xmlSecKeyStoreCreate(xmlSecSimpleKeysStoreId)",
+ xmlSecKeyStoreGetName(store));
return(-1);
}
@@ -324,23 +296,18 @@ xmlSecMSCryptoKeysStoreFindCert(xmlSecKeyStorePtr store, const xmlChar* name,
hStoreHandle = CertOpenSystemStore(0, storeName);
if (NULL == hStoreHandle) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "CertOpenSystemStore",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- "storeName=%s",
- xmlSecErrorsSafeString(storeName));
+ xmlSecMSCryptoError2("CertOpenSystemStore",
+ xmlSecKeyStoreGetName(store),
+ "storeName=%s",
+ xmlSecErrorsSafeString(storeName));
return(NULL);
}
/* convert name to unicode */
wcName = xmlSecMSCryptoConvertUtf8ToTstr(name);
if(wcName == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyStoreGetName(store)),
- "xmlSecMSCryptoConvertUtf8ToUnicode",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "wcName");
+ xmlSecInternalError("xmlSecMSCryptoConvertUtf8ToTstr(name)",
+ xmlSecKeyStoreGetName(store));
CertCloseStore(hStoreHandle, 0);
return(NULL);
}
@@ -362,7 +329,12 @@ xmlSecMSCryptoKeysStoreFindCert(xmlSecKeyStorePtr store, const xmlChar* name,
PCCERT_CONTEXT pCertCtxIter = NULL;
- while (pCertCtxIter = CertEnumCertificatesInStore(hStoreHandle, pCertCtxIter)) {
+ while (1) {
+ pCertCtxIter = CertEnumCertificatesInStore(hStoreHandle, pCertCtxIter);
+ if(pCertCtxIter == NULL) {
+ break;
+ }
+
if (TRUE != CertGetCertificateContextProperty(pCertCtxIter,
CERT_FRIENDLY_NAME_PROP_ID,
NULL,
@@ -372,11 +344,7 @@ xmlSecMSCryptoKeysStoreFindCert(xmlSecKeyStorePtr store, const xmlChar* name,
pbFriendlyName = xmlMalloc(dwPropSize);
if(pbFriendlyName == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyStoreGetName(store)),
- NULL,
- XMLSEC_ERRORS_R_MALLOC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecMallocError(dwPropSize, xmlSecKeyStoreGetName(store));
xmlFree(wcName);
CertCloseStore(hStoreHandle, 0);
return(NULL);
@@ -478,57 +446,37 @@ xmlSecMSCryptoKeysStoreFindKey(xmlSecKeyStorePtr store, const xmlChar* name,
/* set cert in x509 data */
x509Data = xmlSecKeyDataCreate(xmlSecMSCryptoKeyDataX509Id);
if(x509Data == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecKeyDataCreate",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "data=%s",
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(x509Data)));
+ xmlSecInternalError("xmlSecKeyDataCreate",
+ xmlSecKeyDataGetName(x509Data));
goto done;
}
pCertContext2 = CertDuplicateCertificateContext(pCertContext);
if (NULL == pCertContext2) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "CertDuplicateCertificateContext",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- "data=%s",
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(x509Data)));
+ xmlSecMSCryptoError("CertDuplicateCertificateContext",
+ xmlSecKeyDataGetName(x509Data));
goto done;
}
ret = xmlSecMSCryptoKeyDataX509AdoptCert(x509Data, pCertContext2);
if (ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecMSCryptoKeyDataX509AdoptCert",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "data=%s",
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(x509Data)));
+ xmlSecInternalError("xmlSecMSCryptoKeyDataX509AdoptCert",
+ xmlSecKeyDataGetName(x509Data));
goto done;
}
pCertContext2 = NULL;
pCertContext2 = CertDuplicateCertificateContext(pCertContext);
if (NULL == pCertContext2) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "CertDuplicateCertificateContext",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- "data=%s",
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(x509Data)));
+ xmlSecMSCryptoError("CertDuplicateCertificateContext",
+ xmlSecKeyDataGetName(x509Data));
goto done;
}
ret = xmlSecMSCryptoKeyDataX509AdoptKeyCert(x509Data, pCertContext2);
if (ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecMSCryptoKeyDataX509AdoptKeyCert",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "data=%s",
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(x509Data)));
+ xmlSecInternalError("xmlSecMSCryptoKeyDataX509AdoptKeyCert",
+ xmlSecKeyDataGetName(x509Data));
goto done;
}
pCertContext2 = NULL;
@@ -536,11 +484,7 @@ xmlSecMSCryptoKeysStoreFindKey(xmlSecKeyStorePtr store, const xmlChar* name,
/* set cert in key data */
data = xmlSecMSCryptoCertAdopt(pCertContext, keyReq->keyType);
if(data == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecMSCryptoCertAdopt",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecMSCryptoCertAdopt", NULL);
goto done;
}
pCertContext = NULL;
@@ -548,34 +492,22 @@ xmlSecMSCryptoKeysStoreFindKey(xmlSecKeyStorePtr store, const xmlChar* name,
/* create key and add key data and x509 data to it */
key = xmlSecKeyCreate();
if (key == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecKeyCreate",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeyCreate", NULL);
goto done;
}
ret = xmlSecKeySetValue(key, data);
if (ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecKeySetValue",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "data=%s",
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)));
+ xmlSecInternalError("xmlSecKeySetValue",
+ xmlSecKeyDataGetName(data));
goto done;
}
data = NULL;
ret = xmlSecKeyAdoptData(key, x509Data);
if (ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecKeyAdoptData",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "data=%s",
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(x509Data)));
+ xmlSecInternalError("xmlSecKeyAdoptData",
+ xmlSecKeyDataGetName(x509Data));
goto done;
}
x509Data = NULL;
@@ -583,11 +515,8 @@ xmlSecMSCryptoKeysStoreFindKey(xmlSecKeyStorePtr store, const xmlChar* name,
/* Set the name of the key to the given name */
ret = xmlSecKeySetName(key, name);
if (ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyStoreGetName(store)),
- "xmlSecKeySetName",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeySetName",
+ xmlSecKeyStoreGetName(store));
goto done;
}
diff --git a/src/mscrypto/kt_rsa.c b/src/mscrypto/kt_rsa.c
index 9b4908f..ac60ae5 100644
--- a/src/mscrypto/kt_rsa.c
+++ b/src/mscrypto/kt_rsa.c
@@ -1,6 +1,5 @@
-/**
- *
- * XMLSec library
+/*
+ * XML Security Library (http://www.aleksey.com/xmlsec).
*
* RSA Algorithms support
*
@@ -106,11 +105,8 @@ xmlSecMSCryptoRsaPkcs1OaepInitialize(xmlSecTransformPtr transform) {
ret = xmlSecBufferInitialize(&(ctx->oaepParams), 0);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecBufferInitialize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecBufferInitialize",
+ xmlSecTransformGetName(transform));
return(-1);
}
@@ -124,11 +120,7 @@ xmlSecMSCryptoRsaPkcs1OaepInitialize(xmlSecTransformPtr transform) {
/* not found */
{
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- NULL,
- XMLSEC_ERRORS_R_INVALID_TRANSFORM,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInvalidTransfromError(transform)
return(-1);
}
@@ -194,11 +186,8 @@ xmlSecMSCryptoRsaPkcs1OaepSetKey(xmlSecTransformPtr transform, xmlSecKeyPtr key)
ctx->data = xmlSecKeyDataDuplicate(xmlSecKeyGetValue(key));
if(ctx->data == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecKeyDataDuplicate",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeyDataDuplicate",
+ xmlSecTransformGetName(transform));
return(-1);
}
@@ -227,11 +216,8 @@ xmlSecMSCryptoRsaPkcs1OaepExecute(xmlSecTransformPtr transform, int last, xmlSec
} else if((transform->status == xmlSecTransformStatusWorking) && (last != 0)) {
ret = xmlSecMSCryptoRsaPkcs1OaepProcess(transform, transformCtx);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecMSCryptoRsaPkcs1OaepProcess",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecMSCryptoRsaPkcs1OaepProcess",
+ xmlSecTransformGetName(transform));
return(-1);
}
transform->status = xmlSecTransformStatusFinished;
@@ -239,11 +225,7 @@ xmlSecMSCryptoRsaPkcs1OaepExecute(xmlSecTransformPtr transform, int last, xmlSec
/* the only way we can get here is if there is no input */
xmlSecAssert2(xmlSecBufferGetSize(&(transform->inBuf)) == 0, -1);
} else {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- NULL,
- XMLSEC_ERRORS_R_INVALID_STATUS,
- "status=%d", transform->status);
+ xmlSecInvalidTransfromStatusError(transform);
return(-1);
}
return(0);
@@ -286,61 +268,44 @@ xmlSecMSCryptoRsaPkcs1OaepProcess(xmlSecTransformPtr transform, xmlSecTransformC
/* the encoded size is equal to the keys size so we could not
* process more than that */
if((transform->operation == xmlSecTransformOperationEncrypt) && (inSize >= keySize)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- NULL,
- XMLSEC_ERRORS_R_INVALID_SIZE,
- "%d when expected less than %d", inSize, keySize);
+ xmlSecInvalidSizeLessThanError("Input data", inSize, keySize,
+ xmlSecTransformGetName(transform));
return(-1);
} else if((transform->operation == xmlSecTransformOperationDecrypt) && (inSize != keySize)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- NULL,
- XMLSEC_ERRORS_R_INVALID_SIZE,
- "%d when expected %d", inSize, keySize);
+ xmlSecInvalidSizeError("Input data", inSize, keySize,
+ xmlSecTransformGetName(transform));
return(-1);
}
outSize = keySize;
ret = xmlSecBufferSetMaxSize(out, outSize);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecBufferSetMaxSize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "size=%d", outSize);
+ xmlSecInternalError2("xmlSecBufferSetMaxSize",
+ xmlSecTransformGetName(transform),
+ "size=%d", outSize);
return(-1);
}
if(transform->operation == xmlSecTransformOperationEncrypt) {
if(inSize > outSize) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- NULL,
- XMLSEC_ERRORS_R_INVALID_SIZE,
- "inSize=%d;outSize=%d",
- inSize, outSize);
+ xmlSecInvalidSizeLessThanError("Output data", outSize, inSize,
+ xmlSecTransformGetName(transform));
return(-1);
}
ret = xmlSecBufferSetData(out, xmlSecBufferGetData(in), inSize);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecBufferSetData",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "size=%d", inSize);
+ xmlSecInternalError2("xmlSecBufferSetData",
+ xmlSecTransformGetName(transform),
+ "size=%d", inSize);
return(-1);
}
dwInLen = inSize;
dwBufLen = outSize;
if (0 == (hKey = xmlSecMSCryptoKeyDataGetKey(ctx->data, xmlSecKeyDataTypePublic))) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecMSCryptoKeyDataGetKey",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecMSCryptoKeyDataGetKey",
+ xmlSecTransformGetName(transform));
return (-1);
}
@@ -360,22 +325,16 @@ xmlSecMSCryptoRsaPkcs1OaepProcess(xmlSecTransformPtr transform, xmlSecTransformC
oaepParams.cbData = xmlSecBufferGetSize(&(ctx->oaepParams));
if (!CryptSetKeyParam(hKey, KP_OAEP_PARAMS, (const BYTE*)&oaepParams, 0)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "CryptSetKeyParam",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecMSCryptoError("CryptSetKeyParam",
+ xmlSecTransformGetName(transform));
return (-1);
}
}
/* encrypt */
if (!CryptEncrypt(hKey, 0, TRUE, ctx->dwFlags, outBuf, &dwInLen, dwBufLen)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "CryptEncrypt",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecMSCryptoError("CryptEncrypt",
+ xmlSecTransformGetName(transform));
return (-1);
}
@@ -393,12 +352,10 @@ xmlSecMSCryptoRsaPkcs1OaepProcess(xmlSecTransformPtr transform, xmlSecTransformC
outBuf = xmlSecBufferGetData(out);
ConvertEndian(inBuf, outBuf, inSize);
- if (0 == (hKey = xmlSecMSCryptoKeyDataGetDecryptKey(ctx->data))) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecMSCryptoKeyDataGetKey",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ hKey = xmlSecMSCryptoKeyDataGetDecryptKey(ctx->data);
+ if (0 == hKey) {
+ xmlSecInternalError("xmlSecMSCryptoKeyDataGetKey",
+ xmlSecTransformGetName(transform));
return (-1);
}
@@ -415,22 +372,16 @@ xmlSecMSCryptoRsaPkcs1OaepProcess(xmlSecTransformPtr transform, xmlSecTransformC
oaepParams.cbData = xmlSecBufferGetSize(&(ctx->oaepParams));
if (!CryptSetKeyParam(hKey, KP_OAEP_PARAMS, (const BYTE*)&oaepParams, 0)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "CryptSetKeyParam",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecMSCryptoError("CryptSetKeyParam",
+ xmlSecTransformGetName(transform));
return (-1);
}
}
/* decrypt */
if (!CryptDecrypt(hKey, 0, TRUE, ctx->dwFlags, outBuf, &dwOutLen)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "CryptDecrypt",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecMSCryptoError("CryptDecrypt",
+ xmlSecTransformGetName(transform));
return(-1);
}
@@ -439,21 +390,17 @@ xmlSecMSCryptoRsaPkcs1OaepProcess(xmlSecTransformPtr transform, xmlSecTransformC
ret = xmlSecBufferSetSize(out, outSize);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecBufferSetSize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "size=%d", outSize);
+ xmlSecInternalError2("xmlSecBufferSetSize",
+ xmlSecTransformGetName(transform),
+ "size=%d", outSize);
return(-1);
}
ret = xmlSecBufferRemoveHead(in, inSize);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecBufferRemoveHead",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "size=%d", inSize);
+ xmlSecInternalError2("xmlSecBufferRemoveHead",
+ xmlSecTransformGetName(transform),
+ "size=%d", inSize);
return(-1);
}
@@ -577,11 +524,8 @@ xmlSecMSCryptoRsaOaepNodeRead(xmlSecTransformPtr transform, xmlNodePtr node, xml
if(xmlSecCheckNodeName(cur, xmlSecNodeRsaOAEPparams, xmlSecEncNs)) {
ret = xmlSecBufferBase64NodeContentRead(&(ctx->oaepParams), cur);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecBufferBase64NodeContentRead",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecBufferBase64NodeContentRead",
+ xmlSecTransformGetName(transform));
return(-1);
}
} else if(xmlSecCheckNodeName(cur, xmlSecNodeDigestMethod, xmlSecDSigNs)) {
@@ -590,33 +534,24 @@ xmlSecMSCryptoRsaOaepNodeRead(xmlSecTransformPtr transform, xmlNodePtr node, xml
/* Algorithm attribute is required */
algorithm = xmlGetProp(cur, xmlSecAttrAlgorithm);
if(algorithm == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- xmlSecErrorsSafeString(xmlSecAttrAlgorithm),
- XMLSEC_ERRORS_R_INVALID_NODE_ATTRIBUTE,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeGetName(cur)));
+ xmlSecInvalidNodeAttributeError(cur, xmlSecAttrAlgorithm,
+ xmlSecTransformGetName(transform),
+ "empty");
return(-1);
}
/* for now we support only sha1 */
if(xmlStrcmp(algorithm, xmlSecHrefSha1) != 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- xmlSecErrorsSafeString(algorithm),
- XMLSEC_ERRORS_R_INVALID_TRANSFORM,
- "digest algorithm is not supported for rsa/oaep");
+ xmlSecInvalidTransfromError2(transform,
+ "digest algorithm=\"%s\" is not supported for rsa/oaep",
+ xmlSecErrorsSafeString(algorithm));
xmlFree(algorithm);
return(-1);
}
xmlFree(algorithm);
} else {
- /* not found */
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- xmlSecErrorsSafeString(xmlSecNodeGetName(cur)),
- XMLSEC_ERRORS_R_UNEXPECTED_NODE,
- XMLSEC_ERRORS_NO_MESSAGE);
+ /* node not recognized */
+ xmlSecUnexpectedNodeError(cur, xmlSecTransformGetName(transform));
return(-1);
}
diff --git a/src/mscrypto/kw_aes.c b/src/mscrypto/kw_aes.c
index 71ac447..8cfa0b6 100644
--- a/src/mscrypto/kw_aes.c
+++ b/src/mscrypto/kw_aes.c
@@ -1,5 +1,5 @@
-/**
- * XMLSec library
+/*
+ * XML Security Library (http://www.aleksey.com/xmlsec).
*
* This is free software; see Copyright file in the source
* distribution for preciese wording.
@@ -151,44 +151,29 @@ xmlSecMSCryptoKWAesInitialize(xmlSecTransformPtr transform) {
ctx->providers = xmlSecMSCryptoProviderInfo_Aes;
ctx->keySize = XMLSEC_KW_AES256_KEY_SIZE;
} else {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- NULL,
- XMLSEC_ERRORS_R_INVALID_TRANSFORM,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInvalidTransfromError(transform)
return(-1);
}
ret = xmlSecBufferInitialize(&ctx->keyBuffer, 0);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- NULL,
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecBufferInitialize",
+ xmlSecTransformGetName(transform));
return(-1);
}
/* find provider */
ctx->cryptProvider = xmlSecMSCryptoFindProvider(ctx->providers, NULL, CRYPT_VERIFYCONTEXT, TRUE);
if(ctx->cryptProvider == 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecMSCryptoFindProvider",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
-
+ xmlSecInternalError("xmlSecMSCryptoFindProvider",
+ xmlSecTransformGetName(transform));
return(-1);
}
/* Create dummy key to be able to import plain session keys */
if (!xmlSecMSCryptoCreatePrivateExponentOneKey(ctx->cryptProvider, &(ctx->pubPrivKey))) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecMSCryptoCreatePrivateExponentOneKey",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
-
+ xmlSecInternalError("xmlSecMSCryptoCreatePrivateExponentOneKey",
+ xmlSecTransformGetName(transform));
return(-1);
}
@@ -265,12 +250,8 @@ xmlSecMSCryptoKWAesSetKey(xmlSecTransformPtr transform, xmlSecKeyPtr key) {
keySize = xmlSecBufferGetSize(buffer);
if(keySize < ctx->keySize) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- NULL,
- XMLSEC_ERRORS_R_INVALID_KEY_DATA_SIZE,
- "key=%d;expected=%d",
- keySize, ctx->keySize);
+ xmlSecInvalidKeyDataSizeError(keySize, ctx->keySize,
+ xmlSecTransformGetName(transform));
return(-1);
}
@@ -278,12 +259,9 @@ xmlSecMSCryptoKWAesSetKey(xmlSecTransformPtr transform, xmlSecKeyPtr key) {
xmlSecBufferGetData(buffer),
ctx->keySize);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecBufferSetData",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "expected-size=%d",
- ctx->keySize);
+ xmlSecInternalError2("xmlSecBufferSetData",
+ xmlSecTransformGetName(transform),
+ "size=%d", ctx->keySize);
return(-1);
}
@@ -319,11 +297,8 @@ xmlSecMSCryptoKWAesExecute(xmlSecTransformPtr transform, int last, xmlSecTransfo
/* just do nothing */
} else if((transform->status == xmlSecTransformStatusWorking) && (last != 0)) {
if((inSize % 8) != 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- NULL,
- XMLSEC_ERRORS_R_INVALID_SIZE,
- "size=%d(not 8 bytes aligned)", inSize);
+ xmlSecInvalidSizeNotMultipleOfError("Input data", inSize, 8,
+ xmlSecTransformGetName(transform));
return(-1);
}
@@ -337,11 +312,9 @@ xmlSecMSCryptoKWAesExecute(xmlSecTransformPtr transform, int last, xmlSecTransfo
ret = xmlSecBufferSetMaxSize(out, outSize);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecBufferSetMaxSize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "outSize=%d", outSize);
+ xmlSecInternalError2("xmlSecBufferSetMaxSize",
+ xmlSecTransformGetName(transform),
+ "size=%d", outSize);
return(-1);
}
@@ -350,11 +323,8 @@ xmlSecMSCryptoKWAesExecute(xmlSecTransformPtr transform, int last, xmlSecTransfo
xmlSecBufferGetData(in), inSize,
xmlSecBufferGetData(out), outSize);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecKWAesEncode",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKWAesEncode",
+ xmlSecTransformGetName(transform));
return(-1);
}
outSize = ret;
@@ -363,11 +333,8 @@ xmlSecMSCryptoKWAesExecute(xmlSecTransformPtr transform, int last, xmlSecTransfo
xmlSecBufferGetData(in), inSize,
xmlSecBufferGetData(out), outSize);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecKWAesEncode",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKWAesEncode",
+ xmlSecTransformGetName(transform));
return(-1);
}
outSize = ret;
@@ -375,21 +342,17 @@ xmlSecMSCryptoKWAesExecute(xmlSecTransformPtr transform, int last, xmlSecTransfo
ret = xmlSecBufferSetSize(out, outSize);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecBufferSetSize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "outSize=%d", outSize);
+ xmlSecInternalError2("xmlSecBufferSetSize",
+ xmlSecTransformGetName(transform),
+ "size=%d", outSize);
return(-1);
}
ret = xmlSecBufferRemoveHead(in, inSize);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecBufferRemoveHead",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "inSize%d", inSize);
+ xmlSecInternalError2("xmlSecBufferRemoveHead",
+ xmlSecTransformGetName(transform),
+ "size=%d", inSize);
return(-1);
}
@@ -398,11 +361,7 @@ xmlSecMSCryptoKWAesExecute(xmlSecTransformPtr transform, int last, xmlSecTransfo
/* the only way we can get here is if there is no input */
xmlSecAssert2(xmlSecBufferGetSize(&(transform->inBuf)) == 0, -1);
} else {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- NULL,
- XMLSEC_ERRORS_R_INVALID_STATUS,
- "status=%d", transform->status);
+ xmlSecInvalidTransfromStatusError(transform);
return(-1);
}
return(0);
@@ -440,11 +399,7 @@ xmlSecMSCryptoKWAesBlockEncrypt(const xmlSecByte * in, xmlSecSize inSize,
TRUE,
&cryptKey)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecMSCryptoImportPlainSessionBlob",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecMSCryptoImportPlainSessionBlob", NULL);
return(-1);
}
xmlSecAssert2(cryptKey != 0, -1);
@@ -456,11 +411,7 @@ xmlSecMSCryptoKWAesBlockEncrypt(const xmlSecByte * in, xmlSecSize inSize,
}
dwCLen = inSize;
if(!CryptEncrypt(cryptKey, 0, FALSE, 0, out, &dwCLen, outSize)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "CryptEncrypt",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecMSCryptoError("CryptEncrypt", NULL);
CryptDestroyKey(cryptKey);
return(-1);
}
@@ -496,11 +447,7 @@ xmlSecMSCryptoKWAesBlockDecrypt(const xmlSecByte * in, xmlSecSize inSize,
TRUE,
&cryptKey)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecMSCryptoImportPlainSessionBlob",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecMSCryptoImportPlainSessionBlob", NULL);
return(-1);
}
xmlSecAssert2(cryptKey != 0, -1);
@@ -512,11 +459,7 @@ xmlSecMSCryptoKWAesBlockDecrypt(const xmlSecByte * in, xmlSecSize inSize,
}
dwCLen = inSize;
if(!CryptDecrypt(cryptKey, 0, FALSE, 0, out, &dwCLen)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "CryptEncrypt",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecMSCryptoError("CryptDecrypt", NULL);
CryptDestroyKey(cryptKey);
return(-1);
}
diff --git a/src/mscrypto/kw_des.c b/src/mscrypto/kw_des.c
index 227e76d..b8b2b9b 100644
--- a/src/mscrypto/kw_des.c
+++ b/src/mscrypto/kw_des.c
@@ -1,6 +1,5 @@
-/**
- *
- * XMLSec library
+/*
+ * XML Security Library (http://www.aleksey.com/xmlsec).
*
* DES Algorithm support
*
@@ -187,55 +186,36 @@ xmlSecMSCryptoKWDes3Initialize(xmlSecTransformPtr transform) {
ctx->keyId = xmlSecMSCryptoKeyDataDesId;
ctx->keySize = XMLSEC_KW_DES3_KEY_LENGTH;
} else {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- NULL,
- XMLSEC_ERRORS_R_INVALID_TRANSFORM,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInvalidTransfromError(transform)
return(-1);
}
ret = xmlSecBufferInitialize(&(ctx->keyBuffer), 0);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecBufferInitialize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecBufferInitialize",
+ xmlSecTransformGetName(transform));
return(-1);
}
/* find providers */
ctx->desCryptProvider = xmlSecMSCryptoFindProvider(ctx->desProviders, NULL, CRYPT_VERIFYCONTEXT, TRUE);
if(ctx->desCryptProvider == 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecMSCryptoFindProvider(des)",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
-
+ xmlSecInternalError("xmlSecMSCryptoFindProvider(des)",
+ xmlSecTransformGetName(transform));
return(-1);
}
ctx->sha1CryptProvider = xmlSecMSCryptoFindProvider(ctx->sha1Providers, NULL, CRYPT_VERIFYCONTEXT, TRUE);
if(ctx->sha1CryptProvider == 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecMSCryptoFindProvider(sha1)",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
-
+ xmlSecInternalError("xmlSecMSCryptoFindProvider(sha1)",
+ xmlSecTransformGetName(transform));
return(-1);
}
/* Create dummy key to be able to import plain session keys */
if (!xmlSecMSCryptoCreatePrivateExponentOneKey(ctx->desCryptProvider, &(ctx->pubPrivKey))) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecMSCryptoCreatePrivateExponentOneKey",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
-
+ xmlSecMSCryptoError("xmlSecMSCryptoCreatePrivateExponentOneKey",
+ xmlSecTransformGetName(transform));
return(-1);
}
@@ -311,22 +291,16 @@ xmlSecMSCryptoKWDes3SetKey(xmlSecTransformPtr transform, xmlSecKeyPtr key) {
keySize = xmlSecBufferGetSize(buffer);
if(keySize < XMLSEC_KW_DES3_KEY_LENGTH) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- NULL,
- XMLSEC_ERRORS_R_INVALID_KEY_DATA_SIZE,
- "key length %d is not enough (%d expected)",
- keySize, XMLSEC_KW_DES3_KEY_LENGTH);
+ xmlSecInvalidKeyDataSizeError(keySize, XMLSEC_KW_DES3_KEY_LENGTH,
+ xmlSecTransformGetName(transform));
return(-1);
}
ret = xmlSecBufferSetData(&(ctx->keyBuffer), xmlSecBufferGetData(buffer), XMLSEC_KW_DES3_KEY_LENGTH);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecBufferSetData",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "size=%d", XMLSEC_KW_DES3_KEY_LENGTH);
+ xmlSecInternalError2("xmlSecBufferSetData",
+ xmlSecTransformGetName(transform),
+ "size=%d", XMLSEC_KW_DES3_KEY_LENGTH);
return(-1);
}
@@ -365,12 +339,9 @@ xmlSecMSCryptoKWDes3Execute(xmlSecTransformPtr transform, int last, xmlSecTransf
/* just do nothing */
} else if((transform->status == xmlSecTransformStatusWorking) && (last != 0)) {
if((inSize % XMLSEC_KW_DES3_BLOCK_LENGTH) != 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- NULL,
- XMLSEC_ERRORS_R_INVALID_SIZE,
- "%d bytes - not %d bytes aligned",
- inSize, XMLSEC_KW_DES3_BLOCK_LENGTH);
+ xmlSecInvalidSizeNotMultipleOfError("Input data",
+ inSize, XMLSEC_KW_DES3_BLOCK_LENGTH,
+ xmlSecTransformGetName(transform));
return(-1);
}
@@ -386,11 +357,9 @@ xmlSecMSCryptoKWDes3Execute(xmlSecTransformPtr transform, int last, xmlSecTransf
ret = xmlSecBufferSetMaxSize(out, outSize);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecBufferSetMaxSize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "size=%d", outSize);
+ xmlSecInternalError2("xmlSecBufferSetMaxSize",
+ xmlSecTransformGetName(transform),
+ "size=%d", outSize);
return(-1);
}
@@ -399,12 +368,9 @@ xmlSecMSCryptoKWDes3Execute(xmlSecTransformPtr transform, int last, xmlSecTransf
xmlSecBufferGetData(in), inSize,
xmlSecBufferGetData(out), outSize);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecKWDes3Encode",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "key=%d,in=%d,out=%d",
- keySize, inSize, outSize);
+ xmlSecInternalError4("xmlSecKWDes3Encode", xmlSecTransformGetName(transform),
+ "key=%d,in=%d,out=%d",
+ keySize, inSize, outSize);
return(-1);
}
outSize = ret;
@@ -413,12 +379,9 @@ xmlSecMSCryptoKWDes3Execute(xmlSecTransformPtr transform, int last, xmlSecTransf
xmlSecBufferGetData(in), inSize,
xmlSecBufferGetData(out), outSize);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecKWDes3Decode",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "key=%d,in=%d,out=%d",
- keySize, inSize, outSize);
+ xmlSecInternalError4("xmlSecKWDes3Decode", xmlSecTransformGetName(transform),
+ "key=%d,in=%d,out=%d",
+ keySize, inSize, outSize);
return(-1);
}
outSize = ret;
@@ -426,21 +389,17 @@ xmlSecMSCryptoKWDes3Execute(xmlSecTransformPtr transform, int last, xmlSecTransf
ret = xmlSecBufferSetSize(out, outSize);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecBufferSetSize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "size=%d", outSize);
+ xmlSecInternalError2("xmlSecBufferSetSize",
+ xmlSecTransformGetName(transform),
+ "size=%d", outSize);
return(-1);
}
ret = xmlSecBufferRemoveHead(in, inSize);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecBufferRemoveHead",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "size=%d", inSize);
+ xmlSecInternalError2("xmlSecBufferRemoveHead",
+ xmlSecTransformGetName(transform),
+ "size=%d", inSize);
return(-1);
}
@@ -449,11 +408,7 @@ xmlSecMSCryptoKWDes3Execute(xmlSecTransformPtr transform, int last, xmlSecTransf
/* the only way we can get here is if there is no input */
xmlSecAssert2(xmlSecBufferGetSize(&(transform->inBuf)) == 0, -1);
} else {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- NULL,
- XMLSEC_ERRORS_R_INVALID_STATUS,
- "status=%d", transform->status);
+ xmlSecInvalidTransfromStatusError(transform);
return(-1);
}
return(0);
@@ -488,11 +443,7 @@ xmlSecMSCryptoKWDes3Sha1(void * context,
0,
&mscHash);
if((ret == 0) || (mscHash == 0)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "CryptCreateHash",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecMSCryptoError("CryptCreateHash", NULL);
return(-1);
}
@@ -502,11 +453,8 @@ xmlSecMSCryptoKWDes3Sha1(void * context,
inSize,
0);
if(ret == 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "CryptHashData",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- "size=%d", inSize);
+ xmlSecMSCryptoError2("CryptHashData", NULL,
+ "size=%d", inSize);
CryptDestroyHash(mscHash);
return(-1);
}
@@ -519,11 +467,8 @@ xmlSecMSCryptoKWDes3Sha1(void * context,
&retLen,
0);
if (ret == 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "CryptGetHashParam(HP_HASHVAL)",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "size=%d", outSize);
+ xmlSecMSCryptoError2("CryptGetHashParam(HP_HASHVAL)", NULL,
+ "size=%d", outSize);
CryptDestroyHash(mscHash);
return(-1);
}
@@ -546,11 +491,8 @@ xmlSecMSCryptoKWDes3GenerateRandom(void * context,
xmlSecAssert2(outSize > 0, -1);
if(!CryptGenRandom(ctx->desCryptProvider, outSize, out)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "CryptGenRandom",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- "len=%d", outSize);
+ xmlSecMSCryptoError2("CryptGenRandom", NULL,
+ "len=%d", outSize);
return(-1);
}
@@ -587,11 +529,7 @@ xmlSecMSCryptoKWDes3BlockEncrypt(void * context,
TRUE,
&cryptKey)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecMSCryptoImportPlainSessionBlob",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecMSCryptoImportPlainSessionBlob", NULL);
return(-1);
}
xmlSecAssert2(cryptKey != 0, -1);
@@ -599,23 +537,20 @@ xmlSecMSCryptoKWDes3BlockEncrypt(void * context,
/* iv len == block len */
dwBlockLenLen = sizeof(DWORD);
if (!CryptGetKeyParam(cryptKey, KP_BLOCKLEN, (BYTE *)&dwBlockLen, &dwBlockLenLen, 0)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "CryptGetKeyParam",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecMSCryptoError("CryptGetKeyParam", NULL);
CryptDestroyKey(cryptKey);
return(-1);
}
/* set IV */
- if((ivSize < dwBlockLen / 8) || (!CryptSetKeyParam(cryptKey, KP_IV, iv, 0))) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "CryptSetKeyParam",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- "ivSize=%d, dwBlockLen=%d",
- ivSize, dwBlockLen / 8);
+ if(ivSize < dwBlockLen / 8) {
+ xmlSecInvalidSizeLessThanError("ivSize", ivSize, dwBlockLen / 8, NULL);
+ CryptDestroyKey(cryptKey);
+ return(-1);
+ }
+
+ if(!CryptSetKeyParam(cryptKey, KP_IV, iv, 0)) {
+ xmlSecMSCryptoError("CryptSetKeyParam", NULL);
CryptDestroyKey(cryptKey);
return(-1);
}
@@ -627,11 +562,7 @@ xmlSecMSCryptoKWDes3BlockEncrypt(void * context,
}
dwCLen = inSize;
if(!CryptEncrypt(cryptKey, 0, FALSE, 0, out, &dwCLen, outSize)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "CryptEncrypt",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecMSCryptoError("CryptEncrypt", NULL);
CryptDestroyKey(cryptKey);
return(-1);
}
@@ -671,11 +602,7 @@ xmlSecMSCryptoKWDes3BlockDecrypt(void * context,
TRUE,
&cryptKey)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecMSCryptoImportPlainSessionBlob",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecMSCryptoImportPlainSessionBlob", NULL);
return(-1);
}
xmlSecAssert2(cryptKey != 0, -1);
@@ -683,23 +610,19 @@ xmlSecMSCryptoKWDes3BlockDecrypt(void * context,
/* iv len == block len */
dwBlockLenLen = sizeof(DWORD);
if (!CryptGetKeyParam(cryptKey, KP_BLOCKLEN, (BYTE *)&dwBlockLen, &dwBlockLenLen, 0)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "CryptGetKeyParam",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecMSCryptoError("CryptGetKeyParam", NULL);
CryptDestroyKey(cryptKey);
return(-1);
}
/* set IV */
- if((ivSize < dwBlockLen / 8) || (!CryptSetKeyParam(cryptKey, KP_IV, iv, 0))) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "CryptSetKeyParam",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- "ivSize=%d, dwBlockLen=%d",
- ivSize, dwBlockLen / 8);
+ if(ivSize < dwBlockLen / 8) {
+ xmlSecInvalidSizeLessThanError("ivSize", ivSize, dwBlockLen / 8, NULL);
+ CryptDestroyKey(cryptKey);
+ return(-1);
+ }
+ if(!CryptSetKeyParam(cryptKey, KP_IV, iv, 0)) {
+ xmlSecMSCryptoError("CryptSetKeyParam", NULL);
CryptDestroyKey(cryptKey);
return(-1);
}
@@ -711,11 +634,7 @@ xmlSecMSCryptoKWDes3BlockDecrypt(void * context,
}
dwCLen = inSize;
if(!CryptDecrypt(cryptKey, 0, FALSE, 0, out, &dwCLen)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "CryptEncrypt",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecMSCryptoError("CryptEncrypt", NULL);
CryptDestroyKey(cryptKey);
return(-1);
}
diff --git a/src/mscrypto/private.h b/src/mscrypto/private.h
index 37e7b9a..2ba8776 100644
--- a/src/mscrypto/private.h
+++ b/src/mscrypto/private.h
@@ -1,5 +1,5 @@
-/**
- * XMLSec library
+/*
+ * XML Security Library (http://www.aleksey.com/xmlsec).
*
* THIS IS A PRIVATE XMLSEC HEADER FILE
* DON'T USE IT IN YOUR APPLICATION
diff --git a/src/mscrypto/signatures.c b/src/mscrypto/signatures.c
index 342b652..3eb601e 100644
--- a/src/mscrypto/signatures.c
+++ b/src/mscrypto/signatures.c
@@ -1,5 +1,5 @@
-/**
- * XMLSec library
+/*
+ * XML Security Library (http://www.aleksey.com/xmlsec).
*
* This is free software; see Copyright file in the source
* distribution for preciese wording.
@@ -197,11 +197,7 @@ static int xmlSecMSCryptoSignatureInitialize(xmlSecTransformPtr transform) {
/* not found */
{
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- NULL,
- XMLSEC_ERRORS_R_INVALID_TRANSFORM,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInvalidTransfromError(transform)
return(-1);
}
@@ -249,11 +245,8 @@ static int xmlSecMSCryptoSignatureSetKey(xmlSecTransformPtr transform, xmlSecKey
ctx->data = xmlSecKeyDataDuplicate(value);
if(ctx->data == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecKeyDataDuplicate",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeyDataDuplicate",
+ xmlSecTransformGetName(transform));
return(-1);
}
@@ -307,11 +300,9 @@ static int xmlSecMSCryptoSignatureVerify(xmlSecTransformPtr transform,
ret = xmlSecBufferInitialize(&tmp, dataSize);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecBufferInitialize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "dataSize=%d", dataSize);
+ xmlSecInternalError2("xmlSecBufferInitialize",
+ xmlSecTransformGetName(transform),
+ "dataSize=%d", dataSize);
return(-1);
}
@@ -368,22 +359,15 @@ static int xmlSecMSCryptoSignatureVerify(xmlSecTransformPtr transform,
#endif /* XMLSEC_NO_GOST*/
{
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- NULL,
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "Invalid algo");
+ xmlSecInvalidTypeError("Invalid signature algorithm", xmlSecTransformGetName(transform));
xmlSecBufferFinalize(&tmp);
return(-1);
}
hKey = xmlSecMSCryptoKeyDataGetKey(ctx->data, xmlSecKeyDataTypePublic);
if (hKey == 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecMSCryptoKeyDataGetKey",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecMSCryptoKeyDataGetKey",
+ xmlSecTransformGetName(transform));
xmlSecBufferFinalize(&tmp);
return(-1);
}
@@ -395,20 +379,15 @@ static int xmlSecMSCryptoSignatureVerify(xmlSecTransformPtr transform,
0)) {
dwError = GetLastError();
if (NTE_BAD_SIGNATURE == dwError) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "CryptVerifySignature",
- XMLSEC_ERRORS_R_DATA_NOT_MATCH,
- "signature do not match");
+ xmlSecOtherError(XMLSEC_ERRORS_R_DATA_NOT_MATCH,
+ xmlSecTransformGetName(transform),
+ "CryptVerifySignature: signature does not verify");
transform->status = xmlSecTransformStatusFail;
xmlSecBufferFinalize(&tmp);
return(0);
} else {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "CryptVerifySignature",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecMSCryptoError("CryptVerifySignature",
+ xmlSecTransformGetName(transform));
xmlSecBufferFinalize(&tmp);
return (-1);
}
@@ -432,8 +411,6 @@ xmlSecMSCryptoSignatureExecute(xmlSecTransformPtr transform, int last, xmlSecTra
BYTE *tmpBuf, *outBuf;
int bOk;
PCRYPT_KEY_PROV_INFO pProviderInfo = NULL;
- char strContName[1000];
- char strProvName[1000];
size_t size;
xmlSecAssert2(xmlSecMSCryptoSignatureCheckId(transform), -1);
@@ -457,11 +434,8 @@ xmlSecMSCryptoSignatureExecute(xmlSecTransformPtr transform, int last, xmlSecTra
xmlSecAssert2(outSize == 0, -1);
if (0 == (hProv = xmlSecMSCryptoKeyDataGetMSCryptoProvider(ctx->data))) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecMSCryptoKeyDataGetMSCryptoProvider",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecMSCryptoError("xmlSecMSCryptoKeyDataGetMSCryptoProvider",
+ xmlSecTransformGetName(transform));
return (-1);
}
@@ -473,54 +447,23 @@ xmlSecMSCryptoSignatureExecute(xmlSecTransformPtr transform, int last, xmlSecTra
pProviderInfo = xmlSecMSCryptoKeyDataGetMSCryptoProviderInfo(ctx->data);
if(pProviderInfo == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecMSCryptoKeyDataGetMSCryptoProviderInfo",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
- return(-1);
- }
-
- ret = wcstombs_s(&size, strContName, 1000, pProviderInfo->pwszContainerName, _TRUNCATE);
- if(ret != 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "wcstombs_s",
- XMLSEC_ERRORS_R_INVALID_DATA,
- "ret=%d", ret);
- return(-1);
- }
-
- ret = wcstombs_s(&size, strProvName, 1000, pProviderInfo->pwszProvName, _TRUNCATE);
- if(ret != 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "wcstombs_s",
- XMLSEC_ERRORS_R_INVALID_DATA,
- "ret=%d", ret);
+ xmlSecInternalError("xmlSecMSCryptoKeyDataGetMSCryptoProviderInfo", NULL);
return(-1);
}
if(!CryptReleaseContext(hProv, 0)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "CryptReleaseContext",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecMSCryptoError("CryptReleaseContext", NULL);
return(-1);
}
- hProv = NULL;
+ hProv = (HCRYPTPROV)0;
if(!CryptAcquireContext(&hProv,
- strContName,
- strProvName,
+ pProviderInfo->pwszContainerName,
+ pProviderInfo->pwszProvName,
pProviderInfo->dwProvType,
0)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "CryptAcquireContext",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+
+ xmlSecMSCryptoError("CryptAcquireContext", NULL);
return(-1);
}
@@ -530,25 +473,17 @@ xmlSecMSCryptoSignatureExecute(xmlSecTransformPtr transform, int last, xmlSecTra
//Last try it with PROV_RSA_AES provider type.
if(!bOk) {
if (!CryptReleaseContext(hProv, 0)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "CryptReleaseContext",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecMSCryptoError("CryptReleaseContext", NULL);
return(-1);
}
- hProv = NULL;
+ hProv = (HCRYPTPROV)0;
if(!CryptAcquireContext(&hProv,
- strContName,
+ pProviderInfo->pwszContainerName,
NULL,
PROV_RSA_AES,
0)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "CryptAcquireContext",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecMSCryptoError("CryptAcquireContext", NULL);
return(-1);
}
@@ -560,11 +495,7 @@ xmlSecMSCryptoSignatureExecute(xmlSecTransformPtr transform, int last, xmlSecTra
}
if(!bOk) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "CryptCreateHash",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecMSCryptoError("CryptCreateHash", NULL);
return(-1);
}
@@ -575,21 +506,14 @@ xmlSecMSCryptoSignatureExecute(xmlSecTransformPtr transform, int last, xmlSecTra
xmlSecAssert2(outSize == 0, -1);
if (!CryptHashData(ctx->mscHash, xmlSecBufferGetData(in), inSize, 0)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "CryptHashData",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecMSCryptoError("CryptHashData", NULL);
return(-1);
}
ret = xmlSecBufferRemoveHead(in, inSize);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecBufferRemoveHead",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecBufferRemoveHead",
+ xmlSecTransformGetName(transform));
return(-1);
}
}
@@ -602,33 +526,23 @@ xmlSecMSCryptoSignatureExecute(xmlSecTransformPtr transform, int last, xmlSecTra
if(transform->operation == xmlSecTransformOperationSign) {
dwKeySpec = xmlSecMSCryptoKeyDataGetMSCryptoKeySpec(ctx->data);
if (!CryptSignHash(ctx->mscHash, dwKeySpec, NULL, 0, NULL, &dwSigLen)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "CryptSignHash",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecMSCryptoError("CryptSignHash", NULL);
return(-1);
}
outSize = (xmlSecSize)dwSigLen;
ret = xmlSecBufferInitialize(&tmp, outSize);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecBufferSetMaxSize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "size=%d", outSize);
+ xmlSecInternalError2("xmlSecBufferSetMaxSize",
+ xmlSecTransformGetName(transform),
+ "size=%d", outSize);
return(-1);
}
tmpBuf = xmlSecBufferGetData(&tmp);
xmlSecAssert2(tmpBuf != NULL, -1);
if (!CryptSignHash(ctx->mscHash, dwKeySpec, NULL, 0, tmpBuf, &dwSigLen)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "CryptSignHash",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecMSCryptoError("CryptSignHash", NULL);
xmlSecBufferFinalize(&tmp);
return(-1);
}
@@ -636,11 +550,9 @@ xmlSecMSCryptoSignatureExecute(xmlSecTransformPtr transform, int last, xmlSecTra
ret = xmlSecBufferSetSize(out, outSize);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecBufferSetSize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "size=%d", outSize);
+ xmlSecInternalError2("xmlSecBufferSetSize",
+ xmlSecTransformGetName(transform),
+ "size=%d", outSize);
xmlSecBufferFinalize(&tmp);
return(-1);
}
@@ -698,11 +610,7 @@ xmlSecMSCryptoSignatureExecute(xmlSecTransformPtr transform, int last, xmlSecTra
{
/* We shouldn't get at this place */
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- NULL,
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "Invalid algo");
+ xmlSecInvalidTypeError("Invalid signature algorithm", xmlSecTransformGetName(transform));
xmlSecBufferFinalize(&tmp);
return(-1);
}
@@ -715,11 +623,7 @@ xmlSecMSCryptoSignatureExecute(xmlSecTransformPtr transform, int last, xmlSecTra
/* the only way we can get here is if there is no input */
xmlSecAssert2(xmlSecBufferGetSize(&(transform->inBuf)) == 0, -1);
} else {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- NULL,
- XMLSEC_ERRORS_R_INVALID_STATUS,
- "status=%d", transform->status);
+ xmlSecInvalidTransfromStatusError(transform);
return(-1);
}
diff --git a/src/mscrypto/symkeys.c b/src/mscrypto/symkeys.c
index 658a6d4..7bd1660 100644
--- a/src/mscrypto/symkeys.c
+++ b/src/mscrypto/symkeys.c
@@ -1,6 +1,5 @@
-/**
- *
- * XMLSec library
+/*
+ * XML Security Library (http://www.aleksey.com/xmlsec).
*
* DES Algorithm support
*
@@ -238,40 +237,24 @@ xmlSecMSCryptoCreatePrivateExponentOneKey(HCRYPTPROV hProv, HCRYPTKEY *hPrivateK
/* Generate the private key */
if(!CryptGenKey(hProv, AT_KEYEXCHANGE, CRYPT_EXPORTABLE, &hKey)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "CryptGenKey",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecMSCryptoError("CryptGenKey", NULL);
goto done;
}
/* Export the private key, we'll convert it to a private exponent of one key */
if(!CryptExportKey(hKey, 0, PRIVATEKEYBLOB, 0, NULL, &keyBlobLen)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "CryptExportKey",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecMSCryptoError("CryptExportKey", NULL);
goto done;
}
keyBlob = (LPBYTE)xmlMalloc(sizeof(BYTE) * keyBlobLen);
if(keyBlob == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- NULL,
- XMLSEC_ERRORS_R_MALLOC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecMallocError(sizeof(BYTE) * keyBlobLen, NULL);
goto done;
}
if(!CryptExportKey(hKey, 0, PRIVATEKEYBLOB, 0, keyBlob, &keyBlobLen)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "CryptExportKey",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecMSCryptoError("CryptExportKey", NULL);
goto done;
}
CryptDestroyKey(hKey);
@@ -279,28 +262,22 @@ xmlSecMSCryptoCreatePrivateExponentOneKey(HCRYPTPROV hProv, HCRYPTKEY *hPrivateK
/* Get the bit length of the key */
if(keyBlobLen < sizeof(PUBLICKEYSTRUC) + sizeof(RSAPUBKEY)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "CryptExportKey",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- "len=%ld", keyBlobLen);
+ xmlSecMSCryptoError2("CryptExportKey", NULL,
+ "len=%ld",
+ (long int)keyBlobLen);
goto done;
}
pubKeyStruc = (PUBLICKEYSTRUC*)keyBlob;
if(pubKeyStruc->bVersion != 0x02) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "CryptExportKey",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- "pubKeyStruc->bVersion=%d", pubKeyStruc->bVersion);
+ xmlSecMSCryptoError2("CryptExportKey", NULL,
+ "pubKeyStruc->bVersion=%ld",
+ (long int)pubKeyStruc->bVersion);
goto done;
}
if(pubKeyStruc->bType != PRIVATEKEYBLOB) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "CryptExportKey",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- "pubKeyStruc->bType=%d", (int)pubKeyStruc->bType);
+ xmlSecMSCryptoError2("CryptExportKey", NULL,
+ "pubKeyStruc->bType=%ld",
+ (long int)pubKeyStruc->bType);
goto done;
}
@@ -309,11 +286,9 @@ xmlSecMSCryptoCreatePrivateExponentOneKey(HCRYPTPROV hProv, HCRYPTKEY *hPrivateK
/* check that we have RSA private key */
if(rsaPubKey->magic != 0x32415352) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "CryptExportKey",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- "rsaPubKey->magic=0x%08lx", rsaPubKey->magic);
+ xmlSecMSCryptoError2("CryptExportKey", NULL,
+ "rsaPubKey->magic=0x%08lx",
+ (long int)rsaPubKey->magic);
goto done;
}
bitLen = rsaPubKey->bitlen;
@@ -335,11 +310,8 @@ xmlSecMSCryptoCreatePrivateExponentOneKey(HCRYPTPROV hProv, HCRYPTKEY *hPrivateK
* BYTE privateExponent[rsapubkey.bitlen/8]; 1/8
*/
if(keyBlobLen < sizeof(PUBLICKEYSTRUC) + sizeof(RSAPUBKEY) + bitLen / 2 + bitLen / 16) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "CryptExportKey",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- "len=%ld", keyBlobLen);
+ xmlSecMSCryptoError2("CryptExportKey", NULL,
+ "keBlobLen=%ld", keyBlobLen);
goto done;
}
ptr = (BYTE*)(keyBlob + sizeof(PUBLICKEYSTRUC) + sizeof(RSAPUBKEY));
@@ -374,11 +346,7 @@ xmlSecMSCryptoCreatePrivateExponentOneKey(HCRYPTPROV hProv, HCRYPTKEY *hPrivateK
/* Import the exponent-of-one private key. */
if (!CryptImportKey(hProv, keyBlob, keyBlobLen, 0, 0, &hKey)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "CryptImportKey",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecMSCryptoError("CryptImportKey", NULL);
goto done;
}
(*hPrivateKey) = hKey;
@@ -434,11 +402,9 @@ xmlSecMSCryptoImportPlainSessionBlob(HCRYPTPROV hProv, HCRYPTKEY hPrivateKey,
dwFlags = 0;
}
if(!fFound) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "CryptGetProvParam",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- "algId=%d is not supported", dwAlgId);
+ xmlSecMSCryptoError2("CryptGetProvParam", NULL,
+ "algId=%ld is not supported",
+ (long int)dwAlgId);
goto done;
}
@@ -447,21 +413,16 @@ xmlSecMSCryptoImportPlainSessionBlob(HCRYPTPROV hProv, HCRYPTKEY hPrivateKey,
* PP_ENUMALGS_EX contains the key size without the padding so we can't use it.
*/
if(!CryptGenKey(hProv, dwAlgId, 0, &hTempKey)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "CryptGenKey",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- "algId=%d", dwAlgId);
+ xmlSecMSCryptoError2("CryptGenKey", NULL,
+ "algId=%ld",
+ (long int)dwAlgId);
goto done;
}
dwSize = sizeof(DWORD);
if(!CryptGetKeyParam(hTempKey, KP_KEYLEN, (LPBYTE)&dwProvSessionKeySize, &dwSize, 0)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "CryptGetKeyParam(KP_KEYLEN)",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- "algId=%d", dwAlgId);
+ xmlSecMSCryptoError2("CryptGetKeyParam(KP_KEYLEN)", NULL,
+ "algId=%ld", (long int)dwAlgId);
goto done;
}
CryptDestroyKey(hTempKey);
@@ -469,12 +430,9 @@ xmlSecMSCryptoImportPlainSessionBlob(HCRYPTPROV hProv, HCRYPTKEY hPrivateKey,
/* yell if key is too big */
if ((dwKeyMaterial * 8) > dwProvSessionKeySize) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- NULL,
- XMLSEC_ERRORS_R_INVALID_SIZE,
- "dwKeyMaterial=%ld;dwProvSessionKeySize=%ld",
- dwKeyMaterial, dwProvSessionKeySize);
+ xmlSecInvalidSizeMoreThanError("Key value (bits)",
+ (dwKeyMaterial * 8), dwProvSessionKeySize,
+ NULL);
goto done;
}
} else {
@@ -484,33 +442,24 @@ xmlSecMSCryptoImportPlainSessionBlob(HCRYPTPROV hProv, HCRYPTKEY hPrivateKey,
/* Get private key's algorithm */
dwSize = sizeof(ALG_ID);
if(!CryptGetKeyParam(hPrivateKey, KP_ALGID, (LPBYTE)&dwPrivKeyAlg, &dwSize, 0)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "CryptGetKeyParam(KP_ALGID)",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- "algId=%d", dwAlgId);
+ xmlSecMSCryptoError2("CryptGetKeyParam(KP_ALGID)", NULL,
+ "algId=%ld",
+ (long int)dwAlgId);
goto done;
}
/* Get private key's length in bits */
dwSize = sizeof(DWORD);
if(!CryptGetKeyParam(hPrivateKey, KP_KEYLEN, (LPBYTE)&dwPublicKeySize, &dwSize, 0)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "CryptGetKeyParam(KP_KEYLEN)",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- "algId=%d", dwAlgId);
+ xmlSecMSCryptoError2("CryptGetKeyParam(KP_KEYLEN)", NULL,
+ "algId=%ld",
+ (long int)dwAlgId);
goto done;
}
/* 3 is for the first reserved byte after the key material and the 2 reserved bytes at the end. */
if(dwPublicKeySize / 8 < dwKeyMaterial + 3) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- NULL,
- XMLSEC_ERRORS_R_INVALID_SIZE,
- "dwKeyMaterial=%ld;dwPublicKeySize=%ld",
- dwKeyMaterial, dwPublicKeySize);
+ xmlSecInvalidSizeLessThanError("Key value", dwPublicKeySize / 8, dwKeyMaterial + 3, NULL);
goto done;
}
rndBlobSize = dwPublicKeySize / 8 - (dwKeyMaterial + 3);
@@ -530,11 +479,7 @@ xmlSecMSCryptoImportPlainSessionBlob(HCRYPTPROV hProv, HCRYPTKEY hPrivateKey,
/* allocate simple blob buffer */
keyBlob = (LPBYTE)xmlMalloc(sizeof(BYTE) * keyBlobLen);
if(keyBlob == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- NULL,
- XMLSEC_ERRORS_R_MALLOC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecMallocError(sizeof(BYTE) * keyBlobLen, NULL);
goto done;
}
memset(keyBlob, 0, keyBlobLen);
@@ -562,11 +507,9 @@ xmlSecMSCryptoImportPlainSessionBlob(HCRYPTPROV hProv, HCRYPTKEY hPrivateKey,
/* Generate random data for the rest of the buffer */
if((rndBlobSize > 0) && !CryptGenRandom(hProv, rndBlobSize, pbPtr)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "CryptGenRandom",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- "rndBlobSize=%ld", rndBlobSize);
+ xmlSecMSCryptoError2("CryptGenRandom", NULL,
+ "rndBlobSize=%ld",
+ (long int)rndBlobSize);
goto done;
}
/* aleksey: why are we doing this? */
@@ -578,11 +521,9 @@ xmlSecMSCryptoImportPlainSessionBlob(HCRYPTPROV hProv, HCRYPTKEY hPrivateKey,
keyBlob[keyBlobLen - 2] = 2;
if(!CryptImportKey(hProv, keyBlob , keyBlobLen, hPrivateKey, CRYPT_EXPORTABLE, hSessionKey)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "CryptImportKey",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- "algId=%d", dwAlgId);
+ xmlSecMSCryptoError2("CryptImportKey", NULL,
+ "algId=%ld",
+ (long int)dwAlgId);
goto done;
}
diff --git a/src/mscrypto/x509.c b/src/mscrypto/x509.c
index f35a8b9..7aec5c6 100644
--- a/src/mscrypto/x509.c
+++ b/src/mscrypto/x509.c
@@ -1,5 +1,5 @@
-/**
- * XMLSec library
+/*
+ * XML Security Library (http://www.aleksey.com/xmlsec).
*
* X509 support
*
@@ -360,11 +360,8 @@ xmlSecMSCryptoKeyDataX509AdoptCert(xmlSecKeyDataPtr data, PCCERT_CONTEXT cert) {
xmlSecAssert2(ctx->hMemStore != 0, -1);
if (!CertAddCertificateContextToStore(ctx->hMemStore, cert, CERT_STORE_ADD_ALWAYS, NULL)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- "CertAddCertificateContextToStore",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecMSCryptoError("CertAddCertificateContextToStore",
+ xmlSecKeyDataGetName(data));
return(-1);
}
CertFreeCertificateContext(cert);
@@ -395,7 +392,11 @@ xmlSecMSCryptoKeyDataX509GetCert(xmlSecKeyDataPtr data, xmlSecSize pos) {
xmlSecAssert2(ctx->hMemStore != 0, NULL);
xmlSecAssert2(ctx->numCerts > pos, NULL);
- while ((pCert = CertEnumCertificatesInStore(ctx->hMemStore, pCert)) && (pos > 0)) {
+ while (pos > 0) {
+ pCert = CertEnumCertificatesInStore(ctx->hMemStore, pCert);
+ if(pCert == NULL) {
+ break;
+ }
pos--;
}
@@ -443,11 +444,8 @@ xmlSecMSCryptoKeyDataX509AdoptCrl(xmlSecKeyDataPtr data, PCCRL_CONTEXT crl) {
xmlSecAssert2(ctx->hMemStore != 0, -1);
if (!CertAddCRLContextToStore(ctx->hMemStore, crl, CERT_STORE_ADD_ALWAYS, NULL)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- "CertAddCRLContextToStore",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecMSCryptoError("CertAddCRLContextToStore",
+ xmlSecKeyDataGetName(data));
return(-1);
}
ctx->numCrls++;
@@ -476,7 +474,11 @@ xmlSecMSCryptoKeyDataX509GetCrl(xmlSecKeyDataPtr data, xmlSecSize pos) {
xmlSecAssert2(ctx->hMemStore != 0, NULL);
xmlSecAssert2(ctx->numCrls > pos, NULL);
- while ((pCRL = CertEnumCRLsInStore(ctx->hMemStore, pCRL)) && (pos > 0)) {
+ while(pos > 0) {
+ pCRL = CertEnumCRLsInStore(ctx->hMemStore, pCRL);
+ if(pCRL == NULL) {
+ break;
+ }
pos--;
}
@@ -520,11 +522,8 @@ xmlSecMSCryptoKeyDataX509Initialize(xmlSecKeyDataPtr data) {
CERT_STORE_CREATE_NEW_FLAG,
NULL);
if (ctx->hMemStore == 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- "CertOpenStore",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecMSCryptoError("CertOpenStore",
+ xmlSecKeyDataGetName(data));
return(-1);
}
@@ -549,31 +548,23 @@ xmlSecMSCryptoKeyDataX509Duplicate(xmlSecKeyDataPtr dst, xmlSecKeyDataPtr src) {
*/
certSrc = xmlSecMSCryptoKeyDataX509GetCert(src, pos);
if(certSrc == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(src)),
- "xmlSecMSCryptoKeyDataX509GetCert",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "pos=%d", pos);
+ xmlSecInternalError2("xmlSecMSCryptoKeyDataX509GetCert",
+ xmlSecKeyDataGetName(src),
+ "pos=%d", pos);
return(-1);
}
certDst = CertDuplicateCertificateContext(certSrc);
if(certDst == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(dst)),
- "CertDuplicateCertificateContext",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecMSCryptoError("CertDuplicateCertificateContext",
+ xmlSecKeyDataGetName(dst));
return(-1);
}
ret = xmlSecMSCryptoKeyDataX509AdoptCert(dst, certDst);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(dst)),
- "xmlSecMSCryptoKeyDataX509AdoptCert",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecMSCryptoKeyDataX509AdoptCert",
+ xmlSecKeyDataGetName(dst));
CertFreeCertificateContext(certDst);
return(-1);
}
@@ -584,31 +575,23 @@ xmlSecMSCryptoKeyDataX509Duplicate(xmlSecKeyDataPtr dst, xmlSecKeyDataPtr src) {
for(pos = 0; pos < size; ++pos) {
crlSrc = xmlSecMSCryptoKeyDataX509GetCrl(src, pos);
if(crlSrc == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(src)),
- "xmlSecMSCryptoKeyDataX509GetCrl",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "pos=%d", pos);
+ xmlSecInternalError2("xmlSecMSCryptoKeyDataX509GetCrl",
+ xmlSecKeyDataGetName(src),
+ "pos=%d", pos);
return(-1);
}
crlDst = CertDuplicateCRLContext(crlSrc);
if(crlDst == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(dst)),
- "CertDuplicateCRLContext",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecMSCryptoError("CertDuplicateCRLContext",
+ xmlSecKeyDataGetName(dst));
return(-1);
}
ret = xmlSecMSCryptoKeyDataX509AdoptCrl(dst, crlDst);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(dst)),
- "xmlSecMSCryptoKeyDataX509AdoptCrl",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecMSCryptoKeyDataX509AdoptCrl",
+ xmlSecKeyDataGetName(dst));
CertFreeCRLContext(crlDst);
return(-1);
}
@@ -619,20 +602,14 @@ xmlSecMSCryptoKeyDataX509Duplicate(xmlSecKeyDataPtr dst, xmlSecKeyDataPtr src) {
if(certSrc != NULL) {
certDst = CertDuplicateCertificateContext(certSrc);
if(certDst == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(dst)),
- "CertDuplicateCertificateContext",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecMSCryptoError("CertDuplicateCertificateContext",
+ xmlSecKeyDataGetName(dst));
return(-1);
}
ret = xmlSecMSCryptoKeyDataX509AdoptKeyCert(dst, certDst);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(dst)),
- "xmlSecMSCryptoKeyDataX509AdoptKeyCert",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecMSCryptoKeyDataX509AdoptKeyCert",
+ xmlSecKeyDataGetName(dst));
CertFreeCertificateContext(certDst);
return(-1);
}
@@ -656,11 +633,7 @@ xmlSecMSCryptoKeyDataX509Finalize(xmlSecKeyDataPtr data) {
if (ctx->hMemStore != 0) {
if (!CertCloseStore(ctx->hMemStore, CERT_CLOSE_STORE_FORCE_FLAG)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "CertCloseStore",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("CertCloseStore", NULL);
return;
}
}
@@ -681,34 +654,23 @@ xmlSecMSCryptoKeyDataX509XmlRead(xmlSecKeyDataId id, xmlSecKeyPtr key,
data = xmlSecKeyEnsureData(key, id);
if(data == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecKeyEnsureData",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeyEnsureData",
+ xmlSecKeyDataKlassGetName(id));
return(-1);
}
ret = xmlSecMSCryptoX509DataNodeRead(data, node, keyInfoCtx);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecMSCryptoX509DataNodeRead",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecMSCryptoX509DataNodeRead",
+ xmlSecKeyDataKlassGetName(id));
return(-1);
}
- if((keyInfoCtx->flags & XMLSEC_KEYINFO_FLAGS_X509DATA_DONT_VERIFY_CERTS) == 0) {
- ret = xmlSecMSCryptoKeyDataX509VerifyAndExtractKey(data, key, keyInfoCtx);
- if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecMSCryptoKeyDataX509VerifyAndExtractKey",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
- return(-1);
- }
+ ret = xmlSecMSCryptoKeyDataX509VerifyAndExtractKey(data, key, keyInfoCtx);
+ if(ret < 0) {
+ xmlSecInternalError("xmlSecMSCryptoKeyDataX509VerifyAndExtractKey",
+ xmlSecKeyDataKlassGetName(id));
+ return(-1);
}
return(0);
}
@@ -730,11 +692,9 @@ xmlSecMSCryptoKeyDataX509XmlWrite(xmlSecKeyDataId id, xmlSecKeyPtr key,
content = xmlSecX509DataGetNodeContent (node, keyInfoCtx);
if (content < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecX509DataGetNodeContent",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "content=%d", content);
+ xmlSecInternalError2("xmlSecX509DataGetNodeContent",
+ xmlSecKeyDataKlassGetName(id),
+ "content=%d", content);
return(-1);
} else if(content == 0) {
/* by default we are writing certificates and crls */
@@ -753,22 +713,18 @@ xmlSecMSCryptoKeyDataX509XmlWrite(xmlSecKeyDataId id, xmlSecKeyPtr key,
for(pos = 0; pos < size; ++pos) {
cert = xmlSecMSCryptoKeyDataX509GetCert(data, pos);
if(cert == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecMSCryptoKeyDataX509GetCert",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "pos=%d", pos);
+ xmlSecInternalError2("xmlSecMSCryptoKeyDataX509GetCert",
+ xmlSecKeyDataKlassGetName(id),
+ "pos=%d", pos);
return(-1);
}
if((content & XMLSEC_X509DATA_CERTIFICATE_NODE) != 0) {
ret = xmlSecMSCryptoX509CertificateNodeWrite(cert, node, keyInfoCtx);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecMSCryptoX509CertificateNodeWrite",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "pos=%d", pos);
+ xmlSecInternalError2("xmlSecMSCryptoX509CertificateNodeWrite",
+ xmlSecKeyDataKlassGetName(id),
+ "pos=%d", pos);
return(-1);
}
}
@@ -776,11 +732,9 @@ xmlSecMSCryptoKeyDataX509XmlWrite(xmlSecKeyDataId id, xmlSecKeyPtr key,
if((content & XMLSEC_X509DATA_SUBJECTNAME_NODE) != 0) {
ret = xmlSecMSCryptoX509SubjectNameNodeWrite(cert, node, keyInfoCtx);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecMSCryptoX509SubjectNameNodeWrite",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "pos=%d", pos);
+ xmlSecInternalError2("xmlSecMSCryptoX509SubjectNameNodeWrite",
+ xmlSecKeyDataKlassGetName(id),
+ "pos=%d", pos);
return(-1);
}
}
@@ -788,11 +742,9 @@ xmlSecMSCryptoKeyDataX509XmlWrite(xmlSecKeyDataId id, xmlSecKeyPtr key,
if((content & XMLSEC_X509DATA_ISSUERSERIAL_NODE) != 0) {
ret = xmlSecMSCryptoX509IssuerSerialNodeWrite(cert, node, keyInfoCtx);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecMSCryptoX509IssuerSerialNodeWrite",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "pos=%d", pos);
+ xmlSecInternalError2("xmlSecMSCryptoX509IssuerSerialNodeWrite",
+ xmlSecKeyDataKlassGetName(id),
+ "pos=%d", pos);
return(-1);
}
}
@@ -800,11 +752,9 @@ xmlSecMSCryptoKeyDataX509XmlWrite(xmlSecKeyDataId id, xmlSecKeyPtr key,
if((content & XMLSEC_X509DATA_SKI_NODE) != 0) {
ret = xmlSecMSCryptoX509SKINodeWrite(cert, node, keyInfoCtx);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecMSCryptoX509SKINodeWrite",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "pos=%d", pos);
+ xmlSecInternalError2("xmlSecMSCryptoX509SKINodeWrite",
+ xmlSecKeyDataKlassGetName(id),
+ "pos=%d", pos);
return(-1);
}
}
@@ -816,21 +766,17 @@ xmlSecMSCryptoKeyDataX509XmlWrite(xmlSecKeyDataId id, xmlSecKeyPtr key,
for(pos = 0; pos < size; ++pos) {
crl = xmlSecMSCryptoKeyDataX509GetCrl(data, pos);
if(crl == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecMSCryptoKeyDataX509GetCrl",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "pos=%d", pos);
+ xmlSecInternalError2("xmlSecMSCryptoKeyDataX509GetCrl",
+ xmlSecKeyDataKlassGetName(id),
+ "pos=%d", pos);
return(-1);
}
ret = xmlSecMSCryptoX509CRLNodeWrite(crl, node, keyInfoCtx);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecMSCryptoX509CRLNodeWrite",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "pos=%d", pos);
+ xmlSecInternalError2("xmlSecMSCryptoX509CRLNodeWrite",
+ xmlSecKeyDataKlassGetName(id),
+ "pos=%d", pos);
return(-1);
}
}
@@ -874,11 +820,9 @@ xmlSecMSCryptoKeyDataX509DebugDump(xmlSecKeyDataPtr data, FILE* output) {
for(pos = 0; pos < size; ++pos) {
cert = xmlSecMSCryptoKeyDataX509GetCert(data, pos);
if(cert == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- "xmlSecMSCryptoKeyDataX509GetCert",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "pos=%d", pos);
+ xmlSecInternalError2("xmlSecMSCryptoKeyDataX509GetCert",
+ xmlSecKeyDataGetName(data),
+ "pos=%d", pos);
return;
}
fprintf(output, "==== Certificate:\n");
@@ -908,11 +852,9 @@ xmlSecMSCryptoKeyDataX509DebugXmlDump(xmlSecKeyDataPtr data, FILE* output) {
for(pos = 0; pos < size; ++pos) {
cert = xmlSecMSCryptoKeyDataX509GetCert(data, pos);
if(cert == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- "xmlSecMSCryptoKeyDataX509GetCert",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "pos=%d", pos);
+ xmlSecInternalError2("xmlSecMSCryptoKeyDataX509GetCert",
+ xmlSecKeyDataGetName(data),
+ "pos=%d", pos);
return;
}
fprintf(output, "<Certificate>\n");
@@ -940,29 +882,42 @@ xmlSecMSCryptoX509DataNodeRead(xmlSecKeyDataPtr data, xmlNodePtr node, xmlSecKey
ret = 0;
if(xmlSecCheckNodeName(cur, xmlSecNodeX509Certificate, xmlSecDSigNs)) {
ret = xmlSecMSCryptoX509CertificateNodeRead(data, cur, keyInfoCtx);
+ if(ret < 0) {
+ xmlSecInternalError("xmlSecMSCryptoX509CertificateNodeRead",
+ xmlSecKeyDataGetName(data));
+ return(-1);
+ }
} else if(xmlSecCheckNodeName(cur, xmlSecNodeX509SubjectName, xmlSecDSigNs)) {
ret = xmlSecMSCryptoX509SubjectNameNodeRead(data, cur, keyInfoCtx);
+ if(ret < 0) {
+ xmlSecInternalError("xmlSecMSCryptoX509SubjectNameNodeRead",
+ xmlSecKeyDataGetName(data));
+ return(-1);
+ }
} else if(xmlSecCheckNodeName(cur, xmlSecNodeX509IssuerSerial, xmlSecDSigNs)) {
ret = xmlSecMSCryptoX509IssuerSerialNodeRead(data, cur, keyInfoCtx);
+ if(ret < 0) {
+ xmlSecInternalError("xmlSecMSCryptoX509IssuerSerialNodeRead",
+ xmlSecKeyDataGetName(data));
+ return(-1);
+ }
} else if(xmlSecCheckNodeName(cur, xmlSecNodeX509SKI, xmlSecDSigNs)) {
ret = xmlSecMSCryptoX509SKINodeRead(data, cur, keyInfoCtx);
+ if(ret < 0) {
+ xmlSecInternalError("xmlSecMSCryptoX509SKINodeRead",
+ xmlSecKeyDataGetName(data));
+ return(-1);
+ }
} else if(xmlSecCheckNodeName(cur, xmlSecNodeX509CRL, xmlSecDSigNs)) {
ret = xmlSecMSCryptoX509CRLNodeRead(data, cur, keyInfoCtx);
+ if(ret < 0) {
+ xmlSecInternalError("xmlSecMSCryptoX509CRLNodeRead",
+ xmlSecKeyDataGetName(data));
+ return(-1);
+ }
} else if((keyInfoCtx->flags & XMLSEC_KEYINFO_FLAGS_X509DATA_STOP_ON_UNKNOWN_CHILD) != 0) {
/* laxi schema validation: ignore unknown nodes */
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- xmlSecErrorsSafeString(xmlSecNodeGetName(cur)),
- XMLSEC_ERRORS_R_UNEXPECTED_NODE,
- XMLSEC_ERRORS_NO_MESSAGE);
- return(-1);
- }
- if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- xmlSecErrorsSafeString(xmlSecNodeGetName(cur)),
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "read node failed");
+ xmlSecUnexpectedNodeError(cur, xmlSecKeyDataGetName(data));
return(-1);
}
}
@@ -985,11 +940,7 @@ xmlSecMSCryptoX509CertificateNodeRead(xmlSecKeyDataPtr data, xmlNodePtr node, xm
xmlFree(content);
}
if((keyInfoCtx->flags & XMLSEC_KEYINFO_FLAGS_STOP_ON_EMPTY_NODE) != 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- xmlSecErrorsSafeString(xmlSecNodeGetName(node)),
- XMLSEC_ERRORS_R_INVALID_NODE_CONTENT,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInvalidNodeContentError(node, xmlSecKeyDataGetName(data), "empty");
return(-1);
}
return(0);
@@ -997,22 +948,16 @@ xmlSecMSCryptoX509CertificateNodeRead(xmlSecKeyDataPtr data, xmlNodePtr node, xm
cert = xmlSecMSCryptoX509CertBase64DerRead(content);
if(cert == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- "xmlSecMSCryptoX509CertBase64DerRead",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecMSCryptoX509CertBase64DerRead",
+ xmlSecKeyDataGetName(data));
xmlFree(content);
return(-1);
}
ret = xmlSecMSCryptoKeyDataX509AdoptCert(data, cert);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- "xmlSecMSCryptoKeyDataX509AdoptCert",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecMSCryptoKeyDataX509AdoptCert",
+ xmlSecKeyDataGetName(data));
CertFreeCertificateContext(cert);
xmlFree(content);
return(-1);
@@ -1035,22 +980,13 @@ xmlSecMSCryptoX509CertificateNodeWrite(PCCERT_CONTEXT cert, xmlNodePtr node,
/* set base64 lines size from context */
buf = xmlSecMSCryptoX509CertBase64DerWrite(cert, keyInfoCtx->base64LineSize);
if(buf == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecMSCryptoX509CertBase64DerWrite",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecMSCryptoX509CertBase64DerWrite", NULL);
return(-1);
}
cur = xmlSecEnsureEmptyChild(node, xmlSecNodeX509Certificate, xmlSecDSigNs);
if(cur == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecEnsureEmptyChild",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeX509Certificate));
+ xmlSecInternalError("xmlSecEnsureEmptyChild(NodeX509Certificate)", NULL);
xmlFree(buf);
return(-1);
}
@@ -1077,11 +1013,8 @@ xmlSecMSCryptoX509SubjectNameNodeRead(xmlSecKeyDataPtr data, xmlNodePtr node, xm
x509Store = xmlSecKeysMngrGetDataStore(keyInfoCtx->keysMngr, xmlSecMSCryptoX509StoreId);
if(x509Store == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- "xmlSecKeysMngrGetDataStore",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeysMngrGetDataStore",
+ xmlSecKeyDataGetName(data));
return(-1);
}
@@ -1091,11 +1024,7 @@ xmlSecMSCryptoX509SubjectNameNodeRead(xmlSecKeyDataPtr data, xmlNodePtr node, xm
xmlFree(subject);
}
if((keyInfoCtx->flags & XMLSEC_KEYINFO_FLAGS_STOP_ON_EMPTY_NODE) != 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- xmlSecErrorsSafeString(xmlSecNodeGetName(node)),
- XMLSEC_ERRORS_R_INVALID_NODE_CONTENT,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInvalidNodeContentError(node, xmlSecKeyDataGetName(data), "empty");
return(-1);
}
return(0);
@@ -1104,12 +1033,8 @@ xmlSecMSCryptoX509SubjectNameNodeRead(xmlSecKeyDataPtr data, xmlNodePtr node, xm
cert = xmlSecMSCryptoX509StoreFindCert(x509Store, subject, NULL, NULL, NULL, keyInfoCtx);
if(cert == NULL){
if((keyInfoCtx->flags & XMLSEC_KEYINFO_FLAGS_X509DATA_STOP_ON_UNKNOWN_CERT) != 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- NULL,
- XMLSEC_ERRORS_R_CERT_NOT_FOUND,
- "subject=%s",
- xmlSecErrorsSafeString(subject));
+ xmlSecOtherError2(XMLSEC_ERRORS_R_CERT_NOT_FOUND, xmlSecKeyDataGetName(data),
+ "subject=%s", xmlSecErrorsSafeString(subject));
xmlFree(subject);
return(-1);
}
@@ -1119,11 +1044,8 @@ xmlSecMSCryptoX509SubjectNameNodeRead(xmlSecKeyDataPtr data, xmlNodePtr node, xm
ret = xmlSecMSCryptoKeyDataX509AdoptCert(data, cert);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- "xmlSecMSCryptoKeyDataX509AdoptCert",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecMSCryptoKeyDataX509AdoptCert",
+ xmlSecKeyDataGetName(data));
CertFreeCertificateContext(cert);
xmlFree(subject);
return(-1);
@@ -1137,32 +1059,32 @@ static int
xmlSecMSCryptoX509SubjectNameNodeWrite(PCCERT_CONTEXT cert, xmlNodePtr node, xmlSecKeyInfoCtxPtr keyInfoCtx ATTRIBUTE_UNUSED) {
xmlChar* buf = NULL;
xmlNodePtr cur = NULL;
+ int ret;
xmlSecAssert2(cert != NULL, -1);
xmlSecAssert2(node != NULL, -1);
buf = xmlSecMSCryptoX509NameWrite(&(cert->pCertInfo->Subject));
if(buf == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecMSCryptoX509NameWrite(&(cert->pCertInfo->Subject))",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecMSCryptoX509NameWrite(&(cert->pCertInfo->Subject))", NULL);
return(-1);
}
cur = xmlSecEnsureEmptyChild(node, xmlSecNodeX509SubjectName, xmlSecDSigNs);
if(cur == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecEnsureEmptyChild",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeX509SubjectName));
+ xmlSecInternalError("xmlSecEnsureEmptyChild(NodeX509SubjectName)", NULL);
xmlFree(buf);
return(-1);
}
- xmlSecNodeEncodeAndSetContent(cur, buf);
+
+ ret = xmlSecNodeEncodeAndSetContent(cur, buf);
+ if(ret < 0) {
+ xmlSecInternalError("xmlSecNodeEncodeAndSetContent", NULL);
+ xmlFree(buf);
+ return(-1);
+ }
+
+ /* done */
xmlFree(buf);
return(0);
}
@@ -1183,23 +1105,16 @@ xmlSecMSCryptoX509IssuerSerialNodeRead(xmlSecKeyDataPtr data, xmlNodePtr node, x
x509Store = xmlSecKeysMngrGetDataStore(keyInfoCtx->keysMngr, xmlSecMSCryptoX509StoreId);
if(x509Store == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- "xmlSecKeysMngrGetDataStore",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeysMngrGetDataStore",
+ xmlSecKeyDataGetName(data));
return(-1);
}
cur = xmlSecGetNextElementNode(node->children);
if(cur == NULL) {
if((keyInfoCtx->flags & XMLSEC_KEYINFO_FLAGS_STOP_ON_EMPTY_NODE) != 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- xmlSecErrorsSafeString(xmlSecNodeX509IssuerName),
- XMLSEC_ERRORS_R_NODE_NOT_FOUND,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeGetName(cur)));
+ xmlSecNodeNotFoundError("xmlSecGetNextElementNode", node, NULL,
+ xmlSecKeyDataGetName(data));
return(-1);
}
return(0);
@@ -1207,56 +1122,32 @@ xmlSecMSCryptoX509IssuerSerialNodeRead(xmlSecKeyDataPtr data, xmlNodePtr node, x
/* the first is required node X509IssuerName */
if(!xmlSecCheckNodeName(cur, xmlSecNodeX509IssuerName, xmlSecDSigNs)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- xmlSecErrorsSafeString(xmlSecNodeX509IssuerName),
- XMLSEC_ERRORS_R_NODE_NOT_FOUND,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeGetName(cur)));
+ xmlSecInvalidNodeError(cur, xmlSecNodeX509IssuerName, xmlSecKeyDataGetName(data));
return(-1);
}
issuerName = xmlNodeGetContent(cur);
if(issuerName == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- xmlSecErrorsSafeString(xmlSecNodeGetName(cur)),
- XMLSEC_ERRORS_R_INVALID_NODE_CONTENT,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeX509IssuerName));
+ xmlSecInvalidNodeContentError(cur, xmlSecKeyDataGetName(data), "empty");
return(-1);
}
cur = xmlSecGetNextElementNode(cur->next);
/* next is required node X509SerialNumber */
if((cur == NULL) || !xmlSecCheckNodeName(cur, xmlSecNodeX509SerialNumber, xmlSecDSigNs)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- xmlSecErrorsSafeString(xmlSecNodeGetName(cur)),
- XMLSEC_ERRORS_R_NODE_NOT_FOUND,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeX509SerialNumber));
+ xmlSecInvalidNodeError(cur, xmlSecNodeX509SerialNumber, xmlSecKeyDataGetName(data));
xmlFree(issuerName);
return(-1);
}
issuerSerial = xmlNodeGetContent(cur);
if(issuerSerial == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- xmlSecErrorsSafeString(xmlSecNodeX509SerialNumber),
- XMLSEC_ERRORS_R_INVALID_NODE_CONTENT,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeGetName(cur)));
+ xmlSecInvalidNodeContentError(cur, xmlSecKeyDataGetName(data), "empty");
xmlFree(issuerName);
return(-1);
}
cur = xmlSecGetNextElementNode(cur->next);
if(cur != NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- xmlSecErrorsSafeString(xmlSecNodeGetName(cur)),
- XMLSEC_ERRORS_R_UNEXPECTED_NODE,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecUnexpectedNodeError(cur, xmlSecKeyDataGetName(data));
xmlFree(issuerSerial);
xmlFree(issuerName);
return(-1);
@@ -1265,13 +1156,10 @@ xmlSecMSCryptoX509IssuerSerialNodeRead(xmlSecKeyDataPtr data, xmlNodePtr node, x
cert = xmlSecMSCryptoX509StoreFindCert(x509Store, NULL, issuerName, issuerSerial, NULL, keyInfoCtx);
if(cert == NULL){
if((keyInfoCtx->flags & XMLSEC_KEYINFO_FLAGS_X509DATA_STOP_ON_UNKNOWN_CERT) != 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- NULL,
- XMLSEC_ERRORS_R_CERT_NOT_FOUND,
- "issuerName=%s;issuerSerial=%s",
- xmlSecErrorsSafeString(issuerName),
- xmlSecErrorsSafeString(issuerSerial));
+ xmlSecOtherError3(XMLSEC_ERRORS_R_CERT_NOT_FOUND, xmlSecKeyDataGetName(data),
+ "issuerName=%s;issuerSerial=%s",
+ xmlSecErrorsSafeString(issuerName),
+ xmlSecErrorsSafeString(issuerSerial));
xmlFree(issuerSerial);
xmlFree(issuerName);
return(-1);
@@ -1284,11 +1172,8 @@ xmlSecMSCryptoX509IssuerSerialNodeRead(xmlSecKeyDataPtr data, xmlNodePtr node, x
ret = xmlSecMSCryptoKeyDataX509AdoptCert(data, cert);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- "xmlSecMSCryptoKeyDataX509AdoptCert",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecMSCryptoKeyDataX509AdoptCert",
+ xmlSecKeyDataGetName(data));
CertFreeCertificateContext(cert);
xmlFree(issuerSerial);
xmlFree(issuerName);
@@ -1316,57 +1201,41 @@ xmlSecMSCryptoX509IssuerSerialNodeWrite(PCCERT_CONTEXT cert,
/* create xml nodes */
cur = xmlSecEnsureEmptyChild(node, xmlSecNodeX509IssuerSerial, xmlSecDSigNs);
if(cur == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecEnsureEmptyChild",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeX509IssuerSerial));
+ xmlSecInternalError("xmlSecEnsureEmptyChild(NodeX509IssuerSerial)", NULL);
return(-1);
}
issuerNameNode = xmlSecEnsureEmptyChild(cur, xmlSecNodeX509IssuerName, xmlSecDSigNs);
if(issuerNameNode == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecEnsureEmptyChild",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeX509IssuerName));
+ xmlSecInternalError("xmlSecEnsureEmptyChild(NodeX509IssuerName)", NULL);
return(-1);
}
issuerNumberNode = xmlSecEnsureEmptyChild(cur, xmlSecNodeX509SerialNumber, xmlSecDSigNs);
if(issuerNumberNode == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecEnsureEmptyChild",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeX509SerialNumber));
+ xmlSecInternalError("xmlSecEnsureEmptyChild(NodeX509SerialNumber)", NULL);
return(-1);
}
/* write data */
buf = xmlSecMSCryptoX509NameWrite(&(cert->pCertInfo->Issuer));
if(buf == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecMSCryptoX509NameWrite(&(cert->pCertInfo->Issuer))",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecMSCryptoX509NameWrite(&(cert->pCertInfo->Issuer))", NULL);
+ return(-1);
+ }
+
+ ret = xmlSecNodeEncodeAndSetContent(issuerNameNode, buf);
+ if(ret < 0) {
+ xmlSecInternalError("xmlSecNodeEncodeAndSetContent(issuerNameNode)", NULL);
+ xmlFree(buf);
return(-1);
}
- xmlSecNodeEncodeAndSetContent(issuerNameNode, buf);
+
xmlFree(buf);
ret = xmlSecMSCryptoASN1IntegerWrite(issuerNumberNode, &(cert->pCertInfo->SerialNumber));
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecMSCryptoASN1IntegerWrite(&(cert->serialNumber))",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecMSCryptoASN1IntegerWrite(&(cert->serialNumber))", NULL);
return(-1);
}
return(0);
@@ -1386,11 +1255,8 @@ xmlSecMSCryptoX509SKINodeRead(xmlSecKeyDataPtr data, xmlNodePtr node, xmlSecKeyI
x509Store = xmlSecKeysMngrGetDataStore(keyInfoCtx->keysMngr, xmlSecMSCryptoX509StoreId);
if(x509Store == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- "xmlSecKeysMngrGetDataStore",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeysMngrGetDataStore",
+ xmlSecKeyDataGetName(data));
return(-1);
}
@@ -1400,12 +1266,7 @@ xmlSecMSCryptoX509SKINodeRead(xmlSecKeyDataPtr data, xmlNodePtr node, xmlSecKeyI
xmlFree(ski);
}
if((keyInfoCtx->flags & XMLSEC_KEYINFO_FLAGS_STOP_ON_EMPTY_NODE) != 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- xmlSecErrorsSafeString(xmlSecNodeGetName(node)),
- XMLSEC_ERRORS_R_INVALID_NODE_CONTENT,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeX509SKI));
+ xmlSecInvalidNodeContentError(node, xmlSecKeyDataGetName(data), "empty");
return(-1);
}
return(0);
@@ -1416,12 +1277,8 @@ xmlSecMSCryptoX509SKINodeRead(xmlSecKeyDataPtr data, xmlNodePtr node, xmlSecKeyI
xmlFree(ski);
if((keyInfoCtx->flags & XMLSEC_KEYINFO_FLAGS_X509DATA_STOP_ON_UNKNOWN_CERT) != 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- NULL,
- XMLSEC_ERRORS_R_CERT_NOT_FOUND,
- "ski=%s",
- xmlSecErrorsSafeString(ski));
+ xmlSecOtherError2(XMLSEC_ERRORS_R_CERT_NOT_FOUND, xmlSecKeyDataGetName(data),
+ "ski=%s", xmlSecErrorsSafeString(ski));
return(-1);
}
return(0);
@@ -1429,11 +1286,8 @@ xmlSecMSCryptoX509SKINodeRead(xmlSecKeyDataPtr data, xmlNodePtr node, xmlSecKeyI
ret = xmlSecMSCryptoKeyDataX509AdoptCert(data, cert);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- "xmlSecMSCryptoKeyDataX509AdoptCert",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecMSCryptoKeyDataX509AdoptCert",
+ xmlSecKeyDataGetName(data));
CertFreeCertificateContext(cert);
xmlFree(ski);
return(-1);
@@ -1447,34 +1301,33 @@ static int
xmlSecMSCryptoX509SKINodeWrite(PCCERT_CONTEXT cert, xmlNodePtr node, xmlSecKeyInfoCtxPtr keyInfoCtx ATTRIBUTE_UNUSED) {
xmlChar *buf = NULL;
xmlNodePtr cur = NULL;
+ int ret;
xmlSecAssert2(cert != NULL, -1);
xmlSecAssert2(node != NULL, -1);
buf = xmlSecMSCryptoX509SKIWrite(cert);
if(buf == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecMSCryptoX509SKIWrite",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecMSCryptoX509SKIWrite", NULL);
return(-1);
}
cur = xmlSecEnsureEmptyChild(node, xmlSecNodeX509SKI, xmlSecDSigNs);
if(cur == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecEnsureEmptyChild",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "new_node=%s",
- xmlSecErrorsSafeString(xmlSecNodeX509SKI));
+ xmlSecInternalError("xmlSecEnsureEmptyChild(NodeX509SKI)", NULL);
xmlFree(buf);
return(-1);
}
- xmlSecNodeEncodeAndSetContent(cur, buf);
- xmlFree(buf);
+ ret = xmlSecNodeEncodeAndSetContent(cur, buf);
+ if(ret < 0) {
+ xmlSecInternalError("xmlSecNodeEncodeAndSetContent", NULL);
+ xmlFree(buf);
+ return(-1);
+ }
+
+ /* done */
+ xmlFree(buf);
return(0);
}
@@ -1493,11 +1346,7 @@ xmlSecMSCryptoX509CRLNodeRead(xmlSecKeyDataPtr data, xmlNodePtr node, xmlSecKeyI
xmlFree(content);
}
if((keyInfoCtx->flags & XMLSEC_KEYINFO_FLAGS_STOP_ON_EMPTY_NODE) != 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- xmlSecErrorsSafeString(xmlSecNodeGetName(node)),
- XMLSEC_ERRORS_R_INVALID_NODE_CONTENT,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInvalidNodeContentError(node, xmlSecKeyDataGetName(data), "empty");
return(-1);
}
return(0);
@@ -1505,21 +1354,15 @@ xmlSecMSCryptoX509CRLNodeRead(xmlSecKeyDataPtr data, xmlNodePtr node, xmlSecKeyI
crl = xmlSecMSCryptoX509CrlBase64DerRead(content, keyInfoCtx);
if(crl == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- "xmlSecMSCryptoX509CrlBase64DerRead",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecMSCryptoX509CrlBase64DerRead",
+ xmlSecKeyDataGetName(data));
xmlFree(content);
return(-1);
}
if (0 != xmlSecMSCryptoKeyDataX509AdoptCrl(data, crl)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- "xmlSecMSCryptoKeyDataX509AdoptCrl",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecMSCryptoKeyDataX509AdoptCrl",
+ xmlSecKeyDataGetName(data));
xmlFree(content);
CertFreeCRLContext(crl);
return(-1);
@@ -1541,22 +1384,13 @@ xmlSecMSCryptoX509CRLNodeWrite(PCCRL_CONTEXT crl, xmlNodePtr node, xmlSecKeyInfo
/* set base64 lines size from context */
buf = xmlSecMSCryptoX509CrlBase64DerWrite(crl, keyInfoCtx->base64LineSize);
if(buf == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecMSCryptoX509CrlBase64DerWrite",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecMSCryptoX509CrlBase64DerWrite", NULL);
return(-1);
}
cur = xmlSecEnsureEmptyChild(node, xmlSecNodeX509CRL, xmlSecDSigNs);
if(cur == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecEnsureEmptyChild",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "new_node=%s",
- xmlSecErrorsSafeString(xmlSecNodeX509CRL));
+ xmlSecInternalError("xmlSecEnsureEmptyChild(NodeX509CRL)", NULL);
xmlFree(buf);
return(-1);
}
@@ -1588,11 +1422,8 @@ xmlSecMSCryptoKeyDataX509VerifyAndExtractKey(xmlSecKeyDataPtr data, xmlSecKeyPtr
x509Store = xmlSecKeysMngrGetDataStore(keyInfoCtx->keysMngr, xmlSecMSCryptoX509StoreId);
if(x509Store == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- "xmlSecKeysMngrGetDataStore",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeysMngrGetDataStore",
+ xmlSecKeyDataGetName(data));
return(-1);
}
@@ -1606,34 +1437,24 @@ xmlSecMSCryptoKeyDataX509VerifyAndExtractKey(xmlSecKeyDataPtr data, xmlSecKeyPtr
ctx->keyCert = CertDuplicateCertificateContext(cert);
if(ctx->keyCert == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- "CertDuplicateCertificateContext",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecMSCryptoError("CertDuplicateCertificateContext",
+ xmlSecKeyDataGetName(data));
return(-1);
}
/* search key according to KeyReq */
pCert = CertDuplicateCertificateContext( ctx->keyCert ) ;
if( pCert == NULL ) {
- xmlSecError( XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- "CertDuplicateCertificateContext",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
-
- return(-1);
+ xmlSecMSCryptoError("CertDuplicateCertificateContext",
+ xmlSecKeyDataGetName(data));
+ return(-1);
}
if( ( keyInfoCtx->keyReq.keyType & xmlSecKeyDataTypePrivate ) == xmlSecKeyDataTypePrivate ) {
keyValue = xmlSecMSCryptoCertAdopt( pCert, xmlSecKeyDataTypePrivate ) ;
if(keyValue == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- "xmlSecMSCryptoCertAdopt",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecMSCryptoCertAdopt",
+ xmlSecKeyDataGetName(data));
CertFreeCertificateContext( pCert ) ;
return(-1);
}
@@ -1641,11 +1462,8 @@ xmlSecMSCryptoKeyDataX509VerifyAndExtractKey(xmlSecKeyDataPtr data, xmlSecKeyPtr
} else if( ( keyInfoCtx->keyReq.keyType & xmlSecKeyDataTypePublic ) == xmlSecKeyDataTypePublic ) {
keyValue = xmlSecMSCryptoCertAdopt( pCert, xmlSecKeyDataTypePublic ) ;
if(keyValue == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- "xmlSecMSCryptoCertAdopt",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecMSCryptoCertAdopt",
+ xmlSecKeyDataGetName(data));
CertFreeCertificateContext( pCert ) ;
return(-1);
}
@@ -1654,51 +1472,36 @@ xmlSecMSCryptoKeyDataX509VerifyAndExtractKey(xmlSecKeyDataPtr data, xmlSecKeyPtr
/* verify that the key matches our expectations */
if(xmlSecKeyReqMatchKeyValue(&(keyInfoCtx->keyReq), keyValue) != 1) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- "xmlSecKeyReqMatchKeyValue",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeyReqMatchKeyValue",
+ xmlSecKeyDataGetName(data));
xmlSecKeyDataDestroy(keyValue);
return(-1);
}
ret = xmlSecKeySetValue(key, keyValue);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- "xmlSecKeySetValue",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeySetValue",
+ xmlSecKeyDataGetName(data));
xmlSecKeyDataDestroy(keyValue);
return(-1);
}
ret = xmlSecMSCryptoX509CertGetTime(ctx->keyCert->pCertInfo->NotBefore, &(key->notValidBefore));
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- "xmlSecMSCryptoX509CertGetTime",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "notValidBefore");
+ xmlSecInternalError("xmlSecMSCryptoX509CertGetTime(notValidBefore)",
+ xmlSecKeyDataGetName(data));
return(-1);
}
ret = xmlSecMSCryptoX509CertGetTime(ctx->keyCert->pCertInfo->NotAfter, &(key->notValidAfter));
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- "xmlSecMSCryptoX509CertGetTime",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "notValidAfter");
+ xmlSecInternalError("xmlSecMSCryptoX509CertGetTime(notValidAfter)",
+ xmlSecKeyDataGetName(data));
return(-1);
}
} else if((keyInfoCtx->flags & XMLSEC_KEYINFO_FLAGS_X509DATA_STOP_ON_INVALID_CERT) != 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- NULL,
- XMLSEC_ERRORS_R_CERT_NOT_FOUND,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOtherError(XMLSEC_ERRORS_R_CERT_NOT_FOUND,
+ xmlSecKeyDataGetName(data), NULL);
return(-1);
}
}
@@ -1735,11 +1538,7 @@ xmlSecMSCryptoX509CertBase64DerRead(xmlChar* buf) {
/* usual trick with base64 decoding "in-place" */
ret = xmlSecBase64Decode(buf, (xmlSecByte*)buf, xmlStrlen(buf));
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecBase64Decode",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecBase64Decode", NULL);
return(NULL);
}
@@ -1756,11 +1555,7 @@ xmlSecMSCryptoX509CertDerRead(const xmlSecByte* buf, xmlSecSize size) {
cert = CertCreateCertificateContext(X509_ASN_ENCODING | PKCS_7_ASN_ENCODING, buf, size);
if(cert == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "CertCreateCertificateContext",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecMSCryptoError("CertCreateCertificateContext", NULL);
return(NULL);
}
@@ -1778,21 +1573,13 @@ xmlSecMSCryptoX509CertBase64DerWrite(PCCERT_CONTEXT cert, int base64LineWrap) {
p = cert->pbCertEncoded;
size = cert->cbCertEncoded;
if((size <= 0) || (p == NULL)){
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "cert->pbCertEncoded",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecMSCryptoError("cert->pbCertEncoded", NULL);
return(NULL);
}
res = xmlSecBase64Encode(p, size, base64LineWrap);
if(res == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecBase64Encode",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecBase64Encode", NULL);
return(NULL);
}
@@ -1809,11 +1596,7 @@ xmlSecMSCryptoX509CrlBase64DerRead(xmlChar* buf,
/* usual trick with base64 decoding "in-place" */
ret = xmlSecBase64Decode(buf, (xmlSecByte*)buf, xmlStrlen(buf));
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecBase64Decode",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecBase64Decode", NULL);
return(NULL);
}
@@ -1833,11 +1616,7 @@ xmlSecMSCryptoX509CrlDerRead(xmlSecByte* buf, xmlSecSize size,
crl = CertCreateCRLContext(X509_ASN_ENCODING | PKCS_7_ASN_ENCODING, buf, size);
if(crl == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "CertCreateCRLContext",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecMSCryptoError("CertCreateCRLContext", NULL);
return(NULL);
}
@@ -1855,21 +1634,13 @@ xmlSecMSCryptoX509CrlBase64DerWrite(PCCRL_CONTEXT crl, int base64LineWrap) {
p = crl->pbCrlEncoded;
size = crl->cbCrlEncoded;
if((size <= 0) || (p == NULL)){
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "crl->pbCrlEncoded",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecMSCryptoError("crl->pbCrlEncoded", NULL);
return(NULL);
}
res = xmlSecBase64Encode(p, size, base64LineWrap);
if(res == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecBase64Encode",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecBase64Encode", NULL);
return(NULL);
}
@@ -1888,42 +1659,26 @@ xmlSecMSCryptoX509NameWrite(PCERT_NAME_BLOB nm) {
csz = CertNameToStr(X509_ASN_ENCODING | PKCS_7_ASN_ENCODING, nm, CERT_X500_NAME_STR | CERT_NAME_STR_REVERSE_FLAG, NULL, 0);
if(csz <= 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "CertNameToStr",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecMSCryptoError("CertNameToStr", NULL);
return(NULL);
}
resT = (LPTSTR)xmlMalloc(sizeof(TCHAR) * (csz + 1));
if (NULL == resT) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlMalloc",
- XMLSEC_ERRORS_R_MALLOC_FAILED,
- "size=%d", sizeof(WCHAR) * (csz + 1));
+ xmlSecMallocError(sizeof(TCHAR) * (csz + 1), NULL);
return (NULL);
}
csz = CertNameToStr(X509_ASN_ENCODING | PKCS_7_ASN_ENCODING, nm, CERT_X500_NAME_STR | CERT_NAME_STR_REVERSE_FLAG, resT, csz + 1);
if (csz <= 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "CertNameToStr",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecMSCryptoError("CertNameToStr", NULL);
xmlFree(resT);
return(NULL);
}
res = xmlSecMSCryptoConvertTstrToUtf8(resT);
if (NULL == res) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecMSCryptoConvertTstrToUtf8",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecMSCryptoConvertTstrToUtf8", NULL);
xmlFree(resT);
return(NULL);
}
@@ -1944,21 +1699,14 @@ xmlSecMSCryptoASN1IntegerWrite(xmlNodePtr node, PCRYPT_INTEGER_BLOB num) {
ret = xmlSecBnInitialize(&bn, num->cbData + 1);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecBnInitialize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "size=%ld", num->cbData + 1);
+ xmlSecInternalError2("xmlSecBnInitialize", NULL,
+ "size=%ld", num->cbData + 1);
return(-1);
}
ret = xmlSecBnSetData(&bn, num->pbData, num->cbData);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecBnSetData",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecBnSetData", NULL);
xmlSecBnFinalize(&bn);
return(-1);
}
@@ -1969,11 +1717,7 @@ xmlSecMSCryptoASN1IntegerWrite(xmlNodePtr node, PCRYPT_INTEGER_BLOB num) {
*/
ret = xmlSecBnSetNodeValue(&bn, node, xmlSecBnDec, 1, 0);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecBnSetNodeValue",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecBnSetNodeValue", NULL);
xmlSecBnFinalize(&bn);
return(-1);
}
@@ -1994,41 +1738,25 @@ xmlSecMSCryptoX509SKIWrite(PCCERT_CONTEXT cert) {
/* First check if the SKI extension actually exists, otherwise we get a SHA1 hash o fthe key/cert */
pCertExt = CertFindExtension(szOID_SUBJECT_KEY_IDENTIFIER, cert->pCertInfo->cExtension, cert->pCertInfo->rgExtension);
if (pCertExt == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "CertFindExtension",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
- return (NULL);
- }
+ xmlSecMSCryptoError("CertFindExtension", NULL);
+ return (NULL);
+ }
if (!CertGetCertificateContextProperty(cert, CERT_KEY_IDENTIFIER_PROP_ID, NULL, &dwSize) || dwSize < 1) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "CertGetCertificateContextProperty",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
- return (NULL);
- }
+ xmlSecMSCryptoError("CertGetCertificateContextProperty", NULL);
+ return (NULL);
+ }
bSKI = xmlMalloc(dwSize);
if (NULL == bSKI) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlMalloc",
- XMLSEC_ERRORS_R_MALLOC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecMallocError(dwSize, NULL);
return (NULL);
}
if (!CertGetCertificateContextProperty(cert, CERT_KEY_IDENTIFIER_PROP_ID, bSKI, &dwSize)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "CertGetCertificateContextProperty",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
- xmlFree(bSKI);
- return (NULL);
- }
+ xmlSecMSCryptoError("CertGetCertificateContextProperty", NULL);
+ xmlFree(bSKI);
+ return (NULL);
+ }
if (NULL == bSKI) {
return(NULL);
@@ -2036,11 +1764,7 @@ xmlSecMSCryptoX509SKIWrite(PCCERT_CONTEXT cert) {
res = xmlSecBase64Encode(bSKI, dwSize, 0);
if(res == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecBase64Encode",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecBase64Encode", NULL);
xmlFree(bSKI);
return(NULL);
}
@@ -2065,11 +1789,7 @@ xmlSecMSCryptoX509CertDebugDump(PCCERT_CONTEXT cert, FILE* output) {
/* subject */
subject = xmlSecMSCryptoX509GetNameString(cert, CERT_NAME_RDN_TYPE, 0, NULL);
if(subject == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- "xmlSecMSCryptoX509GetNameString",
- NULL,
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "subject");
+ xmlSecInternalError("xmlSecMSCryptoX509GetNameString(subject)", NULL);
goto done;
}
fprintf(output, "==== Subject Name: %s\n", subject);
@@ -2077,11 +1797,7 @@ xmlSecMSCryptoX509CertDebugDump(PCCERT_CONTEXT cert, FILE* output) {
/* issuer */
issuer = xmlSecMSCryptoX509GetNameString(cert, CERT_NAME_RDN_TYPE, CERT_NAME_ISSUER_FLAG, NULL);
if(issuer == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- "xmlSecMSCryptoX509GetNameString",
- NULL,
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "issuer");
+ xmlSecInternalError("xmlSecMSCryptoX509GetNameString(issuer)", NULL);
goto done;
}
fprintf(output, "==== Issuer Name: %s\n", issuer);
@@ -2116,11 +1832,7 @@ xmlSecMSCryptoX509CertDebugXmlDump(PCCERT_CONTEXT cert, FILE* output) {
/* subject */
subject = xmlSecMSCryptoX509GetNameString(cert, CERT_NAME_RDN_TYPE, 0, NULL);
if(subject == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- "xmlSecMSCryptoX509GetNameString",
- NULL,
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "subject");
+ xmlSecInternalError("xmlSecMSCryptoX509GetNameString(subject)", NULL);
goto done;
}
fprintf(output, "<SubjectName>");
@@ -2130,11 +1842,7 @@ xmlSecMSCryptoX509CertDebugXmlDump(PCCERT_CONTEXT cert, FILE* output) {
/* issuer */
issuer = xmlSecMSCryptoX509GetNameString(cert, CERT_NAME_RDN_TYPE, CERT_NAME_ISSUER_FLAG, NULL);
if(issuer == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- "xmlSecMSCryptoX509GetNameString",
- NULL,
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "issuer");
+ xmlSecInternalError("xmlSecMSCryptoX509GetNameString(issuer)", NULL);
goto done;
}
fprintf(output, "<IssuerName>");
@@ -2237,43 +1945,30 @@ xmlSecMSCryptoKeyDataRawX509CertBinRead(xmlSecKeyDataId id, xmlSecKeyPtr key,
cert = xmlSecMSCryptoX509CertDerRead(buf, bufSize);
if(cert == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecMSCryptoX509CertDerRead",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecMSCryptoX509CertDerRead", NULL);
return(-1);
}
data = xmlSecKeyEnsureData(key, xmlSecMSCryptoKeyDataX509Id);
if(data == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecKeyEnsureData",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeyEnsureData",
+ xmlSecKeyDataKlassGetName(id));
CertFreeCertificateContext(cert);
return(-1);
}
ret = xmlSecMSCryptoKeyDataX509AdoptCert(data, cert);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecMSCryptoKeyDataX509AdoptCert",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecMSCryptoKeyDataX509AdoptCert",
+ xmlSecKeyDataKlassGetName(id));
CertFreeCertificateContext(cert);
return(-1);
}
ret = xmlSecMSCryptoKeyDataX509VerifyAndExtractKey(data, key, keyInfoCtx);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecMSCryptoKeyDataX509VerifyAndExtractKey",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecMSCryptoKeyDataX509VerifyAndExtractKey",
+ xmlSecKeyDataKlassGetName(id));
return(-1);
}
return(0);
diff --git a/src/mscrypto/x509vfy.c b/src/mscrypto/x509vfy.c
index 899cb6e..e4a84a6 100644
--- a/src/mscrypto/x509vfy.c
+++ b/src/mscrypto/x509vfy.c
@@ -1,5 +1,5 @@
-/**
- * XMLSec library
+/*
+ * XML Security Library (http://www.aleksey.com/xmlsec).
*
* X509 support
*
@@ -182,11 +182,8 @@ xmlSecMSCryptoCheckRevocation(HCERTSTORE hStore, PCCERT_CONTEXT pCert) {
while((pCrl = CertEnumCRLsInStore(hStore, pCrl)) != NULL) {
if (CertFindCertificateInCRL(pCert, pCrl, 0, NULL, &pCrlEntry) && (pCrlEntry != NULL)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "CertFindCertificateInCRL",
- XMLSEC_ERRORS_R_CERT_VERIFY_FAILED,
- "cert found in crl list");
+ xmlSecOtherError(XMLSEC_ERRORS_R_CERT_VERIFY_FAILED, NULL,
+ "CertFindCertificateInCRL: cert found in crl list");
return(FALSE);
}
}
@@ -206,47 +203,38 @@ xmlSecMSCryptoX509StoreCertError(xmlSecKeyDataStorePtr store, PCCERT_CONTEXT cer
/* get certs subject */
subject = xmlSecMSCryptoX509GetNameString(cert, CERT_NAME_RDN_TYPE, 0, NULL);
if(subject == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- "xmlSecMSCryptoX509GetNameString",
- NULL,
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecMSCryptoX509GetNameString", NULL);
return;
}
/* print error */
if (flags & CERT_STORE_SIGNATURE_FLAG) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataStoreGetName(store)),
- xmlSecErrorsSafeString(subject),
- XMLSEC_ERRORS_R_CERT_VERIFY_FAILED,
- "signature");
+ xmlSecOtherError2(XMLSEC_ERRORS_R_CERT_VERIFY_FAILED,
+ xmlSecKeyDataStoreGetName(store),
+ "signature failed, subject=%s",
+ xmlSecErrorsSafeString(subject));
} else if (flags & CERT_STORE_TIME_VALIDITY_FLAG) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataStoreGetName(store)),
- xmlSecErrorsSafeString(subject),
- XMLSEC_ERRORS_R_CERT_HAS_EXPIRED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOtherError2(XMLSEC_ERRORS_R_CERT_HAS_EXPIRED,
+ xmlSecKeyDataStoreGetName(store),
+ "subject=%s",
+ xmlSecErrorsSafeString(subject));
} else if (flags & CERT_STORE_REVOCATION_FLAG) {
if (flags & CERT_STORE_NO_CRL_FLAG) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataStoreGetName(store)),
- xmlSecErrorsSafeString(subject),
- XMLSEC_ERRORS_R_CERT_REVOKED,
- "no crl");
+ xmlSecOtherError2(XMLSEC_ERRORS_R_CERT_REVOKED,
+ xmlSecKeyDataStoreGetName(store),
+ "no crl, subject=%s",
+ xmlSecErrorsSafeString(subject));
} else {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataStoreGetName(store)),
- xmlSecErrorsSafeString(subject),
- XMLSEC_ERRORS_R_CERT_REVOKED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOtherError2(XMLSEC_ERRORS_R_CERT_REVOKED,
+ xmlSecKeyDataStoreGetName(store),
+ "subject=%s",
+ xmlSecErrorsSafeString(subject));
}
} else {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataStoreGetName(store)),
- xmlSecErrorsSafeString(subject),
- XMLSEC_ERRORS_R_CERT_VERIFY_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOtherError2(XMLSEC_ERRORS_R_CERT_VERIFY_FAILED,
+ xmlSecKeyDataStoreGetName(store),
+ "subject=%s",
+ xmlSecErrorsSafeString(subject));
}
xmlFree(subject);
@@ -267,90 +255,66 @@ static BOOL
xmlSecBuildChainUsingWinapi (PCCERT_CONTEXT cert, LPFILETIME pfTime,
HCERTSTORE store_untrusted, HCERTSTORE store_doc)
{
- PCCERT_CHAIN_CONTEXT pChainContext = NULL;
- CERT_CHAIN_PARA chainPara;
- BOOL rc = FALSE;
- HCERTSTORE store_add = NULL;
+ PCCERT_CHAIN_CONTEXT pChainContext = NULL;
+ CERT_CHAIN_PARA chainPara;
+ BOOL rc = FALSE;
+ HCERTSTORE store_add = NULL;
/* Initialize data structures. */
-
- memset(&chainPara, 0, sizeof(CERT_CHAIN_PARA));
- chainPara.cbSize = sizeof(CERT_CHAIN_PARA);
-
- /* Create additional store for CertGetCertificateChain() */
- store_add = CertOpenStore(CERT_STORE_PROV_COLLECTION, 0, 0, 0, NULL);
- if (!store_add) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- "chain additional collection store",
- "CertOpenStore",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
- goto end;
- }
- if (!CertAddStoreToCollection(store_add, store_doc, 0, 0)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- "adding document store",
- "CertAddStoreToCollection",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
- goto end;
- }
- if (!CertAddStoreToCollection(store_add, store_untrusted, 0, 0)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- "adding untrusted store",
- "CertAddStoreToCollection",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
- goto end;
- }
+ memset(&chainPara, 0, sizeof(CERT_CHAIN_PARA));
+ chainPara.cbSize = sizeof(CERT_CHAIN_PARA);
+
+ /* Create additional store for CertGetCertificateChain() */
+ store_add = CertOpenStore(CERT_STORE_PROV_COLLECTION, 0, 0, 0, NULL);
+ if (!store_add) {
+ xmlSecMSCryptoError("CertOpenStore", NULL);
+ goto end;
+ }
+ if (!CertAddStoreToCollection(store_add, store_doc, 0, 0)) {
+ xmlSecMSCryptoError("CertAddStoreToCollection", NULL);
+ goto end;
+ }
+ if (!CertAddStoreToCollection(store_add, store_untrusted, 0, 0)) {
+ xmlSecMSCryptoError("CertAddStoreToCollection", NULL);
+ goto end;
+ }
/* Build a chain using CertGetCertificateChain
and the certificate retrieved. */
- if(!CertGetCertificateChain(
- NULL, /* use the default chain engine */
+ if(!CertGetCertificateChain(NULL, /* use the default chain engine */
cert,
- pfTime,
+ pfTime,
store_add,
&chainPara,
CERT_CHAIN_REVOCATION_CHECK_CHAIN,
- NULL,
- &pChainContext))
- {
- xmlSecError(XMLSEC_ERRORS_HERE,
- "building certificate chain, checking root",
- "CertGetCertificateChain",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
- goto end;
+ NULL,
+ &pChainContext)) {
+ xmlSecMSCryptoError("CertGetCertificateChain", NULL);
+ goto end;
+ }
+ if (pChainContext->TrustStatus.dwErrorStatus == CERT_TRUST_REVOCATION_STATUS_UNKNOWN) {
+ CertFreeCertificateChain(pChainContext); pChainContext = NULL;
+ if(!CertGetCertificateChain(NULL, /* use the default chain engine */
+ cert,
+ pfTime,
+ store_add,
+ &chainPara,
+ CERT_CHAIN_REVOCATION_CHECK_CHAIN_EXCLUDE_ROOT,
+ NULL,
+ &pChainContext)) {
+ xmlSecMSCryptoError("CertGetCertificateChain", NULL);
+ goto end;
}
- if (pChainContext->TrustStatus.dwErrorStatus == CERT_TRUST_REVOCATION_STATUS_UNKNOWN) {
- CertFreeCertificateChain(pChainContext); pChainContext = NULL;
- if(!CertGetCertificateChain(
- NULL, /* use the default chain engine */
- cert,
- pfTime,
- store_add,
- &chainPara,
- CERT_CHAIN_REVOCATION_CHECK_CHAIN_EXCLUDE_ROOT,
- NULL,
- &pChainContext))
- {
- xmlSecError(XMLSEC_ERRORS_HERE,
- "building certificate chain, excluding root",
- "CertGetCertificateChain",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
- goto end;
- }
}
- if (pChainContext->TrustStatus.dwErrorStatus == CERT_TRUST_NO_ERROR)
- rc = TRUE;
+ if (pChainContext->TrustStatus.dwErrorStatus == CERT_TRUST_NO_ERROR) {
+ rc = TRUE;
+ }
end:
- if (pChainContext) CertFreeCertificateChain(pChainContext);
- if (store_add) CertCloseStore(store_add, 0);
- return (rc);
+ if (pChainContext) CertFreeCertificateChain(pChainContext);
+ if (store_add) CertCloseStore(store_add, 0);
+ return (rc);
}
/**
@@ -560,8 +524,11 @@ xmlSecMSCryptoX509StoreVerify(xmlSecKeyDataStorePtr store, HCERTSTORE certs,
CertFreeCertificateContext(nextCert);
}
- if((selected == 1) && xmlSecMSCryptoX509StoreConstructCertsChain(store, cert, certs, keyInfoCtx)) {
- return(cert);
+ if(selected == 1) {
+ if((keyInfoCtx->flags & XMLSEC_KEYINFO_FLAGS_X509DATA_DONT_VERIFY_CERTS) != 0
+ || xmlSecMSCryptoX509StoreConstructCertsChain(store, cert, certs, keyInfoCtx)) {
+ return(cert);
+ }
}
}
@@ -596,11 +563,9 @@ xmlSecMSCryptoX509StoreAdoptCert(xmlSecKeyDataStorePtr store, PCCERT_CONTEXT pCe
} else if(type == xmlSecKeyDataTypeNone) {
certStore = ctx->untrusted;
} else {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataStoreGetName(store)),
- NULL,
- XMLSEC_ERRORS_R_INVALID_TYPE,
- "type=%d", type);
+ xmlSecInvalidIntegerTypeError("type", type,
+ "xmlSecKeyDataTypeTrusted, xmlSecKeyDataTypeNone",
+ xmlSecKeyDataStoreGetName(store));
return(-1);
}
@@ -610,11 +575,8 @@ xmlSecMSCryptoX509StoreAdoptCert(xmlSecKeyDataStorePtr store, PCCERT_CONTEXT pCe
*/
xmlSecAssert2(certStore != NULL, -1);
if (!CertAddCertificateContextToStore(certStore, pCert, CERT_STORE_ADD_ALWAYS, NULL)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataStoreGetName(store)),
- "CertAddCertificateContextToStore",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecMSCryptoError("CertAddCertificateContextToStore",
+ xmlSecKeyDataStoreGetName(store));
return(-1);
}
@@ -643,11 +605,8 @@ xmlSecMSCryptoX509StoreAdoptKeyStore (xmlSecKeyDataStorePtr store, HCERTSTORE ke
xmlSecAssert2(ctx->trusted != NULL, -1);
if(!CertAddStoreToCollection ( ctx->trusted , keyStore , CERT_PHYSICAL_STORE_ADD_ENABLE_FLAG , 2)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataStoreGetName(store)),
- "CertAddStoreToCollection",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecMSCryptoError("CertAddStoreToCollection",
+ xmlSecKeyDataStoreGetName(store));
return(-1);
}
@@ -675,11 +634,8 @@ xmlSecMSCryptoX509StoreAdoptTrustedStore (xmlSecKeyDataStorePtr store, HCERTSTOR
xmlSecAssert2(ctx->trusted != NULL, -1);
if( !CertAddStoreToCollection ( ctx->trusted , trustedStore , CERT_PHYSICAL_STORE_ADD_ENABLE_FLAG , 3 ) ) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataStoreGetName(store)),
- "CertAddStoreToCollection",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecMSCryptoError("CertAddStoreToCollection",
+ xmlSecKeyDataStoreGetName(store));
return(-1);
}
@@ -707,11 +663,8 @@ xmlSecMSCryptoX509StoreAdoptUntrustedStore (xmlSecKeyDataStorePtr store, HCERTST
xmlSecAssert2(ctx->untrusted != NULL, -1);
if( !CertAddStoreToCollection ( ctx->untrusted , untrustedStore , CERT_PHYSICAL_STORE_ADD_ENABLE_FLAG , 2 ) ) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataStoreGetName(store)),
- "CertAddStoreToCollection",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecMSCryptoError("CertAddStoreToCollection",
+ xmlSecKeyDataStoreGetName(store));
return(-1);
}
@@ -759,11 +712,8 @@ xmlSecMSCryptoX509StoreInitialize(xmlSecKeyDataStorePtr store) {
0,
NULL);
if(ctx->trusted == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataStoreGetName(store)),
- "CertOpenStore",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecMSCryptoError("CertOpenStore",
+ xmlSecKeyDataStoreGetName(store));
return(-1);
}
@@ -774,11 +724,8 @@ xmlSecMSCryptoX509StoreInitialize(xmlSecKeyDataStorePtr store) {
CERT_STORE_CREATE_NEW_FLAG,
NULL);
if(hTrustedMemStore == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataStoreGetName(store)),
- "CertOpenStore",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecMSCryptoError("CertOpenStore",
+ xmlSecKeyDataStoreGetName(store));
CertCloseStore(ctx->trusted, CERT_CLOSE_STORE_FORCE_FLAG);
ctx->trusted = NULL ;
return(-1);
@@ -786,11 +733,8 @@ xmlSecMSCryptoX509StoreInitialize(xmlSecKeyDataStorePtr store) {
/* add the memory trusted certs store to trusted certs store collection */
if( !CertAddStoreToCollection( ctx->trusted, hTrustedMemStore, CERT_PHYSICAL_STORE_ADD_ENABLE_FLAG, 1 ) ) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataStoreGetName(store)),
- "CertAddStoreToCollection",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecMSCryptoError("CertAddStoreToCollection",
+ xmlSecKeyDataStoreGetName(store));
CertCloseStore(ctx->trusted, CERT_CLOSE_STORE_FORCE_FLAG);
CertCloseStore(hTrustedMemStore, CERT_CLOSE_STORE_CHECK_FLAG);
ctx->trusted = NULL ;
@@ -805,11 +749,8 @@ xmlSecMSCryptoX509StoreInitialize(xmlSecKeyDataStorePtr store) {
0,
NULL);
if(ctx->untrusted == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataStoreGetName(store)),
- "CertOpenStore",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecMSCryptoError("CertOpenStore",
+ xmlSecKeyDataStoreGetName(store));
CertCloseStore(ctx->trusted, CERT_CLOSE_STORE_FORCE_FLAG);
ctx->trusted = NULL ;
return(-1);
@@ -822,11 +763,8 @@ xmlSecMSCryptoX509StoreInitialize(xmlSecKeyDataStorePtr store) {
CERT_STORE_CREATE_NEW_FLAG,
NULL);
if(hUntrustedMemStore == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataStoreGetName(store)),
- "CertOpenStore",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecMSCryptoError("CertOpenStore",
+ xmlSecKeyDataStoreGetName(store));
CertCloseStore(ctx->trusted, CERT_CLOSE_STORE_FORCE_FLAG);
CertCloseStore(ctx->untrusted, CERT_CLOSE_STORE_FORCE_FLAG);
ctx->trusted = NULL ;
@@ -836,11 +774,8 @@ xmlSecMSCryptoX509StoreInitialize(xmlSecKeyDataStorePtr store) {
/* add the memory trusted certs store to untrusted certs store collection */
if( !CertAddStoreToCollection( ctx->untrusted, hUntrustedMemStore, CERT_PHYSICAL_STORE_ADD_ENABLE_FLAG, 1 ) ) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataStoreGetName(store)),
- "CertAddStoreToCollection",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecMSCryptoError("CertAddStoreToCollection",
+ xmlSecKeyDataStoreGetName(store));
CertCloseStore(ctx->untrusted, CERT_CLOSE_STORE_FORCE_FLAG);
CertCloseStore(ctx->trusted, CERT_CLOSE_STORE_FORCE_FLAG);
CertCloseStore(hUntrustedMemStore, CERT_CLOSE_STORE_CHECK_FLAG);
@@ -899,28 +834,19 @@ xmlSecMSCryptoCertStrToName(DWORD dwCertEncodingType, LPTSTR pszX500, DWORD dwSt
if (!CertStrToName(dwCertEncodingType, pszX500, dwStrType,
NULL, NULL, len, &ppszError)) {
/* this might not be an error, string might just not exist */
- DWORD dw = GetLastError();
return(NULL);
}
str = (BYTE *)xmlMalloc(sizeof(TCHAR) * ((*len) + 1));
if(str == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- NULL,
- XMLSEC_ERRORS_R_MALLOC_FAILED,
- "len=%ld", (*len));
+ xmlSecMallocError(sizeof(TCHAR) * ((*len) + 1), NULL);
return(NULL);
}
memset(str, 0, (*len) + 1);
if (!CertStrToName(dwCertEncodingType, pszX500, dwStrType,
NULL, str, len, NULL)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "CertStrToName",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecMSCryptoError("CertStrToName", NULL);
xmlFree(str);
return(NULL);
}
@@ -1163,12 +1089,7 @@ xmlSecMSCryptoX509GetCertName(const xmlChar * name) {
*/
name2 = xmlStrdup(name);
if(name2 == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- NULL,
- XMLSEC_ERRORS_R_MALLOC_FAILED,
- "xmlStrlen(name)=%d",
- xmlStrlen(name));
+ xmlSecStrdupError(name, NULL);
return(NULL);
}
while( (p = (xmlChar*)xmlStrstr(name2, BAD_CAST "emailAddress=")) != NULL) {
@@ -1178,11 +1099,7 @@ xmlSecMSCryptoX509GetCertName(const xmlChar * name) {
/* get name */
res = xmlSecMSCryptoConvertUtf8ToTstr(name2);
if(res == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecMSCryptoConvertUtf8ToTstr",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecMSCryptoConvertUtf8ToTstr", NULL);
xmlFree(name2);
return(NULL);
}
@@ -1209,11 +1126,7 @@ xmlSecMSCryptoX509FindCert(HCERTSTORE store,
/* get unicode subject name */
wcSubjectName = xmlSecMSCryptoX509GetCertName(subjectName);
if(wcSubjectName == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecMSCryptoX509GetCertName",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "wcSubjectName");
+ xmlSecInternalError("xmlSecMSCryptoX509GetCertName(subjectName)", NULL);
return(NULL);
}
@@ -1234,21 +1147,13 @@ xmlSecMSCryptoX509FindCert(HCERTSTORE store,
/* get serial number */
ret = xmlSecBnInitialize(&issuerSerialBn, 0);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecBnInitialize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecBnInitialize", NULL);
return(NULL);
}
ret = xmlSecBnFromDecString(&issuerSerialBn, issuerSerial);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecBnInitialize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecBnInitialize", NULL);
xmlSecBnFinalize(&issuerSerialBn);
return(NULL);
}
@@ -1259,11 +1164,7 @@ xmlSecMSCryptoX509FindCert(HCERTSTORE store,
*/
ret = xmlSecBnReverse(&issuerSerialBn);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecBnReverse",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecBnReverse", NULL);
xmlSecBnFinalize(&issuerSerialBn);
return(NULL);
}
@@ -1271,11 +1172,7 @@ xmlSecMSCryptoX509FindCert(HCERTSTORE store,
/* get issuer name */
wcIssuerName = xmlSecMSCryptoX509GetCertName(issuerName);
if(wcIssuerName == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecMSCryptoX509GetCertName",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "wcIssuerName");
+ xmlSecInternalError("xmlSecMSCryptoX509GetCertName(issuerName)", NULL);
xmlSecBnFinalize(&issuerSerialBn);
return(NULL);
}
@@ -1299,23 +1196,14 @@ xmlSecMSCryptoX509FindCert(HCERTSTORE store,
binSki = xmlStrdup(ski);
if(binSki == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlStrdup",
- XMLSEC_ERRORS_R_MALLOC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecStrdupError(ski, NULL);
return (NULL);
}
/* trick: base64 decode "in place" */
binSkiLen = xmlSecBase64Decode(binSki, (xmlSecByte*)binSki, xmlStrlen(binSki));
if(binSkiLen < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecBase64Decode",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "ski=%s",
- xmlSecErrorsSafeString(ski));
+ xmlSecInternalError("xmlSecBase64Decode", NULL);
xmlFree(binSki);
return(NULL);
}
@@ -1357,44 +1245,28 @@ xmlSecMSCryptoX509GetNameString(PCCERT_CONTEXT pCertContext, DWORD dwType, DWORD
/* get size first */
dwSize = CertGetNameString(pCertContext, dwType, dwFlags, pvTypePara, NULL, 0);
if(dwSize <= 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- "CertGetNameString",
- NULL,
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecMSCryptoError("CertGetNameString", NULL);
return (NULL);
}
/* allocate buffer */
name = (LPTSTR)xmlMalloc(sizeof(TCHAR) * (dwSize + 1));
if(name == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- NULL,
- XMLSEC_ERRORS_R_MALLOC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecMallocError(sizeof(TCHAR) * (dwSize + 1), NULL);
return (NULL);
}
/* actually get the name */
dwSize = CertGetNameString(pCertContext, dwType, dwFlags, pvTypePara, name, dwSize);
if(dwSize <= 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- "CertGetNameString",
- NULL,
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecMSCryptoError("CertGetNameString", NULL);
xmlFree(name);
return (NULL);
}
res = xmlSecMSCryptoConvertTstrToUtf8(name);
if(res == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- "xmlSecMSCryptoConvertTstrToUtf8",
- NULL,
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecMSCryptoConvertTstrToUtf8", NULL);
xmlFree(name);
return (NULL);
}
diff --git a/src/mscrypto/xmlsec-mingw.h b/src/mscrypto/xmlsec-mingw.h
index da7d1d0..e535034 100644
--- a/src/mscrypto/xmlsec-mingw.h
+++ b/src/mscrypto/xmlsec-mingw.h
@@ -1,5 +1,5 @@
-/**
- * XMLSec library
+/*
+ * XML Security Library (http://www.aleksey.com/xmlsec).
*
* This is free software; see Copyright file in the source
* distribution for preciese wording.
diff --git a/src/nodeset.c b/src/nodeset.c
index 800f150..5b7b4ad 100644
--- a/src/nodeset.c
+++ b/src/nodeset.c
@@ -1,4 +1,4 @@
-/**
+/*
* XML Security Library (http://www.aleksey.com/xmlsec).
*
* Enchanced nodes set
@@ -52,12 +52,7 @@ xmlSecNodeSetCreate(xmlDocPtr doc, xmlNodeSetPtr nodes, xmlSecNodeSetType type)
nset = (xmlSecNodeSetPtr)xmlMalloc(sizeof(xmlSecNodeSet));
if(nset == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- NULL,
- XMLSEC_ERRORS_R_MALLOC_FAILED,
- "sizeof(xmlSecNodeSet)=%d",
- (int)sizeof(xmlSecNodeSet));
+ xmlSecMallocError(sizeof(xmlSecNodeSet), NULL);
return(NULL);
}
memset(nset, 0, sizeof(xmlSecNodeSet));
@@ -193,11 +188,8 @@ xmlSecNodeSetOneContains(xmlSecNodeSetPtr nset, xmlNodePtr node, xmlNodePtr pare
}
return(1);
default:
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- NULL,
- XMLSEC_ERRORS_R_INVALID_TYPE,
- "type=%d", nset->type);
+ xmlSecInvalidIntegerTypeError("node set type", nset->type,
+ "supported nodeset type", NULL);
}
return(0);
@@ -246,11 +238,8 @@ xmlSecNodeSetContains(xmlSecNodeSetPtr nset, xmlNodePtr node, xmlNodePtr parent)
}
break;
default:
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- NULL,
- XMLSEC_ERRORS_R_INVALID_OPERATION,
- "operation=%d", cur->op);
+ xmlSecOtherError2(XMLSEC_ERRORS_R_INVALID_OPERATION, NULL,
+ "node set operation=%d", (int)cur->op);
return(-1);
}
cur = cur->next;
@@ -310,22 +299,14 @@ xmlSecNodeSetAddList(xmlSecNodeSetPtr nset, xmlSecNodeSetPtr newNSet, xmlSecNode
tmp1 = xmlSecNodeSetCreate(newNSet->doc, NULL, xmlSecNodeSetList);
if(tmp1 == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecNodeSetCreate",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecNodeSetCreate", NULL);
return(NULL);
}
tmp1->children = newNSet;
tmp2 = xmlSecNodeSetAdd(nset, tmp1, op);
if(tmp2 == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecNodeSetAdd",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecNodeSetAdd", NULL);
xmlSecNodeSetDestroy(tmp1);
return(NULL);
}
@@ -477,11 +458,7 @@ xmlSecNodeSetGetChildren(xmlDocPtr doc, const xmlNodePtr parent, int withComment
nodes = xmlXPathNodeSetCreate(parent);
if(nodes == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlXPathNodeSetCreate",
- XMLSEC_ERRORS_R_XML_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecXmlError("xmlXPathNodeSetCreate", NULL);
return(NULL);
}
@@ -512,13 +489,19 @@ static int
xmlSecNodeSetDumpTextNodesWalkCallback(xmlSecNodeSetPtr nset, xmlNodePtr cur,
xmlNodePtr parent ATTRIBUTE_UNUSED,
void* data) {
+ int ret;
xmlSecAssert2(nset != NULL, -1);
xmlSecAssert2(cur != NULL, -1);
xmlSecAssert2(data != NULL, -1);
- if(cur->type == XML_TEXT_NODE) {
- xmlOutputBufferWriteString((xmlOutputBufferPtr)data,
- (char*)(cur->content));
+ if(cur->type != XML_TEXT_NODE) {
+ return(0);
+ }
+ ret = xmlOutputBufferWriteString((xmlOutputBufferPtr)data,
+ (char*)(cur->content));
+ if(ret < 0) {
+ xmlSecXmlError("xmlOutputBufferWriteString", NULL);
+ return(-1);
}
return(0);
}
@@ -583,11 +566,8 @@ xmlSecNodeSetDebugDump(xmlSecNodeSetPtr nset, FILE *output) {
return;
default:
fprintf(output, "(unknown=%d)\n", nset->type);
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- NULL,
- XMLSEC_ERRORS_R_INVALID_TYPE,
- "type=%d", nset->type);
+ xmlSecInvalidIntegerTypeError("node set type", nset->type,
+ "supported nodeset type", NULL);
}
l = xmlXPathNodeSetGetLength(nset->nodes);
diff --git a/src/nss/Makefile.am b/src/nss/Makefile.am
index 8cd8586..e666f33 100644
--- a/src/nss/Makefile.am
+++ b/src/nss/Makefile.am
@@ -37,10 +37,6 @@ libxmlsec1_nss_la_SOURCES =\
globals.h \
$(NULL)
-if SHAREDLIB_HACK
-libxmlsec1_nss_la_SOURCES += ../strings.c
-endif
-
libxmlsec1_nss_la_LIBADD = \
$(NSS_LIBS) \
$(LIBXSLT_LIBS) \
diff --git a/src/nss/Makefile.in b/src/nss/Makefile.in
index 0e9c5b7..51836f3 100644
--- a/src/nss/Makefile.in
+++ b/src/nss/Makefile.in
@@ -88,7 +88,6 @@ PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
- at SHAREDLIB_HACK_TRUE@am__append_1 = ../strings.c
subdir = src/nss
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
@@ -132,13 +131,7 @@ am__uninstall_files_from_dir = { \
am__installdirs = "$(DESTDIR)$(libdir)"
LTLIBRARIES = $(lib_LTLIBRARIES)
am__DEPENDENCIES_1 =
-am__libxmlsec1_nss_la_SOURCES_DIST = app.c bignum.c ciphers.c crypto.c \
- digests.c hmac.c pkikeys.c signatures.c symkeys.c x509.c \
- x509vfy.c keysstore.c keytrans.c kw_des.c kw_aes.c globals.h \
- ../strings.c
am__objects_1 =
-am__dirstamp = $(am__leading_dot)dirstamp
- at SHAREDLIB_HACK_TRUE@am__objects_2 = ../libxmlsec1_nss_la-strings.lo
am_libxmlsec1_nss_la_OBJECTS = libxmlsec1_nss_la-app.lo \
libxmlsec1_nss_la-bignum.lo libxmlsec1_nss_la-ciphers.lo \
libxmlsec1_nss_la-crypto.lo libxmlsec1_nss_la-digests.lo \
@@ -147,7 +140,7 @@ am_libxmlsec1_nss_la_OBJECTS = libxmlsec1_nss_la-app.lo \
libxmlsec1_nss_la-x509.lo libxmlsec1_nss_la-x509vfy.lo \
libxmlsec1_nss_la-keysstore.lo libxmlsec1_nss_la-keytrans.lo \
libxmlsec1_nss_la-kw_des.lo libxmlsec1_nss_la-kw_aes.lo \
- $(am__objects_1) $(am__objects_2)
+ $(am__objects_1)
libxmlsec1_nss_la_OBJECTS = $(am_libxmlsec1_nss_la_OBJECTS)
AM_V_lt = $(am__v_lt_ at AM_V@)
am__v_lt_ = $(am__v_lt_ at AM_DEFAULT_V@)
@@ -192,7 +185,7 @@ am__v_CCLD_ = $(am__v_CCLD_ at AM_DEFAULT_V@)
am__v_CCLD_0 = @echo " CCLD " $@;
am__v_CCLD_1 =
SOURCES = $(libxmlsec1_nss_la_SOURCES)
-DIST_SOURCES = $(am__libxmlsec1_nss_la_SOURCES_DIST)
+DIST_SOURCES = $(libxmlsec1_nss_la_SOURCES)
am__can_run_installinfo = \
case $$AM_UPDATE_INFO_DIR in \
n|no|NO) false;; \
@@ -281,6 +274,7 @@ LIBXSLT_PC_FILE_COND = @LIBXSLT_PC_FILE_COND@
LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MAN2HTML = @MAN2HTML@
@@ -328,6 +322,7 @@ SHELL = @SHELL@
STRIP = @STRIP@
TAR = @TAR@
VERSION = @VERSION@
+XMLSEC_APPS = @XMLSEC_APPS@
XMLSEC_APP_DEFINES = @XMLSEC_APP_DEFINES@
XMLSEC_CFLAGS = @XMLSEC_CFLAGS@
XMLSEC_CORE_CFLAGS = @XMLSEC_CORE_CFLAGS@
@@ -344,6 +339,7 @@ XMLSEC_DEFINES = @XMLSEC_DEFINES@
XMLSEC_DL_INCLUDES = @XMLSEC_DL_INCLUDES@
XMLSEC_DL_LIBS = @XMLSEC_DL_LIBS@
XMLSEC_DOCDIR = @XMLSEC_DOCDIR@
+XMLSEC_DOCS = @XMLSEC_DOCS@
XMLSEC_EXTRA_LDFLAGS = @XMLSEC_EXTRA_LDFLAGS@
XMLSEC_GCRYPT_CFLAGS = @XMLSEC_GCRYPT_CFLAGS@
XMLSEC_GCRYPT_LIBS = @XMLSEC_GCRYPT_LIBS@
@@ -433,6 +429,7 @@ pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
+runstatedir = @runstatedir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
@@ -460,10 +457,25 @@ libxmlsec1_nss_la_CPPFLAGS = \
$(LIBXML_CFLAGS) \
$(NULL)
-libxmlsec1_nss_la_SOURCES = app.c bignum.c ciphers.c crypto.c \
- digests.c hmac.c pkikeys.c signatures.c symkeys.c x509.c \
- x509vfy.c keysstore.c keytrans.c kw_des.c kw_aes.c globals.h \
- $(NULL) $(am__append_1)
+libxmlsec1_nss_la_SOURCES = \
+ app.c \
+ bignum.c \
+ ciphers.c \
+ crypto.c \
+ digests.c \
+ hmac.c \
+ pkikeys.c \
+ signatures.c \
+ symkeys.c \
+ x509.c \
+ x509vfy.c \
+ keysstore.c \
+ keytrans.c \
+ kw_des.c \
+ kw_aes.c \
+ globals.h \
+ $(NULL)
+
libxmlsec1_nss_la_LIBADD = \
$(NSS_LIBS) \
$(LIBXSLT_LIBS) \
@@ -547,27 +559,16 @@ clean-libLTLIBRARIES:
echo rm -f $${locs}; \
rm -f $${locs}; \
}
-../$(am__dirstamp):
- @$(MKDIR_P) ..
- @: > ../$(am__dirstamp)
-../$(DEPDIR)/$(am__dirstamp):
- @$(MKDIR_P) ../$(DEPDIR)
- @: > ../$(DEPDIR)/$(am__dirstamp)
-../libxmlsec1_nss_la-strings.lo: ../$(am__dirstamp) \
- ../$(DEPDIR)/$(am__dirstamp)
libxmlsec1-nss.la: $(libxmlsec1_nss_la_OBJECTS) $(libxmlsec1_nss_la_DEPENDENCIES) $(EXTRA_libxmlsec1_nss_la_DEPENDENCIES)
$(AM_V_CCLD)$(libxmlsec1_nss_la_LINK) -rpath $(libdir) $(libxmlsec1_nss_la_OBJECTS) $(libxmlsec1_nss_la_LIBADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
- -rm -f ../*.$(OBJEXT)
- -rm -f ../*.lo
distclean-compile:
-rm -f *.tab.c
- at AMDEP_TRUE@@am__include@ @am__quote at ../$(DEPDIR)/libxmlsec1_nss_la-strings.Plo at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libxmlsec1_nss_la-app.Plo at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libxmlsec1_nss_la-bignum.Plo at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libxmlsec1_nss_la-ciphers.Plo at am__quote@
@@ -713,19 +714,11 @@ libxmlsec1_nss_la-kw_aes.lo: kw_aes.c
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libxmlsec1_nss_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libxmlsec1_nss_la-kw_aes.lo `test -f 'kw_aes.c' || echo '$(srcdir)/'`kw_aes.c
-../libxmlsec1_nss_la-strings.lo: ../strings.c
- at am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libxmlsec1_nss_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ../libxmlsec1_nss_la-strings.lo -MD -MP -MF ../$(DEPDIR)/libxmlsec1_nss_la-strings.Tpo -c -o ../libxmlsec1_nss_la-strings.lo `test -f '../strings.c' || echo '$(srcdir)/'`../strings.c
- at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) ../$(DEPDIR)/libxmlsec1_nss_la-strings.Tpo ../$(DEPDIR)/libxmlsec1_nss_la-strings.Plo
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='../strings.c' object='../libxmlsec1_nss_la-strings.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libxmlsec1_nss_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ../libxmlsec1_nss_la-strings.lo `test -f '../strings.c' || echo '$(srcdir)/'`../strings.c
-
mostlyclean-libtool:
-rm -f *.lo
clean-libtool:
-rm -rf .libs _libs
- -rm -rf ../.libs ../_libs
ID: $(am__tagged_files)
$(am__define_uniq_tagged_files); mkid -fID $$unique
@@ -842,8 +835,6 @@ clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
- -rm -f ../$(DEPDIR)/$(am__dirstamp)
- -rm -f ../$(am__dirstamp)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -854,7 +845,7 @@ clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \
mostlyclean-am
distclean: distclean-am
- -rm -rf ../$(DEPDIR) ./$(DEPDIR)
+ -rm -rf ./$(DEPDIR)
-rm -f Makefile
distclean-am: clean-am distclean-compile distclean-generic \
distclean-tags
@@ -900,7 +891,7 @@ install-ps-am:
installcheck-am:
maintainer-clean: maintainer-clean-am
- -rm -rf ../$(DEPDIR) ./$(DEPDIR)
+ -rm -rf ./$(DEPDIR)
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
diff --git a/src/nss/README b/src/nss/README
index 65a0f45..536552e 100644
--- a/src/nss/README
+++ b/src/nss/README
@@ -1,6 +1,6 @@
WHAT VERSION OF NSS?
------------------------------------------------------------------------
-NSS 3.9 or greater and NSPR 4.4.1 or greater are required.
+NSS 3.11.1 or greater and NSPR 4.4.1 or greater are required.
KEYS MANAGER
------------------------------------------------------------------------
diff --git a/src/nss/app.c b/src/nss/app.c
index 0a9046f..b69539e 100644
--- a/src/nss/app.c
+++ b/src/nss/app.c
@@ -1,5 +1,5 @@
-/**
- * XMLSec library
+/*
+ * XML Security Library (http://www.aleksey.com/xmlsec).
*
* This is free software; see Copyright file in the source
* distribution for preciese wording.
@@ -73,22 +73,15 @@ xmlSecNssAppInit(const char* config) {
if(config) {
rv = NSS_InitReadWrite(config);
if(rv != SECSuccess) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "NSS_InitReadWrite",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- "config=%s",
- xmlSecErrorsSafeString(config));
+ xmlSecNssError2("NSS_InitReadWrite", NULL,
+ "config=%s",
+ xmlSecErrorsSafeString(config));
return(-1);
}
} else {
rv = NSS_NoDB_Init(NULL);
if(rv != SECSuccess) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "NSS_NoDB_Init",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNssError("NSS_NoDB_Init", NULL);
return(-1);
}
}
@@ -131,11 +124,7 @@ xmlSecNssAppShutdown(void) {
PK11_LogoutAll();
rv = NSS_Shutdown();
if(rv != SECSuccess) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "NSS_Shutdown",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNssError("NSS_Shutdown", NULL);
return(-1);
}
return(0);
@@ -149,11 +138,7 @@ xmlSecNssAppCreateSECItem(SECItem *contents, const xmlSecByte* data, xmlSecSize
contents->data = 0;
if (!SECITEM_AllocItem(NULL, contents, dataSize)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "SECITEM_AllocItem",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNssError("SECITEM_AllocItem", NULL);
return(-1);
}
@@ -178,33 +163,21 @@ xmlSecNssAppReadSECItem(SECItem *contents, const char *fn) {
file = PR_Open(fn, PR_RDONLY, 00660);
if (file == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "PR_Open",
- XMLSEC_ERRORS_R_IO_FAILED,
- "filename=%s",
- xmlSecErrorsSafeString(fn));
+ xmlSecNssError2("PR_Open", NULL,
+ "filename=%s", xmlSecErrorsSafeString(fn));
goto done;
}
prStatus = PR_GetOpenFileInfo(file, &info);
if (prStatus != PR_SUCCESS) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "PR_GetOpenFileInfo",
- XMLSEC_ERRORS_R_IO_FAILED,
- "filename=%s",
- xmlSecErrorsSafeString(fn));
+ xmlSecNssError2("PR_GetOpenFileInfo", NULL,
+ "filename=%s", xmlSecErrorsSafeString(fn));
goto done;
}
contents->data = 0;
if (!SECITEM_AllocItem(NULL, contents, info.size)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "SECITEM_AllocItem",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNssError("SECITEM_AllocItem", NULL);
goto done;
}
@@ -286,21 +259,13 @@ xmlSecNssAppKeyLoad(const char *filename, xmlSecKeyDataFormat format,
memset(&secItem, 0, sizeof(secItem));
ret = xmlSecNssAppReadSECItem(&secItem, filename);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecNssAppReadSECItem",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecNssAppReadSECItem", NULL);
return(NULL);
}
res = xmlSecNssAppKeyLoadSECItem(&secItem, format, pwd, pwdCallback, pwdCallbackCtx);
if(res == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecNssAppKeyLoadSECItem",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecNssAppKeyLoadSECItem", NULL);
SECITEM_FreeItem(&secItem, PR_FALSE);
return(NULL);
}
@@ -335,21 +300,13 @@ xmlSecNssAppKeyLoadMemory(const xmlSecByte* data, xmlSecSize dataSize, xmlSecKey
memset(&secItem, 0, sizeof(secItem));
ret = xmlSecNssAppCreateSECItem(&secItem, data, dataSize);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecNssAppCreateSECItem",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecNssAppCreateSECItem", NULL);
return(NULL);
}
res = xmlSecNssAppKeyLoadSECItem(&secItem, format, pwd, pwdCallback, pwdCallbackCtx);
if(res == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecNssAppKeyLoadSECItem",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecNssAppKeyLoadSECItem", NULL);
SECITEM_FreeItem(&secItem, PR_FALSE);
return(NULL);
}
@@ -385,22 +342,14 @@ xmlSecNssAppKeyLoadSECItem(SECItem* secItem, xmlSecKeyDataFormat format,
case xmlSecKeyDataFormatPkcs12:
key = xmlSecNssAppPkcs12LoadSECItem(secItem, pwd, pwdCallback, pwdCallbackCtx);
if(key == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecNssAppPkcs12LoadSECItem",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecNssAppPkcs12LoadSECItem", NULL);
return(NULL);
}
break;
case xmlSecKeyDataFormatCertDer:
key = xmlSecNssAppKeyFromCertLoadSECItem(secItem, format);
if(key == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecNssAppKeyFromCertLoadSECItem",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecNssAppKeyFromCertLoadSECItem", NULL);
return(NULL);
}
break;
@@ -408,21 +357,14 @@ xmlSecNssAppKeyLoadSECItem(SECItem* secItem, xmlSecKeyDataFormat format,
case xmlSecKeyDataFormatDer:
key = xmlSecNssAppDerKeyLoadSECItem(secItem);
if(key == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecNssAppDerKeyLoadSECItem",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecNssAppDerKeyLoadSECItem", NULL);
return(NULL);
}
break;
default:
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecNssAppKeyLoad",
- XMLSEC_ERRORS_R_INVALID_FORMAT,
- "format=%d", format);
- return(NULL);
+ xmlSecOtherError2(XMLSEC_ERRORS_R_INVALID_FORMAT, NULL,
+ "format=%d", (int)format);
+ return(NULL);
}
return(key);
@@ -448,11 +390,7 @@ xmlSecNssAppDerKeyLoadSECItem(SECItem* secItem) {
*/
slot = xmlSecNssGetInternalKeySlot();
if (slot == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecNssGetInternalKeySlot",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecNssGetInternalKeySlot", NULL);
goto done;
}
@@ -472,31 +410,19 @@ xmlSecNssAppDerKeyLoadSECItem(SECItem* secItem) {
/* TRY PUBLIC KEY */
spki = SECKEY_DecodeDERSubjectPublicKeyInfo(secItem);
if (spki == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "SECKEY_DecodeDERSubjectPublicKeyInfo",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNssError("SECKEY_DecodeDERSubjectPublicKeyInfo", NULL);
}
pubkey = SECKEY_ExtractPublicKey(spki);
if (pubkey == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "SECKEY_ExtractPublicKey",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNssError("SECKEY_ExtractPublicKey", NULL);
goto done;
}
}
data = xmlSecNssPKIAdoptKey(privkey, pubkey);
if(data == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecNssPKIAdoptKey",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecNssPKIAdoptKey", NULL);
goto done;
}
privkey = NULL;
@@ -504,22 +430,14 @@ xmlSecNssAppDerKeyLoadSECItem(SECItem* secItem) {
key = xmlSecKeyCreate();
if(key == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecKeyCreate",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeyCreate", NULL);
goto done;
}
ret = xmlSecKeySetValue(key, data);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecKeySetValue",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "data=%s",
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)));
+ xmlSecInternalError("xmlSecKeySetValue",
+ xmlSecKeyDataGetName(data));
goto done;
}
retval = key;
@@ -573,21 +491,13 @@ xmlSecNssAppKeyCertLoad(xmlSecKeyPtr key, const char* filename, xmlSecKeyDataFor
memset(&secItem, 0, sizeof(secItem));
ret = xmlSecNssAppReadSECItem(&secItem, filename);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecNssAppReadSECItem",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecNssAppReadSECItem", NULL);
return(-1);
}
ret = xmlSecNssAppKeyCertLoadSECItem(key, &secItem, format);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecNssAppKeyCertLoadSECItem",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecNssAppKeyCertLoadSECItem", NULL);
SECITEM_FreeItem(&secItem, PR_FALSE);
return(-1);
}
@@ -620,21 +530,13 @@ xmlSecNssAppKeyCertLoadMemory(xmlSecKeyPtr key, const xmlSecByte* data, xmlSecSi
memset(&secItem, 0, sizeof(secItem));
ret = xmlSecNssAppCreateSECItem(&secItem, data, dataSize);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecNssAppCreateSECItem",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecNssAppCreateSECItem", NULL);
return(-1);
}
ret = xmlSecNssAppKeyCertLoadSECItem(key, &secItem, format);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecNssAppKeyCertLoadSECItem",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecNssAppKeyCertLoadSECItem", NULL);
SECITEM_FreeItem(&secItem, PR_FALSE);
return(-1);
}
@@ -665,12 +567,7 @@ xmlSecNssAppKeyCertLoadSECItem(xmlSecKeyPtr key, SECItem* secItem, xmlSecKeyData
data = xmlSecKeyEnsureData(key, xmlSecNssKeyDataX509Id);
if(data == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecKeyEnsureData",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "transform=%s",
- xmlSecErrorsSafeString(xmlSecTransformKlassGetName(xmlSecNssKeyDataX509Id)));
+ xmlSecInternalError("xmlSecKeyEnsureData(xmlSecNssKeyDataX509Id)", NULL);
return(-1);
}
@@ -680,32 +577,22 @@ xmlSecNssAppKeyCertLoadSECItem(xmlSecKeyPtr key, SECItem* secItem, xmlSecKeyData
cert = __CERT_NewTempCertificate(CERT_GetDefaultCertDB(),
secItem, NULL, PR_FALSE, PR_TRUE);
if(cert == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "__CERT_NewTempCertificate",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- "format=%d", format);
+ xmlSecNssError2("__CERT_NewTempCertificate", NULL,
+ "format=%d", (int)format);
return(-1);
}
break;
default:
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- NULL,
- XMLSEC_ERRORS_R_INVALID_FORMAT,
- "format=%d", format);
+ xmlSecOtherError2(XMLSEC_ERRORS_R_INVALID_FORMAT, NULL,
+ "format=%d", (int)format);
return(-1);
}
xmlSecAssert2(cert != NULL, -1);
ret = xmlSecNssKeyDataX509AdoptCert(data, cert);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecNssKeyDataX509AdoptCert",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "data=%s",
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)));
+ xmlSecInternalError("xmlSecNssKeyDataX509AdoptCert",
+ xmlSecKeyDataGetName(data));
CERT_DestroyCertificate(cert);
return(-1);
}
@@ -740,21 +627,13 @@ xmlSecNssAppPkcs12Load(const char *filename, const char *pwd,
memset(&secItem, 0, sizeof(secItem));
ret = xmlSecNssAppReadSECItem(&secItem, filename);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecNssAppReadSECItem",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecNssAppReadSECItem", NULL);
return(NULL);
}
res = xmlSecNssAppPkcs12LoadSECItem(&secItem, pwd, pwdCallback, pwdCallbackCtx);
if(res == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecNssAppPkcs12LoadSECItem",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecNssAppPkcs12LoadSECItem", NULL);
SECITEM_FreeItem(&secItem, PR_FALSE);
return(NULL);
}
@@ -790,21 +669,13 @@ xmlSecNssAppPkcs12LoadMemory(const xmlSecByte* data, xmlSecSize dataSize, const
memset(&secItem, 0, sizeof(secItem));
ret = xmlSecNssAppCreateSECItem(&secItem, data, dataSize);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecNssAppCreateSECItem",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecNssAppCreateSECItem", NULL);
return(NULL);
}
res = xmlSecNssAppPkcs12LoadSECItem(&secItem, pwd, pwdCallback, pwdCallbackCtx);
if(res == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecNssAppPkcs12LoadSECItem",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecNssAppPkcs12LoadSECItem", NULL);
SECITEM_FreeItem(&secItem, PR_FALSE);
return(NULL);
}
@@ -860,111 +731,69 @@ xmlSecNssAppPkcs12LoadSECItem(SECItem* secItem, const char *pwd,
*/
slot = xmlSecNssGetInternalKeySlot();
if (slot == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecNssGetInternalKeySlot",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecNssGetInternalKeySlot", NULL);
goto done;
}
pwditem.data = (unsigned char *)pwd;
pwditem.len = strlen(pwd)+1;
if (!SECITEM_AllocItem(NULL, &uc2_pwditem, 2*pwditem.len)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "SECITEM_AllocItem",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNssError("SECITEM_AllocItem", NULL);
goto done;
}
if (PORT_UCS2_ASCIIConversion(PR_TRUE, pwditem.data, pwditem.len,
uc2_pwditem.data, 2*pwditem.len,
&(uc2_pwditem.len), 0) == PR_FALSE) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "PORT_UCS2_ASCIIConversion",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNssError("PORT_UCS2_ASCIIConversion", NULL);
goto done;
}
p12ctx = SEC_PKCS12DecoderStart(&uc2_pwditem, slot, NULL,
NULL, NULL, NULL, NULL, NULL);
if (p12ctx == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "SEC_PKCS12DecoderStart",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNssError("SEC_PKCS12DecoderStart", NULL);
goto done;
}
rv = SEC_PKCS12DecoderUpdate(p12ctx, secItem->data, secItem->len);
if (rv != SECSuccess) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "SEC_PKCS12DecoderUpdate",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNssError("SEC_PKCS12DecoderUpdate", NULL);
goto done;
}
rv = SEC_PKCS12DecoderVerify(p12ctx);
if (rv != SECSuccess) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "SEC_PKCS12DecoderVerify",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNssError("SEC_PKCS12DecoderVerify", NULL);
goto done;
}
rv = SEC_PKCS12DecoderValidateBags(p12ctx, xmlSecNssAppNicknameCollisionCallback);
if (rv != SECSuccess) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "SEC_PKCS12DecoderValidateBags",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNssError("SEC_PKCS12DecoderValidateBags", NULL);
goto done;
}
rv = SEC_PKCS12DecoderImportBags(p12ctx);
if (rv != SECSuccess) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "SEC_PKCS12DecoderImportBags",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNssError("SEC_PKCS12DecoderImportBags", NULL);
goto done;
}
certlist = SEC_PKCS12DecoderGetCerts(p12ctx);
if (certlist == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "SEC_PKCS12DecoderGetCerts",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNssError("SEC_PKCS12DecoderGetCerts", NULL);
goto done;
}
x509Data = xmlSecKeyDataCreate(xmlSecNssKeyDataX509Id);
if(x509Data == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecKeyDataCreate",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "transform=%s",
- xmlSecErrorsSafeString(xmlSecTransformKlassGetName(xmlSecNssKeyDataX509Id)));
+ xmlSecInternalError("xmlSecKeyDataCreate",
+ xmlSecTransformKlassGetName(xmlSecNssKeyDataX509Id));
goto done;
}
- for (head = CERT_LIST_HEAD(certlist);
- !CERT_LIST_END(head, certlist);
- head = CERT_LIST_NEXT(head)) {
+ for (head = CERT_LIST_HEAD(certlist); !CERT_LIST_END(head, certlist); head = CERT_LIST_NEXT(head)) {
cert = head->cert;
privkey = PK11_FindKeyByAnyCert(cert, NULL);
@@ -978,20 +807,14 @@ xmlSecNssAppPkcs12LoadSECItem(SECItem* secItem, const char *pwd,
} else {
pubkey = CERT_ExtractPublicKey(cert);
if (pubkey == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "CERT_ExtractPublicKey",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNssError("CERT_ExtractPublicKey",
+ xmlSecKeyDataGetName(x509Data));
goto done;
}
data = xmlSecNssPKIAdoptKey(privkey, pubkey);
if(data == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecNssPKIAdoptKey",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecNssPKIAdoptKey",
+ xmlSecKeyDataGetName(x509Data));
goto done;
}
@@ -1000,23 +823,15 @@ xmlSecNssAppPkcs12LoadSECItem(SECItem* secItem, const char *pwd,
tmpcert = CERT_DupCertificate(cert);
if(tmpcert == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "CERT_DupCertificate",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- "data=%s",
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(x509Data)));
+ xmlSecNssError("CERT_DupCertificate",
+ xmlSecKeyDataGetName(x509Data));
goto done;
}
ret = xmlSecNssKeyDataX509AdoptKeyCert(x509Data, tmpcert);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecNssKeyDataX509AdoptKeyCert",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "data=%s",
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(x509Data)));
+ xmlSecInternalError("xmlSecNssKeyDataX509AdoptKeyCert",
+ xmlSecKeyDataGetName(x509Data));
CERT_DestroyCertificate(tmpcert);
goto done;
}
@@ -1026,22 +841,14 @@ xmlSecNssAppPkcs12LoadSECItem(SECItem* secItem, const char *pwd,
tmpcert = CERT_DupCertificate(cert);
if(tmpcert == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "CERT_DupCertificate",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- "data=%s",
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(x509Data)));
+ xmlSecNssError("CERT_DupCertificate",
+ xmlSecKeyDataGetName(x509Data));
goto done;
}
ret = xmlSecNssKeyDataX509AdoptCert(x509Data, tmpcert);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecNssKeyDataX509AdoptCert",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "data=%s",
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(x509Data)));
+ xmlSecInternalError("xmlSecNssKeyDataX509AdoptCert",
+ xmlSecKeyDataGetName(x509Data));
CERT_DestroyCertificate(tmpcert);
goto done;
}
@@ -1049,32 +856,21 @@ xmlSecNssAppPkcs12LoadSECItem(SECItem* secItem, const char *pwd,
} /* end for loop */
if (data == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecNssAppPkcs12Load",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "private key not found in PKCS12 file");
+ /* private key not found in PKCS12 file */
+ xmlSecInternalError("xmlSecNssAppPkcs12Load(private key)", NULL);
goto done;
}
key = xmlSecKeyCreate();
if(key == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecKeyCreate",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeyCreate", NULL);
goto done;
}
ret = xmlSecKeySetValue(key, data);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecKeySetValue",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "data=%s",
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(x509Data)));
+ xmlSecInternalError("xmlSecKeySetValue",
+ xmlSecKeyDataGetName(x509Data));
xmlSecKeyDestroy(key);
key = NULL;
goto done;
@@ -1083,12 +879,8 @@ xmlSecNssAppPkcs12LoadSECItem(SECItem* secItem, const char *pwd,
ret = xmlSecKeyAdoptData(key, x509Data);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecKeyAdoptData",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "data=%s",
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(x509Data)));
+ xmlSecInternalError("xmlSecKeyAdoptData",
+ xmlSecKeyDataGetName(x509Data));
xmlSecKeyDestroy(key);
key = NULL;
goto done;
@@ -1148,31 +940,21 @@ xmlSecNssAppKeyFromCertLoadSECItem(SECItem* secItem, xmlSecKeyDataFormat format)
cert = __CERT_NewTempCertificate(CERT_GetDefaultCertDB(),
secItem, NULL, PR_FALSE, PR_TRUE);
if(cert == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "__CERT_NewTempCertificate",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- "format=%d", format);
+ xmlSecNssError2("__CERT_NewTempCertificate", NULL,
+ "format=%d", (int)format);
return(NULL);
}
break;
default:
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- NULL,
- XMLSEC_ERRORS_R_INVALID_FORMAT,
- "format=%d", format);
+ xmlSecOtherError2(XMLSEC_ERRORS_R_INVALID_FORMAT, NULL,
+ "format=%d", (int)format);
return(NULL);
}
/* get key value */
keyData = xmlSecNssX509CertGetKey(cert);
if(keyData == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecNssX509CertGetKey",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecNssX509CertGetKey", NULL);
CERT_DestroyCertificate(cert);
return(NULL);
}
@@ -1180,11 +962,7 @@ xmlSecNssAppKeyFromCertLoadSECItem(SECItem* secItem, xmlSecKeyDataFormat format)
/* create key */
key = xmlSecKeyCreate();
if(key == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecKeyCreate",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeyCreate", NULL);
xmlSecKeyDataDestroy(keyData);
CERT_DestroyCertificate(cert);
return(NULL);
@@ -1193,11 +971,7 @@ xmlSecNssAppKeyFromCertLoadSECItem(SECItem* secItem, xmlSecKeyDataFormat format)
/* set key value */
ret = xmlSecKeySetValue(key, keyData);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecKeySetValue",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeySetValue", NULL);
xmlSecKeyDestroy(key);
xmlSecKeyDataDestroy(keyData);
CERT_DestroyCertificate(cert);
@@ -1207,11 +981,7 @@ xmlSecNssAppKeyFromCertLoadSECItem(SECItem* secItem, xmlSecKeyDataFormat format)
/* create cert data */
certData = xmlSecKeyEnsureData(key, xmlSecNssKeyDataX509Id);
if(certData == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecKeyEnsureData",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeyEnsureData", NULL);
xmlSecKeyDestroy(key);
CERT_DestroyCertificate(cert);
return(NULL);
@@ -1220,11 +990,7 @@ xmlSecNssAppKeyFromCertLoadSECItem(SECItem* secItem, xmlSecKeyDataFormat format)
/* put cert in the cert data */
ret = xmlSecNssKeyDataX509AdoptCert(certData, cert);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecNssKeyDataX509AdoptCert",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecNssKeyDataX509AdoptCert", NULL);
xmlSecKeyDestroy(key);
CERT_DestroyCertificate(cert);
return(NULL);
@@ -1261,21 +1027,13 @@ xmlSecNssAppKeysMngrCertLoad(xmlSecKeysMngrPtr mngr, const char *filename,
memset(&secItem, 0, sizeof(secItem));
ret = xmlSecNssAppReadSECItem(&secItem, filename);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecNssAppReadSECItem",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecNssAppReadSECItem", NULL);
return(-1);
}
ret = xmlSecNssAppKeysMngrCertLoadSECItem(mngr, &secItem, format, type);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecNssAppKeysMngrCertLoadSECItem",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecNssAppKeysMngrCertLoadSECItem", NULL);
SECITEM_FreeItem(&secItem, PR_FALSE);
return(-1);
}
@@ -1311,21 +1069,13 @@ xmlSecNssAppKeysMngrCertLoadMemory(xmlSecKeysMngrPtr mngr, const xmlSecByte* dat
memset(&secItem, 0, sizeof(secItem));
ret = xmlSecNssAppCreateSECItem(&secItem, data, dataSize);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecNssAppCreateSECItem",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecNssAppCreateSECItem", NULL);
return(-1);
}
ret = xmlSecNssAppKeysMngrCertLoadSECItem(mngr, &secItem, format, type);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecNssAppKeysMngrCertLoadSECItem",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecNssAppKeysMngrCertLoadSECItem", NULL);
SECITEM_FreeItem(&secItem, PR_FALSE);
return(-1);
}
@@ -1360,11 +1110,7 @@ xmlSecNssAppKeysMngrCertLoadSECItem(xmlSecKeysMngrPtr mngr, SECItem* secItem,
x509Store = xmlSecKeysMngrGetDataStore(mngr, xmlSecNssX509StoreId);
if(x509Store == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecKeysMngrGetDataStore",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "xmlSecNssX509StoreId");
+ xmlSecInternalError("xmlSecKeysMngrGetDataStore(xmlSecNssX509StoreId)", NULL);
return(-1);
}
@@ -1373,30 +1119,20 @@ xmlSecNssAppKeysMngrCertLoadSECItem(xmlSecKeysMngrPtr mngr, SECItem* secItem,
cert = __CERT_NewTempCertificate(CERT_GetDefaultCertDB(),
secItem, NULL, PR_FALSE, PR_TRUE);
if(cert == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "__CERT_NewTempCertificate",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- "format=%d", format);
+ xmlSecNssError2("__CERT_NewTempCertificate", NULL,
+ "format=%d", (int)format);
return(-1);
}
break;
default:
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- NULL,
- XMLSEC_ERRORS_R_INVALID_FORMAT,
- "format=%d", format);
+ xmlSecOtherError2(XMLSEC_ERRORS_R_INVALID_FORMAT, NULL,
+ "format=%d", (int)format);
return(-1);
}
ret = xmlSecNssX509StoreAdoptCert(x509Store, cert, type);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecNssX509StoreAdoptCert",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecNssX509StoreAdoptCert", NULL);
CERT_DestroyCertificate(cert);
return(-1);
}
@@ -1427,21 +1163,13 @@ xmlSecNssAppDefaultKeysMngrInit(xmlSecKeysMngrPtr mngr) {
keysStore = xmlSecKeyStoreCreate(xmlSecNssKeysStoreId);
if(keysStore == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecKeyStoreCreate",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "xmlSecNssKeysStoreId");
+ xmlSecInternalError("xmlSecKeyStoreCreate(xmlSecNssX509StoreId)", NULL);
return(-1);
}
ret = xmlSecKeysMngrAdoptKeysStore(mngr, keysStore);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecKeysMngrAdoptKeysStore",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeysMngrAdoptKeysStore", NULL);
xmlSecKeyStoreDestroy(keysStore);
return(-1);
}
@@ -1449,11 +1177,7 @@ xmlSecNssAppDefaultKeysMngrInit(xmlSecKeysMngrPtr mngr) {
ret = xmlSecNssKeysMngrInit(mngr);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecNssKeysMngrInit",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecNssKeysMngrInit", NULL);
return(-1);
}
@@ -1481,21 +1205,13 @@ xmlSecNssAppDefaultKeysMngrAdoptKey(xmlSecKeysMngrPtr mngr, xmlSecKeyPtr key) {
store = xmlSecKeysMngrGetKeysStore(mngr);
if(store == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecKeysMngrGetKeysStore",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeysMngrGetKeysStore", NULL);
return(-1);
}
ret = xmlSecNssKeysStoreAdoptKey(store, key);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecNssKeysStoreAdoptKey",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecNssKeysStoreAdoptKey", NULL);
return(-1);
}
@@ -1522,21 +1238,14 @@ xmlSecNssAppDefaultKeysMngrLoad(xmlSecKeysMngrPtr mngr, const char* uri) {
store = xmlSecKeysMngrGetKeysStore(mngr);
if(store == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecKeysMngrGetKeysStore",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeysMngrGetKeysStore", NULL);
return(-1);
}
ret = xmlSecNssKeysStoreLoad(store, uri, mngr);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecNssKeysStoreLoad",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "uri=%s", xmlSecErrorsSafeString(uri));
+ xmlSecInternalError2("xmlSecNssKeysStoreLoad", NULL,
+ "uri=%s", xmlSecErrorsSafeString(uri));
return(-1);
}
@@ -1563,21 +1272,14 @@ xmlSecNssAppDefaultKeysMngrSave(xmlSecKeysMngrPtr mngr, const char* filename, xm
store = xmlSecKeysMngrGetKeysStore(mngr);
if(store == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecKeysMngrGetKeysStore",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeysMngrGetKeysStore", NULL);
return(-1);
}
ret = xmlSecNssKeysStoreSave(store, filename, type);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecNssKeysStoreSave",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "filename%s", xmlSecErrorsSafeString(filename));
+ xmlSecInternalError2("xmlSecNssKeysStoreSave", NULL,
+ "filename%s", xmlSecErrorsSafeString(filename));
return(-1);
}
diff --git a/src/nss/bignum.c b/src/nss/bignum.c
index 261155e..d1898a6 100644
--- a/src/nss/bignum.c
+++ b/src/nss/bignum.c
@@ -1,5 +1,5 @@
-/**
- * XMLSec library
+/*
+ * XML Security Library (http://www.aleksey.com/xmlsec).
*
* Reading/writing bignum values
*
@@ -53,21 +53,13 @@ xmlSecNssNodeGetBigNumValue(PRArenaPool *arena, const xmlNodePtr cur,
ret = xmlSecBufferInitialize(&buf, 128);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecBufferInitialize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecBufferInitialize", NULL);
return(NULL);
}
ret = xmlSecBufferBase64NodeContentRead(&buf, cur);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecBufferBase64NodeContentRead",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecBufferBase64NodeContentRead", NULL);
xmlSecBufferFinalize(&buf);
return(NULL);
}
@@ -115,11 +107,7 @@ xmlSecNssNodeSetBigNumValue(xmlNodePtr cur, const SECItem *a, int addLineBreaks)
ret = xmlSecBufferInitialize(&buf, a->len + 1);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecBufferInitialize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "size=%d", a->len + 1);
+ xmlSecInternalError2("xmlSecBufferInitialize", NULL, "size=%d", a->len + 1);
return(-1);
}
@@ -127,11 +115,7 @@ xmlSecNssNodeSetBigNumValue(xmlNodePtr cur, const SECItem *a, int addLineBreaks)
ret = xmlSecBufferSetSize(&buf, a->len);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecBufferSetSize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "size=%d", a->len);
+ xmlSecInternalError2("xmlSecBufferSetSize", NULL, "size=%d", a->len);
xmlSecBufferFinalize(&buf);
return(-1);
}
@@ -144,11 +128,7 @@ xmlSecNssNodeSetBigNumValue(xmlNodePtr cur, const SECItem *a, int addLineBreaks)
ret = xmlSecBufferBase64NodeContentWrite(&buf, cur, xmlSecBase64GetDefaultLineSize());
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecBufferBase64NodeContentWrite",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecBufferBase64NodeContentWrite", NULL);
xmlSecBufferFinalize(&buf);
return(-1);
}
diff --git a/src/nss/ciphers.c b/src/nss/ciphers.c
index cf67936..e9412f7 100644
--- a/src/nss/ciphers.c
+++ b/src/nss/ciphers.c
@@ -1,5 +1,5 @@
-/**
- * XMLSec library
+/*
+ * XML Security Library (http://www.aleksey.com/xmlsec).
*
* This is free software; see Copyright file in the source
* distribution for preciese wording.
@@ -65,10 +65,10 @@ static int xmlSecNssBlockCipherCtxFinal (xmlSecNssBlockCipherCtx
xmlSecTransformCtxPtr transformCtx);
static int
xmlSecNssBlockCipherCtxInit(xmlSecNssBlockCipherCtxPtr ctx,
- xmlSecBufferPtr in, xmlSecBufferPtr out,
- int encrypt,
- const xmlChar* cipherName,
- xmlSecTransformCtxPtr transformCtx) {
+ xmlSecBufferPtr in, xmlSecBufferPtr out,
+ int encrypt,
+ const xmlChar* cipherName,
+ xmlSecTransformCtxPtr transformCtx) {
SECItem keyItem;
SECItem ivItem;
PK11SlotInfo* slot;
@@ -94,22 +94,16 @@ xmlSecNssBlockCipherCtxInit(xmlSecNssBlockCipherCtxPtr ctx,
/* generate random iv */
rv = PK11_GenerateRandom(ctx->iv, ivLen);
if(rv != SECSuccess) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(cipherName),
- "PK11_GenerateRandom",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- "size=%d", ivLen);
+ xmlSecNssError2("PK11_GenerateRandom", cipherName,
+ "size=%d", ivLen);
return(-1);
}
/* write iv to the output */
ret = xmlSecBufferAppend(out, ctx->iv, ivLen);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(cipherName),
- "xmlSecBufferAppend",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "size=%d", ivLen);
+ xmlSecInternalError2("xmlSecBufferAppend", cipherName,
+ "size=%d", ivLen);
return(-1);
}
@@ -127,11 +121,8 @@ xmlSecNssBlockCipherCtxInit(xmlSecNssBlockCipherCtxPtr ctx,
/* and remove from input */
ret = xmlSecBufferRemoveHead(in, ivLen);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(cipherName),
- "xmlSecBufferRemoveHead",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "size=%d", ivLen);
+ xmlSecInternalError2("xmlSecBufferRemoveHead", cipherName,
+ "size=%d", ivLen);
return(-1);
}
}
@@ -145,22 +136,14 @@ xmlSecNssBlockCipherCtxInit(xmlSecNssBlockCipherCtxPtr ctx,
slot = PK11_GetBestSlot(ctx->cipher, NULL);
if(slot == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(cipherName),
- "PK11_GetBestSlot",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNssError("PK11_GetBestSlot", cipherName);
return(-1);
}
symKey = PK11_ImportSymKey(slot, ctx->cipher, PK11_OriginDerive,
CKA_SIGN, &keyItem, NULL);
if(symKey == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(cipherName),
- "PK11_ImportSymKey",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNssError("PK11_ImportSymKey", cipherName);
PK11_FreeSlot(slot);
return(-1);
}
@@ -169,11 +152,7 @@ xmlSecNssBlockCipherCtxInit(xmlSecNssBlockCipherCtxPtr ctx,
(encrypt) ? CKA_ENCRYPT : CKA_DECRYPT,
symKey, &ivItem);
if(ctx->cipherCtx == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(cipherName),
- "PK11_CreateContextBySymKey",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNssError("PK11_CreateContextBySymKey", cipherName);
PK11_FreeSymKey(symKey);
PK11_FreeSlot(slot);
return(-1);
@@ -228,11 +207,8 @@ xmlSecNssBlockCipherCtxUpdate(xmlSecNssBlockCipherCtxPtr ctx,
/* we write out the input size plus may be one block */
ret = xmlSecBufferSetMaxSize(out, outSize + inSize + blockLen);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(cipherName),
- "xmlSecBufferSetMaxSize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "size=%d", outSize + inSize + blockLen);
+ xmlSecInternalError2("xmlSecBufferSetMaxSize", cipherName,
+ "size=%d", outSize + inSize + blockLen);
return(-1);
}
outBuf = xmlSecBufferGetData(out) + outSize;
@@ -240,11 +216,7 @@ xmlSecNssBlockCipherCtxUpdate(xmlSecNssBlockCipherCtxPtr ctx,
rv = PK11_CipherOp(ctx->cipherCtx, outBuf, &outLen, inSize + blockLen,
xmlSecBufferGetData(in), inSize);
if(rv != SECSuccess) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(cipherName),
- "PK11_CipherOp",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNssError("PK11_CipherOp", cipherName);
return(-1);
}
xmlSecAssert2((xmlSecSize)outLen == inSize, -1);
@@ -252,22 +224,16 @@ xmlSecNssBlockCipherCtxUpdate(xmlSecNssBlockCipherCtxPtr ctx,
/* set correct output buffer size */
ret = xmlSecBufferSetSize(out, outSize + outLen);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(cipherName),
- "xmlSecBufferSetSize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "size=%d", outSize + outLen);
+ xmlSecInternalError2("xmlSecBufferSetSize", cipherName,
+ "size=%d", outSize + outLen);
return(-1);
}
/* remove the processed block from input */
ret = xmlSecBufferRemoveHead(in, inSize);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(cipherName),
- "xmlSecBufferRemoveHead",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "size=%d", inSize);
+ xmlSecInternalError2("xmlSecBufferRemoveHead", cipherName,
+ "size=%d", inSize);
return(-1);
}
return(0);
@@ -307,11 +273,8 @@ xmlSecNssBlockCipherCtxFinal(xmlSecNssBlockCipherCtxPtr ctx,
/* create padding */
ret = xmlSecBufferSetMaxSize(in, blockLen);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(cipherName),
- "xmlSecBufferSetMaxSize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "size=%d", blockLen);
+ xmlSecInternalError2("xmlSecBufferSetMaxSize", cipherName,
+ "size=%d", blockLen);
return(-1);
}
inBuf = xmlSecBufferGetData(in);
@@ -320,11 +283,8 @@ xmlSecNssBlockCipherCtxFinal(xmlSecNssBlockCipherCtxPtr ctx,
if((xmlSecSize)blockLen > (inSize + 1)) {
rv = PK11_GenerateRandom(inBuf + inSize, blockLen - inSize - 1);
if(rv != SECSuccess) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(cipherName),
- "PK11_GenerateRandom",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- "size=%d", blockLen - inSize - 1);
+ xmlSecNssError2("PK11_GenerateRandom", cipherName,
+ "size=%d", ((int)blockLen - inSize - 1));
return(-1);
}
}
@@ -332,11 +292,7 @@ xmlSecNssBlockCipherCtxFinal(xmlSecNssBlockCipherCtxPtr ctx,
inSize = blockLen;
} else {
if(inSize != (xmlSecSize)blockLen) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(cipherName),
- NULL,
- XMLSEC_ERRORS_R_INVALID_DATA,
- "data=%d;block=%d", inSize, blockLen);
+ xmlSecInvalidSizeError("Input data", inSize, blockLen, cipherName);
return(-1);
}
}
@@ -344,11 +300,8 @@ xmlSecNssBlockCipherCtxFinal(xmlSecNssBlockCipherCtxPtr ctx,
/* process last block */
ret = xmlSecBufferSetMaxSize(out, outSize + 2 * blockLen);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(cipherName),
- "xmlSecBufferSetMaxSize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "size=%d", outSize + 2 * blockLen);
+ xmlSecInternalError2("xmlSecBufferSetMaxSize", cipherName,
+ "size=%d", outSize + 2 * blockLen);
return(-1);
}
outBuf = xmlSecBufferGetData(out) + outSize;
@@ -356,11 +309,7 @@ xmlSecNssBlockCipherCtxFinal(xmlSecNssBlockCipherCtxPtr ctx,
rv = PK11_CipherOp(ctx->cipherCtx, outBuf, &outLen, 2 * blockLen,
xmlSecBufferGetData(in), inSize);
if(rv != SECSuccess) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(cipherName),
- "PK11_CipherOp",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNssError("PK11_CipherOp", cipherName);
return(-1);
}
xmlSecAssert2((xmlSecSize)outLen == inSize, -1);
@@ -368,12 +317,8 @@ xmlSecNssBlockCipherCtxFinal(xmlSecNssBlockCipherCtxPtr ctx,
if(encrypt == 0) {
/* check padding */
if(outLen < outBuf[blockLen - 1]) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(cipherName),
- NULL,
- XMLSEC_ERRORS_R_INVALID_DATA,
- "padding=%d;buffer=%d",
- outBuf[blockLen - 1], outLen);
+ xmlSecInvalidSizeLessThanError("Input data padding",
+ inSize, outBuf[blockLen - 1], cipherName);
return(-1);
}
outLen -= outBuf[blockLen - 1];
@@ -382,22 +327,16 @@ xmlSecNssBlockCipherCtxFinal(xmlSecNssBlockCipherCtxPtr ctx,
/* set correct output buffer size */
ret = xmlSecBufferSetSize(out, outSize + outLen);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(cipherName),
- "xmlSecBufferSetSize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "size=%d", outSize + outLen);
+ xmlSecInternalError2("xmlSecBufferSetSize", cipherName,
+ "size=%d", outSize + outLen);
return(-1);
}
/* remove the processed block from input */
ret = xmlSecBufferRemoveHead(in, inSize);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(cipherName),
- "xmlSecBufferRemoveHead",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "size=%d", inSize);
+ xmlSecInternalError2("xmlSecBufferRemoveHead", cipherName,
+ "size=%d", inSize);
return(-1);
}
@@ -487,11 +426,7 @@ xmlSecNssBlockCipherInitialize(xmlSecTransformPtr transform) {
#endif /* XMLSEC_NO_AES */
if(1) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- NULL,
- XMLSEC_ERRORS_R_INVALID_TRANSFORM,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInvalidTransfromError(transform)
return(-1);
}
@@ -563,12 +498,8 @@ xmlSecNssBlockCipherSetKey(xmlSecTransformPtr transform, xmlSecKeyPtr key) {
xmlSecAssert2(buffer != NULL, -1);
if(xmlSecBufferGetSize(buffer) < ctx->keySize) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- NULL,
- XMLSEC_ERRORS_R_INVALID_KEY_DATA_SIZE,
- "keySize=%d;expected=%d",
- xmlSecBufferGetSize(buffer), ctx->keySize);
+ xmlSecInvalidKeyDataSizeError(xmlSecBufferGetSize(buffer), ctx->keySize,
+ xmlSecTransformGetName(transform));
return(-1);
}
@@ -606,20 +537,14 @@ xmlSecNssBlockCipherExecute(xmlSecTransformPtr transform, int last, xmlSecTransf
(transform->operation == xmlSecTransformOperationEncrypt) ? 1 : 0,
xmlSecTransformGetName(transform), transformCtx);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecNssBlockCipherCtxInit",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecNssBlockCipherCtxInit",
+ xmlSecTransformGetName(transform));
return(-1);
}
}
if((ctx->ctxInitialized == 0) && (last != 0)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- NULL,
- XMLSEC_ERRORS_R_INVALID_DATA,
- "not enough data to initialize transform");
+ xmlSecInvalidDataError("not enough data to initialize transform",
+ xmlSecTransformGetName(transform));
return(-1);
}
@@ -628,11 +553,8 @@ xmlSecNssBlockCipherExecute(xmlSecTransformPtr transform, int last, xmlSecTransf
(transform->operation == xmlSecTransformOperationEncrypt) ? 1 : 0,
xmlSecTransformGetName(transform), transformCtx);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecNssBlockCipherCtxUpdate",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecNssBlockCipherCtxUpdate",
+ xmlSecTransformGetName(transform));
return(-1);
}
}
@@ -642,11 +564,8 @@ xmlSecNssBlockCipherExecute(xmlSecTransformPtr transform, int last, xmlSecTransf
(transform->operation == xmlSecTransformOperationEncrypt) ? 1 : 0,
xmlSecTransformGetName(transform), transformCtx);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecNssBlockCipherCtxFinal",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecNssBlockCipherCtxFinal",
+ xmlSecTransformGetName(transform));
return(-1);
}
transform->status = xmlSecTransformStatusFinished;
@@ -658,11 +577,7 @@ xmlSecNssBlockCipherExecute(xmlSecTransformPtr transform, int last, xmlSecTransf
/* the only way we can get here is if there is no enough data in the input */
xmlSecAssert2(last == 0, -1);
} else {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- NULL,
- XMLSEC_ERRORS_R_INVALID_STATUS,
- "status=%d", transform->status);
+ xmlSecInvalidTransfromStatusError(transform);
return(-1);
}
diff --git a/src/nss/crypto.c b/src/nss/crypto.c
index ea79519..a0559c8 100644
--- a/src/nss/crypto.c
+++ b/src/nss/crypto.c
@@ -1,5 +1,5 @@
-/**
- * XMLSec library
+/*
+ * XML Security Library (http://www.aleksey.com/xmlsec).
*
* This is free software; see Copyright file in the source
* distribution for preciese wording.
@@ -124,6 +124,19 @@ xmlSecCryptoGetFunctions_nss(void) {
gXmlSecNssFunctions->transformDsaSha1GetKlass = xmlSecNssTransformDsaSha1GetKlass;
#endif /* XMLSEC_NO_DSA */
+ /******************************* ECDSA ******************************/
+#ifndef XMLSEC_NO_ECDSA
+#ifndef XMLSEC_NO_SHA1
+ gXmlSecNssFunctions->transformEcdsaSha1GetKlass = xmlSecNssTransformEcdsaSha1GetKlass;
+#endif /* XMLSEC_NO_SHA1 */
+#ifndef XMLSEC_NO_SHA256
+ gXmlSecNssFunctions->transformEcdsaSha256GetKlass = xmlSecNssTransformEcdsaSha256GetKlass;
+#endif /* XMLSEC_NO_SHA256 */
+#ifndef XMLSEC_NO_SHA512
+ gXmlSecNssFunctions->transformEcdsaSha512GetKlass = xmlSecNssTransformEcdsaSha512GetKlass;
+#endif /* XMLSEC_NO_SHA512 */
+#endif /* XMLSEC_NO_ECDSA */
+
/******************************* HMAC ********************************/
#ifndef XMLSEC_NO_HMAC
@@ -246,11 +259,7 @@ int
xmlSecNssInit (void) {
/* Check loaded xmlsec library version */
if(xmlSecCheckVersionExact() != 1) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecCheckVersionExact",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecCheckVersionExact", NULL);
return(-1);
}
@@ -259,11 +268,7 @@ xmlSecNssInit (void) {
/* register our klasses */
if(xmlSecCryptoDLFunctionsRegisterKeyDataAndTransforms(xmlSecCryptoGetFunctions_nss()) < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecCryptoDLFunctionsRegisterKeyDataAndTransforms",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecCryptoDLFunctionsRegisterKeyDataAndTransforms", NULL);
return(-1);
}
@@ -303,21 +308,13 @@ xmlSecNssKeysMngrInit(xmlSecKeysMngrPtr mngr) {
x509Store = xmlSecKeyDataStoreCreate(xmlSecNssX509StoreId);
if(x509Store == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecKeyDataStoreCreate",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "xmlSecNssX509StoreId");
+ xmlSecInternalError("xmlSecKeyDataStoreCreate(xmlSecNssX509StoreId)", NULL);
return(-1);
}
ret = xmlSecKeysMngrAdoptDataStore(mngr, x509Store);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecKeysMngrAdoptDataStore",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeysMngrAdoptDataStore", NULL);
xmlSecKeyDataStoreDestroy(x509Store);
return(-1);
}
@@ -342,22 +339,14 @@ xmlSecNssGetInternalKeySlot()
slot = PK11_GetInternalKeySlot();
if (slot == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "PK11_GetInternalKeySlot",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- "error code=%d", PORT_GetError());
+ xmlSecNssError("PK11_GetInternalKeySlot", NULL);
return NULL;
}
if (PK11_NeedUserInit(slot)) {
rv = PK11_InitPin(slot, NULL, NULL);
if (rv != SECSuccess) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "PK11_Authenticate",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNssError("PK11_InitPin", NULL);
return NULL;
}
}
@@ -365,11 +354,8 @@ xmlSecNssGetInternalKeySlot()
if(PK11_IsLoggedIn(slot, NULL) != PR_TRUE) {
rv = PK11_Authenticate(slot, PR_TRUE, NULL);
if (rv != SECSuccess) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "PK11_Authenticate",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNssError2("PK11_Authenticate", NULL,
+ "token=%s", xmlSecErrorsSafeString(PK11_GetTokenName(slot)));
return NULL;
}
}
@@ -396,22 +382,15 @@ xmlSecNssGenerateRandom(xmlSecBufferPtr buffer, xmlSecSize size) {
ret = xmlSecBufferSetSize(buffer, size);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecBufferSetSize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "size=%d", size);
+ xmlSecInternalError2("xmlSecBufferSetSize", NULL, "size=%d", size);
return(-1);
}
/* get random data */
rv = PK11_GenerateRandom((xmlSecByte*)xmlSecBufferGetData(buffer), size);
if(rv != SECSuccess) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "PK11_GenerateRandom",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- "size=%d", size);
+ xmlSecNssError2("PK11_GenerateRandom", NULL,
+ "size=%lu", (unsigned long)size);
return(-1);
}
return(0);
@@ -427,18 +406,11 @@ xmlSecNssGenerateRandom(xmlSecBufferPtr buffer, xmlSecSize size) {
* @reason: the error code.
* @msg: the additional error message.
*
- * The default errors reporting callback function.
+ * The errors reporting callback function. Just a pass through to the default callback.
*/
void
xmlSecNssErrorsDefaultCallback(const char* file, int line, const char* func,
const char* errorObject, const char* errorSubject,
int reason, const char* msg) {
- xmlChar buf[500];
- int err;
-
- err = PORT_GetError();
- xmlSecStrPrintf(buf, sizeof(buf), BAD_CAST "%s;last nss error=%d (0x%08X)", msg, err, err);
- xmlSecErrorsDefaultCallback(file, line, func,
- errorObject, errorSubject,
- reason, (char*)buf);
+ xmlSecErrorsDefaultCallback(file, line, func, errorObject, errorSubject, reason, msg);
}
diff --git a/src/nss/digests.c b/src/nss/digests.c
index 2a81375..e800cbf 100644
--- a/src/nss/digests.c
+++ b/src/nss/digests.c
@@ -1,5 +1,5 @@
-/**
- * XMLSec library
+/*
+ * XML Security Library (http://www.aleksey.com/xmlsec).
*
* This is free software; see Copyright file in the source
* distribution for preciese wording.
@@ -143,30 +143,18 @@ xmlSecNssDigestInitialize(xmlSecTransformPtr transform) {
#endif /* XMLSEC_NO_SHA512 */
if(1) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- NULL,
- XMLSEC_ERRORS_R_INVALID_TRANSFORM,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInvalidTransfromError(transform)
return(-1);
}
if(ctx->digest == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "SECOID_FindOIDByTag",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- "error code=%d", PORT_GetError());
+ xmlSecNssError("SECOID_FindOIDByTag", xmlSecTransformGetName(transform));
return(-1);
}
ctx->digestCtx = PK11_CreateDigestContext(ctx->digest->offset);
if(ctx->digestCtx == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "PK11_CreateDigestContext",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- "error code=%d", PORT_GetError());
+ xmlSecNssError("PK11_CreateDigestContext", xmlSecTransformGetName(transform));
return(-1);
}
@@ -207,22 +195,16 @@ xmlSecNssDigestVerify(xmlSecTransformPtr transform,
xmlSecAssert2(ctx->dgstSize > 0, -1);
if(dataSize != ctx->dgstSize) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- NULL,
- XMLSEC_ERRORS_R_INVALID_DATA,
- "data and digest sizes are different (data=%d, dgst=%d)",
- dataSize, ctx->dgstSize);
+ xmlSecInvalidIntegerDataError2("dataSize", dataSize,
+ "dgstSize", ctx->dgstSize, "dataSize == dgstSize",
+ xmlSecTransformGetName(transform));
transform->status = xmlSecTransformStatusFail;
return(0);
}
if(memcmp(ctx->dgst, data, dataSize) != 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- NULL,
- XMLSEC_ERRORS_R_INVALID_DATA,
- "data and digest do not match");
+ xmlSecInvalidDataError("data and digest do not match",
+ xmlSecTransformGetName(transform));
transform->status = xmlSecTransformStatusFail;
return(0);
}
@@ -253,11 +235,7 @@ xmlSecNssDigestExecute(xmlSecTransformPtr transform, int last, xmlSecTransformCt
if(transform->status == xmlSecTransformStatusNone) {
rv = PK11_DigestBegin(ctx->digestCtx);
if(rv != SECSuccess) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "PK11_DigestBegin",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- "error code=%d", PORT_GetError());
+ xmlSecNssError("PK11_DigestBegin", xmlSecTransformGetName(transform));
return(-1);
}
transform->status = xmlSecTransformStatusWorking;
@@ -270,21 +248,15 @@ xmlSecNssDigestExecute(xmlSecTransformPtr transform, int last, xmlSecTransformCt
if(inSize > 0) {
rv = PK11_DigestOp(ctx->digestCtx, xmlSecBufferGetData(in), inSize);
if (rv != SECSuccess) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "PK11_DigestOp",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- "error code=%d", PORT_GetError());
+ xmlSecNssError("PK11_DigestOp", xmlSecTransformGetName(transform));
return(-1);
}
ret = xmlSecBufferRemoveHead(in, inSize);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecBufferRemoveHead",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "size=%d", inSize);
+ xmlSecInternalError2("xmlSecBufferRemoveHead",
+ xmlSecTransformGetName(transform),
+ "size=%d", inSize);
return(-1);
}
}
@@ -293,11 +265,7 @@ xmlSecNssDigestExecute(xmlSecTransformPtr transform, int last, xmlSecTransformCt
rv = PK11_DigestFinal(ctx->digestCtx, ctx->dgst, &dgstSize, sizeof(ctx->dgst));
if(rv != SECSuccess) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "PK11_DigestFinal",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- "error code=%d", PORT_GetError());
+ xmlSecNssError("PK11_DigestFinal", xmlSecTransformGetName(transform));
return(-1);
}
xmlSecAssert2(dgstSize > 0, -1);
@@ -306,11 +274,9 @@ xmlSecNssDigestExecute(xmlSecTransformPtr transform, int last, xmlSecTransformCt
if(transform->operation == xmlSecTransformOperationSign) {
ret = xmlSecBufferAppend(out, ctx->dgst, ctx->dgstSize);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecBufferAppend",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "size=%d", ctx->dgstSize);
+ xmlSecInternalError2("xmlSecBufferAppend",
+ xmlSecTransformGetName(transform),
+ "size=%d", ctx->dgstSize);
return(-1);
}
}
@@ -320,11 +286,7 @@ xmlSecNssDigestExecute(xmlSecTransformPtr transform, int last, xmlSecTransformCt
/* the only way we can get here is if there is no input */
xmlSecAssert2(xmlSecBufferGetSize(&(transform->inBuf)) == 0, -1);
} else {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- NULL,
- XMLSEC_ERRORS_R_INVALID_STATUS,
- "status=%d", transform->status);
+ xmlSecInvalidTransfromStatusError(transform);
return(-1);
}
diff --git a/src/nss/globals.h b/src/nss/globals.h
index 065c3e8..c3dec2d 100644
--- a/src/nss/globals.h
+++ b/src/nss/globals.h
@@ -21,4 +21,48 @@
#define IN_XMLSEC_CRYPTO
#define XMLSEC_PRIVATE
+/* Include common error helper macros. */
+#include "../errors_helpers.h"
+
+/**
+ * xmlSecNssError:
+ * @errorFunction: the failed function name.
+ * @errorObject: the error specific error object (e.g. transform, key data, etc).
+ *
+ * Macro. The XMLSec library macro for reporting NSS crypro errors.
+ */
+#define xmlSecNssError(errorFunction, errorObject) \
+ { \
+ PRInt32 error_code = PR_GetError(); \
+ xmlSecError(XMLSEC_ERRORS_HERE, \
+ (const char*)(errorObject), \
+ (errorFunction), \
+ XMLSEC_ERRORS_R_CRYPTO_FAILED, \
+ "NSS error: %ld", \
+ (long int)error_code \
+ ); \
+ }
+
+/**
+ * xmlSecNssError2:
+ * @errorFunction: the failed function name.
+ * @errorObject: the error specific error object (e.g. transform, key data, etc).
+ * @msg: the extra message.
+ * @param: the extra message param.
+ *
+ * Macro. The XMLSec library macro for reporting NSS crypro errors.
+ */
+#define xmlSecNssError2(errorFunction, errorObject, msg, param) \
+ { \
+ PRInt32 error_code = PR_GetError(); \
+ xmlSecError(XMLSEC_ERRORS_HERE, \
+ (const char*)(errorObject), \
+ (errorFunction), \
+ XMLSEC_ERRORS_R_CRYPTO_FAILED, \
+ msg "; NSS error: %ld", \
+ (param), \
+ (long int)error_code \
+ ); \
+ }
+
#endif /* ! __XMLSEC_GLOBALS_H__ */
diff --git a/src/nss/hmac.c b/src/nss/hmac.c
index 79fbf40..f5158da 100644
--- a/src/nss/hmac.c
+++ b/src/nss/hmac.c
@@ -1,5 +1,5 @@
-/**
- * XMLSec library
+/*
+ * XML Security Library (http://www.aleksey.com/xmlsec).
*
* This is free software; see Copyright file in the source
* distribution for preciese wording.
@@ -196,11 +196,7 @@ xmlSecNssHmacInitialize(xmlSecTransformPtr transform) {
/* not found */
{
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- NULL,
- XMLSEC_ERRORS_R_INVALID_TRANSFORM,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInvalidTransfromError(transform)
return(-1);
}
return(0);
@@ -272,11 +268,8 @@ xmlSecNssHmacNodeRead(xmlSecTransformPtr transform, xmlNodePtr node, xmlSecTrans
small value
*/
if((int)ctx->dgstSize < xmlSecNssHmacGetMinOutputLength()) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- xmlSecErrorsSafeString(xmlSecNodeGetName(cur)),
- XMLSEC_ERRORS_R_INVALID_NODE_ATTRIBUTE,
- "HMAC output length is too small");
+ xmlSecInvalidNodeContentError(cur, xmlSecTransformGetName(transform),
+ "HMAC output length is too small");
return(-1);
}
@@ -284,11 +277,7 @@ xmlSecNssHmacNodeRead(xmlSecTransformPtr transform, xmlNodePtr node, xmlSecTrans
}
if(cur != NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- xmlSecErrorsSafeString(xmlSecNodeGetName(cur)),
- XMLSEC_ERRORS_R_INVALID_NODE,
- "no nodes expected");
+ xmlSecUnexpectedNodeError(cur, xmlSecTransformGetName(transform));
return(-1);
}
return(0);
@@ -345,11 +334,7 @@ xmlSecNssHmacSetKey(xmlSecTransformPtr transform, xmlSecKeyPtr key) {
xmlSecAssert2(buffer != NULL, -1);
if(xmlSecBufferGetSize(buffer) == 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- NULL,
- XMLSEC_ERRORS_R_INVALID_KEY_DATA_SIZE,
- "key is empty");
+ xmlSecInvalidZeroKeyDataSizeError(xmlSecTransformGetName(transform));
return(-1);
}
@@ -360,33 +345,21 @@ xmlSecNssHmacSetKey(xmlSecTransformPtr transform, xmlSecKeyPtr key) {
slot = PK11_GetBestSlot(ctx->digestType, NULL);
if(slot == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "PK11_GetBestSlot",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNssError("PK11_GetBestSlot", xmlSecTransformGetName(transform));
return(-1);
}
symKey = PK11_ImportSymKey(slot, ctx->digestType, PK11_OriginDerive,
CKA_SIGN, &keyItem, NULL);
if(symKey == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "PK11_ImportSymKey",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- "error code=%d", PORT_GetError());
+ xmlSecNssError("PK11_ImportSymKey", xmlSecTransformGetName(transform));
PK11_FreeSlot(slot);
return(-1);
}
ctx->digestCtx = PK11_CreateContextBySymKey(ctx->digestType, CKA_SIGN, symKey, &ignore);
if(ctx->digestCtx == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "PK11_CreateContextBySymKey",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- "error code=%d", PORT_GetError());
+ xmlSecNssError("PK11_CreateContextBySymKey", xmlSecTransformGetName(transform));
PK11_FreeSymKey(symKey);
PK11_FreeSlot(slot);
return(-1);
@@ -421,12 +394,9 @@ xmlSecNssHmacVerify(xmlSecTransformPtr transform,
/* compare the digest size in bytes */
if(dataSize != ((ctx->dgstSize + 7) / 8)){
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- NULL,
- XMLSEC_ERRORS_R_INVALID_SIZE,
- "data=%d;dgst=%d",
- dataSize, ((ctx->dgstSize + 7) / 8));
+ xmlSecInvalidSizeError("HMAC digest",
+ dataSize, ((ctx->dgstSize + 7) / 8),
+ xmlSecTransformGetName(transform));
transform->status = xmlSecTransformStatusFail;
return(0);
}
@@ -435,22 +405,18 @@ xmlSecNssHmacVerify(xmlSecTransformPtr transform,
xmlSecAssert2(dataSize > 0, -1);
mask = last_byte_masks[ctx->dgstSize % 8];
if((ctx->dgst[dataSize - 1] & mask) != (data[dataSize - 1] & mask)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- NULL,
- XMLSEC_ERRORS_R_DATA_NOT_MATCH,
- "data and digest do not match (last byte)");
+ xmlSecOtherError(XMLSEC_ERRORS_R_DATA_NOT_MATCH,
+ xmlSecTransformGetName(transform),
+ "data and digest do not match (last byte)");
transform->status = xmlSecTransformStatusFail;
return(0);
}
/* now check the rest of the digest */
if((dataSize > 1) && (memcmp(ctx->dgst, data, dataSize - 1) != 0)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- NULL,
- XMLSEC_ERRORS_R_DATA_NOT_MATCH,
- "data and digest do not match");
+ xmlSecOtherError(XMLSEC_ERRORS_R_DATA_NOT_MATCH,
+ xmlSecTransformGetName(transform),
+ "data and digest do not match");
transform->status = xmlSecTransformStatusFail;
return(0);
}
@@ -481,11 +447,7 @@ xmlSecNssHmacExecute(xmlSecTransformPtr transform, int last, xmlSecTransformCtxP
if(transform->status == xmlSecTransformStatusNone) {
rv = PK11_DigestBegin(ctx->digestCtx);
if(rv != SECSuccess) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "PK11_DigestBegin",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- "error code=%d", PORT_GetError());
+ xmlSecNssError("PK11_DigestBegin", xmlSecTransformGetName(transform));
return(-1);
}
transform->status = xmlSecTransformStatusWorking;
@@ -498,21 +460,15 @@ xmlSecNssHmacExecute(xmlSecTransformPtr transform, int last, xmlSecTransformCtxP
if(inSize > 0) {
rv = PK11_DigestOp(ctx->digestCtx, xmlSecBufferGetData(in), inSize);
if (rv != SECSuccess) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "PK11_DigestOp",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- "error code=%d", PORT_GetError());
+ xmlSecNssError("PK11_DigestOp", xmlSecTransformGetName(transform));
return(-1);
}
ret = xmlSecBufferRemoveHead(in, inSize);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecBufferRemoveHead",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "size=%d", inSize);
+ xmlSecInternalError2("xmlSecBufferRemoveHead",
+ xmlSecTransformGetName(transform),
+ "size=%d", inSize);
return(-1);
}
}
@@ -521,11 +477,7 @@ xmlSecNssHmacExecute(xmlSecTransformPtr transform, int last, xmlSecTransformCtxP
rv = PK11_DigestFinal(ctx->digestCtx, ctx->dgst, &dgstSize, sizeof(ctx->dgst));
if(rv != SECSuccess) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "PK11_DigestFinal",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- "error code=%d", PORT_GetError());
+ xmlSecNssError("PK11_DigestFinal", xmlSecTransformGetName(transform));
return(-1);
}
xmlSecAssert2(dgstSize > 0, -1);
@@ -536,23 +488,18 @@ xmlSecNssHmacExecute(xmlSecTransformPtr transform, int last, xmlSecTransformCtxP
} else if(ctx->dgstSize <= XMLSEC_SIZE_BAD_CAST(8 * dgstSize)) {
dgstSize = ((ctx->dgstSize + 7) / 8); /* we need to truncate result digest */
} else {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- NULL,
- XMLSEC_ERRORS_R_INVALID_SIZE,
- "result-bits=%d;required-bits=%d",
- 8 * dgstSize, ctx->dgstSize);
+ xmlSecInvalidSizeLessThanError("HMAC digest (bits)",
+ 8 * dgstSize, ctx->dgstSize,
+ xmlSecTransformGetName(transform));
return(-1);
}
if(transform->operation == xmlSecTransformOperationSign) {
ret = xmlSecBufferAppend(out, ctx->dgst, dgstSize);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecBufferAppend",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "size=%d", dgstSize);
+ xmlSecInternalError2("xmlSecBufferAppend",
+ xmlSecTransformGetName(transform),
+ "size=%d", dgstSize);
return(-1);
}
}
@@ -562,11 +509,7 @@ xmlSecNssHmacExecute(xmlSecTransformPtr transform, int last, xmlSecTransformCtxP
/* the only way we can get here is if there is no input */
xmlSecAssert2(xmlSecBufferGetSize(&(transform->inBuf)) == 0, -1);
} else {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- NULL,
- XMLSEC_ERRORS_R_INVALID_STATUS,
- "size=%d", transform->status);
+ xmlSecInvalidTransfromStatusError(transform);
return(-1);
}
diff --git a/src/nss/keysstore.c b/src/nss/keysstore.c
index 057fc45..0976e4a 100644
--- a/src/nss/keysstore.c
+++ b/src/nss/keysstore.c
@@ -1,5 +1,5 @@
-/**
- * XMLSec library
+/*
+ * XML Security Library (http://www.aleksey.com/xmlsec).
*
* Nss keys store that uses Simple Keys Store under the hood. Uses the
* Nss DB as a backing store for the finding keys, but the NSS DB is
@@ -139,22 +139,14 @@ xmlSecNssKeysStoreLoad(xmlSecKeyStorePtr store, const char *uri,
doc = xmlParseFile(uri);
if(doc == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyStoreGetName(store)),
- "xmlParseFile",
- XMLSEC_ERRORS_R_XML_FAILED,
- "uri=%s",
- xmlSecErrorsSafeString(uri));
+ xmlSecXmlError2("xmlParseFile", xmlSecKeyStoreGetName(store),
+ "uri=%s", xmlSecErrorsSafeString(uri));
return(-1);
}
root = xmlDocGetRootElement(doc);
if(!xmlSecCheckNodeName(root, BAD_CAST "Keys", xmlSecNs)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyStoreGetName(store)),
- xmlSecErrorsSafeString(xmlSecNodeGetName(root)),
- XMLSEC_ERRORS_R_INVALID_NODE,
- "expected-node=<xmlsec:Keys>");
+ xmlSecInvalidNodeError(root, BAD_CAST "Keys", xmlSecKeyStoreGetName(store));
xmlFreeDoc(doc);
return(-1);
}
@@ -163,23 +155,16 @@ xmlSecNssKeysStoreLoad(xmlSecKeyStorePtr store, const char *uri,
while((cur != NULL) && xmlSecCheckNodeName(cur, xmlSecNodeKeyInfo, xmlSecDSigNs)) {
key = xmlSecKeyCreate();
if(key == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyStoreGetName(store)),
- xmlSecErrorsSafeString(xmlSecNodeGetName(cur)),
- XMLSEC_ERRORS_R_INVALID_NODE,
- "expected-node=%s",
- xmlSecErrorsSafeString(xmlSecNodeKeyInfo));
+ xmlSecInternalError("xmlSecKeyCreate",
+ xmlSecKeyStoreGetName(store));
xmlFreeDoc(doc);
return(-1);
}
ret = xmlSecKeyInfoCtxInitialize(&keyInfoCtx, NULL);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyStoreGetName(store)),
- "xmlSecKeyInfoCtxInitialize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeyInfoCtxInitialize",
+ xmlSecKeyStoreGetName(store));
xmlSecKeyDestroy(key);
xmlFreeDoc(doc);
return(-1);
@@ -195,11 +180,8 @@ xmlSecNssKeysStoreLoad(xmlSecKeyStorePtr store, const char *uri,
ret = xmlSecKeyInfoNodeRead(cur, key, &keyInfoCtx);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyStoreGetName(store)),
- "xmlSecKeyInfoNodeRead",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeyInfoNodeRead",
+ xmlSecKeyStoreGetName(store));
xmlSecKeyInfoCtxFinalize(&keyInfoCtx);
xmlSecKeyDestroy(key);
xmlFreeDoc(doc);
@@ -210,11 +192,8 @@ xmlSecNssKeysStoreLoad(xmlSecKeyStorePtr store, const char *uri,
if(xmlSecKeyIsValid(key)) {
ret = xmlSecNssKeysStoreAdoptKey(store, key);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyStoreGetName(store)),
- "xmlSecNssKeysStoreAdoptKey",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecNssKeysStoreAdoptKey",
+ xmlSecKeyStoreGetName(store));
xmlSecKeyDestroy(key);
xmlFreeDoc(doc);
return(-1);
@@ -227,11 +206,7 @@ xmlSecNssKeysStoreLoad(xmlSecKeyStorePtr store, const char *uri,
}
if(cur != NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyStoreGetName(store)),
- xmlSecErrorsSafeString(xmlSecNodeGetName(cur)),
- XMLSEC_ERRORS_R_UNEXPECTED_NODE,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecUnexpectedNodeError(cur, xmlSecKeyStoreGetName(store));
xmlFreeDoc(doc);
return(-1);
}
@@ -275,11 +250,8 @@ xmlSecNssKeysStoreInitialize(xmlSecKeyStorePtr store) {
*ss = xmlSecKeyStoreCreate(xmlSecSimpleKeysStoreId);
if(*ss == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyStoreGetName(store)),
- "xmlSecKeyStoreCreate",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "xmlSecSimpleKeysStoreId");
+ xmlSecInternalError("xmlSecKeyStoreCreate(xmlSecSimpleKeysStoreId)",
+ xmlSecKeyStoreGetName(store));
return(-1);
}
@@ -346,11 +318,7 @@ xmlSecNssKeysStoreFindKey(xmlSecKeyStorePtr store, const xmlChar* name,
if (keyReq->keyType & xmlSecKeyDataTypePublic) {
pubkey = CERT_ExtractPublicKey(cert);
if (pubkey == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "CERT_ExtractPublicKey",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNssError("CERT_ExtractPublicKey", NULL);
goto done;
}
}
@@ -358,22 +326,14 @@ xmlSecNssKeysStoreFindKey(xmlSecKeyStorePtr store, const xmlChar* name,
if (keyReq->keyType & xmlSecKeyDataTypePrivate) {
privkey = PK11_FindKeyByAnyCert(cert, NULL);
if (privkey == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "PK11_FindKeyByAnyCert",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNssError("PK11_FindKeyByAnyCert", NULL);
goto done;
}
}
data = xmlSecNssPKIAdoptKey(privkey, pubkey);
if(data == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecNssPKIAdoptKey",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecNssPKIAdoptKey", NULL);
goto done;
}
privkey = NULL;
@@ -381,78 +341,50 @@ xmlSecNssKeysStoreFindKey(xmlSecKeyStorePtr store, const xmlChar* name,
key = xmlSecKeyCreate();
if (key == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecKeyCreate",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeyCreate", NULL);
return (NULL);
}
x509Data = xmlSecKeyDataCreate(xmlSecNssKeyDataX509Id);
if(x509Data == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecKeyDataCreate",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "transform=%s",
- xmlSecErrorsSafeString(xmlSecTransformKlassGetName(xmlSecNssKeyDataX509Id)));
+ xmlSecInternalError("xmlSecKeyDataCreate",
+ xmlSecTransformKlassGetName(xmlSecNssKeyDataX509Id));
goto done;
}
ret = xmlSecNssKeyDataX509AdoptKeyCert(x509Data, cert);
if (ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecNssKeyDataX509AdoptKeyCert",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "data=%s",
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(x509Data)));
+ xmlSecInternalError("xmlSecNssKeyDataX509AdoptKeyCert",
+ xmlSecKeyDataGetName(x509Data));
goto done;
}
cert = CERT_DupCertificate(cert);
if (cert == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "CERT_DupCertificate",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- "data=%s",
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(x509Data)));
+ xmlSecNssError("CERT_DupCertificate",
+ xmlSecKeyDataGetName(x509Data));
goto done;
}
ret = xmlSecNssKeyDataX509AdoptCert(x509Data, cert);
if (ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecNssKeyDataX509AdoptCert",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "data=%s",
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(x509Data)));
+ xmlSecInternalError("xmlSecNssKeyDataX509AdoptCert",
+ xmlSecKeyDataGetName(x509Data));
goto done;
}
cert = NULL;
ret = xmlSecKeySetValue(key, data);
if (ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecKeySetValue",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "data=%s",
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)));
+ xmlSecInternalError("xmlSecKeySetValue",
+ xmlSecKeyDataGetName(data));
goto done;
}
data = NULL;
ret = xmlSecKeyAdoptData(key, x509Data);
if (ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecKeyAdoptData",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "data=%s",
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(x509Data)));
+ xmlSecInternalError("xmlSecKeyAdoptData",
+ xmlSecKeyDataGetName(x509Data));
goto done;
}
x509Data = NULL;
diff --git a/src/nss/keytrans.c b/src/nss/keytrans.c
index d84593b..dd5a442 100644
--- a/src/nss/keytrans.c
+++ b/src/nss/keytrans.c
@@ -1,6 +1,5 @@
-/**
- *
- * XMLSec library
+/*
+ * XML Security Library (http://www.aleksey.com/xmlsec).
*
* AES Algorithm support
*
@@ -39,17 +38,17 @@ typedef struct _xmlSecNssKeyTransportCtx xmlSecNssKeyTran
typedef struct _xmlSecNssKeyTransportCtx* xmlSecNssKeyTransportCtxPtr;
#define xmlSecNssKeyTransportSize \
- ( sizeof( xmlSecTransform ) + sizeof( xmlSecNssKeyTransportCtx ) )
-#define xmlSecNssKeyTransportGetCtx( transform ) \
- ( ( xmlSecNssKeyTransportCtxPtr )( ( ( xmlSecByte* )( transform ) ) + sizeof( xmlSecTransform ) ) )
+ (sizeof(xmlSecTransform) + sizeof(xmlSecNssKeyTransportCtx))
+#define xmlSecNssKeyTransportGetCtx(transform) \
+ ((xmlSecNssKeyTransportCtxPtr)(((xmlSecByte*)(transform)) + sizeof(xmlSecTransform)))
struct _xmlSecNssKeyTransportCtx {
- CK_MECHANISM_TYPE cipher ;
- SECKEYPublicKey* pubkey ;
- SECKEYPrivateKey* prikey ;
- xmlSecKeyDataId keyId ;
- xmlSecBufferPtr material ; /* to be encrypted/decrypted material */
-} ;
+ CK_MECHANISM_TYPE cipher;
+ SECKEYPublicKey* pubkey;
+ SECKEYPrivateKey* prikey;
+ xmlSecKeyDataId keyId;
+ xmlSecBufferPtr material; /* to be encrypted/decrypted material */
+};
static int xmlSecNssKeyTransportInitialize (xmlSecTransformPtr transform);
static void xmlSecNssKeyTransportFinalize (xmlSecTransformPtr transform);
@@ -89,12 +88,12 @@ xmlSecNssKeyTransportCheckId(xmlSecTransformPtr transform) {
static int
xmlSecNssKeyTransportInitialize(xmlSecTransformPtr transform) {
- xmlSecNssKeyTransportCtxPtr context ;
+ xmlSecNssKeyTransportCtxPtr context;
xmlSecAssert2(xmlSecNssKeyTransportCheckId(transform), -1);
xmlSecAssert2(xmlSecTransformCheckSize(transform, xmlSecNssKeyTransportSize), -1);
- context = xmlSecNssKeyTransportGetCtx( transform ) ;
- xmlSecAssert2( context != NULL , -1 ) ;
+ context = xmlSecNssKeyTransportGetCtx(transform);
+ xmlSecAssert2(context != NULL, -1);
/* initialize context */
memset(context, 0, sizeof(xmlSecNssKeyTransportCtx));
@@ -122,11 +121,7 @@ xmlSecNssKeyTransportInitialize(xmlSecTransformPtr transform) {
/* not found */
{
- xmlSecError(XMLSEC_ERRORS_HERE ,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- NULL ,
- XMLSEC_ERRORS_R_CRYPTO_FAILED ,
- XMLSEC_ERRORS_NO_MESSAGE ) ;
+ xmlSecNotImplementedError(xmlSecErrorsSafeString(xmlSecTransformGetName(transform)));
return(-1);
}
@@ -135,43 +130,43 @@ xmlSecNssKeyTransportInitialize(xmlSecTransformPtr transform) {
static void
xmlSecNssKeyTransportFinalize(xmlSecTransformPtr transform) {
- xmlSecNssKeyTransportCtxPtr context ;
+ xmlSecNssKeyTransportCtxPtr context;
xmlSecAssert(xmlSecNssKeyTransportCheckId(transform));
xmlSecAssert(xmlSecTransformCheckSize(transform, xmlSecNssKeyTransportSize));
- context = xmlSecNssKeyTransportGetCtx( transform ) ;
- xmlSecAssert( context != NULL ) ;
+ context = xmlSecNssKeyTransportGetCtx(transform);
+ xmlSecAssert(context != NULL);
- if( context->pubkey != NULL ) {
- SECKEY_DestroyPublicKey( context->pubkey ) ;
- context->pubkey = NULL ;
+ if(context->pubkey != NULL) {
+ SECKEY_DestroyPublicKey(context->pubkey);
+ context->pubkey = NULL;
}
- if( context->prikey != NULL ) {
- SECKEY_DestroyPrivateKey( context->prikey ) ;
- context->prikey = NULL ;
+ if(context->prikey != NULL) {
+ SECKEY_DestroyPrivateKey(context->prikey);
+ context->prikey = NULL;
}
- if( context->material != NULL ) {
+ if(context->material != NULL) {
xmlSecBufferDestroy(context->material);
- context->material = NULL ;
+ context->material = NULL;
}
}
static int
xmlSecNssKeyTransportSetKeyReq(xmlSecTransformPtr transform, xmlSecKeyReqPtr keyReq) {
- xmlSecNssKeyTransportCtxPtr context ;
+ xmlSecNssKeyTransportCtxPtr context;
xmlSecAssert2(xmlSecNssKeyTransportCheckId(transform), -1);
xmlSecAssert2(xmlSecTransformCheckSize(transform, xmlSecNssKeyTransportSize), -1);
xmlSecAssert2((transform->operation == xmlSecTransformOperationEncrypt) || (transform->operation == xmlSecTransformOperationDecrypt), -1);
xmlSecAssert2(keyReq != NULL, -1);
- context = xmlSecNssKeyTransportGetCtx( transform ) ;
- xmlSecAssert2( context != NULL , -1 ) ;
+ context = xmlSecNssKeyTransportGetCtx(transform);
+ xmlSecAssert2(context != NULL, -1);
- keyReq->keyId = context->keyId;
+ keyReq->keyId = context->keyId;
if(transform->operation == xmlSecTransformOperationEncrypt) {
keyReq->keyUsage = xmlSecKeyUsageEncrypt;
keyReq->keyType = xmlSecKeyDataTypePublic;
@@ -185,480 +180,373 @@ xmlSecNssKeyTransportSetKeyReq(xmlSecTransformPtr transform, xmlSecKeyReqPtr ke
static int
xmlSecNssKeyTransportSetKey(xmlSecTransformPtr transform, xmlSecKeyPtr key) {
- xmlSecNssKeyTransportCtxPtr context = NULL ;
- xmlSecKeyDataPtr keyData = NULL ;
- SECKEYPublicKey* pubkey = NULL ;
- SECKEYPrivateKey* prikey = NULL ;
+ xmlSecNssKeyTransportCtxPtr context = NULL;
+ xmlSecKeyDataPtr keyData = NULL;
+ SECKEYPublicKey* pubkey = NULL;
+ SECKEYPrivateKey* prikey = NULL;
xmlSecAssert2(xmlSecNssKeyTransportCheckId(transform), -1);
xmlSecAssert2(xmlSecTransformCheckSize(transform, xmlSecNssKeyTransportSize), -1);
xmlSecAssert2((transform->operation == xmlSecTransformOperationEncrypt) || (transform->operation == xmlSecTransformOperationDecrypt), -1);
xmlSecAssert2(key != NULL, -1);
- context = xmlSecNssKeyTransportGetCtx( transform ) ;
- if( (context == NULL) || (context->keyId == NULL) || (context->pubkey != NULL) ) {
- xmlSecError( XMLSEC_ERRORS_HERE ,
- xmlSecErrorsSafeString( xmlSecTransformGetName( transform ) ) ,
- "xmlSecNssKeyTransportGetCtx" ,
- XMLSEC_ERRORS_R_CRYPTO_FAILED ,
- XMLSEC_ERRORS_NO_MESSAGE ) ;
+ context = xmlSecNssKeyTransportGetCtx(transform);
+ if((context == NULL) || (context->keyId == NULL) || (context->pubkey != NULL)) {
+ xmlSecInternalError("xmlSecNssKeyTransportGetCtx", xmlSecTransformGetName(transform));
return(-1);
}
- xmlSecAssert2( xmlSecKeyCheckId( key, context->keyId ), -1 ) ;
-
- keyData = xmlSecKeyGetValue( key ) ;
- if( keyData == NULL ) {
- xmlSecError( XMLSEC_ERRORS_HERE ,
- xmlSecErrorsSafeString( xmlSecKeyGetName( key ) ) ,
- "xmlSecKeyGetValue" ,
- XMLSEC_ERRORS_R_CRYPTO_FAILED ,
- XMLSEC_ERRORS_NO_MESSAGE ) ;
+ xmlSecAssert2(xmlSecKeyCheckId(key, context->keyId), -1);
+
+ keyData = xmlSecKeyGetValue(key);
+ if(keyData == NULL) {
+ xmlSecInternalError("xmlSecKeyGetValue", xmlSecTransformGetName(transform));
return(-1);
}
if(transform->operation == xmlSecTransformOperationEncrypt) {
- if( ( pubkey = xmlSecNssPKIKeyDataGetPubKey( keyData ) ) == NULL ) {
- xmlSecError( XMLSEC_ERRORS_HERE ,
- xmlSecErrorsSafeString( xmlSecKeyDataGetName( keyData ) ) ,
- "xmlSecNssPKIKeyDataGetPubKey" ,
- XMLSEC_ERRORS_R_CRYPTO_FAILED ,
- XMLSEC_ERRORS_NO_MESSAGE ) ;
- return(-1);
+ pubkey = xmlSecNssPKIKeyDataGetPubKey(keyData);
+ if(pubkey == NULL) {
+ xmlSecInternalError("xmlSecNssPKIKeyDataGetPubKey", xmlSecKeyDataGetName(keyData));
+ return(-1);
}
-
- context->pubkey = pubkey ;
+ context->pubkey = pubkey;
} else {
- if( ( prikey = xmlSecNssPKIKeyDataGetPrivKey( keyData ) ) == NULL ) {
- xmlSecError( XMLSEC_ERRORS_HERE ,
- xmlSecErrorsSafeString( xmlSecKeyDataGetName( keyData ) ) ,
- "xmlSecNssPKIKeyDataGetPrivKey" ,
- XMLSEC_ERRORS_R_CRYPTO_FAILED ,
- XMLSEC_ERRORS_NO_MESSAGE ) ;
- return(-1);
+ prikey = xmlSecNssPKIKeyDataGetPrivKey(keyData);
+ if(prikey == NULL) {
+ xmlSecInternalError("xmlSecNssPKIKeyDataGetPrivKey", xmlSecKeyDataGetName(keyData));
+ return(-1);
}
-
- context->prikey = prikey ;
+ context->prikey = prikey;
}
- return(0) ;
+ /* done */
+ return(0);
}
static int
-xmlSecNssKeyTransportCtxInit(
- xmlSecNssKeyTransportCtxPtr ctx ,
- xmlSecBufferPtr in ,
- xmlSecBufferPtr out ,
- int encrypt ,
- xmlSecTransformCtxPtr transformCtx
-) {
- int blockSize ;
-
- xmlSecAssert2( ctx != NULL , -1 ) ;
- xmlSecAssert2( ctx->cipher != CKM_INVALID_MECHANISM , -1 ) ;
- xmlSecAssert2( ( ctx->pubkey != NULL && encrypt ) || ( ctx->prikey != NULL && !encrypt ), -1 ) ;
- xmlSecAssert2( ctx->keyId != NULL , -1 ) ;
- xmlSecAssert2( in != NULL , -1 ) ;
- xmlSecAssert2( out != NULL , -1 ) ;
- xmlSecAssert2( transformCtx != NULL , -1 ) ;
-
- if( ctx->material != NULL ) {
- xmlSecBufferDestroy( ctx->material ) ;
- ctx->material = NULL ;
- }
+xmlSecNssKeyTransportCtxInit(xmlSecNssKeyTransportCtxPtr ctx, xmlSecBufferPtr in, xmlSecBufferPtr out,
+ int encrypt, xmlSecTransformCtxPtr transformCtx) {
+ int blockSize;
+
+ xmlSecAssert2(ctx != NULL, -1);
+ xmlSecAssert2(ctx->cipher != CKM_INVALID_MECHANISM, -1);
+ xmlSecAssert2((ctx->pubkey != NULL && encrypt) || (ctx->prikey != NULL && !encrypt), -1);
+ xmlSecAssert2(ctx->keyId != NULL, -1);
+ xmlSecAssert2(in != NULL, -1);
+ xmlSecAssert2(out != NULL, -1);
+ xmlSecAssert2(transformCtx != NULL, -1);
+
+ if(ctx->material != NULL) {
+ xmlSecBufferDestroy(ctx->material);
+ ctx->material = NULL;
+ }
- if( ctx->pubkey != NULL ) {
- blockSize = SECKEY_PublicKeyStrength( ctx->pubkey ) ;
- } else if( ctx->prikey != NULL ) {
- blockSize = PK11_SignatureLen( ctx->prikey ) ;
- } else {
- blockSize = -1 ;
+ if(ctx->pubkey != NULL) {
+ blockSize = SECKEY_PublicKeyStrength(ctx->pubkey);
+ if(blockSize <= 0) {
+ xmlSecNssError("SECKEY_PublicKeyStrength", NULL);
+ return(-1);
}
-
- if( blockSize < 0 ) {
- xmlSecError( XMLSEC_ERRORS_HERE ,
- NULL ,
- NULL ,
- XMLSEC_ERRORS_R_CRYPTO_FAILED ,
- XMLSEC_ERRORS_NO_MESSAGE ) ;
- return(-1);
+ } else if(ctx->prikey != NULL) {
+ blockSize = PK11_SignatureLen(ctx->prikey);
+ if(blockSize <= 0) {
+ xmlSecNssError("PK11_SignatureLen", NULL);
+ return(-1);
}
+ } else {
+ xmlSecOtherError(XMLSEC_ERRORS_R_KEY_NOT_FOUND, NULL,
+ "neither public or private keys are set");
+ return(-1);
+ }
- ctx->material = xmlSecBufferCreate( blockSize ) ;
- if( ctx->material == NULL ) {
- xmlSecError( XMLSEC_ERRORS_HERE ,
- NULL ,
- "xmlSecBufferCreate" ,
- XMLSEC_ERRORS_R_CRYPTO_FAILED ,
- XMLSEC_ERRORS_NO_MESSAGE ) ;
- return(-1);
- }
+ ctx->material = xmlSecBufferCreate(blockSize);
+ if(ctx->material == NULL) {
+ xmlSecInternalError2("xmlSecBufferSetData", NULL,
+ "size=%lu", (long unsigned)blockSize);
+ return(-1);
+ }
- /* read raw key material into context */
- if( xmlSecBufferSetData( ctx->material, xmlSecBufferGetData(in), xmlSecBufferGetSize(in) ) < 0 ) {
- xmlSecError( XMLSEC_ERRORS_HERE ,
- NULL ,
- "xmlSecBufferSetData" ,
- XMLSEC_ERRORS_R_CRYPTO_FAILED ,
- XMLSEC_ERRORS_NO_MESSAGE ) ;
- return(-1);
- }
+ /* read raw key material into context */
+ if(xmlSecBufferSetData(ctx->material, xmlSecBufferGetData(in), xmlSecBufferGetSize(in)) < 0) {
+ xmlSecInternalError2("xmlSecBufferSetData", NULL,
+ "size=%lu", (long unsigned)xmlSecBufferGetSize(in));
+ return(-1);
+ }
- if( xmlSecBufferRemoveHead( in , xmlSecBufferGetSize(in) ) < 0 ) {
- xmlSecError( XMLSEC_ERRORS_HERE ,
- NULL ,
- "xmlSecBufferRemoveHead" ,
- XMLSEC_ERRORS_R_CRYPTO_FAILED ,
- XMLSEC_ERRORS_NO_MESSAGE ) ;
- return(-1);
- }
+ if(xmlSecBufferRemoveHead(in, xmlSecBufferGetSize(in)) < 0) {
+ xmlSecInternalError2("xmlSecBufferRemoveHead", NULL,
+ "size=%lu", (long unsigned)xmlSecBufferGetSize(in));
+ return(-1);
+ }
- return(0);
+ return(0);
}
static int
-xmlSecNssKeyTransportCtxUpdate(
- xmlSecNssKeyTransportCtxPtr ctx ,
- xmlSecBufferPtr in ,
- xmlSecBufferPtr out ,
- int encrypt ,
- xmlSecTransformCtxPtr transformCtx
-) {
- xmlSecAssert2( ctx != NULL , -1 ) ;
- xmlSecAssert2( ctx->cipher != CKM_INVALID_MECHANISM , -1 ) ;
- xmlSecAssert2( ( ctx->pubkey != NULL && encrypt ) || ( ctx->prikey != NULL && !encrypt ), -1 ) ;
- xmlSecAssert2( ctx->keyId != NULL , -1 ) ;
- xmlSecAssert2( ctx->material != NULL , -1 ) ;
- xmlSecAssert2( in != NULL , -1 ) ;
- xmlSecAssert2( out != NULL , -1 ) ;
- xmlSecAssert2( transformCtx != NULL , -1 ) ;
-
- /* read raw key material and append into context */
- if( xmlSecBufferAppend( ctx->material, xmlSecBufferGetData(in), xmlSecBufferGetSize(in) ) < 0 ) {
- xmlSecError( XMLSEC_ERRORS_HERE ,
- NULL ,
- "xmlSecBufferAppend" ,
- XMLSEC_ERRORS_R_CRYPTO_FAILED ,
- XMLSEC_ERRORS_NO_MESSAGE ) ;
- return(-1);
- }
-
- if( xmlSecBufferRemoveHead( in , xmlSecBufferGetSize(in) ) < 0 ) {
- xmlSecError( XMLSEC_ERRORS_HERE ,
- NULL ,
- "xmlSecBufferRemoveHead" ,
- XMLSEC_ERRORS_R_CRYPTO_FAILED ,
- XMLSEC_ERRORS_NO_MESSAGE ) ;
- return(-1);
- }
+xmlSecNssKeyTransportCtxUpdate(xmlSecNssKeyTransportCtxPtr ctx, xmlSecBufferPtr in, xmlSecBufferPtr out,
+ int encrypt, xmlSecTransformCtxPtr transformCtx) {
+ xmlSecAssert2(ctx != NULL, -1);
+ xmlSecAssert2(ctx->cipher != CKM_INVALID_MECHANISM, -1);
+ xmlSecAssert2((ctx->pubkey != NULL && encrypt) || (ctx->prikey != NULL && !encrypt), -1);
+ xmlSecAssert2(ctx->keyId != NULL, -1);
+ xmlSecAssert2(ctx->material != NULL, -1);
+ xmlSecAssert2(in != NULL, -1);
+ xmlSecAssert2(out != NULL, -1);
+ xmlSecAssert2(transformCtx != NULL, -1);
+
+ /* read raw key material and append into context */
+ if(xmlSecBufferAppend(ctx->material, xmlSecBufferGetData(in), xmlSecBufferGetSize(in)) < 0) {
+ xmlSecInternalError2("xmlSecBufferAppend", NULL,
+ "size=%lu", (long unsigned)xmlSecBufferGetSize(in));
+ return(-1);
+ }
- return(0);
+ if(xmlSecBufferRemoveHead(in, xmlSecBufferGetSize(in)) < 0) {
+ xmlSecInternalError2("xmlSecBufferRemoveHead", NULL,
+ "size=%lu", (long unsigned)xmlSecBufferGetSize(in));
+ return(-1);
+ }
+ return(0);
}
static int
-xmlSecNssKeyTransportCtxFinal(xmlSecNssKeyTransportCtxPtr ctx, xmlSecBufferPtr in, xmlSecBufferPtr out,
+xmlSecNssKeyTransportCtxFinal(xmlSecNssKeyTransportCtxPtr ctx, xmlSecBufferPtr in, xmlSecBufferPtr out,
int encrypt, xmlSecTransformCtxPtr transformCtx) {
- PK11SymKey* symKey ;
- PK11SlotInfo* slot ;
- SECItem oriskv ;
- int blockSize ;
- xmlSecBufferPtr result ;
-
- xmlSecAssert2( ctx != NULL , -1 ) ;
- xmlSecAssert2( ctx->cipher != CKM_INVALID_MECHANISM , -1 ) ;
- xmlSecAssert2( ( ctx->pubkey != NULL && encrypt ) || ( ctx->prikey != NULL && !encrypt ), -1 ) ;
- xmlSecAssert2( ctx->keyId != NULL , -1 ) ;
- xmlSecAssert2( ctx->material != NULL , -1 ) ;
- xmlSecAssert2( in != NULL , -1 ) ;
- xmlSecAssert2( out != NULL , -1 ) ;
- xmlSecAssert2( transformCtx != NULL , -1 ) ;
-
- /* read raw key material and append into context */
- if( xmlSecBufferAppend( ctx->material, xmlSecBufferGetData(in), xmlSecBufferGetSize(in) ) < 0 ) {
- xmlSecError( XMLSEC_ERRORS_HERE ,
- NULL ,
- "xmlSecBufferAppend" ,
- XMLSEC_ERRORS_R_CRYPTO_FAILED ,
- XMLSEC_ERRORS_NO_MESSAGE ) ;
- return(-1);
+ PK11SymKey* symKey;
+ PK11SlotInfo* slot;
+ SECItem oriskv;
+ int blockSize;
+ xmlSecBufferPtr result;
+
+ xmlSecAssert2(ctx != NULL, -1);
+ xmlSecAssert2(ctx->cipher != CKM_INVALID_MECHANISM, -1);
+ xmlSecAssert2((ctx->pubkey != NULL && encrypt) || (ctx->prikey != NULL && !encrypt), -1);
+ xmlSecAssert2(ctx->keyId != NULL, -1);
+ xmlSecAssert2(ctx->material != NULL, -1);
+ xmlSecAssert2(in != NULL, -1);
+ xmlSecAssert2(out != NULL, -1);
+ xmlSecAssert2(transformCtx != NULL, -1);
+
+ /* read raw key material and append into context */
+ if(xmlSecBufferAppend(ctx->material, xmlSecBufferGetData(in), xmlSecBufferGetSize(in)) < 0) {
+ xmlSecInternalError2("xmlSecBufferAppend", NULL,
+ "size=%lu", (unsigned long)xmlSecBufferGetSize(in));
+ return(-1);
+ }
+
+ if(xmlSecBufferRemoveHead(in, xmlSecBufferGetSize(in)) < 0) {
+ xmlSecInternalError2("xmlSecBufferRemoveHead", NULL,
+ "size=%lu", (unsigned long)xmlSecBufferGetSize(in));
+ return(-1);
+ }
+
+ /* Now we get all of the key materail */
+ /* from now on we will wrap or unwrap the key */
+ if(ctx->pubkey != NULL) {
+ blockSize = SECKEY_PublicKeyStrength(ctx->pubkey);
+ if(blockSize <= 0) {
+ xmlSecNssError("SECKEY_PublicKeyStrength", NULL);
+ return(-1);
}
+ } else if(ctx->prikey != NULL) {
+ blockSize = PK11_SignatureLen(ctx->prikey);
+ if(blockSize <= 0) {
+ xmlSecNssError("PK11_SignatureLen", NULL);
+ return(-1);
+ }
+ } else {
+ xmlSecOtherError(XMLSEC_ERRORS_R_KEY_NOT_FOUND, NULL,
+ "neither public or private keys are set");
+ return(-1);
+ }
+
+ result = xmlSecBufferCreate(blockSize * 2);
+ if(result == NULL) {
+ xmlSecInternalError("xmlSecBufferCreate", NULL);
+ return(-1);
+ }
+
+ oriskv.type = siBuffer;
+ oriskv.data = xmlSecBufferGetData(ctx->material);
+ oriskv.len = xmlSecBufferGetSize(ctx->material);
+
+ if(encrypt != 0) {
+ CK_OBJECT_HANDLE id;
+ SECItem wrpskv;
- if( xmlSecBufferRemoveHead( in , xmlSecBufferGetSize(in) ) < 0 ) {
- xmlSecError( XMLSEC_ERRORS_HERE ,
- NULL ,
- "xmlSecBufferRemoveHead" ,
- XMLSEC_ERRORS_R_CRYPTO_FAILED ,
- XMLSEC_ERRORS_NO_MESSAGE ) ;
+ /* Create template symmetric key from material */
+ slot = ctx->pubkey->pkcs11Slot;
+ if(slot == NULL) {
+ slot = PK11_GetBestSlot(ctx->cipher, NULL);
+ if(slot == NULL) {
+ xmlSecNssError("PK11_GetBestSlot", NULL);
+ xmlSecBufferDestroy(result);
return(-1);
+ }
+
+ id = PK11_ImportPublicKey(slot, ctx->pubkey, PR_FALSE);
+ if(id == CK_INVALID_HANDLE) {
+ xmlSecNssError("PK11_ImportPublicKey", NULL);
+ xmlSecBufferDestroy(result);
+ PK11_FreeSlot(slot);
+ return(-1);
+ }
}
- /* Now we get all of the key materail */
- /* from now on we will wrap or unwrap the key */
- if( ctx->pubkey != NULL ) {
- blockSize = SECKEY_PublicKeyStrength( ctx->pubkey ) ;
- } else if( ctx->prikey != NULL ) {
- blockSize = PK11_SignatureLen( ctx->prikey ) ;
- } else {
- blockSize = -1 ;
+ /* pay attention to mechanism */
+ symKey = PK11_ImportSymKey(slot, ctx->cipher, PK11_OriginUnwrap, CKA_WRAP, &oriskv, NULL);
+ if(symKey == NULL) {
+ xmlSecNssError("PK11_ImportSymKey", NULL);
+ xmlSecBufferDestroy(result);
+ PK11_FreeSlot(slot);
+ return(-1);
}
- if( blockSize < 0 ) {
- xmlSecError( XMLSEC_ERRORS_HERE ,
- NULL ,
- "PK11_GetBlockSize" ,
- XMLSEC_ERRORS_R_CRYPTO_FAILED ,
- XMLSEC_ERRORS_NO_MESSAGE ) ;
- return(-1);
+ wrpskv.type = siBuffer;
+ wrpskv.data = xmlSecBufferGetData(result);
+ wrpskv.len = xmlSecBufferGetMaxSize(result);
+
+ if(PK11_PubWrapSymKey(ctx->cipher, ctx->pubkey, symKey, &wrpskv) != SECSuccess) {
+ xmlSecNssError("PK11_PubWrapSymKey", NULL);
+ PK11_FreeSymKey(symKey);
+ xmlSecBufferDestroy(result);
+ PK11_FreeSlot(slot);
+ return(-1);
}
- result = xmlSecBufferCreate( blockSize * 2 ) ;
- if( result == NULL ) {
- xmlSecError( XMLSEC_ERRORS_HERE ,
- NULL,
- "xmlSecBufferCreate" ,
- XMLSEC_ERRORS_R_XMLSEC_FAILED ,
- XMLSEC_ERRORS_NO_MESSAGE) ;
- return(-1);
+ if(xmlSecBufferSetSize(result, wrpskv.len) < 0) {
+ xmlSecInternalError2("xmlSecBufferSetSize", NULL,
+ "size=%lu", (unsigned long)wrpskv.len);
+ PK11_FreeSymKey(symKey);
+ xmlSecBufferDestroy(result);
+ PK11_FreeSlot(slot);
+ return(-1);
+ }
+ PK11_FreeSymKey(symKey);
+ PK11_FreeSlot(slot);
+ } else {
+ SECItem* keyItem;
+
+ /* pay attention to mechanism */
+ symKey = PK11_PubUnwrapSymKey(ctx->prikey, &oriskv, ctx->cipher, CKA_UNWRAP, 0);
+ if(symKey == NULL) {
+ xmlSecNssError("PK11_PubUnwrapSymKey", NULL);
+ xmlSecBufferDestroy(result);
+ return(-1);
}
- oriskv.type = siBuffer ;
- oriskv.data = xmlSecBufferGetData( ctx->material ) ;
- oriskv.len = xmlSecBufferGetSize( ctx->material ) ;
-
- if( encrypt != 0 ) {
- CK_OBJECT_HANDLE id ;
- SECItem wrpskv ;
-
- /* Create template symmetric key from material */
- slot = ctx->pubkey->pkcs11Slot;
- if( slot == NULL ) {
- slot = PK11_GetBestSlot( ctx->cipher, NULL ) ;
- if( slot == NULL ) {
- xmlSecError( XMLSEC_ERRORS_HERE ,
- NULL ,
- "xmlSecNssSlotGet" ,
- XMLSEC_ERRORS_R_CRYPTO_FAILED ,
- XMLSEC_ERRORS_NO_MESSAGE ) ;
- xmlSecBufferDestroy(result);
- return(-1);
- }
-
- id = PK11_ImportPublicKey( slot, ctx->pubkey, PR_FALSE ) ;
- if( id == CK_INVALID_HANDLE ) {
- xmlSecError( XMLSEC_ERRORS_HERE ,
- NULL ,
- "PK11_ImportPublicKey" ,
- XMLSEC_ERRORS_R_CRYPTO_FAILED ,
- XMLSEC_ERRORS_NO_MESSAGE ) ;
- xmlSecBufferDestroy(result);
- PK11_FreeSlot( slot ) ;
- return(-1);
- }
- }
-
- /* pay attention to mechanism */
- symKey = PK11_ImportSymKey( slot, ctx->cipher, PK11_OriginUnwrap, CKA_WRAP, &oriskv, NULL ) ;
- if( symKey == NULL ) {
- xmlSecError( XMLSEC_ERRORS_HERE ,
- NULL ,
- "PK11_ImportSymKey" ,
- XMLSEC_ERRORS_R_CRYPTO_FAILED ,
- XMLSEC_ERRORS_NO_MESSAGE ) ;
- xmlSecBufferDestroy(result);
- PK11_FreeSlot( slot ) ;
- return(-1);
- }
-
- wrpskv.type = siBuffer ;
- wrpskv.data = xmlSecBufferGetData( result ) ;
- wrpskv.len = xmlSecBufferGetMaxSize( result ) ;
-
- if( PK11_PubWrapSymKey( ctx->cipher, ctx->pubkey, symKey, &wrpskv ) != SECSuccess ) {
- xmlSecError( XMLSEC_ERRORS_HERE ,
- NULL ,
- "PK11_PubWrapSymKey" ,
- XMLSEC_ERRORS_R_CRYPTO_FAILED ,
- XMLSEC_ERRORS_NO_MESSAGE ) ;
- PK11_FreeSymKey( symKey ) ;
- xmlSecBufferDestroy(result);
- PK11_FreeSlot( slot ) ;
- return(-1);
- }
-
- if( xmlSecBufferSetSize( result , wrpskv.len ) < 0 ) {
- xmlSecError( XMLSEC_ERRORS_HERE ,
- NULL ,
- "xmlSecBufferSetSize" ,
- XMLSEC_ERRORS_R_CRYPTO_FAILED ,
- XMLSEC_ERRORS_NO_MESSAGE ) ;
- PK11_FreeSymKey( symKey ) ;
- xmlSecBufferDestroy(result);
- PK11_FreeSlot( slot ) ;
- return(-1);
- }
- PK11_FreeSymKey( symKey ) ;
- PK11_FreeSlot( slot ) ;
- } else {
- SECItem* keyItem ;
-
- /* pay attention to mechanism */
- symKey = PK11_PubUnwrapSymKey( ctx->prikey, &oriskv, ctx->cipher, CKA_UNWRAP, 0 );
- if( symKey == NULL ) {
- xmlSecError( XMLSEC_ERRORS_HERE ,
- NULL ,
- "PK11_PubUnwrapSymKey" ,
- XMLSEC_ERRORS_R_CRYPTO_FAILED ,
- XMLSEC_ERRORS_NO_MESSAGE ) ;
- xmlSecBufferDestroy(result);
- return(-1);
- }
-
- /* Extract raw data from symmetric key */
- if( PK11_ExtractKeyValue( symKey ) != SECSuccess ) {
- xmlSecError( XMLSEC_ERRORS_HERE ,
- NULL ,
- "PK11_ExtractKeyValue" ,
- XMLSEC_ERRORS_R_CRYPTO_FAILED ,
- XMLSEC_ERRORS_NO_MESSAGE ) ;
- PK11_FreeSymKey( symKey ) ;
- xmlSecBufferDestroy(result);
- return(-1);
- }
-
- keyItem = PK11_GetKeyData( symKey );
- if( keyItem == NULL ) {
- xmlSecError( XMLSEC_ERRORS_HERE ,
- NULL ,
- "PK11_GetKeyData" ,
- XMLSEC_ERRORS_R_CRYPTO_FAILED ,
- XMLSEC_ERRORS_NO_MESSAGE ) ;
- PK11_FreeSymKey( symKey ) ;
- xmlSecBufferDestroy(result);
- return(-1);
- }
-
- if( xmlSecBufferSetData( result, keyItem->data, keyItem->len ) < 0 ) {
- xmlSecError( XMLSEC_ERRORS_HERE ,
- NULL ,
- "PK11_PubUnwrapSymKey" ,
- XMLSEC_ERRORS_R_CRYPTO_FAILED ,
- XMLSEC_ERRORS_NO_MESSAGE ) ;
- PK11_FreeSymKey( symKey ) ;
- xmlSecBufferDestroy(result);
- return(-1);
- }
- PK11_FreeSymKey( symKey ) ;
+ /* Extract raw data from symmetric key */
+ if(PK11_ExtractKeyValue(symKey) != SECSuccess) {
+ xmlSecNssError("PK11_ExtractKeyValue", NULL);
+ PK11_FreeSymKey(symKey);
+ xmlSecBufferDestroy(result);
+ return(-1);
}
- /* Write output */
- if( xmlSecBufferAppend( out, xmlSecBufferGetData(result), xmlSecBufferGetSize(result) ) < 0 ) {
- xmlSecError( XMLSEC_ERRORS_HERE ,
- NULL ,
- "xmlSecBufferAppend" ,
- XMLSEC_ERRORS_R_CRYPTO_FAILED ,
- XMLSEC_ERRORS_NO_MESSAGE ) ;
- xmlSecBufferDestroy(result);
- return(-1);
+ keyItem = PK11_GetKeyData(symKey);
+ if(keyItem == NULL) {
+ xmlSecNssError("PK11_GetKeyData", NULL);
+ PK11_FreeSymKey(symKey);
+ xmlSecBufferDestroy(result);
+ return(-1);
}
+
+ if(xmlSecBufferSetData(result, keyItem->data, keyItem->len) < 0) {
+ xmlSecInternalError2("xmlSecBufferSetData", NULL,
+ "size=%lu", (unsigned long)keyItem->len);
+ PK11_FreeSymKey(symKey);
+ xmlSecBufferDestroy(result);
+ return(-1);
+ }
+ PK11_FreeSymKey(symKey);
+ }
+
+ /* Write output */
+ if(xmlSecBufferAppend(out, xmlSecBufferGetData(result), xmlSecBufferGetSize(result)) < 0) {
+ xmlSecInternalError2("xmlSecBufferAppend", NULL,
+ "size=%lu", (unsigned long)xmlSecBufferGetSize(result));
xmlSecBufferDestroy(result);
+ return(-1);
+ }
- return(0);
+ /* done */
+ xmlSecBufferDestroy(result);
+ return(0);
}
static int
xmlSecNssKeyTransportExecute(xmlSecTransformPtr transform, int last, xmlSecTransformCtxPtr transformCtx) {
- xmlSecNssKeyTransportCtxPtr context = NULL ;
- xmlSecBufferPtr inBuf, outBuf ;
- int operation ;
- int rtv ;
-
- xmlSecAssert2( xmlSecNssKeyTransportCheckId( transform ), -1 ) ;
- xmlSecAssert2( xmlSecTransformCheckSize( transform, xmlSecNssKeyTransportSize ), -1 ) ;
- xmlSecAssert2( ( transform->operation == xmlSecTransformOperationEncrypt ) || ( transform->operation == xmlSecTransformOperationDecrypt ), -1 ) ;
- xmlSecAssert2( transformCtx != NULL , -1 ) ;
-
- context = xmlSecNssKeyTransportGetCtx( transform ) ;
- if( context == NULL ) {
- xmlSecError( XMLSEC_ERRORS_HERE ,
- xmlSecErrorsSafeString( xmlSecTransformGetName( transform ) ) ,
- "xmlSecNssKeyTransportGetCtx" ,
- XMLSEC_ERRORS_R_CRYPTO_FAILED ,
- XMLSEC_ERRORS_NO_MESSAGE ) ;
+ xmlSecNssKeyTransportCtxPtr context = NULL;
+ xmlSecBufferPtr inBuf, outBuf;
+ int operation;
+ int rtv;
+
+ xmlSecAssert2(xmlSecNssKeyTransportCheckId(transform), -1);
+ xmlSecAssert2(xmlSecTransformCheckSize(transform, xmlSecNssKeyTransportSize), -1);
+ xmlSecAssert2((transform->operation == xmlSecTransformOperationEncrypt) || (transform->operation == xmlSecTransformOperationDecrypt), -1);
+ xmlSecAssert2(transformCtx != NULL, -1);
+
+ context = xmlSecNssKeyTransportGetCtx(transform);
+ if(context == NULL) {
+ xmlSecInternalError("xmlSecNssKeyTransportGetCtx",
+ xmlSecTransformGetName(transform));
+ return(-1);
+ }
+
+ inBuf = &(transform->inBuf);
+ outBuf = &(transform->outBuf);
+
+ if(transform->status == xmlSecTransformStatusNone) {
+ transform->status = xmlSecTransformStatusWorking;
+ }
+
+ operation = (transform->operation == xmlSecTransformOperationEncrypt) ? 1 : 0;
+ if(transform->status == xmlSecTransformStatusWorking) {
+ if(context->material == NULL) {
+ rtv = xmlSecNssKeyTransportCtxInit(context, inBuf, outBuf, operation, transformCtx);
+ if(rtv < 0) {
+ xmlSecInternalError("xmlSecNssKeyTransportCtxInit",
+ xmlSecTransformGetName(transform));
return(-1);
+ }
}
- inBuf = &( transform->inBuf ) ;
- outBuf = &( transform->outBuf ) ;
+ if((context->material == NULL) && (last != 0)) {
+ xmlSecInvalidTransfromStatusError2(transform,
+ "No enough data to intialize transform");
+ return(-1);
+ }
- if( transform->status == xmlSecTransformStatusNone ) {
- transform->status = xmlSecTransformStatusWorking ;
+ if(context->material != NULL) {
+ rtv = xmlSecNssKeyTransportCtxUpdate(context, inBuf, outBuf, operation, transformCtx);
+ if(rtv < 0) {
+ xmlSecInternalError("xmlSecNssKeyTransportCtxUpdate",
+ xmlSecTransformGetName(transform));
+ return(-1);
+ }
}
- operation = ( transform->operation == xmlSecTransformOperationEncrypt ) ? 1 : 0 ;
- if( transform->status == xmlSecTransformStatusWorking ) {
- if( context->material == NULL ) {
- rtv = xmlSecNssKeyTransportCtxInit( context, inBuf , outBuf , operation , transformCtx ) ;
- if( rtv < 0 ) {
- xmlSecError( XMLSEC_ERRORS_HERE ,
- xmlSecErrorsSafeString( xmlSecTransformGetName( transform ) ) ,
- "xmlSecNssKeyTransportCtxInit" ,
- XMLSEC_ERRORS_R_INVALID_STATUS ,
- XMLSEC_ERRORS_NO_MESSAGE ) ;
- return(-1);
- }
- }
-
- if( (context->material == NULL) && (last != 0) ) {
- xmlSecError( XMLSEC_ERRORS_HERE ,
- xmlSecErrorsSafeString( xmlSecTransformGetName( transform ) ) ,
- NULL ,
- XMLSEC_ERRORS_R_INVALID_STATUS ,
- "No enough data to intialize transform" ) ;
- return(-1);
- }
-
- if( context->material != NULL ) {
- rtv = xmlSecNssKeyTransportCtxUpdate( context, inBuf , outBuf , operation , transformCtx ) ;
- if( rtv < 0 ) {
- xmlSecError( XMLSEC_ERRORS_HERE ,
- xmlSecErrorsSafeString( xmlSecTransformGetName( transform ) ) ,
- "xmlSecNssKeyTransportCtxUpdate" ,
- XMLSEC_ERRORS_R_INVALID_STATUS ,
- XMLSEC_ERRORS_NO_MESSAGE ) ;
- return(-1);
- }
- }
-
- if( last ) {
- rtv = xmlSecNssKeyTransportCtxFinal( context, inBuf , outBuf , operation , transformCtx ) ;
- if( rtv < 0 ) {
- xmlSecError( XMLSEC_ERRORS_HERE ,
- xmlSecErrorsSafeString( xmlSecTransformGetName( transform ) ) ,
- "xmlSecNssKeyTransportCtxFinal" ,
- XMLSEC_ERRORS_R_INVALID_STATUS ,
- XMLSEC_ERRORS_NO_MESSAGE ) ;
- return(-1);
- }
- transform->status = xmlSecTransformStatusFinished ;
- }
- } else if( transform->status == xmlSecTransformStatusFinished ) {
- if( xmlSecBufferGetSize( inBuf ) != 0 ) {
- xmlSecError( XMLSEC_ERRORS_HERE ,
- xmlSecErrorsSafeString( xmlSecTransformGetName( transform ) ) ,
- NULL ,
- XMLSEC_ERRORS_R_INVALID_STATUS ,
- "status=%d", transform->status ) ;
- return(-1);
- }
- } else {
- xmlSecError( XMLSEC_ERRORS_HERE ,
- xmlSecErrorsSafeString( xmlSecTransformGetName( transform ) ) ,
- NULL ,
- XMLSEC_ERRORS_R_INVALID_STATUS ,
- "status=%d", transform->status ) ;
+ if(last) {
+ rtv = xmlSecNssKeyTransportCtxFinal(context, inBuf, outBuf, operation, transformCtx);
+ if(rtv < 0) {
+ xmlSecInternalError("xmlSecNssKeyTransportCtxFinal",
+ xmlSecTransformGetName(transform));
return(-1);
+ }
+ transform->status = xmlSecTransformStatusFinished;
}
+ } else if(transform->status == xmlSecTransformStatusFinished) {
+ if(xmlSecBufferGetSize(inBuf) != 0) {
+ xmlSecInvalidTransfromStatusError2(transform,
+ "More data available in the input buffer");
+ return(-1);
+ }
+ } else {
+ xmlSecInvalidTransfromStatusError(transform);
+ return(-1);
+ }
- return(0);
+ return(0);
}
diff --git a/src/nss/kw_aes.c b/src/nss/kw_aes.c
index cea884e..7f1f849 100644
--- a/src/nss/kw_aes.c
+++ b/src/nss/kw_aes.c
@@ -1,6 +1,5 @@
-/**
- *
- * XMLSec library
+/*
+ * XML Security Library (http://www.aleksey.com/xmlsec).
*
* AES Algorithm support
*
@@ -242,21 +241,14 @@ xmlSecNssKWAesInitialize(xmlSecTransformPtr transform) {
} else if(xmlSecTransformCheckId(transform, xmlSecNssTransformKWAes256Id)) {
ctx->keyExpectedSize = XMLSEC_KW_AES256_KEY_SIZE;
} else {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- NULL,
- XMLSEC_ERRORS_R_INVALID_TRANSFORM,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInvalidTransfromError(transform)
return(-1);
}
ret = xmlSecBufferInitialize(&(ctx->keyBuffer), 0);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecBufferInitialize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecBufferInitialize",
+ xmlSecTransformGetName(transform));
return(-1);
}
@@ -321,12 +313,8 @@ xmlSecNssKWAesSetKey(xmlSecTransformPtr transform, xmlSecKeyPtr key) {
keySize = xmlSecBufferGetSize(buffer);
if(keySize < ctx->keyExpectedSize) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- NULL,
- XMLSEC_ERRORS_R_INVALID_KEY_DATA_SIZE,
- "key=%d;expected=%d",
- keySize, ctx->keyExpectedSize);
+ xmlSecInvalidKeyDataSizeError(keySize, ctx->keyExpectedSize,
+ xmlSecTransformGetName(transform));
return(-1);
}
@@ -334,12 +322,9 @@ xmlSecNssKWAesSetKey(xmlSecTransformPtr transform, xmlSecKeyPtr key) {
xmlSecBufferGetData(buffer),
ctx->keyExpectedSize);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecBufferSetData",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "expected-size=%d",
- ctx->keyExpectedSize);
+ xmlSecInternalError2("xmlSecBufferSetData",
+ xmlSecTransformGetName(transform),
+ "expected-size=%d", ctx->keyExpectedSize);
return(-1);
}
@@ -378,11 +363,9 @@ xmlSecNssKWAesExecute(xmlSecTransformPtr transform, int last, xmlSecTransformCtx
/* just do nothing */
} else if((transform->status == xmlSecTransformStatusWorking) && (last != 0)) {
if((inSize % 8) != 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- NULL,
- XMLSEC_ERRORS_R_INVALID_SIZE,
- "size=%d(not 8 bytes aligned)", inSize);
+ xmlSecInvalidSizeNotMultipleOfError("Input data",
+ inSize, 8,
+ xmlSecTransformGetName(transform));
return(-1);
}
@@ -396,11 +379,9 @@ xmlSecNssKWAesExecute(xmlSecTransformPtr transform, int last, xmlSecTransformCtx
ret = xmlSecBufferSetMaxSize(out, outSize);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecBufferSetMaxSize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "outSize=%d", outSize);
+ xmlSecInternalError2("xmlSecBufferSetMaxSize",
+ xmlSecTransformGetName(transform),
+ "outSize=%d", outSize);
return(-1);
}
@@ -410,11 +391,9 @@ xmlSecNssKWAesExecute(xmlSecTransformPtr transform, int last, xmlSecTransformCtx
/* create key */
aeskey = xmlSecNssMakeAesKey(xmlSecBufferGetData(&(ctx->keyBuffer)), keySize, 1); /* encrypt */
if(aeskey == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecNssMakeAesKey",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError2("xmlSecNssMakeAesKey",
+ xmlSecTransformGetName(transform),
+ "keySize=%lu", (unsigned long)keySize);
return(-1);
}
@@ -424,11 +403,11 @@ xmlSecNssKWAesExecute(xmlSecTransformPtr transform, int last, xmlSecTransformCtx
xmlSecBufferGetData(in), inSize,
xmlSecBufferGetData(out), outSize);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecKWAesEncode",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError3("xmlSecKWAesEncode",
+ xmlSecTransformGetName(transform),
+ "inSize=%lu; outSize=%lu",
+ (unsigned long)inSize,
+ (unsigned long)outSize);
PK11_FreeSymKey(aeskey);
return(-1);
}
@@ -441,11 +420,9 @@ xmlSecNssKWAesExecute(xmlSecTransformPtr transform, int last, xmlSecTransformCtx
/* create key */
aeskey = xmlSecNssMakeAesKey(xmlSecBufferGetData(&(ctx->keyBuffer)), keySize, 0); /* decrypt */
if(aeskey == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecNssMakeAesKey",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError2("xmlSecNssMakeAesKey",
+ xmlSecTransformGetName(transform),
+ "keySize=%lu", (unsigned long)keySize);
return(-1);
}
@@ -454,11 +431,11 @@ xmlSecNssKWAesExecute(xmlSecTransformPtr transform, int last, xmlSecTransformCtx
xmlSecBufferGetData(in), inSize,
xmlSecBufferGetData(out), outSize);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecKWAesDecode",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError3("xmlSecKWAesDecode",
+ xmlSecTransformGetName(transform),
+ "inSize=%lu; outSize=%lu",
+ (unsigned long)inSize,
+ (unsigned long)outSize);
PK11_FreeSymKey(aeskey);
return(-1);
}
@@ -469,21 +446,17 @@ xmlSecNssKWAesExecute(xmlSecTransformPtr transform, int last, xmlSecTransformCtx
ret = xmlSecBufferSetSize(out, outSize);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecBufferSetSize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "outSize=%d", outSize);
+ xmlSecInternalError2("xmlSecBufferSetSize",
+ xmlSecTransformGetName(transform),
+ "outSize=%d", outSize);
return(-1);
}
ret = xmlSecBufferRemoveHead(in, inSize);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecBufferRemoveHead",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "inSize%d", inSize);
+ xmlSecInternalError2("xmlSecBufferRemoveHead",
+ xmlSecTransformGetName(transform),
+ "inSize%d", inSize);
return(-1);
}
@@ -492,11 +465,7 @@ xmlSecNssKWAesExecute(xmlSecTransformPtr transform, int last, xmlSecTransformCtx
/* the only way we can get here is if there is no input */
xmlSecAssert2(xmlSecBufferGetSize(&(transform->inBuf)) == 0, -1);
} else {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- NULL,
- XMLSEC_ERRORS_R_INVALID_STATUS,
- "status=%d", transform->status);
+ xmlSecInvalidTransfromStatusError(transform);
return(-1);
}
return(0);
@@ -523,11 +492,7 @@ xmlSecNSSKWAesBlockEncrypt(const xmlSecByte * in, xmlSecSize inSize,
/* one block */
ret = xmlSecNssAesOp(aeskey, in, out, 1); /* encrypt */
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecNssAesOp",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecNssAesOp", NULL);
return(-1);
}
return(XMLSEC_KW_AES_BLOCK_SIZE);
@@ -549,11 +514,7 @@ xmlSecNSSKWAesBlockDecrypt(const xmlSecByte * in, xmlSecSize inSize,
/* one block */
ret = xmlSecNssAesOp(aeskey, in, out, 0); /* decrypt */
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecNssAesOp",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecNssAesOp", NULL);
return(-1);
}
return(XMLSEC_KW_AES_BLOCK_SIZE);
@@ -572,11 +533,7 @@ xmlSecNssMakeAesKey(const xmlSecByte *key, xmlSecSize keySize, int enc) {
cipherMech = CKM_AES_ECB;
slot = PK11_GetBestSlot(cipherMech, NULL);
if (slot == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "PK11_GetBestSlot",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNssError("PK11_GetBestSlot", NULL);
goto done;
}
@@ -585,11 +542,7 @@ xmlSecNssMakeAesKey(const xmlSecByte *key, xmlSecSize keySize, int enc) {
aeskey = PK11_ImportSymKey(slot, cipherMech, PK11_OriginUnwrap,
enc ? CKA_ENCRYPT : CKA_DECRYPT, &keyItem, NULL);
if (aeskey == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "PK11_ImportSymKey",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNssError("PK11_ImportSymKey", NULL);
goto done;
}
@@ -619,11 +572,7 @@ xmlSecNssAesOp(PK11SymKey *aeskey, const xmlSecByte *in, xmlSecByte *out, int en
cipherMech = CKM_AES_ECB;
SecParam = PK11_ParamFromIV(cipherMech, NULL);
if (SecParam == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "PK11_ParamFromIV",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNssError("PK11_ParamFromIV", NULL);
goto done;
}
@@ -631,11 +580,7 @@ xmlSecNssAesOp(PK11SymKey *aeskey, const xmlSecByte *in, xmlSecByte *out, int en
enc ? CKA_ENCRYPT : CKA_DECRYPT,
aeskey, SecParam);
if (EncContext == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "PK11_CreateContextBySymKey",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNssError("PK11_CreateContextBySymKey", NULL);
goto done;
}
@@ -644,22 +589,14 @@ xmlSecNssAesOp(PK11SymKey *aeskey, const xmlSecByte *in, xmlSecByte *out, int en
XMLSEC_KW_AES_BLOCK_SIZE, (unsigned char *)in,
XMLSEC_KW_AES_BLOCK_SIZE);
if (rv != SECSuccess) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "PK11_CipherOp",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNssError("PK11_CipherOp", NULL);
goto done;
}
rv = PK11_DigestFinal(EncContext, out+tmp1_outlen,
&tmp2_outlen, XMLSEC_KW_AES_BLOCK_SIZE-tmp1_outlen);
if (rv != SECSuccess) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "PK11_DigestFinal",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNssError("PK11_DigestFinal", NULL);
goto done;
}
diff --git a/src/nss/kw_des.c b/src/nss/kw_des.c
index 4025d35..c6e275f 100644
--- a/src/nss/kw_des.c
+++ b/src/nss/kw_des.c
@@ -1,6 +1,5 @@
-/**
- *
- * XMLSec library
+/*
+ * XML Security Library (http://www.aleksey.com/xmlsec).
*
* DES KW Algorithm support
*
@@ -160,11 +159,8 @@ xmlSecNssKWDes3Initialize(xmlSecTransformPtr transform) {
ret = xmlSecBufferInitialize(&(ctx->keyBuffer), 0);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecBufferInitialize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecBufferInitialize",
+ xmlSecTransformGetName(transform));
return(-1);
}
@@ -228,22 +224,16 @@ xmlSecNssKWDes3SetKey(xmlSecTransformPtr transform, xmlSecKeyPtr key) {
keySize = xmlSecBufferGetSize(buffer);
if(keySize < XMLSEC_KW_DES3_KEY_LENGTH) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- NULL,
- XMLSEC_ERRORS_R_INVALID_KEY_DATA_SIZE,
- "key length %d is not enough (%d expected)",
- keySize, XMLSEC_KW_DES3_KEY_LENGTH);
+ xmlSecInvalidKeyDataSizeError(keySize, XMLSEC_KW_DES3_KEY_LENGTH,
+ xmlSecTransformGetName(transform));
return(-1);
}
ret = xmlSecBufferSetData(&(ctx->keyBuffer), xmlSecBufferGetData(buffer), XMLSEC_KW_DES3_KEY_LENGTH);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecBufferSetData",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "size=%d", XMLSEC_KW_DES3_KEY_LENGTH);
+ xmlSecInternalError2("xmlSecBufferSetData",
+ xmlSecTransformGetName(transform),
+ "size=%d", XMLSEC_KW_DES3_KEY_LENGTH);
return(-1);
}
@@ -282,12 +272,9 @@ xmlSecNssKWDes3Execute(xmlSecTransformPtr transform, int last, xmlSecTransformCt
/* just do nothing */
} else if((transform->status == xmlSecTransformStatusWorking) && (last != 0)) {
if((inSize % XMLSEC_KW_DES3_BLOCK_LENGTH) != 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- NULL,
- XMLSEC_ERRORS_R_INVALID_SIZE,
- "%d bytes - not %d bytes aligned",
- inSize, XMLSEC_KW_DES3_BLOCK_LENGTH);
+ xmlSecInvalidSizeNotMultipleOfError("Input data",
+ inSize, XMLSEC_KW_DES3_BLOCK_LENGTH,
+ xmlSecTransformGetName(transform));
return(-1);
}
@@ -303,11 +290,9 @@ xmlSecNssKWDes3Execute(xmlSecTransformPtr transform, int last, xmlSecTransformCt
ret = xmlSecBufferSetMaxSize(out, outSize);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecBufferSetMaxSize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "size=%d", outSize);
+ xmlSecInternalError2("xmlSecBufferSetMaxSize",
+ xmlSecTransformGetName(transform),
+ "size=%d", outSize);
return(-1);
}
@@ -316,12 +301,9 @@ xmlSecNssKWDes3Execute(xmlSecTransformPtr transform, int last, xmlSecTransformCt
xmlSecBufferGetData(in), inSize,
xmlSecBufferGetData(out), outSize);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecKWDes3Encode",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "key=%d,in=%d,out=%d",
- keySize, inSize, outSize);
+ xmlSecInternalError4("xmlSecKWDes3Encode", xmlSecTransformGetName(transform),
+ "key=%d,in=%d,out=%d",
+ keySize, inSize, outSize);
return(-1);
}
outSize = ret;
@@ -330,12 +312,9 @@ xmlSecNssKWDes3Execute(xmlSecTransformPtr transform, int last, xmlSecTransformCt
xmlSecBufferGetData(in), inSize,
xmlSecBufferGetData(out), outSize);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecKWDes3Decode",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "key=%d,in=%d,out=%d",
- keySize, inSize, outSize);
+ xmlSecInternalError4("xmlSecKWDes3Decode", xmlSecTransformGetName(transform),
+ "key=%d,in=%d,out=%d",
+ keySize, inSize, outSize);
return(-1);
}
outSize = ret;
@@ -343,21 +322,17 @@ xmlSecNssKWDes3Execute(xmlSecTransformPtr transform, int last, xmlSecTransformCt
ret = xmlSecBufferSetSize(out, outSize);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecBufferSetSize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "size=%d", outSize);
+ xmlSecInternalError2("xmlSecBufferSetSize",
+ xmlSecTransformGetName(transform),
+ "size=%d", outSize);
return(-1);
}
ret = xmlSecBufferRemoveHead(in, inSize);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecBufferRemoveHead",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "size=%d", inSize);
+ xmlSecInternalError2("xmlSecBufferRemoveHead",
+ xmlSecTransformGetName(transform),
+ "size=%d", inSize);
return(-1);
}
@@ -366,11 +341,7 @@ xmlSecNssKWDes3Execute(xmlSecTransformPtr transform, int last, xmlSecTransformCt
/* the only way we can get here is if there is no input */
xmlSecAssert2(xmlSecBufferGetSize(&(transform->inBuf)) == 0, -1);
} else {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- NULL,
- XMLSEC_ERRORS_R_INVALID_STATUS,
- "status=%d", transform->status);
+ xmlSecInvalidTransfromStatusError(transform);
return(-1);
}
return(0);
@@ -399,43 +370,27 @@ xmlSecNssKWDes3Sha1(void * context,
/* Create a pk11ctx for hashing (digesting) */
pk11ctx = PK11_CreateDigestContext(SEC_OID_SHA1);
if (pk11ctx == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "PK11_CreateDigestContext",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNssError("PK11_CreateDigestContext", NULL);
return(-1);
}
status = PK11_DigestBegin(pk11ctx);
if (status != SECSuccess) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "PK11_DigestBegin",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNssError("PK11_DigestBegin", NULL);
PK11_DestroyContext(pk11ctx, PR_TRUE);
return(-1);
}
status = PK11_DigestOp(pk11ctx, in, inSize);
if (status != SECSuccess) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "PK11_DigestOp",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNssError("PK11_DigestOp", NULL);
PK11_DestroyContext(pk11ctx, PR_TRUE);
return(-1);
}
status = PK11_DigestFinal(pk11ctx, out, &outLen, outSize);
if (status != SECSuccess) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "PK11_DigestFinal",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNssError("PK11_DigestFinal", NULL);
PK11_DestroyContext(pk11ctx, PR_TRUE);
return(-1);
}
@@ -458,11 +413,7 @@ xmlSecNssKWDes3GenerateRandom(void * context,
status = PK11_GenerateRandom(out, outSize);
if(status != SECSuccess) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "PK11_GenerateRandom",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNssError("PK11_GenerateRandom", NULL);
return(-1);
}
@@ -493,11 +444,7 @@ xmlSecNssKWDes3BlockEncrypt(void * context,
out, outSize,
1); /* encrypt */
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecNssKWDes3Encrypt",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecNssKWDes3Encrypt", NULL);
return(-1);
}
@@ -528,11 +475,7 @@ xmlSecNssKWDes3BlockDecrypt(void * context,
out, outSize,
0); /* decrypt */
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecNssKWDes3Encrypt",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecNssKWDes3Encrypt", NULL);
return(-1);
}
@@ -570,11 +513,7 @@ xmlSecNssKWDes3Encrypt(const xmlSecByte *key, xmlSecSize keySize,
cipherMech = CKM_DES3_CBC;
slot = PK11_GetBestSlot(cipherMech, NULL);
if (slot == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "PK11_GetBestSlot",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNssError("PK11_GetBestSlot", NULL);
goto done;
}
@@ -583,11 +522,7 @@ xmlSecNssKWDes3Encrypt(const xmlSecByte *key, xmlSecSize keySize,
symKey = PK11_ImportSymKey(slot, cipherMech, PK11_OriginUnwrap,
enc ? CKA_ENCRYPT : CKA_DECRYPT, &keyItem, NULL);
if (symKey == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "PK11_ImportSymKey",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNssError("PK11_ImportSymKey", NULL);
goto done;
}
@@ -596,11 +531,7 @@ xmlSecNssKWDes3Encrypt(const xmlSecByte *key, xmlSecSize keySize,
param = PK11_ParamFromIV(cipherMech, &ivItem);
if (param == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "PK11_ParamFromIV",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNssError("PK11_ParamFromIV", NULL);
goto done;
}
@@ -608,11 +539,7 @@ xmlSecNssKWDes3Encrypt(const xmlSecByte *key, xmlSecSize keySize,
enc ? CKA_ENCRYPT : CKA_DECRYPT,
symKey, param);
if (pk11ctx == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "PK11_CreateContextBySymKey",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNssError("PK11_CreateContextBySymKey", NULL);
goto done;
}
@@ -620,22 +547,14 @@ xmlSecNssKWDes3Encrypt(const xmlSecByte *key, xmlSecSize keySize,
status = PK11_CipherOp(pk11ctx, out, &tmp1_outlen, outSize,
(unsigned char *)in, inSize);
if (status != SECSuccess) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "PK11_CipherOp",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNssError("PK11_CipherOp", NULL);
goto done;
}
status = PK11_DigestFinal(pk11ctx, out+tmp1_outlen,
&tmp2_outlen, outSize-tmp1_outlen);
if (status != SECSuccess) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "PK11_DigestFinal",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNssError("PK11_DigestFinal", NULL);
goto done;
}
diff --git a/src/nss/pkikeys.c b/src/nss/pkikeys.c
index 5ede4cc..25828ae 100644
--- a/src/nss/pkikeys.c
+++ b/src/nss/pkikeys.c
@@ -1,5 +1,5 @@
-/**
- * XMLSec library
+/*
+ * XML Security Library (http://www.aleksey.com/xmlsec).
*
* This is free software; see Copyright file in the source
* distribution for preciese wording.
@@ -118,11 +118,7 @@ xmlSecNSSPKIKeyDataCtxDup(xmlSecNssPKIKeyDataCtxPtr ctxDst,
if (ctxSrc->privkey != NULL) {
ctxDst->privkey = SECKEY_CopyPrivateKey(ctxSrc->privkey);
if(ctxDst->privkey == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "SECKEY_CopyPrivateKey",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- "error code=%d", PORT_GetError());
+ xmlSecNssError("SECKEY_CopyPrivateKey", NULL);
return(-1);
}
}
@@ -130,11 +126,7 @@ xmlSecNSSPKIKeyDataCtxDup(xmlSecNssPKIKeyDataCtxPtr ctxDst,
if (ctxSrc->pubkey != NULL) {
ctxDst->pubkey = SECKEY_CopyPublicKey(ctxSrc->pubkey);
if(ctxDst->pubkey == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "SECKEY_CopyPublicKey",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- "error code=%d", PORT_GetError());
+ xmlSecNssError("SECKEY_CopyPublicKey", NULL);
return(-1);
}
}
@@ -147,30 +139,27 @@ xmlSecNssPKIKeyDataAdoptKey(xmlSecKeyDataPtr data,
SECKEYPublicKey *pubkey)
{
xmlSecNssPKIKeyDataCtxPtr ctx;
- KeyType pubType = nullKey ;
- KeyType priType = nullKey ;
+ KeyType pubType = nullKey;
+ KeyType priType = nullKey;
xmlSecAssert2(xmlSecKeyDataIsValid(data), -1);
xmlSecAssert2(xmlSecKeyDataCheckSize(data, xmlSecNssPKIKeyDataSize), -1);
- if( privkey != NULL ) {
- priType = SECKEY_GetPrivateKeyType( privkey ) ;
- }
+ if(privkey != NULL) {
+ priType = SECKEY_GetPrivateKeyType(privkey);
+ }
- if( pubkey != NULL ) {
- pubType = SECKEY_GetPublicKeyType( pubkey ) ;
- }
+ if(pubkey != NULL) {
+ pubType = SECKEY_GetPublicKeyType(pubkey);
+ }
- if( priType != nullKey && pubType != nullKey ) {
- if( pubType != priType ) {
- xmlSecError( XMLSEC_ERRORS_HERE ,
- NULL ,
- NULL ,
- XMLSEC_ERRORS_R_CRYPTO_FAILED ,
- "different type of private and public key" ) ;
- return -1 ;
- }
+ if(priType != nullKey && pubType != nullKey) {
+ if(pubType != priType) {
+ xmlSecInvalidIntegerTypeError2("pubType", pubType, "priType", priType,
+ "pubType == priType", NULL);
+ return -1;
}
+ }
ctx = xmlSecNssPKIKeyDataGetCtx(data);
xmlSecAssert2(ctx != NULL, -1);
@@ -204,39 +193,32 @@ xmlSecNssPKIAdoptKey(SECKEYPrivateKey *privkey,
{
xmlSecKeyDataPtr data = NULL;
int ret;
- KeyType pubType = nullKey ;
- KeyType priType = nullKey ;
+ KeyType pubType = nullKey;
+ KeyType priType = nullKey;
- if( privkey != NULL ) {
- priType = SECKEY_GetPrivateKeyType( privkey ) ;
- }
+ if(privkey != NULL) {
+ priType = SECKEY_GetPrivateKeyType(privkey);
+ }
- if( pubkey != NULL ) {
- pubType = SECKEY_GetPublicKeyType( pubkey ) ;
- }
+ if(pubkey != NULL) {
+ pubType = SECKEY_GetPublicKeyType(pubkey);
+ }
- if( priType != nullKey && pubType != nullKey ) {
- if( pubType != priType ) {
- xmlSecError( XMLSEC_ERRORS_HERE ,
- NULL ,
- NULL ,
- XMLSEC_ERRORS_R_CRYPTO_FAILED ,
- "different type of private and public key" ) ;
- return( NULL ) ;
- }
+ if(priType != nullKey && pubType != nullKey) {
+ if(pubType != priType) {
+ xmlSecInvalidIntegerTypeError2("pubType", pubType, "priType", priType,
+ "pubType == priType", NULL);
+ return(NULL);
}
+ }
- pubType = priType != nullKey ? priType : pubType ;
+ pubType = (priType != nullKey) ? priType : pubType;
switch(pubType) {
#ifndef XMLSEC_NO_RSA
case rsaKey:
data = xmlSecKeyDataCreate(xmlSecNssKeyDataRsaId);
if(data == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecKeyDataCreate",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "xmlSecNssKeyDataRsaId");
+ xmlSecInternalError("xmlSecKeyDataCreate(KeyDataRsaId)", NULL);
return(NULL);
}
break;
@@ -245,32 +227,30 @@ xmlSecNssPKIAdoptKey(SECKEYPrivateKey *privkey,
case dsaKey:
data = xmlSecKeyDataCreate(xmlSecNssKeyDataDsaId);
if(data == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecKeyDataCreate",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "xmlSecNssKeyDataDsaId");
+ xmlSecInternalError("xmlSecKeyDataCreate", NULL);
return(NULL);
}
break;
#endif /* XMLSEC_NO_DSA */
+#ifndef XMLSEC_NO_ECDSA
+ case ecKey:
+ data = xmlSecKeyDataCreate(xmlSecNssKeyDataEcdsaId);
+ if(data == NULL) {
+ xmlSecInternalError("xmlSecKeyDataCreate", NULL);
+ return(NULL);
+ }
+ break;
+#endif /* XMLSEC_NO_ECDSA */
default:
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- NULL,
- XMLSEC_ERRORS_R_INVALID_TYPE,
- "PKI key type %d not supported", pubType);
+ xmlSecInvalidIntegerTypeError("pubType", pubType,
+ "supported PKI key type", NULL);
return(NULL);
}
xmlSecAssert2(data != NULL, NULL);
ret = xmlSecNssPKIKeyDataAdoptKey(data, privkey, pubkey);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecNssPKIKeyDataAdoptKey",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecNssPKIKeyDataAdoptKey", NULL);
xmlSecKeyDataDestroy(data);
return(NULL);
}
@@ -380,11 +360,8 @@ xmlSecNssPKIKeyDataDuplicate(xmlSecKeyDataPtr dst, xmlSecKeyDataPtr src) {
xmlSecAssert2(ctxSrc != NULL, -1);
if (xmlSecNSSPKIKeyDataCtxDup(ctxDst, ctxSrc) != 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(dst)),
- "xmlSecNssPKIKeydataCtxDup",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecNssPKIKeydataCtxDup",
+ xmlSecKeyDataGetName(dst));
return(-1);
}
@@ -579,45 +556,31 @@ xmlSecNssKeyDataDsaXmlRead(xmlSecKeyDataId id, xmlSecKeyPtr key,
xmlSecAssert2(keyInfoCtx != NULL, -1);
if(xmlSecKeyGetValue(key) != NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- NULL,
- XMLSEC_ERRORS_R_INVALID_KEY_DATA,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOtherError(XMLSEC_ERRORS_R_INVALID_KEY_DATA,
+ xmlSecKeyDataKlassGetName(id),
+ "key already has a value");
ret = -1;
goto done;
}
slot = PK11_GetBestSlot(CKM_DSA, NULL);
if(slot == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "PK11_GetBestSlot",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNssError("PK11_GetBestSlot", xmlSecKeyDataKlassGetName(id));
ret = -1;
goto done;
}
arena = PORT_NewArena(DER_DEFAULT_CHUNKSIZE);
if(arena == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "PORT_NewArena",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- "error code=%d", PORT_GetError());
+ xmlSecNssError("PORT_NewArena", xmlSecKeyDataKlassGetName(id));
ret = -1;
goto done;
}
- pubkey = (SECKEYPublicKey *)PORT_ArenaZAlloc(arena,
- sizeof(SECKEYPublicKey));
- if(pubkey == NULL ) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "PORT_ArenaZAlloc",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- "error code=%d", PORT_GetError());
+ pubkey = (SECKEYPublicKey *)PORT_ArenaZAlloc(arena, sizeof(SECKEYPublicKey));
+ if(pubkey == NULL) {
+ xmlSecNssError2("PORT_ArenaZAlloc", xmlSecKeyDataKlassGetName(id),
+ "size=%lu", (unsigned long)sizeof(SECKEYPublicKey));
PORT_FreeArena(arena, PR_FALSE);
ret = -1;
goto done;
@@ -630,22 +593,13 @@ xmlSecNssKeyDataDsaXmlRead(xmlSecKeyDataId id, xmlSecKeyPtr key,
/* first is P node. It is REQUIRED because we do not support Seed and PgenCounter*/
if((cur == NULL) || (!xmlSecCheckNodeName(cur, xmlSecNodeDSAP, xmlSecDSigNs))) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- xmlSecErrorsSafeString(xmlSecNodeGetName(cur)),
- XMLSEC_ERRORS_R_INVALID_NODE,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeDSAP));
+ xmlSecInvalidNodeError(cur, xmlSecNodeDSAP, xmlSecKeyDataKlassGetName(id));
ret = -1;
goto done;
}
if(xmlSecNssNodeGetBigNumValue(arena, cur, &(pubkey->u.dsa.params.prime)) == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecNssNodeGetBigNumValue",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeDSAP));
+ xmlSecInternalError("xmlSecNssNodeGetBigNumValue(NodeDSAP)",
+ xmlSecKeyDataKlassGetName(id));
ret = -1;
goto done;
}
@@ -653,22 +607,13 @@ xmlSecNssKeyDataDsaXmlRead(xmlSecKeyDataId id, xmlSecKeyPtr key,
/* next is Q node. It is REQUIRED because we do not support Seed and PgenCounter*/
if((cur == NULL) || (!xmlSecCheckNodeName(cur, xmlSecNodeDSAQ, xmlSecDSigNs))) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- xmlSecErrorsSafeString(xmlSecNodeGetName(cur)),
- XMLSEC_ERRORS_R_INVALID_NODE,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeDSAQ));
+ xmlSecInvalidNodeError(cur, xmlSecNodeDSAQ, xmlSecKeyDataKlassGetName(id));
ret = -1;
goto done;
}
if(xmlSecNssNodeGetBigNumValue(arena, cur, &(pubkey->u.dsa.params.subPrime)) == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecNssNodeGetBigNumValue",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeDSAQ));
+ xmlSecInternalError("xmlSecNssNodeGetBigNumValue(NodeDSAQ)",
+ xmlSecKeyDataKlassGetName(id));
ret = -1;
goto done;
}
@@ -676,22 +621,13 @@ xmlSecNssKeyDataDsaXmlRead(xmlSecKeyDataId id, xmlSecKeyPtr key,
/* next is G node. It is REQUIRED because we do not support Seed and PgenCounter*/
if((cur == NULL) || (!xmlSecCheckNodeName(cur, xmlSecNodeDSAG, xmlSecDSigNs))) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- xmlSecErrorsSafeString(xmlSecNodeGetName(cur)),
- XMLSEC_ERRORS_R_INVALID_NODE,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeDSAG));
+ xmlSecInvalidNodeError(cur, xmlSecNodeDSAG, xmlSecKeyDataKlassGetName(id));
ret = -1;
goto done;
}
if(xmlSecNssNodeGetBigNumValue(arena, cur, &(pubkey->u.dsa.params.base)) == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecNssNodeGetBigNumValue",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeDSAG));
+ xmlSecInternalError("xmlSecNssNodeGetBigNumValue(NodeDSAG)",
+ xmlSecKeyDataKlassGetName(id));
ret = -1;
goto done;
}
@@ -706,21 +642,13 @@ xmlSecNssKeyDataDsaXmlRead(xmlSecKeyDataId id, xmlSecKeyPtr key,
/* next is Y node. */
if((cur == NULL) || (!xmlSecCheckNodeName(cur, xmlSecNodeDSAY, xmlSecDSigNs))) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- xmlSecErrorsSafeString(xmlSecNodeGetName(cur)),
- XMLSEC_ERRORS_R_INVALID_NODE,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeDSAY));
+ xmlSecInvalidNodeError(cur, xmlSecNodeDSAY, xmlSecKeyDataKlassGetName(id));
ret = -1;
goto done;
}
if(xmlSecNssNodeGetBigNumValue(arena, cur, &(pubkey->u.dsa.publicValue)) == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecNssNodeGetBigNumValue",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s", xmlSecErrorsSafeString(xmlSecNodeDSAY));
+ xmlSecInternalError("xmlSecNssNodeGetBigNumValue(NodeDSAY)",
+ xmlSecKeyDataKlassGetName(id));
ret = -1;
goto done;
}
@@ -742,55 +670,39 @@ xmlSecNssKeyDataDsaXmlRead(xmlSecKeyDataId id, xmlSecKeyPtr key,
}
if(cur != NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- xmlSecErrorsSafeString(xmlSecNodeGetName(cur)),
- XMLSEC_ERRORS_R_UNEXPECTED_NODE,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecUnexpectedNodeError(cur, xmlSecKeyDataKlassGetName(id))
ret = -1;
goto done;
}
handle = PK11_ImportPublicKey(slot, pubkey, PR_FALSE);
if(handle == CK_INVALID_HANDLE) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "PK11_ImportPublicKey",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNssError("PK11_ImportPublicKey",
+ xmlSecKeyDataKlassGetName(id));
ret = -1;
goto done;
}
data = xmlSecKeyDataCreate(id);
- if(data == NULL ) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecKeyDataCreate",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ if(data == NULL) {
+ xmlSecInternalError("xmlSecKeyDataCreate",
+ xmlSecKeyDataKlassGetName(id));
ret = -1;
goto done;
}
ret = xmlSecNssPKIKeyDataAdoptKey(data, NULL, pubkey);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- "xmlSecNssPKIKeyDataAdoptKey",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecNssPKIKeyDataAdoptKey",
+ xmlSecKeyDataGetName(data));
goto done;
}
pubkey = NULL;
ret = xmlSecKeySetValue(key, data);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- "xmlSecKeySetValue",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeySetValue",
+ xmlSecKeyDataGetName(data));
goto done;
}
data = NULL;
@@ -837,66 +749,42 @@ xmlSecNssKeyDataDsaXmlWrite(xmlSecKeyDataId id, xmlSecKeyPtr key,
/* first is P node */
cur = xmlSecAddChild(node, xmlSecNodeDSAP, xmlSecDSigNs);
if(cur == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecAddChild",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeDSAP));
+ xmlSecInternalError("xmlSecAddChild(NodeDSAP)",
+ xmlSecKeyDataKlassGetName(id));
return(-1);
}
ret = xmlSecNssNodeSetBigNumValue(cur, &(ctx->pubkey->u.dsa.params.prime), 1);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecNssNodeSetBigNumValue",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeDSAP));
+ xmlSecInternalError("xmlSecNssNodeSetBigNumValue(NodeDSAP)",
+ xmlSecKeyDataKlassGetName(id));
return(-1);
}
/* next is Q node. */
cur = xmlSecAddChild(node, xmlSecNodeDSAQ, xmlSecDSigNs);
if(cur == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecAddChild",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeDSAQ));
+ xmlSecInternalError("xmlSecAddChild(NodeDSAQ)",
+ xmlSecKeyDataKlassGetName(id));
return(-1);
}
ret = xmlSecNssNodeSetBigNumValue(cur, &(ctx->pubkey->u.dsa.params.subPrime), 1);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecNssNodeSetBigNumValue",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeDSAQ));
+ xmlSecInternalError("xmlSecNssNodeSetBigNumValue(NodeDSAQ)",
+ xmlSecKeyDataKlassGetName(id));
return(-1);
}
/* next is G node. */
cur = xmlSecAddChild(node, xmlSecNodeDSAG, xmlSecDSigNs);
if(cur == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecAddChild",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeDSAG));
+ xmlSecInternalError("xmlSecAddChild(NodeDSAG)",
+ xmlSecKeyDataKlassGetName(id));
return(-1);
}
ret = xmlSecNssNodeSetBigNumValue(cur, &(ctx->pubkey->u.dsa.params.base), 1);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecNssNodeSetBigNumValue",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeDSAG));
+ xmlSecInternalError("xmlSecNssNodeSetBigNumValue(NodeDSAG)",
+ xmlSecKeyDataKlassGetName(id));
return(-1);
}
@@ -905,25 +793,18 @@ xmlSecNssKeyDataDsaXmlWrite(xmlSecKeyDataId id, xmlSecKeyPtr key,
/* next is Y node. */
cur = xmlSecAddChild(node, xmlSecNodeDSAY, xmlSecDSigNs);
if(cur == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecAddChild",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeDSAY));
+ xmlSecInternalError("xmlSecAddChild(NodeDSAY)",
+ xmlSecKeyDataKlassGetName(id));
return(-1);
}
ret = xmlSecNssNodeSetBigNumValue(cur, &(ctx->pubkey->u.dsa.publicValue), 1);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecNssNodeSetBigNumValue",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeDSAY));
+ xmlSecInternalError("xmlSecNssNodeSetBigNumValue(NodeDSAY)",
+ xmlSecKeyDataKlassGetName(id));
return(-1);
}
+ /* done */
return(0);
}
@@ -945,46 +826,43 @@ xmlSecNssKeyDataDsaGenerate(xmlSecKeyDataPtr data, xmlSecSize sizeBits, xmlSecKe
j = PQG_PBITS_TO_INDEX(sizeBits);
rv = PK11_PQG_ParamGen(j, &pqgParams, &pqgVerify);
if (rv != SECSuccess) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- "PK11_PQG_ParamGen",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- "size=%d", sizeBits);
+ xmlSecNssError2("PK11_PQG_ParamGen", xmlSecKeyDataGetName(data),
+ "size=%lu", (unsigned long)sizeBits);
goto done;
}
rv = PK11_PQG_VerifyParams(pqgParams, pqgVerify, &res);
if (rv != SECSuccess || res != SECSuccess) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- "PK11_PQG_VerifyParams",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- "size=%d", sizeBits);
+ xmlSecNssError2("PK11_PQG_VerifyParams", xmlSecKeyDataGetName(data),
+ "size=%lu", (unsigned long)sizeBits);
goto done;
}
slot = PK11_GetBestSlot(CKM_DSA_KEY_PAIR_GEN, NULL);
- PK11_Authenticate(slot, PR_TRUE, NULL /* default pwd callback */);
+ if(slot == NULL) {
+ xmlSecNssError("PK11_GetBestSlot", xmlSecKeyDataGetName(data));
+ goto done;
+ }
+
+ rv = PK11_Authenticate(slot, PR_TRUE, NULL /* default pwd callback */);
+ if (rv != SECSuccess) {
+ xmlSecNssError2("PK11_Authenticate", xmlSecKeyDataGetName(data),
+ "token=%s", xmlSecErrorsSafeString(PK11_GetTokenName(slot)));
+ goto done;
+ }
+
privkey = PK11_GenerateKeyPair(slot, CKM_DSA_KEY_PAIR_GEN, pqgParams,
&pubkey, PR_FALSE, PR_TRUE, NULL);
if((privkey == NULL) || (pubkey == NULL)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- "PK11_GenerateKeyPair",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
-
+ xmlSecNssError("PK11_GenerateKeyPair", xmlSecKeyDataGetName(data));
goto done;
}
ret = xmlSecNssPKIKeyDataAdoptKey(data, privkey, pubkey);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- "xmlSecNssPKIKeyDataAdoptKey",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecNssPKIKeyDataAdoptKey",
+ xmlSecKeyDataGetName(data));
goto done;
}
@@ -1216,45 +1094,31 @@ xmlSecNssKeyDataRsaXmlRead(xmlSecKeyDataId id, xmlSecKeyPtr key,
xmlSecAssert2(keyInfoCtx != NULL, -1);
if(xmlSecKeyGetValue(key) != NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- NULL,
- XMLSEC_ERRORS_R_INVALID_KEY_DATA,
- "key already has a value");
+ xmlSecOtherError(XMLSEC_ERRORS_R_INVALID_KEY_DATA,
+ xmlSecKeyDataKlassGetName(id),
+ "key already has a value");
ret = -1;
goto done;
}
slot = PK11_GetBestSlot(CKM_RSA_PKCS, NULL);
if(slot == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "PK11_GetBestSlot",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNssError("PK11_GetBestSlot", xmlSecKeyDataKlassGetName(id));
ret = -1;
goto done;
}
arena = PORT_NewArena(DER_DEFAULT_CHUNKSIZE);
if(arena == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "PORT_NewArena",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- "error code=%d", PORT_GetError());
+ xmlSecNssError("PORT_NewArena", xmlSecKeyDataKlassGetName(id));
ret = -1;
goto done;
}
pubkey = (SECKEYPublicKey *)PORT_ArenaZAlloc(arena,
sizeof(SECKEYPublicKey));
- if(pubkey == NULL ) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "PORT_ArenaZAlloc",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- "error code=%d", PORT_GetError());
+ if(pubkey == NULL) {
+ xmlSecNssError("PORT_ArenaZAlloc", xmlSecKeyDataKlassGetName(id));
PORT_FreeArena(arena, PR_FALSE);
ret = -1;
goto done;
@@ -1266,22 +1130,13 @@ xmlSecNssKeyDataRsaXmlRead(xmlSecKeyDataId id, xmlSecKeyPtr key,
/* first is Modulus node. It is REQUIRED because we do not support Seed and PgenCounter*/
if((cur == NULL) || (!xmlSecCheckNodeName(cur, xmlSecNodeRSAModulus, xmlSecDSigNs))) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- xmlSecErrorsSafeString(xmlSecNodeGetName(cur)),
- XMLSEC_ERRORS_R_INVALID_NODE,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeRSAModulus));
+ xmlSecInvalidNodeError(cur, xmlSecNodeRSAModulus, xmlSecKeyDataKlassGetName(id));
ret = -1;
goto done;
}
if(xmlSecNssNodeGetBigNumValue(arena, cur, &(pubkey->u.rsa.modulus)) == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecNssNodeGetBigNumValue",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeRSAModulus));
+ xmlSecInternalError("xmlSecNssNodeGetBigNumValue(NodeRSAModulus)",
+ xmlSecKeyDataKlassGetName(id));
ret = -1;
goto done;
}
@@ -1289,22 +1144,13 @@ xmlSecNssKeyDataRsaXmlRead(xmlSecKeyDataId id, xmlSecKeyPtr key,
/* next is Exponent node. It is REQUIRED because we do not support Seed and PgenCounter*/
if((cur == NULL) || (!xmlSecCheckNodeName(cur, xmlSecNodeRSAExponent, xmlSecDSigNs))) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- xmlSecErrorsSafeString(xmlSecNodeGetName(cur)),
- XMLSEC_ERRORS_R_INVALID_NODE,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeRSAExponent));
+ xmlSecInvalidNodeError(cur, xmlSecNodeRSAExponent, xmlSecKeyDataKlassGetName(id));
ret = -1;
goto done;
}
if(xmlSecNssNodeGetBigNumValue(arena, cur, &(pubkey->u.rsa.publicExponent)) == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecNssNodeGetBigNumValue",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeRSAExponent));
+ xmlSecInternalError("xmlSecNssNodeGetBigNumValue(NodeRSAExponent)",
+ xmlSecKeyDataKlassGetName(id));
ret = -1;
goto done;
}
@@ -1317,33 +1163,23 @@ xmlSecNssKeyDataRsaXmlRead(xmlSecKeyDataId id, xmlSecKeyPtr key,
}
if(cur != NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- xmlSecErrorsSafeString(xmlSecNodeGetName(cur)),
- XMLSEC_ERRORS_R_INVALID_NODE,
- "no nodes expected");
+ xmlSecUnexpectedNodeError(cur, xmlSecKeyDataKlassGetName(id));
ret = -1;
goto done;
}
data = xmlSecKeyDataCreate(id);
- if(data == NULL ) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecKeyDataCreate",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ if(data == NULL) {
+ xmlSecInternalError("xmlSecKeyDataCreate",
+ xmlSecKeyDataKlassGetName(id));
ret = -1;
goto done;
}
ret = xmlSecNssPKIKeyDataAdoptKey(data, NULL, pubkey);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecNssPKIKeyDataAdoptKey",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecNssPKIKeyDataAdoptKey",
+ xmlSecKeyDataKlassGetName(id));
xmlSecKeyDataDestroy(data);
goto done;
}
@@ -1351,11 +1187,8 @@ xmlSecNssKeyDataRsaXmlRead(xmlSecKeyDataId id, xmlSecKeyPtr key,
ret = xmlSecKeySetValue(key, data);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecKeySetValue",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeySetValue",
+ xmlSecKeyDataKlassGetName(id));
xmlSecKeyDataDestroy(data);
goto done;
}
@@ -1404,44 +1237,28 @@ xmlSecNssKeyDataRsaXmlWrite(xmlSecKeyDataId id, xmlSecKeyPtr key,
/* first is Modulus node */
cur = xmlSecAddChild(node, xmlSecNodeRSAModulus, xmlSecDSigNs);
if(cur == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecAddChild",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeRSAModulus));
+ xmlSecInternalError("xmlSecAddChild(NodeRSAModulus)",
+ xmlSecKeyDataKlassGetName(id));
return(-1);
}
ret = xmlSecNssNodeSetBigNumValue(cur, &(ctx->pubkey->u.rsa.modulus), 1);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecNssNodeSetBigNumValue",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeRSAModulus));
+ xmlSecInternalError("xmlSecNssNodeSetBigNumValue(NodeRSAModulus)",
+ xmlSecKeyDataKlassGetName(id));
return(-1);
}
/* next is Exponent node. */
cur = xmlSecAddChild(node, xmlSecNodeRSAExponent, xmlSecDSigNs);
if(cur == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecAddChild",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeRSAExponent));
+ xmlSecInternalError("xmlSecAddChild(NodeRSAExponent)",
+ xmlSecKeyDataKlassGetName(id));
return(-1);
}
ret = xmlSecNssNodeSetBigNumValue(cur, &(ctx->pubkey->u.rsa.publicExponent), 1);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecNssNodeSetBigNumValue",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeRSAExponent));
+ xmlSecInternalError("xmlSecNssNodeSetBigNumValue(NodeRSAExponent)",
+ xmlSecKeyDataKlassGetName(id));
return(-1);
}
@@ -1456,7 +1273,8 @@ xmlSecNssKeyDataRsaGenerate(xmlSecKeyDataPtr data, xmlSecSize sizeBits, xmlSecKe
PK11SlotInfo *slot = NULL;
SECKEYPrivateKey *privkey = NULL;
SECKEYPublicKey *pubkey = NULL;
- int ret = -1;
+ SECStatus rv;
+ int ret = -1;
xmlSecAssert2(xmlSecKeyDataCheckId(data, xmlSecNssKeyDataRsaId), -1);
xmlSecAssert2(sizeBits > 0, -1);
@@ -1465,27 +1283,29 @@ xmlSecNssKeyDataRsaGenerate(xmlSecKeyDataPtr data, xmlSecSize sizeBits, xmlSecKe
params.pe = 65537;
slot = PK11_GetBestSlot(CKM_RSA_PKCS_KEY_PAIR_GEN, NULL);
- PK11_Authenticate(slot, PR_TRUE, NULL /* default pwd callback */);
+ if(slot == NULL) {
+ xmlSecNssError("PK11_GetBestSlot", xmlSecKeyDataGetName(data));
+ goto done;
+ }
+
+ rv = PK11_Authenticate(slot, PR_TRUE, NULL /* default pwd callback */);
+ if (rv != SECSuccess) {
+ xmlSecNssError2("PK11_Authenticate", xmlSecKeyDataGetName(data),
+ "token=%s", xmlSecErrorsSafeString(PK11_GetTokenName(slot)));
+ goto done;
+ }
+
privkey = PK11_GenerateKeyPair(slot, CKM_RSA_PKCS_KEY_PAIR_GEN, ¶ms,
&pubkey, PR_FALSE, PR_TRUE, NULL);
-
if(privkey == NULL || pubkey == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- "PK11_GenerateKeyPair",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- "error code=%d", PORT_GetError());
-
+ xmlSecNssError("PK11_GenerateKeyPair", xmlSecKeyDataGetName(data));
goto done;
}
ret = xmlSecNssPKIKeyDataAdoptKey(data, privkey, pubkey);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- "xmlSecNssPKIKeyDataAdoptKey",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecNssPKIKeyDataAdoptKey",
+ xmlSecKeyDataGetName(data));
goto done;
}
@@ -1559,5 +1379,133 @@ xmlSecNssKeyDataRsaDebugXmlDump(xmlSecKeyDataPtr data, FILE* output) {
#endif /* XMLSEC_NO_RSA */
+#ifndef XMLSEC_NO_ECDSA
+static int xmlSecNssKeyDataEcdsaInitialize(xmlSecKeyDataPtr data);
+static int xmlSecNssKeyDataEcdsaDuplicate(xmlSecKeyDataPtr dst,
+ xmlSecKeyDataPtr src);
+static void xmlSecNssKeyDataEcdsaFinalize(xmlSecKeyDataPtr data);
+
+static xmlSecKeyDataType xmlSecNssKeyDataEcdsaGetType(xmlSecKeyDataPtr data);
+static xmlSecSize xmlSecNssKeyDataEcdsaGetSize(xmlSecKeyDataPtr data);
+static void xmlSecNssKeyDataEcdsaDebugDump(xmlSecKeyDataPtr data,
+ FILE* output);
+static void xmlSecNssKeyDataEcdsaDebugXmlDump(xmlSecKeyDataPtr data,
+ FILE* output);
+
+static xmlSecKeyDataKlass xmlSecNssKeyDataEcdsaKlass = {
+ sizeof(xmlSecKeyDataKlass),
+ xmlSecNssPKIKeyDataSize,
+
+ /* data */
+ xmlSecNameECDSAKeyValue,
+ xmlSecKeyDataUsageKeyValueNode | xmlSecKeyDataUsageRetrievalMethodNodeXml,
+ /* xmlSecKeyDataUsage usage; */
+ xmlSecHrefECDSAKeyValue, /* const xmlChar* href; */
+ xmlSecNodeECDSAKeyValue, /* const xmlChar* dataNodeName; */
+ xmlSecDSigNs, /* const xmlChar* dataNodeNs; */
+
+ /* constructors/destructor */
+ xmlSecNssKeyDataEcdsaInitialize, /* xmlSecKeyDataInitializeMethod initialize; */
+ xmlSecNssKeyDataEcdsaDuplicate, /* xmlSecKeyDataDuplicateMethod duplicate; */
+ xmlSecNssKeyDataEcdsaFinalize, /* xmlSecKeyDataFinalizeMethod finalize; */
+ NULL, /* xmlSecKeyDataGenerateMethod generate; */
+
+ /* get info */
+ xmlSecNssKeyDataEcdsaGetType, /* xmlSecKeyDataGetTypeMethod getType; */
+ xmlSecNssKeyDataEcdsaGetSize, /* xmlSecKeyDataGetSizeMethod getSize; */
+ NULL, /* xmlSecKeyDataGetIdentifier getIdentifier; */
+
+ /* read/write */
+ NULL, /* xmlSecKeyDataXmlReadMethod xmlRead; */
+ NULL, /* xmlSecKeyDataXmlWriteMethod xmlWrite; */
+ NULL, /* xmlSecKeyDataBinReadMethod binRead; */
+ NULL, /* xmlSecKeyDataBinWriteMethod binWrite; */
+
+ /* debug */
+ xmlSecNssKeyDataEcdsaDebugDump, /* xmlSecKeyDataDebugDumpMethod debugDump; */
+ xmlSecNssKeyDataEcdsaDebugXmlDump, /* xmlSecKeyDataDebugDumpMethod debugXmlDump; */
+
+ /* reserved for the future */
+ NULL, /* void* reserved0; */
+ NULL, /* void* reserved1; */
+};
+
+/**
+ * xmlSecNssKeyDataEcdsaGetKlass:
+ *
+ * The ECDSA key data klass.
+ *
+ * Returns: pointer to ECDSA key data klass.
+ */
+xmlSecKeyDataId
+xmlSecNssKeyDataEcdsaGetKlass(void) {
+ return(&xmlSecNssKeyDataEcdsaKlass);
+}
+
+static int
+xmlSecNssKeyDataEcdsaInitialize(xmlSecKeyDataPtr data) {
+ xmlSecAssert2(xmlSecKeyDataCheckId(data, xmlSecNssKeyDataEcdsaId), -1);
+ return(xmlSecNssPKIKeyDataInitialize(data));
+}
+
+static int
+xmlSecNssKeyDataEcdsaDuplicate(xmlSecKeyDataPtr dst, xmlSecKeyDataPtr src) {
+ xmlSecAssert2(xmlSecKeyDataCheckId(dst, xmlSecNssKeyDataEcdsaId), -1);
+ xmlSecAssert2(xmlSecKeyDataCheckId(src, xmlSecNssKeyDataEcdsaId), -1);
+
+ return(xmlSecNssPKIKeyDataDuplicate(dst, src));
+}
+
+static void
+xmlSecNssKeyDataEcdsaFinalize(xmlSecKeyDataPtr data) {
+ xmlSecAssert(xmlSecKeyDataCheckId(data, xmlSecNssKeyDataEcdsaId));
+
+ xmlSecNssPKIKeyDataFinalize(data);
+}
+
+static xmlSecKeyDataType
+xmlSecNssKeyDataEcdsaGetType(xmlSecKeyDataPtr data) {
+ xmlSecNssPKIKeyDataCtxPtr ctx;
+ xmlSecAssert2(xmlSecKeyDataCheckId(data, xmlSecNssKeyDataEcdsaId), xmlSecKeyDataTypeUnknown);
+ ctx = xmlSecNssPKIKeyDataGetCtx(data);
+ xmlSecAssert2(ctx != NULL, -1);
+ xmlSecAssert2(SECKEY_GetPublicKeyType(ctx->pubkey) == ecKey, -1);
+ if (ctx->privkey != NULL) {
+ return(xmlSecKeyDataTypePrivate | xmlSecKeyDataTypePublic);
+ } else {
+ return(xmlSecKeyDataTypePublic);
+ }
+}
+
+static xmlSecSize
+xmlSecNssKeyDataEcdsaGetSize(xmlSecKeyDataPtr data) {
+ xmlSecNssPKIKeyDataCtxPtr ctx;
+
+ xmlSecAssert2(xmlSecKeyDataCheckId(data, xmlSecNssKeyDataEcdsaId), 0);
+ ctx = xmlSecNssPKIKeyDataGetCtx(data);
+ xmlSecAssert2(ctx != NULL, -1);
+ xmlSecAssert2(SECKEY_GetPublicKeyType(ctx->pubkey) == ecKey, -1);
+
+ return(SECKEY_SignatureLen(ctx->pubkey));
+}
+
+static void
+xmlSecNssKeyDataEcdsaDebugDump(xmlSecKeyDataPtr data, FILE* output) {
+ xmlSecAssert(xmlSecKeyDataCheckId(data, xmlSecNssKeyDataEcdsaId));
+ xmlSecAssert(output != NULL);
+
+ fprintf(output, "=== ecdsa key: size = %d\n",
+ xmlSecNssKeyDataEcdsaGetSize(data));
+}
+
+static void
+xmlSecNssKeyDataEcdsaDebugXmlDump(xmlSecKeyDataPtr data, FILE* output) {
+ xmlSecAssert(xmlSecKeyDataCheckId(data, xmlSecNssKeyDataEcdsaId));
+ xmlSecAssert(output != NULL);
+
+ fprintf(output, "<ECDSAKeyValue size=\"%d\" />\n",
+ xmlSecNssKeyDataEcdsaGetSize(data));
+}
+#endif /* XMLSEC_NO_ECDSA */
diff --git a/src/nss/signatures.c b/src/nss/signatures.c
index 4f54170..57df745 100644
--- a/src/nss/signatures.c
+++ b/src/nss/signatures.c
@@ -1,5 +1,5 @@
-/**
- * XMLSec library
+/*
+ * XML Security Library (http://www.aleksey.com/xmlsec).
*
* This is free software; see Copyright file in the source
* distribution for preciese wording.
@@ -83,6 +83,24 @@ xmlSecNssSignatureCheckId(xmlSecTransformPtr transform) {
}
#endif /* XMLSEC_NO_DSA */
+#ifndef XMLSEC_NO_ECDSA
+#ifndef XMLSEC_NO_SHA1
+ if(xmlSecTransformCheckId(transform, xmlSecNssTransformEcdsaSha1Id)) {
+ return(1);
+ }
+#endif /* XMLSEC_NO_SHA1 */
+#ifndef XMLSEC_NO_SHA256
+ if(xmlSecTransformCheckId(transform, xmlSecNssTransformEcdsaSha256Id)) {
+ return(1);
+ }
+#endif /* XMLSEC_NO_SHA256 */
+#ifndef XMLSEC_NO_SHA512
+ if(xmlSecTransformCheckId(transform, xmlSecNssTransformEcdsaSha512Id)) {
+ return(1);
+ }
+#endif /* XMLSEC_NO_SHA512 */
+#endif /* XMLSEC_NO_ECDSA */
+
#ifndef XMLSEC_NO_RSA
#ifndef XMLSEC_NO_MD5
@@ -139,6 +157,30 @@ xmlSecNssSignatureInitialize(xmlSecTransformPtr transform) {
} else
#endif /* XMLSEC_NO_DSA */
+#ifndef XMLSEC_NO_ECDSA
+#ifndef XMLSEC_NO_SHA1
+ if(xmlSecTransformCheckId(transform, xmlSecNssTransformEcdsaSha1Id)) {
+ ctx->keyId = xmlSecNssKeyDataEcdsaId;
+ /* This creates a signature which is ASN1 encoded */
+ ctx->alg = SEC_OID_ANSIX962_ECDSA_SHA1_SIGNATURE;
+ } else
+#endif /* XMLSEC_NO_SHA1 */
+#ifndef XMLSEC_NO_SHA256
+ if(xmlSecTransformCheckId(transform, xmlSecNssTransformEcdsaSha256Id)) {
+ ctx->keyId = xmlSecNssKeyDataEcdsaId;
+ /* This creates a signature which is ASN1 encoded */
+ ctx->alg = SEC_OID_ANSIX962_ECDSA_SHA256_SIGNATURE;
+ } else
+#endif /* XMLSEC_NO_SHA256 */
+#ifndef XMLSEC_NO_SHA512
+ if(xmlSecTransformCheckId(transform, xmlSecNssTransformEcdsaSha512Id)) {
+ ctx->keyId = xmlSecNssKeyDataEcdsaId;
+ /* This creates a signature which is ASN1 encoded */
+ ctx->alg = SEC_OID_ANSIX962_ECDSA_SHA512_SIGNATURE;
+ } else
+#endif /* XMLSEC_NO_SHA512 */
+#endif /* XMLSEC_NO_ECDSA */
+
#ifndef XMLSEC_NO_RSA
#ifndef XMLSEC_NO_MD5
@@ -180,11 +222,7 @@ xmlSecNssSignatureInitialize(xmlSecTransformPtr transform) {
#endif /* XMLSEC_NO_RSA */
if(1) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- NULL,
- XMLSEC_ERRORS_R_INVALID_TRANSFORM,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInvalidTransfromError(transform)
return(-1);
}
@@ -240,21 +278,15 @@ xmlSecNssSignatureSetKey(xmlSecTransformPtr transform, xmlSecKeyPtr key) {
SECKEY_DestroyPrivateKey(ctx->u.sig.privkey);
ctx->u.sig.privkey = xmlSecNssPKIKeyDataGetPrivKey(value);
if(ctx->u.sig.privkey == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecNssPKIKeyDataGetPrivKey",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecNssPKIKeyDataGetPrivKey",
+ xmlSecTransformGetName(transform));
return(-1);
}
ctx->u.sig.sigctx = SGN_NewContext(ctx->alg, ctx->u.sig.privkey);
if (ctx->u.sig.sigctx == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "SGN_NewContext",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- "error code=%d", PORT_GetError());
+ xmlSecNssError("SGN_NewContext",
+ xmlSecTransformGetName(transform));
return(-1);
}
} else {
@@ -262,22 +294,16 @@ xmlSecNssSignatureSetKey(xmlSecTransformPtr transform, xmlSecKeyPtr key) {
SECKEY_DestroyPublicKey(ctx->u.vfy.pubkey);
ctx->u.vfy.pubkey = xmlSecNssPKIKeyDataGetPubKey(value);
if(ctx->u.vfy.pubkey == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecNssPKIKeyDataGetPubKey",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecNssPKIKeyDataGetPubKey",
+ xmlSecTransformGetName(transform));
return(-1);
}
ctx->u.vfy.vfyctx = VFY_CreateContext(ctx->u.vfy.pubkey, NULL,
ctx->alg, NULL);
if (ctx->u.vfy.vfyctx == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "VFY_CreateContext",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- "error code=%d", PORT_GetError());
+ xmlSecNssError("VFY_CreateContext",
+ xmlSecTransformGetName(transform));
return(-1);
}
}
@@ -309,6 +335,23 @@ xmlSecNssSignatureSetKeyReq(xmlSecTransformPtr transform, xmlSecKeyReqPtr keyRe
return(0);
}
+/**
+ * xmlSecNssSignatureAlgorithmEncoded:
+ *
+ * Determines if the given algorithm requires a signature which is ASN1 encoded.
+ */
+static int
+xmlSecNssSignatureAlgorithmEncoded(SECOidTag alg) {
+ switch(alg) {
+ case SEC_OID_ANSIX9_DSA_SIGNATURE_WITH_SHA1_DIGEST:
+ case SEC_OID_ANSIX962_ECDSA_SHA1_SIGNATURE:
+ case SEC_OID_ANSIX962_ECDSA_SHA256_SIGNATURE:
+ case SEC_OID_ANSIX962_ECDSA_SHA512_SIGNATURE:
+ return(1);
+ default:
+ return(0);
+ }
+}
static int
xmlSecNssSignatureVerify(xmlSecTransformPtr transform,
@@ -331,19 +374,16 @@ xmlSecNssSignatureVerify(xmlSecTransformPtr transform,
signature.data = (unsigned char *)data;
signature.len = dataSize;
- if(ctx->alg == SEC_OID_ANSIX9_DSA_SIGNATURE_WITH_SHA1_DIGEST) {
+ if(xmlSecNssSignatureAlgorithmEncoded(ctx->alg)) {
/* This creates a signature which is ASN1 encoded */
SECItem signatureDer;
SECStatus statusDer;
- statusDer = DSAU_EncodeDerSig(&signatureDer, &signature);
+ memset(&signatureDer, 0, sizeof(signatureDer));
+ statusDer = DSAU_EncodeDerSigWithLen(&signatureDer, &signature, signature.len);
if(statusDer != SECSuccess) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "DSAU_EncodeDerSig",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- "error code=%d",
- PORT_GetError());
+ xmlSecNssError("DSAU_EncodeDerSigWithLen",
+ xmlSecTransformGetName(transform));
return(-1);
}
status = VFY_EndWithSignature(ctx->u.vfy.vfyctx, &signatureDer);
@@ -353,20 +393,14 @@ xmlSecNssSignatureVerify(xmlSecTransformPtr transform,
}
if (status != SECSuccess) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "VFY_EndWithSignature",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- "error code=%d",
- PORT_GetError());
-
if (PORT_GetError() == SEC_ERROR_PKCS7_BAD_SIGNATURE) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "VFY_EndWithSignature",
- XMLSEC_ERRORS_R_DATA_NOT_MATCH,
- "signature does not verify");
+ xmlSecOtherError(XMLSEC_ERRORS_R_DATA_NOT_MATCH,
+ xmlSecTransformGetName(transform),
+ "VFY_EndWithSignature: signature does not verify");
transform->status = xmlSecTransformStatusFail;
+ } else {
+ xmlSecNssError("VFY_EndWithSignature",
+ xmlSecTransformGetName(transform));
}
return(-1);
}
@@ -413,21 +447,15 @@ xmlSecNssSignatureExecute(xmlSecTransformPtr transform, int last, xmlSecTransfor
if(transform->operation == xmlSecTransformOperationSign) {
status = SGN_Begin(ctx->u.sig.sigctx);
if(status != SECSuccess) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "SGN_Begin",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- "error code=%d", PORT_GetError());
+ xmlSecNssError("SGN_Begin",
+ xmlSecTransformGetName(transform));
return(-1);
}
} else {
status = VFY_Begin(ctx->u.vfy.vfyctx);
if(status != SECSuccess) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "VFY_Begin",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- "error code=%d", PORT_GetError());
+ xmlSecNssError("VFY_Begin",
+ xmlSecTransformGetName(transform));
return(-1);
}
}
@@ -440,32 +468,23 @@ xmlSecNssSignatureExecute(xmlSecTransformPtr transform, int last, xmlSecTransfor
if(transform->operation == xmlSecTransformOperationSign) {
status = SGN_Update(ctx->u.sig.sigctx, xmlSecBufferGetData(in), inSize);
if(status != SECSuccess) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "SGN_Update",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- "error code=%d", PORT_GetError());
+ xmlSecNssError("SGN_Update",
+ xmlSecTransformGetName(transform));
return(-1);
}
} else {
status = VFY_Update(ctx->u.vfy.vfyctx, xmlSecBufferGetData(in), inSize);
if(status != SECSuccess) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "VFY_Update",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- "error code=%d", PORT_GetError());
+ xmlSecNssError("VFY_Update",
+ xmlSecTransformGetName(transform));
return(-1);
}
}
ret = xmlSecBufferRemoveHead(in, inSize);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecBufferRemoveHead",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecBufferRemoveHead",
+ xmlSecTransformGetName(transform));
return(-1);
}
}
@@ -476,38 +495,48 @@ xmlSecNssSignatureExecute(xmlSecTransformPtr transform, int last, xmlSecTransfor
memset(&signature, 0, sizeof(signature));
status = SGN_End(ctx->u.sig.sigctx, &signature);
if(status != SECSuccess) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "SGN_End",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- "error code=%d", PORT_GetError());
+ xmlSecNssError("SGN_End",
+ xmlSecTransformGetName(transform));
return(-1);
}
- if(ctx->alg == SEC_OID_ANSIX9_DSA_SIGNATURE_WITH_SHA1_DIGEST) {
+ if(xmlSecNssSignatureAlgorithmEncoded(ctx->alg)) {
/* This creates a signature which is ASN1 encoded */
SECItem * signatureClr;
- signatureClr = DSAU_DecodeDerSig(&signature);
- if(signatureClr == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "DSAU_EncodeDerSig",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- "error code=%d",
- PORT_GetError());
- SECITEM_FreeItem(&signature, PR_FALSE);
- return(-1);
+ if(ctx->alg == SEC_OID_ANSIX9_DSA_SIGNATURE_WITH_SHA1_DIGEST) {
+ signatureClr = DSAU_DecodeDerSig(&signature);
+ if(signatureClr == NULL) {
+ xmlSecNssError("DSAU_DecodeDerSig",
+ xmlSecTransformGetName(transform));
+ SECITEM_FreeItem(&signature, PR_FALSE);
+ return(-1);
+ }
+ } else {
+ /* In the ECDSA case the signature length depends on the
+ * key parameters. */
+ int signatureSize = PK11_SignatureLen(ctx->u.sig.privkey);
+ if(signatureSize < 1) {
+ xmlSecNssError("PK11_SignatureLen",
+ xmlSecTransformGetName(transform));
+ SECITEM_FreeItem(&signature, PR_FALSE);
+ return(-1);
+ }
+
+ signatureClr = DSAU_DecodeDerSigToLen(&signature, signatureSize);
+ if(signatureClr == NULL) {
+ xmlSecNssError("DSAU_DecodeDerSigToLen",
+ xmlSecTransformGetName(transform));
+ SECITEM_FreeItem(&signature, PR_FALSE);
+ return(-1);
+ }
}
ret = xmlSecBufferSetData(out, signatureClr->data, signatureClr->len);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecBufferSetData",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "size=%d",
- signatureClr->len);
+ xmlSecInternalError2("xmlSecBufferSetData",
+ xmlSecTransformGetName(transform),
+ "size=%d", signatureClr->len);
SECITEM_FreeItem(&signature, PR_FALSE);
return(-1);
}
@@ -517,12 +546,9 @@ xmlSecNssSignatureExecute(xmlSecTransformPtr transform, int last, xmlSecTransfor
/* This signature is used as-is */
ret = xmlSecBufferSetData(out, signature.data, signature.len);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecBufferSetData",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "size=%d",
- signature.len);
+ xmlSecInternalError2("xmlSecBufferSetData",
+ xmlSecTransformGetName(transform),
+ "size=%d", signature.len);
SECITEM_FreeItem(&signature, PR_FALSE);
return(-1);
}
@@ -539,11 +565,7 @@ xmlSecNssSignatureExecute(xmlSecTransformPtr transform, int last, xmlSecTransfor
/* the only way we can get here is if there is no input */
xmlSecAssert2(xmlSecBufferGetSize(&(transform->inBuf)) == 0, -1);
} else {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- NULL,
- XMLSEC_ERRORS_R_INVALID_STATUS,
- "status=%d", transform->status);
+ xmlSecInvalidTransfromStatusError(transform);
return(-1);
}
@@ -598,6 +620,150 @@ xmlSecNssTransformDsaSha1GetKlass(void) {
#endif /* XMLSEC_NO_DSA */
+#ifndef XMLSEC_NO_ECDSA
+#ifndef XMLSEC_NO_SHA1
+/****************************************************************************
+ *
+ * ECDSA-SHA1 signature transform
+ *
+ ***************************************************************************/
+
+static xmlSecTransformKlass xmlSecNssEcdsaSha1Klass = {
+ /* klass/object sizes */
+ sizeof(xmlSecTransformKlass), /* xmlSecSize klassSize */
+ xmlSecNssSignatureSize, /* xmlSecSize objSize */
+
+ xmlSecNameEcdsaSha1, /* const xmlChar* name; */
+ xmlSecHrefEcdsaSha1, /* const xmlChar* href; */
+ xmlSecTransformUsageSignatureMethod, /* xmlSecTransformUsage usage; */
+
+ xmlSecNssSignatureInitialize, /* xmlSecTransformInitializeMethod initialize; */
+ xmlSecNssSignatureFinalize, /* xmlSecTransformFinalizeMethod finalize; */
+ NULL, /* xmlSecTransformNodeReadMethod readNode; */
+ NULL, /* xmlSecTransformNodeWriteMethod writeNode; */
+ xmlSecNssSignatureSetKeyReq, /* xmlSecTransformSetKeyReqMethod setKeyReq; */
+ xmlSecNssSignatureSetKey, /* xmlSecTransformSetKeyMethod setKey; */
+ xmlSecNssSignatureVerify, /* xmlSecTransformVerifyMethod verify; */
+ xmlSecTransformDefaultGetDataType, /* xmlSecTransformGetDataTypeMethod getDataType; */
+ xmlSecTransformDefaultPushBin, /* xmlSecTransformPushBinMethod pushBin; */
+ xmlSecTransformDefaultPopBin, /* xmlSecTransformPopBinMethod popBin; */
+ NULL, /* xmlSecTransformPushXmlMethod pushXml; */
+ NULL, /* xmlSecTransformPopXmlMethod popXml; */
+ xmlSecNssSignatureExecute, /* xmlSecTransformExecuteMethod execute; */
+
+ NULL, /* void* reserved0; */
+ NULL, /* void* reserved1; */
+};
+
+/**
+ * xmlSecNssTransformEcdsaSha1GetKlass:
+ *
+ * The ECDSA-SHA1 signature transform klass.
+ *
+ * Returns: ECDSA-SHA1 signature transform klass.
+ */
+xmlSecTransformId
+xmlSecNssTransformEcdsaSha1GetKlass(void) {
+ return(&xmlSecNssEcdsaSha1Klass);
+}
+
+#endif /* XMLSEC_NO_SHA1 */
+#ifndef XMLSEC_NO_SHA256
+/****************************************************************************
+ *
+ * ECDSA-SHA256 signature transform
+ *
+ ***************************************************************************/
+
+static xmlSecTransformKlass xmlSecNssEcdsaSha256Klass = {
+ /* klass/object sizes */
+ sizeof(xmlSecTransformKlass), /* xmlSecSize klassSize */
+ xmlSecNssSignatureSize, /* xmlSecSize objSize */
+
+ xmlSecNameEcdsaSha256, /* const xmlChar* name; */
+ xmlSecHrefEcdsaSha256, /* const xmlChar* href; */
+ xmlSecTransformUsageSignatureMethod, /* xmlSecTransformUsage usage; */
+
+ xmlSecNssSignatureInitialize, /* xmlSecTransformInitializeMethod initialize; */
+ xmlSecNssSignatureFinalize, /* xmlSecTransformFinalizeMethod finalize; */
+ NULL, /* xmlSecTransformNodeReadMethod readNode; */
+ NULL, /* xmlSecTransformNodeWriteMethod writeNode; */
+ xmlSecNssSignatureSetKeyReq, /* xmlSecTransformSetKeyReqMethod setKeyReq; */
+ xmlSecNssSignatureSetKey, /* xmlSecTransformSetKeyMethod setKey; */
+ xmlSecNssSignatureVerify, /* xmlSecTransformVerifyMethod verify; */
+ xmlSecTransformDefaultGetDataType, /* xmlSecTransformGetDataTypeMethod getDataType; */
+ xmlSecTransformDefaultPushBin, /* xmlSecTransformPushBinMethod pushBin; */
+ xmlSecTransformDefaultPopBin, /* xmlSecTransformPopBinMethod popBin; */
+ NULL, /* xmlSecTransformPushXmlMethod pushXml; */
+ NULL, /* xmlSecTransformPopXmlMethod popXml; */
+ xmlSecNssSignatureExecute, /* xmlSecTransformExecuteMethod execute; */
+
+ NULL, /* void* reserved0; */
+ NULL, /* void* reserved1; */
+};
+
+/**
+ * xmlSecNssTransformEcdsaSha256GetKlass:
+ *
+ * The ECDSA-SHA256 signature transform klass.
+ *
+ * Returns: ECDSA-SHA256 signature transform klass.
+ */
+xmlSecTransformId
+xmlSecNssTransformEcdsaSha256GetKlass(void) {
+ return(&xmlSecNssEcdsaSha256Klass);
+}
+
+#endif /* XMLSEC_NO_SHA256 */
+#ifndef XMLSEC_NO_SHA512
+/****************************************************************************
+ *
+ * ECDSA-SHA512 signature transform
+ *
+ ***************************************************************************/
+
+static xmlSecTransformKlass xmlSecNssEcdsaSha512Klass = {
+ /* klass/object sizes */
+ sizeof(xmlSecTransformKlass), /* xmlSecSize klassSize */
+ xmlSecNssSignatureSize, /* xmlSecSize objSize */
+
+ xmlSecNameEcdsaSha512, /* const xmlChar* name; */
+ xmlSecHrefEcdsaSha512, /* const xmlChar* href; */
+ xmlSecTransformUsageSignatureMethod, /* xmlSecTransformUsage usage; */
+
+ xmlSecNssSignatureInitialize, /* xmlSecTransformInitializeMethod initialize; */
+ xmlSecNssSignatureFinalize, /* xmlSecTransformFinalizeMethod finalize; */
+ NULL, /* xmlSecTransformNodeReadMethod readNode; */
+ NULL, /* xmlSecTransformNodeWriteMethod writeNode; */
+ xmlSecNssSignatureSetKeyReq, /* xmlSecTransformSetKeyReqMethod setKeyReq; */
+ xmlSecNssSignatureSetKey, /* xmlSecTransformSetKeyMethod setKey; */
+ xmlSecNssSignatureVerify, /* xmlSecTransformVerifyMethod verify; */
+ xmlSecTransformDefaultGetDataType, /* xmlSecTransformGetDataTypeMethod getDataType; */
+ xmlSecTransformDefaultPushBin, /* xmlSecTransformPushBinMethod pushBin; */
+ xmlSecTransformDefaultPopBin, /* xmlSecTransformPopBinMethod popBin; */
+ NULL, /* xmlSecTransformPushXmlMethod pushXml; */
+ NULL, /* xmlSecTransformPopXmlMethod popXml; */
+ xmlSecNssSignatureExecute, /* xmlSecTransformExecuteMethod execute; */
+
+ NULL, /* void* reserved0; */
+ NULL, /* void* reserved1; */
+};
+
+/**
+ * xmlSecNssTransformEcdsaSha512GetKlass:
+ *
+ * The ECDSA-SHA512 signature transform klass.
+ *
+ * Returns: ECDSA-SHA512 signature transform klass.
+ */
+xmlSecTransformId
+xmlSecNssTransformEcdsaSha512GetKlass(void) {
+ return(&xmlSecNssEcdsaSha512Klass);
+}
+
+#endif /* XMLSEC_NO_SHA512 */
+#endif /* XMLSEC_NO_ECDSA */
+
#ifndef XMLSEC_NO_RSA
#ifndef XMLSEC_NO_MD5
diff --git a/src/nss/symkeys.c b/src/nss/symkeys.c
index b98dd49..c88be8b 100644
--- a/src/nss/symkeys.c
+++ b/src/nss/symkeys.c
@@ -1,6 +1,5 @@
-/**
- *
- * XMLSec library
+/*
+ * XML Security Library (http://www.aleksey.com/xmlsec).
*
* DES Algorithm support
*
diff --git a/src/nss/x509.c b/src/nss/x509.c
index 1bb0fed..ef61d6b 100644
--- a/src/nss/x509.c
+++ b/src/nss/x509.c
@@ -1,5 +1,5 @@
-/**
- * XMLSec library
+/*
+ * XML Security Library (http://www.aleksey.com/xmlsec).
*
* X509 support
*
@@ -374,22 +374,14 @@ xmlSecNssKeyDataX509AdoptCert(xmlSecKeyDataPtr data, CERTCertificate* cert) {
if(ctx->certsList == NULL) {
ctx->certsList = CERT_NewCertList();
if(ctx->certsList == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- "CERT_NewCertList",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- "error code=%d", PORT_GetError());
+ xmlSecNssError("CERT_NewCertList", xmlSecKeyDataGetName(data));
return(-1);
}
}
ret = CERT_AddCertToListTail(ctx->certsList, cert);
if(ret != SECSuccess) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- "CERT_AddCertToListTail",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- "error code=%d", PORT_GetError());
+ xmlSecNssError("CERT_AddCertToListTail", xmlSecKeyDataGetName(data));
return(-1);
}
ctx->numCerts++;
@@ -470,13 +462,8 @@ xmlSecNssKeyDataX509AdoptCrl(xmlSecKeyDataPtr data, CERTSignedCrl* crl) {
xmlSecAssert2(ctx != NULL, -1);
crlnode = (xmlSecNssX509CrlNodePtr)PR_Malloc(sizeof(xmlSecNssX509CrlNode));
-
if(crlnode == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- "PR_Malloc",
- XMLSEC_ERRORS_R_MALLOC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNssError("PR_Malloc", xmlSecKeyDataGetName(data));
return(-1);
}
@@ -574,31 +561,22 @@ xmlSecNssKeyDataX509Duplicate(xmlSecKeyDataPtr dst, xmlSecKeyDataPtr src) {
*/
certSrc = xmlSecNssKeyDataX509GetCert(src, pos);
if(certSrc == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(src)),
- "xmlSecNssKeyDataX509GetCert",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "pos=%d", pos);
+ xmlSecInternalError2("xmlSecNssKeyDataX509GetCert",
+ xmlSecKeyDataGetName(src),
+ "pos=%d", pos);
return(-1);
}
certDst = CERT_DupCertificate(certSrc);
if(certDst == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(dst)),
- "CERT_DupCertificate",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- "error code=%d", PORT_GetError());
+ xmlSecNssError("CERT_DupCertificate", xmlSecKeyDataGetName(dst));
return(-1);
}
ret = xmlSecNssKeyDataX509AdoptCert(dst, certDst);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(dst)),
- "xmlSecNssKeyDataX509AdoptCert",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecNssKeyDataX509AdoptCert",
+ xmlSecKeyDataGetName(dst));
CERT_DestroyCertificate(certDst);
return(-1);
}
@@ -609,31 +587,22 @@ xmlSecNssKeyDataX509Duplicate(xmlSecKeyDataPtr dst, xmlSecKeyDataPtr src) {
for(pos = 0; pos < size; ++pos) {
crlSrc = xmlSecNssKeyDataX509GetCrl(src, pos);
if(crlSrc == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(src)),
- "xmlSecNssKeyDataX509GetCrl",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "pos=%d", pos);
+ xmlSecInternalError2("xmlSecNssKeyDataX509GetCrl",
+ xmlSecKeyDataGetName(src),
+ "pos=%d", pos);
return(-1);
}
crlDst = SEC_DupCrl(crlSrc);
if(crlDst == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(dst)),
- "SEC_DupCrl",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- "error code=%d", PORT_GetError());
+ xmlSecNssError("SEC_DupCrl", xmlSecKeyDataGetName(dst));
return(-1);
}
ret = xmlSecNssKeyDataX509AdoptCrl(dst, crlDst);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(dst)),
- "xmlSecNssKeyDataX509AdoptCrl",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecNssKeyDataX509AdoptCrl",
+ xmlSecKeyDataGetName(dst));
SEC_DestroyCrl(crlDst);
return(-1);
}
@@ -644,20 +613,14 @@ xmlSecNssKeyDataX509Duplicate(xmlSecKeyDataPtr dst, xmlSecKeyDataPtr src) {
if(certSrc != NULL) {
certDst = CERT_DupCertificate(certSrc);
if(certDst == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(dst)),
- "CERT_DupCertificate",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- "error code=%d", PORT_GetError());
+ xmlSecNssError("CERT_DupCertificate",
+ xmlSecKeyDataGetName(dst));
return(-1);
}
ret = xmlSecNssKeyDataX509AdoptKeyCert(dst, certDst);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(dst)),
- "xmlSecNssKeyDataX509AdoptKeyCert",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecNssKeyDataX509AdoptKeyCert",
+ xmlSecKeyDataGetName(dst));
CERT_DestroyCertificate(certDst);
return(-1);
}
@@ -701,7 +664,7 @@ xmlSecNssKeyDataX509Finalize(xmlSecKeyDataPtr data) {
static int
xmlSecNssKeyDataX509XmlRead(xmlSecKeyDataId id, xmlSecKeyPtr key,
- xmlNodePtr node, xmlSecKeyInfoCtxPtr keyInfoCtx) {
+ xmlNodePtr node, xmlSecKeyInfoCtxPtr keyInfoCtx) {
xmlSecKeyDataPtr data;
int ret;
@@ -712,34 +675,23 @@ xmlSecNssKeyDataX509XmlRead(xmlSecKeyDataId id, xmlSecKeyPtr key,
data = xmlSecKeyEnsureData(key, id);
if(data == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecKeyEnsureData",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeyEnsureData",
+ xmlSecKeyDataKlassGetName(id));
return(-1);
}
ret = xmlSecNssX509DataNodeRead(data, node, keyInfoCtx);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecNssX509DataNodeRead",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecNssX509DataNodeRead",
+ xmlSecKeyDataKlassGetName(id));
return(-1);
}
- if((keyInfoCtx->flags & XMLSEC_KEYINFO_FLAGS_X509DATA_DONT_VERIFY_CERTS) == 0) {
- ret = xmlSecNssKeyDataX509VerifyAndExtractKey(data, key, keyInfoCtx);
- if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecNssKeyDataX509VerifyAndExtractKey",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
- return(-1);
- }
+ ret = xmlSecNssKeyDataX509VerifyAndExtractKey(data, key, keyInfoCtx);
+ if(ret < 0) {
+ xmlSecInternalError("xmlSecNssKeyDataX509VerifyAndExtractKey",
+ xmlSecKeyDataKlassGetName(id));
+ return(-1);
}
return(0);
}
@@ -761,11 +713,9 @@ xmlSecNssKeyDataX509XmlWrite(xmlSecKeyDataId id, xmlSecKeyPtr key,
content = xmlSecX509DataGetNodeContent (node, keyInfoCtx);
if (content < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecX509DataGetNodeContent",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "content=%d", content);
+ xmlSecInternalError2("xmlSecX509DataGetNodeContent",
+ xmlSecKeyDataKlassGetName(id),
+ "content=%d", content);
return(-1);
} else if(content == 0) {
/* by default we are writing certificates and crls */
@@ -784,22 +734,18 @@ xmlSecNssKeyDataX509XmlWrite(xmlSecKeyDataId id, xmlSecKeyPtr key,
for(pos = 0; pos < size; ++pos) {
cert = xmlSecNssKeyDataX509GetCert(data, pos);
if(cert == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecNssKeyDataX509GetCert",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "pos=%d", pos);
+ xmlSecInternalError2("xmlSecNssKeyDataX509GetCert",
+ xmlSecKeyDataKlassGetName(id),
+ "pos=%d", pos);
return(-1);
}
if((content & XMLSEC_X509DATA_CERTIFICATE_NODE) != 0) {
ret = xmlSecNssX509CertificateNodeWrite(cert, node, keyInfoCtx);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecNssX509CertificateNodeWrite",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "pos=%d", pos);
+ xmlSecInternalError2("xmlSecNssX509CertificateNodeWrite",
+ xmlSecKeyDataKlassGetName(id),
+ "pos=%d", pos);
return(-1);
}
}
@@ -807,11 +753,9 @@ xmlSecNssKeyDataX509XmlWrite(xmlSecKeyDataId id, xmlSecKeyPtr key,
if((content & XMLSEC_X509DATA_SUBJECTNAME_NODE) != 0) {
ret = xmlSecNssX509SubjectNameNodeWrite(cert, node, keyInfoCtx);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecNssX509SubjectNameNodeWrite",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "pos=%d", pos);
+ xmlSecInternalError2("xmlSecNssX509SubjectNameNodeWrite",
+ xmlSecKeyDataKlassGetName(id),
+ "pos=%d", pos);
return(-1);
}
}
@@ -819,11 +763,9 @@ xmlSecNssKeyDataX509XmlWrite(xmlSecKeyDataId id, xmlSecKeyPtr key,
if((content & XMLSEC_X509DATA_ISSUERSERIAL_NODE) != 0) {
ret = xmlSecNssX509IssuerSerialNodeWrite(cert, node, keyInfoCtx);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecNssX509IssuerSerialNodeWrite",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "pos=%d", pos);
+ xmlSecInternalError2("xmlSecNssX509IssuerSerialNodeWrite",
+ xmlSecKeyDataKlassGetName(id),
+ "pos=%d", pos);
return(-1);
}
}
@@ -831,11 +773,9 @@ xmlSecNssKeyDataX509XmlWrite(xmlSecKeyDataId id, xmlSecKeyPtr key,
if((content & XMLSEC_X509DATA_SKI_NODE) != 0) {
ret = xmlSecNssX509SKINodeWrite(cert, node, keyInfoCtx);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecNssX509SKINodeWrite",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "pos=%d", pos);
+ xmlSecInternalError2("xmlSecNssX509SKINodeWrite",
+ xmlSecKeyDataKlassGetName(id),
+ "pos=%d", pos);
return(-1);
}
}
@@ -847,21 +787,17 @@ xmlSecNssKeyDataX509XmlWrite(xmlSecKeyDataId id, xmlSecKeyPtr key,
for(pos = 0; pos < size; ++pos) {
crl = xmlSecNssKeyDataX509GetCrl(data, pos);
if(crl == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecNssKeyDataX509GetCrl",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "pos=%d", pos);
+ xmlSecInternalError2("xmlSecNssKeyDataX509GetCrl",
+ xmlSecKeyDataKlassGetName(id),
+ "pos=%d", pos);
return(-1);
}
ret = xmlSecNssX509CRLNodeWrite(crl, node, keyInfoCtx);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecNssX509CRLNodeWrite",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "pos=%d", pos);
+ xmlSecInternalError2("xmlSecNssX509CRLNodeWrite",
+ xmlSecKeyDataKlassGetName(id),
+ "pos=%d", pos);
return(-1);
}
}
@@ -905,11 +841,9 @@ xmlSecNssKeyDataX509DebugDump(xmlSecKeyDataPtr data, FILE* output) {
for(pos = 0; pos < size; ++pos) {
cert = xmlSecNssKeyDataX509GetCert(data, pos);
if(cert == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- "xmlSecNssKeyDataX509GetCert",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "pos=%d", pos);
+ xmlSecInternalError2("xmlSecNssKeyDataX509GetCert",
+ xmlSecKeyDataGetName(data),
+ "pos=%d", pos);
return;
}
fprintf(output, "==== Certificate:\n");
@@ -939,11 +873,9 @@ xmlSecNssKeyDataX509DebugXmlDump(xmlSecKeyDataPtr data, FILE* output) {
for(pos = 0; pos < size; ++pos) {
cert = xmlSecNssKeyDataX509GetCert(data, pos);
if(cert == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- "xmlSecNssKeyDataX509GetCert",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "pos=%d", pos);
+ xmlSecInternalError2("xmlSecNssKeyDataX509GetCert",
+ xmlSecKeyDataGetName(data),
+ "pos=%d", pos);
return;
}
fprintf(output, "<Certificate>\n");
@@ -968,32 +900,44 @@ xmlSecNssX509DataNodeRead(xmlSecKeyDataPtr data, xmlNodePtr node, xmlSecKeyInfoC
cur != NULL;
cur = xmlSecGetNextElementNode(cur->next)) {
- ret = 0;
if(xmlSecCheckNodeName(cur, xmlSecNodeX509Certificate, xmlSecDSigNs)) {
ret = xmlSecNssX509CertificateNodeRead(data, cur, keyInfoCtx);
+ if(ret < 0) {
+ xmlSecInternalError("xmlSecNssX509CertificateNodeRead",
+ xmlSecKeyDataGetName(data));
+ return(-1);
+ }
} else if(xmlSecCheckNodeName(cur, xmlSecNodeX509SubjectName, xmlSecDSigNs)) {
ret = xmlSecNssX509SubjectNameNodeRead(data, cur, keyInfoCtx);
+ if(ret < 0) {
+ xmlSecInternalError("xmlSecNssX509SubjectNameNodeRead",
+ xmlSecKeyDataGetName(data));
+ return(-1);
+ }
} else if(xmlSecCheckNodeName(cur, xmlSecNodeX509IssuerSerial, xmlSecDSigNs)) {
ret = xmlSecNssX509IssuerSerialNodeRead(data, cur, keyInfoCtx);
+ if(ret < 0) {
+ xmlSecInternalError("xmlSecNssX509IssuerSerialNodeRead",
+ xmlSecKeyDataGetName(data));
+ return(-1);
+ }
} else if(xmlSecCheckNodeName(cur, xmlSecNodeX509SKI, xmlSecDSigNs)) {
ret = xmlSecNssX509SKINodeRead(data, cur, keyInfoCtx);
+ if(ret < 0) {
+ xmlSecInternalError("xmlSecNssX509SKINodeRead",
+ xmlSecKeyDataGetName(data));
+ return(-1);
+ }
} else if(xmlSecCheckNodeName(cur, xmlSecNodeX509CRL, xmlSecDSigNs)) {
ret = xmlSecNssX509CRLNodeRead(data, cur, keyInfoCtx);
+ if(ret < 0) {
+ xmlSecInternalError("xmlSecNssX509CRLNodeRead",
+ xmlSecKeyDataGetName(data));
+ return(-1);
+ }
} else if((keyInfoCtx->flags & XMLSEC_KEYINFO_FLAGS_X509DATA_STOP_ON_UNKNOWN_CHILD) != 0) {
/* laxi schema validation: ignore unknown nodes */
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- xmlSecErrorsSafeString(xmlSecNodeGetName(cur)),
- XMLSEC_ERRORS_R_UNEXPECTED_NODE,
- XMLSEC_ERRORS_NO_MESSAGE);
- return(-1);
- }
- if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- xmlSecErrorsSafeString(xmlSecNodeGetName(cur)),
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "read node failed");
+ xmlSecUnexpectedNodeError(cur, xmlSecKeyDataGetName(data));
return(-1);
}
}
@@ -1016,11 +960,7 @@ xmlSecNssX509CertificateNodeRead(xmlSecKeyDataPtr data, xmlNodePtr node, xmlSecK
xmlFree(content);
}
if((keyInfoCtx->flags & XMLSEC_KEYINFO_FLAGS_STOP_ON_EMPTY_NODE) != 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- xmlSecErrorsSafeString(xmlSecNodeGetName(node)),
- XMLSEC_ERRORS_R_INVALID_NODE_CONTENT,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInvalidNodeContentError(node, xmlSecKeyDataGetName(data), "empty");
return(-1);
}
return(0);
@@ -1028,22 +968,16 @@ xmlSecNssX509CertificateNodeRead(xmlSecKeyDataPtr data, xmlNodePtr node, xmlSecK
cert = xmlSecNssX509CertBase64DerRead(content);
if(cert == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- "xmlSecNssX509CertBase64DerRead",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecNssX509CertBase64DerRead",
+ xmlSecKeyDataGetName(data));
xmlFree(content);
return(-1);
}
ret = xmlSecNssKeyDataX509AdoptCert(data, cert);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- "xmlSecNssKeyDataX509AdoptCert",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecNssKeyDataX509AdoptCert",
+ xmlSecKeyDataGetName(data));
CERT_DestroyCertificate(cert);
xmlFree(content);
return(-1);
@@ -1065,22 +999,13 @@ xmlSecNssX509CertificateNodeWrite(CERTCertificate* cert, xmlNodePtr node, xmlSec
/* set base64 lines size from context */
buf = xmlSecNssX509CertBase64DerWrite(cert, keyInfoCtx->base64LineSize);
if(buf == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecNssX509CertBase64DerWrite",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecNssX509CertBase64DerWrite", NULL);
return(-1);
}
cur = xmlSecEnsureEmptyChild(node, xmlSecNodeX509Certificate, xmlSecDSigNs);
if(cur == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecEnsureEmptyChild",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeX509Certificate));
+ xmlSecInternalError("xmlSecEnsureEmptyChild(NodeX509Certificate)", NULL);
xmlFree(buf);
return(-1);
}
@@ -1107,11 +1032,8 @@ xmlSecNssX509SubjectNameNodeRead(xmlSecKeyDataPtr data, xmlNodePtr node, xmlSecK
x509Store = xmlSecKeysMngrGetDataStore(keyInfoCtx->keysMngr, xmlSecNssX509StoreId);
if(x509Store == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- "xmlSecKeysMngrGetDataStore",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeysMngrGetDataStore",
+ xmlSecKeyDataGetName(data));
return(-1);
}
@@ -1121,11 +1043,7 @@ xmlSecNssX509SubjectNameNodeRead(xmlSecKeyDataPtr data, xmlNodePtr node, xmlSecK
xmlFree(subject);
}
if((keyInfoCtx->flags & XMLSEC_KEYINFO_FLAGS_STOP_ON_EMPTY_NODE) != 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- xmlSecErrorsSafeString(xmlSecNodeGetName(node)),
- XMLSEC_ERRORS_R_INVALID_NODE_CONTENT,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInvalidNodeContentError(node, xmlSecKeyDataGetName(data), "empty");
return(-1);
}
return(0);
@@ -1135,12 +1053,8 @@ xmlSecNssX509SubjectNameNodeRead(xmlSecKeyDataPtr data, xmlNodePtr node, xmlSecK
if(cert == NULL){
if((keyInfoCtx->flags & XMLSEC_KEYINFO_FLAGS_X509DATA_STOP_ON_UNKNOWN_CERT) != 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- NULL,
- XMLSEC_ERRORS_R_CERT_NOT_FOUND,
- "subject=%s",
- xmlSecErrorsSafeString(subject));
+ xmlSecOtherError2(XMLSEC_ERRORS_R_CERT_NOT_FOUND, xmlSecKeyDataGetName(data),
+ "subject=%s", xmlSecErrorsSafeString(subject));
xmlFree(subject);
return(-1);
}
@@ -1151,11 +1065,8 @@ xmlSecNssX509SubjectNameNodeRead(xmlSecKeyDataPtr data, xmlNodePtr node, xmlSecK
ret = xmlSecNssKeyDataX509AdoptCert(data, cert);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- "xmlSecNssKeyDataX509AdoptCert",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecNssKeyDataX509AdoptCert",
+ xmlSecKeyDataGetName(data));
CERT_DestroyCertificate(cert);
xmlFree(subject);
return(-1);
@@ -1169,32 +1080,32 @@ static int
xmlSecNssX509SubjectNameNodeWrite(CERTCertificate* cert, xmlNodePtr node, xmlSecKeyInfoCtxPtr keyInfoCtx ATTRIBUTE_UNUSED) {
xmlChar* buf = NULL;
xmlNodePtr cur = NULL;
+ int ret;
xmlSecAssert2(cert != NULL, -1);
xmlSecAssert2(node != NULL, -1);
buf = xmlSecNssX509NameWrite(&(cert->subject));
if(buf == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecNssX509NameWrite(&(cert->subject))",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecNssX509NameWrite(&(cert->subject))", NULL);
return(-1);
}
cur = xmlSecEnsureEmptyChild(node, xmlSecNodeX509SubjectName, xmlSecDSigNs);
if(cur == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecEnsureEmptyChild",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeX509SubjectName));
+ xmlSecInternalError("xmlSecEnsureEmptyChild(NodeX509SubjectName)", NULL);
xmlFree(buf);
return(-1);
}
- xmlSecNodeEncodeAndSetContent(cur, buf);
+
+ ret = xmlSecNodeEncodeAndSetContent(cur, buf);
+ if(ret < 0) {
+ xmlSecInternalError("xmlSecNodeEncodeAndSetContent", NULL);
+ xmlFree(buf);
+ return(-1);
+ }
+
+ /* done */
xmlFree(buf);
return(0);
}
@@ -1215,23 +1126,16 @@ xmlSecNssX509IssuerSerialNodeRead(xmlSecKeyDataPtr data, xmlNodePtr node, xmlSec
x509Store = xmlSecKeysMngrGetDataStore(keyInfoCtx->keysMngr, xmlSecNssX509StoreId);
if(x509Store == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- "xmlSecKeysMngrGetDataStore",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeysMngrGetDataStore",
+ xmlSecKeyDataGetName(data));
return(-1);
}
cur = xmlSecGetNextElementNode(node->children);
if(cur == NULL) {
if((keyInfoCtx->flags & XMLSEC_KEYINFO_FLAGS_STOP_ON_EMPTY_NODE) != 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- xmlSecErrorsSafeString(xmlSecNodeX509IssuerName),
- XMLSEC_ERRORS_R_NODE_NOT_FOUND,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeGetName(cur)));
+ xmlSecNodeNotFoundError("xmlSecGetNextElementNode", node, NULL,
+ xmlSecKeyDataGetName(data));
return(-1);
}
return(0);
@@ -1239,56 +1143,32 @@ xmlSecNssX509IssuerSerialNodeRead(xmlSecKeyDataPtr data, xmlNodePtr node, xmlSec
/* the first is required node X509IssuerName */
if(!xmlSecCheckNodeName(cur, xmlSecNodeX509IssuerName, xmlSecDSigNs)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- xmlSecErrorsSafeString(xmlSecNodeX509IssuerName),
- XMLSEC_ERRORS_R_NODE_NOT_FOUND,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeGetName(cur)));
+ xmlSecInvalidNodeError(cur, xmlSecNodeX509IssuerName, xmlSecKeyDataGetName(data));
return(-1);
}
issuerName = xmlNodeGetContent(cur);
if(issuerName == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- xmlSecErrorsSafeString(xmlSecNodeGetName(cur)),
- XMLSEC_ERRORS_R_INVALID_NODE_CONTENT,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeX509IssuerName));
+ xmlSecInvalidNodeContentError(cur, xmlSecKeyDataGetName(data), "empty");
return(-1);
}
cur = xmlSecGetNextElementNode(cur->next);
/* next is required node X509SerialNumber */
if((cur == NULL) || !xmlSecCheckNodeName(cur, xmlSecNodeX509SerialNumber, xmlSecDSigNs)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- xmlSecErrorsSafeString(xmlSecNodeGetName(cur)),
- XMLSEC_ERRORS_R_NODE_NOT_FOUND,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeX509SerialNumber));
+ xmlSecInvalidNodeError(cur, xmlSecNodeX509SerialNumber, xmlSecKeyDataGetName(data));
xmlFree(issuerName);
return(-1);
}
issuerSerial = xmlNodeGetContent(cur);
if(issuerSerial == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- xmlSecErrorsSafeString(xmlSecNodeX509SerialNumber),
- XMLSEC_ERRORS_R_INVALID_NODE_CONTENT,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeGetName(cur)));
+ xmlSecInvalidNodeContentError(cur, xmlSecKeyDataGetName(data), "empty");
xmlFree(issuerName);
return(-1);
}
cur = xmlSecGetNextElementNode(cur->next);
if(cur != NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- xmlSecErrorsSafeString(xmlSecNodeGetName(cur)),
- XMLSEC_ERRORS_R_UNEXPECTED_NODE,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecUnexpectedNodeError(cur, xmlSecKeyDataGetName(data));
xmlFree(issuerSerial);
xmlFree(issuerName);
return(-1);
@@ -1297,13 +1177,10 @@ xmlSecNssX509IssuerSerialNodeRead(xmlSecKeyDataPtr data, xmlNodePtr node, xmlSec
cert = xmlSecNssX509StoreFindCert(x509Store, NULL, issuerName, issuerSerial, NULL, keyInfoCtx);
if(cert == NULL){
if((keyInfoCtx->flags & XMLSEC_KEYINFO_FLAGS_X509DATA_STOP_ON_UNKNOWN_CERT) != 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- NULL,
- XMLSEC_ERRORS_R_CERT_NOT_FOUND,
- "issuerName=%s;issuerSerial=%s",
- xmlSecErrorsSafeString(issuerName),
- xmlSecErrorsSafeString(issuerSerial));
+ xmlSecOtherError3(XMLSEC_ERRORS_R_CERT_NOT_FOUND, xmlSecKeyDataGetName(data),
+ "issuerName=%s;issuerSerial=%s",
+ xmlSecErrorsSafeString(issuerName),
+ xmlSecErrorsSafeString(issuerSerial));
xmlFree(issuerSerial);
xmlFree(issuerName);
return(-1);
@@ -1316,11 +1193,8 @@ xmlSecNssX509IssuerSerialNodeRead(xmlSecKeyDataPtr data, xmlNodePtr node, xmlSec
ret = xmlSecNssKeyDataX509AdoptCert(data, cert);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- "xmlSecNssKeyDataX509AdoptCert",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecNssKeyDataX509AdoptCert",
+ xmlSecKeyDataGetName(data));
CERT_DestroyCertificate(cert);
xmlFree(issuerSerial);
xmlFree(issuerName);
@@ -1338,6 +1212,7 @@ xmlSecNssX509IssuerSerialNodeWrite(CERTCertificate* cert, xmlNodePtr node, xmlSe
xmlNodePtr issuerNameNode;
xmlNodePtr issuerNumberNode;
xmlChar* buf;
+ int ret;
xmlSecAssert2(cert != NULL, -1);
xmlSecAssert2(node != NULL, -1);
@@ -1345,57 +1220,40 @@ xmlSecNssX509IssuerSerialNodeWrite(CERTCertificate* cert, xmlNodePtr node, xmlSe
/* create xml nodes */
cur = xmlSecEnsureEmptyChild(node, xmlSecNodeX509IssuerSerial, xmlSecDSigNs);
if(cur == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecEnsureEmptyChild",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeX509IssuerSerial));
+ xmlSecInternalError("xmlSecEnsureEmptyChild(NodeX509IssuerSerial)", NULL);
return(-1);
}
issuerNameNode = xmlSecEnsureEmptyChild(cur, xmlSecNodeX509IssuerName, xmlSecDSigNs);
if(issuerNameNode == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecEnsureEmptyChild",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeX509IssuerName));
+ xmlSecInternalError("xmlSecEnsureEmptyChild(NodeX509IssuerName)", NULL);
return(-1);
}
issuerNumberNode = xmlSecEnsureEmptyChild(cur, xmlSecNodeX509SerialNumber, xmlSecDSigNs);
if(issuerNumberNode == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecEnsureEmptyChild",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeX509SerialNumber));
+ xmlSecInternalError("xmlSecEnsureEmptyChild(NodeX509SerialNumber)", NULL);
return(-1);
}
/* write data */
buf = xmlSecNssX509NameWrite(&(cert->issuer));
if(buf == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecNssX509NameWrite(&(cert->issuer))",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecNssX509NameWrite(&(cert->issuer))", NULL);
+ return(-1);
+ }
+
+ ret = xmlSecNodeEncodeAndSetContent(issuerNameNode, buf);
+ if(ret < 0) {
+ xmlSecInternalError("xmlSecNodeEncodeAndSetContent(issuerNameNode)", NULL);
+ xmlFree(buf);
return(-1);
}
- xmlSecNodeEncodeAndSetContent(issuerNameNode, buf);
xmlFree(buf);
buf = xmlSecNssASN1IntegerWrite(&(cert->serialNumber));
if(buf == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecNssASN1IntegerWrite(&(cert->serialNumber))",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecNssASN1IntegerWrite(&(cert->serialNumber))", NULL);
return(-1);
}
xmlNodeSetContent(issuerNumberNode, buf);
@@ -1418,11 +1276,8 @@ xmlSecNssX509SKINodeRead(xmlSecKeyDataPtr data, xmlNodePtr node, xmlSecKeyInfoCt
x509Store = xmlSecKeysMngrGetDataStore(keyInfoCtx->keysMngr, xmlSecNssX509StoreId);
if(x509Store == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- "xmlSecKeysMngrGetDataStore",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeysMngrGetDataStore",
+ xmlSecKeyDataGetName(data));
return(-1);
}
@@ -1432,12 +1287,7 @@ xmlSecNssX509SKINodeRead(xmlSecKeyDataPtr data, xmlNodePtr node, xmlSecKeyInfoCt
xmlFree(ski);
}
if((keyInfoCtx->flags & XMLSEC_KEYINFO_FLAGS_STOP_ON_EMPTY_NODE) != 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- xmlSecErrorsSafeString(xmlSecNodeGetName(node)),
- XMLSEC_ERRORS_R_INVALID_NODE_CONTENT,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeX509SKI));
+ xmlSecInvalidNodeContentError(node, xmlSecKeyDataGetName(data), "empty");
return(-1);
}
return(0);
@@ -1448,12 +1298,8 @@ xmlSecNssX509SKINodeRead(xmlSecKeyDataPtr data, xmlNodePtr node, xmlSecKeyInfoCt
xmlFree(ski);
if((keyInfoCtx->flags & XMLSEC_KEYINFO_FLAGS_X509DATA_STOP_ON_UNKNOWN_CERT) != 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- NULL,
- XMLSEC_ERRORS_R_CERT_NOT_FOUND,
- "ski=%s",
- xmlSecErrorsSafeString(ski));
+ xmlSecOtherError2(XMLSEC_ERRORS_R_CERT_NOT_FOUND, xmlSecKeyDataGetName(data),
+ "ski=%s", xmlSecErrorsSafeString(ski));
return(-1);
}
return(0);
@@ -1461,11 +1307,8 @@ xmlSecNssX509SKINodeRead(xmlSecKeyDataPtr data, xmlNodePtr node, xmlSecKeyInfoCt
ret = xmlSecNssKeyDataX509AdoptCert(data, cert);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- "xmlSecNssKeyDataX509AdoptCert",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecNssKeyDataX509AdoptCert",
+ xmlSecKeyDataGetName(data));
CERT_DestroyCertificate(cert);
xmlFree(ski);
return(-1);
@@ -1479,34 +1322,33 @@ static int
xmlSecNssX509SKINodeWrite(CERTCertificate* cert, xmlNodePtr node, xmlSecKeyInfoCtxPtr keyInfoCtx ATTRIBUTE_UNUSED) {
xmlChar *buf = NULL;
xmlNodePtr cur = NULL;
+ int ret;
xmlSecAssert2(cert != NULL, -1);
xmlSecAssert2(node != NULL, -1);
buf = xmlSecNssX509SKIWrite(cert);
if(buf == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecNssX509SKIWrite",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecNssX509SKIWrite", NULL);
return(-1);
}
cur = xmlSecEnsureEmptyChild(node, xmlSecNodeX509SKI, xmlSecDSigNs);
if(cur == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecEnsureEmptyChild",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "new_node=%s",
- xmlSecErrorsSafeString(xmlSecNodeX509SKI));
+ xmlSecInternalError("xmlSecEnsureEmptyChild(NodeX509SKI)", NULL);
+ xmlFree(buf);
+ return(-1);
+ }
+
+ ret = xmlSecNodeEncodeAndSetContent(cur, buf);
+ if(ret < 0) {
+ xmlSecInternalError("xmlSecNodeEncodeAndSetContent", NULL);
xmlFree(buf);
return(-1);
}
- xmlSecNodeEncodeAndSetContent(cur, buf);
- xmlFree(buf);
+ /* done */
+ xmlFree(buf);
return(0);
}
@@ -1525,11 +1367,7 @@ xmlSecNssX509CRLNodeRead(xmlSecKeyDataPtr data, xmlNodePtr node, xmlSecKeyInfoCt
xmlFree(content);
}
if((keyInfoCtx->flags & XMLSEC_KEYINFO_FLAGS_STOP_ON_EMPTY_NODE) != 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- xmlSecErrorsSafeString(xmlSecNodeGetName(node)),
- XMLSEC_ERRORS_R_INVALID_NODE_CONTENT,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInvalidNodeContentError(node, xmlSecKeyDataGetName(data), "empty");
return(-1);
}
return(0);
@@ -1537,11 +1375,8 @@ xmlSecNssX509CRLNodeRead(xmlSecKeyDataPtr data, xmlNodePtr node, xmlSecKeyInfoCt
crl = xmlSecNssX509CrlBase64DerRead(content, keyInfoCtx);
if(crl == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- "xmlSecNssX509CrlBase64DerRead",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecNssX509CrlBase64DerRead",
+ xmlSecKeyDataGetName(data));
xmlFree(content);
return(-1);
}
@@ -1563,22 +1398,13 @@ xmlSecNssX509CRLNodeWrite(CERTSignedCrl* crl, xmlNodePtr node, xmlSecKeyInfoCtxP
/* set base64 lines size from context */
buf = xmlSecNssX509CrlBase64DerWrite(crl, keyInfoCtx->base64LineSize);
if(buf == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecNssX509CrlBase64DerWrite",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecNssX509CrlBase64DerWrite", NULL);
return(-1);
}
cur = xmlSecEnsureEmptyChild(node, xmlSecNodeX509CRL, xmlSecDSigNs);
if(cur == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecEnsureEmptyChild",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "new_node=%s",
- xmlSecErrorsSafeString(xmlSecNodeX509CRL));
+ xmlSecInternalError("xmlSecEnsureEmptyChild(NodeX509CRL)", NULL);
xmlFree(buf);
return(-1);
}
@@ -1611,11 +1437,8 @@ xmlSecNssKeyDataX509VerifyAndExtractKey(xmlSecKeyDataPtr data, xmlSecKeyPtr key,
x509Store = xmlSecKeysMngrGetDataStore(keyInfoCtx->keysMngr, xmlSecNssX509StoreId);
if(x509Store == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- "xmlSecKeysMngrGetDataStore",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeysMngrGetDataStore",
+ xmlSecKeyDataGetName(data));
return(-1);
}
@@ -1628,42 +1451,30 @@ xmlSecNssKeyDataX509VerifyAndExtractKey(xmlSecKeyDataPtr data, xmlSecKeyPtr key,
ctx->keyCert = CERT_DupCertificate(cert);
if(ctx->keyCert == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- "CERT_DupCertificate",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNssError("CERT_DupCertificate",
+ xmlSecKeyDataGetName(data));
return(-1);
}
keyValue = xmlSecNssX509CertGetKey(ctx->keyCert);
if(keyValue == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- "xmlSecNssX509CertGetKey",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecNssX509CertGetKey",
+ xmlSecKeyDataGetName(data));
return(-1);
}
/* verify that the key matches our expectations */
if(xmlSecKeyReqMatchKeyValue(&(keyInfoCtx->keyReq), keyValue) != 1) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- "xmlSecKeyReqMatchKeyValue",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeyReqMatchKeyValue",
+ xmlSecKeyDataGetName(data));
xmlSecKeyDataDestroy(keyValue);
return(-1);
}
ret = xmlSecKeySetValue(key, keyValue);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- "xmlSecKeySetValue",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeySetValue",
+ xmlSecKeyDataGetName(data));
xmlSecKeyDataDestroy(keyValue);
return(-1);
}
@@ -1672,31 +1483,21 @@ xmlSecNssKeyDataX509VerifyAndExtractKey(xmlSecKeyDataPtr data, xmlSecKeyPtr key,
if (status == SECSuccess) {
ret = xmlSecNssX509CertGetTime(¬Before, &(key->notValidBefore));
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- "xmlSecNssX509CertGetTime",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "notValidBefore");
+ xmlSecInternalError("xmlSecNssX509CertGetTime(notValidBefore)",
+ xmlSecKeyDataGetName(data));
return(-1);
}
ret = xmlSecNssX509CertGetTime(¬After, &(key->notValidAfter));
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- "xmlSecNssX509CertGetTime",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "notValidAfter");
+ xmlSecInternalError("xmlSecNssX509CertGetTime(notValidAfter)",
+ xmlSecKeyDataGetName(data));
return(-1);
}
} else {
key->notValidBefore = key->notValidAfter = 0;
}
} else if((keyInfoCtx->flags & XMLSEC_KEYINFO_FLAGS_X509DATA_STOP_ON_INVALID_CERT) != 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- NULL,
- XMLSEC_ERRORS_R_CERT_NOT_FOUND,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOtherError(XMLSEC_ERRORS_R_CERT_NOT_FOUND, xmlSecKeyDataGetName(data), NULL);
return(-1);
}
}
@@ -1742,21 +1543,13 @@ xmlSecNssX509CertGetKey(CERTCertificate* cert) {
pubkey = CERT_ExtractPublicKey(cert);
if(pubkey == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "CERT_ExtractPublicKey",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- "error code=%d", PORT_GetError());
+ xmlSecNssError("CERT_ExtractPublicKey", NULL);
return(NULL);
}
data = xmlSecNssPKIAdoptKey(NULL, pubkey);
if(data == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecNssPKIAdoptKey",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecNssPKIAdoptKey", NULL);
SECKEY_DestroyPublicKey(pubkey);
return(NULL);
}
@@ -1773,11 +1566,7 @@ xmlSecNssX509CertBase64DerRead(xmlChar* buf) {
/* usual trick with base64 decoding "in-place" */
ret = xmlSecBase64Decode(buf, (xmlSecByte*)buf, xmlStrlen(buf));
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecBase64Decode",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecBase64Decode", NULL);
return(NULL);
}
@@ -1800,11 +1589,7 @@ xmlSecNssX509CertDerRead(const xmlSecByte* buf, xmlSecSize size) {
cert = __CERT_NewTempCertificate(CERT_GetDefaultCertDB(), &derCert,
NULL, PR_FALSE, PR_TRUE);
if(cert == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "__CERT_NewTempCertificate",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- "error code=%d", PORT_GetError());
+ xmlSecNssError("__CERT_NewTempCertificate", NULL);
return(NULL);
}
@@ -1821,23 +1606,14 @@ xmlSecNssX509CertBase64DerWrite(CERTCertificate* cert, int base64LineWrap) {
xmlSecAssert2(cert != NULL, NULL);
p = cert->derCert.data;
+ xmlSecAssert2(p != NULL, NULL);
+
size = cert->derCert.len;
- if((size <= 0) || (p == NULL)){
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "cert->derCert",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- "error code=%d", PORT_GetError());
- return(NULL);
- }
+ xmlSecAssert2(size > 0, NULL);
res = xmlSecBase64Encode(p, size, base64LineWrap);
if(res == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecBase64Encode",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecBase64Encode", NULL);
return(NULL);
}
@@ -1854,11 +1630,7 @@ xmlSecNssX509CrlBase64DerRead(xmlChar* buf,
/* usual trick with base64 decoding "in-place" */
ret = xmlSecBase64Decode(buf, (xmlSecByte*)buf, xmlStrlen(buf));
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecBase64Decode",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecBase64Decode", NULL);
return(NULL);
}
@@ -1886,26 +1658,19 @@ xmlSecNssX509CrlDerRead(xmlSecByte* buf, xmlSecSize size,
*/
slot = xmlSecNssGetInternalKeySlot();
if (slot == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecNssGetInternalKeySlot",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecNssGetInternalKeySlot", NULL);
return NULL;
}
- if((keyInfoCtx->flags & XMLSEC_KEYINFO_FLAGS_X509DATA_SKIP_STRICT_CHECKS) != 0)
+ if((keyInfoCtx->flags & XMLSEC_KEYINFO_FLAGS_X509DATA_SKIP_STRICT_CHECKS) != 0) {
importOptions |= CRL_IMPORT_BYPASS_CHECKS;
+ }
crl = PK11_ImportCRL(slot, &derCrl, NULL, SEC_CRL_TYPE, NULL,
importOptions, NULL, CRL_DECODE_DEFAULT_OPTIONS);
if(crl == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "PK11_ImportCRL",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- "error code=%d", PORT_GetError());
+ xmlSecNssError("PK11_ImportCRL", NULL);
PK11_FreeSlot(slot);
return(NULL);
}
@@ -1923,23 +1688,14 @@ xmlSecNssX509CrlBase64DerWrite(CERTSignedCrl* crl, int base64LineWrap) {
xmlSecAssert2(crl != NULL && crl->derCrl != NULL, NULL);
p = crl->derCrl->data;
+ xmlSecAssert2(p != NULL, NULL);
+
size = crl->derCrl->len;
- if((size <= 0) || (p == NULL)){
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "crl->derCrl",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- "error code=%d", PORT_GetError());
- return(NULL);
- }
+ xmlSecAssert2(size > 0, NULL);
res = xmlSecBase64Encode(p, size, base64LineWrap);
if(res == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecBase64Encode",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecBase64Encode", NULL);
return(NULL);
}
@@ -1955,21 +1711,13 @@ xmlSecNssX509NameWrite(CERTName* nm) {
str = CERT_NameToAscii(nm);
if (str == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "CERT_NameToAscii",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNssError("CERT_NameToAscii", NULL);
return(NULL);
}
res = xmlStrdup(BAD_CAST str);
if(res == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlStrdup",
- XMLSEC_ERRORS_R_MALLOC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecStrdupError(BAD_CAST str, NULL);
PORT_Free(str);
return(NULL);
}
@@ -1999,11 +1747,7 @@ xmlSecNssASN1IntegerWrite(SECItem *num) {
res = (xmlChar*)xmlMalloc(resLen + 1);
if(res == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlStrdup",
- XMLSEC_ERRORS_R_MALLOC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecMallocError(resLen + 1, NULL);
return (NULL);
}
@@ -2023,22 +1767,14 @@ xmlSecNssX509SKIWrite(CERTCertificate* cert) {
rv = CERT_FindSubjectKeyIDExtension(cert, &ski);
if (rv != SECSuccess) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "CERT_FindSubjectKeyIDExtension",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNssError("CERT_FindSubjectKeyIDExtension", NULL);
SECITEM_FreeItem(&ski, PR_FALSE);
return(NULL);
}
res = xmlSecBase64Encode(ski.data, ski.len, 0);
if(res == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecBase64Encode",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecBase64Encode", NULL);
SECITEM_FreeItem(&ski, PR_FALSE);
return(NULL);
}
@@ -2178,43 +1914,30 @@ xmlSecNssKeyDataRawX509CertBinRead(xmlSecKeyDataId id, xmlSecKeyPtr key,
cert = xmlSecNssX509CertDerRead(buf, bufSize);
if(cert == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecNssX509CertDerRead",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecNssX509CertDerRead", NULL);
return(-1);
}
data = xmlSecKeyEnsureData(key, xmlSecNssKeyDataX509Id);
if(data == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecKeyEnsureData",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeyEnsureData",
+ xmlSecKeyDataKlassGetName(id));
CERT_DestroyCertificate(cert);
return(-1);
}
ret = xmlSecNssKeyDataX509AdoptCert(data, cert);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecNssKeyDataX509AdoptCert",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecNssKeyDataX509AdoptCert",
+ xmlSecKeyDataKlassGetName(id));
CERT_DestroyCertificate(cert);
return(-1);
}
ret = xmlSecNssKeyDataX509VerifyAndExtractKey(data, key, keyInfoCtx);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecNssKeyDataX509VerifyAndExtractKey",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecNssKeyDataX509VerifyAndExtractKey",
+ xmlSecKeyDataKlassGetName(id));
return(-1);
}
return(0);
diff --git a/src/nss/x509vfy.c b/src/nss/x509vfy.c
index 9e957fe..cd328fe 100644
--- a/src/nss/x509vfy.c
+++ b/src/nss/x509vfy.c
@@ -1,5 +1,5 @@
-/**
- * XMLSec library
+/*
+ * XML Security Library (http://www.aleksey.com/xmlsec).
*
* X509 support
*
@@ -168,6 +168,7 @@ xmlSecNssX509StoreVerify(xmlSecKeyDataStorePtr store, CERTCertList* certs,
SECStatus status = SECFailure;
int64 timeboundary;
int64 tmp1, tmp2;
+ PRErrorCode err;
xmlSecAssert2(xmlSecKeyDataStoreCheckId(store, xmlSecNssX509StoreId), NULL);
xmlSecAssert2(certs != NULL, NULL);
@@ -176,19 +177,20 @@ xmlSecNssX509StoreVerify(xmlSecKeyDataStorePtr store, CERTCertList* certs,
ctx = xmlSecNssX509StoreGetCtx(store);
xmlSecAssert2(ctx != NULL, NULL);
+ if(keyInfoCtx->certsVerificationTime > 0) {
+ /* convert the time since epoch in seconds to microseconds */
+ LL_UI2L(timeboundary, keyInfoCtx->certsVerificationTime);
+ tmp1 = (int64)PR_USEC_PER_SEC;
+ tmp2 = timeboundary;
+ LL_MUL(timeboundary, tmp1, tmp2);
+ } else {
+ timeboundary = PR_Now();
+ }
+
for (head = CERT_LIST_HEAD(certs);
!CERT_LIST_END(head, certs);
head = CERT_LIST_NEXT(head)) {
cert = head->cert;
- if(keyInfoCtx->certsVerificationTime > 0) {
- /* convert the time since epoch in seconds to microseconds */
- LL_UI2L(timeboundary, keyInfoCtx->certsVerificationTime);
- tmp1 = (int64)PR_USEC_PER_SEC;
- tmp2 = timeboundary;
- LL_MUL(timeboundary, tmp1, tmp2);
- } else {
- timeboundary = PR_Now();
- }
/* if cert is the issuer of any other cert in the list, then it is
* to be skipped */
@@ -211,11 +213,18 @@ xmlSecNssX509StoreVerify(xmlSecKeyDataStorePtr store, CERTCertList* certs,
continue;
}
- status = CERT_VerifyCertificate(CERT_GetDefaultCertDB(),
- cert, PR_FALSE,
- (SECCertificateUsage)0,
- timeboundary , NULL, NULL, NULL);
- if (status == SECSuccess) {
+ if((keyInfoCtx->flags & XMLSEC_KEYINFO_FLAGS_X509DATA_DONT_VERIFY_CERTS) == 0) {
+ /* it's important to set the usage here, otherwise no real verification
+ * is performed. */
+ status = CERT_VerifyCertificate(CERT_GetDefaultCertDB(),
+ cert, PR_FALSE,
+ certificateUsageEmailSigner,
+ timeboundary , NULL, NULL, NULL);
+ if(status == SECSuccess) {
+ break;
+ }
+ } else {
+ status = SECSuccess;
break;
}
}
@@ -224,44 +233,34 @@ xmlSecNssX509StoreVerify(xmlSecKeyDataStorePtr store, CERTCertList* certs,
return (cert);
}
- switch(PORT_GetError()) {
+ err = PORT_GetError();
+ switch(err) {
case SEC_ERROR_EXPIRED_ISSUER_CERTIFICATE:
case SEC_ERROR_CA_CERT_INVALID:
case SEC_ERROR_UNKNOWN_SIGNER:
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataStoreGetName(store)),
- NULL,
- XMLSEC_ERRORS_R_CERT_ISSUER_FAILED,
- "cert with subject name %s could not be verified because the issuer's cert is expired/invalid or not found",
- (cert != NULL) ? cert->subjectName : "(NULL)"
- );
+ xmlSecOtherError2(XMLSEC_ERRORS_R_CERT_ISSUER_FAILED,
+ xmlSecKeyDataStoreGetName(store),
+ "subject=\"%s\"; reason=the issuer's cert is expired/invalid or not found",
+ xmlSecErrorsSafeString(cert->subjectName));
break;
case SEC_ERROR_EXPIRED_CERTIFICATE:
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataStoreGetName(store)),
- NULL,
- XMLSEC_ERRORS_R_CERT_HAS_EXPIRED,
- "cert with subject name %s has expired",
- (cert != NULL) ? cert->subjectName : "(NULL)"
- );
+ xmlSecOtherError2(XMLSEC_ERRORS_R_CERT_HAS_EXPIRED,
+ xmlSecKeyDataStoreGetName(store),
+ "subject=\"%s\"; reason=expired",
+ xmlSecErrorsSafeString(cert->subjectName));
break;
case SEC_ERROR_REVOKED_CERTIFICATE:
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataStoreGetName(store)),
- NULL,
- XMLSEC_ERRORS_R_CERT_REVOKED,
- "cert with subject name %s has been revoked",
- (cert != NULL) ? cert->subjectName : "(NULL)"
- );
+ xmlSecOtherError2(XMLSEC_ERRORS_R_CERT_REVOKED,
+ xmlSecKeyDataStoreGetName(store),
+ "subject=\"%s\"; reason=revoked",
+ xmlSecErrorsSafeString(cert->subjectName));
break;
default:
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataStoreGetName(store)),
- NULL,
- XMLSEC_ERRORS_R_CERT_VERIFY_FAILED,
- "cert with subject name %s could not be verified, errcode %d",
- (cert != NULL) ? cert->subjectName : "(NULL)",
- PORT_GetError());
+ xmlSecOtherError3(XMLSEC_ERRORS_R_CERT_VERIFY_FAILED,
+ xmlSecKeyDataStoreGetName(store),
+ "subject=\"%s\"; reason=%d",
+ xmlSecErrorsSafeString(cert->subjectName),
+ (int)err);
break;
}
@@ -279,7 +278,7 @@ xmlSecNssX509StoreVerify(xmlSecKeyDataStorePtr store, CERTCertList* certs,
* Returns: 0 on success or a negative value if an error occurs.
*/
int
-xmlSecNssX509StoreAdoptCert(xmlSecKeyDataStorePtr store, CERTCertificate* cert, xmlSecKeyDataType type ATTRIBUTE_UNUSED) {
+xmlSecNssX509StoreAdoptCert(xmlSecKeyDataStorePtr store, CERTCertificate* cert, xmlSecKeyDataType type) {
xmlSecNssX509StoreCtxPtr ctx;
int ret;
@@ -292,25 +291,34 @@ xmlSecNssX509StoreAdoptCert(xmlSecKeyDataStorePtr store, CERTCertificate* cert,
if(ctx->certsList == NULL) {
ctx->certsList = CERT_NewCertList();
if(ctx->certsList == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataStoreGetName(store)),
- "CERT_NewCertList",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- "error code=%d", PORT_GetError());
+ xmlSecNssError("CERT_NewCertList", xmlSecKeyDataStoreGetName(store));
return(-1);
}
}
ret = CERT_AddCertToListTail(ctx->certsList, cert);
if(ret != SECSuccess) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataStoreGetName(store)),
- "CERT_AddCertToListTail",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- "error code=%d", PORT_GetError());
+ xmlSecNssError("CERT_AddCertToListTail", xmlSecKeyDataStoreGetName(store));
return(-1);
}
+ if(type == xmlSecKeyDataTypeTrusted) {
+ SECStatus status;
+
+ /* if requested, mark the certificate as trusted */
+ CERTCertTrust trust;
+ status = CERT_DecodeTrustString(&trust, "TCu,Cu,Tu");
+ if(status != SECSuccess) {
+ xmlSecNssError("CERT_DecodeTrustString", xmlSecKeyDataStoreGetName(store));
+ return(-1);
+ }
+ CERT_ChangeCertTrust(CERT_GetDefaultCertDB(), cert, &trust);
+ if(status != SECSuccess) {
+ xmlSecNssError("CERT_ChangeCertTrust", xmlSecKeyDataStoreGetName(store));
+ return(-1);
+ }
+ }
+
return(0);
}
@@ -364,12 +372,7 @@ xmlSecNssGetCertName(const xmlChar * name) {
*/
name2 = xmlStrdup(name);
if(name2 == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- NULL,
- XMLSEC_ERRORS_R_MALLOC_FAILED,
- "xmlStrlen(name)=%d",
- xmlStrlen(name));
+ xmlSecStrdupError(name, NULL);
return(NULL);
}
while( (p = (xmlChar*)xmlStrstr(name2, BAD_CAST "emailAddress=")) != NULL) {
@@ -378,25 +381,16 @@ xmlSecNssGetCertName(const xmlChar * name) {
tmp = xmlSecNssX509NameRead(name2, xmlStrlen(name2));
if(tmp == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecNssX509NameRead",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "name2=\"%s\"",
- xmlSecErrorsSafeString(name2));
+ xmlSecInternalError2("xmlSecNssX509NameRead", NULL,
+ "name2=\"%s\"", xmlSecErrorsSafeString(name2));
xmlFree(name2);
return(NULL);
}
res = CERT_AsciiToName((char*)tmp);
- if (name == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "CERT_AsciiToName",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "ascii=\"%s\", error code=%d",
- xmlSecErrorsSafeString((char*)tmp),
- PORT_GetError());
+ if (res == NULL) {
+ xmlSecNssError2("CERT_AsciiToName", NULL,
+ "ascii=\"%s\"", xmlSecErrorsSafeString((char*)tmp));
PORT_Free(tmp);
xmlFree(name2);
return(NULL);
@@ -422,23 +416,16 @@ xmlSecNssX509FindCert(CERTCertList* certsList, const xmlChar *subjectName,
if ((cert == NULL) && (subjectName != NULL)) {
name = xmlSecNssGetCertName(subjectName);
if (name == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecNssGetCertName",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "subject=%s",
- xmlSecErrorsSafeString(subjectName));
+ xmlSecInternalError2("xmlSecNssGetCertName", NULL,
+ "subject=%s",
+ xmlSecErrorsSafeString(subjectName));
goto done;
}
if(arena == NULL) {
arena = PORT_NewArena(DER_DEFAULT_CHUNKSIZE);
if (arena == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "PORT_NewArena",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNssError("PORT_NewArena", NULL);
goto done;
}
}
@@ -446,11 +433,7 @@ xmlSecNssX509FindCert(CERTCertList* certsList, const xmlChar *subjectName,
nameitem = SEC_ASN1EncodeItem(arena, NULL, (void *)name,
SEC_ASN1_GET(CERT_NameTemplate));
if (nameitem == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "SEC_ASN1EncodeItem",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "error code=%d", PORT_GetError());
+ xmlSecNssError("SEC_ASN1EncodeItem", NULL);
goto done;
}
@@ -463,23 +446,16 @@ xmlSecNssX509FindCert(CERTCertList* certsList, const xmlChar *subjectName,
name = xmlSecNssGetCertName(issuerName);
if (name == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecNssGetCertName",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "issuer=%s",
- xmlSecErrorsSafeString(issuerName));
+ xmlSecInternalError2("xmlSecNssGetCertName", NULL,
+ "issuer=%s",
+ xmlSecErrorsSafeString(issuerName));
goto done;
}
if(arena == NULL) {
arena = PORT_NewArena(DER_DEFAULT_CHUNKSIZE);
if (arena == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "PORT_NewArena",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNssError("PORT_NewArena", NULL);
goto done;
}
}
@@ -487,11 +463,7 @@ xmlSecNssX509FindCert(CERTCertList* certsList, const xmlChar *subjectName,
nameitem = SEC_ASN1EncodeItem(arena, NULL, (void *)name,
SEC_ASN1_GET(CERT_NameTemplate));
if (nameitem == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "SEC_ASN1EncodeItem",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- "error code=%d", PORT_GetError());
+ xmlSecNssError("SEC_ASN1EncodeItem", NULL);
goto done;
}
@@ -502,22 +474,14 @@ xmlSecNssX509FindCert(CERTCertList* certsList, const xmlChar *subjectName,
/* TBD: serial num can be arbitrarily long */
if(PR_sscanf((char *)issuerSerial, "%llu", &issuerSN) != 1) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "PR_sscanf",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "error code=%d", PR_GetError());
+ xmlSecNssError("PR_sscanf(issuerSerial)", NULL);
SECITEM_FreeItem(&issuerAndSN.serialNumber, PR_FALSE);
goto done;
}
rv = xmlSecNssNumToItem(&issuerAndSN.serialNumber, issuerSN);
if(rv <= 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecNssNumToItem",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "error code=%d", PR_GetError());
+ xmlSecInternalError("xmlSecNssNumToItem(serialNumber)", NULL);
SECITEM_FreeItem(&issuerAndSN.serialNumber, PR_FALSE);
goto done;
}
@@ -532,12 +496,7 @@ xmlSecNssX509FindCert(CERTCertList* certsList, const xmlChar *subjectName,
len = xmlSecBase64Decode(ski, (xmlSecByte*)ski, xmlStrlen(ski));
if(len < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecBase64Decode",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "ski=%s",
- xmlSecErrorsSafeString(ski));
+ xmlSecInternalError("xmlSecBase64Decode", NULL);
goto done;
}
@@ -561,11 +520,7 @@ xmlSecNssX509FindCert(CERTCertList* certsList, const xmlChar *subjectName,
memset(&tmpitem, 0, sizeof(tmpitem));
status = CERT_FindSubjectKeyIDExtension(head->cert, &tmpitem);
if (status != SECSuccess) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "CERT_FindSubjectKeyIDExtension",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- "ski");
+ xmlSecNssError("CERT_FindSubjectKeyIDExtension(ski)", NULL);
SECITEM_FreeItem(&tmpitem, PR_FALSE);
goto done;
}
@@ -575,11 +530,7 @@ xmlSecNssX509FindCert(CERTCertList* certsList, const xmlChar *subjectName,
) {
cert = CERT_DupCertificate(head->cert);
if(cert == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "CERT_DupCertificate",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- "error code=%d", PORT_GetError());
+ xmlSecNssError("CERT_DupCertificate", NULL);
SECITEM_FreeItem(&tmpitem, PR_FALSE);
goto done;
}
@@ -613,11 +564,8 @@ xmlSecNssX509NameRead(xmlSecByte *str, int len) {
/* return string should be no longer than input string */
retval = (xmlSecByte *)PORT_Alloc(len+1);
if(retval == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "PORT_Alloc",
- XMLSEC_ERRORS_R_MALLOC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNssError2("PORT_Alloc", NULL,
+ "size=%d", (len+1));
return(NULL);
}
p = retval;
@@ -630,11 +578,7 @@ xmlSecNssX509NameRead(xmlSecByte *str, int len) {
nameLen = xmlSecNssX509NameStringRead(&str, &len, name, sizeof(name), '=', 0);
if(nameLen < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecNssX509NameStringRead",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecNssX509NameStringRead", NULL);
goto done;
}
memcpy(p, name, nameLen);
@@ -646,11 +590,7 @@ xmlSecNssX509NameRead(xmlSecByte *str, int len) {
valueLen = xmlSecNssX509NameStringRead(&str, &len,
value, sizeof(value), '"', 1);
if(valueLen < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecNssX509NameStringRead",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecNssX509NameStringRead", NULL);
goto done;
}
/* skip spaces before comma or semicolon */
@@ -658,11 +598,7 @@ xmlSecNssX509NameRead(xmlSecByte *str, int len) {
++str; --len;
}
if((len > 0) && ((*str) != ',')) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- NULL,
- XMLSEC_ERRORS_R_INVALID_DATA,
- "comma is expected");
+ xmlSecInvalidIntegerDataError("char", (*str), "comma ','", NULL);
goto done;
}
if(len > 0) {
@@ -674,21 +610,13 @@ xmlSecNssX509NameRead(xmlSecByte *str, int len) {
*p++='\"';
} else if((*str) == '#') {
/* TODO: read octect values */
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- NULL,
- XMLSEC_ERRORS_R_INVALID_DATA,
- "reading octect values is not implemented yet");
+ xmlSecNotImplementedError("reading octect values is not implemented yet");
goto done;
} else {
valueLen = xmlSecNssX509NameStringRead(&str, &len,
value, sizeof(value), ',', 1);
if(valueLen < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecNssX509NameStringRead",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecNssX509NameStringRead", NULL);
goto done;
}
memcpy(p, value, valueLen);
@@ -734,22 +662,14 @@ xmlSecNssX509NameStringRead(xmlSecByte **str, int *strLen,
nonSpace = q;
if(xmlSecIsHex((*p))) {
if((p - (*str) + 1) >= (*strLen)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- NULL,
- XMLSEC_ERRORS_R_INVALID_DATA,
- "two hex digits expected");
+ xmlSecInvalidDataError("two hex digits expected", NULL);
return(-1);
}
*(q++) = xmlSecGetHex(p[0]) * 16 + xmlSecGetHex(p[1]);
p += 2;
} else {
if(((++p) - (*str)) >= (*strLen)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- NULL,
- XMLSEC_ERRORS_R_INVALID_DATA,
- "escaped symbol missed");
+ xmlSecInvalidDataError("escaped symbol missed", NULL);
return(-1);
}
*(q++) = *(p++);
@@ -757,11 +677,7 @@ xmlSecNssX509NameStringRead(xmlSecByte **str, int *strLen,
}
}
if(((p - (*str)) < (*strLen)) && ((*p) != delim)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- NULL,
- XMLSEC_ERRORS_R_INVALID_SIZE,
- "buffer is too small");
+ xmlSecInvalidSizeOtherError("buffer is too small", NULL);
return(-1);
}
(*strLen) -= (p - (*str));
diff --git a/src/openssl/Makefile.am b/src/openssl/Makefile.am
index edd82b9..df014c8 100644
--- a/src/openssl/Makefile.am
+++ b/src/openssl/Makefile.am
@@ -35,13 +35,9 @@ libxmlsec1_openssl_la_SOURCES =\
x509.c \
x509vfy.c \
globals.h \
- openssl11_wrapper.h \
+ openssl_compat.h \
$(NULL)
-if SHAREDLIB_HACK
-libxmlsec1_openssl_la_SOURCES += ../strings.c
-endif
-
libxmlsec1_openssl_la_LIBADD = \
$(OPENSSL_LIBS) \
$(LIBXSLT_LIBS) \
diff --git a/src/openssl/Makefile.in b/src/openssl/Makefile.in
index 8f2fa4f..1868786 100644
--- a/src/openssl/Makefile.in
+++ b/src/openssl/Makefile.in
@@ -88,7 +88,6 @@ PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
- at SHAREDLIB_HACK_TRUE@am__append_1 = ../strings.c
subdir = src/openssl
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
@@ -132,14 +131,7 @@ am__uninstall_files_from_dir = { \
am__installdirs = "$(DESTDIR)$(libdir)"
LTLIBRARIES = $(lib_LTLIBRARIES)
am__DEPENDENCIES_1 =
-am__libxmlsec1_openssl_la_SOURCES_DIST = app.c bn.c ciphers.c crypto.c \
- digests.c evp.c evp_signatures.c hmac.c kw_aes.c kw_des.c \
- kt_rsa.c signatures.c symkeys.c x509.c x509vfy.c globals.h \
- openssl11_wrapper.h ../strings.c
am__objects_1 =
-am__dirstamp = $(am__leading_dot)dirstamp
- at SHAREDLIB_HACK_TRUE@am__objects_2 = \
- at SHAREDLIB_HACK_TRUE@ ../libxmlsec1_openssl_la-strings.lo
am_libxmlsec1_openssl_la_OBJECTS = libxmlsec1_openssl_la-app.lo \
libxmlsec1_openssl_la-bn.lo libxmlsec1_openssl_la-ciphers.lo \
libxmlsec1_openssl_la-crypto.lo \
@@ -150,8 +142,7 @@ am_libxmlsec1_openssl_la_OBJECTS = libxmlsec1_openssl_la-app.lo \
libxmlsec1_openssl_la-kt_rsa.lo \
libxmlsec1_openssl_la-signatures.lo \
libxmlsec1_openssl_la-symkeys.lo libxmlsec1_openssl_la-x509.lo \
- libxmlsec1_openssl_la-x509vfy.lo $(am__objects_1) \
- $(am__objects_2)
+ libxmlsec1_openssl_la-x509vfy.lo $(am__objects_1)
libxmlsec1_openssl_la_OBJECTS = $(am_libxmlsec1_openssl_la_OBJECTS)
AM_V_lt = $(am__v_lt_ at AM_V@)
am__v_lt_ = $(am__v_lt_ at AM_DEFAULT_V@)
@@ -196,7 +187,7 @@ am__v_CCLD_ = $(am__v_CCLD_ at AM_DEFAULT_V@)
am__v_CCLD_0 = @echo " CCLD " $@;
am__v_CCLD_1 =
SOURCES = $(libxmlsec1_openssl_la_SOURCES)
-DIST_SOURCES = $(am__libxmlsec1_openssl_la_SOURCES_DIST)
+DIST_SOURCES = $(libxmlsec1_openssl_la_SOURCES)
am__can_run_installinfo = \
case $$AM_UPDATE_INFO_DIR in \
n|no|NO) false;; \
@@ -285,6 +276,7 @@ LIBXSLT_PC_FILE_COND = @LIBXSLT_PC_FILE_COND@
LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MAN2HTML = @MAN2HTML@
@@ -332,6 +324,7 @@ SHELL = @SHELL@
STRIP = @STRIP@
TAR = @TAR@
VERSION = @VERSION@
+XMLSEC_APPS = @XMLSEC_APPS@
XMLSEC_APP_DEFINES = @XMLSEC_APP_DEFINES@
XMLSEC_CFLAGS = @XMLSEC_CFLAGS@
XMLSEC_CORE_CFLAGS = @XMLSEC_CORE_CFLAGS@
@@ -348,6 +341,7 @@ XMLSEC_DEFINES = @XMLSEC_DEFINES@
XMLSEC_DL_INCLUDES = @XMLSEC_DL_INCLUDES@
XMLSEC_DL_LIBS = @XMLSEC_DL_LIBS@
XMLSEC_DOCDIR = @XMLSEC_DOCDIR@
+XMLSEC_DOCS = @XMLSEC_DOCS@
XMLSEC_EXTRA_LDFLAGS = @XMLSEC_EXTRA_LDFLAGS@
XMLSEC_GCRYPT_CFLAGS = @XMLSEC_GCRYPT_CFLAGS@
XMLSEC_GCRYPT_LIBS = @XMLSEC_GCRYPT_LIBS@
@@ -437,6 +431,7 @@ pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
+runstatedir = @runstatedir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
@@ -464,10 +459,26 @@ libxmlsec1_openssl_la_CPPFLAGS = \
$(LIBXML_CFLAGS) \
$(NULL)
-libxmlsec1_openssl_la_SOURCES = app.c bn.c ciphers.c crypto.c \
- digests.c evp.c evp_signatures.c hmac.c kw_aes.c kw_des.c \
- kt_rsa.c signatures.c symkeys.c x509.c x509vfy.c globals.h \
- openssl11_wrapper.h $(NULL) $(am__append_1)
+libxmlsec1_openssl_la_SOURCES = \
+ app.c \
+ bn.c \
+ ciphers.c \
+ crypto.c \
+ digests.c \
+ evp.c \
+ evp_signatures.c \
+ hmac.c \
+ kw_aes.c \
+ kw_des.c \
+ kt_rsa.c \
+ signatures.c \
+ symkeys.c \
+ x509.c \
+ x509vfy.c \
+ globals.h \
+ openssl_compat.h \
+ $(NULL)
+
libxmlsec1_openssl_la_LIBADD = \
$(OPENSSL_LIBS) \
$(LIBXSLT_LIBS) \
@@ -551,27 +562,16 @@ clean-libLTLIBRARIES:
echo rm -f $${locs}; \
rm -f $${locs}; \
}
-../$(am__dirstamp):
- @$(MKDIR_P) ..
- @: > ../$(am__dirstamp)
-../$(DEPDIR)/$(am__dirstamp):
- @$(MKDIR_P) ../$(DEPDIR)
- @: > ../$(DEPDIR)/$(am__dirstamp)
-../libxmlsec1_openssl_la-strings.lo: ../$(am__dirstamp) \
- ../$(DEPDIR)/$(am__dirstamp)
libxmlsec1-openssl.la: $(libxmlsec1_openssl_la_OBJECTS) $(libxmlsec1_openssl_la_DEPENDENCIES) $(EXTRA_libxmlsec1_openssl_la_DEPENDENCIES)
$(AM_V_CCLD)$(libxmlsec1_openssl_la_LINK) -rpath $(libdir) $(libxmlsec1_openssl_la_OBJECTS) $(libxmlsec1_openssl_la_LIBADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
- -rm -f ../*.$(OBJEXT)
- -rm -f ../*.lo
distclean-compile:
-rm -f *.tab.c
- at AMDEP_TRUE@@am__include@ @am__quote at ../$(DEPDIR)/libxmlsec1_openssl_la-strings.Plo at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libxmlsec1_openssl_la-app.Plo at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libxmlsec1_openssl_la-bn.Plo at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libxmlsec1_openssl_la-ciphers.Plo at am__quote@
@@ -717,19 +717,11 @@ libxmlsec1_openssl_la-x509vfy.lo: x509vfy.c
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libxmlsec1_openssl_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libxmlsec1_openssl_la-x509vfy.lo `test -f 'x509vfy.c' || echo '$(srcdir)/'`x509vfy.c
-../libxmlsec1_openssl_la-strings.lo: ../strings.c
- at am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libxmlsec1_openssl_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ../libxmlsec1_openssl_la-strings.lo -MD -MP -MF ../$(DEPDIR)/libxmlsec1_openssl_la-strings.Tpo -c -o ../libxmlsec1_openssl_la-strings.lo `test -f '../strings.c' || echo '$(srcdir)/'`../strings.c
- at am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) ../$(DEPDIR)/libxmlsec1_openssl_la-strings.Tpo ../$(DEPDIR)/libxmlsec1_openssl_la-strings.Plo
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='../strings.c' object='../libxmlsec1_openssl_la-strings.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@ $(AM_V_CC at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libxmlsec1_openssl_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ../libxmlsec1_openssl_la-strings.lo `test -f '../strings.c' || echo '$(srcdir)/'`../strings.c
-
mostlyclean-libtool:
-rm -f *.lo
clean-libtool:
-rm -rf .libs _libs
- -rm -rf ../.libs ../_libs
ID: $(am__tagged_files)
$(am__define_uniq_tagged_files); mkid -fID $$unique
@@ -846,8 +838,6 @@ clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
- -rm -f ../$(DEPDIR)/$(am__dirstamp)
- -rm -f ../$(am__dirstamp)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -858,7 +848,7 @@ clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \
mostlyclean-am
distclean: distclean-am
- -rm -rf ../$(DEPDIR) ./$(DEPDIR)
+ -rm -rf ./$(DEPDIR)
-rm -f Makefile
distclean-am: clean-am distclean-compile distclean-generic \
distclean-tags
@@ -904,7 +894,7 @@ install-ps-am:
installcheck-am:
maintainer-clean: maintainer-clean-am
- -rm -rf ../$(DEPDIR) ./$(DEPDIR)
+ -rm -rf ./$(DEPDIR)
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
diff --git a/src/openssl/app.c b/src/openssl/app.c
index 67566e9..855ce19 100644
--- a/src/openssl/app.c
+++ b/src/openssl/app.c
@@ -1,5 +1,5 @@
-/**
- * XMLSec library
+/*
+ * XML Security Library (http://www.aleksey.com/xmlsec).
*
* This is free software; see Copyright file in the source
* distribution for preciese wording.
@@ -33,8 +33,8 @@
#include <xmlsec/openssl/evp.h>
#include <xmlsec/openssl/x509.h>
-static int xmlSecOpenSSLAppLoadRANDFile (const char *file);
-static int xmlSecOpenSSLAppSaveRANDFile (const char *file);
+static int xmlSecOpenSSLAppLoadRANDFile (const char *filename);
+static int xmlSecOpenSSLAppSaveRANDFile (const char *filename);
static int xmlSecOpenSSLDefaultPasswordCallback (char *buf,
int bufsiz,
int verify,
@@ -46,6 +46,7 @@ static int xmlSecOpenSSLDummyPasswordCallback (char *buf,
/* conversion from ptr to func "the right way" */
XMLSEC_PTR_TO_FUNC_IMPL(pem_password_cb)
+XMLSEC_FUNC_TO_PTR_IMPL(pem_password_cb)
/**
@@ -61,11 +62,7 @@ XMLSEC_PTR_TO_FUNC_IMPL(pem_password_cb)
int
xmlSecOpenSSLAppInit(const char* config) {
-#if (OPENSSL_VERSION_NUMBER < 0x10100000)
- ERR_load_crypto_strings();
- OPENSSL_config(NULL);
- OpenSSL_add_all_algorithms();
-#else /* OPENSSL_VERSION_NUMBER < 0x10100000 */
+#if defined(XMLSEC_OPENSSL_API_110)
int ret;
ret = OPENSSL_init_crypto(OPENSSL_INIT_LOAD_CRYPTO_STRINGS |
@@ -76,30 +73,22 @@ xmlSecOpenSSLAppInit(const char* config) {
OPENSSL_INIT_ENGINE_ALL_BUILTIN,
NULL);
if(ret != 1) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "OPENSSL_init_crypto",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOpenSSLError("OPENSSL_init_crypto", NULL);
return(-1);
}
-#endif /* OPENSSL_VERSION_NUMBER < 0x10100000 */
+#else /* defined(XMLSEC_OPENSSL_API_110) */
+ ERR_load_crypto_strings();
+ OPENSSL_config(NULL);
+ OpenSSL_add_all_algorithms();
+#endif /* defined(XMLSEC_OPENSSL_API_110) */
if((RAND_status() != 1) && (xmlSecOpenSSLAppLoadRANDFile(NULL) != 1)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecOpenSSLAppLoadRANDFile",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecOpenSSLAppLoadRANDFile", NULL);
return(-1);
}
if((config != NULL) && (xmlSecOpenSSLSetDefaultTrustedCertsFolder(BAD_CAST config) < 0)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecOpenSSLSetDefaultTrustedCertsFolder",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecOpenSSLSetDefaultTrustedCertsFolder", NULL);
return(-1);
}
@@ -119,28 +108,28 @@ int
xmlSecOpenSSLAppShutdown(void) {
xmlSecOpenSSLAppSaveRANDFile(NULL);
-#if (OPENSSL_VERSION_NUMBER < 0x10100000)
- RAND_cleanup();
- EVP_cleanup();
+ /* OpenSSL 1.1.0+ does not require explicit cleanup */
+#if !defined(XMLSEC_OPENSSL_API_110)
#ifndef XMLSEC_NO_X509
X509_TRUST_cleanup();
#endif /* XMLSEC_NO_X509 */
+ RAND_cleanup();
+ EVP_cleanup();
+
ENGINE_cleanup();
CONF_modules_unload(1);
-
CRYPTO_cleanup_all_ex_data();
- /* finally cleanup errors */
-#if (defined(XMLSEC_OPENSSL_100) || defined(XMLSEC_OPENSSL_110))
+#if defined(XMLSEC_OPENSSL_API_100)
ERR_remove_thread_state(NULL);
-#else
+#else /* defined(XMLSEC_OPENSSL_API_100) */
ERR_remove_state(0);
-#endif /* defined(XMLSEC_OPENSSL_100) || defined(XMLSEC_OPENSSL_110) */
+#endif /* defined(XMLSEC_OPENSSL_API_100) */
ERR_free_strings();
-#endif /* (OPENSSL_VERSION_NUMBER < 0x10100000) */
+#endif /* !defined(XMLSEC_OPENSSL_API_110) */
/* done */
return(0);
@@ -170,25 +159,15 @@ xmlSecOpenSSLAppKeyLoad(const char *filename, xmlSecKeyDataFormat format,
bio = BIO_new_file(filename, "rb");
if(bio == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "BIO_new_file",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- "filename=%s;errno=%d",
- xmlSecErrorsSafeString(filename),
- errno);
+ xmlSecOpenSSLError2("BIO_new_file", NULL,
+ "filename=%s", xmlSecErrorsSafeString(filename));
return(NULL);
}
key = xmlSecOpenSSLAppKeyLoadBIO (bio, format, pwd, pwdCallback, pwdCallbackCtx);
if(key == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecOpenSSLAppKeyLoadBIO",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "filename=%s;errno=%d",
- xmlSecErrorsSafeString(filename),
- errno);
+ xmlSecInternalError2("xmlSecOpenSSLAppKeyLoadBIO", NULL,
+ "filename=%s", xmlSecErrorsSafeString(filename));
BIO_free(bio);
return(NULL);
}
@@ -223,22 +202,14 @@ xmlSecOpenSSLAppKeyLoadMemory(const xmlSecByte* data, xmlSecSize dataSize,
/* this would be a read only BIO, cast from const is ok */
bio = BIO_new_mem_buf((void*)data, dataSize);
if(bio == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "BIO_new_mem_buf",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- "errno=%d",
- errno);
+ xmlSecOpenSSLError2("BIO_new_mem_buf", NULL,
+ "dataSize=%lu", (unsigned long)dataSize);
return(NULL);
}
key = xmlSecOpenSSLAppKeyLoadBIO (bio, format, pwd, pwdCallback, pwdCallbackCtx);
if(key == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecOpenSSLAppKeyLoadBIO",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecOpenSSLAppKeyLoadBIO", NULL);
BIO_free(bio);
return(NULL);
}
@@ -292,11 +263,7 @@ xmlSecOpenSSLAppKeyLoadBIO(BIO* bio, xmlSecKeyDataFormat format,
XMLSEC_PTR_TO_FUNC(pem_password_cb, pwdCallback),
pwdCallbackCtx);
if(pKey == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "PEM_read_bio_PrivateKey and PEM_read_bio_PUBKEY",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOpenSSLError("PEM_read_bio_PrivateKey and PEM_read_bio_PUBKEY", NULL);
return(NULL);
}
}
@@ -309,11 +276,7 @@ xmlSecOpenSSLAppKeyLoadBIO(BIO* bio, xmlSecKeyDataFormat format,
(void)BIO_reset(bio);
pKey = d2i_PUBKEY_bio(bio, NULL);
if(pKey == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "d2i_PrivateKey_bio and d2i_PUBKEY_bio",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOpenSSLError("d2i_PrivateKey_bio and d2i_PUBKEY_bio", NULL);
return(NULL);
}
}
@@ -324,11 +287,7 @@ xmlSecOpenSSLAppKeyLoadBIO(BIO* bio, xmlSecKeyDataFormat format,
XMLSEC_PTR_TO_FUNC(pem_password_cb, pwdCallback),
pwdCallbackCtx);
if(pKey == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "PEM_read_bio_PrivateKey",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOpenSSLError("PEM_read_bio_PrivateKey", NULL);
return(NULL);
}
break;
@@ -338,11 +297,7 @@ xmlSecOpenSSLAppKeyLoadBIO(BIO* bio, xmlSecKeyDataFormat format,
XMLSEC_PTR_TO_FUNC(pem_password_cb, pwdCallback),
pwdCallbackCtx);
if(pKey == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "d2i_PrivateKey_bio and d2i_PUBKEY_bio",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOpenSSLError("d2i_PrivateKey_bio and d2i_PUBKEY_bio", NULL);
return(NULL);
}
break;
@@ -350,11 +305,7 @@ xmlSecOpenSSLAppKeyLoadBIO(BIO* bio, xmlSecKeyDataFormat format,
case xmlSecKeyDataFormatPkcs12:
key = xmlSecOpenSSLAppPkcs12LoadBIO(bio, pwd, pwdCallback, pwdCallbackCtx);
if(key == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecOpenSSLAppPkcs12LoadBIO",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecOpenSSLAppPkcs12LoadBIO", NULL);
return(NULL);
}
return(key);
@@ -363,55 +314,37 @@ xmlSecOpenSSLAppKeyLoadBIO(BIO* bio, xmlSecKeyDataFormat format,
case xmlSecKeyDataFormatCertDer:
key = xmlSecOpenSSLAppKeyFromCertLoadBIO(bio, format);
if(key == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecOpenSSLAppKeyFromCertLoadBIO",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecOpenSSLAppKeyFromCertLoadBIO", NULL);
return(NULL);
}
return(key);
#endif /* XMLSEC_NO_X509 */
default:
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- NULL,
- XMLSEC_ERRORS_R_INVALID_FORMAT,
- "format=%d", format);
+ xmlSecOtherError2(XMLSEC_ERRORS_R_INVALID_FORMAT, NULL,
+ "format=%d", (int)format);
return(NULL);
}
data = xmlSecOpenSSLEvpKeyAdopt(pKey);
if(data == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecOpenSSLEvpKeyAdopt",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecOpenSSLEvpKeyAdopt", NULL);
EVP_PKEY_free(pKey);
return(NULL);
}
key = xmlSecKeyCreate();
if(key == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecKeyCreate",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeyCreate",
+ xmlSecKeyDataGetName(data));
xmlSecKeyDataDestroy(data);
return(NULL);
}
ret = xmlSecKeySetValue(key, data);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecKeySetValue",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "data=%s",
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)));
+ xmlSecInternalError("xmlSecKeySetValue",
+ xmlSecKeyDataGetName(data));
xmlSecKeyDestroy(key);
xmlSecKeyDataDestroy(data);
return(NULL);
@@ -445,25 +378,15 @@ xmlSecOpenSSLAppKeyCertLoad(xmlSecKeyPtr key, const char* filename, xmlSecKeyDat
bio = BIO_new_file(filename, "rb");
if(bio == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "BIO_new_file",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- "filename=%s;errno=%d",
- xmlSecErrorsSafeString(filename),
- errno);
+ xmlSecOpenSSLError2("BIO_new_file", NULL,
+ "filename=%s", xmlSecErrorsSafeString(filename));
return(-1);
}
ret = xmlSecOpenSSLAppKeyCertLoadBIO (key, bio, format);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecOpenSSLAppKeyCertLoadBIO",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "filename=%s;errno=%d",
- xmlSecErrorsSafeString(filename),
- errno);
+ xmlSecInternalError2("xmlSecOpenSSLAppKeyCertLoadBIO", NULL,
+ "filename=%s", xmlSecErrorsSafeString(filename));
BIO_free(bio);
return(-1);
}
@@ -496,22 +419,14 @@ xmlSecOpenSSLAppKeyCertLoadMemory(xmlSecKeyPtr key, const xmlSecByte* data, xmlS
/* this would be a read only BIO, cast from const is ok */
bio = BIO_new_mem_buf((void*)data, dataSize);
if(bio == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "BIO_new_mem_buf",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- "errno=%d",
- errno);
+ xmlSecOpenSSLError2("BIO_new_mem_buf", NULL,
+ "dataSize=%lu", (unsigned long)dataSize);
return(-1);
}
ret = xmlSecOpenSSLAppKeyCertLoadBIO (key, bio, format);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecOpenSSLAppKeyCertLoadBIO",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecOpenSSLAppKeyCertLoadBIO", NULL);
BIO_free(bio);
return(-1);
}
@@ -544,12 +459,8 @@ xmlSecOpenSSLAppKeyCertLoadBIO(xmlSecKeyPtr key, BIO* bio, xmlSecKeyDataFormat f
data = xmlSecKeyEnsureData(key, xmlSecOpenSSLKeyDataX509Id);
if(data == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecKeyEnsureData",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "transform=%s",
- xmlSecErrorsSafeString(xmlSecTransformKlassGetName(xmlSecOpenSSLKeyDataX509Id)));
+ xmlSecInternalError("xmlSecKeyEnsureData",
+ xmlSecTransformKlassGetName(xmlSecOpenSSLKeyDataX509Id));
return(-1);
}
@@ -567,22 +478,15 @@ xmlSecOpenSSLAppKeyCertLoadBIO(xmlSecKeyPtr key, BIO* bio, xmlSecKeyDataFormat f
cert = xmlSecOpenSSLAppCertLoadBIO(bio, certFormat);
if(cert == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecOpenSSLAppCertLoad",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecOpenSSLAppCertLoad",
+ xmlSecKeyDataGetName(data));
return(-1);
}
ret = xmlSecOpenSSLKeyDataX509AdoptCert(data, cert);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecOpenSSLKeyDataX509AdoptCert",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "data=%s",
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)));
+ xmlSecInternalError("xmlSecOpenSSLKeyDataX509AdoptCert",
+ xmlSecKeyDataGetName(data));
X509_free(cert);
return(-1);
}
@@ -613,25 +517,15 @@ xmlSecOpenSSLAppPkcs12Load(const char *filename, const char *pwd,
bio = BIO_new_file(filename, "rb");
if(bio == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "BIO_new_file",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- "filename=%s;errno=%d",
- xmlSecErrorsSafeString(filename),
- errno);
+ xmlSecOpenSSLError2("BIO_new_file", NULL,
+ "filename=%s", xmlSecErrorsSafeString(filename));
return(NULL);
}
key = xmlSecOpenSSLAppPkcs12LoadBIO (bio, pwd, pwdCallback, pwdCallbackCtx);
if(key == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecOpenSSLAppPkcs12LoadBIO",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "filename=%s;errno=%d",
- xmlSecErrorsSafeString(filename),
- errno);
+ xmlSecInternalError2("xmlSecOpenSSLAppPkcs12LoadBIO", NULL,
+ "filename=%s", xmlSecErrorsSafeString(filename));
BIO_free(bio);
return(NULL);
}
@@ -666,22 +560,14 @@ xmlSecOpenSSLAppPkcs12LoadMemory(const xmlSecByte* data, xmlSecSize dataSize,
/* this would be a read only BIO, cast from const is ok */
bio = BIO_new_mem_buf((void*)data, dataSize);
if(bio == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "BIO_new_mem_buf",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- "errno=%d",
- errno);
+ xmlSecOpenSSLError2("BIO_new_mem_buf", NULL,
+ "dataSize=%lu", (unsigned long)dataSize);
return(NULL);
}
key = xmlSecOpenSSLAppPkcs12LoadBIO (bio, pwd, pwdCallback, pwdCallbackCtx);
if(key == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecOpenSSLAppPkcs12LoadBIO",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecOpenSSLAppPkcs12LoadBIO", NULL);
BIO_free(bio);
return(NULL);
}
@@ -724,53 +610,33 @@ xmlSecOpenSSLAppPkcs12LoadBIO(BIO* bio, const char *pwd,
p12 = d2i_PKCS12_bio(bio, NULL);
if(p12 == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "d2i_PKCS12_fp",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOpenSSLError("d2i_PKCS12_fp", NULL);
goto done;
}
ret = PKCS12_verify_mac(p12, pwd, (pwd != NULL) ? strlen(pwd) : 0);
if(ret != 1) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "PKCS12_verify_mac",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOpenSSLError("PKCS12_verify_mac", NULL);
goto done;
}
ret = PKCS12_parse(p12, pwd, &pKey, &cert, &chain);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "PKCS12_parse",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOpenSSLError("PKCS12_parse", NULL);
goto done;
}
data = xmlSecOpenSSLEvpKeyAdopt(pKey);
if(data == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecOpenSSLEvpKeyAdopt",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecOpenSSLEvpKeyAdopt", NULL);
EVP_PKEY_free(pKey);
goto done;
}
x509Data = xmlSecKeyDataCreate(xmlSecOpenSSLKeyDataX509Id);
if(x509Data == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecKeyDataCreate",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "transform=%s",
- xmlSecErrorsSafeString(xmlSecTransformKlassGetName(xmlSecOpenSSLKeyDataX509Id)));
+ xmlSecInternalError("xmlSecKeyDataCreate",
+ xmlSecTransformKlassGetName(xmlSecOpenSSLKeyDataX509Id));
goto done;
}
@@ -780,11 +646,7 @@ xmlSecOpenSSLAppPkcs12LoadBIO(BIO* bio, const char *pwd,
if(chain == NULL) {
chain = sk_X509_new_null();
if(chain == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "sk_X509_new_null",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOpenSSLError("sk_X509_new_null", NULL);
goto done;
}
}
@@ -812,23 +674,15 @@ xmlSecOpenSSLAppPkcs12LoadBIO(BIO* bio, const char *pwd,
if(has_cert == 0) {
tmpcert = X509_dup(cert);
if(tmpcert == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "X509_dup",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- "data=%s",
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(x509Data)));
+ xmlSecOpenSSLError("X509_dup",
+ xmlSecKeyDataGetName(x509Data));
goto done;
}
ret = sk_X509_push(chain, tmpcert);
if(ret < 1) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "sk_X509_push",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- "data=%s",
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(x509Data)));
+ xmlSecOpenSSLError("sk_X509_push",
+ xmlSecKeyDataGetName(x509Data));
X509_free(tmpcert);
goto done;
}
@@ -836,12 +690,8 @@ xmlSecOpenSSLAppPkcs12LoadBIO(BIO* bio, const char *pwd,
ret = xmlSecOpenSSLKeyDataX509AdoptKeyCert(x509Data, cert);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecOpenSSLKeyDataX509AdoptKeyCert",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "data=%s",
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(x509Data)));
+ xmlSecInternalError("xmlSecOpenSSLKeyDataX509AdoptKeyCert",
+ xmlSecKeyDataGetName(x509Data));
goto done;
}
cert = NULL;
@@ -851,46 +701,30 @@ xmlSecOpenSSLAppPkcs12LoadBIO(BIO* bio, const char *pwd,
tmpcert = X509_dup(sk_X509_value(chain, i));
if(tmpcert == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "X509_dup",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- "data=%s",
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(x509Data)));
+ xmlSecOpenSSLError("X509_dup",
+ xmlSecKeyDataGetName(x509Data));
X509_free(tmpcert);
goto done;
}
ret = xmlSecOpenSSLKeyDataX509AdoptCert(x509Data, tmpcert);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecOpenSSLKeyDataX509AdoptCert",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "data=%s",
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(x509Data)));
+ xmlSecInternalError("xmlSecOpenSSLKeyDataX509AdoptCert",
+ xmlSecKeyDataGetName(x509Data));
goto done;
}
}
key = xmlSecKeyCreate();
if(key == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecKeyCreate",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeyCreate", NULL);
goto done;
}
ret = xmlSecKeySetValue(key, data);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecKeySetValue",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "data=%s",
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(x509Data)));
+ xmlSecInternalError("xmlSecKeySetValue",
+ xmlSecKeyDataGetName(x509Data));
xmlSecKeyDestroy(key);
key = NULL;
goto done;
@@ -899,12 +733,8 @@ xmlSecOpenSSLAppPkcs12LoadBIO(BIO* bio, const char *pwd,
ret = xmlSecKeyAdoptData(key, x509Data);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecKeyAdoptData",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "data=%s",
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(x509Data)));
+ xmlSecInternalError("xmlSecKeyAdoptData",
+ xmlSecKeyDataGetName(x509Data));
xmlSecKeyDestroy(key);
key = NULL;
goto done;
@@ -953,22 +783,14 @@ xmlSecOpenSSLAppKeyFromCertLoadBIO(BIO* bio, xmlSecKeyDataFormat format) {
/* load cert */
cert = xmlSecOpenSSLAppCertLoadBIO(bio, format);
if(cert == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecOpenSSLAppCertLoadBIO",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecOpenSSLAppCertLoadBIO", NULL);
return(NULL);
}
/* get key value */
keyData = xmlSecOpenSSLX509CertGetKey(cert);
if(keyData == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecOpenSSLX509CertGetKey",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecOpenSSLX509CertGetKey", NULL);
X509_free(cert);
return(NULL);
}
@@ -976,11 +798,7 @@ xmlSecOpenSSLAppKeyFromCertLoadBIO(BIO* bio, xmlSecKeyDataFormat format) {
/* create key */
key = xmlSecKeyCreate();
if(key == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecKeyCreate",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeyCreate", NULL);
xmlSecKeyDataDestroy(keyData);
X509_free(cert);
return(NULL);
@@ -989,11 +807,7 @@ xmlSecOpenSSLAppKeyFromCertLoadBIO(BIO* bio, xmlSecKeyDataFormat format) {
/* set key value */
ret = xmlSecKeySetValue(key, keyData);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecKeySetValue",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeySetValue", NULL);
xmlSecKeyDestroy(key);
xmlSecKeyDataDestroy(keyData);
X509_free(cert);
@@ -1003,11 +817,7 @@ xmlSecOpenSSLAppKeyFromCertLoadBIO(BIO* bio, xmlSecKeyDataFormat format) {
/* create cert data */
certData = xmlSecKeyEnsureData(key, xmlSecOpenSSLKeyDataX509Id);
if(certData == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecKeyEnsureData",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeyEnsureData", NULL);
xmlSecKeyDestroy(key);
X509_free(cert);
return(NULL);
@@ -1016,11 +826,7 @@ xmlSecOpenSSLAppKeyFromCertLoadBIO(BIO* bio, xmlSecKeyDataFormat format) {
/* put cert in the cert data */
ret = xmlSecOpenSSLKeyDataX509AdoptCert(certData, cert);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecOpenSSLKeyDataX509AdoptCert",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecOpenSSLKeyDataX509AdoptCert", NULL);
xmlSecKeyDestroy(key);
X509_free(cert);
return(NULL);
@@ -1055,25 +861,15 @@ xmlSecOpenSSLAppKeysMngrCertLoad(xmlSecKeysMngrPtr mngr, const char *filename,
bio = BIO_new_file(filename, "rb");
if(bio == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "BIO_new_file",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- "filename=%s;errno=%d",
- xmlSecErrorsSafeString(filename),
- errno);
+ xmlSecOpenSSLError2("BIO_new_file", NULL,
+ "filename=%s", xmlSecErrorsSafeString(filename));
return(-1);
}
ret = xmlSecOpenSSLAppKeysMngrCertLoadBIO(mngr, bio, format, type);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecOpenSSLAppKeysMngrCertLoadBIO",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "filename=%s;errno=%d",
- xmlSecErrorsSafeString(filename),
- errno);
+ xmlSecInternalError2("xmlSecOpenSSLAppKeysMngrCertLoadBIO", NULL,
+ "filename=%s", xmlSecErrorsSafeString(filename));
BIO_free(bio);
return(-1);
}
@@ -1109,22 +905,14 @@ xmlSecOpenSSLAppKeysMngrCertLoadMemory(xmlSecKeysMngrPtr mngr, const xmlSecByte*
/* this would be a read only BIO, cast from const is ok */
bio = BIO_new_mem_buf((void*)data, dataSize);
if(bio == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "BIO_new_mem_buf",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- "errno=%d",
- errno);
+ xmlSecOpenSSLError2("BIO_new_mem_buf", NULL,
+ "dataSize=%lu", (unsigned long)dataSize);
return(-1);
}
ret = xmlSecOpenSSLAppKeysMngrCertLoadBIO(mngr, bio, format, type);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecOpenSSLAppKeysMngrCertLoadBIO",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecOpenSSLAppKeysMngrCertLoadBIO", NULL);
BIO_free(bio);
return(-1);
}
@@ -1158,31 +946,19 @@ xmlSecOpenSSLAppKeysMngrCertLoadBIO(xmlSecKeysMngrPtr mngr, BIO* bio,
x509Store = xmlSecKeysMngrGetDataStore(mngr, xmlSecOpenSSLX509StoreId);
if(x509Store == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecKeysMngrGetDataStore",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "xmlSecOpenSSLX509StoreId");
+ xmlSecInternalError("xmlSecKeysMngrGetDataStore(xmlSecOpenSSLX509StoreId)", NULL);
return(-1);
}
cert = xmlSecOpenSSLAppCertLoadBIO(bio, format);
if(cert == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecOpenSSLAppCertLoadBIO",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecOpenSSLAppCertLoadBIO", NULL);
return(-1);
}
ret = xmlSecOpenSSLX509StoreAdoptCert(x509Store, cert, type);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecOpenSSLX509StoreAdoptCert",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecOpenSSLX509StoreAdoptCert", NULL);
X509_free(cert);
return(-1);
}
@@ -1209,21 +985,14 @@ xmlSecOpenSSLAppKeysMngrAddCertsPath(xmlSecKeysMngrPtr mngr, const char *path) {
x509Store = xmlSecKeysMngrGetDataStore(mngr, xmlSecOpenSSLX509StoreId);
if(x509Store == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecKeysMngrGetDataStore",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "xmlSecOpenSSLX509StoreId");
+ xmlSecInternalError("xmlSecKeysMngrGetDataStore(xmlSecOpenSSLX509StoreId)", NULL);
return(-1);
}
ret = xmlSecOpenSSLX509StoreAddCertsPath(x509Store, path);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecOpenSSLX509StoreAddCertsPath",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "path=%s", xmlSecErrorsSafeString(path));
+ xmlSecInternalError2("xmlSecOpenSSLX509StoreAddCertsPath", NULL,
+ "path=%s", xmlSecErrorsSafeString(path));
return(-1);
}
@@ -1233,7 +1002,7 @@ xmlSecOpenSSLAppKeysMngrAddCertsPath(xmlSecKeysMngrPtr mngr, const char *path) {
/**
* xmlSecOpenSSLAppKeysMngrAddCertsFile:
* @mngr: the keys manager.
- * @file: the file containing trusted certificates.
+ * @filename: the file containing trusted certificates.
*
* Reads certs from @file and adds to the list of trusted certificates.
* It is possible for @file to contain multiple certs.
@@ -1241,30 +1010,23 @@ xmlSecOpenSSLAppKeysMngrAddCertsPath(xmlSecKeysMngrPtr mngr, const char *path) {
* Returns: 0 on success or a negative value otherwise.
*/
int
-xmlSecOpenSSLAppKeysMngrAddCertsFile(xmlSecKeysMngrPtr mngr, const char *file) {
+xmlSecOpenSSLAppKeysMngrAddCertsFile(xmlSecKeysMngrPtr mngr, const char *filename) {
xmlSecKeyDataStorePtr x509Store;
int ret;
xmlSecAssert2(mngr != NULL, -1);
- xmlSecAssert2(file != NULL, -1);
+ xmlSecAssert2(filename != NULL, -1);
x509Store = xmlSecKeysMngrGetDataStore(mngr, xmlSecOpenSSLX509StoreId);
if(x509Store == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecKeysMngrGetDataStore",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "xmlSecOpenSSLX509StoreId");
+ xmlSecInternalError("xmlSecKeysMngrGetDataStore(xmlSecOpenSSLX509StoreId)", NULL);
return(-1);
}
- ret = xmlSecOpenSSLX509StoreAddCertsFile(x509Store, file);
+ ret = xmlSecOpenSSLX509StoreAddCertsFile(x509Store, filename);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecOpenSSLX509StoreAddCertsFile",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "file=%s", xmlSecErrorsSafeString(file));
+ xmlSecInternalError2("xmlSecOpenSSLX509StoreAddCertsFile", NULL,
+ "filename=%s", xmlSecErrorsSafeString(filename));
return(-1);
}
@@ -1283,11 +1045,7 @@ xmlSecOpenSSLAppCertLoadBIO(BIO* bio, xmlSecKeyDataFormat format) {
case xmlSecKeyDataFormatCertPem:
cert = PEM_read_bio_X509_AUX(bio, NULL, NULL, NULL);
if(cert == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "PEM_read_bio_X509_AUX",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOpenSSLError("PEM_read_bio_X509_AUX", NULL);
return(NULL);
}
break;
@@ -1295,20 +1053,13 @@ xmlSecOpenSSLAppCertLoadBIO(BIO* bio, xmlSecKeyDataFormat format) {
case xmlSecKeyDataFormatCertDer:
cert = d2i_X509_bio(bio, NULL);
if(cert == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "d2i_X509_bio",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOpenSSLError("d2i_X509_bio", NULL);
return(NULL);
}
break;
default:
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- NULL,
- XMLSEC_ERRORS_R_INVALID_FORMAT,
- "format=%d", format);
+ xmlSecOtherError2(XMLSEC_ERRORS_R_INVALID_FORMAT, NULL,
+ "format=%d", (int)format);
return(NULL);
}
@@ -1338,21 +1089,13 @@ xmlSecOpenSSLAppDefaultKeysMngrInit(xmlSecKeysMngrPtr mngr) {
keysStore = xmlSecKeyStoreCreate(xmlSecSimpleKeysStoreId);
if(keysStore == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecKeyStoreCreate",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "xmlSecSimpleKeysStoreId");
+ xmlSecInternalError("xmlSecKeyStoreCreate(xmlSecSimpleKeysStoreId)", NULL);
return(-1);
}
ret = xmlSecKeysMngrAdoptKeysStore(mngr, keysStore);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecKeysMngrAdoptKeysStore",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeysMngrAdoptKeysStore", NULL);
xmlSecKeyStoreDestroy(keysStore);
return(-1);
}
@@ -1360,11 +1103,7 @@ xmlSecOpenSSLAppDefaultKeysMngrInit(xmlSecKeysMngrPtr mngr) {
ret = xmlSecOpenSSLKeysMngrInit(mngr);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecOpenSSLKeysMngrInit",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecOpenSSLKeysMngrInit", NULL);
return(-1);
}
@@ -1393,21 +1132,13 @@ xmlSecOpenSSLAppDefaultKeysMngrAdoptKey(xmlSecKeysMngrPtr mngr, xmlSecKeyPtr key
store = xmlSecKeysMngrGetKeysStore(mngr);
if(store == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecKeysMngrGetKeysStore",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeysMngrGetKeysStore", NULL);
return(-1);
}
ret = xmlSecSimpleKeysStoreAdoptKey(store, key);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecSimpleKeysStoreAdoptKey",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecSimpleKeysStoreAdoptKey", NULL);
return(-1);
}
@@ -1434,21 +1165,14 @@ xmlSecOpenSSLAppDefaultKeysMngrLoad(xmlSecKeysMngrPtr mngr, const char* uri) {
store = xmlSecKeysMngrGetKeysStore(mngr);
if(store == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecKeysMngrGetKeysStore",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeysMngrGetKeysStore", NULL);
return(-1);
}
ret = xmlSecSimpleKeysStoreLoad(store, uri, mngr);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecSimpleKeysStoreLoad",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "uri=%s", xmlSecErrorsSafeString(uri));
+ xmlSecInternalError2("xmlSecSimpleKeysStoreLoad", NULL,
+ "uri=%s", xmlSecErrorsSafeString(uri));
return(-1);
}
@@ -1476,21 +1200,14 @@ xmlSecOpenSSLAppDefaultKeysMngrSave(xmlSecKeysMngrPtr mngr, const char* filename
store = xmlSecKeysMngrGetKeysStore(mngr);
if(store == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecKeysMngrGetKeysStore",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeysMngrGetKeysStore", NULL);
return(-1);
}
ret = xmlSecSimpleKeysStoreSave(store, filename, type);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecSimpleKeysStoreSave",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "filename%s", xmlSecErrorsSafeString(filename));
+ xmlSecInternalError2("xmlSecSimpleKeysStoreSave", NULL,
+ "filename=%s", xmlSecErrorsSafeString(filename));
return(-1);
}
@@ -1505,13 +1222,13 @@ static int seeded = 0;
static int egdsocket = 0;
static int
-xmlSecOpenSSLAppLoadRANDFile(const char *file) {
+xmlSecOpenSSLAppLoadRANDFile(const char *filename) {
char buffer[1024];
- if(file == NULL) {
- file = RAND_file_name(buffer, sizeof(buffer));
+ if(filename == NULL) {
+ filename = RAND_file_name(buffer, sizeof(buffer));
#ifndef OPENSSL_NO_EGD
- }else if(RAND_egd(file) > 0) {
+ }else if(RAND_egd(filename) > 0) {
/* we try if the given filename is an EGD socket.
* if it is, we don't write anything back to the file. */
egdsocket = 1;
@@ -1519,13 +1236,11 @@ xmlSecOpenSSLAppLoadRANDFile(const char *file) {
#endif
}
- if((file == NULL) || !RAND_load_file(file, -1)) {
+ if((filename == NULL) || !RAND_load_file(filename, -1)) {
if(RAND_status() == 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "RAND_load_file",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- "file=%s", xmlSecErrorsSafeString(file));
+ xmlSecOpenSSLError2("RAND_load_file", NULL,
+ "filename=%s",
+ xmlSecErrorsSafeString(filename));
return 0;
}
}
@@ -1534,7 +1249,7 @@ xmlSecOpenSSLAppLoadRANDFile(const char *file) {
}
static int
-xmlSecOpenSSLAppSaveRANDFile(const char *file) {
+xmlSecOpenSSLAppSaveRANDFile(const char *filename) {
char buffer[1024];
if(egdsocket || !seeded) {
@@ -1545,16 +1260,12 @@ xmlSecOpenSSLAppSaveRANDFile(const char *file) {
return 0;
}
- if(file == NULL) {
- file = RAND_file_name(buffer, sizeof(buffer));
+ if(filename == NULL) {
+ filename = RAND_file_name(buffer, sizeof(buffer));
}
- if((file == NULL) || !RAND_write_file(file)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "RAND_write_file",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- "file=%s",
- xmlSecErrorsSafeString(file));
+ if((filename == NULL) || !RAND_write_file(filename)) {
+ xmlSecOpenSSLError2("RAND_write_file", NULL,
+ "filename=%s", xmlSecErrorsSafeString(filename));
return 0;
}
@@ -1585,17 +1296,18 @@ xmlSecOpenSSLDefaultPasswordCallback(char *buf, int bufsize, int verify, void *u
/* try 3 times */
for(i = 0; i < 3; i++) {
if(filename != NULL) {
- xmlSecStrPrintf(prompt, sizeof(prompt), BAD_CAST "Enter password for \"%s\" file: ", filename);
+ ret = xmlStrPrintf(prompt, sizeof(prompt), "Enter password for \"%s\" file: ", filename);
} else {
- xmlSecStrPrintf(prompt, sizeof(prompt), BAD_CAST "Enter password: ");
+ ret = xmlStrPrintf(prompt, sizeof(prompt), "Enter password: ");
+ }
+ if(ret < 0) {
+ xmlSecXmlError("xmlStrPrintf", NULL);
+ return(-1);
}
+
ret = EVP_read_pw_string(buf, bufsize, (char*)prompt, 0);
if(ret != 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "EVP_read_pw_string",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOpenSSLError("EVP_read_pw_string", NULL);
return(-1);
}
@@ -1605,27 +1317,23 @@ xmlSecOpenSSLDefaultPasswordCallback(char *buf, int bufsize, int verify, void *u
}
if(filename != NULL) {
- xmlSecStrPrintf(prompt, sizeof(prompt), BAD_CAST "Enter password for \"%s\" file again: ", filename);
+ ret = xmlStrPrintf(prompt, sizeof(prompt), "Enter password for \"%s\" file again: ", filename);
} else {
- xmlSecStrPrintf(prompt, sizeof(prompt), BAD_CAST "Enter password again: ");
+ ret = xmlStrPrintf(prompt, sizeof(prompt), "Enter password again: ");
+ }
+ if(ret < 0) {
+ xmlSecXmlError("xmlStrPrintf", NULL);
+ return(-1);
}
buf2 = (char*)xmlMalloc(bufsize);
if(buf2 == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- NULL,
- XMLSEC_ERRORS_R_MALLOC_FAILED,
- "size=%d", bufsize);
+ xmlSecMallocError(bufsize, NULL);
return(-1);
}
ret = EVP_read_pw_string(buf2, bufsize, (char*)prompt, 0);
if(ret != 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "EVP_read_pw_string",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOpenSSLError("EVP_read_pw_string", NULL);
memset(buf2, 0, bufsize);
xmlFree(buf2);
return(-1);
@@ -1634,7 +1342,7 @@ xmlSecOpenSSLDefaultPasswordCallback(char *buf, int bufsize, int verify, void *u
/* check if passwords match */
if(strcmp(buf, buf2) == 0) {
memset(buf2, 0, bufsize);
- xmlFree(buf2);
+ xmlFree(buf2);
return(strlen(buf));
}
diff --git a/src/openssl/bn.c b/src/openssl/bn.c
index db186d1..1616399 100644
--- a/src/openssl/bn.c
+++ b/src/openssl/bn.c
@@ -1,5 +1,5 @@
-/**
- * XMLSec library
+/*
+ * XML Security Library (http://www.aleksey.com/xmlsec).
*
* Reading/writing BIGNUM values
*
@@ -45,32 +45,21 @@ xmlSecOpenSSLNodeGetBNValue(const xmlNodePtr cur, BIGNUM **a) {
ret = xmlSecBufferInitialize(&buf, 128);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecBufferInitialize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecBufferInitialize", NULL);
return(NULL);
}
ret = xmlSecBufferBase64NodeContentRead(&buf, cur);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecBufferBase64NodeContentRead",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecBufferBase64NodeContentRead", NULL);
xmlSecBufferFinalize(&buf);
return(NULL);
}
(*a) = BN_bin2bn(xmlSecBufferGetData(&buf), xmlSecBufferGetSize(&buf), (*a));
if( (*a) == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "BN_bin2bn",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOpenSSLError2("BN_bin2bn", NULL,
+ "size=%lu", (unsigned long)(xmlSecBufferGetSize(&buf)));
xmlSecBufferFinalize(&buf);
return(NULL);
}
@@ -105,21 +94,14 @@ xmlSecOpenSSLNodeSetBNValue(xmlNodePtr cur, const BIGNUM *a, int addLineBreaks)
ret = xmlSecBufferInitialize(&buf, BN_num_bytes(a) + 1);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecBufferInitialize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "size=%d", BN_num_bytes(a) + 1);
+ xmlSecInternalError2("xmlSecBufferInitialize", NULL,
+ "size=%d", BN_num_bytes(a) + 1);
return(-1);
}
ret = BN_bn2bin(a, xmlSecBufferGetData(&buf));
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "BN_bn2bin",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOpenSSLError("BN_bn2bin", NULL);
xmlSecBufferFinalize(&buf);
return(-1);
}
@@ -127,11 +109,8 @@ xmlSecOpenSSLNodeSetBNValue(xmlNodePtr cur, const BIGNUM *a, int addLineBreaks)
ret = xmlSecBufferSetSize(&buf, size);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecBufferSetSize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "size=%d", size);
+ xmlSecInternalError2("xmlSecBufferSetSize", NULL,
+ "size=%d", size);
xmlSecBufferFinalize(&buf);
return(-1);
}
@@ -144,11 +123,7 @@ xmlSecOpenSSLNodeSetBNValue(xmlNodePtr cur, const BIGNUM *a, int addLineBreaks)
ret = xmlSecBufferBase64NodeContentWrite(&buf, cur, xmlSecBase64GetDefaultLineSize());
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecBufferBase64NodeContentWrite",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecBufferBase64NodeContentWrite", NULL);
xmlSecBufferFinalize(&buf);
return(-1);
}
diff --git a/src/openssl/ciphers.c b/src/openssl/ciphers.c
index c93f06b..e8516e0 100644
--- a/src/openssl/ciphers.c
+++ b/src/openssl/ciphers.c
@@ -1,5 +1,5 @@
-/**
- * XMLSec library
+/*
+ * XML Security Library (http://www.aleksey.com/xmlsec).
*
* This is free software; see Copyright file in the source
* distribution for preciese wording.
@@ -20,11 +20,7 @@
#include <xmlsec/openssl/crypto.h>
#include <xmlsec/openssl/evp.h>
-
-/* new API from OpenSSL 1.1.0 */
-#if !defined(XMLSEC_OPENSSL_110)
-#define EVP_CIPHER_CTX_encrypting(x) ((x)->encrypt)
-#endif /* !defined(XMLSEC_OPENSSL_110) */
+#include "openssl_compat.h"
/**************************************************************************
@@ -93,22 +89,15 @@ xmlSecOpenSSLEvpBlockCipherCtxInit(xmlSecOpenSSLEvpBlockCipherCtxPtr ctx,
/* generate random iv */
ret = RAND_bytes(ctx->iv, ivLen);
if(ret != 1) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(cipherName),
- "RAND_bytes",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- "size=%d", ivLen);
+ xmlSecOpenSSLError2("RAND_bytes", cipherName,
+ "size=%lu", (unsigned long)ivLen);
return(-1);
}
/* write iv to the output */
ret = xmlSecBufferAppend(out, ctx->iv, ivLen);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(cipherName),
- "xmlSecBufferAppend",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "size=%d", ivLen);
+ xmlSecInternalError2("xmlSecBufferAppend", cipherName, "size=%d", ivLen);
return(-1);
}
@@ -126,11 +115,7 @@ xmlSecOpenSSLEvpBlockCipherCtxInit(xmlSecOpenSSLEvpBlockCipherCtxPtr ctx,
/* and remove from input */
ret = xmlSecBufferRemoveHead(in, ivLen);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(cipherName),
- "xmlSecBufferRemoveHead",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "size=%d", ivLen);
+ xmlSecInternalError2("xmlSecBufferRemoveHead", cipherName, "size=%d", ivLen);
return(-1);
}
}
@@ -138,11 +123,7 @@ xmlSecOpenSSLEvpBlockCipherCtxInit(xmlSecOpenSSLEvpBlockCipherCtxPtr ctx,
/* set iv */
ret = EVP_CipherInit(ctx->cipherCtx, ctx->cipher, ctx->key, ctx->iv, encrypt);
if(ret != 1) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(cipherName),
- "EVP_CipherInit",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOpenSSLError("EVP_CipherIn", cipherName);
return(-1);
}
@@ -192,11 +173,9 @@ xmlSecOpenSSLEvpBlockCipherCtxUpdateBlock(xmlSecOpenSSLEvpBlockCipherCtxPtr ctx,
outSize = xmlSecBufferGetSize(out);
ret = xmlSecBufferSetMaxSize(out, outSize + inSize + blockLen);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(cipherName),
- "xmlSecBufferSetMaxSize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "size=%d", (int)(outSize + inSize + blockLen));
+ xmlSecInternalError2("xmlSecBufferSetMaxSize",
+ xmlSecErrorsSafeString(cipherName),
+ "size=%d", (int)(outSize + inSize + blockLen));
return(-1);
}
outBuf = xmlSecBufferGetData(out) + outSize;
@@ -204,11 +183,7 @@ xmlSecOpenSSLEvpBlockCipherCtxUpdateBlock(xmlSecOpenSSLEvpBlockCipherCtxPtr ctx,
/* encrypt/decrypt */
ret = EVP_CipherUpdate(ctx->cipherCtx, outBuf, &outLen, in, inSize);
if(ret != 1) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(cipherName),
- "EVP_CipherUpdate",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOpenSSLError("EVP_CipherUpdate", cipherName);
return(-1);
}
xmlSecAssert2(outLen == inSize, -1);
@@ -219,11 +194,7 @@ xmlSecOpenSSLEvpBlockCipherCtxUpdateBlock(xmlSecOpenSSLEvpBlockCipherCtxPtr ctx,
ret = EVP_CipherFinal(ctx->cipherCtx, outBuf + outLen, &outLen2);
if(ret != 1) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(cipherName),
- "EVP_CipherFinal",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOpenSSLError("EVP_CipherFinal", cipherName);
return(-1);
}
@@ -233,11 +204,8 @@ xmlSecOpenSSLEvpBlockCipherCtxUpdateBlock(xmlSecOpenSSLEvpBlockCipherCtxPtr ctx,
/* set correct output buffer size */
ret = xmlSecBufferSetSize(out, outSize + outLen);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(cipherName),
- "xmlSecBufferSetSize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "size=%d", (int)(outSize + outLen));
+ xmlSecInternalError2("xmlSecBufferSetSize", cipherName,
+ "size=%d", (int)(outSize + outLen));
return(-1);
}
@@ -287,22 +255,14 @@ xmlSecOpenSSLEvpBlockCipherCtxUpdate(xmlSecOpenSSLEvpBlockCipherCtxPtr ctx,
inBuf = xmlSecBufferGetData(in);
ret = xmlSecOpenSSLEvpBlockCipherCtxUpdateBlock(ctx, inBuf, inBlocksLen, out, cipherName, 0); /* not final */
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(cipherName),
- "xmlSecOpenSSLEvpBlockCipherCtxUpdateBlock",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- NULL);
+ xmlSecInternalError("xmlSecOpenSSLEvpBlockCipherCtxUpdateBlock", cipherName);
return(-1);
}
/* remove the processed block from input */
ret = xmlSecBufferRemoveHead(in, inBlocksLen);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(cipherName),
- "xmlSecBufferRemoveHead",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "size=%d", (int)inSize);
+ xmlSecInternalError2("xmlSecBufferRemoveHead", cipherName, "size=%d", (int)inSize);
return(-1);
}
@@ -371,11 +331,7 @@ xmlSecOpenSSLEvpBlockCipherCtxFinal(xmlSecOpenSSLEvpBlockCipherCtxPtr ctx,
if(padLen > 1) {
ret = RAND_bytes(ctx->pad + inSize, padLen - 1);
if(ret != 1) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(cipherName),
- "RAND_bytes",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- "size=%d", (int)(padLen - 1));
+ xmlSecOpenSSLError("RAND_bytes", cipherName);
return(-1);
}
}
@@ -386,11 +342,7 @@ xmlSecOpenSSLEvpBlockCipherCtxFinal(xmlSecOpenSSLEvpBlockCipherCtxPtr ctx,
/* update the last 1 or 2 blocks with padding */
ret = xmlSecOpenSSLEvpBlockCipherCtxUpdateBlock(ctx, ctx->pad, inSize + padLen, out, cipherName, 1); /* final */
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(cipherName),
- "xmlSecOpenSSLEvpBlockCipherCtxUpdateBlock",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- NULL);
+ xmlSecInternalError("xmlSecOpenSSLEvpBlockCipherCtxUpdateBlock", cipherName);
return(-1);
}
} else {
@@ -399,11 +351,7 @@ xmlSecOpenSSLEvpBlockCipherCtxFinal(xmlSecOpenSSLEvpBlockCipherCtxPtr ctx,
/* update the last one block with padding */
ret = xmlSecOpenSSLEvpBlockCipherCtxUpdateBlock(ctx, inBuf, inSize, out, cipherName, 1); /* final */
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(cipherName),
- "xmlSecOpenSSLEvpBlockCipherCtxUpdateBlock",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- NULL);
+ xmlSecInternalError("xmlSecOpenSSLEvpBlockCipherCtxUpdateBlock", cipherName);
return(-1);
}
@@ -411,24 +359,16 @@ xmlSecOpenSSLEvpBlockCipherCtxFinal(xmlSecOpenSSLEvpBlockCipherCtxPtr ctx,
outBuf = xmlSecBufferGetData(out);
outSize = xmlSecBufferGetSize(out);
if(outSize < blockLen) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(cipherName),
- NULL,
- XMLSEC_ERRORS_R_INVALID_DATA,
- "outSize=%d;blockLen=%d",
- (int)outSize, (int)blockLen);
+ xmlSecInvalidIntegerDataError2("outSize", outSize, "blockLen", blockLen,
+ "outSize >= blockLen", cipherName);
return(-1);
}
/* get the pad length from the last byte */
padLen = (xmlSecSize)(outBuf[outSize - 1]);
if(padLen > blockLen) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(cipherName),
- NULL,
- XMLSEC_ERRORS_R_INVALID_DATA,
- "padLen=%d;blockLen=%d",
- (int)padLen, (int)blockLen);
+ xmlSecInvalidIntegerDataError2("padLen", padLen, "blockLen", blockLen,
+ "padLen <= blockLen", cipherName);
return(-1);
}
xmlSecAssert2(padLen <= outSize, -1);
@@ -436,11 +376,7 @@ xmlSecOpenSSLEvpBlockCipherCtxFinal(xmlSecOpenSSLEvpBlockCipherCtxPtr ctx,
/* remove the padding */
ret = xmlSecBufferRemoveTail(out, padLen);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(cipherName),
- "xmlSecBufferRemoveTail",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "size=%d", (int)padLen);
+ xmlSecInternalError2("xmlSecBufferRemoveTail", cipherName, "size=%d", (int)padLen);
return(-1);
}
}
@@ -448,11 +384,7 @@ xmlSecOpenSSLEvpBlockCipherCtxFinal(xmlSecOpenSSLEvpBlockCipherCtxPtr ctx,
/* remove the processed block from input */
ret = xmlSecBufferRemoveHead(in, inSize);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(cipherName),
- "xmlSecBufferRemoveHead",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "size=%d", (int)inSize);
+ xmlSecInternalError2("xmlSecBufferRemoveHead", cipherName, "size=%d", (int)inSize);
return(-1);
}
@@ -539,22 +471,15 @@ xmlSecOpenSSLEvpBlockCipherInitialize(xmlSecTransformPtr transform) {
#endif /* XMLSEC_NO_AES */
if(1) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- NULL,
- XMLSEC_ERRORS_R_INVALID_TRANSFORM,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInvalidTransfromError(transform)
return(-1);
}
/* create cipher ctx */
ctx->cipherCtx = EVP_CIPHER_CTX_new();
if(ctx->cipherCtx == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "EVP_CIPHER_CTX_new",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOpenSSLError("EVP_CIPHER_CTX_new",
+ xmlSecTransformGetName(transform));
return(-1);
}
@@ -635,12 +560,8 @@ xmlSecOpenSSLEvpBlockCipherSetKey(xmlSecTransformPtr transform, xmlSecKeyPtr key
xmlSecAssert2(buffer != NULL, -1);
if(xmlSecBufferGetSize(buffer) < (xmlSecSize)cipherKeyLen) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- NULL,
- XMLSEC_ERRORS_R_INVALID_KEY_DATA_SIZE,
- "keySize=%d;expected=%d",
- (int)xmlSecBufferGetSize(buffer), (int)cipherKeyLen);
+ xmlSecInvalidKeyDataSizeError(xmlSecBufferGetSize(buffer), cipherKeyLen,
+ xmlSecTransformGetName(transform));
return(-1);
}
@@ -678,47 +599,35 @@ xmlSecOpenSSLEvpBlockCipherExecute(xmlSecTransformPtr transform, int last, xmlSe
(transform->operation == xmlSecTransformOperationEncrypt) ? 1 : 0,
xmlSecTransformGetName(transform), transformCtx);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecOpenSSLEvpBlockCipherCtxInit",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecOpenSSLEvpBlockCipherCtxInit",
+ xmlSecTransformGetName(transform));
return(-1);
}
}
if((ctx->ctxInitialized == 0) && (last != 0)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- NULL,
- XMLSEC_ERRORS_R_INVALID_DATA,
- "not enough data to initialize transform");
+ xmlSecInvalidDataError("not enough data to initialize transform",
+ xmlSecTransformGetName(transform));
return(-1);
}
if(ctx->ctxInitialized != 0) {
ret = xmlSecOpenSSLEvpBlockCipherCtxUpdate(ctx, in, out,
- xmlSecTransformGetName(transform),
- transformCtx);
+ xmlSecTransformGetName(transform),
+ transformCtx);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecOpenSSLEvpBlockCipherCtxUpdate",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecOpenSSLEvpBlockCipherCtxUpdate",
+ xmlSecTransformGetName(transform));
return(-1);
}
}
if(last != 0) {
ret = xmlSecOpenSSLEvpBlockCipherCtxFinal(ctx, in, out,
- xmlSecTransformGetName(transform),
- transformCtx);
+ xmlSecTransformGetName(transform),
+ transformCtx);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecOpenSSLEvpBlockCipherCtxFinal",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecOpenSSLEvpBlockCipherCtxFinal",
+ xmlSecTransformGetName(transform));
return(-1);
}
transform->status = xmlSecTransformStatusFinished;
@@ -733,11 +642,7 @@ xmlSecOpenSSLEvpBlockCipherExecute(xmlSecTransformPtr transform, int last, xmlSe
/* the only way we can get here is if there is no enough data in the input */
xmlSecAssert2(last == 0, -1);
} else {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- NULL,
- XMLSEC_ERRORS_R_INVALID_STATUS,
- "status=%d", (int)(transform->status));
+ xmlSecInvalidTransfromStatusError(transform);
return(-1);
}
diff --git a/src/openssl/crypto.c b/src/openssl/crypto.c
index b70eb73..adc1001 100644
--- a/src/openssl/crypto.c
+++ b/src/openssl/crypto.c
@@ -1,5 +1,5 @@
-/**
- * XMLSec library
+/*
+ * XML Security Library (http://www.aleksey.com/xmlsec).
*
* This is free software; see Copyright file in the source
* distribution for preciese wording.
@@ -318,30 +318,18 @@ int
xmlSecOpenSSLInit (void) {
/* Check loaded xmlsec library version */
if(xmlSecCheckVersionExact() != 1) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecCheckVersionExact",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecCheckVersionExact", NULL);
return(-1);
}
if(xmlSecOpenSSLErrorsInit() < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecOpenSSLErrorsInit",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecOpenSSLErrorsInit", NULL);
return(-1);
}
/* register our klasses */
if(xmlSecCryptoDLFunctionsRegisterKeyDataAndTransforms(xmlSecCryptoGetFunctions_openssl()) < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecCryptoDLFunctionsRegisterKeyDataAndTransforms",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecCryptoDLFunctionsRegisterKeyDataAndTransforms", NULL);
return(-1);
}
@@ -382,21 +370,13 @@ xmlSecOpenSSLKeysMngrInit(xmlSecKeysMngrPtr mngr) {
x509Store = xmlSecKeyDataStoreCreate(xmlSecOpenSSLX509StoreId);
if(x509Store == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecKeyDataStoreCreate",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "xmlSecOpenSSLX509StoreId");
+ xmlSecInternalError("xmlSecKeyDataStoreCreate(xmlSecOpenSSLX509StoreId)", NULL);
return(-1);
}
ret = xmlSecKeysMngrAdoptDataStore(mngr, x509Store);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecKeysMngrAdoptDataStore",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeysMngrAdoptDataStore", NULL);
xmlSecKeyDataStoreDestroy(x509Store);
return(-1);
}
@@ -423,22 +403,15 @@ xmlSecOpenSSLGenerateRandom(xmlSecBufferPtr buffer, xmlSecSize size) {
ret = xmlSecBufferSetSize(buffer, size);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecBufferSetSize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "size=%d", size);
+ xmlSecInternalError2("xmlSecBufferSetSize", NULL, "size=%d", size);
return(-1);
}
/* get random data */
ret = RAND_bytes((xmlSecByte*)xmlSecBufferGetData(buffer), size);
if(ret != 1) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "RAND_bytes",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- "size=%d", size);
+ xmlSecOpenSSLError2("RAND_bytes", NULL,
+ "size=%lu", (unsigned long)size);
return(-1);
}
return(0);
@@ -454,13 +427,12 @@ xmlSecOpenSSLGenerateRandom(xmlSecBufferPtr buffer, xmlSecSize size) {
* @reason: the error code.
* @msg: the additional error message.
*
- * The default OpenSSL errors reporting callback function.
+ * The errors reporting callback function.
*/
void
xmlSecOpenSSLErrorsDefaultCallback(const char* file, int line, const char* func,
const char* errorObject, const char* errorSubject,
int reason, const char* msg) {
-
ERR_put_error(XMLSEC_OPENSSL_ERRORS_LIB,
XMLSEC_OPENSSL_ERRORS_FUNCTION,
reason, file, line);
@@ -518,11 +490,7 @@ xmlSecOpenSSLSetDefaultTrustedCertsFolder(const xmlChar* path) {
if(path != NULL) {
gXmlSecOpenSSLTrustedCertsFolder = xmlStrdup(BAD_CAST path);
if(gXmlSecOpenSSLTrustedCertsFolder == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlStrdup",
- XMLSEC_ERRORS_R_MALLOC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecStrdupError(BAD_CAST path, NULL);
return(-1);
}
}
diff --git a/src/openssl/digests.c b/src/openssl/digests.c
index 1d00a1b..0a21772 100644
--- a/src/openssl/digests.c
+++ b/src/openssl/digests.c
@@ -1,5 +1,5 @@
-/**
- * XMLSec library
+/*
+ * XML Security Library (http://www.aleksey.com/xmlsec).
*
* This is free software; see Copyright file in the source
* distribution for preciese wording.
@@ -19,16 +19,7 @@
#include <xmlsec/openssl/crypto.h>
#include <xmlsec/openssl/evp.h>
-
-/* new API from OpenSSL 1.1.0 (https://www.openssl.org/docs/manmaster/crypto/EVP_DigestInit.html):
- *
- * EVP_MD_CTX_create() and EVP_MD_CTX_destroy() were renamed to EVP_MD_CTX_new() and EVP_MD_CTX_free() in OpenSSL 1.1.
- */
-#if !defined(XMLSEC_OPENSSL_110)
-#define EVP_MD_CTX_new() EVP_MD_CTX_create()
-#define EVP_MD_CTX_free(x) EVP_MD_CTX_destroy((x))
-#endif /* !defined(XMLSEC_OPENSSL_110) */
-
+#include "openssl_compat.h"
/**************************************************************************
*
@@ -194,11 +185,7 @@ xmlSecOpenSSLEvpDigestInitialize(xmlSecTransformPtr transform) {
if(xmlSecTransformCheckId(transform, xmlSecOpenSSLTransformGostR3411_94Id)) {
ctx->digest = EVP_get_digestbyname("md_gost94");
if (!ctx->digest) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- NULL,
- XMLSEC_ERRORS_R_INVALID_TRANSFORM,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInvalidTransfromError(transform)
return(-1);
}
} else
@@ -209,11 +196,7 @@ xmlSecOpenSSLEvpDigestInitialize(xmlSecTransformPtr transform) {
ctx->digest = EVP_get_digestbyname("md_gost12_256");
if (!ctx->digest)
{
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- NULL,
- XMLSEC_ERRORS_R_INVALID_TRANSFORM,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInvalidTransfromError(transform)
return(-1);
}
} else
@@ -222,33 +205,22 @@ xmlSecOpenSSLEvpDigestInitialize(xmlSecTransformPtr transform) {
ctx->digest = EVP_get_digestbyname("md_gost12_512");
if (!ctx->digest)
{
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- NULL,
- XMLSEC_ERRORS_R_INVALID_TRANSFORM,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInvalidTransfromError(transform)
return(-1);
}
} else
#endif /* XMLSEC_NO_GOST2012 */
{
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- NULL,
- XMLSEC_ERRORS_R_INVALID_TRANSFORM,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInvalidTransfromError(transform)
return(-1);
}
/* create digest CTX */
ctx->digestCtx = EVP_MD_CTX_new();
if(ctx->digestCtx == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "EVP_MD_CTX_new",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOpenSSLError("EVP_MD_CTX_new",
+ xmlSecTransformGetName(transform));
return(-1);
}
@@ -291,22 +263,15 @@ xmlSecOpenSSLEvpDigestVerify(xmlSecTransformPtr transform,
xmlSecAssert2(ctx->dgstSize > 0, -1);
if(dataSize != ctx->dgstSize) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- NULL,
- XMLSEC_ERRORS_R_INVALID_SIZE,
- "data_size=%d;dgst_size=%d",
- dataSize, ctx->dgstSize);
+ xmlSecInvalidSizeError("Digest", dataSize, ctx->dgstSize,
+ xmlSecTransformGetName(transform));
transform->status = xmlSecTransformStatusFail;
return(0);
}
if(memcmp(ctx->dgst, data, ctx->dgstSize) != 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- NULL,
- XMLSEC_ERRORS_R_INVALID_DATA,
- "data and digest do not match");
+ xmlSecInvalidDataError("data and digest do not match",
+ xmlSecTransformGetName(transform));
transform->status = xmlSecTransformStatusFail;
return(0);
}
@@ -340,11 +305,8 @@ xmlSecOpenSSLEvpDigestExecute(xmlSecTransformPtr transform, int last, xmlSecTran
if(transform->status == xmlSecTransformStatusNone) {
ret = EVP_DigestInit(ctx->digestCtx, ctx->digest);
if(ret != 1) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "EVP_DigestInit",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOpenSSLError("EVP_DigestInit",
+ xmlSecTransformGetName(transform));
return(-1);
}
transform->status = xmlSecTransformStatusWorking;
@@ -357,21 +319,17 @@ xmlSecOpenSSLEvpDigestExecute(xmlSecTransformPtr transform, int last, xmlSecTran
if(inSize > 0) {
ret = EVP_DigestUpdate(ctx->digestCtx, xmlSecBufferGetData(in), inSize);
if(ret != 1) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "EVP_DigestUpdate",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- "size=%d", inSize);
+ xmlSecOpenSSLError2("EVP_DigestUpdate",
+ xmlSecTransformGetName(transform),
+ "size=%lu", (unsigned long)inSize);
return(-1);
}
ret = xmlSecBufferRemoveHead(in, inSize);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecBufferRemoveHead",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "size=%d", inSize);
+ xmlSecInternalError2("xmlSecBufferRemoveHead",
+ xmlSecTransformGetName(transform),
+ "size=%d", inSize);
return(-1);
}
}
@@ -382,11 +340,8 @@ xmlSecOpenSSLEvpDigestExecute(xmlSecTransformPtr transform, int last, xmlSecTran
ret = EVP_DigestFinal(ctx->digestCtx, ctx->dgst, &dgstSize);
if(ret != 1) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "EVP_DigestFinal",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOpenSSLError("EVP_DigestFinal",
+ xmlSecTransformGetName(transform));
return(-1);
}
xmlSecAssert2(dgstSize > 0, -1);
@@ -396,11 +351,9 @@ xmlSecOpenSSLEvpDigestExecute(xmlSecTransformPtr transform, int last, xmlSecTran
if(transform->operation == xmlSecTransformOperationSign) {
ret = xmlSecBufferAppend(out, ctx->dgst, ctx->dgstSize);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecBufferAppend",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "size=%d", ctx->dgstSize);
+ xmlSecInternalError2("xmlSecBufferAppend",
+ xmlSecTransformGetName(transform),
+ "size=%d", ctx->dgstSize);
return(-1);
}
}
@@ -410,11 +363,7 @@ xmlSecOpenSSLEvpDigestExecute(xmlSecTransformPtr transform, int last, xmlSecTran
/* the only way we can get here is if there is no input */
xmlSecAssert2(xmlSecBufferGetSize(in) == 0, -1);
} else {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- NULL,
- XMLSEC_ERRORS_R_INVALID_STATUS,
- "status=%d", transform->status);
+ xmlSecInvalidTransfromStatusError(transform);
return(-1);
}
diff --git a/src/openssl/evp.c b/src/openssl/evp.c
index cee1493..feb7734 100644
--- a/src/openssl/evp.c
+++ b/src/openssl/evp.c
@@ -1,5 +1,5 @@
-/**
- * XMLSec library
+/*
+ * XML Security Library (http://www.aleksey.com/xmlsec).
*
* This is free software; see Copyright file in the source
* distribution for preciese wording.
@@ -23,7 +23,133 @@
#include <xmlsec/openssl/crypto.h>
#include <xmlsec/openssl/bn.h>
#include <xmlsec/openssl/evp.h>
-#include "openssl11_wrapper.h"
+#include "openssl_compat.h"
+
+/******************************************************************************
+ *
+ * OpenSSL 1.1.0 compatibility
+ *
+ *****************************************************************************/
+#if !defined(XMLSEC_OPENSSL_API_110)
+
+#ifndef XMLSEC_NO_RSA
+
+static inline void RSA_get0_key(const RSA *r, const BIGNUM **n, const BIGNUM **e, const BIGNUM **d) {
+ xmlSecAssert(r != NULL);
+
+ if(n != NULL) {
+ (*n) = r->n;
+ }
+ if(e != NULL) {
+ (*e) = r->e;
+ }
+ if(d != NULL) {
+ (*d) = r->d;
+ }
+}
+
+static inline int RSA_test_flags(const RSA *r, int flags) {
+ xmlSecAssert2(r != NULL, 0);
+ return(r->flags & flags);
+}
+
+static inline int RSA_set0_key(RSA *r, BIGNUM *n, BIGNUM *e, BIGNUM *d) {
+ xmlSecAssert2(r != NULL, 0);
+
+ if(((r->n == NULL) && (n == NULL)) || ((r->e == NULL) && (e == NULL))) {
+ return(0);
+ }
+ if(n != NULL) {
+ BN_free(r->n);
+ r->n = n;
+ }
+ if(e != NULL) {
+ BN_free(r->e);
+ r->e = e;
+ }
+ if(d != NULL) {
+ BN_free(r->d);
+ r->d = d;
+ }
+ return(1);
+}
+#endif /* XMLSEC_NO_RSA */
+
+
+#ifndef XMLSEC_NO_DSA
+
+static inline void DSA_get0_pqg(const DSA *d, const BIGNUM **p, const BIGNUM **q, const BIGNUM **g) {
+ xmlSecAssert(d != NULL);
+
+ if(p != NULL) {
+ (*p) = d->p;
+ }
+ if(q != NULL) {
+ (*q) = d->q;
+ }
+ if(g != NULL) {
+ (*g) = d->g;
+ }
+}
+
+static inline void DSA_get0_key(const DSA *d, const BIGNUM **pub_key, const BIGNUM **priv_key) {
+ xmlSecAssert(d != NULL);
+
+ if(pub_key != NULL) {
+ (*pub_key) = d->pub_key;
+ }
+ if(priv_key != NULL) {
+ (*priv_key) = d->priv_key;
+ }
+}
+
+static inline ENGINE *DSA_get0_engine(DSA *d) {
+ xmlSecAssert2(d != NULL, NULL);
+ return(d->engine);
+}
+
+static inline int DSA_set0_pqg(DSA *d, BIGNUM *p, BIGNUM *q, BIGNUM *g) {
+ xmlSecAssert2(d != NULL, 0);
+
+ if(((d->p == NULL) && (p == NULL)) || ((d->q == NULL) && (q == NULL)) || ((d->g == NULL) && (g == NULL))) {
+ return(0);
+ }
+
+ if(p != NULL) {
+ BN_free(d->p);
+ d->p = p;
+ }
+ if(q != NULL) {
+ BN_free(d->q);
+ d->q = q;
+ }
+ if(g != NULL) {
+ BN_free(d->g);
+ d->g = g;
+ }
+ return(1);
+}
+
+static inline int DSA_set0_key(DSA *d, BIGNUM *pub_key, BIGNUM *priv_key) {
+ xmlSecAssert2(d != NULL, 0);
+
+ if((d->pub_key == NULL) && (pub_key == NULL)) {
+ return(0);
+ }
+
+ if(pub_key != NULL) {
+ BN_free(d->pub_key);
+ d->pub_key = pub_key;
+ }
+ if(priv_key != NULL) {
+ BN_free(d->priv_key);
+ d->priv_key = priv_key;
+ }
+ return(1);
+}
+#endif /* XMLSEC_NO_DSA */
+
+#endif /* !defined(XMLSEC_OPENSSL_API_110) */
/**************************************************************************
*
@@ -136,11 +262,8 @@ xmlSecOpenSSLEvpKeyDataDuplicate(xmlSecKeyDataPtr dst, xmlSecKeyDataPtr src) {
if(ctxSrc->pKey != NULL) {
ctxDst->pKey = xmlSecOpenSSLEvpKeyDup(ctxSrc->pKey);
if(ctxDst->pKey == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(dst)),
- "xmlSecOpenSSLEvpKeyDup",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecOpenSSLEvpKeyDup",
+ xmlSecKeyDataGetName(dst));
return(-1);
}
}
@@ -185,11 +308,7 @@ xmlSecOpenSSLEvpKeyDup(EVP_PKEY* pKey) {
ret = EVP_PKEY_up_ref(pKey);
if(ret <= 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "CRYPTO_add",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOpenSSLError("EVP_PKEY_up_ref", NULL);
return(NULL);
}
@@ -216,11 +335,7 @@ xmlSecOpenSSLEvpKeyAdopt(EVP_PKEY *pKey) {
case EVP_PKEY_RSA:
data = xmlSecKeyDataCreate(xmlSecOpenSSLKeyDataRsaId);
if(data == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecKeyDataCreate",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "xmlSecOpenSSLKeyDataRsaId");
+ xmlSecInternalError("xmlSecKeyDataCreate(xmlSecOpenSSLKeyDataRsaId)", NULL);
return(NULL);
}
break;
@@ -229,11 +344,7 @@ xmlSecOpenSSLEvpKeyAdopt(EVP_PKEY *pKey) {
case EVP_PKEY_DSA:
data = xmlSecKeyDataCreate(xmlSecOpenSSLKeyDataDsaId);
if(data == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecKeyDataCreate",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "xmlSecOpenSSLKeyDataDsaId");
+ xmlSecInternalError("xmlSecKeyDataCreate(xmlSecOpenSSLKeyDataDsaId)", NULL);
return(NULL);
}
break;
@@ -242,11 +353,7 @@ xmlSecOpenSSLEvpKeyAdopt(EVP_PKEY *pKey) {
case EVP_PKEY_EC:
data = xmlSecKeyDataCreate(xmlSecOpenSSLKeyDataEcdsaId);
if(data == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecKeyDataCreate",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "xmlSecOpenSSLKeyDataEcdsaId");
+ xmlSecInternalError("xmlSecKeyDataCreate(xmlSecOpenSSLKeyDataEcdsaId)", NULL);
return(NULL);
}
break;
@@ -256,11 +363,7 @@ xmlSecOpenSSLEvpKeyAdopt(EVP_PKEY *pKey) {
case NID_id_GostR3410_2001:
data = xmlSecKeyDataCreate(xmlSecOpenSSLKeyDataGost2001Id);
if(data == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecKeyDataCreate",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "xmlSecOpenSSLKeyDataGost2001Id");
+ xmlSecInternalError("xmlSecKeyDataCreate(xmlSecOpenSSLKeyDataGost2001Id)", NULL);
return(NULL);
}
break;
@@ -270,11 +373,7 @@ xmlSecOpenSSLEvpKeyAdopt(EVP_PKEY *pKey) {
case NID_id_GostR3410_2012_256:
data = xmlSecKeyDataCreate(xmlSecOpenSSLKeyDataGostR3410_2012_256Id);
if(data == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecKeyDataCreate",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "xmlSecOpenSSLKeyDataGostR3410_2012_256Id");
+ xmlSecInternalError("xmlSecKeyDataCreate(xmlSecOpenSSLKeyDataGostR3410_2012_256Id)", NULL);
return(NULL);
}
break;
@@ -282,33 +381,22 @@ xmlSecOpenSSLEvpKeyAdopt(EVP_PKEY *pKey) {
case NID_id_GostR3410_2012_512:
data = xmlSecKeyDataCreate(xmlSecOpenSSLKeyDataGostR3410_2012_512Id);
if(data == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecKeyDataCreate",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "xmlSecOpenSSLKeyDataGostR3410_2012_512Id");
+ xmlSecInternalError("xmlSecKeyDataCreate(xmlSecOpenSSLKeyDataGostR3410_2012_512Id)", NULL);
return(NULL);
}
break;
#endif /* XMLSEC_NO_GOST2012 */
default:
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- NULL,
- XMLSEC_ERRORS_R_INVALID_TYPE,
- "evp key type %d not supported", EVP_PKEY_base_id(pKey));
+ xmlSecInvalidIntegerTypeError("evp key type", EVP_PKEY_base_id(pKey),
+ "supported evp key type", NULL);
return(NULL);
}
xmlSecAssert2(data != NULL, NULL);
ret = xmlSecOpenSSLEvpKeyDataAdoptEvp(data, pKey);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecOpenSSLEvpKeyDataAdoptEvp",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecOpenSSLEvpKeyDataAdoptEvp", NULL);
xmlSecKeyDataDestroy(data);
return(NULL);
}
@@ -482,21 +570,15 @@ xmlSecOpenSSLKeyDataDsaAdoptDsa(xmlSecKeyDataPtr data, DSA* dsa) {
if(dsa != NULL) {
pKey = EVP_PKEY_new();
if(pKey == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- "EVP_PKEY_new",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOpenSSLError("EVP_PKEY_new",
+ xmlSecKeyDataGetName(data));
return(-1);
}
ret = EVP_PKEY_assign_DSA(pKey, dsa);
if(ret != 1) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- "EVP_PKEY_assign_DSA",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOpenSSLError("EVP_PKEY_assign_DSA",
+ xmlSecKeyDataGetName(data));
EVP_PKEY_free(pKey);
return(-1);
}
@@ -504,11 +586,8 @@ xmlSecOpenSSLKeyDataDsaAdoptDsa(xmlSecKeyDataPtr data, DSA* dsa) {
ret = xmlSecOpenSSLKeyDataDsaAdoptEvp(data, pKey);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- "xmlSecOpenSSLKeyDataDsaAdoptEvp",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecOpenSSLKeyDataDsaAdoptEvp",
+ xmlSecKeyDataGetName(data));
if(pKey != NULL) {
EVP_PKEY_free(pKey);
}
@@ -608,21 +687,16 @@ xmlSecOpenSSLKeyDataDsaXmlRead(xmlSecKeyDataId id, xmlSecKeyPtr key,
xmlSecAssert2(keyInfoCtx != NULL, -1);
if(xmlSecKeyGetValue(key) != NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- NULL,
- XMLSEC_ERRORS_R_INVALID_KEY_DATA,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOtherError(XMLSEC_ERRORS_R_INVALID_KEY_DATA,
+ xmlSecKeyDataKlassGetName(id),
+ "Key data value is already set");
return(-1);
}
dsa = DSA_new();
if(dsa == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "DSA_new",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOpenSSLError("DSA_new",
+ xmlSecKeyDataKlassGetName(id));
goto err_cleanup;
}
@@ -630,64 +704,40 @@ xmlSecOpenSSLKeyDataDsaXmlRead(xmlSecKeyDataId id, xmlSecKeyPtr key,
/* first is P node. It is REQUIRED because we do not support Seed and PgenCounter*/
if((cur == NULL) || (!xmlSecCheckNodeName(cur, xmlSecNodeDSAP, xmlSecDSigNs))) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- xmlSecErrorsSafeString(xmlSecNodeGetName(cur)),
- XMLSEC_ERRORS_R_INVALID_NODE,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeDSAP));
+ xmlSecInvalidNodeError(cur, xmlSecNodeDSAP, xmlSecKeyDataKlassGetName(id));
goto err_cleanup;
}
if(xmlSecOpenSSLNodeGetBNValue(cur, &p) == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecOpenSSLNodeGetBNValue",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeDSAP));
+ xmlSecInternalError2("xmlSecOpenSSLNodeGetBNValue",
+ xmlSecKeyDataKlassGetName(id),
+ "node=%s", xmlSecErrorsSafeString(xmlSecNodeDSAP));
goto err_cleanup;
}
cur = xmlSecGetNextElementNode(cur->next);
/* next is Q node. It is REQUIRED because we do not support Seed and PgenCounter*/
if((cur == NULL) || (!xmlSecCheckNodeName(cur, xmlSecNodeDSAQ, xmlSecDSigNs))) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- xmlSecErrorsSafeString(xmlSecNodeGetName(cur)),
- XMLSEC_ERRORS_R_INVALID_NODE,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeDSAQ));
+ xmlSecInvalidNodeError(cur, xmlSecNodeDSAQ, xmlSecKeyDataKlassGetName(id));
goto err_cleanup;
}
if(xmlSecOpenSSLNodeGetBNValue(cur, &q) == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecOpenSSLNodeGetBNValue",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeDSAQ));
+ xmlSecInternalError2("xmlSecOpenSSLNodeGetBNValue",
+ xmlSecKeyDataKlassGetName(id),
+ "node=%s", xmlSecErrorsSafeString(xmlSecNodeDSAQ));
goto err_cleanup;
}
cur = xmlSecGetNextElementNode(cur->next);
/* next is G node. It is REQUIRED because we do not support Seed and PgenCounter*/
if((cur == NULL) || (!xmlSecCheckNodeName(cur, xmlSecNodeDSAG, xmlSecDSigNs))) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- xmlSecErrorsSafeString(xmlSecNodeGetName(cur)),
- XMLSEC_ERRORS_R_INVALID_NODE,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeDSAG));
+ xmlSecInvalidNodeError(cur, xmlSecNodeDSAG, xmlSecKeyDataKlassGetName(id));
goto err_cleanup;
}
if(xmlSecOpenSSLNodeGetBNValue(cur, &g) == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecOpenSSLNodeGetBNValue",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeDSAG));
+ xmlSecInternalError2("xmlSecOpenSSLNodeGetBNValue",
+ xmlSecKeyDataKlassGetName(id),
+ "node=%s", xmlSecErrorsSafeString(xmlSecNodeDSAG));
goto err_cleanup;
}
cur = xmlSecGetNextElementNode(cur->next);
@@ -696,12 +746,9 @@ xmlSecOpenSSLKeyDataDsaXmlRead(xmlSecKeyDataId id, xmlSecKeyPtr key,
/* next is X node. It is REQUIRED for private key but
* we are not sure exactly what do we read */
if(xmlSecOpenSSLNodeGetBNValue(cur, &priv_key) == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecOpenSSLNodeGetBNValue",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeDSAX));
+ xmlSecInternalError2("xmlSecOpenSSLNodeGetBNValue",
+ xmlSecKeyDataKlassGetName(id),
+ "node=%s", xmlSecErrorsSafeString(xmlSecNodeDSAX));
goto err_cleanup;
}
cur = xmlSecGetNextElementNode(cur->next);
@@ -709,20 +756,13 @@ xmlSecOpenSSLKeyDataDsaXmlRead(xmlSecKeyDataId id, xmlSecKeyPtr key,
/* next is Y node. */
if((cur == NULL) || (!xmlSecCheckNodeName(cur, xmlSecNodeDSAY, xmlSecDSigNs))) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- xmlSecErrorsSafeString(xmlSecNodeGetName(cur)),
- XMLSEC_ERRORS_R_INVALID_NODE,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeDSAY));
+ xmlSecInvalidNodeError(cur, xmlSecNodeDSAY, xmlSecKeyDataKlassGetName(id));
goto err_cleanup;
}
if(xmlSecOpenSSLNodeGetBNValue(cur, &pub_key) == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecOpenSSLNodeGetBNValue",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s", xmlSecErrorsSafeString(xmlSecNodeDSAY));
+ xmlSecInternalError2("xmlSecOpenSSLNodeGetBNValue",
+ xmlSecKeyDataKlassGetName(id),
+ "node=%s", xmlSecErrorsSafeString(xmlSecNodeDSAY));
goto err_cleanup;
}
cur = xmlSecGetNextElementNode(cur->next);
@@ -743,31 +783,21 @@ xmlSecOpenSSLKeyDataDsaXmlRead(xmlSecKeyDataId id, xmlSecKeyPtr key,
}
if(cur != NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- xmlSecErrorsSafeString(xmlSecNodeGetName(cur)),
- XMLSEC_ERRORS_R_UNEXPECTED_NODE,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecUnexpectedNodeError(cur, xmlSecKeyDataKlassGetName(id));
goto err_cleanup;
}
data = xmlSecKeyDataCreate(id);
if(data == NULL ) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecKeyDataCreate",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeyDataCreate",
+ xmlSecKeyDataKlassGetName(id));
goto err_cleanup;
}
ret = DSA_set0_pqg(dsa, p, q, g);
if(ret != 1) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "DSA_set0_pqg",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOpenSSLError("DSA_set0_pqg",
+ xmlSecKeyDataKlassGetName(id));
goto err_cleanup;
}
p = NULL;
@@ -776,11 +806,8 @@ xmlSecOpenSSLKeyDataDsaXmlRead(xmlSecKeyDataId id, xmlSecKeyPtr key,
ret = DSA_set0_key(dsa, pub_key, priv_key);
if(ret != 1) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "DSA_set0_key",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOpenSSLError("DSA_set0_key",
+ xmlSecKeyDataKlassGetName(id));
goto err_cleanup;
}
pub_key = NULL;
@@ -788,22 +815,16 @@ xmlSecOpenSSLKeyDataDsaXmlRead(xmlSecKeyDataId id, xmlSecKeyPtr key,
ret = xmlSecOpenSSLKeyDataDsaAdoptDsa(data, dsa);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- "xmlSecOpenSSLKeyDataDsaAdoptDsa",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecOpenSSLKeyDataDsaAdoptDsa",
+ xmlSecKeyDataGetName(data));
goto err_cleanup;
}
dsa = NULL;
ret = xmlSecKeySetValue(key, data);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- "xmlSecKeySetValue",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeySetValue",
+ xmlSecKeyDataGetName(data));
data = NULL;
goto err_cleanup;
}
@@ -852,22 +873,16 @@ xmlSecOpenSSLKeyDataDsaXmlWrite(xmlSecKeyDataId id, xmlSecKeyPtr key,
xmlSecAssert2(p != NULL, -1);
cur = xmlSecAddChild(node, xmlSecNodeDSAP, xmlSecDSigNs);
if(cur == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecAddChild",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeDSAP));
+ xmlSecInternalError2("xmlSecAddChild",
+ xmlSecKeyDataKlassGetName(id),
+ "node=%s", xmlSecErrorsSafeString(xmlSecNodeDSAP));
return(-1);
}
ret = xmlSecOpenSSLNodeSetBNValue(cur, p, 1);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecOpenSSLNodeSetBNValue",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeDSAP));
+ xmlSecInternalError2("xmlSecOpenSSLNodeSetBNValue",
+ xmlSecKeyDataKlassGetName(id),
+ "node=%s", xmlSecErrorsSafeString(xmlSecNodeDSAP));
return(-1);
}
@@ -875,22 +890,16 @@ xmlSecOpenSSLKeyDataDsaXmlWrite(xmlSecKeyDataId id, xmlSecKeyPtr key,
xmlSecAssert2(q != NULL, -1);
cur = xmlSecAddChild(node, xmlSecNodeDSAQ, xmlSecDSigNs);
if(cur == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecAddChild",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeDSAQ));
+ xmlSecInternalError2("xmlSecAddChild",
+ xmlSecKeyDataKlassGetName(id),
+ "node=%s", xmlSecErrorsSafeString(xmlSecNodeDSAQ));
return(-1);
}
ret = xmlSecOpenSSLNodeSetBNValue(cur, q, 1);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecOpenSSLNodeSetBNValue",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeDSAQ));
+ xmlSecInternalError2("xmlSecOpenSSLNodeSetBNValue",
+ xmlSecKeyDataKlassGetName(id),
+ "node=%s", xmlSecErrorsSafeString(xmlSecNodeDSAQ));
return(-1);
}
@@ -898,22 +907,16 @@ xmlSecOpenSSLKeyDataDsaXmlWrite(xmlSecKeyDataId id, xmlSecKeyPtr key,
xmlSecAssert2(g != NULL, -1);
cur = xmlSecAddChild(node, xmlSecNodeDSAG, xmlSecDSigNs);
if(cur == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecAddChild",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeDSAG));
+ xmlSecInternalError2("xmlSecAddChild",
+ xmlSecKeyDataKlassGetName(id),
+ "node=%s", xmlSecErrorsSafeString(xmlSecNodeDSAG));
return(-1);
}
ret = xmlSecOpenSSLNodeSetBNValue(cur, g, 1);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecOpenSSLNodeSetBNValue",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeDSAG));
+ xmlSecInternalError2("xmlSecOpenSSLNodeSetBNValue",
+ xmlSecKeyDataKlassGetName(id),
+ "node=%s", xmlSecErrorsSafeString(xmlSecNodeDSAG));
return(-1);
}
@@ -923,22 +926,16 @@ xmlSecOpenSSLKeyDataDsaXmlWrite(xmlSecKeyDataId id, xmlSecKeyPtr key,
if(((keyInfoCtx->keyReq.keyType & xmlSecKeyDataTypePrivate) != 0) && (priv_key != NULL)) {
cur = xmlSecAddChild(node, xmlSecNodeDSAX, xmlSecNs);
if(cur == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecAddChild",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeDSAX));
+ xmlSecInternalError2("xmlSecAddChild",
+ xmlSecKeyDataKlassGetName(id),
+ "node=%s", xmlSecErrorsSafeString(xmlSecNodeDSAX));
return(-1);
}
ret = xmlSecOpenSSLNodeSetBNValue(cur, priv_key, 1);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecOpenSSLNodeSetBNValue",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeDSAX));
+ xmlSecInternalError2("xmlSecOpenSSLNodeSetBNValue",
+ xmlSecKeyDataKlassGetName(id),
+ "node=%s", xmlSecErrorsSafeString(xmlSecNodeDSAX));
return(-1);
}
}
@@ -947,22 +944,16 @@ xmlSecOpenSSLKeyDataDsaXmlWrite(xmlSecKeyDataId id, xmlSecKeyPtr key,
xmlSecAssert2(pub_key != NULL, -1);
cur = xmlSecAddChild(node, xmlSecNodeDSAY, xmlSecDSigNs);
if(cur == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecAddChild",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeDSAY));
+ xmlSecInternalError2("xmlSecAddChild",
+ xmlSecKeyDataKlassGetName(id),
+ "node=%s", xmlSecErrorsSafeString(xmlSecNodeDSAY));
return(-1);
}
ret = xmlSecOpenSSLNodeSetBNValue(cur, pub_key, 1);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecOpenSSLNodeSetBNValue",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeDSAY));
+ xmlSecInternalError2("xmlSecOpenSSLNodeSetBNValue",
+ xmlSecKeyDataKlassGetName(id),
+ "node=%s", xmlSecErrorsSafeString(xmlSecNodeDSAY));
return(-1);
}
return(0);
@@ -980,43 +971,32 @@ xmlSecOpenSSLKeyDataDsaGenerate(xmlSecKeyDataPtr data, xmlSecSize sizeBits, xmlS
dsa = DSA_new();
if(dsa == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- "DSA_new",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- "size=%d", sizeBits);
+ xmlSecOpenSSLError("DSA_new",
+ xmlSecKeyDataGetName(data));
return(-1);
}
ret = DSA_generate_parameters_ex(dsa, sizeBits, NULL, 0, &counter_ret, &h_ret, NULL);
if(ret != 1) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- "DSA_generate_parameters_ex",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- "size=%d", sizeBits);
+ xmlSecOpenSSLError2("DSA_generate_parameters_ex",
+ xmlSecKeyDataGetName(data),
+ "sizeBits=%lu", (unsigned long)sizeBits);
DSA_free(dsa);
return(-1);
}
ret = DSA_generate_key(dsa);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- "DSA_generate_key",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOpenSSLError("DSA_generate_key",
+ xmlSecKeyDataGetName(data));
DSA_free(dsa);
return(-1);
}
ret = xmlSecOpenSSLKeyDataDsaAdoptDsa(data, dsa);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- "xmlSecOpenSSLKeyDataDsaAdoptDsa",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecOpenSSLKeyDataDsaAdoptDsa",
+ xmlSecKeyDataGetName(data));
DSA_free(dsa);
return(-1);
}
@@ -1196,21 +1176,15 @@ xmlSecOpenSSLKeyDataEcdsaAdoptEcdsa(xmlSecKeyDataPtr data, EC_KEY* ecdsa) {
if(ecdsa != NULL) {
pKey = EVP_PKEY_new();
if(pKey == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- "EVP_PKEY_new",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOpenSSLError("EVP_PKEY_new",
+ xmlSecKeyDataGetName(data));
return(-1);
}
ret = EVP_PKEY_assign_EC_KEY(pKey, ecdsa);
if(ret != 1) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- "EVP_PKEY_assign_EC_KEY",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOpenSSLError("EVP_PKEY_assign_EC_KEY",
+ xmlSecKeyDataGetName(data));
EVP_PKEY_free(pKey);
return(-1);
}
@@ -1218,11 +1192,8 @@ xmlSecOpenSSLKeyDataEcdsaAdoptEcdsa(xmlSecKeyDataPtr data, EC_KEY* ecdsa) {
ret = xmlSecOpenSSLKeyDataEcdsaAdoptEvp(data, pKey);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- "xmlSecOpenSSLKeyDataEcdsaAdoptEvp",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecOpenSSLKeyDataEcdsaAdoptEvp",
+ xmlSecKeyDataGetName(data));
if(pKey != NULL) {
EVP_PKEY_free(pKey);
}
@@ -1318,6 +1289,7 @@ xmlSecOpenSSLKeyDataEcdsaGetSize(xmlSecKeyDataPtr data) {
const EC_KEY *ecdsa;
BIGNUM * order;
xmlSecSize res;
+ int ret;
xmlSecAssert2(xmlSecKeyDataCheckId(data, xmlSecOpenSSLKeyDataEcdsaId), 0);
@@ -1328,30 +1300,19 @@ xmlSecOpenSSLKeyDataEcdsaGetSize(xmlSecKeyDataPtr data) {
group = EC_KEY_get0_group(ecdsa);
if(group == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "EC_KEY_get0_group",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOpenSSLError("EC_KEY_get0_group", NULL);
return(0);
}
order = BN_new();
if(order == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "BN_new",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOpenSSLError("BN_new", NULL);
return(0);
}
- if(EC_GROUP_get_order(group, order, NULL) != 1) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "EC_GROUP_get_order",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ ret = EC_GROUP_get_order(group, order, NULL);
+ if(ret != 1) {
+ xmlSecOpenSSLError("EC_GROUP_get_order", NULL);
BN_free(order);
return(0);
}
@@ -1518,21 +1479,15 @@ xmlSecOpenSSLKeyDataRsaAdoptRsa(xmlSecKeyDataPtr data, RSA* rsa) {
if(rsa != NULL) {
pKey = EVP_PKEY_new();
if(pKey == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- "EVP_PKEY_new",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOpenSSLError("EVP_PKEY_new",
+ xmlSecKeyDataGetName(data));
return(-1);
}
ret = EVP_PKEY_assign_RSA(pKey, rsa);
if(ret != 1) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- "EVP_PKEY_assign_RSA",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOpenSSLError("EVP_PKEY_assign_RSA",
+ xmlSecKeyDataGetName(data));
EVP_PKEY_free(pKey);
return(-1);
}
@@ -1540,11 +1495,8 @@ xmlSecOpenSSLKeyDataRsaAdoptRsa(xmlSecKeyDataPtr data, RSA* rsa) {
ret = xmlSecOpenSSLKeyDataRsaAdoptEvp(data, pKey);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- "xmlSecOpenSSLKeyDataRsaAdoptEvp",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecOpenSSLKeyDataRsaAdoptEvp",
+ xmlSecKeyDataGetName(data));
if(pKey != NULL) {
EVP_PKEY_free(pKey);
}
@@ -1643,21 +1595,16 @@ xmlSecOpenSSLKeyDataRsaXmlRead(xmlSecKeyDataId id, xmlSecKeyPtr key,
xmlSecAssert2(keyInfoCtx != NULL, -1);
if(xmlSecKeyGetValue(key) != NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- NULL,
- XMLSEC_ERRORS_R_INVALID_KEY_DATA,
- "key already has a value");
+ xmlSecOtherError(XMLSEC_ERRORS_R_INVALID_KEY_DATA,
+ xmlSecKeyDataKlassGetName(id),
+ "Key data value is already set");
return(-1);
}
rsa = RSA_new();
if(rsa == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "RSA_new",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOpenSSLError("RSA_new",
+ xmlSecKeyDataGetName(data));
return(-1);
}
@@ -1665,42 +1612,26 @@ xmlSecOpenSSLKeyDataRsaXmlRead(xmlSecKeyDataId id, xmlSecKeyPtr key,
/* first is Modulus node. It is REQUIRED because we do not support Seed and PgenCounter*/
if((cur == NULL) || (!xmlSecCheckNodeName(cur, xmlSecNodeRSAModulus, xmlSecDSigNs))) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- xmlSecErrorsSafeString(xmlSecNodeGetName(cur)),
- XMLSEC_ERRORS_R_INVALID_NODE,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeRSAModulus));
+ xmlSecInvalidNodeError(cur, xmlSecNodeRSAModulus, xmlSecKeyDataKlassGetName(id));
goto err_cleanup;
}
if(xmlSecOpenSSLNodeGetBNValue(cur, &n) == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecOpenSSLNodeGetBNValue",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeRSAModulus));
+ xmlSecInternalError2("xmlSecOpenSSLNodeGetBNValue",
+ xmlSecKeyDataKlassGetName(id),
+ "node=%s", xmlSecErrorsSafeString(xmlSecNodeRSAModulus));
goto err_cleanup;
}
cur = xmlSecGetNextElementNode(cur->next);
/* next is Exponent node. It is REQUIRED because we do not support Seed and PgenCounter*/
if((cur == NULL) || (!xmlSecCheckNodeName(cur, xmlSecNodeRSAExponent, xmlSecDSigNs))) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- xmlSecErrorsSafeString(xmlSecNodeGetName(cur)),
- XMLSEC_ERRORS_R_INVALID_NODE,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeRSAExponent));
+ xmlSecInvalidNodeError(cur, xmlSecNodeRSAExponent, xmlSecKeyDataKlassGetName(id));
goto err_cleanup;
}
if(xmlSecOpenSSLNodeGetBNValue(cur, &e) == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecOpenSSLNodeGetBNValue",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeRSAExponent));
+ xmlSecInternalError2("xmlSecOpenSSLNodeGetBNValue",
+ xmlSecKeyDataKlassGetName(id),
+ "node=%s", xmlSecErrorsSafeString(xmlSecNodeRSAExponent));
goto err_cleanup;
}
cur = xmlSecGetNextElementNode(cur->next);
@@ -1709,33 +1640,23 @@ xmlSecOpenSSLKeyDataRsaXmlRead(xmlSecKeyDataId id, xmlSecKeyPtr key,
/* next is X node. It is REQUIRED for private key but
* we are not sure exactly what do we read */
if(xmlSecOpenSSLNodeGetBNValue(cur, &d) == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecOpenSSLNodeGetBNValue",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeRSAPrivateExponent));
+ xmlSecInternalError2("xmlSecOpenSSLNodeGetBNValue",
+ xmlSecKeyDataKlassGetName(id),
+ "node=%s", xmlSecErrorsSafeString(xmlSecNodeRSAPrivateExponent));
goto err_cleanup;
}
cur = xmlSecGetNextElementNode(cur->next);
}
if(cur != NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- xmlSecErrorsSafeString(xmlSecNodeGetName(cur)),
- XMLSEC_ERRORS_R_INVALID_NODE,
- "no nodes expected");
+ xmlSecUnexpectedNodeError(cur, xmlSecKeyDataKlassGetName(id));
goto err_cleanup;
}
ret = RSA_set0_key(rsa, n, e, d);
if(ret == 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "RSA_set0_key",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOpenSSLError("RSA_set0_key",
+ xmlSecKeyDataGetName(data));
goto err_cleanup;
}
n = NULL;
@@ -1744,31 +1665,22 @@ xmlSecOpenSSLKeyDataRsaXmlRead(xmlSecKeyDataId id, xmlSecKeyPtr key,
data = xmlSecKeyDataCreate(id);
if(data == NULL ) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecKeyDataCreate",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeyDataCreate",
+ xmlSecKeyDataKlassGetName(id));
goto err_cleanup;
}
ret = xmlSecOpenSSLKeyDataRsaAdoptRsa(data, rsa);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecOpenSSLKeyDataRsaAdoptRsa",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecOpenSSLKeyDataRsaAdoptRsa",
+ xmlSecKeyDataKlassGetName(id));
goto err_cleanup;
}
ret = xmlSecKeySetValue(key, data);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecKeySetValue",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeySetValue",
+ xmlSecKeyDataKlassGetName(id));
data = NULL;
goto err_cleanup;
}
@@ -1812,45 +1724,33 @@ xmlSecOpenSSLKeyDataRsaXmlWrite(xmlSecKeyDataId id, xmlSecKeyPtr key,
/* first is Modulus node */
cur = xmlSecAddChild(node, xmlSecNodeRSAModulus, xmlSecDSigNs);
if(cur == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecAddChild",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeRSAModulus));
+ xmlSecInternalError2("xmlSecAddChild",
+ xmlSecKeyDataKlassGetName(id),
+ "node=%s", xmlSecErrorsSafeString(xmlSecNodeRSAModulus));
return(-1);
}
ret = xmlSecOpenSSLNodeSetBNValue(cur, n, 1);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecOpenSSLNodeSetBNValue",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeRSAModulus));
+ xmlSecInternalError2("xmlSecOpenSSLNodeSetBNValue",
+ xmlSecKeyDataKlassGetName(id),
+ "node=%s", xmlSecErrorsSafeString(xmlSecNodeRSAModulus));
return(-1);
}
/* next is Exponent node. */
cur = xmlSecAddChild(node, xmlSecNodeRSAExponent, xmlSecDSigNs);
if(cur == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecAddChild",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeRSAExponent));
+ xmlSecInternalError2("xmlSecAddChild",
+ xmlSecKeyDataKlassGetName(id),
+ "node=%s", xmlSecErrorsSafeString(xmlSecNodeRSAExponent));
return(-1);
}
ret = xmlSecOpenSSLNodeSetBNValue(cur, e, 1);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecOpenSSLNodeSetBNValue",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeRSAExponent));
+ xmlSecInternalError2("xmlSecOpenSSLNodeSetBNValue",
+ xmlSecKeyDataKlassGetName(id),
+ "node=%s", xmlSecErrorsSafeString(xmlSecNodeRSAExponent));
return(-1);
}
@@ -1858,22 +1758,16 @@ xmlSecOpenSSLKeyDataRsaXmlWrite(xmlSecKeyDataId id, xmlSecKeyPtr key,
if(((keyInfoCtx->keyReq.keyType & xmlSecKeyDataTypePrivate) != 0) && (d != NULL)) {
cur = xmlSecAddChild(node, xmlSecNodeRSAPrivateExponent, xmlSecNs);
if(cur == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecAddChild",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeRSAPrivateExponent));
+ xmlSecInternalError2("xmlSecAddChild",
+ xmlSecKeyDataKlassGetName(id),
+ "node=%s", xmlSecErrorsSafeString(xmlSecNodeRSAPrivateExponent));
return(-1);
}
ret = xmlSecOpenSSLNodeSetBNValue(cur, d, 1);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecOpenSSLNodeSetBNValue",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeRSAPrivateExponent));
+ xmlSecInternalError2("xmlSecOpenSSLNodeSetBNValue",
+ xmlSecKeyDataKlassGetName(id),
+ "node=%s", xmlSecErrorsSafeString(xmlSecNodeRSAPrivateExponent));
return(-1);
}
}
@@ -1893,43 +1787,32 @@ xmlSecOpenSSLKeyDataRsaGenerate(xmlSecKeyDataPtr data, xmlSecSize sizeBits, xmlS
/* create exponent */
e = BN_new();
if(e == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- "BN_new",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- "sizeBits=%d", sizeBits);
+ xmlSecOpenSSLError("BN_new",
+ xmlSecKeyDataGetName(data));
return(-1);
}
ret = BN_set_word(e, RSA_F4);
if(ret != 1){
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- "BN_new",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- "sizeBits=%d", sizeBits);
+ xmlSecOpenSSLError("BN_set_word",
+ xmlSecKeyDataGetName(data));
BN_free(e);
return(-1);
}
rsa = RSA_new();
if(rsa == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- "RSA_new",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- "sizeBits=%d", sizeBits);
+ xmlSecOpenSSLError("RSA_new",
+ xmlSecKeyDataGetName(data));
BN_free(e);
return(-1);
}
ret = RSA_generate_key_ex(rsa, sizeBits, e, NULL);
if(ret != 1) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- "RSA_generate_key",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- "sizeBits=%d", sizeBits);
+ xmlSecOpenSSLError2("RSA_generate_key_ex",
+ xmlSecKeyDataGetName(data),
+ "sizeBits=%lu", (unsigned long)sizeBits);
RSA_free(rsa);
BN_free(e);
return(-1);
@@ -1937,11 +1820,8 @@ xmlSecOpenSSLKeyDataRsaGenerate(xmlSecKeyDataPtr data, xmlSecSize sizeBits, xmlS
ret = xmlSecOpenSSLKeyDataRsaAdoptRsa(data, rsa);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- "xmlSecOpenSSLKeyDataRsaAdoptRsa",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecOpenSSLKeyDataRsaAdoptRsa",
+ xmlSecKeyDataGetName(data));
RSA_free(rsa);
BN_free(e);
return(-1);
@@ -1970,7 +1850,7 @@ xmlSecOpenSSLKeyDataRsaGetType(xmlSecKeyDataPtr data) {
if(n != NULL && e != NULL) {
if(d != NULL) {
return(xmlSecKeyDataTypePrivate | xmlSecKeyDataTypePublic);
- } else if(RSA_test_flags(rsa, RSA_FLAG_EXT_PKEY)) {
+ } else if(RSA_test_flags(rsa, (RSA_FLAG_EXT_PKEY | RSA_FLAG_CACHE_PRIVATE)) != 0) {
/*
* !!! HACK !!! Also see DSA key
* We assume here that engine *always* has private key.
diff --git a/src/openssl/evp_signatures.c b/src/openssl/evp_signatures.c
index 4dc493c..c20a028 100644
--- a/src/openssl/evp_signatures.c
+++ b/src/openssl/evp_signatures.c
@@ -1,5 +1,5 @@
-/**
- * XMLSec library
+/*
+ * XML Security Library (http://www.aleksey.com/xmlsec).
*
* This is free software; see Copyright file in the source
* distribution for preciese wording.
@@ -21,17 +21,7 @@
#include <xmlsec/openssl/crypto.h>
#include <xmlsec/openssl/evp.h>
-
-/* new API from OpenSSL 1.1.0 (https://www.openssl.org/docs/manmaster/crypto/EVP_DigestInit.html):
- *
- * EVP_MD_CTX_create() and EVP_MD_CTX_destroy() were renamed to EVP_MD_CTX_new() and EVP_MD_CTX_free() in OpenSSL 1.1.
- */
-#if !defined(XMLSEC_OPENSSL_110)
-#define EVP_MD_CTX_new() EVP_MD_CTX_create()
-#define EVP_MD_CTX_free(x) EVP_MD_CTX_destroy((x))
-#define EVP_MD_CTX_md_data(x) ((x)->md_data)
-#endif /* !defined(XMLSEC_OPENSSL_110) */
-
+#include "openssl_compat.h"
/**************************************************************************
*
@@ -215,11 +205,7 @@ xmlSecOpenSSLEvpSignatureInitialize(xmlSecTransformPtr transform) {
ctx->keyId = xmlSecOpenSSLKeyDataGost2001Id;
ctx->digest = EVP_get_digestbyname("md_gost94");
if (!ctx->digest) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- NULL,
- XMLSEC_ERRORS_R_INVALID_TRANSFORM,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInvalidTransfromError(transform)
return(-1);
}
} else
@@ -230,11 +216,7 @@ xmlSecOpenSSLEvpSignatureInitialize(xmlSecTransformPtr transform) {
ctx->keyId = xmlSecOpenSSLKeyDataGostR3410_2012_256Id;
ctx->digest = EVP_get_digestbyname("md_gost12_256");
if (!ctx->digest) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- NULL,
- XMLSEC_ERRORS_R_INVALID_TRANSFORM,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInvalidTransfromError(transform)
return(-1);
}
} else
@@ -243,33 +225,22 @@ xmlSecOpenSSLEvpSignatureInitialize(xmlSecTransformPtr transform) {
ctx->keyId = xmlSecOpenSSLKeyDataGostR3410_2012_512Id;
ctx->digest = EVP_get_digestbyname("md_gost12_512");
if (!ctx->digest) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- NULL,
- XMLSEC_ERRORS_R_INVALID_TRANSFORM,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInvalidTransfromError(transform)
return(-1);
}
} else
#endif /* XMLSEC_NO_GOST2012 */
if(1) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- NULL,
- XMLSEC_ERRORS_R_INVALID_TRANSFORM,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInvalidTransfromError(transform)
return(-1);
}
/* create digest CTX */
ctx->digestCtx = EVP_MD_CTX_new();
if(ctx->digestCtx == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "EVP_MD_CTX_new",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOpenSSLError("EVP_MD_CTX_new",
+ xmlSecTransformGetName(transform));
return(-1);
}
@@ -320,11 +291,8 @@ xmlSecOpenSSLEvpSignatureSetKey(xmlSecTransformPtr transform, xmlSecKeyPtr key)
pKey = xmlSecOpenSSLEvpKeyDataGetEvp(value);
if(pKey == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecOpenSSLEvpKeyDataGetEvp",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecOpenSSLEvpKeyDataGetEvp",
+ xmlSecTransformGetName(transform));
return(-1);
}
@@ -334,11 +302,8 @@ xmlSecOpenSSLEvpSignatureSetKey(xmlSecTransformPtr transform, xmlSecKeyPtr key)
ctx->pKey = xmlSecOpenSSLEvpKeyDup(pKey);
if(ctx->pKey == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecOpenSSLEvpKeyDup",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecOpenSSLEvpKeyDup",
+ xmlSecTransformGetName(transform));
return(-1);
}
@@ -390,18 +355,13 @@ xmlSecOpenSSLEvpSignatureVerify(xmlSecTransformPtr transform,
ret = EVP_VerifyFinal(ctx->digestCtx, (xmlSecByte*)data, dataSize, ctx->pKey);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "EVP_VerifyFinal",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOpenSSLError("EVP_VerifyFinal",
+ xmlSecTransformGetName(transform));
return(-1);
} else if(ret != 1) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "EVP_VerifyFinal",
- XMLSEC_ERRORS_R_DATA_NOT_MATCH,
- "signature do not match");
+ xmlSecOtherError(XMLSEC_ERRORS_R_DATA_NOT_MATCH,
+ xmlSecTransformGetName(transform),
+ "EVP_VerifyFinal: signature does not verify");
transform->status = xmlSecTransformStatusFail;
return(0);
}
@@ -443,21 +403,15 @@ xmlSecOpenSSLEvpSignatureExecute(xmlSecTransformPtr transform, int last, xmlSecT
if(transform->operation == xmlSecTransformOperationSign) {
ret = EVP_SignInit(ctx->digestCtx, ctx->digest);
if(ret != 1) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "EVP_SignInit",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOpenSSLError("EVP_SignInit",
+ xmlSecTransformGetName(transform));
return(-1);
}
} else {
ret = EVP_VerifyInit(ctx->digestCtx, ctx->digest);
if(ret != 1) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "EVP_VerifyInit",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOpenSSLError("EVP_VerifyInit",
+ xmlSecTransformGetName(transform));
return(-1);
}
}
@@ -470,32 +424,23 @@ xmlSecOpenSSLEvpSignatureExecute(xmlSecTransformPtr transform, int last, xmlSecT
if(transform->operation == xmlSecTransformOperationSign) {
ret = EVP_SignUpdate(ctx->digestCtx, xmlSecBufferGetData(in), inSize);
if(ret != 1) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "EVP_SignUpdate",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOpenSSLError("EVP_SignUpdate",
+ xmlSecTransformGetName(transform));
return(-1);
}
} else {
ret = EVP_VerifyUpdate(ctx->digestCtx, xmlSecBufferGetData(in), inSize);
if(ret != 1) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "EVP_VerifyUpdate",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOpenSSLError("EVP_VerifyUpdate",
+ xmlSecTransformGetName(transform));
return(-1);
}
}
ret = xmlSecBufferRemoveHead(in, inSize);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecBufferRemoveHead",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecBufferRemoveHead",
+ xmlSecTransformGetName(transform));
return(-1);
}
}
@@ -509,31 +454,24 @@ xmlSecOpenSSLEvpSignatureExecute(xmlSecTransformPtr transform, int last, xmlSecT
signSize = EVP_PKEY_size(ctx->pKey);
ret = xmlSecBufferSetMaxSize(out, signSize);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecBufferSetMaxSize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "size=%u", signSize);
+ xmlSecInternalError2("xmlSecBufferSetMaxSize",
+ xmlSecTransformGetName(transform),
+ "size=%u", signSize);
return(-1);
}
ret = EVP_SignFinal(ctx->digestCtx, xmlSecBufferGetData(out), &signSize, ctx->pKey);
if(ret != 1) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "EVP_SignFinal",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOpenSSLError("EVP_SignFinal",
+ xmlSecTransformGetName(transform));
return(-1);
}
ret = xmlSecBufferSetSize(out, signSize);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecBufferSetSize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "size=%u", signSize);
+ xmlSecInternalError2("xmlSecBufferSetSize",
+ xmlSecTransformGetName(transform),
+ "size=%u", signSize);
return(-1);
}
}
@@ -544,11 +482,7 @@ xmlSecOpenSSLEvpSignatureExecute(xmlSecTransformPtr transform, int last, xmlSecT
/* the only way we can get here is if there is no input */
xmlSecAssert2(xmlSecBufferGetSize(&(transform->inBuf)) == 0, -1);
} else {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- NULL,
- XMLSEC_ERRORS_R_INVALID_STATUS,
- "status=%d", transform->status);
+ xmlSecInvalidTransfromStatusError(transform);
return(-1);
}
diff --git a/src/openssl/globals.h b/src/openssl/globals.h
index 065c3e8..291a84e 100644
--- a/src/openssl/globals.h
+++ b/src/openssl/globals.h
@@ -21,4 +21,79 @@
#define IN_XMLSEC_CRYPTO
#define XMLSEC_PRIVATE
+/* Include common error helper macros. */
+#include "../errors_helpers.h"
+
+/**************************************************************
+ *
+ * Error constants for OpenSSL
+ *
+ *************************************************************/
+/**
+ * XMLSEC_OPENSSL_ERRORS_LIB:
+ *
+ * Macro. The XMLSec library klass for OpenSSL errors reporting functions.
+ */
+#define XMLSEC_OPENSSL_ERRORS_LIB (ERR_LIB_USER + 57)
+
+/**
+ * XMLSEC_OPENSSL_ERRORS_FUNCTION:
+ *
+ * Macro. The XMLSec library functions OpenSSL errors reporting functions.
+ */
+#define XMLSEC_OPENSSL_ERRORS_FUNCTION 0
+
+/**
+ * xmlSecOpenSSLError:
+ * @errorFunction: the failed function name.
+ * @errorObject: the error specific error object (e.g. transform, key data, etc).
+ *
+ * Macro. The XMLSec library macro for reporting OpenSSL crypro errors.
+ */
+#define xmlSecOpenSSLError(errorFunction, errorObject) \
+ { \
+ unsigned long error_code = ERR_peek_error(); \
+ const char* lib = ERR_lib_error_string(error_code); \
+ const char* func = ERR_func_error_string(error_code); \
+ const char* reason = ERR_reason_error_string(error_code); \
+ xmlSecError(XMLSEC_ERRORS_HERE, \
+ (const char*)(errorObject), \
+ (errorFunction), \
+ XMLSEC_ERRORS_R_CRYPTO_FAILED, \
+ "openssl error: %lu: %s: %s %s", \
+ error_code, \
+ xmlSecErrorsSafeString(lib), \
+ xmlSecErrorsSafeString(func), \
+ xmlSecErrorsSafeString(reason) \
+ ); \
+ }
+
+/**
+ * xmlSecOpenSSLError2:
+ * @errorFunction: the failed function name.
+ * @errorObject: the error specific error object (e.g. transform, key data, etc).
+ * @msg: the extra message.
+ * @param: the extra message param.
+ *
+ * Macro. The XMLSec library macro for reporting OpenSSL crypro errors.
+ */
+#define xmlSecOpenSSLError2(errorFunction, errorObject, msg, param) \
+ { \
+ unsigned long error_code = ERR_peek_error(); \
+ const char* lib = ERR_lib_error_string(error_code); \
+ const char* func = ERR_func_error_string(error_code); \
+ const char* reason = ERR_reason_error_string(error_code); \
+ xmlSecError(XMLSEC_ERRORS_HERE, \
+ (const char*)(errorObject), \
+ (errorFunction), \
+ XMLSEC_ERRORS_R_CRYPTO_FAILED, \
+ msg "; openssl error: %lu: %s: %s %s", \
+ (param), \
+ error_code, \
+ xmlSecErrorsSafeString(lib), \
+ xmlSecErrorsSafeString(func), \
+ xmlSecErrorsSafeString(reason) \
+ ); \
+ }
+
#endif /* ! __XMLSEC_GLOBALS_H__ */
diff --git a/src/openssl/hmac.c b/src/openssl/hmac.c
index edfc3af..c2d86f8 100644
--- a/src/openssl/hmac.c
+++ b/src/openssl/hmac.c
@@ -1,6 +1,5 @@
-/**
- *
- * XMLSec library
+/*
+ * XML Security Library (http://www.aleksey.com/xmlsec).
*
* HMAC Algorithm support (http://www.w3.org/TR/xmldsig-core/#sec-HMAC):
* The HMAC algorithm (RFC2104 [HMAC]) takes the truncation length in bits
@@ -32,16 +31,7 @@
#include <xmlsec/errors.h>
#include <xmlsec/openssl/crypto.h>
-
-/* new API from OpenSSL 1.1.0 (https://www.openssl.org/docs/manmaster/crypto/hmac.html):
- *
- * HMAC_CTX_new() and HMAC_CTX_free() are new in OpenSSL version 1.1.
- */
-#if !defined(XMLSEC_OPENSSL_110)
-#define HMAC_CTX_new() ((HMAC_CTX*)calloc(1, sizeof(HMAC_CTX)))
-#define HMAC_CTX_free(x) { HMAC_CTX_cleanup((x)); free((x)); }
-#endif /* !defined(XMLSEC_OPENSSL_110) */
-
+#include "openssl_compat.h"
/* sizes in bits */
#define XMLSEC_OPENSSL_MIN_HMAC_SIZE 80
@@ -234,22 +224,15 @@ xmlSecOpenSSLHmacInitialize(xmlSecTransformPtr transform) {
#endif /* XMLSEC_NO_MD5 */
{
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- NULL,
- XMLSEC_ERRORS_R_INVALID_TRANSFORM,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInvalidTransfromError(transform)
return(-1);
}
/* create hmac CTX */
ctx->hmacCtx = HMAC_CTX_new();
if(ctx->hmacCtx == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "HMAC_CTX_new",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOpenSSLError("HMAC_CTX_new",
+ xmlSecTransformGetName(transform));
return(-1);
}
@@ -302,11 +285,8 @@ xmlSecOpenSSLHmacNodeRead(xmlSecTransformPtr transform, xmlNodePtr node, xmlSecT
small value
*/
if((int)ctx->dgstSize < xmlSecOpenSSLHmacGetMinOutputLength()) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- xmlSecErrorsSafeString(xmlSecNodeGetName(cur)),
- XMLSEC_ERRORS_R_INVALID_NODE_ATTRIBUTE,
- "HMAC output length is too small");
+ xmlSecInvalidNodeContentError(cur, xmlSecTransformGetName(transform),
+ "HMAC output length is too small");
return(-1);
}
@@ -314,11 +294,7 @@ xmlSecOpenSSLHmacNodeRead(xmlSecTransformPtr transform, xmlNodePtr node, xmlSecT
}
if(cur != NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- xmlSecErrorsSafeString(xmlSecNodeGetName(cur)),
- XMLSEC_ERRORS_R_UNEXPECTED_NODE,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecUnexpectedNodeError(cur, xmlSecTransformGetName(transform));
return(-1);
}
return(0);
@@ -327,7 +303,8 @@ xmlSecOpenSSLHmacNodeRead(xmlSecTransformPtr transform, xmlNodePtr node, xmlSecT
static int
xmlSecOpenSSLHmacSetKeyReq(xmlSecTransformPtr transform, xmlSecKeyReqPtr keyReq) {
xmlSecAssert2(xmlSecOpenSSLHmacCheckId(transform), -1);
- xmlSecAssert2((transform->operation == xmlSecTransformOperationSign) || (transform->operation == xmlSecTransformOperationVerify), -1);
+ xmlSecAssert2((transform->operation == xmlSecTransformOperationSign)
+ || (transform->operation == xmlSecTransformOperationVerify), -1);
xmlSecAssert2(xmlSecTransformCheckSize(transform, xmlSecOpenSSLHmacSize), -1);
xmlSecAssert2(keyReq != NULL, -1);
@@ -367,40 +344,31 @@ xmlSecOpenSSLHmacSetKey(xmlSecTransformPtr transform, xmlSecKeyPtr key) {
xmlSecAssert2(buffer != NULL, -1);
if(xmlSecBufferGetSize(buffer) == 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- NULL,
- XMLSEC_ERRORS_R_INVALID_KEY_DATA_SIZE,
- "keySize=0");
+ xmlSecInvalidZeroKeyDataSizeError(xmlSecTransformGetName(transform));
return(-1);
}
xmlSecAssert2(xmlSecBufferGetData(buffer) != NULL, -1);
-#if (defined(XMLSEC_OPENSSL_098))
- /* no return value in 0.9.8 */
- HMAC_Init_ex(ctx->hmacCtx,
- xmlSecBufferGetData(buffer),
- xmlSecBufferGetSize(buffer),
- ctx->hmacDgst,
- NULL);
- ret = 1;
-#else /* (defined(XMLSEC_OPENSSL_098)) */
+ /* No return values before 1.0.0 (https://www.openssl.org/docs/man1.1.0/crypto/HMAC_Update.html) */
+#if !defined(XMLSEC_OPENSSL_API_098)
ret = HMAC_Init_ex(ctx->hmacCtx,
xmlSecBufferGetData(buffer),
xmlSecBufferGetSize(buffer),
ctx->hmacDgst,
NULL);
-#endif /* (defined(XMLSEC_OPENSSL_098)) */
-
if(ret != 1) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "HMAC_Init_ex",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- NULL);
+ xmlSecOpenSSLError("HMAC_Init_ex",
+ xmlSecTransformGetName(transform));
return(-1);
}
+#else /* !defined(XMLSEC_OPENSSL_API_098) */
+ HMAC_Init_ex(ctx->hmacCtx,
+ xmlSecBufferGetData(buffer),
+ xmlSecBufferGetSize(buffer),
+ ctx->hmacDgst,
+ NULL);
+#endif /* !defined(XMLSEC_OPENSSL_API_098) */
ctx->ctxInitialized = 1;
return(0);
@@ -429,20 +397,9 @@ xmlSecOpenSSLHmacVerify(xmlSecTransformPtr transform,
/* compare the digest size in bytes */
if(dataSize != ((ctx->dgstSize + 7) / 8)){
- /* NO COMMIT */
- xmlChar* a;
- mask = last_byte_masks[ctx->dgstSize % 8];
- ctx->dgst[dataSize - 1] &= mask;
- a = xmlSecBase64Encode(ctx->dgst, (ctx->dgstSize + 7) / 8, -1);
- fprintf(stderr, "%s\n", a);
- xmlFree(a);
-
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- NULL,
- XMLSEC_ERRORS_R_INVALID_SIZE,
- "data=%d;dgst=%d",
- dataSize, ((ctx->dgstSize + 7) / 8));
+ xmlSecInvalidSizeError("HMAC digest",
+ dataSize, ((ctx->dgstSize + 7) / 8),
+ xmlSecTransformGetName(transform));
transform->status = xmlSecTransformStatusFail;
return(0);
}
@@ -451,22 +408,18 @@ xmlSecOpenSSLHmacVerify(xmlSecTransformPtr transform,
xmlSecAssert2(dataSize > 0, -1);
mask = last_byte_masks[ctx->dgstSize % 8];
if((ctx->dgst[dataSize - 1] & mask) != (data[dataSize - 1] & mask)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- NULL,
- XMLSEC_ERRORS_R_DATA_NOT_MATCH,
- "data and digest do not match (last byte)");
+ xmlSecOtherError(XMLSEC_ERRORS_R_DATA_NOT_MATCH,
+ xmlSecTransformGetName(transform),
+ "data and digest do not match (last byte)");
transform->status = xmlSecTransformStatusFail;
return(0);
}
/* now check the rest of the digest */
if((dataSize > 1) && (memcmp(ctx->dgst, data, dataSize - 1) != 0)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- NULL,
- XMLSEC_ERRORS_R_DATA_NOT_MATCH,
- "data and digest do not match");
+ xmlSecOtherError(XMLSEC_ERRORS_R_DATA_NOT_MATCH,
+ xmlSecTransformGetName(transform),
+ "data and digest do not match");
transform->status = xmlSecTransformStatusFail;
return(0);
}
@@ -504,23 +457,42 @@ xmlSecOpenSSLHmacExecute(xmlSecTransformPtr transform, int last, xmlSecTransform
inSize = xmlSecBufferGetSize(in);
if(inSize > 0) {
+ /* No return values before 1.0.0 (https://www.openssl.org/docs/man1.1.0/crypto/HMAC_Update.html) */
+#if !defined(XMLSEC_OPENSSL_API_098)
+ ret = HMAC_Update(ctx->hmacCtx, xmlSecBufferGetData(in), inSize);
+ if(ret != 1) {
+ xmlSecOpenSSLError("HMAC_Update",
+ xmlSecTransformGetName(transform));
+ return(-1);
+ }
+#else /* !defined(XMLSEC_OPENSSL_API_098) */
HMAC_Update(ctx->hmacCtx, xmlSecBufferGetData(in), inSize);
+#endif /* !defined(XMLSEC_OPENSSL_API_098) */
ret = xmlSecBufferRemoveHead(in, inSize);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecBufferRemoveHead",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "size=%d", inSize);
+ xmlSecInternalError2("xmlSecBufferRemoveHead",
+ xmlSecTransformGetName(transform),
+ "size=%d", inSize);
return(-1);
}
}
if(last) {
- unsigned int dgstSize;
-
+ unsigned int dgstSize = 0;
+
+ /* No return values before 1.0.0 (https://www.openssl.org/docs/man1.1.0/crypto/HMAC_Update.html) */
+#if !defined(XMLSEC_OPENSSL_API_098)
+ ret = HMAC_Final(ctx->hmacCtx, ctx->dgst, &dgstSize);
+ if(ret != 1) {
+ xmlSecOpenSSLError("HMAC_Final",
+ xmlSecTransformGetName(transform));
+ return(-1);
+ }
+#else /* !defined(XMLSEC_OPENSSL_API_098) */
HMAC_Final(ctx->hmacCtx, ctx->dgst, &dgstSize);
+#endif /* !defined(XMLSEC_OPENSSL_API_098) */
+
xmlSecAssert2(dgstSize > 0, -1);
/* check/set the result digest size */
@@ -529,12 +501,9 @@ xmlSecOpenSSLHmacExecute(xmlSecTransformPtr transform, int last, xmlSecTransform
} else if(ctx->dgstSize <= XMLSEC_SIZE_BAD_CAST(8 * dgstSize)) {
dgstSize = ((ctx->dgstSize + 7) / 8); /* we need to truncate result digest */
} else {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- NULL,
- XMLSEC_ERRORS_R_INVALID_SIZE,
- "result-bits=%d;required-bits=%d",
- 8 * dgstSize, ctx->dgstSize);
+ xmlSecInvalidSizeLessThanError("HMAC digest (bits)",
+ 8 * dgstSize, ctx->dgstSize,
+ xmlSecTransformGetName(transform));
return(-1);
}
@@ -542,11 +511,9 @@ xmlSecOpenSSLHmacExecute(xmlSecTransformPtr transform, int last, xmlSecTransform
if(transform->operation == xmlSecTransformOperationSign) {
ret = xmlSecBufferAppend(out, ctx->dgst, dgstSize);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecBufferAppend",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "size=%d", dgstSize);
+ xmlSecInternalError2("xmlSecBufferAppend",
+ xmlSecTransformGetName(transform),
+ "size=%d", dgstSize);
return(-1);
}
}
@@ -556,11 +523,7 @@ xmlSecOpenSSLHmacExecute(xmlSecTransformPtr transform, int last, xmlSecTransform
/* the only way we can get here is if there is no input */
xmlSecAssert2(xmlSecBufferGetSize(in) == 0, -1);
} else {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- NULL,
- XMLSEC_ERRORS_R_INVALID_STATUS,
- "status=%d", transform->status);
+ xmlSecInvalidTransfromStatusError(transform);
return(-1);
}
diff --git a/src/openssl/kt_rsa.c b/src/openssl/kt_rsa.c
index 45cc788..a89deb1 100644
--- a/src/openssl/kt_rsa.c
+++ b/src/openssl/kt_rsa.c
@@ -1,6 +1,5 @@
-/**
- *
- * XMLSec library
+/*
+ * XML Security Library (http://www.aleksey.com/xmlsec).
*
* RSA Algorithms support
*
@@ -34,7 +33,7 @@
#include <xmlsec/openssl/crypto.h>
#include <xmlsec/openssl/evp.h>
#include <xmlsec/openssl/bn.h>
-#include "openssl11_wrapper.h"
+#include "openssl_compat.h"
/**************************************************************************
*
@@ -181,11 +180,8 @@ xmlSecOpenSSLRsaPkcs1SetKey(xmlSecTransformPtr transform, xmlSecKeyPtr key) {
pKey = xmlSecOpenSSLKeyDataRsaGetEvp(xmlSecKeyGetValue(key));
if(pKey == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecOpenSSLKeyDataRsaGetEvp",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecOpenSSLKeyDataRsaGetEvp",
+ xmlSecTransformGetName(transform));
return(-1);
}
xmlSecAssert2(EVP_PKEY_base_id(pKey) == EVP_PKEY_RSA, -1);
@@ -194,11 +190,8 @@ xmlSecOpenSSLRsaPkcs1SetKey(xmlSecTransformPtr transform, xmlSecKeyPtr key) {
ctx->pKey = xmlSecOpenSSLEvpKeyDup(pKey);
if(ctx->pKey == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecOpenSSLEvpKeyDup",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecOpenSSLEvpKeyDup",
+ xmlSecTransformGetName(transform));
return(-1);
}
@@ -228,11 +221,8 @@ xmlSecOpenSSLRsaPkcs1Execute(xmlSecTransformPtr transform, int last, xmlSecTrans
} else if((transform->status == xmlSecTransformStatusWorking) && (last != 0)) {
ret = xmlSecOpenSSLRsaPkcs1Process(transform, transformCtx);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecOpenSSLRsaPkcs1Process",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecOpenSSLRsaPkcs1Process",
+ xmlSecTransformGetName(transform));
return(-1);
}
transform->status = xmlSecTransformStatusFinished;
@@ -240,11 +230,7 @@ xmlSecOpenSSLRsaPkcs1Execute(xmlSecTransformPtr transform, int last, xmlSecTrans
/* the only way we can get here is if there is no input */
xmlSecAssert2(xmlSecBufferGetSize(&(transform->inBuf)) == 0, -1);
} else {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- NULL,
- XMLSEC_ERRORS_R_INVALID_STATUS,
- "status=%d", transform->status);
+ xmlSecInvalidTransfromStatusError(transform);
return(-1);
}
return(0);
@@ -284,55 +270,43 @@ xmlSecOpenSSLRsaPkcs1Process(xmlSecTransformPtr transform, xmlSecTransformCtxPtr
/* the encoded size is equal to the keys size so we could not
* process more than that */
if((transform->operation == xmlSecTransformOperationEncrypt) && (inSize >= keySize)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- NULL,
- XMLSEC_ERRORS_R_INVALID_SIZE,
- "%d when expected less than %d", inSize, keySize);
+ xmlSecInvalidSizeLessThanError("Input data", inSize, keySize,
+ xmlSecTransformGetName(transform));
return(-1);
} else if((transform->operation == xmlSecTransformOperationDecrypt) && (inSize != keySize)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- NULL,
- XMLSEC_ERRORS_R_INVALID_SIZE,
- "%d when expected %d", inSize, keySize);
+ xmlSecInvalidSizeError("Input data", inSize, keySize,
+ xmlSecTransformGetName(transform));
return(-1);
}
outSize = keySize;
ret = xmlSecBufferSetMaxSize(out, outSize);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecBufferSetMaxSize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "size=%d", outSize);
+ xmlSecInternalError2("xmlSecBufferSetMaxSize",
+ xmlSecTransformGetName(transform),
+ "size=%d", outSize);
return(-1);
}
if(transform->operation == xmlSecTransformOperationEncrypt) {
ret = RSA_public_encrypt(inSize, xmlSecBufferGetData(in),
- xmlSecBufferGetData(out),
- rsa, RSA_PKCS1_PADDING);
+ xmlSecBufferGetData(out),
+ rsa, RSA_PKCS1_PADDING);
if(ret <= 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "RSA_public_encrypt",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- "size=%d", inSize);
+ xmlSecOpenSSLError2("RSA_public_encrypt",
+ xmlSecTransformGetName(transform),
+ "size=%lu", (unsigned long)inSize);
return(-1);
}
outSize = ret;
} else {
ret = RSA_private_decrypt(inSize, xmlSecBufferGetData(in),
- xmlSecBufferGetData(out),
- rsa, RSA_PKCS1_PADDING);
+ xmlSecBufferGetData(out),
+ rsa, RSA_PKCS1_PADDING);
if(ret <= 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "RSA_private_decrypt",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- "size=%d", inSize);
+ xmlSecOpenSSLError2("RSA_private_decrypt",
+ xmlSecTransformGetName(transform),
+ "size=%lu", (unsigned long)inSize);
return(-1);
}
outSize = ret;
@@ -340,21 +314,17 @@ xmlSecOpenSSLRsaPkcs1Process(xmlSecTransformPtr transform, xmlSecTransformCtxPtr
ret = xmlSecBufferSetSize(out, outSize);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecBufferSetSize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "size=%d", outSize);
+ xmlSecInternalError2("xmlSecBufferSetSize",
+ xmlSecTransformGetName(transform),
+ "size=%d", outSize);
return(-1);
}
ret = xmlSecBufferRemoveHead(in, inSize);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecBufferRemoveHead",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "size=%d", inSize);
+ xmlSecInternalError2("xmlSecBufferRemoveHead",
+ xmlSecTransformGetName(transform),
+ "size=%d", inSize);
return(-1);
}
@@ -454,11 +424,8 @@ xmlSecOpenSSLRsaOaepInitialize(xmlSecTransformPtr transform) {
ret = xmlSecBufferInitialize(&(ctx->oaepParams), 0);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecBufferInitialize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecBufferInitialize",
+ xmlSecTransformGetName(transform));
return(-1);
}
return(0);
@@ -501,11 +468,8 @@ xmlSecOpenSSLRsaOaepNodeRead(xmlSecTransformPtr transform, xmlNodePtr node, xmlS
if(xmlSecCheckNodeName(cur, xmlSecNodeRsaOAEPparams, xmlSecEncNs)) {
ret = xmlSecBufferBase64NodeContentRead(&(ctx->oaepParams), cur);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecBufferBase64NodeContentRead",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecBufferBase64NodeContentRead",
+ xmlSecTransformGetName(transform));
return(-1);
}
} else if(xmlSecCheckNodeName(cur, xmlSecNodeDigestMethod, xmlSecDSigNs)) {
@@ -514,33 +478,24 @@ xmlSecOpenSSLRsaOaepNodeRead(xmlSecTransformPtr transform, xmlNodePtr node, xmlS
/* Algorithm attribute is required */
algorithm = xmlGetProp(cur, xmlSecAttrAlgorithm);
if(algorithm == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- xmlSecErrorsSafeString(xmlSecAttrAlgorithm),
- XMLSEC_ERRORS_R_INVALID_NODE_ATTRIBUTE,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeGetName(cur)));
+ xmlSecInvalidNodeAttributeError(cur, xmlSecAttrAlgorithm,
+ xmlSecTransformGetName(transform),
+ "empty");
return(-1);
}
/* for now we support only sha1 */
if(xmlStrcmp(algorithm, xmlSecHrefSha1) != 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- xmlSecErrorsSafeString(algorithm),
- XMLSEC_ERRORS_R_INVALID_TRANSFORM,
- "digest algorithm is not supported for rsa/oaep");
+ xmlSecInvalidTransfromError2(transform,
+ "digest algorithm=\"%s\" is not supported for rsa/oaep",
+ xmlSecErrorsSafeString(algorithm));
xmlFree(algorithm);
return(-1);
}
xmlFree(algorithm);
} else {
/* not found */
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- xmlSecErrorsSafeString(xmlSecNodeGetName(cur)),
- XMLSEC_ERRORS_R_UNEXPECTED_NODE,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecUnexpectedNodeError(cur, xmlSecTransformGetName(transform));
return(-1);
}
@@ -593,11 +548,8 @@ xmlSecOpenSSLRsaOaepSetKey(xmlSecTransformPtr transform, xmlSecKeyPtr key) {
pKey = xmlSecOpenSSLKeyDataRsaGetEvp(xmlSecKeyGetValue(key));
if(pKey == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecOpenSSLKeyDataRsaGetEvp",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecOpenSSLKeyDataRsaGetEvp",
+ xmlSecTransformGetName(transform));
return(-1);
}
xmlSecAssert2(EVP_PKEY_base_id(pKey) == EVP_PKEY_RSA, -1);
@@ -606,11 +558,8 @@ xmlSecOpenSSLRsaOaepSetKey(xmlSecTransformPtr transform, xmlSecKeyPtr key) {
ctx->pKey = xmlSecOpenSSLEvpKeyDup(pKey);
if(ctx->pKey == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecOpenSSLEvpKeyDup",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecOpenSSLEvpKeyDup",
+ xmlSecTransformGetName(transform));
return(-1);
}
@@ -640,11 +589,8 @@ xmlSecOpenSSLRsaOaepExecute(xmlSecTransformPtr transform, int last, xmlSecTransf
} else if((transform->status == xmlSecTransformStatusWorking) && (last != 0)) {
ret = xmlSecOpenSSLRsaOaepProcess(transform, transformCtx);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecOpenSSLRsaOaepProcess",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecOpenSSLRsaOaepProcess",
+ xmlSecTransformGetName(transform));
return(-1);
}
transform->status = xmlSecTransformStatusFinished;
@@ -652,11 +598,7 @@ xmlSecOpenSSLRsaOaepExecute(xmlSecTransformPtr transform, int last, xmlSecTransf
/* the only way we can get here is if there is no input */
xmlSecAssert2(xmlSecBufferGetSize(&(transform->inBuf)) == 0, -1);
} else {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- NULL,
- XMLSEC_ERRORS_R_INVALID_STATUS,
- "status=%d", transform->status);
+ xmlSecInvalidTransfromStatusError(transform);
return(-1);
}
return(0);
@@ -697,29 +639,21 @@ xmlSecOpenSSLRsaOaepProcess(xmlSecTransformPtr transform, xmlSecTransformCtxPtr
/* the encoded size is equal to the keys size so we could not
* process more than that */
if((transform->operation == xmlSecTransformOperationEncrypt) && (inSize >= keySize)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- NULL,
- XMLSEC_ERRORS_R_INVALID_SIZE,
- "%d when expected less than %d", inSize, keySize);
+ xmlSecInvalidSizeLessThanError("Input data", inSize, keySize,
+ xmlSecTransformGetName(transform));
return(-1);
} else if((transform->operation == xmlSecTransformOperationDecrypt) && (inSize != keySize)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- NULL,
- XMLSEC_ERRORS_R_INVALID_SIZE,
- "%d when expected %d", inSize, keySize);
+ xmlSecInvalidSizeError("Input data", inSize, keySize,
+ xmlSecTransformGetName(transform));
return(-1);
}
outSize = keySize;
ret = xmlSecBufferSetMaxSize(out, outSize);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecBufferSetMaxSize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "size=%d", outSize);
+ xmlSecInternalError2("xmlSecBufferSetMaxSize",
+ xmlSecTransformGetName(transform),
+ "size=%d", outSize);
return(-1);
}
@@ -730,11 +664,8 @@ xmlSecOpenSSLRsaOaepProcess(xmlSecTransformPtr transform, xmlSecTransformCtxPtr
xmlSecBufferGetData(out),
rsa, RSA_PKCS1_OAEP_PADDING);
if(ret <= 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "RSA_public_encrypt(RSA_PKCS1_OAEP_PADDING)",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOpenSSLError("RSA_public_encrypt(RSA_PKCS1_OAEP_PADDING)",
+ xmlSecTransformGetName(transform));
return(-1);
}
outSize = ret;
@@ -744,11 +675,9 @@ xmlSecOpenSSLRsaOaepProcess(xmlSecTransformPtr transform, xmlSecTransformCtxPtr
/* add space for padding */
ret = xmlSecBufferSetMaxSize(in, keySize);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecBufferSetMaxSize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "size=%d", keySize);
+ xmlSecInternalError2("xmlSecBufferSetMaxSize",
+ xmlSecTransformGetName(transform),
+ "size=%d", keySize);
return(-1);
}
@@ -758,11 +687,8 @@ xmlSecOpenSSLRsaOaepProcess(xmlSecTransformPtr transform, xmlSecTransformCtxPtr
xmlSecBufferGetData(&(ctx->oaepParams)),
paramsSize);
if(ret != 1) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "RSA_padding_add_PKCS1_OAEP",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOpenSSLError("RSA_padding_add_PKCS1_OAEP",
+ xmlSecTransformGetName(transform));
return(-1);
}
inSize = keySize;
@@ -772,11 +698,8 @@ xmlSecOpenSSLRsaOaepProcess(xmlSecTransformPtr transform, xmlSecTransformCtxPtr
xmlSecBufferGetData(out),
rsa, RSA_NO_PADDING);
if(ret <= 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "RSA_public_encrypt(RSA_NO_PADDING)",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOpenSSLError("RSA_public_encrypt(RSA_NO_PADDING)",
+ xmlSecTransformGetName(transform));
return(-1);
}
outSize = ret;
@@ -785,11 +708,8 @@ xmlSecOpenSSLRsaOaepProcess(xmlSecTransformPtr transform, xmlSecTransformCtxPtr
xmlSecBufferGetData(out),
rsa, RSA_PKCS1_OAEP_PADDING);
if(ret <= 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "RSA_private_decrypt(RSA_PKCS1_OAEP_PADDING)",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOpenSSLError("RSA_private_decrypt(RSA_PKCS1_OAEP_PADDING)",
+ xmlSecTransformGetName(transform));
return(-1);
}
outSize = ret;
@@ -798,22 +718,16 @@ xmlSecOpenSSLRsaOaepProcess(xmlSecTransformPtr transform, xmlSecTransformCtxPtr
bn = BN_new();
if(bn == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "BN_new()",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOpenSSLError("BN_new()",
+ xmlSecTransformGetName(transform));
return(-1);
}
ret = RSA_private_decrypt(inSize, xmlSecBufferGetData(in),
xmlSecBufferGetData(out),
rsa, RSA_NO_PADDING);
if(ret <= 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "RSA_private_decrypt(RSA_NO_PADDING)",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOpenSSLError("RSA_private_decrypt(RSA_NO_PADDING)",
+ xmlSecTransformGetName(transform));
BN_free(bn);
return(-1);
}
@@ -826,22 +740,17 @@ xmlSecOpenSSLRsaOaepProcess(xmlSecTransformPtr transform, xmlSecTransformCtxPtr
* buffer again
*/
if(BN_bin2bn(xmlSecBufferGetData(out), outSize, bn) == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "BN_bin2bn",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- "size=%d", outSize);
+ xmlSecOpenSSLError2("BN_bin2bn",
+ xmlSecTransformGetName(transform),
+ "size=%lu", (unsigned long)outSize);
BN_free(bn);
return(-1);
}
ret = BN_bn2bin(bn, xmlSecBufferGetData(out));
if(ret <= 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "BN_bn2bin",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOpenSSLError("BN_bn2bin",
+ xmlSecTransformGetName(transform));
BN_free(bn);
return(-1);
}
@@ -854,41 +763,32 @@ xmlSecOpenSSLRsaOaepProcess(xmlSecTransformPtr transform, xmlSecTransformCtxPtr
xmlSecBufferGetData(&(ctx->oaepParams)),
paramsSize);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "RSA_padding_check_PKCS1_OAEP",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOpenSSLError("RSA_padding_check_PKCS1_OAEP",
+ xmlSecTransformGetName(transform));
return(-1);
}
outSize = ret;
} else {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "Unexpected trasnform operation: %d; paramsSize: %d",
- (int)transform->operation, (int)paramsSize);
+ xmlSecOtherError3(XMLSEC_ERRORS_R_INVALID_OPERATION,
+ xmlSecTransformGetName(transform),
+ "Unexpected transform operation: %ld; paramsSize: %ld",
+ (long int)transform->operation, (long int)paramsSize);
return(-1);
}
ret = xmlSecBufferSetSize(out, outSize);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecBufferSetSize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "size=%d", outSize);
+ xmlSecInternalError2("xmlSecBufferSetSize",
+ xmlSecTransformGetName(transform),
+ "size=%d", outSize);
return(-1);
}
ret = xmlSecBufferRemoveHead(in, inSize);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecBufferRemoveHead",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "size=%d", inSize);
+ xmlSecInternalError2("xmlSecBufferRemoveHead",
+ xmlSecTransformGetName(transform),
+ "size=%d", inSize);
return(-1);
}
diff --git a/src/openssl/kw_aes.c b/src/openssl/kw_aes.c
index 8e71148..54455b4 100644
--- a/src/openssl/kw_aes.c
+++ b/src/openssl/kw_aes.c
@@ -1,6 +1,5 @@
-/**
- *
- * XMLSec library
+/*
+ * XML Security Library (http://www.aleksey.com/xmlsec).
*
* AES Algorithm support
*
@@ -104,21 +103,14 @@ xmlSecOpenSSLKWAesInitialize(xmlSecTransformPtr transform) {
} else if(xmlSecTransformCheckId(transform, xmlSecOpenSSLTransformKWAes256Id)) {
ctx->keyExpectedSize = XMLSEC_KW_AES256_KEY_SIZE;
} else {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- NULL,
- XMLSEC_ERRORS_R_INVALID_TRANSFORM,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInvalidTransfromError(transform)
return(-1);
}
ret = xmlSecBufferInitialize(&(ctx->keyBuffer), 0);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecOpenSSLKWAesGetKey",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecOpenSSLKWAesGetKey",
+ xmlSecTransformGetName(transform));
return(-1);
}
@@ -183,12 +175,8 @@ xmlSecOpenSSLKWAesSetKey(xmlSecTransformPtr transform, xmlSecKeyPtr key) {
keySize = xmlSecBufferGetSize(buffer);
if(keySize < ctx->keyExpectedSize) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- NULL,
- XMLSEC_ERRORS_R_INVALID_KEY_DATA_SIZE,
- "key=%d;expected=%d",
- keySize, ctx->keyExpectedSize);
+ xmlSecInvalidKeyDataSizeError(keySize, ctx->keyExpectedSize,
+ xmlSecTransformGetName(transform));
return(-1);
}
@@ -196,12 +184,9 @@ xmlSecOpenSSLKWAesSetKey(xmlSecTransformPtr transform, xmlSecKeyPtr key) {
xmlSecBufferGetData(buffer),
ctx->keyExpectedSize);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecBufferSetData",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "expected-size=%d",
- ctx->keyExpectedSize);
+ xmlSecInternalError2("xmlSecBufferSetData",
+ xmlSecTransformGetName(transform),
+ "size=%d", ctx->keyExpectedSize);
return(-1);
}
@@ -241,11 +226,8 @@ xmlSecOpenSSLKWAesExecute(xmlSecTransformPtr transform, int last, xmlSecTransfor
/* just do nothing */
} else if((transform->status == xmlSecTransformStatusWorking) && (last != 0)) {
if((inSize % 8) != 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- NULL,
- XMLSEC_ERRORS_R_INVALID_SIZE,
- "size=%d(not 8 bytes aligned)", inSize);
+ xmlSecInvalidSizeNotMultipleOfError("Input data",
+ inSize, 8, xmlSecTransformGetName(transform));
return(-1);
}
@@ -259,11 +241,9 @@ xmlSecOpenSSLKWAesExecute(xmlSecTransformPtr transform, int last, xmlSecTransfor
ret = xmlSecBufferSetMaxSize(out, outSize);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecBufferSetMaxSize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "outSize=%d", outSize);
+ xmlSecInternalError2("xmlSecBufferSetMaxSize",
+ xmlSecTransformGetName(transform),
+ "size=%d", outSize);
return(-1);
}
@@ -273,11 +253,8 @@ xmlSecOpenSSLKWAesExecute(xmlSecTransformPtr transform, int last, xmlSecTransfor
8 * keySize,
&aesKey);
if(ret != 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "AES_set_decrypt_key",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOpenSSLError("AES_set_decrypt_key",
+ xmlSecTransformGetName(transform));
return(-1);
}
@@ -285,11 +262,8 @@ xmlSecOpenSSLKWAesExecute(xmlSecTransformPtr transform, int last, xmlSecTransfor
xmlSecBufferGetData(in), inSize,
xmlSecBufferGetData(out), outSize);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecKWAesEncode",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKWAesEncode",
+ xmlSecTransformGetName(transform));
return(-1);
}
outSize = ret;
@@ -299,11 +273,8 @@ xmlSecOpenSSLKWAesExecute(xmlSecTransformPtr transform, int last, xmlSecTransfor
8 * keySize,
&aesKey);
if(ret != 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "AES_set_decrypt_key",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOpenSSLError("AES_set_decrypt_key",
+ xmlSecTransformGetName(transform));
return(-1);
}
@@ -311,11 +282,8 @@ xmlSecOpenSSLKWAesExecute(xmlSecTransformPtr transform, int last, xmlSecTransfor
xmlSecBufferGetData(in), inSize,
xmlSecBufferGetData(out), outSize);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecKWAesEncode",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKWAesEncode",
+ xmlSecTransformGetName(transform));
return(-1);
}
outSize = ret;
@@ -323,21 +291,17 @@ xmlSecOpenSSLKWAesExecute(xmlSecTransformPtr transform, int last, xmlSecTransfor
ret = xmlSecBufferSetSize(out, outSize);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecBufferSetSize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "outSize=%d", outSize);
+ xmlSecInternalError2("xmlSecBufferSetSize",
+ xmlSecTransformGetName(transform),
+ "size=%d", outSize);
return(-1);
}
ret = xmlSecBufferRemoveHead(in, inSize);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecBufferRemoveHead",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "inSize%d", inSize);
+ xmlSecInternalError2("xmlSecBufferRemoveHead",
+ xmlSecTransformGetName(transform),
+ "size=%d", inSize);
return(-1);
}
@@ -346,11 +310,7 @@ xmlSecOpenSSLKWAesExecute(xmlSecTransformPtr transform, int last, xmlSecTransfor
/* the only way we can get here is if there is no input */
xmlSecAssert2(xmlSecBufferGetSize(&(transform->inBuf)) == 0, -1);
} else {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- NULL,
- XMLSEC_ERRORS_R_INVALID_STATUS,
- "status=%d", transform->status);
+ xmlSecInvalidTransfromStatusError(transform);
return(-1);
}
return(0);
diff --git a/src/openssl/kw_des.c b/src/openssl/kw_des.c
index c964257..ae644b1 100644
--- a/src/openssl/kw_des.c
+++ b/src/openssl/kw_des.c
@@ -1,6 +1,5 @@
-/**
- *
- * XMLSec library
+/*
+ * XML Security Library (http://www.aleksey.com/xmlsec).
*
* DES Algorithm support
*
@@ -159,11 +158,8 @@ xmlSecOpenSSLKWDes3Initialize(xmlSecTransformPtr transform) {
ret = xmlSecBufferInitialize(&(ctx->keyBuffer), 0);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecBufferInitialize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecBufferInitialize",
+ xmlSecTransformGetName(transform));
return(-1);
}
@@ -227,22 +223,16 @@ xmlSecOpenSSLKWDes3SetKey(xmlSecTransformPtr transform, xmlSecKeyPtr key) {
keySize = xmlSecBufferGetSize(buffer);
if(keySize < XMLSEC_KW_DES3_KEY_LENGTH) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- NULL,
- XMLSEC_ERRORS_R_INVALID_KEY_DATA_SIZE,
- "key length %d is not enough (%d expected)",
- keySize, XMLSEC_KW_DES3_KEY_LENGTH);
+ xmlSecInvalidKeyDataSizeError(keySize, XMLSEC_KW_DES3_KEY_LENGTH,
+ xmlSecTransformGetName(transform));
return(-1);
}
ret = xmlSecBufferSetData(&(ctx->keyBuffer), xmlSecBufferGetData(buffer), XMLSEC_KW_DES3_KEY_LENGTH);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecBufferSetData",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "size=%d", XMLSEC_KW_DES3_KEY_LENGTH);
+ xmlSecInternalError2("xmlSecBufferSetData",
+ xmlSecTransformGetName(transform),
+ "size=%d", XMLSEC_KW_DES3_KEY_LENGTH);
return(-1);
}
@@ -281,12 +271,9 @@ xmlSecOpenSSLKWDes3Execute(xmlSecTransformPtr transform, int last, xmlSecTransfo
/* just do nothing */
} else if((transform->status == xmlSecTransformStatusWorking) && (last != 0)) {
if((inSize % XMLSEC_KW_DES3_BLOCK_LENGTH) != 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- NULL,
- XMLSEC_ERRORS_R_INVALID_SIZE,
- "%d bytes - not %d bytes aligned",
- inSize, XMLSEC_KW_DES3_BLOCK_LENGTH);
+ xmlSecInvalidSizeNotMultipleOfError("Input data",
+ inSize, XMLSEC_KW_DES3_BLOCK_LENGTH,
+ xmlSecTransformGetName(transform));
return(-1);
}
@@ -302,11 +289,9 @@ xmlSecOpenSSLKWDes3Execute(xmlSecTransformPtr transform, int last, xmlSecTransfo
ret = xmlSecBufferSetMaxSize(out, outSize);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecBufferSetMaxSize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "size=%d", outSize);
+ xmlSecInternalError2("xmlSecBufferSetMaxSize",
+ xmlSecTransformGetName(transform),
+ "size=%d", outSize);
return(-1);
}
@@ -315,12 +300,8 @@ xmlSecOpenSSLKWDes3Execute(xmlSecTransformPtr transform, int last, xmlSecTransfo
xmlSecBufferGetData(in), inSize,
xmlSecBufferGetData(out), outSize);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecKWDes3Encode",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "key=%d,in=%d,out=%d",
- keySize, inSize, outSize);
+ xmlSecInternalError4("xmlSecKWDes3Encode", xmlSecTransformGetName(transform),
+ "key=%d,in=%d,out=%d", keySize, inSize, outSize);
return(-1);
}
outSize = ret;
@@ -329,12 +310,8 @@ xmlSecOpenSSLKWDes3Execute(xmlSecTransformPtr transform, int last, xmlSecTransfo
xmlSecBufferGetData(in), inSize,
xmlSecBufferGetData(out), outSize);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecKWDes3Decode",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "key=%d,in=%d,out=%d",
- keySize, inSize, outSize);
+ xmlSecInternalError4("xmlSecKWDes3Decode", xmlSecTransformGetName(transform),
+ "key=%d,in=%d,out=%d", keySize, inSize, outSize);
return(-1);
}
outSize = ret;
@@ -342,21 +319,17 @@ xmlSecOpenSSLKWDes3Execute(xmlSecTransformPtr transform, int last, xmlSecTransfo
ret = xmlSecBufferSetSize(out, outSize);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecBufferSetSize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "size=%d", outSize);
+ xmlSecInternalError2("xmlSecBufferSetSize",
+ xmlSecTransformGetName(transform),
+ "size=%d", outSize);
return(-1);
}
ret = xmlSecBufferRemoveHead(in, inSize);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecBufferRemoveHead",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "size=%d", inSize);
+ xmlSecInternalError2("xmlSecBufferRemoveHead",
+ xmlSecTransformGetName(transform),
+ "size=%d", inSize);
return(-1);
}
@@ -365,11 +338,7 @@ xmlSecOpenSSLKWDes3Execute(xmlSecTransformPtr transform, int last, xmlSecTransfo
/* the only way we can get here is if there is no input */
xmlSecAssert2(xmlSecBufferGetSize(&(transform->inBuf)) == 0, -1);
} else {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- NULL,
- XMLSEC_ERRORS_R_INVALID_STATUS,
- "status=%d", transform->status);
+ xmlSecInvalidTransfromStatusError(transform);
return(-1);
}
@@ -394,11 +363,7 @@ xmlSecOpenSSLKWDes3Sha1(void * context,
xmlSecAssert2(outSize >= SHA_DIGEST_LENGTH, -1);
if(SHA1(in, inSize, out) == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "SHA1",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOpenSSLError("SHA1", NULL);
return(-1);
}
return(SHA_DIGEST_LENGTH);
@@ -416,11 +381,8 @@ xmlSecOpenSSLKWDes3GenerateRandom(void * context,
ret = RAND_bytes(out, outSize);
if(ret != 1) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "RAND_bytes",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- "ret=%d", ret);
+ xmlSecOpenSSLError2("RAND_bytes", NULL,
+ "size=%lu", (unsigned long)outSize);
return(-1);
}
@@ -451,11 +413,7 @@ xmlSecOpenSSLKWDes3BlockEncrypt(void * context,
out, outSize,
1); /* encrypt */
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecOpenSSLKWDes3Encrypt",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecOpenSSLKWDes3Encrypt", NULL);
return(-1);
}
@@ -486,11 +444,7 @@ xmlSecOpenSSLKWDes3BlockDecrypt(void * context,
out, outSize,
0); /* decrypt */
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecOpenSSLKWDes3Encrypt",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecOpenSSLKWDes3Encrypt", NULL);
return(-1);
}
@@ -521,21 +475,13 @@ xmlSecOpenSSLKWDes3Encrypt(const xmlSecByte *key, xmlSecSize keySize,
cipherCtx = EVP_CIPHER_CTX_new();
if(cipherCtx == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "EVP_CIPHER_CTX_new",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOpenSSLError("EVP_CIPHER_CTX_new", NULL);
return(-1);
}
ret = EVP_CipherInit(cipherCtx, EVP_des_ede3_cbc(), key, iv, enc);
if(ret != 1) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "EVP_CipherInit",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOpenSSLError("EVP_CipherInit", NULL);
EVP_CIPHER_CTX_free(cipherCtx);
return(-1);
}
@@ -544,22 +490,14 @@ xmlSecOpenSSLKWDes3Encrypt(const xmlSecByte *key, xmlSecSize keySize,
ret = EVP_CipherUpdate(cipherCtx, out, &updateLen, in, inSize);
if(ret != 1) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "EVP_CipherUpdate",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOpenSSLError("EVP_CipherUpdate", NULL);
EVP_CIPHER_CTX_free(cipherCtx);
return(-1);
}
ret = EVP_CipherFinal(cipherCtx, out + updateLen, &finalLen);
if(ret != 1) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "EVP_CipherFinal",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOpenSSLError("EVP_CipherFinal", NULL);
EVP_CIPHER_CTX_free(cipherCtx);
return(-1);
}
diff --git a/src/openssl/openssl11_wrapper.h b/src/openssl/openssl11_wrapper.h
deleted file mode 100644
index 7f900ff..0000000
--- a/src/openssl/openssl11_wrapper.h
+++ /dev/null
@@ -1,213 +0,0 @@
-#ifndef __XMLSEC_OPENSSL_OPENSSL11_WRAPPER_H__
-#define __XMLSEC_OPENSSL_OPENSSL11_WRAPPER_H__
-/**
- * XML Security Library (http://www.aleksey.com/xmlsec).
- *
- * This file provides a compatibility layer for pre-OpenSSL 1.1.0 versions.
- * The functions here provide accessors for structs which were made opaque in
- * 1.1.0 so they an be accessed in earlier versions of the library using the
- * same syntax. This file won't be required once OpenSSL 1.1.0 is the minimum
- * suported version.
- */
-#if (OPENSSL_VERSION_NUMBER < 0x10100000)
-
-#define EVP_PKEY_up_ref(pKey) CRYPTO_add(&((pKey)->references), 1, CRYPTO_LOCK_EVP_PKEY)
-
-#ifndef XMLSEC_NO_X509
-#include <openssl/x509_vfy.h>
-
-#define ASN1_STRING_get0_data(data) ASN1_STRING_data((data))
-#define X509_CRL_get0_nextUpdate(crl) X509_CRL_get_nextUpdate((crl))
-#define X509_REVOKED_get0_serialNumber(r) (((r) != NULL) ? ((r)->serialNumber) : (const ASN1_INTEGER *)NULL)
-#define X509_OBJECT_get0_X509(x) (((x) != NULL) ? ((x)->data.x509) : (X509 *)NULL)
-
-static inline X509_OBJECT *X509_OBJECT_new() {
- return(calloc(1, sizeof(X509_OBJECT)));
-}
-
-static inline void X509_OBJECT_free(X509_OBJECT *a) {
- if(a == NULL) {
- return;
- }
- X509_OBJECT_free_contents(a);
- free(a);
-}
-
-#endif /* XMLSEC_NO_X509 */
-
-#ifndef XMLSEC_NO_RSA
-
-#define EVP_PKEY_get0_RSA(pKey) (((pKey) != NULL) ? ((pKey)->pkey.rsa) : (RSA*)NULL)
-
-static inline void RSA_get0_key(const RSA *r, const BIGNUM **n, const BIGNUM **e, const BIGNUM **d) {
- xmlSecAssert(r != NULL);
-
- if(n != NULL) {
- (*n) = r->n;
- }
- if(e != NULL) {
- (*e) = r->e;
- }
- if(d != NULL) {
- (*d) = r->d;
- }
-}
-
-static inline int RSA_test_flags(const RSA *r, int flags) {
- xmlSecAssert2(r != NULL, 0);
- return(r->flags & flags);
-}
-
-static inline int RSA_set0_key(RSA *r, BIGNUM *n, BIGNUM *e, BIGNUM *d) {
- xmlSecAssert2(r != NULL, 0);
-
- if(((r->n == NULL) && (n == NULL)) || ((r->e == NULL) && (e == NULL))) {
- return(0);
- }
- if(n != NULL) {
- BN_free(r->n);
- r->n = n;
- }
- if(e != NULL) {
- BN_free(r->e);
- r->e = e;
- }
- if(d != NULL) {
- BN_free(r->d);
- r->d = d;
- }
- return(1);
-}
-#endif /* XMLSEC_NO_RSA */
-
-#ifndef XMLSEC_NO_ECDSA
-
-#define EVP_PKEY_get0_EC_KEY(pKey) (((pKey) != NULL) ? ((pKey)->pkey.ec) : (EC_KEY*)NULL)
-
-static inline void ECDSA_SIG_get0(const ECDSA_SIG *sig, const BIGNUM **pr, const BIGNUM **ps) {
- xmlSecAssert(sig != NULL);
-
- if(pr != NULL) {
- (*pr) = sig->r;
- }
- if(ps != NULL) {
- (*ps) = sig->s;
- }
-}
-
-static inline int ECDSA_SIG_set0(ECDSA_SIG *sig, BIGNUM *r, BIGNUM *s) {
- xmlSecAssert2(sig != NULL, 0);
-
- if((r == NULL) || (s == NULL)) {
- return(0);
- }
- BN_clear_free(sig->r);
- BN_clear_free(sig->s);
- sig->r = r;
- sig->s = s;
- return(1);
-}
-#endif /* XMLSEC_NO_ECDSA */
-
-#ifndef XMLSEC_NO_DSA
-
-#define EVP_PKEY_get0_DSA(pKey) (((pKey) != NULL) ? ((pKey)->pkey.dsa) : (DSA*)NULL)
-
-static inline void DSA_SIG_get0(const DSA_SIG *sig, const BIGNUM **pr, const BIGNUM **ps) {
- xmlSecAssert(sig != NULL);
-
- if(pr != NULL) {
- (*pr) = sig->r;
- }
- if(ps != NULL) {
- (*ps) = sig->s;
- }
-}
-
-static inline int DSA_SIG_set0(DSA_SIG *sig, BIGNUM *r, BIGNUM *s) {
- xmlSecAssert2(sig != NULL, 0);
-
- if(r == NULL || s == NULL) {
- return(0);
- }
- BN_clear_free(sig->r);
- BN_clear_free(sig->s);
-
- sig->r = r;
- sig->s = s;
- return(1);
-}
-
-static inline void DSA_get0_pqg(const DSA *d, const BIGNUM **p, const BIGNUM **q, const BIGNUM **g) {
- xmlSecAssert(d != NULL);
-
- if(p != NULL) {
- (*p) = d->p;
- }
- if(q != NULL) {
- (*q) = d->q;
- }
- if(g != NULL) {
- (*g) = d->g;
- }
-}
-
-static inline void DSA_get0_key(const DSA *d, const BIGNUM **pub_key, const BIGNUM **priv_key) {
- xmlSecAssert(d != NULL);
-
- if(pub_key != NULL) {
- (*pub_key) = d->pub_key;
- }
- if(priv_key != NULL) {
- (*priv_key) = d->priv_key;
- }
-}
-
-static inline ENGINE *DSA_get0_engine(DSA *d) {
- xmlSecAssert2(d != NULL, NULL);
- return(d->engine);
-}
-
-static inline int DSA_set0_pqg(DSA *d, BIGNUM *p, BIGNUM *q, BIGNUM *g) {
- xmlSecAssert2(d != NULL, 0);
-
- if(((d->p == NULL) && (p == NULL)) || ((d->q == NULL) && (q == NULL)) || ((d->g == NULL) && (g == NULL))) {
- return(0);
- }
-
- if(p != NULL) {
- BN_free(d->p);
- d->p = p;
- }
- if(q != NULL) {
- BN_free(d->q);
- d->q = q;
- }
- if(g != NULL) {
- BN_free(d->g);
- d->g = g;
- }
- return(1);
-}
-
-static inline int DSA_set0_key(DSA *d, BIGNUM *pub_key, BIGNUM *priv_key) {
- xmlSecAssert2(d != NULL, 0);
-
- if((d->pub_key == NULL) && (pub_key == NULL)) {
- return(0);
- }
-
- if(pub_key != NULL) {
- BN_free(d->pub_key);
- d->pub_key = pub_key;
- }
- if(priv_key != NULL) {
- BN_free(d->priv_key);
- d->priv_key = priv_key;
- }
- return(1);
-}
-#endif /* XMLSEC_NO_DSA */
-
-#endif /* (OPENSSL_VERSION_NUMBER < 0x10100000) */
-#endif /* __XMLSEC_OPENSSL_OPENSSL11_WRAPPER_H__ */
diff --git a/src/openssl/openssl_compat.h b/src/openssl/openssl_compat.h
new file mode 100644
index 0000000..3581244
--- /dev/null
+++ b/src/openssl/openssl_compat.h
@@ -0,0 +1,62 @@
+#ifndef __XMLSEC_OPENSSL_OPENSSL_COMPAT_H__
+#define __XMLSEC_OPENSSL_OPENSSL_COMPAT_H__
+/*
+ * XML Security Library (http://www.aleksey.com/xmlsec).
+ *
+ * This file provides a compatibility layer for pre-OpenSSL 1.0.0 and 1.1.0
+ * versions.
+ *
+ * The functions here provide accessors for structs which were made opaque in
+ * 1.0.0 and 1.1.0 so they an be accessed in earlier versions of the library
+ * using the same syntax. This file won't be required once OpenSSL 1.1.0 is
+ * the minimum supported version. Note that LibreSSL "forked" at OpenSSL 1.0.0.
+ */
+
+/******************************************************************************
+ *
+ * OpenSSL 1.0.0 compatibility
+ *
+ *****************************************************************************/
+#if defined(XMLSEC_OPENSSL_API_098)
+#define EVP_PKEY_base_id(pKey) EVP_PKEY_type((pKey)->type)
+#endif /* defined(XMLSEC_OPENSSL_API_098) */
+
+/******************************************************************************
+ *
+ * OpenSSL 1.1.0 compatibility
+ *
+ *****************************************************************************/
+#if !defined(XMLSEC_OPENSSL_API_110)
+
+/* EVP_PKEY stuff */
+#define EVP_PKEY_up_ref(pKey) CRYPTO_add(&((pKey)->references), 1, CRYPTO_LOCK_EVP_PKEY)
+#define EVP_PKEY_get0_DSA(pKey) (((pKey) != NULL) ? ((pKey)->pkey.dsa) : (DSA*)NULL)
+#define EVP_PKEY_get0_RSA(pKey) (((pKey) != NULL) ? ((pKey)->pkey.rsa) : (RSA*)NULL)
+#define EVP_PKEY_get0_EC_KEY(pKey) (((pKey) != NULL) ? ((pKey)->pkey.ec) : (EC_KEY*)NULL)
+
+/* EVP_MD stuff */
+#define EVP_MD_CTX_new() EVP_MD_CTX_create()
+#define EVP_MD_CTX_free(x) EVP_MD_CTX_destroy((x))
+#define EVP_MD_CTX_md_data(x) ((x)->md_data)
+
+/* EVP_CIPHER_CTX stuff */
+#define EVP_CIPHER_CTX_encrypting(x) ((x)->encrypt)
+
+/* HMAC_CTX stuff */
+#define HMAC_CTX_new() ((HMAC_CTX*)calloc(1, sizeof(HMAC_CTX)))
+#define HMAC_CTX_free(x) { HMAC_CTX_cleanup((x)); free((x)); }
+
+/* X509 stuff */
+#define ASN1_STRING_get0_data(data) ASN1_STRING_data((data))
+#define X509_CRL_get0_nextUpdate(crl) X509_CRL_get_nextUpdate((crl))
+#define X509_get0_notBefore(x509) X509_get_notBefore((x509))
+#define X509_get0_notAfter(x509) X509_get_notAfter((x509))
+#define X509_STORE_CTX_get_by_subject X509_STORE_get_by_subject
+#define X509_REVOKED_get0_serialNumber(r) (((r) != NULL) ? ((r)->serialNumber) : (ASN1_INTEGER *)NULL)
+#define X509_OBJECT_new() (calloc(1, sizeof(X509_OBJECT)))
+#define X509_OBJECT_free(x) { X509_OBJECT_free_contents(x); free(x); }
+#define X509_OBJECT_get0_X509(x) (((x) != NULL) ? ((x)->data.x509) : (X509 *)NULL)
+
+#endif /* !defined(XMLSEC_OPENSSL_API_110) */
+
+#endif /* __XMLSEC_OPENSSL_OPENSSL_COMPAT_H__ */
diff --git a/src/openssl/signatures.c b/src/openssl/signatures.c
index 5625f2f..da9fdf5 100644
--- a/src/openssl/signatures.c
+++ b/src/openssl/signatures.c
@@ -1,5 +1,5 @@
-/**
- * XMLSec library
+/*
+ * XML Security Library (http://www.aleksey.com/xmlsec).
*
* This is free software; see Copyright file in the source
* distribution for preciese wording.
@@ -21,18 +21,73 @@
#include <xmlsec/openssl/crypto.h>
#include <xmlsec/openssl/evp.h>
-#include "openssl11_wrapper.h"
+#include "openssl_compat.h"
-/* new API from OpenSSL 1.1.0 (https://www.openssl.org/docs/manmaster/crypto/EVP_DigestInit.html):
+/******************************************************************************
*
- * EVP_MD_CTX_create() and EVP_MD_CTX_destroy() were renamed to EVP_MD_CTX_new() and EVP_MD_CTX_free() in OpenSSL 1.1.
- */
-#if !defined(XMLSEC_OPENSSL_110)
-#define EVP_MD_CTX_new() EVP_MD_CTX_create()
-#define EVP_MD_CTX_free(x) EVP_MD_CTX_destroy((x))
-#define EVP_MD_CTX_md_data(x) ((x)->md_data)
+ * OpenSSL 1.1.0 compatibility
+ *
+ *****************************************************************************/
+#if !defined(XMLSEC_OPENSSL_API_110)
+
+#ifndef XMLSEC_NO_ECDSA
+
+static inline void ECDSA_SIG_get0(const ECDSA_SIG *sig, const BIGNUM **pr, const BIGNUM **ps) {
+ xmlSecAssert(sig != NULL);
+
+ if(pr != NULL) {
+ (*pr) = sig->r;
+ }
+ if(ps != NULL) {
+ (*ps) = sig->s;
+ }
+}
+
+static inline int ECDSA_SIG_set0(ECDSA_SIG *sig, BIGNUM *r, BIGNUM *s) {
+ xmlSecAssert2(sig != NULL, 0);
+
+ if((r == NULL) || (s == NULL)) {
+ return(0);
+ }
+ BN_clear_free(sig->r);
+ BN_clear_free(sig->s);
+ sig->r = r;
+ sig->s = s;
+ return(1);
+}
+#endif /* XMLSEC_NO_ECDSA */
+
+#ifndef XMLSEC_NO_DSA
+
+static inline void DSA_SIG_get0(const DSA_SIG *sig, const BIGNUM **pr, const BIGNUM **ps) {
+ xmlSecAssert(sig != NULL);
+
+ if(pr != NULL) {
+ (*pr) = sig->r;
+ }
+ if(ps != NULL) {
+ (*ps) = sig->s;
+ }
+}
+
+static inline int DSA_SIG_set0(DSA_SIG *sig, BIGNUM *r, BIGNUM *s) {
+ xmlSecAssert2(sig != NULL, 0);
+
+ if(r == NULL || s == NULL) {
+ return(0);
+ }
+ BN_clear_free(sig->r);
+ BN_clear_free(sig->s);
+
+ sig->r = r;
+ sig->s = s;
+ return(1);
+}
+
+#endif /* XMLSEC_NO_DSA */
+
+#endif /* !defined(XMLSEC_OPENSSL_API_110) */
-#endif /* !defined(XMLSEC_OPENSSL_110) */
/**************************************************************************
*
@@ -265,32 +320,22 @@ xmlSecOpenSSLSignatureInitialize(xmlSecTransformPtr transform) {
#endif /* XMLSEC_NO_ECDSA */
if(1) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- NULL,
- XMLSEC_ERRORS_R_INVALID_TRANSFORM,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInvalidTransfromError(transform)
return(-1);
}
/* create/init digest CTX */
ctx->digestCtx = EVP_MD_CTX_new();
if(ctx->digestCtx == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "EVP_MD_CTX_new",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOpenSSLError("EVP_MD_CTX_new",
+ xmlSecTransformGetName(transform));
return(-1);
}
ret = EVP_DigestInit(ctx->digestCtx, ctx->digest);
if(ret != 1) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "EVP_DigestInit",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOpenSSLError("EVP_DigestInit",
+ xmlSecTransformGetName(transform));
return(-1);
}
@@ -341,11 +386,8 @@ xmlSecOpenSSLSignatureSetKey(xmlSecTransformPtr transform, xmlSecKeyPtr key) {
pKey = xmlSecOpenSSLEvpKeyDataGetEvp(value);
if(pKey == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecOpenSSLEvpKeyDataGetEvp",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecOpenSSLEvpKeyDataGetEvp",
+ xmlSecTransformGetName(transform));
return(-1);
}
@@ -355,11 +397,8 @@ xmlSecOpenSSLSignatureSetKey(xmlSecTransformPtr transform, xmlSecKeyPtr key) {
ctx->pKey = xmlSecOpenSSLEvpKeyDup(pKey);
if(ctx->pKey == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecOpenSSLEvpKeyDup",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecOpenSSLEvpKeyDup",
+ xmlSecTransformGetName(transform));
return(-1);
}
@@ -412,11 +451,8 @@ xmlSecOpenSSLSignatureVerify(xmlSecTransformPtr transform,
ret = (ctx->verifyCallback)(ctx, data, dataSize);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "verifyCallback",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("verifyCallback",
+ xmlSecTransformGetName(transform));
return(-1);
}
@@ -424,11 +460,9 @@ xmlSecOpenSSLSignatureVerify(xmlSecTransformPtr transform,
if(ret == 1) {
transform->status = xmlSecTransformStatusOk;
} else {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "verifyCallback",
- XMLSEC_ERRORS_R_DATA_NOT_MATCH,
- "signature do not match");
+ xmlSecOtherError(XMLSEC_ERRORS_R_DATA_NOT_MATCH,
+ xmlSecTransformGetName(transform),
+ "ctx->verifyCallback: signature does not verify");
transform->status = xmlSecTransformStatusFail;
}
@@ -475,21 +509,15 @@ xmlSecOpenSSLSignatureExecute(xmlSecTransformPtr transform, int last, xmlSecTran
ret = EVP_DigestUpdate(ctx->digestCtx, xmlSecBufferGetData(in), inSize);
if(ret != 1) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "EVP_DigestUpdate",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOpenSSLError("EVP_DigestUpdate",
+ xmlSecTransformGetName(transform));
return(-1);
}
ret = xmlSecBufferRemoveHead(in, inSize);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecBufferRemoveHead",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecBufferRemoveHead",
+ xmlSecTransformGetName(transform));
return(-1);
}
}
@@ -499,11 +527,8 @@ xmlSecOpenSSLSignatureExecute(xmlSecTransformPtr transform, int last, xmlSecTran
ret = EVP_DigestFinal(ctx->digestCtx, ctx->dgst, &ctx->dgstSize);
if(ret != 1) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "EVP_DigestFinal",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOpenSSLError("EVP_DigestFinal",
+ xmlSecTransformGetName(transform));
return(-1);
}
xmlSecAssert2(ctx->dgstSize > 0, -1);
@@ -512,11 +537,8 @@ xmlSecOpenSSLSignatureExecute(xmlSecTransformPtr transform, int last, xmlSecTran
if(transform->operation == xmlSecTransformOperationSign) {
ret = (ctx->signCallback)(ctx, out);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "signCallback",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("signCallback",
+ xmlSecTransformGetName(transform));
return(-1);
}
}
@@ -529,11 +551,7 @@ xmlSecOpenSSLSignatureExecute(xmlSecTransformPtr transform, int last, xmlSecTran
/* the only way we can get here is if there is no input */
xmlSecAssert2(xmlSecBufferGetSize(&(transform->inBuf)) == 0, -1);
} else {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- NULL,
- XMLSEC_ERRORS_R_INVALID_STATUS,
- "status=%d", transform->status);
+ xmlSecInvalidTransfromStatusError(transform);
return(-1);
}
@@ -587,85 +605,54 @@ xmlSecOpenSSLSignatureDsaSign(xmlSecOpenSSLSignatureCtxPtr ctx, xmlSecBufferPtr
/* get key */
dsaKey = EVP_PKEY_get1_DSA(ctx->pKey);
if(dsaKey == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "EVP_PKEY_get1_DSA",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOpenSSLError("EVP_PKEY_get1_DSA", NULL);
goto done;
}
/* signature size = r + s + 8 bytes, we just need r+s */
dsaSignSize = DSA_size(dsaKey);
if(dsaSignSize < 8) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "DSA_size",
- XMLSEC_ERRORS_R_INVALID_SIZE,
- "dsaSignSize=%d", (int)dsaSignSize);
+ xmlSecInvalidSizeLessThanError("DSA signature", dsaSignSize, 8, NULL);
goto done;
}
signHalfSize = (dsaSignSize - 8) / 2;
if(signHalfSize < 4) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "signHalfSize",
- XMLSEC_ERRORS_R_INVALID_SIZE,
- "signHalfSize=%d", (int)signHalfSize);
+ xmlSecInvalidSizeLessThanError("DSA signature (half)", signHalfSize, 4, NULL);
goto done;
}
/* calculate signature */
sig = DSA_do_sign(ctx->dgst, ctx->dgstSize, dsaKey);
if(sig == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "DSA_do_sign",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOpenSSLError("DSA_do_sign", NULL);
goto done;
}
/* get signature components */
DSA_SIG_get0(sig, &rr, &ss);
if((rr == NULL) || (ss == NULL)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "DSA_SIG_get0",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOpenSSLError("DSA_SIG_get0", NULL);
goto done;
}
rSize = BN_num_bytes(rr);
if(rSize > signHalfSize) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- NULL,
- XMLSEC_ERRORS_R_INVALID_SIZE,
- "rSize=%d > %d",
- rSize, signHalfSize);
+ xmlSecInvalidSizeMoreThanError("DSA signature r",
+ rSize, signHalfSize, NULL);
goto done;
}
sSize = BN_num_bytes(ss);
if(sSize > signHalfSize) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- NULL,
- XMLSEC_ERRORS_R_INVALID_SIZE,
- "sSize=%d > %d",
- sSize, signHalfSize);
+ xmlSecInvalidSizeMoreThanError("DSA signature s",
+ sSize, signHalfSize, NULL);
goto done;
}
/* allocate buffer */
ret = xmlSecBufferSetSize(out, 2 * signHalfSize);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecBufferSetSize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "size=%d", (int)(2 * signHalfSize));
+ xmlSecInternalError2("xmlSecBufferSetSize", NULL,
+ "size=%d", (int)(2 * signHalfSize));
goto done;
}
outData = xmlSecBufferGetData(out);
@@ -710,83 +697,53 @@ xmlSecOpenSSLSignatureDsaVerify(xmlSecOpenSSLSignatureCtxPtr ctx, const xmlSecBy
/* get key */
dsaKey = EVP_PKEY_get1_DSA(ctx->pKey);
if(dsaKey == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "EVP_PKEY_get1_DSA",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOpenSSLError("EVP_PKEY_get1_DSA", NULL);
goto done;
}
/* signature size = r + s + 8 bytes, we just need r+s */
dsaSignSize = DSA_size(dsaKey);
if(dsaSignSize < 8) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "DSA_size",
- XMLSEC_ERRORS_R_INVALID_SIZE,
- "dsaSignSize=%d", (int)dsaSignSize);
+ xmlSecInvalidSizeLessThanError("DSA signatue",
+ dsaSignSize, 8, NULL);
goto done;
}
signHalfSize = (dsaSignSize - 8) / 2;
if(signHalfSize < 4) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "signHalfSize",
- XMLSEC_ERRORS_R_INVALID_SIZE,
- "signHalfSize=%d", (int)signHalfSize);
+ xmlSecInvalidSizeLessThanError("DSA signatue (half size)",
+ signHalfSize, 4, NULL);
goto done;
}
/* check size */
if(signSize != 2 * signHalfSize) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- NULL,
- XMLSEC_ERRORS_R_INVALID_SIZE,
- "invalid length %d (%d expected)",
- (int)signSize, (int)(2 * signHalfSize));
+ xmlSecInvalidSizeError("DSA signature", signSize, 2 * signHalfSize,
+ NULL);
goto done;
}
/* create/read signature */
sig = DSA_SIG_new();
if (sig == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "DSA_SIG_new",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOpenSSLError("DSA_SIG_new", NULL);
goto done;
}
rr = BN_bin2bn(signData, signHalfSize, NULL);
if(rr == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "BN_bin2bn(sig->r)",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOpenSSLError("BN_bin2bn(sig->r)", NULL);
goto done;
}
ss = BN_bin2bn(signData + signHalfSize, signHalfSize, NULL);
if(ss == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "BN_bin2bn(sig->s)",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOpenSSLError("BN_bin2bn(sig->s)", NULL);
goto done;
}
ret = DSA_SIG_set0(sig, rr, ss);
if(ret == 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "DSA_SIG_set0",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOpenSSLError("DSA_SIG_set0", NULL);
goto done;
}
@@ -796,11 +753,7 @@ xmlSecOpenSSLSignatureDsaVerify(xmlSecOpenSSLSignatureCtxPtr ctx, const xmlSecBy
/* verify signature */
ret = DSA_do_verify(ctx->dgst, ctx->dgstSize, sig, dsaKey);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "DSA_do_verify",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOpenSSLError("DSA_do_verify", NULL);
goto done;
}
@@ -949,30 +902,18 @@ xmlSecOpenSSLSignatureEcdsaSignatureHalfSize(EC_KEY * ecKey) {
group = EC_KEY_get0_group(ecKey);
if(group == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "EC_KEY_get0_group",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOpenSSLError("EC_KEY_get0_group", NULL);
goto done;
}
order = BN_new();
if(order == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "BN_new",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOpenSSLError("BN_new", NULL);
goto done;
}
if(EC_GROUP_get_order(group, order, NULL) != 1) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "EC_GROUP_get_order",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOpenSSLError("EC_GROUP_get_order", NULL);
goto done;
}
@@ -1009,78 +950,51 @@ xmlSecOpenSSLSignatureEcdsaSign(xmlSecOpenSSLSignatureCtxPtr ctx, xmlSecBufferPt
/* get key */
ecKey = EVP_PKEY_get1_EC_KEY(ctx->pKey);
if(ecKey == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "EVP_PKEY_get1_DSA",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOpenSSLError("EVP_PKEY_get1_DSA", NULL);
goto done;
}
/* calculate signature size */
signHalfSize = xmlSecOpenSSLSignatureEcdsaSignatureHalfSize(ecKey);
if(signHalfSize <= 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecOpenSSLSignatureEcdsaSignatureHalfSize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecOpenSSLSignatureEcdsaSignatureHalfSize", NULL);
goto done;
}
/* sign */
sig = ECDSA_do_sign(ctx->dgst, ctx->dgstSize, ecKey);
if(sig == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "ECDSA_do_sign",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOpenSSLError("ECDSA_do_sign", NULL);
goto done;
}
/* get signature components */
ECDSA_SIG_get0(sig, &rr, &ss);
if((rr == NULL) || (ss == NULL)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "ECDSA_SIG_get0",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOpenSSLError("ECDSA_SIG_get0", NULL);
goto done;
}
/* check sizes */
rSize = BN_num_bytes(rr);
if(rSize > signHalfSize) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- NULL,
- XMLSEC_ERRORS_R_INVALID_SIZE,
- "rSize=%d > %d",
- (int)rSize, (int)signHalfSize);
+ xmlSecInvalidSizeMoreThanError("ECDSA signatue r",
+ rSize, signHalfSize, NULL);
goto done;
}
sSize = BN_num_bytes(ss);
if(sSize > signHalfSize) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- NULL,
- XMLSEC_ERRORS_R_INVALID_SIZE,
- "sSize=%d > %d",
- (int)sSize, (int)signHalfSize);
+ xmlSecInvalidSizeMoreThanError("ECDSA signatue s",
+ sSize, signHalfSize, NULL);
goto done;
}
/* allocate buffer */
ret = xmlSecBufferSetSize(out, 2 * signHalfSize);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecBufferSetSize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "size=%d", (int)(2 * signHalfSize));
+ xmlSecInternalError2("xmlSecBufferSetSize", NULL,
+ "size=%d", (int)(2 * signHalfSize));
goto done;
}
outData = xmlSecBufferGetData(out);
@@ -1126,73 +1040,45 @@ xmlSecOpenSSLSignatureEcdsaVerify(xmlSecOpenSSLSignatureCtxPtr ctx, const xmlSec
/* get key */
ecKey = EVP_PKEY_get1_EC_KEY(ctx->pKey);
if(ecKey == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "EVP_PKEY_get1_DSA",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOpenSSLError("EVP_PKEY_get1_EC_KEY", NULL);
goto done;
}
/* calculate signature size */
signHalfSize = xmlSecOpenSSLSignatureEcdsaSignatureHalfSize(ecKey);
if(signHalfSize <= 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecOpenSSLSignatureEcdsaSignatureHalfSize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecOpenSSLSignatureEcdsaSignatureHalfSize", NULL);
goto done;
}
/* check size */
if(signSize != 2 * signHalfSize) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- NULL,
- XMLSEC_ERRORS_R_INVALID_SIZE,
- "invalid length %d (%d expected)",
- (int)signSize, (int)(2 * signHalfSize));
+ xmlSecInvalidSizeError("ECDSA signature", signSize, 2 * signHalfSize,
+ NULL);
goto done;
}
/* create/read signature */
sig = ECDSA_SIG_new();
if (sig == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "DSA_SIG_new",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOpenSSLError("DSA_SIG_new", NULL);
goto done;
}
rr = BN_bin2bn(signData, signHalfSize, NULL);
if(rr == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "BN_bin2bn(sig->r)",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOpenSSLError("BN_bin2bn(sig->r)", NULL);
goto done;
}
ss = BN_bin2bn(signData + signHalfSize, signHalfSize, NULL);
if(ss == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "BN_bin2bn(sig->s)",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOpenSSLError("BN_bin2bn(sig->s)", NULL);
goto done;
}
ret = ECDSA_SIG_set0(sig, rr, ss);
if(ret == 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "ECDSA_SIG_set0()",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOpenSSLError("ECDSA_SIG_set0()", NULL);
goto done;
}
rr = NULL;
@@ -1201,11 +1087,7 @@ xmlSecOpenSSLSignatureEcdsaVerify(xmlSecOpenSSLSignatureCtxPtr ctx, const xmlSec
/* verify signature */
ret = ECDSA_do_verify(ctx->dgst, ctx->dgstSize, sig, ecKey);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "ECDSA_do_verify",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOpenSSLError("ECDSA_do_verify", NULL);
goto done;
}
diff --git a/src/openssl/symkeys.c b/src/openssl/symkeys.c
index 78d29e2..4c81c24 100644
--- a/src/openssl/symkeys.c
+++ b/src/openssl/symkeys.c
@@ -1,6 +1,5 @@
-/**
- *
- * XMLSec library
+/*
+ * XML Security Library (http://www.aleksey.com/xmlsec).
*
* DES Algorithm support
*
diff --git a/src/openssl/x509.c b/src/openssl/x509.c
index 4b486cf..b876138 100644
--- a/src/openssl/x509.c
+++ b/src/openssl/x509.c
@@ -1,5 +1,5 @@
-/**
- * XMLSec library
+/*
+ * XML Security Library (http://www.aleksey.com/xmlsec).
*
* X509 support
*
@@ -39,7 +39,16 @@
#include <xmlsec/openssl/crypto.h>
#include <xmlsec/openssl/evp.h>
#include <xmlsec/openssl/x509.h>
-#include "openssl11_wrapper.h"
+#include "openssl_compat.h"
+
+/* The ASN1_TIME_check() function was changed from ASN1_TIME * to
+ * const ASN1_TIME * in 1.1.0. To avoid compiler warnings, we use this hack.
+ */
+#if !defined(XMLSEC_OPENSSL_API_110)
+typedef ASN1_TIME XMLSEC_CONST_ASN1_TIME;
+#else /* !defined(XMLSEC_OPENSSL_API_110) */
+typedef const ASN1_TIME XMLSEC_CONST_ASN1_TIME;
+#endif /* !defined(XMLSEC_OPENSSL_API_110) */
/*************************************************************************
*
@@ -99,7 +108,7 @@ static void xmlSecOpenSSLX509CertDebugDump (X509* cert,
FILE* output);
static void xmlSecOpenSSLX509CertDebugXmlDump (X509* cert,
FILE* output);
-static int xmlSecOpenSSLX509CertGetTime (ASN1_TIME* t,
+static int xmlSecOpenSSLX509CertGetTime (XMLSEC_CONST_ASN1_TIME * t,
time_t* res);
/*************************************************************************
@@ -351,22 +360,16 @@ xmlSecOpenSSLKeyDataX509AdoptCert(xmlSecKeyDataPtr data, X509* cert) {
if(ctx->certsList == NULL) {
ctx->certsList = sk_X509_new_null();
if(ctx->certsList == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- "sk_X509_new_null",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOpenSSLError("sk_X509_new_null",
+ xmlSecKeyDataGetName(data));
return(-1);
}
}
ret = sk_X509_push(ctx->certsList, cert);
if(ret < 1) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- "sk_X509_push",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOpenSSLError("sk_X509_push",
+ xmlSecKeyDataGetName(data));
return(-1);
}
@@ -440,22 +443,16 @@ xmlSecOpenSSLKeyDataX509AdoptCrl(xmlSecKeyDataPtr data, X509_CRL* crl) {
if(ctx->crlsList == NULL) {
ctx->crlsList = sk_X509_CRL_new_null();
if(ctx->crlsList == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- "sk_X509_CRL_new_null",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOpenSSLError("sk_X509_CRL_new_null",
+ xmlSecKeyDataGetName(data));
return(-1);
}
}
ret = sk_X509_CRL_push(ctx->crlsList, crl);
if(ret < 1) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- "sk_X509_CRL_push",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOpenSSLError("sk_X509_CRL_push",
+ xmlSecKeyDataGetName(data));
return(-1);
}
@@ -537,31 +534,23 @@ xmlSecOpenSSLKeyDataX509Duplicate(xmlSecKeyDataPtr dst, xmlSecKeyDataPtr src) {
for(pos = 0; pos < size; ++pos) {
certSrc = xmlSecOpenSSLKeyDataX509GetCert(src, pos);
if(certSrc == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(src)),
- "xmlSecOpenSSLKeyDataX509GetCert",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "pos=%d", pos);
+ xmlSecInternalError2("xmlSecOpenSSLKeyDataX509GetCert",
+ xmlSecErrorsSafeString(xmlSecKeyDataGetName(src)),
+ "pos=%d", pos);
return(-1);
}
certDst = X509_dup(certSrc);
if(certDst == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(dst)),
- "X509_dup",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOpenSSLError("X509_dup",
+ xmlSecKeyDataGetName(dst));
return(-1);
}
ret = xmlSecOpenSSLKeyDataX509AdoptCert(dst, certDst);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(dst)),
- "xmlSecOpenSSLKeyDataX509AdoptCert",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecOpenSSLKeyDataX509AdoptCert",
+ xmlSecKeyDataGetName(dst));
X509_free(certDst);
return(-1);
}
@@ -572,31 +561,23 @@ xmlSecOpenSSLKeyDataX509Duplicate(xmlSecKeyDataPtr dst, xmlSecKeyDataPtr src) {
for(pos = 0; pos < size; ++pos) {
crlSrc = xmlSecOpenSSLKeyDataX509GetCrl(src, pos);
if(crlSrc == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(src)),
- "xmlSecOpenSSLKeyDataX509GetCrl",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "pos=%d", pos);
+ xmlSecInternalError2("xmlSecOpenSSLKeyDataX509GetCrl",
+ xmlSecKeyDataGetName(src),
+ "pos=%d", pos);
return(-1);
}
crlDst = X509_CRL_dup(crlSrc);
if(crlDst == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(dst)),
- "X509_CRL_dup",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOpenSSLError("X509_CRL_dup",
+ xmlSecKeyDataGetName(dst));
return(-1);
}
ret = xmlSecOpenSSLKeyDataX509AdoptCrl(dst, crlDst);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(dst)),
- "xmlSecOpenSSLKeyDataX509AdoptCrl",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecOpenSSLKeyDataX509AdoptCrl",
+ xmlSecKeyDataGetName(dst));
X509_CRL_free(crlDst);
return(-1);
}
@@ -607,20 +588,14 @@ xmlSecOpenSSLKeyDataX509Duplicate(xmlSecKeyDataPtr dst, xmlSecKeyDataPtr src) {
if(certSrc != NULL) {
certDst = X509_dup(certSrc);
if(certDst == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(dst)),
- "X509_dup",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOpenSSLError("X509_dup",
+ xmlSecKeyDataGetName(dst));
return(-1);
}
ret = xmlSecOpenSSLKeyDataX509AdoptKeyCert(dst, certDst);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(dst)),
- "xmlSecOpenSSLKeyDataX509AdoptKeyCert",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecOpenSSLKeyDataX509AdoptKeyCert",
+ xmlSecKeyDataGetName(dst));
X509_free(certDst);
return(-1);
}
@@ -662,34 +637,23 @@ xmlSecOpenSSLKeyDataX509XmlRead(xmlSecKeyDataId id, xmlSecKeyPtr key,
data = xmlSecKeyEnsureData(key, id);
if(data == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecKeyEnsureData",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeyEnsureData",
+ xmlSecKeyDataKlassGetName(id));
return(-1);
}
ret = xmlSecOpenSSLX509DataNodeRead(data, node, keyInfoCtx);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecOpenSSLX509DataNodeRead",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecOpenSSLX509DataNodeRead",
+ xmlSecKeyDataKlassGetName(id));
return(-1);
}
- if((keyInfoCtx->flags & XMLSEC_KEYINFO_FLAGS_X509DATA_DONT_VERIFY_CERTS) == 0) {
- ret = xmlSecOpenSSLKeyDataX509VerifyAndExtractKey(data, key, keyInfoCtx);
- if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecOpenSSLKeyDataX509VerifyAndExtractKey",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
- return(-1);
- }
+ ret = xmlSecOpenSSLKeyDataX509VerifyAndExtractKey(data, key, keyInfoCtx);
+ if(ret < 0) {
+ xmlSecInternalError("xmlSecOpenSSLKeyDataX509VerifyAndExtractKey",
+ xmlSecKeyDataKlassGetName(id));
+ return(-1);
}
return(0);
}
@@ -711,11 +675,9 @@ xmlSecOpenSSLKeyDataX509XmlWrite(xmlSecKeyDataId id, xmlSecKeyPtr key,
content = xmlSecX509DataGetNodeContent (node, keyInfoCtx);
if (content < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecX509DataGetNodeContent",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "content=%d", content);
+ xmlSecInternalError2("xmlSecX509DataGetNodeContent",
+ xmlSecKeyDataKlassGetName(id),
+ "content=%d", content);
return(-1);
} else if(content == 0) {
/* by default we are writing certificates and crls */
@@ -734,22 +696,18 @@ xmlSecOpenSSLKeyDataX509XmlWrite(xmlSecKeyDataId id, xmlSecKeyPtr key,
for(pos = 0; pos < size; ++pos) {
cert = xmlSecOpenSSLKeyDataX509GetCert(data, pos);
if(cert == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecOpenSSLKeyDataX509GetCert",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "pos=%d", pos);
+ xmlSecInternalError2("xmlSecOpenSSLKeyDataX509GetCert",
+ xmlSecKeyDataKlassGetName(id),
+ "pos=%d", pos);
return(-1);
}
if((content & XMLSEC_X509DATA_CERTIFICATE_NODE) != 0) {
ret = xmlSecOpenSSLX509CertificateNodeWrite(cert, node, keyInfoCtx);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecOpenSSLX509CertificateNodeWrite",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "pos=%d", pos);
+ xmlSecInternalError2("xmlSecOpenSSLX509CertificateNodeWrite",
+ xmlSecKeyDataKlassGetName(id),
+ "pos=%d", pos);
return(-1);
}
}
@@ -757,11 +715,9 @@ xmlSecOpenSSLKeyDataX509XmlWrite(xmlSecKeyDataId id, xmlSecKeyPtr key,
if((content & XMLSEC_X509DATA_SUBJECTNAME_NODE) != 0) {
ret = xmlSecOpenSSLX509SubjectNameNodeWrite(cert, node, keyInfoCtx);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecOpenSSLX509SubjectNameNodeWrite",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "pos=%d", pos);
+ xmlSecInternalError2("xmlSecOpenSSLX509SubjectNameNodeWrite",
+ xmlSecKeyDataKlassGetName(id),
+ "pos=%d", pos);
return(-1);
}
}
@@ -769,11 +725,9 @@ xmlSecOpenSSLKeyDataX509XmlWrite(xmlSecKeyDataId id, xmlSecKeyPtr key,
if((content & XMLSEC_X509DATA_ISSUERSERIAL_NODE) != 0) {
ret = xmlSecOpenSSLX509IssuerSerialNodeWrite(cert, node, keyInfoCtx);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecOpenSSLX509IssuerSerialNodeWrite",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "pos=%d", pos);
+ xmlSecInternalError2("xmlSecOpenSSLX509IssuerSerialNodeWrite",
+ xmlSecKeyDataKlassGetName(id),
+ "pos=%d", pos);
return(-1);
}
}
@@ -781,11 +735,9 @@ xmlSecOpenSSLKeyDataX509XmlWrite(xmlSecKeyDataId id, xmlSecKeyPtr key,
if((content & XMLSEC_X509DATA_SKI_NODE) != 0) {
ret = xmlSecOpenSSLX509SKINodeWrite(cert, node, keyInfoCtx);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecOpenSSLX509SKINodeWrite",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "pos=%d", pos);
+ xmlSecInternalError2("xmlSecOpenSSLX509SKINodeWrite",
+ xmlSecKeyDataKlassGetName(id),
+ "pos=%d", pos);
return(-1);
}
}
@@ -797,21 +749,17 @@ xmlSecOpenSSLKeyDataX509XmlWrite(xmlSecKeyDataId id, xmlSecKeyPtr key,
for(pos = 0; pos < size; ++pos) {
crl = xmlSecOpenSSLKeyDataX509GetCrl(data, pos);
if(crl == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecOpenSSLKeyDataX509GetCrl",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "pos=%d", pos);
+ xmlSecInternalError2("xmlSecOpenSSLKeyDataX509GetCrl",
+ xmlSecKeyDataKlassGetName(id),
+ "pos=%d", pos);
return(-1);
}
ret = xmlSecOpenSSLX509CRLNodeWrite(crl, node, keyInfoCtx);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecOpenSSLX509CRLNodeWrite",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "pos=%d", pos);
+ xmlSecInternalError2("xmlSecOpenSSLX509CRLNodeWrite",
+ xmlSecKeyDataKlassGetName(id),
+ "pos=%d", pos);
return(-1);
}
}
@@ -856,11 +804,9 @@ xmlSecOpenSSLKeyDataX509DebugDump(xmlSecKeyDataPtr data, FILE* output) {
for(pos = 0; pos < size; ++pos) {
cert = xmlSecOpenSSLKeyDataX509GetCert(data, pos);
if(cert == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- "xmlSecOpenSSLKeyDataX509GetCert",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "pos=%d", pos);
+ xmlSecInternalError2("xmlSecOpenSSLKeyDataX509GetCert",
+ xmlSecKeyDataGetName(data),
+ "pos=%d", pos);
return;
}
fprintf(output, "==== Certificate:\n");
@@ -890,11 +836,9 @@ xmlSecOpenSSLKeyDataX509DebugXmlDump(xmlSecKeyDataPtr data, FILE* output) {
for(pos = 0; pos < size; ++pos) {
cert = xmlSecOpenSSLKeyDataX509GetCert(data, pos);
if(cert == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- "xmlSecOpenSSLKeyDataX509GetCert",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "pos=%d", pos);
+ xmlSecInternalError2("xmlSecOpenSSLKeyDataX509GetCert",
+ xmlSecKeyDataGetName(data),
+ "pos=%d", pos);
return;
}
fprintf(output, "<Certificate>\n");
@@ -922,29 +866,42 @@ xmlSecOpenSSLX509DataNodeRead(xmlSecKeyDataPtr data, xmlNodePtr node, xmlSecKeyI
ret = 0;
if(xmlSecCheckNodeName(cur, xmlSecNodeX509Certificate, xmlSecDSigNs)) {
ret = xmlSecOpenSSLX509CertificateNodeRead(data, cur, keyInfoCtx);
+ if(ret < 0) {
+ xmlSecInternalError2("xmlSecOpenSSLX509CertificateNodeRead",
+ xmlSecKeyDataGetName(data),
+ "node=%s", xmlSecErrorsSafeString(xmlSecNodeGetName(cur)));
+ }
} else if(xmlSecCheckNodeName(cur, xmlSecNodeX509SubjectName, xmlSecDSigNs)) {
ret = xmlSecOpenSSLX509SubjectNameNodeRead(data, cur, keyInfoCtx);
+ if(ret < 0) {
+ xmlSecInternalError2("xmlSecOpenSSLX509SubjectNameNodeRead",
+ xmlSecKeyDataGetName(data),
+ "node=%s", xmlSecErrorsSafeString(xmlSecNodeGetName(cur)));
+ }
} else if(xmlSecCheckNodeName(cur, xmlSecNodeX509IssuerSerial, xmlSecDSigNs)) {
ret = xmlSecOpenSSLX509IssuerSerialNodeRead(data, cur, keyInfoCtx);
+ if(ret < 0) {
+ xmlSecInternalError2("xmlSecOpenSSLX509IssuerSerialNodeRead",
+ xmlSecKeyDataGetName(data),
+ "node=%s", xmlSecErrorsSafeString(xmlSecNodeGetName(cur)));
+ }
} else if(xmlSecCheckNodeName(cur, xmlSecNodeX509SKI, xmlSecDSigNs)) {
ret = xmlSecOpenSSLX509SKINodeRead(data, cur, keyInfoCtx);
+ if(ret < 0) {
+ xmlSecInternalError2("xmlSecOpenSSLX509SKINodeRead",
+ xmlSecKeyDataGetName(data),
+ "node=%s", xmlSecErrorsSafeString(xmlSecNodeGetName(cur)));
+ }
} else if(xmlSecCheckNodeName(cur, xmlSecNodeX509CRL, xmlSecDSigNs)) {
ret = xmlSecOpenSSLX509CRLNodeRead(data, cur, keyInfoCtx);
+ if(ret < 0) {
+ xmlSecInternalError2("xmlSecOpenSSLX509CRLNodeRead",
+ xmlSecKeyDataGetName(data),
+ "node=%s", xmlSecErrorsSafeString(xmlSecNodeGetName(cur)));
+ }
} else if((keyInfoCtx->flags & XMLSEC_KEYINFO_FLAGS_X509DATA_STOP_ON_UNKNOWN_CHILD) != 0) {
/* laxi schema validation: ignore unknown nodes */
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- xmlSecErrorsSafeString(xmlSecNodeGetName(cur)),
- XMLSEC_ERRORS_R_UNEXPECTED_NODE,
- XMLSEC_ERRORS_NO_MESSAGE);
- return(-1);
- }
- if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- xmlSecErrorsSafeString(xmlSecNodeGetName(cur)),
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "read node failed");
+ xmlSecUnexpectedNodeError(cur, xmlSecKeyDataGetName(data));
return(-1);
}
}
@@ -967,11 +924,7 @@ xmlSecOpenSSLX509CertificateNodeRead(xmlSecKeyDataPtr data, xmlNodePtr node, xml
xmlFree(content);
}
if((keyInfoCtx->flags & XMLSEC_KEYINFO_FLAGS_STOP_ON_EMPTY_NODE) != 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- xmlSecErrorsSafeString(xmlSecNodeGetName(node)),
- XMLSEC_ERRORS_R_INVALID_NODE_CONTENT,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInvalidNodeContentError(node, xmlSecKeyDataGetName(data), "empty");
return(-1);
}
return(0);
@@ -979,22 +932,16 @@ xmlSecOpenSSLX509CertificateNodeRead(xmlSecKeyDataPtr data, xmlNodePtr node, xml
cert = xmlSecOpenSSLX509CertBase64DerRead(content);
if(cert == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- "xmlSecOpenSSLX509CertBase64DerRead",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecOpenSSLX509CertBase64DerRead",
+ xmlSecKeyDataGetName(data));
xmlFree(content);
return(-1);
}
ret = xmlSecOpenSSLKeyDataX509AdoptCert(data, cert);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- "xmlSecOpenSSLKeyDataX509AdoptCert",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecOpenSSLKeyDataX509AdoptCert",
+ xmlSecKeyDataGetName(data));
X509_free(cert);
xmlFree(content);
return(-1);
@@ -1016,22 +963,13 @@ xmlSecOpenSSLX509CertificateNodeWrite(X509* cert, xmlNodePtr node, xmlSecKeyInfo
/* set base64 lines size from context */
buf = xmlSecOpenSSLX509CertBase64DerWrite(cert, keyInfoCtx->base64LineSize);
if(buf == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecOpenSSLX509CertBase64DerWrite",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecOpenSSLX509CertBase64DerWrite", NULL);
return(-1);
}
cur = xmlSecEnsureEmptyChild(node, xmlSecNodeX509Certificate, xmlSecDSigNs);
if(cur == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecEnsureEmptyChild",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeX509Certificate));
+ xmlSecInternalError("xmlSecEnsureEmptyChild(xmlSecNodeX509Certificate)", NULL);
xmlFree(buf);
return(-1);
}
@@ -1059,11 +997,8 @@ xmlSecOpenSSLX509SubjectNameNodeRead(xmlSecKeyDataPtr data, xmlNodePtr node, xml
x509Store = xmlSecKeysMngrGetDataStore(keyInfoCtx->keysMngr, xmlSecOpenSSLX509StoreId);
if(x509Store == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- "xmlSecKeysMngrGetDataStore",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeysMngrGetDataStore",
+ xmlSecKeyDataGetName(data));
return(-1);
}
@@ -1073,11 +1008,7 @@ xmlSecOpenSSLX509SubjectNameNodeRead(xmlSecKeyDataPtr data, xmlNodePtr node, xml
xmlFree(subject);
}
if((keyInfoCtx->flags & XMLSEC_KEYINFO_FLAGS_STOP_ON_EMPTY_NODE) != 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- xmlSecErrorsSafeString(xmlSecNodeGetName(node)),
- XMLSEC_ERRORS_R_INVALID_NODE_CONTENT,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInvalidNodeContentError(node, xmlSecKeyDataGetName(data), "empty");
return(-1);
}
return(0);
@@ -1087,12 +1018,8 @@ xmlSecOpenSSLX509SubjectNameNodeRead(xmlSecKeyDataPtr data, xmlNodePtr node, xml
if(cert == NULL){
if((keyInfoCtx->flags & XMLSEC_KEYINFO_FLAGS_X509DATA_STOP_ON_UNKNOWN_CERT) != 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- NULL,
- XMLSEC_ERRORS_R_CERT_NOT_FOUND,
- "subject=%s",
- xmlSecErrorsSafeString(subject));
+ xmlSecOtherError2(XMLSEC_ERRORS_R_CERT_NOT_FOUND, xmlSecKeyDataGetName(data),
+ "subject=%s", xmlSecErrorsSafeString(subject));
xmlFree(subject);
return(-1);
}
@@ -1103,23 +1030,16 @@ xmlSecOpenSSLX509SubjectNameNodeRead(xmlSecKeyDataPtr data, xmlNodePtr node, xml
cert2 = X509_dup(cert);
if(cert2 == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- "X509_dup",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
-
+ xmlSecOpenSSLError("X509_dup",
+ xmlSecKeyDataGetName(data));
xmlFree(subject);
return(-1);
}
ret = xmlSecOpenSSLKeyDataX509AdoptCert(data, cert2);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- "xmlSecOpenSSLKeyDataX509AdoptCert",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecOpenSSLKeyDataX509AdoptCert",
+ xmlSecKeyDataGetName(data));
X509_free(cert2);
xmlFree(subject);
return(-1);
@@ -1133,32 +1053,32 @@ static int
xmlSecOpenSSLX509SubjectNameNodeWrite(X509* cert, xmlNodePtr node, xmlSecKeyInfoCtxPtr keyInfoCtx ATTRIBUTE_UNUSED) {
xmlChar* buf = NULL;
xmlNodePtr cur = NULL;
+ int ret;
xmlSecAssert2(cert != NULL, -1);
xmlSecAssert2(node != NULL, -1);
buf = xmlSecOpenSSLX509NameWrite(X509_get_subject_name(cert));
if(buf == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecOpenSSLX509NameWrite(X509_get_subject_name)",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecOpenSSLX509NameWrite(X509_get_subject_name)", NULL);
return(-1);
}
cur = xmlSecEnsureEmptyChild(node, xmlSecNodeX509SubjectName, xmlSecDSigNs);
if(cur == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecEnsureEmptyChild",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeX509SubjectName));
+ xmlSecInternalError("xmlSecEnsureEmptyChild(xmlSecNodeX509SubjectName)", NULL);
+ xmlFree(buf);
+ return(-1);
+ }
+
+ ret = xmlSecNodeEncodeAndSetContent(cur, buf);
+ if(ret < 0) {
+ xmlSecInternalError("xmlSecNodeEncodeAndSetContent", NULL);
xmlFree(buf);
return(-1);
}
- xmlSecNodeEncodeAndSetContent(cur, buf);
+
+ /* done */
xmlFree(buf);
return(0);
}
@@ -1180,23 +1100,16 @@ xmlSecOpenSSLX509IssuerSerialNodeRead(xmlSecKeyDataPtr data, xmlNodePtr node, xm
x509Store = xmlSecKeysMngrGetDataStore(keyInfoCtx->keysMngr, xmlSecOpenSSLX509StoreId);
if(x509Store == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- "xmlSecKeysMngrGetDataStore",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeysMngrGetDataStore",
+ xmlSecKeyDataGetName(data));
return(-1);
}
cur = xmlSecGetNextElementNode(node->children);
if(cur == NULL) {
if((keyInfoCtx->flags & XMLSEC_KEYINFO_FLAGS_STOP_ON_EMPTY_NODE) != 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- xmlSecErrorsSafeString(xmlSecNodeX509IssuerName),
- XMLSEC_ERRORS_R_NODE_NOT_FOUND,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeGetName(cur)));
+ xmlSecNodeNotFoundError("xmlSecGetNextElementNode", node, NULL,
+ xmlSecKeyDataGetName(data));
return(-1);
}
return(0);
@@ -1204,56 +1117,32 @@ xmlSecOpenSSLX509IssuerSerialNodeRead(xmlSecKeyDataPtr data, xmlNodePtr node, xm
/* the first is required node X509IssuerName */
if(!xmlSecCheckNodeName(cur, xmlSecNodeX509IssuerName, xmlSecDSigNs)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- xmlSecErrorsSafeString(xmlSecNodeX509IssuerName),
- XMLSEC_ERRORS_R_NODE_NOT_FOUND,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeGetName(cur)));
+ xmlSecInvalidNodeError(cur, xmlSecNodeX509IssuerName, xmlSecKeyDataGetName(data));
return(-1);
}
issuerName = xmlNodeGetContent(cur);
if(issuerName == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- xmlSecErrorsSafeString(xmlSecNodeGetName(cur)),
- XMLSEC_ERRORS_R_INVALID_NODE_CONTENT,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeX509IssuerName));
+ xmlSecInvalidNodeContentError(cur, xmlSecKeyDataGetName(data), "empty");
return(-1);
}
cur = xmlSecGetNextElementNode(cur->next);
/* next is required node X509SerialNumber */
if((cur == NULL) || !xmlSecCheckNodeName(cur, xmlSecNodeX509SerialNumber, xmlSecDSigNs)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- xmlSecErrorsSafeString(xmlSecNodeGetName(cur)),
- XMLSEC_ERRORS_R_NODE_NOT_FOUND,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeX509SerialNumber));
+ xmlSecInvalidNodeError(cur, xmlSecNodeX509SerialNumber, xmlSecKeyDataGetName(data));
xmlFree(issuerName);
return(-1);
}
issuerSerial = xmlNodeGetContent(cur);
if(issuerSerial == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- xmlSecErrorsSafeString(xmlSecNodeX509SerialNumber),
- XMLSEC_ERRORS_R_INVALID_NODE_CONTENT,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeGetName(cur)));
+ xmlSecInvalidNodeContentError(cur, xmlSecKeyDataGetName(data), "empty");
xmlFree(issuerName);
return(-1);
}
cur = xmlSecGetNextElementNode(cur->next);
if(cur != NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- xmlSecErrorsSafeString(xmlSecNodeGetName(cur)),
- XMLSEC_ERRORS_R_UNEXPECTED_NODE,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecUnexpectedNodeError(cur, xmlSecKeyDataGetName(data));
xmlFree(issuerSerial);
xmlFree(issuerName);
return(-1);
@@ -1263,13 +1152,10 @@ xmlSecOpenSSLX509IssuerSerialNodeRead(xmlSecKeyDataPtr data, xmlNodePtr node, xm
if(cert == NULL){
if((keyInfoCtx->flags & XMLSEC_KEYINFO_FLAGS_X509DATA_STOP_ON_UNKNOWN_CERT) != 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- NULL,
- XMLSEC_ERRORS_R_CERT_NOT_FOUND,
- "issuerName=%s;issuerSerial=%s",
- xmlSecErrorsSafeString(issuerName),
- xmlSecErrorsSafeString(issuerSerial));
+ xmlSecOtherError3(XMLSEC_ERRORS_R_CERT_NOT_FOUND, xmlSecKeyDataGetName(data),
+ "issuerName=%s;issuerSerial=%s",
+ xmlSecErrorsSafeString(issuerName),
+ xmlSecErrorsSafeString(issuerSerial));
xmlFree(issuerSerial);
xmlFree(issuerName);
return(-1);
@@ -1281,11 +1167,8 @@ xmlSecOpenSSLX509IssuerSerialNodeRead(xmlSecKeyDataPtr data, xmlNodePtr node, xm
cert2 = X509_dup(cert);
if(cert2 == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- "X509_dup",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOpenSSLError("X509_dup",
+ xmlSecKeyDataGetName(data));
xmlFree(issuerSerial);
xmlFree(issuerName);
return(-1);
@@ -1293,11 +1176,8 @@ xmlSecOpenSSLX509IssuerSerialNodeRead(xmlSecKeyDataPtr data, xmlNodePtr node, xm
ret = xmlSecOpenSSLKeyDataX509AdoptCert(data, cert2);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- "xmlSecOpenSSLKeyDataX509AdoptCert",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecOpenSSLKeyDataX509AdoptCert",
+ xmlSecKeyDataGetName(data));
X509_free(cert2);
xmlFree(issuerSerial);
xmlFree(issuerName);
@@ -1315,6 +1195,7 @@ xmlSecOpenSSLX509IssuerSerialNodeWrite(X509* cert, xmlNodePtr node, xmlSecKeyInf
xmlNodePtr issuerNameNode;
xmlNodePtr issuerNumberNode;
xmlChar* buf;
+ int ret;
xmlSecAssert2(cert != NULL, -1);
xmlSecAssert2(node != NULL, -1);
@@ -1322,62 +1203,52 @@ xmlSecOpenSSLX509IssuerSerialNodeWrite(X509* cert, xmlNodePtr node, xmlSecKeyInf
/* create xml nodes */
cur = xmlSecEnsureEmptyChild(node, xmlSecNodeX509IssuerSerial, xmlSecDSigNs);
if(cur == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecEnsureEmptyChild",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeX509IssuerSerial));
+ xmlSecInternalError("xmlSecEnsureEmptyChild(xmlSecNodeX509IssuerSerial)", NULL);
return(-1);
}
issuerNameNode = xmlSecEnsureEmptyChild(cur, xmlSecNodeX509IssuerName, xmlSecDSigNs);
if(issuerNameNode == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecEnsureEmptyChild",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeX509IssuerName));
+ xmlSecInternalError("xmlSecEnsureEmptyChild(xmlSecNodeX509IssuerName)", NULL);
return(-1);
}
issuerNumberNode = xmlSecEnsureEmptyChild(cur, xmlSecNodeX509SerialNumber, xmlSecDSigNs);
if(issuerNumberNode == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecEnsureEmptyChild",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeX509SerialNumber));
+ xmlSecInternalError("xmlSecEnsureEmptyChild(xmlSecNodeX509SerialNumber)", NULL);
return(-1);
}
/* write data */
buf = xmlSecOpenSSLX509NameWrite(X509_get_issuer_name(cert));
if(buf == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecOpenSSLX509NameWrite(X509_get_issuer_name)",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecOpenSSLX509NameWrite(X509_get_issuer_name)", NULL);
+ return(-1);
+ }
+
+ ret = xmlSecNodeEncodeAndSetContent(issuerNameNode, buf);
+ if(ret < 0) {
+ xmlSecInternalError("xmlSecNodeEncodeAndSetContent(issuerNameNode)", NULL);
+ xmlFree(buf);
return(-1);
}
- xmlSecNodeEncodeAndSetContent(issuerNameNode, buf);
xmlFree(buf);
buf = xmlSecOpenSSLASN1IntegerWrite(X509_get_serialNumber(cert));
if(buf == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecOpenSSLASN1IntegerWrite(X509_get_serialNumber)",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecOpenSSLASN1IntegerWrite(X509_get_serialNumber)", NULL);
+ return(-1);
+ }
+
+ ret = xmlSecNodeEncodeAndSetContent(issuerNumberNode, buf);
+ if(ret < 0) {
+ xmlSecInternalError("xmlSecNodeEncodeAndSetContent(issuerNumberNode)", NULL);
+ xmlFree(buf);
return(-1);
}
- xmlSecNodeEncodeAndSetContent(issuerNumberNode, buf);
- xmlFree(buf);
+ /* done */
+ xmlFree(buf);
return(0);
}
@@ -1397,11 +1268,8 @@ xmlSecOpenSSLX509SKINodeRead(xmlSecKeyDataPtr data, xmlNodePtr node, xmlSecKeyIn
x509Store = xmlSecKeysMngrGetDataStore(keyInfoCtx->keysMngr, xmlSecOpenSSLX509StoreId);
if(x509Store == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- "xmlSecKeysMngrGetDataStore",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeysMngrGetDataStore",
+ xmlSecKeyDataGetName(data));
return(-1);
}
@@ -1411,12 +1279,7 @@ xmlSecOpenSSLX509SKINodeRead(xmlSecKeyDataPtr data, xmlNodePtr node, xmlSecKeyIn
xmlFree(ski);
}
if((keyInfoCtx->flags & XMLSEC_KEYINFO_FLAGS_STOP_ON_EMPTY_NODE) != 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- xmlSecErrorsSafeString(xmlSecNodeGetName(node)),
- XMLSEC_ERRORS_R_INVALID_NODE_CONTENT,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeX509SKI));
+ xmlSecInvalidNodeContentError(node, xmlSecKeyDataGetName(data), "empty");
return(-1);
}
return(0);
@@ -1427,12 +1290,8 @@ xmlSecOpenSSLX509SKINodeRead(xmlSecKeyDataPtr data, xmlNodePtr node, xmlSecKeyIn
xmlFree(ski);
if((keyInfoCtx->flags & XMLSEC_KEYINFO_FLAGS_X509DATA_STOP_ON_UNKNOWN_CERT) != 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- NULL,
- XMLSEC_ERRORS_R_CERT_NOT_FOUND,
- "ski=%s",
- xmlSecErrorsSafeString(ski));
+ xmlSecOtherError2(XMLSEC_ERRORS_R_CERT_NOT_FOUND, xmlSecKeyDataGetName(data),
+ "ski=%s", xmlSecErrorsSafeString(ski));
return(-1);
}
return(0);
@@ -1440,22 +1299,16 @@ xmlSecOpenSSLX509SKINodeRead(xmlSecKeyDataPtr data, xmlNodePtr node, xmlSecKeyIn
cert2 = X509_dup(cert);
if(cert2 == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- "X509_dup",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOpenSSLError("X509_dup",
+ xmlSecKeyDataGetName(data));
xmlFree(ski);
return(-1);
}
ret = xmlSecOpenSSLKeyDataX509AdoptCert(data, cert2);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- "xmlSecOpenSSLKeyDataX509AdoptCert",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecOpenSSLKeyDataX509AdoptCert",
+ xmlSecKeyDataGetName(data));
X509_free(cert2);
xmlFree(ski);
return(-1);
@@ -1469,34 +1322,33 @@ static int
xmlSecOpenSSLX509SKINodeWrite(X509* cert, xmlNodePtr node, xmlSecKeyInfoCtxPtr keyInfoCtx ATTRIBUTE_UNUSED) {
xmlChar *buf = NULL;
xmlNodePtr cur = NULL;
+ int ret;
xmlSecAssert2(cert != NULL, -1);
xmlSecAssert2(node != NULL, -1);
buf = xmlSecOpenSSLX509SKIWrite(cert);
if(buf == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecOpenSSLX509SKIWrite",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecOpenSSLX509SKIWrite", NULL);
return(-1);
}
cur = xmlSecEnsureEmptyChild(node, xmlSecNodeX509SKI, xmlSecDSigNs);
if(cur == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecEnsureEmptyChild",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "new_node=%s",
- xmlSecErrorsSafeString(xmlSecNodeX509SKI));
+ xmlSecInternalError("xmlSecEnsureEmptyChild(xmlSecNodeX509SKI)", NULL);
xmlFree(buf);
return(-1);
}
- xmlSecNodeEncodeAndSetContent(cur, buf);
- xmlFree(buf);
+ ret = xmlSecNodeEncodeAndSetContent(cur, buf);
+ if(ret < 0) {
+ xmlSecInternalError("xmlSecNodeEncodeAndSetContent", NULL);
+ xmlFree(buf);
+ return(-1);
+ }
+
+ /* done */
+ xmlFree(buf);
return(0);
}
@@ -1516,11 +1368,7 @@ xmlSecOpenSSLX509CRLNodeRead(xmlSecKeyDataPtr data, xmlNodePtr node, xmlSecKeyIn
xmlFree(content);
}
if((keyInfoCtx->flags & XMLSEC_KEYINFO_FLAGS_STOP_ON_EMPTY_NODE) != 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- xmlSecErrorsSafeString(xmlSecNodeGetName(node)),
- XMLSEC_ERRORS_R_INVALID_NODE_CONTENT,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInvalidNodeContentError(node, xmlSecKeyDataGetName(data), "empty");
return(-1);
}
return(0);
@@ -1528,22 +1376,16 @@ xmlSecOpenSSLX509CRLNodeRead(xmlSecKeyDataPtr data, xmlNodePtr node, xmlSecKeyIn
crl = xmlSecOpenSSLX509CrlBase64DerRead(content);
if(crl == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- "xmlSecOpenSSLX509CrlBase64DerRead",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecOpenSSLX509CrlBase64DerRead",
+ xmlSecKeyDataGetName(data));
xmlFree(content);
return(-1);
}
ret = xmlSecOpenSSLKeyDataX509AdoptCrl(data, crl);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- "xmlSecOpenSSLKeyDataX509AdoptCrl",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecOpenSSLKeyDataX509AdoptCrl",
+ xmlSecKeyDataGetName(data));
X509_CRL_free(crl);
xmlFree(content);
return(-1);
@@ -1565,22 +1407,13 @@ xmlSecOpenSSLX509CRLNodeWrite(X509_CRL* crl, xmlNodePtr node, xmlSecKeyInfoCtxPt
/* set base64 lines size from context */
buf = xmlSecOpenSSLX509CrlBase64DerWrite(crl, keyInfoCtx->base64LineSize);
if(buf == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecOpenSSLX509CrlBase64DerWrite",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecOpenSSLX509CrlBase64DerWrite", NULL);
return(-1);
}
cur = xmlSecEnsureEmptyChild(node, xmlSecNodeX509CRL, xmlSecDSigNs);
if(cur == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecEnsureEmptyChild",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "new_node=%s",
- xmlSecErrorsSafeString(xmlSecNodeX509CRL));
+ xmlSecInternalError("xmlSecEnsureEmptyChild(xmlSecNodeX509CRL)", NULL);
xmlFree(buf);
return(-1);
}
@@ -1610,11 +1443,8 @@ xmlSecOpenSSLKeyDataX509VerifyAndExtractKey(xmlSecKeyDataPtr data, xmlSecKeyPtr
x509Store = xmlSecKeysMngrGetDataStore(keyInfoCtx->keysMngr, xmlSecOpenSSLX509StoreId);
if(x509Store == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- "xmlSecKeysMngrGetDataStore",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeysMngrGetDataStore",
+ xmlSecKeyDataGetName(data));
return(-1);
}
@@ -1627,74 +1457,52 @@ xmlSecOpenSSLKeyDataX509VerifyAndExtractKey(xmlSecKeyDataPtr data, xmlSecKeyPtr
ctx->keyCert = X509_dup(cert);
if(ctx->keyCert == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- "X509_dup",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOpenSSLError("X509_dup",
+ xmlSecKeyDataGetName(data));
return(-1);
}
keyValue = xmlSecOpenSSLX509CertGetKey(ctx->keyCert);
if(keyValue == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- "xmlSecOpenSSLX509CertGetKey",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecOpenSSLX509CertGetKey",
+ xmlSecKeyDataGetName(data));
return(-1);
}
/* verify that the key matches our expectations */
if(xmlSecKeyReqMatchKeyValue(&(keyInfoCtx->keyReq), keyValue) != 1) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- "xmlSecKeyReqMatchKeyValue",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeyReqMatchKeyValue",
+ xmlSecKeyDataGetName(data));
xmlSecKeyDataDestroy(keyValue);
return(-1);
}
ret = xmlSecKeySetValue(key, keyValue);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- "xmlSecKeySetValue",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeySetValue",
+ xmlSecKeyDataGetName(data));
xmlSecKeyDataDestroy(keyValue);
return(-1);
}
- if((X509_get_notBefore(ctx->keyCert) != NULL) && (X509_get_notAfter(ctx->keyCert) != NULL)) {
- ret = xmlSecOpenSSLX509CertGetTime(X509_get_notBefore(ctx->keyCert), &(key->notValidBefore));
+ if((X509_get0_notBefore(ctx->keyCert) != NULL) && (X509_get0_notAfter(ctx->keyCert) != NULL)) {
+ ret = xmlSecOpenSSLX509CertGetTime(X509_get0_notBefore(ctx->keyCert), &(key->notValidBefore));
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- "xmlSecOpenSSLX509CertGetTime",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "notValidBefore");
+ xmlSecInternalError("xmlSecOpenSSLX509CertGetTime(notAfter)",
+ xmlSecKeyDataGetName(data));
return(-1);
}
- ret = xmlSecOpenSSLX509CertGetTime(X509_get_notAfter(ctx->keyCert), &(key->notValidAfter));
+ ret = xmlSecOpenSSLX509CertGetTime(X509_get0_notAfter(ctx->keyCert), &(key->notValidAfter));
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- "xmlSecOpenSSLX509CertGetTime",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "notValidAfter");
+ xmlSecInternalError("xmlSecOpenSSLX509CertGetTime(notBefore)",
+ xmlSecKeyDataGetName(data));
return(-1);
}
} else {
key->notValidBefore = key->notValidAfter = 0;
}
} else if((keyInfoCtx->flags & XMLSEC_KEYINFO_FLAGS_X509DATA_STOP_ON_INVALID_CERT) != 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataGetName(data)),
- NULL,
- XMLSEC_ERRORS_R_CERT_NOT_FOUND,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOtherError(XMLSEC_ERRORS_R_CERT_NOT_FOUND, xmlSecKeyDataGetName(data), NULL);
return(-1);
}
}
@@ -1744,7 +1552,7 @@ my_timegm(struct tm *t) {
#endif /* HAVE_TIMEGM */
static int
-xmlSecOpenSSLX509CertGetTime(ASN1_TIME* t, time_t* res) {
+xmlSecOpenSSLX509CertGetTime(XMLSEC_CONST_ASN1_TIME * t, time_t* res) {
struct tm tm;
int offset;
@@ -1753,11 +1561,7 @@ xmlSecOpenSSLX509CertGetTime(ASN1_TIME* t, time_t* res) {
(*res) = 0;
if(!ASN1_TIME_check(t)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "ASN1_TIME_check",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOpenSSLError("ASN1_TIME_check", NULL);
return(-1);
}
@@ -1767,7 +1571,6 @@ xmlSecOpenSSLX509CertGetTime(ASN1_TIME* t, time_t* res) {
if(t->type == V_ASN1_UTCTIME) {
xmlSecAssert2(t->length > 12, -1);
-
/* this code is copied from OpenSSL asn1/a_utctm.c file */
tm.tm_year = g2(t->data);
if(tm.tm_year < 50) {
@@ -1832,21 +1635,13 @@ xmlSecOpenSSLX509CertGetKey(X509* cert) {
pKey = X509_get_pubkey(cert);
if(pKey == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "X509_get_pubkey",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOpenSSLError("X509_get_pubkey", NULL);
return(NULL);
}
data = xmlSecOpenSSLEvpKeyAdopt(pKey);
if(data == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecOpenSSLEvpKeyAdopt",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecOpenSSLEvpKeyAdopt", NULL);
EVP_PKEY_free(pKey);
return(NULL);
}
@@ -1863,11 +1658,7 @@ xmlSecOpenSSLX509CertBase64DerRead(xmlChar* buf) {
/* usual trick with base64 decoding "in-place" */
ret = xmlSecBase64Decode(buf, (xmlSecByte*)buf, xmlStrlen(buf));
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecBase64Decode",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecBase64Decode", NULL);
return(NULL);
}
@@ -1885,32 +1676,22 @@ xmlSecOpenSSLX509CertDerRead(const xmlSecByte* buf, xmlSecSize size) {
mem = BIO_new(BIO_s_mem());
if(mem == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "BIO_new",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- "BIO_s_mem");
+ xmlSecOpenSSLError("BIO_new", NULL);
return(NULL);
}
ret = BIO_write(mem, buf, size);
if(ret <= 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "BIO_write",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- "size=%d", size);
+ xmlSecOpenSSLError2("BIO_write", NULL,
+ "size=%lu", (unsigned long)size);
BIO_free_all(mem);
return(NULL);
}
cert = d2i_X509_bio(mem, NULL);
if(cert == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "d2i_X509_bio",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOpenSSLError2("d2i_X509_bio", NULL,
+ "size=%lu", (unsigned long)size);
BIO_free_all(mem);
return(NULL);
}
@@ -1930,11 +1711,7 @@ xmlSecOpenSSLX509CertBase64DerWrite(X509* cert, int base64LineWrap) {
mem = BIO_new(BIO_s_mem());
if(mem == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "BIO_new",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- "BIO_s_mem");
+ xmlSecOpenSSLError("BIO_new", NULL);
return(NULL);
}
@@ -1944,22 +1721,14 @@ xmlSecOpenSSLX509CertBase64DerWrite(X509* cert, int base64LineWrap) {
size = BIO_get_mem_data(mem, &p);
if((size <= 0) || (p == NULL)){
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "BIO_get_mem_data",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOpenSSLError("BIO_get_mem_data", NULL);
BIO_free_all(mem);
return(NULL);
}
res = xmlSecBase64Encode(p, size, base64LineWrap);
if(res == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecBase64Encode",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecBase64Encode", NULL);
BIO_free_all(mem);
return(NULL);
}
@@ -1977,11 +1746,7 @@ xmlSecOpenSSLX509CrlBase64DerRead(xmlChar* buf) {
/* usual trick with base64 decoding "in-place" */
ret = xmlSecBase64Decode(buf, (xmlSecByte*)buf, xmlStrlen(buf));
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecBase64Decode",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecBase64Decode", NULL);
return(NULL);
}
@@ -1999,32 +1764,21 @@ xmlSecOpenSSLX509CrlDerRead(xmlSecByte* buf, xmlSecSize size) {
mem = BIO_new(BIO_s_mem());
if(mem == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "BIO_new",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- "BIO_s_mem");
+ xmlSecOpenSSLError("BIO_new", NULL);
return(NULL);
}
ret = BIO_write(mem, buf, size);
if(ret <= 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "BIO_write",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- "size=%d", size);
+ xmlSecOpenSSLError2("BIO_write", NULL,
+ "size=%lu", (unsigned long)size);
BIO_free_all(mem);
return(NULL);
}
crl = d2i_X509_CRL_bio(mem, NULL);
if(crl == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "d2i_X509_CRL_bio",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOpenSSLError("d2i_X509_CRL_bio", NULL);
BIO_free_all(mem);
return(NULL);
}
@@ -2044,11 +1798,7 @@ xmlSecOpenSSLX509CrlBase64DerWrite(X509_CRL* crl, int base64LineWrap) {
mem = BIO_new(BIO_s_mem());
if(mem == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "BIO_new",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- "BIO_s_mem");
+ xmlSecOpenSSLError("BIO_new", NULL);
return(NULL);
}
@@ -2058,22 +1808,14 @@ xmlSecOpenSSLX509CrlBase64DerWrite(X509_CRL* crl, int base64LineWrap) {
size = BIO_get_mem_data(mem, &p);
if((size <= 0) || (p == NULL)){
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "BIO_get_mem_data",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOpenSSLError("BIO_get_mem_data", NULL);
BIO_free_all(mem);
return(NULL);
}
res = xmlSecBase64Encode(p, size, base64LineWrap);
if(res == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecBase64Encode",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecBase64Encode", NULL);
BIO_free_all(mem);
return(NULL);
}
@@ -2092,20 +1834,12 @@ xmlSecOpenSSLX509NameWrite(X509_NAME* nm) {
mem = BIO_new(BIO_s_mem());
if(mem == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "BIO_new",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- "BIO_s_mem");
+ xmlSecOpenSSLError("BIO_new", NULL);
return(NULL);
}
if (X509_NAME_print_ex(mem, nm, 0, XN_FLAG_RFC2253) <=0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "X509_NAME_print_ex",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOpenSSLError("X509_NAME_print_ex", NULL);
BIO_free_all(mem);
return(NULL);
}
@@ -2115,11 +1849,7 @@ xmlSecOpenSSLX509NameWrite(X509_NAME* nm) {
size = BIO_pending(mem);
res = xmlMalloc(size + 1);
if(res == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlMalloc",
- XMLSEC_ERRORS_R_MALLOC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecMallocError(size + 1, NULL);
BIO_free_all(mem);
return(NULL);
}
@@ -2141,21 +1871,13 @@ xmlSecOpenSSLASN1IntegerWrite(ASN1_INTEGER *asni) {
bn = ASN1_INTEGER_to_BN(asni, NULL);
if(bn == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "ASN1_INTEGER_to_BN",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOpenSSLError("ASN1_INTEGER_to_BN", NULL);
return(NULL);
}
p = BN_bn2dec(bn);
if (p == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "BN_bn2dec",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOpenSSLError("BN_bn2dec", NULL);
BN_free(bn);
return(NULL);
}
@@ -2168,11 +1890,7 @@ xmlSecOpenSSLASN1IntegerWrite(ASN1_INTEGER *asni) {
*/
res = xmlCharStrdup(p);
if(res == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlCharStrdup",
- XMLSEC_ERRORS_R_MALLOC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecStrdupError(BAD_CAST p, NULL);
OPENSSL_free(p);
return(NULL);
}
@@ -2192,42 +1910,26 @@ xmlSecOpenSSLX509SKIWrite(X509* cert) {
index = X509_get_ext_by_NID(cert, NID_subject_key_identifier, -1);
if (index < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "Certificate without SubjectKeyIdentifier extension",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOpenSSLError("X509_get_ext_by_NID(): Certificate without SubjectKeyIdentifier extension", NULL);
return(NULL);
}
ext = X509_get_ext(cert, index);
if (ext == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "X509_get_ext",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOpenSSLError("X509_get_ext", NULL);
return(NULL);
}
keyId = X509V3_EXT_d2i(ext);
if (keyId == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "X509V3_EXT_d2i",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOpenSSLError("X509V3_EXT_d2i", NULL);
ASN1_OCTET_STRING_free(keyId);
return(NULL);
}
res = xmlSecBase64Encode(ASN1_STRING_get0_data(keyId), ASN1_STRING_length(keyId), 0);
if(res == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecBase64Encode",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecBase64Encode", NULL);
ASN1_OCTET_STRING_free(keyId);
return(NULL);
}
@@ -2368,43 +2070,30 @@ xmlSecOpenSSLKeyDataRawX509CertBinRead(xmlSecKeyDataId id, xmlSecKeyPtr key,
cert = xmlSecOpenSSLX509CertDerRead(buf, bufSize);
if(cert == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecOpenSSLX509CertDerRead",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecOpenSSLX509CertDerRead", NULL);
return(-1);
}
data = xmlSecKeyEnsureData(key, xmlSecOpenSSLKeyDataX509Id);
if(data == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecKeyEnsureData",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeyEnsureData",
+ xmlSecKeyDataKlassGetName(id));
X509_free(cert);
return(-1);
}
ret = xmlSecOpenSSLKeyDataX509AdoptCert(data, cert);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecOpenSSLKeyDataX509AdoptCert",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecOpenSSLKeyDataX509AdoptCert",
+ xmlSecKeyDataKlassGetName(id));
X509_free(cert);
return(-1);
}
ret = xmlSecOpenSSLKeyDataX509VerifyAndExtractKey(data, key, keyInfoCtx);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataKlassGetName(id)),
- "xmlSecOpenSSLKeyDataX509VerifyAndExtractKey",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecOpenSSLKeyDataX509VerifyAndExtractKey",
+ xmlSecKeyDataKlassGetName(id));
return(-1);
}
return(0);
diff --git a/src/openssl/x509vfy.c b/src/openssl/x509vfy.c
index 59f3914..c58833a 100644
--- a/src/openssl/x509vfy.c
+++ b/src/openssl/x509vfy.c
@@ -1,5 +1,5 @@
-/**
- * XMLSec library
+/*
+ * XML Security Library (http://www.aleksey.com/xmlsec).
*
* X509 support
*
@@ -36,7 +36,7 @@
#include <xmlsec/openssl/crypto.h>
#include <xmlsec/openssl/evp.h>
#include <xmlsec/openssl/x509.h>
-#include "openssl11_wrapper.h"
+#include "openssl_compat.h"
/**************************************************************************
*
@@ -178,7 +178,6 @@ xmlSecOpenSSLX509StoreVerify(xmlSecKeyDataStorePtr store, XMLSEC_STACK_OF_X509*
X509 * cert;
X509 * err_cert = NULL;
X509_STORE_CTX *xsc;
- char buf[256];
int err = 0;
int i;
int ret;
@@ -189,11 +188,8 @@ xmlSecOpenSSLX509StoreVerify(xmlSecKeyDataStorePtr store, XMLSEC_STACK_OF_X509*
xsc = X509_STORE_CTX_new();
if(xsc == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataStoreGetName(store)),
- "X509_STORE_CTX_new",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOpenSSLError("X509_STORE_CTX_new",
+ xmlSecKeyDataStoreGetName(store));
goto done;
}
@@ -204,11 +200,8 @@ xmlSecOpenSSLX509StoreVerify(xmlSecKeyDataStorePtr store, XMLSEC_STACK_OF_X509*
/* dup certs */
certs2 = sk_X509_dup(certs);
if(certs2 == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataStoreGetName(store)),
- "sk_X509_dup",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOpenSSLError("sk_X509_dup",
+ xmlSecKeyDataStoreGetName(store));
goto done;
}
@@ -217,11 +210,8 @@ xmlSecOpenSSLX509StoreVerify(xmlSecKeyDataStorePtr store, XMLSEC_STACK_OF_X509*
for(i = 0; i < sk_X509_num(ctx->untrusted); ++i) {
ret = sk_X509_push(certs2, sk_X509_value(ctx->untrusted, i));
if(ret < 1) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataStoreGetName(store)),
- "sk_X509_push",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOpenSSLError("sk_X509_push",
+ xmlSecKeyDataStoreGetName(store));
goto done;
}
}
@@ -231,11 +221,8 @@ xmlSecOpenSSLX509StoreVerify(xmlSecKeyDataStorePtr store, XMLSEC_STACK_OF_X509*
if(crls != NULL) {
crls2 = sk_X509_CRL_dup(crls);
if(crls2 == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataStoreGetName(store)),
- "sk_X509_CRL_dup",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOpenSSLError("sk_X509_CRL_dup",
+ xmlSecKeyDataStoreGetName(store));
goto done;
}
@@ -246,11 +233,8 @@ xmlSecOpenSSLX509StoreVerify(xmlSecKeyDataStorePtr store, XMLSEC_STACK_OF_X509*
} else if(ret == 0) {
(void)sk_X509_CRL_delete(crls2, i);
} else {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataStoreGetName(store)),
- "xmlSecOpenSSLX509VerifyCRL",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecOpenSSLX509VerifyCRL",
+ xmlSecKeyDataStoreGetName(store));
goto done;
}
}
@@ -266,11 +250,8 @@ xmlSecOpenSSLX509StoreVerify(xmlSecKeyDataStorePtr store, XMLSEC_STACK_OF_X509*
(void)sk_X509_delete(certs2, i);
continue;
} else if(ret != 1) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataStoreGetName(store)),
- "xmlSecOpenSSLX509VerifyCertAgainstCrls",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecOpenSSLX509VerifyCertAgainstCrls",
+ xmlSecKeyDataStoreGetName(store));
goto done;
}
}
@@ -281,11 +262,8 @@ xmlSecOpenSSLX509StoreVerify(xmlSecKeyDataStorePtr store, XMLSEC_STACK_OF_X509*
(void)sk_X509_delete(certs2, i);
continue;
} else if(ret != 1) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataStoreGetName(store)),
- "xmlSecOpenSSLX509VerifyCertAgainstCrls",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecOpenSSLX509VerifyCertAgainstCrls",
+ xmlSecKeyDataStoreGetName(store));
goto done;
}
}
@@ -299,11 +277,8 @@ xmlSecOpenSSLX509StoreVerify(xmlSecKeyDataStorePtr store, XMLSEC_STACK_OF_X509*
ret = X509_STORE_CTX_init(xsc, ctx->xst, cert, certs2);
if(ret != 1) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataStoreGetName(store)),
- "X509_STORE_CTX_init",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOpenSSLError("X509_STORE_CTX_init",
+ xmlSecKeyDataStoreGetName(store));
goto done;
}
@@ -317,11 +292,8 @@ xmlSecOpenSSLX509StoreVerify(xmlSecKeyDataStorePtr store, XMLSEC_STACK_OF_X509*
vpm = X509_VERIFY_PARAM_new();
if(vpm == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataStoreGetName(store)),
- "X509_VERIFY_PARAM_new",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOpenSSLError("X509_VERIFY_PARAM_new",
+ xmlSecKeyDataStoreGetName(store));
goto done;
}
vpm_flags = X509_VERIFY_PARAM_get_flags(vpm);
@@ -338,7 +310,11 @@ xmlSecOpenSSLX509StoreVerify(xmlSecKeyDataStorePtr store, XMLSEC_STACK_OF_X509*
}
- ret = X509_verify_cert(xsc);
+ if((keyInfoCtx->flags & XMLSEC_KEYINFO_FLAGS_X509DATA_DONT_VERIFY_CERTS) == 0) {
+ ret = X509_verify_cert(xsc);
+ } else {
+ ret = 1;
+ }
err_cert = X509_STORE_CTX_get_current_cert(xsc);
err = X509_STORE_CTX_get_error(xsc);
@@ -348,34 +324,21 @@ xmlSecOpenSSLX509StoreVerify(xmlSecKeyDataStorePtr store, XMLSEC_STACK_OF_X509*
res = cert;
goto done;
} else if(ret < 0) {
- const char* err_msg;
-
- buf[0] = '\0';
- X509_NAME_oneline(X509_get_subject_name(err_cert), buf, sizeof buf);
- err_msg = X509_verify_cert_error_string(err);
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataStoreGetName(store)),
- "X509_verify_cert",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- "subj=%s;err=%d;msg=%s",
- xmlSecErrorsSafeString(buf),
- err,
- xmlSecErrorsSafeString(err_msg));
+ /* real error */
+ xmlSecOpenSSLError("X509_verify_cert", xmlSecKeyDataStoreGetName(store));
goto done;
} else if(ret == 0) {
const char* err_msg;
+ char subject[256], issuer[256];
- buf[0] = '\0';
- X509_NAME_oneline(X509_get_subject_name(err_cert), buf, sizeof buf);
+ X509_NAME_oneline(X509_get_subject_name(err_cert), subject, sizeof(subject));
+ X509_NAME_oneline(X509_get_issuer_name(err_cert), issuer, sizeof(issuer));
err_msg = X509_verify_cert_error_string(err);
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataStoreGetName(store)),
- "X509_verify_cert",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- "subj=%s;err=%d;msg=%s",
- xmlSecErrorsSafeString(buf),
- err,
- xmlSecErrorsSafeString(err_msg));
+
+ xmlSecOtherError5(XMLSEC_ERRORS_R_CERT_VERIFY_FAILED,
+ xmlSecKeyDataStoreGetName(store),
+ "X509_verify_cert: subject=%s; issuer=%s; err=%d; msg=%s",
+ subject, issuer, err, xmlSecErrorsSafeString(err_msg));
}
}
}
@@ -383,45 +346,39 @@ xmlSecOpenSSLX509StoreVerify(xmlSecKeyDataStorePtr store, XMLSEC_STACK_OF_X509*
/* if we came here then we found nothing. do we have any error? */
if((err != 0) && (err_cert != NULL)) {
const char* err_msg;
+ char subject[256], issuer[256];
+ X509_NAME_oneline(X509_get_subject_name(err_cert), subject, sizeof(subject));
+ X509_NAME_oneline(X509_get_issuer_name(err_cert), issuer, sizeof(issuer));
err_msg = X509_verify_cert_error_string(err);
+
switch (err) {
case X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT:
- X509_NAME_oneline(X509_get_issuer_name(err_cert), buf, sizeof buf);
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataStoreGetName(store)),
- NULL,
- XMLSEC_ERRORS_R_CERT_ISSUER_FAILED,
- "err=%d;msg=%s;issuer=%s",
- err,
- xmlSecErrorsSafeString(err_msg),
- xmlSecErrorsSafeString(buf));
+ xmlSecOtherError5(XMLSEC_ERRORS_R_CERT_ISSUER_FAILED,
+ xmlSecKeyDataStoreGetName(store),
+ "subject=%s; issuer=%s; err=%d; msg=%s",
+ subject, issuer, err, xmlSecErrorsSafeString(err_msg));
break;
case X509_V_ERR_CERT_NOT_YET_VALID:
case X509_V_ERR_ERROR_IN_CERT_NOT_BEFORE_FIELD:
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataStoreGetName(store)),
- NULL,
- XMLSEC_ERRORS_R_CERT_NOT_YET_VALID,
- "err=%d;msg=%s", err,
- xmlSecErrorsSafeString(err_msg));
+ xmlSecOtherError5(XMLSEC_ERRORS_R_CERT_NOT_YET_VALID,
+ xmlSecKeyDataStoreGetName(store),
+ "subject=%s; issuer=%s; err=%d; msg=%s",
+ subject, issuer, err, xmlSecErrorsSafeString(err_msg));
break;
case X509_V_ERR_CERT_HAS_EXPIRED:
case X509_V_ERR_ERROR_IN_CERT_NOT_AFTER_FIELD:
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataStoreGetName(store)),
- NULL,
- XMLSEC_ERRORS_R_CERT_HAS_EXPIRED,
- "err=%d;msg=%s", err,
- xmlSecErrorsSafeString(err_msg));
+ xmlSecOtherError5(XMLSEC_ERRORS_R_CERT_HAS_EXPIRED,
+ xmlSecKeyDataStoreGetName(store),
+ "subject=%s; issuer=%s; err=%d; msg=%s",
+ subject, issuer, err, xmlSecErrorsSafeString(err_msg));
break;
default:
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataStoreGetName(store)),
- NULL,
- XMLSEC_ERRORS_R_CERT_VERIFY_FAILED,
- "err=%d;msg=%s", err,
- xmlSecErrorsSafeString(err_msg));
+ xmlSecOtherError5(XMLSEC_ERRORS_R_CERT_VERIFY_FAILED,
+ xmlSecKeyDataStoreGetName(store),
+ "subject=%s; issuer=%s; err=%d; msg=%s",
+ subject, issuer, err, xmlSecErrorsSafeString(err_msg));
+ break;
}
}
@@ -464,11 +421,8 @@ xmlSecOpenSSLX509StoreAdoptCert(xmlSecKeyDataStorePtr store, X509* cert, xmlSecK
ret = X509_STORE_add_cert(ctx->xst, cert);
if(ret != 1) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataStoreGetName(store)),
- "X509_STORE_add_cert",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOpenSSLError("X509_STORE_add_cert",
+ xmlSecKeyDataStoreGetName(store));
return(-1);
}
/* add cert increments the reference */
@@ -478,11 +432,8 @@ xmlSecOpenSSLX509StoreAdoptCert(xmlSecKeyDataStorePtr store, X509* cert, xmlSecK
ret = sk_X509_push(ctx->untrusted, cert);
if(ret < 1) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataStoreGetName(store)),
- "sk_X509_push",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOpenSSLError("sk_X509_push",
+ xmlSecKeyDataStoreGetName(store));
return(-1);
}
}
@@ -512,11 +463,8 @@ xmlSecOpenSSLX509StoreAdoptCrl(xmlSecKeyDataStorePtr store, X509_CRL* crl) {
ret = sk_X509_CRL_push(ctx->crls, crl);
if(ret < 1) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataStoreGetName(store)),
- "sk_X509_CRL_push",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOpenSSLError("sk_X509_CRL_push",
+ xmlSecKeyDataStoreGetName(store));
return(-1);
}
@@ -547,21 +495,15 @@ xmlSecOpenSSLX509StoreAddCertsPath(xmlSecKeyDataStorePtr store, const char *path
lookup = X509_STORE_add_lookup(ctx->xst, X509_LOOKUP_hash_dir());
if(lookup == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataStoreGetName(store)),
- "X509_STORE_add_lookup",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOpenSSLError("X509_STORE_add_lookup",
+ xmlSecKeyDataStoreGetName(store));
return(-1);
}
if(!X509_LOOKUP_add_dir(lookup, path, X509_FILETYPE_PEM)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataStoreGetName(store)),
- "X509_LOOKUP_add_dir",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- "path='%s'",
- xmlSecErrorsSafeString(path)
- );
+ xmlSecOpenSSLError2("X509_LOOKUP_add_dir",
+ xmlSecKeyDataStoreGetName(store),
+ "path='%s'",
+ xmlSecErrorsSafeString(path));
return(-1);
}
return(0);
@@ -570,7 +512,7 @@ xmlSecOpenSSLX509StoreAddCertsPath(xmlSecKeyDataStorePtr store, const char *path
/**
* xmlSecOpenSSLX509StoreAddCertsFile:
* @store: the pointer to OpenSSL x509 store.
- * @file: the certs file.
+ * @filename: the certs file.
*
* Adds all certs in @file to the list of trusted certs
* in @store. It is possible for @file to contain multiple certs.
@@ -578,12 +520,12 @@ xmlSecOpenSSLX509StoreAddCertsPath(xmlSecKeyDataStorePtr store, const char *path
* Returns: 0 on success or a negative value otherwise.
*/
int
-xmlSecOpenSSLX509StoreAddCertsFile(xmlSecKeyDataStorePtr store, const char *file) {
+xmlSecOpenSSLX509StoreAddCertsFile(xmlSecKeyDataStorePtr store, const char *filename) {
xmlSecOpenSSLX509StoreCtxPtr ctx;
X509_LOOKUP *lookup = NULL;
xmlSecAssert2(xmlSecKeyDataStoreCheckId(store, xmlSecOpenSSLX509StoreId), -1);
- xmlSecAssert2(file != NULL, -1);
+ xmlSecAssert2(filename != NULL, -1);
ctx = xmlSecOpenSSLX509StoreGetCtx(store);
xmlSecAssert2(ctx != NULL, -1);
@@ -591,21 +533,15 @@ xmlSecOpenSSLX509StoreAddCertsFile(xmlSecKeyDataStorePtr store, const char *file
lookup = X509_STORE_add_lookup(ctx->xst, X509_LOOKUP_file());
if(lookup == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataStoreGetName(store)),
- "X509_STORE_add_lookup",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOpenSSLError("X509_STORE_add_lookup",
+ xmlSecKeyDataStoreGetName(store));
return(-1);
}
- if(!X509_LOOKUP_load_file(lookup, file, X509_FILETYPE_PEM)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataStoreGetName(store)),
- "X509_LOOKUP_load_file",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- "file='%s'",
- xmlSecErrorsSafeString(file)
- );
+ if(!X509_LOOKUP_load_file(lookup, filename, X509_FILETYPE_PEM)) {
+ xmlSecOpenSSLError2("X509_LOOKUP_load_file",
+ xmlSecKeyDataStoreGetName(store),
+ "filename='%s'",
+ xmlSecErrorsSafeString(filename));
return(-1);
}
return(0);
@@ -626,85 +562,60 @@ xmlSecOpenSSLX509StoreInitialize(xmlSecKeyDataStorePtr store) {
ctx->xst = X509_STORE_new();
if(ctx->xst == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataStoreGetName(store)),
- "X509_STORE_new",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOpenSSLError("X509_STORE_new",
+ xmlSecKeyDataStoreGetName(store));
return(-1);
}
if(!X509_STORE_set_default_paths(ctx->xst)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataStoreGetName(store)),
- "X509_STORE_set_default_paths",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOpenSSLError("X509_STORE_set_default_paths",
+ xmlSecKeyDataStoreGetName(store));
return(-1);
}
lookup = X509_STORE_add_lookup(ctx->xst, X509_LOOKUP_hash_dir());
if(lookup == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataStoreGetName(store)),
- "X509_STORE_add_lookup",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOpenSSLError("X509_STORE_add_lookup",
+ xmlSecKeyDataStoreGetName(store));
return(-1);
}
path = xmlSecOpenSSLGetDefaultTrustedCertsFolder();
if(path != NULL) {
if(!X509_LOOKUP_add_dir(lookup, (char*)path, X509_FILETYPE_PEM)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataStoreGetName(store)),
- "X509_LOOKUP_add_dir",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- "path='%s'",
- xmlSecErrorsSafeString(path)
- );
+ xmlSecOpenSSLError2("X509_LOOKUP_add_dir",
+ xmlSecKeyDataStoreGetName(store),
+ "path='%s'",
+ xmlSecErrorsSafeString(path));
return(-1);
}
} else {
if(!X509_LOOKUP_add_dir(lookup, NULL, X509_FILETYPE_DEFAULT)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataStoreGetName(store)),
- "X509_LOOKUP_add_dir",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE
- );
+ xmlSecOpenSSLError("X509_LOOKUP_add_dir",
+ xmlSecKeyDataStoreGetName(store));
return(-1);
}
}
ctx->untrusted = sk_X509_new_null();
if(ctx->untrusted == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataStoreGetName(store)),
- "sk_X509_new_null",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOpenSSLError("sk_X509_new_null",
+ xmlSecKeyDataStoreGetName(store));
return(-1);
}
ctx->crls = sk_X509_CRL_new_null();
if(ctx->crls == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataStoreGetName(store)),
- "sk_X509_CRL_new_null",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOpenSSLError("sk_X509_CRL_new_null",
+ xmlSecKeyDataStoreGetName(store));
return(-1);
}
ctx->vpm = X509_VERIFY_PARAM_new();
if(ctx->vpm == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecKeyDataStoreGetName(store)),
- "X509_VERIFY_PARAM_new",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOpenSSLError("X509_VERIFY_PARAM_new",
+ xmlSecKeyDataStoreGetName(store));
return(-1);
}
X509_VERIFY_PARAM_set_depth(ctx->vpm, 9); /* the default cert verification path in openssl */
@@ -757,59 +668,35 @@ xmlSecOpenSSLX509VerifyCRL(X509_STORE* xst, X509_CRL *crl ) {
xsc = X509_STORE_CTX_new();
if(xsc == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "X509_STORE_CTX_new",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOpenSSLError("X509_STORE_CTX_new", NULL);
goto err;
}
xobj = X509_OBJECT_new();
if(xobj == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "X509_OBJECT_new",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOpenSSLError("X509_OBJECT_new", NULL);
goto err;
}
ret = X509_STORE_CTX_init(xsc, xst, NULL, NULL);
if(ret != 1) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "X509_STORE_CTX_init",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOpenSSLError("X509_STORE_CTX_init", NULL);
goto err;
}
- ret = X509_STORE_get_by_subject(xsc, X509_LU_X509,
- X509_CRL_get_issuer(crl), xobj);
+ ret = X509_STORE_CTX_get_by_subject(xsc, X509_LU_X509,
+ X509_CRL_get_issuer(crl), xobj);
if(ret <= 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "X509_STORE_get_by_subject",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOpenSSLError("X509_STORE_CTX_get_by_subject", NULL);
goto err;
}
pkey = X509_get_pubkey(X509_OBJECT_get0_X509(xobj));
if(pkey == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "X509_get_pubkey",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOpenSSLError("X509_get_pubkey", NULL);
goto err;
}
ret = X509_CRL_verify(crl, pkey);
EVP_PKEY_free(pkey);
if(ret != 1) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "X509_CRL_verify",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOpenSSLError("X509_CRL_verify", NULL);
}
X509_STORE_CTX_free(xsc);
X509_OBJECT_free(xobj);
@@ -837,12 +724,8 @@ xmlSecOpenSSLX509FindCert(STACK_OF(X509) *certs, xmlChar *subjectName,
nm = xmlSecOpenSSLX509NameRead(subjectName, xmlStrlen(subjectName));
if(nm == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecOpenSSLX509NameRead",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "subject=%s",
- xmlSecErrorsSafeString(subjectName));
+ xmlSecInternalError2("xmlSecOpenSSLX509NameRead", NULL,
+ "subject=%s", xmlSecErrorsSafeString(subjectName));
return(NULL);
}
@@ -863,31 +746,19 @@ xmlSecOpenSSLX509FindCert(STACK_OF(X509) *certs, xmlChar *subjectName,
nm = xmlSecOpenSSLX509NameRead(issuerName, xmlStrlen(issuerName));
if(nm == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecOpenSSLX509NameRead",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "issuer=%s",
- xmlSecErrorsSafeString(issuerName));
+ xmlSecInternalError2("xmlSecOpenSSLX509NameRead", NULL,
+ "issuer=%s", xmlSecErrorsSafeString(issuerName));
return(NULL);
}
bn = BN_new();
if(bn == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "BN_new",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOpenSSLError("BN_new", NULL);
X509_NAME_free(nm);
return(NULL);
}
if(BN_dec2bn(&bn, (char*)issuerSerial) == 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "BN_dec2bn",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOpenSSLError("BN_dec2bn", NULL);
BN_free(bn);
X509_NAME_free(nm);
return(NULL);
@@ -895,11 +766,7 @@ xmlSecOpenSSLX509FindCert(STACK_OF(X509) *certs, xmlChar *subjectName,
serial = BN_to_ASN1_INTEGER(bn, NULL);
if(serial == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "BN_to_ASN1_INTEGER",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOpenSSLError("BN_to_ASN1_INTEGER", NULL);
BN_free(bn);
X509_NAME_free(nm);
return(NULL);
@@ -931,12 +798,8 @@ xmlSecOpenSSLX509FindCert(STACK_OF(X509) *certs, xmlChar *subjectName,
/* our usual trick with base64 decode */
len = xmlSecBase64Decode(ski, (xmlSecByte*)ski, xmlStrlen(ski));
if(len < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecBase64Decode",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "ski=%s",
- xmlSecErrorsSafeString(ski));
+ xmlSecInternalError2("xmlSecBase64Decode", NULL,
+ "ski=%s", xmlSecErrorsSafeString(ski));
return(NULL);
}
for(i = 0; i < sk_X509_num(certs); ++i) {
@@ -1024,11 +887,7 @@ xmlSecOpenSSLX509VerifyCertAgainstCrls(STACK_OF(X509_CRL) *crls, X509* cert) {
for (i = 0; i < n; i++) {
revoked = sk_X509_REVOKED_value(X509_CRL_get_REVOKED(crl), i);
if (ASN1_INTEGER_cmp(X509_REVOKED_get0_serialNumber(revoked), X509_get_serialNumber(cert)) == 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- NULL,
- XMLSEC_ERRORS_R_CERT_REVOKED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOtherError(XMLSEC_ERRORS_R_CERT_REVOKED, NULL, NULL);
return(0);
}
}
@@ -1047,11 +906,7 @@ xmlSecOpenSSLX509NameRead(xmlSecByte *str, int len) {
nm = X509_NAME_new();
if(nm == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "X509_NAME_new",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOpenSSLError("X509_NAME_new", NULL);
return(NULL);
}
@@ -1063,11 +918,7 @@ xmlSecOpenSSLX509NameRead(xmlSecByte *str, int len) {
nameLen = xmlSecOpenSSLX509NameStringRead(&str, &len, name, sizeof(name), '=', 0);
if(nameLen < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecOpenSSLX509NameStringRead",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecOpenSSLX509NameStringRead", NULL);
X509_NAME_free(nm);
return(NULL);
}
@@ -1079,23 +930,14 @@ xmlSecOpenSSLX509NameRead(xmlSecByte *str, int len) {
valueLen = xmlSecOpenSSLX509NameStringRead(&str, &len,
value, sizeof(value), '"', 1);
if(valueLen < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecOpenSSLX509NameStringRead",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecOpenSSLX509NameStringRead", NULL);
X509_NAME_free(nm);
return(NULL);
}
/* skip quote */
if((len <= 0) || ((*str) != '\"')) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- NULL,
- XMLSEC_ERRORS_R_INVALID_DATA,
- "quote is expected:%s",
- xmlSecErrorsSafeString(str));
+ xmlSecInvalidIntegerDataError("char", (*str), "quote '\"'", NULL);
X509_NAME_free(nm);
return(NULL);
}
@@ -1106,12 +948,7 @@ xmlSecOpenSSLX509NameRead(xmlSecByte *str, int len) {
++str; --len;
}
if((len > 0) && ((*str) != ',')) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- NULL,
- XMLSEC_ERRORS_R_INVALID_DATA,
- "comma is expected:%s",
- xmlSecErrorsSafeString(str));
+ xmlSecInvalidIntegerDataError("char", (*str), "comma ','", NULL);
X509_NAME_free(nm);
return(NULL);
}
@@ -1121,22 +958,14 @@ xmlSecOpenSSLX509NameRead(xmlSecByte *str, int len) {
type = MBSTRING_ASC;
} else if((*str) == '#') {
/* TODO: read octect values */
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- NULL,
- XMLSEC_ERRORS_R_INVALID_DATA,
- "reading octect values is not implemented yet");
+ xmlSecNotImplementedError("reading octect values is not implemented yet");
X509_NAME_free(nm);
return(NULL);
} else {
valueLen = xmlSecOpenSSLX509NameStringRead(&str, &len,
value, sizeof(value), ',', 1);
if(valueLen < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecOpenSSLX509NameStringRead",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecOpenSSLX509NameStringRead", NULL);
X509_NAME_free(nm);
return(NULL);
}
@@ -1176,22 +1005,14 @@ xmlSecOpenSSLX509NameStringRead(xmlSecByte **str, int *strLen,
nonSpace = q;
if(xmlSecIsHex((*p))) {
if((p - (*str) + 1) >= (*strLen)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- NULL,
- XMLSEC_ERRORS_R_INVALID_DATA,
- "two hex digits expected");
+ xmlSecInvalidDataError("two hex digits expected", NULL);
return(-1);
}
*(q++) = xmlSecGetHex(p[0]) * 16 + xmlSecGetHex(p[1]);
p += 2;
} else {
if(((++p) - (*str)) >= (*strLen)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- NULL,
- XMLSEC_ERRORS_R_INVALID_DATA,
- "escaped symbol missed");
+ xmlSecInvalidDataError("escaped symbol missed", NULL);
return(-1);
}
*(q++) = *(p++);
@@ -1199,11 +1020,7 @@ xmlSecOpenSSLX509NameStringRead(xmlSecByte **str, int *strLen,
}
}
if(((p - (*str)) < (*strLen)) && ((*p) != delim)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- NULL,
- XMLSEC_ERRORS_R_INVALID_SIZE,
- "buffer is too small");
+ xmlSecInvalidSizeOtherError("buffer is too small", NULL);
return(-1);
}
(*strLen) -= (p - (*str));
@@ -1211,7 +1028,7 @@ xmlSecOpenSSLX509NameStringRead(xmlSecByte **str, int *strLen,
return((ingoreTrailingSpaces) ? nonSpace - res + 1 : q - res);
}
-/**
+/*
* This function DOES NOT create duplicates for X509_NAME_ENTRY objects!
*/
static STACK_OF(X509_NAME_ENTRY)*
@@ -1221,11 +1038,7 @@ xmlSecOpenSSLX509_NAME_ENTRIES_copy(X509_NAME * a) {
res = sk_X509_NAME_ENTRY_new(xmlSecOpenSSLX509_NAME_ENTRY_cmp);
if(res == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "sk_X509_NAME_ENTRY_new",
- XMLSEC_ERRORS_R_CRYPTO_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOpenSSLError("sk_X509_NAME_ENTRY_new", NULL);
return(NULL);
}
@@ -1280,20 +1093,12 @@ xmlSecOpenSSLX509NamesCompare(X509_NAME *a, X509_NAME *b) {
a1 = xmlSecOpenSSLX509_NAME_ENTRIES_copy(a);
if(a1 == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecOpenSSLX509_NAME_ENTRIES_copy",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecOpenSSLX509_NAME_ENTRIES_copy", NULL);
return(-1);
}
b1 = xmlSecOpenSSLX509_NAME_ENTRIES_copy(b);
if(b1 == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecOpenSSLX509_NAME_ENTRIES_copy",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecOpenSSLX509_NAME_ENTRIES_copy", NULL);
sk_X509_NAME_ENTRY_free(a1);
return(1);
}
diff --git a/src/parser.c b/src/parser.c
index 969c3e4..9889ae9 100644
--- a/src/parser.c
+++ b/src/parser.c
@@ -1,4 +1,4 @@
-/**
+/*
* XML Security Library (http://www.aleksey.com/xmlsec).
*
* XML Parser transform and utility functions.
@@ -87,6 +87,7 @@ static xmlSecTransformKlass xmlSecParserKlass = {
NULL, /* void* reserved1; */
};
+
/**
* xmlSecTransformXmlParserGetKlass:
*
@@ -148,11 +149,7 @@ xmlSecParserPushBin(xmlSecTransformPtr transform, const xmlSecByte* data,
ctx->parserCtx = xmlCreatePushParserCtxt(NULL, NULL, NULL, 0, NULL);
if(ctx->parserCtx == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlCreatePushParserCtxt",
- XMLSEC_ERRORS_R_XML_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecXmlError("xmlCreatePushParserCtxt", xmlSecTransformGetName(transform));
return(-1);
}
@@ -165,11 +162,7 @@ xmlSecParserPushBin(xmlSecTransformPtr transform, const xmlSecByte* data,
} else if(transform->status == xmlSecTransformStatusFinished) {
return(0);
} else if(transform->status != xmlSecTransformStatusWorking) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- NULL,
- XMLSEC_ERRORS_R_INVALID_STATUS,
- "status=%d", transform->status);
+ xmlSecInvalidTransfromStatusError(transform);
return(-1);
}
xmlSecAssert2(transform->status == xmlSecTransformStatusWorking, -1);
@@ -179,11 +172,9 @@ xmlSecParserPushBin(xmlSecTransformPtr transform, const xmlSecByte* data,
if((data != NULL) && (dataSize > 0)) {
ret = xmlParseChunk(ctx->parserCtx, (const char*)data, dataSize, 0);
if(ret != 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlParseChunk",
- XMLSEC_ERRORS_R_XML_FAILED,
- "size=%d", dataSize);
+ xmlSecXmlParserError2("xmlParseChunk", ctx->parserCtx,
+ xmlSecTransformGetName(transform),
+ "size=%lu", (unsigned long)dataSize);
return(-1);
}
}
@@ -192,11 +183,8 @@ xmlSecParserPushBin(xmlSecTransformPtr transform, const xmlSecByte* data,
if(final != 0) {
ret = xmlParseChunk(ctx->parserCtx, NULL, 0, 1);
if((ret != 0) || (ctx->parserCtx->myDoc == NULL)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlParseChunk",
- XMLSEC_ERRORS_R_XML_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecXmlParserError("xmlParseChunk", ctx->parserCtx,
+ xmlSecTransformGetName(transform));
return(-1);
}
@@ -204,11 +192,8 @@ xmlSecParserPushBin(xmlSecTransformPtr transform, const xmlSecByte* data,
transform->outNodes = xmlSecNodeSetCreate(ctx->parserCtx->myDoc,
NULL, xmlSecNodeSetTree);
if(transform->outNodes == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecNodeSetCreate",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecNodeSetCreate",
+ xmlSecTransformGetName(transform));
xmlFreeDoc(ctx->parserCtx->myDoc);
ctx->parserCtx->myDoc = NULL;
return(-1);
@@ -220,11 +205,8 @@ xmlSecParserPushBin(xmlSecTransformPtr transform, const xmlSecByte* data,
if(transform->next != NULL) {
ret = xmlSecTransformPushXml(transform->next, transform->outNodes, transformCtx);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecTransformPushXml",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecTransformPushXml",
+ xmlSecTransformGetName(transform));
return(-1);
}
}
@@ -264,53 +246,38 @@ xmlSecParserPopXml(xmlSecTransformPtr transform, xmlSecNodeSetPtr* nodes,
(*nodes) = NULL;
return(0);
default:
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- NULL,
- XMLSEC_ERRORS_R_INVALID_STATUS,
- "status=%d", transform->status);
+ xmlSecInvalidTransfromStatusError(transform);
return(-1);
}
xmlSecAssert2(transform->status == xmlSecTransformStatusWorking, -1);
/* prepare parser context */
if(transform->prev == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- NULL,
- XMLSEC_ERRORS_R_INVALID_TRANSFORM,
- "prev transform is null");
+ xmlSecInvalidTransfromError2(transform,
+ "prev transform=\"%s\"",
+ xmlSecErrorsSafeString(transform->prev));
return(-1);
}
buf = xmlSecTransformCreateInputBuffer(transform->prev, transformCtx);
if(buf == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecTransformCreateInputBuffer",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecTransformCreateInputBuffer",
+ xmlSecTransformGetName(transform));
return(-1);
}
ctxt = xmlNewParserCtxt();
if (ctxt == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlNewParserCtxt",
- XMLSEC_ERRORS_R_XML_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecXmlError("xmlNewParserCtxt",
+ xmlSecTransformGetName(transform));
xmlFreeParserInputBuffer(buf);
return(-1);
}
input = xmlNewIOInputStream(ctxt, buf, XML_CHAR_ENCODING_NONE);
if(input == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlNewParserCtxt",
- XMLSEC_ERRORS_R_XML_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecXmlParserError("xmlNewParserCtxt", ctxt,
+ xmlSecTransformGetName(transform));
xmlFreeParserCtxt(ctxt);
xmlFreeParserInputBuffer(buf);
return(-1);
@@ -318,11 +285,8 @@ xmlSecParserPopXml(xmlSecTransformPtr transform, xmlSecNodeSetPtr* nodes,
ret = inputPush(ctxt, input);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "inputPush",
- XMLSEC_ERRORS_R_XML_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecXmlParserError("inputPush", ctxt,
+ xmlSecTransformGetName(transform));
xmlFreeInputStream(input);
xmlFreeParserCtxt(ctxt);
return(-1);
@@ -335,11 +299,8 @@ xmlSecParserPopXml(xmlSecTransformPtr transform, xmlSecNodeSetPtr* nodes,
/* finaly do the parsing */
ret = xmlParseDocument(ctxt);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlParseDocument",
- XMLSEC_ERRORS_R_XML_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecXmlParserError("xmlParseDocument", ctxt,
+ xmlSecTransformGetName(transform));
if(ctxt->myDoc != NULL) {
xmlFreeDoc(ctxt->myDoc);
ctxt->myDoc = NULL;
@@ -356,11 +317,8 @@ xmlSecParserPopXml(xmlSecTransformPtr transform, xmlSecNodeSetPtr* nodes,
/* return result to the caller */
(*nodes) = xmlSecNodeSetCreate(doc, NULL, xmlSecNodeSetTree);
if((*nodes) == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecNodeSetCreate",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecNodeSetCreate",
+ xmlSecTransformGetName(transform));
xmlFreeDoc(doc);
return(-1);
}
@@ -394,15 +352,18 @@ typedef struct _xmlSecExtMemoryParserCtx {
*/
xmlDocPtr
xmlSecParseFile(const char *filename) {
- xmlDocPtr ret;
xmlParserCtxtPtr ctxt;
+ xmlDocPtr res = NULL;
char *directory = NULL;
+ int ret;
xmlSecAssert2(filename != NULL, NULL);
xmlInitParser();
ctxt = xmlCreateFileParserCtxt(filename);
if (ctxt == NULL) {
+ xmlSecXmlError2("xmlCreateFileParserCtxt", NULL,
+ "filename=%s", xmlSecErrorsSafeString(filename));
return(NULL);
}
@@ -410,26 +371,49 @@ xmlSecParseFile(const char *filename) {
/* crashes on x64 xmlCtxtUseOptions (ctxt, XML_PARSE_HUGE); */
/* todo: set directories from current doc? */
- if ((ctxt->directory == NULL) && (directory == NULL))
+ if ((ctxt->directory == NULL) && (directory == NULL)) {
directory = xmlParserGetDirectory(filename);
- if ((ctxt->directory == NULL) && (directory != NULL))
- ctxt->directory = (char *) xmlStrdup((xmlChar *) directory);
+ if(directory == NULL) {
+ xmlSecXmlError2("xmlParserGetDirectory", NULL,
+ "filename=%s", xmlSecErrorsSafeString(filename));
+ xmlFreeParserCtxt(ctxt);
+ return(NULL);
+ }
+ }
+ if ((ctxt->directory == NULL) && (directory != NULL)) {
+ ctxt->directory = (char *) xmlStrdup(BAD_CAST directory);
+ if(ctxt->directory == NULL) {
+ xmlSecStrdupError(BAD_CAST directory, NULL);
+ xmlFreeParserCtxt(ctxt);
+ return(NULL);
+ }
+ }
/* required for c14n! */
ctxt->loadsubset = XML_DETECT_IDS | XML_COMPLETE_ATTRS;
ctxt->replaceEntities = 1;
- xmlParseDocument(ctxt);
+ ret = xmlParseDocument(ctxt);
+ if(ret < 0) {
+ xmlSecXmlParserError2("xmlParseDocument", ctxt, NULL,
+ "filename=%s",
+ xmlSecErrorsSafeString(filename));
+ xmlFreeParserCtxt(ctxt);
+ return(NULL);
+ }
- if(ctxt->wellFormed) {
- ret = ctxt->myDoc;
- } else {
- ret = NULL;
+ if(!ctxt->wellFormed) {
+ xmlSecInternalError("document is not well formed", NULL);
xmlFreeDoc(ctxt->myDoc);
ctxt->myDoc = NULL;
+ xmlFreeParserCtxt(ctxt);
+ return(NULL);
}
+
+ /* done */
+ res = ctxt->myDoc;
xmlFreeParserCtxt(ctxt);
- return(ret);
+ return(res);
}
@@ -457,11 +441,7 @@ xmlSecParseMemoryExt(const xmlSecByte *prefix, xmlSecSize prefixSize,
/* create context */
ctxt = xmlCreatePushParserCtxt(NULL, NULL, NULL, 0, NULL);
if(ctxt == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlCreatePushParserCtxt",
- XMLSEC_ERRORS_R_XML_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecXmlError("xmlCreatePushParserCtxt", NULL);
goto done;
}
@@ -473,11 +453,9 @@ xmlSecParseMemoryExt(const xmlSecByte *prefix, xmlSecSize prefixSize,
if((prefix != NULL) && (prefixSize > 0)) {
ret = xmlParseChunk(ctxt, (const char*)prefix, prefixSize, 0);
if(ret != 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlParseChunk",
- XMLSEC_ERRORS_R_XML_FAILED,
- "prefixSize=%d", prefixSize);
+ xmlSecXmlParserError2("xmlParseChunk", ctxt, NULL,
+ "chunkSize=%d", prefixSize);
+
goto done;
}
}
@@ -486,11 +464,9 @@ xmlSecParseMemoryExt(const xmlSecByte *prefix, xmlSecSize prefixSize,
if((buffer != NULL) && (bufferSize > 0)) {
ret = xmlParseChunk(ctxt, (const char*)buffer, bufferSize, 0);
if(ret != 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlParseChunk",
- XMLSEC_ERRORS_R_XML_FAILED,
- "bufferSize=%d", bufferSize);
+ xmlSecXmlParserError2("xmlParseChunk", ctxt, NULL,
+ "chunkSize=%d", bufferSize);
+
goto done;
}
}
@@ -499,11 +475,9 @@ xmlSecParseMemoryExt(const xmlSecByte *prefix, xmlSecSize prefixSize,
if((postfix != NULL) && (postfixSize > 0)) {
ret = xmlParseChunk(ctxt, (const char*)postfix, postfixSize, 0);
if(ret != 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlParseChunk",
- XMLSEC_ERRORS_R_XML_FAILED,
- "postfixSize=%d", postfixSize);
+ xmlSecXmlParserError2("xmlParseChunk", ctxt, NULL,
+ "chunkSize=%d", postfixSize);
+
goto done;
}
}
@@ -511,11 +485,7 @@ xmlSecParseMemoryExt(const xmlSecByte *prefix, xmlSecSize prefixSize,
/* finishing */
ret = xmlParseChunk(ctxt, NULL, 0, 1);
if((ret != 0) || (ctxt->myDoc == NULL)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlParseChunk",
- XMLSEC_ERRORS_R_XML_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecXmlParserError("xmlParseChunk", ctxt, NULL);
goto done;
}
doc = ctxt->myDoc;
@@ -541,18 +511,15 @@ done:
*/
xmlDocPtr
xmlSecParseMemory(const xmlSecByte *buffer, xmlSecSize size, int recovery) {
- xmlDocPtr ret;
xmlParserCtxtPtr ctxt;
+ xmlDocPtr res = NULL;
+ int ret;
xmlSecAssert2(buffer != NULL, NULL);
ctxt = xmlCreateMemoryParserCtxt((char*)buffer, size);
if (ctxt == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlCreateMemoryParserCtxt",
- XMLSEC_ERRORS_R_XML_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecXmlError("xmlCreateMemoryParserCtxt", NULL);
return(NULL);
}
@@ -560,16 +527,24 @@ xmlSecParseMemory(const xmlSecByte *buffer, xmlSecSize size, int recovery) {
ctxt->loadsubset = XML_DETECT_IDS | XML_COMPLETE_ATTRS;
ctxt->replaceEntities = 1;
- xmlParseDocument(ctxt);
+ ret = xmlParseDocument(ctxt);
+ if(ret < 0) {
+ xmlSecXmlParserError("xmlParseDocument", ctxt, NULL);
+ xmlFreeParserCtxt(ctxt);
+ return(NULL);
+ }
- if((ctxt->wellFormed) || recovery) {
- ret = ctxt->myDoc;
- } else {
- ret = NULL;
- xmlFreeDoc(ctxt->myDoc);
- ctxt->myDoc = NULL;
+ if(!(ctxt->wellFormed) && !recovery) {
+ xmlSecInternalError("document is not well formed", NULL);
+ xmlFreeDoc(ctxt->myDoc);
+ ctxt->myDoc = NULL;
+ xmlFreeParserCtxt(ctxt);
+ return(NULL);
}
+
+ /* done */
+ res = ctxt->myDoc;
xmlFreeParserCtxt(ctxt);
- return(ret);
+ return(res);
}
diff --git a/src/relationship.c b/src/relationship.c
index d69c977..b854ecd 100644
--- a/src/relationship.c
+++ b/src/relationship.c
@@ -1,4 +1,4 @@
-/**
+/*
* XML Security Library (http://www.aleksey.com/xmlsec).
*
* Relationship transform
@@ -168,11 +168,8 @@ xmlSecRelationshipInitialize(xmlSecTransformPtr transform) {
ctx->sourceIdList = xmlSecPtrListCreate(xmlSecStringListId);
if(ctx->sourceIdList == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecPtrListCreate",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecPtrListCreate",
+ xmlSecTransformGetName(transform));
return(-1);
}
return(0);
@@ -215,22 +212,15 @@ xmlSecRelationshipReadNode(xmlSecTransformPtr transform, xmlNodePtr node, xmlSec
sourceId = xmlGetProp(cur, xmlSecRelationshipAttrSourceId);
if(sourceId == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- "xmlGetProp",
- xmlSecErrorsSafeString(xmlSecRelationshipAttrSourceId),
- XMLSEC_ERRORS_R_INVALID_NODE_ATTRIBUTE,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeGetName(node)));
+ xmlSecInvalidNodeAttributeError(cur, xmlSecRelationshipAttrSourceId,
+ NULL, "empty");
return(-1);
}
ret = xmlSecPtrListAdd(ctx->sourceIdList, sourceId);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecPtrListAdd",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecPtrListAdd",
+ xmlSecTransformGetName(transform));
xmlFree(sourceId);
return(-1);
}
@@ -283,7 +273,7 @@ done:
return ret;
}
-/**
+/*
* This is step 2, point 4: if the input sourceId list doesn't contain the Id attribute of the current node,
* then exclude it from the output, instead of processing it.
*/
@@ -301,11 +291,9 @@ xmlSecTransformRelationshipProcessNode(xmlSecTransformPtr transform, xmlOutputBu
if(xmlSecCheckNodeName(cur, xmlSecNodeRelationship, xmlSecRelationshipsNs)) {
xmlChar* id = xmlGetProp(cur, xmlSecRelationshipAttrId);
if(id == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlGetProp(xmlSecRelationshipAttrId)",
- XMLSEC_ERRORS_R_XML_FAILED,
- "name=Id");
+ xmlSecXmlError2("xmlGetProp(xmlSecRelationshipAttrId)",
+ xmlSecTransformGetName(transform),
+ "name=%s", xmlSecRelationshipAttrId);
return(-1);
}
@@ -326,18 +314,15 @@ xmlSecTransformRelationshipProcessNode(xmlSecTransformPtr transform, xmlOutputBu
ret = xmlSecTransformRelationshipProcessElementNode(transform, buf, cur);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecTransformRelationshipProcessElementNode",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecTransformRelationshipProcessElementNode",
+ xmlSecTransformGetName(transform));
return(-1);
}
return(0);
}
-/**
+/*
* This is step 2, point 3: sort elements by Id: we process other elements as-is, but for elements we collect them in a list,
* then sort, and finally process them (process the head of the list, then pop the head, till the list becomes empty).
*/
@@ -352,32 +337,21 @@ xmlSecTransformRelationshipProcessNodeList(xmlSecTransformPtr transform, xmlOutp
list = xmlListCreate(NULL, (xmlListDataCompare)xmlSecTransformRelationshipCompare);
if(list == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlListCreate",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecXmlError("xmlListCreate", xmlSecTransformGetName(transform));
return(-1);
}
for(; cur; cur = cur->next) {
if(xmlStrcmp(cur->name, xmlSecNodeRelationship) == 0) {
if(xmlListInsert(list, cur) != 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlListInsert",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecXmlError("xmlListInsert", xmlSecTransformGetName(transform));
return(-1);
}
} else {
ret = xmlSecTransformRelationshipProcessNode(transform, buf, cur);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecTransformRelationshipProcessNode",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecTransformRelationshipProcessNode",
+ xmlSecTransformGetName(transform));
xmlListDelete(list);
return(-1);
}
@@ -392,11 +366,8 @@ xmlSecTransformRelationshipProcessNodeList(xmlSecTransformPtr transform, xmlOutp
ret = xmlSecTransformRelationshipProcessNode(transform, buf, node);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecTransformRelationshipProcessNode",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecTransformRelationshipProcessNode",
+ xmlSecTransformGetName(transform));
xmlListDelete(list);
return(-1);
}
@@ -418,50 +389,30 @@ xmlSecTransformRelationshipWriteProp(xmlOutputBufferPtr buf, const xmlChar * nam
ret = xmlOutputBufferWriteString(buf, " ");
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlOutputBufferWriteString",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecXmlError("xmlOutputBufferWriteString", NULL);
return(-1);
}
ret = xmlOutputBufferWriteString(buf, (const char*) name);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlOutputBufferWriteString",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecXmlError("xmlOutputBufferWriteString", NULL);
return(-1);
}
if(value != NULL) {
ret = xmlOutputBufferWriteString(buf, "=\"");
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlOutputBufferWriteString",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecXmlError("xmlOutputBufferWriteString", NULL);
return(-1);
}
ret = xmlOutputBufferWriteString(buf, (const char*) value);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlOutputBufferWriteString",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecXmlError("xmlOutputBufferWriteString", NULL);
return(-1);
}
ret = xmlOutputBufferWriteString(buf, "\"");
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlOutputBufferWriteString",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecXmlError("xmlOutputBufferWriteString", NULL);
return(-1);
}
}
@@ -491,20 +442,14 @@ xmlSecTransformRelationshipProcessElementNode(xmlSecTransformPtr transform, xmlO
/* write open node */
ret = xmlOutputBufferWriteString(buf, "<");
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlOutputBufferWriteString",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecXmlError("xmlOutputBufferWriteString",
+ xmlSecTransformGetName(transform));
return(-1);
}
ret = xmlOutputBufferWriteString(buf, (const char *)cur->name);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlOutputBufferWriteString",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecXmlError("xmlOutputBufferWriteString",
+ xmlSecTransformGetName(transform));
return(-1);
}
@@ -512,16 +457,13 @@ xmlSecTransformRelationshipProcessElementNode(xmlSecTransformPtr transform, xmlO
if(cur->nsDef != NULL) {
ret = xmlSecTransformRelationshipWriteNs(buf, cur->nsDef->href);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecTransformRelationshipWriteNs",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecTransformRelationshipWriteNs",
+ xmlSecTransformGetName(transform));
return(-1);
}
}
- /**
+ /*
* write attributes:
*
* This is step 3, point 6: add default value of TargetMode if there is no such attribute.
@@ -535,11 +477,8 @@ xmlSecTransformRelationshipProcessElementNode(xmlSecTransformPtr transform, xmlO
ret = xmlSecTransformRelationshipWriteProp(buf, attr->name, value);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecTransformRelationshipWriteProp",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecTransformRelationshipWriteProp",
+ xmlSecTransformGetName(transform));
xmlFree(value);
return(-1);
}
@@ -551,11 +490,8 @@ xmlSecTransformRelationshipProcessElementNode(xmlSecTransformPtr transform, xmlO
if(xmlStrcmp(cur->name, xmlSecNodeRelationship) == 0 && !foundTargetMode) {
ret = xmlSecTransformRelationshipWriteProp(buf, xmlSecRelationshipAttrTargetMode, BAD_CAST "Internal");
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecTransformRelationshipWriteProp(TargetMode=Internal)",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecTransformRelationshipWriteProp(TargetMode=Internal)",
+ xmlSecTransformGetName(transform));
return(-1);
}
}
@@ -563,11 +499,8 @@ xmlSecTransformRelationshipProcessElementNode(xmlSecTransformPtr transform, xmlO
/* finish writing open node */
ret = xmlOutputBufferWriteString(buf, ">");
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlOutputBufferWriteString",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecXmlError("xmlOutputBufferWriteString",
+ xmlSecTransformGetName(transform));
return(-1);
}
@@ -575,11 +508,8 @@ xmlSecTransformRelationshipProcessElementNode(xmlSecTransformPtr transform, xmlO
if(cur->children != NULL) {
ret = xmlSecTransformRelationshipProcessNodeList(transform, buf, cur->children);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecTransformRelationshipProcessNodeList",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecTransformRelationshipProcessNodeList",
+ xmlSecTransformGetName(transform));
return(-1);
}
}
@@ -587,28 +517,19 @@ xmlSecTransformRelationshipProcessElementNode(xmlSecTransformPtr transform, xmlO
/* write closing node */
ret = xmlOutputBufferWriteString(buf, "</");
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlOutputBufferWriteString",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecXmlError("xmlOutputBufferWriteString",
+ xmlSecTransformGetName(transform));
return(-1);
}
ret = xmlOutputBufferWriteString(buf, (const char *)cur->name);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlOutputBufferWriteString",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecXmlError("xmlOutputBufferWriteString",
+ xmlSecTransformGetName(transform));
return(-1);
}
if(xmlOutputBufferWriteString(buf, ">") < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlOutputBufferWriteString",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecXmlError("xmlOutputBufferWriteString",
+ xmlSecTransformGetName(transform));
return(-1);
}
@@ -627,11 +548,8 @@ xmlSecTransformRelationshipExecute(xmlSecTransformPtr transform, xmlOutputBuffer
if(doc->children != NULL) {
ret = xmlSecTransformRelationshipProcessNodeList(transform, buf, doc->children);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecTransformRelationshipProcessNodeList",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecTransformRelationshipProcessNodeList",
+ xmlSecTransformGetName(transform));
return(-1);
}
}
@@ -662,11 +580,7 @@ xmlSecTransformRelationshipPushXml(xmlSecTransformPtr transform, xmlSecNodeSetPt
case xmlSecTransformStatusFinished:
return(0);
default:
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- NULL,
- XMLSEC_ERRORS_R_INVALID_STATUS,
- "status=%d", transform->status);
+ xmlSecInvalidTransfromStatusError(transform);
return(-1);
}
xmlSecAssert2(transform->status == xmlSecTransformStatusWorking, -1);
@@ -675,43 +589,30 @@ xmlSecTransformRelationshipPushXml(xmlSecTransformPtr transform, xmlSecNodeSetPt
if(transform->next != NULL) {
buf = xmlSecTransformCreateOutputBuffer(transform->next, transformCtx);
if(buf == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecTransformCreateOutputBuffer",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecTransformCreateOutputBuffer",
+ xmlSecTransformGetName(transform));
return(-1);
}
} else {
buf = xmlSecBufferCreateOutputBuffer(&(transform->outBuf));
if(buf == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecBufferCreateOutputBuffer",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecBufferCreateOutputBuffer",
+ xmlSecTransformGetName(transform));
return(-1);
}
}
ret = xmlSecTransformRelationshipExecute(transform, buf, nodes->doc);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlC14NExecute",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecTransformRelationshipExecute",
+ xmlSecTransformGetName(transform));
xmlOutputBufferClose(buf);
return(-1);
}
ret = xmlOutputBufferClose(buf);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlOutputBufferClose",
- XMLSEC_ERRORS_R_XML_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecXmlError("xmlOutputBufferClose", xmlSecTransformGetName(transform));
return(-1);
}
transform->status = xmlSecTransformStatusFinished;
@@ -742,43 +643,30 @@ xmlSecTransformRelationshipPopBin(xmlSecTransformPtr transform, xmlSecByte* data
/* get xml data from previous transform */
ret = xmlSecTransformPopXml(transform->prev, &(transform->inNodes), transformCtx);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecTransformPopXml",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecTransformPopXml",
+ xmlSecTransformGetName(transform));
return(-1);
}
/* dump everything to internal buffer */
buf = xmlSecBufferCreateOutputBuffer(out);
if(buf == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecBufferCreateOutputBuffer",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecBufferCreateOutputBuffer",
+ xmlSecTransformGetName(transform));
return(-1);
}
ret = xmlC14NExecute(transform->inNodes->doc, (xmlC14NIsVisibleCallback)xmlSecNodeSetContains, transform->inNodes, XML_C14N_1_0, NULL, 0, buf);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecTransformC14NExecute",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecTransformC14NExecute",
+ xmlSecTransformGetName(transform));
xmlOutputBufferClose(buf);
return(-1);
}
ret = xmlOutputBufferClose(buf);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlOutputBufferClose",
- XMLSEC_ERRORS_R_XML_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecXmlError("xmlOutputBufferClose", xmlSecTransformGetName(transform));
return(-1);
}
transform->status = xmlSecTransformStatusWorking;
@@ -801,11 +689,9 @@ xmlSecTransformRelationshipPopBin(xmlSecTransformPtr transform, xmlSecByte* data
memcpy(data, xmlSecBufferGetData(out), outSize);
ret = xmlSecBufferRemoveHead(out, outSize);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecBufferRemoveHead",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "size=%d", outSize);
+ xmlSecInternalError2("xmlSecBufferRemoveHead",
+ xmlSecTransformGetName(transform),
+ "size=%d", outSize);
return(-1);
}
} else if(xmlSecBufferGetSize(out) == 0) {
@@ -817,11 +703,7 @@ xmlSecTransformRelationshipPopBin(xmlSecTransformPtr transform, xmlSecByte* data
xmlSecAssert2(xmlSecBufferGetSize(out) == 0, -1);
(*dataSize) = 0;
} else {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- NULL,
- XMLSEC_ERRORS_R_INVALID_STATUS,
- "status=%d", transform->status);
+ xmlSecInvalidTransfromStatusError(transform);
return(-1);
}
diff --git a/src/skeleton/Makefile.am b/src/skeleton/Makefile.am
index 2f54f9d..dd037e6 100644
--- a/src/skeleton/Makefile.am
+++ b/src/skeleton/Makefile.am
@@ -25,10 +25,6 @@ libxmlsec1_skeleton_la_SOURCES =\
globals.h \
$(NULL)
-if SHAREDLIB_HACK
-libxmlsec1_skeleton_la_SOURCES += ../strings.c
-endif
-
libxmlsec1_skeleton_la_LIBADD = \
$(SKELETON_LIBS) \
$(LIBXSLT_LIBS) \
diff --git a/src/skeleton/app.c b/src/skeleton/app.c
index 69c8330..ceab2f3 100644
--- a/src/skeleton/app.c
+++ b/src/skeleton/app.c
@@ -1,5 +1,5 @@
-/**
- * XMLSec library
+/*
+ * XML Security Library (http://www.aleksey.com/xmlsec).
*
* This is free software; see Copyright file in the source
* distribution for preciese wording.
@@ -73,11 +73,7 @@ xmlSecSkeletonAppKeyLoad(const char *filename, xmlSecKeyDataFormat format,
xmlSecAssert2(format != xmlSecKeyDataFormatUnknown, NULL);
/* TODO: load key */
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecSkeletonAppKeyLoad",
- XMLSEC_ERRORS_R_NOT_IMPLEMENTED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNotImplementedError(NULL);
return(NULL);
}
@@ -101,11 +97,7 @@ xmlSecSkeletonAppKeyLoadMemory(const xmlSecByte* data, xmlSecSize dataSize, xmlS
xmlSecAssert2(format != xmlSecKeyDataFormatUnknown, NULL);
/* TODO: load key */
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecSkeletonAppKeyLoad",
- XMLSEC_ERRORS_R_NOT_IMPLEMENTED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNotImplementedError(NULL);
return(NULL);
}
@@ -130,11 +122,7 @@ xmlSecSkeletonAppKeyCertLoad(xmlSecKeyPtr key, const char* filename,
xmlSecAssert2(format != xmlSecKeyDataFormatUnknown, -1);
/* TODO */
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecSkeletonAppKeyCertLoad",
- XMLSEC_ERRORS_R_NOT_IMPLEMENTED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNotImplementedError(NULL);
return(-1);
}
@@ -157,11 +145,7 @@ xmlSecSkeletonAppKeyCertLoadMemory(xmlSecKeyPtr key, const xmlSecByte* data, xml
xmlSecAssert2(format != xmlSecKeyDataFormatUnknown, -1);
/* TODO */
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecSkeletonAppKeyCertLoadMemory",
- XMLSEC_ERRORS_R_NOT_IMPLEMENTED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNotImplementedError(NULL);
return(-1);
}
@@ -188,11 +172,7 @@ xmlSecSkeletonAppPkcs12Load(const char *filename,
xmlSecAssert2(filename != NULL, NULL);
/* TODO: load pkcs12 file */
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecSkeletonAppPkcs12Load",
- XMLSEC_ERRORS_R_NOT_IMPLEMENTED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNotImplementedError(NULL);
return(NULL);
}
@@ -217,11 +197,7 @@ xmlSecSkeletonAppPkcs12LoadMemory(const xmlSecByte* data, xmlSecSize dataSize, c
xmlSecAssert2(data != NULL, NULL);
/* TODO: load pkcs12 file */
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecSkeletonAppPkcs12Load",
- XMLSEC_ERRORS_R_NOT_IMPLEMENTED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNotImplementedError(NULL);
return(NULL);
}
@@ -249,11 +225,7 @@ xmlSecSkeletonAppKeysMngrCertLoad(xmlSecKeysMngrPtr mngr, const char *filename,
xmlSecAssert2(format != xmlSecKeyDataFormatUnknown, -1);
/* TODO: load cert and add to keys manager */
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecSkeletonAppKeysMngrCertLoad",
- XMLSEC_ERRORS_R_NOT_IMPLEMENTED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNotImplementedError(NULL);
return(-1);
}
@@ -279,11 +251,7 @@ xmlSecSkeletonAppKeysMngrCertLoadMemory(xmlSecKeysMngrPtr mngr, const xmlSecByte
xmlSecAssert2(format != xmlSecKeyDataFormatUnknown, -1);
/* TODO: load cert and add to keys manager */
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecSkeletonAppKeysMngrCertLoad",
- XMLSEC_ERRORS_R_NOT_IMPLEMENTED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNotImplementedError(NULL);
return(-1);
}
@@ -314,21 +282,13 @@ xmlSecSkeletonAppDefaultKeysMngrInit(xmlSecKeysMngrPtr mngr) {
keysStore = xmlSecKeyStoreCreate(xmlSecSimpleKeysStoreId);
if(keysStore == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecKeyStoreCreate",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "xmlSecSimpleKeysStoreId");
+ xmlSecInternalError("xmlSecKeyStoreCreate(xmlSecSimpleKeysStoreId)", NULL);
return(-1);
}
ret = xmlSecKeysMngrAdoptKeysStore(mngr, keysStore);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecKeysMngrAdoptKeysStore",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeysMngrAdoptKeysStore", NULL);
xmlSecKeyStoreDestroy(keysStore);
return(-1);
}
@@ -336,11 +296,7 @@ xmlSecSkeletonAppDefaultKeysMngrInit(xmlSecKeysMngrPtr mngr) {
ret = xmlSecSkeletonKeysMngrInit(mngr);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecSkeletonKeysMngrInit",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecSkeletonKeysMngrInit", NULL);
return(-1);
}
@@ -372,21 +328,13 @@ xmlSecSkeletonAppDefaultKeysMngrAdoptKey(xmlSecKeysMngrPtr mngr, xmlSecKeyPtr ke
store = xmlSecKeysMngrGetKeysStore(mngr);
if(store == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecKeysMngrGetKeysStore",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeysMngrGetKeysStore", NULL);
return(-1);
}
ret = xmlSecSimpleKeysStoreAdoptKey(store, key);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecSimpleKeysStoreAdoptKey",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecSimpleKeysStoreAdoptKey", NULL);
return(-1);
}
@@ -417,21 +365,14 @@ xmlSecSkeletonAppDefaultKeysMngrLoad(xmlSecKeysMngrPtr mngr, const char* uri) {
store = xmlSecKeysMngrGetKeysStore(mngr);
if(store == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecKeysMngrGetKeysStore",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeysMngrGetKeysStore", NULL);
return(-1);
}
ret = xmlSecSimpleKeysStoreLoad(store, uri, mngr);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecSimpleKeysStoreLoad",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "uri=%s", xmlSecErrorsSafeString(uri));
+ xmlSecInternalError2("xmlSecSimpleKeysStoreLoad", NULL,
+ "uri=%s", xmlSecErrorsSafeString(uri));
return(-1);
}
@@ -462,22 +403,15 @@ xmlSecSkeletonAppDefaultKeysMngrSave(xmlSecKeysMngrPtr mngr, const char* filenam
store = xmlSecKeysMngrGetKeysStore(mngr);
if(store == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecKeysMngrGetKeysStore",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeysMngrGetKeysStore", NULL);
return(-1);
}
ret = xmlSecSimpleKeysStoreSave(store, filename, type);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecSimpleKeysStoreSave",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "filename=%s",
- xmlSecErrorsSafeString(filename));
+ xmlSecInternalError2("xmlSecSimpleKeysStoreSave", NULL,
+ "filename=%s",
+ xmlSecErrorsSafeString(filename));
return(-1);
}
diff --git a/src/skeleton/crypto.c b/src/skeleton/crypto.c
index 0e372f1..e93cfd0 100644
--- a/src/skeleton/crypto.c
+++ b/src/skeleton/crypto.c
@@ -1,5 +1,5 @@
-/**
- * XMLSec library
+/*
+ * XML Security Library (http://www.aleksey.com/xmlsec).
*
* This is free software; see Copyright file in the source
* distribution for preciese wording.
@@ -244,21 +244,13 @@ int
xmlSecSkeletonInit (void) {
/* Check loaded xmlsec library version */
if(xmlSecCheckVersionExact() != 1) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecCheckVersionExact",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecCheckVersionExact", NULL);
return(-1);
}
/* register our klasses */
if(xmlSecCryptoDLFunctionsRegisterKeyDataAndTransforms(xmlSecCryptoGetFunctions_skeleton()) < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecCryptoDLFunctionsRegisterKeyDataAndTransforms",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecCryptoDLFunctionsRegisterKeyDataAndTransforms", NULL);
return(-1);
}
return(0);
diff --git a/src/skeleton/globals.h b/src/skeleton/globals.h
index 065c3e8..6e84c43 100644
--- a/src/skeleton/globals.h
+++ b/src/skeleton/globals.h
@@ -21,4 +21,7 @@
#define IN_XMLSEC_CRYPTO
#define XMLSEC_PRIVATE
+/* Include common error helper macros. */
+#include "../errors_helpers.h"
+
#endif /* ! __XMLSEC_GLOBALS_H__ */
diff --git a/src/soap.c b/src/soap.c
index 3757e1a..8c618b9 100644
--- a/src/soap.c
+++ b/src/soap.c
@@ -1,4 +1,4 @@
-/**
+/*
* XML Security Library (http://www.aleksey.com/xmlsec).
*
* Simple SOAP messages parsing/creation.
@@ -6,7 +6,7 @@
* This is free software; see Copyright file in the source
* distribution for preciese wording.
*
- * Copyright (C) 2002-2003 Aleksey Sanin <aleksey at aleksey.com>
+ * Copyright (C) 2002-2017 Aleksey Sanin <aleksey at aleksey.com>
*/
#include "globals.h"
@@ -59,23 +59,15 @@ xmlSecSoap11CreateEnvelope(xmlDocPtr doc) {
/* create Envelope node */
envNode = xmlNewDocNode(doc, NULL, xmlSecNodeEnvelope, NULL);
if(envNode == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlNewDocNode",
- XMLSEC_ERRORS_R_XML_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeEnvelope));
+ xmlSecXmlError2("xmlNewDocNode", NULL,
+ "node=%s", xmlSecErrorsSafeString(xmlSecNodeEnvelope));
return(NULL);
}
ns = xmlNewNs(envNode, xmlSecSoap11Ns, NULL) ;
if(ns == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlNewNs",
- XMLSEC_ERRORS_R_XML_FAILED,
- "ns=%s",
- xmlSecErrorsSafeString(xmlSecSoap11Ns));
+ xmlSecXmlError2("xmlNewNs", NULL,
+ "ns=%s", xmlSecErrorsSafeString(xmlSecSoap11Ns));
xmlFreeNode(envNode);
return(NULL);
}
@@ -84,12 +76,7 @@ xmlSecSoap11CreateEnvelope(xmlDocPtr doc) {
/* add required Body node */
bodyNode = xmlSecAddChild(envNode, xmlSecNodeBody, xmlSecSoap11Ns);
if(bodyNode == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecAddChild",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeBody));
+ xmlSecInternalError("xmlSecAddChild(xmlSecNodeBody)", NULL);
xmlFreeNode(envNode);
return(NULL);
}
@@ -132,22 +119,14 @@ xmlSecSoap11EnsureHeader(xmlNodePtr envNode) {
/* if the first element child is not Header then it is Body */
if((cur == NULL) || !xmlSecCheckNodeName(cur, xmlSecNodeBody, xmlSecSoap11Ns)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- xmlSecErrorsSafeString(xmlSecNodeBody),
- XMLSEC_ERRORS_R_NODE_NOT_FOUND,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInvalidNodeError(cur, xmlSecNodeBody, NULL);
return(NULL);
}
/* finally add Header node before body */
hdrNode = xmlSecAddPrevSibling(cur, xmlSecNodeHeader, xmlSecSoap11Ns);
if(hdrNode == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecAddPrevSibling",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecAddPrevSibling", NULL);
return(NULL);
}
@@ -172,11 +151,7 @@ xmlSecSoap11AddBodyEntry(xmlNodePtr envNode, xmlNodePtr entryNode) {
bodyNode = xmlSecSoap11GetBody(envNode);
if(bodyNode == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecSoap11GetBody",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecSoap11GetBody", NULL);
return(NULL);
}
@@ -232,46 +207,28 @@ xmlSecSoap11AddFaultEntry(xmlNodePtr envNode, const xmlChar* faultCodeHref,
/* get Body node */
bodyNode = xmlSecSoap11GetBody(envNode);
if(bodyNode == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecSoap11GetBody",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecSoap11GetBody", NULL);
return(NULL);
}
/* check that we don't have Fault node already */
faultNode = xmlSecFindChild(bodyNode, xmlSecNodeFault, xmlSecSoap11Ns);
if(faultNode != NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- xmlSecErrorsSafeString(xmlSecNodeBody),
- XMLSEC_ERRORS_R_NODE_ALREADY_PRESENT,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNodeAlreadyPresentError(bodyNode, xmlSecNodeFault, NULL);
return(NULL);
}
/* add Fault node */
faultNode = xmlSecAddChild(bodyNode, xmlSecNodeFault, xmlSecSoap11Ns);
if(faultNode == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecAddChild",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeFault));
+ xmlSecInternalError("xmlSecAddChild(xmlSecNodeFault)", NULL);
return(NULL);
}
/* add faultcode node */
cur = xmlSecAddChild(faultNode, xmlSecNodeFaultCode, xmlSecSoap11Ns);
if(cur == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecAddChild",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeFaultCode));
+ xmlSecInternalError("xmlSecAddChild(xmlSecNodeFaultCode)", NULL);
xmlUnlinkNode(faultNode);
xmlFreeNode(faultNode);
return(NULL);
@@ -280,12 +237,8 @@ xmlSecSoap11AddFaultEntry(xmlNodePtr envNode, const xmlChar* faultCodeHref,
/* create qname for fault code */
qname = xmlSecGetQName(cur, faultCodeHref, faultCodeLocalPart);
if(qname == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecGetQName",
- XMLSEC_ERRORS_R_XML_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(cur->name));
+ xmlSecXmlError2("xmlSecGetQName", NULL,
+ "node=%s", xmlSecErrorsSafeString(cur->name));
xmlUnlinkNode(faultNode);
xmlFreeNode(faultNode);
return(NULL);
@@ -298,12 +251,7 @@ xmlSecSoap11AddFaultEntry(xmlNodePtr envNode, const xmlChar* faultCodeHref,
/* add faultstring node */
cur = xmlSecAddChild(faultNode, xmlSecNodeFaultString, xmlSecSoap11Ns);
if(cur == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecAddChild",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeFaultString));
+ xmlSecInternalError("xmlSecAddChild(xmlSecNodeFaultString)", NULL);
xmlUnlinkNode(faultNode);
xmlFreeNode(faultNode);
return(NULL);
@@ -316,12 +264,7 @@ xmlSecSoap11AddFaultEntry(xmlNodePtr envNode, const xmlChar* faultCodeHref,
/* add faultactor node */
cur = xmlSecAddChild(faultNode, xmlSecNodeFaultActor, xmlSecSoap11Ns);
if(cur == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecAddChild",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeFaultActor));
+ xmlSecInternalError("xmlSecAddChild(xmlSecNodeFaultActor)", NULL);
xmlUnlinkNode(faultNode);
xmlFreeNode(faultNode);
return(NULL);
@@ -351,11 +294,7 @@ xmlSecSoap11CheckEnvelope(xmlNodePtr envNode) {
/* verify envNode itself */
if(!xmlSecCheckNodeName(envNode, xmlSecNodeEnvelope, xmlSecSoap11Ns)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- xmlSecErrorsSafeString(xmlSecNodeEnvelope),
- XMLSEC_ERRORS_R_NODE_NOT_FOUND,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInvalidNodeError(envNode, xmlSecNodeEnvelope, NULL);
return(0);
}
@@ -367,11 +306,7 @@ xmlSecSoap11CheckEnvelope(xmlNodePtr envNode) {
/* required Body node is next */
if((cur == NULL) || !xmlSecCheckNodeName(cur, xmlSecNodeBody, xmlSecSoap11Ns)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- xmlSecErrorsSafeString(xmlSecNodeBody),
- XMLSEC_ERRORS_R_NODE_NOT_FOUND,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInvalidNodeError(cur, xmlSecNodeBody, NULL);
return(0);
}
@@ -423,11 +358,7 @@ xmlSecSoap11GetBody(xmlNodePtr envNode) {
/* Body node is next */
if((cur == NULL) || !xmlSecCheckNodeName(cur, xmlSecNodeBody, xmlSecSoap11Ns)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- xmlSecErrorsSafeString(xmlSecNodeBody),
- XMLSEC_ERRORS_R_NODE_NOT_FOUND,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInvalidNodeError(cur, xmlSecNodeBody, NULL);
return(NULL);
}
@@ -453,11 +384,7 @@ xmlSecSoap11GetBodyEntriesNumber(xmlNodePtr envNode) {
/* get Body node */
bodyNode = xmlSecSoap11GetBody(envNode);
if(bodyNode == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecSoap11GetBody",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecSoap11GetBody", NULL);
return(0);
}
@@ -489,11 +416,7 @@ xmlSecSoap11GetBodyEntry(xmlNodePtr envNode, xmlSecSize pos) {
/* get Body node */
bodyNode = xmlSecSoap11GetBody(envNode);
if(bodyNode == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecSoap11GetBody",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecSoap11GetBody", NULL);
return(NULL);
}
@@ -523,11 +446,7 @@ xmlSecSoap11GetFaultEntry(xmlNodePtr envNode) {
/* get Body node */
bodyNode = xmlSecSoap11GetBody(envNode);
if(bodyNode == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecSoap11GetBody",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecSoap11GetBody", NULL);
return(NULL);
}
@@ -585,23 +504,15 @@ xmlSecSoap12CreateEnvelope(xmlDocPtr doc) {
/* create Envelope node */
envNode = xmlNewDocNode(doc, NULL, xmlSecNodeEnvelope, NULL);
if(envNode == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlNewDocNode",
- XMLSEC_ERRORS_R_XML_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeEnvelope));
+ xmlSecXmlError2("xmlNewDocNode", NULL,
+ "node=%s", xmlSecErrorsSafeString(xmlSecNodeEnvelope));
return(NULL);
}
ns = xmlNewNs(envNode, xmlSecSoap12Ns, NULL) ;
if(ns == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlNewNs",
- XMLSEC_ERRORS_R_XML_FAILED,
- "ns=%s",
- xmlSecErrorsSafeString(xmlSecSoap12Ns));
+ xmlSecXmlError2("xmlNewNs", NULL,
+ "ns=%s", xmlSecErrorsSafeString(xmlSecSoap12Ns));
xmlFreeNode(envNode);
return(NULL);
}
@@ -610,12 +521,7 @@ xmlSecSoap12CreateEnvelope(xmlDocPtr doc) {
/* add required Body node */
bodyNode = xmlSecAddChild(envNode, xmlSecNodeBody, xmlSecSoap12Ns);
if(bodyNode == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecAddChild",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeBody));
+ xmlSecInternalError("xmlSecAddChild(xmlSecNodeBody)", NULL);
xmlFreeNode(envNode);
return(NULL);
}
@@ -658,22 +564,14 @@ xmlSecSoap12EnsureHeader(xmlNodePtr envNode) {
/* if the first element child is not Header then it is Body */
if((cur == NULL) || !xmlSecCheckNodeName(cur, xmlSecNodeBody, xmlSecSoap12Ns)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- xmlSecErrorsSafeString(xmlSecNodeBody),
- XMLSEC_ERRORS_R_NODE_NOT_FOUND,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInvalidNodeError(cur, xmlSecNodeBody, NULL);
return(NULL);
}
/* finally add Header node before body */
hdrNode = xmlSecAddPrevSibling(cur, xmlSecNodeHeader, xmlSecSoap12Ns);
if(hdrNode == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecAddPrevSibling",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecAddPrevSibling", NULL);
return(NULL);
}
@@ -709,11 +607,7 @@ xmlSecSoap12AddBodyEntry(xmlNodePtr envNode, xmlNodePtr entryNode) {
bodyNode = xmlSecSoap12GetBody(envNode);
if(bodyNode == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecSoap12GetBody",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecSoap12GetBody", NULL);
return(NULL);
}
@@ -813,46 +707,28 @@ xmlSecSoap12AddFaultEntry(xmlNodePtr envNode, xmlSecSoap12FaultCode faultCode,
/* get Body node */
bodyNode = xmlSecSoap12GetBody(envNode);
if(bodyNode == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecSoap12GetBody",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecSoap12GetBody", NULL);
return(NULL);
}
/* check that we don't have Fault node already */
faultNode = xmlSecFindChild(bodyNode, xmlSecNodeFault, xmlSecSoap12Ns);
if(faultNode != NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- xmlSecErrorsSafeString(xmlSecNodeBody),
- XMLSEC_ERRORS_R_NODE_ALREADY_PRESENT,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNodeAlreadyPresentError(bodyNode, xmlSecNodeFault, NULL);
return(NULL);
}
/* add Fault node */
faultNode = xmlSecAddChild(bodyNode, xmlSecNodeFault, xmlSecSoap12Ns);
if(faultNode == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecAddChild",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeFault));
+ xmlSecInternalError("xmlSecAddChild(xmlSecNodeFault)", NULL);
return(NULL);
}
/* add Code node */
cur = xmlSecAddChild(faultNode, xmlSecNodeCode, xmlSecSoap12Ns);
if(cur == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecAddChild",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeCode));
+ xmlSecInternalError("xmlSecAddChild(xmlSecNodeCode)", NULL);
xmlUnlinkNode(faultNode);
xmlFreeNode(faultNode);
return(NULL);
@@ -863,12 +739,8 @@ xmlSecSoap12AddFaultEntry(xmlNodePtr envNode, xmlSecSoap12FaultCode faultCode,
xmlSecNodeValue, xmlSecSoap12Ns,
faultCode);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecQName2IntegerNodeWrite",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "faultCode=%d",
- faultCode);
+ xmlSecInternalError2("xmlSecQName2IntegerNodeWrite", NULL,
+ "faultCode=%d", faultCode);
xmlUnlinkNode(faultNode);
xmlFreeNode(faultNode);
return(NULL);
@@ -877,12 +749,7 @@ xmlSecSoap12AddFaultEntry(xmlNodePtr envNode, xmlSecSoap12FaultCode faultCode,
/* add Reason node */
cur = xmlSecAddChild(faultNode, xmlSecNodeReason, xmlSecSoap12Ns);
if(cur == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecAddChild",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeReason));
+ xmlSecInternalError("xmlSecAddChild(xmlSecNodeReason)", NULL);
xmlUnlinkNode(faultNode);
xmlFreeNode(faultNode);
return(NULL);
@@ -890,12 +757,8 @@ xmlSecSoap12AddFaultEntry(xmlNodePtr envNode, xmlSecSoap12FaultCode faultCode,
/* Add Reason/Text node */
if(xmlSecSoap12AddFaultReasonText(faultNode, faultReasonText, faultReasonLang) == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecSoap12AddFaultReasonText",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "text=%s",
- xmlSecErrorsSafeString(faultReasonText));
+ xmlSecInternalError2("xmlSecSoap12AddFaultReasonText", NULL,
+ "text=%s", xmlSecErrorsSafeString(faultReasonText));
xmlUnlinkNode(faultNode);
xmlFreeNode(faultNode);
return(NULL);
@@ -905,12 +768,7 @@ xmlSecSoap12AddFaultEntry(xmlNodePtr envNode, xmlSecSoap12FaultCode faultCode,
/* add Node node */
cur = xmlSecAddChild(faultNode, xmlSecNodeNode, xmlSecSoap12Ns);
if(cur == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecAddChild",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeNode));
+ xmlSecInternalError("xmlSecAddChild(xmlSecNodeNode)", NULL);
xmlUnlinkNode(faultNode);
xmlFreeNode(faultNode);
return(NULL);
@@ -922,12 +780,7 @@ xmlSecSoap12AddFaultEntry(xmlNodePtr envNode, xmlSecSoap12FaultCode faultCode,
/* add Role node */
cur = xmlSecAddChild(faultNode, xmlSecNodeRole, xmlSecSoap12Ns);
if(cur == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecAddChild",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeRole));
+ xmlSecInternalError("xmlSecAddChild(xmlSecNodeRole)", NULL);
xmlUnlinkNode(faultNode);
xmlFreeNode(faultNode);
return(NULL);
@@ -961,12 +814,7 @@ xmlSecSoap12AddFaultSubcode(xmlNodePtr faultNode, const xmlChar* subCodeHref, co
/* Code node is the first childern in Fault node */
cur = xmlSecGetNextElementNode(faultNode->children);
if((cur == NULL) || !xmlSecCheckNodeName(cur, xmlSecNodeCode, xmlSecSoap12Ns)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- NULL,
- XMLSEC_ERRORS_R_INVALID_NODE,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeCode));
+ xmlSecInvalidNodeError(cur, xmlSecNodeCode, NULL);
return(NULL);
}
@@ -986,24 +834,14 @@ xmlSecSoap12AddFaultSubcode(xmlNodePtr faultNode, const xmlChar* subCodeHref, co
/* add Subcode node */
subcodeNode = xmlSecAddChild(cur, xmlSecNodeSubcode, xmlSecSoap12Ns);
if(subcodeNode == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecAddChild",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeSubcode));
+ xmlSecInternalError("xmlSecAddChild(xmlSecNodeSubcode)", NULL);
return(NULL);
}
/* add Value node */
valueNode = xmlSecAddChild(subcodeNode, xmlSecNodeValue, xmlSecSoap12Ns);
if(valueNode == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecAddChild",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeValue));
+ xmlSecInternalError("xmlSecAddChild(xmlSecNodeValue)", NULL);
xmlUnlinkNode(subcodeNode);
xmlFreeNode(subcodeNode);
return(NULL);
@@ -1012,12 +850,8 @@ xmlSecSoap12AddFaultSubcode(xmlNodePtr faultNode, const xmlChar* subCodeHref, co
/* create qname for fault code */
qname = xmlSecGetQName(cur, subCodeHref, subCodeName);
if(qname == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecGetQName",
- XMLSEC_ERRORS_R_XML_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(cur->name));
+ xmlSecXmlError2("xmlSecGetQName", NULL,
+ "node=%s", xmlSecErrorsSafeString(cur->name));
xmlUnlinkNode(subcodeNode);
xmlFreeNode(subcodeNode);
return(NULL);
@@ -1056,24 +890,14 @@ xmlSecSoap12AddFaultReasonText(xmlNodePtr faultNode, const xmlChar* faultReasonT
/* find Reason node */
reasonNode = xmlSecFindChild(faultNode, xmlSecNodeReason, xmlSecSoap12Ns);
if(reasonNode == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecFindChild",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeReason));
+ xmlSecInternalError("xmlSecFindChild(xmlSecNodeReason)", NULL);
return(NULL);
}
/* add Text node */
textNode = xmlSecAddChild(reasonNode, xmlSecNodeText, xmlSecSoap12Ns);
if(textNode == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecAddChild",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeText));
+ xmlSecInternalError("xmlSecAddChild(xmlSecNodeText)", NULL);
return(NULL);
}
xmlNodeSetContent(textNode, faultReasonText);
@@ -1104,12 +928,7 @@ xmlSecSoap12AddFaultDetailEntry(xmlNodePtr faultNode, xmlNodePtr detailEntryNode
if(detailNode == NULL) {
detailNode = xmlSecAddChild(faultNode, xmlSecNodeDetail, xmlSecSoap12Ns);
if(detailNode == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecAddChild",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeDetail));
+ xmlSecInternalError("xmlSecAddChild(xmlSecNodeDetail)", NULL);
return(NULL);
}
}
@@ -1134,11 +953,7 @@ xmlSecSoap12CheckEnvelope(xmlNodePtr envNode) {
/* verify envNode itself */
if(!xmlSecCheckNodeName(envNode, xmlSecNodeEnvelope, xmlSecSoap12Ns)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- xmlSecErrorsSafeString(xmlSecNodeEnvelope),
- XMLSEC_ERRORS_R_NODE_NOT_FOUND,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInvalidNodeError(envNode, xmlSecNodeEnvelope, NULL);
return(0);
}
@@ -1150,11 +965,7 @@ xmlSecSoap12CheckEnvelope(xmlNodePtr envNode) {
/* required Body node is next */
if((cur == NULL) || !xmlSecCheckNodeName(cur, xmlSecNodeBody, xmlSecSoap12Ns)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- xmlSecErrorsSafeString(xmlSecNodeBody),
- XMLSEC_ERRORS_R_NODE_NOT_FOUND,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInvalidNodeError(cur, xmlSecNodeBody, NULL);
return(0);
}
@@ -1206,11 +1017,7 @@ xmlSecSoap12GetBody(xmlNodePtr envNode) {
/* Body node is next */
if((cur == NULL) || !xmlSecCheckNodeName(cur, xmlSecNodeBody, xmlSecSoap12Ns)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- xmlSecErrorsSafeString(xmlSecNodeBody),
- XMLSEC_ERRORS_R_NODE_NOT_FOUND,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInvalidNodeError(cur, xmlSecNodeBody, NULL);
return(NULL);
}
@@ -1236,11 +1043,7 @@ xmlSecSoap12GetBodyEntriesNumber(xmlNodePtr envNode) {
/* get Body node */
bodyNode = xmlSecSoap12GetBody(envNode);
if(bodyNode == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecSoap12GetBody",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecSoap12GetBody", NULL);
return(0);
}
@@ -1272,11 +1075,7 @@ xmlSecSoap12GetBodyEntry(xmlNodePtr envNode, xmlSecSize pos) {
/* get Body node */
bodyNode = xmlSecSoap12GetBody(envNode);
if(bodyNode == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecSoap12GetBody",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecSoap12GetBody", NULL);
return(NULL);
}
@@ -1306,11 +1105,7 @@ xmlSecSoap12GetFaultEntry(xmlNodePtr envNode) {
/* get Body node */
bodyNode = xmlSecSoap12GetBody(envNode);
if(bodyNode == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecSoap12GetBody",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecSoap12GetBody", NULL);
return(NULL);
}
diff --git a/src/strings.c b/src/strings.c
index 8a62133..98e7154 100644
--- a/src/strings.c
+++ b/src/strings.c
@@ -1,4 +1,4 @@
-/**
+/*
* XML Security Library (http://www.aleksey.com/xmlsec).
*
* All the string constants.
diff --git a/src/templates.c b/src/templates.c
index 374917c..8897ebe 100644
--- a/src/templates.c
+++ b/src/templates.c
@@ -1,4 +1,4 @@
-/**
+/*
* XML Security Library (http://www.aleksey.com/xmlsec).
*
* Creating signature and encryption templates.
@@ -103,23 +103,15 @@ xmlSecTmplSignatureCreateNsPref(xmlDocPtr doc, xmlSecTransformId c14nMethodId,
/* create Signature node itself */
signNode = xmlNewDocNode(doc, NULL, xmlSecNodeSignature, NULL);
if(signNode == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlNewDocNode",
- XMLSEC_ERRORS_R_XML_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeSignature));
+ xmlSecXmlError2("xmlNewDocNode", NULL,
+ "node=%s", xmlSecErrorsSafeString(xmlSecNodeSignature));
return(NULL);
}
ns = xmlNewNs(signNode, xmlSecDSigNs, nsPrefix);
if(ns == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlNewNs",
- XMLSEC_ERRORS_R_XML_FAILED,
- "ns=%s",
- xmlSecErrorsSafeString(xmlSecDSigNs));
+ xmlSecXmlError2("xmlNewNs", NULL,
+ "ns=%s", xmlSecErrorsSafeString(xmlSecDSigNs));
xmlFreeNode(signNode);
return(NULL);
}
@@ -132,12 +124,7 @@ xmlSecTmplSignatureCreateNsPref(xmlDocPtr doc, xmlSecTransformId c14nMethodId,
/* add SignedInfo node */
signedInfoNode = xmlSecAddChild(signNode, xmlSecNodeSignedInfo, xmlSecDSigNs);
if(signedInfoNode == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecAddChild",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeSignedInfo));
+ xmlSecInternalError("xmlSecAddChild(xmlSecNodeSignedInfo)", NULL);
xmlFreeNode(signNode);
return(NULL);
}
@@ -145,12 +132,7 @@ xmlSecTmplSignatureCreateNsPref(xmlDocPtr doc, xmlSecTransformId c14nMethodId,
/* add SignatureValue node */
cur = xmlSecAddChild(signNode, xmlSecNodeSignatureValue, xmlSecDSigNs);
if(cur == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecAddChild",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeSignatureValue));
+ xmlSecInternalError("xmlSecAddChild(xmlSecNodeSignatureValue)", NULL);
xmlFreeNode(signNode);
return(NULL);
}
@@ -158,23 +140,13 @@ xmlSecTmplSignatureCreateNsPref(xmlDocPtr doc, xmlSecTransformId c14nMethodId,
/* add CanonicaizationMethod node to SignedInfo */
cur = xmlSecAddChild(signedInfoNode, xmlSecNodeCanonicalizationMethod, xmlSecDSigNs);
if(cur == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecAddChild",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeCanonicalizationMethod));
+ xmlSecInternalError("xmlSecAddChild(xmlSecNodeCanonicalizationMethod)", NULL);
xmlFreeNode(signNode);
return(NULL);
}
if(xmlSetProp(cur, xmlSecAttrAlgorithm, c14nMethodId->href) == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSetProp",
- XMLSEC_ERRORS_R_XML_FAILED,
- "name=%s,value=%s",
- xmlSecErrorsSafeString(xmlSecAttrAlgorithm),
- xmlSecErrorsSafeString(c14nMethodId->href));
+ xmlSecXmlError2("xmlSetProp", NULL,
+ "name=%s", xmlSecErrorsSafeString(xmlSecAttrAlgorithm));
xmlFreeNode(signNode);
return(NULL);
}
@@ -182,23 +154,13 @@ xmlSecTmplSignatureCreateNsPref(xmlDocPtr doc, xmlSecTransformId c14nMethodId,
/* add SignatureMethod node to SignedInfo */
cur = xmlSecAddChild(signedInfoNode, xmlSecNodeSignatureMethod, xmlSecDSigNs);
if(cur == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecAddChild",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeSignatureMethod));
+ xmlSecInternalError("xmlSecAddChild(xmlSecNodeSignatureMethod)", NULL);
xmlFreeNode(signNode);
return(NULL);
}
if(xmlSetProp(cur, xmlSecAttrAlgorithm, signMethodId->href) == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSetProp",
- XMLSEC_ERRORS_R_XML_FAILED,
- "name=%s,value=%s",
- xmlSecErrorsSafeString(xmlSecAttrAlgorithm),
- xmlSecErrorsSafeString(signMethodId->href));
+ xmlSecXmlError2("xmlSetProp", NULL,
+ "name=%s", xmlSecErrorsSafeString(xmlSecAttrAlgorithm));
xmlFreeNode(signNode);
return(NULL);
}
@@ -229,22 +191,14 @@ xmlSecTmplSignatureEnsureKeyInfo(xmlNodePtr signNode, const xmlChar *id) {
signValueNode = xmlSecFindChild(signNode, xmlSecNodeSignatureValue, xmlSecDSigNs);
if(signValueNode == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- xmlSecErrorsSafeString(xmlSecNodeSignatureValue),
- XMLSEC_ERRORS_R_NODE_NOT_FOUND,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNodeNotFoundError("xmlSecFindChild", signNode,
+ xmlSecNodeSignatureValue, NULL);
return(NULL);
}
res = xmlSecAddNextSibling(signValueNode, xmlSecNodeKeyInfo, xmlSecDSigNs);
if(res == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecAddNextSibling",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeKeyInfo));
+ xmlSecInternalError("xmlSecAddNextSibling(xmlSecNodeKeyInfo)", NULL);
return(NULL);
}
}
@@ -280,11 +234,8 @@ xmlSecTmplSignatureAddReference(xmlNodePtr signNode, xmlSecTransformId digestMet
signedInfoNode = xmlSecFindChild(signNode, xmlSecNodeSignedInfo, xmlSecDSigNs);
if(signedInfoNode == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- xmlSecErrorsSafeString(xmlSecNodeSignedInfo),
- XMLSEC_ERRORS_R_NODE_NOT_FOUND,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNodeNotFoundError("xmlSecFindChild", signNode,
+ xmlSecNodeSignedInfo, NULL);
return(NULL);
}
@@ -304,12 +255,7 @@ xmlSecTmplAddReference(xmlNodePtr parentNode, xmlSecTransformId digestMethodId,
/* add Reference node */
res = xmlSecAddChild(parentNode, xmlSecNodeReference, xmlSecDSigNs);
if(res == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecAddChild",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeReference));
+ xmlSecInternalError("xmlSecAddChild(xmlSecNodeReference)", NULL);
return(NULL);
}
@@ -327,24 +273,14 @@ xmlSecTmplAddReference(xmlNodePtr parentNode, xmlSecTransformId digestMethodId,
/* add DigestMethod node and set algorithm */
cur = xmlSecAddChild(res, xmlSecNodeDigestMethod, xmlSecDSigNs);
if(cur == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecAddChild",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeDigestMethod));
+ xmlSecInternalError("xmlSecAddChild(xmlSecNodeDigestMethod)", NULL);
xmlUnlinkNode(res);
xmlFreeNode(res);
return(NULL);
}
if(xmlSetProp(cur, xmlSecAttrAlgorithm, digestMethodId->href) == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSetProp",
- XMLSEC_ERRORS_R_XML_FAILED,
- "name=%s,value=%s",
- xmlSecErrorsSafeString(xmlSecAttrAlgorithm),
- xmlSecErrorsSafeString(digestMethodId->href));
+ xmlSecXmlError2("xmlSetProp", NULL,
+ "name=%s", xmlSecErrorsSafeString(xmlSecAttrAlgorithm));
xmlUnlinkNode(res);
xmlFreeNode(res);
return(NULL);
@@ -353,12 +289,7 @@ xmlSecTmplAddReference(xmlNodePtr parentNode, xmlSecTransformId digestMethodId,
/* add DigestValue node */
cur = xmlSecAddChild(res, xmlSecNodeDigestValue, xmlSecDSigNs);
if(cur == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecAddChild",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeDigestValue));
+ xmlSecInternalError("xmlSecAddChild(xmlSecNodeDigestValue)", NULL);
xmlUnlinkNode(res);
xmlFreeNode(res);
return(NULL);
@@ -388,12 +319,7 @@ xmlSecTmplSignatureAddObject(xmlNodePtr signNode, const xmlChar *id,
res = xmlSecAddChild(signNode, xmlSecNodeObject, xmlSecDSigNs);
if(res == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecAddChild",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeObject));
+ xmlSecInternalError("xmlSecAddChild(xmlSecNodeObject)", NULL);
return(NULL);
}
if(id != NULL) {
@@ -424,11 +350,8 @@ xmlSecTmplSignatureGetSignMethodNode(xmlNodePtr signNode) {
signedInfoNode = xmlSecFindChild(signNode, xmlSecNodeSignedInfo, xmlSecDSigNs);
if(signedInfoNode == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- xmlSecErrorsSafeString(xmlSecNodeSignedInfo),
- XMLSEC_ERRORS_R_NODE_NOT_FOUND,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNodeNotFoundError("xmlSecFindChild", signNode,
+ xmlSecNodeSignedInfo, NULL);
return(NULL);
}
return(xmlSecFindChild(signedInfoNode, xmlSecNodeSignatureMethod, xmlSecDSigNs));
@@ -450,11 +373,8 @@ xmlSecTmplSignatureGetC14NMethodNode(xmlNodePtr signNode) {
signedInfoNode = xmlSecFindChild(signNode, xmlSecNodeSignedInfo, xmlSecDSigNs);
if(signedInfoNode == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- xmlSecErrorsSafeString(xmlSecNodeSignedInfo),
- XMLSEC_ERRORS_R_NODE_NOT_FOUND,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNodeNotFoundError("xmlSecFindChild", signNode,
+ xmlSecNodeSignedInfo, NULL);
return(NULL);
}
return(xmlSecFindChild(signedInfoNode, xmlSecNodeCanonicalizationMethod, xmlSecDSigNs));
@@ -491,35 +411,20 @@ xmlSecTmplReferenceAddTransform(xmlNodePtr referenceNode, xmlSecTransformId tran
transformsNode = xmlSecAddPrevSibling(tmp, xmlSecNodeTransforms, xmlSecDSigNs);
}
if(transformsNode == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecAddChild or xmlSecAddPrevSibling",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeTransforms));
+ xmlSecInternalError("xmlSecAddChild or xmlSecAddPrevSibling(xmlSecNodeTransforms)", NULL);
return(NULL);
}
}
res = xmlSecAddChild(transformsNode, xmlSecNodeTransform, xmlSecDSigNs);
if(res == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecAddChild",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeTransform));
+ xmlSecInternalError("xmlSecAddChild(xmlSecNodeTransform)", NULL);
return(NULL);
}
if(xmlSetProp(res, xmlSecAttrAlgorithm, transformId->href) == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSetProp",
- XMLSEC_ERRORS_R_XML_FAILED,
- "name=%s,value=%s",
- xmlSecErrorsSafeString(xmlSecAttrAlgorithm),
- xmlSecErrorsSafeString(transformId->href));
+ xmlSecXmlError2("xmlSetProp", NULL,
+ "name=%s", xmlSecErrorsSafeString(xmlSecAttrAlgorithm));
xmlUnlinkNode(res);
xmlFreeNode(res);
return(NULL);
@@ -547,12 +452,7 @@ xmlSecTmplObjectAddSignProperties(xmlNodePtr objectNode, const xmlChar *id, cons
res = xmlSecAddChild(objectNode, xmlSecNodeSignatureProperties, xmlSecDSigNs);
if(res == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecAddChild",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeSignatureProperties));
+ xmlSecInternalError("xmlSecAddChild(xmlSecNodeSignatureProperties)", NULL);
return(NULL);
}
if(id != NULL) {
@@ -582,12 +482,7 @@ xmlSecTmplObjectAddManifest(xmlNodePtr objectNode, const xmlChar *id) {
res = xmlSecAddChild(objectNode, xmlSecNodeManifest, xmlSecDSigNs);
if(res == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecAddChild",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeManifest));
+ xmlSecInternalError("xmlSecAddChild(xmlSecNodeManifest)", NULL);
return(NULL);
}
if(id != NULL) {
@@ -647,23 +542,15 @@ xmlSecTmplEncDataCreate(xmlDocPtr doc, xmlSecTransformId encMethodId,
encNode = xmlNewDocNode(doc, NULL, xmlSecNodeEncryptedData, NULL);
if(encNode == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlNewDocNode",
- XMLSEC_ERRORS_R_XML_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeEncryptedData));
+ xmlSecXmlError2("xmlNewDocNode", NULL,
+ "node=%s", xmlSecErrorsSafeString(xmlSecNodeEncryptedData));
return(NULL);
}
ns = xmlNewNs(encNode, xmlSecEncNs, NULL);
if(ns == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlNewNs",
- XMLSEC_ERRORS_R_XML_FAILED,
- "ns=%s",
- xmlSecErrorsSafeString(xmlSecEncNs));
+ xmlSecXmlError2("xmlNewNs", NULL,
+ "ns=%s", xmlSecErrorsSafeString(xmlSecEncNs));
return(NULL);
}
xmlSetNs(encNode, ns);
@@ -699,22 +586,12 @@ xmlSecTmplPrepareEncData(xmlNodePtr parentNode, xmlSecTransformId encMethodId) {
if(encMethodId != NULL) {
cur = xmlSecAddChild(parentNode, xmlSecNodeEncryptionMethod, xmlSecEncNs);
if(cur == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecAddChild",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeEncryptionMethod));
+ xmlSecInternalError("xmlSecAddChild(xmlSecNodeEncryptionMethod)", NULL);
return(-1);
}
if(xmlSetProp(cur, xmlSecAttrAlgorithm, encMethodId->href) == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSetProp",
- XMLSEC_ERRORS_R_XML_FAILED,
- "name=%s,value=%s",
- xmlSecErrorsSafeString(xmlSecAttrAlgorithm),
- xmlSecErrorsSafeString(encMethodId->href));
+ xmlSecXmlError2("xmlSetProp", NULL,
+ "name=%s", xmlSecErrorsSafeString(xmlSecAttrAlgorithm));
return(-1);
}
}
@@ -722,12 +599,7 @@ xmlSecTmplPrepareEncData(xmlNodePtr parentNode, xmlSecTransformId encMethodId) {
/* and CipherData node */
cur = xmlSecAddChild(parentNode, xmlSecNodeCipherData, xmlSecEncNs);
if(cur == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecAddChild",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeCipherData));
+ xmlSecInternalError("xmlSecAddChild(xmlSecNodeCipherData)", NULL);
return(-1);
}
@@ -757,22 +629,14 @@ xmlSecTmplEncDataEnsureKeyInfo(xmlNodePtr encNode, const xmlChar* id) {
cipherDataNode = xmlSecFindChild(encNode, xmlSecNodeCipherData, xmlSecEncNs);
if(cipherDataNode == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- xmlSecErrorsSafeString(xmlSecNodeCipherData),
- XMLSEC_ERRORS_R_NODE_NOT_FOUND,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNodeNotFoundError("xmlSecFindChild", encNode,
+ xmlSecNodeCipherData, NULL);
return(NULL);
}
res = xmlSecAddPrevSibling(cipherDataNode, xmlSecNodeKeyInfo, xmlSecDSigNs);
if(res == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecAddPrevSibling",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeKeyInfo));
+ xmlSecInternalError("xmlSecAddPrevSibling(xmlSecNodeKeyInfo)", NULL);
return(NULL);
}
}
@@ -803,12 +667,7 @@ xmlSecTmplEncDataEnsureEncProperties(xmlNodePtr encNode, const xmlChar *id) {
if(res == NULL) {
res = xmlSecAddChild(encNode, xmlSecNodeEncryptionProperties, xmlSecEncNs);
if(res == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecAddChild",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeEncryptionProperties));
+ xmlSecInternalError("xmlSecAddChild(xmlSecNodeEncryptionProperties)", NULL);
return(NULL);
}
}
@@ -842,22 +701,13 @@ xmlSecTmplEncDataAddEncProperty(xmlNodePtr encNode, const xmlChar *id, const xml
encProps = xmlSecTmplEncDataEnsureEncProperties(encNode, NULL);
if(encProps == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecTmplEncDataEnsureEncProperties",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecTmplEncDataEnsureEncProperties", NULL);
return(NULL);
}
res = xmlSecAddChild(encProps, xmlSecNodeEncryptionProperty, xmlSecEncNs);
if(res == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecAddChild",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeEncryptionProperty));
+ xmlSecInternalError("xmlSecAddChild(xmlSecNodeEncryptionProperty)", NULL);
return(NULL);
}
if(id != NULL) {
@@ -888,22 +738,15 @@ xmlSecTmplEncDataEnsureCipherValue(xmlNodePtr encNode) {
cipherDataNode = xmlSecFindChild(encNode, xmlSecNodeCipherData, xmlSecEncNs);
if(cipherDataNode == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- xmlSecErrorsSafeString(xmlSecNodeCipherData),
- XMLSEC_ERRORS_R_NODE_NOT_FOUND,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNodeNotFoundError("xmlSecFindChild", encNode,
+ xmlSecNodeCipherData, NULL);
return(NULL);
}
/* check that we don;t have CipherReference node */
tmp = xmlSecFindChild(cipherDataNode, xmlSecNodeCipherReference, xmlSecEncNs);
if(tmp != NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- xmlSecErrorsSafeString(xmlSecNodeCipherReference),
- XMLSEC_ERRORS_R_NODE_ALREADY_PRESENT,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNodeAlreadyPresentError(cipherDataNode, xmlSecNodeCipherReference, NULL);
return(NULL);
}
@@ -911,12 +754,7 @@ xmlSecTmplEncDataEnsureCipherValue(xmlNodePtr encNode) {
if(res == NULL) {
res = xmlSecAddChild(cipherDataNode, xmlSecNodeCipherValue, xmlSecEncNs);
if(res == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecAddChild",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeCipherValue));
+ xmlSecInternalError("xmlSecAddChild(xmlSecNodeCipherValue)", NULL);
return(NULL);
}
}
@@ -944,22 +782,15 @@ xmlSecTmplEncDataEnsureCipherReference(xmlNodePtr encNode, const xmlChar *uri) {
cipherDataNode = xmlSecFindChild(encNode, xmlSecNodeCipherData, xmlSecEncNs);
if(cipherDataNode == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- xmlSecErrorsSafeString(xmlSecNodeCipherData),
- XMLSEC_ERRORS_R_NODE_NOT_FOUND,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNodeNotFoundError("xmlSecFindChild", encNode,
+ xmlSecNodeCipherData, NULL);
return(NULL);
}
/* check that we don;t have CipherValue node */
tmp = xmlSecFindChild(cipherDataNode, xmlSecNodeCipherValue, xmlSecEncNs);
if(tmp != NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- xmlSecErrorsSafeString(xmlSecNodeCipherValue),
- XMLSEC_ERRORS_R_NODE_ALREADY_PRESENT,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNodeAlreadyPresentError(cipherDataNode, xmlSecNodeCipherValue, NULL);
return(NULL);
}
@@ -967,12 +798,7 @@ xmlSecTmplEncDataEnsureCipherReference(xmlNodePtr encNode, const xmlChar *uri) {
if(res == NULL) {
res = xmlSecAddChild(cipherDataNode, xmlSecNodeCipherReference, xmlSecEncNs);
if(res == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecAddChild",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeCipherReference));
+ xmlSecInternalError("xmlSecAddChild(xmlSecNodeCipherReference)", NULL);
return(NULL);
}
}
@@ -1025,35 +851,20 @@ xmlSecTmplCipherReferenceAddTransform(xmlNodePtr cipherReferenceNode,
if(transformsNode == NULL) {
transformsNode = xmlSecAddChild(cipherReferenceNode, xmlSecNodeTransforms, xmlSecEncNs);
if(transformsNode == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecAddChild",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeTransforms));
+ xmlSecInternalError("xmlSecAddChild(xmlSecNodeTransforms)", NULL);
return(NULL);
}
}
res = xmlSecAddChild(transformsNode, xmlSecNodeTransform, xmlSecDSigNs);
if(res == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecAddChild",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeTransform));
+ xmlSecInternalError("xmlSecAddChild(xmlSecNodeTransform)", NULL);
return(NULL);
}
if(xmlSetProp(res, xmlSecAttrAlgorithm, transformId->href) == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSetProp",
- XMLSEC_ERRORS_R_XML_FAILED,
- "name=%s,value=%s",
- xmlSecErrorsSafeString(xmlSecAttrAlgorithm),
- xmlSecErrorsSafeString(transformId->href));
+ xmlSecXmlError2("xmlSetProp", NULL,
+ "name=%s", xmlSecErrorsSafeString(xmlSecAttrAlgorithm));
xmlUnlinkNode(res);
xmlFreeNode(res);
return(NULL);
@@ -1089,36 +900,21 @@ xmlSecTmplReferenceListAddDataReference(xmlNodePtr encNode, const xmlChar *uri)
if(refListNode == NULL) {
refListNode = xmlSecAddChild(encNode, xmlSecNodeReferenceList, xmlSecEncNs);
if(refListNode == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecAddChild",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeReferenceList));
+ xmlSecInternalError("xmlSecAddChild(xmlSecNodeReferenceList)", NULL);
return(NULL);
}
}
res = xmlSecAddChild(refListNode, xmlSecNodeDataReference, xmlSecEncNs);
if(res == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecAddChild",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeDataReference));
+ xmlSecInternalError("xmlSecAddChild(xmlSecNodeDataReference)", NULL);
return(NULL);
}
if(uri != NULL) {
if(xmlSetProp(res, xmlSecAttrURI, uri) == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSetProp",
- XMLSEC_ERRORS_R_XML_FAILED,
- "name=%s,value=%s",
- xmlSecErrorsSafeString(xmlSecAttrURI),
- xmlSecErrorsSafeString(uri));
+ xmlSecXmlError2("xmlSetProp", NULL,
+ "name=%s", xmlSecErrorsSafeString(xmlSecAttrURI));
xmlUnlinkNode(res);
xmlFreeNode(res);
return(NULL);
@@ -1148,36 +944,21 @@ xmlSecTmplReferenceListAddKeyReference(xmlNodePtr encNode, const xmlChar *uri) {
if(refListNode == NULL) {
refListNode = xmlSecAddChild(encNode, xmlSecNodeReferenceList, xmlSecEncNs);
if(refListNode == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecAddChild",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeReferenceList));
+ xmlSecInternalError("xmlSecAddChild(xmlSecNodeReferenceList)", NULL);
return(NULL);
}
}
res = xmlSecAddChild(refListNode, xmlSecNodeKeyReference, xmlSecEncNs);
if(res == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecAddChild",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeKeyReference));
+ xmlSecInternalError("xmlSecAddChild(xmlSecNodeKeyReference)", NULL);
return(NULL);
}
if(uri != NULL) {
if(xmlSetProp(res, xmlSecAttrURI, uri) == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSetProp",
- XMLSEC_ERRORS_R_XML_FAILED,
- "name=%s,value=%s",
- xmlSecErrorsSafeString(xmlSecAttrURI),
- xmlSecErrorsSafeString(uri));
+ xmlSecXmlError2("xmlSetProp", NULL,
+ "name=%s", xmlSecErrorsSafeString(xmlSecAttrURI));
xmlUnlinkNode(res);
xmlFreeNode(res);
return(NULL);
@@ -1207,21 +988,21 @@ xmlSecTmplReferenceListAddKeyReference(xmlNodePtr encNode, const xmlChar *uri) {
xmlNodePtr
xmlSecTmplKeyInfoAddKeyName(xmlNodePtr keyInfoNode, const xmlChar* name) {
xmlNodePtr res;
+ int ret;
xmlSecAssert2(keyInfoNode != NULL, NULL);
res = xmlSecAddChild(keyInfoNode, xmlSecNodeKeyName, xmlSecDSigNs);
if(res == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecAddChild",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeKeyName));
+ xmlSecInternalError("xmlSecAddChild(xmlSecNodeKeyName)", NULL);
return(NULL);
}
if(name != NULL) {
- xmlSecNodeEncodeAndSetContent(res, name);
+ ret = xmlSecNodeEncodeAndSetContent(res, name);
+ if(ret < 0) {
+ xmlSecInternalError("xmlSecNodeEncodeAndSetContent", NULL);
+ return(NULL);
+ }
}
return(res);
}
@@ -1243,12 +1024,7 @@ xmlSecTmplKeyInfoAddKeyValue(xmlNodePtr keyInfoNode) {
res = xmlSecAddChild(keyInfoNode, xmlSecNodeKeyValue, xmlSecDSigNs);
if(res == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecAddChild",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeKeyValue));
+ xmlSecInternalError("xmlSecAddChild(xmlSecNodeKeyValue)", NULL);
return(NULL);
}
@@ -1272,12 +1048,7 @@ xmlSecTmplKeyInfoAddX509Data(xmlNodePtr keyInfoNode) {
res = xmlSecAddChild(keyInfoNode, xmlSecNodeX509Data, xmlSecDSigNs);
if(res == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecAddChild",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeX509Data));
+ xmlSecInternalError("xmlSecAddChild(xmlSecNodeX509Data)", NULL);
return(NULL);
}
@@ -1304,12 +1075,7 @@ xmlSecTmplKeyInfoAddRetrievalMethod(xmlNodePtr keyInfoNode, const xmlChar *uri,
res = xmlSecAddChild(keyInfoNode, xmlSecNodeRetrievalMethod, xmlSecDSigNs);
if(res == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecAddChild",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeRetrievalMethod));
+ xmlSecInternalError("xmlSecAddChild(xmlSecNodeRetrievalMethod)", NULL);
return(NULL);
}
@@ -1346,35 +1112,20 @@ xmlSecTmplRetrievalMethodAddTransform(xmlNodePtr retrMethodNode, xmlSecTransform
if(transformsNode == NULL) {
transformsNode = xmlSecAddChild(retrMethodNode, xmlSecNodeTransforms, xmlSecDSigNs);
if(transformsNode == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecAddChild",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeTransforms));
+ xmlSecInternalError("xmlSecAddChild(xmlSecNodeTransforms)", NULL);
return(NULL);
}
}
res = xmlSecAddChild(transformsNode, xmlSecNodeTransform, xmlSecDSigNs);
if(res == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecAddChild",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeTransform));
+ xmlSecInternalError("xmlSecAddChild(xmlSecNodeTransform)", NULL);
return(NULL);
}
if(xmlSetProp(res, xmlSecAttrAlgorithm, transformId->href) == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSetProp",
- XMLSEC_ERRORS_R_XML_FAILED,
- "name=%s,value=%s",
- xmlSecErrorsSafeString(xmlSecAttrAlgorithm),
- xmlSecErrorsSafeString(transformId->href));
+ xmlSecXmlError2("xmlSetProp", NULL,
+ "name=%s", xmlSecErrorsSafeString(xmlSecAttrAlgorithm));
xmlUnlinkNode(res);
xmlFreeNode(res);
return(NULL);
@@ -1408,12 +1159,7 @@ xmlSecTmplKeyInfoAddEncryptedKey(xmlNodePtr keyInfoNode, xmlSecTransformId encMe
/* we allow multiple encrypted key elements */
encKeyNode = xmlSecAddChild(keyInfoNode, xmlSecNodeEncryptedKey, xmlSecEncNs);
if(encKeyNode == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecAddChild",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeEncryptedKey));
+ xmlSecInternalError("xmlSecAddChild(xmlSecNodeEncryptedKey)", NULL);
return(NULL);
}
@@ -1458,22 +1204,13 @@ xmlSecTmplX509DataAddIssuerSerial(xmlNodePtr x509DataNode) {
cur = xmlSecFindChild(x509DataNode, xmlSecNodeX509IssuerSerial, xmlSecDSigNs);
if(cur != NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- xmlSecErrorsSafeString(xmlSecNodeX509IssuerSerial),
- XMLSEC_ERRORS_R_NODE_ALREADY_PRESENT,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNodeAlreadyPresentError(x509DataNode, xmlSecNodeX509IssuerSerial, NULL);
return(NULL);
}
cur = xmlSecAddChild(x509DataNode, xmlSecNodeX509IssuerSerial, xmlSecDSigNs);
if(cur == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecAddChild",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeX509IssuerSerial));
+ xmlSecInternalError("xmlSecAddChild(xmlSecNodeX509IssuerSerial)", NULL);
return(NULL);
}
@@ -1492,35 +1229,29 @@ xmlSecTmplX509DataAddIssuerSerial(xmlNodePtr x509DataNode) {
*/
xmlNodePtr
xmlSecTmplX509IssuerSerialAddIssuerName(xmlNodePtr x509IssuerSerialNode, const xmlChar* issuerName) {
- xmlNodePtr res;
-
- xmlSecAssert2(x509IssuerSerialNode != NULL, NULL);
+ xmlNodePtr res;
+ int ret;
- if(xmlSecFindChild(x509IssuerSerialNode, xmlSecNodeX509IssuerName,
- xmlSecDSigNs) != NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- xmlSecErrorsSafeString(xmlSecNodeX509IssuerName),
- XMLSEC_ERRORS_R_NODE_ALREADY_PRESENT,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecAssert2(x509IssuerSerialNode != NULL, NULL);
+ if(xmlSecFindChild(x509IssuerSerialNode, xmlSecNodeX509IssuerName, xmlSecDSigNs) != NULL) {
+ xmlSecNodeAlreadyPresentError(x509IssuerSerialNode, xmlSecNodeX509IssuerName, NULL);
return(NULL);
- }
+ }
- res = xmlSecAddChild(x509IssuerSerialNode, xmlSecNodeX509IssuerName, xmlSecDSigNs);
+ res = xmlSecAddChild(x509IssuerSerialNode, xmlSecNodeX509IssuerName, xmlSecDSigNs);
if(res == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecAddChild",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeX509IssuerName));
+ xmlSecInternalError("xmlSecAddChild(xmlSecNodeX509IssuerName)", NULL);
return(NULL);
}
- if (issuerName != NULL) {
- xmlSecNodeEncodeAndSetContent(res, issuerName);
- }
- return(res);
+ if (issuerName != NULL) {
+ ret = xmlSecNodeEncodeAndSetContent(res, issuerName);
+ if(ret < 0) {
+ xmlSecInternalError("xmlSecNodeEncodeAndSetContent", NULL);
+ return(NULL);
+ }
+ }
+ return(res);
}
/**
@@ -1535,35 +1266,30 @@ xmlSecTmplX509IssuerSerialAddIssuerName(xmlNodePtr x509IssuerSerialNode, const x
*/
xmlNodePtr
xmlSecTmplX509IssuerSerialAddSerialNumber(xmlNodePtr x509IssuerSerialNode, const xmlChar* serial) {
- xmlNodePtr res;
-
- xmlSecAssert2(x509IssuerSerialNode != NULL, NULL);
-
- if(xmlSecFindChild(x509IssuerSerialNode, xmlSecNodeX509SerialNumber,
- xmlSecDSigNs) != NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- xmlSecErrorsSafeString(xmlSecNodeX509SerialNumber),
- XMLSEC_ERRORS_R_NODE_ALREADY_PRESENT,
- XMLSEC_ERRORS_NO_MESSAGE);
- return(NULL);
- }
+ xmlNodePtr res;
+ int ret;
- res = xmlSecAddChild(x509IssuerSerialNode, xmlSecNodeX509SerialNumber, xmlSecDSigNs);
- if(res == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecAddChild",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeX509SerialNumber));
- return(NULL);
- }
+ xmlSecAssert2(x509IssuerSerialNode != NULL, NULL);
- if (serial != NULL) {
- xmlSecNodeEncodeAndSetContent(res, serial);
+ if(xmlSecFindChild(x509IssuerSerialNode, xmlSecNodeX509SerialNumber, xmlSecDSigNs) != NULL) {
+ xmlSecNodeAlreadyPresentError(x509IssuerSerialNode, xmlSecNodeX509SerialNumber, NULL);
+ return(NULL);
+ }
+
+ res = xmlSecAddChild(x509IssuerSerialNode, xmlSecNodeX509SerialNumber, xmlSecDSigNs);
+ if(res == NULL) {
+ xmlSecInternalError("xmlSecAddChild(xmlSecNodeX509SerialNumber)", NULL);
+ return(NULL);
+ }
+
+ if (serial != NULL) {
+ ret = xmlSecNodeEncodeAndSetContent(res, serial);
+ if(ret < 0) {
+ xmlSecInternalError("xmlSecNodeEncodeAndSetContent", NULL);
+ return(NULL);
}
- return(res);
+ }
+ return(res);
}
/**
@@ -1584,22 +1310,13 @@ xmlSecTmplX509DataAddSubjectName(xmlNodePtr x509DataNode) {
cur = xmlSecFindChild(x509DataNode, xmlSecNodeX509SubjectName, xmlSecDSigNs);
if(cur != NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- xmlSecErrorsSafeString(xmlSecNodeX509SubjectName),
- XMLSEC_ERRORS_R_NODE_ALREADY_PRESENT,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNodeAlreadyPresentError(x509DataNode, xmlSecNodeX509SubjectName, NULL);
return(NULL);
}
cur = xmlSecAddChild(x509DataNode, xmlSecNodeX509SubjectName, xmlSecDSigNs);
if(cur == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecAddChild",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeX509SubjectName));
+ xmlSecInternalError("xmlSecAddChild(xmlSecNodeX509SubjectName)", NULL);
return(NULL);
}
@@ -1624,22 +1341,13 @@ xmlSecTmplX509DataAddSKI(xmlNodePtr x509DataNode) {
cur = xmlSecFindChild(x509DataNode, xmlSecNodeX509SKI, xmlSecDSigNs);
if(cur != NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- xmlSecErrorsSafeString(xmlSecNodeX509SKI),
- XMLSEC_ERRORS_R_NODE_ALREADY_PRESENT,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNodeAlreadyPresentError(x509DataNode, xmlSecNodeX509SKI, NULL);
return(NULL);
}
cur = xmlSecAddChild(x509DataNode, xmlSecNodeX509SKI, xmlSecDSigNs);
if(cur == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecAddChild",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeX509SKI));
+ xmlSecInternalError("xmlSecAddChild(xmlSecNodeX509SKI)", NULL);
return(NULL);
}
@@ -1665,22 +1373,13 @@ xmlSecTmplX509DataAddCertificate(xmlNodePtr x509DataNode) {
cur = xmlSecFindChild(x509DataNode, xmlSecNodeX509Certificate, xmlSecDSigNs);
if(cur != NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- xmlSecErrorsSafeString(xmlSecNodeX509Certificate),
- XMLSEC_ERRORS_R_NODE_ALREADY_PRESENT,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNodeAlreadyPresentError(x509DataNode, xmlSecNodeX509Certificate, NULL);
return(NULL);
}
cur = xmlSecAddChild(x509DataNode, xmlSecNodeX509Certificate, xmlSecDSigNs);
if(cur == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecAddChild",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeX509Certificate));
+ xmlSecInternalError("xmlSecAddChild(xmlSecNodeX509Certificate)", NULL);
return(NULL);
}
@@ -1705,22 +1404,13 @@ xmlSecTmplX509DataAddCRL(xmlNodePtr x509DataNode) {
cur = xmlSecFindChild(x509DataNode, xmlSecNodeX509CRL, xmlSecDSigNs);
if(cur != NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- xmlSecErrorsSafeString(xmlSecNodeX509CRL),
- XMLSEC_ERRORS_R_NODE_ALREADY_PRESENT,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNodeAlreadyPresentError(x509DataNode, xmlSecNodeX509CRL, NULL);
return(NULL);
}
cur = xmlSecAddChild(x509DataNode, xmlSecNodeX509CRL, xmlSecDSigNs);
if(cur == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecAddChild",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeX509CRL));
+ xmlSecInternalError("xmlSecAddChild(xmlSecNodeX509CRL)", NULL);
return(NULL);
}
@@ -1746,33 +1436,24 @@ xmlSecTmplX509DataAddCRL(xmlNodePtr x509DataNode) {
int
xmlSecTmplTransformAddHmacOutputLength(xmlNodePtr transformNode, xmlSecSize bitsLen) {
xmlNodePtr cur;
- char buf[32];
+ char buf[64];
xmlSecAssert2(transformNode != NULL, -1);
xmlSecAssert2(bitsLen > 0, -1);
cur = xmlSecFindChild(transformNode, xmlSecNodeHMACOutputLength, xmlSecDSigNs);
if(cur != NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- xmlSecErrorsSafeString(xmlSecNodeHMACOutputLength),
- XMLSEC_ERRORS_R_NODE_ALREADY_PRESENT,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNodeAlreadyPresentError(transformNode, xmlSecNodeHMACOutputLength, NULL);
return(-1);
}
cur = xmlSecAddChild(transformNode, xmlSecNodeHMACOutputLength, xmlSecDSigNs);
if(cur == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecAddChild",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeHMACOutputLength));
+ xmlSecInternalError("xmlSecAddChild(xmlSecNodeHMACOutputLength)", NULL);
return(-1);
}
- sprintf(buf, "%u", bitsLen);
+ sprintf(buf, "%lu", (unsigned long)bitsLen);
xmlNodeSetContent(cur, BAD_CAST buf);
return(0);
}
@@ -1799,32 +1480,19 @@ xmlSecTmplTransformAddRsaOaepParam(xmlNodePtr transformNode,
oaepParamNode = xmlSecFindChild(transformNode, xmlSecNodeRsaOAEPparams, xmlSecEncNs);
if(oaepParamNode != NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- xmlSecErrorsSafeString(xmlSecNodeRsaOAEPparams),
- XMLSEC_ERRORS_R_NODE_ALREADY_PRESENT,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNodeAlreadyPresentError(transformNode, xmlSecNodeRsaOAEPparams, NULL);
return(-1);
}
oaepParamNode = xmlSecAddChild(transformNode, xmlSecNodeRsaOAEPparams, xmlSecEncNs);
if(oaepParamNode == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecAddChild",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeRsaOAEPparams));
+ xmlSecInternalError("xmlSecAddChild(xmlSecNodeRsaOAEPparams)", NULL);
return(-1);
}
base64 = xmlSecBase64Encode(buf, size, 0);
if(base64 == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecBase64Encode",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "size=%d", size);
+ xmlSecInternalError2("xmlSecBase64Encode", NULL, "size=%d", size);
return(-1);
}
@@ -1852,21 +1520,13 @@ xmlSecTmplTransformAddXsltStylesheet(xmlNodePtr transformNode, const xmlChar *xs
xsltDoc = xmlParseMemory((const char*)xslt, xmlStrlen(xslt));
if(xsltDoc == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlParseMemory",
- XMLSEC_ERRORS_R_XML_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecXmlError("xmlParseMemory", NULL);
return(-1);
}
ret = xmlSecReplaceContent(transformNode, xmlDocGetRootElement(xsltDoc));
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecReplaceContent",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecReplaceContent", NULL);
xmlFreeDoc(xsltDoc);
return(-1);
}
@@ -1896,22 +1556,14 @@ xmlSecTmplTransformAddC14NInclNamespaces(xmlNodePtr transformNode,
cur = xmlSecFindChild(transformNode, xmlSecNodeInclusiveNamespaces, xmlSecNsExcC14N);
if(cur != NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- xmlSecErrorsSafeString(xmlSecNodeInclusiveNamespaces),
- XMLSEC_ERRORS_R_NODE_ALREADY_PRESENT,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNodeAlreadyPresentError(transformNode, xmlSecNodeInclusiveNamespaces, NULL);
return(-1);
}
cur = xmlSecAddChild(transformNode, xmlSecNodeInclusiveNamespaces, xmlSecNsExcC14N);
if(cur == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecNodeGetName(transformNode)),
- "xmlSecAddChild",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeInclusiveNamespaces));
+ xmlSecInternalError("xmlSecAddChild(xmlSecNodeInclusiveNamespaces)",
+ xmlSecNodeGetName(transformNode));
return(-1);
}
@@ -1926,7 +1578,7 @@ xmlSecTmplTransformAddC14NInclNamespaces(xmlNodePtr transformNode,
* @nsList: the NULL terminated list of namespace prefix/href pairs
* (optional).
*
- * Writes XPath transform infromation to the <dsig:Transform/> node
+ * Writes XPath transform information to the <dsig:Transform/> node
* @node.
*
* Returns: 0 for success or a negative value otherwise.
@@ -1935,32 +1587,29 @@ int
xmlSecTmplTransformAddXPath(xmlNodePtr transformNode, const xmlChar *expression,
const xmlChar **nsList) {
xmlNodePtr xpathNode;
+ int ret;
xmlSecAssert2(transformNode != NULL, -1);
xmlSecAssert2(expression != NULL, -1);
xpathNode = xmlSecFindChild(transformNode, xmlSecNodeXPath, xmlSecDSigNs);
if(xpathNode != NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- xmlSecErrorsSafeString(xmlSecNodeXPath),
- XMLSEC_ERRORS_R_NODE_ALREADY_PRESENT,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNodeAlreadyPresentError(transformNode, xmlSecNodeXPath, NULL);
return(-1);
}
xpathNode = xmlSecAddChild(transformNode, xmlSecNodeXPath, xmlSecDSigNs);
if(xpathNode == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecAddChild",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeXPath));
+ xmlSecInternalError("xmlSecAddChild(xmlSecNodeXPath)", NULL);
+ return(-1);
+ }
+
+ ret = xmlSecNodeEncodeAndSetContent(xpathNode, expression);
+ if(ret < 0) {
+ xmlSecInternalError("xmlSecNodeEncodeAndSetContent", NULL);
return(-1);
}
- xmlSecNodeEncodeAndSetContent(xpathNode, expression);
return((nsList != NULL) ? xmlSecTmplNodeWriteNsList(xpathNode, nsList) : 0);
}
@@ -1972,7 +1621,7 @@ xmlSecTmplTransformAddXPath(xmlNodePtr transformNode, const xmlChar *expression,
* @nsList: the NULL terminated list of namespace prefix/href pairs.
* (optional).
*
- * Writes XPath2 transform infromation to the <dsig:Transform/> node
+ * Writes XPath2 transform information to the <dsig:Transform/> node
* @node.
*
* Returns: 0 for success or a negative value otherwise.
@@ -1981,6 +1630,7 @@ int
xmlSecTmplTransformAddXPath2(xmlNodePtr transformNode, const xmlChar* type,
const xmlChar *expression, const xmlChar **nsList) {
xmlNodePtr xpathNode;
+ int ret;
xmlSecAssert2(transformNode != NULL, -1);
xmlSecAssert2(type != NULL, -1);
@@ -1988,17 +1638,17 @@ xmlSecTmplTransformAddXPath2(xmlNodePtr transformNode, const xmlChar* type,
xpathNode = xmlSecAddChild(transformNode, xmlSecNodeXPath, xmlSecXPath2Ns);
if(xpathNode == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecAddChild",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeXPath));
+ xmlSecInternalError("xmlSecAddChild(xmlSecNodeXPath)", NULL);
return(-1);
}
xmlSetProp(xpathNode, xmlSecAttrFilter, type);
- xmlSecNodeEncodeAndSetContent(xpathNode, expression);
+ ret = xmlSecNodeEncodeAndSetContent(xpathNode, expression);
+ if(ret < 0) {
+ xmlSecInternalError("xmlSecNodeEncodeAndSetContent", NULL);
+ return(-1);
+ }
+
return((nsList != NULL) ? xmlSecTmplNodeWriteNsList(xpathNode, nsList) : 0);
}
@@ -2009,7 +1659,7 @@ xmlSecTmplTransformAddXPath2(xmlNodePtr transformNode, const xmlChar* type,
* @nsList: the NULL terminated list of namespace prefix/href pairs.
* (optional).
*
- * Writes XPoniter transform infromation to the <dsig:Transform/> node
+ * Writes XPointer transform information to the <dsig:Transform/> node
* @node.
*
* Returns: 0 for success or a negative value otherwise.
@@ -2018,33 +1668,29 @@ int
xmlSecTmplTransformAddXPointer(xmlNodePtr transformNode, const xmlChar *expression,
const xmlChar **nsList) {
xmlNodePtr xpointerNode;
+ int ret;
xmlSecAssert2(expression != NULL, -1);
xmlSecAssert2(transformNode != NULL, -1);
xpointerNode = xmlSecFindChild(transformNode, xmlSecNodeXPointer, xmlSecXPointerNs);
if(xpointerNode != NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- xmlSecErrorsSafeString(xmlSecNodeXPointer),
- XMLSEC_ERRORS_R_NODE_ALREADY_PRESENT,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNodeAlreadyPresentError(transformNode, xmlSecNodeXPointer, NULL);
return(-1);
}
xpointerNode = xmlSecAddChild(transformNode, xmlSecNodeXPointer, xmlSecXPointerNs);
if(xpointerNode == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecAddChild",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeXPointer));
+ xmlSecInternalError("xmlSecAddChild(xmlSecNodeXPointer)", NULL);
return(-1);
}
+ ret = xmlSecNodeEncodeAndSetContent(xpointerNode, expression);
+ if(ret < 0) {
+ xmlSecInternalError("xmlSecNodeEncodeAndSetContent", NULL);
+ return(-1);
+ }
- xmlSecNodeEncodeAndSetContent(xpointerNode, expression);
return((nsList != NULL) ? xmlSecTmplNodeWriteNsList(xpointerNode, nsList) : 0);
}
@@ -2058,34 +1704,32 @@ xmlSecTmplNodeWriteNsList(xmlNodePtr parentNode, const xmlChar** nsList) {
xmlSecAssert2(parentNode != NULL, -1);
xmlSecAssert2(nsList != NULL, -1);
+ /* nsList contains pairs of prefix/href with NULL at the end. We use special
+ "#default" prefix instead of NULL prefix */
ptr = nsList;
while((*ptr) != NULL) {
+ /* get next prefix/href pair */
if(xmlStrEqual(BAD_CAST "#default", (*ptr))) {
prefix = NULL;
} else {
prefix = (*ptr);
}
- if((++ptr) == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- NULL,
- XMLSEC_ERRORS_R_INVALID_DATA,
- "unexpected end of ns list");
+ href = *(++ptr);
+ if(href == NULL) {
+ xmlSecInvalidDataError("unexpected end of ns list", NULL);
return(-1);
}
- href = *(ptr++);
+ /* create namespace node */
ns = xmlNewNs(parentNode, href, prefix);
if(ns == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlNewNs",
- XMLSEC_ERRORS_R_XML_FAILED,
- "href=%s;prefix=%s",
- xmlSecErrorsSafeString(href),
- xmlSecErrorsSafeString(prefix));
+ xmlSecXmlError2("xmlNewNs", NULL,
+ "prefix=%s", xmlSecErrorsSafeString(prefix));
return(-1);
}
+
+ /* next pair */
+ ++ptr;
}
return(0);
}
diff --git a/src/transforms.c b/src/transforms.c
index b1f16f7..aea1b1b 100644
--- a/src/transforms.c
+++ b/src/transforms.c
@@ -1,4 +1,4 @@
-/**
+/*
* XML Security Library (http://www.aleksey.com/xmlsec).
*
* The Transforms Element (http://www.w3.org/TR/xmldsig-core/#sec-Transforms)
@@ -97,21 +97,13 @@ xmlSecTransformIdsInit(void) {
ret = xmlSecPtrListInitialize(xmlSecTransformIdsGet(), xmlSecTransformIdListId);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecPtrListPtrInitialize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "xmlSecTransformIdListId");
+ xmlSecInternalError("xmlSecPtrListPtrInitialize(xmlSecTransformIdListId)", NULL);
return(-1);
}
ret = xmlSecTransformIdsRegisterDefault();
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecTransformIdsRegisterDefault",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecTransformIdsRegisterDefault", NULL);
return(-1);
}
@@ -153,12 +145,8 @@ xmlSecTransformIdsRegister(xmlSecTransformId id) {
ret = xmlSecPtrListAdd(xmlSecTransformIdsGet(), (xmlSecPtr)id);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecPtrListAdd",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "transform=%s",
- xmlSecErrorsSafeString(xmlSecTransformKlassGetName(id)));
+ xmlSecInternalError("xmlSecPtrListAdd",
+ xmlSecTransformKlassGetName(id));
return(-1);
}
@@ -176,129 +164,64 @@ xmlSecTransformIdsRegister(xmlSecTransformId id) {
int
xmlSecTransformIdsRegisterDefault(void) {
if(xmlSecTransformIdsRegister(xmlSecTransformBase64Id) < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecTransformIdsRegister",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "name=%s",
- xmlSecErrorsSafeString(xmlSecTransformKlassGetName(xmlSecTransformBase64Id)));
+ xmlSecInternalError("xmlSecTransformIdsRegister(xmlSecTransformBase64Id)", NULL);
return(-1);
}
if(xmlSecTransformIdsRegister(xmlSecTransformEnvelopedId) < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecTransformIdsRegister",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "name=%s",
- xmlSecErrorsSafeString(xmlSecTransformKlassGetName(xmlSecTransformEnvelopedId)));
+ xmlSecInternalError("xmlSecTransformIdsRegister(xmlSecTransformEnvelopedId)", NULL);
return(-1);
}
/* c14n methods */
if(xmlSecTransformIdsRegister(xmlSecTransformInclC14NId) < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecTransformIdsRegister",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "name=%s",
- xmlSecErrorsSafeString(xmlSecTransformKlassGetName(xmlSecTransformInclC14NId)));
+ xmlSecInternalError("xmlSecTransformIdsRegister(xmlSecTransformInclC14NId)", NULL);
return(-1);
}
if(xmlSecTransformIdsRegister(xmlSecTransformInclC14NWithCommentsId) < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecTransformIdsRegister",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "name=%s",
- xmlSecErrorsSafeString(xmlSecTransformKlassGetName(xmlSecTransformInclC14NWithCommentsId)));
+ xmlSecInternalError("xmlSecTransformIdsRegister(xmlSecTransformInclC14NWithCommentsId)", NULL);
return(-1);
}
if(xmlSecTransformIdsRegister(xmlSecTransformInclC14N11Id) < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecTransformIdsRegister",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "name=%s",
- xmlSecErrorsSafeString(xmlSecTransformKlassGetName(xmlSecTransformInclC14N11Id)));
+ xmlSecInternalError("xmlSecTransformIdsRegister(xmlSecTransformInclC14N11Id)", NULL);
return(-1);
}
if(xmlSecTransformIdsRegister(xmlSecTransformInclC14N11WithCommentsId) < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecTransformIdsRegister",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "name=%s",
- xmlSecErrorsSafeString(xmlSecTransformKlassGetName(xmlSecTransformInclC14N11WithCommentsId)));
+ xmlSecInternalError("xmlSecTransformIdsRegister(xmlSecTransformInclC14N11WithCommentsId)", NULL);
return(-1);
}
if(xmlSecTransformIdsRegister(xmlSecTransformExclC14NId) < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecTransformIdsRegister",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "name=%s",
- xmlSecErrorsSafeString(xmlSecTransformKlassGetName(xmlSecTransformExclC14NId)));
+ xmlSecInternalError("xmlSecTransformIdsRegister(xmlSecTransformExclC14NId)", NULL);
return(-1);
}
if(xmlSecTransformIdsRegister(xmlSecTransformExclC14NWithCommentsId) < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecTransformIdsRegister",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "name=%s",
- xmlSecErrorsSafeString(xmlSecTransformKlassGetName(xmlSecTransformExclC14NWithCommentsId)));
+ xmlSecInternalError("xmlSecTransformIdsRegister(xmlSecTransformExclC14NWithCommentsId)", NULL);
return(-1);
}
if(xmlSecTransformIdsRegister(xmlSecTransformXPathId) < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecTransformIdsRegister",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "name=%s",
- xmlSecErrorsSafeString(xmlSecTransformKlassGetName(xmlSecTransformXPathId)));
+ xmlSecInternalError("xmlSecTransformIdsRegister(xmlSecTransformXPathId)", NULL);
return(-1);
}
if(xmlSecTransformIdsRegister(xmlSecTransformXPath2Id) < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecTransformIdsRegister",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "name=%s",
- xmlSecErrorsSafeString(xmlSecTransformKlassGetName(xmlSecTransformXPath2Id)));
+ xmlSecInternalError("xmlSecTransformIdsRegister(xmlSecTransformXPath2Id)", NULL);
return(-1);
}
if(xmlSecTransformIdsRegister(xmlSecTransformXPointerId) < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecTransformIdsRegister",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "name=%s",
- xmlSecErrorsSafeString(xmlSecTransformKlassGetName(xmlSecTransformXPointerId)));
+ xmlSecInternalError("xmlSecTransformIdsRegister(xmlSecTransformXPointerId)", NULL);
return(-1);
}
if(xmlSecTransformIdsRegister(xmlSecTransformRelationshipId) < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecTransformIdsRegister",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "name=%s",
- xmlSecErrorsSafeString(xmlSecTransformKlassGetName(xmlSecTransformRelationshipId)));
+ xmlSecInternalError("xmlSecTransformIdsRegister(xmlSecTransformRelationshipId)", NULL);
return(-1);
}
#ifndef XMLSEC_NO_XSLT
if(xmlSecTransformIdsRegister(xmlSecTransformXsltId) < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecTransformIdsRegister",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "name=%s",
- xmlSecErrorsSafeString(xmlSecTransformKlassGetName(xmlSecTransformXsltId)));
+ xmlSecInternalError("xmlSecTransformIdsRegister(xmlSecTransformXsltId)", NULL);
return(-1);
}
#endif /* XMLSEC_NO_XSLT */
@@ -361,21 +284,13 @@ xmlSecTransformCtxCreate(void) {
/* Allocate a new xmlSecTransform and fill the fields. */
ctx = (xmlSecTransformCtxPtr)xmlMalloc(sizeof(xmlSecTransformCtx));
if(ctx == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- NULL,
- XMLSEC_ERRORS_R_MALLOC_FAILED,
- "size=%d", (int)sizeof(xmlSecTransformCtx));
+ xmlSecMallocError(sizeof(xmlSecTransformCtx), NULL);
return(NULL);
}
ret = xmlSecTransformCtxInitialize(ctx);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecTransformCtxInitialize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecTransformCtxInitialize", NULL);
xmlSecTransformCtxDestroy(ctx);
return(NULL);
}
@@ -417,11 +332,7 @@ xmlSecTransformCtxInitialize(xmlSecTransformCtxPtr ctx) {
ret = xmlSecPtrListInitialize(&(ctx->enabledTransforms), xmlSecTransformIdListId);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecPtrListInitialize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecPtrListInitialize(xmlSecTransformIdListId)", NULL);
return(-1);
}
@@ -501,11 +412,7 @@ xmlSecTransformCtxCopyUserPref(xmlSecTransformCtxPtr dst, xmlSecTransformCtxPtr
ret = xmlSecPtrListCopy(&(dst->enabledTransforms), &(src->enabledTransforms));
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecPtrListCopy",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecPtrListCopy(enabledTransforms)", NULL);
return(-1);
}
@@ -533,12 +440,8 @@ xmlSecTransformCtxAppend(xmlSecTransformCtxPtr ctx, xmlSecTransformPtr transform
if(ctx->last != NULL) {
ret = xmlSecTransformConnect(ctx->last, transform, ctx);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecTransformConnect",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "name=%s",
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)));
+ xmlSecInternalError("xmlSecTransformConnect",
+ xmlSecTransformGetName(transform));
return(-1);
}
} else {
@@ -571,12 +474,8 @@ xmlSecTransformCtxPrepend(xmlSecTransformCtxPtr ctx, xmlSecTransformPtr transfor
if(ctx->first != NULL) {
ret = xmlSecTransformConnect(transform, ctx->first, ctx);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecTransformConnect",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "name=%s",
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)));
+ xmlSecInternalError("xmlSecTransformConnect",
+ xmlSecTransformGetName(transform));
return(-1);
}
} else {
@@ -609,23 +508,15 @@ xmlSecTransformCtxCreateAndAppend(xmlSecTransformCtxPtr ctx, xmlSecTransformId i
transform = xmlSecTransformCreate(id);
if(!xmlSecTransformIsValid(transform)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecTransformCreate",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "transform=%s",
- xmlSecErrorsSafeString(xmlSecTransformKlassGetName(id)));
+ xmlSecInternalError("xmlSecTransformCreate",
+ xmlSecTransformKlassGetName(id));
return(NULL);
}
ret = xmlSecTransformCtxAppend(ctx, transform);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecTransformCtxAppend",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "name=%s",
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)));
+ xmlSecInternalError("xmlSecTransformCtxAppend",
+ xmlSecTransformKlassGetName(id));
xmlSecTransformDestroy(transform);
return(NULL);
}
@@ -654,23 +545,15 @@ xmlSecTransformCtxCreateAndPrepend(xmlSecTransformCtxPtr ctx, xmlSecTransformId
transform = xmlSecTransformCreate(id);
if(!xmlSecTransformIsValid(transform)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecTransformCreate",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "transform=%s",
- xmlSecErrorsSafeString(xmlSecTransformKlassGetName(id)));
+ xmlSecInternalError("xmlSecTransformCreate",
+ xmlSecTransformKlassGetName(id));
return(NULL);
}
ret = xmlSecTransformCtxPrepend(ctx, transform);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecTransformCtxPrepend",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "name=%s",
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)));
+ xmlSecInternalError("xmlSecTransformCtxPrepend",
+ xmlSecTransformGetName(transform));
xmlSecTransformDestroy(transform);
return(NULL);
}
@@ -701,23 +584,15 @@ xmlSecTransformCtxNodeRead(xmlSecTransformCtxPtr ctx, xmlNodePtr node,
transform = xmlSecTransformNodeRead(node, usage, ctx);
if(transform == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecTransformNodeRead",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "name=%s",
- xmlSecErrorsSafeString(xmlSecNodeGetName(node)));
+ xmlSecInternalError("xmlSecTransformNodeRead",
+ xmlSecNodeGetName(node));
return(NULL);
}
ret = xmlSecTransformCtxAppend(ctx, transform);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecTransformCtxAppend",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "name=%s",
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)));
+ xmlSecInternalError("xmlSecTransformCtxAppend",
+ xmlSecTransformGetName(transform));
xmlSecTransformDestroy(transform);
return(NULL);
}
@@ -750,23 +625,15 @@ xmlSecTransformCtxNodesListRead(xmlSecTransformCtxPtr ctx, xmlNodePtr node, xmlS
while((cur != NULL) && xmlSecCheckNodeName(cur, xmlSecNodeTransform, xmlSecDSigNs)) {
transform = xmlSecTransformNodeRead(cur, usage, ctx);
if(transform == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecTransformNodeRead",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeGetName(cur)));
+ xmlSecInternalError("xmlSecTransformNodeRead",
+ xmlSecNodeGetName(cur));
return(-1);
}
ret = xmlSecTransformCtxAppend(ctx, transform);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecTransformCtxAppend",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeGetName(cur)));
+ xmlSecInternalError("xmlSecTransformCtxAppend",
+ xmlSecTransformGetName(transform));
xmlSecTransformDestroy(transform);
return(-1);
}
@@ -774,11 +641,7 @@ xmlSecTransformCtxNodesListRead(xmlSecTransformCtxPtr ctx, xmlNodePtr node, xmlS
}
if(cur != NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- xmlSecErrorsSafeString(xmlSecNodeGetName(cur)),
- XMLSEC_ERRORS_R_UNEXPECTED_NODE,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecUnexpectedNodeError(cur, NULL);
return(-1);
}
return(0);
@@ -838,12 +701,8 @@ xmlSecTransformCtxSetUri(xmlSecTransformCtxPtr ctx, const xmlChar* uri, xmlNodeP
/* check uri */
if(xmlSecTransformUriTypeCheck(ctx->enabledUris, uri) != 1) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- NULL,
- XMLSEC_ERRORS_R_INVALID_URI_TYPE,
- "uri=%s",
- xmlSecErrorsSafeString(uri));
+ xmlSecOtherError2(XMLSEC_ERRORS_R_INVALID_URI_TYPE, NULL,
+ "uri=%s", xmlSecErrorsSafeString(uri));
return(-1);
}
@@ -857,11 +716,7 @@ xmlSecTransformCtxSetUri(xmlSecTransformCtxPtr ctx, const xmlChar* uri, xmlNodeP
if(xptr == NULL){
ctx->uri = xmlStrdup(uri);
if(ctx->uri == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- NULL,
- XMLSEC_ERRORS_R_STRDUP_FAILED,
- "size=%d", xmlStrlen(uri));
+ xmlSecStrdupError(uri, NULL);
return(-1);
}
/* we are done */
@@ -869,11 +724,7 @@ xmlSecTransformCtxSetUri(xmlSecTransformCtxPtr ctx, const xmlChar* uri, xmlNodeP
} else if(xmlStrcmp(uri, BAD_CAST "#xpointer(/)") == 0) {
ctx->xptrExpr = xmlStrdup(uri);
if(ctx->xptrExpr == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- NULL,
- XMLSEC_ERRORS_R_STRDUP_FAILED,
- "size=%d", xmlStrlen(uri));
+ xmlSecStrdupError(uri, NULL);
return(-1);
}
/* we are done */
@@ -882,21 +733,13 @@ xmlSecTransformCtxSetUri(xmlSecTransformCtxPtr ctx, const xmlChar* uri, xmlNodeP
ctx->uri = xmlStrndup(uri, xptr - uri);
if(ctx->uri == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- NULL,
- XMLSEC_ERRORS_R_STRDUP_FAILED,
- "size=%d", (int)(xptr - uri));
+ xmlSecStrdupError(uri, NULL);
return(-1);
}
ctx->xptrExpr = xmlStrdup(xptr);
if(ctx->xptrExpr == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- NULL,
- XMLSEC_ERRORS_R_STRDUP_FAILED,
- "size=%d", xmlStrlen(xptr));
+ xmlSecStrdupError(xptr, NULL);
return(-1);
}
@@ -918,14 +761,15 @@ xmlSecTransformCtxSetUri(xmlSecTransformCtxPtr ctx, const xmlChar* uri, xmlNodeP
size = xmlStrlen(BAD_CAST tmpl) + xmlStrlen(xptr) + 2;
buf = (xmlChar*)xmlMalloc(size * sizeof(xmlChar));
if(buf == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- NULL,
- XMLSEC_ERRORS_R_MALLOC_FAILED,
- "size=%d", size);
+ xmlSecMallocError(size * sizeof(xmlChar), NULL);
return(-1);
}
- sprintf((char*)buf, tmpl, xptr + 1);
+ ret = xmlStrPrintf(buf, size, tmpl, xptr + 1);
+ if(ret < 0) {
+ xmlSecXmlError("xmlStrPrintf", NULL);
+ xmlFree(buf);
+ return(-1);
+ }
xptr = buf;
nodeSetType = xmlSecNodeSetTreeWithoutComments;
}
@@ -936,12 +780,7 @@ xmlSecTransformCtxSetUri(xmlSecTransformCtxPtr ctx, const xmlChar* uri, xmlNodeP
/* we need to create XPonter transform to execute expr */
transform = xmlSecTransformCtxCreateAndPrepend(ctx, xmlSecTransformXPointerId);
if(!xmlSecTransformIsValid(transform)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecTransformCtxCreateAndPrepend",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "transform=%s",
- xmlSecErrorsSafeString(xmlSecTransformKlassGetName(xmlSecTransformXPointerId)));
+ xmlSecInternalError("xmlSecTransformCtxCreateAndPrepend(xmlSecTransformXPointerId)", NULL);
if(buf != NULL) {
xmlFree(buf);
}
@@ -950,12 +789,8 @@ xmlSecTransformCtxSetUri(xmlSecTransformCtxPtr ctx, const xmlChar* uri, xmlNodeP
ret = xmlSecTransformXPointerSetExpr(transform, xptr, nodeSetType, hereNode);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecTransformXPointerSetExpr",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "name=%s",
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)));
+ xmlSecInternalError("xmlSecTransformXPointerSetExpr",
+ xmlSecTransformGetName(transform));
if(buf != NULL) {
xmlFree(buf);
}
@@ -972,12 +807,7 @@ xmlSecTransformCtxSetUri(xmlSecTransformCtxPtr ctx, const xmlChar* uri, xmlNodeP
transform = xmlSecTransformCtxCreateAndPrepend(ctx, xmlSecTransformVisa3DHackId);
if(!xmlSecTransformIsValid(transform)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecTransformCtxCreateAndPrepend",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "transform=%s",
- xmlSecErrorsSafeString(xmlSecTransformKlassGetName(xmlSecTransformVisa3DHackId)));
+ xmlSecInternalError("xmlSecTransformCtxCreateAndPrepend(xmlSecTransformVisa3DHackId)", NULL);
if(buf != NULL) {
xmlFree(buf);
}
@@ -986,12 +816,8 @@ xmlSecTransformCtxSetUri(xmlSecTransformCtxPtr ctx, const xmlChar* uri, xmlNodeP
ret = xmlSecTransformVisa3DHackSetID(transform, xptr);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecTransformVisa3DHackSetID",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "name=%s",
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)));
+ xmlSecInternalError("xmlSecTransformVisa3DHackSetID",
+ xmlSecTransformGetName(transform));
if(buf != NULL) {
xmlFree(buf);
}
@@ -1027,22 +853,13 @@ xmlSecTransformCtxPrepare(xmlSecTransformCtxPtr ctx, xmlSecTransformDataType inp
/* add binary buffer to store result */
transform = xmlSecTransformCtxCreateAndAppend(ctx, xmlSecTransformMemBufId);
if(!xmlSecTransformIsValid(transform)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecTransformCreate",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "transform=%s",
- xmlSecErrorsSafeString(xmlSecTransformKlassGetName(xmlSecTransformMemBufId)));
+ xmlSecInternalError("xmlSecTransformCreateAndAppend(xmlSecTransformMemBufId)", NULL);
return(-1);
}
ctx->result = xmlSecTransformMemBufGetBuffer(transform);
if(ctx->result == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecTransformMemBufGetBuffer",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "transform=%s",
- xmlSecErrorsSafeString(xmlSecTransformKlassGetName(xmlSecTransformMemBufId)));
+ xmlSecInternalError("xmlSecTransformMemBufGetBuffer(xmlSecTransformMemBufId)",
+ xmlSecTransformGetName(transform));
return(-1);
}
@@ -1053,12 +870,7 @@ xmlSecTransformCtxPrepare(xmlSecTransformCtxPtr ctx, xmlSecTransformDataType inp
/* need to add parser transform */
transform = xmlSecTransformCtxCreateAndPrepend(ctx, xmlSecTransformXmlParserId);
if(transform == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecTransformCtxCreateAndPrepend",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "transform=%s",
- xmlSecErrorsSafeString(xmlSecTransformKlassGetName(xmlSecTransformXmlParserId)));
+ xmlSecInternalError("xmlSecTransformCtxCreateAndPrepend(xmlSecTransformXmlParserId)", NULL);
return(-1);
}
} else if(((firstType & xmlSecTransformDataTypeXml) == 0) &&
@@ -1067,12 +879,7 @@ xmlSecTransformCtxPrepare(xmlSecTransformCtxPtr ctx, xmlSecTransformDataType inp
/* need to add c14n transform */
transform = xmlSecTransformCtxCreateAndPrepend(ctx, xmlSecTransformInclC14NId);
if(transform == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecTransformCtxCreateAndPrepend",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "transform=%s",
- xmlSecErrorsSafeString(xmlSecTransformKlassGetName(xmlSecTransformInclC14NId)));
+ xmlSecInternalError("xmlSecTransformCtxCreateAndPrepend(xmlSecTransformInclC14NId)", NULL);
return(-1);
}
}
@@ -1082,11 +889,7 @@ xmlSecTransformCtxPrepare(xmlSecTransformCtxPtr ctx, xmlSecTransformDataType inp
if(ctx->preExecCallback != NULL) {
ret = (ctx->preExecCallback)(ctx);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "ctx->preExecCallback",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("ctx->preExecCallback", NULL);
return(-1);
}
}
@@ -1121,21 +924,14 @@ xmlSecTransformCtxBinaryExecute(xmlSecTransformCtxPtr ctx,
ret = xmlSecTransformCtxPrepare(ctx, xmlSecTransformDataTypeBin);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecTransformCtxPrepare",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "type=bin");
+ xmlSecInternalError("xmlSecTransformCtxPrepare(TypeBin)", NULL);
return(-1);
}
ret = xmlSecTransformPushBin(ctx->first, data, dataSize, 1, ctx);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecTransformCtxPushBin",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "dataSize=%d", dataSize);
+ xmlSecInternalError2("xmlSecTransformCtxPushBin", NULL,
+ "dataSize=%d", dataSize);
return(-1);
}
@@ -1166,34 +962,21 @@ xmlSecTransformCtxUriExecute(xmlSecTransformCtxPtr ctx, const xmlChar* uri) {
uriTransform = xmlSecTransformCtxCreateAndPrepend(ctx, xmlSecTransformInputURIId);
if(uriTransform == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecTransformCtxCreateAndPrepend",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "transform=%s",
- xmlSecErrorsSafeString(xmlSecTransformKlassGetName(xmlSecTransformInputURIId)));
+ xmlSecInternalError("xmlSecTransformCtxCreateAndPrepend(xmlSecTransformInputURIId)", NULL);
return(-1);
}
ret = xmlSecTransformInputURIOpen(uriTransform, uri);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecTransformInputURIOpen",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "uri=%s",
- xmlSecErrorsSafeString(uri));
+ xmlSecInternalError2("xmlSecTransformInputURIOpen", NULL,
+ "uri=%s", xmlSecErrorsSafeString(uri));
return(-1);
}
/* we do not need to do something special for this transform */
ret = xmlSecTransformCtxPrepare(ctx, xmlSecTransformDataTypeUnknown);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecTransformCtxPrepare",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "type=bin");
+ xmlSecInternalError("xmlSecTransformCtxPrepare(TypeUnknown)", NULL);
return(-1);
}
@@ -1202,25 +985,18 @@ xmlSecTransformCtxUriExecute(xmlSecTransformCtxPtr ctx, const xmlChar* uri) {
*/
ret = xmlSecTransformPump(uriTransform, uriTransform->next, ctx);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecTransformPump",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "uri=%s",
- xmlSecErrorsSafeString(uri));
+ xmlSecInternalError("xmlSecTransformPump",
+ xmlSecTransformGetName(uriTransform));
return(-1);
}
/* Close to free up file handle */
ret = xmlSecTransformInputURIClose(uriTransform);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecTransformInputURIClose",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "ret=%d", ret);
- return(-1);
- }
+ xmlSecInternalError("xmlSecTransformInputURIClose",
+ xmlSecTransformGetName(uriTransform));
+ return(-1);
+ }
/* Done */
ctx->status = xmlSecTransformStatusFinished;
@@ -1249,11 +1025,7 @@ xmlSecTransformCtxXmlExecute(xmlSecTransformCtxPtr ctx, xmlSecNodeSetPtr nodes)
ret = xmlSecTransformCtxPrepare(ctx, xmlSecTransformDataTypeXml);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecTransformCtxPrepare",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "type=xml");
+ xmlSecInternalError("xmlSecTransformCtxPrepare(TypeXml)", NULL);
return(-1);
}
@@ -1261,12 +1033,8 @@ xmlSecTransformCtxXmlExecute(xmlSecTransformCtxPtr ctx, xmlSecNodeSetPtr nodes)
* just don't care and c14n likes push more than pop */
ret = xmlSecTransformPushXml(ctx->first, nodes, ctx);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecTransformPushXml",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "transform=%s",
- xmlSecErrorsSafeString(xmlSecTransformGetName(ctx->first)));
+ xmlSecInternalError("xmlSecTransformPushXml",
+ xmlSecTransformGetName(ctx->first));
return(-1);
}
@@ -1299,11 +1067,7 @@ xmlSecTransformCtxExecute(xmlSecTransformCtxPtr ctx, xmlDocPtr doc) {
/* our xpointer transform takes care of providing correct nodes set */
nodes = xmlSecNodeSetCreate(doc, NULL, xmlSecNodeSetNormal);
if(nodes == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecNodeSetCreate",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecNodeSetCreate", NULL);
return(-1);
}
@@ -1311,21 +1075,13 @@ xmlSecTransformCtxExecute(xmlSecTransformCtxPtr ctx, xmlDocPtr doc) {
/* we do not want to have comments for empty URI */
nodes = xmlSecNodeSetGetChildren(doc, NULL, 0, 0);
if(nodes == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecNodeSetGetChildren",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecNodeSetGetChildren", NULL);
return(-1);
}
}
ret = xmlSecTransformCtxXmlExecute(ctx, nodes);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecTransformCtxXmlExecute",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecTransformCtxXmlExecute", NULL);
xmlSecNodeSetDestroy(nodes);
return(-1);
}
@@ -1334,11 +1090,7 @@ xmlSecTransformCtxExecute(xmlSecTransformCtxPtr ctx, xmlDocPtr doc) {
} else {
ret = xmlSecTransformCtxUriExecute(ctx, ctx->uri);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecTransformCtxUriExecute",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecTransformCtxUriExecute", NULL);
return(-1);
}
}
@@ -1448,11 +1200,7 @@ xmlSecTransformCreate(xmlSecTransformId id) {
/* Allocate a new xmlSecTransform and fill the fields. */
transform = (xmlSecTransformPtr)xmlMalloc(id->objSize);
if(transform == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- NULL,
- XMLSEC_ERRORS_R_MALLOC_FAILED,
- "size=%d", id->objSize);
+ xmlSecMallocError(id->objSize, NULL);
return(NULL);
}
memset(transform, 0, id->objSize);
@@ -1461,11 +1209,8 @@ xmlSecTransformCreate(xmlSecTransformId id) {
if(id->initialize != NULL) {
ret = (id->initialize)(transform);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "id->initialize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("id->initialize",
+ xmlSecTransformGetName(transform));
xmlSecTransformDestroy(transform);
return(NULL);
}
@@ -1473,22 +1218,16 @@ xmlSecTransformCreate(xmlSecTransformId id) {
ret = xmlSecBufferInitialize(&(transform->inBuf), 0);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecBufferInitialize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "size=%d", 0);
+ xmlSecInternalError("xmlSecBufferInitialize",
+ xmlSecTransformGetName(transform));
xmlSecTransformDestroy(transform);
return(NULL);
}
ret = xmlSecBufferInitialize(&(transform->outBuf), 0);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecBufferInitialize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "size=%d", 0);
+ xmlSecInternalError("xmlSecBufferInitialize",
+ xmlSecTransformGetName(transform));
xmlSecTransformDestroy(transform);
return(NULL);
}
@@ -1557,23 +1296,15 @@ xmlSecTransformNodeRead(xmlNodePtr node, xmlSecTransformUsage usage, xmlSecTrans
href = xmlGetProp(node, xmlSecAttrAlgorithm);
if(href == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- xmlSecErrorsSafeString(xmlSecAttrAlgorithm),
- XMLSEC_ERRORS_R_INVALID_NODE_ATTRIBUTE,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeGetName(node)));
+ xmlSecInvalidNodeAttributeError(node, xmlSecAttrAlgorithm,
+ NULL, "empty");
return(NULL);
}
id = xmlSecTransformIdListFindByHref(xmlSecTransformIdsGet(), href, usage);
if(id == xmlSecTransformIdUnknown) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecTransformIdListFindByHref",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "href=%s",
- xmlSecErrorsSafeString(href));
+ xmlSecInternalError2("xmlSecTransformIdListFindByHref", NULL,
+ "href=%s", xmlSecErrorsSafeString(href));
xmlFree(href);
return(NULL);
}
@@ -1581,24 +1312,17 @@ xmlSecTransformNodeRead(xmlNodePtr node, xmlSecTransformUsage usage, xmlSecTrans
/* check with enabled transforms list */
if((xmlSecPtrListGetSize(&(transformCtx->enabledTransforms)) > 0) &&
(xmlSecTransformIdListFind(&(transformCtx->enabledTransforms), id) != 1)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- xmlSecErrorsSafeString(xmlSecTransformKlassGetName(id)),
- XMLSEC_ERRORS_R_TRANSFORM_DISABLED,
- "href=%s",
- xmlSecErrorsSafeString(href));
+ xmlSecOtherError2(XMLSEC_ERRORS_R_TRANSFORM_DISABLED,
+ xmlSecTransformKlassGetName(id),
+ "href=%s", xmlSecErrorsSafeString(href));
xmlFree(href);
return(NULL);
}
transform = xmlSecTransformCreate(id);
if(!xmlSecTransformIsValid(transform)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecTransformCreate",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "transform=%s",
- xmlSecErrorsSafeString(xmlSecTransformKlassGetName(id)));
+ xmlSecInternalError("xmlSecTransformCreate(id)",
+ xmlSecTransformKlassGetName(id));
xmlFree(href);
return(NULL);
}
@@ -1606,12 +1330,8 @@ xmlSecTransformNodeRead(xmlNodePtr node, xmlSecTransformUsage usage, xmlSecTrans
if(transform->id->readNode != NULL) {
ret = transform->id->readNode(transform, node, transformCtx);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "id->readNode",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "transform=%s",
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)));
+ xmlSecInternalError("readNode",
+ xmlSecTransformGetName(transform));
xmlSecTransformDestroy(transform);
xmlFree(href);
return(NULL);
@@ -1655,21 +1375,15 @@ xmlSecTransformPump(xmlSecTransformPtr left, xmlSecTransformPtr right, xmlSecTra
ret = xmlSecTransformPopXml(left, &nodes, transformCtx);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(left)),
- "xmlSecTransformPopXml",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecTransformPopXml",
+ xmlSecTransformGetName(left));
return(-1);
}
ret = xmlSecTransformPushXml(right, nodes, transformCtx);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(right)),
- "xmlSecTransformPushXml",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecTransformPushXml",
+ xmlSecTransformGetName(right));
return(-1);
}
} else if(((leftType & xmlSecTransformDataTypeBin) != 0) &&
@@ -1681,30 +1395,22 @@ xmlSecTransformPump(xmlSecTransformPtr left, xmlSecTransformPtr right, xmlSecTra
do {
ret = xmlSecTransformPopBin(left, buf, sizeof(buf), &bufSize, transformCtx);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(left)),
- "xmlSecTransformPopBin",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecTransformPopBin",
+ xmlSecTransformGetName(left));
return(-1);
}
final = (bufSize == 0) ? 1 : 0;
ret = xmlSecTransformPushBin(right, buf, bufSize, final, transformCtx);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(right)),
- "xmlSecTransformPushBin",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecTransformPushBin",
+ xmlSecTransformGetName(right));
return(-1);
}
} while(final == 0);
} else {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(left)),
- xmlSecErrorsSafeString(xmlSecTransformGetName(right)),
- XMLSEC_ERRORS_R_INVALID_TRANSFORM,
- "transforms input/output data formats do not match");
+ xmlSecInvalidTransfromError2(left,
+ "transforms input/output data formats do not match, right transform=\"%s\"",
+ xmlSecErrorsSafeString(xmlSecTransformGetName(right)));
}
return(0);
}
@@ -1801,21 +1507,15 @@ xmlSecTransformVerifyNodeContent(xmlSecTransformPtr transform, xmlNodePtr node,
ret = xmlSecBufferInitialize(&buffer, 0);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecBufferInitialize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecBufferInitialize",
+ xmlSecTransformGetName(transform));
return(-1);
}
ret = xmlSecBufferBase64NodeContentRead(&buffer, node);
if((ret < 0) || (xmlSecBufferGetData(&buffer) == NULL)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecBufferBase64NodeContentRead",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecBufferBase64NodeContentRead",
+ xmlSecTransformGetName(transform));
xmlSecBufferFinalize(&buffer);
return(-1);
}
@@ -1823,11 +1523,8 @@ xmlSecTransformVerifyNodeContent(xmlSecTransformPtr transform, xmlNodePtr node,
ret = xmlSecTransformVerify(transform, xmlSecBufferGetData(&buffer),
xmlSecBufferGetSize(&buffer), transformCtx);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecTransformVerify",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecTransformVerify",
+ xmlSecTransformGetName(transform));
xmlSecBufferFinalize(&buffer);
return(-1);
}
@@ -2073,24 +1770,17 @@ xmlSecTransformConnect(xmlSecTransformPtr left, xmlSecTransformPtr right,
middleId = xmlSecTransformInclC14NId;
}
} else {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(left)),
- xmlSecErrorsSafeString(xmlSecTransformGetName(right)),
- XMLSEC_ERRORS_R_INVALID_TRANSFORM,
- "leftType=%d;rightType=%d",
- leftType, rightType);
+ xmlSecInvalidTransfromError2(left,
+ "transforms types do not match, right transform=\"%s\"",
+ xmlSecErrorsSafeString(xmlSecTransformGetName(right)));
return(-1);
}
/* insert transform */
middle = xmlSecTransformCreate(middleId);
if(middle == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(left)),
- "xmlSecTransformCreate",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "transform=%s",
- xmlSecErrorsSafeString(xmlSecTransformKlassGetName(middleId)));
+ xmlSecInternalError("xmlSecTransformCreate",
+ xmlSecTransformKlassGetName(middleId));
return(-1);
}
left->next = middle;
@@ -2164,11 +1854,9 @@ xmlSecTransformDefaultGetDataType(xmlSecTransformPtr transform, xmlSecTransformM
}
break;
default:
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- NULL,
- XMLSEC_ERRORS_R_INVALID_DATA,
- "mode=%d", mode);
+ xmlSecInvalidIntegerDataError("mode", mode,
+ "xmlSecTransformModePush,xmlSecTransformModePop",
+ xmlSecTransformGetName(transform));
return(xmlSecTransformDataTypeUnknown);
}
@@ -2214,11 +1902,9 @@ xmlSecTransformDefaultPushBin(xmlSecTransformPtr transform, const xmlSecByte* da
ret = xmlSecBufferAppend(&(transform->inBuf), data, chunkSize);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecBufferAppend",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "size=%d", chunkSize);
+ xmlSecInternalError2("xmlSecBufferAppend",
+ xmlSecTransformGetName(transform),
+ "size=%d", chunkSize);
return(-1);
}
@@ -2227,16 +1913,12 @@ xmlSecTransformDefaultPushBin(xmlSecTransformPtr transform, const xmlSecByte* da
}
/* process data */
- inSize = xmlSecBufferGetSize(&(transform->inBuf));
- outSize = xmlSecBufferGetSize(&(transform->outBuf));
finalData = (((dataSize == 0) && (final != 0)) ? 1 : 0);
ret = xmlSecTransformExecute(transform, finalData, transformCtx);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecTransformExecute",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "final=%d", final);
+ xmlSecInternalError2("xmlSecTransformExecute",
+ xmlSecTransformGetName(transform),
+ "final=%d", final);
return(-1);
}
@@ -2259,11 +1941,9 @@ xmlSecTransformDefaultPushBin(xmlSecTransformPtr transform, const xmlSecByte* da
finalData,
transformCtx);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform->next)),
- "xmlSecTransformPushBin",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "final=%d;outSize=%d", final, outSize);
+ xmlSecInternalError3("xmlSecTransformPushBin",
+ xmlSecTransformGetName(transform->next),
+ "final=%d;outSize=%d", final, outSize);
return(-1);
}
}
@@ -2272,11 +1952,9 @@ xmlSecTransformDefaultPushBin(xmlSecTransformPtr transform, const xmlSecByte* da
if(outSize > 0) {
ret = xmlSecBufferRemoveHead(&(transform->outBuf), outSize);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecBufferAppend",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "size=%d", outSize);
+ xmlSecInternalError2("xmlSecBufferAppend",
+ xmlSecTransformGetName(transform),
+ "size=%d", outSize);
return(-1);
}
}
@@ -2301,7 +1979,8 @@ xmlSecTransformDefaultPushBin(xmlSecTransformPtr transform, const xmlSecByte* da
*/
int
xmlSecTransformDefaultPopBin(xmlSecTransformPtr transform, xmlSecByte* data,
- xmlSecSize maxDataSize, xmlSecSize* dataSize, xmlSecTransformCtxPtr transformCtx) {
+ xmlSecSize maxDataSize, xmlSecSize* dataSize,
+ xmlSecTransformCtxPtr transformCtx) {
xmlSecSize outSize;
int final = 0;
int ret;
@@ -2322,11 +2001,9 @@ xmlSecTransformDefaultPopBin(xmlSecTransformPtr transform, xmlSecByte* data,
/* ensure that we have space for at least one data chunk */
ret = xmlSecBufferSetMaxSize(&(transform->inBuf), inSize + chunkSize);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecBufferSetMaxSize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "size=%d", inSize + chunkSize);
+ xmlSecInternalError2("xmlSecBufferSetMaxSize",
+ xmlSecTransformGetName(transform),
+ "size=%d", inSize + chunkSize);
return(-1);
}
@@ -2335,11 +2012,8 @@ xmlSecTransformDefaultPopBin(xmlSecTransformPtr transform, xmlSecByte* data,
xmlSecBufferGetData(&(transform->inBuf)) + inSize,
chunkSize, &chunkSize, transformCtx);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform->prev)),
- "xmlSecTransformPopBin",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecTransformPopBin",
+ xmlSecTransformGetName(transform->prev));
return(-1);
}
@@ -2347,11 +2021,9 @@ xmlSecTransformDefaultPopBin(xmlSecTransformPtr transform, xmlSecByte* data,
if(chunkSize > 0) {
ret = xmlSecBufferSetSize(&(transform->inBuf), inSize + chunkSize);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecBufferSetSize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "size=%d", inSize + chunkSize);
+ xmlSecInternalError2("xmlSecBufferSetSize",
+ xmlSecTransformGetName(transform),
+ "size=%d", inSize + chunkSize);
return(-1);
}
final = 0; /* the previous transform returned some data..*/
@@ -2365,11 +2037,8 @@ xmlSecTransformDefaultPopBin(xmlSecTransformPtr transform, xmlSecByte* data,
/* execute our transform */
ret = xmlSecTransformExecute(transform, final, transformCtx);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecTransformExecute",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecTransformExecute",
+ xmlSecTransformGetName(transform));
return(-1);
}
}
@@ -2391,11 +2060,9 @@ xmlSecTransformDefaultPopBin(xmlSecTransformPtr transform, xmlSecByte* data,
ret = xmlSecBufferRemoveHead(&(transform->outBuf), outSize);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecBufferRemoveHead",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "size=%d", outSize);
+ xmlSecInternalError2("xmlSecBufferRemoveHead",
+ xmlSecTransformGetName(transform),
+ "size=%d", outSize);
return(-1);
}
}
@@ -2430,11 +2097,8 @@ xmlSecTransformDefaultPushXml(xmlSecTransformPtr transform, xmlSecNodeSetPtr nod
transform->inNodes = nodes;
ret = xmlSecTransformExecute(transform, 1, transformCtx);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecTransformExecute",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecTransformExecute",
+ xmlSecTransformGetName(transform));
return(-1);
}
@@ -2442,11 +2106,8 @@ xmlSecTransformDefaultPushXml(xmlSecTransformPtr transform, xmlSecNodeSetPtr nod
if(transform->next != NULL) {
ret = xmlSecTransformPushXml(transform->next, transform->outNodes, transformCtx);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecTransformPushXml",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecTransformPushXml",
+ xmlSecTransformGetName(transform));
return(-1);
}
}
@@ -2478,11 +2139,8 @@ xmlSecTransformDefaultPopXml(xmlSecTransformPtr transform, xmlSecNodeSetPtr* nod
if(transform->prev != NULL) {
ret = xmlSecTransformPopXml(transform->prev, &(transform->inNodes), transformCtx);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecTransformPopXml",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecTransformPopXml",
+ xmlSecTransformGetName(transform));
return(-1);
}
}
@@ -2490,11 +2148,8 @@ xmlSecTransformDefaultPopXml(xmlSecTransformPtr transform, xmlSecNodeSetPtr* nod
/* execute our transform */
ret = xmlSecTransformExecute(transform, 1, transformCtx);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecTransformExecute",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecTransformExecute",
+ xmlSecTransformGetName(transform));
return(-1);
}
@@ -2733,21 +2388,16 @@ xmlSecTransformCreateOutputBuffer(xmlSecTransformPtr transform, xmlSecTransformC
/* check that we have binary push method for this transform */
type = xmlSecTransformDefaultGetDataType(transform, xmlSecTransformModePush, transformCtx);
if((type & xmlSecTransformDataTypeBin) == 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- NULL,
- XMLSEC_ERRORS_R_INVALID_TRANSFORM,
- "push binary data not supported");
+ xmlSecInvalidTransfromError2(transform,
+ "push binary data not supported, type=\"%d\"",
+ (int)type);
return(NULL);
}
buffer = xmlSecTransformIOBufferCreate(xmlSecTransformIOBufferModeWrite, transform, transformCtx);
if(buffer == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecTransformIOBufferCreate",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecTransformIOBufferCreate",
+ xmlSecTransformGetName(transform));
return(NULL);
}
@@ -2756,11 +2406,7 @@ xmlSecTransformCreateOutputBuffer(xmlSecTransformPtr transform, xmlSecTransformC
buffer,
NULL);
if(output == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlOutputBufferCreateIO",
- XMLSEC_ERRORS_R_XML_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecXmlError("xmlOutputBufferCreateIO", xmlSecTransformGetName(transform));
xmlSecTransformIOBufferDestroy(buffer);
return(NULL);
}
@@ -2789,21 +2435,16 @@ xmlSecTransformCreateInputBuffer(xmlSecTransformPtr transform, xmlSecTransformCt
/* check that we have binary pop method for this transform */
type = xmlSecTransformDefaultGetDataType(transform, xmlSecTransformModePop, transformCtx);
if((type & xmlSecTransformDataTypeBin) == 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- NULL,
- XMLSEC_ERRORS_R_INVALID_TRANSFORM,
- "pop binary data not supported");
+ xmlSecInvalidTransfromError2(transform,
+ "pop binary data not supported, type=\"%d\"",
+ (int)type);
return(NULL);
}
buffer = xmlSecTransformIOBufferCreate(xmlSecTransformIOBufferModeRead, transform, transformCtx);
if(buffer == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecTransformIOBufferCreate",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecTransformIOBufferCreate",
+ xmlSecTransformGetName(transform));
return(NULL);
}
@@ -2812,11 +2453,7 @@ xmlSecTransformCreateInputBuffer(xmlSecTransformPtr transform, xmlSecTransformCt
buffer,
XML_CHAR_ENCODING_NONE);
if(input == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlParserInputBufferCreateIO",
- XMLSEC_ERRORS_R_XML_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecXmlError("xmlParserInputBufferCreateIO", xmlSecTransformGetName(transform));
xmlSecTransformIOBufferDestroy(buffer);
return(NULL);
}
@@ -2834,11 +2471,7 @@ xmlSecTransformIOBufferCreate(xmlSecTransformIOBufferMode mode, xmlSecTransformP
buffer = (xmlSecTransformIOBufferPtr)xmlMalloc(sizeof(xmlSecTransformIOBuffer));
if(buffer == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- NULL,
- XMLSEC_ERRORS_R_MALLOC_FAILED,
- "size=%d", (int)sizeof(xmlSecTransformIOBuffer));
+ xmlSecMallocError(sizeof(xmlSecTransformIOBuffer), NULL);
return(NULL);
}
memset(buffer, 0, sizeof(xmlSecTransformIOBuffer));
@@ -2871,11 +2504,8 @@ xmlSecTransformIOBufferRead(xmlSecTransformIOBufferPtr buffer,
ret = xmlSecTransformPopBin(buffer->transform, buf, size, &size, buffer->transformCtx);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(buffer->transform)),
- "xmlSecTransformPopBin",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecTransformPopBin",
+ xmlSecTransformGetName(buffer->transform));
return(-1);
}
return(size);
@@ -2894,11 +2524,8 @@ xmlSecTransformIOBufferWrite(xmlSecTransformIOBufferPtr buffer,
ret = xmlSecTransformPushBin(buffer->transform, buf, size, 0, buffer->transformCtx);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(buffer->transform)),
- "xmlSecTransformPushBin",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecTransformPushBin",
+ xmlSecTransformGetName(buffer->transform));
return(-1);
}
return(size);
@@ -2916,11 +2543,8 @@ xmlSecTransformIOBufferClose(xmlSecTransformIOBufferPtr buffer) {
if(buffer->mode == xmlSecTransformIOBufferModeWrite) {
ret = xmlSecTransformPushBin(buffer->transform, NULL, 0, 1, buffer->transformCtx);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(buffer->transform)),
- "xmlSecTransformPushBin",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecTransformPushBin",
+ xmlSecTransformGetName(buffer->transform));
return(-1);
}
}
diff --git a/src/x509.c b/src/x509.c
index c414ec5..d03f45b 100644
--- a/src/x509.c
+++ b/src/x509.c
@@ -1,4 +1,4 @@
-/**
+/*
* XML Security Library (http://www.aleksey.com/xmlsec).
*
* This is free software; see Copyright file in the source
diff --git a/src/xmldsig.c b/src/xmldsig.c
index faf5545..a3b2c3e 100644
--- a/src/xmldsig.c
+++ b/src/xmldsig.c
@@ -1,4 +1,4 @@
-/**
+/*
* XML Security Library (http://www.aleksey.com/xmlsec).
*
* "XML Digital Signature" implementation
@@ -72,22 +72,13 @@ xmlSecDSigCtxCreate(xmlSecKeysMngrPtr keysMngr) {
dsigCtx = (xmlSecDSigCtxPtr) xmlMalloc(sizeof(xmlSecDSigCtx));
if(dsigCtx == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- NULL,
- XMLSEC_ERRORS_R_MALLOC_FAILED,
- "sizeof(xmlSecDSigCtx)=%d",
- (int)sizeof(xmlSecDSigCtx));
+ xmlSecMallocError(sizeof(xmlSecDSigCtx), NULL);
return(NULL);
}
ret = xmlSecDSigCtxInitialize(dsigCtx, keysMngr);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecDSigCtxInitialize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecDSigCtxInitialize", NULL);
xmlSecDSigCtxDestroy(dsigCtx);
return(NULL);
}
@@ -130,22 +121,14 @@ xmlSecDSigCtxInitialize(xmlSecDSigCtxPtr dsigCtx, xmlSecKeysMngrPtr keysMngr) {
/* initialize key info */
ret = xmlSecKeyInfoCtxInitialize(&(dsigCtx->keyInfoReadCtx), keysMngr);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecKeyInfoCtxInitialize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeyInfoCtxInitialize", NULL);
return(-1);
}
dsigCtx->keyInfoReadCtx.mode = xmlSecKeyInfoModeRead;
ret = xmlSecKeyInfoCtxInitialize(&(dsigCtx->keyInfoWriteCtx), keysMngr);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecKeyInfoCtxInitialize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeyInfoCtxInitialize", NULL);
return(-1);
}
dsigCtx->keyInfoWriteCtx.mode = xmlSecKeyInfoModeWrite;
@@ -155,11 +138,7 @@ xmlSecDSigCtxInitialize(xmlSecDSigCtxPtr dsigCtx, xmlSecKeysMngrPtr keysMngr) {
/* initializes transforms dsigCtx */
ret = xmlSecTransformCtxInitialize(&(dsigCtx->transformCtx));
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecTransformCtxInitialize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecTransformCtxInitialize", NULL);
return(-1);
}
@@ -167,21 +146,13 @@ xmlSecDSigCtxInitialize(xmlSecDSigCtxPtr dsigCtx, xmlSecKeysMngrPtr keysMngr) {
ret = xmlSecPtrListInitialize(&(dsigCtx->signedInfoReferences),
xmlSecDSigReferenceCtxListId);
if(ret != 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecPtrListInitialize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecPtrListInitialize", NULL);
return(ret);
}
ret = xmlSecPtrListInitialize(&(dsigCtx->manifestReferences),
xmlSecDSigReferenceCtxListId);
if(ret != 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecPtrListInitialize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecPtrListInitialize", NULL);
return(ret);
}
@@ -237,22 +208,14 @@ xmlSecDSigCtxEnableReferenceTransform(xmlSecDSigCtxPtr dsigCtx, xmlSecTransformI
if(dsigCtx->enabledReferenceTransforms == NULL) {
dsigCtx->enabledReferenceTransforms = xmlSecPtrListCreate(xmlSecTransformIdListId);
if(dsigCtx->enabledReferenceTransforms == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecPtrListCreate",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecPtrListCreate", NULL);
return(-1);
}
}
ret = xmlSecPtrListAdd(dsigCtx->enabledReferenceTransforms, (void*)transformId);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecPtrListAdd",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecPtrListAdd", NULL);
return(-1);
}
return(0);
@@ -320,11 +283,7 @@ xmlSecDSigCtxSign(xmlSecDSigCtxPtr dsigCtx, xmlNodePtr tmpl) {
/* read signature template */
ret = xmlSecDSigCtxProcessSignatureNode(dsigCtx, tmpl);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecDSigCtxSignatureProcessNode",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecDSigCtxSignatureProcessNode", NULL);
return(-1);
}
xmlSecAssert2(dsigCtx->signMethod != NULL, -1);
@@ -338,11 +297,7 @@ xmlSecDSigCtxSign(xmlSecDSigCtxPtr dsigCtx, xmlNodePtr tmpl) {
/* check what we've got */
dsigCtx->result = dsigCtx->transformCtx.result;
if((dsigCtx->result == NULL) || (xmlSecBufferGetData(dsigCtx->result) == NULL)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- NULL,
- XMLSEC_ERRORS_R_INVALID_RESULT,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOtherError(XMLSEC_ERRORS_R_INVALID_RESULT, NULL, NULL);
return(-1);
}
@@ -361,7 +316,7 @@ xmlSecDSigCtxSign(xmlSecDSigCtxPtr dsigCtx, xmlNodePtr tmpl) {
* @dsigCtx: the pointer to <dsig:Signature/> processing context.
* @node: the pointer with <dsig:Signature/> node.
*
- * Vaidates signature in the @node. The verification result is returned
+ * Validates signature in the @node. The verification result is returned
* in #status member of the @dsigCtx object.
*
* Returns: 0 on success (check #status member of @dsigCtx to get
@@ -383,11 +338,7 @@ xmlSecDSigCtxVerify(xmlSecDSigCtxPtr dsigCtx, xmlNodePtr node) {
/* read signature info */
ret = xmlSecDSigCtxProcessSignatureNode(dsigCtx, node);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecDSigCtxSignatureProcessNode",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecDSigCtxSignatureProcessNode", NULL);
return(-1);
}
xmlSecAssert2(dsigCtx->signMethod != NULL, -1);
@@ -402,11 +353,7 @@ xmlSecDSigCtxVerify(xmlSecDSigCtxPtr dsigCtx, xmlNodePtr node) {
ret = xmlSecTransformVerifyNodeContent(dsigCtx->signMethod, dsigCtx->signValueNode,
&(dsigCtx->transformCtx));
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecTransformVerifyNodeContent",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecTransformVerifyNodeContent", NULL);
return(-1);
}
@@ -487,12 +434,7 @@ xmlSecDSigCtxProcessSignatureNode(xmlSecDSigCtxPtr dsigCtx, xmlNodePtr node) {
xmlSecAssert2(node != NULL, -1);
if(!xmlSecCheckNodeName(node, xmlSecNodeSignature, xmlSecDSigNs)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- xmlSecErrorsSafeString(xmlSecNodeGetName(node)),
- XMLSEC_ERRORS_R_INVALID_NODE,
- "expected=%s",
- xmlSecErrorsSafeString(xmlSecNodeSignature));
+ xmlSecInvalidNodeError(node, xmlSecNodeSignature, NULL);
return(-1);
}
@@ -503,12 +445,7 @@ xmlSecDSigCtxProcessSignatureNode(xmlSecDSigCtxPtr dsigCtx, xmlNodePtr node) {
/* first node is required SignedInfo */
cur = xmlSecGetNextElementNode(node->children);
if((cur == NULL) || (!xmlSecCheckNodeName(cur, xmlSecNodeSignedInfo, xmlSecDSigNs))) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- xmlSecErrorsSafeString(xmlSecNodeGetName(cur)),
- XMLSEC_ERRORS_R_INVALID_NODE,
- "expected=%s",
- xmlSecErrorsSafeString(xmlSecNodeSignedInfo));
+ xmlSecInvalidNodeError(cur, xmlSecNodeSignedInfo, NULL);
return(-1);
}
signedInfoNode = cur;
@@ -516,12 +453,7 @@ xmlSecDSigCtxProcessSignatureNode(xmlSecDSigCtxPtr dsigCtx, xmlNodePtr node) {
/* next node is required SignatureValue */
if((cur == NULL) || (!xmlSecCheckNodeName(cur, xmlSecNodeSignatureValue, xmlSecDSigNs))) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- xmlSecErrorsSafeString(xmlSecNodeGetName(cur)),
- XMLSEC_ERRORS_R_INVALID_NODE,
- "expected=%s",
- xmlSecErrorsSafeString(xmlSecNodeSignatureValue));
+ xmlSecInvalidNodeError(cur, xmlSecNodeSignatureValue, NULL);
return(-1);
}
dsigCtx->signValueNode = cur;
@@ -541,11 +473,7 @@ xmlSecDSigCtxProcessSignatureNode(xmlSecDSigCtxPtr dsigCtx, xmlNodePtr node) {
if((dsigCtx->flags & XMLSEC_DSIG_FLAGS_IGNORE_MANIFESTS) == 0) {
ret = xmlSecDSigCtxProcessObjectNode(dsigCtx, cur);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecDSigCtxProcessObjectNode",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecDSigCtxProcessObjectNode", NULL);
return(-1);
}
}
@@ -554,22 +482,14 @@ xmlSecDSigCtxProcessSignatureNode(xmlSecDSigCtxPtr dsigCtx, xmlNodePtr node) {
/* if there is something left than it's an error */
if(cur != NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- xmlSecErrorsSafeString(xmlSecNodeGetName(cur)),
- XMLSEC_ERRORS_R_UNEXPECTED_NODE,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecUnexpectedNodeError(cur, NULL);
return(-1);
}
/* now validated all the references and prepare transform */
ret = xmlSecDSigCtxProcessSignedInfoNode(dsigCtx, signedInfoNode, &firstReferenceNode);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecDSigCtxProcessSignedInfoNode",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecDSigCtxProcessSignedInfoNode", NULL);
return(-1);
}
@@ -580,11 +500,7 @@ xmlSecDSigCtxProcessSignatureNode(xmlSecDSigCtxPtr dsigCtx, xmlNodePtr node) {
/* now read key info node */
ret = xmlSecDSigCtxProcessKeyInfoNode(dsigCtx, keyInfoNode);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecDSigCtxProcessKeyInfoNode",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecDSigCtxProcessKeyInfoNode", NULL);
return(-1);
}
/* as the result, we should have a key */
@@ -593,11 +509,7 @@ xmlSecDSigCtxProcessSignatureNode(xmlSecDSigCtxPtr dsigCtx, xmlNodePtr node) {
/* now actually process references and calculate digests */
ret = xmlSecDSigCtxProcessReferences(dsigCtx, firstReferenceNode);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecDSigCtxProcessReferences",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecDSigCtxProcessReferences", NULL);
return(-1);
}
/* references processing might change the status */
@@ -613,11 +525,7 @@ xmlSecDSigCtxProcessSignatureNode(xmlSecDSigCtxPtr dsigCtx, xmlNodePtr node) {
base64Encode = xmlSecTransformCtxCreateAndAppend(&(dsigCtx->transformCtx),
xmlSecTransformBase64Id);
if(base64Encode == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecTransformCtxCreateAndAppend",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecTransformCtxCreateAndAppend", NULL);
return(-1);
}
base64Encode->operation = xmlSecTransformOperationEncode;
@@ -632,34 +540,21 @@ xmlSecDSigCtxProcessSignatureNode(xmlSecDSigCtxPtr dsigCtx, xmlNodePtr node) {
xmlSecAssert2(signedInfoNode != NULL, -1);
nodeset = xmlSecNodeSetGetChildren(signedInfoNode->doc, signedInfoNode, 1, 0);
if(nodeset == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecNodeSetGetChildren",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeGetName(signedInfoNode)));
+ xmlSecInternalError("xmlSecNodeSetGetChildren(signedInfoNode)", NULL);
return(-1);
}
/* calculate the signature */
ret = xmlSecTransformCtxXmlExecute(&(dsigCtx->transformCtx), nodeset);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecTransformCtxXmlExecute",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecTransformCtxXmlExecute", NULL);
xmlSecNodeSetDestroy(nodeset);
return(-1);
}
xmlSecNodeSetDestroy(nodeset);
} else {
/* TODO */
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "the binary c14n transforms are not supported yet",
- XMLSEC_ERRORS_R_NOT_IMPLEMENTED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecNotImplementedError("binary c14n transforms");
return(-1);
}
return(0);
@@ -719,12 +614,8 @@ xmlSecDSigCtxProcessSignedInfoNode(xmlSecDSigCtxPtr dsigCtx, xmlNodePtr node, xm
dsigCtx->c14nMethod = xmlSecTransformCtxNodeRead(&(dsigCtx->transformCtx),
cur, xmlSecTransformUsageC14NMethod);
if(dsigCtx->c14nMethod == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecTransformCtxNodeRead",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeGetName(cur)));
+ xmlSecInternalError2("xmlSecTransformCtxNodeRead", NULL,
+ "node=%s", xmlSecErrorsSafeString(xmlSecNodeGetName(cur)));
return(-1);
}
} else if(dsigCtx->defC14NMethodId != xmlSecTransformIdUnknown) {
@@ -734,20 +625,14 @@ xmlSecDSigCtxProcessSignedInfoNode(xmlSecDSigCtxPtr dsigCtx, xmlNodePtr node, xm
dsigCtx->c14nMethod = xmlSecTransformCtxCreateAndAppend(&(dsigCtx->transformCtx),
dsigCtx->defC14NMethodId);
if(dsigCtx->c14nMethod == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecTransformCtxAppend",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecTransformCtxAppend", NULL);
return(-1);
}
} else {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "CanonicalizationMethod",
- XMLSEC_ERRORS_R_INVALID_NODE,
- "expected=%s",
- xmlSecErrorsSafeString(xmlSecNodeCanonicalizationMethod));
+ /* if c14n method is not specified in the template and not specified in
+ * the dsig context then it's an error.
+ */
+ xmlSecInvalidNodeError(cur, xmlSecNodeCanonicalizationMethod, NULL);
return(-1);
}
@@ -757,12 +642,8 @@ xmlSecDSigCtxProcessSignedInfoNode(xmlSecDSigCtxPtr dsigCtx, xmlNodePtr node, xm
dsigCtx->preSignMemBufMethod = xmlSecTransformCtxCreateAndAppend(&(dsigCtx->transformCtx),
xmlSecTransformMemBufId);
if(dsigCtx->preSignMemBufMethod == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecTransformCtxCreateAndAppend",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "transform=%s",
- xmlSecErrorsSafeString(xmlSecTransformKlassGetName(xmlSecTransformMemBufId)));
+ xmlSecInternalError("xmlSecTransformCtxCreateAndAppend",
+ xmlSecTransformKlassGetName(xmlSecTransformMemBufId));
}
}
@@ -772,12 +653,8 @@ xmlSecDSigCtxProcessSignedInfoNode(xmlSecDSigCtxPtr dsigCtx, xmlNodePtr node, xm
dsigCtx->signMethod = xmlSecTransformCtxNodeRead(&(dsigCtx->transformCtx),
cur, xmlSecTransformUsageSignatureMethod);
if(dsigCtx->signMethod == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecTransformCtxNodeRead",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeGetName(cur)));
+ xmlSecInternalError("xmlSecTransformCtxNodeRead",
+ xmlSecNodeGetName(cur));
return(-1);
}
} else if(dsigCtx->defSignMethodId != xmlSecTransformIdUnknown) {
@@ -787,20 +664,14 @@ xmlSecDSigCtxProcessSignedInfoNode(xmlSecDSigCtxPtr dsigCtx, xmlNodePtr node, xm
dsigCtx->signMethod = xmlSecTransformCtxCreateAndAppend(&(dsigCtx->transformCtx),
dsigCtx->defSignMethodId);
if(dsigCtx->signMethod == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecTransformCtxAppend",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecTransformCtxAppend", NULL);
return(-1);
}
} else {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- xmlSecErrorsSafeString(xmlSecNodeGetName(cur)),
- XMLSEC_ERRORS_R_INVALID_NODE,
- "expected=%s",
- xmlSecErrorsSafeString(xmlSecNodeSignatureMethod));
+ /* if sign method is not specified in the template and not specified in
+ * the dsig context then it's an error.
+ */
+ xmlSecInvalidNodeError(cur, xmlSecNodeSignatureMethod, NULL);
return(-1);
}
dsigCtx->signMethod->operation = dsigCtx->operation;
@@ -822,21 +693,13 @@ xmlSecDSigCtxProcessSignedInfoNode(xmlSecDSigCtxPtr dsigCtx, xmlNodePtr node, xm
/* check that we have at least one Reference */
if(refNodesCount == 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- NULL,
- XMLSEC_ERRORS_R_DSIG_NO_REFERENCES,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOtherError(XMLSEC_ERRORS_R_DSIG_NO_REFERENCES, NULL, NULL);
return(-1);
}
/* if there is something left than it's an error */
if(cur != NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- xmlSecErrorsSafeString(xmlSecNodeGetName(cur)),
- XMLSEC_ERRORS_R_UNEXPECTED_NODE,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecUnexpectedNodeError(cur, NULL);
return(-1);
}
@@ -861,34 +724,21 @@ xmlSecDSigCtxProcessReferences(xmlSecDSigCtxPtr dsigCtx, xmlNodePtr firstReferen
for(cur = firstReferenceNode; (cur != NULL); cur = xmlSecGetNextElementNode(cur->next)) {
/* already checked but we trust none */
if(!xmlSecCheckNodeName(cur, xmlSecNodeReference, xmlSecDSigNs)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- xmlSecErrorsSafeString(xmlSecNodeGetName(cur)),
- XMLSEC_ERRORS_R_INVALID_NODE,
- "expected=%s",
- xmlSecErrorsSafeString(xmlSecNodeReference));
+ xmlSecInvalidNodeError(cur, xmlSecNodeReference, NULL);
return(-1);
}
/* create reference */
dsigRefCtx = xmlSecDSigReferenceCtxCreate(dsigCtx, xmlSecDSigReferenceOriginSignedInfo);
if(dsigRefCtx == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecDSigReferenceCtxCreate",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecDSigReferenceCtxCreate", NULL);
return(-1);
}
/* add to the list */
ret = xmlSecPtrListAdd(&(dsigCtx->signedInfoReferences), dsigRefCtx);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecPtrListAdd",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecPtrListAdd", NULL);
xmlSecDSigReferenceCtxDestroy(dsigRefCtx);
return(-1);
}
@@ -896,12 +746,8 @@ xmlSecDSigCtxProcessReferences(xmlSecDSigCtxPtr dsigCtx, xmlNodePtr firstReferen
/* process */
ret = xmlSecDSigReferenceCtxProcessNode(dsigRefCtx, cur);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecDSigReferenceCtxProcessNode",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeGetName(cur)));
+ xmlSecInternalError("xmlSecDSigReferenceCtxProcessNode",
+ xmlSecNodeGetName(cur));
return(-1);
}
@@ -927,12 +773,8 @@ xmlSecDSigCtxProcessKeyInfoNode(xmlSecDSigCtxPtr dsigCtx, xmlNodePtr node) {
/* set key requirements */
ret = xmlSecTransformSetKeyReq(dsigCtx->signMethod, &(dsigCtx->keyInfoReadCtx.keyReq));
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecTransformSetKeyReq",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "transform=%s",
- xmlSecErrorsSafeString(xmlSecTransformGetName(dsigCtx->signMethod)));
+ xmlSecInternalError("xmlSecTransformSetKeyReq",
+ xmlSecTransformGetName(dsigCtx->signMethod));
return(-1);
}
@@ -945,23 +787,15 @@ xmlSecDSigCtxProcessKeyInfoNode(xmlSecDSigCtxPtr dsigCtx, xmlNodePtr node) {
/* check that we have exactly what we want */
if((dsigCtx->signKey == NULL) || (!xmlSecKeyMatch(dsigCtx->signKey, NULL, &(dsigCtx->keyInfoReadCtx.keyReq)))) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- NULL,
- XMLSEC_ERRORS_R_KEY_NOT_FOUND,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOtherError(XMLSEC_ERRORS_R_KEY_NOT_FOUND, NULL, NULL);
return(-1);
}
/* set the key to the transform */
ret = xmlSecTransformSetKey(dsigCtx->signMethod, dsigCtx->signKey);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecTransformSetKey",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "transform=%s",
- xmlSecErrorsSafeString(xmlSecTransformGetName(dsigCtx->signMethod)));
+ xmlSecInternalError("xmlSecTransformSetKey",
+ xmlSecTransformGetName(dsigCtx->signMethod));
return(-1);
}
@@ -969,11 +803,7 @@ xmlSecDSigCtxProcessKeyInfoNode(xmlSecDSigCtxPtr dsigCtx, xmlNodePtr node) {
if((node != NULL) && (dsigCtx->operation == xmlSecTransformOperationSign)) {
ret = xmlSecKeyInfoNodeWrite(node, dsigCtx->signKey, &(dsigCtx->keyInfoWriteCtx));
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecKeyInfoNodeWrite",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeyInfoNodeWrite", NULL);
return(-1);
}
}
@@ -1024,11 +854,7 @@ xmlSecDSigCtxProcessObjectNode(xmlSecDSigCtxPtr dsigCtx, xmlNodePtr node) {
if(xmlSecCheckNodeName(cur, xmlSecNodeManifest, xmlSecDSigNs)) {
ret = xmlSecDSigCtxProcessManifestNode(dsigCtx, cur);
if(ret < 0){
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecDSigCtxProcessManifestNode",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecDSigCtxProcessManifestNode", NULL);
return(-1);
}
}
@@ -1083,22 +909,14 @@ xmlSecDSigCtxProcessManifestNode(xmlSecDSigCtxPtr dsigCtx, xmlNodePtr node) {
/* create reference */
dsigRefCtx = xmlSecDSigReferenceCtxCreate(dsigCtx, xmlSecDSigReferenceOriginManifest);
if(dsigRefCtx == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecDSigReferenceCtxCreate",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecDSigReferenceCtxCreate", NULL);
return(-1);
}
/* add to the list */
ret = xmlSecPtrListAdd(&(dsigCtx->manifestReferences), dsigRefCtx);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecPtrListAdd",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecPtrListAdd", NULL);
xmlSecDSigReferenceCtxDestroy(dsigRefCtx);
return(-1);
}
@@ -1106,12 +924,8 @@ xmlSecDSigCtxProcessManifestNode(xmlSecDSigCtxPtr dsigCtx, xmlNodePtr node) {
/* process */
ret = xmlSecDSigReferenceCtxProcessNode(dsigRefCtx, cur);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecDSigReferenceCtxProcessNode",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeGetName(cur)));
+ xmlSecInternalError("xmlSecDSigReferenceCtxProcessNode",
+ xmlSecNodeGetName(cur));
return(-1);
}
@@ -1122,11 +936,7 @@ xmlSecDSigCtxProcessManifestNode(xmlSecDSigCtxPtr dsigCtx, xmlNodePtr node) {
/* we should have nothing else here */
if(cur != NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- xmlSecErrorsSafeString(xmlSecNodeGetName(cur)),
- XMLSEC_ERRORS_R_UNEXPECTED_NODE,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecUnexpectedNodeError(cur, NULL);
return(-1);
}
return(0);
@@ -1332,22 +1142,13 @@ xmlSecDSigReferenceCtxCreate(xmlSecDSigCtxPtr dsigCtx, xmlSecDSigReferenceOrigin
dsigRefCtx = (xmlSecDSigReferenceCtxPtr) xmlMalloc(sizeof(xmlSecDSigReferenceCtx));
if(dsigRefCtx == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- NULL,
- XMLSEC_ERRORS_R_MALLOC_FAILED,
- "sizeof(xmlSecDSigReferenceCtx)=%d",
- (int)sizeof(xmlSecDSigReferenceCtx));
+ xmlSecMallocError(sizeof(xmlSecDSigReferenceCtx), NULL);
return(NULL);
}
ret = xmlSecDSigReferenceCtxInitialize(dsigRefCtx, dsigCtx, origin);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecDSigReferenceCtxInitialize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecDSigReferenceCtxInitialize", NULL);
xmlSecDSigReferenceCtxDestroy(dsigRefCtx);
return(NULL);
}
@@ -1396,11 +1197,7 @@ xmlSecDSigReferenceCtxInitialize(xmlSecDSigReferenceCtxPtr dsigRefCtx, xmlSecDSi
/* initializes transforms dsigRefCtx */
ret = xmlSecTransformCtxInitialize(&(dsigRefCtx->transformCtx));
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecTransformCtxInitialize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecTransformCtxInitialize", NULL);
return(-1);
}
@@ -1409,11 +1206,7 @@ xmlSecDSigReferenceCtxInitialize(xmlSecDSigReferenceCtxPtr dsigRefCtx, xmlSecDSi
ret = xmlSecPtrListCopy(&(dsigRefCtx->transformCtx.enabledTransforms),
dsigCtx->enabledReferenceTransforms);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecPtrListCopy",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecPtrListCopy", NULL);
return(-1);
}
}
@@ -1513,12 +1306,8 @@ xmlSecDSigReferenceCtxProcessNode(xmlSecDSigReferenceCtxPtr dsigRefCtx, xmlNodeP
/* set start URI (and check that it is enabled!) */
ret = xmlSecTransformCtxSetUri(transformCtx, dsigRefCtx->uri, node);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecTransformCtxSetUri",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "uri=%s",
- xmlSecErrorsSafeString(dsigRefCtx->uri));
+ xmlSecInternalError2("xmlSecTransformCtxSetUri", NULL,
+ "uri=%s", xmlSecErrorsSafeString(dsigRefCtx->uri));
return(-1);
}
@@ -1528,12 +1317,8 @@ xmlSecDSigReferenceCtxProcessNode(xmlSecDSigReferenceCtxPtr dsigRefCtx, xmlNodeP
ret = xmlSecTransformCtxNodesListRead(transformCtx,
cur, xmlSecTransformUsageDSigTransform);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecTransformCtxNodesListRead",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeGetName(cur)));
+ xmlSecInternalError2("xmlSecTransformCtxNodesListRead", NULL,
+ "node=%s", xmlSecErrorsSafeString(xmlSecNodeGetName(cur)));
return(-1);
}
@@ -1551,12 +1336,7 @@ xmlSecDSigReferenceCtxProcessNode(xmlSecDSigReferenceCtxPtr dsigRefCtx, xmlNodeP
transformCtx,
xmlSecTransformMemBufId);
if(dsigRefCtx->preDigestMemBufMethod == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecTransformCtxCreateAndAppend",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "transform=%s",
- xmlSecErrorsSafeString(xmlSecTransformKlassGetName(xmlSecTransformMemBufId)));
+ xmlSecInternalError("xmlSecTransformCtxCreateAndAppend(xmlSecTransformMemBufId)", NULL);
return(-1);
}
}
@@ -1566,12 +1346,8 @@ xmlSecDSigReferenceCtxProcessNode(xmlSecDSigReferenceCtxPtr dsigRefCtx, xmlNodeP
dsigRefCtx->digestMethod = xmlSecTransformCtxNodeRead(&(dsigRefCtx->transformCtx),
cur, xmlSecTransformUsageDigestMethod);
if(dsigRefCtx->digestMethod == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecTransformCtxNodeRead",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeGetName(cur)));
+ xmlSecInternalError("xmlSecTransformCtxNodeRead",
+ xmlSecNodeGetName(cur));
return(-1);
}
@@ -1583,20 +1359,14 @@ xmlSecDSigReferenceCtxProcessNode(xmlSecDSigReferenceCtxPtr dsigRefCtx, xmlNodeP
dsigRefCtx->digestMethod = xmlSecTransformCtxCreateAndAppend(&(dsigRefCtx->transformCtx),
dsigRefCtx->dsigCtx->defSignMethodId);
if(dsigRefCtx->digestMethod == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecTransformCtxAppend",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecTransformCtxAppend", NULL);
return(-1);
}
} else {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- xmlSecErrorsSafeString(xmlSecNodeGetName(cur)),
- XMLSEC_ERRORS_R_INVALID_NODE,
- "expected=%s",
- xmlSecErrorsSafeString(xmlSecNodeDigestMethod));
+ /* if digest method is not specified in the template and not specified in
+ * the dsig context then it's an error.
+ */
+ xmlSecInvalidNodeError(cur, xmlSecNodeDigestMethod, NULL);
return(-1);
}
dsigRefCtx->digestMethod->operation = dsigRefCtx->dsigCtx->operation;
@@ -1606,22 +1376,13 @@ xmlSecDSigReferenceCtxProcessNode(xmlSecDSigReferenceCtxPtr dsigRefCtx, xmlNodeP
digestValueNode = cur;
cur = xmlSecGetNextElementNode(cur->next);
} else {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- xmlSecErrorsSafeString(xmlSecNodeGetName(cur)),
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeDigestValue));
+ xmlSecInvalidNodeError(cur, xmlSecNodeDigestValue, NULL);
return(-1);
}
/* if we have something else then it's an error */
if(cur != NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- xmlSecErrorsSafeString(xmlSecNodeGetName(cur)),
- XMLSEC_ERRORS_R_UNEXPECTED_NODE,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecUnexpectedNodeError(cur, NULL);
return(-1);
}
@@ -1632,11 +1393,7 @@ xmlSecDSigReferenceCtxProcessNode(xmlSecDSigReferenceCtxPtr dsigRefCtx, xmlNodeP
/* we need to add base64 encode transform */
base64Encode = xmlSecTransformCtxCreateAndAppend(transformCtx, xmlSecTransformBase64Id);
if(base64Encode == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecTransformCtxCreateAndAppend",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecTransformCtxCreateAndAppend", NULL);
return(-1);
}
base64Encode->operation = xmlSecTransformOperationEncode;
@@ -1645,22 +1402,14 @@ xmlSecDSigReferenceCtxProcessNode(xmlSecDSigReferenceCtxPtr dsigRefCtx, xmlNodeP
/* finally get transforms results */
ret = xmlSecTransformCtxExecute(transformCtx, node->doc);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecTransformCtxExecute",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecTransformCtxExecute", NULL);
return(-1);
}
dsigRefCtx->result = transformCtx->result;
if(dsigRefCtx->dsigCtx->operation == xmlSecTransformOperationSign) {
if((dsigRefCtx->result == NULL) || (xmlSecBufferGetData(dsigRefCtx->result) == NULL)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecTransformCtxExecute",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecTransformCtxExecute", NULL);
return(-1);
}
@@ -1676,11 +1425,7 @@ xmlSecDSigReferenceCtxProcessNode(xmlSecDSigReferenceCtxPtr dsigRefCtx, xmlNodeP
ret = xmlSecTransformVerifyNodeContent(dsigRefCtx->digestMethod,
digestValueNode, transformCtx);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecTransformVerifyNodeContent",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecTransformVerifyNodeContent", NULL);
return(-1);
}
diff --git a/src/xmlenc.c b/src/xmlenc.c
index 36c7bca..073af72 100644
--- a/src/xmlenc.c
+++ b/src/xmlenc.c
@@ -1,4 +1,4 @@
-/**
+/*
* XML Security Library (http://www.aleksey.com/xmlsec).
*
* "XML Encryption" implementation
@@ -60,22 +60,13 @@ xmlSecEncCtxCreate(xmlSecKeysMngrPtr keysMngr) {
encCtx = (xmlSecEncCtxPtr) xmlMalloc(sizeof(xmlSecEncCtx));
if(encCtx == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- NULL,
- XMLSEC_ERRORS_R_MALLOC_FAILED,
- "sizeof(xmlSecEncCtx)=%d",
- (int)sizeof(xmlSecEncCtx));
+ xmlSecMallocError(sizeof(xmlSecEncCtx), NULL);
return(NULL);
}
ret = xmlSecEncCtxInitialize(encCtx, keysMngr);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecEncCtxInitialize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecEncCtxInitialize", NULL);
xmlSecEncCtxDestroy(encCtx);
return(NULL);
}
@@ -118,22 +109,14 @@ xmlSecEncCtxInitialize(xmlSecEncCtxPtr encCtx, xmlSecKeysMngrPtr keysMngr) {
/* initialize key info */
ret = xmlSecKeyInfoCtxInitialize(&(encCtx->keyInfoReadCtx), keysMngr);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecKeyInfoCtxInitialize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeyInfoCtxInitialize", NULL);
return(-1);
}
encCtx->keyInfoReadCtx.mode = xmlSecKeyInfoModeRead;
ret = xmlSecKeyInfoCtxInitialize(&(encCtx->keyInfoWriteCtx), keysMngr);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecKeyInfoCtxInitialize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeyInfoCtxInitialize", NULL);
return(-1);
}
encCtx->keyInfoWriteCtx.mode = xmlSecKeyInfoModeWrite;
@@ -143,11 +126,7 @@ xmlSecEncCtxInitialize(xmlSecEncCtxPtr encCtx, xmlSecKeysMngrPtr keysMngr) {
/* initializes transforms encCtx */
ret = xmlSecTransformCtxInitialize(&(encCtx->transformCtx));
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecTransformCtxInitialize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecTransformCtxInitialize", NULL);
return(-1);
}
@@ -261,31 +240,19 @@ xmlSecEncCtxCopyUserPref(xmlSecEncCtxPtr dst, xmlSecEncCtxPtr src) {
ret = xmlSecTransformCtxCopyUserPref(&(dst->transformCtx), &(src->transformCtx));
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecTransformCtxCopyUserPref",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecTransformCtxCopyUserPref", NULL);
return(-1);
}
ret = xmlSecKeyInfoCtxCopyUserPref(&(dst->keyInfoReadCtx), &(src->keyInfoReadCtx));
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecKeyInfoCtxCopyUserPref",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeyInfoCtxCopyUserPref", NULL);
return(-1);
}
ret = xmlSecKeyInfoCtxCopyUserPref(&(dst->keyInfoWriteCtx), &(src->keyInfoWriteCtx));
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecKeyInfoCtxCopyUserPref",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeyInfoCtxCopyUserPref", NULL);
return(-1);
}
@@ -320,22 +287,14 @@ xmlSecEncCtxBinaryEncrypt(xmlSecEncCtxPtr encCtx, xmlNodePtr tmpl,
/* read the template and set encryption method, key, etc. */
ret = xmlSecEncCtxEncDataNodeRead(encCtx, tmpl);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecEncCtxEncDataNodeRead",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecEncCtxEncDataNodeRead", NULL);
return(-1);
}
ret = xmlSecTransformCtxBinaryExecute(&(encCtx->transformCtx), data, dataSize);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecTransformCtxBinaryExecute",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "dataSize=%d",
- dataSize);
+ xmlSecInternalError2("xmlSecTransformCtxBinaryExecute", NULL,
+ "dataSize=%d", dataSize);
return(-1);
}
@@ -344,11 +303,7 @@ xmlSecEncCtxBinaryEncrypt(xmlSecEncCtxPtr encCtx, xmlNodePtr tmpl,
ret = xmlSecEncCtxEncDataNodeWrite(encCtx);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecEncCtxEncDataNodeWrite",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecEncCtxEncDataNodeWrite", NULL);
return(-1);
}
return(0);
@@ -383,21 +338,13 @@ xmlSecEncCtxXmlEncrypt(xmlSecEncCtxPtr encCtx, xmlNodePtr tmpl, xmlNodePtr node)
/* read the template and set encryption method, key, etc. */
ret = xmlSecEncCtxEncDataNodeRead(encCtx, tmpl);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecEncCtxEncDataNodeRead",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecEncCtxEncDataNodeRead", NULL);
return(-1);
}
ret = xmlSecTransformCtxPrepare(&(encCtx->transformCtx), xmlSecTransformDataTypeBin);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecTransformCtxPrepare",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "type=bin");
+ xmlSecInternalError("xmlSecTransformCtxPrepare(TypeBin)", NULL);
return(-1);
}
@@ -405,11 +352,8 @@ xmlSecEncCtxXmlEncrypt(xmlSecEncCtxPtr encCtx, xmlNodePtr tmpl, xmlNodePtr node)
output = xmlSecTransformCreateOutputBuffer(encCtx->transformCtx.first,
&(encCtx->transformCtx));
if(output == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(encCtx->transformCtx.first)),
- "xmlSecTransformCreateOutputBuffer",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecTransformCreateOutputBuffer",
+ xmlSecTransformGetName(encCtx->transformCtx.first));
return(-1);
}
@@ -425,12 +369,8 @@ xmlSecEncCtxXmlEncrypt(xmlSecEncCtxPtr encCtx, xmlNodePtr tmpl, xmlNodePtr node)
xmlNodeDumpOutput(output, node->doc, cur, 0, 0, NULL);
}
} else {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- NULL,
- XMLSEC_ERRORS_R_INVALID_TYPE,
- "type=%s",
- xmlSecErrorsSafeString(encCtx->type));
+ xmlSecInvalidStringTypeError("encryption type", encCtx->type,
+ "supported encryption type", NULL);
xmlOutputBufferClose(output);
return(-1);
}
@@ -438,11 +378,7 @@ xmlSecEncCtxXmlEncrypt(xmlSecEncCtxPtr encCtx, xmlNodePtr tmpl, xmlNodePtr node)
/* close the buffer and flush everything */
ret = xmlOutputBufferClose(output);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlOutputBufferClose",
- XMLSEC_ERRORS_R_XML_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecXmlError("xmlOutputBufferClose", NULL);
return(-1);
}
@@ -451,11 +387,7 @@ xmlSecEncCtxXmlEncrypt(xmlSecEncCtxPtr encCtx, xmlNodePtr tmpl, xmlNodePtr node)
ret = xmlSecEncCtxEncDataNodeWrite(encCtx);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecEncCtxEncDataNodeWrite",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecEncCtxEncDataNodeWrite", NULL);
return(-1);
}
@@ -465,23 +397,15 @@ xmlSecEncCtxXmlEncrypt(xmlSecEncCtxPtr encCtx, xmlNodePtr tmpl, xmlNodePtr node)
if((encCtx->flags & XMLSEC_ENC_RETURN_REPLACED_NODE) != 0) {
ret = xmlSecReplaceNodeAndReturn(node, tmpl, &(encCtx->replacedNodeList));
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecReplaceNode",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeGetName(node)));
+ xmlSecInternalError("xmlSecReplaceNode",
+ xmlSecNodeGetName(node));
return(-1);
}
} else {
ret = xmlSecReplaceNode(node, tmpl);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecReplaceNode",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeGetName(node)));
+ xmlSecInternalError("xmlSecReplaceNode",
+ xmlSecNodeGetName(node));
return(-1);
}
}
@@ -492,38 +416,27 @@ xmlSecEncCtxXmlEncrypt(xmlSecEncCtxPtr encCtx, xmlNodePtr tmpl, xmlNodePtr node)
if((encCtx->flags & XMLSEC_ENC_RETURN_REPLACED_NODE) != 0) {
ret = xmlSecReplaceContentAndReturn(node, tmpl, &(encCtx->replacedNodeList));
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecReplaceContentAndReturn",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeGetName(node)));
+ xmlSecInternalError("xmlSecReplaceContentAndReturn",
+ xmlSecNodeGetName(node));
return(-1);
}
} else {
ret = xmlSecReplaceContent(node, tmpl);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecReplaceContent",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeGetName(node)));
+ xmlSecInternalError("xmlSecReplaceContent",
+ xmlSecNodeGetName(node));
return(-1);
}
}
encCtx->resultReplaced = 1;
} else {
- /* we should've catached this error before */
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- NULL,
- XMLSEC_ERRORS_R_INVALID_TYPE,
- "type=%s",
- xmlSecErrorsSafeString(encCtx->type));
- return(-1);
+ /* we should've caught this error before */
+ xmlSecInvalidStringTypeError("encryption type", encCtx->type,
+ "supported encryption type", NULL);
+ return(-1);
}
+ /* done */
return(0);
}
@@ -553,34 +466,22 @@ xmlSecEncCtxUriEncrypt(xmlSecEncCtxPtr encCtx, xmlNodePtr tmpl, const xmlChar *u
/* we need to add input uri transform first */
ret = xmlSecTransformCtxSetUri(&(encCtx->transformCtx), uri, tmpl);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecTransformCtxSetUri",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "uri=%s",
- xmlSecErrorsSafeString(uri));
+ xmlSecInternalError2("xmlSecTransformCtxSetUri", NULL,
+ "uri=%s", xmlSecErrorsSafeString(uri));
return(-1);
}
/* read the template and set encryption method, key, etc. */
ret = xmlSecEncCtxEncDataNodeRead(encCtx, tmpl);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecEncCtxEncDataNodeRead",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecEncCtxEncDataNodeRead", NULL);
return(-1);
}
/* encrypt the data */
ret = xmlSecTransformCtxExecute(&(encCtx->transformCtx), tmpl->doc);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecTransformCtxExecute",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecTransformCtxExecute", NULL);
return(-1);
}
@@ -589,11 +490,7 @@ xmlSecEncCtxUriEncrypt(xmlSecEncCtxPtr encCtx, xmlNodePtr tmpl, const xmlChar *u
ret = xmlSecEncCtxEncDataNodeWrite(encCtx);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecEncCtxEncDataNodeWrite",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecEncCtxEncDataNodeWrite", NULL);
return(-1);
}
@@ -620,11 +517,7 @@ xmlSecEncCtxDecrypt(xmlSecEncCtxPtr encCtx, xmlNodePtr node) {
/* decrypt */
buffer = xmlSecEncCtxDecryptToBuffer(encCtx, node);
if(buffer == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecEncCtxDecryptToBuffer",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecEncCtxDecryptToBuffer", NULL);
return(-1);
}
@@ -634,23 +527,15 @@ xmlSecEncCtxDecrypt(xmlSecEncCtxPtr encCtx, xmlNodePtr node) {
if((encCtx->flags & XMLSEC_ENC_RETURN_REPLACED_NODE) != 0) {
ret = xmlSecReplaceNodeBufferAndReturn(node, xmlSecBufferGetData(buffer), xmlSecBufferGetSize(buffer), &(encCtx->replacedNodeList));
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecReplaceNodeBufferAndReturn",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeGetName(node)));
+ xmlSecInternalError("xmlSecReplaceNodeBufferAndReturn",
+ xmlSecNodeGetName(node));
return(-1);
}
} else {
ret = xmlSecReplaceNodeBuffer(node, xmlSecBufferGetData(buffer), xmlSecBufferGetSize(buffer));
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecReplaceNodeBuffer",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeGetName(node)));
+ xmlSecInternalError("xmlSecReplaceNodeBuffer",
+ xmlSecNodeGetName(node));
return(-1);
}
}
@@ -663,23 +548,15 @@ xmlSecEncCtxDecrypt(xmlSecEncCtxPtr encCtx, xmlNodePtr node) {
if((encCtx->flags & XMLSEC_ENC_RETURN_REPLACED_NODE) != 0) {
ret = xmlSecReplaceNodeBufferAndReturn(node, xmlSecBufferGetData(buffer), xmlSecBufferGetSize(buffer), &(encCtx->replacedNodeList));
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecReplaceNodeBufferAndReturn",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeGetName(node)));
+ xmlSecInternalError("xmlSecReplaceNodeBufferAndReturn",
+ xmlSecNodeGetName(node));
return(-1);
}
} else {
ret = xmlSecReplaceNodeBuffer(node, xmlSecBufferGetData(buffer), xmlSecBufferGetSize(buffer));
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecReplaceNodeBuffer",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeGetName(node)));
+ xmlSecInternalError("xmlSecReplaceNodeBuffer",
+ xmlSecNodeGetName(node));
return(-1);
}
}
@@ -712,11 +589,7 @@ xmlSecEncCtxDecryptToBuffer(xmlSecEncCtxPtr encCtx, xmlNodePtr node) {
ret = xmlSecEncCtxEncDataNodeRead(encCtx, node);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecEncCtxEncDataNodeRead",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecEncCtxEncDataNodeRead", NULL);
return(NULL);
}
@@ -727,22 +600,14 @@ xmlSecEncCtxDecryptToBuffer(xmlSecEncCtxPtr encCtx, xmlNodePtr node) {
data = xmlNodeGetContent(encCtx->cipherValueNode);
if(data == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- xmlSecErrorsSafeString(xmlSecNodeGetName(encCtx->cipherValueNode)),
- XMLSEC_ERRORS_R_INVALID_NODE_CONTENT,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInvalidNodeContentError(encCtx->cipherValueNode, NULL, "empty");
return(NULL);
}
dataSize = xmlStrlen(data);
ret = xmlSecTransformCtxBinaryExecute(&(encCtx->transformCtx), data, dataSize);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecTransformCtxBinaryExecute",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecTransformCtxBinaryExecute", NULL);
if(data != NULL) {
xmlFree(data);
}
@@ -754,11 +619,7 @@ xmlSecEncCtxDecryptToBuffer(xmlSecEncCtxPtr encCtx, xmlNodePtr node) {
} else {
ret = xmlSecTransformCtxExecute(&(encCtx->transformCtx), node->doc);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecTransformCtxBinaryExecute",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecTransformCtxBinaryExecute", NULL);
return(NULL);
}
}
@@ -781,23 +642,13 @@ xmlSecEncCtxEncDataNodeRead(xmlSecEncCtxPtr encCtx, xmlNodePtr node) {
switch(encCtx->mode) {
case xmlEncCtxModeEncryptedData:
if(!xmlSecCheckNodeName(node, xmlSecNodeEncryptedData, xmlSecEncNs)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- xmlSecErrorsSafeString(xmlSecNodeGetName(node)),
- XMLSEC_ERRORS_R_INVALID_NODE,
- "expected=%s",
- xmlSecErrorsSafeString(xmlSecNodeEncryptedData));
+ xmlSecInvalidNodeError(node, xmlSecNodeEncryptedData, NULL);
return(-1);
}
break;
case xmlEncCtxModeEncryptedKey:
if(!xmlSecCheckNodeName(node, xmlSecNodeEncryptedKey, xmlSecEncNs)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- xmlSecErrorsSafeString(xmlSecNodeGetName(node)),
- XMLSEC_ERRORS_R_INVALID_NODE,
- "expected=%s",
- xmlSecErrorsSafeString(xmlSecNodeEncryptedKey));
+ xmlSecInvalidNodeError(node, xmlSecNodeEncryptedKey, NULL);
return(-1);
}
break;
@@ -837,22 +688,13 @@ xmlSecEncCtxEncDataNodeRead(xmlSecEncCtxPtr encCtx, xmlNodePtr node) {
/* next is required CipherData node */
if((cur == NULL) || (!xmlSecCheckNodeName(cur, xmlSecNodeCipherData, xmlSecEncNs))) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- xmlSecErrorsSafeString(xmlSecNodeGetName(cur)),
- XMLSEC_ERRORS_R_INVALID_NODE,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeCipherData));
+ xmlSecInvalidNodeError(cur, xmlSecNodeCipherData, NULL);
return(-1);
}
ret = xmlSecEncCtxCipherDataNodeRead(encCtx, cur);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecEncCtxCipherDataNodeRead",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecEncCtxCipherDataNodeRead", NULL);
return(-1);
}
cur = xmlSecGetNextElementNode(cur->next);
@@ -873,12 +715,7 @@ xmlSecEncCtxEncDataNodeRead(xmlSecEncCtxPtr encCtx, xmlNodePtr node) {
if((cur != NULL) && (xmlSecCheckNodeName(cur, xmlSecNodeCarriedKeyName, xmlSecEncNs))) {
encCtx->carriedKeyName = xmlNodeGetContent(cur);
if(encCtx->carriedKeyName == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- xmlSecErrorsSafeString(xmlSecNodeGetName(cur)),
- XMLSEC_ERRORS_R_INVALID_NODE_CONTENT,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeCipherData));
+ xmlSecInvalidNodeContentError(cur, NULL, "empty");
return(-1);
}
/* TODO: decode the name? */
@@ -888,11 +725,7 @@ xmlSecEncCtxEncDataNodeRead(xmlSecEncCtxPtr encCtx, xmlNodePtr node) {
/* if there is something left than it's an error */
if(cur != NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- xmlSecErrorsSafeString(xmlSecNodeGetName(cur)),
- XMLSEC_ERRORS_R_UNEXPECTED_NODE,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecUnexpectedNodeError(cur, NULL);
return(-1);
}
@@ -902,31 +735,20 @@ xmlSecEncCtxEncDataNodeRead(xmlSecEncCtxPtr encCtx, xmlNodePtr node) {
encCtx->encMethod = xmlSecTransformCtxNodeRead(&(encCtx->transformCtx), encCtx->encMethodNode,
xmlSecTransformUsageEncryptionMethod);
if(encCtx->encMethod == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecTransformCtxNodeRead",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeGetName(encCtx->encMethodNode)));
+ xmlSecInternalError("xmlSecTransformCtxNodeRead",
+ xmlSecNodeGetName(encCtx->encMethodNode));
return(-1);
}
} else if(encCtx->defEncMethodId != xmlSecTransformIdUnknown) {
encCtx->encMethod = xmlSecTransformCtxCreateAndAppend(&(encCtx->transformCtx),
encCtx->defEncMethodId);
if(encCtx->encMethod == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecTransformCtxAppend",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecTransformCtxCreateAndAppend",
+ xmlSecTransformKlassGetName(encCtx->defEncMethodId));
return(-1);
}
} else {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- NULL,
- XMLSEC_ERRORS_R_INVALID_DATA,
- "encryption method not specified");
+ xmlSecInvalidDataError("encryption method not specified", NULL);
return(-1);
}
encCtx->encMethod->operation = encCtx->operation;
@@ -934,12 +756,8 @@ xmlSecEncCtxEncDataNodeRead(xmlSecEncCtxPtr encCtx, xmlNodePtr node) {
/* we have encryption method, find key */
ret = xmlSecTransformSetKeyReq(encCtx->encMethod, &(encCtx->keyInfoReadCtx.keyReq));
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecTransformSetKeyReq",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "transform=%s",
- xmlSecErrorsSafeString(xmlSecTransformGetName(encCtx->encMethod)));
+ xmlSecInternalError("xmlSecTransformSetKeyReq",
+ xmlSecTransformGetName(encCtx->encMethod));
return(-1);
}
@@ -954,23 +772,17 @@ xmlSecEncCtxEncDataNodeRead(xmlSecEncCtxPtr encCtx, xmlNodePtr node) {
if((encCtx->encKey == NULL) ||
(!xmlSecKeyMatch(encCtx->encKey, NULL, &(encCtx->keyInfoReadCtx.keyReq)))) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- NULL,
- XMLSEC_ERRORS_R_KEY_NOT_FOUND,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecOtherError2(XMLSEC_ERRORS_R_KEY_NOT_FOUND, NULL,
+ "encMethod=%s",
+ xmlSecErrorsSafeString(xmlSecTransformGetName(encCtx->encMethod)));
return(-1);
}
/* set the key to the transform */
ret = xmlSecTransformSetKey(encCtx->encMethod, encCtx->encKey);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecTransformSetKey",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "transform=%s",
- xmlSecErrorsSafeString(xmlSecTransformGetName(encCtx->encMethod)));
+ xmlSecInternalError("xmlSecTransformSetKey",
+ xmlSecTransformGetName(encCtx->encMethod));
return(-1);
}
@@ -981,11 +793,7 @@ xmlSecEncCtxEncDataNodeRead(xmlSecEncCtxPtr encCtx, xmlNodePtr node) {
/* we need to add base64 encode transform */
base64Encode = xmlSecTransformCtxCreateAndAppend(&(encCtx->transformCtx), xmlSecTransformBase64Id);
if(base64Encode == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecTransformCtxCreateAndAppend",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecTransformCtxCreateAndAppend", NULL);
return(-1);
}
base64Encode->operation = xmlSecTransformOperationEncode;
@@ -1017,11 +825,7 @@ xmlSecEncCtxEncDataNodeWrite(xmlSecEncCtxPtr encCtx) {
if(encCtx->keyInfoNode != NULL) {
ret = xmlSecKeyInfoNodeWrite(encCtx->keyInfoNode, encCtx->encKey, &(encCtx->keyInfoWriteCtx));
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecKeyInfoNodeWrite",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeyInfoNodeWrite", NULL);
return(-1);
}
}
@@ -1049,11 +853,7 @@ xmlSecEncCtxCipherDataNodeRead(xmlSecEncCtxPtr encCtx, xmlNodePtr node) {
/* we need to add base64 decode transform */
base64Decode = xmlSecTransformCtxCreateAndPrepend(&(encCtx->transformCtx), xmlSecTransformBase64Id);
if(base64Decode == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecTransformCtxCreateAndPrepend",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecTransformCtxCreateAndPrepend", NULL);
return(-1);
}
}
@@ -1064,12 +864,8 @@ xmlSecEncCtxCipherDataNodeRead(xmlSecEncCtxPtr encCtx, xmlNodePtr node) {
if(encCtx->operation == xmlSecTransformOperationDecrypt) {
ret = xmlSecEncCtxCipherReferenceNodeRead(encCtx, cur);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecEncCtxCipherReferenceNodeRead",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeGetName(cur)));
+ xmlSecInternalError("xmlSecEncCtxCipherReferenceNodeRead",
+ xmlSecNodeGetName(cur));
return(-1);
}
}
@@ -1077,11 +873,7 @@ xmlSecEncCtxCipherDataNodeRead(xmlSecEncCtxPtr encCtx, xmlNodePtr node) {
}
if(cur != NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- xmlSecErrorsSafeString(xmlSecNodeGetName(cur)),
- XMLSEC_ERRORS_R_UNEXPECTED_NODE,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecUnexpectedNodeError(cur, NULL);
return(-1);
}
return(0);
@@ -1100,12 +892,8 @@ xmlSecEncCtxCipherReferenceNodeRead(xmlSecEncCtxPtr encCtx, xmlNodePtr node) {
uri = xmlGetProp(node, xmlSecAttrURI);
ret = xmlSecTransformCtxSetUri(&(encCtx->transformCtx), uri, node);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecTransformCtxSetUri",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "uri=%s",
- xmlSecErrorsSafeString(uri));
+ xmlSecInternalError2("xmlSecTransformCtxSetUri", NULL,
+ "uri=%s", xmlSecErrorsSafeString(uri));
xmlFree(uri);
return(-1);
}
@@ -1118,12 +906,8 @@ xmlSecEncCtxCipherReferenceNodeRead(xmlSecEncCtxPtr encCtx, xmlNodePtr node) {
ret = xmlSecTransformCtxNodesListRead(&(encCtx->transformCtx), cur,
xmlSecTransformUsageDSigTransform);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecTransformCtxNodesListRead",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeGetName(encCtx->encMethodNode)));
+ xmlSecInternalError("xmlSecTransformCtxNodesListRead",
+ xmlSecNodeGetName(encCtx->encMethodNode));
return(-1);
}
cur = xmlSecGetNextElementNode(cur->next);
@@ -1131,11 +915,7 @@ xmlSecEncCtxCipherReferenceNodeRead(xmlSecEncCtxPtr encCtx, xmlNodePtr node) {
/* if there is something left than it's an error */
if(cur != NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- xmlSecErrorsSafeString(xmlSecNodeGetName(cur)),
- XMLSEC_ERRORS_R_UNEXPECTED_NODE,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecUnexpectedNodeError(cur, NULL);
return(-1);
}
return(0);
diff --git a/src/xmlsec.c b/src/xmlsec.c
index 6098d3c..520557d 100644
--- a/src/xmlsec.c
+++ b/src/xmlsec.c
@@ -1,4 +1,4 @@
-/**
+/*
* XML Security Library (http://www.aleksey.com/xmlsec).
*
* General functions.
@@ -23,6 +23,53 @@
#include <xmlsec/io.h>
#include <xmlsec/errors.h>
+/*
+ * Custom external entity handler, denies all files except the initial
+ * document we're parsing (input_id == 1)
+ */
+/* default external entity loader, pointer saved during xmlInit */
+static xmlExternalEntityLoader
+xmlSecDefaultExternalEntityLoader = NULL;
+
+/*
+ * xmlSecNoXxeExternalEntityLoader:
+ * @URL: the URL for the entity to load
+ * @ID: public ID for the entity to load
+ * @ctxt: XML parser context, or NULL
+ *
+ * See libxml2's xmlLoadExternalEntity and xmlNoNetExternalEntityLoader.
+ * This function prevents any external (file or network) entities from being loaded.
+ */
+static xmlParserInputPtr
+xmlSecNoXxeExternalEntityLoader(const char *URL, const char *ID,
+ xmlParserCtxtPtr ctxt) {
+ if (ctxt == NULL) {
+ return(NULL);
+ }
+ if (ctxt->input_id == 1) {
+ return xmlSecDefaultExternalEntityLoader((const char *) URL, ID, ctxt);
+ }
+ xmlSecXmlError2("xmlSecNoXxeExternalEntityLoader", NULL,
+ "illegal external entity='%s'", xmlSecErrorsSafeString(URL));
+ return(NULL);
+}
+
+/*
+ * xmlSecSetExternalEntityLoader:
+ * @entityLoader: the new entity resolver function, or NULL to restore
+ * libxml2's default handler
+ *
+ * Wrapper for xmlSetExternalEntityLoader.
+ */
+void
+xmlSecSetExternalEntityLoader(xmlExternalEntityLoader entityLoader) {
+ if (entityLoader == NULL) {
+ entityLoader = xmlSecDefaultExternalEntityLoader;
+ }
+ xmlSetExternalEntityLoader(entityLoader);
+}
+
+
/**
* xmlSecInit:
*
@@ -38,37 +85,30 @@ xmlSecInit(void) {
#ifndef XMLSEC_NO_CRYPTO_DYNAMIC_LOADING
if(xmlSecCryptoDLInit() < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecCryptoDLInit",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecCryptoDLInit", NULL);
return(-1);
}
#endif /* XMLSEC_NO_CRYPTO_DYNAMIC_LOADING */
if(xmlSecKeyDataIdsInit() < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecKeyDataIdsInit",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecKeyDataIdsInit", NULL);
return(-1);
}
if(xmlSecTransformIdsInit() < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecTransformIdsInit",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecTransformIdsInit", NULL);
return(-1);
}
+ /* initialise safe external entity loader */
+ if (!xmlSecDefaultExternalEntityLoader) {
+ xmlSecDefaultExternalEntityLoader = xmlGetExternalEntityLoader();
+ }
+ xmlSetExternalEntityLoader(xmlSecNoXxeExternalEntityLoader);
/* we use rand() function to generate id attributes */
- srand(time(NULL));
+ srand((unsigned int)time(NULL));
return(0);
}
@@ -88,11 +128,7 @@ xmlSecShutdown(void) {
#ifndef XMLSEC_NO_CRYPTO_DYNAMIC_LOADING
if(xmlSecCryptoDLShutdown() < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecCryptoDLShutdown",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecCryptoDLShutdown", NULL);
res = -1;
}
#endif /* XMLSEC_NO_CRYPTO_DYNAMIC_LOADING */
@@ -129,39 +165,27 @@ int
xmlSecCheckVersionExt(int major, int minor, int subminor, xmlSecCheckVersionMode mode) {
/* we always want to have a match for major version number */
if(major != XMLSEC_VERSION_MAJOR) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- NULL,
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "expected major version=%d;real major version=%d",
- XMLSEC_VERSION_MAJOR, major);
+ xmlSecOtherError3(XMLSEC_ERRORS_R_INVALID_VERSION, NULL,
+ "expected major version=%d;real major version=%d",
+ XMLSEC_VERSION_MAJOR, major);
return(0);
}
switch(mode) {
case xmlSecCheckVersionExactMatch:
if((minor != XMLSEC_VERSION_MINOR) || (subminor != XMLSEC_VERSION_SUBMINOR)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- NULL,
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "mode=exact;expected minor version=%d;real minor version=%d;expected subminor version=%d;real subminor version=%d",
- XMLSEC_VERSION_MINOR, minor,
- XMLSEC_VERSION_SUBMINOR, subminor);
+ xmlSecOtherError5(XMLSEC_ERRORS_R_INVALID_VERSION, NULL,
+ "mode=exact;expected minor version=%d;real minor version=%d;expected subminor version=%d;real subminor version=%d",
+ XMLSEC_VERSION_MINOR, minor, XMLSEC_VERSION_SUBMINOR, subminor);
return(0);
}
break;
case xmlSecCheckVersionABICompatible:
- if((minor > XMLSEC_VERSION_MINOR) ||
- ((minor == XMLSEC_VERSION_MINOR) &&
- (subminor > XMLSEC_VERSION_SUBMINOR))) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- NULL,
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "mode=abi compatible;expected minor version=%d;real minor version=%d;expected subminor version=%d;real subminor version=%d",
- XMLSEC_VERSION_MINOR, minor,
- XMLSEC_VERSION_SUBMINOR, subminor);
+ if((minor > XMLSEC_VERSION_MINOR) || ((minor == XMLSEC_VERSION_MINOR) &&
+ (subminor > XMLSEC_VERSION_SUBMINOR))) {
+ xmlSecOtherError5(XMLSEC_ERRORS_R_INVALID_VERSION, NULL,
+ "mode=abi compatible;expected minor version=%d;real minor version=%d;expected subminor version=%d;real subminor version=%d",
+ XMLSEC_VERSION_MINOR, minor, XMLSEC_VERSION_SUBMINOR, subminor);
return(0);
}
break;
diff --git a/src/xmltree.c b/src/xmltree.c
index 86ad363..4b83044 100644
--- a/src/xmltree.c
+++ b/src/xmltree.c
@@ -1,4 +1,4 @@
-/**
+/*
* XML Security Library (http://www.aleksey.com/xmlsec).
*
* Common XML Doc utility functions
@@ -13,7 +13,6 @@
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
-#include <errno.h>
#include <libxml/tree.h>
#include <libxml/valid.h>
@@ -202,11 +201,7 @@ xmlSecAddChild(xmlNodePtr parent, const xmlChar *name, const xmlChar *ns) {
/* TODO: add indents */
text = xmlNewText(xmlSecStringCR);
if(text == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlNewText",
- XMLSEC_ERRORS_R_XML_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecXmlError("xmlNewText", NULL);
return(NULL);
}
xmlAddChild(parent, text);
@@ -214,11 +209,7 @@ xmlSecAddChild(xmlNodePtr parent, const xmlChar *name, const xmlChar *ns) {
cur = xmlNewChild(parent, NULL, name, NULL);
if(cur == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlNewChild",
- XMLSEC_ERRORS_R_XML_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecXmlError("xmlNewChild", NULL);
return(NULL);
}
@@ -230,6 +221,10 @@ xmlSecAddChild(xmlNodePtr parent, const xmlChar *name, const xmlChar *ns) {
nsPtr = xmlSearchNsByHref(cur->doc, cur, ns);
if((nsPtr == NULL) || (xmlSearchNs(cur->doc, cur, nsPtr->prefix) != nsPtr)) {
nsPtr = xmlNewNs(cur, ns, NULL);
+ if(nsPtr == NULL) {
+ xmlSecXmlError("xmlNewNs", NULL);
+ return(NULL);
+ }
}
xmlSetNs(cur, nsPtr);
}
@@ -237,11 +232,7 @@ xmlSecAddChild(xmlNodePtr parent, const xmlChar *name, const xmlChar *ns) {
/* TODO: add indents */
text = xmlNewText(xmlSecStringCR);
if(text == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlNewText",
- XMLSEC_ERRORS_R_XML_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecXmlError("xmlNewText", NULL);
return(NULL);
}
xmlAddChild(parent, text);
@@ -269,11 +260,7 @@ xmlSecAddChildNode(xmlNodePtr parent, xmlNodePtr child) {
/* TODO: add indents */
text = xmlNewText(xmlSecStringCR);
if(text == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlNewText",
- XMLSEC_ERRORS_R_XML_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecXmlError("xmlNewText", NULL);
return(NULL);
}
xmlAddChild(parent, text);
@@ -284,11 +271,7 @@ xmlSecAddChildNode(xmlNodePtr parent, xmlNodePtr child) {
/* TODO: add indents */
text = xmlNewText(xmlSecStringCR);
if(text == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlNewText",
- XMLSEC_ERRORS_R_XML_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecXmlError("xmlNewText", NULL);
return(NULL);
}
xmlAddChild(parent, text);
@@ -309,7 +292,7 @@ xmlSecAddChildNode(xmlNodePtr parent, xmlNodePtr child) {
* Returns: the pointer to the found or created node; or NULL if an error occurs.
*/
xmlNodePtr
-xmlSecEnsureEmptyChild(const xmlNodePtr parent, const xmlChar *name, const xmlChar *ns) {
+xmlSecEnsureEmptyChild(xmlNodePtr parent, const xmlChar *name, const xmlChar *ns) {
xmlNodePtr cur = NULL;
xmlNodePtr tmp;
@@ -335,12 +318,8 @@ xmlSecEnsureEmptyChild(const xmlNodePtr parent, const xmlChar *name, const xmlCh
cur = xmlSecAddNextSibling(cur, name, ns);
}
if(cur == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecAddChild or xmlSecAddNextSibling",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(name));
+ xmlSecInternalError2("xmlSecAddChild or xmlSecAddNextSibling", NULL,
+ "node=%s", xmlSecErrorsSafeString(name));
return(NULL);
}
return(cur);
@@ -366,11 +345,7 @@ xmlSecAddNextSibling(xmlNodePtr node, const xmlChar *name, const xmlChar *ns) {
cur = xmlNewNode(NULL, name);
if(cur == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlNewNode",
- XMLSEC_ERRORS_R_XML_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecXmlError("xmlNewNode", NULL);
return(NULL);
}
xmlAddNextSibling(node, cur);
@@ -390,11 +365,7 @@ xmlSecAddNextSibling(xmlNodePtr node, const xmlChar *name, const xmlChar *ns) {
/* TODO: add indents */
text = xmlNewText(xmlSecStringCR);
if(text == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlNewText",
- XMLSEC_ERRORS_R_XML_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecXmlError("xmlNewText", NULL);
return(NULL);
}
xmlAddNextSibling(node, text);
@@ -422,11 +393,7 @@ xmlSecAddPrevSibling(xmlNodePtr node, const xmlChar *name, const xmlChar *ns) {
cur = xmlNewNode(NULL, name);
if(cur == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlNewNode",
- XMLSEC_ERRORS_R_XML_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecXmlError("xmlNewNode", NULL);
return(NULL);
}
xmlAddPrevSibling(node, cur);
@@ -446,11 +413,7 @@ xmlSecAddPrevSibling(xmlNodePtr node, const xmlChar *name, const xmlChar *ns) {
/* TODO: add indents */
text = xmlNewText(xmlSecStringCR);
if(text == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlNewText",
- XMLSEC_ERRORS_R_XML_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecXmlError("xmlNewText", NULL);
return(NULL);
}
xmlAddPrevSibling(node, text);
@@ -518,11 +481,7 @@ xmlSecReplaceNodeAndReturn(xmlNodePtr node, xmlNodePtr newNode, xmlNodePtr* repl
oldNode = xmlReplaceNode(node, newNode);
if(oldNode == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlReplaceNode",
- XMLSEC_ERRORS_R_XML_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecXmlError("xmlReplaceNode", NULL);
return(-1);
}
@@ -630,17 +589,15 @@ int
xmlSecReplaceNodeBufferAndReturn(xmlNodePtr node, const xmlSecByte *buffer, xmlSecSize size, xmlNodePtr *replaced) {
xmlNodePtr results = NULL;
xmlNodePtr next = NULL;
+ int ret;
xmlSecAssert2(node != NULL, -1);
xmlSecAssert2(node->parent != NULL, -1);
/* parse buffer in the context of node's parent */
- if(xmlParseInNodeContext(node->parent, (const char*)buffer, size, XML_PARSE_NODICT, &results) != XML_ERR_OK) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlParseInNodeContext",
- XMLSEC_ERRORS_R_XML_FAILED,
- "Failed to parse content");
+ ret = xmlParseInNodeContext(node->parent, (const char*)buffer, size, XML_PARSE_NODICT, &results);
+ if(ret != XML_ERR_OK) {
+ xmlSecXmlError("xmlParseInNodeContext", NULL);
return(-1);
}
@@ -680,24 +637,17 @@ xmlSecNodeEncodeAndSetContent(xmlNodePtr node, const xmlChar * buffer) {
xmlSecAssert2(node->doc != NULL, -1);
if(buffer != NULL) {
- xmlChar * tmp;
-
+ xmlChar * tmp;
tmp = xmlEncodeSpecialChars(node->doc, buffer);
if (tmp == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlEncodeSpecialChars",
- XMLSEC_ERRORS_R_XML_FAILED,
- "Failed to encode special characters");
+ xmlSecXmlError("xmlEncodeSpecialChars", NULL);
return(-1);
}
-
xmlNodeSetContent(node, tmp);
xmlFree(tmp);
} else {
xmlNodeSetContent(node, NULL);
}
-
return(0);
}
@@ -732,12 +682,7 @@ xmlSecAddIDs(xmlDocPtr doc, xmlNodePtr cur, const xmlChar** ids) {
if(tmp == NULL) {
xmlAddID(NULL, doc, name, attr);
} else if(tmp != attr) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- NULL,
- XMLSEC_ERRORS_R_INVALID_DATA,
- "id=%s already defined",
- xmlSecErrorsSafeString(name));
+ xmlSecInvalidStringDataError("id", name, "unique id (id already defined)", NULL);
}
xmlFree(name);
}
@@ -765,6 +710,8 @@ xmlSecAddIDs(xmlDocPtr doc, xmlNodePtr cur, const xmlChar** ids) {
* @prefix: the prefix to add to the generated ID (can be NULL).
* @len: the length of ID.
*
+ * Deprecated and will be removed in the future releases, do not use.
+ *
* Generates a unique ID in the format <@prefix>base64-encoded(@len random bytes)
* and puts it in the attribute @attrName.
*
@@ -782,22 +729,14 @@ xmlSecGenerateAndAddID(xmlNodePtr node, const xmlChar* attrName, const xmlChar*
for(count = 0; count < 5; count++) {
id = xmlSecGenerateID(prefix, len);
if(id == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecGenerateID",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecGenerateID", NULL);
return(-1);
}
if((node->doc == NULL) || (xmlGetID(node->doc, id) == NULL)) {
/* this is a unique ID in the document and we can use it */
if(xmlSetProp(node, attrName, id) == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSetProp",
- XMLSEC_ERRORS_R_XML_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecXmlError("xmlSetProp", NULL);
xmlFree(id);
return(-1);
}
@@ -816,6 +755,8 @@ xmlSecGenerateAndAddID(xmlNodePtr node, const xmlChar* attrName, const xmlChar*
* @prefix: the prefix to add to the generated ID (can be NULL).
* @len: the length of ID.
*
+ * Deprecated and will be removed in the future releases, do not use.
+ *
* Generates a unique ID in the format <@prefix>base64-encoded(@len random bytes).
* The caller is responsible for freeing returned string using @xmlFree function.
*
@@ -836,11 +777,7 @@ xmlSecGenerateID(const xmlChar* prefix, xmlSecSize len) {
ret = xmlSecBufferInitialize(&buffer, binLen + 1);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecBufferInitialize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecBufferInitialize", NULL);
return(NULL);
}
xmlSecAssert2(xmlSecBufferGetData(&buffer) != NULL, NULL);
@@ -848,11 +785,7 @@ xmlSecGenerateID(const xmlChar* prefix, xmlSecSize len) {
ret = xmlSecBufferSetSize(&buffer, binLen);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecBufferSetSize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecBufferSetSize", NULL);
xmlSecBufferFinalize(&buffer);
return(NULL);
}
@@ -866,11 +799,7 @@ xmlSecGenerateID(const xmlChar* prefix, xmlSecSize len) {
/* base64 encode random bytes */
res = xmlSecBase64Encode(xmlSecBufferGetData(&buffer), xmlSecBufferGetSize(&buffer), 0);
if((res == NULL) || (xmlStrlen(res) == 0)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecBase64Encode",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecBase64Encode", NULL);
xmlSecBufferFinalize(&buffer);
return(NULL);
}
@@ -896,16 +825,19 @@ xmlSecGenerateID(const xmlChar* prefix, xmlSecSize len) {
tmpLen = xmlStrlen(prefix) + xmlStrlen(res) + 1;
tmp = xmlMalloc(tmpLen + 1);
if(tmp == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlMalloc",
- XMLSEC_ERRORS_R_MALLOC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecMallocError(tmpLen + 1, NULL);
xmlFree(res);
return(NULL);
}
- xmlSecStrPrintf(tmp, tmpLen, BAD_CAST "%s%s", prefix, res);
+ ret = xmlStrPrintf(tmp, tmpLen, "%s%s", prefix, res);
+ if(ret < 0) {
+ xmlSecXmlError("xmlStrPrintf", NULL);
+ xmlFree(res);
+ xmlFree(tmp);
+ return(NULL);
+ }
+
xmlFree(res);
res = tmp;
} else {
@@ -940,22 +872,15 @@ xmlSecCreateTree(const xmlChar* rootNodeName, const xmlChar* rootNodeNs) {
/* create doc */
doc = xmlNewDoc(BAD_CAST "1.0");
if(doc == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlNewDoc",
- XMLSEC_ERRORS_R_XML_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecXmlError("xmlNewDoc", NULL);
return(NULL);
}
/* create root node */
root = xmlNewDocNode(doc, NULL, rootNodeName, NULL);
if(root == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlNewDocNode",
- XMLSEC_ERRORS_R_XML_FAILED,
- "node=Keys");
+ xmlSecXmlError2("xmlNewDocNode", NULL,
+ "node=%s", rootNodeName);
xmlFreeDoc(doc);
return(NULL);
}
@@ -964,12 +889,8 @@ xmlSecCreateTree(const xmlChar* rootNodeName, const xmlChar* rootNodeNs) {
/* and set root node namespace */
ns = xmlNewNs(root, rootNodeNs, NULL);
if(ns == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlNewNs",
- XMLSEC_ERRORS_R_XML_FAILED,
- "ns=%s",
- xmlSecErrorsSafeString(rootNodeNs));
+ xmlSecXmlError2("xmlNewNs", NULL,
+ "ns=%s", xmlSecErrorsSafeString(rootNodeNs));
xmlFreeDoc(doc);
return(NULL);
}
@@ -1044,12 +965,8 @@ xmlSecPrintXmlString(FILE * fd, const xmlChar * str) {
xmlChar * encoded_str = NULL;
encoded_str = xmlEncodeSpecialChars(NULL, str);
if(encoded_str == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlEncodeSpecialChars",
- XMLSEC_ERRORS_R_XML_FAILED,
- "string=%s",
- xmlSecErrorsSafeString(str));
+ xmlSecXmlError2("xmlEncodeSpecialChars", NULL,
+ "string=%s", xmlSecErrorsSafeString(str));
return(-1);
}
@@ -1060,12 +977,7 @@ xmlSecPrintXmlString(FILE * fd, const xmlChar * str) {
}
if(res < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "fprintf",
- XMLSEC_ERRORS_R_IO_FAILED,
- "res=%d,errno=%d",
- res, errno);
+ xmlSecIOError("fprintf", NULL, NULL);
return(-1);
}
return(res);
@@ -1087,6 +999,7 @@ xmlChar*
xmlSecGetQName(xmlNodePtr node, const xmlChar* href, const xmlChar* local) {
xmlChar* qname;
xmlNsPtr ns;
+ int ret;
xmlSecAssert2(node != NULL, NULL);
xmlSecAssert2(local != NULL, NULL);
@@ -1095,13 +1008,8 @@ xmlSecGetQName(xmlNodePtr node, const xmlChar* href, const xmlChar* local) {
* it might cause collisions */
ns = xmlSearchNsByHref(node->doc, node, href);
if((ns == NULL) && (href != NULL)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSearchNsByHref",
- XMLSEC_ERRORS_R_XML_FAILED,
- "node=%s,href=%s",
- xmlSecErrorsSafeString(node->name),
- xmlSecErrorsSafeString(href));
+ xmlSecXmlError2("xmlSearchNsByHref", NULL,
+ "node=%s", xmlSecErrorsSafeString(node->name));
return(NULL);
}
@@ -1111,24 +1019,20 @@ xmlSecGetQName(xmlNodePtr node, const xmlChar* href, const xmlChar* local) {
len = xmlStrlen(local) + xmlStrlen(ns->prefix) + 4;
qname = xmlMalloc(len);
if(qname == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlMalloc",
- XMLSEC_ERRORS_R_MALLOC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(node->name));
+ xmlSecMallocError(len, NULL);
+ return(NULL);
+ }
+
+ ret = xmlStrPrintf(qname, len, "%s:%s", ns->prefix, local);
+ if(ret < 0) {
+ xmlSecXmlError("xmlStrPrintf", NULL);
+ xmlFree(qname);
return(NULL);
}
- xmlSecStrPrintf(qname, len, BAD_CAST "%s:%s", ns->prefix, local);
} else {
qname = xmlStrdup(local);
if(qname == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlStrdup",
- XMLSEC_ERRORS_R_MALLOC_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(node->name));
+ xmlSecStrdupError(local, NULL);
return(NULL);
}
}
@@ -1230,13 +1134,7 @@ xmlSecQName2IntegerGetIntegerFromString(xmlSecQName2IntegerInfoConstPtr info,
if(qnameLocalPart != NULL) {
qnamePrefix = xmlStrndup(qname, qnameLocalPart - qname);
if(qnamePrefix == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlStrndup",
- XMLSEC_ERRORS_R_MALLOC_FAILED,
- "node=%s,value=%s",
- xmlSecErrorsSafeString(node->name),
- xmlSecErrorsSafeString(qname));
+ xmlSecStrdupError(qname, NULL);
return(-1);
}
qnameLocalPart++;
@@ -1248,13 +1146,8 @@ xmlSecQName2IntegerGetIntegerFromString(xmlSecQName2IntegerInfoConstPtr info,
/* search namespace href */
ns = xmlSearchNs(node->doc, node, qnamePrefix);
if((ns == NULL) && (qnamePrefix != NULL)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSearchNs",
- XMLSEC_ERRORS_R_XML_FAILED,
- "node=%s,qnamePrefix=%s",
- xmlSecErrorsSafeString(node->name),
- xmlSecErrorsSafeString(qnamePrefix));
+ xmlSecXmlError2("xmlSearchNs", NULL,
+ "node=%s", xmlSecErrorsSafeString(node->name));
if(qnamePrefix != NULL) {
xmlFree(qnamePrefix);
}
@@ -1265,14 +1158,11 @@ xmlSecQName2IntegerGetIntegerFromString(xmlSecQName2IntegerInfoConstPtr info,
/* and finally search for integer */
ret = xmlSecQName2IntegerGetInteger(info, qnameHref, qnameLocalPart, intValue);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecQName2IntegerGetInteger",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s,qnameLocalPart=%s,qnameHref=%s",
- xmlSecErrorsSafeString(node->name),
- xmlSecErrorsSafeString(qnameLocalPart),
- xmlSecErrorsSafeString(qnameHref));
+ xmlSecInternalError4("xmlSecQName2IntegerGetInteger", NULL,
+ "node=%s,qnameLocalPart=%s,qnameHref=%s",
+ xmlSecErrorsSafeString(node->name),
+ xmlSecErrorsSafeString(qnameLocalPart),
+ xmlSecErrorsSafeString(qnameHref));
if(qnamePrefix != NULL) {
xmlFree(qnamePrefix);
}
@@ -1307,13 +1197,10 @@ xmlSecQName2IntegerGetStringFromInteger(xmlSecQName2IntegerInfoConstPtr info,
qnameInfo = xmlSecQName2IntegerGetInfo(info, intValue);
if(qnameInfo == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecQName2IntegerGetInfo",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s,intValue=%d",
- xmlSecErrorsSafeString(node->name),
- intValue);
+ xmlSecInternalError3("xmlSecQName2IntegerGetInfo", NULL,
+ "node=%s,intValue=%d",
+ xmlSecErrorsSafeString(node->name),
+ intValue);
return(NULL);
}
@@ -1342,25 +1229,18 @@ xmlSecQName2IntegerNodeRead(xmlSecQName2IntegerInfoConstPtr info, xmlNodePtr nod
content = xmlNodeGetContent(node);
if(content == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlNodeGetContent",
- XMLSEC_ERRORS_R_XML_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(node->name));
+ xmlSecXmlError2("xmlNodeGetContent", NULL,
+ "node=%s", xmlSecErrorsSafeString(node->name));
return(-1);
}
/* todo: trim content? */
ret = xmlSecQName2IntegerGetIntegerFromString(info, node, content, intValue);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecQName2IntegerGetIntegerFromString",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s,value=%s",
- xmlSecErrorsSafeString(node->name),
- xmlSecErrorsSafeString(content));
+ xmlSecInternalError3("xmlSecQName2IntegerGetIntegerFromString", NULL,
+ "node=%s,value=%s",
+ xmlSecErrorsSafeString(node->name),
+ xmlSecErrorsSafeString(content));
xmlFree(content);
return(-1);
}
@@ -1394,25 +1274,19 @@ xmlSecQName2IntegerNodeWrite(xmlSecQName2IntegerInfoConstPtr info, xmlNodePtr no
/* find and build qname */
qname = xmlSecQName2IntegerGetStringFromInteger(info, node, intValue);
if(qname == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecQName2IntegerGetStringFromInteger",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s,intValue=%d",
- xmlSecErrorsSafeString(node->name),
- intValue);
+ xmlSecInternalError3("xmlSecQName2IntegerGetStringFromInteger", NULL,
+ "node=%s,intValue=%d",
+ xmlSecErrorsSafeString(node->name),
+ intValue);
return(-1);
}
cur = xmlSecAddChild(node, nodeName, nodeNs);
if(cur == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecAddChild",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s,intValue=%d",
- xmlSecErrorsSafeString(nodeName),
- intValue);
+ xmlSecInternalError3("xmlSecAddChild", NULL,
+ "node=%s,intValue=%d",
+ xmlSecErrorsSafeString(nodeName),
+ intValue);
xmlFree(qname);
return(-1);
}
@@ -1447,27 +1321,19 @@ xmlSecQName2IntegerAttributeRead(xmlSecQName2IntegerInfoConstPtr info, xmlNodePt
attrValue = xmlGetProp(node, attrName);
if(attrValue == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlGetProp",
- XMLSEC_ERRORS_R_XML_FAILED,
- "node=%s,attrValue=%s",
- xmlSecErrorsSafeString(node->name),
- xmlSecErrorsSafeString(attrName));
+ xmlSecXmlError2("xmlGetProp", NULL,
+ "node=%s", xmlSecErrorsSafeString(node->name));
return(-1);
}
/* todo: trim value? */
ret = xmlSecQName2IntegerGetIntegerFromString(info, node, attrValue, intValue);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecQName2IntegerGetIntegerFromString",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s,attrName=%s,attrValue=%s",
- xmlSecErrorsSafeString(node->name),
- xmlSecErrorsSafeString(attrName),
- xmlSecErrorsSafeString(attrValue));
+ xmlSecInternalError4("xmlSecQName2IntegerGetIntegerFromString", NULL,
+ "node=%s,attrName=%s,attrValue=%s",
+ xmlSecErrorsSafeString(node->name),
+ xmlSecErrorsSafeString(attrName),
+ xmlSecErrorsSafeString(attrValue));
xmlFree(attrValue);
return(-1);
}
@@ -1501,27 +1367,21 @@ xmlSecQName2IntegerAttributeWrite(xmlSecQName2IntegerInfoConstPtr info, xmlNodeP
/* find and build qname */
qname = xmlSecQName2IntegerGetStringFromInteger(info, node, intValue);
if(qname == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecQName2IntegerGetStringFromInteger",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s,attrName=%s,intValue=%d",
- xmlSecErrorsSafeString(node->name),
- xmlSecErrorsSafeString(attrName),
- intValue);
+ xmlSecInternalError4("xmlSecQName2IntegerGetStringFromInteger", NULL,
+ "node=%s,attrName=%s,intValue=%d",
+ xmlSecErrorsSafeString(node->name),
+ xmlSecErrorsSafeString(attrName),
+ intValue);
return(-1);
}
attr = xmlSetProp(node, attrName, qname);
if(attr == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecAddChildNode",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s,attrName=%s,intValue=%d",
- xmlSecErrorsSafeString(node->name),
- xmlSecErrorsSafeString(attrName),
- intValue);
+ xmlSecInternalError4("xmlSecAddChildNode", NULL,
+ "node=%s,attrName=%s,intValue=%d",
+ xmlSecErrorsSafeString(node->name),
+ xmlSecErrorsSafeString(attrName),
+ intValue);
xmlFree(qname);
return(-1);
}
@@ -1678,13 +1538,7 @@ xmlSecQName2BitMaskGetBitMaskFromString(xmlSecQName2BitMaskInfoConstPtr info,
if(qnameLocalPart != NULL) {
qnamePrefix = xmlStrndup(qname, qnameLocalPart - qname);
if(qnamePrefix == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlStrndup",
- XMLSEC_ERRORS_R_MALLOC_FAILED,
- "node=%s,value=%s",
- xmlSecErrorsSafeString(node->name),
- xmlSecErrorsSafeString(qname));
+ xmlSecStrdupError(qname, NULL);
return(-1);
}
qnameLocalPart++;
@@ -1696,13 +1550,8 @@ xmlSecQName2BitMaskGetBitMaskFromString(xmlSecQName2BitMaskInfoConstPtr info,
/* search namespace href */
ns = xmlSearchNs(node->doc, node, qnamePrefix);
if((ns == NULL) && (qnamePrefix != NULL)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSearchNs",
- XMLSEC_ERRORS_R_XML_FAILED,
- "node=%s,qnamePrefix=%s",
- xmlSecErrorsSafeString(node->name),
- xmlSecErrorsSafeString(qnamePrefix));
+ xmlSecXmlError2("xmlSearchNs", NULL,
+ "node=%s", xmlSecErrorsSafeString(node->name));
if(qnamePrefix != NULL) {
xmlFree(qnamePrefix);
}
@@ -1713,14 +1562,11 @@ xmlSecQName2BitMaskGetBitMaskFromString(xmlSecQName2BitMaskInfoConstPtr info,
/* and finally search for integer */
ret = xmlSecQName2BitMaskGetBitMask(info, qnameHref, qnameLocalPart, mask);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecQName2BitMaskGetBitMask",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s,qnameLocalPart=%s,qnameHref=%s",
- xmlSecErrorsSafeString(node->name),
- xmlSecErrorsSafeString(qnameLocalPart),
- xmlSecErrorsSafeString(qnameHref));
+ xmlSecInternalError4("xmlSecQName2BitMaskGetBitMask", NULL,
+ "node=%s,qnameLocalPart=%s,qnameHref=%s",
+ xmlSecErrorsSafeString(node->name),
+ xmlSecErrorsSafeString(qnameLocalPart),
+ xmlSecErrorsSafeString(qnameHref));
if(qnamePrefix != NULL) {
xmlFree(qnamePrefix);
}
@@ -1755,13 +1601,10 @@ xmlSecQName2BitMaskGetStringFromBitMask(xmlSecQName2BitMaskInfoConstPtr info,
qnameInfo = xmlSecQName2BitMaskGetInfo(info, mask);
if(qnameInfo == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecQName2BitMaskGetInfo",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "node=%s,mask=%d",
- xmlSecErrorsSafeString(node->name),
- mask);
+ xmlSecInternalError3("xmlSecQName2BitMaskGetInfo", NULL,
+ "node=%s,mask=%d",
+ xmlSecErrorsSafeString(node->name),
+ mask);
return(NULL);
}
@@ -1802,23 +1645,15 @@ xmlSecQName2BitMaskNodesRead(xmlSecQName2BitMaskInfoConstPtr info, xmlNodePtr* n
while((cur != NULL) && (xmlSecCheckNodeName(cur, nodeName, nodeNs))) {
content = xmlNodeGetContent(cur);
if(content == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlNodeGetContent",
- XMLSEC_ERRORS_R_XML_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(cur->name));
+ xmlSecXmlError2("xmlNodeGetContent", NULL,
+ "node=%s", xmlSecErrorsSafeString(cur->name));
return(-1);
}
ret = xmlSecQName2BitMaskGetBitMaskFromString(info, cur, content, &tmp);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecQName2BitMaskGetBitMaskFromString",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "value=%s",
- xmlSecErrorsSafeString(content));
+ xmlSecInternalError2("xmlSecQName2BitMaskGetBitMaskFromString", NULL,
+ "value=%s", xmlSecErrorsSafeString(content));
xmlFree(content);
return(-1);
}
@@ -1826,12 +1661,8 @@ xmlSecQName2BitMaskNodesRead(xmlSecQName2BitMaskInfoConstPtr info, xmlNodePtr* n
if((stopOnUnknown != 0) && (tmp == 0)) {
/* todo: better error */
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecQName2BitMaskGetBitMaskFromString",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "value=%s",
- xmlSecErrorsSafeString(content));
+ xmlSecInternalError2("xmlSecQName2BitMaskGetBitMaskFromString", NULL,
+ "value=%s", xmlSecErrorsSafeString(content));
return(-1);
}
@@ -1874,23 +1705,15 @@ xmlSecQName2BitMaskNodesWrite(xmlSecQName2BitMaskInfoConstPtr info, xmlNodePtr n
qname = xmlSecGetQName(node, info[ii].qnameHref, info[ii].qnameLocalPart);
if(qname == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecGetQName",
- XMLSEC_ERRORS_R_XML_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(nodeName));
+ xmlSecXmlError2("xmlSecGetQName", NULL,
+ "node=%s", xmlSecErrorsSafeString(nodeName));
return(-1);
}
cur = xmlSecAddChild(node, nodeName, nodeNs);
if(cur == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecAddChild",
- XMLSEC_ERRORS_R_XML_FAILED,
- "node=%s",
- xmlSecErrorsSafeString(nodeName));
+ xmlSecXmlError2("xmlSecAddChild", NULL,
+ "node=%s", xmlSecErrorsSafeString(nodeName));
xmlFree(qname);
return(-1);
}
diff --git a/src/xpath.c b/src/xpath.c
index 8b0cf79..1ddc08a 100644
--- a/src/xpath.c
+++ b/src/xpath.c
@@ -1,4 +1,4 @@
-/**
+/*
* XML Security Library (http://www.aleksey.com/xmlsec).
*
* XPath transform
@@ -86,12 +86,7 @@ xmlSecXPathDataCreate(xmlSecXPathDataType type) {
data = (xmlSecXPathDataPtr) xmlMalloc(sizeof(xmlSecXPathData));
if(data == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- NULL,
- XMLSEC_ERRORS_R_MALLOC_FAILED,
- "sizeof(xmlSecXPathData)=%d",
- (int)sizeof(xmlSecXPathData));
+ xmlSecMallocError(sizeof(xmlSecXPathData), NULL);
return(NULL);
}
memset(data, 0, sizeof(xmlSecXPathData));
@@ -105,11 +100,7 @@ xmlSecXPathDataCreate(xmlSecXPathDataType type) {
case xmlSecXPathDataTypeXPath2:
data->ctx = xmlXPathNewContext(NULL); /* we'll set doc in the context later */
if(data->ctx == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlXPathNewContext",
- XMLSEC_ERRORS_R_XML_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecXmlError("xmlXPathNewContext", NULL);
xmlSecXPathDataDestroy(data);
return(NULL);
}
@@ -117,11 +108,7 @@ xmlSecXPathDataCreate(xmlSecXPathDataType type) {
case xmlSecXPathDataTypeXPointer:
data->ctx = xmlXPtrNewContext(NULL, NULL, NULL); /* we'll set doc in the context later */
if(data->ctx == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlXPtrNewContext",
- XMLSEC_ERRORS_R_XML_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecXmlError("xmlXPtrNewContext", NULL);
xmlSecXPathDataDestroy(data);
return(NULL);
}
@@ -154,11 +141,7 @@ xmlSecXPathDataSetExpr(xmlSecXPathDataPtr data, const xmlChar* expr) {
data->expr = xmlStrdup(expr);
if(data->expr == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- NULL,
- XMLSEC_ERRORS_R_STRDUP_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecStrdupError(expr, NULL);
return(-1);
}
return(0);
@@ -182,13 +165,8 @@ xmlSecXPathDataRegisterNamespaces(xmlSecXPathDataPtr data, xmlNodePtr node) {
if((ns->prefix != NULL) && (xmlXPathNsLookup(data->ctx, ns->prefix) == NULL)){
ret = xmlXPathRegisterNs(data->ctx, ns->prefix, ns->href);
if(ret != 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlXPathRegisterNs",
- XMLSEC_ERRORS_R_XML_FAILED,
- "href=%s;prefix=%s",
- xmlSecErrorsSafeString(ns->href),
- xmlSecErrorsSafeString(ns->prefix));
+ xmlSecXmlError2("xmlXPathRegisterNs", NULL,
+ "prefix=%s", xmlSecErrorsSafeString(ns->prefix));
return(-1);
}
}
@@ -209,22 +187,14 @@ xmlSecXPathDataNodeRead(xmlSecXPathDataPtr data, xmlNodePtr node) {
ret = xmlSecXPathDataRegisterNamespaces (data, node);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecXPathDataRegisterNamespaces",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecXPathDataRegisterNamespaces", NULL);
return(-1);
}
/* read node content and set expr */
data->expr = xmlNodeGetContent(node);
if(data->expr == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- xmlSecErrorsSafeString(xmlSecNodeGetName(node)),
- XMLSEC_ERRORS_R_INVALID_NODE_CONTENT,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInvalidNodeContentError(node, NULL, "empty");
return(-1);
}
@@ -258,24 +228,16 @@ xmlSecXPathDataExecute(xmlSecXPathDataPtr data, xmlDocPtr doc, xmlNodePtr hereNo
case xmlSecXPathDataTypeXPath2:
xpathObj = xmlXPathEvalExpression(data->expr, data->ctx);
if(xpathObj == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlXPathEvalExpression",
- XMLSEC_ERRORS_R_XML_FAILED,
- "expr=%s",
- xmlSecErrorsSafeString(data->expr));
+ xmlSecXmlError2("xmlXPathEvalExpression", NULL,
+ "expr=%s", xmlSecErrorsSafeString(data->expr));
return(NULL);
}
break;
case xmlSecXPathDataTypeXPointer:
xpathObj = xmlXPtrEval(data->expr, data->ctx);
if(xpathObj == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlXPtrEval",
- XMLSEC_ERRORS_R_XML_FAILED,
- "expr=%s",
- xmlSecErrorsSafeString(data->expr));
+ xmlSecXmlError2("xmlXPtrEval", NULL,
+ "expr=%s", xmlSecErrorsSafeString(data->expr));
return(NULL);
}
break;
@@ -288,23 +250,15 @@ xmlSecXPathDataExecute(xmlSecXPathDataPtr data, xmlDocPtr doc, xmlNodePtr hereNo
xpathObj->nodesetval = xmlXPathNodeSetCreate(NULL);
if(xpathObj->nodesetval == NULL) {
xmlXPathFreeObject(xpathObj);
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlXPathNodeSetCreate",
- XMLSEC_ERRORS_R_XML_FAILED,
- "expr=%s",
- xmlSecErrorsSafeString(data->expr));
+ xmlSecXmlError2("xmlXPathNodeSetCreate", NULL,
+ "expr=%s", xmlSecErrorsSafeString(data->expr));
return(NULL);
}
}
nodes = xmlSecNodeSetCreate(doc, xpathObj->nodesetval, data->nodeSetType);
if(nodes == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecNodeSetCreate",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "type=%d", data->nodeSetType);
+ xmlSecInternalError2("xmlSecNodeSetCreate", NULL, "type=%d", data->nodeSetType);
xmlXPathFreeObject(xpathObj);
return(NULL);
}
@@ -357,11 +311,7 @@ xmlSecXPathDataListExecute(xmlSecPtrListPtr dataList, xmlDocPtr doc,
for(pos = 0; pos < xmlSecPtrListGetSize(dataList); ++pos) {
data = (xmlSecXPathDataPtr)xmlSecPtrListGetItem(dataList, pos);
if(data == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecPtrListGetItem",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "pos=%d", pos);
+ xmlSecInternalError2("xmlSecPtrListGetItem", NULL, "pos=%d", pos);
if((res != NULL) && (res != nodes)) {
xmlSecNodeSetDestroy(res);
}
@@ -370,11 +320,7 @@ xmlSecXPathDataListExecute(xmlSecPtrListPtr dataList, xmlDocPtr doc,
tmp = xmlSecXPathDataExecute(data, doc, hereNode);
if(tmp == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecXPathDataExecute",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecXPathDataExecute", NULL);
if((res != NULL) && (res != nodes)) {
xmlSecNodeSetDestroy(res);
}
@@ -383,11 +329,8 @@ xmlSecXPathDataListExecute(xmlSecPtrListPtr dataList, xmlDocPtr doc,
tmp2 = xmlSecNodeSetAdd(res, tmp, data->nodeSetOp);
if(tmp2 == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecNodeSetAdd",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "xmlSecNodeSetIntersection");
+ xmlSecInternalError2("xmlSecNodeSetAdd", NULL,
+ "nodeSetOp=%d", (int)data->nodeSetOp);
if((res != NULL) && (res != nodes)) {
xmlSecNodeSetDestroy(res);
}
@@ -436,11 +379,8 @@ xmlSecTransformXPathInitialize(xmlSecTransformPtr transform) {
ret = xmlSecPtrListInitialize(dataList, xmlSecXPathDataListId);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecPtrListInitialize",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecPtrListInitialize",
+ xmlSecTransformGetName(transform));
return(-1);
}
return(0);
@@ -480,11 +420,8 @@ xmlSecTransformXPathExecute(xmlSecTransformPtr transform, int last,
transform->outNodes = xmlSecXPathDataListExecute(dataList, doc,
transform->hereNode, transform->inNodes);
if(transform->outNodes == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecXPathDataExecute",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecXPathDataExecute",
+ xmlSecTransformGetName(transform));
return(-1);
}
return(0);
@@ -547,6 +484,7 @@ xmlSecTransformXPathNodeRead(xmlSecTransformPtr transform, xmlNodePtr node, xmlS
xmlSecXPathDataPtr data;
xmlNodePtr cur;
xmlChar* tmp;
+ int tmpSize;
int ret;
xmlSecAssert2(xmlSecTransformCheckId(transform, xmlSecTransformXPathId), -1);
@@ -560,33 +498,23 @@ xmlSecTransformXPathNodeRead(xmlSecTransformPtr transform, xmlNodePtr node, xmlS
/* there is only one required node */
cur = xmlSecGetNextElementNode(node->children);
if((cur == NULL) || (!xmlSecCheckNodeName(cur, xmlSecNodeXPath, xmlSecDSigNs))) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- xmlSecErrorsSafeString(xmlSecNodeGetName(cur)),
- XMLSEC_ERRORS_R_INVALID_NODE,
- "expected=%s",
- xmlSecErrorsSafeString(xmlSecNodeXPath));
+ xmlSecInvalidNodeError(cur, xmlSecNodeXPath,
+ xmlSecTransformGetName(transform));
return(-1);
}
/* read information from the node */
data = xmlSecXPathDataCreate(xmlSecXPathDataTypeXPath);
if(data == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecXPathDataCreate",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecXPathDataCreate",
+ xmlSecTransformGetName(transform));
return(-1);
}
ret = xmlSecXPathDataNodeRead(data, cur);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecXPathDataNodeRead",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecXPathDataNodeRead",
+ xmlSecTransformGetName(transform));
xmlSecXPathDataDestroy(data);
return(-1);
}
@@ -594,29 +522,27 @@ xmlSecTransformXPathNodeRead(xmlSecTransformPtr transform, xmlNodePtr node, xmlS
/* append it to the list */
ret = xmlSecPtrListAdd(dataList, data);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecPtrListAdd",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecPtrListAdd",
+ xmlSecTransformGetName(transform));
xmlSecXPathDataDestroy(data);
return(-1);
}
/* create full XPath expression */
xmlSecAssert2(data->expr != NULL, -1);
- tmp = (xmlChar*) xmlMalloc(sizeof(xmlChar) * (xmlStrlen(data->expr) +
- strlen(xpathPattern) + 1));
+ tmpSize = xmlStrlen(data->expr) + strlen(xpathPattern) + 1;
+ tmp = (xmlChar*) xmlMalloc(sizeof(xmlChar) * tmpSize);
if(tmp == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- NULL,
- XMLSEC_ERRORS_R_MALLOC_FAILED,
- "size=%d",
- (int)(xmlStrlen(data->expr) + strlen(xpathPattern) + 1));
+ xmlSecMallocError(sizeof(xmlChar) * tmpSize,
+ xmlSecTransformGetName(transform));
return(-1);
}
- sprintf((char*)tmp, xpathPattern, (char*)data->expr);
+ ret = xmlStrPrintf(tmp, tmpSize, xpathPattern, (char*)data->expr);
+ if(ret < 0) {
+ xmlSecXmlError("xmlStrPrintf", xmlSecTransformGetName(transform));
+ xmlFree(tmp);
+ return(-1);
+ }
xmlFree(data->expr);
data->expr = tmp;
@@ -627,11 +553,7 @@ xmlSecTransformXPathNodeRead(xmlSecTransformPtr transform, xmlNodePtr node, xmlS
/* check that we have nothing else */
cur = xmlSecGetNextElementNode(cur->next);
if(cur != NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- xmlSecErrorsSafeString(xmlSecNodeGetName(cur)),
- XMLSEC_ERRORS_R_UNEXPECTED_NODE,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecUnexpectedNodeError(cur, xmlSecTransformGetName(transform));
return(-1);
}
return(0);
@@ -706,21 +628,15 @@ xmlSecTransformXPath2NodeRead(xmlSecTransformPtr transform, xmlNodePtr node, xml
/* read information from the node */
data = xmlSecXPathDataCreate(xmlSecXPathDataTypeXPath2);
if(data == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecXPathDataCreate",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecXPathDataCreate",
+ xmlSecTransformGetName(transform));
return(-1);
}
ret = xmlSecXPathDataNodeRead(data, cur);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecXPathDataNodeRead",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecXPathDataNodeRead",
+ xmlSecTransformGetName(transform));
xmlSecXPathDataDestroy(data);
return(-1);
}
@@ -728,11 +644,8 @@ xmlSecTransformXPath2NodeRead(xmlSecTransformPtr transform, xmlNodePtr node, xml
/* append it to the list */
ret = xmlSecPtrListAdd(dataList, data);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecPtrListAdd",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecPtrListAdd",
+ xmlSecTransformGetName(transform));
xmlSecXPathDataDestroy(data);
return(-1);
}
@@ -741,12 +654,9 @@ xmlSecTransformXPath2NodeRead(xmlSecTransformPtr transform, xmlNodePtr node, xml
data->nodeSetType = xmlSecNodeSetTree;
op = xmlGetProp(cur, xmlSecAttrFilter);
if(op == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- xmlSecErrorsSafeString(xmlSecAttrFilter),
- XMLSEC_ERRORS_R_INVALID_NODE_ATTRIBUTE,
- "node=%s",
- xmlSecErrorsSafeString(xmlSecNodeGetName(cur)));
+ xmlSecInvalidNodeAttributeError(cur, xmlSecAttrFilter,
+ xmlSecTransformGetName(transform),
+ "empty");
return(-1);
}
if(xmlStrEqual(op, xmlSecXPath2FilterIntersect)) {
@@ -756,12 +666,9 @@ xmlSecTransformXPath2NodeRead(xmlSecTransformPtr transform, xmlNodePtr node, xml
} else if(xmlStrEqual(op, xmlSecXPath2FilterUnion)) {
data->nodeSetOp = xmlSecNodeSetUnion;
} else {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- xmlSecErrorsSafeString(xmlSecAttrFilter),
- XMLSEC_ERRORS_R_INVALID_NODE_ATTRIBUTE,
- "filter=%s",
- xmlSecErrorsSafeString(op));
+ xmlSecInvalidNodeAttributeError(cur, xmlSecAttrFilter,
+ xmlSecTransformGetName(transform),
+ "unknown");
xmlFree(op);
return(-1);
}
@@ -772,11 +679,7 @@ xmlSecTransformXPath2NodeRead(xmlSecTransformPtr transform, xmlNodePtr node, xml
/* check that we have nothing else */
if(cur != NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- xmlSecErrorsSafeString(xmlSecNodeGetName(cur)),
- XMLSEC_ERRORS_R_UNEXPECTED_NODE,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecUnexpectedNodeError(cur, xmlSecTransformGetName(transform));
return(-1);
}
return(0);
@@ -861,32 +764,23 @@ xmlSecTransformXPointerSetExpr(xmlSecTransformPtr transform, const xmlChar* expr
data = xmlSecXPathDataCreate(xmlSecXPathDataTypeXPointer);
if(data == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecXPathDataCreate",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecXPathDataCreate",
+ xmlSecTransformGetName(transform));
return(-1);
}
ret = xmlSecXPathDataRegisterNamespaces(data, hereNode);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecXPathDataRegisterNamespaces",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecXPathDataRegisterNamespaces",
+ xmlSecTransformGetName(transform));
xmlSecXPathDataDestroy(data);
return(-1);
}
ret = xmlSecXPathDataSetExpr(data, expr);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecXPathDataSetExpr",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecXPathDataSetExpr",
+ xmlSecTransformGetName(transform));
xmlSecXPathDataDestroy(data);
return(-1);
}
@@ -894,11 +788,8 @@ xmlSecTransformXPointerSetExpr(xmlSecTransformPtr transform, const xmlChar* expr
/* append it to the list */
ret = xmlSecPtrListAdd(dataList, data);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecPtrListAdd",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecPtrListAdd",
+ xmlSecTransformGetName(transform));
xmlSecXPathDataDestroy(data);
return(-1);
}
@@ -928,33 +819,23 @@ xmlSecTransformXPointerNodeRead(xmlSecTransformPtr transform, xmlNodePtr node, x
/* there is only one required node */
cur = xmlSecGetNextElementNode(node->children);
if((cur == NULL) || (!xmlSecCheckNodeName(cur, xmlSecNodeXPointer, xmlSecXPointerNs))) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- xmlSecErrorsSafeString(xmlSecNodeGetName(cur)),
- XMLSEC_ERRORS_R_INVALID_NODE,
- "expected=%s",
- xmlSecErrorsSafeString(xmlSecNodeXPath));
+ xmlSecInvalidNodeError(cur, xmlSecNodeXPointer,
+ xmlSecTransformGetName(transform));
return(-1);
}
/* read information from the node */
data = xmlSecXPathDataCreate(xmlSecXPathDataTypeXPointer);
if(data == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecXPathDataCreate",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecXPathDataCreate",
+ xmlSecTransformGetName(transform));
return(-1);
}
ret = xmlSecXPathDataNodeRead(data, cur);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecXPathDataNodeRead",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecXPathDataNodeRead",
+ xmlSecTransformGetName(transform));
xmlSecXPathDataDestroy(data);
return(-1);
}
@@ -962,11 +843,8 @@ xmlSecTransformXPointerNodeRead(xmlSecTransformPtr transform, xmlNodePtr node, x
/* append it to the list */
ret = xmlSecPtrListAdd(dataList, data);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecPtrListAdd",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecPtrListAdd",
+ xmlSecTransformGetName(transform));
xmlSecXPathDataDestroy(data);
return(-1);
}
@@ -978,11 +856,7 @@ xmlSecTransformXPointerNodeRead(xmlSecTransformPtr transform, xmlNodePtr node, x
/* check that we have nothing else */
cur = xmlSecGetNextElementNode(cur->next);
if(cur != NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- xmlSecErrorsSafeString(xmlSecNodeGetName(cur)),
- XMLSEC_ERRORS_R_UNEXPECTED_NODE,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecUnexpectedNodeError(cur, xmlSecTransformGetName(transform));
return(-1);
}
return(0);
@@ -1073,11 +947,7 @@ xmlSecTransformVisa3DHackSetID(xmlSecTransformPtr transform, const xmlChar* id)
(*idPtr) = xmlStrdup(id);
if((*idPtr) == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlStrdup",
- XMLSEC_ERRORS_R_MALLOC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecStrdupError(id, xmlSecTransformGetName(transform));
return(-1);
}
@@ -1128,33 +998,22 @@ xmlSecTransformVisa3DHackExecute(xmlSecTransformPtr transform, int last,
attr = xmlGetID(doc, (*idPtr));
if((attr == NULL) || (attr->parent == NULL)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlGetID",
- XMLSEC_ERRORS_R_XML_FAILED,
- "id=\"%s\"",
- xmlSecErrorsSafeString((*idPtr)));
+ xmlSecXmlError2("xmlGetID", xmlSecTransformGetName(transform),
+ "id=\"%s\"", xmlSecErrorsSafeString(*idPtr));
return(-1);
}
nodeSet = xmlXPathNodeSetCreate(attr->parent);
if(nodeSet == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlXPathNodeSetCreate",
- XMLSEC_ERRORS_R_XML_FAILED,
- "id=\"%s\"",
- xmlSecErrorsSafeString((*idPtr)));
+ xmlSecXmlError2("xmlXPathNodeSetCreate", xmlSecTransformGetName(transform),
+ "id=\"%s\"", xmlSecErrorsSafeString(*idPtr));
return(-1);
}
transform->outNodes = xmlSecNodeSetCreate(doc, nodeSet, xmlSecNodeSetTreeWithoutComments);
if(transform->outNodes == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecNodeSetCreate",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecNodeSetCreate",
+ xmlSecTransformGetName(transform));
xmlXPathFreeNodeSet(nodeSet);
return(-1);
}
diff --git a/src/xslt.c b/src/xslt.c
index e547058..c7916ed 100644
--- a/src/xslt.c
+++ b/src/xslt.c
@@ -1,4 +1,4 @@
-/**
+/*
* XML Security Library (http://www.aleksey.com/xmlsec).
*
* XSLT Transform (http://www.w3.org/TR/xmldsig-core/#sec-XSLT)
@@ -236,11 +236,7 @@ xmlSecXsltReadNode(xmlSecTransformPtr transform, xmlNodePtr node, xmlSecTransfor
/* read content in the buffer */
buffer = xmlBufferCreate();
if(buffer == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlBufferCreate",
- XMLSEC_ERRORS_R_XML_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecXmlError("xmlBufferCreate", xmlSecTransformGetName(transform));
return(-1);
}
cur = node->children;
@@ -253,11 +249,8 @@ xmlSecXsltReadNode(xmlSecTransformPtr transform, xmlNodePtr node, xmlSecTransfor
doc = xmlSecParseMemory(xmlBufferContent(buffer),
xmlBufferLength(buffer), 1);
if(doc == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecParseMemory",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecParseMemory",
+ xmlSecTransformGetName(transform));
xmlBufferFree(buffer);
return(-1);
}
@@ -265,11 +258,8 @@ xmlSecXsltReadNode(xmlSecTransformPtr transform, xmlNodePtr node, xmlSecTransfor
/* pre-process stylesheet */
ctx->xslt = xsltParseStylesheetDoc(doc);
if(ctx->xslt == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xsltParseStylesheetDoc",
- XMLSEC_ERRORS_R_XSLT_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecXsltError("xsltParseStylesheetDoc", NULL, xmlSecTransformGetName(transform));
+
/* after parsing stylesheet doc is assigned
* to it and will be freed by xsltFreeStylesheet() */
xmlFreeDoc(doc);
@@ -301,11 +291,7 @@ xmlSecXsltPushBin(xmlSecTransformPtr transform, const xmlSecByte* data,
ctx->parserCtx = xmlCreatePushParserCtxt(NULL, NULL, NULL, 0, NULL);
if(ctx->parserCtx == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlCreatePushParserCtxt",
- XMLSEC_ERRORS_R_XML_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecXmlError("xmlCreatePushParserCtxt", xmlSecTransformGetName(transform));
return(-1);
}
@@ -317,11 +303,7 @@ xmlSecXsltPushBin(xmlSecTransformPtr transform, const xmlSecByte* data,
} else if(transform->status == xmlSecTransformStatusFinished) {
return(0);
} else if(transform->status != xmlSecTransformStatusWorking) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- NULL,
- XMLSEC_ERRORS_R_INVALID_STATUS,
- "status=%d", transform->status);
+ xmlSecInvalidTransfromStatusError(transform);
return(-1);
}
xmlSecAssert2(transform->status == xmlSecTransformStatusWorking, -1);
@@ -331,11 +313,10 @@ xmlSecXsltPushBin(xmlSecTransformPtr transform, const xmlSecByte* data,
if((data != NULL) && (dataSize > 0)) {
ret = xmlParseChunk(ctx->parserCtx, (const char*)data, dataSize, 0);
if(ret != 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlParseChunk",
- XMLSEC_ERRORS_R_XML_FAILED,
- "size=%d", dataSize);
+ xmlSecXmlParserError2("xmlParseChunk", ctx->parserCtx,
+ xmlSecTransformGetName(transform),
+ "size=%d", dataSize);
+
return(-1);
}
}
@@ -349,11 +330,8 @@ xmlSecXsltPushBin(xmlSecTransformPtr transform, const xmlSecByte* data,
/* finalize */
ret = xmlParseChunk(ctx->parserCtx, NULL, 0, 1);
if((ret != 0) || (ctx->parserCtx->myDoc == NULL)) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlParseChunk",
- XMLSEC_ERRORS_R_XML_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecXmlParserError("xmlParseChunk", ctx->parserCtx,
+ xmlSecTransformGetName(transform));
return(-1);
}
@@ -363,11 +341,8 @@ xmlSecXsltPushBin(xmlSecTransformPtr transform, const xmlSecByte* data,
docOut = xmlSecXsApplyStylesheet(ctx, docIn);
if(docOut == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecXsApplyStylesheet",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecXsApplyStylesheet",
+ xmlSecTransformGetName(transform));
xmlFreeDoc(docIn);
return(-1);
}
@@ -376,22 +351,16 @@ xmlSecXsltPushBin(xmlSecTransformPtr transform, const xmlSecByte* data,
if(transform->next != NULL) {
output = xmlSecTransformCreateOutputBuffer(transform->next, transformCtx);
if(output == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecTransformCreateOutputBuffer",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecTransformCreateOutputBuffer",
+ xmlSecTransformGetName(transform));
xmlFreeDoc(docOut);
return(-1);
}
} else {
output = xmlSecBufferCreateOutputBuffer(&(transform->outBuf));
if(output == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecBufferCreateOutputBuffer",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecBufferCreateOutputBuffer",
+ xmlSecTransformGetName(transform));
xmlFreeDoc(docOut);
return(-1);
}
@@ -399,22 +368,14 @@ xmlSecXsltPushBin(xmlSecTransformPtr transform, const xmlSecByte* data,
ret = xsltSaveResultTo(output, docOut, ctx->xslt);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xsltSaveResultTo",
- XMLSEC_ERRORS_R_XSLT_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecXsltError("xsltParseStylesheetDoc", ctx->xslt, xmlSecTransformGetName(transform));
xmlOutputBufferClose(output);
xmlFreeDoc(docOut);
return(-1);
}
ret = xmlOutputBufferClose(output);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlOutputBufferClose",
- XMLSEC_ERRORS_R_XML_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecXmlError("xmlOutputBufferClose", xmlSecTransformGetName(transform));
xmlFreeDoc(docOut);
return(-1);
}
@@ -459,21 +420,16 @@ xmlSecXsltExecute(xmlSecTransformPtr transform, int last, xmlSecTransformCtxPtr
ret = xmlSecXslProcess(ctx, in, out);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecXslProcess",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecXslProcess",
+ xmlSecTransformGetName(transform));
return(-1);
}
ret = xmlSecBufferRemoveHead(in, inSize);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- "xmlSecBufferRemoveHead",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- "size=%d", inSize);
+ xmlSecInternalError2("xmlSecBufferRemoveHead",
+ xmlSecTransformGetName(transform),
+ "size=%d", inSize);
return(-1);
}
@@ -482,11 +438,7 @@ xmlSecXsltExecute(xmlSecTransformPtr transform, int last, xmlSecTransformCtxPtr
/* the only way we can get here is if there is no input */
xmlSecAssert2(inSize == 0, -1);
} else {
- xmlSecError(XMLSEC_ERRORS_HERE,
- xmlSecErrorsSafeString(xmlSecTransformGetName(transform)),
- NULL,
- XMLSEC_ERRORS_R_INVALID_STATUS,
- "status=%d", transform->status);
+ xmlSecInvalidTransfromStatusError(transform);
return(-1);
}
return(0);
@@ -507,52 +459,32 @@ xmlSecXslProcess(xmlSecXsltCtxPtr ctx, xmlSecBufferPtr in, xmlSecBufferPtr out)
docIn = xmlSecParseMemory(xmlSecBufferGetData(in), xmlSecBufferGetSize(in), 1);
if(docIn == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecParseMemory",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecParseMemory", NULL);
goto done;
}
docOut = xmlSecXsApplyStylesheet(ctx, docIn);
if(docOut == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecXsApplyStylesheet",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecXsApplyStylesheet", NULL);
goto done;
}
output = xmlSecBufferCreateOutputBuffer(out);
if(output == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlSecBufferCreateOutputBuffer",
- XMLSEC_ERRORS_R_XMLSEC_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecInternalError("xmlSecBufferCreateOutputBuffer", NULL);
goto done;
}
ret = xsltSaveResultTo(output, docOut, ctx->xslt);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xsltSaveResultTo",
- XMLSEC_ERRORS_R_XSLT_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecXsltError("xsltSaveResultTo", ctx->xslt, NULL);
goto done;
}
ret = xmlOutputBufferClose(output);
output = NULL;
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xmlOutputBufferClose",
- XMLSEC_ERRORS_R_XML_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecXmlError("xmlOutputBufferClose", NULL);
return(-1);
}
@@ -578,32 +510,20 @@ xmlSecXsApplyStylesheet(xmlSecXsltCtxPtr ctx, xmlDocPtr doc) {
xsltCtx = xsltNewTransformContext(ctx->xslt, doc);
if(xsltCtx == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xsltNewTransformContext",
- XMLSEC_ERRORS_R_XSLT_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecXsltError("xsltNewTransformContext", ctx->xslt, NULL);
goto done;
}
/* set security prefs */
ret = xsltSetCtxtSecurityPrefs(g_xslt_default_security_prefs, xsltCtx);
if(ret < 0) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xsltSetCtxtSecurityPrefs",
- XMLSEC_ERRORS_R_XSLT_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecXsltError("xsltSetCtxtSecurityPrefs", ctx->xslt, NULL);
goto done;
}
res = xsltApplyStylesheetUser(ctx->xslt, doc, NULL, NULL, NULL, xsltCtx);
if(res == NULL) {
- xmlSecError(XMLSEC_ERRORS_HERE,
- NULL,
- "xsltApplyStylesheetUser",
- XMLSEC_ERRORS_R_XSLT_FAILED,
- XMLSEC_ERRORS_NO_MESSAGE);
+ xmlSecXsltError("xsltApplyStylesheetUser", ctx->xslt, NULL);
goto done;
}
diff --git a/tests/aleksey-xmldsig-01/enveloping-sha1-ecdsa-sha1.xml b/tests/aleksey-xmldsig-01/enveloping-sha1-ecdsa-sha1.xml
index 358a7a1..10018e7 100644
--- a/tests/aleksey-xmldsig-01/enveloping-sha1-ecdsa-sha1.xml
+++ b/tests/aleksey-xmldsig-01/enveloping-sha1-ecdsa-sha1.xml
@@ -8,8 +8,8 @@
<DigestValue>7/XTsHaBSOnJ/jXD5v0zL6VKYsk=</DigestValue>
</Reference>
</SignedInfo>
- <SignatureValue>kTx1j2j4J3hQuKBTGrPMj1ZQvYJgoyKtqcIPMoyB+623RD8dpp38v7DWmYipsqZA
-mHrqJBEmRI9o8h3Gwy/1Bg==</SignatureValue>
+ <SignatureValue>1T18pVocVMRq1aJ6L+bpLOzNQtM5kqjXafgzlgaGxFQMM/K1oBzWE5vmlau8WYm+
+04elfDnQb9tf5w2dXGyQBQ==</SignatureValue>
<KeyInfo>
<X509Data>
<X509Certificate>MIID9zCCA2CgAwIBAgIJAK+ii7kzrdqsMA0GCSqGSIb3DQEBBQUAMIGuMQswCQYD
@@ -34,6 +34,7 @@ EwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADgYEARpb86RP/ck55X+NunXeIX81i763b
j7Z1VJwFbA/QfupzxnqJ2IP/lxC8YxJ3Bp2IJMI7rC9r0poa41ZxI5rGHip97Dpg
sxPF9lkRUmKBBQjkICOq1w/4d2DRInBoqXttD+0WsqDfNDVK+7kSE07ytn3RzHCj
j0gv0PdxmuCsR/E=</X509Certificate>
+
<X509Certificate>MIIDzzCCAzigAwIBAgIJAK+ii7kzrdqtMA0GCSqGSIb3DQEBBQUAMIGuMQswCQYD
VQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTE9MDsGA1UEChM0WE1MIFNlY3Vy
aXR5IExpYnJhcnkgKGh0dHA6Ly93d3cuYWxla3NleS5jb20veG1sc2VjKTEQMA4G
@@ -55,26 +56,25 @@ eS5jb22CCQCvoou5M63arDANBgkqhkiG9w0BAQUFAAOBgQBuTAW63AgWqqUDPGi8
BiXbdKHhFP4J8qgkdv5WMa6SpSWVgNgOYXkK/BSg1aSmQtGv8/8UvBRPoJnO4y0N
jWUFf1ubOgUNmedYNLq7YbTp8yTGWeogCyM2xdWELMP8BMgQL0sP+MDAFMKO3itY
mEWnCEsP15HKSTms54RNj7oJ+A==</X509Certificate>
-<X509Certificate>MIIDfDCCAyagAwIBAgIJAK+ii7kzrdq0MA0GCSqGSIb3DQEBBQUAMIGcMQswCQYD
+<X509Certificate>MIIDfzCCAymgAwIBAgIJAK+ii7kzrdq1MA0GCSqGSIb3DQEBBQUAMIGcMQswCQYD
VQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTE9MDsGA1UEChM0WE1MIFNlY3Vy
aXR5IExpYnJhcnkgKGh0dHA6Ly93d3cuYWxla3NleS5jb20veG1sc2VjKTEWMBQG
A1UEAxMNQWxla3NleSBTYW5pbjEhMB8GCSqGSIb3DQEJARYSeG1sc2VjQGFsZWtz
-ZXkuY29tMCAXDTE2MDEyOTE3MjYxMloYDzIxMTYwMTA1MTcyNjEyWjCBojELMAkG
+ZXkuY29tMCAXDTE3MDIxNTIyMDgyMVoYDzIxMTcwMTIyMjIwODIxWjCBojELMAkG
A1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExPTA7BgNVBAoTNFhNTCBTZWN1
cml0eSBMaWJyYXJ5IChodHRwOi8vd3d3LmFsZWtzZXkuY29tL3htbHNlYykxHDAa
-BgNVBAMTE0VDRFNBIHNlY3AyNTZrMSBLZXkxITAfBgkqhkiG9w0BCQEWEnhtbHNl
-Y0BhbGVrc2V5LmNvbTBWMBAGByqGSM49AgEGBSuBBAAKA0IABGfbnXrR7bjGBsK6
-LIo2LkMPz9OhqW6U4EUwhA+0wbXbLzRufuaaUuGHkhl9LDa5128d1209j25iWgyL
-QoxgMLOjggFFMIIBQTAMBgNVHRMEBTADAQH/MCwGCWCGSAGG+EIBDQQfFh1PcGVu
-U1NMIEdlbmVyYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUPJXHiW1HSqdwbucp
-ESi1JeIJHKAwgeMGA1UdIwSB2zCB2IAU/uTsUyTwlZXHELXhRLVdOWVa436hgbSk
-gbEwga4xCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMT0wOwYDVQQK
-EzRYTUwgU2VjdXJpdHkgTGlicmFyeSAoaHR0cDovL3d3dy5hbGVrc2V5LmNvbS94
-bWxzZWMpMRAwDgYDVQQLEwdSb290IENBMRYwFAYDVQQDEw1BbGVrc2V5IFNhbmlu
-MSEwHwYJKoZIhvcNAQkBFhJ4bWxzZWNAYWxla3NleS5jb22CCQCvoou5M63arTAN
-BgkqhkiG9w0BAQUFAANBAFweA03Qo3e3BvU4MT3wnsn7VZukTI61ewyrGCQshOc5
-ng3TuNfNcAuwhwDnTkHEarbwvG3OmJIl+yDqgVtTD9M=</X509Certificate>
-</X509Data>
+BgNVBAMTE0VDRFNBIHNlY3AyNTZyMSBLZXkxITAfBgkqhkiG9w0BCQEWEnhtbHNl
+Y0BhbGVrc2V5LmNvbTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABG0uzqp1mHfR
+9zEMsYiIXkNPttZyj0aP8iE9wlKNp9x73kJnNmll8l47MZDWVjtrcyFn1XUzxH7q
+WVJYjPBGptSjggFFMIIBQTAMBgNVHRMEBTADAQH/MCwGCWCGSAGG+EIBDQQfFh1P
+cGVuU1NMIEdlbmVyYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUeiw8r3+wiHw0
+5T+3qRhjfhAZu9kwgeMGA1UdIwSB2zCB2IAU/uTsUyTwlZXHELXhRLVdOWVa436h
+gbSkgbEwga4xCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMT0wOwYD
+VQQKEzRYTUwgU2VjdXJpdHkgTGlicmFyeSAoaHR0cDovL3d3dy5hbGVrc2V5LmNv
+bS94bWxzZWMpMRAwDgYDVQQLEwdSb290IENBMRYwFAYDVQQDEw1BbGVrc2V5IFNh
+bmluMSEwHwYJKoZIhvcNAQkBFhJ4bWxzZWNAYWxla3NleS5jb22CCQCvoou5M63a
+rTANBgkqhkiG9w0BAQUFAANBABs4Ie691BR30Ki9MM5jzGhWlnWs8SaGJkAlJxck
+hhVmvV/5cntLvuQNGPpZJtkY8cVIw2/G4XmBBad7lZcuOag=</X509Certificate></X509Data>
</KeyInfo>
<Object Id="object">some text</Object>
</Signature>
diff --git a/tests/aleksey-xmldsig-01/enveloping-sha256-ecdsa-sha256.xml b/tests/aleksey-xmldsig-01/enveloping-sha256-ecdsa-sha256.xml
index 393f095..b8f6b53 100644
--- a/tests/aleksey-xmldsig-01/enveloping-sha256-ecdsa-sha256.xml
+++ b/tests/aleksey-xmldsig-01/enveloping-sha256-ecdsa-sha256.xml
@@ -8,8 +8,8 @@
<DigestValue>iDhYt78o294fA6pzQ7k44+eejrQMi+WX3l3UrUdtL1Q=</DigestValue>
</Reference>
</SignedInfo>
- <SignatureValue>r58DPJHB2Fi7Ssc/5W5/ZXys8uWiz3aF+XtDo6ZRF78rgk2TQDTse6yvTUC9kY3L
-UHcDZl9sGTJXyrw3DirasQ==</SignatureValue>
+ <SignatureValue>epctjDEaow8JdOu4/pCsV8WxYBtfeWGLYD51CRVeuUjjTaAodr+tXpdd1jvYoSxv
+YjhC4hmJTgH0tEmYWEPYZg==</SignatureValue>
<KeyInfo>
<X509Data>
<X509Certificate>MIID9zCCA2CgAwIBAgIJAK+ii7kzrdqsMA0GCSqGSIb3DQEBBQUAMIGuMQswCQYD
@@ -34,6 +34,7 @@ EwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADgYEARpb86RP/ck55X+NunXeIX81i763b
j7Z1VJwFbA/QfupzxnqJ2IP/lxC8YxJ3Bp2IJMI7rC9r0poa41ZxI5rGHip97Dpg
sxPF9lkRUmKBBQjkICOq1w/4d2DRInBoqXttD+0WsqDfNDVK+7kSE07ytn3RzHCj
j0gv0PdxmuCsR/E=</X509Certificate>
+
<X509Certificate>MIIDzzCCAzigAwIBAgIJAK+ii7kzrdqtMA0GCSqGSIb3DQEBBQUAMIGuMQswCQYD
VQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTE9MDsGA1UEChM0WE1MIFNlY3Vy
aXR5IExpYnJhcnkgKGh0dHA6Ly93d3cuYWxla3NleS5jb20veG1sc2VjKTEQMA4G
@@ -55,26 +56,25 @@ eS5jb22CCQCvoou5M63arDANBgkqhkiG9w0BAQUFAAOBgQBuTAW63AgWqqUDPGi8
BiXbdKHhFP4J8qgkdv5WMa6SpSWVgNgOYXkK/BSg1aSmQtGv8/8UvBRPoJnO4y0N
jWUFf1ubOgUNmedYNLq7YbTp8yTGWeogCyM2xdWELMP8BMgQL0sP+MDAFMKO3itY
mEWnCEsP15HKSTms54RNj7oJ+A==</X509Certificate>
-<X509Certificate>MIIDfDCCAyagAwIBAgIJAK+ii7kzrdq0MA0GCSqGSIb3DQEBBQUAMIGcMQswCQYD
+<X509Certificate>MIIDfzCCAymgAwIBAgIJAK+ii7kzrdq1MA0GCSqGSIb3DQEBBQUAMIGcMQswCQYD
VQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTE9MDsGA1UEChM0WE1MIFNlY3Vy
aXR5IExpYnJhcnkgKGh0dHA6Ly93d3cuYWxla3NleS5jb20veG1sc2VjKTEWMBQG
A1UEAxMNQWxla3NleSBTYW5pbjEhMB8GCSqGSIb3DQEJARYSeG1sc2VjQGFsZWtz
-ZXkuY29tMCAXDTE2MDEyOTE3MjYxMloYDzIxMTYwMTA1MTcyNjEyWjCBojELMAkG
+ZXkuY29tMCAXDTE3MDIxNTIyMDgyMVoYDzIxMTcwMTIyMjIwODIxWjCBojELMAkG
A1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExPTA7BgNVBAoTNFhNTCBTZWN1
cml0eSBMaWJyYXJ5IChodHRwOi8vd3d3LmFsZWtzZXkuY29tL3htbHNlYykxHDAa
-BgNVBAMTE0VDRFNBIHNlY3AyNTZrMSBLZXkxITAfBgkqhkiG9w0BCQEWEnhtbHNl
-Y0BhbGVrc2V5LmNvbTBWMBAGByqGSM49AgEGBSuBBAAKA0IABGfbnXrR7bjGBsK6
-LIo2LkMPz9OhqW6U4EUwhA+0wbXbLzRufuaaUuGHkhl9LDa5128d1209j25iWgyL
-QoxgMLOjggFFMIIBQTAMBgNVHRMEBTADAQH/MCwGCWCGSAGG+EIBDQQfFh1PcGVu
-U1NMIEdlbmVyYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUPJXHiW1HSqdwbucp
-ESi1JeIJHKAwgeMGA1UdIwSB2zCB2IAU/uTsUyTwlZXHELXhRLVdOWVa436hgbSk
-gbEwga4xCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMT0wOwYDVQQK
-EzRYTUwgU2VjdXJpdHkgTGlicmFyeSAoaHR0cDovL3d3dy5hbGVrc2V5LmNvbS94
-bWxzZWMpMRAwDgYDVQQLEwdSb290IENBMRYwFAYDVQQDEw1BbGVrc2V5IFNhbmlu
-MSEwHwYJKoZIhvcNAQkBFhJ4bWxzZWNAYWxla3NleS5jb22CCQCvoou5M63arTAN
-BgkqhkiG9w0BAQUFAANBAFweA03Qo3e3BvU4MT3wnsn7VZukTI61ewyrGCQshOc5
-ng3TuNfNcAuwhwDnTkHEarbwvG3OmJIl+yDqgVtTD9M=</X509Certificate>
-</X509Data>
+BgNVBAMTE0VDRFNBIHNlY3AyNTZyMSBLZXkxITAfBgkqhkiG9w0BCQEWEnhtbHNl
+Y0BhbGVrc2V5LmNvbTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABG0uzqp1mHfR
+9zEMsYiIXkNPttZyj0aP8iE9wlKNp9x73kJnNmll8l47MZDWVjtrcyFn1XUzxH7q
+WVJYjPBGptSjggFFMIIBQTAMBgNVHRMEBTADAQH/MCwGCWCGSAGG+EIBDQQfFh1P
+cGVuU1NMIEdlbmVyYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUeiw8r3+wiHw0
+5T+3qRhjfhAZu9kwgeMGA1UdIwSB2zCB2IAU/uTsUyTwlZXHELXhRLVdOWVa436h
+gbSkgbEwga4xCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMT0wOwYD
+VQQKEzRYTUwgU2VjdXJpdHkgTGlicmFyeSAoaHR0cDovL3d3dy5hbGVrc2V5LmNv
+bS94bWxzZWMpMRAwDgYDVQQLEwdSb290IENBMRYwFAYDVQQDEw1BbGVrc2V5IFNh
+bmluMSEwHwYJKoZIhvcNAQkBFhJ4bWxzZWNAYWxla3NleS5jb22CCQCvoou5M63a
+rTANBgkqhkiG9w0BAQUFAANBABs4Ie691BR30Ki9MM5jzGhWlnWs8SaGJkAlJxck
+hhVmvV/5cntLvuQNGPpZJtkY8cVIw2/G4XmBBad7lZcuOag=</X509Certificate></X509Data>
</KeyInfo>
<Object Id="object">some text</Object>
</Signature>
diff --git a/tests/aleksey-xmldsig-01/enveloping-sha256-ecdsa-sha256.xml b/tests/aleksey-xmldsig-01/enveloping-sha256-rsa-sha256-verify.xml
similarity index 75%
copy from tests/aleksey-xmldsig-01/enveloping-sha256-ecdsa-sha256.xml
copy to tests/aleksey-xmldsig-01/enveloping-sha256-rsa-sha256-verify.xml
index 393f095..4d6c84d 100644
--- a/tests/aleksey-xmldsig-01/enveloping-sha256-ecdsa-sha256.xml
+++ b/tests/aleksey-xmldsig-01/enveloping-sha256-rsa-sha256-verify.xml
@@ -2,14 +2,14 @@
<Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
<SignedInfo>
<CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/>
- <SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#ecdsa-sha256"/>
+ <SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha256"/>
<Reference URI="#object">
<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/>
<DigestValue>iDhYt78o294fA6pzQ7k44+eejrQMi+WX3l3UrUdtL1Q=</DigestValue>
</Reference>
</SignedInfo>
- <SignatureValue>r58DPJHB2Fi7Ssc/5W5/ZXys8uWiz3aF+XtDo6ZRF78rgk2TQDTse6yvTUC9kY3L
-UHcDZl9sGTJXyrw3DirasQ==</SignatureValue>
+ <SignatureValue>xOSp1bweDaNd5+NzBNO+m+1oEOm1jNjBMXf12F7LsXoBDpvgC3efL2XgkoRY8LJ9
+msV4PSDkJRzzmvSTvQ6Txg==</SignatureValue>
<KeyInfo>
<X509Data>
<X509Certificate>MIID9zCCA2CgAwIBAgIJAK+ii7kzrdqsMA0GCSqGSIb3DQEBBQUAMIGuMQswCQYD
@@ -55,25 +55,26 @@ eS5jb22CCQCvoou5M63arDANBgkqhkiG9w0BAQUFAAOBgQBuTAW63AgWqqUDPGi8
BiXbdKHhFP4J8qgkdv5WMa6SpSWVgNgOYXkK/BSg1aSmQtGv8/8UvBRPoJnO4y0N
jWUFf1ubOgUNmedYNLq7YbTp8yTGWeogCyM2xdWELMP8BMgQL0sP+MDAFMKO3itY
mEWnCEsP15HKSTms54RNj7oJ+A==</X509Certificate>
-<X509Certificate>MIIDfDCCAyagAwIBAgIJAK+ii7kzrdq0MA0GCSqGSIb3DQEBBQUAMIGcMQswCQYD
+<X509Certificate>MIIDpzCCA1GgAwIBAgIJAK+ii7kzrdqvMA0GCSqGSIb3DQEBBQUAMIGcMQswCQYD
VQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTE9MDsGA1UEChM0WE1MIFNlY3Vy
aXR5IExpYnJhcnkgKGh0dHA6Ly93d3cuYWxla3NleS5jb20veG1sc2VjKTEWMBQG
A1UEAxMNQWxla3NleSBTYW5pbjEhMB8GCSqGSIb3DQEJARYSeG1sc2VjQGFsZWtz
-ZXkuY29tMCAXDTE2MDEyOTE3MjYxMloYDzIxMTYwMTA1MTcyNjEyWjCBojELMAkG
+ZXkuY29tMCAXDTE0MDUyMzE3NTUzNFoYDzIxMTQwNDI5MTc1NTM0WjCBxzELMAkG
A1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExPTA7BgNVBAoTNFhNTCBTZWN1
-cml0eSBMaWJyYXJ5IChodHRwOi8vd3d3LmFsZWtzZXkuY29tL3htbHNlYykxHDAa
-BgNVBAMTE0VDRFNBIHNlY3AyNTZrMSBLZXkxITAfBgkqhkiG9w0BCQEWEnhtbHNl
-Y0BhbGVrc2V5LmNvbTBWMBAGByqGSM49AgEGBSuBBAAKA0IABGfbnXrR7bjGBsK6
-LIo2LkMPz9OhqW6U4EUwhA+0wbXbLzRufuaaUuGHkhl9LDa5128d1209j25iWgyL
-QoxgMLOjggFFMIIBQTAMBgNVHRMEBTADAQH/MCwGCWCGSAGG+EIBDQQfFh1PcGVu
-U1NMIEdlbmVyYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUPJXHiW1HSqdwbucp
-ESi1JeIJHKAwgeMGA1UdIwSB2zCB2IAU/uTsUyTwlZXHELXhRLVdOWVa436hgbSk
-gbEwga4xCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMT0wOwYDVQQK
-EzRYTUwgU2VjdXJpdHkgTGlicmFyeSAoaHR0cDovL3d3dy5hbGVrc2V5LmNvbS94
-bWxzZWMpMRAwDgYDVQQLEwdSb290IENBMRYwFAYDVQQDEw1BbGVrc2V5IFNhbmlu
-MSEwHwYJKoZIhvcNAQkBFhJ4bWxzZWNAYWxla3NleS5jb22CCQCvoou5M63arTAN
-BgkqhkiG9w0BAQUFAANBAFweA03Qo3e3BvU4MT3wnsn7VZukTI61ewyrGCQshOc5
-ng3TuNfNcAuwhwDnTkHEarbwvG3OmJIl+yDqgVtTD9M=</X509Certificate>
+cml0eSBMaWJyYXJ5IChodHRwOi8vd3d3LmFsZWtzZXkuY29tL3htbHNlYykxKTAn
+BgNVBAsTIFRlc3QgVGhpcmQgTGV2ZWwgUlNBIENlcnRpZmljYXRlMRYwFAYDVQQD
+Ew1BbGVrc2V5IFNhbmluMSEwHwYJKoZIhvcNAQkBFhJ4bWxzZWNAYWxla3NleS5j
+b20wXDANBgkqhkiG9w0BAQEFAANLADBIAkEA09BtD3aeVt6DVDkk0dI7Vh7Ljqdn
+sYmW0tbDVxxK+nume+Z9Sb4znbUKkWl+vgQATdRUEyhT2P+Gqrd0UBzYfQIDAQAB
+o4IBRTCCAUEwDAYDVR0TBAUwAwEB/zAsBglghkgBhvhCAQ0EHxYdT3BlblNTTCBH
+ZW5lcmF0ZWQgQ2VydGlmaWNhdGUwHQYDVR0OBBYEFNf0xkZ3zjcEI60pVPuwDqTM
+QygZMIHjBgNVHSMEgdswgdiAFP7k7FMk8JWVxxC14US1XTllWuN+oYG0pIGxMIGu
+MQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTE9MDsGA1UEChM0WE1M
+IFNlY3VyaXR5IExpYnJhcnkgKGh0dHA6Ly93d3cuYWxla3NleS5jb20veG1sc2Vj
+KTEQMA4GA1UECxMHUm9vdCBDQTEWMBQGA1UEAxMNQWxla3NleSBTYW5pbjEhMB8G
+CSqGSIb3DQEJARYSeG1sc2VjQGFsZWtzZXkuY29tggkAr6KLuTOt2q0wDQYJKoZI
+hvcNAQEFBQADQQAOXBj0yICp1RmHXqnUlsppryLCW3pKBD1dkb4HWarO7RjA1yJJ
+fBjXssrERn05kpBcrRfzou4r3DCgQFPhjxga</X509Certificate>
</X509Data>
</KeyInfo>
<Object Id="object">some text</Object>
diff --git a/tests/aleksey-xmldsig-01/enveloping-sha512-ecdsa-sha512.xml b/tests/aleksey-xmldsig-01/enveloping-sha512-ecdsa-sha512.xml
index a33ea36..9233969 100644
--- a/tests/aleksey-xmldsig-01/enveloping-sha512-ecdsa-sha512.xml
+++ b/tests/aleksey-xmldsig-01/enveloping-sha512-ecdsa-sha512.xml
@@ -9,8 +9,8 @@
XDnbRaf22WqerzX1vL0QzA==</DigestValue>
</Reference>
</SignedInfo>
- <SignatureValue>p8iywKCFPKqaRq9tIpu2tXWx8BQ7L+1laypGaNucLtqzyUjSJy6XGoV9yNTnAEKq
-afu0z12Y/KTPRgfjLOqWXA==</SignatureValue>
+ <SignatureValue>5vaWW6jmgfmhFcV65FrOsOicilCL4H53ZNZU5XCvYXQvfJmYsQZ4bhzg2KOV78ZO
+v05ijIzPhhvYF+eodPfCZQ==</SignatureValue>
<KeyInfo>
<X509Data>
<X509Certificate>MIID9zCCA2CgAwIBAgIJAK+ii7kzrdqsMA0GCSqGSIb3DQEBBQUAMIGuMQswCQYD
@@ -35,6 +35,7 @@ EwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADgYEARpb86RP/ck55X+NunXeIX81i763b
j7Z1VJwFbA/QfupzxnqJ2IP/lxC8YxJ3Bp2IJMI7rC9r0poa41ZxI5rGHip97Dpg
sxPF9lkRUmKBBQjkICOq1w/4d2DRInBoqXttD+0WsqDfNDVK+7kSE07ytn3RzHCj
j0gv0PdxmuCsR/E=</X509Certificate>
+
<X509Certificate>MIIDzzCCAzigAwIBAgIJAK+ii7kzrdqtMA0GCSqGSIb3DQEBBQUAMIGuMQswCQYD
VQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTE9MDsGA1UEChM0WE1MIFNlY3Vy
aXR5IExpYnJhcnkgKGh0dHA6Ly93d3cuYWxla3NleS5jb20veG1sc2VjKTEQMA4G
@@ -56,26 +57,25 @@ eS5jb22CCQCvoou5M63arDANBgkqhkiG9w0BAQUFAAOBgQBuTAW63AgWqqUDPGi8
BiXbdKHhFP4J8qgkdv5WMa6SpSWVgNgOYXkK/BSg1aSmQtGv8/8UvBRPoJnO4y0N
jWUFf1ubOgUNmedYNLq7YbTp8yTGWeogCyM2xdWELMP8BMgQL0sP+MDAFMKO3itY
mEWnCEsP15HKSTms54RNj7oJ+A==</X509Certificate>
-<X509Certificate>MIIDfDCCAyagAwIBAgIJAK+ii7kzrdq0MA0GCSqGSIb3DQEBBQUAMIGcMQswCQYD
+<X509Certificate>MIIDfzCCAymgAwIBAgIJAK+ii7kzrdq1MA0GCSqGSIb3DQEBBQUAMIGcMQswCQYD
VQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTE9MDsGA1UEChM0WE1MIFNlY3Vy
aXR5IExpYnJhcnkgKGh0dHA6Ly93d3cuYWxla3NleS5jb20veG1sc2VjKTEWMBQG
A1UEAxMNQWxla3NleSBTYW5pbjEhMB8GCSqGSIb3DQEJARYSeG1sc2VjQGFsZWtz
-ZXkuY29tMCAXDTE2MDEyOTE3MjYxMloYDzIxMTYwMTA1MTcyNjEyWjCBojELMAkG
+ZXkuY29tMCAXDTE3MDIxNTIyMDgyMVoYDzIxMTcwMTIyMjIwODIxWjCBojELMAkG
A1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExPTA7BgNVBAoTNFhNTCBTZWN1
cml0eSBMaWJyYXJ5IChodHRwOi8vd3d3LmFsZWtzZXkuY29tL3htbHNlYykxHDAa
-BgNVBAMTE0VDRFNBIHNlY3AyNTZrMSBLZXkxITAfBgkqhkiG9w0BCQEWEnhtbHNl
-Y0BhbGVrc2V5LmNvbTBWMBAGByqGSM49AgEGBSuBBAAKA0IABGfbnXrR7bjGBsK6
-LIo2LkMPz9OhqW6U4EUwhA+0wbXbLzRufuaaUuGHkhl9LDa5128d1209j25iWgyL
-QoxgMLOjggFFMIIBQTAMBgNVHRMEBTADAQH/MCwGCWCGSAGG+EIBDQQfFh1PcGVu
-U1NMIEdlbmVyYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUPJXHiW1HSqdwbucp
-ESi1JeIJHKAwgeMGA1UdIwSB2zCB2IAU/uTsUyTwlZXHELXhRLVdOWVa436hgbSk
-gbEwga4xCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMT0wOwYDVQQK
-EzRYTUwgU2VjdXJpdHkgTGlicmFyeSAoaHR0cDovL3d3dy5hbGVrc2V5LmNvbS94
-bWxzZWMpMRAwDgYDVQQLEwdSb290IENBMRYwFAYDVQQDEw1BbGVrc2V5IFNhbmlu
-MSEwHwYJKoZIhvcNAQkBFhJ4bWxzZWNAYWxla3NleS5jb22CCQCvoou5M63arTAN
-BgkqhkiG9w0BAQUFAANBAFweA03Qo3e3BvU4MT3wnsn7VZukTI61ewyrGCQshOc5
-ng3TuNfNcAuwhwDnTkHEarbwvG3OmJIl+yDqgVtTD9M=</X509Certificate>
-</X509Data>
+BgNVBAMTE0VDRFNBIHNlY3AyNTZyMSBLZXkxITAfBgkqhkiG9w0BCQEWEnhtbHNl
+Y0BhbGVrc2V5LmNvbTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABG0uzqp1mHfR
+9zEMsYiIXkNPttZyj0aP8iE9wlKNp9x73kJnNmll8l47MZDWVjtrcyFn1XUzxH7q
+WVJYjPBGptSjggFFMIIBQTAMBgNVHRMEBTADAQH/MCwGCWCGSAGG+EIBDQQfFh1P
+cGVuU1NMIEdlbmVyYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUeiw8r3+wiHw0
+5T+3qRhjfhAZu9kwgeMGA1UdIwSB2zCB2IAU/uTsUyTwlZXHELXhRLVdOWVa436h
+gbSkgbEwga4xCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMT0wOwYD
+VQQKEzRYTUwgU2VjdXJpdHkgTGlicmFyeSAoaHR0cDovL3d3dy5hbGVrc2V5LmNv
+bS94bWxzZWMpMRAwDgYDVQQLEwdSb290IENBMRYwFAYDVQQDEw1BbGVrc2V5IFNh
+bmluMSEwHwYJKoZIhvcNAQkBFhJ4bWxzZWNAYWxla3NleS5jb22CCQCvoou5M63a
+rTANBgkqhkiG9w0BAQUFAANBABs4Ie691BR30Ki9MM5jzGhWlnWs8SaGJkAlJxck
+hhVmvV/5cntLvuQNGPpZJtkY8cVIw2/G4XmBBad7lZcuOag=</X509Certificate></X509Data>
</KeyInfo>
<Object Id="object">some text</Object>
</Signature>
diff --git a/tests/keys/README b/tests/keys/README
index 7a5a568..e5d4882 100644
--- a/tests/keys/README
+++ b/tests/keys/README
@@ -81,12 +81,13 @@ README
G. Generate ECDSA key with second level CA
> openssl ecparam -list_curves
- > openssl ecparam -name secp256k1 -genkey -noout -out ecdsa-secp256k1-key.pem
- > openssl req -config ./openssl.cnf -new -key ecdsa-secp256k1-key.pem -out ecdsa-secp256k1-req.pem
+ > openssl ecparam -name secp256r1 -genkey -noout -out ecdsa-secp256r1-key.pem
+ Here use 'ECDSA secp256r1 Key' for Common Name:
+ > openssl req -config ./openssl.cnf -new -key ecdsa-secp256r1-key.pem -out ecdsa-secp256r1-req.pem
> openssl ca -config ./openssl.cnf -cert ca2cert.pem -keyfile ca2key.pem \
- -out ecdsa-secp256k1-cert.pem -infiles ecdsa-secp256k1-req.pem
- > openssl verify -CAfile cacert.pem -untrusted ca2cert.pem ecdsa-secp256k1-cert.pem
- > rm ecdsa-secp256k1-req.pem
+ -out ecdsa-secp256r1-cert.pem -infiles ecdsa-secp256r1-req.pem
+ > openssl verify -CAfile cacert.pem -untrusted ca2cert.pem ecdsa-secp256r1-cert.pem
+ > rm ecdsa-secp256r1-req.pem
3. Converting key and certs between PEM and DER formats
@@ -101,7 +102,7 @@ README
> openssl dsa -inform PEM -outform DER -in dsa3072key.pem -out dsa3072key.der
ECDSA keys:
- > openssl ec -inform PEM -outform DER -in ecdsa-secp256k1-key.pem -out ecdsa-secp256k1-key.der
+ > openssl ec -inform PEM -outform DER -in ecdsa-secp256r1-key.pem -out ecdsa-secp256r1-key.der
- Convert PEM cert file to DER file
> openssl x509 -outform DER -in cacert.pem -out cacert.der
@@ -112,7 +113,7 @@ README
> openssl x509 -outform DER -in rsacert.pem -out rsacert.der
> openssl x509 -outform DER -in largersacert.pem -out largersacert.der
> openssl x509 -outform DER -in expiredcert.pem -out expiredcert.der
- > openssl x509 -outform DER -in ecdsa-secp256k1-cert.pem -out ecdsa-secp256k1-cert.der
+ > openssl x509 -outform DER -in ecdsa-secp256r1-cert.pem -out ecdsa-secp256r1-cert.der
- (optional) Convert PEM public key file to DER file
RSA key:
@@ -141,7 +142,7 @@ README
-outform pem -topk8
> openssl pkcs8 -in largersakey.der -inform der -out largersakey.p8-der \
-outform der -topk8
- > openssl pkcs8 -in ecdsa-secp256k1-key.der -inform der -out ecdsa-secp256k1-key.p8-der \
+ > openssl pkcs8 -in ecdsa-secp256r1-key.der -inform der -out ecdsa-secp256r1-key.p8-der \
-outform der -topk8
5. NSS is unfriendly towards standalone private keys.
@@ -167,9 +168,9 @@ README
> openssl pkcs12 -export -in allexpired.pem -name TestExpiredRsaKey \
-out expiredkey.p12
- > cat ecdsa-secp256k1-key.pem ecdsa-secp256k1-cert.pem ca2cert.pem cacert.pem > all-ecdsa-secp256k1.pem
- > openssl pkcs12 -export -in all-ecdsa-secp256k1.pem -name TestEcdsaSecp256k1Key -out ecdsa-secp256k1-key.p12
- > rm all-ecdsa-secp256k1.pem
+ > cat ecdsa-secp256r1-key.pem ecdsa-secp256r1-cert.pem ca2cert.pem cacert.pem > all-ecdsa-secp256r1.pem
+ > openssl pkcs12 -export -in all-ecdsa-secp256r1.pem -name TestEcdsaSecp256k1Key -out ecdsa-secp256r1-key.p12
+ > rm all-ecdsa-secp256r1.pem
5a.
Input: DSA/RSA private key in PEM or DER format
diff --git a/tests/keys/demoCA/index.txt b/tests/keys/demoCA/index.txt
index 1b8c10f..1bef065 100644
--- a/tests/keys/demoCA/index.txt
+++ b/tests/keys/demoCA/index.txt
@@ -7,3 +7,4 @@ V 140524175816Z AFA28BB933ADDAB1 unknown /C=US/ST=California/O=XML Security Lib
V 21150209225409Z AFA28BB933ADDAB2 unknown /C=US/ST=California/O=XML Security Library (http://www.aleksey.com/xmlsec)/OU=Test Third Level DSA 2048 Certificate/CN=Aleksey Sanin/emailAddress=xmlsec at aleksey.com
V 21150209225453Z AFA28BB933ADDAB3 unknown /C=US/ST=California/O=XML Security Library (http://www.aleksey.com/xmlsec)/OU=Test Third Level DSA 3072 Certificate/CN=Aleksey Sanin/emailAddress=xmlsec at aleksey.com
V 21160105172612Z AFA28BB933ADDAB4 unknown /C=US/ST=California/O=XML Security Library (http://www.aleksey.com/xmlsec)/CN=ECDSA secp256k1 Key/emailAddress=xmlsec at aleksey.com
+V 21170122220821Z AFA28BB933ADDAB5 unknown /C=US/ST=California/O=XML Security Library (http://www.aleksey.com/xmlsec)/CN=ECDSA secp256r1 Key/emailAddress=xmlsec at aleksey.com
diff --git a/tests/keys/demoCA/index.txt.old b/tests/keys/demoCA/index.txt.old
index c8270ea..1b8c10f 100644
--- a/tests/keys/demoCA/index.txt.old
+++ b/tests/keys/demoCA/index.txt.old
@@ -6,3 +6,4 @@ V 21140429175706Z AFA28BB933ADDAB0 unknown /C=US/ST=California/O=XML Security L
V 140524175816Z AFA28BB933ADDAB1 unknown /C=US/ST=California/O=XML Security Library (http://www.aleksey.com/xmlsec)/OU=Test Expired RSA Certificate/CN=Aleksey Sanin/emailAddress=xmlsec at aleksey.com
V 21150209225409Z AFA28BB933ADDAB2 unknown /C=US/ST=California/O=XML Security Library (http://www.aleksey.com/xmlsec)/OU=Test Third Level DSA 2048 Certificate/CN=Aleksey Sanin/emailAddress=xmlsec at aleksey.com
V 21150209225453Z AFA28BB933ADDAB3 unknown /C=US/ST=California/O=XML Security Library (http://www.aleksey.com/xmlsec)/OU=Test Third Level DSA 3072 Certificate/CN=Aleksey Sanin/emailAddress=xmlsec at aleksey.com
+V 21160105172612Z AFA28BB933ADDAB4 unknown /C=US/ST=California/O=XML Security Library (http://www.aleksey.com/xmlsec)/CN=ECDSA secp256k1 Key/emailAddress=xmlsec at aleksey.com
diff --git a/tests/keys/demoCA/newcerts/AFA28BB933ADDAB5.pem b/tests/keys/demoCA/newcerts/AFA28BB933ADDAB5.pem
new file mode 100644
index 0000000..3404e67
--- /dev/null
+++ b/tests/keys/demoCA/newcerts/AFA28BB933ADDAB5.pem
@@ -0,0 +1,60 @@
+Certificate:
+ Data:
+ Version: 3 (0x2)
+ Serial Number:
+ af:a2:8b:b9:33:ad:da:b5
+ Signature Algorithm: sha1WithRSAEncryption
+ Issuer: C=US, ST=California, O=XML Security Library (http://www.aleksey.com/xmlsec), CN=Aleksey Sanin/emailAddress=xmlsec at aleksey.com
+ Validity
+ Not Before: Feb 15 22:08:21 2017 GMT
+ Not After : Jan 22 22:08:21 2117 GMT
+ Subject: C=US, ST=California, O=XML Security Library (http://www.aleksey.com/xmlsec), CN=ECDSA secp256r1 Key/emailAddress=xmlsec at aleksey.com
+ Subject Public Key Info:
+ Public Key Algorithm: id-ecPublicKey
+ Public-Key: (256 bit)
+ pub:
+ 04:6d:2e:ce:aa:75:98:77:d1:f7:31:0c:b1:88:88:
+ 5e:43:4f:b6:d6:72:8f:46:8f:f2:21:3d:c2:52:8d:
+ a7:dc:7b:de:42:67:36:69:65:f2:5e:3b:31:90:d6:
+ 56:3b:6b:73:21:67:d5:75:33:c4:7e:ea:59:52:58:
+ 8c:f0:46:a6:d4
+ ASN1 OID: prime256v1
+ NIST CURVE: P-256
+ X509v3 extensions:
+ X509v3 Basic Constraints:
+ CA:TRUE
+ Netscape Comment:
+ OpenSSL Generated Certificate
+ X509v3 Subject Key Identifier:
+ 7A:2C:3C:AF:7F:B0:88:7C:34:E5:3F:B7:A9:18:63:7E:10:19:BB:D9
+ X509v3 Authority Key Identifier:
+ keyid:FE:E4:EC:53:24:F0:95:95:C7:10:B5:E1:44:B5:5D:39:65:5A:E3:7E
+ DirName:/C=US/ST=California/O=XML Security Library (http://www.aleksey.com/xmlsec)/OU=Root CA/CN=Aleksey Sanin/emailAddress=xmlsec at aleksey.com
+ serial:AF:A2:8B:B9:33:AD:DA:AD
+
+ Signature Algorithm: sha1WithRSAEncryption
+ 1b:38:21:ee:bd:d4:14:77:d0:a8:bd:30:ce:63:cc:68:56:96:
+ 75:ac:f1:26:86:26:40:25:27:17:24:86:15:66:bd:5f:f9:72:
+ 7b:4b:be:e4:0d:18:fa:59:26:d9:18:f1:c5:48:c3:6f:c6:e1:
+ 79:81:05:a7:7b:95:97:2e:39:a8
+-----BEGIN CERTIFICATE-----
+MIIDfzCCAymgAwIBAgIJAK+ii7kzrdq1MA0GCSqGSIb3DQEBBQUAMIGcMQswCQYD
+VQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTE9MDsGA1UEChM0WE1MIFNlY3Vy
+aXR5IExpYnJhcnkgKGh0dHA6Ly93d3cuYWxla3NleS5jb20veG1sc2VjKTEWMBQG
+A1UEAxMNQWxla3NleSBTYW5pbjEhMB8GCSqGSIb3DQEJARYSeG1sc2VjQGFsZWtz
+ZXkuY29tMCAXDTE3MDIxNTIyMDgyMVoYDzIxMTcwMTIyMjIwODIxWjCBojELMAkG
+A1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExPTA7BgNVBAoTNFhNTCBTZWN1
+cml0eSBMaWJyYXJ5IChodHRwOi8vd3d3LmFsZWtzZXkuY29tL3htbHNlYykxHDAa
+BgNVBAMTE0VDRFNBIHNlY3AyNTZyMSBLZXkxITAfBgkqhkiG9w0BCQEWEnhtbHNl
+Y0BhbGVrc2V5LmNvbTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABG0uzqp1mHfR
+9zEMsYiIXkNPttZyj0aP8iE9wlKNp9x73kJnNmll8l47MZDWVjtrcyFn1XUzxH7q
+WVJYjPBGptSjggFFMIIBQTAMBgNVHRMEBTADAQH/MCwGCWCGSAGG+EIBDQQfFh1P
+cGVuU1NMIEdlbmVyYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUeiw8r3+wiHw0
+5T+3qRhjfhAZu9kwgeMGA1UdIwSB2zCB2IAU/uTsUyTwlZXHELXhRLVdOWVa436h
+gbSkgbEwga4xCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMT0wOwYD
+VQQKEzRYTUwgU2VjdXJpdHkgTGlicmFyeSAoaHR0cDovL3d3dy5hbGVrc2V5LmNv
+bS94bWxzZWMpMRAwDgYDVQQLEwdSb290IENBMRYwFAYDVQQDEw1BbGVrc2V5IFNh
+bmluMSEwHwYJKoZIhvcNAQkBFhJ4bWxzZWNAYWxla3NleS5jb22CCQCvoou5M63a
+rTANBgkqhkiG9w0BAQUFAANBABs4Ie691BR30Ki9MM5jzGhWlnWs8SaGJkAlJxck
+hhVmvV/5cntLvuQNGPpZJtkY8cVIw2/G4XmBBad7lZcuOag=
+-----END CERTIFICATE-----
diff --git a/tests/keys/demoCA/serial b/tests/keys/demoCA/serial
index f10ea95..ee29801 100644
--- a/tests/keys/demoCA/serial
+++ b/tests/keys/demoCA/serial
@@ -1 +1 @@
-AFA28BB933ADDAB5
+AFA28BB933ADDAB6
diff --git a/tests/keys/demoCA/serial.old b/tests/keys/demoCA/serial.old
index adf3394..f10ea95 100644
--- a/tests/keys/demoCA/serial.old
+++ b/tests/keys/demoCA/serial.old
@@ -1 +1 @@
-AFA28BB933ADDAB4
+AFA28BB933ADDAB5
diff --git a/tests/keys/ecdsa-secp256r1-cert.der b/tests/keys/ecdsa-secp256r1-cert.der
new file mode 100644
index 0000000..c2f99e4
Binary files /dev/null and b/tests/keys/ecdsa-secp256r1-cert.der differ
diff --git a/tests/keys/ecdsa-secp256r1-cert.pem b/tests/keys/ecdsa-secp256r1-cert.pem
new file mode 100644
index 0000000..3404e67
--- /dev/null
+++ b/tests/keys/ecdsa-secp256r1-cert.pem
@@ -0,0 +1,60 @@
+Certificate:
+ Data:
+ Version: 3 (0x2)
+ Serial Number:
+ af:a2:8b:b9:33:ad:da:b5
+ Signature Algorithm: sha1WithRSAEncryption
+ Issuer: C=US, ST=California, O=XML Security Library (http://www.aleksey.com/xmlsec), CN=Aleksey Sanin/emailAddress=xmlsec at aleksey.com
+ Validity
+ Not Before: Feb 15 22:08:21 2017 GMT
+ Not After : Jan 22 22:08:21 2117 GMT
+ Subject: C=US, ST=California, O=XML Security Library (http://www.aleksey.com/xmlsec), CN=ECDSA secp256r1 Key/emailAddress=xmlsec at aleksey.com
+ Subject Public Key Info:
+ Public Key Algorithm: id-ecPublicKey
+ Public-Key: (256 bit)
+ pub:
+ 04:6d:2e:ce:aa:75:98:77:d1:f7:31:0c:b1:88:88:
+ 5e:43:4f:b6:d6:72:8f:46:8f:f2:21:3d:c2:52:8d:
+ a7:dc:7b:de:42:67:36:69:65:f2:5e:3b:31:90:d6:
+ 56:3b:6b:73:21:67:d5:75:33:c4:7e:ea:59:52:58:
+ 8c:f0:46:a6:d4
+ ASN1 OID: prime256v1
+ NIST CURVE: P-256
+ X509v3 extensions:
+ X509v3 Basic Constraints:
+ CA:TRUE
+ Netscape Comment:
+ OpenSSL Generated Certificate
+ X509v3 Subject Key Identifier:
+ 7A:2C:3C:AF:7F:B0:88:7C:34:E5:3F:B7:A9:18:63:7E:10:19:BB:D9
+ X509v3 Authority Key Identifier:
+ keyid:FE:E4:EC:53:24:F0:95:95:C7:10:B5:E1:44:B5:5D:39:65:5A:E3:7E
+ DirName:/C=US/ST=California/O=XML Security Library (http://www.aleksey.com/xmlsec)/OU=Root CA/CN=Aleksey Sanin/emailAddress=xmlsec at aleksey.com
+ serial:AF:A2:8B:B9:33:AD:DA:AD
+
+ Signature Algorithm: sha1WithRSAEncryption
+ 1b:38:21:ee:bd:d4:14:77:d0:a8:bd:30:ce:63:cc:68:56:96:
+ 75:ac:f1:26:86:26:40:25:27:17:24:86:15:66:bd:5f:f9:72:
+ 7b:4b:be:e4:0d:18:fa:59:26:d9:18:f1:c5:48:c3:6f:c6:e1:
+ 79:81:05:a7:7b:95:97:2e:39:a8
+-----BEGIN CERTIFICATE-----
+MIIDfzCCAymgAwIBAgIJAK+ii7kzrdq1MA0GCSqGSIb3DQEBBQUAMIGcMQswCQYD
+VQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTE9MDsGA1UEChM0WE1MIFNlY3Vy
+aXR5IExpYnJhcnkgKGh0dHA6Ly93d3cuYWxla3NleS5jb20veG1sc2VjKTEWMBQG
+A1UEAxMNQWxla3NleSBTYW5pbjEhMB8GCSqGSIb3DQEJARYSeG1sc2VjQGFsZWtz
+ZXkuY29tMCAXDTE3MDIxNTIyMDgyMVoYDzIxMTcwMTIyMjIwODIxWjCBojELMAkG
+A1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExPTA7BgNVBAoTNFhNTCBTZWN1
+cml0eSBMaWJyYXJ5IChodHRwOi8vd3d3LmFsZWtzZXkuY29tL3htbHNlYykxHDAa
+BgNVBAMTE0VDRFNBIHNlY3AyNTZyMSBLZXkxITAfBgkqhkiG9w0BCQEWEnhtbHNl
+Y0BhbGVrc2V5LmNvbTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABG0uzqp1mHfR
+9zEMsYiIXkNPttZyj0aP8iE9wlKNp9x73kJnNmll8l47MZDWVjtrcyFn1XUzxH7q
+WVJYjPBGptSjggFFMIIBQTAMBgNVHRMEBTADAQH/MCwGCWCGSAGG+EIBDQQfFh1P
+cGVuU1NMIEdlbmVyYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUeiw8r3+wiHw0
+5T+3qRhjfhAZu9kwgeMGA1UdIwSB2zCB2IAU/uTsUyTwlZXHELXhRLVdOWVa436h
+gbSkgbEwga4xCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMT0wOwYD
+VQQKEzRYTUwgU2VjdXJpdHkgTGlicmFyeSAoaHR0cDovL3d3dy5hbGVrc2V5LmNv
+bS94bWxzZWMpMRAwDgYDVQQLEwdSb290IENBMRYwFAYDVQQDEw1BbGVrc2V5IFNh
+bmluMSEwHwYJKoZIhvcNAQkBFhJ4bWxzZWNAYWxla3NleS5jb22CCQCvoou5M63a
+rTANBgkqhkiG9w0BAQUFAANBABs4Ie691BR30Ki9MM5jzGhWlnWs8SaGJkAlJxck
+hhVmvV/5cntLvuQNGPpZJtkY8cVIw2/G4XmBBad7lZcuOag=
+-----END CERTIFICATE-----
diff --git a/tests/keys/ecdsa-secp256r1-key.der b/tests/keys/ecdsa-secp256r1-key.der
new file mode 100644
index 0000000..a26a34c
Binary files /dev/null and b/tests/keys/ecdsa-secp256r1-key.der differ
diff --git a/tests/keys/ecdsa-secp256r1-key.p12 b/tests/keys/ecdsa-secp256r1-key.p12
new file mode 100644
index 0000000..b81eba3
Binary files /dev/null and b/tests/keys/ecdsa-secp256r1-key.p12 differ
diff --git a/tests/keys/ecdsa-secp256r1-key.p8-der b/tests/keys/ecdsa-secp256r1-key.p8-der
new file mode 100644
index 0000000..44c8eb5
Binary files /dev/null and b/tests/keys/ecdsa-secp256r1-key.p8-der differ
diff --git a/tests/keys/ecdsa-secp256r1-key.pem b/tests/keys/ecdsa-secp256r1-key.pem
new file mode 100644
index 0000000..e5e864f
--- /dev/null
+++ b/tests/keys/ecdsa-secp256r1-key.pem
@@ -0,0 +1,5 @@
+-----BEGIN EC PRIVATE KEY-----
+MHcCAQEEID5bCaVHTwFNu+anJe0XrGEg+ExsbUIlyub3bPWh5BcMoAoGCCqGSM49
+AwEHoUQDQgAEbS7OqnWYd9H3MQyxiIheQ0+21nKPRo/yIT3CUo2n3HveQmc2aWXy
+XjsxkNZWO2tzIWfVdTPEfupZUliM8Eam1A==
+-----END EC PRIVATE KEY-----
diff --git a/tests/keys/merlincert.der b/tests/keys/merlincert.der
new file mode 100644
index 0000000..b1f5d14
Binary files /dev/null and b/tests/keys/merlincert.der differ
diff --git a/tests/testDSig.sh b/tests/testDSig.sh
index fa4836b..5ef44a4 100755
--- a/tests/testDSig.sh
+++ b/tests/testDSig.sh
@@ -353,7 +353,7 @@ execDSigTest $res_success \
"sha1 ecdsa-sha1" \
"rsa x509" \
"--trusted-$cert_format $topfolder/keys/cacert.$cert_format --enabled-key-data x509" \
- "$priv_key_option $topfolder/keys/ecdsa-secp256k1-key.$priv_key_format --pwd secret123" \
+ "$priv_key_option $topfolder/keys/ecdsa-secp256r1-key.$priv_key_format --pwd secret123" \
"--trusted-$cert_format $topfolder/keys/cacert.$cert_format --enabled-key-data x509"
execDSigTest $res_success \
@@ -362,7 +362,7 @@ execDSigTest $res_success \
"sha256 ecdsa-sha256" \
"rsa x509" \
"--trusted-$cert_format $topfolder/keys/cacert.$cert_format --enabled-key-data x509" \
- "$priv_key_option $topfolder/keys/ecdsa-secp256k1-key.$priv_key_format --pwd secret123" \
+ "$priv_key_option $topfolder/keys/ecdsa-secp256r1-key.$priv_key_format --pwd secret123" \
"--trusted-$cert_format $topfolder/keys/cacert.$cert_format --enabled-key-data x509"
execDSigTest $res_success \
@@ -371,7 +371,7 @@ execDSigTest $res_success \
"sha512 ecdsa-sha512" \
"rsa x509" \
"--trusted-$cert_format $topfolder/keys/cacert.$cert_format --enabled-key-data x509" \
- "$priv_key_option $topfolder/keys/ecdsa-secp256k1-key.$priv_key_format --pwd secret123" \
+ "$priv_key_option $topfolder/keys/ecdsa-secp256r1-key.$priv_key_format --pwd secret123" \
"--trusted-$cert_format $topfolder/keys/cacert.$cert_format --enabled-key-data x509"
#
@@ -922,6 +922,35 @@ execDSigTest $res_fail \
"rsa x509" \
"--trusted-$cert_format certs/rsa-ca-cert.$cert_format"
+# 'Verify existing signature' MUST fail here, as --trusted-... is not passed.
+# If this passes, that's a bug. Note that we need to cleanup NSS certs DB
+# since it automaticall stores trusted certs
+if [ "z$crypto" = "znss" ] ;
+then
+ certutil -D -n "$NSS_TEST_CERT_NICKNAME" -d "$crypto_config"
+ if [ $? -ne 0 ]; then
+ echo "--- FAILED TO DELETE TRUSTED TEST CERTIFICATE FROM NSS CERT DB. THE NEXT TEST MIGHT FAIL" >> $logfile
+ echo "--- FAILED TO DELETE TRUSTED TEST CERTIFICATE FROM NSS CERT DB. THE NEXT TEST MIGHT FAIL"
+ fi
+fi
+
+execDSigTest $res_fail \
+ "aleksey-xmldsig-01" \
+ "enveloping-sha256-rsa-sha256-verify" \
+ "sha256 rsa-sha256" \
+ "rsa x509" \
+ "--enabled-key-data x509"
+
+# This is the same, but due to --insecure it must pass.
+# If this fails, that means avoiding the certificate verification doesn't
+# happen correctly.
+execDSigTest $res_success \
+ "aleksey-xmldsig-01" \
+ "enveloping-sha256-rsa-sha256-verify" \
+ "sha256 rsa-sha256" \
+ "rsa x509" \
+ "--enabled-key-data x509 --insecure"
+
##########################################################################
##########################################################################
##########################################################################
diff --git a/tests/testrun.sh b/tests/testrun.sh
index 9e94423..3470ac9 100755
--- a/tests/testrun.sh
+++ b/tests/testrun.sh
@@ -106,6 +106,9 @@ else
diff_param=-u
fi
+NSS_TEST_CERT_NICKNAME="NSS Certificate DB:Aleksey Sanin - XML Security Library (http://www.aleksey.com/xmlsec)"
+
+
#
# Check the command result and print it to stdout
#
diff --git a/win32/Makefile.msvc b/win32/Makefile.msvc
index 8c887a1..c1eea25 100644
--- a/win32/Makefile.msvc
+++ b/win32/Makefile.msvc
@@ -33,10 +33,8 @@ AUTOCONF = .\configure.txt
#UNICODE = 1
#DEBUG = 0
#WITH_CRYPTO=openssl
-#WITH_CRYPTO=openssl
#WITH_DEFAULT_CRYPTO=openssl
#WITH_OPENSSL=1
-#WITH_OPENSSL_VERSION=
#WITH_NSS=0
#WITH_MSCRYPTO=0
#WITH_LIBXSLT=1
@@ -116,7 +114,6 @@ XMLSEC_OPENSSL_SRCDIR = $(XMLSEC_SRCDIR)\openssl
XMLSEC_NSS_SRCDIR = $(XMLSEC_SRCDIR)\nss
XMLSEC_MSCRYPTO_SRCDIR = $(XMLSEC_SRCDIR)\mscrypto
-
#
# Object files for libraries and apps.
#
@@ -199,6 +196,7 @@ XMLSEC_OPENSSL_OBJS = \
$(XMLSEC_OPENSSL_INTDIR)\crypto.obj \
$(XMLSEC_OPENSSL_INTDIR)\digests.obj \
$(XMLSEC_OPENSSL_INTDIR)\evp.obj \
+ $(XMLSEC_OPENSSL_INTDIR)\evp_signatures.obj \
$(XMLSEC_OPENSSL_INTDIR)\hmac.obj \
$(XMLSEC_OPENSSL_INTDIR)\kt_rsa.obj \
$(XMLSEC_OPENSSL_INTDIR)\kw_aes.obj \
@@ -215,6 +213,7 @@ XMLSEC_OPENSSL_OBJS_A = \
$(XMLSEC_OPENSSL_INTDIR_A)\crypto.obj \
$(XMLSEC_OPENSSL_INTDIR_A)\digests.obj \
$(XMLSEC_OPENSSL_INTDIR_A)\evp.obj \
+ $(XMLSEC_OPENSSL_INTDIR_A)\evp_signatures.obj \
$(XMLSEC_OPENSSL_INTDIR_A)\hmac.obj \
$(XMLSEC_OPENSSL_INTDIR_A)\kt_rsa.obj \
$(XMLSEC_OPENSSL_INTDIR_A)\kw_aes.obj \
@@ -302,7 +301,7 @@ CPPFLAGS = /nologo
#
# The compiler and its options.
#
-CC = cl.exe
+CC = cl.exe
CFLAGS = /nologo /D "WIN32" /D "_WINDOWS"
CFLAGS = $(CFLAGS) /D "_MBCS" /D "_REENTRANT" /W1
CFLAGS = $(CFLAGS) /I$(BASEDIR) /I$(BASEDIR)\include
@@ -311,6 +310,7 @@ CFLAGS = $(CFLAGS) /D PACKAGE=\"$(XMLSEC_NAME)\"
CFLAGS = $(CFLAGS) /D "HAVE_STDIO_H" /D "HAVE_STDLIB_H"
CFLAGS = $(CFLAGS) /D "HAVE_STRING_H" /D "HAVE_CTYPE_H"
CFLAGS = $(CFLAGS) /D "HAVE_MALLOC_H" /D "HAVE_MEMORY_H"
+CFLAGS = $(CFLAGS) /D "XMLSEC_NO_GOST" /D "XMLSEC_NO_GOST2012"
!if "$(UNICODE)" == "1"
CFLAGS = $(CFLAGS) /D "UNICODE" /D "_UNICODE"
@@ -318,11 +318,13 @@ CFLAGS = $(CFLAGS) /D "UNICODE" /D "_UNICODE"
# Optimisation and debug symbols.
!if "$(DEBUG)" == "1"
-CFLAGS = $(CFLAGS) /D "_DEBUG" /Od /Z7 /MDd
+CFLAGS = $(CFLAGS) /D "_DEBUG" /Od /Z7
!else
-CFLAGS = $(CFLAGS) /D "NDEBUG" /O2 /MD
+CFLAGS = $(CFLAGS) /D "NDEBUG" /O2
!endif
+CFLAGS = $(CFLAGS) $(CRUNTIME)
+
# configurable options
!if "$(WITH_LIBXSLT)" == "1"
!else
@@ -345,18 +347,14 @@ APP_CFLAGS = $(APP_CFLAGS) $(XMLSEC_CRYPTO_CFLAGS)
APP_CFLAGS = $(APP_CFLAGS) /D "XMLSEC_NO_TMPL_TEST"
!endif
-!if "$(WITH_OPENSSL_VERSION)" == ""
XMLSEC_OPENSSL_CFLAGS = /D "XMLSEC_CRYPTO_OPENSSL" /D "XMLSEC_DEFAULT_CRYPTO=\"openssl\""
-!else
-XMLSEC_OPENSSL_CFLAGS = /D "$(WITH_OPENSSL_VERSION)" /D "XMLSEC_CRYPTO_OPENSSL" /D "XMLSEC_DEFAULT_CRYPTO=\"openssl\""
-!endif
XMLSEC_NSS_CFLAGS = /D "XMLSEC_CRYPTO_NSS" /D "XMLSEC_DEFAULT_CRYPTO=\"nss\""
XMLSEC_MSCRYPTO_CFLAGS = /D "XMLSEC_CRYPTO_MSCRYPTO" /D "XMLSEC_DEFAULT_CRYPTO=\"mscrypto\""
#
# The linker and its options.
#
-LD = link.exe
+LD = link.exe
LDFLAGS = /nologo
LDFLAGS = $(LDFLAGS) /LIBPATH:$(BINDIR) /LIBPATH:$(LIBPREFIX)
LIBS =
@@ -365,13 +363,14 @@ LIBS =
!if "$(DEBUG)" == "1"
LDFLAGS = $(LDFLAGS) /DEBUG
!else
-LDFLAGS = $(LDFLAGS) /OPT:NOWIN98
+LDFLAGS = $(LDFLAGS)
!endif
SOLIBS = $(LIBS) libxml2.lib
ALIBS = $(LIBS) libxml2_a.lib
!if "$(WITH_ICONV)" == "1"
+CFLAGS = $(CFLAGS) /D "LIBXML_ICONV_ENABLED"
SOLIBS = $(SOLIBS) iconv.lib
ALIBS = $(ALIBS) iconv_a.lib
!endif
@@ -391,11 +390,11 @@ APP_LIBS = $(SOLIBS) $(XMLSEC_CRYPTO_SOLIBS)
!else
!endif
-XMLSEC_OPENSSL_SOLIBS = libeay32.lib wsock32.lib kernel32.lib user32.lib gdi32.lib
-XMLSEC_OPENSSL_ALIBS = libeay32.lib wsock32.lib kernel32.lib user32.lib gdi32.lib
+XMLSEC_OPENSSL_SOLIBS = libcrypto.lib wsock32.lib kernel32.lib user32.lib gdi32.lib crypt32.lib advapi32.lib ws2_32.lib
+XMLSEC_OPENSSL_ALIBS = libcrypto.lib wsock32.lib kernel32.lib user32.lib gdi32.lib crypt32.lib advapi32.lib ws2_32.lib
-XMLSEC_NSS_SOLIBS = smime3.lib ssl3.lib nss3.lib libnspr4.lib libplds4.lib libplc4.lib kernel32.lib user32.lib gdi32.lib
-XMLSEC_NSS_ALIBS = smime3.lib ssl3.lib nss3.lib libnspr4_s.lib libplds4_s.lib libplc4_s.lib kernel32.lib user32.lib gdi32.lib
+XMLSEC_NSS_SOLIBS = smime3.lib ssl3.lib nss3.lib libnspr4.lib libplds4.lib libplc4.lib kernel32.lib user32.lib gdi32.lib
+XMLSEC_NSS_ALIBS = smime3.lib ssl3.lib nss3.lib libnspr4_s.lib libplds4_s.lib libplc4_s.lib kernel32.lib user32.lib gdi32.lib
XMLSEC_MSCRYPTO_SOLIBS = kernel32.lib user32.lib gdi32.lib Crypt32.lib Advapi32.lib
XMLSEC_MSCRYPTO_ALIBS = kernel32.lib user32.lib gdi32.lib Crypt32.lib Advapi32.lib
@@ -405,7 +404,6 @@ XMLSEC_MSCRYPTO_ALIBS = kernel32.lib user32.lib gdi32.lib Crypt32.lib Advapi32
AR = link.exe /lib
ARFLAGS = /nologo
-
#
# xmlsec-<default-crypto> options
#
diff --git a/win32/README.txt b/win32/README.txt
index 7040e05..ddb9edf 100644
--- a/win32/README.txt
+++ b/win32/README.txt
@@ -127,7 +127,7 @@ you need to add one of the following global defines:
#define XMLSEC_CRYPTO_NSS
Also you'll need to define all configuration parameters used during XML Security
-Library compilation (XMLSEC_OPENSSL_100, XMLSEC_NO_AES, XMLSEC_NO_X509,...).
+Library compilation (XMLSEC_NO_AES, XMLSEC_NO_X509,...).
2.1 Additional Global Defines for static linking.
-------------
-------------
-------------
------
diff --git a/win32/configure.js b/win32/configure.js
index 7bbba19..0444abc 100644
--- a/win32/configure.js
+++ b/win32/configure.js
@@ -30,6 +30,10 @@ var versionFile = ".\\configure.txt";
var optsFileIn = baseDir + "\\config.h.in";
var optsFile = baseDir + "\\config.h";
+/* Input and output files regarding the xmlsec version. */
+var versionHeaderIn = baseDir + "\\include\\xmlsec\\version.h.in";
+var versionHeader = baseDir + "\\include\\xmlsec\\version.h";
+
/* Version strings for the binary distribution. Will be filled later
in the code. */
var verMajorXmlSec;
@@ -40,7 +44,6 @@ var verMicroXmlSec;
var withCrypto = "openssl";
var withDefaultCrypto = "openssl";
var withOpenSSL = 0;
-var withOpenSSLVersion = "";
var withNss = 0;
var withMSCrypto = 0;
var withLibXSLT = 1;
@@ -59,6 +62,8 @@ var buildLibPrefix = "$(PREFIX)\\lib";
var buildSoPrefix = "$(PREFIX)\\lib";
var buildInclude = ".";
var buildLib = ".";
+var cruntime = "/MD";
+
/* Local stuff */
var error = 0;
@@ -97,7 +102,7 @@ function usage()
txt += "either 'yes' or 'no'.\n\n";
txt += "XmlSec Library options, default value given in parentheses:\n\n";
txt += " crypto: Crypto engines list, first is default: \"openssl\",\n";
- txt += " \"openssl=096\", \"openssl=097\", \"openssl=098\", \n";
+ txt += " \"openssl=098\", \"openssl=100\", \"openssl=110\", \n";
txt += " \"nss\", \"mscrypto\" (\"" + withCrypto + "\");\n"
txt += " xslt: LibXSLT is used (" + (withLibXSLT? "yes" : "no") + ")\n";
txt += " iconv: Use the iconv library (" + (withIconv? "yes" : "no") + ")\n";
@@ -159,7 +164,6 @@ function discoverVersion()
vf.WriteLine("WITH_CRYPTO=" + withCrypto);
vf.WriteLine("WITH_DEFAULT_CRYPTO=" + withDefaultCrypto);
vf.WriteLine("WITH_OPENSSL=" + withOpenSSL);
- vf.WriteLine("WITH_OPENSSL_VERSION=XMLSEC_OPENSSL_" + withOpenSSLVersion);
vf.WriteLine("WITH_NSS=" + withNss);
vf.WriteLine("WITH_MSCRYPTO=" + withMSCrypto);
vf.WriteLine("WITH_LIBXSLT=" + (withLibXSLT ? "1" : "0"));
@@ -176,6 +180,7 @@ function discoverVersion()
vf.WriteLine("SOPREFIX=" + buildSoPrefix);
vf.WriteLine("INCLUDE=$(INCLUDE);" + buildInclude);
vf.WriteLine("LIB=$(LIB);" + buildLib);
+ vf.WriteLine("CRUNTIME=" + cruntime);
vf.Close();
}
@@ -203,6 +208,43 @@ function configureXmlSec()
of.Close();
}
+/* This one will generate version.h from version.h.in. */
+function configureXmlSecVersion()
+{
+ var fso, ofi, of, ln, s;
+ fso = new ActiveXObject("Scripting.FileSystemObject");
+ if (fso.FileExists(versionHeader)) {
+ // version.h is already generated, nothing to do.
+ return;
+ }
+
+ ofi = fso.OpenTextFile(versionHeaderIn, 1);
+ of = fso.CreateTextFile(versionHeader, true);
+ while (ofi.AtEndOfStream != true) {
+ ln = ofi.ReadLine();
+ s = new String(ln);
+ if (s.search(/\@XMLSEC_VERSION_MAJOR\@/) != -1) {
+ of.WriteLine(s.replace(/\@XMLSEC_VERSION_MAJOR\@/,
+ verMajorXmlSec));
+ } else if (s.search(/\@XMLSEC_VERSION_MINOR\@/) != -1) {
+ of.WriteLine(s.replace(/\@XMLSEC_VERSION_MINOR\@/,
+ verMinorXmlSec));
+ } else if (s.search(/\@XMLSEC_VERSION_SUBMINOR\@/) != -1) {
+ of.WriteLine(s.replace(/\@XMLSEC_VERSION_SUBMINOR\@/,
+ verMicroXmlSec));
+ } else if (s.search(/\@XMLSEC_VERSION\@/) != -1) {
+ of.WriteLine(s.replace(/\@XMLSEC_VERSION\@/,
+ verMajorXmlSec + "." + verMinorXmlSec + "." + verMicroXmlSec));
+ } else if (s.search(/\@XMLSEC_VERSION_INFO\@/) != -1) {
+ of.WriteLine(s.replace(/\@XMLSEC_VERSION_INFO\@/,
+ (parseInt(verMajorXmlSec) + parseInt(verMinorXmlSec)) + ":" + verMicroXmlSec + ":" + verMinorXmlSec));
+ } else
+ of.WriteLine(ln);
+ }
+ ofi.Close();
+ of.Close();
+}
+
/* Creates the readme file for the binary distribution of 'bname', for the
version 'ver' in the file 'file'. This one is called from the Makefile when
generating a binary distribution. The parameters are passed by make. */
@@ -281,6 +323,8 @@ for (i = 0; (i < WScript.Arguments.length) && (error == 0); i++) {
buildInclude = arg.substring(opt.length + 1, arg.length);
else if (opt == "lib")
buildLib = arg.substring(opt.length + 1, arg.length);
+ else if (opt == "cruntime")
+ cruntime = arg.substring(opt.length + 1, arg.length);
else
error = 1;
} else if (i == 0) {
@@ -311,19 +355,15 @@ for (j = 0; j < crlist.length; j++) {
if (crlist[j] == "openssl") {
curcrypto="openssl";
withOpenSSL = 1;
- withOpenSSLVersion = "100"; /* default */
} else if (crlist[j] == "openssl=098") {
curcrypto="openssl";
withOpenSSL = 1;
- withOpenSSLVersion = "098";
} else if (crlist[j] == "openssl=100") {
curcrypto="openssl";
withOpenSSL = 1;
- withOpenSSLVersion = "100";
} else if (crlist[j] == "openssl=110") {
curcrypto="openssl";
withOpenSSL = 1;
- withOpenSSLVersion = "110";
} else if (crlist[j] == "nss") {
curcrypto="nss";
withNss = 1;
@@ -353,6 +393,8 @@ WScript.Echo(baseName + " version: " + verMajorXmlSec + "." + verMinorXmlSec + "
// Configure libxmlsec.
configureXmlSec();
+// Generate version.h.
+configureXmlSecVersion();
if (error != 0) {
WScript.Echo("Configuration failed, aborting.");
WScript.Quit(error);
@@ -370,7 +412,6 @@ txtOut += "----------------------------\n";
txtOut += " Use Crypto: " + withCrypto + "\n";
txtOut += " Use Default Crypto: " + withDefaultCrypto + "\n";
txtOut += " Use OpenSSL: " + boolToStr(withOpenSSL) + "\n";
-txtOut += "Use OpenSSL Version: " + withOpenSSLVersion + "\n";
txtOut += " Use NSS: " + boolToStr(withNss) + "\n";
txtOut += " Use MSCrypto: " + boolToStr(withMSCrypto) + "\n";
txtOut += " Use LibXSLT: " + boolToStr(withLibXSLT) + "\n";
@@ -379,6 +420,7 @@ txtOut += " NT 4.0 support: " + boolToStr(withNT4) + "\n";
txtOut += "\n";
txtOut += "Win32 build configuration\n";
txtOut += "-------------------------\n";
+txtOut += " C-Runtime option: " + cruntime + "\n";
txtOut += " Unicode: " + boolToStr(buildUnicode) + "\n";
txtOut += " Debug symbols: " + boolToStr(buildDebug) + "\n";
txtOut += " Static xmlsec: " + boolToStr(buildStatic) + "\n";
diff --git a/win32/mycfg.bat b/win32/mycfg.bat
index 17617b0..a1190a1 100644
--- a/win32/mycfg.bat
+++ b/win32/mycfg.bat
@@ -8,14 +8,16 @@ REM
REM Aleksey Sanin <aleksey at aleksey.com>
REM
-SET PREFIX=C:\cygwin\home\local
-SET XMLSEC_INCLUDE=%PREFIX%\include;%PREFIX%\include\mozilla;%PREFIX%\include\mozilla\nspr;%PREFIX%\include\mozilla\nss;%MSSDK_INCLUDE%
+SET PREFIX=C:\Users\Aleksey\dev\local
+SET XMLSEC_CRYPTO=mscrypto
+SET XMLSEC_INCLUDE=%PREFIX%\include;%MSSDK_INCLUDE%
SET XMLSEC_LIB=%PREFIX%\lib;%MSSDK_LIB%
-SET XMLSEC_OPTIONS=static=no iconv=no debug=yes xslt=yes crypto=mscrypto,openssl unicode=yes
+SET XMLSEC_OPTIONS=static=yes iconv=no debug=yes xslt=yes crypto=%XMLSEC_CRYPTO% unicode=yes
del /F Makefile configure.txt
-cscript configure.js prefix=%PREFIX% %XMLSEC_OPTIONS% include=%XMLSEC_INCLUDE% lib=%XMLSEC_LIB%
+cscript configure.js prefix=%PREFIX% %XMLSEC_OPTIONS% include=%XMLSEC_INCLUDE% lib=%XMLSEC_LIB%
mkdir binaries
copy %PREFIX%\bin\*.dll binaries
copy %PREFIX%\lib\*.dll binaries
+
diff --git a/xmlsec1-config b/xmlsec1-config
index 11d42c3..52e62c0 100755
--- a/xmlsec1-config
+++ b/xmlsec1-config
@@ -95,7 +95,7 @@ do
;;
--version)
- echo 1.2.23
+ echo 1.2.24
exit 0
;;
@@ -158,16 +158,16 @@ none)
;;
default)
- the_crypto_flags=" -DXMLSEC_OPENSSL_100=1 -DXMLSEC_CRYPTO_OPENSSL=1"
- the_crypto_libs="-lssl -lcrypto "
+ the_crypto_flags=" -DXMLSEC_CRYPTO_OPENSSL=1"
+ the_crypto_libs="-lssl -lcrypto"
the_xmlsec_crypto_lib="-lxmlsec1-openssl"
;;
openssl)
if test "0" = "0" ;
then
- the_crypto_flags=" -DXMLSEC_OPENSSL_100=1 -DXMLSEC_CRYPTO_OPENSSL=1"
- the_crypto_libs="-lssl -lcrypto "
+ the_crypto_flags=" -DXMLSEC_CRYPTO_OPENSSL=1"
+ the_crypto_libs="-lssl -lcrypto"
the_xmlsec_crypto_lib="-lxmlsec1-openssl"
else
echo "Error: the \"$crypto\" cryptographic library is not supported"
@@ -178,8 +178,8 @@ openssl)
gnutls)
if test "0" = "0" ;
then
- the_crypto_flags="-I/usr/include/p11-kit-1 -DXMLSEC_CRYPTO_GNUTLS=1"
- the_crypto_libs="-lgnutls "
+ the_crypto_flags="-I/usr/include/p11-kit-1 -DXMLSEC_CRYPTO_GNUTLS=1"
+ the_crypto_libs="-lgnutls"
the_xmlsec_crypto_lib="-lxmlsec1-gnutls"
else
echo "Error: the \"$crypto\" cryptographic library is not supported"
@@ -202,8 +202,8 @@ gcrypt)
nss)
if test "0" = "0";
then
- the_crypto_flags="-I/usr/include/nspr -I/usr/include/nss -I/usr/include/nspr -DXMLSEC_CRYPTO_NSS=1"
- the_crypto_libs="-lplds4 -lplc4 -lnspr4 -lnss3 -lnssutil3 -lsmime3 -lssl3 -lplds4 -lplc4 -lnspr4 "
+ the_crypto_flags="-I/usr/include/nspr -I/usr/include/nss -I/usr/include/nspr -DXMLSEC_CRYPTO_NSS=1"
+ the_crypto_libs="-lplds4 -lplc4 -lnspr4 -lnss3 -lnssutil3 -lsmime3 -lssl3 -lplds4 -lplc4 -lnspr4"
the_xmlsec_crypto_lib="-lxmlsec1-nss"
else
echo "Error: the \"$crypto\" cryptographic library is not supported"
diff --git a/xmlsec1-gcrypt.pc b/xmlsec1-gcrypt.pc
index c093148..16bd3e6 100644
--- a/xmlsec1-gcrypt.pc
+++ b/xmlsec1-gcrypt.pc
@@ -4,7 +4,7 @@ libdir=${exec_prefix}/lib
includedir=${prefix}/include
Name: xmlsec1-gcrypt
-Version: 1.2.23
+Version: 1.2.24
Description: XML Security Library implements XML Signature and XML Encryption standards
Requires: libxml-2.0 >= 2.7.4 libxslt >= 1.0.20
Cflags: -D__XMLSEC_FUNCTION__=__func__ -DXMLSEC_NO_GOST=1 -DXMLSEC_NO_GOST2012=1 -DXMLSEC_DL_LIBLTDL=1 -I${prefix}/include/xmlsec1 -I/home/aleksey/local/include -DXMLSEC_CRYPTO_GCRYPT=1
diff --git a/xmlsec1-gnutls.pc b/xmlsec1-gnutls.pc
index 9353d20..e7f86ad 100644
--- a/xmlsec1-gnutls.pc
+++ b/xmlsec1-gnutls.pc
@@ -4,8 +4,8 @@ libdir=${exec_prefix}/lib
includedir=${prefix}/include
Name: xmlsec1-gnutls
-Version: 1.2.23
+Version: 1.2.24
Description: XML Security Library implements XML Signature and XML Encryption standards
Requires: libxml-2.0 >= 2.7.4 libxslt >= 1.0.20
-Cflags: -D__XMLSEC_FUNCTION__=__func__ -DXMLSEC_NO_GOST=1 -DXMLSEC_NO_GOST2012=1 -DXMLSEC_DL_LIBLTDL=1 -I${prefix}/include/xmlsec1 -I/usr/include/p11-kit-1 -DXMLSEC_CRYPTO_GNUTLS=1
-Libs: -L${exec_prefix}/lib -lxmlsec1-gnutls -lxmlsec1-gcrypt -lxmlsec1 -lltdl -lgnutls
+Cflags: -D__XMLSEC_FUNCTION__=__func__ -DXMLSEC_NO_GOST=1 -DXMLSEC_NO_GOST2012=1 -DXMLSEC_DL_LIBLTDL=1 -I${prefix}/include/xmlsec1 -I/usr/include/p11-kit-1 -DXMLSEC_CRYPTO_GNUTLS=1
+Libs: -L${exec_prefix}/lib -lxmlsec1-gnutls -lxmlsec1-gcrypt -lxmlsec1 -lltdl -lgnutls
diff --git a/xmlsec1-nss.pc b/xmlsec1-nss.pc
index d2757af..33715a5 100644
--- a/xmlsec1-nss.pc
+++ b/xmlsec1-nss.pc
@@ -4,7 +4,7 @@ libdir=${exec_prefix}/lib
includedir=${prefix}/include
Name: xmlsec1-nss
-Version: 1.2.23
+Version: 1.2.24
Description: XML Security Library implements XML Signature and XML Encryption standards
Requires: libxml-2.0 >= 2.7.4 libxslt >= 1.0.20 xulrunner-nspr >= 1.4 xulrunner-nss >= 1.4
Cflags: -DXMLSEC_CRYPTO_NSS=1 -D__XMLSEC_FUNCTION__=__func__ -DXMLSEC_NO_GOST=1 -DXMLSEC_NO_GOST2012=1 -DXMLSEC_DL_LIBLTDL=1 -I${prefix}/include/xmlsec1
diff --git a/xmlsec1-openssl.pc b/xmlsec1-openssl.pc
index c411816..c80061f 100644
--- a/xmlsec1-openssl.pc
+++ b/xmlsec1-openssl.pc
@@ -4,8 +4,8 @@ libdir=${exec_prefix}/lib
includedir=${prefix}/include
Name: xmlsec1-openssl
-Version: 1.2.23
+Version: 1.2.24
Description: XML Security Library implements XML Signature and XML Encryption standards
Requires: libxml-2.0 >= 2.7.4 libxslt >= 1.0.20
-Cflags: -D__XMLSEC_FUNCTION__=__func__ -DXMLSEC_NO_GOST=1 -DXMLSEC_NO_GOST2012=1 -DXMLSEC_DL_LIBLTDL=1 -I${prefix}/include/xmlsec1 -DXMLSEC_OPENSSL_100=1 -DXMLSEC_CRYPTO_OPENSSL=1
-Libs: -L${exec_prefix}/lib -lxmlsec1-openssl -lxmlsec1 -lltdl -lssl -lcrypto
+Cflags: -D__XMLSEC_FUNCTION__=__func__ -DXMLSEC_NO_GOST=1 -DXMLSEC_NO_GOST2012=1 -DXMLSEC_DL_LIBLTDL=1 -I${prefix}/include/xmlsec1 -DXMLSEC_CRYPTO_OPENSSL=1
+Libs: -L${exec_prefix}/lib -lxmlsec1-openssl -lxmlsec1 -lltdl -lssl -lcrypto
diff --git a/xmlsec1.pc b/xmlsec1.pc
index 12947c7..6b4431a 100644
--- a/xmlsec1.pc
+++ b/xmlsec1.pc
@@ -4,7 +4,7 @@ libdir=${exec_prefix}/lib
includedir=${prefix}/include
Name: xmlsec1
-Version: 1.2.23
+Version: 1.2.24
Description: XML Security Library implements XML Signature and XML Encryption standards
Requires: libxml-2.0 >= 2.7.4 libxslt >= 1.0.20
Cflags: -DXMLSEC_CRYPTO_DYNAMIC_LOADING=1 -D__XMLSEC_FUNCTION__=__func__ -DXMLSEC_NO_GOST=1 -DXMLSEC_NO_GOST2012=1 -DXMLSEC_DL_LIBLTDL=1 -I${prefix}/include/xmlsec1
diff --git a/xmlsec1.spec b/xmlsec1.spec
index 74a104a..5a9e9e4 100644
--- a/xmlsec1.spec
+++ b/xmlsec1.spec
@@ -1,6 +1,6 @@
Summary: Library providing support for "XML Signature" and "XML Encryption" standards
Name: xmlsec1
-Version: 1.2.23
+Version: 1.2.24
Release: 1
License: MIT
Group: Development/Libraries
diff --git a/xmlsec1Conf.sh b/xmlsec1Conf.sh
index fde6222..c21fb0c 100755
--- a/xmlsec1Conf.sh
+++ b/xmlsec1Conf.sh
@@ -7,7 +7,7 @@ libdir="${exec_prefix}/lib"
includedir="${prefix}/include"
XMLSEC_LIBDIR="${exec_prefix}/lib"
-XMLSEC_INCLUDEDIR=" -D__XMLSEC_FUNCTION__=__func__ -DXMLSEC_NO_GOST=1 -DXMLSEC_NO_GOST2012=1 -DXMLSEC_DL_LIBLTDL=1 -I${prefix}/include/xmlsec1 -I/usr/include/libxml2 -I/usr/include/libxml2 -DXMLSEC_OPENSSL_100=1 -DXMLSEC_CRYPTO_OPENSSL=1"
-XMLSEC_LIBS="-L${exec_prefix}/lib -lxmlsec1-openssl -lxmlsec1 -lltdl -lxml2 -lxslt -lxml2 -lssl -lcrypto "
-MODULE_VERSION="xmlsec-1.2.23-openssl"
+XMLSEC_INCLUDEDIR=" -D__XMLSEC_FUNCTION__=__func__ -DXMLSEC_NO_GOST=1 -DXMLSEC_NO_GOST2012=1 -DXMLSEC_DL_LIBLTDL=1 -I${prefix}/include/xmlsec1 -I/usr/include/libxml2 -I/usr/include/libxml2 -DXMLSEC_CRYPTO_OPENSSL=1"
+XMLSEC_LIBS="-L${exec_prefix}/lib -lxmlsec1-openssl -lxmlsec1 -lltdl -lxml2 -lxslt -lxml2 -lssl -lcrypto"
+MODULE_VERSION="xmlsec-1.2.24-openssl"
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-xml-sgml/xmlsec1.git
More information about the debian-xml-sgml-commit
mailing list