uhub/src/core/gen_config.c

307 lines
13 KiB
C
Raw Normal View History

/* THIS FILE IS AUTOGENERATED - DO NOT CHANGE IT! */
void config_defaults(struct hub_config* config)
{
DEFAULT_INTEGER(server_port, 1511);
DEFAULT_STRING (server_bind_addr, "any");
DEFAULT_INTEGER(server_listen_backlog, 50);
DEFAULT_STRING (server_alt_ports, "");
DEFAULT_BOOLEAN(hub_enabled, 1);
DEFAULT_BOOLEAN(show_banner, 1);
DEFAULT_BOOLEAN(show_banner_sys_info, 1);
DEFAULT_INTEGER(max_users, 500);
DEFAULT_BOOLEAN(registered_users_only, 0);
DEFAULT_BOOLEAN(obsolete_clients, 0);
DEFAULT_BOOLEAN(chat_only, 0);
DEFAULT_BOOLEAN(chat_is_privileged, 0);
DEFAULT_STRING (hub_name, "uhub");
DEFAULT_STRING (hub_description, "no description");
DEFAULT_INTEGER(max_recv_buffer, 4096);
DEFAULT_INTEGER(max_send_buffer, 131072);
DEFAULT_INTEGER(max_send_buffer_soft, 98304);
DEFAULT_BOOLEAN(low_bandwidth_mode, 0);
DEFAULT_INTEGER(max_chat_history, 20);
DEFAULT_INTEGER(max_logout_log, 20);
DEFAULT_INTEGER(limit_max_hubs_user, 10);
DEFAULT_INTEGER(limit_max_hubs_reg, 10);
DEFAULT_INTEGER(limit_max_hubs_op, 10);
DEFAULT_INTEGER(limit_max_hubs, 25);
DEFAULT_INTEGER(limit_min_hubs_user, 10);
DEFAULT_INTEGER(limit_min_hubs_reg, 10);
DEFAULT_INTEGER(limit_min_hubs_op, 10);
DEFAULT_INTEGER(limit_min_share, 0);
DEFAULT_INTEGER(limit_max_share, 0);
DEFAULT_INTEGER(limit_min_slots, 0);
DEFAULT_INTEGER(limit_max_slots, 0);
DEFAULT_INTEGER(flood_ctl_interval, 0);
DEFAULT_INTEGER(flood_ctl_chat, 0);
DEFAULT_INTEGER(flood_ctl_connect, 0);
DEFAULT_INTEGER(flood_ctl_search, 0);
DEFAULT_INTEGER(flood_ctl_update, 0);
DEFAULT_INTEGER(flood_ctl_extras, 0);
DEFAULT_BOOLEAN(tls_enable, 0);
DEFAULT_BOOLEAN(tls_require, 0);
DEFAULT_STRING (tls_certificate, "");
DEFAULT_STRING (tls_private_key, "");
DEFAULT_STRING (file_motd, "");
DEFAULT_STRING (file_acl, "");
DEFAULT_STRING (file_rules, "");
DEFAULT_STRING (msg_hub_full, "Hub is full");
DEFAULT_STRING (msg_hub_disabled, "Hub is disabled");
DEFAULT_STRING (msg_hub_registered_users_only, "Hub is for registered users only");
DEFAULT_STRING (msg_inf_error_nick_missing, "No nickname given");
DEFAULT_STRING (msg_inf_error_nick_multiple, "Multiple nicknames given");
DEFAULT_STRING (msg_inf_error_nick_invalid, "Nickname is invalid");
DEFAULT_STRING (msg_inf_error_nick_long, "Nickname too long");
DEFAULT_STRING (msg_inf_error_nick_short, "Nickname too short");
DEFAULT_STRING (msg_inf_error_nick_spaces, "Nickname cannot start with spaces");
DEFAULT_STRING (msg_inf_error_nick_bad_chars, "Nickname contains invalid characters");
DEFAULT_STRING (msg_inf_error_nick_not_utf8, "Nickname is not valid UTF-8");
DEFAULT_STRING (msg_inf_error_nick_taken, "Nickname is already in use");
DEFAULT_STRING (msg_inf_error_nick_restricted, "Nickname cannot be used on this hub");
DEFAULT_STRING (msg_inf_error_cid_invalid, "CID is not valid");
DEFAULT_STRING (msg_inf_error_cid_missing, "CID is not specified");
DEFAULT_STRING (msg_inf_error_cid_taken, "CID is taken");
DEFAULT_STRING (msg_inf_error_pid_missing, "PID is not specified");
DEFAULT_STRING (msg_inf_error_pid_invalid, "PID is invalid");
DEFAULT_STRING (msg_ban_permanently, "Banned permanently");
DEFAULT_STRING (msg_ban_temporarily, "Banned temporarily");
DEFAULT_STRING (msg_auth_invalid_password, "Password is wrong");
DEFAULT_STRING (msg_auth_user_not_found, "User not found in password database");
DEFAULT_STRING (msg_error_no_memory, "No memory");
DEFAULT_STRING (msg_user_share_size_low, "User is not sharing enough");
DEFAULT_STRING (msg_user_share_size_high, "User is sharing too much");
DEFAULT_STRING (msg_user_slots_low, "User have too few upload slots.");
DEFAULT_STRING (msg_user_slots_high, "User have too many upload slots.");
DEFAULT_STRING (msg_user_hub_limit_low, "User is on too few hubs.");
DEFAULT_STRING (msg_user_hub_limit_high, "User is on too many hubs.");
DEFAULT_STRING (msg_user_flood_chat, "Chat flood detected, messages are dropped.");
DEFAULT_STRING (msg_user_flood_connect, "Connect flood detected, connection refused.");
DEFAULT_STRING (msg_user_flood_search, "Search flood detected, search is stopped.");
DEFAULT_STRING (msg_user_flood_update, "Update flood detected.");
DEFAULT_STRING (msg_user_flood_extras, "Flood detected.");
DEFAULT_STRING (msg_proto_no_common_hash, "No common hash algorithm.");
DEFAULT_STRING (msg_proto_obsolete_adc0, "Client is using an obsolete ADC protocol version.");
}
static int apply_config(struct hub_config* config, char* key, char* data, int line_count)
{
GET_INT (server_port);
GET_STR (server_bind_addr);
GET_INT (server_listen_backlog);
GET_STR (server_alt_ports);
GET_BOOL(hub_enabled);
GET_BOOL(show_banner);
GET_BOOL(show_banner_sys_info);
GET_INT (max_users);
GET_BOOL(registered_users_only);
GET_BOOL(obsolete_clients);
GET_BOOL(chat_only);
GET_BOOL(chat_is_privileged);
GET_STR (hub_name);
GET_STR (hub_description);
GET_INT (max_recv_buffer);
GET_INT (max_send_buffer);
GET_INT (max_send_buffer_soft);
GET_BOOL(low_bandwidth_mode);
GET_INT (max_chat_history);
GET_INT (max_logout_log);
GET_INT (limit_max_hubs_user);
GET_INT (limit_max_hubs_reg);
GET_INT (limit_max_hubs_op);
GET_INT (limit_max_hubs);
GET_INT (limit_min_hubs_user);
GET_INT (limit_min_hubs_reg);
GET_INT (limit_min_hubs_op);
GET_INT (limit_min_share);
GET_INT (limit_max_share);
GET_INT (limit_min_slots);
GET_INT (limit_max_slots);
GET_INT (flood_ctl_interval);
GET_INT (flood_ctl_chat);
GET_INT (flood_ctl_connect);
GET_INT (flood_ctl_search);
GET_INT (flood_ctl_update);
GET_INT (flood_ctl_extras);
GET_BOOL(tls_enable);
GET_BOOL(tls_require);
GET_STR (tls_certificate);
GET_STR (tls_private_key);
GET_STR (file_motd);
GET_STR (file_acl);
GET_STR (file_rules);
GET_STR (msg_hub_full);
GET_STR (msg_hub_disabled);
GET_STR (msg_hub_registered_users_only);
GET_STR (msg_inf_error_nick_missing);
GET_STR (msg_inf_error_nick_multiple);
GET_STR (msg_inf_error_nick_invalid);
GET_STR (msg_inf_error_nick_long);
GET_STR (msg_inf_error_nick_short);
GET_STR (msg_inf_error_nick_spaces);
GET_STR (msg_inf_error_nick_bad_chars);
GET_STR (msg_inf_error_nick_not_utf8);
GET_STR (msg_inf_error_nick_taken);
GET_STR (msg_inf_error_nick_restricted);
GET_STR (msg_inf_error_cid_invalid);
GET_STR (msg_inf_error_cid_missing);
GET_STR (msg_inf_error_cid_taken);
GET_STR (msg_inf_error_pid_missing);
GET_STR (msg_inf_error_pid_invalid);
GET_STR (msg_ban_permanently);
GET_STR (msg_ban_temporarily);
GET_STR (msg_auth_invalid_password);
GET_STR (msg_auth_user_not_found);
GET_STR (msg_error_no_memory);
GET_STR (msg_user_share_size_low);
GET_STR (msg_user_share_size_high);
GET_STR (msg_user_slots_low);
GET_STR (msg_user_slots_high);
GET_STR (msg_user_hub_limit_low);
GET_STR (msg_user_hub_limit_high);
GET_STR (msg_user_flood_chat);
GET_STR (msg_user_flood_connect);
GET_STR (msg_user_flood_search);
GET_STR (msg_user_flood_update);
GET_STR (msg_user_flood_extras);
GET_STR (msg_proto_no_common_hash);
GET_STR (msg_proto_obsolete_adc0);
/* Still here -- unknown directive */
LOG_ERROR("Unknown configuration directive: '%s'", key);
return -1;
}
void free_config(struct hub_config* config)
{
hub_free(config->server_bind_addr);
hub_free(config->server_alt_ports);
hub_free(config->hub_name);
hub_free(config->hub_description);
hub_free(config->tls_certificate);
hub_free(config->tls_private_key);
hub_free(config->file_motd);
hub_free(config->file_acl);
hub_free(config->file_rules);
hub_free(config->msg_hub_full);
hub_free(config->msg_hub_disabled);
hub_free(config->msg_hub_registered_users_only);
hub_free(config->msg_inf_error_nick_missing);
hub_free(config->msg_inf_error_nick_multiple);
hub_free(config->msg_inf_error_nick_invalid);
hub_free(config->msg_inf_error_nick_long);
hub_free(config->msg_inf_error_nick_short);
hub_free(config->msg_inf_error_nick_spaces);
hub_free(config->msg_inf_error_nick_bad_chars);
hub_free(config->msg_inf_error_nick_not_utf8);
hub_free(config->msg_inf_error_nick_taken);
hub_free(config->msg_inf_error_nick_restricted);
hub_free(config->msg_inf_error_cid_invalid);
hub_free(config->msg_inf_error_cid_missing);
hub_free(config->msg_inf_error_cid_taken);
hub_free(config->msg_inf_error_pid_missing);
hub_free(config->msg_inf_error_pid_invalid);
hub_free(config->msg_ban_permanently);
hub_free(config->msg_ban_temporarily);
hub_free(config->msg_auth_invalid_password);
hub_free(config->msg_auth_user_not_found);
hub_free(config->msg_error_no_memory);
hub_free(config->msg_user_share_size_low);
hub_free(config->msg_user_share_size_high);
hub_free(config->msg_user_slots_low);
hub_free(config->msg_user_slots_high);
hub_free(config->msg_user_hub_limit_low);
hub_free(config->msg_user_hub_limit_high);
hub_free(config->msg_user_flood_chat);
hub_free(config->msg_user_flood_connect);
hub_free(config->msg_user_flood_search);
hub_free(config->msg_user_flood_update);
hub_free(config->msg_user_flood_extras);
hub_free(config->msg_proto_no_common_hash);
hub_free(config->msg_proto_obsolete_adc0);
}
void dump_config(struct hub_config* config, int ignore_defaults)
{
DUMP_INT (server_port, 1511);
DUMP_STR(server_bind_addr, "any");
DUMP_INT (server_listen_backlog, 50);
DUMP_STR(server_alt_ports, "");
DUMP_BOOL(hub_enabled, 1);
DUMP_BOOL(show_banner, 1);
DUMP_BOOL(show_banner_sys_info, 1);
DUMP_INT (max_users, 500);
DUMP_BOOL(registered_users_only, 0);
DUMP_BOOL(obsolete_clients, 0);
DUMP_BOOL(chat_only, 0);
DUMP_BOOL(chat_is_privileged, 0);
DUMP_STR(hub_name, "uhub");
DUMP_STR(hub_description, "no description");
DUMP_INT (max_recv_buffer, 4096);
DUMP_INT (max_send_buffer, 131072);
DUMP_INT (max_send_buffer_soft, 98304);
DUMP_BOOL(low_bandwidth_mode, 0);
DUMP_INT (max_chat_history, 20);
DUMP_INT (max_logout_log, 20);
DUMP_INT (limit_max_hubs_user, 10);
DUMP_INT (limit_max_hubs_reg, 10);
DUMP_INT (limit_max_hubs_op, 10);
DUMP_INT (limit_max_hubs, 25);
DUMP_INT (limit_min_hubs_user, 10);
DUMP_INT (limit_min_hubs_reg, 10);
DUMP_INT (limit_min_hubs_op, 10);
DUMP_INT (limit_min_share, 0);
DUMP_INT (limit_max_share, 0);
DUMP_INT (limit_min_slots, 0);
DUMP_INT (limit_max_slots, 0);
DUMP_INT (flood_ctl_interval, 0);
DUMP_INT (flood_ctl_chat, 0);
DUMP_INT (flood_ctl_connect, 0);
DUMP_INT (flood_ctl_search, 0);
DUMP_INT (flood_ctl_update, 0);
DUMP_INT (flood_ctl_extras, 0);
DUMP_BOOL(tls_enable, 0);
DUMP_BOOL(tls_require, 0);
DUMP_STR(tls_certificate, "");
DUMP_STR(tls_private_key, "");
DUMP_STR(file_motd, "");
DUMP_STR(file_acl, "");
DUMP_STR(file_rules, "");
DUMP_STR(msg_hub_full, "Hub is full");
DUMP_STR(msg_hub_disabled, "Hub is disabled");
DUMP_STR(msg_hub_registered_users_only, "Hub is for registered users only");
DUMP_STR(msg_inf_error_nick_missing, "No nickname given");
DUMP_STR(msg_inf_error_nick_multiple, "Multiple nicknames given");
DUMP_STR(msg_inf_error_nick_invalid, "Nickname is invalid");
DUMP_STR(msg_inf_error_nick_long, "Nickname too long");
DUMP_STR(msg_inf_error_nick_short, "Nickname too short");
DUMP_STR(msg_inf_error_nick_spaces, "Nickname cannot start with spaces");
DUMP_STR(msg_inf_error_nick_bad_chars, "Nickname contains invalid characters");
DUMP_STR(msg_inf_error_nick_not_utf8, "Nickname is not valid UTF-8");
DUMP_STR(msg_inf_error_nick_taken, "Nickname is already in use");
DUMP_STR(msg_inf_error_nick_restricted, "Nickname cannot be used on this hub");
DUMP_STR(msg_inf_error_cid_invalid, "CID is not valid");
DUMP_STR(msg_inf_error_cid_missing, "CID is not specified");
DUMP_STR(msg_inf_error_cid_taken, "CID is taken");
DUMP_STR(msg_inf_error_pid_missing, "PID is not specified");
DUMP_STR(msg_inf_error_pid_invalid, "PID is invalid");
DUMP_STR(msg_ban_permanently, "Banned permanently");
DUMP_STR(msg_ban_temporarily, "Banned temporarily");
DUMP_STR(msg_auth_invalid_password, "Password is wrong");
DUMP_STR(msg_auth_user_not_found, "User not found in password database");
DUMP_STR(msg_error_no_memory, "No memory");
DUMP_STR(msg_user_share_size_low, "User is not sharing enough");
DUMP_STR(msg_user_share_size_high, "User is sharing too much");
DUMP_STR(msg_user_slots_low, "User have too few upload slots.");
DUMP_STR(msg_user_slots_high, "User have too many upload slots.");
DUMP_STR(msg_user_hub_limit_low, "User is on too few hubs.");
DUMP_STR(msg_user_hub_limit_high, "User is on too many hubs.");
DUMP_STR(msg_user_flood_chat, "Chat flood detected, messages are dropped.");
DUMP_STR(msg_user_flood_connect, "Connect flood detected, connection refused.");
DUMP_STR(msg_user_flood_search, "Search flood detected, search is stopped.");
DUMP_STR(msg_user_flood_update, "Update flood detected.");
DUMP_STR(msg_user_flood_extras, "Flood detected.");
DUMP_STR(msg_proto_no_common_hash, "No common hash algorithm.");
DUMP_STR(msg_proto_obsolete_adc0, "Client is using an obsolete ADC protocol version.");
}