[sane-devel] [FYI] new ls5000 backend

2007-05-12 Thread Johannes Berg
Hi,

  I don't plan to submit any patches to coolscan2.c because that code is
  in my eyes horrible to work with. I also don't plan to submit ls5000.c
  to SANE because apparently SANE still requires that the backend builds
  with ancient compilers.
 
 I've added ls5000 to sane-backends-extras 1.0.18.8.

Oh, I'll probably have to submit a patch than that prevents coolscan2
from binding the ls5000.

johannes
-- next part --
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 190 bytes
Desc: This is a digitally signed message part
Url : 
http://lists.alioth.debian.org/pipermail/sane-devel/attachments/20070512/c9047a2b/attachment.pgp
From johan...@sipsolutions.net  Sat May 12 09:29:22 2007
From: johan...@sipsolutions.net (Johannes Berg)
Date: Sat May 12 10:55:09 2007
Subject: [sane-devel] [FYI] new ls5000 backend
In-Reply-To: 1178961968.2647.7.ca...@johannes.berg
References: 117306.8896.22.ca...@johannes.berg
871whme7lf@sonic.technologeek.org
1178961968.2647.7.ca...@johannes.berg
Message-ID: 1178962162.2647.10.ca...@johannes.berg

On Sat, 2007-05-12 at 11:26 +0200, Johannes Berg wrote:

 Oh, I'll probably have to submit a patch than that prevents coolscan2
 from binding the ls5000.

This should work. It doesn't prevent it from claiming the USB interface
but then queries the scanner and if it's a LS-5000 gives up, that
*should* give ls5000 a chance to be queried as the next scanner if I
correctly understand how querying works.

johannes

--- sane-backends-1.0.18.orig/backend/coolscan2.c   2007-05-12 
11:26:31.0 +0200
+++ sane-backends-1.0.18/backend/coolscan2.c2007-05-12 11:28:00.0 
+0200
@@ -1791,8 +1791,6 @@ cs2_open (const char *device, cs2_interf
 s-type = CS2_TYPE_LS2000;
   else if (!strncmp (s-product_string, LS-4000 ED  , 16))
 s-type = CS2_TYPE_LS4000;
-  else if (!strncmp (s-product_string, LS-5000 ED  , 16))
-s-type = CS2_TYPE_LS5000;
   else if (!strncmp (s-product_string, LS-8000 ED  , 16))
 s-type = CS2_TYPE_LS8000;
 




[sane-devel] [FYI] new ls5000 backend

2007-05-11 Thread Johannes Berg
Hi,

Because coolscan2 doesn't work with my Coolscan 5000 ED film scanner I
more or less rewrote coolscan2 as ls5000. During the cleanup I removed
support for all other scanners, it shouldn't be too hard to add back in.

Things I changed:
 * use C99 constructs for easier command packing
 * clean up coding style to conform to something I can work with
 * remove LS-40/4000/... support
 * add LS-5000 support (the coolscan2 package claims to support it but
   it doesn't work)
 * add grayscale support
 * clean up options
 * rip out the sane_read implementation and replace with something
   sane (excuse the pun)
 * add lots of comments about what the backend is doing
 * possibly lots more

I don't plan to submit any patches to coolscan2.c because that code is
in my eyes horrible to work with. I also don't plan to submit ls5000.c
to SANE because apparently SANE still requires that the backend builds
with ancient compilers.

The project has a tiny website at
http://johannes.sipsolutions.net/Projects/ls5000, code is available via

   git clone http://git.sipsolutions.net/ls5000.git

(and that URL also works as a gitweb URL)

johannes
-- next part --
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 190 bytes
Desc: This is a digitally signed message part
Url : 
http://lists.alioth.debian.org/pipermail/sane-devel/attachments/20070511/71b4025c/attachment.pgp
From r...@exactcode.de  Fri May 11 14:03:14 2007
From: r...@exactcode.de (=?iso-8859-1?q?Ren=E9_Rebe?=)
Date: Fri May 11 14:04:18 2007
Subject: [sane-devel] [FYI] new ls5000 backend
In-Reply-To: 117306.8896.22.ca...@johannes.berg
References: 117306.8896.22.ca...@johannes.berg
Message-ID: 200705111603.15150.r...@exactcode.de

Hi Johannes :-)

On Friday 11 May 2007 14:58:26 you wrote:

 Because coolscan2 doesn't work with my Coolscan 5000 ED film scanner I
 more or less rewrote coolscan2 as ls5000. During the cleanup I removed
 support for all other scanners, it shouldn't be too hard to add back in.
 
 Things I changed:
  * use C99 constructs for easier command packing
...
 I don't plan to submit any patches to coolscan2.c because that code is
 in my eyes horrible to work with. I also don't plan to submit ls5000.c
 to SANE because apparently SANE still requires that the backend builds
 with ancient compilers.

Indeed SANE is suppost to build on various other, aging Un*x flavours
and this is why so far no backend does use C99 features (at least as
far as I know and I also avoided it in my Avision backend as well).

Yours,

-- 
  Ren? Rebe - ExactCODE GmbH - Europe, Germany, Berlin
  http://exactcode.de | http://t2-project.org | http://rene.rebe.name


[sane-devel] [FYI] new ls5000 backend

2007-05-11 Thread Johannes Berg
Hi Ren?,

 Indeed SANE is suppost to build on various other, aging Un*x flavours
 and this is why so far no backend does use C99 features (at least as
 far as I know and I also avoided it in my Avision backend as well).

Yeah, I know, that's why I said I don't plan to submit it. I have better
things to do than try making this compile on ancient^Waging systems :)

If anybody wants to do it, all the better, but if it makes the code as
unreadable and stupid as it was in coolscan2.c (like parsing bytes from
a string at runtime...) then I will not take such a patch nor help
maintain a forked version.

johannes
-- next part --
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 190 bytes
Desc: This is a digitally signed message part
Url : 
http://lists.alioth.debian.org/pipermail/sane-devel/attachments/20070511/6ff272d3/attachment.pgp
From kevin.molo...@colorado.edu  Fri May 11 15:10:21 2007
From: kevin.molo...@colorado.edu (Kevin Moloney)
Date: Fri May 11 15:10:31 2007
Subject: [sane-devel] Crash problem with Nikon LS-20 on Ubuntu 7.04 PPC
Message-ID: ad21130c-44cb-4a8d-a301-0c0997181...@colorado.edu

Hello Sane people,

I'm trying to revive my old Nikon LS-20 SCSI scanner on an Apple  
Powerbook G3 Wallstreet running Ubuntu 7.04.

The SANE distro included with Ubuntu initially recognizes the  
scanner, but then pops up an error message two or three times saying:

Failed to obtain value of option source: Invalid argument.

After closing the error message for the third time, SANE crashes.  
Then I can't access the scanner without a reboot.

Suggestions? Permissions problem? SCSI problem? Hardware problem?

SANE has worked before with this scanner, on the same machine but  
running YDL 4.

I'm not the most fluent in Linux, so if the answer is obvious, my  
apologies.

Kevin
--
When people start talking of man's inhumanity to man it means they  
actually haven't walked far enough. -- Bruce Chatwin

Kevin Moloney Photography
303/604-9860 phone
http://www.KevinMoloney.com/



[sane-devel] Re: Is reverse engineering legal ?

2005-08-08 Thread Johannes Berg
On Sat, 2005-08-06 at 17:29 +0200, Julien HENRY wrote:
 No, I don't include ASM in my program. I just inspect
 ASM to understand USB logs, and I write my personnal C
 code that imitate what ASM does.

Yeah. And they can claim that they developed the algorithms and thus
you're violating their Copyright. By actually looking at their code
you're tainted.

Ultimately, it's your choice (and possibly problem). I wouldn't do it
that way for the given reasons.

johannes
-- next part --
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 832 bytes
Desc: This is a digitally signed message part
Url : 
http://lists.alioth.debian.org/pipermail/sane-devel/attachments/20050808/be6d7bef/attachment.pgp
From p...@all-the-johnsons.co.uk  Mon Aug  8 09:31:36 2005
From: p...@all-the-johnsons.co.uk (Paul F. Johnson)
Date: Mon Aug  8 09:52:27 2005
Subject: [sane-devel] Re: Is reverse engineering legal ?
In-Reply-To: 1123491622.6068.16.camel@localhost
References: 20050806152904.58093.qm...@web26610.mail.ukl.yahoo.com
1123491622.6068.16.camel@localhost
Message-ID: ikwd4o.shf...@webmail.all-the-johnsons.co.uk

Hi,

  No, I don't include ASM in my program. I just inspect
  ASM to understand USB logs, and I write my personnal C
  code that imitate what ASM does.
 
 Yeah. And they can claim that they developed the algorithms and thus
 you're violating their Copyright. By actually looking at their code
 you're tainted.

Depends on if you're in the EU or not. In the EU, if either the company has
gone to the wall or the software will not work on your specific hardware, you
can (in some circumstances) reverse engineer the source to fix it. IANAL, but
looking at logs doesn't taint anyone - logs just tell you what messages have
been sent, nothing about the code etc.
 
 Ultimately, it's your choice (and possibly problem). I wouldn't do it
 that way for the given reasons.

