sss_nss_idmap.c revision 2a9af1f71887f02935e2fb6ad5023afba5b6d43e
2a9af1f71887f02935e2fb6ad5023afba5b6d43eSumit Bose NSS Responder Interface for ID-SID mappings
2a9af1f71887f02935e2fb6ad5023afba5b6d43eSumit Bose Sumit Bose <sbose@redhat.com>
2a9af1f71887f02935e2fb6ad5023afba5b6d43eSumit Bose Copyright (C) 2013 Red Hat
2a9af1f71887f02935e2fb6ad5023afba5b6d43eSumit Bose This program is free software; you can redistribute it and/or modify
2a9af1f71887f02935e2fb6ad5023afba5b6d43eSumit Bose it under the terms of the GNU General Public License as published by
2a9af1f71887f02935e2fb6ad5023afba5b6d43eSumit Bose the Free Software Foundation; either version 3 of the License, or
2a9af1f71887f02935e2fb6ad5023afba5b6d43eSumit Bose (at your option) any later version.
2a9af1f71887f02935e2fb6ad5023afba5b6d43eSumit Bose This program is distributed in the hope that it will be useful,
2a9af1f71887f02935e2fb6ad5023afba5b6d43eSumit Bose but WITHOUT ANY WARRANTY; without even the implied warranty of
2a9af1f71887f02935e2fb6ad5023afba5b6d43eSumit Bose MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
2a9af1f71887f02935e2fb6ad5023afba5b6d43eSumit Bose GNU General Public License for more details.
2a9af1f71887f02935e2fb6ad5023afba5b6d43eSumit Bose You should have received a copy of the GNU General Public License
2a9af1f71887f02935e2fb6ad5023afba5b6d43eSumit Bose along with this program. If not, see <http://www.gnu.org/licenses/>.
2a9af1f71887f02935e2fb6ad5023afba5b6d43eSumit Bose const char *str;
2a9af1f71887f02935e2fb6ad5023afba5b6d43eSumit Bosestatic int sss_nss_getyyybyxxx(union input inp, enum sss_cli_command cmd ,
2a9af1f71887f02935e2fb6ad5023afba5b6d43eSumit Bose ret = sss_strnlen(inp.str, SSS_NAME_MAX, &inp_len);
2a9af1f71887f02935e2fb6ad5023afba5b6d43eSumit Bose nret = sss_nss_make_request(cmd, &rd, &repbuf, &replen, &errnop);
2a9af1f71887f02935e2fb6ad5023afba5b6d43eSumit Bose if (data_len <= 1 || repbuf[replen - 1] != '\0') {
2a9af1f71887f02935e2fb6ad5023afba5b6d43eSumit Bose strncpy(str, (char *) repbuf + DATA_START, data_len);
2a9af1f71887f02935e2fb6ad5023afba5b6d43eSumit Bose SAFEALIGN_COPY_UINT32(&c, repbuf + DATA_START, NULL);
2a9af1f71887f02935e2fb6ad5023afba5b6d43eSumit Boseint sss_nss_getsidbyname(const char *fq_name, char **sid,
2a9af1f71887f02935e2fb6ad5023afba5b6d43eSumit Bose if (sid == NULL || fq_name == NULL || *fq_name == '\0') {
2a9af1f71887f02935e2fb6ad5023afba5b6d43eSumit Bose ret = sss_nss_getyyybyxxx(inp, SSS_NSS_GETSIDBYNAME, &out);
2a9af1f71887f02935e2fb6ad5023afba5b6d43eSumit Boseint sss_nss_getsidbyid(uint32_t id, char **sid, enum sss_id_type *type)
2a9af1f71887f02935e2fb6ad5023afba5b6d43eSumit Bose ret = sss_nss_getyyybyxxx(inp, SSS_NSS_GETSIDBYID, &out);
2a9af1f71887f02935e2fb6ad5023afba5b6d43eSumit Boseint sss_nss_getnamebysid(const char *sid, char **fq_name,
2a9af1f71887f02935e2fb6ad5023afba5b6d43eSumit Bose if (fq_name == NULL || sid == NULL || *sid == '\0') {
2a9af1f71887f02935e2fb6ad5023afba5b6d43eSumit Bose ret = sss_nss_getyyybyxxx(inp, SSS_NSS_GETNAMEBYSID, &out);
2a9af1f71887f02935e2fb6ad5023afba5b6d43eSumit Boseint sss_nss_getidbysid(const char *sid, uint32_t *id, enum sss_id_type *id_type)
2a9af1f71887f02935e2fb6ad5023afba5b6d43eSumit Bose if (id == NULL || id_type == NULL || sid == NULL || *sid == '\0') {