Bug 469512 - gvfs appends ";1" to all filenames inside UDF images mounted with "Archive Mounter"
Summary: gvfs appends ";1" to all filenames inside UDF images mounted with "Archive Mo...
Keywords:
Status: CLOSED NEXTRELEASE
Alias: None
Product: Fedora
Classification: Fedora
Component: libarchive
Version: 10
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Tomáš Bžatek
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2008-11-01 19:23 UTC by Stewart Adam
Modified: 2015-03-03 22:33 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
: 530932 (view as bug list)
Environment:
Last Closed: 2008-12-09 11:32:35 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Stewart Adam 2008-11-01 19:23:37 UTC
Description of problem:
If a UDF image is mounted with gvfs's archive mounter, all filenames have the ";1" characters appended at the end of them. If a file has no extension, ".;1" is appended. Mounting the image using "mount -o loop" works fine and shows the correct filenames.

Version-Release number of selected component (if applicable):
gvfs-0.2.5-1.fc9.x86_64

How reproducible:
Always

Steps to Reproduce:
1. mkdir udfdata
2. echo 'a file with some contents' > udfdata/test
3. mkisofs -udf -o udf.iso udfdata && rm -rf udfdata
4. Double-click on "udf.iso"
  
Actual results:
UDF image is mounted, but all filenames have ";1" appended to them. Directory names seem to be unaffected.

Expected results:
Filenames appear as they did inside the original directory, similar to when mounting using "mount -o loop"

Additional info:

Comment 1 Tomáš Bžatek 2008-11-03 09:44:23 UTC
This is a known libarchive issue with certain ISO9660 images. Also, libarchive can't read UDF and falls back to ISO9660 when no RockRidge file table is available.

libarchive-2.5.5-1.fc10 partially fixes this issue - you may try installing this F10 package.

Comment 2 Stewart Adam 2008-11-29 03:31:38 UTC
Sorry for the slow reply. I just tried with that version of libarchive (I'm running F10 final), same results.

Comment 3 Tomáš Bžatek 2008-12-05 14:28:38 UTC
OK, would be possible to post a testing ISO somewhere so we can test the fix on it? I suspect some free utility ISOs like UBCD might be affected as well. Something is broken with handling ISO9960 (level 1 ?) filenames.

Comment 4 Stewart Adam 2008-12-05 16:59:39 UTC
Here it is: http://downloads.diffingo.com/udf.iso

I created it with the instructions under "Steps to Reproduce", but I placed three empty files inside it.

Comment 5 Tomáš Bžatek 2008-12-08 16:33:38 UTC
This has been fixed upstream: http://perforce.freebsd.org/changeView.cgi?CH=153502

Fix is included in libarchive-2.5.903a-1.fc11

Comment 6 Fedora Update System 2008-12-08 16:36:30 UTC
libarchive-2.5.5-2.fc10 has been submitted as an update for Fedora 10.
http://admin.fedoraproject.org/updates/libarchive-2.5.5-2.fc10

Comment 7 Fedora Update System 2008-12-09 11:32:30 UTC
libarchive-2.5.5-2.fc10 has been pushed to the Fedora 10 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 8 Steve Elliott 2009-04-21 02:12:40 UTC
I think the root problem still exists.

It seems that libarchive activation from gvfsd-archive looks only at the iso table of contents in an image and not at valid udf data in the same image.

(The addition of ";1" looks like it was only an artifact of an attempt to emulate RockRidge extensions)

The following session constucts an iso image then mounts it with Archive Mounter then each of mount -t {iso9660,udf,auto} 

Note the anomalous gvfs result and the standard (non Rock Ridge) iso9660 short names.

$ mkdir udfdata
$ echo 'a file with some content' >udfdata/test
$ echo 'a file with some content' >udfdata/test_file_with_a_long_name
$ mkdir udfdata/folder
$ echo 'a file with some content' >udfdata/folder/test
$ echo 'a file with some content' >udfdata/folder/test_file_with_a_long_name
$ mkisofs -udf -o udf.iso udfdata

##### Archive mount (Double click on) udf.iso  ###############

$ tree .gvfs/udf.iso/
.gvfs/udf.iso/
|-- FOLDER
|   |-- TEST
|   `-- TEST_FIL
|-- TEST
`-- TEST_FIL

1 directory, 4 files

#### Umount volume ####

$ sudo mount -t iso9660 -o loop udf.iso mnt
$ tree mnt
mnt
|-- folder
|   |-- test
|   `-- test_fil
|-- test
`-- test_fil

1 directory, 4 files
$ sudo umount mnt

$ sudo mount -t udf -o loop udf.iso mnt
$ tree mnt
mnt
|-- folder
|   |-- test
|   `-- test_file_with_a_long_name
|-- test
`-- test_file_with_a_long_name

1 directory, 4 files
$ sudo umount mnt

$ sudo mount -t auto -o loop udf.iso mnt
$ tree mnt
mnt
|-- folder
|   |-- test
|   `-- test_file_with_a_long_name
|-- test
`-- test_file_with_a_long_name

1 directory, 4 files
$ sudo umount mnt


Note You need to log in before you can comment on or make changes to this bug.