[sane-devel] [New backend] Web Services for Devices - wsd-scan

Alexander Pevzner pzz at apevzner.com
Mon Jan 6 13:55:09 GMT 2020


Hi, Klaus,

On 1/6/20 10:06 AM, Klaus Kämpf wrote:

> based on previous discussions[1] and out of personal need[2], I
> started to develop a new backend, implementing the Web Services for
> Devices standard[3].

Thank you very much!

I want to say one thing. Using libcurl in a project like this is very 
dangerous. libcurl in general is thrad-safe, but its global 
initialization is not.

This is not a problem, when libcurl is used from a main program, but it 
becomes a problem when libcurl is used from a loadable plugin. If there 
is 2 or more such a plugins on a program, sooner or later they will 
crash a process.

OpenSSL has a similar problem. GnuTLS doesn't.

libsoup is safe. libsoup is not very pleasant to deal with, and it 
brings a dependency on glib, but at least it is safe.

lubcups also looks as a considerable alternative, and it contains a 
generic HTTP client. Though it will look a bit strange if scanner plugin 
will depend on a CUPS API library :-)

-- 

	Wishes, Alexander Pevzner (pzz at apevzner.com)



More information about the sane-devel mailing list