PyPi: Gdal

CVE-2013-6629

Transitive

Safety vulnerability ID: 42374

This vulnerability was reviewed by experts

The information on this page was manually curated by our Cybersecurity Intelligence Team.

Created at Nov 19, 2013 Updated at May 10, 2024
Scan your Python projects for vulnerabilities →

Advisory

Gdal 1.11.0 applies a patch for CVE-2013-6629 in the JPEG driver.

Affected package

gdal

Latest version: 3.9.0

GDAL: Geospatial Data Abstraction Library

Affected versions

Fixed versions

Vulnerability changelog

Port:
* vsisubfile: fix Eof() behavior to be POSIX compliant, so that the shapefile reader can read the last feature when using /vsitar (5093)
* vsicache: fix for 32bit binaries when file size is over 2GB (5170)
* vsicache: add optional nChunkSize and nCacheSize parameters to VSICreateCachedFile()
* vsicurl: add CPL_VSIL_CURL_USE_HEAD config option to disable use of CURL HEAD for other services like mapbox (likely lame python http implementations)
* vsitar: avoid infinite loop in case of invalid .tar structure
* vsizip: fix path separator in CPLFormFilename
* vsizip: allow additional extensions listed in CPL_VSIL_ZIP_ALLOWED_EXTENSIONS config option.
* vsizip: improve UTF-8 support of filenames inside ZIP file (5361)
* vsizip: fix ZIP64 support
* vsigzip: reset EOF flag when doing a Seek() to be POSIX compliant
* curl: add .netrc support
* Windows CPLGetSymbol(): avoid dialog boxes to pop up when a DLL or one of its dependencies does not exist (5211)
* Add CPLOPrintf() and CPLOvPrintf() functions for easy CPLString formatting
* CPLBase64DecodeInPlace() : fix to be robust to malformed base64 strings
* CPLQuadTree: add CPLQuadTreeInsertWithBounds() where the pfnGetBounds is not needed.
* CPLQuadTree: fix potential infinite recursion when inserting several points with identical coordinates in the mode with limited bucket size
* Protect concurrent calls to setlocale() by a mutex (5366)

Core:
* RFC 45: GDAL datasets and raster bands as virtual memory mapping
* GDALRasterBand::GetHistogram(): ignore nodata values (4750, 5289)
* allow auto loading of drivers to be disabled via config option
* PAM .aux.xml and VRT: serialize Z component of a GCP as 'Z' attribute,
for consistency, instead of GCPZ that could not be read back previously.
In reading code, try reading 'Z' and if not found try 'GCPZ' (5326)
* JPEG2000: Add GDALGeorefPamDataset and GDALJP2AbstractDataset classes and use
them in JP2KAK, JP2ECW, JP2OpenJPEG, JPEG2000 and MrSID drivers so that PAM
georeferencing consistently overrides internal georeferencing
* GDALDataset::IRasterIO(): don't use BlockBasedRasterIO() when INTERLEAVE=PIXEL if the request band count is just 1
* CopyWholeRaster(): make default GDAL_SWATH_SIZE to 1/4 of GDAL_CACHEMAX instead of hard-coded value of 10 MB
* don't report empty RAT on GDALGetDefaultRAT() (5232)
* modify GDALGCPsToGeotransform() to do the regression in normalized coordinates to make the math more stable.
* expose new GDALComposeGeoTransforms() function.
* GDALDefaultOverviews::HaveMaskFile(): avoid fetching .ovr file
* JPEG2000: Fix reading georeferencing from some JPEG2000 files with duplicated GeoTIFF JP2Box (5249)
* Cleanup raster block mutex (5296)
* Driver registration: move JPEG2000 (Jasper based) after MrSID JPEG2000 support

Algorithms:
* warper: fix regression with lanczos resampling when yradius > xradius (5058)
* warper: Make GDALCreateGenImgProjTransformer2() and GDALCreateGenImgProjTransformer3() fail when the creation of the reprojection transformer fails
* warper: Fix warping when input pixel size is too close to 0 (5190)
* warper: revise formula of cubic resampling kernel, and a few optimizations (5209)
* warper: added DST_METHOD and support for GCP and TPS dest
* warper: add support for DST_METHOD=RPC
* warper: fix mode and near resampling corner computation (5311)
* warper: GDALGenImgProjTransform(): don't set panSuccess[i] to 1 in the middle of the function, if an intermediate transform before has set the flag to 0
* warper: fix cutline blending (5343)
* warper: Average/mode kernels: make them less sensitive to numerical precision issues (5350)
* warper: Average/mode kernels: avoid 'holes' when the source coordinates are in a reversed order from the target coordinates (5433)
* warper: provide prototypes and work around strict compiler requirements on some opencl platforms (5400)
* RPC: fix for computation of adfGTFromLL (5395)
* TPS: optimization for GCC x86_64 that make computation about twice faster with huge number of GCPs
* TPS: when using Armadillo to solve the coefficients, use solve(A,B) instead of inv(A)xB to faster resolution
* TPS: compute direct and inverse transformations in parallel when warping option NUM_THREADS or GDAL_NUM_THREADS config. options are set to > 1
* Geoloc: fix wrong bilinear interpolation in GDALGeoLocTransform() (5305)
* Geoloc: fail transformation of coordinates that is located on a nodata place of the geoloc array
* rasterize: preliminary support for MERGE_ALG=ADD for heatmaps
* gdal_grid: Add AVX optimized version of GDALGridInverseDistanceToAPower2NoSmoothingNoSearch
* fill_nodata: GDALFillNodata(): Fix use of uninitialized memory and integer overflows (4010, 5203)
* rpc: Fix out-of-bounds read in RPC dem cubic interpolation

Utilities:
* gdalinfo: add -listmdd and -mdd all options (5275)
* gdal_translate: add a -exponent option to be used with -scale
* gdal_translate: fix output file naming scheme in gdal_translate -sds (5119)
* gdal_translate: fix logic in detection non-gray color table level (5245)
* gdal_translate: add a -norat option
* gdal_translate: don't add 0.1 when -scale is used with a dstmin equal to dstmax (useful to generate a raster with uniform color, i.e. scaleRatio = 0)
* gdal_translate: use floor() to compute image coordinates from world coordinates when specifying -projwin (useful when extracting from left or top of upper-left corner, which generate negative image coordinates) (5367)
* gdaltindex: remove annoying warning 'Warning 1: Field location of width 255 truncated to 254' (5121)
* gdaltindex: add -src_srs_name and -src_srs_format to go with MapServer RFC100; add also a -f and -lyr_name options to be able to create a non-shapefile tileindex
* gdalwarp: Fix segfault where metadata values were not being nullchecked properly during conflict resolution (5069)
* gdalwarp: honor -s_srs when using cutline (5081)
* gdalwarp: copy nodata values from source to dest if -dstnodata is not given ; add option to not set dest nodata with -dstnodata None (5087)
* gdalwarp: do not return a non-zero exit status for warnings
* gdalwarp: prevent from copying statistics metadata (5319)
* gdal_rasterize: set the progress bar to 100% even when there's nothing to do
* gdal_grid: add support for different types of geometries (5341)
* gdal_grid: add -z_increase and -z_multiply options
* gdaldem: check that value of -z, -s, -az and -alt is numeric
* gdalbuildvrt: validate values of -srcnodata and -vrtnodata arguments
* gdal2tiles.py: Corrected OpenLayers code to reflect fix to geodetic resolution factor
* gdal2tiles.py: add --tmscompatible flag so as to produce 2 tiles at zoom level 0 in geodetic profile
* rgb2pct.py: Use python tempfile logic to avoid permissions issues with cwd (5079)
* gdal_edit.py: add a -ro option for drivers refusing to use the dataset in update-mode.
* gdal_calc.py: add --allBands options (5388)
* Add vsipreload.cpp that can be compiled as a shared library that can be LD_PRELOAD'ed as an overload of libc to enable VSI Virtual FILE API to be used with binaries using regular libc for I/O
* Add the wcs_virtds_params.py sample utility to be able to set the MapServer WCS virtual dataset parameters from a tileindex with rasters of mixed SRS (linked to MapServer RFC100)
* gdalcompare.py: move to scripts
* gdalcompare.py: ensure image dimensions match
* gdal_ls.py: Fix issue with UTF-8 characters

Multi driver changes:
* JPEG2000 drivers: take into account PixelIsPoint in GeoJP2 boxes, and expose AREA_OR_POINT=Point (5437)
* JP2KAK, JP2ECW, JP2OpenJPEG, JPEG2000 CreateCopy(): take into account AREA_OR_POINT=Point if present to write GeoJP2 box (5437)

AAIGRID:
* revert DECIMAL_PRECISION and add SIGNIFICANT_DIGITS to CreateCopy() (3732)

AIGRID:
* Turn off errors that can be triggered if the info has no VAT table related with this coverage (3031)

BAG driver:
* Recognise falseNorthing=10000000 as UTM South (5152)

DIMAP driver:
* fix memleak in error-code path

DTED driver:
* Speed optimization to be more friendly with CPU cache in GDAL_DTED_SINGLE_BLOCK=YES mode

ECW driver:
* fix crash in GDALDeregister_ECW() with ECW SDK 5 called from GDALDestroy() (5214)
* fix issue with ECW_CLEVER optimization when nPixelSpace != sizeof eBufDataType (5262)

Envisat driver:
* implement more reliable way of extracting GCPs from Meris tie-points (5423)
* add DEM corrections of TP-ADS products when present (5423)
* workaround dateline discontinuity in GCPs so they can be used with GDAL warping transformers (5423)

ERS driver:
* fix wrong interpretation of RegistrationCellX/RegistrationCellY (2612, 3056, 5075)

GeoRaster driver:
* fix RPC support (4038)
* fix read error when reading from pyramids (5076)
* make regular table and secure file a default for RDT (5127)
* fix error when reading NBIT pyramid levels (5199)
* show the VAT as RAT (5200)
* fix reading and writing of statistics metadata (5237)
* add generate pyramid create options (5288)
* fix incorrect geotransform interpretation when there is no SRS (5323)

GRASS driver:
* fix compilation issues for GRASS 7

GRIB driver:
* display temperature unit as deg Celsius in metadata (3606)

GTiff driver:
* when compiling against internal libtiff, in read-only mode, optimization to
avoid fetching the whole Strip/TileCounts and Strip/TileOffsets arrays
* add validation of source overview characteristics with COPY_SRC_OVERVIEWS (5059)
* convert invalid TIFFTAG_RESOLUTIONUNIT=0 to 1(Unknown) (5069)
* fix potential issues in gt_citation.cpp / CheckUTM()
* upgrade internal libtiff to latest CVS
* implement reading and writing of ICC profiles (5246)
* make SetColorInterpretation() round-trip with GetColorInterpretation();
read color interpretation from PAM if it exists (overrides internal tiff color interpretation);
set TIFFTAG_PHOTOMETRIC=PHOTOMETRIC_RGB if calling SetColorInterpretation() with R,G,B and no explicit PHOTOMETRIC creation option defined
* gt_wkt_srs.cpp: fix compilation with external libgeotiff. The file is dependent of quite a few CPL stuff, don't try to pretend otherwise
* implement GetVirtualMemAuto() for some formulations of TIFF files (RFC 45)
* fix reading a single-strip TIFF file where the single strip is bigger than 2GB (32bit builds only) (5403)
* look for .tab file before .wld/.tfw

