]> arthur.barton.de Git - netatalk.git/blobdiff - etc/afpd/afp_options.c
Merge branch 2-1: Fix for uninitialized AFP signature. From HAT.
[netatalk.git] / etc / afpd / afp_options.c
index 0761724f292760d73b7c14e1a785af8e869e32c9..c86c485900d5e38f8b55d054cbfc26f968768e5d 100644 (file)
@@ -1,6 +1,4 @@
 /*
- * $Id: afp_options.c,v 1.54 2010/04/02 16:17:22 hat001 Exp $
- *
  * Copyright (c) 1997 Adrian Sun (asun@zoology.washington.edu)
  * Copyright (c) 1990,1993 Regents of The University of Michigan.
  * All Rights Reserved.  See COPYRIGHT.
@@ -138,8 +136,10 @@ void afp_options_free(struct afp_options *opt,
         free(opt->uamlist);
     if (opt->passwdfile && (opt->passwdfile != save->passwdfile))
         free(opt->passwdfile);
+    if (opt->signatureopt && (opt->signatureopt != save->signatureopt))
+       free(opt->signatureopt);
     if (opt->signature && (opt->signature != save->signature))
-       free(opt->signature);
+        free(opt->signature);
     if (opt->k5service && (opt->k5service != save->k5service))
        free(opt->k5service);
     if (opt->k5realm && (opt->k5realm != save->k5realm))
@@ -178,6 +178,7 @@ void afp_options_init(struct afp_options *options)
     options->sleep = 10* 120; /* 10 h in 30 seconds tick */
     options->server_notif = 1;
     options->authprintdir = NULL;
+    options->signatureopt = "auto";
     options->umask = 0;
 #ifdef ADMIN_GRP
     options->admingid = 0;
@@ -400,6 +401,8 @@ int afp_options_parseline(char *buf, struct afp_options *options)
         options->port = strdup(c);
     if ((c = getoption(buf, "-ddpaddr")))
         atalk_aton(c, &options->ddpaddr);
+    if ((c = getoption(buf, "-signature")) && (opt = strdup(c)))
+        options->signatureopt = opt;
 
     /* do a little checking for the domain name. */
     if ((c = getoption(buf, "-fqdn"))) {
@@ -452,13 +455,6 @@ int afp_options_parseline(char *buf, struct afp_options *options)
     if ((c = getoption(buf, "-dircachesize")))
         options->dircachesize = atoi(c);
      
-    if ((c = getoption(buf, "-signature")) && (opt = strdup(c))) {
-        set_signature(opt, options);
-    }
-    else {
-        set_signature("auto", options);
-    }
-
     return 1;
 }