Changeset e59aaa
- Timestamp:
- 06/14/09 21:50:35 (3 years ago)
- Branches:
- master
- Children:
- 8fc8ce
- Parents:
- f20b3c
- git-author:
- Erik Ekman <yarrick@…> (06/14/09 21:50:35)
- git-committer:
- Erik Ekman <erik@…> (02/04/12 20:34:02)
- Files:
-
- 4 edited
-
CHANGELOG (modified) (1 diff)
-
README-win32.txt (modified) (2 diffs)
-
src/iodine.c (modified) (1 diff)
-
src/tun.c (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
-
CHANGELOG
r6ac35c re59aaa 8 8 20xx-xx-xx: x.y.z 9 9 - Fixed tunnel not working on Windows. 10 - Any device name is now supported on Windows, fixes #47. 10 11 11 12 2009-06-01: 0.5.2 "WifiFree" -
README-win32.txt
r894ca2 re59aaa 16 16 2. Have one TAP32 interface installed 17 17 18 3. Name the interface "dns"18 3. Make sure the interface does not have a default gateway set 19 19 20 4. Make sure the interface does not have a default gateway set 21 22 5. Run iodine/iodined as normal (see the main README file). 20 4. Run iodine/iodined as normal (see the main README file). 23 21 You may have to run it as administrator depending on user privileges. 24 22 25 6. Enjoy!23 5. Enjoy! 26 24 27 25 … … 51 49 The following fixable limitations apply: 52 50 - Exactly one TAP32 interface must be installed 53 - The TAP32 interface must be named "dns" and be version 0801 or 090154 51 - Server cannot read packet destination address 55 52 -
src/iodine.c
rf20b3c re59aaa 741 741 742 742 if(r > 0) { 743 len = read(dns_fd, in, sizeof(in)); 743 /* recv() needed for windows, dont change to read() */ 744 len = recv(dns_fd, in, sizeof(in), 0); 744 745 if (len >= (17 + RAW_HDR_LEN)) { 745 746 char hash[16]; -
src/tun.c
r96ee6f re59aaa 38 38 39 39 #define TAP_ADAPTER_KEY "SYSTEM\\CurrentControlSet\\Control\\Class\\{4D36E972-E325-11CE-BFC1-08002BE10318}" 40 #define NETWORK_KEY "SYSTEM\\CurrentControlSet\\Control\\Network\\{4D36E972-E325-11CE-BFC1-08002BE10318}" 40 41 #define TAP_DEVICE_SPACE "\\\\.\\Global\\" 41 42 #define TAP_VERSION_ID_0801 "tap0801" … … 54 55 #include "common.h" 55 56 56 char if_name[ 50];57 char if_name[250]; 57 58 58 59 #ifndef WINDOWS32 … … 228 229 } 229 230 231 static void 232 get_name(char *dev_name) 233 { 234 char path[256]; 235 char name_str[256] = "Name"; 236 LONG status; 237 HKEY conn_key; 238 DWORD len; 239 DWORD datatype; 240 241 memset(if_name, 0, sizeof(if_name)); 242 243 snprintf(path, sizeof(path), NETWORK_KEY "\\%s\\Connection", dev_name); 244 status = RegOpenKeyEx(HKEY_LOCAL_MACHINE, path, 0, KEY_READ, &conn_key); 245 printf("%s ?? %s\n", path, dev_name); 246 if (status != ERROR_SUCCESS) { 247 fprintf(stderr, "Could not look up name of interface %s: error opening key\n", dev_name); 248 RegCloseKey(conn_key); 249 return; 250 } 251 len = sizeof(if_name); 252 status = RegQueryValueEx(conn_key, name_str, NULL, &datatype, (LPBYTE)if_name, &len); 253 if (status != ERROR_SUCCESS || datatype != REG_SZ) { 254 fprintf(stderr, "Could not look up name of interface %s: error reading value\n", dev_name); 255 RegCloseKey(conn_key); 256 return; 257 } 258 RegCloseKey(conn_key); 259 } 260 230 261 DWORD WINAPI tun_reader(LPVOID arg) 231 262 { … … 266 297 memset(adapter, 0, sizeof(adapter)); 267 298 get_device(adapter, sizeof(adapter)); 268 269 if (strlen(adapter) == 0) { 299 get_name(adapter); /* Copies interface 'human name' to if_name */ 300 301 if (strlen(adapter) == 0 || strlen(if_name) == 0) { 270 302 warnx("No TAP adapters found. See README-win32.txt for help.\n"); 271 303 return -1; … … 278 310 return -1; 279 311 } 280 281 /* TODO get name of interface */282 strncpy(if_name, "dns", MIN(4, sizeof(if_name)));283 312 284 313 /* Use a UDP connection to forward packets from tun,
Note: See TracChangeset
for help on using the changeset viewer.
