On Thu, Jul 03, 2014 at 01:28:15PM +0200, Jacob Erlbeck wrote:

> +     /* Skip Attach result */
> +     /* Skip Force to standby */
> +     /* Skip Periodic RA update timer */
> +     /* Skip Radio priority for SMS */
> +     /* Skip Spare half octet */
> +     data_len -= 3;
> +     data += 3;

Which are the other half octets here?

> +     /* Skip Update type */
> +     /* Skip GPRS ciphering key sequence number */
> +     data_len -= 1;
> +     data += 1;

I don't have a copy of the specification open right now. Could you
please indicate how the number of skips relate to data_len/data
adjustments here?

> +     if (data[0] != 5)
> +             /* invalid */
> +             return 0;;

Extra ';' :)

> +                     /* LLC patch (GMM) has been requested explicitely */

                                                                ^-- typo

> +             /* Fix LLC IE len */
> +             if (llc[-2] == BSSGP_IE_LLC_PDU && llc[-1] & 0x80) {
> +                     /* most probably a one byte length */

You mentioned this to me already. What API documentation do you need? Keep
track inside the tlv_parsed structure of _where_ the tag started?

> +     patch_mode = gbcfg.patch_mode;
> +     if (patch_mode == GBPROX_PATCH_DEFAULT)
> +             patch_mode = GBPROX_PATCH_LLC;

I am thinking of the "gbcfg.patch_mode > GBPROX_PATCH_LLC_ATTACH_REQ". So
we are lucky as default is < GBPROX_PATCH_LLC_ATTACH_REQ right now. Wouldn't
it be better to not access gbcfg.patch_mode directly and do the "default"
handling inside this method?


Reply via email to