diff options
Diffstat (limited to 'src/conf_parser.y')
-rw-r--r-- | src/conf_parser.y | 27 |
1 files changed, 9 insertions, 18 deletions
diff --git a/src/conf_parser.y b/src/conf_parser.y index d2f5c14..7d0e42d 100644 --- a/src/conf_parser.y +++ b/src/conf_parser.y @@ -1081,14 +1081,20 @@ oper_entry: OPERATOR if ((file = BIO_new_file(block_state.file.buf, "r")) == NULL) { - conf_error_report("Ignoring rsa_public_key_file -- file doesn't exist"); + ilog(LOG_TYPE_IRCD, "Ignoring rsa_public_key_file -- file doesn't exist"); break; } if ((pkey = PEM_read_bio_RSA_PUBKEY(file, NULL, 0, NULL)) == NULL) - conf_error_report("Ignoring rsa_public_key_file -- Key invalid; check key syntax."); + ilog(LOG_TYPE_IRCD, "Ignoring rsa_public_key_file -- Key invalid; check key syntax"); + else + { + if (RSA_size(pkey) > 128) + ilog(LOG_TYPE_IRCD, "Ignoring rsa_public_key_file -- key size must be 1024 or below"); + else + conf->rsa_public_key = pkey; + } - conf->rsa_public_key = pkey; BIO_set_close(file, BIO_CLOSE); BIO_free(file); } @@ -2443,7 +2449,6 @@ general_item: general_hide_spoof_ips | general_ignore_bogus_ts | general_short_motd | general_no_oper_flood | general_true_no_oper_flood | general_oper_pass_resv | general_oper_only_umodes | general_max_targets | - general_use_egd | general_egdpool_path | general_oper_umodes | general_caller_id_wait | general_opers_bypass_callerid | general_default_floodcount | general_min_nonwildcard | general_min_nonwildcard_simple | @@ -2667,20 +2672,6 @@ general_max_targets: MAX_TARGETS '=' NUMBER ';' ConfigFileEntry.max_targets = $3; }; -general_use_egd: USE_EGD '=' TBOOL ';' -{ - ConfigFileEntry.use_egd = yylval.number; -}; - -general_egdpool_path: EGDPOOL_PATH '=' QSTRING ';' -{ - if (conf_parser_ctx.pass == 2) - { - MyFree(ConfigFileEntry.egdpool_path); - ConfigFileEntry.egdpool_path = xstrdup(yylval.string); - } -}; - general_services_name: T_SERVICES_NAME '=' QSTRING ';' { if (conf_parser_ctx.pass == 2 && valid_servname(yylval.string)) |