- Updated the address for the FSF in the opening comment.
[rsync/rsync.git] / uidlist.c
index 912cca1..5b25243 100644 (file)
--- a/uidlist.c
+++ b/uidlist.c
@@ -1,31 +1,32 @@
 /*
-   Copyright (C) Andrew Tridgell 1996
-   Copyright (C) Paul Mackerras 1996
-
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 2 of the License, or
-   (at your option) any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software
-   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-*/
-
-/* handle the mapping of uid/gid and user/group names between systems.
-   If the source username/group does not exist on the target then use
-   the numeric IDs. Never do any mapping for uid=0 or gid=0 as these
-   are special.
-*/
+ * Handle the mapping of uid/gid and user/group names between systems.
+ *
+ * Copyright (C) 1996 Andrew Tridgell
+ * Copyright (C) 1996 Paul Mackerras
+ * Copyright (C) 2004, 2005, 2006 Wayne Davison
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ */
+
+/* If the source username/group does not exist on the target then use
+ * the numeric IDs.  Never do any mapping for uid=0 or gid=0 as these
+ * are special. */
 
 #include "rsync.h"
 
-#if HAVE_GETGROUPS
+#ifdef HAVE_GETGROUPS
 # ifndef GETGROUPS_T
 #  define GETGROUPS_T gid_t
 # endif
@@ -96,7 +97,7 @@ static int map_gid(int id, char *name)
 
 static int is_in_group(gid_t gid)
 {
-#if HAVE_GETGROUPS
+#ifdef HAVE_GETGROUPS
        static gid_t last_in = GID_NONE, last_out;
        static int ngroups = -2;
        static GETGROUPS_T *gidset;
@@ -324,7 +325,6 @@ void recv_uid_list(int f, struct file_list *flist)
                }
        }
 
-
        if (preserve_gid && !numeric_ids) {
                /* read the gid list */
                while ((id = read_int(f)) != 0) {
@@ -337,8 +337,7 @@ void recv_uid_list(int f, struct file_list *flist)
                }
        }
 
-       /* now convert the uid/gid of all files in the list to the mapped
-        * uid/gid */
+       /* Now convert all the uids/gids from sender values to our values. */
        if (am_root && preserve_uid && !numeric_ids) {
                for (i = 0; i < flist->count; i++)
                        flist->files[i]->uid = match_uid(flist->files[i]->uid);