Documentation ¶
Overview ¶
Package abusemesh is a generated protocol buffer package.
It is generated from these files:
abuse-mesh-common.proto abuse-mesh.proto
It has these top-level messages:
IPAddress IPRange UUID Neighbor Node ContactDetails PGPEntity PGPSignature Report ReportConfirmation AbuseDetectionMethod Evidence DelistRequest DelistAcceptance DelistAcceptanceMethod GetNodeRequest OfferSignatureRequest NegotiateNeighborshipRequest TableEventStreamRequest OfferSignatureResponse NegotiateNeighborshipResponse TableEvent
Index ¶
- Constants
- Variables
- func RegisterAbuseMeshServer(s *grpc.Server, srv AbuseMeshServer)
- type AbuseDetectionMethod
- func (*AbuseDetectionMethod) Descriptor() ([]byte, []int)
- func (m *AbuseDetectionMethod) GetDetectionMethod() isAbuseDetectionMethod_DetectionMethod
- func (m *AbuseDetectionMethod) GetDetectionMethodType() AbuseDetectionMethodType
- func (m *AbuseDetectionMethod) GetUnstandardizedDetectionMethod() string
- func (*AbuseDetectionMethod) ProtoMessage()
- func (m *AbuseDetectionMethod) Reset()
- func (m *AbuseDetectionMethod) String() string
- func (*AbuseDetectionMethod) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, ...)
- type AbuseDetectionMethodType
- type AbuseDetectionMethod_DetectionMethodType
- type AbuseDetectionMethod_UnstandardizedDetectionMethod
- type AbuseMeshClient
- type AbuseMeshServer
- type AbuseMesh_TableEventStreamClient
- type AbuseMesh_TableEventStreamServer
- type AbuseType
- type ContactDetails
- func (*ContactDetails) Descriptor() ([]byte, []int)
- func (m *ContactDetails) GetContactPersons() []*ContactDetails_Person
- func (m *ContactDetails) GetEmailAddress() string
- func (m *ContactDetails) GetOrganizationName() string
- func (m *ContactDetails) GetPhoneNumber() string
- func (m *ContactDetails) GetPhysicalAddress() string
- func (*ContactDetails) ProtoMessage()
- func (m *ContactDetails) Reset()
- func (m *ContactDetails) String() string
- type ContactDetails_Person
- func (*ContactDetails_Person) Descriptor() ([]byte, []int)
- func (m *ContactDetails_Person) GetEmailAddress() string
- func (m *ContactDetails_Person) GetFirstName() string
- func (m *ContactDetails_Person) GetJobTitle() string
- func (m *ContactDetails_Person) GetLastName() string
- func (m *ContactDetails_Person) GetMiddleName() string
- func (m *ContactDetails_Person) GetPhoneNumber() string
- func (*ContactDetails_Person) ProtoMessage()
- func (m *ContactDetails_Person) Reset()
- func (m *ContactDetails_Person) String() string
- type DelistAcceptance
- func (*DelistAcceptance) Descriptor() ([]byte, []int)
- func (m *DelistAcceptance) GetAcceptanceMethod() *DelistAcceptanceMethod
- func (m *DelistAcceptance) GetAcceptanceMethodMetadata() map[string]string
- func (m *DelistAcceptance) GetDelistRequest() *UUID
- func (m *DelistAcceptance) GetDescription() string
- func (m *DelistAcceptance) GetEvidence() map[string]*Evidence
- func (m *DelistAcceptance) GetNode() *Node
- func (m *DelistAcceptance) GetSignature() *PGPSignature
- func (m *DelistAcceptance) GetUuid() *UUID
- func (*DelistAcceptance) ProtoMessage()
- func (m *DelistAcceptance) Reset()
- func (m *DelistAcceptance) String() string
- type DelistAcceptanceMethod
- func (*DelistAcceptanceMethod) Descriptor() ([]byte, []int)
- func (m *DelistAcceptanceMethod) GetAcceptanceMethod() isDelistAcceptanceMethod_AcceptanceMethod
- func (m *DelistAcceptanceMethod) GetMethodType() DelistAcceptanceMethodType
- func (m *DelistAcceptanceMethod) GetUnstandardizedAcceptanceMethodType() string
- func (*DelistAcceptanceMethod) ProtoMessage()
- func (m *DelistAcceptanceMethod) Reset()
- func (m *DelistAcceptanceMethod) String() string
- func (*DelistAcceptanceMethod) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, ...)
- type DelistAcceptanceMethodType
- type DelistAcceptanceMethod_MethodType
- type DelistAcceptanceMethod_UnstandardizedAcceptanceMethodType
- type DelistRequest
- func (*DelistRequest) Descriptor() ([]byte, []int)
- func (m *DelistRequest) GetDescription() string
- func (m *DelistRequest) GetEvidence() map[string]*Evidence
- func (m *DelistRequest) GetMetadata() map[string]string
- func (m *DelistRequest) GetNode() *Node
- func (m *DelistRequest) GetReport() *UUID
- func (m *DelistRequest) GetSignature() *PGPSignature
- func (m *DelistRequest) GetUuid() *UUID
- func (*DelistRequest) ProtoMessage()
- func (m *DelistRequest) Reset()
- func (m *DelistRequest) String() string
- type Evidence
- func (*Evidence) Descriptor() ([]byte, []int)
- func (m *Evidence) GetEvidenceData() []byte
- func (m *Evidence) GetEvidenceType() isEvidence_EvidenceType
- func (m *Evidence) GetType() EvidenceType
- func (m *Evidence) GetUnstandardizedEvidenceType() string
- func (*Evidence) ProtoMessage()
- func (m *Evidence) Reset()
- func (m *Evidence) String() string
- func (*Evidence) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, ...)
- type EvidenceType
- type Evidence_Type
- type Evidence_UnstandardizedEvidenceType
- type GetNodeRequest
- type IPAddress
- type IPAddressFamily
- type IPRange
- type NegotiateNeighborshipRequest
- type NegotiateNeighborshipResponse
- func (*NegotiateNeighborshipResponse) Descriptor() ([]byte, []int)
- func (m *NegotiateNeighborshipResponse) GetEventCounter() uint64
- func (m *NegotiateNeighborshipResponse) GetSessionId() *UUID
- func (*NegotiateNeighborshipResponse) ProtoMessage()
- func (m *NegotiateNeighborshipResponse) Reset()
- func (m *NegotiateNeighborshipResponse) String() string
- type Neighbor
- func (*Neighbor) Descriptor() ([]byte, []int)
- func (m *Neighbor) GetClientNode() *UUID
- func (m *Neighbor) GetClientSignature() *PGPSignature
- func (m *Neighbor) GetId() *UUID
- func (m *Neighbor) GetServerNode() *UUID
- func (*Neighbor) ProtoMessage()
- func (m *Neighbor) Reset()
- func (m *Neighbor) String() string
- type Node
- func (*Node) Descriptor() ([]byte, []int)
- func (m *Node) GetASN() int32
- func (m *Node) GetContactDetails() *ContactDetails
- func (m *Node) GetIpAddress() *IPAddress
- func (m *Node) GetPgpEntity() *PGPEntity
- func (m *Node) GetProtocolVersion() string
- func (m *Node) GetUuid() *UUID
- func (*Node) ProtoMessage()
- func (m *Node) Reset()
- func (m *Node) String() string
- type OfferSignatureRequest
- type OfferSignatureResponse
- type PGPEntity
- type PGPSignature
- type Report
- func (*Report) Descriptor() ([]byte, []int)
- func (m *Report) GetAbuseOrigin() isReport_AbuseOrigin
- func (m *Report) GetAbuseType() AbuseType
- func (m *Report) GetAbuseTypeMetadata() map[string]string
- func (m *Report) GetDescription() string
- func (m *Report) GetDetectionMethod() *AbuseDetectionMethod
- func (m *Report) GetDetectionMethodMetadata() map[string]string
- func (m *Report) GetDomainName() string
- func (m *Report) GetEmail() string
- func (m *Report) GetEvidence() map[string]*Evidence
- func (m *Report) GetIp() *IPAddress
- func (m *Report) GetIpRange() *IPRange
- func (m *Report) GetReportAbuseType() isReport_ReportAbuseType
- func (m *Report) GetReporter() *UUID
- func (m *Report) GetSignature() *PGPSignature
- func (m *Report) GetSuspect() *UUID
- func (m *Report) GetUnstandardizedAbuseType() string
- func (m *Report) GetUrl() string
- func (m *Report) GetUuid() *UUID
- func (*Report) ProtoMessage()
- func (m *Report) Reset()
- func (m *Report) String() string
- func (*Report) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, ...)
- type ReportConfirmation
- func (*ReportConfirmation) Descriptor() ([]byte, []int)
- func (m *ReportConfirmation) GetDescription() string
- func (m *ReportConfirmation) GetDetectionMethod() *AbuseDetectionMethod
- func (m *ReportConfirmation) GetDetectionMethodMetadata() map[string]string
- func (m *ReportConfirmation) GetEvidence() map[string]*Evidence
- func (m *ReportConfirmation) GetNode() *UUID
- func (m *ReportConfirmation) GetReport() *UUID
- func (m *ReportConfirmation) GetSignature() *PGPSignature
- func (m *ReportConfirmation) GetUuid() *UUID
- func (*ReportConfirmation) ProtoMessage()
- func (m *ReportConfirmation) Reset()
- func (m *ReportConfirmation) String() string
- type Report_AbuseType
- type Report_DomainName
- type Report_Email
- type Report_Ip
- type Report_IpRange
- type Report_UnstandardizedAbuseType
- type Report_Url
- type TableEvent
- func (*TableEvent) Descriptor() ([]byte, []int)
- func (m *TableEvent) GetDelistAcceptance() *DelistAcceptance
- func (m *TableEvent) GetDelistRequests() *DelistRequest
- func (m *TableEvent) GetEventId() *UUID
- func (m *TableEvent) GetEventNumber() uint64
- func (m *TableEvent) GetEventSignature() *PGPSignature
- func (m *TableEvent) GetNeighbor() *Neighbor
- func (m *TableEvent) GetNode() *Node
- func (m *TableEvent) GetPreviousEvent() *UUID
- func (m *TableEvent) GetReport() *Report
- func (m *TableEvent) GetReportConfirmation() *ReportConfirmation
- func (m *TableEvent) GetTableEntity() isTableEvent_TableEntity
- func (m *TableEvent) GetUpdateType() TableEventType
- func (*TableEvent) ProtoMessage()
- func (m *TableEvent) Reset()
- func (m *TableEvent) String() string
- func (*TableEvent) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, ...)
- type TableEventStreamRequest
- func (*TableEventStreamRequest) Descriptor() ([]byte, []int)
- func (m *TableEventStreamRequest) GetOffset() uint64
- func (m *TableEventStreamRequest) GetSessionId() *UUID
- func (*TableEventStreamRequest) ProtoMessage()
- func (m *TableEventStreamRequest) Reset()
- func (m *TableEventStreamRequest) String() string
- type TableEventType
- type TableEvent_DelistAcceptance
- type TableEvent_DelistRequests
- type TableEvent_Neighbor
- type TableEvent_Node
- type TableEvent_Report
- type TableEvent_ReportConfirmation
- type UUID
Constants ¶
const AbuseMeshProtocolVersion = "0.0.1"
AbuseMeshProtocolVersion is the semantic version of the AbuseMesh protocol for which these stubs are generated
Variables ¶
var AbuseDetectionMethodType_name = map[int32]string{
0: "ABUSE_DETECTION_MANUAL",
}
var AbuseDetectionMethodType_value = map[string]int32{
"ABUSE_DETECTION_MANUAL": 0,
}
var AbuseType_name = map[int32]string{
0: "ABUSE_SPAM",
1: "ABUSE_PHISHING",
2: "ABUSE_DOS",
3: "ABUSE_COPYRIGHT_INFRINGEMENT",
4: "ABUSE_ILLEGAL_CONTENT",
5: "ABUSE_UNSANCTIONED_HACKING",
6: "ABUSE_VIRUS_DISTRIBUTION",
}
var AbuseType_value = map[string]int32{
"ABUSE_SPAM": 0,
"ABUSE_PHISHING": 1,
"ABUSE_DOS": 2,
"ABUSE_COPYRIGHT_INFRINGEMENT": 3,
"ABUSE_ILLEGAL_CONTENT": 4,
"ABUSE_UNSANCTIONED_HACKING": 5,
"ABUSE_VIRUS_DISTRIBUTION": 6,
}
var DelistAcceptanceMethodType_name = map[int32]string{
0: "DELIST_ACCEPTANCE_MANUAL",
}
var DelistAcceptanceMethodType_value = map[string]int32{
"DELIST_ACCEPTANCE_MANUAL": 0,
}
var EvidenceType_name = map[int32]string{
0: "EVIDENCE_URL",
1: "EVIDENCE_LOG",
2: "EVIDENCE_IMAGE",
3: "EVIDENCE_PCAP",
}
var EvidenceType_value = map[string]int32{
"EVIDENCE_URL": 0,
"EVIDENCE_LOG": 1,
"EVIDENCE_IMAGE": 2,
"EVIDENCE_PCAP": 3,
}
var IPAddressFamily_name = map[int32]string{
0: "IPFAMILY_IPV4",
1: "IPFAMILY_IPV6",
}
var IPAddressFamily_value = map[string]int32{
"IPFAMILY_IPV4": 0,
"IPFAMILY_IPV6": 1,
}
var TableEventType_name = map[int32]string{
0: "TABLE_UPDATE_NEW",
1: "TABLE_UPDATE_EDIT",
2: "TABLE_UPDATE_DELETE",
}
var TableEventType_value = map[string]int32{
"TABLE_UPDATE_NEW": 0,
"TABLE_UPDATE_EDIT": 1,
"TABLE_UPDATE_DELETE": 2,
}
Functions ¶
func RegisterAbuseMeshServer ¶
func RegisterAbuseMeshServer(s *grpc.Server, srv AbuseMeshServer)
Types ¶
type AbuseDetectionMethod ¶
type AbuseDetectionMethod struct { // Types that are valid to be assigned to DetectionMethod: // *AbuseDetectionMethod_UnstandardizedDetectionMethod // *AbuseDetectionMethod_DetectionMethodType DetectionMethod isAbuseDetectionMethod_DetectionMethod `protobuf_oneof:"detection_method"` }
func (*AbuseDetectionMethod) Descriptor ¶
func (*AbuseDetectionMethod) Descriptor() ([]byte, []int)
func (*AbuseDetectionMethod) GetDetectionMethod ¶
func (m *AbuseDetectionMethod) GetDetectionMethod() isAbuseDetectionMethod_DetectionMethod
func (*AbuseDetectionMethod) GetDetectionMethodType ¶
func (m *AbuseDetectionMethod) GetDetectionMethodType() AbuseDetectionMethodType
func (*AbuseDetectionMethod) GetUnstandardizedDetectionMethod ¶
func (m *AbuseDetectionMethod) GetUnstandardizedDetectionMethod() string
func (*AbuseDetectionMethod) ProtoMessage ¶
func (*AbuseDetectionMethod) ProtoMessage()
func (*AbuseDetectionMethod) Reset ¶
func (m *AbuseDetectionMethod) Reset()
func (*AbuseDetectionMethod) String ¶
func (m *AbuseDetectionMethod) String() string
func (*AbuseDetectionMethod) XXX_OneofFuncs ¶
func (*AbuseDetectionMethod) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{})
XXX_OneofFuncs is for the internal use of the proto package.
type AbuseDetectionMethodType ¶
type AbuseDetectionMethodType int32
const ( // TODO add standardized detection method types AbuseDetectionMethodType_ABUSE_DETECTION_MANUAL AbuseDetectionMethodType = 0 )
func (AbuseDetectionMethodType) EnumDescriptor ¶
func (AbuseDetectionMethodType) EnumDescriptor() ([]byte, []int)
func (AbuseDetectionMethodType) String ¶
func (x AbuseDetectionMethodType) String() string
type AbuseDetectionMethod_DetectionMethodType ¶
type AbuseDetectionMethod_DetectionMethodType struct {
DetectionMethodType AbuseDetectionMethodType `protobuf:"varint,2,opt,name=detection_method_type,json=detectionMethodType,enum=abusemesh.AbuseDetectionMethodType,oneof"`
}
type AbuseDetectionMethod_UnstandardizedDetectionMethod ¶
type AbuseDetectionMethod_UnstandardizedDetectionMethod struct {
UnstandardizedDetectionMethod string `protobuf:"bytes,1,opt,name=unstandardized_detection_method,json=unstandardizedDetectionMethod,oneof"`
}
type AbuseMeshClient ¶
type AbuseMeshClient interface { // Returns the Node data of the current node GetNode(ctx context.Context, in *GetNodeRequest, opts ...grpc.CallOption) (*Node, error) // With this call a client offers a signature of the identity to the server // This allows the server to increase its credibility OfferSignature(ctx context.Context, in *OfferSignatureRequest, opts ...grpc.CallOption) (*OfferSignatureResponse, error) // This call can be used by a client to request to a neighbor of this node NegotiateNeighborship(ctx context.Context, in *NegotiateNeighborshipRequest, opts ...grpc.CallOption) (*NegotiateNeighborshipResponse, error) // Opens a stream on which all table events of a node are published TableEventStream(ctx context.Context, in *TableEventStreamRequest, opts ...grpc.CallOption) (AbuseMesh_TableEventStreamClient, error) }
func NewAbuseMeshClient ¶
func NewAbuseMeshClient(cc *grpc.ClientConn) AbuseMeshClient
type AbuseMeshServer ¶
type AbuseMeshServer interface { // Returns the Node data of the current node GetNode(context.Context, *GetNodeRequest) (*Node, error) // With this call a client offers a signature of the identity to the server // This allows the server to increase its credibility OfferSignature(context.Context, *OfferSignatureRequest) (*OfferSignatureResponse, error) // This call can be used by a client to request to a neighbor of this node NegotiateNeighborship(context.Context, *NegotiateNeighborshipRequest) (*NegotiateNeighborshipResponse, error) // Opens a stream on which all table events of a node are published TableEventStream(*TableEventStreamRequest, AbuseMesh_TableEventStreamServer) error }
type AbuseMesh_TableEventStreamClient ¶
type AbuseMesh_TableEventStreamClient interface { Recv() (*TableEvent, error) grpc.ClientStream }
type AbuseMesh_TableEventStreamServer ¶
type AbuseMesh_TableEventStreamServer interface { Send(*TableEvent) error grpc.ServerStream }
type AbuseType ¶
type AbuseType int32
NOTE: This list is not complete and probably never will be This list must be moderated with the following guidelines:
- General categories, details and variations can be managed with metadata. This keeps the list stable
- Only generally considered abuse, this list should contain acts which are almost unanimously labeled abuse. Very disputable acts like port scanning(at the time of writing this) should be be part of the standard until a great majority of the the community labels it as abuse. However just because one or a few geo political entities allow a act doesn't mean it is not belong on this list
const ( // A abuse report of spam AbuseType_ABUSE_SPAM AbuseType = 0 // A abuse report of phishing AbuseType_ABUSE_PHISHING AbuseType = 1 // A abuse report of a denial of service attack vector AbuseType_ABUSE_DOS AbuseType = 2 // A abuse report of copyright infringement of any form AbuseType_ABUSE_COPYRIGHT_INFRINGEMENT AbuseType = 3 // A abuse report of content which is against the law in most places // e.g. Child Pornography, Hate speech // NOTE: This category is not meant for unwanted political content, fake news and other undesirable content which is not illegal AbuseType_ABUSE_ILLEGAL_CONTENT AbuseType = 4 // A abuse report of origin of a hacking attempts which were not requested, promoted or sanctioned by the victim AbuseType_ABUSE_UNSANCTIONED_HACKING AbuseType = 5 // A abuse report of a location on the internet from where computer viruses are distributed AbuseType_ABUSE_VIRUS_DISTRIBUTION AbuseType = 6 )
func (AbuseType) EnumDescriptor ¶
type ContactDetails ¶
type ContactDetails struct { OrganizationName string `protobuf:"bytes,1,opt,name=organization_name,json=organizationName" json:"organization_name,omitempty"` EmailAddress string `protobuf:"bytes,2,opt,name=email_address,json=emailAddress" json:"email_address,omitempty"` PhoneNumber string `protobuf:"bytes,3,opt,name=phone_number,json=phoneNumber" json:"phone_number,omitempty"` PhysicalAddress string `protobuf:"bytes,4,opt,name=physical_address,json=physicalAddress" json:"physical_address,omitempty"` ContactPersons []*ContactDetails_Person `protobuf:"bytes,5,rep,name=contact_persons,json=contactPersons" json:"contact_persons,omitempty"` }
func (*ContactDetails) Descriptor ¶
func (*ContactDetails) Descriptor() ([]byte, []int)
func (*ContactDetails) GetContactPersons ¶
func (m *ContactDetails) GetContactPersons() []*ContactDetails_Person
func (*ContactDetails) GetEmailAddress ¶
func (m *ContactDetails) GetEmailAddress() string
func (*ContactDetails) GetOrganizationName ¶
func (m *ContactDetails) GetOrganizationName() string
func (*ContactDetails) GetPhoneNumber ¶
func (m *ContactDetails) GetPhoneNumber() string
func (*ContactDetails) GetPhysicalAddress ¶
func (m *ContactDetails) GetPhysicalAddress() string
func (*ContactDetails) ProtoMessage ¶
func (*ContactDetails) ProtoMessage()
func (*ContactDetails) Reset ¶
func (m *ContactDetails) Reset()
func (*ContactDetails) String ¶
func (m *ContactDetails) String() string
type ContactDetails_Person ¶
type ContactDetails_Person struct { FirstName string `protobuf:"bytes,6,opt,name=first_name,json=firstName" json:"first_name,omitempty"` MiddleName string `protobuf:"bytes,7,opt,name=middle_name,json=middleName" json:"middle_name,omitempty"` LastName string `protobuf:"bytes,8,opt,name=last_name,json=lastName" json:"last_name,omitempty"` JobTitle string `protobuf:"bytes,9,opt,name=job_title,json=jobTitle" json:"job_title,omitempty"` EmailAddress string `protobuf:"bytes,10,opt,name=email_address,json=emailAddress" json:"email_address,omitempty"` PhoneNumber string `protobuf:"bytes,11,opt,name=phone_number,json=phoneNumber" json:"phone_number,omitempty"` }
func (*ContactDetails_Person) Descriptor ¶
func (*ContactDetails_Person) Descriptor() ([]byte, []int)
func (*ContactDetails_Person) GetEmailAddress ¶
func (m *ContactDetails_Person) GetEmailAddress() string
func (*ContactDetails_Person) GetFirstName ¶
func (m *ContactDetails_Person) GetFirstName() string
func (*ContactDetails_Person) GetJobTitle ¶
func (m *ContactDetails_Person) GetJobTitle() string
func (*ContactDetails_Person) GetLastName ¶
func (m *ContactDetails_Person) GetLastName() string
func (*ContactDetails_Person) GetMiddleName ¶
func (m *ContactDetails_Person) GetMiddleName() string
func (*ContactDetails_Person) GetPhoneNumber ¶
func (m *ContactDetails_Person) GetPhoneNumber() string
func (*ContactDetails_Person) ProtoMessage ¶
func (*ContactDetails_Person) ProtoMessage()
func (*ContactDetails_Person) Reset ¶
func (m *ContactDetails_Person) Reset()
func (*ContactDetails_Person) String ¶
func (m *ContactDetails_Person) String() string
type DelistAcceptance ¶
type DelistAcceptance struct { // The id of the delist acceptance Uuid *UUID `protobuf:"bytes,1,opt,name=uuid" json:"uuid,omitempty"` // The id of the delist request DelistRequest *UUID `protobuf:"bytes,2,opt,name=delist_request,json=delistRequest" json:"delist_request,omitempty"` // The node which accepted the delisting request Node *Node `protobuf:"bytes,3,opt,name=node" json:"node,omitempty"` // The signature that proves the node it the author of the delist acceptance and that the delist acceptance has not been modified Signature *PGPSignature `protobuf:"bytes,4,opt,name=signature" json:"signature,omitempty"` // A human readable description which may explain why the delist request was accepted Description string `protobuf:"bytes,5,opt,name=description" json:"description,omitempty"` // A key value map of evidence which proves a report is incorrect or resolved // e.g. http request and response to a url which now returns a 404 in case of copyright infringement Evidence map[string]*Evidence `` /* 136-byte string literal not displayed */ // The method which was used to accept this method // e.g. manual(human check) // e.g. automated copyright check tool AcceptanceMethod *DelistAcceptanceMethod `protobuf:"bytes,7,opt,name=acceptance_method,json=acceptanceMethod" json:"acceptance_method,omitempty"` // A map containing extra details about the acceptance method // e.g. what is the name, version and source code of a scanner // e.g. Which human checked the delist request // TODO maybe this should be standardized as well at some point AcceptanceMethodMetadata map[string]string `` /* 202-byte string literal not displayed */ }
func (*DelistAcceptance) Descriptor ¶
func (*DelistAcceptance) Descriptor() ([]byte, []int)
func (*DelistAcceptance) GetAcceptanceMethod ¶
func (m *DelistAcceptance) GetAcceptanceMethod() *DelistAcceptanceMethod
func (*DelistAcceptance) GetAcceptanceMethodMetadata ¶
func (m *DelistAcceptance) GetAcceptanceMethodMetadata() map[string]string
func (*DelistAcceptance) GetDelistRequest ¶
func (m *DelistAcceptance) GetDelistRequest() *UUID
func (*DelistAcceptance) GetDescription ¶
func (m *DelistAcceptance) GetDescription() string
func (*DelistAcceptance) GetEvidence ¶
func (m *DelistAcceptance) GetEvidence() map[string]*Evidence
func (*DelistAcceptance) GetNode ¶
func (m *DelistAcceptance) GetNode() *Node
func (*DelistAcceptance) GetSignature ¶
func (m *DelistAcceptance) GetSignature() *PGPSignature
func (*DelistAcceptance) GetUuid ¶
func (m *DelistAcceptance) GetUuid() *UUID
func (*DelistAcceptance) ProtoMessage ¶
func (*DelistAcceptance) ProtoMessage()
func (*DelistAcceptance) Reset ¶
func (m *DelistAcceptance) Reset()
func (*DelistAcceptance) String ¶
func (m *DelistAcceptance) String() string
type DelistAcceptanceMethod ¶
type DelistAcceptanceMethod struct { // Types that are valid to be assigned to AcceptanceMethod: // *DelistAcceptanceMethod_UnstandardizedAcceptanceMethodType // *DelistAcceptanceMethod_MethodType AcceptanceMethod isDelistAcceptanceMethod_AcceptanceMethod `protobuf_oneof:"acceptance_method"` }
func (*DelistAcceptanceMethod) Descriptor ¶
func (*DelistAcceptanceMethod) Descriptor() ([]byte, []int)
func (*DelistAcceptanceMethod) GetAcceptanceMethod ¶
func (m *DelistAcceptanceMethod) GetAcceptanceMethod() isDelistAcceptanceMethod_AcceptanceMethod
func (*DelistAcceptanceMethod) GetMethodType ¶
func (m *DelistAcceptanceMethod) GetMethodType() DelistAcceptanceMethodType
func (*DelistAcceptanceMethod) GetUnstandardizedAcceptanceMethodType ¶
func (m *DelistAcceptanceMethod) GetUnstandardizedAcceptanceMethodType() string
func (*DelistAcceptanceMethod) ProtoMessage ¶
func (*DelistAcceptanceMethod) ProtoMessage()
func (*DelistAcceptanceMethod) Reset ¶
func (m *DelistAcceptanceMethod) Reset()
func (*DelistAcceptanceMethod) String ¶
func (m *DelistAcceptanceMethod) String() string
func (*DelistAcceptanceMethod) XXX_OneofFuncs ¶
func (*DelistAcceptanceMethod) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{})
XXX_OneofFuncs is for the internal use of the proto package.
type DelistAcceptanceMethodType ¶
type DelistAcceptanceMethodType int32
const ( // TODO add standardized acceptance methods DelistAcceptanceMethodType_DELIST_ACCEPTANCE_MANUAL DelistAcceptanceMethodType = 0 )
func (DelistAcceptanceMethodType) EnumDescriptor ¶
func (DelistAcceptanceMethodType) EnumDescriptor() ([]byte, []int)
func (DelistAcceptanceMethodType) String ¶
func (x DelistAcceptanceMethodType) String() string
type DelistAcceptanceMethod_MethodType ¶
type DelistAcceptanceMethod_MethodType struct {
MethodType DelistAcceptanceMethodType `protobuf:"varint,2,opt,name=method_type,json=methodType,enum=abusemesh.DelistAcceptanceMethodType,oneof"`
}
type DelistAcceptanceMethod_UnstandardizedAcceptanceMethodType ¶
type DelistAcceptanceMethod_UnstandardizedAcceptanceMethodType struct {
UnstandardizedAcceptanceMethodType string `protobuf:"bytes,1,opt,name=unstandardized_acceptance_method_type,json=unstandardizedAcceptanceMethodType,oneof"`
}
type DelistRequest ¶
type DelistRequest struct { // The id of the delist request Uuid *UUID `protobuf:"bytes,1,opt,name=uuid" json:"uuid,omitempty"` // The report to be delisted Report *UUID `protobuf:"bytes,2,opt,name=report" json:"report,omitempty"` // The node which requested the delisting Node *Node `protobuf:"bytes,3,opt,name=node" json:"node,omitempty"` // The signature that proves the requester it the author of the delist request and that the delist request has not been modified Signature *PGPSignature `protobuf:"bytes,4,opt,name=signature" json:"signature,omitempty"` // A human readable description which may explain why a report is incorrect or has been resolved Description string `protobuf:"bytes,5,opt,name=description" json:"description,omitempty"` // A key value map of evidence which proves a report is incorrect or resolved // e.g. a letter of consent when appealing a scanning abuse report // e.g. a link to a court case Evidence map[string]*Evidence `` /* 136-byte string literal not displayed */ // A map containing extra details // e.g. when reporting a DOS attack the type of DOS attack can be a metadata field // TODO maybe this should be standardized as well at some point Metadata map[string]string `` /* 136-byte string literal not displayed */ }
func (*DelistRequest) Descriptor ¶
func (*DelistRequest) Descriptor() ([]byte, []int)
func (*DelistRequest) GetDescription ¶
func (m *DelistRequest) GetDescription() string
func (*DelistRequest) GetEvidence ¶
func (m *DelistRequest) GetEvidence() map[string]*Evidence
func (*DelistRequest) GetMetadata ¶
func (m *DelistRequest) GetMetadata() map[string]string
func (*DelistRequest) GetNode ¶
func (m *DelistRequest) GetNode() *Node
func (*DelistRequest) GetReport ¶
func (m *DelistRequest) GetReport() *UUID
func (*DelistRequest) GetSignature ¶
func (m *DelistRequest) GetSignature() *PGPSignature
func (*DelistRequest) GetUuid ¶
func (m *DelistRequest) GetUuid() *UUID
func (*DelistRequest) ProtoMessage ¶
func (*DelistRequest) ProtoMessage()
func (*DelistRequest) Reset ¶
func (m *DelistRequest) Reset()
func (*DelistRequest) String ¶
func (m *DelistRequest) String() string
type Evidence ¶
type Evidence struct { // Types that are valid to be assigned to EvidenceType: // *Evidence_UnstandardizedEvidenceType // *Evidence_Type EvidenceType isEvidence_EvidenceType `protobuf_oneof:"evidence_type"` EvidenceData []byte `protobuf:"bytes,3,opt,name=evidence_data,json=evidenceData,proto3" json:"evidence_data,omitempty"` }
func (*Evidence) Descriptor ¶
func (*Evidence) GetEvidenceData ¶
func (*Evidence) GetEvidenceType ¶
func (m *Evidence) GetEvidenceType() isEvidence_EvidenceType
func (*Evidence) GetType ¶
func (m *Evidence) GetType() EvidenceType
func (*Evidence) GetUnstandardizedEvidenceType ¶
func (*Evidence) ProtoMessage ¶
func (*Evidence) ProtoMessage()
type EvidenceType ¶
type EvidenceType int32
const ( // TODO add all evidence types EvidenceType_EVIDENCE_URL EvidenceType = 0 EvidenceType_EVIDENCE_LOG EvidenceType = 1 EvidenceType_EVIDENCE_IMAGE EvidenceType = 2 EvidenceType_EVIDENCE_PCAP EvidenceType = 3 )
func (EvidenceType) EnumDescriptor ¶
func (EvidenceType) EnumDescriptor() ([]byte, []int)
func (EvidenceType) String ¶
func (x EvidenceType) String() string
type Evidence_Type ¶
type Evidence_Type struct {
Type EvidenceType `protobuf:"varint,2,opt,name=type,enum=abusemesh.EvidenceType,oneof"`
}
type Evidence_UnstandardizedEvidenceType ¶
type Evidence_UnstandardizedEvidenceType struct {
UnstandardizedEvidenceType string `protobuf:"bytes,1,opt,name=unstandardized_evidence_type,json=unstandardizedEvidenceType,oneof"`
}
type GetNodeRequest ¶
type GetNodeRequest struct { }
func (*GetNodeRequest) Descriptor ¶
func (*GetNodeRequest) Descriptor() ([]byte, []int)
func (*GetNodeRequest) ProtoMessage ¶
func (*GetNodeRequest) ProtoMessage()
func (*GetNodeRequest) Reset ¶
func (m *GetNodeRequest) Reset()
func (*GetNodeRequest) String ¶
func (m *GetNodeRequest) String() string
type IPAddress ¶
type IPAddress struct { AddressFamily IPAddressFamily `protobuf:"varint,1,opt,name=address_family,json=addressFamily,enum=abusemesh.IPAddressFamily" json:"address_family,omitempty"` Address string `protobuf:"bytes,2,opt,name=address" json:"address,omitempty"` }
func (*IPAddress) Descriptor ¶
func (*IPAddress) GetAddress ¶
func (*IPAddress) GetAddressFamily ¶
func (m *IPAddress) GetAddressFamily() IPAddressFamily
func (*IPAddress) ProtoMessage ¶
func (*IPAddress) ProtoMessage()
type IPAddressFamily ¶
type IPAddressFamily int32
const ( IPAddressFamily_IPFAMILY_IPV4 IPAddressFamily = 0 IPAddressFamily_IPFAMILY_IPV6 IPAddressFamily = 1 )
func (IPAddressFamily) EnumDescriptor ¶
func (IPAddressFamily) EnumDescriptor() ([]byte, []int)
func (IPAddressFamily) String ¶
func (x IPAddressFamily) String() string
type IPRange ¶
type IPRange struct { Address *IPAddress `protobuf:"bytes,1,opt,name=address" json:"address,omitempty"` Prefix int32 `protobuf:"varint,2,opt,name=prefix" json:"prefix,omitempty"` }
func (*IPRange) Descriptor ¶
func (*IPRange) GetAddress ¶
func (*IPRange) ProtoMessage ¶
func (*IPRange) ProtoMessage()
type NegotiateNeighborshipRequest ¶
type NegotiateNeighborshipRequest struct { }
func (*NegotiateNeighborshipRequest) Descriptor ¶
func (*NegotiateNeighborshipRequest) Descriptor() ([]byte, []int)
func (*NegotiateNeighborshipRequest) ProtoMessage ¶
func (*NegotiateNeighborshipRequest) ProtoMessage()
func (*NegotiateNeighborshipRequest) Reset ¶
func (m *NegotiateNeighborshipRequest) Reset()
func (*NegotiateNeighborshipRequest) String ¶
func (m *NegotiateNeighborshipRequest) String() string
type NegotiateNeighborshipResponse ¶
type NegotiateNeighborshipResponse struct { // The identifier for this session SessionId *UUID `protobuf:"bytes,1,opt,name=session_id,json=sessionId" json:"session_id,omitempty"` // The amount of events a server has sent to the client EventCounter uint64 `protobuf:"varint,2,opt,name=event_counter,json=eventCounter" json:"event_counter,omitempty"` }
func (*NegotiateNeighborshipResponse) Descriptor ¶
func (*NegotiateNeighborshipResponse) Descriptor() ([]byte, []int)
func (*NegotiateNeighborshipResponse) GetEventCounter ¶
func (m *NegotiateNeighborshipResponse) GetEventCounter() uint64
func (*NegotiateNeighborshipResponse) GetSessionId ¶
func (m *NegotiateNeighborshipResponse) GetSessionId() *UUID
func (*NegotiateNeighborshipResponse) ProtoMessage ¶
func (*NegotiateNeighborshipResponse) ProtoMessage()
func (*NegotiateNeighborshipResponse) Reset ¶
func (m *NegotiateNeighborshipResponse) Reset()
func (*NegotiateNeighborshipResponse) String ¶
func (m *NegotiateNeighborshipResponse) String() string
type Neighbor ¶
type Neighbor struct { // The id of the neighbor message Id *UUID `protobuf:"bytes,1,opt,name=id" json:"id,omitempty"` // The id of the client node ClientNode *UUID `protobuf:"bytes,2,opt,name=client_node,json=clientNode" json:"client_node,omitempty"` // The id of the server node ServerNode *UUID `protobuf:"bytes,3,opt,name=server_node,json=serverNode" json:"server_node,omitempty"` // A signature of the client node which confirms the validity and integrity ClientSignature *PGPSignature `protobuf:"bytes,4,opt,name=client_signature,json=clientSignature" json:"client_signature,omitempty"` }
A Neighbor is a node to which another node is directly connected.
func (*Neighbor) Descriptor ¶
func (*Neighbor) GetClientNode ¶
func (*Neighbor) GetClientSignature ¶
func (m *Neighbor) GetClientSignature() *PGPSignature
func (*Neighbor) GetServerNode ¶
func (*Neighbor) ProtoMessage ¶
func (*Neighbor) ProtoMessage()
type Node ¶
type Node struct { // The ID of the node Uuid *UUID `protobuf:"bytes,1,opt,name=uuid" json:"uuid,omitempty"` // The semantic version of the AbuseMesh protocol in use by the node ProtocolVersion string `protobuf:"bytes,2,opt,name=protocol_version,json=protocolVersion" json:"protocol_version,omitempty"` // The IP address on which the node is reachable IpAddress *IPAddress `protobuf:"bytes,3,opt,name=ip_address,json=ipAddress" json:"ip_address,omitempty"` // Details about how to contact the the company and/of administrators of a node ContactDetails *ContactDetails `protobuf:"bytes,4,opt,name=contact_details,json=contactDetails" json:"contact_details,omitempty"` // The number of the autonomous system for which this node claims to have authority ASN int32 `protobuf:"varint,5,opt,name=ASN" json:"ASN,omitempty"` // The PGP entity which the node uses to sign its messages PgpEntity *PGPEntity `protobuf:"bytes,6,opt,name=pgp_entity,json=pgpEntity" json:"pgp_entity,omitempty"` }
A node is a application which speaks the AbuseMesh protocol
func (*Node) Descriptor ¶
func (*Node) GetContactDetails ¶
func (m *Node) GetContactDetails() *ContactDetails
func (*Node) GetIpAddress ¶
func (*Node) GetPgpEntity ¶
func (*Node) GetProtocolVersion ¶
func (*Node) ProtoMessage ¶
func (*Node) ProtoMessage()
type OfferSignatureRequest ¶
type OfferSignatureRequest struct {
Signature *PGPSignature `protobuf:"bytes,1,opt,name=signature" json:"signature,omitempty"`
}
func (*OfferSignatureRequest) Descriptor ¶
func (*OfferSignatureRequest) Descriptor() ([]byte, []int)
func (*OfferSignatureRequest) GetSignature ¶
func (m *OfferSignatureRequest) GetSignature() *PGPSignature
func (*OfferSignatureRequest) ProtoMessage ¶
func (*OfferSignatureRequest) ProtoMessage()
func (*OfferSignatureRequest) Reset ¶
func (m *OfferSignatureRequest) Reset()
func (*OfferSignatureRequest) String ¶
func (m *OfferSignatureRequest) String() string
type OfferSignatureResponse ¶
type OfferSignatureResponse struct { }
func (*OfferSignatureResponse) Descriptor ¶
func (*OfferSignatureResponse) Descriptor() ([]byte, []int)
func (*OfferSignatureResponse) ProtoMessage ¶
func (*OfferSignatureResponse) ProtoMessage()
func (*OfferSignatureResponse) Reset ¶
func (m *OfferSignatureResponse) Reset()
func (*OfferSignatureResponse) String ¶
func (m *OfferSignatureResponse) String() string
type PGPEntity ¶
type PGPEntity struct { // The PGP packets of this pgp entity: the public key, userids, signatures and subkeys in binary format PgpPackets []byte `protobuf:"bytes,1,opt,name=pgp_packets,json=pgpPackets,proto3" json:"pgp_packets,omitempty"` }
func (*PGPEntity) Descriptor ¶
func (*PGPEntity) GetPgpPackets ¶
func (*PGPEntity) ProtoMessage ¶
func (*PGPEntity) ProtoMessage()
type PGPSignature ¶
type PGPSignature struct { // A PGP detached signature packet of data Signature []byte `protobuf:"bytes,1,opt,name=signature,proto3" json:"signature,omitempty"` }
func (*PGPSignature) Descriptor ¶
func (*PGPSignature) Descriptor() ([]byte, []int)
func (*PGPSignature) GetSignature ¶
func (m *PGPSignature) GetSignature() []byte
func (*PGPSignature) ProtoMessage ¶
func (*PGPSignature) ProtoMessage()
func (*PGPSignature) Reset ¶
func (m *PGPSignature) Reset()
func (*PGPSignature) String ¶
func (m *PGPSignature) String() string
type Report ¶
type Report struct { // The id of the report Uuid *UUID `protobuf:"bytes,1,opt,name=uuid" json:"uuid,omitempty"` // The id of the node which created the report Reporter *UUID `protobuf:"bytes,2,opt,name=reporter" json:"reporter,omitempty"` // The id of the node which claims ownership over the AS where the abuse originated Suspect *UUID `protobuf:"bytes,3,opt,name=suspect" json:"suspect,omitempty"` // The signature that proves the reporter it the author of the report and that the report has no been modified Signature *PGPSignature `protobuf:"bytes,4,opt,name=signature" json:"signature,omitempty"` // The type of abuse this report specifies // // Types that are valid to be assigned to ReportAbuseType: // *Report_UnstandardizedAbuseType // *Report_AbuseType ReportAbuseType isReport_ReportAbuseType `protobuf_oneof:"report_abuse_type"` // A human readable description to give context // WARNING: this field should not be used for evidence, metadata or other machine data. Description string `protobuf:"bytes,7,opt,name=description" json:"description,omitempty"` // Types that are valid to be assigned to AbuseOrigin: // *Report_Email // *Report_DomainName // *Report_Url // *Report_Ip // *Report_IpRange AbuseOrigin isReport_AbuseOrigin `protobuf_oneof:"abuse_origin"` // A key value map of evidence of abuse // e.g. when reporting spam, the recieved email can be included // e.g. for illegal scanning a log can be included // e.g. when reporting a DoS attack a anonymised PCAP can be included Evidence map[string]*Evidence `` /* 137-byte string literal not displayed */ // A map containing extra details about the abuse type // e.g. when reporting a DoS attack the type of DOS attack can be a metadata field // TODO maybe this should be standardized as well at some point AbuseTypeMetadata map[string]string `` /* 182-byte string literal not displayed */ // How was the abuse detected // e.g. spam filter // e.g. DDoS detector // e.g. human entry DetectionMethod *AbuseDetectionMethod `protobuf:"bytes,15,opt,name=detection_method,json=detectionMethod" json:"detection_method,omitempty"` // A map containing extra details about the detection method // e.g. which software version was used to detect the abuse // e.g. who created this report manually // TODO maybe this should be standardized as well at some point DetectionMethodMetadata map[string]string `` /* 200-byte string literal not displayed */ }
func (*Report) Descriptor ¶
func (*Report) GetAbuseOrigin ¶
func (m *Report) GetAbuseOrigin() isReport_AbuseOrigin
func (*Report) GetAbuseType ¶
func (*Report) GetAbuseTypeMetadata ¶
func (*Report) GetDescription ¶
func (*Report) GetDetectionMethod ¶
func (m *Report) GetDetectionMethod() *AbuseDetectionMethod
func (*Report) GetDetectionMethodMetadata ¶
func (*Report) GetDomainName ¶
func (*Report) GetEvidence ¶
func (*Report) GetIpRange ¶
func (*Report) GetReportAbuseType ¶
func (m *Report) GetReportAbuseType() isReport_ReportAbuseType
func (*Report) GetReporter ¶
func (*Report) GetSignature ¶
func (m *Report) GetSignature() *PGPSignature
func (*Report) GetSuspect ¶
func (*Report) GetUnstandardizedAbuseType ¶
func (*Report) ProtoMessage ¶
func (*Report) ProtoMessage()
type ReportConfirmation ¶
type ReportConfirmation struct { // The id of the report confirmation Uuid *UUID `protobuf:"bytes,1,opt,name=uuid" json:"uuid,omitempty"` // The id of node that created the confirmation Node *UUID `protobuf:"bytes,2,opt,name=node" json:"node,omitempty"` // The id of the report that is confirmed by this message Report *UUID `protobuf:"bytes,3,opt,name=report" json:"report,omitempty"` // The signature that proves the reporter it the author of the report and that the report has not been modified Signature *PGPSignature `protobuf:"bytes,4,opt,name=signature" json:"signature,omitempty"` // A human readable description of the confirmation // WARNING: this field should not be used for evidence or other machine data. Description string `protobuf:"bytes,5,opt,name=description" json:"description,omitempty"` // A key value map of evidence of abuse which should be indepently gathered // e.g. when reporting copyright infringement a http request and response can be added // e.g. when reporting a DoS attack a anonymised PCAP can be included Evidence map[string]*Evidence `` /* 136-byte string literal not displayed */ // How was the abuse detected // e.g. spam filter // e.g. DDoS detector // e.g. human entry DetectionMethod *AbuseDetectionMethod `protobuf:"bytes,7,opt,name=detection_method,json=detectionMethod" json:"detection_method,omitempty"` // A map containing extra details about the detection method // e.g. which software version was used to detect the abuse // e.g. who created this report manually // TODO maybe this should be standardized as well at some point DetectionMethodMetadata map[string]string `` /* 199-byte string literal not displayed */ }
A report confirmation can be created by a node which claims to have checked the report indepenantly and confirms the abuse report A report confirmation therefor must also provide evidence
func (*ReportConfirmation) Descriptor ¶
func (*ReportConfirmation) Descriptor() ([]byte, []int)
func (*ReportConfirmation) GetDescription ¶
func (m *ReportConfirmation) GetDescription() string
func (*ReportConfirmation) GetDetectionMethod ¶
func (m *ReportConfirmation) GetDetectionMethod() *AbuseDetectionMethod
func (*ReportConfirmation) GetDetectionMethodMetadata ¶
func (m *ReportConfirmation) GetDetectionMethodMetadata() map[string]string
func (*ReportConfirmation) GetEvidence ¶
func (m *ReportConfirmation) GetEvidence() map[string]*Evidence
func (*ReportConfirmation) GetNode ¶
func (m *ReportConfirmation) GetNode() *UUID
func (*ReportConfirmation) GetReport ¶
func (m *ReportConfirmation) GetReport() *UUID
func (*ReportConfirmation) GetSignature ¶
func (m *ReportConfirmation) GetSignature() *PGPSignature
func (*ReportConfirmation) GetUuid ¶
func (m *ReportConfirmation) GetUuid() *UUID
func (*ReportConfirmation) ProtoMessage ¶
func (*ReportConfirmation) ProtoMessage()
func (*ReportConfirmation) Reset ¶
func (m *ReportConfirmation) Reset()
func (*ReportConfirmation) String ¶
func (m *ReportConfirmation) String() string
type Report_AbuseType ¶
type Report_AbuseType struct {
AbuseType AbuseType `protobuf:"varint,6,opt,name=abuse_type,json=abuseType,enum=abusemesh.AbuseType,oneof"`
}
type Report_DomainName ¶
type Report_DomainName struct {
DomainName string `protobuf:"bytes,9,opt,name=domain_name,json=domainName,oneof"`
}
type Report_Email ¶
type Report_Email struct {
Email string `protobuf:"bytes,8,opt,name=email,oneof"`
}
type Report_IpRange ¶
type Report_IpRange struct {
IpRange *IPRange `protobuf:"bytes,12,opt,name=ip_range,json=ipRange,oneof"`
}
type Report_UnstandardizedAbuseType ¶
type Report_UnstandardizedAbuseType struct {
UnstandardizedAbuseType string `protobuf:"bytes,5,opt,name=unstandardized_abuse_type,json=unstandardizedAbuseType,oneof"`
}
type Report_Url ¶
type Report_Url struct {
Url string `protobuf:"bytes,10,opt,name=url,oneof"`
}
type TableEvent ¶
type TableEvent struct { // The unique id of this event EventId *UUID `protobuf:"bytes,1,opt,name=event_id,json=eventId" json:"event_id,omitempty"` // The id of the event before this one regarding the same entity // Is only set when `update_type` is EDIT or DELETE PreviousEvent *UUID `protobuf:"bytes,2,opt,name=previous_event,json=previousEvent" json:"previous_event,omitempty"` // The signature of `uuid` and `previous_event` signed with the same key as the entity EventSignature *PGPSignature `protobuf:"bytes,3,opt,name=event_signature,json=eventSignature" json:"event_signature,omitempty"` UpdateType TableEventType `protobuf:"varint,4,opt,name=update_type,json=updateType,enum=abusemesh.TableEventType" json:"update_type,omitempty"` // Types that are valid to be assigned to TableEntity: // *TableEvent_Node // *TableEvent_Neighbor // *TableEvent_Report // *TableEvent_ReportConfirmation // *TableEvent_DelistRequests // *TableEvent_DelistAcceptance TableEntity isTableEvent_TableEntity `protobuf_oneof:"table_entity"` // The event number of this event for the session between the server and client EventNumber uint64 `protobuf:"varint,11,opt,name=event_number,json=eventNumber" json:"event_number,omitempty"` }
func (*TableEvent) Descriptor ¶
func (*TableEvent) Descriptor() ([]byte, []int)
func (*TableEvent) GetDelistAcceptance ¶
func (m *TableEvent) GetDelistAcceptance() *DelistAcceptance
func (*TableEvent) GetDelistRequests ¶
func (m *TableEvent) GetDelistRequests() *DelistRequest
func (*TableEvent) GetEventId ¶
func (m *TableEvent) GetEventId() *UUID
func (*TableEvent) GetEventNumber ¶
func (m *TableEvent) GetEventNumber() uint64
func (*TableEvent) GetEventSignature ¶
func (m *TableEvent) GetEventSignature() *PGPSignature
func (*TableEvent) GetNeighbor ¶
func (m *TableEvent) GetNeighbor() *Neighbor
func (*TableEvent) GetNode ¶
func (m *TableEvent) GetNode() *Node
func (*TableEvent) GetPreviousEvent ¶
func (m *TableEvent) GetPreviousEvent() *UUID
func (*TableEvent) GetReport ¶
func (m *TableEvent) GetReport() *Report
func (*TableEvent) GetReportConfirmation ¶
func (m *TableEvent) GetReportConfirmation() *ReportConfirmation
func (*TableEvent) GetTableEntity ¶
func (m *TableEvent) GetTableEntity() isTableEvent_TableEntity
func (*TableEvent) GetUpdateType ¶
func (m *TableEvent) GetUpdateType() TableEventType
func (*TableEvent) ProtoMessage ¶
func (*TableEvent) ProtoMessage()
func (*TableEvent) Reset ¶
func (m *TableEvent) Reset()
func (*TableEvent) String ¶
func (m *TableEvent) String() string
func (*TableEvent) XXX_OneofFuncs ¶
func (*TableEvent) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{})
XXX_OneofFuncs is for the internal use of the proto package.
type TableEventStreamRequest ¶
type TableEventStreamRequest struct { // The id of the session for which a client want to get the event stream SessionId *UUID `protobuf:"bytes,1,opt,name=session_id,json=sessionId" json:"session_id,omitempty"` // The event offset in the session the client requests Offset uint64 `protobuf:"varint,2,opt,name=offset" json:"offset,omitempty"` }
func (*TableEventStreamRequest) Descriptor ¶
func (*TableEventStreamRequest) Descriptor() ([]byte, []int)
func (*TableEventStreamRequest) GetOffset ¶
func (m *TableEventStreamRequest) GetOffset() uint64
func (*TableEventStreamRequest) GetSessionId ¶
func (m *TableEventStreamRequest) GetSessionId() *UUID
func (*TableEventStreamRequest) ProtoMessage ¶
func (*TableEventStreamRequest) ProtoMessage()
func (*TableEventStreamRequest) Reset ¶
func (m *TableEventStreamRequest) Reset()
func (*TableEventStreamRequest) String ¶
func (m *TableEventStreamRequest) String() string
type TableEventType ¶
type TableEventType int32
The type of update to a table
const ( // A new entity is added to the table TableEventType_TABLE_UPDATE_NEW TableEventType = 0 // A existing entity was changed in the table TableEventType_TABLE_UPDATE_EDIT TableEventType = 1 // A entity was deleted from the table TableEventType_TABLE_UPDATE_DELETE TableEventType = 2 )
func (TableEventType) EnumDescriptor ¶
func (TableEventType) EnumDescriptor() ([]byte, []int)
func (TableEventType) String ¶
func (x TableEventType) String() string
type TableEvent_DelistAcceptance ¶
type TableEvent_DelistAcceptance struct {
DelistAcceptance *DelistAcceptance `protobuf:"bytes,10,opt,name=delist_acceptance,json=delistAcceptance,oneof"`
}
type TableEvent_DelistRequests ¶
type TableEvent_DelistRequests struct {
DelistRequests *DelistRequest `protobuf:"bytes,9,opt,name=delist_requests,json=delistRequests,oneof"`
}
type TableEvent_Neighbor ¶
type TableEvent_Neighbor struct {
Neighbor *Neighbor `protobuf:"bytes,6,opt,name=neighbor,oneof"`
}
type TableEvent_Node ¶
type TableEvent_Node struct {
Node *Node `protobuf:"bytes,5,opt,name=node,oneof"`
}
type TableEvent_Report ¶
type TableEvent_Report struct {
Report *Report `protobuf:"bytes,7,opt,name=report,oneof"`
}
type TableEvent_ReportConfirmation ¶
type TableEvent_ReportConfirmation struct {
ReportConfirmation *ReportConfirmation `protobuf:"bytes,8,opt,name=report_confirmation,json=reportConfirmation,oneof"`
}
type UUID ¶
type UUID struct {
Uuid string `protobuf:"bytes,1,opt,name=uuid" json:"uuid,omitempty"`
}
UUID (Universally unique identifier)
func (*UUID) Descriptor ¶
func (*UUID) ProtoMessage ¶
func (*UUID) ProtoMessage()