From 0ef783e186ef1c9f60e61a4e8e54c44cb366fdfe Mon Sep 17 00:00:00 2001 From: Pavel Březina Date: Mon, 10 Oct 2011 14:50:36 +0200 Subject: SUDO integration - client common interface --- src/sss_client/common.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'src/sss_client/common.c') diff --git a/src/sss_client/common.c b/src/sss_client/common.c index a9dc2354b..94d15a529 100644 --- a/src/sss_client/common.c +++ b/src/sss_client/common.c @@ -377,6 +377,8 @@ static bool sss_cli_check_version(const char *socket_name) } else if (strcmp(socket_name, SSS_PAM_SOCKET_NAME) == 0 || strcmp(socket_name, SSS_PAM_PRIV_SOCKET_NAME) == 0) { expected_version = SSS_PAM_PROTOCOL_VERSION; + } else if (strcmp(socket_name, SSS_SUDO_SOCKET_NAME) == 0) { + expected_version = SSS_SUDO_PROTOCOL_VERSION; } else { return false; } @@ -811,6 +813,22 @@ out: return ret; } +int sss_sudo_make_request(enum sss_cli_command cmd, + struct sss_cli_req_data *rd, + uint8_t **repbuf, size_t *replen, + int *errnop) +{ + enum sss_status ret = SSS_STATUS_UNAVAIL; + + ret = sss_cli_check_socket(errnop, SSS_SUDO_SOCKET_NAME); + if (ret != SSS_STATUS_SUCCESS) { + return SSS_STATUS_UNAVAIL; + } + + ret = sss_cli_make_request_nochecks(cmd, rd, repbuf, replen, errnop); + + return ret; +} const char *ssscli_err2string(int err) { -- cgit