smbfs: simple codepage hack (w/ patch)

Urban Widmark (urban@svenskatest.se)
Tue, 4 May 1999 23:33:21 +0200 (CEST)


This message is in MIME format. The first part should be readable text,
while the remaining parts are likely unreadable without MIME-aware tools.
Send mail to mime@docserver.cac.washington.edu for more info.

---1463780587-1674929230-925852573=:525
Content-Type: TEXT/PLAIN; CHARSET=iso-8859-1
Content-Transfer-Encoding: 8BIT
Content-ID: <Pine.LNX.4.10.9905042329101.525@cola.svenskatest.se>

Hello smb maintainer, hello list.

As far as I understand the smbfs code makes no attempt to convert the
filenames from the dos codepage format they arrive from the server to
something understandable by linux userspace programs. This for example
makes ls display the wonderful filename едц as ???.

There are some nls/codepage stuff used by (at least) vfat. Now that I have
re-invented parts of that conversion I think I understand how I could use
them. (I played with those at first but they were not a magic wand that
made all my problems disappear :).

I'm thinking of doing the conversions cp850 -> unicode -> iso8859-1
(configurable to other pages of course) and reversed for the other
direction. This is similar to the samba settings needed for its smbclient
(and therefore I'm guessing similar to what it does).

Is this the way it's supposed to be done? Should it be enough to simply
convert to unicode? I tried that at first and it didn't work (although
there were some things I did that couldn't possibly work).

Or is this something that is already being worked on?

Only briefly tested with smbfs as a module, NT4 as smb server, client
codepage 850. Diff against Linux 2.2.7 is attached. If anyone tries this
I'd love to know.

/Urban

---
Urban Widmark                           urban@svenskatest.se
Svenska Test AB                         +46 90 71 71 23

---1463780587-1674929230-925852573=:525 Content-Type: TEXT/PLAIN; CHARSET=US-ASCII; NAME="smbfs-latin1.diff" Content-Transfer-Encoding: BASE64 Content-ID: <Pine.LNX.4.10.9905042316130.525@cola.svenskatest.se> Content-Description: smbfs-codepage.diff Content-Disposition: ATTACHMENT; FILENAME="smbfs-latin1.diff"

LS0tIGxpbnV4LWlkZS9mcy9zbWJmcy9wcm9jLmMJV2VkIE5vdiAgNCAwNjo1 Njo1OCAxOTk4DQorKysgbGludXgvZnMvc21iZnMvcHJvYy5jCVR1ZSBNYXkg IDQgMjI6Mzk6MjMgMTk5OQ0KQEAgLTcsNiArNyw4IEBADQogICogIDI4LzA2 Lzk2IC0gRml4ZWQgbG9uZyBmaWxlIG5hbWUgc3VwcG9ydCAoc21iX3Byb2Nf cmVhZGRpcl9sb25nKSBieSBZdXJpIFBlcg0KICAqICAyOC8wOS85NyAtIEZp eGVkIHNtYl9kX3BhdGggW25vdyBzbWJfYnVpbGRfcGF0aCgpXSB0byBiZSBu b24tcmVjdXJzaXZlDQogICogICAgICAgICAgICAgYnkgUmljY2FyZG8gRmFj Y2hldHRpDQorICogIDA0LzA1Lzk5IC0gQWRkZWQgc2ltcGxlIGZpbGVuYW1l IGNvbnZlcnNpb25zIGZvciBkb3MgY29kZXBhZ2UgODUwDQorICogICAgICAg ICAgICAgYnkgVXJiYW4gV2lkbWFyaw0KICAqLw0KIA0KICNpbmNsdWRlIDxs aW51eC90eXBlcy5oPg0KQEAgLTMwLDYgKzMyLDE0IEBADQogLyogI2RlZmlu ZSBTTUJGU19ERUJVR19WRVJCT1NFIDEgKi8NCiAvKiAjZGVmaW5lIHByX2Rl YnVnIHByaW50ayAqLw0KIA0KKy8qDQorICogRGVmaW5lIHRvIGFjdGl2YXRl IGNvZGVwYWdlIGhhY2sNCisgKg0KKyAqIE9ubHkgd29ya3MgZm9yIGluZm9s ZXZlbCAyNTkgYW5kICdzbWJfZGVjb2RlX2xvbmdfZGlyZW50JyAuLi4NCisg KiBJbiBvdGhlciB3b3JkczogaXQgd29ya3MgZm9yIG1lIChOVDQgc2VydmVy cyksIGl0IG1heSB3b3JrIGZvciB5b3UNCisgKi8NCisjZGVmaW5lIFNNQkZT X0NPREVQQUdFUyAxIC8qICovDQorDQogI2RlZmluZSBTTUJfVldWKHBhY2tl dCkgICgocGFja2V0KSArIFNNQl9IRUFERVJfTEVOKQ0KICNkZWZpbmUgU01C X0NNRChwYWNrZXQpICAoKihwYWNrZXQrOCkpDQogI2RlZmluZSBTTUJfV0NU KHBhY2tldCkgICgqKHBhY2tldCtTTUJfSEVBREVSX0xFTiAtIDEpKQ0KQEAg LTgwLDYgKzkwLDcwIEBADQogCX0NCiB9DQogDQorDQorI2lmZGVmIFNNQkZT X0NPREVQQUdFUw0KKw0KK3Vuc2lnbmVkIGNoYXIgaXNvODg1OV8xX3RvX2Nw ODUwW10gPSB7DQorICAgIC8qIDEyOCAqLw0KKyAgICAweDgwLCAweDgxLCAw eDgyLCAweDgzLCAweDg0LCAweDg1LCAweDg2LCAweDg3LCANCisgICAgMHg4 OCwgMHg4OSwgMHg4YSwgMHg4YiwgMHg4YywgMHg4ZCwgMHg4ZSwgMHg4Ziwg DQorICAgIDB4OTAsIDB4OTEsIDB4OTIsIDB4OTMsIDB4OTQsIDB4OTUsIDB4 OTYsIDB4OTcsIA0KKyAgICAweDk4LCAweDk5LCAweDlhLCAweDliLCAweDlj LCAweDlkLCAweDllLCAweDlmLCANCisgICAgMHhmZiwgMHhhZCwgMHhiZCwg MHg5YywgMHhjZiwgMHhiZSwgMHhkZCwgMHhmNSwgDQorICAgIDB4ZjksIDB4 YjgsIDB4YTYsIDB4YWUsIDB4YWEsIDB4ZjAsIDB4YTksIDB4ZWUsIA0KKyAg ICAweGY4LCAweGYxLCAweGZkLCAweGZjLCAweGVmLCAweGU2LCAweGY0LCAw eGZhLCANCisgICAgMHhmNywgMHhmYiwgMHhhNywgMHhhZiwgMHhhYywgMHhh YiwgMHhmMywgMHhhOCwgDQorDQorICAgIC8qIDE5MiAqLw0KKyAgICAweGI3 LCAweGI1LCAweGI2LCAweGM3LCAweDhlLCAweDhmLCAweDkyLCAweDgwLCAN CisgICAgMHhkNCwgMHg5MCwgMHhkMiwgMHhkMywgMHhkZSwgMHhkNiwgMHhk NywgMHhkOCwgDQorICAgIDB4ZDEsIDB4YTUsIDB4ZTMsIDB4ZTAsIDB4ZTIs IDB4ZTUsIDB4OTksIDB4OWUsIA0KKyAgICAweDlkLCAweGViLCAweGU5LCAw eGVhLCAweDlhLCAweGVkLCAweGU4LCAweGUxLCANCisgICAgMHg4NSwgMHhh MCwgMHg4MywgMHhjNiwgMHg4NCwgMHg4NiwgMHg5MSwgMHg4NywgDQorICAg IDB4OGEsIDB4ODIsIDB4ODgsIDB4ODksIDB4OGQsIDB4YTEsIDB4OGMsIDB4 OGIsIA0KKyAgICAweGQwLCAweGE0LCAweDk1LCAweGEyLCAweDkzLCAweGU0 LCAweDk0LCAweGY2LCANCisgICAgMHg5YiwgMHg5NywgMHhhMywgMHg5Niwg MHg4MSwgMHhlYywgMHhlNywgMHg5OA0KK307DQorDQordW5zaWduZWQgY2hh ciBjcDg1MF90b19pc284ODU5XzFbXSA9IHsNCisgICAgLyogMTI4ICovDQor ICAgIDB4YzcsIDB4ZmMsIDB4ZTksIDB4ZTIsIDB4ZTQsIDB4ZTAsIDB4ZTUs IDB4ZTcsIA0KKyAgICAweGVhLCAweGViLCAweGU4LCAweGVmLCAweGVlLCAw eGVjLCAweGM0LCAweGM1LCANCisgICAgMHhjOSwgMHhlNiwgMHhjNiwgMHhm NCwgMHhmNiwgMHhmMiwgMHhmYiwgMHhmOSwgDQorICAgIDB4ZmYsIDB4ZDYs IDB4ZGMsIDB4ZjgsIDB4YTMsIDB4ZDgsIDB4ZDcsIDB4OWYsIA0KKyAgICAw eGUxLCAweGVkLCAweGYzLCAweGZhLCAweGYxLCAweGQxLCAweGFhLCAweGJh LCANCisgICAgMHhiZiwgMHhhZSwgMHhhYywgMHhiZCwgMHhiYywgMHhhMSwg MHhhYiwgMHhiYiwgDQorICAgIDB4YjAsIDB4YjEsIDB4YjIsIDB4YjMsIDB4 YjQsIDB4YzEsIDB4YzIsIDB4YzAsIA0KKyAgICAweGE5LCAweGI5LCAweGJh LCAweGJiLCAweGJjLCAweGEyLCAweGE1LCAweGJmLCANCisNCisgICAgLyog MTkyICovDQorICAgIDB4YzAsIDB4YzEsIDB4YzIsIDB4YzMsIDB4YzQsIDB4 YzUsIDB4ZTMsIDB4YzMsIA0KKyAgICAweGM4LCAweGM5LCAweGNhLCAweGNi LCAweGNjLCAweGNkLCAweGNlLCAweGE0LCANCisgICAgMHhmMCwgMHhkMCwg MHhjYSwgMHhjYiwgMHhjOCwgMHhkNSwgMHhjZCwgMHhjZSwgDQorICAgIDB4 Y2YsIDB4ZDksIDB4ZGEsIDB4ZGIsIDB4ZGMsIDB4YTYsIDB4Y2MsIDB4ZGYs IA0KKyAgICAweGQzLCAweGRmLCAweGQ0LCAweGQyLCAweGY1LCAweGQ1LCAw eGI1LCAweGZlLCANCisgICAgMHhkZSwgMHhkYSwgMHhkYiwgMHhkOSwgMHhm ZCwgMHhkZCwgMHhhZiwgMHhiNCwgDQorICAgIDB4YWQsIDB4YjEsIDB4ZjIs IDB4YmUsIDB4YjYsIDB4YTcsIDB4ZjcsIDB4YjgsIA0KKyAgICAweGIwLCAw eGE4LCAweGI3LCAweGI5LCAweGIzLCAweGIyLCAweGZlLCAweGEwDQorfTsN CisNCisNCisvKg0KKyAqIENvZGVwYWdlIGNvbnZlcnNpb25zLg0KKyAqDQor ICogTm90ZTogdXBwZXIgJiBsb3dlciBjb252ZXJzaW9ucyB3b24ndCB3b3Jr IGZvciB0aGVzZSBjaGFycw0KKyAqLw0KK3N0YXRpYyB2b2lkIHJlbWFwX2No YXJzKHVuc2lnbmVkIGNoYXIgKmJ1ZiwgaW50IGxlbiwgdW5zaWduZWQgY2hh ciAqY29kZXBhZ2UpDQorew0KKwl3aGlsZShsZW4tLSA+IDApIHsNCisJCXVu c2lnbmVkIGNoYXIgKnMgPSBidWYrKzsNCisJCWlmKCpzIDwgMHg4MCkNCisJ CQljb250aW51ZTsNCisJCSpzID0gY29kZXBhZ2VbKnMgLSAweDgwXTsNCisJ fQ0KK30NCisjZW5kaWYNCisNCiAvKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKiovDQogLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAq Lw0KIC8qICBFbmNvZGluZy9EZWNvZGluZyBzZWN0aW9uICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCkBAIC0x NjIsNiArMjM2LDEwIEBADQogCWlmIChzZXJ2ZXItPm9wdC5wcm90b2NvbCA8 PSBTTUJfUFJPVE9DT0xfQ09SRVBMVVMpDQogCQlzdHJfdXBwZXIoc3RhcnQs IGJ1ZiAtIHN0YXJ0KTsNCiANCisjaWZkZWYgU01CRlNfQ09ERVBBR0VTDQor CXJlbWFwX2NoYXJzKHN0YXJ0LCBidWYgLSBzdGFydCwgaXNvODg1OV8xX3Rv X2NwODUwKTsNCisjZW5kaWYNCisNCiAJcmV0dXJuIGJ1ZjsNCiB9DQogDQpA QCAtMTQ3Miw2ICsxNTUwLDExIEBADQogCQlpZiAobGVuICYmIGVudHJ5LT5u YW1lW2xlbi0xXSA9PSAnXDAnKQ0KIAkJCWxlbi0tOw0KIAkJZW50cnktPmxl biA9IGxlbjsNCisNCisjaWZkZWYgU01CRlNfQ09ERVBBR0VTDQorCQlyZW1h cF9jaGFycygmZW50cnktPm5hbWVbMF0sIGxlbiwgY3A4NTBfdG9faXNvODg1 OV8xKTsNCisjZW5kaWYNCisNCiAjaWZkZWYgU01CRlNfREVCVUdfVkVSQk9T RQ0KIHByaW50aygic21iX2RlY29kZV9sb25nX2RpcmVudDogaW5mbyAyNTkg YXQgJXAsIGxlbj0lZCwgbmFtZT0lc1xuIiwNCiBwLCBsZW4sIGVudHJ5LT5u YW1lKTsNCg== ---1463780587-1674929230-925852573=:525--

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/