[sane-standard] preliminary protocol doc

Johannes Berg johannes@sipsolutions.net
Fri, 15 Oct 2004 15:47:21 +0200


--=-QqwJygJDQiHbSXnDQkB1
Content-Type: multipart/mixed; boundary="=-orkk1Dk3uWixIdJBx7Tj"


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

attached. The document is in moinmoin (moinmoin.wikiwikiweb.de) format
but should be easily readable.

johannes

--=-orkk1Dk3uWixIdJBx7Tj
Content-Disposition: attachment; filename=sane-network-protocol
Content-Type: text/plain; name=sane-network-protocol; charset=ISO-8859-15
Content-Transfer-Encoding: base64

PT0gbmV0d29yayBwYWNrZXRzID09DQpJJ3ZlIGFscmVhZHkgY292ZXJlZCB2YWxpZCBwcm90b2Nv
bCBudW1iZXJzLCBoZXJlJ3Mgd2hhdCBpcyB0cmFuc2ZlcnJlZC4NCg0KRWFjaCBwYWNrZXQgY29u
c2lzdHMgb2YgdGhlIHByb2NlZHVyZSBudW1iZXIsIGFuZCBhIG51bWJlciBvZiBvdGhlciB0aGlu
Z3MgdGhhdCBhcmUNCnByb2NlZHVyZS1kZXBlbmRlbnQuIEV2ZXJ5dGhpbmcgaXMgdHJhbnNmZXJy
ZWQgaW4gbmV0d29yayBieXRlIG9yZGVyIChleGNlcHQgb24gdGhlIGRhdGEgY29ubmVjdGlvbiku
DQoNClRoZSBleHRyYSB0aGluZ3MgYXJlIGRlc2NyaWJlZCBiZWxvdyAoZm9yIGVhY2ggcHJvY2Vk
dXJlKS4gRm9yIHdoYXQgdGhlIGZ1bmN0aW9uIGFjdHVhbGx5IGRvZXMsDQpwbGVhc2Ugc2VlIHRo
ZSBTQU5FIEFQSSBkb2N1bWVudGF0aW9uLCB0aGUgbmV0d29yayBhY2Nlc3MgaXMgb25seSBhIHRo
aW4gbGF5ZXIgYWJvdmUgaXQuDQoNCicnJ0Egbm90ZSBvbiBhdXRob3JpemF0aW9uOicnJw0KQXV0
aG9yaXphdGlvbiBjYW4gb2NjdXIgb25seSBkdXJpbmcgU0FORV9ORVRfT1BFTiwgU0FORV9ORVRf
U1RBUlQgYW5kDQpTQU5FX05FVF9DT05UUk9MX09QVElPTi4gWW91ICcnJ2hhdmUnJycgdG8gc2Vu
ZCBhdXRob3JpemF0aW9uIHdoZW5ldmVyIGENCnJlc3BvbnNlIHRvIG9uZSBvZiB0aGUgYWJvdmUg
Y29tbWFuZHMgaGFzIG9ubHkgdGhlIHJlc291cmNlX3RvX2F1dGhvcml6ZQ0KZmllbGQgc2V0IChh
bGwgb3RoZXJzIDApLiBTZWUgdGhlIGRlc2NyaXB0aW9uIG9mIHRoZSBjb21tYW5kcyBmb3IgbW9y
ZQ0KaW5mb3JtYXRpb24uDQpJZiB5b3UgZmFpbCB0byBhdXRob3JpemUgaW4gdGhpcyBjYXNlLCB0
aGUgc2Nhbm5pbmcgcHJvY2VzcyBtYXkgdGVybWluYXRlLg0KDQpJbiB0aGUgc2FuZSBuZXR3b3Jr
IHByb3RvY29sLCBhbiBhcnJheSBpcyByZXByZXNlbnRlZCBieSB0aGUgbGVuZ3RoIG9mIHRoZSBh
cnJheQ0KZm9sbG93aW5nIHRoZSBpdGVtcy4NCg0KQSBwb2ludGVyIGlzIHJlcHJlc2VudGVkIGJ5
IGEgc2luZ2xlIHdvcmQgdGhhdCBpcyAwIGlmIHRoZSBwb2ludGVyIGlzIE5VTEwsDQpvciBub24t
emVybyBvdGhlcndpc2UuIFRoZW4gZm9sbG93IHRoZSBpdGVtcyB0aGUgc3RydWN0IHRoYXQgdGhl
IHBvaW50ZXINCnBvaW50cyB0byBjb250YWlucy4NCg0KQSBzdHJpbmcgaXMgdHJhbnNmZXJyZWQg
YXMgYW4gYXJyYXkgb2YgaXRzIGJ5dGVzLCB1bmxlc3MgdGhlIHByb3RvY29sDQppcyBpbiBBU0NJ
SSBtb2RlLiBUaGUgdHJhbnNmZXJyZWQgZGF0YSBkb2VzIG5vdCBpbmNsdWRlIHRoZSB0cmFpbGlu
ZyAwLg0KDQpBIGRlc2NyaXB0aW9uIG9mIHRoZSB2YXJpb3VzIHByb2NlZHVyZSBjYWxscyBmb2xs
b3dzOg0KDQo9PT0gU0FORV9ORVRfSU5JVCA9PT0NClRoaXMgbWVzc2FnZSBpcyB1c2VkIHRvIG5l
Z290aWF0ZSB0aGUgdmVyc2lvbiBhbmQgaW5pdGlhbGlzZSBuZXR3b3JrDQpzY2FubmluZy4gSWYg
aXQgZmFpbHMsIHlvdSBjYW5ub3QgdGFsayB0byB0aGUgc2VydmVyIGF0IGFsbC4NCj09PT0gcmVx
dWVzdCA9PT09DQogKiBjbGllbnQgdmVyc2lvbiBjb2RlICh3b3JkKQ0KICogdXNlcm5hbWUgc3Ry
aW5nDQogDQo9PT09IHJlcGx5ID09PT0NCiAqIHN0YXR1cyBjb2RlICh3b3JkKQ0KICogc2VydmVy
IHZlcnNpb24gY29kZSAod29yZCkNCg0KPT09IFNBTkVfTkVUX0FVVEhPUklaRSA9PT0NClRoaXMg
bWVzc2FnZSBpcyB1c2VkIHRvIHNlbmQgYXV0aG9yaXphdGlvbiB0b2tlbnMgZm9yIGEgZ2l2ZW4g
cmVzb3VyY2UuDQo9PT09IHJlcXVlc3QgPT09PQ0KICogcmVzb3VyY2UgKHN0cmluZykNCiAqIHVz
ZXJuYW1lIChzdHJpbmcpDQogKiBwYXNzd29yZCAoc3RyaW5nKQ0KDQo9PT09IHJlcGx5ID09PT0N
CiAqIGEgc2luZ2xlIDAgd29yZCBpZiBubyBwcm90b2NvbCBlcnJvcnMgb2NjdXJyZWQNCg0KPT09
IFNBTkVfTkVUX0dFVF9ERVZJQ0VTID09PQ0KVGhpcyBtZXNzYWdlIGNhdXNlcyB0aGUgbmV0d29y
ayBkYWVtb24gdG8gZW51bWVyYXRlIGFsbCBkZXZpY2VzIGl0IGNhbg0KYWNjZXNzLg0KPT09PSBy
ZXF1ZXN0ID09PT0NCiBub3RoaW5nIGJ1dCB0aGUgcHJvY2VkdXJlIGNvZGUNCg0KPT09PSByZXBs
eSA9PT09DQogVE9ETyANCg0KPT09IFNBTkVfTkVUX09QRU4gPT09DQo9PT09IHJlcXVlc3QgPT09
PQ0KICogdGhlIGRldmljZSBuYW1lIChtYXkgbm90IGNvbnRhaW4gYSBjb2xvbikNCiANCj09PT0g
cmVwbHkgPT09PQ0KICogc3RhdHVzICh3b3JkKQ0KICogaGFuZGxlICh3b3JkKQ0KICogcmVzb3Vy
Y2UgdG8gYXV0aG9yaXplIChzdHJpbmcpDQogDQpIZXJlLCBpZiB5b3UgZ2l2ZSBhIE5VTEwgZGV2
aWNlIG5hbWUsIHRoZSB0d28gZm9sbG93aW5nIHRoaW5ncyBhcmUgcG9zc2libGU6DQogMS4gaGFu
ZGxlIGlzIDAgYW5kIHRoZSByZXNvdXJjZSBpcyBOVUxMLCB0aGVuIHN0YXR1cyBjb250YWlucyBh
biBlcnJvciBjb2RlIGZyb20gc2FuZV9nZXRfZGV2aWNlcw0KIDIuIG5vIGRldmljZXMgZXhpc3Qs
IGFuZCB0aGUgc3RhdHVzIGlzIFNBTkVfU1RBVFVTX0lOVkFMDQoNCkFmdGVyIHRoZXNlIHJlcGxp
ZXMgb3IgaWYgeW91IGRvIG5vdCBnaXZlIGEgTlVMTCBkZXZpY2UgbmFtZSwgdGhlIHByb3RvY29s
IHByb2NlZWRzIHdpdGgNCmF1dGhvcml6YXRpb24gdG8gdGhlIHJlc291cmNlICJzYW5lZCIgKHNl
ZSBTQU5FX05FVF9BVVRIT1JJWkUpLg0KSWYgYXV0aG9yaXphdGlvbiBmYWlscywgdGhlIHJlcGx5
J3Mgc3RhdHVzIGlzIHNldCB0byBTQU5FX1NUQVRVU19BQ0NFU1NfREVOSUVELCBvdGhlcndpc2UN
CnRoZSBkZXZpY2UgaXMgb3BlbmVkIGFuZCB0aGUgcmVzdWx0IG9mIHRoYXQgaXMgc2VudCBpbiB0
aGUgc3RhdHVzIGZpZWxkLiBBbiBhZGRpdGlvbmFsDQpzdGF0dXMgaXMgcG9zc2libGUsIFNBTkVf
U1RBVFVTX05PX01FTSwgaWYgYSBoYW5kbGUgY291bGQgbm90IGJlIGFsbG9jYXRlZCwgb3RoZXJ3
aXNlDQp0aGUgaGFuZGxlIGZpZWxkIGlzIHNldCB0byB0aGUgZGV2aWNlIGhhbmRsZSwgd2hpY2gg
aXMgbmVlZGVkIGluIGZ1cnRoZXIgb3BlcmF0aW9ucy4NCg0KDQo9PT0gU0FORV9ORVRfQ0xPU0Ug
PT09DQo9PT09IHJlcXVlc3QgPT09PQ0KICogaGFuZGxlICh3b3JkKQ0KIA0KPT09PSByZXBseSA9
PT09DQogKiBhIHplcm8gd29yZA0KDQo9PT0gU0FORV9ORVRfR0VUX09QVElPTl9ERVNDUklQVE9S
UyA9PT0NCj09PT0gcmVxdWVzdCA9PT09DQogKiBoYW5kbGUgKHdvcmQpDQogDQo9PT09IHJlcGx5
ID09PT0NCiAqIHRoZSBzdGF0dXMgY29kZSAod29yZCkNCiAqIGFuIGFycmF5IG9mIHBvaW50ZXJz
IHRvIGEgU0FORV9PcHRpb25fRGVzY3JpcHRvciBzdHJ1Y3Qgd2hpY2ggY29udGFpbnMgKGluIHRo
ZSBnaXZlbiBvcmRlcik6DQogICAgICogbmFtZSAoc3RyaW5nKQ0KICAgICAqIHRpdGxlIChzdHJp
bmcpDQogICAgICogZGVzY3JpcHRpb24gKHN0cmluZykNCiAgICAgKiB0eXBlICh2YWx1ZSB0eXBl
KQ0KICAgICAqIHNpemUgKHdvcmQpDQogICAgICogY2FwICh3b3JkKQ0KICAgICAqIHRoZSBjb25z
dHJhaW50IHR5cGUgKGNvbnN0cmFpbnRfdHlwZSkNCiAgICAgKiBkZXBlbmRpbmcgb24gdGhlIGNv
bnN0cmFpbnQgdHlwZToNCiAgICAgICAqIFNBTkVfQ09OU1RSQUlOVF9OT05FOiBub3RoaW5nDQog
ICAgICAgKiBTQU5FX0NPTlNUUkFJTlRfUkFOR0U6IGEgcG9pbnRlciB0byBhIFNBTkVfUmFuZ2Ug
c3RydWN0DQogICAgICAgKiBTQU5FX0NPTlNUUkFJTlRfV09SRF9MSVNUOiBhbiBhcnJheSBvZiB3
b3Jkcw0KICAgICAgICogU0FORV9DT05TVFJBSU5UX1NUUklOR19MSVNUOiBhbiBhcnJheSBvZiBz
dHJpbmdzIGluY2x1ZGluZyB0aGUgdGVybWluYXRpbmcgTlVMTCBzdHJpbmcNCg0KPT09IFNBTkVf
TkVUX0NPTlRST0xfT1BUSU9OID09PQ0KPT09PSByZXF1ZXN0ID09PT0NCiAqIGhhbmRsZSAod29y
ZCkNCiAqIG9wdGlvbiAod29yZCkNCiAqIGFjdGlvbiAod29yZCkNCiAqIGlmIGFjdGlvbiAhPSBT
QU5FX0FDVElPTl9TRVRfQVVUTyAob3IgdGhlIHdpcmUgcHJvdG9jb2wgdmVyc2lvbiBpcyA8IDMp
IHRoZW4gdGhlIGZvbGxvd2luZyBmaWVsZHMgZm9sbG93Og0KICAgKiB2YWx1ZV90eXBlICh3b3Jk
KQ0KICAgKiB2YWx1ZV9zaXplICh3b3JkKQ0KICAgKiB2YWx1ZQ0KDQo9PT09IHJlcGx5ID09PT0N
CiAqIHN0YXR1cyAod29yZCkNCiAqIGluZm8gKHdvcmQpDQogKiB2YWx1ZV90eXBlICh3b3JkKQ0K
ICogdmFsdWVfc2l6ZSAod29yZCkNCiAqIHZhbHVlIChkYXRhKQ0KICogcmVzb3VyY2UgdG8gYXV0
aG9yaXplIChzdHJpbmcpDQoNCkF1dGhlbnRpY2F0aW9uIG1heSBuZWVkIHRvIG9jY3VyciwgaW4g
dGhhdCBjYXNlIGFsbCBmaWVsZHMgYnV0IHRoZSByZXNvdXJjZSB0byBhdXRob3JpemUNCmFyZSBz
ZXQgdG8gMC4NCk90aGVyd2lzZSwgdGhlIHJlcGx5IGNvbnRhaW5zIHRoZSByZXN1bHQgb2Ygc2Fu
ZV9jb250cm9sX29wdGlvbi4NCg0KPT09IFNBTkVfTkVUX0dFVF9QQVJBTUVURVJTID09PQ0KPT09
PSByZXF1ZXN0ID09PT0NCiAqIGhhbmRsZSAod29yZCkNCiANCj09PT0gcmVwbHkgPT09PQ0KICog
c3RhdHVzDQogKiBwYXJhbWV0ZXJzIChTQU5FX1BhcmFtZXRlcnMpIGNvbnRhaW5pbmc6DQogICAq
IGZvcm1hdCAoZnJhbWUgPSB3b3JkKQ0KICAgKiBsYXN0X2ZyYW1lIChib29sZWFuID0gd29yZCwg
MSBUcnVlLCAwIEZhbHNlKQ0KICAgKiBieXRlc19wZXJfbGluZSAod29yZCkNCiAgICogcGl4ZWxz
X3Blcl9saW5lICh3b3JkKQ0KICAgKiBsaW5lcyAod29yZCkNCiAgICogZGVwdGggKHdvcmQpDQoN
ClRoZSByZXR1cm5lZCBkYXRhIGlzIGZyb20gdGhlIHNhbmVfZ2V0X3BhcmFtZXRlcnMgQVBJIGNh
bGwuDQogDQo9PT0gU0FORV9ORVRfU1RBUlQgPT09DQo9PT09IHJlcXVlc3QgPT09PQ0KICogaGFu
ZGxlDQogDQo9PT09IHJlcGx5ID09PT0NCiAqIHN0YXR1cyAod29yZCkNCiAqIHBvcnQgKHdvcmQp
DQogKiBieXRlIG9yZGVyICh3b3JkLCAweDEyMzQgZm9yIGxpdHRsZSwgMHg0MzIxIGZvciBiaWcg
ZW5kaWFuKQ0KICogcmVzb3VyY2UgdG8gYXV0aG9yaXplDQogDQpBZ2FpbiwgYXV0aG9yaXphdGlv
biBtYXkgYmUgcmVxdWlyZWQgaW4gd2hpY2ggY2FzZSBldmVyeXRoaW5nIGJ1dCB0aGUgcmVzb3Vy
Y2UgdG8gYXV0aG9yaXplDQppcyBzZXQgdG8gMC4NCg0KQWZ0ZXIgdGhlIHN0YXR1cyByZXR1cm5l
ZCBpcyBTQU5FX1NUQVRVU19HT09ELCB0aGUgc2VydmVyIHN0YXJ0cyBsaXN0ZW5pbmcNCm9uIHRo
ZSBwb3J0IGdpdmVuIGluIHRoZSBwb3J0IGZpZWxkLiBUaGUgY2xpZW50IG11c3QgdGhlbiBjb25u
ZWN0IHRvIHRoYXQgcG9ydA0KKHRoZSBzZXJ2ZXIgYmxvY2tzIHVudGlsIHRoYXQgaGFzIGhhcHBl
bmVkKS4gVGhlIGNsaWVudCBtdXN0IG5vdCBzZW5kIGFueSBkYXRhDQp0byB0aGUgZGF0YSBjb25u
ZWN0aW9uLCB0aGF0IGNvbm5lY3Rpb24gaXMgb25seSBmb3IgcmVjZWl2aW5nIGRhdGEgKGxpa2Ug
RlRQKS4NCklmIHlvdSBkbyBub3QgY29ubmVjdCB3aXRoaW4gb25lIGhvdXIgb2Ygb3BlbmluZyB0
aGUgY29ubmVjdGlvbiwgdGhlIHNlcnZlciBwcm9jZXNzIGV4aXRzLg0KDQpUaGUgc2VydmVyIG5v
dyBzdGFydHMgc2Nhbm5pbmcsIHNlbmRpbmcgYWxsIGRhdGEgb3ZlciB0aGUgZGF0YSBjb25uZWN0
aW9uLCB3aGlsZQ0Kc3RpbGwgcHJvY2Vzc2luZyByZXF1ZXN0cyBvbiB0aGUgY29udHJvbCBjb25u
ZWN0aW9uLg0KVGhlIGRhdGEgb24gdGhlIGRhdGEgY29ubmVjdGlvbiBpcyBzZW50IGluIHRoZSBz
ZXJ2ZXIncyBieXRlIG9yZGVyLCB0aHVzIHRoZSBjbGllbnQNCm5lZWRzIHRvIHRyYW5zbGF0ZSBp
ZiBpdCBpcyB1c2luZyBhIGRpZmZlcmVudCBieXRlIG9yZGVyLg0KDQpXaGVuIHRoZSBzY2FuIGlz
IGZpbmlzaGVkLCB0aGUgc2VydmVyIGNsb3NlcyB0aGUgZGF0YSBjb25uZWN0aW9uLg0KDQo9PT0g
U0FORV9ORVRfQ0FOQ0VMID09PQ0KQXMgd2l0aCB0aGUgU0FORSBBUEksIHRoaXMgaXMgbm90IGp1
c3QgdXNlZCB0byBjYW5jZWwgYSBzY2FuIGJ1dCBhbHNvIHRvIGNsZWFuIHVwDQphZnRlciBhIHN1
Y2Nlc3NmdWwgc2NhbiAoc2luY2UgaXQgaXMgdGhlIG9ubHkgcGxhY2Ugc2FuZV9jYW5jZWwgaXMg
Y2FsbGVkIGluIHRoZQ0Kc2VydmVyKQ0KDQo9PT09IHJlcXVlc3QgPT09PQ0KICogaGFuZGxlICh3
b3JkKQ0KPT09PSByZXBseSA9PT09DQogKiBhIHNpbXBsZSAwIHdvcmQNCg0KPT09IFNBTkVfTkVU
X0VYSVQgPT09DQo9PT09IHJlcXVlc3QgPT09PQ0Kbm90aGluZyBidXQgdGhlIHByb2NlZHVyZSBj
b2RlDQoNCj09PT0gcmVwbHkgPT09PQ0Kbm90aGluZywgdGhlIHNlcnZlciB0ZXJtaW5hdGVzIGFu
ZCBjbG9zZXMgdGhlIGNvbm5lY3Rpb24gdXBvbiByZWNlaXB0IG9mIHRoaXMgcHJvY2VkdXJlDQpj
b2RlLg0K


