Mantis Bugtracker

Viewing Issue Simple Details Jump to Notes ] View Advanced ] Issue History ] Print ]
ID Category Severity Reproducibility Date Submitted Last Update
0002618 [Squeak 5.2] any minor always 02-01-06 06:28 02-20-06 05:45
Reporter korakurider View Status public  
Assigned To
Priority normal Resolution open  
Status new  
Summary 0002618: FileList2 Listing of SuperSwiki may cause walkback
Description Current implementation assumes shift_jis encoding is used in wire protocol between SuperSwiki server and client. Some existing projects encoded in other than shift_jis cause walkback.
At this time listing Bob's SuperSwiki causes walkback because of [^]
Additional Information Proposed patch/enhancement is attached (SuperSwikiString-KR.cs):
This patch introduces 'encodingName' for ServerDirectory entry
(even in knownServer entry) so that appropriate encoding can be specified for each server.
If not specified, encoding is determined based on current locale.
Attached Files  SuperSwikiString-KR.cs [^] (12,194 bytes) 02-01-06 06:28
 SuperSwikiString-KR.2.cs [^] (12,196 bytes) 02-20-06 05:43

- Relationships

- Notes
(0003701 - 1752 - 1948 - 1948 - 1948 - 1948 - 1948)
02-04-06 17:49
edited on: 02-04-06 17:51

Rationale for proposed change (long):

+ SuperSwiki server and wire protocol don't assume speicific encoding. On publish of project to server, octet string in wire protocol is used as-is for project name by server. So projects named with Latin1 characters (0x01-0xFF) have been published on your servers (Bob's for instance)
As Server send out the same octet string for project name in wire protocol, client must not decode it. (see code of Squeakland04 or 3.8-6665)

+ To employ SuperSwiki in Japan, we needed Shift-JIS encoding (one Kanji character is represented by two octets 0xA000-0xFFFF) in client side.
Bunch of projects have been publihsed on our Swiki instances in Japan.
We ignore 0xA0-0xF0 characters in Latin1 as Japanese seldom use them.

The Shift-JIS encoding was implemented in changeset "10nihongo7SuperSwiki" ,that was originally developed for our domestic "Nihongo7" release. But the patch (even with preamble: "it should not be the part of world wide release as is" !) has been applied to SqL05 AS-IS.
That is direct cause for the problem I reported in this entry.

+ Though root cause for the problem is wire protocol without considering I18n, we can't change it because of existing assets of projects (named in both Latin1 and Shift-JIS ).
My patch is workaround for this situation. It will work in typical usage even without encodingName in ServerDirectory entry:
  --- In culture using Latin1 locale, Latin1 encoding is used. (solution for original problem)
  --- In Japanese using Ja locale, Shift-JIS encoding is used.

Even in non-typical usage (Latin1-server/ja-client for instance), it will be better as workaroud provided:
  --- specifiy encodingName in ServerDirectory entry
  --- change locale

(0003910 - 121 - 127 - 127 - 127 - 127 - 127)
02-20-06 05:45

As bug with SuperSwikiString-KR.cs about uploading project was found,
I uploaded revised patch, SuperSwikiString-KR.2.cs

- Issue History
Date Modified Username Field Change
02-01-06 06:28 korakurider New Issue
02-01-06 06:28 korakurider File Added: SuperSwikiString-KR.cs
02-04-06 17:49 korakurider Note Added: 0003701
02-04-06 17:51 korakurider Note Edited: 0003701
02-20-06 05:43 korakurider File Added: SuperSwikiString-KR.2.cs
02-20-06 05:45 korakurider Note Added: 0003910

Mantis 1.0.8[^]
Copyright © 2000 - 2007 Mantis Group
42 total queries executed.
28 unique queries executed.
Powered by Mantis Bugtracker