summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2015-08-14 15:01:11 +0200
committerChristian Grothoff <christian@grothoff.org>2015-08-14 15:01:11 +0200
commitc1df2e628379a22068657e144bd34812c305350a (patch)
treeb28977051f7fe74cc169186acc15443770482af1
parentcb5f2b4fe52a1a73464e43a9db59505961358684 (diff)
downloadexchange-c1df2e628379a22068657e144bd34812c305350a.tar.gz
exchange-c1df2e628379a22068657e144bd34812c305350a.tar.bz2
exchange-c1df2e628379a22068657e144bd34812c305350a.zip
fix melt sig alignment issue
-rw-r--r--src/include/taler_signatures.h15
-rw-r--r--src/mint-lib/mint_api_refresh.c3
-rw-r--r--src/mint/taler-mint-httpd_responses.c1
3 files changed, 13 insertions, 6 deletions
diff --git a/src/include/taler_signatures.h b/src/include/taler_signatures.h
index a2271130e..043f3bda1 100644
--- a/src/include/taler_signatures.h
+++ b/src/include/taler_signatures.h
@@ -444,13 +444,18 @@ struct TALER_RefreshMeltConfirmationPS
/**
* 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.
* Must be smaller than #TALER_CNC_KAPPA.
*/
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.
*/
- 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
* 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
* 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
* (all as 0-terminated strings).
*/
- struct GNUNET_HashCode h_wire_types;
+ struct GNUNET_HashCode h_wire_types GNUNET_PACKED;
};
diff --git a/src/mint-lib/mint_api_refresh.c b/src/mint-lib/mint_api_refresh.c
index a30dcb050..3e50047bb 100644
--- a/src/mint-lib/mint_api_refresh.c
+++ b/src/mint-lib/mint_api_refresh.c
@@ -1121,9 +1121,10 @@ verify_refresh_melt_signature_ok (struct TALER_MINT_RefreshMeltHandle *rmh,
/* verify signature by mint */
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.noreveal_index = htons (*noreveal_index);
+ confirm.reserved = htons (0);
if (GNUNET_OK !=
GNUNET_CRYPTO_eddsa_verify (TALER_SIGNATURE_MINT_CONFIRM_MELT,
&confirm.purpose,
diff --git a/src/mint/taler-mint-httpd_responses.c b/src/mint/taler-mint-httpd_responses.c
index 9a6813f1d..6c029b274 100644
--- a/src/mint/taler-mint-httpd_responses.c
+++ b/src/mint/taler-mint-httpd_responses.c
@@ -751,6 +751,7 @@ TMH_RESPONSE_reply_refresh_melt_success (struct MHD_Connection *connection,
body.purpose.purpose = htonl (TALER_SIGNATURE_MINT_CONFIRM_MELT);
body.session_hash = *session_hash;
body.noreveal_index = htons (noreveal_index);
+ body.reserved = htons (0);
TMH_KS_sign (&body.purpose,
&pub,
&sig);