Bring in a compat file needed for latest OpenSSH import.
authorPeter Avalos <pavalos@dragonflybsd.org>
Tue, 20 Sep 2011 23:39:31 +0000 (16:39 -0700)
committerPeter Avalos <pavalos@dragonflybsd.org>
Tue, 20 Sep 2011 23:40:25 +0000 (16:40 -0700)
crypto/openssh/README.DELETED
crypto/openssh/openbsd-compat/openssl-compat.c [new file with mode: 0644]
crypto/openssh/openbsd-compat/sha2.h [changed mode: 0755->0644]

index 9ede1a9..eb51829 100644 (file)
@@ -49,7 +49,6 @@ openbsd-compat/inet_aton.c
 openbsd-compat/inet_ntoa.c
 openbsd-compat/inet_ntop.c
 openbsd-compat/mktemp.c
-openbsd-compat/openssl-compat.c
 openbsd-compat/port-aix.c
 openbsd-compat/port-irix.c
 openbsd-compat/port-linux.c
diff --git a/crypto/openssh/openbsd-compat/openssl-compat.c b/crypto/openssh/openbsd-compat/openssl-compat.c
new file mode 100644 (file)
index 0000000..5189cab
--- /dev/null
@@ -0,0 +1,146 @@
+/* $Id: openssl-compat.c,v 1.14 2011/05/10 01:13:38 dtucker Exp $ */
+
+/*
+ * Copyright (c) 2005 Darren Tucker <dtucker@zip.com.au>
+ *
+ * Permission to use, copy, modify, and distribute this software for any
+ * purpose with or without fee is hereby granted, provided that the above
+ * copyright notice and this permission notice appear in all copies.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ * WHATSOEVER RESULTING FROM LOSS OF MIND, USE, DATA OR PROFITS, WHETHER
+ * IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
+ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ */
+
+#include "includes.h"
+
+#include <stdarg.h>
+#include <string.h>
+
+#ifdef USE_OPENSSL_ENGINE
+# include <openssl/engine.h>
+# include <openssl/conf.h>
+#endif
+
+#ifndef HAVE_RSA_GET_DEFAULT_METHOD
+# include <openssl/rsa.h>
+#endif
+
+#include "log.h"
+
+#define SSH_DONT_OVERLOAD_OPENSSL_FUNCS
+#include "openssl-compat.h"
+
+#ifdef SSH_OLD_EVP
+int
+ssh_EVP_CipherInit(EVP_CIPHER_CTX *evp, const EVP_CIPHER *type,
+    unsigned char *key, unsigned char *iv, int enc)
+{
+       EVP_CipherInit(evp, type, key, iv, enc);
+       return 1;
+}
+
+int
+ssh_EVP_Cipher(EVP_CIPHER_CTX *evp, char *dst, char *src, int len)
+{
+       EVP_Cipher(evp, dst, src, len);
+       return 1;
+}
+
+int
+ssh_EVP_CIPHER_CTX_cleanup(EVP_CIPHER_CTX *evp)
+{
+       EVP_CIPHER_CTX_cleanup(evp);
+       return 1;
+}
+#endif
+
+#ifdef OPENSSL_EVP_DIGESTUPDATE_VOID
+int
+ssh_EVP_DigestUpdate(EVP_MD_CTX *ctx, const void *d, unsigned int cnt)
+{
+       EVP_DigestUpdate(ctx, d, cnt);
+       return 1;
+}
+#endif
+
+#ifndef HAVE_BN_IS_PRIME_EX
+int
+BN_is_prime_ex(const BIGNUM *p, int nchecks, BN_CTX *ctx, void *cb)
+{
+       if (cb != NULL)
+               fatal("%s: callback args not supported", __func__);
+       return BN_is_prime(p, nchecks, NULL, ctx, NULL);
+}
+#endif
+
+#ifndef HAVE_RSA_GENERATE_KEY_EX
+int
+RSA_generate_key_ex(RSA *rsa, int bits, BIGNUM *bn_e, void *cb)
+{
+       RSA *new_rsa, tmp_rsa;
+       unsigned long e;
+
+       if (cb != NULL)
+               fatal("%s: callback args not supported", __func__);
+       e = BN_get_word(bn_e);
+       if (e == 0xffffffffL)
+               fatal("%s: value of e too large", __func__);
+       new_rsa = RSA_generate_key(bits, e, NULL, NULL);
+       if (new_rsa == NULL)
+               return 0;
+       /* swap rsa/new_rsa then free new_rsa */
+       tmp_rsa = *rsa;
+       *rsa = *new_rsa;
+       *new_rsa = tmp_rsa;
+       RSA_free(new_rsa);
+       return 1;
+}
+#endif
+
+#ifndef HAVE_DSA_GENERATE_PARAMETERS_EX
+int
+DSA_generate_parameters_ex(DSA *dsa, int bits, const unsigned char *seed,
+    int seed_len, int *counter_ret, unsigned long *h_ret, void *cb)
+{
+       DSA *new_dsa, tmp_dsa;
+
+       if (cb != NULL)
+               fatal("%s: callback args not supported", __func__);
+       new_dsa = DSA_generate_parameters(bits, (unsigned char *)seed, seed_len,
+           counter_ret, h_ret, NULL, NULL);
+       if (new_dsa == NULL)
+               return 0;
+       /* swap dsa/new_dsa then free new_dsa */
+       tmp_dsa = *dsa;
+       *dsa = *new_dsa;
+       *new_dsa = tmp_dsa;
+       DSA_free(new_dsa);
+       return 1;
+}
+#endif
+
+#ifndef HAVE_RSA_GET_DEFAULT_METHOD
+RSA_METHOD *
+RSA_get_default_method(void)
+{
+       return RSA_PKCS1_SSLeay();
+}
+#endif
+
+#ifdef USE_OPENSSL_ENGINE
+void
+ssh_OpenSSL_add_all_algorithms(void)
+{
+       OpenSSL_add_all_algorithms();
+
+       /* Enable use of crypto hardware */
+       ENGINE_load_builtin_engines();
+       ENGINE_register_all_complete();
+       OPENSSL_config(NULL);
+}
+#endif
old mode 100755 (executable)
new mode 100644 (file)