sane-project-website/old-archive/1999-08/0148.html

99 wiersze
4.9 KiB
HTML

This file contains invisible Unicode characters!

This file contains invisible Unicode characters that may be processed differently from what appears below. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to reveal hidden characters.

<!-- received="Sat Aug 14 13:24:51 1999 PDT" -->
<!-- sent="Sat, 14 Aug 1999 20:24:23 +0200" -->
<!-- name="Andreas Beck" -->
<!-- email="becka@rz.uni-duesseldorf.de" -->
<!-- subject="Re: Starting a discussion about SANE and TWAIN..." -->
<!-- id="" -->
<!-- inreplyto="199908141541.IAA16419@icarus.com" -->
<title>sane-devel: Re: Starting a discussion about SANE and TWAIN...</title>
<h1>Re: Starting a discussion about SANE and TWAIN...</h1>
<b>Andreas Beck</b> (<a href="mailto:becka@rz.uni-duesseldorf.de"><i>becka@rz.uni-duesseldorf.de</i></a>)<br>
<i>Sat, 14 Aug 1999 20:24:23 +0200</i>
<p>
<ul>
<li> <b>Messages sorted by:</b> <a href="date.html#148">[ date ]</a><a href="index.html#148">[ thread ]</a><a href="subject.html#148">[ subject ]</a><a href="author.html#148">[ author ]</a>
<!-- next="start" -->
<li> <b>Next message:</b> <a href="0149.html">Andreas Beck: "Re: Starting a discussion about SANE and TWAIN..."</a>
<li> <b>Previous message:</b> <a href="0147.html">Stephen Williams: "Re: [Fwd: Re: Discussion about SANE and TWAIN...]"</a>
<li> <b>In reply to:</b> <a href="0144.html">Stephen Williams: "Re: Starting a discussion about SANE and TWAIN..."</a>
<!-- nextthread="start" -->
<!-- reply="end" -->
</ul>
<!-- body="start" -->
Stephen Williams &lt;<a href="mailto:steve@icarus.com">steve@icarus.com</a>&gt; wrote:<br>
<p>
<i>&gt; &gt; I think we should have a look how TWAIN does this on windows/mac. Of</i><br>
<i>&gt; &gt; course using pipes is the simplest way to do it, but as far as I know</i><br>
<i>&gt; &gt; there are no pipes on Windows and Mac. </i><br>
<p>
<i>&gt; Direct function calls.</i><br>
<p>
Though the interface is through a single function with a protocol that<br>
is very "streamlike".<br>
<p>
<i>&gt; And by the way, I do *not* want to go sending 300DPI color images around</i><br>
<i>&gt; through pipes.</i><br>
<p>
If you are using SANE, you probably do so already. Most backends are<br>
implemented to spawn off a reader process, which communicates with the<br>
main (control) process via a pipe. The same applies again, when you use the<br>
source from GIMP as a plugin, giving two pipes between the source and the<br>
application, plus an "effective" on at the backend-&gt;scsi interface.<br>
<p>
I do not see a performance or other problem with that. Maybe for video<br>
capturing, but not even for very fast scanners. As long as the hardware-bus<br>
the scanner is attached to, can carry it, I see no problem for a loopback <br>
device like a pipe to carry it.<br>
<p>
Doing direct function calls means having the frontend in the application<br>
memory space. And if we don't go through netsane, it means having to give<br>
special priviledges to the application, as the backend is then also in the<br>
application memory space and it needs to open the hardware path to the<br>
device. <br>
<p>
_I_ will not do that. I do trust a small and opensource piece of software<br>
like a SANE frontend and the corresponding backend. But I do not feel like<br>
trusting every funny binary-only application that happens to want to use<br>
TWAIN. <br>
<p>
It isn't a question of assuming dragons everywhere, it's a question of <br>
maintaining stability. The more complex the application, the more likely<br>
it has a bug. <br>
This is the reason, why Unix people keep the size of security critical tools <br>
small. You can have a nice graphical frontend to passwd, but what it usually <br>
does, is to run at reduced priviledge and spawn the simple textmode passwd <br>
program as required.<br>
<p>
Thus I do think, that running everything in one memory space is a bad idea<br>
for security conscious OSes and users, and that there should be at least<br>
one separation between the application and talking to the hardware.<br>
<p>
O.K. - I can use the netsane interface to shield me, but that's a pretty<br>
awkward way I'd say.<br>
<p>
If pipes turn out to be too slow for some applications, we can talk about<br>
alternate transports (shmem for example). If the transport layer is well <br>
encapsulated, that should be trivial to change.<br>
<p>
CU, Andy<br>
<p>
<pre>
--
= Andreas Beck | Email : &lt;<a href="mailto:andreas.beck@ggi-project.org">andreas.beck@ggi-project.org</a>&gt; =
<p>
<pre>
--
Source code, list archive, and docs: <a href="http://www.mostang.com/sane/">http://www.mostang.com/sane/</a>
To unsubscribe: echo unsubscribe sane-devel | mail <a href="mailto:majordomo@mostang.com">majordomo@mostang.com</a>
</pre>
<!-- body="end" -->
<p>
<ul>
<!-- next="start" -->
<li> <b>Next message:</b> <a href="0149.html">Andreas Beck: "Re: Starting a discussion about SANE and TWAIN..."</a>
<li> <b>Previous message:</b> <a href="0147.html">Stephen Williams: "Re: [Fwd: Re: Discussion about SANE and TWAIN...]"</a>
<li> <b>In reply to:</b> <a href="0144.html">Stephen Williams: "Re: Starting a discussion about SANE and TWAIN..."</a>
<!-- nextthread="start" -->
<!-- reply="end" -->
</ul>