mirror of
				https://github.com/SquidDev-CC/CC-Tweaked
				synced 2025-10-31 13:42:59 +00:00 
			
		
		
		
	Merge branch 'mc-1.16.x' into mc-1.17.x
This commit is contained in:
		| @@ -173,7 +173,6 @@ public abstract class ComputerScreenBase<T extends ContainerComputerBase> extend | ||||
|                     return; | ||||
|                 } | ||||
| 
 | ||||
|                 buffer.rewind(); | ||||
|                 toUpload.add( new FileUpload( name, buffer, digest ) ); | ||||
|             } | ||||
|             catch( IOException e ) | ||||
|   | ||||
| @@ -56,7 +56,7 @@ public interface IContainerComputer | ||||
|     void continueUpload( @Nonnull UUID uploadId, @Nonnull List<FileSlice> slices ); | ||||
| 
 | ||||
|     /** | ||||
|      * Finish off an upload. This either writes the uploaded files or | ||||
|      * Finish off an upload. This either writes the uploaded files or informs the user that files will be overwritten. | ||||
|      * | ||||
|      * @param uploader The player uploading files. | ||||
|      * @param uploadId The unique ID of this upload. | ||||
|   | ||||
| @@ -53,10 +53,9 @@ public class FileSlice | ||||
|             return; | ||||
|         } | ||||
| 
 | ||||
|         bytes.rewind(); | ||||
|         file.position( offset ); | ||||
|         file.put( bytes ); | ||||
|         file.rewind(); | ||||
|         ByteBuffer other = file.duplicate(); | ||||
|         other.position( offset ); // TODO: In 1.17 we can use a separate put(idx, _) method. | ||||
|         other.put( bytes ); | ||||
| 
 | ||||
|         if( bytes.remaining() != 0 ) throw new IllegalStateException( "Should have read the whole buffer" ); | ||||
|     } | ||||
|   | ||||
| @@ -56,7 +56,7 @@ public class FileUpload | ||||
| 
 | ||||
|     public boolean checksumMatches() | ||||
|     { | ||||
|         // This is meant to be a checksum. Doesn't need to be cryptographically secure, hence non constant time. | ||||
|         // This is meant to be a checksum. Doesn't need to be cryptographically secure, hence non-constant time. | ||||
|         byte[] digest = getDigest( bytes ); | ||||
|         return digest != null && Arrays.equals( checksum, digest ); | ||||
|     } | ||||
| @@ -66,9 +66,8 @@ public class FileUpload | ||||
|     { | ||||
|         try | ||||
|         { | ||||
|             bytes.rewind(); | ||||
|             MessageDigest digest = MessageDigest.getInstance( "SHA-256" ); | ||||
|             digest.update( bytes ); | ||||
|             digest.update( bytes.duplicate() ); | ||||
|             return digest.digest(); | ||||
|         } | ||||
|         catch( NoSuchAlgorithmException e ) | ||||
|   | ||||
| @@ -5,7 +5,6 @@ | ||||
|  */ | ||||
| package dan200.computercraft.shared.network.server; | ||||
| 
 | ||||
| import dan200.computercraft.ComputerCraft; | ||||
| import dan200.computercraft.shared.computer.core.IContainerComputer; | ||||
| import dan200.computercraft.shared.computer.core.ServerComputer; | ||||
| import dan200.computercraft.shared.computer.upload.FileSlice; | ||||
| @@ -122,9 +121,9 @@ public class UploadFileMessage extends ComputerServerMessage | ||||
|             buf.writeByte( slice.getFileId() ); | ||||
|             buf.writeVarInt( slice.getOffset() ); | ||||
| 
 | ||||
|             slice.getBytes().rewind(); | ||||
|             buf.writeShort( slice.getBytes().remaining() ); | ||||
|             buf.writeBytes( slice.getBytes() ); | ||||
|             ByteBuffer bytes = slice.getBytes().duplicate(); | ||||
|             buf.writeShort( bytes.remaining() ); | ||||
|             buf.writeBytes( bytes ); | ||||
|         } | ||||
|     } | ||||
| 
 | ||||
| @@ -158,7 +157,6 @@ public class UploadFileMessage extends ComputerServerMessage | ||||
| 
 | ||||
|                 int canWrite = Math.min( remaining, capacity - currentOffset ); | ||||
| 
 | ||||
|                 ComputerCraft.log.info( "Adding slice from {} to {}", currentOffset, currentOffset + canWrite - 1 ); | ||||
|                 contents.position( currentOffset ).limit( currentOffset + canWrite ); | ||||
|                 slices.add( new FileSlice( fileId, currentOffset, contents.slice() ) ); | ||||
|                 currentOffset += canWrite; | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Jonathan Coates
					Jonathan Coates