This is the older cousin of #20852 (moved). In this ticket we need to go over our prop224 HS descriptor generation code and make it produce descriptors that conform with the latest format (which includes the fake client authorization entries and such).
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Child items ...
Show closed items
Linked items 0
Link issues together to show that they're related.
Learn more.
I also wrote some unittests for the new code that was added.
The final thing that I can think of to make this branch more robust would be to further validate the auth-client elements. There is not much to do there apart from checking the base64 lengths but perhaps this is a good thing to do. Let me know if you'd like me to do that.
(I also force pushed to my bug21334_v1 to fix some check-spaces artifacts)
Ok I made some comments on the gitlab branch. There are also quite a bit of memory leaks with the unit tests so I suggest to take a look with --enable-fragile-hardening.
Trac: Priority: Medium to Very High Status: needs_review to needs_revision
The patch basically adds another layer of encryption to the HS descriptor, and also adds the mandatory fake auth client data. On the decoding-side, the patch handles and removes the extra layer of encryption. We still dont do anything with the client auth information since they are all fake and client auth is still not implemented.
One more question: is there a unit test that verifies "round trip" encoding and decoding of a descriptor? That is, start with a struct, encode it, decode it, and make sure you got what you started with?
It looks like my comments were all addressed; please feel free to squash now. If possible, please base the squash on the same starting point as "bug21334_v2", so that I can run "git diff bug21334_v2 bug21334_v3" and confirm that they are the same? Once that's done and the tickets mentioned in the comments on gitlab are opened, I'm happy to merge this.
Also, in the future, please consider using fixup! or squash! rather than TOSQUASH: "git-rebase" can handle those automatically.
It looks like my comments were all addressed; please feel free to squash now. If possible, please base the squash on the same starting point as "bug21334_v2", so that I can run "git diff bug21334_v2 bug21334_v3" and confirm that they are the same? Once that's done and the tickets mentioned in the comments on gitlab are opened, I'm happy to merge this.
Also, in the future, please consider using fixup! or squash! rather than TOSQUASH: "git-rebase" can handle those automatically.
Hey Nick,
I pushed bug21334_v3 in my repo. The diff should be identical to my v2 branch.
I also opened #21693 (moved) for the double-base64 issue as requested, and I started working on a PoC for it. It's quite messy due to the nature of the change and the char*->uint8_t pointer madness, but I hope to have a draft ready at some point this week.