diff options
Diffstat (limited to 'daemons')
-rw-r--r-- | daemons/configure.ac | 12 | ||||
-rw-r--r-- | daemons/ipa-kdb/ipa_kdb_mspac.c | 9 |
2 files changed, 21 insertions, 0 deletions
diff --git a/daemons/configure.ac b/daemons/configure.ac index 94d66d813..5c5a10463 100644 --- a/daemons/configure.ac +++ b/daemons/configure.ac @@ -170,6 +170,18 @@ PKG_CHECK_MODULES([SAMBAUTIL], [samba-util]) SAMBA40EXTRA_LIBPATH="-L`$PKG_CONFIG --variable=libdir samba-util`/samba -Wl,-rpath=`$PKG_CONFIG --variable=libdir samba-util`/samba" AC_SUBST(SAMBA40EXTRA_LIBPATH) +bck_cflags="$CFLAGS" +CFLAGS="$NDRPAC_CFLAGS" +AC_CHECK_MEMBER( + [struct PAC_DOMAIN_GROUP_MEMBERSHIP.domain_sid], + [AC_DEFINE([HAVE_STRUCT_PAC_DOMAIN_GROUP_MEMBERSHIP], [1], + [struct PAC_DOMAIN_GROUP_MEMBERSHIP is available.])], + [AC_MSG_NOTICE([struct PAC_DOMAIN_GROUP_MEMBERSHIP is not available])], + [[#include <ndr.h> + #include <gen_ndr/krb5pac.h>]]) + +CFLAGS="$bck_cflags" + LIBPDB_NAME="" AC_CHECK_LIB([samba-passdb], [make_pdb_method], diff --git a/daemons/ipa-kdb/ipa_kdb_mspac.c b/daemons/ipa-kdb/ipa_kdb_mspac.c index 80e7055fd..65cc03565 100644 --- a/daemons/ipa-kdb/ipa_kdb_mspac.c +++ b/daemons/ipa-kdb/ipa_kdb_mspac.c @@ -20,6 +20,8 @@ * along with this program. If not, see <http://www.gnu.org/licenses/>. */ +#include "config.h" + #include "ipa_kdb.h" #include "ipa_mspac.h" #include <talloc.h> @@ -1533,10 +1535,17 @@ krb5_error_code filter_logon_info(krb5_context context, /* According to MS-KILE, ResourceGroups must be zero, so check * that it is the case here */ +#ifdef HAVE_STRUCT_PAC_DOMAIN_GROUP_MEMBERSHIP + if (info->info->resource_groups.domain_sid != NULL && + info->info->resource_groups.groups.count != 0) { + return EINVAL; + } +#else if (info->info->res_group_dom_sid != NULL && info->info->res_groups.count != 0) { return EINVAL; } +#endif return 0; } |