Skip to content

Commit

Permalink
fixed pdf virtual printer with popup blockers
Browse files Browse the repository at this point in the history
updated documentation (troubleshooting)
excluded web packages.config as content
  • Loading branch information
cedrozor committed May 24, 2018
1 parent b53d85c commit bea940d
Show file tree
Hide file tree
Showing 11 changed files with 376 additions and 193 deletions.
4 changes: 2 additions & 2 deletions CHANGELOG
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
2018-05-22 Version 1.9.0 (stable)
2018-05-24 Version 1.9.0 (stable)
resynced FreeRDP (version 2.0-RC2-dev3), now using the openssl 1.1.x architecture. Should fix any previously reported FQDN and NLA issues
added a pdf virtual printer; any document printed with the "Myrtille PDF" printer is downloaded to the browser and can be opened/saved/printed from there
pdf content is now downloaded into an hidden iframe, instead of a new tab, to prevent popup blockers to block it
added a client ip tracking option to prevent unauthorized accesses. configurable into web.config (thanks bigpjo)
cookieless sessions are now disabled by default. This lowers the risk of session stealing (by simply copying the url) but also removes the ability to have multiple connections/tabs. can still be enabled into web.config, but use at your own risk! (thanks bigpjo)
strengthened security to prevent session fixation attack or spoofing if cookieless sessions are enabled
Expand All @@ -12,7 +13,6 @@
fixed issue with enterprise host create session including invalid /popup/ path in sessionURL. (thanks bigpjo)
the remote session is now disconnected after the browser window/tab is closed, or connection is lost, to prevent it from being left open server side. configurable into web.config (thanks bigpjo)
the database connection string (into bin/Myrtille.Services.exe.config) can now be configured to specify the SQLCE file location or use a standard SQL server (useful for a centralized database, with myrtille clustered). (thanks bigpjo)
the installer should now uninstall any previous version before installing a newer one
added MFA and enterprise mode configuration steps into the installer
installer logs are now created into the install log folder (log/Myrtille.Setup.log)

Expand Down
8 changes: 6 additions & 2 deletions DOCUMENTATION.md
Original file line number Diff line number Diff line change
Expand Up @@ -86,8 +86,8 @@ Myrtille supports both local and network file storage. If you want your domain u

## Print document
From version 1.9.0, myrtille does support local or network printing through a pdf virtual printer, "**Myrtille PDF**", installed on the gateway. This feature can be disabled into bin/Myrtille.Services.exe.config ("FreeRDPPdfPrinter" key).
It works like any other printer, using the print feature of your application. The resulting pdf is then downloaded to the browser and can be opened/saved/printed from there.
It can also work standalone (without myrtille integration). If used directly on the gateway, or through a network/redirection, it will ask for the pdf output location (to change that default behavior, see bin/Myrtille.Printer.exe.config).
It works like any other printer, using the print feature of your application. The resulting pdf is downloaded to the browser and can be opened/saved/printed from there.
It can also work standalone (without myrtille integration). If used directly on the gateway (without the "redirected" suffix), or as a network printer, it will ask for the pdf output location (to change that default behavior, see bin/Myrtille.Printer.exe.config).

Alternatively, on Windows 10 / Server 2016, Windows provides a "Microsoft Print to PDF" printer. You can thus create a pdf on the remote server then download it (using the file transfer), but it implies an additional step.

Expand Down Expand Up @@ -277,6 +277,10 @@ First at all, ensure the Myrtille prerequisites are met (IIS 7 or greater (prefe
- I don't have a mouse (or a right button), how can I Right-Click? (i.e.: on a touchpad or iOS device)
- You can toggle on the "Right-Click" button into the toolbar, then touch or left-click the screen to trigger a right-click at that position

- Nothing happens when I click on some toolbar buttons
- Nothing happens when I print with the "Myrtille PDF" redirected printer
- Although myrtille dialogs should work (same domain origin policy), ensure you don't have a popup blocker (Chrome have one by default), or disable it or add an exception for the myrtille domain

- The RDP session continues to run after clicking "Disconnect"
- Check the RDP server configuration (session disconnect timeout in particular). You can setup it automatically by importing the Myrtille "myrtille\bin\RDPSetup.reg" file into registry.

Expand Down
11 changes: 10 additions & 1 deletion Myrtille.Printer/Program.cs
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,16 @@ static void Main(string[] args)
parentProcess = ProcessHelper.GetParentProcess();
if (parentProcess == null || parentProcess.ProcessName != "spoolsv")
{
throw new Exception("This program is meant to be called by the spooler service");
if (Environment.UserInteractive)
{
MessageBox.Show("This program is meant to be called by the spooler service",
errorDialogCaption,
MessageBoxButtons.OK,
MessageBoxIcon.Error,
MessageBoxDefaultButton.Button1,
MessageBoxOptions.DefaultDesktopOnly);
}
return;
}

#endregion
Expand Down
Loading

0 comments on commit bea940d

Please sign in to comment.