does ftpd allow cyrillic filenames?

Rob Landley rob at landley.net
Sat Mar 13 02:17:45 UTC 2010


On Friday 12 March 2010 13:12:30 Vladimir Dronnikov wrote:
> Hi!
>
> Does anybody try to push to BB ftpd file/dir containing non-latin1
> letters in the name?
> IOW, is the subj true?

In my static binaries (built with FWL's sources/trimconfig-busybox) I'm setting 
CONFIG_FEATURE_ASSUME_UNICODE=n so busybox itself might but the prebuilt 
binaries (and the stuff I'm building in FWL, which I know you've been poking at 
on other lists) might not.

I don't remember why that's set.  The build was breaking at some point on some 
platform, but that could easily have been due to a bug in a previous version 
of busybox that's since been fixed.

At the same time, I don't think that's going to affect ftpget and ftpput.  
Those should treat the filename as just a blob, and UTF-8 (the only sane way to 
do internationalization) uses groups of high-ascii characters to represent 
stuff beyond the first 127 ascii characters, which everything else that doesn't 
understand it just treats as verbatim data.  It should never introduce a 
spurious / or whitespace or newline or NULL...

There were two epic threads on this on linux-kernel back in 2004.  The first 
starts here:

  http://lkml.indiana.edu/hypermail/linux/kernel/0402.2/0273.html

And the second starts here:
  
  http://lkml.indiana.edu/hypermail/linux/kernel/0402.2/0143.html

And it's really worth reading them all.  (The first thread is mostly about why 
case insensitivity doesn't belong in the kernel, which is fascinating and 
amazingly educational when Tridge and Linus argue back and forth about it, but 
not really the topic at hand.  The second is why utf-8 is the only sane 
international encoding format for Unix systems.)

However, if you don't have time, here's a number of Linus Torvalds' 
contributions (and remember he learned English as something like his third 
language):

  http://lkml.indiana.edu/hypermail/linux/kernel/0402.2/0144.html
  http://lkml.indiana.edu/hypermail/linux/kernel/0402.2/0165.html
  http://lkml.indiana.edu/hypermail/linux/kernel/0402.2/0173.html
  http://lkml.indiana.edu/hypermail/linux/kernel/0402.2/0214.html
  http://lkml.indiana.edu/hypermail/linux/kernel/0402.2/0223.html
  http://lkml.indiana.edu/hypermail/linux/kernel/0402.2/0386.html
  http://lkml.indiana.edu/hypermail/linux/kernel/0402.2/0396.html
  http://lkml.indiana.edu/hypermail/linux/kernel/0402.2/0473.html
  http://lkml.indiana.edu/hypermail/linux/kernel/0402.2/0472.html

I vaguely recall there was more than this, but can't track 'em down right 
now...

Anyway, what _might_ be happening is that ftpget/ftpput are handling them just 
fine... but the command shell isn't, and thus you can't list the arguments 
correctly on the command line...

Rob
-- 
Latency is more important than throughput. It's that simple. - Linus Torvalds


More information about the busybox mailing list