Files
2026-07-30 11:19:44 +05:30

161 lines
5.3 KiB
C

/*
******************************************************************************
* INTERPEAK CONFIGURATION SOURCE FILE
*
* Document no: @(#) $Name: VXWORKS_ITER40_2019102207 $ $RCSfile: ipfirewall_config.c,v $ $Revision: 1.15 $
* $Source: /home/interpeak/CVSRoot/ipfirewall/config/ipfirewall_config.c,v $
* $Author: markus $
* $State: Exp $ $Locker: $
*
* INTERPEAK_COPYRIGHT_STRING
* Design and implementation by Markus Carlstedt <markus@interpeak.se>
******************************************************************************
*/
/*
****************************************************************************
* 1 DESCRIPTION
****************************************************************************
* Firewall configuration.
*/
/*
****************************************************************************
* 2 INCLUDE FILES
****************************************************************************
*/
#include "ipfirewall_config.h"
#include <ipcom_type.h>
#include <ipcom_cstyle.h>
#include <ipcom_err.h>
#include <ipcom_shell.h>
#include <ipcom_sysvar.h>
/*
****************************************************************************
* 3 DEFINES
****************************************************************************
*/
/*
****************************************************************************
* 4 TYPES
****************************************************************************
*/
/*
****************************************************************************
* 5 EXTERN PROTOTYPES
****************************************************************************
*/
IP_EXTERN int ipfirewall_cmd_ipfirewall(int argc, char **argv);
/*
****************************************************************************
* 6 LOCAL PROTOTYPES
****************************************************************************
*/
IP_PUBLIC Ip_err ipfirewall_configure(void);
/*
****************************************************************************
* 7 DATA
****************************************************************************
*/
/*
*===========================================================================
* SYSTEM VARIABLES
*===========================================================================
*/
IP_STATIC IP_CONST Ipcom_sysvar ipfirewall_conf_sysvar[] =
{
/* The timeout until an icmp stateful mapping expires */
IP_SYSVAR("ipfirewall.timeout.icmp", "5", IPF_ICMP_TIMEOUT),
/* The timeout until an udp stateful mapping expires */
IP_SYSVAR("ipfirewall.timeout.udp", "60", IPF_UDP_TIMEOUT),
/* The timeout until a tcp stateful mapping expires */
IP_SYSVAR("ipfirewall.timeout.tcp", "432000", IPF_TCP_TIMEOUT),
/* The timeout until other stateful mappings expires */
IP_SYSVAR("ipfirewall.timeout.other", "60", IPF_OTHER_TIMEOUT),
/* The maximum number of stateful mappings */
IP_SYSVAR("ipfirewall.capacity.states", "1000", IPF_MAX_STATEFUL_MAPPINGS),
#if IPCOM_USE_FILE != IPCOM_FILE_NONE
#ifdef IPCOM_USE_INET
/* IP filter rule specification file for IPv4 */
IP_SYSVAR("ipfirewall.rules.configv4", IPCOM_FILE_ROOT"fw4.cfg", IPF_IPV4_RULE_FILE),
#endif
#ifdef IPCOM_USE_INET6
/* IP filter rule specification file for IPv6 */
IP_SYSVAR("ipfirewall.rules.configv6", IPCOM_FILE_ROOT"fw6.cfg", IPF_IPV6_RULE_FILE),
#endif
/* MAC filter rule specification file */
IP_SYSVAR("ipfirewall.rules.configmac", IPCOM_FILE_ROOT"fwmac.cfg", IPF_FWMAC_RULE_FILE),
#endif
{ IP_NULL, IP_NULL }
};
/*
****************************************************************************
* 8 STATIC FUNCTIONS
****************************************************************************
*/
/*
****************************************************************************
* 9 GLOBAL FUNCTIONS
****************************************************************************
*/
/*
****************************************************************************
* 10 PUBLIC FUNCTIONS
****************************************************************************
*/
/*
*===========================================================================
* ipfirewall_configure
*===========================================================================
* Description: Firewall configure routine.
* Parameters: none.
* Returns: IPCOM_SUCCESS = ok
* IPCOM_ERR_XXX = error code.
*/
IP_PUBLIC Ip_err
ipfirewall_configure(void)
{
#if defined(INCLUDE_IPFIREWALL_CMD) || !defined(IP_PORT_VXWORKS)
Ip_err ret;
ret = ipcom_shell_add_cmd("ipf", "ipf [ options ] <modifier...>", "Firewall",
ipfirewall_cmd_ipfirewall, IPCOM_SHELL_PRIO_SAME, IPCOM_PROC_STACK_SMALL);
if(ret != IPCOM_SUCCESS)
return ret;
#endif /* defined(INCLUDE_IPFIREWALL_CMD) || !defined(IP_PORT_VXWORKS) */
return ipcom_sysvar_setv(ipfirewall_conf_sysvar, 0);
}
/*
****************************************************************************
* END OF FILE
****************************************************************************
*/