Code Monkey home page Code Monkey logo

adobe-license-decoder.rs's People

Contributors

adobedan avatar adorton-adobe avatar brotskydotcom avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

adobe-license-decoder.rs's Issues

Distinguish Offline from Isolated packages

Why do you need this feature? Please describe.
I need to know whether my machine's licenses are Offline or Isolated. If they are Isolated, I would like to know how many different census codes are in the license. (Ideally, I'd like to be able to see the list of codes.). That way I can know which machines the ilcense can work on.

Describe the solution you'd like
The basic output should specify whether the license is Isolated or Offline, and give the number of census codes. In addition, there should be an option to output all the census codes.

Look at Windows registry for Acrobat licensing info

Why do you need this feature? Please describe.

On Windows, there are a pair of registry keys that enforce either NGL (next-gen licensing) or serialized licensing. We should add hooks to these keys in the decoder. I'm not sure if it makes sense to add the ability to manipulate these keys, but we should at least check for the presence of these keys in the registry and report their status.

Describe the solution you'd like

TBD - I assume for reporting we would include it with the rest of the license reports, but it could make more sense to implement a subcommand or something similar.

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context
Add any other context about the feature request here.

I want to check the expiration date of SDL

This is a very useful tool. Thank you.
Please tell me how to use this tool.

I installed SDL on my PC.
The following command will tell you the installation date and time of the installed product.

adobe-license-decoder.windows_x86_64.exe

For FRL, you can find the expiration date with "-vv" as an option.
Is there a way in SDL to check for such an expiration date?

I'm sorry if the posting location is wrong.

Unable to check license on SDL packages

Describe the bug
I've run the tool on both an SDL, license-only package, and on a package with both Photoshop with the SDL and the too doesn't seem to be able to detect the license inside. When the package/s are deployed to a device, the tool detects the install licenses fine.

To Reproduce
Steps to reproduce the behavior:
SDL-only package:

  1. Create a package from the Adobe Admin web console with Shared Device Licensing chosen, but no other applications
  2. Download the Adobe Downloader App, use this to download the zipped package/s
  3. Unzip the packages
  4. Run the adobe-license-decoder on the parent directory, build directory or the package itself, e.g.:
  5. ./adobe-license-decoder /Users/darren/Downloads/Photoshop-SDL-Test/
  6. ./adobe-license-decoder /Users/darren/Downloads/Photoshop-SDL-Test/Build/
  7. ./adobe-license-decoder /Users/darren/Downloads/Photoshop-SDL-Test/Build/SDL-Test_Install.pkg
  8. Output:
thread 'main' panicked at 'No license files found in '/Users/darren/Downloads/SDL-Test/Build/SDL-Test_Install.pkg'', src/descriptions.rs:29:13
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

SDL and application package:

  1. Repeat the above, but for step 1, also select the latest version of Photoshop
  2. Rest of the testing and output is the same.

Observed behavior
Output shows the binary is unable to find a license:

thread 'main' panicked at 'No license files found in '/Users/darren/Downloads/SDL-Test/Build/SDL-Test_Install.pkg'', src/descriptions.rs:29:13
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

Expected behavior
Command line output as shown on the project readme

Operating System
macOS Big Sur (11.2.2)

Additional context
I'm unsure if I'm holding it wrong, but please let me know if so!
Thanks

Show local activations for FRL apps (with expiration dates)

Why do you need this feature? Please describe.
Customers often want to know whether a particular user has a cached license for an app, and when it will expire. This is especially helpful for FRL Online and LAN licenses where the expiration date is set on the server side so the only local expiration data is in the cached license

Describe the solution you'd like
When run in verbose mode, the decoder should look for cached licenses in the credential store and report on their existence and expiration date. This needs to be invoked explicitly with -v or another option, because it prevents the decoder from being run without interaction.

Additional context
This request came in via Slack from an SE working with customers.

Apple Silicon Support

