History log of /freebsd-current/sbin/ipfw/ipv6.c
Revision Date Author Comments
# b3e76948 16-Aug-2023 Warner Losh <imp@FreeBSD.org>

Remove $FreeBSD$: two-line .h pattern

Remove /^\s*\*\n \*\s+\$FreeBSD\$$\n/


# 2b5dd8b8 15-Jun-2023 Alexander V. Chernikov <melifaro@FreeBSD.org>

ipfw: use function return value to fetch insn argument.

This is a prerequsite for splitting compile_rule() into smaller
chunks.

MFC after: 2 weeks


# 56707bee 13-Jul-2020 Mark Johnston <markj@FreeBSD.org>

ipfw(8): Fix most warnings with the default WARNS level.

- Add missing const and static qualifiers.
- Avoid shadowing the global "co" by renaming it to "g_co".
- Avoid mixing signedness in loop bound checks.
- Leave -Wcast-align warnings disabled for now.

Reviewed by: ae, melifaro
MFC after: 2 weeks
Differential Revision: https://reviews.freebsd.org/D25456


# 27b3db97 24-Jun-2020 Mark Johnston <markj@FreeBSD.org>

ipfw(8): In fill_ip6(), use a single statement for both "me" and "me6".

Submitted by: Neel Chauhan <neel AT neelc DOT org>
Reviewed by: rgrimes, Lutz Donnerhacke
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D24403


# 51b15930 15-Oct-2019 Andrey V. Elsukov <ae@FreeBSD.org>

Explicitly initialize the memory buffer to store O_ICMP6TYPE opcode.

By default next_cmd() initializes only first u32 of opcode. O_ICMP6TYPE
opcode has array of bit masks to store corresponding ICMPv6 types.
An opcode that precedes O_ICMP6TYPE, e.g. O_IP6_DST, can have variable
length and during opcode filling it can modify memory that will be used
by O_ICMP6TYPE opcode. Without explicit initialization this leads to
creation of wrong opcode.

Reported by: Boris N. Lytochkin
Obtained from: Yandex LLC
MFC after: 3 days


# 5786c6b9 20-Nov-2018 Andrey V. Elsukov <ae@FreeBSD.org>

Make multiline APPLY_MASK() macro to be function-like.

Reported by: cem
MFC after: 1 week


# 8f47ad01 06-Nov-2018 Andrey V. Elsukov <ae@FreeBSD.org>

Do not print "ip6" keyword in print_icmp6types() for O_ICMP6TYPE opcode.

It produces incompatibility when rules listing is used again to
restore saved ruleset, because "ip6" keyword produces separate opcode.
The kernel already has the check and only IPv6 packets will be checked
for matching.

PR: 232939
MFC after: 3 days


# 880d3c76 03-Nov-2018 Andrey V. Elsukov <ae@FreeBSD.org>

Do not use bzero() for the O_ICMP6TYPE opcode.

The buffer is already zeroed in compile_rule() function, and also it
may contain configured F_NOT flag in o.len field. This fixes the filling
for "not icmp6types" opcode.

PR: 232939
MFC after: 3 days


# 0f71e509 12-Apr-2018 Andrey V. Elsukov <ae@FreeBSD.org>

Fix indenting in ipv6.c file, use tabs instead of mixing tabs and spaces.

MFC after: 1 week


# bd32e335 12-Apr-2018 Andrey V. Elsukov <ae@FreeBSD.org>

Remove printing of "not" keyword from print_ip6() function.

After r331668 handling of F_NOT flag done in one place by
print_instruction() function. Also remove unused argument from
print_ip[6]() functions.

MFC after: 1 week


# 33d72c30 20-Dec-2017 Pedro F. Giffuni <pfg@FreeBSD.org>

Revert r327005 - SPDX tags for license similar to BSD-2-Clause.

After consultation with SPDX experts and their matching guidelines[1],
the licensing doesn't exactly match the BSD-2-Clause. It yet remains to be
determined if they are equivalent or if there is a recognized license that
matches but it is safer to just revert the tags.

Let this also be a reminder that on FreeBSD, SPDX tags are only advisory
and have no legal value (but IANAL).

