1libnbd-release-notes-1.12(1) LIBNBD libnbd-release-notes-1.12(1)
2
3
4
6 libnbd-release-notes-1.12 - release notes for libnbd 1.12
7
9 These are the release notes for libnbd stable release 1.12. This
10 describes the major changes since 1.10.
11
12 libnbd 1.12.0 was released on 24 February 2022.
13
14 Security
15 CVE-2022-0485
16 Silent data corruption when using nbdcopy(1).
17
18 See the full announcement here:
19 https://listman.redhat.com/archives/libguestfs/2022-February/msg00104.html
20
21 If you find a security issue, please read SECURITY in the source
22 (online here: https://gitlab.com/nbdkit/libnbd/blob/master/SECURITY).
23 To find out about previous security issues in libnbd, see
24 libnbd-security(3).
25
26 New APIs
27 get_pread_initialize
28 set_pread_initialize
29 Control whether libnbd clears the pread buffer to avoid leaking
30 memory contents if the client does not properly handle errors.
31 These were added as part of the fix for CVE-2022-0485 (Eric Blake).
32
33 get_request_block_size
34 set_request_block_size
35 Control whether libnbd requests block size constraints from the
36 server during negotiation (Eric Blake).
37
38 Enhancements to existing APIs
39 Error messages about incorrect URIs in nbd_connect_uri(3) have been
40 improved to make common mistakes clearer for the user.
41
42 Tools
43 New syntax: "nbdinfo [ CMD ... ]" allowing you to query the properties
44 of an NBD server directly.
45
46 nbdcopy(1) new --queue-size option to control the maximum size of the
47 internal buffer (Nir Soffer).
48
49 nbdcopy(1) now names the source and destination handles to make it
50 easier to understand debug output.
51
52 Tests
53 Adopt libvirt-ci's ci/gitlab.yml (Martin Kletzander).
54
55 Fix the OCaml extents example (thanks Laszlo Ersek).
56
57 Golang benchmarks were added to the test suite (Nir Soffer).
58
59 The large tests/errors.c test was split into about a dozen separate
60 tests. Also this adds a new test for checking server-side block size
61 constraint error policy which was missing before.
62
63 Other improvements and bug fixes
64 New OCaml "NBD.with_handle" helper which ensures that "NBD.close" is
65 always called even if the inner code throws an exception.
66
67 The OCaml bindings now consistently use the correct types for buffer
68 sizes everywhere (Laszlo Ersek).
69
70 Several improvements and fixes to the golang bindings and tests. The
71 golang bindings have been relicensed to LGPLv2+ like the rest of the
72 library and are now published as a golang module at
73 https://libguestfs.org/libnbd (Nir Soffer).
74
75 The Python bindings no longer crash if you pass "None" in place of a
76 buffer parameter. In addition some memory leaks were fixed (Eric
77 Blake).
78
79 Various memory leaks have been fixed when using the optional
80 strict_mode settings (Eric Blake).
81
82 The performance of the internal vector library has been improved
83 greatly and overflow is now handled correctly (Nir Soffer, Laszlo Ersek
84 and Eric Blake).
85
86 Add "simple_copy" and "aio_copy" Golang examples (Nir Soffer).
87
88 Error handling was reviewed and fixed across many of the example
89 programs and documentation (Eric Blake, Nir Soffer).
90
91 Simplify and optimize handling of the extents callback in Golang (Nir
92 Soffer).
93
94 Golang AioBuffer was enhanced, making it safer to use, faster and
95 adding documentation (Nir Soffer).
96
97 Documentation
98 Document the limits on lengths and sizes of parameters to various APIs
99 (Eric Blake).
100
101 Build
102 You can now build programs that use the OCaml bindings of libnbd
103 against the libnbd build directory instead of requiring libnbd to be
104 installed (Laszlo Ersek).
105
106 Compatibility with OCaml 4.13.
107
108 Line locations in the state machine should be more accurate when
109 stepping through with a debugger like gdb.
110
111 .editorconfig file can be used to help code formatting, see
112 https://editorconfig.org/ (Nir Soffer, Eric Blake).
113
114 "MIN" and "MAX" macros can be nested (thanks Eric Blake).
115
117 libnbd(3).
118
120 Eric Blake
121 Laszlo Ersek
122 Martin Kletzander
123 Nir Soffer
124 Richard W.M. Jones
125
127 Copyright Red Hat
128
130 This library is free software; you can redistribute it and/or modify it
131 under the terms of the GNU Lesser General Public License as published
132 by the Free Software Foundation; either version 2 of the License, or
133 (at your option) any later version.
134
135 This library is distributed in the hope that it will be useful, but
136 WITHOUT ANY WARRANTY; without even the implied warranty of
137 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
138 Lesser General Public License for more details.
139
140 You should have received a copy of the GNU Lesser General Public
141 License along with this library; if not, write to the Free Software
142 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
143 02110-1301 USA
144
145
146
147libnbd-1.18.1 2023-10-31 libnbd-release-notes-1.12(1)