'First part of login.  Get the username the peer wants to
authenticate as.'

def ftp_USER(self, username):

    if (not username):
        return defer.fail(CmdSyntaxError('USER    requires    an    argument'))
    self._user = username
    self.state = self.INAUTH
    if (self.factory.allowAnonymous and (self._user == self.factory.userAnonymous)):
        return GUEST_NAME_OK_NEED_EMAIL
    else:
        return (USR_NAME_OK_NEED_PASS, username)
