完成:--sas 查找并列出并查看已修复但尚未更新的 sa 安全公告信息
Signed-off-by: Jia Chao <jiachao2130@126.com>
This commit is contained in:
parent
4510e3500d
commit
b3f2204a88
|
@ -94,6 +94,39 @@ fn list_cves(cli: &Cli) -> crate::Result<()> {
|
|||
fn list_sas(cli: &Cli) -> crate::Result<()> {
|
||||
let avaliable = get_avaliable()?;
|
||||
let severity = Severity::from_str(&cli.severity)?;
|
||||
let mut _sas = HashSet::new();
|
||||
cli.sources.iter().for_each(|id| { _sas.insert(id); });
|
||||
|
||||
let mut sas = HashSet::new();
|
||||
let mut msg = String::new();
|
||||
|
||||
// 仅针对可用更新
|
||||
for (cusa, _) in &avaliable {
|
||||
// 过滤
|
||||
if cusa.severity() < &severity {
|
||||
continue;
|
||||
}
|
||||
|
||||
if let Some(_) = _sas.get(&cusa.id) {
|
||||
let _ = sas.insert(cusa.clone());
|
||||
_sas.remove(&cusa.id);
|
||||
}
|
||||
}
|
||||
|
||||
for sa in &sas {
|
||||
if cli.info {
|
||||
msg = format!("{msg}\n\n{sa:#?}");
|
||||
} else {
|
||||
msg = format!("{msg}\n{}", sa.id);
|
||||
}
|
||||
}
|
||||
|
||||
if !_sas.is_empty() {
|
||||
msg = format!("{msg}\n\nUnaffected SAs:\n{_sas:#?}")
|
||||
}
|
||||
|
||||
println!("{msg}");
|
||||
|
||||
Ok(())
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user