svcgssd: Encryption types not being parsed correctly
Subsystems (2)
PATCH 1/1 svcgssd: Encryption types not being parsed correctly
When svcgssd reads the supported encrytion types from the kernel, they are prefixed with a 'enctypes='. That prefix has to be ignored to correctly parse the rest of the types.
Signed-off-by Steve Dickson <[email protected]>
--- utils/gssd/svcgssd_krb5.c | 7 +++++++ 1 file changed, 7 insertions(+)
utils/gssd/svcgssd_krb5.c +7 -0
@@ -38,6 +38,7 @@#include <stdio.h> #include <errno.h> +#include <ctype.h> #include <gssapi/gssapi.h> #include <krb5.h>
@@ -98,6 +99,12 @@ parse_enctypes(char *enctypes)if (n ==0 )return ENOENT ; +/* Skip pass any non digits */ +while (*enctypes &&isdigit (*enctypes) ==0 ) + enctypes++; +if (*enctypes =='\0' ) +return EINVAL ; +/* Allocate space for enctypes array */ if ((parsed_enctypes = (int *)calloc (n,sizeof (int ))) ==NULL ) {return ENOMEM ;
Signature · 1 line
1.7.11.7
Quoted 5 lines · Steve Dickson
When svcgssd reads the supported encrytion types from the kernel, they are prefixed with a 'enctypes='. That prefix has to be ignored to correctly parse the rest of the types.
Signed-off-by Steve Dickson <[email protected]>
Committed...
steved.
Quoted 30 lines
--- utils/gssd/svcgssd_krb5.c | 7 +++++++ 1 file changed, 7 insertions(+)utils/gssd/svcgssd_krb5.c +7
-0@@ -38,6 +38,7 @@#include <stdio.h> #include <errno.h> +#include <ctype.h> #include <gssapi/gssapi.h> #include <krb5.h> @@ -98,6 +99,12 @@ parse_enctypes(char *enctypes)if (n ==0 )return ENOENT ; +/* Skip pass any non digits */ +while (*enctypes &&isdigit (*enctypes) ==0 ) + enctypes++; +if (*enctypes =='\0' ) +return EINVAL ; +/* Allocate space for enctypes array */ if ((parsed_enctypes = (int *)calloc (n,sizeof (int ))) ==NULL ) {return ENOMEM ;