Changeset 50199 in vbox
- Timestamp:
- Jan 23, 2014 6:48:54 PM (11 years ago)
- Location:
- trunk/src/VBox/Main
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Main/include/ApplianceImplPrivate.h
r50197 r50199 249 249 PVDINTERFACEIO FileCreateInterface(); 250 250 PVDINTERFACEIO TarCreateInterface(); 251 int ShaReadBuf(const char *pcszFilename, void **ppvBuf, size_t *pcbSize, PVDINTERFACEIO pIfIo, void *pvUser);252 int ShaWriteBuf(const char *pcszFilename, void *pvBuf, size_t cbSize, PVDINTERFACEIO pIfIo, void *pvUser);251 int readFileIntoBuffer(const char *pcszFilename, void **ppvBuf, size_t *pcbSize, PVDINTERFACEIO pIfIo, void *pvUser); 252 int writeBufferToFile(const char *pcszFilename, void *pvBuf, size_t cbSize, PVDINTERFACEIO pIfIo, void *pvUser); 253 253 int decompressImageAndSave(const char *pcszFullFilenameIn, const char *pcszFullFilenameOut, PVDINTERFACEIO pIfIo, void *pvUser); 254 254 int copyFileAndCalcShaDigest(const char *pcszSourceFilename, const char *pcszTargetFilename, PVDINTERFACEIO pIfIo, void *pvUser); -
trunk/src/VBox/Main/src-server/ApplianceImplExport.cpp
r50196 r50199 2041 2041 strOvfFile.c_str()); 2042 2042 /* Write the ovf file to disk. */ 2043 vrc = ShaWriteBuf(strOvfFile.c_str(), pvBuf, cbSize, pIfIo, pStorage);2043 vrc = writeBufferToFile(strOvfFile.c_str(), pvBuf, cbSize, pIfIo, pStorage); 2044 2044 if (RT_FAILURE(vrc)) 2045 2045 throw setError(VBOX_E_FILE_ERROR, … … 2276 2276 pStorage->fCreateDigest = false; 2277 2277 /* Write the manifest file to disk. */ 2278 vrc = ShaWriteBuf(strMfFilePath.c_str(), pvBuf, cbSize, pIfIo, pStorage);2278 vrc = writeBufferToFile(strMfFilePath.c_str(), pvBuf, cbSize, pIfIo, pStorage); 2279 2279 RTMemFree(pvBuf); 2280 2280 if (RT_FAILURE(vrc)) -
trunk/src/VBox/Main/src-server/ApplianceImplIO.cpp
r50193 r50199 1243 1243 } 1244 1244 1245 int ShaReadBuf(const char *pcszFilename, void **ppvBuf, size_t *pcbSize, PVDINTERFACEIO pIfIo, void *pvUser)1245 int readFileIntoBuffer(const char *pcszFilename, void **ppvBuf, size_t *pcbSize, PVDINTERFACEIO pIfIo, void *pvUser) 1246 1246 { 1247 1247 /* Validate input. */ … … 1310 1310 } 1311 1311 1312 int ShaWriteBuf(const char *pcszFilename, void *pvBuf, size_t cbSize, PVDINTERFACEIO pIfIo, void *pvUser)1312 int writeBufferToFile(const char *pcszFilename, void *pvBuf, size_t cbSize, PVDINTERFACEIO pIfIo, void *pvUser) 1313 1313 { 1314 1314 /* Validate input. */ -
trunk/src/VBox/Main/src-server/ApplianceImplImport.cpp
r50196 r50199 813 813 814 814 /** 815 * Implementation for reading an OVF. This starts a new thread which will call 816 * Appliance::taskThreadImportOrExport() which will then call readFS() or readS3(). 817 * This will then open the OVF with ovfreader.cpp. 815 * Implementation for reading an OVF (via task). 816 * 817 * This starts a new thread which will call 818 * Appliance::taskThreadImportOrExport() which will then call readFS() or 819 * readS3(). This will then open the OVF with ovfreader.cpp. 818 820 * 819 821 * This is in a separate private method because it is used from three locations: … … 826 828 * 3) from Appliance::readS3(), which got called from a previous instance of Appliance::taskThreadImportOrExport(). 827 829 * 828 * @param aLocInfo829 * @param aProgress830 * @return 830 * @param aLocInfo The OVF location. 831 * @param aProgress Where to return the progress object. 832 * @return COM success status code. COM error codes will be thrown. 831 833 */ 832 834 HRESULT Appliance::i_readImpl(const LocationInfo &aLocInfo, ComObjPtr<Progress> &aProgress) … … 1146 1148 /* Read the OVF into a memory buffer */ 1147 1149 size_t cbSize = 0; 1148 int vrc = ShaReadBuf(strFilename.c_str(), &pvTmpBuf, &cbSize, pIfIo, pStorage);1150 int vrc = readFileIntoBuffer(strFilename.c_str(), &pvTmpBuf, &cbSize, pIfIo, pStorage); 1149 1151 if (RT_FAILURE(vrc) 1150 1152 || !pvTmpBuf) … … 1161 1163 1162 1164 uint8_t digest[RTSHA256_HASH_SIZE]; 1163 size_t c bDigest = RTSHA256_DIGEST_LEN;1165 size_t cchDigest = RTSHA256_DIGEST_LEN; 1164 1166 char *pszDigest; 1165 1167 1166 1168 RTSha256(pvTmpBuf, cbSize, &digest[0]); 1167 1169 1168 vrc = RTStrAllocEx(&pszDigest, cbDigest + 1); 1169 if (RT_SUCCESS(vrc)) 1170 vrc = RTSha256ToString(digest, pszDigest, cbDigest + 1); 1171 else 1172 throw setError(VBOX_E_FILE_ERROR, 1173 tr("Could not allocate string for SHA256 digest (%Rrc)"), vrc); 1174 1170 vrc = RTStrAllocEx(&pszDigest, cchDigest + 1); 1171 if (RT_FAILURE(vrc)) 1172 throw setError(E_OUTOFMEMORY, tr("Could not allocate string for SHA256 digest (%Rrc)"), vrc); 1173 1174 vrc = RTSha256ToString(digest, pszDigest, cchDigest + 1); 1175 1175 if (RT_SUCCESS(vrc)) 1176 1176 /* Copy the SHA256 sum of the OVF file for later validation */ 1177 1177 m->strOVFSHADigest = pszDigest; 1178 1178 else 1179 throw setError(VBOX_E_FILE_ERROR, 1180 tr("Converting SHA256 digest to a string was failed (%Rrc)"), vrc); 1179 throw setError(VBOX_E_FILE_ERROR, tr("Converting SHA256 digest to a string was failed (%Rrc)"), vrc); 1181 1180 1182 1181 RTStrFree(pszDigest); … … 2047 2046 bool fOldDigest = pStorage->fCreateDigest;/* Save the old digest property */ 2048 2047 pStorage->fCreateDigest = fCreateDigest; 2049 int vrc = ShaReadBuf(strFile.c_str(), ppvBuf, pcbSize, pCallbacks, pStorage);2048 int vrc = readFileIntoBuffer(strFile.c_str(), ppvBuf, pcbSize, pCallbacks, pStorage); 2050 2049 if ( RT_FAILURE(vrc) 2051 2050 && vrc != VERR_FILE_NOT_FOUND)
Note:
See TracChangeset
for help on using the changeset viewer.