Package: dpkg
Version: 1.18.4
Severity: wishlist
Tags: patch
User: bal...@balintreczey.hu
Usertags: hardened1-linux-amd64

Dear Guillem,

I have successfully bootstrapped the hardened1-linux-amd64 [1] port
using a set of patches [2].
I'm working towards making the port ready for being accepted to Debian
and the attached patch is the one adding the port to dpkg.

We already started the discussion regarding the viability of the port
in #760741 and I would like to continue here since the original bug
is closed by adding the sanitize feature area. (Thank you for that.)

Answering your original questions and observations:

2014-09-15 16:44 GMT+02:00 Guillem Jover <guil...@debian.org>:
...
>
> Well, once the architecture is accepted it's “supposed” to have a
> stable os-kernel-cpu ABI defined, it seems to me you want to have the
> freedom to experiment with new developments that might break ABI? In
> which case I think this really should be a private playground until
> something stable has been defined.
For hardened1-* the major difference from the amd64 ABI is enabling ASAN
and I will stick to that.
I also #define __GNU_FEATURESET_HARDENED1__ in libc to let config.guess
detect the gnuhardened1 variant, but this does not need changes in dpkg
and will be upstreamed to GNU config project.

...
> What I meant is that I'm going to add a new feature area named “qa”,
> alongside “hardening”, so it seems it might make sense to have a new
> “sanitizer” (or similar name) feature area, with all new interesting
> sanitizer options, such as asan, ubsan, tsan, lsan, etc. Does that
> make more sense now?
Thank you for adding the feature area, I built my new patches on top of
that.

...
> I added a FAQ entry about all the requirements (I could remember) a
> new port needs to fulfill at the end of
> <https://wiki.debian.org/Teams/Dpkg/FAQ>. As it stands this
> architecture seems to fail several of them.
Thank you for the FAQ, it helped a lot. I now renamed the port to
follow uclibc's example.
Do you think the hardened1-linux-amd64 name would be OK? I'm working on 
fulfilling all requirements.

>> I'm not tied to a name. I think it is reasonable and reflects that
>> this is not a port with a different kernel (hardened-amd64 vs.
>> kfreebsd-i386), but I'm open for better proposals.
>
> Any Linux port needs to use a single word name.
I think the triple-word name also conforms to current practices,
but I see that hardened-amd64 was a no-go.

>
>> I tried to explain the goals of having this new port (improved
>> security, discovering more bugs using the Debian buildds
>> automatically) and I think they make sense.
>
> Oh! I think those goals do make sense, I'm not sure if they make sense
> as part of an entire new port.
Many of the patches I'm filing enable sanitized rebuild of the amd64
archive, but I think a separate port would be an ideal solution both for
the Debian project and for our users.

Thanks in advance,
Balint

[1] 
http://balintreczey.hu/blog/proposing-amd64-hardened-architecture-for-debian/
[2] https://anonscm.debian.org/cgit/users/rbalint/rebootstrap.git/

>From 452b9127410427837428e75062cc9fa17633d974 Mon Sep 17 00:00:00 2001
From: Balint Reczey <bal...@balintreczey.hu>
Date: Sun, 20 Sep 2015 19:24:23 +0200
Subject: [PATCH 1/2] Add hardened1-linux-<cpu> ports support

Those ports ar based on simple <cpu> ports with a set of defaults
changed to provide better security.
---
 ostable      | 1 +
 triplettable | 1 +
 2 files changed, 2 insertions(+)

diff --git a/ostable b/ostable
index 10e0d3a..678196a 100644
--- a/ostable
+++ b/ostable
@@ -23,6 +23,7 @@ gnuabi64-linux		linux-gnuabi64		linux[^-]*-gnuabi64
 gnuspe-linux		linux-gnuspe		linux[^-]*-gnuspe
 gnux32-linux		linux-gnux32		linux[^-]*-gnux32
 gnu-linux		linux-gnu		linux[^-]*(-gnu.*)?
+gnuhardened1-linux	linux-gnuhardened1	linux[^-]*(-gnuhardened1.*)?
 gnueabihf-kfreebsd	kfreebsd-gnueabihf	kfreebsd[^-]*-gnueabihf
 gnu-kfreebsd		kfreebsd-gnu		kfreebsd[^-]*(-gnu.*)?
 gnu-knetbsd		knetbsd-gnu		knetbsd[^-]*(-gnu.*)?
diff --git a/triplettable b/triplettable
index 568a6b9..a2bd1e5 100644
--- a/triplettable
+++ b/triplettable
@@ -16,6 +16,7 @@ gnuabi64-linux-mips64	mips64
 gnuspe-linux-powerpc	powerpcspe
 gnux32-linux-amd64	x32
 gnu-linux-<cpu>		<cpu>
+gnuhardened1-linux-<cpu>	hardened1-linux-<cpu>
 gnueabihf-kfreebsd-arm	kfreebsd-armhf
 gnu-kfreebsd-<cpu>	kfreebsd-<cpu>
 gnu-knetbsd-<cpu>	knetbsd-<cpu>
-- 
2.1.4

Reply via email to