--- 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 ); }