195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
|
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
|
-
+
|
return [ret autorelease];
}
- (OFDataArray*)XMPP_parseServerFirstMessage: (OFDataArray*)data
{
size_t i;
uint8_t *clientKey, *serverKey, *clientSignature;
const uint8_t *clientKey, *serverKey, *clientSignature;
intmax_t iterCount = 0;
id <OFHash> hash;
OFDataArray *ret, *authMessage, *tmpArray, *salt = nil, *saltedPassword;
OFString *tmpString, *sNonce = nil;
OFEnumerator *enumerator;
OFString *comp;
enum {
|
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
|
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
|
-
+
|
}
return [OFString stringWithCString: (char*)buf
encoding: OF_STRING_ENCODING_ASCII
length: 64];
}
- (uint8_t*)XMPP_HMACWithKey: (OFDataArray*)key
- (const uint8_t*)XMPP_HMACWithKey: (OFDataArray*)key
data: (OFDataArray*)data
{
OFAutoreleasePool *pool = [[OFAutoreleasePool alloc] init];
OFDataArray *k = [OFDataArray dataArray];
size_t i, kSize, blockSize = [_hashType blockSize];
uint8_t *kI = NULL, *kO = NULL;
id <OFHash> hashI, hashO;
|
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
|
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
|
-
+
+
|
- (OFDataArray*)XMPP_hiWithData: (OFDataArray*)str
salt: (OFDataArray*)salt
iterationCount: (intmax_t)i
{
OFAutoreleasePool *pool = [[OFAutoreleasePool alloc] init];
size_t digestSize = [_hashType digestSize];
uint8_t *result = NULL, *u, *uOld;
uint8_t *result = NULL;
const uint8_t *u, *uOld;
intmax_t j, k;
OFDataArray *salty, *tmp, *ret;
result = [self allocMemoryWithSize: digestSize];
@try {
memset(result, 0, digestSize);
|