[vlc-commits] src: fix crashes on proxy lookups by deleting the Mac specific and using the iOS code which works just fine on 10.6+ (close #9561)
Felix Paul Kühne
git at videolan.org
Mon Oct 7 12:24:26 CEST 2013
vlc/vlc-2.1 | branch: master | Felix Paul Kühne <fkuehne at videolan.org> | Mon Oct 7 12:21:29 2013 +0200| [9d8543858b540175efab5c25e77dfaff4a5fea61] | committer: Felix Paul Kühne
src: fix crashes on proxy lookups by deleting the Mac specific and using the iOS code which works just fine on 10.6+ (close #9561)
(cherry picked from commit b062c14b11a1f2dc7df560fd77f4310995d20a6c)
Conflicts:
configure.ac
> http://git.videolan.org/gitweb.cgi/vlc/vlc-2.1.git/?a=commit;h=9d8543858b540175efab5c25e77dfaff4a5fea61
---
configure.ac | 2 +-
src/darwin/netconf.c | 61 --------------------------------------------------
2 files changed, 1 insertion(+), 62 deletions(-)
diff --git a/configure.ac b/configure.ac
index 32b774f..774a219 100644
--- a/configure.ac
+++ b/configure.ac
@@ -158,7 +158,7 @@ case "${host_os}" in
VLC_ADD_LIBS([libvlc vlc],[-Wl,-undefined,dynamic_lookup,-framework,AppKit])
VLC_ADD_LIBS([avcodec access_avio swscale postproc i420_rgb_mmx x264 x26410b],[-Wl,-read_only_relocs,suppress])
VLC_ADD_CFLAGS([motion rotate],[-fconstant-cfstrings])
- VLC_ADD_LIBS([libvlccore],[-Wl,-framework,CoreFoundation,-framework,SystemConfiguration])
+ VLC_ADD_LIBS([libvlccore],[-Wl,-framework,CoreFoundation,-framework,CFNetwork])
dnl Allow binaries created on Lion to run on earlier releases
AC_EGREP_CPP(yes,
diff --git a/src/darwin/netconf.c b/src/darwin/netconf.c
index 0d9ca43..c36201c 100644
--- a/src/darwin/netconf.c
+++ b/src/darwin/netconf.c
@@ -28,13 +28,8 @@
#include <vlc_common.h>
#include <vlc_network.h>
-#import <TargetConditionals.h>
#include <CoreFoundation/CoreFoundation.h>
-#if TARGET_OS_IPHONE
#include <CFNetwork/CFProxySupport.h>
-#else
-#include <SystemConfiguration/SystemConfiguration.h>
-#endif
/**
* Determines the network proxy server to use (if any).
@@ -44,7 +39,6 @@
char *vlc_getProxyUrl(const char *url)
{
VLC_UNUSED(url);
-#if TARGET_OS_IPHONE
char *proxy_url = NULL;
CFDictionaryRef dicRef = CFNetworkCopySystemProxySettings();
if (NULL != dicRef) {
@@ -64,7 +58,6 @@ char *vlc_getProxyUrl(const char *url)
if (CFStringGetCString(proxyCFstr, host_buffer, sizeof(host_buffer)
- 1, kCFStringEncodingUTF8)) {
char buffer[4096];
- memset(host_buffer, 0, sizeof(host_buffer));
sprintf(buffer, "%s:%d", host_buffer, port);
proxy_url = strdup(buffer);
}
@@ -74,58 +67,4 @@ char *vlc_getProxyUrl(const char *url)
}
return proxy_url;
-#else
- CFDictionaryRef proxies = SCDynamicStoreCopyProxies(NULL);
- char *proxy_url = NULL;
-
- if (proxies) {
- CFNumberRef cfn_httpProxyOn =
- (CFNumberRef)CFDictionaryGetValue(proxies,
- kSCPropNetProxiesHTTPEnable);
- if (cfn_httpProxyOn) {
- int i_httpProxyOn;
- CFNumberGetValue(cfn_httpProxyOn, kCFNumberIntType, &i_httpProxyOn);
- CFRelease(cfn_httpProxyOn);
-
- if (i_httpProxyOn == 1) // http proxy is on
- {
- CFStringRef httpProxy =
- (CFStringRef)CFDictionaryGetValue(proxies,
- kSCPropNetProxiesHTTPProxy);
-
- if (httpProxy) {
- CFNumberRef cfn_httpProxyPort =
- (CFNumberRef)CFDictionaryGetValue(proxies,
- kSCPropNetProxiesHTTPPort);
- int i_httpProxyPort;
- CFNumberGetValue(cfn_httpProxyPort,
- kCFNumberIntType,
- &i_httpProxyPort);
- CFRelease(cfn_httpProxyPort);
-
- CFMutableStringRef outputURL =
- CFStringCreateMutableCopy(kCFAllocatorDefault,
- 0,
- httpProxy);
- if (i_httpProxyPort > 0)
- CFStringAppendFormat(outputURL,
- NULL,
- CFSTR(":%i"),
- i_httpProxyPort);
-
- char buffer[4096];
- if (CFStringGetCString(outputURL, buffer, sizeof(buffer),
- kCFStringEncodingUTF8))
- proxy_url = strdup(buffer);
-
- CFRelease(outputURL);
- }
- CFRelease(httpProxy);
- }
- }
- CFRelease(proxies);
- }
-
- return proxy_url;
-#endif
}
More information about the vlc-commits
mailing list