ObjXMPP  Diff

Differences From Artifact [0cbf475a00]:

To Artifact [abf53f803c]:


615
616
617
618
619
620
621
622

623
624
625


626
627







628
629
630
631
632
633
634

635
636
637
638
639
640
641
615
616
617
618
619
620
621

622
623
624
625
626
627


628
629
630
631
632
633
634
635
636
637
638
639
640

641
642
643
644
645
646
647
648







-
+



+
+
-
-
+
+
+
+
+
+
+






-
+







- (void)XMPP_handleSASL: (OFXMLElement*)element
{
	if ([[element name] isEqual: @"challenge"]) {
		OFXMLElement *responseTag;
		OFDataArray *challenge = [OFDataArray
		    dataArrayWithBase64EncodedString: [element stringValue]];
		OFDataArray *response = [authModule
		    calculateResponseWithChallenge: challenge];
		    continueWithData: challenge];

		responseTag = [OFXMLElement  elementWithName: @"response"
						   namespace: XMPP_NS_SASL];
		if (response) {
			if ([response count] == 0)
		[responseTag addChild: [OFXMLElement elementWithCharacters:
		    [response stringByBase64Encoding]]];
				[responseTag addChild: [OFXMLElement
				    elementWithCharacters: @"="]];
			else
				[responseTag addChild: [OFXMLElement
				    elementWithCharacters: [response
					stringByBase64Encoding]]];
		}

		[self sendStanza: responseTag];
		return;
	}

	if ([[element name] isEqual: @"success"]) {
		[authModule parseServerFinalMessage: [OFDataArray
		[authModule continueWithData: [OFDataArray
		    dataArrayWithBase64EncodedString: [element stringValue]]];

		if ([delegate respondsToSelector:
		    @selector(connectionWasAuthenticated:)])
			[delegate connectionWasAuthenticated: self];

		/* Stream restart */
776
777
778
779
780
781
782

783
784
785
786
787





788
789



790
791
792
793
794
795
796
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800


801
802
803
804
805
806
807
808
809
810







+





+
+
+
+
+
-
-
+
+
+








	assert(0);
}

- (void)XMPP_sendAuth: (OFString*)authName
{
	OFXMLElement *authTag;
	OFDataArray *initialMessage = [authModule initialMessage];

	authTag = [OFXMLElement elementWithName: @"auth"
				      namespace: XMPP_NS_SASL];
	[authTag addAttributeWithName: @"mechanism"
			  stringValue: authName];
	if (initialMessage) {
		if ([initialMessage count] == 0)
			[authTag addChild: [OFXMLElement
			    elementWithCharacters: @"="]];
		else
	[authTag addChild: [OFXMLElement elementWithCharacters:
	    [[authModule clientFirstMessage] stringByBase64Encoding]]];
			[authTag addChild: [OFXMLElement elementWithCharacters:
			    [initialMessage stringByBase64Encoding]]];
	}

	[self sendStanza: authTag];
}

- (void)XMPP_sendResourceBind
{
	XMPPIQ *iq;