Why do you need this feature? Please describe.
With Apple releasing devices running their own chips instead of Intel, and the unknown time that the Rosetta 2 translation layer will work, any software or tools written for macOS would have version run natively on arm64 devices, or ideally universal binaries. From what I understand, the ALD may be Intel only, requiring the installation of Rosetta 2 to be used on these newer devices.

Describe the solution you'd like
Any software or tools written for macOS would have version run natively on arm64 devices, or ideally universal binaries.

Describe alternatives you've considered
N/A

Additional context
I may be wrong here but it looks like ADL is intel only. I'm not a 'proper' developer so I'm not sure on the exact steps this project will need in order to be universal, but I thought it worth putting this on your radar ๐Ÿ˜Š

Package UUID in output does not match PACKAGE ID field in Admin Console

Describe the bug
Creating a license package on the Adobe Admin Console and deploying it, then running the Adobe License Decoder, it was noted that the ID did not match in the output with that shown for the package on the Admin Console

To Reproduce
Steps to reproduce the behavior:

  1. Create a package on the Adobe Admin Console which is licensed via FRL
  2. Deploy the package or apply the license (in the case of a license-only package) using the licensing toolkit: adobe-licensing-toolkit.exe -p -i -f ngl-preconditioning-data.json
  3. download the latest Adobe License Decoder and execute it with the maximum verbosity option: adobe-license-decoder.windows_x86_64.exe -vv
  4. Observe the line in the output described as "Package UUID" and compare with the field in the package details on the Admin Console named "PACKAGE ID".

Security note: do not attach license files.

Observed behavior
The ID in the Adobe License Decoder output does not match that of the corresponding package shown in the Admin Console, although both values appear to be the same format of 8, 4, 4, 4 and 12 alphanumerics separated by dashes in both instances.

Expected behavior
The IDs should match to allow an installed license to be matched to an Admin Console package and/or org ID.

Operating System

  • Tested on Windows
  • OS version Windows 10 20H2

Additional context
Add any other context about the problem here.

Clearer error message when no Adobe Apps are installed

Why do you need this feature? Please describe.
When running the binary on a version of macOS without an OperatingConfigs file/directory, this shows the below error:

thread 'main' panicked at 'No such file or directory (os error 2): /Library/Application Support/Adobe/OperatingConfigs', src/main.rs:24:13
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

Describe the solution you'd like
Instead it would be nice if it could return a clearer output, perhaps something like:

Error: Item not found at /Library/Application Support/Adobe/OperatingConfigs
Confirm device has an Adobe application and licenese installed 

Describe alternatives you've considered
N/A

Additional context
I fully appreciate that the onus is on the administrator to understand the output and it may not make sense to run this on devices without an Adobe application installed, but there is a possibility of using this tool within a reporting solution and a nicer output would be cool ๐Ÿ˜Š

Thanks again for this!

Cached activation data must match package ID and license type

Describe the bug
When invoked with -vv, the decoder will report a cached activation against a package whose package ID doesn't match that package. Additionally, only FRL online licenses are reported, even if other types have a cached license.

Package mismatch
Steps to reproduce the behavior:

  1. install package P1 for Photoshop
  2. activate Photoshop against that package
  3. run adobe-license-decoder -vv and see the cached license expiration date
  4. deactivate the package with adobe-licensing-toolkit -t -n P1 and then remove the installed operatingconfig. (NOTE: This will not remove the cached activation.)
  5. install package P2 for Photoshop
  6. run adobe-license-decoder -vv

Observed behavior
The decoder will report one installed license with a cached activation.

Expected behavior
The decoder should notice that the installed package has a different ID than the cached license and so it should not report the cache license against that data.

Additional context
If you deactivate but do not remove package P1, then the cached license should be reported against P1 but not P2.

Unreported cache entries
Steps to reproduce the behavior:

  1. Install an FRL Isolated license package.
  2. Launch a licensed app to activate the package.
  3. run adobe-license-decoder -vv

Observed behavior
The decoder will not report the cached license.

Expected behavior
The decoder will report the cached license.

Operating System

  • Mac
  • Big Sur (11.1.2)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.