=pod

=head1 NAME

SSL_SESSION_set1_id - set the SSL session ID

=head1 SYNOPSIS

 #include <openssl/ssl.h>

 int SSL_SESSION_set1_id(SSL_SESSION *s, const unsigned char *sid,
                         unsigned int sid_len);

=head1 DESCRIPTION

SSL_SESSION_set1_id() sets the the session ID for the B<ssl> SSL/TLS session
to B<sid> of length B<sid_len>.

=head1 RETURN VALUES

SSL_SESSION_set1_id() returns 1 for success and 0 for failure, for example
if the supplied session ID length exceeds B<SSL_MAX_SSL_SESSION_ID_LENGTH>.

=head1 SEE ALSO

L<ssl(7)>

=head1 HISTORY

SSL_SESSION_set1_id() was first added to OpenSSL 1.1.0

=head1 COPYRIGHT

Copyright 2015-2016 The OpenSSL Project Authors. All Rights Reserved.

Licensed under the OpenSSL license (the "License").  You may not use
this file except in compliance with the License.  You can obtain a copy
in the file LICENSE in the source distribution or at
L<https://www.openssl.org/source/license.html>.

=cut
