ogon-project / ogon-project

Issues and such.
24 stars 2 forks source link

can't get usb redirection working #26

Open c3ph3us opened 2 years ago

c3ph3us commented 2 years ago

i have compiled as state in docs ogon backend apps channels without pulse

^adding to config module_xsession_startvc_string=/opt/rdp-dev/ogon/bin/ogon-start-vc.sh

im able to connect to server via build client freerdp 3.0 but the redirection not working as

  1. the added config line^ is not executed anyway (no syslog entries as same by manually executed script bellow)
  2. manual exec brings

a) execution via user ssh session (sudo root)

syslog

Jan 17 16:04:17 dl385pg8 rdpdr: [s0] rdpdr launching at pon. sty 17 16:04:17 2022
Jan 17 16:04:17 dl385pg8 rdpdr: failed to parse freerds.instance
Jan 17 16:04:17 dl385pg8 rdpdr: LoadLibraryA: libfreerds-fdsapi.so: nie można otworzyć pliku obiektu dzielonego: Nie ma takiego pliku ani katalogu
Jan 17 16:04:17 dl385pg8 rdpdr: [s0] failed to query current session id
Jan 17 16:04:17 dl385pg8 rdpdr: [s0] failed to query current session id
Jan 17 16:04:17 dl385pg8 rdpdr: [s0] error initializing rdpdr channel server

stdout/stderr cmd /opt/rdp-dev/ogon/bin/ogon-start-vc.sh

qt.qpa.xcb: could not connect to display 
qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.

Available platform plugins are: eglfs, linuxfb, minimal, minimalegl, offscreen, vnc, wayland-egl, wayland, wayland-xcomposite-egl, wayland-xcomposite-glx, xcb.

b) execution via established rdp session (sudo root)

syslog

Jan 17 16:05:54 dl385pg8 rdpdr: [s0] rdpdr launching at pon. sty 17 16:05:54 2022
Jan 17 16:05:54 dl385pg8 rdpdr: failed to parse freerds.instance
Jan 17 16:05:54 dl385pg8 rdpdr: LoadLibraryA: libfreerds-fdsapi.so: nie można otworzyć pliku obiektu dzielonego: Nie ma takiego pliku ani katalogu
Jan 17 16:05:54 dl385pg8 rdpdr: [s0] failed to query current session id
Jan 17 16:05:54 dl385pg8 rdpdr: [s0] failed to query current session id
Jan 17 16:05:54 dl385pg8 rdpdr: [s0] error initializing rdpdr channel server
Jan 17 16:05:54 dl385pg8 rdpclip: failed to parse freerds.instance
Jan 17 16:05:54 dl385pg8 rdpclip: LoadLibraryA: libfreerds-fdsapi.so: nie można otworzyć pliku obiektu dzielonego: Nie ma takiego pliku ani katalogu
Jan 17 16:05:54 dl385pg8 rdpclip: [s0] failed to query current session id
Jan 17 16:05:54 dl385pg8 rdpclip: [s0] failed to query current session id
Jan 17 16:05:54 dl385pg8 rdpclip: [s0] Error initializing rdpclip channel server

stdout/stderr cmd /opt/rdp-dev/ogon/bin/ogon-start-vc.sh

+ RDPCLIP=/opt/rdp-dev/ogon/bin/rdpclip
+ [ -x /opt/rdp-dev/ogon/bin/rdpclip ]
+ RDPDR=/opt/rdp-dev/ogon/bin/rdpdr
+ [ -x /opt/rdp-dev/ogon/bin/rdpdr ]
+ /opt/rdp-dev/ogon/bin/rdpclip+  --log=syslog
PULSE=/opt/rdp-dev/ogon/bin/pulseaudio
+ [ -x /opt/rdp-dev/ogon/bin/pulseaudio ]
+ + set +x
/opt/rdp-dev/ogon/bin/rdpdr --mountpointrule={HOME}/rdpfiles/{CLIENTNAME}/{DEVICENAME}/ --log=syslog
QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root'

c) execution via established rdp session (user space)

syslog

Jan 17 16:12:53 dl385pg8 rdpdr: [s5] rdpdr launching at pon. sty 17 16:12:53 2022

Jan 17 16:12:53 dl385pg8 rdpdr: [s5] starting device redirection channel server
Jan 17 16:12:53 dl385pg8 rdpdr: [s5] error: invalid client id received: 47876 instead of 310020
Jan 17 16:12:53 dl385pg8 rdpdr: [s5] failed to handle PDU.
Jan 17 16:12:53 dl385pg8 rdpdr: [s5] processReceivedData failed 2
Jan 17 16:12:53 dl385pg8 rdpdr: [s5] stopping device redirection channel server
Jan 17 16:12:53 dl385pg8 ogon-rdp-server: Static channel id 1004 closed
Jan 17 16:12:53 dl385pg8 rdpclip: [s5] starting clipboard channel server

stdout/stderr cmd /opt/rdp-dev/ogon/bin/ogon-start-vc.sh

+ RDPCLIP=/opt/rdp-dev/ogon/bin/rdpclip
+ [ -x /opt/rdp-dev/ogon/bin/rdpclip ]
+ RDPDR=/opt/rdp-dev/ogon/bin/rdpdr
+ [ -x /opt/rdp-dev/ogon/bin/rdpdr ]
+ PULSE=/opt/rdp-dev/ogon/bin/pulseaudio
+ + [ -x/opt/rdp-dev/ogon/bin/rdpclip /opt/rdp-dev/ogon/bin/pulseaudio --log=syslog
 ]
+ set +x
+ /opt/rdp-dev/ogon/bin/rdpdr --mountpointrule={HOME}/rdpfiles/{CLIENTNAME}/{DEVICENAME}/ --log=syslog
  1. as i was not able to get usb redirection with freerdp 3.0 i compiled of ogon freerdp but it brings redirection start errors
This is FreeRDP version 2.0.0-dev4 (0759ef456)
Build configuration: BUILD_TESTING=OFF BUILTIN_CHANNELS=ON HAVE_AIO_H=1 HAVE_EXECINFO_H=1 HAVE_FCNTL_H=1 HAVE_INTTYPES_H=1 HAVE_MATH_C99_LONG_DOUBLE=1 HAVE_POLL_H=1 HAVE_PTHREAD_MUTEX_TIMEDLOCK=ON HAVE_PTHREAD_MUTEX_TIMEDLOCK_LIB=1 HAVE_PTHREAD_MUTEX_TIMEDLOCK_SYMBOL= HAVE_SYSLOG_H=1 HAVE_SYS_EVENTFD_H=1 HAVE_SYS_FILIO_H= HAVE_SYS_MODEM_H= HAVE_SYS_SELECT_H=1 HAVE_SYS_SOCKIO_H= HAVE_SYS_STRTIO_H= HAVE_SYS_TIMERFD_H=1 HAVE_TM_GMTOFF=1 HAVE_UNISTD_H=1 HAVE_XI_TOUCH_CLASS=1 WITH_ALSA=OFF WITH_CCACHE=ON WITH_CHANNELS=ON WITH_CLIENT=ON WITH_CLIENT_AVAILABLE=1 WITH_CLIENT_CHANNELS=ON WITH_CLIENT_CHANNELS_AVAILABLE=1 WITH_CLIENT_COMMON=ON WITH_CLIENT_INTERFACE=OFF WITH_CUPS=OFF WITH_DEBUG_ALL=OFF WITH_DEBUG_CAPABILITIES=OFF WITH_DEBUG_CERTIFICATE=OFF WITH_DEBUG_CHANNELS=OFF WITH_DEBUG_CLIPRDR=OFF WITH_DEBUG_DVC=OFF WITH_DEBUG_KBD=OFF WITH_DEBUG_LICENSE=OFF WITH_DEBUG_MUTEX=OFF WITH_DEBUG_NEGO=OFF WITH_DEBUG_NLA=OFF WITH_DEBUG_NTLM=OFF WITH_DEBUG_RAIL=OFF WITH_DEBUG_RDP=OFF WITH_DEBUG_RDPDR=OFF WITH_DEBUG_RDPEI=OFF WITH_DEBUG_REDIR=OFF WITH_DEBUG_RFX=OFF WITH_DEBUG_RINGBUFFER=OFF WITH_DEBUG_SCARD=OFF WITH_DEBUG_SND=OFF WITH_DEBUG_SVC=OFF WITH_DEBUG_SYMBOLS=OFF WITH_DEBUG_THREADS=OFF WITH_DEBUG_TIMEZONE=OFF WITH_DEBUG_TRANSPORT=OFF WITH_DEBUG_TSG=OFF WITH_DEBUG_TSMF=OFF WITH_DEBUG_WND=OFF WITH_DEBUG_X11=OFF WITH_DEBUG_X11_CLIPRDR=OFF WITH_DEBUG_X11_LOCAL_MOVESIZE=OFF WITH_DEBUG_XV=OFF WITH_DIRECTFB=OFF WITH_DSP_EXPERIMENTAL=OFF WITH_DSP_FFMPEG=OFF WITH_EVENTFD_READ_WRITE=1 WITH_FAAC=OFF WITH_FAAD2=OFF WITH_FFMPEG=TRUE WITH_FFMPEG=TRUE WITH_GFX_H264=ON WITH_GPROF=OFF WITH_GSM=OFF WITH_GSSAPI=OFF WITH_GSTREAMER_0_10=OFF WITH_GSTREAMER_1_0=ON WITH_ICU=OFF WITH_IPP=OFF WITH_JPEG=OFF WITH_LAME=OFF WITH_LIBRARY_VERSIONING=ON WITH_LIBSYSTEMD=OFF WITH_MACAUDIO=OFF WITH_MACAUDIO=OFF WITH_MACAUDIO_AVAILABLE=0 WITH_MANPAGES=ON WITH_MBEDTLS=OFF WITH_OPENH264=OFF WITH_OPENSLES=OFF WITH_OPENSSL=ON WITH_OSS=ON WITH_PAM=ON WITH_PCSC=OFF WITH_PROFILER=OFF WITH_PULSE=OFF WITH_SAMPLE=OFF WITH_SANITIZE_ADDRESS=OFF WITH_SANITIZE_ADDRESS_AVAILABLE=1 WITH_SANITIZE_MEMORY=OFF WITH_SANITIZE_MEMORY_AVAILABLE=1 WITH_SANITIZE_THREAD=OFF WITH_SANITIZE_THREAD_AVAILABLE=1 WITH_SERVER=ON WITH_SERVER_CHANNELS=ON WITH_SERVER_INTERFACE=ON WITH_SMARTCARD_INSPECT=OFF WITH_SOXR=OFF WITH_SSE2=ON WITH_THIRD_PARTY=OFF WITH_VALGRIND_MEMCHECK=OFF WITH_VALGRIND_MEMCHECK_AVAILABLE=1 WITH_WAYLAND=ON WITH_X11=ON WITH_X264=OFF WITH_XCURSOR=ON WITH_XDAMAGE=ON WITH_XEXT=ON WITH_XFIXES=ON WITH_XI=ON WITH_XINERAMA=ON WITH_XKBFILE=ON WITH_XRANDR=ON WITH_XRENDER=ON WITH_XSHM=ON WITH_XTEST=ON WITH_XV=OFF WITH_ZLIB=ON
Build type:          Debug
CFLAGS:               -fPIC -Wall -Wno-unused-result -Wno-unused-but-set-variable -Wno-deprecated-declarations -fvisibility=hidden -Wimplicit-function-declaration -Wredundant-decls -g -DWINPR_DLL
Compiler:            GNU, 11.2.0
Target architecture: x64
[16:23:08:448] [29270:29271] [INFO][com.freerdp.channels.drdynvc.client] - Loading Dynamic Virtual Channel urbdrc
[16:23:08:448] [29270:29271] [ERROR][com.winpr.library] - LoadLibraryA: /opt/rdp-dev/ogon/lib/freerdp2/liburbdrc-client.so: nie można otworzyć pliku obiektu dzielonego: Nie ma takiego pliku ani katalogu
[16:23:08:448] [29270:29271] [WARN][com.freerdp.addin] - Failed to load channel urbdrc [(nil)]
[16:23:08:448] [29270:29271] [ERROR][com.freerdp.channels.drdynvc.client] - drdynvc_virtual_channel_event_connected failed with error 1
  1. no server side trace of libfreerds-fdsapi.so
  2. no client side trace of
c3ph3us commented 2 years ago

ogon client tree

opt/rdp-dev/ogon/
├── bin
│   ├── freerdp-shadow-cli
│   ├── winpr-hash
│   ├── winpr-makecert
│   ├── wlfreerdp
│   └── xfreerdp
├── include
│   ├── freerdp2
│   │   └── freerdp
│   │       ├── addin.h
│   │       ├── altsec.h
│   │       ├── api.h
│   │       ├── assistance.h
│   │       ├── autodetect.h
│   │       ├── build-config.h
│   │       ├── cache
│   │       │   ├── bitmap.h
│   │       │   ├── brush.h
│   │       │   ├── cache.h
│   │       │   ├── glyph.h
│   │       │   ├── nine_grid.h
│   │       │   ├── offscreen.h
│   │       │   ├── palette.h
│   │       │   └── pointer.h
│   │       ├── channels
│   │       │   ├── audin.h
│   │       │   ├── channels.h
│   │       │   ├── cliprdr.h
│   │       │   ├── encomsp.h
│   │       │   ├── geometry.h
│   │       │   ├── log.h
│   │       │   ├── rail.h
│   │       │   ├── rdpdr.h
│   │       │   ├── rdpei.h
│   │       │   ├── rdpgfx.h
│   │       │   ├── rdpsnd.h
│   │       │   ├── remdesk.h
│   │       │   ├── tsmf.h
│   │       │   ├── video.h
│   │       │   └── wtsvc.h
│   │       ├── client
│   │       │   ├── audin.h
│   │       │   ├── channels.h
│   │       │   ├── cliprdr.h
│   │       │   ├── cmdline.h
│   │       │   ├── disp.h
│   │       │   ├── drdynvc.h
│   │       │   ├── encomsp.h
│   │       │   ├── file.h
│   │       │   ├── geometry.h
│   │       │   ├── rail.h
│   │       │   ├── rdpei.h
│   │       │   ├── rdpgfx.h
│   │       │   ├── rdpsnd.h
│   │       │   ├── remdesk.h
│   │       │   ├── sshagent.h
│   │       │   ├── tsmf.h
│   │       │   └── video.h
│   │       ├── client.h
│   │       ├── codec
│   │       │   ├── audio.h
│   │       │   ├── bitmap.h
│   │       │   ├── bulk.h
│   │       │   ├── clear.h
│   │       │   ├── color.h
│   │       │   ├── dsp.h
│   │       │   ├── h264.h
│   │       │   ├── interleaved.h
│   │       │   ├── jpeg.h
│   │       │   ├── mppc.h
│   │       │   ├── ncrush.h
│   │       │   ├── nsc.h
│   │       │   ├── planar.h
│   │       │   ├── progressive.h
│   │       │   ├── region.h
│   │       │   ├── rfx.h
│   │       │   ├── xcrush.h
│   │       │   ├── yuv.h
│   │       │   └── zgfx.h
│   │       ├── codecs.h
│   │       ├── constants.h
│   │       ├── crypto
│   │       │   ├── ber.h
│   │       │   ├── certificate.h
│   │       │   ├── crypto.h
│   │       │   ├── der.h
│   │       │   ├── er.h
│   │       │   ├── per.h
│   │       │   └── tls.h
│   │       ├── dvc.h
│   │       ├── error.h
│   │       ├── event.h
│   │       ├── extension.h
│   │       ├── freerdp.h
│   │       ├── gdi
│   │       │   ├── bitmap.h
│   │       │   ├── dc.h
│   │       │   ├── gdi.h
│   │       │   ├── gfx.h
│   │       │   ├── pen.h
│   │       │   ├── region.h
│   │       │   ├── shape.h
│   │       │   └── video.h
│   │       ├── graphics.h
│   │       ├── input.h
│   │       ├── listener.h
│   │       ├── locale
│   │       │   ├── keyboard.h
│   │       │   └── locale.h
│   │       ├── log.h
│   │       ├── message.h
│   │       ├── metrics.h
│   │       ├── peer.h
│   │       ├── pointer.h
│   │       ├── primary.h
│   │       ├── primitives.h
│   │       ├── rail.h
│   │       ├── scancode.h
│   │       ├── secondary.h
│   │       ├── server
│   │       │   ├── audin.h
│   │       │   ├── channels.h
│   │       │   ├── cliprdr.h
│   │       │   ├── drdynvc.h
│   │       │   ├── echo.h
│   │       │   ├── encomsp.h
│   │       │   ├── rdpdr.h
│   │       │   ├── rdpei.h
│   │       │   ├── rdpgfx.h
│   │       │   ├── rdpsnd.h
│   │       │   ├── remdesk.h
│   │       │   ├── server-common.h
│   │       │   └── shadow.h
│   │       ├── session.h
│   │       ├── settings.h
│   │       ├── svc.h
│   │       ├── types.h
│   │       ├── update.h
│   │       ├── utils
│   │       │   ├── msusb.h
│   │       │   ├── passphrase.h
│   │       │   ├── pcap.h
│   │       │   ├── profiler.h
│   │       │   ├── ringbuffer.h
│   │       │   ├── signal.h
│   │       │   └── stopwatch.h
│   │       ├── version.h
│   │       └── window.h
│   ├── uwac0
│   │   └── uwac
│   │       ├── uwac.h
│   │       └── uwac-tools.h
│   └── winpr2
│       └── winpr
│           ├── asn1.h
│           ├── bcrypt.h
│           ├── bitstream.h
│           ├── clipboard.h
│           ├── cmdline.h
│           ├── collections.h
│           ├── comm.h
│           ├── credentials.h
│           ├── credui.h
│           ├── crt.h
│           ├── crypto.h
│           ├── debug.h
│           ├── dsparse.h
│           ├── endian.h
│           ├── environment.h
│           ├── error.h
│           ├── file.h
│           ├── handle.h
│           ├── heap.h
│           ├── image.h
│           ├── ini.h
│           ├── input.h
│           ├── interlocked.h
│           ├── intrin.h
│           ├── io.h
│           ├── library.h
│           ├── locale.h
│           ├── memory.h
│           ├── midl.h
│           ├── ndr.h
│           ├── nt.h
│           ├── ntlm.h
│           ├── pack.h
│           ├── path.h
│           ├── pipe.h
│           ├── platform.h
│           ├── pool.h
│           ├── print.h
│           ├── registry.h
│           ├── rpc.h
│           ├── sam.h
│           ├── schannel.h
│           ├── security.h
│           ├── shell.h
│           ├── smartcard.h
│           ├── spec.h
│           ├── ssl.h
│           ├── sspicli.h
│           ├── sspi.h
│           ├── stream.h
│           ├── string.h
│           ├── strlst.h
│           ├── synch.h
│           ├── sysinfo.h
│           ├── tchar.h
│           ├── thread.h
│           ├── timezone.h
│           ├── tools
│           │   └── makecert.h
│           ├── user.h
│           ├── version.h
│           ├── windows.h
│           ├── winhttp.h
│           ├── winpr.h
│           ├── winsock.h
│           ├── wlog.h
│           ├── wnd.h
│           ├── wtsapi.h
│           └── wtypes.h
├── lib
│   ├── cmake
│   │   ├── FreeRDP2
│   │   │   ├── FreeRDPConfig.cmake
│   │   │   ├── FreeRDPConfigVersion.cmake
│   │   │   ├── FreeRDPTargets.cmake
│   │   │   └── FreeRDPTargets-debug.cmake
│   │   ├── FreeRDP-Client2
│   │   │   ├── FreeRDP-ClientConfig.cmake
│   │   │   ├── FreeRDP-ClientConfigVersion.cmake
│   │   │   ├── FreeRDP-ClientTargets.cmake
│   │   │   └── FreeRDP-ClientTargets-debug.cmake
│   │   ├── FreeRDP-Server2
│   │   │   ├── FreeRDP-ServerConfig.cmake
│   │   │   ├── FreeRDP-ServerConfigVersion.cmake
│   │   │   ├── FreeRDP-ServerTargets.cmake
│   │   │   └── FreeRDP-ServerTargets-debug.cmake
│   │   ├── FreeRDP-Shadow2
│   │   │   ├── FreeRDP-ShadowConfig.cmake
│   │   │   ├── FreeRDP-ShadowConfigVersion.cmake
│   │   │   ├── FreeRDP-ShadowTargets.cmake
│   │   │   └── FreeRDP-ShadowTargets-debug.cmake
│   │   ├── uwac0
│   │   │   ├── uwac.cmake
│   │   │   ├── uwacConfig.cmake
│   │   │   ├── uwacConfigVersion.cmake
│   │   │   └── uwac-debug.cmake
│   │   └── WinPR2
│   │       ├── WinPRConfig.cmake
│   │       ├── WinPRConfigVersion.cmake
│   │       ├── WinPRTargets.cmake
│   │       └── WinPRTargets-debug.cmake
│   ├── libfreerdp2.so -> libfreerdp2.so.2
│   ├── libfreerdp2.so.2 -> libfreerdp2.so.2.0.0
│   ├── libfreerdp2.so.2.0.0
│   ├── libfreerdp-client2.so -> libfreerdp-client2.so.2
│   ├── libfreerdp-client2.so.2 -> libfreerdp-client2.so.2.0.0
│   ├── libfreerdp-client2.so.2.0.0
│   ├── libfreerdp-server2.so -> libfreerdp-server2.so.2
│   ├── libfreerdp-server2.so.2 -> libfreerdp-server2.so.2.0.0
│   ├── libfreerdp-server2.so.2.0.0
│   ├── libfreerdp-shadow2.so -> libfreerdp-shadow2.so.2
│   ├── libfreerdp-shadow2.so.2 -> libfreerdp-shadow2.so.2.0.0
│   ├── libfreerdp-shadow2.so.2.0.0
│   ├── libfreerdp-shadow-subsystem2.so -> libfreerdp-shadow-subsystem2.so.2
│   ├── libfreerdp-shadow-subsystem2.so.2 -> libfreerdp-shadow-subsystem2.so.2.0.0
│   ├── libfreerdp-shadow-subsystem2.so.2.0.0
│   ├── libuwac0.so -> libuwac0.so.0
│   ├── libuwac0.so.0 -> libuwac0.so.0.0.1
│   ├── libuwac0.so.0.0.1
│   ├── libwinpr2.so -> libwinpr2.so.2
│   ├── libwinpr2.so.2 -> libwinpr2.so.2.0.0
│   ├── libwinpr2.so.2.0.0
│   ├── libwinpr-tools2.so -> libwinpr-tools2.so.2
│   ├── libwinpr-tools2.so.2 -> libwinpr-tools2.so.2.0.0
│   ├── libwinpr-tools2.so.2.0.0
│   └── pkgconfig
│       ├── freerdp2.pc
│       ├── freerdp-client2.pc
│       ├── freerdp-server2.pc
│       ├── freerdp-shadow2.pc
│       ├── uwac0.pc
│       ├── winpr2.pc
│       └── winpr-tools2.pc
└── share
    └── man
        ├── man1
        │   ├── freerdp-shadow-cli.1
        │   ├── winpr-hash.1
        │   ├── winpr-makecert.1
        │   └── wlfreerdp.1
        └── man7
            └── wlog.7

