[PATCH] Support for Heimdal's unified krb5 and hdb plugin system.

Andrew Bartlett abartlet at samba.org
Fri Jan 10 16:12:10 MST 2014


On Fri, 2014-01-10 at 15:36 -0600, Jeff Clark wrote:
> Just send v2 (removed KRB5_LIB_CALL macro).

I agree it should be removed, but you still seem to add it on the init
and fini functions.  It only does something on matters on win32, I would
prefer never to add it, so we don't have the comm_err header dependency
for this. 

Thanks, 

> Also, I submitted a pull request to fix the heimdal side of things.
> https://github.com/heimdal/heimdal/pull/54
> 
> On Fri, Jan 10, 2014 at 2:34 PM, Andrew Bartlett <abartlet at samba.org> wrote:
> > On Fri, 2014-01-10 at 10:15 -0600, Jeffrey Clark wrote:
> >> Fixes exportkeytab and a kdc crash when building against heimdal master.
> >
> > Reviewed-by: Andrew Bartlett <abartlet at samba.org>
> >
> > Jelmer can you please review and push this?
> >
> > Thanks,
> >
> >> Bug-Debian: http://bugs.debian.org/732342
> >> ---
> >>  source4/kdc/hdb-samba4-plugin.c | 18 +++++++++++++++++-
> >>  1 file changed, 17 insertions(+), 1 deletion(-)
> >>
> >> diff --git a/source4/kdc/hdb-samba4-plugin.c b/source4/kdc/hdb-samba4-plugin.c
> >> index 9135df8..fe3494f 100644
> >> --- a/source4/kdc/hdb-samba4-plugin.c
> >> +++ b/source4/kdc/hdb-samba4-plugin.c
> >> @@ -26,7 +26,7 @@
> >>  #include "lib/param/param.h"
> >>  #include "source4/lib/events/events.h"
> >>
> >> -static krb5_error_code hdb_samba4_create(krb5_context context, struct HDB **db, const char *arg)
> >> +static krb5_error_code KRB5_LIB_CALL hdb_samba4_create(krb5_context context, struct HDB **db, const char *arg)
> >>  {
> >>       NTSTATUS nt_status;
> >>       void *ptr;
> >> @@ -70,6 +70,18 @@ static krb5_error_code hdb_samba4_create(krb5_context context, struct HDB **db,
> >>       return EINVAL;
> >>  }
> >>
> >> +#if HDB_INTERFACE_VERSION >= 8
> >> +static krb5_error_code KRB5_LIB_CALL * hdb_samba4_init(krb5_context context, void **ctx)
> >> +{
> >> +     *ctx = NULL;
> >> +     return 0;
> >> +}
> >> +
> >> +static void KRB5_LIB_CALL * hdb_samba4_fini(void *ctx)
> >> +{
> >> +}
> >> +#endif
> >> +
> >>  /* Only used in the hdb-backed keytab code
> >>   * for a keytab of 'samba4&<address>' or samba4, to find
> >>   * kpasswd's key in the main DB, and to
> >> @@ -79,6 +91,10 @@ static krb5_error_code hdb_samba4_create(krb5_context context, struct HDB **db,
> >>   */
> >>  struct hdb_method hdb_samba4_interface = {
> >>       HDB_INTERFACE_VERSION,
> >> +#if HDB_INTERFACE_VERSION >= 8
> >> +     .init = hdb_samba4_init,
> >> +     .fini = hdb_samba4_fini,
> >> +#endif
> >>       .prefix = "samba4",
> >>       .create = hdb_samba4_create
> >>  };
> >
> > --
> > Andrew Bartlett                       http://samba.org/~abartlet/
> > Authentication Developer, Samba Team  http://samba.org
> > Samba Developer, Catalyst IT          http://catalyst.net.nz/services/samba
> >
> >
> 

-- 
Andrew Bartlett                       http://samba.org/~abartlet/
Authentication Developer, Samba Team  http://samba.org
Samba Developer, Catalyst IT          http://catalyst.net.nz/services/samba




More information about the samba-technical mailing list