|
114 | 114 | OXZ_GUI_ROW_EXIT = 27 |
115 | 115 | }; |
116 | 116 |
|
117 | | -#if OOLITE_LINUX |
118 | | -#include <sys/socket.h> |
119 | | -#include <arpa/inet.h> |
120 | | -#include <unistd.h> |
121 | | - |
122 | | -static BOOL OOIsNetworkAvailable() |
123 | | -{ |
124 | | - // Try to connect to a reliable IP (Google DNS) on port 53 (DNS) |
125 | | - struct sockaddr_in servaddr; |
126 | | - int sockfd = socket(AF_INET, SOCK_STREAM, 0); |
127 | | - if (sockfd < 0) return NO; |
128 | | - |
129 | | - bzero(&servaddr, sizeof(servaddr)); |
130 | | - servaddr.sin_family = AF_INET; |
131 | | - servaddr.sin_port = htons(53); |
132 | | - inet_pton(AF_INET, "8.8.8.8", &servaddr.sin_addr); |
133 | | - |
134 | | - // Set a very short timeout so the UI doesn't hang |
135 | | - struct timeval timeout; |
136 | | - timeout.tv_sec = 0; |
137 | | - timeout.tv_usec = 500000; // 0.5 seconds |
138 | | - setsockopt(sockfd, SOL_SOCKET, SO_SNDTIMEO, (char *)&timeout, sizeof(timeout)); |
139 | | - |
140 | | - BOOL reachable = (connect(sockfd, (struct sockaddr *)&servaddr, sizeof(servaddr)) == 0); |
141 | | - close(sockfd); |
142 | | - return reachable; |
143 | | -} |
144 | | -#endif |
145 | | - |
146 | 117 | NSComparisonResult oxzSort(id m1, id m2, void *context); |
147 | 118 |
|
148 | 119 | static OOOXZManager *sSingleton = nil; |
@@ -666,14 +637,6 @@ - (BOOL) updateManifests |
666 | 637 |
|
667 | 638 | - (BOOL) beginDownload:(NSMutableURLRequest *)request |
668 | 639 | { |
669 | | -#if OOLITE_LINUX |
670 | | - if (!OOIsNetworkAvailable()) |
671 | | - { |
672 | | - OOLog(kOOOXZErrorLog, @"Network unreachable. Aborting download."); |
673 | | - _downloadStatus = OXZ_DOWNLOAD_ERROR; |
674 | | - return NO; |
675 | | - } |
676 | | -#endif |
677 | 640 | NSString *userAgent = [NSString stringWithFormat:@"Oolite/%@", [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleVersion"]]; |
678 | 641 | [request setValue:userAgent forHTTPHeaderField:@"User-Agent"]; |
679 | 642 | [request setHTTPShouldHandleCookies:NO]; |
|
0 commit comments