[vlc-commits] [Git][videolan/vlc][3.0.x] bonjour: add brackets in IPv6 addresses in service URLs
Felix Paul Kühne (@fkuehne)
gitlab at videolan.org
Sat Apr 4 16:17:30 UTC 2026
Felix Paul Kühne pushed to branch 3.0.x at VideoLAN / VLC
Commits:
660938d9 by Felix Paul Kühne at 2026-04-03T17:51:02+02:00
bonjour: add brackets in IPv6 addresses in service URLs
This solves a crash on parsing. This is analogous to 996b7524f on
master introduced in !8797. However, due Mac OS X 10.7 and 10.8, we
cannot use NSURLComponents in v3.
- - - - -
1 changed file:
- modules/services_discovery/bonjour.m
Changes:
=====================================
modules/services_discovery/bonjour.m
=====================================
@@ -356,7 +356,10 @@ static NSString * ipAddressAsStringForData(NSData * data)
{
vlc_renderer_discovery_t *p_rd = (vlc_renderer_discovery_t *)_p_this;
- NSString *uri = [NSString stringWithFormat:@"%@://%@:%ld", protocol, netService.hostName, netService.port];
+ NSString *host = netService.hostName;
+ if( [host rangeOfString:@":"].location != NSNotFound )
+ host = [NSString stringWithFormat:@"[%@]", host];
+ NSString *uri = [NSString stringWithFormat:@"%@://%@:%ld", protocol, host, (long)netService.port];
NSDictionary *txtDict = [NSNetService dictionaryFromTXTRecordData:[netService TXTRecordData]];
NSString *displayName = netService.name;
int rendererFlags = 0;
@@ -419,7 +422,10 @@ static NSString * ipAddressAsStringForData(NSData * data)
if ([protocol isEqualToString:@"smb"]) {
host = ipAddressAsStringForData(netService.addresses.firstObject);
}
- NSString *uri = [NSString stringWithFormat:@"%@://%@:%ld", protocol, host, netService.port];
+
+ if( [host rangeOfString:@":"].location != NSNotFound )
+ host = [NSString stringWithFormat:@"[%@]", host];
+ NSString *uri = [NSString stringWithFormat:@"%@://%@:%ld", protocol, host, (long)netService.port];
input_item_t *p_input_item = input_item_NewDirectory([uri UTF8String], [netService.name UTF8String], ITEM_NET );
if (p_input_item != NULL) {
View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/660938d9a58323f1b3b6bc4284396203ba13126f
--
View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/660938d9a58323f1b3b6bc4284396203ba13126f
You're receiving this email because of your account on code.videolan.org.
More information about the vlc-commits
mailing list