maindavfs2 - Support: sr #108624, Dir and file names with Chinese...

 
 

sr #108624: Dir and file names with Chinese charecters not exist

Submitter:  None
Submitted:  Thu 31 Jul 2014 08:36:52 AM UTC
   
 
Category:  None Priority:  5 - Normal
Severity:  3 - Normal Status:  Done
Privacy:  Public Assigned to:  _71007
Originator Email:  -email is unavailable- Open/Closed:  Closed
Operating System:  GNU/Linux
* Mandatory Fields

Add a New Comment Rich Markup
   

Jump to the original submission

Sun 03 Aug 2014 02:11:32 PM UTC, comment #6: 

"Furthermore, is it possible to let davfs/neon to acccpt those "not-so-perfect" i.e. not percent-encoded uri?"

No, for two reasons:

  • Parsing of href is mostly done by the Neon library. I'm not going to use my own special version of neon or neon functions.


  • Some file names will get ambiguous. When a href-element contains something like "a%20b" the file name could be either "a%20b" or "a b", depending on whether href is percent encoded or not. Without knowing this it is impossible to evaluate the file name. Even if I assume that all non-ascii characters are some not percent encoded characters. What character encoding is used? UTF8, UTF16 or somelthing completely different. I would not trust in the XML-header either. Why would the server treat the XML-spec better than the WebDAV-spec?


The most simple solution is to keep to the spec.

Concerning this server bug. I did not read all of the discussion. But as far as I understand it once worked correctly. Then they did some API-changes and missed some imprtant cases and did not test their changes profoundly. I think it would be a bad idea to adapt clients to this kind of server bugs. Better make them fail and then fix the bug.

Cheers
Werner

- <_71007>
Sun 03 Aug 2014 09:01:20 AM UTC, comment #5: 

Thanks for the apache.org bugzilla link! (It's related to mod_dav, not mod_dav_svn, I think?)

I just applied the patch and rebuilt moudle mod_dav.so, mod_dav_lock.so, mod_dav_fs.so then I can see the directores and files with Chinese name now.

Furthermore, is it possible to let davfs/neon to acccpt those "not-so-perfect" i.e. not percent-encoded uri? The WebDAV clients I used on Windows, android and iOS can display those dirs/files normally before applying the patch.

Xun An <addax>
Fri 01 Aug 2014 09:10:33 AM UTC, comment #4: 

This seems to be a known issue with mod_dav_svn. Please see

https://issues.apache.org/bugzilla/show_bug.cgi?id=56480

Werner

- <_71007>
Fri 01 Aug 2014 08:37:12 AM UTC, comment #3: 

It's a long time since I last run an Apache/mod_dav test server. So I may be wrong. Here is my opinion nonetheless.

  • The XML-body of a PROPFIND response is not created by Apache. It can't be the culprit.


  • I have tested mod_dav with Apache (a long time ago) and also the WebDAV server of my ISP used this combination for some time. I tested German Umlauts in UTF8-encoding and the servers did percent encoding.


  • I know nothing about mod_dav_svn. I would start searching for the bug there. It most likely is responsible for creating the XML-body of the response.


Cheers
Werner

- <_71007>
Fri 01 Aug 2014 03:16:58 AM UTC, comment #2: 

Thanks for pointing out the server side issue. Checked again that the Chinese characters in the "Read block ..." messages were not percent encoded, just displayed as themselves.

Then I added "SVNUseUTF8 On" into Apache2 conf file and restarted it. Re-mounted, but in the log messages the Chinese characters are still there without percent encoding, and those directories and files still not seen in the mounted dir.

It's libapache2-mod-svn 1.8.8. I am not sure which has problem, apache2, mod_dav, or mod_dav_svn? Would you suggest? Thanks.

Xun An <addax>
Thu 31 Jul 2014 10:33:37 AM UTC, comment #1: 

Please have another look at the "Read block ..." messages. The file names are in href-elements. They must be valid URLs in percent encoded form. I.e. all the chinese unicode characters must be percent encoded. If not the neon library will discard them. This would be a bug in the server software and should be reported there.

Otherwise please send the log files, one response to PROPFIND containing that XML-body should be enough.

Werner

- <_71007>
Thu 31 Jul 2014 08:36:52 AM UTC, original submission:  

I have directories and files with Chinese characters in their names stored in a Subversion repository served via Apache2 server, mixed with those with English names. When mounted I can only see the files and directories with English names, but not any with Chinese characters.

With debug = most and debug = httpbody and doing mount-ls-umount, I can see the correct characters in the "Read block ..." message, but only see English directories in the following "updating node: " message.

Is this some bug with non-English dir/file name processing?

Anonymous

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach Files:
   
   
Comment:
   

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -email is unavailable- added by addax (Posted a comment)
  • -email is unavailable- added by _71007 (Posted a comment)
  •  

    There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

    Only logged-in users can vote.

     

    Follow 4 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2016-04-15 _71007 Open/ClosedOpen Closed
    2014-08-03 _71007 StatusIn Progress Done
    2014-07-31 _71007 StatusNone In Progress
        Assigned toNone _71007

    Back to the top

    Powered by Savane 3.13-caa5.
    Corresponding source code