diff options
Diffstat (limited to 'source4/lib')
-rw-r--r-- | source4/lib/util_sid.c | 18 | ||||
-rw-r--r-- | source4/lib/util_uuid.c | 52 |
2 files changed, 5 insertions, 65 deletions
diff --git a/source4/lib/util_sid.c b/source4/lib/util_sid.c index 6436035f8e..44bb4cebb1 100644 --- a/source4/lib/util_sid.c +++ b/source4/lib/util_sid.c @@ -613,24 +613,6 @@ char *sid_binstring(const DOM_SID *sid) return s; } - -/***************************************************************** - Print a GUID structure for debugging. -*****************************************************************/ - -void print_guid(GUID *guid) -{ - int i; - - d_printf("%08x-%04x-%04x", - IVAL(guid->info, 0), SVAL(guid->info, 4), SVAL(guid->info, 6)); - d_printf("-%02x%02x-", guid->info[8], guid->info[9]); - for (i=10;i<GUID_SIZE;i++) - d_printf("%02x", guid->info[i]); - d_printf("\n"); -} - - /******************************************************************* Check if ACE has OBJECT type. ********************************************************************/ diff --git a/source4/lib/util_uuid.c b/source4/lib/util_uuid.c index 1b8c7572c7..0c607fb823 100644 --- a/source4/lib/util_uuid.c +++ b/source4/lib/util_uuid.c @@ -3,6 +3,7 @@ * UUID server routines * Copyright (C) Theodore Ts'o 1996, 1997, * Copyright (C) Jim McDonough 2002. + * Copyright (C) Andrew Tridgell 2003. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -21,52 +22,9 @@ #include "includes.h" -/* - * Offset between 15-Oct-1582 and 1-Jan-70 - */ -#define TIME_OFFSET_HIGH 0x01B21DD2 -#define TIME_OFFSET_LOW 0x13814000 - -struct uuid { - uint32 time_low; - uint16 time_mid; - uint16 time_hi_and_version; - uint8 clock_seq[2]; - uint8 node[6]; -}; - - -static void uuid_pack(const struct uuid *uu, GUID *ptr) -{ - uint8 *out = ptr->info; - - SIVAL(out, 0, uu->time_low); - SSVAL(out, 4, uu->time_mid); - SSVAL(out, 6, uu->time_hi_and_version); - memcpy(out+8, uu->clock_seq, 2); - memcpy(out+10, uu->node, 6); -} - -static void uuid_unpack(const GUID in, struct uuid *uu) +void uuid_generate_random(struct GUID *out) { - const uint8 *ptr = in.info; - - uu->time_low = IVAL(ptr, 0); - uu->time_mid = SVAL(ptr, 4); - uu->time_hi_and_version = SVAL(ptr, 6); - memcpy(uu->clock_seq, ptr+8, 2); - memcpy(uu->node, ptr+10, 6); -} - -void uuid_generate_random(GUID *out) -{ - GUID tmp; - struct uuid uu; - - generate_random_buffer(tmp.info, sizeof(tmp.info), True); - uuid_unpack(tmp, &uu); - - uu.clock_seq[0] = (uu.clock_seq[0] & 0x3F) | 0x80; - uu.time_hi_and_version = (uu.time_hi_and_version & 0x0FFF) | 0x4000; - uuid_pack(&uu, out); + generate_random_buffer(out, sizeof(struct GUID), False); + out->clock_seq[0] = (out->clock_seq[0] & 0x3F) | 0x80; + out->time_hi_and_version = (out->time_hi_and_version & 0x0FFF) | 0x4000; } |