~ubuntu-branches/ubuntu/precise/openvpn/precise-updates

« back to all changes in this revision

Viewing changes to debian/patches/jjo-ipv6-support.patch

  • Committer: Bazaar Package Importer
  • Author(s): Thierry Carrez (ttx)
  • Date: 2010-10-20 16:22:25 UTC
  • Revision ID: james.westby@ubuntu.com-20101020162225-j4mawff8cjkdtm2a
Tags: 2.1.3-1ubuntu2
Fix jjo-ipv6-support.patch to avoid assertion failure at socket.c:629 in
corner cases where ! host && addr (LP: #627973)

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
Common subdirectories: openvpn-2.1_rc21/autom4te.cache and openvpn-2.1_rc21-ipv6-0.4.10/autom4te.cache
2
2
Index: openvpn-2.1.3/buffer.c
3
3
===================================================================
4
 
--- openvpn-2.1.3.orig/buffer.c 2010-07-27 08:14:22.000000000 +0200
5
 
+++ openvpn-2.1.3/buffer.c      2010-09-29 13:11:17.044457898 +0200
 
4
--- openvpn-2.1.3.orig/buffer.c 2010-10-20 16:14:03.081492278 +0200
 
5
+++ openvpn-2.1.3/buffer.c      2010-10-20 16:14:10.321675890 +0200
6
6
@@ -215,6 +215,23 @@
7
7
   return ret;
8
8
 }
29
29
  * that don't guarantee null termination for size > 0.
30
30
Index: openvpn-2.1.3/buffer.h
31
31
===================================================================
32
 
--- openvpn-2.1.3.orig/buffer.h 2010-07-27 07:51:03.000000000 +0200
33
 
+++ openvpn-2.1.3/buffer.h      2010-09-29 13:11:17.044457898 +0200
 
32
--- openvpn-2.1.3.orig/buffer.h 2010-10-20 16:14:03.111493037 +0200
 
33
+++ openvpn-2.1.3/buffer.h      2010-10-20 16:14:10.321675890 +0200
34
34
@@ -278,6 +278,11 @@
35
35
     ;
36
36
 
45
45
 int openvpn_snprintf(char *str, size_t size, const char *format, ...)
46
46
Index: openvpn-2.1.3/config.h.in
47
47
===================================================================
48
 
--- openvpn-2.1.3.orig/config.h.in      2010-08-27 18:10:00.000000000 +0200
49
 
+++ openvpn-2.1.3/config.h.in   2010-09-29 13:11:17.044457898 +0200
 
48
--- openvpn-2.1.3.orig/config.h.in      2010-10-20 16:14:03.151494053 +0200
 
49
+++ openvpn-2.1.3/config.h.in   2010-10-20 16:14:10.321675890 +0200
50
50
@@ -529,6 +529,9 @@
51
51
 /* Use LZO compression library */
52
52
 #undef USE_LZO
59
59
 
60
60
Index: openvpn-2.1.3/configure
61
61
===================================================================
62
 
--- openvpn-2.1.3.orig/configure        2010-08-27 18:10:00.000000000 +0200
63
 
+++ openvpn-2.1.3/configure     2010-09-29 13:11:17.052458286 +0200
 
62
--- openvpn-2.1.3.orig/configure        2010-10-20 16:14:03.311498110 +0200
 
63
+++ openvpn-2.1.3/configure     2010-10-20 16:14:10.341676398 +0200
64
64
@@ -1323,6 +1323,7 @@
65
65
   --disable-http          Disable HTTP proxy support
66
66
   --disable-fragment      Disable internal fragmentation support (--fragment)
