UPnP migration verification #2534
Labels
in: jdk
ssues in jdk.
in: UPnP
Issues in UPnP
type: investigation
Investigation required. If it's not a bug it will be closed.
Milestone
Overview
v114 requires UPnP Servlet6.0Support. Since there is no UPnP library compatible with Servlet 6.0, it is assumed that the 3rd-party lib will be patched.
cling
orjupnp
. There are two paths.Problem description
The most important aspect is whether it works the same as before.
If it works as is by applying a patch to jupnp, that is the easiest. If you patch jupnp and it works as is, it will be beneficial in the long run. Probably jupnp will also be compatible with the next generation, so in that case the patch will not be necessary.osgi/osgi/issues/552
. Therefore, servlet migration in the main stream of jupnp will wait for osgi. (Jpsonic does not wait for this)If there is any major problem with jupnp, cling will be migrated to avoid it. Since it has already been confirmed to work with Java 21, only servlet support will be required.cling has already removed OSGI Support, so you don't need to worry about it.However, in this case Android Support will be removed like jupnp. Because it will continue to drag down ancient Java.Scenario
Compared to cling that is already EOL, jupnp has better configuration management. Since we would like to use jupnp if possible, jupnp will be verified first.
jupnp
Jetty9.x. and Jetty10.x seem to be almost the same, but Header editing may be affected.Modifying of HTTP headers in HttpChannel.Listener#onResponseBegin is no longer possible with Jetty 10 jetty/jetty.project#7818Other than that, unknown 😗2. If there are no problems, jakarata support will be applied to jpunp, and Patched-libs compiled for Servlet 6.0 will be created.3. Combining 1 and 2, operation verification will be performed on the HEAD of the current develop branch (i.e. Spring Boot 3.2).I misunderstood 😚
All we have to do is implement the UPnP clint and server. In that case, we will need to avoid and migrate Apache libs, which have already been deprecated.
So.
If it doesn't work with Vanilla HTTP server, it will be implemented with Socket 😏
At this point, it is certain that UPnP will not be a blocker when migrating to Spring Boot3.2. It would be nice to be able to renew the server implementation if possible, but if you can't investigate a little more and determine the cause, it would be better to postpone it. (In that case, only the server implementation will use the legacy implementation.)
Hmm, there seems to be an excessive encoding problem between cling's org.fourthline.cling.transport.impl.apache.HttpExchangeUpnpStream and UpnpMessage. It seems that UMS is also referring to legacy code in the same way. I don't know if Universal Media Server has garbled characters or not.
It'll probably work out somehow. Nosebleed stopped.
The text was updated successfully, but these errors were encountered: