diff --git a/INSTALL b/INSTALL index 60e194ad..d6340bf3 100755 --- a/INSTALL +++ b/INSTALL @@ -2,7 +2,7 @@ See https://nicmx.github.io/Jool/en/install.html Quick version: - ./autogen.sh # If this script does not exist, skip this command. + ./autogen.sh # If this script does not exist, skip it. ./configure make sudo make install # userspace tools diff --git a/configure.ac b/configure.ac index a2dd366e..ab5dc51a 100644 --- a/configure.ac +++ b/configure.ac @@ -2,7 +2,7 @@ # Process this file with autoconf to produce a configure script. AC_PREREQ([2.68]) -AC_INIT([Jool], [4.1.12], [ydahhrk@gmail.com]) +AC_INIT([Jool], [4.1.13], [ydahhrk@gmail.com]) AC_CONFIG_SRCDIR([src/common/xlat.h]) AM_INIT_AUTOMAKE([subdir-objects]) LT_PREREQ([2.4.6]) diff --git a/docs/_config.yml b/docs/_config.yml index 25c19ec1..99e3fdb1 100644 --- a/docs/_config.yml +++ b/docs/_config.yml @@ -1,7 +1,7 @@ markdown: kramdown baseurl: /Jool repository-url: https://github.com/NICMx/Jool -latest-version: 4.1.12 +latest-version: 4.1.13 rfc-siit: https://tools.ietf.org/html/rfc7915 draft-siit-eam: https://tools.ietf.org/html/rfc7757 diff --git a/docs/en/download.md b/docs/en/download.md index b7611903..e4488e2a 100644 --- a/docs/en/download.md +++ b/docs/en/download.md @@ -12,26 +12,16 @@ url-dl: https://github.com/NICMx/Jool/releases/download - Normal font signals recommended fallback versions in case the previous option fails you ([bug reports welcomed]({{ site.repository-url }}/issues)). - Striked versions are not recommended (either because they're too old or have known critical bugs). -## 4.2.x - -Jool 4.2 is a compliant SIIT, Stateful NAT64 and MAP-T. - -| Release Date | Version | .tar.gz | .tar.gz Signature | Git commit | .deb | -|--------------|---------|---------|-------------------|------------|------| -| 2021-02-19 | 4.2.0-rc2 | [Download]({{ page.url-dl }}/v4.2.0-rc2/jool-4.2.0.rc2.tar.gz) | [Signature]({{ page.url-dl }}/v4.2.0-rc2/jool-4.2.0.rc2.tar.gz.asc) | Link | [Kernel modules]({{ page.url-dl }}/v4.2.0-rc2/jool-dkms_4.2.0.rc2-1_all.deb)
[Userspace tools]({{ page.url-dl }}/v4.2.0-rc2/jool-tools_4.2.0.rc2-1_amd64.deb) (amd64 only) | -| 2020-12-24 | 4.2.0-rc1 | [Download]({{ page.url-dl }}/v4.2.0-rc1/jool-4.2.0.rc1.tar.gz) | [Signature]({{ page.url-dl }}/v4.2.0-rc1/jool-4.2.0.rc1.tar.gz.asc) | Link | [Kernel modules]({{ page.url-dl }}/v4.2.0-rc1/jool-dkms_4.2.0.rc1-1_all.deb)
[Userspace tools]({{ page.url-dl }}/v4.2.0-rc1/jool-tools_4.2.0.rc1-1_amd64.deb) (amd64 only) | - -"rc" stands for "Release Candidate." - ## 4.1.x Jool 4.1 is a [compliant SIIT and Stateful NAT64](intro-jool.html#compliance). -Currently, 4.1.12 is the most mature version of Jool. +Currently, 4.1.13 is the most mature version of Jool. | Release Date | Version | .tar.gz | .tar.gz Signature | Git commit | .deb | |--------------|---------|---------|-------------------|------------|------| -| 2024-06-22 | **4.1.12** | [Download]({{ page.url-dl }}/v4.1.12/jool-4.1.12.tar.gz) | [Signature]({{ page.url-dl }}/v4.1.12/jool-4.1.12.tar.gz.asc) | Link | [Kernel modules]({{ page.url-dl }}/v4.1.12/jool-dkms_4.1.12-1_all.deb)
[Userspace tools]({{ page.url-dl }}/v4.1.12/jool-tools_4.1.12-1_amd64.deb) (amd64 only) | +| 2024-08-23 | **4.1.13** | [Download]({{ page.url-dl }}/v4.1.13/jool-4.1.13.tar.gz) | [Signature]({{ page.url-dl }}/v4.1.13/jool-4.1.13.tar.gz.asc) | Link | [Kernel modules]({{ page.url-dl }}/v4.1.13/jool-dkms_4.1.13-1_all.deb)
[Userspace tools]({{ page.url-dl }}/v4.1.13/jool-tools_4.1.13-1_amd64.deb) (amd64 only) | +| 2024-06-22 | 4.1.12 | [Download]({{ page.url-dl }}/v4.1.12/jool-4.1.12.tar.gz) | [Signature]({{ page.url-dl }}/v4.1.12/jool-4.1.12.tar.gz.asc) | Link | [Kernel modules]({{ page.url-dl }}/v4.1.12/jool-dkms_4.1.12-1_all.deb)
[Userspace tools]({{ page.url-dl }}/v4.1.12/jool-tools_4.1.12-1_amd64.deb) (amd64 only) | | 2023-12-22 | 4.1.11 | [Download]({{ page.url-dl }}/v4.1.11/jool-4.1.11.tar.gz) | [Signature]({{ page.url-dl }}/v4.1.11/jool-4.1.11.tar.gz.asc) | Link | [Kernel modules]({{ page.url-dl }}/v4.1.11/jool-dkms_4.1.11-1_all.deb)
[Userspace tools]({{ page.url-dl }}/v4.1.11/jool-tools_4.1.11-1_amd64.deb) (amd64 only) | | 2023-06-11 | 4.1.10 | [Download]({{ page.url-dl }}/v4.1.10/jool-4.1.10.tar.gz) | [Signature]({{ page.url-dl }}/v4.1.10/jool-4.1.10.tar.gz.asc) | Link | [Kernel modules]({{ page.url-dl }}/v4.1.10/jool-dkms_4.1.10-1_all.deb)
[Userspace tools]({{ page.url-dl }}/v4.1.10/jool-tools_4.1.10-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) | Link | [Kernel modules]({{ page.url-dl }}/v4.1.9/jool-dkms_4.1.9-1_all.deb)
[Userspace tools]({{ page.url-dl }}/v4.1.9/jool-tools_4.1.9-1_amd64.deb) (amd64 only) | @@ -47,3 +37,13 @@ Currently, 4.1.12 is the most mature version of Jool. My public key is on [Github](https://github.com/ydahhrk.gpg). +## 4.2.x + +Jool 4.2 is a compliant SIIT, Stateful NAT64 and MAP-T. + +| Release Date | Version | .tar.gz | .tar.gz Signature | Git commit | .deb | +|--------------|---------|---------|-------------------|------------|------| +| 2021-02-19 | 4.2.0-rc2 | [Download]({{ page.url-dl }}/v4.2.0-rc2/jool-4.2.0.rc2.tar.gz) | [Signature]({{ page.url-dl }}/v4.2.0-rc2/jool-4.2.0.rc2.tar.gz.asc) | Link | [Kernel modules]({{ page.url-dl }}/v4.2.0-rc2/jool-dkms_4.2.0.rc2-1_all.deb)
[Userspace tools]({{ page.url-dl }}/v4.2.0-rc2/jool-tools_4.2.0.rc2-1_amd64.deb) (amd64 only) | +| 2020-12-24 | 4.2.0-rc1 | [Download]({{ page.url-dl }}/v4.2.0-rc1/jool-4.2.0.rc1.tar.gz) | [Signature]({{ page.url-dl }}/v4.2.0-rc1/jool-4.2.0.rc1.tar.gz.asc) | Link | [Kernel modules]({{ page.url-dl }}/v4.2.0-rc1/jool-dkms_4.2.0.rc1-1_all.deb)
[Userspace tools]({{ page.url-dl }}/v4.2.0-rc1/jool-tools_4.2.0.rc1-1_amd64.deb) (amd64 only) | + +"rc" stands for "Release Candidate." diff --git a/docs/en/index.md b/docs/en/index.md index 534ca2de..fb49e0ce 100644 --- a/docs/en/index.md +++ b/docs/en/index.md @@ -22,18 +22,24 @@ 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.12](download.html#41x). -- The second release candidate for version [4.2.0](download.html#42x) is also available now. +- The most mature version is [4.1.13](download.html#41x). - **jool.mx is no longer maintained. Please use https://nicmx.github.io/Jool instead.** ------------------- ## Latest News -### 2024-06-22 +### 2024-08-23 -Version 4.1.12 has been released. Bugfixes: +Version 4.1.13 has been released. Bugfixes: -- [#410](https://github.com/NICMx/Jool/issues/410): Fix several joold bugs. Also, add [joold stats](config-joold.html#stats-server-port). -- Add [support](intro-jool.html#compatibility) for kernels 6.8, 6.9, 6.10(-rc4), RHEL 8.10 and 9.4. (No changes needed.) -- Patch some rust in the ["graybox" testing framework](https://github.com/NICMx/Jool/tree/main/test/graybox). +- [#410](https://github.com/NICMx/Jool/issues/410): + 1. Move `joold` to [`jool session proxy`](usr-flags-session.html#proxy) + 2. Move `jool joold advertise` to [`jool session advertise`](usr-flags-session.html#advertise) +- [Debian#1074120](https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1074120): Fix implementation of kernel modules' `make distclean` +- [#421](https://github.com/NICMx/Jool/issues/421): [`jool session follow`](usr-flags-session.html#follow) +- [#422](https://github.com/NICMx/Jool/pull/422): Patch compilation on 32-bit architectures +- [e8c49da](https://github.com/NICMx/Jool/commit/e8c49daaa5ae2fc5e75ad4bf7079b815775f1a50): Allow pool6 with prefix length ≠ 96 on joold +- [78812d6](https://github.com/NICMx/Jool/commit/78812d66d5b1b7e3ae767b24a1e12bd9dc5b2eab): Deprecate and no-op `--ss-flush-asap` +- [80760bb](https://github.com/NICMx/Jool/commit/80760bbc6e972cad0ea3ecff7d6452077b0222f4): Stop the userspace client from killing itself when the kernel module sends an unknown stat +- [5150753](https://github.com/NICMx/Jool/commit/51507535de7d621263544237485bed3085ae3643): Drop `XTABLES_DISABLED`. (The kernel module now automatically detects whether the kernel was compiled with xtables support. The userspace client still needs to be told with `./configure --with-xtables=no`.) diff --git a/docs/en/intro-jool.md b/docs/en/intro-jool.md index 5baa4bc9..7828eab5 100644 --- a/docs/en/intro-jool.md +++ b/docs/en/intro-jool.md @@ -48,19 +48,12 @@ 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 }}),
[4.1.12](download.html#41x) | 4.19 - 4.20,
5.0 - 5.19,
6.0 - 6.10(-rc4) | RHEL 8.9 - 8.10,
RHEL 9.0 - 9.4 | +| [main]({{ site.repository-url }}),
[4.1.13](download.html#41x) | 5.15 - 5.19*,
6.0 - 6.11(-rc2) | RHEL 9.0 - 9.4* | +| [4.1.12](download.html#41x) | 4.19 - 4.20,
5.0 - 5.19,
6.0 - 6.10 | RHEL 8.9 - 8.10,
RHEL 9.0 - 9.4 | | [4.1.11](download.html#41x) | 4.18 - 4.20,
5.0 - 5.19,
6.0 - 6.7 | RHEL 8.6 - 8.9,
RHEL 9.0 - 9.3 | | [4.1.10](download.html#41x) | 4.14 - 4.20,
5.0 - 5.19,
6.0 - 6.3 | RHEL 8.6 - 8.7,
RHEL 9.0 - 9.3 | | [4.1.9](download.html#41x) | 4.9 - 4.20,
5.0 - 5.19,
6.0 - 6.1 | RHEL 8.6 - 8.7,
RHEL 9.0 - 9.1 | | [4.1.8](download.html#41x) | 4.9 - 4.20,
5.0 - 5.16 | RHEL 8.5 | -| [4.1.6](download.html#41x),
[4.1.7](download.html#41x) | 4.4 - 4.20,
5.0 - 5.15 | RHEL 8.5 | -| [4.1.5](download.html#41x) | 3.16 - 3.19,
4.0 - 4.20,
5.0 - 5.11 | RHEL 7.6 - RHEL 7.7,
RHEL 8.0 | -| [4.1.3](download.html#41x),
[4.1.4](download.html#41x) | 3.16 - 3.19,
4.0 - 4.20,
5.0 - 5.9 | RHEL 7.6 - RHEL 7.7,
RHEL 8.0 | -| [4.1.2](download.html#41x) | 3.16 - 3.19,
4.0 - 4.20,
5.0 - 5.7 | RHEL 7.6 - RHEL 7.7,
RHEL 8.0 | -| [4.1.1](download.html#41x),
[4.1.0](download.html#41x) | 3.16 - 3.19,
4.0 - 4.20,
5.0 - 5.7 | RHEL 7.6 - RHEL 7.7,
[RHEL 8.0](https://github.com/NICMx/Jool/issues/334) | -| [4.0.9](download.html#40x) | 3.13 - 3.19,
4.0 - 4.20,
5.0 - 5.6 | RHEL 7.0 - RHEL 7.7,
[RHEL 8.0](https://github.com/NICMx/Jool/issues/334) | -| [4.0.8](download.html#40x) | 3.13 - 3.19,
4.0 - 4.20,
5.0 - 5.5 | RHEL 7.0 - RHEL 7.7,
[RHEL 8.0](https://github.com/NICMx/Jool/issues/334) | -| [4.0.7](download.html#40x) | 3.13 - 3.19,
4.0 - 4.20,
5.0 - 5.4 | RHEL 7.0 - RHEL 7.7,
[RHEL 8.0](https://github.com/NICMx/Jool/issues/334) | If you're using a non-RHEL distribution (eg. Debian derivatives), execute `uname -r` to print the kernel version you're running. Suffixes rarely matter. Here's an example from my running machine, which states that my running kernel is 4.15: @@ -69,12 +62,12 @@ If you're using a non-RHEL distribution (eg. Debian derivatives), execute `uname RHEL-based distributions (such as Red Hat and CentOS) do not follow the normal kernel versioning conventions; use the third column instead. +* Jool 4.1.13 still probably compiles and runs fine in kernels 4.19 to 5.14 (and RHEL 8), but I have lost the ability to test them to the merciless and everlasting ravage of entropy. If you're interested in any particular kernel, try running the test suite yourself: [1](https://github.com/NICMx/Jool/tree/main/test/unit), [2](https://github.com/NICMx/Jool/tree/main/test/graybox). + ## Design A Jool instance can be attached to one of two different traffic-intercepting, plugin-enabling, kernel-based frameworks: _Netfilter_ and _iptables_. Despite some documentation out there, these two are not the same thing; at least not from Jool's point of view. -> ![Note!](../images/bulb.svg) Yes, we know we're supposed to add nftables support, but it's going to be a lot of work, and so it's tentatively scheduled to come out in late 2021. - ### Netfilter _Netfilter_ is a bunch of [hooks](http://www.netfilter.org/documentation/HOWTO/netfilter-hacking-HOWTO-3.html) (`PREROUTING`, `LOCALIN`, `FORWARD`, `LOCALOUT` and `POSTROUTING`) in the Linux kernel where modules can inject code. Whenever a packet reaches a hook, the kernel runs it through all the corresponding registered modules. Netfilter Jool instances hook themselves to `PREROUTING` and as such intercept all incoming traffic ("pre"vious to "routing") with the intent of translating it. diff --git a/src/common/xlat.h b/src/common/xlat.h index fb0e9892..f7493b3c 100644 --- a/src/common/xlat.h +++ b/src/common/xlat.h @@ -9,8 +9,8 @@ */ #define JOOL_VERSION_MAJOR 4 #define JOOL_VERSION_MINOR 1 -#define JOOL_VERSION_REV 12 -#define JOOL_VERSION_DEV 1 +#define JOOL_VERSION_REV 13 +#define JOOL_VERSION_DEV 0 /** See http://stackoverflow.com/questions/195975 */ #define STR_VALUE(arg) #arg diff --git a/src/usr/joold/joold.8 b/src/usr/joold/joold.8 index d1805716..3cabef6f 100644 --- a/src/usr/joold/joold.8 +++ b/src/usr/joold/joold.8 @@ -1,6 +1,6 @@ .\" Manpage for jool's session synchronization daemon. -.TH joold 8 2024-06-22 v4.1.12 "NAT64 Jool's Session Synchronization Daemon" +.TH joold 8 2024-08-23 v4.1.13 "NAT64 Jool's Session Synchronization Daemon" .SH NAME joold - Userspace Session Synchronization (SS) daemon for NAT64 Jool. diff --git a/src/usr/nat64/jool.8 b/src/usr/nat64/jool.8 index 2260ff7c..4187fb9a 100644 --- a/src/usr/nat64/jool.8 +++ b/src/usr/nat64/jool.8 @@ -1,6 +1,6 @@ .\" Manpage for jool's userspace app. -.TH jool 8 2024-06-22 v4.1.12 "NAT64 Jool's Userspace Client" +.TH jool 8 2024-08-23 v4.1.13 "NAT64 Jool's Userspace Client" .SH NAME jool - Interact with NAT64 Jool (the kernel module). diff --git a/src/usr/siit/jool_siit.8 b/src/usr/siit/jool_siit.8 index 3da6f7f6..51f098ea 100644 --- a/src/usr/siit/jool_siit.8 +++ b/src/usr/siit/jool_siit.8 @@ -1,6 +1,6 @@ .\" Manpage for jool's userspace app. -.TH jool_siit 8 2024-06-22 v4.1.12 "SIIT Jool's Userspace Client" +.TH jool_siit 8 2024-08-23 v4.1.13 "SIIT Jool's Userspace Client" .SH NAME jool_siit - Interact with SIIT Jool (the kernel module).