Re: [PATCH 3/5] cifs.upcall: save off username field from key description

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Acked-by: Igor Mammedov <niallain@xxxxxxxxx>

On Fri, Jan 7, 2011 at 5:11 PM, Jeff Layton <jlayton@xxxxxxxxx> wrote:
> Signed-off-by: Jeff Layton <jlayton@xxxxxxxxx>
> ---
> Âcifs.upcall.c | Â 17 +++++++++++++++++
> Â1 files changed, 17 insertions(+), 0 deletions(-)
>
> diff --git a/cifs.upcall.c b/cifs.upcall.c
> index d83dddf..12df8cc 100644
> --- a/cifs.upcall.c
> +++ b/cifs.upcall.c
> @@ -444,12 +444,14 @@ handle_krb5_mech(const char *oid, const char *principal, DATA_BLOB * secblob,
> Â#define DKD_HAVE_UID Â Â Â Â Â 0x10
> Â#define DKD_HAVE_PID Â Â Â Â Â 0x20
> Â#define DKD_HAVE_CREDUID Â Â Â 0x40
> +#define DKD_HAVE_USERNAME Â Â Â0x80
> Â#define DKD_MUSTHAVE_SET (DKD_HAVE_HOSTNAME|DKD_HAVE_VERSION|DKD_HAVE_SEC)
>
> Âstruct decoded_args {
> Â Â Â Âint ver;
> Â Â Â Âchar *hostname;
> Â Â Â Âchar *ip;
> + Â Â Â char *username;
> Â Â Â Âuid_t uid;
> Â Â Â Âuid_t creduid;
> Â Â Â Âpid_t pid;
> @@ -495,6 +497,20 @@ decode_key_description(const char *desc, struct decoded_args *arg)
> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Âreturn 1;
> Â Â Â Â Â Â Â Â Â Â Â Â}
> Â Â Â Â Â Â Â Â Â Â Â Âretval |= DKD_HAVE_IP;
> + Â Â Â Â Â Â Â } else if (strncmp(tkn, "user=", 5) == 0) {
> + Â Â Â Â Â Â Â Â Â Â Â if (pos == NULL)
> + Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â len = strlen(tkn);
> + Â Â Â Â Â Â Â Â Â Â Â else
> + Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â len = pos - tkn;
> +
> + Â Â Â Â Â Â Â Â Â Â Â len -= 5;
> + Â Â Â Â Â Â Â Â Â Â Â SAFE_FREE(arg->username);
> + Â Â Â Â Â Â Â Â Â Â Â arg->username = strndup(tkn + 5, len);
> + Â Â Â Â Â Â Â Â Â Â Â if (arg->username == NULL) {
> + Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â syslog(LOG_ERR, "Unable to allocate memory");
> + Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â return 1;
> + Â Â Â Â Â Â Â Â Â Â Â }
> + Â Â Â Â Â Â Â Â Â Â Â retval |= DKD_HAVE_USERNAME;
> Â Â Â Â Â Â Â Â} else if (strncmp(tkn, "pid=", 4) == 0) {
> Â Â Â Â Â Â Â Â Â Â Â Âerrno = 0;
> Â Â Â Â Â Â Â Â Â Â Â Âarg->pid = strtol(tkn + 4, NULL, 0);
> @@ -865,6 +881,7 @@ out:
> Â Â Â ÂSAFE_FREE(ccname);
> Â Â Â ÂSAFE_FREE(arg.hostname);
> Â Â Â ÂSAFE_FREE(arg.ip);
> + Â Â Â SAFE_FREE(arg.username);
> Â Â Â ÂSAFE_FREE(keydata);
> Â Â Â Âreturn rc;
> Â}
> --
> 1.7.3.4
>
>
ÿô.nlj·Ÿ®‰­†+%ŠË±é¥Šwÿº{.nlj·¥Š{±ý¶›¡Ü}©ž²ÆzÚj:+v‰¨þø®w¥þŠàÞ¨è&¢)ß«a¶Úÿûz¹ÞúŽŠÝjÿŠwèf



[Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux