TLD checks for common names and dnsnames.

As in title. There is small ugly part that TLD check for common name and dnsname looks pretty much the same, but I wasn't sure where I could extract it. I'm also not sure if my approach to checking whether a name is probably an address or not is correct (I'm converting name to idna and checking whether it contains [a-z0-9-.*] characters). I could add this python package: https://pypi.python.org/pypi/rfc3987, so it will be more advanced.   
If there is '*com' then this code will think that address is '*.om', so it will be kind of broken. At this point I assumed that address is ok. Also if there are other weird wildcards like www.*.*.asdf.com (which sadly exist), then I'll wont catch them either. Anyway '*com' will fail in browsers, right?