blob: 6d830dc0c89d0946aec9a46148f15c743be68395 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
@deftypefun {int} {gnutls_server_name_get} (gnutls_session_t @var{session}, void * @var{data}, size_t * @var{data_length}, unsigned int * @var{type}, unsigned int @var{indx})
@var{session}: is a @code{gnutls_session_t} type.
@var{data}: will hold the data
@var{data_length}: will hold the data length. Must hold the maximum size of data.
@var{type}: will hold the server name indicator type
@var{indx}: is the index of the server_name
This function will allow you to get the name indication (if any), a
client has sent. The name indication may be any of the enumeration
gnutls_server_name_type_t.
If @code{type} is GNUTLS_NAME_DNS, then this function is to be used by
servers that support virtual hosting, and the data will be a null
terminated IDNA ACE string (prior to GnuTLS 3.4.0 it was a UTF-8 string).
If @code{data} has not enough size to hold the server name
GNUTLS_E_SHORT_MEMORY_BUFFER is returned, and @code{data_length} will
hold the required size.
@code{indx} is used to retrieve more than one server names (if sent by
the client). The first server name has an index of 0, the second 1
and so on. If no name with the given index exists
GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE is returned.
@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, on UTF-8
decoding error @code{GNUTLS_E_IDNA_ERROR} is returned, otherwise a negative
error code is returned.
@end deftypefun
|