]> Cypherpunks.ru repositories - nncp.git/blobdiff - src/cmd/nncp-daemon/main.go
Merge branch 'develop'
[nncp.git] / src / cmd / nncp-daemon / main.go
index 6ae89c0385021a938e1aec210c299276fb5ec92a..33fffa764e107ddd7083c7cc54430c0d28e04c92 100644 (file)
@@ -36,7 +36,6 @@ import (
 )
 
 func usage() {
-       fmt.Fprint(os.Stderr, nncp.UsageHeader())
        fmt.Fprint(os.Stderr, "nncp-daemon -- TCP daemon\n\n")
        fmt.Fprintf(os.Stderr, "Usage: %s [options]\nOptions:\n", os.Args[0])
        flag.PrintDefaults()
@@ -138,7 +137,8 @@ func main() {
                bind      = flag.String("bind", "[::]:5400", "Address to bind to")
                ucspi     = flag.Bool("ucspi", false, "Is it started as UCSPI-TCP server")
                inetd     = flag.Bool("inetd", false, "Obsolete, use -ucspi")
-               yggdrasil = flag.String("yggdrasil", "", "Start Yggdrasil listener: yggdrasils://PRV[:PORT]?[bind=BIND][&pub=PUB][&peer=PEER][&mcast=REGEX[:PORT]]")
+               yggdrasil = flag.String("yggdrasil", "",
+                       "Start Yggdrasil listener: yggdrasils://PRV[:PORT]?[bind=BIND][&pub=PUB][&peer=PEER][&mcast=REGEX[:PORT]]")
                maxConn   = flag.Int("maxconn", 128, "Maximal number of simultaneous connections")
                noCK      = flag.Bool("nock", false, "Do no checksum checking")
                mcdOnce   = flag.Bool("mcd-once", false, "Send MCDs once and quit")
@@ -151,14 +151,24 @@ func main() {
                version   = flag.Bool("version", false, "Print version information")
                warranty  = flag.Bool("warranty", false, "Print warranty information")
 
-               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")
-               autoTossNoArea = flag.Bool("autotoss-noarea", false, "Do not process \"area\" packets during tossing")
-               autoTossNoACK  = flag.Bool("autotoss-noack", false, "Do not process \"ack\" packets during tossing")
+               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")
+               autoTossNoArea = flag.Bool("autotoss-noarea", false,
+                       "Do not process \"area\" packets during tossing")
+               autoTossNoACK = flag.Bool("autotoss-noack", false,
+                       "Do not process \"ack\" packets during tossing")
+               autoTossGenACK = flag.Bool("autotoss-gen-ack", false,
+                       "Generate ACK packets")
        )
        log.SetFlags(log.Lshortfile)
        flag.Usage = usage
@@ -211,14 +221,17 @@ func main() {
                if *autoToss && nodeId != nil {
                        autoTossFinish, autoTossBadCode = ctx.AutoToss(
                                nodeId,
-                               nice,
-                               *autoTossDoSeen,
-                               *autoTossNoFile,
-                               *autoTossNoFreq,
-                               *autoTossNoExec,
-                               *autoTossNoTrns,
-                               *autoTossNoArea,
-                               *autoTossNoACK,
+                               &nncp.TossOpts{
+                                       Nice:   nice,
+                                       DoSeen: *autoTossDoSeen,
+                                       NoFile: *autoTossNoFile,
+                                       NoFreq: *autoTossNoFreq,
+                                       NoExec: *autoTossNoExec,
+                                       NoTrns: *autoTossNoTrns,
+                                       NoArea: *autoTossNoArea,
+                                       NoACK:  *autoTossNoACK,
+                                       GenACK: *autoTossGenACK,
+                               },
                        )
                }
                <-nodeIdC // call completion
@@ -298,14 +311,17 @@ func main() {
                        if *autoToss && nodeId != nil {
                                autoTossFinish, autoTossBadCode = ctx.AutoToss(
                                        nodeId,
-                                       nice,
-                                       *autoTossDoSeen,
-                                       *autoTossNoFile,
-                                       *autoTossNoFreq,
-                                       *autoTossNoExec,
-                                       *autoTossNoTrns,
-                                       *autoTossNoArea,
-                                       *autoTossNoACK,
+                                       &nncp.TossOpts{
+                                               Nice:   nice,
+                                               DoSeen: *autoTossDoSeen,
+                                               NoFile: *autoTossNoFile,
+                                               NoFreq: *autoTossNoFreq,
+                                               NoExec: *autoTossNoExec,
+                                               NoTrns: *autoTossNoTrns,
+                                               NoArea: *autoTossNoArea,
+                                               NoACK:  *autoTossNoACK,
+                                               GenACK: *autoTossGenACK,
+                                       },
                                )
                        }
                        <-nodeIdC // call completion