161
161
    { echo "$as_me:$LINENO: checking for valgrind tool and Header files..." >&5
162
162
Index: openvpn-2.1.3/init.c
163
163
===================================================================
164
 
--- openvpn-2.1.3.orig/init.c   2010-09-29 13:11:02.373457337 +0200
165
 
+++ openvpn-2.1.3/init.c        2010-09-29 13:11:17.060477391 +0200
 
164
--- openvpn-2.1.3.orig/init.c   2010-10-20 16:14:10.191672594 +0200
 
165
+++ openvpn-2.1.3/init.c        2010-10-20 16:14:10.341676398 +0200
166
166
@@ -96,7 +96,7 @@
167
167
    */
168
168
   if (options->pull
271
271
 
272
272
Index: openvpn-2.1.3/manage.c
273
273
===================================================================
274
 
--- openvpn-2.1.3.orig/manage.c 2010-06-01 08:45:23.000000000 +0200
275
 
+++ openvpn-2.1.3/manage.c      2010-09-29 13:11:17.064477829 +0200
 
274
--- openvpn-2.1.3.orig/manage.c 2010-10-20 16:14:02.831485938 +0200
 
275
+++ openvpn-2.1.3/manage.c      2010-10-20 16:14:10.351676652 +0200
276
276
@@ -1957,9 +1957,9 @@
277
277
          /*
278
278
           * Initialize socket address
306
306
 
307
307
Index: openvpn-2.1.3/mroute.c
308
308
===================================================================
309
 
--- openvpn-2.1.3.orig/mroute.c 2010-04-28 18:25:39.000000000 +0200
310
 
+++ openvpn-2.1.3/mroute.c      2010-09-29 13:11:17.068477360 +0200
 
309
--- openvpn-2.1.3.orig/mroute.c 2010-10-20 16:14:03.251496590 +0200
 
310
+++ openvpn-2.1.3/mroute.c      2010-10-20 16:14:10.351676652 +0200
311
311
@@ -226,25 +226,47 @@
312
312
                                      const struct openvpn_sockaddr *osaddr,
313
313
                                      bool use_port)
400
400
          buf_printf (&out, "UNKNOWN"); 
401
401
Index: openvpn-2.1.3/mtcp.c
402
402
===================================================================
403
 
--- openvpn-2.1.3.orig/mtcp.c   2010-04-28 18:25:39.000000000 +0200
404
 
+++ openvpn-2.1.3/mtcp.c        2010-09-29 13:11:17.072477588 +0200
 
403
--- openvpn-2.1.3.orig/mtcp.c   2010-10-20 16:14:02.701482639 +0200
 
404
+++ openvpn-2.1.3/mtcp.c        2010-10-20 16:14:10.351676652 +0200
405
405
@@ -153,6 +153,11 @@
406
406
   ASSERT (mi->context.c2.link_socket);
407
407
   ASSERT (mi->context.c2.link_socket->info.lsa);
416
416
       msg (D_MULTI_ERRORS, "MULTI TCP: TCP client address is undefined");
417
417
Index: openvpn-2.1.3/multi.c
418
418
===================================================================
419
 
--- openvpn-2.1.3.orig/multi.c  2010-07-27 07:55:16.000000000 +0200
420
 
+++ openvpn-2.1.3/multi.c       2010-09-29 13:11:17.076498211 +0200
 
419
--- openvpn-2.1.3.orig/multi.c  2010-10-20 16:14:02.951488980 +0200
 
420
+++ openvpn-2.1.3/multi.c       2010-10-20 16:14:10.351676652 +0200
421
421
@@ -1066,8 +1066,8 @@
422
422
   struct mroute_addr addr;
423
423
 
479
479
 #else
480
480
Index: openvpn-2.1.3/occ.c
481
481
===================================================================
482
 
--- openvpn-2.1.3.orig/occ.c    2010-04-28 18:25:39.000000000 +0200
483
 
+++ openvpn-2.1.3/occ.c 2010-09-29 13:11:17.076498211 +0200
 
482
--- openvpn-2.1.3.orig/occ.c    2010-10-20 16:14:02.921488220 +0200
 
483
+++ openvpn-2.1.3/occ.c 2010-10-20 16:14:10.361676905 +0200
484
484
@@ -369,7 +369,7 @@
485
485
               c->c2.max_send_size_remote,
486
486
               c->c2.max_recv_size_local);
492
492
                  || c->c2.max_recv_size_local < c->c2.max_send_size_remote))
493
493
Index: openvpn-2.1.3/options.c
494
494
===================================================================
495
 
--- openvpn-2.1.3.orig/options.c        2010-09-29 13:11:11.213462341 +0200
496
 
+++ openvpn-2.1.3/options.c     2010-09-29 13:11:17.080458491 +0200
 
495
--- openvpn-2.1.3.orig/options.c        2010-10-20 16:14:10.281674877 +0200
 
496
+++ openvpn-2.1.3/options.c     2010-10-20 16:14:10.361676905 +0200
497
497
@@ -73,6 +73,12 @@
498
498
 #ifdef ENABLE_PKCS11
499
499
   " [PKCS11]"
683
683
 
684
684
Index: openvpn-2.1.3/ps.c
685
685
===================================================================
686
 
--- openvpn-2.1.3.orig/ps.c     2010-08-27 18:08:48.000000000 +0200
687
 
+++ openvpn-2.1.3/ps.c  2010-09-29 13:11:17.084459349 +0200
 
686
--- openvpn-2.1.3.orig/ps.c     2010-10-20 16:14:02.731483401 +0200
 
687
+++ openvpn-2.1.3/ps.c  2010-10-20 16:14:10.371677158 +0200
688
688
@@ -332,9 +332,9 @@
689
689
               const int port)
690
690
 {
701
701
Index: openvpn-2.1.3/README.ipv6
702
702
===================================================================
703
703
--- /dev/null   1970-01-01 00:00:00.000000000 +0000
704
 
+++ openvpn-2.1.3/README.ipv6   2010-09-29 13:11:17.084459349 +0200
 
704
+++ openvpn-2.1.3/README.ipv6   2010-10-20 16:14:10.371677158 +0200
705
705
@@ -0,0 +1,79 @@
706
706
+[ Last updated: 11-Nov-2009. ]
707
707
+
784
784
+:......     plus other scattered free software bits in the wild ...:
785
785
Index: openvpn-2.1.3/route.c
786
786
===================================================================
787
 
--- openvpn-2.1.3.orig/route.c  2010-07-12 03:54:09.000000000 +0200
788
 
+++ openvpn-2.1.3/route.c       2010-09-29 13:11:17.084459349 +0200
 
787
--- openvpn-2.1.3.orig/route.c  2010-10-20 16:14:02.881487205 +0200
 
788
+++ openvpn-2.1.3/route.c       2010-10-20 16:14:10.371677158 +0200
789
789
@@ -599,13 +599,23 @@
790
790
          if (!local)
791
791
            {
819
819
          /* route DHCP/DNS server traffic through original default gateway */
820
820
Index: openvpn-2.1.3/socket.c
821
821
===================================================================
822
 
--- openvpn-2.1.3.orig/socket.c 2010-09-29 13:11:08.149458043 +0200
823
 
+++ openvpn-2.1.3/socket.c      2010-09-29 13:14:34.437460019 +0200
 
822
--- openvpn-2.1.3.orig/socket.c 2010-10-20 16:14:10.231673607 +0200
 
823
+++ openvpn-2.1.3/socket.c      2010-10-20 16:19:47.680210718 +0200
824
824
@@ -37,23 +37,28 @@
825
825
 #include "memdbg.h"
826
826
 
1059
1059
 /*
1060
1060
  * We do our own inet_aton because the glibc function
1061
1061
  * isn't very good about error checking.
1062
 
@@ -411,20 +611,53 @@
 
1062
@@ -411,20 +611,54 @@
1063
1063
               bool *changed,
1064
1064
               const unsigned int sockflags)
1065
1065
 {
1119
1119
+      break;
1120
1120
+#endif
1121
1121
+    default:
 
1122
+      if (host && addr)
1122
1123
+        ASSERT(0);
1123
1124
+  }
1124
1125
 }
1125
1126
 
1126
1127
 static int
1127
 
@@ -617,6 +850,44 @@
 
1128
@@ -617,6 +851,44 @@
1128
1129
   return sd;
1129
1130
 }
1130
1131
 
1169
1170
 static void
1170
1171
 create_socket (struct link_socket *sock)
1171
1172
 {
1172
 
@@ -624,6 +895,7 @@
 
1173
@@ -624,6 +896,7 @@
1173
1174
   if (sock->info.proto == PROTO_UDPv4)
1174
1175
     {
1175
1176
       sock->sd = create_socket_udp (sock->sockflags);
1177
1178
 
1178
1179
 #ifdef ENABLE_SOCKS
1179
1180
       if (sock->socks_proxy)
1180
 
@@ -635,6 +907,18 @@
 
1181
@@ -635,6 +908,18 @@
1181
1182
     {
1182
1183
       sock->sd = create_socket_tcp ();
1183
1184
     }
1196
1197
   else
1197
1198
     {
1198
1199
       ASSERT (0);
1199
 
@@ -672,7 +956,12 @@
 
1200
@@ -672,7 +957,12 @@
1200
1201
                  struct link_socket_actual *act,
1201
1202
                  const bool nowait)
1202
1203
 {
1210
1211
   socket_descriptor_t new_sd = SOCKET_UNDEFINED;
1211
1212
 
1212
1213
   CLEAR (*act);
1213
 
@@ -680,7 +969,7 @@
 
1214
@@ -680,7 +970,7 @@
1214
1215
 #ifdef HAVE_GETPEERNAME
1215
1216
   if (nowait)
1216
1217
     {
1219
1220
 
1220
1221
       if (!socket_defined (new_sd))
1221
1222
        msg (D_LINK_ERRORS | M_ERRNO_SOCK, "TCP: getpeername() failed");
1222
 
@@ -693,7 +982,7 @@
 
1223
@@ -693,7 +983,7 @@
1223
1224
 #endif
1224
1225
   else
1225
1226
     {
1228
1229
     }
1229
1230
 
1230
1231
 #if 0 /* For debugging only, test the effect of accept() failures */
1231
 
@@ -709,7 +998,8 @@
 
1232
@@ -709,7 +999,8 @@
1232
1233
     {
1233
1234
       msg (D_LINK_ERRORS | M_ERRNO_SOCK, "TCP: accept(%d) failed", sd);
1234
1235
     }
1238
1239
     {
1239
1240
       msg (D_LINK_ERRORS, "TCP: Received strange incoming connection with unknown address length=%d", remote_len);
1240
1241
       openvpn_close_socket (new_sd);
1241
 
@@ -810,7 +1100,7 @@
 
1242
@@ -810,7 +1101,7 @@
1242
1243
 {
1243
1244
   struct gc_arena gc = gc_new ();
1244
1245
 
1247
1248
     {
1248
1249
       const int errnum = openvpn_errno_socket ();
1249
1250
       msg (M_FATAL, "%s: Socket bind failed on local address %s: %s",
1250
 
@@ -831,7 +1121,7 @@
 
1251
@@ -831,7 +1122,7 @@
1251
1252
 
1252
1253
 #ifdef CONNECT_NONBLOCK
1253
1254
   set_nonblock (sd);
1256
1257
   if (status)
1257
1258
     status = openvpn_errno_socket ();
1258
1259
   if (status == EINPROGRESS)
1259
 
@@ -889,7 +1179,7 @@
 
1260
@@ -889,7 +1180,7 @@
1260
1261
        }
1261
1262
     }
1262
1263
 #else
1265
1266
   if (status)
1266
1267
     status = openvpn_errno_socket ();
1267
1268
 #endif
1268
 
@@ -967,7 +1257,20 @@
 
1269
@@ -967,7 +1258,20 @@
1269
1270
       if (*signal_received)
1270
1271
        goto done;
1271
1272
 
1287
1288
       if (bind_local)
1288
1289
         socket_bind (*sd, local, "TCP Client");
1289
1290
       update_remote (remote_dynamic, remote, remote_changed, sockflags);
1290
 
@@ -1032,15 +1335,54 @@
 
1291
@@ -1032,15 +1336,54 @@
1291
1292
   /* resolve local address if undefined */
1292
1293
   if (!addr_defined (&sock->info.lsa->local))
1293
1294
     {
1348
1349
     }
1349
1350
   
1350
1351
   /* bind to local address/port */
1351
 
@@ -1063,14 +1405,32 @@
 
1352
@@ -1063,14 +1406,32 @@
1352
1353
                volatile int *signal_received)
1353
1354
 {
1354
1355
   struct gc_arena gc = gc_new ();
1383
1384
 
1384
1385
          if (sock->remote_host)
1385
1386
            {
1386
 
@@ -1113,13 +1473,31 @@
 
1387
@@ -1113,13 +1474,31 @@
1387
1388
                  ASSERT (0);
1388
1389
                }
1389
1390
 
1422
1423
              dmsg (D_SOCKET_DEBUG, "RESOLVE_REMOTE flags=0x%04x phase=%d rrs=%d sig=%d status=%d",
1423
1424
                   flags,
1424
1425
                   phase,
1425
 
@@ -1139,8 +1517,19 @@
 
1426
@@ -1139,8 +1518,19 @@
1426
1427
                  goto done;
1427
1428
                }
1428
1429
            }
1444
1445
        }
1445
1446
   
1446
1447
       /* should we re-use previous active remote address? */
1447
 
@@ -1257,7 +1646,11 @@
 
1448
@@ -1257,7 +1647,11 @@
1448
1449
   if (mode == LS_MODE_TCP_ACCEPT_FROM)
1449
1450
     {
1450
1451
       ASSERT (accept_from);
1457
1458
       ASSERT (!sock->inetd);
1458
1459
       sock->sd = accept_from->sd;
1459
1460
     }
1460
 
@@ -1389,7 +1782,11 @@
 
1461
@@ -1389,7 +1783,11 @@
1461
1462
        goto done;
1462
1463
 
1463
1464
       /* TCP client/server */
1470
1471
        {
1471
1472
          switch (sock->mode)
1472
1473
            {
1473
 
@@ -1424,7 +1821,11 @@
 
1474
@@ -1424,7 +1822,11 @@
1474
1475
              ASSERT (0);
1475
1476
            }
1476
1477
        }
1483
1484
        {
1484
1485
 
1485
1486
 #ifdef GENERAL_PROXY_SUPPORT
1486
 
@@ -1511,8 +1912,8 @@
 
1487
@@ -1511,8 +1913,8 @@
1487
1488
          sock->remote_port = sock->proxy_dest_port;
1488
1489
          sock->did_resolve_remote = false;
1489
1490
 
1494
1495
 
1495
1496
          resolve_remote (sock, 1, NULL, signal_received);
1496
1497
 
1497
 
@@ -1527,7 +1928,7 @@
 
1498
@@ -1527,7 +1929,7 @@
1498
1499
       if (remote_changed)
1499
1500
        {
1500
1501
          msg (M_INFO, "TCP/UDP: Dynamic remote address changed during TCP connection establishment");
1503
1504
        }
1504
1505
     }
1505
1506
 
1506
 
@@ -1709,13 +2110,20 @@
 
1507
@@ -1709,13 +2111,20 @@
1507
1508
 {
1508
1509
   struct gc_arena gc = gc_new ();
1509
1510
 
1530
1531
   gc_free (&gc);
1531
1532
 }
1532
1533
 
1533
 
@@ -1730,10 +2138,25 @@
 
1534
@@ -1730,10 +2139,25 @@
1534
1535
 {
1535
1536
   const struct link_socket_addr *lsa = info->lsa;
1536
1537
 
1558
1559
   else
1559
1560
     return 0;
1560
1561
 }
1561
 
@@ -1960,28 +2383,61 @@
 
1562
@@ -1960,28 +2384,61 @@
1562
1563
                   const unsigned int flags,
1563
1564
                   struct gc_arena *gc)
1564
1565
 {
1635
1636
 }
1636
1637
 
1637
1638
 const char *
1638
 
@@ -2001,12 +2457,41 @@
 
1639
@@ -2001,12 +2458,41 @@
1639
1640
       struct buffer out = alloc_buf_gc (128, gc);
1640
1641
       buf_printf (&out, "%s", print_sockaddr_ex (&act->dest, separator, flags, gc));
1641
1642
 #if ENABLE_IP_PKTINFO
1682
1683
        }
