This is the mail archive of the cygwin-cvs@cygwin.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[newlib-cygwin] Drop unneeded passwd argument from security functions


https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=1d91d469ee534fab47fdb710a037378c103fee23

commit 1d91d469ee534fab47fdb710a037378c103fee23
Author: Corinna Vinschen <corinna@vinschen.de>
Date:   Wed Mar 18 16:54:19 2015 +0100

    Drop unneeded passwd argument from security functions
    
    	* sec_auth.cc (get_server_groups): Drop unused passwd argument.  Adjust
    	calls throughout.
    	(get_initgroups_sidlist): Ditto.
    	(get_setgroups_sidlist): Ditto.
    	(create_token): Ditto.
    	(lsaauth): Ditto.
    	* security.h (create_token): Adjust prototype to above change.
    	(lsaauth): Ditto.
    	(get_server_groups): Ditto.
    	* grp.cc (get_groups): Adjust call to get_server_groups.
    	* syscalls.cc (seteuid32): Adjust calls to lsaauth and create_token.
    
    Signed-off-by: Corinna Vinschen <corinna@vinschen.de>

Diff:
---
 winsup/cygwin/ChangeLog   | 14 ++++++++++++++
 winsup/cygwin/grp.cc      |  2 +-
 winsup/cygwin/sec_auth.cc | 23 +++++++++++------------
 winsup/cygwin/security.h  |  6 +++---
 winsup/cygwin/syscalls.cc |  4 ++--
 5 files changed, 31 insertions(+), 18 deletions(-)

diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog
index acc3205..d6e94f0 100644
--- a/winsup/cygwin/ChangeLog
+++ b/winsup/cygwin/ChangeLog
@@ -1,3 +1,17 @@
+2015-03-18  Corinna Vinschen  <corinna@vinschen.de>
+
+	* sec_auth.cc (get_server_groups): Drop unused passwd argument.  Adjust
+	calls throughout.
+	(get_initgroups_sidlist): Ditto.
+	(get_setgroups_sidlist): Ditto.
+	(create_token): Ditto.
+	(lsaauth): Ditto.
+	* security.h (create_token): Adjust prototype to above change.
+	(lsaauth): Ditto.
+	(get_server_groups): Ditto.
+	* grp.cc (get_groups): Adjust call to get_server_groups.
+	* syscalls.cc (seteuid32): Adjust calls to lsaauth and create_token.
+
 2015-03-17  Corinna Vinschen  <corinna@vinschen.de>
 
 	* grp.cc (internal_getgroups): Drop unused timeout parameter.
diff --git a/winsup/cygwin/grp.cc b/winsup/cygwin/grp.cc
index e1f5e4b..5355116 100644
--- a/winsup/cygwin/grp.cc
+++ b/winsup/cygwin/grp.cc
@@ -720,7 +720,7 @@ get_groups (const char *user, gid_t gid, cygsidlist &gsids)
   struct group *grp = internal_getgrgid (gid, &cldap);
   cygsid usersid, grpsid;
   if (usersid.getfrompw (pw))
-    get_server_groups (gsids, usersid, pw);
+    get_server_groups (gsids, usersid);
   if (gid != ILLEGAL_GID && grpsid.getfromgr (grp))
     gsids += grpsid;
   cygheap->user.reimpersonate ();
diff --git a/winsup/cygwin/sec_auth.cc b/winsup/cygwin/sec_auth.cc
index 37b53c6..aeb571d 100644
--- a/winsup/cygwin/sec_auth.cc
+++ b/winsup/cygwin/sec_auth.cc
@@ -544,7 +544,7 @@ get_token_group_sidlist (cygsidlist &grp_list, PTOKEN_GROUPS my_grps,
 }
 
 bool
-get_server_groups (cygsidlist &grp_list, PSID usersid, struct passwd *pw)
+get_server_groups (cygsidlist &grp_list, PSID usersid)
 {
   WCHAR user[UNLEN + 1];
   WCHAR domain[MAX_DOMAIN_NAME_LEN + 1];
@@ -581,8 +581,7 @@ get_server_groups (cygsidlist &grp_list, PSID usersid, struct passwd *pw)
 }
 
 static bool