That's always the choice. I know I've reverse engineered the odd scanner 
printer or three, released the source and nothing has happened (I even offered
it to the company who made the scanner!)

TTFN

Paul
-- 
Logic, my dear Zoe, is merely the ability to be wrong with authority - Dr
Who




[sane-devel] Nikon LS 5000]

2005-07-07 Thread Johannes Berg
Ariel Garcia wrote:

ICE works great for non kodachrome films, and sane will provide your with 
the 4th (infrared) channel, but i am not sure how to use that info in an 
automated way (substraction layer in gimp??)
  

Search on google -- there's an ICE plugin for GIMP.

johannes



[sane-devel] scanimage: where's the _image_?

2005-06-27 Thread Johannes Berg
--=-MxtQOQjlnYl8szCKY9r7
Content-Type: text/plain
Content-Transfer-Encoding: quoted-printable

On Mon, 2005-06-27 at 11:38 -0400, David Morse wrote:

 scanimage looks like the command line way to scan an image.=20
 Invoking it causes the scanner to scan, and it looks like this:
=20
   % scanimage -d epson:/dev/usbscanner0=20
   P4
   # SANE data follows
   632 879
=20
 I can't see any file produced by this.  I've futzed around with the
 manpage, and found reference to a '--filename' argument, but its not
 supported in the device-specific options of my scanner.
=20
 So how do I get my hands on the image created by the scanning!

I think stdout is the image. Just pipe it into a file.

johannes

--=-MxtQOQjlnYl8szCKY9r7
Content-Type: application/pgp-signature; name=signature.asc
Content-Description: This is a digitally signed message part

-BEGIN PGP SIGNATURE-
Comment: Johannes Berg (SIP Solutions)

iQIVAwUAQsAnH6Vg1VMiehFYAQLOJQ//YKL3XO90j19JNtzuvkH+zzdcJVXZz0lv
09LAWXt7SRecXGweTRX6VcIQrBG1Yv3qZc9yj0O5CkmCFov0Q7D7s6yM+Fony69N
4x8TQNNwkDLg3UDNPklDrvlnRAAyifJKUBAGcVDcjuY0NSQ9ZzdA6QISdVCKYZLW
eOz9sZYwcGw6bLdw+wrf46xxFljpw9hX/0f8Z9ji4XsCMbW6uDg7o5ybZkOvPLgZ
E455sayTNFF8FY91BmdyQfL7C7EVTZeGPRDDz0oGUuQnQlHE3zGJqOyGeJ5Ur6Lc
Npk+fKzGmsU6c45ehWo14k7CSpyVThhuJBkRc/ED/XcPXhVTQRD/C6QIimxXO2L5
DheT5y5zSnjHt22DCMwoSNMgj0WFlUR3aAK2IWEzqKpyA0BRsK29eyaSWk3t1AiA
SGo+nCntLMZCjvNniQjIli6M2DsvB+0wVV/hmRG10m/IS9g5BVMgj60XNa3E2vAa
oAtf0oxOZuS4TaBaTUgYRkZBHT4nMPp+OsRjq+e90AWJtX+qSHgOiHgookjWsZPb
a0uN4AsYfg6+4u/hcjc7yTgRXZhDopFkkBjq9lGVG8PyoD720plXkXfpPIGbJCFR
gdtCZjwp4dIbZ3L10CM/ctiVh8rN6tC9mjHLZu7Xa7vOgKcUAFbOF3iex0SzEukM
PtXVk6LSGsI=
=f1lu
-END PGP SIGNATURE-

--=-MxtQOQjlnYl8szCKY9r7--




[sane-devel] Scanning Time Question

2005-06-09 Thread Johannes Berg
--=-hoVIH9nrX2io8lBFh1mw
Content-Type: text/plain
Content-Transfer-Encoding: quoted-printable

On Thu, 2005-06-09 at 12:22 +0200, Spiro Angeli wrote:

 Approaching 15000 pictures 35mm I wish to know,=20

Wow :)

 for those who already have the=20
 scanner (I am thinking to purchase a Nikon LS 4000 or LS 5000) how is the=
=20
 scanning process.

the LS5000 isn't currently supported by sane.

 If I say I have 50 pictures to scan, how do you handle the scanning proce=
ss?=20
 Is it possible to scan x number of pictures, holding them in memory and t=
hen=20
 save them to the disk all at once or do I have to scan and save, scan and=
=20
 save?

You'll probably want to write a script/program that scans an image and
saves it to disk while the next one scans. That way, you don't need gigs
of memory but the scanner need not wait for the disk, nor the other way
around. An image scanned with the LS5000 would probably approach 60megs
or so.

 I am trying to understand what is that I will be faced with. I am also tr=
ying=20
 to figure out how much time it will take for me to scan pictures, and am=20
 trying to figure out how to standardize the process of manually scanning =
all=20
 these pictures.

In what format are they? slides? negatives?

 I know that scanning time depends on the depth of the scanned picture. Bu=
t is=20
 there a table that shows based on the depth of color and bits what is the=
=20
 time needed for the device to scan and save?

There's a table here:
http://filmscanner.info/NikonSuperCoolscan5000ED.html

Scroll down all the way to the bottom, then up until you hit the tables.
Just a few things: 'ohne' =3D without, 'mit' =3D with, 'Bild'=3Dpicture,
'Bilder'=3Dpictures, 'Stunde' =3D hour, 'Dia' =3D slide, 'Stapel'=3Dbatch,
'Vorschau'=3Dpreview, 'Einzel'=3Dsingle, 'Belichtung'=3Dexposure. (Now you
should be able to understand the tables)

johannes

--=-hoVIH9nrX2io8lBFh1mw
Content-Type: application/pgp-signature; name=signature.asc
Content-Description: This is a digitally signed message part

-BEGIN PGP SIGNATURE-
Comment: Johannes Berg (SIP Solutions)

iQIVAwUAQqh8dKVg1VMiehFYAQKLuRAAtms36cICrrnV5eQW6U2VVMTnzhisFuOd
o7bhMffpBNTIwXMz/YmO5w+b/qVhf8zG6w03LBQoPMr/yMoUERMvjLLHk4NrCkZj
iktWWIgdktkZTYHUWymXl+CL4j6tz2EJ12MFP/EgxeiqW81HQhrfPziu5JpQcWxu
1nEXSfCWKVe0/gfozXof4z8Eef7sjR/MjuI03eqgHOyMS7+LDPmjVaTV5UNnl0t+
i2fapY8XYjbfY+TQ+5ydKpGqoUrquzG8MizHQcIZZGkEkyfXwHhxeU7L366Av8Aj
SpilcwuwtdlEHrnPKRCKaaK5XogBYHwIIQ9H4t5pird+NyBS89uNSzgsm097xusv
J806qGS6nfID8nGaf9muncJOweHPjWCtDMy7IMscqcfqsJa14LuXHHSO9J05HL1f
qTDjwq3WJWRtmaEwO9/oG5dPm0Xz7c+6ze3S4AzqpaIBl/FoF2CzGz7IXD9VwML3
EHSfdyc3nDH7e/7ASmVvpj5SMaTtU7fpkDVYn/lc2NAdn7Uoj2jJL1MkvolLs5Cn
7nrJdpnpp6rl2QSjkpoaZ519pLs2tEIIajKG9ipezoHZ6UkpTlRe2yksyBAMkz+6
EzU9uCOs88kOt9U33fgs9PDFnYmRg9AbLsTxTYcjnWuzb5ekd32jm+LBNg7m81h1
VTGrDEq/bHU=
=22GK
-END PGP SIGNATURE-

--=-hoVIH9nrX2io8lBFh1mw--




[sane-devel] Scanning Time Question]

2005-06-09 Thread Johannes Berg
--=-AVo7SEvfXqtm8421c6eX
Content-Type: text/plain
Content-Transfer-Encoding: quoted-printable

Hi,

 Pictures are all 35mm of set of 4 per negative. They are not ( unfortunat=
ely )=20
 on a roll.

So they're in strips? That sucks. You're in for quite a bit of strip
changing then.

 As for application, because I am unable to run Nikon original software un=
der=20
 Gentoo Linux, I was thinking of  http://www.hamrick.com/ VueScan as offer=
ing=20
 the same and more features than what Nicon offers. Do you know anything a=
bout=20
 this or do you think gimps would be fine? Anything else to advice as=20
 application?

I thought you were going to use SANE. Then you don't need vuescan.

 As for format, I do not know yet. I assume it will be either jpeg or tiff=
. I=20
 think jpeg with a good resolution would be sufficient. It is not only for=
=20
 displaying on the monitor but also for prints. They have told me that=20
 nowadays, even a jpeg can be a good graphic format as long as it is well=20
 scanned.
 As for space, once I decided the file format and the compression I can fi=
gure=20
 out how much disk space I will need.

Yeah, whatever. You don't want to keep 20 images in memory though :)

 I like a lot the idea of the script that in the background while scanning=
 the=20
 next picture save the previous one.

Should be fairly easy. Trivial, however, is
scanning,saving,scanning,saving,

 Summing up, as of now, I have the idea of purchasing the Nikon 4000, with=
