fix melt sig alignment issue

This commit is contained in:
Christian Grothoff 2015-08-14 15:01:11 +02:00
parent cb5f2b4fe5
commit c1df2e6283
3 changed files with 13 additions and 6 deletions

View File

@ -444,13 +444,18 @@ struct TALER_RefreshMeltConfirmationPS
/** /**
* Hash of the refresh session. * Hash of the refresh session.
*/ */
struct GNUNET_HashCode session_hash; struct GNUNET_HashCode session_hash GNUNET_PACKED;
/** /**
* Index that the client will not have to reveal, in NBO. * Index that the client will not have to reveal, in NBO.
* Must be smaller than #TALER_CNC_KAPPA. * Must be smaller than #TALER_CNC_KAPPA.
*/ */
uint16_t noreveal_index GNUNET_PACKED; uint16_t noreveal_index GNUNET_PACKED;
/**
* Zero.
*/
uint16_t reserved GNUNET_PACKED;
}; };
@ -534,7 +539,7 @@ struct TALER_MintKeySetPS
/** /**
* Hash over the various denomination signing keys returned. * Hash over the various denomination signing keys returned.
*/ */
struct GNUNET_HashCode hc; struct GNUNET_HashCode hc GNUNET_PACKED;
}; };
@ -623,7 +628,7 @@ struct TALER_DenominationKeyValidityPS
* Hash code of the denomination public key. (Used to avoid having * Hash code of the denomination public key. (Used to avoid having
* the variable-size RSA key in this struct.) * the variable-size RSA key in this struct.)
*/ */
struct GNUNET_HashCode denom_hash; struct GNUNET_HashCode denom_hash GNUNET_PACKED;
}; };
@ -700,7 +705,7 @@ struct TALER_MasterWireSepaDetailsPS
* Hash over the account holder's name, IBAN and BIC * Hash over the account holder's name, IBAN and BIC
* code (all as 0-terminated strings). * code (all as 0-terminated strings).
*/ */
struct GNUNET_HashCode h_sepa_details; struct GNUNET_HashCode h_sepa_details GNUNET_PACKED;
}; };
@ -721,7 +726,7 @@ struct TALER_MintWireSupportMethodsPS
* Hash over the various wire formats supported by this mint * Hash over the various wire formats supported by this mint
* (all as 0-terminated strings). * (all as 0-terminated strings).
*/ */
struct GNUNET_HashCode h_wire_types; struct GNUNET_HashCode h_wire_types GNUNET_PACKED;
}; };

View File

@ -1121,9 +1121,10 @@ verify_refresh_melt_signature_ok (struct TALER_MINT_RefreshMeltHandle *rmh,
/* verify signature by mint */ /* verify signature by mint */
confirm.purpose.purpose = htonl (TALER_SIGNATURE_MINT_CONFIRM_MELT); confirm.purpose.purpose = htonl (TALER_SIGNATURE_MINT_CONFIRM_MELT);
confirm.purpose.size = htonl (sizeof (confirm)); confirm.purpose.size = htonl (sizeof (struct TALER_RefreshMeltConfirmationPS));
confirm.session_hash = rmh->md->melt_session_hash; confirm.session_hash = rmh->md->melt_session_hash;
confirm.noreveal_index = htons (*noreveal_index); confirm.noreveal_index = htons (*noreveal_index);
confirm.reserved = htons (0);
if (GNUNET_OK != if (GNUNET_OK !=
GNUNET_CRYPTO_eddsa_verify (TALER_SIGNATURE_MINT_CONFIRM_MELT, GNUNET_CRYPTO_eddsa_verify (TALER_SIGNATURE_MINT_CONFIRM_MELT,
&confirm.purpose, &confirm.purpose,

View File

@ -751,6 +751,7 @@ TMH_RESPONSE_reply_refresh_melt_success (struct MHD_Connection *connection,
body.purpose.purpose = htonl (TALER_SIGNATURE_MINT_CONFIRM_MELT); body.purpose.purpose = htonl (TALER_SIGNATURE_MINT_CONFIRM_MELT);
body.session_hash = *session_hash; body.session_hash = *session_hash;
body.noreveal_index = htons (noreveal_index); body.noreveal_index = htons (noreveal_index);
body.reserved = htons (0);
TMH_KS_sign (&body.purpose, TMH_KS_sign (&body.purpose,
&pub, &pub,
&sig); &sig);