Chris Lamb: Free software activities in November 2020
Here is my monthly update covering what I have been doing in the free software world during November 2020 (previous month):
- Merged a pull request from Jens Nistler for django-slack (my library which provides a convenient wrapper between projects using the Django and the Slack chat platform) to make it compatible with Celery version 5. [...]
- Created a pull request for the Emscripten LLVM-to-WebAssembly compiler to make the Document Object Model codes reproducible. [...]
- Added a link to my deprecated static analyser for Django to point to Richard Tier's Django Doctor. [...]
- As a board member of both the Open Source Initiative and Software in the Public Interest I attended their respective monthly meetings, including the bi-annual OSI multi-day "face-to-face" meetings.
Reproducible Builds One of the original promises of open source software is that distributed peer review and transparency of process results in enhanced end-user security. However, whilst anyone may inspect the source code of free and open source software for malicious flaws, almost all software today is distributed as pre-compiled binaries. This allows nefarious third-parties to compromise systems by injecting malicious code into ostensibly secure software during the various compilation and distribution processes. The motivation behind the Reproducible Builds effort is to ensure no flaws have been introduced during this compilation process by promising identical results are always generated from a given source, thus allowing multiple third-parties to come to a consensus on whether a build was compromised. The project is proud to be a member project of the Software Freedom Conservancy. Conservancy acts as a corporate umbrella allowing projects to operate as non-profit initiatives without managing their own corporate structure. If you like the work of the Conservancy or the Reproducible Builds project, please consider becoming an official supporter.
This month, I:
- Made further progress on an academic paper in collaboration with Stefano Zacchiroli that details the theoretical and practical workings of the reproducible builds distributed consensus scheme.
- Created an upstream pull request for the Emscripten LLVM-to-WebAssembly compiler to make DOM codes reproducible (with a number of followups). [...]
-
In Debian:
- I kept isdebianreproducibleyet.com up to date. [...]
- Submitted 11 patches to fix specific reproducibility issues in amavisd-milter, armagetronad, emscripten, less.js, metakernel, open-iscsi, os-autoinst, python-biom-format, python-pairix, requirejs & sympow.
- Sent a large number of followups to old bugs that had not been updated for some time (for example, #968700, etc.)
-
Categorised a large number of packages and issues in the Reproducible Builds "notes" repository, including categorising three new toolchain issues:
build_path_captured_by_pyuic5,build_path_captured_by_octave&build_path_captured_by_nim. - Drafted, published and publicised last month's report as well maintained the Project's various social media accounts.
- Updated the main Reproducible Builds website and documentation to clarify that
SOURCE_DATE_EPOCHis not Debian specific [...] and make a number of misc cosmetic changes [...][...].
I also made the following changes to diffoscope:
-
Improvements:
- Move the slightly-confusing behaviour if a single file is passed to diffoscope on the command-line to a new
--load-existing-diffcommand. [...] - Ensure the new
diffoscope-minimalpackage that was introduced by Mattia Rizzolo has a different short description from the primarydiffoscopeone. [...] - Refresh the long and short descriptions of all of the Debian packages. [...]
- Move the slightly-confusing behaviour if a single file is passed to diffoscope on the command-line to a new
- Bug fixes:
- Codebase improvements:
Debian I performed the following uploads to the Debian Linux distribution this month:
-
python-django (
2.2.17-1&3.1.3-1) New upstream releases. -
memcached (
1.6.9+dfsg-1) New upstream release.
-
lintian (
2.101.0,2.102.0,2.103.0&2.104.0) New upstream releases. -
xtrlock (
2.14) Mark anautopkgtestas 'superficial'. (#974491) -
bfs (
2.1-1) New upstream release. -
splint (
3.1.2+dfsg-3) Re-upload a previous QA upload of mine (3.1.2+dfsg-2) to ensure the package's transition to the testing distribution. (#974872)
minidlna package which could not be successfully purged from the system without reporting a cannot remove '/var/log/minidlna' error. (#975372)
Debian LTS This month I have worked 18 hours on Debian Long Term Support (LTS) and 12 hours on its sister Extended LTS project, including:
-
Investigated and triaged
codemirror-js,glibc,jupyter-notebook,krb5,libhibernate3-java,raptor2,spice-vdagent&webcit. - 'Frontdesk' duties, participating in mailing list discussions, attending the monthly meeting and organising LTS and ELTS frontdesk allocations for 2021.
-
Issued DLA 2433-1 for the Bouncy Castle cryptography library to prevent an issue where attackers could obtain sensitive information due to observable differences in its responses to invalid input. (
CVE-2020-26939) -
Issued DLA 2434-1 for the GNOME display manager (
gdm3) wheregdm3detecting any users may have causedgdm3to launch the initial system setup, permitting the creation of new users with superuser capabilities. (CVE-2020-16125) -
Issued DLA 2436-1 for the
sddmdisplay manager. Here, local and unprivileged users could create a connection to the X server. (CVE-2020-28049) -
Issued DLA 2437-1 & ELA-308-1 as it was discovered that there was a denial of service vulnerability in the MIT Kerberos network authentication system, krb5. The lack of a limit in an ASN.1 decoder could lead to infinite recursion and allow an attacker to overrun the stack and cause the process to crash. (
CVE-2020-28196) -
Issued DLA 2438-1 and ELA-309-1 to prevent two heap overflow vulnerabilities in
raptor2, a set of parsers for Resource Description Framework (RDF) files used in LibreOffice and other applications. (CVE-2017-18926) -
Issued DLA 2465-1 to correct filename sanitisation issues in a utility used to access PHP Pear, a distribution system for reusable PHP components. (
CVE-2020-28948&CVE-2020-28949)

Currently, the Government procures rice in vast quantities and the farmers are assured at least some basic income, in the states of Punjab and Haryana


PTI News, Nov 27, 2020
Once a year folks interested in Netfilter technologies gather together to discuss past, ongoing and
future works. The Netfilter Workshop is an opportunity to share and discuss new ideas, the state of
the project, bring people together to work & hack and to put faces to people who otherwise are just
email names. This is an event that
Stefano Bravio commented on several open topics for nftables that he is interested on working on.
One of them, issues related to concatenations + vmap issues. He also addressed concerns with
people s expectations when migrating from ipset to nftables. There are several corner features in
ipset that aren t currently supported in nftables, and we should document them. Stefano is also
wondering about some tools to help in the migration. A translation layer like there is in place
for iptables. Eric Gaver commented there are a couple of semantics that will not be suitable for
translation, such as global sets, or sets of sets. But ipset is way simpler than iptables, so a
translation mechanism should probably be created. In any case, there was agreement that anything
that helps people migrate is more than welcome, even if it doesn t support 100% of the use cases.
Stefano is planning to write documentation in the
Welcome to gambaru.de. Here is my monthly report (+ the first week in November) that covers what I have been doing for Debian. If you re interested in Java, Games and LTS topics, this might be interesting for you.
Debian Games


Justice Chandrachud If you don t like a channel then don t watch it. 11th November 2020 .
Information and Broadcasting Ministry bringing OTT services as well as news within its ambit.
Rewrote my build system in C++.
I used to write build rules in Nodejs, but I figured if my projects are mostly C++ I should probably write them in C++.
I wanted to make it a bit more like BUILD files but couldn't really and ended up looking more C++ than I wanted to.
Seems like key-value struct initialization isn't available until C++20.


This month, the Reproducible Builds project restarted our IRC meetings, managing to convene twice: the first time on October 12th (




My maybe most impactful piece of code is
I have a lot of respect for Nadia Eghbal, partly because I can't help to be
jealous of her work on the economics of Free Software
Contrary to what I was expecting, the book feels more like an extension of the
LCA keynote I previously mentioned than Roads and Bridges. Indeed, as made
apparent by the following quote, Eghbal doesn't believe funding to be the
primary problem of FOSS anymore:
Last week I received the official notice: There is now a German company named "Fre(i)e Software GmbH" registered with the German Trade Register.
Founding a New Company
Over the past months I have put my energy into founding a new company. As a freelancing IT consultant I started facing the limitation of other companies having strict policies that forbid the cooperation with one person businesses (Personengesellschaften).
Thus, the requirement for setting up a GmbH business came onto my agenda. I will move some of my business activities into this new company, starting next year.
Policy Ideas
The "Fre(i)e Software GmbH" will be a platform to facilitate the growth and spreading of Free Software on this planet.
Here are some first ideas for company policies:
About a month worth of updates on KDE/Plasma in Debian has accumulated, so here we go. The highlights are: Plasma 5.19.5 based on Qt 5.15 is in Debian/experimental and hopefully soon in Debian/unstable, and my own builds at OBS have been updated to Plasma 5.20.2, Frameworks 5.75, Apps 20.08.2.
Thanks to the dedicated work of the Qt maintainers, Qt 5.15 has finally entered Debian/unstable and we can finally target Plasma 5.20.
OBS packages
The OBS packages as usual follow the latest release, and currently ship KDE Frameworks 5.75, KDE Apps 20.08.2, and new, Plasma 5.20.2. The package sources are as usual (note the different path for the Plasma packages and the App packages, containing the release version!), for Debian/unstable:
The KDE Bugzilla handles a lot of projects and they often match with the repo name, but not always.
For instance we have ancient products and components at Bugzilla, as projects have a lifecycle from playground into Release Service, or Frameworks, sometimes with a change of name.
So you may end up searching Bugzilla quite awhile for the correct product and component to be able to confirm or create bug reports against an application.
Let's have a look at