Removing an enty in ACL table is leading to remove linked
methods & mechanisms upon updating an identity. Which leads to break
token cache stored in secret storage for that identity + method combination.
Methods & Mechanisms should not be created/removed based on identity.
They should be some how link to existance of plugins. Till this change
effect 'delete methods/mechanisms triggers' are disabled.
fi
fi
+AC_ARG_ENABLE(acltriggers,
+ [ --enable-acltriggers enable ACL before delete triggers],
+ [enable_acl_triggers=yes], [enable_acl_triggers=no])
+if test "x$enable_acl_triggers" = "xyes" ; then
+ AC_DEFINE(ENABLE_DB_ACL_TRIGGERS, [1], [Enable ACL triggers])
+fi
+
AM_CONDITIONAL(USE_GTESTDBUS, [test x$gtestdbus = xyes])
AC_SUBST(MESSAGE_BUS_TYPE, [$enable_dbus_type])
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
* 02110-1301 USA
*/
+#if HAVE_CONFIG_H
+#include "config.h"
+#endif
#include <string.h>
#include <sys/stat.h>
" REFS.secctx_id = OLD.secctx_id) == 0;"
"END;"
+#ifdef ENABLE_DB_ACL_TRIGGERS
// Trigger for deleting orphan METHODS entries
"CREATE TRIGGER fkdstale_ACL_method_id_METHODS_id"
"BEFORE DELETE ON [ACL]"
" AND (SELECT COUNT(*) FROM ACL WHERE "
" ACL.mechanism_id = OLD.mechanism_id) == 1;"
"END;"
+#endif
/*
* triggers generated with