--- loncom/lonnet/perl/lonnet.pm 2005/06/17 21:04:40 1.642 +++ loncom/lonnet/perl/lonnet.pm 2005/06/19 00:41:33 1.643 @@ -1,7 +1,7 @@ # The LearningOnline Network # TCP networking package # -# $Id: lonnet.pm,v 1.642 2005/06/17 21:04:40 albertel Exp $ +# $Id: lonnet.pm,v 1.643 2005/06/19 00:41:33 www Exp $ # # Copyright Michigan State University Board of Trustees # @@ -2968,9 +2968,12 @@ sub allowed { # If this is generating or modifying users, exit with special codes - if (':csu:cdc:ccc:cin:cta:cep:ccr:cst:cad:cli:cau:cdg:cca:'=~/\:\Q$priv\E\:/) { - if ($priv eq 'cca') { + if (':csu:cdc:ccc:cin:cta:cep:ccr:cst:cad:cli:cau:cdg:cca:caa:'=~/\:\Q$priv\E\:/) { + if (($priv eq 'cca') || ($priv eq 'caa')) { my ($audom,$auname)=split('/',$uri); +# no author name given, so this just checks on the general right to make a co-author in this domain + unless ($auname) { return $thisallowed; } +# an author name is given, so we are about to actually make a co-author for a certain account if (($auname ne $env{'user.name'} && $env{'request.role'} !~ /^dc\./) || (($audom ne $env{'user.domain'} && $env{'request.role'} !~ /^dc\./) && ($audom ne $env{'request.role.domain'}))) { return ''; }