summaryrefslogtreecommitdiff
path: root/src/conf_parser.y
diff options
context:
space:
mode:
Diffstat (limited to 'src/conf_parser.y')
-rw-r--r--src/conf_parser.y13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/conf_parser.y b/src/conf_parser.y
index 47b7f28..128696a 100644
--- a/src/conf_parser.y
+++ b/src/conf_parser.y
@@ -282,6 +282,7 @@ reset_block_state(void)
%token SQUIT
%token SSL_CERTIFICATE_FILE
%token SSL_CERTIFICATE_FINGERPRINT
+%token SSL_CONNECTION_REQUIRED
%token SSL_DH_PARAM_FILE
%token STATS_E_DISABLED
%token STATS_I_OPER_ONLY
@@ -1087,6 +1088,7 @@ oper_items: oper_items oper_item | oper_item;
oper_item: oper_name | oper_user | oper_password |
oper_umodes | oper_class | oper_encrypted |
oper_rsa_public_key_file | oper_ssl_certificate_fingerprint |
+ oper_ssl_connection_required |
oper_flags | error ';' ;
oper_name: NAME '=' QSTRING ';'
@@ -1130,6 +1132,17 @@ oper_ssl_certificate_fingerprint: SSL_CERTIFICATE_FINGERPRINT '=' QSTRING ';'
strlcpy(block_state.cert.buf, yylval.string, sizeof(block_state.cert.buf));
};
+oper_ssl_connection_required: SSL_CONNECTION_REQUIRED '=' TBOOL ';'
+{
+ if (conf_parser_ctx.pass != 2)
+ break;
+
+ if (yylval.number)
+ block_state.flags.value |= CONF_FLAGS_SSL;
+ else
+ block_state.flags.value &= ~CONF_FLAGS_SSL;
+};
+
oper_class: CLASS '=' QSTRING ';'
{
if (conf_parser_ctx.pass == 2)