On Fri, Oct 12, 2018 at 5:29 AM Denis Kenzior <denkenz@xxxxxxxxx> wrote: > > Hi Nick, > > > @@ -123,7 +123,7 @@ static int TSS_rawhmac(unsigned char *digest, const unsigned char *key, > > */ > > static int TSS_authhmac(unsigned char *digest, const unsigned char *key, > > unsigned int keylen, unsigned char *h1, > > - unsigned char *h2, unsigned char h3, ...) > > + unsigned char h2, unsigned char *h3, ...) > > { > > unsigned char paramdigest[SHA1_DIGEST_SIZE]; > > struct sdesc *sdesc; > > So my concern here is that this actually breaks the natural argument > order compared to what the specification uses. This in turn requires > one to perform some mental gymnastics and I'm not sure that this is such > a good idea. Thanks for the review. > Refer to > https://trustedcomputinggroup.org/wp-content/uploads/TPM-Main-Part-3-Commands_v1.2_rev116_01032011.pdf > for details. Can you cite the relevant section? > > Note that H3 is really the 'continueAuthSession' variable which is a > bool. In the above specification BOOL has a size of 1, and TSS_authhmac > already assigns a h3 to 'c' which is used for the actual hashing. > > So can't we simply use 'bool' or uint32 as the type for h3 instead of > re-ordering everything? int was exactly what I originally proposed: https://github.com/ClangBuiltLinux/linux/issues/41#issuecomment-428365339. If that works for you and the maintainers, I can send that in patch form. > > Regards, > -Denis -- Thanks, ~Nick Desaulniers