Re: [PATCH] SMPP octstr to long handling

Stipe Tolj <[email protected]>
Newsgroups gmane.comp.mobile.kannel.devel
Organization Wapme Systems AG
Message-ID <[email protected]>
Harrie Hazewinkel wrote:
> 
> Hm, I am not so in favour of doing length definitions this hardcoded
> way. But it seems, that many thing get all the time done via
> MACROs and depending on the use the marco results in different code.
> 
> This is more coding style, I guess.

I think Lars has made a real great job in defining thing in this .def
macro style way. I admit it's a bit hard to understand what the
code/macros do(es), but when you got this, it's great to see how easy
PDU creation can be done.

> > RCS file: /home/cvs/gateway/gw/smsc/smpp_pdu.c,v
> > retrieving revision 1.1
> > diff -r1.1 smpp_pdu.c
> > 136,138c136,147
> > <             gw_assert(octstr_len(p->name) < max_octets); \
> > <     if (p->name != NULL) octstr_append(os, p->name); \
> > <     octstr_append_char(os, '\0');
> > ---
> >>         if (p->name != NULL) { \
> >>             if (octstr_len(p->name) >= max_octets) { \
> >>                 warning(0, "SMPP: PDU element <%s> to long " \
> >>                         "(length is %d, should be %d)", \
> >>                         # name, octstr_len(p->name), max_octets); \
> >>                 temp = octstr_copy(p->name, 0, max_octets-1); \
> >>             } else \
> >>                 temp = octstr_duplicate(p->name); \
> >>             octstr_append(os, temp); \
> >>             octstr_destroy(temp); \
> >>         } \
> >>         octstr_append_char(os, '\0');
> 
> This also means that you ignore the address part which goes beyond the
> maximum length. Somehow, this feels not right, or do I miss something??

Hmmm, yes, but this is a semantical question I guess. If the address
exceeds the specified maximum length, you only have to choices I guess

a) ignore the PDU itself, which is not feasable in our inter-box
communication environment, because bearerbox is unable to tell smsbox
about such an problem of the given &from and &to variables.

b) cut the Octstrs to the max. specified length and leave the problem
to the user itself not to send to large data for the field.

Stipe

[email protected]
-------------------------------------------------------------------
Wapme Systems AG

Vogelsanger Weg 80
40470 Düsseldorf

Tel: +49-211-74845-0
Fax: +49-211-74845-299

E-Mail: [email protected]
Internet: http://www.wapme-systems.de
-------------------------------------------------------------------
wapme.net - wherever you are
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.