├── debian ├── source │ ├── format │ └── lintian-overrides ├── ram-wipe.displace-extension ├── ram-wipe.unhide ├── ram-wipe.install ├── watch ├── rules ├── ram-wipe.triggers ├── control ├── ram-wipe.postinst ├── changelog └── copyright ├── usr ├── lib │ └── dracut │ │ ├── dracut.conf.d │ │ └── 30-ram-wipe.conf │ │ └── modules.d │ │ └── 40ram-wipe │ │ ├── wipe-ram-needshutdown.sh │ │ ├── module-setup.sh │ │ └── wipe-ram.sh ├── share │ ├── ram-wipe │ │ └── placeholder │ └── lintian │ │ └── overrides │ │ └── ram-wipe └── libexec │ └── ram-wipe │ └── ram-wipe-lib.sh ├── CONTRIBUTING.md ├── README_generic.md ├── etc └── default │ └── grub.d │ └── 40_ram-wipe.cfg ├── README.md ├── changelog.upstream └── COPYING /debian/source/format: -------------------------------------------------------------------------------- 1 | 3.0 (quilt) 2 | -------------------------------------------------------------------------------- /debian/ram-wipe.displace-extension: -------------------------------------------------------------------------------- 1 | .dist 2 | -------------------------------------------------------------------------------- /usr/lib/dracut/dracut.conf.d/30-ram-wipe.conf: -------------------------------------------------------------------------------- 1 | add_dracutmodules+=" ram-wipe " 2 | -------------------------------------------------------------------------------- /debian/source/lintian-overrides: -------------------------------------------------------------------------------- 1 | ## https://phabricator.whonix.org/T277 2 | debian-watch-does-not-check-openpgp-signature 3 | -------------------------------------------------------------------------------- /usr/share/ram-wipe/placeholder: -------------------------------------------------------------------------------- 1 | Just a placeholder because config-package-dev will use this folder. 2 | To avoid linting warning: 3 | ram-wipe: package-contains-empty-directory usr/share/ram-wipe/ 4 | -------------------------------------------------------------------------------- /debian/ram-wipe.unhide: -------------------------------------------------------------------------------- 1 | ## Copyright (C) 2023 - 2025 ENCRYPTED SUPPORT LLC 2 | ## See the file COPYING for copying conditions. 3 | 4 | /usr/lib/sysctl.d/30_security-misc_kexec-disable.conf 5 | -------------------------------------------------------------------------------- /debian/ram-wipe.install: -------------------------------------------------------------------------------- 1 | ## Copyright (C) 2020 - 2025 ENCRYPTED SUPPORT LLC 2 | ## See the file COPYING for copying conditions. 3 | 4 | ## This file was generated using 'genmkfile debinstfile'. 5 | 6 | etc/* 7 | usr/* 8 | -------------------------------------------------------------------------------- /usr/share/lintian/overrides/ram-wipe: -------------------------------------------------------------------------------- 1 | ## Copyright (C) 2019 - 2025 ENCRYPTED SUPPORT LLC 2 | ## See the file COPYING for copying conditions. 3 | 4 | ## This is how dracut is still implemented. 5 | ram-wipe: executable-in-usr-lib [usr/lib/dracut/modules.d/40ram-wipe/*] 6 | -------------------------------------------------------------------------------- /debian/watch: -------------------------------------------------------------------------------- 1 | ## Copyright (C) 2012 - 2025 ENCRYPTED SUPPORT LLC 2 | ## See the file COPYING for copying conditions. 3 | 4 | version=4 5 | opts=filenamemangle=s/.+\/v?(\d\S+)\.tar\.gz/ram-wipe-$1\.tar\.gz/ \ 6 | https://github.com/Kicksecure/ram-wipe/tags .*/v?(\d\S+)\.tar\.gz 7 | -------------------------------------------------------------------------------- /debian/rules: -------------------------------------------------------------------------------- 1 | #!/usr/bin/make -f 2 | 3 | ## Copyright (C) 2012 - 2025 ENCRYPTED SUPPORT LLC 4 | ## See the file COPYING for copying conditions. 5 | 6 | #export DH_VERBOSE=1 7 | 8 | %: 9 | dh $@ --with=config-package 10 | 11 | override_dh_installchangelogs: 12 | dh_installchangelogs changelog.upstream upstream 13 | -------------------------------------------------------------------------------- /usr/libexec/ram-wipe/ram-wipe-lib.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ## Copyright (C) 2023 - 2025 ENCRYPTED SUPPORT LLC 4 | ## See the file COPYING for copying conditions. 5 | 6 | ## Based on: 7 | ## /usr/lib/dracut/modules.d/99base/dracut-lib.sh 8 | if [ -z "$DRACUT_SYSTEMD" ]; then 9 | force_echo() { 10 | echo "<28>dracut INFO: $*" > /dev/kmsg 11 | echo "dracut INFO: $*" >&2 12 | } 13 | else 14 | force_echo() { 15 | echo "INFO: $*" >&2 16 | } 17 | fi 18 | -------------------------------------------------------------------------------- /debian/ram-wipe.triggers: -------------------------------------------------------------------------------- 1 | ## Copyright (C) 2019 - 2025 ENCRYPTED SUPPORT LLC 2 | ## See the file COPYING for copying conditions. 3 | 4 | #### meta start 5 | #### project Kicksecure 6 | #### category security 7 | #### description 8 | 9 | ## Trigger 'activate-noawait update-initramfs' also works with both, 10 | ## initramfs-tools as well as dracut. 11 | ## - Activate initramfs hook that sets the sysctl values before init is executed. 12 | ## - dracut modules 13 | activate-noawait update-initramfs 14 | 15 | #### meta end 16 | -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | Conditions for Contributions to Kicksecure 2 | 3 | By contributing to Kicksecure, you acknowledge that you have read, understood and agreed to our Privacy Policy, Cookie Policy, Terms of Service, and E-Sign Consent. 4 | 5 | https://www.kicksecure.com/wiki/Privacy_Policy 6 | 7 | https://www.kicksecure.com/wiki/Cookie_Policy 8 | 9 | https://www.kicksecure.com/wiki/Terms_of_Service 10 | 11 | https://www.kicksecure.com/wiki/E-Sign_Consent 12 | 13 | Conditions for Contributions to Kicksecure are not part of Kicksecure's license. 14 | -------------------------------------------------------------------------------- /usr/lib/dracut/modules.d/40ram-wipe/wipe-ram-needshutdown.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ## Copyright (C) 2023 - 2025 ENCRYPTED SUPPORT LLC 4 | ## Copyright (C) 2023 - 2023 Friedrich Doku 5 | ## See the file COPYING for copying conditions. 6 | 7 | type getarg >/dev/null 2>&1 || . /lib/dracut-lib.sh 8 | 9 | . /lib/ram-wipe-lib.sh 10 | 11 | ram_wipe_check_needshutdown() { 12 | ## 'local' is unavailable in 'sh'. 13 | #local kernel_wiperam_setting 14 | 15 | kernel_wiperam_setting="$(getarg wiperam)" 16 | 17 | if [ "$kernel_wiperam_setting" = "skip" ]; then 18 | force_echo "wipe-ram-needshutdown.sh: Skip, because wiperam=skip kernel parameter detected, OK." 19 | return 0 20 | fi 21 | 22 | true "wipe-ram-needshutdown.sh: Calling dracut function need_shutdown to drop back into initramfs at shutdown, OK." 23 | need_shutdown 24 | 25 | return 0 26 | } 27 | 28 | ram_wipe_check_needshutdown 29 | -------------------------------------------------------------------------------- /usr/lib/dracut/modules.d/40ram-wipe/module-setup.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*- 3 | # ex: ts=8 sw=4 sts=4 et filetype=sh 4 | 5 | ## Copyright (C) 2023 - 2025 ENCRYPTED SUPPORT LLC 6 | ## Copyright (C) 2023 - 2023 Friedrich Doku 7 | ## See the file COPYING for copying conditions. 8 | 9 | # called by dracut 10 | check() { 11 | require_binaries sync || return 1 12 | require_binaries sleep || return 1 13 | require_binaries dmsetup || return 1 14 | return 0 15 | } 16 | 17 | # called by dracut 18 | depends() { 19 | return 0 20 | } 21 | 22 | # called by dracut 23 | install() { 24 | inst_simple "/usr/libexec/ram-wipe/ram-wipe-lib.sh" "/lib/ram-wipe-lib.sh" 25 | inst_multiple sync 26 | inst_multiple sleep 27 | inst_multiple dmsetup 28 | inst_hook shutdown 40 "$moddir/wipe-ram.sh" 29 | inst_hook cleanup 80 "$moddir/wipe-ram-needshutdown.sh" 30 | } 31 | 32 | # called by dracut 33 | installkernel() { 34 | return 0 35 | } 36 | -------------------------------------------------------------------------------- /debian/control: -------------------------------------------------------------------------------- 1 | ## Copyright (C) 2022 - 2025 ENCRYPTED SUPPORT LLC 2 | ## See the file COPYING for copying conditions. 3 | 4 | Source: ram-wipe 5 | Section: misc 6 | Priority: optional 7 | Maintainer: Patrick Schleizer 8 | Build-Depends: debhelper (>= 13.11.6), debhelper-compat (= 13), config-package-dev 9 | Homepage: https://github.com/Kicksecure/ram-wipe 10 | Vcs-Browser: https://github.com/Kicksecure/ram-wipe 11 | Vcs-Git: https://github.com/Kicksecure/ram-wipe.git 12 | Standards-Version: 4.7.2 13 | Rules-Requires-Root: no 14 | 15 | Package: ram-wipe 16 | Architecture: all 17 | ## systemd-cryptsetup: 18 | ## While not a hard dependency in all cases, not having the 19 | ## 'systemd-cryptsetup' package installed while using Full Disk Encryption (FDE) 20 | ## can break the the boot. Those who do not wish to have 'systemd-cryptsetup' 21 | ## installed, can avoid installation by using 'dummy-dependency'. 22 | ## See also: 23 | ## https://www.kicksecure.com/wiki/Dracut 24 | Depends: helper-scripts, dracut, secure-delete, 25 | kexec-tools, systemd-cryptsetup, ${misc:Depends} 26 | Description: Wipe RAM on shutdown and reboot 27 | A dracut module that wipes RAM on shutdown and reboot. 28 | . 29 | Not implemented for initramfs-tools. 30 | -------------------------------------------------------------------------------- /debian/ram-wipe.postinst: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | ## Copyright (C) 2012 - 2025 ENCRYPTED SUPPORT LLC 4 | ## See the file COPYING for copying conditions. 5 | 6 | if [ -f /usr/libexec/helper-scripts/pre.bsh ]; then 7 | source /usr/libexec/helper-scripts/pre.bsh 8 | fi 9 | 10 | set -e 11 | 12 | true " 13 | ##################################################################### 14 | ## INFO: BEGIN: $DPKG_MAINTSCRIPT_PACKAGE $DPKG_MAINTSCRIPT_NAME $@ 15 | ##################################################################### 16 | " 17 | 18 | true "INFO: debhelper beginning here." 19 | 20 | #DEBHELPER# 21 | 22 | ## https://phabricator.whonix.org/T377 23 | ## Debian has no update-grub trigger yet: 24 | ## https://bugs.debian.org/481542 25 | 26 | if command -v update-grub >/dev/null 2>&1; then 27 | update-grub || \ 28 | echo "$DPKG_MAINTSCRIPT_PACKAGE $DPKG_MAINTSCRIPT_NAME ERROR: Running \ 29 | 'update-grub' failed with exit code $?. $DPKG_MAINTSCRIPT_PACKAGE is most \ 30 | likely only the trigger, not the cause. Unless you know this is not an issue, \ 31 | you should fix running 'update-grub', otherwise your system might no longer \ 32 | boot." >&2 33 | fi 34 | 35 | true "INFO: Done with debhelper." 36 | 37 | true " 38 | ##################################################################### 39 | ## INFO: END : $DPKG_MAINTSCRIPT_PACKAGE $DPKG_MAINTSCRIPT_NAME $@ 40 | ##################################################################### 41 | " 42 | 43 | ## Explicitly "exit 0", so eventually trapped errors can be ignored. 44 | exit 0 45 | -------------------------------------------------------------------------------- /README_generic.md: -------------------------------------------------------------------------------- 1 | # Wipe RAM on shutdown and reboot # 2 | 3 | A dracut module that wipes RAM on shutdown and reboot. 4 | 5 | Not implemented for initramfs-tools. 6 | 7 | ## How to install `ram-wipe` using apt-get ## 8 | 9 | 1\. Download the APT Signing Key. 10 | 11 | ``` 12 | wget https://www.kicksecure.com/keys/derivative.asc 13 | ``` 14 | 15 | Users can [check the Signing Key](https://www.kicksecure.com/wiki/Signing_Key) for better security. 16 | 17 | 2\. Add the APT Signing Key. 18 | 19 | ``` 20 | sudo cp ~/derivative.asc /usr/share/keyrings/derivative.asc 21 | ``` 22 | 23 | 3\. Add the derivative repository. 24 | 25 | ``` 26 | echo "deb [signed-by=/usr/share/keyrings/derivative.asc] https://deb.kicksecure.com trixie main contrib non-free" | sudo tee /etc/apt/sources.list.d/derivative.list 27 | ``` 28 | 29 | 4\. Update your package lists. 30 | 31 | ``` 32 | sudo apt-get update 33 | ``` 34 | 35 | 5\. Install `ram-wipe`. 36 | 37 | ``` 38 | sudo apt-get install ram-wipe 39 | ``` 40 | 41 | ## How to Build deb Package from Source Code ## 42 | 43 | Can be build using standard Debian package build tools such as: 44 | 45 | ``` 46 | dpkg-buildpackage -b 47 | ``` 48 | 49 | See instructions. 50 | 51 | NOTE: Replace `generic-package` with the actual name of this package `ram-wipe`. 52 | 53 | * **A)** [easy](https://www.kicksecure.com/wiki/Dev/Build_Documentation/generic-package/easy), _OR_ 54 | * **B)** [including verifying software signatures](https://www.kicksecure.com/wiki/Dev/Build_Documentation/generic-package) 55 | 56 | ## Contact ## 57 | 58 | * [Free Forum Support](https://forums.kicksecure.com) 59 | * [Premium Support](https://www.kicksecure.com/wiki/Premium_Support) 60 | 61 | ## Donate ## 62 | 63 | `ram-wipe` requires [donations](https://www.kicksecure.com/wiki/Donate) to stay alive! 64 | -------------------------------------------------------------------------------- /etc/default/grub.d/40_ram-wipe.cfg: -------------------------------------------------------------------------------- 1 | ## Copyright (C) 2022 - 2025 ENCRYPTED SUPPORT LLC 2 | ## See the file COPYING for copying conditions. 3 | 4 | ## Wiping RAM at reboot and shutdown to defeat RAM extraction attacks. 5 | ## 6 | ## RAM wipe is enabled by default on host operating systems, real hardware. 7 | ## RAM wipe is disabled by default inside virtual machines (VMs). 8 | ## 9 | ## Most users should not make any modifications to this config file because 10 | ## there is no need for that. 11 | ## 12 | ## User documentation: 13 | ## https://www.kicksecure.com/wiki/ram-wipe 14 | ## 15 | ## Design documentation: 16 | ## https://www.kicksecure.com/wiki/Dev/RAM_Wipe 17 | 18 | ## RAM wipe is omitted in virtual machines (VMs) by default because it is 19 | ## unclear if that could actually lead to the host operating system using 20 | ## swap, which means writing VM RAM contents to the disk which would be counter 21 | ## productive. 22 | 23 | ## Kernel parameter wiperam=skip is provided to support disabling RAM wipe 24 | ## at shutdown, which might be useful to speed up shutdown or in case should 25 | ## there ever be issues. 26 | #GRUB_CMDLINE_LINUX_DEFAULT="$GRUB_CMDLINE_LINUX_DEFAULT wiperam=skip" 27 | 28 | ## Duplicated in security-misc-shared: 29 | ## 30 | ## Zero memory at allocation time and free time. 31 | ## Fills newly allocated pages, freed pages, and heap objects with zeros. 32 | ## Mitigates use-after-free exploits by erasing sensitive information in memory. 33 | ## 34 | ## https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=6471384af2a6530696fc0203bafe4de41a23c9ef 35 | ## 36 | ## KSPP=yes 37 | ## KSPP sets the kernel parameters, CONFIG_INIT_ON_ALLOC_DEFAULT_ON=y, and CONFIG_INIT_ON_FREE_DEFAULT_ON=y. 38 | ## 39 | GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX init_on_alloc=1" 40 | GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX init_on_free=1" 41 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ## Cold Boot Attack Defense 2 | 3 | Wiping RAM at shutdown to defeat cold boot attacks. 4 | 5 | Implemented as `dracut` module `cold-boot-attack-defense`. 6 | 7 | Requires `dracut`. In other words, RAM wipe is incompatible with systems 8 | using `initramfs-tools`. To switch, install dracut. See: 9 | 10 | https://www.kicksecure.com/wiki/dracut 11 | 12 | Only tested on `systemd`-enabled systems. 13 | 14 | User documentation: 15 | https://www.kicksecure.com/wiki/ram-wipe 16 | 17 | Design documentation: 18 | https://www.kicksecure.com/wiki/Dev/RAM_Wipe 19 | 20 | ## Related 21 | 22 | * security-misc 23 | * Linux Kernel Runtime Guard (LKRG) 24 | * tirdad - TCP ISN CPU Information Leak Protection. 25 | * Kicksecure (TM) - a security-hardened Linux distribution 26 | * And more. 27 | * https://github.com/Kicksecure/security-misc 28 | * https://www.kicksecure.com/wiki/Linux_Kernel_Runtime_Guard_LKRG 29 | * https://github.com/Kicksecure/tirdad 30 | * https://www.kicksecure.com 31 | * https://github.com/Kicksecure 32 | 33 | ## Discussion 34 | 35 | Happening primarily in forums. 36 | 37 | https://forums.whonix.org/t/is-ram-wipe-possible-inside-whonix-cold-boot-attack-defense/5596 38 | 39 | ## How to install `ram-wipe` 40 | 41 | See https://www.kicksecure.com/wiki/ram-wipe 42 | 43 | ## How to Build deb Package from Source Code 44 | 45 | Can be built using standard Debian package build tools such as: 46 | 47 | ``` 48 | dpkg-buildpackage -b 49 | ``` 50 | 51 | See instructions. (Replace `generic-package` with the actual name of this package: `ram-wipe`.) 52 | 53 | * **A)** [easy](https://www.kicksecure.com/wiki/Dev/Build_Documentation/generic-package/easy), _OR_ 54 | * **B)** [including verifying software signatures](https://www.kicksecure.com/wiki/Dev/Build_Documentation/generic-package) 55 | 56 | ## Contact 57 | 58 | * [Free Forum Support](https://forums.kicksecure.com) 59 | * [Professional Support](https://www.kicksecure.com/wiki/Professional_Support) 60 | 61 | ## Donate 62 | 63 | `ram-wipe` requires [donations](https://www.kicksecure.com/wiki/Donate) to stay alive! 64 | -------------------------------------------------------------------------------- /usr/lib/dracut/modules.d/40ram-wipe/wipe-ram.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ## Copyright (C) 2023 - 2025 ENCRYPTED SUPPORT LLC 4 | ## Copyright (C) 2023 - 2023 Friedrich Doku 5 | ## See the file COPYING for copying conditions. 6 | 7 | ## Credits: 8 | ## First version by @friedy10. 9 | ## https://github.com/friedy10/dracut/blob/master/modules.d/40sdmem/wipe.sh 10 | 11 | ## Use '.' and not 'source' in 'sh'. 12 | . /lib/ram-wipe-lib.sh 13 | 14 | drop_caches() { 15 | sync 16 | ## https://gitlab.tails.boum.org/tails/tails/-/blob/master/config/chroot_local-includes/usr/local/lib/initramfs-pre-shutdown-hook 17 | ### Ensure any remaining disk cache is erased by Linux' memory poisoning 18 | echo 3 > /proc/sys/vm/drop_caches 19 | sync 20 | } 21 | 22 | ram_wipe() { 23 | ## 'local' is unavailable in 'sh'. 24 | #local kernel_wiperam_setting dmsetup_actual_output dmsetup_expected_output 25 | 26 | ## getarg returns the last parameter only. 27 | kernel_wiperam_setting="$(getarg wiperam)" 28 | 29 | if [ "$kernel_wiperam_setting" = "skip" ]; then 30 | force_echo "wipe-ram.sh: Skip, because wiperam=skip kernel parameter detected, OK." 31 | return 0 32 | fi 33 | 34 | force_echo "wipe-ram.sh: RAM extraction attack defense... Starting RAM wipe pass during shutdown..." 35 | 36 | drop_caches 37 | 38 | force_echo "wipe-ram.sh: RAM wipe pass completed, OK." 39 | 40 | ## In theory might be better to check this beforehand, but the test is 41 | ## really fast. 42 | force_echo "wipe-ram.sh: Checking if there are still mounted encrypted disks..." 43 | 44 | ## TODO: use 'timeout'? 45 | dmsetup_actual_output="$(dmsetup ls --target crypt 2>&1)" 46 | dmsetup_expected_output="No devices found" 47 | 48 | if [ "$dmsetup_actual_output" = "$dmsetup_expected_output" ]; then 49 | force_echo "wipe-ram.sh: Success, there are no more mounted encrypted disks, OK." 50 | elif [ "$dmsetup_actual_output" = "" ]; then 51 | force_echo "wipe-ram.sh: Success, there are no more mounted encrypted disks, OK." 52 | else 53 | ## dracut should unmount the root encrypted disk cryptsetup luksClose during shutdown 54 | ## https://github.com/dracutdevs/dracut/issues/1888 55 | force_echo "\ 56 | wipe-ram.sh: There are still mounted encrypted disks! RAM wipe incomplete! 57 | 58 | debugging information: 59 | dmsetup_expected_output: '$dmsetup_expected_output' 60 | dmsetup_actual_output: '$dmsetup_actual_output'" 61 | ## How else could the user be informed that something is wrong? 62 | sleep 5 63 | fi 64 | } 65 | 66 | ram_wipe 67 | -------------------------------------------------------------------------------- /debian/changelog: -------------------------------------------------------------------------------- 1 | ram-wipe (3:4.2-1) unstable; urgency=medium 2 | 3 | * New upstream version (local package). 4 | 5 | -- Patrick Schleizer Sat, 29 Nov 2025 06:10:40 +0000 6 | 7 | ram-wipe (3:4.1-1) unstable; urgency=medium 8 | 9 | * New upstream version (local package). 10 | 11 | -- Patrick Schleizer Sat, 01 Nov 2025 09:40:51 +0000 12 | 13 | ram-wipe (3:4.0-1) unstable; urgency=medium 14 | 15 | * New upstream version (local package). 16 | 17 | -- Patrick Schleizer Mon, 22 Sep 2025 17:25:27 +0000 18 | 19 | ram-wipe (3:3.9-1) unstable; urgency=medium 20 | 21 | * New upstream version (local package). 22 | 23 | -- Patrick Schleizer Tue, 02 Sep 2025 15:23:36 +0000 24 | 25 | ram-wipe (3:3.8-1) unstable; urgency=medium 26 | 27 | * New upstream version (local package). 28 | 29 | -- Patrick Schleizer Wed, 27 Aug 2025 19:29:36 +0000 30 | 31 | ram-wipe (3:3.7-1) unstable; urgency=medium 32 | 33 | * New upstream version (local package). 34 | 35 | -- Patrick Schleizer Tue, 26 Aug 2025 09:14:10 +0000 36 | 37 | ram-wipe (3:3.6-1) unstable; urgency=medium 38 | 39 | * New upstream version (local package). 40 | 41 | -- Patrick Schleizer Fri, 23 May 2025 12:39:26 +0000 42 | 43 | ram-wipe (3:3.5-1) unstable; urgency=medium 44 | 45 | * New upstream version (local package). 46 | 47 | -- Patrick Schleizer Wed, 07 May 2025 11:09:39 +0000 48 | 49 | ram-wipe (3:3.4-1) unstable; urgency=medium 50 | 51 | * New upstream version (local package). 52 | 53 | -- Patrick Schleizer Thu, 24 Apr 2025 03:09:26 +0000 54 | 55 | ram-wipe (3:3.3-1) unstable; urgency=medium 56 | 57 | * New upstream version (local package). 58 | 59 | -- Patrick Schleizer Thu, 17 Apr 2025 19:19:52 +0000 60 | 61 | ram-wipe (3:3.2-1) unstable; urgency=medium 62 | 63 | * New upstream version (local package). 64 | 65 | -- Patrick Schleizer Thu, 17 Apr 2025 16:32:01 +0000 66 | 67 | ram-wipe (3:3.1-1) unstable; urgency=medium 68 | 69 | * New upstream version (local package). 70 | 71 | -- Patrick Schleizer Thu, 17 Apr 2025 14:47:42 +0000 72 | 73 | ram-wipe (3:3.0-1) unstable; urgency=medium 74 | 75 | * New upstream version (local package). 76 | 77 | -- Patrick Schleizer Thu, 23 Jan 2025 16:26:57 +0000 78 | 79 | ram-wipe (3:2.9-1) unstable; urgency=medium 80 | 81 | * New upstream version (local package). 82 | 83 | -- Patrick Schleizer Tue, 31 Dec 2024 18:40:05 +0000 84 | 85 | ram-wipe (3:2.8-1) unstable; urgency=medium 86 | 87 | * New upstream version (local package). 88 | 89 | -- Patrick Schleizer Fri, 27 Sep 2024 03:07:42 +0000 90 | 91 | ram-wipe (3:2.7-1) unstable; urgency=medium 92 | 93 | * New upstream version (local package). 94 | 95 | -- Patrick Schleizer Wed, 20 Mar 2024 15:48:18 +0000 96 | 97 | ram-wipe (3:2.6-1) unstable; urgency=medium 98 | 99 | * New upstream version (local package). 100 | 101 | -- Patrick Schleizer Fri, 02 Feb 2024 12:36:42 +0000 102 | 103 | ram-wipe (3:2.5-1) unstable; urgency=medium 104 | 105 | * New upstream version (local package). 106 | 107 | -- Patrick Schleizer Thu, 25 Jan 2024 13:59:10 +0000 108 | 109 | ram-wipe (3:2.4-1) unstable; urgency=medium 110 | 111 | * New upstream version (local package). 112 | 113 | -- Patrick Schleizer Mon, 22 Jan 2024 12:45:11 +0000 114 | 115 | ram-wipe (3:2.3-1) unstable; urgency=medium 116 | 117 | * New upstream version (local package). 118 | 119 | -- Patrick Schleizer Sat, 11 Nov 2023 20:20:53 +0000 120 | 121 | ram-wipe (3:2.2-1) unstable; urgency=medium 122 | 123 | * New upstream version (local package). 124 | 125 | -- Patrick Schleizer Sun, 05 Nov 2023 20:31:43 +0000 126 | 127 | ram-wipe (3:2.1-1) unstable; urgency=medium 128 | 129 | * New upstream version (local package). 130 | 131 | -- Patrick Schleizer Tue, 29 Aug 2023 20:08:05 +0000 132 | 133 | ram-wipe (3:2.0-1) unstable; urgency=medium 134 | 135 | * New upstream version (local package). 136 | 137 | -- Patrick Schleizer Mon, 17 Jul 2023 15:47:21 +0000 138 | 139 | ram-wipe (3:1.9-1) unstable; urgency=medium 140 | 141 | * New upstream version (local package). 142 | 143 | -- Patrick Schleizer Wed, 21 Jun 2023 09:35:12 +0000 144 | 145 | ram-wipe (3:1.8-1) unstable; urgency=medium 146 | 147 | * New upstream version (local package). 148 | 149 | -- Patrick Schleizer Fri, 16 Jun 2023 11:07:54 +0000 150 | 151 | ram-wipe (3:1.7-1) unstable; urgency=medium 152 | 153 | * New upstream version (local package). 154 | 155 | -- Patrick Schleizer Wed, 14 Jun 2023 09:59:09 +0000 156 | 157 | ram-wipe (3:1.6-1) unstable; urgency=medium 158 | 159 | * New upstream version (local package). 160 | 161 | -- Patrick Schleizer Mon, 12 Jun 2023 17:59:42 +0000 162 | 163 | ram-wipe (3:1.5-1) unstable; urgency=medium 164 | 165 | * New upstream version (local package). 166 | 167 | -- Patrick Schleizer Mon, 12 Jun 2023 15:24:15 +0000 168 | 169 | ram-wipe (3:1.4-1) unstable; urgency=medium 170 | 171 | * New upstream version (local package). 172 | 173 | -- Patrick Schleizer Fri, 10 Feb 2023 10:36:11 +0000 174 | 175 | ram-wipe (3:1.3-1) unstable; urgency=medium 176 | 177 | * New upstream version (local package). 178 | 179 | -- Patrick Schleizer Fri, 10 Feb 2023 10:26:55 +0000 180 | 181 | ram-wipe (3:1.2-1) unstable; urgency=medium 182 | 183 | * New upstream version (local package). 184 | 185 | -- Patrick Schleizer Mon, 06 Feb 2023 19:39:10 +0000 186 | 187 | ram-wipe (3:1.1-1) unstable; urgency=medium 188 | 189 | * New upstream version (local package). 190 | 191 | -- Patrick Schleizer Mon, 06 Feb 2023 17:51:18 +0000 192 | 193 | ram-wipe (3:1.0-1) unstable; urgency=medium 194 | 195 | * New upstream version (local package). 196 | 197 | -- Patrick Schleizer Mon, 06 Feb 2023 17:39:49 +0000 198 | 199 | ram-wipe (3:0.9-1) unstable; urgency=medium 200 | 201 | * New upstream version (local package). 202 | 203 | -- Patrick Schleizer Mon, 06 Feb 2023 17:28:53 +0000 204 | 205 | ram-wipe (3:0.8-1) unstable; urgency=medium 206 | 207 | * New upstream version (local package). 208 | 209 | -- Patrick Schleizer Mon, 06 Feb 2023 17:09:01 +0000 210 | 211 | ram-wipe (3:0.7-1) unstable; urgency=medium 212 | 213 | * New upstream version (local package). 214 | 215 | -- Patrick Schleizer Mon, 30 Jan 2023 13:23:02 +0000 216 | 217 | ram-wipe (3:0.6-1) unstable; urgency=medium 218 | 219 | * New upstream version (local package). 220 | 221 | -- Patrick Schleizer Tue, 24 Jan 2023 12:12:05 +0000 222 | 223 | ram-wipe (3:0.5-1) unstable; urgency=medium 224 | 225 | * New upstream version (local package). 226 | 227 | -- Patrick Schleizer Tue, 24 Jan 2023 12:08:25 +0000 228 | 229 | ram-wipe (3:0.4-1) unstable; urgency=medium 230 | 231 | * New upstream version (local package). 232 | 233 | -- Patrick Schleizer Tue, 24 Jan 2023 12:05:10 +0000 234 | 235 | ram-wipe (3:0.3-1) unstable; urgency=medium 236 | 237 | * New upstream version (local package). 238 | 239 | -- Patrick Schleizer Mon, 09 Jan 2023 12:01:40 +0000 240 | 241 | ram-wipe (3:0.2-1) unstable; urgency=medium 242 | 243 | * New upstream version (local package). 244 | 245 | -- Patrick Schleizer Mon, 09 Jan 2023 10:40:48 +0000 246 | 247 | ram-wipe (3:0.1-1) unstable; urgency=low 248 | 249 | * Initial release. 250 | 251 | -- Patrick Schleizer Mon, 09 Jan 2023 10:34:48 +0000 252 | -------------------------------------------------------------------------------- /changelog.upstream: -------------------------------------------------------------------------------- 1 | commit e68a53e34b2a6d731800ac58c6b9ef65cb2aceea 2 | Author: Patrick Schleizer 3 | Date: Thu Nov 27 05:41:34 2025 -0500 4 | 5 | fix 6 | 7 | commit aa3ba3d2e335b4e3f4bebeddd536e0991067900d 8 | Author: Patrick Schleizer 9 | Date: Thu Nov 27 05:41:08 2025 -0500 10 | 11 | fix 12 | 13 | commit 55f5a9139e285c19dff1e4089515227d6ec4c6ce 14 | Author: Patrick Schleizer 15 | Date: Thu Nov 27 05:39:27 2025 -0500 16 | 17 | Fix: Disable re-enabling kexec because ram-wipe fortunately no longer requires kexec. 18 | 19 | commit 5402872cefc1d88fca597e3bde058b0ddc17cdcc 20 | Author: Patrick Schleizer 21 | Date: Thu Nov 27 05:37:46 2025 -0500 22 | 23 | cleanup 24 | 25 | commit dfcb7a90d29f1d4d0d079e37a2d4509e9ca832be 26 | Author: Patrick Schleizer 27 | Date: Thu Nov 27 05:34:37 2025 -0500 28 | 29 | rename 30 | 31 | commit 69202be69b2210ccef3421c39be4e3dcc47544a8 32 | Author: Patrick Schleizer 33 | Date: Thu Nov 27 05:34:10 2025 -0500 34 | 35 | rename 36 | 37 | commit 52917bac7b54cc74d6c7b6e3821f65d9d9c4fbf9 38 | Author: Patrick Schleizer 39 | Date: Thu Nov 27 05:33:20 2025 -0500 40 | 41 | code simplification 42 | 43 | commit 305d2285337e35ba83159289ac8535f1d601ea42 44 | Author: Patrick Schleizer 45 | Date: Thu Nov 27 05:30:24 2025 -0500 46 | 47 | cleanup 48 | 49 | commit 55c45ca2e03a99d91750c1cbdd8e5c380cfbefd6 50 | Author: Patrick Schleizer 51 | Date: Thu Nov 27 05:29:22 2025 -0500 52 | 53 | cleanup 54 | 55 | commit dc3aa26a9978fcac9e220e9dc70d5eb36101d9bf 56 | Author: Patrick Schleizer 57 | Date: Thu Nov 27 05:27:47 2025 -0500 58 | 59 | comment 60 | 61 | commit 36fe53d3ef6c25628e005e10688115d7c5405f8a 62 | Author: Patrick Schleizer 63 | Date: Thu Nov 27 05:26:02 2025 -0500 64 | 65 | fix 66 | 67 | commit 2617ecab60e14d18ba4e2dbb4eb51077064dc70a 68 | Author: Patrick Schleizer 69 | Date: Thu Nov 27 05:25:26 2025 -0500 70 | 71 | fix 72 | 73 | commit 8f425a62968088562c66664dbcc8e99959a5e5f0 74 | Author: Patrick Schleizer 75 | Date: Thu Nov 27 05:22:50 2025 -0500 76 | 77 | fix false-positive detection of remaining encrypted disk still being mounted 78 | 79 | https://forums.kicksecure.com/t/question-about-ram-wipe/1374 80 | 81 | commit 4f57476e1517553eed721d7e28d90a700a63d3af 82 | Author: Patrick Schleizer 83 | Date: Sat Nov 1 09:40:51 2025 +0000 84 | 85 | bumped changelog version 86 | 87 | commit 23b3e6cc96cace9c6aeca6e5e189daf4681409a4 88 | Author: Patrick Schleizer 89 | Date: Sat Nov 1 05:40:00 2025 -0400 90 | 91 | lower debugging 92 | 93 | commit ca3e8382efcb5399ac2ea19226fe6415e7dc12da 94 | Author: Patrick Schleizer 95 | Date: Mon Sep 22 17:25:27 2025 +0000 96 | 97 | bumped changelog version 98 | 99 | commit 778566b6770298fa4c81cb908eb3300f4d7b0bb0 100 | Merge: dded321 2dcff66 101 | Author: Patrick Schleizer 102 | Date: Mon Sep 22 13:00:32 2025 -0400 103 | 104 | Merge remote-tracking branch 'ArrayBolt3/arraybolt3/trixie' 105 | 106 | commit 2dcff668bbb80b59d7303274f3e390c4db87e972 107 | Author: Aaron Rainbolt 108 | Date: Sun Sep 21 16:05:21 2025 -0500 109 | 110 | Comment changes for security-misc split 111 | 112 | commit dded3219b78ecc5b559dc7d16e4f3b7d4ea45efc 113 | Author: Patrick Schleizer 114 | Date: Tue Sep 2 15:23:36 2025 +0000 115 | 116 | bumped changelog version 117 | 118 | commit 14b92cdb885a12e53158becccce4f0a90d3f48d7 119 | Author: Patrick Schleizer 120 | Date: Wed Aug 27 19:29:36 2025 +0000 121 | 122 | bumped changelog version 123 | 124 | commit c42ef7f0774474597569360f1a08327fa3cb5ad6 125 | Author: Patrick Schleizer 126 | Date: Wed Aug 27 11:34:12 2025 -0400 127 | 128 | comment 129 | 130 | commit 5b841906dc2f8f4444f9f78bb78e931d58b10974 131 | Author: Patrick Schleizer 132 | Date: Wed Aug 27 11:33:03 2025 -0400 133 | 134 | cleanup 135 | 136 | commit bf347cc667cad661acc8c9ca98af6fe3d443357e 137 | Merge: 6d848cd 3df601e 138 | Author: Patrick Schleizer 139 | Date: Wed Aug 27 11:32:12 2025 -0400 140 | 141 | Merge remote-tracking branch 'ArrayBolt3/arraybolt3/trixie' 142 | 143 | commit 3df601e90155e6d797d12912a0994962c0baaa69 144 | Merge: 8c86986 6d848cd 145 | Author: Aaron Rainbolt 146 | Date: Tue Aug 26 19:20:25 2025 -0500 147 | 148 | Merge branch 'master' into arraybolt3/trixie 149 | 150 | commit 6d848cd8c917204a115c06d37a6c7fe11457744b 151 | Author: Patrick Schleizer 152 | Date: Tue Aug 26 09:14:11 2025 +0000 153 | 154 | bumped changelog version 155 | 156 | commit 8c86986cf3316823707d913b1bfe16c5dcb31902 157 | Merge: 0b58fda b4f7f80 158 | Author: Aaron Rainbolt 159 | Date: Sat Aug 23 22:51:28 2025 -0500 160 | 161 | Merge branch 'master' into arraybolt3/trixie 162 | 163 | commit 0b58fda12157dc71e6a9b4a7183b9de8a268ea22 164 | Author: Aaron Rainbolt 165 | Date: Fri Aug 22 19:41:35 2025 -0500 166 | 167 | Clarify lack of initramfs-tools support 168 | 169 | commit b4f7f801583aa72047a0a9907c828e4d961b16eb 170 | Merge: b8ed77b 2f3c8f9 171 | Author: Patrick Schleizer 172 | Date: Fri Aug 22 06:12:58 2025 -0400 173 | 174 | Merge remote-tracking branch 'github-kicksecure/master' 175 | 176 | commit 2f3c8f969233c61800621b92e84307402a498640 177 | Merge: b8ed77b 88091fe 178 | Author: Patrick Schleizer 179 | Date: Fri Aug 22 06:10:04 2025 -0400 180 | 181 | Merge pull request #4 from zarhus/master 182 | 183 | Remove sdmem and kexec (second stage) 184 | 185 | commit b8ed77b0d5d1985c0ac8a97da0453e0156fb85b7 186 | Merge: a4aff9c f4f06a4 187 | Author: Patrick Schleizer 188 | Date: Wed Aug 20 08:57:52 2025 -0400 189 | 190 | Merge remote-tracking branch 'ArrayBolt3/arraybolt3/trixie' 191 | 192 | commit a4aff9c28fc8189a229b25be497ca04a2aee1a3d 193 | Author: Patrick Schleizer 194 | Date: Wed Aug 20 06:57:28 2025 -0400 195 | 196 | bumped Standards-Version 197 | 198 | commit 1b4a2c312174c616de31dbfd803809d00a9708c4 199 | Author: Patrick Schleizer 200 | Date: Wed Aug 20 06:25:34 2025 -0400 201 | 202 | readme 203 | 204 | commit 88091fea2c58c7f1345c4a05e92fddfecbe1d807 205 | Author: Kamil Aronowski 206 | Date: Wed Aug 13 21:06:30 2025 +0200 207 | 208 | Remove sdmem and kexec (second stage) 209 | 210 | As per testing kernel memory zeroing with `init_on_free=1`, remove all 211 | the references to `sdmem` and the second RAM wipe pass. See 212 | https://www.kicksecure.com/wiki/Dev/RAM_Wipe#ram-wipe_improvements for 213 | more information. 214 | 215 | Signed-off-by: Kamil Aronowski 216 | 217 | commit f4f06a47402d52c8cf2147754533783e07f79d99 218 | Author: Aaron Rainbolt 219 | Date: Tue Aug 5 22:58:05 2025 -0500 220 | 221 | Port to Trixie. 222 | 223 | commit 2a7ff83a19714b68496d696aeb83fe2f0da5103b 224 | Author: Patrick Schleizer 225 | Date: Fri May 23 12:39:26 2025 +0000 226 | 227 | bumped changelog version 228 | 229 | commit de214b386ddce7f431641e2d48da77f98e73d3bf 230 | Author: Patrick Schleizer 231 | Date: Fri May 23 08:22:00 2025 -0400 232 | 233 | enable kernel parameters init_on_free and init_on_alloc 234 | 235 | (The latter might not be strictly required. Untested.) 236 | 237 | commit 19d45bd9587e9d43e25f8d2d6b0e4fa909816369 238 | Author: Patrick Schleizer 239 | Date: Wed May 7 11:09:40 2025 +0000 240 | 241 | bumped changelog version 242 | 243 | commit 091b53511dcc96b194bd45c2aa40f3e7051b76df 244 | Author: Patrick Schleizer 245 | Date: Wed May 7 03:26:05 2025 -0400 246 | 247 | rephrase 248 | 249 | commit 02d790a7b614ae3dc0d85cae3c27c7ed7d38eb23 250 | Author: Patrick Schleizer 251 | Date: Wed May 7 03:16:50 2025 -0400 252 | 253 | fix wording cold boot attack versus warm boot attack 254 | 255 | commit a2243388b35820ee9078a5c99bda2ad9a8df85a1 256 | Author: Patrick Schleizer 257 | Date: Thu Apr 24 03:09:26 2025 +0000 258 | 259 | bumped changelog version 260 | 261 | commit 030a909158cac391f839ba172f25cf171e1c6d17 262 | Author: Patrick Schleizer 263 | Date: Wed Apr 23 23:07:43 2025 -0400 264 | 265 | remove Depends: systemd-cryptsetup, because 266 | systemd-cryptsetup does not exist in Debian bookworm 267 | therefore remove from Depends: until porting to Debian trixie: 268 | 269 | commit ed9c2978b2c69cebd37b3e1412b648d8f00584e4 270 | Author: Patrick Schleizer 271 | Date: Thu Apr 17 19:19:52 2025 +0000 272 | 273 | bumped changelog version 274 | 275 | commit 90421d386c0c4a55ed816d82e58ab1b793f75b48 276 | Author: Patrick Schleizer 277 | Date: Thu Apr 17 15:16:08 2025 -0400 278 | 279 | readme 280 | 281 | commit 0276206fe867a86100d1a0b1814c9d590df5a3bc 282 | Author: Patrick Schleizer 283 | Date: Thu Apr 17 15:14:28 2025 -0400 284 | 285 | readme 286 | 287 | commit 8efa83b158a324d08c6cea60ead1a733ecc2af1b 288 | Author: Patrick Schleizer 289 | Date: Thu Apr 17 15:02:32 2025 -0400 290 | 291 | `add_dracutmodules+=" ram-wipe-exit "` 292 | `add_dracutmodules+=" cold-boot-attack-defense "` 293 | 294 | https://github.com/Kicksecure/ram-wipe/issues/2#issuecomment-2813767529 295 | 296 | commit 6e5dce38a6bfbd2efcbc5b2983617ce0c7fdd3d2 297 | Author: Patrick Schleizer 298 | Date: Thu Apr 17 14:57:04 2025 -0400 299 | 300 | comment 301 | 302 | commit 2b8ed5e266d5bb00dcd5195b6e4f58248d9b8bc1 303 | Author: Patrick Schleizer 304 | Date: Thu Apr 17 14:53:23 2025 -0400 305 | 306 | Depends: secure-delete 307 | 308 | https://github.com/Kicksecure/ram-wipe/issues/2#issuecomment-2813767529 309 | 310 | commit db92639c1aa7a4d6a7e825a63bebf65c18f22410 311 | Author: Patrick Schleizer 312 | Date: Thu Apr 17 16:32:02 2025 +0000 313 | 314 | bumped changelog version 315 | 316 | commit b0dbb5f6cfedc8cf28e438dfd60d3b8bd304c1ea 317 | Author: Patrick Schleizer 318 | Date: Thu Apr 17 11:10:03 2025 -0400 319 | 320 | Depends: systemd-cryptsetup 321 | 322 | commit 78418e43e60b124b785791de03d1d307951847c3 323 | Author: Patrick Schleizer 324 | Date: Thu Apr 17 14:47:42 2025 +0000 325 | 326 | bumped changelog version 327 | 328 | commit 5cfc5f29b86a811e3b2e7ae17ae004551d0b2582 329 | Author: Patrick Schleizer 330 | Date: Thu Apr 17 10:44:29 2025 -0400 331 | 332 | cleanup 333 | 334 | commit 2ad0e938a121483f85cfb50c574921ac39950861 335 | Author: Patrick Schleizer 336 | Date: Thu Apr 17 10:40:51 2025 -0400 337 | 338 | add error handler 339 | 340 | commit 05e878147fa46dce94c0db29027e1eea23955cd5 341 | Author: Patrick Schleizer 342 | Date: Thu Apr 17 10:38:03 2025 -0400 343 | 344 | improved error handling 345 | 346 | commit 4ff9c69dde8f020b5cdc1d948dbea3e711d272da 347 | Author: Patrick Schleizer 348 | Date: Thu Apr 17 10:31:37 2025 -0400 349 | 350 | printf 351 | 352 | commit e7ef0b2e0386a0040074fcd7e516ad6b48b24e05 353 | Author: Patrick Schleizer 354 | Date: Thu Apr 17 10:28:32 2025 -0400 355 | 356 | quotes 357 | 358 | commit 99cddffc08041eb896cc4295e118a9831bf50d0a 359 | Author: Patrick Schleizer 360 | Date: Thu Jan 23 16:26:57 2025 +0000 361 | 362 | bumped changelog version 363 | 364 | commit 4dc2c35f6734866db177791a4daf96e42ce07983 365 | Author: Patrick Schleizer 366 | Date: Thu Jan 23 11:12:10 2025 -0500 367 | 368 | copyright 369 | 370 | commit d2cf540040b6178294e0c44761731f68d9a2ff10 371 | Author: Patrick Schleizer 372 | Date: Tue Dec 31 18:40:05 2024 +0000 373 | 374 | bumped changelog version 375 | 376 | commit 2c42181e70775ddceac4c84ce2c795ea247eeace 377 | Author: Patrick Schleizer 378 | Date: Tue Dec 31 13:26:19 2024 -0500 379 | 380 | copyright 381 | 382 | commit ba826cd2ca7fd205c07d58f79be830b3e33de6a5 383 | Author: Patrick Schleizer 384 | Date: Fri Sep 27 03:07:43 2024 +0000 385 | 386 | bumped changelog version 387 | 388 | commit 474c703ae3d635346d67d127f90803af2bd67772 389 | Author: Patrick Schleizer 390 | Date: Thu Sep 26 23:05:06 2024 -0400 391 | 392 | always run ram-wipe if installed 393 | 394 | even inside VMs 395 | 396 | to simplify testing inside VMs 397 | 398 | deprecate wiperam=force kernel parameter 399 | 400 | commit a7993ec584681833669cc84843608e18182c11e1 401 | Author: Patrick Schleizer 402 | Date: Wed Mar 20 15:48:19 2024 +0000 403 | 404 | bumped changelog version 405 | 406 | commit 7c30b7968520731d26e9200956901ca73df11857 407 | Author: Patrick Schleizer 408 | Date: Wed Mar 20 11:46:18 2024 -0400 409 | 410 | fix additional kexec based ram-wipe when Secure Boot is enabled 411 | 412 | commit e3bd5bd89409e679aed4d7cf5bdfa1e233683099 413 | Author: Patrick Schleizer 414 | Date: Fri Feb 2 12:36:42 2024 +0000 415 | 416 | bumped changelog version 417 | 418 | commit b81676ffd3c87678e4bb0ecf2de95c299a805405 419 | Author: Patrick Schleizer 420 | Date: Fri Feb 2 07:32:33 2024 -0500 421 | 422 | usrmerge debhelper systemd Debian package maintainer scripts fix 423 | 424 | commit af3eb3839102812b7395b144bcb5a929bac7b39f 425 | Author: Patrick Schleizer 426 | Date: Thu Jan 25 13:59:10 2024 +0000 427 | 428 | bumped changelog version 429 | 430 | commit f5d8666cf5f993110c0533bfdb3678b5a9363978 431 | Author: Patrick Schleizer 432 | Date: Thu Jan 25 07:01:14 2024 -0500 433 | 434 | run inside VMs by default for simplified testing 435 | 436 | commit 1ad3b0fe745dcf8dcf0f6a27ba9ed1c51c6a1ba2 437 | Author: Patrick Schleizer 438 | Date: Mon Jan 22 12:45:11 2024 +0000 439 | 440 | bumped changelog version 441 | 442 | commit 1c8624a875e79ab6076899948aa811e0b4ccdfa8 443 | Author: Patrick Schleizer 444 | Date: Mon Jan 22 07:21:01 2024 -0500 445 | 446 | usrmerge 447 | 448 | commit 35f459cd17e650a13ee688673359489b248389a0 449 | Author: Patrick Schleizer 450 | Date: Sat Nov 11 20:20:53 2023 +0000 451 | 452 | bumped changelog version 453 | 454 | commit cace13c175879d89eb94ffc3e2f1bca81c86d471 455 | Author: Patrick Schleizer 456 | Date: Sat Nov 11 13:41:32 2023 -0500 457 | 458 | change license to AGPL-3+ 459 | 460 | https://forums.whonix.org/t/license-change-to-agplv3/17455 461 | 462 | commit 88e71603365ea005a859382f7d65cdc3d372ad0b 463 | Author: Patrick Schleizer 464 | Date: Sun Nov 5 15:31:43 2023 -0500 465 | 466 | bumped changelog version 467 | 468 | commit 21c3185085427cde19d079adb600c5710a20891b 469 | Author: Patrick Schleizer 470 | Date: Sun Nov 5 15:31:28 2023 -0500 471 | 472 | update path 473 | 474 | commit f58f68534a3c9ef2061345b89065e3ed1fed93ba 475 | Author: Patrick Schleizer 476 | Date: Tue Aug 29 16:08:05 2023 -0400 477 | 478 | bumped changelog version 479 | 480 | commit 630754fa7a11af6cd3a6ff7cd458e86925a69ed7 481 | Author: Patrick Schleizer 482 | Date: Tue Aug 29 16:01:50 2023 -0400 483 | 484 | tmpfiles.d improvement 485 | 486 | commit 2708e310ba42ccde6bb9c2a1f5d3b5da8bb5ab20 487 | Author: Patrick Schleizer 488 | Date: Tue Aug 29 15:00:46 2023 -0400 489 | 490 | tmpfiles.d syntax fix 491 | 492 | commit 2d650f54f88acd00d70a527d3de5bb9fef3a23a0 493 | Author: Patrick Schleizer 494 | Date: Mon Jul 17 11:47:21 2023 -0400 495 | 496 | bumped changelog version 497 | 498 | commit 9b106cc54f6423cc702be767cc6c197ef5ffdefd 499 | Author: Patrick Schleizer 500 | Date: Mon Jul 17 11:18:53 2023 -0400 501 | 502 | Kicksecure 503 | 504 | commit 68c1aabe1568130ce590d9cedcc074ce963638d3 505 | Author: Patrick Schleizer 506 | Date: Wed Jun 21 09:35:12 2023 +0000 507 | 508 | bumped changelog version 509 | 510 | commit 4fdd1580a308bc01563b85280b06d383beac7b8e 511 | Author: Patrick Schleizer 512 | Date: Wed Jun 21 09:11:30 2023 +0000 513 | 514 | bookworm 515 | 516 | commit ad93b44c2531bf93f82c7d7afc57f1c9b4bd50aa 517 | Author: Patrick Schleizer 518 | Date: Fri Jun 16 11:07:54 2023 +0000 519 | 520 | bumped changelog version 521 | 522 | commit afd721b78ab971eeb945c38655e01ea8c13c434a 523 | Author: Patrick Schleizer 524 | Date: Fri Jun 16 10:49:04 2023 +0000 525 | 526 | readme 527 | 528 | commit ac8004175c37bf176c7dcdc262e183ca698e8da2 529 | Author: Patrick Schleizer 530 | Date: Wed Jun 14 09:59:09 2023 +0000 531 | 532 | bumped changelog version 533 | 534 | commit 6d6f6442ad41dcca62ae74ddac7d228a9850f317 535 | Author: Patrick Schleizer 536 | Date: Tue Jun 13 08:33:35 2023 +0000 537 | 538 | fix 539 | 540 | commit 55be5b621dedb7dff20074a5a47da77181771aec 541 | Author: Patrick Schleizer 542 | Date: Tue Jun 13 08:33:01 2023 +0000 543 | 544 | bookworm 545 | 546 | commit caa9c8d2c925be470846a7e647548ddde7968b3b 547 | Author: Patrick Schleizer 548 | Date: Mon Jun 12 17:59:42 2023 +0000 549 | 550 | bumped changelog version 551 | 552 | commit 879636737977248c4267d8b5ec8902473be87378 553 | Author: Patrick Schleizer 554 | Date: Mon Jun 12 16:22:31 2023 +0000 555 | 556 | Standards-Version: 4.6.1.0 557 | 558 | commit 361ab7dff29776365313273fac6c3defe798b820 559 | Author: Patrick Schleizer 560 | Date: Mon Jun 12 15:24:15 2023 +0000 561 | 562 | bumped changelog version 563 | 564 | commit e1f157a3f5c803c9b29a0ac690b71eceb24a0452 565 | Author: Patrick Schleizer 566 | Date: Mon Jun 12 14:52:00 2023 +0000 567 | 568 | update copyright year 569 | 570 | commit 297117de24c60c8346cf2dea43e04e43daf64389 571 | Author: Patrick Schleizer 572 | Date: Fri Feb 10 05:36:11 2023 -0500 573 | 574 | bumped changelog version 575 | 576 | commit 14f7ab64d1ccfaeea6bd897ec558704a853d30f0 577 | Author: Patrick Schleizer 578 | Date: Fri Feb 10 05:35:10 2023 -0500 579 | 580 | update-grub 581 | 582 | commit 24e9a77d0bb2a402dc7da92f2f94f457b6828873 583 | Author: Patrick Schleizer 584 | Date: Fri Feb 10 05:26:55 2023 -0500 585 | 586 | bumped changelog version 587 | 588 | commit 413afda35ba5dd342972c3ccde0ce5b9013d83f5 589 | Author: Patrick Schleizer 590 | Date: Fri Feb 10 05:15:53 2023 -0500 591 | 592 | renamed: lib/systemd/system/cold-boot-attack-defense-kexec-prepare.service -> lib/systemd/system/ram-wipe-kexec-prepare.service 593 | 594 | commit a2cf260fa25a1291dbd81ee8c71d1a5125bb0b28 595 | Author: Patrick Schleizer 596 | Date: Mon Feb 6 14:39:10 2023 -0500 597 | 598 | bumped changelog version 599 | 600 | commit 3489a02793d04d46f6f91a439f8551ff512e56a9 601 | Author: Patrick Schleizer 602 | Date: Mon Feb 6 14:38:57 2023 -0500 603 | 604 | fix 605 | 606 | commit 14372d7a114eb2c77e16b1f62ba3010a78d1bbaa 607 | Author: Patrick Schleizer 608 | Date: Mon Feb 6 12:51:18 2023 -0500 609 | 610 | bumped changelog version 611 | 612 | commit b87e9491c6f36141abcc23fefe6d751ba8315968 613 | Author: Patrick Schleizer 614 | Date: Mon Feb 6 12:49:52 2023 -0500 615 | 616 | output 617 | 618 | commit cdfd3717c639028a9db7e9520149395bc1de2ab1 619 | Author: Patrick Schleizer 620 | Date: Mon Feb 6 12:49:05 2023 -0500 621 | 622 | output 623 | 624 | commit 3009642b6f0fd050cee4b676a87f3aa7362308d3 625 | Author: Patrick Schleizer 626 | Date: Mon Feb 6 12:43:30 2023 -0500 627 | 628 | output 629 | 630 | commit dbf157a8bfc39d041f3f783201b890cc9e6dbc13 631 | Author: Patrick Schleizer 632 | Date: Mon Feb 6 12:39:49 2023 -0500 633 | 634 | bumped changelog version 635 | 636 | commit 8575bb6f87a1409f6a6684b120777c3687fd9b32 637 | Author: Patrick Schleizer 638 | Date: Mon Feb 6 12:34:34 2023 -0500 639 | 640 | cleanup 641 | 642 | commit 74c26168eff9f414a2c8e4773db7249576179bfb 643 | Author: Patrick Schleizer 644 | Date: Mon Feb 6 12:34:22 2023 -0500 645 | 646 | output 647 | 648 | commit 3837c3835ef356517618d8ddd5c88847b617efbc 649 | Author: Patrick Schleizer 650 | Date: Mon Feb 6 12:28:53 2023 -0500 651 | 652 | bumped changelog version 653 | 654 | commit 5c046a4f7de0a264eee2492309a7a5acb7cb5ae3 655 | Author: Patrick Schleizer 656 | Date: Mon Feb 6 12:28:28 2023 -0500 657 | 658 | remove no longer needed file /etc/sysctl.d/40_ram-wipe.conf 659 | 660 | commit fe025e01870573c32d8492fca5e42131da3d8c1c 661 | Author: Patrick Schleizer 662 | Date: Mon Feb 6 12:22:01 2023 -0500 663 | 664 | fix 665 | 666 | commit 1c2084b2e46937d77b65ff8ff00ba0698f2b40a9 667 | Author: Patrick Schleizer 668 | Date: Mon Feb 6 12:09:01 2023 -0500 669 | 670 | bumped changelog version 671 | 672 | commit 301968010519a93dd4d315abc033896f391955cc 673 | Author: Patrick Schleizer 674 | Date: Mon Feb 6 12:06:28 2023 -0500 675 | 676 | rework message output 677 | 678 | commit ce7a76fa5ff17298d2b1007465d3c591749ce2d4 679 | Author: Patrick Schleizer 680 | Date: Mon Feb 6 11:52:41 2023 -0500 681 | 682 | refactoring 683 | 684 | commit 203b89c969ec724010511bfe5aedaaa558e541d0 685 | Author: Patrick Schleizer 686 | Date: Mon Feb 6 11:51:53 2023 -0500 687 | 688 | debugging 689 | 690 | commit e81cc0b16ead95e84096afdc9d2b8df165b419c2 691 | Author: Patrick Schleizer 692 | Date: Mon Feb 6 11:50:35 2023 -0500 693 | 694 | output 695 | 696 | commit e5948bc60d75772bbd2e18479cb1931d42f93c66 697 | Author: Patrick Schleizer 698 | Date: Mon Feb 6 11:49:50 2023 -0500 699 | 700 | rename 701 | 702 | commit 808c7acdc864ec65beb144bbf11085934bf7d8f3 703 | Author: Patrick Schleizer 704 | Date: Mon Feb 6 11:48:45 2023 -0500 705 | 706 | comment 707 | 708 | commit 570c270b39a311fd1fc00a926567b72a941f507c 709 | Author: Patrick Schleizer 710 | Date: Mon Feb 6 11:47:51 2023 -0500 711 | 712 | output 713 | 714 | commit 94d1b0fc359f29b28e3d4a3e4c0086e8c65b144f 715 | Author: Patrick Schleizer 716 | Date: Mon Feb 6 11:46:44 2023 -0500 717 | 718 | rename 719 | 720 | commit 82b92d6ba010fa73a805d86abea5731170abf744 721 | Author: Patrick Schleizer 722 | Date: Mon Feb 6 11:44:14 2023 -0500 723 | 724 | refactoring 725 | 726 | commit 6533b6eda5ee3d285a36d969cfa0f7ac772c7729 727 | Author: Patrick Schleizer 728 | Date: Mon Feb 6 11:37:23 2023 -0500 729 | 730 | fix, run cold-boot-attack-defense-kexec-prepare.service only when needed 731 | 732 | commit 337ec2d98cbf1fbdc824e8352486601cc3e98c0d 733 | Author: Patrick Schleizer 734 | Date: Mon Jan 30 08:23:02 2023 -0500 735 | 736 | bumped changelog version 737 | 738 | commit 6e8d6bbbec8cb57ffacb2c34007cb9b65fc4e0ad 739 | Author: Patrick Schleizer 740 | Date: Mon Jan 30 07:36:55 2023 -0500 741 | 742 | cleanup 743 | 744 | commit 671281fa6769059071fad766dd2acfdfa19a5db0 745 | Author: Patrick Schleizer 746 | Date: Mon Jan 30 07:36:11 2023 -0500 747 | 748 | fix, renamed: debian/security-misc.triggers -> debian/ram-wipe.triggers 749 | 750 | commit 047a6a58e88f04c4ae35d8aa7a9213142993e6da 751 | Author: Patrick Schleizer 752 | Date: Mon Jan 30 07:35:32 2023 -0500 753 | 754 | config-package-dev hide /etc/sysctl.d/30_security-misc_kexec-disable.conf 755 | 756 | commit 82489173012b7f3f766de35523d16fc8f2e46940 757 | Author: Patrick Schleizer 758 | Date: Tue Jan 24 07:12:05 2023 -0500 759 | 760 | bumped changelog version 761 | 762 | commit 4dfaba43b1312264c887c7a88a687b1578ec08e6 763 | Author: Patrick Schleizer 764 | Date: Tue Jan 24 07:10:05 2023 -0500 765 | 766 | lintian 767 | 768 | commit 343e4fa55120ea3046327f80f93200e95e7a0625 769 | Author: Patrick Schleizer 770 | Date: Tue Jan 24 07:08:25 2023 -0500 771 | 772 | bumped changelog version 773 | 774 | commit faa61a032579e30a5f8d4da99b8314615c442d52 775 | Author: Patrick Schleizer 776 | Date: Tue Jan 24 07:07:48 2023 -0500 777 | 778 | lintian 779 | 780 | commit 130686732e669def56de2442b0e34dfe443cfecf 781 | Author: Patrick Schleizer 782 | Date: Tue Jan 24 07:05:10 2023 -0500 783 | 784 | bumped changelog version 785 | 786 | commit bc4bbcef66bf9acf42c4975269962b164bc91e5f 787 | Author: Patrick Schleizer 788 | Date: Tue Jan 24 07:05:09 2023 -0500 789 | 790 | add debian install file (generated using "genmkfile debinstfile") 791 | 792 | commit 81b71915848328955f97a2334b816d0bfab6e33b 793 | Merge: 133f7b2 c5c5314 794 | Author: Patrick Schleizer 795 | Date: Tue Jan 24 06:26:42 2023 -0500 796 | 797 | Merge remote-tracking branch 'github-kicksecure/master' 798 | 799 | commit c5c5314c0beab8f181a448ee75f14edb0c9ed239 800 | Merge: 133f7b2 69af367 801 | Author: Patrick Schleizer 802 | Date: Tue Jan 24 06:25:32 2023 -0500 803 | 804 | Merge pull request #1 from friedy10/master 805 | 806 | Added files for cold boot attack defense 807 | 808 | commit 69af3678bbfc0d52b3eaf2a8fafa6fc3e594a96b 809 | Author: Friedrich Doku 810 | Date: Tue Jan 17 09:59:26 2023 -0500 811 | 812 | update 813 | 814 | commit 2198fccdd0b685a53f5ec29257709e1c778cb15e 815 | Author: Friedrich Doku 816 | Date: Tue Jan 17 09:57:43 2023 -0500 817 | 818 | Added files for cold boot defense 819 | 820 | commit 133f7b2536aef49afd65bc5a2ce22033e5da63af 821 | Author: Patrick Schleizer 822 | Date: Mon Jan 9 07:01:40 2023 -0500 823 | 824 | bumped changelog version 825 | 826 | commit 137fa42cf368349cefd918a4ae80009b7f172896 827 | Author: Patrick Schleizer 828 | Date: Mon Jan 9 07:01:11 2023 -0500 829 | 830 | description 831 | 832 | commit 8dfc8f85965c9793f7f7470843b8297f4a6181bf 833 | Author: Patrick Schleizer 834 | Date: Mon Jan 9 06:59:02 2023 -0500 835 | 836 | genmkfile uch 837 | 838 | commit 60509c0861548cfe02dfb7c1f92f915a2517493e 839 | Author: Patrick Schleizer 840 | Date: Mon Jan 9 06:57:54 2023 -0500 841 | 842 | debinstfile 843 | 844 | commit 5acf24a397f5229443790d6933ea9180eb381ccf 845 | Author: Patrick Schleizer 846 | Date: Mon Jan 9 06:50:58 2023 -0500 847 | 848 | readme 849 | 850 | commit 10cde49d46e28fcb80dc392de35d6300b4d14d87 851 | Author: Patrick Schleizer 852 | Date: Mon Jan 9 06:43:30 2023 -0500 853 | 854 | Depends: helper-scripts 855 | 856 | because contains kernel-file-detect and initrd-file-detect 857 | 858 | commit 807104d788d1614ef95f05afa5e880e6d560d983 859 | Author: Patrick Schleizer 860 | Date: Mon Jan 9 06:42:18 2023 -0500 861 | 862 | kexec is required for cold boot attack defense. 863 | 864 | kernel.kexec_load_disabled=0 865 | 866 | commit 918eff372715e18fd7e8db5035b12450070b54a5 867 | Author: Patrick Schleizer 868 | Date: Mon Jan 9 06:26:00 2023 -0500 869 | 870 | comments 871 | 872 | commit 1532e66f6a952c323a676d00e9775ab1ca35cbc0 873 | Author: Patrick Schleizer 874 | Date: Mon Jan 9 06:23:46 2023 -0500 875 | 876 | import /etc/default/grub.d/40_ram-wipe.cfg 877 | 878 | from security-misc 879 | 880 | commit ad33c1306fe73af102b98f8c6ea30ec49951b046 881 | Author: Patrick Schleizer 882 | Date: Mon Jan 9 06:17:37 2023 -0500 883 | 884 | initial commit 885 | -------------------------------------------------------------------------------- /COPYING: -------------------------------------------------------------------------------- 1 | Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ 2 | 3 | Files: * 4 | Copyright: 2012 - 2025 ENCRYPTED SUPPORT LLC 5 | License: AGPL-3+ 6 | 7 | License: AGPL-3+ 8 | GNU AFFERO GENERAL PUBLIC LICENSE 9 | Version 3, 19 November 2007 10 | . 11 | Copyright (C) 2007 Free Software Foundation, Inc. 12 | Everyone is permitted to copy and distribute verbatim copies 13 | of this license document, but changing it is not allowed. 14 | . 15 | Preamble 16 | . 17 | The GNU Affero General Public License is a free, copyleft license for 18 | software and other kinds of works, specifically designed to ensure 19 | cooperation with the community in the case of network server software. 20 | . 21 | The licenses for most software and other practical works are designed 22 | to take away your freedom to share and change the works. By contrast, 23 | our General Public Licenses are intended to guarantee your freedom to 24 | share and change all versions of a program--to make sure it remains free 25 | software for all its users. 26 | . 27 | When we speak of free software, we are referring to freedom, not 28 | price. Our General Public Licenses are designed to make sure that you 29 | have the freedom to distribute copies of free software (and charge for 30 | them if you wish), that you receive source code or can get it if you 31 | want it, that you can change the software or use pieces of it in new 32 | free programs, and that you know you can do these things. 33 | . 34 | Developers that use our General Public Licenses protect your rights 35 | with two steps: (1) assert copyright on the software, and (2) offer 36 | you this License which gives you legal permission to copy, distribute 37 | and/or modify the software. 38 | . 39 | A secondary benefit of defending all users' freedom is that 40 | improvements made in alternate versions of the program, if they 41 | receive widespread use, become available for other developers to 42 | incorporate. Many developers of free software are heartened and 43 | encouraged by the resulting cooperation. However, in the case of 44 | software used on network servers, this result may fail to come about. 45 | The GNU General Public License permits making a modified version and 46 | letting the public access it on a server without ever releasing its 47 | source code to the public. 48 | . 49 | The GNU Affero General Public License is designed specifically to 50 | ensure that, in such cases, the modified source code becomes available 51 | to the community. It requires the operator of a network server to 52 | provide the source code of the modified version running there to the 53 | users of that server. Therefore, public use of a modified version, on 54 | a publicly accessible server, gives the public access to the source 55 | code of the modified version. 56 | . 57 | An older license, called the Affero General Public License and 58 | published by Affero, was designed to accomplish similar goals. This is 59 | a different license, not a version of the Affero GPL, but Affero has 60 | released a new version of the Affero GPL which permits relicensing under 61 | this license. 62 | . 63 | The precise terms and conditions for copying, distribution and 64 | modification follow. 65 | . 66 | TERMS AND CONDITIONS 67 | . 68 | 0. Definitions. 69 | . 70 | "This License" refers to version 3 of the GNU Affero General Public License. 71 | . 72 | "Copyright" also means copyright-like laws that apply to other kinds of 73 | works, such as semiconductor masks. 74 | . 75 | "The Program" refers to any copyrightable work licensed under this 76 | License. Each licensee is addressed as "you". "Licensees" and 77 | "recipients" may be individuals or organizations. 78 | . 79 | To "modify" a work means to copy from or adapt all or part of the work 80 | in a fashion requiring copyright permission, other than the making of an 81 | exact copy. The resulting work is called a "modified version" of the 82 | earlier work or a work "based on" the earlier work. 83 | . 84 | A "covered work" means either the unmodified Program or a work based 85 | on the Program. 86 | . 87 | To "propagate" a work means to do anything with it that, without 88 | permission, would make you directly or secondarily liable for 89 | infringement under applicable copyright law, except executing it on a 90 | computer or modifying a private copy. Propagation includes copying, 91 | distribution (with or without modification), making available to the 92 | public, and in some countries other activities as well. 93 | . 94 | To "convey" a work means any kind of propagation that enables other 95 | parties to make or receive copies. Mere interaction with a user through 96 | a computer network, with no transfer of a copy, is not conveying. 97 | . 98 | An interactive user interface displays "Appropriate Legal Notices" 99 | to the extent that it includes a convenient and prominently visible 100 | feature that (1) displays an appropriate copyright notice, and (2) 101 | tells the user that there is no warranty for the work (except to the 102 | extent that warranties are provided), that licensees may convey the 103 | work under this License, and how to view a copy of this License. If 104 | the interface presents a list of user commands or options, such as a 105 | menu, a prominent item in the list meets this criterion. 106 | . 107 | 1. Source Code. 108 | . 109 | The "source code" for a work means the preferred form of the work 110 | for making modifications to it. "Object code" means any non-source 111 | form of a work. 112 | . 113 | A "Standard Interface" means an interface that either is an official 114 | standard defined by a recognized standards body, or, in the case of 115 | interfaces specified for a particular programming language, one that 116 | is widely used among developers working in that language. 117 | . 118 | The "System Libraries" of an executable work include anything, other 119 | than the work as a whole, that (a) is included in the normal form of 120 | packaging a Major Component, but which is not part of that Major 121 | Component, and (b) serves only to enable use of the work with that 122 | Major Component, or to implement a Standard Interface for which an 123 | implementation is available to the public in source code form. A 124 | "Major Component", in this context, means a major essential component 125 | (kernel, window system, and so on) of the specific operating system 126 | (if any) on which the executable work runs, or a compiler used to 127 | produce the work, or an object code interpreter used to run it. 128 | . 129 | The "Corresponding Source" for a work in object code form means all 130 | the source code needed to generate, install, and (for an executable 131 | work) run the object code and to modify the work, including scripts to 132 | control those activities. However, it does not include the work's 133 | System Libraries, or general-purpose tools or generally available free 134 | programs which are used unmodified in performing those activities but 135 | which are not part of the work. For example, Corresponding Source 136 | includes interface definition files associated with source files for 137 | the work, and the source code for shared libraries and dynamically 138 | linked subprograms that the work is specifically designed to require, 139 | such as by intimate data communication or control flow between those 140 | subprograms and other parts of the work. 141 | . 142 | The Corresponding Source need not include anything that users 143 | can regenerate automatically from other parts of the Corresponding 144 | Source. 145 | . 146 | The Corresponding Source for a work in source code form is that 147 | same work. 148 | . 149 | 2. Basic Permissions. 150 | . 151 | All rights granted under this License are granted for the term of 152 | copyright on the Program, and are irrevocable provided the stated 153 | conditions are met. This License explicitly affirms your unlimited 154 | permission to run the unmodified Program. The output from running a 155 | covered work is covered by this License only if the output, given its 156 | content, constitutes a covered work. This License acknowledges your 157 | rights of fair use or other equivalent, as provided by copyright law. 158 | . 159 | You may make, run and propagate covered works that you do not 160 | convey, without conditions so long as your license otherwise remains 161 | in force. You may convey covered works to others for the sole purpose 162 | of having them make modifications exclusively for you, or provide you 163 | with facilities for running those works, provided that you comply with 164 | the terms of this License in conveying all material for which you do 165 | not control copyright. Those thus making or running the covered works 166 | for you must do so exclusively on your behalf, under your direction 167 | and control, on terms that prohibit them from making any copies of 168 | your copyrighted material outside their relationship with you. 169 | . 170 | Conveying under any other circumstances is permitted solely under 171 | the conditions stated below. Sublicensing is not allowed; section 10 172 | makes it unnecessary. 173 | . 174 | 3. Protecting Users' Legal Rights From Anti-Circumvention Law. 175 | . 176 | No covered work shall be deemed part of an effective technological 177 | measure under any applicable law fulfilling obligations under article 178 | 11 of the WIPO copyright treaty adopted on 20 December 1996, or 179 | similar laws prohibiting or restricting circumvention of such 180 | measures. 181 | . 182 | When you convey a covered work, you waive any legal power to forbid 183 | circumvention of technological measures to the extent such circumvention 184 | is effected by exercising rights under this License with respect to 185 | the covered work, and you disclaim any intention to limit operation or 186 | modification of the work as a means of enforcing, against the work's 187 | users, your or third parties' legal rights to forbid circumvention of 188 | technological measures. 189 | . 190 | 4. Conveying Verbatim Copies. 191 | . 192 | You may convey verbatim copies of the Program's source code as you 193 | receive it, in any medium, provided that you conspicuously and 194 | appropriately publish on each copy an appropriate copyright notice; 195 | keep intact all notices stating that this License and any 196 | non-permissive terms added in accord with section 7 apply to the code; 197 | keep intact all notices of the absence of any warranty; and give all 198 | recipients a copy of this License along with the Program. 199 | . 200 | You may charge any price or no price for each copy that you convey, 201 | and you may offer support or warranty protection for a fee. 202 | . 203 | 5. Conveying Modified Source Versions. 204 | . 205 | You may convey a work based on the Program, or the modifications to 206 | produce it from the Program, in the form of source code under the 207 | terms of section 4, provided that you also meet all of these conditions: 208 | . 209 | a) The work must carry prominent notices stating that you modified 210 | it, and giving a relevant date. 211 | . 212 | b) The work must carry prominent notices stating that it is 213 | released under this License and any conditions added under section 214 | 7. This requirement modifies the requirement in section 4 to 215 | "keep intact all notices". 216 | . 217 | c) You must license the entire work, as a whole, under this 218 | License to anyone who comes into possession of a copy. This 219 | License will therefore apply, along with any applicable section 7 220 | additional terms, to the whole of the work, and all its parts, 221 | regardless of how they are packaged. This License gives no 222 | permission to license the work in any other way, but it does not 223 | invalidate such permission if you have separately received it. 224 | . 225 | d) If the work has interactive user interfaces, each must display 226 | Appropriate Legal Notices; however, if the Program has interactive 227 | interfaces that do not display Appropriate Legal Notices, your 228 | work need not make them do so. 229 | . 230 | A compilation of a covered work with other separate and independent 231 | works, which are not by their nature extensions of the covered work, 232 | and which are not combined with it such as to form a larger program, 233 | in or on a volume of a storage or distribution medium, is called an 234 | "aggregate" if the compilation and its resulting copyright are not 235 | used to limit the access or legal rights of the compilation's users 236 | beyond what the individual works permit. Inclusion of a covered work 237 | in an aggregate does not cause this License to apply to the other 238 | parts of the aggregate. 239 | . 240 | 6. Conveying Non-Source Forms. 241 | . 242 | You may convey a covered work in object code form under the terms 243 | of sections 4 and 5, provided that you also convey the 244 | machine-readable Corresponding Source under the terms of this License, 245 | in one of these ways: 246 | . 247 | a) Convey the object code in, or embodied in, a physical product 248 | (including a physical distribution medium), accompanied by the 249 | Corresponding Source fixed on a durable physical medium 250 | customarily used for software interchange. 251 | . 252 | b) Convey the object code in, or embodied in, a physical product 253 | (including a physical distribution medium), accompanied by a 254 | written offer, valid for at least three years and valid for as 255 | long as you offer spare parts or customer support for that product 256 | model, to give anyone who possesses the object code either (1) a 257 | copy of the Corresponding Source for all the software in the 258 | product that is covered by this License, on a durable physical 259 | medium customarily used for software interchange, for a price no 260 | more than your reasonable cost of physically performing this 261 | conveying of source, or (2) access to copy the 262 | Corresponding Source from a network server at no charge. 263 | . 264 | c) Convey individual copies of the object code with a copy of the 265 | written offer to provide the Corresponding Source. This 266 | alternative is allowed only occasionally and noncommercially, and 267 | only if you received the object code with such an offer, in accord 268 | with subsection 6b. 269 | . 270 | d) Convey the object code by offering access from a designated 271 | place (gratis or for a charge), and offer equivalent access to the 272 | Corresponding Source in the same way through the same place at no 273 | further charge. You need not require recipients to copy the 274 | Corresponding Source along with the object code. If the place to 275 | copy the object code is a network server, the Corresponding Source 276 | may be on a different server (operated by you or a third party) 277 | that supports equivalent copying facilities, provided you maintain 278 | clear directions next to the object code saying where to find the 279 | Corresponding Source. Regardless of what server hosts the 280 | Corresponding Source, you remain obligated to ensure that it is 281 | available for as long as needed to satisfy these requirements. 282 | . 283 | e) Convey the object code using peer-to-peer transmission, provided 284 | you inform other peers where the object code and Corresponding 285 | Source of the work are being offered to the general public at no 286 | charge under subsection 6d. 287 | . 288 | A separable portion of the object code, whose source code is excluded 289 | from the Corresponding Source as a System Library, need not be 290 | included in conveying the object code work. 291 | . 292 | A "User Product" is either (1) a "consumer product", which means any 293 | tangible personal property which is normally used for personal, family, 294 | or household purposes, or (2) anything designed or sold for incorporation 295 | into a dwelling. In determining whether a product is a consumer product, 296 | doubtful cases shall be resolved in favor of coverage. For a particular 297 | product received by a particular user, "normally used" refers to a 298 | typical or common use of that class of product, regardless of the status 299 | of the particular user or of the way in which the particular user 300 | actually uses, or expects or is expected to use, the product. A product 301 | is a consumer product regardless of whether the product has substantial 302 | commercial, industrial or non-consumer uses, unless such uses represent 303 | the only significant mode of use of the product. 304 | . 305 | "Installation Information" for a User Product means any methods, 306 | procedures, authorization keys, or other information required to install 307 | and execute modified versions of a covered work in that User Product from 308 | a modified version of its Corresponding Source. The information must 309 | suffice to ensure that the continued functioning of the modified object 310 | code is in no case prevented or interfered with solely because 311 | modification has been made. 312 | . 313 | If you convey an object code work under this section in, or with, or 314 | specifically for use in, a User Product, and the conveying occurs as 315 | part of a transaction in which the right of possession and use of the 316 | User Product is transferred to the recipient in perpetuity or for a 317 | fixed term (regardless of how the transaction is characterized), the 318 | Corresponding Source conveyed under this section must be accompanied 319 | by the Installation Information. But this requirement does not apply 320 | if neither you nor any third party retains the ability to install 321 | modified object code on the User Product (for example, the work has 322 | been installed in ROM). 323 | . 324 | The requirement to provide Installation Information does not include a 325 | requirement to continue to provide support service, warranty, or updates 326 | for a work that has been modified or installed by the recipient, or for 327 | the User Product in which it has been modified or installed. Access to a 328 | network may be denied when the modification itself materially and 329 | adversely affects the operation of the network or violates the rules and 330 | protocols for communication across the network. 331 | . 332 | Corresponding Source conveyed, and Installation Information provided, 333 | in accord with this section must be in a format that is publicly 334 | documented (and with an implementation available to the public in 335 | source code form), and must require no special password or key for 336 | unpacking, reading or copying. 337 | . 338 | 7. Additional Terms. 339 | . 340 | "Additional permissions" are terms that supplement the terms of this 341 | License by making exceptions from one or more of its conditions. 342 | Additional permissions that are applicable to the entire Program shall 343 | be treated as though they were included in this License, to the extent 344 | that they are valid under applicable law. If additional permissions 345 | apply only to part of the Program, that part may be used separately 346 | under those permissions, but the entire Program remains governed by 347 | this License without regard to the additional permissions. 348 | . 349 | When you convey a copy of a covered work, you may at your option 350 | remove any additional permissions from that copy, or from any part of 351 | it. (Additional permissions may be written to require their own 352 | removal in certain cases when you modify the work.) You may place 353 | additional permissions on material, added by you to a covered work, 354 | for which you have or can give appropriate copyright permission. 355 | . 356 | Notwithstanding any other provision of this License, for material you 357 | add to a covered work, you may (if authorized by the copyright holders of 358 | that material) supplement the terms of this License with terms: 359 | . 360 | a) Disclaiming warranty or limiting liability differently from the 361 | terms of sections 15 and 16 of this License; or 362 | . 363 | b) Requiring preservation of specified reasonable legal notices or 364 | author attributions in that material or in the Appropriate Legal 365 | Notices displayed by works containing it; or 366 | . 367 | c) Prohibiting misrepresentation of the origin of that material, or 368 | requiring that modified versions of such material be marked in 369 | reasonable ways as different from the original version; or 370 | . 371 | d) Limiting the use for publicity purposes of names of licensors or 372 | authors of the material; or 373 | . 374 | e) Declining to grant rights under trademark law for use of some 375 | trade names, trademarks, or service marks; or 376 | . 377 | f) Requiring indemnification of licensors and authors of that 378 | material by anyone who conveys the material (or modified versions of 379 | it) with contractual assumptions of liability to the recipient, for 380 | any liability that these contractual assumptions directly impose on 381 | those licensors and authors. 382 | . 383 | All other non-permissive additional terms are considered "further 384 | restrictions" within the meaning of section 10. If the Program as you 385 | received it, or any part of it, contains a notice stating that it is 386 | governed by this License along with a term that is a further 387 | restriction, you may remove that term. If a license document contains 388 | a further restriction but permits relicensing or conveying under this 389 | License, you may add to a covered work material governed by the terms 390 | of that license document, provided that the further restriction does 391 | not survive such relicensing or conveying. 392 | . 393 | If you add terms to a covered work in accord with this section, you 394 | must place, in the relevant source files, a statement of the 395 | additional terms that apply to those files, or a notice indicating 396 | where to find the applicable terms. 397 | . 398 | Additional terms, permissive or non-permissive, may be stated in the 399 | form of a separately written license, or stated as exceptions; 400 | the above requirements apply either way. 401 | . 402 | 8. Termination. 403 | . 404 | You may not propagate or modify a covered work except as expressly 405 | provided under this License. Any attempt otherwise to propagate or 406 | modify it is void, and will automatically terminate your rights under 407 | this License (including any patent licenses granted under the third 408 | paragraph of section 11). 409 | . 410 | However, if you cease all violation of this License, then your 411 | license from a particular copyright holder is reinstated (a) 412 | provisionally, unless and until the copyright holder explicitly and 413 | finally terminates your license, and (b) permanently, if the copyright 414 | holder fails to notify you of the violation by some reasonable means 415 | prior to 60 days after the cessation. 416 | . 417 | Moreover, your license from a particular copyright holder is 418 | reinstated permanently if the copyright holder notifies you of the 419 | violation by some reasonable means, this is the first time you have 420 | received notice of violation of this License (for any work) from that 421 | copyright holder, and you cure the violation prior to 30 days after 422 | your receipt of the notice. 423 | . 424 | Termination of your rights under this section does not terminate the 425 | licenses of parties who have received copies or rights from you under 426 | this License. If your rights have been terminated and not permanently 427 | reinstated, you do not qualify to receive new licenses for the same 428 | material under section 10. 429 | . 430 | 9. Acceptance Not Required for Having Copies. 431 | . 432 | You are not required to accept this License in order to receive or 433 | run a copy of the Program. Ancillary propagation of a covered work 434 | occurring solely as a consequence of using peer-to-peer transmission 435 | to receive a copy likewise does not require acceptance. However, 436 | nothing other than this License grants you permission to propagate or 437 | modify any covered work. These actions infringe copyright if you do 438 | not accept this License. Therefore, by modifying or propagating a 439 | covered work, you indicate your acceptance of this License to do so. 440 | . 441 | 10. Automatic Licensing of Downstream Recipients. 442 | . 443 | Each time you convey a covered work, the recipient automatically 444 | receives a license from the original licensors, to run, modify and 445 | propagate that work, subject to this License. You are not responsible 446 | for enforcing compliance by third parties with this License. 447 | . 448 | An "entity transaction" is a transaction transferring control of an 449 | organization, or substantially all assets of one, or subdividing an 450 | organization, or merging organizations. If propagation of a covered 451 | work results from an entity transaction, each party to that 452 | transaction who receives a copy of the work also receives whatever 453 | licenses to the work the party's predecessor in interest had or could 454 | give under the previous paragraph, plus a right to possession of the 455 | Corresponding Source of the work from the predecessor in interest, if 456 | the predecessor has it or can get it with reasonable efforts. 457 | . 458 | You may not impose any further restrictions on the exercise of the 459 | rights granted or affirmed under this License. For example, you may 460 | not impose a license fee, royalty, or other charge for exercise of 461 | rights granted under this License, and you may not initiate litigation 462 | (including a cross-claim or counterclaim in a lawsuit) alleging that 463 | any patent claim is infringed by making, using, selling, offering for 464 | sale, or importing the Program or any portion of it. 465 | . 466 | 11. Patents. 467 | . 468 | A "contributor" is a copyright holder who authorizes use under this 469 | License of the Program or a work on which the Program is based. The 470 | work thus licensed is called the contributor's "contributor version". 471 | . 472 | A contributor's "essential patent claims" are all patent claims 473 | owned or controlled by the contributor, whether already acquired or 474 | hereafter acquired, that would be infringed by some manner, permitted 475 | by this License, of making, using, or selling its contributor version, 476 | but do not include claims that would be infringed only as a 477 | consequence of further modification of the contributor version. For 478 | purposes of this definition, "control" includes the right to grant 479 | patent sublicenses in a manner consistent with the requirements of 480 | this License. 481 | . 482 | Each contributor grants you a non-exclusive, worldwide, royalty-free 483 | patent license under the contributor's essential patent claims, to 484 | make, use, sell, offer for sale, import and otherwise run, modify and 485 | propagate the contents of its contributor version. 486 | . 487 | In the following three paragraphs, a "patent license" is any express 488 | agreement or commitment, however denominated, not to enforce a patent 489 | (such as an express permission to practice a patent or covenant not to 490 | sue for patent infringement). To "grant" such a patent license to a 491 | party means to make such an agreement or commitment not to enforce a 492 | patent against the party. 493 | . 494 | If you convey a covered work, knowingly relying on a patent license, 495 | and the Corresponding Source of the work is not available for anyone 496 | to copy, free of charge and under the terms of this License, through a 497 | publicly available network server or other readily accessible means, 498 | then you must either (1) cause the Corresponding Source to be so 499 | available, or (2) arrange to deprive yourself of the benefit of the 500 | patent license for this particular work, or (3) arrange, in a manner 501 | consistent with the requirements of this License, to extend the patent 502 | license to downstream recipients. "Knowingly relying" means you have 503 | actual knowledge that, but for the patent license, your conveying the 504 | covered work in a country, or your recipient's use of the covered work 505 | in a country, would infringe one or more identifiable patents in that 506 | country that you have reason to believe are valid. 507 | . 508 | If, pursuant to or in connection with a single transaction or 509 | arrangement, you convey, or propagate by procuring conveyance of, a 510 | covered work, and grant a patent license to some of the parties 511 | receiving the covered work authorizing them to use, propagate, modify 512 | or convey a specific copy of the covered work, then the patent license 513 | you grant is automatically extended to all recipients of the covered 514 | work and works based on it. 515 | . 516 | A patent license is "discriminatory" if it does not include within 517 | the scope of its coverage, prohibits the exercise of, or is 518 | conditioned on the non-exercise of one or more of the rights that are 519 | specifically granted under this License. You may not convey a covered 520 | work if you are a party to an arrangement with a third party that is 521 | in the business of distributing software, under which you make payment 522 | to the third party based on the extent of your activity of conveying 523 | the work, and under which the third party grants, to any of the 524 | parties who would receive the covered work from you, a discriminatory 525 | patent license (a) in connection with copies of the covered work 526 | conveyed by you (or copies made from those copies), or (b) primarily 527 | for and in connection with specific products or compilations that 528 | contain the covered work, unless you entered into that arrangement, 529 | or that patent license was granted, prior to 28 March 2007. 530 | . 531 | Nothing in this License shall be construed as excluding or limiting 532 | any implied license or other defenses to infringement that may 533 | otherwise be available to you under applicable patent law. 534 | . 535 | 12. No Surrender of Others' Freedom. 536 | . 537 | If conditions are imposed on you (whether by court order, agreement or 538 | otherwise) that contradict the conditions of this License, they do not 539 | excuse you from the conditions of this License. If you cannot convey a 540 | covered work so as to satisfy simultaneously your obligations under this 541 | License and any other pertinent obligations, then as a consequence you may 542 | not convey it at all. For example, if you agree to terms that obligate you 543 | to collect a royalty for further conveying from those to whom you convey 544 | the Program, the only way you could satisfy both those terms and this 545 | License would be to refrain entirely from conveying the Program. 546 | . 547 | 13. Remote Network Interaction; Use with the GNU General Public License. 548 | . 549 | Notwithstanding any other provision of this License, if you modify the 550 | Program, your modified version must prominently offer all users 551 | interacting with it remotely through a computer network (if your version 552 | supports such interaction) an opportunity to receive the Corresponding 553 | Source of your version by providing access to the Corresponding Source 554 | from a network server at no charge, through some standard or customary 555 | means of facilitating copying of software. This Corresponding Source 556 | shall include the Corresponding Source for any work covered by version 3 557 | of the GNU General Public License that is incorporated pursuant to the 558 | following paragraph. 559 | . 560 | Notwithstanding any other provision of this License, you have 561 | permission to link or combine any covered work with a work licensed 562 | under version 3 of the GNU General Public License into a single 563 | combined work, and to convey the resulting work. The terms of this 564 | License will continue to apply to the part which is the covered work, 565 | but the work with which it is combined will remain governed by version 566 | 3 of the GNU General Public License. 567 | . 568 | 14. Revised Versions of this License. 569 | . 570 | The Free Software Foundation may publish revised and/or new versions of 571 | the GNU Affero General Public License from time to time. Such new versions 572 | will be similar in spirit to the present version, but may differ in detail to 573 | address new problems or concerns. 574 | . 575 | Each version is given a distinguishing version number. If the 576 | Program specifies that a certain numbered version of the GNU Affero General 577 | Public License "or any later version" applies to it, you have the 578 | option of following the terms and conditions either of that numbered 579 | version or of any later version published by the Free Software 580 | Foundation. If the Program does not specify a version number of the 581 | GNU Affero General Public License, you may choose any version ever published 582 | by the Free Software Foundation. 583 | . 584 | If the Program specifies that a proxy can decide which future 585 | versions of the GNU Affero General Public License can be used, that proxy's 586 | public statement of acceptance of a version permanently authorizes you 587 | to choose that version for the Program. 588 | . 589 | Later license versions may give you additional or different 590 | permissions. However, no additional obligations are imposed on any 591 | author or copyright holder as a result of your choosing to follow a 592 | later version. 593 | . 594 | 15. Disclaimer of Warranty. 595 | . 596 | THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY 597 | APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT 598 | HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY 599 | OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, 600 | THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 601 | PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM 602 | IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF 603 | ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 604 | . 605 | 16. Limitation of Liability. 606 | . 607 | IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING 608 | WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS 609 | THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY 610 | GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE 611 | USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF 612 | DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD 613 | PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), 614 | EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF 615 | SUCH DAMAGES. 616 | . 617 | 17. Interpretation of Sections 15 and 16. 618 | . 619 | If the disclaimer of warranty and limitation of liability provided 620 | above cannot be given local legal effect according to their terms, 621 | reviewing courts shall apply local law that most closely approximates 622 | an absolute waiver of all civil liability in connection with the 623 | Program, unless a warranty or assumption of liability accompanies a 624 | copy of the Program in return for a fee. 625 | . 626 | END OF TERMS AND CONDITIONS 627 | . 628 | How to Apply These Terms to Your New Programs 629 | . 630 | If you develop a new program, and you want it to be of the greatest 631 | possible use to the public, the best way to achieve this is to make it 632 | free software which everyone can redistribute and change under these terms. 633 | . 634 | To do so, attach the following notices to the program. It is safest 635 | to attach them to the start of each source file to most effectively 636 | state the exclusion of warranty; and each file should have at least 637 | the "copyright" line and a pointer to where the full notice is found. 638 | . 639 | 640 | Copyright (C) 641 | . 642 | This program is free software: you can redistribute it and/or modify 643 | it under the terms of the GNU Affero General Public License as published by 644 | the Free Software Foundation, either version 3 of the License, or 645 | (at your option) any later version. 646 | . 647 | This program is distributed in the hope that it will be useful, 648 | but WITHOUT ANY WARRANTY; without even the implied warranty of 649 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 650 | GNU Affero General Public License for more details. 651 | . 652 | You should have received a copy of the GNU Affero General Public License 653 | along with this program. If not, see . 654 | . 655 | Also add information on how to contact you by electronic and paper mail. 656 | . 657 | If your software can interact with users remotely through a computer 658 | network, you should also make sure that it provides a way for users to 659 | get its source. For example, if your program is a web application, its 660 | interface could display a "Source" link that leads users to an archive 661 | of the code. There are many ways you could offer source, and different 662 | solutions will be better for different programs; see section 13 for the 663 | specific requirements. 664 | . 665 | You should also get your employer (if you work as a programmer) or school, 666 | if any, to sign a "copyright disclaimer" for the program, if necessary. 667 | For more information on this, and how to apply and follow the GNU AGPL, see 668 | . 669 | -------------------------------------------------------------------------------- /debian/copyright: -------------------------------------------------------------------------------- 1 | Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ 2 | 3 | Files: * 4 | Copyright: 2012 - 2025 ENCRYPTED SUPPORT LLC 5 | License: AGPL-3+ 6 | 7 | License: AGPL-3+ 8 | GNU AFFERO GENERAL PUBLIC LICENSE 9 | Version 3, 19 November 2007 10 | . 11 | Copyright (C) 2007 Free Software Foundation, Inc. 12 | Everyone is permitted to copy and distribute verbatim copies 13 | of this license document, but changing it is not allowed. 14 | . 15 | Preamble 16 | . 17 | The GNU Affero General Public License is a free, copyleft license for 18 | software and other kinds of works, specifically designed to ensure 19 | cooperation with the community in the case of network server software. 20 | . 21 | The licenses for most software and other practical works are designed 22 | to take away your freedom to share and change the works. By contrast, 23 | our General Public Licenses are intended to guarantee your freedom to 24 | share and change all versions of a program--to make sure it remains free 25 | software for all its users. 26 | . 27 | When we speak of free software, we are referring to freedom, not 28 | price. Our General Public Licenses are designed to make sure that you 29 | have the freedom to distribute copies of free software (and charge for 30 | them if you wish), that you receive source code or can get it if you 31 | want it, that you can change the software or use pieces of it in new 32 | free programs, and that you know you can do these things. 33 | . 34 | Developers that use our General Public Licenses protect your rights 35 | with two steps: (1) assert copyright on the software, and (2) offer 36 | you this License which gives you legal permission to copy, distribute 37 | and/or modify the software. 38 | . 39 | A secondary benefit of defending all users' freedom is that 40 | improvements made in alternate versions of the program, if they 41 | receive widespread use, become available for other developers to 42 | incorporate. Many developers of free software are heartened and 43 | encouraged by the resulting cooperation. However, in the case of 44 | software used on network servers, this result may fail to come about. 45 | The GNU General Public License permits making a modified version and 46 | letting the public access it on a server without ever releasing its 47 | source code to the public. 48 | . 49 | The GNU Affero General Public License is designed specifically to 50 | ensure that, in such cases, the modified source code becomes available 51 | to the community. It requires the operator of a network server to 52 | provide the source code of the modified version running there to the 53 | users of that server. Therefore, public use of a modified version, on 54 | a publicly accessible server, gives the public access to the source 55 | code of the modified version. 56 | . 57 | An older license, called the Affero General Public License and 58 | published by Affero, was designed to accomplish similar goals. This is 59 | a different license, not a version of the Affero GPL, but Affero has 60 | released a new version of the Affero GPL which permits relicensing under 61 | this license. 62 | . 63 | The precise terms and conditions for copying, distribution and 64 | modification follow. 65 | . 66 | TERMS AND CONDITIONS 67 | . 68 | 0. Definitions. 69 | . 70 | "This License" refers to version 3 of the GNU Affero General Public License. 71 | . 72 | "Copyright" also means copyright-like laws that apply to other kinds of 73 | works, such as semiconductor masks. 74 | . 75 | "The Program" refers to any copyrightable work licensed under this 76 | License. Each licensee is addressed as "you". "Licensees" and 77 | "recipients" may be individuals or organizations. 78 | . 79 | To "modify" a work means to copy from or adapt all or part of the work 80 | in a fashion requiring copyright permission, other than the making of an 81 | exact copy. The resulting work is called a "modified version" of the 82 | earlier work or a work "based on" the earlier work. 83 | . 84 | A "covered work" means either the unmodified Program or a work based 85 | on the Program. 86 | . 87 | To "propagate" a work means to do anything with it that, without 88 | permission, would make you directly or secondarily liable for 89 | infringement under applicable copyright law, except executing it on a 90 | computer or modifying a private copy. Propagation includes copying, 91 | distribution (with or without modification), making available to the 92 | public, and in some countries other activities as well. 93 | . 94 | To "convey" a work means any kind of propagation that enables other 95 | parties to make or receive copies. Mere interaction with a user through 96 | a computer network, with no transfer of a copy, is not conveying. 97 | . 98 | An interactive user interface displays "Appropriate Legal Notices" 99 | to the extent that it includes a convenient and prominently visible 100 | feature that (1) displays an appropriate copyright notice, and (2) 101 | tells the user that there is no warranty for the work (except to the 102 | extent that warranties are provided), that licensees may convey the 103 | work under this License, and how to view a copy of this License. If 104 | the interface presents a list of user commands or options, such as a 105 | menu, a prominent item in the list meets this criterion. 106 | . 107 | 1. Source Code. 108 | . 109 | The "source code" for a work means the preferred form of the work 110 | for making modifications to it. "Object code" means any non-source 111 | form of a work. 112 | . 113 | A "Standard Interface" means an interface that either is an official 114 | standard defined by a recognized standards body, or, in the case of 115 | interfaces specified for a particular programming language, one that 116 | is widely used among developers working in that language. 117 | . 118 | The "System Libraries" of an executable work include anything, other 119 | than the work as a whole, that (a) is included in the normal form of 120 | packaging a Major Component, but which is not part of that Major 121 | Component, and (b) serves only to enable use of the work with that 122 | Major Component, or to implement a Standard Interface for which an 123 | implementation is available to the public in source code form. A 124 | "Major Component", in this context, means a major essential component 125 | (kernel, window system, and so on) of the specific operating system 126 | (if any) on which the executable work runs, or a compiler used to 127 | produce the work, or an object code interpreter used to run it. 128 | . 129 | The "Corresponding Source" for a work in object code form means all 130 | the source code needed to generate, install, and (for an executable 131 | work) run the object code and to modify the work, including scripts to 132 | control those activities. However, it does not include the work's 133 | System Libraries, or general-purpose tools or generally available free 134 | programs which are used unmodified in performing those activities but 135 | which are not part of the work. For example, Corresponding Source 136 | includes interface definition files associated with source files for 137 | the work, and the source code for shared libraries and dynamically 138 | linked subprograms that the work is specifically designed to require, 139 | such as by intimate data communication or control flow between those 140 | subprograms and other parts of the work. 141 | . 142 | The Corresponding Source need not include anything that users 143 | can regenerate automatically from other parts of the Corresponding 144 | Source. 145 | . 146 | The Corresponding Source for a work in source code form is that 147 | same work. 148 | . 149 | 2. Basic Permissions. 150 | . 151 | All rights granted under this License are granted for the term of 152 | copyright on the Program, and are irrevocable provided the stated 153 | conditions are met. This License explicitly affirms your unlimited 154 | permission to run the unmodified Program. The output from running a 155 | covered work is covered by this License only if the output, given its 156 | content, constitutes a covered work. This License acknowledges your 157 | rights of fair use or other equivalent, as provided by copyright law. 158 | . 159 | You may make, run and propagate covered works that you do not 160 | convey, without conditions so long as your license otherwise remains 161 | in force. You may convey covered works to others for the sole purpose 162 | of having them make modifications exclusively for you, or provide you 163 | with facilities for running those works, provided that you comply with 164 | the terms of this License in conveying all material for which you do 165 | not control copyright. Those thus making or running the covered works 166 | for you must do so exclusively on your behalf, under your direction 167 | and control, on terms that prohibit them from making any copies of 168 | your copyrighted material outside their relationship with you. 169 | . 170 | Conveying under any other circumstances is permitted solely under 171 | the conditions stated below. Sublicensing is not allowed; section 10 172 | makes it unnecessary. 173 | . 174 | 3. Protecting Users' Legal Rights From Anti-Circumvention Law. 175 | . 176 | No covered work shall be deemed part of an effective technological 177 | measure under any applicable law fulfilling obligations under article 178 | 11 of the WIPO copyright treaty adopted on 20 December 1996, or 179 | similar laws prohibiting or restricting circumvention of such 180 | measures. 181 | . 182 | When you convey a covered work, you waive any legal power to forbid 183 | circumvention of technological measures to the extent such circumvention 184 | is effected by exercising rights under this License with respect to 185 | the covered work, and you disclaim any intention to limit operation or 186 | modification of the work as a means of enforcing, against the work's 187 | users, your or third parties' legal rights to forbid circumvention of 188 | technological measures. 189 | . 190 | 4. Conveying Verbatim Copies. 191 | . 192 | You may convey verbatim copies of the Program's source code as you 193 | receive it, in any medium, provided that you conspicuously and 194 | appropriately publish on each copy an appropriate copyright notice; 195 | keep intact all notices stating that this License and any 196 | non-permissive terms added in accord with section 7 apply to the code; 197 | keep intact all notices of the absence of any warranty; and give all 198 | recipients a copy of this License along with the Program. 199 | . 200 | You may charge any price or no price for each copy that you convey, 201 | and you may offer support or warranty protection for a fee. 202 | . 203 | 5. Conveying Modified Source Versions. 204 | . 205 | You may convey a work based on the Program, or the modifications to 206 | produce it from the Program, in the form of source code under the 207 | terms of section 4, provided that you also meet all of these conditions: 208 | . 209 | a) The work must carry prominent notices stating that you modified 210 | it, and giving a relevant date. 211 | . 212 | b) The work must carry prominent notices stating that it is 213 | released under this License and any conditions added under section 214 | 7. This requirement modifies the requirement in section 4 to 215 | "keep intact all notices". 216 | . 217 | c) You must license the entire work, as a whole, under this 218 | License to anyone who comes into possession of a copy. This 219 | License will therefore apply, along with any applicable section 7 220 | additional terms, to the whole of the work, and all its parts, 221 | regardless of how they are packaged. This License gives no 222 | permission to license the work in any other way, but it does not 223 | invalidate such permission if you have separately received it. 224 | . 225 | d) If the work has interactive user interfaces, each must display 226 | Appropriate Legal Notices; however, if the Program has interactive 227 | interfaces that do not display Appropriate Legal Notices, your 228 | work need not make them do so. 229 | . 230 | A compilation of a covered work with other separate and independent 231 | works, which are not by their nature extensions of the covered work, 232 | and which are not combined with it such as to form a larger program, 233 | in or on a volume of a storage or distribution medium, is called an 234 | "aggregate" if the compilation and its resulting copyright are not 235 | used to limit the access or legal rights of the compilation's users 236 | beyond what the individual works permit. Inclusion of a covered work 237 | in an aggregate does not cause this License to apply to the other 238 | parts of the aggregate. 239 | . 240 | 6. Conveying Non-Source Forms. 241 | . 242 | You may convey a covered work in object code form under the terms 243 | of sections 4 and 5, provided that you also convey the 244 | machine-readable Corresponding Source under the terms of this License, 245 | in one of these ways: 246 | . 247 | a) Convey the object code in, or embodied in, a physical product 248 | (including a physical distribution medium), accompanied by the 249 | Corresponding Source fixed on a durable physical medium 250 | customarily used for software interchange. 251 | . 252 | b) Convey the object code in, or embodied in, a physical product 253 | (including a physical distribution medium), accompanied by a 254 | written offer, valid for at least three years and valid for as 255 | long as you offer spare parts or customer support for that product 256 | model, to give anyone who possesses the object code either (1) a 257 | copy of the Corresponding Source for all the software in the 258 | product that is covered by this License, on a durable physical 259 | medium customarily used for software interchange, for a price no 260 | more than your reasonable cost of physically performing this 261 | conveying of source, or (2) access to copy the 262 | Corresponding Source from a network server at no charge. 263 | . 264 | c) Convey individual copies of the object code with a copy of the 265 | written offer to provide the Corresponding Source. This 266 | alternative is allowed only occasionally and noncommercially, and 267 | only if you received the object code with such an offer, in accord 268 | with subsection 6b. 269 | . 270 | d) Convey the object code by offering access from a designated 271 | place (gratis or for a charge), and offer equivalent access to the 272 | Corresponding Source in the same way through the same place at no 273 | further charge. You need not require recipients to copy the 274 | Corresponding Source along with the object code. If the place to 275 | copy the object code is a network server, the Corresponding Source 276 | may be on a different server (operated by you or a third party) 277 | that supports equivalent copying facilities, provided you maintain 278 | clear directions next to the object code saying where to find the 279 | Corresponding Source. Regardless of what server hosts the 280 | Corresponding Source, you remain obligated to ensure that it is 281 | available for as long as needed to satisfy these requirements. 282 | . 283 | e) Convey the object code using peer-to-peer transmission, provided 284 | you inform other peers where the object code and Corresponding 285 | Source of the work are being offered to the general public at no 286 | charge under subsection 6d. 287 | . 288 | A separable portion of the object code, whose source code is excluded 289 | from the Corresponding Source as a System Library, need not be 290 | included in conveying the object code work. 291 | . 292 | A "User Product" is either (1) a "consumer product", which means any 293 | tangible personal property which is normally used for personal, family, 294 | or household purposes, or (2) anything designed or sold for incorporation 295 | into a dwelling. In determining whether a product is a consumer product, 296 | doubtful cases shall be resolved in favor of coverage. For a particular 297 | product received by a particular user, "normally used" refers to a 298 | typical or common use of that class of product, regardless of the status 299 | of the particular user or of the way in which the particular user 300 | actually uses, or expects or is expected to use, the product. A product 301 | is a consumer product regardless of whether the product has substantial 302 | commercial, industrial or non-consumer uses, unless such uses represent 303 | the only significant mode of use of the product. 304 | . 305 | "Installation Information" for a User Product means any methods, 306 | procedures, authorization keys, or other information required to install 307 | and execute modified versions of a covered work in that User Product from 308 | a modified version of its Corresponding Source. The information must 309 | suffice to ensure that the continued functioning of the modified object 310 | code is in no case prevented or interfered with solely because 311 | modification has been made. 312 | . 313 | If you convey an object code work under this section in, or with, or 314 | specifically for use in, a User Product, and the conveying occurs as 315 | part of a transaction in which the right of possession and use of the 316 | User Product is transferred to the recipient in perpetuity or for a 317 | fixed term (regardless of how the transaction is characterized), the 318 | Corresponding Source conveyed under this section must be accompanied 319 | by the Installation Information. But this requirement does not apply 320 | if neither you nor any third party retains the ability to install 321 | modified object code on the User Product (for example, the work has 322 | been installed in ROM). 323 | . 324 | The requirement to provide Installation Information does not include a 325 | requirement to continue to provide support service, warranty, or updates 326 | for a work that has been modified or installed by the recipient, or for 327 | the User Product in which it has been modified or installed. Access to a 328 | network may be denied when the modification itself materially and 329 | adversely affects the operation of the network or violates the rules and 330 | protocols for communication across the network. 331 | . 332 | Corresponding Source conveyed, and Installation Information provided, 333 | in accord with this section must be in a format that is publicly 334 | documented (and with an implementation available to the public in 335 | source code form), and must require no special password or key for 336 | unpacking, reading or copying. 337 | . 338 | 7. Additional Terms. 339 | . 340 | "Additional permissions" are terms that supplement the terms of this 341 | License by making exceptions from one or more of its conditions. 342 | Additional permissions that are applicable to the entire Program shall 343 | be treated as though they were included in this License, to the extent 344 | that they are valid under applicable law. If additional permissions 345 | apply only to part of the Program, that part may be used separately 346 | under those permissions, but the entire Program remains governed by 347 | this License without regard to the additional permissions. 348 | . 349 | When you convey a copy of a covered work, you may at your option 350 | remove any additional permissions from that copy, or from any part of 351 | it. (Additional permissions may be written to require their own 352 | removal in certain cases when you modify the work.) You may place 353 | additional permissions on material, added by you to a covered work, 354 | for which you have or can give appropriate copyright permission. 355 | . 356 | Notwithstanding any other provision of this License, for material you 357 | add to a covered work, you may (if authorized by the copyright holders of 358 | that material) supplement the terms of this License with terms: 359 | . 360 | a) Disclaiming warranty or limiting liability differently from the 361 | terms of sections 15 and 16 of this License; or 362 | . 363 | b) Requiring preservation of specified reasonable legal notices or 364 | author attributions in that material or in the Appropriate Legal 365 | Notices displayed by works containing it; or 366 | . 367 | c) Prohibiting misrepresentation of the origin of that material, or 368 | requiring that modified versions of such material be marked in 369 | reasonable ways as different from the original version; or 370 | . 371 | d) Limiting the use for publicity purposes of names of licensors or 372 | authors of the material; or 373 | . 374 | e) Declining to grant rights under trademark law for use of some 375 | trade names, trademarks, or service marks; or 376 | . 377 | f) Requiring indemnification of licensors and authors of that 378 | material by anyone who conveys the material (or modified versions of 379 | it) with contractual assumptions of liability to the recipient, for 380 | any liability that these contractual assumptions directly impose on 381 | those licensors and authors. 382 | . 383 | All other non-permissive additional terms are considered "further 384 | restrictions" within the meaning of section 10. If the Program as you 385 | received it, or any part of it, contains a notice stating that it is 386 | governed by this License along with a term that is a further 387 | restriction, you may remove that term. If a license document contains 388 | a further restriction but permits relicensing or conveying under this 389 | License, you may add to a covered work material governed by the terms 390 | of that license document, provided that the further restriction does 391 | not survive such relicensing or conveying. 392 | . 393 | If you add terms to a covered work in accord with this section, you 394 | must place, in the relevant source files, a statement of the 395 | additional terms that apply to those files, or a notice indicating 396 | where to find the applicable terms. 397 | . 398 | Additional terms, permissive or non-permissive, may be stated in the 399 | form of a separately written license, or stated as exceptions; 400 | the above requirements apply either way. 401 | . 402 | 8. Termination. 403 | . 404 | You may not propagate or modify a covered work except as expressly 405 | provided under this License. Any attempt otherwise to propagate or 406 | modify it is void, and will automatically terminate your rights under 407 | this License (including any patent licenses granted under the third 408 | paragraph of section 11). 409 | . 410 | However, if you cease all violation of this License, then your 411 | license from a particular copyright holder is reinstated (a) 412 | provisionally, unless and until the copyright holder explicitly and 413 | finally terminates your license, and (b) permanently, if the copyright 414 | holder fails to notify you of the violation by some reasonable means 415 | prior to 60 days after the cessation. 416 | . 417 | Moreover, your license from a particular copyright holder is 418 | reinstated permanently if the copyright holder notifies you of the 419 | violation by some reasonable means, this is the first time you have 420 | received notice of violation of this License (for any work) from that 421 | copyright holder, and you cure the violation prior to 30 days after 422 | your receipt of the notice. 423 | . 424 | Termination of your rights under this section does not terminate the 425 | licenses of parties who have received copies or rights from you under 426 | this License. If your rights have been terminated and not permanently 427 | reinstated, you do not qualify to receive new licenses for the same 428 | material under section 10. 429 | . 430 | 9. Acceptance Not Required for Having Copies. 431 | . 432 | You are not required to accept this License in order to receive or 433 | run a copy of the Program. Ancillary propagation of a covered work 434 | occurring solely as a consequence of using peer-to-peer transmission 435 | to receive a copy likewise does not require acceptance. However, 436 | nothing other than this License grants you permission to propagate or 437 | modify any covered work. These actions infringe copyright if you do 438 | not accept this License. Therefore, by modifying or propagating a 439 | covered work, you indicate your acceptance of this License to do so. 440 | . 441 | 10. Automatic Licensing of Downstream Recipients. 442 | . 443 | Each time you convey a covered work, the recipient automatically 444 | receives a license from the original licensors, to run, modify and 445 | propagate that work, subject to this License. You are not responsible 446 | for enforcing compliance by third parties with this License. 447 | . 448 | An "entity transaction" is a transaction transferring control of an 449 | organization, or substantially all assets of one, or subdividing an 450 | organization, or merging organizations. If propagation of a covered 451 | work results from an entity transaction, each party to that 452 | transaction who receives a copy of the work also receives whatever 453 | licenses to the work the party's predecessor in interest had or could 454 | give under the previous paragraph, plus a right to possession of the 455 | Corresponding Source of the work from the predecessor in interest, if 456 | the predecessor has it or can get it with reasonable efforts. 457 | . 458 | You may not impose any further restrictions on the exercise of the 459 | rights granted or affirmed under this License. For example, you may 460 | not impose a license fee, royalty, or other charge for exercise of 461 | rights granted under this License, and you may not initiate litigation 462 | (including a cross-claim or counterclaim in a lawsuit) alleging that 463 | any patent claim is infringed by making, using, selling, offering for 464 | sale, or importing the Program or any portion of it. 465 | . 466 | 11. Patents. 467 | . 468 | A "contributor" is a copyright holder who authorizes use under this 469 | License of the Program or a work on which the Program is based. The 470 | work thus licensed is called the contributor's "contributor version". 471 | . 472 | A contributor's "essential patent claims" are all patent claims 473 | owned or controlled by the contributor, whether already acquired or 474 | hereafter acquired, that would be infringed by some manner, permitted 475 | by this License, of making, using, or selling its contributor version, 476 | but do not include claims that would be infringed only as a 477 | consequence of further modification of the contributor version. For 478 | purposes of this definition, "control" includes the right to grant 479 | patent sublicenses in a manner consistent with the requirements of 480 | this License. 481 | . 482 | Each contributor grants you a non-exclusive, worldwide, royalty-free 483 | patent license under the contributor's essential patent claims, to 484 | make, use, sell, offer for sale, import and otherwise run, modify and 485 | propagate the contents of its contributor version. 486 | . 487 | In the following three paragraphs, a "patent license" is any express 488 | agreement or commitment, however denominated, not to enforce a patent 489 | (such as an express permission to practice a patent or covenant not to 490 | sue for patent infringement). To "grant" such a patent license to a 491 | party means to make such an agreement or commitment not to enforce a 492 | patent against the party. 493 | . 494 | If you convey a covered work, knowingly relying on a patent license, 495 | and the Corresponding Source of the work is not available for anyone 496 | to copy, free of charge and under the terms of this License, through a 497 | publicly available network server or other readily accessible means, 498 | then you must either (1) cause the Corresponding Source to be so 499 | available, or (2) arrange to deprive yourself of the benefit of the 500 | patent license for this particular work, or (3) arrange, in a manner 501 | consistent with the requirements of this License, to extend the patent 502 | license to downstream recipients. "Knowingly relying" means you have 503 | actual knowledge that, but for the patent license, your conveying the 504 | covered work in a country, or your recipient's use of the covered work 505 | in a country, would infringe one or more identifiable patents in that 506 | country that you have reason to believe are valid. 507 | . 508 | If, pursuant to or in connection with a single transaction or 509 | arrangement, you convey, or propagate by procuring conveyance of, a 510 | covered work, and grant a patent license to some of the parties 511 | receiving the covered work authorizing them to use, propagate, modify 512 | or convey a specific copy of the covered work, then the patent license 513 | you grant is automatically extended to all recipients of the covered 514 | work and works based on it. 515 | . 516 | A patent license is "discriminatory" if it does not include within 517 | the scope of its coverage, prohibits the exercise of, or is 518 | conditioned on the non-exercise of one or more of the rights that are 519 | specifically granted under this License. You may not convey a covered 520 | work if you are a party to an arrangement with a third party that is 521 | in the business of distributing software, under which you make payment 522 | to the third party based on the extent of your activity of conveying 523 | the work, and under which the third party grants, to any of the 524 | parties who would receive the covered work from you, a discriminatory 525 | patent license (a) in connection with copies of the covered work 526 | conveyed by you (or copies made from those copies), or (b) primarily 527 | for and in connection with specific products or compilations that 528 | contain the covered work, unless you entered into that arrangement, 529 | or that patent license was granted, prior to 28 March 2007. 530 | . 531 | Nothing in this License shall be construed as excluding or limiting 532 | any implied license or other defenses to infringement that may 533 | otherwise be available to you under applicable patent law. 534 | . 535 | 12. No Surrender of Others' Freedom. 536 | . 537 | If conditions are imposed on you (whether by court order, agreement or 538 | otherwise) that contradict the conditions of this License, they do not 539 | excuse you from the conditions of this License. If you cannot convey a 540 | covered work so as to satisfy simultaneously your obligations under this 541 | License and any other pertinent obligations, then as a consequence you may 542 | not convey it at all. For example, if you agree to terms that obligate you 543 | to collect a royalty for further conveying from those to whom you convey 544 | the Program, the only way you could satisfy both those terms and this 545 | License would be to refrain entirely from conveying the Program. 546 | . 547 | 13. Remote Network Interaction; Use with the GNU General Public License. 548 | . 549 | Notwithstanding any other provision of this License, if you modify the 550 | Program, your modified version must prominently offer all users 551 | interacting with it remotely through a computer network (if your version 552 | supports such interaction) an opportunity to receive the Corresponding 553 | Source of your version by providing access to the Corresponding Source 554 | from a network server at no charge, through some standard or customary 555 | means of facilitating copying of software. This Corresponding Source 556 | shall include the Corresponding Source for any work covered by version 3 557 | of the GNU General Public License that is incorporated pursuant to the 558 | following paragraph. 559 | . 560 | Notwithstanding any other provision of this License, you have 561 | permission to link or combine any covered work with a work licensed 562 | under version 3 of the GNU General Public License into a single 563 | combined work, and to convey the resulting work. The terms of this 564 | License will continue to apply to the part which is the covered work, 565 | but the work with which it is combined will remain governed by version 566 | 3 of the GNU General Public License. 567 | . 568 | 14. Revised Versions of this License. 569 | . 570 | The Free Software Foundation may publish revised and/or new versions of 571 | the GNU Affero General Public License from time to time. Such new versions 572 | will be similar in spirit to the present version, but may differ in detail to 573 | address new problems or concerns. 574 | . 575 | Each version is given a distinguishing version number. If the 576 | Program specifies that a certain numbered version of the GNU Affero General 577 | Public License "or any later version" applies to it, you have the 578 | option of following the terms and conditions either of that numbered 579 | version or of any later version published by the Free Software 580 | Foundation. If the Program does not specify a version number of the 581 | GNU Affero General Public License, you may choose any version ever published 582 | by the Free Software Foundation. 583 | . 584 | If the Program specifies that a proxy can decide which future 585 | versions of the GNU Affero General Public License can be used, that proxy's 586 | public statement of acceptance of a version permanently authorizes you 587 | to choose that version for the Program. 588 | . 589 | Later license versions may give you additional or different 590 | permissions. However, no additional obligations are imposed on any 591 | author or copyright holder as a result of your choosing to follow a 592 | later version. 593 | . 594 | 15. Disclaimer of Warranty. 595 | . 596 | THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY 597 | APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT 598 | HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY 599 | OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, 600 | THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 601 | PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM 602 | IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF 603 | ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 604 | . 605 | 16. Limitation of Liability. 606 | . 607 | IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING 608 | WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS 609 | THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY 610 | GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE 611 | USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF 612 | DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD 613 | PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), 614 | EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF 615 | SUCH DAMAGES. 616 | . 617 | 17. Interpretation of Sections 15 and 16. 618 | . 619 | If the disclaimer of warranty and limitation of liability provided 620 | above cannot be given local legal effect according to their terms, 621 | reviewing courts shall apply local law that most closely approximates 622 | an absolute waiver of all civil liability in connection with the 623 | Program, unless a warranty or assumption of liability accompanies a 624 | copy of the Program in return for a fee. 625 | . 626 | END OF TERMS AND CONDITIONS 627 | . 628 | How to Apply These Terms to Your New Programs 629 | . 630 | If you develop a new program, and you want it to be of the greatest 631 | possible use to the public, the best way to achieve this is to make it 632 | free software which everyone can redistribute and change under these terms. 633 | . 634 | To do so, attach the following notices to the program. It is safest 635 | to attach them to the start of each source file to most effectively 636 | state the exclusion of warranty; and each file should have at least 637 | the "copyright" line and a pointer to where the full notice is found. 638 | . 639 | 640 | Copyright (C) 641 | . 642 | This program is free software: you can redistribute it and/or modify 643 | it under the terms of the GNU Affero General Public License as published by 644 | the Free Software Foundation, either version 3 of the License, or 645 | (at your option) any later version. 646 | . 647 | This program is distributed in the hope that it will be useful, 648 | but WITHOUT ANY WARRANTY; without even the implied warranty of 649 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 650 | GNU Affero General Public License for more details. 651 | . 652 | You should have received a copy of the GNU Affero General Public License 653 | along with this program. If not, see . 654 | . 655 | Also add information on how to contact you by electronic and paper mail. 656 | . 657 | If your software can interact with users remotely through a computer 658 | network, you should also make sure that it provides a way for users to 659 | get its source. For example, if your program is a web application, its 660 | interface could display a "Source" link that leads users to an archive 661 | of the code. There are many ways you could offer source, and different 662 | solutions will be better for different programs; see section 13 for the 663 | specific requirements. 664 | . 665 | You should also get your employer (if you work as a programmer) or school, 666 | if any, to sign a "copyright disclaimer" for the program, if necessary. 667 | For more information on this, and how to apply and follow the GNU AGPL, see 668 | . 669 | --------------------------------------------------------------------------------