kopia lustrzana https://gitlab.com/sane-project/website
99 wiersze
4.9 KiB
HTML
99 wiersze
4.9 KiB
HTML
<!-- 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 <<a href="mailto:steve@icarus.com">steve@icarus.com</a>> wrote:<br>
|
||
<p>
|
||
<i>> > I think we should have a look how TWAIN does this on windows/mac. Of</i><br>
|
||
<i>> > course using pipes is the simplest way to do it, but as far as I know</i><br>
|
||
<i>> > there are no pipes on Windows and Mac. </i><br>
|
||
<p>
|
||
<i>> 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>> And by the way, I do *not* want to go sending 300DPI color images around</i><br>
|
||
<i>> 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->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 : <<a href="mailto:andreas.beck@ggi-project.org">andreas.beck@ggi-project.org</a>> =
|
||
<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>
|