use anyhow::Result;
use clap::Parser;
use crate::attacks;
#[derive(Parser)]
pub(crate) struct DumpLapsArgs {
#[command(flatten)]
pub auth: crate::shared_args::LdapAuth,
#[arg(long)]
pub target: Option<String>,
#[arg(long)]
pub dc: Option<String>,
}
pub(crate) async fn dump_laps(a: DumpLapsArgs) -> Result<()> {
eprintln!(
"[!] `dump laps` is DEPRECATED and will be removed in 1.5.0 — use `attack laps` (same \
functionality, one command per capability). The GKDI-first offline-derive path lives in \
`adhammer_collector::sources::gkdi` for callers who want the library primitive."
);
let _ = a.dc; attacks::laps::laps(attacks::laps::LapsArgs {
target: a.target,
url: a.auth.url,
user: a.auth.user,
password: a.auth.password,
insecure: a.auth.insecure,
})
.await
}