summaryrefslogtreecommitdiffstats
path: root/source4/rpc_server
diff options
context:
space:
mode:
authorGarming Sam <garming@catalyst.net.nz>2015-02-05 11:07:30 +1300
committerAndrew Bartlett <abartlet@samba.org>2015-02-25 01:08:11 +0100
commita4e6873c4356fa221a0833336413f70e7c9411ca (patch)
tree7f1dcc5dcf225f7fc823297317f4bc0dcf2e7b3a /source4/rpc_server
parent286223f150dbb84022d48ef845119cd47afc30d3 (diff)
downloadsamba-a4e6873c4356fa221a0833336413f70e7c9411ca.tar.gz
samba-a4e6873c4356fa221a0833336413f70e7c9411ca.tar.xz
samba-a4e6873c4356fa221a0833336413f70e7c9411ca.zip
backupkey: begin by factoring out the server wrap functions
Signed-off-by: Garming Sam <garming@catalyst.net.nz> Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Diffstat (limited to 'source4/rpc_server')
-rw-r--r--source4/rpc_server/backupkey/dcesrv_backupkey.c18
1 files changed, 15 insertions, 3 deletions
diff --git a/source4/rpc_server/backupkey/dcesrv_backupkey.c b/source4/rpc_server/backupkey/dcesrv_backupkey.c
index fb558755cd..1bcb115521 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 */