/*
NNCP -- Node to Node copy, utilities for store-and-forward data exchange
-Copyright (C) 2016-2020 Sergey Matveev <stargrave@stargrave.org>
+Copyright (C) 2016-2021 Sergey Matveev <stargrave@stargrave.org>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
onlineDeadlineSec = flag.Uint("onlinedeadline", 0, "Override onlinedeadline option")
maxOnlineTimeSec = flag.Uint("maxonlinetime", 0, "Override maxonlinetime option")
+
+ autotoss = flag.Bool("autotoss", false, "Toss after call is finished")
+ autotossDoSeen = flag.Bool("autotoss-seen", false, "Create .seen files during tossing")
+ autotossNoFile = flag.Bool("autotoss-nofile", false, "Do not process \"file\" packets during tossing")
+ autotossNoFreq = flag.Bool("autotoss-nofreq", false, "Do not process \"freq\" packets during tossing")
+ autotossNoExec = flag.Bool("autotoss-noexec", false, "Do not process \"exec\" packets during tossing")
+ autotossNoTrns = flag.Bool("autotoss-notrns", false, "Do not process \"trns\" packets during tossing")
)
flag.Usage = usage
flag.Parse()
}
ctx.Umask()
- if !ctx.CallNode(
+ badCode := !ctx.CallNode(
node,
addrs,
nice,
maxOnlineTime,
*listOnly,
onlyPkts,
- ) {
+ )
+ if *autotoss {
+ badCode = ctx.Toss(
+ node.Id,
+ nice,
+ false,
+ *autotossDoSeen,
+ *autotossNoFile,
+ *autotossNoFreq,
+ *autotossNoExec,
+ *autotossNoTrns,
+ ) || badCode
+ }
+ if badCode {
os.Exit(1)
}
}