On Mon, 2002-09-30 at 13:51, Pierre van Rooden wrote:
> [EMAIL PROTECTED] wrote:
> > Changed it back, decision was made in march by security project to use this
>security in the cvs.
>
> Were is that decision? I don't see it on the security project page.
>
> Anyway I don't think this had a vote - and changing behavior (such as
> changing the default security) needs a vote.
> As I said before (in march, too), I don't feel like changing the
> security system every release, especially since it seems to me that the
> cloud security does not fulfill that role well.
>
> I changed the security back because I was under the assumption that the
> security change was for test purposes - a temporary change. Since we
> want to start on the 1.6 release I changed it back to context.
> Gerard (project leader) corrected my comments but didn't reverse the
> change - so I guess the action was justified.
>
> I would like to have the security system changed back to context - as I
> said, it would be nice if the configuation stayed stable between
> releases for a change.
1) This setting was there since: 2002/03/18
2) This change was made at that point by the security project (correct
or not correct, imho that doesnt matter)
3) Changing something in cvs since in you dont like it, is not the
correct way. Please notifiy everyone by putting it on the developers
list.
4) If we want to change it to another implementation, it is possible,
but there should try to start discussion on developers list FIRST(or
post a hack, etc...)
My personal view is that new users should download the MMBase and use it
without having to change _anything_ to the mmbase configuration(in the
ideal situation), and i find it hard to explain to a new user how he/she
has to change admin password in the context security, while in the cloud
security it is as simple as going to the editors and change the password
field of the user with name admin.
--
Eduard Witteveen Systeem Ontwikkelaar
Publieke Omroep, Gateway C Kamer 101
+31(0)356772910 http://www.omroep.nl/
Sed quis custodiet ipsos custodes? : The sixth Satire from Juvenal
? forum
? bridge/jsp/taglib/html-escaping.diff
? bridge/remote/RemoteCloud.java
? bridge/remote/RemoteCloudContext.java
? bridge/remote/RemoteField.java
? bridge/remote/RemoteFieldIterator.java
? bridge/remote/RemoteFieldList.java
? bridge/remote/RemoteModule.java
? bridge/remote/RemoteModuleIterator.java
? bridge/remote/RemoteModuleList.java
? bridge/remote/RemoteNode.java
? bridge/remote/RemoteNodeIterator.java
? bridge/remote/RemoteNodeList.java
? bridge/remote/RemoteNodeManager.java
? bridge/remote/RemoteNodeManagerIterator.java
? bridge/remote/RemoteNodeManagerList.java
? bridge/remote/RemoteRelation.java
? bridge/remote/RemoteRelationIterator.java
? bridge/remote/RemoteRelationList.java
? bridge/remote/RemoteRelationManager.java
? bridge/remote/RemoteRelationManagerIterator.java
? bridge/remote/RemoteRelationManagerList.java
? bridge/remote/RemoteStringIterator.java
? bridge/remote/RemoteStringList.java
? bridge/remote/RemoteTransaction.java
? bridge/remote/RemoteUser.java
? bridge/remote/implementation
? bridge/remote/rmi
? scripts/.nbattrs
? scripts/WEB-INF
? scripts/jikes-573028668446107358
? util/swing
Index: bridge/implementation/BasicCloud.java
===================================================================
RCS file: /usr/local/cvs/mmbase/bridge/implementation/BasicCloud.java,v
retrieving revision 1.64
diff -r1.64 BasicCloud.java
177c177
< message = "Something went wrong while getting node with number " +
nodenumber + " (does it exist?) " + e.toString();
---
> message = "Something went wrong while getting node with number " +
>nodenumber + " (does it exist?)\n" + Logging.stackTrace(e);
Index: bridge/implementation/BasicCloudContext.java
===================================================================
RCS file: /usr/local/cvs/mmbase/bridge/implementation/BasicCloudContext.java,v
retrieving revision 1.24
diff -r1.24 BasicCloudContext.java
58,72c58,68
< Iterator i=org.mmbase.module.Module.getModules();
< if (i!=null) {
< mmb = (MMBase)org.mmbase.module.Module.getModule("MMBASEROOT");
<
<
< // create transaction manager and temporary node manager
< tmpObjectManager = new TemporaryNodeManager(mmb);
< transactionManager = new TransactionManager(mmb,tmpObjectManager);
<
< // create module list
< while(i.hasNext()) {
< Module mod =
ModuleHandler.getModule((org.mmbase.module.Module)i.next(),this);
< localModules.put(mod.getName(),mod);
< }
<
---
> mmb = org.mmbase.module.core.MMBase.getMMBase();
> // create transaction manager and temporary node manager
> tmpObjectManager = new TemporaryNodeManager(mmb);
> transactionManager = new TransactionManager(mmb,tmpObjectManager);
>
> Iterator i=org.mmbase.module.Module.getModules();
> // create module list
> while(i.hasNext()) {
> Module mod =
>ModuleHandler.getModule((org.mmbase.module.Module)i.next(),this);
> localModules.put(mod.getName(),mod);
> }
75,84d70
<
< }
< else {
< // why dont we start mmbase, when there isnt a running instance, just change
the check...
< String message;
< message = "MMBase has not been started, and cannot be started by "
< + "this Class. (" + getClass().getName() + ")";
< log.error(message);
< throw new BridgeException(message);
< }
96c82
< message = "Module " + moduleName + " does not exist.";
---
> message = "Module '" + moduleName + "' does not exist.";
110c96
< message = "Cloud " + name + " does not exist.";
---
> message = "Cloud '" + name + "' does not exist.";
125c111
< scanpage sp = new scanpage();
---
> scanpage sp = new scanpage();
135c121
< return sp;
---
> return sp;
136a123
>
Index: cache/MultilevelCacheHandler.java
===================================================================
RCS file: /usr/local/cvs/mmbase/cache/MultilevelCacheHandler.java,v
retrieving revision 1.8
diff -r1.8 MultilevelCacheHandler.java
12a13,14
> import org.mmbase.module.core.MMObjectBuilder;
> import org.mmbase.module.core.MMObjectNode;
16a19,20
> import org.mmbase.util.logging.Logger;
> import org.mmbase.util.logging.Logging;
29a34
> private static Logger log =
>Logging.getLoggerInstance(MultilevelCacheHandler.class.getName());
120c125,151
< MultilevelSubscribeNode l = (MultilevelSubscribeNode)listeners.get(type);
---
> MMObjectBuilder builder = mmb.getMMObject(type);
> if(builder == null && mmb.getRelDef().getNumberByName(type) > 0) {
> // maybe it was a reldef thing...
> // try to get the builder from reldef with name:
> // sname / dname
> int relNodeNr = mmb.getRelDef().getNumberByName(type);
> MMObjectNode relNode = mmb.getRelDef().getNode(relNodeNr);
> if(relNode == null) {
> String msg = "Reldef " + type + " could not be found for number#"
>+ relNodeNr;
> log.error(msg);
> throw new RuntimeException(msg);
> }
> int bulNodeNr = relNode.getIntValue("builder");
> MMObjectNode bulNode = mmb.getTypeDef().getNode(bulNodeNr);
> if(relNode == null) {
> String msg = "Could not get the builder-node(" + bulNodeNr + ")
>belonging to the reldef node(" + relNodeNr + ")";
> log.error(msg);
> throw new RuntimeException(msg);
> }
> builder = mmb.getMMObject(bulNode.getStringValue("name"));
> }
> if(builder == null) {
> String msg = "builder wasnt found, tried to look at it as an reldef,
>but also failed (" + type + ")";
> log.error(msg);
> throw new RuntimeException(msg);
> }
> MultilevelSubscribeNode l =
>(MultilevelSubscribeNode)listeners.get(builder);
122,123c153,154
< l = new MultilevelSubscribeNode(mmb,type);
< listeners.put(type,l);
---
> l = new MultilevelSubscribeNode(mmb, builder);
> listeners.put(type,builder);
Index: cache/MultilevelSubscribeNode.java
===================================================================
RCS file: /usr/local/cvs/mmbase/cache/MultilevelSubscribeNode.java,v
retrieving revision 1.7
diff -r1.7 MultilevelSubscribeNode.java
15a16
> import org.mmbase.module.core.MMObjectBuilder;
33c34,35
< private String type;
---
> private MMObjectBuilder type;
>
43,47c45,49
< MultilevelSubscribeNode(MMBase mmb,String type) {
< this.mmb=mmb;
< this.type=type;
< mmb.addLocalObserver(type,this);
< mmb.addRemoteObserver(type,this);
---
> MultilevelSubscribeNode(MMBase mmb, MMObjectBuilder type) {
> this.mmb = mmb;
> this.type = type;
> mmb.addLocalObserver(type, this);
> mmb.addRemoteObserver(type, this);
55c57
< return(true);
---
> return true;
Index: module/core/MMBase.java
===================================================================
RCS file: /usr/local/cvs/mmbase/module/core/MMBase.java,v
retrieving revision 1.68
diff -r1.68 MMBase.java
807a808,822
> public boolean addRemoteObserver(MMObjectBuilder bul, MMBaseObserver obs) {
> if (bul==null) {
> String msg = "Builder was null";
> log.error(msg);
> throw new RuntimeException(msg);
> }
> return bul.addRemoteObserver(obs);
> }
>
> /**
> * Adds a remote observer to a specified builder.
> * The observer is noti
> fied whenever an object of that builder is changed, added, or removed.
> * @return <code>true</code> if adding the observer succeeded,
><code>false</code> otherwise.
> */
810,815c825,830
< if (bul!=null) {
< return bul.addRemoteObserver(obs);
< } else {
< log.error("addRemoteObserver(): ERROR: Can't find builder : "+type);
< return false;
< }
---
> if (bul==null) {
> String msg = "Could not retrieve the builder with name: " + type + ", is
>it active?";
> log.error(msg);
> throw new RuntimeException(msg);
> }
> return bul.addRemoteObserver(obs);
823c838,853
< public boolean addLocalObserver(String type,MMBaseObserver obs) {
---
> public boolean addLocalObserver(MMObjectBuilder bul, MMBaseObserver obs) {
> if (bul==null) {
> String msg = "Builder was null";
> log.error(msg);
> throw new RuntimeException(msg);
> }
> return bul.addLocalObserver(obs);
> }
>
>
> /**
> * Adds a local observer to a specified builder.
> * The observer is notified whenever an object of that builder is changed,
>added, or removed.
> * @return <code>true</code> if adding the observer succeeded,
><code>false</code> otherwise.
> */
> public boolean addLocalObserver(String type, MMBaseObserver obs) {
825,830c855
< if (bul!=null) {
< return bul.addLocalObserver(obs);
< } else {
< log.error("addLocalObserver(): ERROR: Can't find builder : "+type);
< return false;
< }
---
> return addLocalObserver(bul, obs);
Index: module/core/MMObjectBuilder.java
===================================================================
RCS file: /usr/local/cvs/mmbase/module/core/MMObjectBuilder.java,v
retrieving revision 1.150
diff -r1.150 MMObjectBuilder.java
429,440c429,445
< if (mmb.getOAlias()!=null) {
< if (getNode(alias) != null ) { // this alias already exists! Don't add
a new one!
< return false;
< }
< MMObjectNode node=mmb.getOAlias().getNewNode("system");
< node.setValue("name",alias);
< node.setValue("destination",number);
< node.insert("system");
< return true;
< } else {
< return false;
< }
---
> OAlias oalias = mmb.getOAlias();
> if(oalias == null ) {
> String msg = "Could not retrieve the alias builder, is it active?";
> log.error(msg);
> throw new RuntimeException(msg);
> }
> if(oalias.getNumber(alias) > 0) {
> // we already found an alias, return false
> return false;
> }
> MMObjectNode original = getNode(number);
> String owner = original.getStringValue("owner");
> MMObjectNode node= oalias.getNewNode(owner);
> node.setValue("name",alias);
> node.setValue("destination", original);
> node.insert(owner);
> return true;
695c700,702
< throw new SQLException("can't find otype!");
---
> String msg = "The nodetype of node #" + number + " could not be
>found(nodetype # " + otype + ")";
> log.error(msg);
> throw new RuntimeException(msg);
702,704c709,712
< // something went wrong print it to the logs
< log.error(Logging.stackTrace(e));
< return -1;
---
> // something went wrong print it to the logs
> String msg = "Could not retrieve the type of node#" + number + " an SQL
>error occured:\n"+ Logging.stackTrace(e) ;
> log.error(msg);
> throw new RuntimeException(msg);
732,733c740,744
< int nr;
< MMObjectNode node = null;
---
> // 2 options:
> // 1) the string is a number, and we want to retrieve that number
> // 2) the string is an alias and we have to retrieve the number of that
> // the representing node, and retrieve it's value
> int nr = -1;
735,749c746,748
< log.error("getNode(null): ERROR: for tablename("+tableName+"): key is
null!");
< return null;
< }
< try {
< nr=Integer.parseInt(key);
< } catch (Exception e) {
< nr=-1;
< }
< // is not a number, try top obtain the number from the alias builder
< if ((nr<0) && (mmb.getOAlias()!=null)) {
< nr=mmb.getOAlias().getNumber(key);
< }
< // load the node if the number is right
< if (nr>0) {
< node=getNode(nr,usecache);
---
> String msg = "Could not retrieve with key :" + key;
> log.error(msg);
> throw new RuntimeException(msg);
751c750,771
< return node;
---
> try {
> // it was a number,
> nr = Integer.parseInt(key);
> }
> catch(NumberFormatException nfe) {
> // when our key was not a number,..
> // it could have been an alias
> OAlias oalias = mmb.getOAlias();
> if(oalias == null ) {
> String msg = "Could not retrieve the alias builder, is it active?";
> log.error(msg);
> throw new RuntimeException(msg);
> }
> nr = oalias.getNumber(key);
> log.service("alias:" + key + " references node#:" + nr);
> }
> if(nr <= 0) {
> String msg = "Invalid node number #" + nr + " for key: '" + key + "'";
> log.error(msg);
> throw new RuntimeException(msg);
> }
> return getNode(nr,usecache);
787,788c807,809
< log.warn(" ("+tableName+") nodenumber == -1");
< return null;
---
> String msg = "Could not retrieve with key with number:" + number;
> log.error(msg);
> throw new RuntimeException(msg);
818,819c839,841
< log.error("The nodetype of node #" + number + " could not be
found(nodetype # " + bi + ")");
< return null;
---
> String msg = "The nodetype of node #" + number + " could not be
>found(nodetype # " + bi + ")";
> log.error(msg);
> throw new RuntimeException(msg);
850,851c872,874
< log.warn("Node #" + number + " could not be found(nodetype: " +
bul + "(" + bi + "))");
< return null; // not found
---
> String msg = "Node #" + number + " could not be found(nodetype: "
>+ bul + "(" + bi + "))";
> log.error(msg);
> throw new RuntimeException(msg);
860,864c883,885
< String msg = "The node #" + number + " could retrieved : " + e + "\n" +
Logging.stackTrace(e);
< log.error(msg);
< // do we need to throw an exception in this situation, of continue
running?
< // throw new RuntimeException(msg);
< return null;
---
> String msg = "The node #" + number + " could retrieved : " + e + "\n" +
>Logging.stackTrace(e) ;
> log.error(msg);
> throw new RuntimeException(msg);
Index: scripts/build.xml
===================================================================
RCS file: /usr/local/cvs/mmbase/scripts/build.xml,v
retrieving revision 1.145
diff -r1.145 build.xml
380c380
< depends="compile.local,compile.remote">
---
> depends="compile.local,compile.omroep,compile.remote">
431a432
> <exclude name="nl/**" />
445a447,458
>
> <target name="compile.omroep" description="Compile the omroep stuff"
>depends="compile.local">
> <javac srcdir="${source-src.dir}"
> destdir="${build.dir}/classes"
> classpathref="compile.classpath"
> debug="${debug}"
> optimize="${optimize}"
> deprecation="${deprecation}">
> <exclude name="org/**" />
> </javac>
> <tstamp/>
> </target>