~nabijaczleweli/ossp

ossp-uuid 1.6.3 released

Details
Message ID
<shcfm3rbzo6w7bcfngph7acwg2oroglnvdislcavyavkiuni63@tarta.nabijaczleweli.xyz>
DKIM signature
pass
Download raw message
This is the first thawed release as part of the new upstream,
and archive (and continued development) of http://www.ossp.org software.
Please see
  https://sr.ht/~nabijaczleweli/ossp
to learn more.

Old ossp-uuid tarballs are retained at
  https://lfs.nabijaczleweli.xyz/0022-OSSP.org-mirror/ftp.ossp.org/ossp-ftp/pkg/lib/uuid
the new release tarball (and signature, same as this mail) can be obtained from
  https://git.sr.ht/~nabijaczleweli/ossp-uuid/refs/UUID_1_6_3
The manual is available on-line and at
  https://srhtcdn.githack.com/~nabijaczleweli/ossp-uuid/blob/man/ossp-uuid.pdf

As standard fare, the detailed changelog and NEWS
are now maintained as part of the tags and these release mails
(the old files have been inlined as appropriate).

This release:
 1. removes the PostgreSQL bindings (which targeted postgres 8 and didn't work);
    they have been long since embedded into postgres per se; cf.
    https://lists.sr.ht/~nabijaczleweli/ossp/%3Cgvagy3mvqfhjmmxsequjbsky4xbo4dzwyovzazpozbsdkn5g7r@tarta.nabijaczleweli.xyz%3E
 2. removes the PHP bindings (which targeted PHP 4 and PHP 5);
    they are utterly meaningless in a PHP-8-minimum world
 3. deprecates the C++ bindings
 4. adds symbol versioning (all old users remain compatible)
    and limits the exported symbols to just the intended-to-be-public ones
 5. adds support for version 6 and 7 UUIDs
    (uuid_make(UUID_MAKE_V[67]), uuid -v[67], $uuid->make("v[67]")) 
 6. adds the "max" (all-bits-set) UUID to the uuid_load() catalogue
 7. adds uuid_ismax() ($uuid->ismax()) @OSSP_UUID_1.6.3
 8. optimises libuuid.so such that it loads the MAC address once in a constructor,
    each uuid_create() is one malloc(), and /dev/[u]random is opened on first use,
    and only if on a system without getentropy()
    (previously, that happened on every uuid_create(),
     uuid_t* contained multiple nested allocations,
     and each uuid_t* eagerly opened /dev/[u]random)
 9. uses the full range of timespec_get() (1ns) instead of gettimeofday(1μs),
    and thus removes the internal per-UUID "same time" counter
    (if we do get the same time at this resolution we just yield);
    this also fixed a Y2038 bug
10. supports Linux/the illumos gate/{Free,Net,Open}BSD/the Macintosh
    for MAC address autodetection, with multicast addressed filtered away,
    and uses the first IFA_UP+IFA_BROADCAST interface on the former two
11. supports the --with-libname= autoconf option,
    downstreams may want to configure --with-libname=libossp-uuid and kill patches
12. uses libmd (SHA1Final-style functions)
    instead of embedded SHA1 and MD5 andimplementations

This release is believed to fix every outstanding issue
(reported to upstream/Debian/Fedora/Gentoo (the latter two had none)),
and to incorporate or supersede every downstream patch.

The following issues are known to affect this release:
On FreeBSD 14.1 with perl 5.36.3, the Perl plugin is unusable,
and crashes in compiler code in __stack_chk_fail().
(https://todo.sr.ht/~nabijaczleweli/ossp/120)
(https://todo.sr.ht/~nabijaczleweli/ossp/145)
(https://todo.sr.ht/~nabijaczleweli/ossp/208)
I don't know how to debug this, since it happens only on builds.sr.ht CI,
and I can hardly inject a sanitiser into a distribution Perl binary.
I can't reproduce it (or trigger any injectable sanitiser) on bookworm.

I don't really know what the top-level Makefile.PL file is for, either.
It's retained, and could easily be brought back to working, maybe.


  Bugs were mirrored from the original upstream's CVSTrac; numbers retained
    https://todo.sr.ht/~nabijaczleweli/ossp/
    http://cvs.ossp.org/tktview?tn=
  and these ones were fixed:
#31  [uuid 0.9.0] uuid(1) manpage lacks namespace enumeration
#81  [uuid 1.3.1] Compiliation Problems on Mac OS X 10.4
#146 [uuid 1.5.1] Can't install ossp-uuid-1.5.1
#150 [uuid 1.5.1] uuid_dce_to_string doesn't work
#160 [uuid]       ossp uuid 1.6.0 fails in 'make check' on OS X 10.4.10
#172 [uuid 1.6.2] uuid changes behaviour under Linux when the ethernet device is'nt eth0
#177 [uuid 1.6.2] Makefile does not use LDFLAGS
#181 [uuid]       Please provide a namespaced header/pkg-config file
#183 [uuid 1.6.2] uuid.pc fails to install when building outside source tree
#185 [uuid 1.6.2] uuid_to_string (uuid_dce_to_string) does not work
#186 [uuid 1.6.2] 'make install' fails on OS X 10.6.7 from a sub build directory
#187 [uuid 1.6.2] Unable to make install from build directory other than source director
#190 [uuid 1.6.2] v1 uuids not working on Linux or with MAC addrs with high-bit set
#193 [uuid 1.6.2] libossp-uuid should not use install -s; cross-compilation issue
#196 [uuid 1.6.2] Unable to cross compile due to AC_TRY_RUN
#198 [uuid 1.6.2] Cannot cross compile for ARM architecture
#200 [uuid 1.6.2] uuid.pc.in does not use the right autoconf variables for paths
#205 [uuid 1.6.2] typo in uuid.so
#206 [uuid 1.6.2-1.5+b7] Data::UUID compat create_from_name() is broken
#207 [uuid 1.6.2] Build error with MinGW cross-compilation

Debian#757278     libossp-uuid-dev: arch-dependent file in "Multi-Arch: same" package
Debian#864530     uuid parsing accepts invalid UUIDs, with potential security consequences
Debian#881000     uuid: -v1 always uses random MAC (tries "eth0", fallback is -m) 
Debian#1041542    uuid: Memory unsafety for version 1 UUID with out-of-range timestamp

  For completeness, the following issues were triaged:
#44  [uuid 1.0.0] uuid-1.0.0 unable to be used with GCC option --enable-fatal-warnings
#50  [uuid 1.0.1] default installation breaks linux boot
#87  [uuid 1.3.2] Code does not compile because of missing struct definition.
#155 [uuid 1.60]  Fix for broken Perl test
#163 [uuid 1.6.0] pgsql unable to insert NULL into uuid colums as DEFAULT values
#169 [uuid 1.6.1] return representation too 'C' for string().
#182 [uuid]       UUID: Please Support Win64
#184 [uuid]       Broken links for Documentation on the page for "OSSP uuid"
#194 [1.6.2]      Errors while compiling: libuuid.a could not read symbols: Bad value.
#199 [uuid 1.6.2] aggregate 'uuid_t uu' has incomplete type and cannot be defined
#201 [uuid 1.6.2] export uuid
#202 [uuid 1.6.2] export uuid
#203 [uuid 1.6.2] Trouble configuring with clang++ on android platform, arch-arm64
#204 [uuid 1.6.2] Unable to connect to ftp

  And the following are no longer relevant 
  after emigrating PostgreSQL bindings and the death of the PHP ones:
#156 [uuid 1.60]  Also install documentation
#162 [uuid 1.6.0] ossp-uuid 1.6.0 w/ bindings for PostgreSQL 8.3beta2 fails in 'make'
#164 [uuid 1.6.0] Header doesn't work if <unistd.h> is included first
#178 [1.6.2]      Problem compiling uuid-1.6.2

Debian#611489     Package is not usable anymore when using default PHP settings because of 'allow_call_time_pass_reference = Off'
Debian#625836     Enabling php5-uuid results in missing data and php fatal errors like "Cannot use object of type .."


-- >8 --                              NEWS                              -- >8 --
   _        ___  ____ ____  ____                _     _
  |_|_ _   / _ \/ ___/ ___||  _ \   _   _ _   _(_) __| |
  _|_||_| | | | \___ \___ \| |_) | | | | | | | | |/ _` |
 |_||_|_| | |_| |___) |__) |  __/  | |_| | |_| | | (_| |
  |_|_|_|  \___/|____/____/|_|      \__,_|\__,_|_|\__,_|

  OSSP uuid - Universally Unique Identifier

  NEWS

  This is a list of major changes to OSSP uuid. For more detailed
  change descriptions, please have a look at the ChangeLog file.

  Major changes between 1.4 and 1.5

    o Many internal code cleanups and fixes.
    o Improved and fixed PostgreSQL API.
    o Improved and fixed PHP API.

  Major changes between 1.3 and 1.4

    o Added PostgreSQL API.

  Major changes between 1.2 and 1.3

    o Added Perl TIE-style API.
    o Added Perl Data::UUID backward compatibility API.
    o Added C++ API.
    o Added PHP API.

  Major changes between 1.1 and 1.2

    o Added support for version 5 UUIDs (name-based, SHA-1)

  Major changes between 1.0 and 1.1

    o Added Perl API

  Major changes between 0.9 and 1.0

    o Initial functionality
Reply to thread Export thread (mbox)