diff --git a/unix-ffi/machine/machine/__init__.py b/unix-ffi/machine/machine/__init__.py index 80bf5da1a..9db98faa2 100644 --- a/unix-ffi/machine/machine/__init__.py +++ b/unix-ffi/machine/machine/__init__.py @@ -4,4 +4,13 @@ def unique_id(): + for base in ("/etc", "/var/lib/dbus"): + try: + with open(base + "/machine-id", "rb") as source: + data = source.read(32) + if len(data) == 32: + # unhexlify might not be available + return bytes([int(data[i : i + 2], 16) for i in range(0, 32, 2)]) + except OSError as e: + pass return b"upy-non-unique" diff --git a/unix-ffi/machine/manifest.py b/unix-ffi/machine/manifest.py index f7c11b81a..bdfb6a95f 100644 --- a/unix-ffi/machine/manifest.py +++ b/unix-ffi/machine/manifest.py @@ -1,4 +1,4 @@ -metadata(version="0.2.2") +metadata(version="0.2.3") # Originally written by Paul Sokolovsky.