Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cleanup meshnet gRPC API #772

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
173 changes: 53 additions & 120 deletions cli/cli_mesh_peers.go
Original file line number Diff line number Diff line change
Expand Up @@ -657,16 +657,8 @@ func (c *cmd) changeMeshnetPeerNickname(peer *pb.Peer, nickname string) error {
return errors.New(AccountInternalError)
}
switch resp := resp.Response.(type) {
case *pb.ChangeNicknameResponse_ServiceErrorCode:
return serviceErrorCodeToError(resp.ServiceErrorCode)

case *pb.ChangeNicknameResponse_UpdatePeerErrorCode:
return updatePeerErrorCodeToError(
resp.UpdatePeerErrorCode,
peer.Hostname,
)
case *pb.ChangeNicknameResponse_MeshnetErrorCode:
return meshnetErrorToError(resp.MeshnetErrorCode)
case *pb.ChangeNicknameResponse_UpdatePeerError:
return updatePeerErrorToError(resp.UpdatePeerError, nickname)
case *pb.ChangeNicknameResponse_ChangeNicknameErrorCode:
return getChangeNicknameResponseToError(resp.ChangeNicknameErrorCode, nickname)
}
Expand Down Expand Up @@ -696,12 +688,8 @@ func (c *cmd) MeshSetMachineNickname(ctx *cli.Context) error {
return errors.New(AccountInternalError)
}
switch resp := resp.Response.(type) {
case *pb.ChangeNicknameResponse_ServiceErrorCode:
return serviceErrorCodeToError(resp.ServiceErrorCode)
case *pb.ChangeNicknameResponse_UpdatePeerErrorCode:
return errors.New(AccountInternalError)
case *pb.ChangeNicknameResponse_MeshnetErrorCode:
return meshnetErrorToError(resp.MeshnetErrorCode)
case *pb.ChangeNicknameResponse_UpdatePeerError:
return updatePeerErrorToError(resp.UpdatePeerError, nickname)
case *pb.ChangeNicknameResponse_ChangeNicknameErrorCode:
return getChangeNicknameResponseToError(resp.ChangeNicknameErrorCode, nickname)
}
Expand All @@ -723,12 +711,8 @@ func (c *cmd) MeshRemoveMachineNickname(ctx *cli.Context) error {
return errors.New(AccountInternalError)
}
switch resp := resp.Response.(type) {
case *pb.ChangeNicknameResponse_ServiceErrorCode:
return serviceErrorCodeToError(resp.ServiceErrorCode)
case *pb.ChangeNicknameResponse_UpdatePeerErrorCode:
return errors.New(AccountInternalError)
case *pb.ChangeNicknameResponse_MeshnetErrorCode:
return meshnetErrorToError(resp.MeshnetErrorCode)
case *pb.ChangeNicknameResponse_UpdatePeerError:
return updatePeerErrorToError(resp.UpdatePeerError, "")
case *pb.ChangeNicknameResponse_ChangeNicknameErrorCode:
return getChangeNicknameResponseToError(resp.ChangeNicknameErrorCode, "")
}
Expand Down Expand Up @@ -827,18 +811,10 @@ func allowRoutingResponseToError(
switch resp := resp.Response.(type) {
case *pb.AllowRoutingResponse_Empty:
return nil
case *pb.AllowRoutingResponse_ServiceErrorCode:
return serviceErrorCodeToError(resp.ServiceErrorCode)
case *pb.AllowRoutingResponse_UpdatePeerErrorCode:
return updatePeerErrorCodeToError(
resp.UpdatePeerErrorCode,
identifier,
)
case *pb.AllowRoutingResponse_UpdatePeerError:
return updatePeerErrorToError(resp.UpdatePeerError, identifier)
case *pb.AllowRoutingResponse_AllowRoutingErrorCode:
return allowRoutingErrorCodeToError(
resp.AllowRoutingErrorCode,
identifier,
)
return allowRoutingErrorCodeToError(resp.AllowRoutingErrorCode, identifier)
default:
return errors.New(AccountInternalError)
}
Expand All @@ -857,13 +833,8 @@ func denyRoutingResponseToError(
switch resp := resp.Response.(type) {
case *pb.DenyRoutingResponse_Empty:
return nil
case *pb.DenyRoutingResponse_ServiceErrorCode:
return serviceErrorCodeToError(resp.ServiceErrorCode)
case *pb.DenyRoutingResponse_UpdatePeerErrorCode:
return updatePeerErrorCodeToError(
resp.UpdatePeerErrorCode,
identifier,
)
case *pb.DenyRoutingResponse_UpdatePeerError:
return updatePeerErrorToError(resp.UpdatePeerError, identifier)
case *pb.DenyRoutingResponse_DenyRoutingErrorCode:
return denyRoutingErrorCodeToError(
resp.DenyRoutingErrorCode,
Expand All @@ -887,20 +858,13 @@ func allowIncomingResponseToError(
switch resp := resp.Response.(type) {
case *pb.AllowIncomingResponse_Empty:
return nil
case *pb.AllowIncomingResponse_ServiceErrorCode:
return serviceErrorCodeToError(resp.ServiceErrorCode)
case *pb.AllowIncomingResponse_UpdatePeerErrorCode:
return updatePeerErrorCodeToError(
resp.UpdatePeerErrorCode,
identifier,
)
case *pb.AllowIncomingResponse_UpdatePeerError:
return updatePeerErrorToError(resp.UpdatePeerError, identifier)
case *pb.AllowIncomingResponse_AllowIncomingErrorCode:
return allowIncomingErrorCodeToError(
resp.AllowIncomingErrorCode,
identifier,
)
case *pb.AllowIncomingResponse_MeshnetErrorCode:
return meshnetErrorToError(resp.MeshnetErrorCode)
default:
return errors.New(AccountInternalError)
}
Expand All @@ -919,20 +883,13 @@ func denyIncomingResponseToError(
switch resp := resp.Response.(type) {
case *pb.DenyIncomingResponse_Empty:
return nil
case *pb.DenyIncomingResponse_ServiceErrorCode:
return serviceErrorCodeToError(resp.ServiceErrorCode)
case *pb.DenyIncomingResponse_UpdatePeerErrorCode:
return updatePeerErrorCodeToError(
resp.UpdatePeerErrorCode,
identifier,
)
case *pb.DenyIncomingResponse_UpdatePeerError:
return updatePeerErrorToError(resp.UpdatePeerError, identifier)
case *pb.DenyIncomingResponse_DenyIncomingErrorCode:
return denyIncomingErrorCodeToError(
resp.DenyIncomingErrorCode,
identifier,
)
case *pb.DenyIncomingResponse_MeshnetErrorCode:
return meshnetErrorToError(resp.MeshnetErrorCode)
default:
return errors.New(AccountInternalError)
}
Expand All @@ -951,13 +908,8 @@ func allowLocalNetworkResponseToError(
switch resp := resp.Response.(type) {
case *pb.AllowLocalNetworkResponse_Empty:
return nil
case *pb.AllowLocalNetworkResponse_ServiceErrorCode:
return serviceErrorCodeToError(resp.ServiceErrorCode)
case *pb.AllowLocalNetworkResponse_UpdatePeerErrorCode:
return updatePeerErrorCodeToError(
resp.UpdatePeerErrorCode,
identifier,
)
case *pb.AllowLocalNetworkResponse_UpdatePeerError:
return updatePeerErrorToError(resp.UpdatePeerError, identifier)
case *pb.AllowLocalNetworkResponse_AllowLocalNetworkErrorCode:
return allowLocalNetworkErrorCodeToError(
resp.AllowLocalNetworkErrorCode,
Expand All @@ -981,13 +933,8 @@ func denyLocalNetworkResponseToError(
switch resp := resp.Response.(type) {
case *pb.DenyLocalNetworkResponse_Empty:
return nil
case *pb.DenyLocalNetworkResponse_ServiceErrorCode:
return serviceErrorCodeToError(resp.ServiceErrorCode)
case *pb.DenyLocalNetworkResponse_UpdatePeerErrorCode:
return updatePeerErrorCodeToError(
resp.UpdatePeerErrorCode,
identifier,
)
case *pb.DenyLocalNetworkResponse_UpdatePeerError:
return updatePeerErrorToError(resp.UpdatePeerError, identifier)
case *pb.DenyLocalNetworkResponse_DenyLocalNetworkErrorCode:
return denyLocalNetworkErrorCodeToError(
resp.DenyLocalNetworkErrorCode,
Expand All @@ -1010,13 +957,8 @@ func allowFileshareResponseToError(
switch resp := resp.Response.(type) {
case *pb.AllowFileshareResponse_Empty:
return nil
case *pb.AllowFileshareResponse_ServiceErrorCode:
return serviceErrorCodeToError(resp.ServiceErrorCode)
case *pb.AllowFileshareResponse_UpdatePeerErrorCode:
return updatePeerErrorCodeToError(
resp.UpdatePeerErrorCode,
identifier,
)
case *pb.AllowFileshareResponse_UpdatePeerError:
return updatePeerErrorToError(resp.UpdatePeerError, identifier)
case *pb.AllowFileshareResponse_AllowSendErrorCode:
return allowFileshareErrorCodeToError(
resp.AllowSendErrorCode,
Expand All @@ -1040,13 +982,8 @@ func denyFileshareResponseToError(
switch resp := resp.Response.(type) {
case *pb.DenyFileshareResponse_Empty:
return nil
case *pb.DenyFileshareResponse_ServiceErrorCode:
return serviceErrorCodeToError(resp.ServiceErrorCode)
case *pb.DenyFileshareResponse_UpdatePeerErrorCode:
return updatePeerErrorCodeToError(
resp.UpdatePeerErrorCode,
identifier,
)
case *pb.DenyFileshareResponse_UpdatePeerError:
return updatePeerErrorToError(resp.UpdatePeerError, identifier)
case *pb.DenyFileshareResponse_DenySendErrorCode:
return denyFileshareErrorCodeToError(
resp.DenySendErrorCode,
Expand All @@ -1069,13 +1006,8 @@ func enableAutomaticFileshareResponseToError(
switch resp := resp.Response.(type) {
case *pb.EnableAutomaticFileshareResponse_Empty:
return nil
case *pb.EnableAutomaticFileshareResponse_ServiceErrorCode:
return serviceErrorCodeToError(resp.ServiceErrorCode)
case *pb.EnableAutomaticFileshareResponse_UpdatePeerErrorCode:
return updatePeerErrorCodeToError(
resp.UpdatePeerErrorCode,
identifier,
)
case *pb.EnableAutomaticFileshareResponse_UpdatePeerError:
return updatePeerErrorToError(resp.UpdatePeerError, identifier)
case *pb.EnableAutomaticFileshareResponse_EnableAutomaticFileshareErrorCode:
return enableAutomaticFileshareFileshareErrorCodeToError(
resp.EnableAutomaticFileshareErrorCode,
Expand All @@ -1098,13 +1030,8 @@ func disableAutomaticFileshareResponseToError(
switch resp := resp.Response.(type) {
case *pb.DisableAutomaticFileshareResponse_Empty:
return nil
case *pb.DisableAutomaticFileshareResponse_ServiceErrorCode:
return serviceErrorCodeToError(resp.ServiceErrorCode)
case *pb.DisableAutomaticFileshareResponse_UpdatePeerErrorCode:
return updatePeerErrorCodeToError(
resp.UpdatePeerErrorCode,
identifier,
)
case *pb.DisableAutomaticFileshareResponse_UpdatePeerError:
return updatePeerErrorToError(resp.UpdatePeerError, identifier)
case *pb.DisableAutomaticFileshareResponse_DisableAutomaticFileshareErrorCode:
return disableAutomaticFileshareFileshareErrorCodeToError(
resp.DisableAutomaticFileshareErrorCode,
Expand All @@ -1129,13 +1056,8 @@ func removePeerResponseToError(
switch resp := resp.Response.(type) {
case *pb.RemovePeerResponse_Empty:
return nil
case *pb.RemovePeerResponse_ServiceErrorCode:
return serviceErrorCodeToError(resp.ServiceErrorCode)
case *pb.RemovePeerResponse_UpdatePeerErrorCode:
return updatePeerErrorCodeToError(
resp.UpdatePeerErrorCode,
identifier,
)
case *pb.RemovePeerResponse_UpdatePeerError:
return updatePeerErrorToError(resp.UpdatePeerError, identifier)
default:
return errors.New(AccountInternalError)
}
Expand All @@ -1154,20 +1076,13 @@ func connectResponseToError(
switch resp := resp.Response.(type) {
case *pb.ConnectResponse_Empty:
return nil, false
case *pb.ConnectResponse_ServiceErrorCode:
return serviceErrorCodeToError(resp.ServiceErrorCode), false
case *pb.ConnectResponse_UpdatePeerErrorCode:
return updatePeerErrorCodeToError(
resp.UpdatePeerErrorCode,
identifier,
), false
case *pb.ConnectResponse_UpdatePeerError:
return updatePeerErrorToError(resp.UpdatePeerError, identifier), false
case *pb.ConnectResponse_ConnectErrorCode:
return connectErrorCodeToError(
resp.ConnectErrorCode,
identifier,
)
case *pb.ConnectResponse_MeshnetErrorCode:
return meshnetErrorToError(resp.MeshnetErrorCode), false
default:
return errors.New(AccountInternalError), false
}
Expand Down Expand Up @@ -1395,10 +1310,8 @@ func getPeersResponseToPeerList(
switch resp := resp.Response.(type) {
case *pb.GetPeersResponse_Peers:
return resp.Peers, nil
case *pb.GetPeersResponse_ServiceErrorCode:
return nil, serviceErrorCodeToError(resp.ServiceErrorCode)
case *pb.GetPeersResponse_MeshnetErrorCode:
return nil, meshnetErrorToError(resp.MeshnetErrorCode)
case *pb.GetPeersResponse_Error:
return nil, generalErrorToError(resp.Error)
default:
return nil, errors.New(AccountInternalError)
}
Expand Down Expand Up @@ -1449,3 +1362,23 @@ func getChangeNicknameResponseToError(code pb.ChangeNicknameErrorCode, nickname

return errors.New(AccountInternalError)
}

func updatePeerErrorToError(err *pb.UpdatePeerError, identifier string) error {
switch resp := err.Error.(type) {
case *pb.UpdatePeerError_GeneralError:
return generalErrorToError(resp.GeneralError)
case *pb.UpdatePeerError_UpdatePeerErrorCode:
return updatePeerErrorCodeToError(resp.UpdatePeerErrorCode, identifier)
}
return errors.New(AccountInternalError)
}

func generalErrorToError(err *pb.Error) error {
switch resp := err.Error.(type) {
case *pb.Error_MeshnetErrorCode:
return meshnetErrorToError(resp.MeshnetErrorCode)
case *pb.Error_ServiceErrorCode:
return serviceErrorCodeToError(resp.ServiceErrorCode)
}
return errors.New(AccountInternalError)
}
6 changes: 2 additions & 4 deletions fileshare/peers.go
Original file line number Diff line number Diff line change
Expand Up @@ -49,10 +49,8 @@ func getAllPeers(meshClient meshpb.MeshnetClient) (*meshpb.PeerList, error) {
switch resp := resp.Response.(type) {
case *meshpb.GetPeersResponse_Peers:
return resp.Peers, nil
case *meshpb.GetPeersResponse_ServiceErrorCode:
return nil, fmt.Errorf("GetPeers failed, service error: %s", meshpb.ServiceErrorCode_name[int32(resp.ServiceErrorCode)])
case *meshpb.GetPeersResponse_MeshnetErrorCode:
return nil, fmt.Errorf("GetPeers failed, meshnet error: %s", meshpb.ServiceErrorCode_name[int32(resp.MeshnetErrorCode)])
case *meshpb.GetPeersResponse_Error:
return nil, fmt.Errorf("GetPeers failed, error: %s", resp.Error.String())
default:
return nil, fmt.Errorf("GetPeers failed, unknown error")
}
Expand Down
7 changes: 2 additions & 5 deletions fileshare/server.go
Original file line number Diff line number Diff line change
Expand Up @@ -144,11 +144,8 @@ func (s *Server) getPeers() (map[string]*meshpb.Peer, map[string]*meshpb.Peer, e
case *meshpb.GetPeersResponse_Peers:
peerPubkeyToPeer, peerNameToPeer := meshnet.MakePeerMaps(resp.Peers)
return peerPubkeyToPeer, peerNameToPeer, nil
case *meshpb.GetPeersResponse_ServiceErrorCode:
log.Printf("GetPeers failed, service error: %s", meshpb.ServiceErrorCode_name[int32(resp.ServiceErrorCode)])
return nil, nil, errGetPeersFailed
case *meshpb.GetPeersResponse_MeshnetErrorCode:
log.Printf("GetPeers failed, meshnet error: %s", meshpb.ServiceErrorCode_name[int32(resp.MeshnetErrorCode)])
case *meshpb.GetPeersResponse_Error:
log.Printf("GetPeers failed, error: %s", resp.Error.String())
return nil, nil, errGetPeersFailed
default:
log.Printf("GetPeers failed, unknown error")
Expand Down
Loading
Loading