Changeset 5b8e4c0b86f93f09b2d876a97a578fa69483d008
- Timestamp:
- 11/02/07 10:32:56
(2 years ago)
- Author:
- Rémi Denis-Courmont <rem@videolan.org>
- git-committer:
- Rémi Denis-Courmont <rem@videolan.org> 1171186376 +0000
- git-parent:
[6bf818a2c35c0fbdfc4f3bbf8d8a45a873198ce7]
- git-author:
- Rémi Denis-Courmont <rem@videolan.org> 1171186376 +0000
- Message:
Fix link-scoped IPv6 addresses
-
Files:
-
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
| r02859f7 |
r5b8e4c0 |
|
| 39 | 39 | return NULL; |
|---|
| 40 | 40 | |
|---|
| 41 | | const char *ttl = NULL; |
|---|
| 42 | 41 | strcpy (buf, "IN IP* "); |
|---|
| | 42 | |
|---|
| | 43 | if (vlc_getnameinfo (addr, addrlen, buf + 7, MAXSDPADDRESS - 7, NULL, |
|---|
| | 44 | NI_NUMERICHOST)) |
|---|
| | 45 | return NULL; |
|---|
| 43 | 46 | |
|---|
| 44 | 47 | switch (addr->sa_family) |
|---|
| … | … | |
| 47 | 50 | { |
|---|
| 48 | 51 | if (net_SockAddrIsMulticast (addr, addrlen)) |
|---|
| 49 | | ttl = "/255"; // obsolete in RFC4566, dummy value |
|---|
| | 52 | strcat (buf, "/255"); // obsolete in RFC4566, dummy value |
|---|
| 50 | 53 | buf[5] = '4'; |
|---|
| 51 | 54 | break; |
|---|
| … | … | |
| 54 | 57 | #ifdef AF_INET6 |
|---|
| 55 | 58 | case AF_INET6: |
|---|
| | 59 | { |
|---|
| | 60 | char *ptr = strchr (buf, '%'); |
|---|
| | 61 | if (ptr != NULL) |
|---|
| | 62 | *ptr = '\0'; // remove scope ID |
|---|
| 56 | 63 | buf[5] = '6'; |
|---|
| 57 | 64 | break; |
|---|
| | 65 | } |
|---|
| 58 | 66 | #endif |
|---|
| 59 | 67 | |
|---|
| … | … | |
| 61 | 69 | return NULL; |
|---|
| 62 | 70 | } |
|---|
| 63 | | |
|---|
| 64 | | if (vlc_getnameinfo (addr, addrlen, buf + 7, MAXSDPADDRESS - 7, NULL, |
|---|
| 65 | | NI_NUMERICHOST)) |
|---|
| 66 | | return NULL; |
|---|
| 67 | | |
|---|
| 68 | | if (ttl != NULL) |
|---|
| 69 | | strcat (buf, ttl); |
|---|
| 70 | 71 | |
|---|
| 71 | 72 | return buf; |
|---|