Conversation
|
@zwoop Does the FreeBSD box have OpenSSL? I suspect it's LibreSSL. |
|
Hmm, I tried to build with LibreSSL on my local FreeBSD 12 box but the result of configure script doesn't match (check for HKDF_extract should be yes if it was LibreSSL). I could strict the check so that FreeBSD box can skip HKDF module, but I don't think I should. What are these? Bundled OpenSSL should be in /usr/lib and /usr/include.
|
|
I see this on the FreeBSD box: and FreeBSD is weird, in that very little goes in /usr (only "core" stuff, I think), and all things installed with "pkg" goes to /usr/local. |
|
Seems /usr is openssl-1.1.1a and /usr/local is openssl-1.0.2r. |
|
I find out the cause. It's because of having two versions on a system. TL;DR, We need to uninstall 1.0.2 from the FreeBSD box. If you have a source file below on a system that has the both 1.0.2 and 1.1.1, header files will be read from the both include directories (one from 1.0.2 and the other from 1.1.1). Source file: $ cpp -E a.cc -I/usr/local/include I thought it will be a compile error because "kdf.h" is not provided by 1.0.2. But "kdf.h" is actually available on the system and is read from "/usr/include". So |
|
Technically I could surround "kdf.h" with something like |
|
+1 |
|
@zwoop Please uninstall OpenSSL 1.0.2 from FreeBSD if you don't mind. |
|
Removed OpenSSL v1.0.2 [approve ci] |
|
I wonder if we should have a discussion at some point if we want to isolate OpenSSL vs BoringSSL features all into two single files? As such, maybe replace the HKDF prefix on the file names here, and make the two .cc files generic for all library specific details? Then we can have all specific SSL library implementations in each respective file, and also only check once in the Makefile. You’d then remove the check for HAS_HKDF in the Makefile, and move the ifdef there to each .cc file. I can think of several other things that could go into these generic library specific .cc files, such as OCSP etc. @bryancall @SolidWallOfCode wdyt? |
|
fwiw, we have similar files for QUIC on the quic branch: |
|
Hmmm, those are pretty annoying file names :) if we need to do this, maybe we should have subdirs for openssl/ and boringssl/ ? |
|
I prefer to keep the current structure (no subdirs) because filename completion works well, but if you really don't want to see these files, having subdirs sounds much better than having "tscore_openssl.cc". I don't think people want to put everything under "tscore/" into "tscore.cc". What is the annoying point exactly? |
|
This is blocking merging QUIC branch, which will be a part of 9.0 release. Please review this as soon as possible.. |
This wraps HKDF API differences between OpenSSL and BoringSSL. The code come from QUIC branch.