Opened 12 years ago

Closed 12 years ago

Last modified 10 years ago

#20 closed defect (fixed)

Directory containig DBCS chars is not listed

Reported by: guest Owned by:
Priority: blocker Milestone: Netdrive plugin 1.0
Component: Samba Client Plugin Version:
Keywords: Cc:

Description

Hi/2.

If directory name contain DBCS chars, its contents is not listed.

This goes for server and client.

That is, client(VISTA) cannot list the directory of samba server(OS/2), and client(OS/2) cannot list the directory of server(VISTA). Of course, client(OS/2) cannot list the directory of samba server(OS/2).

If directory name consist of SBCS chars only, it works well. But files have no problems.

I'm using samba 3.0.25b-20070628 version for both server and client.

KO Myung-Hun

Attachments (3)

smb_patch.zip (13.8 KB) - added by guest 12 years ago.
Patches for DBCS problem
loadparm.diff (665 bytes) - added by guest 12 years ago.
set the default value of dos charset to 'SYSTEM' instead of 'CP850'
charcnv.diff (1.5 KB) - added by guest 12 years ago.
Check the max len of string more precisely in next_codepoint()

Download all attachments as: .zip

Change History (13)

comment:1 Changed 12 years ago by guest

  • Resolution set to fixed
  • Status changed from new to closed

Hi/2.

I've fixed DBCS problem and attached patches. It is due to the result of combination of ugly charset conversion of samba(server) and difference of iconv() implementatin on OS/2.

In case of iconv(), at least, Korean use '\' as currency, WON sign. And iconv() does not treat it as path separator. So path including '\' is not recognized correctly.

Maybe later, provided iconv() modified to support path separator, workaround of iconv() is needless.

KO Myung-Hun

Changed 12 years ago by guest

Patches for DBCS problem

comment:2 follow-up: Changed 12 years ago by psmedley

Hi KO,

Thanks for the report. Next time, please supply an svn diff instead of zipped source - makes the patch much easier to apply.

Also - I don't actually see any changes in charcnv.c - at least - none that are wrapped in #ifdef OS2

Changes to iconv.c will be in svn shortly

comment:3 in reply to: ↑ 2 Changed 12 years ago by guest

Hi/2.

Replying to psmedley:

Hi KO,

Thanks for the report. Next time, please supply an svn diff instead of zipped source - makes the patch much easier to apply.

Ah, Ok.

Also - I don't actually see any changes in charcnv.c - at least - none that are wrapped in #ifdef OS2

It is not a OS/2 specific problem. So I didn't use preprocessor macros. You can compare next_codepoint() with one in svn repos.

Changes to iconv.c will be in svn shortly

Thanks.

KO Myung-Hun

comment:4 Changed 12 years ago by guest

  • Resolution fixed deleted
  • Status changed from closed to reopened

Hi/2.

Would you mind applying 'charconv.c' to svn ?

KO Myung-Hun

comment:5 Changed 12 years ago by psmedley

  • Resolution set to fixed
  • Status changed from reopened to closed

Fixed in changeset #63

comment:6 follow-up: Changed 12 years ago by guest

  • Resolution fixed deleted
  • Status changed from closed to reopened

Hi/2.

I've updated svn repository. And I've found 'charcnv.c' was regressed to older one.

So I repost patches. In addition, unlike before, I wrapped patches with #ifdef OS2 ... #else ... #endif directives.

KO Myung-Hun

comment:7 Changed 12 years ago by guest

Hi/2.

When connecting to OS/2 machine, DBCS chars are broken. This is due to dos charset. I changed its default value from 'CP850' to 'SYSTEM' like unix charset.

KO Myung-Hun

Changed 12 years ago by guest

set the default value of dos charset to 'SYSTEM' instead of 'CP850'

comment:8 in reply to: ↑ 6 Changed 12 years ago by guest

Hi/2.

I'm sorry that I had updated 'trunk' not 'branch'. It's my mistake.

So I've attached another patch for the stronger length check in charcnv.c.

KO Myung-Hun

Replying to guest:

Hi/2.

I've updated svn repository. And I've found 'charcnv.c' was regressed to older one.

So I repost patches. In addition, unlike before, I wrapped patches with #ifdef OS2 ... #else ... #endif directives.

KO Myung-Hun

Changed 12 years ago by guest

Check the max len of string more precisely in next_codepoint()

comment:9 Changed 12 years ago by psmedley

  • Resolution set to fixed
  • Status changed from reopened to closed

Checkin 120 should address this

comment:10 Changed 10 years ago by herwigb

  • Milestone set to Netdrive SMB Client plugin 1.0
Note: See TracTickets for help on using tickets.