*** pop_auth.c.old Mon Sep 9 14:07:48 2002 --- pop_auth.c Thu Apr 10 00:16:05 2008 *************** *** 6,11 **** --- 6,12 ---- #include #include #include + #include #include "misc.h" #include "params.h" *************** *** 26,35 **** --- 27,46 ---- static int pop_auth_user(char *params) { char *user; + #if !POP_VIRTUAL + size_t at_offset; + #endif user = pop_get_param(¶ms); if (!user || pop_user || params) return POP_ERROR; + #if POP_VIRTUAL if (!(pop_user = strdup(user))) return POP_CRASH_SERVER; + #else + at_offset = strcspn(user, "@+:%"); + if (!(pop_user = malloc(at_offset+1))) return POP_CRASH_SERVER; + strncpy(pop_user, user, at_offset); + pop_user[at_offset] = '\0'; + #endif return POP_OK; }