WIP: Framework-friendly - compiles but crashes on launch
// FREEBIE
This commit is contained in:
parent
c5b0f7cd01
commit
a11d83187b
46
Podfile
46
Podfile
|
@ -1,23 +1,28 @@
|
|||
platform :ios, '8.0'
|
||||
source 'https://github.com/CocoaPods/Specs.git'
|
||||
|
||||
def shared_pods
|
||||
pod 'Mantle', :inhibit_warnings => true
|
||||
pod 'YapDatabase/SQLCipher', '~> 2.9.3', :inhibit_warnings => true
|
||||
pod 'AxolotlKit', git: 'https://github.com/WhisperSystems/SignalProtocolKit.git'
|
||||
#pod 'AxolotlKit', path: '../SignalProtocolKit'
|
||||
pod 'PureLayout', :inhibit_warnings => true
|
||||
pod 'OpenSSL', git: 'https://github.com/WhisperSystems/OpenSSL-Pod', inhibit_warnings: true
|
||||
pod 'Reachability', :inhibit_warnings => true
|
||||
pod 'SignalServiceKit', path: '.'
|
||||
pod 'SocketRocket', :git => 'https://github.com/facebook/SocketRocket.git', :inhibit_warnings => true
|
||||
pod 'YYImage'
|
||||
end
|
||||
use_frameworks!
|
||||
|
||||
post_install do |installer|
|
||||
# Disable some asserts when building for tests
|
||||
set_building_for_tests_config(installer, 'SignalServiceKit')
|
||||
enable_extension_support_for_purelayout(installer)
|
||||
def shared_pods
|
||||
# OWS Pods
|
||||
pod 'SignalServiceKit', path: '.'
|
||||
pod 'AxolotlKit', git: 'https://github.com/WhisperSystems/SignalProtocolKit.git', branch: 'mkirk/framework-friendly'
|
||||
#pod 'AxolotlKit', path: '../SignalProtocolKit'
|
||||
pod 'HKDFKit', git: 'https://github.com/WhisperSystems/HKDFKit.git', branch: 'mkirk/framework-friendly'
|
||||
#pod 'HKDFKit', path: '../HKDFKit'
|
||||
pod 'Curve25519Kit', git: 'https://github.com/WhisperSystems/Curve25519Kit', branch: 'mkirk/framework-friendly'
|
||||
#pod 'Curve25519Kit', path: '../Curve25519Kit'
|
||||
#pod 'OpenSSL', git: 'https://github.com/WhisperSystems/OpenSSL-Pod', inhibit_warnings: true
|
||||
# TODO switch OpenSSL lib
|
||||
pod 'GRKOpenSSLFramework'
|
||||
|
||||
# third party pods
|
||||
pod 'Mantle', :inhibit_warnings => true
|
||||
pod 'YapDatabase/SQLCipher', '~> 2.9.3', :inhibit_warnings => true
|
||||
pod 'PureLayout', :inhibit_warnings => true
|
||||
pod 'Reachability', :inhibit_warnings => true
|
||||
pod 'SocketRocket', :git => 'https://github.com/facebook/SocketRocket.git', :inhibit_warnings => true
|
||||
pod 'YYImage'
|
||||
end
|
||||
|
||||
target 'Signal' do
|
||||
|
@ -35,6 +40,12 @@ target 'SignalShareExtension' do
|
|||
shared_pods
|
||||
end
|
||||
|
||||
post_install do |installer|
|
||||
# Disable some asserts when building for tests
|
||||
set_building_for_tests_config(installer, 'SignalServiceKit')
|
||||
enable_extension_support_for_purelayout(installer)
|
||||
end
|
||||
|
||||
# There are some asserts and debug checks that make testing difficult - e.g. Singleton asserts
|
||||
def set_building_for_tests_config(installer, target_name)
|
||||
target = installer.pods_project.targets.detect { |target| target.to_s == target_name }
|
||||
|
@ -57,8 +68,9 @@ def set_building_for_tests_config(installer, target_name)
|
|||
build_config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] = "#{existing_definitions} POD_CONFIGURATION_TEST=1 COCOAPODS=1 SSK_BUILDING_FOR_TESTS=1"
|
||||
end
|
||||
|
||||
# PureLayout by default makes use of UIApplication, and must be configured to be built for an extension.
|
||||
def enable_extension_support_for_purelayout(installer)
|
||||
installer.pods_project.targets.each do |target|
|
||||
installer.pods_project.targets.each do |target|
|
||||
if target.name.end_with? "PureLayout"
|
||||
target.build_configurations.each do |build_configuration|
|
||||
if build_configuration.build_settings['APPLICATION_EXTENSION_API_ONLY'] == 'YES'
|
||||
|
|
52
Podfile.lock
52
Podfile.lock
|
@ -1,5 +1,4 @@
|
|||
PODS:
|
||||
- 25519 (2.0.2)
|
||||
- AFNetworking (3.1.0):
|
||||
- AFNetworking/NSURLSession (= 3.1.0)
|
||||
- AFNetworking/Reachability (= 3.1.0)
|
||||
|
@ -16,9 +15,9 @@ PODS:
|
|||
- AFNetworking/UIKit (3.1.0):
|
||||
- AFNetworking/NSURLSession
|
||||
- ATAppUpdater (2.0)
|
||||
- AxolotlKit (0.8.1):
|
||||
- 25519 (~> 2.0.1)
|
||||
- AxolotlKit (0.9.0):
|
||||
- CocoaLumberjack
|
||||
- Curve25519Kit (~> 2.1.0)
|
||||
- HKDFKit (~> 0.0.3)
|
||||
- ProtocolBuffers (~> 1.9.8)
|
||||
- CocoaLumberjack (2.4.0):
|
||||
|
@ -29,7 +28,9 @@ PODS:
|
|||
- CocoaLumberjack/Core
|
||||
- CocoaLumberjack/Extensions (2.4.0):
|
||||
- CocoaLumberjack/Default
|
||||
- HKDFKit (0.0.3)
|
||||
- Curve25519Kit (2.1.0)
|
||||
- GRKOpenSSLFramework (1.0.2.11.2)
|
||||
- HKDFKit (0.0.4)
|
||||
- JSQMessagesViewController (7.3.4):
|
||||
- JSQSystemSoundPlayer (~> 2.0.1)
|
||||
- JSQSystemSoundPlayer (2.0.1)
|
||||
|
@ -37,19 +38,18 @@ PODS:
|
|||
- Mantle (2.1.0):
|
||||
- Mantle/extobjc (= 2.1.0)
|
||||
- Mantle/extobjc (2.1.0)
|
||||
- OpenSSL (1.0.213)
|
||||
- ProtocolBuffers (1.9.11)
|
||||
- PureLayout (3.0.2)
|
||||
- Reachability (3.2)
|
||||
- SAMKeychain (1.5.3)
|
||||
- SignalServiceKit (0.9.0):
|
||||
- 25519
|
||||
- AFNetworking
|
||||
- AxolotlKit
|
||||
- CocoaLumberjack
|
||||
- Curve25519Kit
|
||||
- GRKOpenSSLFramework
|
||||
- libPhoneNumber-iOS
|
||||
- Mantle
|
||||
- OpenSSL
|
||||
- Reachability
|
||||
- SAMKeychain
|
||||
- SocketRocket
|
||||
|
@ -116,10 +116,12 @@ PODS:
|
|||
|
||||
DEPENDENCIES:
|
||||
- ATAppUpdater
|
||||
- AxolotlKit (from `https://github.com/WhisperSystems/SignalProtocolKit.git`)
|
||||
- AxolotlKit (from `https://github.com/WhisperSystems/SignalProtocolKit.git`, branch `mkirk/framework-friendly`)
|
||||
- Curve25519Kit (from `https://github.com/WhisperSystems/Curve25519Kit`, branch `mkirk/framework-friendly`)
|
||||
- GRKOpenSSLFramework
|
||||
- HKDFKit (from `https://github.com/WhisperSystems/HKDFKit.git`, branch `mkirk/framework-friendly`)
|
||||
- JSQMessagesViewController (from `https://github.com/WhisperSystems/JSQMessagesViewController.git`, branch `signal-master`)
|
||||
- Mantle
|
||||
- OpenSSL (from `https://github.com/WhisperSystems/OpenSSL-Pod`)
|
||||
- PureLayout
|
||||
- Reachability
|
||||
- SignalServiceKit (from `.`)
|
||||
|
@ -129,12 +131,17 @@ DEPENDENCIES:
|
|||
|
||||
EXTERNAL SOURCES:
|
||||
AxolotlKit:
|
||||
:branch: mkirk/framework-friendly
|
||||
:git: https://github.com/WhisperSystems/SignalProtocolKit.git
|
||||
Curve25519Kit:
|
||||
:branch: mkirk/framework-friendly
|
||||
:git: https://github.com/WhisperSystems/Curve25519Kit
|
||||
HKDFKit:
|
||||
:branch: mkirk/framework-friendly
|
||||
:git: https://github.com/WhisperSystems/HKDFKit.git
|
||||
JSQMessagesViewController:
|
||||
:branch: signal-master
|
||||
:git: https://github.com/WhisperSystems/JSQMessagesViewController.git
|
||||
OpenSSL:
|
||||
:git: https://github.com/WhisperSystems/OpenSSL-Pod
|
||||
SignalServiceKit:
|
||||
:path: .
|
||||
SocketRocket:
|
||||
|
@ -142,35 +149,38 @@ EXTERNAL SOURCES:
|
|||
|
||||
CHECKOUT OPTIONS:
|
||||
AxolotlKit:
|
||||
:commit: 6e9d5e8c3dc87e397b4b7485172507b0990a22dd
|
||||
:commit: 6dd55895b523e887c633bd31b9eedbfb515b8a5d
|
||||
:git: https://github.com/WhisperSystems/SignalProtocolKit.git
|
||||
Curve25519Kit:
|
||||
:commit: 03a19c80aafc10a3464f0c086b1eb38239c507ac
|
||||
:git: https://github.com/WhisperSystems/Curve25519Kit
|
||||
HKDFKit:
|
||||
:commit: d2e2e50990e88537d6c4e38cc32a6f6debd83446
|
||||
:git: https://github.com/WhisperSystems/HKDFKit.git
|
||||
JSQMessagesViewController:
|
||||
:commit: 7d9e7562c67f3c7c71962bf9fe15c1695333c92f
|
||||
:git: https://github.com/WhisperSystems/JSQMessagesViewController.git
|
||||
OpenSSL:
|
||||
:commit: 6abae10151c621c523fc7d9faf9d1f7dac1da669
|
||||
:git: https://github.com/WhisperSystems/OpenSSL-Pod
|
||||
SocketRocket:
|
||||
:commit: 28035e1a98a427853e4038ff1b70479fa8374cfa
|
||||
:git: https://github.com/facebook/SocketRocket.git
|
||||
|
||||
SPEC CHECKSUMS:
|
||||
25519: dc4bad7e2dbcbf1efa121068a705a44cd98c80fc
|
||||
AFNetworking: 5e0e199f73d8626b11e79750991f5d173d1f8b67
|
||||
ATAppUpdater: a9f7027060959d47e58733d3b48f6b9a28cb8de1
|
||||
AxolotlKit: ba0ab24b879d34559a68e1270b079cc9bd7b3417
|
||||
AxolotlKit: 7cfd2e71329b8dc398734e95b936450a2081fd60
|
||||
CocoaLumberjack: aa9dcab71bdf9eaf2a63bbd9ddc87863efe45457
|
||||
HKDFKit: c058305d6f64b84f28c50bd7aa89574625bcb62a
|
||||
Curve25519Kit: 76d0859ecb34704f7732847812363f83b23a6a59
|
||||
GRKOpenSSLFramework: 39829d7b30f95133301f44514d4d7c070961e9f8
|
||||
HKDFKit: 3fb424060aaf69795bc8ab34c4c233b98dc6303b
|
||||
JSQMessagesViewController: 39fed975e3c9f8eba7292071e29eeb541d105e66
|
||||
JSQSystemSoundPlayer: c5850e77a4363ffd374cd851154b9af93264ed8d
|
||||
libPhoneNumber-iOS: f721ae4d5854bce60934f9fb9b0b28e8e68913cb
|
||||
Mantle: 2fa750afa478cd625a94230fbf1c13462f29395b
|
||||
OpenSSL: 336ec50b5bc20b52dcd16cb1dd196f617d841e49
|
||||
ProtocolBuffers: d509225eb2ea43d9582a59e94348fcf86e2abd65
|
||||
PureLayout: 4d550abe49a94f24c2808b9b95db9131685fe4cd
|
||||
Reachability: 33e18b67625424e47b6cde6d202dce689ad7af96
|
||||
SAMKeychain: 483e1c9f32984d50ca961e26818a534283b4cd5c
|
||||
SignalServiceKit: b84d80de0bfd5f863994a1ce1f5b742b91c46cb5
|
||||
SignalServiceKit: c56f5dfdfa2e77c26b231c351c1ba458e7b94541
|
||||
SocketRocket: dbb1554b8fc288ef8ef370d6285aeca7361be31e
|
||||
SQLCipher: 43d12c0eb9c57fb438749618fc3ce0065509a559
|
||||
TwistedOakCollapsingFutures: f359b90f203e9ab13dfb92c9ff41842a7fe1cd0c
|
||||
|
@ -178,6 +188,6 @@ SPEC CHECKSUMS:
|
|||
YapDatabase: cd911121580ff16675f65ad742a9eb0ab4d9e266
|
||||
YYImage: 1e1b62a9997399593e4b9c4ecfbbabbf1d3f3b54
|
||||
|
||||
PODFILE CHECKSUM: f4fae6cdf4f646cae494d89c98fe225f455836fe
|
||||
PODFILE CHECKSUM: 8e42a06de2d254e448580cfd6212545739de62d6
|
||||
|
||||
COCOAPODS: 1.3.1
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
objects = {
|
||||
|
||||
/* Begin PBXBuildFile section */
|
||||
1C08FF1D425152263FA4A34F /* libPods-SignalShareExtension.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 1887AA0D47FC18AB4F5B9189 /* libPods-SignalShareExtension.a */; };
|
||||
2AE2882E4C2B96BFFF9EE27C /* Pods_SignalShareExtension.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0F94C85CB0B235DA37F68ED0 /* Pods_SignalShareExtension.framework */; };
|
||||
3400C7931EAF89CD008A8584 /* SendExternalFileViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 3400C7911EAF89CD008A8584 /* SendExternalFileViewController.m */; };
|
||||
3400C7961EAF99F4008A8584 /* SelectThreadViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 3400C7951EAF99F4008A8584 /* SelectThreadViewController.m */; };
|
||||
3400C7991EAFB772008A8584 /* ThreadViewHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = 3400C7981EAFB772008A8584 /* ThreadViewHelper.m */; };
|
||||
|
@ -269,7 +269,6 @@
|
|||
45FBC5C91DF8575700E9B410 /* CallKitCallManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 45FBC59A1DF8575700E9B410 /* CallKitCallManager.swift */; };
|
||||
45FBC5D11DF8592E00E9B410 /* SignalCall.swift in Sources */ = {isa = PBXBuildFile; fileRef = 45FBC5D01DF8592E00E9B410 /* SignalCall.swift */; };
|
||||
45FBC5D21DF8592E00E9B410 /* SignalCall.swift in Sources */ = {isa = PBXBuildFile; fileRef = 45FBC5D01DF8592E00E9B410 /* SignalCall.swift */; };
|
||||
56EAA22E1901718F78C6DBB4 /* libPods-SignalTests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 1B5E7D6C9007F5E5761D79DD /* libPods-SignalTests.a */; };
|
||||
70377AAB1918450100CAF501 /* MobileCoreServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 70377AAA1918450100CAF501 /* MobileCoreServices.framework */; };
|
||||
7038632718F70C0700D4A43F /* CryptoTools.m in Sources */ = {isa = PBXBuildFile; fileRef = 7038632418F70C0700D4A43F /* CryptoTools.m */; };
|
||||
768A1A2B17FC9CD300E00ED8 /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 768A1A2A17FC9CD300E00ED8 /* libz.dylib */; };
|
||||
|
@ -363,6 +362,8 @@
|
|||
B90418E6183E9DD40038554A /* DateUtil.m in Sources */ = {isa = PBXBuildFile; fileRef = B90418E5183E9DD40038554A /* DateUtil.m */; };
|
||||
B97940271832BD2400BD66CB /* UIUtil.m in Sources */ = {isa = PBXBuildFile; fileRef = B97940261832BD2400BD66CB /* UIUtil.m */; };
|
||||
B9EB5ABD1884C002007CBB57 /* MessageUI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B9EB5ABC1884C002007CBB57 /* MessageUI.framework */; };
|
||||
BFF3FB9730634F37D25903F4 /* Pods_Signal.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D17BB5C25D615AB49813100C /* Pods_Signal.framework */; };
|
||||
CC875800737563D6891B741D /* Pods_SignalTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 748A5CAEDD7C919FC64C6807 /* Pods_SignalTests.framework */; };
|
||||
D202868116DBE0E7009068E9 /* CFNetwork.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D2AEACDB16C426DA00C364C0 /* CFNetwork.framework */; };
|
||||
D202868216DBE0F4009068E9 /* SystemConfiguration.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D2179CFD16BB0B480006F3AB /* SystemConfiguration.framework */; };
|
||||
D202868316DBE0FC009068E9 /* CoreTelephony.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D2179CFB16BB0B3A0006F3AB /* CoreTelephony.framework */; };
|
||||
|
@ -383,7 +384,6 @@
|
|||
E1370BE418A0686C00826894 /* outring.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = E18AB40B18A05754001A532A /* outring.mp3 */; };
|
||||
E1370BE518A0686C00826894 /* r.caf in Resources */ = {isa = PBXBuildFile; fileRef = E18AB40C18A05754001A532A /* r.caf */; };
|
||||
E1370BE618A0686C00826894 /* sonarping.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = E18AB40D18A05754001A532A /* sonarping.mp3 */; };
|
||||
E32B0699162419B7046BC643 /* libPods-Signal.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 7DB8EE72F8522189E3E2CB45 /* libPods-Signal.a */; };
|
||||
EF764C351DB67CC5000D9A87 /* UIViewController+Permissions.m in Sources */ = {isa = PBXBuildFile; fileRef = EF764C341DB67CC5000D9A87 /* UIViewController+Permissions.m */; };
|
||||
FC3BD9881A30A790005B96BB /* Social.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FC3BD9871A30A790005B96BB /* Social.framework */; };
|
||||
FC5CDF391A3393DD00B47253 /* error_white@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = FC5CDF371A3393DD00B47253 /* error_white@2x.png */; };
|
||||
|
@ -445,8 +445,7 @@
|
|||
/* End PBXCopyFilesBuildPhase section */
|
||||
|
||||
/* Begin PBXFileReference section */
|
||||
1887AA0D47FC18AB4F5B9189 /* libPods-SignalShareExtension.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-SignalShareExtension.a"; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
1B5E7D6C9007F5E5761D79DD /* libPods-SignalTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-SignalTests.a"; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
0F94C85CB0B235DA37F68ED0 /* Pods_SignalShareExtension.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_SignalShareExtension.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
1C93CF3971B64E8B6C1F9AC1 /* Pods-SignalShareExtension.test.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-SignalShareExtension.test.xcconfig"; path = "Pods/Target Support Files/Pods-SignalShareExtension/Pods-SignalShareExtension.test.xcconfig"; sourceTree = "<group>"; };
|
||||
1CE3CD5C23334683BDD3D78C /* Pods-Signal.test.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Signal.test.xcconfig"; path = "Pods/Target Support Files/Pods-Signal/Pods-Signal.test.xcconfig"; sourceTree = "<group>"; };
|
||||
34009B651EC4CB11001D95D1 /* OWSMath.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OWSMath.h; sourceTree = "<group>"; };
|
||||
|
@ -788,6 +787,7 @@
|
|||
70377AAA1918450100CAF501 /* MobileCoreServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MobileCoreServices.framework; path = System/Library/Frameworks/MobileCoreServices.framework; sourceTree = SDKROOT; };
|
||||
7038632318F70C0700D4A43F /* CryptoTools.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CryptoTools.h; sourceTree = "<group>"; };
|
||||
7038632418F70C0700D4A43F /* CryptoTools.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CryptoTools.m; sourceTree = "<group>"; };
|
||||
748A5CAEDD7C919FC64C6807 /* Pods_SignalTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_SignalTests.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
768A1A2A17FC9CD300E00ED8 /* libz.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libz.dylib; path = usr/lib/libz.dylib; sourceTree = SDKROOT; };
|
||||
76C87F18181EFCE600C4ACAB /* MediaPlayer.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MediaPlayer.framework; path = System/Library/Frameworks/MediaPlayer.framework; sourceTree = SDKROOT; };
|
||||
76EB03C218170B33006006FC /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = "<group>"; };
|
||||
|
@ -811,7 +811,6 @@
|
|||
76EB04FB18170B33006006FC /* Util.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Util.h; sourceTree = "<group>"; };
|
||||
76EB052E18170B33006006FC /* ContactTableViewCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ContactTableViewCell.h; sourceTree = "<group>"; };
|
||||
76EB052F18170B33006006FC /* ContactTableViewCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ContactTableViewCell.m; sourceTree = "<group>"; };
|
||||
7DB8EE72F8522189E3E2CB45 /* libPods-Signal.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-Signal.a"; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
8981C8F64D94D3C52EB67A2C /* Pods-SignalTests.test.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-SignalTests.test.xcconfig"; path = "Pods/Target Support Files/Pods-SignalTests/Pods-SignalTests.test.xcconfig"; sourceTree = "<group>"; };
|
||||
954AEE681DF33D32002E5410 /* ContactsPickerTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ContactsPickerTest.swift; sourceTree = "<group>"; };
|
||||
A11CD70C17FA230600A2D1B1 /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; };
|
||||
|
@ -915,6 +914,7 @@
|
|||
B97940251832BD2400BD66CB /* UIUtil.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UIUtil.h; sourceTree = "<group>"; };
|
||||
B97940261832BD2400BD66CB /* UIUtil.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UIUtil.m; sourceTree = "<group>"; };
|
||||
B9EB5ABC1884C002007CBB57 /* MessageUI.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MessageUI.framework; path = System/Library/Frameworks/MessageUI.framework; sourceTree = SDKROOT; };
|
||||
D17BB5C25D615AB49813100C /* Pods_Signal.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Signal.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
D2179CFB16BB0B3A0006F3AB /* CoreTelephony.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreTelephony.framework; path = System/Library/Frameworks/CoreTelephony.framework; sourceTree = SDKROOT; };
|
||||
D2179CFD16BB0B480006F3AB /* SystemConfiguration.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SystemConfiguration.framework; path = System/Library/Frameworks/SystemConfiguration.framework; sourceTree = SDKROOT; };
|
||||
D221A089169C9E5E00537ABF /* Signal.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Signal.app; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
|
@ -958,7 +958,7 @@
|
|||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
453518A21FC63E2900210559 /* SignalMessaging.framework in Frameworks */,
|
||||
1C08FF1D425152263FA4A34F /* libPods-SignalShareExtension.a in Frameworks */,
|
||||
2AE2882E4C2B96BFFF9EE27C /* Pods_SignalShareExtension.framework in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
|
@ -1000,7 +1000,7 @@
|
|||
D221A090169C9E5E00537ABF /* Foundation.framework in Frameworks */,
|
||||
D221A0E8169DFFC500537ABF /* AVFoundation.framework in Frameworks */,
|
||||
D24B5BD5169F568C00681372 /* AudioToolbox.framework in Frameworks */,
|
||||
E32B0699162419B7046BC643 /* libPods-Signal.a in Frameworks */,
|
||||
BFF3FB9730634F37D25903F4 /* Pods_Signal.framework in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
|
@ -1023,7 +1023,7 @@
|
|||
D202868116DBE0E7009068E9 /* CFNetwork.framework in Frameworks */,
|
||||
D221A0AD169C9E5F00537ABF /* UIKit.framework in Frameworks */,
|
||||
D221A0AE169C9E5F00537ABF /* Foundation.framework in Frameworks */,
|
||||
56EAA22E1901718F78C6DBB4 /* libPods-SignalTests.a in Frameworks */,
|
||||
CC875800737563D6891B741D /* Pods_SignalTests.framework in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
|
@ -1830,9 +1830,9 @@
|
|||
D221A08D169C9E5E00537ABF /* UIKit.framework */,
|
||||
D221A08F169C9E5E00537ABF /* Foundation.framework */,
|
||||
D221A091169C9E5E00537ABF /* CoreGraphics.framework */,
|
||||
7DB8EE72F8522189E3E2CB45 /* libPods-Signal.a */,
|
||||
1B5E7D6C9007F5E5761D79DD /* libPods-SignalTests.a */,
|
||||
1887AA0D47FC18AB4F5B9189 /* libPods-SignalShareExtension.a */,
|
||||
D17BB5C25D615AB49813100C /* Pods_Signal.framework */,
|
||||
0F94C85CB0B235DA37F68ED0 /* Pods_SignalShareExtension.framework */,
|
||||
748A5CAEDD7C919FC64C6807 /* Pods_SignalTests.framework */,
|
||||
);
|
||||
name = Frameworks;
|
||||
sourceTree = "<group>";
|
||||
|
@ -2327,9 +2327,54 @@
|
|||
files = (
|
||||
);
|
||||
inputPaths = (
|
||||
"${SRCROOT}/Pods/Target Support Files/Pods-Signal/Pods-Signal-frameworks.sh",
|
||||
"${BUILT_PRODUCTS_DIR}/AFNetworking/AFNetworking.framework",
|
||||
"${BUILT_PRODUCTS_DIR}/ATAppUpdater/ATAppUpdater.framework",
|
||||
"${BUILT_PRODUCTS_DIR}/AxolotlKit/AxolotlKit.framework",
|
||||
"${BUILT_PRODUCTS_DIR}/CocoaLumberjack/CocoaLumberjack.framework",
|
||||
"${BUILT_PRODUCTS_DIR}/Curve25519Kit/Curve25519Kit.framework",
|
||||
"${PODS_ROOT}/GRKOpenSSLFramework/OpenSSL-iOS/bin/openssl.framework",
|
||||
"${BUILT_PRODUCTS_DIR}/HKDFKit/HKDFKit.framework",
|
||||
"${BUILT_PRODUCTS_DIR}/JSQMessagesViewController/JSQMessagesViewController.framework",
|
||||
"${BUILT_PRODUCTS_DIR}/JSQSystemSoundPlayer/JSQSystemSoundPlayer.framework",
|
||||
"${BUILT_PRODUCTS_DIR}/Mantle/Mantle.framework",
|
||||
"${BUILT_PRODUCTS_DIR}/ProtocolBuffers/ProtocolBuffers.framework",
|
||||
"${BUILT_PRODUCTS_DIR}/PureLayout/PureLayout.framework",
|
||||
"${BUILT_PRODUCTS_DIR}/Reachability/Reachability.framework",
|
||||
"${BUILT_PRODUCTS_DIR}/SAMKeychain/SAMKeychain.framework",
|
||||
"${BUILT_PRODUCTS_DIR}/SQLCipher/SQLCipher.framework",
|
||||
"${BUILT_PRODUCTS_DIR}/SignalServiceKit/SignalServiceKit.framework",
|
||||
"${BUILT_PRODUCTS_DIR}/SocketRocket/SocketRocket.framework",
|
||||
"${BUILT_PRODUCTS_DIR}/TwistedOakCollapsingFutures/TwistedOakCollapsingFutures.framework",
|
||||
"${BUILT_PRODUCTS_DIR}/UnionFind/UnionFind.framework",
|
||||
"${BUILT_PRODUCTS_DIR}/YYImage/YYImage.framework",
|
||||
"${BUILT_PRODUCTS_DIR}/YapDatabase/YapDatabase.framework",
|
||||
"${BUILT_PRODUCTS_DIR}/libPhoneNumber-iOS/libPhoneNumber_iOS.framework",
|
||||
);
|
||||
name = "[CP] Embed Pods Frameworks";
|
||||
outputPaths = (
|
||||
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/AFNetworking.framework",
|
||||
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/ATAppUpdater.framework",
|
||||
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/AxolotlKit.framework",
|
||||
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CocoaLumberjack.framework",
|
||||
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Curve25519Kit.framework",
|
||||
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/openssl.framework",
|
||||
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/HKDFKit.framework",
|
||||
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/JSQMessagesViewController.framework",
|
||||
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/JSQSystemSoundPlayer.framework",
|
||||
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Mantle.framework",
|
||||
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/ProtocolBuffers.framework",
|
||||
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/PureLayout.framework",
|
||||
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Reachability.framework",
|
||||
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SAMKeychain.framework",
|
||||
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SQLCipher.framework",
|
||||
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SignalServiceKit.framework",
|
||||
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SocketRocket.framework",
|
||||
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/TwistedOakCollapsingFutures.framework",
|
||||
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/UnionFind.framework",
|
||||
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/YYImage.framework",
|
||||
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/YapDatabase.framework",
|
||||
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/libPhoneNumber_iOS.framework",
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
shellPath = /bin/sh;
|
||||
|
@ -2846,11 +2891,7 @@
|
|||
"DEBUG=1",
|
||||
"$(inherited)",
|
||||
);
|
||||
"GCC_PREPROCESSOR_DEFINITIONS[arch=*]" = (
|
||||
"DEBUG=1",
|
||||
"$(inherited)",
|
||||
"SSK_BUILDING_FOR_TESTS=1",
|
||||
);
|
||||
"GCC_PREPROCESSOR_DEFINITIONS[arch=*]" = "DEBUG=1 $(inherited) SSK_BUILDING_FOR_TESTS=1";
|
||||
GCC_TREAT_IMPLICIT_FUNCTION_DECLARATIONS_AS_ERRORS = YES;
|
||||
GCC_TREAT_INCOMPATIBLE_POINTER_TYPE_WARNINGS_AS_ERRORS = YES;
|
||||
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
||||
|
|
|
@ -28,8 +28,8 @@
|
|||
buildForAnalyzing = "YES">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "A4F93E781EBD3FAB950273BEB17004E8"
|
||||
BuildableName = "libSignalServiceKit.a"
|
||||
BlueprintIdentifier = "61D54E7EB87D07B55A29BE2A5A7F463A"
|
||||
BuildableName = "SignalServiceKit.framework"
|
||||
BlueprintName = "SignalServiceKit"
|
||||
ReferencedContainer = "container:Pods/Pods.xcodeproj">
|
||||
</BuildableReference>
|
||||
|
|
|
@ -4,6 +4,7 @@
|
|||
|
||||
import Foundation
|
||||
import PromiseKit
|
||||
import SignalServiceKit
|
||||
|
||||
@objc(OWSMessageFetcherJob)
|
||||
class MessageFetcherJob: NSObject {
|
||||
|
|
|
@ -4,6 +4,7 @@
|
|||
|
||||
import Foundation
|
||||
import PromiseKit
|
||||
import SignalServiceKit
|
||||
|
||||
@objc(OWSSessionResetJob)
|
||||
class SessionResetJob: NSObject {
|
||||
|
|
|
@ -4,6 +4,7 @@
|
|||
|
||||
import Foundation
|
||||
import PromiseKit
|
||||
import SignalServiceKit
|
||||
|
||||
public extension MessageSender {
|
||||
|
||||
|
|
|
@ -4,6 +4,7 @@
|
|||
|
||||
import Foundation
|
||||
import PromiseKit
|
||||
import SignalServiceKit
|
||||
|
||||
/**
|
||||
* Signal is actually two services - textSecure for messages and red phone (for calls).
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
//
|
||||
|
||||
import Foundation
|
||||
import SignalServiceKit
|
||||
|
||||
let CompareSafetyNumbersActivityType = "org.whispersystems.signal.activity.CompareSafetyNumbers"
|
||||
|
||||
|
|
|
@ -4,6 +4,7 @@
|
|||
|
||||
import Foundation
|
||||
import MobileCoreServices
|
||||
import SignalServiceKit
|
||||
|
||||
enum SignalAttachmentError: Error {
|
||||
case missingData
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
//
|
||||
|
||||
import PromiseKit
|
||||
import SignalServiceKit
|
||||
|
||||
@objc(OWSSyncPushTokensJob)
|
||||
class SyncPushTokensJob: NSObject {
|
||||
|
|
|
@ -4,6 +4,7 @@
|
|||
|
||||
import Foundation
|
||||
import PromiseKit
|
||||
import SignalServiceKit
|
||||
|
||||
/**
|
||||
* Used to distribute our profile key to legacy linked devices, newly linked devices will have our profile key as part of provisioning.
|
||||
|
|
|
@ -3,6 +3,8 @@
|
|||
//
|
||||
|
||||
import Foundation
|
||||
import JSQMessagesViewController
|
||||
import SignalServiceKit
|
||||
|
||||
@objc
|
||||
class OWSMessagesBubbleImageFactory: NSObject {
|
||||
|
|
|
@ -4,6 +4,7 @@
|
|||
|
||||
import Foundation
|
||||
import PromiseKit
|
||||
import SignalServiceKit
|
||||
|
||||
@objc
|
||||
class ProfileFetcherJob: NSObject {
|
||||
|
|
|
@ -48,7 +48,7 @@
|
|||
#import <JSQMessagesViewController/JSQMessagesBubbleImageFactory.h>
|
||||
#import <JSQMessagesViewController/JSQMessagesMediaViewBubbleImageMasker.h>
|
||||
#import <JSQMessagesViewController/UIColor+JSQMessages.h>
|
||||
#import <JSQSystemSoundPlayer.h>
|
||||
#import <JSQSystemSoundPlayer/JSQSystemSoundPlayer.h>
|
||||
#import <PureLayout/PureLayout.h>
|
||||
#import <Reachability/Reachability.h>
|
||||
#import <SignalServiceKit/AppVersion.h>
|
||||
|
|
|
@ -5,6 +5,7 @@
|
|||
import Foundation
|
||||
import WebRTC
|
||||
import PromiseKit
|
||||
import SignalServiceKit
|
||||
|
||||
// TODO: Add category so that button handlers can be defined where button is created.
|
||||
// TODO: Ensure buttons enabled & disabled as necessary.
|
||||
|
|
|
@ -9,6 +9,7 @@
|
|||
|
||||
import UIKit
|
||||
import Contacts
|
||||
import SignalServiceKit
|
||||
|
||||
@available(iOS 9.0, *)
|
||||
public protocol ContactsPickerDelegate {
|
||||
|
|
|
@ -63,7 +63,7 @@
|
|||
#import <JSQMessagesViewController/JSQMessagesTimestampFormatter.h>
|
||||
#import <JSQMessagesViewController/JSQSystemSoundPlayer+JSQMessages.h>
|
||||
#import <JSQMessagesViewController/UIColor+JSQMessages.h>
|
||||
#import <JSQSystemSoundPlayer.h>
|
||||
#import <JSQSystemSoundPlayer/JSQSystemSoundPlayer.h>
|
||||
#import <MediaPlayer/MediaPlayer.h>
|
||||
#import <MobileCoreServices/UTCoreTypes.h>
|
||||
#import <SignalServiceKit/ContactsUpdater.h>
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
//
|
||||
|
||||
import Foundation
|
||||
import SignalServiceKit
|
||||
|
||||
class DebugUICalling: DebugUIPage {
|
||||
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
#import "OWSTableViewController.h"
|
||||
#import "Signal-Swift.h"
|
||||
#import "ThreadUtil.h"
|
||||
#import <25519/Randomness.h>
|
||||
#import <Curve25519Kit/Randomness.h>
|
||||
#import <AFNetworking/AFNetworking.h>
|
||||
#import <AxolotlKit/PreKeyBundle.h>
|
||||
#import <SignalServiceKit/OWSBatchMessageProcessor.h>
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
//
|
||||
|
||||
import Foundation
|
||||
import SignalServiceKit
|
||||
|
||||
class DebugUIProfile: DebugUIPage {
|
||||
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
#import "OWSTableViewController.h"
|
||||
#import "Signal-Swift.h"
|
||||
#import "ThreadUtil.h"
|
||||
#import <25519/Randomness.h>
|
||||
#import <Curve25519Kit/Randomness.h>
|
||||
#import <AFNetworking/AFNetworking.h>
|
||||
#import <AxolotlKit/PreKeyBundle.h>
|
||||
#import <SignalServiceKit/OWSBatchMessageProcessor.h>
|
||||
|
|
|
@ -4,6 +4,8 @@
|
|||
|
||||
import Foundation
|
||||
import PromiseKit
|
||||
import SignalServiceKit
|
||||
import YYImage
|
||||
|
||||
class GifPickerCell: UICollectionViewCell {
|
||||
let TAG = "[GifPickerCell]"
|
||||
|
|
|
@ -3,6 +3,8 @@
|
|||
//
|
||||
|
||||
import Foundation
|
||||
import SignalServiceKit
|
||||
import Reachability
|
||||
|
||||
@objc
|
||||
protocol GifPickerViewControllerDelegate: class {
|
||||
|
|
|
@ -6,6 +6,7 @@ import Foundation
|
|||
import Social
|
||||
import ContactsUI
|
||||
import MessageUI
|
||||
import SignalServiceKit
|
||||
|
||||
@objc(OWSInviteFlow)
|
||||
class InviteFlow: NSObject, MFMessageComposeViewControllerDelegate, MFMailComposeViewControllerDelegate, ContactsPickerDelegate {
|
||||
|
|
|
@ -4,6 +4,8 @@
|
|||
|
||||
import Foundation
|
||||
import MediaPlayer
|
||||
import YYImage
|
||||
import SignalServiceKit
|
||||
|
||||
@objc
|
||||
enum MediaMessageViewMode: UInt {
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
//
|
||||
|
||||
import Foundation
|
||||
import SignalServiceKit
|
||||
|
||||
@objc
|
||||
enum MessageMetadataViewMode: UInt {
|
||||
|
|
|
@ -4,6 +4,7 @@
|
|||
|
||||
import Foundation
|
||||
import MediaPlayer
|
||||
import SignalServiceKit
|
||||
|
||||
// A modal view that be used during blocking interactions (e.g. waiting on response from
|
||||
// service or on the completion of a long-running local operation).
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
#import "UIUtil.h"
|
||||
#import "UIView+OWS.h"
|
||||
#import "UpdateGroupViewController.h"
|
||||
#import <25519/Curve25519.h>
|
||||
#import <Curve25519Kit/Curve25519.h>
|
||||
#import <SignalServiceKit/NSDate+OWS.h>
|
||||
#import <SignalServiceKit/OWSDisappearingConfigurationUpdateInfoMessage.h>
|
||||
#import <SignalServiceKit/OWSDisappearingMessagesConfiguration.h>
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
//
|
||||
|
||||
import Foundation
|
||||
import SignalServiceKit
|
||||
|
||||
class SafetyNumberConfirmationAlert: NSObject {
|
||||
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
//
|
||||
|
||||
import Foundation
|
||||
import SignalServiceKit
|
||||
|
||||
@objc enum MessageRecipientStatus: Int {
|
||||
case uploading
|
||||
|
|
|
@ -4,6 +4,7 @@
|
|||
|
||||
import Foundation
|
||||
import AVFoundation
|
||||
import SignalServiceKit
|
||||
|
||||
public let CallAudioServiceSessionChanged = Notification.Name("CallAudioServiceSessionChanged")
|
||||
|
||||
|
|
|
@ -5,6 +5,7 @@
|
|||
import Foundation
|
||||
import PromiseKit
|
||||
import WebRTC
|
||||
import SignalServiceKit
|
||||
|
||||
/**
|
||||
* `CallService` is a global singleton that manages the state of WebRTC-backed Signal Calls
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
//
|
||||
|
||||
import Foundation
|
||||
import SignalServiceKit
|
||||
|
||||
/**
|
||||
* Manage call related UI in a pre-CallKit world.
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
//
|
||||
|
||||
import Foundation
|
||||
import SignalServiceKit
|
||||
|
||||
/**
|
||||
* Creates an outbound call via WebRTC.
|
||||
|
|
|
@ -5,6 +5,7 @@
|
|||
import Foundation
|
||||
import PromiseKit
|
||||
import WebRTC
|
||||
import SignalServiceKit
|
||||
|
||||
// HACK - Seeing crazy SEGFAULTs on iOS9 when accessing these objc externs.
|
||||
// iOS10 seems unaffected. Reproducible for ~1 in 3 calls.
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
//
|
||||
|
||||
import Foundation
|
||||
import SignalServiceKit
|
||||
|
||||
enum CallState: String {
|
||||
case idle
|
||||
|
|
|
@ -4,6 +4,7 @@
|
|||
|
||||
import UIKit
|
||||
import CallKit
|
||||
import SignalServiceKit
|
||||
|
||||
/**
|
||||
* Requests actions from CallKit
|
||||
|
|
|
@ -6,6 +6,7 @@ import Foundation
|
|||
import UIKit
|
||||
import CallKit
|
||||
import AVFoundation
|
||||
import SignalServiceKit
|
||||
|
||||
/**
|
||||
* Connects user interface to the CallService using CallKit.
|
||||
|
|
|
@ -5,6 +5,7 @@
|
|||
import Foundation
|
||||
import PromiseKit
|
||||
import CallKit
|
||||
import SignalServiceKit
|
||||
import WebRTC
|
||||
|
||||
protocol CallUIAdaptee {
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
//
|
||||
|
||||
import Foundation
|
||||
import SignalServiceKit
|
||||
|
||||
@objc(OWSWebRTCCallMessageHandler)
|
||||
class WebRTCCallMessageHandler: NSObject, OWSCallMessageHandler {
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
// Copyright (c) 2017 Open Whisper Systems. All rights reserved.
|
||||
//
|
||||
|
||||
#import "Contact.h"
|
||||
#import <SignalServiceKit/Contact.h>
|
||||
#import <SignalServiceKit/ContactsManagerProtocol.h>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
|
|
@ -5,6 +5,7 @@
|
|||
import Foundation
|
||||
import Contacts
|
||||
import ContactsUI
|
||||
import SignalServiceKit
|
||||
|
||||
enum Result<T, ErrorType> {
|
||||
case success(T)
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
//
|
||||
|
||||
#import "OWSPreferences.h"
|
||||
#import "TSStorageHeaders.h"
|
||||
#import <SignalServiceKit/TSStorageHeaders.h>
|
||||
|
||||
/**
|
||||
*
|
||||
|
|
|
@ -5,7 +5,6 @@
|
|||
#import "Environment.h"
|
||||
#import "ConversationViewController.h"
|
||||
#import "DebugLogger.h"
|
||||
#import "FunctionalUtil.h"
|
||||
#import "HomeViewController.h"
|
||||
#import "Signal-Swift.h"
|
||||
#import "SignalKeyingStorage.h"
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
//
|
||||
|
||||
import Foundation
|
||||
import SignalServiceKit
|
||||
|
||||
enum ExperienceUpgradeId: String {
|
||||
case videoCalling = "001",
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
//
|
||||
|
||||
import Foundation
|
||||
import SignalServiceKit
|
||||
|
||||
class ExperienceUpgrade: TSYapDatabaseObject {
|
||||
let title: String
|
||||
|
|
|
@ -4,6 +4,7 @@
|
|||
|
||||
import Foundation
|
||||
import PromiseKit
|
||||
import SignalServiceKit
|
||||
|
||||
class OWS106EnsureProfileComplete: OWSDatabaseMigration {
|
||||
|
||||
|
|
|
@ -5,6 +5,7 @@
|
|||
import Foundation
|
||||
import PromiseKit
|
||||
import PushKit
|
||||
import SignalServiceKit
|
||||
|
||||
public enum PushRegistrationError: Error {
|
||||
case assertionError(description: String)
|
||||
|
|
|
@ -4,6 +4,7 @@
|
|||
|
||||
import Foundation
|
||||
import ObjectiveC
|
||||
import SignalServiceKit
|
||||
|
||||
// Stills should be loaded before full GIFs.
|
||||
enum GiphyRequestPriority {
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
//
|
||||
|
||||
import Foundation
|
||||
import SignalServiceKit
|
||||
|
||||
// This entity has responsibility for blocking the device from sleeping if
|
||||
// certain behaviors (e.g. recording or playing voice messages) are in progress.
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
//
|
||||
|
||||
import Foundation
|
||||
import SignalServiceKit
|
||||
|
||||
func FormatAnalyticsLocation(file: String, function: String) -> NSString {
|
||||
return "\((file as NSString).lastPathComponent):\(function)" as NSString
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
// Copyright (c) 2017 Open Whisper Systems. All rights reserved.
|
||||
//
|
||||
|
||||
#import "MIMETypeUtil.h"
|
||||
#import <SignalServiceKit/MIMETypeUtil.h>
|
||||
#import "UIColor+OWS.h"
|
||||
#import "UIFont+OWS.h"
|
||||
#import "UIImage+OWS.h"
|
||||
|
|
|
@ -3,7 +3,6 @@
|
|||
//
|
||||
|
||||
#import "DateUtil.h"
|
||||
#import "FunctionalUtil.h"
|
||||
#import "NumberUtil.h"
|
||||
#import "Operation.h"
|
||||
#import "StringUtil.h"
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
//
|
||||
|
||||
import Foundation
|
||||
import SignalServiceKit
|
||||
|
||||
class AttachmentPointerView: UIView {
|
||||
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
//
|
||||
|
||||
import UIKit
|
||||
import SignalServiceKit
|
||||
|
||||
@objc class AudioProgressView: UIView {
|
||||
|
||||
|
|
|
@ -4,6 +4,7 @@
|
|||
|
||||
import UIKit
|
||||
import Contacts
|
||||
import SignalServiceKit
|
||||
|
||||
@available(iOS 9.0, *)
|
||||
class ContactCell: UITableViewCell {
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
//
|
||||
|
||||
import UIKit
|
||||
import SignalServiceKit
|
||||
|
||||
@objc class GroupTableViewCell: UITableViewCell {
|
||||
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
//
|
||||
|
||||
import Foundation
|
||||
import SignalServiceKit
|
||||
|
||||
@objc class OWSFlatButton: UIView {
|
||||
let TAG = "[OWSFlatButton]"
|
||||
|
|
|
@ -39,7 +39,7 @@ An Objective-C library for communicating with the Signal messaging service.
|
|||
s.prefix_header_file = 'SignalServiceKit/src/TSPrefix.h'
|
||||
s.xcconfig = { 'OTHER_CFLAGS' => '$(inherited) -DSQLITE_HAS_CODEC' }
|
||||
|
||||
s.dependency '25519'
|
||||
s.dependency 'Curve25519Kit'
|
||||
s.dependency 'CocoaLumberjack'
|
||||
s.dependency 'AFNetworking'
|
||||
s.dependency 'AxolotlKit'
|
||||
|
@ -47,7 +47,9 @@ An Objective-C library for communicating with the Signal messaging service.
|
|||
s.dependency 'YapDatabase/SQLCipher', '~> 2.9.3'
|
||||
s.dependency 'SocketRocket'
|
||||
s.dependency 'libPhoneNumber-iOS'
|
||||
s.dependency 'OpenSSL'
|
||||
# TODO use framework compatible OpenSSL
|
||||
#s.dependency 'OpenSSL'
|
||||
s.dependency 'GRKOpenSSLFramework'
|
||||
s.dependency 'SAMKeychain'
|
||||
s.dependency 'TwistedOakCollapsingFutures'
|
||||
s.dependency 'Reachability'
|
||||
|
|
|
@ -4,11 +4,11 @@
|
|||
|
||||
#import "PhoneNumber.h"
|
||||
#import "PhoneNumberUtil.h"
|
||||
#import <libPhoneNumber-iOS/NBAsYouTypeFormatter.h>
|
||||
#import <libPhoneNumber-iOS/NBMetadataHelper.h>
|
||||
#import <libPhoneNumber-iOS/NBPhoneMetaData.h>
|
||||
#import <libPhoneNumber-iOS/NBPhoneNumber.h>
|
||||
#import <libPhoneNumber-iOS/NBPhoneNumberUtil.h>
|
||||
#import <libPhoneNumber_iOS/NBAsYouTypeFormatter.h>
|
||||
#import <libPhoneNumber_iOS/NBMetadataHelper.h>
|
||||
#import <libPhoneNumber_iOS/NBPhoneMetaData.h>
|
||||
#import <libPhoneNumber_iOS/NBPhoneNumber.h>
|
||||
#import <libPhoneNumber_iOS/NBPhoneNumberUtil.h>
|
||||
|
||||
static NSString *const RPDefaultsKeyPhoneNumberString = @"RPDefaultsKeyPhoneNumberString";
|
||||
static NSString *const RPDefaultsKeyPhoneNumberCanonical = @"RPDefaultsKeyPhoneNumberCanonical";
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
// Copyright (c) 2017 Open Whisper Systems. All rights reserved.
|
||||
//
|
||||
|
||||
#import "NBPhoneNumberUtil.h"
|
||||
#import <libPhoneNumber_iOS/NBPhoneNumberUtil.h>
|
||||
#import "PhoneNumber.h"
|
||||
|
||||
@interface PhoneNumberUtil : NSObject
|
||||
|
|
|
@ -4,9 +4,9 @@
|
|||
|
||||
#import "PhoneNumberUtil.h"
|
||||
#import "ContactsManagerProtocol.h"
|
||||
#import "FunctionalUtil.h"
|
||||
#import "Util.h"
|
||||
#import <libPhoneNumber-iOS/NBPhoneNumber.h>
|
||||
#import "FunctionalUtil.h"
|
||||
#import <libPhoneNumber_iOS/NBPhoneNumber.h>
|
||||
|
||||
@interface PhoneNumberUtil ()
|
||||
|
||||
|
|
|
@ -3,9 +3,10 @@
|
|||
//
|
||||
|
||||
#import "OWSProvisioningCipher.h"
|
||||
#import <25519/Curve25519.h>
|
||||
#import <Curve25519Kit/Curve25519.h>
|
||||
#import <HKDFKit/HKDFKit.h>
|
||||
#import <SignalServiceKit/Cryptography.h>
|
||||
#import <CommonCrypto/CommonCrypto.h>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
#import "OWSProvisioningMessage.h"
|
||||
#import "OWSProvisioningCipher.h"
|
||||
#import "OWSProvisioningProtos.pb.h"
|
||||
#import <25519/Curve25519.h>
|
||||
#import <Curve25519Kit/Curve25519.h>
|
||||
#import <AxolotlKit/NSData+keyVersionByte.h>
|
||||
#import <HKDFKit/HKDFKit.h>
|
||||
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
#import "TSStorageManager+sessionStore.h"
|
||||
#import "TSStorageManager.h"
|
||||
#import "TextSecureKitEnv.h"
|
||||
#import <25519/Curve25519.h>
|
||||
#import <Curve25519Kit/Curve25519.h>
|
||||
#import <AxolotlKit/NSData+keyVersionByte.h>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
// Copyright (c) 2017 Open Whisper Systems. All rights reserved.
|
||||
//
|
||||
|
||||
#import "PreKeyBundle.h"
|
||||
#import <AxolotlKit/PreKeyBundle.h>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
|
|
|
@ -1,15 +1,11 @@
|
|||
//
|
||||
// TSRegisterPrekeys.m
|
||||
// TextSecureiOS
|
||||
//
|
||||
// Created by Christine Corbett Moran on 10/17/13.
|
||||
// Copyright (c) 2013 Open Whisper Systems. All rights reserved.
|
||||
// Copyright (c) 2017 Open Whisper Systems. All rights reserved.
|
||||
//
|
||||
|
||||
#import "TSConstants.h"
|
||||
#import "TSRegisterPrekeysRequest.h"
|
||||
|
||||
#import <25519/Curve25519.h>
|
||||
#import <Curve25519Kit/Curve25519.h>
|
||||
#import <AxolotlKit/NSData+keyVersionByte.h>
|
||||
#import <AxolotlKit/PreKeyRecord.h>
|
||||
#import <AxolotlKit/SignedPreKeyStore.h>
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
#import "TSRegisterSignedPrekeyRequest.h"
|
||||
#import "TSConstants.h"
|
||||
|
||||
#import <25519/Curve25519.h>
|
||||
#import <Curve25519Kit/Curve25519.h>
|
||||
#import <AxolotlKit/NSData+keyVersionByte.h>
|
||||
#import <AxolotlKit/PreKeyRecord.h>
|
||||
#import <AxolotlKit/SignedPreKeyStore.h>
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
// Copyright (c) 2017 Open Whisper Systems. All rights reserved.
|
||||
//
|
||||
|
||||
#import "SRWebSocket.h"
|
||||
#import <SocketRocket/SRWebSocket.h>
|
||||
|
||||
static void *SocketManagerStateObservationContext = &SocketManagerStateObservationContext;
|
||||
|
||||
|
|
|
@ -1,397 +0,0 @@
|
|||
/*
|
||||
* Copyright (c) 2010 Apple Inc. All Rights Reserved.
|
||||
*
|
||||
* @APPLE_LICENSE_HEADER_START@
|
||||
*
|
||||
* This file contains Original Code and/or Modifications of Original Code
|
||||
* as defined in and that are subject to the Apple Public Source License
|
||||
* Version 2.0 (the 'License'). You may not use this file except in
|
||||
* compliance with the License. Please obtain a copy of the License at
|
||||
* http://www.opensource.apple.com/apsl/ and read it before using this
|
||||
* file.
|
||||
*
|
||||
* The Original Code and all software distributed under the License are
|
||||
* distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
|
||||
* EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
|
||||
* INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
|
||||
* Please see the License for the specific language governing rights and
|
||||
* limitations under the License.
|
||||
*
|
||||
* @APPLE_LICENSE_HEADER_END@
|
||||
*/
|
||||
|
||||
#ifndef _CC_CryptorSPI_H_
|
||||
#define _CC_CryptorSPI_H_
|
||||
|
||||
#include <sys/types.h>
|
||||
#include <sys/param.h>
|
||||
#include <stdint.h>
|
||||
|
||||
#include <string.h>
|
||||
#ifdef KERNEL
|
||||
#include <machine/limits.h>
|
||||
#else
|
||||
#include <limits.h>
|
||||
#include <stdlib.h>
|
||||
#endif /* KERNEL */
|
||||
#include <Availability.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/*
|
||||
This is an SPI header. It includes some work in progress implementation notes that
|
||||
will be removed when this is promoted to an API set.
|
||||
*/
|
||||
|
||||
/*
|
||||
Private Ciphers
|
||||
*/
|
||||
|
||||
/* Lion SPI name for no padding. Defining for compatibility. Is now
|
||||
ccNoPadding in CommonCryptor.h
|
||||
*/
|
||||
|
||||
enum {
|
||||
ccDefaultPadding = 0,
|
||||
};
|
||||
|
||||
|
||||
enum {
|
||||
kCCAlgorithmAES128NoHardware = 20,
|
||||
kCCAlgorithmAES128WithHardware = 21
|
||||
};
|
||||
|
||||
/*
|
||||
Private Modes
|
||||
*/
|
||||
enum {
|
||||
kCCModeGCM = 11,
|
||||
kCCModeCCM = 12,
|
||||
};
|
||||
|
||||
/*
|
||||
Private Paddings
|
||||
*/
|
||||
enum {
|
||||
ccCBCCTS1 = 10,
|
||||
ccCBCCTS2 = 11,
|
||||
ccCBCCTS3 = 12,
|
||||
};
|
||||
|
||||
/*
|
||||
Private Cryptor direction (op)
|
||||
*/
|
||||
enum {
|
||||
kCCBoth = 3,
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
/*
|
||||
Supports a mode call of
|
||||
int mode_setup(int cipher, const unsigned char *IV, const unsigned char *key, int keylen,
|
||||
const unsigned char *tweak, int tweaklen, int num_rounds, int options, mode_context *ctx);
|
||||
*/
|
||||
|
||||
/* User supplied space for the CryptorRef */
|
||||
|
||||
CCCryptorStatus CCCryptorCreateFromDataWithMode(
|
||||
CCOperation op, /* kCCEncrypt, kCCEncrypt, kCCBoth (default for BlockMode) */
|
||||
CCMode mode,
|
||||
CCAlgorithm alg,
|
||||
CCPadding padding,
|
||||
const void *iv, /* optional initialization vector */
|
||||
const void *key, /* raw key material */
|
||||
size_t keyLength,
|
||||
const void *tweak, /* raw tweak material */
|
||||
size_t tweakLength,
|
||||
int numRounds,
|
||||
CCModeOptions options,
|
||||
const void *data, /* caller-supplied memory */
|
||||
size_t dataLength, /* length of data in bytes */
|
||||
CCCryptorRef *cryptorRef, /* RETURNED */
|
||||
size_t *dataUsed) /* optional, RETURNED */
|
||||
__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0);
|
||||
|
||||
|
||||
/*
|
||||
Assuming we can use existing CCCryptorCreateFromData for all modes serviced by these:
|
||||
int mode_encrypt(const unsigned char *pt, unsigned char *ct, unsigned long len, mode_context *ctx);
|
||||
int mode_decrypt(const unsigned char *ct, unsigned char *pt, unsigned long len, mode_context *ctx);
|
||||
*/
|
||||
|
||||
/*
|
||||
Block mode encrypt and decrypt interfaces for IV tweaked blocks (XTS and CBC)
|
||||
|
||||
int mode_encrypt_tweaked(const unsigned char *pt, unsigned long len, unsigned char *ct, const unsigned char *tweak, mode_context *ctx);
|
||||
int mode_decrypt_tweaked(const unsigned char *ct, unsigned long len, unsigned char *pt, const unsigned char *tweak, mode_context *ctx);
|
||||
*/
|
||||
|
||||
CCCryptorStatus CCCryptorEncryptDataBlock(
|
||||
CCCryptorRef cryptorRef,
|
||||
const void *iv,
|
||||
const void *dataIn,
|
||||
size_t dataInLength,
|
||||
void *dataOut)
|
||||
__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0);
|
||||
|
||||
|
||||
CCCryptorStatus CCCryptorDecryptDataBlock(
|
||||
CCCryptorRef cryptorRef,
|
||||
const void *iv,
|
||||
const void *dataIn,
|
||||
size_t dataInLength,
|
||||
void *dataOut)
|
||||
__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0);
|
||||
|
||||
/*
|
||||
Assuming we can use the existing CCCryptorRelease() interface for
|
||||
int mode_done(mode_context *ctx);
|
||||
*/
|
||||
|
||||
/*
|
||||
Not surfacing these other than with CCCryptorReset()
|
||||
|
||||
int mode_setiv(const unsigned char *IV, unsigned long len, mode_context *ctx);
|
||||
int mode_getiv(const unsigned char *IV, unsigned long *len, mode_context *ctx);
|
||||
*/
|
||||
|
||||
/*
|
||||
DES key utilities
|
||||
*/
|
||||
|
||||
CCCryptorStatus CCDesIsWeakKey(
|
||||
void *key,
|
||||
size_t Length)
|
||||
__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0);
|
||||
|
||||
void CCDesSetOddParity(
|
||||
void *key,
|
||||
size_t Length)
|
||||
__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0);
|
||||
|
||||
uint32_t CCDesCBCCksum(void *input, void *output,
|
||||
size_t length, void *key, size_t keylen,
|
||||
void *ivec)
|
||||
__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0);
|
||||
|
||||
|
||||
/*
|
||||
* returns a cipher blocksize length iv in the provided iv buffer.
|
||||
*/
|
||||
|
||||
CCCryptorStatus
|
||||
CCCryptorGetIV(CCCryptorRef cryptorRef, void *iv)
|
||||
__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0);
|
||||
|
||||
/*
|
||||
GCM Support Interfaces
|
||||
|
||||
Use CCCryptorCreateWithMode() with the kCCModeGCM selector to initialize
|
||||
a CryptoRef. Only kCCAlgorithmAES128 can be used with GCM and these
|
||||
functions. IV Setting etc will be ignored from CCCryptorCreateWithMode().
|
||||
Use the CCCryptorGCMAddIV() routine below for IV setup.
|
||||
*/
|
||||
|
||||
/*
|
||||
This adds the initial vector octets from iv of length ivLen to the GCM
|
||||
CCCryptorRef. You can call this function as many times as required to
|
||||
process the entire IV.
|
||||
*/
|
||||
|
||||
CCCryptorStatus
|
||||
CCCryptorGCMAddIV(CCCryptorRef cryptorRef,
|
||||
const void *iv,
|
||||
size_t ivLen)
|
||||
__OSX_AVAILABLE_STARTING(__MAC_10_8, __IPHONE_5_0);
|
||||
|
||||
/*
|
||||
Additional Authentication Data
|
||||
After the entire IV has been processed, the additional authentication
|
||||
data can be processed. Unlike the IV, a packet/session does not require
|
||||
additional authentication data (AAD) for security. The AAD is meant to
|
||||
be used as side–channel data you want to be authenticated with the packet.
|
||||
Note: once you begin adding AAD to the GCM CCCryptorRef you cannot return
|
||||
to adding IV data until the state has been reset.
|
||||
*/
|
||||
|
||||
CCCryptorStatus
|
||||
CCCryptorGCMAddAAD(CCCryptorRef cryptorRef,
|
||||
const void *aData,
|
||||
size_t aDataLen)
|
||||
__OSX_AVAILABLE_STARTING(__MAC_10_8, __IPHONE_6_0);
|
||||
|
||||
// Maintain the old symbol with incorrect camel-case for now.
|
||||
CCCryptorStatus
|
||||
CCCryptorGCMaddAAD(CCCryptorRef cryptorRef,
|
||||
const void *aData,
|
||||
size_t aDataLen)
|
||||
__OSX_AVAILABLE_STARTING(__MAC_10_8, __IPHONE_6_0);
|
||||
|
||||
// This is for old iOS5 clients
|
||||
CCCryptorStatus
|
||||
CCCryptorGCMAddADD(CCCryptorRef cryptorRef,
|
||||
const void *aData,
|
||||
size_t aDataLen)
|
||||
__OSX_AVAILABLE_STARTING(__MAC_10_8, __IPHONE_5_0);
|
||||
|
||||
|
||||
CCCryptorStatus CCCryptorGCMEncrypt(
|
||||
CCCryptorRef cryptorRef,
|
||||
const void *dataIn,
|
||||
size_t dataInLength,
|
||||
void *dataOut)
|
||||
__OSX_AVAILABLE_STARTING(__MAC_10_8, __IPHONE_5_0);
|
||||
|
||||
|
||||
CCCryptorStatus CCCryptorGCMDecrypt(
|
||||
CCCryptorRef cryptorRef,
|
||||
const void *dataIn,
|
||||
size_t dataInLength,
|
||||
void *dataOut)
|
||||
__OSX_AVAILABLE_STARTING(__MAC_10_8, __IPHONE_5_0);
|
||||
|
||||
/*
|
||||
This terminates the GCM state gcm and stores the tag in tag of length
|
||||
taglen octets.
|
||||
*/
|
||||
|
||||
CCCryptorStatus CCCryptorGCMFinal(
|
||||
CCCryptorRef cryptorRef,
|
||||
const void *tag,
|
||||
size_t *tagLength)
|
||||
__OSX_AVAILABLE_STARTING(__MAC_10_8, __IPHONE_5_0);
|
||||
|
||||
/*
|
||||
This will reset the GCM CCCryptorRef to the state that CCCryptorCreateWithMode()
|
||||
left it. The user would then call CCCryptorGCMAddIV(), CCCryptorGCMaddAAD(), etc.
|
||||
*/
|
||||
|
||||
CCCryptorStatus CCCryptorGCMReset(
|
||||
CCCryptorRef cryptorRef)
|
||||
__OSX_AVAILABLE_STARTING(__MAC_10_8, __IPHONE_5_0);
|
||||
|
||||
/*
|
||||
This will initialize the GCM state with the given key, IV and AAD value
|
||||
then proceed to encrypt or decrypt the message text and store the final
|
||||
message tag. The definition of the variables is the same as it is for all
|
||||
the manual functions. If you are processing many packets under the same
|
||||
key you shouldn’t use this function as it invokes the pre–computation
|
||||
with each call.
|
||||
*/
|
||||
|
||||
CCCryptorStatus CCCryptorGCM(
|
||||
CCOperation op, /* kCCEncrypt, kCCDecrypt */
|
||||
CCAlgorithm alg,
|
||||
const void *key, /* raw key material */
|
||||
size_t keyLength,
|
||||
const void *iv,
|
||||
size_t ivLen,
|
||||
const void *aData,
|
||||
size_t aDataLen,
|
||||
const void *dataIn,
|
||||
size_t dataInLength,
|
||||
void *dataOut,
|
||||
const void *tag,
|
||||
size_t *tagLength)
|
||||
__OSX_AVAILABLE_STARTING(__MAC_10_8, __IPHONE_5_0);
|
||||
|
||||
|
||||
void CC_RC4_set_key(void *ctx, int len, const unsigned char *data)
|
||||
__OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_5_0);
|
||||
|
||||
void CC_RC4(void *ctx, unsigned long len, const unsigned char *indata,
|
||||
unsigned char *outdata)
|
||||
__OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_5_0);
|
||||
|
||||
/*
|
||||
GCM interface can then be easily bolt on the rest of standard CCCryptor interface; typically following sequence can be used:
|
||||
|
||||
CCCryptorCreateWithMode(mode = kCCModeGCM)
|
||||
0..Nx: CCCryptorAddParameter(kCCParameterIV, iv)
|
||||
0..Nx: CCCryptorAddParameter(kCCParameterAuthData, data)
|
||||
0..Nx: CCCryptorUpdate(inData, outData)
|
||||
0..1: CCCryptorFinal(outData)
|
||||
0..1: CCCryptorGetParameter(kCCParameterAuthTag, tag)
|
||||
CCCryptorRelease()
|
||||
|
||||
*/
|
||||
|
||||
enum {
|
||||
/*
|
||||
Initialization vector - cryptor input parameter, typically
|
||||
needs to have the same length as block size, but in some cases
|
||||
(GCM) it can be arbitrarily long and even might be called
|
||||
multiple times.
|
||||
*/
|
||||
kCCParameterIV,
|
||||
|
||||
/*
|
||||
Authentication data - cryptor input parameter, input for
|
||||
authenticating encryption modes like GCM. If supported, can
|
||||
be called multiple times before encryption starts.
|
||||
*/
|
||||
kCCParameterAuthData,
|
||||
|
||||
/*
|
||||
Mac Size - cryptor input parameter, input for
|
||||
authenticating encryption modes like CCM. Specifies the size of
|
||||
the AuthTag the algorithm is expected to produce.
|
||||
*/
|
||||
kCCMacSize,
|
||||
|
||||
/*
|
||||
Data Size - cryptor input parameter, input for
|
||||
authenticating encryption modes like CCM. Specifies the amount of
|
||||
data the algorithm is expected to process.
|
||||
*/
|
||||
kCCDataSize,
|
||||
|
||||
/*
|
||||
Authentication tag - cryptor output parameter, output from
|
||||
authenticating encryption modes like GCM. If supported,
|
||||
should be retrieved after the encryption finishes.
|
||||
*/
|
||||
kCCParameterAuthTag,
|
||||
};
|
||||
typedef uint32_t CCParameter;
|
||||
|
||||
/*
|
||||
Sets or adds some other cryptor input parameter. According to the
|
||||
cryptor type and state, parameter can be either accepted or
|
||||
refused with kCCUnimplemented (when given parameter is not
|
||||
supported for this type of cryptor at all) or kCCParamError (bad
|
||||
data length or format).
|
||||
*/
|
||||
|
||||
CCCryptorStatus CCCryptorAddParameter(
|
||||
CCCryptorRef cryptorRef,
|
||||
CCParameter parameter,
|
||||
const void *data,
|
||||
size_t dataSize);
|
||||
|
||||
|
||||
/*
|
||||
Gets value of output cryptor parameter. According to the cryptor
|
||||
type state, the request can be either accepted or refused with
|
||||
kCCUnimplemented (when given parameteris not supported for this
|
||||
type of cryptor) or kCCBufferTooSmall (in this case, *dataSize
|
||||
argument is set to the requested size of data).
|
||||
*/
|
||||
|
||||
CCCryptorStatus CCCryptorGetParameter(
|
||||
CCCryptorRef cryptorRef,
|
||||
CCParameter parameter,
|
||||
void *data,
|
||||
size_t *dataSize);
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* _CC_CryptorSPI_H_ */
|
|
@ -1,6 +1,8 @@
|
|||
// Copyright © 2016 Open Whisper Systems. All rights reserved.
|
||||
//
|
||||
// Copyright (c) 2017 Open Whisper Systems. All rights reserved.
|
||||
//
|
||||
|
||||
#import <25519/Curve25519.h>
|
||||
#import <Curve25519Kit/Curve25519.h>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
#import "OWSFingerprint.h"
|
||||
#import "OWSIdentityManager.h"
|
||||
#import "TSAccountManager.h"
|
||||
#import <25519/Curve25519.h>
|
||||
#import <Curve25519Kit/Curve25519.h>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
#import "TSStorageManager+SignedPreKeyStore.h"
|
||||
#import "TSStorageManager+keyFromIntLong.h"
|
||||
|
||||
#import <25519/Ed25519.h>
|
||||
#import <Curve25519Kit/Ed25519.h>
|
||||
#import <AxolotlKit/AxolotlExceptions.h>
|
||||
#import <AxolotlKit/NSData+keyVersionByte.h>
|
||||
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
#import "TSDatabaseView.h"
|
||||
#import "TSInteraction.h"
|
||||
#import "TSThread.h"
|
||||
#import <25519/Randomness.h>
|
||||
#import <Curve25519Kit/Randomness.h>
|
||||
#import <SAMKeychain/SAMKeychain.h>
|
||||
#import <YapDatabase/YapDatabaseRelationship.h>
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
//
|
||||
|
||||
#import "YapDatabaseConnection+OWS.h"
|
||||
#import <25519/Curve25519.h>
|
||||
#import <Curve25519Kit/Curve25519.h>
|
||||
#import <AxolotlKit/PreKeyRecord.h>
|
||||
#import <AxolotlKit/SignedPrekeyRecord.h>
|
||||
#import <YapDatabase/YapDatabaseTransaction.h>
|
||||
|
|
|
@ -6,11 +6,16 @@ import UIKit
|
|||
import Social
|
||||
|
||||
import SignalMessaging
|
||||
import PureLayout
|
||||
|
||||
class ShareViewController: SLComposeServiceViewController {
|
||||
|
||||
override func viewDidLoad() {
|
||||
super.viewDidLoad()
|
||||
let someView = UIView()
|
||||
someView.backgroundColor = UIColor.green
|
||||
view.addSubview(someView)
|
||||
someView.autoPinEdgesToSuperviewEdges()
|
||||
self.placeholder = StorageCoordinator.shared.path
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue