chiark / gitweb /
Mark Wooding [Wed, 13 Nov 2019 18:48:42 +0000 (18:48 +0000)]
subdirmk/autogen.sh: Remove myself as copyright holder
I had nothing to do with this. My original proof-of-concept suggested
that developers use `autoreconf' to bootstrap the working tree.
Signed-off-by: Mark Wooding <mdw@distorted.org.uk>
Ian Jackson [Wed, 13 Nov 2019 18:08:18 +0000 (18:08 +0000)]
more docs changes
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Wed, 13 Nov 2019 18:05:11 +0000 (18:05 +0000)]
more docs fixes
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Wed, 13 Nov 2019 18:00:18 +0000 (18:00 +0000)]
more docs
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Wed, 13 Nov 2019 17:56:08 +0000 (17:56 +0000)]
minor docs change
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Wed, 13 Nov 2019 17:55:46 +0000 (17:55 +0000)]
abbreviate some copyright notices
No change to legal effect.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Wed, 13 Nov 2019 17:55:02 +0000 (17:55 +0000)]
add copyright and licence notices to other files
In many cases I copied bits from mdw's originals, so they are all
potentially mdw's.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Wed, 13 Nov 2019 17:53:55 +0000 (17:53 +0000)]
add copyright and licence notices to example .[ch] files
Checked with mdw on irc that this was his intent.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Wed, 13 Nov 2019 17:51:58 +0000 (17:51 +0000)]
add legal information including clear copyright grant
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Wed, 13 Nov 2019 17:51:30 +0000 (17:51 +0000)]
.gitignore: adjust some comments
Ian Jackson [Wed, 13 Nov 2019 17:50:56 +0000 (17:50 +0000)]
introduce some boilerplate files
Ian Jackson [Wed, 13 Nov 2019 17:20:22 +0000 (17:20 +0000)]
fix stub Makefile to use MAKECMDGOALS
otherwise if you give multiple goals it would reenter main.mk
Ian Jackson [Wed, 13 Nov 2019 17:20:12 +0000 (17:20 +0000)]
actually reject missing .sd.mk files when appropriate
Ian Jackson [Wed, 13 Nov 2019 17:17:28 +0000 (17:17 +0000)]
deps .*.d
Ian Jackson [Wed, 13 Nov 2019 16:52:49 +0000 (16:52 +0000)]
docs
Ian Jackson [Wed, 13 Nov 2019 16:52:43 +0000 (16:52 +0000)]
add missing ignore
Ian Jackson [Wed, 13 Nov 2019 16:52:29 +0000 (16:52 +0000)]
better generation of MAKEFILE_TEMPLATES (dedupe)
Ian Jackson [Wed, 13 Nov 2019 16:52:12 +0000 (16:52 +0000)]
do not demand \W after CAPS and lc
Ian Jackson [Wed, 13 Nov 2019 16:51:53 +0000 (16:51 +0000)]
make TARGETS make :: rules
Ian Jackson [Wed, 13 Nov 2019 16:12:20 +0000 (16:12 +0000)]
change filenames
Ian Jackson [Wed, 13 Nov 2019 15:27:02 +0000 (15:27 +0000)]
wip docs
Ian Jackson [Wed, 13 Nov 2019 15:26:43 +0000 (15:26 +0000)]
always run regenerate from config.status
it is too hard to figure out when to do this, and it is fast
Ian Jackson [Wed, 13 Nov 2019 15:20:56 +0000 (15:20 +0000)]
wip docs, before rename .mk.in
Ian Jackson [Wed, 13 Nov 2019 15:16:43 +0000 (15:16 +0000)]
make Perdir.mk.in optional
Ian Jackson [Wed, 13 Nov 2019 15:16:23 +0000 (15:16 +0000)]
further refactor filter_subdir_mk, replace loop with calls, nfc
Ian Jackson [Wed, 13 Nov 2019 15:15:41 +0000 (15:15 +0000)]
further refactor filter_subdir_mk, moving $srcdir, nfc
Ian Jackson [Wed, 13 Nov 2019 15:14:55 +0000 (15:14 +0000)]
refactor filter_subdir_mk, breaking out $pi, nfc
Ian Jackson [Wed, 13 Nov 2019 15:05:27 +0000 (15:05 +0000)]
wip docs
Ian Jackson [Wed, 13 Nov 2019 15:05:22 +0000 (15:05 +0000)]
sort regen
Ian Jackson [Wed, 13 Nov 2019 15:05:14 +0000 (15:05 +0000)]
various stuff into submakefiles
Ian Jackson [Wed, 13 Nov 2019 14:48:15 +0000 (14:48 +0000)]
wip docs
Ian Jackson [Wed, 13 Nov 2019 13:48:52 +0000 (13:48 +0000)]
move much into usual.mk.in
Ian Jackson [Wed, 13 Nov 2019 13:48:34 +0000 (13:48 +0000)]
check right thing in config_targets
Ian Jackson [Wed, 13 Nov 2019 13:48:21 +0000 (13:48 +0000)]
&:include feature
Ian Jackson [Wed, 13 Nov 2019 13:47:48 +0000 (13:47 +0000)]
$enoent_ok and GEN filehandle (nfc)
Ian Jackson [Wed, 13 Nov 2019 13:47:16 +0000 (13:47 +0000)]
buffering_output feature (nfc)
Ian Jackson [Wed, 13 Nov 2019 13:26:00 +0000 (13:26 +0000)]
break out process_input_mk (nfc)
Ian Jackson [Wed, 13 Nov 2019 13:13:19 +0000 (13:13 +0000)]
run config.status with selective tags, better, docs
Ian Jackson [Wed, 13 Nov 2019 13:04:43 +0000 (13:04 +0000)]
run config.status with selective tags
Ian Jackson [Wed, 13 Nov 2019 12:54:19 +0000 (12:54 +0000)]
WIP attempt to run config.status with selective tags
Does not work right now...
Ian Jackson [Wed, 13 Nov 2019 01:30:35 +0000 (01:30 +0000)]
clarify comment
Ian Jackson [Wed, 13 Nov 2019 01:24:52 +0000 (01:24 +0000)]
fix out of tree builds
Ian Jackson [Wed, 13 Nov 2019 01:09:37 +0000 (01:09 +0000)]
fixes
Ian Jackson [Wed, 13 Nov 2019 00:54:51 +0000 (00:54 +0000)]
docs
Ian Jackson [Wed, 13 Nov 2019 00:53:01 +0000 (00:53 +0000)]
docs
Ian Jackson [Wed, 13 Nov 2019 00:52:41 +0000 (00:52 +0000)]
&! new esc can be anything
Ian Jackson [Wed, 13 Nov 2019 00:44:11 +0000 (00:44 +0000)]
tidying
Ian Jackson [Wed, 13 Nov 2019 00:43:46 +0000 (00:43 +0000)]
tidying
Ian Jackson [Wed, 13 Nov 2019 00:42:38 +0000 (00:42 +0000)]
tidying
Ian Jackson [Wed, 13 Nov 2019 00:41:30 +0000 (00:41 +0000)]
tidying
Ian Jackson [Wed, 13 Nov 2019 00:34:02 +0000 (00:34 +0000)]
tidying
Ian Jackson [Wed, 13 Nov 2019 00:29:04 +0000 (00:29 +0000)]
dep on subdirmk.ac
Ian Jackson [Wed, 13 Nov 2019 00:28:08 +0000 (00:28 +0000)]
CONFIGURE_ACS
Ian Jackson [Wed, 13 Nov 2019 00:23:39 +0000 (00:23 +0000)]
Perdir dep
Ian Jackson [Wed, 13 Nov 2019 00:23:32 +0000 (00:23 +0000)]
cleaning
Ian Jackson [Tue, 12 Nov 2019 17:56:46 +0000 (17:56 +0000)]
WIP
Ian Jackson [Tue, 12 Nov 2019 17:51:40 +0000 (17:51 +0000)]
WIP
Ian Jackson [Tue, 12 Nov 2019 17:34:03 +0000 (17:34 +0000)]
WIP REORG
Ian Jackson [Tue, 12 Nov 2019 17:13:06 +0000 (17:13 +0000)]
WORKS
Ian Jackson [Tue, 12 Nov 2019 17:11:26 +0000 (17:11 +0000)]
DOES NOT WORK
Ian Jackson [Tue, 12 Nov 2019 17:10:03 +0000 (17:10 +0000)]
TEST MULTI OUTPUT THING
Ian Jackson [Mon, 11 Nov 2019 02:15:08 +0000 (02:15 +0000)]
WIP
Ian Jackson [Mon, 11 Nov 2019 02:12:54 +0000 (02:12 +0000)]
wip
Ian Jackson [Mon, 11 Nov 2019 01:46:10 +0000 (01:46 +0000)]
WIP
Ian Jackson [Mon, 11 Nov 2019 00:57:54 +0000 (00:57 +0000)]
wip
Ian Jackson [Mon, 11 Nov 2019 00:55:16 +0000 (00:55 +0000)]
WIP
Ian Jackson [Mon, 11 Nov 2019 00:16:44 +0000 (00:16 +0000)]
wip
Ian Jackson [Mon, 11 Nov 2019 00:03:27 +0000 (00:03 +0000)]
WIP
Ian Jackson [Sun, 10 Nov 2019 21:05:54 +0000 (21:05 +0000)]
WIP
Ian Jackson [Sun, 10 Nov 2019 21:00:25 +0000 (21:00 +0000)]
COMING ALONG
Ian Jackson [Sun, 10 Nov 2019 20:55:50 +0000 (20:55 +0000)]
WIP
Ian Jackson [Sun, 10 Nov 2019 20:54:28 +0000 (20:54 +0000)]
WIP
Ian Jackson [Sun, 10 Nov 2019 20:49:18 +0000 (20:49 +0000)]
RUNS BUT NOT VERY GOOD
Ian Jackson [Sun, 10 Nov 2019 20:40:23 +0000 (20:40 +0000)]
WIP
Ian Jackson [Sun, 10 Nov 2019 20:39:57 +0000 (20:39 +0000)]
WIP
Ian Jackson [Sun, 10 Nov 2019 20:31:11 +0000 (20:31 +0000)]
WIP
Ian Jackson [Sun, 10 Nov 2019 20:28:32 +0000 (20:28 +0000)]
WIP
Ian Jackson [Sun, 10 Nov 2019 20:28:18 +0000 (20:28 +0000)]
WIP
Ian Jackson [Sun, 10 Nov 2019 20:24:06 +0000 (20:24 +0000)]
WIP
Ian Jackson [Sun, 10 Nov 2019 19:24:39 +0000 (19:24 +0000)]
BEFORE CHANGE &&
Ian Jackson [Sun, 10 Nov 2019 13:41:00 +0000 (13:41 +0000)]
GO BACK TO HIER
Ian Jackson [Sun, 10 Nov 2019 13:40:26 +0000 (13:40 +0000)]
BFORE NOT QUAD
Ian Jackson [Sun, 10 Nov 2019 13:32:37 +0000 (13:32 +0000)]
WIP PART OF SUBDIR
Ian Jackson [Sun, 10 Nov 2019 13:31:36 +0000 (13:31 +0000)]
Revert "BEFORE NO BUILD TREE"
This reverts commit
a423046ad42c0fbdf7fd3afad88dfe57dfbd30ca.
Ian Jackson [Sun, 10 Nov 2019 13:31:08 +0000 (13:31 +0000)]
BEFORE NO BUILD TREE
Ian Jackson [Sun, 10 Nov 2019 13:10:29 +0000 (13:10 +0000)]
WIP
Ian Jackson [Sun, 10 Nov 2019 12:43:18 +0000 (12:43 +0000)]
WIP NEW STYLE
Ian Jackson [Sun, 10 Nov 2019 12:05:13 +0000 (12:05 +0000)]
RENAME TO .IN
Mark Wooding [Fri, 8 Nov 2019 17:32:50 +0000 (17:32 +0000)]
lib/t/toytest.c: Make test more perspicuous.
What was I thinking?
Mark Wooding [Fri, 8 Nov 2019 16:55:32 +0000 (16:55 +0000)]
Example project using nonrecursive make.
Ian Jackson [Wed, 6 Nov 2019 21:47:18 +0000 (21:47 +0000)]
make-secnet-sites: Delete old `reserved' attempt
This appears to be a nascent attempt to fix the problem now solved by
"make-secnet-sites: prefix names when writing sites file"
by reserving the names of make-secnet-sites keywords.
However this is wrong because what needs to be reserved are secnet
config file conventional key names, and predefined words; there is no
clash between node names and make-secnet-sites keywords because they
appear in different parts of the sites file syntax (and the mss
keywords don't appear in the config file at all).
And anyway the `reserved' dictionary was never used anywhere so this
mechanism wasn't complete.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Mon, 4 Nov 2019 15:09:44 +0000 (15:09 +0000)]
make-secnet-sites: prefix names when writing sites file
SUMMARY
make-secnet-sites must copy names (vpn, location and site names) from
the input sites file (which is not wholly trusted) to the secnet
config file.
Since secnet 0.5.0 we check these name strings for syntactic sanity.
However, they still live in a common namespace. When secnet is
evaluating a part of the config file, it looks up through the
containing structures.
It is possible for a sites file to specify, say, a site called "dh" or
something. These currently generate bad configuration files.
IMPLEMENTATION
There are 4 lines of code which look like a nascent attempt to fix
this problem but (i) they are wrong and (ii) the reserved list is not
actually used anywhere.
Instead, we fix this by prefixing vpn names with V, location names
with L, and site names with S. These obviously won't clash with
conventional names, predefined (builtin) closures, etc. This is fine
because sensible configurations do not refer to the individual
make-secnet-sites config key names directly.
We achieve this by replacing the relevant references to the node's
name with calls to a new kname() method on the `level' class. The new
behaviour is made optional, for compatibility reasons, but is enabled
by default.
We must disable this feature in the make-secnet-site tests because we
have a fixed expected output. But the tests with actual secnet are
oblivious, since "stest: Use top-level mss-generated `all-sites' key".
THREAT ANALYSIS
An attacker can't do anything very interesting with this. right now.
A malicious sites file can generate a configuration file which secnet
will reject. This is a nuisance but right now we don't have a system
for automatically incorporating sites data. So I am not treating this
as a vulnerability.
It's not a more serious problem because the attacker can only bind the
keys to dictionaries containing site information written by
make-secnet-sites. When the secnet configuration consumer code looks
something up and gets a dictionary when it was expecting something
else, it is an error.
There are few places where a dictionary is expected:
Path lookups expect a dictionary, but the only interesting scopes that
the attacker can pollute are the per-site config dictionaries, which
do not refer to paths, only individual keys. (The "vpn" and
"all-sites" constructs from make-secnet sites contain path references,
but all the attacker can do there is to rebind what is supposed to be
an entry in the root namespace, resulting in a path which cannot be
resolved because it looks for too many subcomponents.)
There aren't currently any conventional keys with dictionary values
other than site's "comm-info" where the only key is
"dedicated-interface-addr". The attacker could define a location
"comm-info" with a site "dedicated-interface-addr", which would be
interpreted as by peer sites as a "dedicated-interface-addr" key
referrinng to a dictionary (an error), or a site "comm-info" which
wouldn't contain that subkey at all and would therefore have no
effect.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Wed, 6 Nov 2019 18:29:11 +0000 (18:29 +0000)]
stest: Use top-level mss-generated `all-sites' key
We are going to change the inner-level names in a moment.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Mon, 4 Nov 2019 15:08:13 +0000 (15:08 +0000)]
python: Provide feature for argparse --[no-]foo options
This is surprisingly awkward. StackExchange has one.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Mon, 4 Nov 2019 15:01:22 +0000 (15:01 +0000)]
Makefile.in: break out PYMODULES
No functional change.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sun, 3 Nov 2019 16:58:17 +0000 (16:58 +0000)]
make-secnet-sites: output_data: Change recursive variables
Pass a tuple path, of the objects. rather than the string so far and
an indent value.
This will make it easier to more complex things here.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sun, 3 Nov 2019 12:52:31 +0000 (12:52 +0000)]
make-secnet-sites: output_vpnflat: Change recursive variables
Pass a tuple path, of the objects. rather than the string so far and
an indent value.
This will make it easier to more complex things here.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sun, 3 Nov 2019 12:51:05 +0000 (12:51 +0000)]
tests: Rename locations to `in' and `out'
It is better for testing for the location names not to be equal to the
site names.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Thu, 7 Nov 2019 00:01:44 +0000 (00:01 +0000)]
make-secnet-sites: Fix argument parsing with options
In "make-secnet-sites: Use argparse rather than ad-hoc parser",
we missed a reference to sys.argv. The effect is that if
make-secnet-sites run in sites file output mode, and provided
with options, the output is written to the wrong place.
The only syntax that worked in 0.4.5 and broke in 0.5.0 is
make-secnet-sites -P. So here we fix that regression.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Thu, 24 Oct 2019 18:23:07 +0000 (19:23 +0100)]
Makefile.in: release checklist: use -j8 for sbuild
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>