* [PATCH] Remove automatic battery state change on attribute example @ 2010-12-03 14:24 Claudio Takahasi 2010-12-03 14:37 ` Luiz Augusto von Dentz 2010-12-07 21:35 ` Johan Hedberg 0 siblings, 2 replies; 9+ messages in thread From: Claudio Takahasi @ 2010-12-03 14:24 UTC (permalink / raw) To: linux-bluetooth; +Cc: Claudio Takahasi Legacy code implemented to test Indication and Notification --- attrib/example.c | 19 ------------------- 1 files changed, 0 insertions(+), 19 deletions(-) diff --git a/attrib/example.c b/attrib/example.c index c29e1e4..2d5b758 100644 --- a/attrib/example.c +++ b/attrib/example.c @@ -59,22 +59,6 @@ #define FMT_KILOGRAM_UUID 0xA010 #define FMT_HANGING_UUID 0xA011 -static guint timeout_id = 0; - -static gboolean change_battery_state(gpointer user_data) -{ - static uint8_t state = 0x05; - uuid_t uuid; - uint8_t atval[1]; - - /* Battery state is being increased every 10 seconds. */ - atval[0] = state++; - sdp_uuid16_create(&uuid, BATTERY_STATE_UUID); - attrib_db_update(0x0110, &uuid, atval, 1); - - return TRUE; -} - static int register_attributes(void) { const char *devname = "Example Device"; @@ -170,8 +154,6 @@ static int register_attributes(void) atval[1] = 0x00; attrib_db_add(0x0111, &uuid, atval, 2); - timeout_id = g_timeout_add_seconds(10, change_battery_state, NULL); - /* Thermometer: primary service definition */ sdp_uuid16_create(&uuid, GATT_PRIM_SVC_UUID); u16 = htons(THERM_HUMIDITY_SVC_UUID); @@ -436,5 +418,4 @@ int server_example_init(void) void server_example_exit(void) { - g_source_remove(timeout_id); } -- 1.7.3.2 ^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [PATCH] Remove automatic battery state change on attribute example 2010-12-03 14:24 [PATCH] Remove automatic battery state change on attribute example Claudio Takahasi @ 2010-12-03 14:37 ` Luiz Augusto von Dentz 2010-12-03 14:50 ` Claudio Takahasi 2010-12-07 21:35 ` Johan Hedberg 1 sibling, 1 reply; 9+ messages in thread From: Luiz Augusto von Dentz @ 2010-12-03 14:37 UTC (permalink / raw) To: Claudio Takahasi; +Cc: linux-bluetooth Hi, On Fri, Dec 3, 2010 at 4:24 PM, Claudio Takahasi <claudio.takahasi@openbossa.org> wrote: > Legacy code implemented to test Indication and Notification > --- > attrib/example.c | 19 ------------------- > 1 files changed, 0 insertions(+), 19 deletions(-) > > diff --git a/attrib/example.c b/attrib/example.c > index c29e1e4..2d5b758 100644 > --- a/attrib/example.c > +++ b/attrib/example.c > @@ -59,22 +59,6 @@ > #define FMT_KILOGRAM_UUID 0xA010 > #define FMT_HANGING_UUID 0xA011 > > -static guint timeout_id = 0; > - > -static gboolean change_battery_state(gpointer user_data) > -{ > - static uint8_t state = 0x05; > - uuid_t uuid; > - uint8_t atval[1]; > - > - /* Battery state is being increased every 10 seconds. */ > - atval[0] = state++; > - sdp_uuid16_create(&uuid, BATTERY_STATE_UUID); > - attrib_db_update(0x0110, &uuid, atval, 1); > - > - return TRUE; > -} > - > static int register_attributes(void) > { > const char *devname = "Example Device"; > @@ -170,8 +154,6 @@ static int register_attributes(void) > atval[1] = 0x00; > attrib_db_add(0x0111, &uuid, atval, 2); > > - timeout_id = g_timeout_add_seconds(10, change_battery_state, NULL); > - > /* Thermometer: primary service definition */ > sdp_uuid16_create(&uuid, GATT_PRIM_SVC_UUID); > u16 = htons(THERM_HUMIDITY_SVC_UUID); > @@ -436,5 +418,4 @@ int server_example_init(void) > > void server_example_exit(void) > { > - g_source_remove(timeout_id); > } > -- > 1.7.3.2 > > -- > To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > I wonder what is the relation of this code with attrib-server.c, does this work if we don't have the attrib server enabled? -- Luiz Augusto von Dentz Computer Engineer ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH] Remove automatic battery state change on attribute example 2010-12-03 14:37 ` Luiz Augusto von Dentz @ 2010-12-03 14:50 ` Claudio Takahasi 2010-12-03 14:56 ` Claudio Takahasi 0 siblings, 1 reply; 9+ messages in thread From: Claudio Takahasi @ 2010-12-03 14:50 UTC (permalink / raw) To: Luiz Augusto von Dentz; +Cc: linux-bluetooth Hi Luiz, On Fri, Dec 3, 2010 at 11:37 AM, Luiz Augusto von Dentz <luiz.dentz@gmail.com> wrote: > Hi, > > On Fri, Dec 3, 2010 at 4:24 PM, Claudio Takahasi > <claudio.takahasi@openbossa.org> wrote: >> Legacy code implemented to test Indication and Notification >> --- >> attrib/example.c | 19 ------------------- >> 1 files changed, 0 insertions(+), 19 deletions(-) >> >> diff --git a/attrib/example.c b/attrib/example.c >> index c29e1e4..2d5b758 100644 >> --- a/attrib/example.c >> +++ b/attrib/example.c >> @@ -59,22 +59,6 @@ >> #define FMT_KILOGRAM_UUID 0xA010 >> #define FMT_HANGING_UUID 0xA011 >> >> -static guint timeout_id = 0; >> - >> -static gboolean change_battery_state(gpointer user_data) >> -{ >> - static uint8_t state = 0x05; >> - uuid_t uuid; >> - uint8_t atval[1]; >> - >> - /* Battery state is being increased every 10 seconds. */ >> - atval[0] = state++; >> - sdp_uuid16_create(&uuid, BATTERY_STATE_UUID); >> - attrib_db_update(0x0110, &uuid, atval, 1); >> - >> - return TRUE; >> -} >> - >> static int register_attributes(void) >> { >> const char *devname = "Example Device"; >> @@ -170,8 +154,6 @@ static int register_attributes(void) >> atval[1] = 0x00; >> attrib_db_add(0x0111, &uuid, atval, 2); >> >> - timeout_id = g_timeout_add_seconds(10, change_battery_state, NULL); >> - >> /* Thermometer: primary service definition */ >> sdp_uuid16_create(&uuid, GATT_PRIM_SVC_UUID); >> u16 = htons(THERM_HUMIDITY_SVC_UUID); >> @@ -436,5 +418,4 @@ int server_example_init(void) >> >> void server_example_exit(void) >> { >> - g_source_remove(timeout_id); >> } >> -- >> 1.7.3.2 >> >> -- >> To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in >> the body of a message to majordomo@vger.kernel.org >> More majordomo info at http://vger.kernel.org/majordomo-info.html >> > > I wonder what is the relation of this code with attrib-server.c, does > this work if we don't have the attrib server enabled? > > -- > Luiz Augusto von Dentz > Computer Engineer > Currently, we don't have compile option to disable the gatt server(in the core), only configuration option: "EnableAttrib" in the main.conf. The gatt server example "belongs" to the attribute plugin, --disable-attrib disables the attrib client and the attribute server example. Claudio. ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH] Remove automatic battery state change on attribute example 2010-12-03 14:50 ` Claudio Takahasi @ 2010-12-03 14:56 ` Claudio Takahasi 2010-12-03 15:01 ` Luiz Augusto von Dentz 0 siblings, 1 reply; 9+ messages in thread From: Claudio Takahasi @ 2010-12-03 14:56 UTC (permalink / raw) To: Luiz Augusto von Dentz; +Cc: linux-bluetooth On Fri, Dec 3, 2010 at 11:50 AM, Claudio Takahasi <claudio.takahasi@openbossa.org> wrote: > Hi Luiz, > > On Fri, Dec 3, 2010 at 11:37 AM, Luiz Augusto von Dentz > <luiz.dentz@gmail.com> wrote: >> Hi, >> >> On Fri, Dec 3, 2010 at 4:24 PM, Claudio Takahasi >> <claudio.takahasi@openbossa.org> wrote: >>> Legacy code implemented to test Indication and Notification >>> --- >>> attrib/example.c | 19 ------------------- >>> 1 files changed, 0 insertions(+), 19 deletions(-) >>> >>> diff --git a/attrib/example.c b/attrib/example.c >>> index c29e1e4..2d5b758 100644 >>> --- a/attrib/example.c >>> +++ b/attrib/example.c >>> @@ -59,22 +59,6 @@ >>> #define FMT_KILOGRAM_UUID 0xA010 >>> #define FMT_HANGING_UUID 0xA011 >>> >>> -static guint timeout_id = 0; >>> - >>> -static gboolean change_battery_state(gpointer user_data) >>> -{ >>> - static uint8_t state = 0x05; >>> - uuid_t uuid; >>> - uint8_t atval[1]; >>> - >>> - /* Battery state is being increased every 10 seconds. */ >>> - atval[0] = state++; >>> - sdp_uuid16_create(&uuid, BATTERY_STATE_UUID); >>> - attrib_db_update(0x0110, &uuid, atval, 1); >>> - >>> - return TRUE; >>> -} >>> - >>> static int register_attributes(void) >>> { >>> const char *devname = "Example Device"; >>> @@ -170,8 +154,6 @@ static int register_attributes(void) >>> atval[1] = 0x00; >>> attrib_db_add(0x0111, &uuid, atval, 2); >>> >>> - timeout_id = g_timeout_add_seconds(10, change_battery_state, NULL); >>> - >>> /* Thermometer: primary service definition */ >>> sdp_uuid16_create(&uuid, GATT_PRIM_SVC_UUID); >>> u16 = htons(THERM_HUMIDITY_SVC_UUID); >>> @@ -436,5 +418,4 @@ int server_example_init(void) >>> >>> void server_example_exit(void) >>> { >>> - g_source_remove(timeout_id); >>> } >>> -- >>> 1.7.3.2 >>> >>> -- >>> To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in >>> the body of a message to majordomo@vger.kernel.org >>> More majordomo info at http://vger.kernel.org/majordomo-info.html >>> >> >> I wonder what is the relation of this code with attrib-server.c, does >> this work if we don't have the attrib server enabled? >> >> -- >> Luiz Augusto von Dentz >> Computer Engineer >> > > Currently, we don't have compile option to disable the gatt server(in > the core), only configuration option: "EnableAttrib" in the main.conf. > The gatt server example "belongs" to the attribute plugin, > --disable-attrib disables the attrib client and the attribute server > example. > > Claudio. > The right main.conf option is: AttributeServer = false Claudio ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH] Remove automatic battery state change on attribute example 2010-12-03 14:56 ` Claudio Takahasi @ 2010-12-03 15:01 ` Luiz Augusto von Dentz 2010-12-03 17:05 ` Claudio Takahasi 0 siblings, 1 reply; 9+ messages in thread From: Luiz Augusto von Dentz @ 2010-12-03 15:01 UTC (permalink / raw) To: Claudio Takahasi; +Cc: linux-bluetooth Hi, On Fri, Dec 3, 2010 at 4:56 PM, Claudio Takahasi <claudio.takahasi@openbossa.org> wrote: > On Fri, Dec 3, 2010 at 11:50 AM, Claudio Takahasi > <claudio.takahasi@openbossa.org> wrote: >> Hi Luiz, >> >> On Fri, Dec 3, 2010 at 11:37 AM, Luiz Augusto von Dentz >> <luiz.dentz@gmail.com> wrote: >>> Hi, >>> >>> On Fri, Dec 3, 2010 at 4:24 PM, Claudio Takahasi >>> <claudio.takahasi@openbossa.org> wrote: >>>> Legacy code implemented to test Indication and Notification >>>> --- >>>> attrib/example.c | 19 ------------------- >>>> 1 files changed, 0 insertions(+), 19 deletions(-) >>>> >>>> diff --git a/attrib/example.c b/attrib/example.c >>>> index c29e1e4..2d5b758 100644 >>>> --- a/attrib/example.c >>>> +++ b/attrib/example.c >>>> @@ -59,22 +59,6 @@ >>>> #define FMT_KILOGRAM_UUID 0xA010 >>>> #define FMT_HANGING_UUID 0xA011 >>>> >>>> -static guint timeout_id = 0; >>>> - >>>> -static gboolean change_battery_state(gpointer user_data) >>>> -{ >>>> - static uint8_t state = 0x05; >>>> - uuid_t uuid; >>>> - uint8_t atval[1]; >>>> - >>>> - /* Battery state is being increased every 10 seconds. */ >>>> - atval[0] = state++; >>>> - sdp_uuid16_create(&uuid, BATTERY_STATE_UUID); >>>> - attrib_db_update(0x0110, &uuid, atval, 1); >>>> - >>>> - return TRUE; >>>> -} >>>> - >>>> static int register_attributes(void) >>>> { >>>> const char *devname = "Example Device"; >>>> @@ -170,8 +154,6 @@ static int register_attributes(void) >>>> atval[1] = 0x00; >>>> attrib_db_add(0x0111, &uuid, atval, 2); >>>> >>>> - timeout_id = g_timeout_add_seconds(10, change_battery_state, NULL); >>>> - >>>> /* Thermometer: primary service definition */ >>>> sdp_uuid16_create(&uuid, GATT_PRIM_SVC_UUID); >>>> u16 = htons(THERM_HUMIDITY_SVC_UUID); >>>> @@ -436,5 +418,4 @@ int server_example_init(void) >>>> >>>> void server_example_exit(void) >>>> { >>>> - g_source_remove(timeout_id); >>>> } >>>> -- >>>> 1.7.3.2 >>>> >>>> -- >>>> To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in >>>> the body of a message to majordomo@vger.kernel.org >>>> More majordomo info at http://vger.kernel.org/majordomo-info.html >>>> >>> >>> I wonder what is the relation of this code with attrib-server.c, does >>> this work if we don't have the attrib server enabled? >>> >>> -- >>> Luiz Augusto von Dentz >>> Computer Engineer >>> >> >> Currently, we don't have compile option to disable the gatt server(in >> the core), only configuration option: "EnableAttrib" in the main.conf. >> The gatt server example "belongs" to the attribute plugin, >> --disable-attrib disables the attrib client and the attribute server >> example. >> >> Claudio. >> > > The right main.conf option is: > AttributeServer = false Yep, but this still enables the server example code, even with attribute server not enabled, which IMO sounds weird, anyway this example code should probably be removed at some right? So why not do it now? -- Luiz Augusto von Dentz Computer Engineer ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH] Remove automatic battery state change on attribute example 2010-12-03 15:01 ` Luiz Augusto von Dentz @ 2010-12-03 17:05 ` Claudio Takahasi 0 siblings, 0 replies; 9+ messages in thread From: Claudio Takahasi @ 2010-12-03 17:05 UTC (permalink / raw) To: Luiz Augusto von Dentz; +Cc: linux-bluetooth Hi Luiz, On Fri, Dec 3, 2010 at 12:01 PM, Luiz Augusto von Dentz <luiz.dentz@gmail.com> wrote: > Hi, > > On Fri, Dec 3, 2010 at 4:56 PM, Claudio Takahasi > <claudio.takahasi@openbossa.org> wrote: >> On Fri, Dec 3, 2010 at 11:50 AM, Claudio Takahasi >> <claudio.takahasi@openbossa.org> wrote: >>> Hi Luiz, >>> >>> On Fri, Dec 3, 2010 at 11:37 AM, Luiz Augusto von Dentz >>> <luiz.dentz@gmail.com> wrote: >>>> Hi, >>>> >>>> On Fri, Dec 3, 2010 at 4:24 PM, Claudio Takahasi >>>> <claudio.takahasi@openbossa.org> wrote: >>>>> Legacy code implemented to test Indication and Notification >>>>> --- >>>>> attrib/example.c | 19 ------------------- >>>>> 1 files changed, 0 insertions(+), 19 deletions(-) >>>>> >>>>> diff --git a/attrib/example.c b/attrib/example.c >>>>> index c29e1e4..2d5b758 100644 >>>>> --- a/attrib/example.c >>>>> +++ b/attrib/example.c >>>>> @@ -59,22 +59,6 @@ >>>>> #define FMT_KILOGRAM_UUID 0xA010 >>>>> #define FMT_HANGING_UUID 0xA011 >>>>> >>>>> -static guint timeout_id = 0; >>>>> - >>>>> -static gboolean change_battery_state(gpointer user_data) >>>>> -{ >>>>> - static uint8_t state = 0x05; >>>>> - uuid_t uuid; >>>>> - uint8_t atval[1]; >>>>> - >>>>> - /* Battery state is being increased every 10 seconds. */ >>>>> - atval[0] = state++; >>>>> - sdp_uuid16_create(&uuid, BATTERY_STATE_UUID); >>>>> - attrib_db_update(0x0110, &uuid, atval, 1); >>>>> - >>>>> - return TRUE; >>>>> -} >>>>> - >>>>> static int register_attributes(void) >>>>> { >>>>> const char *devname = "Example Device"; >>>>> @@ -170,8 +154,6 @@ static int register_attributes(void) >>>>> atval[1] = 0x00; >>>>> attrib_db_add(0x0111, &uuid, atval, 2); >>>>> >>>>> - timeout_id = g_timeout_add_seconds(10, change_battery_state, NULL); >>>>> - >>>>> /* Thermometer: primary service definition */ >>>>> sdp_uuid16_create(&uuid, GATT_PRIM_SVC_UUID); >>>>> u16 = htons(THERM_HUMIDITY_SVC_UUID); >>>>> @@ -436,5 +418,4 @@ int server_example_init(void) >>>>> >>>>> void server_example_exit(void) >>>>> { >>>>> - g_source_remove(timeout_id); >>>>> } >>>>> -- >>>>> 1.7.3.2 >>>>> >>>>> -- >>>>> To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in >>>>> the body of a message to majordomo@vger.kernel.org >>>>> More majordomo info at http://vger.kernel.org/majordomo-info.html >>>>> >>>> >>>> I wonder what is the relation of this code with attrib-server.c, does >>>> this work if we don't have the attrib server enabled? >>>> >>>> -- >>>> Luiz Augusto von Dentz >>>> Computer Engineer >>>> >>> >>> Currently, we don't have compile option to disable the gatt server(in >>> the core), only configuration option: "EnableAttrib" in the main.conf. >>> The gatt server example "belongs" to the attribute plugin, >>> --disable-attrib disables the attrib client and the attribute server >>> example. >>> >>> Claudio. >>> >> >> The right main.conf option is: >> AttributeServer = false > > Yep, but this still enables the server example code, even with > attribute server not enabled, which IMO sounds weird, anyway this > example code should probably be removed at some right? So why not do > it now? > > > -- > Luiz Augusto von Dentz > Computer Engineer > It is true, the attribute server can be disabled, but using --enable-attrib, the example will add the attributes in the "database" even it is not available. We decided to use only one configure option and add "AttributeServer" in the main.conf to disable the server. Now, If everyone agrees, we can split --enable-attrib allowing to disable/enable client and server separately. BTW, the patch still valid.This code will not be used anymore, the plan is to implement <<Client Characteristic Configuration>> It will take some time to remove the example.c, the GATT profiles that are being proposed are not using all the features that we need to test the client side. Claudio ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH] Remove automatic battery state change on attribute example 2010-12-03 14:24 [PATCH] Remove automatic battery state change on attribute example Claudio Takahasi 2010-12-03 14:37 ` Luiz Augusto von Dentz @ 2010-12-07 21:35 ` Johan Hedberg 2010-12-07 21:41 ` [PATCH v2] " Claudio Takahasi 1 sibling, 1 reply; 9+ messages in thread From: Johan Hedberg @ 2010-12-07 21:35 UTC (permalink / raw) To: Claudio Takahasi; +Cc: linux-bluetooth Hi Claudio, On Fri, Dec 03, 2010, Claudio Takahasi wrote: > Legacy code implemented to test Indication and Notification > --- > attrib/example.c | 19 ------------------- > 1 files changed, 0 insertions(+), 19 deletions(-) Sorry, but you'll need to rebase this one since it doesn't apply anymore cleanly (due to the "Initial attribute permission implementation" patch). Johan ^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH v2] Remove automatic battery state change on attribute example 2010-12-07 21:35 ` Johan Hedberg @ 2010-12-07 21:41 ` Claudio Takahasi 2010-12-07 21:53 ` Johan Hedberg 0 siblings, 1 reply; 9+ messages in thread From: Claudio Takahasi @ 2010-12-07 21:41 UTC (permalink / raw) To: linux-bluetooth; +Cc: Claudio Takahasi Legacy code implemented to test Indication and Notification --- attrib/example.c | 19 ------------------- 1 files changed, 0 insertions(+), 19 deletions(-) diff --git a/attrib/example.c b/attrib/example.c index 4307804..6987fac 100644 --- a/attrib/example.c +++ b/attrib/example.c @@ -59,22 +59,6 @@ #define FMT_KILOGRAM_UUID 0xA010 #define FMT_HANGING_UUID 0xA011 -static guint timeout_id = 0; - -static gboolean change_battery_state(gpointer user_data) -{ - static uint8_t state = 0x05; - uuid_t uuid; - uint8_t atval[1]; - - /* Battery state is being increased every 10 seconds. */ - atval[0] = state++; - sdp_uuid16_create(&uuid, BATTERY_STATE_UUID); - attrib_db_update(0x0110, &uuid, atval, 1); - - return TRUE; -} - static int register_attributes(void) { const char *devname = "Example Device"; @@ -170,8 +154,6 @@ static int register_attributes(void) atval[1] = 0x00; attrib_db_add(0x0111, &uuid, ATT_NONE, ATT_AUTHENTICATION, atval, 2); - timeout_id = g_timeout_add_seconds(10, change_battery_state, NULL); - /* Thermometer: primary service definition */ sdp_uuid16_create(&uuid, GATT_PRIM_SVC_UUID); u16 = htons(THERM_HUMIDITY_SVC_UUID); @@ -436,5 +418,4 @@ int server_example_init(void) void server_example_exit(void) { - g_source_remove(timeout_id); } -- 1.7.3.2 ^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [PATCH v2] Remove automatic battery state change on attribute example 2010-12-07 21:41 ` [PATCH v2] " Claudio Takahasi @ 2010-12-07 21:53 ` Johan Hedberg 0 siblings, 0 replies; 9+ messages in thread From: Johan Hedberg @ 2010-12-07 21:53 UTC (permalink / raw) To: Claudio Takahasi; +Cc: linux-bluetooth Hi Claudio, On Tue, Dec 07, 2010, Claudio Takahasi wrote: > Legacy code implemented to test Indication and Notification > --- > attrib/example.c | 19 ------------------- > 1 files changed, 0 insertions(+), 19 deletions(-) Pushed upstream. Thanks. Johan ^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2010-12-07 21:53 UTC | newest] Thread overview: 9+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2010-12-03 14:24 [PATCH] Remove automatic battery state change on attribute example Claudio Takahasi 2010-12-03 14:37 ` Luiz Augusto von Dentz 2010-12-03 14:50 ` Claudio Takahasi 2010-12-03 14:56 ` Claudio Takahasi 2010-12-03 15:01 ` Luiz Augusto von Dentz 2010-12-03 17:05 ` Claudio Takahasi 2010-12-07 21:35 ` Johan Hedberg 2010-12-07 21:41 ` [PATCH v2] " Claudio Takahasi 2010-12-07 21:53 ` Johan Hedberg
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).