Skip to content
This repository has been archived by the owner on Oct 12, 2022. It is now read-only.

Adds plugins #160

Open
wants to merge 133 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
133 commits
Select commit Hold shift + click to select a range
dcc207c
ignored wsgate/build for ubuntu builds
marteen12 May 15, 2015
354ffa9
Added compiling support for Ubuntu 14.04 LTS
marteen12 Jun 4, 2015
9e9bf94
Added CentOS 7 to install script
marteen12 Jun 3, 2015
f1a0f1b
Removed Ubuntu 12,13 from install_prereqs.sh - not supported anymore
marteen12 Jun 5, 2015
c6a3381
Removed CentOS 6
marteen12 Jun 5, 2015
96afe9f
Fixed authentication issue
marteen12 Jun 16, 2015
4eeb3f4
Removed debugging for websocket URL
marteen12 Jul 9, 2015
7082144
Removed GET parameters from link, uses WebSocket instead
marteen12 Jul 14, 2015
18a29da
Removed cookie code on server-side
marteen12 Jul 15, 2015
93c4ff0
Added cookies to the client-side
marteen12 Jul 15, 2015
37a93ff
Made the cookie apply only when connection is succesful
marteen12 Jul 15, 2015
b7e2207
Added message box
marteen12 Aug 5, 2015
852124c
Removed login screen in a embedded context
marteen12 Aug 5, 2015
465db9b
Added a central error when instance is not working
marteen12 Aug 5, 2015
bdc3a6b
Added critical message
marteen12 Aug 5, 2015
b1bdc8e
Removed some tabs
marteen12 Aug 7, 2015
d7b1fcc
Removed useless event fireup
marteen12 Aug 7, 2015
0fde1ee
Changed visibility of the embedded status
marteen12 Aug 7, 2015
cb2c329
Added method for removing popups
marteen12 Aug 7, 2015
904cc3c
Made the critical error always on-top
marteen12 Aug 7, 2015
f15023e
Moved the popup style to the css file
marteen12 Aug 10, 2015
cd1c569
Added code for multilanguage support
marteen12 Jul 28, 2015
4dccaf1
Enabled the creation of the textarea
marteen12 Jul 28, 2015
bf621c3
Textarea should be responsive to canvas resizing
marteen12 Jul 28, 2015
b2a63c2
Moved the events on the textarea
marteen12 Jul 28, 2015
48d2716
Fixed a typo
marteen12 Jul 28, 2015
8fc27ae
Bound events to the WSgate object
marteen12 Jul 28, 2015
4328f1a
Reset textarea when needed
marteen12 Jul 28, 2015
a364a56
Proper propagation of the event on click
marteen12 Jul 28, 2015
1e30054
Remove cursor from the textarea
marteen12 Jul 28, 2015
4c32129
Make sure textarea is always on focus
marteen12 Jul 28, 2015
4d21adb
Fixed issue for IMEon
marteen12 Jul 28, 2015
ed350a2
Fixed function calls
marteen12 Jul 28, 2015
a07012e
Cursor should be on the textarea
marteen12 Jul 30, 2015
0db0a12
Fixed the additional newline issue
marteen12 Jul 30, 2015
3e7ba51
Added the IME helper
marteen12 Jul 31, 2015
3acfe03
Added toggler button for multilanguage input method
marteen12 Jul 31, 2015
5ad26c9
Try catch the out of focus event
marteen12 Jul 31, 2015
e7fb57f
Fixed the mouse leave issue
marteen12 Aug 10, 2015
75239c1
Moved postconnect code to proper callback
marteen12 Aug 10, 2015
8ec1b75
Fixed Horizon resize issue
marteen12 Aug 10, 2015
6db2f46
Changed ini config file parsing method
marteen12 Sep 1, 2015
1469dfe
Removed duplicate code
marteen12 Sep 4, 2015
02c979d
Moved EHS implementation from main to it's own file
marteen12 Sep 4, 2015
3f0c9fc
Moved globally used functions inside wsgate.hpp
marteen12 Sep 4, 2015
13e6518
Separated MyWsHandler from the main
marteen12 Sep 7, 2015
1ec6193
Fixed compilation errors
marteen12 Sep 7, 2015
9232f8f
Separated WsGateService from main
marteen12 Sep 7, 2015
b7e7067
Separated MyRawSocketHandler from main
marteen12 Sep 7, 2015
f1a0bb2
Separated myBindHelper from main
marteen12 Sep 7, 2015
e3da698
Removed useless namespace declaration
marteen12 Sep 7, 2015
7194189
Removed unused code
marteen12 Sep 7, 2015
9fe11a7
Stripped implementation from .hpp file
marteen12 Sep 7, 2015
1d8d28f
Stripped implementation from wsendpoint.hpp
marteen12 Sep 7, 2015
f0bc868
Fixed compilation error
marteen12 Sep 7, 2015
a7ead83
Removed unused code
marteen12 Sep 7, 2015
325f4b8
Fixed compilation error
marteen12 Sep 7, 2015
cbb1c3c
Register added sources to the cmake file
marteen12 Sep 9, 2015
c96ebfa
Changed include paths from backslash to forward slash
marteen12 Sep 9, 2015
e368d72
Removed redundant include
marteen12 Sep 9, 2015
d57c376
wsGateService is exclusive to _WIN32
marteen12 Sep 9, 2015
daf1fb2
Use propper cross-platform cpprest strings
marteen12 Sep 9, 2015
e5eb619
Fixed compiling error
marteen12 Sep 9, 2015
dc3d7cf
Fixed protability issue
marteen12 Sep 10, 2015
8f6283f
Fixed black cursor bug
marteen12 Sep 15, 2015
c47085a
Added px to style size update
marteen12 Sep 15, 2015
18b90ef
Added mouse coordinates to mouse leave event
marteen12 Sep 15, 2015
817cfee
Fix multilanguage button
marteen12 Sep 17, 2015
62ea6fb
Fixed IME helper for Firefox
marteen12 Sep 21, 2015
ecaf0bb
Fixed focus on inexistent element
marteen12 Sep 21, 2015
3d1e2fe
Change special combination method
marteen12 Sep 22, 2015
3d225d7
Changed CtrlAltDelete combination code
marteen12 Sep 22, 2015
da714f6
Added Alt+Tab combination
marteen12 Sep 22, 2015
1ec5be8
Changed style of multilanguage button
marteen12 Sep 22, 2015
f53dcad
Fixes service never stopping
marteen12 Feb 15, 2016
a05c6f9
Fixed WIN32 only service signal issue #133
marteen12 Mar 7, 2016
a07da71
Fixed port range
marteen12 Apr 22, 2016
93563e8
Added PCB override field
marteen12 Apr 22, 2016
06c3f88
Getter for override parameters
marteen12 Apr 22, 2016
cd8db2e
Effectuate override before connection
marteen12 Apr 22, 2016
ad44615
Setup plugin framework
marteen12 Sep 23, 2015
2556e23
Added link splitting for plugin
marteen12 Sep 28, 2015
c17e25f
Moved common to pluginTemplate
marteen12 Sep 28, 2015
1cad712
Moved code from .h
marteen12 Sep 28, 2015
84c0abe
Definition of pluginManager
marteen12 Sep 28, 2015
8fce8ea
Implementation for pluginManager
marteen12 Sep 29, 2015
0b1bf1b
Fixed pluginManager
marteen12 Sep 29, 2015
7718872
Added Openstack plugin
marteen12 Sep 30, 2015
e292fc7
Added code for Openstack
marteen12 Sep 30, 2015
f16d2bd
Removed Nova code
marteen12 Sep 30, 2015
0016dfd
Moved nova code to the plugin
marteen12 Sep 30, 2015
ffd45df
Removed nova include
marteen12 Sep 30, 2015
bec4812
Included nova in plugin
marteen12 Sep 30, 2015
f0e7228
Send config file to the plugins
marteen12 Sep 30, 2015
9f67ed6
Added openstack ini parsing
marteen12 Sep 30, 2015
2af0d85
Verify if the URI contains parameters
marteen12 Oct 1, 2015
33b6ae1
Fixed runtime errors
marteen12 Oct 7, 2015
78be288
Renamed pluginManager
marteen12 Oct 9, 2015
ef1dc6e
Renamed include file
marteen12 Oct 9, 2015
48d0a41
Adds plugin ordered calling
marteen12 Oct 12, 2015
f3d3908
Update cmake file for wsgate
marteen12 Oct 12, 2015
df226ed
Added cmake definition for pluginOpenstack
marteen12 Oct 12, 2015
2438dfd
Fixed cmake file errors
marteen12 Oct 14, 2015
d15ff94
Moved pluginOpenstack inside the same cmake file(solution)
marteen12 Oct 14, 2015
7ef4e64
Added Exception Handling flag for MSVC toolset
marteen12 Oct 15, 2015
f1ede62
Use boost for file listing
marteen12 Oct 19, 2015
3bce565
Removed redundant code from pluginManager
marteen12 Oct 19, 2015
bf03927
Set cmake shared object variable
marteen12 Nov 10, 2015
091e96c
Changed directory separator
marteen12 Nov 10, 2015
aaa1bc6
__declspec is WIN32 only
marteen12 Nov 10, 2015
0e1cbf4
Fixed cmake issues for UNIX systems
marteen12 Nov 11, 2015
b49cb0e
Target properties are WIN32 only
marteen12 Nov 11, 2015
1e8cd90
Backslash to forwardslash
marteen12 Nov 16, 2015
faed8bd
Module path fixed
marteen12 Nov 16, 2015
3ae465a
Added UNIX code
marteen12 Nov 16, 2015
d7d1b93
Add DL library for UNIX
marteen12 Nov 16, 2015
f19687f
config.h path varies on different os
c64cosmin Nov 17, 2015
680dcaf
Change build path for plugins
marteen12 Apr 27, 2016
f41474c
Path fix for Windows
marteen12 Apr 30, 2016
0885ac2
Replaced std::string with char* in plugin definition
marteen12 May 3, 2016
fd3e7e8
Better logging for plugins
marteen12 May 5, 2016
931354f
Trailing slash is not needed on Linux
marteen12 May 6, 2016
db26ef9
Documentation on plugins
marteen12 May 17, 2016
46d3445
Declaration type change
marteen12 Jun 8, 2016
e21d7d7
Run in the same path
marteen12 Jun 10, 2016
ba67aa5
Added exception if nova endpoint is not found
marteen12 Jun 23, 2016
094c598
Merge conflict resolve
marteen12 Jul 8, 2016
8113cb8
Added Keystone v3 API
marteen12 Aug 8, 2016
e590e38
Merge Keystone V3 to Plugins branch
marteen12 Jan 10, 2017
e4492a2
Adds region for Openstack integration
marteen12 Jan 18, 2017
959d54a
Remove target properties
marteen12 Jan 20, 2017
8f3ca6d
Merge branch 'master' of https://github.com/c64cosmin/FreeRDP-WebConnect
marteen12 Jan 20, 2017
6cb076a
Fixed bug where the HyperV credentials are read from config file
marteen12 Jan 30, 2017
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 14 additions & 1 deletion README
Original file line number Diff line number Diff line change
Expand Up @@ -19,4 +19,17 @@ Added automated build/install script setup-all.sh
For unattended setup, installing all prereqs and deleting conflicting packages, run the script as root, specifying the following command:
./setup-all.sh -f -i -d

