I've always wanted to make the CONF library more adaptable. Here's
the result.
I have retained the old behavior of the CONF_* functions, and have
added a more "object oriented" interface through NCONF_* functions
(New CONF, you see :-)), working the same way as, for example, the
BIO interface. Really, the CONF_* are rewritten so they use the
NCONF_* functions internally.
In addition to that, I've split the old conf.c code into two files,
conf_def.c and conf_api.c. conf_def.c contains the default config
object that reads a configuration file the standard OpenSSL way, as
well as configuration file with Win32 registry file syntax (I'm not
sure I got that one right). conf_api.c provides an API to build other
configuration file readers around (can you see a configuraion file in
XML? I can :-)).
Finally, I've changed the name conf_lcl.h to conf_def.h, since it's
made specifically for that "class" and none others.
2000-04-09 20:04:35 +08:00
|
|
|
/*
|
2016-05-01 21:10:15 +08:00
|
|
|
* WARNING: do not edit!
|
|
|
|
* Generated by crypto/conf/keysets.pl
|
|
|
|
*
|
2022-01-06 00:25:02 +08:00
|
|
|
* Copyright 1995-2021 The OpenSSL Project Authors. All Rights Reserved.
|
2018-12-06 20:34:05 +08:00
|
|
|
* Licensed under the Apache License 2.0 (the "License"). You may not use
|
2016-05-01 21:10:15 +08:00
|
|
|
* this file except in compliance with the License. You can obtain a copy
|
|
|
|
* in the file LICENSE in the source distribution or at
|
|
|
|
* https://www.openssl.org/source/license.html
|
I've always wanted to make the CONF library more adaptable. Here's
the result.
I have retained the old behavior of the CONF_* functions, and have
added a more "object oriented" interface through NCONF_* functions
(New CONF, you see :-)), working the same way as, for example, the
BIO interface. Really, the CONF_* are rewritten so they use the
NCONF_* functions internally.
In addition to that, I've split the old conf.c code into two files,
conf_def.c and conf_api.c. conf_def.c contains the default config
object that reads a configuration file the standard OpenSSL way, as
well as configuration file with Win32 registry file syntax (I'm not
sure I got that one right). conf_api.c provides an API to build other
configuration file readers around (can you see a configuraion file in
XML? I can :-)).
Finally, I've changed the name conf_lcl.h to conf_def.h, since it's
made specifically for that "class" and none others.
2000-04-09 20:04:35 +08:00
|
|
|
*/
|
|
|
|
|
2018-03-19 22:23:28 +08:00
|
|
|
#define CONF_NUMBER 1
|
|
|
|
#define CONF_UPPER 2
|
|
|
|
#define CONF_LOWER 4
|
|
|
|
#define CONF_UNDER 256
|
|
|
|
#define CONF_PUNCT 512
|
|
|
|
#define CONF_WS 16
|
|
|
|
#define CONF_ESC 32
|
|
|
|
#define CONF_QUOTE 64
|
|
|
|
#define CONF_DQUOTE 1024
|
|
|
|
#define CONF_COMMENT 128
|
|
|
|
#define CONF_FCOMMENT 2048
|
2019-05-06 16:50:35 +08:00
|
|
|
#define CONF_DOLLAR 4096
|
2018-03-19 22:23:28 +08:00
|
|
|
#define CONF_EOF 8
|
|
|
|
#define CONF_ALPHA (CONF_UPPER|CONF_LOWER)
|
|
|
|
#define CONF_ALNUM (CONF_ALPHA|CONF_NUMBER|CONF_UNDER)
|
|
|
|
#define CONF_ALNUM_PUNCT (CONF_ALPHA|CONF_NUMBER|CONF_UNDER|CONF_PUNCT)
|
1998-12-21 18:52:47 +08:00
|
|
|
|
1999-06-05 05:35:58 +08:00
|
|
|
|
2018-04-03 04:37:30 +08:00
|
|
|
#define IS_COMMENT(conf,c) is_keytype(conf, c, CONF_COMMENT)
|
|
|
|
#define IS_FCOMMENT(conf,c) is_keytype(conf, c, CONF_FCOMMENT)
|
|
|
|
#define IS_EOF(conf,c) is_keytype(conf, c, CONF_EOF)
|
|
|
|
#define IS_ESC(conf,c) is_keytype(conf, c, CONF_ESC)
|
|
|
|
#define IS_NUMBER(conf,c) is_keytype(conf, c, CONF_NUMBER)
|
|
|
|
#define IS_WS(conf,c) is_keytype(conf, c, CONF_WS)
|
|
|
|
#define IS_ALNUM(conf,c) is_keytype(conf, c, CONF_ALNUM)
|
|
|
|
#define IS_ALNUM_PUNCT(conf,c) is_keytype(conf, c, CONF_ALNUM_PUNCT)
|
|
|
|
#define IS_QUOTE(conf,c) is_keytype(conf, c, CONF_QUOTE)
|
|
|
|
#define IS_DQUOTE(conf,c) is_keytype(conf, c, CONF_DQUOTE)
|
2019-05-06 16:50:35 +08:00
|
|
|
#define IS_DOLLAR(conf,c) is_keytype(conf, c, CONF_DOLLAR)
|
1998-12-21 18:52:47 +08:00
|
|
|
|
2018-03-28 00:31:56 +08:00
|
|
|
static const unsigned short CONF_type_default[128] = {
|
2002-01-02 19:06:02 +08:00
|
|
|
0x0008, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
|
|
0x0000, 0x0010, 0x0010, 0x0000, 0x0000, 0x0010, 0x0000, 0x0000,
|
|
|
|
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
|
|
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
2019-05-06 16:50:35 +08:00
|
|
|
0x0010, 0x0200, 0x0040, 0x0080, 0x1000, 0x0200, 0x0200, 0x0040,
|
2002-01-02 19:06:02 +08:00
|
|
|
0x0000, 0x0000, 0x0200, 0x0200, 0x0200, 0x0200, 0x0200, 0x0200,
|
|
|
|
0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001,
|
|
|
|
0x0001, 0x0001, 0x0000, 0x0200, 0x0000, 0x0000, 0x0000, 0x0200,
|
|
|
|
0x0200, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002,
|
|
|
|
0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002,
|
|
|
|
0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002,
|
|
|
|
0x0002, 0x0002, 0x0002, 0x0000, 0x0020, 0x0000, 0x0200, 0x0100,
|
|
|
|
0x0040, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004,
|
|
|
|
0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004,
|
|
|
|
0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004,
|
|
|
|
0x0004, 0x0004, 0x0004, 0x0000, 0x0200, 0x0000, 0x0200, 0x0000,
|
I've always wanted to make the CONF library more adaptable. Here's
the result.
I have retained the old behavior of the CONF_* functions, and have
added a more "object oriented" interface through NCONF_* functions
(New CONF, you see :-)), working the same way as, for example, the
BIO interface. Really, the CONF_* are rewritten so they use the
NCONF_* functions internally.
In addition to that, I've split the old conf.c code into two files,
conf_def.c and conf_api.c. conf_def.c contains the default config
object that reads a configuration file the standard OpenSSL way, as
well as configuration file with Win32 registry file syntax (I'm not
sure I got that one right). conf_api.c provides an API to build other
configuration file readers around (can you see a configuraion file in
XML? I can :-)).
Finally, I've changed the name conf_lcl.h to conf_def.h, since it's
made specifically for that "class" and none others.
2000-04-09 20:04:35 +08:00
|
|
|
};
|
|
|
|
|
2019-11-06 00:28:50 +08:00
|
|
|
#ifndef OPENSSL_NO_DEPRECATED_3_0
|
2018-03-28 00:31:56 +08:00
|
|
|
static const unsigned short CONF_type_win32[128] = {
|
2002-01-02 19:06:02 +08:00
|
|
|
0x0008, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
|
|
0x0000, 0x0010, 0x0010, 0x0000, 0x0000, 0x0010, 0x0000, 0x0000,
|
|
|
|
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
|
|
|
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
2019-05-06 16:50:35 +08:00
|
|
|
0x0010, 0x0200, 0x0400, 0x0000, 0x1000, 0x0200, 0x0200, 0x0000,
|
2002-01-02 19:06:02 +08:00
|
|
|
0x0000, 0x0000, 0x0200, 0x0200, 0x0200, 0x0200, 0x0200, 0x0200,
|
|
|
|
0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001,
|
|
|
|
0x0001, 0x0001, 0x0000, 0x0A00, 0x0000, 0x0000, 0x0000, 0x0200,
|
|
|
|
0x0200, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002,
|
|
|
|
0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002,
|
|
|
|
0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002,
|
|
|
|
0x0002, 0x0002, 0x0002, 0x0000, 0x0000, 0x0000, 0x0200, 0x0100,
|
|
|
|
0x0000, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004,
|
|
|
|
0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004,
|
|
|
|
0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004,
|
|
|
|
0x0004, 0x0004, 0x0004, 0x0000, 0x0200, 0x0000, 0x0200, 0x0000,
|
2015-01-22 11:40:55 +08:00
|
|
|
};
|
2019-08-13 04:55:25 +08:00
|
|
|
#endif
|