52

We are developing a wireless n/w configuration UI and need to check if a SSID is a valid one? Are there any restrictions on the character set? length ? anything more..

Anand G
  • 521
  • 1
  • 4
  • 4

2 Answers2

63

Section 7.3.2.1 of the 802.11-2007 specification (http://standards.ieee.org/getieee802/download/802.11-2007.pdf) defines SSIDs.

A valid SSID is 0-32 octets with arbitrary contents. A 0-length SSID indicates the wildcard SSID (in probe request frames for instance).

There's no character set associated with the SSID - a 32-byte string of NUL-bytes is a valid SSID.

This implies:

  • you should never use normal string functions when manipulating generic SSIDs (strcpy() and friends).

  • you should not assume that the SSID is printable when, for instance, logging it to disk

Ryan Schipper
  • 1,009
  • 7
  • 8
Per Knytt
  • 1,851
  • 11
  • 13
15

According to last standard 802.11-2012 (Section 6.3.11.2.2), it can be 0-32 octets with an unspecified or UTF8 encoding.

fazineroso
  • 6,686
  • 7
  • 30
  • 41
  • 5
    Microsoft -- as usual -- messed it: While Windows Phone 8 displayed it correctly UTF8 decoded, Windows 10 Mobile now decodes it using Windows-1252 or Latin1. – springy76 May 29 '16 at 12:13