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;
|
iq["from"] = this->served_hostname;
|
||||||
XmlSubNode query(iq, "query");
|
XmlSubNode query(iq, "query");
|
||||||
query["xmlns"] = DISCO_INFO_NS;
|
query["xmlns"] = DISCO_INFO_NS;
|
||||||
|
XmlSubNode gwid(query, "identity");
|
||||||
|
gwid["category"] = "gateway";
|
||||||
|
gwid["type"] = "irc";
|
||||||
|
gwid["name"] = "Biboumi";
|
||||||
XmlSubNode identity(query, "identity");
|
XmlSubNode identity(query, "identity");
|
||||||
identity["category"] = "conference";
|
identity["category"] = "conference";
|
||||||
identity["type"] = "irc";
|
identity["type"] = "irc";
|
||||||
identity["name"] = "Biboumi XMPP-IRC gateway";
|
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");
|
XmlSubNode feature(query, "feature");
|
||||||
feature["var"] = ns;
|
feature["var"] = ns;
|
||||||
@@ -1203,6 +1207,14 @@ void BiboumiComponent::send_presence_to_contact(const std::string& from, const s
|
|||||||
presence["type"] = type;
|
presence["type"] = type;
|
||||||
if (!id.empty())
|
if (!id.empty())
|
||||||
presence["id"] = id;
|
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);
|
this->send_stanza(presence);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -16,6 +16,7 @@
|
|||||||
|
|
||||||
#define STREAM_NS "http://etherx.jabber.org/streams"
|
#define STREAM_NS "http://etherx.jabber.org/streams"
|
||||||
#define COMPONENT_NS "jabber:component:accept"
|
#define COMPONENT_NS "jabber:component:accept"
|
||||||
|
#define CAPS_NS "http://jabber.org/protocol/caps"
|
||||||
#define MUC_NS "http://jabber.org/protocol/muc"
|
#define MUC_NS "http://jabber.org/protocol/muc"
|
||||||
#define MUC_USER_NS MUC_NS"#user"
|
#define MUC_USER_NS MUC_NS"#user"
|
||||||
#define MUC_ADMIN_NS MUC_NS"#admin"
|
#define MUC_ADMIN_NS MUC_NS"#admin"
|
||||||
|
|||||||
Reference in New Issue
Block a user