diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/Makefile.am | 2 | ||||
-rw-r--r-- | src/providers/dp_auth_util.c | 35 | ||||
-rw-r--r-- | src/providers/dp_pam_data_util.c | 60 |
3 files changed, 62 insertions, 35 deletions
diff --git a/src/Makefile.am b/src/Makefile.am index 22ac3581..5fb40623 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -221,6 +221,7 @@ SSSD_UTIL_OBJ = \ db/sysdb_search.c \ monitor/monitor_sbus.c \ providers/dp_auth_util.c \ + providers/dp_pam_data_util.c \ providers/dp_sbus.c \ sbus/sbus_client.c \ sbus/sssd_dbus_common.c \ @@ -825,6 +826,7 @@ krb5_child_SOURCES = \ providers/krb5/krb5_become_user.c \ providers/krb5/krb5_child.c \ providers/child_common.c \ + providers/dp_pam_data_util.c \ util/user_info_msg.c \ util/sss_krb5.c krb5_child_CFLAGS = \ diff --git a/src/providers/dp_auth_util.c b/src/providers/dp_auth_util.c index fb10ced0..e09a6924 100644 --- a/src/providers/dp_auth_util.c +++ b/src/providers/dp_auth_util.c @@ -21,41 +21,6 @@ #include "data_provider.h" -void pam_print_data(int l, struct pam_data *pd) -{ - DEBUG(l, ("command: %d\n", pd->cmd)); - DEBUG(l, ("domain: %s\n", pd->domain)); - DEBUG(l, ("user: %s\n", pd->user)); - DEBUG(l, ("service: %s\n", pd->service)); - DEBUG(l, ("tty: %s\n", pd->tty)); - DEBUG(l, ("ruser: %s\n", pd->ruser)); - DEBUG(l, ("rhost: %s\n", pd->rhost)); - DEBUG(l, ("authtok type: %d\n", pd->authtok_type)); - DEBUG(l, ("authtok size: %d\n", pd->authtok_size)); - DEBUG(l, ("newauthtok type: %d\n", pd->newauthtok_type)); - DEBUG(l, ("newauthtok size: %d\n", pd->newauthtok_size)); - DEBUG(l, ("priv: %d\n", pd->priv)); - DEBUG(l, ("cli_pid: %d\n", pd->cli_pid)); -} - -int pam_add_response(struct pam_data *pd, enum response_type type, - int len, const uint8_t *data) -{ - struct response_data *new; - - new = talloc(pd, struct response_data); - if (new == NULL) return ENOMEM; - - new->type = type; - new->len = len; - new->data = talloc_memdup(pd, data, len); - if (new->data == NULL) return ENOMEM; - new->next = pd->resp_list; - pd->resp_list = new; - - return EOK; -} - bool dp_pack_pam_request(DBusMessage *msg, struct pam_data *pd) { int ret; diff --git a/src/providers/dp_pam_data_util.c b/src/providers/dp_pam_data_util.c new file mode 100644 index 00000000..308bd7c7 --- /dev/null +++ b/src/providers/dp_pam_data_util.c @@ -0,0 +1,60 @@ +/* + SSSD + + Utilities to for tha pam_data structure + + Authors: + Sumit Bose <sbose@redhat.com> + + Copyright (C) 2009 Red Hat + + This program is free software; you can redistribute it and/or modify + 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/>. +*/ + +#include "providers/data_provider.h" + +void pam_print_data(int l, struct pam_data *pd) +{ + DEBUG(l, ("command: %d\n", pd->cmd)); + DEBUG(l, ("domain: %s\n", pd->domain)); + DEBUG(l, ("user: %s\n", pd->user)); + DEBUG(l, ("service: %s\n", pd->service)); + DEBUG(l, ("tty: %s\n", pd->tty)); + DEBUG(l, ("ruser: %s\n", pd->ruser)); + DEBUG(l, ("rhost: %s\n", pd->rhost)); + DEBUG(l, ("authtok type: %d\n", pd->authtok_type)); + DEBUG(l, ("authtok size: %d\n", pd->authtok_size)); + DEBUG(l, ("newauthtok type: %d\n", pd->newauthtok_type)); + DEBUG(l, ("newauthtok size: %d\n", pd->newauthtok_size)); + DEBUG(l, ("priv: %d\n", pd->priv)); + DEBUG(l, ("cli_pid: %d\n", pd->cli_pid)); +} + +int pam_add_response(struct pam_data *pd, enum response_type type, + int len, const uint8_t *data) +{ + struct response_data *new; + + new = talloc(pd, struct response_data); + if (new == NULL) return ENOMEM; + + new->type = type; + new->len = len; + new->data = talloc_memdup(pd, data, len); + if (new->data == NULL) return ENOMEM; + new->next = pd->resp_list; + pd->resp_list = new; + + return EOK; +} |