[interchange-cvs] interchange - heins modified 3 files

interchange-cvs at icdevgroup.org interchange-cvs at icdevgroup.org
Mon Apr 19 10:33:00 EDT 2004


User:      heins
Date:      2004-04-19 14:33:00 GMT
Modified:  lib/Vend Tag: STABLE_5_2-branch Config.pm Dispatch.pm
Modified:           UserDB.pm
Log:
* Merge ReadOnlyCfg security patch from trunk.

Revision  Changes    Path
No                   revision



No                   revision



2.136.2.1 +16 -2     interchange/lib/Vend/Config.pm


rev 2.136.2.1, prev_rev 2.136
Index: Config.pm
===================================================================
RCS file: /var/cvs/interchange/lib/Vend/Config.pm,v
retrieving revision 2.136
retrieving revision 2.136.2.1
diff -u -r2.136 -r2.136.2.1
--- Config.pm	2 Apr 2004 17:19:21 -0000	2.136
+++ Config.pm	19 Apr 2004 14:32:59 -0000	2.136.2.1
@@ -1,6 +1,6 @@
 # Vend::Config - Configure Interchange
 #
-# $Id: Config.pm,v 2.136 2004/04/02 17:19:21 mheins Exp $
+# $Id: Config.pm,v 2.136.2.1 2004/04/19 14:32:59 mheins Exp $
 #
 # Copyright (C) 2002-2003 Interchange Development Group
 # Copyright (C) 1996-2002 Red Hat, Inc.
@@ -48,7 +48,7 @@
 use Vend::File;
 use Vend::Data;
 
-$VERSION = substr(q$Revision: 2.136 $, 10);
+$VERSION = substr(q$Revision: 2.136.2.1 $, 10);
 
 my %CDname;
 my %CPname;
@@ -1017,6 +1017,7 @@
 
 	finalize_mapped_code();
 
+	set_readonly_config();
 	# Ugly legacy stuff so API won't break
 	$C->{Special} = $C->{SpecialPage} if defined $C->{SpecialPage};
 	return $C;
@@ -2580,6 +2581,19 @@
 
 sub set_global_defaults {
 	## Nothing here currently
+}
+
+my @readonly_members = qw/
+	UserDB_repository
+	AdminUserDB
+/;
+
+sub set_readonly_config {
+	my $cat = $C->{CatalogName} or return;
+	my $ro = $Global::ReadOnlyCfg{$cat} ||= {};
+	for(@readonly_members) {
+		$ro->{$_} = copyref($C->{$_});
+	}
 }
 
 sub set_defaults {



1.36.2.1  +4 -2      interchange/lib/Vend/Dispatch.pm


rev 1.36.2.1, prev_rev 1.36
Index: Dispatch.pm
===================================================================
RCS file: /var/cvs/interchange/lib/Vend/Dispatch.pm,v
retrieving revision 1.36
retrieving revision 1.36.2.1
diff -u -r1.36 -r1.36.2.1
--- Dispatch.pm	7 Mar 2004 03:14:41 -0000	1.36
+++ Dispatch.pm	19 Apr 2004 14:32:59 -0000	1.36.2.1
@@ -1,6 +1,6 @@
 # Vend::Dispatch - Handle Interchange page requests
 #
-# $Id: Dispatch.pm,v 1.36 2004/03/07 03:14:41 mheins Exp $
+# $Id: Dispatch.pm,v 1.36.2.1 2004/04/19 14:32:59 mheins Exp $
 #
 # Copyright (C) 2002-2003 Interchange Development Group
 # Copyright (C) 2002 Mike Heins <mike at perusion.net>
@@ -26,7 +26,7 @@
 package Vend::Dispatch;
 
 use vars qw($VERSION);
-$VERSION = substr(q$Revision: 1.36 $, 10);
+$VERSION = substr(q$Revision: 1.36.2.1 $, 10);
 
 use POSIX qw(strftime);
 use Vend::Util;
@@ -966,6 +966,8 @@
 	}
 
 	$Vend::Cat = $Vend::Cfg->{CatalogName};
+	$Vend::ReadOnlyCfg = $Global::ReadOnlyCfg{$Vend::Cat};
+
 	my $catref = $Global::Catalog{$Vend::Cat};
 	if(! $Global::Foreground and defined $catref->{directive}) {
 		no strict 'refs';



2.27.2.1  +3 -7      interchange/lib/Vend/UserDB.pm


rev 2.27.2.1, prev_rev 2.27
Index: UserDB.pm
===================================================================
RCS file: /var/cvs/interchange/lib/Vend/UserDB.pm,v
retrieving revision 2.27
retrieving revision 2.27.2.1
diff -u -r2.27 -r2.27.2.1
--- UserDB.pm	1 Mar 2004 05:59:07 -0000	2.27
+++ UserDB.pm	19 Apr 2004 14:32:59 -0000	2.27.2.1
@@ -1,6 +1,6 @@
 # Vend::UserDB - Interchange user database functions
 #
-# $Id: UserDB.pm,v 2.27 2004/03/01 05:59:07 mheins Exp $
+# $Id: UserDB.pm,v 2.27.2.1 2004/04/19 14:32:59 mheins Exp $
 #
 # Copyright (C) 2002-2003 Interchange Development Group
 # Copyright (C) 1996-2002 Red Hat, Inc.
@@ -17,7 +17,7 @@
 
 package Vend::UserDB;
 
-$VERSION = substr(q$Revision: 2.27 $, 10);
+$VERSION = substr(q$Revision: 2.27.2.1 $, 10);
 
 use vars qw!
 	$VERSION
@@ -1716,11 +1716,7 @@
 			return undef;
 		}
 		if ($status = $user->login(%options) ) {
-			if(
-				! $Vend::Cfg->{AdminUserDB} or
-				$Vend::Cfg->{AdminUserDB}{$user->{PROFILE}}
-				)
-			{
+			if( $Vend::ReadOnlyCfg->{AdminUserDB}{$user->{PROFILE}} ) {
 				$Vend::admin = 1;
 			}
 			undef $Vend::Cookie;








More information about the interchange-cvs mailing list