=20
 slides accessory (as I also have 300 slides) and perhaps VueScan software=
.

If you get the 4000 with the slides accessory you'll probably be able to
just scan from the command line and write a script to advance to the
next slide, scan, save it,  (or use scanadf maybe).

 There is a new Epson scanner PhotoPC F-3200 which I do not know well but =
it=20
 does not show up in the compatibility list.=20

No idea.

 Do you know if VueScan still needs SANE as backend?

No idea.

 LAST QUESTION: Any time I have to submit/reply an email, I mail it, it ge=
st on=20
 hold, and then it is sent to the mailing list. Is there a way to eliminat=
e=20
 the hold process, so that when I need help, I just write to=20
 sane-devel@lists.alioth.debian.org and it gets posted?

Subscribe to the list.

johannes

--=-AVo7SEvfXqtm8421c6eX
Content-Type: application/pgp-signature; name=signature.asc
Content-Description: This is a digitally signed message part

-BEGIN PGP SIGNATURE-
Comment: Johannes Berg (SIP Solutions)

iQIVAwUAQqiTlKVg1VMiehFYAQL/Cg//f/FTS5865vivhLcVECdm2BGOEyv72oDU
Sf3D7W1Di+pJwzWxUx9oQKakFw4cHI3K9JaHq5sO2ZxcMmQAQA4JxvY4j2caVl4H
+ZR7fXo0q9Avi2ncTjRd/kHfvpD+VlXvgztkYbXB5uDE2Ne7nKC//KNM8bm7knxH
ud6WOP+ZZ570yKKd8G8sEy0tAx2AEVt8Xk2TUI54+TkAB9LJwF9wXKDJIFEMFEsU
sD6cCwk8k2io46ChM46DTuoHo7NGQRw8x91X9y1wlG15i1QuNqE6MfQENOHXberp
XkgnTiQWQ6bWqOGcrGhrpgt6P+sU8l6b7qexvAlIzkXc+ExnPQGs2hNeLWrhDEi+
v69XtI3kJot1k3B0+xx4ungZl0SO1uWH+tIVjqQHK9Kw/LGAGQzM6+JwTj5Sv7DM
EeT26BpCkzQqo/dIXnZGAlmyJ6cR9J/8ddutqAtpNvLCpqtBJHfeZ25I6tdizniZ
PNtWlIj4R5BjnhysEF7yQqqjt6LRI3WhCfKJ+6LzfoiX0R1QjiVg/35wXBTQMzU8
b+3FYxDYPfSmYNUUp7S3u/FmbliN0TG1y6EjpM431qmfaEvzSJaYCxzFnGVZhrec
lGE8eSeKwZAIiXWrNhWbwbXwnbcRwcOxP/dz3H1mo+fmqGQZR8MQ7z3iHo3pf0cS
hC9zWHnjtKU=
=R/X/
-END PGP SIGNATURE-

--=-AVo7SEvfXqtm8421c6eX--




[sane-devel] Scanning Time Question]]

2005-06-09 Thread Johannes Berg
--=-FWC4exitATKR8YvzoVOf
Content-Type: text/plain
Content-Transfer-Encoding: quoted-printable

Hi,

 I did subscribe to sane-devel@lists.alioth.debian.org All I do is new ema=
il=20
 and send it to: sane-devel@lists.alioth.debian.org
 Is this correct? If so, yes I am still getting the  [Your message to=20
 sane-devel awaits moderator approval]
 Please help me clarify this issue.

Oh, sorry. Then the list's server doesn't like you for some reason. But
I don't know why, the list admin might see it.

  I thought you were going to use SANE. Then you don't need vuescan.
 So basically, SANE is the back end. Correct? Then as front end what will =
I=20
 use? I believe I was referring to VueScan as front-end. Please clarify th=
is=20
 for me if I have a wrong understanding of SANE.

sane is the backend, yeah, but you want to use a script or a program
sane has as the frontend, like scanadf.

 Last, any good web resource for learning and preparing myself for scannin=
g?=20
 Like understanding colors saturations, etc...,=20

No idea, maybe others can help (I'd be interested too).

 besides also learning the=20
 front end program?

You don't want a GUI front end, you want something simple that scans the
pictures in succession and saves them with numbers. if you'd need to
push a button (or more) for each picture you'll  well...

johannes

--=-FWC4exitATKR8YvzoVOf
Content-Type: application/pgp-signature; name=signature.asc
Content-Description: This is a digitally signed message part

-BEGIN PGP SIGNATURE-
Comment: Johannes Berg (SIP Solutions)

iQIVAwUAQqiav6Vg1VMiehFYAQKEEA/7BQJce5mnzD5PxmzkbD9Lz7wlHDF7ZWfu
uZDDT+COaNPE+fiGWhW4yfAUib4ag0Ws8gw/xltUL3BnPvQIKWcUTQ2iEZ9iQHBa
FXp+T+2LqmZOoZcuYMDjoX5qeC4x2IzSAhQokGLE4AohBVysnWu5AqZIP51q5F0w
5RD80RIanovcmkLV1A35P3IJ417SfTfRDyU29BDPow6qBUrqePfwGGOHnd/aVXfE
pHXQfz6i+myhtSCxqrCAsLBIXK9P4MhqRtCJkrCey9GGqIV/WiKh7ypu0Kq4NNrb
WENdFcVoNrkD214cLJUqPUl2uuJfIx7rlTCMHQQZLPrG/bZoKGjNx8fI9KrZuiNI
6yaniXB6svQVvPJ70UuBogmgSBx49yGOMB43yFpbKyhN+6zsNl+xIxB2pnw6ESAF
B29KCQxxdeSarAAMzWZe5jfRmVBnR5JMOmsa9NUbCUlhwaOlBu933WcoNP+TSFbE
yT8qvejWugOd1PySfakpn8yMKKnRD/6s5vINBtyZs+ocn+Mj6zTXrFkWr2rGcJMn
rD+r7uu9Vm2+4aTIXaK+jpTbQQT6A8M7x613P1JBsP9VMA+ajtyi+GBO5D0sWwPG
SSLrnWUz1r/VF2FtlVONAihvjzYJa5mzE5lnHM1BW6Ia47SyGG5v7dnP8oh5TIwJ
+bHKv/buIFc=
=BjK7
-END PGP SIGNATURE-

--=-FWC4exitATKR8YvzoVOf--




[sane-devel] Nikon Coolscan V ED / LS 50 ED

2005-05-17 Thread Johannes Berg
--=-jBCekX55wFPa3dxKZqJ7
Content-Type: text/plain
Content-Transfer-Encoding: quoted-printable

On Tue, 2005-05-17 at 13:48 +0200, Ariel Garcia wrote:=20
 Some other people have the NDA but not the scanner, so perhaps we should=20
 organize a meeting at some mid-way point  ;-)

Heh. Karlsruhe is a bit far for me, assuming you're located there
(assuming the domain information is correct and you actually work
there)...

On the other hand, I'll take week of time if I can, maybe in August?
'saneconf' anyone? I think sane needs some strategic meeting anyway ;)

johannes

--=-jBCekX55wFPa3dxKZqJ7
Content-Type: application/pgp-signature; name=signature.asc
Content-Description: This is a digitally signed message part

-BEGIN PGP SIGNATURE-
Comment: Johannes Berg (SIP Solutions)

iQIVAwUAQonkk6Vg1VMiehFYAQLsYg//Vx7Sd05QOBkZZpDpqD2LkFgt3ZRcM/uc
B7cxZ0Q1rA4ys82e+bxVZll5PAb1PKFzNVHcN/ouFqZ4fIZ+1CTbNaRMRadBS0kC
Pu98yuUccNpzdvWVHCcr7DjBNwWvpIFaiz3eFtI45I77mFlpAcwQxpjw+XkYNDLW
wXxF62koEhsF9O+4wfAszS7q4qJeCzcUqwccJbn5kmn/gg6gYOsGO5dSr1mUkXIg
fqUJM1jTfKXVlfGLtv7Re91ZgXp0yC6BFnuW8zj2jkaqGLvcVTergJxwXJ14e8xC
FJ1nZiw8TZmAslQlrpN0u/FUOfJSHiNWeIgfNNg6kNiZS/Ww/tEynZ3FfQIrGogA
6gAOBZHrdWWNBS/a7RfdXtg8x5BZW/gG8IsBfFXlMEH6p8NXIn5PcffRoiz4Pk87
J6jABDPBInbsabLvC0T2fgd0sIqDSWWKkHGHlMm5u1aWK292/ckFmzDmAQIT/Q7U
ky/ZVJvv8ogzhEr45Mgc+H2nuWTnegiNp+pg1rcMaLIn0TQmvF2Njh3BfQX4Pjta
t7NvwRN/vK3nFrpPFxw8DsFRRajKSDC8JZ1wU0e9GPlaYsnDPgwtV/kcwalWqDdK
kFZGEAcD+Cie3FI7Sj1dYDkIWMkiYYD8Z5Mr4LWbjIopetz+bLQY3z+eTdnksxyS
geOKAB4RERA=
=6GQ2
-END PGP SIGNATURE-

--=-jBCekX55wFPa3dxKZqJ7--




[sane-devel] Nikon Coolscan III not recognised.