1683
1684
 #endif
1684
1685
       return BSTR (&out);
1685
 
@@ -2043,20 +2528,39 @@
 
1686
@@ -2043,20 +2529,39 @@
1686
1687
 {
1687
1688
   char name_buf[256];
1688
1689
 
1732
1733
 }
1733
1734
 
1734
1735
 void
1735
 
@@ -2066,7 +2570,8 @@
 
1736
@@ -2066,7 +2571,8 @@
1736
1737
     {
1737
1738
       struct openvpn_sockaddr si;
1738
1739
       CLEAR (si);
1742
1743
       setenv_sockaddr (es, name_prefix, &si, flags);
1743
1744
     }
1744
1745
 }
1745
 
@@ -2087,16 +2592,63 @@
 
1746
@@ -2087,16 +2593,63 @@
1746
1747
 struct proto_names {
1747
1748
   const char *short_form;
1748
1749
   const char *display_form;
1811
1812
 int
1812
1813
 ascii2proto (const char* proto_name)
1813
1814
 {
1814
 
@@ -2136,6 +2688,45 @@
 
1815
@@ -2136,6 +2689,45 @@
1815
1816
   return BSTR (&out);
1816
1817
 }
1817
1818
 
1857
1858
 /*
1858
1859
  * Given a local proto, return local proto
1859
1860
  * if !remote, or compatible remote proto
1860
 
@@ -2150,10 +2741,15 @@
 
1861
@@ -2150,10 +2742,15 @@
1861
1862
   ASSERT (proto >= 0 && proto < PROTO_N);
1862
1863
   if (remote)
1863
1864
     {
1877
1878
     }
1878
1879
   return proto;
1879
1880
 }
1880
 
@@ -2212,10 +2808,24 @@
 
1881
@@ -2212,10 +2809,24 @@
1881
1882
 #if ENABLE_IP_PKTINFO
1882
1883
 
1883
1884
 #pragma pack(1) /* needed to keep structure size consistent for 32 vs. 64-bit architectures */
1904
1905
 };
1905
1906
 #pragma pack()
1906
1907
 
1907
 
@@ -2226,18 +2836,18 @@
 
1908
@@ -2226,18 +2837,18 @@
1908
1909
                                    struct link_socket_actual *from)
1909
1910
 {
1910
1911
   struct iovec iov;
1927
1928
   buf->len = recvmsg (sock->sd, &mesg, 0);
1928
1929
   if (buf->len >= 0)
1929
1930
     {
1930
 
@@ -2248,12 +2858,24 @@
 
1931
@@ -2248,12 +2859,24 @@
1931
1932
          && CMSG_NXTHDR (&mesg, cmsg) == NULL
1932
1933
          && cmsg->cmsg_level == SOL_IP 
1933
1934
          && cmsg->cmsg_type == IP_PKTINFO
1955
1956
     }
1956
1957
   return fromlen;
1957
1958
 }
1958
 
@@ -2265,18 +2887,20 @@
 
1959
@@ -2265,18 +2888,20 @@
1959
1960
                            int maxsize,
1960
1961
                            struct link_socket_actual *from)
1961
1962
 {
1982
1983
   return buf->len;
1983
1984
 }
1984
1985
 
1985
 
@@ -2313,26 +2937,54 @@
 
1986
@@ -2313,26 +2938,54 @@
1986
1987
   struct iovec iov;
