Ticket #284: openvpn-2.3.2-up-pre.patch

File openvpn-2.3.2-up-pre.patch, 4.2 KB (added by Simon Matter, 9 years ago)

Updated patch for 2.3.2

  • doc/openvpn.8

    diff -Naur openvpn-2.3.2.orig/doc/openvpn.8 openvpn-2.3.2/doc/openvpn.8
    old new  
    18001800.B route add -net 10.0.0.0 netmask 255.255.255.0 gw $5
    18011801.\"*********************************************************
    18021802.TP
     1803.B \-\-up-pre
     1804Call
     1805.B \-\-up
     1806cmd/script before, rather than after, TUN/TAP open.
     1807.\"*********************************************************
     1808.TP
    18031809.B \-\-up-delay
    18041810Delay TUN/TAP open and possible
    18051811.B \-\-up
  • src/openvpn/init.c

    diff -Naur openvpn-2.3.2.orig/src/openvpn/init.c openvpn-2.3.2/src/openvpn/init.c
    old new  
    14051405
    14061406  if (!c->c1.tuntap)
    14071407    {
     1408      /* actually run the up script based on --up-pre flag */
     1409      if (c->options.up_pre)
     1410        run_up_down (c->options.up_script,
     1411                     c->plugins,
     1412                     OPENVPN_PLUGIN_UP,
     1413                     "[unknown-dev]",
     1414                     dev_type_string (c->options.dev, c->options.dev_type),
     1415                     TUN_MTU_SIZE (&c->c2.frame),
     1416                     EXPANDED_SIZE (&c->c2.frame),
     1417                     NULL,
     1418                     NULL,
     1419                     "init",
     1420                     NULL,
     1421                     "up",
     1422                     c->c2.es);
     1423
    14081424      /* initialize (but do not open) tun/tap object */
    14091425      do_init_tun (c);
    14101426
     
    14451461          do_ifconfig (c->c1.tuntap, c->c1.tuntap->actual_name, TUN_MTU_SIZE (&c->c2.frame), c->c2.es);
    14461462        }
    14471463
    1448       /* run the up script */
    1449       run_up_down (c->options.up_script,
    1450                    c->plugins,
    1451                    OPENVPN_PLUGIN_UP,
    1452                    c->c1.tuntap->actual_name,
    1453                    dev_type_string (c->options.dev, c->options.dev_type),
    1454                    TUN_MTU_SIZE (&c->c2.frame),
    1455                    EXPANDED_SIZE (&c->c2.frame),
    1456                    print_in_addr_t (c->c1.tuntap->local, IA_EMPTY_IF_UNDEF, &gc),
    1457                    print_in_addr_t (c->c1.tuntap->remote_netmask, IA_EMPTY_IF_UNDEF, &gc),
    1458                    "init",
    1459                    NULL,
    1460                    "up",
    1461                    c->c2.es);
     1464      /* actually run the up script based on --up-pre flag */
     1465      if (!c->options.up_pre)
     1466        run_up_down (c->options.up_script,
     1467                     c->plugins,
     1468                     OPENVPN_PLUGIN_UP,
     1469                     c->c1.tuntap->actual_name,
     1470                     dev_type_string (c->options.dev, c->options.dev_type),
     1471                     TUN_MTU_SIZE (&c->c2.frame),
     1472                     EXPANDED_SIZE (&c->c2.frame),
     1473                     print_in_addr_t (c->c1.tuntap->local, IA_EMPTY_IF_UNDEF, &gc),
     1474                     print_in_addr_t (c->c1.tuntap->remote_netmask, IA_EMPTY_IF_UNDEF, &gc),
     1475                     "init",
     1476                     NULL,
     1477                     "up",
     1478                     c->c2.es);
    14621479
    14631480      /* possibly add routes */
    14641481      if (!c->options.route_delay_defined)
  • src/openvpn/options.c

    diff -Naur openvpn-2.3.2.orig/src/openvpn/options.c openvpn-2.3.2/src/openvpn/options.c
    old new  
    313313  "                  Execute as: cmd tun/tap-dev tun-mtu link-mtu \\\n"
    314314  "                              ifconfig-local-ip ifconfig-remote-ip\n"
    315315  "                  (pre --user or --group UID/GID change)\n"
     316  "--up-pre        : Run --up command before TUN/TAP open.\n"
    316317  "--up-delay      : Delay tun/tap open and possible --up script execution\n"
    317318  "                  until after TCP/UDP connection establishment with peer.\n"
    318319  "--down cmd      : Run command cmd after tun device close.\n"
     
    14811482  SHOW_STR (up_script);
    14821483  SHOW_STR (down_script);
    14831484  SHOW_BOOL (down_pre);
     1485  SHOW_BOOL (up_pre);
    14841486  SHOW_BOOL (up_restart);
    14851487  SHOW_BOOL (up_delay);
    14861488  SHOW_BOOL (daemon);
     
    45424544      VERIFY_PERMISSION (OPT_P_GENERAL);
    45434545      options->down_pre = true;
    45444546    }
     4547  else if (streq (p[0], "up-pre"))
     4548    {
     4549      VERIFY_PERMISSION (OPT_P_GENERAL);
     4550      options->up_pre = true;
     4551    }
    45454552  else if (streq (p[0], "up-delay"))
    45464553    {
    45474554      VERIFY_PERMISSION (OPT_P_GENERAL);
  • src/openvpn/options.h

    diff -Naur openvpn-2.3.2.orig/src/openvpn/options.h openvpn-2.3.2/src/openvpn/options.h
    old new  
    287287  const char *down_script;
    288288  bool user_script_used;
    289289  bool down_pre;
     290  bool up_pre;
    290291  bool up_delay;
    291292  bool up_restart;
    292293  bool daemon;