Menu

#142 orange does not extract all cabinet files

closed-out-of-date
Orange (5)
5
2015-12-17
2008-05-30
No

Dear SynCE Team,

a Debian user has reported a bug in orange (0.3.1).
He has a file, which contains two CABs, but orange extracts only one.
I could reproduce the bug with his file (from http://www.trancreative.com/mb.aspx\) and it seems orange extracts both files, but under the same name, thus overwriting the first one with the second.

You can find the original bug report under http://bugs.debian.org/483283
If you want to answer the bug report directly, you can mail to 483283@bugs.debian.org

TIA and regards
Evgeni Golov

Discussion

  • David Eriksson

    David Eriksson - 2008-06-02

    Logged In: YES
    user_id=337437
    Originator: NO

    Nice catch! I'll see what I can do about it, and when!

    Cheers,

    David

     
  • David Eriksson

    David Eriksson - 2008-06-02

    Logged In: YES
    user_id=337437
    Originator: NO

    It appears that the magic description has changed for MS cabinet files...

    Fix committed:

    Index: lib/squeeze.c

    --- lib/squeeze.c (revision 3470)
    +++ lib/squeeze.c (working copy)
    @@ -211,7 +211,7 @@
    #if VERBOSE_MAGIC
    synce_trace("%s: %s", filename, description);
    #endif
    - if (strstr(description, "Microsoft Cabinet file"))
    + if (strstr(description, "Microsoft Cabinet"))
    {
    CabInfo cab_info;
    if (orange_get_installable_cab_info(filename, &cab_info))

     
  • David Eriksson

    David Eriksson - 2008-06-02
    • summary: orange overwrites files on extraction --> orange does not extract all cabinet files
    • status: open --> closed-fixed
     
  • Evgeni Golov

    Evgeni Golov - 2008-06-03
    • status: closed-fixed --> open-fixed
     
  • Evgeni Golov

    Evgeni Golov - 2008-06-03

    Logged In: YES
    user_id=415254
    Originator: YES

    Sorry, but the patch does not do anything for me :(
    I still get only a installer.StrongARM.cab from mbsetup.exe

     
  • David Eriksson

    David Eriksson - 2008-06-03

    Logged In: YES
    user_id=337437
    Originator: NO

    Please post your config.h file.

     
  • Evgeni Golov

    Evgeni Golov - 2008-06-03
     
  • Evgeni Golov

    Evgeni Golov - 2008-06-03

    Logged In: YES
    user_id=415254
    Originator: YES

    See attachment :)
    File Added: config.h

     
  • David Eriksson

    David Eriksson - 2008-06-04

    Logged In: YES
    user_id=337437
    Originator: NO

    Thanks!

    I see that HAVE_LIBMAGIC and HAVE_MAGIC_H are not defined in your config.h file.

    In order to find Cabinet files in the .rsrc section, Orange must be built with libmagic support. This is poorly documented, there's not even a hint from "./configure --help", but if you rebuild Orange with the libmagic-dev package installed, it should automatically be enabled. I suggest that this dependency is added to Orange.

     
  • Evgeni Golov

    Evgeni Golov - 2008-06-04

    Logged In: YES
    user_id=415254
    Originator: YES

    Yepp, installing libmagic-dev did the trick.
    Now I get the following output:
    % ./src/orange ~/mbsetup.exe
    squeezing out: /tmp/liborange-0.3.1/rsrc-00000064-00000004-00000000-000004e4
    squeezing out: /tmp/liborange-0.3.1/installer.StrongARM.cab
    squeezing out: /tmp/liborange-0.3.1/installer.StrongARM.cab
    squeezing out: /tmp/liborange-0.3.1/rsrc-00000064-00000005-00000000-000004e4
    -------
    4 files

    and can see the following 3(!) files:
    % ls installer.StrongARM.cab rsrc-00000064-0000000*
    -rw-r--r-- 1 zhenech zhenech 608392 4. Jun 08:29 installer.StrongARM.cab
    -rw-r--r-- 1 zhenech zhenech 97432 4. Jun 08:28 rsrc-00000064-00000004-00000000-000004e4
    -rw-r--r-- 1 zhenech zhenech 608392 4. Jun 08:28 rsrc-00000064-00000005-00000000-000004e4

    The last one is absolutely identical to the installer.StrongARM.cab. Thats okay, but why does it say it extracts 4 files, but gives me only 3? :)

     
  • David Eriksson

    David Eriksson - 2008-06-05

    Logged In: YES
    user_id=337437
    Originator: NO

    I beg your pardon for not looking at this careful enough! Thanks for the gentle prod! :-)

     
  • David Eriksson

    David Eriksson - 2008-06-05
    • status: open-fixed --> open
     
  • David Eriksson

    David Eriksson - 2015-12-17
    • Status: open --> closed-out-of-date
     

Log in to post a comment.