[gdal-dev] VSI CIFS driver

Even Rouault even.rouault at spatialys.com
Fri Dec 13 02:38:24 PST 2019


Craig,

> We have to access some customer data via their CIFS shares on a regular
> basis.
> 
> To date we have been doing it via a setuid script which mounts and unmounts
> the CIFS share locally, then treats the files as local. We're
> containerising our workers, and using kernel mounts is no longer possible
> (at least, not even slightly securely.)

Is upgrading to Kernel 4.18 an option ?
See https://www.phoronix.com/scan.php?page=news_item&px=Linux-4.18-FUSE

> 
> This means we need a userspace CIFS implementation for a lot of our GDAL
> code, and a VSI CIFS driver would seem to be the right thing to do.
> Presumably it will be a fairly thin wrapper of libsmb.
> 
> 2. Would it be something GDAL might accept as a core contribution, or
> should we expect to maintain it outside of core?

Hard to know where to draw the line. If recent kernels would make this no 
longer needed, then its value in core might be low.

> 3. We noticed https://github.com/OSGeo/gdal/pull/1289 should allow VSI
> plugins to be registered from Python,

It allows VSI plugins to be registered with a C interface. So if you'd want ot 
use that from Python, you'd likely have to play with ctypes or similar 
technology.

> Are there any docs on how to actually do this?

Well, the Doxygen docs of VSIAllocFilesystemPluginCallbacksStruct and 
VSIInstallPluginHandler in cpl_vsi.h . And the tutorial you'll add if you 
proceed that way ;-)


Even

-- 
Spatialys - Geospatial professional services
http://www.spatialys.com


More information about the gdal-dev mailing list