[Samba] Samba 3.0rc3 - German Umlauts on SuSE 8.2
Jeremy Allison
jra at samba.org
Tue Sep 9 21:21:43 GMT 2003
On Tue, Sep 09, 2003 at 04:03:52PM +0200, Peter Eckhardt wrote:
> Hi,
>
> I am still fighting with my strange samba killing server. Yesterday
> I installed samba3 for testing and noticed it also crashes but not
> as hard as samba-2
> Unfortunately samba-3 is not yet usable due to problems with german
> umlauts.
> The following combination of charsets seems to be the only one which
> displays filenames correctly
> unix charset = iso8859-1
> unicode = yes
> display charset = iso8859-1
> ; dos charset = CP850
> unfortunately opening files using the above combination of charsets
> crashes explorer and gives an oops in samba
>
>
> [2003/09/09 15:50:12, 1] smbd/service.c:make_connection_snum(696)
> dadi (192.168.123.178) connect to service peter initially as user
> peter (uid=500, gid=100) (pid 29204)
> [2003/09/09 15:50:12, 0] smbd/statcache.c:stat_cache_add(123)
>
> OOPS - tried to store stat cache entry for werid length paths
> [BÄ] 2 and [bä.txt.txt] 10)!
> [2003/09/09 15:50:12, 2] smbd/open.c:open_file(250)
> peter opened file bä.txt.txt read=Yes write=No (numopen=1)
> [2003/09/09 15:50:23, 2] smbd/close.c:close_normal_file(228)
> peter closed file bä.txt.txt (numopen=0)
> [2003/09/09 15:51:46, 0] lib/util_sock.c:read_socket_data(342)
> read_socket_data: recv failure for 4. Error = Connection reset
> by peer
> [2003/09/09 15:51:46, 2] smbd/server.c:exit_server(558)
> Closing connections
> [2003/09/09 15:51:46, 1] smbd/service.c:close_cnum(878)
>
> Samba is 3.0rc3 on SuSe 8.2, Client OS is Windows 2000 (German)
>
> Is it a bug or a feature ?
Please try the following patch, and see if it fixes the problem.
It just missed the RC3 cutoff but is in CVS.
Jeremy.
--- lib/charcnv.c Mon Sep 8 07:13:30 2003
+++ /home/jeremy/src/samba3.0/source/lib/charcnv.c Mon Sep 8 14:27:10 2003
@@ -270,7 +270,7 @@
break;
} else {
if (srclen == (size_t)-1) {
- srclen = strlen(src)+1;
+ srclen = strlen(p)+1;
}
return retval + convert_string_internal(from, to, p, srclen, q, destlen);
}
@@ -296,7 +296,7 @@
break;
} else {
if (srclen == (size_t)-1) {
- srclen = strlen_w(src)+2;
+ srclen = strlen_w((const void *)p)+2;
}
return retval + convert_string_internal(from, to, p, srclen, q, destlen);
}
@@ -322,7 +322,7 @@
break;
} else {
if (srclen == (size_t)-1) {
- srclen = strlen(src)+1;
+ srclen = strlen(p)+1;
}
return retval + convert_string_internal(from, to, p, srclen, q, destlen);
}
More information about the samba
mailing list