X-Git-Url: https://git.realraum.at/?p=svn42.git;a=blobdiff_plain;f=go%2Fdoor_nick_lookup_zmq%2Fmain.go;fp=go%2Fdoor_nick_lookup_zmq%2Fmain.go;h=0000000000000000000000000000000000000000;hp=fff24968908c9335296e41843d3de09da9f4b213;hb=c775b5528f8f96e75c28264b9cea8525c6da9298;hpb=a87c91b7d4544703879b7ef6e472b863765e3949 diff --git a/go/door_nick_lookup_zmq/main.go b/go/door_nick_lookup_zmq/main.go deleted file mode 100644 index fff2496..0000000 --- a/go/door_nick_lookup_zmq/main.go +++ /dev/null @@ -1,94 +0,0 @@ -// (c) Bernhard Tittelbach, 2013 - -package main - -import ( - "os" - "flag" - "fmt" - //~ "log/syslog" - //~ "log" -) - -// ---------- Main Code ------------- - -var ( - zmqport_ string - door_keys_file_ string - use_syslog_ bool - start_server_ bool - //~ syslog_ *log.Logger -) - -func usage() { - fmt.Fprintf(os.Stderr, "Usage: door_nick_lookup_zmq [options] [keyid1 [keyid2 [...]]]\n") - flag.PrintDefaults() -} - -func init() { - flag.StringVar(&zmqport_, "zmqport", "ipc:///run/tuer/door_keyname.ipc", "zmq socket path") - flag.StringVar(&door_keys_file_, "keysfile", "/flash/keys", "door keys file") - //~ flag.BoolVar(&use_syslog_, "syslog", false, "log to syslog local2 facility") - flag.BoolVar(&start_server_, "server", false, "open 0mq socket and listen to requests") - flag.Usage = usage - flag.Parse() -} - -func getFileMTime(filename string ) (int64, error) { - keysfile, err := os.Open(filename) - if err != nil { return 0, err } - defer keysfile.Close() - stat, err := keysfile.Stat() - if err != nil { return 0, err } - return stat.ModTime().Unix(), nil -} - -func main() { - knstore := new(KeyNickStore) - err := knstore.LoadKeysFile(door_keys_file_) - if err != nil { panic(err) } - door_keys_mtime, err := getFileMTime(door_keys_file_) - if err != nil { panic(err) } - - for _, key := range(flag.Args()) { - nick, err := knstore.LookupHexKeyNick(key) - if err != nil { - fmt.Printf("ERROR: %s for key %s\n", err.Error(), key) - } else { - fmt.Println(key,nick) - } - } - - if ! start_server_ { - os.Exit(0) - } - - zmqctx, zmqchans := ZmqsInit(zmqport_) - if zmqchans == nil { - os.Exit(0) - } - defer zmqchans.Close() - defer zmqctx.Close() - - //~ if use_syslog_ { - //~ var logerr error - //~ syslog_, logerr = syslog.NewLogger(syslog.LOG_INFO | syslog.LOG_LOCAL2, 0) - //~ if logerr != nil { panic(logerr) } - //~ syslog_.Print("started") - //~ defer syslog_.Print("exiting") - //~ } - - for keybytes := range(zmqchans.In()) { - current_door_keys_mtime, err := getFileMTime(door_keys_file_) - if err == nil && current_door_keys_mtime > door_keys_mtime { - door_keys_mtime = current_door_keys_mtime - knstore.LoadKeysFile(door_keys_file_) - } - nick, err := knstore.LookupHexKeyNick(string(keybytes[0])) - if err != nil { - zmqchans.Out() <- [][]byte{[]byte("ERROR"), []byte(err.Error())} - } else { - zmqchans.Out() <- [][]byte{[]byte("RESULT"), keybytes[0], []byte(nick)} - } - } -}