1 2006-06-24 Theodore Ts'o <tytso@mit.edu>
3 * Release of E2fsprogs 1.40
5 2006-10-22 Theodore Tso <tytso@mit.edu>
7 * gen_uuid.c (get_random_bytes): Add in randomness based on
8 Linux's thread id (gettid) to avoid race conditions when
9 two threads try to generate uuid's at the same time. This
10 shouldn't be an issue if /dev/urandom has proper locking
11 and is present, so this is just a failsafe. (Addresses
12 SourceForge Bug: #1529672)
14 2006-01-06 Theodore Ts'o <tytso@mit.edu>
16 * gen_uuid.c (get_random_fd): Set the FD_CLOEXEC flag on the file
17 descriptor so that it will get closed across an execve().
18 (Addresses Debian Bug #345832)
20 2005-12-10 Theodore Ts'o <tytso@mit.edu>
22 * Makefile.in: Add a dependency to make sure that the
23 subdirectories are created before creating all of the
26 2006-06-30 Theodore Ts'o <tytso@mit.edu>
28 * Release of E2fsprogs 1.38
30 2005-03-21 Theodore Ts'o <tytso@mit.edu>
32 * Release of E2fsprogs 1.37
34 2006-02-05 Theodore Ts'o <tytso@mit.edu>
36 * Release of E2fsprogs 1.36
38 2005-02-05 Theodore Ts'o <tytso@mit.edu>
40 * Makefile.in: Remove uuid.pc on a "make distclean"
42 2005-01-26 Theodore Ts'o <tytso@mit.edu>
44 * uuid.pc.in: Add pkg-config files.
46 2005-01-18 Theodore Ts'o <tytso@mit.edu>
48 * Makefile.in: Fix the kernel compile-time echo commands to be
49 consistent and portable
51 2005-01-17 Theodore Ts'o <tytso@mit.edu>
53 * uuidP.h: Use inttypes.h in preference to stdint.h for
54 compatibility with older FreeBSD and Solaris systems.
56 2004-12-14 Theodore Ts'o <tytso@mit.edu>
58 * Makefile.in: Use Linux-kernel-style makefile output for "make
61 * Makefile.in (installdirs): Use $(MKINSTALLDIRS) macro.
64 2004-11-30 Theodore Ts'o <tytso@mit.edu>
66 * Makefile.in: Use Linux-kernel-style makefile output to make it
67 easier to see errors/warnings.
69 2004-09-17 Theodore Ts'o <tytso@mit.edu>
71 * gen_uuid.c (get_node_id): glibc always defines AF_LINK, so only
72 try to use struct sockaddr_dl if HAVE_NET_IF_DL_H is
73 defined. (Addresses Debian Bug #256669)
75 2004-05-27 Theodore Ts'o <tytso@mit.edu>
77 * uuid.h (UUID_DEFINE): Make the UUID defined as a static
78 variable, with __attribute__ ((unused)) if we are using GCC.
80 2004-05-04 Theodore Ts'o <tytso@mit.edu>
82 * Update and clean up uuid man pages
84 * gen_uuid.c (uuid_generate_time): Mask off the timestamp to avoid
87 2004-04-03 Theodore Ts'o <tytso@mit.edu>
89 * Makefile.in: Update the modtime even if subst doesn't need to
90 update the libuuid man pages, to avoid always re-running
91 subst, especially since there are no dependencies on the
94 2004-04-03 Theodore Ts'o <tytso@mit.edu>
96 * libuuid.3.in, uuid_clear.3.in, uuid_compare.3.in, uuid_copy.3.in,
97 uuid_generate.3.in, uuid_is_null.3.in, uuid_parse.3.in,
98 uuid_time.3.in, uuid_unparse.3.in: Change licensing of man
99 pages from GPL to 3-clause BSD-style.
101 * uuid_parse.3.in, uuid_unparse.3.in: Change the use of the term
102 "internal format" to "binary representation".
104 * gen_uuid.c, pack.c, unpack.c, uuid_time.c, uuidP.h,
105 uuid_types.h.in: Use ANSI C99 types if stdint.h exists.
107 2004-03-30 Theodore Ts'o <tytso@mit.edu>
109 * gen_uuid.c (get_node_id): Clean up AF_LINK #ifdef's for Darwin.
111 2004-03-22 Theodore Ts'o <tytso@mit.edu>
113 * unparse.c (uuid_unparse_lower, uuid_unparse_upper),
114 uuid_unparse.3.in, uuid.h: Add new functions.
116 2004-03-19 Theodore Ts'o <tytso@mit.edu>
118 * Change the license to be the 3-clause BSD-style license
120 * uuid.h (UUID_DEFINE): Add UUID type #define's, and add an CPP
121 macro to define UUID constants.
123 * gen_uuid.c (get_clock): Use 14 bits for the clock sequence,
124 instead of just 13 bits.
126 * gen_uuid.c (get_node_id): Fix so that Darwin will actually get
127 the ethernet address correctly.
129 2004-02-29 Brian Bergstrand <brian@bergstrand.org>
131 * Makefile.in: Use $(BSDLIB_PIC_FLAG) to determine whether to use
134 2004-02-28 Theodore Ts'o <tytso@mit.edu>
136 * Release of E2fsprogs 1.35
138 2004-01-30 Theodore Ts'o <tytso@mit.edu>
140 * gen_uuid.c (uuid_generate_time): Fix bug pointed out by Ralf
141 S. Engelshall; when generating a random ethernet address
142 because one is not available, set the least significant
143 bit of the first byte of the MAC address, since it is the
144 first bit to be transmitted, and is therefore the
147 2003-07-25 Theodore Ts'o <tytso@mit.edu>
149 * Release of E2fsprogs 1.34
151 2003-04-21 Theodore Ts'o <tytso@mit.edu>
153 * Release of E2fsprogs 1.33
155 2003-04-21 Theodore Ts'o <tytso@mit.edu>
157 * Makefile.in: Use DYLD_LIBRAY_PATH so that "make check" works on
158 Darwin systems when building with shared libraries.
160 2003-04-12 Theodore Ts'o <tytso@mit.edu>
162 * gen_uuid.c: Add #ifdef checks around #include <sys/ioctl.h> and
165 2003-04-03 Theodore Ts'o <tytso@mit.edu>
167 * gen_uuid.c (get_random_bytes): Always xor in a stream of bytes
168 from the system PRNG (i.e., random/srandom, seeded from
169 the time, pid, and uid) in case /dev/random isn't doing
170 the right thing on a particular system. It doesn't hurt,
171 and it can help, in the case of a buggy /dev/random.
173 2003-03-14 Theodore Ts'o <tytso@mit.edu>
175 * Makefile.in: Add support for Apple Darwin
177 2003-03-06 Theodore Tso <tytso@mit.edu>
179 * uuid_types.h.in: Don't redefine types if other e2fsprogs
180 *_types.h files have been included already.
182 * Makefile.in (tst_uuid): Link against the static library instead
183 of all of the object files, so that we automatically pick
184 up -lsocket under Solaris.
186 2003-03-02 Theodore Ts'o <tytso@mit.edu>
188 * Makefile.in, uuidP.h, uuid_types.h.in: Use uuid_types.h instead
191 2002-11-09 Theodore Ts'o <tytso@mit.edu>
193 * Release of E2fsprogs 1.32
195 2002-11-08 Theodore Ts'o <tytso@mit.edu>
197 * Release of E2fsprogs 1.31
199 2002-10-31 Theodore Ts'o <tytso@mit.edu>
201 * Release of E2fsprogs 1.30
203 2002-10-31 Theodore Ts'o <tytso@mit.edu>
205 * gen_uuid.c (get_random_bytes): Don't spin forever if read()
206 returns EINTR or EAGAIN, so that when /dev/random is
207 opened O_NONBLOCK, we don't end up spinning forever.
209 2001-09-24 Theodore Tso <tytso@mit.edu>
211 * Release of E2fsprogs 1.29
213 2001-08-31 Theodore Tso <tytso@thunk.org>
215 * Release of E2fsprogs 1.28
217 2002-07-15 Theodore Ts'o <tytso@mit.edu>
219 * parse.c (uuid_parse): Fix uuid parsing bug which didn't complain
220 for certain types of invalid input text. (Addresses
223 * tst_uuid.c: Add test cases for invalid text strings passed to
226 2002-03-08 Theodore Tso <tytso@mit.edu>
228 * Release of E2fsprogs 1.27
230 2002-02-24 Theodore Tso <tytso@mit.edu>
232 * Makefile.in (install): Install hard links to man pages for
233 uuid_generate_random and uuid_generate_time. Remove
234 any compressed man pages before installing the man pages.
236 2002-02-03 Theodore Tso <tytso@thunk.org>
238 * Release of E2fsprogs 1.26
240 2001-09-20 Theodore Tso <tytso@thunk.org>
242 * Release of E2fsprogs 1.25
244 2001-09-10 Theodore Tso <tytso@mit.edu>
246 * compare.c (uuid_compare), copy.c (uuid_copy),
247 isnull.c (uuid_is_null), pack.c (uuid_pack),
248 parse.c (uuid_parse), unpack.c (uuid_unpack),
249 unparse.c (uuid_unparse), uuid.h, uuidP.h,
250 uuid_time.c (uuid_time, uuid_type, uuid_variant):
251 Use const for pointer variables that we don't modify. Add
252 the appropriate ifdef's in uuid.h to make it be C++ friendly.
254 2001-09-02 Theodore Tso <tytso@thunk.org>
256 * Release of E2fsprogs 1.24a
258 2001-08-30 Theodore Tso <tytso@thunk.org>
260 * Release of E2fsprogs 1.24
262 2001-08-15 Theodore Tso <tytso@valinux.com>
264 * Release of E2fsprogs 1.23
266 2001-06-23 Theodore Tso <tytso@valinux.com>
268 * Release of E2fsprogs 1.22
270 2001-06-21 Theodore Tso <tytso@valinux.com>
272 * uuid.h: Add protection against multiple inclusion
274 2001-06-15 Theodore Tso <tytso@valinux.com>
276 * Release of E2fsprogs 1.21
278 2001-06-01 Theodore Tso <tytso@valinux.com>
280 * Makefile.in, uuidP.h: Move include/asm/types.h.in to
281 lib/ext2fs/ext2_types.h.in.
283 2001-06-01 Theodore Tso <tytso@valinux.com>
285 * unpack.c, unparse.c, uuid_time.c: Update files to be under the
286 LGPL (that somehow were missed when libuuid was converted
287 to use the LGPL). Whoops.
289 2001-05-25 Theodore Tso <tytso@valinux.com>
291 * Release of E2fsprogs 1.20
293 2001-05-14 Theodore Tso <tytso@valinux.com>
295 * tst_uuid.c, uuid_time.c: Remove unneeded #include of ext2_fs.h
297 2001-05-12 Theodore Tso <tytso@valinux.com>
299 * libuuid.3.in, uuid_clear.3.in, uuid_compare.3.in, uuid_copy.3.in,
300 uuid_generate.3.in, uuid_is_null.3.in, uuid_parse.3.in,
301 uuid_time.3.in, uuid_unparse.3.in: Update URL location of
304 2001-05-01 Theodore Tso <tytso@valinux.com>
306 * parse.c, compare.c: Include string.h to fix gcc -Wall
309 * gen_uuid.c: Define _SVID_SOURCE to avoid gcc -Wall errors
310 because some required structures wouldn't be otherwise
311 defined. Fix a minor gcc -Wall nit in the declaration of
314 2001-01-12 Theodore Ts'o <tytso@valinux.com>
316 * uuid_time.c (main), tst_uuid.c (main): Fix gcc -Wall complaints.
318 * uuid.h, copy.c (uuid_copy): Change arguments to make it
319 clear which argument is the source and which is the
322 * gen_uuid.c (get_random_fd): Use gettimeofday to seed the PRNG,
323 so we can take advantage of tv_usec to do (slightly)
324 better at seeding it.
326 2000-07-13 <tytso@valinux.com>
328 * Release of E2fsprogs 1.19
330 2000-07-07 Theodore Ts'o <tytso@valinux.com>
332 * Makefile.in (uuid_time): Fix compilation rule so that
333 uuid_time.o doesn't get bashed in order to build the
334 command-line version of uuid_time.
336 2000-07-04 Theodore Ts'o <tytso@valinux.com>
338 * Makefile.in: Remove explicit link of -lc in the shared library.
339 (It shouldn't be necessary, and is harmful in some cases).
341 2000-06-12 Theodore Ts'o <tytso@valinux.com>
343 * gen_uuid.c (get_random_bytes): Use O_NONBLOCK when trying to
344 open /dev/random. Break out the /dev/random
345 initialization code into a get_random_fd() function, and
346 use that function in uuid_generate() to determine whether
347 to use uuid_generate_random() or uuid_generate_time().
349 2000-05-25 <tytso@snap.thunk.org>
351 * Makefile: Add hack dependency rule so that parallel makes work
354 2000-04-07 Theodore Ts'o <tytso@valinux.com>
356 * clear.c, compare.c, copy.c, gen_uuid.c, isnull.c, pack.c,
357 parse.c, uuid.h, uuidP.h: Changed copyright to be the
360 Thu Apr 6 17:38:58 2000 Theodore Y. Ts'o <tytso@signal.thunk.org>
362 * Makefile.in (uuid_time): Compile uuid_time in two steps (first
363 create .o, then link it against the libraries) to work
364 around bug in a.out linker.
366 * dll/jump.funcs, dll/jump.import, dll/jump.params: Update a.out
367 shared library control files to reflect new added files.
369 2000-04-03 Theodore Ts'o <tytso@valinux.com>
371 * gen_uuid.c (get_clock): Fix bug where the last timeval wasn't
372 getting set, causing potentially duplicate UUID's to be
375 2000-03-12 Theodore Ts'o <tytso@valinux.com>
377 * gen_uuid.c (get_random_bytes): Make more paranoid about
378 misbehaving /dev/urandom. If we get a return of zero
379 without an error more than 8 times in a row, we break out
380 and return an error. Also, if /dev/urandom doesn't exist,
383 2000-01-18 Theodore Ts'o <tytso@valinux.com>
385 * Makefile.in: Since LIBUUID can sometimes include
386 "-lsocket" we need a separate DEPLIBUUID that can be used
387 in Makefile's dependency rules.
389 1999-11-19 <tytso@valinux.com>
391 * Makefile.in (distclean): Remove TAGS and Makefile.in.old from
392 the source directory.
394 1999-11-10 <tytso@valinux.com>
396 * Release of E2fsprogs 1.18
398 1999-10-26 <tytso@valinux.com>
400 * Release of E2fsprogs 1.17
402 1999-10-26 <tytso@valinux.com>
404 * uuid_time.c (variant_string): Declare to be static to avoid gcc
407 * uuid.h: Add function prototypes for uuid_generate_random() and
408 uuid_generate_time().
410 1999-10-25 <tytso@valinux.com>
412 * gen_uuid_nt.c (uuid_generate): W2K strikes again! An
413 incompatible interface change means we need to detect
414 whether the code is running on an NT4 or NT5 system.
416 1999-10-22 <tytso@valinux.com>
418 * Release of E2fsprogs 1.16
420 1999-10-21 <tytso@valinux.com>
422 * uuid_generate.8.in: Update man page to use a more standard
423 format (bold option flags and italicized variables), as
424 suggested by Andreas Dilger (adilger@enel.ucalgary.ca)
426 1999-09-24 <tytso@valinux.com>
428 * gen_uuid_nt.c: New file which creates a UUID under Windows NT.
430 1999-07-18 Theodore Ts'o <tytso@rsts-11.mit.edu>
432 * Release of E2fsprogs 1.15
434 1999-05-17 <tytso@rsts-11.mit.edu>
436 * gen_uuid.c (get_random_bytes): Use a while loop when reading
437 from /dev/urandom so that if we get interrupted while
438 reading the right thing happens.
439 (uuid_generate_random): Add new function which uses the
440 new UUID format which uses 122 random bits to form the
442 (uuid_generate): Rename the old uuid_generate to be
443 uuid_generate_time, and create a new uuid_generate
444 function which calls either uuid_generate_random or
445 uuid_genereate_time depending on whether /dev/urandom is
448 * uuid_generate.3.in: Update to reflect changesin uuid_generate
449 and its two new variants.
451 * tst_uuid.c: Updated to test new uuid_generate functions, and to
452 reflect new semantics of uuid_compare. Added tests to
453 make sure the UUID type and variant created by UUID
456 * uuid_time.c (uuid_variant, uuid_type): Added new functions to
457 return the UUID variant and type information. The
458 debugging program now prints the UUID variant and type,
459 and warns if the unparsed time information is likely to be
462 * uuid_parse.3.in, libuuid.3.in: Miscellaneous text cleanups.
464 1999-05-03 <tytso@rsts-11.mit.edu>
466 * compare.c (uuid_compare): Change sense of uuid_compare so that
467 its return values match that of memcpy and the
468 uuid_compare() found in Paul Leach's internet-draft.
470 1999-03-11 Andreas Dilger <adilger@enel.ucalgary.ca>
472 * Created man pages for libuuid functions.
474 1999-01-09 Theodore Ts'o <tytso@rsts-11.mit.edu>
476 * Release of E2fsprogs 1.14
478 1998-12-15 Theodore Ts'o <tytso@rsts-11.mit.edu>
480 * Release of E2fsprogs 1.13
482 1998-12-04 Theodore Ts'o <tytso@rsts-11.mit.edu>
484 * Makefile.in: Update version numbers of the UUID shared library,
485 since we've added a new function (uuid_time()).
487 * uuid_time.c: New file which returns the time field of a UUID.
488 (Good for debugging purposes)
490 1998-07-09 Theodore Ts'o <tytso@rsts-11.mit.edu>
492 * Release of E2fsprogs 1.12
494 1998-06-25 Theodore Ts'o <tytso@rsts-11.mit.edu>
496 * tst_uuid.c (main): Fixed bogus declaration of the main's argv
499 1998-04-26 Theodore Ts'o <tytso@rsts-11.mit.edu>
501 * uuidP.h: Use asm/types.h instead of linux/types.h to avoid a
502 problem caused by glibc hack to prevent linux/types.h from
505 1998-03-30 Theodore Ts'o <tytso@rsts-11.mit.edu>
507 * Makefile.in: Change to use new installation directory variables
508 convention. Fix uninstall rules to take $(DESTDIR) into
511 Sun Mar 8 22:17:59 1998 Theodore Ts'o <tytso@rsts-11.mit.edu>
513 * gen_uuid.c (get_node_id): Use char * instead of caddr_t, which
514 doesn't always exist for glibc.
516 Tue Oct 14 21:48:16 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
518 * gen_uuid.c: Use clock_reg instead of clock, since clock
519 conflicts with a header file declaration.
521 Tue Jun 17 01:33:20 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
523 * Release of E2fsprogs 1.11
525 Thu Apr 24 12:16:42 1997 Theodre Ts'o <tytso@localhost.mit.edu>
527 * Release of E2fsprogs version 1.10
529 Thu Apr 17 12:23:38 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
531 * Release of E2fsprogs version 1.09
533 Fri Apr 11 18:56:26 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
535 * Release of E2fsprogs version 1.08
537 Wed Mar 12 13:32:05 1997 Theodore Y. Ts'o <tytso@mit.edu>
539 * Release of E2fsprogs version 1.07
541 Sun Mar 2 16:45:36 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
543 * Makefile.in (ELF_VERSION): Change version to be 1.1
545 Thu Feb 6 23:08:07 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
547 * gen_uuid.c (uuid_generate): Set Multicast bit when picking a
548 random node_id, to prevent conflicts with IEEE 802
549 addresses obtained from network cards.
551 Wed Jan 1 23:51:09 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
553 * unpack.c, pack.c: Include string.h, since we use memcpy().
555 Tue Dec 3 13:05:11 1996 Theodore Ts'o <tytso@rsts-11.mit.edu>
557 * parse.c: Add #include of ctype.h and stdlib.h, to pull in the
560 Fri Oct 11 17:15:10 1996 Theodore Ts'o <tytso@rsts-11.mit.edu>
562 * Makefile.in (DLL_ADDRESS): Updated DLL address for libuuid.
564 Tue Oct 8 02:02:03 1996 Theodore Ts'o <tytso@rsts-11.mit.edu>
566 * Release of E2fsprogs version 1.06
568 Thu Sep 12 15:23:07 1996 Theodore Ts'o <tytso@rsts-11.mit.edu>
570 * Release of E2fsprogs version 1.05
572 Tue Aug 27 16:50:43 1996 Miles Bader <miles@gnu.ai.mit.edu>
574 * uuid/gen_uuid.c [HAVE_NET_IF_H] <net/if.h>: Include guarded.
575 [HAVE_NETINET_IN_H] <netinet/in.h>: Include guarded.
576 (get_node_id): Surround bulk of function with #ifdef HAVE_NET_IF_H.
578 Tue Aug 27 16:50:16 1996 Theodore Ts'o <tytso@rsts-11.mit.edu>
580 * gen_uuid.c (get_node_id): Add a specific ifdef for the HURD,
581 since it is broken w.r.t getting hardware addresses.