Commit Graph

94 Commits

Author SHA1 Message Date
Armin Novak
8561b08592 Fixed gnome and mate clipboard format synthesizers 2022-09-13 14:42:33 +02:00
Kang Lin
0faa2c91fe WinPR::Clipboard: FIX text/uri-list format bug(#7904)
See:
  GTK: https://docs.gtk.org/glib/struct.Uri.html
  uri syntax: https://www.rfc-editor.org/rfc/rfc3986#section-3
  uri-lists format: https://www.rfc-editor.org/rfc/rfc2483#section-5
2022-09-12 08:58:34 +02:00
Pascal Nowack
43b609cd6c winpr/clipboard: Allow overriding ValidFileNameComponent call
When using the wClipboard API, the connected peer might not be on the
Windows platform, where further filename restriction exists.
As a result, it is currently not possible to use the wClipboard API,
when intending to allow filenames, containing characters like ':'.

So, add a callback to the wClipboardDelegate, which is set to the
ValidFileNameComponent call by default.
This callback can be overridden by the API user, when it is known, that
there is no need to impose very strict filename restrictions.
2022-07-07 07:45:26 +00:00
akallabeth
f25261e271 Unifiy string append functions 2022-06-17 08:41:46 +02:00
akallabeth
962c5c3ef0 Fixed dead store warnings 2022-04-28 12:37:19 +02:00
akallabeth
667b471686 Fixed cast-quality warnings 2022-04-28 09:17:20 +02:00
Armin Novak
037084abd5 Fix #7754 remove last newline in convert_filedescriptors_to_file_list 2022-03-28 16:21:27 +02:00
Armin Novak
453d3b4c8b Fixed #7754: nautilus does not like \r\n 2022-03-28 14:59:30 +02:00
akallabeth
3d38d2636c Decreased logging verbosity for INFO level 2022-03-04 09:34:02 +01:00
Armin Novak
6ed50b4b1d Refactored WinPR includes 2022-03-03 11:26:48 +01:00
akallabeth
8cc6582044
Unify struct definitions (#7633)
* Unified enum/struct definitions, fixed include issues

* Fixed mac compilation issues

* Added missing include

* Fixed windows server build warnings

* Fixed VS2010 build issue

* Removed unnecessary library linking

* Fixed ThreadPool WinXP compatibility

* Fixed pr review remarks
2022-02-14 14:59:22 +01:00
Armin Novak
0fe1e2359e Fixed all reserved-id-macro warnings 2021-09-10 08:16:25 +02:00
Armin Novak
68f24477f6 Fixed compilation warnings on mac 2021-08-26 15:08:28 +02:00
Armin Novak
5afa592244 Fixed cast-qual warnings 2021-08-24 11:10:51 +02:00
Armin Novak
5eea7fc12d WINPR_UNUSED argc, argv for unit tests 2021-08-24 10:45:57 +02:00
Pascal Nowack
8fe794b312 winpr/clipboard: Omit last line ending for gnome-copied-files
Every uri in the x-special/gnome-copied-files mime type is separated by
a '\n' char.
However, not every line ends with '\n'. The last line MUST not include
the new line character.
2021-08-19 09:08:11 +02:00
Armin Novak
1af7ef2f1b Fixed compilation warnings and typos 2021-06-16 15:21:56 +02:00
Armin Novak
64280aa13c Added WINPR_ASSERT to collections 2021-06-16 11:46:42 +02:00
Armin Novak
d6c84c28fb Renamed ArrayList_Add to ArrayList_Append
* Do not break API silently
2021-06-16 11:46:42 +02:00
Armin Novak
a1c8e4cf85 Refactored ArrayList_Add to conform to other functions 2021-06-16 11:46:42 +02:00
Marc-André Moreau
1f1ce81b22 Gracefully handle edge case where clipboard format name is NULL 2021-05-28 10:42:31 +02:00
akallabeth
c8b32f65ad Force close clipboard file descriptor if request size is 0 2021-04-01 18:07:31 +02:00
akallabeth
88e8a71e33 Force close clipboard files 2021-04-01 18:07:31 +02:00
akallabeth
7a8a89d4d0 Force fd close on error 2021-04-01 18:07:31 +02:00
akallabeth
76047bed25 Cleaned up clipboard file fd handling 2021-04-01 18:07:31 +02:00
jackyzy823
b972d70a9e x11: refactor fuse code 2021-01-18 19:13:56 +01:00
jackyzy823
e7d2f62ce6 x11: handle special chars in generating file uri 2021-01-18 19:13:56 +01:00
jackyzy823
2e0b5e07dc x11: correct uri-list and other formats 2021-01-18 19:13:56 +01:00
jackyzy823
d537988f28 x11: add support for remote to local clipboard file copy 2021-01-18 19:13:56 +01:00
Pascal Nowack
8ae820cd4f winpr/clipboard: Also save lastWriteTime for FILEDESCRIPTORW
Currently, when a local uri-list is converted into a FILEDESCRIPTORW
list, WinPR doesn't submit the last write time for each file.
The result of this is that the last write time of each file on the
other peer will have the current time and not the actual last write
time that is present on the peer, where the files were copied from.

Fix this by also writing the last write time in addition to the
FD_WRITESTIME flag.
2021-01-11 08:36:10 +01:00
akallabeth
6e3c00725a Cleaned up collections:
ArrayList, MessageQueue, Queue, PubSub, BipBuffer
ObjectPool and BufferPool
2020-11-06 12:30:13 +01:00
Armin Novak
ef1c8a3b50 Updated FD_FLAGS definition. 2020-10-14 09:19:00 +02:00
akallabeth
1546a8b655 Fixed naming of FILEDESCRIPTORW 2020-09-18 12:49:54 +02:00
Armin Novak
7c243da6e1 Remove symbols exported by accident. 2019-12-02 10:57:31 +01:00
Armin Novak
72ca88f49c Reformatted to new style 2019-11-07 10:53:54 +01:00
Armin Novak
f01e042211 Code cleanups (strlen, casts, size_t, ...) 2019-10-29 11:58:43 +01:00
Armin Novak
cbb9354641 Fix broken clipboard after file copy 2019-07-17 15:13:50 +02:00
Armin Novak
6d553a7f3c Fixed #5441, thank you @ekse 2019-06-25 10:25:31 +02:00
Armin Novak
447e330bdf Fixed uninitialized value 2019-05-08 15:13:03 +02:00
Martin Fleisz
3e2be308eb
Merge pull request #5266 from akallabeth/file_list_synth
Added a proper synthesizer for FileGroupDescriptorW to text/uri-list
2019-05-08 15:05:05 +02:00
Armin Novak
84a297b830 Fixed error checks and uninitialized values in convert_filedescriptors_to_uri_list 2019-05-08 14:41:22 +02:00
Armin Novak
b7ac5b9bc8 Fixed sign-compare warnings 2019-04-05 09:13:24 +02:00
Armin Novak
745c6b933a Fixed \0 terimination of clipboard file list 2019-04-03 10:17:51 +02:00
Armin Novak
32ea44c037 Added a proper synthesizer for FileGroupDescriptorW to text/uri-list
The file clipboard delegate needs a base URI to operate on for
systems that are not WIN32. Added that to the context and abort
conversion, if that is not set. (currently not fully implemented)
2019-02-21 16:44:40 +01:00
Peter Åstrand (astrand)
32ba90ec0a Avoid building POSIX clipboard if WIN32
MinGW has unistd.h.
2019-01-09 10:04:38 +01:00
Armin Novak
d198f73081 Fix #5121: Determine actual string length for input data
ConvertFromUnicode ignores '\0' sequences when the length of the input
string is given. Clipboard strings may be larger than the actual string
length and padded with random data leading to decoding errors.
Limit the length to the first occurrence of a '\0'.
2018-12-10 12:41:04 +01:00
Armin Novak
fad20be6e6 Fixed missing includes. 2018-08-27 14:34:42 +02:00
Armin Novak
114abad767 Removed use of strcpy. 2018-08-27 14:34:09 +02:00
Armin Novak
a1c3c1ad64 Added proper return value checks for clipboard data. 2018-05-02 09:21:42 +02:00
Anton Afanasyev
ed2e4e576d StartHTML and EndHTML values can be left-padded with 0 characters. strtol and friends treat this as base-8 if base is specified as 0.
Because these values are always sent in base-10, fix is to always use base-10
2018-01-06 18:45:22 -08:00