aboutsummaryrefslogtreecommitdiff
path: root/decrepit
diff options
context:
space:
mode:
authorDavid Benjamin <davidben@google.com>2023-07-14 16:30:43 -0400
committerBoringssl LUCI CQ <boringssl-scoped@luci-project-accounts.iam.gserviceaccount.com>2023-07-18 19:46:50 +0000
commit5ba5db1a29ef54dc3ee2efbc5bdb3d95b77fc928 (patch)
treef8591cde74a9e6c302fa400b5bc734814d2b2736 /decrepit
parentcb974884b68b7b2001dfcd8f46c446c0ff8c6336 (diff)
downloadboringssl-5ba5db1a29ef54dc3ee2efbc5bdb3d95b77fc928.zip
boringssl-5ba5db1a29ef54dc3ee2efbc5bdb3d95b77fc928.tar.gz
boringssl-5ba5db1a29ef54dc3ee2efbc5bdb3d95b77fc928.tar.bz2
Support Android's "baremetal" target
This corresponds to the libcrypto_baremetal build target in Android, which is an embedded-style platform that uses a subset of the bionic libc. It will also, eventually, use getentropy for its PRNG. As part of this, generalize the OPENSSL_TRUSTY exclusion for file BIOs to OPENSSL_NO_FILESYSTEM. Upstream OpenSSL uses OPENSSL_NO_STDIO, but that excludes all of FILE entirely. We already require FILE in quite a few places (urandom.c, self_test.c) for writing to stderr, and FILE is part of C standard library. So, let's tentatively say that we require you have FILE and stderr. Instead, OPENSSL_NO_FILESYSTEM is saying you don't have fopen. You're still required to have the three std{in,out,err} FILEs, and given a FILE, you need to allow the standard operations on it. (Possibly in forms that always fail.) To keep us honest, whenever a function is excluded, I've dropped it from the header too, and followed callers up the chain. I have not attempted to make the tests work when these are excluded. Later CLs in this series will do the same for NO_SOCK and NO_POSIX_IO. This was a little tedious, but not too bad. (I assume we'll end up changing our minds on this a lot. For now, let's try this.) I haven't yet restored OPENSSL_RAND_TRUSTY or removed the OPENSSL_TRUSTY ifdef on file.c. Having a separate CL makes it a bit easier to revert if something goes wrong. This depends on https://android-review.googlesource.com/c/platform/bionic/+/2659335, which fixes the header bionic uses for getentropy. Bug: 629, b:291102972 Change-Id: Idd839cd3fa4253128de54bd1be7da261dbcdeb7c Reviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/61726 Auto-Submit: David Benjamin <davidben@google.com> Reviewed-by: Bob Beck <bbe@google.com> Commit-Queue: Bob Beck <bbe@google.com>
Diffstat (limited to 'decrepit')
-rw-r--r--decrepit/ssl/ssl_decrepit.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/decrepit/ssl/ssl_decrepit.c b/decrepit/ssl/ssl_decrepit.c
index a155c0f..c6df9a1 100644
--- a/decrepit/ssl/ssl_decrepit.c
+++ b/decrepit/ssl/ssl_decrepit.c
@@ -110,7 +110,8 @@
#include <openssl/ssl.h>
-#if !defined(OPENSSL_WINDOWS) && !defined(OPENSSL_PNACL)
+#if !defined(OPENSSL_WINDOWS) && !defined(OPENSSL_PNACL) && \
+ !defined(OPENSSL_NO_FILESYSTEM)
#include <dirent.h>
#include <errno.h>
@@ -162,4 +163,4 @@ int SSL_add_dir_cert_subjects_to_stack(STACK_OF(X509_NAME) *stack,
return ret;
}
-#endif // !WINDOWS && !PNACL
+#endif // !WINDOWS && !PNACL && !OPENSSL_NO_FILESYSTEM