Module Name: src Committed By: christos Date: Thu Mar 8 20:45:28 UTC 2012
Modified Files: src/external/gpl2/xcvs/dist/src: mkmodules.c Log Message: - add acl support - document availability of tag commands. To generate a diff of this commit: cvs rdiff -u -r1.4 -r1.5 src/external/gpl2/xcvs/dist/src/mkmodules.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/external/gpl2/xcvs/dist/src/mkmodules.c diff -u src/external/gpl2/xcvs/dist/src/mkmodules.c:1.4 src/external/gpl2/xcvs/dist/src/mkmodules.c:1.5 --- src/external/gpl2/xcvs/dist/src/mkmodules.c:1.4 Fri Jul 29 14:47:11 2011 +++ src/external/gpl2/xcvs/dist/src/mkmodules.c Thu Mar 8 15:45:28 2012 @@ -28,6 +28,79 @@ static void rename_dbmfile (char *temp); static void write_dbmfile (char *temp); #endif /* !MY_NDBM */ +/* cvsacl patch */ +static const char *const aclconfig_contents[] = { + "# Set `UseCVSACL' to yes to use CVSACL feature.\n", + "UseCVSACL=yes\n", + "\n", + "# Default CVSACL Permission to use.\n", + "#CVSACLDefaultPermissions=p\n", + "\n", + "# Default file location for CVS ACL file (access) is CVSROOT/access.\n", + "# If you want to use a different location, define it below.\n", + "#CVSACLFileLocation=/path/to/cvs/access\n", + "\n", + "# Set `UseSystemGroups' to yes to use system group definitions (/etc/group).\n", + "UseSystemGroups=yes\n", + "\n", + "# Set `UseCVSGroups' to yes to use another group file.\n", + "#UseCVSGroups=yes\n", + "\n", + "# Default file location for CVS groups file is CVSROOT/group.\n", + "# If you want to use a different location, define it below.\n", + "#CVSGroupsFileLocation=/path/to/cvs/group\n", + "\n", + "# Set UseSeperateACLFileForEachDir to yes in order to use a\n", + "# seperate 'access' file for each directory.\n", + "# This increased the performance if you have really big repository.\n", + "#UseSeperateACLFileForEachDir=no\n", + "\n", + "# If StopAtFirstPermissionDenied is set to yes\n", + "# operation will stop at first permission denied message.\n", + "# Default is no.\n", + "#StopAtFirstPermissionDenied=no\n", + "\n", + "# Set CVSServerRunAsUser to a system user, in order CVS server\n", + "# to run as.\n", + "#CVSServerRunAsUser=runascvsuser", + NULL +}; + +static const char *const access_contents[] = { + "# CVS ACL definitions file. DO NOT EDIT MANUALLY\n", + "#\n", + "# BNF:\n", + "# <entry>: " + "<filetype>:<path>:<tag-branch>:<permission-list>:\n", + "# <filetype>: d|f\n", + "# <path>: ALL | unix-file-path\n", + "# <tag-branch>: ALL | HEAD | name\n", + "# <permission-list>: <permission>\n", + "# | <permission-list> , <permission>\n", + "# <permission>: <actor>!<privilege>\n", + "# <actor>: ALL | user | group\n", + "# <privilege> n | a | w | t | r | c | d | p\n", + "#\n", + "# Valid privileges are:\n", + "# * - no permission (n) (1)\n", + "# * - all permissions (a) (2)\n", + "# * - write permission (w) (3)\n", + "# * - tag permission (t) (4)\n", + "# * - read permission (r) (5)\n", + "# * - add permission (c) (6)\n", + "# * - remove permission (d) (7)\n", + "# * - permission change (p) (8)\n", + "#\n", + "# Valid filetypes are:\n", + "# * - plain file (f)\n", + "# * - directory (d)\n", + "#\n", + NULL +}; + +static const char *const group_contents[] = { +}; + /* Structure which describes an administrative file. */ struct admin_file { /* Name of the file, within the CVSROOT directory. */ @@ -73,6 +146,7 @@ static const char *const loginfo_content #endif "# %p = path relative to repository\n", "# %r = repository (path portion of $CVSROOT)\n", + "# %t = tagname\n", "# %{sVv} = attribute list = file name, old version number (pre-checkin),\n", "# new version number (post-checkin). When either old or new revision\n", "# is unknown, doesn't exist, or isn't applicable, the string \"NONE\"\n", @@ -168,6 +242,7 @@ static const char *const commitinfo_cont #endif "# %p = path relative to repository\n", "# %r = repository (path portion of $CVSROOT)\n", + "# %t = tagname\n", "# %{s} = file name, file name, ...\n", "#\n", "# If no format strings are present in the filter string, a default of\n", @@ -677,6 +752,20 @@ static const struct admin_file filelist[ {CVSROOTADM_CONFIG, "a %s file configures various behaviors", config_contents}, + + /* cvsacl patch */ + {CVSROOTADM_ACLCONFIG, + "a %s file configures Access Control List behaviors", + aclconfig_contents}, + + {CVSROOTADM_ACCESS, + "a %s file configures Access Control Lists", + access_contents}, + + {CVSROOTADM_GROUP, + "a %s file configures Access Control List group definitions", + group_contents}, + {NULL, NULL, NULL} }; @@ -1259,13 +1348,13 @@ init (int argc, char **argv) fp = xfopen (info, "w"); if (fclose (fp) < 0) error (1, errno, "cannot close %s", info); - + /* Make the new history file world-writeable, since every CVS user will need to be able to write to it. We use chmod() because xchmod() is too shy. */ chmod (info, 0666); } - + /* Make an empty val-tags file to prevent problems creating it later. */ strcpy (info, adm); strcat (info, "/");