david/ipxe
david
/
ipxe
Archived
1
0
Fork 0
This repository has been archived on 2020-12-06. You can view files and clone it, but cannot push or open issues or pull requests.
ipxe/src/crypto
Michael Brown 72fb55e437 [settings] Change "not-found" semantics of fetch_setting_copy()
fetch_settings_copy() currently returns success and a NULL data
pointer to indicate a non-existent setting.  This is intended to allow
the caller to differentiate between a non-existent setting and an
error in allocating memory for the copy of the setting.

The underlying settings blocks' fetch() methods provide no way to
perform an existence check separate from an attempt to fetch the
setting.  A "non-existent setting" therefore means simply a setting
for which an error was encountered when attempting to fetch from every
settings block within the subtree.

Since any underlying error within a settings block (e.g. a GuestRPC
failure when attempting to retrieve a VMware GuestInfo setting) will
produce the effect of a "non-existent setting", it seems somewhat
meaningless to give special treatment to memory allocation errors
within fetch_setting_copy().

Remove the special treatment and simplify the semantics of
fetch_setting_copy() by directly passing through any underlying error
(including non-existence) encountered while fetching the setting.

Signed-off-by: Michael Brown <mcb30@ipxe.org>
2013-07-19 15:15:28 +01:00
..
axtls [crypto] Remove obsolete AXTLS RSA algorithm 2012-03-18 14:47:16 +00:00
aes_wrap.c [legal] Update FSF mailing address in GPL licence texts 2012-07-20 19:55:45 +01:00
arc4.c [legal] Update FSF mailing address in GPL licence texts 2012-07-20 19:55:45 +01:00
asn1.c [legal] Update FSF mailing address in GPL licence texts 2012-07-20 19:55:45 +01:00
axtls_aes.c [legal] Update FSF mailing address in GPL licence texts 2012-07-20 19:55:45 +01:00
bigint.c [legal] Update FSF mailing address in GPL licence texts 2012-07-20 19:55:45 +01:00
cbc.c [crypto] Allow in-place CBC decryption 2012-09-27 01:54:55 +01:00
chap.c [legal] Update FSF mailing address in GPL licence texts 2012-07-20 19:55:45 +01:00
clientcert.c [settings] Change "not-found" semantics of fetch_setting_copy() 2013-07-19 15:15:28 +01:00
cms.c [legal] Update FSF mailing address in GPL licence texts 2012-07-20 19:55:45 +01:00
crc32.c [legal] Update FSF mailing address in GPL licence texts 2012-07-20 19:55:45 +01:00
crypto_null.c [legal] Update FSF mailing address in GPL licence texts 2012-07-20 19:55:45 +01:00
drbg.c [legal] Update FSF mailing address in GPL licence texts 2012-07-20 19:55:45 +01:00
entropy.c [legal] Update FSF mailing address in GPL licence texts 2012-07-20 19:55:45 +01:00
hash_df.c [legal] Update FSF mailing address in GPL licence texts 2012-07-20 19:55:45 +01:00
hmac.c [legal] Update FSF mailing address in GPL licence texts 2012-07-20 19:55:45 +01:00
hmac_drbg.c [legal] Update FSF mailing address in GPL licence texts 2012-07-20 19:55:45 +01:00
md5.c [legal] Update FSF mailing address in GPL licence texts 2012-07-20 19:55:45 +01:00
null_entropy.c [legal] Update FSF mailing address in GPL licence texts 2012-07-20 19:55:45 +01:00
ocsp.c [crypto] Accept OCSP responses containing multiple certificates 2013-05-29 16:41:58 +01:00
random_nz.c [legal] Update FSF mailing address in GPL licence texts 2012-07-20 19:55:45 +01:00
rbg.c [legal] Update FSF mailing address in GPL licence texts 2012-07-20 19:55:45 +01:00
rootcert.c [settings] Change "not-found" semantics of fetch_setting_copy() 2013-07-19 15:15:28 +01:00
rsa.c [legal] Update FSF mailing address in GPL licence texts 2012-07-20 19:55:45 +01:00
sha1.c [legal] Update FSF mailing address in GPL licence texts 2012-07-20 19:55:45 +01:00
sha1extra.c [legal] Update FSF mailing address in GPL licence texts 2012-07-20 19:55:45 +01:00
sha256.c [legal] Update FSF mailing address in GPL licence texts 2012-07-20 19:55:45 +01:00
x509.c [crypto] Report meaningful error when certificate chain validation fails 2013-05-10 10:03:56 +01:00