For addition details on the setup script and webconnect prereqs consult wsgate/README.
For addition details on the setup script and webconnect prereqs consult wsgate/README.


FreeRDP-WebConnect also uses a plugin system based on shared objects that will be placed in a "plugins" subdirectory
In order to implement a new plugin, one must build a new shared library that will include the following files
/wsgate/pluginTemplate/pluginCommon.cpp
this facilitates the query parsing for easier use

/wsgate/pluginTemplate/pluginCommon.hpp

and also an implementation of entryPoint function as described in
/wsgate/pluginTemplate/pluginExample.cpp

One can also follow the pluginOpenstack for reference
37 changes: 28 additions & 9 deletions wsgate/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -300,6 +300,11 @@ set(CMAKE_EXTRA_INCLUDE_FILES)
# linked libraries list
SET(LIBS)

#if UNIX add DL library for dynamic linking
if(UNIX)
set(LIBS ${LIBS} dl)
endif()


# if win32 use PTHREADS_WIN32
if(WIN32)
Expand Down Expand Up @@ -345,6 +350,12 @@ include_directories(${PNG_INCLUDE_DIR})
# add png to libs list
set(LIBS ${LIBS} ${PNG_LIBRARIES})

# find casablanca
find_package(Casablanca REQUIRED)
include_directories(${CASABLANCA_INCLUDE_DIR})
# add casablanca to libs list
set(LIBS ${LIBS} ${CASABLANCA_LIBRARIES})

