Mercurial > pidgin.yaz
comparison libpurple/protocols/jabber/auth_scram.c @ 29097:cea22db36ffc
jabber: Use NS_XMPP_SASL
author | Paul Aurich <paul@darkrain42.org> |
---|---|
date | Fri, 27 Nov 2009 20:41:22 +0000 |
parents | 40a46992c728 |
children | 464d022d7d6e |
comparison
equal
deleted
inserted
replaced
29096:d9c70a78fad5 | 29097:cea22db36ffc |
---|---|
385 data->cnonce); | 385 data->cnonce); |
386 | 386 |
387 data->step = 1; | 387 data->step = 1; |
388 | 388 |
389 reply = xmlnode_new("auth"); | 389 reply = xmlnode_new("auth"); |
390 xmlnode_set_namespace(reply, "urn:ietf:params:xml:ns:xmpp-sasl"); | 390 xmlnode_set_namespace(reply, NS_XMPP_SASL); |
391 xmlnode_set_attrib(reply, "mechanism", js->auth_mech->name); | 391 xmlnode_set_attrib(reply, "mechanism", js->auth_mech->name); |
392 | 392 |
393 /* TODO: Channel binding */ | 393 /* TODO: Channel binding */ |
394 dec_out = g_strdup_printf("%c,,%s", 'n', data->auth_message->str); | 394 dec_out = g_strdup_printf("%c,,%s", 'n', data->auth_message->str); |
395 enc_out = purple_base64_encode((guchar *)dec_out, strlen(dec_out)); | 395 enc_out = purple_base64_encode((guchar *)dec_out, strlen(dec_out)); |
412 gsize len; | 412 gsize len; |
413 | 413 |
414 enc_in = xmlnode_get_data(challenge); | 414 enc_in = xmlnode_get_data(challenge); |
415 if (!enc_in || *enc_in == '\0') { | 415 if (!enc_in || *enc_in == '\0') { |
416 reply = xmlnode_new("abort"); | 416 reply = xmlnode_new("abort"); |
417 xmlnode_set_namespace(reply, "urn:ietf:params:xml:ns:xmpp-sasl"); | 417 xmlnode_set_namespace(reply, NS_XMPP_SASL); |
418 data->step = -1; | 418 data->step = -1; |
419 goto out; | 419 goto out; |
420 } | 420 } |
421 | 421 |
422 dec_in = (gchar *)purple_base64_decode(enc_in, &len); | 422 dec_in = (gchar *)purple_base64_decode(enc_in, &len); |
423 g_free(enc_in); | 423 g_free(enc_in); |
424 if (!dec_in || len != strlen(dec_in)) { | 424 if (!dec_in || len != strlen(dec_in)) { |
425 /* Danger afoot; SCRAM shouldn't contain NUL bytes */ | 425 /* Danger afoot; SCRAM shouldn't contain NUL bytes */ |
426 reply = xmlnode_new("abort"); | 426 reply = xmlnode_new("abort"); |
427 xmlnode_set_namespace(reply, "urn:ietf:params:xml:ns:xmpp-sasl"); | 427 xmlnode_set_namespace(reply, NS_XMPP_SASL); |
428 data->step = -1; | 428 data->step = -1; |
429 goto out; | 429 goto out; |
430 } | 430 } |
431 | 431 |
432 purple_debug_misc("jabber", "decoded challenge: %s\n", dec_in); | 432 purple_debug_misc("jabber", "decoded challenge: %s\n", dec_in); |
433 | 433 |
434 if (!jabber_scram_feed_parser(data, dec_in, &dec_out)) { | 434 if (!jabber_scram_feed_parser(data, dec_in, &dec_out)) { |
435 reply = xmlnode_new("abort"); | 435 reply = xmlnode_new("abort"); |
436 xmlnode_set_namespace(reply, "urn:ietf:params:xml:ns:xmpp-sasl"); | 436 xmlnode_set_namespace(reply, NS_XMPP_SASL); |
437 data->step = -1; | 437 data->step = -1; |
438 goto out; | 438 goto out; |
439 } | 439 } |
440 | 440 |
441 data->step += 1; | 441 data->step += 1; |
442 | 442 |
443 reply = xmlnode_new("response"); | 443 reply = xmlnode_new("response"); |
444 xmlnode_set_namespace(reply, "urn:ietf:params:xml:ns:xmpp-sasl"); | 444 xmlnode_set_namespace(reply, NS_XMPP_SASL); |
445 | 445 |
446 purple_debug_misc("jabber", "decoded response: %s\n", dec_out ? dec_out : "(null)"); | 446 purple_debug_misc("jabber", "decoded response: %s\n", dec_out ? dec_out : "(null)"); |
447 if (dec_out) { | 447 if (dec_out) { |
448 enc_out = purple_base64_encode((guchar *)dec_out, strlen(dec_out)); | 448 enc_out = purple_base64_encode((guchar *)dec_out, strlen(dec_out)); |
449 xmlnode_insert_data(reply, enc_out, -1); | 449 xmlnode_insert_data(reply, enc_out, -1); |