ifp_iface.c revision ef55b0e470a8fbcf6e6d0a55883145e02a907842
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagher Pavel Březina <pbrezina@redhat.com>
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagher Copyright (C) 2015 Red Hat
a7797068c4deb6ce2bdbcda27c45ff1bbb4a8e78Jakub Hrozek This program is free software; you can redistribute it and/or modify
06c1952db1ab5598e3d68132f9c846bc59c94ef7Jakub Hrozek it under the terms of the GNU General Public License as published by
a7797068c4deb6ce2bdbcda27c45ff1bbb4a8e78Jakub Hrozek the Free Software Foundation; either version 3 of the License, or
a7797068c4deb6ce2bdbcda27c45ff1bbb4a8e78Jakub Hrozek (at your option) any later version.
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagher This program is distributed in the hope that it will be useful,
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagher but WITHOUT ANY WARRANTY; without even the implied warranty of
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagher MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagher GNU General Public License for more details.
fbeb1aba9e11e7aab8adac943276ca040f0c5311Jakub Hrozek You should have received a copy of the GNU General Public License
65a9065538fd85e6ead925d344e6b421900eb8c2Jakub Hrozek along with this program. If not, see <http://www.gnu.org/licenses/>.
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagher#include "responder/ifp/ifp_iface_generated.h"
5ee3fba0bd812242a1ffe189f5ddf2689e6e6811Jakub Hrozek /* components */
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagher .FindResponderByName = ifp_find_responder_by_name,
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagher .FindBackendByName = ifp_find_backend_by_name,
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagher .FindDomainByName = ifp_find_domain_by_name,
2ea6196484055397cc4bc011c5960f790431fa9dStephen Gallagherstruct iface_ifp_components iface_ifp_components = {
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagher .get_debug_level = ifp_component_get_debug_level,
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagher /* FIXME: This should be part of Components.Backends interface, onece
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagher * SSSD supports multiple interfaces per object path. */
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagher .get_providers = ifp_backend_get_providers
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagherstruct iface_ifp_domains iface_ifp_domains = {
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagher .get_primary_servers = ifp_dom_get_primary_servers,
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagher .get_backup_servers = ifp_dom_get_backup_servers,
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagher .get_login_format = ifp_dom_get_login_format,
fbeb1aba9e11e7aab8adac943276ca040f0c5311Jakub Hrozek .get_fully_qualified_name_format = ifp_dom_get_fqdn_format,
65a9065538fd85e6ead925d344e6b421900eb8c2Jakub Hrozek .get_use_fully_qualified_names = ifp_dom_get_use_fqdn,
2ea6196484055397cc4bc011c5960f790431fa9dStephen Gallagherstruct iface_ifp_domains_domain iface_ifp_domains_domain = {
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagher .ListServices = ifp_domains_domain_list_services,
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagher .ActiveServer = ifp_domains_domain_active_server,
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagher .ListServers = ifp_domains_domain_list_servers
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagher .FindByCertificate = ifp_users_find_by_cert,
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagher .ListByCertificate = ifp_users_list_by_cert,
fbeb1aba9e11e7aab8adac943276ca040f0c5311Jakub Hrozek .FindByNameAndCertificate = ifp_users_find_by_name_and_cert,
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagher .ListByDomainAndName = ifp_users_list_by_domain_and_name
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagherstruct iface_ifp_users_user iface_ifp_users_user = {
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagher .UpdateGroupsList = ifp_users_user_update_groups_list,
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagher .get_uidNumber = ifp_users_user_get_uid_number,
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagher .get_gidNumber = ifp_users_user_get_gid_number,
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagher .get_homeDirectory = ifp_users_user_get_home_directory,
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagher .get_loginShell = ifp_users_user_get_login_shell,
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagher .get_uniqueID = ifp_users_user_get_unique_id,
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagher .get_extraAttributes = ifp_users_user_get_extra_attributes
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagherstruct iface_ifp_groups iface_ifp_groups = {
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagher .ListByDomainAndName = ifp_groups_list_by_domain_and_name
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagherstruct iface_ifp_groups_group iface_ifp_groups_group = {
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagher .UpdateMemberList = ifp_groups_group_update_member_list,
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagher .get_gidNumber = ifp_groups_group_get_gid_number,
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagher .get_uniqueID = ifp_groups_group_get_unique_id,
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagherstruct iface_ifp_cache iface_ifp_cache_user = {
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagher .ListByDomain = ifp_cache_list_by_domain_user
6463ed1dcdd45416468b3fa178bd856b5a9ed2c3Jakub Hrozekstruct iface_ifp_cache_object iface_ifp_cache_object_user = {
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagherstruct iface_ifp_cache iface_ifp_cache_group = {
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagher .ListByDomain = ifp_cache_list_by_domain_group
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagherstruct iface_ifp_cache_object iface_ifp_cache_object_group = {
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagher { IFP_PATH_DOMAINS, &iface_ifp_domains.vtable },
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagher { IFP_PATH_DOMAINS_TREE, &iface_ifp_domains.vtable },
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagher { IFP_PATH_DOMAINS_TREE, &iface_ifp_domains_domain.vtable },
a23014d69b56cbdf48ad05229c334648b5309d8fJakub Hrozek { IFP_PATH_COMPONENTS_TREE, &iface_ifp_components.vtable },
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagher { IFP_PATH_USERS, &iface_ifp_users.vtable },
6463ed1dcdd45416468b3fa178bd856b5a9ed2c3Jakub Hrozek { IFP_PATH_USERS, &iface_ifp_cache_user.vtable },
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagher { IFP_PATH_USERS_TREE, &iface_ifp_users_user.vtable },
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagher { IFP_PATH_USERS_TREE, &iface_ifp_cache_object_user.vtable },
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagher { IFP_PATH_GROUPS, &iface_ifp_groups.vtable },
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagher { IFP_PATH_GROUPS, &iface_ifp_cache_group.vtable },
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagher { IFP_PATH_GROUPS_TREE, &iface_ifp_groups_group.vtable },
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagher { IFP_PATH_GROUPS_TREE, &iface_ifp_cache_object_group.vtable },
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallaghererrno_t ifp_register_sbus_interface(struct sbus_connection *conn, void *pvt)