diff --git a/Podfile b/Podfile index a87bceaf8..5452d4e81 100644 --- a/Podfile +++ b/Podfile @@ -11,7 +11,7 @@ target 'Session' do pod 'PromiseKit', :inhibit_warnings => true pod 'PureLayout', '~> 3.1.8', :inhibit_warnings => true pod 'Reachability', :inhibit_warnings => true - pod 'Sodium', '~> 0.9.1', :inhibit_warnings => true + pod 'Sodium', '~> 0.8.0', :inhibit_warnings => true pod 'YapDatabase/SQLCipher', :git => 'https://github.com/loki-project/session-ios-yap-database.git', branch: 'signal-release', :inhibit_warnings => true pod 'YYImage', git: 'https://github.com/signalapp/YYImage', :inhibit_warnings => true pod 'ZXingObjC', :inhibit_warnings => true @@ -22,18 +22,15 @@ target 'SessionShareExtension' do pod 'CryptoSwift', :inhibit_warnings => true pod 'Curve25519Kit', git: 'https://github.com/signalapp/Curve25519Kit.git', :inhibit_warnings => true pod 'Mantle', git: 'https://github.com/signalapp/Mantle', branch: 'signal-master', :inhibit_warnings => true - pod 'NVActivityIndicatorView', :inhibit_warnings => true pod 'PromiseKit', :inhibit_warnings => true pod 'PureLayout', '~> 3.1.8', :inhibit_warnings => true - pod 'Sodium', '~> 0.9.1', :inhibit_warnings => true - pod 'SignalCoreKit', git: 'https://github.com/mpretty-cyro/SignalCoreKit.git', branch: 'session-version', :inhibit_warnings => true + pod 'SignalCoreKit', git: 'https://github.com/signalapp/SignalCoreKit.git', :inhibit_warnings => true pod 'YapDatabase/SQLCipher', :git => 'https://github.com/loki-project/session-ios-yap-database.git', branch: 'signal-release', :inhibit_warnings => true end target 'SessionNotificationServiceExtension' do pod 'Curve25519Kit', git: 'https://github.com/signalapp/Curve25519Kit.git', :inhibit_warnings => true - pod 'Sodium', '~> 0.9.1', :inhibit_warnings => true - pod 'SignalCoreKit', git: 'https://github.com/mpretty-cyro/SignalCoreKit.git', branch: 'session-version', :inhibit_warnings => true + pod 'SignalCoreKit', git: 'https://github.com/signalapp/SignalCoreKit.git', :inhibit_warnings => true pod 'YapDatabase/SQLCipher', :git => 'https://github.com/loki-project/session-ios-yap-database.git', branch: 'signal-release', :inhibit_warnings => true end @@ -41,15 +38,15 @@ target 'SignalUtilitiesKit' do pod 'AFNetworking', inhibit_warnings: true pod 'CryptoSwift', :inhibit_warnings => true pod 'Curve25519Kit', git: 'https://github.com/signalapp/Curve25519Kit.git', :inhibit_warnings => true + pod 'GRKOpenSSLFramework', :inhibit_warnings => true pod 'HKDFKit', :inhibit_warnings => true pod 'Mantle', git: 'https://github.com/signalapp/Mantle', branch: 'signal-master', :inhibit_warnings => true pod 'NVActivityIndicatorView', :inhibit_warnings => true pod 'PromiseKit', :inhibit_warnings => true pod 'PureLayout', '~> 3.1.8', :inhibit_warnings => true pod 'Reachability', :inhibit_warnings => true - pod 'Sodium', '~> 0.9.1', :inhibit_warnings => true pod 'SAMKeychain', :inhibit_warnings => true - pod 'SignalCoreKit', git: 'https://github.com/mpretty-cyro/SignalCoreKit.git', branch: 'session-version', :inhibit_warnings => true + pod 'SignalCoreKit', git: 'https://github.com/signalapp/SignalCoreKit.git', :inhibit_warnings => true pod 'SwiftProtobuf', '~> 1.5.0', :inhibit_warnings => true pod 'YapDatabase/SQLCipher', :git => 'https://github.com/loki-project/session-ios-yap-database.git', branch: 'signal-release', :inhibit_warnings => true pod 'YYImage', git: 'https://github.com/signalapp/YYImage', :inhibit_warnings => true @@ -69,8 +66,8 @@ target 'SessionMessagingKit' do pod 'PureLayout', '~> 3.1.8', :inhibit_warnings => true pod 'Reachability', :inhibit_warnings => true pod 'SAMKeychain', :inhibit_warnings => true - pod 'SignalCoreKit', git: 'https://github.com/mpretty-cyro/SignalCoreKit.git', branch: 'session-version', :inhibit_warnings => true - pod 'Sodium', '~> 0.9.1', :inhibit_warnings => true + pod 'SignalCoreKit', git: 'https://github.com/signalapp/SignalCoreKit.git', :inhibit_warnings => true + pod 'Sodium', '~> 0.8.0', :inhibit_warnings => true pod 'SwiftProtobuf', '~> 1.5.0', :inhibit_warnings => true pod 'YapDatabase/SQLCipher', :git => 'https://github.com/loki-project/session-ios-yap-database.git', branch: 'signal-release', :inhibit_warnings => true end @@ -79,8 +76,8 @@ target 'SessionSnodeKit' do pod 'CryptoSwift', :inhibit_warnings => true pod 'Curve25519Kit', git: 'https://github.com/signalapp/Curve25519Kit.git', :inhibit_warnings => true pod 'PromiseKit', :inhibit_warnings => true - pod 'SignalCoreKit', git: 'https://github.com/mpretty-cyro/SignalCoreKit.git', branch: 'session-version', :inhibit_warnings => true - pod 'Sodium', '~> 0.9.1', :inhibit_warnings => true + pod 'SignalCoreKit', git: 'https://github.com/signalapp/SignalCoreKit.git', :inhibit_warnings => true + pod 'Sodium', '~> 0.8.0', :inhibit_warnings => true pod 'YapDatabase/SQLCipher', :git => 'https://github.com/loki-project/session-ios-yap-database.git', branch: 'signal-release', :inhibit_warnings => true end @@ -92,7 +89,7 @@ target 'SessionUtilitiesKit' do pod 'PromiseKit', :inhibit_warnings => true pod 'PureLayout', '~> 3.1.8', :inhibit_warnings => true pod 'SAMKeychain', :inhibit_warnings => true - pod 'SignalCoreKit', git: 'https://github.com/mpretty-cyro/SignalCoreKit.git', branch: 'session-version', :inhibit_warnings => true + pod 'SignalCoreKit', git: 'https://github.com/signalapp/SignalCoreKit.git', :inhibit_warnings => true pod 'YapDatabase/SQLCipher', :git => 'https://github.com/loki-project/session-ios-yap-database.git', branch: 'signal-release', :inhibit_warnings => true end diff --git a/Podfile.lock b/Podfile.lock index 0e031ba47..804a148c7 100644 --- a/Podfile.lock +++ b/Podfile.lock @@ -14,41 +14,41 @@ PODS: - AFNetworking/Serialization (4.0.1) - AFNetworking/UIKit (4.0.1): - AFNetworking/NSURLSession - - CocoaLumberjack (3.7.4): - - CocoaLumberjack/Core (= 3.7.4) - - CocoaLumberjack/Core (3.7.4) - - CryptoSwift (1.4.2) + - CocoaLumberjack (3.6.2): + - CocoaLumberjack/Core (= 3.6.2) + - CocoaLumberjack/Core (3.6.2) + - CryptoSwift (1.3.2) - Curve25519Kit (2.1.0): - CocoaLumberjack - SignalCoreKit + - GRKOpenSSLFramework (1.0.2.20) - HKDFKit (0.0.3) - Mantle (2.1.0): - Mantle/extobjc (= 2.1.0) - Mantle/extobjc (2.1.0) - - NVActivityIndicatorView (5.1.1): - - NVActivityIndicatorView/Base (= 5.1.1) - - NVActivityIndicatorView/Base (5.1.1) - - OpenSSL-Universal (1.1.1200) - - PromiseKit (6.15.3): - - PromiseKit/CorePromise (= 6.15.3) - - PromiseKit/Foundation (= 6.15.3) - - PromiseKit/UIKit (= 6.15.3) - - PromiseKit/CorePromise (6.15.3) - - PromiseKit/Foundation (6.15.3): + - NVActivityIndicatorView (5.0.1): + - NVActivityIndicatorView/Base (= 5.0.1) + - NVActivityIndicatorView/Base (5.0.1) + - PromiseKit (6.13.1): + - PromiseKit/CorePromise (= 6.13.1) + - PromiseKit/Foundation (= 6.13.1) + - PromiseKit/UIKit (= 6.13.1) + - PromiseKit/CorePromise (6.13.1) + - PromiseKit/Foundation (6.13.1): - PromiseKit/CorePromise - - PromiseKit/UIKit (6.15.3): + - PromiseKit/UIKit (6.13.1): - PromiseKit/CorePromise - - PureLayout (3.1.9) + - PureLayout (3.1.8) - Reachability (3.2) - SAMKeychain (1.5.3) - SignalCoreKit (1.0.0): - CocoaLumberjack - - OpenSSL-Universal - - Sodium (0.9.1) - - SQLCipher (4.5.0): - - SQLCipher/standard (= 4.5.0) - - SQLCipher/common (4.5.0) - - SQLCipher/standard (4.5.0): + - GRKOpenSSLFramework + - Sodium (0.8.0) + - SQLCipher (4.4.0): + - SQLCipher/standard (= 4.4.0) + - SQLCipher/common (4.4.0) + - SQLCipher/standard (4.4.0): - SQLCipher/common - SwiftProtobuf (1.5.0) - YapDatabase/SQLCipher (3.1.1): @@ -124,6 +124,7 @@ DEPENDENCIES: - AFNetworking - CryptoSwift - Curve25519Kit (from `https://github.com/signalapp/Curve25519Kit.git`) + - GRKOpenSSLFramework - HKDFKit - Mantle (from `https://github.com/signalapp/Mantle`, branch `signal-master`) - NVActivityIndicatorView @@ -131,8 +132,8 @@ DEPENDENCIES: - PureLayout (~> 3.1.8) - Reachability - SAMKeychain - - SignalCoreKit (from `https://github.com/mpretty-cyro/SignalCoreKit.git`, branch `session-version`) - - Sodium (~> 0.9.1) + - SignalCoreKit (from `https://github.com/signalapp/SignalCoreKit.git`) + - Sodium (~> 0.8.0) - SwiftProtobuf (~> 1.5.0) - YapDatabase/SQLCipher (from `https://github.com/loki-project/session-ios-yap-database.git`, branch `signal-release`) - YYImage (from `https://github.com/signalapp/YYImage`) @@ -143,9 +144,9 @@ SPEC REPOS: - AFNetworking - CocoaLumberjack - CryptoSwift + - GRKOpenSSLFramework - HKDFKit - NVActivityIndicatorView - - OpenSSL-Universal - PromiseKit - PureLayout - Reachability @@ -162,8 +163,7 @@ EXTERNAL SOURCES: :branch: signal-master :git: https://github.com/signalapp/Mantle SignalCoreKit: - :branch: session-version - :git: https://github.com/mpretty-cyro/SignalCoreKit.git + :git: https://github.com/signalapp/SignalCoreKit.git YapDatabase: :branch: signal-release :git: https://github.com/loki-project/session-ios-yap-database.git @@ -175,39 +175,39 @@ CHECKOUT OPTIONS: :commit: 4fc1c10e98fff2534b5379a9bb587430fdb8e577 :git: https://github.com/signalapp/Curve25519Kit.git Mantle: - :commit: e7e46253bb01ce39525d90aa69ed9e85e758bfc4 + :commit: b72c2d1e6132501db906de2cffa8ded7803c54f4 :git: https://github.com/signalapp/Mantle SignalCoreKit: - :commit: b6ff159ca01679d5d9f206ede8475caeb0dc3225 - :git: https://github.com/mpretty-cyro/SignalCoreKit.git + :commit: 21c092e94b307690957b50f2305e5e65d28fa89e + :git: https://github.com/signalapp/SignalCoreKit.git YapDatabase: :commit: 5806f6b6e0b34124ee09283a9eca9ce7e6eaf14e :git: https://github.com/loki-project/session-ios-yap-database.git YYImage: - :commit: 62a4cede20bcf31da73d18163408e46a92f171c6 + :commit: d91910e6f313a255febbf69795198e74259bd51c :git: https://github.com/signalapp/YYImage SPEC CHECKSUMS: AFNetworking: 7864c38297c79aaca1500c33288e429c3451fdce - CocoaLumberjack: 543c79c114dadc3b1aba95641d8738b06b05b646 - CryptoSwift: a532e74ed010f8c95f611d00b8bbae42e9fe7c17 + CocoaLumberjack: bd155f2dd06c0e0b03f876f7a3ee55693122ec94 + CryptoSwift: 093499be1a94b0cae36e6c26b70870668cb56060 Curve25519Kit: e63f9859ede02438ae3defc5e1a87e09d1ec7ee6 + GRKOpenSSLFramework: dc635b0a9d4cd8af2a9ff80a61e779e21b69dfd8 HKDFKit: c058305d6f64b84f28c50bd7aa89574625bcb62a Mantle: 2fa750afa478cd625a94230fbf1c13462f29395b - NVActivityIndicatorView: 1f6c5687f1171810aa27a3296814dc2d7dec3667 - OpenSSL-Universal: 3b8c0d6268fbd5d3ac44f97338e2fd16a73d9dbf - PromiseKit: 3b2b6995e51a954c46dbc550ce3da44fbfb563c5 - PureLayout: 5fb5e5429519627d60d079ccb1eaa7265ce7cf88 + NVActivityIndicatorView: 738e843cb8924e9e4fc3e559d0728031624bf860 + PromiseKit: 28fda91c973cc377875d8c0ea4f973013c05b6db + PureLayout: a4afb3d79dd958564ce33d22c89f407280d8e6a8 Reachability: 33e18b67625424e47b6cde6d202dce689ad7af96 SAMKeychain: 483e1c9f32984d50ca961e26818a534283b4cd5c - SignalCoreKit: 1fbd8732163ef76de16cd1107d1fa3684b607e5d - Sodium: 23d11554ecd556196d313cf6130d406dfe7ac6da - SQLCipher: 98dc22f27c0b1790d39e710d440f22a466ebdb59 + SignalCoreKit: 4562b2bbd9830077439ca003f952a798457d4ea5 + Sodium: 63c0ca312a932e6da481689537d4b35568841bdc + SQLCipher: e434ed542b24f38ea7b36468a13f9765e1b5c072 SwiftProtobuf: 241400280f912735c1e1b9fe675fdd2c6c4d42e2 YapDatabase: b418a4baa6906e8028748938f9159807fd039af4 - YYImage: f1ddd15ac032a58b78bbed1e012b50302d318331 + YYImage: 6db68da66f20d9f169ceb94dfb9947c3867b9665 ZXingObjC: fdbb269f25dd2032da343e06f10224d62f537bdb -PODFILE CHECKSUM: 62496725424703f6390b7c9862c114cee36b26a1 +PODFILE CHECKSUM: 50e6a35c838ba28d2ee02bc6018fdd297c04e55f -COCOAPODS: 1.11.2 +COCOAPODS: 1.10.1 diff --git a/SessionMessagingKit/Utilities/ProofOfWork.swift b/SessionMessagingKit/Utilities/ProofOfWork.swift index 4cb500c97..d82640bce 100644 --- a/SessionMessagingKit/Utilities/ProofOfWork.swift +++ b/SessionMessagingKit/Utilities/ProofOfWork.swift @@ -29,7 +29,7 @@ enum ProofOfWork { value = newValue } // Encode as base 64 - let base64EncodedNonce = nonce.bigEndianBytes.toBase64() + let base64EncodedNonce = nonce.bigEndianBytes.toBase64()! // Return return (timestamp, base64EncodedNonce) } diff --git a/SessionSnodeKit/SnodeAPI.swift b/SessionSnodeKit/SnodeAPI.swift index 954230953..6512ffbfc 100644 --- a/SessionSnodeKit/SnodeAPI.swift +++ b/SessionSnodeKit/SnodeAPI.swift @@ -304,9 +304,8 @@ public final class SnodeAPI : NSObject { let onsName = onsName.lowercased() // Hash the ONS name using BLAKE2b let nameAsData = [UInt8](onsName.data(using: String.Encoding.utf8)!) - guard let nameHash = sodium.genericHash.hash(message: nameAsData) else { return Promise(error: Error.hashingFailed) } - - let base64EncodedNameHash = nameHash.toBase64() + guard let nameHash = sodium.genericHash.hash(message: nameAsData), + let base64EncodedNameHash = nameHash.toBase64() else { return Promise(error: Error.hashingFailed) } // Ask 3 different snodes for the Session ID associated with the given name hash let parameters: [String:Any] = [ "endpoint" : "ons_resolve", @@ -434,7 +433,7 @@ public final class SnodeAPI : NSObject { "lastHash" : lastHash, // "timestamp" : timestamp, // "pubkey_ed25519" : ed25519PublicKey, -// "signature" : signature.toBase64() +// "signature" : signature.toBase64()! ] return invoke(.getMessages, on: snode, associatedWith: publicKey, parameters: parameters) } @@ -474,7 +473,7 @@ public final class SnodeAPI : NSObject { "pubkey" : userX25519PublicKey, "pubkey_ed25519" : userED25519KeyPair.publicKey.toHexString(), "messages": serverHashes, - "signature": signature.toBase64() + "signature": signature.toBase64()! ] return attempt(maxRetryCount: maxRetryCount, recoveringOn: Threading.workQueue) { invoke(.deleteMessage, on: snode, associatedWith: publicKey, parameters: parameters).map2{ rawResponse -> [String:Bool] in @@ -521,7 +520,7 @@ public final class SnodeAPI : NSObject { "pubkey" : userX25519PublicKey, "pubkey_ed25519" : userED25519KeyPair.publicKey.toHexString(), "timestamp" : timestamp, - "signature" : signature.toBase64() + "signature" : signature.toBase64()! ] return attempt(maxRetryCount: maxRetryCount, recoveringOn: Threading.workQueue) { invoke(.clearAllData, on: snode, parameters: parameters).map2 { rawResponse -> [String:Bool] in