-get_initgroups_sidlist (cygsidlist &grp_list,
-			PSID usersid, PSID pgrpsid, struct passwd *pw,
+get_initgroups_sidlist (cygsidlist &grp_list, PSID usersid, PSID pgrpsid,
 			PTOKEN_GROUPS my_grps, LUID auth_luid, int &auth_pos)
 {
   grp_list *= well_known_world_sid;
@@ -591,7 +590,7 @@ get_initgroups_sidlist (cygsidlist &grp_list,
     auth_pos = -1;
   else
     get_token_group_sidlist (grp_list, my_grps, auth_luid, auth_pos);
-  if (!get_server_groups (grp_list, usersid, pw))
+  if (!get_server_groups (grp_list, usersid))
     return false;
 
   /* special_pgrp true if pgrpsid is not in normal groups */
@@ -600,14 +599,14 @@ get_initgroups_sidlist (cygsidlist &grp_list,
 }
 
 static void
-get_setgroups_sidlist (cygsidlist &tmp_list, PSID usersid, struct passwd *pw,
+get_setgroups_sidlist (cygsidlist &tmp_list, PSID usersid,
 		       PTOKEN_GROUPS my_grps, user_groups &groups,
 		       LUID auth_luid, int &auth_pos)
 {
   tmp_list *= well_known_world_sid;
   tmp_list *= well_known_authenticated_users_sid;
   get_token_group_sidlist (tmp_list, my_grps, auth_luid, auth_pos);
-  get_server_groups (tmp_list, usersid, pw);
+  get_server_groups (tmp_list, usersid);
   for (int gidx = 0; gidx < groups.sgsids.count (); gidx++)
     tmp_list += groups.sgsids.sids[gidx];
   tmp_list += groups.pgsid;
@@ -875,7 +874,7 @@ verify_token (HANDLE token, cygsid &usersid, user_groups &groups, bool *pintern)
 }
 
 HANDLE
-create_token (cygsid &usersid, user_groups &new_groups, struct passwd *pw)
+create_token (cygsid &usersid, user_groups &new_groups)
 {
   NTSTATUS status;
   LSA_HANDLE lsa = NULL;
@@ -964,9 +963,9 @@ create_token (cygsid &usersid, user_groups &new_groups, struct passwd *pw)
   /* Create list of groups, the user is member in. */
   int auth_pos;
   if (new_groups.issetgroups ())
-    get_setgroups_sidlist (tmp_gsids, usersid, pw, my_tok_gsids, new_groups,
+    get_setgroups_sidlist (tmp_gsids, usersid, my_tok_gsids, new_groups,
 			   auth_luid, auth_pos);
-  else if (!get_initgroups_sidlist (tmp_gsids, usersid, new_groups.pgsid, pw,
+  else if (!get_initgroups_sidlist (tmp_gsids, usersid, new_groups.pgsid,
 				    my_tok_gsids, auth_luid, auth_pos))
     goto out;
 
@@ -1037,7 +1036,7 @@ out:
 }
 
 HANDLE
-lsaauth (cygsid &usersid, user_groups &new_groups, struct passwd *pw)
+lsaauth (cygsid &usersid, user_groups &new_groups)
 {
   cygsidlist tmp_gsids (cygsidlist_auto, 12);
   cygpsid pgrpsid;
@@ -1111,9 +1110,9 @@ lsaauth (cygsid &usersid, user_groups &new_groups, struct passwd *pw)
   /* Create list of groups, the user is member in. */
   int auth_pos;
   if (new_groups.issetgroups ())
-    get_setgroups_sidlist (tmp_gsids, usersid, pw, NULL, new_groups, auth_luid,
+    get_setgroups_sidlist (tmp_gsids, usersid, NULL, new_groups, auth_luid,
 			   auth_pos);
-  else if (!get_initgroups_sidlist (tmp_gsids, usersid, new_groups.pgsid, pw,
+  else if (!get_initgroups_sidlist (tmp_gsids, usersid, new_groups.pgsid,
 				    NULL, auth_luid, auth_pos))
     goto out;
 
diff --git a/winsup/cygwin/security.h b/winsup/cygwin/security.h
index 0800387..6af87e0 100644
--- a/winsup/cygwin/security.h
+++ b/winsup/cygwin/security.h
@@ -457,15 +457,15 @@ int setacl (HANDLE, path_conv &, int, struct acl *, bool &);
 /* Set impersonation or restricted token.  */
 void set_imp_token (HANDLE token, int type);
 /* Function creating a token by calling NtCreateToken. */
-HANDLE create_token (cygsid &usersid, user_groups &groups, struct passwd * pw);
+HANDLE create_token (cygsid &usersid, user_groups &groups);
 /* LSA authentication function. */
-HANDLE lsaauth (cygsid &, user_groups &, struct passwd *);
+HANDLE lsaauth (cygsid &, user_groups &);
 /* LSA private key storage authentication, same as when using service logons. */
 HANDLE lsaprivkeyauth (struct passwd *pw);
 /* Verify an existing token */
 bool verify_token (HANDLE token, cygsid &usersid, user_groups &groups, bool *pintern = NULL);
 /* Get groups of a user */
-bool get_server_groups (cygsidlist &grp_list, PSID usersid, struct passwd *pw);
+bool get_server_groups (cygsidlist &grp_list, PSID usersid);
 
 /* Extract U-domain\user field from passwd entry. */
 void extract_nt_dom_user (const struct passwd *pw, PWCHAR domain, PWCHAR user);
diff --git a/winsup/cygwin/syscalls.cc b/winsup/cygwin/syscalls.cc
index 2100616..d2fb353 100644
--- a/winsup/cygwin/syscalls.cc
+++ b/winsup/cygwin/syscalls.cc
@@ -3374,10 +3374,10 @@ seteuid32 (uid_t uid)
       if (!new_token)
 	{
 	  debug_printf ("lsaprivkeyauth failed, try lsaauth.");
-	  if (!(new_token = lsaauth (usersid, groups, pw_new)))
+	  if (!(new_token = lsaauth (usersid, groups)))
 	    {
 	      debug_printf ("lsaauth failed, try create_token.");
-	      new_token = create_token (usersid, groups, pw_new);
+	      new_token = create_token (usersid, groups);
 	      if (new_token == INVALID_HANDLE_VALUE)
 		{
 		  debug_printf ("create_token failed, bail out of here");


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]