aboutsummaryrefslogtreecommitdiff
path: root/include/private
diff options
context:
space:
mode:
authorPeter Wemm <peter@FreeBSD.org>2018-10-08 08:30:10 +0000
committerPeter Wemm <peter@FreeBSD.org>2018-10-08 08:30:10 +0000
commitd29ecdf27f1804b1c533a3739282650ed83dbe31 (patch)
tree2528d825a15b6f1f2926dd55d258d6d296c787cc /include/private
parentf5bbf7923e42e842c4c6d067e48b2a94bc40de0d (diff)
Notes
Notes: svn path=/vendor/apr-util/dist/; revision=339230 svn path=/vendor/apr-util/apr-util-1.6.1/; revision=339231; tag=vendor/apr-util/apr-util-1.6.1
Diffstat (limited to 'include/private')
-rw-r--r--include/private/apr_crypto_internal.h23
-rw-r--r--include/private/apu_config.h.in17
2 files changed, 33 insertions, 7 deletions
diff --git a/include/private/apr_crypto_internal.h b/include/private/apr_crypto_internal.h
index 5da92e558879..1ea838bfb7d1 100644
--- a/include/private/apr_crypto_internal.h
+++ b/include/private/apr_crypto_internal.h
@@ -59,7 +59,7 @@ struct apr_crypto_driver_t {
/**
* @brief Get a hash table of key types, keyed by the name of the type against
- * an integer pointer constant.
+ * a pointer to apr_crypto_block_key_type_t.
*
* @param types - hashtable of key types keyed to constants.
* @param f - encryption context
@@ -70,7 +70,7 @@ struct apr_crypto_driver_t {
/**
* @brief Get a hash table of key modes, keyed by the name of the mode against
- * an integer pointer constant.
+ * a pointer to apr_crypto_block_key_mode_t.
*
* @param modes - hashtable of key modes keyed to constants.
* @param f - encryption context
@@ -267,6 +267,25 @@ struct apr_crypto_driver_t {
*/
apr_status_t (*error)(const apu_err_t **result, const apr_crypto_t *f);
+ /**
+ * @brief Create a key from the provided secret or passphrase. The key is cleaned
+ * up when the context is cleaned, and may be reused with multiple encryption
+ * or decryption operations.
+ * @note If *key is NULL, a apr_crypto_key_t will be created from a pool. If
+ * *key is not NULL, *key must point at a previously created structure.
+ * @param key The key returned, see note.
+ * @param rec The key record, from which the key will be derived.
+ * @param f The context to use.
+ * @param p The pool to use.
+ * @return Returns APR_ENOKEY if the pass phrase is missing or empty, or if a backend
+ * error occurred while generating the key. APR_ENOCIPHER if the type or mode
+ * is not supported by the particular backend. APR_EKEYTYPE if the key type is
+ * not known. APR_EPADDING if padding was requested but is not supported.
+ * APR_ENOTIMPL if not implemented.
+ */
+ apr_status_t (*key)(apr_crypto_key_t **key, const apr_crypto_key_rec_t *rec,
+ const apr_crypto_t *f, apr_pool_t *p);
+
};
#endif
diff --git a/include/private/apu_config.h.in b/include/private/apu_config.h.in
index 4d39f8a09475..0e008d04941f 100644
--- a/include/private/apu_config.h.in
+++ b/include/private/apu_config.h.in
@@ -24,6 +24,10 @@
/* Define if CODESET is defined in langinfo.h */
#undef HAVE_CODESET
+/* Define to 1 if you have the <CommonCrypto/CommonKeyDerivation.h> header
+ file. */
+#undef HAVE_COMMONCRYPTO_COMMONKEYDERIVATION_H
+
/* Define to 1 if you have the `crypt_r' function. */
#undef HAVE_CRYPT_R
@@ -34,8 +38,8 @@
/* Define if expat.h is available */
#undef HAVE_EXPAT_H
-/* Define to 1 if you have the <freetds/sybdb.h> header file. */
-#undef HAVE_FREETDS_SYBDB_H
+/* Define if explicit_bzero function is supported */
+#undef HAVE_EXPLICIT_BZERO
/* Define to 1 if you have the <iconv.h> header file. */
#undef HAVE_ICONV_H
@@ -61,6 +65,9 @@
/* Define to 1 if you have the <memory.h> header file. */
#undef HAVE_MEMORY_H
+/* Define if memset_s function is supported */
+#undef HAVE_MEMSET_S
+
/* Define to 1 if you have the <mysql.h> header file. */
#undef HAVE_MYSQL_H
@@ -130,9 +137,6 @@
/* Define to 1 if you have the <string.h> header file. */
#undef HAVE_STRING_H
-/* Define to 1 if you have the <sybdb.h> header file. */
-#undef HAVE_SYBDB_H
-
/* Define to 1 if you have the <sys/stat.h> header file. */
#undef HAVE_SYS_STAT_H
@@ -142,6 +146,9 @@
/* Define to 1 if you have the <unistd.h> header file. */
#undef HAVE_UNISTD_H
+/* Define if compiler handles weak symbols */
+#undef HAVE_WEAK_SYMBOLS
+
/* Define if xmlparse/xmlparse.h is available */
#undef HAVE_XMLPARSE_XMLPARSE_H