31 directories, 265 files
c3ph3us commented 2 years ago

server tree

/opt/rdp-dev/ogon/
├── bin
│   ├── freerdp-shadow-cli
│   ├── ogon-backend-x
│   ├── ogon-cli
│   ├── ogon-message
│   ├── ogon-shadow
│   ├── ogon-snmon
│   ├── ogon-start-vc.sh
│   ├── rdpclip
│   ├── rdpdr
│   ├── winpr-hash
│   ├── winpr-makecert
│   ├── wlfreerdp
│   └── xfreerdp
├── etc
│   ├── dbus-1
│   │   └── system.d
│   │       └── ogon.SessionManager.conf
│   └── ogon
│       ├── config.ini
│       ├── ogon_cleanup.sh
│       └── ogonXsession
├── include
│   ├── freerdp2
│   │   └── freerdp
│   │       ├── addin.h
│   │       ├── altsec.h
│   │       ├── api.h
│   │       ├── assistance.h
│   │       ├── autodetect.h
│   │       ├── build-config.h
│   │       ├── cache
│   │       │   ├── bitmap.h
│   │       │   ├── brush.h
│   │       │   ├── cache.h
│   │       │   ├── glyph.h
│   │       │   ├── nine_grid.h
│   │       │   ├── offscreen.h
│   │       │   ├── palette.h
│   │       │   └── pointer.h
│   │       ├── channels
│   │       │   ├── audin.h
│   │       │   ├── channels.h
│   │       │   ├── cliprdr.h
│   │       │   ├── encomsp.h
│   │       │   ├── geometry.h
│   │       │   ├── log.h
│   │       │   ├── rail.h
│   │       │   ├── rdpdr.h
│   │       │   ├── rdpei.h
│   │       │   ├── rdpgfx.h
│   │       │   ├── rdpsnd.h
│   │       │   ├── remdesk.h
│   │       │   ├── tsmf.h
│   │       │   ├── video.h
│   │       │   └── wtsvc.h
│   │       ├── client
│   │       │   ├── audin.h
│   │       │   ├── channels.h
│   │       │   ├── cliprdr.h
│   │       │   ├── cmdline.h
│   │       │   ├── disp.h
│   │       │   ├── drdynvc.h
│   │       │   ├── encomsp.h
│   │       │   ├── file.h
│   │       │   ├── geometry.h
│   │       │   ├── rail.h
│   │       │   ├── rdpei.h
│   │       │   ├── rdpgfx.h
│   │       │   ├── rdpsnd.h
│   │       │   ├── remdesk.h
│   │       │   ├── sshagent.h
│   │       │   ├── tsmf.h
│   │       │   └── video.h
│   │       ├── client.h
│   │       ├── codec
│   │       │   ├── audio.h
│   │       │   ├── bitmap.h
│   │       │   ├── bulk.h
│   │       │   ├── clear.h
│   │       │   ├── color.h
│   │       │   ├── dsp.h
│   │       │   ├── h264.h
│   │       │   ├── interleaved.h
│   │       │   ├── jpeg.h
│   │       │   ├── mppc.h
│   │       │   ├── ncrush.h
│   │       │   ├── nsc.h
│   │       │   ├── planar.h
│   │       │   ├── progressive.h
│   │       │   ├── region.h
│   │       │   ├── rfx.h
│   │       │   ├── xcrush.h
│   │       │   ├── yuv.h
│   │       │   └── zgfx.h
│   │       ├── codecs.h
│   │       ├── constants.h
│   │       ├── crypto
│   │       │   ├── ber.h
│   │       │   ├── certificate.h
│   │       │   ├── crypto.h
│   │       │   ├── der.h
│   │       │   ├── er.h
│   │       │   ├── per.h
│   │       │   └── tls.h
│   │       ├── dvc.h
│   │       ├── error.h
│   │       ├── event.h
│   │       ├── extension.h
│   │       ├── freerdp.h
│   │       ├── gdi
│   │       │   ├── bitmap.h
│   │       │   ├── dc.h
│   │       │   ├── gdi.h
│   │       │   ├── gfx.h
│   │       │   ├── pen.h
│   │       │   ├── region.h
│   │       │   ├── shape.h
│   │       │   └── video.h
│   │       ├── graphics.h
│   │       ├── input.h
│   │       ├── listener.h
│   │       ├── locale
│   │       │   ├── keyboard.h
│   │       │   └── locale.h
│   │       ├── log.h
│   │       ├── message.h
│   │       ├── metrics.h
│   │       ├── peer.h
│   │       ├── pointer.h
│   │       ├── primary.h
│   │       ├── primitives.h
│   │       ├── rail.h
│   │       ├── scancode.h
│   │       ├── secondary.h
│   │       ├── server
│   │       │   ├── audin.h
│   │       │   ├── channels.h
│   │       │   ├── cliprdr.h
│   │       │   ├── drdynvc.h
│   │       │   ├── echo.h
│   │       │   ├── encomsp.h
│   │       │   ├── rdpdr.h
│   │       │   ├── rdpei.h
│   │       │   ├── rdpgfx.h
│   │       │   ├── rdpsnd.h
│   │       │   ├── remdesk.h
│   │       │   ├── server-common.h
│   │       │   └── shadow.h
│   │       ├── session.h
│   │       ├── settings.h
│   │       ├── svc.h
│   │       ├── types.h
│   │       ├── update.h
│   │       ├── utils
│   │       │   ├── msusb.h
│   │       │   ├── passphrase.h
│   │       │   ├── pcap.h
│   │       │   ├── profiler.h
│   │       │   ├── ringbuffer.h
│   │       │   ├── signal.h
│   │       │   └── stopwatch.h
│   │       ├── version.h
│   │       └── window.h
│   ├── ogon1
│   │   └── ogon
│   │       ├── api.h
│   │       ├── backend.h
│   │       ├── build-config.h
│   │       ├── dmgbuf.h
│   │       ├── message.h
│   │       ├── module.h
│   │       ├── service.h
│   │       └── version.h
│   ├── ogon-channels1
│   │   └── ogon-channels
│   │       ├── logging.h
│   │       └── qt
│   │           ├── rdpchannelserver.h
│   │           ├── rdpclipchannelserver.h
│   │           ├── rdpsessionnotification.h
│   │           ├── rdpstreambuffer.h
│   │           └── unixsignalhandler.h
│   ├── ogon-message1
│   │   └── ogon-message
│   │       └── ogon-message.h
│   ├── uwac0
│   │   └── uwac
│   │       ├── uwac.h
│   │       └── uwac-tools.h
│   └── winpr2
│       └── winpr
│           ├── asn1.h
│           ├── bcrypt.h
│           ├── bitstream.h
│           ├── clipboard.h
│           ├── cmdline.h
│           ├── collections.h
│           ├── comm.h
│           ├── credentials.h
│           ├── credui.h
│           ├── crt.h
│           ├── crypto.h
│           ├── debug.h
│           ├── dsparse.h
│           ├── endian.h
│           ├── environment.h
│           ├── error.h
│           ├── file.h
│           ├── handle.h
│           ├── heap.h
│           ├── image.h
│           ├── ini.h
│           ├── input.h
│           ├── interlocked.h
│           ├── intrin.h
│           ├── io.h
│           ├── library.h
│           ├── locale.h
│           ├── memory.h
│           ├── midl.h
│           ├── ndr.h
│           ├── nt.h
│           ├── ntlm.h
│           ├── pack.h
│           ├── path.h
│           ├── pipe.h
│           ├── platform.h
│           ├── pool.h
│           ├── print.h
│           ├── registry.h
│           ├── rpc.h
│           ├── sam.h
│           ├── schannel.h
│           ├── security.h
│           ├── shell.h
│           ├── smartcard.h
│           ├── spec.h
│           ├── ssl.h
│           ├── sspicli.h
│           ├── sspi.h
│           ├── stream.h
│           ├── string.h
│           ├── strlst.h
│           ├── synch.h
│           ├── sysinfo.h
│           ├── tchar.h
│           ├── thread.h
│           ├── timezone.h
│           ├── tools
│           │   └── makecert.h
│           ├── user.h
│           ├── version.h
│           ├── windows.h
│           ├── winhttp.h
│           ├── winpr.h
│           ├── winsock.h
│           ├── wlog.h
│           ├── wnd.h
│           ├── wtsapi.h
│           └── wtypes.h
├── lib
│   ├── cmake
│   │   ├── FreeRDP2
│   │   │   ├── FreeRDPConfig.cmake
│   │   │   ├── FreeRDPConfigVersion.cmake
│   │   │   ├── FreeRDPTargets.cmake
│   │   │   └── FreeRDPTargets-debug.cmake
│   │   ├── FreeRDP-Client2
│   │   │   ├── FreeRDP-ClientConfig.cmake
│   │   │   ├── FreeRDP-ClientConfigVersion.cmake
│   │   │   ├── FreeRDP-ClientTargets.cmake
│   │   │   └── FreeRDP-ClientTargets-debug.cmake
│   │   ├── FreeRDP-Server2
│   │   │   ├── FreeRDP-ServerConfig.cmake
│   │   │   ├── FreeRDP-ServerConfigVersion.cmake
│   │   │   ├── FreeRDP-ServerTargets.cmake
│   │   │   └── FreeRDP-ServerTargets-debug.cmake
│   │   ├── FreeRDP-Shadow2
│   │   │   ├── FreeRDP-ShadowConfig.cmake
│   │   │   ├── FreeRDP-ShadowConfigVersion.cmake
│   │   │   ├── FreeRDP-ShadowTargets.cmake
│   │   │   └── FreeRDP-ShadowTargets-debug.cmake
│   │   ├── ogon1
│   │   │   ├── ogonConfig.cmake
│   │   │   └── ogonConfigVersion.cmake
│   │   ├── ogon-backend1
│   │   │   ├── ogon-backend.cmake
│   │   │   ├── ogon-backendConfig.cmake
│   │   │   ├── ogon-backendConfigVersion.cmake
│   │   │   └── ogon-backend-debug.cmake
│   │   ├── ogon-message1
│   │   │   ├── ogon-message.cmake
│   │   │   ├── ogon-messageConfig.cmake
│   │   │   ├── ogon-messageConfigVersion.cmake
│   │   │   └── ogon-message-debug.cmake
│   │   ├── uwac0
│   │   │   ├── uwac.cmake
│   │   │   ├── uwacConfig.cmake
│   │   │   ├── uwacConfigVersion.cmake
│   │   │   └── uwac-debug.cmake
│   │   └── WinPR2
│   │       ├── WinPRConfig.cmake
│   │       ├── WinPRConfigVersion.cmake
│   │       ├── WinPRTargets.cmake
│   │       └── WinPRTargets-debug.cmake
│   ├── libfreerdp2.so -> libfreerdp2.so.2
│   ├── libfreerdp2.so.2 -> libfreerdp2.so.2.0.0
│   ├── libfreerdp2.so.2.0.0
│   ├── libfreerdp-client2.so -> libfreerdp-client2.so.2
│   ├── libfreerdp-client2.so.2 -> libfreerdp-client2.so.2.0.0
│   ├── libfreerdp-client2.so.2.0.0
│   ├── libfreerdp-server2.so -> libfreerdp-server2.so.2
│   ├── libfreerdp-server2.so.2 -> libfreerdp-server2.so.2.0.0
│   ├── libfreerdp-server2.so.2.0.0
│   ├── libfreerdp-shadow2.so -> libfreerdp-shadow2.so.2
│   ├── libfreerdp-shadow2.so.2 -> libfreerdp-shadow2.so.2.0.0
│   ├── libfreerdp-shadow2.so.2.0.0
│   ├── libfreerdp-shadow-subsystem2.so -> libfreerdp-shadow-subsystem2.so.2
│   ├── libfreerdp-shadow-subsystem2.so.2 -> libfreerdp-shadow-subsystem2.so.2.0.0
│   ├── libfreerdp-shadow-subsystem2.so.2.0.0
│   ├── libogon-backend.so -> libogon-backend.so.1
│   ├── libogon-backend.so.1 -> libogon-backend.so.1.0.0
│   ├── libogon-backend.so.1.0.0
│   ├── libogon-message.so -> libogon-message.so.1
│   ├── libogon-message.so.1 -> libogon-message.so.1.0.0
│   ├── libogon-message.so.1.0.0
│   ├── libogon-qtrdpchannelserver.so -> libogon-qtrdpchannelserver.so.1
│   ├── libogon-qtrdpchannelserver.so.1 -> libogon-qtrdpchannelserver.so.1.0.0
│   ├── libogon-qtrdpchannelserver.so.1.0.0
│   ├── libogon-qtrdpclipchannelserver.so -> libogon-qtrdpclipchannelserver.so.1
│   ├── libogon-qtrdpclipchannelserver.so.1 -> libogon-qtrdpclipchannelserver.so.1.0.0
│   ├── libogon-qtrdpclipchannelserver.so.1.0.0
│   ├── libuwac0.so -> libuwac0.so.0
│   ├── libuwac0.so.0 -> libuwac0.so.0.0.1
│   ├── libuwac0.so.0.0.1
│   ├── libwinpr2.so -> libwinpr2.so.2
│   ├── libwinpr2.so.2 -> libwinpr2.so.2.0.0
│   ├── libwinpr2.so.2.0.0
│   ├── libwinpr-tools2.so -> libwinpr-tools2.so.2
│   ├── libwinpr-tools2.so.2 -> libwinpr-tools2.so.2.0.0
│   ├── libwinpr-tools2.so.2.0.0
│   ├── ogon1
│   │   ├── auth
│   │   │   └── libogon-auth-pam.so
│   │   ├── libogon-otsapi.so
│   │   └── modules
│   │       ├── libogon-mod-qt.so
│   │       ├── libogon-mod-weston.so
│   │       └── libogon-mod-x11.so
│   └── pkgconfig
│       ├── freerdp2.pc
│       ├── freerdp-client2.pc
│       ├── freerdp-server2.pc
│       ├── freerdp-shadow2.pc
│       ├── ogon1.pc
│       ├── ogon-backend1.pc
│       ├── ogon-message1.pc
│       ├── ogon-qtrdpchannelserver1.pc
│       ├── ogon-qtrdpclipchannelserver1.pc
│       ├── uwac0.pc
│       ├── winpr2.pc
│       └── winpr-tools2.pc
├── sbin
│   ├── ogon-backend-launcher
│   ├── ogon-get-openh264-codec
│   ├── ogon-rdp-server
│   └── ogon-session-manager
├── share
│   ├── man
│   │   ├── man1
│   │   │   ├── freerdp-shadow-cli.1
│   │   │   ├── winpr-hash.1
│   │   │   ├── winpr-makecert.1
│   │   │   ├── wlfreerdp.1
│   │   │   └── xfreerdp.1
│   │   └── man7
│   │       └── wlog.7
│   ├── ogon
│   │   └── 1
│   │       ├── protobuf
│   │       │   ├── backend.proto
│   │       │   ├── ICP.proto
│   │       │   ├── Module.proto
│   │       │   ├── pbRPC.proto
│   │       │   └── SBP.proto
│   │       └── thrift
│   │           └── otsapi.thrift
│   └── qt5
│       └── translations
│           ├── ogon-message_de.qm
│           └── ogon-message_en.qm
└── var
    └── run
        ├── ogon-rdp-server.pid
        └── ogon-session-manager.pid

