X-Git-Url: https://git.openssl.org/?p=openssl.git;a=blobdiff_plain;f=crypto%2Fconf%2Fconf.h;h=ae7d05f3bc595efcf336937785972625b186a18c;hp=0ec58e1200c678d59e061b7c566777f243d3eeea;hb=c8cda405e7332f51ef224811bb8e63a92a6d8d5d;hpb=d86b6915bebbd86c46680e24d152f497cd85bc85 diff --git a/crypto/conf/conf.h b/crypto/conf/conf.h index 0ec58e1200..ae7d05f3bc 100644 --- a/crypto/conf/conf.h +++ b/crypto/conf/conf.h @@ -59,16 +59,16 @@ #ifndef HEADER_CONF_H #define HEADER_CONF_H -#ifdef __cplusplus -extern "C" { -#endif - #include #include #include #include #include +#ifdef __cplusplus +extern "C" { +#endif + typedef struct { char *section; @@ -90,10 +90,11 @@ struct conf_method_st int (MS_FAR *init)(CONF *conf); int (MS_FAR *destroy)(CONF *conf); int (MS_FAR *destroy_data)(CONF *conf); - int (MS_FAR *load)(CONF *conf, BIO *bp, long *eline); + int (MS_FAR *load_bio)(CONF *conf, BIO *bp, long *eline); int (MS_FAR *dump)(CONF *conf, BIO *bp); int (MS_FAR *is_number)(CONF *conf, char c); int (MS_FAR *to_int)(CONF *conf, char c); + int (MS_FAR *load)(CONF *conf, const char *name, long *eline); }; int CONF_set_default_method(CONF_METHOD *meth); @@ -106,7 +107,6 @@ STACK_OF(CONF_VALUE) *CONF_get_section(LHASH *conf,char *section); char *CONF_get_string(LHASH *conf,char *group,char *name); long CONF_get_number(LHASH *conf,char *group,char *name); void CONF_free(LHASH *conf); -void CONF_dump(LHASH *conf, BIO *out); int CONF_dump_fp(LHASH *conf, FILE *out); int CONF_dump_bio(LHASH *conf, BIO *out); void ERR_load_CONF_strings(void ); @@ -137,10 +137,17 @@ int NCONF_load_fp(CONF *conf, FILE *fp,long *eline); int NCONF_load_bio(CONF *conf, BIO *bp,long *eline); STACK_OF(CONF_VALUE) *NCONF_get_section(CONF *conf,char *section); char *NCONF_get_string(CONF *conf,char *group,char *name); -long NCONF_get_number(CONF *conf,char *group,char *name); +int NCONF_get_number_e(CONF *conf,char *group,char *name,long *result); int NCONF_dump_fp(CONF *conf, FILE *out); int NCONF_dump_bio(CONF *conf, BIO *out); +#if 0 /* The following function has no error checking, + and should therefore be avoided */ +long NCONF_get_number(CONF *conf,char *group,char *name); +#else +#define NCONF_get_number(c,g,n,r) NCONF_get_number_e(c,g,n,r); +#endif + /* BEGIN ERROR CODES */ /* The following lines are auto generated by the script mkerr.pl. Any changes @@ -157,9 +164,12 @@ int NCONF_dump_bio(CONF *conf, BIO *out); #define CONF_F_NCONF_DUMP_BIO 105 #define CONF_F_NCONF_DUMP_FP 106 #define CONF_F_NCONF_GET_NUMBER 107 +#define CONF_F_NCONF_GET_NUMBER_E 112 #define CONF_F_NCONF_GET_SECTION 108 #define CONF_F_NCONF_GET_STRING 109 +#define CONF_F_NCONF_LOAD 113 #define CONF_F_NCONF_LOAD_BIO 110 +#define CONF_F_NCONF_LOAD_FP 114 #define CONF_F_NCONF_NEW 111 #define CONF_F_STR_COPY 101 @@ -168,6 +178,9 @@ int NCONF_dump_bio(CONF *conf, BIO *out); #define CONF_R_MISSING_EQUAL_SIGN 101 #define CONF_R_NO_CLOSE_BRACE 102 #define CONF_R_NO_CONF 105 +#define CONF_R_NO_CONF_OR_ENVIRONMENT_VARIABLE 106 +#define CONF_R_NO_SECTION 107 +#define CONF_R_NO_VALUE 108 #define CONF_R_UNABLE_TO_CREATE_NEW_SECTION 103 #define CONF_R_VARIABLE_HAS_NO_VALUE 104