Lines Matching refs:s

237 h2_u32 (const uint8_t * const s)  in h2_u32()  argument
239 return ((uint32_t)s[0] << 24) in h2_u32()
240 | ((uint32_t)s[1] << 16) in h2_u32()
241 | ((uint32_t)s[2] << 8) in h2_u32()
242 | (uint32_t)s[3]; in h2_u32()
248 h2_u31 (const uint8_t * const s) in h2_u31() argument
250 return h2_u32(s) & ~0x80000000u; in h2_u31()
256 h2_u24 (const uint8_t * const s) in h2_u24() argument
263 return h2_u32(s) >> 8; in h2_u24()
265 return ((uint32_t)s[0] << 16) in h2_u24()
266 | ((uint32_t)s[1] << 8) in h2_u24()
267 | (uint32_t)s[2]; in h2_u24()
274 h2_u16 (const uint8_t * const s) in h2_u16() argument
276 return ((uint16_t)s[0] << 8) in h2_u16()
277 | (uint16_t)s[1]; in h2_u16()
460 h2_recv_goaway (connection * const con, const uint8_t * const s, uint32_t len) in h2_recv_goaway() argument
468 if (0 != h2_u31(s+5)) { /*(GOAWAY stream id must be 0)*/ in h2_recv_goaway()
472 const uint32_t e = h2_u32(s+13); in h2_recv_goaway()
483 const uint32_t last_id = h2_u31(s+9); in h2_recv_goaway()
496 h2_recv_rst_stream (connection * const con, const uint8_t * const s, const uint32_t len) in h2_recv_rst_stream() argument
504 const uint32_t id = h2_u31(s+5); in h2_recv_rst_stream()
541 h2_recv_ping (connection * const con, uint8_t * const s, const uint32_t len) in h2_recv_ping() argument
565 s[5] &= ~0x80; /* reserved bit must be ignored */ in h2_recv_ping()
566 if (0 != h2_u31(s+5)) { /*(PING stream id must be 0)*/ in h2_recv_ping()
570 if (s[4] & H2_FLAG_ACK) /*(ignore; unexpected if we did not send PING)*/ in h2_recv_ping()
574 s[4] = H2_FLAG_ACK; in h2_recv_ping()
575 chunkqueue_append_mem(con->write_queue, (const char *)s, 17); in h2_recv_ping()
653 h2_recv_priority_update (connection * const con, const uint8_t * const s, const uint32_t len) in h2_recv_priority_update() argument
661 const uint32_t id = h2_u31(s+5); in h2_recv_priority_update()
666 const uint32_t prid = h2_u31(s+9); in h2_recv_priority_update()
675 uint8_t prio = h2_parse_priority_update((char *)s+13, len-4); in h2_recv_priority_update()
704 h2_recv_priority (connection * const con, const uint8_t * const s, const uint32_t len) in h2_recv_priority() argument
712 const uint32_t id = h2_u31(s+5); in h2_recv_priority()
717 const uint32_t prio = h2_u31(s+9); in h2_recv_priority()
719 uint32_t exclusive_dependency = (s[9] & 0x80) ? 1 : 0; in h2_recv_priority()
723 uint8_t weight = s[13] >> 2; in h2_recv_priority()
753 h2_recv_window_update (connection * const con, const uint8_t * const s, const uint32_t len) in h2_recv_window_update() argument
761 const uint32_t id = h2_u31(s+5); in h2_recv_window_update()
762 const int32_t v = (int32_t)h2_u31(s+9); in h2_recv_window_update()
848 h2_parse_frame_settings (connection * const con, const uint8_t *s, uint32_t len) in h2_parse_frame_settings() argument
853 for (; len >= 6; len -= 6, s += 6) { in h2_parse_frame_settings()
854 uint32_t v = h2_u32(s+2); in h2_parse_frame_settings()
855 switch (h2_u16(s)) { in h2_parse_frame_settings()
931 h2_recv_settings (connection * const con, const uint8_t * const s, const uint32_t len) in h2_recv_settings() argument
935 if (0 != h2_u31(s+5)) {/*(SETTINGS stream id must be 0)*/ in h2_recv_settings()
941 if (!(s[4] & H2_FLAG_ACK)) { in h2_recv_settings()
942 h2_parse_frame_settings(con, s+9, len); in h2_recv_settings()
982 h2_recv_data (connection * const con, const uint8_t * const s, const uint32_t len) in h2_recv_data() argument
991 const uint32_t id = h2_u31(s+5); in h2_recv_data()
999 if (s[4] & H2_FLAG_PADDED) { in h2_recv_data()
1000 pad = s[9]; in h2_recv_data()
1105 if (s[4] & H2_FLAG_END_STREAM) { in h2_recv_data()
1157 chunkqueue_mark_written(cq, 9 + ((s[4] & H2_FLAG_PADDED) ? 1 : 0)); in h2_recv_data()
1210 uint8_t *s = (uint8_t *)(c->mem->ptr + c->offset); in h2_recv_continuation() local
1215 const uint32_t id = h2_u31(s+5); in h2_recv_continuation()
1221 s = (uint8_t *)(c->mem->ptr + c->offset); in h2_recv_continuation()
1223 if (s[n+3] != H2_FTYPE_CONTINUATION) { in h2_recv_continuation()
1227 flags = s[n+4]; in h2_recv_continuation()
1228 const uint32_t flen = h2_u24(s+n); in h2_recv_continuation()
1229 if (id != h2_u32(s+n+5)) { in h2_recv_continuation()
1246 s = (uint8_t *)(c->mem->ptr + c->offset); in h2_recv_continuation()
1276 if (s[4] & H2_FLAG_PADDED) { in h2_recv_continuation()
1277 const uint32_t plen = s[9]; in h2_recv_continuation()
1279 const uint32_t flen = h2_u24(s); in h2_recv_continuation()
1280 if (flen < 1 + plen + ((s[n+4] & H2_FLAG_PRIORITY) ? 5 : 0)) { in h2_recv_continuation()
1291 s[9] = 0; in h2_recv_continuation()
1303 __coverity_tainted_data_sink__(s); in h2_recv_continuation()
1307 const uint32_t flen = h2_u24(s+n); in h2_recv_continuation()
1314 flags = s[n+4]; in h2_recv_continuation()
1315 memmove(s+m, s+n+9, flen); in h2_recv_continuation()
1323 s[0] = (m >> 16) & 0xFF; in h2_recv_continuation()
1324 s[1] = (m >> 8) & 0xFF; in h2_recv_continuation()
1325 s[2] = (m ) & 0xFF; in h2_recv_continuation()
1329 memmove(s+m, s+n, clen-n); in h2_recv_continuation()
1503 h2_recv_headers (connection * const con, uint8_t * const s, uint32_t flen) in h2_recv_headers() argument
1510 __coverity_tainted_data_sink__(s); in h2_recv_headers()
1514 const uint32_t id = h2_u31(s+5); in h2_recv_headers()
1541 r->h2state = (s[4] & H2_FLAG_END_STREAM) in h2_recv_headers()
1561 r = h2_recv_trailers_r(con, h2c, id, s[4]); /* (cold code path) */ in h2_recv_headers()
1567 const unsigned char *psrc = s + 9; in h2_recv_headers()
1569 if (s[4] & H2_FLAG_PADDED) { in h2_recv_headers()
1571 const uint32_t pad = s[9]; in h2_recv_headers()
1586 if (s[4] & H2_FLAG_PRIORITY) { in h2_recv_headers()
1614 if (s[3] == H2_FTYPE_PUSH_PROMISE) { in h2_recv_headers()
1630 r->reqbody_length = (s[4] & H2_FLAG_END_STREAM) ? 0 : -1; in h2_recv_headers()
1632 else if (r->reqbody_length > 0 && (s[4] & H2_FLAG_END_STREAM)) { in h2_recv_headers()
1728 uint8_t *s = (uint8_t *)(c->mem->ptr + c->offset); in h2_parse_frames() local
1729 uint32_t flen = h2_u24(s); in h2_parse_frames()
1738 if (s[3] == H2_FTYPE_HEADERS) { in h2_parse_frames()
1743 s = (uint8_t *)(c->mem->ptr + c->offset); in h2_parse_frames()
1746 if (!(s[4] & H2_FLAG_END_HEADERS)) { in h2_parse_frames()
1754 s = (uint8_t *)(c->mem->ptr + c->offset); in h2_parse_frames()
1757 flen = h2_u24(s); in h2_parse_frames()
1767 __coverity_tainted_data_sink__(s); in h2_parse_frames()
1770 int rc = h2_recv_headers(con, s, flen); in h2_parse_frames()
1778 else if (s[3] == H2_FTYPE_DATA) { in h2_parse_frames()
1788 if (!h2_recv_data(con, s, flen)) in h2_parse_frames()
1810 s = (uint8_t *)(c->mem->ptr + c->offset); in h2_parse_frames()
1812 switch (s[3]) { /* frame type */ in h2_parse_frames()
1814 h2_recv_window_update(con, s, flen); in h2_parse_frames()
1817 h2_recv_priority_update(con, s, flen); in h2_parse_frames()
1820 h2_recv_settings(con, s, flen); in h2_parse_frames()
1823 h2_recv_ping(con, s, flen); in h2_parse_frames()
1826 h2_recv_rst_stream(con, s, flen); in h2_parse_frames()
1829 if (!h2_recv_goaway(con, s, flen)) return 0; in h2_parse_frames()
1832 h2_recv_priority(con, s, flen); in h2_parse_frames()
1867 uint8_t *s = (uint8_t *)(c->mem->ptr + c->offset); in h2_want_read() local
1868 uint32_t flen = h2_u24(s); in h2_want_read()
1872 if (s[3] != H2_FTYPE_HEADERS || (s[4] & H2_FLAG_END_HEADERS)) in h2_want_read()
1880 s = (uint8_t *)(c->mem->ptr + c->offset); in h2_want_read()
1882 flen = h2_u24(s+n); in h2_want_read()
1884 if (s[4] & H2_FLAG_END_HEADERS) return 0; in h2_want_read()
1900 const char * const s = c->mem->ptr + c->offset; in h2_recv_client_connection_preface() local
1901 if (s[0]!='P'||s[1]!='R'||s[2]!='I'||s[3]!=' ') { in h2_recv_client_connection_preface()
1914 const uint8_t * const s = (uint8_t *)(c->mem->ptr + c->offset); in h2_recv_client_connection_preface() local
1915 if (0 == memcmp(s, h2preface, 24)) /* sizeof(h2preface)-1) */ in h2_recv_client_connection_preface()