Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/rainbow/nss/group.c
blob: e7a79f6900a5d860a432b08371335349cf1a7345 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
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;
}
*/