diff options
Diffstat (limited to 'sqwebmail/auth.c')
| -rw-r--r-- | sqwebmail/auth.c | 11 | 
1 files changed, 10 insertions, 1 deletions
| diff --git a/sqwebmail/auth.c b/sqwebmail/auth.c index 7294d7f..ef41568 100644 --- a/sqwebmail/auth.c +++ b/sqwebmail/auth.c @@ -169,7 +169,16 @@ static int doauthlogin(struct authinfo *a, void *vp)  const char *do_login(const char *u, const char *p, const char *ip)  { -	if (auth_login("webmail", u, p, doauthlogin, (void *)u)) +	char ipbuf[strlen(ip)+sizeof("TCPREMOTEIP=")]; +	char *envvars[2]={ipbuf, 0}; +	struct auth_meta meta; + +	strcat(strcpy(ipbuf, "TCPREMOTEIP="), ip); + +	memset(&meta, 0, sizeof(meta)); +	meta.envvars=envvars; + +	if (auth_login_meta(&meta, "webmail", u, p, doauthlogin, (void *)u))  	{  		courier_safe_printf("INFO: LOGIN FAILED, user=%s, ip=[%s]",  				  u?u:"", ip); | 
