Commit Graph

847 Commits (f20062edd5e4d435ac966a1eed913e63c98df1b3)

Author SHA1 Message Date
Selva Nair f20062edd5 Update copyright year
Signed-off-by: Selva Nair <selva.nair@gmail.com>
2024-07-15 18:45:02 +02:00
Frank Lichtenheld 6794097462 Bump version to 11.49.0.0
Signed-off-by: Frank Lichtenheld <frank@lichtenheld.com>
2024-06-20 11:45:20 +02:00
Selva Nair 4547dd95fc Validate the service pipe to avoid connecting to a bogus pipe
If an attacker with SeImeprsonatePrivilege manages to create a
namedpipe server with a name matching that used by the "Interactive
Service", the GUI connecting to it could allow the attacker to
impersonate the GUI user.

Fix by validating the service pipe by comparing the pid of the pipe
server with that of the "Interactive Service".

Note: GetNamedPipeServerProcessId() returns the pid of the process
that created the first instance of the pipe. So, this patch only
guards against a rogue pipe instance created before the service
has started. This has to work in combination with a patch for the
service that disallows creation of additional pipe instances when
the service is running.

CVE: CVE-2024-4877
Reported by: Zeze with TeamT5 <zeze7w@gmail.com>

Acked-by: Lev Stipakov <lstipakov@gmail.com>
Signed-off-by: Selva Nair <selva.nair@gmail.com>
2024-06-19 16:46:41 +02:00
Selva Nair 83034c410f Rename artifacts to avoid overwrite
This adds a suffix _release or _asan to the zip file name
in place of _Object.

Signed-off-by: Selva Nair <selva.nair@gmail.com>
2024-04-22 02:16:29 +05:30
Selva Nair 60f4c8321c Update CHANGES.rst
Signed-off-by: Selva Nair <selva.nair@gmail.com>
2024-04-18 12:04:50 +03:00
Selva Nair fdf457d3a6 Fix off-by-one error in escape_string()
Github: fixes openvpn/openvpn-gui#548

Signed-off-by: Selva Nair <selva.nair@gmail.com>
2024-04-18 12:04:26 +03:00
Yuriy Darnobyt 9c0c488890 Bump version to 11.48.0.0
Signed-off-by: Yuriy Darnobyt <yura.darnobyt@openvpn.net>
2024-03-20 11:50:04 +02:00
Selva Nair d1756f068e Position tray tooltip above the taskbar
Use Shell_NotifyGetRect to find the icon location and place the
tip window a fixed distance above/below it.

It appears GUID_NULL used for above is not pulled in by shellapi.h.
Define locally when absent.

Also add TTF_RTLREADING for RTL languages. How to right justify
as well in this case is unclear.

Signed-off-by: Selva Nair <selva.nair@gmail.com>
2024-02-14 20:27:29 +05:30
Selva Nair 264d025bc6 Combine title and message in tray icon tip text
Also change scope of tip_msgi[] to local

Co-authored-by: Lev Stipakov <lstipakov@gmail.com>
Signed-off-by: Selva Nair <selva.nair@gmail.com>
2024-02-14 20:27:29 +05:30
Selva Nair 0c9ae87e0f Use a custom tooltip window for the tray icon
Built-in tray notification icon has a tip text length limit of 128
characters which is often limited for showing the connected profile name,
connected since time and IP addresses. If the profile name is long the IP
numbers could get truncated.

Fix by using a custom tooltip window and display it when mouse hovers over
the icon. As the status bar need not be at the bottom of the screen (could be
at right, left or top as well), the location of the window is chosen based
on the mouse co-ordinates that trigger the hover event.

In case of errors while setting up the tooltip window, fall back to the current
behaviour.

If the message is too long to include time and IP, truncate the profile name
part of the message.

v2: Do not use wParam in NIN_POPUOPEN message as it does not seem to work
    on Windows 11. Instead use GetCursorPos() for mouse location.

Fixes issue #666

Signed-off-by: Selva Nair <selva.nair@gmail.com>
2024-02-14 20:27:29 +05:30
Frank Lichtenheld 583e48b148 Bump version to 11.47.0.0
Signed-off-by: Frank Lichtenheld <frank@lichtenheld.com>
2024-02-12 13:46:14 +01:00
Selva Nair 579a418fb7 Always update tray icon on state change
The tray icon and its tip text get updated to the connecting state when starting
a new status window thread. This is not enough for persistent connections as these
can be restarted from the hold state which does not go through a new thread creation.

To see the bug, disconnect and reconnect a persistent connection and have it wait in the
connecting state. The tray icon colour does not change to yellow and the tray tip message
does not show the "Connecting to:" text.

Fix by ensuring that  CheckAndSetTrayIcon() or SetTrayIcon() gets called whenever a state
change message is received.

Fixes issue #668

Signed-off-by: Selva Nair <selva.nair@gmail.com>
2024-02-11 10:23:03 +01:00
Yuriy Darnobyt 813916ede5 Bump version to 11.46.0.0
Signed-off-by: Yuriy Darnobyt <yura.darnobyt@openvpn.net>
2023-11-17 12:31:49 +02:00
Yuriy Darnobyt e8f9fa58af Bump version to 11.45.0.0
Signed-off-by: Yuriy Darnobyt <yura.darnobyt@openvpn.net>
2023-11-08 18:05:38 +02:00
Sam Gregg 59c449cf99
Add clarity for error on missing management paramater. (#657)
Configuration files located in config-auto require a management parameter to be declared.
2023-10-09 21:35:07 -04:00
Lev Stipakov 7de26e65af
BUILD.rst: update presets names (#652)
Signed-off-by: Lev Stipakov <lev@openvpn.net>
2023-09-13 08:21:13 -04:00
Lev Stipakov a02ccb5bff Send the whole version in IV_GUI_VER
Current IV_GUI_VER is always 11 which is not very helpful.

Signed-off-by: Lev Stipakov <lev@openvpn.net>
2023-09-07 10:26:37 +02:00
Lev Stipakov 8b42ea8761 CMake: remove "if (MSVC)"
MSVC is the only generator we use for CMake.

Signed-off-by: Lev Stipakov <lev@openvpn.net>
2023-09-04 14:20:27 +02:00
Lev Stipakov 441280a8ff CMake: add ASAN build configuration
Add ASAN build configuration, based on debug with ASAN
enabled. This might help finding crashes like in
https://github.com/OpenVPN/openvpn-gui/issues/548

Signed-off-by: Lev Stipakov <lev@openvpn.net>
2023-09-04 14:20:27 +02:00
Lev Stipakov ab3c42b75e CMake: remove CMAKE_BUILD_TYPE from configure presets
Since we use Visual Studio as generator, CMAKE_BUILD_TYPE doesn't make
sense, since configuration (release/debug) is specified on build step,
not configure step.

Signed-off-by: Lev Stipakov <lev@openvpn.net>
2023-09-04 14:20:27 +02:00
Lev Stipakov 72a4bb84bf
Improve "OpenVPN GUI" tooltip handling (#649)
There is no point in localizing "OpenVPN GUI"
tray icon tooltip. Remove it from resources and
replace with PACKAGE_NAME define.

Signed-off-by: Lev Stipakov <lev@openvpn.net>
2023-08-31 11:13:13 -04:00
Frank Lichtenheld d2473c4984 Bump version to 11.44.0.0
Signed-off-by: Frank Lichtenheld <frank@lichtenheld.com>
2023-08-15 10:27:47 +02:00
Selva Nair 5ff7c417b1 Remove obsolete options from help text
All these options are currently ignored while
parsing the command line.

Signed-off-by: Selva Nair <selva.nair@gmail.com>
2023-08-02 10:36:44 +03:00
bubuleur 3aeed141b3
Update openvpn-gui-res-fr.rc (#642)
* Update openvpn-gui-res-fr.rc

Hello
attached the update of the French translation of OpenVPN how to see if my translation is good?
Thanks
2023-08-01 20:21:05 -04:00
Frank Lichtenheld be7c684868 GHA: add uncrustify formatting check
Signed-off-by: Frank Lichtenheld <frank@lichtenheld.com>
2023-07-14 11:12:16 +02:00
Frank Lichtenheld 2cb3c6e417 Reformat source code with uncrustify
Closes: #445

Signed-off-by: Frank Lichtenheld <frank@lichtenheld.com>
2023-07-14 11:12:16 +02:00
Frank Lichtenheld f2aad3a879 dev-tools: Copy from openvpn to add formatting support here
All unchanged except for special-files.lst which has been
emptied.

Signed-off-by: Frank Lichtenheld <frank@lichtenheld.com>
2023-07-14 11:12:16 +02:00
Frank Lichtenheld b34aca9dc1 BUILD.rst: document which components of MSVC we install
Since this is what we use on our build machines, it should
be enough.

Closes: #624

Signed-off-by: Frank Lichtenheld <frank@lichtenheld.com>
2023-07-10 11:38:26 +02:00
Frank Lichtenheld 951e7fca8b BUILD.rst: remove "How to build using openvpn-build"
Obsolete. openvpn-build uses CMake build nowadays.

Signed-off-by: Frank Lichtenheld <frank@lichtenheld.com>
2023-07-10 11:38:26 +02:00
Frank Lichtenheld 7f6e8b7b6d GHA: Update run-vcpkg to v11
Switches to vcpkg-caching instead of directory caching.
While here, don't explicitely export VCPKG_ROOT.
run-vcpkg already takes care of that.

Signed-off-by: Frank Lichtenheld <frank@lichtenheld.com>
2023-06-28 13:14:02 +03:00
Frank Lichtenheld 3b283d470b GHA: update checkout and cache actions to v3
Avoids warnings because of deprecated Node.js version.

Signed-off-by: Frank Lichtenheld <frank@lichtenheld.com>
2023-06-28 13:14:02 +03:00
Selva Nair 9e1b57404e Update CHANGES.rst for version 11.43.0
Signed-off-by: Selva Nair <selva.nair@gmail.com>
2023-06-20 08:43:56 -04:00
Frank Lichtenheld e6c7f397dc Bump version to 11.43.0.0
Signed-off-by: Frank Lichtenheld <frank@lichtenheld.com>
2023-06-13 12:39:20 +02:00
Lev Stipakov 2ab79c9721 CMakeLists.txt: generate PDB for release builds
Signed-off-by: Lev Stipakov <lev@openvpn.net>
2023-05-25 18:43:44 +03:00
Frank Lichtenheld 4921b1e544 Bump version to 11.42.0.0
Signed-off-by: Frank Lichtenheld <frank@lichtenheld.com>
2023-04-26 14:21:54 +02:00
Lev Stipakov 8cdffbe817 Add transparency to eye icons
Signed-off-by: Lev Stipakov <lev@openvpn.net>
2023-04-26 13:23:50 +02:00
Selva Nair 641f880b1f fixup! Implement Password Reveal Feature
Moved the central circle by 1/2 pixel to make the image symmetric
2023-04-26 11:08:15 +03:00
Selva Nair 14c7a69c79 fixup! Password-reveal: Respect group policy setting, if any
- Minor edit in registry.c
2023-04-26 11:08:15 +03:00
Selva Nair fa1191b799 Password-reveal: Copy dialog resource changes to all languages
Signed-off-by: Selva Nair <selva.nair@gmail.com>
2023-04-26 11:08:15 +03:00
Selva Nair 982e1a4319 Password-reveal: Respect group policy setting, if any
- The policy setting is checked when GUI is started. Any change
  in policy will be effective only after restarting the GUI.

Signed-off-by: Selva Nair <selva.nair@gmail.com>
2023-04-26 11:08:15 +03:00
Selva Nair 9186648285 Implement Password Reveal Feature
- Only "hot" user input -- i.e, freshly typed password starting
  from an empty string, with keyboard focus still in the edit
  box -- can be revealed.
  In particular, prefilled passwod (from cached value) cannot be
  revealed.
- Once keyboard focus moves out of the password edit box, the inpit has
  to be deleted for the reveal feature to get re-enabled.

Signed-off-by: Selva Nair <selva.nair@gmail.com>
2023-04-26 11:08:15 +03:00
Lev Stipakov d24495bd74
Merge pull request #621 from lstipakov/fix_man_delay
Bring back delay before management is ready
2023-04-18 08:13:49 +03:00
Lev Stipakov fcfad50543 Bring back delay before management is ready
Commit 2b1e586

"Replace Sleep by a Wait function that pumps messages"

replaced Sleep() with a wait function which also processes messages.
However WM_MANAGEMENT message in some cases requires actual delay to be
processed. To achieve that, bring back original Sleep().

Signed-off-by: Lev Stipakov <lev@openvpn.net>
2023-04-17 21:41:16 +03:00
Frank Lichtenheld 18a499e481 Bump version to 11.41.0.0
Signed-off-by: Frank Lichtenheld <frank@lichtenheld.com>
2023-04-13 12:42:51 +02:00
Frank Lichtenheld ec90109cd2 Makefile.am: fix make dist
Fixup for commit 0bea5549f1

Signed-off-by: Frank Lichtenheld <frank@lichtenheld.com>
2023-04-13 12:39:16 +02:00
Frank Lichtenheld e755c42627 Bump version to 11.40.0.0
Signed-off-by: Frank Lichtenheld <frank@lichtenheld.com>
2023-04-13 12:33:26 +02:00
Selva Nair 141a7adaca Add missing copyright header in save_pass.[ch]
- This was missed in 2016 when these files were added

Signed-off-by: Selva Nair <selva.nair@gmail.com>
2023-03-27 07:50:21 -07:00
Selva Nair 0bea5549f1 Remove private key password-change feature
- With this, dependence on OpenSSL is also gone. CI build
  tasks are updated accordingly.

Signed-off-by: Selva Nair <selva.nair@gmail.com>
2023-03-27 07:50:21 -07:00
Selva Nair 7d23e63411 Update CHANGES.rst for 11.39.0
Signed-off-by: Selva Nair <selva.nair@gmail.com>
2023-03-26 17:03:16 -07:00
Frank Lichtenheld 8634f03207 Bump version to 11.39.0.0
Signed-off-by: Frank Lichtenheld <frank@lichtenheld.com>
2023-03-24 14:10:22 +01:00