pool_t pool;
struct ldap_request *ldap_request;
- char **attr_next;
+ const char *const *attr_next;
/* attribute name => value */
HASH_TABLE(char *, struct db_ldap_value *) ldap_attrs;
ldap_search_ext(
conn->ld, *srequest->base == '\0' ? NULL : srequest->base,
- conn->set->parsed_scope, srequest->filter, srequest->attributes,
+ conn->set->parsed_scope, srequest->filter, (char **)srequest->attributes,
0, NULL, NULL, 0, 0, &request->msgid);
if (request->msgid == -1) {
e_error(authdb_event(request->auth_request),
}
struct ldap_field_find_context {
- ARRAY_TYPE(string) attr_names;
+ ARRAY_TYPE(const_string) attr_names;
pool_t pool;
};
const char **error_r ATTR_UNUSED)
{
struct ldap_field_find_context *ctx = context;
- char *ldap_attr;
+ const char *ldap_attr;
if (*data != '\0') {
ldap_attr = p_strdup(ctx->pool, t_strcut(data, ':'));
void db_ldap_get_attribute_names(pool_t pool,
const ARRAY_TYPE(const_string) *attrlist,
- char ***attr_names_r,
+ const char *const **attr_names_r,
const char *skip_attr)
{
static struct var_expand_func_table var_funcs_table[] = {
(void)var_expand_with_funcs(tmp_str, value, NULL, var_funcs_table, &ctx, &error);
}
array_append_zero(&ctx.attr_names);
- *attr_names_r = array_front_modifiable(&ctx.attr_names);
+ *attr_names_r = array_front(&ctx.attr_names);
}
#define IS_LDAP_ESCAPED_CHAR(c) \
const char *base;
const char *filter;
- char **attributes; /* points to (pass|user) module attributes */
+ const char *const *attributes; /* points to (pass|user) module attributes */
struct db_ldap_result *result;
ARRAY(struct ldap_request_named_result) named_results;
/* Timestamp when we last received a reply */
time_t last_reply_stamp;
- char **pass_attr_names, **user_attr_names, **iterate_attr_names;
+ const char *const *pass_attr_names, *const *user_attr_names, *const *iterate_attr_names;
bool delayed_connect;
};
void db_ldap_get_attribute_names(pool_t pool,
const ARRAY_TYPE(const_string) *attrlist,
- char ***attr_names_r,
+ const char *const **attr_names_r,
const char *skip_attr) ATTR_NULL(4);
struct ldap_connection *db_ldap_init(struct event *event);
(struct ldap_passdb_module *)_module;
struct ldap_connection *conn = module->conn;
struct ldap_request_search *srequest = &request->request.search;
- const char **attr_names = (const char **)conn->pass_attr_names;
+ const char *const *attr_names = conn->pass_attr_names;
request->require_password = require_password;
srequest->request.type = LDAP_REQUEST_TYPE_SEARCH;