2005-05-17 Thread Johannes Berg
--=-zzt40QKwxAsXxEFGjxwv
Content-Type: text/plain
Content-Transfer-Encoding: quoted-printable

On Tue, 2005-05-17 at 14:41 -0500, john wrote:
 No, Allen I'm using all lowercase.

You should be using uppercase.

And please turn off the html email.

johannes

--=-zzt40QKwxAsXxEFGjxwv
Content-Type: application/pgp-signature; name=signature.asc
Content-Description: This is a digitally signed message part

-BEGIN PGP SIGNATURE-
Comment: Johannes Berg (SIP Solutions)

iQIVAwUAQopXnaVg1VMiehFYAQIxmA//fC8pGXhiAU7pyLiLkj2ed3evwijwKFQB
3cIwhhSIDqfFHhMpFT8mMdo2IFV2PrJI80PKrHXEb2BDYK4Z7QRBBmJfsWaB1ZM7
aa3YdrvEgi4BMk5BE1PhYh4suoHOCWL0w7MqoU4Yh8X2iavmN7U8dS2dKDdEnQ8Q
ymvOjUSCl5+Sw5cfIK9ftJPx1IBd3/Rob4TOmv4zMVsC+/8h0NT1KcsO7yOK0G5h
VRQXnZ7JIp9XLV85AXJTBzNDIYPTRPbsrBqofI7C0GJOKvIeodEvRnF2IQHAWS9Q
yn/Suv6aNV06Jshu8mJwPz+JLKGol1rHir2L9vfiMrqcY0M3dbZL1TSj3sP1rSiE
UhPDFeiObCFI/pOhYmIOTyAtUnTgYPmHbPivc7OxZGlIDDtBixAr3AXbnQojEgWg
CXX4WK0gWDPbZlNOyyOdPly8AxjgFbXDhu6iHsKBcSZ1qAtI9fh8XNONqq9BNSrw
BCsDS3bGHQGrClvEpx/pGYr64c0yG8yiCoZlGVbsvhmfJJLlBGfWM1UKGJqiSME2
hr5Gh6a+bgNPsbWYdAxsRHUA2xWhfObsrTk1HuXGHud5/ZeaxKxzJBraICw2VMWV
MgS6n+pMVc+T+Kbp3nv675ZOx+UeVWS359askxMasClt/O1RRbhdQ5huW9XptTUk
vdT4AaH3eIg=
=ZRr9
-END PGP SIGNATURE-

--=-zzt40QKwxAsXxEFGjxwv--




[sane-devel] film scanner in linux?

2005-03-29 Thread Johannes Berg
--=-rP2sHD3Sq6jahPLpUwyT
Content-Type: text/plain
Content-Transfer-Encoding: quoted-printable

On Sun, 2005-03-27 at 22:50 -0500, Ivan Fernandez wrote:
 Hello, and sorry if this is slightly off-topic.  I've been thinking
 about buying a dedicated slide/negative scanner, but none of the models
 I've seen in the market seem to be supported by SANE.  Could anyone give
 me recommendations about which film scanners work well under Linux?

I'm in pretty much the same position and am contemplating getting a
Nikon Coolscan 5 or 5000, I already have the technical docs from Nikon
for it, just no time to work on adapting the driver.

 Work well is defined both as having functional drivers and getting a
 good image quality.

I'd be happy to be proven wrong, but I think there's no currently new
model that is supported.

johannes

--=-rP2sHD3Sq6jahPLpUwyT
Content-Type: application/pgp-signature; name=signature.asc
Content-Description: This is a digitally signed message part

-BEGIN PGP SIGNATURE-
Comment: Johannes Berg (SIP Solutions)

iQIVAwUAQkjqzKVg1VMiehFYAQKHFxAAoJa14PicMq02qVz8KIebV7AXhEskm7Wi
0HqkrQHYn+53dFLeNaqiSTjZEV4K8EDVBcOuwbMrexHF1ZLgT/YPwmHWci6fLQlr
iw2gNPh7Mfv7pn/vvbOKdBLKO38ixw3oTrl2KlpLeFysUYRfpkuIM0eqpA4K+zQZ
2zxVKFW9wv83FbROQwRNm3GPpKEh5qD5xhy6V4Jg5GhrNXYdjWSe2i4xYI1gK1vC
wknRfsGfClbmu/viCF+IgAOXdgKTnJJboXwi9pbFB4Eto/L38aLIH51Wr2JV7OSl
FG+1kwLuzFWdVKvFn2TjFGz/E2NW70MOmRJXrZPtBQnHSpdwIbfxLLvtY6DS3jt6
1m4s8Y/rOi7c803IYY60iRCPaZr16uw/ybKogddxJgjqzRCZQCi5W9S+EIXXe8yg
Tyl0CUj+bY4Fam8RqYGJRGc0VFcAx1Axq5Oo2ud8bn3fM4GTeKqeLn30+p+U0KI2
MT/SkabN5Jr4E1mmlNtvxnFEGlRv8kehmdwTnTrrGfbklP4j+Jt3cBfzUE4adIPc
6Pxmc1AaQnFf9/RDpGhARWZEOqeoj3kKIg4SnrSsZY0rr7Ws2gfd6XilnA0NpwKO
8CkFVIBeHaS7jWpnKw9e+ugmAhEM7lmtVDaRJQ4LUEFJ9Tmu5oO28ZgFivqo36ut
Vq6hZxw0a5E=
=iEVT
-END PGP SIGNATURE-

--=-rP2sHD3Sq6jahPLpUwyT--




[sane-devel] [ANN] Unpaper - post-processing scanned book-pages

2005-03-05 Thread Johannes Berg
On Sa, 2005-03-05 at 16:31 +0100, gerard klaver wrote:
 I had the idea that Jens (the developer of the unpaper program) is also
 the maintainer for unpaper in SANE CVS. So SANE CVS contains the new
 version.

Incorporating software like that is almost always a bad idea -- it ties
release management and other things too closely together, even if the
sources are maintained in a single place.
I agree with Oliver in that it'd be nice to have a link to this, and
debian (and other systems) could adopt a sane-tools meta-package that
would depend on the extra tools.

johannes




[sane-devel] Re: SANE LS50ED

2005-02-14 Thread Johannes Berg
Hubert Figuiere wrote:

Can we have the documentation of the scanner protocol ? :-)
  

Yes. Call Nikon, they'll point you to the application forms. You have to 
sign a NDA and they send you the docs on CDs.

johannes



[sane-devel] problems with 2.6.10 kernel

2005-01-18 Thread Johannes Berg
b...@beeb.net wrote:

The error message in the log says 'usbdevfs not supported in kernel'.

IIRC, the filesystem in question has long been renamed from usbdevfs 
to usbfs, and recently the old alias was removed.

johannes



[sane-devel] (no subject)

2005-01-18 Thread Johannes Berg
Hi,

Kodwo Arizie wrote:

 I had this error message during installation of the drivers for hp 
 scanjet 8290 on a win98 Computer and had the errors below. My PC has 
 12GD HDD, 64M RAM, and runs on win98.
 Can someone help me out on this error message. Thanks
 *//*

No. The software your scanner manufacturer gave you is buggy, people 
here are discussing SANE which replaces that software. You can look if 
your scanner is supported by sane and then try that instead - but we 
can't help with that problem.

johannes



[sane-devel] proposel for buffer size increase frontends scanimage ..

2005-01-18 Thread Johannes Berg
gerard klaver schrieb:

In this way the write cycle in sane_read will be reduced and is it
possible to write a image from for example a 640 x 480  webcam in
one cycle to the frontend buffer.
  

What's the advantage? If there really is an advantage, I think it should 
probably be made dynamic instead. Using this much space on the stack 
isn't really a good thing IMHO.

johannes



[sane-devel] Re: SANE LS50ED

2004-12-15 Thread Johannes Berg
This is a multi-part message in MIME format.
--070209090002000602030408
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit

Ariel Garcia schrieb:

 great, then send me the code, i will test it asap to see how far is 
 goes with that


So I've been looking through the code and the specs and couldn't really 
find anything that differs between the LS50ED specs and the current 
coolscan2 code. Here's a trivial patch to enable the detection of the 
LS50 and LS5000, maybe this is all that is required to get these devices 
to work for a start. You may need to adjust usb IDs too, not sure.

johannes

--070209090002000602030408
Content-Type: text/plain;
 name=ls50.patch
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
 filename=ls50.patch

--- coolscan2.c.orig2004-12-15 00:28:00.439585600 +0100
+++ coolscan2.c 2004-12-15 00:47:25.174392000 +0100
@@ -114,8 +114,10 @@
   CS2_TYPE_UNKOWN,
   CS2_TYPE_LS30,
   CS2_TYPE_LS40,
+  CS2_TYPE_LS50,
   CS2_TYPE_LS2000,
   CS2_TYPE_LS4000,
+  CS2_TYPE_LS5000,
   CS2_TYPE_LS8000
 }
 cs2_type_t;
@@ -1769,10 +1771,14 @@
 s-type = CS2_TYPE_LS30;
   else if (!strncmp (s-product_string, LS-40 ED, 16))
 s-type = CS2_TYPE_LS40;
