From: Denis Kenzior <denkenz@gmail.com>
To: ofono@ofono.org
Subject: Re: [PATCHv2 11/11] doc: documentation for SimAuth dbus interfaces
Date: Wed, 11 Oct 2017 10:57:15 -0500 [thread overview]
Message-ID: <515bc63f-eccf-dee6-fa7b-ced58287fc26@gmail.com> (raw)
In-Reply-To: <1507671380-7625-11-git-send-email-james.prestwood@linux.intel.com>
[-- Attachment #1: Type: text/plain, Size: 4449 bytes --]
Hi James,
On 10/10/2017 04:36 PM, James Prestwood wrote:
> ---
> doc/sim-auth-api.txt | 78 ++++++++++++++++++++++++++++++++++++++++++++++++++++
> 1 file changed, 78 insertions(+)
> create mode 100644 doc/sim-auth-api.txt
>
> diff --git a/doc/sim-auth-api.txt b/doc/sim-auth-api.txt
> new file mode 100644
> index 0000000..089a325
> --- /dev/null
> +++ b/doc/sim-auth-api.txt
> @@ -0,0 +1,78 @@
> +SimAuth authentication heiarchy [experimental]
SimAuthentication hierarchy
> +===========================================
> +
> +Service org.ofono
> +Interface org.ofono.SimAuthentication
> +Object path [variable prefix]/{modem0,modem1,...}
> +
> +Methods array{object,dict} GetProperties()
> +
> + Returns properties for SimAuthentication interface.
> +
> +Properties array{object,dict} applications [readonly]
Actually lets not implement this as a property. instead use
array{object, dict} GetApplications(). This will be consistent with
Manager.GetModems, VoicecallManager.GetCalls,
NetworkRegistration.GetOperators(), etc
> +
> + Array of all SIM applications found during discovery.
> + In the format "{o(ss)}" where 'o' is the object
This is inconsistent with how we generally handle this. Usually the
signature is a{oa{sv}}
o -> object path
a{sv} -> properties of the individual object
so a{sv} would contain
Name, 's' value inside the variant
Type, 's' value inside the variant
Look at how the GetFoo() methods above handle this.
> + path for the application, 's' is the type, and 's'
> + is the human readable name e.g.
> +
> + o = "/modem1/A0000000871004FFFFFFFF8906190000"
> + s = "Ims"
> + s = "ISim"
> +
> + For each application there will be a corresponding
> + object that matches the path (o). The type will
> + signify which interfaces are under that object (below).
> +
> + type = Umts --> org.ofono.USimApplication
> + type = Ims --> org.ofono.ISimApplication
> +
> +SimAuth USIM application heiarchy [experimental]
> +===========================================
> +
> +Service org.ofono
> +Interface org.ofono.USimApplication
> +Object path [variable prefix]/{modem0,modem1,...}/{AID name}
> +
> +Methods array{string, dict} GsmAuthenticate(array{array{byte}} rands)
> +
> + Run the USIM application GSM AUTHENTICATE algorithm
> + with N random challenges 'rands'. This should be an
> + array of an array of bytes ("aay").
Do you want to mention here that the array can be / should be of size n,
where n = 2 or 3?
> +
> + Returns the derived Kc/SRES values as an array of
> + dictionaries. The index of each dictionary matches
> + the index of the rand value in the method call. The
> + keys for each dictionary are "kc" and "sres" and both
> + are arrays of bytes.
Just a minor nitpick, but if the spec uses a particular capitalization
for Kc/SRES, then use that as the dictionary key. It is likely easier
for readability and we are not limited to small caps.
> +
> + Possible Errors:
> + [service].Error.NotSupported
> + [service].Error.Busy
> +
> + dict UmtsAuthenticate(array{byte} rand, array{byte} autn)
> +
> + Run the UMTS AUTHENTICATE algorithm in the 3G
> + context with 'rand' and 'autn'. A dictionary will be
> + returned containing 'res', 'ck', 'ik' and possibly
> + 'kc' if service 27 is available. If there was a
> + sync error 'auts' will be returned.
> +
> + Possible Errors: [service].Error.NotSupported
Just for API consistency, lets also add GetProperties() with 'Type' and
'Name' as read-only properties.
> +
> +SimAuth ISIM application heiarchy [experimental]
> +===========================================
> +
> +Service org.ofono
> +Interface org.ofono.ISimApplication
> +Object [variable prefix]/{modem0,modem1,...}/{AID name}
> +
> +Methods dict ImsAuthenticate(array{byte} rand, array{byte} autn)
> +
> + Run the UMTS AUTHENTICATE algorithm in the IMS
> + context with 'rand' and 'autn'. A dictionary will be
> + returned containing 'res', 'ck', 'ik' and possibly
> + 'kc' if service 27 is available. If there was a
> + sync error 'auts' will be returned.
Same comments about capitalization of the dict keys as above
> +
> + Possible Errors: [service].Error.NotSupported
>
Add GetProperties() with 'Type' and 'Name' as read-only
Regards,
-Denis
next prev parent reply other threads:[~2017-10-11 15:57 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-10-10 21:36 [PATCHv2 01/11] simutil: Added app type to application parser James Prestwood
2017-10-10 21:36 ` [PATCHv2 02/11] simutil: Added authenticate builder/parser API James Prestwood
2017-10-11 15:30 ` Denis Kenzior
2017-10-10 21:36 ` [PATCHv2 03/11] unit: add gsm and umts parse/build unit tests James Prestwood
2017-10-10 21:36 ` [PATCHv2 04/11] sim: new API to check for a UST service only James Prestwood
2017-10-11 15:34 ` Denis Kenzior
2017-10-10 21:36 ` [PATCHv2 05/11] sim-auth: prep simauth/dbus headers James Prestwood
2017-10-11 15:39 ` Denis Kenzior
2017-10-10 21:36 ` [PATCHv2 06/11] sim-auth: implementation of core sim-auth atom James Prestwood
2017-10-10 21:36 ` [PATCHv2 07/11] atmodem: implemented sim-auth functionality in atmodem James Prestwood
2017-10-10 21:36 ` [PATCHv2 08/11] xmm7xxx: add sim-auth driver to xmm7xxx plugin James Prestwood
2017-10-10 21:36 ` [PATCHv2 09/11] phonesim: Added sim-auth to phonesim plugin James Prestwood
2017-10-10 21:36 ` [PATCHv2 10/11] test: added tests for GSM/UMTS auth algorithms James Prestwood
2017-10-10 21:36 ` [PATCHv2 11/11] doc: documentation for SimAuth dbus interfaces James Prestwood
2017-10-11 15:57 ` Denis Kenzior [this message]
2017-10-11 15:29 ` [PATCHv2 01/11] simutil: Added app type to application parser Denis Kenzior
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=515bc63f-eccf-dee6-fa7b-ced58287fc26@gmail.com \
--to=denkenz@gmail.com \
--cc=ofono@ofono.org \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.