1nbdkit-release-notes-1.16(1)        NBDKIT        nbdkit-release-notes-1.16(1)
2
3
4

NAME

6       nbdkit-release-notes-1.16 - release notes for nbdkit 1.16
7

DESCRIPTION

9       These are the release notes for nbdkit stable release 1.16.  This
10       describes the major changes since 1.14.
11
12       nbdkit 1.16.0 was released on 14th November 2019.
13
14   Security
15       Two security issues were found during development of nbdkit 1.16.
16       Fixes for these were backported to older stable branches.  Upgrading to
17       the fixed versions is highly recommended.  The new nbdkit-security(1)
18       man page contains an up to date list of past security issues.
19
20       CVE-2019-14850 denial of service due to premature opening of back-end
21       connection
22
23       See the full announcement and links to mitigation, tests and fixes
24       here:
25       https://www.redhat.com/archives/libguestfs/2019-September/msg00084.html
26
27       CVE-2019-14851 assertion failure by issuing commands in the wrong order
28
29       This CVE was caused by the fix to the previous issue.
30
31       See the full announcement and links to mitigation, tests and fixes
32       here:
33       https://www.redhat.com/archives/libguestfs/2019-September/msg00272.html
34
35   New features
36       Add support for fast zeroing.  Plugins can expose this using the new
37       ".can_fast_zero" method (Eric Blake).
38
39       nbdkit-partitioning-plugin(1) allows use of "mbr-id=default" or
40       "type-guid=default" to go back to the default MBR byte or partition
41       type GUID.
42
43       New --mask-handshake server flag can be used for testing client feature
44       negotiation (Eric Blake).
45
46       The client export name is passed to nbdkit-captive(1) --run parameter
47       as $exportname (Eric Blake).
48
49       Captive --run commands which fail (eg. aborting) now cause nbdkit to
50       exit with an error instead of errors being silently ignored (Eric
51       Blake).
52
53       File descriptors can be passed to password parameters, eg:
54       "password=-3" which means that the password should be read from file
55       descriptor 3.
56
57       nbdkit can now serve over the "AF_VSOCK" protocol (thanks Stefan
58       Hajnoczi).
59
60       New --log=null option discards error messages.
61
62   Plugins
63       Python 2 support has been dropped from nbdkit-python-plugin(3) in line
64       with Python 2 end of life at the beginning of 2020.  Python ≥ 3.3 is
65       required by this plugin.  If you wish to continue to use Python 2 then
66       you will need to use nbdkit 1.14.
67
68       New nbdkit-info-plugin(1) which returns various server information back
69       to the client.  It can be used for testing server latency amongst other
70       things.
71
72       nbdkit-data-plugin(1) now allows you to write "BYTE*N" to get repeated
73       bytes (eg. "nbdkit data data="0x55*4096"").
74
75       nbdkit-ssh-plugin(1) new parameter "compression=true|false" to control
76       transport compression.
77
78       nbdkit-vddk-plugin(1) is no longer compiled on non-x86 platforms since
79       VMware has only ever shipped VDDK on x86.
80
81       nbdkit-sh-plugin(1) scripts can now see the client exportname and can
82       use the "magic_config_key" feature.
83
84   Filters
85       New nbdkit-retry-filter(1) which can reopen the plugin transparently on
86       certain types of failures (lots of help from Eric Blake).
87
88   API
89       Macros "NBDKIT_VERSION_MAJOR", "NBDKIT_VERSION_MINOR",
90       "NBDKIT_VERSION_MICRO" expose the compile-time version of nbdkit to
91       plugins and filters (Eric Blake).
92
93       Filters (which unlike plugins do not have a public stable API) must now
94       exactly match the version of nbdkit when loaded (Eric Blake).
95
96       New ".can_fast_zero" method (Eric Blake).
97
98       New "nbdkit_export_name" server function for reading the export name
99       passed by the client.
100
101       New "nbdkit_peer_name" server function to return the client address
102       (like getpeername(2)).
103
104       New server functions for safely parsing integers: "nbdkit_parse_int",
105       "nbdkit_parse_unsigned", "nbdkit_parse_int8_t", "nbdkit_parse_uint8_t",
106       "nbdkit_parse_int16_t", "nbdkit_parse_uint16_t",
107       "nbdkit_parse_int32_t", "nbdkit_parse_uint32_t",
108       "nbdkit_parse_int64_t", "nbdkit_parse_uint64_t".
109
110   Bug fixes
111       ".trim" with FUA flag set now works (Eric Blake).
112
113   Documentation
114       The previous release notes have been turned into man pages.
115
116   Tests
117       Several tests now optionally use nbdsh(1) instead of qemu-io.
118
119       You can now fuzz nbdkit using either American Fuzzy Lop or clang’s
120       libFuzzer.
121
122       Several tests have had sleep times increased to make them more stable
123       when run on slow or heavily loaded machines.
124
125   Internals
126       Reproducible builds (Chris Lamb).
127
128       Compile code with -Wshadow warning (Eric Blake).
129
130       The internal backend system has been extensively overhauled.  In
131       particular this means that we now validate request ranges as requests
132       are passed between filters and down to the plugin, making it easier to
133       find bugs in filters early (Eric Blake).
134
135       Plugin size and "can_*" flags are cached more aggressively by the
136       server (Eric Blake).
137
138       Variable Length Arrays (VLAs) on stack are now banned throughout the
139       code.
140
141       The nbd-protocol.h header describing the NBD protocol is now shared
142       with libnbd(3).
143
144       Plugin ".unload" method is now called after all worker threads have
145       exited, avoiding races at server shutdown.
146
147       Code was audited using Coverity and various problems were fixed.
148

SEE ALSO

150       nbdkit(1).
151

AUTHORS

153       Eric Blake
154
155       Richard W.M. Jones
156
158       Copyright (C) 2019 Red Hat Inc.
159

LICENSE

161       Redistribution and use in source and binary forms, with or without
162       modification, are permitted provided that the following conditions are
163       met:
164
165       •   Redistributions of source code must retain the above copyright
166           notice, this list of conditions and the following disclaimer.
167
168       •   Redistributions in binary form must reproduce the above copyright
169           notice, this list of conditions and the following disclaimer in the
170           documentation and/or other materials provided with the
171           distribution.
172
173       •   Neither the name of Red Hat nor the names of its contributors may
174           be used to endorse or promote products derived from this software
175           without specific prior written permission.
176
177       THIS SOFTWARE IS PROVIDED BY RED HAT AND CONTRIBUTORS ''AS IS'' AND ANY
178       EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
179       IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
180       PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL RED HAT OR CONTRIBUTORS BE
181       LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
182       CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
183       SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
184       BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
185       WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
186       OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
187       ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
188
189
190
191nbdkit-1.32.5                     2023-01-03      nbdkit-release-notes-1.16(1)
Impressum