+  else if (!strncmp (s-product_string, LS-50 ED, 16))
+s-type = CS2_TYPE_LS50;
   else if (!strncmp (s-product_string, LS-2000 , 16))
 s-type = CS2_TYPE_LS2000;
   else if (!strncmp (s-product_string, LS-4000 ED  , 16))
 s-type = CS2_TYPE_LS4000;
+  else if (!strncmp (s-product_string, LS-5000 ED  , 16))
+s-type = CS2_TYPE_LS5000;
   else if (!strncmp (s-product_string, LS-8000 ED  , 16))
 s-type = CS2_TYPE_LS8000;
 
@@ -2505,7 +2511,7 @@
   cs2_parse_cmd (s, 25 01 00 00 00);
   cs2_pack_byte (s, cs2_colour_list[i_colour]);
   cs2_parse_cmd (s, 00 00 3a 00);
-  s-n_recv = 58;
+  s-n_recv = 0x3A; /* = 50 + 8 */
   status = cs2_issue_cmd (s);
   if (status)
return status;

--070209090002000602030408--




[sane-devel] Re: SANE LS50ED

2004-12-15 Thread Johannes Berg
Major A schrieb:

That's my problem exactly. I've tried the patch you attached, and a
few things more, without any success so far.
  

Oh. Weird, ok. I'll keep looking. Do you have access to the technical 
specs of the 50/5k?

There's one major difference between the specs and the code: the
LS-50/5k doesn't support Boundary information, only
Boundary2. I've changed the code (not in CVS yet) to reflect that,
no success nevertheless.
  

Could you send me said patch? I don't have the device (yet) but would 
like to look over it.

Thanks,
johannes




[sane-devel] sane-coolscan2.

2004-12-14 Thread Johannes Berg
Hi,

What do you mean? I need it? :P But do you know another tool for removing
dust and scratches?
  

There's a recent message giving a hint that someone has implemented this 
in gimp-fu (and you can google for that relatively easily)

johannes




[sane-devel] update net.tex for sane1 documentation

2004-10-18 Thread Johannes Berg
--=-xv5kleSaPGSbmUmx0lXI
Content-Type: multipart/mixed; boundary==-JRc1KVGyz2RW6C1OPppe


--=-JRc1KVGyz2RW6C1OPppe
Content-Type: text/plain
Content-Transfer-Encoding: quoted-printable

Here's a patch to add RPC codes and a short explanation of transferred
data to net.tex, with this the document is IMHO much more readable since
now you actually know what data is on the wire :)

johannes

--=-JRc1KVGyz2RW6C1OPppe
Content-Disposition: attachment; filename=net.tex.patch
Content-Type: text/x-patch; name=net.tex.patch; charset=ISO-8859-15
Content-Transfer-Encoding: base64

SW5kZXg6IG5ldC50ZXgNCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0NClJDUyBmaWxlOiAvY3Zzcm9vdC9zYW5lL3NhbmUt
YmFja2VuZHMvZG9jL25ldC50ZXgsdg0KcmV0cmlldmluZyByZXZpc2lvbiAxLjINCmRpZmYgLXUg
LXIxLjIgbmV0LnRleA0KLS0tIG5ldC50ZXgJMjAgTm92IDIwMDAgMTg6NDk6MTYgLTAwMDAJMS4y
DQorKysgbmV0LnRleAkxOCBPY3QgMjAwNCAxODoxOToxMSAtMDAwMA0KQEAgLTE0Miw4ICsxNDIs
MTQgQEANCiBjbGllbnQgc2lkZSAodGhlIG5ldHdvcmsgYmFja2VuZCktLS1hIHNlcnZlciBpcyBy
ZXN0cmljdGVkIHRvDQogYW5zd2VyaW5nIHJlcXVlc3QgYnkgdGhlIGNsaWVudC4NCiANCitUaGUg
ZGF0YSB0cmFuc2ZlcnJlZCBmcm9tIHRoZSBjbGllbnQgdG8gdGhlIHNlcnZlciBpcyBjb21wcm9t
aXNlZCBvZg0KK3RoZSBSUEMgY29kZSAoYXMgYSBcY29kZXtTQU5FXF9XT1JEfSksIGZvbGxvd2Vk
IGJ5IHRoZSBhcmd1bWVudHMgaW4gdGhlDQorb3JkZXIgbGlzdGVkLiBUaGUgc2VydmVyIHJlcGx5
IGNvbnNpc3RzIG9ubHkgb2YgdGhlIGRhdGEgZ2l2ZW4gYmVsb3cuDQorDQogXHN1YnNlY3Rpb257
XGNvZGV7XGRlZm57U0FORVxfTkVUXF9JTklUfX19DQogDQorUlBDIENvZGU6IDANCisNCiBUaGlz
IFJQQyBlc3RhYmxpc2hlcyBhIGNvbm5lY3Rpb24gdG8gYSBwYXJ0aWN1bGFyIFNBTkUgbmV0d29y
ayBkYWVtb24uDQogSXQgbXVzdCBiZSB0aGUgZmlyc3QgY2FsbCBpbiBhIFNBTkUgbmV0d29yayBz
ZXNzaW9uLiAgVGhlIHBhcmFtZXRlcg0KIGFuZCByZXBseSBhcmd1bWVudHMgZm9yIHRoaXMgY2Fs
bCBhcmUgc2hvd24gaW4gdGhlIHRhYmxlIGJlbG93Og0KQEAgLTE4MSw2ICsxODcsOCBAQA0KIA0K
IFxzdWJzZWN0aW9ue1xjb2Rle1xkZWZue1NBTkVcX05FVFxfR0VUXF9ERVZJQ0VTfX19DQogDQor
UlBDIENvZGU6IDENCisNCiBUaGlzIFJQQyBpcyB1c2VkIHRvIG9idGFpbiB0aGUgbGlzdCBvZiBk
ZXZpY2VzIGFjY2Vzc2libGUgYnkgdGhlIFNBTkUNCiBkYWVtb24uDQogXGJlZ2lue2NlbnRlcn0N
CkBAIC0yMDAsNiArMjA4LDggQEANCiANCiBcc3Vic2VjdGlvbntcY29kZXtcZGVmbntTQU5FXF9O
RVRcX09QRU59fX0NCiANCitSUEMgQ29kZTogMg0KKw0KIFRoaXMgUlBDIGlzIHVzZWQgdG8gb3Bl
biBhIGNvbm5lY3Rpb24gdG8gYSByZW1vdGUgU0FORSBkZXZpY2UuDQogXGJlZ2lue2NlbnRlcn0N
CiBcYmVnaW57dGFidWxhcn17bGx9DQpAQCAtMjI0LDYgKzIzNCw4IEBADQogDQogXHN1YnNlY3Rp
b257XGNvZGV7XGRlZm57U0FORVxfTkVUXF9DTE9TRX19fQ0KIA0KK1JQQyBDb2RlOiAzDQorDQog
VGhpcyBSUEMgaXMgdXNlZCB0byBjbG9zZSBhIGNvbm5lY3Rpb24gdG8gYSByZW1vdGUgU0FORSBk
ZXZpY2UuDQogXGJlZ2lue2NlbnRlcn0NCiBcYmVnaW57dGFidWxhcn17bGx9DQpAQCAtMjQwLDYg
KzI1Miw4IEBADQogDQogXHN1YnNlY3Rpb257XGNvZGV7XGRlZm57U0FORVxfTkVUXF9HRVRcX09Q
VElPTlxfREVTQ1JJUFRPUlN9fX0NCiANCitSUEMgQ29kZTogNA0KKw0KIFRoaXMgUlBDIGlzIHVz
ZWQgdG8gb2J0YWluIHtcZW0gYWxsXC99IHRoZSBvcHRpb24gZGVzY3JpcHRvcnMgZm9yIGENCiBy
ZW1vdGUgU0FORSBkZXZpY2UuDQogXGJlZ2lue2NlbnRlcn0NCkBAIC0yNjcsNiArMjgxLDggQEAN
CiANCiBcc3Vic2VjdGlvbntcY29kZXtcZGVmbntTQU5FXF9ORVRcX0NPTlRST0xcX09QVElPTn19
fQ0KIA0KK1JQQyBDb2RlOiA1DQorDQogVGhpcyBSUEMgaXMgdXNlZCB0byBjb250cm9sIChpbnF1
aXJlLCBzZXQsIG9yIHNldCB0byBhdXRvbWF0aWMpIGENCiBzcGVjaWZpYyBvcHRpb24gb2YgYSBy
ZW1vdGUgU0FORSBkZXZpY2UuDQogXGJlZ2lue2NlbnRlcn0NCkBAIC0zMTgsNiArMzM0LDggQEAN
CiANCiBcc3Vic2VjdGlvbntcY29kZXtcZGVmbntTQU5FXF9ORVRcX0dFVFxfUEFSQU1FVEVSU319
fQ0KIA0KK1JQQyBDb2RlOiA2DQorDQogVGhpcyBSUEMgaXMgdXNlZCB0byBvYnRhaW4gdGhlIHNj
YW4gcGFyYW1ldGVycyBvZiBhIHJlbW90ZSBTQU5FDQogZGV2aWNlLg0KIFxiZWdpbntjZW50ZXJ9
DQpAQCAtMzM3LDYgKzM1NSw4IEBADQogDQogXHN1YnNlY3Rpb257XGNvZGV7XGRlZm57U0FORVxf
TkVUXF9TVEFSVH19fQ0KIA0KK1JQQyBDb2RlOiA3DQorDQogVGhpcyBSUEMgaXMgdXNlZCB0byBz
dGFydCBpbWFnZSBhY3F1aXNpdGlvbiAoc2Nhbm5pbmcpLg0KIFxiZWdpbntjZW50ZXJ9DQogXGJl
Z2lue3RhYnVsYXJ9e2xsfQ0KQEAgLTM4Nyw2ICs0MDcsOCBAQA0KIA0KIFxzdWJzZWN0aW9ue1xj
b2Rle1xkZWZue1NBTkVcX05FVFxfQ0FOQ0VMfX19DQogDQorUlBDIENvZGU6IDgNCisNCiBUaGlz
IFJQQyBpcyB1c2VkIHRvIGNhbmNlbCB0aGUgY3VycmVudCBvcGVyYXRpb24gb2YgYSByZW1vdGUg
U0FORQ0KIGRldmljZS4NCiBcYmVnaW57Y2VudGVyfQ0KQEAgLTQwNSw2ICs0MjcsOCBAQA0KIFxz
dWJzZWN0aW9ue1xjb2Rle1xkZWZue1NBTkVcX05FVFxfQVVUSE9SSVpFfX19XGxhYmVse3NlYzph
dXRob3JpemF0aW9ufQ0KIFxpbmRleHtuZXR3b3JrIGF1dGhvcml6YXRpb259DQogDQorUlBDIENv
ZGU6IDkNCisNCiBUaGlzIFJQQyBpcyB1c2VkIHRvIHBhc3MgYXV0aG9yaXphdGlvbiBkYXRhIGZy
b20gdGhlIG5ldCBjbGllbnQgdG8gdGhlDQogbmV0IHNlcnZlci4NCiBcYmVnaW57Y2VudGVyfQ0K
QEAgLTQ0MCw2ICs0NjQsOCBAQA0KIA0KIA0KIFxzdWJzZWN0aW9ue1xjb2Rle1xkZWZue1NBTkVc
X05FVFxfRVhJVH19fQ0KKw0KK1JQQyBDb2RlOiAxMA0KIA0KIFRoaXMgUlBDIGlzIHVzZWQgdG8g
ZGlzY29ubmVjdCBhIG5ldCBjbGllbnQgZnJvbSBhIG5ldCBzZXJ2ZXIuICBUaGVyZQ0KIGFyZSBu
byByZXF1ZXN0IG9yIHJlcGx5IGFyZ3VtZW50cyBpbiB0aGlzIGNhbGwuICBBcyBhIHJlc3VsdCBv
ZiB0aGlzDQo=


