-
Notifications
You must be signed in to change notification settings - Fork 91
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add support for DNS in non-Windows environments #185
Comments
For folks running into this issue, there's a super simple platform-independent implementation available in the Bruce tool. It uses the DnsClient.NET library as mentioned above. It's kept out of the main project reduce total external dependencies. Kerberos.NET/Bruce/Dns/PlatformIndependentDnsClient.cs Lines 1 to 50 in 946daea
|
This class is very useful, but a bit hard to find. Is there a NuGet package that includes it? Would be great to be able to include something like |
PR's are accepted to get that working. |
As requested by the contribution guidelines: I'm working on it |
Awesome! The build process is somewhat of a pain to verify, but it should just be a matter of duplicating the kerberos.net lines in the build file and replacing the names with the new project/package name (https://github.com/dotnet/Kerberos.NET/blob/develop/build.yaml) |
Is your feature request related to a problem? Please describe.
DNS lookups only work on Windows today because it calls into win32 APIs directly. .NET doesn't provide a way to query for SRV records.
Describe the solution you'd like
The library needs a way to make DNS queries outside of Windows. The solution should be to provide a way to bring your own DNS implementation that way you can use something like https://github.com/MichaCo/DnsClient.NET on other platforms.
Describe alternatives you've considered
You could rely completely on a krb5 configuration file to provide all the necessary records, but that's complicated and messy.
Additional context
Design should be similar to the CryptoPal so callers can register their DNS mechanisms. A side-car nuget package could be created that wires in the DnsClient.NET implementation.
The text was updated successfully, but these errors were encountered: