Date: Fri, 16 Nov 2001 19:39:56 +0200 From: Ruslan Ermilov <ru@FreeBSD.ORG> To: Sheldon Hearn <sheldonh@starjuice.net> Cc: Poul-Henning Kamp <phk@critter.freebsd.dk>, audit@FreeBSD.ORG Subject: Re: cvs commit: src/sbin/natd natd.8 natd.c Message-ID: <20011116193956.A46779@sunbay.com> In-Reply-To: <71993.1005931087@axl.seasidesoftware.co.za> References: <17182.1005930626@critter.freebsd.dk> <71993.1005931087@axl.seasidesoftware.co.za>
next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, Nov 16, 2001 at 07:18:07PM +0200, Sheldon Hearn wrote:
>
>
> On Fri, 16 Nov 2001 18:10:26 +0100, Poul-Henning Kamp wrote:
>
> > The compromise Ruslan and I ended up with when we discussed this in Brighton
> > was that the print would be disabled unless enabled specifically and that
> > the verbose option should also enable it, and that yes, adding useful
> > info to it makes sense.
>
> I guess one argument in favour of this is the default brevity of the
> IPFW code itself, where the "log" keyword does nothing until special
> action is taken.
>
> Okay, so Ruslan, are you happy with using getnameinfo() to add
> additional detail? The only drawback I can think of is that it will
> defeat syslog(3) message coalescing (message repeated X times).
>
> However, given the default behaviour that Poul-Henning describes, I
> don't think it makes too much sense to worry about that.
>
Funny thing is that I was just working on this. :-)
The below patch implements what we were discussing with Poul-Henning,
i.e., have the -log_ipfw_denied option enabled by default in -verbose
mode, when it really makes any sense.
Index: natd.8
===================================================================
RCS file: /home/ncvs/src/sbin/natd/natd.8,v
retrieving revision 1.48
diff -u -p -r1.48 natd.8
--- natd.8 2001/10/31 16:08:49 1.48
+++ natd.8 2001/11/16 17:39:57
@@ -463,7 +463,11 @@ rules starting from the rule number
will be used for punching firewall holes.
The range will be cleared for all rules on startup.
.It Fl log_ipfw_denied
-Log when a packet can't be re-injected because a ipfw rule deny it.
+Log when a packet can not be re-injected because an
+.Xr ipfw 8
+rule blocks it.
+This is the default with
+.Fl verbose .
.El
.Sh RUNNING NATD
The following steps are necessary before attempting to run
Index: natd.c
===================================================================
RCS file: /home/ncvs/src/sbin/natd/natd.c,v
retrieving revision 1.36
diff -u -p -r1.36 natd.c
--- natd.c 2001/10/31 16:08:49 1.36
+++ natd.c 2001/11/16 17:40:02
@@ -126,7 +126,7 @@ static int packetDirection;
static int dropIgnoredIncoming;
static int logDropped;
static int logFacility;
-static int log_ipfw_denied;
+static int logIpfwDenied;
int main (int argc, char** argv)
{
@@ -161,7 +161,7 @@ int main (int argc, char** argv)
dynamicMode = 0;
logDropped = 0;
logFacility = LOG_DAEMON;
- log_ipfw_denied = 0;
+ logIpfwDenied = -1;
/*
* Mark packet buffer empty.
*/
@@ -170,6 +170,11 @@ int main (int argc, char** argv)
ParseArgs (argc, argv);
/*
+ * Log ipfw(8) denied packets by default in verbose mode.
+ */
+ if (logIpfwDenied == -1)
+ logIpfwDenied = verbose;
+/*
* Open syslog channel.
*/
openlog ("natd", LOG_CONS | LOG_PID | (verbose ? LOG_PERROR : 0),
@@ -616,7 +621,7 @@ static void FlushPacketBuffer (int fd)
(struct ip*) packetBuf,
ifMTU - aliasOverhead);
}
- else if (errno == EACCES && log_ipfw_denied) {
+ else if (errno == EACCES && logIpfwDenied) {
sprintf (msgBuf, "failed to write packet back");
Warn (msgBuf);
@@ -1257,7 +1262,7 @@ static void ParseOption (const char* opt
break;
case LogDenied:
- logDropped = 1;
+ logDropped = yesNoValue;
break;
case LogFacility:
@@ -1283,8 +1288,10 @@ static void ParseOption (const char* opt
case PunchFW:
SetupPunchFW(strValue);
break;
+
case LogIpfwDenied:
- log_ipfw_denied=1;
+ logIpfwDenied = yesNoValue;;
+ break;
}
}
--
Ruslan Ermilov Oracle Developer/DBA,
ru@sunbay.com Sunbay Software AG,
ru@FreeBSD.org FreeBSD committer,
+380.652.512.251 Simferopol, Ukraine
http://www.FreeBSD.org The Power To Serve
http://www.oracle.com Enabling The Information Age
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-audit" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20011116193956.A46779>
