From 4ac5354ca3aaf1aa04177f2bdad8d9658f3aba4d Mon Sep 17 00:00:00 2001 From: mauricefisher64 <92736594+mauricefisher64@users.noreply.github.com> Date: Thu, 6 Feb 2025 15:22:26 -0500 Subject: [PATCH 1/2] fix: Update error reporting (#906) * Remove redundant LogItems. Add claim URI or Ingredient URI when possible * More error reporting enhancements * Add OCSP revocations status * Comment fix * Update test image and go back to old test --- .../src/status_tracker/detailed.rs | 4 + .../status-tracker/src/status_tracker/mod.rs | 3 + .../src/status_tracker/one_shot.rs | 4 + .../status-tracker/src/validation_codes.rs | 10 ++ sdk/src/claim.rs | 133 ++++++++++++++++-- sdk/src/store.rs | 4 +- sdk/src/validation_status.rs | 2 +- sdk/tests/fixtures/CIE-sig-CA.jpg | Bin 351170 -> 341803 bytes 8 files changed, 143 insertions(+), 17 deletions(-) diff --git a/internal/status-tracker/src/status_tracker/detailed.rs b/internal/status-tracker/src/status_tracker/detailed.rs index 8cf3457c0..53233ce76 100644 --- a/internal/status-tracker/src/status_tracker/detailed.rs +++ b/internal/status-tracker/src/status_tracker/detailed.rs @@ -72,4 +72,8 @@ impl StatusTracker for DetailedStatusTracker { fn pop_ingredient_uri(&mut self) -> Option { self.ingredient_uris.pop() } + + fn logged_items_mut(&mut self) -> &mut [LogItem] { + &mut self.logged_items + } } diff --git a/internal/status-tracker/src/status_tracker/mod.rs b/internal/status-tracker/src/status_tracker/mod.rs index b70659735..035121ba8 100644 --- a/internal/status-tracker/src/status_tracker/mod.rs +++ b/internal/status-tracker/src/status_tracker/mod.rs @@ -22,6 +22,9 @@ pub trait StatusTracker: Debug + Send { /// Return the current list of validation log items. fn logged_items(&self) -> &[LogItem]; + /// Return the mutable list of validation log items. + fn logged_items_mut(&mut self) -> &mut [LogItem]; + /// Appends the contents of another [`StatusTracker`] to this list of /// validation log items. fn append(&mut self, other: &impl StatusTracker) { diff --git a/internal/status-tracker/src/status_tracker/one_shot.rs b/internal/status-tracker/src/status_tracker/one_shot.rs index 7e7b6b5d3..7e50418e7 100644 --- a/internal/status-tracker/src/status_tracker/one_shot.rs +++ b/internal/status-tracker/src/status_tracker/one_shot.rs @@ -36,4 +36,8 @@ impl StatusTracker for OneShotStatusTracker { self.logged_items.push(log_item); Err(err) } + + fn logged_items_mut(&mut self) -> &mut [LogItem] { + &mut self.logged_items + } } diff --git a/internal/status-tracker/src/validation_codes.rs b/internal/status-tracker/src/validation_codes.rs index ec4f847a7..0b5608754 100644 --- a/internal/status-tracker/src/validation_codes.rs +++ b/internal/status-tracker/src/validation_codes.rs @@ -26,11 +26,21 @@ use crate::log::LogKind; /// Any corresponding URL should point to a C2PA claim signature box. pub const CLAIM_SIGNATURE_VALIDATED: &str = "claimSignature.validated"; +/// The claims signing certificate was valid at the time of signing. +/// +/// Any corresponding URL should point to a C2PA claim box. +pub const CLAIM_SIGNATURE_INSIDE_VALIDITY: &str = "claimSignature.insideValidity"; + /// The signing credential is listed on the validator's trust list. /// /// Any corresponding URL should point to a C2PA claim signature box. pub const SIGNING_CREDENTIAL_TRUSTED: &str = "signingCredential.trusted"; +/// The signing credential for the manifest has not been revoked: +/// +/// Any corresponding URL should point to a C2PA claim +pub const SIGNING_CREDENTIAL_NOT_REVOKED: &str = "signingCredential.ocsp.notRevoked"; + /// The time-stamp credential is listed on the validator's trust list. /// /// Any corresponding URL should point to a C2PA claim signature box. diff --git a/sdk/src/claim.rs b/sdk/src/claim.rs index 503efad58..e6e238bc2 100644 --- a/sdk/src/claim.rs +++ b/sdk/src/claim.rs @@ -13,7 +13,7 @@ #[cfg(feature = "file_io")] use std::path::Path; -use std::{collections::HashMap, fmt}; +use std::{borrow::Cow, collections::HashMap, fmt}; use async_generic::async_generic; use c2pa_crypto::{ @@ -1728,8 +1728,45 @@ impl Claim { } // check certificate revocation - let sign1 = parse_cose_sign1(&sig, &data, validation_log)?; - check_ocsp_status_async(&sign1, &data, ctp, validation_log).await?; + let sign1 = parse_cose_sign1(&sig, &data, validation_log).inspect_err(|_e| { + // adjust the error info + if let Some(li) = validation_log.logged_items_mut().last_mut() { + let mut new_li = li.clone(); + new_li.label = Cow::from(claim.uri()); + *li = new_li; + } + })?; + check_ocsp_status(&sign1, &data, ctp, validation_log) + .map(|v| { + // if a value contains the der response it has successfully returned a good OCSP response + if !v.ocsp_der.is_empty() { + // so log the success status + if v.revoked_at.is_none() { + log_item!( + claim.uri(), + "claim signature OCSP value good", + "verify_internal" + ) + .validation_status(validation_status::SIGNING_CREDENTIAL_NOT_REVOKED) + .success(validation_log); + } else { + // adjust the error info + if let Some(li) = validation_log.logged_items_mut().last_mut() { + let mut new_li = li.clone(); + new_li.label = Cow::from(claim.uri()); + *li = new_li; + } + } + } + }) + .inspect_err(|_e| { + // adjust the error info + if let Some(li) = validation_log.logged_items_mut().last_mut() { + let mut new_li = li.clone(); + new_li.label = Cow::from(claim.uri()); + *li = new_li; + } + })?; let verified = verify_cose_async( &sig, @@ -1781,8 +1818,45 @@ impl Claim { }; // check certificate revocation - let sign1 = parse_cose_sign1(sig, data, validation_log)?; - check_ocsp_status(&sign1, data, ctp, validation_log)?; + let sign1 = parse_cose_sign1(sig, data, validation_log).inspect_err(|_e| { + // adjust the error info + if let Some(li) = validation_log.logged_items_mut().last_mut() { + let mut new_li = li.clone(); + new_li.label = Cow::from(claim.uri()); + *li = new_li; + } + })?; + check_ocsp_status(&sign1, data, ctp, validation_log) + .map(|v| { + // if a value contains the der response it has successfully returned a good OCSP response + if !v.ocsp_der.is_empty() { + // so log the success status + if v.revoked_at.is_none() { + log_item!( + claim.uri(), + "claim signature OCSP value good", + "verify_internal" + ) + .validation_status(validation_status::SIGNING_CREDENTIAL_NOT_REVOKED) + .success(validation_log); + } else { + // adjust the error info + if let Some(li) = validation_log.logged_items_mut().last_mut() { + let mut new_li = li.clone(); + new_li.label = Cow::from(claim.uri()); + *li = new_li; + } + } + } + }) + .inspect_err(|_e| { + // adjust the error info + if let Some(li) = validation_log.logged_items_mut().last_mut() { + let mut new_li = li.clone(); + new_li.label = Cow::from(claim.uri()); + *li = new_li; + } + })?; let verified = verify_cose( sig, @@ -1794,6 +1868,14 @@ impl Claim { ); Claim::verify_internal(claim, asset_data, is_provenance, verified, validation_log) + .inspect_err(|_e| { + // adjust the error info + if let Some(li) = validation_log.logged_items_mut().last_mut() { + let mut new_li = li.clone(); + new_li.label = Cow::from(claim.uri()); + *li = new_li; + } + }) } /// Get the signing certificate chain as PEM bytes @@ -1828,6 +1910,28 @@ impl Claim { .validation_status(validation_status::CLAIM_SIGNATURE_MISMATCH) .failure(validation_log, Error::CoseSignature)?; } else { + // update the log_item details + if let Some(li) = validation_log.logged_items_mut().last_mut() { + let mut new_li = li.clone(); + new_li.label = Cow::from(claim.uri()); + new_li.description = Cow::Borrowed("claim signature valid"); + + if !is_provenance { + new_li = new_li.set_ingredient_uri(claim.uri()); + } + + *li = new_li; + } + // signing cert has not expired + log_item!( + claim.signature_uri(), + "claim signature valid", + "verify_internal" + ) + .validation_status(validation_status::CLAIM_SIGNATURE_INSIDE_VALIDITY) + .success(validation_log); + + // add signature validated status log_item!( claim.signature_uri(), "claim signature valid", @@ -1837,14 +1941,17 @@ impl Claim { .success(validation_log); } } - Err(parse_err) => { - log_item!( - claim.signature_uri(), - "claim signature is not valid", - "verify_internal" - ) - .validation_status(validation_status::GENERAL_ERROR) - .failure(validation_log, parse_err)?; + Err(_parse_err) => { + // the lower level errors are logged validation_log + // continue on to catch other failures. + + // adjust the error info + if let Some(li) = validation_log.logged_items_mut().last_mut() { + let mut new_li = li.clone(); + new_li.label = Cow::from(claim.uri()); + + *li = new_li; + } } }; diff --git a/sdk/src/store.rs b/sdk/src/store.rs index 226fcff4a..7aa5ccf26 100644 --- a/sdk/src/store.rs +++ b/sdk/src/store.rs @@ -5125,9 +5125,7 @@ pub mod tests { // replace the title that is inside the claim data - should cause signature to not match let report = patch_and_report("C.jpg", b"C.jpg", b"X.jpg"); assert!(!report.logged_items().is_empty()); - assert!(report.has_error(Error::TimeStampError( - c2pa_crypto::time_stamp::TimeStampError::InvalidData - ))); + assert!(report.has_error(c2pa_crypto::time_stamp::TimeStampError::InvalidData)); assert!(report.has_status(validation_status::TIMESTAMP_MISMATCH)); } diff --git a/sdk/src/validation_status.rs b/sdk/src/validation_status.rs index d1085b4c8..47e71fe74 100644 --- a/sdk/src/validation_status.rs +++ b/sdk/src/validation_status.rs @@ -125,7 +125,7 @@ impl ValidationStatus { /// Returns `true` if this has a successful validation code. pub fn passed(&self) -> bool { - is_success(&self.code) + self.kind != LogKind::Failure } /// Returns the LogKind for this validation status. diff --git a/sdk/tests/fixtures/CIE-sig-CA.jpg b/sdk/tests/fixtures/CIE-sig-CA.jpg index 176b966e84322ff637e6febf327a72f06bd11f44..400d27c30fef103d5dfafc09813061e6e5a38e13 100644 GIT binary patch delta 7110 zcmeI$S5y?)x&YwrE^-o(BubWSH=RjJ&Oszf5^TB~XlOvXNutmKk_1E)D3T zA}}K&SrJq~L;(d97*G^Mv-;cxerq>wX1fm+PnU}_P_qGI$H#*mIN+H z!))Et_V0(abbzQHC|c12NycHwL>$~hT@??^eMYRw{y@vdv>}ZB1AOZn~mJQxe5fnFHE8WfC!dh(Vn zqL`mjJLEsR-@9<3Q5y;(umBx;1l*2;!u6$z9s#r>F9I=$65vmdF82J<@+G2A5D)<; z$o^!K&j|vJ;71N3)9A&%6n`%onM5J`2hpR7iNQ2#7#v)|0ZO_%Qy_U0=-!T!z1iGl znu{xwD&mtKiFY~>HgPAd&pG3V!Rp*V*0skMg9B(@2qJ-k_~*M!N%Sc2%(oBt6c5dT z-Czal@PHh6GXbgsZ3pKQpvni*zfH6vfJh}!{M@~E=0zg}1<*qM2)<RRv^Z@d#AFA0vMIDt8*)6N$j$5U6bmo#N$B2nwc=!3H#-Ap0{* zuL2sY0j`qt4`*THt;VOjqvo&UijEg{g}HXirhN(i$j}%*)^wZ=48#D&;Osf59P~$k zlzu)y;ISmAp}bSJaQbS|Ef;m>zIZ;N?6Z}6pG^ke{``tskRFA4H! z06da~bDil@ab|OxDl2|b6||dE!jr(?GDWE5(__ed30)!V05>C3bG@1x<3G=8Ug<%Wio4EBj|{-WhSAu*{rN zrPMt+eUd}xi&$kT99F!uOJdr~c$S#D{OQWBQ(bN&E+V_oNHh+KM&eOwXjL5A8O9E2 z^}Qgl)M08=7`+=nMzh>TMl+QZ?hFot@p9IB-gdsl$cXRSm}i>CFd@1BoD7r`#G3-t zLs+Cb8jt*bI16)Qa3~ZShsNO4aq7-UJrpOBodvLGV%ZI|w?*+GcYV9y*v)1@@uKLH zX+dB|E>sH4ISNQK+I;8*A2Xz?GLg4j{9Zdzjs)deOwv$3=TLZt@llMq=41Ul!(}ZtJ<4WKh-Qz%auLtcc|XKk z*?VJKde`vY<%+=Y-L1$AyQlV1ti~S{=A5b97P%!55NQ)ZV7#0TACL%{KVWgHG=J=l z)4a7)YMX`aN`KC{WRqjh>9f7J9*tTLDL5Z(ONk5n^bRFr$*>L^J$*JN>r}$*^5^v@ zL)Z9XO{ycSRV~r?Q(cP8YqQ)vo@oo*C@TLnc`HKv=z@uGYPh;%n6ce*3X3A3XFfZ`J5-iHT1)++;>V9&8jGlj$N=3w_>iy!ZJ?d8O&Jn}K0_E7gw6@U~C&JsrHs6tlq8NHbdIrBcD?4jN~ zz9&(Mw6B--|AH=GlSKWM!@^HhM*uLbC4HeQAT2m0J2KIcPp+5oYb%jc5{&@1J)IuIub` zecT%<=+pS-c5GFpv!t?F@+yo$h~K`-rNb7q+>;hxt+IbaBRcG)Mr*XTod9gjrZrK? z?hU&`@-yRf>wqtVq06ZvmJ7nRpYHiSb&zF8^!c^1-pxg7zCPnFn4TM4$tt@TWrs@G zV{4zhaJp{%)bKo0VMnA@6{YDOcgCEJackc?JoN61JEU2T{ttH0vkl#*jI8Sq<}-)3 z_mIDY4SdM#x1WdJB~66~lp%7hm!*|UD=r&kyp@^7uvWEaT7B_#X+3c+V_3f6)$445 z8Ov}(Nu8jD;AhnbrPv6-=C4#Iri5cT{(EDS1c9RK&VV7If|G0Ce2!J{aO{Qtqzrr? zt;lA;e_yE4oG7o)(uR_Z3nSiGE4Io;coCnbHxoI;cfRjz39VYV^=4m*OG^&NY*d}l z`o33bf=4E5vcx({5-QqXvE5MHH8bb{tAA?36uiKS4cY=j^qI85sQSop#(Ngk=$3t7 zgYItONa5OE*+z)>C-j@|vx?D*slD0{0$*~|NrkIoJz@4R^Hz$`VW!S%jgpojE1-qz z-%=9@x&k_!e@Sg%TP;-7aC|s+$z%MH)~T6~fhI@d_m9N67$Q~v%wp_JC}}3itqC>O zLq=o^WCJ=4vUfd~7{Vy7S0Y5xT4|d%8`IQ5-DAKWMo36O#VS!nLZ4GZ23b4m5d8HC zeVloee3SW7mVRo^_+OJFlo`Sl4TInwvDTe|of7xr4;PbZ%jKDD&e7XC63xN;7)4(T z6_g8qPSygTl2^+nSTl^9H&f%hGy-C4b+bo0%dLoaFGtj8@_Te{JRM?w81{ev3S_^vHM)dq3#oI5rG5J6^L*Yxt*eCbN*VOq)wAR6Vn^7d#Es)~-0cKQe``W{G ziAwOC0fthRs7U($6FR_7&dtqo1*tt z$4lJfFMRox+jXf3cb+w0k}HGy(D?3HlL@J0c3ysy$x7k8_r%sgb)$(2m}m;?uKWDYB+b>8am0nFq;y1W>7%J4*`l5!mw z(87deox5{{X4!jZacxQrZk}-E7>;GxE7^3(i)!kM3o2(curV6WK%W zI_X?Y`NNV19kJyBnq5IbcntZn!nIoL?9eY z;SOyVAD#*0^0@AV{@$Xe>;A;CSS`I*kGF3~e0-vQZz`ZWbq`-+_Cvd%0-#rj*S^yF zL2>oeput3bWQdugu8y*CL)N;ONO2?kK{W(UI`&|;+A!P@pqNDsxnyODm zu?#T)W^Qf94~5UDpzqPSui>qXQS-;4R(S2 zCqf8R3W@LyZMH!>g4yAdE*cO6>rsHh{+}5bq@V#5_!I*e@%o>h`0eOG9M$pYxM%ZX z`l}y4?D_6PXdXC(1&pA0P#6aUVE>heC#VGCPx6rQPyIyqzj6`^Zd`emr?|Id_)3fv zhfbVBgGhn#h+mFhu=JPzfrnuS!u(EXP$(n~kDpk9qTd}${qEQu-`U^+SD0=2H&@z2 zyMK@}?>~`};z#fz)BjJT{F#mLJ1ONR`QHZ+_VpTy%6_d9xd=_5xy)y+IVm&tPFp!H zYtp`v(u?)4=>Cf-|5H?dm~vn0o}2l({x;`A?%z}`*oE#m*YIKqwW~Fs{`#w5+{f$x zZc60E(?hN2O*}T3OENw;04c9Ex0cGI-uYKL4j1BYPc;58Wm+G^?f_Txp_DZBOV(Fh zR|Qexg&Ml^Int$9B@H&E$=^+Bu8Q^`lhN26Ng`Eoa4g;f30KFH&^td`aO$1}br0lD zZurxb{`#hd@ExDSf5w&?JATCfVN3X*h0u3fitqG^f_^4|IYSwtx7$+THg{s(vwliL0ZTOLYDh#7V}5L(D=^joXu&8b*h!3s!^ zC?$h=rM;4Uk?((P%f`4yA0D5VbBLh&g1h%;1{a8V(@n4B6HM%_k&e#|i&qY}?8Ks{QH)Ty#}r-K~leal;I(^MDlZZ)}Ve%`coE>WzEs6(cIU zvd0c7boO7&c{F%VzczDM(@1SZ^g>(uaV??J+m6&ETIQ}SVMMFXlqS)MPd1zLOXE~q zQdb<*Z(WXl?Q0T`Q-sB?H(%}JXfccB)mM}?-LsV}B%{RBeVZmkeUi^FtV|ir^26mT zdQ8RN%5B;5KTEY@hypGAEBy!CYGMu!{ATIOh)9WOmgmxi6hD_>VLogeCBzdgH*=s= zvrWE0T%WBOfXe1oor*{#hsq376EBzzOO_ed!kx$$nPEn&E!G#E_6fzk*SlcZh%+9L zD4Q>}_=OtLS}Cf~!WeW8y4rI1gO}Ht05w#;)~xqsE_%{gMwRym`3y+qwGOqKir|gQ zcwf7%S}m@#@trn8C3^_uFx*U44QaZ zpJ-RN9by#VB$+h%2VXW8dtV5>jo5ulp<&(Rm6v7yt6|~&C)FNVeo|x9m5kLq;Z&a) z`RrQ}tl{QdhS3sSxsWwO{bil4D)ZFL`MhU~9BXGz9^)vS&!wewVU9G1Fp`_24pvs` z^d*-cyf?sB-Tj-?P@nM+TRMERrNa+fM)W1xC)%Yu@NWT!hr==)w9@n~ZZP}T2~57t z2sJ8X94%y8dTvRJ>cVcWaL!?TjI z@Tp7E@T0|@2G?m7nd&eqBW3qZyGaAStY6IIk3&zLwo!Obx2pK~igWjiH948?7-qkh z;$`&dmv?>7H7*Yw9&>4sVLIiVxW~VRd+glD`XtB6?witi{dWyt(S3(i%TBIdlDc6W zJ;rL?o04)r;n5kUUYS5p!f8$HzWZ^A=m#aSdcFgovFC11sMDkM`+-LpelBMgsd@`Y z(}Q}CwPO?#ngUJSz2w>nOXJ+KbT!_6B*z2L!+Ie>?x8PQ^_&~Jecm6Hyu#dCyZ@nI$d#J6*pXVK)1cHFC;UmMk%5VeAaqjqD*sGWN(WOW6j=7KwCh zSrU>xgjAF|yi=WXu5;es?|OgBKkq;1{$sA^x!3P=-`8_L_h;^Ia&=L-Z-{^bc2mT} zKz*ZRp(X$!g+VAPDPd7gP#9VT2}My8R9Q(855-{-cmx&&b5h3OX=s3W7&*8JkZ11l zarO6bqM@NdlH=__V&t#lU}nk#JJ7Y1y8EeK&a!$QTI>yG8T~Ypzy}&rK#L`xeh6OA zrFgi$&tYT=VyCtQ(SQSXzx7ggcE2it$?CTbrN~+$V1BYd48Tm5iUH)v9x;F~kGn6< z9qmW(@+7(tyj{G}zBo@m6Fk`r0yZPVVgWo`!qL?3?3f7}-?yGL*lJ6Ca!D*e1Wu9p z;{d1}JI2Y&x4;>V`QAfhA^yje8wTNxmhHp53qDm2D~*E> zjJ*_c)rrBC^(mddXb7pdl?buk)77;$Y-u64CISi&n!zR!Cq`{o*QwY!?&R06ykaYi zJnumHVR`*!&Q?;(WcDOLN&a!gvAUUXD1HA$e~0)p#|W-YcO3+>7cQ9DI40s0H3l$f zcV|4&1&vTpq@mHMCyyloav+Up3f(mzm{nLC7Rjpt1A_n>>II6PNjlarc8?Wc0Od#W zic_`mhn9Amm4 zW{io)KR&| zW=J;E1fL{xN$x8Lgh_?x_2W)NCEHeNUZ@kD8@xTSG_qn}aD-`E-ms7ytR|h~ zJnh77-C2H&;S=PscA1RtN{SkH%#n z0-fZv`eM^7JA+RdN?W*L0ZD9gY4t)Vpg4y`=A-?td`DR&YG3vuWAx+c3-s@va`BRuWxi@s16}w^|PqbzW)KVN?ZEs!< zgJi9S?9*#1Pfn{dmj z5Gq4nb&%Did8d)3hd+Nh^mA!N%uAcd>Aaf@?h>)8;tV9c@{2QQo*TR21ck_UhR(iQ&k z+5GZ`4Bl4nYbFWmE;*Cphfie}pRL)8q;4dMfXbT&Bg$T^EcCpUh)nR2KQ?3BIO{&~ z+A&Aw?OP4Q_cwo4)mH_LQC4jIhZ51hZrfB6o< zf7EnQkE0F3npdtj^l9l#0Hcj?PyJxVE&dBF&8?jTzLr6rohT)g=RIwSnOPgM3G&+W zYXM>Y`US<-60TtV*%zh_rb#uH56||zKHVcZTD77}<2^f&k;iuxy!JdrY3rOh>3yH0 zaJQww+bQ;+lMs*Mm#ya;Uuu4KxTiCIeStS+xT3>iA-28pq^$N(7SgCp@p-dvdN?^q z+0dcCYgz;G%70wZ+2-n}-O}DA69sjehiy61?m@uxl-{!Htg;%zB^B!rp+vYvegykd zE|&1>)`Oz;AY6sZxJbX+dRC-@6-kokDPaeZRXZ}N+I0VPtXm83uiXLe-0szPYly0= zXHHYbNCS<^9g`aZ9~%prbY))|pA8dq@$Lv}vw8joF z?!%cK2Q}zw_M>%}bGu!0g;$J4eFX@+Di(x{(MM1Z>B8_Bx*CEiGvT(3_4oJj=Nu%-4; zV=qy-J*aa#)XHfF@}^L@;5H?_h>8Aih?F%D&Tb@S5XDm(dg*q?Pdm~<7iPVgBT>Le z$@*KrBQocA(qjdrBahQx@w+f;vLSTkk?qv+WfS3d*^(iw%NL661w>DN4hmG6FIZtz zYmrAx6!&cj+)d66cdH-JMnl4B2WV~`%W@;ck6BLAmmA#w& zU{L#E`!#J>CX0EXWm{=oO*Sj8|5lfnWl;8w%V{pmH+PCbCmO0LCT!uC?OIb~ni$g^ z%cSdUWi7)vZ$;>}9vNvC**1BNjw$`Bt?70AuDXKyTvNHnWE)fT{LNRMq5Co_uUQzz zLXt*{uH3yQ`lwQTas6Z0Yojs&3C}oC^hnM2tBjeP+AG&3HEC}ThA4cvRqU#->F$Q^ zktnO`$7Ve9`EVwA^z&2e`EI;qaydh{n@8j7ri@4R6J2(`UT*fO+?L*`;Sf;~+Wm>> zTxdY}!lE>IAhSA=_@1tstNdz9+XBve8X4Nxqxvv^Sw5{Yo|A#~vFKPfC8gq%2uH#* z($h$t_r~edb;6&{rg-nWq$u5yfvJeVYb#162g@i{I%9|R%hjWLX5oDXf{RS4CCNrx z;{){R~5jHY79dvD^Je7 zUJJ`Uxub3~ho@Vz(!khxRH_N!FVzLs?U^Vww8wnj-OegZ6&7d^6yGg`WM8wfhoo41 zwulL~$q#v-cF>i`h`#HQP*GoMo=7OQ79`1}z?|eLUNZudEgwZ?3)C;!YM8VRund^# zV6Iy^4A1~ozy1&t9nz(>A;)Q4;u3!G+q5T|F&ns2FbLI2sk=*L$c{Qzn6 zcaQ>!WV{IYH1&X8B?9(x`>RK(5n=w~(LmWi4{uch0jv7&tl)p()|z8gl*j(HQoRlM zRF+JGsw_F|Va*VuBF3p>N0u&Hjr>Lw><$Xl{N`2(a+nxc9?1EQS9Iqp40sKvfi}e;=R}(JD|C3=#>2!4wqWib_ZYj0*1mVk^M|?Tq`~ssB%G z6?CcLOKa?GT;ZmRt&-4dc7xuBtd}FHz@K^u;%X$26)#luG4q;Mk zmDbBoL)~ZQc@fM6;mqMVL2vMvw)}eZ>mOEqThz+G67V(XEH3Nu?O%EA=N2pFH>F2! zc9+J1anHG;epuB?r`0K>KM;4b(_#sbQY)GIM3Wabz_7+qcw(I~L+!|)Ue14FRV}JV z)ql4t@{beOcdLp~%OGSeMexrg`LPoMYq7QYO#@PPEe7_%oLe|cXH!S`UO4YM#pR(O z)vE1n58^}(Lg>$&L$R04fKvZzRTSI?#K?Q&qFop#=o z)&D1}qTv65Rl6jlUdFDxTz*K;WnemKf2=6TCY4xR6ck!p)lqf(ljwhK)zo9thpVpw zwrLq(vy==4umj>3B`buaZokX)hC~ADqm!El^zJ;>dW-t6;2!5&a}jpD5id+uMRq z{ZjWkFFPZmFc<8Hdby_5Stpg}th6$V+qVbq-uf9Tb9nTqLOKY-aA}XXEmyDTnCn%M z2R(*6N|pHgEF+^IhXrpqI;iMl3?ZRM1woF(grsJlFrL<)>DE3CdOMQ3o!dA!4)OB9 zdG#%9zGbS(l&H=gc^FAv1jeU)KkTf1Sa;J(>~_7t?=SXAt-Qf8QT*lc-6WZlAR-E` z@7(YU8{h4+6nh@Rvj*7XO_nb@OX&`P^1yMI#-ziN%wY4NpL4<*+uAvwAk-oR`yH!# zZhctGkyxL2Vwq2Thewh;Ls*??A3AJi`hf}*<0h9*w3-bSnRdIV_i_f=e!dc+i%_E- zi8>!8JBjviWM0>>XF6npvkzwKoEnO=;WKz?I<`$T63iGc)~Q(UC==S7w!^*{(S zvT^(oDD1uvXL!_J>*KVyiLc9zKJ~R~J5&JU8=SR9r1dqy$MJcv66Nu3tnq%&whnWr`3rmvQ*& zzVpk*D8pH$M<)ZVqnq<2(`YqLvkKJivU7y^+X?*|7)B$g9Pr@Y&T&UDU6Skt=re!1 z7~=-+-Fnu#xF{Z;sIqGUFZ`L$W{Dq=8m*w9?N!_@?vc{PYur+`0l@)j}I zIpLx116WsIzv>MOp6s0w9kpA(fU=-3-G zjXA!ZvoJo)JA)kd7cs5$Viy=8sjA^X2ffLgVV60czw>z1>6fiKz0|k)>Uo8a&PZvM z@I9N}IG#AwFry@^MJsmo2t!9rH`12o(K`{vbwmm&_Z$rC*0KZgdRp5a^(H^;R&#gh zeRENZ&!#+XaTJm3sl^=Nkr7SNQ=aSZ89Q|7u4gR)T0<*wQFa4XJkBh6o9}LOGn+jz zy_-}ORn7=-&d``jgcOqDUKdAY@88p Date: Thu, 6 Feb 2025 14:48:54 -0800 Subject: [PATCH 2/2] chore: release (#899) --- CHANGELOG.md | 12 ++ Cargo.lock | 166 +++++++++++++-------------- cawg_identity/Cargo.toml | 6 +- cli/Cargo.toml | 4 +- internal/crypto/CHANGELOG.md | 7 ++ internal/crypto/Cargo.toml | 4 +- internal/status-tracker/CHANGELOG.md | 7 ++ internal/status-tracker/Cargo.toml | 2 +- sdk/Cargo.toml | 6 +- 9 files changed, 120 insertions(+), 94 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5cff904fb..c17255b3a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,18 @@ This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.htm Since version 0.36.2, the format of this changelog is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). +## [0.45.2](https://github.com/contentauth/c2pa-rs/compare/c2pa-v0.45.1...c2pa-v0.45.2) +_06 February 2025_ + +### Documented + +* Fix reported errors for docs (#903) + +### Fixed + +* Update error reporting (#906) +* Repair cargo test (#898) + ## [0.45.1](https://github.com/contentauth/c2pa-rs/compare/c2pa-v0.45.0...c2pa-v0.45.1) _31 January 2025_ diff --git a/Cargo.lock b/Cargo.lock index f8fcd7b73..bf0075ee5 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -53,7 +53,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e01ed3140b2f8d422c68afa1ed2e85d996ea619c988ac834d255db32138655cb" dependencies = [ "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -74,7 +74,7 @@ checksum = "b6ac1e58cded18cb28ddc17143c4dea5345b3ad575e14f32f66e4054a56eb271" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -232,7 +232,7 @@ checksum = "965c2d33e53cb6b267e148a4cb0760bc01f4904c1cd4bb4002a085bb016d1490" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", "synstructure", ] @@ -244,7 +244,7 @@ checksum = "7b18050c2cd6fe86c3a76584ef5e0baf286d038cda203eb6223df2cc413565f7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -327,7 +327,7 @@ checksum = "ddf3728566eefa873833159754f5732fb0951d3649e6e5b891cc70d56dd41673" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -411,7 +411,7 @@ checksum = "3b43422f69d8ff38f95f1b2bb76517c91589a924d1559a0e935d7c8ce0274c11" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -468,13 +468,13 @@ checksum = "8b75356056920673b02621b35afd0f7dda9306d03c79a30f5c56c44cf256e3de" [[package]] name = "async-trait" -version = "0.1.85" +version = "0.1.86" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f934833b4b7233644e5848f235df3f57ed8c80f1528a26c3dfa13d2147fa056" +checksum = "644dd749086bf3771a2fbc5f256fdb982d53f011c7d5d560304eafeecebce79d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -705,13 +705,13 @@ dependencies = [ [[package]] name = "bytes" -version = "1.9.0" +version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "325918d6fe32f23b19878fe4b34794ae41fc19ddbe53b10571a4874d44ffd39b" +checksum = "f61dac84819c6588b558454b194026eb1f09c293b9036ae9b159e74e73ab6cf9" [[package]] name = "c2pa" -version = "0.45.1" +version = "0.45.2" dependencies = [ "actix", "anyhow", @@ -792,7 +792,7 @@ dependencies = [ [[package]] name = "c2pa-crypto" -version = "0.6.1" +version = "0.6.2" dependencies = [ "actix", "asn1-rs", @@ -846,7 +846,7 @@ dependencies = [ [[package]] name = "c2pa-status-tracker" -version = "0.4.0" +version = "0.5.0" [[package]] name = "c2patool" @@ -910,9 +910,9 @@ dependencies = [ [[package]] name = "cc" -version = "1.2.11" +version = "1.2.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4730490333d58093109dc02c23174c3f4d490998c3fed3cc8e82d57afedb9cf" +checksum = "755717a7de9ec452bf7f3f1a3099085deabd7f2962b861dae91ecd7a365903d2" dependencies = [ "shlex", ] @@ -982,9 +982,9 @@ dependencies = [ [[package]] name = "clap" -version = "4.5.27" +version = "4.5.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "769b0145982b4b48713e01ec42d61614425f27b7058bda7180a3a41f30104796" +checksum = "3e77c3243bd94243c03672cb5154667347c457ca271254724f9f393aee1c05ff" dependencies = [ "clap_builder", "clap_derive", @@ -1004,14 +1004,14 @@ dependencies = [ [[package]] name = "clap_derive" -version = "4.5.24" +version = "4.5.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54b755194d6389280185988721fffba69495eed5ee9feeee9a599b53db80318c" +checksum = "bf4ced95c6f4a675af3da73304b9ac4ed991640c36374e4b46795c49e17cf1ed" dependencies = [ "heck", "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -1246,7 +1246,7 @@ checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -1276,7 +1276,7 @@ dependencies = [ "proc-macro2", "quote", "strsim", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -1287,7 +1287,7 @@ checksum = "d336a2a514f6ccccaa3e09b02d41d35330c07ddf03a62165fcec10bb561c7806" dependencies = [ "darling_core", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -1313,7 +1313,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1145d32e826a7748b69ee8fc62d3e6355ff7f1051df53141e7048162fc90481b" dependencies = [ "data-encoding", - "syn 1.0.109", + "syn 2.0.98", ] [[package]] @@ -1370,7 +1370,7 @@ checksum = "30542c1ad912e0e3d22a1935c290e12e8a29d704a420177a31faad4a601a0800" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -1420,7 +1420,7 @@ checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -1446,9 +1446,9 @@ checksum = "1435fa1053d8b2fbbe9be7e97eca7f33d37b28409959813daefc1446a14247f1" [[package]] name = "dyn-clone" -version = "1.0.17" +version = "1.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d6ef0072f8a535281e4876be788938b528e9a1d43900b82c2569af7da799125" +checksum = "feeef44e73baff3a26d371801df019877a9866a8c493d315ab00177843314f35" [[package]] name = "ecdsa" @@ -1759,7 +1759,7 @@ checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -2303,7 +2303,7 @@ checksum = "1ec89e9337638ecdc08744df490b221a7399bf8d164eb52a665454e60e075ad6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -2740,7 +2740,7 @@ dependencies = [ "cfg-if", "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -2949,7 +2949,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -3148,7 +3148,7 @@ dependencies = [ "pest_meta", "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -3174,9 +3174,9 @@ dependencies = [ [[package]] name = "phf_shared" -version = "0.10.0" +version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6796ad771acdc0123d2a88dc428b5e38ef24456743ddb1744ed628f9815c096" +checksum = "67eabc2ef2a60eb7faa00097bd1ffdb5bd28e62bf39990626a582201b7a754e5" dependencies = [ "siphasher", ] @@ -3505,7 +3505,7 @@ version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b08f3c9802962f7e1b25113931d94f43ed9725bebc59db9d0c3e9a23b67e15ff" dependencies = [ - "zerocopy 0.8.14", + "zerocopy 0.8.17", ] [[package]] @@ -3563,7 +3563,7 @@ checksum = "7f35fecd68ee4d5850baa37ee4520456bbae761fdd42a7fcb95701c268500a93" dependencies = [ "proc-macro2", "rasn-derive-impl", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -3576,7 +3576,7 @@ dependencies = [ "itertools 0.13.0", "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", "uuid", ] @@ -3815,9 +3815,9 @@ checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" [[package]] name = "rustc-hash" -version = "2.1.0" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7fb8039b3032c191086b10f11f319a6e99e1e82889c5cc6046f515c9db1d497" +checksum = "357703d41365b4b27c590e3ed91eabb1b663f07c4c084095e60cbed4362dff0d" [[package]] name = "rustc_version" @@ -3945,7 +3945,7 @@ dependencies = [ "proc-macro2", "quote", "serde_derive_internals", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -4053,7 +4053,7 @@ checksum = "5a9bf7cf98d04a2b28aead066b7496853d4779c9cc183c440dbac457641e19a0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -4064,7 +4064,7 @@ checksum = "18d26a20a969b9e3fdf2fc2d9f21eda6c40e2de84c9408bb5d3b05d499aae711" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -4138,7 +4138,7 @@ dependencies = [ "darling", "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -4202,9 +4202,9 @@ checksum = "bbbb5d9659141646ae647b42fe094daf6c6192d1620870b449d9557f748b2daa" [[package]] name = "siphasher" -version = "0.3.11" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d" +checksum = "56199f7ddabf13fe5074ce809e7d3f42b42ae711800501b5b16ea82ad029c39d" [[package]] name = "slab" @@ -4239,7 +4239,7 @@ dependencies = [ "heck", "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -4288,7 +4288,7 @@ checksum = "3cc4068497ae43896d41174586dcdc2153a1af2c82856fb308bfaaddc28e5549" dependencies = [ "iref", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -4307,18 +4307,17 @@ dependencies = [ "quote", "serde", "sha2", - "syn 2.0.96", + "syn 2.0.98", "thiserror 1.0.69", ] [[package]] name = "string_cache" -version = "0.8.7" +version = "0.8.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f91138e76242f575eb1d3b38b4f1362f10d3a43f47d182a5b359af488a02293b" +checksum = "938d512196766101d333398efde81bc1f37b00cb42c2f8350e5df639f040bbbe" dependencies = [ "new_debug_unreachable", - "once_cell", "parking_lot", "phf_shared", "precomputed-hash", @@ -4349,9 +4348,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.96" +version = "2.0.98" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d5d0adab1ae378d7f53bdebc67a39f1f151407ef230f0ce2883572f5d8985c80" +checksum = "36147f1a48ae0ec2b5b3bc5b537d267457555a10dc06f3dbc8cb11ba3006d3b1" dependencies = [ "proc-macro2", "quote", @@ -4375,7 +4374,7 @@ checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -4462,7 +4461,7 @@ checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -4473,7 +4472,7 @@ checksum = "26afc1baea8a989337eeb52b6e72a039780ce45c3edfcc9c5b9d112feeb173c2" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -4567,7 +4566,7 @@ checksum = "6e06d43f1345a3bcd39f6a56dbb7dcab2ba47e68e8ac134855e7e2bdbaf8cab8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -4605,9 +4604,9 @@ dependencies = [ [[package]] name = "toml" -version = "0.8.19" +version = "0.8.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1ed1f98e3fdc28d6d910e6737ae6ab1a93bf1985935a1193e68f93eeb68d24e" +checksum = "cd87a5cdd6ffab733b2f74bc4fd7ee5fff6634124999ac278c35fc78c6120148" dependencies = [ "serde", "serde_spanned", @@ -4691,7 +4690,7 @@ checksum = "d856e22ead1fb79b9fc3cec63300086f680924f2f7b0e2701f6835a28b9c4425" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -4801,11 +4800,12 @@ checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" [[package]] name = "uuid" -version = "1.12.1" +version = "1.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3758f5e68192bb96cc8f9b7e2c2cfdabb435499a28499a42f8f984092adad4b" +checksum = "ced87ca4be083373936a67f8de945faa23b6b42384bd5b64434850802c6dccd0" dependencies = [ - "getrandom 0.2.15", + "getrandom 0.3.1", + "js-sys", "serde", "wasm-bindgen", ] @@ -4830,9 +4830,9 @@ checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" [[package]] name = "wait-timeout" -version = "0.2.0" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f200f5b12eb75f8c1ed65abd4b2db8a6e1b138a20de009dacee265a2498f3f6" +checksum = "09ac3b126d3914f9849036f826e054cbabdc8519970b8998ddaf3b5bd3c65f11" dependencies = [ "libc", ] @@ -4893,7 +4893,7 @@ dependencies = [ "log", "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", "wasm-bindgen-shared", ] @@ -4928,7 +4928,7 @@ checksum = "8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -4963,7 +4963,7 @@ checksum = "17d5042cc5fa009658f9a7333ef24291b1291a25b6382dd68862a7f3b969f69b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -5155,9 +5155,9 @@ checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" [[package]] name = "winnow" -version = "0.7.0" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e49d2d35d3fad69b39b94139037ecfb4f359f08958b9c11e7315ce770462419" +checksum = "86e376c75f4f43f44db463cf729e0d3acbf954d13e22c51e26e4c264b4ab545f" dependencies = [ "memchr", ] @@ -5247,7 +5247,7 @@ checksum = "2380878cad4ac9aac1e2435f3eb4020e8374b5f13c296cb75b4620ff8e229154" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", "synstructure", ] @@ -5263,11 +5263,11 @@ dependencies = [ [[package]] name = "zerocopy" -version = "0.8.14" +version = "0.8.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a367f292d93d4eab890745e75a778da40909cab4d6ff8173693812f79c4a2468" +checksum = "aa91407dacce3a68c56de03abe2760159582b846c6a4acd2f456618087f12713" dependencies = [ - "zerocopy-derive 0.8.14", + "zerocopy-derive 0.8.17", ] [[package]] @@ -5278,18 +5278,18 @@ checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] name = "zerocopy-derive" -version = "0.8.14" +version = "0.8.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3931cb58c62c13adec22e38686b559c86a30565e16ad6e8510a337cedc611e1" +checksum = "06718a168365cad3d5ff0bb133aad346959a2074bd4a85c121255a11304a8626" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -5309,7 +5309,7 @@ checksum = "595eed982f7d355beb85837f651fa22e90b3c044842dc7f2c2842c086f295808" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", "synstructure", ] @@ -5330,7 +5330,7 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -5352,7 +5352,7 @@ checksum = "6eafa6dfb17584ea3e2bd6e76e0cc15ad7af12b09abdd1ca55961bed9b1063c6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] diff --git a/cawg_identity/Cargo.toml b/cawg_identity/Cargo.toml index 103ec534a..f23d10c3f 100644 --- a/cawg_identity/Cargo.toml +++ b/cawg_identity/Cargo.toml @@ -27,9 +27,9 @@ rustdoc-args = ["--cfg", "docsrs"] [dependencies] async-trait = "0.1.78" base64 = "0.22.1" -c2pa = { path = "../sdk", version = "0.45.1", features = ["openssl"] } -c2pa-crypto = { path = "../internal/crypto", version = "0.6.1" } -c2pa-status-tracker = { path = "../internal/status-tracker", version = "0.4.0" } +c2pa = { path = "../sdk", version = "0.45.2", features = ["openssl"] } +c2pa-crypto = { path = "../internal/crypto", version = "0.6.2" } +c2pa-status-tracker = { path = "../internal/status-tracker", version = "0.5.0" } chrono = { version = "0.4.38", features = ["serde"] } ciborium = "0.2.2" coset = "0.3.8" diff --git a/cli/Cargo.toml b/cli/Cargo.toml index 7e8945b13..0a33e109e 100644 --- a/cli/Cargo.toml +++ b/cli/Cargo.toml @@ -22,13 +22,13 @@ unexpected_cfgs = { level = "warn", check-cfg = ['cfg(test)'] } [dependencies] anyhow = "1.0" atree = "0.5.2" -c2pa = { path = "../sdk", version = "0.45.1", features = [ +c2pa = { path = "../sdk", version = "0.45.2", features = [ "fetch_remote_manifests", "file_io", "add_thumbnails", "pdf" ] } -c2pa-crypto = { path = "../internal/crypto", version = "0.6.1" } +c2pa-crypto = { path = "../internal/crypto", version = "0.6.2" } clap = { version = "4.5.10", features = ["derive", "env"] } env_logger = "0.11.4" glob = "0.3.1" diff --git a/internal/crypto/CHANGELOG.md b/internal/crypto/CHANGELOG.md index ffd8d3ac8..1d1724c00 100644 --- a/internal/crypto/CHANGELOG.md +++ b/internal/crypto/CHANGELOG.md @@ -6,6 +6,13 @@ This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.htm The format of this changelog is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). +## [0.6.2](https://github.com/contentauth/c2pa-rs/compare/c2pa-crypto-v0.6.1...c2pa-crypto-v0.6.2) +_06 February 2025_ + +### Fixed + +* P1363 fix to handle incorrect signers (#905) + ## [0.6.1](https://github.com/contentauth/c2pa-rs/compare/c2pa-crypto-v0.6.0...c2pa-crypto-v0.6.1) _31 January 2025_ diff --git a/internal/crypto/Cargo.toml b/internal/crypto/Cargo.toml index a54bdf031..2d404c966 100644 --- a/internal/crypto/Cargo.toml +++ b/internal/crypto/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "c2pa-crypto" -version = "0.6.1" +version = "0.6.2" description = "Cryptography internals for c2pa-rs crate" authors = [ "Maurice Fisher ", @@ -48,7 +48,7 @@ async-trait = "0.1.77" base64 = "0.22.1" bcder = "0.7.3" bytes = "1.7.2" -c2pa-status-tracker = { path = "../status-tracker", version = "0.4.0" } +c2pa-status-tracker = { path = "../status-tracker", version = "0.5.0" } ciborium = "0.2.2" const-hex = "1.14" const-oid = { version = "0.9.6", optional = true } diff --git a/internal/status-tracker/CHANGELOG.md b/internal/status-tracker/CHANGELOG.md index 29272adfa..fe243a79f 100644 --- a/internal/status-tracker/CHANGELOG.md +++ b/internal/status-tracker/CHANGELOG.md @@ -6,6 +6,13 @@ This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.htm The format of this changelog is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). +## [0.5.0](https://github.com/contentauth/c2pa-rs/compare/c2pa-status-tracker-v0.4.0...c2pa-status-tracker-v0.5.0) +_06 February 2025_ + +### Fixed + +* Update error reporting (#906) + ## [0.4.0](https://github.com/contentauth/c2pa-rs/compare/c2pa-status-tracker-v0.3.0...c2pa-status-tracker-v0.4.0) _29 January 2025_ diff --git a/internal/status-tracker/Cargo.toml b/internal/status-tracker/Cargo.toml index 76d30e4cc..94793b231 100644 --- a/internal/status-tracker/Cargo.toml +++ b/internal/status-tracker/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "c2pa-status-tracker" -version = "0.4.0" +version = "0.5.0" description = "Status tracking internals for c2pa-rs crate" authors = [ "Maurice Fisher ", diff --git a/sdk/Cargo.toml b/sdk/Cargo.toml index 7bf5a03c8..749e564a1 100644 --- a/sdk/Cargo.toml +++ b/sdk/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "c2pa" -version = "0.45.1" +version = "0.45.2" description = "Rust SDK for C2PA (Coalition for Content Provenance and Authenticity) implementors" authors = [ "Maurice Fisher ", @@ -72,8 +72,8 @@ bcder = "0.7.3" bytes = "1.7.2" byteorder = { version = "1.4.3", default-features = false } byteordered = "0.6.0" -c2pa-crypto = { path = "../internal/crypto", version = "0.6.1" } -c2pa-status-tracker = { path = "../internal/status-tracker", version = "0.4.0" } +c2pa-crypto = { path = "../internal/crypto", version = "0.6.2" } +c2pa-status-tracker = { path = "../internal/status-tracker", version = "0.5.0" } chrono = { version = "0.4.39", default-features = false, features = [ "serde", "wasmbind",