AcademySoftwareFoundation / AcademySoftwareFoundation/OpenColorIO
ocioarchive symbolic link handling broken (upstream bug/feature)
- Lingua principale
- C++
- Stelle
- 2.1k
- Fork
- 503
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Descrizione
We were trying to use OCIO archive on a tree that happened to contain symbolic links to another location. The archive runs with no errors indicated but neither `unzip` not `ocioarchive` can extract the files. It appears to be related to https://github.com/zlib-ng/minizip-ng/issues/797
In our case the symbolic link was to a LUT file, which when trying to extract resulted in an attempt to create a symbolic link pointing to the contents of the file... example contents from `zipinfo`
```
Central directory entry #24:
---------------------------
There are an extra 16 bytes preceding this file.
colour/look/aces_1.2/luts/Log2_48_nits_Shaper_to_linear.spi1d
offset of local header from start of archive: 16072021
(0000000000F53D55h) bytes
file system or operating system of origin: Unix
version of encoding software: 4.5
minimum file system compatibility required: MS-DOS, OS/2 or NT FAT
minimum software version required to extract: 2.0
compression method: deflated
compression sub-type (deflation): maximum
file security status: not encrypted
extended local header: yes
file last modified on (DOS date/time): 2023 Aug 1 08:30:30
32-bit CRC value (hex): 83a5291c
compressed size: 27242 bytes
uncompressed size: 73776 bytes
length of filename: 61 characters
length of extra field: 0 bytes
length of file comment: 0 characters
disk number on which file begins: disk 1
apparent file type: binary
Unix file attributes (120777 octal): lrwxrwxrwx
MS-DOS file attributes (00 hex): none
```
So we see the file contents are stored compressed but the file attributes are a for a symbolic link.
Guida per i contributori
Apri la guida per i contributori
Direzione di ricerca
Inizia dalla gestione dei link simbolici di ocioarchive e dai punti di ingresso per l’estrazione degli archivi; confronta il comportamento segnalato con l’issue di minizip-ng collegata. Riproduci un archivio contenente un link simbolico a un file LUT, quindi verifica che sia ocioarchive sia unzip possano estrarre correttamente la voce archiviata senza trattarne il contenuto come una destinazione del link.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- cpp
- Ambito
- tooling
- Tipo di issue
- Bug
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Stato di attività
- Tranquilla
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 45/100