a8d1a344e580f29699aed9b88d87fc3c6f5d113bSimo Sorce/*
a8d1a344e580f29699aed9b88d87fc3c6f5d113bSimo Sorce SSSD
a8d1a344e580f29699aed9b88d87fc3c6f5d113bSimo Sorce
a8d1a344e580f29699aed9b88d87fc3c6f5d113bSimo Sorce Secrets Responder, header file
a8d1a344e580f29699aed9b88d87fc3c6f5d113bSimo Sorce
a8d1a344e580f29699aed9b88d87fc3c6f5d113bSimo Sorce Copyright (C) Simo Sorce <ssorce@redhat.com> 2016
a8d1a344e580f29699aed9b88d87fc3c6f5d113bSimo Sorce
a8d1a344e580f29699aed9b88d87fc3c6f5d113bSimo Sorce This program is free software; you can redistribute it and/or modify
a8d1a344e580f29699aed9b88d87fc3c6f5d113bSimo Sorce it under the terms of the GNU General Public License as published by
a8d1a344e580f29699aed9b88d87fc3c6f5d113bSimo Sorce the Free Software Foundation; either version 3 of the License, or
a8d1a344e580f29699aed9b88d87fc3c6f5d113bSimo Sorce (at your option) any later version.
a8d1a344e580f29699aed9b88d87fc3c6f5d113bSimo Sorce
a8d1a344e580f29699aed9b88d87fc3c6f5d113bSimo Sorce This program is distributed in the hope that it will be useful,
a8d1a344e580f29699aed9b88d87fc3c6f5d113bSimo Sorce but WITHOUT ANY WARRANTY; without even the implied warranty of
a8d1a344e580f29699aed9b88d87fc3c6f5d113bSimo Sorce MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
a8d1a344e580f29699aed9b88d87fc3c6f5d113bSimo Sorce GNU General Public License for more details.
a8d1a344e580f29699aed9b88d87fc3c6f5d113bSimo Sorce
a8d1a344e580f29699aed9b88d87fc3c6f5d113bSimo Sorce You should have received a copy of the GNU General Public License
a8d1a344e580f29699aed9b88d87fc3c6f5d113bSimo Sorce along with this program. If not, see <http://www.gnu.org/licenses/>.
a8d1a344e580f29699aed9b88d87fc3c6f5d113bSimo Sorce*/
a8d1a344e580f29699aed9b88d87fc3c6f5d113bSimo Sorce
a8d1a344e580f29699aed9b88d87fc3c6f5d113bSimo Sorce#ifndef __SECSRV_H__
a8d1a344e580f29699aed9b88d87fc3c6f5d113bSimo Sorce#define __SECSRV_H__
a8d1a344e580f29699aed9b88d87fc3c6f5d113bSimo Sorce
a8d1a344e580f29699aed9b88d87fc3c6f5d113bSimo Sorce#include "config.h"
a8d1a344e580f29699aed9b88d87fc3c6f5d113bSimo Sorce
a8d1a344e580f29699aed9b88d87fc3c6f5d113bSimo Sorce#include <stdint.h>
a8d1a344e580f29699aed9b88d87fc3c6f5d113bSimo Sorce#include <sys/un.h>
a8d1a344e580f29699aed9b88d87fc3c6f5d113bSimo Sorce#include <talloc.h>
a8d1a344e580f29699aed9b88d87fc3c6f5d113bSimo Sorce#include <tevent.h>
a8d1a344e580f29699aed9b88d87fc3c6f5d113bSimo Sorce#include <ldb.h>
a8d1a344e580f29699aed9b88d87fc3c6f5d113bSimo Sorce
7a162ca3ea0bf8ef6b13795a00baa28d17f6131dJakub Hrozekstruct sec_quota {
7a162ca3ea0bf8ef6b13795a00baa28d17f6131dJakub Hrozek int max_secrets;
6b3bab516355fdf4cc81e6da9d87ec3818ab190fJakub Hrozek int max_uid_secrets;
7a162ca3ea0bf8ef6b13795a00baa28d17f6131dJakub Hrozek int max_payload_size;
7a162ca3ea0bf8ef6b13795a00baa28d17f6131dJakub Hrozek int containers_nest_level;
7a162ca3ea0bf8ef6b13795a00baa28d17f6131dJakub Hrozek};
7a162ca3ea0bf8ef6b13795a00baa28d17f6131dJakub Hrozek
7a162ca3ea0bf8ef6b13795a00baa28d17f6131dJakub Hrozekstruct sec_hive_config {
7a162ca3ea0bf8ef6b13795a00baa28d17f6131dJakub Hrozek const char *confdb_section;
7a162ca3ea0bf8ef6b13795a00baa28d17f6131dJakub Hrozek
7a162ca3ea0bf8ef6b13795a00baa28d17f6131dJakub Hrozek struct sec_quota quota;
7a162ca3ea0bf8ef6b13795a00baa28d17f6131dJakub Hrozek};
7a162ca3ea0bf8ef6b13795a00baa28d17f6131dJakub Hrozek
a8d1a344e580f29699aed9b88d87fc3c6f5d113bSimo Sorcestruct sec_ctx {
a8d1a344e580f29699aed9b88d87fc3c6f5d113bSimo Sorce struct resp_ctx *rctx;
a8d1a344e580f29699aed9b88d87fc3c6f5d113bSimo Sorce int fd_limit;
7a162ca3ea0bf8ef6b13795a00baa28d17f6131dJakub Hrozek
7a162ca3ea0bf8ef6b13795a00baa28d17f6131dJakub Hrozek struct sec_hive_config sec_config;
197da163943868216f704fb34031e7d5576e8aeeJakub Hrozek struct sec_hive_config kcm_config;
109ed7ca1a82420798efdc6a9b019675a5bd0f4fJakub Hrozek int max_payload_size;
8f2a34cc6964a1f80a1434e05315a7ae0bb5774eSimo Sorce
8f2a34cc6964a1f80a1434e05315a7ae0bb5774eSimo Sorce struct provider_handle **providers;
a8d1a344e580f29699aed9b88d87fc3c6f5d113bSimo Sorce};
a8d1a344e580f29699aed9b88d87fc3c6f5d113bSimo Sorce
a8d1a344e580f29699aed9b88d87fc3c6f5d113bSimo Sorceint sec_connection_setup(struct cli_ctx *cctx);
a8d1a344e580f29699aed9b88d87fc3c6f5d113bSimo Sorce
a8d1a344e580f29699aed9b88d87fc3c6f5d113bSimo Sorce#endif /* __SECSRV_H__ */