ret_t cherokee_validator_file_props_free_base (cherokee_validator_file_props_t *props) { cherokee_buffer_mrproper (&props->password_file); return cherokee_validator_props_free_base (VALIDATOR_PROPS(props)); }
ret_t cherokee_validator_file_init_base (cherokee_validator_file_t *validator, cherokee_validator_file_props_t *props, cherokee_plugin_info_validator_t *info) { return cherokee_validator_init_base (VALIDATOR(validator), VALIDATOR_PROPS(props), info); }
ret_t cherokee_validator_file_props_init_base (cherokee_validator_file_props_t *props, module_func_props_free_t free_func) { props->password_path_type = val_path_full; cherokee_buffer_init (&props->password_file); return cherokee_validator_props_init_base (VALIDATOR_PROPS(props), free_func); }
static ret_t props_free (cherokee_validator_ldap_props_t *props) { cherokee_buffer_mrproper (&props->server); cherokee_buffer_mrproper (&props->binddn); cherokee_buffer_mrproper (&props->bindpw); cherokee_buffer_mrproper (&props->basedn); cherokee_buffer_mrproper (&props->filter); cherokee_buffer_mrproper (&props->ca_file); return cherokee_validator_props_free_base (VALIDATOR_PROPS(props)); }
static ret_t props_free (cherokee_validator_mysql_props_t *props) { cherokee_buffer_mrproper (&props->host); cherokee_buffer_mrproper (&props->unix_socket); cherokee_buffer_mrproper (&props->user); cherokee_buffer_mrproper (&props->passwd); cherokee_buffer_mrproper (&props->database); cherokee_buffer_mrproper (&props->query); return cherokee_validator_props_free_base (VALIDATOR_PROPS(props)); }
ret_t cherokee_validator_ldap_configure (cherokee_config_node_t *conf, cherokee_server_t *srv, cherokee_module_props_t **_props) { ret_t ret; cherokee_list_t *i; cherokee_validator_ldap_props_t *props; UNUSED(srv); if (*_props == NULL) { CHEROKEE_NEW_STRUCT (n, validator_ldap_props); cherokee_validator_props_init_base (VALIDATOR_PROPS(n), MODULE_PROPS_FREE(props_free)); n->port = LDAP_DEFAULT_PORT; n->tls = false; cherokee_buffer_init (&n->server); cherokee_buffer_init (&n->binddn); cherokee_buffer_init (&n->bindpw); cherokee_buffer_init (&n->basedn); cherokee_buffer_init (&n->filter); cherokee_buffer_init (&n->ca_file); *_props = MODULE_PROPS(n); } props = PROP_LDAP(*_props); cherokee_config_node_foreach (i, conf) { cherokee_config_node_t *subconf = CONFIG_NODE(i); if (equal_buf_str (&subconf->key, "server")) { cherokee_buffer_add_buffer (&props->server, &subconf->val); } else if (equal_buf_str (&subconf->key, "port")) { ret = cherokee_atoi (subconf->val.buf, &props->port); if (ret != ret_ok) return ret_error; } else if (equal_buf_str (&subconf->key, "bind_dn")) { cherokee_buffer_add_buffer (&props->binddn, &subconf->val); } else if (equal_buf_str (&subconf->key, "bind_pw")) { cherokee_buffer_add_buffer (&props->bindpw, &subconf->val); } else if (equal_buf_str (&subconf->key, "base_dn")) { cherokee_buffer_add_buffer (&props->basedn, &subconf->val); } else if (equal_buf_str (&subconf->key, "filter")) { cherokee_buffer_add_buffer (&props->filter, &subconf->val); } else if (equal_buf_str (&subconf->key, "tls")) { ret = cherokee_atob (subconf->val.buf, &props->tls); if (ret != ret_ok) return ret_error; } else if (equal_buf_str (&subconf->key, "ca_file")) { cherokee_buffer_add_buffer (&props->ca_file, &subconf->val); } else if (equal_buf_str (&subconf->key, "methods") || equal_buf_str (&subconf->key, "realm") || equal_buf_str (&subconf->key, "users")) { /* Handled in validator.c */ } else { LOG_WARNING (CHEROKEE_ERROR_VALIDATOR_LDAP_KEY, subconf->key.buf); } }
ret_t cherokee_validator_mysql_configure (cherokee_config_node_t *conf, cherokee_server_t *srv, cherokee_module_props_t **_props) { cherokee_list_t *i; cherokee_validator_mysql_props_t *props; UNUSED(srv); if(*_props == NULL) { CHEROKEE_NEW_STRUCT (n, validator_mysql_props); cherokee_validator_props_init_base (VALIDATOR_PROPS (n), MODULE_PROPS_FREE(props_free)); cherokee_buffer_init (&n->host); cherokee_buffer_init (&n->unix_socket); cherokee_buffer_init (&n->user); cherokee_buffer_init (&n->passwd); cherokee_buffer_init (&n->database); cherokee_buffer_init (&n->query); n->port = MYSQL_DEFAULT_PORT; n->hash_type = cherokee_mysql_hash_none; *_props = MODULE_PROPS (n); } props = PROP_MYSQL(*_props); cherokee_config_node_foreach (i, conf) { cherokee_config_node_t *subconf = CONFIG_NODE(i); if (equal_buf_str (&subconf->key, "host")) { cherokee_buffer_add_buffer (&props->host, &subconf->val); } else if (equal_buf_str (&subconf->key, "port")) { props->port = atoi (subconf->val.buf); } else if (equal_buf_str (&subconf->key, "unix_socket")) { cherokee_buffer_add_buffer (&props->unix_socket, &subconf->val); } else if (equal_buf_str (&subconf->key, "user")) { cherokee_buffer_add_buffer (&props->user, &subconf->val); } else if (equal_buf_str (&subconf->key, "passwd")) { cherokee_buffer_add_buffer (&props->passwd, &subconf->val); } else if (equal_buf_str (&subconf->key, "database")) { cherokee_buffer_add_buffer (&props->database, &subconf->val); } else if (equal_buf_str (&subconf->key, "query")) { cherokee_buffer_add_buffer (&props->query, &subconf->val); } else if (equal_buf_str (&subconf->key, "hash")) { if (equal_buf_str (&subconf->val, "md5")) { props->hash_type = cherokee_mysql_hash_md5; } else if (equal_buf_str (&subconf->val, "sha1")) { props->hash_type = cherokee_mysql_hash_sha1; } else { LOG_CRITICAL (CHEROKEE_ERROR_VALIDATOR_MYSQL_HASH, subconf->val.buf); return ret_error; } } else if ((equal_buf_str (&subconf->key, "methods") || equal_buf_str (&subconf->key, "realm"))) { /* not handled here */ } else { LOG_CRITICAL (CHEROKEE_ERROR_VALIDATOR_MYSQL_KEY, subconf->key.buf); return ret_error; } }