@@ -105,7 +105,7 @@ public void run() {
105
105
Chunk chunk ;
106
106
int [] file_iv = bin2i32a (_upload .getByte_file_iv ()), int_block , file_mac = _upload .getSaved_file_mac (), mac_iv = CryptTools .AES_ZERO_IV_I32A ;
107
107
int reads ;
108
- byte [] byte_block = new byte [ 16 ];
108
+
109
109
String temp_file_data ;
110
110
boolean new_chunk = false ;
111
111
boolean upload_workers_finish = false ;
@@ -130,89 +130,50 @@ public void run() {
130
130
131
131
try {
132
132
133
- if (chunk .getId () <= 7 || !_upload .isUse_slots ()) {
134
-
135
- int [] chunk_mac = {file_iv [0 ], file_iv [1 ], file_iv [0 ], file_iv [1 ]};
133
+ int [] chunk_mac = {file_iv [0 ], file_iv [1 ], file_iv [0 ], file_iv [1 ]};
134
+ byte [] byte_block = new byte [16 ];
136
135
137
- while ((reads = chunk_is .read (byte_block )) != -1 ) {
136
+ while ((reads = chunk_is .read (byte_block )) != -1 ) {
138
137
139
- if (reads < byte_block .length ) {
140
- for (int i = reads ; i < byte_block .length ; i ++) {
141
- byte_block [i ] = 0 ;
142
- }
138
+ if (reads < byte_block .length ) {
139
+ for (int i = reads ; i < byte_block .length ; i ++) {
140
+ byte_block [i ] = 0 ;
143
141
}
144
-
145
- int_block = bin2i32a (byte_block );
146
-
147
- for (int i = 0 ; i < chunk_mac .length ; i ++) {
148
- chunk_mac [i ] ^= int_block [i ];
149
- }
150
-
151
- chunk_mac = bin2i32a (cryptor .doFinal (i32a2bin (chunk_mac )));
152
142
}
153
143
154
- for (int i = 0 ; i < file_mac .length ; i ++) {
155
- file_mac [i ] ^= chunk_mac [i ];
156
- }
157
-
158
- file_mac = bin2i32a (cryptor .doFinal (i32a2bin (file_mac )));
159
-
160
- _bytes_read += chunk .getSize ();
161
-
162
- } else {
163
- do {
164
- int [] chunk_mac = {file_iv [0 ], file_iv [1 ], file_iv [0 ], file_iv [1 ]};
165
-
166
- long chunk_size = 0 ;
167
-
168
- do {
169
-
170
- if ((reads = chunk_is .read (byte_block )) != -1 ) {
171
- if (reads < byte_block .length ) {
172
- for (int i = reads ; i < byte_block .length ; i ++) {
173
- byte_block [i ] = 0 ;
174
- }
175
- }
144
+ int_block = bin2i32a (byte_block );
176
145
177
- int_block = bin2i32a (byte_block );
178
-
179
- for (int i = 0 ; i < chunk_mac .length ; i ++) {
180
- chunk_mac [i ] ^= int_block [i ];
181
- }
182
-
183
- chunk_mac = bin2i32a (cryptor .doFinal (i32a2bin (chunk_mac )));
184
-
185
- chunk_size += reads ;
186
- }
187
- } while (reads != -1 && chunk_size < 1024 * 1024 );
188
-
189
- for (int i = 0 ; i < file_mac .length ; i ++) {
190
- file_mac [i ] ^= chunk_mac [i ];
191
- }
192
-
193
- file_mac = bin2i32a (cryptor .doFinal (i32a2bin (file_mac )));
146
+ for (int i = 0 ; i < chunk_mac .length ; i ++) {
147
+ chunk_mac [i ] ^= int_block [i ];
148
+ }
194
149
195
- _bytes_read += chunk_size ;
150
+ chunk_mac = bin2i32a (cryptor .doFinal (i32a2bin (chunk_mac )));
151
+ }
196
152
197
- } while (reads != -1 );
153
+ for (int i = 0 ; i < file_mac .length ; i ++) {
154
+ file_mac [i ] ^= chunk_mac [i ];
198
155
}
199
156
157
+ file_mac = bin2i32a (cryptor .doFinal (i32a2bin (file_mac )));
158
+
200
159
} catch (IOException | IllegalBlockSizeException | BadPaddingException ex ) {
201
160
getLogger (UploadMACGenerator .class .getName ()).log (Level .SEVERE , null , ex );
202
161
}
203
162
204
- _chunk_queue . remove ( chunk .getId () );
163
+ _bytes_read += chunk .getSize ( );
205
164
206
165
_last_chunk_id_read = chunk .getId ();
207
166
167
+ _chunk_queue .remove (chunk .getId ());
168
+
208
169
new_chunk = true ;
209
170
}
210
171
211
172
if (!upload_workers_finish && new_chunk ) {
212
173
213
- temp_file_data = (String .valueOf (_last_chunk_id_read ) + "|" + String . valueOf ( _bytes_read ) + "|" + Bin2BASE64 (i32a2bin (file_mac )));
174
+ temp_file_data = (String .valueOf (_bytes_read ) + "|" + Bin2BASE64 (i32a2bin (file_mac )));
214
175
215
- System .out .println ("Macgenerator -> " + temp_file_data );
176
+ System .out .println ("Macgenerator -> " + temp_file_data + " " + _upload . calculateLastUploadedChunk ( _bytes_read ) + " " + _last_chunk_id_read );
216
177
217
178
temp_file_out = new FileOutputStream (temp_file );
218
179
0 commit comments