Commit 3dda984
committed
review fix (#573): hash Buffer bodies directly, not via a lossy toString()
Copilot caught a real correctness bug in the pre-existing Buffer
branch: `request.body.toString()` UTF-8-decodes the bytes, which
mangles binary / non-UTF-8 bodies (an image PUT, etc.) — so the
server's hash wouldn't match the raw-byte sha256 a NIP-98 client
signed. crypto.update() accepts a Buffer directly, so we now pass the
Buffer through unconverted and only ever hash native forms (string →
UTF-8, Buffer → raw bytes).
New test: a deliberately non-UTF-8 Buffer body (with a sanity check
that it's genuinely lossy under a UTF-8 round-trip) verifies against
its raw-byte payload hash — would have failed under the old
.toString() path. 7/7 in the file; full suite green.1 parent 1fa2266 commit 3dda984
2 files changed
Lines changed: 37 additions & 14 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
244 | 244 | | |
245 | 245 | | |
246 | 246 | | |
247 | | - | |
| 247 | + | |
| 248 | + | |
| 249 | + | |
| 250 | + | |
| 251 | + | |
248 | 252 | | |
249 | | - | |
250 | | - | |
251 | | - | |
252 | | - | |
253 | | - | |
254 | | - | |
255 | | - | |
256 | | - | |
257 | | - | |
| 253 | + | |
| 254 | + | |
| 255 | + | |
| 256 | + | |
| 257 | + | |
| 258 | + | |
| 259 | + | |
| 260 | + | |
258 | 261 | | |
259 | | - | |
| 262 | + | |
260 | 263 | | |
261 | | - | |
| 264 | + | |
| 265 | + | |
| 266 | + | |
| 267 | + | |
262 | 268 | | |
263 | 269 | | |
264 | 270 | | |
265 | 271 | | |
266 | | - | |
| 272 | + | |
267 | 273 | | |
268 | 274 | | |
269 | | - | |
| 275 | + | |
270 | 276 | | |
271 | 277 | | |
272 | 278 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
133 | 133 | | |
134 | 134 | | |
135 | 135 | | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
136 | 153 | | |
0 commit comments