Skip to content

Commit

Permalink
v1.0.102.2; patch to fix Android building of capturer; Changed Androi…
Browse files Browse the repository at this point in the history
…d install directory to allow for editing by Android text apps; changed some PRINT_ERRORs to PRINT_WARN and improved the output message; small improvement to recvmsg to return msg_flags
  • Loading branch information
Jonathan Reed committed Jul 9, 2013
1 parent 366cb40 commit ef50173
Show file tree
Hide file tree
Showing 33 changed files with 226 additions and 174 deletions.
2 changes: 1 addition & 1 deletion obj/inswedge.sh
Expand Up @@ -2,4 +2,4 @@ sudo modprobe -r fins_stack_wedge
sudo modprobe fins_stack_wedge
read -p "..."
#dmesg > output_dmesg.txt
cat /var/log/messages | grep FINS: > output_dmesg.txt
cat /var/log/syslog | grep FINS: > output_dmesg.txt
10 changes: 5 additions & 5 deletions obj/prep_device.sh
@@ -1,5 +1,5 @@
adb shell su -c mkdir /data/local/fins
adb push envi_android.cfg /data/local/fins/envi.cfg
adb push stack_android.cfg /data/local/fins/stack.cfg
adb push drop_tables.sh /data/local/fins/drop_tables.sh
adb shell su -c chmod -R 777 /data/local/fins
adb shell su -c mkdir /dev/fins
adb push envi_android.cfg /dev/fins/envi.cfg
adb push stack_android.cfg /dev/fins/stack.cfg
adb push drop_tables.sh /dev/fins/drop_tables.sh
adb shell su -c chmod -R 777 /dev/fins
16 changes: 0 additions & 16 deletions obj/setManaged.sh

This file was deleted.

3 changes: 2 additions & 1 deletion prototypes/interceptor/socket_interceptor.h
Expand Up @@ -85,7 +85,8 @@ struct socketIdentifier FinsHistory[MAX_sockets];

//ADDED mrd015 !!!!!
#ifdef BUILD_FOR_ANDROID
#define FINS_TMP_ROOT "/data/data/fins"
//#define FINS_TMP_ROOT "/data/data/fins"
#define FINS_TMP_ROOT "/dev/fins"
#else
#define FINS_TMP_ROOT "/tmp/fins"
#endif
Expand Down
4 changes: 3 additions & 1 deletion settings.finsmk
Expand Up @@ -68,7 +68,9 @@ LIBS := -lc -lgcc -llog -lm
endif

GDB_CLIENT := $(BIN)/arm-eabi-gdb
INSTALL_DIR := /data/local/fins
#INSTALL_DIR := /data/local/fins
#INSTALL_DIR := /sdcard/fins #can't run there
INSTALL_DIR := /dev/fins
endif


Expand Down
2 changes: 1 addition & 1 deletion tests/speed_udp_client.c
Expand Up @@ -145,7 +145,7 @@ int main(int argc, char *argv[]) {

usleep(use);
}

shutdown(sock, SHUT_WR);
sleep(5);

printf("Closing socket\n");
Expand Down
1 change: 1 addition & 0 deletions tests/speed_udp_server.c
Expand Up @@ -235,6 +235,7 @@ int main(int argc, char *argv[]) {
}
}
}
shutdown(sock, SHUT_WR);

printf("Closing server socket\n");
fflush(stdout);
Expand Down
2 changes: 1 addition & 1 deletion trunk/execs/capturer/Makefile
Expand Up @@ -15,7 +15,7 @@ LOCAL_INCS := . ../../libs/common
LOCAL_CFLAGS :=

ifdef BUILD_FOR_ANDROID_ARM
LOCAL_LIBS := glue pcap
LOCAL_LIBS := glue pcap glue
LOCAL_LDFLAGS := -lc
else
LOCAL_LIBS :=
Expand Down
4 changes: 2 additions & 2 deletions trunk/execs/capturer/ethermod.c
Expand Up @@ -228,10 +228,10 @@ void processes_init(int inject_fd) {

struct timeval tv;
gettimeofday(&tv, NULL);
PRINT_IMPORTANT("sleeping 5s, so daemon will connect: time=%u.%06u", (uint32_t)tv.tv_sec, (uint32_t)tv.tv_usec);
PRINT_IMPORTANT("sleeping 5s, so daemon will connect: time=%12u.%06u", (uint32_t)tv.tv_sec, (uint32_t)tv.tv_usec);
sleep(5);
gettimeofday(&tv, NULL);
PRINT_IMPORTANT("Active: time=%u.%06u", (uint32_t)tv.tv_sec, (uint32_t)tv.tv_usec);
PRINT_IMPORTANT("Active: time=%12u.%06u", (uint32_t)tv.tv_sec, (uint32_t)tv.tv_usec);

for (i = 0; i < hdr->ii_num; i++) {
//PRINT_IMPORTANT("iis[%d]: name='%s', mac=0x%012llx", i, hdr->iis[i].name, hdr->iis[i].mac);
Expand Down
14 changes: 7 additions & 7 deletions trunk/execs/capturer/wifistub.h
Expand Up @@ -45,35 +45,35 @@ struct timeval global_print_tv;

#ifdef DEBUG
//#define PRINT_DEBUG(format, args...) printf("\033[01;37mDEBUG(%s, %s, %d):"format"\n\033[01;37m",__FILE__, __FUNCTION__, __LINE__, ##args);fflush(stdout)
#define PRINT_DEBUG(format, args...) gettimeofday(&global_print_tv, NULL);printf("\033[01;37m%u.%06u:DEBUG(%s, %s, %d):"format"\n\033[01;37m", (uint32_t)global_print_tv.tv_sec, (uint32_t)global_print_tv.tv_usec, __FILE__, __FUNCTION__, __LINE__, ##args);fflush(stdout)
#define PRINT_DEBUG(format, args...) gettimeofday(&global_print_tv, NULL);printf("\033[01;37m%12u.%06u:DEBUG(%s, %s, %d):"format"\n\033[01;37m", (uint32_t)global_print_tv.tv_sec, (uint32_t)global_print_tv.tv_usec, __FILE__, __FUNCTION__, __LINE__, ##args);fflush(stdout)
#else
#define PRINT_DEBUG(format, args...)
#endif

#ifdef INFO
//#define PRINT_INFO(format, args...) printf("\033[01;34mINFO(%s, %s, %d):"format"\n\033[01;37m",__FILE__, __FUNCTION__, __LINE__, ##args);fflush(stdout)
#define PRINT_INFO(format, args...) gettimeofday(&global_print_tv, NULL);printf("\033[01;34m%u.%06u:INFO(%s, %s, %d):"format"\n\033[01;37m", (uint32_t)global_print_tv.tv_sec, (uint32_t)global_print_tv.tv_usec, __FILE__, __FUNCTION__, __LINE__, ##args);fflush(stdout)
#define PRINT_INFO(format, args...) gettimeofday(&global_print_tv, NULL);printf("\033[01;34m%12u.%06u:INFO(%s, %s, %d):"format"\n\033[01;37m", (uint32_t)global_print_tv.tv_sec, (uint32_t)global_print_tv.tv_usec, __FILE__, __FUNCTION__, __LINE__, ##args);fflush(stdout)
#else
#define PRINT_INFO(format, args...)
#endif

#ifdef WARN
//#define PRINT_WARN(format, args...) printf("\033[01;33mWARN(%s, %s, %d):"format"\n\033[01;37m",__FILE__, __FUNCTION__, __LINE__, ##args);fflush(stdout)
#define PRINT_WARN(format, args...) gettimeofday(&global_print_tv, NULL);printf("\033[01;33m%u.%06u:WARN(%s, %s, %d):"format"\n\033[01;37m", (uint32_t)global_print_tv.tv_sec, (uint32_t)global_print_tv.tv_usec, __FILE__, __FUNCTION__, __LINE__, ##args);fflush(stdout)
#define PRINT_WARN(format, args...) gettimeofday(&global_print_tv, NULL);printf("\033[01;33m%12u.%06u:WARN(%s, %s, %d):"format"\n\033[01;37m", (uint32_t)global_print_tv.tv_sec, (uint32_t)global_print_tv.tv_usec, __FILE__, __FUNCTION__, __LINE__, ##args);fflush(stdout)
#else
#define PRINT_WARN(format, args...)
#endif

#ifdef IMPORTANT
//#define PRINT_IMPORTANT(format, args...) printf("\033[01;32mIMPORTANT(%s, %s, %d):"format"\n\033[01;37m",__FILE__, __FUNCTION__, __LINE__, ##args);fflush(stdout)
#define PRINT_IMPORTANT(format, args...) gettimeofday(&global_print_tv, NULL);printf("\033[01;32m%u.%06u:IMPORTANT(%s, %s, %d):"format"\n\033[01;37m", (uint32_t)global_print_tv.tv_sec, (uint32_t)global_print_tv.tv_usec, __FILE__, __FUNCTION__, __LINE__, ##args);fflush(stdout)
#define PRINT_IMPORTANT(format, args...) gettimeofday(&global_print_tv, NULL);printf("\033[01;32m%12u.%06u:IMPORTANT(%s, %s, %d):"format"\n\033[01;37m", (uint32_t)global_print_tv.tv_sec, (uint32_t)global_print_tv.tv_usec, __FILE__, __FUNCTION__, __LINE__, ##args);fflush(stdout)
#else
#define PRINT_IMPORTANT(format, args...)
#endif

#ifdef ERROR
//#define PRINT_ERROR(format, args...) printf("\033[01;31mERROR(%s, %s, %d):"format"\n\033[01;37m",__FILE__, __FUNCTION__, __LINE__, ##args);fflush(stdout)
#define PRINT_ERROR(format, args...) gettimeofday(&global_print_tv, NULL);printf("\033[01;31m%u.%06u:ERROR(%s, %s, %d):"format"\n\033[01;37m", (uint32_t)global_print_tv.tv_sec, (uint32_t)global_print_tv.tv_usec, __FILE__, __FUNCTION__, __LINE__, ##args);fflush(stdout)
#define PRINT_ERROR(format, args...) gettimeofday(&global_print_tv, NULL);printf("\033[01;31m%12u.%06u:ERROR(%s, %s, %d):"format"\n\033[01;37m", (uint32_t)global_print_tv.tv_sec, (uint32_t)global_print_tv.tv_usec, __FILE__, __FUNCTION__, __LINE__, ##args);fflush(stdout)
#else
#define PRINT_ERROR(format, args...)
#endif
Expand Down Expand Up @@ -116,8 +116,8 @@ struct processes_shared {

//TODO these definitions need to be gathered
#ifdef BUILD_FOR_ANDROID
#define FINS_TMP_ROOT "/data/local/fins"
//#define FINS_TMP_ROOT "/data/data/com.BU_VT.FINS/files"
//#define FINS_TMP_ROOT "/data/local/fins"
#define FINS_TMP_ROOT "/dev/fins"
#else
#define FINS_TMP_ROOT "/tmp/fins"
#endif
Expand Down
4 changes: 2 additions & 2 deletions trunk/execs/console/console.c
Expand Up @@ -34,8 +34,8 @@

//TODO these definitions need to be gathered
#ifdef BUILD_FOR_ANDROID
#define FINS_TMP_ROOT "/data/local/fins"
//#define FINS_TMP_ROOT "/data/data/com.BU_VT.FINS/files"
//#define FINS_TMP_ROOT "/data/local/fins"
#define FINS_TMP_ROOT "/dev/fins"
#else
#define FINS_TMP_ROOT "/tmp/fins"
#endif
Expand Down
9 changes: 6 additions & 3 deletions trunk/execs/core/core.c
Expand Up @@ -85,7 +85,7 @@ struct fins_library *library_fake_load(uint8_t *lib, uint8_t *base_path) {
strcpy((char *) library->name, (char *) lib);
library->handle = NULL; //RTLD_LAZY | RTLD_GLOBAL?

uint8_t lib_create[MOD_NAME_SIZE + 7];// +7 for "_create"
uint8_t lib_create[MOD_NAME_SIZE + 7]; // +7 for "_create"
sprintf((char *) lib_create, "%s_create", (char *) lib);

if (strcmp((char *) lib_create, "switch_create") == 0) {
Expand Down Expand Up @@ -286,6 +286,9 @@ void core_main(uint8_t *envi_name, uint8_t *stack_name, uint32_t seed) {
overall->envi->if_main = (struct if_record *) list_find1(overall->envi->if_list, ifr_index_test, &if_main);
if (overall->envi->if_main != NULL) {
PRINT_IMPORTANT("main interface: name='%s', addr_list->len=%u", overall->envi->if_main->name, overall->envi->if_main->addr_list->len);
if (!ifr_running_test(overall->envi->if_main)) {
PRINT_WARN("!!!!Selected main interface is NOT running: name='%s', flagx->len=0x%x", overall->envi->if_main->name, overall->envi->if_main->flags);
}
} else {
PRINT_WARN("todo error");
}
Expand Down Expand Up @@ -387,7 +390,7 @@ void core_main(uint8_t *envi_name, uint8_t *stack_name, uint32_t seed) {
//############
ifr = (struct if_record *) list_find1(overall->envi->if_list, ifr_index_test, &if_index);
if (ifr != NULL) {
if (ifr->flags & IFF_RUNNING) {
if (ifr_running_test(ifr)) {
if (family == AF_INET) {
addr = (struct addr_record *) list_find(ifr->addr_list, addr_is_v4);
} else {
Expand Down Expand Up @@ -534,7 +537,7 @@ void core_main(uint8_t *envi_name, uint8_t *stack_name, uint32_t seed) {
//############
ifr = (struct if_record *) list_find1(overall->envi->if_list, ifr_index_test, &if_index);
if (ifr != NULL) {
if (ifr->flags & IFF_RUNNING) {
if (ifr_running_test(ifr)) {
route = (struct route_record *) secure_malloc(sizeof(struct route_record));
route->if_index = if_index;
route->family = family;
Expand Down
4 changes: 2 additions & 2 deletions trunk/execs/core/core.h
Expand Up @@ -10,8 +10,8 @@

//TODO these definitions need to be gathered
#ifdef BUILD_FOR_ANDROID
#define FINS_TMP_ROOT "/data/local/fins"
//#define FINS_TMP_ROOT "/data/data/com.BU_VT.FINS/files"
//#define FINS_TMP_ROOT "/data/local/fins"
#define FINS_TMP_ROOT "/dev/fins"
#else
#define FINS_TMP_ROOT "/tmp/fins"
#endif
Expand Down
2 changes: 1 addition & 1 deletion trunk/execs/launcher/jni/Main.c
Expand Up @@ -186,7 +186,7 @@ void android_main(struct android_app *state) {
core_dummy();
core_main((uint8_t *) (FINS_TMP_ROOT "/envi.cfg"), (uint8_t *) (FINS_TMP_ROOT "/stack.cfg"), 0);

core_tests(); //For random testing purposes
//core_tests(); //For random testing purposes
//core_termination_handler(0); //############ terminating

// loop waiting for stuff to do.
Expand Down
4 changes: 2 additions & 2 deletions trunk/execs/make_executable.finsmk
Expand Up @@ -42,12 +42,12 @@ LOCAL_EXEC_PATH := $(OBJ_DIR)/$(LOCAL_EXEC)
#LIB_SO := $(foreach LIB,$(LOCAL_LIBS),lib$(LIB).so)
#LIB_SO_PATHS := $(foreach LIB,$(LOCAL_LIBS),$(OBJ_DIR)/lib$(LIB).so)
LIB_SO := $(foreach LIB,$(LOCAL_LIBS),lib$(LIB).a)
LIB_SO_PATHS := $(foreach LIB,$(LOCAL_LIBS),$(OBJ_DIR)/lib$(LIB).a)
LIB_SO_PATHS := $(sort $(foreach LIB,$(LOCAL_LIBS),$(OBJ_DIR)/lib$(LIB).a))

#MOD_SO := $(foreach MOD,$(LOCAL_MODS),lib$(MOD).so)
#MOD_SO_PATHS := $(foreach MOD,$(LOCAL_MODS),$(OBJ_DIR)/lib$(MOD).so)
MOD_SO := $(foreach MOD,$(LOCAL_MODS),lib$(MOD).a)
MOD_SO_PATHS := $(foreach MOD,$(LOCAL_MODS),$(OBJ_DIR)/lib$(MOD).a)
MOD_SO_PATHS := $(sort $(foreach MOD,$(LOCAL_MODS),$(OBJ_DIR)/lib$(MOD).a))

OTHER_SO := $(LIB_SO) $(MOD_SO)
OTHER_SO_PATHS := $(LIB_SO_PATHS) $(MOD_SO_PATHS)
Expand Down
10 changes: 10 additions & 0 deletions trunk/execs/wedge/fins_stack_wedge.c
Expand Up @@ -507,6 +507,8 @@ __s32 nl_send(__s32 pid, void *msg_buf, __u32 msg_len, __s32 flags) {
ret = nl_send_msg(pid, seq, 0x0, part_buf, RECV_BUFFER_SIZE, flags/*| NLM_F_MULTI*/);
if (ret < 0) {
PRINT_ERROR("netlink error sending seq %d to user", seq);
PRINT_ERROR("Disabling old pID=%u, new pID=%u", fins_daemon_pid, -1);
fins_daemon_pid = -1;
up(&link_sem);
PRINT_DEBUG("Exited: pid=%d, msg_buf=%p, msg_len=%u, flags=0x%x, ret=%d", pid, msg_buf, msg_len, flags, -1);
return -1;
Expand All @@ -529,6 +531,8 @@ __s32 nl_send(__s32 pid, void *msg_buf, __u32 msg_len, __s32 flags) {
ret = nl_send_msg(pid, seq, NLMSG_DONE, part_buf, header_size + part_len, flags);
if (ret < 0) {
PRINT_ERROR("netlink error sending seq %d to user", seq);
PRINT_ERROR("Disabling old pID=%u, new pID=%u", fins_daemon_pid, -1);
fins_daemon_pid = -1;
up(&link_sem);
PRINT_DEBUG("Exited: pid=%d, msg_buf=%p, msg_len=%u, flags=0x%x, ret=%d", pid, msg_buf, msg_len, flags, -1);
return -1;
Expand Down Expand Up @@ -3031,6 +3035,12 @@ static int fins_release(struct socket *sock) {
return 0; //TODO should be -1, done to prevent stalls
}

if (sock == NULL) {
PRINT_ERROR("sock null");
PRINT_IMPORTANT("Exited: call_pid=%d, rc=%d", call_pid, 0);
return 0;
}

sk = sock->sk;
if (sk == NULL) {
PRINT_ERROR("sk null");
Expand Down
12 changes: 6 additions & 6 deletions trunk/libs/common/finsdebug.h
Expand Up @@ -12,7 +12,7 @@
#ifndef FINSDEBUG_H_
#define FINSDEBUG_H_

//#define DEBUG
#define DEBUG
#define INFO
#define WARN
#define IMPORTANT
Expand Down Expand Up @@ -63,35 +63,35 @@ struct timeval global_print_tv;

#ifdef DEBUG
//#define PRINT_DEBUG(format, args...) printf("\033[01;37mDEBUG(%s, %s, %d):"format"\n\033[01;37m",__FILE__, __FUNCTION__, __LINE__, ##args);fflush(stdout)
#define PRINT_DEBUG(format, args...) gettimeofday(&global_print_tv, NULL);printf("\033[01;37m%u.%06u:DEBUG(%s, %s, %d):"format"\n\033[01;37m", (uint32_t)global_print_tv.tv_sec, (uint32_t)global_print_tv.tv_usec, __FILE__, __FUNCTION__, __LINE__, ##args);fflush(stdout)
#define PRINT_DEBUG(format, args...) gettimeofday(&global_print_tv, NULL);printf("\033[01;37m%12u.%06u:DEBUG(%s, %s, %d):"format"\n\033[01;37m", (uint32_t)global_print_tv.tv_sec, (uint32_t)global_print_tv.tv_usec, __FILE__, __FUNCTION__, __LINE__, ##args);fflush(stdout)
#else
#define PRINT_DEBUG(format, args...)
#endif

#ifdef INFO
//#define PRINT_INFO(format, args...) printf("\033[01;34mINFO(%s, %s, %d):"format"\n\033[01;37m",__FILE__, __FUNCTION__, __LINE__, ##args);fflush(stdout)
#define PRINT_INFO(format, args...) gettimeofday(&global_print_tv, NULL);printf("\033[01;34m%u.%06u:INFO(%s, %s, %d):"format"\n\033[01;37m", (uint32_t)global_print_tv.tv_sec, (uint32_t)global_print_tv.tv_usec, __FILE__, __FUNCTION__, __LINE__, ##args);fflush(stdout)
#define PRINT_INFO(format, args...) gettimeofday(&global_print_tv, NULL);printf("\033[01;34m%12u.%06u:INFO(%s, %s, %d):"format"\n\033[01;37m", (uint32_t)global_print_tv.tv_sec, (uint32_t)global_print_tv.tv_usec, __FILE__, __FUNCTION__, __LINE__, ##args);fflush(stdout)
#else
#define PRINT_INFO(format, args...)
#endif

#ifdef WARN
//#define PRINT_WARN(format, args...) printf("\033[01;33mWARN(%s, %s, %d):"format"\n\033[01;37m",__FILE__, __FUNCTION__, __LINE__, ##args);fflush(stdout)
#define PRINT_WARN(format, args...) gettimeofday(&global_print_tv, NULL);printf("\033[01;33m%u.%06u:WARN(%s, %s, %d):"format"\n\033[01;37m", (uint32_t)global_print_tv.tv_sec, (uint32_t)global_print_tv.tv_usec, __FILE__, __FUNCTION__, __LINE__, ##args);fflush(stdout)
#define PRINT_WARN(format, args...) gettimeofday(&global_print_tv, NULL);printf("\033[01;33m%12u.%06u:WARN(%s, %s, %d):"format"\n\033[01;37m", (uint32_t)global_print_tv.tv_sec, (uint32_t)global_print_tv.tv_usec, __FILE__, __FUNCTION__, __LINE__, ##args);fflush(stdout)
#else
#define PRINT_WARN(format, args...)
#endif

#ifdef IMPORTANT
//#define PRINT_IMPORTANT(format, args...) printf("\033[01;32mIMPORTANT(%s, %s, %d):"format"\n\033[01;37m",__FILE__, __FUNCTION__, __LINE__, ##args);fflush(stdout)
#define PRINT_IMPORTANT(format, args...) gettimeofday(&global_print_tv, NULL);printf("\033[01;32m%u.%06u:IMPORTANT(%s, %s, %d):"format"\n\033[01;37m", (uint32_t)global_print_tv.tv_sec, (uint32_t)global_print_tv.tv_usec, __FILE__, __FUNCTION__, __LINE__, ##args);fflush(stdout)
#define PRINT_IMPORTANT(format, args...) gettimeofday(&global_print_tv, NULL);printf("\033[01;32m%12u.%06u:IMPORTANT(%s, %s, %d):"format"\n\033[01;37m", (uint32_t)global_print_tv.tv_sec, (uint32_t)global_print_tv.tv_usec, __FILE__, __FUNCTION__, __LINE__, ##args);fflush(stdout)
#else
#define PRINT_IMPORTANT(format, args...)
#endif

#ifdef ERROR
//#define PRINT_ERROR(format, args...) printf("\033[01;31mERROR(%s, %s, %d):"format"\n\033[01;37m",__FILE__, __FUNCTION__, __LINE__, ##args);fflush(stdout)
#define PRINT_ERROR(format, args...) gettimeofday(&global_print_tv, NULL);printf("\033[01;31m%u.%06u:ERROR(%s, %s, %d):"format"\n\033[01;37m", (uint32_t)global_print_tv.tv_sec, (uint32_t)global_print_tv.tv_usec, __FILE__, __FUNCTION__, __LINE__, ##args);fflush(stdout)
#define PRINT_ERROR(format, args...) gettimeofday(&global_print_tv, NULL);printf("\033[01;31m%12u.%06u:ERROR(%s, %s, %d):"format"\n\033[01;37m", (uint32_t)global_print_tv.tv_sec, (uint32_t)global_print_tv.tv_usec, __FILE__, __FUNCTION__, __LINE__, ##args);fflush(stdout)
#else
#define PRINT_ERROR(format, args...)
#endif
Expand Down

0 comments on commit ef50173

Please sign in to comment.