aboutsummaryrefslogtreecommitdiff
path: root/libssh/gcrypt_missing.c
diff options
context:
space:
mode:
Diffstat (limited to 'libssh/gcrypt_missing.c')
-rw-r--r--libssh/gcrypt_missing.c99
1 files changed, 0 insertions, 99 deletions
diff --git a/libssh/gcrypt_missing.c b/libssh/gcrypt_missing.c
deleted file mode 100644
index 7a456a6a..00000000
--- a/libssh/gcrypt_missing.c
+++ /dev/null
@@ -1,99 +0,0 @@
-/*
- * gcrypt_missing.c - routines that are in OpenSSL but not in libgcrypt.
- *
- * This file is part of the SSH Library
- *
- * Copyright (c) 2003-2006 by Aris Adamantiadis
- *
- * The SSH Library is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or (at your
- * option) any later version.
- *
- * The SSH Library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
- * License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with the SSH Library; see the file COPYING. If not, write to
- * the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
- * MA 02111-1307, USA.
- */
-
-#include <stdlib.h>
-#include "libssh/priv.h"
-
-#ifdef HAVE_LIBGCRYPT
-int my_gcry_dec2bn(bignum *bn, const char *data) {
- int count;
-
- *bn = bignum_new();
- if (*bn == NULL) {
- return 0;
- }
- gcry_mpi_set_ui(*bn, 0);
- for (count = 0; data[count]; count++) {
- gcry_mpi_mul_ui(*bn, *bn, 10);
- gcry_mpi_add_ui(*bn, *bn, data[count] - '0');
- }
-
- return count;
-}
-
-char *my_gcry_bn2dec(bignum bn) {
- bignum bndup, num, ten;
- char *ret;
- int count, count2;
- int size, rsize;
- char decnum;
-
- size = gcry_mpi_get_nbits(bn) * 3;
- rsize = size / 10 + size / 1000 + 2;
-
- ret = malloc(rsize + 1);
- if (ret == NULL) {
- return NULL;
- }
-
- if (!gcry_mpi_cmp_ui(bn, 0)) {
- strcpy(ret, "0");
- } else {
- ten = bignum_new();
- if (ten == NULL) {
- SAFE_FREE(ret);
- return NULL;
- }
-
- num = bignum_new();
- if (num == NULL) {
- SAFE_FREE(ret);
- bignum_free(ten);
- return NULL;
- }
-
- for (bndup = gcry_mpi_copy(bn), bignum_set_word(ten, 10), count = rsize;
- count; count--) {
- gcry_mpi_div(bndup, num, bndup, ten, 0);
- for (decnum = 0, count2 = gcry_mpi_get_nbits(num); count2;
- decnum *= 2, decnum += (gcry_mpi_test_bit(num, count2 - 1) ? 1 : 0),
- count2--)
- ;
- ret[count - 1] = decnum + '0';
- }
- for (count = 0; count < rsize && ret[count] == '0'; count++)
- ;
- for (count2 = 0; count2 < rsize - count; ++count2) {
- ret[count2] = ret[count2 + count];
- }
- ret[count2] = 0;
- bignum_free(num);
- bignum_free(bndup);
- bignum_free(ten);
- }
-
- return ret;
-}
-
-#endif
-/* vim: set ts=2 sw=2 et cindent: */