On Wed, Sep 12, 2007 at 11:22:52AM -0400, Dan Williams wrote: > On Tue, 2007-09-11 at 18:07 +0200, Johannes Berg wrote: > > Hi Jean, > > > > I have no idea where to send bug reports for iwlist so I'm mailing you > > directly with CC to wireless-dev so others are aware. > > > > Dan, for NM I suppose the right bug tracker would be redhats? I'm > > offline as I'm writing this so I can't check. > > NM 0.6.x and earlier (quite wrongly) treat the SSID as a string. That > has been fixed in 0.7 trunk, though we do need to make sure that NM > 0.6.x and earlier don't puke with it. > > SSID conversion is really, really tricky, and NM tries a few things to > coerce the SSID to UTF-8, including trying your LANG encoding if it > exists. None of these methods work reliably though. I personally can't see how we could figure out the encoding, because we are talking of other's people network. It would have been nice for IEEE 802.11 to specify something, but it's now probably too late, as each vendor did his own stuff. Where it's get even weirder is that special characters don't seem to be forbidden either, such as NUL, and all the control character. There is no way we are going to print them properly. > Any suggestions? Print them in hex ? URL encoding ? > Obviously NM needs to be fixed. > > > Anyhow, the problem is that my landlord has an AP that broadcasts an > > SSID with a 0xFC byte in it (supposedly an "ü" in windows). iwlist, > > however, just prints > > > > ESSID:"B > > iwlist just stuffs the SSID into a null-terminated buffer and prints it, > it doesn't try to do any cleanup of the SSID at all. Up to now, it never had been an issue. I made sure it would be possible to implement a more clever ESSID display routine, but never did it. It's not terribly complex to implement, but we need to decide how we do it. Note that ideally, we should also do the same with regards to setting an ESSID. And all the /proc files of the various drivers may want to be sanitized (yuck). > Dan > > > and nothing more (the SSID is B\xFC...). wpa_supplicant converts it to > > an underscore in its output (B_...), That would not be my prefered solution. > > and network-manager also seems to > > not like it, though it doesn't display any networks right now. Might or > > might not be related. > > > > I think it shouldn't be displayed truncated, although it is probably not > > possible to display it in a fashion that all shells will properly parse > > and convert to the right binary before invoking iwconfig or such. One way would be to check if the ESSID is Ascii, and if it's not, display it entirely in hex with a leading 0x. Then, iwconfig would recognise the leading 0x and do the right stuff. The problem with escaping is that you always have to escape the escape sequence, otherwise you get ambiguity. Jean - To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html