From 473016d077daab0a61b17aee840650b2c624c290 Mon Sep 17 00:00:00 2001 From: kejun.gao Date: Mon, 10 Oct 2011 08:46:18 +0000 Subject: Changed for gingerbread --- diff --git a/Android.mk b/Android.mk index cba8d60..7f322d9 100755 --- a/Android.mk +++ b/Android.mk @@ -5,15 +5,16 @@ PPPOE_VERSION="\"3.0\"" #MAKE_JAR include $(CLEAR_VARS) LOCAL_SRC_FILES := $(call all-subdir-java-files) -#LOCAL_JNI_SHARED_LIBRARIES := libpppoejni -LOCAL_MODULE := pppoe +LOCAL_JNI_SHARED_LIBRARIES := libpppoejni +LOCAL_MODULE_TAGS := optional +LOCAL_MODULE := amlogic.pppoe include $(BUILD_JAVA_LIBRARY) #MAKE_XML include $(CLEAR_VARS) -LOCAL_MODULE := pppoe.xml -#LOCAL_MODULE_CLASS := ETC -LOCAL_MODULE_CLASS := JAVA_LIBRARIES +LOCAL_MODULE := amlogic.pppoe.xml +LOCAL_MODULE_TAGS := optional +LOCAL_MODULE_CLASS := ETC LOCAL_MODULE_PATH := $(TARGET_OUT_ETC)/permissions LOCAL_SRC_FILES := $(LOCAL_MODULE) include $(BUILD_PREBUILT) @@ -29,6 +30,7 @@ LOCAL_SRC_FILES := jni/src/pppoe.c \ LOCAL_C_INCLUDES := $(KERNEL_HEADERS) LOCAL_SHARED_LIBRARIES := libcutils LOCAL_MODULE = pppoe +LOCAL_MODULE_TAGS := optional LOCAL_CFLAGS := -DVERSION=$(PPPOE_VERSION) include $(BUILD_EXECUTABLE) @@ -40,22 +42,21 @@ LOCAL_SRC_FILES:= jni/src/pppoe_ctrl.c\ LOCAL_SHARED_LIBRARIES := libandroid_runtime libnativehelper LOCAL_SHARED_LIBRARIES += libc libcutils LOCAL_C_INCLUDES := $(JNI_H_INCLUDE) $(LOCAL_PATH)/jni/src - -LOCAL_MODULE := libpppoejni LOCAL_MODULE_TAGS := optional +LOCAL_MODULE := libpppoejni LOCAL_PRELINK_MODULE := false include $(BUILD_SHARED_LIBRARY) -#include $(CLEAR_VARS) -#LOCAL_SRC_FILES:= jni/src/pppoe_cli.c\ -# jni/src/pppoe_ctrl.c -# -#LOCAL_MODULE := pcli -#LOCAL_CFLAGS += -O2 -#LOCAL_LDLIBS += -llog -#LOCAL_SHARED_LIBRARIES := libcutils -#include $(BUILD_EXECUTABLE) +include $(CLEAR_VARS) +LOCAL_SRC_FILES:= jni/src/pppoe_cli.c\ + jni/src/pppoe_ctrl.c +LOCAL_MODULE_TAGS := optional +LOCAL_MODULE := pcli +LOCAL_CFLAGS += -O2 +LOCAL_LDLIBS += -llog +LOCAL_SHARED_LIBRARIES := libcutils +include $(BUILD_EXECUTABLE) include $(CLEAR_VARS) @@ -69,6 +70,7 @@ LOCAL_C_INCLUDES := \ LOCAL_CFLAGS := -DANDROID_CHANGES +LOCAL_MODULE_TAGS := optional LOCAL_MODULE:= pppoe_wrapper include $(BUILD_EXECUTABLE) diff --git a/jni/pstart b/jni/pstart index 029e405..02cb828 100755 --- a/jni/pstart +++ b/jni/pstart @@ -1,3 +1,3 @@ #! /system/bin/sh -pppd pty 'pppoe -p /var/run/pppoe.pid -I eth0 -T 80 -U -m 1412' debug logfd 1 noipdefault noauth default-asyncmap defaultroute nodetach mtu 1492 mru 1492 noaccomp nodeflate nopcomp novj novjccomp user gaokj password fatpig lcp-echo-interval 20 lcp-echo-failure 3 & +pppd pty 'pppoe -p /var/run/pppoe.pid -I eth0 -T 80 -U -m 1412' debug logfd 1 noipdefault noauth default-asyncmap defaultroute nodetach mtu 1492 mru 1492 noaccomp nodeflate nopcomp novj novjccomp user pppoe password pppoe lcp-echo-interval 20 lcp-echo-failure 3 & diff --git a/jni/pstop b/jni/pstop index 2ff6a00..45c7c89 100755 --- a/jni/pstop +++ b/jni/pstop @@ -1,6 +1,6 @@ #!/system/bin/sh -PPPOE_PIDFILE="/var/run/pppoe.pid" +PPPOE_PIDFILE="/system/etc/ppp/pppoe.pid" # Check for pidfile PPPOE_PID=`cat $PPPOE_PIDFILE` diff --git a/jni/src/pppoe.c b/jni/src/pppoe.c index 58e0046..6fc848c 100755 --- a/jni/src/pppoe.c +++ b/jni/src/pppoe.c @@ -664,6 +664,7 @@ main(int argc, char *argv[]) signal(SIGTERM, SIG_IGN); signal(SIGINT, SIG_IGN); signal(SIGHUP, sigPADT); + signal(SIGKILL, sigPADT); session(&conn); return 0; } diff --git a/jni/src/pppoe_cli.c b/jni/src/pppoe_cli.c index e10f2f3..604e244 100755 --- a/jni/src/pppoe_cli.c +++ b/jni/src/pppoe_cli.c @@ -33,6 +33,12 @@ int main(int argc, char *argv[]) int i; struct pppoe_ctrl * ctrl; + if (argc < 2 || (0 != strcmp( "connect", argv[1]) && + 0 != strcmp( "disconnect", argv[1]) )) { + usage(); + return -2; + } + ctrl = pppoe_ctrl_open("/dev/socket/pppd"); if (ctrl == NULL) { printf("Failed to connect to pppd\n"); @@ -45,11 +51,9 @@ int main(int argc, char *argv[]) } else if (0 == strcmp( "disconnect", argv[1])) { + sprintf(pppd_connect_cmd, "ppp-stop"); } - else { - usage(); - return -2; - } + pppoe_ctrl_request(ctrl, pppd_connect_cmd, strlen(pppd_connect_cmd)); diff --git a/jni/src/pppoe_ctrl.h b/jni/src/pppoe_ctrl.h index 22d5ce7..f7c9901 100755 --- a/jni/src/pppoe_ctrl.h +++ b/jni/src/pppoe_ctrl.h @@ -1,7 +1,9 @@ #ifndef PPPOE_CTRL_H #define PPPOE_CTRL_H -#define PPPOE_PIDFILE "/data/misc/ppp/pppoe.pid" + +#define PPPOE_PIDFILE "/system/etc/ppp/pppoe.pid" + struct pppoe_ctrl { int s; diff --git a/pppoe.xml b/pppoe.xml deleted file mode 100644 index 0e8c499..0000000 --- a/pppoe.xml +++ b/dev/null @@ -1,8 +0,0 @@ - - - - - -- cgit