English Home > Samba Internationalisation
Samba 3.0 Internationalisation ProjectThis project is supported and funded by IPA (Information Technology Promotion Agency) of Japan. Table of Contents1. IntroductionIn Samba 3.0, the character conversion routines have changed dramatically from that of Samba 2.x. Although the official Samba 3.0.0 is out for a while, only a limited amount of verifications are done for testing its multibyte characters handlings. This project is intended to perform complete internationalisation testings on Samba, and fixing bugs whenever such bugs found. Below is the list of brief descriptions of what this project is all about.
Our goal is to merge end products of this project (tests and patches) into mainstream of Samba. 2. OutlinesWe are aware that implementing complete multibyte features is a hard task to accompolish as:
Points (1) and (3) are somehow related. One of the issues to be considered in the development of Samba is, because testing Samba requires a vast amount of knowledge in Linux, Windows network and Samba itself, so testing multibyte features are done by a small number of people. What we are doing right now is to incorporate automatic testing scripts in the build farm that samba.org provides. Build farm tests codes in CVS everyday, and it would be a feasible solution for problems (1) and (3) that occasional internationalisation tests are carried out in a reasonable time span. It is not likely that automatic testing will cover the entire functionality of Samba 3.0. However, by incorporating into automatic testing framework, it would at least assure developers that the code achieved a certain level of multibyte capabilities. Future product have to pass the tests meaning the code would be regression-free to a certain extent. To address point (2), we are preparing the White Paper and a section of internationalisation in Samba Developer's Guide. iconv issuesAlso, it is worth mentioning that the implementation of iconv() functions in glibc and libiconv are not sufficient. Because Samba 3.0 employs iconv() functions provided by external packages for multibyte character conversions, we are working on fixing these packages to work correctly. For more detailed information on what their problems are, please refer to the following link. 3. OutputPatches for internationalisation tests for Samba 3.0.1 will be available soon. Below is the list of bugs reported to bugzilla.samba.org.
4. IssuesThis section describes the problems observed in current Samba 3.0 release. 4.1. nmbd Structurenmbd fails when handling some kinds of multibyte characters. This is because it receives data in dos charset but it handles data internally with unix charset, so if unix charset is set to UTF-8, buffer provided for it would overflow. 4.2. File Name CollisionIn Samba 3.0, a new mangling method "hash2" is introduced. While this algorithm is less likely to cause harms compare to the "hash" algorithm employed in Samba 2.x, is not a complete solution. All it does is just to make collisions _LESS_ likely to happen. Operations like "drag and drop" handles file names in SFN, which means that whenever a conflict occurs among multiple files, only one of them would be chosen with graphical file manipulations. 4.3. Samba Macro VariablesSamba prepares macro variables like %U and %G which are substituted with some other strings when requested. These macros only permits limited ascii codes for inputs, as some special codes appear to be security risks. However, under current implementation, it is throwing away most of harmless multibyte characters. ContactsFor more information, please send emails to samba-dev@miraclelinux.com.
|