1987
1988
   struct msghdr mesg;
1988
1989
   struct cmsghdr *cmsg;
2052
2053
   return sendmsg (sock->sd, &mesg, 0);
2053
2054
 }
2054
2055
 
2055
 
@@ -2353,11 +3005,11 @@
 
2056
@@ -2353,11 +3006,11 @@
2056
2057
       int status;
2057
2058
 
2058
2059
       /* reset buf to its initial state */
2066
2067
        {
2067
2068
          stream_buf_get_next (&sock->stream_buf, &sock->reads.buf);
2068
2069
        }
2069
 
@@ -2377,10 +3029,15 @@
 
2070
@@ -2377,10 +3030,15 @@
2070
2071
       ASSERT (ResetEvent (sock->reads.overlapped.hEvent));
2071
2072
       sock->reads.flags = 0;
2072
2073
 
2084
2085
          status = WSARecvFrom(
2085
2086
                               sock->sd,
2086
2087
                               wsabuf,
2087
 
@@ -2392,7 +3049,7 @@
 
2088
@@ -2392,7 +3050,7 @@
2088
2089
                               &sock->reads.overlapped,
2089
2090
                               NULL);
2090
2091
        }
2093
2094
        {
2094
2095
          sock->reads.addr_defined = false;
2095
2096
          status = WSARecv(
2096
 
@@ -2412,8 +3069,14 @@
 
2097
@@ -2412,8 +3070,14 @@
2097
2098
 
2098
2099
       if (!status) /* operation completed immediately? */
2099
2100
        {
2108
2109
 
2109
2110
          sock->reads.iostate = IOSTATE_IMMEDIATE_RETURN;
2110
2111
 
2111
 
@@ -2472,12 +3135,22 @@
 
2112
@@ -2472,12 +3136,22 @@
2112
2113
       ASSERT (ResetEvent (sock->writes.overlapped.hEvent));
2113
2114
       sock->writes.flags = 0;
2114
2115
 
2134
2135
 
2135
2136
          status = WSASendTo(
2136
2137
                               sock->sd,
2137
 
@@ -2490,7 +3163,7 @@
 
2138
@@ -2490,7 +3164,7 @@
2138
2139
                               &sock->writes.overlapped,
2139
2140
                               NULL);
2140
2141
        }
2143
2144
        {
2144
2145
          /* destination address for TCP writes was established on connection initiation */
2145
2146
          sock->writes.addr_defined = false;
2146
 
@@ -2629,13 +3302,44 @@
 
2147
@@ -2629,13 +3303,44 @@
2147
2148
   if (from)
2148
2149
     {
2149
2150
       if (ret >= 0 && io->addr_defined)
2192
2193
   if (buf)
2193
2194
Index: openvpn-2.1.3/socket.h
2194
2195
===================================================================
2195
 
--- openvpn-2.1.3.orig/socket.h 2010-07-12 03:54:09.000000000 +0200
2196
 
+++ openvpn-2.1.3/socket.h      2010-09-29 13:11:17.096458849 +0200
 
2196
--- openvpn-2.1.3.orig/socket.h 2010-10-20 16:14:02.791484922 +0200
 
2197
+++ openvpn-2.1.3/socket.h      2010-10-20 16:14:10.381677412 +0200
2197
2198
@@ -70,7 +70,13 @@
2198
2199
 struct openvpn_sockaddr
2199
2200
 {
2572
2573
     }
2573
2574
Index: openvpn-2.1.3/socks.c
2574
2575
===================================================================
2575
 
--- openvpn-2.1.3.orig/socks.c  2010-04-28 18:25:39.000000000 +0200
2576
 
+++ openvpn-2.1.3/socks.c       2010-09-29 13:11:17.096458849 +0200
 
2576
--- openvpn-2.1.3.orig/socks.c  2010-10-20 16:14:03.181494814 +0200
 
2577
+++ openvpn-2.1.3/socks.c       2010-10-20 16:14:10.381677412 +0200
2577
2578
@@ -174,9 +174,9 @@
2578
2579
 
2579
2580
   if (addr != NULL)
2622
2623
 }
2623
2624
Index: openvpn-2.1.3/syshead.h
2624
2625
===================================================================
2625
 
--- openvpn-2.1.3.orig/syshead.h        2010-07-27 00:06:51.000000000 +0200
2626
 
+++ openvpn-2.1.3/syshead.h     2010-09-29 13:11:17.096458849 +0200
 
2626
--- openvpn-2.1.3.orig/syshead.h        2010-10-20 16:14:02.661481626 +0200
 
2627
+++ openvpn-2.1.3/syshead.h     2010-10-20 16:14:10.381677412 +0200
2627
2628
@@ -28,6 +28,10 @@
2628
2629
 /*
2629
2630
  * Only include if not during configure
2648
2649
Index: openvpn-2.1.3/TODO.ipv6
2649
2650
===================================================================
2650
2651
--- /dev/null   1970-01-01 00:00:00.000000000 +0000
2651
 
+++ openvpn-2.1.3/TODO.ipv6     2010-09-29 13:11:17.096458849 +0200
 
2652
+++ openvpn-2.1.3/TODO.ipv6     2010-10-20 16:14:10.381677412 +0200
2652
2653
@@ -0,0 +1,30 @@
2653
2654
+[ Last updated: 11-Nov-2009. ]
2654
2655
+
2682
2683
+    support in this patch 
2683
2684
Index: openvpn-2.1.3/tun.c
2684
2685
===================================================================
2685
 
--- openvpn-2.1.3.orig/tun.c    2010-07-27 23:44:33.000000000 +0200
2686
 
+++ openvpn-2.1.3/tun.c 2010-09-29 13:11:17.100458729 +0200
 
2686
--- openvpn-2.1.3.orig/tun.c    2010-10-20 16:14:03.281497349 +0200
 
2687
+++ openvpn-2.1.3/tun.c 2010-10-20 16:14:10.391677666 +0200
2687
2688
@@ -1605,7 +1605,9 @@
2688
2689
          strerror(errno));
2689
2690
       }
2696
2697
        msg (M_WARN | M_ERRNO, "Can't set interface info: %s",
2697
2698
Index: openvpn-2.1.3/win32.h
2698
2699
===================================================================
2699
 
--- openvpn-2.1.3.orig/win32.h  2010-07-27 23:44:34.000000000 +0200
2700
 
+++ openvpn-2.1.3/win32.h       2010-09-29 13:11:17.104462311 +0200
 
2700
--- openvpn-2.1.3.orig/win32.h  2010-10-20 16:14:02.761484162 +0200
 
2701
+++ openvpn-2.1.3/win32.h       2010-10-20 16:14:10.391677666 +0200
2701
2702
@@ -195,7 +195,10 @@
2702
2703
   DWORD flags;
2703
2704
   int status;