netinet{,6}: Assert in{,6}_inithead() are only used for system routing tables.
[dragonfly.git] / secure / lib / libssl / man / SSL_get_session.3
CommitLineData
5a44c043 1.\" Automatically generated by Pod::Man 2.27 (Pod::Simple 3.28)
e056f0e0
JR
2.\"
3.\" Standard preamble:
4.\" ========================================================================
e056f0e0 5.de Sp \" Vertical space (when we can't use .PP)
984263bc
MD
6.if t .sp .5v
7.if n .sp
8..
e056f0e0 9.de Vb \" Begin verbatim text
984263bc
MD
10.ft CW
11.nf
12.ne \\$1
13..
e056f0e0 14.de Ve \" End verbatim text
984263bc 15.ft R
984263bc
MD
16.fi
17..
e056f0e0
JR
18.\" Set up some character translations and predefined strings. \*(-- will
19.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
e257b235
PA
20.\" double quote, and \*(R" will give a right double quote. \*(C+ will
21.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
22.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
23.\" nothing in troff, for use with C<>.
24.tr \(*W-
e056f0e0 25.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
984263bc 26.ie n \{\
e056f0e0
JR
27. ds -- \(*W-
28. ds PI pi
29. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
30. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
31. ds L" ""
32. ds R" ""
33. ds C` ""
34. ds C' ""
984263bc
MD
35'br\}
36.el\{\
e056f0e0
JR
37. ds -- \|\(em\|
38. ds PI \(*p
39. ds L" ``
40. ds R" ''
5a44c043
SW
41. ds C`
42. ds C'
984263bc 43'br\}
e056f0e0 44.\"
e257b235
PA
45.\" Escape single quotes in literal strings from groff's Unicode transform.
46.ie \n(.g .ds Aq \(aq
47.el .ds Aq '
48.\"
e056f0e0 49.\" If the F register is turned on, we'll generate index entries on stderr for
01185282 50.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
e056f0e0
JR
51.\" entries marked with X<> in POD. Of course, you'll have to process the
52.\" output yourself in some meaningful fashion.
5a44c043
SW
53.\"
54.\" Avoid warning from groff about undefined register 'F'.
55.de IX
984263bc 56..
5a44c043
SW
57.nr rF 0
58.if \n(.g .if rF .nr rF 1
59.if (\n(rF:(\n(.g==0)) \{
60. if \nF \{
61. de IX
62. tm Index:\\$1\t\\n%\t"\\$2"
e257b235 63..
5a44c043
SW
64. if !\nF==2 \{
65. nr % 0
66. nr F 2
67. \}
68. \}
e257b235 69.\}
5a44c043 70.rr rF
aac4ff6f 71.\"
e056f0e0
JR
72.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
73.\" Fear. Run. Save yourself. No user-serviceable parts.
74. \" fudge factors for nroff and troff
984263bc 75.if n \{\
e056f0e0
JR
76. ds #H 0
77. ds #V .8m
78. ds #F .3m
79. ds #[ \f1
80. ds #] \fP
984263bc
MD
81.\}
82.if t \{\
e056f0e0
JR
83. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
84. ds #V .6m
85. ds #F 0
86. ds #[ \&
87. ds #] \&
984263bc 88.\}
e056f0e0 89. \" simple accents for nroff and troff
984263bc 90.if n \{\
e056f0e0
JR
91. ds ' \&
92. ds ` \&
93. ds ^ \&
94. ds , \&
95. ds ~ ~
96. ds /
984263bc
MD
97.\}
98.if t \{\
e056f0e0
JR
99. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
100. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
101. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
102. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
103. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
104. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
984263bc 105.\}
e056f0e0 106. \" troff and (daisy-wheel) nroff accents
984263bc
MD
107.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
108.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
109.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
110.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
111.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
112.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
113.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
114.ds ae a\h'-(\w'a'u*4/10)'e
115.ds Ae A\h'-(\w'A'u*4/10)'E
e056f0e0 116. \" corrections for vroff
984263bc
MD
117.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
118.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
e056f0e0 119. \" for low resolution devices (crt and lpr)
984263bc
MD
120.if \n(.H>23 .if \n(.V>19 \
121\{\
e056f0e0
JR
122. ds : e
123. ds 8 ss
124. ds o a
125. ds d- d\h'-1'\(ga
126. ds D- D\h'-1'\(hy
127. ds th \o'bp'
128. ds Th \o'LP'
129. ds ae ae
130. ds Ae AE
984263bc
MD
131.\}
132.rm #[ #] #H #V #F C
e056f0e0
JR
133.\" ========================================================================
134.\"
135.IX Title "SSL_get_session 3"
7dc78669 136.TH SSL_get_session 3 "2015-07-09" "1.0.1p" "OpenSSL"
e257b235
PA
137.\" For nroff, turn off justification. Always turn off hyphenation; it makes
138.\" way too many mistakes in technical documents.
139.if n .ad l
140.nh
984263bc 141.SH "NAME"
a7d27d5a 142SSL_get_session \- retrieve TLS/SSL session data
984263bc 143.SH "SYNOPSIS"
e056f0e0 144.IX Header "SYNOPSIS"
984263bc
MD
145.Vb 1
146\& #include <openssl/ssl.h>
e257b235 147\&
a561f9ff
SS
148\& SSL_SESSION *SSL_get_session(const SSL *ssl);
149\& SSL_SESSION *SSL_get0_session(const SSL *ssl);
984263bc
MD
150\& SSL_SESSION *SSL_get1_session(SSL *ssl);
151.Ve
152.SH "DESCRIPTION"
e056f0e0
JR
153.IX Header "DESCRIPTION"
154\&\fISSL_get_session()\fR returns a pointer to the \fB\s-1SSL_SESSION\s0\fR actually used in
155\&\fBssl\fR. The reference count of the \fB\s-1SSL_SESSION\s0\fR is not incremented, so
984263bc
MD
156that the pointer can become invalid by other operations.
157.PP
e056f0e0 158\&\fISSL_get0_session()\fR is the same as \fISSL_get_session()\fR.
984263bc 159.PP
e056f0e0
JR
160\&\fISSL_get1_session()\fR is the same as \fISSL_get_session()\fR, but the reference
161count of the \fB\s-1SSL_SESSION\s0\fR is incremented by one.
984263bc 162.SH "NOTES"
e056f0e0 163.IX Header "NOTES"
984263bc
MD
164The ssl session contains all information required to re-establish the
165connection without a new handshake.
166.PP
e056f0e0 167\&\fISSL_get0_session()\fR returns a pointer to the actual session. As the
984263bc 168reference counter is not incremented, the pointer is only valid while
e056f0e0
JR
169the connection is in use. If \fISSL_clear\fR\|(3) or
170\&\fISSL_free\fR\|(3) is called, the session may be removed completely
984263bc
MD
171(if considered bad), and the pointer obtained will become invalid. Even
172if the session is valid, it can be removed at any time due to timeout
e056f0e0 173during \fISSL_CTX_flush_sessions\fR\|(3).
984263bc
MD
174.PP
175If the data is to be kept, \fISSL_get1_session()\fR will increment the reference
176count, so that the session will not be implicitly removed by other operations
177but stays in memory. In order to remove the session
e056f0e0 178\&\fISSL_SESSION_free\fR\|(3) must be explicitly called once
984263bc
MD
179to decrement the reference count again.
180.PP
e056f0e0
JR
181\&\s-1SSL_SESSION\s0 objects keep internal link information about the session cache
182list, when being inserted into one \s-1SSL_CTX\s0 object's session cache.
183One \s-1SSL_SESSION\s0 object, regardless of its reference count, must therefore
184only be used with one \s-1SSL_CTX\s0 object (and the \s-1SSL\s0 objects created
185from this \s-1SSL_CTX\s0 object).
984263bc 186.SH "RETURN VALUES"
e056f0e0 187.IX Header "RETURN VALUES"
984263bc 188The following return values can occur:
e056f0e0
JR
189.IP "\s-1NULL\s0" 4
190.IX Item "NULL"
984263bc 191There is no session available in \fBssl\fR.
e056f0e0
JR
192.IP "Pointer to an \s-1SSL\s0" 4
193.IX Item "Pointer to an SSL"
984263bc
MD
194The return value points to the data of an \s-1SSL\s0 session.
195.SH "SEE ALSO"
a7d27d5a 196.IX Header "SEE ALSO"
e056f0e0
JR
197\&\fIssl\fR\|(3), \fISSL_free\fR\|(3),
198\&\fISSL_clear\fR\|(3),
199\&\fISSL_SESSION_free\fR\|(3)