Provided by: manpages-fr-extra_20151231_all bug

NOM

        CONF_modules_load_file, CONF_modules_load - Fonctions de configuration d'OpenSSL

SYNOPSIS

        #include <openssl/conf.h>

        int CONF_modules_load_file(const char *filename, const char *appname,
                                               unsigned long flags);
        int CONF_modules_load(const CONF *cnf, const char *appname,
                                       unsigned long flags);

DESCRIPTION

       La fonction CONF_modules_load_file() configure OpenSSL en utilisant le fichier filename et l'application
       appname. Si filename vaut NULL, le fichier standard de configuration d'OpenSSL est utilisé. Si appname
       vaut NULL, le nom d'application standard d’OpenSSL, openssl_conf, est utilisé. Le comportement peut être
       personnalisé en utilisant flags.

       CONF_modules_load() est identique à CONF_modules_load_file() sauf qu'il lit l'information de
       configuration depuis cnf.

NOTES

       Les flags suivants sont reconnus :

       Si CONF_MFLAGS_IGNORE_ERRORS est activé, les erreurs renvoyées individuellement par les modules de
       configuration sont ignorées. Sinon la première erreur provenant d’un module sera considérée comme fatale
       et aucun autre module ne sera chargé.

       Normalement, toutes les erreurs provenant des modules ajouteront des informations à la file d’erreur. Si
       CONF_MFLAGS_SILENT est activé, il n'y aura pas d'information d'erreur ajoutée.

       Si CONF_MFLAGS_NO_DSO est activé, le module de configuration chargeant à partir des DSO est désactivé.

       Si CONF_MFLAGS_IGNORE_MISSING_FILE est activé, CONF_load_modules_file() ignorera l'absence de fichiers de
       configuration. Normalement l'absence d'un fichier de configuration renvoie une erreur.

       Si CONF_MFLAGS_DEFAULT_SECTION est activé, et appname n'est pas NULL, il utilisera la section par défaut
       pointée par openssl_conf si appname n'existe pas.

       Les applications devraient appeler ces fonctions après le chargement des modules intégrés en utilisant
       OPENSSL_load_builtin_modules(), par exemple, tous les ENGINES en utilisant ENGINE_load_builtin_engines(),
       tous les algorithmes en utilisant OPENSSL_add_all_algorithms() et (si l'application utilise libssl)
       SSL_library_init().

       En utilisant CONF_modules_load_file() avec les réglages appropriés, une application peut personnaliser sa
       configuration pour mieux répondre à ses besoins. Dans certains cas, l'utilisation d'un fichier de
       configuration est facultatif et son absence n'est pas une erreur : dans ce cas
       CONF_MFLAGS_IGNORE_MISSING_FILE devrait être activé.

       Les erreurs lors de la  configuration peuvent aussi être traitées autrement par différentes applications.
       Par exemple, dans certains cas, une erreur peut seulement afficher un message d'avertissement et
       l'application continue. Dans d'autres cas, l'application peut considérer comme fatale une erreur de
       ficher de configuration et se terminer immédiatement.

       Des applications peuvent utiliser la fonction CONF_modules_load() si elles souhaitent charger elles-mêmes
       un fichier de configuration et avoir un contrôle plus fin sur la manière dont les erreurs sont traitées.

EXEMPLES

       Charger un fichier de configuration, afficher toutes les erreurs et terminer l'application (absence de
       fichier considérée comme fatale) :

        if (CONF_modules_load_file(NULL, NULL, 0) <= 0) {
           fprintf(stderr, "FATAL: error loading configuration file\n");
           ERR_print_errors_fp(stderr);
           exit(1);
        }

       Charger le ficher de configuration par défaut en utilisant la section indiquée par « myapp », tolérer les
       fichiers manquants, mais terminer l'application si d'autres erreurs surviennent :

        if (CONF_modules_load_file(NULL, "myapp",
                                   CONF_MFLAGS_IGNORE_MISSING_FILE) <= 0) {
           fprintf(stderr, "FATAL: error loading configuration file\n");
           ERR_print_errors_fp(stderr);
           exit(1);
        }

       Charger la section et le fichier de configuration personnalisés, afficher seulement des avertissements en
       cas d'erreur, l'absence de fichier de configuration est ignorée :

        if (CONF_modules_load_file("/something/app.cnf", "myapp",
                                   CONF_MFLAGS_IGNORE_MISSING_FILE) <= 0) {
           fprintf(stderr, "WARNING: error loading configuration file\n");
           ERR_print_errors_fp(stderr);
        }

       Charger et analyser soi-même le fichier de configuration, traitement d'erreur personnalisé :

        FILE *fp;
        CONF *cnf = NULL;
        long eline;
        fp = fopen("/somepath/app.cnf", "r");
        if (fp == NULL) {
           fprintf(stderr, "Error opening configuration file\n");
           /* Other missing configuration file behaviour */
        } else {
           cnf = NCONF_new(NULL);
           if (NCONF_load_fp(cnf, fp, &eline) == 0) {
               fprintf(stderr, "Error on line %ld of configuration file\n", eline);
               ERR_print_errors_fp(stderr);
               /* Other malformed configuration file behaviour */
           } else if (CONF_modules_load(cnf, "appname", 0) <= 0) {
             fprintf(stderr, "Error configuring application\n");
             ERR_print_errors_fp(stderr);
             /* Other configuration error behaviour */
           }
           fclose(fp);
           NCONF_free(cnf);
         }

VALEURS DE RETOUR

       Ces fonctions renvoient 1 pour un succès et 0 ou une valeur négative pour un échec. Si les erreurs des
       modules ne sont pas ignorées, le code de retour représentera la valeur de retour du module défaillant
       (cette valeur sera toujours inférieure ou égale à 0).

VOIR AUSSI

       err(3),err(3), OPENSSL_config(3), CONF_free(3), conf(5)

HISTORIQUE

       CONF_modules_load_file et CONF_modules_load sont apparues dans la version 0.9.7 d'OpenSSL.

TRADUCTION

       La traduction de cette page de manuel est maintenue par les membres de la liste <debian-l10n-french AT
       lists DOT debian DOT org>. Veuillez signaler toute erreur de traduction par un rapport de bogue sur le
       paquet manpages-fr-extra.

1.0.2a 1.0.2c                                      2015-12-31           fr::crypto::CONF_modules_load_file(3SSL)