--- C:\Program Files\Pandion\src\main\XMPPOnStream.js Wed Jan 04 17:32:23 2006
+++ C:\Program Files\Pandion\src\main-sspi\XMPPOnStream.js Tue Apr 18 17:30:33 2006
@@ -44,7 +44,16 @@
*/
if ( external.globals( 'sspiserver' ).length || external.globals( 'authentication' ) == 'ntlm' )
{
- if ( ReceivedXML.documentElement.selectSingleNode( '/stream:features/mechanisms[@xmlns="urn:ietf:params:xml:ns:xmpp-sasl"]/mechanism[ . = "SPNEGO" ]' ) )
+ if ( true )
+ {
+ var dom = new ActiveXObject( 'Msxml2.DOMDocument' );
+ dom.loadXML( '' );
+ external.SASL.SSPIReset();
+ dom.documentElement.text = external.SASL.SSPIGenerateResponse( '', external.globals( 'XMPPSASLSSPIContinue' ) );
+ warn( 'SENT: ' + dom.xml );
+ external.XMPP.SendXML( dom );
+ }
+ else if ( ReceivedXML.documentElement.selectSingleNode( '/stream:features/mechanisms[@xmlns="urn:ietf:params:xml:ns:xmpp-sasl"]/mechanism[ . = "SPNEGO" ]' ) )
{
var dom = new ActiveXObject( 'Msxml2.DOMDocument' );
dom.loadXML( '' );
@@ -118,7 +127,9 @@
{
var dom = new ActiveXObject( 'Msxml2.DOMDocument' );
dom.loadXML( '' );
- dom.documentElement.text = external.SASL.SSPIGenerateResponse( ReceivedXML.documentElement.selectSingleNode( '/challenge[@xmlns="urn:ietf:params:xml:ns:xmpp-sasl"]' ).text, external.globals( 'XMPPSASLSSPIContinue' ) );
+ var response = ReceivedXML.documentElement.selectSingleNode( '/challenge[@xmlns="urn:ietf:params:xml:ns:xmpp-sasl"]' ).text;
+ if (response != "=")
+ dom.documentElement.text = external.SASL.SSPIGenerateResponse( response , external.globals( 'XMPPSASLSSPIContinue' ) );
warn( 'SENT: ' + dom.xml );
external.XMPP.SendXML( dom );
}