Re: [gentoo-dev] cdrom.eclass vs KEYWORDS
On Wed, 2019-09-25 at 21:30 +, Robin H. Johnson wrote: > > So maybe the most obvious solution would be to remove KEYWORDS from > > ebuilds unconditionally using cdrom.eclass (and their reverse > > dependencies), and mask USE=cdinstall on the rest. > We should find who has copies of each of the media, and try to track > that for maintenance purposes as well. Oh, yes, that's another problem as well. Maybe games with cdinstall should have dedicated maintainers rather than generic games@. Though the truth is, I suspect nobody has CDs for most of the games anymore. -- Best regards, Michał Górny signature.asc Description: This is a digitally signed message part
Re: [gentoo-dev] cdrom.eclass vs KEYWORDS
On Wed, 25 Sep 2019 22:14:36 +0200 Michał Górny wrote: > Hi, > > I'm wondering if we're doing the right things by adding KEYWORDS to > packages using cdrom.eclass. After all, it's somewhat similar to live > ebuilds. That is, data is fetched outside regular PM mechanisms (though > not implicitly through Internet, arguably) and it is not covered by any > checksums. > > This creates a somewhat gaping security hole to anyone using those > packages. After all, the ebuilds are going to happily install any > malware you might have on that CD without even thinking twice about it. > In fact, with construction of many ebuilds it is entirely plausible that > additional unexpected files may end up being installed. Let's be realistic. If the CDs being used are pirated copies of dubious origin then you deserve what you get. We're otherwise talking a read-only medium that's generally been pressed in a factory. In the highly unlikely event that there is malware present, it would probably be for ancient versions of Windows or even MS-DOS. We usually only copy off the data files anyhow. I have never seen any ebuilds for games that run under Wine. I have considered adding some for games that run under DOSBox but that is effectively sandboxed. > To be honest, I don't think this is a problem that could be fixed. > Technically, we could add some kind of, say, b2sum lists to ebuilds > and verify installed files against them. However, the way I understand > we frequently aim to support different releases of the same product, > that may have wildly differing checksums. When CDs were popular, different variants sometimes resulted in strange bugs where it was not initially obvious what the cause was. Knowing exactly what CD we're dealing with would be useful but on the other hand, you'd probably have to read the whole CD for it to be effective, which would take ages and may cause issues due to scratches and such. > So maybe the most obvious solution would be to remove KEYWORDS from > ebuilds unconditionally using cdrom.eclass (and their reverse > dependencies), and mask USE=cdinstall on the rest. Certainly only the unconditional case because the conditional case would be a pain. In addition to what I've said above, you have to weigh this up against the miniscule number of people who actually use them these days, though I guess that could be taken as for or against. I still like to support them but even I have many of the same games on GOG now. As you know, I'd like to have GOG better supported but that's another story. -- James Le Cuirot (chewi) Gentoo Linux Developer pgpAfu3582cPx.pgp Description: OpenPGP digital signature
Re: [gentoo-dev] cdrom.eclass vs KEYWORDS
On Wed, Sep 25, 2019 at 10:14:36PM +0200, Michał Górny wrote: > Hi, > > I'm wondering if we're doing the right things by adding KEYWORDS to > packages using cdrom.eclass. After all, it's somewhat similar to live > ebuilds. That is, data is fetched outside regular PM mechanisms (though > not implicitly through Internet, arguably) and it is not covered by any > checksums. It's not live in that the content on the optical media does not change. It is a gap in checksums, but I argue that this making a mountain out of molehill. - The last NEW package using cdrom.eclass was added in 2017. - The packages that use CDROM_ROOT are barely touched: because the source media is incredibly stable! No new releases, no upstream mucking with files. Several of the cases where it is touched were to support non-CDROM methods via downloaded files instead, which ARE covered by regular distfile checking. > This creates a somewhat gaping security hole to anyone using those > packages. After all, the ebuilds are going to happily install any > malware you might have on that CD without even thinking twice about it. > In fact, with construction of many ebuilds it is entirely plausible that > additional unexpected files may end up being installed. The specific problem you have here is a dependency on recursive copying, rather than explicitly specifying each file: combined with the checksum problem, gets you mystery files installed into somewhere (hopefully a dedicated directory somewhere) > To be honest, I don't think this is a problem that could be fixed. > Technically, we could add some kind of, say, b2sum lists to ebuilds > and verify installed files against them. However, the way I understand > we frequently aim to support different releases of the same product, > that may have wildly differing checksums. This needs some minor amendments to the Manifest2 protocol I feel: 1. A distfile may have multiple different VALID checksums. 2. A distfile may not be ready for checksum validation until the ebuild has done some processing (e.g. load a CD) maybe a "MANUALDIST" type. That problem statement has come up before, esp when upstreams have rolled over distfiles for trivial reasons (forcing some users to redownload the distfile if they had the old one already). > So maybe the most obvious solution would be to remove KEYWORDS from > ebuilds unconditionally using cdrom.eclass (and their reverse > dependencies), and mask USE=cdinstall on the rest. We should find who has copies of each of the media, and try to track that for maintenance purposes as well. -- Robin Hugh Johnson Gentoo Linux: Dev, Infra Lead, Foundation Treasurer E-Mail : robb...@gentoo.org GnuPG FP : 11ACBA4F 4778E3F6 E4EDF38E B27B944E 34884E85 GnuPG FP : 7D0B3CEB E9B85B1F 825BCECF EE05E6F6 A48F6136 signature.asc Description: PGP signature
Re: [gentoo-dev] cdrom.eclass vs KEYWORDS
On Wed, Sep 25, 2019 at 4:14 PM Michał Górny wrote: > > Hi, > > I'm wondering if we're doing the right things by adding KEYWORDS to > packages using cdrom.eclass. After all, it's somewhat similar to live > ebuilds. That is, data is fetched outside regular PM mechanisms (though > not implicitly through Internet, arguably) and it is not covered by any > checksums. > > This creates a somewhat gaping security hole to anyone using those > packages. After all, the ebuilds are going to happily install any > malware you might have on that CD without even thinking twice about it. > In fact, with construction of many ebuilds it is entirely plausible that > additional unexpected files may end up being installed. The eclass seems to be used exclusively by games (with one exception), which are probably full of unreported security problems anyway. > To be honest, I don't think this is a problem that could be fixed. > Technically, we could add some kind of, say, b2sum lists to ebuilds > and verify installed files against them. However, the way I understand > we frequently aim to support different releases of the same product, > that may have wildly differing checksums. > > So maybe the most obvious solution would be to remove KEYWORDS from > ebuilds unconditionally using cdrom.eclass (and their reverse > dependencies), and mask USE=cdinstall on the rest. > > WDYT? Move them to an overlay.
[gentoo-dev] cdrom.eclass vs KEYWORDS
Hi, I'm wondering if we're doing the right things by adding KEYWORDS to packages using cdrom.eclass. After all, it's somewhat similar to live ebuilds. That is, data is fetched outside regular PM mechanisms (though not implicitly through Internet, arguably) and it is not covered by any checksums. This creates a somewhat gaping security hole to anyone using those packages. After all, the ebuilds are going to happily install any malware you might have on that CD without even thinking twice about it. In fact, with construction of many ebuilds it is entirely plausible that additional unexpected files may end up being installed. To be honest, I don't think this is a problem that could be fixed. Technically, we could add some kind of, say, b2sum lists to ebuilds and verify installed files against them. However, the way I understand we frequently aim to support different releases of the same product, that may have wildly differing checksums. So maybe the most obvious solution would be to remove KEYWORDS from ebuilds unconditionally using cdrom.eclass (and their reverse dependencies), and mask USE=cdinstall on the rest. WDYT? -- Best regards, Michał Górny signature.asc Description: This is a digitally signed message part