* IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
* WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
*
- * $OpenBSD: ip.c,v 1.21 2000/02/27 01:38:26 brian Exp $
+ * $OpenBSD: ip.c,v 1.22 2000/03/29 09:32:37 brian Exp $
*
* TODO:
* o Return ICMP message for filterd packet
int mask, len, n, pri, logit, loglen, result;
char logbuf[200];
- logit = (log_IsKept(LogTCPIP) || log_IsKept(LogDNS)) && filter->logok;
+ logit = (log_IsKept(LogTCPIP) || log_IsKept(LogDNS)) &&
+ (!filter || filter->logok);
loglen = 0;
pri = 0;
uh = NULL;
if (logit && loglen < sizeof logbuf) {
- snprintf(logbuf + loglen, sizeof logbuf - loglen, "%s ", filter->name);
+ if (filter)
+ snprintf(logbuf + loglen, sizeof logbuf - loglen, "%s ", filter->name);
+ else
+ snprintf(logbuf + loglen, sizeof logbuf - loglen, " ");
loglen += strlen(logbuf + loglen);
}
ptop = (cp + (pip->ip_hl << 2));
break;
}
- if (FilterCheck(pip, filter)) {
+ if (filter && FilterCheck(pip, filter)) {
if (logit)
log_Printf(LogTCPIP, "%s - BLOCKED\n", logbuf);
#ifdef notdef
} else {
/* Check Keep Alive filter */
if (logit && log_IsKept(LogTCPIP)) {
- if (FilterCheck(pip, &bundle->filter.alive))
+ if (filter && FilterCheck(pip, &bundle->filter.alive))
log_Printf(LogTCPIP, "%s - NO KEEPALIVE\n", logbuf);
else
log_Printf(LogTCPIP, "%s\n", logbuf);
result = pri;
}
- if (uh && ntohs(uh->uh_dport) == 53 && log_IsKept(LogDNS))
+ if (filter && uh && ntohs(uh->uh_dport) == 53 && log_IsKept(LogDNS))
ip_LogDNS(uh, filter->name);
return result;
* The code in this file was written by Eivind Eklund <perhaps@yes.no>,
* who places it in the public domain without restriction.
*
- * $OpenBSD: nat_cmd.c,v 1.7 2000/03/29 00:14:20 brian Exp $
+ * $OpenBSD: nat_cmd.c,v 1.8 2000/03/29 09:32:37 brian Exp $
*/
#include <sys/param.h>
#ifndef NORADIUS
#include "radius.h"
#endif
+#include "ip.h"
#include "bundle.h"
nfrags, gfrags);
break;
+ case PKT_ALIAS_IGNORED:
+ if (log_IsKept(LogTCPIP)) {
+ log_Printf(LogTCPIP, "NAT engine ignored data:\n");
+ PacketCheck(bundle, (char *)pip, ntohs(pip->ip_len), NULL);
+ }
+ m_freem(bp);
+ bp = NULL;
+ break;
+
default:
log_Printf(LogWARN, "nat_LayerPull: Dropped a packet (%d)....\n", ret);
m_freem(bp);