summaryrefslogtreecommitdiff
path: root/xmpp/jid.go
diff options
context:
space:
mode:
Diffstat (limited to 'xmpp/jid.go')
-rw-r--r--xmpp/jid.go19
1 files changed, 19 insertions, 0 deletions
diff --git a/xmpp/jid.go b/xmpp/jid.go
index 90c1509..d7107d4 100644
--- a/xmpp/jid.go
+++ b/xmpp/jid.go
@@ -1,5 +1,9 @@
package xmpp
+import (
+ "encoding/xml"
+)
+
// domainpart extracts the domain name from a JID / XMPP address. See
// https://datatracker.ietf.org/doc/html/rfc7622#section-3.2 for details.
func domainpart(jid string) string {
@@ -33,3 +37,18 @@ func username(jid string) string {
return ""
}
+
+func hasBind(e []xml.Token) bool {
+ bind := xml.Name{`urn:ietf:params:xml:ns:xmpp-bind`, `bind`}
+
+ for _, v := range e {
+ switch s := v.(type) {
+ case xml.StartElement:
+ if s.Name == bind {
+ return true
+ }
+ }
+ }
+
+ return false
+}