--=-JRc1KVGyz2RW6C1OPppe--

--=-xv5kleSaPGSbmUmx0lXI
Content-Type: application/pgp-signature; name=signature.asc
Content-Description: This is a digitally signed message part

-BEGIN PGP SIGNATURE-
Comment: Johannes Berg (SIP Solutions)

iQIVAwUAQXQJaKVg1VMiehFYAQIZuQ//fN3X4utoVGDvLMMoK/8GrDl4JJgzpmIO
20U11mc7emWrqEoJGxAw9yRWHG4qgVayqI/aXu3Kq3Rqin7WTlzUwV/Xe2+bdYqL
BjeFzM7qEWxTexxkw5/eCADb

[sane-devel] Translation status

2004-10-17 Thread Johannes Berg
--=-BwDTxOoCFtEstoGY4Lzn
Content-Type: text/plain
Content-Transfer-Encoding: quoted-printable

On Sun, 2004-10-17 at 20:42 +0200, Henning Meier-Geinitz wrote:
 Here is a translation question: What does 8x8 Coarse Fatting mean
 (from leo.c)? Well, I know what 8x8 and coarse is, but I can't really
 interpret fatting.

It is a type of rastern. See
http://www.pl32.com/tutorial/sraster/sraster.htm
for an image.

johannes

--=-BwDTxOoCFtEstoGY4Lzn
Content-Type: application/pgp-signature; name=signature.asc
Content-Description: This is a digitally signed message part

-BEGIN PGP SIGNATURE-
Comment: Johannes Berg (SIP Solutions)

iQIVAwUAQXLc66Vg1VMiehFYAQKDmQ/6AzwwK7P0DN0HLzRBLZ0S9LiAivr8AC9o
HJbWv2zS90PkMlljEEEVN/AvPKxjwvvR2IFDsXilPO0AZzEPqEkp4IZundgnjs/G
RqvcArMNntRJxNTuF6TVBTSo9rcaqypUr0w97HgB3ypJhYL2hJiQBwMNkI3Oxu4C
e8qmWL+EYW7fFTACrP6Wi4hkUWDYT3XwiioXNhnk0hfaf4YjHrC6dnARxnwYaLWT
+Esh9+MXZeBiCJKyUGtjOM6gmsFVKo5DJqdpJ4scUi5t+wLZY/5A0NW6v/RZILDw
D0UkopbZR+bbT0aba+KHAyu9goBQM1Ls2V+GBBAhlnB7jZSVJSMXqn3nBlWZtQWj
DMP2lDjue2ouiFnj0Y/QYdeSHdiv7nTGEP5jmt4RWULcoK/l+w+6m55x5kS3Dtaz
ZT4SaUrg1ZIoIpoH5DlB4sTnczSV190hs372C3jtN4FEHI/HO/oww3YNq2rYPvBZ
OO2CE9dgvoPrR+iKPsbIE5eiHGhFVuGT/bFCWWqN79xa2A1ZPeINWN3Pg9EyFh/N
4BUDVHCcfeKLA/maFk5L0yqbKScJbqev5mHrfwYjEgrNsisp8CXnOR8LXa0+W+pN
3F6NBoz217emhVqrr7KupA+Kai0nj9nfUw7IVKd+Hap7MESsFXpuzHK/UygYup7o
0DrCJmZ8+uk=
=VTx2
-END PGP SIGNATURE-

--=-BwDTxOoCFtEstoGY4Lzn--





[sane-devel] possible bin_w_string security issue (not)

2004-10-16 Thread Johannes Berg
--=-yhkGcHckmX4ZO5PEvTHQ
Content-Type: text/plain
Content-Transfer-Encoding: quoted-printable

Hi,

 SIGPIPE (ok, I read your mail before answering) :-)

:-)

 Nearly any protocol violation from server or client can have strange
 results. That's one of the problems with the SANE net protocol.
=20
 Also there are still many tests missing for a bad wire status (see bug
 #300105).

Will do.

 There may be other locations but at least here it tests for the wire
 status:

Hm. I guess you're right. Seems I missed it, or maybe I was writing this
when I looked at a different location? Sorry.

 I'm still not sure if I have understood all the details of the wire
 code. But I guess the idea was to have only one function for each kind
 of data. So you don't need one for the server and one for the client
 and one for ascii and one for bin and one for sending and one for
 receiving...

Yeah, and then it is also overloaded for freeing allocated data.

 They aren't. Only sane_cancel() must be async signal safe.
=20
 Yes, I guess that's a bug.

Ok.

 Nobody should ever use sanei_wire/sanei_net/sanei_codec_* without
 really knowing what he does :-)

:-)

 But what should sanei_w_array do? It already exits when the wire is in
 bad state. I think that's really up to the caller.

Yes, but before exiting it should free the result buffer and NULL the
pointer. When the wire is in an invalid state during reading, it cannot
be guaranteed that the buffer is in a valid state, so should be
discarded.

johannes

--=-yhkGcHckmX4ZO5PEvTHQ
Content-Type: application/pgp-signature; name=signature.asc
Content-Description: This is a digitally signed message part

-BEGIN PGP SIGNATURE-
Comment: Johannes Berg (SIP Solutions)

iQIVAwUAQXEVXaVg1VMiehFYAQLPOw/9E6+OseXpkvwWNMTenxSGxMF28XX/Rl71
s7sYiR4Fg9hdmPQDy0RtTkQrKspY6izzgn1aGlsH7H2eLw2pIF7yqW36vX2gQXWo
kwju+ZF+dIDLWjQ8ICiyuJFgYUNWxjZjDTfLhwe16ByGnVT+nWIx9ZbPYaB1KR0N
PmqH3M9G+s7oaZFh5zKtPiJA6kSBbsgpnhSDZpqzop+Rfe8vrFIPN7UTQS2PqZUx
20kMuH4CQu0ggpJ9yekIfzRdbBAZcHSCxKo7vTuupfratbbib9D2firVgW77aaNO
Lo3gnue+/TgxLJWeaBxrn/unL/q5U/YnNGhUgAsDBlGymjpZJV+ApOYHoVarv5XS
CbyYKKrszzhO8otxfkfA07v7QxqqpDw1CRE2tfxHqXyk2hmyVsy38AHrZOyevMGS
D2du8D63miUyVaU3dlGrjmcSxE7pohki9BpMjZ54hIEiF0zw2H9pC1/363KWNzl+
2rVZcrCmBQMrwoewepWGpvQBJiFZ9sxUkAmaQu/Jv3HEOQnsX8ZmQwKZpKy1qPHm
ARqx2Yex/OJ8R8ViKQfPjpRVyBvYfchle+XNRpJh+lbn2VGwh4KKWNGaaoFqdOJd
Ybwv5LTz7XtYFmR3IOssFp8BjrTULE5oezwrwCFLqyIJAGC64dGnkdTli6xlEp2E
h41UsBd5daQ=
=cJpn
-END PGP SIGNATURE-

