diff --git a/src/XMPPAuthenticator.h b/src/XMPPAuthenticator.h index 706d52a..e18ea40 100644 --- a/src/XMPPAuthenticator.h +++ b/src/XMPPAuthenticator.h @@ -56,8 +56,8 @@ OF_ASSUME_NONNULL_BEGIN * @param password The password to authenticate with * @return A initialized XMPPAuthenticator */ -- initWithAuthcid: (nullable OFString *)authcid - password: (nullable OFString *)password; +- (instancetype)initWithAuthcid: (nullable OFString *)authcid + password: (nullable OFString *)password; /*! * @brief Initializes an already allocated XMPPSCRAMAuthenticator with an @@ -68,9 +68,10 @@ OF_ASSUME_NONNULL_BEGIN * @param password The password to authenticate with * @return A initialized XMPPAuthenticator */ -- initWithAuthzid: (nullable OFString *)authzid - authcid: (nullable OFString *)authcid - password: (nullable OFString *)password OF_DESIGNATED_INITIALIZER; +- (instancetype)initWithAuthzid: (nullable OFString *)authzid + authcid: (nullable OFString *)authcid + password: (nullable OFString *)password + OF_DESIGNATED_INITIALIZER; /*! * @brief Returns OFData containing the initial authentication message. diff --git a/src/XMPPAuthenticator.m b/src/XMPPAuthenticator.m index 3f4bb88..c1b6442 100644 --- a/src/XMPPAuthenticator.m +++ b/src/XMPPAuthenticator.m @@ -30,17 +30,17 @@ @implementation XMPPAuthenticator @synthesize authzid = _authzid, authcid = _authcid, password = _password; -- initWithAuthcid: (OFString *)authcid - password: (OFString *)password +- (instancetype)initWithAuthcid: (OFString *)authcid + password: (OFString *)password { return [self initWithAuthzid: nil authcid: authcid password: password]; } -- initWithAuthzid: (OFString *)authzid - authcid: (OFString *)authcid - password: (OFString *)password +- (instancetype)initWithAuthzid: (OFString *)authzid + authcid: (OFString *)authcid + password: (OFString *)password { self = [super init]; diff --git a/src/XMPPCallback.h b/src/XMPPCallback.h index a4937ba..a57614b 100644 --- a/src/XMPPCallback.h +++ b/src/XMPPCallback.h @@ -43,13 +43,13 @@ typedef void (^xmpp_callback_block_t)(XMPPConnection *_Nonnull, #ifdef OF_HAVE_BLOCKS + (instancetype)callbackWithBlock: (xmpp_callback_block_t)callback; -- initWithBlock: (xmpp_callback_block_t)callback; +- (instancetype)initWithBlock: (xmpp_callback_block_t)callback; #endif + (instancetype)callbackWithTarget: (id)target selector: (SEL)selector; -- initWithTarget: (id)target - selector: (SEL)selector; +- (instancetype)initWithTarget: (id)target + selector: (SEL)selector; - (void)runWithIQ: (XMPPIQ *)iq connection: (XMPPConnection *)connection; diff --git a/src/XMPPCallback.m b/src/XMPPCallback.m index d17b4b3..04b191e 100644 --- a/src/XMPPCallback.m +++ b/src/XMPPCallback.m @@ -34,7 +34,7 @@ initWithBlock: block] autorelease]; } -- initWithBlock: (xmpp_callback_block_t)block +- (instancetype)initWithBlock: (xmpp_callback_block_t)block { self = [super init]; @@ -56,8 +56,8 @@ selector: selector] autorelease]; } -- initWithTarget: (id)target - selector: (SEL)selector +- (instancetype)initWithTarget: (id)target + selector: (SEL)selector { self = [super init]; diff --git a/src/XMPPConnection.m b/src/XMPPConnection.m index f973bce..c53b46b 100644 --- a/src/XMPPConnection.m +++ b/src/XMPPConnection.m @@ -58,33 +58,46 @@ #define BUFFER_LENGTH 512 -OF_ASSUME_NONNULL_BEGIN - @interface XMPPConnection () -- (void)XMPP_startStream; -- (void)XMPP_handleStream: (OFXMLElement *)element; -- (void)XMPP_handleTLS: (OFXMLElement *)element; -- (void)XMPP_handleSASL: (OFXMLElement *)element; -- (void)XMPP_handleStanza: (OFXMLElement *)element; -- (void)XMPP_sendAuth: (OFString *)authName; -- (void)XMPP_sendResourceBind; -- (void)XMPP_sendStreamError: (OFString *)condition - text: (nullable OFString *)text; -- (void)XMPP_handleIQ: (XMPPIQ *)IQ; -- (void)XMPP_handleMessage: (XMPPMessage *)message; -- (void)XMPP_handlePresence: (XMPPPresence *)presence; -- (void)XMPP_handleFeatures: (OFXMLElement *)element; -- (void)XMPP_handleResourceBindForConnection: (XMPPConnection *)connection +- (void)xmpp_socketDidConnect: (OFTCPSocket *)socket + context: (OFArray *)nextSRVRecords + exception: (id)exception; +- (void)xmpp_tryNextSRVRecord: (OFArray *)SRVRecords; +- (void)xmpp_resolver: (OFDNSResolver *)resolver + didResolveDomainName: (OFString *)domainName + answerRecords: (OFDictionary *)answerRecords + authorityRecords: (OFDictionary *)authorityRecords + additionalRecords: (OFDictionary *)additionalRecords + context: (OFString *)domainToASCII + exception: (id)exception; +- (bool)xmpp_parseBuffer: (const void *)buffer + length: (size_t)length; +- (bool)xmpp_stream: (OFStream *)stream + didReadIntoBuffer: (char *)buffer + length: (size_t)length + exception: (OFException *)exception; +- (void)xmpp_startStream; +- (void)xmpp_handleStanza: (OFXMLElement *)element; +- (void)xmpp_handleStream: (OFXMLElement *)element; +- (void)xmpp_handleTLS: (OFXMLElement *)element; +- (void)xmpp_handleSASL: (OFXMLElement *)element; +- (void)xmpp_handleIQ: (XMPPIQ *)IQ; +- (void)xmpp_handleMessage: (XMPPMessage *)message; +- (void)xmpp_handlePresence: (XMPPPresence *)presence; +- (void)xmpp_handleFeatures: (OFXMLElement *)element; +- (void)xmpp_sendAuth: (OFString *)authName; +- (void)xmpp_sendResourceBind; +- (void)xmpp_sendStreamError: (OFString *)condition + text: (OFString *)text; +- (void)xmpp_handleResourceBindForConnection: (XMPPConnection *)connection IQ: (XMPPIQ *)IQ; -- (void)XMPP_sendSession; -- (void)XMPP_handleSessionForConnection: (XMPPConnection *)connection +- (void)xmpp_sendSession; +- (void)xmpp_handleSessionForConnection: (XMPPConnection *)connection IQ: (XMPPIQ *)IQ; -- (OFString *)XMPP_IDNAToASCII: (OFString *)domain; -- (XMPPMulticastDelegate *)XMPP_delegates; +- (OFString *)xmpp_IDNAToASCII: (OFString *)domain; +- (XMPPMulticastDelegate *)xmpp_delegates; @end -OF_ASSUME_NONNULL_END - @implementation XMPPConnection @synthesize username = _username, resource = _resource, server = _server; @synthesize domain = _domain, password = _password, language = _language; @@ -99,7 +112,7 @@ OF_ASSUME_NONNULL_END return [[[self alloc] init] autorelease]; } -- init +- (instancetype)init { self = [super init]; @@ -192,7 +205,7 @@ OF_ASSUME_NONNULL_END OFString *old = _server; if (server != nil) - _server = [self XMPP_IDNAToASCII: server]; + _server = [self xmpp_IDNAToASCII: server]; else _server = nil; @@ -221,7 +234,7 @@ OF_ASSUME_NONNULL_END free(srv); } - _domainToASCII = [self XMPP_IDNAToASCII: _domain]; + _domainToASCII = [self xmpp_IDNAToASCII: _domain]; } else { _domain = nil; _domainToASCII = nil; @@ -257,7 +270,7 @@ OF_ASSUME_NONNULL_END [old release]; } -- (void)XMPP_socketDidConnect: (OFTCPSocket *)socket +- (void)xmpp_socketDidConnect: (OFTCPSocket *)socket context: (OFArray *)nextSRVRecords exception: (id)exception { @@ -265,7 +278,7 @@ OF_ASSUME_NONNULL_END if (exception != nil) { if (nextSRVRecords != nil) { - [self XMPP_tryNextSRVRecord: nextSRVRecords]; + [self xmpp_tryNextSRVRecord: nextSRVRecords]; return; } @@ -276,18 +289,18 @@ OF_ASSUME_NONNULL_END return; } - [self XMPP_startStream]; + [self xmpp_startStream]; buffer = [self allocMemoryWithSize: BUFFER_LENGTH]; [_socket asyncReadIntoBuffer: buffer length: BUFFER_LENGTH target: self - selector: @selector(XMPP_stream:didReadIntoBuffer: + selector: @selector(xmpp_stream:didReadIntoBuffer: length:exception:) context: nil]; } -- (void)XMPP_tryNextSRVRecord: (OFArray *)SRVRecords +- (void)xmpp_tryNextSRVRecord: (OFArray *)SRVRecords { OFSRVDNSResourceRecord *record = [SRVRecords objectAtIndex: 0]; @@ -299,12 +312,12 @@ OF_ASSUME_NONNULL_END [_socket asyncConnectToHost: [record target] port: [record port] target: self - selector: @selector(XMPP_socketDidConnect: + selector: @selector(xmpp_socketDidConnect: context:exception:) context: SRVRecords]; } -- (void)XMPP_resolver: (OFDNSResolver *)resolver +- (void)xmpp_resolver: (OFDNSResolver *)resolver didResolveDomainName: (OFString *)domainName answerRecords: (OFDictionary *)answerRecords authorityRecords: (OFDictionary *)authorityRecords @@ -335,13 +348,13 @@ OF_ASSUME_NONNULL_END [_socket asyncConnectToHost: domainToASCII port: _port target: self - selector: @selector(XMPP_socketDidConnect: + selector: @selector(xmpp_socketDidConnect: context:exception:) context: nil]; return; } - [self XMPP_tryNextSRVRecord: records]; + [self xmpp_tryNextSRVRecord: records]; } - (void)asyncConnect @@ -357,14 +370,14 @@ OF_ASSUME_NONNULL_END [_socket asyncConnectToHost: _server port: _port target: self - selector: @selector(XMPP_socketDidConnect: + selector: @selector(xmpp_socketDidConnect: context:exception:) context: nil]; else [[OFThread DNSResolver] asyncResolveHost: _domainToASCII target: self - selector: @selector(XMPP_resolver: + selector: @selector(xmpp_resolver: didResolveDomainName:answerRecords: authorityRecords:additionalRecords: context:exception:) @@ -373,7 +386,7 @@ OF_ASSUME_NONNULL_END objc_autoreleasePoolPop(pool); } -- (bool)XMPP_parseBuffer: (const void *)buffer +- (bool)xmpp_parseBuffer: (const void *)buffer length: (size_t)length { if ([_socket isAtEndOfStream]) { @@ -386,7 +399,7 @@ OF_ASSUME_NONNULL_END [_parser parseBuffer: buffer length: length]; } @catch (OFMalformedXMLException *e) { - [self XMPP_sendStreamError: @"bad-format" + [self xmpp_sendStreamError: @"bad-format" text: nil]; [self close]; return false; @@ -398,7 +411,7 @@ OF_ASSUME_NONNULL_END - (void)parseBuffer: (const void *)buffer length: (size_t)length { - [self XMPP_parseBuffer: buffer + [self xmpp_parseBuffer: buffer length: length]; [_oldParser release]; @@ -408,7 +421,7 @@ OF_ASSUME_NONNULL_END _oldElementBuilder = nil; } -- (bool)XMPP_stream: (OFStream *)stream +- (bool)xmpp_stream: (OFStream *)stream didReadIntoBuffer: (char *)buffer length: (size_t)length exception: (OFException *)exception @@ -423,7 +436,7 @@ OF_ASSUME_NONNULL_END } @try { - if (![self XMPP_parseBuffer: buffer + if (![self xmpp_parseBuffer: buffer length: length]) return false; } @catch (id e) { @@ -445,7 +458,7 @@ OF_ASSUME_NONNULL_END [_socket asyncReadIntoBuffer: buffer length: BUFFER_LENGTH target: self - selector: @selector(XMPP_stream: + selector: @selector(xmpp_stream: didReadIntoBuffer:length: exception:) context: nil]; @@ -583,13 +596,13 @@ OF_ASSUME_NONNULL_END } if (![prefix isEqual: @"stream"]) { - [self XMPP_sendStreamError: @"bad-namespace-prefix" + [self xmpp_sendStreamError: @"bad-namespace-prefix" text: nil]; return; } if (![NS isEqual: XMPP_NS_STREAM]) { - [self XMPP_sendStreamError: @"invalid-namespace" + [self xmpp_sendStreamError: @"invalid-namespace" text: nil]; return; } @@ -597,13 +610,13 @@ OF_ASSUME_NONNULL_END for (OFXMLAttribute *attribute in attributes) { if ([[attribute name] isEqual: @"from"] && ![[attribute stringValue] isEqual: _domain]) { - [self XMPP_sendStreamError: @"invalid-from" + [self xmpp_sendStreamError: @"invalid-from" text: nil]; return; } if ([[attribute name] isEqual: @"version"] && ![[attribute stringValue] isEqual: @"1.0"]) { - [self XMPP_sendStreamError: @"unsupported-version" + [self xmpp_sendStreamError: @"unsupported-version" text: nil]; return; } @@ -628,16 +641,16 @@ OF_ASSUME_NONNULL_END withObject: element]; if ([[element namespace] isEqual: XMPP_NS_CLIENT]) - [self XMPP_handleStanza: element]; + [self xmpp_handleStanza: element]; if ([[element namespace] isEqual: XMPP_NS_STREAM]) - [self XMPP_handleStream: element]; + [self xmpp_handleStream: element]; if ([[element namespace] isEqual: XMPP_NS_STARTTLS]) - [self XMPP_handleTLS: element]; + [self xmpp_handleTLS: element]; if ([[element namespace] isEqual: XMPP_NS_SASL]) - [self XMPP_handleSASL: element]; + [self xmpp_handleSASL: element]; } - (void)elementBuilder: (OFXMLElementBuilder *)builder @@ -653,7 +666,7 @@ OF_ASSUME_NONNULL_END } } -- (void)XMPP_startStream +- (void)xmpp_startStream { OFString *langString = @""; @@ -708,34 +721,34 @@ OF_ASSUME_NONNULL_END _lastID = 0; } -- (void)XMPP_handleStanza: (OFXMLElement *)element +- (void)xmpp_handleStanza: (OFXMLElement *)element { if ([[element name] isEqual: @"iq"]) { - [self XMPP_handleIQ: [XMPPIQ stanzaWithElement: element]]; + [self xmpp_handleIQ: [XMPPIQ stanzaWithElement: element]]; return; } if ([[element name] isEqual: @"message"]) { - [self XMPP_handleMessage: + [self xmpp_handleMessage: [XMPPMessage stanzaWithElement: element]]; return; } if ([[element name] isEqual: @"presence"]) { - [self XMPP_handlePresence: + [self xmpp_handlePresence: [XMPPPresence stanzaWithElement: element]]; return; } - [self XMPP_sendStreamError: @"unsupported-stanza-type" + [self xmpp_sendStreamError: @"unsupported-stanza-type" text: nil]; } -- (void)XMPP_handleStream: (OFXMLElement *)element +- (void)xmpp_handleStream: (OFXMLElement *)element { if ([[element name] isEqual: @"features"]) { - [self XMPP_handleFeatures: element]; + [self xmpp_handleFeatures: element]; return; } @@ -836,7 +849,7 @@ OF_ASSUME_NONNULL_END assert(0); } -- (void)XMPP_handleTLS: (OFXMLElement *)element +- (void)xmpp_handleTLS: (OFXMLElement *)element { if ([[element name] isEqual: @"proceed"]) { /* FIXME: Catch errors here */ @@ -865,7 +878,7 @@ OF_ASSUME_NONNULL_END withObject: self]; /* Stream restart */ - [self XMPP_startStream]; + [self xmpp_startStream]; return; } @@ -877,7 +890,7 @@ OF_ASSUME_NONNULL_END assert(0); } -- (void)XMPP_handleSASL: (OFXMLElement *)element +- (void)xmpp_handleSASL: (OFXMLElement *)element { if ([[element name] isEqual: @"challenge"]) { OFXMLElement *responseTag; @@ -908,7 +921,7 @@ OF_ASSUME_NONNULL_END withObject: self]; /* Stream restart */ - [self XMPP_startStream]; + [self xmpp_startStream]; return; } @@ -923,7 +936,7 @@ OF_ASSUME_NONNULL_END assert(0); } -- (void)XMPP_handleIQ: (XMPPIQ *)IQ +- (void)xmpp_handleIQ: (XMPPIQ *)IQ { bool handled = false; XMPPCallback *callback; @@ -954,21 +967,21 @@ OF_ASSUME_NONNULL_END } } -- (void)XMPP_handleMessage: (XMPPMessage *)message +- (void)xmpp_handleMessage: (XMPPMessage *)message { [_delegates broadcastSelector: @selector(connection:didReceiveMessage:) withObject: self withObject: message]; } -- (void)XMPP_handlePresence: (XMPPPresence *)presence +- (void)xmpp_handlePresence: (XMPPPresence *)presence { [_delegates broadcastSelector: @selector(connection:didReceivePresence:) withObject: self withObject: presence]; } -- (void)XMPP_handleFeatures: (OFXMLElement *)element +- (void)xmpp_handleFeatures: (OFXMLElement *)element { OFXMLElement *startTLS = [element elementForName: @"starttls" namespace: XMPP_NS_STARTTLS]; @@ -1000,17 +1013,13 @@ OF_ASSUME_NONNULL_END _supportsStreamManagement = true; if (mechs != nil) { - OFEnumerator *enumerator; - OFXMLElement *mech; - - enumerator = [[mechs children] objectEnumerator]; - while ((mech = [enumerator nextObject]) != nil) + for (OFXMLElement *mech in [mechs children]) [mechanisms addObject: [mech stringValue]]; if (_privateKeyFile != nil && _certificateFile != nil && [mechanisms containsObject: @"EXTERNAL"]) { _authModule = [[XMPPEXTERNALAuth alloc] init]; - [self XMPP_sendAuth: @"EXTERNAL"]; + [self xmpp_sendAuth: @"EXTERNAL"]; return; } @@ -1021,7 +1030,7 @@ OF_ASSUME_NONNULL_END connection: self hash: [OFSHA1Hash class] plusAvailable: true]; - [self XMPP_sendAuth: @"SCRAM-SHA-1-PLUS"]; + [self xmpp_sendAuth: @"SCRAM-SHA-1-PLUS"]; return; } @@ -1032,7 +1041,7 @@ OF_ASSUME_NONNULL_END connection: self hash: [OFSHA1Hash class] plusAvailable: false]; - [self XMPP_sendAuth: @"SCRAM-SHA-1"]; + [self xmpp_sendAuth: @"SCRAM-SHA-1"]; return; } @@ -1040,7 +1049,7 @@ OF_ASSUME_NONNULL_END _authModule = [[XMPPPLAINAuth alloc] initWithAuthcid: _username password: _password]; - [self XMPP_sendAuth: @"PLAIN"]; + [self xmpp_sendAuth: @"PLAIN"]; return; } @@ -1052,14 +1061,14 @@ OF_ASSUME_NONNULL_END _needsSession = true; if (bind != nil) { - [self XMPP_sendResourceBind]; + [self xmpp_sendResourceBind]; return; } assert(0); } -- (void)XMPP_sendAuth: (OFString *)authName +- (void)xmpp_sendAuth: (OFString *)authName { OFXMLElement *authTag; OFData *initialMessage = [_authModule initialMessage]; @@ -1079,7 +1088,7 @@ OF_ASSUME_NONNULL_END [self sendStanza: authTag]; } -- (void)XMPP_sendResourceBind +- (void)xmpp_sendResourceBind { XMPPIQ *IQ; OFXMLElement *bind; @@ -1099,11 +1108,11 @@ OF_ASSUME_NONNULL_END [self sendIQ: IQ callbackTarget: self - selector: @selector(XMPP_handleResourceBindForConnection: + selector: @selector(xmpp_handleResourceBindForConnection: IQ:)]; } -- (void)XMPP_sendStreamError: (OFString *)condition +- (void)xmpp_sendStreamError: (OFString *)condition text: (OFString *)text { OFXMLElement *error = [OFXMLElement @@ -1123,7 +1132,7 @@ OF_ASSUME_NONNULL_END [self close]; } -- (void)XMPP_handleResourceBindForConnection: (XMPPConnection *)connection +- (void)xmpp_handleResourceBindForConnection: (XMPPConnection *)connection IQ: (XMPPIQ *)IQ { OFXMLElement *bindElement, *JIDElement; @@ -1140,7 +1149,7 @@ OF_ASSUME_NONNULL_END _JID = [[XMPPJID alloc] initWithString: [JIDElement stringValue]]; if (_needsSession) { - [self XMPP_sendSession]; + [self xmpp_sendSession]; return; } @@ -1149,7 +1158,7 @@ OF_ASSUME_NONNULL_END withObject: _JID]; } -- (void)XMPP_sendSession +- (void)xmpp_sendSession { XMPPIQ *IQ = [XMPPIQ IQWithType: @"set" ID: [self generateStanzaID]]; @@ -1159,10 +1168,10 @@ OF_ASSUME_NONNULL_END [self sendIQ: IQ callbackTarget: self - selector: @selector(XMPP_handleSessionForConnection:IQ:)]; + selector: @selector(xmpp_handleSessionForConnection:IQ:)]; } -- (void)XMPP_handleSessionForConnection: (XMPPConnection *)connection +- (void)xmpp_handleSessionForConnection: (XMPPConnection *)connection IQ: (XMPPIQ *)IQ { if (![[IQ type] isEqual: @"result"]) @@ -1173,7 +1182,7 @@ OF_ASSUME_NONNULL_END withObject: _JID]; } -- (OFString *)XMPP_IDNAToASCII: (OFString *)domain +- (OFString *)xmpp_IDNAToASCII: (OFString *)domain { OFString *ret; char *cDomain; @@ -1219,7 +1228,7 @@ OF_ASSUME_NONNULL_END [_delegates removeDelegate: delegate]; } -- (XMPPMulticastDelegate *)XMPP_delegates +- (XMPPMulticastDelegate *)xmpp_delegates { return _delegates; } diff --git a/src/XMPPContact+Private.h b/src/XMPPContact+Private.h index d75a05f..f308f5c 100644 --- a/src/XMPPContact+Private.h +++ b/src/XMPPContact+Private.h @@ -3,11 +3,11 @@ OF_ASSUME_NONNULL_BEGIN @interface XMPPContact () -- (void)XMPP_setRosterItem: (XMPPRosterItem *)rosterItem; -- (void)XMPP_setPresence: (XMPPPresence *)presence +- (void)xmpp_setRosterItem: (XMPPRosterItem *)rosterItem; +- (void)xmpp_setPresence: (XMPPPresence *)presence resource: (OFString *)resource; -- (void)XMPP_removePresenceForResource: (OFString *)resource; -- (void)XMPP_setLockedOnJID: (nullable XMPPJID *)JID; +- (void)xmpp_removePresenceForResource: (OFString *)resource; +- (void)xmpp_setLockedOnJID: (nullable XMPPJID *)JID; @end OF_ASSUME_NONNULL_END diff --git a/src/XMPPContact.m b/src/XMPPContact.m index 83af92d..cee2dee 100644 --- a/src/XMPPContact.m +++ b/src/XMPPContact.m @@ -30,7 +30,7 @@ @synthesize rosterItem = _rosterItem; @synthesize presences = _presences; -- init +- (instancetype)init { self = [super init]; @@ -62,14 +62,14 @@ [connection sendStanza: message]; } -- (void)XMPP_setRosterItem: (XMPPRosterItem *)rosterItem +- (void)xmpp_setRosterItem: (XMPPRosterItem *)rosterItem { XMPPRosterItem *old = _rosterItem; _rosterItem = [rosterItem retain]; [old release]; } -- (void)XMPP_setPresence: (XMPPPresence *)presence +- (void)xmpp_setPresence: (XMPPPresence *)presence resource: (OFString *)resource { if (resource != nil) @@ -79,10 +79,10 @@ [_presences setObject: presence forKey: @""]; - [self XMPP_setLockedOnJID: nil]; + [self xmpp_setLockedOnJID: nil]; } -- (void)XMPP_removePresenceForResource: (OFString *)resource +- (void)xmpp_removePresenceForResource: (OFString *)resource { if (resource != nil) { [_presences removeObjectForKey: resource]; @@ -91,10 +91,10 @@ _presences = [[OFMutableDictionary alloc] init]; } - [self XMPP_setLockedOnJID: nil]; + [self xmpp_setLockedOnJID: nil]; } -- (void)XMPP_setLockedOnJID: (XMPPJID *)JID; +- (void)xmpp_setLockedOnJID: (XMPPJID *)JID; { XMPPJID *old = _lockedOnJID; _lockedOnJID = [JID retain]; diff --git a/src/XMPPContactManager.h b/src/XMPPContactManager.h index dbeb8ff..907e69e 100644 --- a/src/XMPPContactManager.h +++ b/src/XMPPContactManager.h @@ -124,8 +124,9 @@ OF_ASSUME_NONNULL_BEGIN * @param roster The roster used by the contact manager * @return An initialized XMPPContactManager */ -- initWithConnection: (XMPPConnection *)connection - roster: (XMPPRoster *)roster OF_DESIGNATED_INITIALIZER; +- (instancetype)initWithConnection: (XMPPConnection *)connection + roster: (XMPPRoster *)roster + OF_DESIGNATED_INITIALIZER; - (void)sendSubscribedToJID: (XMPPJID *)subscriber; - (void)sendUnsubscribedToJID: (XMPPJID *)subscriber; diff --git a/src/XMPPContactManager.m b/src/XMPPContactManager.m index 7f07fc6..5129e47 100644 --- a/src/XMPPContactManager.m +++ b/src/XMPPContactManager.m @@ -32,8 +32,8 @@ @implementation XMPPContactManager @synthesize contacts = _contacts; -- initWithConnection: (XMPPConnection *)connection - roster: (XMPPRoster *)roster +- (instancetype)initWithConnection: (XMPPConnection *)connection + roster: (XMPPRoster *)roster { self = [super init]; @@ -90,27 +90,22 @@ - (void)rosterWasReceived: (XMPPRoster *)roster { - OFEnumerator *contactEnumerator; - XMPPContact *contact; OFDictionary *rosterItems; - OFEnumerator *rosterItemEnumerator; - OFString *bareJID; - contactEnumerator = [_contacts objectEnumerator]; - while ((contact = [contactEnumerator nextObject]) != nil) { + for (XMPPContact *contact in _contacts) [_delegates broadcastSelector: @selector(contactManager: didRemoveContact:) withObject: self withObject: contact]; - } [_contacts release]; + _contacts = nil; _contacts = [[OFMutableDictionary alloc] init]; + rosterItems = [roster rosterItems]; - rosterItemEnumerator = [rosterItems keyEnumerator]; - while ((bareJID = [rosterItemEnumerator nextObject]) != nil) { - contact = [[[XMPPContact alloc] init] autorelease]; - [contact XMPP_setRosterItem: + for (OFString *bareJID in rosterItems) { + XMPPContact *contact = [[[XMPPContact alloc] init] autorelease]; + [contact xmpp_setRosterItem: [rosterItems objectForKey: bareJID]]; [_contacts setObject: contact forKey: bareJID]; @@ -141,7 +136,7 @@ if (contact == nil) { contact = [[[XMPPContact alloc] init] autorelease]; - [contact XMPP_setRosterItem: rosterItem]; + [contact xmpp_setRosterItem: rosterItem]; [_contacts setObject: contact forKey: bareJID]; [_delegates broadcastSelector: @selector(contactManager: @@ -153,7 +148,7 @@ willUpdateWithRosterItem:) withObject: contact withObject: rosterItem]; - [contact XMPP_setRosterItem: rosterItem]; + [contact xmpp_setRosterItem: rosterItem]; } } @@ -180,7 +175,7 @@ /* Available presence */ if ([type isEqual: @"available"]) { - [contact XMPP_setPresence: presence + [contact xmpp_setPresence: presence resource: [JID resource]]; [_delegates broadcastSelector: @selector(contact: didSendPresence:) @@ -191,7 +186,7 @@ /* Unavailable presence */ if ([type isEqual: @"unavailable"]) { - [contact XMPP_removePresenceForResource: [JID resource]]; + [contact xmpp_removePresenceForResource: [JID resource]]; [_delegates broadcastSelector: @selector(contact: didSendPresence:) withObject: contact @@ -209,7 +204,7 @@ if (contact == nil) return; - [contact XMPP_setLockedOnJID: JID]; + [contact xmpp_setLockedOnJID: JID]; [_delegates broadcastSelector: @selector(contact:didSendMessage:) withObject: contact diff --git a/src/XMPPDiscoEntity.h b/src/XMPPDiscoEntity.h index 852c9c3..cd60625 100644 --- a/src/XMPPDiscoEntity.h +++ b/src/XMPPDiscoEntity.h @@ -81,11 +81,11 @@ OF_ASSUME_NONNULL_BEGIN + (instancetype)discoEntityWithConnection: (XMPPConnection *)connection capsNode: (OFString *)capsNode; -- initWithJID: (XMPPJID *)JID - node: (nullable OFString *)node OF_UNAVAILABLE; -- initWithJID: (XMPPJID *)JID - node: (nullable OFString *)node - name: (nullable OFString *)name OF_UNAVAILABLE; +- (instancetype)initWithJID: (XMPPJID *)JID + node: (nullable OFString *)node OF_UNAVAILABLE; +- (instancetype)initWithJID: (XMPPJID *)JID + node: (nullable OFString *)node + name: (nullable OFString *)name OF_UNAVAILABLE; /*! * @brief Initializes an already allocated XMPPDiscoEntity with the specified @@ -95,7 +95,7 @@ OF_ASSUME_NONNULL_BEGIN * This must already be bound to a resource) * @return An initialized XMPPDiscoEntity */ -- initWithConnection: (XMPPConnection *)connection; +- (instancetype)initWithConnection: (XMPPConnection *)connection; /*! * @brief Initializes an already allocated XMPPDiscoEntity with the specified @@ -106,8 +106,9 @@ OF_ASSUME_NONNULL_BEGIN * @param capsNode The node advertised for the entity's capabilites * @return An initialized XMPPDiscoEntity */ -- initWithConnection: (XMPPConnection *)connection - capsNode: (nullable OFString *)capsNode OF_DESIGNATED_INITIALIZER; +- (instancetype)initWithConnection: (XMPPConnection *)connection + capsNode: (nullable OFString *)capsNode + OF_DESIGNATED_INITIALIZER; /*! * @brief Adds a XMPPDiscoNode to provide responses for. diff --git a/src/XMPPDiscoEntity.m b/src/XMPPDiscoEntity.m index def313a..3029572 100644 --- a/src/XMPPDiscoEntity.m +++ b/src/XMPPDiscoEntity.m @@ -43,21 +43,21 @@ capsNode: capsNode] autorelease]; } -- initWithConnection: (XMPPConnection *)connection +- (instancetype)initWithConnection: (XMPPConnection *)connection { return [self initWithConnection: connection capsNode: nil]; } -- initWithJID: (XMPPJID *)JID - node: (nullable OFString *)node - name: (nullable OFString *)name +- (instancetype)initWithJID: (XMPPJID *)JID + node: (nullable OFString *)node + name: (nullable OFString *)name { OF_INVALID_INIT_METHOD } -- initWithConnection: (XMPPConnection *)connection - capsNode: (OFString *)capsNode +- (instancetype)initWithConnection: (XMPPConnection *)connection + capsNode: (OFString *)capsNode { self = [super initWithJID: [connection JID] node: nil @@ -93,20 +93,15 @@ - (OFString *)capsHash { - OFEnumerator *enumerator; - XMPPDiscoIdentity *identity; - OFString *feature; OFMutableString *caps = [OFMutableString string]; OFSHA1Hash *hash = [OFSHA1Hash cryptoHash]; OFData *digest; - enumerator = [_identities objectEnumerator]; - while ((identity = [enumerator nextObject]) != nil) + for (XMPPDiscoIdentity *identity in _identities) [caps appendFormat: @"%@/%@//%@<", [identity category], [identity type], [identity name]]; - enumerator = [_features objectEnumerator]; - while ((feature = [enumerator nextObject]) != nil) + for (OFString *feature in _features) [caps appendFormat: @"%@<", feature]; [hash updateWithBuffer: [caps UTF8String] @@ -137,12 +132,12 @@ OFString *node = [[query attributeForName: @"node"] stringValue]; if (node == nil) - return [self XMPP_handleItemsIQ: IQ + return [self xmpp_handleItemsIQ: IQ connection: connection]; XMPPDiscoNode *responder = [_discoNodes objectForKey: node]; if (responder != nil) - return [responder XMPP_handleItemsIQ: IQ + return [responder xmpp_handleItemsIQ: IQ connection: connection]; return false; @@ -156,18 +151,18 @@ [[query attributeForName: @"node"] stringValue]; if (node == nil) - return [self XMPP_handleInfoIQ: IQ + return [self xmpp_handleInfoIQ: IQ connection: connection]; OFString *capsNode = [_capsNode stringByAppendingFormat: @"#%@", [self capsHash]]; if ([capsNode isEqual: node]) - return [self XMPP_handleInfoIQ: IQ + return [self xmpp_handleInfoIQ: IQ connection: connection]; XMPPDiscoNode *responder = [_discoNodes objectForKey: node]; if (responder != nil) - return [responder XMPP_handleInfoIQ: IQ + return [responder xmpp_handleInfoIQ: IQ connection: connection]; return false; diff --git a/src/XMPPDiscoIdentity.h b/src/XMPPDiscoIdentity.h index bebc657..1d3d059 100644 --- a/src/XMPPDiscoIdentity.h +++ b/src/XMPPDiscoIdentity.h @@ -72,7 +72,7 @@ OF_ASSUME_NONNULL_BEGIN + (instancetype)identityWithCategory: (OFString *)category type: (OFString *)type; -- init OF_UNAVAILABLE; +- (instancetype)init OF_UNAVAILABLE; /*! * @brief Initializes an already allocated XMPPDiscoIdentity with the specified @@ -83,9 +83,10 @@ OF_ASSUME_NONNULL_BEGIN * @param name The name of the identity * @return An initialized XMPPDiscoIdentity */ -- initWithCategory: (OFString *)category - type: (OFString *)type - name: (nullable OFString *)name OF_DESIGNATED_INITIALIZER; +- (instancetype)initWithCategory: (OFString *)category + type: (OFString *)type + name: (nullable OFString *)name + OF_DESIGNATED_INITIALIZER; /*! * @brief Initializes an already allocated XMPPDiscoIdentity with the specified @@ -95,8 +96,8 @@ OF_ASSUME_NONNULL_BEGIN * @param type The type of the identity * @return An initialized XMPPDiscoIdentity */ -- initWithCategory: (OFString *)category - type: (OFString *)type; +- (instancetype)initWithCategory: (OFString *)category + type: (OFString *)type; @end OF_ASSUME_NONNULL_END diff --git a/src/XMPPDiscoIdentity.m b/src/XMPPDiscoIdentity.m index 7e85b8b..bc55384 100644 --- a/src/XMPPDiscoIdentity.m +++ b/src/XMPPDiscoIdentity.m @@ -42,9 +42,9 @@ type: type] autorelease]; } -- initWithCategory: (OFString *)category - type: (OFString *)type - name: (OFString *)name +- (instancetype)initWithCategory: (OFString *)category + type: (OFString *)type + name: (OFString *)name { self = [super init]; @@ -63,15 +63,15 @@ return self; } -- initWithCategory: (OFString *)category - type: (OFString *)type +- (instancetype)initWithCategory: (OFString *)category + type: (OFString *)type { return [self initWithCategory: category type: type name: nil]; } -- init +- (instancetype)init { OF_INVALID_INIT_METHOD } diff --git a/src/XMPPDiscoNode+Private.h b/src/XMPPDiscoNode+Private.h index 69a1eaa..42434ac 100644 --- a/src/XMPPDiscoNode+Private.h +++ b/src/XMPPDiscoNode+Private.h @@ -6,9 +6,9 @@ OF_ASSUME_NONNULL_BEGIN @class XMPPIQ; @interface XMPPDiscoNode () -- (bool)XMPP_handleItemsIQ: (XMPPIQ *)IQ +- (bool)xmpp_handleItemsIQ: (XMPPIQ *)IQ connection: (XMPPConnection *)connection; -- (bool)XMPP_handleInfoIQ: (XMPPIQ *)IQ +- (bool)xmpp_handleInfoIQ: (XMPPIQ *)IQ connection: (XMPPConnection *)connection; @end diff --git a/src/XMPPDiscoNode.h b/src/XMPPDiscoNode.h index 08ee30f..0ed615c 100644 --- a/src/XMPPDiscoNode.h +++ b/src/XMPPDiscoNode.h @@ -103,8 +103,8 @@ OF_ASSUME_NONNULL_BEGIN * @param node The node's opaque name * @return An initialized XMPPDiscoNode */ -- initWithJID: (XMPPJID *)JID - node: (nullable OFString *)node; +- (instancetype)initWithJID: (XMPPJID *)JID + node: (nullable OFString *)node; /*! * @brief Initializes an already allocated XMPPDiscoNode with the specified @@ -115,29 +115,30 @@ OF_ASSUME_NONNULL_BEGIN * @param name The node's human friendly name * @return An initialized XMPPDiscoNode */ -- initWithJID: (XMPPJID *)JID - node: (nullable OFString *)node - name: (nullable OFString *)name OF_DESIGNATED_INITIALIZER; +- (instancetype)initWithJID: (XMPPJID *)JID + node: (nullable OFString *)node + name: (nullable OFString *)name + OF_DESIGNATED_INITIALIZER; - /*! - * @brief Adds an XMPPDiscoIdentity to the node - * - * @param identity The XMPPDiscoIdentity to add - */ +/*! + * @brief Adds an XMPPDiscoIdentity to the node + * + * @param identity The XMPPDiscoIdentity to add + */ - (void)addIdentity: (XMPPDiscoIdentity *)identity; - /*! - * @brief Adds a feature to the node - * - * @param feature The feature to add - */ +/*! + * @brief Adds a feature to the node + * + * @param feature The feature to add + */ - (void)addFeature: (OFString *)feature; - /*! - * @brief Adds a XMPPDiscoNode as child of the node - * - * @param node The XMPPDiscoNode to add as child - */ +/*! + * @brief Adds a XMPPDiscoNode as child of the node + * + * @param node The XMPPDiscoNode to add as child + */ - (void)addChildNode: (XMPPDiscoNode *)node; @end diff --git a/src/XMPPDiscoNode.m b/src/XMPPDiscoNode.m index 9abc3c5..a1e74f4 100644 --- a/src/XMPPDiscoNode.m +++ b/src/XMPPDiscoNode.m @@ -51,17 +51,17 @@ name: name] autorelease]; } -- initWithJID: (XMPPJID *)JID - node: (OFString *)node +- (instancetype)initWithJID: (XMPPJID *)JID + node: (OFString *)node { return [self initWithJID: JID node: node name: nil]; } -- initWithJID: (XMPPJID *)JID - node: (OFString *)node - name: (OFString *)name +- (instancetype)initWithJID: (XMPPJID *)JID + node: (OFString *)node + name: (OFString *)name { self = [super init]; @@ -120,13 +120,11 @@ forKey: [node node]]; } -- (bool)XMPP_handleItemsIQ: (XMPPIQ *)IQ +- (bool)xmpp_handleItemsIQ: (XMPPIQ *)IQ connection: (XMPPConnection *)connection { XMPPIQ *resultIQ; OFXMLElement *response; - XMPPDiscoNode *child; - OFEnumerator *enumerator; OFXMLElement *query = [IQ elementForName: @"query" namespace: XMPP_NS_DISCO_ITEMS]; OFString *node = [[query attributeForName: @"node"] stringValue]; @@ -139,8 +137,7 @@ namespace: XMPP_NS_DISCO_ITEMS]; [resultIQ addChild: response]; - enumerator = [_childNodes objectEnumerator]; - while ((child = [enumerator nextObject])) { + for (XMPPDiscoNode *child in _childNodes) { OFXMLElement *item = [OFXMLElement elementWithName: @"item" namespace: XMPP_NS_DISCO_ITEMS]; @@ -162,22 +159,18 @@ return true; } -- (bool)XMPP_handleInfoIQ: (XMPPIQ *)IQ +- (bool)xmpp_handleInfoIQ: (XMPPIQ *)IQ connection: (XMPPConnection *)connection { XMPPIQ *resultIQ; OFXMLElement *response; - OFEnumerator *enumerator; - OFString *feature; - XMPPDiscoIdentity *identity; resultIQ = [IQ resultIQ]; response = [OFXMLElement elementWithName: @"query" namespace: XMPP_NS_DISCO_INFO]; [resultIQ addChild: response]; - enumerator = [_identities objectEnumerator]; - while ((identity = [enumerator nextObject])) { + for (XMPPDiscoIdentity *identity in _identities) { OFXMLElement *identityElement = [OFXMLElement elementWithName: @"identity" namespace: XMPP_NS_DISCO_INFO]; @@ -193,8 +186,7 @@ [response addChild: identityElement]; } - enumerator = [_features objectEnumerator]; - while ((feature = [enumerator nextObject])) { + for (OFString *feature in _features) { OFXMLElement *featureElement = [OFXMLElement elementWithName: @"feature" namespace: XMPP_NS_DISCO_INFO]; diff --git a/src/XMPPExceptions.h b/src/XMPPExceptions.h index 29e491c..ca032c5 100644 --- a/src/XMPPExceptions.h +++ b/src/XMPPExceptions.h @@ -50,7 +50,7 @@ OF_ASSUME_NONNULL_BEGIN */ + (instancetype)exceptionWithConnection: (nullable XMPPConnection *)connection; -- init OF_UNAVAILABLE; +- (instancetype)init OF_UNAVAILABLE; /*! * @brief Initializes an already allocated XMPPException. @@ -59,7 +59,7 @@ OF_ASSUME_NONNULL_BEGIN * for this exception * @return An initialized XMPPException */ -- initWithConnection: (nullable XMPPConnection *)connection +- (instancetype)initWithConnection: (nullable XMPPConnection *)connection OF_DESIGNATED_INITIALIZER; @end @@ -93,7 +93,8 @@ OF_ASSUME_NONNULL_BEGIN condition: (OFString *)condition reason: (OFString *)reason; -- initWithConnection: (nullable XMPPConnection *)connection OF_UNAVAILABLE; +- (instancetype)initWithConnection: (nullable XMPPConnection *)connection + OF_UNAVAILABLE; /*! * @brief Initializes an already allocated XMPPStreamErrorException. @@ -103,9 +104,10 @@ OF_ASSUME_NONNULL_BEGIN * @param reason The descriptive free-form text specified by the stream error * @return An initialized XMPPStreamErrorException */ -- initWithConnection: (nullable XMPPConnection *)connection - condition: (OFString *)condition - reason: (OFString *)reason OF_DESIGNATED_INITIALIZER; +- (instancetype)initWithConnection: (nullable XMPPConnection *)connection + condition: (OFString *)condition + reason: (OFString *)reason + OF_DESIGNATED_INITIALIZER; @end /*! @@ -139,7 +141,8 @@ OF_ASSUME_NONNULL_BEGIN profile: (OFString *)profile string: (OFString *)string; -- initWithConnection: (nullable XMPPConnection *)connection OF_UNAVAILABLE; +- (instancetype)initWithConnection: (nullable XMPPConnection *)connection + OF_UNAVAILABLE; /*! * @brief Initializes an already allocated XMPPStringPrepFailedException. @@ -149,9 +152,10 @@ OF_ASSUME_NONNULL_BEGIN * @param string The string that failed the stringprep profile * @return An initialized XMPPStringPrepFailedException */ -- initWithConnection: (nullable XMPPConnection *)connection - profile: (OFString *)profile - string: (OFString *)string OF_DESIGNATED_INITIALIZER; +- (instancetype)initWithConnection: (nullable XMPPConnection *)connection + profile: (OFString *)profile + string: (OFString *)string + OF_DESIGNATED_INITIALIZER; @end /*! @@ -184,7 +188,8 @@ OF_ASSUME_NONNULL_BEGIN operation: (OFString *)operation string: (OFString *)string; -- initWithConnection: (nullable XMPPConnection *)connection OF_UNAVAILABLE; +- (instancetype)initWithConnection: (nullable XMPPConnection *)connection + OF_UNAVAILABLE; /*! * @brief Initializes an already allocated XMPPIDNATranslationFailedException. @@ -194,9 +199,9 @@ OF_ASSUME_NONNULL_BEGIN * @param string The string that could not be translated * @return An initialized XMPPIDNATranslationFailedException */ -- initWithConnection: (nullable XMPPConnection *)connection - operation: (OFString *)operation - string: (OFString *)string; +- (instancetype)initWithConnection: (nullable XMPPConnection *)connection + operation: (OFString *)operation + string: (OFString *)string; @end /*! @@ -222,7 +227,8 @@ OF_ASSUME_NONNULL_BEGIN + (instancetype)exceptionWithConnection: (nullable XMPPConnection *)connection reason: (OFString *)reason; -- initWithConnection: (nullable XMPPConnection *)connection OF_UNAVAILABLE; +- (instancetype)initWithConnection: (nullable XMPPConnection *)connection + OF_UNAVAILABLE; /*! * @brief Initializes an already allocated XMPPAuthFailedException. @@ -231,8 +237,9 @@ OF_ASSUME_NONNULL_BEGIN * @param reason The reason the authentication failed * @return An initialized XMPPAuthFailedException */ -- initWithConnection: (nullable XMPPConnection *)connection - reason: (OFString *)reason OF_DESIGNATED_INITIALIZER; +- (instancetype)initWithConnection: (nullable XMPPConnection *)connection + reason: (OFString *)reason + OF_DESIGNATED_INITIALIZER; @end OF_ASSUME_NONNULL_END diff --git a/src/XMPPExceptions.m b/src/XMPPExceptions.m index 186b60b..64f2280 100644 --- a/src/XMPPExceptions.m +++ b/src/XMPPExceptions.m @@ -38,12 +38,12 @@ return [[[self alloc] initWithConnection: connection] autorelease]; } -- init +- (instancetype)init { OF_INVALID_INIT_METHOD } -- initWithConnection: (XMPPConnection *)connection +- (instancetype)initWithConnection: (XMPPConnection *)connection { self = [super init]; @@ -77,14 +77,14 @@ reason: reason] autorelease]; } -- initWithConnection: (XMPPConnection *)connection +- (instancetype)initWithConnection: (XMPPConnection *)connection { OF_INVALID_INIT_METHOD } -- initWithConnection: (XMPPConnection *)connection - condition: (OFString *)condition - reason: (OFString *)reason +- (instancetype)initWithConnection: (XMPPConnection *)connection + condition: (OFString *)condition + reason: (OFString *)reason { self = [super initWithConnection: connection]; @@ -126,14 +126,14 @@ string: string] autorelease]; } -- initWithConnection: (XMPPConnection *)connection +- (instancetype)initWithConnection: (XMPPConnection *)connection { OF_INVALID_INIT_METHOD } -- initWithConnection: (XMPPConnection *)connection - profile: (OFString *)profile - string: (OFString *)string +- (instancetype)initWithConnection: (XMPPConnection *)connection + profile: (OFString *)profile + string: (OFString *)string { self = [super initWithConnection: connection]; @@ -176,14 +176,14 @@ string: string] autorelease]; } -- initWithConnection: (XMPPConnection *)connection +- (instancetype)initWithConnection: (XMPPConnection *)connection { OF_INVALID_INIT_METHOD } -- initWithConnection: (XMPPConnection *)connection - operation: (OFString *)operation - string: (OFString *)string +- (instancetype)initWithConnection: (XMPPConnection *)connection + operation: (OFString *)operation + string: (OFString *)string { self = [super initWithConnection: connection]; @@ -223,13 +223,13 @@ reason: reason] autorelease]; } -- initWithConnection: (XMPPConnection *)connection +- (instancetype)initWithConnection: (XMPPConnection *)connection { OF_INVALID_INIT_METHOD } -- initWithConnection: (XMPPConnection *)connection - reason: (OFString *)reason +- (instancetype)initWithConnection: (XMPPConnection *)connection + reason: (OFString *)reason { self = [super initWithConnection: connection]; diff --git a/src/XMPPFileStorage.h b/src/XMPPFileStorage.h index fa5fb8a..5fb50d8 100644 --- a/src/XMPPFileStorage.h +++ b/src/XMPPFileStorage.h @@ -34,8 +34,8 @@ OF_ASSUME_NONNULL_BEGIN OFMutableDictionary *_data; } -- init OF_UNAVAILABLE; -- initWithFile: (OFString *)file; +- (instancetype)init OF_UNAVAILABLE; +- (instancetype)initWithFile: (OFString *)file; @end OF_ASSUME_NONNULL_END diff --git a/src/XMPPFileStorage.m b/src/XMPPFileStorage.m index 9ed3346..3472b49 100644 --- a/src/XMPPFileStorage.m +++ b/src/XMPPFileStorage.m @@ -38,12 +38,12 @@ #import "XMPPFileStorage.h" @implementation XMPPFileStorage -- init +- (instancetype)init { OF_INVALID_INIT_METHOD } -- initWithFile: (OFString *)file +- (instancetype)initWithFile: (OFString *)file { self = [super init]; @@ -80,16 +80,14 @@ [[_data messagePackRepresentation] writeToFile: _file]; } -- (void)XMPP_setObject: (id)object +- (void)xmpp_setObject: (id)object forPath: (OFString *)path { OFArray *pathComponents = [path componentsSeparatedByString: @"."]; OFMutableDictionary *iter = _data; - OFEnumerator *enumerator = [pathComponents objectEnumerator]; - OFString *component; size_t i = 0, components = [pathComponents count]; - while ((component = [enumerator nextObject]) != nil) { + for (OFString *component in pathComponents) { if (i++ == components - 1) continue; @@ -111,7 +109,7 @@ [iter removeObjectForKey: [pathComponents lastObject]]; } -- (id)XMPP_objectForPath: (OFString *)path +- (id)xmpp_objectForPath: (OFString *)path { id object = _data; @@ -126,7 +124,7 @@ { void *pool = objc_autoreleasePoolPush(); - [self XMPP_setObject: string + [self xmpp_setObject: string forPath: path]; objc_autoreleasePoolPop(pool); @@ -137,7 +135,7 @@ void *pool = objc_autoreleasePoolPush(); OFString *string; - string = [self XMPP_objectForPath: path]; + string = [self xmpp_objectForPath: path]; objc_autoreleasePoolPop(pool); @@ -149,7 +147,7 @@ { void *pool = objc_autoreleasePoolPush(); - [self XMPP_setObject: [OFNumber numberWithBool: boolean] + [self xmpp_setObject: [OFNumber numberWithBool: boolean] forPath: path]; objc_autoreleasePoolPop(pool); @@ -160,7 +158,7 @@ void *pool = objc_autoreleasePoolPush(); bool boolean; - boolean = [[self XMPP_objectForPath: path] boolValue]; + boolean = [[self xmpp_objectForPath: path] boolValue]; objc_autoreleasePoolPop(pool); @@ -172,7 +170,7 @@ { void *pool = objc_autoreleasePoolPush(); - [self XMPP_setObject: [OFNumber numberWithIntMax: integer] + [self xmpp_setObject: [OFNumber numberWithIntMax: integer] forPath: path]; objc_autoreleasePoolPop(pool); @@ -183,7 +181,7 @@ void *pool = objc_autoreleasePoolPush(); intmax_t integer; - integer = [[self XMPP_objectForPath: path] intMaxValue]; + integer = [[self xmpp_objectForPath: path] intMaxValue]; objc_autoreleasePoolPop(pool); @@ -195,7 +193,7 @@ { void *pool = objc_autoreleasePoolPush(); - [self XMPP_setObject: array + [self xmpp_setObject: array forPath: path]; objc_autoreleasePoolPop(pool); @@ -206,7 +204,7 @@ void *pool = objc_autoreleasePoolPush(); OFArray *array; - array = [self XMPP_objectForPath: path]; + array = [self xmpp_objectForPath: path]; objc_autoreleasePoolPop(pool); @@ -218,7 +216,7 @@ { void *pool = objc_autoreleasePoolPush(); - [self XMPP_setObject: dictionary + [self xmpp_setObject: dictionary forPath: path]; objc_autoreleasePoolPop(pool); @@ -229,7 +227,7 @@ void *pool = objc_autoreleasePoolPush(); OFDictionary *dictionary; - dictionary = [self XMPP_objectForPath: path]; + dictionary = [self xmpp_objectForPath: path]; objc_autoreleasePoolPop(pool); diff --git a/src/XMPPIQ.h b/src/XMPPIQ.h index 5e836d8..783e09a 100644 --- a/src/XMPPIQ.h +++ b/src/XMPPIQ.h @@ -47,8 +47,8 @@ OF_ASSUME_NONNULL_BEGIN * @param ID The value for the stanza's id attribute * @return An initialized XMPPIQ */ -- initWithType: (OFString *)type - ID: (OFString *)ID; +- (instancetype)initWithType: (OFString *)type + ID: (OFString *)ID; /*! * @brief Generates a result IQ for the receiving object. diff --git a/src/XMPPIQ.m b/src/XMPPIQ.m index 7f67bed..68cff1f 100644 --- a/src/XMPPIQ.m +++ b/src/XMPPIQ.m @@ -36,8 +36,8 @@ ID: ID] autorelease]; } -- initWithType: (OFString *)type - ID: (OFString *)ID +- (instancetype)initWithType: (OFString *)type + ID: (OFString *)ID { self = [super initWithName: @"iq" type: type diff --git a/src/XMPPJID.h b/src/XMPPJID.h index 54b1670..23c9772 100644 --- a/src/XMPPJID.h +++ b/src/XMPPJID.h @@ -69,7 +69,7 @@ OF_ASSUME_NONNULL_BEGIN * @param string The string to parse into a JID object * @return A initialized XMPPJID */ -- initWithString: (OFString *)string; +- (instancetype)initWithString: (OFString *)string; /*! * @brief Returns the bare JID. diff --git a/src/XMPPJID.m b/src/XMPPJID.m index b31f865..b23ae33 100644 --- a/src/XMPPJID.m +++ b/src/XMPPJID.m @@ -45,7 +45,7 @@ return [[[self alloc] initWithString: string] autorelease]; } -- initWithString: (OFString *)string +- (instancetype)initWithString: (OFString *)string { size_t nodesep, resourcesep; diff --git a/src/XMPPMessage.h b/src/XMPPMessage.h index a436e4c..b7cd2fd 100644 --- a/src/XMPPMessage.h +++ b/src/XMPPMessage.h @@ -73,7 +73,7 @@ OF_ASSUME_NONNULL_BEGIN * @param ID The value for the stanza's id attribute * @return A initialized XMPPMessage */ -- initWithID: (nullable OFString *)ID; +- (instancetype)initWithID: (nullable OFString *)ID; /*! * @brief Initializes an already allocated XMPPMessage with the specified type. @@ -81,7 +81,7 @@ OF_ASSUME_NONNULL_BEGIN * @param type The value for the stanza's type attribute * @return A initialized XMPPMessage */ -- initWithType: (nullable OFString *)type; +- (instancetype)initWithType: (nullable OFString *)type; /*! * @brief Initializes an already allocated XMPPMessage with the specified type @@ -91,8 +91,8 @@ OF_ASSUME_NONNULL_BEGIN * @param ID The value for the stanza's id attribute * @return A initialized XMPPMessage */ -- initWithType: (nullable OFString *)type - ID: (nullable OFString *)ID OF_DESIGNATED_INITIALIZER; +- (instancetype)initWithType: (nullable OFString *)type + ID: (nullable OFString *)ID OF_DESIGNATED_INITIALIZER; @end OF_ASSUME_NONNULL_END diff --git a/src/XMPPMessage.m b/src/XMPPMessage.m index 7df4932..91e5117 100644 --- a/src/XMPPMessage.m +++ b/src/XMPPMessage.m @@ -51,26 +51,26 @@ ID: ID] autorelease]; } -- init +- (instancetype)init { return [self initWithType: nil ID: nil]; } -- initWithID: (OFString *)ID +- (instancetype)initWithID: (OFString *)ID { return [self initWithType: nil ID: ID]; } -- initWithType: (OFString *)type +- (instancetype)initWithType: (OFString *)type { return [self initWithType: type ID: nil]; } -- initWithType: (OFString *)type - ID: (OFString *)ID +- (instancetype)initWithType: (OFString *)type + ID: (OFString *)ID { return [super initWithName: @"message" type: type diff --git a/src/XMPPMulticastDelegate.m b/src/XMPPMulticastDelegate.m index d596d60..2bc7a82 100644 --- a/src/XMPPMulticastDelegate.m +++ b/src/XMPPMulticastDelegate.m @@ -30,7 +30,7 @@ #import "XMPPMulticastDelegate.h" @implementation XMPPMulticastDelegate -- init +- (instancetype)init { self = [super init]; diff --git a/src/XMPPPresence.h b/src/XMPPPresence.h index 662fde4..20fa9c1 100644 --- a/src/XMPPPresence.h +++ b/src/XMPPPresence.h @@ -94,7 +94,7 @@ OF_ASSUME_NONNULL_BEGIN * @param ID The value for the stanza's id attribute * @return A initialized XMPPPresence */ -- initWithID: (nullable OFString *)ID; +- (instancetype)initWithID: (nullable OFString *)ID; /*! * @brief Initializes an already allocated XMPPPresence with the specified type. @@ -102,7 +102,7 @@ OF_ASSUME_NONNULL_BEGIN * @param type The value for the stanza's type attribute * @return A initialized XMPPPresence */ -- initWithType: (nullable OFString *)type; +- (instancetype)initWithType: (nullable OFString *)type; /*! * @brief Initializes an already allocated XMPPPresence with the specified type @@ -112,8 +112,8 @@ OF_ASSUME_NONNULL_BEGIN * @param ID The value for the stanza's id attribute * @return A initialized XMPPPresence */ -- initWithType: (nullable OFString *)type - ID: (nullable OFString *)ID; +- (instancetype)initWithType: (nullable OFString *)type + ID: (nullable OFString *)ID; @end OF_ASSUME_NONNULL_END diff --git a/src/XMPPPresence.m b/src/XMPPPresence.m index 1230668..275861a 100644 --- a/src/XMPPPresence.m +++ b/src/XMPPPresence.m @@ -73,33 +73,33 @@ show_to_int(OFString *show) ID: ID] autorelease]; } -- init +- (instancetype)init { return [self initWithType: nil ID: nil]; } -- initWithID: (OFString *)ID +- (instancetype)initWithID: (OFString *)ID { return [self initWithType: nil ID: ID]; } -- initWithType: (OFString *)type +- (instancetype)initWithType: (OFString *)type { return [self initWithType: type ID: nil]; } -- initWithType: (OFString *)type - ID: (OFString *)ID +- (instancetype)initWithType: (OFString *)type + ID: (OFString *)ID { return [super initWithName: @"presence" type: type ID: ID]; } -- initWithElement: (OFXMLElement *)element +- (instancetype)initWithElement: (OFXMLElement *)element { self = [super initWithElement: element]; diff --git a/src/XMPPRoster.h b/src/XMPPRoster.h index b1de940..7655eaf 100644 --- a/src/XMPPRoster.h +++ b/src/XMPPRoster.h @@ -88,7 +88,7 @@ OF_ASSUME_NONNULL_BEGIN @property (readonly, nonatomic) OFDictionary OF_GENERIC(OFString *, XMPPRosterItem *) *rosterItems; -- init OF_UNAVAILABLE; +- (instancetype)init OF_UNAVAILABLE; /*! * @brief Initializes an already allocated XMPPRoster. @@ -97,7 +97,8 @@ OF_ASSUME_NONNULL_BEGIN * received over * @return An initialized XMPPRoster */ -- initWithConnection: (XMPPConnection *)connection OF_DESIGNATED_INITIALIZER; +- (instancetype)initWithConnection: (XMPPConnection *)connection + OF_DESIGNATED_INITIALIZER; /*! * @brief Requests the roster from the server. diff --git a/src/XMPPRoster.m b/src/XMPPRoster.m index fca6a64..59c7408 100644 --- a/src/XMPPRoster.m +++ b/src/XMPPRoster.m @@ -42,10 +42,10 @@ OF_ASSUME_NONNULL_BEGIN @interface XMPPRoster () -- (void)XMPP_updateRosterItem: (XMPPRosterItem *)rosterItem; -- (void)XMPP_handleInitialRosterForConnection: (XMPPConnection *)connection +- (void)xmpp_updateRosterItem: (XMPPRosterItem *)rosterItem; +- (void)xmpp_handleInitialRosterForConnection: (XMPPConnection *)connection IQ: (XMPPIQ *)IQ; -- (XMPPRosterItem *)XMPP_rosterItemWithXMLElement: (OFXMLElement *)element; +- (XMPPRosterItem *)xmpp_rosterItemWithXMLElement: (OFXMLElement *)element; @end OF_ASSUME_NONNULL_END @@ -54,12 +54,12 @@ OF_ASSUME_NONNULL_END @synthesize connection = _connection, dataStorage = _dataStorage; @synthesize rosterItems = _rosterItems; -- init +- (instancetype)init { OF_INVALID_INIT_METHOD } -- initWithConnection: (XMPPConnection *)connection +- (instancetype)initWithConnection: (XMPPConnection *)connection { self = [super init]; @@ -114,7 +114,7 @@ OF_ASSUME_NONNULL_END [_connection sendIQ: iq callbackTarget: self - selector: @selector(XMPP_handleInitialRosterForConnection: + selector: @selector(xmpp_handleInitialRosterForConnection: IQ:)]; } @@ -144,14 +144,14 @@ OF_ASSUME_NONNULL_END namespace: XMPP_NS_ROSTER]; if (element != nil) { - rosterItem = [self XMPP_rosterItemWithXMLElement: element]; + rosterItem = [self xmpp_rosterItemWithXMLElement: element]; [_delegates broadcastSelector: @selector( roster:didReceiveRosterItem:) withObject: self withObject: rosterItem]; - [self XMPP_updateRosterItem: rosterItem]; + [self xmpp_updateRosterItem: rosterItem]; } if ([_connection supportsRosterVersioning]) { @@ -180,8 +180,6 @@ OF_ASSUME_NONNULL_END namespace: XMPP_NS_ROSTER]; OFXMLElement *item = [OFXMLElement elementWithName: @"item" namespace: XMPP_NS_ROSTER]; - OFEnumerator *enumerator; - OFString *group; [item addAttributeWithName: @"jid" stringValue: [[rosterItem JID] bareJID]]; @@ -189,8 +187,7 @@ OF_ASSUME_NONNULL_END [item addAttributeWithName: @"name" stringValue: [rosterItem name]]; - enumerator = [[rosterItem groups] objectEnumerator]; - while ((group = [enumerator nextObject]) != nil) + for (OFString *group in [rosterItem groups]) [item addChild: [OFXMLElement elementWithName: @"group" namespace: XMPP_NS_ROSTER stringValue: group]]; @@ -240,7 +237,7 @@ OF_ASSUME_NONNULL_END _dataStorage = dataStorage; } -- (void)XMPP_updateRosterItem: (XMPPRosterItem *)rosterItem +- (void)xmpp_updateRosterItem: (XMPPRosterItem *)rosterItem { if ([_connection supportsRosterVersioning]) { OFMutableDictionary *items = [[[_dataStorage dictionaryForPath: @@ -280,11 +277,9 @@ OF_ASSUME_NONNULL_END [_rosterItems removeObjectForKey: [[rosterItem JID] bareJID]]; } -- (XMPPRosterItem *)XMPP_rosterItemWithXMLElement: (OFXMLElement *)element +- (XMPPRosterItem *)xmpp_rosterItemWithXMLElement: (OFXMLElement *)element { OFString *subscription; - OFEnumerator *groupEnumerator; - OFXMLElement *groupElement; OFMutableArray *groups = [OFMutableArray array]; XMPPRosterItem *rosterItem = [XMPPRosterItem rosterItem]; [rosterItem setJID: [XMPPJID JIDWithString: @@ -304,10 +299,9 @@ OF_ASSUME_NONNULL_END [rosterItem setSubscription: subscription]; - groupEnumerator = [[element - elementsForName: @"group" - namespace: XMPP_NS_ROSTER] objectEnumerator]; - while ((groupElement = [groupEnumerator nextObject]) != nil) + for (OFXMLElement *groupElement in + [element elementsForName: @"group" + namespace: XMPP_NS_ROSTER]) [groups addObject: [groupElement stringValue]]; if ([groups count] > 0) @@ -316,7 +310,7 @@ OF_ASSUME_NONNULL_END return rosterItem; } -- (void)XMPP_handleInitialRosterForConnection: (XMPPConnection *)connection +- (void)xmpp_handleInitialRosterForConnection: (XMPPConnection *)connection IQ: (XMPPIQ *)IQ { OFXMLElement *rosterElement = [IQ elementForName: @"query" @@ -324,12 +318,8 @@ OF_ASSUME_NONNULL_END if ([connection supportsRosterVersioning]) { if (rosterElement == nil) { - OFDictionary *items = [_dataStorage - dictionaryForPath: @"roster.items"]; - OFEnumerator *enumerator = [items objectEnumerator]; - OFDictionary *item; - - while ((item = [enumerator nextObject]) != nil) { + for (OFDictionary *item in + [_dataStorage dictionaryForPath: @"roster.items"]) { XMPPRosterItem *rosterItem; XMPPJID *JID; @@ -360,9 +350,9 @@ OF_ASSUME_NONNULL_END ![[element namespace] isEqual: XMPP_NS_ROSTER]) continue; - rosterItem = [self XMPP_rosterItemWithXMLElement: element]; + rosterItem = [self xmpp_rosterItemWithXMLElement: element]; - [self XMPP_updateRosterItem: rosterItem]; + [self xmpp_updateRosterItem: rosterItem]; objc_autoreleasePoolPop(pool); } diff --git a/src/XMPPSCRAMAuth.h b/src/XMPPSCRAMAuth.h index dcae445..57ac0da 100644 --- a/src/XMPPSCRAMAuth.h +++ b/src/XMPPSCRAMAuth.h @@ -76,11 +76,11 @@ OF_ASSUME_NONNULL_BEGIN hash: (Class)hash plusAvailable: (bool)plusAvailable; -- initWithAuthcid: (nullable OFString *)authcid - password: (nullable OFString *)password OF_UNAVAILABLE; -- initWithAuthzid: (nullable OFString *)authzid - authcid: (nullable OFString *)authcid - password: (nullable OFString *)password OF_UNAVAILABLE; +- (instancetype)initWithAuthcid: (nullable OFString *)authcid + password: (nullable OFString *)password OF_UNAVAILABLE; +- (instancetype)initWithAuthzid: (nullable OFString *)authzid + authcid: (nullable OFString *)authcid + password: (nullable OFString *)password OF_UNAVAILABLE; /*! * @brief Initializes an already allocated XMPPSCRAMAuth with an authcid and @@ -93,11 +93,11 @@ OF_ASSUME_NONNULL_BEGIN * @param plusAvailable Whether the PLUS variant was offered * @return A initialized XMPPSCRAMAuth */ -- initWithAuthcid: (nullable OFString *)authcid - password: (nullable OFString *)password - connection: (XMPPConnection *)connection - hash: (Class)hash - plusAvailable: (bool)plusAvailable; +- (instancetype)initWithAuthcid: (nullable OFString *)authcid + password: (nullable OFString *)password + connection: (XMPPConnection *)connection + hash: (Class)hash + plusAvailable: (bool)plusAvailable; /*! * @brief Initializes an already allocated XMPPSCRAMAuth with a authzid, @@ -111,12 +111,12 @@ OF_ASSUME_NONNULL_BEGIN * @param plusAvailable Whether the PLUS variant was offered * @return A initialized XMPPSCRAMAuth */ -- initWithAuthzid: (nullable OFString *)authzid - authcid: (nullable OFString *)authcid - password: (nullable OFString *)password - connection: (XMPPConnection *)connection - hash: (Class)hash - plusAvailable: (bool)plusAvailable OF_DESIGNATED_INITIALIZER; +- (instancetype)initWithAuthzid: (nullable OFString *)authzid + authcid: (nullable OFString *)authcid + password: (nullable OFString *)password + connection: (XMPPConnection *)connection + hash: (Class)hash + plusAvailable: (bool)plusAvailable OF_DESIGNATED_INITIALIZER; @end OF_ASSUME_NONNULL_END diff --git a/src/XMPPSCRAMAuth.m b/src/XMPPSCRAMAuth.m index 25d644a..ae52722 100644 --- a/src/XMPPSCRAMAuth.m +++ b/src/XMPPSCRAMAuth.m @@ -37,21 +37,17 @@ #define HMAC_IPAD 0x36 #define HMAC_OPAD 0x5c -OF_ASSUME_NONNULL_BEGIN - @interface XMPPSCRAMAuth () -- (OFString *)XMPP_genNonce; -- (const uint8_t *)XMPP_HMACWithKey: (OFData *)key +- (OFString *)xmpp_genNonce; +- (const uint8_t *)xmpp_HMACWithKey: (OFData *)key data: (OFData *)data; -- (OFData *)XMPP_hiWithData: (OFData *)str +- (OFData *)xmpp_hiWithData: (OFData *)str salt: (OFData *)salt iterationCount: (intmax_t)i; -- (OFData *)XMPP_parseServerFirstMessage: (OFData *)data; -- (OFData *)XMPP_parseServerFinalMessage: (OFData *)data; +- (OFData *)xmpp_parseServerFirstMessage: (OFData *)data; +- (OFData *)xmpp_parseServerFinalMessage: (OFData *)data; @end -OF_ASSUME_NONNULL_END - @implementation XMPPSCRAMAuth + (instancetype)SCRAMAuthWithAuthcid: (OFString *)authcid password: (OFString *)password @@ -81,11 +77,11 @@ OF_ASSUME_NONNULL_END plusAvailable: plusAvailable] autorelease]; } -- initWithAuthcid: (OFString *)authcid - password: (OFString *)password - connection: (XMPPConnection *)connection - hash: (Class)hash - plusAvailable: (bool)plusAvailable +- (instancetype)initWithAuthcid: (OFString *)authcid + password: (OFString *)password + connection: (XMPPConnection *)connection + hash: (Class)hash + plusAvailable: (bool)plusAvailable { return [self initWithAuthzid: nil authcid: authcid @@ -95,12 +91,12 @@ OF_ASSUME_NONNULL_END plusAvailable: plusAvailable]; } -- initWithAuthzid: (OFString *)authzid - authcid: (OFString *)authcid - password: (OFString *)password - connection: (XMPPConnection *)connection - hash: (Class)hash - plusAvailable: (bool)plusAvailable +- (instancetype)initWithAuthzid: (OFString *)authzid + authcid: (OFString *)authcid + password: (OFString *)password + connection: (XMPPConnection *)connection + hash: (Class)hash + plusAvailable: (bool)plusAvailable { self = [super initWithAuthzid: authzid authcid: authcid @@ -179,7 +175,7 @@ OF_ASSUME_NONNULL_END else _GS2Header = (_plusAvailable ? @"p=tls-unique,," : @"y,,"); - _cNonce = [[self XMPP_genNonce] retain]; + _cNonce = [[self xmpp_genNonce] retain]; [_clientFirstMessageBare release]; _clientFirstMessageBare = nil; @@ -203,9 +199,9 @@ OF_ASSUME_NONNULL_END OFData *ret; if (!_serverSignature) - ret = [self XMPP_parseServerFirstMessage: data]; + ret = [self xmpp_parseServerFirstMessage: data]; else - ret = [self XMPP_parseServerFinalMessage: data]; + ret = [self xmpp_parseServerFinalMessage: data]; [ret retain]; [pool release]; @@ -213,7 +209,7 @@ OF_ASSUME_NONNULL_END return [ret autorelease]; } -- (OFData *)XMPP_parseServerFirstMessage: (OFData *)data +- (OFData *)xmpp_parseServerFirstMessage: (OFData *)data { size_t i; const uint8_t *clientKey, *serverKey, *clientSignature; @@ -222,8 +218,6 @@ OF_ASSUME_NONNULL_END OFMutableData *ret, *authMessage, *tmpArray; OFData *salt = nil, *saltedPassword; OFString *tmpString, *sNonce = nil; - OFEnumerator *enumerator; - OFString *comp; enum { GOT_SNONCE = 0x01, GOT_SALT = 0x02, @@ -234,17 +228,16 @@ OF_ASSUME_NONNULL_END ret = [OFMutableData data]; authMessage = [OFMutableData data]; - OFString *chal = [OFString stringWithUTF8String: [data items] - length: [data count] * - [data itemSize]]; + OFString *challenge = [OFString stringWithUTF8String: [data items] + length: [data count] * + [data itemSize]]; - enumerator = - [[chal componentsSeparatedByString: @","] objectEnumerator]; - while ((comp = [enumerator nextObject]) != nil) { - OFString *entry = [comp substringWithRange: - of_range(2, [comp length] - 2)]; + for (OFString *component in + [challenge componentsSeparatedByString: @","]) { + OFString *entry = [component substringWithRange: + of_range(2, [component length] - 2)]; - if ([comp hasPrefix: @"r="]) { + if ([component hasPrefix: @"r="]) { if (![entry hasPrefix: _cNonce]) @throw [XMPPAuthFailedException exceptionWithConnection: nil @@ -253,10 +246,10 @@ OF_ASSUME_NONNULL_END sNonce = entry; got |= GOT_SNONCE; - } else if ([comp hasPrefix: @"s="]) { + } else if ([component hasPrefix: @"s="]) { salt = [OFData dataWithBase64EncodedString: entry]; got |= GOT_SALT; - } else if ([comp hasPrefix: @"i="]) { + } else if ([component hasPrefix: @"i="]) { iterCount = [entry decimalValue]; got |= GOT_ITERCOUNT; } @@ -293,7 +286,7 @@ OF_ASSUME_NONNULL_END */ tmpArray = [OFMutableData dataWithItems: [_password UTF8String] count: [_password UTF8StringLength]]; - saltedPassword = [self XMPP_hiWithData: tmpArray + saltedPassword = [self xmpp_hiWithData: tmpArray salt: salt iterationCount: iterCount]; @@ -316,7 +309,7 @@ OF_ASSUME_NONNULL_END * IETF RFC 5802: * ClientKey := HMAC(SaltedPassword, "Client Key") */ - clientKey = [self XMPP_HMACWithKey: saltedPassword + clientKey = [self xmpp_HMACWithKey: saltedPassword data: [OFData dataWithItems: "Client Key" count: 10]]; @@ -332,7 +325,7 @@ OF_ASSUME_NONNULL_END * ClientSignature := HMAC(StoredKey, AuthMessage) */ clientSignature = [self - XMPP_HMACWithKey: [OFData dataWithItems: [hash digest] + xmpp_HMACWithKey: [OFData dataWithItems: [hash digest] count: [_hashType digestSize]] data: authMessage]; @@ -340,7 +333,7 @@ OF_ASSUME_NONNULL_END * IETF RFC 5802: * ServerKey := HMAC(SaltedPassword, "Server Key") */ - serverKey = [self XMPP_HMACWithKey: saltedPassword + serverKey = [self xmpp_HMACWithKey: saltedPassword data: [OFData dataWithItems: "Server Key" count: 10]]; @@ -353,7 +346,7 @@ OF_ASSUME_NONNULL_END [_serverSignature release]; _serverSignature = [[OFData alloc] - initWithItems: [self XMPP_HMACWithKey: tmpArray + initWithItems: [self xmpp_HMACWithKey: tmpArray data: authMessage] count: [_hashType digestSize]]; @@ -378,7 +371,7 @@ OF_ASSUME_NONNULL_END return ret; } -- (OFData *)XMPP_parseServerFinalMessage: (OFData *)data +- (OFData *)xmpp_parseServerFinalMessage: (OFData *)data { OFString *mess, *value; @@ -407,7 +400,7 @@ OF_ASSUME_NONNULL_END return nil; } -- (OFString *)XMPP_genNonce +- (OFString *)xmpp_genNonce { uint8_t buf[64]; size_t i; @@ -428,7 +421,7 @@ OF_ASSUME_NONNULL_END length: 64]; } -- (const uint8_t *)XMPP_HMACWithKey: (OFData *)key +- (const uint8_t *)xmpp_HMACWithKey: (OFData *)key data: (OFData *)data { void *pool = objc_autoreleasePoolPush(); @@ -484,7 +477,7 @@ OF_ASSUME_NONNULL_END return [[hashO autorelease] digest]; } -- (OFData *)XMPP_hiWithData: (OFData *)str +- (OFData *)xmpp_hiWithData: (OFData *)str salt: (OFData *)salt iterationCount: (intmax_t)i { @@ -505,7 +498,7 @@ OF_ASSUME_NONNULL_END [salty addItems: "\0\0\0\1" count: 4]; - uOld = [self XMPP_HMACWithKey: str + uOld = [self xmpp_HMACWithKey: str data: salty]; for (j = 0; j < digestSize; j++) @@ -521,7 +514,7 @@ OF_ASSUME_NONNULL_END pool = objc_autoreleasePoolPush(); [tmp autorelease]; - u = [self XMPP_HMACWithKey: str + u = [self xmpp_HMACWithKey: str data: tmp]; for (k = 0; k < digestSize; k++) diff --git a/src/XMPPStanza.h b/src/XMPPStanza.h index 1ce570f..09a1c85 100644 --- a/src/XMPPStanza.h +++ b/src/XMPPStanza.h @@ -111,15 +111,15 @@ OF_ASSUME_NONNULL_BEGIN */ + (instancetype)stanzaWithElement: (OFXMLElement *)element; -- initWithName: (OFString *)name - stringValue: (nullable OFString *)stringValue OF_UNAVAILABLE; -- initWithName: (OFString *)name - namespace: (nullable OFString *)namespace OF_UNAVAILABLE; -- initWithName: (OFString *)name - namespace: (nullable OFString *)namespace - stringValue: (nullable OFString *)stringValue OF_UNAVAILABLE; -- initWithXMLString: (OFString *)string OF_UNAVAILABLE; -- initWithFile: (OFString *)path OF_UNAVAILABLE; +- (instancetype)initWithName: (OFString *)name + stringValue: (nullable OFString *)stringValue OF_UNAVAILABLE; +- (instancetype)initWithName: (OFString *)name + namespace: (nullable OFString *)namespace OF_UNAVAILABLE; +- (instancetype)initWithName: (OFString *)name + namespace: (nullable OFString *)namespace + stringValue: (nullable OFString *)stringValue OF_UNAVAILABLE; +- (instancetype)initWithXMLString: (OFString *)string OF_UNAVAILABLE; +- (instancetype)initWithFile: (OFString *)path OF_UNAVAILABLE; /*! * @brief Initializes an already allocated XMPPStanza with the specified name. @@ -127,7 +127,7 @@ OF_ASSUME_NONNULL_BEGIN * @param name The stanza's name (one of iq, message or presence) * @return A initialized XMPPStanza */ -- initWithName: (OFString *)name; +- (instancetype)initWithName: (OFString *)name; /*! * @brief Initializes an already allocated XMPPStanza with the specified name @@ -137,8 +137,8 @@ OF_ASSUME_NONNULL_BEGIN * @param type The value for the stanza's type attribute * @return A initialized XMPPStanza */ -- initWithName: (OFString *)name - type: (nullable OFString *)type; +- (instancetype)initWithName: (OFString *)name + type: (nullable OFString *)type; /*! * @brief Initializes an already allocated XMPPStanza with the specified name @@ -148,8 +148,8 @@ OF_ASSUME_NONNULL_BEGIN * @param ID The value for the stanza's id attribute * @return A initialized XMPPStanza */ -- initWithName: (OFString *)name - ID: (nullable OFString *)ID; +- (instancetype)initWithName: (OFString *)name + ID: (nullable OFString *)ID; /*! * @brief Initializes an already allocated XMPPStanza with the specified name, @@ -160,9 +160,9 @@ OF_ASSUME_NONNULL_BEGIN * @param ID The value for the stanza's id attribute * @return A initialized XMPPStanza */ -- initWithName: (OFString *)name - type: (nullable OFString *)type - ID: (nullable OFString *)ID; +- (instancetype)initWithName: (OFString *)name + type: (nullable OFString *)type + ID: (nullable OFString *)ID; /*! * @brief Initializes an already allocated XMPPStanza based on a OFXMLElement. @@ -170,7 +170,7 @@ OF_ASSUME_NONNULL_BEGIN * @param element The element to base the XMPPStanza on * @return A initialized XMPPStanza */ -- initWithElement: (OFXMLElement *)element; +- (instancetype)initWithElement: (OFXMLElement *)element; @end OF_ASSUME_NONNULL_END diff --git a/src/XMPPStanza.m b/src/XMPPStanza.m index c5ed131..f11a5c8 100644 --- a/src/XMPPStanza.m +++ b/src/XMPPStanza.m @@ -66,49 +66,49 @@ return [[[self alloc] initWithElement: element] autorelease]; } -- initWithName: (OFString *)name - namespace: (nullable OFString *)namespace - stringValue: (nullable OFString *)stringValue +- (instancetype)initWithName: (OFString *)name + namespace: (nullable OFString *)namespace + stringValue: (nullable OFString *)stringValue { OF_INVALID_INIT_METHOD } -- initWithXMLString: (OFString *)string +- (instancetype)initWithXMLString: (OFString *)string { OF_INVALID_INIT_METHOD } -- initWithFile: (OFString *)path +- (instancetype)initWithFile: (OFString *)path { OF_INVALID_INIT_METHOD } -- initWithName: (OFString *)name +- (instancetype)initWithName: (OFString *)name { return [self initWithName: name type: nil ID: nil]; } -- initWithName: (OFString *)name - type: (OFString *)type +- (instancetype)initWithName: (OFString *)name + type: (OFString *)type { return [self initWithName: name type: type ID: nil]; } -- initWithName: (OFString *)name - ID: (OFString *)ID +- (instancetype)initWithName: (OFString *)name + ID: (OFString *)ID { return [self initWithName: name type: nil ID: ID]; } -- initWithName: (OFString *)name - type: (OFString *)type - ID: (OFString *)ID +- (instancetype)initWithName: (OFString *)name + type: (OFString *)type + ID: (OFString *)ID { self = [super initWithName: name namespace: XMPP_NS_CLIENT @@ -136,7 +136,7 @@ return self; } -- initWithElement: (OFXMLElement *)element +- (instancetype)initWithElement: (OFXMLElement *)element { self = [super initWithElement: element]; diff --git a/src/XMPPStreamManagement.h b/src/XMPPStreamManagement.h index bd1a368..2e0d469 100644 --- a/src/XMPPStreamManagement.h +++ b/src/XMPPStreamManagement.h @@ -31,8 +31,8 @@ OF_ASSUME_NONNULL_BEGIN uint32_t _receivedCount; } -- init OF_UNAVAILABLE; -- initWithConnection: (XMPPConnection *)connection; +- (instancetype)init OF_UNAVAILABLE; +- (instancetype)initWithConnection: (XMPPConnection *)connection; @end OF_ASSUME_NONNULL_END diff --git a/src/XMPPStreamManagement.m b/src/XMPPStreamManagement.m index 5dd21c6..0d3e242 100644 --- a/src/XMPPStreamManagement.m +++ b/src/XMPPStreamManagement.m @@ -26,12 +26,12 @@ #import "namespaces.h" @implementation XMPPStreamManagement -- init +- (instancetype)init { OF_INVALID_INIT_METHOD } -- initWithConnection: (XMPPConnection *)connection +- (instancetype)initWithConnection: (XMPPConnection *)connection { self = [super init];