--- src/daemon.c.orig	2014-03-20 11:16:56.000000000 -0700
+++ src/daemon.c	2014-03-21 08:59:15.000000000 -0700
@@ -48,7 +48,7 @@
 #define PATH_PASSWD "/etc/passwd"
 #define PATH_SHADOW "/etc/shadow"
 #define PATH_GROUP "/etc/group"
-#define PATH_GDM_CUSTOM "/etc/gdm/custom.conf"
+#define PATH_GDM_CUSTOM "@@MP_PREFIX@@/etc/gdm/custom.conf"
 
 enum {
         PROP_0,
@@ -137,6 +137,22 @@
                            gpointer   *state)
 {
         struct passwd *pwent;
+#ifdef __APPLE__
+
+        /* First iteration */
+        if (*state == NULL) {
+                setpwent();
+		*state = 1;
+        }
+
+        /* Every iteration */
+        pwent = getpwent ();
+        if (pwent != NULL) {
+                return pwent;
+        }
+
+        /* Last iteration */
+#else
         FILE *fp;
 
         /* First iteration */
@@ -157,6 +173,7 @@
 
         /* Last iteration */
         fclose (fp);
+#endif
         *state = NULL;
         return NULL;
 }
