From 5d48156c51c667adabc565bc156cdf4acbfd4585 Mon Sep 17 00:00:00 2001 From: Asanka Herath Date: Wed, 25 Nov 2009 00:20:44 +0100 Subject: [PATCH 01/12] Make hx509 compile on windows Signed-off-by: Love Hornquist Astrand --- lib/hx509/hx_locl.h | 5 +- lib/hx509/libhx509-exports.def | 233 +++++++++++++++++++++++++++++++++ lib/hx509/softp11.c | 90 +++++++++---- 3 files changed, 301 insertions(+), 27 deletions(-) create mode 100644 lib/hx509/libhx509-exports.def diff --git a/lib/hx509/hx_locl.h b/lib/hx509/hx_locl.h index 2d1c036d5..3e3ab23c6 100644 --- a/lib/hx509/hx_locl.h +++ b/lib/hx509/hx_locl.h @@ -39,16 +39,19 @@ #include #include #include +#ifdef HAVE_STRINGS_H #include +#endif #include #include #include #include +#include + #include #include #include -#include #include #include #include diff --git a/lib/hx509/libhx509-exports.def b/lib/hx509/libhx509-exports.def new file mode 100644 index 000000000..6f32e492c --- /dev/null +++ b/lib/hx509/libhx509-exports.def @@ -0,0 +1,233 @@ +EXPORTS + _hx509_cert_assign_key + _hx509_cert_private_key + _hx509_certs_keys_free + _hx509_certs_keys_get + _hx509_expr_eval + _hx509_expr_free + _hx509_expr_parse + _hx509_generate_private_key + _hx509_generate_private_key_bits + _hx509_generate_private_key_free + _hx509_generate_private_key_init + _hx509_generate_private_key_is_ca + _hx509_map_file_os + _hx509_name_from_Name + _hx509_private_key2SPKI + _hx509_private_key_free + _hx509_private_key_ref + _hx509_request_add_dns_name + _hx509_request_add_email + _hx509_request_free + _hx509_request_get_SubjectPublicKeyInfo + _hx509_request_get_name + _hx509_request_init + _hx509_request_parse + _hx509_request_print + _hx509_request_set_SubjectPublicKeyInfo +; _hx509_request_set_email + _hx509_request_set_name + _hx509_request_to_pkcs10 + _hx509_request_to_pkcs10 + _hx509_unmap_file_os + _hx509_write_file + hx509_bitstring_print + hx509_ca_sign + hx509_ca_sign_self + hx509_ca_tbs_add_crl_dp_uri + hx509_ca_tbs_add_eku + hx509_ca_tbs_add_san_hostname + hx509_ca_tbs_add_san_jid + hx509_ca_tbs_add_san_ms_upn + hx509_ca_tbs_add_san_otherName + hx509_ca_tbs_add_san_pkinit + hx509_ca_tbs_add_san_rfc822name + hx509_ca_tbs_free + hx509_ca_tbs_init + hx509_ca_tbs_set_ca + hx509_ca_tbs_set_domaincontroller + hx509_ca_tbs_set_notAfter + hx509_ca_tbs_set_notAfter_lifetime + hx509_ca_tbs_set_notBefore + hx509_ca_tbs_set_proxy + hx509_ca_tbs_set_serialnumber + hx509_ca_tbs_set_spki + hx509_ca_tbs_set_subject + hx509_ca_tbs_set_template + hx509_ca_tbs_subject_expand + hx509_ca_tbs_template_units +; hx509_cert +; hx509_cert_attribute + hx509_cert_binary + hx509_cert_check_eku + hx509_cert_cmp + hx509_cert_find_subjectAltName_otherName + hx509_cert_free + hx509_cert_get_SPKI + hx509_cert_get_SPKI_AlgorithmIdentifier + hx509_cert_get_attribute + hx509_cert_get_base_subject + hx509_cert_get_friendly_name + hx509_cert_get_issuer + hx509_cert_get_notAfter + hx509_cert_get_notBefore + hx509_cert_get_serialnumber + hx509_cert_get_subject + hx509_cert_init + hx509_cert_init_data + hx509_cert_keyusage_print + hx509_cert_ref + hx509_cert_set_friendly_name + hx509_certs_add + hx509_certs_append + hx509_certs_end_seq + hx509_certs_filter + hx509_certs_find + hx509_certs_free + hx509_certs_info + hx509_certs_init + hx509_certs_iter + hx509_certs_merge + hx509_certs_next_cert + hx509_certs_start_seq + hx509_certs_store + hx509_ci_print_names + hx509_clear_error_string + hx509_cms_create_signed + hx509_cms_create_signed_1 + hx509_cms_decrypt_encrypted + hx509_cms_envelope_1 + hx509_cms_unenvelope + hx509_cms_unwrap_ContentInfo + hx509_cms_verify_signed + hx509_cms_wrap_ContentInfo + hx509_context_free + hx509_context_init + hx509_context_set_missing_revoke + hx509_crl_add_revoked_certs + hx509_crl_alloc + hx509_crl_free + hx509_crl_lifetime + hx509_crl_sign + hx509_crypto_aes128_cbc + hx509_crypto_aes256_cbc + hx509_crypto_allow_weak + hx509_crypto_available + hx509_crypto_decrypt + hx509_crypto_des_rsdi_ede3_cbc + hx509_crypto_destroy + hx509_crypto_encrypt + hx509_crypto_enctype_by_name + hx509_crypto_free_algs + hx509_crypto_get_params + hx509_crypto_init + hx509_crypto_provider + hx509_crypto_select + hx509_crypto_set_key_data + hx509_crypto_set_key_name + hx509_crypto_set_params + hx509_crypto_set_random_key + hx509_env_add + hx509_env_add_binding + hx509_env_find + hx509_env_find_binding + hx509_env_free +; hx509_env_init + hx509_env_lfind + hx509_err + hx509_free_error_string + hx509_free_octet_string_list + hx509_general_name_unparse + hx509_get_error_string + hx509_get_one_cert + hx509_lock_add_cert + hx509_lock_add_certs + hx509_lock_add_password + hx509_lock_command_string + hx509_lock_free + hx509_lock_init + hx509_lock_prompt + hx509_lock_reset_certs + hx509_lock_reset_passwords + hx509_lock_reset_promper + hx509_lock_set_prompter + hx509_name_binary + hx509_name_cmp + hx509_name_copy + hx509_name_expand + hx509_name_free + hx509_name_is_null_p + hx509_name_normalize + hx509_name_to_Name + hx509_name_to_string + hx509_ocsp_request + hx509_ocsp_verify + hx509_oid_print + hx509_oid_sprint + hx509_parse_name + hx509_peer_info_add_cms_alg + hx509_peer_info_alloc + hx509_peer_info_free + hx509_peer_info_set_cert + hx509_peer_info_set_cms_algs + hx509_pem_add_header + hx509_pem_find_header + hx509_pem_free_header + hx509_pem_read + hx509_pem_write + hx509_print_stdout + hx509_prompt_hidden + hx509_query_alloc + hx509_query_free + hx509_query_match_cmp_func + hx509_query_match_eku + hx509_query_match_expr + hx509_query_match_friendly_name + hx509_query_match_issuer_serial + hx509_query_match_option + hx509_query_statistic_file + hx509_query_unparse_stats + hx509_revoke_add_crl + hx509_revoke_add_ocsp + hx509_revoke_free + hx509_revoke_init + hx509_revoke_ocsp_print + hx509_revoke_verify + hx509_set_error_string + hx509_set_error_stringv + hx509_signature_md2 + hx509_signature_md5 + hx509_signature_rsa + hx509_signature_rsa_with_md2 + hx509_signature_rsa_with_md5 + hx509_signature_rsa_with_sha1 + hx509_signature_rsa_with_sha256 + hx509_signature_rsa_with_sha384 + hx509_signature_rsa_with_sha512 + hx509_signature_sha1 + hx509_signature_sha256 + hx509_signature_sha384 + hx509_signature_sha512 + hx509_unparse_der_name + hx509_validate_cert + hx509_validate_ctx_add_flags + hx509_validate_ctx_free + hx509_validate_ctx_init + hx509_validate_ctx_set_print + hx509_verify_attach_anchors + hx509_verify_attach_revoke + hx509_verify_ctx_f_allow_default_trustanchors + hx509_verify_destroy_ctx + hx509_verify_hostname + hx509_verify_init_ctx + hx509_verify_path + hx509_verify_set_max_depth + hx509_verify_set_proxy_certificate + hx509_verify_set_strict_rfc3280_verification + hx509_verify_set_time + hx509_verify_signature + hx509_xfree + initialize_hx_error_table_r + +; pkcs11 symbols + C_GetFunctionList diff --git a/lib/hx509/softp11.c b/lib/hx509/softp11.c index 813209e85..98ab500d9 100644 --- a/lib/hx509/softp11.c +++ b/lib/hx509/softp11.c @@ -31,6 +31,8 @@ * SUCH DAMAGE. */ +#define CRYPTOKI_EXPORTS 1 + #include "hx_locl.h" #include "pkcs11.h" @@ -38,6 +40,14 @@ #define HANDLE_OBJECT_ID(h) ((h) & OBJECT_ID_MASK) #define OBJECT_ID(obj) HANDLE_OBJECT_ID((obj)->object_handle) +#ifndef HAVE_RANDOM +#define random() rand() +#define srandom(s) srand(s) +#endif + +#ifdef _WIN32 +#include +#endif struct st_attr { CK_ATTRIBUTE attribute; @@ -687,6 +697,11 @@ read_conf_file(const char *fn, CK_USER_TYPE userType, const char *pin) CK_RV ret = CKR_OK; CK_RV failed = CKR_OK; + if (fn == NULL) { + st_logf("Can't open configuration file. No file specified\n"); + return CKR_GENERAL_ERROR; + } + f = fopen(fn, "r"); if (f == NULL) { st_logf("can't open configuration file %s\n", fn); @@ -792,7 +807,52 @@ func_not_supported(void) return CKR_FUNCTION_NOT_SUPPORTED; } -CK_RV +static char * +get_config_file_for_user(void) +{ + char *fn = NULL, *home = NULL; + +#ifndef _WIN32 + if (!issuid()) { + fn = getenv("SOFTPKCS11RC"); + if (fn) + fn = strdup(fn); + home = getenv("HOME"); + } + if (fn == NULL && home == NULL) { + struct passwd *pw = getpwuid(getuid()); + if(pw != NULL) + home = pw->pw_dir; + } + if (fn == NULL) { + if (home) + asprintf(&fn, "%s/.soft-token.rc", home); + else + fn = strdup("/etc/soft-token.rc"); + } +#else /* Windows */ + + char appdatafolder[MAX_PATH]; + + fn = getenv("SOFTPKCS11RC"); + + /* Retrieve the roaming AppData folder for the current user. The + current user is the user account represented by the current + thread token. */ + + if (fn == NULL && + SUCCEEDED(SHGetFolderPath(NULL, CSIDL_APPDATA, NULL, SHGFP_TYPE_CURRENT, appdatafolder))) { + + asprintf(&fn, "%s\\.soft-token.rc", appdatafolder); + } + +#endif /* _WIN32 */ + + return fn; +} + + +CK_RV CK_SPEC C_Initialize(CK_VOID_PTR a) { CK_C_INITIALIZE_ARGS_PTR args = a; @@ -805,7 +865,7 @@ C_Initialize(CK_VOID_PTR a) OpenSSL_add_all_algorithms(); - srandom(getpid() ^ time(NULL)); + srandom(getpid() ^ (int) time(NULL)); for (i = 0; i < MAX_NUM_SESSION; i++) { soft_token.state[i].session_handle = CK_INVALID_HANDLE; @@ -838,29 +898,7 @@ C_Initialize(CK_VOID_PTR a) st_logf("\tFlags\t%04x\n", (unsigned int)args->flags); } - { - char *fn = NULL, *home = NULL; - - if (getuid() == geteuid()) { - fn = getenv("SOFTPKCS11RC"); - if (fn) - fn = strdup(fn); - home = getenv("HOME"); - } - if (fn == NULL && home == NULL) { - struct passwd *pw = getpwuid(getuid()); - if(pw != NULL) - home = pw->pw_dir; - } - if (fn == NULL) { - if (home) - asprintf(&fn, "%s/.soft-token.rc", home); - else - fn = strdup("/etc/soft-token.rc"); - } - - soft_token.config_file = fn; - } + soft_token.config_file = get_config_file_for_user(); /* * This operations doesn't return CKR_OK if any of the @@ -1456,7 +1494,7 @@ C_Sign(CK_SESSION_HANDLE hSession, struct session_state *state; struct st_object *o; CK_RV ret; - uint hret; + int hret; const AlgorithmIdentifier *alg; heim_octet_string sig, data; From 3982b965c6bfe046c41fd6235b1ff109a426bec8 Mon Sep 17 00:00:00 2001 From: Asanka Herath Date: Wed, 25 Nov 2009 00:24:01 +0100 Subject: [PATCH 02/12] Make hx509 compile on windows Signed-off-by: Love Hornquist Astrand --- lib/hx509/ks_dir.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/hx509/ks_dir.c b/lib/hx509/ks_dir.c index 9ce9b5c8e..0d07aa95c 100644 --- a/lib/hx509/ks_dir.c +++ b/lib/hx509/ks_dir.c @@ -113,7 +113,9 @@ dir_iter_start(hx509_context context, free(d); return errno; } +#ifndef _WIN32 rk_cloexec(dirfd(d->dir)); +#endif d->certs = NULL; d->iter = NULL; From 3199980f5a063b65850c0de62b8e20dfc1058107 Mon Sep 17 00:00:00 2001 From: Love Hornquist Astrand Date: Wed, 25 Nov 2009 02:01:57 +0100 Subject: [PATCH 03/12] use rk_PATH_DELIM --- lib/com_err/compile_et.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/lib/com_err/compile_et.c b/lib/com_err/compile_et.c index a28e51f8d..11beaeba4 100644 --- a/lib/com_err/compile_et.c +++ b/lib/com_err/compile_et.c @@ -32,6 +32,9 @@ */ #undef ROKEN_RENAME + +#include "config.h" + #include "compile_et.h" #include @@ -219,7 +222,7 @@ main(int argc, char **argv) err(1, "%s", filename); - p = strrchr(filename, '/'); + p = strrchr(filename, rk_PATH_DELIM); if(p) p++; else From 48d68a38154799f920beeacf8370422fa625e7e0 Mon Sep 17 00:00:00 2001 From: Love Hornquist Astrand Date: Wed, 25 Nov 2009 02:02:10 +0100 Subject: [PATCH 04/12] define rk_PATH_DELIM --- cf/roken-frag.m4 | 2 ++ 1 file changed, 2 insertions(+) diff --git a/cf/roken-frag.m4 b/cf/roken-frag.m4 index e1909bb98..479f755c6 100644 --- a/cf/roken-frag.m4 +++ b/cf/roken-frag.m4 @@ -21,6 +21,8 @@ AC_REQUIRE([AC_PROG_LIBTOOL]) AC_REQUIRE([AC_MIPS_ABI]) +AC_DEFINE(rk_PATH_DELIM, '/', [Path name delimiter]) + dnl C characteristics AC_REQUIRE([AC_C___ATTRIBUTE__]) From 16b7db3e5fcb18944990d183e7fc1d2218ea2a2d Mon Sep 17 00:00:00 2001 From: Asanka Herath Date: Wed, 25 Nov 2009 02:04:14 +0100 Subject: [PATCH 05/12] Resource file for windows Signed-off-by: Love Hornquist Astrand --- lib/com_err/libcom_err-version.rc | 36 +++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 lib/com_err/libcom_err-version.rc diff --git a/lib/com_err/libcom_err-version.rc b/lib/com_err/libcom_err-version.rc new file mode 100644 index 000000000..5f38c1f7c --- /dev/null +++ b/lib/com_err/libcom_err-version.rc @@ -0,0 +1,36 @@ +/*********************************************************************** + * Copyright (c) 2009, Secure Endpoints Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * + **********************************************************************/ + +#define RC_FILE_TYPE VFT_DLL +#define RC_FILE_COMMENT_0409 "Some comment" +#define RC_FILE_ORIG_0409 "com_err.dll" + +#include "../../windows/version.rc" From 1650607d4c210252adc134a9c6cbe2e298540a46 Mon Sep 17 00:00:00 2001 From: Asanka Herath Date: Wed, 25 Nov 2009 02:07:24 +0100 Subject: [PATCH 06/12] Windows prebuild filess Signed-off-by: Love Hornquist Astrand --- include/config.h.w32 | 1555 ++++++++++++++++++++++++++++++++++++++ include/krb5-types.h.w32 | 61 ++ 2 files changed, 1616 insertions(+) create mode 100644 include/config.h.w32 create mode 100644 include/krb5-types.h.w32 diff --git a/include/config.h.w32 b/include/config.h.w32 new file mode 100644 index 000000000..8b480884f --- /dev/null +++ b/include/config.h.w32 @@ -0,0 +1,1555 @@ +/*********************************************************************** + * Copyright (c) 2009, Secure Endpoints Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * + **********************************************************************/ + +#ifndef __CONFIG_H__ +#define __CONFIG_H__ + +#ifndef RCSID +#define RCSID(msg) \ +static const char *const rcsid[] = { (const char *)rcsid, "@(#)" msg } +#endif + +/* If this file is being included by a resource script, don't bother + with anything other than the version macros. */ +#ifndef RC_INVOKED + +#define MaxHostNameLen (64+4) +#define MaxPathLen MAX_PATH + +#ifndef MAXHOSTNAMELEN +#define MAXHOSTNAMELEN MaxHostNameLen +#endif +#ifndef MAXPATHLEN +#define MAXPATHLEN MaxPathLen +#endif + +#ifdef BUILD_KRB5_LIB +#ifndef KRB5_LIB +#ifdef _WIN32 +#define KRB5_LIB_FUNCTION __declspec(dllexport) +#define KRB5_LIB_CALL __stdcall +#define KRB5_LIB_VARIABLE __declspec(dllexport) +#else +#define KRB5_LIB_FUNCTION +#define KRB5_LIB_CALL +#define KRB5_LIB_VARIABLE +#endif +#endif +#endif + + +#ifdef BUILD_ROKEN_LIB +#ifndef ROKEN_LIB +#ifdef _WIN32 +#define ROKEN_LIB_FUNCTION +#define ROKEN_LIB_CALL __cdecl +#define ROKEN_LIB_VARIABLE +#else +#define ROKEN_LIB_FUNCTION +#define ROKEN_LIB_CALL +#define ROKEN_LIB_VARIABLE +#endif +#endif +#endif + + +#ifdef BUILD_GSSAPI_LIB +#ifndef GSSAPI_LIB +#ifdef _WIN32 +#define GSSAPI_LIB_FUNCTION __declspec(dllexport) +#define GSSAPI_LIB_CALL __stdcall +#define GSSAPI_LIB_VARIABLE __declspec(dllexport) +#else +#define GSSAPI_LIB_FUNCTION +#define GSSAPI_LIB_CALL +#define GSSAPI_LIB_VARIABLE +#endif +#endif +#endif + +/* Feature macros */ + +@FEATURE_DEFS@ + +/* Define is backslashes act as path delimiters */ +#define BACKSLASH_PATH_DELIM 1 + +/* Define if you want to use DES encryption in telnet. */ +#define DES_ENCRYPTION 1 + +/* Define this if you want support for broken ENV_{VAR,VAL} telnets. */ +/* #undef ENV_HACK */ + +/* define if prototype of gethostbyaddr is compatible with struct hostent + *gethostbyaddr(const void *, size_t, int) */ +/* #undef GETHOSTBYADDR_PROTO_COMPATIBLE */ + +/* define if prototype of gethostbyname is compatible with struct hostent + *gethostbyname(const char *) */ +#define GETHOSTBYNAME_PROTO_COMPATIBLE 1 + +/* define if prototype of getservbyname is compatible with struct servent + *getservbyname(const char *, const char *) */ +#define GETSERVBYNAME_PROTO_COMPATIBLE 1 + +/* define if prototype of getsockname is compatible with int getsockname(int, + struct sockaddr*, socklen_t*) */ +/* #undef GETSOCKNAME_PROTO_COMPATIBLE */ + +/* Define if you have the `altzone' variable. */ +/* #undef HAVE_ALTZONE */ + +/* Define to 1 if you have the `arc4random' function. */ +/* #undef HAVE_ARC4RANDOM */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_ARPA_FTP_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_ARPA_INET_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_ARPA_NAMESER_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_ARPA_TELNET_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_ASL_H */ + +/* Define to 1 if you have the `asnprintf' function. */ +/* #undef HAVE_ASNPRINTF */ + +/* Define to 1 if you have the `asprintf' function. */ +/* #undef HAVE_ASPRINTF */ + +/* Define to 1 if you have the `atexit' function. */ +#define HAVE_ATEXIT 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_BIND_BITYPES_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_BSDSETJMP_H */ + +/* Define to 1 if you have the `bswap16' function. */ +/* #undef HAVE_BSWAP16 */ + +/* Define to 1 if you have the `bswap32' function. */ +/* #undef HAVE_BSWAP32 */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_CAPABILITY_H */ + +/* Define to 1 if you have the `cap_set_proc' function. */ +/* #undef HAVE_CAP_SET_PROC */ + +/* Define to 1 if you have the `cgetent' function. */ +/* #undef HAVE_CGETENT */ + +/* Define if the system defines 'CHAR' type */ +#define HAVE_CHAR 1 + +/* Define if you have the function `chown'. */ +#define HAVE_CHOWN 1 + +/* Define if you have the function `closefrom'. */ +/* #undef HAVE_CLOSEFROM */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_CONFIG_H */ + +/* Define if is present on the system is should be used for + handling low level console operations. */ +#define HAVE_CONIO_H + +/* Define if you have the function `copyhostent'. */ +/* #undef HAVE_COPYHOSTENT */ + +/* Define to 1 if you have the `crypt' function. */ +/* #undef HAVE_CRYPT */ + +/* Define to 1 if you have the header file. */ +/* #ndef HAVE_CRYPT_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_CURSES_H */ + +/* Define if you have the function `daemon'. */ +/* #define HAVE_DAEMON 1 */ + +/* define if you have a berkeley db1/2 library */ +/* #undef HAVE_DB1 */ + +/* define if you have a berkeley db3/4 library */ +/* #define HAVE_DB3 1 */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_DB3_DB_H */ + +/* Define to 1 if you have the header file. */ +/* #define HAVE_DB4_DB_H 1 */ + +/* Define to 1 if you have the `dbm_firstkey' function. */ +/* #define HAVE_DBM_FIRSTKEY 1 */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_DBM_H */ + +/* Define to 1 if you have the `dbopen' function. */ +/* #undef HAVE_DBOPEN */ + +/* Define to 1 if you have the header file. */ +/* #define HAVE_DB_185_H 1 */ + +/* Define to 1 if you have the `db_create' function. */ +/* #define HAVE_DB_CREATE 1 */ + +/* Define to 1 if you have the header file. */ +/* #define HAVE_DB_H 1 */ + +/* define if you have ndbm compat in db */ +/* #define HAVE_DB_NDBM 1 */ + +/* Define to 1 if you have the declaration of `altzone', and to 0 if you + don't. */ +/* #undef HAVE_DECL_ALTZONE */ + +/* Define to 1 if you have the declaration of `environ', and to 0 if you + don't. */ +#define HAVE_DECL_ENVIRON 1 + +/* Define to 1 if you have the declaration of `h_errlist', and to 0 if you + don't. */ +/* #undef HAVE_DECL_H_ERRLIST */ + +/* Define to 1 if you have the declaration of `h_errno', and to 0 if you + don't. */ +#define HAVE_DECL_H_ERRNO 1 + +/* Define to 1 if you have the declaration of `h_nerr', and to 0 if you don't. + */ +/* #undef HAVE_DECL_H_NERR */ + +/* Define to 1 if you have the declaration of `optarg', and to 0 if you don't. + */ +/* #undef HAVE_DECL_OPTARG */ + +/* Define to 1 if you have the declaration of `opterr', and to 0 if you don't. + */ +/* #undef HAVE_DECL_OPTERR */ + +/* Define to 1 if you have the declaration of `optind', and to 0 if you don't. + */ +/* #undef HAVE_DECL_OPTIND */ + +/* Define to 1 if you have the declaration of `optopt', and to 0 if you don't. + */ +/* #undef HAVE_DECL_OPTOPT */ + +/* Define to 1 if you have the declaration of `timezone', and to 0 if you + don't. */ +#define HAVE_DECL_TIMEZONE 1 + +/* Define to 1 if you have the declaration of `_res', and to 0 if you don't. + */ +/* #undef HAVE_DECL__RES */ + +/* Define to 1 if you have the declaration of `__progname', and to 0 if you + don't. */ +#define HAVE_DECL___PROGNAME 0 + +/* Define to 1 if you have the header file. */ +/* MSVC doesn't provide a , but we implement it in + lib/roken. */ +#define HAVE_DIRENT_H 1 + +/* Define to 1 if you have the header file. */ +/* MSVC doesn't provide a , but we implement it in lib/roken. */ +#define HAVE_DLFCN_H 1 + +/* Define to 1 if you have the `dlopen' function. */ +/* MSVC doesn't provide a , but we implement it in lib/roken. */ +#define HAVE_DLOPEN 1 + +/* Define to 1 if you have the `dn_expand' function. */ +/* #undef HAVE_DN_EXPAND */ + +/* Define to 1 if you have the `door_create' function. */ +/* #undef HAVE_DOOR_CREATE */ + +/* Define if you have the function `ecalloc'. */ +/* #undef HAVE_ECALLOC */ + +/* Define to 1 if you have the `el_init' function. */ +/* #undef HAVE_EL_INIT */ + +/* Define if you have the function `emalloc'. */ +/* #undef HAVE_EMALLOC */ + +/* Define if you have the function `erealloc'. */ +/* #undef HAVE_EREALLOC */ + +/* Define if you have the function `err'. */ +#define HAVE_ERR 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_ERRNO_H 1 + +/* Define if you have the function `errx'. */ +#define HAVE_ERRX 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_ERR_H 1 + +/* Define if you have the function `estrdup'. */ +/* #undef HAVE_ESTRDUP */ + +/* Define if you have the function `fchown'. */ +/* #undef HAVE_FCHOWN */ + +/* Define to 1 if you have the `fcntl' function. */ +/* #undef HAVE_FCNTL */ + +/* Define to 1 if you have the header file. */ +#define HAVE_FCNTL_H 1 + +/* Define if you have the function `flock'. */ +/* #undef HAVE_FLOCK */ + +/* Define if you have the function `fnmatch'. */ +/* #undef HAVE_FNMATCH */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_FNMATCH_H */ + +/* Define if el_init takes four arguments. */ +/* #undef HAVE_FOUR_VALUED_EL_INIT */ + +/* Have -framework Security */ +/* #undef HAVE_FRAMEWORK_SECURITY */ + +/* Define to 1 if you have the `freeaddrinfo' function. */ +#define HAVE_FREEADDRINFO 1 + +/* Define if you have the function `freehostent'. */ +/* #undef HAVE_FREEHOSTENT */ + +/* Define to 1 if you have the `gai_strerror' function. */ +#define HAVE_GAI_STRERROR 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_GDBM_NDBM_H */ + +/* Define to 1 if you have the `getaddrinfo' function. */ +#define HAVE_GETADDRINFO 1 + +/* Define to 1 if you have the `getconfattr' function. */ +/* #undef HAVE_GETCONFATTR */ + +/* Define if you have the function `getcwd'. */ +#define HAVE_GETCWD 1 + +/* Define if you have the function `getdtablesize'. */ +/* #define HAVE_GETDTABLESIZE 1 */ + +/* Define if you have the function `getegid'. */ +/* #define HAVE_GETEGID 1 */ + +/* Define if you have the function `geteuid'. */ +/* #define HAVE_GETEUID 1 */ + +/* Define if you have the function `getgid'. */ +/* #define HAVE_GETGID 1 */ + +/* Define to 1 if you have the `gethostbyname' function. */ +#define HAVE_GETHOSTBYNAME 1 + +/* Define to 1 if you have the `gethostbyname2' function. */ +/* #undef HAVE_GETHOSTBYNAME2 */ + +/* Define if you have the function `gethostname'. */ +#define HAVE_GETHOSTNAME 1 + +/* Define if you have the function `getifaddrs'. */ +/* #undef HAVE_GETIFADDRS */ + +/* Define if you have the function `getipnodebyaddr'. */ +/* #undef HAVE_GETIPNODEBYADDR */ + +/* Define if you have the function `getipnodebyname'. */ +/* #undef HAVE_GETIPNODEBYNAME */ + +/* Define to 1 if you have the `getlogin' function. */ +/* #define HAVE_GETLOGIN 1 */ + +/* Define if you have a working getmsg. */ +/* #undef HAVE_GETMSG */ + +/* Define to 1 if you have the `getnameinfo' function. */ +#define HAVE_GETNAMEINFO 1 + +/* Define if you have the function `getopt'. */ +/* #define HAVE_GETOPT 1 */ + +/* Define to 1 if you have the `getpagesize' function. */ +/* #define HAVE_GETPAGESIZE 1 */ + +/* Define to 1 if you have the `getpeereid' function. */ +/* #define HAVE_GETPEEREID 1 */ + +/* Define to 1 if you have the `getpeerucred' function. */ +/* #undef HAVE_GETPEERUCRED */ + +/* Define to 1 if you have the `getprogname' function. */ +/* #define HAVE_GETPROGNAME 1 */ + +/* Define to 1 if you have the `getpwnam_r' function. */ +/* #define HAVE_GETPWNAM_R 1 */ + +/* Define to 1 if you have the `getrlimit' function. */ +/* #define HAVE_GETRLIMIT 1 */ + +/* Define to 1 if you have the `getsockopt' function. */ +#define HAVE_GETSOCKOPT 1 + +/* Define to 1 if you have the `getspnam' function. */ +/* #undef HAVE_GETSPNAM */ + +/* Define if you have the function `gettimeofday'. */ +/* #define HAVE_GETTIMEOFDAY 1 */ + +/* Define to 1 if you have the `getudbnam' function. */ +/* #undef HAVE_GETUDBNAM */ + +/* Define if you have the function `getuid'. */ +/* #define HAVE_GETUID 1 */ + +/* Define if you have the function `getusershell'. */ +/* #define HAVE_GETUSERSHELL 1 */ + +/* define if you have a glob() that groks GLOB_BRACE, GLOB_NOCHECK, + GLOB_QUOTE, GLOB_TILDE, and GLOB_LIMIT */ +/* #define HAVE_GLOB 1 */ + +/* Define to 1 if you have the `grantpt' function. */ +/* #define HAVE_GRANTPT 1 */ + +/* Define to 1 if you have the header file. */ +/* #define HAVE_GRP_H 1 */ + +/* Define to 1 if you have the `hstrerror' function. */ +/* #define HAVE_HSTRERROR 1 */ + +/* Define if you have the `h_errlist' variable. */ +/* #undef HAVE_H_ERRLIST */ + +/* Define if you have the `h_errno' variable. */ +/* #define HAVE_H_ERRNO 1 */ + +/* Define if you have the `h_nerr' variable. */ +/* #undef HAVE_H_NERR */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_IFADDRS_H */ + +/* Define if you have the in6addr_loopback variable */ +/* #undef HAVE_IN6ADDR_LOOPBACK */ + +/* */ +#define HAVE_INET_ADDR 1 + +/* define */ +/* #define HAVE_INET_ATON 1 */ + +/* define */ +/* #define HAVE_INET_NTOP 1 */ + +/* define */ +/* #define HAVE_INET_PTON 1 */ + +#if _WIN32_WINNT >= 0x0600 + +#define HAVE_INET_NTOP 1 + +#define HAVE_INET_PTON 1 + +#endif + +/* Define if you have the function `initgroups'. */ +/* #define HAVE_INITGROUPS 1 */ + +/* Define to 1 if you have the `initstate' function. */ +/* #define HAVE_INITSTATE 1 */ + +/* Define if you have the function `innetgr'. */ +/* #undef HAVE_INNETGR */ + +/* Define to 1 if the system has the type `int16_t'. */ +/* #define HAVE_INT16_T 1 */ + +/* Define to 1 if the system has the type `int32_t'. */ +/* #define HAVE_INT32_T 1 */ + +/* Define to 1 if the system has the type `int64_t'. */ +/* #define HAVE_INT64_T 1 */ + +/* Define to 1 if the system has the type `int8_t'. */ +/* #define HAVE_INT8_T 1 */ + +/* Define to 1 if you have the header file. */ +/* #define HAVE_INTTYPES_H 1 */ + +/* Define to 1 if you have the header file. */ +#define HAVE_IO_H 1 + +/* Define if you have IPv6. */ +#define HAVE_IPV6 1 + +/* Define if you have the function `iruserok'. */ +/* #define HAVE_IRUSEROK 1 */ + +/* Define to 1 if you have the `issetugid' function. */ +/* #undef HAVE_ISSETUGID */ + +/* Define if you want to use the Kerberos Credentials Manager. */ +/* #define HAVE_KCM 1 */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_LIBUTIL_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_LIMITS_H 1 + +/* Define to 1 if you have the `loadquery' function. */ +/* #undef HAVE_LOADQUERY */ + +/* Define if you have the function `localtime_r'. */ +/* #define HAVE_LOCALTIME_R 1 */ + +/* Define to 1 if you have the header file. */ +#define HAVE_LOCALE_H 1 + +/* Define to 1 if you have the `logout' function. */ +/* #define HAVE_LOGOUT 1 */ + +/* Define to 1 if you have the `logwtmp' function. */ +/* #define HAVE_LOGWTMP 1 */ + +/* Define to 1 if the system has the type `long long'. */ +#define HAVE_LONG_LONG 1 + +/* Define if you have the function `lstat'. */ +/* #define HAVE_LSTAT 1 */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_MAILLOCK_H */ + +/* Define if you have the function `memmove'. */ +#define HAVE_MEMMOVE 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MEMORY_H 1 + +/* Define if you have the function `mkstemp'. */ +/* #define HAVE_MKSTEMP 1 */ + +/* Define to 1 if you have the `mktime' function. */ +#define HAVE_MKTIME 1 + +/* Define to 1 if you have a working `mmap' system call. */ +/* #undef HAVE_MMAP */ + +/* define if you have a ndbm library */ +/* #undef HAVE_NDBM */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_NDBM_H */ + +/* Define to 1 if you have the header file. */ +/* #define HAVE_NETDB_H 1 */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_NETGROUP_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_NETINET6_IN6_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_NETINET6_IN6_VAR_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_NETINET_IN6_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_NETINET_IN6_MACHTYPES_H */ + +/* Define to 1 if you have the header file. */ +/* #define HAVE_NETINET_IN_H 1 */ + +/* Define to 1 if you have the header file. */ +/* #define HAVE_NETINET_IN_SYSTM_H 1 */ + +/* Define to 1 if you have the header file. */ +/* #define HAVE_NETINET_IP_H 1 */ + +/* Define to 1 if you have the header file. */ +/* #define HAVE_NETINET_TCP_H 1 */ + +/* Define if you want to use Netinfo instead of krb5.conf. */ +/* #undef HAVE_NETINFO */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_NETINFO_NI_H */ + +/* Define to 1 if you have the header file. */ +/* #define HAVE_NET_IF_H 1 */ + +/* Define if NDBM really is DB (creates files *.db) */ +/* #define HAVE_NEW_DB 1 */ + +/* Define to 1 if you have the `on_exit' function. */ +/* #define HAVE_ON_EXIT 1 */ + +/* Define to 1 if you have the '_onexit' function */ +#define HAVE__ONEXIT 1 + +/* Define to 1 if you have the `openpty' function. */ +/* #define HAVE_OPENPTY 1 */ + +/* define to use openssl's libcrypto */ +/* #undef HAVE_OPENSSL */ + +/* Define to enable basic OSF C2 support. */ +/* #undef HAVE_OSFC2 */ + +/* Define to 1 if you have the header file. */ +/* #define HAVE_PATHS_H 1 */ + +/* Define to 1 if you have the `pidfile' function. */ +/* #undef HAVE_PIDFILE */ + +/* Define to 1 if you have the `poll' function. */ +/* #define HAVE_POLL 1 */ + +/* Define to 1 if you have the header file. */ +/* #define HAVE_POLL_H 1 */ + +/* Define to 1 if you have the header file. */ +/* This option is added by the NTMakefile if we have a . */ +/* #define HAVE_PTHREAD_H 1 */ + +/* Define to 1 if you have the `ptsname' function. */ +/* #define HAVE_PTSNAME 1 */ + +/* Define to 1 if you have the header file. */ +/* #define HAVE_PTY_H 1 */ + +/* Define if you have the function `putenv'. */ +#define HAVE_PUTENV 1 + +/* Define to 1 if you have the header file. */ +/* #define HAVE_PWD_H 1 */ + +/* Define to 1 if you have the `rand' function. */ +#define HAVE_RAND 1 + +/* Define to 1 if you have the `random' function. */ +/* #define HAVE_RANDOM 1 */ + +/* Define if you have the function `rcmd'. */ +/* #define HAVE_RCMD 1 */ + +/* Define if you have a readline compatible library. */ +/* #define HAVE_READLINE 1 */ + +/* Define if you have the function `readv'. */ +/* #define HAVE_READV 1 */ + +/* Define if you have the function `recvmsg'. */ +/* #define HAVE_RECVMSG 1 */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_RESOLV_H */ + +/* Define to 1 if you have the `res_ndestroy' function. */ +/* #undef HAVE_RES_NDESTROY */ + +/* Define to 1 if you have the `res_nsearch' function. */ +/* #undef HAVE_RES_NSEARCH */ + +/* Define to 1 if you have the `res_search' function. */ +/* #undef HAVE_RES_SEARCH */ + +/* Define to 1 if you have the `revoke' function. */ +/* #define HAVE_REVOKE 1 */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_RPCSVC_YPCLNT_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SAC_H */ + +/* Define to 1 if the system has the type `sa_family_t'. */ +/* #define HAVE_SA_FAMILY_T 1 */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SECURITY_PAM_MODULES_H */ + +/* Define to 1 if you have the `select' function. */ +#define HAVE_SELECT 1 + +/* Define if you have the function `sendmsg'. */ +/* #define HAVE_SENDMSG 1 */ + +/* Define if you have the function `setegid'. */ +/* #define HAVE_SETEGID 1 */ + +/* Define if you have the function `setenv'. */ +#define HAVE_SETENV 1 + +/* Define if you have the function `seteuid'. */ +/* #define HAVE_SETEUID 1 */ + +/* Define to 1 if you have the `setitimer' function. */ +/* #define HAVE_SETITIMER 1 */ + +/* Define to 1 if you have the `setlim' function. */ +/* #undef HAVE_SETLIM */ + +/* Define to 1 if you have the `setlogin' function. */ +/* #undef HAVE_SETLOGIN */ + +/* Define to 1 if you have the `setpcred' function. */ +/* #undef HAVE_SETPCRED */ + +/* Define to 1 if you have the `setpgid' function. */ +/* #define HAVE_SETPGID 1 */ + +/* Define to 1 if you have the `setproctitle' function. */ +/* #undef HAVE_SETPROCTITLE */ + +/* Define to 1 if you have the `setprogname' function. */ +/* #define HAVE_SETPROGNAME 1 */ + +/* Define to 1 if you have the `setregid' function. */ +/* #define HAVE_SETREGID 1 */ + +/* Define to 1 if you have the `setresgid' function. */ +/* #undef HAVE_SETRESGID */ + +/* Define to 1 if you have the `setresuid' function. */ +/* #undef HAVE_SETRESUID */ + +/* Define to 1 if you have the `setreuid' function. */ +/* #define HAVE_SETREUID 1 */ + +/* Define to 1 if you have the `setsid' function. */ +/* #define HAVE_SETSID 1 */ + +/* Define to 1 if you have the `setsockopt' function. */ +#define HAVE_SETSOCKOPT 1 + +/* Define to 1 if you have the `setstate' function. */ +/* #define HAVE_SETSTATE 1 */ + +/* Define to 1 if you have the `setutent' function. */ +/* #define HAVE_SETUTENT 1 */ + +/* Define to 1 if you have the `sgi_getcapabilitybyname' function. */ +/* #undef HAVE_SGI_GETCAPABILITYBYNAME */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SGTTY_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SHADOW_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SIAD_H */ + +/* Define to 1 if you have the `sigaction' function. */ +/* #define HAVE_SIGACTION 1 */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SIGNAL_H 1 + +/* define if you have a working snprintf */ +/* snprintf() and vsnprintf() do exist. But the implementations are + not C99 compliant. */ +/* #define HAVE_SNPRINTF 1 */ + +/* Define to 1 if you have the `socket' function. */ +#define HAVE_SOCKET 1 + +/* Define to 1 if the system has the type `socklen_t'. */ +#define HAVE_SOCKLEN_T 1 + +/* Define to 1 if the system has the type `ssize_t'. */ +/* #define HAVE_SSIZE_T 1 */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_STANDARDS_H */ + +/* Define to 1 if you have the header file. */ +/* #define HAVE_STDINT_H 1 */ + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define if you have the function `strcasecmp'. */ +#define HAVE_STRCASECMP 1 +#define strcasecmp _stricmp + +/* Define if you have the function `strdup'. */ +#define HAVE_STRDUP 1 + +/* Define if you have the function `strerror'. */ +#define HAVE_STRERROR 1 + +/* Define if you have the function `strftime'. */ +#define HAVE_STRFTIME 1 + +/* Define to 1 if you have the header file. */ +/* #define HAVE_STRINGS_H 1 */ + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define if you have the function `strlcat'. */ +/* #define HAVE_STRLCAT 1 */ + +/* Define if you have the function `strlcpy'. */ +/* #define HAVE_STRLCPY 1 */ + +/* Define if you have the function `strlwr'. */ +#define HAVE_STRLWR 1 + +/* Define if you have the function `strncasecmp'. */ +#define HAVE_STRNCASECMP 1 +#define strncasecmp _strnicmp + +/* Define if you have the function `strndup'. */ +/* #define HAVE_STRNDUP 1 */ + +/* Define if you have the function `strnlen'. */ +#define HAVE_STRNLEN 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_STROPTS_H */ + +/* Define if you have the function `strptime'. */ +/* #define HAVE_STRPTIME 1 */ + +/* Define if you have the function `strsep'. */ +/* #define HAVE_STRSEP 1 */ + +/* Define if you have the function `strsep_copy'. */ +/* #undef HAVE_STRSEP_COPY */ + +/* Define to 1 if you have the `strstr' function. */ +#define HAVE_STRSTR 1 + +/* Define to 1 if you have the `strsvis' function. */ +/* #undef HAVE_STRSVIS */ + +/* Define if you have the function `strtok_r'. */ +/* #define HAVE_STRTOK_R 1 */ + +/* Define to 1 if the system has the type `struct addrinfo'. */ +#define HAVE_STRUCT_ADDRINFO 1 + +/* Define to 1 if the system has the type `struct ifaddrs'. */ +/* #undef HAVE_STRUCT_IFADDRS */ + +/* Define to 1 if the system has the type `struct iovec'. */ +/* #define HAVE_STRUCT_IOVEC 1 */ + +/* Define to 1 if the system has the type `struct msghdr'. */ +/* #define HAVE_STRUCT_MSGHDR 1 */ + +/* Define to 1 if the system has the type `struct sockaddr'. */ +#define HAVE_STRUCT_SOCKADDR 1 + +/* Define if struct sockaddr has field sa_len. */ +/* #undef HAVE_STRUCT_SOCKADDR_SA_LEN */ + +/* Define to 1 if the system has the type `struct sockaddr_storage'. */ +#define HAVE_STRUCT_SOCKADDR_STORAGE 1 + +/* define if you have struct spwd */ +/* #undef HAVE_STRUCT_SPWD */ + +/* Define if struct tm has field tm_gmtoff. */ +/* #undef HAVE_STRUCT_TM_TM_GMTOFF */ + +/* Define if struct tm has field tm_zone. */ +/* #undef HAVE_STRUCT_TM_TM_ZONE */ + +/* Define if struct utmpx has field ut_exit. */ +/* #undef HAVE_STRUCT_UTMPX_UT_EXIT */ + +/* Define if struct utmpx has field ut_syslen. */ +/* #undef HAVE_STRUCT_UTMPX_UT_SYSLEN */ + +/* Define if struct utmp has field ut_addr. */ +/* #define HAVE_STRUCT_UTMP_UT_ADDR 1 */ + +/* Define if struct utmp has field ut_host. */ +/* #define HAVE_STRUCT_UTMP_UT_HOST 1 */ + +/* Define if struct utmp has field ut_id. */ +/* #define HAVE_STRUCT_UTMP_UT_ID 1 */ + +/* Define if struct utmp has field ut_pid. */ +/* #define HAVE_STRUCT_UTMP_UT_PID 1 */ + +/* Define if struct utmp has field ut_type. */ +/* #define HAVE_STRUCT_UTMP_UT_TYPE 1 */ + +/* Define if struct utmp has field ut_user. */ +/* #define HAVE_STRUCT_UTMP_UT_USER 1 */ + +/* define if struct winsize is declared in sys/termios.h */ +/* #define HAVE_STRUCT_WINSIZE 1 */ + +/* Define to 1 if you have the `strunvis' function. */ +/* #undef HAVE_STRUNVIS */ + +/* Define if you have the function `strupr'. */ +#define HAVE_STRUPR 1 + +/* Define to 1 if you have the `strvis' function. */ +/* #undef HAVE_STRVIS */ + +/* Define to 1 if you have the `strvisx' function. */ +/* #undef HAVE_STRVISX */ + +/* Define to 1 if you have the `svis' function. */ +/* #undef HAVE_SVIS */ + +/* Define if you have the function `swab'. */ +#define HAVE_SWAB 1 + +/* Define to 1 if you have the `sysconf' function. */ +/* #define HAVE_SYSCONF 1 */ + +/* Define to 1 if you have the `sysctl' function. */ +/* #undef HAVE_SYSCTL */ + +/* syslog is provided for _win32 in lib/roken */ + +/* Define to 1 if you have the `syslog' function. */ +#define HAVE_SYSLOG 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYSLOG_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_BITYPES_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_BSWAP_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_CAPABILITY_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_CATEGORY_H */ + +/* Define to 1 if you have the header file. */ +/* #define HAVE_SYS_FILE_H 1 */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_FILIO_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_IOCCOM_H */ + +/* Define to 1 if you have the header file. */ +/* #define HAVE_SYS_IOCTL_H 1 */ + +/* Define to 1 if you have the header file. */ +/* #define HAVE_SYS_MMAN_H 1 */ + +/* Define to 1 if you have the header file. */ +/* #define HAVE_SYS_PARAM_H 1 */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_PROC_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_PTYIO_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_PTYVAR_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_PTY_H */ + +/* Define to 1 if you have the header file. */ +/* #define HAVE_SYS_RESOURCE_H 1 */ + +/* Define to 1 if you have the header file. */ +/* #define HAVE_SYS_SELECT_H 1 */ + +/* Define to 1 if you have the header file. */ +/* #define HAVE_SYS_SOCKET_H 1 */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_SOCKIO_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_STREAM_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_STROPTS_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_STRTTY_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_STR_TTY_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_SYSCALL_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_SYSCTL_H */ + +/* Define to 1 if you have the header file. */ +/* #define HAVE_SYS_TERMIO_H 1 */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TIMEB_H 1 + +/* Define to 1 if you have the header file. */ +/* #define HAVE_SYS_TIMES_H 1 */ + +/* Define to 1 if you have the header file. */ +/* #define HAVE_SYS_TIME_H 1 */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_TTY_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_UCRED_H */ + +/* Define to 1 if you have the header file. */ +/* #define HAVE_SYS_UIO_H 1 */ + +/* Define to 1 if you have the header file. */ +/* #define HAVE_SYS_UN_H 1 */ + +/* Define to 1 if you have the header file. */ +/* #define HAVE_SYS_UTSNAME_H 1 */ + +/* Define to 1 if you have the header file. */ +/* #define HAVE_SYS_WAIT_H 1 */ + +/* Define to 1 if you have the header file. */ +/* #define HAVE_TERMCAP_H 1 */ + +/* Define to 1 if you have the header file. */ +/* #define HAVE_TERMIOS_H 1 */ + +/* Define to 1 if you have the header file. */ +/* #define HAVE_TERMIO_H 1 */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_TERM_H */ + +/* Define to 1 if you have the `tgetent' function. */ +/* #define HAVE_TGETENT 1 */ + +/* Define if you have the function `timegm'. */ +/* #define HAVE_TIMEGM 1 */ + +/* Define if you have the `timezone' variable. */ +#define HAVE_TIMEZONE 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_TIME_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_TMPDIR_H */ + +/* Define to 1 if you have the `ttyname' function. */ +/* #define HAVE_TTYNAME 1 */ + +/* Define to 1 if you have the `ttyslot' function. */ +/* #define HAVE_TTYSLOT 1 */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_UDB_H */ + +/* Define to 1 if the system has the type `uint16_t'. */ +/* #define HAVE_UINT16_T 1 */ + +/* Define to 1 if the system has the type `uint32_t'. */ +/* #define HAVE_UINT32_T 1 */ + +/* Define to 1 if the system has the type `uint64_t'. */ +/* #define HAVE_UINT64_T 1 */ + +/* Define to 1 if the system has the type `uint8_t'. */ +/* #define HAVE_UINT8_T 1 */ + +/* Define to 1 if the system has the type `uintptr_t'. */ +#define HAVE_UINTPTR_T 1 + +/* Define to 1 if you have the `umask' function. */ +/* #define HAVE_UMASK 1 */ + +/* Define to 1 if you have the `uname' function. */ +/* #define HAVE_UNAME 1 */ + +/* Define to 1 if you have the header file. */ +/* #define HAVE_UNISTD_H 1 */ + +/* Define to 1 if you have the `unlockpt' function. */ +/* #define HAVE_UNLOCKPT 1 */ + +/* Define if you have the function `unsetenv'. */ +/* #define HAVE_UNSETENV 1 */ + +/* Define to 1 if you have the `unvis' function. */ +/* #undef HAVE_UNVIS */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_USERCONF_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_USERSEC_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_UTIL_H */ + +/* Define to 1 if you have the header file. */ +/* #define HAVE_UTMPX_H 1 */ + +/* Define to 1 if you have the header file. */ +/* #define HAVE_UTMP_H 1 */ + +/* Define to 1 if the system has the type `u_int16_t'. */ +/* #define HAVE_U_INT16_T 1 */ + +/* Define to 1 if the system has the type `u_int32_t'. */ +/* #define HAVE_U_INT32_T 1 */ + +/* Define to 1 if the system has the type `u_int64_t'. */ +/* #define HAVE_U_INT64_T 1 */ + +/* Define to 1 if the system has the type `u_int8_t'. */ +/* #define HAVE_U_INT8_T 1 */ + +/* Define to 1 if you have the `vasnprintf' function. */ +/* #undef HAVE_VASNPRINTF */ + +/* Define to 1 if you have the `vasprintf' function. */ +/* #define HAVE_VASPRINTF 1 */ + +/* Define if you have the function `verr'. */ +/* #define HAVE_VERR 1 */ + +/* Define if you have the function `verrx'. */ +/* #define HAVE_VERRX 1 */ + +/* Define to 1 if you have the `vhangup' function. */ +/* #define HAVE_VHANGUP 1 */ + +/* Define to 1 if you have the `vis' function. */ +/* #undef HAVE_VIS */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_VIS_H */ + +/* define if you have a working vsnprintf */ +/* snprintf() and vsnprintf() do exist. But the implementations are + not C99 compliant. */ +/* #define HAVE_VSNPRINTF 1 */ + +/* Define if you have the function `vsyslog'. */ +#define HAVE_VSYSLOG 1 + +/* Define if you have the function `vwarn'. */ +/* #define HAVE_VWARN 1 */ + +/* Define if you have the function `vwarnx'. */ +/* #define HAVE_VWARNX 1 */ + +/* Define if you have the function `warn'. */ +/* #define HAVE_WARN 1 */ + +/* Define if you have the function `warnx'. */ +/* #define HAVE_WARNX 1 */ + +/* Define if you have the function `writev'. */ +/* #define HAVE_WRITEV 1 */ + +/* Defined if we have WinSock */ +#define HAVE_WINSOCK 1 + +/* define if struct winsize has ws_xpixel */ +/* #define HAVE_WS_XPIXEL 1 */ + +/* define if struct winsize has ws_ypixel */ +/* #define HAVE_WS_YPIXEL 1 */ + +/* Define to 1 if you have the `XauFileName' function. */ +/* #undef HAVE_XAUFILENAME */ + +/* Define to 1 if you have the `XauReadAuth' function. */ +/* #undef HAVE_XAUREADAUTH */ + +/* Define to 1 if you have the `XauWriteAuth' function. */ +/* #undef HAVE_XAUWRITEAUTH */ + +/* Define to 1 if you have the `yp_get_default_domain' function. */ +/* #undef HAVE_YP_GET_DEFAULT_DOMAIN */ + +/* Define to 1 if you have the `_getpty' function. */ +/* #undef HAVE__GETPTY */ + +/* Define if you have the `_res' variable. */ +/* #undef HAVE__RES */ + +/* Define to 1 if you have the `_scrsize' function. */ +/* #undef HAVE__SCRSIZE */ + +/* define if your compiler has __attribute__ */ +/* #define HAVE___ATTRIBUTE__ 1 */ + +/* Define if you have the `__progname' variable. */ +/* #define HAVE___PROGNAME 1 */ + +/* Define if you have the hesiod package. */ +/* #undef HESIOD */ + +/* Define if you are running IRIX 4. */ +/* #undef IRIX4 */ + +/* define if the system is missing a prototype for asnprintf() */ +/* #define NEED_ASNPRINTF_PROTO 1 */ + +/* define if the system is missing a prototype for asprintf() */ +/* #undef NEED_ASPRINTF_PROTO */ + +/* define if the system is missing a prototype for crypt() */ +/* #undef NEED_CRYPT_PROTO */ + +/* define if the system is missing a prototype for daemon() */ +/* #undef NEED_DAEMON_PROTO */ + +/* define if the system is missing a prototype for gethostname() */ +/* #undef NEED_GETHOSTNAME_PROTO */ + +/* define if the system is missing a prototype for getusershell() */ +/* #undef NEED_GETUSERSHELL_PROTO */ + +/* define if the system is missing a prototype for glob() */ +/* #undef NEED_GLOB_PROTO */ + +/* define if the system is missing a prototype for hstrerror() */ +/* #undef NEED_HSTRERROR_PROTO */ + +/* define if the system is missing a prototype for inet_aton() */ +/* #undef NEED_INET_ATON_PROTO */ + +/* define if the system is missing a prototype for iruserok() */ +/* #undef NEED_IRUSEROK_PROTO */ + +/* define if the system is missing a prototype for mkstemp() */ +/* #define NEED_MKSTEMP_PROTO 1 */ + +/* define if the system is missing a prototype for SecKeyGetCSPHandle() */ +/* #undef NEED_SECKEYGETCSPHANDLE_PROTO */ + +/* define if the system is missing a prototype for setenv() */ +#define NEED_SETENV_PROTO 1 + +/* define if the system is missing a prototype for snprintf() */ +/* #undef NEED_SNPRINTF_PROTO */ + +/* define if the system is missing a prototype for strndup() */ +/* #undef NEED_STRNDUP_PROTO */ + +/* define if the system is missing a prototype for strsep() */ +/* #undef NEED_STRSEP_PROTO */ + +/* define if the system is missing a prototype for strsvis() */ +/* #define NEED_STRSVIS_PROTO 1 */ + +/* define if the system is missing a prototype for strtok_r() */ +#define NEED_STRTOK_R_PROTO 1 + +/* define if the system is missing a prototype for strunvis() */ +/* #define NEED_STRUNVIS_PROTO 1 */ + +/* define if the system is missing a prototype for strvisx() */ +/* #define NEED_STRVISX_PROTO 1 */ + +/* define if the system is missing a prototype for strvis() */ +/* #define NEED_STRVIS_PROTO 1 */ + +/* define if the system is missing a prototype for svis() */ +/* #define NEED_SVIS_PROTO 1 */ + +/* define if the system is missing a prototype for unsetenv() */ +/* #undef NEED_UNSETENV_PROTO */ + +/* define if the system is missing a prototype for unvis() */ +/* #define NEED_UNVIS_PROTO 1 */ + +/* define if the system is missing a prototype for vasnprintf() */ +/* #define NEED_VASNPRINTF_PROTO 1 */ + +/* define if the system is missing a prototype for vasprintf() */ +/* #undef NEED_VASPRINTF_PROTO */ + +/* define if the system is missing a prototype for vis() */ +/* #define NEED_VIS_PROTO 1 */ + +/* define if the system is missing a prototype for vsnprintf() */ +/* #undef NEED_VSNPRINTF_PROTO */ + +/* Define to 1 if your C compiler doesn't accept -c and -o together. */ +/* #undef NO_MINUS_C_MINUS_O */ + +/* Define if you don't want to use mmap. */ +#define NO_MMAP 1 + +/* Define to 1 if inetd will never be used to invoke any of the + daemons. */ +#define NO_INETD 1 + +#define NO_RAND_EGD_METHOD 1 + +/* Define if the Unix rand method is not defined */ +#define NO_RAND_UNIX_METHOD 1 + +/* Define if fd_sets aren't limited to FD_SETSIZE sockets */ +#define NO_LIMIT_FD_SETSIZE 1 + +/* Define if PID files should not be used. */ +#define NO_PIDFILES 1 + +/* Define if SIGPIPE is not supported */ +#define NO_SIGPIPE 1 + +/* Define if SIGXCPU is not supported */ +#define NO_SIGXCPU 1 + +/* Define if sleep() is not available */ +#define NO_SLEEP 1 + +/* Define to 1 if Unix sockets (AF_UNIX) are not available. */ +#define NO_UNIX_SOCKETS 1 + +/* Define to 1 if POSIX link/unlink operations should be avoided. + This may be because the behavior of links are not not consistent + with POSIX or because the filesystem may not support POSIX + links. */ +#define NO_POSIX_LINKS 1 + +/* Define this to enable old environment option in telnet. */ +/* #define OLD_ENVIRON 1 */ + +/* define if prototype of openlog is compatible with void openlog(const char + *, int, int) */ +#define OPENLOG_PROTO_COMPATIBLE 1 + +/* Define if getlogin has POSIX flavour (and not BSD). */ +/* #define POSIX_GETLOGIN 1 */ + +/* Define if getpwnam_r has POSIX flavour. */ +/* #define POSIX_GETPWNAM_R 1 */ + +/* Define if you have the readline package. */ +#define READLINE 1 + +/* Define if rename() does not unlink an existing file */ +#define RENAME_DOES_NOT_UNLINK 1 + +/* Define if you want to use samba socket wrappers. */ +/* #undef SOCKET_WRAPPER_REPLACE */ + +/* Define if a socket is not a file descriptor */ +#define SOCKET_IS_NOT_AN_FD 1 + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Define if you have streams ptys. */ +/* #undef STREAMSPTY */ + +/* Define to 1 if you can safely include both and . */ +/* #define TIME_WITH_SYS_TIME 1 */ + +/* Define to 1 if your declares `struct tm'. */ +/* #undef TM_IN_SYS_TIME */ + +/* define if target is big endian */ +/* #undef WORDS_BIGENDIAN */ + +/* Define to 1 if the X Window System is missing or not being used. */ +#define X_DISPLAY_MISSING 1 + +/* Define to 1 if `lex' declares `yytext' as a `char *' by default, not a + `char[]'. */ +/* #undef YYTEXT_POINTER */ + +/* Number of bits in a file offset, on hosts where this is settable. */ +/* #undef _FILE_OFFSET_BITS */ + +/* Define to enable extensions on glibc-based systems such as Linux. */ +/* #define _GNU_SOURCE 1 */ + +/* Define for large files, on AIX-style hosts. */ +/* #undef _LARGE_FILES */ + +/* Set this to the default system lead string for telnetd + * can contain %-escapes: %s=sysname, %m=machine, %r=os-release + * %v=os-version, %t=tty, %h=hostname, %d=date and time + */ +/* #undef USE_IM */ + +/* Used with login -p */ +/* #undef LOGIN_ARGS */ + +#ifdef ROKEN_RENAME +#include "roken_rename.h" +#endif + +#define RETSIGTYPE void + +#define VOID_RETSIGTYPE 1 + +#ifdef VOID_RETSIGTYPE +#define SIGRETURN(x) return +#else +#define SIGRETURN(x) return (RETSIGTYPE)(x) +#endif + +#ifndef CPP_ONLY + +typedef int pid_t; + +typedef unsigned int gid_t; + +typedef unsigned int uid_t; + +typedef unsigned short mode_t; + +#endif + +#ifndef __cplusplus +#define inline __inline +#endif + +#if defined(ENCRYPTION) && !defined(AUTHENTICATION) +#define AUTHENTICATION 1 +#endif + + + +/* Paths */ + +#define SYSCONFDIR "%{COMMONCONFIG}" + +#define LIBDIR "%{LIBDIR}" + +#if 0 + +#define LIBEXECDIR "%{LIBEXECDIR}" + +#define LOCALSTATEDIR "%{COMMONCONFIG}" + +#define SBINDIR "%{SBINDIR}" + +#define BINDIR "%{BINDIR}" + +#endif + +#endif /* RC_INVOKED */ + + +/* Version info */ + +#define PACKAGE "@PACKAGE@" + +#define PACKAGE_BUGREPORT "@PACKAGE_BUGREPORT@" + +#define PACKAGE_NAME "@PACKAGE_NAME@" + +#define PACKAGE_STRING "@PACKAGE_NAME@ @PACKAGE_VERSION@" + +#define PACKAGE_TARNAME "@PACKAGE@" + +#define PACKAGE_VERSION "@PACKAGE_VERSION@" + +#define PACKAGE_COMPANY "@PACKAGE_COMPANY@" + +#define PACKAGE_COPYRIGHT "@PACKAGE_COPYRIGHT@" + +#define VERSION "@PACKAGE_VERSION@" + +#define RC_PRODVER_MAJOR @MAJOR@ + +#define RC_PRODVER_MINOR @MINOR@ + +#define RC_PRODVER_AUX @AUX@ + +#define RC_PRODVER_PATCH @PATCH@ + +#define RC_PRODVER_C @MAJOR@,@MINOR@,@AUX@,@PATCH@ + +#define RC_PRODVER_CS "@MAJOR@,@MINOR@,@AUX@,@PATCH@" + +#define RC_PRODVER_DS "@MAJOR@.@MINOR@.@AUX@.@PATCH@" + +#define RC_PRODUCT_NAME_0409 PACKAGE_NAME + +#define RC_PRODUCT_VER_0409 PACKAGE_VERSION + +#define RC_COMPANY_0409 PACKAGE_COMPANY + +#define RC_COPYRIGHT_0409 PACKAGE_COPYRIGHT + +@VERSION_OPTDEFS@ + +#endif /* __CONFIG_H__ */ diff --git a/include/krb5-types.h.w32 b/include/krb5-types.h.w32 new file mode 100644 index 000000000..4506983a0 --- /dev/null +++ b/include/krb5-types.h.w32 @@ -0,0 +1,61 @@ +/*********************************************************************** + * Copyright (c) 2009, Secure Endpoints Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * + **********************************************************************/ + +#ifndef __krb5_types_h__ +#define __krb5_types_h__ + +#ifndef __BIT_TYPES_DEFINED__ +#define __BIT_TYPES_DEFINED__ + +typedef __int8 int8_t; +typedef __int16 int16_t; +typedef __int32 int32_t; +typedef __int64 int64_t; +typedef unsigned __int8 uint8_t; +typedef unsigned __int16 uint16_t; +typedef unsigned __int32 uint32_t; +typedef unsigned __int64 uint64_t; +typedef uint8_t u_int8_t; +typedef uint16_t u_int16_t; +typedef uint32_t u_int32_t; +typedef uint64_t u_int64_t; + +#endif /* __BIT_TYPES_DEFINED__ */ + +typedef int krb5_socklen_t; + +#ifdef _WIN64 +typedef __int64 krb5_ssize_t; +#else +typedef int krb5_ssize_t; +#endif + +#endif /* __krb5_types_h__ */ From 93a56f6153ad4c4b52549754e4b2e6639b2b30c7 Mon Sep 17 00:00:00 2001 From: Love Hornquist Astrand Date: Wed, 25 Nov 2009 02:07:45 +0100 Subject: [PATCH 07/12] define krb5_socket_t --- include/bits.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/include/bits.c b/include/bits.c index 1070428c5..e0348a504 100644 --- a/include/bits.c +++ b/include/bits.c @@ -234,6 +234,15 @@ int main(int argc, char **argv) fprintf(f, "typedef int krb5_ssize_t;\n"); #endif fprintf(f, "\n"); + +#if defined(_WIN32) + #include + fprintf(f, "typedef SOCKET krb5_socket_t;\n"); +#else + fprintf(f, "typedef int krb5_socket_t;\n"); +#endif + fprintf(f, "\n"); + #endif /* KRB5 */ fprintf(f, "#endif /* %s */\n", hb); From 26f7b41f255aecea14acf065d1262c5fca9a64cd Mon Sep 17 00:00:00 2001 From: Love Hornquist Astrand Date: Wed, 25 Nov 2009 02:08:13 +0100 Subject: [PATCH 08/12] define krb5_socket_t --- include/krb5-types.cross | 2 ++ 1 file changed, 2 insertions(+) diff --git a/include/krb5-types.cross b/include/krb5-types.cross index 1e0d84142..5170e533c 100644 --- a/include/krb5-types.cross +++ b/include/krb5-types.cross @@ -13,4 +13,6 @@ typedef socklen_t krb5_socklen_t; #include typedef ssize_t krb5_ssize_t; +typedef int krb5_socket_t; + #endif /* __krb5_types_h__ */ From e0a6ee793ba77b2b6bdda02fbe25b4c1434abae1 Mon Sep 17 00:00:00 2001 From: Love Hornquist Astrand Date: Wed, 25 Nov 2009 02:14:06 +0100 Subject: [PATCH 09/12] CHAR is not used, don't define it --- lib/editline/edit_locl.h | 2 -- 1 file changed, 2 deletions(-) diff --git a/lib/editline/edit_locl.h b/lib/editline/edit_locl.h index f2419bbd6..427f493d5 100644 --- a/lib/editline/edit_locl.h +++ b/lib/editline/edit_locl.h @@ -33,8 +33,6 @@ typedef struct direct DIRENTRY; #define S_ISDIR(m) (((m) & S_IFMT) == S_IFDIR) #endif /* !defined(S_ISDIR) */ -typedef unsigned char CHAR; - #define MEM_INC 64 #define SCREEN_INC 256 From 20c26609dab04be2b000e84712bb14e6ac4d1f99 Mon Sep 17 00:00:00 2001 From: Asanka Herath Date: Wed, 25 Nov 2009 02:15:29 +0100 Subject: [PATCH 10/12] Make build on windows Signed-off-by: Love Hornquist Astrand --- lib/editline/editline.c | 2 +- lib/editline/syswin.c | 47 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 48 insertions(+), 1 deletion(-) create mode 100644 lib/editline/syswin.c diff --git a/lib/editline/editline.c b/lib/editline/editline.c index f02bf51e5..29c7189ef 100644 --- a/lib/editline/editline.c +++ b/lib/editline/editline.c @@ -455,7 +455,7 @@ ceol(void) static void clear_line(void) { - Point = -strlen(Prompt); + Point = -(int)strlen(Prompt); TTYput('\r'); ceol(); Point = 0; diff --git a/lib/editline/syswin.c b/lib/editline/syswin.c new file mode 100644 index 000000000..1f05073d9 --- /dev/null +++ b/lib/editline/syswin.c @@ -0,0 +1,47 @@ +/*********************************************************************** + * Copyright (c) 2009, Secure Endpoints Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * + **********************************************************************/ + +#include +#include "edit_locl.h" + +void +rl_ttyset(int Reset) +{ +} + +void +rl_add_slash(char *path, char *p, size_t len) +{ + struct stat Sb; + + if (stat(path, &Sb) >= 0) + strlcat(p, S_ISDIR(Sb.st_mode) ? "\\" : " ", len); +} From 452c20aed52f211253aadd86d468850ca1f09396 Mon Sep 17 00:00:00 2001 From: Asanka Herath Date: Wed, 25 Nov 2009 02:19:05 +0100 Subject: [PATCH 11/12] Make build on windows Signed-off-by: Love Hornquist Astrand --- lib/asn1/asn1-common.h | 1 + lib/asn1/libasn1-exports.def | 1656 ++++++++++++++++++++++++++++++++++ 2 files changed, 1657 insertions(+) create mode 100644 lib/asn1/libasn1-exports.def diff --git a/lib/asn1/asn1-common.h b/lib/asn1/asn1-common.h index 4c6af8b45..8ab97761d 100644 --- a/lib/asn1/asn1-common.h +++ b/lib/asn1/asn1-common.h @@ -2,6 +2,7 @@ #include #include +#include #ifndef __asn1_common_definitions__ #define __asn1_common_definitions__ diff --git a/lib/asn1/libasn1-exports.def b/lib/asn1/libasn1-exports.def new file mode 100644 index 000000000..6f753be54 --- /dev/null +++ b/lib/asn1/libasn1-exports.def @@ -0,0 +1,1656 @@ +EXPORTS + der_get_class_name + der_get_class_num + der_get_type_name + der_get_type_num + der_get_tag_name + der_get_tag_num + der_get_unsigned + der_get_integer + der_get_length + der_get_boolean + der_get_general_string + der_get_utf8string + der_get_printable_string + der_get_ia5_string + der_get_bmp_string + der_get_universal_string + der_get_visible_string + der_get_octet_string + der_get_octet_string_ber + der_get_heim_integer + der_get_generalized_time + der_get_utctime + der_get_oid + der_get_tag + der_match_tag + der_match_tag2 + der_match_tag_and_length + _heim_fix_dce + der_get_bit_string + der_put_unsigned + der_put_integer + der_put_length + der_put_boolean + der_put_general_string + der_put_utf8string + der_put_printable_string + der_put_ia5_string + der_put_bmp_string + der_put_universal_string + der_put_visible_string + der_put_octet_string + der_put_heim_integer + der_put_generalized_time + der_put_utctime + der_put_oid + der_put_tag + der_put_length_and_tag + _heim_time2generalizedtime + der_put_bit_string + _heim_der_set_sort + der_free_general_string + der_free_utf8string + der_free_printable_string + der_free_ia5_string + der_free_bmp_string + der_free_universal_string + der_free_visible_string + der_free_octet_string + der_free_heim_integer + der_free_oid + der_free_bit_string + _heim_len_unsigned + _heim_len_int + der_length_len + der_length_integer + der_length_unsigned + der_length_enumerated + der_length_general_string + der_length_utf8string + der_length_printable_string + der_length_ia5_string + der_length_bmp_string + der_length_universal_string + der_length_visible_string + der_length_octet_string + der_length_heim_integer + der_length_oid + der_length_generalized_time + der_length_utctime + der_length_boolean + der_length_bit_string + der_copy_general_string + der_copy_utf8string + der_copy_printable_string + der_copy_ia5_string + der_copy_bmp_string + der_copy_universal_string + der_copy_visible_string + der_copy_octet_string + der_copy_heim_integer + der_copy_oid + der_copy_bit_string + der_heim_oid_cmp + der_heim_octet_string_cmp + der_heim_bit_string_cmp + der_heim_integer_cmp + der_heim_bmp_string_cmp + der_heim_universal_string_cmp + der_parse_hex_heim_integer + der_print_hex_heim_integer + der_print_heim_oid + der_parse_heim_oid + encode_heim_any + decode_heim_any + free_heim_any + length_heim_any + copy_heim_any + encode_heim_any_set + decode_heim_any_set + free_heim_any_set + length_heim_any_set + copy_heim_any_set + heim_any_cmp + _der_timegm + encode_AccessDescription + decode_AccessDescription + free_AccessDescription + length_AccessDescription + copy_AccessDescription + encode_AlgorithmIdentifier + decode_AlgorithmIdentifier + free_AlgorithmIdentifier + length_AlgorithmIdentifier + copy_AlgorithmIdentifier + encode_Attribute + decode_Attribute + free_Attribute + length_Attribute + copy_Attribute + encode_AttributeType + decode_AttributeType + free_AttributeType + length_AttributeType + copy_AttributeType + encode_AttributeTypeAndValue + decode_AttributeTypeAndValue + free_AttributeTypeAndValue + length_AttributeTypeAndValue + copy_AttributeTypeAndValue + encode_AttributeValue + decode_AttributeValue + free_AttributeValue + length_AttributeValue + copy_AttributeValue + encode_AuthorityInfoAccessSyntax + decode_AuthorityInfoAccessSyntax + free_AuthorityInfoAccessSyntax + length_AuthorityInfoAccessSyntax + copy_AuthorityInfoAccessSyntax + encode_AuthorityKeyIdentifier + decode_AuthorityKeyIdentifier + free_AuthorityKeyIdentifier + length_AuthorityKeyIdentifier + copy_AuthorityKeyIdentifier + encode_BaseDistance + decode_BaseDistance + free_BaseDistance + length_BaseDistance + copy_BaseDistance + encode_BasicConstraints + decode_BasicConstraints + free_BasicConstraints + length_BasicConstraints + copy_BasicConstraints + encode_CRLCertificateList + decode_CRLCertificateList + free_CRLCertificateList + length_CRLCertificateList + copy_CRLCertificateList + encode_CRLDistributionPoints + decode_CRLDistributionPoints + free_CRLDistributionPoints + length_CRLDistributionPoints + copy_CRLDistributionPoints + add_CRLDistributionPoints + remove_CRLDistributionPoints + encode_CRLReason + decode_CRLReason + free_CRLReason + length_CRLReason + copy_CRLReason + encode_Certificate + decode_Certificate + free_Certificate + length_Certificate + copy_Certificate + encode_CertificateSerialNumber + decode_CertificateSerialNumber + free_CertificateSerialNumber + length_CertificateSerialNumber + copy_CertificateSerialNumber + encode_Certificates + decode_Certificates + free_Certificates + length_Certificates + copy_Certificates + encode_DHPublicKey + decode_DHPublicKey + free_DHPublicKey + length_DHPublicKey + copy_DHPublicKey + encode_DSAParams + decode_DSAParams + free_DSAParams + length_DSAParams + copy_DSAParams + encode_DSAPublicKey + decode_DSAPublicKey + free_DSAPublicKey + length_DSAPublicKey + copy_DSAPublicKey + encode_DSASigValue + decode_DSASigValue + free_DSASigValue + length_DSASigValue + copy_DSASigValue + encode_DigestInfo + decode_DigestInfo + free_DigestInfo + length_DigestInfo + copy_DigestInfo + encode_DirectoryString + decode_DirectoryString + free_DirectoryString + length_DirectoryString + copy_DirectoryString + encode_DistributionPoint + decode_DistributionPoint + free_DistributionPoint + length_DistributionPoint + copy_DistributionPoint + encode_DistributionPointName + decode_DistributionPointName + free_DistributionPointName + length_DistributionPointName + copy_DistributionPointName + encode_DistributionPointReasonFlags + decode_DistributionPointReasonFlags + free_DistributionPointReasonFlags + length_DistributionPointReasonFlags + copy_DistributionPointReasonFlags + DistributionPointReasonFlags2int + int2DistributionPointReasonFlags + asn1_DistributionPointReasonFlags_units + encode_DomainParameters + decode_DomainParameters + free_DomainParameters + length_DomainParameters + copy_DomainParameters + encode_ECParameters + decode_ECParameters + free_ECParameters + length_ECParameters + copy_ECParameters + encode_ECPoint + decode_ECPoint + free_ECPoint + length_ECPoint + copy_ECPoint + encode_ECDSA_Sig_Value + decode_ECDSA_Sig_Value + free_ECDSA_Sig_Value + length_ECDSA_Sig_Value + copy_ECDSA_Sig_Value + encode_ExtKeyUsage + decode_ExtKeyUsage + free_ExtKeyUsage + length_ExtKeyUsage + copy_ExtKeyUsage + encode_Extension + decode_Extension + free_Extension + length_Extension + copy_Extension + encode_Extensions + decode_Extensions + free_Extensions + length_Extensions + copy_Extensions + add_Extensions + remove_Extensions + encode_GeneralName + decode_GeneralName + free_GeneralName + length_GeneralName + copy_GeneralName + encode_GeneralNames + decode_GeneralNames + free_GeneralNames + length_GeneralNames + copy_GeneralNames + add_GeneralNames + remove_GeneralNames + encode_GeneralSubtree + decode_GeneralSubtree + free_GeneralSubtree + length_GeneralSubtree + copy_GeneralSubtree + encode_GeneralSubtrees + decode_GeneralSubtrees + free_GeneralSubtrees + length_GeneralSubtrees + copy_GeneralSubtrees + encode_KeyIdentifier + decode_KeyIdentifier + free_KeyIdentifier + length_KeyIdentifier + copy_KeyIdentifier + encode_KeyUsage + decode_KeyUsage + free_KeyUsage + length_KeyUsage + copy_KeyUsage + KeyUsage2int + int2KeyUsage + asn1_KeyUsage_units + encode_Name + decode_Name + free_Name + length_Name + copy_Name + encode_NameConstraints + decode_NameConstraints + free_NameConstraints + length_NameConstraints + copy_NameConstraints + encode_OtherName + decode_OtherName + free_OtherName + length_OtherName + copy_OtherName + encode_PKIXXmppAddr + decode_PKIXXmppAddr + free_PKIXXmppAddr + length_PKIXXmppAddr + copy_PKIXXmppAddr + encode_ProxyCertInfo + decode_ProxyCertInfo + free_ProxyCertInfo + length_ProxyCertInfo + copy_ProxyCertInfo + encode_ProxyPolicy + decode_ProxyPolicy + free_ProxyPolicy + length_ProxyPolicy + copy_ProxyPolicy + encode_RDNSequence + decode_RDNSequence + free_RDNSequence + length_RDNSequence + copy_RDNSequence + encode_RSAPrivateKey + decode_RSAPrivateKey + free_RSAPrivateKey + length_RSAPrivateKey + copy_RSAPrivateKey + encode_RSAPublicKey + decode_RSAPublicKey + free_RSAPublicKey + length_RSAPublicKey + copy_RSAPublicKey + encode_RelativeDistinguishedName + decode_RelativeDistinguishedName + free_RelativeDistinguishedName + length_RelativeDistinguishedName + copy_RelativeDistinguishedName + encode_SubjectKeyIdentifier + decode_SubjectKeyIdentifier + free_SubjectKeyIdentifier + length_SubjectKeyIdentifier + copy_SubjectKeyIdentifier + encode_SubjectPublicKeyInfo + decode_SubjectPublicKeyInfo + free_SubjectPublicKeyInfo + length_SubjectPublicKeyInfo + copy_SubjectPublicKeyInfo + encode_TBSCRLCertList + decode_TBSCRLCertList + free_TBSCRLCertList + length_TBSCRLCertList + copy_TBSCRLCertList + encode_TBSCertificate + decode_TBSCertificate + free_TBSCertificate + length_TBSCertificate + copy_TBSCertificate + encode_TeletexStringx + decode_TeletexStringx + free_TeletexStringx + length_TeletexStringx + copy_TeletexStringx + encode_Time + decode_Time + free_Time + length_Time + copy_Time + encode_UniqueIdentifier + decode_UniqueIdentifier + free_UniqueIdentifier + length_UniqueIdentifier + copy_UniqueIdentifier + encode_ValidationParms + decode_ValidationParms + free_ValidationParms + length_ValidationParms + copy_ValidationParms + encode_Validity + decode_Validity + free_Validity + length_Validity + copy_Validity + encode_Version + decode_Version + free_Version + length_Version + copy_Version + asn1_oid_id_Userid + oid_id_Userid + asn1_oid_id_aes_128_cbc + oid_id_aes_128_cbc + asn1_oid_id_aes_192_cbc + oid_id_aes_192_cbc + asn1_oid_id_aes_256_cbc + oid_id_aes_256_cbc + asn1_oid_id_at_commonName + oid_id_at_commonName + asn1_oid_id_at_countryName + oid_id_at_countryName + asn1_oid_id_at_generationQualifier + oid_id_at_generationQualifier + asn1_oid_id_at_givenName + oid_id_at_givenName + asn1_oid_id_at_initials + oid_id_at_initials + asn1_oid_id_at_localityName + oid_id_at_localityName + asn1_oid_id_at_name + oid_id_at_name + asn1_oid_id_at_organizationName + oid_id_at_organizationName + asn1_oid_id_at_organizationalUnitName + oid_id_at_organizationalUnitName + asn1_oid_id_at_pseudonym + oid_id_at_pseudonym + asn1_oid_id_at_serialNumber + oid_id_at_serialNumber + asn1_oid_id_at_stateOrProvinceName + oid_id_at_stateOrProvinceName + asn1_oid_id_at_streetAddress + oid_id_at_streetAddress + asn1_oid_id_at_surname + oid_id_at_surname + asn1_oid_id_dhpublicnumber + oid_id_dhpublicnumber + asn1_oid_id_domainComponent + oid_id_domainComponent + asn1_oid_id_dsa + oid_id_dsa + asn1_oid_id_dsa_with_sha1 + oid_id_dsa_with_sha1 + asn1_oid_id_ecDH + oid_id_ecDH + asn1_oid_id_ecMQV + oid_id_ecMQV + asn1_oid_id_ecPublicKey + oid_id_ecPublicKey + asn1_oid_id_ec_group_secp160r1 + oid_id_ec_group_secp160r1 + asn1_oid_id_ec_group_secp160r2 + oid_id_ec_group_secp160r2 + asn1_oid_id_ec_group_secp256r1 + oid_id_ec_group_secp256r1 + asn1_oid_id_ecdsa_with_SHA1 + oid_id_ecdsa_with_SHA1 + asn1_oid_id_ecdsa_with_SHA256 + oid_id_ecdsa_with_SHA256 + asn1_oid_id_heim_rsa_pkcs1_x509 + oid_id_heim_rsa_pkcs1_x509 + asn1_oid_id_ms_cert_enroll_domaincontroller + oid_id_ms_cert_enroll_domaincontroller + asn1_oid_id_ms_client_authentication + oid_id_ms_client_authentication + asn1_oid_id_netscape + oid_id_netscape + asn1_oid_id_netscape_cert_comment + oid_id_netscape_cert_comment + asn1_oid_id_nistAlgorithm + oid_id_nistAlgorithm + asn1_oid_id_nist_aes_algs + oid_id_nist_aes_algs + asn1_oid_id_nist_sha_algs + oid_id_nist_sha_algs + asn1_oid_id_pkcs1_md2WithRSAEncryption + oid_id_pkcs1_md2WithRSAEncryption + asn1_oid_id_pkcs1_md5WithRSAEncryption + oid_id_pkcs1_md5WithRSAEncryption + asn1_oid_id_pkcs1_rsaEncryption + oid_id_pkcs1_rsaEncryption + asn1_oid_id_pkcs1_sha1WithRSAEncryption + oid_id_pkcs1_sha1WithRSAEncryption + asn1_oid_id_pkcs1_sha256WithRSAEncryption + oid_id_pkcs1_sha256WithRSAEncryption + asn1_oid_id_pkcs1_sha384WithRSAEncryption + oid_id_pkcs1_sha384WithRSAEncryption + asn1_oid_id_pkcs1_sha512WithRSAEncryption + oid_id_pkcs1_sha512WithRSAEncryption + asn1_oid_id_pkcs2_md2 + oid_id_pkcs2_md2 + asn1_oid_id_pkcs2_md4 + oid_id_pkcs2_md4 + asn1_oid_id_pkcs2_md5 + oid_id_pkcs2_md5 + asn1_oid_id_pkcs3_des_ede3_cbc + oid_id_pkcs3_des_ede3_cbc + asn1_oid_id_pkcs3_rc2_cbc + oid_id_pkcs3_rc2_cbc + asn1_oid_id_pkcs3_rc4 + oid_id_pkcs3_rc4 + asn1_oid_id_pkcs_1 + oid_id_pkcs_1 + asn1_oid_id_pkcs_2 + oid_id_pkcs_2 + asn1_oid_id_pkcs_3 + oid_id_pkcs_3 + asn1_oid_id_pkix + oid_id_pkix + asn1_oid_id_pkix_kp + oid_id_pkix_kp + asn1_oid_id_pkix_kp_OCSPSigning + oid_id_pkix_kp_OCSPSigning + asn1_oid_id_pkix_kp_clientAuth + oid_id_pkix_kp_clientAuth + asn1_oid_id_pkix_kp_emailProtection + oid_id_pkix_kp_emailProtection + asn1_oid_id_pkix_kp_serverAuth + oid_id_pkix_kp_serverAuth + asn1_oid_id_pkix_kp_timeStamping + oid_id_pkix_kp_timeStamping + asn1_oid_id_pkix_on + oid_id_pkix_on + asn1_oid_id_pkix_on_dnsSRV + oid_id_pkix_on_dnsSRV + asn1_oid_id_pkix_on_xmppAddr + oid_id_pkix_on_xmppAddr + asn1_oid_id_pkix_pe + oid_id_pkix_pe + asn1_oid_id_pkix_pe_authorityInfoAccess + oid_id_pkix_pe_authorityInfoAccess + asn1_oid_id_pkix_pe_proxyCertInfo + oid_id_pkix_pe_proxyCertInfo + asn1_oid_id_pkix_ppl + oid_id_pkix_ppl + asn1_oid_id_pkix_ppl_anyLanguage + oid_id_pkix_ppl_anyLanguage + asn1_oid_id_pkix_ppl_independent + oid_id_pkix_ppl_independent + asn1_oid_id_pkix_ppl_inheritAll + oid_id_pkix_ppl_inheritAll + asn1_oid_id_rsa_digestAlgorithm + oid_id_rsa_digestAlgorithm + asn1_oid_id_rsa_digest_md2 + oid_id_rsa_digest_md2 + asn1_oid_id_rsa_digest_md4 + oid_id_rsa_digest_md4 + asn1_oid_id_rsa_digest_md5 + oid_id_rsa_digest_md5 + asn1_oid_id_rsadsi_des_ede3_cbc + oid_id_rsadsi_des_ede3_cbc + asn1_oid_id_rsadsi_encalg + oid_id_rsadsi_encalg + asn1_oid_id_rsadsi_rc2_cbc + oid_id_rsadsi_rc2_cbc + asn1_oid_id_secsig_sha_1 + oid_id_secsig_sha_1 + asn1_oid_id_sha224 + oid_id_sha224 + asn1_oid_id_sha256 + oid_id_sha256 + asn1_oid_id_sha384 + oid_id_sha384 + asn1_oid_id_sha512 + oid_id_sha512 + asn1_oid_id_uspkicommon_card_id + oid_id_uspkicommon_card_id + asn1_oid_id_uspkicommon_piv_interim + oid_id_uspkicommon_piv_interim + asn1_oid_id_x509_ce + oid_id_x509_ce + asn1_oid_id_x509_ce_authorityKeyIdentifier + oid_id_x509_ce_authorityKeyIdentifier + asn1_oid_id_x509_ce_basicConstraints + oid_id_x509_ce_basicConstraints + asn1_oid_id_x509_ce_cRLDistributionPoints + oid_id_x509_ce_cRLDistributionPoints + asn1_oid_id_x509_ce_cRLNumber + oid_id_x509_ce_cRLNumber + asn1_oid_id_x509_ce_cRLReason + oid_id_x509_ce_cRLReason + asn1_oid_id_x509_ce_certificateIssuer + oid_id_x509_ce_certificateIssuer + asn1_oid_id_x509_ce_certificatePolicies + oid_id_x509_ce_certificatePolicies + asn1_oid_id_x509_ce_deltaCRLIndicator + oid_id_x509_ce_deltaCRLIndicator + asn1_oid_id_x509_ce_extKeyUsage + oid_id_x509_ce_extKeyUsage + asn1_oid_id_x509_ce_freshestCRL + oid_id_x509_ce_freshestCRL + asn1_oid_id_x509_ce_holdInstructionCode + oid_id_x509_ce_holdInstructionCode + asn1_oid_id_x509_ce_inhibitAnyPolicy + oid_id_x509_ce_inhibitAnyPolicy + asn1_oid_id_x509_ce_invalidityDate + oid_id_x509_ce_invalidityDate + asn1_oid_id_x509_ce_issuerAltName + oid_id_x509_ce_issuerAltName + asn1_oid_id_x509_ce_issuingDistributionPoint + oid_id_x509_ce_issuingDistributionPoint + asn1_oid_id_x509_ce_keyUsage + oid_id_x509_ce_keyUsage + asn1_oid_id_x509_ce_nameConstraints + oid_id_x509_ce_nameConstraints + asn1_oid_id_x509_ce_policyConstraints + oid_id_x509_ce_policyConstraints + asn1_oid_id_x509_ce_policyMappings + oid_id_x509_ce_policyMappings + asn1_oid_id_x509_ce_privateKeyUsagePeriod + oid_id_x509_ce_privateKeyUsagePeriod + asn1_oid_id_x509_ce_subjectAltName + oid_id_x509_ce_subjectAltName + asn1_oid_id_x509_ce_subjectDirectoryAttributes + oid_id_x509_ce_subjectDirectoryAttributes + asn1_oid_id_x509_ce_subjectKeyIdentifier + oid_id_x509_ce_subjectKeyIdentifier + asn1_oid_id_x520_at + oid_id_x520_at + asn1_oid_id_x9_57 + oid_id_x9_57 + encode_CMSAttributes + decode_CMSAttributes + free_CMSAttributes + length_CMSAttributes + copy_CMSAttributes + encode_CMSCBCParameter + decode_CMSCBCParameter + free_CMSCBCParameter + length_CMSCBCParameter + copy_CMSCBCParameter + encode_CMSEncryptedData + decode_CMSEncryptedData + free_CMSEncryptedData + length_CMSEncryptedData + copy_CMSEncryptedData + encode_CMSIdentifier + decode_CMSIdentifier + free_CMSIdentifier + length_CMSIdentifier + copy_CMSIdentifier + encode_CMSRC2CBCParameter + decode_CMSRC2CBCParameter + free_CMSRC2CBCParameter + length_CMSRC2CBCParameter + copy_CMSRC2CBCParameter + encode_CMSVersion + decode_CMSVersion + free_CMSVersion + length_CMSVersion + copy_CMSVersion + encode_CertificateList + decode_CertificateList + free_CertificateList + length_CertificateList + copy_CertificateList + encode_CertificateRevocationLists + decode_CertificateRevocationLists + free_CertificateRevocationLists + length_CertificateRevocationLists + copy_CertificateRevocationLists + encode_CertificateSet + decode_CertificateSet + free_CertificateSet + length_CertificateSet + copy_CertificateSet + encode_ContentEncryptionAlgorithmIdentifier + decode_ContentEncryptionAlgorithmIdentifier + free_ContentEncryptionAlgorithmIdentifier + length_ContentEncryptionAlgorithmIdentifier + copy_ContentEncryptionAlgorithmIdentifier + encode_ContentInfo + decode_ContentInfo + free_ContentInfo + length_ContentInfo + copy_ContentInfo + encode_ContentType + decode_ContentType + free_ContentType + length_ContentType + copy_ContentType + encode_DigestAlgorithmIdentifier + decode_DigestAlgorithmIdentifier + free_DigestAlgorithmIdentifier + length_DigestAlgorithmIdentifier + copy_DigestAlgorithmIdentifier + encode_DigestAlgorithmIdentifiers + decode_DigestAlgorithmIdentifiers + free_DigestAlgorithmIdentifiers + length_DigestAlgorithmIdentifiers + copy_DigestAlgorithmIdentifiers + encode_EncapsulatedContentInfo + decode_EncapsulatedContentInfo + free_EncapsulatedContentInfo + length_EncapsulatedContentInfo + copy_EncapsulatedContentInfo + encode_EncryptedContent + decode_EncryptedContent + free_EncryptedContent + length_EncryptedContent + copy_EncryptedContent + encode_EncryptedContentInfo + decode_EncryptedContentInfo + free_EncryptedContentInfo + length_EncryptedContentInfo + copy_EncryptedContentInfo + encode_EncryptedKey + decode_EncryptedKey + free_EncryptedKey + length_EncryptedKey + copy_EncryptedKey + encode_EnvelopedData + decode_EnvelopedData + free_EnvelopedData + length_EnvelopedData + copy_EnvelopedData + encode_IssuerAndSerialNumber + decode_IssuerAndSerialNumber + free_IssuerAndSerialNumber + length_IssuerAndSerialNumber + copy_IssuerAndSerialNumber + encode_KeyEncryptionAlgorithmIdentifier + decode_KeyEncryptionAlgorithmIdentifier + free_KeyEncryptionAlgorithmIdentifier + length_KeyEncryptionAlgorithmIdentifier + copy_KeyEncryptionAlgorithmIdentifier + encode_KeyTransRecipientInfo + decode_KeyTransRecipientInfo + free_KeyTransRecipientInfo + length_KeyTransRecipientInfo + copy_KeyTransRecipientInfo + encode_MessageDigest + decode_MessageDigest + free_MessageDigest + length_MessageDigest + copy_MessageDigest + encode_OriginatorInfo + decode_OriginatorInfo + free_OriginatorInfo + length_OriginatorInfo + copy_OriginatorInfo + encode_RecipientIdentifier + decode_RecipientIdentifier + free_RecipientIdentifier + length_RecipientIdentifier + copy_RecipientIdentifier + encode_RecipientInfo + decode_RecipientInfo + free_RecipientInfo + length_RecipientInfo + copy_RecipientInfo + encode_RecipientInfos + decode_RecipientInfos + free_RecipientInfos + length_RecipientInfos + copy_RecipientInfos + encode_SignatureAlgorithmIdentifier + decode_SignatureAlgorithmIdentifier + free_SignatureAlgorithmIdentifier + length_SignatureAlgorithmIdentifier + copy_SignatureAlgorithmIdentifier + encode_SignatureValue + decode_SignatureValue + free_SignatureValue + length_SignatureValue + copy_SignatureValue + encode_SignedData + decode_SignedData + free_SignedData + length_SignedData + copy_SignedData + encode_SignerIdentifier + decode_SignerIdentifier + free_SignerIdentifier + length_SignerIdentifier + copy_SignerIdentifier + encode_SignerInfo + decode_SignerInfo + free_SignerInfo + length_SignerInfo + copy_SignerInfo + encode_SignerInfos + decode_SignerInfos + free_SignerInfos + length_SignerInfos + copy_SignerInfos + asn1_oid_id_pkcs7 + oid_id_pkcs7 + asn1_oid_id_pkcs7_data + oid_id_pkcs7_data + asn1_oid_id_pkcs7_digestedData + oid_id_pkcs7_digestedData + asn1_oid_id_pkcs7_encryptedData + oid_id_pkcs7_encryptedData + asn1_oid_id_pkcs7_envelopedData + oid_id_pkcs7_envelopedData + asn1_oid_id_pkcs7_signedAndEnvelopedData + oid_id_pkcs7_signedAndEnvelopedData + asn1_oid_id_pkcs7_signedData + oid_id_pkcs7_signedData + encode_UnprotectedAttributes + decode_UnprotectedAttributes + free_UnprotectedAttributes + length_UnprotectedAttributes + copy_UnprotectedAttributes + encode_AD_AND_OR + decode_AD_AND_OR + free_AD_AND_OR + length_AD_AND_OR + copy_AD_AND_OR + encode_AD_IF_RELEVANT + decode_AD_IF_RELEVANT + free_AD_IF_RELEVANT + length_AD_IF_RELEVANT + copy_AD_IF_RELEVANT + encode_AD_KDCIssued + decode_AD_KDCIssued + free_AD_KDCIssued + length_AD_KDCIssued + copy_AD_KDCIssued + encode_AD_MANDATORY_FOR_KDC + decode_AD_MANDATORY_FOR_KDC + free_AD_MANDATORY_FOR_KDC + length_AD_MANDATORY_FOR_KDC + copy_AD_MANDATORY_FOR_KDC + encode_AD_LoginAlias + decode_AD_LoginAlias + free_AD_LoginAlias + length_AD_LoginAlias + copy_AD_LoginAlias + encode_APOptions + decode_APOptions + free_APOptions + length_APOptions + copy_APOptions + APOptions2int + int2APOptions + asn1_APOptions_units + encode_AP_REP + decode_AP_REP + free_AP_REP + length_AP_REP + copy_AP_REP + encode_AP_REQ + decode_AP_REQ + free_AP_REQ + length_AP_REQ + copy_AP_REQ + encode_AS_REP + decode_AS_REP + free_AS_REP + length_AS_REP + copy_AS_REP + encode_AS_REQ + decode_AS_REQ + free_AS_REQ + length_AS_REQ + copy_AS_REQ + encode_AUTHDATA_TYPE + decode_AUTHDATA_TYPE + free_AUTHDATA_TYPE + length_AUTHDATA_TYPE + copy_AUTHDATA_TYPE + encode_Authenticator + decode_Authenticator + free_Authenticator + length_Authenticator + copy_Authenticator + encode_AuthorizationData + decode_AuthorizationData + free_AuthorizationData + length_AuthorizationData + copy_AuthorizationData + add_AuthorizationData + remove_AuthorizationData + encode_AuthorizationDataElement + decode_AuthorizationDataElement + free_AuthorizationDataElement + length_AuthorizationDataElement + copy_AuthorizationDataElement + encode_CKSUMTYPE + decode_CKSUMTYPE + free_CKSUMTYPE + length_CKSUMTYPE + copy_CKSUMTYPE + encode_ChangePasswdDataMS + decode_ChangePasswdDataMS + free_ChangePasswdDataMS + length_ChangePasswdDataMS + copy_ChangePasswdDataMS + encode_Checksum + decode_Checksum + free_Checksum + length_Checksum + copy_Checksum + encode_ENCTYPE + decode_ENCTYPE + free_ENCTYPE + length_ENCTYPE + copy_ENCTYPE + encode_ETYPE_INFO + decode_ETYPE_INFO + free_ETYPE_INFO + length_ETYPE_INFO + copy_ETYPE_INFO + add_ETYPE_INFO + remove_ETYPE_INFO + encode_ETYPE_INFO2 + decode_ETYPE_INFO2 + free_ETYPE_INFO2 + length_ETYPE_INFO2 + copy_ETYPE_INFO2 + add_ETYPE_INFO2 + remove_ETYPE_INFO2 + encode_ETYPE_INFO2_ENTRY + decode_ETYPE_INFO2_ENTRY + free_ETYPE_INFO2_ENTRY + length_ETYPE_INFO2_ENTRY + copy_ETYPE_INFO2_ENTRY + encode_ETYPE_INFO_ENTRY + decode_ETYPE_INFO_ENTRY + free_ETYPE_INFO_ENTRY + length_ETYPE_INFO_ENTRY + copy_ETYPE_INFO_ENTRY + encode_EncAPRepPart + decode_EncAPRepPart + free_EncAPRepPart + length_EncAPRepPart + copy_EncAPRepPart + encode_EncASRepPart + decode_EncASRepPart + free_EncASRepPart + length_EncASRepPart + copy_EncASRepPart + encode_EncKDCRepPart + decode_EncKDCRepPart + free_EncKDCRepPart + length_EncKDCRepPart + copy_EncKDCRepPart + encode_EncKrbCredPart + decode_EncKrbCredPart + free_EncKrbCredPart + length_EncKrbCredPart + copy_EncKrbCredPart + encode_EncKrbPrivPart + decode_EncKrbPrivPart + free_EncKrbPrivPart + length_EncKrbPrivPart + copy_EncKrbPrivPart + encode_EncTGSRepPart + decode_EncTGSRepPart + free_EncTGSRepPart + length_EncTGSRepPart + copy_EncTGSRepPart + encode_EncTicketPart + decode_EncTicketPart + free_EncTicketPart + length_EncTicketPart + copy_EncTicketPart + encode_EncryptedData + decode_EncryptedData + free_EncryptedData + length_EncryptedData + copy_EncryptedData + encode_EncryptionKey + decode_EncryptionKey + free_EncryptionKey + length_EncryptionKey + copy_EncryptionKey + encode_EtypeList + decode_EtypeList + free_EtypeList + length_EtypeList + copy_EtypeList + encode_HostAddress + decode_HostAddress + free_HostAddress + length_HostAddress + copy_HostAddress + encode_HostAddresses + decode_HostAddresses + free_HostAddresses + length_HostAddresses + copy_HostAddresses + encode_KDCOptions + decode_KDCOptions + free_KDCOptions + length_KDCOptions + copy_KDCOptions + KDCOptions2int + int2KDCOptions + asn1_KDCOptions_units + encode_KDC_REP + decode_KDC_REP + free_KDC_REP + length_KDC_REP + copy_KDC_REP + encode_KDC_REQ + decode_KDC_REQ + free_KDC_REQ + length_KDC_REQ + copy_KDC_REQ + encode_KDC_REQ_BODY + decode_KDC_REQ_BODY + free_KDC_REQ_BODY + length_KDC_REQ_BODY + copy_KDC_REQ_BODY + encode_KRB_CRED + decode_KRB_CRED + free_KRB_CRED + length_KRB_CRED + copy_KRB_CRED + encode_KRB_ERROR + decode_KRB_ERROR + free_KRB_ERROR + length_KRB_ERROR + copy_KRB_ERROR + encode_KRB_PRIV + decode_KRB_PRIV + free_KRB_PRIV + length_KRB_PRIV + copy_KRB_PRIV + encode_KRB_SAFE + decode_KRB_SAFE + free_KRB_SAFE + length_KRB_SAFE + copy_KRB_SAFE + encode_KRB_SAFE_BODY + decode_KRB_SAFE_BODY + free_KRB_SAFE_BODY + length_KRB_SAFE_BODY + copy_KRB_SAFE_BODY + encode_KerberosString + decode_KerberosString + free_KerberosString + length_KerberosString + copy_KerberosString + encode_KerberosTime + decode_KerberosTime + free_KerberosTime + length_KerberosTime + copy_KerberosTime + encode_KrbCredInfo + decode_KrbCredInfo + free_KrbCredInfo + length_KrbCredInfo + copy_KrbCredInfo + encode_LR_TYPE + decode_LR_TYPE + free_LR_TYPE + length_LR_TYPE + copy_LR_TYPE + encode_LastReq + decode_LastReq + free_LastReq + length_LastReq + copy_LastReq + encode_MESSAGE_TYPE + decode_MESSAGE_TYPE + free_MESSAGE_TYPE + length_MESSAGE_TYPE + copy_MESSAGE_TYPE + encode_METHOD_DATA + decode_METHOD_DATA + free_METHOD_DATA + length_METHOD_DATA + copy_METHOD_DATA + add_METHOD_DATA + remove_METHOD_DATA + encode_NAME_TYPE + decode_NAME_TYPE + free_NAME_TYPE + length_NAME_TYPE + copy_NAME_TYPE + encode_PADATA_TYPE + decode_PADATA_TYPE + free_PADATA_TYPE + length_PADATA_TYPE + copy_PADATA_TYPE + encode_PA_DATA + decode_PA_DATA + free_PA_DATA + length_PA_DATA + copy_PA_DATA + encode_PA_ENC_SAM_RESPONSE_ENC + decode_PA_ENC_SAM_RESPONSE_ENC + free_PA_ENC_SAM_RESPONSE_ENC + length_PA_ENC_SAM_RESPONSE_ENC + copy_PA_ENC_SAM_RESPONSE_ENC + encode_PA_ENC_TS_ENC + decode_PA_ENC_TS_ENC + free_PA_ENC_TS_ENC + length_PA_ENC_TS_ENC + copy_PA_ENC_TS_ENC + encode_PA_PAC_REQUEST + decode_PA_PAC_REQUEST + free_PA_PAC_REQUEST + length_PA_PAC_REQUEST + copy_PA_PAC_REQUEST + encode_PA_S4U2Self + decode_PA_S4U2Self + free_PA_S4U2Self + length_PA_S4U2Self + copy_PA_S4U2Self + encode_PA_SAM_CHALLENGE_2 + decode_PA_SAM_CHALLENGE_2 + free_PA_SAM_CHALLENGE_2 + length_PA_SAM_CHALLENGE_2 + copy_PA_SAM_CHALLENGE_2 + encode_PA_SAM_CHALLENGE_2_BODY + decode_PA_SAM_CHALLENGE_2_BODY + free_PA_SAM_CHALLENGE_2_BODY + length_PA_SAM_CHALLENGE_2_BODY + copy_PA_SAM_CHALLENGE_2_BODY + encode_PA_SAM_REDIRECT + decode_PA_SAM_REDIRECT + free_PA_SAM_REDIRECT + length_PA_SAM_REDIRECT + copy_PA_SAM_REDIRECT + encode_PA_SAM_RESPONSE_2 + decode_PA_SAM_RESPONSE_2 + free_PA_SAM_RESPONSE_2 + length_PA_SAM_RESPONSE_2 + copy_PA_SAM_RESPONSE_2 + encode_PA_SAM_TYPE + decode_PA_SAM_TYPE + free_PA_SAM_TYPE + length_PA_SAM_TYPE + copy_PA_SAM_TYPE + encode_PA_ClientCanonicalized + decode_PA_ClientCanonicalized + free_PA_ClientCanonicalized + length_PA_ClientCanonicalized + copy_PA_ClientCanonicalized + encode_PA_ClientCanonicalizedNames + decode_PA_ClientCanonicalizedNames + free_PA_ClientCanonicalizedNames + length_PA_ClientCanonicalizedNames + copy_PA_ClientCanonicalizedNames + encode_PA_SvrReferralData + decode_PA_SvrReferralData + free_PA_SvrReferralData + length_PA_SvrReferralData + copy_PA_SvrReferralData + encode_PA_ServerReferralData + decode_PA_ServerReferralData + free_PA_ServerReferralData + length_PA_ServerReferralData + copy_PA_ServerReferralData + encode_PA_SERVER_REFERRAL_DATA + decode_PA_SERVER_REFERRAL_DATA + free_PA_SERVER_REFERRAL_DATA + length_PA_SERVER_REFERRAL_DATA + copy_PA_SERVER_REFERRAL_DATA + encode_PROV_SRV_LOCATION + decode_PROV_SRV_LOCATION + free_PROV_SRV_LOCATION + length_PROV_SRV_LOCATION + copy_PROV_SRV_LOCATION + encode_Principal + decode_Principal + free_Principal + length_Principal + copy_Principal + encode_PrincipalName + decode_PrincipalName + free_PrincipalName + length_PrincipalName + copy_PrincipalName + encode_Principals + decode_Principals + free_Principals + length_Principals + copy_Principals + add_Principals + remove_Principals + encode_Realm + decode_Realm + free_Realm + length_Realm + copy_Realm + encode_SAMFlags + decode_SAMFlags + free_SAMFlags + length_SAMFlags + copy_SAMFlags + SAMFlags2int + int2SAMFlags + asn1_SAMFlags_units + encode_TGS_REP + decode_TGS_REP + free_TGS_REP + length_TGS_REP + copy_TGS_REP + encode_TGS_REQ + decode_TGS_REQ + free_TGS_REQ + length_TGS_REQ + copy_TGS_REQ + encode_TYPED_DATA + decode_TYPED_DATA + free_TYPED_DATA + length_TYPED_DATA + copy_TYPED_DATA + encode_Ticket + decode_Ticket + free_Ticket + length_Ticket + copy_Ticket + encode_TicketFlags + decode_TicketFlags + free_TicketFlags + length_TicketFlags + copy_TicketFlags + TicketFlags2int + int2TicketFlags + asn1_TicketFlags_units + encode_TransitedEncoding + decode_TransitedEncoding + free_TransitedEncoding + length_TransitedEncoding + copy_TransitedEncoding + encode_TypedData + decode_TypedData + free_TypedData + length_TypedData + copy_TypedData + encode_krb5int32 + decode_krb5int32 + free_krb5int32 + length_krb5int32 + copy_krb5int32 + encode_krb5uint32 + decode_krb5uint32 + free_krb5uint32 + length_krb5uint32 + copy_krb5uint32 + encode_KRB5SignedPathData + decode_KRB5SignedPathData + free_KRB5SignedPathData + length_KRB5SignedPathData + copy_KRB5SignedPathData + encode_KRB5SignedPath + decode_KRB5SignedPath + free_KRB5SignedPath + length_KRB5SignedPath + copy_KRB5SignedPath + asn1_oid_id_pkinit + oid_id_pkinit + asn1_oid_id_pkauthdata + oid_id_pkauthdata + asn1_oid_id_pkdhkeydata + oid_id_pkdhkeydata + asn1_oid_id_pkrkeydata + oid_id_pkrkeydata + asn1_oid_id_pkekuoid + oid_id_pkekuoid + asn1_oid_id_pkkdcekuoid + oid_id_pkkdcekuoid + asn1_oid_id_pkinit_san + oid_id_pkinit_san + asn1_oid_id_pkinit_ms_eku + oid_id_pkinit_ms_eku + asn1_oid_id_pkinit_ms_san + oid_id_pkinit_ms_san + asn1_oid_id_pkinit_kdf + oid_id_pkinit_kdf + asn1_oid_id_pkinit_kdf_ah_sha1 + oid_id_pkinit_kdf_ah_sha1 + asn1_oid_id_pkinit_kdf_ah_sha256 + oid_id_pkinit_kdf_ah_sha256 + asn1_oid_id_pkinit_kdf_ah_sha512 + oid_id_pkinit_kdf_ah_sha512 + encode_MS_UPN_SAN + decode_MS_UPN_SAN + free_MS_UPN_SAN + length_MS_UPN_SAN + copy_MS_UPN_SAN + encode_DHNonce + decode_DHNonce + free_DHNonce + length_DHNonce + copy_DHNonce + encode_KDFAlgorithmId + decode_KDFAlgorithmId + free_KDFAlgorithmId + length_KDFAlgorithmId + copy_KDFAlgorithmId + encode_TrustedCA + decode_TrustedCA + free_TrustedCA + length_TrustedCA + copy_TrustedCA + encode_ExternalPrincipalIdentifier + decode_ExternalPrincipalIdentifier + free_ExternalPrincipalIdentifier + length_ExternalPrincipalIdentifier + copy_ExternalPrincipalIdentifier + encode_ExternalPrincipalIdentifiers + decode_ExternalPrincipalIdentifiers + free_ExternalPrincipalIdentifiers + length_ExternalPrincipalIdentifiers + copy_ExternalPrincipalIdentifiers + encode_PA_PK_AS_REQ + decode_PA_PK_AS_REQ + free_PA_PK_AS_REQ + length_PA_PK_AS_REQ + copy_PA_PK_AS_REQ + encode_PKAuthenticator + decode_PKAuthenticator + free_PKAuthenticator + length_PKAuthenticator + copy_PKAuthenticator + encode_AuthPack + decode_AuthPack + free_AuthPack + length_AuthPack + copy_AuthPack + encode_TD_TRUSTED_CERTIFIERS + decode_TD_TRUSTED_CERTIFIERS + free_TD_TRUSTED_CERTIFIERS + length_TD_TRUSTED_CERTIFIERS + copy_TD_TRUSTED_CERTIFIERS + encode_TD_INVALID_CERTIFICATES + decode_TD_INVALID_CERTIFICATES + free_TD_INVALID_CERTIFICATES + length_TD_INVALID_CERTIFICATES + copy_TD_INVALID_CERTIFICATES + encode_KRB5PrincipalName + decode_KRB5PrincipalName + free_KRB5PrincipalName + length_KRB5PrincipalName + copy_KRB5PrincipalName + encode_AD_INITIAL_VERIFIED_CAS + decode_AD_INITIAL_VERIFIED_CAS + free_AD_INITIAL_VERIFIED_CAS + length_AD_INITIAL_VERIFIED_CAS + copy_AD_INITIAL_VERIFIED_CAS + encode_DHRepInfo + decode_DHRepInfo + free_DHRepInfo + length_DHRepInfo + copy_DHRepInfo + encode_PA_PK_AS_REP + decode_PA_PK_AS_REP + free_PA_PK_AS_REP + length_PA_PK_AS_REP + copy_PA_PK_AS_REP + encode_KDCDHKeyInfo + decode_KDCDHKeyInfo + free_KDCDHKeyInfo + length_KDCDHKeyInfo + copy_KDCDHKeyInfo + encode_ReplyKeyPack + decode_ReplyKeyPack + free_ReplyKeyPack + length_ReplyKeyPack + copy_ReplyKeyPack + encode_TD_DH_PARAMETERS + decode_TD_DH_PARAMETERS + free_TD_DH_PARAMETERS + length_TD_DH_PARAMETERS + copy_TD_DH_PARAMETERS + encode_PKAuthenticator_Win2k + decode_PKAuthenticator_Win2k + free_PKAuthenticator_Win2k + length_PKAuthenticator_Win2k + copy_PKAuthenticator_Win2k + encode_AuthPack_Win2k + decode_AuthPack_Win2k + free_AuthPack_Win2k + length_AuthPack_Win2k + copy_AuthPack_Win2k + encode_TrustedCA_Win2k + decode_TrustedCA_Win2k + free_TrustedCA_Win2k + length_TrustedCA_Win2k + copy_TrustedCA_Win2k + encode_PA_PK_AS_REQ_Win2k + decode_PA_PK_AS_REQ_Win2k + free_PA_PK_AS_REQ_Win2k + length_PA_PK_AS_REQ_Win2k + copy_PA_PK_AS_REQ_Win2k + encode_PA_PK_AS_REP_Win2k + decode_PA_PK_AS_REP_Win2k + free_PA_PK_AS_REP_Win2k + length_PA_PK_AS_REP_Win2k + copy_PA_PK_AS_REP_Win2k + encode_PA_PK_AS_REP_BTMM + decode_PA_PK_AS_REP_BTMM + free_PA_PK_AS_REP_BTMM + length_PA_PK_AS_REP_BTMM + copy_PA_PK_AS_REP_BTMM + encode_KDCDHKeyInfo_Win2k + decode_KDCDHKeyInfo_Win2k + free_KDCDHKeyInfo_Win2k + length_KDCDHKeyInfo_Win2k + copy_KDCDHKeyInfo_Win2k + encode_ReplyKeyPack_Win2k + decode_ReplyKeyPack_Win2k + free_ReplyKeyPack_Win2k + length_ReplyKeyPack_Win2k + copy_ReplyKeyPack_Win2k + encode_PkinitSP80056AOtherInfo + decode_PkinitSP80056AOtherInfo + free_PkinitSP80056AOtherInfo + length_PkinitSP80056AOtherInfo + copy_PkinitSP80056AOtherInfo + encode_PkinitSuppPubInfo + decode_PkinitSuppPubInfo + free_PkinitSuppPubInfo + length_PkinitSuppPubInfo + copy_PkinitSuppPubInfo + encode_PKCS8PrivateKeyAlgorithmIdentifier + decode_PKCS8PrivateKeyAlgorithmIdentifier + free_PKCS8PrivateKeyAlgorithmIdentifier + length_PKCS8PrivateKeyAlgorithmIdentifier + copy_PKCS8PrivateKeyAlgorithmIdentifier + encode_PKCS8PrivateKey + decode_PKCS8PrivateKey + free_PKCS8PrivateKey + length_PKCS8PrivateKey + copy_PKCS8PrivateKey + encode_PKCS8PrivateKeyInfo + decode_PKCS8PrivateKeyInfo + free_PKCS8PrivateKeyInfo + length_PKCS8PrivateKeyInfo + copy_PKCS8PrivateKeyInfo + encode_PKCS8Attributes + decode_PKCS8Attributes + free_PKCS8Attributes + length_PKCS8Attributes + copy_PKCS8Attributes + encode_PKCS8EncryptedPrivateKeyInfo + decode_PKCS8EncryptedPrivateKeyInfo + free_PKCS8EncryptedPrivateKeyInfo + length_PKCS8EncryptedPrivateKeyInfo + copy_PKCS8EncryptedPrivateKeyInfo + encode_PKCS8EncryptedData + decode_PKCS8EncryptedData + free_PKCS8EncryptedData + length_PKCS8EncryptedData + copy_PKCS8EncryptedData + asn1_oid_id_pkcs_9 + oid_id_pkcs_9 + asn1_oid_id_pkcs9_contentType + oid_id_pkcs9_contentType + asn1_oid_id_pkcs9_emailAddress + oid_id_pkcs9_emailAddress + asn1_oid_id_pkcs9_messageDigest + oid_id_pkcs9_messageDigest + asn1_oid_id_pkcs9_signingTime + oid_id_pkcs9_signingTime + asn1_oid_id_pkcs9_countersignature + oid_id_pkcs9_countersignature + asn1_oid_id_pkcs_9_at_friendlyName + oid_id_pkcs_9_at_friendlyName + asn1_oid_id_pkcs_9_at_localKeyId + oid_id_pkcs_9_at_localKeyId + asn1_oid_id_pkcs_9_at_certTypes + oid_id_pkcs_9_at_certTypes + asn1_oid_id_pkcs_9_at_certTypes_x509 + oid_id_pkcs_9_at_certTypes_x509 + encode_PKCS9_BMPString + decode_PKCS9_BMPString + free_PKCS9_BMPString + length_PKCS9_BMPString + copy_PKCS9_BMPString + encode_PKCS9_friendlyName + decode_PKCS9_friendlyName + free_PKCS9_friendlyName + length_PKCS9_friendlyName + copy_PKCS9_friendlyName + asn1_oid_id_pkcs_12 + oid_id_pkcs_12 + asn1_oid_id_pkcs_12PbeIds + oid_id_pkcs_12PbeIds + asn1_oid_id_pbeWithSHAAnd128BitRC4 + oid_id_pbeWithSHAAnd128BitRC4 + asn1_oid_id_pbeWithSHAAnd40BitRC4 + oid_id_pbeWithSHAAnd40BitRC4 + asn1_oid_id_pbeWithSHAAnd3_KeyTripleDES_CBC + oid_id_pbeWithSHAAnd3_KeyTripleDES_CBC + asn1_oid_id_pbeWithSHAAnd2_KeyTripleDES_CBC + oid_id_pbeWithSHAAnd2_KeyTripleDES_CBC + asn1_oid_id_pbeWithSHAAnd128BitRC2_CBC + oid_id_pbeWithSHAAnd128BitRC2_CBC + asn1_oid_id_pbewithSHAAnd40BitRC2_CBC + oid_id_pbewithSHAAnd40BitRC2_CBC + asn1_oid_id_pkcs12_bagtypes + oid_id_pkcs12_bagtypes + asn1_oid_id_pkcs12_keyBag + oid_id_pkcs12_keyBag + asn1_oid_id_pkcs12_pkcs8ShroudedKeyBag + oid_id_pkcs12_pkcs8ShroudedKeyBag + asn1_oid_id_pkcs12_certBag + oid_id_pkcs12_certBag + asn1_oid_id_pkcs12_crlBag + oid_id_pkcs12_crlBag + asn1_oid_id_pkcs12_secretBag + oid_id_pkcs12_secretBag + asn1_oid_id_pkcs12_safeContentsBag + oid_id_pkcs12_safeContentsBag + encode_PKCS12_MacData + decode_PKCS12_MacData + free_PKCS12_MacData + length_PKCS12_MacData + copy_PKCS12_MacData + encode_PKCS12_PFX + decode_PKCS12_PFX + free_PKCS12_PFX + length_PKCS12_PFX + copy_PKCS12_PFX + encode_PKCS12_AuthenticatedSafe + decode_PKCS12_AuthenticatedSafe + free_PKCS12_AuthenticatedSafe + length_PKCS12_AuthenticatedSafe + copy_PKCS12_AuthenticatedSafe + encode_PKCS12_CertBag + decode_PKCS12_CertBag + free_PKCS12_CertBag + length_PKCS12_CertBag + copy_PKCS12_CertBag + encode_PKCS12_Attribute + decode_PKCS12_Attribute + free_PKCS12_Attribute + length_PKCS12_Attribute + copy_PKCS12_Attribute + encode_PKCS12_Attributes + decode_PKCS12_Attributes + free_PKCS12_Attributes + length_PKCS12_Attributes + copy_PKCS12_Attributes + encode_PKCS12_SafeBag + decode_PKCS12_SafeBag + free_PKCS12_SafeBag + length_PKCS12_SafeBag + copy_PKCS12_SafeBag + encode_PKCS12_SafeContents + decode_PKCS12_SafeContents + free_PKCS12_SafeContents + length_PKCS12_SafeContents + copy_PKCS12_SafeContents + encode_PKCS12_OctetString + decode_PKCS12_OctetString + free_PKCS12_OctetString + length_PKCS12_OctetString + copy_PKCS12_OctetString + encode_PKCS12_PBEParams + decode_PKCS12_PBEParams + free_PKCS12_PBEParams + length_PKCS12_PBEParams + copy_PKCS12_PBEParams + encode_DigestError + decode_DigestError + free_DigestError + length_DigestError + copy_DigestError + encode_DigestInit + decode_DigestInit + free_DigestInit + length_DigestInit + copy_DigestInit + encode_DigestInitReply + decode_DigestInitReply + free_DigestInitReply + length_DigestInitReply + copy_DigestInitReply + encode_DigestREP + decode_DigestREP + free_DigestREP + length_DigestREP + copy_DigestREP + encode_DigestREQ + decode_DigestREQ + free_DigestREQ + length_DigestREQ + copy_DigestREQ + encode_DigestRepInner + decode_DigestRepInner + free_DigestRepInner + length_DigestRepInner + copy_DigestRepInner + encode_DigestReqInner + decode_DigestReqInner + free_DigestReqInner + length_DigestReqInner + copy_DigestReqInner + encode_DigestRequest + decode_DigestRequest + free_DigestRequest + length_DigestRequest + copy_DigestRequest + encode_DigestResponse + decode_DigestResponse + free_DigestResponse + length_DigestResponse + copy_DigestResponse + encode_DigestTypes + decode_DigestTypes + free_DigestTypes + length_DigestTypes + copy_DigestTypes + DigestTypes2int + int2DigestTypes + asn1_DigestTypes_units + encode_NTLMInit + decode_NTLMInit + free_NTLMInit + length_NTLMInit + copy_NTLMInit + encode_NTLMInitReply + decode_NTLMInitReply + free_NTLMInitReply + length_NTLMInitReply + copy_NTLMInitReply + encode_NTLMRequest + decode_NTLMRequest + free_NTLMRequest + length_NTLMRequest + copy_NTLMRequest + encode_NTLMResponse + decode_NTLMResponse + free_NTLMResponse + length_NTLMResponse + copy_NTLMResponse + encode_Kx509Response + decode_Kx509Response + free_Kx509Response + length_Kx509Response + copy_Kx509Response + encode_Kx509Request + decode_Kx509Request + free_Kx509Request + length_Kx509Request + copy_Kx509Request + initialize_asn1_error_table_r + initialize_asn1_error_table From c4b95f7330a05434dea44f9ee5b67e4a858072f1 Mon Sep 17 00:00:00 2001 From: Asanka Herath Date: Wed, 25 Nov 2009 02:22:31 +0100 Subject: [PATCH 12/12] Make build on windows Signed-off-by: Love Hornquist Astrand --- lib/hcrypto/aes.h | 2 +- lib/hcrypto/bn.c | 1 + lib/hcrypto/evp.c | 1 + lib/hcrypto/evp.h | 18 +-- lib/hcrypto/hash.h | 1 + lib/hcrypto/libhcrypto-exports.def | 246 +++++++++++++++++++++++++++++ lib/hcrypto/rand-fortuna.c | 9 ++ lib/hcrypto/rijndael-alg-fst.c | 3 +- lib/hcrypto/rnd_keys.c | 4 +- lib/hcrypto/test_crypto.in | 6 +- lib/hcrypto/test_rand.c | 4 + lib/hcrypto/ui.c | 50 ++++++ 12 files changed, 329 insertions(+), 16 deletions(-) create mode 100644 lib/hcrypto/libhcrypto-exports.def diff --git a/lib/hcrypto/aes.h b/lib/hcrypto/aes.h index 23f8f5d0a..273f1dd56 100644 --- a/lib/hcrypto/aes.h +++ b/lib/hcrypto/aes.h @@ -69,7 +69,7 @@ void AES_encrypt(const unsigned char *, unsigned char *, const AES_KEY *); void AES_decrypt(const unsigned char *, unsigned char *, const AES_KEY *); void AES_cbc_encrypt(const unsigned char *, unsigned char *, - const unsigned long, const AES_KEY *, + unsigned long, const AES_KEY *, unsigned char *, int); #ifdef __cplusplus diff --git a/lib/hcrypto/bn.c b/lib/hcrypto/bn.c index 545d9529d..17c1ec79b 100644 --- a/lib/hcrypto/bn.c +++ b/lib/hcrypto/bn.c @@ -40,6 +40,7 @@ #include #include +#include #include /* XXX */ #include diff --git a/lib/hcrypto/evp.c b/lib/hcrypto/evp.c index 006db3593..72787e185 100644 --- a/lib/hcrypto/evp.c +++ b/lib/hcrypto/evp.c @@ -49,6 +49,7 @@ #include #include +#include #ifndef HCRYPTO_DEF_PROVIDER #define HCRYPTO_DEF_PROVIDER hcrypto diff --git a/lib/hcrypto/evp.h b/lib/hcrypto/evp.h index 600f69b7a..ae92ab489 100644 --- a/lib/hcrypto/evp.h +++ b/lib/hcrypto/evp.h @@ -214,24 +214,24 @@ HC_CPP_BEGIN */ const EVP_MD *EVP_md_null(void); -const EVP_MD *EVP_md2(void) HC_DEPRECATED_CRYPTO; -const EVP_MD *EVP_md4(void) HC_DEPRECATED_CRYPTO; -const EVP_MD *EVP_md5(void) HC_DEPRECATED_CRYPTO; -const EVP_MD *EVP_sha(void) HC_DEPRECATED; +HC_DEPRECATED_CRYPTO const EVP_MD *EVP_md2(void); +HC_DEPRECATED_CRYPTO const EVP_MD *EVP_md4(void); +HC_DEPRECATED_CRYPTO const EVP_MD *EVP_md5(void); +const EVP_MD *EVP_sha(void); const EVP_MD *EVP_sha1(void); const EVP_MD *EVP_sha256(void); const EVP_CIPHER * EVP_aes_128_cbc(void); const EVP_CIPHER * EVP_aes_192_cbc(void); const EVP_CIPHER * EVP_aes_256_cbc(void); -const EVP_CIPHER * EVP_des_cbc(void) HC_DEPRECATED_CRYPTO; +HC_DEPRECATED_CRYPTO const EVP_CIPHER * EVP_des_cbc(void); const EVP_CIPHER * EVP_des_ede3_cbc(void); const EVP_CIPHER * EVP_enc_null(void); -const EVP_CIPHER * EVP_rc2_40_cbc(void) HC_DEPRECATED_CRYPTO; -const EVP_CIPHER * EVP_rc2_64_cbc(void) HC_DEPRECATED_CRYPTO; -const EVP_CIPHER * EVP_rc2_cbc(void) HC_DEPRECATED_CRYPTO; +HC_DEPRECATED_CRYPTO const EVP_CIPHER * EVP_rc2_40_cbc(void); +HC_DEPRECATED_CRYPTO const EVP_CIPHER * EVP_rc2_64_cbc(void); +HC_DEPRECATED_CRYPTO const EVP_CIPHER * EVP_rc2_cbc(void); const EVP_CIPHER * EVP_rc4(void); -const EVP_CIPHER * EVP_rc4_40(void) HC_DEPRECATED_CRYPTO; +HC_DEPRECATED_CRYPTO const EVP_CIPHER * EVP_rc4_40(void); const EVP_CIPHER * EVP_camellia_128_cbc(void); const EVP_CIPHER * EVP_camellia_192_cbc(void); const EVP_CIPHER * EVP_camellia_256_cbc(void); diff --git a/lib/hcrypto/hash.h b/lib/hcrypto/hash.h index b8d5d4560..78a795f2a 100644 --- a/lib/hcrypto/hash.h +++ b/lib/hcrypto/hash.h @@ -43,6 +43,7 @@ #ifdef KRB5 #include #endif +#include #ifndef min #define min(a,b) (((a)>(b))?(b):(a)) diff --git a/lib/hcrypto/libhcrypto-exports.def b/lib/hcrypto/libhcrypto-exports.def new file mode 100644 index 000000000..1e32eace1 --- /dev/null +++ b/lib/hcrypto/libhcrypto-exports.def @@ -0,0 +1,246 @@ +EXPORTS + hc_AES_cbc_encrypt + hc_AES_decrypt + hc_AES_decrypt_key + hc_BN_CTX_end + hc_BN_CTX_free + hc_BN_CTX_get + hc_BN_CTX_new + hc_BN_CTX_start + hc_AES_encrypt + hc_AES_set_encrypt_key + hc_BN_GENCB_call + hc_BN_GENCB_set + hc_BN_bin2bn + hc_BN_bn2bin + hc_BN_bn2hex + hc_BN_clear + hc_BN_clear_bit + hc_BN_clear_free + hc_BN_cmp + hc_BN_dup + hc_BN_free + hc_BN_get_word + hc_BN_hex2bn + hc_BN_is_bit_set + hc_BN_is_negative + hc_BN_new + hc_BN_num_bits + hc_BN_num_bytes + hc_BN_rand + hc_BN_set_bit + hc_BN_set_negative + hc_BN_set_word + hc_BN_uadd + hc_DES_cbc_cksum + hc_DES_cbc_encrypt + hc_DES_cfb64_encrypt + hc_DES_check_key_parity + hc_DES_ecb3_encrypt + hc_DES_ecb_encrypt + hc_DES_ede3_cbc_encrypt + hc_DES_encrypt + hc_DES_generate_random_block + hc_DES_init_random_number_generator + hc_DES_is_weak_key + hc_DES_key_sched +; hc_DES_mem_rand8 + hc_DES_new_random_key + hc_DES_pcbc_encrypt + hc_DES_rand_data + hc_DES_rand_data_key + hc_DES_random_key + hc_DES_read_password + hc_DES_set_key + hc_DES_set_key_checked + hc_DES_set_key_unchecked + hc_DES_set_odd_parity + hc_DES_set_random_generator_seed + hc_DES_set_sequence_number + hc_DES_string_to_key + hc_DH_check_pubkey + hc_DH_compute_key + hc_DH_free + hc_DH_generate_key + hc_DH_generate_parameters_ex + hc_DH_get_default_method + hc_DH_get_ex_data + hc_DH_imath_method +; hc_DH_gmp_method + hc_DH_new + hc_DH_new_method + hc_DH_null_method + hc_DH_set_default_method + hc_DH_set_ex_data + hc_DH_set_method + hc_DH_size + hc_DH_up_ref + hc_DSA_free + hc_DSA_get_default_method + hc_DSA_new + hc_DSA_null_method + hc_DSA_set_default_method + hc_DSA_up_ref + hc_DSA_verify + hc_ENGINE_add_conf_module + hc_ENGINE_by_dso + hc_ENGINE_by_id + hc_ENGINE_finish + hc_ENGINE_get_DH + hc_ENGINE_get_RAND + hc_ENGINE_get_RSA + hc_ENGINE_get_default_DH + hc_ENGINE_get_default_RSA + hc_ENGINE_get_id + hc_ENGINE_get_name + hc_ENGINE_load_builtin_engines + hc_ENGINE_set_DH + hc_ENGINE_set_RSA + hc_ENGINE_set_default_DH + hc_ENGINE_set_default_RSA + hc_ENGINE_set_destroy_function + hc_ENGINE_set_id + hc_ENGINE_set_name + hc_ENGINE_up_ref + hc_EVP_BytesToKey + hc_EVP_CIPHER_CTX_block_size + hc_EVP_CIPHER_CTX_cipher + hc_EVP_CIPHER_CTX_cleanup + hc_EVP_CIPHER_CTX_flags + hc_EVP_CIPHER_CTX_get_app_data + hc_EVP_CIPHER_CTX_init + hc_EVP_CIPHER_CTX_iv_length + hc_EVP_CIPHER_CTX_key_length + hc_EVP_CIPHER_CTX_mode + hc_EVP_CIPHER_CTX_set_app_data + hc_EVP_CIPHER_block_size + hc_EVP_CIPHER_iv_length + hc_EVP_CIPHER_key_length + hc_EVP_Cipher + hc_EVP_CipherInit_ex + hc_EVP_Digest + hc_EVP_DigestFinal_ex + hc_EVP_DigestInit_ex + hc_EVP_DigestUpdate + hc_EVP_MD_CTX_block_size + hc_EVP_MD_CTX_cleanup + hc_EVP_MD_CTX_cleanup + hc_EVP_MD_CTX_create + hc_EVP_MD_CTX_create + hc_EVP_MD_CTX_destroy + hc_EVP_MD_CTX_destroy + hc_EVP_MD_CTX_init + hc_EVP_MD_CTX_init + hc_EVP_MD_CTX_md + hc_EVP_MD_CTX_size + hc_EVP_MD_block_size + hc_EVP_MD_size + hc_EVP_aes_128_cbc + hc_EVP_aes_192_cbc + hc_EVP_aes_256_cbc + hc_EVP_hcrypto_aes_128_cbc + hc_EVP_hcrypto_aes_192_cbc + hc_EVP_hcrypto_aes_256_cbc + hc_EVP_hcrypto_aes_128_cts + hc_EVP_hcrypto_aes_256_cts +; hc_EVP_hcrypto_aes_cts_128_cbc +; hc_EVP_hcrypto_aes_cts_192_cbc +; hc_EVP_hcrypto_aes_cts_256_cbc + hc_EVP_des_cbc + hc_EVP_des_ede3_cbc + hc_EVP_camellia_128_cbc + hc_EVP_camellia_192_cbc + hc_EVP_camellia_256_cbc + hc_EVP_enc_null + hc_EVP_get_cipherbyname + hc_EVP_md2 + hc_EVP_md4 + hc_EVP_md5 + hc_EVP_md_null + hc_EVP_rc2_40_cbc + hc_EVP_rc2_64_cbc + hc_EVP_rc2_cbc + hc_EVP_rc4 + hc_EVP_rc4_40 + hc_EVP_sha + hc_EVP_sha1 + hc_EVP_sha256 + hc_HMAC + hc_HMAC_CTX_cleanup + hc_HMAC_CTX_init + hc_HMAC_Final + hc_HMAC_Init_ex + hc_HMAC_Update + hc_HMAC_size + hc_MD2_Final + hc_MD2_Init + hc_MD2_Update + hc_MD4_Final + hc_MD4_Init + hc_MD4_Update + hc_MD5_Final + hc_MD5_Init + hc_MD5_Update + hc_OpenSSL_add_all_algorithms + hc_OpenSSL_add_all_algorithms_conf + hc_OpenSSL_add_all_algorithms_noconf + hc_PKCS12_key_gen + hc_PKCS5_PBKDF2_HMAC_SHA1 + hc_RAND_add + hc_RAND_bytes + hc_RAND_cleanup +; hc_RAND_egd +; hc_RAND_egd_bytes +; hc_RAND_egd_method + hc_RAND_file_name + hc_RAND_fortuna_method + hc_RAND_get_rand_method + hc_RAND_load_file + hc_RAND_pseudo_bytes + hc_RAND_seed + hc_RAND_set_rand_engine + hc_RAND_set_rand_method + hc_RAND_status +; hc_RAND_unix_method +; hc_RAND_timer_method + hc_RAND_write_file + hc_RC2_cbc_encrypt + hc_RC2_decryptc + hc_RC2_encryptc + hc_RC2_set_key + hc_RC4 + hc_RC4_set_key + hc_RSA_check_key + hc_RSA_free + hc_RSA_generate_key_ex + hc_RSA_get_app_data + hc_RSA_get_default_method + hc_RSA_get_method + hc_RSA_imath_method + hc_RSA_new + hc_RSA_new_method + hc_RSA_null_method + hc_RSA_private_decrypt + hc_RSA_private_encrypt + hc_RSA_public_decrypt + hc_RSA_public_encrypt + hc_RSA_set_app_data + hc_RSA_set_default_method + hc_RSA_set_method + hc_RSA_sign + hc_RSA_size + hc_RSA_up_ref + hc_RSA_verify + hc_SHA1_Final + hc_SHA1_Init + hc_SHA1_Update + hc_SHA256_Final + hc_SHA256_Init + hc_SHA256_Update + hc_UI_UTIL_read_pw_string + hc_UI_UTIL_read_pw_string + hc_d2i_RSAPrivateKey + hc_i2d_RSAPrivateKey + hc_i2d_RSAPublicKey + hc_EVP_CIPHER_CTX_ctrl + hc_EVP_CIPHER_CTX_rand_key diff --git a/lib/hcrypto/rand-fortuna.c b/lib/hcrypto/rand-fortuna.c index c39c71390..c81eb9e2d 100644 --- a/lib/hcrypto/rand-fortuna.c +++ b/lib/hcrypto/rand-fortuna.c @@ -35,6 +35,9 @@ #include #include +#ifdef KRB5 +#include +#endif #include #include "randi.h" @@ -451,6 +454,7 @@ fortuna_reseed(void) if (!init_done) abort(); +#ifndef NO_RAND_UNIX_METHOD { unsigned char buf[INIT_BYTES]; if ((*hc_rand_unix_method.bytes)(buf, sizeof(buf)) == 1) { @@ -459,6 +463,7 @@ fortuna_reseed(void) memset(buf, 0, sizeof(buf)); } } +#endif #ifdef HAVE_ARC4RANDOM { uint32_t buf[INIT_BYTES / sizeof(uint32_t)]; @@ -470,6 +475,7 @@ fortuna_reseed(void) entropy_p = 1; } #endif +#ifndef NO_RAND_EGD_METHOD /* * Only to get egd entropy if /dev/random or arc4rand failed since * it can be horribly slow to generate new bits. @@ -482,6 +488,7 @@ fortuna_reseed(void) memset(buf, 0, sizeof(buf)); } } +#endif /* * Fall back to gattering data from timer and secret files, this * is really the last resort. @@ -521,10 +528,12 @@ fortuna_reseed(void) gettimeofday(&tv, NULL); add_entropy(&main_state, (void *)&tv, sizeof(tv)); } +#ifdef HAVE_GETUID { uid_t u = getuid(); add_entropy(&main_state, (void *)&u, sizeof(u)); } +#endif return entropy_p; } diff --git a/lib/hcrypto/rijndael-alg-fst.c b/lib/hcrypto/rijndael-alg-fst.c index 3dd255581..9a7f0fd3d 100644 --- a/lib/hcrypto/rijndael-alg-fst.c +++ b/lib/hcrypto/rijndael-alg-fst.c @@ -31,11 +31,12 @@ #include "config.h" +#include #ifdef KRB5 #include #endif -#include +#include "rijndael-alg-fst.h" /* the file should not be used from outside */ typedef uint8_t u8; diff --git a/lib/hcrypto/rnd_keys.c b/lib/hcrypto/rnd_keys.c index 9baf00212..49c7634c3 100644 --- a/lib/hcrypto/rnd_keys.c +++ b/lib/hcrypto/rnd_keys.c @@ -39,11 +39,11 @@ #ifdef KRB5 #include #endif +#include + #include #include -#include - #undef __attribute__ #define __attribute__(X) diff --git a/lib/hcrypto/test_crypto.in b/lib/hcrypto/test_crypto.in index 131308ce8..5dac31d56 100644 --- a/lib/hcrypto/test_crypto.in +++ b/lib/hcrypto/test_crypto.in @@ -36,9 +36,9 @@ srcdir="@srcdir@" -rsa="${TESTS_ENVIRONMENT} ./test_rsa" -engine="${TESTS_ENVIRONMENT} ./test_engine_dso" -rand="${TESTS_ENVIRONMENT} ./test_rand" +rsa="${TESTS_ENVIRONMENT} ./test_rsa@exeext@" +engine="${TESTS_ENVIRONMENT} ./test_engine_dso@exeext@" +rand="${TESTS_ENVIRONMENT} ./test_rand@exeext@" ${engine} --test-random > /dev/null || { echo "missing random"; exit 77; } diff --git a/lib/hcrypto/test_rand.c b/lib/hcrypto/test_rand.c index 5a73e6428..2b348c7f3 100644 --- a/lib/hcrypto/test_rand.c +++ b/lib/hcrypto/test_rand.c @@ -113,10 +113,14 @@ main(int argc, char **argv) if (rand_method) { if (strcasecmp(rand_method, "fortuna") == 0) RAND_set_rand_method(RAND_fortuna_method()); +#ifndef NO_RAND_UNIX_METHOD else if (strcasecmp(rand_method, "unix") == 0) RAND_set_rand_method(RAND_unix_method()); +#endif +#ifndef NO_RAND_EGD_METHOD else if (strcasecmp(rand_method, "egd") == 0) RAND_set_rand_method(RAND_egd_method()); +#endif else errx(1, "unknown method %s", rand_method); } diff --git a/lib/hcrypto/ui.c b/lib/hcrypto/ui.c index ca8c8442b..de7d0fc9a 100644 --- a/lib/hcrypto/ui.c +++ b/lib/hcrypto/ui.c @@ -37,10 +37,15 @@ #include #include #include +#ifdef HAVE_TERMIOS_H #include +#endif #include #include +#ifdef HAVE_CONIO_H +#include +#endif static sig_atomic_t intr_flag; @@ -50,6 +55,8 @@ intr(int sig) intr_flag++; } +#ifndef HAVE_CONIO_H + #ifndef NSIG #define NSIG 47 #endif @@ -135,6 +142,49 @@ read_string(const char *preprompt, const char *prompt, return 0; } +#else /* CONIO_H */ + +static int +read_string(const char *preprompt, const char *prompt, + char *buf, size_t len, int echo) +{ + int of = 0; + int c; + char *p; + void (*oldsigintr)(int); + + _cprintf("%s%s", preprompt, prompt); + + oldsigintr = signal(SIGINT, intr); + + p = buf; + while(intr_flag == 0){ + c = ((echo)? _getche(): _getch()); + if(c == '\n') + break; + if(of == 0) + *p++ = c; + of = (p == buf + len); + } + if(of) + p--; + *p = 0; + + if(echo == 0){ + printf("\n"); + } + + signal(SIGINT, oldsigintr); + + if(intr_flag) + return -2; + if(of) + return -1; + return 0; +} + +#endif + int UI_UTIL_read_pw_string(char *buf, int length, const char *prompt, int verify) {