Skip to content

Commit

Permalink
Protocolary updates for release 4.1.9
Browse files Browse the repository at this point in the history
  • Loading branch information
ydahhrk committed Jan 26, 2023
1 parent 0b5952e commit 7831ff3
Show file tree
Hide file tree
Showing 18 changed files with 52 additions and 54 deletions.
2 changes: 1 addition & 1 deletion Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -41,4 +41,4 @@ DIST_SUBDIRS = src/common src/mod src/usr
# Needed by libtoolize. (Othewise autoreconf complains.)
ACLOCAL_AMFLAGS=-I m4

EXTRA_DIST=dkms.conf LICENSE README.md
EXTRA_DIST=dkms.conf README.md
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@ You might also want to see [contact info](https://nicmx.github.io/Jool/en/contac

```
Jool - SIIT and NAT64 for Linux
Copyright (C) 2022 NIC Mexico <[email protected]>
Copyright (C) 2023 NIC Mexico <[email protected]>
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
Expand Down
2 changes: 1 addition & 1 deletion configure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
# Process this file with autoconf to produce a configure script.

AC_PREREQ([2.68])
AC_INIT([Jool], [4.1.8], [[email protected]])
AC_INIT([Jool], [4.1.9], [[email protected]])
AC_CONFIG_SRCDIR([src/common/xlat.h])
AM_INIT_AUTOMAKE([subdir-objects])
LT_PREREQ([2.4.6])
Expand Down
2 changes: 1 addition & 1 deletion docs/_config.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
markdown: kramdown
baseurl: /Jool
repository-url: https://github.com/NICMx/Jool
latest-version: 4.1.8
latest-version: 4.1.9

rfc-siit: https://tools.ietf.org/html/rfc7915
draft-siit-eam: https://tools.ietf.org/html/rfc7757
Expand Down
2 changes: 1 addition & 1 deletion docs/_layouts/default.html
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@
<div id="footer">
<div class="logo-tec"><a href="http://www.itesm.mx"><img src="../images/logo-tec.png" alt="logo-tec" /></a></div>
<div class="logo-nic"><a href="http://www.nicmexico.mx/"><img src="../images/logo-nic.png" alt="logo-nic" /></a></div>
<p class="legal">&copy;Jool 2022&nbsp; &#124; &nbsp; <a href="../doc/AP_Jool.pdf" style="color:white;">Privacy Notice</a>&nbsp; &#124; &nbsp; <a href="../doc/20180123_TU_Jool.pdf" style="color:white;">Terms of Use</a></p>
<p class="legal">&copy;Jool 2023&nbsp; &#124; &nbsp; <a href="../doc/AP_Jool.pdf" style="color:white;">Privacy Notice</a>&nbsp; &#124; &nbsp; <a href="../doc/20180123_TU_Jool.pdf" style="color:white;">Terms of Use</a></p>
</div>
</body>
</html>
5 changes: 3 additions & 2 deletions docs/en/download.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,11 +27,12 @@ Jool 4.2 is a compliant SIIT, Stateful NAT64 and MAP-T.

Jool 4.1 is a [compliant SIIT and Stateful NAT64](intro-jool.html#compliance).

Currently, 4.1.8 is the most mature version of Jool.
Currently, 4.1.9 is the most mature version of Jool.

| Release Date | Version | .tar.gz | .tar.gz Signature | Git commit | .deb |
|--------------|---------|---------|-------------------|------------|------|
| 2022-03-20 | **4.1.8** | [Download]({{ page.url-dl }}/v4.1.8/jool-4.1.8.tar.gz) | [Signature]({{ page.url-dl }}/v4.1.8/jool-4.1.8.tar.gz.asc) | <a href="{{ site.repository-url }}/tree/v4.1.8" target="_blank">Link</a> | [Kernel modules]({{ page.url-dl }}/v4.1.8/jool-dkms_4.1.8-1_all.deb)<br />[Userspace tools]({{ page.url-dl }}/v4.1.8/jool-tools_4.1.8-1_amd64.deb) (amd64 only) |
| 2023-01-25 | **4.1.9** | [Download]({{ page.url-dl }}/v4.1.9/jool-4.1.9.tar.gz) | [Signature]({{ page.url-dl }}/v4.1.9/jool-4.1.9.tar.gz.asc) | <a href="{{ site.repository-url }}/tree/v4.1.9" target="_blank">Link</a> | [Kernel modules]({{ page.url-dl }}/v4.1.9/jool-dkms_4.1.9-1_all.deb)<br />[Userspace tools]({{ page.url-dl }}/v4.1.9/jool-tools_4.1.9-1_amd64.deb) (amd64 only) |
| 2022-03-20 | 4.1.8 | [Download]({{ page.url-dl }}/v4.1.8/jool-4.1.8.tar.gz) | [Signature]({{ page.url-dl }}/v4.1.8/jool-4.1.8.tar.gz.asc) | <a href="{{ site.repository-url }}/tree/v4.1.8" target="_blank">Link</a> | [Kernel modules]({{ page.url-dl }}/v4.1.8/jool-dkms_4.1.8-1_all.deb)<br />[Userspace tools]({{ page.url-dl }}/v4.1.8/jool-tools_4.1.8-1_amd64.deb) (amd64 only) |
| 2022-01-27 | <del>4.1.7</del> | [Download]({{ page.url-dl }}/v4.1.7/jool-4.1.7.tar.gz) | [Signature]({{ page.url-dl }}/v4.1.7/jool-4.1.7.tar.gz.asc) | <a href="{{ site.repository-url }}/tree/v4.1.7" target="_blank">Link</a> | [Kernel modules]({{ page.url-dl }}/v4.1.7/jool-dkms_4.1.7-1_all.deb)<br />[Userspace tools]({{ page.url-dl }}/v4.1.7/jool-tools_4.1.7-1_amd64.deb) (amd64 only) |
| 2021-12-10 | <del>4.1.6</del> | [Download]({{ page.url-dl }}/v4.1.6/jool-4.1.6.tar.gz) | [Signature]({{ page.url-dl }}/v4.1.6/jool-4.1.6.tar.gz.asc) | <a href="{{ site.repository-url }}/tree/v4.1.6" target="_blank">Link</a> | [Kernel modules]({{ page.url-dl }}/v4.1.6/jool-dkms_4.1.6-1_all.deb)<br />[Userspace tools]({{ page.url-dl }}/v4.1.6/jool-tools_4.1.6-1_amd64.deb) (amd64 only) |
| 2021-02-19 | <del>4.1.5</del> | [Download]({{ page.url-dl }}/v4.1.5/jool-4.1.5.tar.gz) | [Signature]({{ page.url-dl }}/v4.1.5/jool-4.1.5.tar.gz.asc) | <a href="{{ site.repository-url }}/tree/v4.1.5" target="_blank">Link</a> | [Kernel modules]({{ page.url-dl }}/v4.1.5/jool-dkms_4.1.5-1_all.deb)<br />[Userspace tools]({{ page.url-dl }}/v4.1.5/jool-tools_4.1.5-1_amd64.deb) (amd64 only) |
Expand Down
39 changes: 9 additions & 30 deletions docs/en/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,42 +22,21 @@ Jool is an Open Source [SIIT and NAT64](intro-xlat.html) for Linux.

> ![Warning](../images/warning.svg) The project's development has slowed down to essential maintenance. Bugfixing and support will remain active, but there will be no new features in the foreseeable future.
- The most mature version is [4.1.8](download.html#41x).
- The most mature version is [4.1.9](download.html#41x).
- The second release candidate for version [4.2.0](download.html#42x) is also available now.
- **jool.mx is no longer maintained. Please use https://nicmx.github.io/Jool instead.**

-------------------

## Survey

<iframe src="https://docs.google.com/forms/d/e/1FAIpQLSdeqszHfo-vjQY2uG4mZC3cIy1wQVg5BBs0zUPA5ZuA96Li4w/viewform?embedded=true" width="640" height="560" frameborder="0" marginheight="0" marginwidth="0">Loading…</iframe>

-------------------

## Latest News

### 2022-03-20

Version 4.1.8 has been released.

- [#366](https://github.com/NICMx/Jool/issues/366), [#375](https://github.com/NICMx/Jool/issues/375): Fix checksums in Slow Path.
This is a fairly critical bug; please upgrade. It affects packets that fulfill the following conditions:
- IPv4-to-IPv6
- Not ICMP error
- Incoming packet's DF was disabled
- Packet was large, or GRO-aggregated
- Add validation to more verbosely reject IPv6 packets that contain more than one fragment header.
- Add validation to more verbosely reject fragmented (and not reassembled by `nf_defrag_ipv*`) ICMP errors.
(Aside from being fairly illegal, these packets cannot be translated because the "ICMPv6 length" of the [ICMP pseudoheader](https://en.wikipedia.org/wiki/Internet_Control_Message_Protocol_for_IPv6#Checksum) is unknown.)
- Bugfix: When routing TCP/UDP fragments, the code was including header ports even though nonzero fragment-offset packets lack TCP/UDP headers.
This bug probably doesn't affect you, unless your routing is somehow port-based.

Also, please consider answering the [survey above](#survey).

### 2022-05-09

jool.mx has been abandoned. It still exists, but I cannot update it anymore. Please use https://nicmx.github.io/Jool instead.
### 2023-01-25

**Jool 4.1.8 was released over a month ago. Please upgrade; 4.1.7 has an [important bug](https://github.com/NICMx/Jool/issues/366).**
Version 4.1.9 has been released. Bugfixes:

Also, please consider answering the [survey](#survey).
- [#347](https://github.com/NICMx/Jool/issues/347): Allow new Jool binaries to interact with other binaries sharing the same major and minor number versions.
- [#378](https://github.com/NICMx/Jool/issues/378): Fix randomly incomplete `stats display` table print.
- [#379](https://github.com/NICMx/Jool/issues/379), [#380](https://github.com/NICMx/Jool/issues/380), [#395](https://github.com/NICMx/Jool/issues/395): Add support for kernels 5.17, 5.18, 5.19, 6.0, 6.1, RHEL8.6, RHEL8.7, RHEL9.0 and RHEL9.1. Drop support for RHEL8.5.
- [#388](https://github.com/NICMx/Jool/issues/388), [#389](https://github.com/NICMx/Jool/issues/389): Fix sample atomic configuration in the documentation.
- [#391](https://github.com/NICMx/Jool/issues/391), [#392](https://github.com/NICMx/Jool/issues/392): Update OpenWRT installation documentation.
- [#396](https://github.com/NICMx/Jool/issues/396): Allow (and fix during translation, adding mandated padding) ICMP errors containing both ICMP extensions and internal packets measuring less than 128 bytes.
3 changes: 2 additions & 1 deletion docs/en/intro-jool.md
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,8 @@ Please [let us know]({{ site.repository-url }}/issues) if you find additional co

| Jool version | Supported Linux kernels (mainline) | Supported Linux kernels (RHEL) |
|-------------------------------------|--------------------------------------|--------------------------------|
| [main]({{ site.repository-url }}),<br />[4.1.8](download.html#41x) | 4.9 - 4.20,<br />5.0 - 5.16 | RHEL 8.5 |
| [main]({{ site.repository-url }}),<br />[4.1.9](download.html#41x) | 4.9 - 4.20,<br />5.0 - 5.19,<br />6.0 - 6.1 | RHEL 8.6 - 8.7,<br />RHEL 9.0 - 9.1 |
| [4.1.8](download.html#41x) | 4.9 - 4.20,<br />5.0 - 5.16 | RHEL 8.5 |
| [4.1.6](download.html#41x),<br />[4.1.7](download.html#41x) | 4.4 - 4.20,<br />5.0 - 5.15 | RHEL 8.5 |
| [4.1.5](download.html#41x) | 3.16 - 3.19,<br />4.0 - 4.20,<br />5.0 - 5.11 | RHEL 7.6 - RHEL 7.7,<br />RHEL 8.0 |
| [4.1.3](download.html#41x),<br />[4.1.4](download.html#41x) | 3.16 - 3.19,<br />4.0 - 4.20,<br />5.0 - 5.9 | RHEL 7.6 - RHEL 7.7,<br />RHEL 8.0 |
Expand Down
4 changes: 2 additions & 2 deletions src/common/xlat.h
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@
*/
#define JOOL_VERSION_MAJOR 4
#define JOOL_VERSION_MINOR 1
#define JOOL_VERSION_REV 8
#define JOOL_VERSION_DEV 1
#define JOOL_VERSION_REV 9
#define JOOL_VERSION_DEV 0

/** See http://stackoverflow.com/questions/195975 */
#define STR_VALUE(arg) #arg
Expand Down
2 changes: 1 addition & 1 deletion src/mod/common/db/pool4/db.c
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#include "db.h"
#include "mod/common/db/pool4/db.h"

#include <linux/hash.h>
#include <linux/list.h>
Expand Down
2 changes: 1 addition & 1 deletion src/mod/common/rfc7915/4to6.c
Original file line number Diff line number Diff line change
Expand Up @@ -1342,7 +1342,7 @@ static __be16 get_dst_port46(struct xlation *state)
/*
* Computes the L4 checksum from scratch for Slow Path packet @out.
*/
static __wsum skb_list_csum(struct sk_buff *out, __u8 proto)
static __sum16 skb_list_csum(struct sk_buff *out, __u8 proto)
{
struct sk_buff *skb;
__wsum csum;
Expand Down
2 changes: 1 addition & 1 deletion src/mod/common/rtrie.c
Original file line number Diff line number Diff line change
Expand Up @@ -652,7 +652,7 @@ static void print_node(struct rtrie_node *node, unsigned int level)
*
* This function is recursive. Do not use in production code.
*/
void rtrie_print(char *prefix, struct rtrie *trie)
void rtrie_print(char const *prefix, struct rtrie *trie)
{
struct rtrie_node *root;

Expand Down
2 changes: 1 addition & 1 deletion src/mod/common/rtrie.h
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@ void rtrie_clean(struct rtrie *trie);
int rtrie_find(struct rtrie *trie, struct rtrie_key *key, void *result);
bool rtrie_contains(struct rtrie *trie, struct rtrie_key *key);
bool rtrie_is_empty(struct rtrie *trie);
void rtrie_print(char *prefix, struct rtrie *trie);
void rtrie_print(char const *prefix, struct rtrie *trie);

/* Lock-before-using functions. */

Expand Down
2 changes: 1 addition & 1 deletion src/mod/common/xlator.c
Original file line number Diff line number Diff line change
Expand Up @@ -642,7 +642,7 @@ static int check_bib(struct bib_entry const *bib, void *_arg)
return 0;
}

int basic_replace_validations(struct xlator *jool)
static int basic_replace_validations(struct xlator *jool)
{
struct check_bib_arg arg;

Expand Down
6 changes: 3 additions & 3 deletions src/usr/joold/joold.8
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
.\" Manpage for jool's session synchronization daemon.

.TH joold 8 2022-03-20 v4.1.8 "NAT64 Jool's Session Synchronization Daemon"
.TH joold 8 2023-01-25 v4.1.9 "NAT64 Jool's Session Synchronization Daemon"

.SH NAME
joold - Userspace Session Synchronization (SS) daemon for NAT64 Jool.
Expand All @@ -17,7 +17,7 @@ Running the daemons is not enough to have successful session synchronization; SS
.SH AVAILABILITY
Linux is the only OS in which this program makes sense.
.br
Kernels 4.4 and up.
Kernels 4.9 and up.

.SH SYNTAX
.RI "joold [" FILE "]"
Expand Down Expand Up @@ -159,7 +159,7 @@ If you want to mail us instead, use [email protected].
To be perfectly honest, the main reason why fixing this isn't in the radar is because joold is giving me the impression that nobody is using it.

.SH COPYRIGHT
Copyright 2022 NIC Mexico.
Copyright 2023 NIC Mexico.
.br
License: GPLv2 (GNU GPL version 2)
.br
Expand Down
6 changes: 3 additions & 3 deletions src/usr/nat64/jool.8
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
.\" Manpage for jool's userspace app.
.\" Report bugs to [email protected].

.TH jool 8 2022-03-20 v4.1.8 "NAT64 Jool's Userspace Client"
.TH jool 8 2023-01-25 v4.1.9 "NAT64 Jool's Userspace Client"

.SH NAME
jool - Interact with NAT64 Jool (the kernel module).
Expand All @@ -14,7 +14,7 @@ NAT64 Jool is a kernel module you load into a Linux kernel. It implements RFC 61
.SH AVAILABILITY
Linux is the only OS in which this program makes sense.
.br
Kernels 4.4 and up.
Kernels 4.9 and up.

.SH SYNTAX
.RI "jool [" <argp1> "] instance ("
Expand Down Expand Up @@ -415,7 +415,7 @@ Our issue tracker is https://github.com/NICMx/Jool/issues.
If you want to mail us instead, use [email protected].

.SH COPYRIGHT
Copyright 2022 NIC Mexico.
Copyright 2023 NIC Mexico.
.br
License: GPLv2 (GNU GPL version 2)
.br
Expand Down
6 changes: 3 additions & 3 deletions src/usr/siit/jool_siit.8
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
.\" Manpage for jool's userspace app.
.\" Report bugs to [email protected].

.TH jool_siit 8 2022-03-20 v4.1.8 "SIIT Jool's Userspace Client"
.TH jool_siit 8 2023-01-25 v4.1.9 "SIIT Jool's Userspace Client"

.SH NAME
jool_siit - Interact with SIIT Jool (the kernel module).
Expand All @@ -14,7 +14,7 @@ SIIT Jool is a kernel module you load into a Linux kernel. It implements RFC 791
.SH AVAILABILITY
Linux is the only OS in which this program makes sense.
.br
Kernels 4.4 and up.
Kernels 4.9 and up.

.SH SYNTAX
.RI "jool_siit [" <argp1> "] instance ("
Expand Down Expand Up @@ -321,7 +321,7 @@ Our issue tracker is https://github.com/NICMx/Jool/issues.
If you want to mail us instead, use [email protected].

.SH COPYRIGHT
Copyright 2022 NIC Mexico.
Copyright 2023 NIC Mexico.
.br
License: GPLv2 (GNU GPL version 2)
.br
Expand Down
17 changes: 17 additions & 0 deletions test/unit/page/impersonator.c
Original file line number Diff line number Diff line change
@@ -1,7 +1,24 @@
#include "mod/common/dev.h"
#include "mod/common/db/bib/db.h"
#include "mod/common/db/pool4/db.h"
#include "framework/unit_test.h"

int foreach_ifa(struct net *ns, int (*cb)(struct in_ifaddr *, void const *),
void const *args)
{
return 0;
}

int bib_foreach(struct bib *db, l4_protocol proto,
bib_foreach_entry_cb cb, void *cb_arg,
const struct ipv4_transport_addr *offset)
{
return broken_unit_call("bib_foreach");
}

bool pool4db_contains(struct pool4 *pool, struct net *ns, l4_protocol proto,
struct ipv4_transport_addr const *addr)
{
broken_unit_call("pool4db_contains");
return false;
}

0 comments on commit 7831ff3

Please sign in to comment.