Pointyhat to: pfg
Thanks to: Rodney Grimes, Gary O'Neall

[1] https://spdx.org/spdx-license-list/matching-guidelines


# d17aef79 19-Dec-2017 Pedro F. Giffuni <pfg@FreeBSD.org>

SPDX: These are fundamentally BSD-2-Clause.

They just omit the introductory line and numbering.


# 247cea8f 23-Apr-2017 Marius Strobl <marius@FreeBSD.org>

In fill_ip6(), the value of the pointer av changes before it is
free(3)ed. Thus, introduce a new variable to track the original
value.

Submitted by: Tom Rix
Differential Revision: https://reviews.freebsd.org/D9962


# 757b5d87 15-Nov-2016 Andrey V. Elsukov <ae@FreeBSD.org>

Add missing support of named lookup tables to the IPv6 code.

PR: 214419
MFC after: 1 week
Sponsored by: Yandex LLC


# 23b93085 18-Oct-2016 Andrey V. Elsukov <ae@FreeBSD.org>

Add support for non-contiguous IPv6 masks in ipfw(8) rules.

For example fe::640:0:0/ffff::ffff:ffff:0:0 will match
addresses fe:*:*:*:0:640:*:*

Submitted by: Eugene Mamchits <mamchits at yandex-team dot ru>
Obtained from: Yandex LLC
MFC after: 2 weeks
Sponsored by: Yandex LLC


# b68ac800 30-Apr-2016 Pedro F. Giffuni <pfg@FreeBSD.org>

sbin: minor spelling fixes.

No functional change.


# 7b34dbe4 14-Apr-2016 Andrey V. Elsukov <ae@FreeBSD.org>

Fix output formatting of O_UNREACH6 opcode.

Obtained from: Yandex LLC


# 912430f6 23-Aug-2014 Alexander V. Chernikov <melifaro@FreeBSD.org>

Merge buffer-printing changes from from projects/ipfw as preparation
for branch merge.

Requested by: luigi


# 4df4dada 12-Aug-2014 Alexander V. Chernikov <melifaro@FreeBSD.org>

Move one step further towards libipfw: convert show_static_rule() to
bpprint-output style, so one can now output human-readable rule
representation to preallocated buffer.


# 579ed7bd 03-Mar-2013 Alexander V. Chernikov <melifaro@FreeBSD.org>

Implement buffer size checking in ipfw(8) add cmd.

PR: bin/65961
Submitted by: Eugene Grosbein <eugen@grosbein.pp.ru>
MFC after: 2 weeks


# 26dd5068 24-Sep-2012 Alexander V. Chernikov <melifaro@FreeBSD.org>

Whitespace fixes

MFC after: 2 weeks


# 7e00325d 24-Sep-2012 Alexander V. Chernikov <melifaro@FreeBSD.org>

Permit table to be used as IPv6 address.

Reported by: Serhiy Popov <sergiuspso@ukr.net>
MFC after: 2 weeks


# 5221106c 18-Apr-2011 Gleb Smirnoff <glebius@FreeBSD.org>

Whitespace fixes.

Checked with: md5, diff -w


# a7d5f7eb 19-Oct-2010 Jamie Gritton <jamie@FreeBSD.org>

A new jail(8) with a configuration file, to replace the work currently done
by /etc/rc.d/jail.


# fe0506d7 09-Mar-2010 Marcel Moolenaar <marcel@FreeBSD.org>

Create the altix project branch. The altix project will add support
for the SGI Altix 350 to FreeBSD/ia64. The hardware used for porting
is a two-module system, consisting of a base compute module and a
CPU expansion module. SGI's NUMAFlex architecture can be an excellent
platform to test CPU affinity and NUMA-aware features in FreeBSD.


# ead75a59 26-Jan-2009 Luigi Rizzo <luigi@FreeBSD.org>

Put nat and ipv6 support in their own files.

Usual moving of code with no changes from ipfw2.c to the
newly created files, and addition of prototypes to ipfw2.h

I have added forward declarations for ipfw_insn_* in ipfw2.h
to avoid a global dependency on ip_fw.h