1*1c60b9acSAndroid Build Coastguard Worker# lws minimal secure streams policy2c 2*1c60b9acSAndroid Build Coastguard Worker 3*1c60b9acSAndroid Build Coastguard WorkerThis application parses a JSON policy passed on stdin and emits the 4*1c60b9acSAndroid Build Coastguard Workerequivalent of it in C structs ready for compilation. 5*1c60b9acSAndroid Build Coastguard Worker 6*1c60b9acSAndroid Build Coastguard WorkerThis is useful in the case your platform doesn't use a dynamic JSON 7*1c60b9acSAndroid Build Coastguard Workerpolicy and is space-constrained, you can still form and maintain the 8*1c60b9acSAndroid Build Coastguard Workerpolicy in JSON, but with this utility convert it into compileable C. 9*1c60b9acSAndroid Build Coastguard Worker 10*1c60b9acSAndroid Build Coastguard Worker**Notice** this depends on LWS_ROLE_H1, LWS_ROLE_H2, LWS_ROLE_WS and 11*1c60b9acSAndroid Build Coastguard WorkerLWS_ROLE_MQTT build of lws, since it has to be able to work with any kind 12*1c60b9acSAndroid Build Coastguard Workerof policy content. 13*1c60b9acSAndroid Build Coastguard Worker 14*1c60b9acSAndroid Build Coastguard Worker## build 15*1c60b9acSAndroid Build Coastguard Worker 16*1c60b9acSAndroid Build Coastguard Worker``` 17*1c60b9acSAndroid Build Coastguard Worker $ cmake . && make 18*1c60b9acSAndroid Build Coastguard Worker``` 19*1c60b9acSAndroid Build Coastguard Worker 20*1c60b9acSAndroid Build Coastguard Worker## usage 21*1c60b9acSAndroid Build Coastguard Worker 22*1c60b9acSAndroid Build Coastguard WorkerCommandline option|Meaning 23*1c60b9acSAndroid Build Coastguard Worker---|--- 24*1c60b9acSAndroid Build Coastguard Worker-d <loglevel>|Debug verbosity in decimal, eg, -d15 25*1c60b9acSAndroid Build Coastguard Worker 26*1c60b9acSAndroid Build Coastguard Worker``` 27*1c60b9acSAndroid Build Coastguard Worker$ cat mypolicy.json | lws-minimal-secure-streams-policy2c 28*1c60b9acSAndroid Build Coastguard Worker 29*1c60b9acSAndroid Build Coastguard Worker(on stdout) 30*1c60b9acSAndroid Build Coastguard Worker 31*1c60b9acSAndroid Build Coastguard Workerstatic const uint32_t _rbo_bo_0[] = { 32*1c60b9acSAndroid Build Coastguard Worker 1000, 2000, 3000, 5000, 10000, 33*1c60b9acSAndroid Build Coastguard Worker}; 34*1c60b9acSAndroid Build Coastguard Workerstatic const lws_retry_bo_t _rbo_0 = { 35*1c60b9acSAndroid Build Coastguard Worker .retry_ms_table = _rbo_bo_0, 36*1c60b9acSAndroid Build Coastguard Worker .retry_ms_table_count = 5, 37*1c60b9acSAndroid Build Coastguard Worker .conceal_count = 5, 38*1c60b9acSAndroid Build Coastguard Worker .secs_since_valid_ping = 30, 39*1c60b9acSAndroid Build Coastguard Worker .secs_since_valid_hangup = 35, 40*1c60b9acSAndroid Build Coastguard Worker .jitter_percent = 20, 41*1c60b9acSAndroid Build Coastguard Worker}; 42*1c60b9acSAndroid Build Coastguard Workerstatic const uint8_t _ss_der_amazon_root_ca_1[] = { 43*1c60b9acSAndroid Build Coastguard Worker /* 0x 0 */ 0x30, 0x82, 0x03, 0x41, 0x30, 0x82, 0x02, 0x29, 44*1c60b9acSAndroid Build Coastguard Worker /* 0x 8 */ 0xA0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x13, 0x06, 45*1c60b9acSAndroid Build Coastguard Worker /* 0x 10 */ 0x6C, 0x9F, 0xCF, 0x99, 0xBF, 0x8C, 0x0A, 0x39, 46*1c60b9acSAndroid Build Coastguard Worker /* 0x 18 */ 0xE2, 0xF0, 0x78, 0x8A, 0x43, 0xE6, 0x96, 0x36, 47*1c60b9acSAndroid Build Coastguard Worker /* 0x 20 */ 0x5B, 0xCA, 0x30, 0x0D, 0x06, 0x09, 0x2A, 0x86, 48*1c60b9acSAndroid Build Coastguard Worker... 49*1c60b9acSAndroid Build Coastguard Worker``` 50