Changeset 45616 for titan/titan/network.h
- Timestamp:
- 11/15/21 09:31:19 (2 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
titan/titan/network.h
r45606 r45616 1014 1014 } 1015 1015 1016 void screennetwork_ipsec()1017 {1018 int rcret = 0;1019 char* tmpstr = NULL;1020 char* ret = NULL;1021 char* cmd = NULL;1022 char* user = NULL;1023 char* pass = NULL;1024 char* dyndns = NULL;1025 char* rekey = NULL;1026 char* psk = NULL;1027 char* name = NULL;1028 char* id = NULL;1029 1030 struct skin* ipsec = getscreen("ipsecsettings");1031 struct skin* listbox = getscreennode(ipsec, "listbox");1032 struct skin* skin_name = getscreennode(ipsec, "name");1033 struct skin* skin_user = getscreennode(ipsec, "user");1034 struct skin* skin_pass = getscreennode(ipsec, "pass");1035 struct skin* skin_psk = getscreennode(ipsec, "psk");1036 struct skin* skin_dyndns = getscreennode(ipsec, "dyndns");1037 struct skin* skin_id = getscreennode(ipsec, "id");1038 struct skin* skin_rekey = getscreennode(ipsec, "rekey");1039 struct skin* tmp = NULL;1040 1041 if(!file_exist("/mnt/network/ipsec.conf"))1042 system("cp /etc/titan.restore/mnt/network/ipsec.conf /mnt/network/ipsec.conf");1043 1044 if(!file_exist("/mnt/network/ipsec.secret"))1045 system("cp /etc/titan.restore/mnt/network/ipsec.secret /mnt/network/ipsec.secret");1046 1047 name = string_newline(command("cat /mnt/network/ipsec.conf | grep -v '^#' | grep -v %default | sed -nr 's/.*conn ([^ ]+).*/\\1/p'"));1048 user = string_newline(command("cat /mnt/network/ipsec.conf | grep -v '^#' | sed -nr 's/.*xauth_identity=([^=]+).*/\\1/p'"));1049 pass = string_newline(command("cat /mnt/network/ipsec.secrets | grep -v '^#' | sed -nr 's/.*: XAUTH \"([^\"]+)\".*/\\1/p'"));1050 dyndns = string_newline(command("cat /mnt/network/ipsec.conf | grep -v '^#' | sed -nr 's/.*right=([^=]+).*/\\1/p'"));1051 rekey = string_newline(command("cat /mnt/network/ipsec.conf | grep -v '^#' | sed -nr 's/.*rekey=([^=]+).*/\\1/p'"));1052 psk = string_newline(command("cat /mnt/network/ipsec.secrets | grep -v '^#' | sed -nr 's/.*%any : PSK \"([^\"]+)\".*/\\1/p'"));1053 id = string_newline(command("cat /mnt/network/ipsec.conf | grep -v '^#' | sed -nr 's/.*leftid=keyid:([^:]+).*/\\1/p'"));1054 1055 printf("name: %s\n", name);1056 printf("user: %s\n", user);1057 printf("pass: %s\n", pass);1058 printf("dyndns: %s\n", dyndns);1059 printf("rekey: %s\n", rekey);1060 printf("psk: %s\n", psk);1061 printf("id: %s\n", id);1062 1063 changemask(skin_name, "abcdefghijklmnopqrstuvwxyz");1064 changeinput(skin_name, name);1065 1066 changemask(skin_user, "abcdefghijklmnopqrstuvwxyz");1067 changeinput(skin_user, user);1068 1069 changemask(skin_pass, "abcdefghijklmnopqrstuvwxyz");1070 changeinput(skin_pass, pass);1071 1072 changemask(skin_dyndns, "abcdefghijklmnopqrstuvwxyz");1073 changeinput(skin_dyndns, dyndns);1074 1075 changemask(skin_psk, "abcdefghijklmnopqrstuvwxyz");1076 changeinput(skin_psk, psk);1077 1078 changemask(skin_id, "abcdefghijklmnopqrstuvwxyz");1079 changeinput(skin_id, id);1080 1081 addchoicebox(skin_rekey, "no", _("no"));1082 addchoicebox(skin_rekey, "yes", _("yes"));1083 setchoiceboxselection(skin_rekey, rekey);1084 1085 drawscreen(ipsec, 0, 0);1086 addscreenrc(ipsec, listbox);1087 1088 tmp = listbox->select;1089 while(1)1090 {1091 addscreenrc(ipsec, tmp);1092 rcret = waitrc(ipsec, 0, 0);1093 tmp = listbox->select;1094 1095 if(rcret == getrcconfigint("rcexit", NULL)) break;1096 if(rcret == getrcconfigint("rcok", NULL))1097 {1098 if(skin_name->ret != NULL)1099 {1100 cmd = ostrcat("cat /mnt/network/ipsec.conf | sed 's/.*conn $%.*/conn ", skin_name->ret, 0, 0);1101 cmd = ostrcat(cmd,"/'", 1, 0);1102 printf("cmd: %s\n", cmd);1103 system(cmd);1104 free(cmd), cmd = NULL;1105 }1106 1107 if(skin_user->ret != NULL)1108 {1109 cmd = ostrcat("cat /mnt/network/ipsec.conf | sed 's/.*xauth_identity=.*/xauth_identity=", skin_user->ret, 0, 0);1110 cmd = ostrcat(cmd,"/'", 1, 0);1111 printf("cmd: %s\n", cmd);1112 system(cmd);1113 free(cmd), cmd = NULL;1114 }1115 1116 if(skin_id->ret != NULL)1117 {1118 cmd = ostrcat("cat /mnt/network/ipsec.conf | sed 's/.*leftid=keyid:.*/leftid=keyid:", skin_id->ret, 0, 0);1119 cmd = ostrcat(cmd,"/'", 1, 0);1120 printf("cmd: %s\n", cmd);1121 system(cmd);1122 free(cmd), cmd = NULL;1123 }1124 1125 if(skin_dyndns->ret != NULL)1126 {1127 cmd = ostrcat("cat /mnt/network/ipsec.conf | sed 's/.*right=.*/right=", skin_dyndns->ret, 0, 0);1128 cmd = ostrcat(cmd,"/'", 1, 0);1129 printf("cmd: %s\n", cmd);1130 system(cmd);1131 free(cmd), cmd = NULL;1132 }1133 1134 if(skin_rekey->ret != NULL)1135 {1136 cmd = ostrcat("cat /mnt/network/ipsec.conf | sed 's/.*rekey=.*/rekey=", skin_rekey->ret, 0, 0);1137 cmd = ostrcat(cmd,"/'", 1, 0);1138 printf("cmd: %s\n", cmd);1139 system(cmd);1140 free(cmd), cmd = NULL;1141 }1142 1143 if(skin_pass->ret != NULL)1144 {1145 cmd = ostrcat("cat /mnt/network/ipsec.secrets | sed 's/.*: XAUTH \".*/: XAUTH \"", skin_pass->ret, 0, 0);1146 cmd = ostrcat(cmd,"\"/'", 1, 0);1147 printf("cmd: %s\n", cmd);1148 system(cmd);1149 free(cmd), cmd = NULL;1150 }1151 1152 if(skin_psk->ret != NULL)1153 {1154 cmd = ostrcat("cat /mnt/network/ipsec.secrets | sed 's/%any : PSK \".*/%any : PSK \"", skin_psk->ret, 0, 0);1155 cmd = ostrcat(cmd,"\"/'", 1, 0);1156 printf("cmd: %s\n", cmd);1157 system(cmd);1158 free(cmd), cmd = NULL;1159 }1160 1161 if(skin_user->ret != NULL)1162 {1163 cmd = ostrcat("cat /mnt/network/ipsec.secrets | sed 's/.* : XAUTH/", skin_user->ret, 0, 0);1164 cmd = ostrcat(cmd," : XAUTH/'", 1, 0);1165 printf("cmd: %s\n", cmd);1166 system(cmd);1167 free(cmd), cmd = NULL;1168 }1169 1170 debug(99, "name: %s", skin_name->ret);1171 debug(99, "user: %s", skin_user->ret);1172 debug(99, "pass: %s", skin_pass->ret);1173 debug(99, "dyndns: %s", skin_dyndns->ret);1174 debug(99, "psk: %s", skin_psk->ret);1175 debug(99, "id: %s", skin_id->ret);1176 debug(99, "rekey: %s", skin_rekey->ret);1177 1178 break;1179 }1180 }1181 delownerrc(ipsec);1182 clearscreen(ipsec);1183 }1184 1185 1016 #endif
Note: See TracChangeset
for help on using the changeset viewer.