[prev in list] [next in list] [prev in thread] [next in thread] 

List:       rdesktop-devel
Subject:    [rdesktop-devel] [ rdesktop-Bugs-1673676 ] W2003 explorer crash
From:       "SourceForge.net" <noreply () sourceforge ! net>
Date:       2008-12-03 13:43:44
Message-ID: E1L7s12-0008PH-9U () d55xhf1 ! ch3 ! sourceforge ! com
[Download RAW message or body]

Bugs item #1673676, was opened at 2007-03-04 23:04
Message generated for change (Comment added) made by nobody
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=381347&aid=1673676&group_id=24366

Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: None
Group: None
Status: Open
Resolution: None
Priority: 5
Private: No
Submitted By: Nobody/Anonymous (nobody)
Assigned to: Nobody/Anonymous (nobody)
Summary: W2003 explorer crash with long filenames

Initial Comment:
Hello,

when using drive redirection from a linux host to a
windows 2003 terminal server, the windows explorer
crashes when files with names longer than approx.
128 chars are in a traversed directory.

Simply skipping files with names longer than this
solves the problem

Example patch


--- disk.c.orig 2007-01-08 05:47:05.000000000 +0100
+++ disk.c      2007-03-02 10:48:16.000000000 +0100
@@ -1135,8 +1135,9 @@
                        }

                        /* find next dirent matching pattern */
+                       /* ignore files with filename too long */
                        pdirent = readdir(pdir);
-                       while (pdirent && fnmatch(pfinfo->pattern, pdirent->d_name, \
0) != 0) +                       while (pdirent && (fnmatch(pfinfo->pattern, \
pdirent->d_name, 0) != 0 || strlen(pdirent->d_name) > 118))  pdirent = readdir(pdir);

                        if (pdirent == NULL)




----------------------------------------------------------------------

Comment By: Nobody/Anonymous (nobody)
Date: 2008-12-03 13:43

Message:
Hello everybody !
For me, this bug is not corrected yet ! (I have tested it with rdesktop
1.5.0 and 1.6.0)

Steps to reproduce :
1) connect to a W2003 server with :
rdesktop -r disk:temp=/mnt/temp W2003
2) go to this "temp" in "My Computer"
3) Create this "long directory" (more than 127 char) :
01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567
 4) You can't no more browse in the "temp" : you see the bug : you are
disconnected !!

Worst if this "long directory" is in a subdirectory, you are disconnected
anyway !!


Please correct this bug !

Thanks for helps.

----------------------------------------------------------------------

Comment By: Snejok (snejok)
Date: 2008-07-04 10:42

Message:
Logged In: YES 
user_id=2135935
Originator: NO

> Date: 2008-03-31 15:56
> Sender: nobody
> Logged In: NO 

> BAD idea. With this patch filenames longer than 128 bytes works
correctly

Thanks! Its work very cool!

----------------------------------------------------------------------

Comment By: Nobody/Anonymous (nobody)
Date: 2008-07-04 10:36

Message:
Logged In: NO 

> Date: 2008-03-31 11:56
> Sender: nobody
> Logged In: NO 

> BAD idea. With this patch filenames longer than 128 bytes works
correctly

Thanks a lot!!! Great patch. Works correctly

----------------------------------------------------------------------

Comment By: Nobody/Anonymous (nobody)
Date: 2008-03-31 11:56

Message:
Logged In: NO 

BAD idea. With this patch filenames longer than 128 bytes works correctly

--- disk.c.orig 2008-03-31 15:45:39.000000000 +0400
+++ disk.c      2008-03-31 15:44:53.000000000 +0400
@@ -1197,8 +1197,8 @@
                        out_uint32_le(out, fstat.st_size);      /*
filesize low */
                        out_uint32_le(out, 0);  /* filesize high */
                        out_uint32_le(out, file_attributes);
-                       out_uint8(out, 2 * strlen(pdirent->d_name) + 2);  
     /* unicode length */
-                       out_uint8s(out, 7);     /* pad? */
+                       out_uint16(out, 2 * strlen(pdirent->d_name) + 2); 
     /* unicode length */
+                       out_uint8s(out, 6);     /* pad? */
                        out_uint8(out, 0);      /* 8.3 file length */
                        out_uint8s(out, 2 * 12);        /* 8.3 unicode
length */
                        rdp_out_unistr(out, pdirent->d_name, 2 *
strlen(pdirent->d_name));


----------------------------------------------------------------------

Comment By: Christoph Peus (cpeus)
Date: 2007-09-05 12:22

Message:
Logged In: YES 
user_id=958360
Originator: NO

The problem occurs with file names longer than 126 characters to be
precise.

But simply skipping them is *not* a solution. Users expect USB-Sticks to
behave always the same - no matter whether they are plugged into a Windows
fat client or a Linux/rdesktop based thinclient device. One may think that
it is not often that a user chooses a filename with more than 126
characters, but if users save documents with automatically generated
filenames (e.g. when saving websites) this occurs quite frequently, at
least in our public pc pools. Typical scanario: they save something to a
USB-Stick at home (using standard Windows pc of course) plug that stick
into one of our thinclient devices and cannot open the file because the
connection crashes or - if above path would be applied - the saved file
wouldn't be displayed - very annoying.
Please please please fix that bug!
Thanks.

Regards
Christoph 

----------------------------------------------------------------------

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=381347&aid=1673676&group_id=24366

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
rdesktop-devel mailing list
rdesktop-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/rdesktop-devel


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic