README for firewalld
====================

firewalld provides a dynamically managed firewall with support for network or 
firewall zones to define the trust level of network connections or interfaces. 
It has support for IPv4, IPv6 firewall settings and for ethernet bridges and a 
separation of runtime and permanent configuration options. It also provides an 
interface for services or applications to add ip*tables and ebtables rules 
directly. 


Development:
------------
To check out the source repository, you can use:

  git clone git://git.fedorahosted.org/git/firewalld

This will create a local copy of the repository.


Working With The Source Repository:
-----------------------------------
You can use the source repository directly to test out changes. Change into the 
firewalld base directory and set the following environment variables.

  export FIREWALLD_DEVEL_ENV=$(pwd)/src
  export PYTHONPATH=$FIREWALLD_DEVEL_ENV

Install the following requirements or packages:

  desktop-file-utils: /usr/bin/desktop-file-install
  gettext
  intltool
  glib2: /usr/bin/glib-compile-schemas
  glib2-devel: /usr/share/aclocal/gsettings.m4
  systemd-units
  dbus-python
  python-slip-dbus (http://fedorahosted.org/python-slip)
  python-decorator
  pygobject3-base (non-cairo parts of pygobject3)
  iptables
  ebtables

To be able to create man pages and documentation from docbook files:

  docbook-style-xsl

Use

  ./autogen.sh

in the base directory to create for example src/firewall/config/__init__.py

Use

  make

to create the documentation and to update the po files.

Now your are done.


Links:
------
Homepage:          https://fedorahosted.org/firewalld/
Git repo browser:  https://git.fedorahosted.org/cgit/firewalld.git
Git repo:          http://git.fedorahosted.org/git/firewalld.git
Documentation:     https://fedoraproject.org/wiki/FirewallD


Directory Structure:
--------------------
config/                 Configuration files
config/icmptypes/       Predefined ICMP types
config/services/        Predefined services
config/xmlschema/       XML Schema checks for config files
config/zones/           Predefined zones
doc/                    Documentation
doc/man/                Base directory for man pages
doc/man/man1/           Man(1) pages
doc/man/man5/           Man(5) pages
patches/                Common patches
po/                     Translations
shell-completion/       Base directory for auto completion scripts
shell-completion/bash/  Bash auto completion scripts
src/                    Source tree
src/firewall/           Import tree for the sevice and all applications
src/icons/              Icons in the sizes: 16, 22, 24, 32, 48 and scalable
src/tests/              Test scripts
