keybase / keybase/client

Cannot create new private message after profile reset

Open
#6,177 4 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Go
Stars
9.2k
Forks
1.3k
Avg merge
12h 58m
Merged PRs (30d)
56

Description

During a private chat conversation, the second party reset their profile. This generated new encryption keys. The chat is no longer accessible however the problem is that I cannot create a new conversation. I have included log ids from myself and the other user.

On my side, I get the following errors in the GUI and terminal.

Terminal
ERROR server conversation TLF name mismatch: otheruser, lukehowell
GUI

my-error

The other user sees the following in the GUI and terminal

Terminal
ERROR failed to open chat conversation: This device does not yet have read access to directory /keybase/private/otheruser,lukehowell (files before otheruser account reset 2017-03-08), log into Keybase from one of your other devices to grant access: could not find params for uid=4dff7205f78507e9ebb9dbaaa75e3919 device key=0121291743e8a2fc143de9c8438169e12b72706886d503952a2be102804cb43d41260a
github.com/keybase/kbfs/libkbfs.(*KeyManagerStandard).getTLFCryptKeyParams
    /Users/test/go/src/github.com/keybase/kbfs/libkbfs/key_manager.go:284
github.com/keybase/kbfs/libkbfs.(*KeyManagerStandard).getTLFCryptKey
    /Users/test/go/src/github.com/keybase/kbfs/libkbfs/key_manager.go:130
github.com/keybase/kbfs/libkbfs.(*KeyManagerStandard).getTLFCryptKeyUsingCurrentDevice
    /Users/test/go/src/github.com/keybase/kbfs/libkbfs/key_manager.go:80
github.com/keybase/kbfs/libkbfs.(*KeyManagerStandard).GetTLFCryptKeyOfAllGenerations
    /Users/test/go/src/github.com/keybase/kbfs/libkbfs/key_manager.go:64
github.com/keybase/kbfs/libkbfs.(*KBFSOpsStandard).GetTLFCryptKeys
    /Users/test/go/src/github.com/keybase/kbfs/libkbfs/kbfs_ops.go:405
github.com/keybase/kbfs/libkbfs.(*KeybaseServiceBase).GetTLFCryptKeys
    /Users/test/go/src/github.com/keybase/kbfs/libkbfs/keybase_service_base.go:660
github.com/keybase/kbfs/vendor/github.com/keybase/client/go/protocol/keybase1.TlfKeysProtocol.func2
    /Users/test/go/src/github.com/keybase/kbfs/vendor/github.com/keybase/client/go/protocol/keybase1/tlf_keys.go:110
github.com/keybase/kbfs/vendor/github.com/keybase/go-framed-msgpack-rpc/rpc.(*callRequest).Serve
    /Users/test/go/src/github.com/keybase/kbfs/vendor/github.com/keybase/go-framed-msgpack-rpc/rpc/request.go:76
github.com/keybase/kbfs/vendor/github.com/keybase/go-framed-msgpack-rpc/rpc.(*receiveHandler).handleReceiveDispatch.func1
    /Users/test/go/src/github.com/keybase/kbfs/vendor/github.com/keybase/go-framed-msgpack-rpc/rpc/receiver.go:121
runtime.goexit
    /usr/local/Cellar/go/1.7.5/libexec/src/runtime/asm_amd64.s:2086
GUI

other-user-error

my log id: 7866fdfce6a4ffaf60ae2d1c
otheruser log id: fac12823dd0e783f8367251c

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the reported TLF name mismatch and the stack in libkbfs/key_manager.go, then trace the related calls through kbfs_ops.go and keybase_service_base.go. Use the supplied log IDs to determine why a profile reset blocks creating a new private conversation; done means the affected users can create a new conversation without the reported errors.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
backend, security
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.