.\" Automatically generated by Podwrapper::Man 1.14.2 (Pod::Simple 3.43) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" ======================================================================== .\" .IX Title "libnbd-release-notes-1.2 1" .TH libnbd-release-notes-1.2 1 "2023-01-04" "libnbd-1.14.2" "LIBNBD" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" libnbd\-release\-notes\-1.2 \- release notes for libnbd 1.2 .SH "DESCRIPTION" .IX Header "DESCRIPTION" These are the release notes for libnbd stable release 1.2. This describes the major changes since 1.0. .PP libnbd 1.2.0 was released on 14th November 2019. .SS "Security" .IX Subsection "Security" Two security problems were found during development of libnbd 1.2. Both were backported to the 1.0 stable branch. Upgrading is highly advisable. .PP \fI\s-1CVE\-2019\-14842\s0 protocol downgrade attack when using \f(CI\*(C`LIBNBD_TLS_REQUIRE\*(C'\fI\fR .IX Subsection "CVE-2019-14842 protocol downgrade attack when using LIBNBD_TLS_REQUIRE" .PP See the full announcement and links to mitigation, tests and fixes here: https://www.redhat.com/archives/libguestfs/2019\-September/msg00128.html .PP \fIremote code execution vulnerability\fR .IX Subsection "remote code execution vulnerability" .PP See the full announcement here: https://www.redhat.com/archives/libguestfs/2019\-October/msg00060.html .SS "New APIs" .IX Subsection "New APIs" .IP "\fBnbd_can_fast_zero\fR\|(3)" 4 .IX Item "nbd_can_fast_zero" Test support by the server for fast zeroing (Eric Blake). .IP "\fBnbd_connect_socket\fR\|(3)" 4 .IX Item "nbd_connect_socket" .PD 0 .IP "\fBnbd_aio_connect_socket\fR\|(3)" 4 .IX Item "nbd_aio_connect_socket" .PD Connect to a local connected socket which you create in your main program using your own chosen method. .IP "\fBnbd_connect_systemd_socket_activation\fR\|(3)" 4 .IX Item "nbd_connect_systemd_socket_activation" .PD 0 .IP "\fBnbd_aio_connect_systemd_socket_activation\fR\|(3)" 4 .IX Item "nbd_aio_connect_systemd_socket_activation" .PD Connect to local processes that support systemd socket activation. .IP "\fBnbd_connect_vsock\fR\|(3)" 4 .IX Item "nbd_connect_vsock" .PD 0 .IP "\fBnbd_aio_connect_vsock\fR\|(3)" 4 .IX Item "nbd_aio_connect_vsock" .PD Used to connect to servers over \f(CW\*(C`AF_VSOCK\*(C'\fR. .IP "\fBnbd_get_handshake_flags\fR\|(3)" 4 .IX Item "nbd_get_handshake_flags" .PD 0 .IP "\fBnbd_set_handshake_flags\fR\|(3)" 4 .IX Item "nbd_set_handshake_flags" .IP "\fBnbd_get_request_structured_replies\fR\|(3)" 4 .IX Item "nbd_get_request_structured_replies" .IP "\fBnbd_set_request_structured_replies\fR\|(3)" 4 .IX Item "nbd_set_request_structured_replies" .IP "\fBnbd_get_structured_replies_negotiated\fR\|(3)" 4 .IX Item "nbd_get_structured_replies_negotiated" .PD Can be used when testing \s-1NBD\s0 servers to avoid various \s-1NBD\s0 features (Eric Blake). .IP "\fBnbd_get_protocol\fR\|(3)" 4 .IX Item "nbd_get_protocol" Get the \s-1NBD\s0 protocol variant that the server supports. .IP "\fBnbd_get_tls_negotiated\fR\|(3)" 4 .IX Item "nbd_get_tls_negotiated" Did we actually negotiate a \s-1TLS\s0 connection? .IP "\fBnbd_set_uri_allow_local_file\fR\|(3)" 4 .IX Item "nbd_set_uri_allow_local_file" .PD 0 .IP "\fBnbd_set_uri_allow_tls\fR\|(3)" 4 .IX Item "nbd_set_uri_allow_tls" .IP "\fBnbd_set_uri_allow_transports\fR\|(3)" 4 .IX Item "nbd_set_uri_allow_transports" .PD These can be used to filter \s-1NBD\s0 URIs before calling \&\fBnbd_connect_uri\fR\|(3). .SS "New features" .IX Subsection "New features" New tool \fBnbdfuse\fR\|(1) lets you create a loop-mounted file backed by an \s-1NBD\s0 server without needing root. .PP \&\f(CW\*(C`AF_VSOCK\*(C'\fR is now a supported protocol (thanks Stefan Hajnoczi and Stefano Garzarella). .PP Support for the \f(CW\*(C`FAST_ZERO\*(C'\fR flag (Eric Blake). .PP Allow disabling certain protocol features, to make it easier to test servers (Eric Blake). .PP Stack-allocated Variable Length Arrays (VLAs) are now banned throughout the library, making the library easier to consume from threads and other small stack situations. .PP Reproducible builds (Chris Lamb). .PP Support for filtering potentially dangerous or undesirable \s-1NBD URI\s0 features. .SS "Documentation" .IX Subsection "Documentation" Many improvements to the generated manual pages, including: .IP "\(bu" 4 Separate \f(CW\*(C`RETURN VALUE\*(C'\fR and \f(CW\*(C`ERRORS\*(C'\fR sections for each \&\s-1API\s0 function. .IP "\(bu" 4 Example code. .IP "\(bu" 4 Relevant links can be added to the \f(CW\*(C`SEE ALSO\*(C'\fR section. .IP "\(bu" 4 Link to \s-1NBD URI\s0 specification where relevant, and improve documentation around what URIs libnbd supports. .IP "\(bu" 4 Document libnbd version number scheme. .IP "\(bu" 4 Document limits on export name length, encoding etc. .PP New \fBlibnbd\-security\fR\|(3) man page listing past security issues and remediations (Eric Blake). .SS "Tools" .IX Subsection "Tools" \&\fBnbdsh\fR\|(1) has a new \fI\-\-base\-allocation\fR option which can be used to request \f(CW\*(C`base:allocation\*(C'\fR metadata context. .PP New \fBnbdsh\fR\|(1) \fI\-\-uri\fR (\fI\-u\fR) option to connect to URIs. .SS "Tests" .IX Subsection "Tests" You can now fuzz libnbd using either American Fuzzy Lop or clang’s libFuzzer. .PP Add unit tests for \fBnbdsh\fR\|(1) (Eric Blake). .PP Improved interop testing with various \s-1NBD\s0 servers and features. .SS "Other improvements and bug fixes" .IX Subsection "Other improvements and bug fixes" \&\fBnbd_connect_tcp\fR\|(3) now tries to return the correct \fBerrno\fR\|(3) from the underlying \fBconnect\fR\|(2) call when that fails. .PP The \fInbd\-protocol.h\fR header file is now shared between libnbd and nbdkit. .PP Better fork-safety in \f(CW\*(C`nbd_connect_*\*(C'\fR APIs. .PP The code was analyzed with Coverity and various problems identified and fixed. .SH "SEE ALSO" .IX Header "SEE ALSO" \&\fBlibnbd\fR\|(3). .SH "AUTHORS" .IX Header "AUTHORS" Eric Blake .PP Richard W.M. Jones .SH "COPYRIGHT" .IX Header "COPYRIGHT" Copyright (C) 2019 Red Hat Inc. .SH "LICENSE" .IX Header "LICENSE" This library is free software; you can redistribute it and/or modify it under the terms of the \s-1GNU\s0 Lesser General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. .PP This library is distributed in the hope that it will be useful, but \s-1WITHOUT ANY WARRANTY\s0; without even the implied warranty of \&\s-1MERCHANTABILITY\s0 or \s-1FITNESS FOR A PARTICULAR PURPOSE.\s0 See the \s-1GNU\s0 Lesser General Public License for more details. .PP You should have received a copy of the \s-1GNU\s0 Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, \s-1MA 02110\-1301 USA\s0