X-Git-Url: http://git.openafs.org/?p=openafs.git;a=blobdiff_plain;f=src%2Fptserver%2Fptserver.c;h=d1c4d40b0622f4f5a578a6be002c97f9673d6f91;hp=d1c789ce8f55abf056cb361b7b059d30d2c44271;hb=da3921e7c78ec2f9a7861cfb5d06df96bb1e477f;hpb=20f2f23be6cd5834997cb22ae2bbf4bec308c60c diff --git a/src/ptserver/ptserver.c b/src/ptserver/ptserver.c index d1c789c..d1c4d40 100644 --- a/src/ptserver/ptserver.c +++ b/src/ptserver/ptserver.c @@ -206,6 +206,8 @@ main(int argc, char **argv) afs_uint32 host = htonl(INADDR_ANY); const char *pr_dbaseName; + const char *configDir; + const char *logFile; char *whoami = "ptserver"; int a; @@ -242,6 +244,8 @@ main(int argc, char **argv) } pr_dbaseName = AFSDIR_SERVER_PRDB_FILEPATH; + configDir = AFSDIR_SERVER_ETC_DIRPATH; + logFile = AFSDIR_SERVER_PTLOG_FILEPATH; #if defined(SUPERGROUPS) /* make sure the structures for database records are the same size */ @@ -337,12 +341,26 @@ main(int argc, char **argv) RX_MAX_PACKET_DATA_SIZE); PT_EXIT(1); } + } else if (!strncmp(arg, "-config", alen)) { + if ((a + 1) > argc) { + fprintf(stderr, "missing argument for -config\n"); + PT_EXIT(1); + } + configDir = argv[++a]; + } else if (!strncmp(arg, "-logfile", alen)) { + if ((a + 1) > argc) { + fprintf(stderr, "missing argument for -logfile\n"); + PT_EXIT(1); + } + logFile = argv[++a]; } else if (*arg == '-') { /* hack in help flag support */ printf("Usage: ptserver [-database ] " "[-auditlog ] " - "[-audit-interface (default is file)] "); + "[-audit-interface (default is file)] " + "[-config ] " + "[-logfile ] "); #ifndef AFS_NT40_ENV printf("[-syslog[=FACILITY]] "); #endif @@ -376,10 +394,10 @@ main(int argc, char **argv) #ifndef AFS_NT40_ENV serverLogSyslogTag = "ptserver"; #endif - OpenLog(AFSDIR_SERVER_PTLOG_FILEPATH); /* set up logging */ + OpenLog(logFile); /* set up logging */ SetupLogSignals(); - prdir = afsconf_Open(AFSDIR_SERVER_ETC_DIRPATH); + prdir = afsconf_Open(configDir); if (!prdir) { fprintf(stderr, "ptserver: can't open configuration directory.\n"); PT_EXIT(1);