asherah 1.2.3 → 1.2.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/.asherah-version CHANGED
@@ -1 +1 @@
1
- ASHERAH_VERSION=v0.4.14
1
+ ASHERAH_VERSION=v0.4.18
package/README.md CHANGED
@@ -2,6 +2,8 @@ Asherah envelope encryption and key rotation library
2
2
 
3
3
  This is a wrapper of the Asherah Go implementation using the Cobhan FFI library
4
4
 
5
+ *NOTE:* Due to limitations around the type of libraries Go creates and the type of libraries musl libc supports, you MUST use a glibc based Linux distribution with asherah-node, such as Debian, Ubuntu, AlmaLinux, etc. Alpine Linux with musl libc will not work. For technical details, see below.
6
+
5
7
  Example code:
6
8
 
7
9
  ### TypeScript
@@ -94,3 +96,7 @@ console.log("Output: " + output)
94
96
 
95
97
  asherah.shutdown()
96
98
  ```
99
+
100
+ ### Go and Alpine / musl libc
101
+
102
+ The Golang compiler when creating shared libraries (.so) uses a Thread Local Storage model of init-exec. This model is inheriently incompatible with loading libraries at runtime with dlopen(), unless your libc reserves some space for dlopen()'ed libraries which is something of a hack. The most common libc, glibc does in fact reserve space for dlopen()'ed libraries that use init-exec model. The libc provided with Alpine is musl libc, and it does not participate in this hack / workaround of reserving space. Most compilers generate libraries with a Thread Local Storage model of global-dynamic which does not require this workaround, and the authors of musl libc do not feel that workaround should exist.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "asherah",
3
- "version": "1.2.3",
3
+ "version": "1.2.5",
4
4
  "description": "Asherah envelope encryption and key rotation library",
5
5
  "main": "dist/asherah.js",
6
6
  "repository": {