Add gateway/irc and caps
This commit is contained in:
@@ -962,11 +962,15 @@ void BiboumiComponent::send_self_disco_info(const std::string& id, const std::st
|
||||
iq["from"] = this->served_hostname;
|
||||
XmlSubNode query(iq, "query");
|
||||
query["xmlns"] = DISCO_INFO_NS;
|
||||
XmlSubNode gwid(query, "identity");
|
||||
gwid["category"] = "gateway";
|
||||
gwid["type"] = "irc";
|
||||
gwid["name"] = "Biboumi";
|
||||
XmlSubNode identity(query, "identity");
|
||||
identity["category"] = "conference";
|
||||
identity["type"] = "irc";
|
||||
identity["name"] = "Biboumi XMPP-IRC gateway";
|
||||
for (const char *ns: {DISCO_INFO_NS, MUC_NS, ADHOC_NS, PING_NS, MAM_NS, VERSION_NS, STABLE_MUC_ID_NS})
|
||||
for (const char *ns: {DISCO_INFO_NS, CAPS_NS, MUC_NS, ADHOC_NS, PING_NS, MAM_NS, VERSION_NS, STABLE_MUC_ID_NS})
|
||||
{
|
||||
XmlSubNode feature(query, "feature");
|
||||
feature["var"] = ns;
|
||||
@@ -1203,6 +1207,14 @@ void BiboumiComponent::send_presence_to_contact(const std::string& from, const s
|
||||
presence["type"] = type;
|
||||
if (!id.empty())
|
||||
presence["id"] = id;
|
||||
|
||||
if (type.empty() && from == this->served_hostname) {
|
||||
XmlSubNode c(presence, "c");
|
||||
c["xmlns"] = CAPS_NS;
|
||||
c["hash"] = "sha-1";
|
||||
c["node"] = "https://biboumi.louiz.org/";
|
||||
c["ver"] = "m8CzZQt9wVuZlrV5a/vZYk/zAN0=";
|
||||
}
|
||||
this->send_stanza(presence);
|
||||
}
|
||||
|
||||
|
||||
@@ -16,6 +16,7 @@
|
||||
|
||||
#define STREAM_NS "http://etherx.jabber.org/streams"
|
||||
#define COMPONENT_NS "jabber:component:accept"
|
||||
#define CAPS_NS "http://jabber.org/protocol/caps"
|
||||
#define MUC_NS "http://jabber.org/protocol/muc"
|
||||
#define MUC_USER_NS MUC_NS"#user"
|
||||
#define MUC_ADMIN_NS MUC_NS"#admin"
|
||||
|
||||
Reference in New Issue
Block a user