summaryrefslogtreecommitdiffstats
path: root/vendor/github.com/mattermost/rsc/google/googleserver
diff options
context:
space:
mode:
authorChristopher Speller <crspeller@gmail.com>2018-04-16 05:37:14 -0700
committerJoram Wilander <jwawilander@gmail.com>2018-04-16 08:37:14 -0400
commit6e2cb00008cbf09e556b00f87603797fcaa47e09 (patch)
tree3c0eb55ff4226a3f024aad373140d1fb860a6404 /vendor/github.com/mattermost/rsc/google/googleserver
parentbf24f51c4e1cc6286885460672f7f449e8c6f5ef (diff)
downloadchat-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.go80
-rw-r--r--vendor/github.com/mattermost/rsc/google/googleserver/main.go139
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
-}