FreedomBox/debian/control
Sunil Mohan Adapa b64ea720fc
sso: Switch using cryptography module instead of OpenSSL.crypto
Closes: Debian bug #1088760.

- OpenSSL.crypto.sign has been deprecated and in the current version of
python3-openssl in Debian testing, it has been dropped. The recommended
alternative is cryptography.hazmat.primitives. So, use this instead.

- The entire OpenSSL.crypto module is planned to be deprecated in the future.
So, stop using it entirely by using cryptography.hazmat.primitives.

- sso app does not use openssl anymore, so drop dependency on it. Other apps
such as Let's Encrypt do depend on it and but they have their own dependency
declared. The freedombox package on the overall retains on 'openssl' package.

- We are not using the python OpenSSL module anywhere else, so drop dependency
on it.

- Use pathlib to simplify some code.

- Ensure proper permissions on private and public keys as they are being written
to.

Tests:

- Freshly setup container and ensure that first run succeeds. Permission on the
public/private key files and the parent directly are correct. Users are able
login to FreedomBox. SSO works when accessing apps such as transmission.

- Without patches, setup freedombox container. Apply patches. Permission for
keys directory is updated but keys are not overwritten. Login to FreedomBox
works. SSO works when accessing apps such as transmission.

- Run code to perform signatures using old code and ensure that newer code
generates bit-identical signatures.

- Running ./run --list-dependencies show 'openssl' and python3-cryptography.

- Running unit tests works.

- Building debian package works.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: Joseph Nuthalapati <njoseph@riseup.net>
2024-12-14 23:41:13 +05:30

227 lines
6.0 KiB
Plaintext