57 directories, 339 files
c3ph3us commented 2 years ago

client and server

Linux dl385pg8 5.15.0-2-amd64 #1 SMP Debian 5.15.5-2 (2021-12-18) x86_64 GNU/Linux

there was an issue with libfont as we have 2 version here but i downloaded deb from previous debian distro also the protobuf and x11proto in debian testing looks this (but there was no compilation issue)

apt search protobuf --names-only
Sorting... Gotowe
Full Text Search... Gotowe
elpa-protobuf-mode/testing,testing 3.12.4-1 all
  Emacs addon for editing protocol buffers

gogoprotobuf/testing 1.3.2-1+b5 amd64
  alternative protocol buffer support for Golang - utilities

golang-github-gogo-protobuf-dev/testing,testing 1.3.2-1 all
  alternative protocol buffer support for Golang - sources

golang-gogoprotobuf-dev/testing,testing 1.3.2-1 all
  transitional package -- safe to remove

golang-google-protobuf-dev/testing,testing 1.27.1-1 all
  Go support for Protocol Buffers (second major revision)

golang-goprotobuf-dev/testing 1.3.4-2+b6 amd64
  Protocol buffer support for the Go programming language

golang-protobuf-extensions-dev/testing,testing 1.0.1-1 all
  Protocol Buffer extensions for the Go language

gradle-plugin-protobuf/testing,testing 0.9.2-1.1 all
  Protobuf Plugin for Gradle

libactivemq-protobuf-java/testing,testing 1.1-6 all
  ActiveMQ Protocol Buffers Maven plugin

libactivemq-protobuf-java-doc/testing,testing 1.1-6 all
  ActiveMQ Protocol Buffers Maven plugin - documentation

libghc-protobuf-dev/testing 0.2.1.3-2+b1 amd64
  Google Protocol Buffers for Haskell

libghc-protobuf-doc/testing,testing 0.2.1.3-2 all
  Google Protocol Buffers for Haskell; documentation

libghc-protobuf-prof/testing 0.2.1.3-2+b1 amd64
  Google Protocol Buffers for Haskell; profiling libraries

libmirprotobuf3/testing 1.8.0+dfsg1-19+b1 amd64
  Mir Display Server - RPC definitions

libprotobuf-c-dev/testing,now 1.3.3-1+b2 amd64 [installed]
  Protocol Buffers C static library and headers (protobuf-c)

libprotobuf-c1/testing,now 1.3.3-1+b2 amd64 [installed]
  Protocol Buffers C shared library (protobuf-c)

libprotobuf-dev/testing,now 3.12.4-1+b2 amd64 [installed]
  protocol buffers C++ library (development files) and proto files

