summaryrefslogtreecommitdiff
path: root/source3/passdb/secrets.c
diff options
context:
space:
mode:
authorJim McDonough <jmcd@samba.org>2003-10-30 16:38:39 +0000
committerJim McDonough <jmcd@samba.org>2003-10-30 16:38:39 +0000
commit523444b7b69fd14798a70cbf98b4f5f0177bfd2a (patch)
tree66f9e9607d09c56516366e1c0c88a46f49247822 /source3/passdb/secrets.c
parent11e6f4b5185f6d3ee4e8c91cf598839a7f1d5002 (diff)
downloadsamba-523444b7b69fd14798a70cbf98b4f5f0177bfd2a.tar.gz
samba-523444b7b69fd14798a70cbf98b4f5f0177bfd2a.tar.bz2
samba-523444b7b69fd14798a70cbf98b4f5f0177bfd2a.zip
First round of merging various UUID structures.
This eliminates RPC_UUID. It creates the following struct: struct uuid { uint32 time_low; uint16 time_mid; uint16 time_hi_and_version; uint8 clock_seq[2]; uint8 node[6]; }; which replaces RPC_UUID and various random struct uuid definitions and a flat version: #define UUID_FLAT_SIZE 16 typedef struct uuid_flat { uint8 info[UUID_FLAT_SIZE]; } UUID_FLAT; which pretty much looks like GUID (which I will start eliminating). I want us to use the FLAT one only on the wire (perhaps in files, too?), and I want it to be obvious to the coder that it is the FLAT version. This leaves a couple of compiler warnings, where GUID isn't completely replaced by FLAT_UUID yet...I'll get to those soon. (This used to be commit 1532b5d2e3c61df232b16394acedf6eac387588b)
Diffstat (limited to 'source3/passdb/secrets.c')
-rw-r--r--source3/passdb/secrets.c21
1 files changed, 10 insertions, 11 deletions
diff --git a/source3/passdb/secrets.c b/source3/passdb/secrets.c
index 8a146f0d68..a5a2c29a8b 100644
--- a/source3/passdb/secrets.c
+++ b/source3/passdb/secrets.c
@@ -128,39 +128,38 @@ BOOL secrets_fetch_domain_sid(const char *domain, DOM_SID *sid)
return True;
}
-BOOL secrets_store_domain_guid(const char *domain, GUID *guid)
+BOOL secrets_store_domain_guid(const char *domain, struct uuid *guid)
{
fstring key;
slprintf(key, sizeof(key)-1, "%s/%s", SECRETS_DOMAIN_GUID, domain);
strupper_m(key);
- return secrets_store(key, guid, sizeof(GUID));
+ return secrets_store(key, guid, sizeof(struct uuid));
}
-BOOL secrets_fetch_domain_guid(const char *domain, GUID *guid)
+BOOL secrets_fetch_domain_guid(const char *domain, struct uuid *guid)
{
- GUID *dyn_guid;
+ struct uuid *dyn_guid;
fstring key;
size_t size;
- GUID new_guid;
+ struct uuid new_guid;
slprintf(key, sizeof(key)-1, "%s/%s", SECRETS_DOMAIN_GUID, domain);
strupper_m(key);
- dyn_guid = (GUID *)secrets_fetch(key, &size);
+ dyn_guid = (struct uuid *)secrets_fetch(key, &size);
- DEBUG(6,("key is %s, size is %d\n", key, (int)size));
-
- if ((NULL == dyn_guid) && (ROLE_DOMAIN_PDC == lp_server_role())) {
+ if ((!dyn_guid) && (lp_server_role() == ROLE_DOMAIN_PDC)) {
smb_uuid_generate_random(&new_guid);
if (!secrets_store_domain_guid(domain, &new_guid))
return False;
- dyn_guid = (GUID *)secrets_fetch(key, &size);
+ dyn_guid = (struct uuid *)secrets_fetch(key, &size);
if (dyn_guid == NULL)
return False;
}
- if (size != sizeof(GUID))
+ if (size != sizeof(struct uuid))
{
+ DEBUG(1,("UUID size %d is wrong!\n", (int)size));
SAFE_FREE(dyn_guid);
return False;
}