Modified: river/jtsk/modules/modularize/apache-river/river-services/fiddler/fiddler-dl/src/main/java/org/apache/river/fiddler/proxy/FiddlerRenewResults.java URL: http://svn.apache.org/viewvc/river/jtsk/modules/modularize/apache-river/river-services/fiddler/fiddler-dl/src/main/java/org/apache/river/fiddler/proxy/FiddlerRenewResults.java?rev=1879521&r1=1879520&r2=1879521&view=diff ============================================================================== --- river/jtsk/modules/modularize/apache-river/river-services/fiddler/fiddler-dl/src/main/java/org/apache/river/fiddler/proxy/FiddlerRenewResults.java (original) +++ river/jtsk/modules/modularize/apache-river/river-services/fiddler/fiddler-dl/src/main/java/org/apache/river/fiddler/proxy/FiddlerRenewResults.java Sun Jul 5 11:41:39 2020 @@ -1,67 +1,67 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.apache.river.fiddler; - -/* - * This class acts as a data structure in which the results of renewal - * attempts made in the method <code>FiddlerImpl.renewLeases</code> are - * stored and returned. - * <p> - * Instances or this class are never visible to clients, they are private - * to the communication between the LeaseMap proxy and the Fiddler - * implementation of the lookup discovery service. - * - * @author Sun Microsystems, Inc. - * - */ -class FiddlerRenewResults implements java.io.Serializable { - - private static final long serialVersionUID = 6793222607079853307L; - - /** - * The granted duration for each lease. The length of this array - * is the same as the length of the durations parameter to renewLeases, - * and is in the same order. If a duration is -1, it indicates that - * an exception was thrown for this lease. - * - * @serial - */ - public long[] durations; - /** - * Exceptions thrown as a result of a renewal attempt in renewLeases. - * The length of this array is the same as the number of -1 elements - * in <code>durations</code> field of this class. Furthermore, the - * exceptions in this array are in order. - * - * @serial - */ - public Exception[] exceptions; - - /** - * Constructs a new instance of FiddlerRenewResults. - * - * @param durations array containing the durations granted as a result - * of successful lease renewals. - * @param exceptions array containing the exceptions thrown as a result - * of an unsuccessful lease renewal. - */ - public FiddlerRenewResults(long[] durations, Exception[] exceptions) { - this.durations = durations; - this.exceptions = exceptions; - } -} +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.river.fiddler.proxy; + +/* + * This class acts as a data structure in which the results of renewal + * attempts made in the method <code>FiddlerImpl.renewLeases</code> are + * stored and returned. + * <p> + * Instances or this class are never visible to clients, they are private + * to the communication between the LeaseMap proxy and the Fiddler + * implementation of the lookup discovery service. + * + * @author Sun Microsystems, Inc. + * + */ +public class FiddlerRenewResults implements java.io.Serializable { + + private static final long serialVersionUID = 6793222607079853307L; + + /** + * The granted duration for each lease. The length of this array + * is the same as the length of the durations parameter to renewLeases, + * and is in the same order. If a duration is -1, it indicates that + * an exception was thrown for this lease. + * + * @serial + */ + public long[] durations; + /** + * Exceptions thrown as a result of a renewal attempt in renewLeases. + * The length of this array is the same as the number of -1 elements + * in <code>durations</code> field of this class. Furthermore, the + * exceptions in this array are in order. + * + * @serial + */ + public Exception[] exceptions; + + /** + * Constructs a new instance of FiddlerRenewResults. + * + * @param durations array containing the durations granted as a result + * of successful lease renewals. + * @param exceptions array containing the exceptions thrown as a result + * of an unsuccessful lease renewal. + */ + public FiddlerRenewResults(long[] durations, Exception[] exceptions) { + this.durations = durations; + this.exceptions = exceptions; + } +}
Modified: river/jtsk/modules/modularize/apache-river/river-services/fiddler/fiddler-dl/src/main/java/org/apache/river/fiddler/proxy/ProxyUtil.java URL: http://svn.apache.org/viewvc/river/jtsk/modules/modularize/apache-river/river-services/fiddler/fiddler-dl/src/main/java/org/apache/river/fiddler/proxy/ProxyUtil.java?rev=1879521&r1=1879520&r2=1879521&view=diff ============================================================================== --- river/jtsk/modules/modularize/apache-river/river-services/fiddler/fiddler-dl/src/main/java/org/apache/river/fiddler/proxy/ProxyUtil.java (original) +++ river/jtsk/modules/modularize/apache-river/river-services/fiddler/fiddler-dl/src/main/java/org/apache/river/fiddler/proxy/ProxyUtil.java Sun Jul 5 11:41:39 2020 @@ -1,77 +1,78 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.apache.river.fiddler; - -import java.lang.reflect.Method; - -/** - * Convenience class that contains a package protected static utility method - * used by the proxy classes of this package in proxy trust verification - * process. - * - * Note that this class cannot be instantiated. - * - * @author Sun Microsystems, Inc. - */ -class ProxyUtil { - - /** This class cannot be instantiated. */ - private ProxyUtil() { - throw new AssertionError("class cannot be instantiated"); - }//end constructor - - /** - * Returns the public method for the specified <code>Class</code> type, - * method name, and array of parameter types. - * <p> - * This method is typically used in place of {@link Class#getMethod - * Class.getMethod} to get a method that should definitely be defined; - * thus, this method throws an error instead of an exception if the - * given method is missing. - * <p> - * This method is convenient for the initialization of a static - * variable for use as the <code>mappings</code> argument to - * {@link org.apache.river.proxy.ConstrainableProxyUtil#translateConstraints - * ConstrainableProxyUtil.translateConstraints}. - * - * @param type the <code>Class</code> type that defines the - * method of interest - * @param name <code>String</code> containing the name of the - * method of interest - * @param parameterTypes the <code>Class</code> types of the parameters - * to the method of interest - * - * @return a <code>Method</code> object that provides information about, - * and access to, the method of interest - * - * @throws <code>NoSuchMethodError</code> if the method of interest cannot - * be found - * @throws <code>NullPointerException</code> if <code>type</code> or - * <code>name</code> is <code>null</code> - */ - static Method getMethod(Class type, - String name, - Class[] parameterTypes) - { - try { - return type.getMethod(name, parameterTypes); - } catch (NoSuchMethodException e) { - throw (Error)(new NoSuchMethodError(e.getMessage()).initCause(e)); - } - }//end getMethod -}//end class ProxyUtil +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.river.fiddler.proxy; + + +import java.lang.reflect.Method; + +/** + * Convenience class that contains a package protected static utility method + * used by the proxy classes of this package in proxy trust verification + * process. + * + * Note that this class cannot be instantiated. + * + * @author Sun Microsystems, Inc. + */ +class ProxyUtil { + + /** This class cannot be instantiated. */ + private ProxyUtil() { + throw new AssertionError("class cannot be instantiated"); + }//end constructor + + /** + * Returns the public method for the specified <code>Class</code> type, + * method name, and array of parameter types. + * <p> + * This method is typically used in place of {@link Class#getMethod + * Class.getMethod} to get a method that should definitely be defined; + * thus, this method throws an error instead of an exception if the + * given method is missing. + * <p> + * This method is convenient for the initialization of a static + * variable for use as the <code>mappings</code> argument to + * {@link org.apache.river.proxy.ConstrainableProxyUtil#translateConstraints + * ConstrainableProxyUtil.translateConstraints}. + * + * @param type the <code>Class</code> type that defines the + * method of interest + * @param name <code>String</code> containing the name of the + * method of interest + * @param parameterTypes the <code>Class</code> types of the parameters + * to the method of interest + * + * @return a <code>Method</code> object that provides information about, + * and access to, the method of interest + * + * @throws <code>NoSuchMethodError</code> if the method of interest cannot + * be found + * @throws <code>NullPointerException</code> if <code>type</code> or + * <code>name</code> is <code>null</code> + */ + static Method getMethod(Class type, + String name, + Class[] parameterTypes) + { + try { + return type.getMethod(name, parameterTypes); + } catch (NoSuchMethodException e) { + throw (Error)(new NoSuchMethodError(e.getMessage()).initCause(e)); + } + }//end getMethod +}//end class ProxyUtil Modified: river/jtsk/modules/modularize/apache-river/river-services/fiddler/fiddler-dl/src/main/java/org/apache/river/fiddler/proxy/ProxyVerifier.java URL: http://svn.apache.org/viewvc/river/jtsk/modules/modularize/apache-river/river-services/fiddler/fiddler-dl/src/main/java/org/apache/river/fiddler/proxy/ProxyVerifier.java?rev=1879521&r1=1879520&r2=1879521&view=diff ============================================================================== --- river/jtsk/modules/modularize/apache-river/river-services/fiddler/fiddler-dl/src/main/java/org/apache/river/fiddler/proxy/ProxyVerifier.java (original) +++ river/jtsk/modules/modularize/apache-river/river-services/fiddler/fiddler-dl/src/main/java/org/apache/river/fiddler/proxy/ProxyVerifier.java Sun Jul 5 11:41:39 2020 @@ -1,185 +1,186 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.apache.river.fiddler; - -import net.jini.core.constraint.MethodConstraints; -import net.jini.core.constraint.RemoteMethodControl; -import net.jini.id.ReferentUuid; -import net.jini.id.Uuid; -import net.jini.security.TrustVerifier; -import net.jini.security.proxytrust.TrustEquivalence; - -import java.io.Serializable; -import java.rmi.RemoteException; - -/** This class defines a trust verifier for the proxies related to the - * Fiddler implementation of the lookup discovery service. - * - * @see net.jini.security.TrustVerifier - * - * @author Sun Microsystems, Inc. - * - * @since 2.0 - */ -final class ProxyVerifier implements Serializable, TrustVerifier { - - private static final long serialVersionUID = 2L; - - /** The canonical instance of the inner proxy to the service. This - * instance will be used by the <code>isTrusted</code> method - * as the known trusted object used to determine whether or not a - * given proxy is equivalent in trust, content, and function. - * - * @serial - */ - private final RemoteMethodControl innerProxy; - /** - * The unique identifier associated with the backend server referenced - * by the <code>innerProxy</code>, used for comparison with the IDs - * extracted from the smart proxies being verified. - * - * @serial - */ - private final Uuid proxyID; - - /** Constructs an instance of <code>TrustVerifier</code> that can be - * used to determine whether or not a given proxy is equivalent in - * trust, content, and function to the service's <code>innerProxy</code> - * referenced in the class constructed here. - * - * @param innerProxy canonical instance of the inner proxy to the service. - * The <code>isTrustedObject</code> method will - * determine whether or not proxies input to that - * method are equivalent in trust, content, and function - * to this object. - * @param proxyID instance of <code>Uuid</code> containing the unique - * identifier associated with the backend server - * referenced by the <code>innerProxy</code> paramater. - * - * @throws UnsupportedOperationException if <code>innerProxy</code> does - * not implement both {@link RemoteMethodControl} and {@link - * TrustEquivalence} - */ - ProxyVerifier(Fiddler innerProxy, Uuid proxyID) { - if( !(innerProxy instanceof RemoteMethodControl) ) { - throw new UnsupportedOperationException - ("cannot construct verifier - canonical inner " - +"proxy is not an instance of RemoteMethodControl"); - } else if( !(innerProxy instanceof TrustEquivalence) ) { - throw new UnsupportedOperationException - ("cannot construct verifier - canonical inner " - +"proxy is not an instance of TrustEquivalence"); - }//endif - this.innerProxy = (RemoteMethodControl)innerProxy; - this.proxyID = proxyID; - }//end constructor - - /** Returns <code>true</code> if the specified proxy object (that is - * not yet known to be trusted) is equivalent in trust, content, and - * function to the canonical inner proxy object referenced in this - * class; otherwise returns <code>false</code>. - * - * @param obj proxy object that will be compared to this class' stored - * canonical proxy to determine whether or not the given - * proxy object is equivalent in trust, content, and function. - * - * @return <code>true</code> if the specified object (that is not yet - * known to be trusted) is equivalent in trust, - * content, and function to the canonical inner - * proxy object referenced in this class; - * otherwise returns <code>false</code>. - * - * @throws NullPointerException if any argument is <code>null</code> - */ - public boolean isTrustedObject(Object obj, - TrustVerifier.Context ctx) - throws RemoteException - { - /* Validate the arguments */ - if (obj == null || ctx == null) { - throw new NullPointerException("arguments must not be null"); - }//endif - /* Prepare the input proxy object for trust verification. The types - * of proxies, specific to the service, that this method will - * handle are: - * - ConstrainableFiddlerProxy - * - ConstrainableFiddlerRegistration - * - ConstrainableFiddlerLease - * - ConstrainableFiddlerAdminProxy - */ - RemoteMethodControl inputProxy; - Uuid inputProxyID; - if( obj instanceof FiddlerProxy.ConstrainableFiddlerProxy ) { - inputProxy = (RemoteMethodControl)((FiddlerProxy)obj).server; - inputProxyID = ((ReferentUuid)obj).getReferentUuid(); - } else if - (obj instanceof FiddlerRegistration.ConstrainableFiddlerRegistration) - { - FiddlerRegistration reg = (FiddlerRegistration)obj; - if( !this.isTrustedObject( (reg.eventReg).getSource(), ctx) ) { - return false; - }//endif - if( !this.isTrustedObject( (reg.eventReg).getLease(), ctx) ) { - return false; - }//endif - inputProxy = (RemoteMethodControl)reg.server; - /* FiddlerRegistration doesn't carry a proxyID. Default to the - * cannonical proxyID to avoid complicated handler logic below. - */ - inputProxyID = proxyID; - } else if( obj instanceof FiddlerLease.ConstrainableFiddlerLease ) { - inputProxy = (RemoteMethodControl)((FiddlerLease)obj).server; - inputProxyID = ((FiddlerLease)obj).getServerID(); - } else if - (obj instanceof FiddlerAdminProxy.ConstrainableFiddlerAdminProxy) - { - inputProxy = (RemoteMethodControl)((FiddlerAdminProxy)obj).server; - inputProxyID = ((ReferentUuid)obj).getReferentUuid(); - } else if( obj instanceof RemoteMethodControl ) { - /* This block handles the case where the inner proxy itself - * (rather than an outer proxy that contains the inner proxy) - * is being verified for trust. Unlike most of the outer proxies, - * the inner proxy doesn't provide a means for obtaining the UUID - * of the associated backend server. Thus, to avoid complicated - * handler logic, for this case the cannonical proxyID is used - * in the trust equivalence comparison that is performed below. - */ - inputProxy = (RemoteMethodControl)obj; - inputProxyID = proxyID; - } else { - return false; - }//endif - /* Get the client constraints currently set on the input proxy */ - final MethodConstraints mConstraints - = inputProxy.getConstraints(); - /* Create a copy of the canonical proxy with its method constraints - * replaced with the method constraints of the input proxy. - */ - final TrustEquivalence constrainedInnerProxy = - (TrustEquivalence)innerProxy.setConstraints(mConstraints); - /* With respect to trust, content, and function, test whether the - * input proxy is equivalent to the canonical inner proxy that has - * the same method constraints as that input proxy, and verify that - * the canonical ID of the backend server is equivalent to the ID - * extracted from the input proxy; return the result. - */ - return ( constrainedInnerProxy.checkTrustEquivalence(inputProxy) - && proxyID.equals(inputProxyID) ); - }//end isTrustedObject - -}//end class ProxyVerifier +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.river.fiddler.proxy; + + +import net.jini.core.constraint.MethodConstraints; +import net.jini.core.constraint.RemoteMethodControl; +import net.jini.id.ReferentUuid; +import net.jini.id.Uuid; +import net.jini.security.TrustVerifier; +import net.jini.security.proxytrust.TrustEquivalence; + +import java.io.Serializable; +import java.rmi.RemoteException; + +/** This class defines a trust verifier for the proxies related to the + * Fiddler implementation of the lookup discovery service. + * + * @see net.jini.security.TrustVerifier + * + * @author Sun Microsystems, Inc. + * + * @since 2.0 + */ +final public class ProxyVerifier implements Serializable, TrustVerifier { + + private static final long serialVersionUID = 2L; + + /** The canonical instance of the inner proxy to the service. This + * instance will be used by the <code>isTrusted</code> method + * as the known trusted object used to determine whether or not a + * given proxy is equivalent in trust, content, and function. + * + * @serial + */ + private final RemoteMethodControl innerProxy; + /** + * The unique identifier associated with the backend server referenced + * by the <code>innerProxy</code>, used for comparison with the IDs + * extracted from the smart proxies being verified. + * + * @serial + */ + private final Uuid proxyID; + + /** Constructs an instance of <code>TrustVerifier</code> that can be + * used to determine whether or not a given proxy is equivalent in + * trust, content, and function to the service's <code>innerProxy</code> + * referenced in the class constructed here. + * + * @param innerProxy canonical instance of the inner proxy to the service. + * The <code>isTrustedObject</code> method will + * determine whether or not proxies input to that + * method are equivalent in trust, content, and function + * to this object. + * @param proxyID instance of <code>Uuid</code> containing the unique + * identifier associated with the backend server + * referenced by the <code>innerProxy</code> paramater. + * + * @throws UnsupportedOperationException if <code>innerProxy</code> does + * not implement both {@link RemoteMethodControl} and {@link + * TrustEquivalence} + */ + public ProxyVerifier(Fiddler innerProxy, Uuid proxyID) { + if( !(innerProxy instanceof RemoteMethodControl) ) { + throw new UnsupportedOperationException + ("cannot construct verifier - canonical inner " + +"proxy is not an instance of RemoteMethodControl"); + } else if( !(innerProxy instanceof TrustEquivalence) ) { + throw new UnsupportedOperationException + ("cannot construct verifier - canonical inner " + +"proxy is not an instance of TrustEquivalence"); + }//endif + this.innerProxy = (RemoteMethodControl)innerProxy; + this.proxyID = proxyID; + }//end constructor + + /** Returns <code>true</code> if the specified proxy object (that is + * not yet known to be trusted) is equivalent in trust, content, and + * function to the canonical inner proxy object referenced in this + * class; otherwise returns <code>false</code>. + * + * @param obj proxy object that will be compared to this class' stored + * canonical proxy to determine whether or not the given + * proxy object is equivalent in trust, content, and function. + * + * @return <code>true</code> if the specified object (that is not yet + * known to be trusted) is equivalent in trust, + * content, and function to the canonical inner + * proxy object referenced in this class; + * otherwise returns <code>false</code>. + * + * @throws NullPointerException if any argument is <code>null</code> + */ + public boolean isTrustedObject(Object obj, + TrustVerifier.Context ctx) + throws RemoteException + { + /* Validate the arguments */ + if (obj == null || ctx == null) { + throw new NullPointerException("arguments must not be null"); + }//endif + /* Prepare the input proxy object for trust verification. The types + * of proxies, specific to the service, that this method will + * handle are: + * - ConstrainableFiddlerProxy + * - ConstrainableFiddlerRegistration + * - ConstrainableFiddlerLease + * - ConstrainableFiddlerAdminProxy + */ + RemoteMethodControl inputProxy; + Uuid inputProxyID; + if( obj instanceof FiddlerProxy.ConstrainableFiddlerProxy ) { + inputProxy = (RemoteMethodControl)((FiddlerProxy)obj).server; + inputProxyID = ((ReferentUuid)obj).getReferentUuid(); + } else if + (obj instanceof FiddlerRegistration.ConstrainableFiddlerRegistration) + { + FiddlerRegistration reg = (FiddlerRegistration)obj; + if( !this.isTrustedObject( (reg.eventReg).getSource(), ctx) ) { + return false; + }//endif + if( !this.isTrustedObject( (reg.eventReg).getLease(), ctx) ) { + return false; + }//endif + inputProxy = (RemoteMethodControl)reg.server; + /* FiddlerRegistration doesn't carry a proxyID. Default to the + * cannonical proxyID to avoid complicated handler logic below. + */ + inputProxyID = proxyID; + } else if( obj instanceof FiddlerLease.ConstrainableFiddlerLease ) { + inputProxy = (RemoteMethodControl)((FiddlerLease)obj).server; + inputProxyID = ((FiddlerLease)obj).getServerID(); + } else if + (obj instanceof FiddlerAdminProxy.ConstrainableFiddlerAdminProxy) + { + inputProxy = (RemoteMethodControl)((FiddlerAdminProxy)obj).server; + inputProxyID = ((ReferentUuid)obj).getReferentUuid(); + } else if( obj instanceof RemoteMethodControl ) { + /* This block handles the case where the inner proxy itself + * (rather than an outer proxy that contains the inner proxy) + * is being verified for trust. Unlike most of the outer proxies, + * the inner proxy doesn't provide a means for obtaining the UUID + * of the associated backend server. Thus, to avoid complicated + * handler logic, for this case the cannonical proxyID is used + * in the trust equivalence comparison that is performed below. + */ + inputProxy = (RemoteMethodControl)obj; + inputProxyID = proxyID; + } else { + return false; + }//endif + /* Get the client constraints currently set on the input proxy */ + final MethodConstraints mConstraints + = inputProxy.getConstraints(); + /* Create a copy of the canonical proxy with its method constraints + * replaced with the method constraints of the input proxy. + */ + final TrustEquivalence constrainedInnerProxy = + (TrustEquivalence)innerProxy.setConstraints(mConstraints); + /* With respect to trust, content, and function, test whether the + * input proxy is equivalent to the canonical inner proxy that has + * the same method constraints as that input proxy, and verify that + * the canonical ID of the backend server is equivalent to the ID + * extracted from the input proxy; return the result. + */ + return ( constrainedInnerProxy.checkTrustEquivalence(inputProxy) + && proxyID.equals(inputProxyID) ); + }//end isTrustedObject + +}//end class ProxyVerifier Modified: river/jtsk/modules/modularize/apache-river/river-services/fiddler/fiddler-service/pom.xml URL: http://svn.apache.org/viewvc/river/jtsk/modules/modularize/apache-river/river-services/fiddler/fiddler-service/pom.xml?rev=1879521&r1=1879520&r2=1879521&view=diff ============================================================================== --- river/jtsk/modules/modularize/apache-river/river-services/fiddler/fiddler-service/pom.xml (original) +++ river/jtsk/modules/modularize/apache-river/river-services/fiddler/fiddler-service/pom.xml Sun Jul 5 11:41:39 2020 @@ -1,86 +1,119 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- -~ Copyright (C) 2014 the original author or authors. -~ -~ Licensed under the Apache License, Version 2.0 (the "License"); -~ you may not use this file except in compliance with the License. -~ You may obtain a copy of the License at -~ -~ http://www.apache.org/licenses/LICENSE-2.0 -~ -~ Unless required by applicable law or agreed to in writing, software -~ distributed under the License is distributed on an "AS IS" BASIS, -~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -~ See the License for the specific language governing permissions and -~ limitations under the License. ---> -<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> - <modelVersion>4.0.0</modelVersion> - - <parent> - <groupId>org.apache.river</groupId> - <artifactId>fiddler</artifactId> - <version>3.0-SNAPSHOT</version> - </parent> - - <groupId>org.apache.river.fiddler</groupId> - <artifactId>fiddler-service</artifactId> - <packaging>jar</packaging> - - <name>Module :: Fiddler LookupDiscoveryService Implementation</name> - - <dependencies> - <dependency> - <groupId>org.apache.river.fiddler</groupId> - <artifactId>fiddler-dl</artifactId> - <version>${project.version}</version> - </dependency> - <dependency> - <groupId>org.apache.river</groupId> - <artifactId>river-start</artifactId> - <version>${project.version}</version> - </dependency> - <dependency> - <groupId>org.apache.river</groupId> - <artifactId>river-url-integrity</artifactId> - <version>${project.version}</version> - </dependency> - <dependency> - <groupId>org.apache.river</groupId> - <artifactId>river-phoenix</artifactId> - <version>${project.version}</version> - </dependency> - <dependency> - <groupId>org.apache.river</groupId> - <artifactId>river-lib</artifactId> - <version>${project.version}</version> - </dependency> - </dependencies> - - <build> - <plugins> - <plugin> - <groupId>biz.aQute.bnd</groupId> - <artifactId>bnd-maven-plugin</artifactId> - <executions> - <execution> - <goals> - <goal>bnd-process</goal> - </goals> - </execution> - </executions> - </plugin> - <plugin> - <groupId>org.owasp</groupId> - <artifactId>dependency-check-maven</artifactId> - <executions> - <execution> - <goals> - <goal>check</goal> - </goals> - </execution> - </executions> - </plugin> - </plugins> - </build> +<!-- ~ Copyright (C) 2014 the original author or authors. ~ ~ Licensed under + the Apache License, Version 2.0 (the "License"); ~ you may not use this file + except in compliance with the License. ~ You may obtain a copy of the License + at ~ ~ http://www.apache.org/licenses/LICENSE-2.0 ~ ~ Unless required by + applicable law or agreed to in writing, software ~ distributed under the + License is distributed on an "AS IS" BASIS, ~ WITHOUT WARRANTIES OR CONDITIONS + OF ANY KIND, either express or implied. ~ See the License for the specific + language governing permissions and ~ limitations under the License. --> +<project xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + <modelVersion>4.0.0</modelVersion> + + <parent> + <groupId>org.apache.river</groupId> + <artifactId>fiddler</artifactId> + <version>3.0-SNAPSHOT</version> + </parent> + + <groupId>org.apache.river.fiddler</groupId> + <artifactId>fiddler-service</artifactId> + <packaging>jar</packaging> + + <name>Module :: Fiddler LookupDiscoveryService Implementation</name> + + <dependencies> + <dependency> + <groupId>org.apache.river.fiddler</groupId> + <artifactId>fiddler-dl</artifactId> + <version>${project.version}</version> + </dependency> + <dependency> + <groupId>org.apache.river</groupId> + <artifactId>river-start</artifactId> + <version>${project.version}</version> + </dependency> + <dependency> + <groupId>org.apache.river</groupId> + <artifactId>river-logging</artifactId> + <version>${project.version}</version> + </dependency> + <dependency> + <groupId>org.apache.river</groupId> + <artifactId>river-url-integrity</artifactId> + <version>${project.version}</version> + </dependency> + + <dependency> + <groupId>org.apache.river</groupId> + <artifactId>river-lib</artifactId> + <version>${project.version}</version> + </dependency> + + <dependency> + <groupId>org.apache.river.phoenix-activation</groupId> + <artifactId>phoenix</artifactId> + <version>${project.version}</version> + </dependency> + + </dependencies> + + <build> + <plugins> + <plugin> + <groupId>biz.aQute.bnd</groupId> + <artifactId>bnd-maven-plugin</artifactId> + <executions> + <execution> + <goals> + <goal>bnd-process</goal> + </goals> + </execution> + </executions> + </plugin> + <plugin> + <groupId>org.owasp</groupId> + <artifactId>dependency-check-maven</artifactId> + <executions> + <execution> + <goals> + <goal>check</goal> + </goals> + </execution> + </executions> + </plugin> + </plugins> + + <pluginManagement> + <plugins> + <plugin> + <groupId>org.eclipse.m2e</groupId> + <artifactId>lifecycle-mapping</artifactId> + <version>1.0.0</version> + <configuration> + <lifecycleMappingMetadata> + <pluginExecutions> + <pluginExecution> + <pluginExecutionFilter> + <groupId>biz.aQute.bnd</groupId> + <artifactId>bnd-maven-plugin</artifactId> + <versionRange>[1.0.0,)</versionRange> + <goals> + <goal>bnd-process</goal> + </goals> + </pluginExecutionFilter> + <action> + <ignore /> + </action> + </pluginExecution> + </pluginExecutions> + </lifecycleMappingMetadata> + </configuration> + </plugin> + </plugins> + </pluginManagement> + + </build> </project> Modified: river/jtsk/modules/modularize/apache-river/river-services/fiddler/fiddler-service/src/main/java/org/apache/river/fiddler/FiddlerImpl.java URL: http://svn.apache.org/viewvc/river/jtsk/modules/modularize/apache-river/river-services/fiddler/fiddler-service/src/main/java/org/apache/river/fiddler/FiddlerImpl.java?rev=1879521&r1=1879520&r2=1879521&view=diff ============================================================================== --- river/jtsk/modules/modularize/apache-river/river-services/fiddler/fiddler-service/src/main/java/org/apache/river/fiddler/FiddlerImpl.java (original) +++ river/jtsk/modules/modularize/apache-river/river-services/fiddler/fiddler-service/src/main/java/org/apache/river/fiddler/FiddlerImpl.java Sun Jul 5 11:41:39 2020 @@ -17,6 +17,14 @@ */ package org.apache.river.fiddler; +import org.apache.river.fiddler.proxy.Fiddler; +import org.apache.river.fiddler.proxy.FiddlerAdminProxy; +import org.apache.river.fiddler.proxy.FiddlerLease; +import org.apache.river.fiddler.proxy.FiddlerProxy; +import org.apache.river.fiddler.proxy.FiddlerRegistration; +import org.apache.river.fiddler.proxy.FiddlerRenewResults; +import org.apache.river.fiddler.proxy.ProxyVerifier; + import org.apache.river.config.Config; import org.apache.river.constants.ThrowableConstants; @@ -33,7 +41,7 @@ import org.apache.river.proxy.ThrowThis; import org.apache.river.reliableLog.ReliableLog; import org.apache.river.reliableLog.LogHandler; -import org.apache.river.start.LifeCycle; +import org.apache.river.start.lifecycle.LifeCycle; import org.apache.river.api.util.Startable; import org.apache.river.thread.InterruptedStatusThread; Modified: river/jtsk/modules/modularize/apache-river/river-services/fiddler/fiddler-service/src/main/java/org/apache/river/fiddler/NonActivatableFiddlerImpl.java URL: http://svn.apache.org/viewvc/river/jtsk/modules/modularize/apache-river/river-services/fiddler/fiddler-service/src/main/java/org/apache/river/fiddler/NonActivatableFiddlerImpl.java?rev=1879521&r1=1879520&r2=1879521&view=diff ============================================================================== --- river/jtsk/modules/modularize/apache-river/river-services/fiddler/fiddler-service/src/main/java/org/apache/river/fiddler/NonActivatableFiddlerImpl.java (original) +++ river/jtsk/modules/modularize/apache-river/river-services/fiddler/fiddler-service/src/main/java/org/apache/river/fiddler/NonActivatableFiddlerImpl.java Sun Jul 5 11:41:39 2020 @@ -1,75 +1,75 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.apache.river.fiddler; - -import org.apache.river.start.LifeCycle; - -import net.jini.config.ConfigurationException; - -import javax.security.auth.login.LoginException; - -import java.io.IOException; - -/** - * Convenience class intended for use with the - * {@link org.apache.river.start.ServiceStarter} framework to start - * an implementation of Fiddler that is not activatable, but which - * will log its state information to persistent storage. - * - * @author Sun Microsystems, Inc. - * @since 2.0 - */ -class NonActivatableFiddlerImpl extends FiddlerImpl { - - /** - * Constructs a new instance of <code>FiddlerImpl</code> that is not - * activatable, but which will persist its state. - * - * @param configArgs <code>String</code> array whose elements are - * the arguments to use when creating the server. - * @param lifeCycle instance of <code>LifeCycle</code> that, if - * non-<code>null</code>, will cause this object's - * <code>unregister</code> method to be invoked during - * shutdown to notify the service starter framework that - * the reference to this service's implementation can be - * 'released' for garbage collection. A value of - * <code>null</code> for this argument is allowed. - * - * @throws IOException this exception can occur when there is - * a problem recovering data from disk, or - * while exporting the server that's being - * created. - * @throws ConfigurationException this exception can occur when an - * problem occurs while retrieving an item - * from the <code>Configuration</code> - * generated from the contents of the - * given <code>configArgs</code> parameter - * @throws LoginException this exception occurs when authentication - * fails while performing a JAAS login for - * this service - */ - NonActivatableFiddlerImpl(String[] configArgs, LifeCycle lifeCycle) - throws IOException, - ConfigurationException, - LoginException - { - super(configArgs, lifeCycle, true);//true ==> persistent - }//end constructor - -}//end class NonActivatableFiddlerImpl - +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.river.fiddler; + +import org.apache.river.start.lifecycle.LifeCycle; + +import net.jini.config.ConfigurationException; + +import javax.security.auth.login.LoginException; + +import java.io.IOException; + +/** + * Convenience class intended for use with the + * {@link org.apache.river.start.ServiceStarter} framework to start + * an implementation of Fiddler that is not activatable, but which + * will log its state information to persistent storage. + * + * @author Sun Microsystems, Inc. + * @since 2.0 + */ +class NonActivatableFiddlerImpl extends FiddlerImpl { + + /** + * Constructs a new instance of <code>FiddlerImpl</code> that is not + * activatable, but which will persist its state. + * + * @param configArgs <code>String</code> array whose elements are + * the arguments to use when creating the server. + * @param lifeCycle instance of <code>LifeCycle</code> that, if + * non-<code>null</code>, will cause this object's + * <code>unregister</code> method to be invoked during + * shutdown to notify the service starter framework that + * the reference to this service's implementation can be + * 'released' for garbage collection. A value of + * <code>null</code> for this argument is allowed. + * + * @throws IOException this exception can occur when there is + * a problem recovering data from disk, or + * while exporting the server that's being + * created. + * @throws ConfigurationException this exception can occur when an + * problem occurs while retrieving an item + * from the <code>Configuration</code> + * generated from the contents of the + * given <code>configArgs</code> parameter + * @throws LoginException this exception occurs when authentication + * fails while performing a JAAS login for + * this service + */ + NonActivatableFiddlerImpl(String[] configArgs, LifeCycle lifeCycle) + throws IOException, + ConfigurationException, + LoginException + { + super(configArgs, lifeCycle, true);//true ==> persistent + }//end constructor + +}//end class NonActivatableFiddlerImpl + Modified: river/jtsk/modules/modularize/apache-river/river-services/fiddler/fiddler-service/src/main/java/org/apache/river/fiddler/TransientFiddlerImpl.java URL: http://svn.apache.org/viewvc/river/jtsk/modules/modularize/apache-river/river-services/fiddler/fiddler-service/src/main/java/org/apache/river/fiddler/TransientFiddlerImpl.java?rev=1879521&r1=1879520&r2=1879521&view=diff ============================================================================== --- river/jtsk/modules/modularize/apache-river/river-services/fiddler/fiddler-service/src/main/java/org/apache/river/fiddler/TransientFiddlerImpl.java (original) +++ river/jtsk/modules/modularize/apache-river/river-services/fiddler/fiddler-service/src/main/java/org/apache/river/fiddler/TransientFiddlerImpl.java Sun Jul 5 11:41:39 2020 @@ -1,75 +1,75 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.apache.river.fiddler; - -import org.apache.river.start.LifeCycle; - -import net.jini.config.ConfigurationException; - -import javax.security.auth.login.LoginException; - -import java.io.IOException; - - -/** - * Convenience class intended for use with the - * {@link org.apache.river.start.ServiceStarter} framework to start - * a <i>transient</i> (non-activatable, non-persistent) implementation - * of Fiddler. - * - * @author Sun Microsystems, Inc. - * @since 2.0 - */ -class TransientFiddlerImpl extends FiddlerImpl { - - /** - * Constructs a new instance of <code>FiddlerImpl</code> that is not - * activatable, and which will not persist its state. - * - * @param configArgs <code>String</code> array whose elements are - * the arguments to use when creating the server. - * @param lifeCycle instance of <code>LifeCycle</code> that, if - * non-<code>null</code>, will cause this object's - * <code>unregister</code> method to be invoked during - * shutdown to notify the service starter framework that - * the reference to this service's implementation can be - * 'released' for garbage collection. A value of - * <code>null</code> for this argument is allowed. - * - * @throws IOException this exception can occur when there is - * a problem exporting the server that's - * being created. - * @throws ConfigurationException this exception can occur when an - * problem occurs while retrieving an item - * from the <code>Configuration</code> - * generated from the contents of the - * given <code>configArgs</code> parameter - * @throws LoginException this exception occurs when authentication - * fails while performing a JAAS login for - * this service - */ - TransientFiddlerImpl(String[] configArgs, LifeCycle lifeCycle) - throws IOException, - ConfigurationException, - LoginException - { - super(configArgs, lifeCycle, false);//false ==> not persistent - }//end constructor - -}//end class TransientFiddlerImpl - +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.river.fiddler; + +import org.apache.river.start.lifecycle.LifeCycle; + +import net.jini.config.ConfigurationException; + +import javax.security.auth.login.LoginException; + +import java.io.IOException; + + +/** + * Convenience class intended for use with the + * {@link org.apache.river.start.ServiceStarter} framework to start + * a <i>transient</i> (non-activatable, non-persistent) implementation + * of Fiddler. + * + * @author Sun Microsystems, Inc. + * @since 2.0 + */ +class TransientFiddlerImpl extends FiddlerImpl { + + /** + * Constructs a new instance of <code>FiddlerImpl</code> that is not + * activatable, and which will not persist its state. + * + * @param configArgs <code>String</code> array whose elements are + * the arguments to use when creating the server. + * @param lifeCycle instance of <code>LifeCycle</code> that, if + * non-<code>null</code>, will cause this object's + * <code>unregister</code> method to be invoked during + * shutdown to notify the service starter framework that + * the reference to this service's implementation can be + * 'released' for garbage collection. A value of + * <code>null</code> for this argument is allowed. + * + * @throws IOException this exception can occur when there is + * a problem exporting the server that's + * being created. + * @throws ConfigurationException this exception can occur when an + * problem occurs while retrieving an item + * from the <code>Configuration</code> + * generated from the contents of the + * given <code>configArgs</code> parameter + * @throws LoginException this exception occurs when authentication + * fails while performing a JAAS login for + * this service + */ + TransientFiddlerImpl(String[] configArgs, LifeCycle lifeCycle) + throws IOException, + ConfigurationException, + LoginException + { + super(configArgs, lifeCycle, false);//false ==> not persistent + }//end constructor + +}//end class TransientFiddlerImpl + Modified: river/jtsk/modules/modularize/apache-river/river-services/group/group-dl/pom.xml URL: http://svn.apache.org/viewvc/river/jtsk/modules/modularize/apache-river/river-services/group/group-dl/pom.xml?rev=1879521&r1=1879520&r2=1879521&view=diff ============================================================================== --- river/jtsk/modules/modularize/apache-river/river-services/group/group-dl/pom.xml (original) +++ river/jtsk/modules/modularize/apache-river/river-services/group/group-dl/pom.xml Sun Jul 5 11:41:39 2020 @@ -1,71 +1,98 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- -~ Copyright (C) 2014 the original author or authors. -~ -~ Licensed under the Apache License, Version 2.0 (the "License"); -~ you may not use this file except in compliance with the License. -~ You may obtain a copy of the License at -~ -~ http://www.apache.org/licenses/LICENSE-2.0 -~ -~ Unless required by applicable law or agreed to in writing, software -~ distributed under the License is distributed on an "AS IS" BASIS, -~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -~ See the License for the specific language governing permissions and -~ limitations under the License. ---> -<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> - <modelVersion>4.0.0</modelVersion> - - <parent> - <groupId>org.apache.river</groupId> - <artifactId>group</artifactId> - <version>3.0-SNAPSHOT</version> - </parent> - - <groupId>org.apache.river.group</groupId> - <artifactId>group-dl</artifactId> - <packaging>jar</packaging> - - <name>Module :: Group Service Proxy</name> - - <dependencies> - <dependency> - <groupId>org.apache.river</groupId> - <artifactId>river-start</artifactId> - <version>${project.version}</version> - </dependency> - <dependency> - <groupId>org.apache.river</groupId> - <artifactId>river-phoenix</artifactId> - <version>${project.version}</version> - </dependency> - </dependencies> - - <build> - <plugins> - <plugin> - <groupId>biz.aQute.bnd</groupId> - <artifactId>bnd-maven-plugin</artifactId> - <executions> - <execution> - <goals> - <goal>bnd-process</goal> - </goals> - </execution> - </executions> - </plugin> - <plugin> - <groupId>org.owasp</groupId> - <artifactId>dependency-check-maven</artifactId> - <executions> - <execution> - <goals> - <goal>check</goal> - </goals> - </execution> - </executions> - </plugin> - </plugins> - </build> +<!-- ~ Copyright (C) 2014 the original author or authors. ~ ~ Licensed under + the Apache License, Version 2.0 (the "License"); ~ you may not use this file + except in compliance with the License. ~ You may obtain a copy of the License + at ~ ~ http://www.apache.org/licenses/LICENSE-2.0 ~ ~ Unless required by + applicable law or agreed to in writing, software ~ distributed under the + License is distributed on an "AS IS" BASIS, ~ WITHOUT WARRANTIES OR CONDITIONS + OF ANY KIND, either express or implied. ~ See the License for the specific + language governing permissions and ~ limitations under the License. --> +<project xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + <modelVersion>4.0.0</modelVersion> + + <parent> + <groupId>org.apache.river</groupId> + <artifactId>group</artifactId> + <version>3.0-SNAPSHOT</version> + </parent> + + <groupId>org.apache.river.group</groupId> + <artifactId>group-dl</artifactId> + <packaging>jar</packaging> + + <name>Module :: Group Service Proxy</name> + + <dependencies> + <dependency> + <groupId>org.apache.river</groupId> + <artifactId>river-start</artifactId> + <version>${project.version}</version> + </dependency> + <dependency> + <groupId>org.apache.river.phoenix-activation</groupId> + <artifactId>phoenix</artifactId> + <version>${project.version}</version> + </dependency> + + </dependencies> + + <build> + <plugins> + <plugin> + <groupId>biz.aQute.bnd</groupId> + <artifactId>bnd-maven-plugin</artifactId> + <executions> + <execution> + <goals> + <goal>bnd-process</goal> + </goals> + </execution> + </executions> + </plugin> + <plugin> + <groupId>org.owasp</groupId> + <artifactId>dependency-check-maven</artifactId> + <executions> + <execution> + <goals> + <goal>check</goal> + </goals> + </execution> + </executions> + </plugin> + </plugins> + + <pluginManagement> + <plugins> + <plugin> + <groupId>org.eclipse.m2e</groupId> + <artifactId>lifecycle-mapping</artifactId> + <version>1.0.0</version> + <configuration> + <lifecycleMappingMetadata> + <pluginExecutions> + <pluginExecution> + <pluginExecutionFilter> + <groupId>biz.aQute.bnd</groupId> + <artifactId>bnd-maven-plugin</artifactId> + <versionRange>[1.0.0,)</versionRange> + <goals> + <goal>bnd-process</goal> + </goals> + </pluginExecutionFilter> + <action> + <ignore /> + </action> + </pluginExecution> + </pluginExecutions> + </lifecycleMappingMetadata> + </configuration> + </plugin> + </plugins> + </pluginManagement> + + + </build> </project> Modified: river/jtsk/modules/modularize/apache-river/river-services/group/group-dl/src/main/java/org/apache/river/start/group/proxy/ProxyVerifier.java URL: http://svn.apache.org/viewvc/river/jtsk/modules/modularize/apache-river/river-services/group/group-dl/src/main/java/org/apache/river/start/group/proxy/ProxyVerifier.java?rev=1879521&r1=1879520&r2=1879521&view=diff ============================================================================== --- river/jtsk/modules/modularize/apache-river/river-services/group/group-dl/src/main/java/org/apache/river/start/group/proxy/ProxyVerifier.java (original) +++ river/jtsk/modules/modularize/apache-river/river-services/group/group-dl/src/main/java/org/apache/river/start/group/proxy/ProxyVerifier.java Sun Jul 5 11:41:39 2020 @@ -1,94 +1,94 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.apache.river.start; - -import net.jini.core.constraint.MethodConstraints; -import net.jini.core.constraint.RemoteMethodControl; -import net.jini.security.TrustVerifier; -import net.jini.security.proxytrust.TrustEquivalence; -import java.io.Serializable; -import java.rmi.RemoteException; -import java.util.logging.Level; -import java.util.logging.Logger; - -/** Defines a trust verifier for the smart proxies of a SharedGroup server. */ -final class ProxyVerifier implements TrustVerifier, Serializable { - - private static final long serialVersionUID = 1L; - - /** Logger and configuration component name for SharedGroup */ - private static final String START_PROXY = "org.apache.river.start.proxy"; - - /** Logger for logging information about this instance */ - private static final Logger logger = Logger.getLogger(START_PROXY); - - /** The SharedGroup server proxy. */ - private final RemoteMethodControl serverProxy; - - /** - * Returns a verifier for the smart proxies of the specified SharedGroup - * server proxy. - * - * @param serverProxy the SharedGroup server proxy - * @throws UnsupportedOperationException if <code>serverProxy</code> does - * not implement both {@link RemoteMethodControl} and {@link - * TrustEquivalence} - */ - ProxyVerifier(SharedGroupBackEnd serverProxy) { - if (!(serverProxy instanceof RemoteMethodControl)) { - throw new UnsupportedOperationException( - "No verifier available for non-secure service"); - } else if (!(serverProxy instanceof TrustEquivalence)) { - throw new UnsupportedOperationException( - "Verifier requires service proxy to implement " + - "TrustEquivalence"); - } - this.serverProxy = (RemoteMethodControl) serverProxy; - } - - /** - * @throws NullPointerException {@inheritDoc} - */ - public boolean isTrustedObject( - Object obj, TrustVerifier.Context ctx) - throws RemoteException - { - logger.entering(ProxyVerifier.class.getName(), "isTrustedObject", - new Object[] { obj, ctx }); - if (obj == null || ctx == null) { - throw new NullPointerException("Arguments must not be null"); - } - - RemoteMethodControl otherServerProxy; - if (obj instanceof SharedGroupBackEnd) { - otherServerProxy = (RemoteMethodControl) obj; - } else { - logger.log(Level.FINEST, "Object {0} is not a supported type", - obj); - return false; - } - - MethodConstraints mc = otherServerProxy.getConstraints(); - TrustEquivalence trusted = - (TrustEquivalence) serverProxy.setConstraints(mc); - boolean result = trusted.checkTrustEquivalence(otherServerProxy); - logger.exiting(ProxyVerifier.class.getName(), "isTrustedObject", - Boolean.valueOf(result)); - return result; - } -} +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.river.start.group.proxy; + +import net.jini.core.constraint.MethodConstraints; +import net.jini.core.constraint.RemoteMethodControl; +import net.jini.security.TrustVerifier; +import net.jini.security.proxytrust.TrustEquivalence; +import java.io.Serializable; +import java.rmi.RemoteException; +import java.util.logging.Level; +import java.util.logging.Logger; + +/** Defines a trust verifier for the smart proxies of a SharedGroup server. */ +public final class ProxyVerifier implements TrustVerifier, Serializable { + + private static final long serialVersionUID = 1L; + + /** Logger and configuration component name for SharedGroup */ + private static final String START_PROXY = "org.apache.river.start.proxy"; + + /** Logger for logging information about this instance */ + private static final Logger logger = Logger.getLogger(START_PROXY); + + /** The SharedGroup server proxy. */ + private final RemoteMethodControl serverProxy; + + /** + * Returns a verifier for the smart proxies of the specified SharedGroup + * server proxy. + * + * @param serverProxy the SharedGroup server proxy + * @throws UnsupportedOperationException if <code>serverProxy</code> does + * not implement both {@link RemoteMethodControl} and {@link + * TrustEquivalence} + */ + public ProxyVerifier(SharedGroupBackEnd serverProxy) { + if (!(serverProxy instanceof RemoteMethodControl)) { + throw new UnsupportedOperationException( + "No verifier available for non-secure service"); + } else if (!(serverProxy instanceof TrustEquivalence)) { + throw new UnsupportedOperationException( + "Verifier requires service proxy to implement " + + "TrustEquivalence"); + } + this.serverProxy = (RemoteMethodControl) serverProxy; + } + + /** + * @throws NullPointerException {@inheritDoc} + */ + public boolean isTrustedObject( + Object obj, TrustVerifier.Context ctx) + throws RemoteException + { + logger.entering(ProxyVerifier.class.getName(), "isTrustedObject", + new Object[] { obj, ctx }); + if (obj == null || ctx == null) { + throw new NullPointerException("Arguments must not be null"); + } + + RemoteMethodControl otherServerProxy; + if (obj instanceof SharedGroupBackEnd) { + otherServerProxy = (RemoteMethodControl) obj; + } else { + logger.log(Level.FINEST, "Object {0} is not a supported type", + obj); + return false; + } + + MethodConstraints mc = otherServerProxy.getConstraints(); + TrustEquivalence trusted = + (TrustEquivalence) serverProxy.setConstraints(mc); + boolean result = trusted.checkTrustEquivalence(otherServerProxy); + logger.exiting(ProxyVerifier.class.getName(), "isTrustedObject", + Boolean.valueOf(result)); + return result; + } +} Modified: river/jtsk/modules/modularize/apache-river/river-services/group/group-dl/src/main/java/org/apache/river/start/group/proxy/SharedGroupBackEnd.java URL: http://svn.apache.org/viewvc/river/jtsk/modules/modularize/apache-river/river-services/group/group-dl/src/main/java/org/apache/river/start/group/proxy/SharedGroupBackEnd.java?rev=1879521&r1=1879520&r2=1879521&view=diff ============================================================================== --- river/jtsk/modules/modularize/apache-river/river-services/group/group-dl/src/main/java/org/apache/river/start/group/proxy/SharedGroupBackEnd.java (original) +++ river/jtsk/modules/modularize/apache-river/river-services/group/group-dl/src/main/java/org/apache/river/start/group/proxy/SharedGroupBackEnd.java Sun Jul 5 11:41:39 2020 @@ -1,37 +1,37 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.apache.river.start; - -import java.rmi.Remote; - - -/** - * The <code>SharedGroupBackEnd</code> interface - * - * @author Sun Microsystems, Inc. - * - * @see net.jini.admin.Administrable - * - * @since 1.2 - */ -//@see org.apache.river.start.SharedGroupAdmin -public interface SharedGroupBackEnd extends SharedGroup, Remote -{ - // No additional methods -} +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.river.start.group.proxy; + +import java.rmi.Remote; +import org.apache.river.start.group.SharedGroup; + +/** + * The <code>SharedGroupBackEnd</code> interface + * + * @author Sun Microsystems, Inc. + * + * @see net.jini.admin.Administrable + * + * @since 1.2 + */ +//@see org.apache.river.start.SharedGroupAdmin +public interface SharedGroupBackEnd extends SharedGroup, Remote +{ + // No additional methods +} Modified: river/jtsk/modules/modularize/apache-river/river-services/group/group-service/pom.xml URL: http://svn.apache.org/viewvc/river/jtsk/modules/modularize/apache-river/river-services/group/group-service/pom.xml?rev=1879521&r1=1879520&r2=1879521&view=diff ============================================================================== --- river/jtsk/modules/modularize/apache-river/river-services/group/group-service/pom.xml (original) +++ river/jtsk/modules/modularize/apache-river/river-services/group/group-service/pom.xml Sun Jul 5 11:41:39 2020 @@ -1,76 +1,103 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- -~ Copyright (C) 2014 the original author or authors. -~ -~ Licensed under the Apache License, Version 2.0 (the "License"); -~ you may not use this file except in compliance with the License. -~ You may obtain a copy of the License at -~ -~ http://www.apache.org/licenses/LICENSE-2.0 -~ -~ Unless required by applicable law or agreed to in writing, software -~ distributed under the License is distributed on an "AS IS" BASIS, -~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -~ See the License for the specific language governing permissions and -~ limitations under the License. ---> -<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> - <modelVersion>4.0.0</modelVersion> - - <parent> - <groupId>org.apache.river</groupId> - <artifactId>group</artifactId> - <version>3.0-SNAPSHOT</version> - </parent> - - <groupId>org.apache.river.group</groupId> - <artifactId>group-service</artifactId> - <packaging>jar</packaging> - - <name>Module :: Group Service Implementation</name> - - <dependencies> - <dependency> - <groupId>org.apache.river</groupId> - <artifactId>river-start</artifactId> - <version>${project.version}</version> - </dependency> - <dependency> - <groupId>org.apache.river.group</groupId> - <artifactId>group-dl</artifactId> - <version>${project.version}</version> - </dependency> - <dependency> - <groupId>org.apache.river</groupId> - <artifactId>river-phoenix</artifactId> - <version>${project.version}</version> - </dependency> - </dependencies> - - <build> - <plugins> - <plugin> - <groupId>biz.aQute.bnd</groupId> - <artifactId>bnd-maven-plugin</artifactId> - <executions> - <execution> - <goals> - <goal>bnd-process</goal> - </goals> - </execution> - </executions> - </plugin> - <plugin> - <groupId>org.owasp</groupId> - <artifactId>dependency-check-maven</artifactId> - <executions> - <execution> - <goals> - <goal>check</goal> - </goals> - </execution> - </executions> - </plugin> - </plugins> - </build> +<!-- ~ Copyright (C) 2014 the original author or authors. ~ ~ Licensed under + the Apache License, Version 2.0 (the "License"); ~ you may not use this file + except in compliance with the License. ~ You may obtain a copy of the License + at ~ ~ http://www.apache.org/licenses/LICENSE-2.0 ~ ~ Unless required by + applicable law or agreed to in writing, software ~ distributed under the + License is distributed on an "AS IS" BASIS, ~ WITHOUT WARRANTIES OR CONDITIONS + OF ANY KIND, either express or implied. ~ See the License for the specific + language governing permissions and ~ limitations under the License. --> +<project xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + <modelVersion>4.0.0</modelVersion> + + <parent> + <groupId>org.apache.river</groupId> + <artifactId>group</artifactId> + <version>3.0-SNAPSHOT</version> + </parent> + + <groupId>org.apache.river.group</groupId> + <artifactId>group-service</artifactId> + <packaging>jar</packaging> + + <name>Module :: Group Service Implementation</name> + + <dependencies> + <dependency> + <groupId>org.apache.river</groupId> + <artifactId>river-start</artifactId> + <version>${project.version}</version> + </dependency> + <dependency> + <groupId>org.apache.river.group</groupId> + <artifactId>group-dl</artifactId> + <version>${project.version}</version> + </dependency> + <dependency> + <groupId>org.apache.river.phoenix-activation</groupId> + <artifactId>phoenix</artifactId> + <version>${project.version}</version> + </dependency> + + </dependencies> + + <build> + <plugins> + <plugin> + <groupId>biz.aQute.bnd</groupId> + <artifactId>bnd-maven-plugin</artifactId> + <executions> + <execution> + <goals> + <goal>bnd-process</goal> + </goals> + </execution> + </executions> + </plugin> + <plugin> + <groupId>org.owasp</groupId> + <artifactId>dependency-check-maven</artifactId> + <executions> + <execution> + <goals> + <goal>check</goal> + </goals> + </execution> + </executions> + </plugin> + </plugins> + + <pluginManagement> + <plugins> + <plugin> + <groupId>org.eclipse.m2e</groupId> + <artifactId>lifecycle-mapping</artifactId> + <version>1.0.0</version> + <configuration> + <lifecycleMappingMetadata> + <pluginExecutions> + <pluginExecution> + <pluginExecutionFilter> + <groupId>biz.aQute.bnd</groupId> + <artifactId>bnd-maven-plugin</artifactId> + <versionRange>[1.0.0,)</versionRange> + <goals> + <goal>bnd-process</goal> + </goals> + </pluginExecutionFilter> + <action> + <ignore /> + </action> + </pluginExecution> + </pluginExecutions> + </lifecycleMappingMetadata> + </configuration> + </plugin> + </plugins> + </pluginManagement> + + + </build> </project> Modified: river/jtsk/modules/modularize/apache-river/river-services/group/group-service/src/main/java/org/apache/river/start/group/impl/SharedGroupImpl.java URL: http://svn.apache.org/viewvc/river/jtsk/modules/modularize/apache-river/river-services/group/group-service/src/main/java/org/apache/river/start/group/impl/SharedGroupImpl.java?rev=1879521&r1=1879520&r2=1879521&view=diff ============================================================================== --- river/jtsk/modules/modularize/apache-river/river-services/group/group-service/src/main/java/org/apache/river/start/group/impl/SharedGroupImpl.java (original) +++ river/jtsk/modules/modularize/apache-river/river-services/group/group-service/src/main/java/org/apache/river/start/group/impl/SharedGroupImpl.java Sun Jul 5 11:41:39 2020 @@ -16,8 +16,10 @@ * limitations under the License. */ -package org.apache.river.start; +package org.apache.river.start.group.impl; +import org.apache.river.start.group.proxy.SharedGroupBackEnd; +import org.apache.river.start.group.proxy.ProxyVerifier; import org.apache.river.api.util.Startable; import java.io.IOException; import java.rmi.MarshalledObject; Modified: river/jtsk/modules/modularize/apache-river/river-services/group/group-service/src/main/java/org/apache/river/start/group/impl/SharedGroupImplInit.java URL: http://svn.apache.org/viewvc/river/jtsk/modules/modularize/apache-river/river-services/group/group-service/src/main/java/org/apache/river/start/group/impl/SharedGroupImplInit.java?rev=1879521&r1=1879520&r2=1879521&view=diff ============================================================================== --- river/jtsk/modules/modularize/apache-river/river-services/group/group-service/src/main/java/org/apache/river/start/group/impl/SharedGroupImplInit.java (original) +++ river/jtsk/modules/modularize/apache-river/river-services/group/group-service/src/main/java/org/apache/river/start/group/impl/SharedGroupImplInit.java Sun Jul 5 11:41:39 2020 @@ -16,7 +16,7 @@ * limitations under the License. */ -package org.apache.river.start; +package org.apache.river.start.group.impl; import java.rmi.activation.ActivationGroup; import java.rmi.activation.ActivationID; Modified: river/jtsk/modules/modularize/apache-river/river-services/mahalo/mahalo-dl/src/main/java/org/apache/river/mahalo/proxy/InternalManagerException.java URL: http://svn.apache.org/viewvc/river/jtsk/modules/modularize/apache-river/river-services/mahalo/mahalo-dl/src/main/java/org/apache/river/mahalo/proxy/InternalManagerException.java?rev=1879521&r1=1879520&r2=1879521&view=diff ============================================================================== --- river/jtsk/modules/modularize/apache-river/river-services/mahalo/mahalo-dl/src/main/java/org/apache/river/mahalo/proxy/InternalManagerException.java (original) +++ river/jtsk/modules/modularize/apache-river/river-services/mahalo/mahalo-dl/src/main/java/org/apache/river/mahalo/proxy/InternalManagerException.java Sun Jul 5 11:41:39 2020 @@ -1,37 +1,37 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.apache.river.mahalo; - -/** - * This exception denotes a problem with the transaction manager - * implementation. - * - * @author Sun Microsystems, Inc. - * - */ -class InternalManagerException extends RuntimeException { - static final long serialVersionUID = -8249846562594717389L; - - InternalManagerException() { - super(); - } - - InternalManagerException(String msg) { - super(msg); - } -} +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.river.mahalo.proxy; + +/** + * This exception denotes a problem with the transaction manager + * implementation. + * + * @author Sun Microsystems, Inc. + * + */ +public class InternalManagerException extends RuntimeException { + static final long serialVersionUID = -8249846562594717389L; + + InternalManagerException() { + super(); + } + + public InternalManagerException(String msg) { + super(msg); + } +}