libprotobuf-java/testing,testing 3.12.4-1 all
  Java bindings for protocol buffers

libprotobuf-java-format-java/testing,testing 1.3-1.1 all
  Library to serialize protobuf messages to XML, JSON and HTML

libprotobuf-lite23/testing,now 3.12.4-1+b2 amd64 [installed]
  protocol buffers C++ library (lite version)

libprotobuf23/testing,now 3.12.4-1+b2 amd64 [installed]
  protocol buffers C++ library

librust-protobuf+bytes-dev/testing 2.25.2-1 amd64
  Google protocol buffers - feature "bytes" and 1 more

librust-protobuf+serde-derive-dev/testing 2.25.2-1 amd64
  Google protocol buffers - feature "serde_derive"

librust-protobuf+serde-dev/testing 2.25.2-1 amd64
  Google protocol buffers - feature "serde"

librust-protobuf+with-serde-dev/testing 2.25.2-1 amd64
  Google protocol buffers - feature "with-serde"

librust-protobuf-codegen-dev/testing 2.25.2-1 amd64
  Code generator for rust-protobuf - Rust source code

librust-protobuf-codegen-pure-dev/testing 2.25.2-1 amd64
  Pure-rust codegen for protobuf using protobuf-parser crate - Rust source code

librust-protobuf-dev/testing 2.25.2-1 amd64
  Google protocol buffers - Rust source code

protobuf-c-compiler/testing,now 1.3.3-1+b2 amd64 [installed]
  Protocol Buffers C compiler (protobuf-c)

