]> Cypherpunks.ru repositories - nncp.git/blobdiff - src/cmd/nncp-call/main.go
Autotoss ability
[nncp.git] / src / cmd / nncp-call / main.go
index 1b4c2347338ee9613f4f5c86e5acb4590e06a6fe..52e0fcb2887dd8a247d7e057ed20ca30463b0c8a 100644 (file)
@@ -58,6 +58,13 @@ func main() {
 
                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()
@@ -153,7 +160,7 @@ func main() {
        }
 
        ctx.Umask()
-       if !ctx.CallNode(
+       badCode := !ctx.CallNode(
                node,
                addrs,
                nice,
@@ -164,7 +171,20 @@ func main() {
                maxOnlineTime,
                *listOnly,
                onlyPkts,
-       ) {
+       )
+       if *autotoss {
+               badCode = ctx.Toss(
+                       node.Id,
+                       nice,
+                       false,
+                       *autotossDoSeen,
+                       *autotossNoFile,
+                       *autotossNoFreq,
+                       *autotossNoExec,
+                       *autotossNoTrns,
+               ) || badCode
+       }
+       if badCode {
                os.Exit(1)
        }
 }