Skip to content
Snippets Groups Projects
Commit 72a84580 authored by Stephen D's avatar Stephen D
Browse files

add FELINET login endpoint

parent 5c08bda0
No related merge requests found
......@@ -2,10 +2,22 @@ syntax = "proto3";
package felinet;
service Handler {
rpc Login(LoginRequest) returns (LoginResponse);
rpc PushPackets(stream Packet) returns (PushPacketResponse);
rpc GetPackets(PacketFilter) returns (stream Packet);
}
message LoginRequest {
string username = 1;
string password = 2;
}
message LoginResponse {
bool success = 1;
uint32 error = 2;
string msg = 3;
}
message PushPacketResponse {}
message Packet {
......
No preview for this file type
......@@ -719,6 +719,10 @@ FELINET nodes communicate with each other via gRPC. A FELINET server implements
\item In $CallsignFilter.ssid$, the valid values are 0-255, like in all other SSIDs. Protobuf does not have a fixed single-byte type, so a uint32 is used instead. If an invalid value is supplied, the server must reject it, and close the stream.
\end{itemize}
\subsection{Authentication}
FELINET defines an optional $Login$ endpoint, which is meant to be used for authentication. The exact usage of this endpoint is up to the server. For example, it may be used to allow any access, it may be used to allow write access, or it may not be used at all. This endpoint is meant to be as flexible as possible.
\subsection{Filtering}
When a FELINET node calls the $GetPackets$ method, it must specify a filter, which is used to limit what packets are sent to the node from the server. This is done primarily for bandwidth reasons. As such, the filters are very coarse. It is the node's responsibility to filter more on the client-side if required. There are several types of packet filters. These filters cannot be mixed and matched --- only one can be used as a time. However, it is possible to call the $GetPackets$ method multiple times at once, although this is generally not recommended. The filter types are as follows:
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment