Page MenuHomeFreeBSD

D26810.id78453.diff
No OneTemporary

D26810.id78453.diff

Index: head/share/man/man4/crypto.4
===================================================================
--- head/share/man/man4/crypto.4
+++ head/share/man/man4/crypto.4
@@ -60,7 +60,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd May 11, 2020
+.Dd October 19, 2020
.Dt CRYPTO 4
.Os
.Sh NAME
@@ -108,6 +108,11 @@
modular arithmetic (for Diffie-Hellman key exchange and other
cryptographic protocols).
The two modes are described separately below.
+.Sh DEPRECATION NOTICE
+The asymmetric-key operations supported by this interface will not be
+present in
+.Fx 14.0
+and later.
.Sh THEORY OF OPERATION
Regardless of whether symmetric-key or asymmetric-key operations are
to be performed, use of the device requires a basic series of steps:
Index: head/sys/opencrypto/crypto.c
===================================================================
--- head/sys/opencrypto/crypto.c
+++ head/sys/opencrypto/crypto.c
@@ -1142,6 +1142,7 @@
, kalg
, flags
);
+ gone_in_dev(cap->cc_dev, 14, "asymmetric crypto");
err = 0;
} else
err = EINVAL;
Index: head/sys/opencrypto/cryptodev.c
===================================================================
--- head/sys/opencrypto/cryptodev.c
+++ head/sys/opencrypto/cryptodev.c
@@ -346,6 +346,11 @@
&use_separate_aad, 0,
"Use separate AAD buffer for /dev/crypto requests.");
+static struct timeval warninterval = { .tv_sec = 60, .tv_usec = 0 };
+SYSCTL_TIMEVAL_SEC(_kern, OID_AUTO, cryptodev_warn_interval, CTLFLAG_RW,
+ &warninterval,
+ "Delay in seconds between warnings of deprecated /dev/crypto algorithms");
+
static int cryptof_ioctl(struct file *, u_long, void *,
struct ucred *, struct thread *);
static int cryptof_stat(struct file *, struct stat *,
@@ -419,6 +424,7 @@
struct ucred *active_cred,
struct thread *td)
{
+ static struct timeval keywarn, featwarn;
struct crypto_session_params csp;
struct fcrypt *fcr = fp->f_data;
struct csession *cse;
@@ -818,6 +824,10 @@
break;
case CIOCKEY:
case CIOCKEY2:
+ if (ratecheck(&keywarn, &warninterval))
+ gone_in(14,
+ "Asymmetric crypto operations via /dev/crypto");
+
if (!crypto_userasymcrypto) {
SDT_PROBE1(opencrypto, dev, ioctl, error, __LINE__);
return (EPERM); /* XXX compat? */
@@ -833,6 +843,10 @@
mtx_unlock(&Giant);
break;
case CIOCASYMFEAT:
+ if (ratecheck(&featwarn, &warninterval))
+ gone_in(14,
+ "Asymmetric crypto features via /dev/crypto");
+
if (!crypto_userasymcrypto) {
/*
* NB: if user asym crypto operations are

File Metadata

Mime Type
text/plain
Expires
Mon, Oct 5, 12:42 PM (4 h, 48 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
40237894
Default Alt Text
D26810.id78453.diff (2 KB)

Event Timeline