This communicates the PNI identity key to existing linked devices, which is important for linked devices to initially learn about a PNI, or for the change of identity that comes with changing your number (and therefore your PNI). The exact contents of this message will probably change going forward, but here's a baseline to work off of. |
||
|---|---|---|
| .. | ||
| ContactDiscovery.proto | ||
| DeviceTransfer.proto | ||
| Fingerprint.proto | ||
| Groups.proto | ||
| KeyBackup.proto | ||
| Makefile | ||
| Provisioning.proto | ||
| README.md | ||
| SessionRecord.proto | ||
| SignalIOS.proto | ||
| SignalService.proto | ||
| StorageService.proto | ||
| WebSocketResources.proto | ||
SignalServiceKit Protobufs
These protobuf definitions are copied from Signal-Android, but modified to match some iOS conventions.
Prerequisites
Install Apple's swift-protobuf (not the similarly named protobuf-swift)
brew install swift-protobuf
This should install an up to date protobuf package as a dependency. Note that since we use the legacy proto2 format, we need to specify this in our .proto files.
syntax = "proto2";
Building Protobuf
cd ~/src/WhisperSystems/SignalServiceKit/protobuf
make