changeset 15281:9dcc44d8275d

i_getpwnam(): Ignore EINVAL errors silently. At least FreeBSD returns it when attempting to lookup user@domain.
author Timo Sirainen <tss@iki.fi>
date Wed, 26 Sep 2012 21:14:23 +0300
parents 4e431b202cfd
children 4819306a1f9f
files src/lib/ipwd.c
diffstat 1 files changed, 4 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/lib/ipwd.c	Wed Sep 26 21:12:37 2012 +0300
+++ b/src/lib/ipwd.c	Wed Sep 26 21:14:23 2012 +0300
@@ -58,6 +58,10 @@
 	errno = getpwnam_r(name, pwd_r, pwbuf, pwbuf_size, &result);
 	if (result != NULL)
 		return 1;
+	if (errno == EINVAL) {
+		/* FreeBSD fails here when name="user@domain" */
+		return 0;
+	}
 	return errno == 0 ? 0 : -1;
 }