Author: peter_firmstone Date: Sun Feb 19 02:54:28 2012 New Revision: 1290925
URL: http://svn.apache.org/viewvc?rev=1290925&view=rev Log: Incremental merge Added: river/jtsk/merge/src/org/apache/river/api/ - copied from r1290923, river/jtsk/skunk/peterConcurrentPolicy/src/org/apache/river/api/ river/jtsk/merge/src/org/apache/river/api/delegates/ - copied from r1290923, river/jtsk/skunk/peterConcurrentPolicy/src/org/apache/river/api/delegates/ river/jtsk/merge/src/org/apache/river/api/delegates/DelegateInputStream.java (with props) river/jtsk/merge/src/org/apache/river/api/delegates/DelegateOutputStream.java (with props) river/jtsk/merge/src/org/apache/river/api/delegates/DelegatePermission.java - copied unchanged from r1290923, river/jtsk/skunk/peterConcurrentPolicy/src/org/apache/river/api/delegates/DelegatePermission.java river/jtsk/merge/src/org/apache/river/api/delegates/DelegateSocket.java (with props) river/jtsk/merge/src/org/apache/river/api/delegates/DelegateSocketChannel.java (with props) river/jtsk/merge/src/org/apache/river/api/delegates/DelegateSocketFactory.java (with props) river/jtsk/merge/src/org/apache/river/api/delegates/FileInputStream.java - copied unchanged from r1290923, river/jtsk/skunk/peterConcurrentPolicy/src/org/apache/river/api/delegates/FileInputStream.java river/jtsk/merge/src/org/apache/river/api/delegates/FileOutputStream.java - copied unchanged from r1290923, river/jtsk/skunk/peterConcurrentPolicy/src/org/apache/river/api/delegates/FileOutputStream.java river/jtsk/merge/src/org/apache/river/api/isolate/ - copied from r1290923, river/jtsk/skunk/peterConcurrentPolicy/src/org/apache/river/api/isolate/ river/jtsk/merge/src/org/apache/river/api/lookup/ - copied from r1290923, river/jtsk/skunk/peterConcurrentPolicy/src/org/apache/river/api/lookup/ river/jtsk/merge/src/org/apache/river/api/lookup/DefaultEntries.java - copied unchanged from r1290923, river/jtsk/skunk/peterConcurrentPolicy/src/org/apache/river/api/lookup/DefaultEntries.java river/jtsk/merge/src/org/apache/river/api/lookup/ServiceItemClasspathSub.java - copied unchanged from r1290923, river/jtsk/skunk/peterConcurrentPolicy/src/org/apache/river/api/lookup/ServiceItemClasspathSub.java river/jtsk/merge/src/org/apache/river/api/lookup/ServiceResultStreamFilter.java - copied unchanged from r1290923, river/jtsk/skunk/peterConcurrentPolicy/src/org/apache/river/api/lookup/ServiceResultStreamFilter.java river/jtsk/merge/src/org/apache/river/api/lookup/ServiceResultStreamUnmarshaller.java - copied unchanged from r1290923, river/jtsk/skunk/peterConcurrentPolicy/src/org/apache/river/api/lookup/ServiceResultStreamUnmarshaller.java river/jtsk/merge/src/org/apache/river/api/lookup/StreamServiceRegistrar.java - copied unchanged from r1290923, river/jtsk/skunk/peterConcurrentPolicy/src/org/apache/river/api/lookup/StreamServiceRegistrar.java river/jtsk/merge/src/org/apache/river/api/security/ - copied from r1290923, river/jtsk/skunk/peterConcurrentPolicy/src/org/apache/river/api/security/ river/jtsk/merge/src/org/apache/river/api/security/CachingSecurityManager.java - copied unchanged from r1290923, river/jtsk/skunk/peterConcurrentPolicy/src/org/apache/river/api/security/CachingSecurityManager.java river/jtsk/merge/src/org/apache/river/api/security/CertificateGrant.java - copied unchanged from r1290923, river/jtsk/skunk/peterConcurrentPolicy/src/org/apache/river/api/security/CertificateGrant.java river/jtsk/merge/src/org/apache/river/api/security/ClassLoaderGrant.java - copied unchanged from r1290923, river/jtsk/skunk/peterConcurrentPolicy/src/org/apache/river/api/security/ClassLoaderGrant.java river/jtsk/merge/src/org/apache/river/api/security/CodeSourceGrant.java - copied unchanged from r1290923, river/jtsk/skunk/peterConcurrentPolicy/src/org/apache/river/api/security/CodeSourceGrant.java river/jtsk/merge/src/org/apache/river/api/security/CodeSourceSetGrant.java - copied unchanged from r1290923, river/jtsk/skunk/peterConcurrentPolicy/src/org/apache/river/api/security/CodeSourceSetGrant.java river/jtsk/merge/src/org/apache/river/api/security/ConcurrentPermissions.java - copied unchanged from r1290923, river/jtsk/skunk/peterConcurrentPolicy/src/org/apache/river/api/security/ConcurrentPermissions.java river/jtsk/merge/src/org/apache/river/api/security/ConcurrentPolicy.java - copied unchanged from r1290923, river/jtsk/skunk/peterConcurrentPolicy/src/org/apache/river/api/security/ConcurrentPolicy.java river/jtsk/merge/src/org/apache/river/api/security/ConcurrentPolicyFile.java - copied unchanged from r1290923, river/jtsk/skunk/peterConcurrentPolicy/src/org/apache/river/api/security/ConcurrentPolicyFile.java river/jtsk/merge/src/org/apache/river/api/security/DefaultPolicyParser.java - copied unchanged from r1290923, river/jtsk/skunk/peterConcurrentPolicy/src/org/apache/river/api/security/DefaultPolicyParser.java river/jtsk/merge/src/org/apache/river/api/security/DefaultPolicyScanner.java - copied unchanged from r1290923, river/jtsk/skunk/peterConcurrentPolicy/src/org/apache/river/api/security/DefaultPolicyScanner.java river/jtsk/merge/src/org/apache/river/api/security/DelegateCombinerSecurityManager.java - copied unchanged from r1290923, river/jtsk/skunk/peterConcurrentPolicy/src/org/apache/river/api/security/DelegateCombinerSecurityManager.java river/jtsk/merge/src/org/apache/river/api/security/Messages.java - copied unchanged from r1290923, river/jtsk/skunk/peterConcurrentPolicy/src/org/apache/river/api/security/Messages.java river/jtsk/merge/src/org/apache/river/api/security/PermissionComparator.java - copied unchanged from r1290923, river/jtsk/skunk/peterConcurrentPolicy/src/org/apache/river/api/security/PermissionComparator.java river/jtsk/merge/src/org/apache/river/api/security/PermissionGrant.java - copied unchanged from r1290923, river/jtsk/skunk/peterConcurrentPolicy/src/org/apache/river/api/security/PermissionGrant.java river/jtsk/merge/src/org/apache/river/api/security/PermissionGrantBuilder.java - copied unchanged from r1290923, river/jtsk/skunk/peterConcurrentPolicy/src/org/apache/river/api/security/PermissionGrantBuilder.java river/jtsk/merge/src/org/apache/river/api/security/PermissionGrantBuilderImp.java - copied unchanged from r1290923, river/jtsk/skunk/peterConcurrentPolicy/src/org/apache/river/api/security/PermissionGrantBuilderImp.java river/jtsk/merge/src/org/apache/river/api/security/PolicyParser.java - copied unchanged from r1290923, river/jtsk/skunk/peterConcurrentPolicy/src/org/apache/river/api/security/PolicyParser.java river/jtsk/merge/src/org/apache/river/api/security/PolicyPermission.java - copied unchanged from r1290923, river/jtsk/skunk/peterConcurrentPolicy/src/org/apache/river/api/security/PolicyPermission.java river/jtsk/merge/src/org/apache/river/api/security/PolicyUtils.java - copied unchanged from r1290923, river/jtsk/skunk/peterConcurrentPolicy/src/org/apache/river/api/security/PolicyUtils.java river/jtsk/merge/src/org/apache/river/api/security/PrincipalGrant.java - copied unchanged from r1290923, river/jtsk/skunk/peterConcurrentPolicy/src/org/apache/river/api/security/PrincipalGrant.java river/jtsk/merge/src/org/apache/river/api/security/ProtectionDomainGrant.java - copied unchanged from r1290923, river/jtsk/skunk/peterConcurrentPolicy/src/org/apache/river/api/security/ProtectionDomainGrant.java river/jtsk/merge/src/org/apache/river/api/security/RemotePolicy.java - copied unchanged from r1290923, river/jtsk/skunk/peterConcurrentPolicy/src/org/apache/river/api/security/RemotePolicy.java river/jtsk/merge/src/org/apache/river/api/security/RevocablePolicy.java - copied unchanged from r1290923, river/jtsk/skunk/peterConcurrentPolicy/src/org/apache/river/api/security/RevocablePolicy.java river/jtsk/merge/src/org/apache/river/api/security/Segment.java - copied unchanged from r1290923, river/jtsk/skunk/peterConcurrentPolicy/src/org/apache/river/api/security/Segment.java river/jtsk/merge/src/org/apache/river/api/security/URIGrant.java - copied unchanged from r1290923, river/jtsk/skunk/peterConcurrentPolicy/src/org/apache/river/api/security/URIGrant.java river/jtsk/merge/src/org/apache/river/api/security/UnresolvedPrincipal.java - copied unchanged from r1290923, river/jtsk/skunk/peterConcurrentPolicy/src/org/apache/river/api/security/UnresolvedPrincipal.java river/jtsk/merge/src/org/apache/river/api/security/Util.java - copied unchanged from r1290923, river/jtsk/skunk/peterConcurrentPolicy/src/org/apache/river/api/security/Util.java river/jtsk/merge/src/org/apache/river/api/security/messages.properties - copied unchanged from r1290923, river/jtsk/skunk/peterConcurrentPolicy/src/org/apache/river/api/security/messages.properties river/jtsk/merge/src/org/apache/river/api/security/package.html - copied unchanged from r1290923, river/jtsk/skunk/peterConcurrentPolicy/src/org/apache/river/api/security/package.html river/jtsk/merge/src/org/apache/river/api/util/ - copied from r1290923, river/jtsk/skunk/peterConcurrentPolicy/src/org/apache/river/api/util/ river/jtsk/merge/src/org/apache/river/api/util/Facade.java - copied unchanged from r1290923, river/jtsk/skunk/peterConcurrentPolicy/src/org/apache/river/api/util/Facade.java river/jtsk/merge/src/org/apache/river/api/util/ResultStream.java - copied unchanged from r1290923, river/jtsk/skunk/peterConcurrentPolicy/src/org/apache/river/api/util/ResultStream.java river/jtsk/merge/src/org/apache/river/impl/security/ - copied from r1290923, river/jtsk/skunk/peterConcurrentPolicy/src/org/apache/river/impl/security/ river/jtsk/merge/src/org/apache/river/impl/security/LocalPermissions.java (props changed) - copied unchanged from r1290923, river/jtsk/skunk/peterConcurrentPolicy/src/org/apache/river/impl/security/LocalPermissions.java river/jtsk/merge/src/org/apache/river/impl/security/PermissionInfo.java - copied unchanged from r1290923, river/jtsk/skunk/peterConcurrentPolicy/src/org/apache/river/impl/security/PermissionInfo.java river/jtsk/merge/src/org/apache/river/impl/security/dos/ - copied from r1290923, river/jtsk/skunk/peterConcurrentPolicy/src/org/apache/river/impl/security/dos/ river/jtsk/merge/src/org/apache/river/impl/security/dos/DiscoveryV2ReadUncastResponseTask.java - copied unchanged from r1290923, river/jtsk/skunk/peterConcurrentPolicy/src/org/apache/river/impl/security/dos/DiscoveryV2ReadUncastResponseTask.java river/jtsk/merge/src/org/apache/river/impl/security/dos/IsolatedExecutor.java - copied unchanged from r1290923, river/jtsk/skunk/peterConcurrentPolicy/src/org/apache/river/impl/security/dos/IsolatedExecutor.java river/jtsk/merge/src/org/apache/river/impl/security/dos/IsolationException.java - copied unchanged from r1290923, river/jtsk/skunk/peterConcurrentPolicy/src/org/apache/river/impl/security/dos/IsolationException.java river/jtsk/merge/src/org/apache/river/impl/security/dos/ProxyIsolationHandler.java - copied unchanged from r1290923, river/jtsk/skunk/peterConcurrentPolicy/src/org/apache/river/impl/security/dos/ProxyIsolationHandler.java river/jtsk/merge/src/org/apache/river/impl/security/dos/RemoteExecutor.java - copied unchanged from r1290923, river/jtsk/skunk/peterConcurrentPolicy/src/org/apache/river/impl/security/dos/RemoteExecutor.java river/jtsk/merge/src/org/apache/river/impl/security/policy/ - copied from r1290923, river/jtsk/skunk/peterConcurrentPolicy/src/org/apache/river/impl/security/policy/ river/jtsk/merge/src/org/apache/river/impl/security/policy/util/ - copied from r1290923, river/jtsk/skunk/peterConcurrentPolicy/src/org/apache/river/impl/security/policy/util/ river/jtsk/merge/src/org/apache/river/impl/util/ - copied from r1290923, river/jtsk/skunk/peterConcurrentPolicy/src/org/apache/river/impl/util/ river/jtsk/merge/src/org/apache/river/impl/util/AbstractReferenceComparator.java - copied unchanged from r1290923, river/jtsk/skunk/peterConcurrentPolicy/src/org/apache/river/impl/util/AbstractReferenceComparator.java river/jtsk/merge/src/org/apache/river/impl/util/AbstractReferrerWrapper.java - copied unchanged from r1290923, river/jtsk/skunk/peterConcurrentPolicy/src/org/apache/river/impl/util/AbstractReferrerWrapper.java river/jtsk/merge/src/org/apache/river/impl/util/CollectionWrapper.java - copied unchanged from r1290923, river/jtsk/skunk/peterConcurrentPolicy/src/org/apache/river/impl/util/CollectionWrapper.java river/jtsk/merge/src/org/apache/river/impl/util/CollectionsConcurrent.java - copied unchanged from r1290923, river/jtsk/skunk/peterConcurrentPolicy/src/org/apache/river/impl/util/CollectionsConcurrent.java river/jtsk/merge/src/org/apache/river/impl/util/ComparableReferrerWrapper.java - copied unchanged from r1290923, river/jtsk/skunk/peterConcurrentPolicy/src/org/apache/river/impl/util/ComparableReferrerWrapper.java river/jtsk/merge/src/org/apache/river/impl/util/EntryConversionFactory.java - copied unchanged from r1290923, river/jtsk/skunk/peterConcurrentPolicy/src/org/apache/river/impl/util/EntryConversionFactory.java river/jtsk/merge/src/org/apache/river/impl/util/EntryFacadeConverter.java - copied unchanged from r1290923, river/jtsk/skunk/peterConcurrentPolicy/src/org/apache/river/impl/util/EntryFacadeConverter.java river/jtsk/merge/src/org/apache/river/impl/util/EntryIteratorFacade.java - copied unchanged from r1290923, river/jtsk/skunk/peterConcurrentPolicy/src/org/apache/river/impl/util/EntryIteratorFacade.java river/jtsk/merge/src/org/apache/river/impl/util/EntrySetFacade.java - copied unchanged from r1290923, river/jtsk/skunk/peterConcurrentPolicy/src/org/apache/river/impl/util/EntrySetFacade.java river/jtsk/merge/src/org/apache/river/impl/util/Factory.java - copied unchanged from r1290923, river/jtsk/skunk/peterConcurrentPolicy/src/org/apache/river/impl/util/Factory.java river/jtsk/merge/src/org/apache/river/impl/util/NullIterator.java - copied unchanged from r1290923, river/jtsk/skunk/peterConcurrentPolicy/src/org/apache/river/impl/util/NullIterator.java river/jtsk/merge/src/org/apache/river/impl/util/RC.java - copied unchanged from r1290923, river/jtsk/skunk/peterConcurrentPolicy/src/org/apache/river/impl/util/RC.java river/jtsk/merge/src/org/apache/river/impl/util/ReadResolveFixCollectionCircularReferences.java - copied unchanged from r1290923, river/jtsk/skunk/peterConcurrentPolicy/src/org/apache/river/impl/util/ReadResolveFixCollectionCircularReferences.java river/jtsk/merge/src/org/apache/river/impl/util/ReadResolveFixForMapCircularReferences.java - copied unchanged from r1290923, river/jtsk/skunk/peterConcurrentPolicy/src/org/apache/river/impl/util/ReadResolveFixForMapCircularReferences.java river/jtsk/merge/src/org/apache/river/impl/util/Ref.java - copied unchanged from r1290923, river/jtsk/skunk/peterConcurrentPolicy/src/org/apache/river/impl/util/Ref.java river/jtsk/merge/src/org/apache/river/impl/util/ReferenceBlockingDeque.java - copied unchanged from r1290923, river/jtsk/skunk/peterConcurrentPolicy/src/org/apache/river/impl/util/ReferenceBlockingDeque.java river/jtsk/merge/src/org/apache/river/impl/util/ReferenceBlockingQueue.java - copied unchanged from r1290923, river/jtsk/skunk/peterConcurrentPolicy/src/org/apache/river/impl/util/ReferenceBlockingQueue.java river/jtsk/merge/src/org/apache/river/impl/util/ReferenceCollection.java - copied unchanged from r1290923, river/jtsk/skunk/peterConcurrentPolicy/src/org/apache/river/impl/util/ReferenceCollection.java river/jtsk/merge/src/org/apache/river/impl/util/ReferenceCollectionRefreshAfterSerialization.java - copied unchanged from r1290923, river/jtsk/skunk/peterConcurrentPolicy/src/org/apache/river/impl/util/ReferenceCollectionRefreshAfterSerialization.java river/jtsk/merge/src/org/apache/river/impl/util/ReferenceCollectionSerialData.java - copied unchanged from r1290923, river/jtsk/skunk/peterConcurrentPolicy/src/org/apache/river/impl/util/ReferenceCollectionSerialData.java river/jtsk/merge/src/org/apache/river/impl/util/ReferenceCollectionSerialDataDefensiveCopy.java - copied unchanged from r1290923, river/jtsk/skunk/peterConcurrentPolicy/src/org/apache/river/impl/util/ReferenceCollectionSerialDataDefensiveCopy.java river/jtsk/merge/src/org/apache/river/impl/util/ReferenceComparator.java - copied unchanged from r1290923, river/jtsk/skunk/peterConcurrentPolicy/src/org/apache/river/impl/util/ReferenceComparator.java river/jtsk/merge/src/org/apache/river/impl/util/ReferenceConcurrentMap.java - copied unchanged from r1290923, river/jtsk/skunk/peterConcurrentPolicy/src/org/apache/river/impl/util/ReferenceConcurrentMap.java river/jtsk/merge/src/org/apache/river/impl/util/ReferenceConcurrentNavigableMap.java - copied unchanged from r1290923, river/jtsk/skunk/peterConcurrentPolicy/src/org/apache/river/impl/util/ReferenceConcurrentNavigableMap.java river/jtsk/merge/src/org/apache/river/impl/util/ReferenceDeque.java - copied unchanged from r1290923, river/jtsk/skunk/peterConcurrentPolicy/src/org/apache/river/impl/util/ReferenceDeque.java river/jtsk/merge/src/org/apache/river/impl/util/ReferenceEntryFacade.java - copied unchanged from r1290923, river/jtsk/skunk/peterConcurrentPolicy/src/org/apache/river/impl/util/ReferenceEntryFacade.java river/jtsk/merge/src/org/apache/river/impl/util/ReferenceFactory.java - copied unchanged from r1290923, river/jtsk/skunk/peterConcurrentPolicy/src/org/apache/river/impl/util/ReferenceFactory.java river/jtsk/merge/src/org/apache/river/impl/util/ReferenceIterator.java - copied unchanged from r1290923, river/jtsk/skunk/peterConcurrentPolicy/src/org/apache/river/impl/util/ReferenceIterator.java river/jtsk/merge/src/org/apache/river/impl/util/ReferenceList.java - copied unchanged from r1290923, river/jtsk/skunk/peterConcurrentPolicy/src/org/apache/river/impl/util/ReferenceList.java river/jtsk/merge/src/org/apache/river/impl/util/ReferenceMap.java - copied unchanged from r1290923, river/jtsk/skunk/peterConcurrentPolicy/src/org/apache/river/impl/util/ReferenceMap.java river/jtsk/merge/src/org/apache/river/impl/util/ReferenceMapSerialData.java - copied unchanged from r1290923, river/jtsk/skunk/peterConcurrentPolicy/src/org/apache/river/impl/util/ReferenceMapSerialData.java river/jtsk/merge/src/org/apache/river/impl/util/ReferenceNavigableMap.java - copied unchanged from r1290923, river/jtsk/skunk/peterConcurrentPolicy/src/org/apache/river/impl/util/ReferenceNavigableMap.java river/jtsk/merge/src/org/apache/river/impl/util/ReferenceNavigableSet.java - copied unchanged from r1290923, river/jtsk/skunk/peterConcurrentPolicy/src/org/apache/river/impl/util/ReferenceNavigableSet.java river/jtsk/merge/src/org/apache/river/impl/util/ReferenceProcessor.java - copied unchanged from r1290923, river/jtsk/skunk/peterConcurrentPolicy/src/org/apache/river/impl/util/ReferenceProcessor.java river/jtsk/merge/src/org/apache/river/impl/util/ReferenceQueuingFactory.java - copied unchanged from r1290923, river/jtsk/skunk/peterConcurrentPolicy/src/org/apache/river/impl/util/ReferenceQueuingFactory.java river/jtsk/merge/src/org/apache/river/impl/util/ReferenceSerializationFactory.java - copied unchanged from r1290923, river/jtsk/skunk/peterConcurrentPolicy/src/org/apache/river/impl/util/ReferenceSerializationFactory.java river/jtsk/merge/src/org/apache/river/impl/util/ReferenceSerializedForm.java - copied unchanged from r1290923, river/jtsk/skunk/peterConcurrentPolicy/src/org/apache/river/impl/util/ReferenceSerializedForm.java river/jtsk/merge/src/org/apache/river/impl/util/ReferenceSet.java - copied unchanged from r1290923, river/jtsk/skunk/peterConcurrentPolicy/src/org/apache/river/impl/util/ReferenceSet.java river/jtsk/merge/src/org/apache/river/impl/util/ReferenceSortedMap.java - copied unchanged from r1290923, river/jtsk/skunk/peterConcurrentPolicy/src/org/apache/river/impl/util/ReferenceSortedMap.java river/jtsk/merge/src/org/apache/river/impl/util/ReferenceSortedSet.java - copied unchanged from r1290923, river/jtsk/skunk/peterConcurrentPolicy/src/org/apache/river/impl/util/ReferenceSortedSet.java river/jtsk/merge/src/org/apache/river/impl/util/ReferencedQueue.java - copied unchanged from r1290923, river/jtsk/skunk/peterConcurrentPolicy/src/org/apache/river/impl/util/ReferencedQueue.java river/jtsk/merge/src/org/apache/river/impl/util/Referrer.java - copied unchanged from r1290923, river/jtsk/skunk/peterConcurrentPolicy/src/org/apache/river/impl/util/Referrer.java river/jtsk/merge/src/org/apache/river/impl/util/ReferrerWrapper.java - copied unchanged from r1290923, river/jtsk/skunk/peterConcurrentPolicy/src/org/apache/river/impl/util/ReferrerWrapper.java river/jtsk/merge/src/org/apache/river/impl/util/SerializationOfReferenceCollection.java - copied unchanged from r1290923, river/jtsk/skunk/peterConcurrentPolicy/src/org/apache/river/impl/util/SerializationOfReferenceCollection.java river/jtsk/merge/src/org/apache/river/impl/util/SerializationOfReferenceMap.java - copied unchanged from r1290923, river/jtsk/skunk/peterConcurrentPolicy/src/org/apache/river/impl/util/SerializationOfReferenceMap.java river/jtsk/merge/src/org/apache/river/impl/util/SoftIdentityReferenceKey.java - copied unchanged from r1290923, river/jtsk/skunk/peterConcurrentPolicy/src/org/apache/river/impl/util/SoftIdentityReferenceKey.java river/jtsk/merge/src/org/apache/river/impl/util/SoftReferenceKey.java - copied unchanged from r1290923, river/jtsk/skunk/peterConcurrentPolicy/src/org/apache/river/impl/util/SoftReferenceKey.java river/jtsk/merge/src/org/apache/river/impl/util/StrongReferenceKey.java - copied unchanged from r1290923, river/jtsk/skunk/peterConcurrentPolicy/src/org/apache/river/impl/util/StrongReferenceKey.java river/jtsk/merge/src/org/apache/river/impl/util/TempComparableReferrer.java - copied unchanged from r1290923, river/jtsk/skunk/peterConcurrentPolicy/src/org/apache/river/impl/util/TempComparableReferrer.java river/jtsk/merge/src/org/apache/river/impl/util/TempEqualReferrer.java - copied unchanged from r1290923, river/jtsk/skunk/peterConcurrentPolicy/src/org/apache/river/impl/util/TempEqualReferrer.java river/jtsk/merge/src/org/apache/river/impl/util/TempIdentityReferrer.java - copied unchanged from r1290923, river/jtsk/skunk/peterConcurrentPolicy/src/org/apache/river/impl/util/TempIdentityReferrer.java river/jtsk/merge/src/org/apache/river/impl/util/WeakIdentityReferenceKey.java - copied unchanged from r1290923, river/jtsk/skunk/peterConcurrentPolicy/src/org/apache/river/impl/util/WeakIdentityReferenceKey.java river/jtsk/merge/src/org/apache/river/impl/util/WeakReferenceKey.java - copied unchanged from r1290923, river/jtsk/skunk/peterConcurrentPolicy/src/org/apache/river/impl/util/WeakReferenceKey.java Added: river/jtsk/merge/src/org/apache/river/api/delegates/DelegateInputStream.java URL: http://svn.apache.org/viewvc/river/jtsk/merge/src/org/apache/river/api/delegates/DelegateInputStream.java?rev=1290925&view=auto ============================================================================== --- river/jtsk/merge/src/org/apache/river/api/delegates/DelegateInputStream.java (added) +++ river/jtsk/merge/src/org/apache/river/api/delegates/DelegateInputStream.java Sun Feb 19 02:54:28 2012 @@ -0,0 +1,83 @@ +/* + * 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.api.delegates; + +import java.io.IOException; +import java.io.InputStream; +import java.security.Guard; + +/** + * + * @author peter + */ +class DelegateInputStream extends InputStream { + + private final Guard g; + private final InputStream i; + + DelegateInputStream(InputStream in, Guard g){ + this.g = g; + i = in; + } + + @Override + public int read() throws IOException { + g.checkGuard(this); + return i.read(); + } + + public int read(byte b[], int off, int len) throws IOException { + g.checkGuard(this); + return i.read(b, off, len); + } + + public long skip(long n) throws IOException { + g.checkGuard(this); + return i.skip(n); + } + + + public int available() throws IOException { + g.checkGuard(this); + return i.available(); + } + + + public void close() throws IOException { + g.checkGuard(this); + i.close(); + } + + public void mark(int readlimit) { + g.checkGuard(this); + i.mark(readlimit); + } + + + public void reset() throws IOException { + g.checkGuard(this); + i.reset(); + } + + + public boolean markSupported() { + g.checkGuard(this); + return i.markSupported(); + } +} Propchange: river/jtsk/merge/src/org/apache/river/api/delegates/DelegateInputStream.java ------------------------------------------------------------------------------ svn:eol-style = native Added: river/jtsk/merge/src/org/apache/river/api/delegates/DelegateOutputStream.java URL: http://svn.apache.org/viewvc/river/jtsk/merge/src/org/apache/river/api/delegates/DelegateOutputStream.java?rev=1290925&view=auto ============================================================================== --- river/jtsk/merge/src/org/apache/river/api/delegates/DelegateOutputStream.java (added) +++ river/jtsk/merge/src/org/apache/river/api/delegates/DelegateOutputStream.java Sun Feb 19 02:54:28 2012 @@ -0,0 +1,59 @@ +/* + * 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.api.delegates; + +import java.io.IOException; +import java.io.OutputStream; +import java.security.Guard; + +/** + * + * @author peter + */ +class DelegateOutputStream extends OutputStream { + + private final Guard g; + private final OutputStream o; + + DelegateOutputStream(OutputStream out, Guard guard){ + g = guard; + o = out; + } + + @Override + public void write(int b) throws IOException { + g.checkGuard(this); + o.write(b); + } + public void write(byte b[], int off, int len) throws IOException { + g.checkGuard(this); + o.write(b, off, len); + } + + public void flush() throws IOException { + g.checkGuard(this); + o.flush(); + } + + public void close() throws IOException { + g.checkGuard(this); + o.close(); + } + +} Propchange: river/jtsk/merge/src/org/apache/river/api/delegates/DelegateOutputStream.java ------------------------------------------------------------------------------ svn:eol-style = native Added: river/jtsk/merge/src/org/apache/river/api/delegates/DelegateSocket.java URL: http://svn.apache.org/viewvc/river/jtsk/merge/src/org/apache/river/api/delegates/DelegateSocket.java?rev=1290925&view=auto ============================================================================== --- river/jtsk/merge/src/org/apache/river/api/delegates/DelegateSocket.java (added) +++ river/jtsk/merge/src/org/apache/river/api/delegates/DelegateSocket.java Sun Feb 19 02:54:28 2012 @@ -0,0 +1,260 @@ +/* + * 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.api.delegates; + +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.net.InetAddress; +import java.net.Socket; +import java.net.SocketAddress; +import java.net.SocketException; +import java.net.SocketPermission; +import java.nio.channels.SocketChannel; +import java.security.AccessController; +import java.security.Guard; +import java.security.PrivilegedActionException; +import java.security.PrivilegedExceptionAction; + +/** + * + * @author peter + */ +class DelegateSocket extends Socket{ + + private final static String connect = "CONNECT"; + + private volatile Guard g; // Only ever write while holding lock on s. + private final Socket s; // Synchronize on s, not "this", since caller could obtain it for dos. + + DelegateSocket(Socket socket, Guard guard){ + g = guard; + s = socket; + } + + // Only overridded in case superclass reimplemented. + public void connect(SocketAddress endpoint) throws IOException { + s.connect(endpoint, 0); + } + + public void connect(final SocketAddress endpoint, final int timeout) throws IOException { + g.checkGuard(this); + Guard ng = DelegatePermission.get(new SocketPermission(endpoint.toString(), connect)); + ng.checkGuard(this); // Make sure this will succeed. + // caller probably does not have SocketPermission. + try { + AccessController.doPrivileged( new PrivilegedExceptionAction(){ + public Object run() throws IOException{ + s.connect(endpoint, timeout); + return null; + } + }); + synchronized (s) { + g = ng; + } + } catch (PrivilegedActionException ex) { + Exception e = ex.getException(); + if ( e instanceof IOException) throw (IOException)e; + throw new IOException("ConnectionFailed: " + endpoint.toString(), e); + } + } + + public void bind(SocketAddress bindpoint) throws IOException { + if (isClosed()) throw new SocketException("Socket is closed"); + if (isBound())throw new SocketException("Already bound"); + s.bind(bindpoint); + } + + public InetAddress getInetAddress() { + return s.getInetAddress(); + } + + public InetAddress getLocalAddress() { + return s.getLocalAddress(); + } + + public int getPort() { + return s.getPort(); + } + + public int getLocalPort() { + return s.getLocalPort(); + } + + public SocketAddress getRemoteSocketAddress() { + return s.getRemoteSocketAddress(); + } + + public SocketAddress getLocalSocketAddress() { + return s.getLocalSocketAddress(); + } + + public SocketChannel getChannel() { + SocketChannel ch = s.getChannel(); + return new DelegateSocketChannel(ch, g); + } + + + public InputStream getInputStream() throws IOException { + InputStream in = s.getInputStream(); + return new DelegateInputStream(in, g); // Not atomic can it be attacked? + } + + public OutputStream getOutputStream() throws IOException { + OutputStream out = s.getOutputStream(); + return new DelegateOutputStream(out, g); + } + + public void setTcpNoDelay(boolean on) throws SocketException { + g.checkGuard(this); + s.getTcpNoDelay(); + } + + public boolean getTcpNoDelay() throws SocketException { + return s.getTcpNoDelay(); + } + + public void setSoLinger(boolean on, int linger) throws SocketException { + g.checkGuard(this); + s.setSoLinger(on, linger); + } + + public int getSoLinger() throws SocketException { + return s.getSoLinger(); + } + + public void sendUrgentData (int data) throws IOException { + g.checkGuard(this); + s.sendUrgentData(data); + } + + public void setOOBInline(boolean on) throws SocketException { + g.checkGuard(this); + s.setOOBInline(on); + } + + public boolean getOOBInline() throws SocketException { + return s.getOOBInline(); + } + + public void setSoTimeout(int timeout) throws SocketException { + g.checkGuard(this); + s.setSoTimeout(timeout); + } + + public int getSoTimeout() throws SocketException { + return s.getSoTimeout(); + } + + public void setSendBufferSize(int size) throws SocketException{ + g.checkGuard(this); + s.setSendBufferSize(size); + } + + public int getSendBufferSize() throws SocketException { + return s.getSendBufferSize(); + } + + public void setReceiveBufferSize(int size) throws SocketException { + g.checkGuard(this); + s.setReceiveBufferSize(size); + } + + public int getReceiveBufferSize() throws SocketException { + return s.getReceiveBufferSize(); + } + + public void setKeepAlive(boolean on) throws SocketException { + g.checkGuard(this); + s.setKeepAlive(on); + } + + public boolean getKeepAlive() throws SocketException { + return s.getKeepAlive(); + } + + public void setTrafficClass(int tc) throws SocketException { + g.checkGuard(this); + s.setTrafficClass(tc); + } + + public int getTrafficClass() throws SocketException { + return s.getTrafficClass(); + } + + public void setReuseAddress(boolean on) throws SocketException { + g.checkGuard(this); + s.setReuseAddress(on); + } + + public boolean getReuseAddress() throws SocketException { + return s.getReuseAddress(); + } + + + public void close() throws IOException { + g.checkGuard(this); + s.close(); + } + + public void shutdownInput() throws IOException + { + g.checkGuard(this); + s.shutdownInput(); + } + + public void shutdownOutput() throws IOException + { + g.checkGuard(this); + s.shutdownOutput(); + } + + public String toString() { + return s.toString(); + } + + public boolean isConnected() { + return s.isConnected(); + } + + public boolean isBound() { + return s.isBound(); + } + + public boolean isClosed() { + return s.isClosed(); + } + + public boolean isInputShutdown() { + return s.isInputShutdown(); + } + + public boolean isOutputShutdown() { + return s.isOutputShutdown(); + } + + public void setPerformancePreferences(int connectionTime, + int latency, + int bandwidth) + { + g.checkGuard(this); + s.setPerformancePreferences(connectionTime, latency, bandwidth); + } + +} Propchange: river/jtsk/merge/src/org/apache/river/api/delegates/DelegateSocket.java ------------------------------------------------------------------------------ svn:eol-style = native Added: river/jtsk/merge/src/org/apache/river/api/delegates/DelegateSocketChannel.java URL: http://svn.apache.org/viewvc/river/jtsk/merge/src/org/apache/river/api/delegates/DelegateSocketChannel.java?rev=1290925&view=auto ============================================================================== --- river/jtsk/merge/src/org/apache/river/api/delegates/DelegateSocketChannel.java (added) +++ river/jtsk/merge/src/org/apache/river/api/delegates/DelegateSocketChannel.java Sun Feb 19 02:54:28 2012 @@ -0,0 +1,178 @@ +/* + * 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.api.delegates; + +import java.io.IOException; +import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Method; +import java.net.Socket; +import java.net.SocketAddress; +import java.net.SocketPermission; +import java.nio.ByteBuffer; +import java.nio.channels.SocketChannel; +import java.nio.channels.spi.SelectorProvider; +import java.security.AccessController; +import java.security.Guard; +import java.security.PrivilegedActionException; +import java.security.PrivilegedExceptionAction; + +/** + * + * @author peter + */ +class DelegateSocketChannel extends SocketChannel { + + private volatile Guard g; + private final SocketChannel c; + + DelegateSocketChannel(SocketChannel sc, Guard guard){ + super(SelectorProvider.provider()); + c = sc; + g = guard; + } + + @Override + public Socket socket() { + return new DelegateSocket(c.socket(), g); + } + + @Override + public boolean isConnected() { + return c.isConnected(); + } + + @Override + public boolean isConnectionPending() { + return c.isConnectionPending(); + } + + @Override + public boolean connect(final SocketAddress remote) throws IOException { + // Access is not allowed to a new connection if the caller is not + // allowed to connect to existing. + g.checkGuard(this); + Guard ng = DelegatePermission.get(new SocketPermission(remote.toString(), "CONNECT")); + ng.checkGuard(this); // Make sure this will succeed. + // caller probably does not have SocketPermission. + Boolean result = Boolean.FALSE; + try { + result = AccessController.doPrivileged( + new PrivilegedExceptionAction<Boolean>(){ + public Boolean run() throws IOException{ + return c.connect(remote); + } + } + ); + synchronized (c) { + g = ng; + } + } catch (PrivilegedActionException ex) { + Exception e = ex.getException(); + if ( e instanceof IOException) throw (IOException)e; + throw new IOException("ConnectionFailed: " + remote.toString(), e); + } + return result.booleanValue(); + } + + @Override + public boolean finishConnect() throws IOException { + return c.finishConnect(); + } + + @Override + public int read(ByteBuffer dst) throws IOException { + g.checkGuard(this); + return c.read(dst); + } + + @Override + public long read(ByteBuffer[] dsts, int offset, int length) throws IOException { + g.checkGuard(this); + return c.read(dsts, offset, length); + } + + @Override + public int write(ByteBuffer src) throws IOException { + g.checkGuard(this); + return c.write(src); + } + + @Override + public long write(ByteBuffer[] srcs, int offset, int length) throws IOException { + g.checkGuard(this); + return c.write(srcs, offset, length); + } + + @Override + @SuppressWarnings("unchecked") + protected void implCloseSelectableChannel() throws IOException { + g.checkGuard(this); + try { + AccessController.doPrivileged(new PrivilegedExceptionAction(){ + public Object run() throws IOException{ + try { + Method m = c.getClass().getMethod("implCloseSelectableChannel"); + m.setAccessible(true); + m.invoke(c); + } catch (InvocationTargetException ex){ + Throwable e = ex.getTargetException(); + if (e instanceof IOException) throw (IOException) e; + throw new IOException(e); + } catch (Exception ex){ + throw new IOException(ex); + } + return null; + } + }); + }catch (PrivilegedActionException ex){ + Exception e = ex.getException(); + if (e instanceof IOException) throw (IOException) e; + throw new IOException(e); + } + } + + @Override + @SuppressWarnings("unchecked") + protected void implConfigureBlocking(final boolean block) throws IOException { + g.checkGuard(this); + try { + AccessController.doPrivileged(new PrivilegedExceptionAction(){ + public Object run() throws IOException{ + try { + Method m = c.getClass().getMethod("implConfigureBlocking", boolean.class); + m.setAccessible(true); + m.invoke(c, block); + } catch (InvocationTargetException ex){ + Throwable e = ex.getTargetException(); + if (e instanceof IOException) throw (IOException) e; + throw new IOException(e); + } catch (Exception ex){ + throw new IOException(ex); + } + return null; + } + }); + }catch (PrivilegedActionException ex){ + Exception e = ex.getException(); + if (e instanceof IOException) throw (IOException) e; + throw new IOException(e); + } + } + +} Propchange: river/jtsk/merge/src/org/apache/river/api/delegates/DelegateSocketChannel.java ------------------------------------------------------------------------------ svn:eol-style = native Added: river/jtsk/merge/src/org/apache/river/api/delegates/DelegateSocketFactory.java URL: http://svn.apache.org/viewvc/river/jtsk/merge/src/org/apache/river/api/delegates/DelegateSocketFactory.java?rev=1290925&view=auto ============================================================================== --- river/jtsk/merge/src/org/apache/river/api/delegates/DelegateSocketFactory.java (added) +++ river/jtsk/merge/src/org/apache/river/api/delegates/DelegateSocketFactory.java Sun Feb 19 02:54:28 2012 @@ -0,0 +1,83 @@ +/* + * 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.api.delegates; + +import java.io.IOException; +import java.net.InetAddress; +import java.net.Socket; +import java.net.SocketPermission; +import java.net.UnknownHostException; +import java.security.Guard; +import javax.net.SocketFactory; + +/** + * A wrapper class that uses wrapper classes that implement Li Gong's method + * guard pattern for Sockets. + * + * For implementations that require dynamic or temporary Permissions for + * Principals and client code can grant a DelegatePermission that encapsulates + * a SocketPermission allowing temporary access to sockets. + * + * This is experimental and untested, the public API will not change, however + * the implementation has been provided to generate more use, auditing and + * bug fixing. + * + * It is here, more to demonstrate the use of DelegatePermission. + * + * TODO: write some jtreg or qa harness tests. + * + * @author Peter Firmstone. + */ +public class DelegateSocketFactory extends SocketFactory{ + + private final SocketFactory rep; + + DelegateSocketFactory(SocketFactory factory){ + rep = factory; + } + + @Override + public Socket createSocket(String host, int port) throws IOException, UnknownHostException { + Socket soc = rep.createSocket(host, port); + Guard g = DelegatePermission.get(new SocketPermission( host +":" +port, "CONNECT")); + return new DelegateSocket(soc, g); + } + + @Override + public Socket createSocket(String host, int port, InetAddress localHost, int localPort) throws IOException, UnknownHostException { + Socket soc = rep.createSocket(host, port, localHost, localPort); + Guard g = DelegatePermission.get(new SocketPermission( host +":" +port, "CONNECT")); + return new DelegateSocket(soc, g); + } + + @Override + public Socket createSocket(InetAddress host, int port) throws IOException { + Socket soc = rep.createSocket(host, port); + Guard g = DelegatePermission.get(new SocketPermission( host +":" +port, "CONNECT")); + return new DelegateSocket(soc, g); + } + + @Override + public Socket createSocket(InetAddress address, int port, InetAddress localAddress, int localPort) throws IOException { + Socket soc = rep.createSocket(address, port, localAddress, localPort); + Guard g = DelegatePermission.get(new SocketPermission( address +":" +port, "CONNECT")); + return new DelegateSocket(soc, g); + } + +} Propchange: river/jtsk/merge/src/org/apache/river/api/delegates/DelegateSocketFactory.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: river/jtsk/merge/src/org/apache/river/impl/security/LocalPermissions.java ------------------------------------------------------------------------------ --- svn:mergeinfo (added) +++ svn:mergeinfo Sun Feb 19 02:54:28 2012 @@ -0,0 +1 @@ +/river/jtsk/skunk/peterConcurrentPolicy/src/org/apache/river/impl/security/LocalPermissions.java:1137883-1290923
