Skip to content
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

support for heimdal #17

Closed
macosforgebot opened this issue Dec 21, 2010 · 5 comments
Closed

support for heimdal #17

macosforgebot opened this issue Dec 21, 2010 · 5 comments
Assignees
Milestone

Comments

@macosforgebot
Copy link

@macosforgebot macosforgebot commented Dec 21, 2010

Martin.vGagern@… originally submitted this as ticket:404


PyKerberos won't compile against Heimdal 1.3.3 on my Gentoo Linux system.

  1. Heimdal doesn't provide a gssapi/gssapi_generic.h header file
  2. The krb5_context type is declared in krb5.h
  3. krb5_kt_cursor isn't a pointer, so you can't assign NULL
  4. gss_krb5_nt_service_name is undefined, GSS_KRB5_NT_PRINCIPAL_NAME seems to be the heimdal replacement

Some of these, like the missing gss_krb5_nt_service_name, have been mentioned in ticket #⁠37 already, but it seems they never made it into the tree.

I'll attach a patch addressing the errors, but I assume it will break compatibility with MIT Kerberos. Don't know the best approach to cater for both. Maybe we should check some preprocessor macro. Or we could check the presence of certain header files in setup.py, and supply our own preprocessor macro from this information. Or we could investigate the list of libraries that krb5-config generates, as I believe e.g. libroken to be specific to Heimdal. Not sure, though.

Some functions used by the code are deprecated according to the Heimdal header file:

  1. Use krb5_xfree instead of krb5_free_unparsed_name
  2. Use krb5_get_init_creds_opt_alloc instead of krb5_get_init_creds_opt_init
  3. Use krb5_set_password instead of krb5_change_password

I haven't addressed these in my patch, as they are only warnings, but perhaps you should note them for future reference. And if MIT Kerberos provides the newer functions as well, you should switch as soon as possible.

@macosforgebot
Copy link
Author

@macosforgebot macosforgebot commented Dec 21, 2010

Martin.vGagern@… originally submitted this as attachment:heimdal.patch:⁠ticket:404


Fix things for Heimdal, likely break MIT

@macosforgebot
Copy link
Author

@macosforgebot macosforgebot commented Apr 5, 2011

@wsanchez originally submitted this as comment:1:⁠ticket:404

  • Priority changed from 5: Not set to 2: Expected
  • Milestone set to CalendarServer-3.x
@macosforgebot
Copy link
Author

@macosforgebot macosforgebot commented Aug 1, 2011

@wsanchez originally submitted this as comment:2:⁠ticket:404

@macosforgebot
Copy link
Author

@macosforgebot macosforgebot commented Dec 1, 2011

@wsanchez originally submitted this as comment:3:⁠ticket:404

  • Milestone changed from CalendarServer-3.x to Later

If I just try to change the includes:

-#include <gssapi/gssapi_generic.h>
+#include <krb5.h>

in kerberosbasic.h I get errors compiling on Mac OS, as krb5.h doesn't pull in all the symbols needed… someone with both versions needs to take the time to make a compatible fix, I guess.

@macosforgebot
Copy link
Author

@macosforgebot macosforgebot commented Jan 19, 2016

@wsanchez originally submitted this as comment:210:⁠ticket:404

  • Status changed from new to closed
  • Resolution set to Duplicate

Fixed via #⁠906

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
2 participants
You can’t perform that action at this time.