Good catch - thanks Neel. I don't have my main dev laptop with me, so I'll have to test this next week. Watch this space :-)
On Wed, May 24, 2017 at 4:22 AM, Neel Patel <neel.pa...@enterprisedb.com> wrote: > Hi, > > After debugging the issue in windows, we came to know that "random port" > generation logic in runtime is getting failed if we configured proxy server > in windows. > > Below are the code where we are finding random free port and use with our > URL "localhost:<port>". Below code return "0" as port value so application > is not able to start and it hangs on splash screen. Here, if we configured > proxy server in windows then "bind" method always return false and gives > message "Operation not permitted" but when we disable proxy server then > below code gives valid random port number. > > QTcpSocket socket; > socket.bind(0, QTcpSocket::ShareAddress); > port = socket.localPort(); > > Same happens with Linux OS - when user defined "http_proxy" environment > variable and run pgAdmin4 application then above code fails and gives "0" as > random port number and application hangs on splash screen. > > > From the below Qt 5.8 released link, we came to know that "random port" > generation work well after setting application level proxy. > http://blog.qt.io/blog/2017/01/23/qt-5-8-released/ > > QNetworkProxy::setApplicationProxy(QNetworkProxy()); > > After setting above, "bind" method return true and gives correct port number > and application starts working. We are also setting > "setUseSystemConfiguration=true" after setting application level proxy which > will override the setting and use platform specific system proxy > configuration. > > From the below link, it looks like fixed in Qt 5.9. > https://bugreports.qt.io/browse/QTBUG-58374 > https://codereview.qt-project.org/#/c/186124/ > > I have tested with Qt 5.8 Web Engine and webkit in windows. Do review it and > let me know for comments. > > Thanks, > Neel Patel > > On Fri, May 19, 2017 at 4:37 PM, Dave Page <dp...@pgadmin.org> wrote: >> >> On Thu, May 18, 2017 at 3:42 PM, Neel Patel <neel.pa...@enterprisedb.com> >> wrote: >> > Hi Dave, >> > >> > Please find attached patch for the fix of RM#2398 - "Proxy not bypassed >> > for >> > embedded server in runtime on Windows". >> > >> > Observation:- >> > We have observed this issue only with Qt WebEngine. We have not observed >> > this issue with Webkit ( Tested with Qt 5.3 ). >> > >> > Issue:- >> > If user set option "Bypass proxy server for local addresses" then >> > WebEngine >> > doesn't bypass the request for local addresses even if that option is >> > set. >> > >> > Solution:- >> > Now if user set option "Bypass proxy server for local addresses" then >> > Web >> > Engine bypass the request for localhost and if user unset then request >> > will >> > not be bypassed. >> > >> > Please find attached fix for this issue. Do review and test it and let >> > me >> > know for any issue. >> >> Noted on the ticket: >> >> ==== >> Right, but as Maxim has noted, the proxy code is there to allow users >> to browse to online docs, so it can't just be disabled. >> >> This likely worked in 1.3 as that used QtWebEngine (which had a bunch >> of other issues). We need to fix it for QtWebKit, so that it honors >> the bypass proxy for local addresses option. >> ==== >> >> >> -- >> Dave Page >> Blog: http://pgsnake.blogspot.com >> Twitter: @pgsnake >> >> EnterpriseDB UK: http://www.enterprisedb.com >> The Enterprise PostgreSQL Company > > -- Dave Page Blog: http://pgsnake.blogspot.com Twitter: @pgsnake EnterpriseDB UK: http://www.enterprisedb.com The Enterprise PostgreSQL Company -- Sent via pgadmin-hackers mailing list (pgadmin-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgadmin-hackers