Source: freedombox
Section: web
Priority: optional
Maintainer: FreedomBox packaging team <freedombox-pkg-team@lists.alioth.debian.org>
Uploaders:
Tzafrir Cohen <tzafrir@debian.org>,
Piotr Ożarowski <piotr@debian.org>,
Petter Reinholdtsen <pere@debian.org>,
Sunil Mohan Adapa <sunil@medhas.org>,
Nick Daly <Nick.M.Daly@gmail.com>,
Federico Ceratto <federico@debian.org>,
James Valleroy <jvalleroy@mailbox.org>,
Build-Depends:
debhelper-compat (= 13),
dblatex,
dh-python,
docbook-xsl,
e2fsprogs,
gir1.2-nm-1.0,
libjs-bootstrap5,
pybuild-plugin-pyproject,
python3-all:any,
python3-apt,
python3-augeas,
python3-bootstrapform,
python3-build,
python3-cherrypy3,
python3-configobj,
python3-cryptography,
python3-dbus,
python3-django (>= 1.11),
python3-django-axes (>= 5.0.0),
python3-django-captcha,
# Explictly depend on ipware as it is optional dependecy for future versions
# of django-axes.
python3-django-ipware (>= 3),
python3-django-stronghold (>= 0.3.0),
python3-gi,
python3-markupsafe,
python3-mypy,
python3-pampy,
python3-paramiko,
python3-pexpect,
python3-pip,
python3-psutil,
python3-pytest,
python3-pytest-cov,
python3-pytest-django,
python3-pytest-runner,
python3-requests,
python3-ruamel.yaml,
python3-setuptools,
python3-setuptools-git,
# python3-tomli is not available in Bullseye
python3-tomli | python3-coverage (<< 6.0),
python3-typeshed,
python3-yaml,
sshpass,
xmlto,
xsltproc
Standards-Version: 4.6.2
Homepage: https://salsa.debian.org/freedombox-team/freedombox
Vcs-Git: https://salsa.debian.org/freedombox-team/freedombox.git
Vcs-Browser: https://salsa.debian.org/freedombox-team/freedombox
Rules-Requires-Root: no
Package: freedombox
Breaks:
freedombox-setup (<< 0.13~),
plinth (<< 0.46.0~),
# Ensure fuse gets replaced by fuse3 on upgrades from buster s.t. sshfs can be installed.
fuse (<< 3),
# If ufw is installed, remove it. See issue 2247.
ufw,
Replaces:
freedombox-setup (<< 0.13~),
plinth (<< 0.46.0~),
Architecture: all
Provides: plinth
Depends:
${python3:Depends},
${misc:Depends},
${freedombox:Depends},
adduser,
augeas-tools,
curl,
debconf,
dnsutils,
e2fsprogs,
fonts-fork-awesome,
fonts-lato,
# sgdisk is used in storage app to expand GPT disks
gdisk,
gettext,
gir1.2-glib-2.0,
gir1.2-nm-1.0,
javascript-common,
ldapscripts,
# For gdbus used to call hooks into service
libglib2.0-bin,
libjs-bootstrap5,
libjs-jquery,
lsof,
netcat-openbsd,
network-manager,
ppp,
pppoe,
python3-apt,
python3-argon2,
python3-augeas,
python3-bootstrapform,
python3-cherrypy3,
python3-configobj,
python3-dbus,
python3-django (>= 1.11),
python3-django-axes (>= 5.0.0),
python3-django-captcha,
# Explictly depend on ipware as it is optional dependecy for future versions
# of django-axes.
python3-django-ipware (>= 3),
python3-django-stronghold,
python3-gi,
python3-markupsafe,
python3-pampy,
python3-paramiko,
python3-pexpect,
python3-psutil,
python3-requests,
python3-ruamel.yaml,
python3-systemd,
python3-yaml,
sudo,
wget,
# Ensure fuse gets replaced by fuse3 on upgrades from buster s.t. sshfs can be installed.
fuse3 (>= 3),
Recommends:
# Priority: standard
bzip2,
# Provides brctl for controlling bridges
bridge-utils,
# Read, write to char devices
devio,
# Create, repair DOS filesystems
dosfstools,
# Priority: standard
file,
# Wifi firmware
firmware-ath9k-htc,
# FreedomBox documentation
freedombox-doc-en,
freedombox-doc-es,
# Monitor system resources
htop,
# Monitor network traffic statistics
iftop,
# Basic network utitlity ping
iputils-ping,
# Manage wireless devices
iw,
# Resolve .local address using mDNS
libnss-mdns,
# Resolve current hostname without /etc/hosts
libnss-myhostname,
# Block repeated failed PAM login attempts
libpam-abl,
# Priority: standard
locales,
# Precompiled data for all locales
locales-all,
# Priority: standard
openssh-client,
# Priority: standard
pciutils,
# Used by unattended-upgrades to check if running on AC power
powermgmt-base,
# fuser, pstree and other utilities
psmisc,
# Tool to kill WLAN, Bluetooth and moble broadband
rfkill,
# Monitor network traffic
tcpdump,
# Basic editor, VIM style
vim-tiny,
# Priority: standard
whois,
# Basic editor, Emacs style
zile,
Description: easy to manage, privacy oriented home server
FreedomBox is designed to be your own inexpensive server at home. It runs free
software and offers an increasing number of services ranging from a calendar or
jabber server to a wiki or VPN. A web interface allows you to easily install
and configure your apps.
.
This package provides the FreedomBox Service (Plinth) which installs,
configures and manages all functions of FreedomBox. The service is managed
using a web interface available at https://localhost/.
Package: freedombox-doc-en
Architecture: all
Multi-Arch: foreign
Section: doc
Depends: ${misc:Depends}
Description: easy to manage, privacy oriented home server - user manual (English)
FreedomBox is designed to be your own inexpensive server at home. It runs free
software and offers an increasing number of services ranging from a calendar or
jabber server to a wiki or VPN. A web interface allows you to easily install
and configure your apps.
.
This package contains the English user manual in HTML and PDF formats. It
describes how to setup and use each application in FreedomBox and FreedomBox
itself. It is accessible from Help menu in the FreedomBox web interface.
Package: freedombox-doc-es
Architecture: all
Multi-Arch: foreign
Section: doc
Depends: ${misc:Depends}
Description: easy to manage, privacy oriented home server - user manual (Spanish)
FreedomBox is designed to be your own inexpensive server at home. It runs free
software and offers an increasing number of services ranging from a calendar or
jabber server to a wiki or VPN. A web interface allows you to easily install
and configure your apps.
.
This package contains the Spanish user manual in HTML and PDF formats. It
describes how to setup and use each application in FreedomBox and FreedomBox
itself. It is accessible from Help menu in the FreedomBox web interface.