Blame doc/man3/RAND_load_file.pod

Packit Service 084de1
=pod
Packit Service 084de1
Packit Service 084de1
=head1 NAME
Packit Service 084de1
Packit Service 084de1
RAND_load_file, RAND_write_file, RAND_file_name - PRNG seed file
Packit Service 084de1
Packit Service 084de1
=head1 SYNOPSIS
Packit Service 084de1
Packit Service 084de1
 #include <openssl/rand.h>
Packit Service 084de1
Packit Service 084de1
 int RAND_load_file(const char *filename, long max_bytes);
Packit Service 084de1
Packit Service 084de1
 int RAND_write_file(const char *filename);
Packit Service 084de1
Packit Service 084de1
 const char *RAND_file_name(char *buf, size_t num);
Packit Service 084de1
Packit Service 084de1
=head1 DESCRIPTION
Packit Service 084de1
Packit Service 084de1
RAND_load_file() reads a number of bytes from file B<filename> and
Packit Service 084de1
adds them to the PRNG. If B<max_bytes> is non-negative,
Packit Service 084de1
up to B<max_bytes> are read;
Packit Service 084de1
if B<max_bytes> is -1, the complete file is read.
Packit Service 084de1
Do not load the same file multiple times unless its contents have
Packit Service 084de1
been updated by RAND_write_file() between reads.
Packit Service 084de1
Also, note that B<filename> should be adequately protected so that an
Packit Service 084de1
attacker cannot replace or examine the contents.
Packit Service 084de1
If B<filename> is not a regular file, then user is considered to be
Packit Service 084de1
responsible for any side effects, e.g. non-anticipated blocking or
Packit Service 084de1
capture of controlling terminal.
Packit Service 084de1
Packit Service 084de1
RAND_write_file() writes a number of random bytes (currently 128) to
Packit Service 084de1
file B<filename> which can be used to initialize the PRNG by calling
Packit Service 084de1
RAND_load_file() in a later session.
Packit Service 084de1
Packit Service 084de1
RAND_file_name() generates a default path for the random seed
Packit Service 084de1
file. B<buf> points to a buffer of size B<num> in which to store the
Packit Service 084de1
filename.
Packit Service 084de1
Packit Service 084de1
On all systems, if the environment variable B<RANDFILE> is set, its
Packit Service 084de1
value will be used as the seed file name.
Packit Service 084de1
Otherwise, the file is called C<.rnd>, found in platform dependent locations:
Packit Service 084de1
Packit Service 084de1
=over 4
Packit Service 084de1
Packit Service 084de1
=item On Windows (in order of preference)
Packit Service 084de1
Packit Service 084de1
 %HOME%, %USERPROFILE%, %SYSTEMROOT%, C:\
Packit Service 084de1
Packit Service 084de1
=item On VMS
Packit Service 084de1
Packit Service 084de1
 SYS$LOGIN:
Packit Service 084de1
Packit Service 084de1
=item On all other systems
Packit Service 084de1
Packit Service 084de1
 $HOME
Packit Service 084de1
Packit Service 084de1
=back
Packit Service 084de1
Packit Service 084de1
If C<$HOME> (on non-Windows and non-VMS system) is not set either, or
Packit Service 084de1
B<num> is too small for the path name, an error occurs.
Packit Service 084de1
Packit Service 084de1
=head1 RETURN VALUES
Packit Service 084de1
Packit Service 084de1
RAND_load_file() returns the number of bytes read or -1 on error.
Packit Service 084de1
Packit Service 084de1
RAND_write_file() returns the number of bytes written, or -1 if the
Packit Service 084de1
bytes written were generated without appropriate seeding.
Packit Service 084de1
Packit Service 084de1
RAND_file_name() returns a pointer to B<buf> on success, and NULL on
Packit Service 084de1
error.
Packit Service 084de1
Packit Service 084de1
=head1 SEE ALSO
Packit Service 084de1
Packit Service 084de1
L<RAND_add(3)>,
Packit Service 084de1
L<RAND_bytes(3)>,
Packit Service 084de1
L<RAND(7)>
Packit Service 084de1
Packit Service 084de1
=head1 COPYRIGHT
Packit Service 084de1
Packit Service 084de1
Copyright 2000-2018 The OpenSSL Project Authors. All Rights Reserved.
Packit Service 084de1
Packit Service 084de1
Licensed under the OpenSSL license (the "License").  You may not use
Packit Service 084de1
this file except in compliance with the License.  You can obtain a copy
Packit Service 084de1
in the file LICENSE in the source distribution or at
Packit Service 084de1
L<https://www.openssl.org/source/license.html>.
Packit Service 084de1
Packit Service 084de1
=cut