1nbd_get_tls_negotiated(3) LIBNBD nbd_get_tls_negotiated(3)
2
3
4
6 nbd_get_tls_negotiated - find out if TLS was negotiated on a connection
7
9 #include <libnbd.h>
10
11 int nbd_get_tls_negotiated (
12 struct nbd_handle *h
13 );
14
16 After connecting you may call this to find out if the connection is
17 using TLS.
18
19 This is normally useful only if you set the TLS request mode to
20 "LIBNBD_TLS_ALLOW" (see nbd_set_tls(3)), because in this mode we try to
21 use TLS but fall back to unencrypted if it was not available. This
22 function will tell you if TLS was negotiated or not.
23
24 In "LIBNBD_TLS_REQUIRE" mode (the most secure) the connection would
25 have failed if TLS could not be negotiated. With "LIBNBD_TLS_DISABLE"
26 mode, TLS is not tried automatically; but if the NBD server uses the
27 less-common "SELECTIVETLS" mode, this function reports whether a manual
28 nbd_opt_starttls(3) enabled TLS or if the connection is still
29 plaintext.
30
32 This call returns a boolean value.
33
35 On error -1 is returned.
36
37 Refer to "ERROR HANDLING" in libnbd(3) for how to get further details
38 of the error.
39
40 The following parameters must not be NULL: "h". For more information
41 see "Non-NULL parameters" in libnbd(3).
42
44 The handle must be negotiating, or connected with the server, or shut
45 down, otherwise this call will return an error.
46
48 This function first appeared in libnbd 1.2.
49
50 If you need to test if this function is available at compile time check
51 if the following macro is defined:
52
53 #define LIBNBD_HAVE_NBD_GET_TLS_NEGOTIATED 1
54
56 nbd_create(3), nbd_get_tls(3), nbd_opt_starttls(3), nbd_set_tls(3),
57 libnbd(3).
58
60 Eric Blake
61
62 Richard W.M. Jones
63
65 Copyright Red Hat
66
68 This library is free software; you can redistribute it and/or modify it
69 under the terms of the GNU Lesser General Public License as published
70 by the Free Software Foundation; either version 2 of the License, or
71 (at your option) any later version.
72
73 This library is distributed in the hope that it will be useful, but
74 WITHOUT ANY WARRANTY; without even the implied warranty of
75 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
76 Lesser General Public License for more details.
77
78 You should have received a copy of the GNU Lesser General Public
79 License along with this library; if not, write to the Free Software
80 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
81 02110-1301 USA
82
83
84
85libnbd-1.18.1 2023-10-31 nbd_get_tls_negotiated(3)