+
+#ifdef __KLIBC__
+#define __OWN_USERDB_PARSER__
+#endif
+#ifdef USE_STATIC
+#define __OWN_USERDB_PARSER__
+#endif
+
+#ifndef __OWN_USERDB_PARSER__
+
+#include <sys/types.h>
+#include <pwd.h>
+#include <grp.h>
+
+uid_t lookup_user(const char *user)
+{
+ struct passwd *pw;
+ uid_t uid = 0;
+
+ pw = getpwnam(user);
+ if (pw == NULL)
+ dbg("specified user unknown '%s'", user);
+ else
+ uid = pw->pw_uid;
+
+ return uid;
+}
+
+gid_t lookup_group(const char *group)
+{
+ struct group *gr;
+ gid_t gid = 0;
+
+ gr = getgrnam(group);
+ if (gr == NULL)
+ dbg("specified group unknown '%s'", group);
+ else
+ gid = gr->gr_gid;
+
+ return gid;
+}
+
+#else /* __OWN_USERDB_PARSER__ */
+
+#define PASSWD_FILE "/etc/passwd"
+#define GROUP_FILE "/etc/group"