[cvsnt] ACL Problem with 2.5.01.1998

Andrew Gaganov agaganov at openwaygroup.com
Wed Jun 15 11:58:23 BST 2005


Community technical support mailing list was retired 2010 and replaced with a professional technical support team. For assistance please contact: Pre-sales Technical support via email to sales@march-hare.com.


Hi!

Linux Server: 2.5.01.1998
Windows 2000 client: 2.5.01.1998

The problem is that parent folder permissions don't affect on child folder
permissions.

You can checkout child folder,in child folder you can commit old files, add
new files and so on.
All actions that child folder permissions allow you to do.
But in documentation we can read following:
For a user to have access to a directory, they must have at least read
access to all the directories above it.
If a user has a 'no access' ACL on a parent directory they cannot be granted
access to directories below it.

For example:
I have folder :  "online/NetServer"
I don't have any permissions for folder "online", and have permissions for
folder "online/NetServer".

Do following commands:

Update parent folder.
-----------------
cvs update online
***** CVS exited normally with code 1 *****
cvsnt server: User 'agaganov' cannot read from /home/cvs/cvs_root/online
-----------------
Correct!


BUT "Checkout" gets child folder!
----------------------
cvs -t -t -t checkout online/NetServer


***** CVS exited normally with code 0 *****

12:16:00:   -> Tracelevel set to 3.  PID is 1812
12:16:00:   -> Session ID is 71442afe3c01bd5
12:16:00:   -> Session time is Wed Jun 15 08:16:00 2005
12:16:00:   -> Domain found: OWS.SPB.RU
12:16:00:   -> CVS Server is acting as standalone
12:16:00:   -> main loop with CVSROOT=:pserver:agaganov at cvs2:/home/cvs/root
12:16:00:   -> Server codepage is ISO-8859-1
12:16:00:   -> Client codepage is CP1251
12:16:00:   -> Server->Client codepage translation is disabled.  Use -l to
enable
12:16:00:   -> Server version is CVSNT 2.5.01 (Travis) Build 1998
12:16:00:   -> Client version is CVSNT 2.5.01 (Travis) Build 1998 (cvsgui
active)
12:16:00:   -> Requesting server cvsignore
12:16:00:   -> wrap_add(*.a -kb, 0, 0)
...
12:16:00:   -> wrap_add(*.zip -kb, 0, 0)
12:16:00:   -> Requesting server cvswrappers
12:16:00:   -> Requesting server cvsrc (read-cvsrc2)
12:16:00:   -> Parsing global cvsrc started
12:16:00:   -> Parsing global cvsrc finished
cvsnt server: Updating online/NetServer
cvsnt server: Updating online/NetServer/Source
12:16:00:   -> Repository = (null)
12:16:00:   -> Mapped repository = (null)
12:16:00:   -> open_directory(,(null),(null))
12:16:00:   -> Name_Repository(online/NetServer,online/NetServer)
12:16:00:   -> Name_Repository((null),online/NetServer)
12:16:00:   -> Repository = /home/cvs/root/online/NetServer
12:16:00:   -> Mapped repository = /home/cvs/root/online/NetServer
12:16:00:   -> rename(CVS/Entries.Backup,CVS/Entries)
12:16:00:   -> wnt_rename(CVS/Entries.Backup,CVS/Entries)
12:16:00:   -> rename(CVS/Entries.Extra.Backup,CVS/Entries.Extra)
12:16:00:   -> wnt_rename(CVS/Entries.Extra.Backup,CVS/Entries.Extra)
12:16:00:   -> unlink_file(CVS/Entries.Log)
12:16:00:   -> unlink_file(CVS/Entries.Extra.Log)
12:16:00:   -> wnt_stat(hjskajdf.asd)
12:16:00:   -> _statcore(00000000,hjskajdf.asd)
12:16:00:   -> Trying GetFileAttributesEx....
12:16:00:   -> File attributes = 00000020
12:16:00:   ->  - read/write file
12:16:00:   -> GetUnixFileModeNtEA(h,00000260) returns 0666
12:16:00:   -> wnt_stat(notsource.code)
12:16:00:   -> _statcore(00000000,notsource.code)
12:16:00:   -> Trying GetFileAttributesEx....
12:16:00:   -> File attributes = 00000020
12:16:00:   ->  - read/write file
12:16:00:   -> GetUnixFileModeNtEA(n,00000260) returns 0666
12:16:00:   -> Name_Repository(Source,online/NetServer/Source)
12:16:00:   ->
open_directory(/home/cvs/root/online/NetServer/Source,(null),(null))
12:16:00:   -> Name_Repository(Source,online/NetServer/Source)
12:16:00:   -> Name_Repository((null),online/NetServer/Source)
12:16:00:   -> Repository = /home/cvs/root/online/NetServer/Source
12:16:00:   -> Mapped repository = /home/cvs/root/online/NetServer/Source
12:16:00:   -> close_directory()
12:16:00:   -> close_directory()
12:16:00:   -> call_in_directory
/home/cvs/root/online/NetServer/,online/NetServer/
12:16:00:   -> unlink_file(CVS/Entries.Static)
12:16:01:   -> call_in_directory
/home/cvs/root/online/NetServer/,online/NetServer/
12:16:01:   -> unlink_file(CVS/Tag)
12:16:01:   -> call_in_directory
/home/cvs/root/online/NetServer/Source/,online/NetServer/Source/
12:16:01:   -> unlink_file(CVS/Entries.Static)
12:16:01:   -> call_in_directory
/home/cvs/root/online/NetServer/Source/,online/NetServer/Source/
12:16:01:   -> unlink_file(CVS/Tag)
----------------------