# find freerdp
find_package(FreeRDP REQUIRED)
include_directories(${FREERDP_INCLUDE_DIR})
Expand All @@ -365,13 +376,6 @@ set(HAVE_EHS_H 1)
# add ehs to libs list
set(LIBS ${LIBS} ${EHS_LIBRARIES})

# find casablanca
find_package(Casablanca REQUIRED)
include_directories(${CASABLANCA_INCLUDE_DIR})
# add casablanca to libs list
set(LIBS ${LIBS} ${CASABLANCA_LIBRARIES})


CHECK_FUNCTION_EXISTS(memset HAVE_MEMSET)
CHECK_FUNCTION_EXISTS(select HAVE_SELECT)
CHECK_FUNCTION_EXISTS(setlocale HAVE_SETLOCALE)
Expand Down Expand Up @@ -591,13 +595,13 @@ set(WSGATE_SOURCES base64.cpp btexception.cpp logging.cpp sha1.cpp
wsgate_main.cpp RDP.cpp Update.cpp Primary.cpp
myBindHelper.cpp myWsHandler.cpp myrawsocket.cpp
wsendpoint.cpp wsgateEHS.cpp wshandler.cpp
Png.cpp nova_token_auth.cpp)
Png.cpp pluginManager.cpp)

if (WIN32)
set(WSGATE_SOURCES "${WSGATE_SOURCES}" NTService.cpp wsGateService.cpp)
# in order for header files to appear in VS solution, add them to the sources list
set(WSGATE_SOURCES "${WSGATE_SOURCES}" ${CMAKE_CURRENT_BINARY_DIR}/config.h base64.hpp btexception.hpp common.hpp
logging.hpp myrawsocket.hpp nova_token_auth.hpp NTService.hpp
logging.hpp myrawsocket.hpp pluginManager.hpp NTService.hpp
Png.hpp Primary.hpp rdpcommon.hpp RDP.hpp sha1.hpp Update.hpp
wscommon.hpp wsendpoint.hpp wsframe.hpp wsgate.hpp wshandler.hpp
myBindHelper.hpp myWsHandler.hpp wsGateService.hpp wsgateEHS.hpp
Expand All @@ -607,3 +611,18 @@ endif()
add_executable(wsgate ${WSGATE_SOURCES})

target_link_libraries(wsgate ${LIBS})

#pluginOpenstack
set(PLUGINOPENSTACK_SOURCE ${CMAKE_CURRENT_SOURCE_DIR}/pluginOpenstack/nova_token_auth.cpp ${CMAKE_CURRENT_SOURCE_DIR}/pluginOpenstack/pluginOpenstack.cpp ${CMAKE_CURRENT_SOURCE_DIR}/pluginTemplate/pluginCommon.cpp)

if(WIN32)
set(PLUGINOPENSTACK_SOURCE ${PLUGINOPENSTACK_SOURCE} pluginOpenstack/nova_token_auth.hpp pluginTemplate/pluginCommon.hpp config.h)
endif()

include_directories(${CMAKE_CURRENT_SOURCE_DIR})

#plugin should go into ./plugins/ folder
set(LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR}/plugins)
#build library for openstack
add_library(pluginOpenstack SHARED ${PLUGINOPENSTACK_SOURCE})
target_link_libraries(pluginOpenstack ${LIBS})
176 changes: 0 additions & 176 deletions wsgate/nova_token_auth.cpp

This file was deleted.

Loading