From d72fb13225ba4a5d7794e4d0d452fac8136486ea Mon Sep 17 00:00:00 2001 From: Thomas Schmitt Date: Wed, 12 Dec 2018 13:55:54 +0100 Subject: [PATCH] Emitting cleartext for errors with ASC 6F (CSS problems) --- cdrskin/cdrskin_timestamp.h | 2 +- libburn/spc.c | 22 ++++++++++++++++++++++ 2 files changed, 23 insertions(+), 1 deletion(-) diff --git a/cdrskin/cdrskin_timestamp.h b/cdrskin/cdrskin_timestamp.h index 8d9c7c7..92c8cb0 100644 --- a/cdrskin/cdrskin_timestamp.h +++ b/cdrskin/cdrskin_timestamp.h @@ -1 +1 @@ -#define Cdrskin_timestamP "2018.10.11.074048" +#define Cdrskin_timestamP "2018.12.12.125445" diff --git a/libburn/spc.c b/libburn/spc.c index 3193312..b19a718 100644 --- a/libburn/spc.c +++ b/libburn/spc.c @@ -1544,6 +1544,28 @@ enum response scsi_error_msg(struct burn_drive *d, unsigned char *sense, else break; goto return_fail; + case 0x6F: + if (*ascq == 0) + sprintf(msg, "Copy protection key exchange failure – Authentication failure"); + else if (*ascq == 1) + sprintf(msg, "Copy protection key exchange failure – Key not present"); + else if (*ascq == 2) + sprintf(msg, "Copy protection key exchange failure – Key not established"); + else if (*ascq == 3) + sprintf(msg, "Read of scrambled sector without authentication"); + else if (*ascq == 4) + sprintf(msg, "Media region code is mismatched to logical unit region"); + else if (*ascq == 5) + sprintf(msg, "Logical unit region must be permanent / Region reset count error"); + else if (*ascq == 6) + sprintf(msg, "Insufficient block count for binding nonce recording"); + else if (*ascq == 7) + sprintf(msg, "Conflict in binding nonce recording"); + else if (*ascq == 8) + sprintf(msg, "Insufficient permission"); + else + break; + goto return_fail; case 0x72: if (*ascq == 0) sprintf(msg, "Session fixation error");