Hi Jacques,

how did you get that log? (how did you start OFBiz)

Thanks,

Jacopo

On Sat, Mar 19, 2016 at 11:47 AM, Jacques Le Roux <
[email protected]> wrote:

> Hi Jacopo,
>
> No it's not enough. Without the RmiDispatcher deactivated you can still
> run RMI services like testRMI.
> You get in log:
>
> [java] 2016-03-18 18:39:22,787 |main |ContainerLoader               |I|
> [Startup] Loading containers from
> c:/projectsASF/ofbiz/framework/base/config/ofbiz-containers.xml for loaders
> [main, rmi]
> [java] 2016-03-18 18:39:24,754 |main |ContainerLoader               |I|
> Loading component's container: rmi-dispatcher
> [java] 2016-03-18 18:39:24,755 |main |ContainerLoader               |I|
> Loaded component's container: rmi-dispatcher
> [java] 2016-03-18 18:39:27,966 |main |ContainerLoader               |I|
> Starting container rmi-dispatcher
> [java] 2016-03-18 18:39:29,346 |main |ServiceDispatcher             |I|
> Registering dispatcher: RMIDispatcher
> [java] 2016-03-18 18:39:29,346 |main |ServiceContainer              |I|
> Created new dispatcher: RMIDispatcher
> [java] 2016-03-18 18:39:29,745 |main |ContainerLoader               |I|
> Started container rmi-dispatcher
>
> And if you use ant-secure target you see this in is-deserialized.txt
>
> org.ofbiz.service.rmi.RemoteDispatcherImpl_Stub
> java.rmi.server.RemoteStub
> java.rmi.server.RemoteObject
> org.ofbiz.service.rmi.socket.ssl.SSLClientSocketFactory
> [Ljava.rmi.server.ObjID;
> java.rmi.server.ObjID
> java.rmi.server.UID
> java.rmi.dgc.Lease
> java.rmi.dgc.VMID
>
> Those are not issues but shows that RMI is still active.
>
> Actually I missed your change in start.properties but did the same in
> both.properties.
>
> Initially I wondered if the only thing needed was not to comment out the
> RmiDispatcher in service/ofbiz-component.xml
> Because once you have done that no RMI services can be used.
> I finally decided to do more because the Distributed Clear Cache relies on
> JNDI, JMS and RMI. So I also deactivated the JNDI server and then got
> further with all changes below.
>
> Thinking about it now, since the the Rmi Service Dispatcher and the JNDI
> server are at the root of all, it's maybe the only things which need to be
> deactivated (trying to minimise the changes) with of course the RMI test
> services which would fail else.
>
> What do you think?
>
> Jacques
>
>
> Le 18/03/2016 17:28, Jacopo Cappellato a écrit :
>
>> Hi Jacques,
>>
>> thanks for working at this.
>> However I think that there is a simpler/better way to disable the
>> component
>> by default; by using the following patch:
>>
>> Index: framework/start/src/org/ofbiz/base/start/start.properties
>> ===================================================================
>> --- framework/start/src/org/ofbiz/base/start/start.properties (revision
>> 1735404)
>> +++ framework/start/src/org/ofbiz/base/start/start.properties (working
>> copy)
>> @@ -40,7 +40,7 @@
>>
>>   # --- StartupLoader implementations to load (in order)
>>   ofbiz.start.loader1=org.ofbiz.base.container.ContainerLoader
>> -ofbiz.start.loader1.loaders=main,rmi
>> +ofbiz.start.loader1.loaders=main
>>
>>   # -- Enable the shutdown hook
>>   #ofbiz.enable.hook=true
>>
>> I didn't test it but it should work!
>>
>> Jacopo
>>
>> On Fri, Mar 18, 2016 at 11:38 AM, <[email protected]> wrote:
>>
>> Author: jleroux
>>> Date: Fri Mar 18 10:38:04 2016
>>> New Revision: 1735569
>>>
>>> URL: http://svn.apache.org/viewvc?rev=1735569&view=rev
>>> Log:
>>> Fixes "Comment out RMI related code because of the Java deserialization
>>> issue" - https://issues.apache.org/jira/browse/OFBIZ-6942
>>>
>>> I decided to comment out as less as possible because once the RMI
>>> loaders,
>>> the RMI dispatcher and the related test services are off there is no RMI
>>> related danger left (test services are not a danger but would fail during
>>> tests run). It's then easier for users who need RMI in their projects to
>>> have only to uncomment those and not digg everywhere. Because the naming
>>> (JNDI) server relies on the rmi loader it will also be commented out.
>>>
>>> Modified:
>>>      ofbiz/trunk/framework/base/config/ofbiz-containers.xml
>>>      ofbiz/trunk/framework/base/ofbiz-component.xml
>>>      ofbiz/trunk/framework/common/servicedef/services_test.xml
>>>      ofbiz/trunk/framework/service/ofbiz-component.xml
>>>      ofbiz/trunk/framework/start/src/org/ofbiz/base/start/both.properties
>>>
>>> Modified: ofbiz/trunk/framework/base/config/ofbiz-containers.xml
>>> URL:
>>>
>>> http://svn.apache.org/viewvc/ofbiz/trunk/framework/base/config/ofbiz-containers.xml?rev=1735569&r1=1735568&r2=1735569&view=diff
>>>
>>>
>>> ==============================================================================
>>> --- ofbiz/trunk/framework/base/config/ofbiz-containers.xml (original)
>>> +++ ofbiz/trunk/framework/base/config/ofbiz-containers.xml Fri Mar 18
>>> 10:38:04 2016
>>> @@ -21,8 +21,11 @@ under the License.
>>>   <ofbiz-containers xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance
>>> "
>>>           xsi:noNamespaceSchemaLocation="
>>> http://ofbiz.apache.org/dtds/ofbiz-containers.xsd";>
>>>
>>> +    <!-- Because of the danger of Java deserialization when using RMI,
>>> we
>>> (PMC) have decided to comment out main RMI related code entries.
>>> +         If you need RMI you just need to uncomment those places - See
>>> OFBIZ-6942 for details -->
>>>       <!-- load the ofbiz component container (always first) -->
>>> -    <container name="component-container"
>>> loaders="main,rmi,pos,load-data"
>>> class="org.ofbiz.base.container.ComponentContainer"/>
>>> +    <!-- <container name="component-container"
>>> loaders="main,rmi,pos,load-data"
>>> class="org.ofbiz.base.container.ComponentContainer"/> -->
>>> +    <container name="component-container" loaders="main,pos,load-data"
>>> class="org.ofbiz.base.container.ComponentContainer"/>
>>>
>>>       <container name="component-container-test" loaders="test"
>>> class="org.ofbiz.base.container.ComponentContainer">
>>>           <property name="ofbiz.instrumenterClassName"
>>> value="org.ofbiz.base.config.CoberturaInstrumenter"/>
>>>
>>> Modified: ofbiz/trunk/framework/base/ofbiz-component.xml
>>> URL:
>>>
>>> http://svn.apache.org/viewvc/ofbiz/trunk/framework/base/ofbiz-component.xml?rev=1735569&r1=1735568&r2=1735569&view=diff
>>>
>>>
>>> ==============================================================================
>>> --- ofbiz/trunk/framework/base/ofbiz-component.xml (original)
>>> +++ ofbiz/trunk/framework/base/ofbiz-component.xml Fri Mar 18 10:38:04
>>> 2016
>>> @@ -33,11 +33,13 @@ under the License.
>>>
>>>       <test-suite loader="main" location="testdef/basetests.xml"/>
>>>
>>> +    <!-- Because of the danger of Java deserialization when using RMI,
>>> we
>>> (PMC) have decided to comment out main RMI related code entries.
>>> +         If you need RMI you just need to uncomment those places - See
>>> OFBIZ-6942 for details -->
>>>       <!-- load the naming (JNDI) server -->
>>> -    <container name="naming-container" loaders="rmi"
>>> class="org.ofbiz.base.container.NamingServiceContainer">
>>> +    <!-- <container name="naming-container" loaders="rmi"
>>> class="org.ofbiz.base.container.NamingServiceContainer">
>>>           <property name="host" value="0.0.0.0"/>
>>>           <property name="port" value="1099"/>
>>> -    </container>
>>> +    </container> -->
>>>
>>>       <!-- load BeanShell remote telnet server -->
>>>       <!-- Commented out by default for security reasons -->
>>>
>>> Modified: ofbiz/trunk/framework/common/servicedef/services_test.xml
>>> URL:
>>>
>>> http://svn.apache.org/viewvc/ofbiz/trunk/framework/common/servicedef/services_test.xml?rev=1735569&r1=1735568&r2=1735569&view=diff
>>>
>>>
>>> ==============================================================================
>>> --- ofbiz/trunk/framework/common/servicedef/services_test.xml (original)
>>> +++ ofbiz/trunk/framework/common/servicedef/services_test.xml Fri Mar 18
>>> 10:38:04 2016
>>> @@ -47,15 +47,17 @@ under the License.
>>>       <service name="testError" engine="java" export="true"
>>> validate="false" require-new-transaction="true" max-retry="1"
>>>               location="org.ofbiz.common.CommonServices"
>>> invoke="returnErrorService">
>>>       </service>
>>> +    <!-- Because of the danger of Java deserialization when using RMI,
>>> we
>>> (PMC) have decided to comment out main RMI related code entries.
>>> +         If you need RMI you just need to uncomment those places - See
>>> OFBIZ-6942 for details -->
>>>       <!-- see serviceengine.xml to configure the rmi location alias -->
>>> -    <service name="testRmi" engine="rmi" validate="false"
>>> +    <!-- <service name="testRmi" engine="rmi" validate="false"
>>>               location="main-rmi" invoke="testScv">
>>>           <implements service="testScv"/>
>>>       </service>
>>>       <service name="testRmiFail" engine="rmi" validate="false"
>>>               location="main-rmi" invoke="testBsh">
>>>           <implements service="testScv"/>
>>> -    </service>
>>> +    </service> -->
>>>
>>>       <service name="testRollback" engine="java" export="true"
>>> validate="false"
>>>               location="org.ofbiz.common.CommonServices"
>>> invoke="testRollbackListener">
>>>
>>> Modified: ofbiz/trunk/framework/service/ofbiz-component.xml
>>> URL:
>>>
>>> http://svn.apache.org/viewvc/ofbiz/trunk/framework/service/ofbiz-component.xml?rev=1735569&r1=1735568&r2=1735569&view=diff
>>>
>>>
>>> ==============================================================================
>>> --- ofbiz/trunk/framework/service/ofbiz-component.xml (original)
>>> +++ ofbiz/trunk/framework/service/ofbiz-component.xml Fri Mar 18 10:38:04
>>> 2016
>>> @@ -44,12 +44,17 @@ under the License.
>>>       <keystore name="rmitrust" type="jks" password="changeit"
>>> is-truststore="true"
>>>                 is-certstore="false" loader="main"
>>> location="config/rmitrust.jks"/>
>>>
>>> -    <container name="service-container"
>>> loaders="main,rmi,pos,load-data,test"
>>> class="org.ofbiz.service.ServiceContainer">
>>> +    <!-- Because of the danger of Java deserialization when using RMI,
>>> we
>>> (PMC) have decided to comment out main RMI related code entries.
>>> +         If you need RMI you just need to uncomment those places - See
>>> OFBIZ-6942 for details -->
>>> +    <!-- <container name="service-container"
>>> loaders="main,rmi,pos,load-data,test"
>>> class="org.ofbiz.service.ServiceContainer"> -->
>>> +    <container name="service-container"
>>> loaders="main,pos,load-data,test"
>>> class="org.ofbiz.service.ServiceContainer">
>>>           <property name="dispatcher-factory"
>>> value="org.ofbiz.service.GenericDispatcherFactory"/>
>>>       </container>
>>>
>>> +    <!-- Because of the danger of Java deserialization when using RMI,
>>> we
>>> (PMC) have decided to comment out main RMI related code entries.
>>> +         If you need RMI you just need to uncomment those places - See
>>> OFBIZ-6942 for details -->
>>>       <!-- RMI Service Dispatcher -->
>>> -    <container name="rmi-dispatcher" loaders="rmi"
>>> class="org.ofbiz.service.rmi.RmiServiceContainer">
>>> +    <!-- <container name="rmi-dispatcher" loaders="rmi"
>>> class="org.ofbiz.service.rmi.RmiServiceContainer">
>>>           <property name="bound-name" value="RMIDispatcher"/>
>>>           <property name="bound-host" value="127.0.0.1"/>
>>>           <property name="bound-port" value="1099"/>
>>> @@ -61,7 +66,7 @@ under the License.
>>>           <property name="ssl-keystore-pass" value="changeit"/>
>>>           <property name="ssl-keystore-alias" value="rmissl"/>
>>>           <property name="ssl-client-auth" value="false"/>
>>> -    </container>
>>> +    </container> -->
>>>
>>>       <!-- JavaMail Listener Container - Triggers MCA Rules -->
>>>       <!-- if delete-mail is set to true, will delete messages after
>>> fetching them. otherwise, will try to mark them as seen
>>>
>>> Modified:
>>> ofbiz/trunk/framework/start/src/org/ofbiz/base/start/both.properties
>>> URL:
>>>
>>> http://svn.apache.org/viewvc/ofbiz/trunk/framework/start/src/org/ofbiz/base/start/both.properties?rev=1735569&r1=1735568&r2=1735569&view=diff
>>>
>>>
>>> ==============================================================================
>>> --- ofbiz/trunk/framework/start/src/org/ofbiz/base/start/both.properties
>>> (original)
>>> +++ ofbiz/trunk/framework/start/src/org/ofbiz/base/start/both.properties
>>> Fri Mar 18 10:38:04 2016
>>> @@ -35,7 +35,10 @@ ofbiz.start.loader1=org.ofbiz.base.splas
>>>
>>>   # --- StartupLoader implementations to load (in order)
>>>   ofbiz.start.loader2=org.ofbiz.base.container.ContainerLoader
>>> -ofbiz.start.loader2.loaders=main,pos,rmi
>>> +# Because of the danger of Java deserialization when using RMI, we (PMC)
>>> have decided to comment out main RMI related code entries.
>>> +# If you need RMI you just need to uncomment those places - See
>>> OFBIZ-6942 for details -->
>>> +#ofbiz.start.loader2.loaders=main,pos,rmi
>>> +ofbiz.start.loader2.loaders=main,pos
>>>
>>>   # -- Splash Logo
>>>   ofbiz.start.splash.logo=framework/images/webapp/images/ofbiz_logo.gif
>>>
>>>
>>>
>>>

Reply via email to