X-Git-Url: https://arthur.barton.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=etc%2Fafpd%2Fafp_options.c;h=43992ed771f8f9e2d8f3c7c981cdc085cfefb2c7;hb=3c047583a192b6dad0938e4c7fbefcb92755b727;hp=ab33ebee786f673032beb7ec5c32e2455ffab167;hpb=2af820d8449e9dd362bd6c7f68a630361c329290;p=netatalk.git diff --git a/etc/afpd/afp_options.c b/etc/afpd/afp_options.c index ab33ebee..43992ed7 100644 --- a/etc/afpd/afp_options.c +++ b/etc/afpd/afp_options.c @@ -34,8 +34,9 @@ #include #include #include +#include +#include -#include "globals.h" #include "status.h" #include "auth.h" #include "dircache.h" @@ -139,6 +140,8 @@ void afp_options_free(struct afp_options *opt, free(opt->ntseparator); if (opt->logconfig && (opt->logconfig != save->logconfig)) free(opt->logconfig); + if (opt->mimicmodel && (opt->mimicmodel != save->mimicmodel)) + free(opt->mimicmodel); } /* initialize options */ @@ -189,6 +192,7 @@ void afp_options_init(struct afp_options *options) options->tcp_sndbuf = 0; /* 0 means don't change OS default */ options->tcp_rcvbuf = 0; /* 0 means don't change OS default */ options->dsireadbuf = 12; + options->mimicmodel = NULL; } /* parse an afpd.conf line. i'm doing it this way because it's @@ -236,6 +240,10 @@ int afp_options_parseline(char *buf, struct afp_options *options) options->flags |= OPTION_ANNOUNCESSH; if (strstr(buf, " -noacl2maccess")) options->flags &= ~OPTION_ACL2MACCESS; + if (strstr(buf, " -keepsessions")) { + default_options.flags |= OPTION_KEEPSESSIONS; + options->flags |= OPTION_KEEPSESSIONS; + } /* passwd bits */ if (strstr(buf, " -nosavepassword")) @@ -481,6 +489,22 @@ int afp_options_parseline(char *buf, struct afp_options *options) if ((c = getoption(buf, "-tcprcvbuf"))) options->tcp_rcvbuf = atoi(c); + if ((c = getoption(buf, "-fcelistener"))) { + LOG(log_note, logtype_afpd, "Adding fce listener \"%s\"", c); + fce_add_udp_socket(c); + } + if ((c = getoption(buf, "-fcecoalesce"))) { + LOG(log_note, logtype_afpd, "Fce coalesce: %s", c); + fce_set_coalesce(c); + } + if ((c = getoption(buf, "-fceevents"))) { + LOG(log_note, logtype_afpd, "Fce events: %s", c); + fce_set_events(c); + } + + if ((c = getoption(buf, "-mimicmodel")) && (opt = strdup(c))) + options->mimicmodel = opt; + return 1; } @@ -676,11 +700,14 @@ int afp_options_parse(int ac, char **av, struct afp_options *options) *p = '\0'; } +#ifdef ultrix if (NULL == ( p = strrchr( av[ 0 ], '/' )) ) { p = av[ 0 ]; } else { p++; } + openlog( p, LOG_PID ); /* ultrix only */ +#endif /* ultrix */ while (EOF != ( c = getopt( ac, av, OPTIONS )) ) { switch ( c ) { @@ -772,11 +799,5 @@ int afp_options_parse(int ac, char **av, struct afp_options *options) exit( 2 ); } -#ifdef ultrix - openlog( p, LOG_PID ); /* ultrix only */ -#else - set_processname(p); -#endif /* ultrix */ - return 1; }