'Login to AniDB UDP API
parameters:
username - your anidb username
password - your anidb password
nat     - if this is 1, response will have "address" in attributes with your "ip:port" (default:0)
mtu     - maximum transmission unit (max packet size) (default: 1400)'

def auth(self, username, password, nat=None, mtu=None, callback=None):

    self.log('ok1')
    if self.keepAlive:
        self.log('ok2')
        self._username = username
        self._password = password
        if (self.is_alive() == False):
            self.log('You    wanted    to    keep    this    thing    alive!')
            if (self._iamALIVE == False):
                self.log('Starting    thread    now...')
                self.start()
                self._iamALIVE = True
            else:
                self.log('not    starting    thread    seams    like    it    is    already    running.    this    must    be    a    _reAuthenticate')
    self.lastAuth = time()
    return self.handle(AuthCommand(username, password, 3, self.clientname, self.clientver, nat, 1, 'utf8', mtu), callback)