GTX driver:
* Add nodata support (4660)

HDF4 driver:
* Skip "SceneLineNumber" table if present in the list of geolocation fields of
ASTER L1A dataset.

HDF5 driver:
* add support for ODIM H5 georeferencing method (5032)
* set SRS GEOGCS in all cases (reverts r25801 and closes 4160)
* support HDF5 NATIVE_SCHAR type, subdatsets without PAM (5088)
* release all opened handles so the file is closed at dataset closing (5103)
* better deal with dimensions of CSK-L1A HDF5 subdatasets (4227)
* avoid segmentation fault when H5Sget_simple_extent_ndims() returns negative value (5291)

HFA driver:
* add minimally tested support for u2 and u4 data in basedata
* use direct binning for thematic layers and real instead of integer for values (5066)
* add a HFA_COMPRESS_OVR config option to select whether to create compressed overviews (4866)
* fix rewriting of statistics in existing HFA file where base data value is 8-bit (5175)
* implement re-writing existing histogram in HFA file, after raster editing (5176)
* avoid segfaults when creating a Imagine dataset with an invalid WKT (5258)
* expose color columns in RAT as Integer with values in range [0-255] instead of Real with values [0-1] (5362)
* report histogram column as GFU_PixelCount instead of GFU_Generic (5359)
* ensure histogram column written as float for HFA when using RAT API (5382)

Idrisi driver:
* Improve coordinate system handling and min/max statistics (4980)

IRIS driver:
* add height information on bands; rename dataset metadata item CAPPI_HEIGHT --> CAPPI_BOTTOM_HEIGHT (5104)
* IRIS: add support for two bytes data (5431)

JP2ECW driver:
* fix problem with JP2 write with SDK v5
* fix issue with ECW_CLEVER optimization when nPixelSpace != sizeof eBufDataType (5262)
* avoid writing dummy GeoJP2 box when source dataset has no georeferencing (5306)

JP2KAK driver:
* preliminary support for Kakadu V7.x
* fix creation of unsigned int16 with reversible compression (4050)
* on Windows, use VSI cache for I/O by default, instead Kakadu own I/O layer
* remove extension from 12bit to 16bit (5328)

JP2OpenJPEG driver:
* avoid 'Empty SOT marker detected: Psot=12.' warning to be repeated several times
* add support for encoding GCPs in a GeoJP2 box (5279)
* avoid writing dummy GeoJP2 box when source dataset has no georeferencing (5306)

JPEG driver:
* add autodetection of bitmasks that are msb ordered (5102)
* avoid memory leak when GDALOpen'ing() a JPEG through a http:// URL, and make it possible to access its overviews
* return YCbCrK raw data for YCbCrK JPEG in GDAL_JPEG_TO_RGB = NO mode (instead of CMYK as before) (5097)
* implement reading and writing of ICC profiles (5246)
* internal libjpeg: apply patch for CVE-2013-6629
* allow fallback to PAM to read GCPs
* give priority to PAM GeoTransform if it exists and other source of geotransform (.wld, .tab) also exists (5352)

KMLSuperOverlay driver:
* recognize an alternate structure for raster KMZ file made of a single doc.kml
and tiles whose name pattern is kml_image_L{level}_{j}_{i}.{png|jpg}
* fix horrible speed performance in Open() (5094)
* fix crash at dataset closing and inability to read some big PNG tiles (5154)
* fix to generate files validating against OGC KML 2.2 schema
* put Style into conformity with ATC 7
* remove Region in root KML (ATC 41)
* add NAME and DESCRIPTION creation options; read them back as metadata
* add ALTITUDE and ALTITUDEMODE creation options
* directly write into .kmz file (instead of in temporary location)
* correctly write directories entry in .kmz file
* add progress callback

L1B driver:
* report correct values for GCP (2403)
* report more GCPS than before
* implement geolocation array
* add fetching of record metadata in .csv file
* add subdatasets with solar zenith angles, cloud coverage
* recognize NOAA-9/14 datasets whose dataset name in TBM header is encoded in EBCDIC and not in ASCII (2848)
* support opening a few NOAA <= 9 datasets that have no dataset name in the TBM header

LCP driver:
* better handling of projections (3255)
* add CreateCopy() (5172)

MBTiles driver:
* add write support
* avoid failure when there's no tile at the center of the maximum zoom level (5278)
* add capability to open /vsicurl/https:// signed AWS S3 URLs

MEM driver:
* Create(): use calloc() instead of malloc()+memset() for faster creation of huge in-memory datasets

NetCDF driver:
* fix to read netcdf-4 files with UBYTE data (5053)
* fix reading large netcdf-4 files with chunking and DEFLATE compression
* fix netcdf chunking when creating file with > 2 dims ; add CHUNKING creation option (5082 )
* fix duplicate nodata metadata when using CreateCopy() (5084)
* fix copying large metadata in netcdf driver (5113)
* fix netcdf geotransform detection (5114)
* fix netcdf driver irregular grids management (5118 and 4513)
* only call nc_close on a valid netcdf id when closing dataset
* try and identify .grd (and .nc3) files in netcdf-4 format (5291), so they are identified before the hdf5 driver