protobuf-codegen/testing 2.25.2-1 amd64
  Code generator for rust-protobuf

protobuf-compiler/testing,now 3.12.4-1+b2 amd64 [installed]
  compiler for protocol buffer definition files

protobuf-compiler-grpc/testing 1.30.2-3+b2 amd64
  high performance general RPC framework - protobuf plugin

protobuf-compiler-grpc-java-plugin/testing 1.26.0+ds-1 amd64
  high performance general RPC framework - protobuf Java plugin

python3-protobuf/testing,now 3.12.4-1+b2 amd64 [installed]
  Python 3 bindings for protocol buffers

r-cran-rprotobuf/testing 0.4.18-1 amd64
  GNU R package providing an interface to the Protocol Buffers API

ruby-google-protobuf/testing 3.12.4-1+b2 amd64
  Protocol Buffers

 apt search x11proto-
Sorting... Gotowe
Full Text Search... Gotowe
nx-x11proto-composite-dev/testing 2:3.5.99.26-5 amd64
  nx-X11 Composite extension wire protocol

nx-x11proto-core-dev/testing 2:3.5.99.26-5 amd64
  nx-X11 core wire protocol and auxiliary headers

nx-x11proto-damage-dev/testing 2:3.5.99.26-5 amd64
  nx-X11 Damage extension wire protocol

nx-x11proto-randr-dev/testing 2:3.5.99.26-5 amd64
  nx-X11 RandR extension wire protocol

nx-x11proto-render-dev/testing 2:3.5.99.26-5 amd64
  nx-X11 Render extension wire protocol

nx-x11proto-scrnsaver-dev/testing 2:3.5.99.26-5 amd64
  nx-X11 Screen Saver extension wire protocol

nx-x11proto-xext-dev/testing 2:3.5.99.26-5 amd64
  nx-X11 miscellaneous extension wire protocol

nx-x11proto-xfixes-dev/testing 2:3.5.99.26-5 amd64
  nx-X11 'xfixes' extension wire protocol

nx-x11proto-xinerama-dev/testing 2:3.5.99.26-5 amd64
  nx-X11 Xinerama extension wire protocol

x11proto-core-dev/testing,testing,now 2021.5-1 all [installed]
  Wirtualny pakiet przejściowy

x11proto-dev/testing,testing,now 2021.5-1 all [installed]
  Protokoły rozszerzeń X11 i pomocnicze pliki nagłówkowe

x11proto-dri2-dev/testing,testing,now 2021.5-1 all [installed]
  Wirtualny pakiet przejściowy

x11proto-fonts-dev/testing,testing,now 2021.5-1 all [installed]
  Wirtualny pakiet przejściowy

x11proto-gl-dev/testing,testing 2021.5-1 all
  Wirtualny pakiet przejściowy

x11proto-input-dev/testing,testing,now 2021.5-1 all [installed]
  Wirtualny pakiet przejściowy

x11proto-kb-dev/testing,testing 2021.5-1 all
  Wirtualny pakiet przejściowy

x11proto-present-dev/testing,testing,now 2021.5-1 all [installed]
  Wirtualny pakiet przejściowy

x11proto-randr-dev/testing,testing,now 2021.5-1 all [installed]
  Wirtualny pakiet przejściowy

x11proto-record-dev/testing,testing,now 2021.5-1 all [installed]
  Wirtualny pakiet przejściowy

x11proto-render-dev/testing,testing 2:2021.5-1 all
  Wirtualny pakiet przejściowy

x11proto-scrnsaver-dev/testing,testing,now 2021.5-1 all [installed]
  Wirtualny pakiet przejściowy

x11proto-video-dev/testing,testing 2021.5-1 all
  Wirtualny pakiet przejściowy

x11proto-xext-dev/testing,testing,now 2021.5-1 all [installed]
  Wirtualny pakiet przejściowy

x11proto-xf86dga-dev/testing,testing 2021.5-1 all
  Wirtualny pakiet przejściowy

x11proto-xf86dri-dev/testing,testing,now 2021.5-1 all [installed]
  Wirtualny pakiet przejściowy

x11proto-xf86vidmode-dev/testing,testing 2021.5-1 all
  Wirtualny pakiet przejściowy

x11proto-xinerama-dev/testing,testing,now 2021.5-1 all [installed]
  Wirtualny pakiet przejściowy
c3ph3us commented 2 years ago

others detials of rdp usb redirection look here

https://github.com/FreeRDP/FreeRDP/issues/7558

hardening commented 2 years ago

@c3ph3us I don't get what's your problem. I guess your yubikey would be redirected more naturally using smartcard redirection, even if for now we don't have such implementation in ogon.

c3ph3us commented 2 years ago

@hardening the yubi is not relevant here (smartcard is only one cap from many on yubi) I want to ba able to redirect USB device (like yubi, adb device like smartphone, mpt , mass media, usb converter etc) i want to be able to work with my usb device remotely on server or even on many of them i may use usb which is fine but i use rdp soi want complex solution to work remotely

  1. Please so kindly and enligt me @hardening how to use usb redirection with ogon .. please elaborate how things work with ogon with channel usb redirection when module_xsession_startvc_string= script is executed ? as no traces in log if its not executed manually

  2. why your rdp client claims no lib after compilation??? see point 3

[16:23:08:448] [29270:29271] [ERROR][com.winpr.library] - LoadLibraryA: /opt/rdp-dev/ogon/lib/freerdp2/liburbdrc-client.so: nie można otworzyć pliku obiektu dzielonego: Nie ma takiego pliku ani katalogu

  1. why server rdpdr claims for lib which also is not available ??
Jan 17 16:05:54 dl385pg8 rdpdr: LoadLibraryA: libfreerds-fdsapi.so: nie można otworzyć pliku obiektu dzielonego: Nie ma takiego pliku ani katalogu

i move from freerdp shadowing server as its not capable of usb redirection too (not implemented) is your software capable ?

  1. please create howto on usb redirection (feature request)

thanx

bmiklautz commented 2 years ago

@c3ph3us server side USB channel ist not implemented for ogon yet. The server side USB channel is currently not on our roadmap (rather complex). But if you are connecting from a Linux client within an internal network you could give usbip, like described at https://wiki.archlinux.org/title/USB/IP, a try.