X-Git-Url: https://jfr.im/git/irc/rqf/shadowircd.git/blobdiff_plain/90728edb58caf951f87d11d73390a7b39f3a48fb..255130dde8eed921fea4b23786a5743fbd50cbda:/src/newconf.c diff --git a/src/newconf.c b/src/newconf.c index a48f639..65e28f8 100644 --- a/src/newconf.c +++ b/src/newconf.c @@ -1309,9 +1309,9 @@ conf_end_connect(struct TopConf *tc) return 0; } - if(EmptyString(yy_server->passwd) || EmptyString(yy_server->spasswd)) + if((EmptyString(yy_server->passwd) || EmptyString(yy_server->spasswd)) && EmptyString(yy_server->certfp)) { - conf_report_error("Ignoring connect block for %s -- missing password.", + conf_report_error("Ignoring connect block for %s -- no certfp or password credentials provided.", yy_server->name); return 0; } @@ -1383,6 +1383,15 @@ conf_set_connect_accept_password(void *data) yy_server->passwd = rb_strdup(data); } +static void +conf_set_connect_fingerprint(void *data) +{ + yy_server->certfp = rb_strdup((char *) data); + + /* force SSL to be enabled if fingerprint is enabled. */ + yy_server->flags |= SERVER_SSL; +} + static void conf_set_connect_port(void *data) { @@ -2020,7 +2029,7 @@ add_conf_item(const char *topconf, const char *name, int type, void (*func) (voi if((tc = find_top_conf(topconf)) == NULL) return -1; - if((cf = find_conf_item(tc, name)) != NULL) + if(find_conf_item(tc, name)) return -1; cf = rb_malloc(sizeof(struct ConfEntry)); @@ -2164,6 +2173,7 @@ static struct ConfEntry conf_connect_table[] = { { "send_password", CF_QSTRING, conf_set_connect_send_password, 0, NULL }, { "accept_password", CF_QSTRING, conf_set_connect_accept_password, 0, NULL }, + { "fingerprint", CF_QSTRING, conf_set_connect_fingerprint, 0, NULL }, { "flags", CF_STRING | CF_FLIST, conf_set_connect_flags, 0, NULL }, { "host", CF_QSTRING, conf_set_connect_host, 0, NULL }, { "vhost", CF_QSTRING, conf_set_connect_vhost, 0, NULL }, @@ -2201,6 +2211,7 @@ static struct ConfEntry conf_general_table[] = { "anti_spam_exit_message_time", CF_TIME, NULL, 0, &ConfigFileEntry.anti_spam_exit_message_time }, { "use_part_messages", CF_YESNO, NULL, 0, &ConfigFileEntry.use_part_messages }, { "disable_fake_channels", CF_YESNO, NULL, 0, &ConfigFileEntry.disable_fake_channels }, + { "hide_channel_below_users", CF_INT, NULL, 0, &ConfigFileEntry.hide_channel_below_users }, { "min_nonwildcard_simple", CF_INT, NULL, 0, &ConfigFileEntry.min_nonwildcard_simple }, { "non_redundant_klines", CF_YESNO, NULL, 0, &ConfigFileEntry.non_redundant_klines }, { "tkline_expire_notices", CF_YESNO, NULL, 0, &ConfigFileEntry.tkline_expire_notices }, @@ -2264,6 +2275,7 @@ static struct ConfEntry conf_channel_table[] = { { "autochanmodes", CF_QSTRING, NULL, 0, &ConfigChannel.autochanmodes }, { "exemptchanops", CF_QSTRING, NULL, 0, &ConfigChannel.exemptchanops }, + { "disabledmodes", CF_QSTRING, NULL, 0, &ConfigChannel.disabledmodes }, { "default_split_user_count", CF_INT, NULL, 0, &ConfigChannel.default_split_user_count }, { "default_split_server_count", CF_INT, NULL, 0, &ConfigChannel.default_split_server_count }, { "burst_topicwho", CF_YESNO, NULL, 0, &ConfigChannel.burst_topicwho }, @@ -2278,6 +2290,7 @@ static struct ConfEntry conf_channel_table[] = { "only_ascii_channels", CF_YESNO, NULL, 0, &ConfigChannel.only_ascii_channels }, { "cycle_host_change", CF_YESNO, NULL, 0, &ConfigChannel.cycle_host_change }, { "host_in_topic", CF_YESNO, NULL, 0, &ConfigChannel.host_in_topic }, + { "admin_on_channel_create", CF_YESNO, NULL, 0, &ConfigChannel.admin_on_channel_create }, { "use_halfop", CF_YESNO, NULL, 0, &ConfigChannel.use_halfop }, { "use_admin", CF_YESNO, NULL, 0, &ConfigChannel.use_admin }, { "use_except", CF_YESNO, NULL, 0, &ConfigChannel.use_except }, @@ -2286,6 +2299,7 @@ static struct ConfEntry conf_channel_table[] = { "use_forward", CF_YESNO, NULL, 0, &ConfigChannel.use_forward }, { "use_local_channels", CF_YESNO, NULL, 0, &ConfigChannel.use_local_channels }, { "resv_forcepart", CF_YESNO, NULL, 0, &ConfigChannel.resv_forcepart }, + { "channel_target_change", CF_YESNO, NULL, 0, &ConfigChannel.channel_target_change }, { "exempt_cmode_c", CF_YESNO, NULL, 0, &ConfigChannel.exempt_cmode_c }, { "exempt_cmode_C", CF_YESNO, NULL, 0, &ConfigChannel.exempt_cmode_C }, { "exempt_cmode_D", CF_YESNO, NULL, 0, &ConfigChannel.exempt_cmode_D },