ldap_driver.c: In function 'settask': ldap_driver.c:696:9: error: too few arguments to function 'dns_db_settask' 696 | dns_db_settask(ldapdb->rbtdb, task); | ^~~~~~~~~~~~~~ In file included from ldap_driver.c:22: /usr/include/bind9/dns/db.h:1392:1: note: declared here 1392 | dns_db_settask(dns_db_t *db, isc_task_t *task, isc_task_t *prunetask); | ^~~~~~~~~~~~~~ ldap_driver.c: At top level: ldap_driver.c:943:9: error: initialization of 'void (*)(dns_db_t *, isc_task_t *, isc_task_t *)' {aka 'void (*)(struct dns_db *, struct isc_task *, struct isc_task *)'} from incompatible pointer type 'void (*)(dns_db_t *, isc_task_t *)' {aka 'void (*)(struct dns_db *, struct isc_task *)'} [-Werror=incompatible-pointer-types] 943 | settask, | ^~~~~~~ ldap_driver.c:943:9: note: (near initialization for 'ldapdb_methods.settask') cc1: all warnings being treated as errors make[2]: *** [Makefile:599: ldap_la-ldap_driver.lo] Error 1
Bind's change: https://gitlab.isc.org/isc-projects/bind9/-/issues/4621
An example of upstream's fix: https://gitlab.isc.org/isc-projects/bind9/-/merge_requests/8830/diffs#diff-content-4f841ec3a95d815037cebc6400782072c0a39008
@slev thanks for the report. It looks like in the https://gitlab.isc.org/isc-projects/bind9/-/merge_requests/8825/diffs most of the calls are passing the same task reference to both task and prunetask:
... lib/dns/zone.c ... - dns_db_settask(db, zone->task); + dns_db_settask(db, zone->task, zone->task);
same in other places.
So may be we can do the same? Can you try this in your setup?
Sure, let me check.
I checked
--- a/src/ldap_driver.c +++ b/src/ldap_driver.c @@ -687,13 +687,13 @@ overmem(dns_db_t *db, bool overmem) } static void -settask(dns_db_t *db, isc_task_t *task) +settask(dns_db_t *db, isc_task_t *task, isc_task_t *prunetask) { ldapdb_t *ldapdb = (ldapdb_t *) db; REQUIRE(VALID_LDAPDB(ldapdb)); - dns_db_settask(ldapdb->rbtdb, task); + dns_db_settask(ldapdb->rbtdb, task, prunetask); } static isc_result_t
rndc flush seems to work as expected.
rndc flush
Thank you. Could you please wrap it with a signature checks and submit upstream PR?
Ideally, we want to support both old and newer versions of bind API.
Closing as PR was merged.
Metadata Update from @abbra: - Issue close_status updated to: fixed - Issue status updated to: Closed (was: Open)
Log in to comment on this ticket.