#include <stdlib.h>
#include <string.h>
+static char * server = "vespa.holoscopio.com";
+static char * username = "pubsub";
+static char * password = "pubsub";
+static char * pbservice = "pubsub.vespa.holoscopio.com";
+static const char * authed_jid = "vespa";
+
iks *
createiq (char *type, char *to, char *qnam, char *xmlns, iks **query)
{
{
iks *iq;
iks *query;
- iq = createiq ("get", "pubsub.jabber-br.org", "query",
+ iq = createiq ("get", pbservice, "query",
"http://jabber.org/protocol/disco#info", &query);
if (node != NULL)
iks_insert_attrib (query, "node", node);
{
iks *iq;
iks *query;
- iq = createiq ("get", "pubsub.jabber-br.org", "query",
+ iq = createiq ("get", pbservice, "query",
"http://jabber.org/protocol/disco#items", &query);
if (node != NULL)
iks_insert_attrib (query, "node", node);
{
iks *iq;
iks *query;
- iq = createiq ("set", "pubsub.jabber-br.org", "pubsub",
+ iq = createiq ("set", pbservice, "pubsub",
"http://jabber.org/protocol/pubsub", &query);
iks_insert_attrib (iks_insert (query, "create"), "node", node);
iks_send (parser, iq);
{
iks *iq;
iks *query;
- iq = createiq ("get", "pubsub.jabber-br.org", "pubsub",
+ iq = createiq ("get", pbservice, "pubsub",
"http://jabber.org/protocol/pubsub", &query);
iks_insert_attrib (iks_insert (query, "items"), "node", node);
iks_send (parser, iq);
{
iks *iq;
iks *query;
- iq = createiq ("get", "pubsub.jabber-br.org", "vCard", "vcard-temp", &query);
+ iq = createiq ("get", pbservice, "vCard", "vcard-temp", &query);
iks_send (parser, iq);
iks_delete (iq);
}
iks *publish;
iks *item;
iks *mood;
- iq = createiq ("set", "pubsub.jabber-br.org", "pubsub",
+ iq = createiq ("set", pbservice, "pubsub",
"http://jabber.org/protocol/pubsub", &query);
publish = iks_insert (query, "publish");
iks_insert_attrib (publish, "node", node);
int
xmpp_sasl_hook (iksparser *parser, iks* node)
{
- iks_start_sasl (parser, IKS_SASL_DIGEST_MD5, "pubsub", "pubsub");
+ iks_start_sasl (parser, IKS_SASL_DIGEST_MD5, username, password);
return 0;
}
if (!iks_strcmp (ns, "urn:ietf:params:xml:ns:xmpp-sasl"))
{
if (!iks_strcmp (iks_name (node), "success"))
- iks_send_header (parser, "jabber-br.org");
+ iks_send_header (parser, server);
+ else if (!iks_strcmp (iks_name (node), "failure"))
+ printf ("failture to authenticate: %s\n",
+ iks_string (iks_stack (node), node));
return 0;
}
return 1;
}
-const char * jid = "cascardo@jabber-br.org";
static int
hook (void *data, int type, iks *node)
{
char *from;
from = iks_find_attrib (node, "from");
- if (!iks_strncmp (from, jid, iks_strlen (jid)))
+ if (!iks_strncmp (from, authed_jid, iks_strlen (authed_jid)))
{
char *body = iks_find_cdata (node, "body");
if (body != NULL)
if (xmpp_features_hook (parser, node) == 0)
return IKS_OK;
}
+ else if (!iks_strcmp (name, "stream:error"))
+ {
+ printf ("streamerror: %s\n", iks_string (iks_stack (node), node));
+ }
else
{
if (xmpp_other_hook (parser, node, ns) == 0)
{
iksparser *parser;
parser = iks_stream_new ("jabber:client", &parser, hook);
- iks_connect_tcp (parser, "jabber-br.org", 5222);
+ iks_connect_tcp (parser, server, 5222);
while (1)
iks_recv (parser, -1);
return 0;