2010-04-06 21:09:46 +00:00
|
|
|
/* 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);
|
2010-04-09 07:41:38 +00:00
|
|
|
DEFAULT_INTEGER(limit_min_hubs_user, 0);
|
|
|
|
DEFAULT_INTEGER(limit_min_hubs_reg, 0);
|
|
|
|
DEFAULT_INTEGER(limit_min_hubs_op, 0);
|
2010-04-06 21:09:46 +00:00
|
|
|
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);
|
2010-04-09 07:41:38 +00:00
|
|
|
DUMP_INT (limit_min_hubs_user, 0);
|
|
|
|
DUMP_INT (limit_min_hubs_reg, 0);
|
|
|
|
DUMP_INT (limit_min_hubs_op, 0);
|
2010-04-06 21:09:46 +00:00
|
|
|
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.");
|
|
|
|
}
|
|
|
|
|