repo: ngircd action: commit revision: path_from: revision_from: 5cf5ba31eb0cae6c28d5754f6e62956f83582b06: path_to: revision_to:
commit 5cf5ba31eb0cae6c28d5754f6e62956f83582b06 Author: Ali ShemiranDate: Wed May 7 22:38:00 2008 -0700 Added Cygwin uid kludge. (verified working) diff --git a/src/ngircd/ngircd.c b/src/ngircd/ngircd.c
--- a/src/ngircd/ngircd.c
+++ b/src/ngircd/ngircd.c
@@ -671,6 +671,19 @@ NGIRCd_getNobodyID(uid_t *uid, gid_t *gid )
{
struct passwd *pwd;
+#ifdef __CYGWIN__
+ /* Cygwin kludge.
+ * It can return EINVAL instead of EPERM
+ * so, if we are already unprivileged,
+ * use id of current user.
+ */
+ if (geteuid() && getuid()) {
+ *uid = getuid();
+ *gid = getgid();
+ return true;
+ }
+#endif
+
pwd = getpwnam("nobody");
if (!pwd) return false;
-----END OF PAGE-----