Re: mesh: Handling application failures on Create/Join/Import

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, 2019-12-17 at 18:56 +0000, Gix, Brian wrote:
> Hi Michał,
> 
> On Tue, 2019-12-17 at 19:47 +0100, Michał Lowas-Rzechonek wrote:
> > On 12/17, Michał Lowas-Rzechonek wrote:
> > > I would like to discuss possible solutions to this. 
> > > 
> > > One of the ideas is to give the application some time to successfully
> > > Attach() itself to the new node, otherwise it gets removed.
> 
> Not all nodes need to be attachable...  For instance, a node that is only used for friendship, relaying or
> beaconing can exist without ever being attached to...  so requiring an Attach() shouldn't be a requirement.

I think one piece of functionality that we have *not* yet tested is Node Reset.  If a Config Client sends a
Node Reset to an "Orphaned Node", using that nodes Device Key, the daemon should be cleaning up all of it's
storage.

> 
> > > Another possibility would be to remove "created but never attached" nodes on
> > > daemon restart.
> > 
> > Or maybe change the token flow a bit and instead of straight return,
> > make the daemon call JoinComplete in all 3 cases, expecting a call
> > return from the application?
> > 
> > If JoinComplete call fails, node could be dropped.
> > 
> 
> I think the Application does need to take responsibility for the token, once it receives it...  If the call
> (or
> response) that delivers the token to the App fails, the node should be deleted, but the token is considered
> sensitive enough that we lock down access to it as tight as possible.  If it is inadvertantly leaked, then
> whoever gets it has all the abilities of the node, so we minimize who sees it.
> 
> 




[Index of Archives]     [Bluez Devel]     [Linux Wireless Networking]     [Linux Wireless Personal Area Networking]     [Linux ATH6KL]     [Linux USB Devel]     [Linux Media Drivers]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux