[Feature] merge MTK MR3.0 from 20220916

Change-Id: I7e07c7c1a6069994f9938d3d8a01cac6fd3bc5ae
diff --git a/src/telephonyware/3.0/libpal/script/dns.script b/src/telephonyware/3.0/libpal/script/dns.script
new file mode 100644
index 0000000..fa4c1e6
--- /dev/null
+++ b/src/telephonyware/3.0/libpal/script/dns.script
@@ -0,0 +1,107 @@
+#!/bin/sh
+#		dns event handling script
+#
+
+RESOLV_CONF="/etc/resolv.conf"
+
+usage() {
+	echo "Usage: $0 {set/clean} dns..."
+	exit 1
+}
+
+clean() {
+  # clean /etc/resolv.conf 
+  cat /dev/null > $RESOLV_CONF
+}
+
+show() {  
+  cat $RESOLV_CONF
+}
+ 
+takelock()
+{
+   while [ -f "/tmp/dns_lock_fd" ]; do
+   :
+   echo "lock dns file now!"
+   sleep 1;
+   done
+   echo 1 > "/tmp/dns_lock_fd"
+} 
+
+givelock()
+{
+   rm /tmp/dns_lock_fd
+}
+
+
+rmV4DNS(){
+   cat /etc/resolv.conf | grep : > /var/dns6   
+   cat /var/dns6 > /etc/resolv.conf
+}
+ 
+rmV6DNS(){
+   cat /etc/resolv.conf | grep -v : > /var/dns4 
+   cat /var/dns4 > /etc/resolv.conf
+}
+
+ 
+count=1
+if [ $# \< $count ] ; then
+	usage
+fi
+
+
+
+	  takelock;     
+case "$1" in 
+	
+	set)	 
+	
+    rmV4DNS;
+		i=2
+		total=$#		
+		while [ $i -le $total ];
+		do
+		  shift
+		  dns=$1
+		  echo "adding dns " $dns
+		  echo nameserver "$dns" >> $RESOLV_CONF
+		  i=`expr $i + 1`		   
+		done		
+		show
+		;;		
+		
+	setv6)	 
+	
+    rmV6DNS;
+		i=2
+		total=$#		
+		while [ $i -le $total ];
+		do
+		  shift
+		  dns=$1
+		  echo "adding dns " $dns
+		  echo nameserver "$dns" >> $RESOLV_CONF
+		  i=`expr $i + 1`		   
+		done		
+		show
+		;;
+
+
+  rmv4)
+    rmV4DNS
+   ;;
+  rmv6)
+    rmV6DNS
+   ;; 
+  
+     
+	clean)
+		clean
+		;;
+		
+	*)
+		usage
+	;;	
+esac
+  givelock;