Git Product home page Git Product logo

Comments (3)

eranmes avatar eranmes commented on April 28, 2024

I'm happy to see you using this library - can you elaborate on the context you use it for?
Regarding work-arounds:

  • You can build the app such that it targets SDK level 28.
  • You can migrate the classes from Sun's OpenJDK into the project.

As you can probably tell, this library contains a subset of the Kerberos implementation from OpenJDK, with some namespaces changed to not conflict with existing code in the JDK provided with Android.

I would suggest importing classes which are no longer public, e.g. sun.misc.HexDumpEncoder into this library - I'm happy to take patches.

from openjdk-kerberos.

mhadidg avatar mhadidg commented on April 28, 2024

I'm thankful for your prompt reply.

Can you elaborate on the context you use it for?

I'm using it in a simple Android Kerberos client for our company SSO solution. It's much like your Kerberos Authenticator sample adapted for our specific needs and requirements.

You can build the app such that it targets SDK level 28.

Unfortunately, that doesn't help. Part of the classes referenced in the library is listed in the "blacklist" of the API 29, which are "non-SDK interfaces that you cannot use regardless of your app's target API level."—I'm quoting from the official guide.

You can migrate the classes from Sun's OpenJDK into the project.

It should be possible this way. Yet, surprisingly, the NoSuchMethodError exception thrown in the stack trace provided earlier is about a class you already provided in your package: sun/security/util/BitArray. It seems like we had a class conflict here with another version from the SDK, and the resolving strategy is favoring the SDK version.

I'm thinking of relocating the provided subset to a different namespaces to avoid the conflict, and migrate (then relocate) from Sun's OpenJDK those classes that are listed in the blacklist and the greylist and not provided in your subset; what do you think?

from openjdk-kerberos.

eranmes avatar eranmes commented on April 28, 2024

I'm thankful for your prompt reply.

Can you elaborate on the context you use it for?

I'm using it in a simple Android Kerberos client for our company SSO solution. It's much like your Kerberos Authenticator sample adapted for our specific needs and requirements.
Great! I'd like to hear more if you can share. I can contact you privately as I'm keen to learn more about environments where it's used, so I can justify spending more work on this.
It should be possible this way. Yet, surprisingly, the NoSuchMethodError exception thrown in the stack trace provided earlier is about a class you already provided in your package: sun/security/util/BitArray. It seems like we had a class conflict here with another version from the SDK, and the resolving strategy is favoring the SDK version.

I'm thinking of relocating the provided subset to a different namespaces to avoid the conflict, and migrate (then relocate) from Sun's OpenJDK those classes that are listed in the blacklist and the greylist and not provided in your subset; what do you think?

Yes, I think that's the only viable course of action.
I agree it's not the prettiest solution and a bit of dredge work, copying class by class and renaming all references in the code (a good IDE will make it much simpler).
But that is the approach I had to take, after consulting with the Android Runtime team, where they made it clear these classes will not be included in Android due to the low use.

from openjdk-kerberos.

Related Issues (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.