From bc3aa4963504e3c267ad0a7e6f4b179c1a84ab1f Mon Sep 17 00:00:00 2001 From: macmade Date: Wed, 13 Nov 2024 21:28:41 +0100 Subject: [PATCH] chore: Added an Xcode project --- SwiftSRP-Tests/Info.plist | 24 + SwiftSRP-Tests/SRP.swift | 40 ++ SwiftSRP.xcodeproj/project.pbxproj | 650 ++++++++++++++++++ .../contents.xcworkspacedata | 7 + .../xcschemes/SwiftSRP-Tests.xcscheme | 98 +++ .../xcshareddata/xcschemes/SwiftSRP.xcscheme | 91 +++ SwiftSRP/SRPClient.h | 33 + SwiftSRP/SRPClient.mm | 30 + SwiftSRP/SwiftSRP.h | 25 + 9 files changed, 998 insertions(+) create mode 100644 SwiftSRP-Tests/Info.plist create mode 100644 SwiftSRP-Tests/SRP.swift create mode 100644 SwiftSRP.xcodeproj/project.pbxproj create mode 100644 SwiftSRP.xcodeproj/project.xcworkspace/contents.xcworkspacedata create mode 100644 SwiftSRP.xcodeproj/xcshareddata/xcschemes/SwiftSRP-Tests.xcscheme create mode 100644 SwiftSRP.xcodeproj/xcshareddata/xcschemes/SwiftSRP.xcscheme create mode 100644 SwiftSRP/SRPClient.h create mode 100644 SwiftSRP/SRPClient.mm create mode 100644 SwiftSRP/SwiftSRP.h diff --git a/SwiftSRP-Tests/Info.plist b/SwiftSRP-Tests/Info.plist new file mode 100644 index 0000000..ba72822 --- /dev/null +++ b/SwiftSRP-Tests/Info.plist @@ -0,0 +1,24 @@ + + + + + CFBundleDevelopmentRegion + en + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + BNDL + CFBundleShortVersionString + 1.0 + CFBundleSignature + ???? + CFBundleVersion + 1 + + diff --git a/SwiftSRP-Tests/SRP.swift b/SwiftSRP-Tests/SRP.swift new file mode 100644 index 0000000..b70ca3a --- /dev/null +++ b/SwiftSRP-Tests/SRP.swift @@ -0,0 +1,40 @@ +/******************************************************************************* + * The MIT License (MIT) + * + * Copyright (c) 2023, Jean-David Gadina - www.xs-labs.com + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the Software), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED AS IS, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + ******************************************************************************/ + +import Foundation +import SwiftSRP +import XCTest + +final class SRPTest: XCTestCase +{ + func testFoo() + { + XCTAssertTrue( true ) + } + + func testBar() + { + XCTAssertTrue( true ) + } +} diff --git a/SwiftSRP.xcodeproj/project.pbxproj b/SwiftSRP.xcodeproj/project.pbxproj new file mode 100644 index 0000000..db8decf --- /dev/null +++ b/SwiftSRP.xcodeproj/project.pbxproj @@ -0,0 +1,650 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 54; + objects = { + +/* Begin PBXBuildFile section */ + 058A42732CE53F5A00768026 /* SwiftSRP.h in Headers */ = {isa = PBXBuildFile; fileRef = 058A42712CE53F5A00768026 /* SwiftSRP.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 058A42772CE5406800768026 /* SwiftSRP.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 058A42692CE53F4500768026 /* SwiftSRP.framework */; }; + 058A427C2CE5416800768026 /* SRP.swift in Sources */ = {isa = PBXBuildFile; fileRef = 058A42752CE5405100768026 /* SRP.swift */; }; + 058A428A2CE541E800768026 /* libSRPXX.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 058A42852CE541D700768026 /* libSRPXX.a */; }; + 058A428E2CE5425600768026 /* SRPClient.h in Headers */ = {isa = PBXBuildFile; fileRef = 058A428D2CE5425200768026 /* SRPClient.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 058A42902CE5425B00768026 /* SRPClient.mm in Sources */ = {isa = PBXBuildFile; fileRef = 058A428F2CE5425A00768026 /* SRPClient.mm */; }; +/* End PBXBuildFile section */ + +/* Begin PBXContainerItemProxy section */ + 058A42782CE5407000768026 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 056C87C618C8B0F8006260B3 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 058A42682CE53F4500768026; + remoteInfo = SwiftSRP; + }; + 058A42842CE541D700768026 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 058A427D2CE541D700768026 /* SRPXX.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 056C881218C8B85F006260B3; + remoteInfo = SRPXX; + }; + 058A42862CE541D700768026 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 058A427D2CE541D700768026 /* SRPXX.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 056C58BF1B1898FF00C6214A; + remoteInfo = "SRPXX-Tests"; + }; + 058A42882CE541D700768026 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 058A427D2CE541D700768026 /* SRPXX.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 05D95FFA2CE3B6C80092F68E; + remoteInfo = "SRPXX-Debug"; + }; + 058A428B2CE541EC00768026 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 058A427D2CE541D700768026 /* SRPXX.xcodeproj */; + proxyType = 1; + remoteGlobalIDString = 056C881118C8B85F006260B3; + remoteInfo = SRPXX; + }; +/* End PBXContainerItemProxy section */ + +/* Begin PBXFileReference section */ + 051F09651946EB70004B6E47 /* README.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = ""; }; + 056C58BF1B1898FF00C6214A /* SwiftSRP-Tests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "SwiftSRP-Tests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; + 05818D4F2CDFD2ED00001415 /* CODE_OF_CONDUCT.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = CODE_OF_CONDUCT.md; sourceTree = ""; }; + 05818D502CDFD2ED00001415 /* LICENSE */ = {isa = PBXFileReference; lastKnownFileType = text; path = LICENSE; sourceTree = ""; }; + 05818D512CDFD32400001415 /* FUNDING.yml */ = {isa = PBXFileReference; lastKnownFileType = text.yaml; path = FUNDING.yml; sourceTree = ""; }; + 05818D532CDFD32400001415 /* C++.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "C++.xcconfig"; sourceTree = ""; }; + 05818D542CDFD32400001415 /* Modules.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Modules.xcconfig; sourceTree = ""; }; + 05818D552CDFD32400001415 /* Objective-C.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Objective-C.xcconfig"; sourceTree = ""; }; + 05818D572CDFD32400001415 /* All-Languages.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "All-Languages.xcconfig"; sourceTree = ""; }; + 05818D582CDFD32400001415 /* C++.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "C++.xcconfig"; sourceTree = ""; }; + 05818D592CDFD32400001415 /* Objective-C.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Objective-C.xcconfig"; sourceTree = ""; }; + 05818D5A2CDFD32400001415 /* Objective-C-ARC.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Objective-C-ARC.xcconfig"; sourceTree = ""; }; + 05818D5C2CDFD32400001415 /* Address-Sanitizer.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Address-Sanitizer.xcconfig"; sourceTree = ""; }; + 05818D5D2CDFD32400001415 /* Code-Generation.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Code-Generation.xcconfig"; sourceTree = ""; }; + 05818D5E2CDFD32400001415 /* Language.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Language.xcconfig; sourceTree = ""; }; + 05818D5F2CDFD32400001415 /* Preprocessing.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Preprocessing.xcconfig; sourceTree = ""; }; + 05818D602CDFD32400001415 /* Undefined-Behavior-Sanitizer.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Undefined-Behavior-Sanitizer.xcconfig"; sourceTree = ""; }; + 05818D612CDFD32400001415 /* Warning-Policies.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Warning-Policies.xcconfig"; sourceTree = ""; }; + 05818D622CDFD32400001415 /* Warnings.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Warnings.xcconfig; sourceTree = ""; }; + 05818D642CDFD32400001415 /* Analysis-Policy.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Analysis-Policy.xcconfig"; sourceTree = ""; }; + 05818D652CDFD32400001415 /* Apple-APIs.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Apple-APIs.xcconfig"; sourceTree = ""; }; + 05818D662CDFD32400001415 /* Generic-Issues.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Generic-Issues.xcconfig"; sourceTree = ""; }; + 05818D672CDFD32400001415 /* Objective-C.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Objective-C.xcconfig"; sourceTree = ""; }; + 05818D682CDFD32400001415 /* Security.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Security.xcconfig; sourceTree = ""; }; + 05818D6A2CDFD32400001415 /* Issues.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Issues.xcconfig; sourceTree = ""; }; + 05818D6C2CDFD32400001415 /* Code-Generation.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Code-Generation.xcconfig"; sourceTree = ""; }; + 05818D6D2CDFD32400001415 /* General.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = General.xcconfig; sourceTree = ""; }; + 05818D6E2CDFD32400001415 /* Language.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Language.xcconfig; sourceTree = ""; }; + 05818D6F2CDFD32400001415 /* Warnings-Policies.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Warnings-Policies.xcconfig"; sourceTree = ""; }; + 05818D712CDFD32400001415 /* Apple-LLVM.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Apple-LLVM.xcconfig"; sourceTree = ""; }; + 05818D722CDFD32400001415 /* Architectures.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Architectures.xcconfig; sourceTree = ""; }; + 05818D732CDFD32400001415 /* Build-Options.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Build-Options.xcconfig"; sourceTree = ""; }; + 05818D742CDFD32400001415 /* Deployment.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Deployment.xcconfig; sourceTree = ""; }; + 05818D752CDFD32400001415 /* Search-Paths.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Search-Paths.xcconfig"; sourceTree = ""; }; + 05818D762CDFD32400001415 /* Signing.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Signing.xcconfig; sourceTree = ""; }; + 05818D772CDFD32400001415 /* Static-Analyzer.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Static-Analyzer.xcconfig"; sourceTree = ""; }; + 05818D782CDFD32400001415 /* Swift-Compiler.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Swift-Compiler.xcconfig"; sourceTree = ""; }; + 05818D7A2CDFD32400001415 /* ccache.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = ccache.sh; sourceTree = ""; }; + 05818D7B2CDFD32400001415 /* ccache-config.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = "ccache-config.sh"; sourceTree = ""; }; + 05818D7D2CDFD32400001415 /* .gitignore */ = {isa = PBXFileReference; lastKnownFileType = text; path = .gitignore; sourceTree = ""; }; + 05818D7E2CDFD32400001415 /* CODE_OF_CONDUCT.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = CODE_OF_CONDUCT.md; sourceTree = ""; }; + 05818D7F2CDFD32400001415 /* Common.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Common.xcconfig; sourceTree = ""; }; + 05818D802CDFD32400001415 /* Debug.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Debug.xcconfig; sourceTree = ""; }; + 05818D812CDFD32400001415 /* Debug - ccache.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Debug - ccache.xcconfig"; sourceTree = ""; }; + 05818D822CDFD32400001415 /* Debug - Library.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Debug - Library.xcconfig"; sourceTree = ""; }; + 05818D832CDFD32400001415 /* Debug - zld.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Debug - zld.xcconfig"; sourceTree = ""; }; + 05818D842CDFD32400001415 /* README.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = ""; }; + 05818D852CDFD32400001415 /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Release.xcconfig; sourceTree = ""; }; + 05818D862CDFD32400001415 /* Release - ccache.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Release - ccache.xcconfig"; sourceTree = ""; }; + 05818D872CDFD32400001415 /* Release - Library.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Release - Library.xcconfig"; sourceTree = ""; }; + 058A42692CE53F4500768026 /* SwiftSRP.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = SwiftSRP.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 058A42712CE53F5A00768026 /* SwiftSRP.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SwiftSRP.h; sourceTree = ""; }; + 058A42752CE5405100768026 /* SRP.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SRP.swift; sourceTree = ""; }; + 058A427D2CE541D700768026 /* SRPXX.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = SRPXX.xcodeproj; path = Submodules/SRPXX/SRPXX.xcodeproj; sourceTree = ""; }; + 058A428D2CE5425200768026 /* SRPClient.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SRPClient.h; sourceTree = ""; }; + 058A428F2CE5425A00768026 /* SRPClient.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = SRPClient.mm; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 056C58BC1B1898FF00C6214A /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 058A42772CE5406800768026 /* SwiftSRP.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 058A42662CE53F4500768026 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 058A428A2CE541E800768026 /* libSRPXX.a in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 056C87C518C8B0F8006260B3 = { + isa = PBXGroup; + children = ( + 051F09651946EB70004B6E47 /* README.md */, + 05818D502CDFD2ED00001415 /* LICENSE */, + 05818D4F2CDFD2ED00001415 /* CODE_OF_CONDUCT.md */, + 058A427D2CE541D700768026 /* SRPXX.xcodeproj */, + 058A42722CE53F5A00768026 /* SwiftSRP */, + 058A42742CE53FC000768026 /* SwiftSRP-Tests */, + 05818D882CDFD32400001415 /* xcconfig */, + 058A42762CE5406800768026 /* Frameworks */, + 056C87CF18C8B0F8006260B3 /* Products */, + ); + sourceTree = ""; + }; + 056C87CF18C8B0F8006260B3 /* Products */ = { + isa = PBXGroup; + children = ( + 056C58BF1B1898FF00C6214A /* SwiftSRP-Tests.xctest */, + 058A42692CE53F4500768026 /* SwiftSRP.framework */, + ); + name = Products; + sourceTree = ""; + }; + 05818D522CDFD32400001415 /* .github */ = { + isa = PBXGroup; + children = ( + 05818D512CDFD32400001415 /* FUNDING.yml */, + ); + path = .github; + sourceTree = ""; + }; + 05818D562CDFD32400001415 /* Language */ = { + isa = PBXGroup; + children = ( + 05818D532CDFD32400001415 /* C++.xcconfig */, + 05818D542CDFD32400001415 /* Modules.xcconfig */, + 05818D552CDFD32400001415 /* Objective-C.xcconfig */, + ); + path = Language; + sourceTree = ""; + }; + 05818D5B2CDFD32400001415 /* Warnings */ = { + isa = PBXGroup; + children = ( + 05818D572CDFD32400001415 /* All-Languages.xcconfig */, + 05818D582CDFD32400001415 /* C++.xcconfig */, + 05818D592CDFD32400001415 /* Objective-C.xcconfig */, + 05818D5A2CDFD32400001415 /* Objective-C-ARC.xcconfig */, + ); + path = Warnings; + sourceTree = ""; + }; + 05818D632CDFD32400001415 /* Apple-LLVM */ = { + isa = PBXGroup; + children = ( + 05818D562CDFD32400001415 /* Language */, + 05818D5B2CDFD32400001415 /* Warnings */, + 05818D5C2CDFD32400001415 /* Address-Sanitizer.xcconfig */, + 05818D5D2CDFD32400001415 /* Code-Generation.xcconfig */, + 05818D5E2CDFD32400001415 /* Language.xcconfig */, + 05818D5F2CDFD32400001415 /* Preprocessing.xcconfig */, + 05818D602CDFD32400001415 /* Undefined-Behavior-Sanitizer.xcconfig */, + 05818D612CDFD32400001415 /* Warning-Policies.xcconfig */, + 05818D622CDFD32400001415 /* Warnings.xcconfig */, + ); + path = "Apple-LLVM"; + sourceTree = ""; + }; + 05818D692CDFD32400001415 /* Issues */ = { + isa = PBXGroup; + children = ( + 05818D642CDFD32400001415 /* Analysis-Policy.xcconfig */, + 05818D652CDFD32400001415 /* Apple-APIs.xcconfig */, + 05818D662CDFD32400001415 /* Generic-Issues.xcconfig */, + 05818D672CDFD32400001415 /* Objective-C.xcconfig */, + 05818D682CDFD32400001415 /* Security.xcconfig */, + ); + path = Issues; + sourceTree = ""; + }; + 05818D6B2CDFD32400001415 /* Static-Analyzer */ = { + isa = PBXGroup; + children = ( + 05818D692CDFD32400001415 /* Issues */, + 05818D6A2CDFD32400001415 /* Issues.xcconfig */, + ); + path = "Static-Analyzer"; + sourceTree = ""; + }; + 05818D702CDFD32400001415 /* Swift-Compiler */ = { + isa = PBXGroup; + children = ( + 05818D6C2CDFD32400001415 /* Code-Generation.xcconfig */, + 05818D6D2CDFD32400001415 /* General.xcconfig */, + 05818D6E2CDFD32400001415 /* Language.xcconfig */, + 05818D6F2CDFD32400001415 /* Warnings-Policies.xcconfig */, + ); + path = "Swift-Compiler"; + sourceTree = ""; + }; + 05818D792CDFD32400001415 /* Common */ = { + isa = PBXGroup; + children = ( + 05818D632CDFD32400001415 /* Apple-LLVM */, + 05818D6B2CDFD32400001415 /* Static-Analyzer */, + 05818D702CDFD32400001415 /* Swift-Compiler */, + 05818D712CDFD32400001415 /* Apple-LLVM.xcconfig */, + 05818D722CDFD32400001415 /* Architectures.xcconfig */, + 05818D732CDFD32400001415 /* Build-Options.xcconfig */, + 05818D742CDFD32400001415 /* Deployment.xcconfig */, + 05818D752CDFD32400001415 /* Search-Paths.xcconfig */, + 05818D762CDFD32400001415 /* Signing.xcconfig */, + 05818D772CDFD32400001415 /* Static-Analyzer.xcconfig */, + 05818D782CDFD32400001415 /* Swift-Compiler.xcconfig */, + ); + path = Common; + sourceTree = ""; + }; + 05818D7C2CDFD32400001415 /* Scripts */ = { + isa = PBXGroup; + children = ( + 05818D7A2CDFD32400001415 /* ccache.sh */, + 05818D7B2CDFD32400001415 /* ccache-config.sh */, + ); + path = Scripts; + sourceTree = ""; + }; + 05818D882CDFD32400001415 /* xcconfig */ = { + isa = PBXGroup; + children = ( + 05818D522CDFD32400001415 /* .github */, + 05818D792CDFD32400001415 /* Common */, + 05818D7C2CDFD32400001415 /* Scripts */, + 05818D7D2CDFD32400001415 /* .gitignore */, + 05818D7E2CDFD32400001415 /* CODE_OF_CONDUCT.md */, + 05818D7F2CDFD32400001415 /* Common.xcconfig */, + 05818D802CDFD32400001415 /* Debug.xcconfig */, + 05818D812CDFD32400001415 /* Debug - ccache.xcconfig */, + 05818D822CDFD32400001415 /* Debug - Library.xcconfig */, + 05818D832CDFD32400001415 /* Debug - zld.xcconfig */, + 05818D842CDFD32400001415 /* README.md */, + 05818D852CDFD32400001415 /* Release.xcconfig */, + 05818D862CDFD32400001415 /* Release - ccache.xcconfig */, + 05818D872CDFD32400001415 /* Release - Library.xcconfig */, + ); + name = xcconfig; + path = Submodules/xcconfig; + sourceTree = ""; + }; + 058A42722CE53F5A00768026 /* SwiftSRP */ = { + isa = PBXGroup; + children = ( + 058A42712CE53F5A00768026 /* SwiftSRP.h */, + 058A428D2CE5425200768026 /* SRPClient.h */, + 058A428F2CE5425A00768026 /* SRPClient.mm */, + ); + path = SwiftSRP; + sourceTree = ""; + }; + 058A42742CE53FC000768026 /* SwiftSRP-Tests */ = { + isa = PBXGroup; + children = ( + 058A42752CE5405100768026 /* SRP.swift */, + ); + path = "SwiftSRP-Tests"; + sourceTree = ""; + }; + 058A42762CE5406800768026 /* Frameworks */ = { + isa = PBXGroup; + children = ( + ); + name = Frameworks; + sourceTree = ""; + }; + 058A427E2CE541D700768026 /* Products */ = { + isa = PBXGroup; + children = ( + 058A42852CE541D700768026 /* libSRPXX.a */, + 058A42872CE541D700768026 /* SRPXX-Tests.xctest */, + 058A42892CE541D700768026 /* SRPXX-Debug */, + ); + name = Products; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXHeadersBuildPhase section */ + 058A42642CE53F4500768026 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 058A428E2CE5425600768026 /* SRPClient.h in Headers */, + 058A42732CE53F5A00768026 /* SwiftSRP.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXHeadersBuildPhase section */ + +/* Begin PBXNativeTarget section */ + 056C58BE1B1898FF00C6214A /* SwiftSRP-Tests */ = { + isa = PBXNativeTarget; + buildConfigurationList = 056C58C81B1898FF00C6214A /* Build configuration list for PBXNativeTarget "SwiftSRP-Tests" */; + buildPhases = ( + 056C58BB1B1898FF00C6214A /* Sources */, + 056C58BC1B1898FF00C6214A /* Frameworks */, + 056C58BD1B1898FF00C6214A /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + 058A42792CE5407000768026 /* PBXTargetDependency */, + ); + name = "SwiftSRP-Tests"; + productName = "CF++ Tests"; + productReference = 056C58BF1B1898FF00C6214A /* SwiftSRP-Tests.xctest */; + productType = "com.apple.product-type.bundle.unit-test"; + }; + 058A42682CE53F4500768026 /* SwiftSRP */ = { + isa = PBXNativeTarget; + buildConfigurationList = 058A426E2CE53F4500768026 /* Build configuration list for PBXNativeTarget "SwiftSRP" */; + buildPhases = ( + 058A42642CE53F4500768026 /* Headers */, + 058A42652CE53F4500768026 /* Sources */, + 058A42662CE53F4500768026 /* Frameworks */, + 058A42672CE53F4500768026 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + 058A428C2CE541EC00768026 /* PBXTargetDependency */, + ); + name = SwiftSRP; + packageProductDependencies = ( + ); + productName = SwiftSRP; + productReference = 058A42692CE53F4500768026 /* SwiftSRP.framework */; + productType = "com.apple.product-type.framework"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 056C87C618C8B0F8006260B3 /* Project object */ = { + isa = PBXProject; + attributes = { + BuildIndependentTargetsInParallel = YES; + LastUpgradeCheck = 1610; + ORGANIZATIONNAME = "XS-Labs"; + TargetAttributes = { + 056C58BE1B1898FF00C6214A = { + CreatedOnToolsVersion = 6.4; + DevelopmentTeam = 326Y53CJMD; + ProvisioningStyle = Automatic; + }; + 058A42682CE53F4500768026 = { + CreatedOnToolsVersion = 16.1; + }; + }; + }; + buildConfigurationList = 056C87C918C8B0F8006260B3 /* Build configuration list for PBXProject "SwiftSRP" */; + compatibilityVersion = "Xcode 3.2"; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + ); + mainGroup = 056C87C518C8B0F8006260B3; + productRefGroup = 056C87CF18C8B0F8006260B3 /* Products */; + projectDirPath = ""; + projectReferences = ( + { + ProductGroup = 058A427E2CE541D700768026 /* Products */; + ProjectRef = 058A427D2CE541D700768026 /* SRPXX.xcodeproj */; + }, + ); + projectRoot = ""; + targets = ( + 058A42682CE53F4500768026 /* SwiftSRP */, + 056C58BE1B1898FF00C6214A /* SwiftSRP-Tests */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXReferenceProxy section */ + 058A42852CE541D700768026 /* libSRPXX.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = libSRPXX.a; + remoteRef = 058A42842CE541D700768026 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 058A42872CE541D700768026 /* SRPXX-Tests.xctest */ = { + isa = PBXReferenceProxy; + fileType = wrapper.cfbundle; + path = "SRPXX-Tests.xctest"; + remoteRef = 058A42862CE541D700768026 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 058A42892CE541D700768026 /* SRPXX-Debug */ = { + isa = PBXReferenceProxy; + fileType = "compiled.mach-o.executable"; + path = "SRPXX-Debug"; + remoteRef = 058A42882CE541D700768026 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; +/* End PBXReferenceProxy section */ + +/* Begin PBXResourcesBuildPhase section */ + 056C58BD1B1898FF00C6214A /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 058A42672CE53F4500768026 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 056C58BB1B1898FF00C6214A /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 058A427C2CE5416800768026 /* SRP.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 058A42652CE53F4500768026 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 058A42902CE5425B00768026 /* SRPClient.mm in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXTargetDependency section */ + 058A42792CE5407000768026 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 058A42682CE53F4500768026 /* SwiftSRP */; + targetProxy = 058A42782CE5407000768026 /* PBXContainerItemProxy */; + }; + 058A428C2CE541EC00768026 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = SRPXX; + targetProxy = 058A428B2CE541EC00768026 /* PBXContainerItemProxy */; + }; +/* End PBXTargetDependency section */ + +/* Begin XCBuildConfiguration section */ + 056C58C91B1898FF00C6214A /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + FRAMEWORK_SEARCH_PATHS = ( + "$(DEVELOPER_FRAMEWORKS_DIR)", + "$(inherited)", + ); + INFOPLIST_FILE = "SwiftSRP-Tests/Info.plist"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/../Frameworks", + "@loader_path/../Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = "com.xs-labs.$(PRODUCT_NAME:rfc1034identifier)"; + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Debug; + }; + 056C58CA1B1898FF00C6214A /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + FRAMEWORK_SEARCH_PATHS = ( + "$(DEVELOPER_FRAMEWORKS_DIR)", + "$(inherited)", + ); + INFOPLIST_FILE = "SwiftSRP-Tests/Info.plist"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/../Frameworks", + "@loader_path/../Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = "com.xs-labs.$(PRODUCT_NAME:rfc1034identifier)"; + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Release; + }; + 056C87D518C8B0F8006260B3 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 05818D802CDFD32400001415 /* Debug.xcconfig */; + buildSettings = { + MACOSX_DEPLOYMENT_TARGET = 10.11; + }; + name = Debug; + }; + 056C87D618C8B0F8006260B3 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 05818D852CDFD32400001415 /* Release.xcconfig */; + buildSettings = { + MACOSX_DEPLOYMENT_TARGET = 10.11; + }; + name = Release; + }; + 058A426F2CE53F4500768026 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + GENERATE_INFOPLIST_FILE = YES; + HEADER_SEARCH_PATHS = ( + "$(inherited)", + Submodules/SRPXX/SRPXX/include, + ); + INFOPLIST_KEY_NSHumanReadableCopyright = "Copyright © 2024 XS-Labs. All rights reserved."; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/../Frameworks", + "@loader_path/Frameworks", + ); + LIBRARY_SEARCH_PATHS = ( + "$(inherited)", + Submodules/SRPXX/Submodules/BoringSSL/lib/macOS, + ); + MARKETING_VERSION = 1.0; + OTHER_LDFLAGS = ( + "-lcrypto", + "-lssl", + "-ldecrepit", + ); + PRODUCT_BUNDLE_IDENTIFIER = "com.xs-labs.SwiftSRP"; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + SKIP_INSTALL = YES; + VERSIONING_SYSTEM = "apple-generic"; + }; + name = Debug; + }; + 058A42702CE53F4500768026 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + GENERATE_INFOPLIST_FILE = YES; + HEADER_SEARCH_PATHS = ( + "$(inherited)", + Submodules/SRPXX/SRPXX/include, + ); + INFOPLIST_KEY_NSHumanReadableCopyright = "Copyright © 2024 XS-Labs. All rights reserved."; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/../Frameworks", + "@loader_path/Frameworks", + ); + LIBRARY_SEARCH_PATHS = ( + "$(inherited)", + Submodules/SRPXX/Submodules/BoringSSL/lib/macOS, + ); + MARKETING_VERSION = 1.0; + OTHER_LDFLAGS = ( + "-lcrypto", + "-lssl", + "-ldecrepit", + ); + PRODUCT_BUNDLE_IDENTIFIER = "com.xs-labs.SwiftSRP"; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + SKIP_INSTALL = YES; + VERSIONING_SYSTEM = "apple-generic"; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 056C58C81B1898FF00C6214A /* Build configuration list for PBXNativeTarget "SwiftSRP-Tests" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 056C58C91B1898FF00C6214A /* Debug */, + 056C58CA1B1898FF00C6214A /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 056C87C918C8B0F8006260B3 /* Build configuration list for PBXProject "SwiftSRP" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 056C87D518C8B0F8006260B3 /* Debug */, + 056C87D618C8B0F8006260B3 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 058A426E2CE53F4500768026 /* Build configuration list for PBXNativeTarget "SwiftSRP" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 058A426F2CE53F4500768026 /* Debug */, + 058A42702CE53F4500768026 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = 056C87C618C8B0F8006260B3 /* Project object */; +} diff --git a/SwiftSRP.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/SwiftSRP.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..890c20e --- /dev/null +++ b/SwiftSRP.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/SwiftSRP.xcodeproj/xcshareddata/xcschemes/SwiftSRP-Tests.xcscheme b/SwiftSRP.xcodeproj/xcshareddata/xcschemes/SwiftSRP-Tests.xcscheme new file mode 100644 index 0000000..8a1e722 --- /dev/null +++ b/SwiftSRP.xcodeproj/xcshareddata/xcschemes/SwiftSRP-Tests.xcscheme @@ -0,0 +1,98 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/SwiftSRP.xcodeproj/xcshareddata/xcschemes/SwiftSRP.xcscheme b/SwiftSRP.xcodeproj/xcshareddata/xcschemes/SwiftSRP.xcscheme new file mode 100644 index 0000000..1e6529a --- /dev/null +++ b/SwiftSRP.xcodeproj/xcshareddata/xcschemes/SwiftSRP.xcscheme @@ -0,0 +1,91 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/SwiftSRP/SRPClient.h b/SwiftSRP/SRPClient.h new file mode 100644 index 0000000..2cf7ecb --- /dev/null +++ b/SwiftSRP/SRPClient.h @@ -0,0 +1,33 @@ +/******************************************************************************* + * The MIT License (MIT) + * + * Copyright (c) 2023, Jean-David Gadina - www.xs-labs.com + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the Software), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED AS IS, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + ******************************************************************************/ + +#import + +NS_ASSUME_NONNULL_BEGIN + +@interface SRPClient: NSObject + +@end + +NS_ASSUME_NONNULL_END diff --git a/SwiftSRP/SRPClient.mm b/SwiftSRP/SRPClient.mm new file mode 100644 index 0000000..acc99ff --- /dev/null +++ b/SwiftSRP/SRPClient.mm @@ -0,0 +1,30 @@ +/******************************************************************************* + * The MIT License (MIT) + * + * Copyright (c) 2023, Jean-David Gadina - www.xs-labs.com + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the Software), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED AS IS, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + ******************************************************************************/ + +#import "SRPClient.h" +#import + +@implementation SRPClient + +@end diff --git a/SwiftSRP/SwiftSRP.h b/SwiftSRP/SwiftSRP.h new file mode 100644 index 0000000..f54eec9 --- /dev/null +++ b/SwiftSRP/SwiftSRP.h @@ -0,0 +1,25 @@ +/******************************************************************************* + * The MIT License (MIT) + * + * Copyright (c) 2023, Jean-David Gadina - www.xs-labs.com + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the Software), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED AS IS, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + ******************************************************************************/ + +#import