public inbox for linux-bluetooth@vger.kernel.org
 help / color / mirror / Atom feed
* [Bluez-devel] Should hcid wait for dbus daemon?
@ 2007-01-08 17:37 Daniel Gollub
  2007-01-08 18:47 ` Johan Hedberg
                   ` (2 more replies)
  0 siblings, 3 replies; 9+ messages in thread
From: Daniel Gollub @ 2007-01-08 17:37 UTC (permalink / raw)
  To: bluez-devel

Hi,

the hcid daemon aborts when there is no dbus daemon running. What about 
enhancing hcid to handle the case that the dbus daemon get started after 
hcid. I know there are might be not many use cases. But at least i know one 
case ;)

To avoid that there is another "unneeded" service running, i want to call only 
the bluetooth init scripts when there is a bluetooth device plugged in. This 
is done by a simple udev rule, which calls the bluetooth init script when the 
device got plugged in.

So there is no need to insserv or do any other stuff like running YaST or 
something like that. Just turn on the bluetooth device or plug it in and the 
bluetooth service get started by udev.

The only problem is during boot. udev get started before the dbus daemon, and 
will trigger the udev rule which calls the bluetooth init script. Then hcid 
will fail because the dbus daemon isn't started in this early stage of boot.

If the hcid would wait for the dbus daemon this wouldn't be a problem. At 
least hcid can handle a dbus daemon restart, maybe we can enhance this.

I know this can be also done in the bluetooth init script, but maybe someone 
else insist on this enhancement.

best regards,
Daniel

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Bluez-devel mailing list
Bluez-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bluez-devel

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [Bluez-devel] Should hcid wait for dbus daemon?
  2007-01-08 17:37 [Bluez-devel] Should hcid wait for dbus daemon? Daniel Gollub
@ 2007-01-08 18:47 ` Johan Hedberg
  2007-01-08 23:31   ` Luca Capello
  2007-01-08 23:41   ` Daniel Gollub
  2007-01-13 17:39 ` Andrey Rahmatullin
  2007-01-15 13:30 ` Marcel Holtmann
  2 siblings, 2 replies; 9+ messages in thread
From: Johan Hedberg @ 2007-01-08 18:47 UTC (permalink / raw)
  To: bluez-devel

Hi Daniel,

On Mon, Jan 08, 2007, Daniel Gollub wrote:
> If the hcid would wait for the dbus daemon this wouldn't be a problem. At 
> least hcid can handle a dbus daemon restart, maybe we can enhance this.

Sounds like a useful feature. It should be quite simple to implement too 
since most of the required code already exists due to the dbus restart 
detection support. Feel free to provide a patch for it :)

Johan

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Bluez-devel mailing list
Bluez-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bluez-devel

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [Bluez-devel] Should hcid wait for dbus daemon?
  2007-01-08 18:47 ` Johan Hedberg
@ 2007-01-08 23:31   ` Luca Capello
  2007-01-09  0:01     ` Daniel Gollub
  2007-01-09  8:27     ` Stefan Seyfried
  2007-01-08 23:41   ` Daniel Gollub
  1 sibling, 2 replies; 9+ messages in thread
From: Luca Capello @ 2007-01-08 23:31 UTC (permalink / raw)
  To: bluez-devel


