From a75bd17b6cff30e1e7d97870c4b6fe3f87996fca Mon Sep 17 00:00:00 2001 From: Ali <> Date: Thu, 20 Feb 2020 04:15:02 +0400 Subject: [PATCH] Build Postbox, SyncCore, TelegramCore --- Telegram/BUILD | 3 + submodules/CloudData/BUCK | 1 + submodules/CloudData/BUILD | 18 ++ submodules/Crc32/BUCK | 2 +- submodules/Crc32/BUILD | 21 ++ .../{Sources => PublicHeaders/Crc32}/Crc32.h | 0 submodules/Crc32/Sources/Crc32.m | 2 +- submodules/CryptoUtils/BUCK | 19 ++ submodules/CryptoUtils/BUILD | 21 ++ .../PublicHeaders/CryptoUtils}/Crypto.h | 0 .../Sources/Crypto.m | 2 +- submodules/EncryptionProvider/BUCK | 4 +- submodules/EncryptionProvider/BUILD | 7 +- .../EncryptionProvider/EncryptionProvider.h | 0 submodules/MurMurHash32/BUCK | 19 ++ submodules/MurMurHash32/BUILD | 21 ++ .../MurMurHash32}/MurMurHash32.h | 1 + .../Sources/MurMurHash32.m | 2 +- submodules/NetworkLogging/BUCK | 20 ++ submodules/NetworkLogging/BUILD | 24 +++ .../NetworkLogging}/NetworkLogging.h | 0 .../Sources/NetworkLogging.m | 5 +- submodules/Postbox/BUCK | 9 +- submodules/Postbox/BUILD | 19 ++ submodules/Postbox/Sources/Coding.swift | 2 +- .../Sources/Config.xcconfig/Postbox.xcconfig | 2 - submodules/Postbox/Sources/Database.swift | 1 + submodules/Postbox/Sources/Hash.swift | 2 +- submodules/Postbox/Sources/Info.plist | 26 --- submodules/Postbox/Sources/IpcNotifier.h | 14 -- submodules/Postbox/Sources/IpcNotifier.mm | 195 ------------------ submodules/Postbox/Sources/Postbox.h | 20 -- .../Postbox/Sources/StringIndexTokens.swift | 2 +- .../Postbox/Sources/module.private.modulemap | 3 - submodules/Reachability/BUCK | 18 ++ submodules/Reachability/BUILD | 22 ++ .../Reachability}/Reachability.h | 0 .../Sources/Reachability.m | 2 +- submodules/StringTransliteration/BUCK | 19 ++ submodules/StringTransliteration/BUILD | 21 ++ .../StringTransliteration.h | 8 + .../Sources/StringTransliteration.m | 19 ++ submodules/SyncCore/BUILD | 16 ++ .../Sources/AccountBackupDataAttribute.swift | 1 + .../Sources/CachedResolvedByNamePeer.swift | 1 + .../Sources/CachedSecureIdConfiguration.swift | 1 + .../Sources/CloudFileMediaResource.swift | 1 + .../SyncCore/Sources/ProxySettings.swift | 1 + .../Sources/SecretChatOutgoingOperation.swift | 1 + .../Sources/SecretFileEncryptionKey.swift | 1 + .../Sources/SecureFileMediaResource.swift | 1 + .../Sources/SecureIdFileReference.swift | 1 + .../SyncCore/Sources/TelegramMediaFile.swift | 1 + .../SyncCore/Sources/TelegramMediaImage.swift | 1 + .../SyncCore/Sources/TelegramMediaPoll.swift | 1 + .../TemporaryTwoStepPasswordToken.swift | 1 + .../SyncCore/Sources/WalletCollection.swift | 1 + submodules/TelegramApi/BUILD | 12 ++ submodules/TelegramCore/BUCK | 15 +- submodules/TelegramCore/BUILD | 24 +++ .../TelegramCore/Sources/AccessSecureId.swift | 1 + submodules/TelegramCore/Sources/Account.swift | 2 +- .../Sources/ChatUpdatingMessageMedia.swift | 1 - .../Sources/ContactManagement.swift | 2 +- submodules/TelegramCore/Sources/Log.swift | 1 + submodules/TelegramCore/Sources/MD5.swift | 1 + .../Sources/MultipartUpload.swift | 2 +- submodules/TelegramCore/Sources/Network.swift | 2 +- .../TelegramCore/Sources/NetworkType.swift | 1 + .../PendingMessageUploadedContent.swift | 2 +- .../Sources/SecureIdConfiguration.swift | 1 + submodules/TextFormat/BUILD | 19 ++ submodules/TextFormat/Info.plist | 22 -- submodules/TinyThumbnail/BUILD | 12 ++ submodules/TinyThumbnail/Info.plist | 22 -- .../TinyThumbnail/Sources/TinyThumbnail.h | 19 -- submodules/Tuples/BUILD | 12 ++ submodules/sqlcipher/BUCK | 18 +- submodules/sqlcipher/BUILD | 32 +++ submodules/sqlcipher/Info.plist | 22 -- .../sqlcipher}/sqlcipher_config.h | 0 .../sqlcipher}/sqlite3.h | 0 .../sqlcipher}/sqlite3ext.h | 0 83 files changed, 474 insertions(+), 397 deletions(-) create mode 100644 submodules/CloudData/BUILD create mode 100644 submodules/Crc32/BUILD rename submodules/Crc32/{Sources => PublicHeaders/Crc32}/Crc32.h (100%) create mode 100644 submodules/CryptoUtils/BUCK create mode 100644 submodules/CryptoUtils/BUILD rename submodules/{TelegramCore/Sources => CryptoUtils/PublicHeaders/CryptoUtils}/Crypto.h (100%) rename submodules/{TelegramCore => CryptoUtils}/Sources/Crypto.m (98%) rename submodules/EncryptionProvider/{Sources/Public => PublicHeaders}/EncryptionProvider/EncryptionProvider.h (100%) create mode 100644 submodules/MurMurHash32/BUCK create mode 100644 submodules/MurMurHash32/BUILD rename submodules/{Postbox/Sources => MurMurHash32/PublicHeaders/MurMurHash32}/MurMurHash32.h (99%) rename submodules/{Postbox => MurMurHash32}/Sources/MurMurHash32.m (98%) create mode 100644 submodules/NetworkLogging/BUCK create mode 100644 submodules/NetworkLogging/BUILD rename submodules/{TelegramCore/Sources => NetworkLogging/PublicHeaders/NetworkLogging}/NetworkLogging.h (100%) rename submodules/{TelegramCore => NetworkLogging}/Sources/NetworkLogging.m (93%) create mode 100644 submodules/Postbox/BUILD delete mode 100644 submodules/Postbox/Sources/Config.xcconfig/Postbox.xcconfig delete mode 100644 submodules/Postbox/Sources/Info.plist delete mode 100644 submodules/Postbox/Sources/IpcNotifier.h delete mode 100644 submodules/Postbox/Sources/IpcNotifier.mm delete mode 100644 submodules/Postbox/Sources/Postbox.h delete mode 100644 submodules/Postbox/Sources/module.private.modulemap create mode 100644 submodules/Reachability/BUCK create mode 100644 submodules/Reachability/BUILD rename submodules/{TelegramCore/Sources => Reachability/PublicHeaders/Reachability}/Reachability.h (100%) rename submodules/{TelegramCore => Reachability}/Sources/Reachability.m (99%) create mode 100644 submodules/StringTransliteration/BUCK create mode 100644 submodules/StringTransliteration/BUILD create mode 100644 submodules/StringTransliteration/PublicHeaders/StringTransliteration/StringTransliteration.h create mode 100644 submodules/StringTransliteration/Sources/StringTransliteration.m create mode 100644 submodules/SyncCore/BUILD create mode 100644 submodules/TelegramApi/BUILD create mode 100644 submodules/TelegramCore/BUILD create mode 100644 submodules/TextFormat/BUILD delete mode 100644 submodules/TextFormat/Info.plist create mode 100644 submodules/TinyThumbnail/BUILD delete mode 100644 submodules/TinyThumbnail/Info.plist delete mode 100644 submodules/TinyThumbnail/Sources/TinyThumbnail.h create mode 100644 submodules/Tuples/BUILD create mode 100644 submodules/sqlcipher/BUILD delete mode 100644 submodules/sqlcipher/Info.plist rename submodules/sqlcipher/{Sources => PublicHeaders/sqlcipher}/sqlcipher_config.h (100%) rename submodules/sqlcipher/{Sources => PublicHeaders/sqlcipher}/sqlite3.h (100%) rename submodules/sqlcipher/{Sources => PublicHeaders/sqlcipher}/sqlite3ext.h (100%) diff --git a/Telegram/BUILD b/Telegram/BUILD index 87c389c049..7a9fbddf7d 100644 --- a/Telegram/BUILD +++ b/Telegram/BUILD @@ -120,6 +120,9 @@ swift_library( "//submodules/WalletUI:WalletUI", "//submodules/WebsiteType:WebsiteType", "//submodules/MtProtoKit:MtProtoKit", + "//submodules/Postbox:Postbox", + "//submodules/SyncCore:SyncCore", + "//submodules/TelegramCore:TelegramCore", ], ) diff --git a/submodules/CloudData/BUCK b/submodules/CloudData/BUCK index dbe59042fe..61dc3a640e 100644 --- a/submodules/CloudData/BUCK +++ b/submodules/CloudData/BUCK @@ -9,6 +9,7 @@ static_library( "//submodules/SSignalKit/SwiftSignalKit:SwiftSignalKit#shared", "//submodules/Postbox:Postbox#shared", "//submodules/MtProtoKit:MtProtoKit#shared", + "//submodules/EncryptionProvider:EncryptionProvider", ], frameworks = [ "$SDKROOT/System/Library/Frameworks/Foundation.framework", diff --git a/submodules/CloudData/BUILD b/submodules/CloudData/BUILD new file mode 100644 index 0000000000..662ebc2ee3 --- /dev/null +++ b/submodules/CloudData/BUILD @@ -0,0 +1,18 @@ +load("@build_bazel_rules_swift//swift:swift.bzl", "swift_library") + +swift_library( + name = "CloudData", + module_name = "CloudData", + srcs = glob([ + "Sources/**/*.swift", + ]), + deps = [ + "//submodules/SSignalKit/SwiftSignalKit:SwiftSignalKit", + "//submodules/Postbox:Postbox", + "//submodules/MtProtoKit:MtProtoKit", + "//submodules/EncryptionProvider:EncryptionProvider", + ], + visibility = [ + "//visibility:public", + ], +) diff --git a/submodules/Crc32/BUCK b/submodules/Crc32/BUCK index 9e0e9aeb63..5380c8191d 100644 --- a/submodules/Crc32/BUCK +++ b/submodules/Crc32/BUCK @@ -9,7 +9,7 @@ static_library( "Sources/*.h", ]), exported_headers = glob([ - "Sources/*.h", + "PublicHeaders/**/*.h", ]), deps = [ ], diff --git a/submodules/Crc32/BUILD b/submodules/Crc32/BUILD new file mode 100644 index 0000000000..85f82cd801 --- /dev/null +++ b/submodules/Crc32/BUILD @@ -0,0 +1,21 @@ + +objc_library( + name = "Crc32", + enable_modules = True, + module_name = "Crc32", + srcs = glob([ + "Sources/*.m", + ]), + hdrs = glob([ + "PublicHeaders/**/*.h", + ]), + includes = [ + "PublicHeaders", + ], + sdk_frameworks = [ + "Foundation", + ], + visibility = [ + "//visibility:public", + ], +) diff --git a/submodules/Crc32/Sources/Crc32.h b/submodules/Crc32/PublicHeaders/Crc32/Crc32.h similarity index 100% rename from submodules/Crc32/Sources/Crc32.h rename to submodules/Crc32/PublicHeaders/Crc32/Crc32.h diff --git a/submodules/Crc32/Sources/Crc32.m b/submodules/Crc32/Sources/Crc32.m index 7dfded40f5..adc7c6b54d 100644 --- a/submodules/Crc32/Sources/Crc32.m +++ b/submodules/Crc32/Sources/Crc32.m @@ -1,4 +1,4 @@ -#import "Crc32.h" +#import #import diff --git a/submodules/CryptoUtils/BUCK b/submodules/CryptoUtils/BUCK new file mode 100644 index 0000000000..411184de09 --- /dev/null +++ b/submodules/CryptoUtils/BUCK @@ -0,0 +1,19 @@ +load("//Config:buck_rule_macros.bzl", "static_library") + +static_library( + name = "CryptoUtils", + srcs = glob([ + "Sources/*.m", + ]), + headers = glob([ + "Sources/*.h", + ]), + exported_headers = glob([ + "PublicHeaders/**/*.h", + ]), + deps = [ + ], + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + ], +) diff --git a/submodules/CryptoUtils/BUILD b/submodules/CryptoUtils/BUILD new file mode 100644 index 0000000000..da7b17b786 --- /dev/null +++ b/submodules/CryptoUtils/BUILD @@ -0,0 +1,21 @@ + +objc_library( + name = "CryptoUtils", + enable_modules = True, + module_name = "CryptoUtils", + srcs = glob([ + "Sources/*.m", + ]), + hdrs = glob([ + "PublicHeaders/**/*.h", + ]), + includes = [ + "PublicHeaders", + ], + sdk_frameworks = [ + "Foundation", + ], + visibility = [ + "//visibility:public", + ], +) diff --git a/submodules/TelegramCore/Sources/Crypto.h b/submodules/CryptoUtils/PublicHeaders/CryptoUtils/Crypto.h similarity index 100% rename from submodules/TelegramCore/Sources/Crypto.h rename to submodules/CryptoUtils/PublicHeaders/CryptoUtils/Crypto.h diff --git a/submodules/TelegramCore/Sources/Crypto.m b/submodules/CryptoUtils/Sources/Crypto.m similarity index 98% rename from submodules/TelegramCore/Sources/Crypto.m rename to submodules/CryptoUtils/Sources/Crypto.m index 86cf407f0c..028031ddbd 100644 --- a/submodules/TelegramCore/Sources/Crypto.m +++ b/submodules/CryptoUtils/Sources/Crypto.m @@ -1,4 +1,4 @@ -#include "Crypto.h" +#include #import diff --git a/submodules/EncryptionProvider/BUCK b/submodules/EncryptionProvider/BUCK index d05c62c62f..c99c089695 100644 --- a/submodules/EncryptionProvider/BUCK +++ b/submodules/EncryptionProvider/BUCK @@ -6,10 +6,10 @@ static_library( "Sources/**/*.m", ]), headers = glob([ - "Sources/**/*.h", + "PublicHeaders/**/*.h", ]), exported_headers = glob([ - "Sources/**/*.h", + "PublicHeaders/**/*.h", ]), deps = [ ], diff --git a/submodules/EncryptionProvider/BUILD b/submodules/EncryptionProvider/BUILD index 7eef074060..7b876fc0d7 100644 --- a/submodules/EncryptionProvider/BUILD +++ b/submodules/EncryptionProvider/BUILD @@ -1,13 +1,16 @@ + objc_library( name = "EncryptionProvider", + enable_modules = True, + module_name = "EncryptionProvider", srcs = glob([ "Sources/**/*.m", ]), hdrs = glob([ - "Sources/**/*.h", + "PublicHeaders/**/*.h", ]), includes = [ - "Sources/Public", + "PublicHeaders", ], deps = [ ], diff --git a/submodules/EncryptionProvider/Sources/Public/EncryptionProvider/EncryptionProvider.h b/submodules/EncryptionProvider/PublicHeaders/EncryptionProvider/EncryptionProvider.h similarity index 100% rename from submodules/EncryptionProvider/Sources/Public/EncryptionProvider/EncryptionProvider.h rename to submodules/EncryptionProvider/PublicHeaders/EncryptionProvider/EncryptionProvider.h diff --git a/submodules/MurMurHash32/BUCK b/submodules/MurMurHash32/BUCK new file mode 100644 index 0000000000..970767e33a --- /dev/null +++ b/submodules/MurMurHash32/BUCK @@ -0,0 +1,19 @@ +load("//Config:buck_rule_macros.bzl", "static_library") + +static_library( + name = "MurMurHash32", + srcs = glob([ + "Sources/*.m", + ]), + headers = glob([ + "Sources/*.h", + ]), + exported_headers = glob([ + "PublicHeaders/**/*.h", + ]), + deps = [ + ], + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + ], +) diff --git a/submodules/MurMurHash32/BUILD b/submodules/MurMurHash32/BUILD new file mode 100644 index 0000000000..6a24f18424 --- /dev/null +++ b/submodules/MurMurHash32/BUILD @@ -0,0 +1,21 @@ + +objc_library( + name = "MurMurHash32", + enable_modules = True, + module_name = "MurMurHash32", + srcs = glob([ + "Sources/*.m", + ]), + hdrs = glob([ + "PublicHeaders/**/*.h", + ]), + includes = [ + "PublicHeaders", + ], + sdk_frameworks = [ + "Foundation", + ], + visibility = [ + "//visibility:public", + ], +) diff --git a/submodules/Postbox/Sources/MurMurHash32.h b/submodules/MurMurHash32/PublicHeaders/MurMurHash32/MurMurHash32.h similarity index 99% rename from submodules/Postbox/Sources/MurMurHash32.h rename to submodules/MurMurHash32/PublicHeaders/MurMurHash32/MurMurHash32.h index 6b5ab89c3e..fe2840c17b 100644 --- a/submodules/Postbox/Sources/MurMurHash32.h +++ b/submodules/MurMurHash32/PublicHeaders/MurMurHash32/MurMurHash32.h @@ -7,6 +7,7 @@ int32_t murMurHash32(void *bytes, int length); int32_t murMurHash32Data(NSData *data); int32_t murMurHashString32(const char *s); + NSString *postboxTransformedString(CFStringRef string, bool replaceWithTransliteratedVersion, bool appendTransliteratedVersion); #endif diff --git a/submodules/Postbox/Sources/MurMurHash32.m b/submodules/MurMurHash32/Sources/MurMurHash32.m similarity index 98% rename from submodules/Postbox/Sources/MurMurHash32.m rename to submodules/MurMurHash32/Sources/MurMurHash32.m index 87f695f017..9096171c74 100644 --- a/submodules/Postbox/Sources/MurMurHash32.m +++ b/submodules/MurMurHash32/Sources/MurMurHash32.m @@ -1,4 +1,4 @@ -#import "MurMurHash32.h" +#import #include #include diff --git a/submodules/NetworkLogging/BUCK b/submodules/NetworkLogging/BUCK new file mode 100644 index 0000000000..4c1c68fe8b --- /dev/null +++ b/submodules/NetworkLogging/BUCK @@ -0,0 +1,20 @@ +load("//Config:buck_rule_macros.bzl", "static_library") + +static_library( + name = "NetworkLogging", + srcs = glob([ + "Sources/*.m", + ]), + headers = glob([ + "Sources/*.h", + ]), + exported_headers = glob([ + "PublicHeaders/**/*.h", + ]), + deps = [ + "//submodules/MtProtoKit:MtProtoKit#shared", + ], + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + ], +) diff --git a/submodules/NetworkLogging/BUILD b/submodules/NetworkLogging/BUILD new file mode 100644 index 0000000000..9996f41a3c --- /dev/null +++ b/submodules/NetworkLogging/BUILD @@ -0,0 +1,24 @@ + +objc_library( + name = "NetworkLogging", + enable_modules = True, + module_name = "NetworkLogging", + srcs = glob([ + "Sources/*.m", + ]), + hdrs = glob([ + "PublicHeaders/**/*.h", + ]), + includes = [ + "PublicHeaders", + ], + deps = [ + "//submodules/MtProtoKit:MtProtoKit", + ], + sdk_frameworks = [ + "Foundation", + ], + visibility = [ + "//visibility:public", + ], +) diff --git a/submodules/TelegramCore/Sources/NetworkLogging.h b/submodules/NetworkLogging/PublicHeaders/NetworkLogging/NetworkLogging.h similarity index 100% rename from submodules/TelegramCore/Sources/NetworkLogging.h rename to submodules/NetworkLogging/PublicHeaders/NetworkLogging/NetworkLogging.h diff --git a/submodules/TelegramCore/Sources/NetworkLogging.m b/submodules/NetworkLogging/Sources/NetworkLogging.m similarity index 93% rename from submodules/TelegramCore/Sources/NetworkLogging.m rename to submodules/NetworkLogging/Sources/NetworkLogging.m index 710c71d5d0..9b84c551de 100644 --- a/submodules/TelegramCore/Sources/NetworkLogging.m +++ b/submodules/NetworkLogging/Sources/NetworkLogging.m @@ -1,8 +1,7 @@ -#import "NetworkLogging.h" +#import #import - -#import +#import static void (*bridgingTrace)(NSString *, NSString *); void setBridgingTraceFunction(void (*f)(NSString *, NSString *)) { diff --git a/submodules/Postbox/BUCK b/submodules/Postbox/BUCK index 5cee7bc9c0..cdfea7881a 100644 --- a/submodules/Postbox/BUCK +++ b/submodules/Postbox/BUCK @@ -4,18 +4,13 @@ framework( name = "Postbox", srcs = glob([ "Sources/*.swift", - "Sources/*.m", ]), - headers = [ - "Sources/MurMurHash32.h", - ], - exported_headers = [ - "Sources/MurMurHash32.h", - ], deps = [ "//submodules/Crc32:Crc32", "//submodules/SSignalKit/SwiftSignalKit:SwiftSignalKit#shared", "//submodules/sqlcipher:sqlcipher", + "//submodules/MurMurHash32:MurMurHash32", + "//submodules/StringTransliteration:StringTransliteration", ], frameworks = [ "$SDKROOT/System/Library/Frameworks/Foundation.framework", diff --git a/submodules/Postbox/BUILD b/submodules/Postbox/BUILD new file mode 100644 index 0000000000..6b5bb10a2d --- /dev/null +++ b/submodules/Postbox/BUILD @@ -0,0 +1,19 @@ +load("@build_bazel_rules_swift//swift:swift.bzl", "swift_library") + +swift_library( + name = "Postbox", + module_name = "Postbox", + srcs = glob([ + "Sources/**/*.swift", + ]), + deps = [ + "//submodules/Crc32:Crc32", + "//submodules/SSignalKit/SwiftSignalKit:SwiftSignalKit", + "//submodules/sqlcipher:sqlcipher", + "//submodules/MurMurHash32:MurMurHash32", + "//submodules/StringTransliteration:StringTransliteration", + ], + visibility = [ + "//visibility:public", + ], +) diff --git a/submodules/Postbox/Sources/Coding.swift b/submodules/Postbox/Sources/Coding.swift index e25c870781..5e99986f53 100644 --- a/submodules/Postbox/Sources/Coding.swift +++ b/submodules/Postbox/Sources/Coding.swift @@ -1,5 +1,5 @@ import Foundation -import sqlcipher +import MurMurHash32 public protocol PostboxCoding { init(decoder: PostboxDecoder) diff --git a/submodules/Postbox/Sources/Config.xcconfig/Postbox.xcconfig b/submodules/Postbox/Sources/Config.xcconfig/Postbox.xcconfig deleted file mode 100644 index 17c706bde8..0000000000 --- a/submodules/Postbox/Sources/Config.xcconfig/Postbox.xcconfig +++ /dev/null @@ -1,2 +0,0 @@ -SWIFT_INCLUDE_PATHS = $(SRCROOT)/Postbox -MODULEMAP_PRIVATE_FILE = $(SRCROOT)/Postbox/module.private.modulemap diff --git a/submodules/Postbox/Sources/Database.swift b/submodules/Postbox/Sources/Database.swift index a832a1f52f..d8fdff2ca8 100644 --- a/submodules/Postbox/Sources/Database.swift +++ b/submodules/Postbox/Sources/Database.swift @@ -22,6 +22,7 @@ // THE SOFTWARE. // +import Foundation import sqlcipher public final class Database { diff --git a/submodules/Postbox/Sources/Hash.swift b/submodules/Postbox/Sources/Hash.swift index 7df219a841..700db35f5d 100644 --- a/submodules/Postbox/Sources/Hash.swift +++ b/submodules/Postbox/Sources/Hash.swift @@ -1,5 +1,5 @@ import Foundation -import sqlcipher +import MurMurHash32 public enum HashFunctions { public static func murMurHash32(_ s: String) -> Int32 { diff --git a/submodules/Postbox/Sources/Info.plist b/submodules/Postbox/Sources/Info.plist deleted file mode 100644 index d3de8eefb6..0000000000 --- a/submodules/Postbox/Sources/Info.plist +++ /dev/null @@ -1,26 +0,0 @@ - - - - - CFBundleDevelopmentRegion - en - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - FMWK - CFBundleShortVersionString - 1.0 - CFBundleSignature - ???? - CFBundleVersion - $(CURRENT_PROJECT_VERSION) - NSPrincipalClass - - - diff --git a/submodules/Postbox/Sources/IpcNotifier.h b/submodules/Postbox/Sources/IpcNotifier.h deleted file mode 100644 index a7f65b9b16..0000000000 --- a/submodules/Postbox/Sources/IpcNotifier.h +++ /dev/null @@ -1,14 +0,0 @@ -#ifndef IpcNotifier_h -#define IpcNotifier_h - -#import - -@interface RLMNotifier : NSObject - -- (instancetype _Nonnull)initWithBasePath:(NSString * _Nonnull)basePath notify:(void (^ _Nonnull)())notify; -- (void)listen; -- (void)notifyOtherRealms; - -@end - -#endif diff --git a/submodules/Postbox/Sources/IpcNotifier.mm b/submodules/Postbox/Sources/IpcNotifier.mm deleted file mode 100644 index 62a17a6326..0000000000 --- a/submodules/Postbox/Sources/IpcNotifier.mm +++ /dev/null @@ -1,195 +0,0 @@ -#import -#import -#import -#import -#import - -#import "IpcNotifier.h" - -// Write a byte to a pipe to notify anyone waiting for data on the pipe -static void notifyFd(int fd) { - while (true) { - char c = 0; - ssize_t ret = write(fd, &c, 1); - if (ret == 1) { - break; - } - - // If the pipe's buffer is full, we need to read some of the old data in - // it to make space. We don't just read in the code waiting for - // notifications so that we can notify multiple waiters with a single - // write. - assert(ret == -1 && errno == EAGAIN); - char buff[1024]; - read(fd, buff, sizeof buff); - } -} - -namespace { - // A RAII holder for a file descriptor which automatically closes the wrapped fd - // when it's deallocated - class FdHolder { - int fd = -1; - void close() { - if (fd != -1) { - ::close(fd); - } - fd = -1; - } - - FdHolder& operator=(FdHolder const&) = delete; - FdHolder(FdHolder const&) = delete; - - public: - FdHolder() { } - ~FdHolder() { close(); } - operator int() const { return fd; } - - FdHolder& operator=(int newFd) { - close(); - fd = newFd; - return *this; - } - }; -} - -// Inter-thread and inter-process notifications of changes are done using a -// named pipe in the filesystem next to the Realm file. Everyone who wants to be -// notified of commits waits for data to become available on the pipe, and anyone -// who commits a write transaction writes data to the pipe after releasing the -// write lock. Note that no one ever actually *reads* from the pipe: the data -// actually written is meaningless, and trying to read from a pipe from multiple -// processes at once is fraught with race conditions. - -// When a RLMRealm instance is created, we add a CFRunLoopSource to the current -// thread's runloop. On each cycle of the run loop, the run loop checks each of -// its sources for work to do, which in the case of CFRunLoopSource is just -// checking if CFRunLoopSourceSignal has been called since the last time it ran, -// and if so invokes the function pointer supplied when the source is created, -// which in our case just invokes `[realm handleExternalChange]`. - -// Listening for external changes is done using kqueue() on a background thread. -// kqueue() lets us efficiently wait until the amount of data which can be read -// from one or more file descriptors has changed, and tells us which of the file -// descriptors it was that changed. We use this to wait on both the shared named -// pipe, and a local anonymous pipe. When data is written to the named pipe, we -// signal the runloop source and wake up the target runloop, and when data is -// written to the anonymous pipe the background thread removes the runloop -// source from the runloop and and shuts down. - -@implementation RLMNotifier { - // Realm to notify of changes - void (^_notify)(); - // Runloop which notifications are delivered on - CFRunLoopRef _runLoop; - - // Read-write file descriptor for the named pipe which is waited on for - // changes and written to when a commit is made - FdHolder _notifyFd; - // File descriptor for the kqueue - FdHolder _kq; - // The two ends of an anonymous pipe used to notify the kqueue() thread that - // it should be shut down. - FdHolder _shutdownReadFd; - FdHolder _shutdownWriteFd; -} - -- (instancetype)initWithBasePath:(NSString *)basePath notify:( void (^ _Nonnull)())notify { - self = [super init]; - if (self) { - _notify = [notify copy]; - - _kq = kqueue(); - if (_kq == -1) { - return nil; - } - - const char *path = [basePath stringByAppendingString:@"postbox.note"].UTF8String; - - // Create and open the named pipe - int ret = mkfifo(path, 0600); - if (ret == -1) { - int err = errno; - if (err == ENOTSUP) { - // Filesystem doesn't support named pipes, so try putting it in tmp instead - // Hash collisions are okay here because they just result in doing - // extra work, as opposed to correctness problems - static NSString *tmpDir = NSTemporaryDirectory(); - path = [tmpDir stringByAppendingFormat:@"poxtbox_%llu.note", (unsigned long long)[basePath hash]].UTF8String; - ret = mkfifo(path, 0600); - err = errno; - } - // the fifo already existing isn't an error - if (ret == -1 && err != EEXIST) { - return nil; - } - } - - _notifyFd = open(path, O_RDWR); - if (_notifyFd == -1) { - return nil; - } - - // Make writing to the pipe return -1 when the pipe's buffer is full - // rather than blocking until there's space available - ret = fcntl(_notifyFd, F_SETFL, O_NONBLOCK); - if (ret == -1) { - return nil; - } - - // Create the anonymous pipe - int pipeFd[2]; - ret = pipe(pipeFd); - if (ret == -1) { - return nil; - } - - _shutdownReadFd = pipeFd[0]; - _shutdownWriteFd = pipeFd[1]; - } - return self; -} - -- (void)listen { - // Set up the kqueue - // EVFILT_READ indicates that we care about data being available to read - // on the given file descriptor. - // EV_CLEAR makes it wait for the amount of data available to be read to - // change rather than just returning when there is any data to read. - struct kevent ke[2]; - EV_SET(&ke[0], _notifyFd, EVFILT_READ, EV_ADD | EV_CLEAR, 0, 0, 0); - EV_SET(&ke[1], _shutdownReadFd, EVFILT_READ, EV_ADD | EV_CLEAR, 0, 0, 0); - int ret = kevent(_kq, ke, 2, nullptr, 0, nullptr); - assert(ret == 0); - - while (true) { - struct kevent event; - // Wait for data to become on either fd - // Return code is number of bytes available or -1 on error - ret = kevent(_kq, nullptr, 0, &event, 1, nullptr); - assert(ret >= 0); - if (ret == 0) { - // Spurious wakeup; just wait again - continue; - } - - // Check which file descriptor had activity: if it's the shutdown - // pipe, then someone called -stop; otherwise it's the named pipe - // and someone committed a write transaction - if (event.ident == (uint32_t)_shutdownReadFd) { - return; - } - assert(event.ident == (uint32_t)_notifyFd); - - _notify(); - } -} - -- (void)stop { - notifyFd(_shutdownWriteFd); -} - -- (void)notifyOtherRealms { - notifyFd(_notifyFd); -} -@end diff --git a/submodules/Postbox/Sources/Postbox.h b/submodules/Postbox/Sources/Postbox.h deleted file mode 100644 index 4daa6ca180..0000000000 --- a/submodules/Postbox/Sources/Postbox.h +++ /dev/null @@ -1,20 +0,0 @@ -// -// Postbox.h -// Postbox -// -// Created by Peter on 10/06/15. -// Copyright (c) 2015 Telegram. All rights reserved. -// - -#import - -//! Project version number for Postbox. -FOUNDATION_EXPORT double PostboxVersionNumber; - -//! Project version string for Postbox. -FOUNDATION_EXPORT const unsigned char PostboxVersionString[]; - -// In this header, you should import all the public headers of your framework using statements like #import - -#import -//#import diff --git a/submodules/Postbox/Sources/StringIndexTokens.swift b/submodules/Postbox/Sources/StringIndexTokens.swift index 6ca16057c8..b69265ae43 100644 --- a/submodules/Postbox/Sources/StringIndexTokens.swift +++ b/submodules/Postbox/Sources/StringIndexTokens.swift @@ -1,5 +1,5 @@ import Foundation -import sqlcipher +import StringTransliteration public enum StringIndexTokenTransliteration { case none diff --git a/submodules/Postbox/Sources/module.private.modulemap b/submodules/Postbox/Sources/module.private.modulemap deleted file mode 100644 index d1995c7a69..0000000000 --- a/submodules/Postbox/Sources/module.private.modulemap +++ /dev/null @@ -1,3 +0,0 @@ -module Postbox.PostboxPrivate { - export * -} diff --git a/submodules/Reachability/BUCK b/submodules/Reachability/BUCK new file mode 100644 index 0000000000..341dbb890f --- /dev/null +++ b/submodules/Reachability/BUCK @@ -0,0 +1,18 @@ +load("//Config:buck_rule_macros.bzl", "static_library") + +static_library( + name = "Reachability", + srcs = glob([ + "Sources/*.m", + ]), + headers = glob([ + "Sources/*.h", + ]), + exported_headers = glob([ + "PublicHeaders/**/*.h", + ]), + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + "$SDKROOT/System/Library/Frameworks/SystemConfiguration.framework", + ], +) diff --git a/submodules/Reachability/BUILD b/submodules/Reachability/BUILD new file mode 100644 index 0000000000..35b3371126 --- /dev/null +++ b/submodules/Reachability/BUILD @@ -0,0 +1,22 @@ + +objc_library( + name = "Reachability", + enable_modules = True, + module_name = "Reachability", + srcs = glob([ + "Sources/*.m", + ]), + hdrs = glob([ + "PublicHeaders/**/*.h", + ]), + includes = [ + "PublicHeaders", + ], + sdk_frameworks = [ + "Foundation", + "SystemConfiguration", + ], + visibility = [ + "//visibility:public", + ], +) diff --git a/submodules/TelegramCore/Sources/Reachability.h b/submodules/Reachability/PublicHeaders/Reachability/Reachability.h similarity index 100% rename from submodules/TelegramCore/Sources/Reachability.h rename to submodules/Reachability/PublicHeaders/Reachability/Reachability.h diff --git a/submodules/TelegramCore/Sources/Reachability.m b/submodules/Reachability/Sources/Reachability.m similarity index 99% rename from submodules/TelegramCore/Sources/Reachability.m rename to submodules/Reachability/Sources/Reachability.m index be67002fa3..4b3abb5088 100644 --- a/submodules/TelegramCore/Sources/Reachability.m +++ b/submodules/Reachability/Sources/Reachability.m @@ -14,7 +14,7 @@ #import -#import "Reachability.h" +#import #import #import diff --git a/submodules/StringTransliteration/BUCK b/submodules/StringTransliteration/BUCK new file mode 100644 index 0000000000..a1ce2b1f75 --- /dev/null +++ b/submodules/StringTransliteration/BUCK @@ -0,0 +1,19 @@ +load("//Config:buck_rule_macros.bzl", "static_library") + +static_library( + name = "StringTransliteration", + srcs = glob([ + "Sources/*.m", + ]), + headers = glob([ + "Sources/*.h", + ]), + exported_headers = glob([ + "PublicHeaders/**/*.h", + ]), + deps = [ + ], + frameworks = [ + "$SDKROOT/System/Library/Frameworks/Foundation.framework", + ], +) diff --git a/submodules/StringTransliteration/BUILD b/submodules/StringTransliteration/BUILD new file mode 100644 index 0000000000..7f95d12d70 --- /dev/null +++ b/submodules/StringTransliteration/BUILD @@ -0,0 +1,21 @@ + +objc_library( + name = "StringTransliteration", + enable_modules = True, + module_name = "StringTransliteration", + srcs = glob([ + "Source/*.m", + ]), + hdrs = glob([ + "PublicHeaders/**/*.h", + ]), + includes = [ + "PublicHeaders", + ], + sdk_frameworks = [ + "Foundation", + ], + visibility = [ + "//visibility:public", + ], +) diff --git a/submodules/StringTransliteration/PublicHeaders/StringTransliteration/StringTransliteration.h b/submodules/StringTransliteration/PublicHeaders/StringTransliteration/StringTransliteration.h new file mode 100644 index 0000000000..fb45a0a2fa --- /dev/null +++ b/submodules/StringTransliteration/PublicHeaders/StringTransliteration/StringTransliteration.h @@ -0,0 +1,8 @@ +#ifndef StringTransliteration_h +#define StringTransliteration_h + +#import + +NSString *postboxTransformedString(CFStringRef string, bool replaceWithTransliteratedVersion, bool appendTransliteratedVersion); + +#endif diff --git a/submodules/StringTransliteration/Sources/StringTransliteration.m b/submodules/StringTransliteration/Sources/StringTransliteration.m new file mode 100644 index 0000000000..70238f4633 --- /dev/null +++ b/submodules/StringTransliteration/Sources/StringTransliteration.m @@ -0,0 +1,19 @@ +#import + +NSString *postboxTransformedString(CFStringRef string, bool replaceWithTransliteratedVersion, bool appendTransliteratedVersion) { + NSMutableString *mutableString = [[NSMutableString alloc] initWithString:(__bridge NSString * _Nonnull)(string)]; + CFStringTransform((CFMutableStringRef)mutableString, NULL, kCFStringTransformStripCombiningMarks, false); + + if (replaceWithTransliteratedVersion || appendTransliteratedVersion) { + NSMutableString *transliteratedString = [[NSMutableString alloc] initWithString:mutableString]; + CFStringTransform((CFMutableStringRef)transliteratedString, NULL, kCFStringTransformToLatin, false); + if (replaceWithTransliteratedVersion) { + return transliteratedString; + } else { + [mutableString appendString:@" "]; + [mutableString appendString:transliteratedString]; + } + } + + return mutableString; +} diff --git a/submodules/SyncCore/BUILD b/submodules/SyncCore/BUILD new file mode 100644 index 0000000000..a157f44704 --- /dev/null +++ b/submodules/SyncCore/BUILD @@ -0,0 +1,16 @@ +load("@build_bazel_rules_swift//swift:swift.bzl", "swift_library") + +swift_library( + name = "SyncCore", + module_name = "SyncCore", + srcs = glob([ + "Sources/**/*.swift", + ]), + deps = [ + "//submodules/SSignalKit/SwiftSignalKit:SwiftSignalKit", + "//submodules/Postbox:Postbox", + ], + visibility = [ + "//visibility:public", + ], +) diff --git a/submodules/SyncCore/Sources/AccountBackupDataAttribute.swift b/submodules/SyncCore/Sources/AccountBackupDataAttribute.swift index 339147a1d3..e2c90facfa 100644 --- a/submodules/SyncCore/Sources/AccountBackupDataAttribute.swift +++ b/submodules/SyncCore/Sources/AccountBackupDataAttribute.swift @@ -1,3 +1,4 @@ +import Foundation import Postbox public struct AccountBackupData: Codable, Equatable { diff --git a/submodules/SyncCore/Sources/CachedResolvedByNamePeer.swift b/submodules/SyncCore/Sources/CachedResolvedByNamePeer.swift index b0946c5611..cc358b3c1e 100644 --- a/submodules/SyncCore/Sources/CachedResolvedByNamePeer.swift +++ b/submodules/SyncCore/Sources/CachedResolvedByNamePeer.swift @@ -1,3 +1,4 @@ +import Foundation import Postbox public final class CachedResolvedByNamePeer: PostboxCoding { diff --git a/submodules/SyncCore/Sources/CachedSecureIdConfiguration.swift b/submodules/SyncCore/Sources/CachedSecureIdConfiguration.swift index e93cf426f2..8d8200bfb9 100644 --- a/submodules/SyncCore/Sources/CachedSecureIdConfiguration.swift +++ b/submodules/SyncCore/Sources/CachedSecureIdConfiguration.swift @@ -1,3 +1,4 @@ +import Foundation import Postbox public struct SecureIdConfiguration: PostboxCoding { diff --git a/submodules/SyncCore/Sources/CloudFileMediaResource.swift b/submodules/SyncCore/Sources/CloudFileMediaResource.swift index 675c85f58a..6b593e5aa8 100644 --- a/submodules/SyncCore/Sources/CloudFileMediaResource.swift +++ b/submodules/SyncCore/Sources/CloudFileMediaResource.swift @@ -1,3 +1,4 @@ +import Foundation import Postbox public struct CloudFileMediaResourceId: MediaResourceId { diff --git a/submodules/SyncCore/Sources/ProxySettings.swift b/submodules/SyncCore/Sources/ProxySettings.swift index 6655cad742..468875d45d 100644 --- a/submodules/SyncCore/Sources/ProxySettings.swift +++ b/submodules/SyncCore/Sources/ProxySettings.swift @@ -1,3 +1,4 @@ +import Foundation import Postbox public enum ProxyServerConnection: Equatable, Hashable, PostboxCoding { diff --git a/submodules/SyncCore/Sources/SecretChatOutgoingOperation.swift b/submodules/SyncCore/Sources/SecretChatOutgoingOperation.swift index 28d3616e32..208617047d 100644 --- a/submodules/SyncCore/Sources/SecretChatOutgoingOperation.swift +++ b/submodules/SyncCore/Sources/SecretChatOutgoingOperation.swift @@ -1,3 +1,4 @@ +import Foundation import Postbox private enum SecretChatOutgoingFileValue: Int32 { diff --git a/submodules/SyncCore/Sources/SecretFileEncryptionKey.swift b/submodules/SyncCore/Sources/SecretFileEncryptionKey.swift index dfc417237a..5fb17a35f1 100644 --- a/submodules/SyncCore/Sources/SecretFileEncryptionKey.swift +++ b/submodules/SyncCore/Sources/SecretFileEncryptionKey.swift @@ -1,3 +1,4 @@ +import Foundation import Postbox public final class SecretFileEncryptionKey: PostboxCoding, Equatable { diff --git a/submodules/SyncCore/Sources/SecureFileMediaResource.swift b/submodules/SyncCore/Sources/SecureFileMediaResource.swift index 2c135dfb4b..b55fcbab4d 100644 --- a/submodules/SyncCore/Sources/SecureFileMediaResource.swift +++ b/submodules/SyncCore/Sources/SecureFileMediaResource.swift @@ -1,3 +1,4 @@ +import Foundation import Postbox public struct SecureFileMediaResourceId: MediaResourceId { diff --git a/submodules/SyncCore/Sources/SecureIdFileReference.swift b/submodules/SyncCore/Sources/SecureIdFileReference.swift index 7ae84288ce..6a8d4a4791 100644 --- a/submodules/SyncCore/Sources/SecureIdFileReference.swift +++ b/submodules/SyncCore/Sources/SecureIdFileReference.swift @@ -1,3 +1,4 @@ +import Foundation import Postbox public struct SecureIdFileReference: Equatable { diff --git a/submodules/SyncCore/Sources/TelegramMediaFile.swift b/submodules/SyncCore/Sources/TelegramMediaFile.swift index 535e7eae78..02b38d4d34 100644 --- a/submodules/SyncCore/Sources/TelegramMediaFile.swift +++ b/submodules/SyncCore/Sources/TelegramMediaFile.swift @@ -1,3 +1,4 @@ +import Foundation import Postbox private let typeFileName: Int32 = 0 diff --git a/submodules/SyncCore/Sources/TelegramMediaImage.swift b/submodules/SyncCore/Sources/TelegramMediaImage.swift index 2717009705..cfdef02627 100644 --- a/submodules/SyncCore/Sources/TelegramMediaImage.swift +++ b/submodules/SyncCore/Sources/TelegramMediaImage.swift @@ -1,3 +1,4 @@ +import Foundation import Postbox public enum TelegramMediaImageReference: PostboxCoding, Equatable { diff --git a/submodules/SyncCore/Sources/TelegramMediaPoll.swift b/submodules/SyncCore/Sources/TelegramMediaPoll.swift index f01ba73c87..3fb4336fa1 100644 --- a/submodules/SyncCore/Sources/TelegramMediaPoll.swift +++ b/submodules/SyncCore/Sources/TelegramMediaPoll.swift @@ -1,3 +1,4 @@ +import Foundation import Postbox public struct TelegramMediaPollOption: Equatable, PostboxCoding { diff --git a/submodules/SyncCore/Sources/TemporaryTwoStepPasswordToken.swift b/submodules/SyncCore/Sources/TemporaryTwoStepPasswordToken.swift index 00ddcd8b3b..81d327eff3 100644 --- a/submodules/SyncCore/Sources/TemporaryTwoStepPasswordToken.swift +++ b/submodules/SyncCore/Sources/TemporaryTwoStepPasswordToken.swift @@ -1,3 +1,4 @@ +import Foundation import Postbox public struct TemporaryTwoStepPasswordToken: PostboxCoding, Equatable { diff --git a/submodules/SyncCore/Sources/WalletCollection.swift b/submodules/SyncCore/Sources/WalletCollection.swift index 1a01954871..acfe00e3c2 100644 --- a/submodules/SyncCore/Sources/WalletCollection.swift +++ b/submodules/SyncCore/Sources/WalletCollection.swift @@ -1,3 +1,4 @@ +import Foundation import Postbox public struct WalletCollectionItem: Equatable, PostboxCoding { diff --git a/submodules/TelegramApi/BUILD b/submodules/TelegramApi/BUILD new file mode 100644 index 0000000000..3d90026e09 --- /dev/null +++ b/submodules/TelegramApi/BUILD @@ -0,0 +1,12 @@ +load("@build_bazel_rules_swift//swift:swift.bzl", "swift_library") + +swift_library( + name = "TelegramApi", + module_name = "TelegramApi", + srcs = glob([ + "Sources/**/*.swift", + ]), + visibility = [ + "//visibility:public", + ], +) diff --git a/submodules/TelegramCore/BUCK b/submodules/TelegramCore/BUCK index 181d1aaecf..c54f8b3bd5 100644 --- a/submodules/TelegramCore/BUCK +++ b/submodules/TelegramCore/BUCK @@ -4,18 +4,7 @@ framework( name = "TelegramCore", srcs = glob([ "Sources/*.swift", - "Sources/*.m", ]), - headers = [ - "Sources/Crypto.h", - "Sources/NetworkLogging.h", - "Sources/Reachability.h", - ], - exported_headers = [ - "Sources/Crypto.h", - "Sources/NetworkLogging.h", - "Sources/Reachability.h", - ], deps = [ "//submodules/TelegramApi:TelegramApi#shared", "//submodules/MtProtoKit:MtProtoKit#shared", @@ -24,9 +13,11 @@ framework( "//submodules/SyncCore:SyncCore#shared", "//submodules/CloudData:CloudData", "//submodules/EncryptionProvider:EncryptionProvider", + "//submodules/CryptoUtils:CryptoUtils", + "//submodules/NetworkLogging:NetworkLogging", + "//submodules/Reachability:Reachability", ], frameworks = [ "$SDKROOT/System/Library/Frameworks/Foundation.framework", ], ) - diff --git a/submodules/TelegramCore/BUILD b/submodules/TelegramCore/BUILD new file mode 100644 index 0000000000..8d28b82d2e --- /dev/null +++ b/submodules/TelegramCore/BUILD @@ -0,0 +1,24 @@ +load("@build_bazel_rules_swift//swift:swift.bzl", "swift_library") + +swift_library( + name = "TelegramCore", + module_name = "TelegramCore", + srcs = glob([ + "Sources/**/*.swift", + ]), + deps = [ + "//submodules/TelegramApi:TelegramApi", + "//submodules/MtProtoKit:MtProtoKit", + "//submodules/SSignalKit/SwiftSignalKit:SwiftSignalKit", + "//submodules/Postbox:Postbox", + "//submodules/SyncCore:SyncCore", + "//submodules/CloudData:CloudData", + "//submodules/EncryptionProvider:EncryptionProvider", + "//submodules/CryptoUtils:CryptoUtils", + "//submodules/NetworkLogging:NetworkLogging", + "//submodules/Reachability:Reachability", + ], + visibility = [ + "//visibility:public", + ], +) diff --git a/submodules/TelegramCore/Sources/AccessSecureId.swift b/submodules/TelegramCore/Sources/AccessSecureId.swift index 8800f0b254..11bdaadc44 100644 --- a/submodules/TelegramCore/Sources/AccessSecureId.swift +++ b/submodules/TelegramCore/Sources/AccessSecureId.swift @@ -2,6 +2,7 @@ import Foundation import Postbox import MtProtoKit import SwiftSignalKit +import CryptoUtils private enum GenerateSecureSecretError { case generic diff --git a/submodules/TelegramCore/Sources/Account.swift b/submodules/TelegramCore/Sources/Account.swift index d28d1ee0a1..e0857de4f3 100644 --- a/submodules/TelegramCore/Sources/Account.swift +++ b/submodules/TelegramCore/Sources/Account.swift @@ -3,7 +3,7 @@ import Postbox import SwiftSignalKit import MtProtoKit import TelegramApi - +import CryptoUtils import SyncCore import EncryptionProvider diff --git a/submodules/TelegramCore/Sources/ChatUpdatingMessageMedia.swift b/submodules/TelegramCore/Sources/ChatUpdatingMessageMedia.swift index f3fa1baf1a..fec9229846 100644 --- a/submodules/TelegramCore/Sources/ChatUpdatingMessageMedia.swift +++ b/submodules/TelegramCore/Sources/ChatUpdatingMessageMedia.swift @@ -1,7 +1,6 @@ import Foundation import Postbox import SyncCore -import TelegramCore public final class ChatUpdatingMessageMedia: Equatable { public let text: String diff --git a/submodules/TelegramCore/Sources/ContactManagement.swift b/submodules/TelegramCore/Sources/ContactManagement.swift index bf5d391db8..f2bb32ffc9 100644 --- a/submodules/TelegramCore/Sources/ContactManagement.swift +++ b/submodules/TelegramCore/Sources/ContactManagement.swift @@ -2,7 +2,7 @@ import Foundation import TelegramApi import Postbox import SwiftSignalKit - +import CryptoUtils import SyncCore private func md5(_ data: Data) -> Data { diff --git a/submodules/TelegramCore/Sources/Log.swift b/submodules/TelegramCore/Sources/Log.swift index 0341d6f8ea..9df787eb5b 100644 --- a/submodules/TelegramCore/Sources/Log.swift +++ b/submodules/TelegramCore/Sources/Log.swift @@ -2,6 +2,7 @@ import Foundation import SwiftSignalKit import Postbox import TelegramApi +import NetworkLogging private let queue = DispatchQueue(label: "org.telegram.Telegram.trace", qos: .utility) diff --git a/submodules/TelegramCore/Sources/MD5.swift b/submodules/TelegramCore/Sources/MD5.swift index c970e11ad0..3c64edda8e 100644 --- a/submodules/TelegramCore/Sources/MD5.swift +++ b/submodules/TelegramCore/Sources/MD5.swift @@ -1,5 +1,6 @@ import Foundation import Postbox +import CryptoUtils public extension MemoryBuffer { func md5Digest() -> Data { diff --git a/submodules/TelegramCore/Sources/MultipartUpload.swift b/submodules/TelegramCore/Sources/MultipartUpload.swift index 39bbaa396e..ac1246a68b 100644 --- a/submodules/TelegramCore/Sources/MultipartUpload.swift +++ b/submodules/TelegramCore/Sources/MultipartUpload.swift @@ -3,7 +3,7 @@ import Postbox import TelegramApi import SwiftSignalKit import MtProtoKit - +import CryptoUtils import SyncCore private typealias SignalKitTimer = SwiftSignalKit.Timer diff --git a/submodules/TelegramCore/Sources/Network.swift b/submodules/TelegramCore/Sources/Network.swift index 24b84d3fff..ffb02ddf7b 100644 --- a/submodules/TelegramCore/Sources/Network.swift +++ b/submodules/TelegramCore/Sources/Network.swift @@ -1,9 +1,9 @@ import Foundation - import Postbox import TelegramApi import SwiftSignalKit import MtProtoKit +import NetworkLogging #if os(iOS) import CloudData diff --git a/submodules/TelegramCore/Sources/NetworkType.swift b/submodules/TelegramCore/Sources/NetworkType.swift index 9cdf3833b6..52e111a845 100644 --- a/submodules/TelegramCore/Sources/NetworkType.swift +++ b/submodules/TelegramCore/Sources/NetworkType.swift @@ -1,6 +1,7 @@ import Foundation import SwiftSignalKit import MtProtoKit +import Reachability #if os(iOS) import CoreTelephony #endif diff --git a/submodules/TelegramCore/Sources/PendingMessageUploadedContent.swift b/submodules/TelegramCore/Sources/PendingMessageUploadedContent.swift index e808ed503f..bcf231fa2f 100644 --- a/submodules/TelegramCore/Sources/PendingMessageUploadedContent.swift +++ b/submodules/TelegramCore/Sources/PendingMessageUploadedContent.swift @@ -2,7 +2,7 @@ import Foundation import Postbox import TelegramApi import SwiftSignalKit - +import CryptoUtils import SyncCore enum PendingMessageUploadedContent { diff --git a/submodules/TelegramCore/Sources/SecureIdConfiguration.swift b/submodules/TelegramCore/Sources/SecureIdConfiguration.swift index 46c2336775..2aa9cc2e98 100644 --- a/submodules/TelegramCore/Sources/SecureIdConfiguration.swift +++ b/submodules/TelegramCore/Sources/SecureIdConfiguration.swift @@ -1,3 +1,4 @@ +import Foundation import Postbox import MtProtoKit import SwiftSignalKit diff --git a/submodules/TextFormat/BUILD b/submodules/TextFormat/BUILD new file mode 100644 index 0000000000..b182b53814 --- /dev/null +++ b/submodules/TextFormat/BUILD @@ -0,0 +1,19 @@ +load("@build_bazel_rules_swift//swift:swift.bzl", "swift_library") + +swift_library( + name = "TextFormat", + module_name = "TextFormat", + srcs = glob([ + "Sources/**/*.swift", + ]), + deps = [ + "//submodules/TelegramCore:TelegramCore", + "//submodules/SyncCore:SyncCore", + "//submodules/Display:Display", + "//submodules/TelegramPresentationData:TelegramPresentationData", + "//submodules/Markdown:Markdown", + ], + visibility = [ + "//visibility:public", + ], +) diff --git a/submodules/TextFormat/Info.plist b/submodules/TextFormat/Info.plist deleted file mode 100644 index e1fe4cfb7b..0000000000 --- a/submodules/TextFormat/Info.plist +++ /dev/null @@ -1,22 +0,0 @@ - - - - - CFBundleDevelopmentRegion - $(DEVELOPMENT_LANGUAGE) - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - FMWK - CFBundleShortVersionString - 1.0 - CFBundleVersion - $(CURRENT_PROJECT_VERSION) - - diff --git a/submodules/TinyThumbnail/BUILD b/submodules/TinyThumbnail/BUILD new file mode 100644 index 0000000000..390a77b9fe --- /dev/null +++ b/submodules/TinyThumbnail/BUILD @@ -0,0 +1,12 @@ +load("@build_bazel_rules_swift//swift:swift.bzl", "swift_library") + +swift_library( + name = "TinyThumbnail", + module_name = "TinyThumbnail", + srcs = glob([ + "Sources/**/*.swift", + ]), + visibility = [ + "//visibility:public", + ], +) diff --git a/submodules/TinyThumbnail/Info.plist b/submodules/TinyThumbnail/Info.plist deleted file mode 100644 index e1fe4cfb7b..0000000000 --- a/submodules/TinyThumbnail/Info.plist +++ /dev/null @@ -1,22 +0,0 @@ - - - - - CFBundleDevelopmentRegion - $(DEVELOPMENT_LANGUAGE) - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - FMWK - CFBundleShortVersionString - 1.0 - CFBundleVersion - $(CURRENT_PROJECT_VERSION) - - diff --git a/submodules/TinyThumbnail/Sources/TinyThumbnail.h b/submodules/TinyThumbnail/Sources/TinyThumbnail.h deleted file mode 100644 index a7b8ea6aca..0000000000 --- a/submodules/TinyThumbnail/Sources/TinyThumbnail.h +++ /dev/null @@ -1,19 +0,0 @@ -// -// TinyThumbnail.h -// TinyThumbnail -// -// Created by Peter on 8/10/19. -// Copyright © 2019 Telegram Messenger LLP. All rights reserved. -// - -#import - -//! Project version number for TinyThumbnail. -FOUNDATION_EXPORT double TinyThumbnailVersionNumber; - -//! Project version string for TinyThumbnail. -FOUNDATION_EXPORT const unsigned char TinyThumbnailVersionString[]; - -// In this header, you should import all the public headers of your framework using statements like #import - - diff --git a/submodules/Tuples/BUILD b/submodules/Tuples/BUILD new file mode 100644 index 0000000000..b9e8a036dc --- /dev/null +++ b/submodules/Tuples/BUILD @@ -0,0 +1,12 @@ +load("@build_bazel_rules_swift//swift:swift.bzl", "swift_library") + +swift_library( + name = "Tuples", + module_name = "Tuples", + srcs = glob([ + "Sources/**/*.swift", + ]), + visibility = [ + "//visibility:public", + ], +) diff --git a/submodules/sqlcipher/BUCK b/submodules/sqlcipher/BUCK index 8bd14acfbf..8411d124e2 100644 --- a/submodules/sqlcipher/BUCK +++ b/submodules/sqlcipher/BUCK @@ -12,18 +12,12 @@ static_library( srcs = glob([ "Sources/*.c", ]), - headers = [ - "Sources/sqlcipher_config.h", - "Sources/sqlite3.h", - "Sources/sqlite3ext.h", - ], - exported_headers = [ - "Sources/sqlcipher_config.h", - "Sources/sqlite3.h", - "Sources/sqlite3ext.h", - ], - deps = [ - ], + headers = glob([ + "Sources/*.h", + ]), + exported_headers = glob([ + "PublicHeaders/**/*.h", + ]), frameworks = [ "$SDKROOT/System/Library/Frameworks/Foundation.framework", ], diff --git a/submodules/sqlcipher/BUILD b/submodules/sqlcipher/BUILD new file mode 100644 index 0000000000..a0139f65b4 --- /dev/null +++ b/submodules/sqlcipher/BUILD @@ -0,0 +1,32 @@ + +public_headers = glob([ + "PublicHeaders/**/*.h", +]) + +objc_library( + name = "sqlcipher", + enable_modules = True, + module_name = "sqlcipher", + srcs = glob([ + "Sources/*.c", + "Sources/*.h", + ], exclude = public_headers), + hdrs = public_headers, + includes = [ + "PublicHeaders", + ], + copts = [ + "-DDSQLITE_HAS_CODEC=1", + "-DSQLCIPHER_CRYPTO_CC=1", + "-DSQLITE_ENABLE_FTS5", + "-DSQLITE_DEFAULT_MEMSTATUS=0", + "-DNDEBUG", + ], + sdk_frameworks = [ + "Foundation", + "Security", + ], + visibility = [ + "//visibility:public", + ], +) diff --git a/submodules/sqlcipher/Info.plist b/submodules/sqlcipher/Info.plist deleted file mode 100644 index e1fe4cfb7b..0000000000 --- a/submodules/sqlcipher/Info.plist +++ /dev/null @@ -1,22 +0,0 @@ - - - - - CFBundleDevelopmentRegion - $(DEVELOPMENT_LANGUAGE) - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - FMWK - CFBundleShortVersionString - 1.0 - CFBundleVersion - $(CURRENT_PROJECT_VERSION) - - diff --git a/submodules/sqlcipher/Sources/sqlcipher_config.h b/submodules/sqlcipher/PublicHeaders/sqlcipher/sqlcipher_config.h similarity index 100% rename from submodules/sqlcipher/Sources/sqlcipher_config.h rename to submodules/sqlcipher/PublicHeaders/sqlcipher/sqlcipher_config.h diff --git a/submodules/sqlcipher/Sources/sqlite3.h b/submodules/sqlcipher/PublicHeaders/sqlcipher/sqlite3.h similarity index 100% rename from submodules/sqlcipher/Sources/sqlite3.h rename to submodules/sqlcipher/PublicHeaders/sqlcipher/sqlite3.h diff --git a/submodules/sqlcipher/Sources/sqlite3ext.h b/submodules/sqlcipher/PublicHeaders/sqlcipher/sqlite3ext.h similarity index 100% rename from submodules/sqlcipher/Sources/sqlite3ext.h rename to submodules/sqlcipher/PublicHeaders/sqlcipher/sqlite3ext.h