27 typedef int (*plugin_auth_status_cb)(
struct lws_ss_handle *ss,
int status);
54 #if defined(LWS_WITH_SSPLUGINS)
55 typedef struct lws_ss_plugin {
56 struct lws_ss_plugin *next;
60 int (*create)(
struct lws_ss_handle *ss,
void *info,
61 plugin_auth_status_cb status);
67 int (*destroy)(
struct lws_ss_handle *ss);
71 int (*munge)(
struct lws_ss_handle *ss,
char *path,
89 LWSSSPOLF_OPPORTUNISTIC = (1 << 0),
91 LWSSSPOLF_NAILED_UP = (1 << 1),
93 LWSSSPOLF_URGENT_TX = (1 << 2),
95 LWSSSPOLF_URGENT_RX = (1 << 3),
97 LWSSSPOLF_TLS = (1 << 4),
99 LWSSSPOLF_LONG_POLL = (1 << 5),
101 LWSSSPOLF_AUTH_BEARER = (1 << 6),
103 LWSSSPOLF_HTTP_NO_CONTENT_LENGTH = (1 << 7),
105 LWSSSPOLF_QUIRK_NGHTTP2_END_STREAM = (1 << 8),
107 LWSSSPOLF_H2_QUIRK_OVERFLOWS_TXCR = (1 << 9),
109 LWSSSPOLF_H2_QUIRK_UNCLEAN_HPACK_STATE = (1 << 10),
111 LWSSSPOLF_HTTP_MULTIPART = (1 << 11),
117 LWSSSPOLF_HTTP_X_WWW_FORM_URLENCODED = (1 << 12),
119 LWSSSPOLF_LOCAL_SINK = (1 << 13),
121 LWSSSPOLF_WAKE_SUSPEND__VALIDITY = (1 << 14),
125 LWSSSPOLF_SERVER = (1 << 15),
127 LWSSSPOLF_ALLOW_REDIRECTS = (1 << 16),
129 LWSSSPOLF_HTTP_MULTIPART_IN = (1 << 17),
163 uint8_t value_on_lws_heap;
188 const char *payload_fmt;
189 const char *socks5_proxy;
196 #if defined(LWS_ROLE_H1) || defined(LWS_ROLE_H2) || defined(LWS_ROLE_WS)
207 const char *multipart_name;
208 const char *multipart_filename;
209 const char *multipart_content_type;
211 const char *blob_header[_LWSSS_HBI_COUNT];
212 const char *auth_preamble;
220 const char *subprotocol;
226 uint16_t resp_expect;
227 uint8_t fail_redirect:1;
232 #if defined(LWS_ROLE_MQTT)
236 const char *subscribe;
238 const char *will_topic;
239 const char *will_message;
254 #if defined(LWS_WITH_SSPLUGINS)
256 struct lws_ss_plugin *plugins[2];
257 const void *plugins_info[2];
292 #if !defined(LWS_WITH_SECURE_STREAMS_STATIC_POLICY_ONLY)
298 LWS_VISIBLE LWS_EXTERN
int
299 lws_ss_policy_parse_begin(
struct lws_context *context,
int overlay);
301 LWS_VISIBLE LWS_EXTERN
int
302 lws_ss_policy_parse_abandon(
struct lws_context *context);
304 LWS_VISIBLE LWS_EXTERN
int
305 lws_ss_policy_parse(
struct lws_context *context,
const uint8_t *buf,
size_t len);
307 LWS_VISIBLE LWS_EXTERN
int
308 lws_ss_policy_overlay(
struct lws_context *context,
const char *overlay);
315 lws_ss_policy_get(
struct lws_context *context);
Definition: lws-retry.h:25
Definition: lws-secure-streams-policy.h:180
uint32_t flags
Definition: lws-secure-streams-policy.h:282
uint8_t metadata_count
Definition: lws-secure-streams-policy.h:286
uint32_t timeout_ms
Definition: lws-secure-streams-policy.h:280
const lws_ss_x509_t * cert
Definition: lws-secure-streams-policy.h:271
const char * streamtype
Definition: lws-secure-streams-policy.h:182
const char * rideshare_streamtype
Definition: lws-secure-streams-policy.h:185
uint8_t client_cert
Definition: lws-secure-streams-policy.h:288
const char * endpoint
Definition: lws-secure-streams-policy.h:184
const lws_ss_trust_store_t * store
Definition: lws-secure-streams-policy.h:267
const lws_retry_bo_t * retry_bo
Definition: lws-secure-streams-policy.h:278
uint16_t port
Definition: lws-secure-streams-policy.h:284
uint8_t protocol
Definition: lws-secure-streams-policy.h:287
const lws_ss_x509_t * key
Definition: lws-secure-streams-policy.h:273
Definition: lws-secure-streams-policy.h:133
Definition: lws-secure-streams-policy.h:80
uint8_t keep
Definition: lws-secure-streams-policy.h:85
size_t ca_der_len
Definition: lws-secure-streams-policy.h:84
const uint8_t * ca_der
Definition: lws-secure-streams-policy.h:83
const char * vhost_name
Definition: lws-secure-streams-policy.h:82