From 29ec88e4b2c98663559286baf67de560bc455a55 Mon Sep 17 00:00:00 2001 From: Paolo Rossi Date: Fri, 17 Nov 2023 18:07:44 +0100 Subject: [PATCH] Support (packages) for Delphi 12 Athens --- Packages/11.0Alexandria/JOSE.dpk | 2 +- Packages/11.0Alexandria/JOSE.dproj | 1 - Packages/12.0Athens/JOSE.dpk | 89 ++++++++++++++ Packages/12.0Athens/JOSE.dproj | 179 ++++++++++++++++++++++++++++ Packages/12.0Athens/JOSE.res | Bin 0 -> 616 bytes README.md | 2 +- Source/Common/JOSE.Types.Arrays.pas | 2 - 7 files changed, 270 insertions(+), 5 deletions(-) create mode 100644 Packages/12.0Athens/JOSE.dpk create mode 100644 Packages/12.0Athens/JOSE.dproj create mode 100644 Packages/12.0Athens/JOSE.res diff --git a/Packages/11.0Alexandria/JOSE.dpk b/Packages/11.0Alexandria/JOSE.dpk index fe40258..559bf4f 100644 --- a/Packages/11.0Alexandria/JOSE.dpk +++ b/Packages/11.0Alexandria/JOSE.dpk @@ -48,7 +48,7 @@ package JOSE; {$DEFINE DEBUG} {$ENDIF IMPLICITBUILDING} {$DESCRIPTION 'Delphi JOSE JWT Library'} -{$LIBSUFFIX '280'} +{$LIBSUFFIX AUTO} {$RUNONLY} {$IMPLICITBUILD OFF} diff --git a/Packages/11.0Alexandria/JOSE.dproj b/Packages/11.0Alexandria/JOSE.dproj index 9adb680..951d315 100644 --- a/Packages/11.0Alexandria/JOSE.dproj +++ b/Packages/11.0Alexandria/JOSE.dproj @@ -53,7 +53,6 @@ 1033 CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= true - 280 Delphi JOSE JWT Library true true diff --git a/Packages/12.0Athens/JOSE.dpk b/Packages/12.0Athens/JOSE.dpk new file mode 100644 index 0000000..559bf4f --- /dev/null +++ b/Packages/12.0Athens/JOSE.dpk @@ -0,0 +1,89 @@ +{******************************************************************************} +{ } +{ Delphi JOSE Library } +{ Copyright (c) 2015 Paolo Rossi } +{ https://github.com/paolo-rossi/delphi-jose-jwt } +{ } +{******************************************************************************} +{ } +{ Licensed under the Apache License, Version 2.0 (the "License"); } +{ you may not use this file except in compliance with the License. } +{ You may obtain a copy of the License at } +{ } +{ http://www.apache.org/licenses/LICENSE-2.0 } +{ } +{ Unless required by applicable law or agreed to in writing, software } +{ distributed under the License is distributed on an "AS IS" BASIS, } +{ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. } +{ See the License for the specific language governing permissions and } +{ limitations under the License. } +{ } +{******************************************************************************} + +package JOSE; + +{$R *.res} +{$IFDEF IMPLICITBUILDING This IFDEF should not be used by users} +{$ALIGN 8} +{$ASSERTIONS ON} +{$BOOLEVAL OFF} +{$DEBUGINFO OFF} +{$EXTENDEDSYNTAX ON} +{$IMPORTEDDATA ON} +{$IOCHECKS ON} +{$LOCALSYMBOLS ON} +{$LONGSTRINGS ON} +{$OPENSTRINGS ON} +{$OPTIMIZATION OFF} +{$OVERFLOWCHECKS OFF} +{$RANGECHECKS OFF} +{$REFERENCEINFO ON} +{$SAFEDIVIDE OFF} +{$STACKFRAMES ON} +{$TYPEDADDRESS OFF} +{$VARSTRINGCHECKS ON} +{$WRITEABLECONST OFF} +{$MINENUMSIZE 1} +{$IMAGEBASE $400000} +{$DEFINE DEBUG} +{$ENDIF IMPLICITBUILDING} +{$DESCRIPTION 'Delphi JOSE JWT Library'} +{$LIBSUFFIX AUTO} +{$RUNONLY} +{$IMPLICITBUILD OFF} + +requires + rtl, + IndySystem, + IndyProtocols, + IndyCore; + +contains + JOSE.OpenSSL.Headers in '..\..\Source\Common\JOSE.OpenSSL.Headers.pas', + JOSE.Encoding.Base64 in '..\..\Source\Common\JOSE.Encoding.Base64.pas', + JOSE.Hashing.HMAC in '..\..\Source\Common\JOSE.Hashing.HMAC.pas', + JOSE.Signing.Base in '..\..\Source\Common\JOSE.Signing.Base.pas', + JOSE.Signing.RSA in '..\..\Source\Common\JOSE.Signing.RSA.pas', + JOSE.Signing.ECDSA in '..\..\Source\Common\JOSE.Signing.ECDSA.pas', + JOSE.Types.Arrays in '..\..\Source\Common\JOSE.Types.Arrays.pas', + JOSE.Types.Bytes in '..\..\Source\Common\JOSE.Types.Bytes.pas', + JOSE.Types.Utils in '..\..\Source\Common\JOSE.Types.Utils.pas', + JOSE.Types.JSON in '..\..\Source\Common\JOSE.Types.JSON.pas', + JOSE.Core.Base in '..\..\Source\JOSE\JOSE.Core.Base.pas', + JOSE.Core.Builder in '..\..\Source\JOSE\JOSE.Core.Builder.pas', + JOSE.Core.JWA.Compression in '..\..\Source\JOSE\JOSE.Core.JWA.Compression.pas', + JOSE.Core.JWA.Encryption in '..\..\Source\JOSE\JOSE.Core.JWA.Encryption.pas', + JOSE.Core.JWA.Factory in '..\..\Source\JOSE\JOSE.Core.JWA.Factory.pas', + JOSE.Core.JWA in '..\..\Source\JOSE\JOSE.Core.JWA.pas', + JOSE.Core.JWA.Signing in '..\..\Source\JOSE\JOSE.Core.JWA.Signing.pas', + JOSE.Core.JWE in '..\..\Source\JOSE\JOSE.Core.JWE.pas', + JOSE.Core.JWK in '..\..\Source\JOSE\JOSE.Core.JWK.pas', + JOSE.Core.JWS in '..\..\Source\JOSE\JOSE.Core.JWS.pas', + JOSE.Core.JWT in '..\..\Source\JOSE\JOSE.Core.JWT.pas', + JOSE.Core.Parts in '..\..\Source\JOSE\JOSE.Core.Parts.pas', + JOSE.Context in '..\..\Source\JOSE\JOSE.Context.pas', + JOSE.Builder in '..\..\Source\JOSE\JOSE.Builder.pas', + JOSE.Consumer in '..\..\Source\JOSE\JOSE.Consumer.pas', + JOSE.Consumer.Validators in '..\..\Source\JOSE\JOSE.Consumer.Validators.pas'; + +end. diff --git a/Packages/12.0Athens/JOSE.dproj b/Packages/12.0Athens/JOSE.dproj new file mode 100644 index 0000000..f02f5cd --- /dev/null +++ b/Packages/12.0Athens/JOSE.dproj @@ -0,0 +1,179 @@ + + + {6C9DE12E-3603-42EF-921C-877D0FB57D60} + JOSE.dpk + 20.1 + None + True + Debug + Win32 + 3 + Package + + + true + + + true + Base + true + + + true + Base + true + + + true + Base + true + + + true + Base + true + + + true + Base + true + + + true + Cfg_1 + true + true + + + true + Base + true + + + .\$(Platform)\$(Config) + false + false + false + false + false + true + true + All + JOSE + 1033 + CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= + true + Delphi JOSE JWT Library + true + true + ..\..\Lib\$(DLLSUFFIX)\$(Platform)\$(Config) + + + package=com.embarcadero.$(MSBuildProjectName);label=$(MSBuildProjectName);versionCode=1;versionName=1.0.0;persistent=False;restoreAnyVersion=False;installLocation=auto;largeHeap=False;theme=TitleBar;hardwareAccelerated=true;apiKey= + Debug + false + activity-1.7.2.dex.jar;annotation-experimental-1.3.0.dex.jar;annotation-jvm-1.6.0.dex.jar;annotations-13.0.dex.jar;appcompat-1.2.0.dex.jar;appcompat-resources-1.2.0.dex.jar;billing-6.0.1.dex.jar;biometric-1.1.0.dex.jar;browser-1.4.0.dex.jar;cloud-messaging.dex.jar;collection-1.1.0.dex.jar;concurrent-futures-1.1.0.dex.jar;core-1.10.1.dex.jar;core-common-2.2.0.dex.jar;core-ktx-1.10.1.dex.jar;core-runtime-2.2.0.dex.jar;cursoradapter-1.0.0.dex.jar;customview-1.0.0.dex.jar;documentfile-1.0.0.dex.jar;drawerlayout-1.0.0.dex.jar;error_prone_annotations-2.9.0.dex.jar;exifinterface-1.3.6.dex.jar;firebase-annotations-16.2.0.dex.jar;firebase-common-20.3.1.dex.jar;firebase-components-17.1.0.dex.jar;firebase-datatransport-18.1.7.dex.jar;firebase-encoders-17.0.0.dex.jar;firebase-encoders-json-18.0.0.dex.jar;firebase-encoders-proto-16.0.0.dex.jar;firebase-iid-interop-17.1.0.dex.jar;firebase-installations-17.1.3.dex.jar;firebase-installations-interop-17.1.0.dex.jar;firebase-measurement-connector-19.0.0.dex.jar;firebase-messaging-23.1.2.dex.jar;fmx.dex.jar;fragment-1.2.5.dex.jar;google-play-licensing.dex.jar;interpolator-1.0.0.dex.jar;javax.inject-1.dex.jar;kotlin-stdlib-1.8.22.dex.jar;kotlin-stdlib-common-1.8.22.dex.jar;kotlin-stdlib-jdk7-1.8.22.dex.jar;kotlin-stdlib-jdk8-1.8.22.dex.jar;kotlinx-coroutines-android-1.6.4.dex.jar;kotlinx-coroutines-core-jvm-1.6.4.dex.jar;legacy-support-core-utils-1.0.0.dex.jar;lifecycle-common-2.6.1.dex.jar;lifecycle-livedata-2.6.1.dex.jar;lifecycle-livedata-core-2.6.1.dex.jar;lifecycle-runtime-2.6.1.dex.jar;lifecycle-service-2.6.1.dex.jar;lifecycle-viewmodel-2.6.1.dex.jar;lifecycle-viewmodel-savedstate-2.6.1.dex.jar;listenablefuture-1.0.dex.jar;loader-1.0.0.dex.jar;localbroadcastmanager-1.0.0.dex.jar;okio-jvm-3.4.0.dex.jar;play-services-ads-22.2.0.dex.jar;play-services-ads-base-22.2.0.dex.jar;play-services-ads-identifier-18.0.0.dex.jar;play-services-ads-lite-22.2.0.dex.jar;play-services-appset-16.0.1.dex.jar;play-services-base-18.1.0.dex.jar;play-services-basement-18.1.0.dex.jar;play-services-cloud-messaging-17.0.1.dex.jar;play-services-location-21.0.1.dex.jar;play-services-maps-18.1.0.dex.jar;play-services-measurement-base-20.1.2.dex.jar;play-services-measurement-sdk-api-20.1.2.dex.jar;play-services-stats-17.0.2.dex.jar;play-services-tasks-18.0.2.dex.jar;print-1.0.0.dex.jar;profileinstaller-1.3.0.dex.jar;room-common-2.2.5.dex.jar;room-runtime-2.2.5.dex.jar;savedstate-1.2.1.dex.jar;sqlite-2.1.0.dex.jar;sqlite-framework-2.1.0.dex.jar;startup-runtime-1.1.1.dex.jar;tracing-1.0.0.dex.jar;transport-api-3.0.0.dex.jar;transport-backend-cct-3.1.8.dex.jar;transport-runtime-3.1.8.dex.jar;user-messaging-platform-2.0.0.dex.jar;vectordrawable-1.1.0.dex.jar;vectordrawable-animated-1.1.0.dex.jar;versionedparcelable-1.1.1.dex.jar;viewpager-1.0.0.dex.jar;work-runtime-2.7.0.dex.jar + + + package=com.embarcadero.$(MSBuildProjectName);label=$(MSBuildProjectName);versionCode=1;versionName=1.0.0;persistent=False;restoreAnyVersion=False;installLocation=auto;largeHeap=False;theme=TitleBar;hardwareAccelerated=true;apiKey= + Debug + false + activity-1.7.2.dex.jar;annotation-experimental-1.3.0.dex.jar;annotation-jvm-1.6.0.dex.jar;annotations-13.0.dex.jar;appcompat-1.2.0.dex.jar;appcompat-resources-1.2.0.dex.jar;billing-6.0.1.dex.jar;biometric-1.1.0.dex.jar;browser-1.4.0.dex.jar;cloud-messaging.dex.jar;collection-1.1.0.dex.jar;concurrent-futures-1.1.0.dex.jar;core-1.10.1.dex.jar;core-common-2.2.0.dex.jar;core-ktx-1.10.1.dex.jar;core-runtime-2.2.0.dex.jar;cursoradapter-1.0.0.dex.jar;customview-1.0.0.dex.jar;documentfile-1.0.0.dex.jar;drawerlayout-1.0.0.dex.jar;error_prone_annotations-2.9.0.dex.jar;exifinterface-1.3.6.dex.jar;firebase-annotations-16.2.0.dex.jar;firebase-common-20.3.1.dex.jar;firebase-components-17.1.0.dex.jar;firebase-datatransport-18.1.7.dex.jar;firebase-encoders-17.0.0.dex.jar;firebase-encoders-json-18.0.0.dex.jar;firebase-encoders-proto-16.0.0.dex.jar;firebase-iid-interop-17.1.0.dex.jar;firebase-installations-17.1.3.dex.jar;firebase-installations-interop-17.1.0.dex.jar;firebase-measurement-connector-19.0.0.dex.jar;firebase-messaging-23.1.2.dex.jar;fmx.dex.jar;fragment-1.2.5.dex.jar;google-play-licensing.dex.jar;interpolator-1.0.0.dex.jar;javax.inject-1.dex.jar;kotlin-stdlib-1.8.22.dex.jar;kotlin-stdlib-common-1.8.22.dex.jar;kotlin-stdlib-jdk7-1.8.22.dex.jar;kotlin-stdlib-jdk8-1.8.22.dex.jar;kotlinx-coroutines-android-1.6.4.dex.jar;kotlinx-coroutines-core-jvm-1.6.4.dex.jar;legacy-support-core-utils-1.0.0.dex.jar;lifecycle-common-2.6.1.dex.jar;lifecycle-livedata-2.6.1.dex.jar;lifecycle-livedata-core-2.6.1.dex.jar;lifecycle-runtime-2.6.1.dex.jar;lifecycle-service-2.6.1.dex.jar;lifecycle-viewmodel-2.6.1.dex.jar;lifecycle-viewmodel-savedstate-2.6.1.dex.jar;listenablefuture-1.0.dex.jar;loader-1.0.0.dex.jar;localbroadcastmanager-1.0.0.dex.jar;okio-jvm-3.4.0.dex.jar;play-services-ads-22.2.0.dex.jar;play-services-ads-base-22.2.0.dex.jar;play-services-ads-identifier-18.0.0.dex.jar;play-services-ads-lite-22.2.0.dex.jar;play-services-appset-16.0.1.dex.jar;play-services-base-18.1.0.dex.jar;play-services-basement-18.1.0.dex.jar;play-services-cloud-messaging-17.0.1.dex.jar;play-services-location-21.0.1.dex.jar;play-services-maps-18.1.0.dex.jar;play-services-measurement-base-20.1.2.dex.jar;play-services-measurement-sdk-api-20.1.2.dex.jar;play-services-stats-17.0.2.dex.jar;play-services-tasks-18.0.2.dex.jar;print-1.0.0.dex.jar;profileinstaller-1.3.0.dex.jar;room-common-2.2.5.dex.jar;room-runtime-2.2.5.dex.jar;savedstate-1.2.1.dex.jar;sqlite-2.1.0.dex.jar;sqlite-framework-2.1.0.dex.jar;startup-runtime-1.1.1.dex.jar;tracing-1.0.0.dex.jar;transport-api-3.0.0.dex.jar;transport-backend-cct-3.1.8.dex.jar;transport-runtime-3.1.8.dex.jar;user-messaging-platform-2.0.0.dex.jar;vectordrawable-1.1.0.dex.jar;vectordrawable-animated-1.1.0.dex.jar;versionedparcelable-1.1.1.dex.jar;viewpager-1.0.0.dex.jar;work-runtime-2.7.0.dex.jar + + + Debug + vcl;vcldb;$(DCC_UsePackage) + + + vcl;vcldb;$(DCC_UsePackage) + + + DEBUG;$(DCC_Define) + true + false + true + true + true + + + false + $(Auto) + + + false + RELEASE;$(DCC_Define) + 0 + 0 + + + + MainSource + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Base + + + Cfg_1 + Base + + + Cfg_2 + Base + + + + Delphi.Personality.12 + Package + + + + JOSE.dpk + + + Microsoft Office 2000 Sample Automation Server Wrapper Components + Microsoft Office XP Sample Automation Server Wrapper Components + + + + False + False + True + True + + + 12 + + + + + diff --git a/Packages/12.0Athens/JOSE.res b/Packages/12.0Athens/JOSE.res new file mode 100644 index 0000000000000000000000000000000000000000..edb8b0edac2b51035b0cbc384dd844fe94762bc2 GIT binary patch literal 616 zcmZ9KPfNo<5XE0Kg7xIZy9ZAmB$iwRK??Ox#ad}YuTtA6fi{s?Kc3&lLvMZq<8LP} zO*=5VlbJVf-_Ayoj`6Chop8fefv+Ee;RB1*3O#5Q#Drsw^vrs#AyH2QJ@VaSy&-n? z75@B6uD|B+`;}ECN9Zg6Dcz9>;9IIxrd)5ZWtuC6IoGQSfG38D6r<__kI~>1wY5jD z$9L)Z(A0R|;mhdF?U;M?jp%U}X}{4krl+K9jXl>H81I7p2>cVM0&S%xTA-|JTvKuj zuqo>cm6FpZni*$7zIpDcX{~u?`UJUTa*i!Et|m4%jhonQrQ154qJYv%(AxTKe9{e5AnxPZU6uP literal 0 HcmV?d00001 diff --git a/README.md b/README.md index 4044e28..1c061d2 100644 --- a/README.md +++ b/README.md @@ -121,7 +121,7 @@ If you need the OpenSSL library on the server, you can download the package dire - More examples ## :cookie: Prerequisite -This library has been tested with **Delphi 10.4 Sydney**, **Delphi 10.3 Rio**, **Delphi 10.2 Tokyo**, **Delphi 10.1 Berlin**, and **Delphi 10.0 Seattle** but with some work it should compile with **DXE6 and higher** but I have not tried or tested this, if you succeed in this task I will be happy to create a branch of your work! +This library has been tested with **Delphi 12 Athens**, **Delphi 11 Alexandria**, **Delphi 10.4 Sydney**, **Delphi 10.3 Rio**, **Delphi 10.2 Tokyo** but with some work it should compile with **DXE6 and higher** but I have not tried or tested this, if you succeed in this task I will be happy to create a branch of your work! #### Libraries/Units dependencies This library has no dependencies on external libraries/units. diff --git a/Source/Common/JOSE.Types.Arrays.pas b/Source/Common/JOSE.Types.Arrays.pas index a25c354..cf5eafb 100644 --- a/Source/Common/JOSE.Types.Arrays.pas +++ b/Source/Common/JOSE.Types.Arrays.pas @@ -150,8 +150,6 @@ function TJOSEArray.GetSize: NativeInt; end; class operator TJOSEArray.Add(const A, B: TJOSEArray): TJOSEArray; -var - LSizeSource: NativeInt; begin Result := A; if B.Size = 0 then