--=-yhkGcHckmX4ZO5PEvTHQ--





[sane-devel] [BUG] saned: missing input sanitization

2004-10-16 Thread Johannes Berg
--=-RvFmJl5eUaAjiXBPw3Ib
Content-Type: text/plain
Content-Transfer-Encoding: quoted-printable

On Sat, 2004-10-16 at 15:48 +0200, Henning Meier-Geinitz wrote:
 I've added a check to CVS. It returns an error to the client because I
 think that's a protocol violation. Zero-length strings are allowed for
 sane_open but not NULL-pointers.

I think the problem is that the network layer does not distinguish
between zero-length strings and NULL pointers -- as far as I can see it
interprets a zero-length string (which is only a byte-array after all)
as a NULL string.

johannes

--=-RvFmJl5eUaAjiXBPw3Ib
Content-Type: application/pgp-signature; name=signature.asc
Content-Description: This is a digitally signed message part

-BEGIN PGP SIGNATURE-
Comment: Johannes Berg (SIP Solutions)

iQIVAwUAQXEpq6Vg1VMiehFYAQKfdw/8DmtQmW6bABrsnmshQFN+syVsTAZWFhRO
0veLBoM8uNxgFMLXUtiXhv0lWfbZdce6UXYREB3bPy2yrAIsm30rFipBGvckX9J9
RvmH21mrigWiYn5VoloGIqiCDum/BubxyeE/xSBkcVcDKh3wnOWtYzFDBEnyP79U
rUz0bMlchKHcKrPsZq78WeJ203hZaPBxPgmRKT/i/kjdOFMIiu/enMC8VEFrl3Oe
AhbXOhtj5GtkfPs1ueM5oms4f4wu4La+lF6+5lhHGFOY6Bwj+Xd0xwvxPge36NXD
NRn7XArGv9SLUPza1y9Nw6wlVMFpG4AdlUyTTH3zO28A8bOjksSC53p/ftl/x9z1
wE4j1yBvzUmlrCYmSYvPgzXG5Kwv6CndtE3+v6+f2dYrY80yMCLLWyMG1XLgKtvT
oDtuUFdpzOPSQSDWz7ICkCyl1Vv+5DiWlchXBqN5cHz/1mDMZOj9VAmtoo+b28kA
tIeEFq3q0ITTwJps6nrmUDshGDAiVWj86NH7y+Q6py0EmG8eHav1MvDdxiz5r7/x
Q160C87JrAfMgxl5o84zGF63XJHH4k6e0RLNEqDLCg6u0K+qZ9tkUgNQOLZ5Ym9Q
LcqYgokfISbLEfit7V4fp9lXz75ZU7HYsaDnsOKKH/EI0v3F1xzHQUG2LMNywlBj
8XQQi/XDORw=
=iuNs
-END PGP SIGNATURE-

--=-RvFmJl5eUaAjiXBPw3Ib--





[sane-devel] [BUG] saned: missing input sanitization

2004-10-16 Thread Johannes Berg
--=-5n0e72bCo6NIQyEFjdhX
Content-Type: text/plain
Content-Transfer-Encoding: quoted-printable

On Sat, 2004-10-16 at 16:10 +0200, Henning Meier-Geinitz wrote:

 For sane_net a zero-lenth string is 0 0 0 1 0 (Array of length 1 which
 only contains a 0 byte as end marker).

Reading through the code again -- looks like you're right. Somehow I got
the impression that it was the same, but don't remember where I read
that now.

johannes

--=-5n0e72bCo6NIQyEFjdhX
Content-Type: application/pgp-signature; name=signature.asc
Content-Description: This is a digitally signed message part

-BEGIN PGP SIGNATURE-
Comment: Johannes Berg (SIP Solutions)

iQIVAwUAQXEuxqVg1VMiehFYAQKFVw//Uyr9ZkUO2zjzW/eDiaqWKp6o14qOwMDF
3p7QClunjZDGLPz3Bzt7mDZtqaecyy0Dly1Be0nk5LDOphvnuRk+OucWmrCcDfQT
dTmqnfScp0G+bzKEawnrBNC4nPiimJnqEEpdLcPv/tx1wi2AZ8yQZBx7lW5anjc0
Ewl3Ssnx3dVxu+MsfqXVwN+I+cTFVai7uDANnkqNl9UGi9MxUb0w34ZsGSkqdtJf
8VyTOzvrpq3cfe1yD2NL5uHAsb4fJ6+3KcfOzo/vXxJgKHFwI4R6DodwyOTjZnCT
4+MTcQEJCEEsYXPGwYCBqv33NTN1/y7VGFfAoHQycQu9VAfjo0uec5Gffzrc3szd
2lnaTAt94hRLtd1QxdgjQMMj3QBIPHz6FRvet+IQb7t97A4I294/32oQV4S425R/
brkA4BOEEzyHihFard7V2o3404frglJZGWUOBKqYRYcypmzyIk73xLFnyvHQnaAm
qG9uUxzDvtamzYmcst0v25MsGDzqyGVOfryLaWV6uMMmms3MWU9y7Y20MQMvBrjT
Yl6w/t85C/nomxiVftTS+8H6hKbVExB57TMN9SnQUN4tjw1LD1TCwROkl6BExpHI
D3GDSfWojZ2emFoZsIbJ+PKoq79K/MWFyE5DDpk4Qv/sPd6h9oII3qgBTSWZHR5H
MIOXVanpyXU=
=Ilg2
-END PGP SIGNATURE-

--=-5n0e72bCo6NIQyEFjdhX--





[sane-devel] [BUG] saned: missing input sanitization

2004-10-15 Thread Johannes Berg
--=-4jUAPFROJACgVt5tWrHO
Content-Type: text/plain
Content-Transfer-Encoding: quoted-printable

SANE_NET_OPEN makes saned segfault if a NULL name is passed, because it
tries to strdup() the name without checking for !=3D NULL.

johannes

--=-4jUAPFROJACgVt5tWrHO
Content-Type: application/pgp-signature; name=signature.asc
Content-Description: This is a digitally signed message part

-BEGIN PGP SIGNATURE-
Comment: Johannes Berg (SIP Solutions)

iQIVAwUAQW/U+aVg1VMiehFYAQIJ2xAAsItDNAE6jskDUoOptNrxmwvxMdjooCpx
haff88AIuXjKgWjsG27BxoLJJhw5v3S9uRLbOCx0q0oD4uIY1QuauBbncvIWlpS0
cqkEc2smmvDXyRP/uikIJGMaf9h45MuYttCBx9Irb+TZlc9X5IldReZBO2s7zMO+
M10MlPzwlJ8jEaQIykHTreEiLvj12WC+e7vTDM9K4uwwsU4/Ili8gm7v6Zs3aJ/Q
OEAZCTOPSXs+QYKi82E2souhh2eCt23HLWzn3Kt/G6FxakwJ26zGmySs5N0kItKL
0OGKQ4VYUS0w+nADJgFMm5CcB808yxm8WulONDlkIRybFghsbnfcxoPaKwMUGki7
00L9XlDmK6OBkalBpQ5h2rANEuw/QQET8kaChg3jA0PrSTTnJvgGt+mByAazzIOw
kVeIl0+AxZfMmsVvJdZzICnCDCrIj5YmHC7Vb5EeuO3XdkPifDEVQshL/z4AHoUQ
y6IbdndVfNie2DTedmRBB3/tsJx2ksZpR7mRAhpKv9bnKZyK7ppyWPkI1+brGBhb
RsV+I1TBz6KXAACumZ2CV+DwXx8l/EFdti16OfGdhRzMGjqkfGE7eZLDxOfv/INt
BSZ39j+ip6Sd1upA7VseidtJ48S8NNZNfm55nmH7ALjd+lcbLORGiHXDZazH5/FQ
2fOfBK6EVVM=
=s1YX
-END PGP SIGNATURE-

--=-4jUAPFROJACgVt5tWrHO--





[sane-devel] possible bin_w_string security issue (not)

2004-10-15 Thread Johannes Berg
--=-8KpxnP81NRNqGGtcVgwN
Content-Type: text/plain
Content-Transfer-Encoding: quoted-printable

I was going to write a mail without the (not) but then discovered that
this issue is actually a non-issue, but this is totally non-obvious.

Would you know off-hand why?

bin_w_string contains the following code:

  if (w-direction =3D=3D WIRE_DECODE)
{
  if (len =3D=3D 0)
*s =3D 0;
  else if (w-status =3D=3D 0)
*(*s + len - 1) =3D '\0';
}

If I interpret the code correctly, this could be used to bring the
server (running the binary protocol) into an invalid state:

