summaryrefslogtreecommitdiff
path: root/xmpp/streams.go
diff options
context:
space:
mode:
Diffstat (limited to 'xmpp/streams.go')
-rw-r--r--xmpp/streams.go8
1 files changed, 8 insertions, 0 deletions
diff --git a/xmpp/streams.go b/xmpp/streams.go
index b9cd4cd..18a5e6a 100644
--- a/xmpp/streams.go
+++ b/xmpp/streams.go
@@ -7,9 +7,12 @@ import (
type streamFeatures struct {
SaslMechanisms []string `xml:"urn:ietf:params:xml:ns:xmpp-sasl mechanisms>mechanism"`
+ Bind *bool `xml:"urn:ietf:params:xml:ns:xmpp-bind bind,omitempty"`
}
func handleStreamFeatures(s *session, f streamFeatures) {
+ log.Print(f)
+
if len(f.SaslMechanisms) > 0 {
for _, v := range f.SaslMechanisms {
if v == "PLAIN" {
@@ -20,6 +23,11 @@ func handleStreamFeatures(s *session, f streamFeatures) {
log.Println("No compatible SASL mechanism found!")
return
}
+
+ if f.Bind != nil {
+ s.sendBind()
+ return
+ }
}
func openStream(e *xml.Encoder, jid string) {