[vlc-commits] upnp: Switch to an unlimited maximum content length

Mirsal Ennaime git at videolan.org
Wed Dec 21 02:30:24 CET 2011


vlc/vlc-1.2 | branch: master | Mirsal Ennaime <mirsal at videolan.org> | Tue Dec 20 08:34:45 2011 +0100| [49815bb5b6a9dc5adbd41538f9a7f804ab16a962] | committer: Jean-Baptiste Kempf

upnp: Switch to an unlimited maximum content length

Use INT_MAX as the maximum content length as libupnp introduced 0 as an
unlimited content length in pupnp 1.6.7, though UPNP_VERSION was not bumped.
(cherry picked from commit 794557eea63853456cf3120cdb1bdc88ca44ad9f)
(cherry picked from commit 75a40b63d0cb0ba655a80c4030ce54cb812c471f)

Signed-off-by: Jean-Baptiste Kempf <jb at videolan.org>

> http://git.videolan.org/gitweb.cgi/vlc/vlc-1.2.git/?a=commit;h=49815bb5b6a9dc5adbd41538f9a7f804ab16a962
---

 modules/services_discovery/upnp.cpp |   13 +++++++++++++
 1 files changed, 13 insertions(+), 0 deletions(-)

diff --git a/modules/services_discovery/upnp.cpp b/modules/services_discovery/upnp.cpp
index d572a3b..666eaf2 100644
--- a/modules/services_discovery/upnp.cpp
+++ b/modules/services_discovery/upnp.cpp
@@ -38,6 +38,7 @@
 #include <vlc_services_discovery.h>
 
 #include <assert.h>
+#include <limits.h>
 
 /*
  * Constants
@@ -136,6 +137,18 @@ static int Open( vlc_object_t *p_this )
         return VLC_EGENERIC;
     }
 
+    /* libupnp does not treat a maximum content length of 0 as unlimited
+     * until 64dedf (~ pupnp v1.6.7) and provides no sane way to discriminate
+     * between versions */
+    if( (i_res = UpnpSetMaxContentLength( INT_MAX )) != UPNP_E_SUCCESS )
+    {
+        msg_Err( p_sd, "Failed to set maximum content length: %s",
+                UpnpGetErrorMessage( i_res ));
+
+        Close( (vlc_object_t*) p_sd );
+        return VLC_EGENERIC;
+    }
+
     return VLC_SUCCESS;
 }
 



More information about the vlc-commits mailing list