[sane-devel] [FYI] new ls5000 backend
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
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
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 ?
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]
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_?
--=-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
--=-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]
--=-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]]
--=-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
--=-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.
--=-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?
--=-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
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
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
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)
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 ..
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
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
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.
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
--=-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
--=-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)
--=-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
--=-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
--=-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
--=-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)
--=-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
--=-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
--=-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--