apps/cmm: update HTTPS proxy (#439)
- new proxy address - fix proxy usage for `dl` - fix buffers overflow - optimize memory usage - explicit notify error for `dl` when URL is HTTPS and proxy is not found - cleanup some dead code to fit app in the same sectors size Reviewed-on: #439 Reviewed-by: Ivan B <1+dunkaist@noreply.localhost>
This commit was merged in pull request #439.
This commit is contained in:
@@ -23,7 +23,7 @@ path=/usbhd0/1/kolibri.img
|
||||
autoclose=0
|
||||
|
||||
[WebView]
|
||||
proxy_address=http://proxy.kolibrios.org:82/?site=
|
||||
proxy_address=http://proxy.kolibrios.org/?site=
|
||||
search_engine=http://wiby.me/?q=
|
||||
;search_engine=http://bing.com/search?q=
|
||||
;search_engine=https://html.duckduckgo.com/html/?q=
|
||||
|
||||
@@ -72,8 +72,8 @@ progress_bar prbar;
|
||||
proc_info Form;
|
||||
|
||||
char settings_file[256];
|
||||
char proxy_address[768];
|
||||
char search_engine[768];
|
||||
char proxy_address[256];
|
||||
char search_engine[256];
|
||||
|
||||
#include "settings.h"
|
||||
#include "tabs.h"
|
||||
@@ -307,14 +307,14 @@ void ProcessButtonClick(dword id__)
|
||||
case SANDWICH_BUTTON: EventShowMainMenu(); return;
|
||||
case VIEW_SOURCE: EventViewSource(); return;
|
||||
case EDIT_SOURCE: EventEditSource(); return;
|
||||
case VIEW_HISTORY: OpenPage(URL_SERVICE_HISTORY); return;
|
||||
case DOWNLOAD_MANAGER: EventOpenDownloader(""); return;
|
||||
case UPDATE_BROWSER: EventUpdateBrowser(); return;
|
||||
case OPEN_SETTINGS: RunProgram("/sys/@open", #settings_file); return;
|
||||
case CLEAR_CACHE: EventClearCache(); return;
|
||||
case IN_NEW_TAB: EventClickLink(TARGET_NEW_TAB); return;
|
||||
case IN_NEW_WINDOW: EventClickLink(TARGET_NEW_WINDOW); return;
|
||||
case COPY_LINK_URL: EventCopyLinkToClipboard(); return;
|
||||
case VIEW_HISTORY: OpenPage(URL_SERVICE_HISTORY); return;
|
||||
case DOWNLOAD_MANAGER: EventOpenDownloader(""); return;
|
||||
case UPDATE_BROWSER: EventUpdateBrowser(); return;
|
||||
case OPEN_SETTINGS: RunProgram("/sys/@open", #settings_file); return;
|
||||
case CLEAR_CACHE: EventClearCache(); return;
|
||||
case IN_NEW_TAB: EventClickLink(TARGET_NEW_TAB); return;
|
||||
case IN_NEW_WINDOW: EventClickLink(TARGET_NEW_WINDOW); return;
|
||||
case COPY_LINK_URL: EventCopyLinkToClipboard(); return;
|
||||
case DOWNLOAD_LINK_CT: EventOpenDownloader( GetAbsoluteActiveURL() ); return;
|
||||
case OPEN_FILE: EventOpenDialog(); return;
|
||||
}
|
||||
@@ -331,10 +331,10 @@ void ProcessKeyEvent()
|
||||
if (key_modifier&KEY_LCTRL) || (key_modifier&KEY_RCTRL) switch(key_scancode)
|
||||
{
|
||||
case SCAN_CODE_KEY_O: EventOpenDialog(); return;
|
||||
case SCAN_CODE_KEY_H: ProcessButtonClick(VIEW_HISTORY); return;
|
||||
case SCAN_CODE_KEY_E: ProcessButtonClick(OPEN_SETTINGS); return;
|
||||
case SCAN_CODE_KEY_U: EventViewSource(); return;
|
||||
case SCAN_CODE_KEY_T: EventOpenNewTab(URL_SERVICE_HOMEPAGE); return;
|
||||
case SCAN_CODE_KEY_H: ProcessButtonClick(VIEW_HISTORY); return;
|
||||
case SCAN_CODE_KEY_E: ProcessButtonClick(OPEN_SETTINGS); return;
|
||||
case SCAN_CODE_KEY_U: EventViewSource(); return;
|
||||
case SCAN_CODE_KEY_T: EventOpenNewTab(URL_SERVICE_HOMEPAGE); return;
|
||||
case SCAN_CODE_KEY_N: RunProgram(#program_path, NULL); return;
|
||||
case SCAN_CODE_KEY_J: ProcessButtonClick(DOWNLOAD_MANAGER); return;
|
||||
case SCAN_CODE_KEY_R: ProcessButtonClick(REFRESH_BUTTON); return;
|
||||
@@ -533,12 +533,12 @@ bool GetLocalFileData(dword _path)
|
||||
|
||||
bool GetUrl(dword _http_url)
|
||||
{
|
||||
char new_url_full[URL_SIZE+1];
|
||||
char new_url_full[URL_SIZE + sizeof(proxy_address) + 1];
|
||||
if (!strncmp(_http_url,"http://",7)) {
|
||||
http.get(_http_url);
|
||||
return true;
|
||||
} else if (!strncmp(_http_url,"https://",8)) {
|
||||
if (#proxy_address) {
|
||||
if (proxy_address[0]) {
|
||||
strcpy(#new_url_full, #proxy_address);
|
||||
strncat(#new_url_full, _http_url, URL_SIZE);
|
||||
http.get(#new_url_full);
|
||||
@@ -840,7 +840,7 @@ void ProcessMenuClick()
|
||||
|
||||
void EventSearchWeb()
|
||||
{
|
||||
char new_url[URL_SIZE+1];
|
||||
char new_url[URL_SIZE + sizeof(search_engine) + 1];
|
||||
// replace the spaces with '+' for the search query
|
||||
replace_char(#editURL, ' ', '+', URL_SIZE);
|
||||
strcpy(#new_url, #search_engine);
|
||||
|
||||
@@ -27,7 +27,7 @@ char filepath[4096];
|
||||
char save_dir[4096];
|
||||
|
||||
char settings_file[256];
|
||||
char proxy_address[768];
|
||||
char proxy_address[256];
|
||||
|
||||
#include "settings.h"
|
||||
|
||||
@@ -41,7 +41,7 @@ progress_bar pb = {0, GAPX, 52, WIN_W - GAPX - GAPX, 17, 0, NULL, NULL,
|
||||
|
||||
void main()
|
||||
{
|
||||
dword shared_url;
|
||||
// dword shared_url; // only used by the disabled -mem branch (long URL via SHM)
|
||||
|
||||
load_dll(libini, #lib_init,1);
|
||||
load_dll(boxlib, #box_lib_init,0);
|
||||
@@ -66,12 +66,15 @@ void main()
|
||||
param += 4;
|
||||
}
|
||||
|
||||
if (!strncmp(#param, "-mem", 5)) {
|
||||
//shared_url = memopen(#dl_shared, URL_SIZE+1, SHM_OPEN + SHM_WRITE);
|
||||
strcpy(#uEdit, shared_url);
|
||||
} else {
|
||||
strcpy(#uEdit, #param);
|
||||
}
|
||||
// Disabled long-URL-via-SHM ("DL") channel. memopen was never
|
||||
// finished (read from uninitialised ptr). Reimplement properly
|
||||
// if passing long URLs from WebView is ever needed.
|
||||
// if (!strncmp(#param, "-mem", 5)) {
|
||||
// shared_url = memopen(#dl_shared, URL_SIZE+1, SHM_OPEN + SHM_WRITE);
|
||||
// strcpy(#uEdit, shared_url);
|
||||
// } else {
|
||||
strcpy(#uEdit, #param);
|
||||
// }
|
||||
|
||||
if (streq(#param, "-test")) {
|
||||
strcpy(#uEdit, URL_SPEED_TEST);
|
||||
@@ -157,7 +160,7 @@ void DrawWindow()
|
||||
} else if (http.transfer) {
|
||||
DrawDlButton(WIN_W-BUT_W/2, BTN_STOP, T_CANCEL);
|
||||
DrawDownloadingProgress();
|
||||
} else if (!http.transfer) && (filepath) {
|
||||
} else {
|
||||
autoclose.disabled = true;
|
||||
DrawDlButton(GAPX, BTN_RUN, T_RUN);
|
||||
DrawDlButton(WIN_W-BUT_W/2, BTN_DIR, T_OPEN_DIR);
|
||||
@@ -177,14 +180,24 @@ void DrawWindow()
|
||||
|
||||
void StartDownloading()
|
||||
{
|
||||
char get_url[URL_SIZE+33];
|
||||
char get_url[URL_SIZE + sizeof(proxy_address) + 1];
|
||||
if (http.transfer > 0) return;
|
||||
ResetDownloadSpeed();
|
||||
pb.back_color = 0xFFFfff;
|
||||
if (!strncmp(#uEdit,"https://",8)) {
|
||||
miniprintf(#get_url, "%s%s", #proxy_address, #uEdit);
|
||||
if (!proxy_address[0]) {
|
||||
pb.progress_color = PB_COL_ERROR;
|
||||
notify("'HTTPS URLs require proxy_address in app.ini' -E");
|
||||
StopDownloading();
|
||||
EditBox_UpdateText(#ed, ed_focus + ed_always_focus);
|
||||
DrawWindow();
|
||||
return;
|
||||
}
|
||||
strcpy(#get_url, #proxy_address);
|
||||
strncat(#get_url, #uEdit, URL_SIZE);
|
||||
} else {
|
||||
strcpy(#get_url, #uEdit);
|
||||
}
|
||||
strcpy(#get_url, #uEdit);
|
||||
|
||||
if (http.get(#get_url)) {
|
||||
pb.value = 0;
|
||||
@@ -288,7 +301,7 @@ void CompleteDownload()
|
||||
|
||||
void SaveFile(int attempt)
|
||||
{
|
||||
int i, fi=0;
|
||||
int i;
|
||||
char notify_message[4296];
|
||||
char file_name[URL_SIZE+96];
|
||||
|
||||
@@ -349,7 +362,6 @@ void SaveFile(int attempt)
|
||||
void Unarchive(dword _arc)
|
||||
{
|
||||
char folder_name[4096];
|
||||
strcpy(#folder_name, #save_dir);
|
||||
strcpy(#folder_name, #filepath+strrchr(#filepath, '/'));
|
||||
folder_name[strlen(#folder_name)-4] = '\0';
|
||||
CreateDir(#folder_name);
|
||||
|
||||
@@ -5,5 +5,5 @@ void LoadIniConfig()
|
||||
ini.path = GetIni(#settings_file, "app.ini");
|
||||
ini.section = "WebView";
|
||||
|
||||
ini.GetString("proxy", #proxy_address, sizeof(proxy_address), NULL);
|
||||
ini.GetString("proxy_address", #proxy_address, sizeof(proxy_address), NULL);
|
||||
}
|
||||
Reference in New Issue
Block a user