Concurrent Versions System - Patches: patch #5155, acl (access control list)...
You are not allowed to post comments on this tracker with your current authentication level.
patch #5155: acl (access control list) extension feature patch
Submitter: | Baris Sahin <sbaris> | ||
Submitted: | Fri 02 Jun 2006 03:04:57 PM UTC | ||
Category: | Feature (patch attached) | Priority: | 5 - Normal |
Status: | None | Privacy: | Public |
Assigned to: | None | Open/Closed: | Open |
Fixed Release: | None | Fixed Feature Release: | None |
Wed 07 Jun 2006 08:18:20 AM UTC, comment #3: |
Mark D. Baushke <mdb>![]() |
Wed 07 Jun 2006 07:25:07 AM UTC, comment #2:
my checkedout copy of ccvs wat not the latest, will just remove those lines.
i will replace tabs with spaces, editor will do it easily.
actually there is not much changes to client/server protocol, it will just setuid when CVSServerRunAsUser keyword is set.
it does almost same thing with cvsnt, but the logic is different. Also permissions and usage is very different.
which tool i should use to modify these documentation files? Then i will edit them.
I only use setuid when CVSServerRunAsUser keyword is set, it switch to specified user in server.c file, then other controls apply in server.c. So, i think it will not be a problem, ?
Ok, will replace all these lines, didn't see new Xasprintf().
access file is normally under $CVSROOT. But when UseSeparateACLFileForEachDir keyword is set to yes, one access file is created for each directory in repository. I am not sure about this that is it needed or not. I thought about big repositories (thousands of files and directories and lots of acl definitions so a big access file...). When access file is very big, it may slow down cvs actions. Dont sure about it. ?
I may do changes....
|
Baris Sahin <sbaris> |
Fri 02 Jun 2006 05:25:45 PM UTC, comment #1: This patch appears to remove some recent changes to the latest
|
Mark D. Baushke <mdb>![]() |
Fri 02 Jun 2006 03:04:57 PM UTC, original submission:
This is the patch for access control list extension feature.
|
Baris Sahin <sbaris> |
Depends on the following items: None found
Items that depend on this one: None found
There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.
Follow 2 latest changes.
Date | Changed by | Updated Field | Previous Value | => | Replaced by |
---|---|---|---|---|---|
2006-06-02 | sbaris | Attached File | - | ![]() |
Added acl-feature-patch.tgz, #10109 |
Carbon-Copy | - | ![]() |
Added -email is unavailable- |
I believe your patch provides two new keywords with options be
sent from the client to the server. These appear to be
1) "racl\012" with options -R, -l, -r <tag> and -- <files>
2) "acl\012" with options -R, -l, -r <tag> and -- <files>
The names need to be 'reserved' for use in both CVS and CVSNT
so that there are no-interoprability problems.
The presence of new REQ_LINE entries in the server are what
lets a CVS client know it is talking to a server which is
able to support the commands the client wishes to use.
Your client side code may need to use
if (is_racl && !(supported_request ("racl"))
error (1, 0, "server does not suport racl");
Or, you may wish to also check to see if the similar
CVSNT feature is supported using something like
supported_request ("rlsacl")
or
supported_request ("chacl2")
and adjust what you send to the server from the client to
be useful for the other implementation.
This is not really relevant to the client/server discussion,
but your are correct that setuid is also a potential issue.
I use either Emacs, XEmacs, or vim. They are simple text files,
so you should use your favorite text editor for the purpose.
You will probably want teTeX 3.0 or texinfo 4.8 if you wish
to convert the cvs.texi file into cvs.info and cvs.pdf files.
Okay.
How safe is a set-uid or set-gid cvs executable? Running
in :pserver: mode, it switches out of root as quickly as
possible.
There are some folks that are using a set-gid cvs for some
things, but they typically do not make that cvs executable
available on an unprotected subnet. The NetBSD folks have
some additional SETXID_SUPPORT tests in their CVS code base,
but I have not had time to audit those changes for cvs 1.11.x
or look at the implications for cvs 1.12.x usage.
As such, it may be that you need your documentation to
recommend against using the CVSServerRunAsUser keyword
on unprotected networks... unless you are trying to say
that you have done a full audit of all of the set-uid and/or
set-gid code and know this is not a problem for anyone?
This can potentially be a security hole, which is my concern.
I do not actually trust CVS to run on the internet other than
using :ext: with an SSHv2 transport unless the server is a
read-only mirror of a safely protected repository.
Okay. This is what I thought might be happening.
It may indeed be needed, but control files for CVS
probably belong in a subdirectory called CVS
rather than at the same level as the ,v files.
This is one of the kinds of discussion that should
probably be thrashed out on the -email is unavailable-
mailing list.
Yes, consistency locking of the file for read
could make a single CVSROOT/access file a hot-spot
and that is probably not desirable.
It seems likely that there will be a cost
associated with it.
I suspect it is configurable, but I am not sure.
Thank you for looking into it. Your findings are
probably also reasonable to add to your
documentation.