diff options
Diffstat (limited to 'src')
| -rwxr-xr-x | src/conf_mode/protocols_bgp.py | 9 | ||||
| -rwxr-xr-x | src/etc/dhcp/dhclient-exit-hooks.d/99-ipsec-dhclient-hook | 8 | ||||
| -rwxr-xr-x | src/op_mode/vpn_ike_sa.py | 4 | 
3 files changed, 12 insertions, 9 deletions
| diff --git a/src/conf_mode/protocols_bgp.py b/src/conf_mode/protocols_bgp.py index 79d97860b..6a33a2794 100755 --- a/src/conf_mode/protocols_bgp.py +++ b/src/conf_mode/protocols_bgp.py @@ -242,9 +242,14 @@ def verify(bgp):      # Verify vrf on interface and bgp section      if 'interface' in bgp:          for interface in bgp['interface']: +            error_msg = f'Interface "{interface}" belongs to different VRF instance'              tmp = get_interface_vrf(interface) -            if ('vrf' in bgp and bgp['vrf'] != tmp) or tmp != 'default': -                raise ConfigError(f'Interface "{interface}" belongs to different VRF instance!') +            if 'vrf' in bgp: +                if bgp['vrf'] != tmp: +                    vrf = bgp['vrf'] +                    raise ConfigError(f'{error_msg} "{vrf}"!') +            elif tmp != 'default': +                raise ConfigError(f'{error_msg} "{tmp}"!')      # Common verification for both peer-group and neighbor statements      for neighbor in ['neighbor', 'peer_group']: diff --git a/src/etc/dhcp/dhclient-exit-hooks.d/99-ipsec-dhclient-hook b/src/etc/dhcp/dhclient-exit-hooks.d/99-ipsec-dhclient-hook index 1f1926e17..a4738eb39 100755 --- a/src/etc/dhcp/dhclient-exit-hooks.d/99-ipsec-dhclient-hook +++ b/src/etc/dhcp/dhclient-exit-hooks.d/99-ipsec-dhclient-hook @@ -15,7 +15,7 @@  # along with this program.  If not, see <http://www.gnu.org/licenses/>.  if [ "$reason" == "REBOOT" ] || [ "$reason" == "EXPIRE" ]; then -    exit 0 +    return 0  fi  DHCP_HOOK_IFLIST="/tmp/ipsec_dhcp_waiting" @@ -24,12 +24,12 @@ if [ -f $DHCP_HOOK_IFLIST ] && [ "$reason" == "BOUND" ]; then      if grep -qw $interface $DHCP_HOOK_IFLIST; then          sudo rm $DHCP_HOOK_IFLIST          sudo /usr/libexec/vyos/conf_mode/vpn_ipsec.py -        exit 0 +        return 0      fi  fi  if [ "$old_ip_address" == "$new_ip_address" ] && [ "$reason" == "BOUND" ]; then -    exit 0 +    return 0  fi  python3 - <<PYEND @@ -83,4 +83,4 @@ if __name__ == '__main__':              call('sudo swanctl -q')      exit(0) -PYEND
\ No newline at end of file +PYEND diff --git a/src/op_mode/vpn_ike_sa.py b/src/op_mode/vpn_ike_sa.py index 4b44c5c15..240d0790c 100755 --- a/src/op_mode/vpn_ike_sa.py +++ b/src/op_mode/vpn_ike_sa.py @@ -39,8 +39,6 @@ def ike_sa(peer, nat):      peers = []      for conn in sas:          for name, sa in conn.items(): -            if peer and not name.startswith('peer_' + peer): -                continue              if name.startswith('peer_') and name in peers:                  continue              if nat and 'nat-local' not in sa: @@ -70,7 +68,7 @@ if __name__ == '__main__':      args = parser.parse_args() -    if not process_named_running('charon'): +    if not process_named_running('charon-systemd'):          print("IPsec Process NOT Running")          sys.exit(0) | 
