3658 Commits (b9677f64d72604e7fff3f0de0e1bccfb9ddf3c8d)

Author SHA1 Message Date
Luis Díaz Más 9980107586 Only include zlib directory when building the exiv2lib 7 years ago
Luis Diaz Mas e397f8f053 Fix #533 - Apply patch proposed by Dominique Nerriec 7 years ago
Luis Diaz Mas 83bb4aa80a code formatting 7 years ago
Luis Díaz Más 38b60a3e8e CMake: Simplify Intl finding 7 years ago
Luis Díaz Más 4ffc577e4e CMake: remove useless directory inclusions for exiv2
Note that ${CMAKE_SOURCE_DIR}/include is already passed to exiv2
through the exiv2lib target.
7 years ago
Luis Díaz Más 185bcaca05 Link exiv2 app againts libintl 7 years ago
Luis Díaz Más aae84e4643 Add missing inclusions of cstdio and cstdarg 7 years ago
Luis Díaz Más 44a01863be Include unistd.h only where it is needed 7 years ago
Luis Díaz Más 38ed6de05d MSVC: Move compile definitions from config.h to CMake.
+ Also remove inclusion of <Windows.h> from config.h
7 years ago
Luis Díaz Más 8bf9ca8e6d MSVC: Delete deprecated stuff related to MSVC < 2008 7 years ago
Luis Díaz Más d1c2e2f64f bindtextdomain point to relative path to bin directory 7 years ago
Luis Díaz Más 7485bb54d7 Create function getProcessPath and add unit test for it
Debugging: Relative and Absolute path alternatives
7 years ago
Luis Díaz Más e20329b8e0 Remove EXV_HAVE_DLL and disable C4251 always on msvc. 7 years ago
Luis Díaz Más 417ad89e4b Pass argument by const reference 7 years ago
Luis Díaz Más 2203dce828 Fix compilation in clang 7 years ago
Luis Díaz Más 59ba209fe8 Move BlockMap to .cpp file (Remove it from API)
- Also make some BlockMap methods const
7 years ago
Luis Díaz Más fab770887b Initialize member variables not initialized in the constructor 7 years ago
Luis Díaz Más 20a29cc9c4 Initialize variable in constructor initialization list 7 years ago
Luis Díaz Más 58a96d5908 Fix - Exception thrown in function that was declared not to throw 7 years ago
Luis Díaz Más 2d1e1fe6ef Reduce the scope of variables 7 years ago
Luis Díaz Más dc7eb5008b Add explicit to constructors with 1 argument 7 years ago
Luis Díaz Más 1620198568 Update fujiColor tag with descriptions for new Fujifilm monochrome modes 7 years ago
Robin Mills ac951622f4 Update DateTimeOriginal in NEF images 7 years ago
Luis Díaz Más ae49250942 Check in Image::printIFDStructure if seek and reads are OK 7 years ago
Luis Díaz Más 59013f2e2f Formatting code 7 years ago
Luis Diaz Mas b7c71f3ad0 PSD: enforce Length of image resource section < file size 7 years ago
Luis Diaz Mas 6896693251 PSD: Use Safe::add for preventing overflows in PSD files 7 years ago
Luis Díaz Más 933ce589a6 Fix infinite loop in getopt.cpp
Note that the getopt code was looping forever when one of the argument
options was incorrect. Example:
./exiv2 -A 20:00:00 -Y 2018 -O 11 -D 01 ad myImage.tiff
7 years ago
Robin Mills b608ad9fdd Restore exiv2.pc in the mix (#497) 7 years ago
Luis Díaz Más 8b877d6ed6 SOVERSION is VERSION_MINOR as in 0.26 7 years ago
Luis Díaz Más c34c545e31 Change back the library name to exiv2. Generate PDBs in CURRENT_BINARY_DIR.
We need to specify where to generate the PDB so that it does not clash with the PDB file generated
for the exiv2 application.
7 years ago
Luis Díaz Más 8d5d453c13 Use the MSYS CMake variable to determine when to use localtime.c 7 years ago
Luis Díaz Más bc1c17fd78 Add back localtime.c implementation for MinGW 7 years ago
Robin Mills a099f2440a Man page update to describe the configuration file. 7 years ago
Robin Mills 42084f2563 Add support for MinGW/msys2 in 32 bits + Updates in buildserver 7 years ago
Robin Mills e347b41279 Modified Exiv2::Internal::stringFormat() to use larger initial guess for 'need' to fix test/.icc-test.sh on MinGW. 7 years ago
Robin Mills 5f6ef65695 Update PROJECT_VERSION & add install() commands for CPack
- Version updated to 0.27.0.1.
- Release notes for MacOS-X Package, Linux, CYGWIN, win64 and msvc
- Redmine Release Notes Updated.
7 years ago
Luis Díaz Más 3976dbc0e7 CMake: Do not rename library outputs (dlls, pdbs, etc). Fixes a debugging issue with MSVC 7 years ago
Robin Mills 9c516116c8 Fix #401 by fixing iteration over exif data tags 7 years ago
Robin Mills b3d077dcae Fix #460 by adding more checks in CiffDirectory::readDirectory 7 years ago
Luis Díaz Más 670fb73dd5 Fix #457 7 years ago
Dan Čermák 962962a8e9 Port Iptc::printStructure & getUshort to slices API
This fixes #211, #210, #209
7 years ago
Dan Čermák fec6535ae8 [binaryToString] Reimplement using Slices
- reimplement binaryToString:
  - it now accepts a Slice and nothing else
  - it does not return a std::string but instead a proxy object that implements
    operator<< (this should be more efficient, as we do not need to touch the
    heap in most cases)
- addapt unit tests
- replace all occurences with the new API
7 years ago
Dan Čermák a48d0347b7 [binaryToString] Fixed overread when passing start > 0
binaryToString(DataBuf&) only calls the C-array version. Unfortunately, its
safety check is flawed, as it only works when start is 0 (probably due to its
conterintuitive interface).
binaryToString(byte*) formats the range (start,start+size) => we have to trimm
size if size + start is larger than the DataBuf's size_
7 years ago
Dan Čermák bfd84ddf5a [binaryToString] Improved ambiguous documentation 7 years ago
Dan Čermák 7a7ae7a1df [image_int] Move internal functions into separate translation unit 7 years ago
Dan Čermák 98bca06592 Add Slices: views of STL containers & C-arrays and add unit tests
This commit adds a very simple implementation of std::span but with
mandatory range checks and only the most essential functionality.
7 years ago
Luis Díaz Más 97379dec1d Add braces around try-catch block. Apply clang-format to the function. 7 years ago
Luis Díaz Más 4216dcd0c2 Fix cppcheck issues: knownConditionTrueFalse 7 years ago
Luis Díaz Más ab35759de8 Fix cppcheck issues: unreachableCode 7 years ago
Luis Díaz Más 54ad1bc91a Fix cppcheck issues: duplicateBreak 7 years ago
Luis Díaz Más b118192f94 Fix cppcheck issues: redundantAssignment 7 years ago
Luis Díaz Más c43d998457 Fix cppcheck issues: passedByValue 7 years ago
Luis Díaz Más 989acd18c7 Fix cppcheck issues: uninitMemberVar & uninitVar 7 years ago
Luis Díaz Más 19e740b447 Restore API functions remove in #450 7 years ago
Roberto C. Sánchez c03f73268f Prevent SIGABRT on excessive subBox length in jp2image.cpp
This fixes CVE-2018-9145
7 years ago
Borchers, Henry Samuel 11e66c6c9e BUILD_INTERFACE for include directories use PROJECT_SOURCE_DIR to allow for being built as a CMake subproject 7 years ago
Dan Čermák 916c535d94 clang-format floatToRationalCast 7 years ago
Dan Čermák 6fd1c5b4bf [types] Fix check for finite numbers on Linux
On Linux we were merely checking whether f is finite, but that does
not cover the case f=NaN.
=> use isfinite instead which checks whether f != inf && f != NaN
7 years ago
Luis Díaz Más 18690f4c54 Provide default and copy constructor for AnyError 7 years ago
Luis Díaz Más 6e4404da81 Move implementation details from tags.cpp to tags_int.cpp 7 years ago
Luis Díaz Más b9f913d5af Move implementation to .cpp files. Fix more issues related to visibility settings 7 years ago
Luis Díaz Más e3f975137c Use STATIC_DEFINE to solve issues with OBJECT library 7 years ago
Luis Díaz Más 6ba4081f95 Use CMake-GenerateExportHeader to generate a macro to export symbols
- Delete the hardcoded macros in config.h taking care of that.
7 years ago
Luis Díaz Más 812762cf5a Remove usage of CPLUSPLUS11 7 years ago
Luis Díaz Más ab6aac054a Remove deprecated code from version source files 7 years ago
Luis Díaz Más 1871ce5acd Remove 'version.hpp' inclusion from places where it is not needed
By removing the inclusion from types.hpp we avoid lots of recompilation
of source files.
7 years ago
Luis Díaz Más e5bcabd026 Do not print hexadecimal version value when running exiv2 --version 7 years ago
Dan Čermák 67ec90bdab Fix switch value in BigTiffImage::readData
This function extracts a 2, 4 or 8 byte integer from the image and
swaps it according to the current setting. However, it was implicitly
assuming, that it reads the same amount from the image is is
requested.
If that is not the case, e.g. if 8 bytes are requested but
only 4 are read
=> result is created via byteSwap8() which reads 8 bytes
   !but 4 of those are uninitialized!
Using the actually read size fixes this problem.
7 years ago
Dan Čermák ecf955812d Replace reachable assertions with enforce in BigTiffImage::readData 7 years ago
Dan Čermák b3199a0720 Fix division by zero in BigTiffImage::printIFD
This fixes #262
7 years ago
Robin Mills afb98cbc6e Allocate correct amount of memory for the ICC profile 7 years ago
Robin Mills 8ff26931e3 Do not use Image::printStructure() when reading images as this causes security issues. 7 years ago
Luis Díaz Más 1bdbb86b0c Fix warning about implicit conversion to bool 7 years ago
Luis Díaz Más dba48ac3d9 Fix warning on VS2008 7 years ago
Luis Díaz Más 603692a1d8 Copyright to Exiv2 authors 7 years ago
Luis Díaz Más c4cc019dff Hide -Wunused-variable issues by using the UNUSED() macro 7 years ago
Luis Díaz Más 94375034e6 Fix -Wsign-compare issues 7 years ago
Luis Díaz Más 18ded9ccf3 Use static version of libcurl.
Note that this will simplify the packaging/deployment
7 years ago
Luis Díaz Más 0bfa0168df Cleanup some of the PACKAGE_XXX variables and rely in the ones given by the project() command 7 years ago
Luis Díaz Más 980f2e9462 Use isnan(f) as an alternative to isinf() on __APPLE__ 7 years ago
Robin Mills 6d1c318fc6 Fixes in PngChunk::readRawProfile 7 years ago
Luis Díaz Más f5b40f3e82 Fix more issues in PngChunk::readRawProfile 7 years ago
Luis Díaz Más 847da051c0 Fix bug in PngChunk::readRawProfile
- Now it takes into account text.size_ when searching for a newline
char.
7 years ago
Luis Díaz Más 6b77e9f6c8 Do not use std::vector::data() which is not part of c++98 7 years ago
Luis Díaz Más 2ae0cffe18 isinf for Visual Studio versions previous to 2013 7 years ago
Luis Díaz Más 4161099b91 Fix warnings reported by MSVC 7 years ago
Luis Díaz Más da24df0ba0 snprintf versions for VS versions previous to 2015 7 years ago
Luis Diaz Mas 67e448669e Use -Wno-format-overflow when compiling value.cpp to skip false positive warning 7 years ago
Luis Díaz Más 597b17fff5 Simplify timegm.h and make it usable with MINGW 7 years ago
Dan Čermák 1e23238fa4 Fix memory leak in Params::getopt() 7 years ago
clanmills 3c42fdddeb Fix include <exiv2/exiv2.hpp> to include exiv2/config.h (and consequential changes)
Fix cltest.cpp and version.cpp to report MSVC 2017 in which _MSC_VER == 1910
7 years ago
Robin Mills 74bc0e0535 Changes for cross-platform getopt 7 years ago
Hombre a226d6a650 Fixing typo in cmakefiles and removing REGEX dependencie for Cygwin 7 years ago
Hombre 28da26f174 Adding MINGW32 toolchain support 7 years ago
Dan Čermák 7d9ed33bde Initialize DataBuf with 0s => fix valgrind error 7 years ago
Dan Čermák 9f1a5a1ebb [futils] Change signature of getEnv to take an int
While taking an EnVar as the parameter is more clear it has the
disadvantage, that passing anything outside of the range of the
enumeration is undefined behavior. The compiler could then optimize
the range check in getEnv away (perfectly legal due to UB), leading
to buffer overreads.
7 years ago
Dan Čermák 11df43be78 [types] Apply Safe::abs() in floatToRationalCast & gcd
Also check for infinity in floatToRationalCast as depending on the
compiler special values of floats are converted to either
LONGMAX/LONGMIN or +/-inf
7 years ago
Dan Čermák 2dacb19933 [safe_op] Add Safe::abs(), calculates absoulte value without UB
Add a drop-in replacement for std::abs which never produces
negative values and thereby never invokes undefined behavior.
7 years ago
Luis Diaz Mas 8b47a8efc1 Include timegh.h in file which needs it 7 years ago
Luis Diaz Mas a9c9451588 Remove localtime.c and any other trick to handle timegm 7 years ago
Luis Diaz Mas eb306fdbae Substitute malloc/free with new/delete 7 years ago
Luis Diaz Mas eefee8125b to_hex and from_hex removed from API 7 years ago
Luis Diaz Mas 41499b8ecd Use snprintf instead of sprintf in TimeValue::copy
- Replaced assert by enforce
7 years ago
Luis Diaz Mas 7d8edbe781 Remove more dead code 7 years ago
Luis Diaz Mas 00502eabdd Move mrwthumb to samples 7 years ago
Luis Diaz Mas e9a6597a48 Move xmpdump to samples 7 years ago
Luis Diaz Mas ac51fda7b5 Move crwparse to samples 7 years ago
Luis Diaz Mas 32b618b1c7 Move crwedit from exiv2lib to samples 7 years ago
Luis Diaz Mas f9b2784055 Remove utiltest.cpp that is not compiled 7 years ago
Luis Diaz Mas 00f86a8df4 Cleanup unused variable warnings 7 years ago
Luis Diaz Mas 6e244f31d3 Cleanup fallthrough warning + clang-format parseCommonTargets function 7 years ago
Dan Čermák 35b3e596ed Add overflow & overread checks to PngChunk::parseTXTChunk()
This function was creating a lot of new pointers and strings without
properly checking the array bounds. This commit adds several calls
to enforce(), making sure that the pointers stay within bounds.
Strings are now created using the helper function
string_from_unterminated() to prevent overreads in the constructor of
std::string.

This fixes #400
7 years ago
Dan Čermák 6da77e2c64 Add documentation for parameters of string_from_unterminated 7 years ago
Dan Čermák b127354429 Simplify string_from_unterminated by using strnlen() 7 years ago
clanmills ce516eddef Issue-374 7 years ago
Dan Čermák b12a868454 Add EXV_WARN_UNUSED_RESULT macro & add it to DataBuf::release()
EXV_WARN_UNUSED_RESULT is a conditional macro that expands to either
__attribute__((warn_unused_result)) on gcc & clang or to _Check_return
for MSVC
=> Compiler warns if the return value is ignored
7 years ago
Dan Čermák 1ab921cb83 Add two padding bytes to exifLongHeader to prevent overreads
in the following call:
getHeaderOffset (payload.pData_, payload.size_, (byte*)&exifLongHeader, 6);

getHeaderOffset would read 6 bytes from exifLongHeader, reading beyond the
bounds of the array => add 2 padding bytes to prevent overreads
7 years ago
Dan Čermák dbf90b976f Fix overread in memcmp in PngImage::doWriteMetadata()
memcmp() compares the read data from key with the provided string, but when
key.pData_ is shorter than the provided length, then memcmp can read beyond the
bounds of key.pData_
=> add custom compare function, which ensures that we never read more than
key.size_
7 years ago
Dan Čermák 8d5a3c7dd9 Remove buffer overread in tExtToDataBuf
The pointer p is advanced in the while loop to step over three '\n'.
However, its length is never reduced accordingly. => the length check in the
following for loop is invalid, as it permits overreading by the number of
characters that p was advanced by.
7 years ago
Dan Čermák 67dc3e691f [IptcData::printStructure] clang-format function 7 years ago
Dan Čermák b2c3b61abc [IptcData::printStructure] Remove buffer overrun
The loop condition will perform a range check correctly, but it will always
dereference bytes[i], even if i is too large and fails the second check.
=> move the bytes[i] == 0x1c check into a if, after the range check was
successfull
7 years ago
Dan Čermák 39399ac5e8 Remove memory leak in SshIo::SshImpl::getDataByRange
The buffer array is not deleted, when an exception is thrown
(happens for nBytes< 0).
=> use std::vector<char> instead
7 years ago
Dan Čermák 607b19111c [DataBuf] Replace wrong usage of release() with free() 7 years ago
Dan Čermák 1b74db8f51 [types] Add DataBuf::free()
DataBuf::release() easily cause memory leaks, when the return value is
ignored. free() provides the desired behavior, when the internal data should
just be deleted and not used further.
7 years ago
Dan Čermák 81b6d36c90 [webp] Enforce minimum read size in decodeChunks
The size parameter is only checked for upper bounds, but not for lower.
If it is too small, then created dataBuf will be too small and overflow in one
of the subsequent memcpy() calls.

This fixes #378 / CVE-2018-14046
7 years ago
Luis Díaz Más 6a203c70c0 Include missing unused.h header in convert.cpp 7 years ago
Dan Čermák b761c6d056 Remove useless casts in preview.cpp 7 years ago
Dan Čermák fe70939f54 Fix addition overflows in range checks in LoaderTiff::getData
Several checks for extracted values performed no overflow checks on the
addition. They can be tricked into passing, albeit the individual summands are
too large.
=> use Safe::add() which now aborts when an overflow occurs
This fixes #366
7 years ago
Dan Čermák f4e8ed2fd4 Catch all exceptions not caught in exiv2 cli-tool
It effectively looks the same as before, only now we don't call abort() but
instead clean up everything gracefully.
7 years ago
Dan Čermák 937a1a2bd0 Add offset_ and size_ safely in LoaderExifJpeg::LoaderExifJpeg
offset_ can become arbitrarily large and overflows once its added to size_,
this causes all kinds of problems further in the code when offset_ is used
again.
=> Use Safe::add() to catch potential overflows
This fixes #365.
7 years ago
Luis Diaz Mas abf6e8ec27 Remove code related with autotools 7 years ago
tbeu 6b1615840f Remove redundant check
V547 Expression 'bPrint' is always true. rafimage.cpp 112
V547 Expression 'bPrint' is always true. rafimage.cpp 125
V547 Expression 'bPrint' is always true. rafimage.cpp 136
V547 Expression 'bPrint' is always true. rafimage.cpp 147
V547 Expression 'bPrint' is always true. rafimage.cpp 158
V547 Expression 'bPrint' is always true. rafimage.cpp 169
V547 Expression 'bPrint' is always true. rafimage.cpp 190
V547 Expression 'bPrint' is always true. rafimage.cpp 213
V547 Expression 'bPrint' is always true. rafimage.cpp 236
V547 Expression 'bPrint' is always true. rafimage.cpp 252
V547 Expression 'bPrint' is always true. rafimage.cpp 262
V547 Expression 'bPrint' is always true. rafimage.cpp 272
7 years ago
tbeu eca251865f Fix check (on comparing unsigned minus signed greater zero)
V555 The expression 'object->sizeDataArea_ - buf.size_ > 0' will work as 'object->sizeDataArea_ != buf.size_'. tiffvisitor.cpp 911
7 years ago
tbeu bb9034e029 Do not implicitly cast enum to Boolean
V768 The expression 'fileProtocol(path)' is of enum type. It is odd that it is used as an expression of a Boolean-type. futils.cpp 288
7 years ago
tbeu 12d0da619b Use clear to reset string
V815 Decreased performance. Consider replacing the expression 'token = ""' with 'token.clear()'. http.cpp 193
7 years ago
tbeu 9569ef2fda Use auxiliary variable
V807 Decreased performance. Consider creating a reference to avoid using the 'image_.exifData()' expression repeatedly. preview.cpp 530
7 years ago
tbeu 75cdbc8b91 Use pre-increment on iterators
V803 Decreased performance. In case 'userEnd' is iterator it's more effective to use prefix form of increment. Replace iterator++ with ++iterator. futils.cpp 405
V803 Decreased performance. In case 'authEnd' is iterator it's more effective to use prefix form of increment. Replace iterator++ with ++iterator. futils.cpp 410
V803 Decreased performance. In case 'hostEnd' is iterator it's more effective to use prefix form of increment. Replace iterator++ with ++iterator. futils.cpp 428
V803 Decreased performance. In case 'e' is iterator it's more effective to use prefix form of increment. Replace iterator++ with ++iterator. epsimage.cpp 711
V803 Decreased performance. In case 'e' is iterator it's more effective to use prefix form of increment. Replace iterator++ with ++iterator. epsimage.cpp 841
V803 Decreased performance. In case 'e' is iterator it's more effective to use prefix form of increment. Replace iterator++ with ++iterator. epsimage.cpp 958
V803 Decreased performance. In case 'i' is iterator it's more effective to use prefix form of increment. Replace iterator++ with ++iterator. epsimage.cpp 855
V803 Decreased performance. In case 'it' is iterator it's more effective to use prefix form of increment. Replace iterator++ with ++iterator. jpgimage.cpp 817
V803 Decreased performance. In case 'lib' is iterator it's more effective to use prefix form of increment. Replace iterator++ with ++iterator. version.cpp 508
V803 Decreased performance. In case 'it' is iterator it's more effective to use prefix form of increment. Replace iterator++ with ++iterator. version.cpp 563
V803 Decreased performance. In case 'it' is iterator it's more effective to use prefix form of increment. Replace iterator++ with ++iterator. xmpsidecar.cpp 138
7 years ago
tbeu e5a4f1cf35 Use auxiliary variable
V807 Decreased performance. Consider creating a reference to avoid using the 'image.exifData()' expression repeatedly. crwimage.cpp 1320
7 years ago
tbeu 3674ce2c1d Remove superfluous assignment
V519 The 'md_st' variable is assigned values twice successively. Perhaps this is a mistake. Check lines: 155, 156. easyaccess.cpp 156
7 years ago
tbeu 9c507b9d20 Fix function declaration
V762 It is possible a virtual function was overridden incorrectly. See third argument of function 'printStructure' in derived class 'TiffImage' and base class 'Image'. tiffimage.hpp 93
7 years ago
Luis Díaz Más 9f67edd9bd Conan: bring libiconv dependency for Windows 7 years ago
Luis Díaz Más e82cd1734c Fix warnings reported by -Wmisleading-indentation 7 years ago
Luis Díaz Más 88ba920962 Extract out common code for two switch-cases into a function to fix warning
The warning was caused by -Wimplicit-fallthrough:
https://developers.redhat.com/blog/2017/03/10/wimplicit-fallthrough-in-gcc-7/

I also realized that the method printStructure was duplicated in the
classes Print and Erase. By moving the implementation to a free function
into the cpp file, I could remove the duplication in the code.
7 years ago
Luis Díaz Más 335607054c Use enforce instead of std::assert to fix warning about unused variable in realease mode 7 years ago
Luis Diaz Mas 773bdfd14e Create a header where to keep an unique definition of UNUSED 7 years ago
Luis Diaz Mas 9586928d29 Add CMake code to handle external XMP
Experiment: Try with testing package
7 years ago
Dan Čermák a1a9c3d79a Use reinterpret_cast instead of C style cast 7 years ago
Dan Čermák b51b6fc52d Prevent an out of bounds read in strstr in JpegBase::printStructure
The xmp byte array is not necessarily null terminated => strstr can read beyond
the bounds of the allocated array then.
Therefore use string_from_unterminated to remedy this issue.
Also replace xmp with a std::vector, as stl functions can throw and we don't
want a memory leak.
7 years ago
Dan Čermák 510560bbd1 Prevent out of bounds read in jpgimage.cpp JpegBase::printStructure
signature is extracted from an image and can lack the terminating \0, this
causes the std::string constructor and strcmp to read beyond the bounds of the
allocated array.
=> Use string_from_unterminated to construct a std::string safely and use it
in the subsequent code & use stl functions instead of C functions
7 years ago
Dan Čermák dd52b1a832 Add helper_functions.cpp/hpp & unit tests
- add function which constructs a new std::string from a potentially not null
  terminated char *
- add unit tests
7 years ago
Luis Diaz Mas 59493d1edc Fix bug in Cr2Header::read 7 years ago
Luis Diaz Mas 1d27c21639 Rename files from cr2image_int to cr2header_int 7 years ago
Luis Diaz Mas 67a5a74115 Throw when trying to write out of the buffer 7 years ago
Luis Diaz Mas 863aaebc92 Use index to access buf.pData_ 7 years ago
Luis Diaz Mas ed874703ad Prevent call to memcpy with size==0 7 years ago
Luis Diaz Mas f17636460f Remove tags_int.cpp that was not used in the project
I introduced that file accidentally in the project while trying to move
the implementation details to xxx_int.cpp files. In this case, I found
out some issues and I just decided to leave the implementation in the
file tags.cpp.
7 years ago
Luis Diaz Mas 1371d677f9 Remove custom messages from enforce(xxx, Exiv2::kerCorruptedMetadata) 7 years ago
Luis Diaz Mas c0a879aea4 Fix call to std::count, so that we count until the end of the array 7 years ago
Luis Diaz Mas 3ad0050469 Check validity of compressionFlag & compressionMethod 7 years ago
Luis Diaz Mas 2fb00c8a16 Analyze minimum needed number of null separators in PngChunk::parseTXTChunk
This commit fixes the heap-buffer-overflow in PngChunk::parseTXTChunk.

According to the specification:
http://www.libpng.org/pub/png/spec/1.2/PNG-Chunks.html

There must be 2 null separators when we start to analyze the language tag.
7 years ago
Luis Diaz Mas a227fcda39 debug: Add new debug message to print the PNG chunk being processed 7 years ago
Luis Diaz Mas b0696d4da6 style: Apply formatting guidelines to one-line ifs 7 years ago
Luis Diaz Mas 4922df6018 Replace '\n' by endl that flush content. Useful for debugging 7 years ago
Luis Díaz Más c3629117d8 conan: Upgrade libcurl version
Thanks to this upgrade the cmake code that handles the CURL dependency
can be simplified. Now we can use the shared version of CURL in all the
platforms. However we will use for the moment the static version on Mac,
since we are having some issues with 'make tests'. Once those tests are
migrated to python we can also use the shared version there.
7 years ago
Daniel Zucchetto 4e55af8691
Support Canon M100 7 years ago
Dan Čermák 4b24e011dc Free potentially allocated regexes from Params::evalGrep
In Params::evalGrep regcomp allocates some internal space for the regex objects,
which must be freed manually via regfree(). This was however only done when the
call to regcomp() failed and not on success. As the regexes are needed later,
they have to be deallocated by the destructor.
7 years ago
Dan Čermák bf51a76e4e [safe_op] Fix ODR violation in compiler builtin specializations
The compiler instrinsics are exposed via fully specialized template functions
which must not be defined twice (which they accidentally were). Declaring them
as inline fixes this issue.
7 years ago
Dan Čermák 1d7dd0892c Fix errors not being passed by reference to error() function
- error was passed by value, but a new error message should be appended to it
  => error must be called by reference
- use default parameters of error() in http()
- rename variables to fix shadowing
7 years ago
Dan Čermák 571f97e277 Use __attribute__((format)) in clang too 7 years ago
Dan Čermák 222c65be63 Refactor Nikon case in bigtiffimage
- remove name shadowing
- user std::vector<> instead of raw array
7 years ago
Dan Čermák 4c4d568036 Enforce a valid Value (instead of assert) 7 years ago
Dan Čermák e2b06856d8 Change type of size to uint64_t to avoid a useless cast
The variable size is only populated via getUint64_t => uint64_t is better suited
then unsigned long
7 years ago
Dan Čermák 316548d2de Fix shadowing issues
- renamed variables that were shadowing a previously defined variables
7 years ago
Dan Čermák 5e36363138 Fix double promotion issues 7 years ago
Dan Čermák bc58752d18 Remove useless casts
This commit removes only casts where type A is cast to the exactly same
type (and not to a platform dependent typedefs)
7 years ago
Dan Čermák bb2019149a [safe_op] Don't use overflow intrinsics in MSVC 2005 7 years ago
Luis Díaz Más e32323d7c7 Simplify usage of strerror_r.
- Define STRERROR_R_CHAR_P properly on CMake and use it on futils.cpp
- We use now _GNU_SOURCE to determine which version of strerror_r to use
- strError only throws if ret==ERANGE
- Remove STRERROR_R_CHAR_P. It has been never used
- sort defines in config.h.cmake
- Remove EXV_HAVE_DECL_STRERROR_R that is not used anymore
- Remove EXV_HAVE_STRERROR. C++98 always will have it
7 years ago
Robin Mills d22fff4834 Lens Recognition for Tamron SP AF 150-600mm F/5-6.3 VC USD G2 (A022) for Nikon
http://dev.exiv2.org/issues/1348
7 years ago
Luis Díaz Más f86542e5f6 Remove EXV_HAVE_STRTOL 7 years ago
Luis Díaz Más d55b2b1b65 Remove HAVE_STDLIB_H check and replace stdlib.h by cstdlib 7 years ago
Luis Díaz Más aded1965c5 Remove EXV_HAVE_MEMSET 7 years ago
Luis Díaz Más abd28a6a9e Remove EXV_HAVE_STRCHR 7 years ago
Dan Čermák fc60d97a29 Prevent passing of null-pointers to libc functions 7 years ago
Dan Čermák 2bf89f4854 Store pointers to Impl classes in auto_ptr
Pimpl class Impl is stored in raw pointers which are allocated on the heap in
the constructor. However, the constructor can throw an exception resulting in a
memory leak as the destructor is **not** invoked.
=> A smart pointer is however properly deallocated.
7 years ago
Luis Díaz Más 02aa13abf3 Install conan-dependencies DLLs into install/bin.
We also changed the way in which we copy the DLLs to the bin folder inside the build directory.
Before we were directly placing the conan-deps DLLs into the bin folder directly. Now we place
them into a directory called conanDlls, and from there we copy them to bin or install/bin
at build and install steps respectively.
7 years ago
Luis Díaz Más fbd8e2669e sort alphabetically the sources in src/CMakelists.txt 7 years ago
Luis Díaz Más de5b9ebf89 Remove duplication of sources in src/CMakeLists.txt 7 years ago
Luis Díaz Más ffbcaa2e6d Fix MSVC warning C4267: conversion from 'size_t' to 'long' 7 years ago
Luis Díaz Más bd40c18f1c Use variable in TimeValue::copy to remove -Wunused-variable warning 7 years ago
Luis Diaz Mas a246c73d6f Use unused variable instead of hard-coded values in DateValue::copy 7 years ago
Luis Díaz Más bf7047a71b clang-format XmpKey code 7 years ago
Luis Diaz Mas 07d75cd0e8 Check if ExifData::findKey return valid iterators 7 years ago
Luis Díaz Más 858c99b4df Add enforce before calling REPORT_MARKER with invalid marker 7 years ago
Freddie Witherden 97a7924340 Update Nikon lens database. 7 years ago
Luis Díaz Más 5e5d76ad0a clang format function 7 years ago
Dan Čermák 3c20cc06a9 Fix CVE-2017-1000126
CVE-2017-1000126 is a Stack out of bounds read in the WebP parser caused by the
parameter size & filesize being too large, causing the parser to land in an
infinite loop and eventually crash. Enforcing that the size over which the
parser iterates is smaller than the file fixes this issue.

This fixes #175.
7 years ago
Dan Čermák 49db96cd58 [webp] Fix wrong filesize parameter being extracted from the header
The webp header contains the filesize of the image starting at the 8th byte in
bytes 4 to 8 encoded as a little endian 32 bit unsigned integer. The code was
erroneously assuming that the extracted filesize is starting at the 12th byte,
i.e. at the end of the WebP file header.

Source: https://developers.google.com/speed/webp/docs/riff_container
7 years ago
Dan Čermák 5de9a7b562 Add a port of enforce() from D
enforce is a function comparable to assert(), it ensures that a condition is
true. However, while assert() should be used for conditions where we can be
certain that they are true, enforce is intended to be used for conditions that
can fail (like on invalid input). Therefore enforce() throws an exception when
the condition is false and does not abort the program's execution. Also, it is
not turned off by defining NDEBUG.

- add a new file enforce.hpp
- implement enforce()
7 years ago
HumanDynamo 22a0b32c01 Fix typo of Xmp.video.AspectRatio's value type 7 years ago
Luis Díaz Más 01a5d863ad Apply clang-format to Print::printMetadatum 7 years ago
Luis Díaz Más 45fe44aa2f Move condition in if statement to discard work earlier 7 years ago
Luis Díaz Más d82b9434e1 Only print items (Params::prValue) when size > 0 7 years ago
Robin Mills 185d0e9482 #199 Fix for getopt(). Use src/getopt_win32 code instead of libc/getopt() 7 years ago
Dan Čermák 06ec1e6984 [safe_op] Refactored addition overflow checks using functions only
- templated structs were not required, SFINAE works for functions too
  => use instead, removes some unneeded code
- fix non-usage of builtins with clang
- adjust unit tests
7 years ago
Dan Čermák 684c8c89de [safe_op] Simplified unsigned int overflow check
Simply check for overflows after the addition, as no undefined behavior can
occur here.
7 years ago
Dan Čermák 31b96b58e7 [safe_op] improved signed int overflow checks via integer promotion
The fallback signed integer overflow check is quite expensive, but the addition
can be safely performed when saved in an int due to integer promotion
rules. This makes the check a little less expensive.
7 years ago
Dan Čermák 029b997ca0 [safe_op] fixed typo in doc-comment 7 years ago
Dan Čermák 751fba8b54 Added dataBuf size check before calling PngChunk::decodeIHDRChunk
- cdataBuf must be at least 8 bytes long otherwise decodeIHDRChunk
  reads out of bounds
- pngImage::readMetadata now skips png chunks where the offset for
  IHDR chunks is invalid
- added assertion into PngChunk::decodeIHDRChunk() to ensure dataBuf
  size
7 years ago
Fredrik lingvall fc8b45dd12 Added the Sigma 120-300mm F2.8 DG OS HSM | S for Nikon mount. 7 years ago
Fredrik lingvall 34a3be025e Added Sigma 50mm F1.4 DG HSM | A mount/UPC code (for Nikon mount). 7 years ago
Fredrik Lingvall 215227024d Added Sigma 20mm F1.4 DG HSM | A mount/UPC code (for Nikon mount). 7 years ago
Dan Čermák efe2ccdcb6 Replaced all hardcoded error codes with ker... constants 7 years ago
Dan Čermák d3c3c036b8 Incorporated error codes into errList 7 years ago
Robin Mills 55001c8ddf
Merge pull request #222 from Exiv2/fix-220
Fix 220
7 years ago
Dan Čermák fcb4257051 Add check for DataBuf.size_ in Jp2Image::readMetadata()
When parsing a subBox that is a ColorHeader, a length is extracted
from the input file and fed directly into DataBuf() (which calls
malloc). A crafted input file can provide arbitrarily (up to
max(uint32_t)-8) large values and result in excessive memory
allocation.

This commit adds a check for the new size of DataBuf so that it is not
larger than the remaining size of the file.

This fixes #202 aka CVE-2018-4868
7 years ago
Robin Mills a1f1989cb5
Merge branch 'master' into master 7 years ago
clanmills c082537967 Fix #220 https://github.com/Exiv2/exiv2/issues/220 8 years ago
Dan Čermák 4429b962e1 Fix out of bounds read in src/pngchunk_int.cpp by @brianmay
- consider that key is advanced by 8 bytes if stripHeader is true
  => length is reduced by same amount
  Fixed by adding offset to the check in the loop
- Rewrote loop so that keysize is checked before the next
  iteration (preventing an out of bounds read)
8 years ago
Robin Mills df4113b765 changes to MemIo::reserve() for #200 (#213)
* changes to MemIo::reserve() for #200

* Changes following review by Dan (thanks, Dan).
8 years ago
Michał Walenciak d219e61586 be more error prone 8 years ago
Michał Walenciak 24348e85ca checks for valid reads 8 years ago
Michał Walenciak 421c6d6723 improvements for issue #208 8 years ago
Michał Walenciak 1647908e00 fix for crash in bigtiff (issue #208) 8 years ago
Robin Mills 7d42da94d0 Removed wrong ExifData::const_iterator that shadowed the correct one 8 years ago
Luis Díaz Más 00f32316b2 Add missing header 8 years ago
Luis Díaz Más 14ff034fb4 Catch std::overflow_error exception in Print::run 8 years ago
Luis Diaz Mas d09c4bb7cd Fix arithmetic operation overflow 8 years ago
Luis Díaz Más a1023c39ab Add safe_op.hpp to LIBEXIV2_PRIVATE_HDR (to be shown in IDEs) 8 years ago
Dan Čermák 7c00e9128d Fix compilation error with gcc < 5
- overflow builtins were added with gcc 5.0
8 years ago
Dan Čermák ca7c699aa1 Added overflow safe addition function 8 years ago
Robin Mills 8f5b795eaa Fixes to autotools build to respect mn_int.cpp files (#186)
* Fixes to autotools build to respect mn_int.cpp files

* Changes following Luis' code review.
8 years ago
Luis Díaz Más f36bea3801 exiv2::getEnv throws std::out_of_range on unexpected EnVar
This change define explicitly the behavior that exiv2::getEnv should have
on response to unexpected inputs.

There are some other minor changes:

- Use _putenv_s for the unit tests on Windows
- Add todo comment
- Remove deprecated note about freeing memory
8 years ago
Luis Díaz Más 8dc3c1f0a0 Replace malloc/free by new/delete. Use const char* for input arg 8 years ago
Luis Díaz Más bfe057ca20 Auto-formatting done by the IDE while touching code in the previous commits 8 years ago
Luis Díaz Más 8b049922d7 Change exiv2::urlencode signature to return std::string
The goal of this change is to remove the responsibility from the client code to
free the memory of the returned string.
8 years ago
Luis Díaz Más 8c010c903b Compile private part as an OBJECT library (CMake concept) 8 years ago
Luis Díaz Más d3748152a7 add _int suffix to all the internal files 8 years ago
Luis Díaz Más 44fc9ec528 Move Cr2Header to a new .cpp file 8 years ago
Luis Diaz Mas d48abab718 Apply clang-format to some lines of the file canonmn.cpp 8 years ago
Luis Diaz Mas d0a1c6d19d Apply clang-format to bmpimage.cpp 8 years ago
tbeu 2efc2e79da Remove obsolete id 8 years ago
tbeu 5b5987a596 Remove obsolete EXIV2_RCSID 8 years ago
tbeu 5df8b01b77 Remove obsolete svn revision 8 years ago
Robin Mills e96e0daa8a Jp2Image::printStructure: Corrected used DataBuf for output 8 years ago
Robin Mills befe8c64e3 Jp2Image::printStructure: only print output when bPrint is set 8 years ago
Robin Mills 13db7fdec2 Formatting changes 8 years ago
Luis Díaz Más 87a83c89d5
Merge branch 'master' into stringFormat_update 8 years ago
Luis Díaz Más 1fe8d5ba7f Fix conversion issue detected by MSVC 8 years ago
Dan Čermák 36df4bc997 Fixed potential out of bounds file access
This commit adds a out-of-bounds protection in the case that the
extracted values for offset & count are summed up larger than the size
of the file. Also this function checks for overflows before performing
the addition.

This fixes #159
8 years ago
Dan Čermák cfa5073a2c Added short explanation to internal function stringFormat 8 years ago
Dan Čermák 06cafadf4f Added assertion that call to vsnprintf succeeds 8 years ago
tbeu c0ea5f4fba Rewrite the reallocation the C++ way
* Fix handling of the return value of vsnprintf
* In C++11 we could use buffer.data instead of &buffer[0]
8 years ago
tbeu 22dbd632bb Find single character 8 years ago
tbeu d1f73aa237 Make it floats 8 years ago
tbeu 849f416771 Avoid self-assignment 8 years ago
tbeu 867343b46f Utilize const Value reference 8 years ago
tbeu fd64d53e4b Remove superfluous variable declarations 8 years ago
tbeu d7297a2c2c Pass argument as constant reference 8 years ago
Luis Díaz Más 4ad4323685 Add new CMake options to use compiler flags to detect issues in the code (Gcc, Clang & MSVC) 8 years ago
Andreas Sturmlechner 57883ee664
Fix build with EXIV2_BUILD_EXIV2_COMMAND=OFF 8 years ago
Dan Čermák c686843e20 Added exception throw on Value pointer being null
v can be null if the typeId is invalid => throw an exception notifying
the user that his file is corrupted instead of the assertion
8 years ago
Dan Čermák 75940da0a6 Added check for overflows in calculation of size 8 years ago
Dan Čermák 8a586c74bb Fix for CVE-2017-14864, CVE-2017-14862 and CVE-2017-14859
The invalid memory dereference in
Exiv2::getULong()/Exiv2::StringValueBase::read()/Exiv2::DataValue::read()
is caused further up the call-stack, by
v->read(pData, size, byteOrder) in TiffReader::readTiffEntry()
passing an invalid pData pointer (pData points outside of the Tiff
file). pData can be set out of bounds in the (size > 4) branch where
baseOffset() and offset are added to pData_ without checking whether
the result is still in the file. As offset comes from an untrusted
source, an attacker can craft an arbitrarily large offset into the
file.

This commit adds a check into the problematic branch, whether the
result of the addition would be out of bounds of the Tiff
file. Furthermore the whole operation is checked for possible
overflows.
8 years ago
Dan Čermák 6c1ba331b9 Added arithmetic operation overflow error 8 years ago
Dan Čermák ff18fec24b Fix for CVE-2017-14860
A heap buffer overflow could occur in memcpy when icc.size_ is larger
than data.size_ - pad, as then memcpy would read out of bounds of data.

This commit adds a sanity check to iccLength (= icc.size_): if it is
larger than data.size_ - pad (i.e. an overflow would be caused) an
exception is thrown.

This fixes #71.
8 years ago
Dan Čermák 65f45a3505 Added new error message to warn about corrupted metadata 8 years ago
Luis Díaz Más 4beb08e219 Merge pull request #105 from Kicer86/bigtiff
Work in progress - improvements for bigtiff
8 years ago
Luis Díaz Más 8e4aff29c2 Merge pull request #107 from D4N/tiffvisitor_nullptr_check
Use nullptr check instead of assertion, by Raphaël Hertzog
8 years ago
Michał Walenciak 2402a693fd adding missing include for numeric_limits 8 years ago
Luis Díaz Más 93bbf0cab1 Merge pull request #104 from piponazo/removeCpp11Feature
Remove cpp11 features
8 years ago
Dan Čermák e026160556 Use nullptr check instead of assertion, by Raphaël Hertzog
Source:
https://github.com/Exiv2/exiv2/issues/57#issuecomment-333086302

tc can be a null pointer when the TIFF tag is unknown (the factory
then returns an auto_ptr(0)) => as this can happen for corrupted
files, an explicit check should be used because an assertion can be
turned of in release mode (with NDEBUG defined)

This also fixes #57
8 years ago
Luis Díaz Más bef6dad6c5 Merge pull request #103 from AdelieLinux/master
Amend fix for #9 to apply to other Unix systems
8 years ago
Michał Walenciak b1a5d615c5 removing debug message 8 years ago
Michał Walenciak 64e05c0a7a improving fixes for #55 and #56 8 years ago
Luis Díaz Más 1a1a61b63d Remove reference to regex & c++11 from the man page 8 years ago
Luis Díaz Más 5b8894908b Remove all references to EXV_HAVE_REGEX and related code 8 years ago
Luis Díaz Más bfd61bd0f1 Merge pull request #96 from Kicer86/master
Adding comment for issue #56
8 years ago
A. Wilcox d775683f57
Amend fix for #9 to apply to other Unix systems
At least the musl libc on Linux has the same issue as Mac OS X: the
PTHREAD_RECURSIVE_* static initialiser does not exist.  This is a
documented and purposeful omission:

http://www.openwall.com/lists/musl/2017/02/20/3

This commit uses similar logic to the Apple test on other Unixes.
8 years ago
Luis Diaz Mas 2784b1f7f7 Remove EXIV2_ENABLE_LIBXMP variable, always build static XMP library, remove cmake OBJECT library 8 years ago
Michał Walenciak 7e90668011 Adding comment for issue #56 8 years ago
Luis Díaz Más df3c77516c Merge pull request #94 from piponazo/configFileInBuildDirectory
Generate exv_conf.h file out of the source tree.
8 years ago
Luis Díaz Más a9e3f17f31 Generate exv_conf.h file out of the source tree. Install it in the include folder. 8 years ago
Luis Díaz Más 686edde5ef Provide exiv2Config file automatically generated by CMake 8 years ago
clanmills 327b3f6c4d Fix https://github.com/Exiv2/exiv2/issues/83 8 years ago
Robin Mills 2f0104879a Merge pull request #81 from piponazo/robinChanges
Robin changes
8 years ago
clanmills d43cd82002 Fix #80 8 years ago
Luis Díaz Más 8ad49f6d73 Robin changes in sync with master changes 8 years ago
Dan Čermák 74cb5bab13 Fixed wrong brackets: size*count + pad can overflow before the cast
=> Should fix #76 (most of the work has been done by Robin Mills in
   6e3855aed7)

The problem with #76 is the contents of the 26th IFD, with the
following contents:
tag: 0x8649
type: 0x1
count: 0xffff ffff
offset: 0x4974

The issue is the size of count (uint32_t), as adding anything to it
causes an overflow. Especially the expression:
(size*count + pad+20)
results in an overflow and gives 20 as a result instead of
0x100000014, thus the condition in the if in the next line is false
and the program continues to run (until it crashes at io.read).

To properly account for the overflow, the brackets have to be removed,
as then the result is saved in the correctly sized type and not cast
after being calculated in the smaller type.

The brackets have also been removed from bigtiffimage.cpp, where the
same issue is present.
8 years ago
Robin Mills d8ae4484ae msvc support for bigtiffimage.cpp 8 years ago
Robin Mills e1948c7ff9 msvc/bigtiffimage support 8 years ago
clanmills 6e3855aed7 Fix https://github.com/Exiv2/exiv2/issues/55 8 years ago
Robin Mills 197375dfa4 Merge pull request #72 from Kicer86/bigtiff
Some improvements, crash fix.
8 years ago
Michał Walenciak 9acc1c56a7 adding ifd8 and long longs to is8ByteType() 8 years ago
Michał Walenciak 4837d8cf58 changing header + some warning fix 8 years ago
Robin Mills 6fd0bc9e10 Adding ./configure support for bigtiffimage.cpp 8 years ago
clanmills 678e2b8517 Explicitly list files to be processed CMake generated builds [remove file(GLOB...)] 8 years ago
Michał Walenciak 734a2c3d57 fixing TODO 8 years ago
Michał Walenciak e3ff1ba694 fixing indent 8 years ago
Michał Walenciak 4629227358 fix for IPTCNAA
dir_offset was used instead of offset
8 years ago
Michał Walenciak 4f6f5b4946 removing conditional_byte_swap* functions 8 years ago
Michał Walenciak b6e79357de Adding 8-byte swap functions + consts 8 years ago
Michał Walenciak f96d84ba8c dropping dead code 8 years ago
Michał Walenciak 50ecf672b5 using Internal::indent() 8 years ago
Michał Walenciak f8ac7a5dc3 renaming Tiff to StandardTiff 8 years ago
Michał Walenciak d460bbdb3f fix for standard tiff case 8 years ago
Michał Walenciak 81aa8828e0 applying dff941ad7f 8 years ago
Michał Walenciak 874daede53 fixing broken print for 'offset' column 8 years ago
Michał Walenciak 8b07982bf2 variable names cleanup 8 years ago
Michał Walenciak 1a1dc3afd4 simplifying code 8 years ago
Michał Walenciak c6cbf69c49 first attempt to read both - standard and big tiff 8 years ago
Michał Walenciak 972e302cba some cleanups 8 years ago
Michał Walenciak 3c9817339a Dropping BasicIo& io parameter.
We already have acces to it via Image class
8 years ago
Michał Walenciak 65722a0020 dropping bSwap parameter
Member is better.
8 years ago
Michał Walenciak 7e291ef226 Encapsulating Header's members 8 years ago
Michał Walenciak cb3857c675 removing useles code 8 years ago
Michał Walenciak ff21b5a962 restore position if necessary 8 years ago
Michał Walenciak cc8c470620 fix header read + tag name dump 8 years ago
Michał Walenciak 5ab1a0809d adopt to style 8 years ago
Michał Walenciak 5fa328737a moving implementation from stand alone parser 8 years ago
Michał Walenciak c008ad2403 making tag related functions private 8 years ago
Michał Walenciak 307faae830 introducing tiff Header + header builder function 8 years ago
Michał Walenciak ab27bfab3c introducing getULongLong() 8 years ago
Michał Walenciak dc331ee44a implementing isBigTiffType 8 years ago
Michał Walenciak b3aa2adf31 initial implementation of newBigTiffInstance() 8 years ago
Michał Walenciak bc6eed0b03 registering new file type 8 years ago
mfg92 97d7a04ea8 Added support for 'Tamron SP 15-30mm f/2.8 Di VC USD A012' and 'Tamron SP 90mm f/2.8 Di VC USD MACRO1:1'.
But there is no distinction between the F004 and the F017 Versions of the 90mm.
Fixed Bug #1306 and #1304 (partly)
8 years ago
Robin Mills f9d0be42b5 Merge pull request #69 from marisn/master
Fix crash on undefined metadata on some Nikon images
8 years ago
clanmills 21ac4ac61a Test suite changes due to https://github.com/Exiv2/exiv2/pull/68 8 years ago
Māris Nartišs 591dea579a Fix crash on undefined metadata on some Nikon images.
Identical to commit:5405d61623e82896e498c5c8342dd6f42e689115
8 years ago
Michał Walenciak dff941ad7f Do not print offset when it is used as tag's value 8 years ago
Robin Mills 22aaff8682 Fix cmakeBuild.cmd --static to use zlibstatic.lib 8 years ago
clanmills d366943297 Refactoring EXV_USE_CURL and EXV_USE_SSH 8 years ago
clanmills 012d630125 Polish options. Move exv_conf.h to directory include/exiv2 8 years ago
Tobias C. Berner 0ed456ca4d Use CMAKE_DL_LIBS instead of dl
cmake provides a wrapper to link against 'dl' which evalutes to nothing on FreeBSD and to dl on Linux for example.
https://cmake.org/cmake/help/v3.6/variable/CMAKE_DL_LIBS.html
8 years ago
clanmills 5405d61623 Fix http://dev.exiv2.org/issues/1305 8 years ago
clanmills 2828b11cf7 Build changes to support EXV_HAVE_REGEX and EXV_HAVE_REGEX_H 8 years ago
Ray ddbbbc7653 attempt to determine lens name from in:value object (represents lensID) when in:metadata == NULL 8 years ago
Robin Mills 60d436c969 Many changes to CMakeLists.txt and cmakeBuild.cmd to support unicode, static linking, passing shared library build flags. 8 years ago
Luis Díaz Más 68d2c49fc5 Fix typo 8 years ago
Luis Diaz Mas 1af1ce0229 Fix CMake + Conan integration on Windows 8 years ago
Luis Diaz Mas 960335faea Use conan in travis 8 years ago
Luis Diaz Mas 2221a5c630 Make CMake code work with conan 8 years ago
clanmills 9586164a8f Fix: https://github.com/Exiv2/exiv2/issues/45 Thank You to Steve for reporting, providing the patch and giving feedback that modifying ~/.exiv2 worked. 8 years ago
Luis Díaz Más dc79df8ee6 Only use CURL and SSH when their support is enabled 8 years ago
Luis Diaz Mas c2350a3cb9 Make CMake code work with conan 8 years ago
Michał Walenciak 20582a93c6 Marking members in a proper way. 8 years ago
Michał Walenciak 4e25435afb Changing return type of Image::tagName to std::string 8 years ago
Michał Walenciak ddb87fe0cf Moving static tagName() into Image class to prevent multithread crashes.
static variables inside of tagName() were not protected against multithread access.
It could cause a crash in case of simultaneous initialization of map of tags.
8 years ago
clanmills 0f72599121 https://github.com/Exiv2/exiv2/issues/45 Fixing blank line typo. 8 years ago
clanmills cf36ff3372 Fix: https://github.com/Exiv2/exiv2/issues/45 Thank You to Steve for reporting, providing the patch and giving feedback that modifying ~/.exiv2 worked. 8 years ago
Luis Díaz Más 9761f0ee1f ICONV include directories only used by exiv2lib 8 years ago
Luis Díaz Más 31a51fda8a Replace EXIV2_ENABLE_SHARED by BUILD_SHARED_LIBS. Also use EXV_HAVE_DLL only for the exiv2lib target 8 years ago
clanmills 426cb8f354 Fix Visual Studio build breaker. 8 years ago
Robin Mills b5cac373b1 Merge pull request #39 from Exiv2/autotoolsMacLink
./configure --with-adobe[=2016|2014|2013] for MacOSX
8 years ago
Andreas Sturmlechner a768b85191 Lowercase target_link_libraries 8 years ago
Andreas Sturmlechner 20c7ad6c59 Lowercase include{,_directories} 8 years ago
Andreas Sturmlechner 1fc319c0e4 Lowercase add_custom_target, configure_file, install macros 8 years ago
Andreas Sturmlechner 40565761d1
Lowercase add_{definitions,subdirectory}, set{_*} and option macros 8 years ago
Andreas Sturmlechner 06b20523f7 Lowercase if/else/endif/foreach/endforeach 8 years ago
clanmills 573b2cfcd2 XMPsdk fixes. 2013 and 2016 build and (mostly) pass the test suite. 8 years ago
clanmills 95c5e92365 Support for Adobe XMPsdk 2013. Build xmpsdk using Adobe scripts. 8 years ago
Luis Díaz Más 50fad7327c Merge pull request #33 from a17r/localedirundefined
LOCALEDIR is used by EXIV2_ENABLE_BUILD_PO so make sure it is defined
8 years ago
Luis Diaz Mas 90e8ad8a72 Only set CMAKE_RUNTIME_OUTPUT_DIRECTORY once 8 years ago
Luis Diaz Mas 3a45a375d8 Simplify CMake code related with PNG and ZLIB (ZLib is required is PNG=ON) 8 years ago
Luis Diaz Mas c735bc5ae2 Relative paths to current directory 8 years ago
Luis Díaz Más 6a00d4b282 Move code from CMake_msvc.txt to config/compilerFlags.cmake 8 years ago
Luis Díaz Más a2bb29011d Move compiler flags configuration to a new file (config/compilerFlags.cmake).
Also define the PSAPI_VERSION only for the exiv2lib target (It's not needed for the rest of targets)
8 years ago
Luis Díaz Más 3736707015 Merge branch 'master' into localedirundefined 8 years ago
Andreas Sturmlechner a8e55c4d9e Drop LOCALEDIR, use CMAKE_INSTALL_LOCALEDIR directly
It is always properly defined by GNUInstallDirs. Otherwise it was
possible to install translations in / if EXIV2_ENABLE_NLS=OFF.

Thanks-to: Luis Díaz Más
8 years ago
Andreas Sturmlechner b81f493024 Add option to disable tools (currently exiv2 binary)
In a multiarch build, one may want to build binaries only for native arch.
8 years ago
Andreas Sturmlechner aa6374b202
Use more GNUInstallDirs
Conveniently fixes multiarch install dir issues.
8 years ago
Luis Diaz Mas c415e7f509 Fix CMake configuration when XMP is disabled. Check XMP variable instead LIBXMP 8 years ago
Robin Mills afba52e042 Remove include tags_int.hpp from include/exiv2/*video.hpp files 8 years ago
Luis Diaz Mas 35c3e31958 Fixes for MSVC case 8 years ago
Luis Diaz Mas 27cde135d9 Remove more useless include_directories 8 years ago
Luis Diaz Mas 93e603e031 Fix linking problems with pthreads 8 years ago
Luis Diaz Mas 9808c3bf2d Simplify CMake code to identify FreeBSD systems 8 years ago
Luis Diaz Mas f5f5826c03 Use target_sources to extend the list of sources in exceptional situations 8 years ago
Luis Diaz Mas 45807ca03d Do not include SSH and CURL include dirs globally. Do it properly for the exiv2lib target 8 years ago
Luis Diaz Mas c50702612d Simplify CMake code for handling SSH and CURL cases 8 years ago
Luis Díaz Más 57cd78b517 Put all the CMake related with the exiv app together 8 years ago
Luis Díaz Más ee61c24459 Remove inclusion of many useless include_directories 8 years ago
Luis Díaz Más 1c03767391 Move inclusion of private header from .hpp to .cpp (not needed in the .hpp) 8 years ago
Luis Díaz Más 73f53cc6f9 Move sample applications from src/CMakeLists.txt to samples/CMakeLists.txt 8 years ago
Robin Mills aefa3e3d34 MacOSX --with-adobe link issue. Work in progress. Code and documentation update. 8 years ago
Robin Mills 2a61392766 Merge pull request #27 from piponazo/master-CMakeObjectLibraryForXmp
New way to generate the XMP library (Using the CMake OBJECT LIBRARY concept)
8 years ago
Luis Diaz Mas b387d58507 Remove EXPAT_LIBRARIES from where it is not needed (already inherited from exiv2lib target) 8 years ago
Luis Diaz Mas 40d10639e2 Reuse XMP OBJECT library in the exiv2lib when EXIV2_ENABLE_LIBXMP=OFF 8 years ago
clanmills 935421c855 Refactoring autotools to support ADOBE_XMPSDK (Work in Progress) 8 years ago
Luis Diaz Mas 64bbe802e2 Install exv_conf.h properly 8 years ago
Luis Diaz Mas b4a2b822c2 Remove usage of global variable INSTALL_TARGET_STANDARD_ARGS. Specify install destinitions in each target 8 years ago
clanmills 2e816165ea Changes to autotools to support C++11 (work in progress) 8 years ago
Luis Díaz Más b6885c8028 Since we are requiring CMake 3.1 we can remove the usage of PRIVATE_VAR and use directly PRIVATE or PUBLIC 8 years ago
clanmills e2862ba764 #1300 and #1301 (583cfd6e and 3bbba3f8). These fixes were accidentally lost on 2017-08-07. 8 years ago
clanmills 1505b4c3aa #11 Integrating fix into master (accidentally lost on 2017-08-07 by rebase -force) 8 years ago
clanmills 122cd5737f Cosmetic modifications to Pull-21. Fix to ensure Cygwin uses #include <unistd.h> 8 years ago
Robin Mills 8592c10a3e Merge pull request #21 from piponazo/configFileFromCMake
New way to generate the include/exiv2/exv_conf.h file
8 years ago
Luis Díaz Más e474b0fbd3 localtime.c and getopt_win32.c added unconditionally for the exiv2 app 8 years ago
clanmills 011f2b5259 Fixing bug in test harness on Linux. 8 years ago
Luis Diaz Mas 22efdffd1d Use #ifdef instead of #if for EXV_HAVE_REGEX 8 years ago
Luis Diaz Mas 252d738b6c Include xmpsdk/include only in the needed target. Remove other uneeded usages of INCLUDE_DIRECTORIES and LINK_DIRECTORIES 8 years ago
Luis Diaz Mas 1d327fba21 Correct usage of HAVE_REGEX 8 years ago
Luis Diaz Mas 911832d70a Handle HAVE_TIMEGM variable in the new cmake file 8 years ago
Luis Diaz Mas 5c78c82f20 Handle ENABLE_WEBREADY variable in the new cmake file 8 years ago
Luis Diaz Mas 93835cd680 Handle correctly ENABLE_VIDEO the config.h.cmake file 8 years ago
Luis Diaz Mas bba3cbb7fd Remove unused definition EXV_HAVE_DECL_STRERROR_R 8 years ago
clanmills 24130dbbb2 Cast to avoid compiler warning with MSVC2005 8 years ago
clanmills 882c825f1a Fix https://github.com/Exiv2/exiv2/issues/16 8 years ago
kiekerjan b35903e4c8 Spelling error
Small error in camera name ICLA-68 instead of ILCA-68
8 years ago
Robin Mills b8bbacd196 Fix submitted. https://github.com/Exiv2/exiv2/issues/10
This is not a good fix because temporaryFile() is a bad idea and requires a lock to be thread safe.  However, the lock is in the sample code and not in the library.  I considered in v0.26 to rewrite this to use a temporary (MemIo) file and decided against that to save time.  My sin.  The correct fix usually requires less effort in the long run.
8 years ago
Robin Mills 82dbe6199d https://github.com/Exiv2/exiv2/issues/11 Closed. Coincidentally Raphael reported issues with Visual Studio 2015 Community Edition. Issue 11 and Raphael's issues should now be resolved. 8 years ago
clanmills 620ef04e96 https://github.com/Exiv2/exiv2/issues/9 Fix submitted. 8 years ago
clanmills d3c2b99385 #1297 Fix submitted. 8 years ago
clanmills ef64de084c Removing msvc2003 support 8 years ago
clanmills a9c9e8ff8e Remove svn_version.h 8 years ago
clanmills 290164d1b6 Work in progress: https://github.com/Exiv2/exiv2/issues/3
Tested on MacOS-X.  I'll test Linux/Cygwin/MSVC and close if good.
8 years ago
Bernd Kuhls 8af901ce05 cmake: always depend on threads, not only in the xmp case 8 years ago
Bernd Kuhls 3af0d1a6b2 cmake: fix gettext support
Building exiv2 with uclibc and gettext fails currently as detected
by the buildroot autobuilders:
http://autobuild.buildroot.net/results/def/defcdd3dd57b031c31bb16c0075f079a482bf52d/build-end.log
8 years ago
clanmills 2f8681e120 #1296 Fix submitted. 8 years ago
clanmills 9be72eecec #1294 Fix. 8 years ago
Robin Mills 559ace375b #1291 Reverting change in r4763 relating to windows.h as they break the Cygwin build. Retain changes in exiv2/exiv2.hpp and exv_msvc.h 8 years ago
Robin Mills f36cccefa2 #1291 include header simplification 8 years ago
Robin Mills 73572aa54d #1291 Fix submitted. Thank You to T Modes for reporting this issue. 8 years ago
Robin Mills 44da4724b3 #1175 Correction to r4756 Another three casts required to build with Visual Studio (size_t code ripple) 8 years ago
Robin Mills 67859f4f4e #1175 I'm going to accept the recommendation to change BasicIo::size() to return size_t. This passes the test suite. The only "ripple" outside of basicio is to iotest.cpp. This change enables several casts to be removed. 8 years ago
Robin Mills 7da3ad2e41 #1175. Thanks to LaserSoft for reporting this and providing a patch. 8 years ago
Robin Mills 77616c3204 #1289 Thanks to Asdiel (AlienSkin) for reporting this and providing a test file. Thanks to Ben for investigation and patch. 8 years ago
Robin Mills 307c9e266c #1286 Correction to r4752 8 years ago
Robin Mills 5a5f7dc1ac #1286 Fix submitted. 8 years ago
Robin Mills 73047ce568 #1279 Correction to r4748 which broke the CMake build. 8 years ago
Robin Mills 54408bac2f #1279 Move src/ini_int.hpp to include/exiv2/ini.hpp to reveal class Exiv2:INIReader in API 8 years ago
nkbj 788caad7de Updated Nikon Lens lookup table to v4.4.527.01 of Robert Rottmerhusen's fmountlens list. 8 years ago
nkbj e8c2c7ba01 Update various lists to match ExifTool version 10.47. 8 years ago
Robin Mills 0051366df4 #1279 Removing unused code. 8 years ago
Robin Mills 8b90afa94e #1279 Almost done! 8 years ago
Robin Mills be0945016b #1269 Thank You to Ben for reporting this and providing the patch. 8 years ago
Robin Mills 192a2a83cf #1279 Cleaned up doxygen warnings for doc and website. 8 years ago
Robin Mills 11993b3b55 #1271 Thanks to Ben for reporting this and providing the patch. 8 years ago
Robin Mills 809009f174 #1279 Better man page pagination for pdf. 8 years ago
Robin Mills 6d5c2c3256 Getting ready to release v0.26 8 years ago
Robin Mills 54cfc47346 class RWLock should not be in the Exiv2::Internal namespace 8 years ago
Robin Mills 2ebacb6b0b #1272 Use in-memory temporary files. 8 years ago
nkbj 40dbbf6373 Update various lists to match ExifTool version 10.44. 8 years ago
Robin Mills 012c544704 #1268 Fix submitted. Ben and Robin both discovered and fixed this independantly with the same fix! 8 years ago
Robin Mills 9f06ff2971 #1272 Submitting modified version of Ben's patch. 8 years ago
Robin Mills dd4faaf831 #1277 Fix submitted. Thank You to Ben for reporting this and providing a patch. 8 years ago
Robin Mills bc1f8f7e84 #1275 Fix issue with Exiv2::Key.familyName() for key.ifdId_ == mpfId 8 years ago
Robin Mills b668455721 #1275 Fix submitted. 8 years ago
nkbj 5c308319b7 Update Pentax camera list to match ExifTool version 10.41. 8 years ago
Robin Mills cc2594004b #1271 CMake support for FreeBSD. Requires -DEXIV2_ENABLE_NLS=OFF 9 years ago
Robin Mills 91bfda349d #1273 Correction to r4699 9 years ago
Robin Mills 720b94bb5e #1273 Fix for linking on FreeBSD 9 years ago
nkbj f3fe69ea18 Update Canon lens list to match ExifTool version 10.40. 9 years ago
nkbj 1cfdba23ff Update Nikon lens list to match ExifTool version 10.38. 9 years ago
draekko a82be7c98d #1266 Add path to zlib for cmake msvc to src/CMakeList.txt to fix debug buildtype build issues 9 years ago
Robin Mills fe6c71d0fa #1108 exiv2 -pR to dump type == tiffIfd 9 years ago
Robin Mills 49fbd1d761 #1108 Add support to dump MakerNote IFDs with exiv2 -pR 9 years ago
Robin Mills 461b431bc1 #1231 Thank You to Ayke for providing the patch. 9 years ago
nkbj 8ec062cc46 Updated Nikon Lens lookup table to v4.4.520.01 of Robert Rottmerhusen's fmountlens list. 9 years ago
nkbj eea1e67062 Update Minolta lens list to match ExifTool version 10.36. 9 years ago
Robin Mills 9ad811150d #1230 Removing incorrect 2-byte pad following JPEG ICC_PROFILE. 9 years ago
Robin Mills 1a0095ff4a #1252 Patch submitted. Thank You to Markus for the patch and test files. Test suite updated appropriately. 9 years ago
nkbj 597a1bf650 Update Nikon lens list to match ExifTool version 10.33. 9 years ago
Robin Mills 81265684f0 #1108 Fixed bugs in printStructure(kpsRecursive) handling of RATIONAL data. 9 years ago
Robin Mills 0c57b55035 #1230 Fix msvc build breaker when building using configure.bat -W (with WebReady) 9 years ago
Robin Mills ba785b2a02 #1230 Fix msvc build breaker when building using configure -x (without xmp) 9 years ago
Robin Mills dd0a22814c #1247 Another correction to r4655 concerning clang/apple. 9 years ago
Robin Mills 9853ca55bd #1247. Correction to r4655 to handle clang on plaforms other than MacOS-X. 9 years ago
nkbj db3af9720a Update various lists to match ExifTool version 10.31. 9 years ago
Robin Mills 6ea3b00b02 #1249 Fixes 9 years ago
Robin Mills 92659f24c8 #1247 Restrict clang pragma to __APPLE__ 9 years ago
Robin Mills 4abb560cf7 #1243. Fixing compilation warnings from clang in jp2image.cpp 9 years ago
Robin Mills dd39d165e2 #1247 Fix Linux/GCC compilation warning. Added Hanno's file to the test suite. 9 years ago
Robin Mills 764f079dff #1243 Fixing typo/build breaker. 9 years ago
Robin Mills 021bf5c237 #1247 Thank You Hanno for reporting this and providing a patch. 9 years ago
Robin Mills 6a1b7d262f #1243 Correction to msvc build breaker in r4648 9 years ago
Robin Mills e7229f4ea5 #855 Remove compiler signed/unsigned warning. 9 years ago
Robin Mills 18ecd0e890 #1243 Adding ICC Profile support to jp2image.cpp 9 years ago
Robin Mills 54ac67d9db #1080 Fix submitted. 9 years ago
Robin Mills 5664393767 #1246 Fix submitted. 9 years ago
Robin Mills b9f584fbbf #1430 Correcting MSVC build breaker in r4639 9 years ago
Robin Mills 022e18dc6f #1244 Fix crwimage.cpp to read into memory (to make CRW work with RemoteIo). 9 years ago
Robin Mills a057af1616 #1244. Removing experimental APIs introduced by r4637. I submitted those APIs just to retain the code somewhere. I have no plan to release such as API. 9 years ago
Robin Mills f5956d5db2 #1230 Fixes to read tiff with web-ready. Includes the BasicIo expiremental API readUnmarked() and markRead() which I will remove later. 9 years ago
Robin Mills 2f86b6bbc0 #1244 Fix submitted. 9 years ago
Robin Mills 774f96094c #1243 Work-in-progress on iccProfile related code. 9 years ago
Robin Mills 163f3ce7f1 #1243 Work-in-progress on writing ICC profiles. Fixed elusive issue in exiv2 -pS foo.jp2 9 years ago
Robin Mills 05f56e95af #1242 Issue warning when we encounter erroneous Exif\0\0 in the Exif UUID box. 9 years ago
Robin Mills 099dd70c59 #1230 Fix bigEndian issue in toAscii() 9 years ago
Robin Mills 67efb34461 #1243. Correction to r4627 9 years ago
Robin Mills 3d77c41e31 #1243 Work-in-progress. 9 years ago
Robin Mills 2e9138cf91 #1243 Work-in-progress. Still to add code to writeMetadata for icc profiles. 9 years ago
Robin Mills ebea8991e5 #1243 Work-in-progress. Added test/data/relax.jp2 which has an embedded ICC profile. 9 years ago
Robin Mills 442b0155d0 #1243 Added XMP and IPTC data to Reagan.jp2. Corrected printStructure() appropriately.
Will add jp2image::writeMetadata()/iccProfile tomorrow and update tests.
9 years ago
Robin Mills 699e1c744e #1243 Work in progress. Implemented jp2image::printStructure. Still to add iccProfile support to jp2image::writeMetadata() 9 years ago
Robin Mills ed63a113e1 #1242 Work in progress. Fixing src/jp2image.cpp. Added test file. Test suite to be updated to use Reagan.jp2 (and hopefully additional test files) 9 years ago
Robin Mills 957f71f6a6 #1230 Fix MinGW stdin-test breaker 9 years ago
Robin Mills 5b38d4528a #1108 Added code to dump Exif, IPTC and iTXt/zTXt comment/description blocks for PNG files. 9 years ago
Robin Mills 5282bc2120 #1230 More changes to pacify MinGW (the nightmare environment). 9 years ago
Robin Mills 4c2f943bd1 #1230 exiv2.cpp #include <string> breaks the build on MinGW/32. 9 years ago
Robin Mills bea89ba81a #1230. Rollback 4604. I knew webp-test was sometimes failing. Fixed. Always use runTest exiv2 to be sure of executing the hot build of exiv2(.exe). 9 years ago
Robin Mills ceaa92704f #1230 Adding --verbose to print action to dump more information (to debug something on the buildserver) 9 years ago
Robin Mills 2d5dc284e2 #1230 CMake Maintenance. Adding EXIV2_HDR to exiv2/headers and LIBEXIV2_PRIVATE_HDR to libexiv2/headers. 9 years ago
Robin Mills 0abf56f71b #1236 CMake build on MinGW. 9 years ago
Robin Mills b1a9d4493f #1230 Eliminate linux compiler warning. 9 years ago
Robin Mills c10bc003a7 #1023 Fix getDataByRange CURLOPT_SSL_VERIFYHOST. Fix http-test.sh (and associated test/data/http-test.out). 9 years ago
nkbj 133174a6b1 Update various lists to match ExifTool version 10.28. 9 years ago
Robin Mills 5b21deda93 #1234 Corrections to r4577 9 years ago
Robin Mills 3811ceb930 #1234 Corrections to r4577 based on testing on PPC. 9 years ago
Robin Mills cf284286d8 #1234 Fix submitted. Passes test suite littleEndian. To be tested on Mac Powerbook PPC bigEndian. 9 years ago
Robin Mills a1877c04e2 #1230 and #1199 Correction to r4575 9 years ago
Robin Mills 681acc7901 #1199 and #1230 webpImage::printStructure(). Reporting Offset == 0 on Tiger (32bit). 9 years ago
Robin Mills b0ff549cb7 #1230 Correction to r4565 to fix msvc build breaker. 9 years ago
Robin Mills 3cfecd4918 #1230 Extended test/stdin-test.sh to pipe .exv and .icc file structures 9 years ago
Robin Mills 5f1d52e497 #1230 Added stdin-test and fixing issue identified by the test. 9 years ago
nkbj 1f7f82c7d9 Add support for the Olympus M.Zuiko Digital ED 12-100mm F4.0 IS Pro lens. 9 years ago
nkbj 52f3e100c2 Update various lists to match ExifTool version 10.27. 9 years ago
Robin Mills e46907cb1b Man page review for v0.26 9 years ago
Robin Mills e808cdff3e #1109 MinGW/32. Correction to r4543 for systems which are neither MINGW nor MSVC 9 years ago
Robin Mills 66cfbe3214 #1109 MinGW/32. Correction to r4543 for systems which are neither MINGW nor MSVC 9 years ago
Robin Mills c78a76c45c #1109 MinGW/32. Correction to r4538 for all versions of msvc. 9 years ago
Robin Mills b8021f4517 #1074 Correction to r4540. Rollback changes to actions.cpp which should not have been submitted. Resubmitted test/data/icc-test.out 9 years ago
Robin Mills 88b3f77796 #1074 Fix bug in TiffImage printStructure() for large icc profiles. 9 years ago
Robin Mills f4feff0864 #1229. Fix submitted (and appropriate update to test harness). Fix an error in jpgimage::doWriteMetadata for large (>64k) ICC profiles. 9 years ago
Robin Mills 52f0bd2ea1 #1109 Work in Progress on MinGW/32. Put stdout into binary mode for options -pC -pX, -eABC-, -eABC- 9 years ago
Robin Mills 793bd6ca63 #1109 MinGW/32 daily build. Fix GCC warning on MinGW/32 gcc 4.9.2 9 years ago
nkbj 56faaba0b1 Add support for two new Olympus lenses. 9 years ago
Robin Mills 3c675f8e53 Build trigger. 9 years ago
nkbj d733056375 Fix issue #1215: Exif.CanonSi.SubjectDistance unit. 9 years ago
nkbj 7915183af7 Fix issue #1217: Missing values for Exif.CanonCs.ISOSpeed tag 0x0010. 9 years ago
nkbj f260b163ad Update Canon and Nikon lens lists to match ExifTool version 10.26. 9 years ago
Robin Mills d321dad695 #1108 Fixing issue with pngimage::printStructure() and the "Software" string in test/data/imagemagick.png 9 years ago
Robin Mills b46cac7790 #1126 Fixes submitted for msvc2003 9 years ago
Robin Mills 1bea0c6aeb #1108 Better string formatting (and associated test/data changes). Tweaks to code layout for r4497. 9 years ago
Robin Mills 458580373a #1108 Enhanced pngimage::printStructure() to display checksum 9 years ago
Robin Mills f2ec4ce36a #1074 Work in progress. fixed pngimage.cpp doWriteMetadata(). 9 years ago
Robin Mills 7bd874049e #1074 Work in progress. -eC -pC -eC- work for JPG/PNG/TIFF/WEBP. pngimage::doWriteMetadata() does not update iCCP chunk. 9 years ago
Robin Mills 5edc759cc9 #1074 For discussion see: http://dev.exiv2.org/issues/1074#note-23 9 years ago
Robin Mills a8c51889b8 #1074. Fix bug in jpgimage.cpp/readMetadata() concerning ICC profile 9 years ago
Robin Mills 3d57bbc6e6 #1074 Work in progress. ICC Jpeg/Png/Tiff exiv2 -eC foo.xxx writes good foo.icc profiles. icc-test.sh is broken and to be investigated. 9 years ago
Robin Mills 9d06081616 #1225 Correction to r4480 to respect the endianness of file and platform 9 years ago
nkbj 44e51a9069 Whitespace fix in r4480. 9 years ago
Robin Mills c7bca0ce00 #1224 crw-test.sh refactored to use test/functions.source, no long reference sample program crwparse and avoid crash in crwimage.cpp 9 years ago
Robin Mills 9ff2224fd7 #1074. Rollback r4479 which has inflicted a lot harm on the test harness. 9 years ago
Robin Mills 14f64998ac #1225 Fix 9 years ago
Robin Mills 3aaebf50f7 #1074 Added ICC support to tiffimage.writeMetadata(). pngimage.readMetadata() is not complete. 9 years ago
Robin Mills 925fede113 #1223 Correction to r4477 to fix Cygwin build breaker. #include <cstdint> demands C++11 support on GCC 4.9.3 on the buildserver. Code compiles without cstdint and iomanip 9 years ago
Robin Mills 2de6968227 #1223 Thank you to Alexey for reporting this and providing the patch. 9 years ago
Robin Mills f44f706478 MinGW changes following discussion about building with Qt5.6/MinGW 4.9.2 http://dev.exiv2.org/boards/3/topics/2705 9 years ago
Robin Mills d7463fd114 #1074 and #1057 Fixing build breakers on Cygwin and msvc MinGW to be further investigaged. add checkSum to test functions 9 years ago
Robin Mills 5cf87e19dd #1074 Correction to r4466 to fix MinGW build breaker on include <sys/select.h> 9 years ago
Robin Mills b5bc66b36a #1057 Added support for -iXX- 9 years ago
Robin Mills d801aabd58 #1057. Simplification of r4466 9 years ago
Robin Mills 70407cc8ad #1057 Fixed issues with stdin on Windows which were documented in http://dev.exiv2.org/issues/1057#note-8 9 years ago
Robin Mills 21e7622f0b #1057 Fixed src\exiv2app.hpp formatting. Moved reading stdin from ctor to getStdin(). WIP: unsolved Windows pipe issues. 9 years ago
Robin Mills 14f7f18222 #1057 Correction to r4633 to fix Windows build-breakers (Cygwin/MinGW and msvc) 9 years ago
Robin Mills 984189ebde #1057 Added support for -iC- to read ICC profile from stdin to an image. 9 years ago
Robin Mills 57ee93886a #2120 Fix submitted and appropriate changes to test/icc-test.sh (rewritting ICC in JPG was corrupting file) 9 years ago
Robin Mills 87e9c996a6 #1220 and #1074 Work in progress. Improved -pS for JPEG. #1220 is due to a bug in writing the ICC profile in jpgimage.cpp/doWriteMetadata() 9 years ago
draekko bf56bbf7fa #825 added printPressure for panasonic makernotes to display hPa values or infinite when value is 65535 for Exif field 0x0086 9 years ago
Robin Mills 3706233c8d #1074 Correction to r4457 to fix msvc build-breaker. 9 years ago
Robin Mills b7c90140c7 #1074 ICC support in jpgimage.cpp. Add test/icc-test.sh 9 years ago
Robin Mills 9026954816 #1074 Work in progress for ICC/jpg - changes to readMetadata() and printStructure() 9 years ago
Robin Mills a6ba04d422 #994 Update svn_version.h using svn info 'Last Changed Rev' instead of 'Changed'. This enables exiv2 -vVg svn to identify build branch or trunk. 9 years ago
Robin Mills 97e7905a8b #1060 Thank you to Thomas B for working on this and providing the patch. 9 years ago
Robin Mills 5f9807cbef #1216. Rollback r4448/6/2/1 r4439/38 to restabilize test suite on trunk. r4449 is copy of r4448 to branches/develop 9 years ago
Robin Mills 8ad06d6f17 #1199 Fixing build-breaker when -DDEBUG is used. 9 years ago
sridharb d78dec24e3 Moved ExifDatum::ignore from exif.hpp to the exif.cpp.
This frees up exif.hpp from needing to include tags_int.hpp.

The downside is that this function is no longer inline.
9 years ago
sridharb d05634a2e3 Needs to be in the solution. 9 years ago
Robin Mills ae4e63b27a #1214 Patch submitted r4440. Thank You to Ondřej for reporting this and providing the patch. 9 years ago
sridharb 48294e66c0 Summary: Restored jbeu's formatting 9 years ago
sridharb 8a8ec67136 This is mainly a fix for #1206, but also interprets missing Canon Exif
Tags in exiv2 with the help of Phil Harvey's exiftool (see
http://www.sno.phy.queensu.ca/~phil/exiftool/TagNames/Canon.html).

Even with these changes (toward #1204 and #1205), exiv2 lags behind
exiftool in some areas of interpretation of Canon tags. Ideally, a
catch-up effort to bring the code in source: canonmn.cpp in line with
lib/Image/ExifTool/Canon.pm. v10.25 of exiftool was used as reference
for this change.

#1206 seeks to address the fact that when Canon does not have data for
certain tags, they use specific default values in those fields. These
default values need to be ignored and not displayed. This change
brings this feature to exiv2, something that already exiftool does.

With regards to implementation, the struct TagInfo in source: tags.hpp
is extended with four new fields.

The first field is a bool that if set to true (default false), denotes
that this field has ignorable default values.

The second field is the default value that needs to be ignored. This
can be of four types (String, Long, Float, Rational). These four types
were chosen as they had conversion functions in the Value class.

The third field is the comparison type (default equal_to). There are
six comparison types possible (equal_to, not_equal_to, less,
less_equal, greater, greater_equal). This is the comparison applied to
the value stored in the tag's field and the default value specified
above. For e.g. if the value in the tag Exif.CanonCs.RecordMode is -1,
then it needs to be ignored.

The fourth field is the data type (default Long). This could have been
guessed from the type of the second field, but that would necessitate
making this structure into a template calling for changes in multitude
of files.

Usage: In source: canonmn.cpp, several exif tags now have ignorable
default properties. I will list a few examples.

1. Exif.CanonCs.FocusMode:        TagInfo(0x0007, "FocusMode", N_("Focus Mode"), N_("Focus mode setting"), canonCsId, makerTags, signedShort, 1, EXV_PRINT_TAG(canonCsFocusMode)),

There are no changes - i.e. this is an example of how the TagInfo
structure was being populated.

2. Exif.CanonCs.RecordMode:        TagInfo(0x0009, "RecordMode", N_("Record Mode"), N_("Record mode setting"), canonCsId, makerTags, signedShort, 1, EXV_PRINT_TAG(canonCsRecordMode), true, s_1_),

Take a look at the two new arguments. The first one (true) specifies
that there is a default value that can be ignored. The second one s_1_
specifies the value (-1, in this case) to be ignored.

	const UShortValue CanonMakerNote::s_1_(65535, unsignedShort); // Till bug is resolved

Note s_1_ is temporarily having the value 65535 till #1203 that causes
signedShorts to be interpreted as unsignedShorts is resolved.


3. Exif.CanonSi.TargetAperture:         TagInfo(0x0004, "TargetAperture", N_("Target Aperture"), N_("Target Aperture"), canonSiId, makerTags, unsignedShort, 1, printSi0x0015, true, us0_, TagInfo::less_equal),

Note the third argument TagInfo::less_equal. This combined with the
second argument us0_ (the number 0) signifies that any values in this
tag that are less than or equal (<=) to 0 should be ignored.

4. 		TagInfo(0x0028, "ImageUniqueID", N_("Image Unique ID"), N_("Image Unique ID"), canonId, makerTags, asciiString, -1, printValue, true, s0x16_, TagInfo::equal_to, TagInfo::String),

The previous examples have all been of Long type. This shows a case
where the default value is a string.

	const AsciiValue CanonMakerNote::s0x16_("0000000000000000");

Once these tag values have been defined, the actual mechanics of
ignoring these default values happens in Image::exifData().

Before the exifData is returned, we loop through the data, ask the
data whether it needs to be ignored (which in turn checks its
underlying tagInfo and compares it with the default value, if
specified) and if so, deletes that element.

A compile-time switch called EXV_DONT_IGNORE_UNDEFINED which when set
to a non-zero value will cause the behavior to revert back to the
original where all values are reported irregardless of the fact that
they need to be ignored.
9 years ago
Robin Mills fe6a016957 #922 Correction to r4434. Fixing another msvc build breaker. 9 years ago
Robin Mills 8377456786 #922 Correction to r4344 to handle msvc build breaker. 9 years ago
Robin Mills 13be017d12 #922 exiv2 -dI deletes all IPTC chunks in a JPEG. 9 years ago
tbeu 239625e66e Fix typos (comments only) 9 years ago
tbeu 1ba4e46855 Fix some spelling 9 years ago
Robin Mills 705bc14795 #1057 man page update for tgt- (stdin/stdout). 9 years ago
Robin Mills 8b9265b80d #1064 Fix -iX to merge (not replace) metadata from source to destination. 9 years ago
Robin Mills fa24a8a614 #1199 Fixing webp-test.sh. Use -iXX to inject XMP into file without XMP->Exif/IPTC conversion 9 years ago
Robin Mills 027b3917ec #1199 Spit'n'polish on the loops in printStructure(), metadataRead() and doWriteMetadata(). Added tests with even byte count for ICCP and XMP Chunks. 9 years ago
draekko ed7b20a20e #1199 fixed typo from cut/paste in previous commit causing exif flag not to be set for VP8X chunk. 9 years ago
draekko c858b7d44e #1199 minor code update, updated comments, added constants for headers, bit definitions, and misc. 9 years ago
Robin Mills 9a061d895e #1199 Fix WebP printStructure(), readMetadata() and doWriteMetadata() to handle payload padding byte. Extended webp-test to cover -iX, -ix and -ie 9 years ago
draekko 600eb0d3dd #1199 Fixed issue with -ix, wasnt padding odd sized chunks for exif/xmp. 9 years ago
Robin Mills d369aa67d5 #1199 Test suite changes and associate fixes to the code. 9 years ago
Robin Mills b3c6de6274 #1210 C++11/regex build-breaker in src/version.cpp. Thank You to Zulan for reporting this and providing a patch. 9 years ago
Robin Mills 0462d2bf0f #1199. Adding tests for -iC. Fixed bug in -pC. Test code added for -ix and -ie, however I don't think the options are working correctly. 9 years ago
draekko b318674f75 #1199 fixed -de -dc options, add -iC option to insert icc profiles 9 years ago
tbeu d02560da36 Remove trailing blank from translation string 9 years ago
Robin Mills 043c039d25 #1199 Fixing exiv2 -dC image-path to delete ICC profile. 9 years ago
tbeu 918059aa24 Fix initialization of TiffBinaryElement members in ctor
As reported by Cppcheck
9 years ago
tbeu 23259f799b Avoid GCC warning -Wswitch 9 years ago
draekko dba4e7fb42 #1199 removed exif header padding on metadata writes. 9 years ago
draekko 6f7b3ba8f7 #1199 removed convenience converstion for iptc to xmp, apps should handle it directly since webp doesnt support iptc. 9 years ago
draekko ce14557d07 #1199 updated date in exiv2.1 9 years ago
draekko 65f5ec9a70 #1199 Updated exiv2.1 to add WEBP to format list. 9 years ago
tbeu 136d517929 Update Canon FileInfo RawJpgSize to match ExifTool 9 years ago
tbeu e5f142fab6 Update Canon CS Image stabilization to match ExifTool 9 years ago
tbeu ffcb3f5002 Update Canon CS Exposure mode to match ExifTool 9 years ago
tbeu e26650f409 Update Canon CS AF point to match ExifTool 9 years ago
tbeu d888490a35 Update Canon CS Meeterimg mode to match ExifTool 9 years ago
tbeu bde4fa8aa5 Update Canon CS Easy mode to match ExifTool 9 years ago
tbeu e2bd73b1da Update Canon CS Image size to match ExifTool 9 years ago
tbeu 59d4bc6e02 Update Canon CS Focus mode to match ExifTool 9 years ago
tbeu cbe1eafd28 Update Canon CS Drive mode to match ExifTool 9 years ago
tbeu a564e084be Update Canon model ID to match ExifTool 9 years ago
tbeu 26a94799f1 Fix encoding 9 years ago
tbeu 1ec86a8b79 refs #1199: Fix iclude 9 years ago
tbeu 012211e251 Fix and update Sony camera settings drive mode to match ExifTool 9 years ago
tbeu 2730747bfa Update Sony camera settings image style to match ExifTool 9 years ago
tbeu 466802b877 Update Sony/Minolta teleconverter model to match ExifTool 9 years ago
tbeu dd68a7ff62 Update Sony model ID to match ExifTool 9 years ago
tbeu 0c83629519 refs #1208: Update Sony file format list to match ExifTool
Patch provided by Mihail Zenkov
9 years ago
draekko 9085b08fe1 #1199 fixed handling deleting data, and adding iptc when injecting 9 years ago
Robin Mills ea08a415f2 #1199. Fixing msvc/64 build breakers (more size/long/uintXX_t conflicts). 9 years ago
Robin Mills d8457b2b3f #1102. Correction to r4365. canonmn.cpp#1238 should not have been changed. Thanks to Sridhar for bringing this to my attention. 9 years ago
nkbj c74aaa8d29 Updated Nikon Lens lookup table to v4.4.516.01 of Robert Rottmerhusen's fmountlens list. 9 years ago
Robin Mills 104eb6b7fe #1199 Fixing MSVC build breaker involving long/uint64_t conflict. Minor changes to behaviour of Internal::binaryToHex() 9 years ago
draekko fe4f6f07f1 #1199 update to binaryToHex, should remove compile warnings and fix extra space padding. 9 years ago
Robin Mills b09c2049a6 #1199 Fixing build breaker introduced by r4369 9 years ago
draekko bcaa22ae6f #1199 removed warnings in stringToHex, enabled iptc support for WebPImage. 9 years ago
draekko 71fd0ae96e #1199 (as was discussed) moved WebPImage::debugPrintHex to Internal::binaryToHex 9 years ago
draekko 85cc2f745d #1199 Fixed crash with iptc by disabling it, updated decodeChunk to do better header checks, added hexdump function. 9 years ago
Robin Mills 5b3d0cd10c #1199 Fixed exiv2 -pR/-pC/-pX Stonehenge2.webp to report exif/ICC/XMP 9 years ago
Robin Mills 1935eddeac #1202 Adding "Manual" Exif.CanonCs.FocusContinuous 9 years ago
asp 20c5cf6b29 #1201 do not map Iptc.Application2.RecordVersion to Xmp.xmp.Rating 9 years ago
Robin Mills bcd455be7a #1199 Patch from Ben. http://dev.exiv2.org/issues/1199#note-37 9 years ago
Robin Mills 512cd43e0b #1199 WebPImage::printStructure() refactored to match implentation style of other image handlers. 9 years ago
Robin Mills 541dfe8fdf #1199 Thank you to Ben for the patch. This corrects various matters and adds a first stab at WebPImage::printStructure() 9 years ago
Robin Mills e5bc22c0a8 #1200 and #1034. Adding support for ~/.exiv2 for Nikon Cameras. 9 years ago
nkbj ecb9d84305 Issue #1197: Add support for Sigma 150-500mm on Canon with 1.4x TC. 9 years ago
Robin Mills b3f107bd8c #1199 WebP Support (work in progress). Thank You to Ben for the patch. Thanks to Gilles for encouragement. 9 years ago
nkbj 7135ccb35a Update Nikon lens list to match ExifTool version 10.25. 9 years ago
nkbj 8c0dfbeca8 Update various lists to match ExifTool version 10.24. 9 years ago
Robin Mills 8afd3f43aa #1198. Fixed issue with http I/O failing a test file. 9 years ago
Robin Mills 50def5c02d #1189 Code change provided by private email from Taras. Thank You Taras. 9 years ago
nkbj 41d25bca56 Update various lists to match ExifTool version 10.21. 9 years ago
Robin Mills 339bf9c0fd fixing mingw buildbreakers 9 years ago
asp 1a8f8f6259 #1190 nested CRS properties from Darktable & Exiftool 9 years ago
asp 8acee2a341 #1190 additional CRS properties from Darktable & Exiftool 9 years ago
Robin Mills 8d59b04042 #1041 CMake/MinGW fix. I have never persuaded CMake/MinGW to work. 9 years ago
nkbj 6011899bbf Update various lists to match ExifTool version 10.20. 9 years ago
asp c8a400e1c5 #1190 Add crss XMP namespace and properties 9 years ago
asp a5bd6d84ce #1193 XMP Specification November 2014 updates 9 years ago
Robin Mills 81cd21a375 #1034 and #867. Adding support for "Camera Overflow File" for olympus cameras. 9 years ago
Robin Mills 02c4f8ec37 #889. Fix submitted. Thanks to Alyssa for reporting this. Apologies for taking so long to investigate. 9 years ago
Robin Mills 8b62b8148b #1192. Correction to src/CMakeLists.txt. The CMake Language is a horrible mess. It's not even a language. 9 years ago
Robin Mills 7f19cbbc07 #1192 Thank You, Matthieu for the patch. 9 years ago
Robin Mills 16563d6647 #1187 and #1041. Fixing src/Makefile to install include/exiv2/rwlock.hpp (detected by contrib/buildserver/test_daily.sh) 9 years ago
Robin Mills a13a500455 #1187 and #1041. Fixing CMake to install include/exiv2/rwlock.hpp (detected by contrib/buildserver/test_daily.sh) 9 years ago
Robin Mills 0cc97c7f23 #1189 Use in-memory file to dump Nikon MakerNote tag 0x927c 9 years ago
Robin Mills 4f135ed1d3 #1034 (and #1187). Fixed buildbreaker in MinGW/configure build. 9 years ago
Robin Mills 7e285c650d More corrections to r4316 for msvc build breakers 9 years ago
Robin Mills cbdba2bb12 More corrections to r4316 for msvc build breakers 9 years ago
Robin Mills 66fd2d3272 Correction to r4316 to deal with msvc build breaker. 9 years ago
Robin Mills c211816b2c #1189 See issue report for discussion. 9 years ago
Robin Mills 7adaf71d44 #1187 and #1041. Fixing CMake/Linux build breakers concerning libpthread 9 years ago
nkbj e155be6372 Update Canon lens list to match ExifTool version 10.19. 9 years ago
Robin Mills b15a401569 #1187 Thank You to Taras for the patch. 9 years ago
nkbj 41f14f2b7b Fix typo as reported in ExifTool version 10.18. 9 years ago
nkbj 26661a8702 Update lens lists to match ExifTool version 10.17. 9 years ago
Robin Mills 794dedeac5 #1034 Sony and Minolta support for ~/.exiv2 9 years ago
Robin Mills 3b0f79a73a #1034 Pentax support for ~/.exiv2 9 years ago
Robin Mills 46d3e53323 #1034. Nikon support for ~/.exiv2 9 years ago
nkbj ab398bcb67 Updated Nikon Lens lookup table to v4.4.512.01 of Robert Rottmerhusen's fmountlens list. 9 years ago
nkbj 38edf09899 Update lens lists to match ExifTool version 10.16. 9 years ago
Robin Mills 973dbc9847 Fixing clang warning in tiffvisitor.cpp 9 years ago
Robin Mills bc1abeac26 #1108 Discovered another embedded tiff tag SubIFDs 9 years ago
Robin Mills 664af57e10 #1034 Added samples/toexv This is a first step to write exif metadata to memory to send to a web service. 9 years ago
Robin Mills 3ecfd5220e #1180. Reverting r4291 as it is not required. DefaultScale was adding in r1546 by Andreas in 2008. 9 years ago
Robin Mills 3e6d0cf60d #1180. Thanks to D Anderson for reporting this an providing the patch. 9 years ago
Robin Mills 3374201fdd #1180. Corrections to r4289. 9 years ago
Robin Mills aeb3551947 #1180. Correction to r4288. Adding additional CDNG tags and tag descriptions. Thanks to Alan for bringing this to my attention. 9 years ago
Robin Mills dce07e3210 #1180 Thank You to D Anderson for reporting this. Thank You to Alan for his analysis. 9 years ago
Robin Mills 06b072e39b #1108. Correction to r4285. Code simplication. 9 years ago
Robin Mills 58c5ffdedc #1108. Fixed issue with printing short strings which are stored in the directory offset field. 9 years ago
Robin Mills 00984afaa2 #1178 Thanks to Terence for reporting this an providing confidential test data 9 years ago
Robin Mills c8674eb102 #1179. Thank You to Pascal for reporting this, providing the patch and test data. 9 years ago
nkbj c515386cb0 Update various lists to match ExifTool version 10.14. 9 years ago
Robin Mills 2ff64957aa #1175. Thank You, LaserSoft, for reporting this and providing the patch. 9 years ago
Robin Mills a04abc98c2 Build Trigger 9 years ago
Robin Mills 62e2fc086b #1034 Added msvc2005/ini-test 9 years ago
nkbj 9f7cf319ed Add new lens for Olympus: Sigma 30mm F1.4 DC DN | C. 9 years ago
nkbj 68aa236f58 Add another couple of lenses for Olympus. 9 years ago
Robin Mills b8de981617 Build Trigger 9 years ago
Robin Mills 1977217534 #1034. Corrections to r4249 to fix erroneous test suite messages. 9 years ago
Robin Mills 8c92f5f094 #1034. Corrections to r4249 to fix build-breakers 9 years ago
nkbj 5adde8af68 Add new lens for Olympus: Lumix G Vario 12-60mm F3.5-5.6 Asph. Power OIS. 9 years ago
Robin Mills 4529537598 #1034. Corrections to r4249 to fix build-breakers 9 years ago
Robin Mills 1e33add5e4 #1034. Corrections to r4249 to fix build-breakers 9 years ago
Robin Mills dbed6f857c #1034 Added exiv2 config file support for lens recognition. 9 years ago
Robin Mills 4a8e34bc44 Revert build trigger 9 years ago
Robin Mills 27fa76b269 Build Trigger 9 years ago
Robin Mills 2261c18724 Revert build trigger. 9 years ago
Robin Mills d37f692374 Build Trigger 9 years ago
Robin Mills 06eabfdd88 #1074. jpgimage.cpp ICC support (Work in Progress) 9 years ago
danielkaneider 26e73a41bc fix msvc compilation (rv 4229) 9 years ago
Robin Mills 60b0b842cf #1170. Thank you, Marcus for reporting this and providing the test data. 9 years ago
Robin Mills aa7e277dbc #1169. Fixing issues concerning msvc2005/EXV_UNICODE_PATH 9 years ago
Robin Mills 177527402d #1074 Fixed 'overwrite?' prompt in command: exiv2 -eC image 9 years ago
Robin Mills e7b804f3f5 #1108 Refactored static indent(depth) from png/tiff/jpeg to Internal::indent(depth) 9 years ago
Robin Mills 09c734fbcd #1108. Refactored the IPTC printStructure code from png/jpeg/tiff into iptc.cpp 9 years ago
Robin Mills 8369592af1 #1074. Thanks to Max for reporting this and providing the test file. 9 years ago
Robin Mills 6e19d043ef #1108 Added IPTC parser for tiff. 9 years ago
nkbj c26dd2091f Update Canon camera model list to match ExifTool version 10.13. 9 years ago
nkbj 8494fd61f3 Agreed with Phil Harvey (author of ExifTool) upon a nomenclature for Sigma lens families. 9 years ago
nkbj f95f1d9dee White-space update. 9 years ago
Robin Mills bdf8d3ad5b #1108 Added photoshop/iptc parser to png/jpeg parser. 9 years ago
nkbj 36b42eabeb More consistency fixes. 9 years ago
nkbj e948ccc449 Consistency fix. 9 years ago
nkbj 0cf3dc9e09 Add new lens: Sigma 50-100mm F1.8 DC HSM Art for Canon. 9 years ago
Robin Mills 8e7eaa65a7 #1057, #1064, #922, #1148. Work in progress. This is a composite patch of several matters in development. None are totally complete at this time. 9 years ago
Robin Mills 1f9de360a7 Fixed formatting issue in -pS/-pR output. 9 years ago
nkbj ddccd1eafc Lens numbering fix. 9 years ago
nkbj 328ebcf462 Fix a couple of lens names to be consistent across lens mounts. 9 years ago
nkbj e2f05aa19e Update various lists to match ExifTool version 10.12. 9 years ago
nkbj 0bae74bc91 Updated Nikon Lens lookup table to v4.4.510.01 of Robert Rottmerhusen's fmountlens list. 9 years ago
Robin Mills cc0ec825ec #1166. Thank You, Phillippe for reporting this and providing a patch and test data. 9 years ago
Robin Mills 3daa8df380 #1167. Thank You, Philippe for the patch. No test file yet. 9 years ago
Robin Mills 29ad206838 #1164. Fix submitted. Thank you Nicolas and Gilles for reporting this. More comments in the issue report. 9 years ago
Robin Mills 44e1cd5ba8 #1165. Thanks to Eric for reporting this and providing the patch. 9 years ago
nkbj c04b185e54 Fix lens name in latest commit. 9 years ago
nkbj 9de71a9075 Add new lens: Leica DG Vario Elmar 100-400mm F4.0-6.3 Asph. 9 years ago
nkbj 41e27fa519 Update various lists to match ExifTool version 10.11. 9 years ago
Robin Mills a769e1a0fc #1159. Fixing MSVC build-breaker in r4197 and r4179.
Two different issues:
r4197 include <windef.h> does not compile with MSVC 2005 and changed to <windows.h>
r4179 has a short/long compare mismatch
MSVC is a severe build environment and treats warnings as errors.  MSVC is not fragile, it's robust.
10 years ago
Robin Mills 1956b236cd #1159. Thank You, Jakub for discovering this issue and for providing a patch. 10 years ago
nkbj 1ef6ff94b0 Update various lists to match ExifTool version 10.10. 10 years ago
Robin Mills e99a3687f3 #1155. Fixes submitted. Thank You, Hannu for reporting this and providing test data. 10 years ago
Robin Mills e02d142e4d #1155. Fix summitted. 10 years ago
Robin Mills 5e968dc6f7 #1081 Added Cr2Image::printStructure() 10 years ago
Robin Mills 28083d6667 #1153 Fixes for "Sony E PZ 16-50mm F3.5-5.6 OSS" 10 years ago
Robin Mills 32af620713 #1153 Fix submitted. Thank You, Tim for reporting this and providing test data. 10 years ago
Robin Mills 04f871cc4c #1152 Fix submitted. Also added new static function FileIo::temporaryPath() which I require for tgt - code and fixed typo in tiffvisitor.cpp 10 years ago
Robin Mills b703575389 #1149. Added fff.h (from plir.com) and code strengthening. 10 years ago
Robin Mills a57a9b2fa4 #1149. Modify -pR to find and report the tiff in an APP1/FLIR segment. 10 years ago
Robin Mills ed5bbe6e5d #1150. Fixed build breaker on elderly Macs (10.6 and earlier). 10 years ago
Robin Mills a9256db32b #1148 Correction to r4175 to fix test suite breaker. We can only use the -pX short cut when option -eXx is used. 10 years ago
Robin Mills a489e1cea7 #1148 Fixed Todo: Should use XMP packet if there are no XMP modification commands 10 years ago
Robin Mills 178d0f5fc6 #1148. Fixed formatting error in jpgimage/-pS code. 10 years ago
Robin Mills 947ed69de8 #1108 and #1074 Correction to r4168 to fix MSVC build breaker. 10 years ago
Robin Mills d81e552cb7 #1074 -pC now works on tiff files. Added test convenience targets to Makefile 10 years ago
Robin Mills 4617dc3728 #1108 and #1074 -pC and -pR (print Color Profile, print Recursively) now work on png. 10 years ago
nkbj e083009f1a Add new lens: Olympus M.Zuiko Digital ED 300mm F4.0 IS Pro. 10 years ago
Robin Mills f49dd0b95f #1108 and #1074 Correction to r4165 to fix MSVC build breaker and to document: exiv2 -eC (extract ICC profile). 10 years ago
Robin Mills fd5e983746 r1108 Recursively dump an image (exiv2 -pR file...) 10 years ago
Robin Mills b7607c34db #1047 Rollback r4163 and try again. r4163 broke MSVC build. 10 years ago
Robin Mills d3ff1388c1 #1147 Fixed travis build-breaker. 10 years ago
Robin Mills 1a6419881b #1147. Fixed a typo. 10 years ago
Robin Mills a008623362 #1147. Correction for Cygwin/MinGW build-breaker in r4159. Don't compile the uid/euid/gid code on any windows build. 10 years ago
Robin Mills b1b42d8e15 #1147. Correction to r4159 for linux build breaker (linux doesn't have include uuid/uuid.h) 10 years ago
Robin Mills 87129d61f6 #1147 Report uid, euid and gid in exiv2 --verbose --version 10 years ago
danielkaneider 4c236fce17 #1041. cmakeBuild with static compilation 10 years ago
Robin Mills 5a36dea37d #1061. Added exiv2samples.1 and associate autotools and CMake installer support. Work in progress. 10 years ago
Robin Mills 0798b95b50 #1143. Partial solution. I have suppressed the warning and allocated memory for Exif.Sony1.Preview. So now the size is revealed to the user. However: for reasons documented in the code, I am unable to locate the image in the source file and copy it into the metadata. 10 years ago
Robin Mills 77ae982cd4 #1145. Thank You, Michael for providing the test files. I will extract the metadata from your files and add it to the test suite after you have tested this code. 10 years ago
Robin Mills 46d723b788 #1144 Fix submitted. Thank You, Simon for the test files on dropbox. I have extracted the metadata and added it to the test suite. 10 years ago
Robin Mills 2f6188a713 #1144. Correction to r4151 and update to test suite. 10 years ago
Robin Mills 8551d74d22 #1144 Fix submitted. r4147. 10 years ago
Robin Mills 3af7088e4e #1145. Correction to r4149 to fix msvc build-breaker. 10 years ago
Robin Mills f0901bea3c #1145. Added resolveLensTypeUsingExiftool(). This code is not in service for reasons mentioned in the code. 10 years ago
Robin Mills 8805b0eb40 #1145. Fix submitted.
I haven't submitted a change to the test suite at this time, however I'll do that when I resolve #1143.
10 years ago
nkbj 84e1081c80 Update Nikon lens list to match ExifTool version 10.08. 10 years ago
Robin Mills 045f9ba328 #816. Correction to msvc buildbreaker in r4135 10 years ago
Robin Mills e07eecd689 #816. Fix for Pentax K-3 Camera. 10 years ago
Robin Mills ecedab80a5 #1140. Correction to r4132. Modified lens detection condition. 10 years ago
Robin Mills b92dc7c8c9 #1140 Fix submitted. 10 years ago
Robin Mills ab9ee2c6df #1024. Support for C++11 #include <regex>. --grep keys may have an optional trailer /i to indicate to ignore case. 10 years ago
Robin Mills cf927ed2c8 #1121 (msvc support for v0.26). exiv2 -vVg ^version reports version=8.00 (2005/x64) or version=8.00 (2005/x86) instead of version=8.00 (2005) 10 years ago
nkbj ce240e9043 Update various lists to match ExifTool version 10.07. 10 years ago
Robin Mills ada018f3b8 #1137. Updated manpage to document -m- and -pV and Added regression detector for both new options to test suite. 10 years ago
Robin Mills cc5f0f434e #1137. Implemented. 10 years ago
Robin Mills 1b65b21c0d #1136. Fix submitted - see issue report for explanation. 10 years ago
Robin Mills c6ed7dfe35 #816 Correction to r4018 to deal with segmentation fault on test file _IGP9034.JPG 10 years ago
Robin Mills fe0a04cd3b #816. Fix submitted. Thank you Simon for working with me on this and for providing test files. 10 years ago
Robin Mills d9b04966e2 #1136. Fix submitted. -g does not apply to -ps report. Clarification to man page that -g is only applied to keys. 10 years ago
Robin Mills 0467336e4c #816. Fix submitted. Will ask Simon to test this ask his permission to use his metadata in the test suite. 10 years ago
tbeu e0a408ca6d Replace LoadLibraryA/FreeLibrary by GetModuleHandleA for kernel32.dll (which is loaded by default) 10 years ago
Robin Mills eb321481b7 #816. Correction to 4012. Fix msvc build breaker 10 years ago
Robin Mills b776b61c27 #816 Added Phil's Perl code PrintLensID (see issue report). I'll have to convert this into C++ and then report the output. 10 years ago
Robin Mills 379b20fde1 #816. This is the framework from Abhinav's patch from which we can derive the fix. Explanation in issue report. 10 years ago
tbeu 89f2561056 Add spaces to description of tag TimeZoneOffset 10 years ago
danielkaneider c90253bc3c [cmake] various msvc fixes 10 years ago
nkbj 314b142dc2 Update various lists to match ExifTool version 10.05. 10 years ago
danielkaneider 993a3bd06b [cmake] added travis build file, fixes for osx and linux 10 years ago
Robin Mills f76b9e8aa3 #1130. Correction to r3997. 10 years ago
Robin Mills d88a3f5556 #1132. Fix submitted. 10 years ago
Robin Mills db4be31b6f #1130. Thank You Jakub for reporting this. 10 years ago
danielkaneider 5c7ecc6514 [cmake] add webready support and better cmake for windows 10 years ago
nkbj 56d1071d57 Update various lists to match ExifTool version 10.03. 10 years ago
Robin Mills abd5ecedd4 #1129. Fix submitted. 10 years ago
Robin Mills 98eeab85da #1089. Thank You to Felix for reporting this and providing a patch. 10 years ago
Robin Mills d19fc716c7 #1102. Thank You to Jakub for reporting this and providing a patch. 10 years ago
Robin Mills 114373f254 #1101. Thank You to Jakub for reporting this and providing a patch. 10 years ago
Andreas Huggel f5eb9b50a4 #1116: Register missing namespaces (audio, video), changed xapG to xmpG in accordance with the XMP specs. 10 years ago
Andreas Huggel 910f389e50 #1116: Reverted changes to BasicIo::BasicIo() introduced in r3933 10 years ago
Robin Mills 4cca5dea0b #1127 exiv2 --verbose --version --grep libz incorrectly reports have_libz=0 10 years ago
Robin Mills e3e4711190 #1125. Thank You to Michał for reporting and providing the patch. 10 years ago
nkbj 885899ae6b Updated Nikon Lens lookup table to v4.4.504.01 of Robert Rottmerhusen's fmountlens list. 10 years ago