On Thu, 2 Aug 2018 16:41:35 +0200 Nicolai Lissner <[email protected]> wrote:
> Found the reason for this bug.
> 
> On July 8th a package called librust-winapi-dev was accepted in sid
> 
> It comes with a complete common-sense breaking "Provides:" line of
> more than 57kB length, as it provides 1336 packages.
> IMHO this is insane. 
> 
> However, cdebootstrap uses
> libdebian-installer-0.116 to parse the package 
> list and in libdebian-installer-0.116/src/parser_rfc822.c
> I found:
> 
> #define READSIZE 16384
> 
> and I guess increasing this to 65536 will fix the problem
> until someone else encouraged by what the debian rust team did
> will use even longer lines :/
> 
> As the parser_rfc822.c is from the same author as cdebootstrap,
> I won't open a separated bug on that.
> 
> Please fix as soon as possible. Thanks a bunch.
> 

Sorry for the inconvenience. For context, the current Debian rust situation is 
a workaround for dpkg bug #901827.

In general though, arbitrary buffer sizes should be a thing of the past. Have 
you considered rewriting that code in Rust? :) Or perhaps less effort, just 
reusing whatever code dpkg itself uses to parse it.

X

-- 
GPG: ed25519/56034877E1F87C35
GPG: rsa4096/1318EFAC5FBBDBCE
https://github.com/infinity0/pubkeys.git

Reply via email to