Blame SOURCES/opencryptoki-2.4-group.patch

0251db
diff -upr opencryptoki-3.7.0.orig/usr/lib/pkcs11/api/shrd_mem.c.in opencryptoki-3.7.0/usr/lib/pkcs11/api/shrd_mem.c.in
0251db
--- opencryptoki-3.7.0.orig/usr/lib/pkcs11/api/shrd_mem.c.in	2017-05-17 15:13:54.711536688 +0530
0251db
+++ opencryptoki-3.7.0/usr/lib/pkcs11/api/shrd_mem.c.in	2017-05-17 15:22:27.758655055 +0530
0251db
@@ -56,9 +56,6 @@ attach_shared_memory() {
0251db
    int    shmid;
0251db
    char   *shmp;
0251db
    struct stat statbuf;
0251db
-   struct group *grp;
0251db
-   struct passwd *pw, *epw;
0251db
-   uid_t uid, euid;
0251db
 
0251db
 #if !(MMAP)
0251db
    // Really should fstat the tok_path, since it will be the actual
0251db
@@ -70,37 +67,6 @@ attach_shared_memory() {
0251db
       return NULL;
0251db
    }
0251db
 
0251db
-   uid = getuid();
0251db
-   euid = geteuid();
0251db
-   // only check group membership if not root user
0251db
-   if (uid != 0 && euid != 0) {
0251db
-	   int i, member=0;
0251db
-	   grp = getgrnam("pkcs11");
0251db
-	   if (!grp) {
0251db
-		   // group pkcs11 not known to the system
0251db
-		   return NULL;
0251db
-	   }
0251db
-	   pw = getpwuid(uid);
0251db
-	   epw = getpwuid(euid);
0251db
-	   for (i=0; grp->gr_mem[i]; i++) {
0251db
-		   if (pw) {
0251db
-			   if (!strncmp(pw->pw_name, grp->gr_mem[i],strlen(pw->pw_name))) {
0251db
-				   member = 1;
0251db
-				   break;
0251db
-			   }
0251db
-		   }
0251db
-		   if (epw) {
0251db
-			   if (!strncmp(epw->pw_name, grp->gr_mem[i],strlen(epw->pw_name))) {
0251db
-				   member = 1;
0251db
-				   break;
0251db
-			   }
0251db
-		   }
0251db
-	   }
0251db
-	   if (!member) {
0251db
-		   return NULL;
0251db
-	   }
0251db
-   }
0251db
-
0251db
    Anchor->shm_tok = ftok(TOK_PATH,'b');
0251db
 
0251db
    // Get the shared memory id.