1) send any kind of request that requires a string option at the end,
   for example SANE_NET_AUTHORIZE
2) tell the server that the length is 10 or so
3) send 9 bytes and close the connection

The server will react to this in the following way (if I interpret the
code correctly):
* during sanei_w_array it will notice that the status is
   bad and return
* bin_w_string will not(!) zero-terminate the string
   (because it is assuming that *s is not valid, while
   it actually is)
   sanei_w_array doesn't clear the array if anything
   item fails to read.
* now, the server has a password string that is not zero terminated,
   and strcpy()s that string accessing memory beyond the allocated size.


[Actually, I discovered this while I was documenting the wire protocol.
I think it is overly complex and the code badly structured, the wire's
direction thing is really strange!]





Ok, so here's the solution:

The server does
  signal (SIGPIPE, quit);

(which I think is actually another bug, why should sane_close,
sane_exit, sanei_w_exit and lots of other functions be async signal
safe?)

Still, this is that non-obvious that someone writing a server (or
client, which could then be attacked by a malevolent server) with the
sanei library functions could easily oversee this detail, ignore SIGPIPE
or use sockets that don't raise it.

Therefore I'm still sending this mail in hope that someone fixes the
sanei_w_array function to check for status !=3D 0 and clean up after
itself.

johannes

--=-8KpxnP81NRNqGGtcVgwN
Content-Type: application/pgp-signature; name=signature.asc
Content-Description: This is a digitally signed message part

-BEGIN PGP SIGNATURE-
Comment: Johannes Berg (SIP Solutions)

iQIVAwUAQW/U16Vg1VMiehFYAQItGRAApmPf+qNwUfTzFswVVe1K10VSArYVmcOJ
1wN5J3zAhf9oC7gSavY5q2Y5gCZoyCj2+p+iSWf3sjDAV2+RH8WVIS34IItamOC8
zyj9g8/NgHtaF99tTi7/O2j0/3eMvr9t4/dipDZ7l83EI7C0ZYv2CsGX97dmdXf8
HPJo/9Tl4DA+UsBGMngGsj7flVrjf2zThkJzcPqEAgLv8v2Mv4LW5JNtxZIozgGM
LvLdRgYS7SVtt+owY+2bSLdW3V0dYp/QXwqHNXSvZfFHe1FT9AVZBwvF1573J14v
t+T3AwNV/qRxZC4d/0VD6JsPWJA11HFA3agutUK4TN1G10lH+1BkmoM8NXVWWy9p
9jh1G8FsQsPmnV1WGY6jy6JF4rFLARrjfCIefcDKQt5kEC8s9eMiT0+wayvUYZRr
bhO6oOgunMoPpNX3AxyvDhwzZ1uZmoied7QY+C783pY7kIWtZ45mFFCsznnX6FFN
jwhFjubDeyK03SxTzit7KsBy89wTLXqQIaKKR2IqXc9KlXEUp/UGMoEsQSjBBKth
pUSlKymbhp9kSni0DZ8LGX/G9gYhnK0yMxNUYVzBnp8GWuqC/IO/aHX2rR8n0y+W
ztf389uXOpGU7EHKRPW4NfHuzvnW2CZBN9/ReXwkrMPT4K3enB8dAsh3ipj7Ruzh
FaYv+5kkYgU=
=867r
-END PGP SIGNATURE-

--=-8KpxnP81NRNqGGtcVgwN--





[sane-devel] saned/sanei net bug

2004-10-15 Thread Johannes Berg
--=-b6utnWCS15VlnOe3728l
Content-Type: text/plain
Content-Transfer-Encoding: quoted-printable

somehow saned/the sanei network layer seem to get buffering wrong.

For example, I send the following:

SANE_NET_INIT
SANE_NET_GET_DEVICES
SANE_NET_EXIT

If I don't wait for the result from SANE_NET_GET_DEVICES before sending
the control code for SANE_NET_EXIT, then the SANE_NET_EXIT code is
discarded.
I would assume that somewhere there's a buffering problem and the old
buffer is simply dropped when the direction is changed or something.

The following works:
(echo  -n -e \\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00 ;
sleep .1 ; echo -n -e \\00\\00\\x00\\x01 ; sleep 1 ;
echo -en \\x00\\x00\\x00\\x0A ) | nc localhost 6566 -q 1 | hd

while this doesn't:
(echo  -n -e \\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00 ;
sleep .1 ; echo -n -e \\00\\00\\x00\\x01\\x00\\x00\\x00\\x0A
)| nc localhost 6566 -q 1 | hd

I think this is extremely counter-intuitive. TCP never guarantees
message boundaries, so one wouldn't think that data is explicitly read
by the application but then discarded.

johannes

--=-b6utnWCS15VlnOe3728l
Content-Type: application/pgp-signature; name=signature.asc
Content-Description: This is a digitally signed message part

-BEGIN PGP SIGNATURE-
Comment: Johannes Berg (SIP Solutions)

iQIVAwUAQW/YlaVg1VMiehFYAQLFPg//WIumi+9ZBodt1Ns31jdYGEiJa5z0hvkx
RivmO96L+BnL6Ld7Rut2mWx7ftE88yEhWnyzwBj3eFYseXi72n/2E12dpzyKyx+d
4ASxTTeatA/50Prdn2VzaPNe4zccKFpTJdYM7AXYDq3E49XyBrQ0fzin+rCaW0Pd
hjhD+bzzVuWxFxSgTsQn8T9z8h43W5BcUdD+a9fxZZMwRapXaFhTiFCTBxNH2zSI
yHCa7+Kx8xsGoTjsMt3BiggIn0k0ofNaSzht8BaYR0uelnKDEHrj+JdJgpfOz8OK
KcX3gPhsL5JdT4KbmuGyuJSkhZ9gdOGmneBkpX5WB/zUBvS8FxBLM0yyiAmqgzF1
rU9oqAg9psQgotkQY+koeJk8WnOHrstxgHX6rUO6Dbg2EIOv5tNDL/QZ1c/CAQY1
gcPf67was/FbFQ/WDhgyd4C3WdMDnaMrC9WZwIk1klxj6gFz0RqzcQbF97+s+OX0
yAgdl2V3b2SuYW9x9oojshxA6NN+yd3WrIhWxFFlOxkxrdoE1WGlPGwUvQwcVBja
KArLPRV4eHM6c8T0RyK6XWfC2aCOZ004EzTtPyOW8ARZZl026gGXNaF/jlw2L1PN
UiU8+spF5v4pBiQaiYmmEasGaaHmwHYL6oBI6PV2iMjUnFTz4dYM5EgyP3pSKypW
Ph0hiP5wYrc=
=L6hJ
-END PGP SIGNATURE-

--=-b6utnWCS15VlnOe3728l--





[sane-devel] weird message configuring sane-frontends

2004-10-15 Thread Johannes Berg
--=-Vnf8Fxo6iB28eSHM4qG1
Content-Type: text/plain
Content-Transfer-Encoding: quoted-printable

[configure fails because it can't find sane-config]
You may need to remove /dev/null before you run configure again.

Clearly, that is not something you want to do.

johannes

--=-Vnf8Fxo6iB28eSHM4qG1
Content-Type: application/pgp-signature; name=signature.asc
Content-Description: This is a digitally signed message part

-BEGIN PGP SIGNATURE-
Comment: Johannes Berg (SIP Solutions)

iQIVAwUAQW/YqKVg1VMiehFYAQKHHw/8C09hjnDLcF4l9sjKx8exSdTp+zlNoQn6
T7e5wAQ7KOEtMFJmqfE0zbNrYcZx/3u1mq+gqbCAvZNX6wTnVtQ/VHYzHRLw6b8X
TE2ebMFwV9QaF01tr5GilW6uBqtFPEm28Cd9dhN0mpN442FqZ9wG3Ekhx6BfnNLl
OSAu7ln2Eo2c0qI7Txq6vkm+unt/a+xuBD09tRBdMInpMOt+ozUB08LhOtm+iD3a
R0QZd7N6y6vvhndAKw/bvbzYs6asRhO324NLtj0aYJk9PK8fFdUCQj4FRV7lSPRH
55EdLCBzu+K/gGRPvIjzjy0iXhfo+ToKjoAyyAzjBEes28LeiygrpZhx5QdjTqJy
AYcrffYaOqcvawIrAym0PZp/+apkb4fMASERqZsAxoJI+yhUMrBDXe/o7tWhODGe
o+DQXjGIvSMwFZ8Qan2C6mZJoBV57j7qH8S597X8ipFqKO3gsDxDQTc/+NNwWWQ1
EAG4Bf+s5XkVbNpZh+i8/QCs09PmcERyuCqhe6/3D2IdUh+aBMvvVS24dw+oEZCP
6aqtcqgPHofqOEHjxhIdj1JFQYnwFVi6s+/rX/XUYeXFxfyT/n3PmU5vrLYyRQO5
8iQY04bcrQ1OJHaxKd/s8b+71M6z7zPhS5qxj1nqVUgiqa8rHNyRtDACjl4pQb7J
KSBLLrrPvUM=
=FagO
-END PGP SIGNATURE-

--=-Vnf8Fxo6iB28eSHM4qG1--