net-connector 0.15.0 → 0.15.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7834c1a83cf57694959a803bfe20d69ac11b6acba8b7d0e869d331983d73f766
4
- data.tar.gz: 0d5d5d735508b56194abe68cac9c2f982e24f3f8a031f2003dd46781ceae070e
3
+ metadata.gz: '018997c50add69731aacb31142b1e3df48006b78938250e1672f01f4fc1c6a2a'
4
+ data.tar.gz: 3a02c44fb3e3a23a10826f2a945869ea65fdaa5ff74567ab8447b94c254f66c6
5
5
  SHA512:
6
- metadata.gz: 14e385a0beb987446e825306460bfeaa3b1231676a8e776ab9bfa9bdcf89c2ba1123f8f8b4ad860906e356dfd84e83f298097c36ee9fecc6dee54324fa784a64
7
- data.tar.gz: 5ade1fafd24e2bb15f139916d71ca1749c19a3762f9868650995f193334a0dfb05561750ec7a080083de92f877c87a7a86bbb992c3ba483a1b038beebf64a2a5
6
+ metadata.gz: 9b7658eaf59499b5a68e6a20d860b2ad94652263e9d3bb808a5edcde5954d4d7190aa032f9713071d65524216a1ca3ed5e52240c45ab2b78f1f05f1d783efcf8
7
+ data.tar.gz: 8850fd64970d7924379af37b06fbbbda055ce11aeb1d35091bf23198911448e3f613b1d84e5614ab7c711cdabc567c0fc48870849eb3b66bb65ca02311d5aafb
data/CHANGELOG.md CHANGED
@@ -2,6 +2,10 @@
2
2
 
3
3
  ## 未发布
4
4
 
5
+ ## 0.15.1 - 2026-10-19
6
+
7
+ - `Result`、领域错误及底层错误的诊断摘要复用受控词表,避免配置处理钩子将敏感正文放入错误元数据后经 `inspect` 或 `PP` 泄露;原始错误字段与已完成业务输出仍保留。
8
+
5
9
  ## 0.15.0 - 2026-10-19
6
10
 
7
11
  - SSH 归档主连接保持到批次结束,避免空闲超时后密码认证失效;关闭后释放退出清理登记,收尾取消保留原始失败与已完成回执。
data/docs/architecture.md CHANGED
@@ -412,6 +412,8 @@ RunningConfig 的两处受控 `send` 保留,用于私有策略绑定与 protec
412
412
 
413
413
  连接、命令和操作失败统一经过 `Log#log_failure`。错误类型、错误码和阶段由 `Error::Metadata` 的固定词表过滤,Netdisco 报告复用同一规则;未知错误码不输出,未知阶段使用引擎当前阶段,未知类型归为 StandardError。异常正文仍先由会话脱敏,防止配置钩子把未登记的配置放进错误元数据后进入日志。
414
414
 
415
+ `Result`、`Error` 和 `UnderlyingError` 的 `inspect` 同样使用诊断词表,`PP` 沿用这些摘要。错误摘要不展开调用方提供的主机字段;原始错误字段仍可显式读取。`Error#to_s` 保持 Ruby 异常的消息语义,不替换为摘要。
416
+
415
417
  操作后处理无论抛出异常还是返回失败 Result,都在敏感作用域退出前归一化错误,再记录完成事件;Result 的已完成步骤及配置内容保持原样。最终处理继承实际执行的命令及交互敏感性,包括准备钩子、替换命令和追加查询;只累计标记,不长期保留秘密,也不影响后续普通命令的日志。
416
418
 
417
419
  业务执行与完成事件的异常范围分开:完成事件只尝试一次,观察者失败不能触发第二次相同通知。已有登录、命令或业务错误优先于失败日志的错误;脚本最终处理已生成的 Result.config 与 steps 不因日志收尾丢失。日志上下文刷新和传输接线恢复仍执行清理,但保留正在传播的主错误及 Interrupt。TFTP 的失败证据同样先决定错误码,再尝试记录失败事件。
@@ -36,8 +36,8 @@ module Net
36
36
  copy
37
37
  end
38
38
 
39
- # 返回不展开命令和输出的错误摘要。
40
- def inspect = "#<#{self.class} code=#{code.inspect} phase=#{phase.inspect} host=#{host.inspect}>"
39
+ # 摘要复用日志诊断词表;扩展钩子可提供原始元数据,但不能借摘要输出配置正文。
40
+ def inspect = "#<#{self.class} code=#{Metadata.code(code).inspect} phase=#{Metadata.phase(phase).inspect}>"
41
41
  end
42
42
 
43
43
  class ConnectionError < Error; end
@@ -89,8 +89,8 @@ module Net
89
89
  freeze
90
90
  end
91
91
 
92
- # 返回底层异常类型摘要。
93
- def inspect = "#<#{self.class} type=#{type}>"
92
+ # 类型名称可能由外部异常类提供,摘要只展示共享词表接受的名称。
93
+ def inspect = "#<#{self.class} type=#{Error::Metadata.type(type)}>"
94
94
  end
95
95
  end
96
96
  end
@@ -52,8 +52,8 @@ module Net
52
52
  config || output
53
53
  end
54
54
 
55
- # 返回结果成功状态、步骤数量和错误码摘要。
56
- def inspect = "#<#{self.class} success=#{success?} steps=#{steps.size} code=#{error&.code.inspect}>"
55
+ # 摘要只展示受控错误码,不展开扩展钩子提供的原始元数据。
56
+ def inspect = "#<#{self.class} success=#{success?} steps=#{steps.size} code=#{Error::Metadata.code(error&.code).inspect}>"
57
57
  end
58
58
  end
59
59
  end
@@ -3,6 +3,6 @@
3
3
  module Net
4
4
  module Connector
5
5
  # gemspec、CLI 与发布工具共用此版本,运行时读取不触发设备依赖加载。
6
- VERSION = "0.15.0"
6
+ VERSION = "0.15.1"
7
7
  end
8
8
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: net-connector
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.15.0
4
+ version: 0.15.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - net-connector contributors