diff options
author | Christopher Speller <crspeller@gmail.com> | 2018-04-16 05:37:14 -0700 |
---|---|---|
committer | Joram Wilander <jwawilander@gmail.com> | 2018-04-16 08:37:14 -0400 |
commit | 6e2cb00008cbf09e556b00f87603797fcaa47e09 (patch) | |
tree | 3c0eb55ff4226a3f024aad373140d1fb860a6404 /vendor/github.com/mattermost/rsc/google/googleserver | |
parent | bf24f51c4e1cc6286885460672f7f449e8c6f5ef (diff) | |
download | chat-6e2cb00008cbf09e556b00f87603797fcaa47e09.tar.gz chat-6e2cb00008cbf09e556b00f87603797fcaa47e09.tar.bz2 chat-6e2cb00008cbf09e556b00f87603797fcaa47e09.zip |
Depenancy upgrades and movign to dep. (#8630)
Diffstat (limited to 'vendor/github.com/mattermost/rsc/google/googleserver')
-rw-r--r-- | vendor/github.com/mattermost/rsc/google/googleserver/chat.go | 80 | ||||
-rw-r--r-- | vendor/github.com/mattermost/rsc/google/googleserver/main.go | 139 |
2 files changed, 0 insertions, 219 deletions
diff --git a/vendor/github.com/mattermost/rsc/google/googleserver/chat.go b/vendor/github.com/mattermost/rsc/google/googleserver/chat.go deleted file mode 100644 index 8b064dc92..000000000 --- a/vendor/github.com/mattermost/rsc/google/googleserver/chat.go +++ /dev/null @@ -1,80 +0,0 @@ -// Copyright 2011 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -// TODO: Add ChatHangup. -// TODO: Auto-hangup chats that are gone. - -package main - -import ( - "fmt" - - "github.com/mattermost/rsc/google" - "github.com/mattermost/rsc/xmpp" -) - -type chatClient struct { - email string - id string - xmpp *xmpp.Client -} - -var chatClients = map[string]*chatClient{} - -func (*Server) chatClient(cid *google.ChatID) (*chatClient, error) { - id := cid.ID - cc := chatClients[cid.ID] - if cc == nil { - a := google.Cfg.AccountByEmail(cid.Email) - if a == nil { - return nil, fmt.Errorf("unknown account %s", cid.Email) - } - // New client. - cli, err := xmpp.NewClient("talk.google.com:443", a.Email, a.Password) - if err != nil { - return nil, err - } - cc = &chatClient{email: a.Email, id: id, xmpp: cli} - cc.xmpp.Status(cid.Status, cid.StatusMsg) - chatClients[id] = cc - } - return cc, nil -} - -func (srv *Server) ChatRecv(cid *google.ChatID, msg *xmpp.Chat) error { - cc, err := srv.chatClient(cid) - if err != nil { - return err - } - chat, err := cc.xmpp.Recv() - if err != nil { - return err - } - *msg = chat - return nil -} - -func (srv *Server) ChatStatus(cid *google.ChatID, _ *Empty) error { - cc, err := srv.chatClient(cid) - if err != nil { - return err - } - return cc.xmpp.Status(cid.Status, cid.StatusMsg) -} - -func (srv *Server) ChatSend(arg *google.ChatSend, _ *Empty) error { - cc, err := srv.chatClient(arg.ID) - if err != nil { - return err - } - return cc.xmpp.Send(arg.Msg) -} - -func (srv *Server) ChatRoster(cid *google.ChatID, _ *Empty) error { - cc, err := srv.chatClient(cid) - if err != nil { - return err - } - return cc.xmpp.Roster() -} diff --git a/vendor/github.com/mattermost/rsc/google/googleserver/main.go b/vendor/github.com/mattermost/rsc/google/googleserver/main.go deleted file mode 100644 index 2cd022446..000000000 --- a/vendor/github.com/mattermost/rsc/google/googleserver/main.go +++ /dev/null @@ -1,139 +0,0 @@ -// Copyright 2011 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -package main - -import ( - // "flag" - "bufio" - "fmt" - "log" - "net" - "net/rpc" - "os" - "strings" - "syscall" - - "github.com/mattermost/rsc/google" - "github.com/mattermost/rsc/xmpp" -) - -func main() { - google.ReadConfig() - switch os.Args[1] { - case "add": - google.Cfg.Account = append(google.Cfg.Account, &google.Account{Email: os.Args[2], Password: os.Args[3]}) - google.WriteConfig() - case "serve": - serve() - case "accounts": - c, err := google.Dial() - if err != nil { - log.Fatal(err) - } - out, err := c.Accounts() - if err != nil { - log.Fatal(err) - } - for _, email := range out { - fmt.Printf("%s\n", email) - } - case "ping": - c, err := google.Dial() - if err != nil { - log.Fatal(err) - } - if err := c.Ping(); err != nil { - log.Fatal(err) - } - case "chat": - c, err := google.Dial() - if err != nil { - log.Fatal(err) - } - cid := &google.ChatID{ID: "1", Email: os.Args[2], Status: xmpp.Available, StatusMsg: ""} - go chatRecv(c, cid) - c.ChatRoster(cid) - b := bufio.NewReader(os.Stdin) - for { - line, err := b.ReadString('\n') - if err != nil { - log.Fatal(err) - } - line = line[:len(line)-1] - i := strings.Index(line, ": ") - if i < 0 { - log.Printf("<who>: <msg>, please") - continue - } - who, msg := line[:i], line[i+2:] - if err := c.ChatSend(cid, &xmpp.Chat{Remote: who, Type: "chat", Text: msg}); err != nil { - log.Fatal(err) - } - } - } -} - -func chatRecv(c *google.Client, cid *google.ChatID) { - for { - msg, err := c.ChatRecv(cid) - if err != nil { - log.Fatal(err) - } - switch msg.Type { - case "roster": - for _, contact := range msg.Roster { - fmt.Printf("%v\n", contact) - } - case "presence": - fmt.Printf("%v\n", msg.Presence) - case "chat": - fmt.Printf("%s: %s\n", msg.Remote, msg.Text) - default: - fmt.Printf("<%s>\n", msg.Type) - } - } -} - -func listen() net.Listener { - socket := google.Dir() + "/socket" - os.Remove(socket) - l, err := net.Listen("unix", socket) - if err != nil { - log.Fatal(err) - } - return l -} - -func serve() { - f, err := os.OpenFile(google.Dir()+"/log", os.O_WRONLY|os.O_APPEND|os.O_CREATE, 0600) - if err != nil { - log.Fatal(err) - } - log.SetOutput(f) - syscall.Dup2(f.Fd(), 2) - os.Stdout = f - os.Stderr = f - l := listen() - rpc.RegisterName("goog", &Server{}) - rpc.Accept(l) - log.Fatal("rpc.Accept finished: server exiting") -} - -type Server struct{} - -type Empty google.Empty - -func (*Server) Ping(*Empty, *Empty) error { - return nil -} - -func (*Server) Accounts(_ *Empty, out *[]string) error { - var email []string - for _, a := range google.Cfg.Account { - email = append(email, a.Email) - } - *out = email - return nil -} |