From 4618cdf9bba82ecac1b4bae9df782f2ae1a40253 Mon Sep 17 00:00:00 2001 From: ru Date: Wed, 13 Aug 2003 13:16:19 +0000 Subject: Added an option to specify an alternate PID file. PR: bin/37159 Submitted by: "Aleksandr A. Babaylov" <.@babolo.ru> --- sbin/natd/natd.c | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) (limited to 'sbin/natd/natd.c') diff --git a/sbin/natd/natd.c b/sbin/natd/natd.c index 40f68c2..ec123f7 100644 --- a/sbin/natd/natd.c +++ b/sbin/natd/natd.c @@ -122,6 +122,7 @@ static int dropIgnoredIncoming; static int logDropped; static int logFacility; static int logIpfwDenied; +static char* pidName; int main (int argc, char** argv) { @@ -156,6 +157,7 @@ int main (int argc, char** argv) logDropped = 0; logFacility = LOG_DAEMON; logIpfwDenied = -1; + pidName = PIDFILE; ParseArgs (argc, argv); /* @@ -380,7 +382,7 @@ int main (int argc, char** argv) } if (background) - unlink (PIDFILE); + unlink (pidName); return 0; } @@ -392,7 +394,7 @@ static void DaemonMode () daemon (0, 0); background = 1; - pidFile = fopen (PIDFILE, "w"); + pidFile = fopen (pidName, "w"); if (pidFile) { fprintf (pidFile, "%d\n", getpid ()); @@ -836,7 +838,8 @@ enum Option { LogDenied, LogFacility, PunchFW, - LogIpfwDenied + LogIpfwDenied, + PidFile }; enum Param { @@ -1063,6 +1066,14 @@ static struct OptionInfo optionTable[] = { "log packets converted by natd, but denied by ipfw", "log_ipfw_denied", NULL }, + + { PidFile, + 0, + String, + "file_name", + "store PID in an alternate file", + "pid_file", + "P" }, }; static void ParseOption (const char* option, const char* parms) @@ -1250,6 +1261,10 @@ static void ParseOption (const char* option, const char* parms) case LogIpfwDenied: logIpfwDenied = yesNoValue;; break; + + case PidFile: + pidName = strdup (strValue); + break; } } -- cgit v1.1