mirror of
https://github.com/debauchee/barrier.git
synced 2026-07-03 10:26:48 +08:00
- checked filename's validation before sending drag info
- refactored duplicated write to drop dir code - removed legacy member variables - fixed code style - fixed typo
This commit is contained in:
@@ -21,6 +21,7 @@
|
||||
#include "client/ServerProxy.h"
|
||||
#include "synergy/Screen.h"
|
||||
#include "synergy/Clipboard.h"
|
||||
#include "synergy/DropHelper.h"
|
||||
#include "synergy/PacketStreamFilter.h"
|
||||
#include "synergy/ProtocolUtil.h"
|
||||
#include "synergy/protocol_types.h"
|
||||
@@ -746,29 +747,8 @@ CClient::writeToDropDirThread(void*)
|
||||
ARCH->sleep(.1f);
|
||||
}
|
||||
|
||||
m_fileTransferDes = m_screen->getDropTarget();
|
||||
LOG((CLOG_DEBUG "dropping file, files=%i target=%s", m_dragFileList.size(), m_fileTransferDes.c_str()));
|
||||
|
||||
if (!m_fileTransferDes.empty() && m_dragFileList.size() > 0) {
|
||||
std::fstream file;
|
||||
CString dropTarget = m_fileTransferDes;
|
||||
#ifdef SYSAPI_WIN32
|
||||
dropTarget.append("\\");
|
||||
#else
|
||||
dropTarget.append("/");
|
||||
#endif
|
||||
dropTarget.append(m_dragFileList.at(0).getFilename());
|
||||
file.open(dropTarget.c_str(), std::ios::out | std::ios::binary);
|
||||
if (!file.is_open()) {
|
||||
// TODO: file open failed
|
||||
}
|
||||
|
||||
file.write(m_receivedFileData.c_str(), m_receivedFileData.size());
|
||||
file.close();
|
||||
}
|
||||
else {
|
||||
LOG((CLOG_ERR "drop file failed: drop target is empty"));
|
||||
}
|
||||
CDropHelper::writeToDir(m_screen->getDropTarget(), m_dragFileList,
|
||||
m_receivedFileData);
|
||||
}
|
||||
|
||||
void
|
||||
|
||||
@@ -109,9 +109,6 @@ public:
|
||||
|
||||
//! Create a new thread and use it to send file to Server
|
||||
void sendFileToServer(const char* filename);
|
||||
|
||||
//! Set file transder destination
|
||||
void setFileTransferDes(CString& des) { m_fileTransferDes = des; }
|
||||
|
||||
//! Send dragging file information back to server
|
||||
void sendDragInfo(UInt32 fileCount, CString& info, size_t size);
|
||||
@@ -231,8 +228,6 @@ private:
|
||||
CCryptoOptions m_crypto;
|
||||
std::size_t m_expectedFileSize;
|
||||
CString m_receivedFileData;
|
||||
CString m_fileTransferSrc;
|
||||
CString m_fileTransferDes;
|
||||
CDragFileList m_dragFileList;
|
||||
CString m_dragFileExt;
|
||||
CThread* m_sendFileThread;
|
||||
|
||||
Reference in New Issue
Block a user