--=-orkk1Dk3uWixIdJBx7Tj--

--=-QqwJygJDQiHbSXnDQkB1
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/U5qVg1VMiehFYAQI/iQ//bUAypbHisMgJg8WJhKB3LPYcavEPa/I6
rYmsqdUa4bdddjPPRXxGXA3uMkgd3eKWUK/tCVxzegKDbH67dAkak9/U4fPMAta4
aCBdbhl/c6f5ZTmc7fO5030dbwRaI+iakHCXA120ok5mTvvxZV364PO6yOtgt8Rh
jOb0jAplI6elBJVJdYgcEGOyclqyN40VoqDYoEkPzA8CAApgokxthM8r2ZcslZOL
4zQbLzJhbTH9o1eyJOvKnW4Fx5IqR5p/ProxOJq+Qv63DPujyr5oW+m+qHz5DZFT
AcccOH92s/GjL8mxVEpGy7qtT/73RLS5+u5Fw0bSjH7UZJMkBuntZ0jaa2GY7tC+
4kOXoCQtZyn1agy9+/6+2NB3BFCzJ3YEe6mBRBmBPyQ1d9GF3NM+1lcAzaC6VLY3
+PzwKrxB9XIbf5NoNx1aD8JU1KyKjN81MFwGgDtyB7ncdJeKbsWC7ziAUFQpd5Dc
6eIStEcUvoZ13dCJwZuFeZF3N7Q+RNJ/GHoszt4l6PhBrHVAD3tqoKUJIICAiyQh
Ij9BCN5mohw0unCkXuU0Ggp2jXuoegpLg3okV3DOHs7bzUrVlzoWnc/E4Gfui/rj
Th0iKYKYwvXE9bGtCpvCq3xyjE/0JmdzA3S3lAGnmXHhUI1tAOTRNpe4kMz5eFCr
QZjhhpuzEgw=
=mpo4
-----END PGP SIGNATURE-----

--=-QqwJygJDQiHbSXnDQkB1--