January 28, 2020

Key Sync / Reset Issues


  • group reset, on its own should be working

Edit: Volker/Heck fixing in pEpPythonAdapter

  • leave_device_group still broken, Krista blocked
  • Shutdown is a no-op in recv_Sync_event
  • Leaver keeps going on sync thread (same thread in tests?)
  • Others respond to leaver’s messages, so obviously can’t tell if that has worked correctly or not


  • Again, debugging through the pEpPythonAdapter is problematic

Dev/Service Side

  • hard to tell what is going on - huss has tried tests, which half-work, but for the wrong reasons.

  • confusion about whether or not to call enable_identity_for_sync or not


11:18 < darthmama> Hi guys! enable_identity_for_sync should be called ANYTIME you want an identity enabled for sync
11:34 < darthmama> THIS MEANS FROM THE START
11:34 < darthmama> so do NOT pass the flag to myself
11:34 < darthmama> you need to call it specifically on the identity, even the first time you run sync
11:34 < darthmama> otherwise, by default, sync should do *NOTHING*
11:43 < darthmama> andreas: huss: thomas: ^ !!!!!

Patrick question:

17:22 <patrick> ok.
17:23 <patrick> but only if pEp generates a key. If I receive a private key (e.g. because I send one to myself), that key won't be synced then?
17:24 <patrick> well, for untrusted server all devices should actally get the keys. only on trusted server, that would be an issue. I think that is a corner case. let's forget about it for the moment.
17:24 <darthmama> tricky. I think it would be eventually? But that's openpgp compatibility, so I would not guarantee fdik thought about that case.
17:24 <darthmama> ah, ok, trusted server as well. That I don't know, sorry.
17:25 <darthmama> I don't think set_own_key generates a sync event
17:25 <darthmama> that's definitely a volker question. I can ping him in the morning at engine breakfast about it if you like.
17:25 <patrick> it wouldn't actually be set_own_key. just when I get any random key (e.g. because I have a few old PGP keys that I need to import).
17:26 <patrick> ok, it would be intersting to know what is expected.
17:26 <darthmama> ah, no, we don't, for sure, but I can run it by him
17:26 <darthmama> we don't sync non-own keys anyway though
17:26 <darthmama> AFAIK
17:27 <patrick> ah, ok.

pEpPythonAdapter - Sync implementation problems

  • inject_sync_event - doesn’t disable anything if shutdown event seen

Sync/Leave Device Group testing in pEpPython adapter is not possible due to pEpPythonAdapter having incomplete/wrong sync implementation.

In Python Adapter sync can be handled in three ways:

  • single threaded, poll for sync msgs in python
  • multithreaded using python threads
  • multithreaded using libpEpAdapter threads

Currently these three ways are not completely implemented/tested and all of this code needs consolidation.

Primary focus at the moment is the single threaded way.

TODO heck:

  • Implement/Consolidate/test single threaded implementation
  • Implement/Consolidate/test multithreaded implementation(s)

Volker pushed some code (sync branch) addressing these issues.


  • Krista will take vacation the week of 10 Feb (biiiiiiirthday) and will be super-not-available to anyone :)
  • Neal wants to know when fdik will be in Brussels
    • Friday, Friday evening he hopes