Index: src/XMPPMulticastDelegate.m ================================================================== --- src/XMPPMulticastDelegate.m +++ src/XMPPMulticastDelegate.m @@ -55,11 +55,11 @@ [delegates addItem: &delegate]; } - (void)removeDelegate: (id)delegate { - id *cArray = [delegates cArray]; + id *cArray = [delegates items]; size_t i, count = [delegates count]; for (i = 0; i < count; i++) { if (cArray[i] == delegate) { [delegates removeItemAtIndex: i]; @@ -69,11 +69,11 @@ } - (BOOL)broadcastSelector: (SEL)selector withObject: (id)object { - id *cArray = [delegates cArray]; + id *cArray = [delegates items]; size_t i, count = [delegates count]; BOOL handled = NO; for (i = 0; i < count; i++) { if (![cArray[i] respondsToSelector: selector]) @@ -90,11 +90,11 @@ - (BOOL)broadcastSelector: (SEL)selector withObject: (id)object1 withObject: (id)object2 { - id *cArray = [delegates cArray]; + id *cArray = [delegates items]; size_t i, count = [delegates count]; BOOL handled = NO; for (i = 0; i < count; i++) { if (![cArray[i] respondsToSelector: selector]) Index: src/XMPPPLAINAuth.m ================================================================== --- src/XMPPPLAINAuth.m +++ src/XMPPPLAINAuth.m @@ -54,18 +54,18 @@ /* separator */ [message addItem: ""]; /* authcid */ - [message addItemsFromCArray: [authcid UTF8String] - count: [authcid UTF8StringLength]]; + [message addItems: [authcid UTF8String] + count: [authcid UTF8StringLength]]; /* separator */ [message addItem: ""]; /* passwd */ - [message addItemsFromCArray: [password UTF8String] - count: [password UTF8StringLength]]; + [message addItems: [password UTF8String] + count: [password UTF8StringLength]]; return message; } @end Index: src/XMPPSCRAMAuth.m ================================================================== --- src/XMPPSCRAMAuth.m +++ src/XMPPSCRAMAuth.m @@ -170,16 +170,15 @@ clientFirstMessageBare = nil; clientFirstMessageBare = [[OFString alloc] initWithFormat: @"n=%@,r=%@", authcid, cNonce]; - [ret addItemsFromCArray: [GS2Header UTF8String] - count: [GS2Header UTF8StringLength]]; + [ret addItems: [GS2Header UTF8String] + count: [GS2Header UTF8StringLength]]; - [ret addItemsFromCArray: [clientFirstMessageBare UTF8String] - count: [clientFirstMessageBare UTF8StringLength]]; - + [ret addItems: [clientFirstMessageBare UTF8String] + count: [clientFirstMessageBare UTF8StringLength]]; return ret; } - (OFDataArray*)continueWithData: (OFDataArray*)data @@ -216,11 +215,11 @@ hash = [[[hashType alloc] init] autorelease]; ret = [OFDataArray dataArray]; authMessage = [OFDataArray dataArray]; - OFString *chal = [OFString stringWithUTF8String: [data cArray] + OFString *chal = [OFString stringWithUTF8String: [data items] length: [data count] * [data itemSize]]; enumerator = [[chal componentsSeparatedByString: @","] objectEnumerator]; @@ -252,38 +251,38 @@ @throw [OFInvalidServerReplyException exceptionWithClass: [self class]]; // Add c= tmpArray = [OFDataArray dataArray]; - [tmpArray addItemsFromCArray: [GS2Header UTF8String] - count: [GS2Header UTF8StringLength]]; + [tmpArray addItems: [GS2Header UTF8String] + count: [GS2Header UTF8StringLength]]; if (plusAvailable && [connection encrypted]) { OFDataArray *channelBinding = [((SSLSocket*)[connection socket]) channelBindingDataWithType: @"tls-unique"]; - [tmpArray addItemsFromCArray: [channelBinding cArray] - count: [channelBinding count]]; + [tmpArray addItems: [channelBinding items] + count: [channelBinding count]]; } tmpString = [tmpArray stringByBase64Encoding]; - [ret addItemsFromCArray: "c=" - count: 2]; - [ret addItemsFromCArray: [tmpString UTF8String] - count: [tmpString UTF8StringLength]]; + [ret addItems: "c=" + count: 2]; + [ret addItems: [tmpString UTF8String] + count: [tmpString UTF8StringLength]]; // Add r= [ret addItem: ","]; - [ret addItemsFromCArray: "r=" - count: 2]; - [ret addItemsFromCArray: [sNonce UTF8String] - count: [sNonce UTF8StringLength]]; + [ret addItems: "r=" + count: 2]; + [ret addItems: [sNonce UTF8String] + count: [sNonce UTF8StringLength]]; /* * IETF RFC 5802: * SaltedPassword := Hi(Normalize(password), salt, i) */ tmpArray = [OFDataArray dataArray]; - [tmpArray addItemsFromCArray: [password UTF8String] - count: [password UTF8StringLength]]; + [tmpArray addItems: [password UTF8String] + count: [password UTF8StringLength]]; saltedPassword = [self XMPP_hiWithData: tmpArray salt: salt iterationCount: iterCount]; @@ -291,27 +290,26 @@ * IETF RFC 5802: * AuthMessage := client-first-message-bare + "," + * server-first-message + "," + * client-final-message-without-proof */ - [authMessage addItemsFromCArray: [clientFirstMessageBare UTF8String] - count: [clientFirstMessageBare - UTF8StringLength]]; - [authMessage addItem: ","]; - [authMessage addItemsFromCArray: [data cArray] - count: [data count] * [data itemSize]]; - [authMessage addItem: ","]; - [authMessage addItemsFromCArray: [ret cArray] - count: [ret count]]; + [authMessage addItems: [clientFirstMessageBare UTF8String] + count: [clientFirstMessageBare UTF8StringLength]]; + [authMessage addItem: ","]; + [authMessage addItems: [data items] + count: [data count] * [data itemSize]]; + [authMessage addItem: ","]; + [authMessage addItems: [ret items] + count: [ret count]]; /* * IETF RFC 5802: * ClientKey := HMAC(SaltedPassword, "Client Key") */ tmpArray = [OFDataArray dataArray]; - [tmpArray addItemsFromCArray: "Client Key" - count: 10]; + [tmpArray addItems: "Client Key" + count: 10]; clientKey = [self XMPP_HMACWithKey: saltedPassword data: tmpArray]; /* * IETF RFC 5802: @@ -318,12 +316,12 @@ * StoredKey := H(ClientKey) */ [hash updateWithBuffer: (void*) clientKey length: [hashType digestSize]]; tmpArray = [OFDataArray dataArray]; - [tmpArray addItemsFromCArray: [hash digest] - count: [hashType digestSize]]; + [tmpArray addItems: [hash digest] + count: [hashType digestSize]]; /* * IETF RFC 5802: * ClientSignature := HMAC(StoredKey, AuthMessage) */ @@ -333,27 +331,26 @@ /* * IETF RFC 5802: * ServerKey := HMAC(SaltedPassword, "Server Key") */ tmpArray = [OFDataArray dataArray]; - [tmpArray addItemsFromCArray: "Server Key" - count: 10]; + [tmpArray addItems: "Server Key" + count: 10]; serverKey = [self XMPP_HMACWithKey: saltedPassword data: tmpArray]; /* * IETF RFC 5802: * ServerSignature := HMAC(ServerKey, AuthMessage) */ tmpArray = [OFDataArray dataArray]; - [tmpArray addItemsFromCArray: serverKey - count: [hashType digestSize]]; + [tmpArray addItems: serverKey + count: [hashType digestSize]]; serverSignature = [[OFDataArray alloc] init]; - [serverSignature addItemsFromCArray: [self - XMPP_HMACWithKey: tmpArray - data: authMessage] - count: [hashType digestSize]]; + [serverSignature addItems: [self XMPP_HMACWithKey: tmpArray + data: authMessage] + count: [hashType digestSize]]; /* * IETF RFC 5802: * ClientProof := ClientKey XOR ClientSignature */ @@ -363,15 +360,15 @@ [tmpArray addItem: &c]; } // Add p= [ret addItem: ","]; - [ret addItemsFromCArray: "p=" - count: 2]; + [ret addItems: "p=" + count: 2]; tmpString = [tmpArray stringByBase64Encoding]; - [ret addItemsFromCArray: [tmpString UTF8String] - count: [tmpString UTF8StringLength]]; + [ret addItems: [tmpString UTF8String] + count: [tmpString UTF8StringLength]]; return ret; } - (OFDataArray*)XMPP_parseServerFinalMessage: (OFDataArray*)data @@ -383,11 +380,11 @@ * we were just waiting for the last word from the server */ if (authenticated) return nil; - mess = [OFString stringWithUTF8String: [data cArray] + mess = [OFString stringWithUTF8String: [data items] length: [data count] * [data itemSize]]; value = [mess substringWithRange: of_range(2, [mess length] - 2)]; if ([mess hasPrefix: @"v="]) { @@ -436,24 +433,24 @@ uint8_t *kI = NULL, *kO = NULL; OFHash *hashI, *hashO; if ([key itemSize] * [key count] > blockSize) { hashI = [[[hashType alloc] init] autorelease]; - [hashI updateWithBuffer: [key cArray] + [hashI updateWithBuffer: [key items] length: [key itemSize] * [key count]]; - [k addItemsFromCArray: [hashI digest] - count: [hashType digestSize]]; + [k addItems: [hashI digest] + count: [hashType digestSize]]; } else - [k addItemsFromCArray: [key cArray] - count: [key itemSize] * [key count]]; + [k addItems: [key items] + count: [key itemSize] * [key count]]; @try { kI = [self allocMemoryWithSize: blockSize]; kO = [self allocMemoryWithSize: blockSize]; kSize = [k count]; - memcpy(kI, [k cArray], kSize); + memcpy(kI, [k items], kSize); memset(kI + kSize, 0, blockSize - kSize); memcpy(kO, kI, blockSize); for (i = 0; i < blockSize; i++) { kI[i] ^= HMAC_IPAD; @@ -461,11 +458,11 @@ } hashI = [[[hashType alloc] init] autorelease]; [hashI updateWithBuffer: (char*)kI length: blockSize]; - [hashI updateWithBuffer: [data cArray] + [hashI updateWithBuffer: [data items] length: [data itemSize] * [data count]]; hashO = [[[hashType alloc] init] autorelease]; [hashO updateWithBuffer: (char*)kO length: blockSize]; @@ -496,23 +493,23 @@ @try { memset(result, 0, digestSize); salty = [[salt_ copy] autorelease]; - [salty addItemsFromCArray: "\0\0\0\1" - count: 4]; + [salty addItems: "\0\0\0\1" + count: 4]; uOld = [self XMPP_HMACWithKey: str data: salty]; for (j = 0; j < digestSize; j++) result[j] ^= uOld[j]; for (j = 0; j < i - 1; j++) { tmp = [OFDataArray dataArray]; - [tmp addItemsFromCArray: uOld - count: digestSize]; + [tmp addItems: uOld + count: digestSize]; u = [self XMPP_HMACWithKey: str data: tmp]; for (k = 0; k < digestSize; k++) @@ -522,12 +519,12 @@ [pool releaseObjects]; } ret = [OFDataArray dataArray]; - [ret addItemsFromCArray: result - count: digestSize]; + [ret addItems: result + count: digestSize]; } @finally { [self freeMemory: result]; } [ret retain]; Index: src/XMPPSRVLookup.m ================================================================== --- src/XMPPSRVLookup.m +++ src/XMPPSRVLookup.m @@ -210,13 +210,13 @@ exceptionWithClass: [self class] socket: nil host: domain]; answer = [self allocMemoryWithSize: of_pagesize]; - answerLen = res_nsearch(&resState, [request cStringWithEncoding: - OF_STRING_ENCODING_NATIVE], ns_c_in, ns_t_srv, answer, - (int)of_pagesize); + answerLen = res_nsearch(&resState, + [request cStringUsingEncoding: OF_STRING_ENCODING_NATIVE], + ns_c_in, ns_t_srv, answer, (int)of_pagesize); if ((answerLen == -1) && ((h_errno == HOST_NOT_FOUND) || (h_errno == NO_DATA))) return;