Open Source Telephony
 help / color / mirror / Atom feed
From: Denis Kenzior <denkenz@gmail.com>
To: ofono@ofono.org
Subject: Re: Unreliable next_msg_id (was Re: [PATCH 2/2] Added SQLite history plugin)
Date: Thu, 15 Apr 2010 17:24:49 -0500	[thread overview]
Message-ID: <201004151724.49943.denkenz@gmail.com> (raw)
In-Reply-To: <x2j359c5481004151457u9ab1f05cn81d7c598803ab415@mail.gmail.com>

[-- Attachment #1: Type: text/plain, Size: 2034 bytes --]

Hi Niko,

> > The proper fix is to generate a SHA1 or MD5 hash over the contents, local
> > reception/send time, remote reception / send time, destination /
> > originator of the message.
> 
> Dario suggested that to me too, the only problem I see is that an hash
> signature does not provide ">" operator that may help in some sync
> scenarios, but this may be fixed in several ways (for example using an
> additional autoincrement serial column that may expose to applications
> an unique, ordered and reliable id without exposing the ofono internal
> one).

I suggest using a sync timestamp or some other way to accomplish this.

> 
> Will check if all history callbacks lets us rehash the messages properly.
> 
> A shot in the dark: what's about delegating the id generation to the
> history plugin (if present and capable)?
> That should fix the above problems, avoid hash generation and provide
> a possible base to reuse the id while resubmitting failed/pending
> messages providing the right id to ofono, avoiding the introduction of
> race conditions or complex implementations.

oFono will keep pending messages around across reboots, that is an enhancement 
we're already working on.  Resubmitting of failed messages should result in a 
new ID anyway.

And I honestly don't think N implementations of hashing SMS messages in each 
history plugin is a good idea.  Let oFono do it so we get it right for 
everyone.

> >> Finally, we'd like to use some "panic" function in ofono, that should
> >> power down all modems and warn clients when critical conditions
> >> happen.
> >>
> >> Is that possible?
> >
> > Send HUP to the daemon?  Or do you want oFono to keep running?
> 
> I mean the best way to shutdown modems and ofono inside the code (in
> the history for example if an sql statement fails, or if it cannot
> save id to the permanent storage, big dbus troubles or other similiar
> cases).

Yikes.  The answer is "Please don't even think about it" :)

Regards,
-Denis

      reply	other threads:[~2010-04-15 22:24 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-04-15 14:02 Unreliable next_msg_id (was Re: [PATCH 2/2] Added SQLite history plugin) Nicola Mfb
2010-04-15 18:35 ` Denis Kenzior
2010-04-15 21:57   ` Nicola Mfb
2010-04-15 22:24     ` Denis Kenzior [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=201004151724.49943.denkenz@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox