|
|
Subscribe / Log in / New account

Recently posted comments

This is a good stopping point

Posted Mar 25, 2019 2:46 UTC (Mon) by corbet (editor, #1)
In reply to: sh!t forum by Garak
Parent article: Turris: secure open-source routers

Certainly I think we can all agree that this particular conversation isn't going anywhere useful; perhaps we can just stop now?

Thanks.


sh!t forum

Posted Mar 25, 2019 2:28 UTC (Mon) by Garak (guest, #99377)
In reply to: magic words by Cyberax
Parent article: Turris: secure open-source routers

whatever...


magic words

Posted Mar 25, 2019 2:25 UTC (Mon) by Garak (guest, #99377)
In reply to: magic words by pizza
Parent article: Turris: secure open-source routers

Truisms are truisms indeed. Someone once said knowing all the cliches by heart is what makes one a good parent.


micropayment efficiency dynamics

Posted Mar 25, 2019 1:20 UTC (Mon) by Cyberax (✭ supporter ✭, #52523)
In reply to: micropayment efficiency dynamics by Garak
Parent article: Turris: secure open-source routers

As of now, a transaction on the BitCoin blockchain costs around $5 in transaction fees paid to miners.

And this is cheap, compared to $50 fees just a year and a half ago.

Keep in mind, that each transaction on the blockchain has to be kept there _forever_, replicated to all the nodes that host the full chain. This is quite expensive and wasteful in itself.


magic words

Posted Mar 25, 2019 1:10 UTC (Mon) by Cyberax (✭ supporter ✭, #52523)
In reply to: magic words by Garak
Parent article: Turris: secure open-source routers

Feel free to stop posting here. Tks, bye!


magic words

Posted Mar 25, 2019 0:54 UTC (Mon) by pizza (subscriber, #46)
In reply to: magic words by Garak
Parent article: Turris: secure open-source routers

FYI, you would do well to keep in mind that your arguments might not be as well thought out as you think they are.

When you make public comments you open yourself up to public responses.


micropayment efficiency dynamics

Posted Mar 25, 2019 0:41 UTC (Mon) by mpr22 (subscriber, #60784)
In reply to: micropayment efficiency dynamics by Garak
Parent article: Turris: secure open-source routers

> The theory is that cryptocurrencies/micropayments make that not true.

That's a fascinating hypothesis. I'd be interested to see what evidence there is to support it.


micropayment efficiency dynamics

Posted Mar 24, 2019 23:43 UTC (Sun) by Garak (guest, #99377)
In reply to: 'reasonable' domain registration prices? by mpr22
Parent article: Turris: secure open-source routers

it would literally be cheaper to not charge at all.
The theory is that cryptocurrencies/micropayments make that not true. And by charging and making a business of it, you incentivise the relevant system administrators to do a good job. Standard capitalistic theory, those who provide the best quality services considering price keep the job and are financially sustained to do so going forward.


magic words

Posted Mar 24, 2019 23:37 UTC (Sun) by Garak (guest, #99377)
In reply to: 'reasonable' domain registration prices? by Wol
Parent article: Turris: secure open-source routers

And to you as well @Wol, I ask you to please cease and desist your pattern of comments I characterize as trolling and harassing. If you feel your comments are important, please start a thread of your own, do not reply to mine. I will reciprocate.


magic words

Posted Mar 24, 2019 23:34 UTC (Sun) by Garak (guest, #99377)
In reply to: 'reasonable' domain registration prices? by Cyberax
Parent article: Turris: secure open-source routers

I will ask a second time @Cyberax. Please cease and desist your pattern of comments I characterize as trolling and harassing. If you feel your comments are important, please start a thread of your own, do not reply to mine. I will reciprocate.


Federated blogging with WriteFreely

Posted Mar 24, 2019 22:06 UTC (Sun) by thebaer (guest, #130968)
In reply to: Federated blogging with WriteFreely by alex
Parent article: Federated blogging with WriteFreely

(WriteFreely developer here) It looks like a configuration issue -- the /.well-known/ path isn't accessible to the world. Particularly, Mastodon needs the webfinger route in order to discover the blog -- it's going to hit this URL when looking up the blog: https://kernelpage.com/.well-known/webfinger?resource=acc...


The congestion-notification conflict

Posted Mar 24, 2019 19:57 UTC (Sun) by sourcejedi (guest, #45153)
In reply to: The congestion-notification conflict by flussence
Parent article: The congestion-notification conflict

"Details of how to implement SCE awareness at the transport layer will
be left to additional Internet Drafts yet to be submitted."

That is, SCE still wants support in the "transport layer" - such as TCP - to effectively echo back the SCE markings to the sender. Just like TCP with "classic ECN" (RFC 3168), or DCTCP. Otherwise, how would the sender of the packet notice that it needed to slow down?

I don't know why SCE was posted as an IETF draft without referencing "Accurate ECN". "Accurate ECN" aka AccECN, is an experimental TCP draft, which it says is required to implement L4S for TCP. It has been worked on since 2016. "Accurate ECN" was discussed on the bufferbloat.net lists during that time.

I think the AccECN TCP option is generic enough that SCE *could* use it unchanged. Although there is some limitation. The AccECN TCP option is optional and some middleboxes strip it (or block it? something like that anyway). AccECN has a fallback, which I think is only able to echo the ECN CE codepoint. L4S will still be able to work in the fallback mode. SCE congestion signals (ECN ECT(1) codepoint) would not get though in the fallback mode.

"Accurate ECN" also says it can be used to implement the "classic ECN" response to congestion. (I.e. 1 signal per RTT, which the sender treats as a if a packet was dropped, i.e. halves its transmission rate. If I understand correctly). I don't think it explains exactly how this is possible, but it is in good faith and I guess it is as simple as it sounds.

SCE does suggest that instead of echoing the SCE signal to the sender, it is also possible to handle it "entirely by the receiver". The submitted draft-00 suggests the reciever could tweak the receive window. OTOH, when this was politely challenged, Dave Taht said "I kind of wish we'd cut that from the draft".

https://lists.bufferbloat.net/pipermail/bloat/2019-March/...


The congestion-notification conflict

Posted Mar 24, 2019 18:05 UTC (Sun) by mtaht (subscriber, #11087)
In reply to: The congestion-notification conflict by ajb
Parent article: The congestion-notification conflict

After so many heated discussions last week, what I would like most is for more people to have read the l4s, tcp prague, and dualpi drafts. It saves time to skip to the appendixes, and then a more coherent dialog can emerge.


The congestion-notification conflict

Posted Mar 24, 2019 17:28 UTC (Sun) by ajb (subscriber, #9694)
Parent article: The congestion-notification conflict

The patent is a huge issue, and I think the community should be wary of it until either ALu gives better licence conditions, or it becomes clear that it is invalid. Hopefully this article will advance one outcome or the other.

I think it's premature to decide that SCE "better matches the values" of the Linux networking stack, however. As I understand it, in L4S, the dual-q mechanism is a transition mechanism, and the end state is that everyone - except for old stacks - end up in the second, low-latency, bucket. Whereupon the behaviour of the system is controlled by the end-hosts - very much how the Linux networking community would have it. Linux - if, and it's a big if, the patent issue is solved - would move to the second bucket very fast, give how quickly Linux development goes.

SCE, however, appears to rely on per-flow queueing (FQ) being implemented at any hop that could end up being the bottleneck. FQ is fine if its on your home router and thus under your control. But if it's implemented everywhere, then the network, not the end clients, are controlling the behaviour of the system.

The bufferbloat guys are pushing for FQ to be implemented everywhere. So far, it's not happened because the fast path of ISP-class switches are mostly implemented in ASICs, where queues are a limited resource. If it were to happen, you can be sure that the facility to weight those queues according the the commercial policy of the ISPs would also be implemented also. Despite FQ coming from the grass-roots, the difficulty implementing it at the ISP level may well be, paradoxically, something the open community should be grateful for.


The congestion-notification conflict

Posted Mar 24, 2019 17:07 UTC (Sun) by sourcejedi (guest, #45153)
In reply to: The congestion-notification conflict by sourcejedi
Parent article: The congestion-notification conflict

Ok, I found it.

https://mailarchive.ietf.org/arch/msg/tsvwg/Okd59BLGs8ZIg... -- Dave Taht

I'm not sure how to parse it. It says the 2016 "Coupled AQM" release was patent-infested and hence unsafe to review, let alone implement in Linux. But that the "DUALPI2 AQM upstream version" (released 2019?) was "possibly worth reviewing by experts".

However the DUALPI2 commit message links directly to draft-ietf-tsvwg-aqm-dualq-coupled . And the description seems to match the discussion about the patent.

I can understand anger about it being really hard to develop and test interoperability, if understanding the patented details endangers your ability to contribute to implementations of GPL'd AQMs. (Aggravated damages due to "wilful infringement?"). Although that's not how I understood things based on previous LWN articles. The patents are out there and you're going to be stuck fighting them anyway; you need to know the details in order to avoid infringing. That can be a very useful strategy, and then when you implement an alternative *that they had not already considered*, they can't then patent that alternative. (Details apply, e.g. see "patent pending").

-- Patent details! Maybe don't read further if you're not allowed to read short quotes about patent details? --

"[the base probability for the classic queue] is squared to compensate the squareroot rate equation of Reno/Cubic" sounds exactly like -

"The only claim that I could not find prior art for (in the original
EU filing) was a very specific claim about using a square root for the
coupling. The Linux implementation runs this the other way round so that
it only has to do a squaring. So I figured we were safe from that.

However, until just now, I had not noticed that Al-Lu has
retrospectively re-written the claims in the US patent and in the EU
patent application to claim this the other way round - as a squaring."


'reasonable' domain registration prices?

Posted Mar 24, 2019 16:16 UTC (Sun) by Wol (subscriber, #4433)
In reply to: 'reasonable' domain registration prices? by Garak
Parent article: Turris: secure open-source routers

OMG. £1/month is too expensive? When it costs £20/pm for even a *basic* ADSL connection? (I pay that for 20Mb ADSL-2)

I know pennies add up, but that really is peanuts compared to all the other costs!

Cheers,
Wol


The congestion-notification conflict

Posted Mar 24, 2019 15:42 UTC (Sun) by sourcejedi (guest, #45153)
In reply to: The congestion-notification conflict by mfuzzey
Parent article: The congestion-notification conflict

Notice the link does not claim that hosts using the network protocol require a patent license. It claims that routers using the necessary AQM require a patent license.

There is a claim elsewhere in the discussion that an L4S-compliant AQM can be implemented by fq_codel. This would use a different mechanism. It would also allow using L4S, without losing the benefits of fq-codel if you are not using L4S.

https://lists.bufferbloat.net/pipermail/bloat/2019-March/... -- Bob Briscoe

There is some confusion about whether the current L4S has been worded incorrectly, so that it technically prohibits an AQM based on fq_codel, and whether it would actually work fine. If you need more clarity on that *then ask about it*.

https://mailarchive.ietf.org/arch/msg/tsvwg/LBZ24KXwK13DH... -- Greg White

Yes, it would be really nice to *also* rule-in Linux routers to be able to run an L4S AQM in regimes where AQM is still possible in pure software, but flow-queuing is not.

But I don't think that deserves knee-jerking as hard as this article does.

And that's a narrower window of regimes than you might assume. I think the Bufferbloat.NET Official Position (TM) was that the main performance problem for slow home routers is often "shaping", which is not part of fq_codel. So sch_fq_codel can work in many places where sch_codel or sch_pie do. I can't find a reference about upper limits for fq_codel (as opposed to shaping), but I expect the bloat mailing list would be able to find some statements if you need them.

TL;DR for the patent to really be a problem for you, I think you would need to be running something like sch_codel or sch_pie at the moment, and not be able to switch to sch_fq_codel. Is there really anyone doing that?

I Am Not A Lawyer. None Of This Is Legal Advice. But Seriously, Did You Find Any Source Involved In the Linux Side (Dave Taht et al) Who Is As Unhappy About The *Patent* As This Article Reads?

I only skimmed the threads to find a few messages to read, based on author name. At the moment I see the most unhappiness coming from the LWN article. This is mostly re-inforcing my opinion about the amount of salt I need to take with that source :-P. (But I thank them for being good about providing links to the relevant posts.)


Revisiting PEP 394

Posted Mar 24, 2019 15:09 UTC (Sun) by naptastic (guest, #60139)
In reply to: Revisiting PEP 394 by excors
Parent article: Revisiting PEP 394

s/total failure/research language/;

It's only a failure if you don't learn from it.


Scribus team mourns the passing of Peter "mrdocs" Linnell

Posted Mar 24, 2019 12:39 UTC (Sun) by jzb (editor, #7867)
Parent article: Scribus team mourns the passing of Peter "mrdocs" Linnell

I didn't know Peter well, but ran into him from time to time at conferences. Always a pleasant guy, full of enthusiasm. Having only known him peripherally, I still feel the world has lost a little light.


The congestion-notification conflict

Posted Mar 24, 2019 12:33 UTC (Sun) by jch (guest, #51929)
In reply to: The congestion-notification conflict by jg
Parent article: The congestion-notification conflict

> There are too many gray hairs

I don't think it's a generation gap, Jim, but a cultural gap that crosses generations.


Building header files into the kernel

Posted Mar 24, 2019 5:39 UTC (Sun) by jsmith45 (guest, #125263)
In reply to: Building header files into the kernel by _joel_
Parent article: Building header files into the kernel

Joel, why even bother remounting? You can just directly use the pre-existing internal kernel mount as if it was a special form of swappable kernel memory. CONFIG_BIG_KEYS actually does that, and the the bpfilter user mode helper module copies data that is baked into its module (as discardable init data) into the main internal tmpfs mount, so there is precedent for most of this.

I'll be showing code as if making the file swappable was unconditional, but it should be very obvious how to add a config option that hybridizes what patch V5 has, and the below.

One word of warning: This basically requires CONFIG_TMPFS. It will also work if !CONFIG_SHMEM, because then it uses tiny-shmem (which is ramfs). However using CONFIG_SHMEM without CONFIG_TMPFS yields a tmpfs that is excessively limited.

Now lets create the file in tmpfs, and copy the data into it:


static struct path *mem_path;

static int __init ikheaders_init(void)
{
	struct proc_dir_entry *entry;
        size_t kernel_headers_data_size = &kernel_headers_data_end - &kernel_headers_data;
        int err;

        ssize_t written;
	loff_t pos = 0;

        /* copy data to a new tmpfs file, so it can be swapped out */
        mem_file = shmem_kernel_file_setup("", kernel_headers_data_size, 0);
        if (IS_ERR(mem_file)) {
		err = PTR_ERR(mem_file);
		goto err_no_fput;
	}

        written = kernel_write(mem_file, kernel_headers_data, kernel_headers_data_size, &pos);
        if (written != kernel_headers_data_size) {
		err = written;
		if (err >= 0)
			err = -ENOMEM;
		goto error;
	}

	/* create the current headers file */
	entry = proc_create("kheaders.tar.xz", S_IRUGO, NULL,
			    &ikheaders_file_ops);
	if (!entry) {
		err = -ENOMEM;
		goto error;
	}
	
	proc_set_size(entry,
		      kernel_headers_data_size);
	return 0;
error:
	fput(mem_file);
error_no_fput:
	return ret;
}

static void __exit ikheaders_cleanup(void)
{
	remove_proc_entry("kheaders.tar.xz", NULL);
	path_put(mem_path);
}

OK. Next up, we need to change the section the baked-in data is stored in to be .init.data so it gets discarded after init.


asm (
"	.pushsection .init.data, \"a\"	\n"
/*...*/
);

Almost done. All that is left is to make reads of the proc file return data from the in memory file. There are actually several ways to approach this. We could use a magic symlink to the internal file, similar to how the proc file descriptor symlinks work. But to make this act as much like a normal file as possible, the following might be easiest. It is definitely a bit odd to have the read delegate back to vfs_read, but as far as I can tell it should work. I'd bet one of VFS guys can come up with some improvements to this approach.


static int ikheaders_open_current(struct inode *inode, struct file *file)
{
	struct file *mem_file
	file = dentry_open(path, O_RDONLY, current_cred());

	if (IS_ERR(file)) 
		return PTR_ERR(file);

	file->private_data = mem_file;
	return 0;
}
static ssize_t
ikheaders_read_current(struct file *file, char __user *buf,
		      size_t len, loff_t *offset)
{
        struct file *mem_file = file->private_data;
	return vfs_read(mem_file, buf, len, offset);
}
static int ikheaders_release_current(struct inode *inode, struct file *file)
{
        struct file *mem_file = file->private_data;
	fput(mem_file);
	return 0;
}

static const struct file_operations ikheaders_file_ops = {
        .open = ikheaders_open_current,
        .release = ikheaders_release_current,
	.read = ikheaders_read_current,
	.llseek = default_llseek,
};

Please note that all this code is untested, and is intended to a show the basic approach, although it probably works as-is, modulo any typos (since most of it was copy-pasted from existing parts of the kernel or your patch).

Hope you find this helpful, or at least interesting


Building header files into the kernel

Posted Mar 24, 2019 4:28 UTC (Sun) by neilbrown (subscriber, #359)
In reply to: Building header files into the kernel by _joel_
Parent article: Building header files into the kernel

You can create an invisible tmpfs mount with kern_mount(). mm/shmem.c does this.
I don't think there is an existing way to mount this into a mount namespace, but I suspect you could add a mount option to tmpfs to say "use pre-exist superblock named foo".

If you don't have real swap, this doesn't help you, but it might be a useful answer to people who complain about a waste of kernel memory, or who emphasize that it is non-swapable memory (the article mentions both).


Layers and abstractions

Posted Mar 24, 2019 2:24 UTC (Sun) by riking (subscriber, #95706)
Parent article: Layers and abstractions

This has been on my mind recently as well. The way I summarized it was thus: "Adding layers [of abstraction] improves velocity [of development]; punching through layers improves performance [of runtime]".

I think my version is a little more violent 🤔


Layers and abstractions

Posted Mar 24, 2019 2:10 UTC (Sun) by perennialmind (guest, #45817)
In reply to: Layers and abstractions by zlynx
Parent article: Layers and abstractions

The vast majority of web clients have been upgraded for IPv6, but most of them have lousy IPv6 access. IPv6 required upgrades along the entire path to be useful. Even then, anything short of full adoption makes use risky. For a decade, I tried to join in the 128-bit fun: tunnelbroker.net, 6to4, teredo (once I had the twin IPs for a relay), and finally a /48 of my own my company's from an ISP happy to provide it but bemused that I cared. And still, I have to grit my teeth and turn off IPv6 when some website we care about turns on IPv6 and the road gets all bumpy. "Happy Eyeballs" is all about compensating for the tendency of IPv6 to be so very bumpy. It's not the hosts at either end: it's the unloved links inbetween.

A larger address space in the 90's was primarily useful to client networks that were already resorting to NAT. That's where the incentive was, so start by addressing their problems. In the first phase, you don't run public servers beyond the IPv4 edge – I agree with you there! That happens once (1) there are few legacy IPv4 clients left and (2) all of your server software has support for the address extension. You don't disable the extended-address support on your IPv4.1 OS, because it's so very harmless. It's just one more upgrade like any other. No need for AAAA records at that point. 32-bit IPng destination addresses are normal. 🙃

It took so long before userspace had decent support for IPv6. Presumably because it was largely irrelevant. Once you have servers automatically upgrading connections to IPng, it becomes relevant! Upgrade your client OS and server OS, but keep the routers and userspace on IPv4 and still get bigger addresses on the wire? I have to think adoption would have been quicker!

Start small. Build up incrementlly. Let your chick grow up and you wind up with chicken and egg. 😊


Building header files into the kernel

Posted Mar 24, 2019 1:38 UTC (Sun) by _joel_ (subscriber, #112763)
In reply to: Building header files into the kernel by _joel_
Parent article: Building header files into the kernel

About requiring a reboot, I meant "requiring a reboot if headers are needed again"


Building header files into the kernel

Posted Mar 24, 2019 1:37 UTC (Sun) by _joel_ (subscriber, #112763)
In reply to: Building header files into the kernel by excors
Parent article: Building header files into the kernel

It is arguably much harder to enforce vendors to have kernel headers tar balls for their kernels on the vendor partition. However, we have more control over which kernel modules are built into the vendor partition and which CONFIG options are enabled. We can enforce certain CONFIG options to be built since a sufficient kernel functionality is needed for Android userspace to work correctly. This is what I was trying to say. This is more of a social problem than a technical problem, and is only one of the many advantages of having this, that I was sighting


Building header files into the kernel

Posted Mar 24, 2019 1:32 UTC (Sun) by _joel_ (subscriber, #112763)
In reply to: Building header files into the kernel by adirat
Parent article: Building header files into the kernel

We already know about BTF and this was already discussed in the patch postings. Please read the threads in v4 of the posting. BTF is insufficient for this usecase.


Building header files into the kernel

Posted Mar 24, 2019 1:29 UTC (Sun) by _joel_ (subscriber, #112763)
In reply to: Building header files into the kernel by neilbrown
Parent article: Building header files into the kernel

Neil, thanks for the suggestion. How do you create an invisible tmpfs mount in the kernel and later mount it in userspace though? I am not aware of any such thing. Any existing code or examples would be appreciated.

Also note that on Android, we don't use disk-based swap. We have a memory based compressed swap called ZRAM, but the archive is already compressed so the suggested idea would provide no benefit (to us).

One thing I have thought of doing in the future is to make the /proc entry of the archive writeable and write an empty string into it thus freeing the archive's allocated memory and requiring a reboot. However at the moment, I am considering only building this as a module for production Android, and as a built-in when debugging. After the patches can make it, and if others want to free that memory, we can cross that bridge there IMO - such as by writing an empty string into the proc entry.


Layers and abstractions

Posted Mar 24, 2019 0:16 UTC (Sun) by zlynx (guest, #2285)
In reply to: Layers and abstractions by perennialmind
Parent article: Layers and abstractions

IPv6 servers are backward compatible in the same way as some IPng scheme. Data centers that care (and this is the key point) are giving out IPv6 addresses to web servers and also providing an IPv4 reverse proxy. Every server gets a AAAA DNS record to their actual IPv6 address and an A record to the reverse proxy.

But there's still a bunch of people who don't see the point and think it's just fine to use 10.x.x.x addresses in the data center and only rely on proxies. Forever. But those people would be a problem in any IPv4 backwards compatibility scheme for any new addressing. They'd never see the point in upgrading past the compatibility solution.


'reasonable' domain registration prices?

Posted Mar 23, 2019 23:45 UTC (Sat) by Cyberax (✭ supporter ✭, #52523)
In reply to: 'reasonable' domain registration prices? by Garak
Parent article: Turris: secure open-source routers

> If technically adept people can use FOSS, a raspberrypi, and a home internet connection that allows home (bind/dns/etc) servers for whatever yearly electric and isp cost that works out to... Even if one has to pay a dozen such home server operators a yearly rate to get the level of dns-style-decentralized-redundancy/highavailability one wants, it seems like that should be totally doable at <1% of current rates.
So you're willing to give out full email control to multiple random people running unsecured RPi-based severs at home.

Ok....

/me backs slowly away


The congestion-notification conflict

Posted Mar 23, 2019 22:23 UTC (Sat) by pizza (subscriber, #46)
In reply to: The congestion-notification conflict by jg
Parent article: The congestion-notification conflict

Who cares what "Linux" will or won't accept? Ship it as yet another binary blob used by your Linux-based router/appliance/whatever. You won't have to worry, as nobody [that matters] will ever hold you to the GPL's "complete corresponding source code" obligations.


'reasonable' domain registration prices?

Posted Mar 23, 2019 22:19 UTC (Sat) by mpr22 (subscriber, #60784)
In reply to: 'reasonable' domain registration prices? by Garak
Parent article: Turris: secure open-source routers

While I can comprehend thinking £6/year (i.e. about what it costs to buy four bottles of decent beer from the supermarket) is too much to have to pay for a domain (I don't agree, but I can comprehend it), I can't comprehend thinking that charging 6p/year (i.e. less than the brewery pays for the crown caps on those four bottles of beer) makes any sense for anyone involved; it would literally be cheaper to not charge at all.


Building header files into the kernel

Posted Mar 23, 2019 22:12 UTC (Sat) by Mattimo (subscriber, #129903)
In reply to: Building header files into the kernel by mjthayer
Parent article: Building header files into the kernel

Actually you could use a compressed cpio archive of the headers and just present it as a subtree in procfs because initramfs already has all the primitives available for that. Maybe that would even allow something like /proc/include that just contains the headers in plain sight.


magic words

Posted Mar 23, 2019 22:07 UTC (Sat) by Garak (guest, #99377)
In reply to: magic words by nix
Parent article: Rosenzweig: The federation fallacy

please don't overlook the subject


'reasonable' domain registration prices?

Posted Mar 23, 2019 22:01 UTC (Sat) by Garak (guest, #99377)
In reply to: Crazy Obvious Home DVR Server by mpr22
Parent article: Turris: secure open-source routers

1% of that or lower. If technically adept people can use FOSS, a raspberrypi, and a home internet connection that allows home (bind/dns/etc) servers for whatever yearly electric and isp cost that works out to... Even if one has to pay a dozen such home server operators a yearly rate to get the level of dns-style-decentralized-redundancy/highavailability one wants, it seems like that should be totally doable at <1% of current rates. Of course it would take a few years to smooth out rough edges as they appear, but it seems straightforward enough to me from an engineering/resources/softwaredevelopmentiteration perspective. All it would take in the U.S. I think would be the FCC admitting that terms of service home server prohibition is clearly a form of network non-neutrality. Crazy Obvious Home DVR Servers done FOSS right that can also handle common dns seem like an easy enough sell once you remove the slandering of 'servers' from ordinary people's terms of service. My rational/paranoid side suspects the NSA has been adept at not furthering such empowering of the masses with DNS server power. DNS servers make pretty powerful chokepoint targets for folks like the NSA to enjoy exploiting. Maybe next year.


Development quotes of the week

Posted Mar 23, 2019 21:41 UTC (Sat) by Wol (subscriber, #4433)
In reply to: Development quotes of the week by rahulsundaram
Parent article: Development quotes of the week

Or look at the original NoSQL database - Pick. Unfortunately I'm unaware of a viable Free Software implementation.

(aiui, the NoSQL domain was registered / is owned by one of the leading lights in the Pick community. It predates the rise of NoSQL in general, and was intended to trigger exactly that.)

But to implement a Pick database, really all you need is a decent key/value datastore, and a way of handling n-dimensional data (as provided by Pick's DataBASIC language). In maths, the general always trumps the specific, and Pick's n-dimensional data store trumps relational's 2-dimensional store.

Cheers,
Wol


Crazy Obvious Home DVR Server

Posted Mar 23, 2019 20:59 UTC (Sat) by mpr22 (subscriber, #60784)
In reply to: Crazy Obvious Home DVR Server by Garak
Parent article: Turris: secure open-source routers

> And throw in home email server with domain registration price ridiculously lower than current rates.

I pay £12/year (plus VAT) for a .com domain; if I settled for .co.uk it would only be £6/year. What kind of ridiculously lower were you thinking of?


The congestion-notification conflict

Posted Mar 23, 2019 20:58 UTC (Sat) by jg (guest, #17537)
In reply to: The congestion-notification conflict by jg
Parent article: The congestion-notification conflict

Also, a larger number of people just don't understand that Linux won't accept patented/FRAND term technologies. There are too many gray hairs and not enough young guys who attend the IETF....


The congestion-notification conflict

Posted Mar 23, 2019 20:53 UTC (Sat) by jg (guest, #17537)
In reply to: The congestion-notification conflict by mfuzzey
Parent article: The congestion-notification conflict

There are still a few deluded people out there... Almost all understand that without Linux support, something is a non-starter.... But patent trolls being what they are....


Static site generators

Posted Mar 23, 2019 20:08 UTC (Sat) by spwhitton (subscriber, #71678)
In reply to: Static site generators by corbet
Parent article: Federated blogging with WriteFreely

There is also ikiwiki, one of the first static site generators, which has a web editor too.


5.1 Merge window part 1

Posted Mar 23, 2019 17:22 UTC (Sat) by Wol (subscriber, #4433)
In reply to: 5.1 Merge window part 1 by wojtekka
Parent article: 5.1 Merge window part 1

If you're not a programmer, then getting Wine to run Windows binaries can actually be quite tricky ...

If you're a company with programmers on tap, then most things are *possible*.

Thing is, I'm a private individual with no real kernel experience (although my C was pretty decent), so getting old binaries to work is not *practical*.

That's what I feel is often missed here - what is *possible* is not always *practical*.

I'd love a guarantee like the IBM mainframes - I believe you can run "dawn of computing" mainframe software on the latest megabeasts, because the current system can emulate the previous system, which can emulate the one before that, which can emulate the one before that ... turtles all the way down. But that COSTS MONEY, which us little guys don't have, and most people don't seem to consider important enough to do as a project, be it commercial or private.

Cheers,
Wol


Cheating

Posted Mar 23, 2019 12:35 UTC (Sat) by corbet (editor, #1)
In reply to: The congestion-notification conflict by farnz
Parent article: The congestion-notification conflict

My guess is that cheating would work less well than one might like. One of the big objectives behind L4S is low latency; that means tiny queues in the fast lane and tight congestion-control loops. If you don't implement the congestion-control side, you're probably going to overflow the queues and end up retransmitting a lot of dropped packets.


The congestion-notification conflict

Posted Mar 23, 2019 12:31 UTC (Sat) by mfuzzey (subscriber, #57966)
Parent article: The congestion-notification conflict

> The assertion of that patent, though, raises the stakes considerably; it would not be good for Linux to find itself unable to play with other high-performance network stacks

Is it really realistic that any network protocol not supported by Linux be adopted at any internet significant scale?
Given the number of Linux based servers, networking devices and Android phones I would have thought not.


Scribus team mourns the passing of Peter "mrdocs" Linnell

Posted Mar 23, 2019 10:44 UTC (Sat) by jospoortvliet (guest, #33164)
Parent article: Scribus team mourns the passing of Peter "mrdocs" Linnell

Shees. We haven't spoken in quite some years, but I got to know mrdocs/Peter quite well at (open)SUSE... He was a great guy, always positive, friendly, helpful. He'll be missed by the communities he was active in, but he certainly leaves a legacy!


The congestion-notification conflict

Posted Mar 23, 2019 9:52 UTC (Sat) by farnz (subscriber, #17727)
In reply to: The congestion-notification conflict by roc
Parent article: The congestion-notification conflict

Which is a strike against L4S, in my book; if I can cheat by just setting a bit in my headers, what is to stop me from doing so while my usage is small? And following on from that, when I'm a big enough problem, if I'm also a legitimate service (say Netflix or YouTube), I'm also effectively immune to blocking - block me, and I'll be able to allege that it's because I'm a big competitor to your services, not because I'm cheating.

Similar issues apply to global deployment of DiffServ - you can't stop users setting their traffic to an EF codepoint or even an AF codepoint, and absent a global agreement on shaping that should apply to such codepoints, you end up having to either block EF/AF traffic, or treat it as no better than DF traffic.

This is where SCE has an advantage - the endpoint setting the markers can request worse treatment, but not better.


Scribus team mourns the passing of Peter "mrdocs" Linnell

Posted Mar 23, 2019 7:49 UTC (Sat) by einar (guest, #98134)
Parent article: Scribus team mourns the passing of Peter "mrdocs" Linnell

Although I've had never the pleasure of meeting Peter personally, we had our fair share of interactions over the time ofa few years. I always found him to be a welcoming and warming person (and also very helpful). It was thanks to him that I found Scribus and used it productively, and he was also very supportive of my involvement in th openSUSE community.

Last time we had a quick chat on IRC he mentioned his illness and how he was going... I didn't hear from him since then, and today I found this notice on LWN.

As others said, thank you for what you've done, and you will be missed, Peter.


Layers and abstractions

Posted Mar 23, 2019 6:53 UTC (Sat) by Cyberax (✭ supporter ✭, #52523)
In reply to: Layers and abstractions by perennialmind
Parent article: Layers and abstractions

> NAT is bound to be the fallback in any scheme.
Whatever system you end up will not be functionally different from dual stack IPv6 + IPv4 NAT.

This is what is happening right now - you still have legacy IPv4 infrastructure with NAT-ed clients and newer IPv6 infrastructure without NATs. They both live together side-by-side seamlessly, thanks to Happy Eyeballs RFC.

> But even if you drop the stateful NAT option, under this scheme, or a 6to4-only-IPv6 phase, clients with mere IPv4 access can talk to the full IPng internet. For servers, there's no good reason not to opt-in to IPng.
No they can not. IPv4 clients can only connect to IPv4 addresses, so the server will have to use IPv4. Peer-to-peer with IPng is still impossible.


The congestion-notification conflict

Posted Mar 23, 2019 6:50 UTC (Sat) by flussence (guest, #85566)
Parent article: The congestion-notification conflict

I really like the cleverness of SCE. It's basically pulse-density modulation encoding, simple enough anyone can understand it. More importantly, downstreams can understand it without a full protocol stack dissector, which the other scheme seems to require. Isn't the whole point of modern networking techniques to get heavy lifting *out* of the hot path?


Crazy Obvious Home DVR Server

Posted Mar 23, 2019 5:05 UTC (Sat) by Garak (guest, #99377)
Parent article: Turris: secure open-source routers

One of the "little bit crazier" uses is to turn the router into a digital video recorder (DVR). Adding a USB DVB-T device and a disk drive gives you a DVR, he said.
you mean I could like- program and watch my dvr's library from my phone or laptop wherever I am with an internet connection. Wow. Seriously, that should have existed in a much more advanced form many years ago. Along with asterix-level voicemail functionality (both on the router/homeserver and on the phone itself). And throw in home email server with domain registration price ridiculously lower than current rates. Maybe next year. Though I won't be happy till it comes with a complete self hosting set of its own FOSS code by default with very little hassle tweaking small code fixes for any itchy perceived deficiency (of the variety that can be changed with very small code tweaks, which is to say, a very large number of them. Like seriously, why is number of rings before vmail picks up not a more prevalent user-controlled option? Along with white/black/pass/blocklist contingent configurations of that number. Robocalls are only hard to mitigate if neither you nor the masses have the easy ability to go add blaringly obvious features to phone software)


Layers and abstractions

Posted Mar 23, 2019 4:29 UTC (Sat) by perennialmind (guest, #45817)
In reply to: Layers and abstractions by Cyberax
Parent article: Layers and abstractions

NAT is bound to be the fallback in any scheme. If you start there and negotiate up, you can have a smooth on-ramp. Under the options-can-work scheme, the initial packet in any given flow exits the border router with it's address information intact. That packet is effectively "dual stack". (A heisenpacket?) It's only when it lands at an unenlightened IPv4 endpoint that you are stuck with stateful nat. Stateless transformations I don't mind.

But even if you drop the stateful NAT option, under this scheme, or a 6to4-only-IPv6 phase, clients with mere IPv4 access can talk to the full IPng internet. For servers, there's no good reason not to opt-in to IPng.

I do agree that IPng-blind IPv4 hosts could only talk to IPv4 servers. But that just makes sense, doesn't it? If I fired up Netwcape 4, I'd be able to load webpages over SSL3, but not those that only support TLS 1.2+. I'd be able to load crusty.gif, but not snazzy.svg. The web has undergone gradual transitions, with ample consideration for legacy systems. IPv6 didn't do it that way.


Scribus team mourns the passing of Peter "mrdocs" Linnell

Posted Mar 23, 2019 1:37 UTC (Sat) by SUSEsean (guest, #131079)
In reply to: Scribus team mourns the passing of Peter "mrdocs" Linnell by estansvik
Parent article: Scribus team mourns the passing of Peter "mrdocs" Linnell

I worked with Peter for a few years. As basically the only other French speaker on the our team, we clicked.

He will be missed.


Building header files into the kernel

Posted Mar 23, 2019 0:36 UTC (Sat) by adirat (subscriber, #86623)
In reply to: Building header files into the kernel by dezgeg
Parent article: Building header files into the kernel

All this is really bleeding edge development and I'm not one of the few experts, but I can point you to this presentation from the last LPC microconf which talks about #defines in BTF a little. The consensus among the experts seems to be that, at least for the time beeing, BTF can't replace kernel headers, while the Android devs need a solution yesterday, so here we are at this kernel-headers patch instead of waiting and investing more time to do research :)

http://vger.kernel.org/lpc-bpf2018.html#session-2


Building header files into the kernel

Posted Mar 22, 2019 23:31 UTC (Fri) by ay (guest, #79347)
In reply to: Building header files into the kernel by dezgeg
Parent article: Building header files into the kernel

It doesn't look like #define and other preprocessor stuff is covered so BTF is probably not usable for that they're trying to achieve here. I imagine things like ioctls would be a deal breaker here...


Security quotes of the week

Posted Mar 22, 2019 23:16 UTC (Fri) by smitty_one_each (subscriber, #28989)
In reply to: Security quotes of the week by nwrk
Parent article: Security quotes of the week

Technology for its own sake is a bogus god.
While I don't mind augmenting the process with tech to speed up reporting, the two invariants I can't relinquish are:
(1) A secret (air gapped) ballot. No amount of AI should *ever* connect voter A to ballot B. This implies the non-perfection of the outcome, yes.
(2) A hard-copy ballot that can be used to audit any tech used to speed up the process. This implies additional costs, yes. Freedom ain't free. Costs a buck-oh-five.


Layers and abstractions

Posted Mar 22, 2019 23:11 UTC (Fri) by smitty_one_each (subscriber, #28989)
Parent article: Layers and abstractions

Jake, I preferred the skimmability of your summary to the video, for reasons I can't pin down. Thank you.


Static site generators

Posted Mar 22, 2019 23:08 UTC (Fri) by smitty_one_each (subscriber, #28989)
In reply to: Static site generators by ay
Parent article: Federated blogging with WriteFreely

I think you may have meant https://disqus.com/
Which is ubiquitous, but you sort of don't know where they're kept and whose getting up to what with them, and that could be irksome.


Building header files into the kernel

Posted Mar 22, 2019 23:07 UTC (Fri) by adirat (subscriber, #86623)
In reply to: Building header files into the kernel by wahern
Parent article: Building header files into the kernel

I think it's just a matter of the left hand not talking to the right hand: Google "bleeding-edge" devs not talking to Facebook's "bleeding edge". :) Also BTF is quite new to the kernel itself and it was added to BCC literally weeks ago.

Wake up people!


Layers and abstractions

Posted Mar 22, 2019 23:04 UTC (Fri) by smitty_one_each (subscriber, #28989)
In reply to: Layers and abstractions by perennialmind
Parent article: Layers and abstractions

> That's the bar. Any new routing protocol has to be better than NAT.

(1) My observation is that technology adoption is driven by how much better the new is than the old.

(2) If IPv6 were that much of an improvement over v4, then Egress-Only Ingernet Gateways[1] would make no sense.

(3) Maybe CIDR is "good enough".

[1] https://docs.aws.amazon.com/vpc/latest/userguide/egress-o...


Building header files into the kernel

Posted Mar 22, 2019 23:01 UTC (Fri) by jsmith45 (guest, #125263)
In reply to: Building header files into the kernel by excors
Parent article: Building header files into the kernel

Sure, but it does not handle the case of a development kernel loaded with fastboot. In that case there is no opportunity to add any files to the system, so the corresponding headers must be included in the kernel in order to ensure the corresponding headers are available. But this proposal lets you compile this as a non-module for that scenario, which would ensure the headers are available.


Building header files into the kernel

Posted Mar 22, 2019 22:48 UTC (Fri) by jsmith45 (guest, #125263)
In reply to: Building header files into the kernel by Tov
Parent article: Building header files into the kernel

Squashfs was ruled out by the patch author because it requires squashfs-tools, which is neither provided with the kernel, nor otherwise required to build it, and is not installed by default on most systems. On the other hand GNU tar does xz compression itself, and is installed by default on most Linux systems.


Compression formats

Posted Mar 22, 2019 22:41 UTC (Fri) by jsmith45 (guest, #125263)
In reply to: Compression formats by corbet
Parent article: Building header files into the kernel

Later versions of the patch are indeed using .tar.xz as the file format.


Building header files into the kernel

Posted Mar 22, 2019 22:11 UTC (Fri) by NAR (subscriber, #1313)
In reply to: Building header files into the kernel by excors
Parent article: Building header files into the kernel

And as the kernel is GPL, those header files should be a downloadable anyway, shouldn't they?


The congestion-notification conflict

Posted Mar 22, 2019 21:30 UTC (Fri) by roc (subscriber, #30627)
In reply to: The congestion-notification conflict by mm7323
Parent article: The congestion-notification conflict

> What's to stop me setting the 'fast queue' bit in all my headers and enjoying the speedup - at least until everyone else does the same?

The same thing that stops you from disabling TCP congestion control or using a congestion-oblivious UDP transport. I.e. nothing, until you become a big enough problem that ISPs start blocking your traffic.


Firefox 66 released

Posted Mar 22, 2019 21:26 UTC (Fri) by Wol (subscriber, #4433)
In reply to: Firefox 66 released by mjthayer
Parent article: Firefox 66 released

> If someone is thinking that it is good to see the URL to check that it is what it should be, I would say that those checks can possibly be done better by algorithms.

And how on earth is the algorithm supposed to know what the url is supposed to be?

Pages re-direct and re-write urls all the time. IME AI is *useless* at knowing what I want (eg pretty much ALL Thunderbird scam warnings I see come up on legit emails that don't even have anything that looks scammy to me !!!).

I seriously would NOT trust ANY form of AI to check whether an URL "looks right".

Cheers,
Wol


Layers and abstractions

Posted Mar 22, 2019 20:56 UTC (Fri) by Cyberax (✭ supporter ✭, #52523)
In reply to: Layers and abstractions by perennialmind
Parent article: Layers and abstractions

The problem is, IPv4 clients can't talk to IPng nodes without what amounts to NAT64. So even IPng-capable servers will be forced to remain on IPv4.

This makes everything even worse, a dual stack IPv4/ng client won't know which protocol to use to connect to a V4 address.


The congestion-notification conflict

Posted Mar 22, 2019 19:00 UTC (Fri) by mm7323 (subscriber, #87386)
Parent article: The congestion-notification conflict

What's to stop me setting the 'fast queue' bit in all my headers and enjoying the speedup - at least until everyone else does the same?

Unless ISPs are going to filter at ingress points (and so break the end-to-end congestion management anyway), surely everyone has to agree and implement the same rules or it won't work - regardless of patents or politics.


Building header files into the kernel

Posted Mar 22, 2019 18:58 UTC (Fri) by dezgeg (subscriber, #92243)
In reply to: Building header files into the kernel by adirat
Parent article: Building header files into the kernel

Does BTF record any #defines that the BPF code might want to use? Or is that out of its' scope?


Building header files into the kernel

Posted Mar 22, 2019 18:37 UTC (Fri) by wahern (subscriber, #37304)
In reply to: Building header files into the kernel by adirat
Parent article: Building header files into the kernel

Indeed! Thanks for sharing.

Apparently they got it down to 1.5MB. Why are people still talking about shipping header tarballs? Is the BTF work just not well known? Since the motivating use case is BPF, which already requires a specialized tool chain, I don't see the downside.


Scribus team mourns the passing of Peter "mrdocs" Linnell

Posted Mar 22, 2019 18:33 UTC (Fri) by estansvik (guest, #127963)
In reply to: Scribus team mourns the passing of Peter "mrdocs" Linnell by halla
Parent article: Scribus team mourns the passing of Peter "mrdocs" Linnell

Very sad to hear this. I remember him being so encouraging and helpful during my GSoC for Scribus back in 2011, and clearly a central and loved person in the project. Thank you Peter!


Layers and abstractions

Posted Mar 22, 2019 18:30 UTC (Fri) by perennialmind (guest, #45817)
In reply to: Layers and abstractions by nybble41
Parent article: Layers and abstractions

An IPv4 option field won't work simply because there are too many middleboxes that mangle or discard unknown option fields or entire packets containing them.

Oh there's no chance of such a scheme working now! The fun thought experiment supposes an alternative history diverging in the early 90's. Maybe it was already too late then. I'm awfully curious on that point. :-) As I understand it, unrecognized options are supposed to be ignored per RFC1122 and RFC7126. So a conformant IPv4 router should not need replacing or upgrading. In theory. 😊

IPng-to-IPng-over-link is obviously native IPv6.

Yup.

IPng-to-IPng-over-IPv4 is covered by 6to4, Teredo, 6rd, and 6in4.

Covered, yes. Miserably. The 6to4 scheme would have worked beautifully, if all the other IPv6 addresses were also 6to4. 6rd trades the anycast address for a unicast address provided by the ISP. 6rd is a mechanism for an ISP to provide IPv6 access over it's IPv4 infrastructure - a worthy goal, but a much less ambitious one. Teredo avoids upgrades to the NAT gateways but would only work well if IPv6 network operators consistently provide Teredo relays. Due to that, the complex path, added latency and limited reliability, it never reached critical mass.

... any protocol which relies on embedded IPv4 addresses will be unusable since (a) one side doesn't have a public IPv4 address to embed...

The fact that the IPv6 address space doesn't extend IPv4 is precisely the problem. I still don't understand why they did that. They put IPv4 addresses at the bottom (::127.0.0.1); if they'd put them at the top, the problem you describe wouldn't exist.

and (b) there is no room to store an extended address

If you can't use the extension mechanism built into the original design (options), then the best you can do is encapsulation a la 6to4. 6to4 without the anycast route would still have been a huge improvement over NAT44. If you're referring to the sockaddr_storage type, yes, that would still be a painful, costly effort. Preferably one resulting in a sane id/locator split. Maybe replace sockaddr_in with a "locator handle". <shrug>

Hey, I just think it's a fun counterfactual! 😊


Building header files into the kernel

Posted Mar 22, 2019 17:45 UTC (Fri) by excors (subscriber, #95769)
In reply to: Building header files into the kernel by dezgeg
Parent article: Building header files into the kernel

Ah, true, I suppose that technically is swap. But moving a gz file from RAM into tmpfs that gets swapped to zram that is stored in RAM, doesn't sound especially useful.


Security quotes of the week

Posted Mar 22, 2019 17:36 UTC (Fri) by excors (subscriber, #95769)
In reply to: Security quotes of the week by karkhaz
Parent article: Security quotes of the week

I think it's important to consider who is doing the trusting. Maybe a well-resourced expert could trust a machine after comparing it against its schematics and reflashing its firmware, but the average voter won't even understand what "schematics" or "firmware" means. They can't trust the machine directly, so you're asking them to blindly trust an expert instead. Given how common it is for politicians to promote anti-expert thinking, that seems very dangerous. "The election was stolen from me, and these so-called experts who insist the result was legitimate are part of the conspiracy - help me take my rightful position, by force if necessary."

Paper ballots are enormously easier to understand. Anyone could watch pieces of paper being put in a box, watch that nobody interferes with the box, and then count the pieces of paper when they come out. No expertise is required.

Maybe paper ballots aren't *really* more trustworthy than well-implemented electronic ones - there are still plenty of ways to corrupt the process - but they're good enough to be at a point where the average person's perception of trustworthiness is more important than the actuality. One of the benefits of well-run democracies is that nearly everyone accepts the result, even when they lose, because they believe it legitimately reflects the will of the people. Maybe it's the will of people who are stupid and wrong, but you can spend the next few years convincing them to vote the right way next time. But if the voting system is too complex for you to personally understand, you have no reason to believe in its legitimacy, and you're more likely to think your only meaningful option is violent regime change.


Scribus team mourns the passing of Peter "mrdocs" Linnell

Posted Mar 22, 2019 17:26 UTC (Fri) by halla (subscriber, #14185)
Parent article: Scribus team mourns the passing of Peter "mrdocs" Linnell

I remember meeting Peter in Montreal at the 2009 LGM, and immediately getting a huge boost: his confidence that we'd all do well was so infectious. His deep knowledge, too...

Later on, he actually made me blush when reading my morning dose of Linux news: https://lwn.net/Articles/569096/ .

He was also a man you could not have met withoug loving him; at least, I cannot imagine anyone not remembering him like that, if he engaged with one, he left a deep impression of caring.

Thank you Peter, for all you've done for us, and for all that you've been for all of us.


Layers and abstractions

Posted Mar 22, 2019 16:38 UTC (Fri) by nybble41 (subscriber, #55106)
In reply to: Layers and abstractions by perennialmind
Parent article: Layers and abstractions

An IPv4 option field won't work simply because there are too many middleboxes that mangle or discard unknown option fields or entire packets containing them. Rather than replace all these routers with ones that handle the new option field properly, you might as well just replace them with ones that can handle the new protocol (IPv6) natively, or set up a tunnel.

IPng-to-IPng-over-link is obviously native IPv6.

IPng-to-IPng-over-IPv4 is covered by 6to4, Teredo, 6rd, and 6in4.

IPng-to-IPv4, without the option field, is NAT64. DNS translation is also mandatory, working in concert with the NAT64 gateway, if you intend to allow IPv4-only hosts to establish connections to "IPng" servers. Like *any* simplistic address extension scheme—including NAT44 and CGNAT—it has numerous shortcomings due to the fact that one side of the link is blissfully unaware of the need for address extensions. For a start, any protocol which relies on embedded IPv4 addresses will be unusable since (a) one side doesn't have a public IPv4 address to embed, and (b) there is no room to store an extended address even if the NAT64 gateway were modified to intervene and translate addresses at the application layer. The best you can hope for in that case is a new "IPng"-compatible protocol with space for address extensions and an application-level proxy running on the gateway to perform the translation.


Security quotes of the week

Posted Mar 22, 2019 16:36 UTC (Fri) by tnoo (subscriber, #20427)
In reply to: Security quotes of the week by kmweber
Parent article: Security quotes of the week

> At some level, elections have always relied on trust--with paper ballots, for example, you have to trust that the people doing the counting are doing so honestly.

Sure. But the counting is done in many different places in any of which you would need people that massively miscount the ballots. Since paper ballots are physical objects, it is intuitively and obviously clear which one has the majority. Faking them is a lot of work and cannot be done in big numbers without being noticed.

So any system that makes it very expensive and difficult to cheat can be trusted (up to a certain level). For electronic systems this is not the case, and I cannot see any way that they ever could be trusted.



Building header files into the kernel

Posted Mar 22, 2019 15:20 UTC (Fri) by dezgeg (subscriber, #92243)
In reply to: Building header files into the kernel by excors
Parent article: Building header files into the kernel

Plenty of devices use zram, I think.


Layers and abstractions

Posted Mar 22, 2019 14:50 UTC (Fri) by perennialmind (guest, #45817)
In reply to: Layers and abstractions by Cyberax
Parent article: Layers and abstractions

I don't see that. I see that NAT has been and still is the real-world solution to the address crunch. That's the bar. Any new routing protocol has to be better than NAT.

For an IPng upgrade to beat NAT44, you'd want IPng-to-IPng-over-link, IPng-to-IPng-over-IPv4, and IPng-to-IPv4. The first one is easy*. The last two need to be compatible with IPv4-only routers in the path.

IPng-to-IPng-over-IPv4 can use encapsulation, so that can also be easy. With encapsulation, the layer underneath changes from link-to-IPv4, but that's normal - boring, even.

IPng-to-IPv4 is where, if you want to beat NAT, you have to embrace NAT. Upgradable NAT. The NAT we have today is expensive, brittle and lossy. To support true legacy IPv4 nodes, it has to be. If you set aside that requirement, you can have fully stateless NAT with address extension by IPv4 option field. If you need to support legacy IPv4, start with stateful NAT but include the address extension option. Then you can tear down the connection tracking and port reservation after the first reply in the flow. TCP would work especially well: only OS upgrades would be strictly required for an IPv4 TCP server. An upgraded TCP/UDP kernel+userspace would have full connectivity with the IPng world, without any help from an ISP.

Of course, if you decide to do IPng-to-IPv4 that way, you might as well take the same approach with IPng-to-IPng-over-IPv4. Once you take a translation approach, you can splice disjoint routing domains together. It's an inter-net after all! 😁

* If you adopt CLNP instead of inventing a brand-new "quick" "simple" design based on IPv4.


Firefox 66 released

Posted Mar 22, 2019 14:27 UTC (Fri) by karkhaz (subscriber, #99844)
In reply to: Firefox 66 released by sionescu
Parent article: Firefox 66 released

(thread author here) so I for one don't actually claim that this feature wasn't worth the cost.

It will make Firefox even faster for all of its users. This is so welcome because what has been holding back Firefox's adoption for so long was its slow pre-Quantum user experience. So hurrah for that.

It will inconvenience me and the four other people in the world who care enough about their extension configurations to version them. Boo-hoo, but several people have pointed out that git has an answer to this. I had actually made up my mind to write a script that would transparently encode my JSON files as a database, and whenever an extension writes to the database, I get a (JSON) pull request by email which I can accept or not. But several commenters ruined my fun by pointing out that such a tool already exists.

I do this with git fairly frequently. For years I had maintained a script which automated the process of binary-searching a sequence of commits to find the one that introduced a bug. It started off as a shell script, then I rewrote it in ruby, then I rewrote it in python when I forgot ruby. Then somebody told me about git bisect. I should skim every single git man page at some point, I bet there are more gems.

(Speaking of which. April Fools' Day approaches. I'll leave this Markov-chain based git man page generator here so that people can torment their SVN-using friends: https://git-man-page-generator.lokaltog.net/)


Layers and abstractions

Posted Mar 22, 2019 14:21 UTC (Fri) by perennialmind (guest, #45817)
In reply to: Layers and abstractions by zlynx
Parent article: Layers and abstractions

A workable encapsulation strategy looks like a tunnel in that you have a layer 4 protocol over another layer 4 protocol. However, a tunnel abstraction usually implies a virtual interface for each "link". For an overlay network, while you can pretend the substrate is a link layer rather than another routing layer, at that point you are fighting your abstraction rather than fixing the discordance. In an more ideal world, abstractions evolve the way a model evolves to better fit the reality it describes.

Look at filesystems. Filesystems take a block device and provide files and directories. Except maybe they sit atop RAM, like tmpfs. Or other filesystems, like overlayfs or nfs. Or maybe they sit atop a single file... except they don't unless you construct an illusory loopback block device. That is, until Dave Chinner's new mapping layer teases apart the block address space concept from the block device layer. That is exactly the kind of well-defined "leak" we want between layers.

But I don't think that IPng-to-IPng-over-IPv4 should have used encapsulation. I think translation is a better approach. I think that using the extension facility built in to IPv4 should have been used. I think that new options fields should have been blessed as backwards-compatible first-class headers and a new minor version, IPv4.1 created. If IPng had benefits other than bigger addresses, then perhaps it could creep in from the edge. But if not, that's fine too.

There are other options, but the key enabler is the co-rooted address space. 6to4 worked great, except for the anycast bit, which was god-awful, a black hole of failure. If the new address space had embedded IPv4 near the top and refused to hand out anything not under it, we'd still have needed all of the host-side software changes, DNS, and routing protocol upgrades, etc, but the parties with no incentive to make costly changes would not have had to make costly changes.

To your last point: I am very glad that the entire operation of the internet does not depend on an IPSec substrate.


Security quotes of the week

Posted Mar 22, 2019 14:06 UTC (Fri) by karkhaz (subscriber, #99844)
In reply to: Security quotes of the week by kmweber
Parent article: Security quotes of the week

> still seems to rely on trust that the hardware at the polling place is in fact what's described in that diagram and it does in fact have that code running on it

Sure, but given that the hardware and software are open, there are ways of avoiding the need for so much trust:

- Order more voting machines than you need. 1% of randomly chosen voting machines get opened and compared with the schematics.

- But in swing states, even having one in a thousand biased voting machines might be enough to influence the election, with a low probability of being caught. So in those states, maybe disassemble 50% of the machines after the election.

- Build the firmware and software yourself, and reflash every single voting machine.

- Take a selection of voting machines, connect them up to a fake version of the server where they send their results, with an NTPd that reports that today is election day, etc. Press buttons on the voting machine, intercept the results, see if they match. Do the same thing with vanilla unflashed voting machines and see if their behaviour is any different.

etc. You raise a good point about trust being a component even of paper voting. But I wouldn't be so dismissive of quantitative changes in trust; if people really care about this, we can easily get to a situation where electronic voting requires less trust than paper, even if there is still some trust necessary. I doubt people will care until somebody demonstrably sabotages an election, though. Even then, probably only the saboteur's opponents will care, supporters will convince themselves that it's a ploy.


Building header files into the kernel

Posted Mar 22, 2019 12:33 UTC (Fri) by excors (subscriber, #95769)
In reply to: Building header files into the kernel by neilbrown
Parent article: Building header files into the kernel

> Why not move it to swapable memory?

I think most Android devices don't have swap. They prefer to just kill background apps whenever RAM gets low.


Building header files into the kernel

Posted Mar 22, 2019 12:29 UTC (Fri) by excors (subscriber, #95769)
In reply to: Building header files into the kernel by IanKelling
Parent article: Building header files into the kernel

There's already one part of the vendor image that Google controls: https://source.android.com/compatibility/9/android-9-cdd.... has a requirement on /vendor/etc/public.libraries.txt. So I don't understand the "we have no control" argument - Google can assert control over whatever they want, simply by writing it in the CDD and CTS.


Building header files into the kernel

Posted Mar 22, 2019 12:21 UTC (Fri) by adirat (subscriber, #86623)
In reply to: Building header files into the kernel by wahern
Parent article: Building header files into the kernel


Firefox 66 released

Posted Mar 22, 2019 10:57 UTC (Fri) by nilsmeyer (guest, #122604)
In reply to: Firefox 66 released by flussence
Parent article: Firefox 66 released

I agree, I would rather have a media whitelist for sites like youtube, netflix, prime. Bonus points for not even loading the media.

This would be even more useful for mobile devices where data transfer is ridiculously expensive.


Security quotes of the week

Posted Mar 22, 2019 10:47 UTC (Fri) by kmweber (guest, #114635)
Parent article: Security quotes of the week

The weakness with "we'll give you the source code and we'll give you the schematics for the machines" still seems to rely on trust that the hardware at the polling place is in fact what's described in that diagram and it does in fact have that code running on it. Inasmuch as I strongly doubt that election officials will allow us to physically open the machines and inspect their innards (probably with good reason, given the possibility of and incentives for third-party tampering), all that's been accomplished seems to be "we're asking you to trust X instead of Y." Which may indeed be a big improvement depending on who X and Y are, but it's a quanitative rather than qualitative difference.

At some level, elections have always relied on trust--with paper ballots, for example, you have to trust that the people doing the counting are doing so honestly (and even that doesn't account for the possibility of honest mistakes in counting). Multipartisan observer teams are a good way to combat that, of course, but still not literally impossible to corrupt.

My point isn't that we should make the perfect the enemy of the good; rather, at some point, unless we do away with ballot secrecy and start assembling in public and raising our hands, so everyone can count for themselves how many hands were raised and be satisfied that the announced total is correct (which is not feasible in a modern society), we're going to have to accept that there's a degree of "trust us" inherent in every system.


Firefox 66 released

Posted Mar 22, 2019 10:10 UTC (Fri) by mjthayer (guest, #39183)
Parent article: Firefox 66 released

I am slightly split about tabs in the title bar, which is the default at least on Ubuntu. Some GNOME applications have taken to putting the sandwich menu button and similar buttons (for Firefox this would be back, forward, reload and so on) into the title bar. I am wondering whether that would have been nicer - and keeping a title bar and the separate tab bar, but hiding the URL field except when it is needed for typing something in.

If someone is thinking that it is good to see the URL to check that it is what it should be, I would say that those checks can possibly be done better by algorithms.


Building header files into the kernel

Posted Mar 22, 2019 10:02 UTC (Fri) by mjthayer (guest, #39183)
In reply to: Building header files into the kernel by neilbrown
Parent article: Building header files into the kernel

> Why not move it to swapable memory?
> Store the compressed image in the __init section (which is discarded somewhere in the boot sequence) and have code to copy it into a tmpfs filesystem (which can be paged out).
> Maybe put /proc/config.gz there too.

Glad to see someone else had the same idea. Might it make sense to reduce the in-kernel policy a bit by letting user-space handle the tmpfs? One possible (!) implementation would be to have a device which a) lets you read out the archive and b) lets you free the in-kernel memory holding the archive after you have done with it. (Maybe that could mean putting it into __init first and copying it from there to free-able kernel memory.)

Then again, perhaps the same thing could be achieved without it ever being in kernel memory. Tagged onto the end of the kernel binary? Something similar to initramfs? I was going to write "put into initramfs", which would avoid kernel changes altogether, but the thought of bloating that even more is not appealing.


Firefox 66 released

Posted Mar 22, 2019 9:40 UTC (Fri) by leromarinvit (subscriber, #56850)
In reply to: Firefox 66 released by flussence
Parent article: Firefox 66 released

At least for videos (including silent ones), media.autoplay.default=1 and media.autoplay.allow-muted=false works for me. The only annoyance is that it breaks the player UI on many pages, since they expect the video to auto-play.

image.animation_mode=none should prevent animated GIFs from playing, though I haven't tried it. No idea about CSS animations.


Firefox 66 released

Posted Mar 22, 2019 9:30 UTC (Fri) by leromarinvit (subscriber, #56850)
In reply to: Firefox 66 released by roc
Parent article: Firefox 66 released

Interesting to see what they consider a worst-case stress test (and, by extension, what would be considered typical usage). I guess I'm not a very typical user then, seeing as I currently have 47 tabs open - but only because I cleaned up most of my open tabs a few days ago. It's not uncommon for me to have several hundred...


KNOPPIX 8.5.0 released

Posted Mar 22, 2019 8:48 UTC (Fri) by Zenith (guest, #24899)
In reply to: KNOPPIX 8.5.0 released by jschrod
Parent article: KNOPPIX 8.5.0 released

First off, communication - and most likely, enabling a11y, are both hard :-)

I did not in any way or form intend to slight the work done by ADRIANE and KNOPPIX - and for what it's worth, I am not a web developer so I may be talking out my arse.

Having said that, I did write "not very accessibility enhanced" - what I meant by this is that it is *my* impression that websites that use responsive design often do so via libraries like bootstrap etc, that - again, my impression - support a11y better than what random web developers may be inclined to support by themselves.
They support screen and braille readers via CSS and what not - at least that is my impression.

So in my mind 'responsive ~= a11y'

With all that said, it would be fairly comical if the documentation sites for said responsive design templates themselves are not a11y-enhanced.



Copyright © 2025, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds