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 : robbat2@gentoo.org GnuPG FP : 11ACBA4F 4778E3F6 E4EDF38E B27B944E 34884E85 GnuPG FP : 7D0B3CEB E9B85B1F 825BCECF EE05E6F6 A48F6136