authenticate/authvlib.cc
changeset 2 b3afb9f1e801
parent 0 6f7a81934006
equal deleted inserted replaced
1:30113bfbe723 2:b3afb9f1e801
    80     set_user(basepw);
    80     set_user(basepw);
    81     return new user_data(basepw, "", "");
    81     return new user_data(basepw, "", "");
    82   }
    82   }
    83   else {
    83   else {
    84     set_user(basepw);
    84     set_user(basepw);
    85     vpwentry* vpw = domain->lookup(virtname, true);
    85     vpwentry* vpw = domain->lookup(virtname);
    86     if(!vpw || !vpw->mailbox)
    86     if(!vpw || !vpw->has_mailbox)
    87       fail_login("Invalid or unknown virtual user");
    87       fail_login("Invalid or unknown virtual user");
    88     if(!vpw->authenticate(password))
    88     if(!vpw->authenticate(password))
    89       fail_login("Invalid or incorrect password");
    89       fail_login("Invalid or incorrect password");
    90     if(vpw->expiry < (unsigned)time(0))
    90     if(vpw->expiry < (unsigned)time(0))
    91       fail_login("Account has expired");
    91       fail_login("Account has expired");
    92     vpw->export_env();
    92     vpw->export_env();
    93     return new user_data(basepw, vpw->mailbox, vpw->name);
    93     return new user_data(basepw, vpw->directory, vpw->name);
    94   }
    94   }
    95 }
    95 }
    96 
    96 
    97 user_data* authenticate(mystring name, mystring pass, mystring domain,
    97 user_data* authenticate(mystring name, mystring pass, mystring domain,
    98 			bool virtual_only)
    98 			bool virtual_only)