s4:dsdb/repl: let drepl_out_helpers.c always go via dreplsrv_out_drsuapi_send()
commit83030780285290ecf64b57c1744634379b68ea01
authorStefan Metzmacher <metze@samba.org>
Tue, 6 Feb 2024 20:09:58 +0000 (6 21:09 +0100)
committerAndrew Bartlett <abartlet@samba.org>
Wed, 22 May 2024 04:23:29 +0000 (22 04:23 +0000)
tree85e7ded833fe36efa7e5e7239bf4177066f2e407
parent5abeb724d74af2b861f2ee6bc27762bb5bf07bca
s4:dsdb/repl: let drepl_out_helpers.c always go via dreplsrv_out_drsuapi_send()

I have customer backtraces showing that 'drsuapi' is NULL in
dreplsrv_op_pull_source_get_changes_trigger() called from the
WERR_DS_DRA_SCHEMA_MISMATCH retry case of
dreplsrv_op_pull_source_apply_changes_trigger(), while 'drsuapi' was
a valid pointer there.

From reading the code I don't understand how this can happen,
but it does very often on RODCs. And this fix prevents the problem.

BUG: https://bugzilla.samba.org/show_bug.cgi?id=15573

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
source4/dsdb/repl/drepl_out_helpers.c