Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
108 changes: 73 additions & 35 deletions source/firewall/firewall.c

Large diffs are not rendered by default.

6 changes: 4 additions & 2 deletions source/igd/src/igd_device_root.c
Original file line number Diff line number Diff line change
Expand Up @@ -80,9 +80,11 @@
#include "pal_kernel.h"
#include "igd_platform_independent_inf.h"
#include "igd_utility.h"

#if defined(_PLATFORM_GENERICARM_)
#define DEFAULT_WEB_DIR "/var/volatile/IGD"
#else
#define DEFAULT_WEB_DIR "/var/IGD"

#endif
#define DEFAULT_ADVR_EXPIRE 1800
#define VERSION_MAJOR 1
#define VERSION_MINOR 0
Expand Down
39 changes: 38 additions & 1 deletion source/scripts/init/service.d/lan_handler.sh
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,12 @@ SERVICE_NAME="lan_handler"

POSTD_START_FILE="/tmp/.postd_started"

if [ "$BOX_TYPE" = "genericarm" ]; then
RPI_SPECIFIC="rpi"
else
RPI_SPECIFIC=$BOX_TYPE
fi

#args: router IP, subnet mask
ap_addr() {
if [ "$2" ]; then
Expand Down Expand Up @@ -130,6 +135,19 @@ if [ "$1" = "lan-stop" ] && [ "$2" = "NULL" ] ; then
fi
#echo "lan_handler called with $1 $2" > /dev/console

if [ "$BOX_TYPE" = "genericarm" ]; then
# Used by brlan0_check.sh to workaround LAN issue
if [ "$1" = "lan-start" ]; then
touch /tmp/utopia-lan-started
fi
if [ "$1" = "lan-stop" ]; then
rm /tmp/utopia-lan-started || :
fi
if [ "$1" = "ipv4_4-status" ] && [ "$2" = "up" ]; then
touch /tmp/utopia-ipv4-4-up
fi
fi

case "$1" in
${SERVICE_NAME}-start)
service_start
Expand Down Expand Up @@ -308,6 +326,25 @@ case "$1" in
echo "Setting up brlan10 for HOME_LAN_ISOLATION"
sysevent set multinet-up 9
fi
if [ "${BOX_TYPE}" = "genericarm" ]; then
# --------------------------------------------------------------------
# RPi specific change begin
# --------------------------------------------------------------------

PHY_BRIDGE_IFNAME=`syscfg get lan_ifname`
PHY_ETH_IFNAMES=`syscfg get lan_ethernet_physical_ifnames`
IFS=' ' read -r -a PHY_ETH_IFNAME_ARRAY <<< "$PHY_ETH_IFNAMES"
for PHY_ETH_IFNAME in "${PHY_ETH_IFNAME_ARRAY[@]}"
do
echo "LAN HANDLER : PHY_ETH_IFNAME = $PHY_ETH_IFNAME"
ifconfig $PHY_ETH_IFNAME up
brctl addif $PHY_BRIDGE_IFNAME $PHY_ETH_IFNAME
done

# --------------------------------------------------------------------
# RPi specific change end
# --------------------------------------------------------------------
fi

echo_t "LAN HANDLER : Triggering RDKB_FIREWALL_RESTART after nfqhandler"
t2CountNotify "RF_INFO_RDKB_FIREWALL_RESTART"
Expand Down Expand Up @@ -356,7 +393,7 @@ case "$1" in
echo_t "THE INSTANT=$INST"
echo_t "THE INSTANT=$INST"
#(use a simpler test than this -- but Hacky, since it assumes everything we want is not XB3!!)if [ "$BOX_TYPE" = "TCCBR" ] || [ "$BOX_TYPE" = "XB6" -a "$MANUFACTURE" = "Technicolor" ] || [ "$BOX_TYPE" = "XB7" -a "$MANUFACTURE" = "Technicolor" ] ; then
if ( [ "$BOX_TYPE" != "XB3" ] && ( [ "$MANUFACTURE" = "Technicolor" ] || [ "$MANUFACTURE" = "Sercomm" ] ) ) || [ "$BOX_TYPE" = "rpi" ] || [ "$BOX_TYPE" = "bpi" ]; then
if ( [ "$BOX_TYPE" != "XB3" ] && ( [ "$MANUFACTURE" = "Technicolor" ] || [ "$MANUFACTURE" = "Sercomm" ] ) ) || [ "$BOX_TYPE" = "rpi" ] || [ "$BOX_TYPE" = "bpi" ] || [ "$BOX_TYPE" = "genericarm" ]; then
COUNTER=1
while [ $COUNTER -lt 10 ]; do
echo_t "RDKB_SYSTEM_BOOT_UP_LOG : INST returned null , retrying $COUNTER"
Expand Down
8 changes: 6 additions & 2 deletions source/scripts/init/service.d/service_dhcp_server.sh
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,11 @@ UTOPIA_PATH="/etc/utopia/service.d"
SERVICE_NAME="dhcp_server"