NITF driver:
* fix to support reading horizontal and/or vertical mono-block uncompressed images, even when the number of columns is <= 8192 (3263)
* update NITF Series list with new entries from MIL-STD-2411_1_CHG-3.pdf (5353)
* allow JP2KAK to be used as the JPEG2000 compression engine in the CreateCopy() case (5386)

PDF driver:
* Avoid reporting a Poppler error as a GDAL error on some newer USGS GeoPDF files (5201)
* PDF writing: automatically adjust DPI in case the page dimension exceeds the 14400 maximum value (in user units) allowed by Acrobat (5412)

PDS driver:
* Parse correctly MISSING_CONSTANT = 16FF7FFFFB as a IEEE754 single precision float expressed in hexadecimal; add support for ENCODING_TYPE = ZIP (data file compressed in a ZIP); recognize IMAGE_MAP_PROJECTION as an object included in UNCOMPRESSED_FILE object (3939)

PNG driver:
* Implement reading and writing of ICC profiles (5246)

PostgisRaster driver:
* Speed-up dataset opening (5046).
* Multi-tile multi-band caching added.
* Smarter use of the information advertized in raster_columns view.
* Avoid full table scan in situations without PKID/GIST indices.
* Use of quadtree.

Rasdaman driver:
* caching of tiles for datasets with more than one band (5298)
* connections are now kept for a whole session (5298)
* fixing connection-string regex (5298)
* fixing possible memory leaks (5298)

Rasterlite driver:
* fix resolution check typo in rasterlite driver

Raw drivers:
* implement GetVirtualMemAuto() (RFC 45)
* IRasterIO(): add special behavior to avoid going to block based IO when the dataset has INTERLEAVE=PIXEL and is eligible to direct I/O access pattern
* allow direct I/O access even if a small proportion of scanlines are loaded (improve QGIS use case where the overview display will load sparse scanlines, which would prevent direct I/O at full resolution afterwards)
* fix optimized RasterIO() when doing sub-sampling with non standard buffer pixel offset (5438)

RMF driver:
* fix decompression of 24-bit RMF DEM (5268)

RPFTOC driver:
* fix potential crash on some datasets when selecting the color palette (5345)

SAGA driver:
* add read/write support for .prj files (5316)

SRP driver:
* read TRANSH01.THF file to establish subdatasets (5297)

VRT driver:
* Implement non-linear scaling with a power function (addition of Exponent, SrcMin, SrcMax, DstMin, DstMax sub-elements in <ComplexSource>)
* Preserve 64bit integer image offsets (5086)
* Make sure that VRTSourcedRasterBand::AddMaskBandSource() takes into account specified window (5120)
* Make GDALAutoCreateWarpedVRT() return NULL when GDALSuggestedWarpOutput() fails
* VRTDataset::IRasterIO(): use source DatasetRasterIO even if band count is 1
* VRTWarped: avoid setting up relative paths for things that aren't file-like
* make relativeToVRT=1 work with NITF_IM:, NETCDF:, HDF5:, RASTERLITE:

WCS driver:
* ensure C locale is enforced before parsing floating point values

WMS driver:
* accept 'WMS:http://server/?SRS=EPSG:XXXX' syntax to select the preferred SRS in which to fetch layers
* CPLHTTPFetchMulti(): avoid doing a timeout-only select when there are no file descriptor to wait on (can happen when doing a file:// URL)
* allow cache location to be specified with GDAL_DEFAULT_WMS_CACHE_PATH configuration option if not provided in the XML (4540)
* Update to be able to understand slight changes in formatting of JSon output of ArcGIS mapserver protocol

XYZ driver:
* accept datasets that have missing values at beginning and/or end of lines, such as MNT250_L93_FRANCE.XYZ
* fix detection when there are only integral values with comma field separator
* reopen with 'rb' flags for Windows happyness

== OGR 1.11.0 - Overview of Changes ==

Core:
* GEOS support: require GEOS >= 3.1.0 and use the _r API of GEOS to avoid issues with the global GEOS error handlers
* exportToWkb(): ISO WKB generation with wkbVariant option (5330)
* geocoding: when getting several answers from server for a query, report geometries on second, third, etc.. feature, and not only first one (5057)
* allow auto loading of drivers to be disabled via config option
* remove obsolete OGRGeometryFactory::getGEOSGeometryFactory()
* OGRGeometryFactory::organizePolygons() in DEFAULT method: fix a case with 2 outer rings that are touching by the first point of the smallest one
* OGRGeometryFactory::organizePolygons(): optimization in ONLY_CCW case
* OGRGeometryFactory::organizePolygons(): Add an experimental mode : CCW_INNER_JUST_AFTER_CW_OUTER
* OGRLineString::segmentize() : do not set 0 as z for interpolated points, but the z from the previous point
* OGRLineString::setNumPoints(): add an optional argument to avoid zeroing the arrays
* Add OGRLineString::setZ()
* Add OGRLineString::Project() and OGRLineString::getSubline()
* OGRPolygon: add stealExteriorRing() and stealInteriorRing(int iRing)
* OGRLinearRing::isClockwise(): optimizations and make it work in a degenerated case when a vertex is used several times in the vertex list (5342)
* OGRLinearRing::isPointOnRingBoundary() : optimizations and take into account bTestEnvelope
* Add OGR_G_SetPointCount and OGR_G_SetPoints functions to API C (5357)
* OGREnvelope3D::Contains(): fix incorrect test
* Layer algebra: fix handling of method field mapping to output fields when output fields are precreated (5089)
* Layer algebra: when an error condition is skipped, call CPLErrorReset() (5269)
* OGRLayer::GetFeature(): make sure that the behavior is not influenced by
attribute or spatial filters in the generic implementation;
upgrade OGDI, PG, MySQL, MSSQLSpatial, OCI, SDE, PGeo, ODBC, WALK, IDB, SQLite and Ingres driver (5309)
* introduce OGRLayer::FindFieldIndex() / OGR_L_FindFieldIndex() to lookup potentially laundered field names (RFC 42)
* OGR SQL: upgrade to support RFC 41 (multiple geometry fields)
* OGR SQL: more stricter checks
* OGR SQL: make parsing error report a useful hint where the syntax error occurred
* OGR SQL: fix thread-safety of swq_op_registrar::GetOperator() (5196)
* OGR SQL: support not explicitly specifying AS keyword for aliasing a column spec
* OGR SQL: don't call CONCAT(a_column ...) or SUBSTR(a_column ...) as a_column
* OGR SQL: validate that arguments of MAX, MIN, AVG, SUM, COUNT are columns and not any expression since this is not supported
* OGR SQL: make AVG field definition a OFTReal
* OGR SQL: implement MIN(), MAX() and AVG() on a date (5333)
* OGR SQL: fix SELECT * on a layer with a field that has a dot character (5379)
* SQL SQLITE dialect: Make it available to all OGR drivers that have a specialized ExecuteSQL() implementation

OGRSpatialReference:
* Upgrade to EPSG 8.2 database
* identify LCC_2SP instead of LCC_1SP if lat_0==lat_1 and lat_2 is present (5191)
* add a variety of linear units to proj4 parsing (5370)
* Fix crash in CleanupESRIDatumMappingTable() if it is called twice (5090)
* fix order of AXIS and UNIT nodes in a VERT_CS node (5105)
* ecw_cs.wkt: add missing TOWGS84[-168,-60,320,0,0,0,0] to NTF datum (5145)
* fix OGRSpatialReference::importFromProj4() to work with non-C locale (5147)
* morph central_latitude to latitude_of_origin in morphFromESRI() (3191)
* OGRProj4CT: avoid using proj when the 2 projections are actually identical (5188)
* add sanity checks in OGR_SRSNode::importFromWkt() (5193)
* VERT_CS: when importing from proj.4 put AXIS node after UNIT; COMPD_CS: when importing from EPSG:x+y, set a more meaningful name for the COMPD_CS node
* OGRSpatialReference::Validate() : in addition to hand-validation, use WKT grammar from OGC 01-009 CT
* preserve authority when importing +init=auth_name:auth_code (e.g. +init=IGNF:LAMB93)

Utilities:
* ogrlineref: new utility to deal with linear geometries.
* ogrinfo: upgrade to support RFC 41 (multiple geometry fields)
* ogr2ogr: upgrade to support RFC 41 (multiple geometry fields)
* ogr2ogr: bump default value for -gt from 200 to 20000 (5391)
* ogr2ogr: add -addfields option to add new fields found in a source layer into an existing layer ; add -unsetFieldWidth option to unset field with and precision; add -dim layer_dim option to force the coordinate dimension of geometries to match the one of the layer geometry type
* ogr2ogr: Check that -t_srs is also specified when -s_srs is specified
* ogr2ogr: add an explicit error message to report FID of feature that couldn't be inserted when CreateFeature() fails
* ogr2ogr: make relaxed lookup optional and add a switch -relaxedFieldNameMatch to allow it (RFC 42)
* ogr2ogr: make sure that the progress bar reaches 100% when converting OSM
* ogr2ogr: make sure that target dataset is properly closed when a CreateFeature() fails (so that truncated shapefiles have their header file properly updated)
* ogr_dispatch.py: Sample Python script to dispatch features into layers according to the value of some fields or the geometry type
* ogrinfo.py: sync with ogrinfo (RFC 41)
* ogr2ogr.py: port -nlt PROMOTE_TO_MULTI option from ogr2ogr.cpp (5139)

CSV driver:
* avoid erroneously reset of file content when opening in update mode a file without header (5161)
* upgrade to support RFC 41 in read/write (multiple geometry fields)
* allow backslash doublequote to load (5318)

DGN driver:
* DGN writing: added polygon inner ring (holes) writing and MSLink writing (5381)

DXF driver:
* fix writing of 25D linestring where z is not constant (5210)
* fix writing of POLYLINE objects (5217, 5210)
* accept reading files starting with a TABLES section (5307)
* support reading 3DFACE and SOLID (5380) entities
* fix an error when processing clockwise circle arc (5182)
* avoid building an invalid polygon when edges cannot be reassembled: turn it into a multilinestring
* use CPLAtof() instead of atof() to avoid issues with locales
* fix linear approximation of circular and elliptic arc in HATCH boundaries (5182)

DWG driver:
* add support for reading AcDb3dPolyline (5260)
* fix linear approximation of circular and elliptic arc in HATCH boundaries (5182)

FileGDB driver:
* implement IgnoreFields API to speed-up a bit the conversion of a sub-set of fields when there's a huge amount of them (e.g. Tiger database).
* when writing <Length> of an attribute, use size in bytes (5192)
* implement ref counting of the FileGDB SDK API' Geodatabase* object to avoid issues on Linux 64bit with interleaved opening and closing of databases (4270)
* honour update flag to determine which operations are allowed or not
* add a driver global mutex to protect all calls as the FileGDB API SDK is not thread-safe at all
* add a COLUMN_TYPES layer creation option to override default column types; support reading/writing XML column types
* optimize GetFeatureCount() and GetExtent() when there are filters set
* set the default width for string fields to 65536.
The width can be configured with the FGDB_STRING_WIDTH configuration option
* fix creation and writing of Binary fields; enable reading
* add a CREATE_MULTIPATCH creation option

FME driver:
* fix Linux compilation

GeoJSON driver:
* recognize alternate formats such as the ones of https://code.google.com/p/election-maps/
* add read support for TopoJSON
* upgrade internal libjson-c to json-c 0.11 (4676)
* report integer values that are int64 as strings
* add 3d support to esri geojson reader (5219)
* be less strict on looking for esri field type tag (5219)
* fix sometimes incorrect result (significant digit lost...) when using -lco COORDINATE_PRECISION=0
* fix handling of huge coordinates when writing (5377)

GeoRSS driver:
* advertise OLCCreateField capability

GFT driver:
* switch http to https for the oauth2 link to improve security

GML driver:
* add support for multiple geometry columns (RFC 41)
* add support for reading Finnish National Land Survey Topographic data (MTK GML)
* add support for support Finnish NLS cadastral data and Inspire cadastral data.
* add support for Czech RUIAN VFR format
* add data/gml_registry.xml file to associate feature types with schemas.
* extend .gfs syntax to be able to fetch OGR fields from XML attributes.
* extend .gfs syntax to support multiple geometry columns, and define a geometry property name
* autodiscover all XML attributes as OGR fields when creating .gfs file if GML_ATTRIBUTES_TO_OGR_FIELDS is set to YES (5418)
* allow the <ElementPath> in .gfs to have several components that give the full XML path
* fix writing of .xsd file to avoid fid/gml_id being written as regular fields (5142)
* fix writing of global srsName attribute on the global boundedBy.Envelope when all layers have same SRS (5143)
* support for writing .gml/.xsd with fields of type StringList, RealList, IntegerList and support for parsing such .xsd files
* when writing .xsd for a datasource that has fields of type StringList, RealList or IntegerList, advertise SF-1 profile in the .XSD schema
* recognize xsd:boolean in XSD parsing and map it to String (5384)
* add STRIP_PREFIX and WRITE_FEATURE_BOUNDED_BY dataset creation option to help minimizing the size of GML files
* don't write top <gml:boundedBy> in GML files with multiple layers of different SRS
* fix segfault when reading a GML file with huge coordinates (5148)
* avoid opening our own .xsd files as valid datasources (5149)
* make driver thread-safe with Xerces
* open successfully GML datasources with 0 layers (249, 5205)
* fix tweaking of DescribeFeatureType requests
* support reading WFS 2.0 GetFeature documents with wfs:FeatureCollection as a wfs:member of the top wfs:FeatureCollection
* fix for crash on certain xlink:href with GML_SKIP_RESOLVE_ELEMS=NONE (5417)
* GML geometry: fix duplicated points in GML_FACE_HOLE_NEGATIVE=YES mode (TopoSurface) (5230)
* GML geometry: accept CompositeSurface as a child of surfaceMembers (5369)
* GML geometry: join multilinestrings to linestrings in rings
* GML geometry: correctly deal with MultiSurface of Surface of PolygonPatch where a PolygonPatch has only interior ring(s) and no exterior ring (5421)
* GML geometry: accept formulations of 'MULTIPOINT EMPTY, MULTILINESTRING EMPTY, MULTIPOLYGON EMPTY and GEOMETRYCOLLECTION EMPTY that are valid GML 3 (and accepted by PostGIS)
* GML geometry: make use of cs, ts and decimal attributes of (deprecated) gml:coordinates element
* GML geometry: accept XML header and comments

GPX driver:
* advertise OLCCreateField capability

ILI driver:
* add support for multiple geometry columns (RFC 41)
* use IlisMeta model reader/writer instead of IOM
* add layers for surface and area geometries

KML driver:
* output KML that validates the ogckml22.xsd schema by placing <Schema> elements under the <Document> level (5068)
* in writing mode, avoid defining an extending schema for the name and description fields (related to 5208)

LIBKML driver:
* various checks, fixes and improvements related to OGC KML 2.2 Abstract Test Suite
* add support for reading <gx:Track> as a LINESTRING (5095)
* add support for writing and reading <snippet>
* add support for writing atom:author, atom:link, phonenumber, Region,
ScreenOverlay, 3D model, StyleMap
* add support for reading and generating Camera object
* add layer creation options to generate a LookAt element at layer level
* if UPDATE_TARGETHREF dataset creation option is defined, a NetworkLinkControl/Update document will be created
* add dataset creation options to generate a NetworkLinkControl element
* add dataset and layer creation options LISTSTYLE_ICON_HREF and LISTSTYLE_TYPE
* add support for writing a NetworkLink
* add support for creating PhotoOverlay objects
* add support for creating BalloonStyle elements
* offer LIBKML_USE_SIMPLEFIELD configuration option can be set to NO to use Data element instead of SimpleField
* add layer creation option FOLDER to optionally write layers as Folder instead of Document
* add dataset and layer creation options NAME, VISIBILITY, OPEN, SNIPPET and DESCRIPTION
* workaround bugs in pretty serializers
* when writing a .kmz file, put layers .kml docs into a layers/ subdirectory
* fix mem leaks, and use after free in kml2FeatureDef() (5240)
* create document with default namespace set to http://www.opengis.net/kml/2.2
* when writing, consider empty strings as unset (useful when converting from CSV)
* don't write empty <Style /> element if OGR_STYLE is empty string
* transform multigeometry with one single component into single geometry
* create libkml/ subdirectory entry in .kmz

MITAB driver:
* support reading MIF file with no associated MID file (when MIF file advertises 'Columns 0') (5141)

MSSQLSpatial driver:
* Fix MSSQL to be aware of removed tables (5071)
* Eliminate the per table server access when identifying the spatial reference (5072)
* Improve detection of geometry column with MSSQL select layer (4318)
* Fix for an issue with multicolumn primary keys (5155)
* Add support for handling non spatial data tables (5155)
* Fix creation of spatial_ref_sys and geometry_columns tables (5339)

MySQL:
* robustness for huge coordinates in spatial filter

NAS driver:
* also accept XML files that have NAS-Operationen_optional.xsd in header
* make driver thread-safe with Xerces
* warn when geometry cannot be saved

OCI driver:
* fix make plugin option

ODBC driver:

OSM driver:
* support relations with more than 2000 members in a OSM XML file (5055)
* make the driver work with PBF files produced by osmconvert.
* osmconf.ini: report the waterway attribute for the lines layer (5056)
* add an option in osmconf.ini to enable creating a 'all_tags' field, combining both fields specifically identified, and other tags
* always use quoting of key/values in other_tags field (5096)
* use alternative implementation of FindNode() that is a bit more efficient when process is CPU-bound
* fix issue with attribute filtering
* avoid GetNextFeature() to be blocked in certain conditions in non-interleaved mode (5404)

PG driver:
* upgrade to support RFC 41 in read/write (multiple geometry fields)
* use ST_Estimated_Extent() on table layers if GetExtent() is called with force = 0 (5427)
* add a OGR_TRUNCATE configuration option (5091)
* let postgres name the constraints to avoid long name truncation resulting in conflicts (5125)
* map PG 'numeric' to OFTReal instead of OFTInteger
* retrieve SRID from geometry value, if not found in geometry_columns (5131)
* fix ResolveSRID() when the current user has no select rights on geometry_columns table (5131)
* fix retrieval of SRID on a table without SRID constraint, and when the datasource is opened with ' tables=fake' (5131)
* robustness for huge coordinates in spatial filter
* fix delete layer bug on PG 2.0 (5349)
* fix to be able to detect version of EntrepriseDB (5375)
* Fix UTF-8 encoded string length

PGDump driver:
* upgrade to support RFC 41 (multiple geometry fields)
* fix error when inserting a string that has backslash in it with PostgreSQL >= 9.1 (5160)

REC driver:
* fix runtime compatibility for Windows

Shapefile driver:
* fix buffer overflow when creating a field of type Integer with a big width (5135)
* delete temporary .cpg file earlier in REPACK
* fix leak of file descriptor in error code paths
* speed optimizations when reading geometries from .shp (5272)
* add a 2GB_LIMIT=YES layer creation option (and SHAPE_2GB_LIMIT configuration option)
* .sbn support: increase allowed max depth from 15 to 24 (5383)

SOSI driver:
* fix memory leaks, and crashes
* advertise OLCCreateField capability

S57 driver:
* make the driver thread-safe
* remove use of MAX_CLASSES in favor of dynamic sizing (5227)
* fix GetFeature() on DSID layer

SQLite/Spatialite driver:
* Make SQLite SQL dialect compatible with multiple geometry fields (note: however, multiple geom fields is not yet supported by OGR SQLite table layers)
* implement SetAttributeFilter() on SQL result layers, to directly inject it as a WHERE clause when possible
* add the OGR_SQLITE_PRAGMA configuration option
* Spatialite: correctly set proj4text field of spatial_ref_sys when inserting a new SRS in the spatial_ref_sys table (5174)
* Spatialite: fix insertion in spatial_ref_sys to avoid issues with non-numeric authority codes (auth_srid)
* Spatialite: make creation of database much faster with spatialite 4.1 by using InitSpatialMetaData(1) (5270)
* Spatialite: use thread-safe initialization for spatialite >= 4.1.2
* avoid Spatialite views to emit (hidden) errors that cause troubles to MapServer OGR input driver (5060)
* attempt to make VirtualOGR (and thus sqlite dialect) work even with a libsqlite3 compiled with SQLITE_OMIT_LOAD_EXTENSION (on Unix only)
* add warning when calling CreateField() with a field name that is 'ROWID' since it can cause corrupted spatial index
* serialize StringList as non-truncated strings
* detection of DateTime/Date/Time column type on the result of a max() / min() function
* ensure fields of type DateTime/Date/Time are properly recognized if the table is empty (5426)

VFK driver:
* fix memory leak
* change VFK header check (first line starts with '&H')
* implement OGR_VFK_DB_DELETE configuration option
* read all data blocks by default
* fix GetFeatureCount()
* don't use existing internal db when it's older then original vfk file

VRT driver:
* add support for multiple geometry columns in OGRVRTLayer, OGRVRTUnionLayer and OGRVRTWarpedLayer (RFC 41)
* add validation of OGR VRT document against the schema (if libXML2 available);
can be disabled by setting GDAL_XML_VALIDATION configuration option to NO
* make relativeToVRT=1 work with CSV:filename or GPSBABEL:driver:filename (5419)

WFS driver:
* WFS 2.0: be a good citizen and send TYPENAMES (with a S) for GetFeature request (but still TYPENAME for DescribeFeatureType)
* accept TYPENAME(S) in URL with characters escaped by '%' (5354)

XLS driver:
* don't use sheetId attribute from workbook.xml to link a sheet name to its filename. The first sheet is sheet1.xml, etc...

XPlane driver:
* accept V1000 APT files

== SWIG Language Bindings ==

All bindings:
* include constraints.i in gdal.i so that NONNULL constraints are really applied
* add Feature.SetFieldBinaryFromHexString()
* add SpatialReference.EPSGTreatsAsNorthingEasting (5385)
* map OGR_L_GetStyleTable(), OGR_L_SetStyleTable(), OGR_DS_GetStyleTable(), OGR_DS_SetStyleTable()
* Add OGR_STBL_AddStyle() and map all OGR_STBL_ C methods to SWIG

CSharp bindings:
* Fix handling UTF8 strings in GDAL C (4971)
* Add C typemaps for RFC-39 functions (5264)
* Fix typo in OGRLayerAlg.cs (5264)
* Add missing typemaps for C (5265)

Java bindings:
* run 'make ANDROID=yes' in swig/java to generate SWIG bindings that compile for Android (5107)
* fix linking issue that is encountered in non libtool builds with g++ 4.6
* add multireadtest utility
* respect JAVA_HOME set via configure

Perl bindings:
* ColorTable method of ColorTable class was documented but ColorEntries was
implemented. Implemented but deprecated ColorEntries.

Python bindings:
* fix ref-counting of callable passed to gdal.PushErrorHandler() that could cause segfaults (5186)
* make gdal_array.NumericTypeCodeToGDALTypeCode accept numpy dtype arguments (5223)
* add default xoff,yoff,xsize,ysize values to ReadRaster calls
* make ogr.CreateGeometryFromWkt() and SpatialReference.ImportFromWkt() properly validate their argument (5302)

= GDAL/OGR 1.10.0 Release Notes (r23656 to r25905) =

== In a nutshell... ==

* New GDAL drivers:
- ARG: read/write support for ARG datasets (4591)
- CTable2: read/write support for CTable2 datum grid shift format
- DDS: write-only support for DirectDraw Surface format (5017)
- IRIS: read support for products generated by the IRIS weather radar software (4854)
- MAP: read OziExplorer .map files (3380)
- MBTiles: read-only support for MBTiles rasters (needs libsqlite3)
* New OGR drivers:
- ElasticSearch: write-only support to write into ElasticSearch databases (needs libcurl)
- ODS : read/write support for OpenOffice .ods (Open Document Spreadsheets) (needs libexpat)
- OSM : read-only support for .osm / .pbf OpenStreetMap files
- PDF: read/write support for vector/structured PDF files
- XLSX: read/write support for MS Excel 2007 and later Open Office XML .xlsx spreadsheets (needs libexpat)
* RFC 39: OGR Layer algebra methods : http://trac.osgeo.org/gdal/wiki/rfc39_ogr_layer_algebra
* Add a SQL SQLite dialect : http://gdal.org/ogr/ogr_sql_sqlite.html
* Make GDAL loadable as a SQLite3 extension (named VirtualOGR) (4782)
* /vsicurl_streaming/: new virtual file system handler designed to read in streaming mode dynamically generated files
* GDAL API_PROXY mechanism to run GDAL drivers in a separate process: http://gdal.org/gdal_api_proxy.html
* Significantly improved drivers : PDF, SQLite, JP2OpenJPEG
* Add a geocoding client : http://gdal.org/ogr/ogr__geocoding_8h.html
* Upgrade to EPSG 8.0 database

== New installed files ==

* data/ozi_datum.csv
* data/ozi_ellips.csv
* data/osmconf.ini
* include/cpl_progress.h
* include/cpl_spawn.h
* bin/gdalserver[.exe]

== Backward compatibility issues ==

Due to the 2-digit number '10' in GDAL 1.10, the GDAL_VERSION_NUM macro has been changed.
The new advised way of testing the GDAL version number (for GDAL 1.10 or later) at compilation time is :

ifdef GDAL_COMPUTE_VERSION /* only available in GDAL 1.10 or later */
if GDAL_VERSION_NUM >= GDAL_COMPUTE_VERSION(1,10,0)
///
endif
endif

Testing of previous versions is of course unchanged.

== GDAL/OGR 1.10.0 - General Changes ==

Build(Unix):
* New optional dependencies : libpcre (for regular expressions support in SQLite), libxml2 (validation of GML files)
* --with-python: make it work with python3, and also accept path to python binary as argument of --with-python (4725)
* Use nc-config to detect netcdf compilation and linking parameters (4424)
* Add frmts/vrt to CONFIG_CFLAGS for development version of gdal-config (needed for postgis 2.0 compilation)
* Fix compilation failure with iconv on FreeBSD (4525)
* Make FileGDBAPI detection work with FileGDBAPI v1.1 and v1.2 (4570)
* Fix build on Gentoo with its custom zlib 1.2.6 with the OF macro removed
* Mark man target as phony (4629)
* Add guess for the directory where to find openjdk on Ubuntu 12.04 (4643)
* Look for geotiff headers in /usr/include/libgeotiff too (4706)
* For install target, create gdalplugins subdirectory in $(DESTDIR)$(INST_LIB)/ (Unix, except MacOSX)
* Better detection of OpenCL headers and library (4665)
* Changed libdap test to use dap-config to detect version when possible

Build(Windows):
* (Preliminary) support to build INGRES
* Make CPLGetErrorHandlerUserData() exported
* Make OGDI include path overridable (to match OSGeo4W's default location)
* Build and install plugins

Resources

Use this package?

Scan your Python project for dependency vulnerabilities in two minutes

Scan your application

Severity Details

CVSS Base Score

MEDIUM 5.0

CVSS v2 Details

MEDIUM 5.0
Access Vector (AV)
NETWORK
Access Complexity (AC)
LOW
Authentication (Au)
NONE
Confidentiality Impact (C)
PARTIAL
Integrity Impact (I)
NONE
Availability Impact (A)
NONE