Skip to content

Commit

Permalink
Add more output on HMAC compare failure.
Browse files Browse the repository at this point in the history
 - ASDCP::IntegrityPack::TestValues
 - dump an error message that includes expected and found
   HMAC
  • Loading branch information
dbullock committed Aug 15, 2019
1 parent 5c74d64 commit 2665fd7
Showing 1 changed file with 28 additions and 1 deletion.
29 changes: 28 additions & 1 deletion src/AS_DCP_MXF.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#include "ACES.h"
#include "MPEG.h"
#include "Wav.h"
#include "KM_util.h"
#include <iostream>
#include <iomanip>

Expand Down Expand Up @@ -688,7 +689,33 @@ ASDCP::IntegrityPack::TestValues(const ASDCP::FrameBuffer& FB, const byte_t* Ass
HMAC->Update(FB.RoData(), FB.Size() - HMAC_SIZE);
HMAC->Finalize();

return HMAC->TestHMACValue(p);
Result_t result = RESULT_OK;
result = HMAC->TestHMACValue(p);

if (KM_FAILURE(result))
{
Result_t r = RESULT_OK;
char hmac_str[HMAC_SIZE*10];
char found_str[HMAC_SIZE*10];
byte_t hmac_buf[HMAC_SIZE];


Kumu::bin2hex(p, HMAC_SIZE, found_str, HMAC_SIZE*10);

r = HMAC->GetHMACValue(hmac_buf);
if ( KM_SUCCESS( r ) )
{
Kumu::bin2hex(hmac_buf, HMAC_SIZE, hmac_str, HMAC_SIZE*10);
}
else
{
snprintf(hmac_str, HMAC_SIZE*10, " - read error - ");
}

DefaultLogSink().Error("IntegrityPack failure: HMAC is %s, expecting %s.\n", found_str, hmac_str);
}

return result;
}

//
Expand Down

0 comments on commit 2665fd7

Please sign in to comment.