Issue with unzipping files generated by adCenter Reporting API V6/V5.1

Symptoms

In adCenter Reporting API V6/V5.1, some customers using the open-source SharpZipLib library (for .Net) to unzip the reports have reported issues when unzipping the file. Specifically, the method ZipInputStream.GetNextEntry() throws an exception with the error message “NTFS Extra data invalid”.

Resolution

While we are working to fix this in a later release, SharpZipLib users can do the following changes in the SharpZipLib code to unblock themselves:

In the file ZipEntry.cs, line 904, method  ICSharpCode.SharpZipLib.Zip.ZipEntry.ProcessExtraData(Boolean localHeader), change the following line:

if ( extraData.ValueLength < 8 ) {

   throw new ZipException("NTFS Extra data invalid");

to

if ( extraData.ValueLength < 4 ) {

   throw new ZipException("NTFS Extra data invalid");

More Information

adCenter Reporting API uses a third party library to zip the report files. Recently, we upgraded to a newer version of the library which seems to be zipping the file in a manner that is not expected by SharpZipLib. SharpZipLib throws an exception because the header of the zip file, contains an “NTFS extra header” which is just 4 bytes long, while SharpZipLib expected it to be 8 or more bytes long.