Merge heads.
This commit is contained in:
commit
73eeb3c507
8 changed files with 64 additions and 55 deletions
|
@ -11,6 +11,11 @@
|
|||
4B1295EF1337BD5F00154B25 /* test.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B1295EE1337BD5F00154B25 /* test.m */; };
|
||||
4B1295F11337C37E00154B25 /* ObjXMPP.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4BC559911337A65400E345C7 /* ObjXMPP.framework */; };
|
||||
4B1295F21337C3CF00154B25 /* ObjFW.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4BC559D61337ABD300E345C7 /* ObjFW.framework */; };
|
||||
4B19F57A14D17082005D52DC /* XMPPCallback.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B19F57614D17081005D52DC /* XMPPCallback.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
4B19F57B14D17082005D52DC /* XMPPCallback.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B19F57714D17081005D52DC /* XMPPCallback.m */; };
|
||||
4B19F57C14D17082005D52DC /* XMPPEXTERNALAuth.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B19F57814D17081005D52DC /* XMPPEXTERNALAuth.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
4B19F57D14D17082005D52DC /* XMPPEXTERNALAuth.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B19F57914D17081005D52DC /* XMPPEXTERNALAuth.m */; };
|
||||
4B19F5A314D1779E005D52DC /* ObjOpenSSL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4B19F5A214D1779E005D52DC /* ObjOpenSSL.framework */; };
|
||||
4B4844F5138BBC7500EB48A5 /* XMPPSRVLookup.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B4844F3138BBC7400EB48A5 /* XMPPSRVLookup.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
4B4844F6138BBC7500EB48A5 /* XMPPSRVLookup.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B4844F4138BBC7500EB48A5 /* XMPPSRVLookup.m */; };
|
||||
4B484501138BBEEB00EB48A5 /* libresolv.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 4B484500138BBEEB00EB48A5 /* libresolv.dylib */; };
|
||||
|
@ -35,7 +40,6 @@
|
|||
4BC55A001337AC1800E345C7 /* XMPPSCRAMAuth.m in Sources */ = {isa = PBXBuildFile; fileRef = 4BC559FD1337AC1800E345C7 /* XMPPSCRAMAuth.m */; };
|
||||
4BC55A011337AC1800E345C7 /* XMPPStanza.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BC559FE1337AC1800E345C7 /* XMPPStanza.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
4BC55A021337AC1800E345C7 /* XMPPStanza.m in Sources */ = {isa = PBXBuildFile; fileRef = 4BC559FF1337AC1800E345C7 /* XMPPStanza.m */; };
|
||||
4BD0AB16134129B900445289 /* ObjOpenSSL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4BD0AB15134129B900445289 /* ObjOpenSSL.framework */; };
|
||||
4BD9BF59134003F700DAB43A /* XMPPRosterItem.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BD9BF57134003F700DAB43A /* XMPPRosterItem.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
4BD9BF5A134003F700DAB43A /* XMPPRosterItem.m in Sources */ = {isa = PBXBuildFile; fileRef = 4BD9BF58134003F700DAB43A /* XMPPRosterItem.m */; };
|
||||
4BDEF8071340B240000156D1 /* XMPPRoster.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BDEF8051340B240000156D1 /* XMPPRoster.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
|
@ -59,6 +63,11 @@
|
|||
4B01D01F137C7E7D005624EA /* namespaces.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = namespaces.h; path = src/namespaces.h; sourceTree = SOURCE_ROOT; };
|
||||
4B1295E01337BD2D00154B25 /* ObjXMPPTests */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = ObjXMPPTests; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
4B1295EE1337BD5F00154B25 /* test.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = test.m; path = tests/test.m; sourceTree = SOURCE_ROOT; };
|
||||
4B19F57614D17081005D52DC /* XMPPCallback.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = XMPPCallback.h; path = src/XMPPCallback.h; sourceTree = SOURCE_ROOT; };
|
||||
4B19F57714D17081005D52DC /* XMPPCallback.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = XMPPCallback.m; path = src/XMPPCallback.m; sourceTree = SOURCE_ROOT; };
|
||||
4B19F57814D17081005D52DC /* XMPPEXTERNALAuth.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = XMPPEXTERNALAuth.h; path = src/XMPPEXTERNALAuth.h; sourceTree = SOURCE_ROOT; };
|
||||
4B19F57914D17081005D52DC /* XMPPEXTERNALAuth.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = XMPPEXTERNALAuth.m; path = src/XMPPEXTERNALAuth.m; sourceTree = SOURCE_ROOT; };
|
||||
4B19F5A214D1779E005D52DC /* ObjOpenSSL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = ObjOpenSSL.framework; path = /Library/Frameworks/ObjOpenSSL.framework; sourceTree = "<group>"; };
|
||||
4B4844F3138BBC7400EB48A5 /* XMPPSRVLookup.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = XMPPSRVLookup.h; path = src/XMPPSRVLookup.h; sourceTree = SOURCE_ROOT; };
|
||||
4B4844F4138BBC7500EB48A5 /* XMPPSRVLookup.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = XMPPSRVLookup.m; path = src/XMPPSRVLookup.m; sourceTree = SOURCE_ROOT; };
|
||||
4B484500138BBEEB00EB48A5 /* libresolv.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libresolv.dylib; path = usr/lib/libresolv.dylib; sourceTree = SDKROOT; };
|
||||
|
@ -85,7 +94,6 @@
|
|||
4BC559FE1337AC1800E345C7 /* XMPPStanza.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = XMPPStanza.h; path = src/XMPPStanza.h; sourceTree = SOURCE_ROOT; };
|
||||
4BC559FF1337AC1800E345C7 /* XMPPStanza.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = XMPPStanza.m; path = src/XMPPStanza.m; sourceTree = SOURCE_ROOT; };
|
||||
4BC55A051337ADA800E345C7 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = SOURCE_ROOT; };
|
||||
4BD0AB15134129B900445289 /* ObjOpenSSL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = ObjOpenSSL.framework; path = ../ObjOpenSSL/build/Debug/ObjOpenSSL.framework; sourceTree = "<group>"; };
|
||||
4BD9BF57134003F700DAB43A /* XMPPRosterItem.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = XMPPRosterItem.h; path = src/XMPPRosterItem.h; sourceTree = SOURCE_ROOT; };
|
||||
4BD9BF58134003F700DAB43A /* XMPPRosterItem.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = XMPPRosterItem.m; path = src/XMPPRosterItem.m; sourceTree = SOURCE_ROOT; };
|
||||
4BDEF8051340B240000156D1 /* XMPPRoster.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = XMPPRoster.h; path = src/XMPPRoster.h; sourceTree = SOURCE_ROOT; };
|
||||
|
@ -106,8 +114,8 @@
|
|||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
4BD0AB16134129B900445289 /* ObjOpenSSL.framework in Frameworks */,
|
||||
4BC559D71337ABD300E345C7 /* ObjFW.framework in Frameworks */,
|
||||
4B19F5A314D1779E005D52DC /* ObjOpenSSL.framework in Frameworks */,
|
||||
4B484501138BBEEB00EB48A5 /* libresolv.dylib in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
|
@ -155,7 +163,7 @@
|
|||
isa = PBXGroup;
|
||||
children = (
|
||||
4BC559D61337ABD300E345C7 /* ObjFW.framework */,
|
||||
4BD0AB15134129B900445289 /* ObjOpenSSL.framework */,
|
||||
4B19F5A214D1779E005D52DC /* ObjOpenSSL.framework */,
|
||||
);
|
||||
name = Frameworks;
|
||||
sourceTree = "<group>";
|
||||
|
@ -166,10 +174,14 @@
|
|||
4BC5599B1337A65400E345C7 /* Supporting Files */,
|
||||
4BC559DA1337AC0900E345C7 /* XMPPAuthenticator.h */,
|
||||
4BC559DB1337AC0900E345C7 /* XMPPAuthenticator.m */,
|
||||
4B19F57614D17081005D52DC /* XMPPCallback.h */,
|
||||
4B19F57714D17081005D52DC /* XMPPCallback.m */,
|
||||
4BC559DC1337AC0900E345C7 /* XMPPConnection.h */,
|
||||
4BC559DD1337AC0900E345C7 /* XMPPConnection.m */,
|
||||
4BC559DE1337AC0900E345C7 /* XMPPExceptions.h */,
|
||||
4BC559DF1337AC0900E345C7 /* XMPPExceptions.m */,
|
||||
4B19F57814D17081005D52DC /* XMPPEXTERNALAuth.h */,
|
||||
4B19F57914D17081005D52DC /* XMPPEXTERNALAuth.m */,
|
||||
4BC559E01337AC0900E345C7 /* XMPPIQ.h */,
|
||||
4BC559E11337AC0900E345C7 /* XMPPIQ.m */,
|
||||
4BC559E21337AC0900E345C7 /* XMPPJID.h */,
|
||||
|
@ -212,8 +224,10 @@
|
|||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
4BC559EC1337AC0900E345C7 /* XMPPAuthenticator.h in Headers */,
|
||||
4B19F57A14D17082005D52DC /* XMPPCallback.h in Headers */,
|
||||
4BC559EE1337AC0900E345C7 /* XMPPConnection.h in Headers */,
|
||||
4BC559F01337AC0900E345C7 /* XMPPExceptions.h in Headers */,
|
||||
4B19F57C14D17082005D52DC /* XMPPEXTERNALAuth.h in Headers */,
|
||||
4BC559F21337AC0900E345C7 /* XMPPIQ.h in Headers */,
|
||||
4BC559F41337AC0900E345C7 /* XMPPJID.h in Headers */,
|
||||
4BC559F61337AC0900E345C7 /* XMPPMessage.h in Headers */,
|
||||
|
@ -271,6 +285,9 @@
|
|||
/* Begin PBXProject section */
|
||||
4BC559871337A65400E345C7 /* Project object */ = {
|
||||
isa = PBXProject;
|
||||
attributes = {
|
||||
LastUpgradeCheck = 0420;
|
||||
};
|
||||
buildConfigurationList = 4BC5598A1337A65400E345C7 /* Build configuration list for PBXProject "ObjXMPP" */;
|
||||
compatibilityVersion = "Xcode 3.2";
|
||||
developmentRegion = English;
|
||||
|
@ -313,8 +330,10 @@
|
|||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
4BC559ED1337AC0900E345C7 /* XMPPAuthenticator.m in Sources */,
|
||||
4B19F57B14D17082005D52DC /* XMPPCallback.m in Sources */,
|
||||
4BC559EF1337AC0900E345C7 /* XMPPConnection.m in Sources */,
|
||||
4BC559F11337AC0900E345C7 /* XMPPExceptions.m in Sources */,
|
||||
4B19F57D14D17082005D52DC /* XMPPEXTERNALAuth.m in Sources */,
|
||||
4BC559F31337AC0900E345C7 /* XMPPIQ.m in Sources */,
|
||||
4BC559F51337AC0900E345C7 /* XMPPJID.m in Sources */,
|
||||
4BC559F71337AC0900E345C7 /* XMPPMessage.m in Sources */,
|
||||
|
@ -363,7 +382,7 @@
|
|||
GCC_OPTIMIZATION_LEVEL = 0;
|
||||
GCC_PREPROCESSOR_DEFINITIONS = DEBUG;
|
||||
GCC_SYMBOLS_PRIVATE_EXTERN = NO;
|
||||
GCC_VERSION = 4.2;
|
||||
GCC_VERSION = com.apple.compilers.llvmgcc42;
|
||||
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
||||
GCC_WARN_ABOUT_RETURN_TYPE = YES;
|
||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||
|
@ -374,10 +393,6 @@
|
|||
"-fconstant-string-class=OFConstantString",
|
||||
"-fno-constant-cfstrings",
|
||||
);
|
||||
OTHER_LDFLAGS = (
|
||||
"-L/opt/local/lib",
|
||||
"-lidn",
|
||||
);
|
||||
SDKROOT = macosx;
|
||||
};
|
||||
name = Debug;
|
||||
|
@ -387,7 +402,7 @@
|
|||
buildSettings = {
|
||||
ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
|
||||
GCC_C_LANGUAGE_STANDARD = gnu99;
|
||||
GCC_VERSION = 4.2;
|
||||
GCC_VERSION = com.apple.compilers.llvmgcc42;
|
||||
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
||||
GCC_WARN_ABOUT_RETURN_TYPE = YES;
|
||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||
|
@ -397,10 +412,6 @@
|
|||
"-fconstant-string-class=OFConstantString",
|
||||
"-fno-constant-cfstrings",
|
||||
);
|
||||
OTHER_LDFLAGS = (
|
||||
"-L/opt/local/lib",
|
||||
"-lidn",
|
||||
);
|
||||
SDKROOT = macosx;
|
||||
};
|
||||
name = Release;
|
||||
|
@ -417,11 +428,10 @@
|
|||
GCC_ENABLE_OBJC_EXCEPTIONS = YES;
|
||||
GCC_PRECOMPILE_PREFIX_HEADER = YES;
|
||||
GCC_PREPROCESSOR_DEFINITIONS = HAVE_RES_NDESTROY;
|
||||
GCC_VERSION = 4.2;
|
||||
INFOPLIST_FILE = Info.plist;
|
||||
OTHER_LDFLAGS = (
|
||||
"-Wl,-reexport_framework,ObjOpenSSL",
|
||||
"-lcrypto",
|
||||
"-L/opt/local/lib",
|
||||
"-lidn",
|
||||
);
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
|
@ -441,11 +451,10 @@
|
|||
GCC_ENABLE_OBJC_EXCEPTIONS = YES;
|
||||
GCC_PRECOMPILE_PREFIX_HEADER = YES;
|
||||
GCC_PREPROCESSOR_DEFINITIONS = HAVE_RES_NDESTROY;
|
||||
GCC_VERSION = 4.2;
|
||||
INFOPLIST_FILE = Info.plist;
|
||||
OTHER_LDFLAGS = (
|
||||
"-Wl,-reexport_framework,ObjOpenSSL",
|
||||
"-lcrypto",
|
||||
"-L/opt/local/lib",
|
||||
"-lidn",
|
||||
);
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
|
|
|
@ -25,7 +25,7 @@
|
|||
@class XMPPIQ;
|
||||
|
||||
#ifdef OF_HAVE_BLOCKS
|
||||
typedef void(^xmpp_callback_block)(XMPPIQ*);
|
||||
typedef void(^xmpp_callback_block_t)(XMPPIQ*);
|
||||
#endif
|
||||
|
||||
@interface XMPPCallback: OFObject
|
||||
|
@ -33,10 +33,12 @@ typedef void(^xmpp_callback_block)(XMPPIQ*);
|
|||
id object;
|
||||
SEL selector;
|
||||
}
|
||||
|
||||
#ifdef OF_HAVE_BLOCKS
|
||||
+ callbackWithCallbackBlock: (xmpp_callback_block)callback;
|
||||
- initWithCallbackBlock: (xmpp_callback_block)callback;
|
||||
+ callbackWithCallbackBlock: (xmpp_callback_block_t)callback;
|
||||
- initWithCallbackBlock: (xmpp_callback_block_t)callback;
|
||||
#endif
|
||||
|
||||
+ callbackWithCallbackObject: (id)object
|
||||
selector: (SEL)selector;
|
||||
- initWithCallbackObject: (id)object
|
||||
|
|
|
@ -28,12 +28,12 @@
|
|||
|
||||
@implementation XMPPCallback
|
||||
#ifdef OF_HAVE_BLOCKS
|
||||
+ callbackWithCallbackBlock: (xmpp_callback_block)callback
|
||||
+ callbackWithCallbackBlock: (xmpp_callback_block_t)callback
|
||||
{
|
||||
return [[[self alloc] initWithCallbackBlock: callback] autorelease];
|
||||
}
|
||||
|
||||
- initWithCallbackBlock: (xmpp_callback_block)callback
|
||||
- initWithCallbackBlock: (xmpp_callback_block_t)callback
|
||||
{
|
||||
self = [super init];
|
||||
|
||||
|
@ -55,8 +55,7 @@
|
|||
{
|
||||
self = [super init];
|
||||
|
||||
// TODO: Retain or follow delegate paradigm?
|
||||
object = [object_ retain];
|
||||
object = object_;
|
||||
selector = selector_;
|
||||
|
||||
return self;
|
||||
|
@ -64,8 +63,6 @@
|
|||
|
||||
- (void)dealloc
|
||||
{
|
||||
[object release];
|
||||
|
||||
[super dealloc];
|
||||
}
|
||||
|
||||
|
@ -73,7 +70,7 @@
|
|||
{
|
||||
#ifdef OF_HAVE_BLOCKS
|
||||
if ([object isKindOfClass: [OFBlock class]])
|
||||
((xmpp_callback_block)object)(iq);
|
||||
((xmpp_callback_block_t)object)(iq);
|
||||
else
|
||||
#endif
|
||||
[object performSelector: selector
|
||||
|
|
|
@ -384,7 +384,7 @@
|
|||
}
|
||||
|
||||
- (void)sendIQ: (XMPPIQ*)iq
|
||||
withCallbackObject: (id)object
|
||||
withCallbackObject: (id)object
|
||||
selector: (SEL)selector
|
||||
{
|
||||
OFAutoreleasePool *pool = [[OFAutoreleasePool alloc] init];
|
||||
|
@ -405,7 +405,7 @@ withCallbackObject: (id)object
|
|||
|
||||
#ifdef OF_HAVE_BLOCKS
|
||||
- (void)sendIQ: (XMPPIQ*)iq
|
||||
withCallbackBlock: (xmpp_callback_block)callback;
|
||||
withCallbackBlock: (xmpp_callback_block_t)callback;
|
||||
{
|
||||
OFAutoreleasePool *pool = [[OFAutoreleasePool alloc] init];
|
||||
@try {
|
||||
|
|
|
@ -42,7 +42,7 @@
|
|||
|
||||
- (OFDataArray*)initialMessage
|
||||
{
|
||||
OFDataArray *message = [OFDataArray dataArrayWithItemSize: 1];
|
||||
OFDataArray *message = [OFDataArray dataArray];
|
||||
|
||||
/* authzid */
|
||||
if (authzid)
|
||||
|
|
|
@ -46,7 +46,7 @@
|
|||
|
||||
- (OFDataArray*)initialMessage
|
||||
{
|
||||
OFDataArray *message = [OFDataArray dataArrayWithItemSize: 1];
|
||||
OFDataArray *message = [OFDataArray dataArray];
|
||||
|
||||
/* authzid */
|
||||
if (authzid)
|
||||
|
|
|
@ -81,6 +81,7 @@
|
|||
{
|
||||
if (type == nil)
|
||||
return @"available";
|
||||
|
||||
return [[type copy] autorelease];
|
||||
}
|
||||
|
||||
|
|
|
@ -145,7 +145,7 @@
|
|||
|
||||
- (OFDataArray*)initialMessage
|
||||
{
|
||||
OFDataArray *ret = [OFDataArray dataArrayWithItemSize: 1];
|
||||
OFDataArray *ret = [OFDataArray dataArray];
|
||||
|
||||
/* New authentication attempt, reset status */
|
||||
[cNonce release];
|
||||
|
@ -215,8 +215,8 @@
|
|||
} got = 0;
|
||||
|
||||
hash = [[[hashType alloc] init] autorelease];
|
||||
ret = [OFDataArray dataArrayWithItemSize: 1];
|
||||
authMessage = [OFDataArray dataArrayWithItemSize: 1];
|
||||
ret = [OFDataArray dataArray];
|
||||
authMessage = [OFDataArray dataArray];
|
||||
|
||||
OFString *chal = [OFString stringWithUTF8String: [data cArray]
|
||||
length: [data count] *
|
||||
|
@ -252,7 +252,7 @@
|
|||
@throw [OFInvalidServerReplyException exceptionWithClass: isa];
|
||||
|
||||
// Add c=<base64(GS2Header+channelBindingData)>
|
||||
tmpArray = [OFDataArray dataArrayWithItemSize: 1];
|
||||
tmpArray = [OFDataArray dataArray];
|
||||
[tmpArray addNItems: [GS2Header UTF8StringLength]
|
||||
fromCArray: [GS2Header UTF8String]];
|
||||
if (plusAvailable && [connection encrypted]) {
|
||||
|
@ -278,7 +278,7 @@
|
|||
* IETF RFC 5802:
|
||||
* SaltedPassword := Hi(Normalize(password), salt, i)
|
||||
*/
|
||||
tmpArray = [OFDataArray dataArrayWithItemSize: 1];
|
||||
tmpArray = [OFDataArray dataArray];
|
||||
[tmpArray addNItems: [password UTF8StringLength]
|
||||
fromCArray: [password UTF8String]];
|
||||
|
||||
|
@ -305,7 +305,7 @@
|
|||
* IETF RFC 5802:
|
||||
* ClientKey := HMAC(SaltedPassword, "Client Key")
|
||||
*/
|
||||
tmpArray = [OFDataArray dataArrayWithItemSize: 1];
|
||||
tmpArray = [OFDataArray dataArray];
|
||||
[tmpArray addNItems: 10
|
||||
fromCArray: "Client Key"];
|
||||
clientKey = [self XMPP_HMACWithKey: saltedPassword
|
||||
|
@ -317,7 +317,7 @@
|
|||
*/
|
||||
[hash updateWithBuffer: (void*) clientKey
|
||||
length: [hashType digestSize]];
|
||||
tmpArray = [OFDataArray dataArrayWithItemSize: 1];
|
||||
tmpArray = [OFDataArray dataArray];
|
||||
[tmpArray addNItems: [hashType digestSize]
|
||||
fromCArray: [hash digest]];
|
||||
|
||||
|
@ -332,7 +332,7 @@
|
|||
* IETF RFC 5802:
|
||||
* ServerKey := HMAC(SaltedPassword, "Server Key")
|
||||
*/
|
||||
tmpArray = [OFDataArray dataArrayWithItemSize: 1];
|
||||
tmpArray = [OFDataArray dataArray];
|
||||
[tmpArray addNItems: 10
|
||||
fromCArray: "Server Key"];
|
||||
serverKey = [self XMPP_HMACWithKey: saltedPassword
|
||||
|
@ -342,10 +342,10 @@
|
|||
* IETF RFC 5802:
|
||||
* ServerSignature := HMAC(ServerKey, AuthMessage)
|
||||
*/
|
||||
tmpArray = [OFDataArray dataArrayWithItemSize: 1];
|
||||
tmpArray = [OFDataArray dataArray];
|
||||
[tmpArray addNItems: [hashType digestSize]
|
||||
fromCArray: serverKey];
|
||||
serverSignature = [[OFDataArray alloc] initWithItemSize: 1];
|
||||
serverSignature = [[OFDataArray alloc] init];
|
||||
[serverSignature addNItems: [hashType digestSize]
|
||||
fromCArray: [self XMPP_HMACWithKey: tmpArray
|
||||
data: authMessage]];
|
||||
|
@ -354,7 +354,7 @@
|
|||
* IETF RFC 5802:
|
||||
* ClientProof := ClientKey XOR ClientSignature
|
||||
*/
|
||||
tmpArray = [OFDataArray dataArrayWithItemSize: 1];
|
||||
tmpArray = [OFDataArray dataArray];
|
||||
for (i = 0; i < [hashType digestSize]; i++) {
|
||||
uint8_t c = clientKey[i] ^ clientSignature[i];
|
||||
[tmpArray addItem: &c];
|
||||
|
@ -428,7 +428,7 @@
|
|||
data: (OFDataArray*)data
|
||||
{
|
||||
OFAutoreleasePool *pool = [[OFAutoreleasePool alloc] init];
|
||||
OFDataArray *k = [OFDataArray dataArrayWithItemSize: 1];
|
||||
OFDataArray *k = [OFDataArray dataArray];
|
||||
size_t i, kSize, blockSize = [hashType blockSize];
|
||||
uint8_t *kI = NULL, *kO = NULL;
|
||||
OFHash *hashI, *hashO;
|
||||
|
@ -505,7 +505,7 @@
|
|||
result[j] ^= uOld[j];
|
||||
|
||||
for (j = 0; j < i - 1; j++) {
|
||||
tmp = [OFDataArray dataArrayWithItemSize: 1];
|
||||
tmp = [OFDataArray dataArray];
|
||||
[tmp addNItems: digestSize
|
||||
fromCArray: uOld];
|
||||
|
||||
|
@ -520,7 +520,7 @@
|
|||
[pool releaseObjects];
|
||||
}
|
||||
|
||||
ret = [OFDataArray dataArrayWithItemSize: 1];
|
||||
ret = [OFDataArray dataArray];
|
||||
[ret addNItems: digestSize
|
||||
fromCArray: result];
|
||||
} @finally {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue