Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/nss/group.c
diff options
context:
space:
mode:
Diffstat (limited to 'nss/group.c')
-rw-r--r--nss/group.c56
1 files changed, 56 insertions, 0 deletions
diff --git a/nss/group.c b/nss/group.c
new file mode 100644
index 0000000..e7a79f6
--- /dev/null
+++ b/nss/group.c
@@ -0,0 +1,56 @@
+/*
+enum nss_status
+_nss_rainbow_initgroups_dyn(const char *user, gid_t gid, long int *start, long int *size, gid_t **groupsp, long int limit, int *errnop) {
+ openlog("nss-rainbow", LOG_PID, LOG_LOCAL0);
+ PERROR("Hallo!");
+ return NSS_STATUS_SUCCESS;
+}
+
+ if (uid < 10000)
+ return NSS_STATUS_NOTFOUND;
+
+ int pathlen = 1024;
+ char pathdata[1024], *pathbuf = pathdata;
+
+
+ result->pw_dir = buf;
+ CHK(format_buf(&pathbuf, &pathlen, "/home/olpc/isolation/1/uid_to_home_dir/%d", uid) == 0,
+ "Unable to calculate home dir.", out_error_errno);
+
+ struct stat st;
+ CHK(stat(result->pw_dir, &st) == -1,
+ "Stat failed for homebuf.", out_error_errno);
+ result->pw_uid = uid;
+ result->pw_gid = st.st_gid;
+
+ (*groupsp)[*start] =
+}
+
+enum nss_status _nss_rainbow_setgrent(void) {
+ openlog("nss-rainbow", LOG_PID, LOG_LOCAL0);
+ PERROR("Hallo!");
+ return NSS_STATUS_SUCCESS; }
+enum nss_status _nss_rainbow_endgrent(void) {
+ openlog("nss-rainbow", LOG_PID, LOG_LOCAL0);
+ PERROR("Hallo!");
+ return NSS_STATUS_SUCCESS; }
+
+enum nss_status
+_nss_rainbow_getgrent_r(struct group *result, char *buf, size_t buflen, int *errnop) {
+ openlog("nss-rainbow", LOG_PID, LOG_LOCAL0);
+ PERROR("Hallo!");
+ return NSS_STATUS_NOTFOUND;
+ //Do we really need grent/grid/grnam?
+}
+
+
+enum nss_status
+_nss_rainbow_getgrgid_r(gid_t gid, struct group *gbuf, char *buf, size_t buflen, int *errnop) {
+ return NSS_STATUS_NOTFOUND;
+}
+
+enum nss_status
+_nss_rainbow_getgrnam_r(const char* name, struct group *gbuf, char *buf, size_t buflen, int *errnop) {
+ return NSS_STATUS_NOTFOUND;
+}
+*/