#DHCP_CONF=/etc/dnsmasq.conf
if ([ "$BOX_TYPE" = "genericarm" ]) ;then
DHCP_CONF=/var/volatile/dnsmasq.conf
else
DHCP_CONF=/var/dnsmasq.conf
fi
RESOLV_CONF=/etc/resolv.conf
BIN=dnsmasq
SERVER=${BIN}
Expand Down Expand Up @@ -451,7 +455,7 @@ dhcp_server_start ()
return 1
fi

if [ "$BOX_TYPE" != "rpi" ] && [ "$BOX_TYPE" != "bpi" ] && [ "$BOX_TYPE" != "turris" ]; then
if [ "$BOX_TYPE" != "rpi" ] && [ "$BOX_TYPE" != "bpi" ] && [ "$BOX_TYPE" != "turris" ] && [ "$BOX_TYPE" != "genericarm" ]; then
DHCP_STATE=`sysevent get lan_status-dhcp`
#if [ "started" != "$CURRENT_LAN_STATE" ] ; then
if [ "started" != "$DHCP_STATE" ] ; then
Expand Down Expand Up @@ -591,7 +595,7 @@ dhcp_server_start ()
if [ $? -eq 0 ]; then
echo_t "$SERVER process started successfully"
else
if [ "$BOX_TYPE" = "XB6" ] || [ "$BOX_TYPE" = "PUMA7_CGP" ] || [ "$BOX_TYPE" = "rpi" ] || [ "$BOX_TYPE" = "bpi" ] || [ "$BOX_TYPE" = "turris" ] ; then
if [ "$BOX_TYPE" = "XB6" ] || [ "$BOX_TYPE" = "PUMA7_CGP" ] || [ "$BOX_TYPE" = "rpi" ] || [ "$BOX_TYPE" = "bpi" ] || [ "$BOX_TYPE" = "turris" ] || [ "$BOX_TYPE" = "genericarm" ]; then

COUNTER=0
while [ $COUNTER -lt 5 ]; do
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1132,7 +1132,7 @@ fi
fi
fi

if [ "$BOX_TYPE" = "rpi" ] || [ "$BOX_TYPE" = "bpi" ] || [ "$BOX_TYPE" = "turris" ]; then
if [ "$BOX_TYPE" = "rpi" ] || [ "$BOX_TYPE" = "bpi" ] || [ "$BOX_TYPE" = "turris" ] || [ "$BOX_TYPE" = "genericarm" ]; then
LAN_STATUS=`sysevent get lan-status`
BRIDGE_MODE=`syscfg get bridge_mode`
if [ "$LAN_STATUS" = "stopped" ] && [ $BRIDGE_MODE == 0 ]; then
Expand Down
8 changes: 7 additions & 1 deletion source/scripts/init/service.d/service_dhcpv6_client.sh
Original file line number Diff line number Diff line change
Expand Up @@ -369,7 +369,9 @@ call_back_remove_prefix ()
#-------------------------------------------------------------------------------------------

service_init

if [ "$BOX_TYPE" = "genericarm" ]; then
logger -t "utopia_${SERVICE_NAME}" "Called $1 parent $PPID"
fi
case "$1" in
"${SERVICE_NAME}-start")
service_start
Expand Down Expand Up @@ -405,6 +407,10 @@ case "$1" in
else
echo "$SELF: unknown event ($EVENT) or unknow DHCP call back ($REASON)" >> $LOG
echo "Usage: $SERVICE_NAME [ ${SERVICE_NAME}-start | ${SERVICE_NAME}-stop | ${SERVICE_NAME}-restart]" > /dev/console
if [ "$BOX_TYPE" = "genericarm" ]; then
logger -t "utopia_${SERVICE_NAME}" "Called $1 parent $PPID"
fi

exit 3
fi
;;
Expand Down
6 changes: 5 additions & 1 deletion source/scripts/init/service.d/service_igd.sh
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,11 @@ SELF_NAME="`basename $0`"

#IGD=/usr/sbin/IGD
IGD=IGD
IGD_TMP_DIR="/var/IGD"
if ([ "$BOX_TYPE" = "genericarm" ]) ;then
IGD_TMP_DIR="/var/volatile/IGD"
else
IGD_TMP_DIR="/var/IGD"
fi
UPNP_TMP=/var/tmp/upnp.ttl
PRIVATE_LAN_IF="brlan0"

