Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Dmitry Baryshkov
nettle
Commits
e7cc01a5
Commit
e7cc01a5
authored
Nov 11, 2017
by
Niels Möller
Browse files
Update NEWS file.
parent
f6e6b538
Changes
1
Hide whitespace changes
Inline
Side-by-side
NEWS
View file @
e7cc01a5
...
...
@@ -15,16 +15,14 @@ NEWS for the Nettle 3.4 release
* Fix compilation error with --enable-fat om ARM. Fix
contributed by Andreas Schneider.
* Reorganized the way data items are made available in the
ABI.
* Reorganized the way certain data items are made available.
Short version: Nettle header files now define the symbols
nettle_hashes, nettle_aeads, nettle_armors, as well as the
ecc curves nettle_secp_*, as preprocessor macros invoking a
corresponding function returning the address of the data
item. For backwards ABI compatibility, the symbols are still
present in the compiled libraries, and with the same sizes
as in nettle-3.3.
nettle_hashes, nettle_ciphers, and nettle_aeads, as
preprocessor macros invoking a corresponding accessor
function. For backwards ABI compatibility, the symbols are
still present in the compiled libraries, and with the same
sizes as in nettle-3.3.
New features:
...
...
@@ -36,6 +34,16 @@ NEWS for the Nettle 3.4 release
* Support for the Cipher Feedback Mode (CFB), contributed by
Dmitry Eremin-Solenikov.
* New accessor functions: nettle_get_hashes,
nettle_get_ciphers, nettle_get_aeads, nettle_get_secp_192r1,
nettle_get_secp_224r1, nettle_get_secp_256r1,
nettle_get_secp_384r1, nettle_get_secp_521r1.
For source-level compatibility with future versions,
applications are encouraged to migrate to using these
functions instead of referring to the corresponding data
items directly.
Miscellaneous:
* The contents of the header file nettle/version.h is now
...
...
@@ -44,19 +52,14 @@ NEWS for the Nettle 3.4 release
ABI issue:
Since the breakage was a bit subtle, let me document it
here.
The nettle and hogweed libraries export a couple of
data
symbols, and for some of these, the size was never
intended to
be part of the
api
. E.g.,
Since the breakage was a bit subtle, let me document it
here.
The nettle and hogweed libraries export a couple of
data
symbols, and for some of these, the size was never
intended to
be part of the
ABI
. E.g.,
extern const struct nettle_hash * const nettle_hashes[];
which is an NULL-terminated array, and
extern const struct ecc_curve nettle_secp_256r1;
where the ecc_curve struct is only forward declared in the
public headers.
which is an NULL-terminated array.
It turns out the sizes nevertheless may leak into the ABI, and
that increasing the sizes can break old executables linked
...
...
@@ -80,11 +83,27 @@ NEWS for the Nettle 3.4 release
in the nettle-3.3 release, this way of linking produces a
truncated array at load time, no longer NULL-terminated.
We will get similar problems for planned extensions of the
internal struct ecc_curve, and exported data items like
extern const struct ecc_curve nettle_secp_256r1;
where the ecc_curve struct is only forward declared in the
public headers. To prepare, applications should migrate to
using the new function nettle_get_secp_256r1, and similarly
for the other curves.
In some future version, the plan is to add a leading
underscore to the name of the actual data items
, e
.g.,
nettle_hashes --> _nettle_hashes, breaking the ABI
. W
hile
underscore to the name of the actual data items
. E
.g.,
nettle_hashes --> _nettle_hashes, breaking the ABI
, w
hile
keeping the nettle_get_hashes function and the nettle_hashes
macro as the supported ways to access it.
macro as the supported ways to access it. We will also
rename nettle_secp_256r1 --> _nettle_secp_256r1, breaking
both ABI and API.
Note that data items like nettle_sha256 are *not* affected,
since the size and layout of this struct is considered part
of the ABI, and R_X86_64_COPY-relocations then work fine.
The shared library names are libnettle.so.6.4 and
libhogweed.so.4.4, with sonames still libnettle.so.6 and
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment