diff options
Diffstat (limited to 'usr/src/uts/common/sys')
-rw-r--r-- | usr/src/uts/common/sys/crypto/impl.h | 12 | ||||
-rw-r--r-- | usr/src/uts/common/sys/crypto/ops_impl.h | 14 | ||||
-rw-r--r-- | usr/src/uts/common/sys/crypto/spi.h | 14 | ||||
-rw-r--r-- | usr/src/uts/common/sys/random.h | 9 |
4 files changed, 28 insertions, 21 deletions
diff --git a/usr/src/uts/common/sys/crypto/impl.h b/usr/src/uts/common/sys/crypto/impl.h index b240dc0a5a..7ae06f4eda 100644 --- a/usr/src/uts/common/sys/crypto/impl.h +++ b/usr/src/uts/common/sys/crypto/impl.h @@ -2,9 +2,8 @@ * CDDL HEADER START * * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. + * Common Development and Distribution License (the "License"). + * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. @@ -20,7 +19,7 @@ * CDDL HEADER END */ /* - * Copyright 2005 Sun Microsystems, Inc. All rights reserved. + * Copyright 2006 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ @@ -954,10 +953,10 @@ extern rctl_hndl_t rc_project_crypto_mem; * Wrappers for crypto_random_number_ops(9S) entry points. */ -#define KCF_PROV_SEED_RANDOM(pd, session, buf, len, req) ( \ +#define KCF_PROV_SEED_RANDOM(pd, session, buf, len, est, flags, req) ( \ (KCF_PROV_RANDOM_OPS(pd) && KCF_PROV_RANDOM_OPS(pd)->seed_random) ? \ KCF_PROV_RANDOM_OPS(pd)->seed_random((pd)->pd_prov_handle, \ - session, buf, len, req) : CRYPTO_NOT_SUPPORTED) + session, buf, len, est, flags, req) : CRYPTO_NOT_SUPPORTED) #define KCF_PROV_GENERATE_RANDOM(pd, session, buf, len, req) ( \ (KCF_PROV_RANDOM_OPS(pd) && \ @@ -1249,6 +1248,7 @@ extern void kcf_rnd_init(); extern boolean_t kcf_rngprov_check(void); extern int kcf_rnd_get_pseudo_bytes(uint8_t *, size_t); extern int kcf_rnd_get_bytes(uint8_t *, size_t, boolean_t, boolean_t); +extern int random_add_pseudo_entropy(uint8_t *, size_t, uint_t); extern void kcf_rnd_chpoll(int, short *, struct pollhead **); extern void kcf_rnd_schedule_timeout(boolean_t); diff --git a/usr/src/uts/common/sys/crypto/ops_impl.h b/usr/src/uts/common/sys/crypto/ops_impl.h index 5004c0396b..3552f50c17 100644 --- a/usr/src/uts/common/sys/crypto/ops_impl.h +++ b/usr/src/uts/common/sys/crypto/ops_impl.h @@ -2,9 +2,8 @@ * CDDL HEADER START * * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. + * Common Development and Distribution License (the "License"). + * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. @@ -20,7 +19,7 @@ * CDDL HEADER END */ /* - * Copyright 2004 Sun Microsystems, Inc. All rights reserved. + * Copyright 2006 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ @@ -146,6 +145,8 @@ typedef struct kcf_random_number_ops_params { crypto_session_id_t rn_sid; uchar_t *rn_buf; size_t rn_buflen; + uint_t rn_entropy_est; + uint32_t rn_flags; } kcf_random_number_ops_params_t; /* @@ -476,7 +477,8 @@ typedef struct kcf_req_params { cmops->md_decr_templ = _decr_templ; \ } -#define KCF_WRAP_RANDOM_OPS_PARAMS(req, ftype, _sid, _buf, _buflen) { \ +#define KCF_WRAP_RANDOM_OPS_PARAMS(req, ftype, _sid, _buf, _buflen, \ + _est, _flags) { \ kcf_random_number_ops_params_t *rops = \ &(req)->rp_u.random_number_params; \ \ @@ -485,6 +487,8 @@ typedef struct kcf_req_params { rops->rn_sid = _sid; \ rops->rn_buf = _buf; \ rops->rn_buflen = _buflen; \ + rops->rn_entropy_est = _est; \ + rops->rn_flags = _flags; \ } #define KCF_WRAP_SESSION_OPS_PARAMS(req, ftype, _sid_ptr, _sid, \ diff --git a/usr/src/uts/common/sys/crypto/spi.h b/usr/src/uts/common/sys/crypto/spi.h index e06f260d02..3022cf1d01 100644 --- a/usr/src/uts/common/sys/crypto/spi.h +++ b/usr/src/uts/common/sys/crypto/spi.h @@ -2,9 +2,8 @@ * CDDL HEADER START * * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. + * Common Development and Distribution License (the "License"). + * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. @@ -20,7 +19,7 @@ * CDDL HEADER END */ /* - * Copyright 2005 Sun Microsystems, Inc. All rights reserved. + * Copyright 2006 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ @@ -386,12 +385,17 @@ typedef struct crypto_dual_cipher_mac_ops { */ typedef struct crypto_random_number_ops { int (*seed_random)(crypto_provider_handle_t, crypto_session_id_t, - uchar_t *, size_t, crypto_req_handle_t); + uchar_t *, size_t, uint_t, uint32_t, crypto_req_handle_t); int (*generate_random)(crypto_provider_handle_t, crypto_session_id_t, uchar_t *, size_t, crypto_req_handle_t); } crypto_random_number_ops_t; /* + * Flag values for seed_random. + */ +#define CRYPTO_SEED_NOW 0x00000001 + +/* * The crypto_session_ops structure contains pointers to session * operations for cryptographic providers. It is passed through * the crypto_ops(9S) structure when providers register with the diff --git a/usr/src/uts/common/sys/random.h b/usr/src/uts/common/sys/random.h index 2628277964..919e50fb31 100644 --- a/usr/src/uts/common/sys/random.h +++ b/usr/src/uts/common/sys/random.h @@ -2,9 +2,8 @@ * CDDL HEADER START * * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. + * Common Development and Distribution License (the "License"). + * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. @@ -20,7 +19,7 @@ * CDDL HEADER END */ /* - * Copyright 2004 Sun Microsystems, Inc. All rights reserved. + * Copyright 2006 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ @@ -59,7 +58,7 @@ typedef struct swrand_stats { #define BUMP_RND_STATS(x, v) atomic_add_64(&(rnd_stats).x, (v)) #define BUMP_SWRAND_STATS(x, v) atomic_add_64(&(swrand_stats).x, (v)) -extern int random_add_entropy(uint8_t *, size_t, uint16_t); +extern int random_add_entropy(uint8_t *, size_t, uint_t); extern int random_get_bytes(uint8_t *, size_t); extern int random_get_pseudo_bytes(uint8_t *, size_t); |