Opened 4 months ago

Closed 4 months ago

#1841 closed defect (fixed)

HTTP-retrieval of eggs fails when egg-data contains unicode characters

Reported by: felix winkelmann Owned by: felix winkelmann
Priority: major Milestone: 6.0.0
Component: core tools Version: 6.0.0
Keywords: chicken-install Cc:
Estimated difficulty: medium

Description

The retrieval of eggs gets confused when unicode characters are contained in the downloaded data (I believe). Chunked server data and the file chunks inside the transmitted content assume binary character counts and the download code then gets confused while parsing HTTP chunks and also the file blocks.

Even though the TCP connection is opened in binary mode, some incorrect code in the bytevector-read code still does check for incomplete UTF sequences. Then when the chunks from the server are concatenated again, extracting the files once more extracts each file using a binary count while reading from an UTF string port.

I'm currently correcting the utf-sequence completion in the bytevector reading (still incomplete, as this must be encoding specific and parameterizable). The retrieval via TCP and the extraction of files needs to use bytevector I/O.

Change History (2)

comment:1 Changed 4 months ago by felix winkelmann

Fixed in d8df8615945de6205f940e4c379b4d6eb4bd1a87

comment:2 Changed 4 months ago by felix winkelmann

Resolution: fixed
Status: assignedclosed
Note: See TracTickets for help on using tickets.