diff options
author | Samuel Cabrero <scabrero@zentyal.com> | 2014-07-04 12:45:59 +0200 |
---|---|---|
committer | Andrew Bartlett <abartlet@samba.org> | 2014-07-07 05:22:33 +0200 |
commit | d747372d28273542298f86530e715e8faaf907f2 (patch) | |
tree | 15d7e4fbf16e25ad085b9d0d08cb11c62a7d1670 /source4/dsdb/repl/drepl_out_helpers.c | |
parent | 331fb7fc64c0a4f64c28001a1644a2a6a923be75 (diff) | |
download | samba-d747372d28273542298f86530e715e8faaf907f2.tar.gz |
idl:drsuapi: Manage all possible lengths of drsuapi_DsBindInfo
Signed-off-by: Samuel Cabrero <scabrero@zentyal.com>
Reviewed-by: Kamen Mazdrashki <kamenim@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Kamen Mazdrashki <kamenim@samba.org>
Diffstat (limited to 'source4/dsdb/repl/drepl_out_helpers.c')
-rw-r--r-- | source4/dsdb/repl/drepl_out_helpers.c | 27 |
1 files changed, 26 insertions, 1 deletions
diff --git a/source4/dsdb/repl/drepl_out_helpers.c b/source4/dsdb/repl/drepl_out_helpers.c index 2339027e581..22d44f056c8 100644 --- a/source4/dsdb/repl/drepl_out_helpers.c +++ b/source4/dsdb/repl/drepl_out_helpers.c @@ -186,10 +186,35 @@ static void dreplsrv_out_drsuapi_bind_done(struct tevent_req *subreq) info28->repl_epoch = info48->repl_epoch; break; } - case 28: + case 28: { *info28 = state->bind_r.out.bind_info->info.info28; break; } + case 32: { + struct drsuapi_DsBindInfo32 *info32; + info32 = &state->bind_r.out.bind_info->info.info32; + + info28->supported_extensions = info32->supported_extensions; + info28->site_guid = info32->site_guid; + info28->pid = info32->pid; + info28->repl_epoch = info32->repl_epoch; + break; + } + case 52: { + struct drsuapi_DsBindInfo52 *info52; + info52 = &state->bind_r.out.bind_info->info.info52; + + info28->supported_extensions = info52->supported_extensions; + info28->site_guid = info52->site_guid; + info28->pid = info52->pid; + info28->repl_epoch = info52->repl_epoch; + break; + } + default: + DEBUG(1, ("Warning: invalid info length in bind info: %d\n", + state->bind_r.out.bind_info->length)); + break; + } } tevent_req_done(req); |