I do not have a huge problem with detached development. The work could always be brought into a branch for review and commentary.
In general, I think the broader question is status quo vs active development. I think that there is some consensus around the need for river to evolve, especially in directions that (a) do not break existing applications; and (b) simplify river making it more readily consumable both as source code (modularization) and for emerging domains (e.g., the secure IoT theme). Bryan On Wed, Jan 11, 2017 at 8:17 AM, Patricia Shanahan <p...@acm.org> wrote: > How do you envisage the future of this work? > > Personally, given the volume of changes outside svn, without any review or > commit messages, I am not sure I would vote for an Apache release based on > this code. Do you have a quorum of PMC members who do feel comfortable with > this process? > > On 1/11/2017 3:43 AM, Peter Firmstone wrote: > >> Forked from River trunk just before 3.0 release. >> >> * Security focused: >> >> o Supports updated modern cyphers, support for vulnerable >> cypers removed. >> o Reimplementation of serialization, includes input validation >> and defensive programming. >> o Additional SafeServiceRegistrar interface with lookup method >> that allows clients to authenticate services prior to >> downloading. >> o ServiceDiscoveryManager configured to use new lookup method, >> without changes to API. >> o proxy jar files can contain META-INF permissions.perm files >> with advisory permissions (same format as OSGi local >> permissions). >> o New secure multicast discovery providers that dynamically >> grant download and deserialization permission for >> authenticated lookup services. >> o Phoenix now supports using TLS sockets for Registry. >> o LookupLocator now supports https unicast discovery for >> firewall/proxy traversal. >> * IPv6 Multicast discovery support >> * Better support for Java 9, no longer accessing sun jvm >> implementation packages >> o Phoenix uses RMI Registry now instead of RegistrySunExporter >> o KerberosServerEndpoint reflectively accesses >> com.sun.security.jgss.GSSUtil.createSubject, but only when >> using client token delegation. Delegation not supported on >> other vendors jvm's. >> * Deprecated: >> o RegistrySunExporter >> o SunJRMPExporter >> o ProxyTrust >> >> Currently working on a Modular Maven based build. >> >> * Uniting packages and removing some dependencies to assist OSGi >> developers (like some package changes for non api org.apache.river >> namspaces). >> o org.apache.river.reggie.proxy >> o org.apache.river.reggie.service >> * OSGi bundles with package based dependencies. >> >> >> Looking forward to donating this code to River. >> >> [INFO] >> ------------------------------------------------------------------------ >> [INFO] Reactor Summary: >> [INFO] >> [INFO] JGDMS Project ...................................... SUCCESS [ >> 0.712 s] >> [INFO] Module :: JGDMS Collection ......................... SUCCESS [ >> 18.139 s] >> [INFO] Module :: JGDMS Jini Platform ...................... SUCCESS >> [01:17 min] >> [INFO] Module :: JGDMS Loader ............................. SUCCESS [ >> 18.179 s] >> [INFO] Module :: JGDMS Extensible Remote Invocation ....... SUCCESS [ >> 45.867 s] >> [INFO] Module :: JGDMS Resources .......................... SUCCESS [ >> 0.099 s] >> [INFO] Module :: JGDMS URL providers and Integrity ........ SUCCESS [ >> 17.804 s] >> [INFO] Module :: JGDMS Activation Platform ................ SUCCESS [ >> 23.309 s] >> [INFO] Module :: JGDMS Service DL Library ................. SUCCESS [ >> 18.373 s] >> [INFO] Module :: JGDMS Lookup Discovery Providers ......... SUCCESS [ >> 17.094 s] >> [INFO] Module :: JGDMS Service Library .................... SUCCESS [ >> 22.786 s] >> [INFO] Module :: JGDMS Service Starter .................... SUCCESS [ >> 27.622 s] >> [INFO] Module :: JGDMS SharedGroup Destroy ................ SUCCESS [ >> 22.416 s] >> [INFO] Module :: JGDMS IIOP ............................... SUCCESS [ >> 13.330 s] >> [INFO] Module :: JGDMS JRMP ............................... SUCCESS [ >> 13.663 s] >> [INFO] Module :: JGDMS Service DL Library UI Factory ...... SUCCESS [ >> 21.488 s] >> [INFO] Module :: Jini 2.1 compatibility ................... SUCCESS [ >> 16.572 s] >> [INFO] Module :: Outrigger ................................ SUCCESS [ >> 0.017 s] >> [INFO] Module :: Outrigger Service Download classes ....... SUCCESS [ >> 15.488 s] >> [INFO] Module :: Outrigger Service Implementation ......... SUCCESS [ >> 27.113 s] >> [INFO] Module :: Outrigger Snaplogstore ................... SUCCESS [ >> 16.609 s] >> [INFO] Module :: Lookup Service ........................... SUCCESS [ >> 0.014 s] >> [INFO] Module :: Reggie Service Download classes .......... SUCCESS [ >> 14.048 s] >> [INFO] Module :: Reggie Service Implementation ............ SUCCESS [ >> 23.095 s] >> [INFO] Module :: Mahalo ................................... SUCCESS [ >> 0.014 s] >> [INFO] Module :: Mahalo Service Download classes .......... SUCCESS [ >> 13.727 s] >> [INFO] Module :: Mahalo Service Implementation ............ SUCCESS [ >> 22.967 s] >> [INFO] Module :: Mercury the Event Mailbox ................ SUCCESS [ >> 0.014 s] >> [INFO] Module :: Mercury Service Download classes ......... SUCCESS [ >> 21.990 s] >> [INFO] Module :: Mercury Service Implementation ........... SUCCESS [ >> 16.790 s] >> [INFO] Module :: Norm ..................................... SUCCESS [ >> 0.014 s] >> [INFO] Module :: Norm Service Download classes ............ SUCCESS [ >> 20.415 s] >> [INFO] Module :: Norm Service Implementation .............. SUCCESS [ >> 23.257 s] >> [INFO] Module :: Group .................................... SUCCESS [ >> 0.018 s] >> [INFO] Module :: Group Service Download classes ........... SUCCESS [ >> 12.737 s] >> [INFO] Module :: Group Service Implementation ............. SUCCESS [ >> 16.827 s] >> [INFO] Module :: Fiddler the LookupDiscoveryService ....... SUCCESS [ >> 0.018 s] >> [INFO] Module :: Fiddler LookupDiscoveryService Download classes SUCCESS >> [ 21.747 s] >> [INFO] Module :: Fiddler LookupDiscoveryService Implementation SUCCESS [ >> 20.474 s] >> [INFO] Module :: Tools .................................... SUCCESS [ >> 0.018 s] >> [INFO] Tool :: Check ConfigurationFile .................... SUCCESS [ >> 0.098 s] >> [INFO] Tool :: Check serialversionUid ..................... SUCCESS [ >> 0.105 s] >> [INFO] Tool :: ClassDep ................................... SUCCESS [ >> 0.145 s] >> [INFO] Tool :: Class Server ............................... SUCCESS [ >> 0.084 s] >> [INFO] Tool :: Compute message digest ..................... SUCCESS [ >> 0.115 s] >> [INFO] Tool :: Compute httpmd codebase .................... SUCCESS [ >> 0.144 s] >> [INFO] Tool :: Environment Check .......................... SUCCESS [ >> 0.169 s] >> [INFO] Tool :: Jar wrapper ................................ SUCCESS [ >> 0.100 s] >> [INFO] Tool :: Preferred classes list generator ........... SUCCESS [ >> 0.123 s] >> [INFO] Module :: DebugDyanamicPolicyProvider and SecurityPolicyWriter >> SUCCESS [ 0.109 s] >> [INFO] Module :: Phoenix Activation ....................... SUCCESS [ >> 0.015 s] >> [INFO] Module :: Phoenix Download ......................... SUCCESS [ >> 13.895 s] >> [INFO] Module :: Phoenix Common ........................... SUCCESS [ >> 30.621 s] >> [INFO] Module :: Phoenix .................................. SUCCESS [ >> 19.214 s] >> [INFO] Module :: Phoenix Group ............................ SUCCESS [ >> 22.284 s] >> [INFO] Module :: Phoenix Init ............................. SUCCESS [ >> 12.605 s] >> [INFO] Module :: Groovy Configuration ..................... SUCCESS [ >> 6.050 s] >> [INFO] JGDMS Distribution ................................. SUCCESS [ >> 16.285 s] >> [INFO] Module :: JGDMS Service Browser .................... SUCCESS [ >> 4.288 s] >> [INFO] Module :: JGDMS Extra service utilities ............ SUCCESS [ >> 22.972 s] >> [INFO] >> ------------------------------------------------------------------------ >> [INFO] BUILD SUCCESS >> [INFO] >> ------------------------------------------------------------------------ >> [INFO] Total time: 13:33 min >> [INFO] Finished at: 2017-01-11T21:36:17+10:00 >> [INFO] Final Memory: 38M/173M >> [INFO] >> ------------------------------------------------------------------------ >> >> C:\Users\peter\Documents\NetBeansProjects\river-internet\ >> modularize\JGDMS> >> >> Examples of OSGi manifests: >> >> Manifest-Version: 1.0 >> Bnd-LastModified: 1484132752995 >> Bundle-ManifestVersion: 2 >> Bundle-Name: Module :: Reggie Service Implementation >> Bundle-SymbolicName: reggie-service >> Bundle-Version: 3.0.0.201701111105 >> Created-By: 1.8.0 (Oracle Corporation) >> Import-Package: javax.net,javax.security.auth,javax.security.auth.logi >> n,net.jini.activation;version="[3.0,4)",net.jini.config;version="[3.0 >> ,4)",net.jini.constraint;version="[3.0,4)",net.jini.core.constraint;v >> ersion="[3.0,4)",net.jini.core.discovery;version="[3.0,4)",net.jini.c >> ore.entry;version="[3.0,4)",net.jini.core.event;version="[3.0,4)",net >> .jini.core.lease;version="[3.0,4)",net.jini.core.lookup;version="[3.0 >> ,4)",net.jini.discovery;version="[3.0,4)",net.jini.export;version="[3 >> .0,4)",net.jini.id;version="[3.0,4)",net.jini.io;version="[3.0,4)",ne >> t.jini.jeri;version="[3.0,4)",net.jini.jeri.tcp;version="[3.0,4)",net >> .jini.lease;version="[3.0,4)",net.jini.lookup;version="[3.0,4)",net.j >> ini.lookup.entry;version="[3.0,4)",net.jini.security;version="[3.0,4) >> ",net.jini.security.proxytrust;version="[3.0,4)",org.apache.river.api >> .io;version="[3.0,4)",org.apache.river.api.util;version="[3.0,4)",org >> .apache.river.config;version="[3.0,4)",org.apache.river.constants;ver >> sion="[3.0,4)",org.apache.river.discovery;version="[3.0,4)",org.apach >> e.river.logging;version="[3.0,4)",org.apache.river.lookup.entry;versi >> on="[3.0,4)",org.apache.river.proxy;version="[3.0,4)",org.apache.rive >> r.reggie.proxy;version="[3.0,4)",org.apache.river.reliableLog;version >> ="[3.0,4)",org.apache.river.start.lifecycle;version="[3.0,4)",org.apa >> che.river.thread;version="[3.0,4)" >> Private-Package: org.apache.river.reggie.service >> Require-Capability: osgi.ee;filter:="(&(osgi.ee=JavaSE)(version=1.8))" >> Tool: Bnd-3.2.0.201605172007 >> >> <======================================> >> >> Manifest-Version: 1.0 >> Bnd-LastModified: 1484132485762 >> Bundle-ManifestVersion: 2 >> Bundle-Name: Module :: JGDMS Service DL Library >> Bundle-SymbolicName: jgdms-jsk-lib-dl >> Bundle-Version: 3.0.0.201701111101 >> Created-By: 1.8.0 (Oracle Corporation) >> Export-Package: net.jini.admin;uses:="net.jini.core.discovery,net.jini >> .core.entry";version="3.0.0",net.jini.entry;uses:="net.jini.core.entr >> y,org.apache.river.api.io";version="3.0.0",net.jini.event;uses:="net. >> jini.core.event,net.jini.core.lease";version="3.0.0",net.jini.lease;u >> ses:="net.jini.config,net.jini.core.event,net.jini.core.lease,org.apa >> che.river.api.io";version="3.0.0",net.jini.lookup;uses:="net.jini.con >> fig,net.jini.core.entry,net.jini.core.event,net.jini.core.lookup,net. >> jini.discovery,net.jini.io,net.jini.lease,org.apache.river.api.io";ve >> rsion="3.0.0",net.jini.lookup.entry;uses:="net.jini.core.entry,net.ji >> ni.entry";version="3.0.0",net.jini.lookup.entry.jmx;uses:="net.jini.e >> ntry";version="3.0.0",net.jini.lookup.ui;version="3.0.0",net.jini.loo >> kup.ui.attribute;version="3.0.0",net.jini.space;uses:="net.jini.core. >> entry,net.jini.core.event,net.jini.core.lease,net.jini.core.transacti >> on,net.jini.entry,org.apache.river.api.io";version="3.0.0",org.apache >> .river.admin;version="3.0.0",org.apache.river.landlord;uses:="net.jin >> i.core.constraint,net.jini.core.lease,net.jini.id,net.jini.security,o >> rg.apache.river.api.io,org.apache.river.lease";version="3.0.0",org.ap >> ache.river.lease;uses:="net.jini.core.lease,net.jini.io,net.jini.leas >> e,org.apache.river.api.io";version="3.0.0",org.apache.river.lookup.en >> try;uses:="net.jini.core.entry,net.jini.lookup.entry";version="3.0.0" >> ,org.apache.river.lookup.util;uses:="org.apache.river.api.io";version >> ="3.0.0",org.apache.river.start.group;version="3.0.0",net.jini.lookup >> .ui.factory;version="3.0.0" >> Import-Package: net.jini.config;version="[3.0,4)",net.jini.constraint; >> version="[3.0,4)",net.jini.core.constraint;version="[3.0,4)",net.jini >> .core.discovery;version="[3.0,4)",net.jini.core.entry;version="[3.0,4 >> )",net.jini.core.event;version="[3.0,4)",net.jini.core.lease;version= >> "[3.0,4)",net.jini.core.lookup;version="[3.0,4)",net.jini.core.transa >> ction;version="[3.0,4)",net.jini.discovery;version="[3.0,4)",net.jini >> .entry,net.jini.export;version="[3.0,4)",net.jini.id;version="[3.0,4) >> ",net.jini.io;version="[3.0,4)",net.jini.io.context;version="[3.0,4)" >> ,net.jini.jeri;version="[3.0,4)",net.jini.jeri.tcp;version="[3.0,4)", >> net.jini.loader;version="[3.0,4)",net.jini.lookup.entry,net.jini.secu >> rity;version="[3.0,4)",net.jini.security.proxytrust;version="[3.0,4)" >> ,org.apache.river.action;version="[3.0,4)",org.apache.river.api.io;ve >> rsion="[3.0,4)",org.apache.river.concurrent;version="[3.0,4)",org.apa >> che.river.config;version="[3.0,4)",org.apache.river.constants;version >> ="[3.0,4)",org.apache.river.logging;version="[3.0,4)",org.apache.rive >> r.lookup.entry,org.apache.river.lookup.util,org.apache.river.thread;v >> ersion="[3.0,4)",org.apache.river.thread.wakeup;version="[3.0,4)" >> Private-Package: org.apache.river.proxy >> Require-Capability: osgi.ee;filter:="(&(osgi.ee=JavaSE)(version=1.5))" >> Tool: Bnd-3.2.0.201605172007 >> >> >>