From c6b61e1a8954026754e45d931252481780e89906 Mon Sep 17 00:00:00 2001 From: Garming Sam Date: Thu, 5 Feb 2015 11:07:30 +1300 Subject: [PATCH] backupkey: begin by factoring out the server wrap functions Signed-off-by: Garming Sam Reviewed-by: Andrew Bartlett (cherry picked from commit a4e6873c4356fa221a0833336413f70e7c9411ca) --- .../rpc_server/backupkey/dcesrv_backupkey.c | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/source4/rpc_server/backupkey/dcesrv_backupkey.c b/source4/rpc_server/backupkey/dcesrv_backupkey.c index fb558755cdb..1bcb1155216 100644 --- a/source4/rpc_server/backupkey/dcesrv_backupkey.c +++ b/source4/rpc_server/backupkey/dcesrv_backupkey.c @@ -1224,7 +1224,7 @@ static WERROR bkrp_do_retrieve_client_wrap_key(struct dcesrv_call_state *dce_cal */ return WERR_FILE_NOT_FOUND; } - + cert_secret_name = talloc_asprintf(mem_ctx, "BCKUPKEY_%s", guid_string); @@ -1259,6 +1259,18 @@ static WERROR bkrp_do_retrieve_client_wrap_key(struct dcesrv_call_state *dce_cal return WERR_NOT_SUPPORTED; } +static WERROR bkrp_do_uncrypt_server_wrap_key(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx, + struct bkrp_BackupKey *r ,struct ldb_context *ldb_ctx) +{ + return WERR_NOT_SUPPORTED; +} + +static WERROR bkrp_do_retrieve_server_wrap_key(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx, + struct bkrp_BackupKey *r ,struct ldb_context *ldb_ctx) +{ + return WERR_NOT_SUPPORTED; +} + static WERROR dcesrv_bkrp_BackupKey(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx, struct bkrp_BackupKey *r) { @@ -1312,13 +1324,13 @@ static WERROR dcesrv_bkrp_BackupKey(struct dcesrv_call_state *dce_call, if (strncasecmp(GUID_string(mem_ctx, r->in.guidActionAgent), BACKUPKEY_RESTORE_GUID_WIN2K, strlen(BACKUPKEY_RESTORE_GUID_WIN2K)) == 0) { DEBUG(debuglevel, ("Client %s requested to decrypt a server side wrapped secret, not implemented yet\n", addr)); - return WERR_NOT_SUPPORTED; /* is this appropriate? */ + error = bkrp_do_uncrypt_server_wrap_key(dce_call, mem_ctx, r, ldb_ctx); } if (strncasecmp(GUID_string(mem_ctx, r->in.guidActionAgent), BACKUPKEY_BACKUP_GUID, strlen(BACKUPKEY_BACKUP_GUID)) == 0) { DEBUG(debuglevel, ("Client %s requested a server wrapped secret, not implemented yet\n", addr)); - return WERR_NOT_SUPPORTED; /* is this appropriate? */ + error = bkrp_do_retrieve_server_wrap_key(dce_call, mem_ctx, r, ldb_ctx); } } /*else: I am a RODC so I don't handle backup key protocol */ -- 2.47.2