Commit 6c6f16a
committed
Refactor: Cipher_Mode::finish_msg() using std::span
Previously, the internal customization point finish_msg() did take a
std::vector and re-allocated it to accomodate or discard encryption
overhead such as paddings and/or AEAD tags. This forces downstream users
into using a std::vector and potentially copy data, even when they could
pre-allocate enough memory out-of-band in their application.
Additionally, an offset was provided to deal with prefix bytes within
the vector that should not be processed. The handling of this offset was
duplicated in each concrete Cipher_Mode implementation. This is now
factored out into the base class.
The changes in this commit are not public-facing as they just affect the
internal customization point.1 parent 7e2aead commit 6c6f16a
File tree
27 files changed
+727
-523
lines changed- src
- fuzzer
- lib
- modes
- aead
- ccm
- chacha20poly1305
- eax
- gcm
- ocb
- siv
- cbc
- cfb
- xts
- prov/commoncrypto
- tls/tls12
- tls_cbc
- tls_null
- tests
27 files changed
+727
-523
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
161 | 161 | | |
162 | 162 | | |
163 | 163 | | |
164 | | - | |
| 164 | + | |
165 | 165 | | |
166 | 166 | | |
167 | 167 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
11 | 11 | | |
12 | 12 | | |
13 | 13 | | |
| 14 | + | |
14 | 15 | | |
15 | 16 | | |
16 | 17 | | |
| |||
168 | 169 | | |
169 | 170 | | |
170 | 171 | | |
171 | | - | |
172 | | - | |
| 172 | + | |
| 173 | + | |
| 174 | + | |
173 | 175 | | |
174 | | - | |
| 176 | + | |
175 | 177 | | |
176 | | - | |
177 | | - | |
| 178 | + | |
| 179 | + | |
178 | 180 | | |
179 | 181 | | |
180 | 182 | | |
181 | 183 | | |
182 | 184 | | |
183 | 185 | | |
| 186 | + | |
| 187 | + | |
184 | 188 | | |
185 | | - | |
| 189 | + | |
186 | 190 | | |
187 | | - | |
188 | | - | |
| 191 | + | |
| 192 | + | |
| 193 | + | |
189 | 194 | | |
190 | 195 | | |
191 | 196 | | |
| |||
196 | 201 | | |
197 | 202 | | |
198 | 203 | | |
199 | | - | |
| 204 | + | |
| 205 | + | |
| 206 | + | |
| 207 | + | |
| 208 | + | |
| 209 | + | |
| 210 | + | |
| 211 | + | |
| 212 | + | |
| 213 | + | |
200 | 214 | | |
201 | | - | |
202 | | - | |
| 215 | + | |
| 216 | + | |
| 217 | + | |
| 218 | + | |
203 | 219 | | |
204 | | - | |
| 220 | + | |
205 | 221 | | |
206 | 222 | | |
207 | 223 | | |
208 | | - | |
| 224 | + | |
209 | 225 | | |
210 | | - | |
211 | | - | |
212 | 226 | | |
213 | 227 | | |
214 | 228 | | |
215 | 229 | | |
216 | | - | |
| 230 | + | |
| 231 | + | |
217 | 232 | | |
218 | 233 | | |
219 | | - | |
220 | 234 | | |
221 | | - | |
222 | | - | |
| 235 | + | |
| 236 | + | |
223 | 237 | | |
224 | | - | |
| 238 | + | |
| 239 | + | |
| 240 | + | |
225 | 241 | | |
226 | | - | |
227 | | - | |
| 242 | + | |
| 243 | + | |
228 | 244 | | |
229 | | - | |
| 245 | + | |
| 246 | + | |
230 | 247 | | |
231 | 248 | | |
232 | 249 | | |
233 | 250 | | |
234 | 251 | | |
235 | 252 | | |
236 | 253 | | |
237 | | - | |
| 254 | + | |
238 | 255 | | |
239 | | - | |
240 | | - | |
| 256 | + | |
| 257 | + | |
| 258 | + | |
241 | 259 | | |
242 | 260 | | |
243 | 261 | | |
| |||
249 | 267 | | |
250 | 268 | | |
251 | 269 | | |
252 | | - | |
| 270 | + | |
| 271 | + | |
| 272 | + | |
| 273 | + | |
| 274 | + | |
| 275 | + | |
| 276 | + | |
| 277 | + | |
| 278 | + | |
| 279 | + | |
253 | 280 | | |
254 | | - | |
255 | | - | |
| 281 | + | |
| 282 | + | |
| 283 | + | |
| 284 | + | |
256 | 285 | | |
257 | 286 | | |
258 | | - | |
| 287 | + | |
259 | 288 | | |
260 | 289 | | |
261 | | - | |
| 290 | + | |
262 | 291 | | |
263 | | - | |
264 | | - | |
265 | 292 | | |
266 | 293 | | |
267 | 294 | | |
268 | 295 | | |
269 | | - | |
| 296 | + | |
270 | 297 | | |
271 | 298 | | |
272 | 299 | | |
273 | | - | |
274 | | - | |
275 | 300 | | |
| 301 | + | |
| 302 | + | |
276 | 303 | | |
277 | 304 | | |
278 | 305 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
63 | 63 | | |
64 | 64 | | |
65 | 65 | | |
| 66 | + | |
| 67 | + | |
66 | 68 | | |
67 | 69 | | |
68 | 70 | | |
| |||
96 | 98 | | |
97 | 99 | | |
98 | 100 | | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
99 | 105 | | |
100 | 106 | | |
101 | 107 | | |
102 | | - | |
| 108 | + | |
103 | 109 | | |
104 | 110 | | |
105 | 111 | | |
| |||
122 | 128 | | |
123 | 129 | | |
124 | 130 | | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
125 | 136 | | |
126 | 137 | | |
127 | 138 | | |
128 | | - | |
| 139 | + | |
129 | 140 | | |
130 | 141 | | |
131 | 142 | | |
| |||
Lines changed: 28 additions & 23 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
102 | 102 | | |
103 | 103 | | |
104 | 104 | | |
105 | | - | |
106 | | - | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
107 | 114 | | |
108 | 115 | | |
109 | | - | |
110 | | - | |
| 116 | + | |
| 117 | + | |
111 | 118 | | |
112 | 119 | | |
113 | 120 | | |
114 | 121 | | |
115 | 122 | | |
116 | | - | |
117 | | - | |
| 123 | + | |
118 | 124 | | |
119 | 125 | | |
| 126 | + | |
| 127 | + | |
120 | 128 | | |
121 | 129 | | |
122 | 130 | | |
| |||
126 | 134 | | |
127 | 135 | | |
128 | 136 | | |
129 | | - | |
130 | | - | |
131 | | - | |
132 | | - | |
| 137 | + | |
| 138 | + | |
133 | 139 | | |
134 | | - | |
| 140 | + | |
| 141 | + | |
135 | 142 | | |
136 | | - | |
| 143 | + | |
| 144 | + | |
137 | 145 | | |
138 | | - | |
139 | | - | |
140 | | - | |
141 | | - | |
| 146 | + | |
| 147 | + | |
142 | 148 | | |
143 | 149 | | |
144 | 150 | | |
145 | 151 | | |
146 | | - | |
147 | | - | |
| 152 | + | |
| 153 | + | |
148 | 154 | | |
149 | 155 | | |
150 | 156 | | |
151 | 157 | | |
152 | 158 | | |
153 | 159 | | |
154 | | - | |
| 160 | + | |
155 | 161 | | |
156 | 162 | | |
157 | | - | |
158 | | - | |
159 | 163 | | |
160 | 164 | | |
161 | 165 | | |
162 | | - | |
| 166 | + | |
163 | 167 | | |
164 | 168 | | |
165 | | - | |
| 169 | + | |
| 170 | + | |
166 | 171 | | |
167 | 172 | | |
168 | 173 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
77 | 77 | | |
78 | 78 | | |
79 | 79 | | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
80 | 84 | | |
81 | 85 | | |
82 | | - | |
| 86 | + | |
83 | 87 | | |
84 | 88 | | |
85 | 89 | | |
| |||
94 | 98 | | |
95 | 99 | | |
96 | 100 | | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
97 | 106 | | |
98 | 107 | | |
99 | | - | |
| 108 | + | |
100 | 109 | | |
101 | 110 | | |
102 | 111 | | |
| |||
0 commit comments