[GH-ISSUE #215] Default proxy settings are not updated on system proxy settings change #209

Open
opened 2026-02-25 20:31:09 +03:00 by kerem · 5 comments
Owner

Originally created by @abukhnin on GitHub (Nov 27, 2017).
Original GitHub issue: https://github.com/aluxnimm/outlookcaldavsynchronizer/issues/215

A synchronization issue occurs when the system proxy settings change.
Reproduced with Outlook CalDav Synchronizer 2.26.0.0, Outlook 2013 on Windows 8.1.

To reporoduce:

  1. Run Outlook with installed Outlook CalDav Synchronizer.
  2. Check "Use system default proxy" in Network settings of a Synchronization profile.
  3. Change system proxy settings. E.g. in my case this happens automatically when I connect to a corporate network.
  4. Initiate synchronization - it will fail. See
    log.txt

Restarting Outlook fixes the issue until the next system proxy settings change.

Here is a patch that helps me prevent the issue:
dynamic_proxy_patch.txt

Originally created by @abukhnin on GitHub (Nov 27, 2017). Original GitHub issue: https://github.com/aluxnimm/outlookcaldavsynchronizer/issues/215 A synchronization issue occurs when the system proxy settings change. Reproduced with Outlook CalDav Synchronizer 2.26.0.0, Outlook 2013 on Windows 8.1. To reporoduce: 1. Run Outlook with installed Outlook CalDav Synchronizer. 2. Check "Use system default proxy" in Network settings of a Synchronization profile. 3. Change system proxy settings. E.g. in my case this happens automatically when I connect to a corporate network. 4. Initiate synchronization - it will fail. See [log.txt](https://github.com/aluxnimm/outlookcaldavsynchronizer/files/1507526/log.txt) Restarting Outlook fixes the issue until the next system proxy settings change. Here is a patch that helps me prevent the issue: [dynamic_proxy_patch.txt](https://github.com/aluxnimm/outlookcaldavsynchronizer/files/1507542/dynamic_proxy_patch.txt)
Author
Owner

@aluxnimm commented on GitHub (Nov 29, 2017):

Thank you, we will look into it.

<!-- gh-comment-id:347894612 --> @aluxnimm commented on GitHub (Nov 29, 2017): Thank you, we will look into it.
Author
Owner

@aluxnimm commented on GitHub (Dec 5, 2018):

Your patch has not the same behaviour. DefaultWebProxy read settings from app.config and as fallback from Windows settings but GetSystemWebProxy() doesn't consider app.config.

<!-- gh-comment-id:444677780 --> @aluxnimm commented on GitHub (Dec 5, 2018): Your patch has not the same behaviour. DefaultWebProxy read settings from app.config and as fallback from Windows settings but GetSystemWebProxy() doesn't consider app.config.
Author
Owner

@abukhnin commented on GitHub (Dec 9, 2018):

I see. I tested my patch with DefaultWebProxy instead of GetSystemWebProxy(), but it didn't work - the proxy wasn't properly set upon connection to a corporate network. I suppose that's because DefaultWebProxy is only set once on application start.
In a comment at https://stackoverflow.com/questions/14887679/whats-the-difference-between-webrequest-defaultwebproxy-and-webrequest-getsyste#comment20889389_14888220 it is suggested to use DefaultWebProxy for "custom proxy configuration" and GetSystemWebProxy() for "use system settings" option.
Maybe indeed these should be separate options along with "use manual proxy configuration"?

<!-- gh-comment-id:445575966 --> @abukhnin commented on GitHub (Dec 9, 2018): I see. I tested my patch with DefaultWebProxy instead of GetSystemWebProxy(), but it didn't work - the proxy wasn't properly set upon connection to a corporate network. I suppose that's because DefaultWebProxy is only set once on application start. In a comment at https://stackoverflow.com/questions/14887679/whats-the-difference-between-webrequest-defaultwebproxy-and-webrequest-getsyste#comment20889389_14888220 it is suggested to use DefaultWebProxy for "custom proxy configuration" and GetSystemWebProxy() for "use system settings" option. Maybe indeed these should be separate options along with "use manual proxy configuration"?
Author
Owner

@aluxnimm commented on GitHub (Dec 9, 2018):

Would be rather confusing to have two different default options, question is if anybody uses app.config settings.

<!-- gh-comment-id:445577538 --> @aluxnimm commented on GitHub (Dec 9, 2018): Would be rather confusing to have two different default options, question is if anybody uses app.config settings.
Author
Owner

@abukhnin commented on GitHub (Dec 9, 2018):

Maybe, name them something like "Static default proxy configuration" and "Dynamic system proxy configuration"?
Besides backward compatibility for those who did use app.config, one more reason to have both these options is to let users prevent delays in particular cases, like this one: https://developercommunity.visualstudio.com/content/problem/108772/webrequestgetsystemwebproxy-occasionally-very-slow.html
I know that extra customization options may indicate unresolved design problems, but here they seem to be justified.

<!-- gh-comment-id:445583241 --> @abukhnin commented on GitHub (Dec 9, 2018): Maybe, name them something like "Static default proxy configuration" and "Dynamic system proxy configuration"? Besides backward compatibility for those who did use app.config, one more reason to have both these options is to let users prevent delays in particular cases, like this one: https://developercommunity.visualstudio.com/content/problem/108772/webrequestgetsystemwebproxy-occasionally-very-slow.html I know that extra customization options may indicate unresolved design problems, but here they seem to be justified.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/outlookcaldavsynchronizer#209
No description provided.