]> git.decadent.org.uk Git - nfs-utils.git/blobdiff - utils/gssd/gssd.c
Imported upstream 1.2.8
[nfs-utils.git] / utils / gssd / gssd.c
index ccadb0777805dfd52d931e6fcc762769b97bb319..8ee478bc0bccb0aedee7bd3557e0f194ad69ab30 100644 (file)
@@ -57,7 +57,7 @@
 
 char pipefs_dir[PATH_MAX] = GSSD_PIPEFS_DIR;
 char keytabfile[PATH_MAX] = GSSD_DEFAULT_KEYTAB_FILE;
-char ccachedir[PATH_MAX] = GSSD_DEFAULT_CRED_DIR;
+char ccachedir[PATH_MAX] = GSSD_DEFAULT_CRED_DIR ":" GSSD_USER_CRED_DIR;
 char *ccachesearch[GSSD_MAX_CCACHE_SEARCH + 1];
 int  use_memcache = 0;
 int  root_uses_machine_creds = 1;
@@ -71,7 +71,7 @@ sig_die(int signal)
        if (root_uses_machine_creds)
                gssd_destroy_krb5_machine_creds();
        printerr(1, "exiting on signal %d\n", signal);
-       exit(1);
+       exit(0);
 }
 
 void
@@ -85,7 +85,7 @@ sig_hup(int signal)
 static void
 usage(char *progname)
 {
-       fprintf(stderr, "usage: %s [-f] [-M] [-n] [-v] [-r] [-p pipefsdir] [-k keytab] [-d ccachedir] [-t timeout] [-R preferred realm]\n",
+       fprintf(stderr, "usage: %s [-f] [-l] [-M] [-n] [-v] [-r] [-p pipefsdir] [-k keytab] [-d ccachedir] [-t timeout] [-R preferred realm] [-D]\n",
                progname);
        exit(1);
 }
@@ -102,7 +102,7 @@ main(int argc, char *argv[])
        char *progname;
 
        memset(ccachesearch, 0, sizeof(ccachesearch));
-       while ((opt = getopt(argc, argv, "fvrmnMp:k:d:t:R:")) != -1) {
+       while ((opt = getopt(argc, argv, "DfvrlmnMp:k:d:t:R:")) != -1) {
                switch (opt) {
                        case 'f':
                                fg = 1;
@@ -143,6 +143,16 @@ main(int argc, char *argv[])
                        case 'R':
                                preferred_realm = strdup(optarg);
                                break;
+                       case 'l':
+#ifdef HAVE_SET_ALLOWABLE_ENCTYPES
+                               limit_to_legacy_enctypes = 1;
+#else 
+                               errx(1, "Encryption type limits not supported by Kerberos libraries.");
+#endif
+                               break;
+                       case 'D':
+                               avoid_dns = 0;
+                               break;
                        default:
                                usage(argv[0]);
                                break;