NAME

Proc - The PCXFireWall Proc VFS interface.


SYNOPSIS

  use PCXFireWall::Proc;
  my $proc = PCXFireWall::Proc->new;
  # turn off ip_forward'ing in the Nat module before any nat rules
  $proc->sysNetIPv4(file => "ip_forward", value => "0",
                    module => "Nat", required => "true");
  # you define some Nat rules ...
  # turn ip_forward'ing on now after the nat rules
  $proc->sysNetIPv4(file => "ip_forward", value => "1",
                    module => "Nat", required => "true",
                    when => "Post");


DESCRIPTION

Proc is the Proc VFS generic interface Object for the PCXFireWall.


FUNCTIONS

  scalar new(void)
    Creates a new instance of the PCXFireWall::Proc object.
    Initializes the modules hash.
  void display(fh, module, when)
    This routine will write the rules to the file via fh.  This is
    called by the generator script.
    module and when determine which branch to display so that the
    Pre and Post rules get displayed at the correct time.
  void displayShellFunctions(fh)
    This routine will output the necessary shell functions to the file.
    This is called by the generator script.
  sysNetIPv4(file, value, module, required, when)
    required: file, value
    optional: module, required, when
    directory: /proc/sys/net/ipv4
    summary:  Generates the shell script code to update the specified
              file with the specified value.  The code is generated
              and stored in the Pre or Post array for the module.
              If module is not specified, it defaults to Filter.
              If when is not specified, it defaults to Pre.
              If required is not specified, it defaults to false.
              If the file must exist then the code is written to
              generate an error and then stop running otherwise the
              code will just generate an error if the file is not
              found when it executes.
    valid values:
              module (Filter, Nat)
              required (true, false)
              when (Pre, Post)
  sysNetIPv4Conf(file, value, module, required, when, iface)
    required: file, value
    optional: module, required, when, iface
    directory: /proc/sys/net/ipv4/conf
    summary: See sysNetIPv4 for info on everything but iface.
             iface allows you to specify the interface to work with.
    valid values:
             iface (all or any valid interface defined on the system)


VARIABLES

  modules - hash of modules (Filter, Nat) with hash entries
            Pre and Post that represent the /proc files
            that should be modified before or after the
            modules rules are output.
  NOTE:  All data fields are accessible by specifying the object
         and pointing to the data member to be modified on the
         left-hand side of the assignment.
         Ex.  $obj->variable($newValue); or $value = $obj->variable;


AUTHOR

Xperience, Inc. (mailto:admin at pcxperience.com)


SEE ALSO

perl(1)