Add default property API's to enable and test for fips
[openssl.git] / doc / man3 / RAND_load_file.pod
index 39084b2c5dcc93af968917d22de2e8c847899c6e..cf4677648e4b69638e3c2b43ce4cf4a26e45642a 100644 (file)
@@ -8,70 +8,78 @@ RAND_load_file, RAND_write_file, RAND_file_name - PRNG seed file
 
  #include <openssl/rand.h>
 
- const char *RAND_file_name(char *buf, size_t num);
-
  int RAND_load_file(const char *filename, long max_bytes);
 
  int RAND_write_file(const char *filename);
 
+ const char *RAND_file_name(char *buf, size_t num);
+
 =head1 DESCRIPTION
 
+RAND_load_file() reads a number of bytes from file B<filename> and
+adds them to the PRNG. If B<max_bytes> is non-negative,
+up to B<max_bytes> are read;
+if B<max_bytes> is -1, the complete file is read.
+Do not load the same file multiple times unless its contents have
+been updated by RAND_write_file() between reads.
+Also, note that B<filename> should be adequately protected so that an
+attacker cannot replace or examine the contents.
+If B<filename> is not a regular file, then user is considered to be
+responsible for any side effects, e.g. non-anticipated blocking or
+capture of controlling terminal.
+
+RAND_write_file() writes a number of random bytes (currently 128) to
+file B<filename> which can be used to initialize the PRNG by calling
+RAND_load_file() in a later session.
+
 RAND_file_name() generates a default path for the random seed
 file. B<buf> points to a buffer of size B<num> in which to store the
 filename.
 
 On all systems, if the environment variable B<RANDFILE> is set, its
-value will be used as the seed file name.
-
-Otherwise, the file is called ".rnd", found in platform dependent locations:
+value will be used as the seed filename.
+Otherwise, the file is called C<.rnd>, found in platform dependent locations:
 
 =over 4
 
 =item On Windows (in order of preference)
 
-%HOME%, %USERPROFILE%, %SYSTEMROOT%, C:\
+ %HOME%, %USERPROFILE%, %SYSTEMROOT%, C:\
 
 =item On VMS
 
-SYS$LOGIN:
+ SYS$LOGIN:
 
 =item On all other systems
 
-$HOME
+ $HOME
 
 =back
 
 If C<$HOME> (on non-Windows and non-VMS system) is not set either, or
-B<num> is too small for the path name, an error occurs.
-
-RAND_load_file() reads a number of bytes from file B<filename> and
-adds them to the PRNG. If B<max_bytes> is non-negative,
-up to B<max_bytes> are read;
-if B<max_bytes> is -1, the complete file is read.
-
-RAND_write_file() writes a number of random bytes (currently 1024) to
-file B<filename> which can be used to initialize the PRNG by calling
-RAND_load_file() in a later session.
+B<num> is too small for the pathname, an error occurs.
 
 =head1 RETURN VALUES
 
-RAND_load_file() returns the number of bytes read.
+RAND_load_file() returns the number of bytes read or -1 on error.
 
-RAND_write_file() returns the number of bytes written, and -1 if the
-bytes written were generated without appropriate seed.
+RAND_write_file() returns the number of bytes written, or -1 if the
+bytes written were generated without appropriate seeding.
 
 RAND_file_name() returns a pointer to B<buf> on success, and NULL on
 error.
 
 =head1 SEE ALSO
 
-L<rand(3)>, L<RAND_add(3)>, L<RAND_cleanup(3)>
+L<RAND_add(3)>,
+L<RAND_bytes(3)>,
+L<RAND(7)>
 
 =head1 COPYRIGHT
 
-Copyright 2000-2016 The OpenSSL Project Authors. All Rights Reserved.
+Copyright 2000-2018 The OpenSSL Project Authors. All Rights Reserved.
 
-Licensed under the OpenSSL license (the "License").  You may not use
+Licensed under the Apache License 2.0 (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>.