Add autorelease pools.

This commit is contained in:
Jonathan Schleifer 2011-03-28 01:55:02 +02:00
parent 56ddb5c8de
commit 3e97096129

View file

@ -50,11 +50,12 @@
@interface XMPPConnection () @interface XMPPConnection ()
- (void)XMPP_startStream; - (void)XMPP_startStream;
- (void)XMPP_handleStanza: (OFXMLElement*)elem;
- (void)XMPP_sendAuth: (OFString*)name; - (void)XMPP_sendAuth: (OFString*)name;
- (void)XMPP_handleFeatures: (OFXMLElement*)elem;
- (void)XMPP_handleIQ: (XMPPIQ*)iq; - (void)XMPP_handleIQ: (XMPPIQ*)iq;
- (void)XMPP_handleMessage: (XMPPMessage*)msg; - (void)XMPP_handleMessage: (XMPPMessage*)msg;
- (void)XMPP_handlePresence: (XMPPPresence*)pres; - (void)XMPP_handlePresence: (XMPPPresence*)pres;
- (void)XMPP_handleFeatures: (OFXMLElement*)elem;
- (void)XMPP_sendResourceBind; - (void)XMPP_sendResourceBind;
- (void)XMPP_handleResourceBind: (XMPPIQ*)iq; - (void)XMPP_handleResourceBind: (XMPPIQ*)iq;
- (void)XMPP_sendSession; - (void)XMPP_sendSession;
@ -264,6 +265,8 @@
namespace: (OFString*)ns namespace: (OFString*)ns
attributes: (OFArray*)attrs attributes: (OFArray*)attrs
{ {
OFAutoreleasePool *pool = [[OFAutoreleasePool alloc] init];
if (![name isEqual: @"stream"] || ![prefix isEqual: @"stream"] || if (![name isEqual: @"stream"] || ![prefix isEqual: @"stream"] ||
![ns isEqual: NS_STREAM]) { ![ns isEqual: NS_STREAM]) {
of_log(@"Did not get expected stream start!"); of_log(@"Did not get expected stream start!");
@ -279,17 +282,36 @@
} }
parser.delegate = elementBuilder; parser.delegate = elementBuilder;
[pool release];
} }
- (void)elementBuilder: (OFXMLElementBuilder*)b - (void)elementBuilder: (OFXMLElementBuilder*)b
didBuildElement: (OFXMLElement*)elem didBuildElement: (OFXMLElement*)elem
{ {
OFAutoreleasePool *pool = [[OFAutoreleasePool alloc] init];
elem.defaultNamespace = NS_CLIENT; elem.defaultNamespace = NS_CLIENT;
[elem setPrefix: @"stream" [elem setPrefix: @"stream"
forNamespace: NS_STREAM]; forNamespace: NS_STREAM];
of_log(@"In: %@", elem); of_log(@"In: %@", elem);
[self XMPP_handleStanza: elem];
[pool release];
}
- (void)XMPP_startStream
{
[sock writeFormat: @"<?xml version='1.0'?>\n"
@"<stream:stream to='%@' xmlns='" NS_CLIENT @"' "
@"xmlns:stream='" NS_STREAM @"' "
@"version='1.0'>", server];
}
- (void)XMPP_handleStanza: (OFXMLElement*)elem
{
if ([elem.namespace isEqual: NS_CLIENT]) { if ([elem.namespace isEqual: NS_CLIENT]) {
if ([elem.name isEqual: @"iq"]) { if ([elem.name isEqual: @"iq"]) {
[self XMPP_handleIQ: [XMPPIQ stanzaWithElement: elem]]; [self XMPP_handleIQ: [XMPPIQ stanzaWithElement: elem]];
@ -343,16 +365,15 @@
OFXMLElement *responseTag; OFXMLElement *responseTag;
OFDataArray *challenge = OFDataArray *challenge =
[OFDataArray dataArrayWithBase64EncodedString: [OFDataArray dataArrayWithBase64EncodedString:
[elem.children.firstObject stringValue]]; [elem.children.firstObject stringValue]];
OFDataArray *response = OFDataArray *response = [authModule
[authModule calculateResponseWithChallenge: challenge];
calculateResponseWithChallenge: challenge];
responseTag = [OFXMLElement elementWithName: @"response" responseTag = [OFXMLElement elementWithName: @"response"
namespace: NS_SASL]; namespace: NS_SASL];
[responseTag [responseTag addChild:
addChild: [OFXMLElement elementWithCharacters: [OFXMLElement elementWithCharacters:
[response stringByBase64Encoding]]]; [response stringByBase64Encoding]]];
[self sendStanza: responseTag]; [self sendStanza: responseTag];
return; return;
@ -379,7 +400,7 @@
@throw [XMPPAuthFailedException @throw [XMPPAuthFailedException
newWithClass: isa newWithClass: isa
connection: self connection: self
reason: [elem stringValue]]; reason: elem.stringValue];
} }
assert(0); assert(0);
@ -388,14 +409,6 @@
assert(0); assert(0);
} }
- (void)XMPP_startStream
{
[sock writeFormat: @"<?xml version='1.0'?>\n"
@"<stream:stream to='%@' xmlns='" NS_CLIENT @"' "
@"xmlns:stream='" NS_STREAM @"' "
@"version='1.0'>", server];
}
- (void)XMPP_handleIQ: (XMPPIQ*)iq - (void)XMPP_handleIQ: (XMPPIQ*)iq
{ {
BOOL handled = NO; BOOL handled = NO;