# Copyright 2014 The Chromium OS Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be found
# in the LICENSE file.

description     "Set iptables policies and add rules"
author          "chromium-os-dev@chromium.org"

start on starting network-services
task

script
  # This script simply disables forwarding of traffic between interfaces
  # while leaving the firewall open for the services we plan to run as
  # part of mobbase projects.
  iptables -P FORWARD DROP
end script
