=pod

=head1 NAME

EVP_set_default_properties
- Set default properties for future algorithm fetches

=head1 SYNOPSIS

 #include <openssl/evp.h>

 int EVP_set_default_properties(OPENSSL_CTX *libctx, const char *propq);

=head1 DESCRIPTION

EVP_set_default_properties() sets the default properties for all
future EVP algorithm fetches, implicit as well as explicit.

=for comment TODO(3.0) We should consider having an EVP document in
section 7 that details everything about implicit vs explicit fetches
and how they relate to properties.

EVP_set_default_properties stores the properties given with the string
I<propq> among the EVP data that's been stored in the library context
given with I<libctx> (NULL signifies the default library context).

Any previous default property for the specified library context will
be dropped.

=head1 RETURN VALUES

EVP_set_default_properties() returns 1 on success, or 0 on failure.
The latter adds an error on the error stack.

=head1 SEE ALSO

L<EVP_MD_fetch(3)>

=head1 HISTORY

The functions described here were added in OpenSSL 3.0.

=head1 COPYRIGHT

Copyright 2019 The OpenSSL Project Authors. All Rights Reserved.

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>.

=cut
