[Bug 277660] www/mod_auth_kerb2: fix build with clang 17 when HEIMDAL is used

From: <bugzilla-noreply_at_freebsd.org>
Date: Wed, 13 Mar 2024 02:27:57 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=277660

            Bug ID: 277660
           Summary: www/mod_auth_kerb2: fix build with clang 17 when
                    HEIMDAL is used
           Product: Ports & Packages
           Version: Latest
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Only Me
          Priority: ---
         Component: Individual Port(s)
          Assignee: apache@FreeBSD.org
          Reporter: jkim@FreeBSD.org
             Flags: maintainer-feedback?(apache@FreeBSD.org)
          Assignee: apache@FreeBSD.org

Created attachment 249126
  --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=249126&action=edit
Patches to fix build option HEIMDAL with Clang 17

I've been using HEIMDAL option and it started failing from 13.3:

src/mod_auth_kerb.c:1405:20: error: incompatible function pointer types
assigning to 'OM_uint32 (*)(OM_uint32 *, gss_ctx_id_t *, const gss_cred_id_t,
const gss_buffer_t, const gss_channel_bindings_t, gss_name_t *, gss_OID *,
gss_buffer_t, OM_uint32 *, OM_uint32 *, gss_cred_id_t *)' (aka 'unsigned int
(*)(unsigned int *, struct gss_ctx_id_t_desc_struct **, struct
gss_cred_id_t_desc_struct *const, struct gss_buffer_desc_struct *const, struct
gss_channel_bindings_struct *const, struct gss_name_t_desc_struct **, struct
gss_OID_desc_struct **, struct gss_buffer_desc_struct *, unsigned int *,
unsigned int *, struct gss_cred_id_t_desc_struct **)') from 'OM_uint32
(OM_uint32 *, gss_ctx_id_t *, gss_const_cred_id_t, const gss_buffer_t, const
gss_channel_bindings_t, gss_name_t *, gss_OID *, gss_buffer_t, OM_uint32 *,
OM_uint32 *, gss_cred_id_t *)' (aka 'unsigned int (unsigned int *, struct
gss_ctx_id_t_desc_struct **, const struct gss_cred_id_t_desc_struct *, struct
gss_buffer_desc_struct *const, struct gss_channel_bindings_struct *const,
struct gss_name_t_desc_struct **, struct gss_OID_desc_struct **, struct
gss_buffer_desc_struct *, unsigned int *, unsigned int *, struct
gss_cred_id_t_desc_struct **)') [-Wincompatible-function-pointer-types]
 1405 |   accept_sec_token = gss_accept_sec_context;
      |                    ^ ~~~~~~~~~~~~~~~~~~~~~~
src/mod_auth_kerb.c:1412:25: warning: comparison of distinct pointer types
('OM_uint32 (*)(OM_uint32 *, gss_ctx_id_t *, const gss_cred_id_t, const
gss_buffer_t, const gss_channel_bindings_t, gss_name_t *, gss_OID *,
gss_buffer_t, OM_uint32 *, OM_uint32 *, gss_cred_id_t *)' (aka 'unsigned int
(*)(unsigned int *, struct gss_ctx_id_t_desc_struct **, struct
gss_cred_id_t_desc_struct *const, struct gss_buffer_desc_struct *const, struct
gss_channel_bindings_struct *const, struct gss_name_t_desc_struct **, struct
gss_OID_desc_struct **, struct gss_buffer_desc_struct *, unsigned int *,
unsigned int *, struct gss_cred_id_t_desc_struct **)') and 'OM_uint32
(*)(OM_uint32 *, gss_ctx_id_t *, gss_const_cred_id_t, const gss_buffer_t, const
gss_channel_bindings_t, gss_name_t *, gss_OID *, gss_buffer_t, OM_uint32 *,
OM_uint32 *, gss_cred_id_t *)' (aka 'unsigned int (*)(unsigned int *, struct
gss_ctx_id_t_desc_struct **, const struct gss_cred_id_t_desc_struct *, struct
gss_buffer_desc_struct *const, struct gss_channel_bindings_struct *const,
struct gss_name_t_desc_struct **, struct gss_OID_desc_struct **, struct
gss_buffer_desc_struct *, unsigned int *, unsigned int *, struct
gss_cred_id_t_desc_struct **)')) [-Wcompare-distinct-pointer-types]
 1412 |              (accept_sec_token == gss_accept_sec_context)
      |               ~~~~~~~~~~~~~~~~ ^  ~~~~~~~~~~~~~~~~~~~~~~

The attached patch fixed the problem for me.

-- 
You are receiving this mail because:
You are the assignee for the bug.