From: Szymon Janc <szymon.janc@tieto.com>
To: Sebastian Chlad <sebastian.chlad@tieto.com>
Cc: linux-bluetooth@vger.kernel.org
Subject: Re: [PATCH] android/pics: Add PICS and PIXIT for GATT
Date: Thu, 06 Mar 2014 09:47:25 +0100 [thread overview]
Message-ID: <2065881.VNrBngQ5iL@uw000953> (raw)
In-Reply-To: <1394087259-8909-1-git-send-email-sebastian.chlad@tieto.com>
Hi Sebastian,
On Thursday 06 of March 2014 07:27:39 Sebastian Chlad wrote:
> Adding PICS and PIXIT for GATT targetting Android 4.4
> ---
> android/Makefile.am | 2 +
> android/pics-gatt.txt | 322 +++++++++++++++++++++++++++++++++++++++++++++++++
> android/pixit-gatt.txt | 31 +++++
> 3 files changed, 355 insertions(+)
> create mode 100644 android/pics-gatt.txt
> create mode 100644 android/pixit-gatt.txt
>
> diff --git a/android/Makefile.am b/android/Makefile.am
> index 31f905c..ca91eee 100644
> --- a/android/Makefile.am
> +++ b/android/Makefile.am
> @@ -191,6 +191,7 @@ EXTRA_DIST += android/Android.mk android/README \
> android/pics-avrcp.txt \
> android/pics-hsp.txt \
> android/pics-hfp.txt \
> + android/pics-gatt.txt \
> android/pixit-l2cap.txt \
> android/pixit-gap.txt \
> android/pixit-did.txt \
> @@ -204,6 +205,7 @@ EXTRA_DIST += android/Android.mk android/README \
> android/pixit-avrcp.txt \
> android/pixit-hsp.txt \
> android/pixit-hfp.txt \
> + android/pixit-gatt.txt \
> android/pts-l2cap.txt \
> android/pts-gap.txt \
> android/pts-did.txt \
> diff --git a/android/pics-gatt.txt b/android/pics-gatt.txt
> new file mode 100644
> index 0000000..8abf8c2
> --- /dev/null
> +++ b/android/pics-gatt.txt
> @@ -0,0 +1,322 @@
> +GATT PICS for the PTS tool.
> +
> +PTS version: 5.0
> +
> +* - different than PTS defaults
> +
> +M - mandatory
> +O - optional
> +
> + Generic Attribute Profile Role
> +-------------------------------------------------------------------------------
> +Parameter Name Selected Description
> +-------------------------------------------------------------------------------
> +TSPC_GATT_1_1 True Generic Attribute Profile Client (C.1)
> +TSPC_GATT_1_2 True Generic Attribute Profile Server (C.2)
> +TSPC_GATT_1A_1 False (*) Complete GATT client (C.3)
> +TSPC_GATT_1A_2 False (*) Complete GATT server (C.4)
> +-------------------------------------------------------------------------------
> +C.1: Optional to support IF TSPC_GATT_2_2; else IF TSPC_GATT_2_1 it is mandatory
> + to support at least one of TSPC_GATT_1_1 OR TSPC_GATT_1_2
> +C.2: Mandatory to support IF TSPC_GATT_2_2; else IF TSPC_GATT_2_1 it is
> + mandatory to support at least one of TSPC_GATT_1_1 OR TSPC_GATT_1_2
> +C.3: Optional IF TSPC_GATT_1_1 is supported, otherwise Excluded
> +C.4: Optional IF TSPC_GATT_1_2 is supported, otherwise Excluded
> +-------------------------------------------------------------------------------
> +
> +
> + ATT Bearer Transport
> +-------------------------------------------------------------------------------
> +Parameter Name Selected Description
> +-------------------------------------------------------------------------------
> +TSPC_GATT_2_1 True Attribute Protocol Supported over BR/EDR
> + (L2CAP fixed channel support) (C.1)
> +TSPC_GATT_2_2 True Attribute Protocol Supported over LE (C.2)
> +-------------------------------------------------------------------------------
> +C.1: Mandatory IF (SUM ICS 12/2 OR SUM ICS 12/9) is supported, otherwise
> + Excluded
> +C.2: Mandatory IF (SUM ICS 12/7 OR SUM ICS 12/9) is supported, otherwise
> + Excluded
> +-------------------------------------------------------------------------------
> +
> +
> +
> + Generic Attribute Profile Support
> +-------------------------------------------------------------------------------
> +Parameter Name Selected Description
> +-------------------------------------------------------------------------------
> +TSPC_GATT_3_1 True Client: Exchange MTU (C.1)
> +TSPC_GATT_3_2 True Client: Discover All Primary Services (C.1)
> +TSPC_GATT_3_3 True Client: Discover Primary Services Service
> + UUID (C.1)
> +TSPC_GATT_3_4 True Client: Find Included Services (C.1)
> +TSPC_GATT_3_5 True Client: Discover All characteristics of a
> + Service (C.1)
> +TSPC_GATT_3_6 True Client: Discover Characteristics by UUID (C.1)
> +TSPC_GATT_3_7 True Client: Discover All Characteristic Descriptors
> + (C.1)
> +TSPC_GATT_3_8 True Client: Read Characteristic Value (C.1)
> +TSPC_GATT_3_9 True Client: Read using Characteristic UUID (C.1)
> +TSPC_GATT_3_10 True Client: Read Long Characteristic Values (C.1)
> +TSPC_GATT_3_11 True Client: Read Multiple Characteristic
> + Values (C.1)
> +TSPC_GATT_3_12 True Client: Write without Response (C.1)
> +TSPC_GATT_3_13 True Client: Signed Write Without Response (C.1)
> +TSPC_GATT_3_14 True Client: Write Characteristic Value (C.1)
> +TSPC_GATT_3_15 True Client: Write Long Characteristic Values (C.1)
> +TSPC_GATT_3_16 True Client: Characteristic Value Reliable
> + Writes (C.1)
> +TSPC_GATT_3_17 True Client: Notifications (C.1)
> +TSPC_GATT_3_18 True Client: Indications (M)
> +TSPC_GATT_3_19 True Client: Read Characteristic Descriptors (C.1)
> +TSPC_GATT_3_20 True Client: Read long Characteristic Descriptors
> + (C.1)
> +TSPC_GATT_3_21 True Client: Write Characteristic Descriptors (C.1)
> +TSPC_GATT_3_22 True Client: Write Long Characteristic Descriptors
> + (C.1)
> +TSPC_GATT_3_23 True Client: Service Changed Characteristic (M)
> +TSPC_GATT_3B_1 True Client: Primary Service Declaration (M)
> +TSPC_GATT_3B_2 True Client: Secondary Service Declaration (M)
> +TSPC_GATT_3B_3 True Client: Include Declaration (M)
> +TSPC_GATT_3B_4 True Client: Characteristic Declaration (M)
> +TSPC_GATT_3B_5 True Client: Characteristic Value Declaration (M)
> +TSPC_GATT_3B_6 True Client: Characteristic Extended Properties (M)
> +TSPC_GATT_3B_7 True Client: Characteristic User Description
> + Descriptor (M)
> +TSPC_GATT_3B_8 True Client: Client Characteristic Configuration
> + Descriptor (M)
> +TSPC_GATT_3B_9 True Client: Server Characteristic Configuration
> + Descriptor (M)
> +TSPC_GATT_3B_10 True Client: Characteristic Format Descriptor (M)
> +TSPC_GATT_3B_11 True Client: Characteristic Aggregate Format
> + Descriptor (M)
> +TSPC_GATT_3B_12 True Client: Characteristic Format: Boolean (M)
> +TSPC_GATT_3B_13 True Client: Characteristic Format: 2Bit (M)
> +TSPC_GATT_3B_14 True Client: Characteristic Format: nibble (M)
> +TSPC_GATT_3B_15 True Client: Characteristic Format: Uint8 (M)
> +TSPC_GATT_3B_16 True Client: Characteristic Format: Uint12 (M)
> +TSPC_GATT_3B_17 True Client: Characteristic Format: Uint16 (M)
> +TSPC_GATT_3B_18 True Client: Characteristic Format: Uint24 (M)
> +TSPC_GATT_3B_19 True Client: Characteristic Format: Uint32 (M)
> +TSPC_GATT_3B_20 True Client: Characteristic Format: Uint48 (M)
> +TSPC_GATT_3B_21 True Client: Characteristic Format: Uint64 (M)
> +TSPC_GATT_3B_22 True Client: Characteristic Format: Uint128 (M)
> +TSPC_GATT_3B_23 True Client: Characteristic Format: Sint8 (M)
> +TSPC_GATT_3B_24 True Client: Characteristic Format: Sint12 (M)
> +TSPC_GATT_3B_25 True Client: Characteristic Format: Sint16 (M)
> +TSPC_GATT_3B_26 True Client: Characteristic Format: Sint24 (M)
> +TSPC_GATT_3B_27 True Client: Characteristic Format: Sint32 (M)
> +TSPC_GATT_3B_28 True Client: Characteristic Format: Sint48 (M)
> +TSPC_GATT_3B_29 True Client: Characteristic Format: Sint64 (M)
> +TSPC_GATT_3B_30 True Client: Characteristic Format: Sint128 (M)
> +TSPC_GATT_3B_31 True Client: Characteristic Format: Float32 (M)
> +TSPC_GATT_3B_32 True Client: Characteristic Format: Float64 (M)
> +TSPC_GATT_3B_33 True Client: Characteristic Format: SFLOAT (M)
> +TSPC_GATT_3B_34 True Client: Characteristic Format: FLOAT (M)
> +TSPC_GATT_3B_35 True Client: Characteristic Format: Duint16 (M)
> +TSPC_GATT_3B_36 True Client: Characteristic Format: utf8s (M)
> +TSPC_GATT_3B_37 True Client: Characteristic Format: utf16s (M)
> +TSPC_GATT_3B_38 True Client: Characteristic Format: struct (M)
> +-------------------------------------------------------------------------------
> +C.1: Mandatory IF TSPC_GATT_1A_1 is supported, otherwise Optional
> +-------------------------------------------------------------------------------
> +
> +
> +
> + Generic Attribute Profile Support, by Server
> +-------------------------------------------------------------------------------
> +Parameter Name Selected Description
> +-------------------------------------------------------------------------------
> +TSPC_GATT_4_1 True Server: Exchange MTU (C.4)
> +TSPC_GATT_4_2 True Server: Discover All Primary Services (M)
> +TSPC_GATT_4_3 True Server: Discover Primary Services Service
> + UUID (M)
> +TSPC_GATT_4_4 True Server: Find Included Services (M)
> +TSPC_GATT_4_5 True Server: Discover All characteristics of
> + a Service (M)
> +TSPC_GATT_4_6 True Server: Discover Characteristics by UUID (M)
> +TSPC_GATT_4_7 True Server: Discover All Characteristic
> + Descriptors (M)
> +TSPC_GATT_4_8 True Server: Read Characteristic Value (M)
> +TSPC_GATT_4_9 True Server: Read using Characteristic UUID (M)
> +TSPC_GATT_4_10 True Server: Read Long Characteristic Values (C.4)
> +TSPC_GATT_4_11 True Server: Read Multiple Characteristic
> + Values (C.4)
> +TSPC_GATT_4_12 True Server: Write without Response (C.2)
> +TSPC_GATT_4_13 False (*) Server: Signed Write Without Response (C.4)
> +TSPC_GATT_4_14 True Server: Write Characteristic Value (C.3)
> +TSPC_GATT_4_15 True Server: Write Long Characteristic Values (C.4)
> +TSPC_GATT_4_16 True Server: Characteristic Value Reliable
> + Writes (C.4)
> +TSPC_GATT_4_17 True Server: Notifications (C.4)
> +TSPC_GATT_4_18 True Server: Indications (C.1)
> +TSPC_GATT_4_19 True Server: Read Characteristic Descriptors (C.4)
> +TSPC_GATT_4_20 True Server: Read long Characteristic
> + Descriptors (C.4)
> +TSPC_GATT_4_21 True Server: Write Characteristic Descriptors (C.4)
> +TSPC_GATT_4_22 True Server: Write Long Characteristic
> + Descriptors (C.4)
> +TSPC_GATT_4_23 True Server: Service Changed Characteristic (C.1)
> +-------------------------------------------------------------------------------
> +C.1: Mandatory IF service definitions on the server can be added, changed, or
> + removed, otherwise Optional
> +C.2: Mandatory IF GATT TSPC_GATT_4_13 is supported, otherwise Optional
> +C.3: Mandatory IF GATT TSPC_GATT_4_15 is supported, otherwise Optional
> +C.4: Mandatory IF GATT TSPC_GATT_1A_2 is supported, otherwise Optional
> +-------------------------------------------------------------------------------
> +
> +
> + Profile Attribute Types and Characteristic Formats
> +-------------------------------------------------------------------------------
> +Parameter Name Selected Description
> +-------------------------------------------------------------------------------
> +TSPC_GATT_4B_1 True Server: Primary Service Declaration (M)
> +TSPC_GATT_4B_2 True Server: Secondary Service Declaration (M)
> +TSPC_GATT_4B_3 True Server: Include Declaration (M)
> +TSPC_GATT_4B_4 True Server: Characteristic Declaration (M)
> +TSPC_GATT_4B_5 True Server: Characteristic Value Declaration (M)
> +TSPC_GATT_4B_6 True Server: Characteristic Extended Properties (M)
> +TSPC_GATT_4B_7 True Server: Characteristic User Description
> + Descriptor (M)
> +TSPC_GATT_4B_8 True Server: Client Characteristic Configuration
> + Descriptor (M)
> +TSPC_GATT_4B_9 True Server: Server Characteristic Configuration
> + Descriptor (M)
> +TSPC_GATT_4B_10 True Server: Characteristic Format Descriptor (M)
> +TSPC_GATT_4B_11 True Server: Characteristic Aggregate Format
> + Descriptor (M)
> +TSPC_GATT_4B_12 True Server: Characteristic Format: Boolean (M)
> +TSPC_GATT_4B_13 True Server: Characteristic Format: 2Bit (M)
> +TSPC_GATT_4B_14 True Server: Characteristic Format: nibble (M)
> +TSPC_GATT_4B_15 True Server: Characteristic Format: Uint8 (M)
> +TSPC_GATT_4B_16 True Server: Characteristic Format: Uint12 (M)
> +TSPC_GATT_4B_17 True Server: Characteristic Format: Uint16 (M)
> +TSPC_GATT_4B_18 True Server: Characteristic Format: Uint24 (M)
> +TSPC_GATT_4B_19 True Server: Characteristic Format: Uint32 (M)
> +TSPC_GATT_4B_20 True Server: Characteristic Format: Uint48 (M)
> +TSPC_GATT_4B_21 True Server: Characteristic Format: Uint64 (M)
> +TSPC_GATT_4B_22 True Server: Characteristic Format: Uint128 (M)
> +TSPC_GATT_4B_23 True Server: Characteristic Format: Sint8 (M)
> +TSPC_GATT_4B_24 True Server: Characteristic Format: Sint12 (M)
> +TSPC_GATT_4B_25 True Server: Characteristic Format: Sint16 (M)
> +TSPC_GATT_4B_26 True Server: Characteristic Format: Sint24 (M)
> +TSPC_GATT_4B_27 True Server: Characteristic Format: Sint32 (M)
> +TSPC_GATT_4B_28 True Server: Characteristic Format: Sint48 (M)
> +TSPC_GATT_4B_29 True Server: Characteristic Format: Sint64 (M)
> +TSPC_GATT_4B_30 True Server: Characteristic Format: Sint128 (M)
> +TSPC_GATT_4B_31 True Server: Characteristic Format: Float32 (M)
> +TSPC_GATT_4B_32 True Server: Characteristic Format: Float64 (M)
> +TSPC_GATT_4B_33 True Server: Characteristic Format: SFLOAT (M)
> +TSPC_GATT_4B_34 True Server: Characteristic Format: FLOAT (M)
> +TSPC_GATT_4B_35 True Server: Characteristic Format: Duint16 (M)
> +TSPC_GATT_4B_36 True Server: Characteristic Format: utf8s (M)
> +TSPC_GATT_4B_37 True Server: Characteristic Format: utf16s (M)
> +TSPC_GATT_4B_38 True Server: Characteristic Format: struct (M)
> +-------------------------------------------------------------------------------
> +
> +
> + Generic Attribute Profile Service
> +-------------------------------------------------------------------------------
> +Parameter Name Selected Description
> +-------------------------------------------------------------------------------
> +TSPC_GATT_6_2 True Discover GATT Services using Service Discovery
> + Profile (C.1)
> +TSPC_GATT_6_3 True Publish SDP record for GATT services support
> + via BR/EDR (C.2)
> +-------------------------------------------------------------------------------
> +C.1: Mandatory IF TSPC_GATT_1_1 is supported, otherwise Excluded
> +C.2: Mandatory IF TSPC_GATT_1_2 is supported, otherwise Excluded
> +-------------------------------------------------------------------------------
> +
> +
> + Attribute Protocol Transport Security
> +-------------------------------------------------------------------------------
> +Parameter Name Selected Description
> +-------------------------------------------------------------------------------
> +TSPC_GATT_7_1 True Security Mode 4 (C.1)
> +TSPC_GATT_7_2 True LE Security Mode 1 (C.2)
> +TSPC_GATT_7_3 True LE Security Mode 2 (C.2)
> +TSPC_GATT_7_4 True LE Authentication Procedure (C.2)
> +TSPC_GATT_7_5 True LE connection data signing procedure (C.2)
> +TSPC_GATT_7_6 True LE Authenticate signed data procedure (C.2)
> +TSPC_GATT_7_7 False (*) LE Authorization Procedure (C.2)
> +-------------------------------------------------------------------------------
> +C.1: Mandatory IF TSPC_GATT_2_1 is supported, otherwise Excluded
> +C.2: Optional IF TSPC_GATT_2_2 is supported, otherwise Excluded
> +-------------------------------------------------------------------------------
> +
> +
> + Attribute Protocol Client Messages
> +-------------------------------------------------------------------------------
> +Parameter Name Selected Description
> +-------------------------------------------------------------------------------
> +TSPC_ATT_3_1 True Attribute Error Response (M)
> +TSPC_ATT_3_2 False (*) Exchange MTU Request (O)
> +TSPC_ATT_3_4 False (*) Find Information Request (O)
> +TSPC_ATT_3_6 False (*) Find by Type Value Request (O)
> +TSPC_ATT_3_8 False (*) Read by Type Request (O)
> +TSPC_ATT_3_10 False (*) Read Request (O)
> +TSPC_ATT_3_12 False (*) Read Blob Request (O)
> +TSPC_ATT_3_14 False (*) Read Multiple Request (O)
> +TSPC_ATT_3_16 False (*) Read by Group Type Request (O)
> +TSPC_ATT_3_17 False (*) Read by Group Type Response (C.6)
> +TSPC_ATT_3_18 False (*) Write Request (O)
> +TSPC_ATT_3_20 False (*) Write Command (O)
> +TSPC_ATT_3_21 False (*) Signed Write Command (O)
> +TSPC_ATT_3_22 False (*) Prepare Write Request (O)
> +TSPC_ATT_3_24 False (*) Execute Write Request (C.8)
> +TSPC_ATT_3_26 True Handle Value Notification (M)
> +-------------------------------------------------------------------------------
> +C.6: Mandatory IF TSPC_ATT_3_16 is supported, otherwise Excluded
> +C.8: Mandatory IF TSPC_ATT_3_22 is supported, otherwise Excluded
> +-------------------------------------------------------------------------------
> +
> + Attribute Protocol Server Messages
> +-------------------------------------------------------------------------------
> +Parameter Name Selected Description
> +-------------------------------------------------------------------------------
> +TSPC_ATT_4_1 True Attribute Error Response (M)
> +TSPC_ATT_4_3 True Exchange MTU Response (M)
> +TSPC_ATT_4_5 True Find Information Response (M)
> +TSPC_ATT_4_7 True Find by Type Value Response (M)
> +TSPC_ATT_4_8 True Read by Type Request (M)
> +TSPC_ATT_4_9 True Read by Type Response (M)
> +TSPC_ATT_4_11 True Read Response (M)
> +TSPC_ATT_4_15 False (*) Read Multiple Response (C.2)
> +TSPC_ATT_4_17 True Read by Group Type Response (M)
> +TSPC_ATT_4_19 False (*) Write Response (C.3)
> +TSPC_ATT_4_20 False (*) Write Command (O)
> +TSPC_ATT_4_21 False (*) Signed Write Command (O)
> +TSPC_ATT_4_23 False (*) Prepare Write Response (C.4)
> +TSPC_ATT_4_25 False (*) Execute Write Response (C.5)
> +TSPC_ATT_4_26 False (*) Handle Value Notification (O)
> +-------------------------------------------------------------------------------
> +C.2: Mandatory IF TSPC_ATT_4_14 is supported, otherwise Excluded
> +C.3: Mandatory IF TSPC_ATT_4_18 is supported, otherwise Excluded
> +C.4: Mandatory IF TSPC_ATT_4_22 is supported, otherwise Excluded
> +C.5: Mandatory IF TSPC_ATT_4_27 is supported, otherwise Excluded
> +-------------------------------------------------------------------------------
> +
> +
> + Attribute Protocol Transport
> +-------------------------------------------------------------------------------
> +Parameter Name Selected Description
> +-------------------------------------------------------------------------------
> +TSPC_ATT_5_2 False (*) LE Security Mode 1 (C.2)
> +TSPC_ATT_5_4 False (*) LE Authentication Procedure (C.2)
> +TSPC_ATT_5_7 False (*) LE Authorization Procedure (C.2)
> +-------------------------------------------------------------------------------
> +C.2: Optional to support if 2/2 (Attribute Protocol Supported over LE),
> + otherwise Excluded
> +-------------------------------------------------------------------------------
> +
> +
> + Device Configuration
> +-------------------------------------------------------------------------------
> +Parameter Name Selected Description
> +-------------------------------------------------------------------------------
> +TSPC_GAP_0_2 False (*) LE (C.2)
> +-------------------------------------------------------------------------------
> +C.2: Mandatory IF (SUM ICS 34/2 (LE GAP) AND NOT SUM ICS 32/3 (BR/EDR GAP))
> + is supported, otherwise Excluded
> +-------------------------------------------------------------------------------
> diff --git a/android/pixit-gatt.txt b/android/pixit-gatt.txt
> new file mode 100644
> index 0000000..7bb8a28
> --- /dev/null
> +++ b/android/pixit-gatt.txt
> @@ -0,0 +1,31 @@
> +GATT PIXIT for the PTS tool.
> +
> +PTS version: 5.0
> +
> +* - different than PTS defaults
> +& - should be set to IUT Bluetooth address
> +
> + Required PIXIT settings
> +-------------------------------------------------------------------------------
> +Parameter Name Value
> +-------------------------------------------------------------------------------
> +TSPX_bd_addr_iut 112233445566 (*&)
> +TSPX_security_enabled FALSE
> +TSPX_delete_link_key TRUE
> +TSPX_time_guard 180000
> +TSPX_selected_handle 0012
> +TSPX_use_implicit_send TRUE
> +TSPX_secure_simple_pairing_pass_key_confirmation FALSE
> +TSPX_iut_use_dynamic_bd_addr FALSE
> +TSPX_iut_setup_att_over_br_edr FALSE
> +TSPX_tester_database_file [Path to GATT Test
> + Database]
> +TSPX_iut_is_client_periphral FALSE
> +TSPX_iut_is_server_central FALSE
> +TSPX_mtu_size 23
> +TSPX_pin_code 0000
> +TSPX_use_dynamic_pin FALSE
> +TSPX_delete_ltk FALSE
> +TSPX_characteristic_readable
> +TSPX_tester_appearance 0000
> +-------------------------------------------------------------------------------
>
Applied, thanks.
--
Best regards,
Szymon Janc
prev parent reply other threads:[~2014-03-06 8:47 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-03-06 6:27 [PATCH] android/pics: Add PICS and PIXIT for GATT Sebastian Chlad
2014-03-06 8:47 ` Szymon Janc [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=2065881.VNrBngQ5iL@uw000953 \
--to=szymon.janc@tieto.com \
--cc=linux-bluetooth@vger.kernel.org \
--cc=sebastian.chlad@tieto.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox