/src/libsoup/libsoup/soup-header-names.c
Line | Count | Source (jump to first uncovered line) |
1 | | /* ANSI-C code produced by gperf version 3.1 */ |
2 | | /* Command-line: gperf -k '*' -D -n -s 2 */ |
3 | | |
4 | | #if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \ |
5 | | && ('%' == 37) && ('&' == 38) && ('\'' == 39) && ('(' == 40) \ |
6 | | && (')' == 41) && ('*' == 42) && ('+' == 43) && (',' == 44) \ |
7 | | && ('-' == 45) && ('.' == 46) && ('/' == 47) && ('0' == 48) \ |
8 | | && ('1' == 49) && ('2' == 50) && ('3' == 51) && ('4' == 52) \ |
9 | | && ('5' == 53) && ('6' == 54) && ('7' == 55) && ('8' == 56) \ |
10 | | && ('9' == 57) && (':' == 58) && (';' == 59) && ('<' == 60) \ |
11 | | && ('=' == 61) && ('>' == 62) && ('?' == 63) && ('A' == 65) \ |
12 | | && ('B' == 66) && ('C' == 67) && ('D' == 68) && ('E' == 69) \ |
13 | | && ('F' == 70) && ('G' == 71) && ('H' == 72) && ('I' == 73) \ |
14 | | && ('J' == 74) && ('K' == 75) && ('L' == 76) && ('M' == 77) \ |
15 | | && ('N' == 78) && ('O' == 79) && ('P' == 80) && ('Q' == 81) \ |
16 | | && ('R' == 82) && ('S' == 83) && ('T' == 84) && ('U' == 85) \ |
17 | | && ('V' == 86) && ('W' == 87) && ('X' == 88) && ('Y' == 89) \ |
18 | | && ('Z' == 90) && ('[' == 91) && ('\\' == 92) && (']' == 93) \ |
19 | | && ('^' == 94) && ('_' == 95) && ('a' == 97) && ('b' == 98) \ |
20 | | && ('c' == 99) && ('d' == 100) && ('e' == 101) && ('f' == 102) \ |
21 | | && ('g' == 103) && ('h' == 104) && ('i' == 105) && ('j' == 106) \ |
22 | | && ('k' == 107) && ('l' == 108) && ('m' == 109) && ('n' == 110) \ |
23 | | && ('o' == 111) && ('p' == 112) && ('q' == 113) && ('r' == 114) \ |
24 | | && ('s' == 115) && ('t' == 116) && ('u' == 117) && ('v' == 118) \ |
25 | | && ('w' == 119) && ('x' == 120) && ('y' == 121) && ('z' == 122) \ |
26 | | && ('{' == 123) && ('|' == 124) && ('}' == 125) && ('~' == 126)) |
27 | | /* The character set is not based on ISO-646. */ |
28 | | #error "gperf generated tables don't work with this execution character set. Please report a bug to <bug-gperf@gnu.org>." |
29 | | #endif |
30 | | |
31 | | |
32 | | /* This file has been generated with generate-header-names.py script, do not edit */ |
33 | | #include "soup-header-names.h" |
34 | | #include <string.h> |
35 | | |
36 | | static const char * const soup_headr_name_strings[] = { |
37 | | "Accept", |
38 | | "Accept-Charset", |
39 | | "Accept-Encoding", |
40 | | "Accept-Language", |
41 | | "Accept-Ranges", |
42 | | "Access-Control-Allow-Credentials", |
43 | | "Access-Control-Allow-Headers", |
44 | | "Access-Control-Allow-Methods", |
45 | | "Access-Control-Allow-Origin", |
46 | | "Access-Control-Expose-Headers", |
47 | | "Access-Control-Max-Age", |
48 | | "Access-Control-Request-Headers", |
49 | | "Access-Control-Request-Method", |
50 | | "Age", |
51 | | "Authentication-Info", |
52 | | "Authorization", |
53 | | "Cache-Control", |
54 | | "Connection", |
55 | | "Content-Disposition", |
56 | | "Content-Encoding", |
57 | | "Content-Language", |
58 | | "Content-Length", |
59 | | "Content-Location", |
60 | | "Content-Range", |
61 | | "Content-Security-Policy", |
62 | | "Content-Security-Policy-Report-Only", |
63 | | "Content-Type", |
64 | | "Cookie", |
65 | | "Cookie2", |
66 | | "Cross-Origin-Resource-Policy", |
67 | | "DNT", |
68 | | "Date", |
69 | | "Default-Style", |
70 | | "ETag", |
71 | | "Expect", |
72 | | "Expires", |
73 | | "Host", |
74 | | "If-Match", |
75 | | "If-Modified-Since", |
76 | | "If-None-Match", |
77 | | "If-Range", |
78 | | "If-Unmodified-Since", |
79 | | "Keep-Alive", |
80 | | "Last-Event-ID", |
81 | | "Last-Modified", |
82 | | "Link", |
83 | | "Location", |
84 | | "Origin", |
85 | | "Ping-From", |
86 | | "Ping-To", |
87 | | "Pragma", |
88 | | "Proxy-Authenticate", |
89 | | "Proxy-Authentication-Info", |
90 | | "Proxy-Authorization", |
91 | | "Purpose", |
92 | | "Range", |
93 | | "Referer", |
94 | | "Referrer-Policy", |
95 | | "Refresh", |
96 | | "Sec-WebSocket-Accept", |
97 | | "Sec-WebSocket-Extensions", |
98 | | "Sec-WebSocket-Key", |
99 | | "Sec-WebSocket-Protocol", |
100 | | "Sec-WebSocket-Version", |
101 | | "Server", |
102 | | "Server-Timing", |
103 | | "Service-Worker", |
104 | | "Service-Worker-Allowed", |
105 | | "Set-Cookie", |
106 | | "Set-Cookie2", |
107 | | "SourceMap", |
108 | | "TE", |
109 | | "Timing-Allow-Origin", |
110 | | "Trailer", |
111 | | "Transfer-Encoding", |
112 | | "Upgrade", |
113 | | "Upgrade-Insecure-Requests", |
114 | | "User-Agent", |
115 | | "Vary", |
116 | | "Via", |
117 | | "WWW-Authenticate", |
118 | | "X-Content-Type-Options", |
119 | | "X-DNS-Prefetch-Control", |
120 | | "X-Frame-Options", |
121 | | "X-SourceMap", |
122 | | "X-Temp-Tablet", |
123 | | "X-XSS-Protection", |
124 | | }; |
125 | | struct SoupHeaderHashEntry { |
126 | | int name; |
127 | | SoupHeaderName header_name; |
128 | | }; |
129 | | |
130 | | #define TOTAL_KEYWORDS 87 |
131 | 0 | #define MIN_WORD_LENGTH 2 |
132 | 0 | #define MAX_WORD_LENGTH 35 |
133 | | #define MIN_HASH_VALUE 5 |
134 | 0 | #define MAX_HASH_VALUE 690 |
135 | | /* maximum key range = 686, duplicates = 0 */ |
136 | | |
137 | | #ifndef GPERF_DOWNCASE |
138 | | #define GPERF_DOWNCASE 1 |
139 | | static unsigned char gperf_downcase[256] = |
140 | | { |
141 | | 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, |
142 | | 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, |
143 | | 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, |
144 | | 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, |
145 | | 60, 61, 62, 63, 64, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, |
146 | | 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, |
147 | | 122, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, |
148 | | 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, |
149 | | 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, |
150 | | 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, |
151 | | 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, |
152 | | 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, |
153 | | 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, |
154 | | 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, |
155 | | 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, |
156 | | 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, |
157 | | 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, |
158 | | 255 |
159 | | }; |
160 | | #endif |
161 | | |
162 | | #ifndef GPERF_CASE_STRNCMP |
163 | | #define GPERF_CASE_STRNCMP 1 |
164 | | static int |
165 | | gperf_case_strncmp (register const char *s1, register const char *s2, register size_t n) |
166 | 0 | { |
167 | 0 | for (; n > 0;) |
168 | 0 | { |
169 | 0 | unsigned char c1 = gperf_downcase[(unsigned char)*s1++]; |
170 | 0 | unsigned char c2 = gperf_downcase[(unsigned char)*s2++]; |
171 | 0 | if (c1 != 0 && c1 == c2) |
172 | 0 | { |
173 | 0 | n--; |
174 | 0 | continue; |
175 | 0 | } |
176 | 0 | return (int)c1 - (int)c2; |
177 | 0 | } |
178 | 0 | return 0; |
179 | 0 | } |
180 | | #endif |
181 | | |
182 | | #ifdef __GNUC__ |
183 | | __inline |
184 | | #else |
185 | | #ifdef __cplusplus |
186 | | inline |
187 | | #endif |
188 | | #endif |
189 | | static unsigned int |
190 | | soup_header_name_hash_function (register const char *str, register size_t len) |
191 | 0 | { |
192 | 0 | static const unsigned short asso_values[] = |
193 | 0 | { |
194 | 0 | 691, 691, 691, 691, 691, 691, 691, 691, 691, 691, |
195 | 0 | 691, 691, 691, 691, 691, 691, 691, 691, 691, 691, |
196 | 0 | 691, 691, 691, 691, 691, 691, 691, 691, 691, 691, |
197 | 0 | 691, 691, 691, 691, 691, 691, 691, 691, 691, 691, |
198 | 0 | 691, 691, 691, 691, 691, 5, 691, 691, 691, 691, |
199 | 0 | 40, 691, 691, 691, 691, 691, 691, 691, 691, 691, |
200 | 0 | 691, 691, 691, 691, 691, 0, 5, 0, 45, 0, |
201 | 0 | 95, 10, 65, 5, 691, 210, 20, 75, 5, 0, |
202 | 0 | 60, 130, 5, 10, 5, 75, 4, 155, 165, 75, |
203 | 0 | 35, 691, 691, 691, 691, 691, 691, 0, 5, 0, |
204 | 0 | 45, 0, 95, 10, 65, 5, 691, 210, 20, 75, |
205 | 0 | 5, 0, 60, 130, 5, 10, 5, 75, 4, 155, |
206 | 0 | 165, 75, 35, 691, 691, 691, 691, 691, 691, 691, |
207 | 0 | 691, 691, 691, 691, 691, 691, 691, 691, 691, 691, |
208 | 0 | 691, 691, 691, 691, 691, 691, 691, 691, 691, 691, |
209 | 0 | 691, 691, 691, 691, 691, 691, 691, 691, 691, 691, |
210 | 0 | 691, 691, 691, 691, 691, 691, 691, 691, 691, 691, |
211 | 0 | 691, 691, 691, 691, 691, 691, 691, 691, 691, 691, |
212 | 0 | 691, 691, 691, 691, 691, 691, 691, 691, 691, 691, |
213 | 0 | 691, 691, 691, 691, 691, 691, 691, 691, 691, 691, |
214 | 0 | 691, 691, 691, 691, 691, 691, 691, 691, 691, 691, |
215 | 0 | 691, 691, 691, 691, 691, 691, 691, 691, 691, 691, |
216 | 0 | 691, 691, 691, 691, 691, 691, 691, 691, 691, 691, |
217 | 0 | 691, 691, 691, 691, 691, 691, 691, 691, 691, 691, |
218 | 0 | 691, 691, 691, 691, 691, 691, 691, 691, 691, 691, |
219 | 0 | 691, 691, 691, 691, 691, 691 |
220 | 0 | }; |
221 | 0 | register unsigned int hval = 0; |
222 | |
|
223 | 0 | switch (len) |
224 | 0 | { |
225 | 0 | default: |
226 | 0 | hval += asso_values[(unsigned char)str[34]]; |
227 | | /*FALLTHROUGH*/ |
228 | 0 | case 34: |
229 | 0 | hval += asso_values[(unsigned char)str[33]]; |
230 | | /*FALLTHROUGH*/ |
231 | 0 | case 33: |
232 | 0 | hval += asso_values[(unsigned char)str[32]]; |
233 | | /*FALLTHROUGH*/ |
234 | 0 | case 32: |
235 | 0 | hval += asso_values[(unsigned char)str[31]]; |
236 | | /*FALLTHROUGH*/ |
237 | 0 | case 31: |
238 | 0 | hval += asso_values[(unsigned char)str[30]]; |
239 | | /*FALLTHROUGH*/ |
240 | 0 | case 30: |
241 | 0 | hval += asso_values[(unsigned char)str[29]]; |
242 | | /*FALLTHROUGH*/ |
243 | 0 | case 29: |
244 | 0 | hval += asso_values[(unsigned char)str[28]]; |
245 | | /*FALLTHROUGH*/ |
246 | 0 | case 28: |
247 | 0 | hval += asso_values[(unsigned char)str[27]]; |
248 | | /*FALLTHROUGH*/ |
249 | 0 | case 27: |
250 | 0 | hval += asso_values[(unsigned char)str[26]]; |
251 | | /*FALLTHROUGH*/ |
252 | 0 | case 26: |
253 | 0 | hval += asso_values[(unsigned char)str[25]]; |
254 | | /*FALLTHROUGH*/ |
255 | 0 | case 25: |
256 | 0 | hval += asso_values[(unsigned char)str[24]]; |
257 | | /*FALLTHROUGH*/ |
258 | 0 | case 24: |
259 | 0 | hval += asso_values[(unsigned char)str[23]]; |
260 | | /*FALLTHROUGH*/ |
261 | 0 | case 23: |
262 | 0 | hval += asso_values[(unsigned char)str[22]]; |
263 | | /*FALLTHROUGH*/ |
264 | 0 | case 22: |
265 | 0 | hval += asso_values[(unsigned char)str[21]]; |
266 | | /*FALLTHROUGH*/ |
267 | 0 | case 21: |
268 | 0 | hval += asso_values[(unsigned char)str[20]]; |
269 | | /*FALLTHROUGH*/ |
270 | 0 | case 20: |
271 | 0 | hval += asso_values[(unsigned char)str[19]]; |
272 | | /*FALLTHROUGH*/ |
273 | 0 | case 19: |
274 | 0 | hval += asso_values[(unsigned char)str[18]]; |
275 | | /*FALLTHROUGH*/ |
276 | 0 | case 18: |
277 | 0 | hval += asso_values[(unsigned char)str[17]]; |
278 | | /*FALLTHROUGH*/ |
279 | 0 | case 17: |
280 | 0 | hval += asso_values[(unsigned char)str[16]]; |
281 | | /*FALLTHROUGH*/ |
282 | 0 | case 16: |
283 | 0 | hval += asso_values[(unsigned char)str[15]]; |
284 | | /*FALLTHROUGH*/ |
285 | 0 | case 15: |
286 | 0 | hval += asso_values[(unsigned char)str[14]]; |
287 | | /*FALLTHROUGH*/ |
288 | 0 | case 14: |
289 | 0 | hval += asso_values[(unsigned char)str[13]]; |
290 | | /*FALLTHROUGH*/ |
291 | 0 | case 13: |
292 | 0 | hval += asso_values[(unsigned char)str[12]]; |
293 | | /*FALLTHROUGH*/ |
294 | 0 | case 12: |
295 | 0 | hval += asso_values[(unsigned char)str[11]]; |
296 | | /*FALLTHROUGH*/ |
297 | 0 | case 11: |
298 | 0 | hval += asso_values[(unsigned char)str[10]]; |
299 | | /*FALLTHROUGH*/ |
300 | 0 | case 10: |
301 | 0 | hval += asso_values[(unsigned char)str[9]]; |
302 | | /*FALLTHROUGH*/ |
303 | 0 | case 9: |
304 | 0 | hval += asso_values[(unsigned char)str[8]]; |
305 | | /*FALLTHROUGH*/ |
306 | 0 | case 8: |
307 | 0 | hval += asso_values[(unsigned char)str[7]]; |
308 | | /*FALLTHROUGH*/ |
309 | 0 | case 7: |
310 | 0 | hval += asso_values[(unsigned char)str[6]]; |
311 | | /*FALLTHROUGH*/ |
312 | 0 | case 6: |
313 | 0 | hval += asso_values[(unsigned char)str[5]]; |
314 | | /*FALLTHROUGH*/ |
315 | 0 | case 5: |
316 | 0 | hval += asso_values[(unsigned char)str[4]]; |
317 | | /*FALLTHROUGH*/ |
318 | 0 | case 4: |
319 | 0 | hval += asso_values[(unsigned char)str[3]]; |
320 | | /*FALLTHROUGH*/ |
321 | 0 | case 3: |
322 | 0 | hval += asso_values[(unsigned char)str[2]]; |
323 | | /*FALLTHROUGH*/ |
324 | 0 | case 2: |
325 | 0 | hval += asso_values[(unsigned char)str[1]]; |
326 | | /*FALLTHROUGH*/ |
327 | 0 | case 1: |
328 | 0 | hval += asso_values[(unsigned char)str[0]]; |
329 | 0 | break; |
330 | 0 | } |
331 | 0 | return hval; |
332 | 0 | } |
333 | | |
334 | | struct stringpool_t |
335 | | { |
336 | | char stringpool_str0[sizeof("TE")]; |
337 | | char stringpool_str1[sizeof("Via")]; |
338 | | char stringpool_str2[sizeof("Age")]; |
339 | | char stringpool_str3[sizeof("ETag")]; |
340 | | char stringpool_str4[sizeof("Range")]; |
341 | | char stringpool_str5[sizeof("Server")]; |
342 | | char stringpool_str6[sizeof("Connection")]; |
343 | | char stringpool_str7[sizeof("Origin")]; |
344 | | char stringpool_str8[sizeof("Location")]; |
345 | | char stringpool_str9[sizeof("Trailer")]; |
346 | | char stringpool_str10[sizeof("Content-Range")]; |
347 | | char stringpool_str11[sizeof("Date")]; |
348 | | char stringpool_str12[sizeof("DNT")]; |
349 | | char stringpool_str13[sizeof("Content-Location")]; |
350 | | char stringpool_str14[sizeof("Accept")]; |
351 | | char stringpool_str15[sizeof("Host")]; |
352 | | char stringpool_str16[sizeof("Vary")]; |
353 | | char stringpool_str17[sizeof("Ping-To")]; |
354 | | char stringpool_str18[sizeof("Content-Encoding")]; |
355 | | char stringpool_str19[sizeof("Accept-Ranges")]; |
356 | | char stringpool_str20[sizeof("Cache-Control")]; |
357 | | char stringpool_str21[sizeof("Last-Event-ID")]; |
358 | | char stringpool_str22[sizeof("Referer")]; |
359 | | char stringpool_str23[sizeof("User-Agent")]; |
360 | | char stringpool_str24[sizeof("If-Range")]; |
361 | | char stringpool_str25[sizeof("Content-Length")]; |
362 | | char stringpool_str26[sizeof("Server-Timing")]; |
363 | | char stringpool_str27[sizeof("Accept-Encoding")]; |
364 | | char stringpool_str28[sizeof("Content-Language")]; |
365 | | char stringpool_str29[sizeof("Pragma")]; |
366 | | char stringpool_str30[sizeof("Accept-Charset")]; |
367 | | char stringpool_str31[sizeof("Content-Type")]; |
368 | | char stringpool_str32[sizeof("Content-Disposition")]; |
369 | | char stringpool_str33[sizeof("Refresh")]; |
370 | | char stringpool_str34[sizeof("Accept-Language")]; |
371 | | char stringpool_str35[sizeof("Upgrade")]; |
372 | | char stringpool_str36[sizeof("Transfer-Encoding")]; |
373 | | char stringpool_str37[sizeof("Authorization")]; |
374 | | char stringpool_str38[sizeof("Purpose")]; |
375 | | char stringpool_str39[sizeof("Cookie")]; |
376 | | char stringpool_str40[sizeof("SourceMap")]; |
377 | | char stringpool_str41[sizeof("Expect")]; |
378 | | char stringpool_str42[sizeof("Set-Cookie")]; |
379 | | char stringpool_str43[sizeof("Link")]; |
380 | | char stringpool_str44[sizeof("Expires")]; |
381 | | char stringpool_str45[sizeof("If-Match")]; |
382 | | char stringpool_str46[sizeof("Cookie2")]; |
383 | | char stringpool_str47[sizeof("Ping-From")]; |
384 | | char stringpool_str48[sizeof("If-None-Match")]; |
385 | | char stringpool_str49[sizeof("Set-Cookie2")]; |
386 | | char stringpool_str50[sizeof("Referrer-Policy")]; |
387 | | char stringpool_str51[sizeof("Authentication-Info")]; |
388 | | char stringpool_str52[sizeof("Access-Control-Allow-Origin")]; |
389 | | char stringpool_str53[sizeof("Keep-Alive")]; |
390 | | char stringpool_str54[sizeof("Last-Modified")]; |
391 | | char stringpool_str55[sizeof("Access-Control-Max-Age")]; |
392 | | char stringpool_str56[sizeof("Cross-Origin-Resource-Policy")]; |
393 | | char stringpool_str57[sizeof("Timing-Allow-Origin")]; |
394 | | char stringpool_str58[sizeof("X-Temp-Tablet")]; |
395 | | char stringpool_str59[sizeof("Default-Style")]; |
396 | | char stringpool_str60[sizeof("Access-Control-Allow-Credentials")]; |
397 | | char stringpool_str61[sizeof("Content-Security-Policy")]; |
398 | | char stringpool_str62[sizeof("Access-Control-Allow-Headers")]; |
399 | | char stringpool_str63[sizeof("X-SourceMap")]; |
400 | | char stringpool_str64[sizeof("If-Modified-Since")]; |
401 | | char stringpool_str65[sizeof("Service-Worker")]; |
402 | | char stringpool_str66[sizeof("Access-Control-Request-Headers")]; |
403 | | char stringpool_str67[sizeof("X-Content-Type-Options")]; |
404 | | char stringpool_str68[sizeof("Access-Control-Expose-Headers")]; |
405 | | char stringpool_str69[sizeof("Sec-WebSocket-Version")]; |
406 | | char stringpool_str70[sizeof("X-Frame-Options")]; |
407 | | char stringpool_str71[sizeof("X-XSS-Protection")]; |
408 | | char stringpool_str72[sizeof("Access-Control-Allow-Methods")]; |
409 | | char stringpool_str73[sizeof("Sec-WebSocket-Accept")]; |
410 | | char stringpool_str74[sizeof("Proxy-Authenticate")]; |
411 | | char stringpool_str75[sizeof("If-Unmodified-Since")]; |
412 | | char stringpool_str76[sizeof("Access-Control-Request-Method")]; |
413 | | char stringpool_str77[sizeof("Sec-WebSocket-Protocol")]; |
414 | | char stringpool_str78[sizeof("X-DNS-Prefetch-Control")]; |
415 | | char stringpool_str79[sizeof("Proxy-Authorization")]; |
416 | | char stringpool_str80[sizeof("Upgrade-Insecure-Requests")]; |
417 | | char stringpool_str81[sizeof("Content-Security-Policy-Report-Only")]; |
418 | | char stringpool_str82[sizeof("Proxy-Authentication-Info")]; |
419 | | char stringpool_str83[sizeof("Sec-WebSocket-Extensions")]; |
420 | | char stringpool_str84[sizeof("WWW-Authenticate")]; |
421 | | char stringpool_str85[sizeof("Service-Worker-Allowed")]; |
422 | | char stringpool_str86[sizeof("Sec-WebSocket-Key")]; |
423 | | }; |
424 | | static const struct stringpool_t stringpool_contents = |
425 | | { |
426 | | "TE", |
427 | | "Via", |
428 | | "Age", |
429 | | "ETag", |
430 | | "Range", |
431 | | "Server", |
432 | | "Connection", |
433 | | "Origin", |
434 | | "Location", |
435 | | "Trailer", |
436 | | "Content-Range", |
437 | | "Date", |
438 | | "DNT", |
439 | | "Content-Location", |
440 | | "Accept", |
441 | | "Host", |
442 | | "Vary", |
443 | | "Ping-To", |
444 | | "Content-Encoding", |
445 | | "Accept-Ranges", |
446 | | "Cache-Control", |
447 | | "Last-Event-ID", |
448 | | "Referer", |
449 | | "User-Agent", |
450 | | "If-Range", |
451 | | "Content-Length", |
452 | | "Server-Timing", |
453 | | "Accept-Encoding", |
454 | | "Content-Language", |
455 | | "Pragma", |
456 | | "Accept-Charset", |
457 | | "Content-Type", |
458 | | "Content-Disposition", |
459 | | "Refresh", |
460 | | "Accept-Language", |
461 | | "Upgrade", |
462 | | "Transfer-Encoding", |
463 | | "Authorization", |
464 | | "Purpose", |
465 | | "Cookie", |
466 | | "SourceMap", |
467 | | "Expect", |
468 | | "Set-Cookie", |
469 | | "Link", |
470 | | "Expires", |
471 | | "If-Match", |
472 | | "Cookie2", |
473 | | "Ping-From", |
474 | | "If-None-Match", |
475 | | "Set-Cookie2", |
476 | | "Referrer-Policy", |
477 | | "Authentication-Info", |
478 | | "Access-Control-Allow-Origin", |
479 | | "Keep-Alive", |
480 | | "Last-Modified", |
481 | | "Access-Control-Max-Age", |
482 | | "Cross-Origin-Resource-Policy", |
483 | | "Timing-Allow-Origin", |
484 | | "X-Temp-Tablet", |
485 | | "Default-Style", |
486 | | "Access-Control-Allow-Credentials", |
487 | | "Content-Security-Policy", |
488 | | "Access-Control-Allow-Headers", |
489 | | "X-SourceMap", |
490 | | "If-Modified-Since", |
491 | | "Service-Worker", |
492 | | "Access-Control-Request-Headers", |
493 | | "X-Content-Type-Options", |
494 | | "Access-Control-Expose-Headers", |
495 | | "Sec-WebSocket-Version", |
496 | | "X-Frame-Options", |
497 | | "X-XSS-Protection", |
498 | | "Access-Control-Allow-Methods", |
499 | | "Sec-WebSocket-Accept", |
500 | | "Proxy-Authenticate", |
501 | | "If-Unmodified-Since", |
502 | | "Access-Control-Request-Method", |
503 | | "Sec-WebSocket-Protocol", |
504 | | "X-DNS-Prefetch-Control", |
505 | | "Proxy-Authorization", |
506 | | "Upgrade-Insecure-Requests", |
507 | | "Content-Security-Policy-Report-Only", |
508 | | "Proxy-Authentication-Info", |
509 | | "Sec-WebSocket-Extensions", |
510 | | "WWW-Authenticate", |
511 | | "Service-Worker-Allowed", |
512 | | "Sec-WebSocket-Key" |
513 | | }; |
514 | 0 | #define stringpool ((const char *) &stringpool_contents) |
515 | | |
516 | | static const struct SoupHeaderHashEntry wordlist[] = |
517 | | { |
518 | | {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str0, SOUP_HEADER_TE}, |
519 | | {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str1, SOUP_HEADER_VIA}, |
520 | | {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str2, SOUP_HEADER_AGE}, |
521 | | {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str3, SOUP_HEADER_ETAG}, |
522 | | {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str4, SOUP_HEADER_RANGE}, |
523 | | {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str5, SOUP_HEADER_SERVER}, |
524 | | {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str6, SOUP_HEADER_CONNECTION}, |
525 | | {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str7, SOUP_HEADER_ORIGIN}, |
526 | | {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str8, SOUP_HEADER_LOCATION}, |
527 | | {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str9, SOUP_HEADER_TRAILER}, |
528 | | {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str10, SOUP_HEADER_CONTENT_RANGE}, |
529 | | {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str11, SOUP_HEADER_DATE}, |
530 | | {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str12, SOUP_HEADER_DNT}, |
531 | | {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str13, SOUP_HEADER_CONTENT_LOCATION}, |
532 | | {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str14, SOUP_HEADER_ACCEPT}, |
533 | | {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str15, SOUP_HEADER_HOST}, |
534 | | {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str16, SOUP_HEADER_VARY}, |
535 | | {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str17, SOUP_HEADER_PING_TO}, |
536 | | {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str18, SOUP_HEADER_CONTENT_ENCODING}, |
537 | | {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str19, SOUP_HEADER_ACCEPT_RANGES}, |
538 | | {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str20, SOUP_HEADER_CACHE_CONTROL}, |
539 | | {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str21, SOUP_HEADER_LAST_EVENT_ID}, |
540 | | {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str22, SOUP_HEADER_REFERER}, |
541 | | {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str23, SOUP_HEADER_USER_AGENT}, |
542 | | {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str24, SOUP_HEADER_IF_RANGE}, |
543 | | {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str25, SOUP_HEADER_CONTENT_LENGTH}, |
544 | | {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str26, SOUP_HEADER_SERVER_TIMING}, |
545 | | {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str27, SOUP_HEADER_ACCEPT_ENCODING}, |
546 | | {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str28, SOUP_HEADER_CONTENT_LANGUAGE}, |
547 | | {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str29, SOUP_HEADER_PRAGMA}, |
548 | | {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str30, SOUP_HEADER_ACCEPT_CHARSET}, |
549 | | {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str31, SOUP_HEADER_CONTENT_TYPE}, |
550 | | {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str32, SOUP_HEADER_CONTENT_DISPOSITION}, |
551 | | {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str33, SOUP_HEADER_REFRESH}, |
552 | | {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str34, SOUP_HEADER_ACCEPT_LANGUAGE}, |
553 | | {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str35, SOUP_HEADER_UPGRADE}, |
554 | | {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str36, SOUP_HEADER_TRANSFER_ENCODING}, |
555 | | {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str37, SOUP_HEADER_AUTHORIZATION}, |
556 | | {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str38, SOUP_HEADER_PURPOSE}, |
557 | | {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str39, SOUP_HEADER_COOKIE}, |
558 | | {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str40, SOUP_HEADER_SOURCEMAP}, |
559 | | {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str41, SOUP_HEADER_EXPECT}, |
560 | | {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str42, SOUP_HEADER_SET_COOKIE}, |
561 | | {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str43, SOUP_HEADER_LINK}, |
562 | | {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str44, SOUP_HEADER_EXPIRES}, |
563 | | {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str45, SOUP_HEADER_IF_MATCH}, |
564 | | {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str46, SOUP_HEADER_COOKIE2}, |
565 | | {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str47, SOUP_HEADER_PING_FROM}, |
566 | | {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str48, SOUP_HEADER_IF_NONE_MATCH}, |
567 | | {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str49, SOUP_HEADER_SET_COOKIE2}, |
568 | | {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str50, SOUP_HEADER_REFERRER_POLICY}, |
569 | | {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str51, SOUP_HEADER_AUTHENTICATION_INFO}, |
570 | | {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str52, SOUP_HEADER_ACCESS_CONTROL_ALLOW_ORIGIN}, |
571 | | {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str53, SOUP_HEADER_KEEP_ALIVE}, |
572 | | {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str54, SOUP_HEADER_LAST_MODIFIED}, |
573 | | {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str55, SOUP_HEADER_ACCESS_CONTROL_MAX_AGE}, |
574 | | {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str56, SOUP_HEADER_CROSS_ORIGIN_RESOURCE_POLICY}, |
575 | | {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str57, SOUP_HEADER_TIMING_ALLOW_ORIGIN}, |
576 | | {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str58, SOUP_HEADER_X_TEMP_TABLET}, |
577 | | {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str59, SOUP_HEADER_DEFAULT_STYLE}, |
578 | | {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str60, SOUP_HEADER_ACCESS_CONTROL_ALLOW_CREDENTIALS}, |
579 | | {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str61, SOUP_HEADER_CONTENT_SECURITY_POLICY}, |
580 | | {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str62, SOUP_HEADER_ACCESS_CONTROL_ALLOW_HEADERS}, |
581 | | {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str63, SOUP_HEADER_X_SOURCEMAP}, |
582 | | {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str64, SOUP_HEADER_IF_MODIFIED_SINCE}, |
583 | | {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str65, SOUP_HEADER_SERVICE_WORKER}, |
584 | | {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str66, SOUP_HEADER_ACCESS_CONTROL_REQUEST_HEADERS}, |
585 | | {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str67, SOUP_HEADER_X_CONTENT_TYPE_OPTIONS}, |
586 | | {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str68, SOUP_HEADER_ACCESS_CONTROL_EXPOSE_HEADERS}, |
587 | | {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str69, SOUP_HEADER_SEC_WEBSOCKET_VERSION}, |
588 | | {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str70, SOUP_HEADER_X_FRAME_OPTIONS}, |
589 | | {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str71, SOUP_HEADER_X_XSS_PROTECTION}, |
590 | | {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str72, SOUP_HEADER_ACCESS_CONTROL_ALLOW_METHODS}, |
591 | | {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str73, SOUP_HEADER_SEC_WEBSOCKET_ACCEPT}, |
592 | | {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str74, SOUP_HEADER_PROXY_AUTHENTICATE}, |
593 | | {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str75, SOUP_HEADER_IF_UNMODIFIED_SINCE}, |
594 | | {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str76, SOUP_HEADER_ACCESS_CONTROL_REQUEST_METHOD}, |
595 | | {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str77, SOUP_HEADER_SEC_WEBSOCKET_PROTOCOL}, |
596 | | {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str78, SOUP_HEADER_X_DNS_PREFETCH_CONTROL}, |
597 | | {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str79, SOUP_HEADER_PROXY_AUTHORIZATION}, |
598 | | {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str80, SOUP_HEADER_UPGRADE_INSECURE_REQUESTS}, |
599 | | {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str81, SOUP_HEADER_CONTENT_SECURITY_POLICY_REPORT_ONLY}, |
600 | | {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str82, SOUP_HEADER_PROXY_AUTHENTICATION_INFO}, |
601 | | {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str83, SOUP_HEADER_SEC_WEBSOCKET_EXTENSIONS}, |
602 | | {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str84, SOUP_HEADER_WWW_AUTHENTICATE}, |
603 | | {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str85, SOUP_HEADER_SERVICE_WORKER_ALLOWED}, |
604 | | {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str86, SOUP_HEADER_SEC_WEBSOCKET_KEY} |
605 | | }; |
606 | | |
607 | | static const signed char lookup[] = |
608 | | { |
609 | | -1, -1, -1, -1, -1, 0, -1, -1, -1, 1, 2, -1, -1, -1, |
610 | | -1, 3, -1, -1, -1, -1, 4, -1, -1, -1, 5, 6, -1, -1, |
611 | | -1, -1, 7, -1, -1, -1, -1, 8, -1, -1, -1, -1, 9, -1, |
612 | | -1, -1, -1, 10, -1, -1, -1, -1, 11, -1, -1, -1, -1, 12, |
613 | | -1, -1, -1, -1, 13, -1, -1, -1, -1, 14, -1, -1, -1, -1, |
614 | | -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 15, -1, -1, -1, |
615 | | 16, -1, -1, -1, -1, -1, 17, -1, -1, -1, -1, 18, -1, -1, |
616 | | -1, -1, 19, -1, -1, -1, -1, 20, -1, -1, -1, 21, 22, -1, |
617 | | -1, -1, -1, 23, -1, -1, -1, -1, -1, -1, -1, -1, -1, 24, |
618 | | -1, -1, -1, -1, 25, -1, -1, -1, 26, -1, -1, -1, -1, -1, |
619 | | 27, -1, -1, -1, -1, 28, -1, -1, -1, -1, 29, -1, -1, -1, |
620 | | -1, 30, -1, -1, -1, -1, -1, -1, -1, -1, -1, 31, -1, -1, |
621 | | -1, -1, -1, -1, -1, -1, -1, 32, -1, -1, -1, -1, 33, -1, |
622 | | -1, -1, -1, -1, -1, -1, -1, -1, 34, -1, -1, -1, -1, 35, |
623 | | -1, -1, -1, -1, 36, -1, -1, -1, -1, 37, -1, -1, -1, -1, |
624 | | 38, -1, -1, -1, -1, 39, -1, -1, -1, -1, -1, -1, -1, -1, |
625 | | -1, 40, -1, -1, -1, -1, 41, -1, -1, -1, -1, 42, -1, -1, |
626 | | -1, -1, 43, -1, -1, -1, -1, 44, -1, -1, -1, -1, 45, -1, |
627 | | -1, -1, -1, 46, -1, -1, -1, -1, 47, -1, -1, -1, -1, 48, |
628 | | -1, -1, -1, -1, -1, -1, -1, -1, -1, 49, -1, -1, -1, -1, |
629 | | 50, -1, -1, -1, -1, 51, -1, -1, -1, -1, -1, -1, -1, -1, |
630 | | -1, 52, -1, -1, -1, -1, -1, -1, -1, -1, 53, -1, -1, -1, |
631 | | -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, -1, 55, -1, |
632 | | -1, -1, -1, 56, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, |
633 | | -1, -1, -1, -1, 57, -1, -1, -1, -1, -1, -1, -1, -1, -1, |
634 | | 58, -1, -1, -1, -1, 59, -1, -1, -1, -1, 60, -1, -1, -1, |
635 | | -1, 61, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, |
636 | | -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 62, -1, |
637 | | -1, -1, -1, 63, -1, -1, -1, -1, 64, -1, -1, -1, 65, -1, |
638 | | -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, |
639 | | 66, -1, -1, -1, -1, 67, -1, -1, -1, -1, 68, -1, -1, -1, |
640 | | 69, 70, -1, -1, -1, -1, -1, -1, -1, -1, -1, 71, -1, -1, |
641 | | -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, |
642 | | -1, -1, -1, 72, -1, -1, -1, -1, 73, -1, -1, -1, -1, 74, |
643 | | -1, -1, -1, -1, 75, -1, -1, -1, -1, 76, -1, -1, -1, -1, |
644 | | -1, -1, -1, -1, -1, 77, -1, -1, -1, -1, -1, -1, -1, -1, |
645 | | -1, 78, -1, -1, -1, -1, -1, -1, -1, -1, -1, 79, -1, -1, |
646 | | -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, |
647 | | -1, -1, -1, -1, -1, -1, -1, -1, 80, -1, -1, -1, -1, -1, |
648 | | -1, -1, -1, -1, 81, -1, -1, -1, -1, -1, -1, -1, -1, -1, |
649 | | -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, |
650 | | -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, |
651 | | -1, -1, -1, -1, -1, -1, -1, 82, -1, -1, -1, -1, -1, -1, |
652 | | -1, -1, -1, -1, -1, -1, -1, -1, 83, -1, -1, -1, -1, -1, |
653 | | -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, |
654 | | -1, -1, -1, -1, -1, 84, -1, -1, -1, -1, -1, -1, -1, -1, |
655 | | -1, -1, -1, -1, -1, 85, -1, -1, -1, -1, -1, -1, -1, -1, |
656 | | -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, |
657 | | -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, |
658 | | -1, -1, -1, -1, 86 |
659 | | }; |
660 | | |
661 | | static const struct SoupHeaderHashEntry * |
662 | | soup_header_name_find (register const char *str, register size_t len) |
663 | 0 | { |
664 | 0 | if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH) |
665 | 0 | { |
666 | 0 | register unsigned int key = soup_header_name_hash_function (str, len); |
667 | |
|
668 | 0 | if (key <= MAX_HASH_VALUE) |
669 | 0 | { |
670 | 0 | register int index = lookup[key]; |
671 | |
|
672 | 0 | if (index >= 0) |
673 | 0 | { |
674 | 0 | register const char *s = wordlist[index].name + stringpool; |
675 | |
|
676 | 0 | if ((((unsigned char)*str ^ (unsigned char)*s) & ~32) == 0 && !gperf_case_strncmp (str, s, len) && s[len] == '\0') |
677 | 0 | return &wordlist[index]; |
678 | 0 | } |
679 | 0 | } |
680 | 0 | } |
681 | 0 | return 0; |
682 | 0 | } |
683 | | |
684 | | SoupHeaderName soup_header_name_from_string (const char *str) |
685 | 0 | { |
686 | 0 | const struct SoupHeaderHashEntry *entry; |
687 | |
|
688 | 0 | entry = soup_header_name_find (str, strlen (str)); |
689 | 0 | return entry ? entry->header_name : SOUP_HEADER_UNKNOWN; |
690 | 0 | } |
691 | | |
692 | | const char *soup_header_name_to_string (SoupHeaderName name) |
693 | 0 | { |
694 | 0 | if (name == SOUP_HEADER_UNKNOWN) |
695 | 0 | return NULL; |
696 | | |
697 | 0 | return soup_headr_name_strings[name]; |
698 | 0 | } |