If I run command 'update' in sandbox(local) folder "online/NetServer", it
also works!
---------------------
cvs -t -t -t update

***** CVS exited normally with code 0 *****

12:02:41:   -> Tracelevel set to 3.  PID is 2064
12:02:41:   -> Session ID is 81042afe0a111a4
12:02:41:   -> Session time is Wed Jun 15 08:02:41 2005
12:02:41:   -> Domain found: OWS.SPB.RU
12:02:41:   -> CVS Server is acting as standalone
12:02:41:   -> main loop with
CVSROOT=:pserver;username=agaganov;hostname=cvs2:/home/cvs/root
12:02:41:   -> Server codepage is ISO-8859-1
12:02:41:   -> Client codepage is CP1251
12:02:41:   -> Server->Client codepage translation is disabled.  Use -l to
enable
12:02:41:   -> Server version is CVSNT 2.5.01 (Travis) Build 1998
12:02:41:   -> Client version is CVSNT 2.5.01 (Travis) Build 1998 (cvsgui
active)
12:02:41:   -> Requesting server cvsignore
12:02:41:   -> wrap_add(*.a -kb, 0, 0)
.....
12:02:41:   -> wrap_add(*.zip -kb, 0, 0)
12:02:41:   -> Requesting server cvswrappers
12:02:42:   -> Requesting server cvsrc (read-cvsrc2)
12:02:42:   -> Parsing global cvsrc started
12:02:42:   -> Parsing global cvsrc finished
cvsnt server: Updating .
12:02:42:   -> Name_Repository((null),)
12:02:42:   -> Repository = /home/cvs/root/online/NetServer
12:02:42:   -> Mapped repository = /home/cvs/root/online/NetServer
12:02:42:   -> open_directory(/home/cvs/root/online/NetServer,(null),(null))
12:02:42:   -> Name_Repository(.,.)
12:02:42:   -> Name_Repository((null),)
12:02:42:   -> Repository = /home/cvs/root/online/NetServer
12:02:42:   -> Mapped repository = /home/cvs/root/online/NetServer
12:02:42:   -> wnt_stat(notsource.code)
12:02:42:   -> _statcore(00000000,notsource.code)
12:02:42:   -> Trying GetFileAttributesEx....
12:02:42:   -> File attributes = 00000020
12:02:42:   ->  - read/write file
12:02:42:   -> GetUnixFileModeNtEA(n,0000037C) returns 0666
12:02:42:   -> Name_Repository(source,source)
12:02:42:   ->
open_directory(/home/cvs/root/online/NetServer/source,(null),(null))
12:02:42:   -> Name_Repository(source,source)
12:02:42:   -> Name_Repository((null),source)
12:02:42:   -> Repository = /home/cvs/root/online/NetServer/source
12:02:42:   -> Mapped repository = /home/cvs/root/online/NetServer/source
12:02:42:   -> wnt_stat(source.code)
12:02:42:   -> _statcore(00000000,source.code)
12:02:42:   -> Trying GetFileAttributesEx....
12:02:42:   -> File attributes = 00000020
12:02:42:   ->  - read/write file
12:02:42:   -> GetUnixFileModeNtEA(s,00000260) returns 0666
12:02:42:   -> close_directory()
12:02:42:   -> close_directory()
12:02:42:   -> call_in_directory /home/cvs/root/online/NetServer/,./
12:02:42:   -> unlink_file(CVS/Tag)
-----------------


-------
Andrew Gaganov
Phone  : +7 (812)324-4898 # 259
E-Mail : agaganov at openwaygroup.com




More information about the cvsnt mailing list
Download the latest CVSNT, TortosieCVS, WinCVS etc. for Windows 8 etc.
@CVSNT on Twitter   CVSNT on Facebook