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.