@@ -148,21 +148,24 @@ struct SignatureValidation {
148
148
observabilityScope: observabilityScope,
149
149
completion: completion
150
150
)
151
- } catch RegistryError . sourceArchiveNotSigned( let registry, let package , let version) {
152
- observabilityScope. emit ( info: " \( package ) \( version) from \( registry) is unsigned " )
151
+ } catch RegistryError . sourceArchiveNotSigned {
152
+ observabilityScope. emit (
153
+ info: " \( package ) \( version) from \( registry) is unsigned " ,
154
+ metadata: . registryPackageMetadata( identity: package )
155
+ )
153
156
guard let onUnsigned = configuration. onUnsigned else {
154
157
return completion ( . failure( RegistryError . missingConfiguration ( details: " security.signing.onUnsigned " ) ) )
155
158
}
156
159
157
160
let sourceArchiveNotSignedError = RegistryError . sourceArchiveNotSigned (
158
161
registry: registry,
159
- package : package ,
162
+ package : package . underlying ,
160
163
version: version
161
164
)
162
165
163
166
switch onUnsigned {
164
167
case . prompt:
165
- self . delegate. onUnsigned ( registry: registry, package : package , version: version) { `continue` in
168
+ self . delegate. onUnsigned ( registry: registry, package : package . underlying , version: version) { `continue` in
166
169
if `continue` {
167
170
completion ( . success( . none) )
168
171
} else {
@@ -172,7 +175,10 @@ struct SignatureValidation {
172
175
case . error:
173
176
completion ( . failure( sourceArchiveNotSignedError) )
174
177
case . warn:
175
- observabilityScope. emit ( warning: " \( sourceArchiveNotSignedError) " )
178
+ observabilityScope. emit (
179
+ warning: " \( sourceArchiveNotSignedError) " ,
180
+ metadata: . registryPackageMetadata( identity: package )
181
+ )
176
182
completion ( . success( . none) )
177
183
case . silentAllow:
178
184
// Continue without logging
@@ -283,21 +289,24 @@ struct SignatureValidation {
283
289
)
284
290
} catch ManifestSignatureParser . Error . malformedManifestSignature {
285
291
completion ( . failure( RegistryError . invalidSignature ( reason: " manifest signature is malformed " ) ) )
286
- } catch RegistryError . sourceArchiveNotSigned( let registry, let package , let version) {
287
- observabilityScope. emit ( info: " \( package ) \( version) from \( registry) is unsigned " )
292
+ } catch RegistryError . sourceArchiveNotSigned {
293
+ observabilityScope. emit (
294
+ info: " \( package ) \( version) from \( registry) is unsigned " ,
295
+ metadata: . registryPackageMetadata( identity: package )
296
+ )
288
297
guard let onUnsigned = configuration. onUnsigned else {
289
298
return completion ( . failure( RegistryError . missingConfiguration ( details: " security.signing.onUnsigned " ) ) )
290
299
}
291
300
292
301
let sourceArchiveNotSignedError = RegistryError . sourceArchiveNotSigned (
293
302
registry: registry,
294
- package : package ,
303
+ package : package . underlying ,
295
304
version: version
296
305
)
297
306
298
307
switch onUnsigned {
299
308
case . prompt:
300
- self . delegate. onUnsigned ( registry: registry, package : package , version: version) { `continue` in
309
+ self . delegate. onUnsigned ( registry: registry, package : package . underlying , version: version) { `continue` in
301
310
if `continue` {
302
311
completion ( . success( . none) )
303
312
} else {
@@ -307,7 +316,10 @@ struct SignatureValidation {
307
316
case . error:
308
317
completion ( . failure( sourceArchiveNotSignedError) )
309
318
case . warn:
310
- observabilityScope. emit ( warning: " \( sourceArchiveNotSignedError) " )
319
+ observabilityScope. emit (
320
+ warning: " \( sourceArchiveNotSignedError) " ,
321
+ metadata: . registryPackageMetadata( identity: package )
322
+ )
311
323
completion ( . success( . none) )
312
324
case . silentAllow:
313
325
// Continue without logging
@@ -394,7 +406,10 @@ struct SignatureValidation {
394
406
case . error:
395
407
completion ( . failure( signerNotTrustedError) )
396
408
case . warn:
397
- observabilityScope. emit ( warning: " \( signerNotTrustedError) " )
409
+ observabilityScope. emit (
410
+ warning: " \( signerNotTrustedError) " ,
411
+ metadata: . registryPackageMetadata( identity: package )
412
+ )
398
413
completion ( . success( . none) )
399
414
case . silentAllow:
400
415
// Continue without logging
@@ -470,3 +485,12 @@ extension VerifierConfiguration {
470
485
return verifierConfiguration
471
486
}
472
487
}
488
+
489
+ extension ObservabilityMetadata {
490
+ public static func registryPackageMetadata( identity: PackageIdentity . RegistryIdentity ) -> Self {
491
+ var metadata = ObservabilityMetadata ( )
492
+ metadata. packageIdentity = identity. underlying
493
+ metadata. packageKind = . registry( identity. underlying)
494
+ return metadata
495
+ }
496
+ }
0 commit comments