1
0
Fork 0

Fix received auth code

Fix XMPP comp out when user registrered
Send offline presence when program exit
This commit is contained in:
Chteufleur 2016-04-16 11:39:36 +02:00
parent ce3b45b492
commit 9103fe6ecd
7 changed files with 14 additions and 16 deletions

View File

@ -16,7 +16,6 @@ type GatewayInfo struct {
// Steam
SteamLogin string
SteamPassword string
SteamAuthCode string
SteamLoginInfo *steam.LogOnDetails
SteamClient *steam.Client
SentryFile string
@ -33,5 +32,5 @@ func (g *GatewayInfo) Run() {
}
func (g *GatewayInfo) SetSteamAuthCode(authCode string) {
g.SteamAuthCode = authCode
g.SteamLoginInfo.AuthCode = authCode
}

View File

@ -9,7 +9,7 @@ import (
"io/ioutil"
"log"
"strconv"
// "time"
"time"
)
const (
@ -34,7 +34,7 @@ func (g *GatewayInfo) SteamRun() {
g.setLoginInfos()
g.SteamClient = steam.NewClient()
g.SteamConnecting = false
// g.SteamClient.ConnectionTimeout = 10 * time.Second
g.SteamClient.ConnectionTimeout = 10 * time.Second
g.mainSteam()
@ -131,13 +131,8 @@ func (g *GatewayInfo) setLoginInfos() {
if err == nil {
g.SteamLoginInfo.SentryFileHash = sentryHash
log.Printf("%sAuthentification by SentryFileHash", LogSteamDebug)
} else if g.SteamAuthCode != "" {
g.SteamLoginInfo.AuthCode = g.SteamAuthCode
log.Printf("%sAuthentification by AuthCode (%s, %s, %s)", LogSteamDebug, g.SteamLoginInfo.Username, g.SteamLoginInfo.Password, g.SteamAuthCode)
} else {
log.Printf("%sFirst authentification (%s, %s)", LogSteamDebug, g.SteamLoginInfo.Username, g.SteamLoginInfo.Password)
}
log.Printf("%sAuthentification of (%s, %s)", LogSteamDebug, g.XMPP_JID_Client, g.SteamLoginInfo.Username)
}
func (g *GatewayInfo) IsSteamConnected() bool {

View File

@ -132,6 +132,7 @@ func (g *GatewayInfo) SendXmppPresence(status, tpye, from, message, nick string)
p.Nick = nick
}
if from == "" {
// TODO add an option to allow message comming directly from the gateway
p.From = XmppJidComponent
} else {
p.From = from

View File

@ -15,7 +15,7 @@ import (
)
const (
Version = "go-xmpp4steam v0.3.1"
Version = "go-xmpp4steam v0.3.2"
configurationFilePath = "xmpp4steam.cfg"
)

View File

@ -1 +1 @@
{"Addresses":[{"IP":"146.66.152.11","Port":27017},{"IP":"146.66.152.11","Port":27018},{"IP":"146.66.152.11","Port":27019},{"IP":"146.66.152.10","Port":27020},{"IP":"146.66.152.11","Port":27020},{"IP":"162.254.197.41","Port":27018},{"IP":"146.66.152.10","Port":27019},{"IP":"146.66.152.10","Port":27017},{"IP":"162.254.197.42","Port":27021},{"IP":"162.254.197.40","Port":27019},{"IP":"146.66.152.10","Port":27018},{"IP":"162.254.197.41","Port":27021},{"IP":"162.254.197.40","Port":27018},{"IP":"162.254.197.40","Port":27021},{"IP":"162.254.197.42","Port":27018},{"IP":"162.254.197.41","Port":27017},{"IP":"162.254.197.42","Port":27017},{"IP":"162.254.197.41","Port":27019},{"IP":"162.254.197.42","Port":27019},{"IP":"162.254.197.40","Port":27020},{"IP":"162.254.197.41","Port":27020},{"IP":"162.254.197.40","Port":27017},{"IP":"162.254.197.42","Port":27020},{"IP":"162.254.196.40","Port":27021},{"IP":"162.254.196.42","Port":27017},{"IP":"162.254.196.41","Port":27021},{"IP":"162.254.196.43","Port":27021},{"IP":"162.254.196.41","Port":27017},{"IP":"162.254.196.42","Port":27019},{"IP":"162.254.196.41","Port":27019},{"IP":"162.254.196.40","Port":27018},{"IP":"162.254.196.43","Port":27019},{"IP":"162.254.196.43","Port":27017},{"IP":"162.254.196.40","Port":27019},{"IP":"162.254.196.43","Port":27018},{"IP":"162.254.196.42","Port":27018},{"IP":"162.254.196.43","Port":27020},{"IP":"162.254.196.41","Port":27020},{"IP":"162.254.196.42","Port":27021},{"IP":"162.254.196.40","Port":27020},{"IP":"162.254.196.40","Port":27017},{"IP":"162.254.196.41","Port":27018},{"IP":"162.254.196.42","Port":27020},{"IP":"146.66.155.8","Port":27018},{"IP":"146.66.155.8","Port":27017},{"IP":"146.66.155.8","Port":27020},{"IP":"185.25.182.10","Port":27018},{"IP":"185.25.182.10","Port":27019},{"IP":"185.25.182.10","Port":27017},{"IP":"185.25.182.10","Port":27020},{"IP":"155.133.242.8","Port":27017},{"IP":"185.25.180.15","Port":27020},{"IP":"155.133.242.8","Port":27018},{"IP":"155.133.242.8","Port":27020},{"IP":"185.25.180.14","Port":27019},{"IP":"185.25.180.14","Port":27017},{"IP":"185.25.180.14","Port":27018},{"IP":"185.25.180.15","Port":27019},{"IP":"155.133.242.9","Port":27020},{"IP":"185.25.180.14","Port":27020},{"IP":"185.25.180.15","Port":27018},{"IP":"155.133.242.9","Port":27017},{"IP":"155.133.242.9","Port":27019},{"IP":"146.66.155.8","Port":27019},{"IP":"155.133.242.9","Port":27018},{"IP":"155.133.242.8","Port":27019},{"IP":"185.25.180.15","Port":27017},{"IP":"208.78.164.11","Port":27019},{"IP":"208.78.164.14","Port":27018},{"IP":"208.78.164.9","Port":27017},{"IP":"208.78.164.13","Port":27019},{"IP":"208.78.164.13","Port":27018},{"IP":"208.78.164.10","Port":27019},{"IP":"208.78.164.10","Port":27018},{"IP":"208.78.164.12","Port":27019},{"IP":"208.78.164.9","Port":27019},{"IP":"208.78.164.10","Port":27017},{"IP":"208.78.164.14","Port":27019},{"IP":"208.78.164.11","Port":27018},{"IP":"208.78.164.12","Port":27018}]}
{"Addresses":[{"IP":"162.254.197.42","Port":27020},{"IP":"146.66.152.10","Port":27020},{"IP":"146.66.152.11","Port":27020},{"IP":"162.254.197.40","Port":27019},{"IP":"162.254.197.42","Port":27019},{"IP":"146.66.152.10","Port":27018},{"IP":"162.254.197.40","Port":27021},{"IP":"162.254.197.42","Port":27017},{"IP":"146.66.152.10","Port":27019},{"IP":"146.66.152.10","Port":27017},{"IP":"146.66.152.11","Port":27019},{"IP":"162.254.197.41","Port":27018},{"IP":"162.254.197.40","Port":27020},{"IP":"162.254.197.41","Port":27019},{"IP":"162.254.197.40","Port":27017},{"IP":"162.254.197.41","Port":27017},{"IP":"146.66.152.11","Port":27018},{"IP":"146.66.152.11","Port":27017},{"IP":"162.254.197.40","Port":27018},{"IP":"162.254.197.42","Port":27021},{"IP":"162.254.197.42","Port":27018},{"IP":"162.254.197.41","Port":27020},{"IP":"162.254.197.41","Port":27021},{"IP":"162.254.196.41","Port":27019},{"IP":"162.254.196.41","Port":27021},{"IP":"162.254.196.41","Port":27017},{"IP":"162.254.196.40","Port":27017},{"IP":"162.254.196.43","Port":27018},{"IP":"162.254.196.43","Port":27017},{"IP":"162.254.196.42","Port":27018},{"IP":"162.254.196.42","Port":27021},{"IP":"162.254.196.42","Port":27020},{"IP":"162.254.196.43","Port":27020},{"IP":"162.254.196.41","Port":27020},{"IP":"162.254.196.41","Port":27018},{"IP":"162.254.196.43","Port":27021},{"IP":"162.254.196.42","Port":27019},{"IP":"162.254.196.43","Port":27019},{"IP":"162.254.196.42","Port":27017},{"IP":"162.254.196.40","Port":27018},{"IP":"162.254.196.40","Port":27019},{"IP":"146.66.155.8","Port":27018},{"IP":"185.25.182.10","Port":27018},{"IP":"146.66.155.8","Port":27019},{"IP":"185.25.182.10","Port":27017},{"IP":"146.66.155.8","Port":27017},{"IP":"185.25.182.10","Port":27020},{"IP":"185.25.182.10","Port":27019},{"IP":"146.66.155.8","Port":27020},{"IP":"155.133.242.9","Port":27020},{"IP":"185.25.180.14","Port":27019},{"IP":"155.133.242.8","Port":27020},{"IP":"155.133.242.9","Port":27018},{"IP":"185.25.180.15","Port":27018},{"IP":"185.25.180.14","Port":27017},{"IP":"185.25.180.15","Port":27017},{"IP":"185.25.180.14","Port":27020},{"IP":"185.25.180.15","Port":27019},{"IP":"162.254.196.40","Port":27021},{"IP":"185.25.180.15","Port":27020},{"IP":"185.25.180.14","Port":27018},{"IP":"155.133.242.9","Port":27017},{"IP":"155.133.242.9","Port":27019},{"IP":"162.254.196.40","Port":27020},{"IP":"155.133.242.8","Port":27017},{"IP":"155.133.242.8","Port":27019},{"IP":"155.133.242.8","Port":27018},{"IP":"208.78.164.10","Port":27018},{"IP":"208.78.164.11","Port":27019},{"IP":"208.78.164.14","Port":27018},{"IP":"208.78.164.11","Port":27018},{"IP":"208.78.164.14","Port":27017},{"IP":"208.78.164.12","Port":27018},{"IP":"208.78.164.13","Port":27019},{"IP":"208.78.164.13","Port":27017},{"IP":"208.78.164.13","Port":27018},{"IP":"208.78.164.10","Port":27017},{"IP":"208.78.164.14","Port":27019},{"IP":"208.78.164.11","Port":27017},{"IP":"208.78.164.10","Port":27019}]}

View File

@ -53,6 +53,7 @@ func execCommandAdHoc(iq *xmpp.Iq) {
} else if adHoc.Node == CommandGetIdentifiants {
// Command Auth Code
cmdXForm := &xmpp.AdHocXForm{Type: xmpp.TypeAdHocForm, Title: "Steam Account Info", Instructions: "Please provide your Steam login and password."}
// TODO Warn that the given info is stored in database in clear
field := &xmpp.AdHocField{Var: "login", Label: "Steam Login", Type: xmpp.TypeAdHocFieldTextSingle}
cmdXForm.Fields = append(cmdXForm.Fields, *field)
@ -131,9 +132,7 @@ func execCommandAdHoc(iq *xmpp.Iq) {
isSqlSuccess = dbUser.AddLine()
}
if isSqlSuccess {
if !isUserRegistred {
AddNewUser(dbUser.Jid, dbUser.SteamLogin, dbUser.SteamPwd)
}
AddNewUser(dbUser.Jid, dbUser.SteamLogin, dbUser.SteamPwd)
note.Value = "Command succeded !"
} else {
note.Value = "Error append while executing command"

View File

@ -102,7 +102,9 @@ func must(v interface{}, err error) interface{} {
func Disconnect() {
log.Printf("%sXMPP disconnect", LogInfo)
SendPresence(gateway.Status_offline, gateway.Type_unavailable, "", "", "", "")
for _, u := range MapGatewayInfo {
u.SteamDisconnect()
}
}
func SendPresence(status, tpye, from, to, message, nick string) {
@ -154,6 +156,8 @@ func AddNewUser(jid, steamLogin, steamPwd string) {
g.SentryFile = gateway.SentryDirectory + jid
g.FriendSteamId = make(map[string]struct{})
g.XMPP_Out = comp.Out
MapGatewayInfo[jid] = g
go g.Run()
}