summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Hardeman <david@hardeman.nu>2015-01-21 16:28:05 -0500
committerSteve Dickson <steved@redhat.com>2015-01-23 14:19:09 -0500
commit7d206b6b4dab52f24cd14e8c64654acc373922c1 (patch)
tree085393997c3e7c4fa98d448ae7be7c847cd6ab40
parent522838cae9d840d1696fcc0e7c70245027e44269 (diff)
downloadnfs-utils-7d206b6b4dab52f24cd14e8c64654acc373922c1.tar.gz
nfs-utils-7d206b6b4dab52f24cd14e8c64654acc373922c1.tar.xz
nfs-utils-7d206b6b4dab52f24cd14e8c64654acc373922c1.zip
gssd - simplify some option handling
Using PATH_MAX in modern code is almost always a bad idea. Simplify the code and remove that arbitrary limitation at the same time. Signed-off-by: David Hardeman <david@hardeman.nu> Signed-off-by: Steve Dickson <steved@redhat.com>
-rw-r--r--utils/gssd/gssd.c12
-rw-r--r--utils/gssd/gssd.h4
2 files changed, 6 insertions, 10 deletions
diff --git a/utils/gssd/gssd.c b/utils/gssd/gssd.c
index 5e580e7..6147d30 100644
--- a/utils/gssd/gssd.c
+++ b/utils/gssd/gssd.c
@@ -67,8 +67,8 @@
#include "krb5_util.h"
#include "nfslib.h"
-static char pipefs_dir[PATH_MAX] = GSSD_PIPEFS_DIR;
-char keytabfile[PATH_MAX] = GSSD_DEFAULT_KEYTAB_FILE;
+static char *pipefs_dir = GSSD_PIPEFS_DIR;
+char *keytabfile = GSSD_DEFAULT_KEYTAB_FILE;
char ccachedir[PATH_MAX] = GSSD_DEFAULT_CRED_DIR ":" GSSD_USER_CRED_DIR;
char *ccachesearch[GSSD_MAX_CCACHE_SEARCH + 1];
int use_memcache = 0;
@@ -341,14 +341,10 @@ main(int argc, char *argv[])
rpc_verbosity++;
break;
case 'p':
- strncpy(pipefs_dir, optarg, sizeof(pipefs_dir));
- if (pipefs_dir[sizeof(pipefs_dir)-1] != '\0')
- errx(1, "pipefs path name too long");
+ pipefs_dir = optarg;
break;
case 'k':
- strncpy(keytabfile, optarg, sizeof(keytabfile));
- if (keytabfile[sizeof(keytabfile)-1] != '\0')
- errx(1, "keytab path name too long");
+ keytabfile = optarg;
break;
case 'd':
strncpy(ccachedir, optarg, sizeof(ccachedir));
diff --git a/utils/gssd/gssd.h b/utils/gssd/gssd.h
index e16b187..4059544 100644
--- a/utils/gssd/gssd.h
+++ b/utils/gssd/gssd.h
@@ -58,8 +58,8 @@
*/
enum {AUTHTYPE_KRB5, AUTHTYPE_LIPKEY};
-extern char keytabfile[PATH_MAX];
-extern char *ccachesearch[];
+extern char *keytabfile;
+extern char *ccachesearch[];
extern int use_memcache;
extern int root_uses_machine_creds;
extern unsigned int context_timeout;