[-- Attachment #1.1: Type: text/plain, Size: 1380 bytes --]

Hello!

NB, I'm not deeply involved in bluetooth neither dbus development,
just a "power user".  If my thoughts are wrong, just discard them.

On Mon, 08 Jan 2007 19:47:01 +0100, Johan Hedberg wrote:
> On Mon, Jan 08, 2007, Daniel Gollub wrote:
>> If the hcid would wait for the dbus daemon this wouldn't be a
>> problem. At least hcid can handle a dbus daemon restart, maybe we
>> can enhance this.
>
> Sounds like a useful feature.

Shouldn't be the contrary?  I mean, on a clean Debian etch, every
dbus-dependent service is started by dbus:
=====
root@gismo:/home/luca# ls -l /etc/dbus-1/eventd.d/
total 16
-rwxr-xr-x 1 root root 1901 2006-11-11 15:38 20hal
-rwxr-xr-x 1 root root 1091 2006-10-24 15:22 24dhcdbd
lrwxrwxrwx 1 root root   25 2007-01-07 21:53 25avahi-daemon -> \
 ../../init.d/avahi-daemon
-rwxr-xr-x 1 root root 1766 2006-11-30 22:22 25NetworkManager
-rwxr-xr-x 1 root root 1684 2006-11-30 22:22 26NetworkManagerDispatcher

root@gismo:/home/luca# invoke-rc.d dbus start
Starting system message bus: dbus.
Starting Hardware abstraction layer: hald.
Starting DHCP D-Bus daemon: dhcdbd.
Starting network connection manager: NetworkManager.
Starting Avahi mDNS/DNS-SD Daemon: avahi-daemon.
Starting network events dispatcher: NetworkManagerDispatcher.

root@gismo:/home/luca#
=====

Just my 0.02€...

Thx, bye,
Gismo / Luca

[-- Attachment #1.2: Type: application/pgp-signature, Size: 188 bytes --]

[-- Attachment #2: Type: text/plain, Size: 347 bytes --]

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV

[-- Attachment #3: Type: text/plain, Size: 164 bytes --]

_______________________________________________
Bluez-devel mailing list
Bluez-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bluez-devel

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [Bluez-devel] Should hcid wait for dbus daemon?
  2007-01-08 18:47 ` Johan Hedberg
  2007-01-08 23:31   ` Luca Capello
@ 2007-01-08 23:41   ` Daniel Gollub
  2007-01-12 15:25     ` Stefan Seyfried
  1 sibling, 1 reply; 9+ messages in thread
From: Daniel Gollub @ 2007-01-08 23:41 UTC (permalink / raw)
  To: bluez-devel

[-- Attachment #1: Type: text/plain, Size: 563 bytes --]

On Monday 08 January 2007 19:47, Johan Hedberg wrote:
> Sounds like a useful feature. It should be quite simple to implement too
> since most of the required code already exists due to the dbus restart
> detection support. Feel free to provide a patch for it :)
How often should the daemons try to connect? Or infinitely?
If not infinitely, then configurable by command line parameter or fixed?

Attachted is a _simple_ proof of concept patch which . It retries every 5 
seconds. After #12 unsuccessfully dbus connect, it gives up and abort (as 
before).

Daniel

[-- Attachment #2: bluez-utils-dbus-retry.diff --]
[-- Type: text/x-diff, Size: 1157 bytes --]

Index: common/dbus.c
===================================================================
RCS file: /cvsroot/bluez/utils/common/dbus.c,v
retrieving revision 1.2
diff -u -p -r1.2 dbus.c
--- common/dbus.c	13 Nov 2006 07:58:40 -0000	1.2
+++ common/dbus.c	8 Jan 2007 22:52:18 -0000
@@ -39,6 +39,7 @@
 #include "list.h"
 
 #define DISPATCH_TIMEOUT	0
+#define MAX_DBUS_RETRY		12
 
 static int name_listener_initialized = 0;
 
@@ -485,13 +486,27 @@ static void dispatch_status_cb(DBusConne
 
 DBusConnection *init_dbus(const char *name, void (*disconnect_cb)(void *), void *user_data)
 {
+	int retry = 0;
 	struct disconnect_data *dc_data;
 	DBusConnection *conn;
 	DBusError err;
 
 	dbus_error_init(&err);
 
-	conn = dbus_bus_get(DBUS_BUS_SYSTEM, &err);
+	do {
+		if (dbus_error_is_set(&err))
+			dbus_error_free(&err);
+
+		conn = dbus_bus_get(DBUS_BUS_SYSTEM, &err);
+		if (conn)
+			break;
+
+		if (!retry)
+			info("Can't connect to DBUS. Will retry %i times.", MAX_DBUS_RETRY);
+
+		usleep(5000000);
+		retry++;
+	} while (!conn && retry < MAX_DBUS_RETRY);
 
 	if (dbus_error_is_set(&err)) {
 		error("Can't connect to system message bus: %s", err.message);

[-- Attachment #3: Type: text/plain, Size: 347 bytes --]

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV

[-- Attachment #4: Type: text/plain, Size: 164 bytes --]

_______________________________________________
Bluez-devel mailing list
Bluez-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bluez-devel

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [Bluez-devel] Should hcid wait for dbus daemon?
  2007-01-08 23:31   ` Luca Capello
@ 2007-01-09  0:01     ` Daniel Gollub
  2007-01-09  8:27     ` Stefan Seyfried
  1 sibling, 0 replies; 9+ messages in thread
From: Daniel Gollub @ 2007-01-09  0:01 UTC (permalink / raw)
  To: bluez-devel

T24gVHVlc2RheSAwOSBKYW51YXJ5IDIwMDcgMDA6MzEsIEx1Y2EgQ2FwZWxsbyB3cm90ZToKPiBT
aG91bGRuJ3QgYmUgdGhlIGNvbnRyYXJ5PyDCoEkgbWVhbiwgb24gYSBjbGVhbiBEZWJpYW4gZXRj
aCwgZXZlcnkKPiBkYnVzLWRlcGVuZGVudCBzZXJ2aWNlIGlzIHN0YXJ0ZWQgYnkgZGJ1czoKQnV0
IHRoZW4gaGNpZCBnZXRzIGV2ZXJ5dGltZSBzdGFydGVkLCBldmVuIGlmIHRoZXJlIGlzIG5vIGJs
dWV0b290aCBkb25nbGUgCmNvbm5lY3RlZC4gSSBndWVzcyB0aGVyZSBhcmUgc2V2ZXJhbCBwZW9w
bGUgd2hpY2ggb25seSBjb25uZWN0IHRoZWlyIApibHVldG9vdGggZG9uZ2xlIG9uY2UgYSB3ZWVr
LiBPciBtYXliZSBvbmx5IG9uY2UgYXQgYWxsIGFuZCBuZXZlciBhZ2Fpbi4KVGhpcyB3YXMgdGhl
IG1haW4gaW50ZW50aW9uIHRvIHJ1biBvbmx5IHRoZSBibHVldG9vdGggZGFlbW9ucyBpZiBhbnkg
ZGV2aWNlIGlzIApjb25uZWN0ZWQuCgpEYW5pZWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KVGFrZSBTdXJ2
ZXlzLiBFYXJuIENhc2guIEluZmx1ZW5jZSB0aGUgRnV0dXJlIG9mIElUCkpvaW4gU291cmNlRm9y
Z2UubmV0J3MgVGVjaHNheSBwYW5lbCBhbmQgeW91J2xsIGdldCB0aGUgY2hhbmNlIHRvIHNoYXJl
IHlvdXIKb3BpbmlvbnMgb24gSVQgJiBidXNpbmVzcyB0b3BpY3MgdGhyb3VnaCBicmllZiBzdXJ2
ZXlzIC0gYW5kIGVhcm4gY2FzaApodHRwOi8vd3d3LnRlY2hzYXkuY29tL2RlZmF1bHQucGhwP3Bh
Z2U9am9pbi5waHAmcD1zb3VyY2Vmb3JnZSZDSUQ9REVWREVWCl9fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fCkJsdWV6LWRldmVsIG1haWxpbmcgbGlzdApCbHVl
ei1kZXZlbEBsaXN0cy5zb3VyY2Vmb3JnZS5uZXQKaHR0cHM6Ly9saXN0cy5zb3VyY2Vmb3JnZS5u
ZXQvbGlzdHMvbGlzdGluZm8vYmx1ZXotZGV2ZWwK

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [Bluez-devel] Should hcid wait for dbus daemon?
  2007-01-08 23:31   ` Luca Capello
  2007-01-09  0:01     ` Daniel Gollub
@ 2007-01-09  8:27     ` Stefan Seyfried
  1 sibling, 0 replies; 9+ messages in thread
From: Stefan Seyfried @ 2007-01-09  8:27 UTC (permalink / raw)
  To: BlueZ development

Hi Luca,

On Tue, Jan 09, 2007 at 12:31:12AM +0100, Luca Capello wrote:

> NB, I'm not deeply involved in bluetooth neither dbus development,
> just a "power user".  If my thoughts are wrong, just discard them.

They are not wrong, it is just a different use case :-)

> Shouldn't be the contrary?  I mean, on a clean Debian etch, every
> dbus-dependent service is started by dbus:
 =

> root@gismo:/home/luca# invoke-rc.d dbus start
> Starting system message bus: dbus.
> Starting Hardware abstraction layer: hald.
> Starting DHCP D-Bus daemon: dhcdbd.
> Starting network connection manager: NetworkManager.
> Starting Avahi mDNS/DNS-SD Daemon: avahi-daemon.
> Starting network events dispatcher: NetworkManagerDispatcher.
> =

> root@gismo:/home/luca#

This is about the same if i statically enable the bluetooth service
on a SUSE machine. But i would like to avoid that (no need to run
hcid on a machine that will never see a BT device). At the same time,
i like to have it "just work", without the user needing to configure
it. So i start the bluetooth services via udev, when a BT device
is connected.

This works very well once the machine is up and running. If the device
is connected during boot, it is different, because the udev "coldplug"
happens before most of the services are started.

I hope this clears up my (and Daniels) intentions :-)

Have fun
-- =

Stefan Seyfried
QA / R&D Team Mobile Devices        |              "Any ideas, John?"
SUSE LINUX Products GmbH, N=FCrnberg  | "Well, surrounding them's out." =


-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=3Djoin.php&p=3Dsourceforge&CID=3DDE=
VDEV
_______________________________________________
Bluez-devel mailing list
Bluez-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bluez-devel

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [Bluez-devel] Should hcid wait for dbus daemon?
  2007-01-08 23:41   ` Daniel Gollub
@ 2007-01-12 15:25     ` Stefan Seyfried
  0 siblings, 0 replies; 9+ messages in thread
From: Stefan Seyfried @ 2007-01-12 15:25 UTC (permalink / raw)
  To: BlueZ development

Ping! :-)

Any opinions on that approach? This fixes the hotplug issue for our users,
but i want to stay as close to upstream as possible :-)

On Tue, Jan 09, 2007 at 12:41:53AM +0100, Daniel Gollub wrote:
> On Monday 08 January 2007 19:47, Johan Hedberg wrote:
> > Sounds like a useful feature. It should be quite simple to implement too
> > since most of the required code already exists due to the dbus restart
> > detection support. Feel free to provide a patch for it :)
> How often should the daemons try to connect? Or infinitely?
> If not infinitely, then configurable by command line parameter or fixed?
> =

> Attachted is a _simple_ proof of concept patch which . It retries every 5 =

> seconds. After #12 unsuccessfully dbus connect, it gives up and abort (as =

> before).
> =

> Daniel

> Index: common/dbus.c
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
> RCS file: /cvsroot/bluez/utils/common/dbus.c,v
> retrieving revision 1.2
> diff -u -p -r1.2 dbus.c
> --- common/dbus.c	13 Nov 2006 07:58:40 -0000	1.2
> +++ common/dbus.c	8 Jan 2007 22:52:18 -0000
> @@ -39,6 +39,7 @@
>  #include "list.h"
>  =

>  #define DISPATCH_TIMEOUT	0
> +#define MAX_DBUS_RETRY		12
>  =

>  static int name_listener_initialized =3D 0;
>  =

> @@ -485,13 +486,27 @@ static void dispatch_status_cb(DBusConne
>  =

>  DBusConnection *init_dbus(const char *name, void (*disconnect_cb)(void *=
), void *user_data)
>  {
> +	int retry =3D 0;
>  	struct disconnect_data *dc_data;
>  	DBusConnection *conn;
>  	DBusError err;
>  =

>  	dbus_error_init(&err);
>  =

> -	conn =3D dbus_bus_get(DBUS_BUS_SYSTEM, &err);
> +	do {
> +		if (dbus_error_is_set(&err))
> +			dbus_error_free(&err);
> +
> +		conn =3D dbus_bus_get(DBUS_BUS_SYSTEM, &err);
> +		if (conn)
> +			break;
> +
> +		if (!retry)
> +			info("Can't connect to DBUS. Will retry %i times.", MAX_DBUS_RETRY);
> +
> +		usleep(5000000);

here, a
		sleep(5);
might be easier to read :-)

> +		retry++;
> +	} while (!conn && retry < MAX_DBUS_RETRY);
>  =

>  	if (dbus_error_is_set(&err)) {
>  		error("Can't connect to system message bus: %s", err.message);
-- =

Stefan Seyfried
QA / R&D Team Mobile Devices        |              "Any ideas, John?"
SUSE LINUX Products GmbH, N=FCrnberg  | "Well, surrounding them's out." =


-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=3Djoin.php&p=3Dsourceforge&CID=3DDE=
VDEV
_______________________________________________
Bluez-devel mailing list
Bluez-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bluez-devel

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [Bluez-devel] Should hcid wait for dbus daemon?
  2007-01-08 17:37 [Bluez-devel] Should hcid wait for dbus daemon? Daniel Gollub
  2007-01-08 18:47 ` Johan Hedberg
@ 2007-01-13 17:39 ` Andrey Rahmatullin
  2007-01-15 13:30 ` Marcel Holtmann
  2 siblings, 0 replies; 9+ messages in thread
From: Andrey Rahmatullin @ 2007-01-13 17:39 UTC (permalink / raw)
  To: bluez-devel


[-- Attachment #1.1: Type: text/plain, Size: 140 bytes --]

+1, we in ALT Linux use exactly the same scheme for launching hcid and we
also want to fix this issue.

-- 
WBR, wRAR (ALT Linux Team)

[-- Attachment #1.2: Digital signature --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

[-- Attachment #2: Type: text/plain, Size: 347 bytes --]

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV

[-- Attachment #3: Type: text/plain, Size: 164 bytes --]

_______________________________________________
Bluez-devel mailing list
Bluez-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bluez-devel

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [Bluez-devel] Should hcid wait for dbus daemon?
  2007-01-08 17:37 [Bluez-devel] Should hcid wait for dbus daemon? Daniel Gollub
  2007-01-08 18:47 ` Johan Hedberg
  2007-01-13 17:39 ` Andrey Rahmatullin
@ 2007-01-15 13:30 ` Marcel Holtmann
  2 siblings, 0 replies; 9+ messages in thread
From: Marcel Holtmann @ 2007-01-15 13:30 UTC (permalink / raw)
  To: BlueZ development

Hi Daniel,

> the hcid daemon aborts when there is no dbus daemon running. What about 
> enhancing hcid to handle the case that the dbus daemon get started after 
> hcid. I know there are might be not many use cases. But at least i know one 
> case ;)
> 
> To avoid that there is another "unneeded" service running, i want to call only 
> the bluetooth init scripts when there is a bluetooth device plugged in. This 
> is done by a simple udev rule, which calls the bluetooth init script when the 
> device got plugged in.
> 
> So there is no need to insserv or do any other stuff like running YaST or 
> something like that. Just turn on the bluetooth device or plug it in and the 
> bluetooth service get started by udev.
> 
> The only problem is during boot. udev get started before the dbus daemon, and 
> will trigger the udev rule which calls the bluetooth init script. Then hcid 
> will fail because the dbus daemon isn't started in this early stage of boot.
> 
> If the hcid would wait for the dbus daemon this wouldn't be a problem. At 
> least hcid can handle a dbus daemon restart, maybe we can enhance this.
> 
> I know this can be also done in the bluetooth init script, but maybe someone 
> else insist on this enhancement.

I don't think that it is a good idea to have udev start daemons. My
understanding is that udev is for creating device nodes or init
hardware. In case of BlueZ it must start a number of daemons to have a
fully working Bluetooth setup. This task is better done by systems like
upstart which handle dependencies.

Regards

Marcel



-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Bluez-devel mailing list
Bluez-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bluez-devel

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2007-01-15 13:30 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-01-08 17:37 [Bluez-devel] Should hcid wait for dbus daemon? Daniel Gollub
2007-01-08 18:47 ` Johan Hedberg
2007-01-08 23:31   ` Luca Capello
2007-01-09  0:01     ` Daniel Gollub
2007-01-09  8:27     ` Stefan Seyfried
2007-01-08 23:41   ` Daniel Gollub
2007-01-12 15:25     ` Stefan Seyfried
2007-01-13 17:39 ` Andrey Rahmatullin
2007-01-15 13:30 ` Marcel Holtmann

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox