werror: replace WERR_NO_SUCH_SERVICE with WERR_SERVICE_DOES_NOT_EXIST in source3...
[samba.git] / source3 / libnet / libnet_dssync.c
index a8431066efa9a5691bb2ec0d38d5853cce6a48ab..267709e3c1176975b2a6bd305e10a6267895f509 100644 (file)
@@ -113,6 +113,7 @@ static void libnet_dssync_decrypt_attributes(TALLOC_CTX *mem_ctx,
                        drsuapi_decrypt_attribute(mem_ctx,
                                                  session_key,
                                                  rid,
+                                                 0,
                                                  attr);
                }
        }
@@ -195,9 +196,19 @@ static NTSTATUS libnet_dssync_bind(TALLOC_CTX *mem_ctx,
                ctx->remote_info28.repl_epoch           = 0;
                break;
        }
-       case 28:
+       case 28: {
                ctx->remote_info28 = bind_info.info.info28;
                break;
+       }
+       case 32: {
+               struct drsuapi_DsBindInfo32 *info32;
+               info32 = &bind_info.info.info32;
+               ctx->remote_info28.site_guid            = info32->site_guid;
+               ctx->remote_info28.supported_extensions = info32->supported_extensions;
+               ctx->remote_info28.pid                  = info32->pid;
+               ctx->remote_info28.repl_epoch           = info32->repl_epoch;
+               break;
+       }
        case 48: {
                struct drsuapi_DsBindInfo48 *info48;
                info48 = &bind_info.info.info48;
@@ -207,6 +218,15 @@ static NTSTATUS libnet_dssync_bind(TALLOC_CTX *mem_ctx,
                ctx->remote_info28.repl_epoch           = info48->repl_epoch;
                break;
        }
+       case 52: {
+               struct drsuapi_DsBindInfo52 *info52;
+               info52 = &bind_info.info.info52;
+               ctx->remote_info28.site_guid            = info52->site_guid;
+               ctx->remote_info28.supported_extensions = info52->supported_extensions;
+               ctx->remote_info28.pid                  = info52->pid;
+               ctx->remote_info28.repl_epoch           = info52->repl_epoch;
+               break;
+       }
        default:
                DEBUG(1, ("Warning: invalid info length in bind info: %d\n",
                          bind_info.length));