3824 Commits (137ea080b51fb48a7eb1b513d2d565868ccdf68f)

Author SHA1 Message Date
Christoph Hasse 2539e5dd7e fix: change duplicated Canon RF 100-500 2x into missing 1.4 teleconverter version 4 years ago
Christoph Hasse 704ee571de fix: allow for FX.Y syntax in aperture regex 4 years ago
Daniel Vogelbacher fa78ab3593 Use official Canon RF lens model names
The new RF line is named F2.8L instead of f/2.8L (for example).

This patch makes the model names identically to the official
Canon lens names and the same names exiftool uses.
4 years ago
Christoph Hasse 2f83b7e0f6
Merge pull request #1692 from Exiv2/hassec_canon_lens_test
New Canon Lens Identification + Automatic Test of all Lenses
4 years ago
andyrtr cfeceee416
add lens: Olympus M.ZUIKO DIGITAL ED 12-45mm F4.0 PRO (#1725)
* add lens ID for Olympus M.Zuiko Digital ED 12-45mm F4.0 Pro #1723

* add test for #1723 checking the Olympus M.Zuiko Digital ED 12-45mm F4.0 Pro recognized correctly
4 years ago
Matthias Kuhn 5aafb351e5 Fix building on ios 4 years ago
nulllinie 23dbf4f51a
correct identification for Tamron SP 24-70mm G2 A032 (#1691)
* correct identification for Tamron SP 24-70mm G2 A032 with LensType 0E (14)

Existing entry with LensType 4E is kept as it's needed as well
Added testcase for LensType 0E for Tamron_SP_24-70mm_F2.8_Di_VC_USD_G2
4 years ago
Christoph Hasse efb0af8506 fix: make casts explicit to please msvc 4 years ago
Christoph Hasse 7867343611 fix: prefer symbolic boolean operators so windows is happy 4 years ago
Christoph Hasse bdd8a386b5 feat: improve lens recognition of canon makernote
If multiple choices are possible they are now all reported. This
behaviour is now the same as it is in exiftool.

All lenses are tested in the new test_canon_lenses.py test
4 years ago
Christoph Hasse 907fe2369e fix: readd some previously removed lenses now that we plan to trea ambiguous lenses 4 years ago
Christoph Hasse 4ee8962d42 refactor!: use lensfun style nameing for lenses 4 years ago
Alexander Steffen 56f9979a4b Improve detection of Canon lenses with TC
Lenses with and without a TC may share the same lens ID. Prefer entries
that explicitly mention the TC.
4 years ago
Alexander Steffen 9962b88db3 Fix misdetection of Tamron SP AF 300mm as Canon EF 75-300mm
When searching for the Tamron lens, only the string "300mm" is searched in
the lens description, which also happens to be present for the Canon lens.
Since the Canon lens comes first in the list, it wins. Fix this issue by
prefixing the search string with a single space so it always has to match
the full focal length specification.
4 years ago
Alexander Steffen 477150f067 Fix rounding error in fnumber calculation
The mathematical calculation of fnumbers does not always match the expected
values: For example for f/3.5 the precise mathematical value is 3.564...,
which gets rounded to 3.6. Fix this special case by returning a value
closer to the expected value.
4 years ago
Alexander Steffen 0d030eefdf Remove undetectable lenses
Lenses that have the exact same ID, focal length and aperture as some other
lens that comes earlier in the list (and thus always wins):
* 137, "Tamron SP 17-50mm f/2.8 XR Di II VC"
* 137, "Tamron SP 24-70mm f/2.8 Di VC USD"
* 161, "Sigma 28-70mm f/2.8 EX"
* 173, "Sigma 180mm EX HSM Macro f/3.5"
* 180, "Zeiss Milvus 50mm f/1.4"
* 183, "Sigma 150-600mm f/5-6.3 DG OS HSM | S"
* 254, "Tamron SP 90mm f/2.8 Di VC USD Macro 1:1 F004"
* 254, "Tamron SP 90mm f/2.8 Di VC USD Macro 1:1 F017"

Lenses that share their IDs with other lenses, but have no or an
unsupported focal length:
* 33, "Voigtlander or Carl Zeiss Lens"
* 131, "Sigma 4.5mm f/2.8 EX DC HSM Circular Fisheye"
4 years ago
Luis Díaz Más f30022d73d
Fix issues detected with PVS-Studio + other little improvements (#1689)
* avoid re-declaration of constant variables

* Replace pthreads critical section with std::mutex

* ci - better naming

* cmake - increase minimum version to 3.11. Use project DESCRIPTION

* fix - do not treat string::find() return type as bool

* remove conditions that were always true

* remove condition that were always false

* Remove EXV_HAVE_GMTIME_R which is not used anymore

* pixelWidth_ was inherited from Exiv2::Image

The width & height variables in the TiffImage class need to be mutable
to be able to change their values on the getters pixelHeight() and
pixelWidth() ... Do not ask me why ...

* Remove superfluous if

* pvs:V766 item with identical key added already

* pvs:V730 not all members were initialized (time)

* pvs:V730 not all members are initialized

* pvs:v668 no point in testing pointer against null after new

* pvs:V1048 variable assigned the same value

* replace c-style dynamic vector with std one

* pvs:547 fakeData is always true

* Remove useless constructor in derived class

* pvs:V690 modern way to disable copy-ctor

* Replace malloc/free with new/delete. No need to check for null

* pvs:V1028 cast operands and not result

* Remove custom MIN/MAX functions

* pvs:V595 pointer used before verified against null

* pvs: index used before being checked

* pvs:V1028 possible overflow. Cast operands

* pvs:v575 potential null pointer passed to other functions

* pvs:V547 deal with always true/false expressions

* pvs:V560 part of conditional expressions always false or true

* pvs:V701 possible break in realloc -> move to std::vector

* Make some classes 'final'

* Replace sprintf with std::to_string()

* fix compilation on windows
4 years ago
Christoph Hasse 758dd6bbc6 refactor!: remove free() function from DataBuf to avoid potential problems, see #1542 4 years ago
Rosen Penev 2c57f214c5 clang-tidy: use nullptr
Found with modernize-use-nullptr

Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Rosen Penev 86c71ae6c3 clang-tidy: avoid global non const variables
Found with cppcoreguidelines-avoid-non-const-global-variables

Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Rosen Penev d1e116a8ef remove some pointless std::set
Partially found by gcc's -fanalyzer

Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Rosen Penev 4c4f8da338 remove initializers
these were moved outside the constructor body.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Rosen Penev e5894d71e1 default con/destructors in headers
Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Rosen Penev ce47de67b5 use auto in template
Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Rosen Penev c44c289d76 clang-tidy: fix ending namespace comnments
Found with llvm-namespace-comment

Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Rosen Penev a74bceacb0 clang-tidy: remove pointless return
Found with readability-redundant-control-flow

Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Rosen Penev 743da1a564 clang-tidy: use C++ casting
Found with google-readability-casting

Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Rosen Penev 8dbc699858 clang-tidy: add missing explicit
Found with google-explicit-constructor

Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Rosen Penev ff39473c18 clang-tidy: convert to static
Found with readability-convert-member-functions-to-static

Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Rosen Penev 6da49fd29b more constexpr
Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Rosen Penev cdbee3c26c clang-tidy: init in member initializer
Found with cppcoreguidelines-prefer-member-initializer

Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Rosen Penev 036af68a71 remove pointless constructors
Replaced with Uniform initialization. Allows constexpr usage.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Rosen Penev 8564d0b394 clang-tidy: pass by value
Found with modernize-pass-by-value

Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Rosen Penev f9d394adf0 clang-tidy: run through performance checks
Found with performance*

Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Rosen Penev b8712188bb clang-tidy: use auto
Found with modernize-use-auto

Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Rosen Penev 20dfab8036 manual for range loop conversions
Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Rosen Penev 8e52032ee0 clang-tidy: range loop conversions
Found with: modernize-loop-convert

Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Rosen Penev c73dfa0106 clang-tidy: use uppercase numeric literals
Found with readability-uppercase-literal-suffix

Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Rosen Penev 8e178e912e replace {} initialization with fill
Old compilers don't implement {} correctly.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Rosen Penev fdf9d3799c clang-tidy: don't use else after return
Found with llvm-else-after-return

Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Rosen Penev 4aa5566cf6 clang-tidy: make several member functions const
Found with readability-make-member-function-const

Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Rosen Penev 24a8139233 clang-tidy: fix badly indented if
Found with readability-misleading-indentation

Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Rosen Penev 1b9b77c51f clang-tidy: add ending namespace comments
Found with google-readability-namespace-comments

Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Rosen Penev bf290e84e5 fix compilation with EXIV2_DEBUG_MESSAGES
Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Miloš Komarčević 3416b631c5
Add Sony ARW compression to dict 4 years ago
Rosen Penev fddb035106 clang-tidy: remove pointless const
Found with readability-avoid-const-params-in-decls

Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Rosen Penev 80595f8468 clang-tidy: remove duplicate public
Found with readability-redundant-access-specifiers

Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Kevin Backhouse ca66136092 Use readOrThrow to check error conditions of iIo.read().
(cherry picked from commit 0f9eb74c44c908e170a64cab590949d53749af8e)
4 years ago
Rosen Penev 5dc4292b40 fix bad for range loop
This loop is supposed to break when it encounters a match.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Rosen Penev 091fd77885 clang-tidy: remove redundant member init
Found with readability-redundant-member-init

Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Rosen Penev 674fdcd38b clang-tidy: fix declartation names
Found with readability-inconsistent-declaration-parameter-name

Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Rosen Penev 2e73aa9dc0 default con/destructors in headers
Helps to optimize trivially destructable stuff.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Rosen Penev 428c436629 clang-tidy: simplify boolean expression
Found with readability-simplify-boolean-expr

Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Rosen Penev 5d716c7df4 clang-tidy: empty() conversions
Found with readability-container-size-empty

Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Rosen Penev 9642e3cceb clang-tidy: remove pointless string init
Found with readability-redundant-string-init

Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Rosen Penev 143a1fbbe2 clang-tidy: don't use string compare
Found with readability-string-compare

Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Rosen Penev 8337462032 clang-tidy: use empty() instead of comparing size
Found with readability-container-size-empty

Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Rosen Penev af7b2430c5 clang-tidy: use override
Found with modernize-use-override

Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Rosen Penev 15f0a600ed clang-tidy: use default member init
Found with modernize-use-default-member-init

Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Kevin Backhouse 170b18db74
Merge pull request #1621 from Exiv2/mergify/bp/main/pr-1591
Fix infinite loop caused by subBox with zero size. (backport #1591)
4 years ago
Luis Díaz Más b4b8061478 Early access is always compiled 4 years ago
Kevin Backhouse 566ea272a1 Prevent large allocation.
(cherry picked from commit f154f0ae540deeb9251467187d01c2a5846d27b5)
4 years ago
Kevin Backhouse aac34630d4 Fix infinite loop caused by subBox with zero size.
(cherry picked from commit 2736126e7b92c5654f56620c097f9a4580c0f73b)
4 years ago
Luis Díaz Más 9dbffa719b Add missing public headers to install target 4 years ago
Rosen Penev 5a9c29303e clang-tidy: remove pointless static
Found with readability-static-definition-in-anonymous-namespace

Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Rosen Penev bd6a996181 clang-tidy: use using
Found with modernize-use-using

Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Rosen Penev b3040da54c clang-tidy: don't check for NULL with delete
Found with readability-delete-null-pointer

Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Rosen Penev 1dc1186760 clang-tidy: simplify boolean expressions
Found with readability-simplify-boolean-expr

Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Rosen Penev 8128716287 clang-tidy: use = default
Found with modernize-use-equals-default

Ran through git clang-format

Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Kevin Backhouse 57cad2619b Add bounds check in Jp2Image::doWriteMetadata().
(cherry picked from commit e6a0982f7cd9282052b6e3485a458d60629ffa0b)
4 years ago
Luis Díaz Más b675c58bab Move include/CMake to src 4 years ago
Luis Díaz Más 1b4577904b Fix MSVC build 4 years ago
tbeu bf0d8114c9 #525: Update comment and fix variable name 4 years ago
tbeu 94420ab591 Remove custom rwlock in favor of `std::mutex` of C++11
Current design on Windows was broken anyway, since legacy class `RWLock` does not implement a proper rwlock (shared read and exclusive write)

Once we are allowed using C++14 features, we can replace the `std::mutex` by `std::shared_timed_mutex` and the read-access locks by `std::shared_lock`.
Once we are allowed using C++17 features, we can replace the `std::mutex` by `std::shared_mutex` and the read-acces locks by `std::shared_lock`.
4 years ago
Rosen Penev 4ceb325c8f clang-tidy: range for loop conversions
Found with modernize-loop-convert

Ran through git clang-format.

Also removed several questionable loops and replaced with simpler
algorithms.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Rosen Penev e93ad82734 clang-tidy: use braced init list
Found with modernize-return-braced-init-list

Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Luis Díaz Más 294372f2ad cmake: revert change due to old cmake versions on CentOS & debian9 4 years ago
Luis Díaz Más 582edd399c cmake: ignore PDBs warnings on Win/Debug/Static buils 4 years ago
Luis Díaz Más 9de534976f msvc: fix compiler warning on x86 4 years ago
Luis Díaz Más 90dde02359 Win - Disable UNICODE which is failing at the moment 4 years ago
Rosen Penev 84220855b2 clang-tidy: use = delete
Found with modernize-use-equals-delete

Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Luis Díaz Más 53f18cf408 conan: use cmake_paths generator instead of cmake
We also upgraded the xcode version on Travis-CI
4 years ago
Luis Díaz Más f601d23d5e conan: update conan recipe versions 4 years ago
Kevin Backhouse b3de96f4b4 Add more bounds checks in Jp2Image::encodeJp2Header 4 years ago
Luis Díaz Más e366c786b9 Fix -Werror=shadow warning after recovering EPS 4 years ago
Luis Díaz Más 9b9154d137 fix warning (hiding local variable) 4 years ago
Luis Díaz Más d5240a4bda eps: Fix code after usage of unique_ptr. Remove deprecation tags 4 years ago
Luis Díaz Más 8314030604 Revert "Remove deprecated EPS format"
This reverts commit 537cdad99e.
4 years ago
Kevin Backhouse 8388223deb Check that the string is properly terminated. 4 years ago
Kevin Backhouse e8422732af Fix LGTM warning about format specifier
https://lgtm.com/projects/g/Exiv2/exiv2/rev/pr-6633ad1cc6e6c36bffd6655165c299c53e934b22
4 years ago
Kevin Backhouse e97a9ff88a Fix signed/unsigned compiler warning. 4 years ago
Kevin Backhouse 27e349e063 Fix signed/unsigned compiler warning. 4 years ago
Kevin Backhouse 285e7a4e72 Fix out-of-bounds read in bmffimage.cpp 4 years ago
Kevin Backhouse 783b3a6ff1 Improve bound checking in WebPImage::doWriteMetadata() 4 years ago
Kevin Backhouse 23c1cda99d Fix signed/unsigned compiler warnings. 4 years ago
Kevin Backhouse f930883919 Better bounds checking in Jp2Image::encodeJp2Header() 4 years ago
Luis Díaz Más f85f7f717a Replace many of the iterators types with auto 4 years ago
Luis Díaz Más 75e4bd9059 Remove rest of useless typedefs from datasets.hpp 4 years ago
Luis Díaz Más 01a3bc716d Fix warnings in VS 4 years ago
Luis Díaz Más 75bf666d3b Remove typedef to Dictionary::const_iterator 4 years ago
Luis Díaz Más 0a1bf46a1c revert changes that are affecting to VS 4 years ago
Luis Díaz Más de4d43d4d1 Fix warnings EXIV2_TEAM_EXTRA_WARNINGS
Most of the warnings fixed were:
- Hiding of local variables
- Hiding of globals
- Useless casts
- Conversions between float/double
4 years ago
Luis Díaz Más 6c0059b5a0 cmake: Treat xmpsdk headers as system ones
This is done so that when we use EXIV2_TEAM_EXTRA_WARNINGS we do not get
warnings about XMPSDK (we do not want to deal with those)
4 years ago
Luis Díaz Más 83dda6ccd7 Fix warnings related to -Wdeprecated-copy 4 years ago
Robin Mills 3682bce15e Fix Ubuntu 20.04/Release/Sanitizer test breaker 4 years ago
Robin Mills d73dd0874d Fix icc_test which is failing on Linux:
luis@ryzenLinux:/media/linuxDev/programming/exiv2/buildReleaseSanitizers$ cp large.icc Reagan2.icc
luis@ryzenLinux:/media/linuxDev/programming/exiv2/buildReleaseSanitizers$ bin/exiv2 -iC /tmp/Reagan2.jp2
/media/linuxDev/programming/exiv2/src/jp2image.cpp:661:28: runtime error: reference binding to misaligned address 0x61f000002a9e for type 'const struct Jp2BoxHeader', which requires 4 byte alignment
0x61f000002a9e: note: pointer points here
 07 07 01 00 00 00  0c 53 63 6f 6c 72 02 00  00 00 00 0c 48 4c 69 6e  6f 02 10 00 00 6d 6e 74  72 52
4 years ago
Luis Díaz Más b5d3a1fd70 auto_ptr -> unique_ptr for code with WIN_UNICODE enabled 4 years ago
Luis Díaz Más 2de3bad869 Remove EXIV2_ENABLE_VIDEO and related stuff 4 years ago
Luis Díaz Más 3eb1eee7fe Remove deprecated RiffVideo support 4 years ago
Luis Díaz Más 061ec1a75d Remove deprecated QuickTime support 4 years ago
Luis Díaz Más 8dcc07887a Remove deprecated Matroska support 4 years ago
Luis Díaz Más 94b87a8dec Remove deprecated SSH support 4 years ago
Luis Díaz Más 384a5edfcf Remove deprecated ASF Video 4 years ago
Miloš Komarčević 3ddef8f8b8 Correct GDS distance unit in description
knot is a measure of speed...
4 years ago
Miloš Komarčević 94adf1b038 Improve precision of GPS lat/lon printed values 4 years ago
Miloš Komarčević 3f3bbc28ad Improve printing of GPS info 4 years ago
Robin Mills 206a2c495c fix_enableBMFF_v1 4 years ago
Miloš Komarčević f700043a6d Add Exif Gamma tag 4 years ago
Luis Díaz Más ede33f5eba Initialization of variables (fix issue detected with sanitizers) 4 years ago
Luis Díaz Más 5fcea2b4e2 Use stack variables instead of java style 4 years ago
Luis Díaz Más 0bbaa6eff3 cpp: Replace auto_ptr by unique_ptr 4 years ago
Luis Díaz Más 537cdad99e Remove deprecated EPS format 4 years ago
Robin Mills 9e6a520089
Merge pull request #1539 from Exiv2/FixIssue1530
Fix integer overflow
4 years ago
Kevin Backhouse 9b7a19f957
Fix integer overflow. 4 years ago
Kevin Backhouse 0a91b56616
Fix incorrect delete. 4 years ago
Pydera 13e5a3e023 Fix out of buffer access in #1529 4 years ago
Robin Mills 22ea582c6b fix_1522_jp2image_exif_asan 4 years ago
Robin Mills aef9cf76f7 fix_1503_JXL_bmff 4 years ago
Robin Mills 49cfe45323
Merge pull request #1513 from Exiv2/fix_1508_enableBMFF
Fix 1508 enable bmff
4 years ago
Robin Mills 9da2aed5d2 Use the documented 5 line prolog in every sample application. Tidy up sample prologs and header code. 4 years ago
Robin Mills 190106ca78 fix_1507_avif_size0x0 4 years ago
Robin Mills d632988bbd Massive code prolog cleanup. 4 years ago
Robin Mills 99600c6aaf exiv2 --verbose --version was reporting have_strerror_r twice! 4 years ago
Robin Mills 6fad24cd11
Merge pull request #1491 from Exiv2/fix_1486_effort2
fix_1486_effort2
4 years ago
Robin Mills 717fc098be fix_1486_effort2 https://github.com/Exiv2/exiv2/pull/1486#discussion_r593161473 4 years ago
Miloš Komarčević f95d97a0bf Add mif1 brand to heif mime type 4 years ago
Miloš Komarčević fcb3066950 Include a few more BMFF major brands 4 years ago
Miloš Komarčević b3dfabdde0
Merge pull request #1486 from Exiv2/fix_1484_empty_ascii
Terminate empty ASCII strings
4 years ago
clanmills ba6a577ab9 https://github.com/Exiv2/exiv2/pull/1486#issuecomment-796843835 4 years ago
Robin Mills 09567b477b
Merge pull request #1487 from kmilos/housekeep_bmff
Include HEIC type explicitly
4 years ago
Miloš Komarčević fa41e52c8a Add comment and test case 4 years ago
clanmills bf1be5cb50 fix_1473_LocationShown 4 years ago
Miloš Komarčević e3c78623f7 Include HEIC type explicitly 4 years ago
Miloš Komarčević 26ba26e241 Terminate empty ASCII strings as well 4 years ago
Robin Mills 9e2ac47cf9
Merge pull request #1475 from 1div0/BMFF
Base Media File Format
4 years ago
Robin Mills 02477faf4e Following review by @hassec, I use static base64_encoding vector in both Exiv2::base64encode() and Exiv2::base64decode().
I'm a little uneasy about changes to the API of the shared object/DLL.  I will investigate #890 during the release process.  So I have a plan to identify this if it's an issue.  I think it's OK.

```
703 rmills@rmillsmm-local:~/gnu/github/exiv2/bmff/build $ nm --demangle lib/libexiv2.dylib  | grep base64
00000000000384a0 T Exiv2::base64decode(char const*, char*, unsigned long)
0000000000038340 T Exiv2::base64encode(void const*, unsigned long, char*, unsigned long)
00000000001c33a0 s Exiv2::base64_encode
704 rmills@rmillsmm-local:~/gnu/github/exiv2/bmff/build $ nm -g --demangle lib/libexiv2.dylib  | grep base64
00000000000384a0 T Exiv2::base64decode(char const*, char*, unsigned long)
0000000000038340 T Exiv2::base64encode(void const*, unsigned long, char*, unsigned long)
705 rmills@rmillsmm-local:~/gnu/github/exiv2/bmff/build $
```
4 years ago
clanmills 212f1b5ebb Following review by @piponazo, I am clarifying the bool return from Exiv2::enableBMFF(). 4 years ago
clanmills e3fd0c633e Thank You @piponazo for the code review. I've made the changes you requested. 4 years ago
postscript-dev 5f563b5255 Fix spelling mistakes in LangAltValue::read()
Removed unneeded comments and empty space.
4 years ago
Miloš Komarčević 0da1a50afe Revert style changes 4 years ago
clanmills 4c52861a74 Fix msvc build breaker. 4 years ago
Miloš Komarčević e09d093ccf Minor whitespace formatting 4 years ago
postscript-dev 282d1d6995 Add static to LangAltValue::read() const values 4 years ago
clanmills f1303cbcda Another effort to fix base64decode and associated unit test. 4 years ago
clanmills 87e536dadf Fix #1358. This should be in a different PR. Keep changes to base64 encode/decode together. 4 years ago
clanmills db9bec3e01 Restore -pC --binary to output everything. Test suite updated to suit. 4 years ago
clanmills 21c610e952 Restoring i < dataLength trigraph that I should not have removed. 4 years ago
clanmills 2f2dd7d56c Fix ICC profile handling (my bad, iOS files are correct). 4 years ago
clanmills c59c53acf5 Trick to avoid msvc issue with final line of base64 data. 4 years ago
clanmills 1eeeecea50 Replaced Exiv2::base64encode() because last effort failed unit test on msvc. 4 years ago
postscript-dev 6cd9263fa7 Fix langAltValue::read() parsing
+ Fix segmentation faults in langAlt parse
+ Fix mismatched quotation marks and incorrect values
+ Add Python testing
  + Some tests commented out as quotation marks are filtered, preventing them
    from running.
Closes #1481.
4 years ago
clanmills 80e20304cb Fix Linux build breakers. 4 years ago
clanmills 5410395576 Replaced the ugly code in Exiv2::base64encode() and update the test suite. 4 years ago
clanmills 0ad46453ed With good fortune, bmffimage is ready for review. 4 years ago
clanmills ee4d14340a Fix box.length == to use bigEndian decode! Fix toAscii() to emit on ascii 32-127 bytes. 4 years ago
clanmills df68648dc3 refactored setModeAndPrintStructure() to respect class Task.binary_ when printing ICC profiles. 4 years ago
clanmills b983a9db75 Re-awaken obsolete command-line argument --binary and store class Task. 4 years ago
Robin Mills 71d29fe60b Fix MSVC build breaker and modify test_pr_1475_HIF.py to run on Windows. 4 years ago
clanmills 55d2201892 Changed CI build default -DEXIV2_ENABLE_BMFF=On. Fixed suite to run with/without bmff. -pS and -pR same for bmff. 4 years ago
Robin Mills c84274ec19 Cosmetic change to -pR/-pS output. 4 years ago
Robin Mills fd9cb67fb7 WIP: adding BmffImage::printStructure() and support for colr box. 4 years ago
Miloš Komarčević 2b38d221dc Adding DNG 1.6 triple-illuminant calibration tags 4 years ago
Robin Mills 4ca05ed34a Fix .CR3 files to call parseXmp(). 4 years ago
Robin Mills ea1c91874f Added parseXmp() to parse Xmp metadata. 4 years ago
Robin Mills 44d976c2a1 Remove bmffimage::printStructure() as discussed in review with @hassec. Corpse removal and cleanup in bmpfimage.hpp 4 years ago
Peter Kovář dcfe538a09 Revert "Add artist tag"
This reverts commit c46e800c0a.
4 years ago
Peter Kovář c46e800c0a Add artist tag 4 years ago
Robin Mills 5c77888037 Revised following code review by @hassec. Thank You, Christoph. 4 years ago
Peter Kovář 4d3af08ad8 Add CR3 image dimensions 4 years ago
Robin Mills 4ae0a1d2a3 Tidy up. Rename Tag::cr3_exif -> Tag:cmt2 4 years ago
Robin Mills 9515e4658b Cleanup. 1. Recursively process uuid/cano box. 2. Fix LGTM/CI sprintf grumbles. 3. Comment parseTiff() in bmffimage.hpp. 4 years ago
Robin Mills 913ee33372 Parse Exif in .HEIC/.AVIF 4 years ago
Peter Kovář 108670b309 Corrected format string 4 years ago
Christoph Hasse 28b41f59bd run clang-format on new files 4 years ago
Christoph Hasse 29f3d5cac9 introduce parseTiff method to parse exif 4 years ago
Robin Mills f190f496d1 Tidying up. 1. pixelHeight_. 2. refactored indenter() -> indent(). 3. EXIV2_DEBUG_MESSAGES outputs to std::cerr 4 years ago
Robin Mills 4a96025294 Fixed recursion issue in the meta box. 4 years ago
Peter Kovář bafea0f1b8 [WIP] Fixed Image Spatial Extents Property Handling 4 years ago
Robin Mills 8d7133d7bc WIP: Added class Iloc and related code. 4 years ago
Robin Mills 8976a23f2d More fixes for LGTM/CI warnings. 4 years ago
Robin Mills 64866cc568 Fixing warnings from LGTM/CI. 4 years ago
Robin Mills 0b4b7c695e Fix msvc/CI build breakers. 4 years ago
Robin Mills 630fb23046 Fixing a build breaker. 4 years ago
Robin Mills 6d13e44e5a WIP: Refactored readMetadata() into recursive boxHandler() 4 years ago
Peter Kovář 0360a7ded5 [WIP] Yet another type cast correction to make Travis CI happy 4 years ago
Peter Kovář a75ac74417 [WIP] Correction to make Travis CI happy 4 years ago
Peter Kovář 04481dd753 [WIP] 64-bit length 4 years ago
Robin Mills d455f473e8 C++ simplification. 4 years ago
Robin Mills 7beb4e3e0d fix_1471_sony2010_0.27 4 years ago
Peter Kovář 4fa0a88097 [WIP] Correction
https://ci.appveyor.com/project/piponazo/exiv2-wutfp/builds/37795261/job/23l6a0u0wt6ax79l
4 years ago
Peter Kovář 81e0f99254 [WIP] Another try 4 years ago
Peter Kovář 7b5854e26e [WIP] Redefine tags 4 years ago
Peter Kovář f0a321dedb [WIP] Base Media File Format 4 years ago
Robin Mills c40eccd062 fix_1464_sony2010e Fix c++ code 4 years ago
Peter Kovář c608148820 [WIP] Added box types 4 years ago
Ingo Weyrich a6a47346a8 Use a.rfind(b, 0) == 0 instead of a.find(b) == 0 to reduce processing time when checking that a starts wit b, #1459 4 years ago
Peter Kovář e19fca6640 Small corrections 4 years ago
Robin Mills f5c6e7595f Fix Linux build-breaker when ENABLE_ISOBMFF=False and EXIV2_TEAM_WARNINGS_AS_ERRORS=On 4 years ago
Robin Mills fa39234275 Fixing Linux build/test issues. 4 years ago
Robin Mills 0844e1bbfb Rename class ISOBMFF => class bmffImage to match other image handlers. Removed C++11 style code. Removed unused code. 4 years ago
Robin Mills 460a802671 Fix image handler to give jp2image code higher priority than the next isobmff code. 4 years ago
Peter Kovář 92469f4c27 [WIP] Add ISO/IEC Base Media File Format 4 years ago
czgnp ddd326fc18
Update canonmn_int.cpp
Added Sigma 35mm/1.4 to lens id 368 and changed resolver to look at both focal length and aperture. Fixed canonEv so lenses with f/6.3 report as f/6.3 (they actually report f/6.2 to camera)
4 years ago
Christoph Hasse 056359d89b fix formatting 4 years ago
Christoph Hasse 93869e1311 use EXV_PRINT_TAG macro instead of specific print function 4 years ago
Christoph Hasse 51bd57e387 add shutter mode and mechanical shutter count to nikon makernote 3 4 years ago
Alex Esseling cf9be2cc3b fixing exceptions and reordering tags 4 years ago
Alex Esseling ff2ffb1909 add_cr3_tags 4 years ago
Miloš Komarčević 19decc1193
Merge pull request #1436 from Exiv2/dng_1.6
Add DNG 1.6 support
5 years ago
Christoph Hasse 4c2ac99673 try and fix ci-build 3/N 5 years ago
Christoph Hasse f740fcd823 try and fix ci-build 2/N 5 years ago
Christoph Hasse 814357a6d1 try and fix ci-build 5 years ago
Christoph Hasse 2909e9cacc Implement handling of new Nikon LensData version 8.0 and 8.01 5 years ago
Miloš Komarčević 240179514c Add DNG 1.6 support 5 years ago
Robin Mills 9b5108583b Revert "Revert "fix_1431_binary_comment.""
This reverts commit 2866415322.
5 years ago
Robin Mills c6167258ce Revert "Restored 0.27.2 "toString()" behaviour of Exifdatum.value().toString() for CommentValue."
This reverts commit ecae9dc6eb.
5 years ago
Robin Mills 2866415322 Revert "fix_1431_binary_comment."
This reverts commit b6bf20a897.
5 years ago
Robin Mills af8699a8ac Revert "Fixing test suite."
This reverts commit 23f39b60f7.
5 years ago
Robin Mills 23f39b60f7 Fixing test suite. 5 years ago
Robin Mills ecae9dc6eb Restored 0.27.2 "toString()" behaviour of Exifdatum.value().toString() for CommentValue. 5 years ago
Robin Mills b6bf20a897 fix_1431_binary_comment. 5 years ago
Miloš Komarčević 01a146e014
Merge pull request #1427 from Exiv2/prettyprint_planarconfig
Pretty print PlanarConfig
5 years ago
Miloš Komarčević 5e7a563407 Pretty print PlanarConfig 5 years ago
Miloš Komarčević 85e3a31242 Promote remaining SHORT/LONG tags default type 5 years ago
Robin Mills 866d213983
Merge pull request #1409 from Exiv2/fix_1402_rafimage_0.27
fix_1402_rafimage_0.27
5 years ago
Robin Mills 2466c78fe6 Calming Test Suite concerning Continuous and CropMode confusion. 5 years ago
Robin Mills a71eb24956 Pointless change to trigger CI to build again. 5 years ago
Robin Mills e032586d74 Code/comment tidy. 5 years ago
Robin Mills 9b877f8506 Success. It's working! 5 years ago
Miloš Komarčević 0b5ba68e54
Merge pull request #1412 from Exiv2/dng15_0.27
Add DNG 1.5 tags and values
5 years ago
Robin Mills c48189afa7 Add FujiIFD to TiffCreator::tiffGroupStruct_ 5 years ago
Robin Mills a8b549f7df Remove debugging code. 5 years ago
Miloš Komarčević 4ab2eb3ec6 Add DNG 1.5 tags and values 5 years ago
Miloš Komarčević 13032f44f1 Fix Pana tag typo and improve Fuji tag description 5 years ago
Robin Mills 45119e3260 WIP: working to understand how to support tiffIfd in tiffvisitor_int.cpp 5 years ago
Miloš Komarčević b410eb3550 Complete DNG 1.4 spec support 5 years ago
hanno@schwalm-bremen.de a2f4082beb Revert exv commit and remove empty line. 5 years ago
hanno@schwalm-bremen.de abce0ac300 Fix typo and remove empty line. 5 years ago
hanno@schwalm-bremen.de 01a449544c Adding support for DefaultUserCrop and BaselineExposureOffset
Nothing special, copied from dng 1.5 reference.
5 years ago
Robin Mills 76514a1654 WIP #1402 rafimage::printStructure() improved formatting. 5 years ago
Robin Mills 49fa54d7f2
Merge pull request #1407 from FreddieWitherden/0.27-maintenance
Add support for Fuji's CropMode tag.
5 years ago
Freddie Witherden 8f1f6fce1f
Add support for Fuji's CropMode tag. 5 years ago
Robin Mills e045fd666a
Merge pull request #1389 from Exiv2/fix_929_exif2.31_0.27
fix_929_exif2.32_0.27
5 years ago
Robin Mills 5f9daf725b Moved orphaned declaration of exifGPSDirRef. 5 years ago
Miloš Komarčević c688ed448d Moved ambient tags to Exif only list, other refactoring
Handle more TIFF/EP vs Exif differences

Moved translated values (GPS, Exif) closer to their respective lists
5 years ago
Robin Mills 829ed7da15 Clarified definition and use of enum SectionId @kmilos: please review/approve. 5 years ago
Robin Mills 4017f79c83
Merge pull request #1400 from Exiv2/fix_1393_iptc_tags_web_0.27
fix_1393_iptc_tags_web_0.27
5 years ago
Robin Mills 4c52891549 Fix tag GPSHPositioningError to use printValue() pretty-printer. 5 years ago
Robin Mills a59a382961 I hope I've made a better job of this at this attempt. I don't thing the "section" enum is of much importance. I don't believe anything in particular is done with with it.
```cpp
    /*!
      @brief Section identifiers to logically group tags. A section consists
             of nothing more than a name, based on the Exif standard.
     */
    enum SectionId { sectionIdNotSet,
                     imgStruct, recOffset, imgCharacter, otherTags, exifFormat,
                     exifVersion, imgConfig, userInfo, relatedFile, dateTime,
                     captureCond, gpsTags, iopTags, mpfTags, makerTags, dngTags, panaRaw,
                     tiffEp, tiffPm6, adobeOpi,
                     lastSectionId };
```

I pleased with the documentation and drawing I have added to the book concerning the Exif Specification.

https://clanmills.com/exiv2/book/#Exif
5 years ago
Robin Mills e887b6487f fix_1393_iptc_tags_web_0.27 5 years ago
Freddie Witherden ff0dc4b1df
Add support for Sony lens aberration correction parameters. 5 years ago
Miloš Komarčević 12f7002493 Minor DNG related changes after review 5 years ago
Miloš Komarčević e92d5f2e61 Add remaining DNG 1.3 tag values 5 years ago
Miloš Komarčević 682927ee25
Also use existing light source pretty print for DNG 5 years ago
Miloš Komarčević 2113dfeb8a Add DNG CFALayout values 5 years ago
Miloš Komarčević 04a9743a1c Fix syntax error, improve value name style 5 years ago
Miloš Komarčević a2a7ee2733 Add some DNG related tag values 5 years ago
clanmills 58ae0b0752 fix_929_exif2.31_0.27 5 years ago
Robin Mills 3e78cac3f4
Merge pull request #1384 from Exiv2/fix_1380_binary
Disable exiv2 option --binary (0.27->maintenance)
5 years ago
Miloš Komarčević 1038e62a42 actions: simplify print summary using easyaccess 5 years ago
Miloš Komarčević f6abec4432 exiv2 pr uses easyaccess API (co-authored with clanmills) 5 years ago
Miloš Komarčević 5e92d5e078 Fix easyaccess-test 5 years ago
Miloš Komarčević 98f4effeea Add DateTimeOriginal to easyaccess 5 years ago
Miloš Komarčević 189e0c9338 Add more easy accessors for Exif & TIFF/EP overlap 5 years ago
clanmills bfee7abfc5 Disable exiv2 option --binary 5 years ago
Olli Lupton eec8e8902f Add LensType entry for Olympus M.Zuiko Digital ED 17mm F1.2 Pro lens. 5 years ago
Leonardo Brondani Schenkel 0f6fef7507 Make lens name consistent with models 150 and 368 5 years ago
Leonardo Brondani Schenkel c4d18d02e7 Detect Sigma 18-35mm f/1.8 DC HSM (firmware 2.x)
On Canon bodies and lens firmware 1.x, this lens identifies itself using
model number 150. Starting with firmware 2.x, this lens now identifies
itself using model number 368.

Exiv2 was correctly identifying the former but not the latter.

This commit also fixes a pre-existing bug in which exiv2 was not
correctly disambiguating lenses using model number 368.
5 years ago
Luis Díaz Más 9eb058bd43 Modify strncpy0 to avoid warning 5 years ago
Luis Díaz Más 44debddf4e Hide zlib absolute path in cmake config file 5 years ago
Luis Díaz Más 8dc42199e8 Hide exiv2-xmp dependency in CMake config file: 5 years ago
Luis Díaz Más b9164d9f8b Revert "change implementation of Exiv2::base64encode() to adopt implementation from same URL as base64decode()."
This reverts commit b596f311f4.
5 years ago
clanmills b596f311f4 change implementation of Exiv2::base64encode() to adopt implementation from same URL as base64decode(). 5 years ago
clanmills c7bcfcfbf8 replace base64encode in src/futils.cpp 5 years ago
Robin Mills 55bdaafebf
Merge pull request #1341 from Exiv2/fix_1278_nls_test_0.27
Fix 1278 nls test 0.27
5 years ago
Robin Mills 5240630849 fix_1353_mingw_toolchain_0.27 5 years ago
clanmills 2adde8dd73 Fix compiling http.cpp and reinstate centOS on gitLab. 5 years ago
Robin Mills bc01aac114
Merge pull request #1351 from Exiv2/fix_1343_png_0.27
Fix 1343 png 0.27
5 years ago
clanmills 9fa6d3965a C++ changes requested by @piponazo. Fix python png_test() recommended by @LeoHsiao1. Update reference output. 5 years ago
clanmills 834dca39d0 Code changes 5 years ago
Luis Díaz Más 778479556f Include winsock2 at the beginning of http.cpp 5 years ago
Luis Díaz Más 30773c92a3 WIN32_LEAN_AND_MEAN propagated with exiv2lib target 5 years ago
Luis Díaz Más b304244766 Move winsock2 inclusion to http.cpp 5 years ago
Robin Mills 604a268059 Second effort to unexpose winsock2.h from include <exiv2/exiv2.hpp> using EXIV2_BUILDING_EXIV2 mechanism. 5 years ago
clanmills 7ff0e0613a fix_1335_winsock2_0.27 5 years ago
clanmills e0e2a71a48 Fix: https://travis-ci.org/github/Exiv2/exiv2/jobs/730867927 5 years ago
clanmills 48afa7548d fix_1329_remove_bigtiff_0.27 5 years ago
clanmills 37cc2db72d fix 1307 ASAN issues with RemoteIo 5 years ago
Luis Díaz Más f39b23806b Assume existence of stdint.h 5 years ago
Luis Díaz Más b7ee13eb63 Use ctime instead of time.h 5 years ago
Jan Tojnar 306c8a6fd4
cmake: Fix include_directories for exiv2lib target
The headers are installed to ${CMAKE_INSTALL_INCLUDEDIR} but the CMake config was hardcoded to include directory.
5 years ago
Jan Tojnar 48f2c9dbba
cmake: Fix paths with absolute GNUInstallDirs
It is not generally true that `CMAKE_INSTALL_<dir>` variables are relative paths:

https://github.com/jtojnar/cmake-snips#concatenating-paths-when-building-pkg-config-files
https://github.com/jtojnar/cmake-snips#assuming-cmake_install_dir-is-relative-path

Let's join them properly as paths, not strings.

On Windows, the absolute paths will likely remain unsupported as neither the CMake function,
nor the C++ code is able to detect absolute paths.

Signed-off-by: Jan Tojnar <jtojnar@gmail.com>
5 years ago
Robin Mills 963c91fe8a fix_1266_GPSProcessingMethod 5 years ago
tbeu f61fa2ed9d
Fix write ability flags of PSD files (#1260) 5 years ago
Robin Mills 22ed9b157b Fixed typo declaration of pad when writing ICC profile. 5 years ago
Robin Mills 181dd47385 Fix correctly this time and tested with the user files. Test suite updated to use Reagan2.jp2 5 years ago
Robin Mills b91de7acd0 fix_1236_0.27 5 years ago
Robin Mills 58fb9f850b
Merge pull request #1227 from Exiv2/v0.27.3_RC2
v0.27.3 rc2
5 years ago
clanmills 7383d96d47 Fix compiler error when using EXIV2_DEBUG_MESSAGES. 5 years ago
Robin Mills 08d1cd84c2 Don't compile localtime.c (hurray) 5 years ago
Robin Mills 6b4a9e5b40 fix_1219_remove_localtime_0.27 5 years ago
Robin Mills 7bf40a2408 fix_1211_c++11_0.27. I'll explain this in the PR. 5 years ago
clanmills 6d7a5266ea fix_1219_mingw_crw_date_0.27 5 years ago
Robin Mills 3f1a6a509b
Merge pull request #1211 from Exiv2/cpp98_cygwin_0.27
http.cpp doesn't compile with C++/98 on Cygwin and MinGW/msys2.
5 years ago
clanmills 0215608071 http.cpp doesn't compile with C++/98 on Cygwin and MinGW/msys2. 5 years ago
clanmills d07a1f94f8 fix_547_0.27 5 years ago
clanmills e7d113dc42 fix_1208_NikonLens_0.27 5 years ago
clanmills ea28be68e9 Fixing fedora/mingw build breaker. https://gitlab.com/D4N/exiv2/-/jobs/555626122 Thanks to @D4N for this discovery. 5 years ago
clanmills 5f6738a098 get http.cpp to call WSAStartup() on Cygwin and MinGW 5 years ago
clanmills 5b4743301e The smart robot at codeCover/lgtm spotted typos in the code! Robot's almost as smart as Dan! 5 years ago
clanmills c920f2ac44 CurlIo/http object to throw kerFileOpenFailed and not kerTiffDirectoryTooLarge 5 years ago
clanmills f768fc0a42 RemoteIo/http object to throw kerFileOpenFailed and not kerTiffDirectoryTooLarge 5 years ago
clanmills 2bad338b9d Fix compiler warning on macOS about enforce condition being always true. 5 years ago
clanmills ec979d522a Changes following review. 5 years ago
clanmills 5b07d9d8d6 Removed print0x9286() from tags.cpp. Codecov detected that this code is no longer used! Amazing.
Functionality now in exif.cpp std::ostream& Exifdatum::write(std::ostream& os, const ExifData* pMetadata) const.
5 years ago
clanmills 7515d85a09 Fix exiv2 option --binary to enable report of long binary values. 5 years ago
clanmills 9df691c0c5 Report Comments as charset=encoding data (not charset="encoding" data) 5 years ago
clanmills cca0245d87 Fix compiler warning. 5 years ago
clanmills 43b06b6814 Don't allow binary into the output stream! 5 years ago
Robin Mills a1abe21a71 Discussion: https://github.com/Exiv2/exiv2/issues/1200#issuecomment-623975537 5 years ago
Robin Mills 99aa8881a2 $ make version_test segfaults on FreeBSD when called from an ssh script. 5 years ago
Robin Mills 2e568e762b Fix version= for Visual Studio 2019. 5 years ago
clanmills 0a06dc9ee4 Issue identified in #1101 master/MinGW/Qt. Apply the change here (although this is working on 0.27-maintenance) 5 years ago
clanmills cd5c3e4ff9 Remove target_compile_features(exiv2 PRIVATE cxx_std_98) from src/exiv2 5 years ago
clanmills 63a13e8620 Adding option -DEXIV2_BUILD_USE_C++11 5 years ago
Robin Mills df04671976 Enforce cxx_std_98 in samples, unit_tests, and exiv2 application (to eliminate 2305 GCC unique_ptr warnings) 5 years ago
Robin Mills 47d89a56bb
Merge pull request #1176 from Exiv2/0.27_cxx_standard
fix_1163 Require c++98 privately only in library target
5 years ago
clanmills 92f2458229 fix_1180_date_separator 5 years ago
Luis Diaz Mas 235087af4e Do not call tell() in File::eof() - Fix tests & performance 5 years ago
Luis Diaz Mas fabfcac274 Require c++98 privately only in the library target 5 years ago
clanmills 904fa19d1c Code changes 5 years ago
clanmills 13565be3d2 Change for solaris. 5 years ago
clanmills 3226573376 fix_1004_0.27 5 years ago
Robin Mills e077261c99
Merge branch '0.27-maintenance' into fix_1033_0.27 5 years ago
Robin Mills 817b2073a1
Merge branch '0.27-maintenance' into fix_1045_0.27 5 years ago
Robin Mills 2e19ee08c5
Merge branch '0.27-maintenance' into fix_1047_0.27 5 years ago
Robin Mills 181cab661b
Merge branch '0.27-maintenance' into fix_1091_0.27 5 years ago
Robin Mills 9cbcb8878c
Merge branch '0.27-maintenance' into fix_1069_0.27 5 years ago
clanmills 3ee25009ee fix_1033_0.27 5 years ago
clanmills cc1a6033db fix_1045_0.27 5 years ago
Robin Mills adf97f997d
Merge branch '0.27-maintenance' into fix_1091_0.27 5 years ago
clanmills ef58603260 fix_1047_0.27 5 years ago
clanmills c51573c92e fix_1049_0.27 5 years ago
Robin Mills 3c01ad78f3
Merge branch '0.27-maintenance' into fix_1069_0.27 5 years ago
clanmills 571d056222 fix_1091_0.27 5 years ago
clanmills 9333f0d3f5 fix_1069_0.27 #1069 5 years ago
clanmills d0d6ff2e9b fix_1059_0.27 5 years ago
clanmills c49cdd6395 Code changes. 5 years ago
clanmills 18ed65a25f fix_Sony2010e_0.27 Thanks to @sridharb1 5 years ago
clanmills a7683f95a7 Detab src/pentaxmn_int.cpp 5 years ago
Robin Mills 0fe6817177
Merge branch '0.27-maintenance' into fix_1084_0.27 5 years ago
clanmills 8f15784314 fix_1084_0.27 5 years ago
Robin Mills 8382225850
Merge branch '0.27-maintenance' into fix_1099_0.27 5 years ago
Robin Mills 2956309afd
Merge branch '0.27-maintenance' into fix_1099_0.27 5 years ago
clanmills 7658d8aefd fix_macOS_0.27 5 years ago
clanmills 698b418f73 fix_1097_0.27 5 years ago
clanmills 82087b58e4 fix_1099_0.27 5 years ago
dbeichl 188ddab7cc
Merge branch '0.27-maintenance' into 0.27-maintenance-makernote-update 5 years ago
Daniel Beichl 3fe4460a23 Add various attributes for canon maker note
- Decode Attributes CameraType, AEB, SlowShutter, AutoISO,
  CameraTemperature, FlashGuideNumber, BulbDuration and AutoRotate
- Small signedness fix to decode printFiFocusDistance to return Infinite
5 years ago
Daniel Beichl 529fa8770f Add nikon 153 point phase af 5 years ago
Daniel Beichl b45c82e091 Add some values to panasonic focus mode attribute 5 years ago
Robin Mills cfdd1c7b3f Pointless change to trigger CI which is beefing about test_issue_987 which has been removed. 5 years ago
Robin Mills 8de479f83e
Merge branch '0.27-maintenance' into fix1001_rename_AFPrimaryPoint 5 years ago
clanmills db1be4ae8e fix_1046_pt-GPSProcessingMethod 5 years ago
Fredrik Strandin 5360d82c4a Add ID for Tokina atx-i 11-16mm F2.8 CF (Nikon)
Fixes #1078

(cherry picked from commit 2870a1648e86b777afa0ae1540ea4791482d1354)
6 years ago
Andreas Sturmlechner 0890d66a6e EXIV2_ENABLE_SSH: Fix compatibility with >=libssh-0.9.2
0.9.1 remains broken regardless and is beyond fixing in this place.

Build-tested with both libssh 0.9.0 and 0.9.2.

Solution copied from KDE's kio-extras commit 24506c2af8d1904a99538543804306c6c2b81ca2
6 years ago
David-Tillmann Schaefer b8bf9cc4fd changes comma in aperture to dot to match the other exif entries
(cherry picked from commit 054bc9068b3c4e83be97e42d1a8c9829c2c83e1b)
6 years ago
derselbst 70b0c17421 Fix a memory leak in CiffHeader::read()
Memory for pPadding_ was allocated with new[] .
6 years ago
derselbst ccf4b59c91 Merge remote-tracking branch 'origin/0.27-maintenance' into fix1001_rename_AFPrimaryPoint 6 years ago
Luis Díaz Más 20a9e5affe Fix format-overflow warnings by using bigger buffer 6 years ago
clanmills 8859209b95 fix_1004_lens_exiftool_compatibility 6 years ago
Robin Mills 4852bd2ab2 fix_910_remote_io_block+1 6 years ago
Jens Georg b7890776c6 crwimage: Check offset and size against total size
Corrupted or specially crafted CRW images might exceed the overall
buffersize.

Fixes #1019

(cherry picked from commit 683451567284005cd24e1ccb0a76ca401000968b)
6 years ago
Robin Mills 05538ebea2 fix1001_rename_AFPrimaryPoint 6 years ago
Robin Mills 7844b11e4b
[xmpsdk] Add XMP Initialisation/Cleanup code to all main() programs
- update documentation
- Removed redundant calls to Exiv2::XmpParser::terminate() (legacy of our
  discusssion with @tester0077).
- this fixes #976
6 years ago
clanmills 1b917c3f7d Fix #1011 fix_1011_jp2_readmetadata_loop 6 years ago
clanmills 4cf040ac4a
Install man page from man/man1/exiv2.1 6 years ago
clanmills 90f9f0bc19
Add support for Exif.Canon.AF tags to be read from images
This PR (and fix981_canonAutoFocus2) use a decoder listed in TiffMappingInfo to
decode Exif.Canon.AFInfo. The decoding function "manufactures" Exif tags such as
Exif.Canon.AFNumPoints from the data in Exif.Canon.AFInfo. These tags must never
be written to file and are removed from the metadata in
exif.cpp/ExifParser::encode().

Three of the tags created (AFPointsInFocus,AFPointsSelected, AFPrimaryPoint) are
bitmasks. As the camera can have up to 64 focus points, the tags are a 64 bit
mask to say which points are active. The function printBitmask() reports data
such as 1,2,3 or (none).

This decoding function decodeCanonAFInfo() added to TiffMappingInfo manufactures
the new tags. Normally, tags are processed by the binary tag decoder and that
approach was taken in branch fix981_canonAf. However, the binary tag decoder
cannot deal with AFInfo because the size of some metadata arrays cannot be
determined at compile time.
6 years ago
sat3ll d59d929eb2
add ID for Sigma APO MACRO 180mm F3.5 EX DG (nikon)
(cherry picked from commit 9852e21761d962a7deb1e5e9673b3b5f5018dbfb)
6 years ago
Marek Kubica 515569030b Remove AF designator from Tamron 70-200 G1
This removes the AF from the name of the lens thus matching the name
that lensfun and exiftool determine.

(cherry picked from commit a573f9795baa1cf8a68296a80114fdc575f84319)
6 years ago
Kevin Backhouse edb4bf78ca Add bounds check to MemIo::seek(). (#944)
- Regression test for missing bounds check in MemIo::seek()
- Add bounds check to MemIo::seek(), this fixes CVE-2019-13504

(cherry picked from commit bd0afe0390439b2c424d881c8c6eb0c5624e31d9)

Additional fixes for 0.27:
- Add fix for the linux variant of MemIo::seek
- Change type of variable from unsigned to signed
6 years ago
Robin Mills 76d2798172 Pushing very helpful suggestion by @lantw44 6 years ago
clanmills 94a777609e fix947_FreeBSD_BasicError_typeinfo 6 years ago
Luis Díaz Más e925bc5add Fix integer overflow by checking size against header_size
Note that the problem occurs when data_size is less than header_size
what causes a buffer overflow in &data[i]

Co-Authored-By: D4N <dan.cermak@cgc-instruments.com>
6 years ago
Luis Diaz Mas c4bfd0f0f1 Remove linkage with -ldl
The code using dlopen/dlclose/etc was removed from version.cpp in the past
6 years ago
Luis Díaz Más 113136e134 Replace DEBUG with EXIV2_DEBUG_MESSAGES
Fixes #926
6 years ago
Kevin Backhouse cb7dc5a528 Check for integer overflows in mrwimage.cpp 6 years ago
Robin Mills ab375fb074 Add support for FocusPosition in Sony RAW files (#906)
* Fix 582 Add support for FocusPosition in Sony RAW files
* Thanks to @boardhead sonyFpCrypt() works correctly. Removed debug code. Fixed typos.
* Update doc/templates/Makefile to process Sony2Fp
* Following review by @boardhead. Renamed sonyFpCrypt() as sonyTagDecipher().
* Fixed writing the tag thanks to @boardhead explaining encipher/decipher.
  Sadly, ArrayCfg/crpyt does not know if he's encrypting/decrypting.
  I've added a sniff in TiffEncoder::visitBinaryArrayEnd to avoid changing the API.
* Added URL to discussion concerning sonyTagCipher()
* make sonyTagCipher() a static function with no external visibility.
6 years ago
Robin Mills 0a47d93ccf Add README-SAMPLES.md and remove exiv2samples.1 (#921)
* Add README-SAMPLES.md and remove exiv2samples.1
* Remove samples man page from CMake
* Add all sample programs to Doxygen.
* Adding links to source code on exiv2.org

Authored-By: Robin Mills <robin@clanmills.com>
Authored-By: Luis Díaz Más <piponazo@gmail.com>
6 years ago
Luis Díaz Más df5054b910
Merge branch '0.27-maintenance' into 0.27-use-libssh-config 6 years ago
Andreas Sturmlechner e85ce17fc9
Switch to libssh's own libssh-config.cmake
This is provided by libssh since 2013.
6 years ago
Andreas Sturmlechner 6819f2ac45
Fix install path of exiv2ConfigVersion.cmake
This seems to have been caused by duplicate work between master branch
and 0.27-maintenance branch, as commit 3b48249eeb350301dfb3efa3ba6f7d7b162455be
had already got that right.
6 years ago
Robin Mills db3a260167 Changes following code review. 6 years ago
Robin Mills b6f82a8f58 Change byte order in nikonAf22Cfg to invalidByteOrder (see #880 and #885). 6 years ago
Robin Mills bd1e7522c2 Simplification of TiffDecoder::decodeTiffEntry(). 6 years ago
Robin Mills b02c80f7e4 fix646_NikonAF22 6 years ago
Luis Diaz Mas 43ed51f609 DLL information depends now on proper definition 6 years ago
clanmills d8a513b7df Updated following code review. 6 years ago
clanmills 742cd5885b Fixing Windows build-breaker for EXV_UNICODE_PATH in `Protocol fileProtocol(const std::wstring& path)` 6 years ago
clanmills ab0b97c729 fix895-ICCProfile-FalseWarning 6 years ago
Robin Mills 5a3afa9cbe Update man page src/exiv2.1 to clarify overwrite policy with command rename
This fixes #662
6 years ago
sat3ll 2beefab719 Add Tamron SP 70-300mm f/4-5.6 Di VC USD (Model: A030) (Nikon Mount)
(cherry picked from commit 1640ac8d0ca8bbb975f7a986bf0537545423fffc)
6 years ago
Robin Mills 2451e7ba56 fix880_NikonEndian 6 years ago
clanmills b1ed1bf246 fix743_NikonSigmaArtLens 6 years ago
Kevin Backhouse b35c43e7c2 Remove call to atol, which might read off the end of the buffer. (#870) 6 years ago
Kevin Backhouse 9092b422e6 Prevent out-of-bounds read. (#868) 6 years ago
Kevin Backhouse 6068df4c01 Add better bounds checking in PngImage::printStructure(). (#862) 6 years ago
Kevin Backhouse 109d5df7ab Check bounds of jpg_img_off and jpg_img_len. (#858) 6 years ago
Kevin Backhouse 1c1436e94e Add bounds check of resourceSize. (#856) 6 years ago
Kevin Backhouse 80cd0d2990 Add bounds check on allocation size. (#854) 6 years ago
Kevin Backhouse 81ae213c71 Check bounds of allocation size. (#848) 6 years ago
Kevin Backhouse 7798ae2557 Throw an exception if the data location is invalid. (#842) 6 years ago
Kevin Backhouse 8dc87a1214 Add bounds check. (#840) 6 years ago
Kevin Backhouse 43f154f44b Merge two enforces into one. 6 years ago
Kevin Backhouse d3e69f6d2c Add bounds check on allocation size. 6 years ago
Kevin Backhouse c0ecc2ae36 Avoid integer overflow. 6 years ago
Robin Mills f4a37c63f2 version.cpp Pragma removed. Platform includes simplified.
cmake/packaging.cmake        Changed comment about VS version numbers
6 years ago
Robin Mills b8af098285 Removed redundant _MSC_VER pragma to link psapi as the link is specified in CMakeLists.txt.
Simplified the platform include files required to support getLoadedLibraries()
6 years ago
Robin Mills 955962eaa8 Code revisions after review by @piponazo 6 years ago
Robin Mills b0a9cb5624 NetBSD/FreeBSD Support 6 years ago
Kevin Backhouse 6a44698abc Small change to comment. 6 years ago
Kevin Backhouse 3c818f49d9 Revert accidental whitespace change. 6 years ago
Kevin Backhouse 3faeaefbf5 Improve portability of bounds checks. 6 years ago
Kevin Backhouse 86816c0280 Fix signed/unsigned mismatch. 6 years ago
Kevin Backhouse caa4e6745a Avoid negative integer overflow when `filesize < io_->tell()`.
This fixes #791.
6 years ago
clanmills db870755b9 fix #818. Restore 0.25 behaviour of `$ exiv2 -g image ...` to apply grep to keys. 6 years ago
Kevin Backhouse 8cd95e2218 Avoid negative integer overflow when `chunkLength == 0`.
This fixes #789.
6 years ago
Luis Díaz Más f05d100579 CURL lib and include directories private for exiv2lib
(cherry picked from commit 5d64a0b11c5a45dd9d58c56e946301f3f98942a7)
6 years ago
Kevin Backhouse 6fa2e31206 Avoid negative integer overflow when `iccOffset > chunkLength`.
This fixes #790.
6 years ago
Robin Mills fe3f3248dd Fix in sidecar files #589 6 years ago
Kevin Backhouse ae20c30805 Avoid null pointer exception due to NULL return value from strchr.
This fixes #793.
6 years ago
Robin Mills 78676b2a02 Fix #798 6 years ago
Robin Mills 7a9c928efb Fix to exiv2.1 man page for v0.27.1 6 years ago
Robin Mills 514ae0fa89 Fix #780 6 years ago
Luis Díaz Más 51f3910413 [jp2image] Limit data representation to 30 bytes
- fixes #744
6 years ago
D4N adfc01f2e0 Update tests/bugfixes/github/test_issue_742.py
Co-Authored-By: piponazo <piponazo@gmail.com>
(cherry picked from commit 39d8904696338d5bd4a9c7e9a96a798a791d0973)
6 years ago
Luis Diaz Mas 25ddbaa6c0 Make subBox.length check in jp2image.cpp more robust
(cherry picked from commit a154b992ccad71a7d95a94cdedb933fa66a51b61)
6 years ago
Luis Díaz Más 8c81e1146c clang-format Jp2Image::printStructure()
(cherry picked from commit b6e4ca0a8cfff1ad0f6040901382863cccee33cb)

# Conflicts:
#	src/jp2image.cpp
6 years ago
Luis Díaz Más 051b5d9df1 Fix #742 by detecting incorrect subBox size
(cherry picked from commit 1bdd3eab5ebdde324dbfecc3fb6d6495b32d2e4d)
6 years ago
Dan Čermák 5e6c2855ce
[NikonMakerNote] Fix overread in Nikon1MakerNote::print0x0088
This function was printing the string from the array of strings nikonFocusArea,
but it wasn't verifying that the array index is actually valid.
Now this function will output "Invalid value" instead of crashing.
6 years ago