Branch: refs/heads/master
Home: https://github.com/jenkinsci/remoting
Commit: d906a333f34860dbf3a3f0771b1c1dfd1e071ca6
https://github.com/jenkinsci/remoting/commit/d906a333f34860dbf3a3f0771b1c1dfd1e071ca6
Author: Oleg Nenashev <[email protected]>
Date: 2017-11-08 (Wed, 08 Nov 2017)
Changed paths:
M pom.xml
M src/main/java/hudson/remoting/Callable.java
M src/main/java/hudson/remoting/Channel.java
M src/main/java/hudson/remoting/ClassLoaderHolder.java
M src/main/java/hudson/remoting/JarLoaderImpl.java
M src/main/java/hudson/remoting/Pipe.java
M src/main/java/hudson/remoting/ProxyOutputStream.java
M src/main/java/hudson/remoting/RemoteClassLoader.java
M src/main/java/hudson/remoting/RemoteInputStream.java
M src/main/java/hudson/remoting/RemoteInvocationHandler.java
M src/main/java/hudson/remoting/RemoteOutputStream.java
M src/main/java/hudson/remoting/RemoteWriter.java
M src/main/java/hudson/remoting/Request.java
M src/main/java/hudson/remoting/forward/ForwarderFactory.java
M src/main/java/hudson/remoting/forward/PortForwarder.java
A src/main/java/org/jenkinsci/remoting/SerializableOnlyOverRemoting.java
M src/test/java/hudson/remoting/ChannelFilterTest.java
M src/test/java/hudson/remoting/ChannelTest.java
M src/test/java/hudson/remoting/ClassFilterTest.java
M src/test/java/hudson/remoting/ClassRemotingTest.java
M src/test/java/hudson/remoting/PipeTest.java
M src/test/java/hudson/remoting/PrefetchingTest.java
M src/test/java/hudson/remoting/RemoteInvocationHandlerTest.java
M src/test/java/org/jenkinsci/remoting/protocol/ProtocolStackImplTest.java
Log Message:
-----------
[JENKINS-47714] - Introduce SerializableOnlyOverRemoting and cleanup FindBugs
in Channel#current(). (#206)
* [JENKINS-47714] - Introduce SerializableOnlyOverRemoting and cleanup FindBugs
in Channel#current().
`Channel#current()` uses thread-local storage to determine the current channel.
It returns null if the channel does not exist Some writeReplace/readObject/etc.
serialization logic retrieves the channel in order to export the object via
ExportTable. Obviously, such operations will fail if we try to serialize the
object without Remoting context.
I propose to add a new interface to verify that serialization logic is being
invoked for the remoting context and hence to avoid undesired NPEs.
* [JENKINS-47714] - Address comments from @jglick
* [JENKINS-47714] - Add @since to new API
--
You received this message because you are subscribed to the Google Groups
"Jenkins Commits" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.