I cross compiled the Windows version of NetSurf on Linux and ran it under Wine. It failed to find the ca-bundle.crt file.
I think nsws_find_resource() should be used to find the file instead of the Windows SearchPathA() API so that NetSurf will look in the NetSurf resources directory. I have attached a patch, which should do the trick. diff --git a/frontends/windows/main.c b/frontends/windows/main.cindex d019f10..8e86a29 100644--- a/frontends/windows/main.c+++ b/frontends/windows/main.c@@ -156,32 +156,14 @@ static nserror set_defaults(struct nsoption_s *defaults) /* locate CA bundle and set as default, cannot rely on curl * compiled in default on windows. */- DWORD res_len;- DWORD buf_tchar_size = PATH_MAX + 1;- DWORD buf_bytes_size = sizeof(TCHAR) * buf_tchar_size;- char *ptr = NULL;- char *buf;+ char buf[PATH_MAX]; char *fname; HRESULT hres; char dldir[] = "Downloads"; - buf = malloc(buf_bytes_size);- if (buf== NULL) {- return NSERROR_NOMEM;- }- buf[0] = '\0';- /* locate certificate bundle */- res_len = SearchPathA(NULL,- "ca-bundle.crt",- NULL,- buf_tchar_size,- buf,- &ptr);- if (res_len > 0) {- nsoption_setnull_charp(ca_bundle, strdup(buf));- }-+ nsws_find_resource(buf, "ca-bundle.crt", "windows/res/ca-bundle.crt");+ nsoption_setnull_charp(ca_bundle, strdup(buf)); /* download directory default *@@ -204,8 +186,6 @@ static nserror set_defaults(struct nsoption_s *defaults) } } - free(buf);- /* ensure homepage option has a default */ nsoption_setnull_charp(homepage_url, strdup(NETSURF_HOMEPAGE));