xref: /aosp_15_r20/external/libwebsockets/READMEs/README.libressl.md (revision 1c60b9aca93fdbc9b5f19b2d2194c91294b22281)
1*1c60b9acSAndroid Build Coastguard Worker## Background
2*1c60b9acSAndroid Build Coastguard Worker
3*1c60b9acSAndroid Build Coastguard Workerlibressl is another fork of Openssl.
4*1c60b9acSAndroid Build Coastguard Worker
5*1c60b9acSAndroid Build Coastguard Worker## Example build for libressl itself
6*1c60b9acSAndroid Build Coastguard Worker
7*1c60b9acSAndroid Build Coastguard WorkerIf you unpack or clone into `/path/to/libressl` and enter that dir...
8*1c60b9acSAndroid Build Coastguard Worker
9*1c60b9acSAndroid Build Coastguard Worker```
10*1c60b9acSAndroid Build Coastguard Worker$ mkdir build
11*1c60b9acSAndroid Build Coastguard Worker$ cd build
12*1c60b9acSAndroid Build Coastguard Worker$ cmake ..
13*1c60b9acSAndroid Build Coastguard Worker$ make -j8
14*1c60b9acSAndroid Build Coastguard Worker```
15*1c60b9acSAndroid Build Coastguard Worker
16*1c60b9acSAndroid Build Coastguard Worker## Example build for lws against libressl
17*1c60b9acSAndroid Build Coastguard Worker
18*1c60b9acSAndroid Build Coastguard WorkerYou can just build lws as you would for a specific version of openssl
19*1c60b9acSAndroid Build Coastguard Worker
20*1c60b9acSAndroid Build Coastguard Worker```
21*1c60b9acSAndroid Build Coastguard Worker$ mkdir build
22*1c60b9acSAndroid Build Coastguard Worker$ cd build
23*1c60b9acSAndroid Build Coastguard Worker$ cmake .. -DLWS_OPENSSL_LIBRARIES='/path/to/libressl/build/tls/libtls.a;/path/to/libressl/build/ssl/libssl.a;/path/to//libressl/build/crypto/libcrypto.a' -DLWS_OPENSSL_INCLUDE_DIRS=/path/to/libressl/include -DLWS_WITH_MINIMAL_EXAMPLES=1
24*1c60b9acSAndroid Build Coastguard Worker$ make -j8
25*1c60b9acSAndroid Build Coastguard Worker```
26*1c60b9acSAndroid Build Coastguard Worker
27*1c60b9acSAndroid Build Coastguard WorkerLibressl by default will look for a trust bundle in `/usr/local/etc/ssl/cert.pem`, you either have to
28*1c60b9acSAndroid Build Coastguard Workersymlink this to your trust bundle if that doesnt happen to be where it is, or give your app the trusted CA
29*1c60b9acSAndroid Build Coastguard Workerspecifically as is done for MBEDTLS and WOLFSSL in the examples.
30*1c60b9acSAndroid Build Coastguard Worker
31*1c60b9acSAndroid Build Coastguard WorkerIn Fedora, the system trust store can be found at `/etc/pki/tls/cert.pem`, so you can symlink it
32*1c60b9acSAndroid Build Coastguard Worker
33*1c60b9acSAndroid Build Coastguard Worker```
34*1c60b9acSAndroid Build Coastguard Worker$ sudo mkdir -p /usr/local/etc/ssl
35*1c60b9acSAndroid Build Coastguard Worker$ sudo ln -sf /etc/pki/tls/cert.pem /usr/local/etc/ssl/cert.pem
36*1c60b9acSAndroid Build Coastguard Worker```
37*1c60b9acSAndroid Build Coastguard Worker
38*1c60b9acSAndroid Build Coastguard Workerafter that you can run examples from the build dir, eg,
39*1c60b9acSAndroid Build Coastguard Worker
40*1c60b9acSAndroid Build Coastguard Worker```
41*1c60b9acSAndroid Build Coastguard Worker$ ./bin/lws-minimal-http-client
42*1c60b9acSAndroid Build Coastguard Worker[2021/02/08 20:10:52:0781] U: LWS minimal http client [-d<verbosity>] [-l] [--h1]
43*1c60b9acSAndroid Build Coastguard Worker[2021/02/08 20:10:52:0784] N: LWS: 4.1.99-v4.1.0-269-g762ef33fca, loglevel 1031
44*1c60b9acSAndroid Build Coastguard Worker[2021/02/08 20:10:52:0784] N: NET CLI SRV H1 H2 WS IPv6-absent
45*1c60b9acSAndroid Build Coastguard Worker[2021/02/08 20:10:52:0786] N:  ++ [wsi|0|pipe] (1)
46*1c60b9acSAndroid Build Coastguard Worker[2021/02/08 20:10:52:0787] N:  ++ [vh|0|netlink] (1)
47*1c60b9acSAndroid Build Coastguard Worker[2021/02/08 20:10:52:0802] N:  ++ [vh|1|default] (2)
48*1c60b9acSAndroid Build Coastguard Worker[2021/02/08 20:10:52:1850] N:  ++ [wsicli|0|GET/h1/warmcat.com] (1)
49*1c60b9acSAndroid Build Coastguard Worker[2021/02/08 20:10:52:2982] N:  ++ [mux|0|h2_sid1_(wsicli|0|GET/h1/warmcat.com)] (1)
50*1c60b9acSAndroid Build Coastguard Worker[2021/02/08 20:10:52:3271] U: Connected to 46.105.127.147, http response: 200
51*1c60b9acSAndroid Build Coastguard Worker[2021/02/08 20:10:52:3335] U: RECEIVE_CLIENT_HTTP_READ: read 4087
52*1c60b9acSAndroid Build Coastguard Worker[2021/02/08 20:10:52:3335] U: RECEIVE_CLIENT_HTTP_READ: read 4096
53*1c60b9acSAndroid Build Coastguard Worker[2021/02/08 20:10:52:3526] U: RECEIVE_CLIENT_HTTP_READ: read 4087
54*1c60b9acSAndroid Build Coastguard Worker[2021/02/08 20:10:52:3526] U: RECEIVE_CLIENT_HTTP_READ: read 4096
55*1c60b9acSAndroid Build Coastguard Worker[2021/02/08 20:10:52:3543] U: RECEIVE_CLIENT_HTTP_READ: read 4087
56*1c60b9acSAndroid Build Coastguard Worker[2021/02/08 20:10:52:3543] U: RECEIVE_CLIENT_HTTP_READ: read 4096
57*1c60b9acSAndroid Build Coastguard Worker[2021/02/08 20:10:52:3545] U: RECEIVE_CLIENT_HTTP_READ: read 3502
58*1c60b9acSAndroid Build Coastguard Worker[2021/02/08 20:10:52:3546] U: LWS_CALLBACK_COMPLETED_CLIENT_HTTP
59*1c60b9acSAndroid Build Coastguard Worker[2021/02/08 20:10:52:3546] N:  -- [wsi|0|pipe] (0) 276.019ms
60*1c60b9acSAndroid Build Coastguard Worker[2021/02/08 20:10:52:3547] N:  -- [mux|0|h2_sid1_(wsicli|0|GET/h1/warmcat.com)] (0) 56.417ms
61*1c60b9acSAndroid Build Coastguard Worker[2021/02/08 20:10:52:3566] N:  -- [vh|1|default] (1) 276.384ms
62*1c60b9acSAndroid Build Coastguard Worker[2021/02/08 20:10:52:3566] N:  -- [wsicli|0|GET/h1/warmcat.com|default|h2|h2] (0) 171.599ms
63*1c60b9acSAndroid Build Coastguard Worker[2021/02/08 20:10:52:3567] N:  -- [vh|0|netlink] (0) 277.974ms
64*1c60b9acSAndroid Build Coastguard Worker[2021/02/08 20:10:52:3567] U: Completed: OK
65*1c60b9acSAndroid Build Coastguard Worker```
66*1c60b9acSAndroid Build Coastguard Worker
67