Absolute File Name: | /home/opencoverage/opencoverage/guest-scripts/libressl/src/ssl/ssl_versions.c |
Switch to Source code | Preprocessed file |
Line | Source | Count | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | - | |||||||||||||||||||
2 | static int | - | ||||||||||||||||||
3 | ssl_clamp_version_range(uint16_t *min_ver, uint16_t *max_ver, | - | ||||||||||||||||||
4 | uint16_t clamp_min, uint16_t clamp_max) | - | ||||||||||||||||||
5 | { | - | ||||||||||||||||||
6 | if (clamp_min > clamp_max
| 0-414 | ||||||||||||||||||
7 | return executed 5 times by 1 test: 0;return 0; Executed by:
executed 5 times by 1 test: return 0; Executed by:
| 5 | ||||||||||||||||||
8 | if (clamp_max < *min_ver
| 0-408 | ||||||||||||||||||
9 | return executed 1 time by 1 test: 0;return 0; Executed by:
executed 1 time by 1 test: return 0; Executed by:
| 1 | ||||||||||||||||||
10 | - | |||||||||||||||||||
11 | if (*
| 10-398 | ||||||||||||||||||
12 | * executed 10 times by 2 tests: min_ver = clamp_min;*min_ver = clamp_min; Executed by:
executed 10 times by 2 tests: *min_ver = clamp_min; Executed by:
| 10 | ||||||||||||||||||
13 | if (*
| 66-342 | ||||||||||||||||||
14 | * executed 66 times by 3 tests: max_ver = clamp_max;*max_ver = clamp_max; Executed by:
executed 66 times by 3 tests: *max_ver = clamp_max; Executed by:
| 66 | ||||||||||||||||||
15 | - | |||||||||||||||||||
16 | return executed 408 times by 5 tests: 1;return 1; Executed by:
executed 408 times by 5 tests: return 1; Executed by:
| 408 | ||||||||||||||||||
17 | } | - | ||||||||||||||||||
18 | - | |||||||||||||||||||
19 | int | - | ||||||||||||||||||
20 | ssl_version_set_min(const SSL_METHOD *meth, uint16_t ver, uint16_t max_ver, | - | ||||||||||||||||||
21 | uint16_t *out_ver) | - | ||||||||||||||||||
22 | { | - | ||||||||||||||||||
23 | uint16_t min_version, max_version; | - | ||||||||||||||||||
24 | - | |||||||||||||||||||
25 | if (ver == 0
| 17-18 | ||||||||||||||||||
26 | *out_ver = meth->internal->min_version; | - | ||||||||||||||||||
27 | return executed 18 times by 1 test: 1;return 1; Executed by:
executed 18 times by 1 test: return 1; Executed by:
| 18 | ||||||||||||||||||
28 | } | - | ||||||||||||||||||
29 | - | |||||||||||||||||||
30 | min_version = ver; | - | ||||||||||||||||||
31 | max_version = max_ver; | - | ||||||||||||||||||
32 | - | |||||||||||||||||||
33 | if (!ssl_clamp_version_range(&min_version, &max_version,
| 2-15 | ||||||||||||||||||
34 | meth->internal->min_version, meth->internal->max_version)
| 2-15 | ||||||||||||||||||
35 | return executed 2 times by 1 test: 0;return 0; Executed by:
executed 2 times by 1 test: return 0; Executed by:
| 2 | ||||||||||||||||||
36 | - | |||||||||||||||||||
37 | *out_ver = min_version; | - | ||||||||||||||||||
38 | - | |||||||||||||||||||
39 | return executed 15 times by 1 test: 1;return 1; Executed by:
executed 15 times by 1 test: return 1; Executed by:
| 15 | ||||||||||||||||||
40 | } | - | ||||||||||||||||||
41 | - | |||||||||||||||||||
42 | int | - | ||||||||||||||||||
43 | ssl_version_set_max(const SSL_METHOD *meth, uint16_t ver, uint16_t min_ver, | - | ||||||||||||||||||
44 | uint16_t *out_ver) | - | ||||||||||||||||||
45 | { | - | ||||||||||||||||||
46 | uint16_t min_version, max_version; | - | ||||||||||||||||||
47 | - | |||||||||||||||||||
48 | if (ver == 0
| 16-17 | ||||||||||||||||||
49 | *out_ver = meth->internal->max_version; | - | ||||||||||||||||||
50 | return executed 16 times by 1 test: 1;return 1; Executed by:
executed 16 times by 1 test: return 1; Executed by:
| 16 | ||||||||||||||||||
51 | } | - | ||||||||||||||||||
52 | - | |||||||||||||||||||
53 | min_version = min_ver; | - | ||||||||||||||||||
54 | max_version = ver; | - | ||||||||||||||||||
55 | - | |||||||||||||||||||
56 | if (!ssl_clamp_version_range(&min_version, &max_version,
| 3-14 | ||||||||||||||||||
57 | meth->internal->min_version, meth->internal->max_version)
| 3-14 | ||||||||||||||||||
58 | return executed 3 times by 1 test: 0;return 0; Executed by:
executed 3 times by 1 test: return 0; Executed by:
| 3 | ||||||||||||||||||
59 | - | |||||||||||||||||||
60 | *out_ver = max_version; | - | ||||||||||||||||||
61 | - | |||||||||||||||||||
62 | return executed 14 times by 1 test: 1;return 1; Executed by:
executed 14 times by 1 test: return 1; Executed by:
| 14 | ||||||||||||||||||
63 | } | - | ||||||||||||||||||
64 | - | |||||||||||||||||||
65 | int | - | ||||||||||||||||||
66 | ssl_enabled_version_range(SSL *s, uint16_t *min_ver, uint16_t *max_ver) | - | ||||||||||||||||||
67 | { | - | ||||||||||||||||||
68 | uint16_t min_version, max_version; | - | ||||||||||||||||||
69 | min_version = 0; | - | ||||||||||||||||||
70 | max_version = 0x0303; | - | ||||||||||||||||||
71 | - | |||||||||||||||||||
72 | if ((
| 21-178 | ||||||||||||||||||
73 | min_version = 0x0301; executed 178 times by 4 tests: min_version = 0x0301; Executed by:
| 178 | ||||||||||||||||||
74 | else if ((
| 4-17 | ||||||||||||||||||
75 | min_version = 0x0302; executed 4 times by 1 test: min_version = 0x0302; Executed by:
| 4 | ||||||||||||||||||
76 | else if ((
| 2-15 | ||||||||||||||||||
77 | min_version = 0x0303; executed 15 times by 3 tests: min_version = 0x0303; Executed by:
| 15 | ||||||||||||||||||
78 | - | |||||||||||||||||||
79 | if ((
| 0-189 | ||||||||||||||||||
80 | max_version = 0x0302; executed 10 times by 2 tests: max_version = 0x0302; Executed by:
| 10 | ||||||||||||||||||
81 | if ((
| 8-176 | ||||||||||||||||||
82 | max_version = 0x0301; executed 8 times by 2 tests: max_version = 0x0301; Executed by:
| 8 | ||||||||||||||||||
83 | if ((
| 2-178 | ||||||||||||||||||
84 | max_version = 0; executed 2 times by 1 test: max_version = 0; Executed by:
| 2 | ||||||||||||||||||
85 | - | |||||||||||||||||||
86 | - | |||||||||||||||||||
87 | if (min_version == 0
| 0-197 | ||||||||||||||||||
88 | return executed 2 times by 1 test: 0;return 0; Executed by:
executed 2 times by 1 test: return 0; Executed by:
| 2 | ||||||||||||||||||
89 | - | |||||||||||||||||||
90 | - | |||||||||||||||||||
91 | if (!ssl_clamp_version_range(&min_version, &max_version,
| 0-197 | ||||||||||||||||||
92 | s->internal->min_version, s->internal->max_version)
| 0-197 | ||||||||||||||||||
93 | return never executed: 0;return 0; never executed: return 0; | 0 | ||||||||||||||||||
94 | - | |||||||||||||||||||
95 | if (min_ver !=
| 0-197 | ||||||||||||||||||
96 | ((void *)0)
| 0-197 | ||||||||||||||||||
97 | ) | - | ||||||||||||||||||
98 | * executed 197 times by 5 tests: min_ver = min_version;*min_ver = min_version; Executed by:
executed 197 times by 5 tests: *min_ver = min_version; Executed by:
| 197 | ||||||||||||||||||
99 | if (max_ver !=
| 2-195 | ||||||||||||||||||
100 | ((void *)0)
| 2-195 | ||||||||||||||||||
101 | ) | - | ||||||||||||||||||
102 | * executed 195 times by 5 tests: max_ver = max_version;*max_ver = max_version; Executed by:
executed 195 times by 5 tests: *max_ver = max_version; Executed by:
| 195 | ||||||||||||||||||
103 | - | |||||||||||||||||||
104 | return executed 197 times by 5 tests: 1;return 1; Executed by:
executed 197 times by 5 tests: return 1; Executed by:
| 197 | ||||||||||||||||||
105 | } | - | ||||||||||||||||||
106 | - | |||||||||||||||||||
107 | int | - | ||||||||||||||||||
108 | ssl_supported_version_range(SSL *s, uint16_t *min_ver, uint16_t *max_ver) | - | ||||||||||||||||||
109 | { | - | ||||||||||||||||||
110 | uint16_t min_version, max_version; | - | ||||||||||||||||||
111 | - | |||||||||||||||||||
112 | - | |||||||||||||||||||
113 | if ((
| 23-184 | ||||||||||||||||||
114 | min_version = max_version = 0xFEFF; | - | ||||||||||||||||||
115 | goto executed 23 times by 2 tests: done;goto done; Executed by:
executed 23 times by 2 tests: goto done; Executed by:
| 23 | ||||||||||||||||||
116 | } | - | ||||||||||||||||||
117 | - | |||||||||||||||||||
118 | if (!ssl_enabled_version_range(s, &min_version, &max_version)
| 1-183 | ||||||||||||||||||
119 | return executed 1 time by 1 test: 0;return 0; Executed by:
executed 1 time by 1 test: return 0; Executed by:
| 1 | ||||||||||||||||||
120 | - | |||||||||||||||||||
121 | - | |||||||||||||||||||
122 | if (!ssl_clamp_version_range(&min_version, &max_version,
| 1-182 | ||||||||||||||||||
123 | s->method->internal->min_version,
| 1-182 | ||||||||||||||||||
124 | s->method->internal->max_version)
| 1-182 | ||||||||||||||||||
125 | return executed 1 time by 1 test: 0;return 0; Executed by:
executed 1 time by 1 test: return 0; Executed by:
| 1 | ||||||||||||||||||
126 | - | |||||||||||||||||||
127 | done: code before this statement executed 182 times by 5 tests: done: Executed by:
| 182 | ||||||||||||||||||
128 | if (min_ver !=
| 74-131 | ||||||||||||||||||
129 | ((void *)0)
| 74-131 | ||||||||||||||||||
130 | ) | - | ||||||||||||||||||
131 | * executed 131 times by 4 tests: min_ver = min_version;*min_ver = min_version; Executed by:
executed 131 times by 4 tests: *min_ver = min_version; Executed by:
| 131 | ||||||||||||||||||
132 | if (max_ver !=
| 0-205 | ||||||||||||||||||
133 | ((void *)0)
| 0-205 | ||||||||||||||||||
134 | ) | - | ||||||||||||||||||
135 | * executed 205 times by 5 tests: max_ver = max_version;*max_ver = max_version; Executed by:
executed 205 times by 5 tests: *max_ver = max_version; Executed by:
| 205 | ||||||||||||||||||
136 | - | |||||||||||||||||||
137 | return executed 205 times by 5 tests: 1;return 1; Executed by:
executed 205 times by 5 tests: return 1; Executed by:
| 205 | ||||||||||||||||||
138 | } | - | ||||||||||||||||||
139 | - | |||||||||||||||||||
140 | int | - | ||||||||||||||||||
141 | ssl_max_shared_version(SSL *s, uint16_t peer_ver, uint16_t *max_ver) | - | ||||||||||||||||||
142 | { | - | ||||||||||||||||||
143 | uint16_t min_version, max_version, shared_version; | - | ||||||||||||||||||
144 | - | |||||||||||||||||||
145 | *max_ver = 0; | - | ||||||||||||||||||
146 | - | |||||||||||||||||||
147 | if ((
| 13-72 | ||||||||||||||||||
148 | if (peer_ver >= 0xFEFF
| 1-12 | ||||||||||||||||||
149 | *max_ver = 0xFEFF; | - | ||||||||||||||||||
150 | return executed 12 times by 2 tests: 1;return 1; Executed by:
executed 12 times by 2 tests: return 1; Executed by:
| 12 | ||||||||||||||||||
151 | } | - | ||||||||||||||||||
152 | return executed 1 time by 1 test: 0;return 0; Executed by:
executed 1 time by 1 test: return 0; Executed by:
| 1 | ||||||||||||||||||
153 | } | - | ||||||||||||||||||
154 | - | |||||||||||||||||||
155 | if (peer_ver >= 0x0303
| 30-42 | ||||||||||||||||||
156 | shared_version = 0x0303; executed 42 times by 4 tests: shared_version = 0x0303; Executed by:
| 42 | ||||||||||||||||||
157 | else if (peer_ver >= 0x0302
| 5-25 | ||||||||||||||||||
158 | shared_version = 0x0302; executed 5 times by 1 test: shared_version = 0x0302; Executed by:
| 5 | ||||||||||||||||||
159 | else if (peer_ver >= 0x0301
| 2-23 | ||||||||||||||||||
160 | shared_version = 0x0301; executed 23 times by 3 tests: shared_version = 0x0301; Executed by:
| 23 | ||||||||||||||||||
161 | else | - | ||||||||||||||||||
162 | return executed 2 times by 1 test: 0;return 0; Executed by:
executed 2 times by 1 test: return 0; Executed by:
| 2 | ||||||||||||||||||
163 | - | |||||||||||||||||||
164 | if (!ssl_supported_version_range(s, &min_version, &max_version)
| 2-68 | ||||||||||||||||||
165 | return executed 2 times by 1 test: 0;return 0; Executed by:
executed 2 times by 1 test: return 0; Executed by:
| 2 | ||||||||||||||||||
166 | - | |||||||||||||||||||
167 | if (shared_version < min_version
| 2-66 | ||||||||||||||||||
168 | return executed 2 times by 1 test: 0;return 0; Executed by:
executed 2 times by 1 test: return 0; Executed by:
| 2 | ||||||||||||||||||
169 | - | |||||||||||||||||||
170 | if (shared_version > max_version
| 5-61 | ||||||||||||||||||
171 | shared_version = max_version; executed 5 times by 1 test: shared_version = max_version; Executed by:
| 5 | ||||||||||||||||||
172 | - | |||||||||||||||||||
173 | *max_ver = shared_version; | - | ||||||||||||||||||
174 | - | |||||||||||||||||||
175 | return executed 66 times by 4 tests: 1;return 1; Executed by:
executed 66 times by 4 tests: return 1; Executed by:
| 66 | ||||||||||||||||||
176 | } | - | ||||||||||||||||||
177 | - | |||||||||||||||||||
178 | uint16_t | - | ||||||||||||||||||
179 | ssl_max_server_version(SSL *s) | - | ||||||||||||||||||
180 | { | - | ||||||||||||||||||
181 | uint16_t max_version, min_version = 0; | - | ||||||||||||||||||
182 | - | |||||||||||||||||||
183 | if ((
| 0 | ||||||||||||||||||
184 | return never executed: (0xFEFF);return (0xFEFF); never executed: return (0xFEFF); | 0 | ||||||||||||||||||
185 | - | |||||||||||||||||||
186 | if (!ssl_enabled_version_range(s, &min_version, &max_version)
| 0 | ||||||||||||||||||
187 | return never executed: 0;return 0; never executed: return 0; | 0 | ||||||||||||||||||
188 | - | |||||||||||||||||||
189 | - | |||||||||||||||||||
190 | - | |||||||||||||||||||
191 | - | |||||||||||||||||||
192 | - | |||||||||||||||||||
193 | - | |||||||||||||||||||
194 | if (!ssl_clamp_version_range(&min_version, &max_version,
| 0 | ||||||||||||||||||
195 | s->ctx->method->internal->min_version,
| 0 | ||||||||||||||||||
196 | s->ctx->method->internal->max_version)
| 0 | ||||||||||||||||||
197 | return never executed: 0;return 0; never executed: return 0; | 0 | ||||||||||||||||||
198 | - | |||||||||||||||||||
199 | return never executed: (max_version);return (max_version); never executed: return (max_version); | 0 | ||||||||||||||||||
200 | } | - | ||||||||||||||||||
Switch to Source code | Preprocessed file |