There are some hard ones in hangouts_pblite.c. Apparently back in sep 2016 I
tried to fix those and got invalid reads elsewhere and left the valgrind output
as a warning there.
/*
hangouts.proto - Unofficial, reverse engineered Protocol Buffers for Google's
Hangouts chat protocol.
Originally based on Darryl Pogue's reversed engineered proto file from an early
version of Hangouts for Android: https://gist.github.com/dpogue/5692114
Field and message name should generally match those used by Google, with the
major exception that "Client" prefixes have been removed.
*/
// proto2 is required because we need to be able to serialize default values:
syntax="proto2";
// Describes which Hangouts client is active.
enumActiveClientState{
// No client is active.
ACTIVE_CLIENT_STATE_NO_ACTIVE=0;
// This is the active client.
ACTIVE_CLIENT_STATE_IS_ACTIVE=1;
// Other client is active.
ACTIVE_CLIENT_STATE_OTHER_ACTIVE=2;
}
// The state of do-not-disturb mode. Not to be confused with DndSetting, which
// is used to change the state of do-not-disturb mode.
messageDoNotDisturbSetting{
// Whether do-not-disturb mode is enabled.
optionalbooldo_not_disturb=1;
// Timestamp when do-not-disturb mode expires.
optionaluint64expiration_timestamp=2;
// Timestamp when this setting was applied. Not present when this message
// comes from a notification.
optionaluint64version=3;
}
messageNotificationSettings{
optionalDoNotDisturbSettingdnd_settings=1;
}
enumFocusType{
FOCUS_TYPE_UNKNOWN=0;
FOCUS_TYPE_FOCUSED=1;
FOCUS_TYPE_UNFOCUSED=2;
}
enumFocusDevice{
FOCUS_DEVICE_UNSPECIFIED=0;
FOCUS_DEVICE_DESKTOP=20;
FOCUS_DEVICE_MOBILE=300;
}
// Identifies a conversation.
messageConversationId{
// Unique identifier for a conversation.
optionalstringid=1;
}
// Identifies a user.
messageParticipantId{
// Unique identifier for a user's Google account.
optionalstringgaia_id=1;
// Seems to always be the same as gaia_id.
optionalstringchat_id=2;
}
// Indicates whether Hangouts is active (running in the foreground) on