Expand Down
2 changes: 1 addition & 1 deletion source/scripts/init/service.d/service_ipv4.sh
Original file line number Diff line number Diff line change
Expand Up @@ -129,7 +129,7 @@ handle_l2_status () {
fi
fi
fi
if [ "$BOX_TYPE" = "rpi" ] || [ "$BOX_TYPE" = "bpi" ]; then
if [ "$BOX_TYPE" = "rpi" ] || [ "$BOX_TYPE" = "bpi" ] || [ "$BOX_TYPE" = "genericarm" ]; then
LAN_STATUS=`sysevent get lan-status`
if [ "$LAN_STATUS" = "stopped" ]; then
echo_t "service_ipv4 : Starting lan-status"
Expand Down
4 changes: 2 additions & 2 deletions source/scripts/init/system/utopia_init.sh
Original file line number Diff line number Diff line change
Expand Up @@ -790,7 +790,7 @@ else
fi
fi

if [ "$MODEL_NUM" = "DPC3939B" ] || [ "$MODEL_NUM" = "DPC3941B" ]; then
if [ "$MODEL_NUM" = "DPC3939B" ] || [ "$MODEL_NUM" = "DPC3941B" ] || [ "${BOX_TYPE}" = "genericarm" ]; then
if [ -f /nvram/restore_reboot ];then
syscfg set X_RDKCENTRAL-COM_LastRebootReason "restore-reboot"
syscfg set X_RDKCENTRAL-COM_LastRebootCounter "1"
Expand Down Expand Up @@ -859,7 +859,7 @@ syscfg set ntp_status 2
echo_t "[utopia][init] setting Multicast MAC before any switch configs"
$UTOPIA_PATH/service_multinet_exec set_multicast_mac &

if [ "$MODEL_NUM" = "DPC3939B" ] || [ "$MODEL_NUM" = "DPC3941B" ]; then
if [ "$MODEL_NUM" = "DPC3939B" ] || [ "$MODEL_NUM" = "DPC3941B" ] || [ "${BOX_TYPE}" = "genericarm" ]; then
echo_t "[utopia][init] started dropbear process"
/etc/utopia/service.d/service_sshd.sh sshd-start &
fi
Expand Down
4 changes: 4 additions & 0 deletions source/service_dhcp/dhcp_server_functions.c
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,11 @@
#define STATIC_URLS_FILE "/etc/static_urls"
#define STATIC_DNS_URLS_FILE "/etc/static_dns_urls"
#define NETWORK_RES_FILE "/var/tmp/networkresponse.txt"
#if defined(_PLATFORM_GENERICARM_)
#define DHCP_CONF "/var/volatile/dnsmasq.conf"
#else
#define DHCP_CONF "/var/dnsmasq.conf"
#endif
#define DHCP_LEASE_FILE "/nvram/dnsmasq.leases"
#define DEFAULT_RESOLV_CONF "/var/default/resolv.conf"
#define DEFAULT_CONF_DIR "/var/default"
Expand Down
4 changes: 4 additions & 0 deletions source/service_dhcp/service_dhcp_server.c
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,11 @@
#define SERVER "dnsmasq"
#define PMON "/etc/utopia/service.d/pmon.sh"
#define RESOLV_CONF "/etc/resolv.conf"
#if defined(_PLATFORM_GENERICARM_)
#define DHCP_CONF "/var/volatile/dnsmasq.conf"
#else
#define DHCP_CONF "/var/dnsmasq.conf"
#endif
#define PID_FILE "/var/run/dnsmasq.pid"
#define RPC_CLIENT "/usr/bin/rpcclient"
#define XHS_IF_NAME "brlan1"
Expand Down
4 changes: 2 additions & 2 deletions source/service_wan/service_wan.c
Original file line number Diff line number Diff line change
Expand Up @@ -1508,7 +1508,7 @@ STATIC int wan_iface_up(struct serv_wan *sw)
STATIC int wan_iface_down(struct serv_wan *sw)
{
int err = 0;
#if !defined(_PLATFORM_RASPBERRYPI_) && !defined(_PLATFORM_BANANAPI_R4_)
#if !defined(_PLATFORM_RASPBERRYPI_) && !defined(_PLATFORM_BANANAPI_R4_) && !defined(_PLATFORM_GENERICARM_)
err = v_secure_system("ip -4 link set %s down", sw->ifname);
#endif
#if PUMA6_OR_NEWER_SOC_TYPE
Expand Down Expand Up @@ -1742,7 +1742,7 @@ STATIC int wan_addr_set(struct serv_wan *sw)
if(strcmp(mischandler_ready,"true") == 0)
{
//only for first time
#if !defined(_PLATFORM_RASPBERRYPI_) && !defined(_PLATFORM_TURRIS_) && !defined(_PLATFORM_BANANAPI_R4_)
#if !defined(_PLATFORM_RASPBERRYPI_) && !defined(_PLATFORM_TURRIS_) && !defined(_PLATFORM_BANANAPI_R4_) && !defined(_PLATFORM_GENERICARM_)
fprintf(stderr, "[%s] ready is set from misc handler. Doing gw_lan_refresh\n", PROG_NAME);
#if defined (_XB6_PRODUCT_REQ_) && defined (_COSA_BCM_ARM_)
v_secure_system("firewall");
Expand Down
Loading