[Freeipa-devel] [PATCH 0322-0337] Fix mysterious failures in PTR record synchronization

Petr Spacek pspacek at redhat.com
Fri May 15 14:36:48 UTC 2015


On 15.5.2015 15:48, Tomas Hozza wrote:
> On 05/05/2015 05:24 PM, Petr Spacek wrote:
>> Hello,
>>
>> Attached patch set is the best fix for
>> https://fedorahosted.org/bind-dyndb-ldap/ticket/155
>> I was able to write.
>>
>> This patch set should fix vast majority of race conditions. Unfortunately it
>> cannot be 100 % reliable without support for LDAP transactions.
>>
>> For convenience you can download the whole tree from
>> https://github.com/pspacek/bind-dyndb-ldap/commits/t155.syncptr
>> HEAD = da2552632f6ce67f1bb9d9b3cdd3e0a8e06ce9ea
>>
>> Enjoy.
>>
> 
> Hi.
> 
> There is one unused variable after patch 325
> Move SOA serial update functions to zone.c.
> 
> - it looks like you forgot to remove:
> https://github.com/pspacek/bind-dyndb-ldap/blob/d616021d6665ebab97035efb687a88a4a139f636/src/ldap_helper.c#L3892
> https://github.com/pspacek/bind-dyndb-ldap/blob/d616021d6665ebab97035efb687a88a4a139f636/src/ldap_helper.c#L4037
> https://github.com/pspacek/bind-dyndb-ldap/blob/d616021d6665ebab97035efb687a88a4a139f636/src/ldap_helper.c#L4038
> 
> Other than that, patches look good. I tested them and reviewed from
> https://github.com/pspacek/bind-dyndb-ldap/commits/t155.syncptr
> 
> ACK with the fix for unused variable.

Fixed version was pushed to master branch:

e36125eb594b0c71f6afe02bfc34de4cf4c19b94 SyncPTR: Read PTR record values from
RBTDB instead of LDAP.
86ad1dd8363c55c579f29e2da0bf87aedc7fcc80 Split SyncPTR code into separate module.
d430ca6ba685cf629f72466b1a17e8ed36a346a7 Move journal maintenance functions to
zone.c.
f24c80ac80b6f8eae2324123e79c73e0a72492f5 Move SOA serial update functions to
zone.c.
7dee381afc752f8611ad7d91cb309b721b0097bd Move helper functions for diff
manipulation to zone.c.
a38479f9739f59fedb8c264c768b7d3044b3692c Move DEFAULT_TTL to header ldap_entry.h.
0aa9c851a71a68efa5342d6b492429d1d96a820b Return ISC_R_SUCCESS from
rdataset_to_diff() to be consistent.
caf4c85b2892b49e567e4464824d4bae5d73929e SyncPTR: Use database API for
modifications to prevent race conditions.
4a6f694a5898bdcb90ca758e4521e5afa9c1759b Zone SOA serial functions now accept
NULL output parameter new_serial.
c42005a3b219879043b59c70372eaddbd3e9e72a SyncPTR: Bump SOA serial immediatelly
during PTR synchronization.
56ec3b86a63709d6218852c69fce1dbda72e834b SyncPTR: Record PTR synchronization
into zone journal to allow IXFR.
e3b090403b7c9529b84647e0a31e03574dcb08b6 SyncPTR: Do update asynchronously to
prevent race conditions.
b56f558435fb608237cef0cf51595d1ccc09be67 Remove unused structure ldap_qresult.
1a36c36b69d490e48c1f04cfe85c064202989a3b SyncPTR: Improve logging.
41fabef959bd2ed08194c507271e41a26cdac8f4 SyncPTR: Do not return SERVFAIL if
reverse zone does not exist.
e35f51a752e06d500984faff934267d734e365aa SyncPTR: New PTR records inherit TTL
value from respective A/AAAA records.
1e8a8461c2a27e37046a47f22c7203ff1aa5d6ba Add includes to zone.c to improve
compatibility with BIND 9.9.4.

Thank you!

-- 
Petr^2 Spacek




More information about the Freeipa-devel mailing list