summaryrefslogtreecommitdiff
path: root/source3
diff options
context:
space:
mode:
authorStefan Metzmacher <metze@samba.org>2017-05-22 12:10:45 +0200
committerStefan Metzmacher <metze@samba.org>2017-06-27 16:57:44 +0200
commitd37e30cef7906b7b2b14351ad81d0d884811557b (patch)
tree99ded625e867760a7dd0aa4b7ba254a7ca41e1a2 /source3
parent072dd87e639d7dbfc583ede5ddf6559d9d433b8b (diff)
downloadsamba-d37e30cef7906b7b2b14351ad81d0d884811557b.tar.gz
s3:secrets: split out a domain_guid_keystr() function
BUG: https://bugzilla.samba.org/show_bug.cgi?id=12782 Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Andreas Schneider <asn@samba.org>
Diffstat (limited to 'source3')
-rw-r--r--source3/passdb/machine_account_secrets.c24
1 files changed, 14 insertions, 10 deletions
diff --git a/source3/passdb/machine_account_secrets.c b/source3/passdb/machine_account_secrets.c
index 114bed64d5f..060babf4828 100644
--- a/source3/passdb/machine_account_secrets.c
+++ b/source3/passdb/machine_account_secrets.c
@@ -51,6 +51,16 @@ static const char *domain_sid_keystr(const char *domain)
return keystr;
}
+static const char *domain_guid_keystr(const char *domain)
+{
+ char *keystr;
+
+ keystr = talloc_asprintf_strupper_m(talloc_tos(), "%s/%s",
+ SECRETS_DOMAIN_GUID, domain);
+ SMB_ASSERT(keystr != NULL);
+ return keystr;
+}
+
static const char *protect_ids_keystr(const char *domain)
{
char *keystr;
@@ -139,7 +149,7 @@ bool secrets_fetch_domain_sid(const char *domain, struct dom_sid *sid)
bool secrets_store_domain_guid(const char *domain, struct GUID *guid)
{
char *protect_ids;
- fstring key;
+ const char *key;
protect_ids = secrets_fetch(protect_ids_keystr(domain), NULL);
if (protect_ids) {
@@ -152,24 +162,18 @@ bool secrets_store_domain_guid(const char *domain, struct GUID *guid)
}
SAFE_FREE(protect_ids);
- slprintf(key, sizeof(key)-1, "%s/%s", SECRETS_DOMAIN_GUID, domain);
- if (!strupper_m(key)) {
- return false;
- }
+ key = domain_guid_keystr(domain);
return secrets_store(key, guid, sizeof(struct GUID));
}
bool secrets_fetch_domain_guid(const char *domain, struct GUID *guid)
{
struct GUID *dyn_guid;
- fstring key;
+ const char *key;
size_t size = 0;
struct GUID new_guid;
- slprintf(key, sizeof(key)-1, "%s/%s", SECRETS_DOMAIN_GUID, domain);
- if (!strupper_m(key)) {
- return false;
- }
+ key = domain_guid_keystr(domain);
dyn_guid = (struct GUID *)secrets_fetch(key, &size);
if (!dyn_guid) {