There is probably no USB Host-side interface that really implements USB current-limiting completely. Common solution (used on Intel's reference designs) involves placing solid-state fuse into +5V line (preferably for each port) and sensing if it trips (by routing +5V from actual connector to USB controller IC). Rating of such fuse is typically significantly larger than 500mA (which is maximal allowed current). Truly correct implementation of this would have array of such fuses in different ratings and would switch them according to required current declared by connected device (I don't know of any USB controller or hub IC that actually can do this, not to mention that such thing would be order of magnitude more expensive, which explains why it's not mandatory and why nobody does that).
On the other hand there are also pretty common solutions that simply do not do current limiting in any way (or have non-resettable fuse soldered onto board).