{"action":"created","issue":{"url":"https://api.github.com/repos/OpenVPN/openvpn-gui/issues/18","repository_url":"https://api.github.com/repos/OpenVPN/openvpn-gui","labels_url":"https://api.github.com/repos/OpenVPN/openvpn-gui/issues/18/labels{/name}","comments_url":"https://api.github.com/repos/OpenVPN/openvpn-gui/issues/18/comments","events_url":"https://api.github.com/repos/OpenVPN/openvpn-gui/issues/18/events","html_url":"https://github.com/OpenVPN/openvpn-gui/pull/18","id":134445739,"number":18,"title":"Support user and global config directories","user":{"login":"selvanair","id":3981391,"avatar_url":"https://avatars.githubusercontent.com/u/3981391?v=3","gravatar_id":"","url":"https://api.github.com/users/selvanair","html_url":"https://github.com/selvanair","followers_url":"https://api.github.com/users/selvanair/followers","following_url":"https://api.github.com/users/selvanair/following{/other_user}","gists_url":"https://api.github.com/users/selvanair/gists{/gist_id}","starred_url":"https://api.github.com/users/selvanair/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/selvanair/subscriptions","organizations_url":"https://api.github.com/users/selvanair/orgs","repos_url":"https://api.github.com/users/selvanair/repos","events_url":"https://api.github.com/users/selvanair/events{/privacy}","received_events_url":"https://api.github.com/users/selvanair/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":23,"created_at":"2016-02-18T00:42:26Z","updated_at":"2016-03-05T16:46:21Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/OpenVPN/openvpn-gui/pulls/18","html_url":"https://github.com/OpenVPN/openvpn-gui/pull/18","diff_url":"https://github.com/OpenVPN/openvpn-gui/pull/18.diff","patch_url":"https://github.com/OpenVPN/openvpn-gui/pull/18.patch"},"body":"Collect configs from both locations so that existing installations may not be adversely affected while new users can install configs in their user profile. As a side effect, makes PR#17 work for non-admin users.\r\n\r\n- Set default config directory (config_dir) to %UserProfile%\\OpenVPN\\config\r\n  (saved and read back from HKCU\\Software\\OpenVPN-GUI\\config_dir)\r\n\r\n- Add a global_config_dir variable read from HKLM\\Software\\OpenVPN\\config_dir\r\n  or set to OpenVPN-install-path\\config\r\n\r\n- Scan both directories and their sub directories for connection profiles.\r\n  In case of name conflicts config_dir gets priority over global_config_dir\r\n\r\n- Eliminate multiple warnings of duplicate configs\r\n \r\nSigned-off-by: Selva Nair <selva.nair@gmail.com>"},"comment":{"url":"https://api.github.com/repos/OpenVPN/openvpn-gui/issues/comments/192685146","html_url":"https://github.com/OpenVPN/openvpn-gui/pull/18#issuecomment-192685146","issue_url":"https://api.github.com/repos/OpenVPN/openvpn-gui/issues/18","id":192685146,"user":{"login":"selvanair","id":3981391,"avatar_url":"https://avatars.githubusercontent.com/u/3981391?v=3","gravatar_id":"","url":"https://api.github.com/users/selvanair","html_url":"https://github.com/selvanair","followers_url":"https://api.github.com/users/selvanair/followers","following_url":"https://api.github.com/users/selvanair/following{/other_user}","gists_url":"https://api.github.com/users/selvanair/gists{/gist_id}","starred_url":"https://api.github.com/users/selvanair/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/selvanair/subscriptions","organizations_url":"https://api.github.com/users/selvanair/orgs","repos_url":"https://api.github.com/users/selvanair/repos","events_url":"https://api.github.com/users/selvanair/events{/privacy}","received_events_url":"https://api.github.com/users/selvanair/received_events","type":"User","site_admin":false},"created_at":"2016-03-05T16:46:21Z","updated_at":"2016-03-05T16:46:21Z","body":"Yeah, the workdir is set by the service while starting openvpn -- the service takes three inputs from its clients (GUI in our case): the workdir, command line options for openvpn, and any input to pass to stdin. We pass config_dir for work_dir, the usual options including \"--config confg_file\" and the management password for stdin-input. \r\n\r\nNote that the config_dir used here is the actual root of the config file, not necessarily o.config_dir because subdirectories are allowed.\r\n"}}