/*
SSSD
Library for rule based certificate to user mapping
Authors:
Sumit Bose <sbose@redhat.com>
Copyright (C) 2017 Red Hat
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef __SSS_CERTMAP_INT_H__
#define __SSS_CERTMAP_INT_H__
#include <regex.h>
#include <stdint.h>
#include <stdbool.h>
#include <talloc.h>
#include "lib/certmap/sss_certmap.h"
format, ##__VA_ARGS__); \
} \
} while (0)
enum san_opt {
SAN_OTHER_NAME = 0,
};
/* KRB5 matching rule */
enum relation_type {
relation_none = 0,
};
struct component_list {
char *val;
const char **eku_oid_list;
char *str_other_name_oid;
};
struct krb5_match_rule {
enum relation_type r;
};
enum comp_type {
comp_none = 0,
};
struct parsed_template {
char *name;
char *attr_name;
char *conversion;
};
struct ldap_mapping_rule_comp {
char *val;
};
struct ldap_mapping_rule {
};
struct match_map_rule {
char *match_rule;
char *map_rule;
char **domains;
};
struct priority_list {
};
struct sss_certmap_ctx {
void *debug_priv;
};
struct san_list {
char *val;
char *other_name_oid;
char *short_name;
const char **rdn_list;
};
/* key usage flags, see RFC 3280 section 4.2.1.3 */
struct sss_cert_content {
char *issuer_str;
const char **issuer_rdn_list;
char *subject_str;
const char **subject_rdn_list;
const char **extended_key_usage_oids;
};
struct sss_cert_content **content);
char *openssl_2_nss_attr_name(const char *attr);
const char *rule_start,
struct krb5_match_rule **match_rule);
const char *rule_start,
struct ldap_mapping_rule **mapping_rule);
char delim, char **short_name);
#endif /* __SSS_CERTMAP_INT_H__ */