summaryrefslogtreecommitdiff
path: root/src/lib
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/libcrypto/Symbols.namespace7
-rw-r--r--src/lib/libcrypto/bf/blowfish.c9
-rw-r--r--src/lib/libcrypto/hidden/openssl/blowfish.h36
3 files changed, 51 insertions, 1 deletions
diff --git a/src/lib/libcrypto/Symbols.namespace b/src/lib/libcrypto/Symbols.namespace
index 336989e983..511cd626ba 100644
--- a/src/lib/libcrypto/Symbols.namespace
+++ b/src/lib/libcrypto/Symbols.namespace
@@ -2584,3 +2584,10 @@ _libre_DES_string_to_key
2584_libre_DES_string_to_2keys 2584_libre_DES_string_to_2keys
2585_libre_DES_cfb64_encrypt 2585_libre_DES_cfb64_encrypt
2586_libre_DES_ofb64_encrypt 2586_libre_DES_ofb64_encrypt
2587_libre_BF_set_key
2588_libre_BF_encrypt
2589_libre_BF_decrypt
2590_libre_BF_ecb_encrypt
2591_libre_BF_cbc_encrypt
2592_libre_BF_cfb64_encrypt
2593_libre_BF_ofb64_encrypt
diff --git a/src/lib/libcrypto/bf/blowfish.c b/src/lib/libcrypto/bf/blowfish.c
index fa6d66fcea..330d7a8e07 100644
--- a/src/lib/libcrypto/bf/blowfish.c
+++ b/src/lib/libcrypto/bf/blowfish.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: blowfish.c,v 1.2 2024/03/27 11:54:29 jsing Exp $ */ 1/* $OpenBSD: blowfish.c,v 1.3 2024/03/29 02:37:20 joshua Exp $ */
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
@@ -380,6 +380,7 @@ BF_encrypt(BF_LONG *data, const BF_KEY *key)
380 data[1] = l&0xffffffffL; 380 data[1] = l&0xffffffffL;
381 data[0] = r&0xffffffffL; 381 data[0] = r&0xffffffffL;
382} 382}
383LCRYPTO_ALIAS(BF_encrypt);
383 384
384#ifndef BF_DEFAULT_OPTIONS 385#ifndef BF_DEFAULT_OPTIONS
385 386
@@ -422,6 +423,7 @@ BF_decrypt(BF_LONG *data, const BF_KEY *key)
422 data[1] = l&0xffffffffL; 423 data[1] = l&0xffffffffL;
423 data[0] = r&0xffffffffL; 424 data[0] = r&0xffffffffL;
424} 425}
426LCRYPTO_ALIAS(BF_decrypt);
425 427
426void 428void
427BF_cbc_encrypt(const unsigned char *in, unsigned char *out, long length, 429BF_cbc_encrypt(const unsigned char *in, unsigned char *out, long length,
@@ -498,6 +500,7 @@ BF_cbc_encrypt(const unsigned char *in, unsigned char *out, long length,
498 tin0 = tin1 = tout0 = tout1 = xor0 = xor1 = 0; 500 tin0 = tin1 = tout0 = tout1 = xor0 = xor1 = 0;
499 tin[0] = tin[1] = 0; 501 tin[0] = tin[1] = 0;
500} 502}
503LCRYPTO_ALIAS(BF_cbc_encrypt);
501 504
502/* 505/*
503 * The input and output encrypted as though 64bit cfb mode is being 506 * The input and output encrypted as though 64bit cfb mode is being
@@ -561,6 +564,7 @@ BF_cfb64_encrypt(const unsigned char *in, unsigned char *out, long length,
561 v0 = v1 = ti[0] = ti[1] = t=c = cc = 0; 564 v0 = v1 = ti[0] = ti[1] = t=c = cc = 0;
562 *num = n; 565 *num = n;
563} 566}
567LCRYPTO_ALIAS(BF_cfb64_encrypt);
564 568
565void 569void
566BF_ecb_encrypt(const unsigned char *in, unsigned char *out, 570BF_ecb_encrypt(const unsigned char *in, unsigned char *out,
@@ -582,6 +586,7 @@ BF_ecb_encrypt(const unsigned char *in, unsigned char *out,
582 l2n(l, out); 586 l2n(l, out);
583 l = d[0] = d[1] = 0; 587 l = d[0] = d[1] = 0;
584} 588}
589LCRYPTO_ALIAS(BF_ecb_encrypt);
585 590
586/* 591/*
587 * The input and output encrypted as though 64bit ofb mode is being 592 * The input and output encrypted as though 64bit ofb mode is being
@@ -632,6 +637,7 @@ BF_ofb64_encrypt(const unsigned char *in, unsigned char *out, long length,
632 t = v0 = v1 = ti[0] = ti[1] = 0; 637 t = v0 = v1 = ti[0] = ti[1] = 0;
633 *num = n; 638 *num = n;
634} 639}
640LCRYPTO_ALIAS(BF_ofb64_encrypt);
635 641
636void 642void
637BF_set_key(BF_KEY *key, int len, const unsigned char *data) 643BF_set_key(BF_KEY *key, int len, const unsigned char *data)
@@ -686,4 +692,5 @@ BF_set_key(BF_KEY *key, int len, const unsigned char *data)
686 p[i + 1] = in[1]; 692 p[i + 1] = in[1];
687 } 693 }
688} 694}
695LCRYPTO_ALIAS(BF_set_key);
689#endif 696#endif
diff --git a/src/lib/libcrypto/hidden/openssl/blowfish.h b/src/lib/libcrypto/hidden/openssl/blowfish.h
new file mode 100644
index 0000000000..e9a0d98fe8
--- /dev/null
+++ b/src/lib/libcrypto/hidden/openssl/blowfish.h
@@ -0,0 +1,36 @@
1/* $OpenBSD: blowfish.h,v 1.1 2024/03/29 02:37:20 joshua Exp $ */
2/*
3 * Copyright (c) 2024 Joshua Sing <joshua@joshuasing.dev>
4 *
5 * Permission to use, copy, modify, and distribute this software for any
6 * purpose with or without fee is hereby granted, provided that the above
7 * copyright notice and this permission notice appear in all copies.
8 *
9 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
15 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16 */
17
18#ifndef _LIBCRYPTO_BLOWFISH_H
19#define _LIBCRYPTO_BLOWFISH_H
20
21#ifndef _MSC_VER
22#include_next <openssl/blowfish.h>
23#else
24#include "../include/openssl/blowfish.h"
25#endif
26#include "crypto_namespace.h"
27
28LCRYPTO_USED(BF_set_key);
29LCRYPTO_USED(BF_encrypt);
30LCRYPTO_USED(BF_decrypt);
31LCRYPTO_USED(BF_ecb_encrypt);
32LCRYPTO_USED(BF_cbc_encrypt);
33LCRYPTO_USED(BF_cfb64_encrypt);
34LCRYPTO_USED(BF_ofb64_encrypt);
35
36#endif /* _LIBCRYPTO_BLOWFISH_H */