Prepare to provide EVP_CIPHER_CTX_{get,set}_cipher_data
authortb <tb@openbsd.org>
Fri, 24 Dec 2021 12:55:04 +0000 (12:55 +0000)
committertb <tb@openbsd.org>
Fri, 24 Dec 2021 12:55:04 +0000 (12:55 +0000)
They will be needed by security/py-M2Crypto and telephony/sngrep.

ok inoguchi jsing

lib/libcrypto/evp/evp.h
lib/libcrypto/evp/evp_lib.c

index 2e6053c..aa0a9e7 100644 (file)
@@ -1,4 +1,4 @@
-/* $OpenBSD: evp.h,v 1.89 2021/12/24 12:02:15 tb Exp $ */
+/* $OpenBSD: evp.h,v 1.90 2021/12/24 12:55:04 tb Exp $ */
 /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
  * All rights reserved.
  *
@@ -520,9 +520,11 @@ int EVP_CIPHER_CTX_get_iv(const EVP_CIPHER_CTX *ctx,
 int EVP_CIPHER_CTX_set_iv(EVP_CIPHER_CTX *ctx,
     const unsigned char *iv, size_t len);
 int EVP_CIPHER_CTX_copy(EVP_CIPHER_CTX *out, const EVP_CIPHER_CTX *in);
-void * EVP_CIPHER_CTX_get_app_data(const EVP_CIPHER_CTX *ctx);
+void *EVP_CIPHER_CTX_get_app_data(const EVP_CIPHER_CTX *ctx);
 void EVP_CIPHER_CTX_set_app_data(EVP_CIPHER_CTX *ctx, void *data);
 #if defined(LIBRESSL_NEXT_API) || defined(LIBRESSL_CRYPTO_INTERNAL)
+void *EVP_CIPHER_CTX_get_cipher_data(const EVP_CIPHER_CTX *ctx);
+void *EVP_CIPHER_CTX_set_cipher_data(EVP_CIPHER_CTX *ctx, void *cipher_data);
 unsigned char *EVP_CIPHER_CTX_buf_noconst(EVP_CIPHER_CTX *ctx);
 #endif
 #define EVP_CIPHER_CTX_type(c)         EVP_CIPHER_type(EVP_CIPHER_CTX_cipher(c))
index d74a539..63bd147 100644 (file)
@@ -1,4 +1,4 @@
-/* $OpenBSD: evp_lib.c,v 1.20 2021/12/24 12:02:15 tb Exp $ */
+/* $OpenBSD: evp_lib.c,v 1.21 2021/12/24 12:55:04 tb Exp $ */
 /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
  * All rights reserved.
  *
@@ -239,6 +239,23 @@ EVP_CIPHER_CTX_set_app_data(EVP_CIPHER_CTX *ctx, void *data)
        ctx->app_data = data;
 }
 
+void *
+EVP_CIPHER_CTX_get_cipher_data(const EVP_CIPHER_CTX *ctx)
+{
+       return ctx->cipher_data;
+}
+
+void *
+EVP_CIPHER_CTX_set_cipher_data(EVP_CIPHER_CTX *ctx, void *cipher_data)
+{
+       void *old_cipher_data;
+
+       old_cipher_data = ctx->cipher_data;
+       ctx->cipher_data = cipher_data;
+
+       return old_cipher_data;
+}
+
 int
 EVP_CIPHER_iv_length(const EVP_CIPHER *cipher)
 {