Merge pull request #80 from gravitl/bugfix_v0.2_portconflicts

Bugfix v0.2 portconflicts
This commit is contained in:
Alex 2021-04-07 09:42:36 -04:00 committed by GitHub
commit 85c13f9e13
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
7 changed files with 139 additions and 77 deletions

View file

@ -105,6 +105,7 @@ func (s *NodeServiceServer) Login(ctx context.Context, req *nodepb.LoginRequest)
//out := new(LoginResponse)
macaddress := req.GetMacaddress()
network := req.GetNetwork()
password := req.GetPassword()
var result models.NodeAuth
@ -123,7 +124,7 @@ func (s *NodeServiceServer) Login(ctx context.Context, req *nodepb.LoginRequest)
//Search DB for node with Mac Address. Ignore pending nodes (they should not be able to authenticate with API untill approved).
collection := mongoconn.Client.Database("netmaker").Collection("nodes")
ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second)
var err = collection.FindOne(ctx, bson.M{ "macaddress": macaddress}).Decode(&result)
var err = collection.FindOne(ctx, bson.M{ "macaddress": macaddress, "group": network}).Decode(&result)
defer cancel()
@ -135,12 +136,15 @@ func (s *NodeServiceServer) Login(ctx context.Context, req *nodepb.LoginRequest)
//might be able to have a common hash (certificates?) and compare those so that a password isn't passed in in plain text...
//TODO: Consider a way of hashing the password client side before sending, or using certificates
err = bcrypt.CompareHashAndPassword([]byte(result.Password), []byte(password))
if err != nil && result.Password != password {
if err != nil && result.Password != password {
return nil, err
} else {
//Create a new JWT for the node
tokenString, _ := functions.CreateJWT(macaddress, result.Group)
tokenString, err := functions.CreateJWT(macaddress, result.Group)
if err != nil {
return nil, err
}
if tokenString == "" {
err = errors.New("Something went wrong. Could not retrieve token.")
return nil, err

View file

@ -23,6 +23,7 @@ const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
type LoginRequest struct {
Macaddress string `protobuf:"bytes,1,opt,name=macaddress,proto3" json:"macaddress,omitempty"`
Password string `protobuf:"bytes,2,opt,name=password,proto3" json:"password,omitempty"`
Network string `protobuf:"bytes,3,opt,name=network,proto3" json:"network,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
@ -67,6 +68,13 @@ func (m *LoginRequest) GetPassword() string {
return ""
}
func (m *LoginRequest) GetNetwork() string {
if m != nil {
return m.Network
}
return ""
}
type LoginResponse struct {
Accesstoken string `protobuf:"bytes,1,opt,name=accesstoken,proto3" json:"accesstoken,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
@ -986,58 +994,59 @@ func init() {
func init() { proto.RegisterFile("grpc/node.proto", fileDescriptor_d13bd996b67da4ef) }
var fileDescriptor_d13bd996b67da4ef = []byte{
// 839 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x56, 0xdd, 0x6e, 0xe3, 0x44,
0x14, 0x56, 0xb2, 0x49, 0xe3, 0x9c, 0x34, 0x6d, 0x77, 0xda, 0x45, 0x23, 0x6b, 0xb5, 0x8a, 0x2c,
0x84, 0xb2, 0x88, 0x26, 0xa5, 0x48, 0x88, 0x3b, 0x24, 0x8a, 0x84, 0x40, 0xb0, 0x42, 0x46, 0xdc,
0x70, 0x37, 0xb1, 0x4f, 0xbc, 0x56, 0x9c, 0x99, 0x89, 0xc7, 0xce, 0xaa, 0x0f, 0xc0, 0xa3, 0xf1,
0x46, 0x5c, 0x72, 0x81, 0xe6, 0xc7, 0xf1, 0x4f, 0x43, 0xb7, 0xf4, 0x2e, 0xe7, 0x9b, 0xf3, 0x7f,
0xbe, 0x73, 0x62, 0x38, 0x4f, 0x72, 0x19, 0x2d, 0xb9, 0x88, 0x71, 0x21, 0x73, 0x51, 0x08, 0x32,
0xd0, 0xbf, 0x83, 0x9f, 0xe0, 0xf4, 0x67, 0x91, 0xa4, 0x3c, 0xc4, 0x5d, 0x89, 0xaa, 0x20, 0x6f,
0x00, 0xb6, 0x2c, 0x62, 0x71, 0x9c, 0xa3, 0x52, 0xb4, 0x37, 0xeb, 0xcd, 0xc7, 0x61, 0x03, 0x21,
0x3e, 0x78, 0x92, 0x29, 0xf5, 0x41, 0xe4, 0x31, 0xed, 0x9b, 0xd7, 0x83, 0x1c, 0x7c, 0x09, 0x53,
0xe7, 0x4b, 0x49, 0xc1, 0x15, 0x92, 0x19, 0x4c, 0x58, 0x14, 0xa1, 0x52, 0x85, 0xd8, 0x20, 0x77,
0xde, 0x9a, 0x50, 0xf0, 0xf7, 0x00, 0x06, 0xef, 0x44, 0x8c, 0xe4, 0x0c, 0xfa, 0x69, 0xec, 0x34,
0xfa, 0x69, 0x4c, 0x08, 0x0c, 0x38, 0xdb, 0xa2, 0x8b, 0x61, 0x7e, 0x13, 0x0a, 0xa3, 0x2a, 0xb1,
0x17, 0x06, 0xae, 0x44, 0x9d, 0x75, 0x96, 0xaa, 0x02, 0xb9, 0x14, 0x79, 0x41, 0x07, 0xb3, 0xde,
0x7c, 0x18, 0x36, 0x10, 0xf2, 0x1a, 0xc6, 0xb2, 0x5c, 0x65, 0x69, 0xb4, 0xc1, 0x7b, 0x3a, 0x34,
0xb6, 0x35, 0xa0, 0x6b, 0x42, 0x1e, 0x4b, 0x91, 0xf2, 0x82, 0x9e, 0xd8, 0x9a, 0x2a, 0xb9, 0xd3,
0x8f, 0xd1, 0xa3, 0xfd, 0xf0, 0xda, 0xfd, 0xd0, 0x51, 0x75, 0x8f, 0x93, 0x5c, 0x94, 0x92, 0x8e,
0x6d, 0xd4, 0x03, 0xa0, 0x5f, 0x53, 0x25, 0x91, 0xc7, 0x29, 0x4f, 0x28, 0xcc, 0x7a, 0x73, 0x2f,
0xac, 0x01, 0xf2, 0x09, 0x9c, 0x48, 0xa1, 0x8a, 0x52, 0xd2, 0x89, 0x31, 0x74, 0x12, 0xb9, 0x82,
0xa1, 0xcc, 0xb1, 0x94, 0xf4, 0xd4, 0xc0, 0x56, 0xd0, 0xbe, 0x36, 0x88, 0x92, 0x65, 0xe9, 0x1e,
0xe9, 0xd4, 0x94, 0x5f, 0x03, 0xba, 0x06, 0xc5, 0xf6, 0x18, 0x09, 0xbe, 0x4e, 0x13, 0x7a, 0x66,
0x42, 0x35, 0x10, 0x6d, 0x6d, 0x67, 0xa2, 0xbb, 0x73, 0x6e, 0xf3, 0x3c, 0x00, 0x26, 0x4f, 0x5e,
0x60, 0xbe, 0x66, 0x11, 0xd2, 0x0b, 0xfb, 0x7a, 0x00, 0xf4, 0x88, 0x33, 0xa6, 0x8a, 0xe8, 0x3d,
0x46, 0x9b, 0x94, 0xd3, 0x97, 0x76, 0xc4, 0x0d, 0x88, 0x04, 0x70, 0xaa, 0xc5, 0xad, 0x88, 0xd3,
0x75, 0x8a, 0x31, 0x25, 0x46, 0xa5, 0x85, 0x91, 0x39, 0x9c, 0x3b, 0x75, 0xe3, 0x79, 0xcf, 0x32,
0x7a, 0x69, 0xaa, 0xe8, 0xc2, 0xc6, 0x9b, 0x88, 0x58, 0x56, 0x4d, 0xe4, 0xca, 0x79, 0x6b, 0x60,
0x3a, 0x27, 0xdd, 0xad, 0xe8, 0x3d, 0xe3, 0x09, 0x2a, 0xfa, 0xca, 0xe6, 0xd4, 0x80, 0x82, 0x3f,
0xfb, 0x70, 0x7e, 0xa7, 0x3d, 0xff, 0x58, 0x93, 0x95, 0xc2, 0x48, 0x95, 0xa6, 0x6a, 0x43, 0x43,
0x2f, 0xac, 0x44, 0xf2, 0x19, 0x9c, 0x71, 0xc4, 0x58, 0x22, 0xe6, 0xa5, 0x8c, 0x59, 0x61, 0x59,
0xe9, 0x85, 0x1d, 0x94, 0x7c, 0x0e, 0x17, 0x1a, 0xb1, 0x5d, 0x75, 0x9a, 0x2f, 0x8c, 0xe6, 0x03,
0x5c, 0xe7, 0xa8, 0xa9, 0xb0, 0x45, 0xa5, 0x58, 0x82, 0x86, 0xb2, 0xe3, 0xb0, 0x09, 0xb5, 0xf9,
0x31, 0xec, 0xf2, 0xe3, 0x53, 0x98, 0x6a, 0x9f, 0x1b, 0xbc, 0x77, 0x81, 0x4e, 0x8c, 0x46, 0x1b,
0xd4, 0x93, 0xd7, 0x40, 0x8c, 0x19, 0x16, 0x68, 0xd8, 0xeb, 0x85, 0x0d, 0x24, 0xf8, 0xab, 0x07,
0xd3, 0x5f, 0x11, 0x73, 0x75, 0xe8, 0xc2, 0xf3, 0x37, 0xe5, 0xf9, 0xdb, 0xd9, 0x9d, 0xe9, 0xe8,
0xc8, 0x4c, 0x1f, 0x65, 0x78, 0xb0, 0x84, 0xe9, 0x5d, 0x8e, 0xac, 0x40, 0x7d, 0x4b, 0x42, 0xdc,
0x91, 0x37, 0x60, 0xce, 0x9b, 0x99, 0xe4, 0xe4, 0x16, 0x16, 0xe6, 0xee, 0x99, 0x47, 0x7b, 0xf6,
0x3a, 0x06, 0xea, 0x29, 0x06, 0xbf, 0x9b, 0x9e, 0xfe, 0x8f, 0x08, 0x4d, 0x83, 0x8f, 0x47, 0xb8,
0x83, 0x49, 0x88, 0x2c, 0xae, 0xfd, 0x3f, 0x7e, 0x88, 0xaf, 0x60, 0x68, 0x0f, 0x8b, 0xbd, 0x90,
0x56, 0x08, 0xae, 0x9b, 0x4e, 0x3e, 0x1e, 0xf3, 0x17, 0x98, 0x7e, 0x6f, 0x98, 0xf0, 0xd4, 0xa8,
0xaf, 0x61, 0x6c, 0x02, 0xbd, 0xab, 0x6f, 0x73, 0x0d, 0x04, 0x6f, 0xdb, 0xee, 0xd4, 0x7f, 0xef,
0x94, 0xae, 0xf6, 0x07, 0x2c, 0x1c, 0xf7, 0x9e, 0x5b, 0xed, 0x37, 0x4d, 0x27, 0x8a, 0xbc, 0x85,
0xa1, 0xde, 0x46, 0xe5, 0xca, 0xbd, 0xb4, 0xe5, 0xb6, 0xf8, 0x1d, 0x5a, 0x8d, 0xe0, 0x0b, 0x80,
0xc3, 0xfe, 0xef, 0x9e, 0xd0, 0xa6, 0x5a, 0x5b, 0x91, 0x6f, 0x0f, 0xc7, 0x2a, 0x77, 0x5e, 0x9d,
0xe1, 0x2b, 0x6b, 0xd8, 0x39, 0x2c, 0x61, 0x57, 0xfb, 0xf6, 0x9f, 0x3e, 0x4c, 0xb4, 0xf7, 0xdf,
0x30, 0xdf, 0xa7, 0x11, 0x92, 0x1b, 0x18, 0x9a, 0xff, 0x4d, 0x42, 0xac, 0x83, 0xe6, 0x1f, 0xb2,
0x7f, 0xd9, 0xc2, 0xdc, 0x96, 0x7e, 0x0d, 0x50, 0xd3, 0x97, 0x38, 0x95, 0xd6, 0x06, 0xf8, 0x47,
0x40, 0x45, 0x6e, 0xc0, 0xab, 0xe8, 0x41, 0x5e, 0x5a, 0x85, 0x06, 0xe7, 0xfc, 0x07, 0x90, 0xd2,
0x91, 0x6a, 0x1a, 0x57, 0x91, 0x5a, 0x9b, 0xe0, 0x1f, 0x01, 0x8d, 0x5d, 0x4d, 0x85, 0xca, 0xae,
0xc5, 0x35, 0xff, 0x08, 0xa8, 0xc8, 0x2d, 0x78, 0xd5, 0x48, 0xab, 0x0c, 0x1b, 0x3c, 0xf1, 0x1f,
0x40, 0xea, 0xa6, 0x47, 0xae, 0x61, 0xe4, 0x7a, 0x4e, 0x2e, 0x3a, 0x23, 0xd8, 0xf9, 0x5d, 0x44,
0x7d, 0xb7, 0xfc, 0xe3, 0x3a, 0x11, 0x22, 0xc9, 0x70, 0x91, 0x88, 0x8c, 0xf1, 0x64, 0x21, 0xf2,
0x64, 0x69, 0xbe, 0x89, 0x56, 0xe5, 0x7a, 0x59, 0xdc, 0x4b, 0x54, 0xcb, 0x0d, 0x17, 0x1f, 0xb8,
0xf9, 0x5a, 0x92, 0xab, 0xd5, 0x89, 0x79, 0xfc, 0xea, 0xdf, 0x00, 0x00, 0x00, 0xff, 0xff, 0x8b,
0xd7, 0x8e, 0x6d, 0x43, 0x09, 0x00, 0x00,
// 850 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x56, 0xdd, 0x6a, 0xe3, 0x46,
0x14, 0xc6, 0x5e, 0x3b, 0x96, 0x8f, 0xe3, 0x24, 0x3b, 0xc9, 0x96, 0x41, 0x84, 0x10, 0x44, 0x29,
0xd9, 0xd2, 0xc4, 0x69, 0x0a, 0xa5, 0x77, 0x85, 0xa6, 0x50, 0x0a, 0xed, 0x52, 0x54, 0x7a, 0xd3,
0xbb, 0x89, 0xe6, 0x44, 0x2b, 0xac, 0xcc, 0x8c, 0x35, 0x92, 0x43, 0x1e, 0xa0, 0x8f, 0xd6, 0x37,
0xea, 0x65, 0x2f, 0xca, 0xfc, 0xc8, 0xfa, 0x89, 0x9b, 0x64, 0x73, 0xe7, 0xf3, 0xcd, 0xf9, 0x3f,
0xdf, 0x39, 0x16, 0xec, 0xa7, 0x85, 0x4a, 0x16, 0x42, 0x72, 0xbc, 0x50, 0x85, 0x2c, 0x25, 0x19,
0x99, 0xdf, 0x11, 0x87, 0xdd, 0x5f, 0x64, 0x9a, 0x89, 0x18, 0x57, 0x15, 0xea, 0x92, 0x9c, 0x00,
0xdc, 0xb1, 0x84, 0x71, 0x5e, 0xa0, 0xd6, 0x74, 0x70, 0x3a, 0x38, 0x9b, 0xc6, 0x2d, 0x84, 0x84,
0x10, 0x28, 0xa6, 0xf5, 0xbd, 0x2c, 0x38, 0x1d, 0xda, 0xd7, 0x8d, 0x4c, 0x28, 0x4c, 0x04, 0x96,
0xf7, 0xb2, 0x58, 0xd2, 0x37, 0xf6, 0xa9, 0x16, 0xa3, 0xaf, 0x61, 0xee, 0xa3, 0x68, 0x25, 0x85,
0x46, 0x72, 0x0a, 0x33, 0x96, 0x24, 0xa8, 0x75, 0x29, 0x97, 0x28, 0x7c, 0x9c, 0x36, 0x14, 0xfd,
0x33, 0x82, 0xd1, 0x07, 0xc9, 0x91, 0xec, 0xc1, 0x30, 0xe3, 0x5e, 0x63, 0x98, 0x71, 0x42, 0x60,
0x24, 0xd8, 0x1d, 0xfa, 0xe8, 0xf6, 0xb7, 0x89, 0x5c, 0xa7, 0xec, 0x23, 0xd7, 0xf9, 0x9e, 0x00,
0xe4, 0x99, 0x2e, 0x51, 0x28, 0x59, 0x94, 0x74, 0x74, 0x3a, 0x38, 0x1b, 0xc7, 0x2d, 0x84, 0x1c,
0xc3, 0x54, 0x55, 0x37, 0x79, 0x96, 0x2c, 0xf1, 0x81, 0x8e, 0xad, 0x6d, 0x03, 0x98, 0x6a, 0x51,
0x70, 0x25, 0x33, 0x51, 0xd2, 0x1d, 0x57, 0x6d, 0x2d, 0xf7, 0x3a, 0x35, 0x79, 0xb2, 0x53, 0x41,
0xaf, 0x53, 0xc7, 0x30, 0x35, 0xdd, 0x4f, 0x0b, 0x59, 0x29, 0x3a, 0x75, 0x51, 0x37, 0x80, 0x79,
0xcd, 0xb4, 0x42, 0xc1, 0x33, 0x91, 0x52, 0x38, 0x1d, 0x9c, 0x05, 0x71, 0x03, 0x90, 0xcf, 0x60,
0x47, 0x49, 0x5d, 0x56, 0x8a, 0xce, 0xac, 0xa1, 0x97, 0xc8, 0x11, 0x8c, 0x55, 0x81, 0x95, 0xa2,
0xbb, 0x16, 0x76, 0x82, 0xf1, 0xb5, 0x44, 0x54, 0x2c, 0xcf, 0xd6, 0x48, 0xe7, 0xb6, 0xfc, 0x06,
0x30, 0x35, 0x68, 0xb6, 0xc6, 0x44, 0x8a, 0xdb, 0x2c, 0xa5, 0x7b, 0x36, 0x54, 0x0b, 0x31, 0xd6,
0x6e, 0x26, 0xa6, 0x3b, 0xfb, 0x2e, 0xcf, 0x0d, 0x60, 0xf3, 0x14, 0x25, 0x16, 0xb7, 0x2c, 0x41,
0x7a, 0xe0, 0x5e, 0x37, 0x80, 0x19, 0x71, 0xce, 0x74, 0x99, 0x7c, 0xc4, 0x64, 0x99, 0x09, 0xfa,
0xd6, 0x8d, 0xb8, 0x05, 0x91, 0x08, 0x76, 0x8d, 0x78, 0x27, 0x79, 0x76, 0x9b, 0x21, 0xa7, 0xc4,
0xaa, 0x74, 0x30, 0x72, 0x06, 0xfb, 0x5e, 0xdd, 0x7a, 0x5e, 0xb3, 0x9c, 0x1e, 0xda, 0x2a, 0xfa,
0xb0, 0xf5, 0x26, 0x13, 0x96, 0xd7, 0x13, 0x39, 0xf2, 0xde, 0x5a, 0x98, 0xc9, 0xc9, 0x74, 0x2b,
0xf9, 0xc8, 0x44, 0x8a, 0x9a, 0xbe, 0x73, 0x39, 0xb5, 0xa0, 0xe8, 0xaf, 0x21, 0xec, 0x5f, 0x1b,
0xcf, 0x3f, 0x37, 0x64, 0xa5, 0x30, 0xd1, 0x95, 0xad, 0xda, 0xd2, 0x30, 0x88, 0x6b, 0x91, 0x7c,
0x01, 0x7b, 0x02, 0x91, 0x2b, 0xc4, 0xa2, 0x52, 0x9c, 0x95, 0x8e, 0x95, 0x41, 0xdc, 0x43, 0xc9,
0x97, 0x70, 0x60, 0x10, 0xd7, 0x55, 0xaf, 0xf9, 0xc6, 0x6a, 0x3e, 0xc2, 0x4d, 0x8e, 0x86, 0x0a,
0x77, 0xa8, 0x35, 0x4b, 0xd1, 0x52, 0x76, 0x1a, 0xb7, 0xa1, 0x2e, 0x3f, 0xc6, 0x7d, 0x7e, 0x7c,
0x0e, 0x73, 0xe3, 0x73, 0x89, 0x0f, 0x3e, 0xd0, 0x8e, 0xd5, 0xe8, 0x82, 0x66, 0xf2, 0x06, 0xe0,
0x98, 0x63, 0x89, 0x96, 0xbd, 0x41, 0xdc, 0x42, 0xa2, 0xbf, 0x07, 0x30, 0xff, 0x0d, 0xb1, 0xd0,
0x9b, 0x2e, 0xbc, 0x7e, 0x53, 0x5e, 0xbf, 0x9d, 0xfd, 0x99, 0x4e, 0xb6, 0xcc, 0xf4, 0x49, 0x86,
0x47, 0x0b, 0x98, 0x5f, 0x17, 0xc8, 0x4a, 0x34, 0xb7, 0x24, 0xc6, 0x15, 0x39, 0x01, 0x7b, 0xf8,
0xec, 0x24, 0x67, 0x57, 0x70, 0x61, 0x2f, 0xa2, 0x7d, 0x74, 0x07, 0xb1, 0x67, 0xa0, 0x5f, 0x62,
0xf0, 0x87, 0xed, 0xe9, 0x27, 0x44, 0x68, 0x1b, 0x3c, 0x1f, 0xe1, 0x1a, 0x66, 0x31, 0x32, 0xde,
0xf8, 0x7f, 0xfa, 0x44, 0x1f, 0xc1, 0xd8, 0x1d, 0x16, 0x77, 0x21, 0x9d, 0x10, 0x9d, 0xb7, 0x9d,
0x3c, 0x1f, 0xf3, 0x57, 0x98, 0xff, 0x68, 0x99, 0xf0, 0xd2, 0xa8, 0xc7, 0x30, 0xb5, 0x81, 0x3e,
0x34, 0xb7, 0xb9, 0x01, 0xa2, 0xf7, 0x5d, 0x77, 0xfa, 0xff, 0x77, 0xca, 0x54, 0xfb, 0x13, 0x96,
0x9e, 0x7b, 0xaf, 0xad, 0xf6, 0xbb, 0xb6, 0x13, 0x4d, 0xde, 0xc3, 0xd8, 0x6c, 0xa3, 0xf6, 0xe5,
0x1e, 0xba, 0x72, 0x3b, 0xfc, 0x8e, 0x9d, 0x46, 0xf4, 0x15, 0xc0, 0x66, 0xff, 0x57, 0x2f, 0x68,
0x53, 0xa3, 0xad, 0xc9, 0xf7, 0x9b, 0x63, 0x55, 0x78, 0xaf, 0xde, 0xf0, 0x9d, 0x33, 0xec, 0x1d,
0x96, 0xb8, 0xaf, 0x7d, 0xf5, 0xef, 0x10, 0x66, 0xc6, 0xfb, 0xef, 0x58, 0xac, 0xb3, 0x04, 0xc9,
0x25, 0x8c, 0xed, 0xff, 0x26, 0x21, 0xce, 0x41, 0xfb, 0xaf, 0x3a, 0x3c, 0xec, 0x60, 0x7e, 0x4b,
0xbf, 0x05, 0x68, 0xe8, 0x4b, 0xbc, 0x4a, 0x67, 0x03, 0xc2, 0x2d, 0xa0, 0x26, 0x97, 0x10, 0xd4,
0xf4, 0x20, 0x6f, 0x9d, 0x42, 0x8b, 0x73, 0xe1, 0x23, 0x48, 0x9b, 0x48, 0x0d, 0x8d, 0xeb, 0x48,
0x9d, 0x4d, 0x08, 0xb7, 0x80, 0xd6, 0xae, 0xa1, 0x42, 0x6d, 0xd7, 0xe1, 0x5a, 0xb8, 0x05, 0xd4,
0xe4, 0x0a, 0x82, 0x7a, 0xa4, 0x75, 0x86, 0x2d, 0x9e, 0x84, 0x8f, 0x20, 0x7d, 0x39, 0x20, 0xe7,
0x30, 0xf1, 0x3d, 0x27, 0x07, 0xbd, 0x11, 0xac, 0xc2, 0x3e, 0xa2, 0x7f, 0x58, 0xfc, 0x79, 0x9e,
0x4a, 0x99, 0xe6, 0x78, 0x91, 0xca, 0x9c, 0x89, 0xf4, 0x42, 0x16, 0xe9, 0xc2, 0x7e, 0x2d, 0xdd,
0x54, 0xb7, 0x8b, 0xf2, 0x41, 0xa1, 0x5e, 0x2c, 0x85, 0xbc, 0x17, 0xf6, 0x3b, 0x4a, 0xdd, 0xdc,
0xec, 0xd8, 0xc7, 0x6f, 0xfe, 0x0b, 0x00, 0x00, 0xff, 0xff, 0x28, 0x40, 0xb5, 0xd0, 0x5d, 0x09,
0x00, 0x00,
}

View file

@ -15,6 +15,7 @@ service NodeService {
message LoginRequest {
string macaddress = 1;
string password = 2;
string network = 3;
}
message LoginResponse { string accesstoken = 1; }

View file

@ -17,14 +17,14 @@ import (
func SetJWT(client nodepb.NodeServiceClient, network string) (context.Context, error) {
//home, err := os.UserHomeDir()
home := "/etc/netclient"
tokentext, err := ioutil.ReadFile(home + "/nettoken")
tokentext, err := ioutil.ReadFile(home + "/nettoken-"+network)
if err != nil {
fmt.Println("Error reading token. Logging in to retrieve new token.")
err = AutoLogin(client, network)
if err != nil {
return nil, status.Errorf(codes.Unauthenticated, fmt.Sprintf("Something went wrong with Auto Login: %v", err))
}
tokentext, err = ioutil.ReadFile(home + "/nettoken")
tokentext, err = ioutil.ReadFile(home + "/nettoken-"+network)
if err != nil {
return nil, status.Errorf(codes.Unauthenticated, fmt.Sprintf("Something went wrong: %v", err))
}
@ -42,13 +42,14 @@ func AutoLogin(client nodepb.NodeServiceClient, network string) error {
//home, err := os.UserHomeDir()
home := "/etc/netclient"
//nodecfg := config.Config.Node
config, err := config.ReadConfig(network)
cfg, err := config.ReadConfig(network)
if err != nil {
return err
}
login := &nodepb.LoginRequest{
Password: config.Node.Password,
Macaddress: config.Node.MacAddress,
Password: cfg.Node.Password,
Macaddress: cfg.Node.MacAddress,
Network: network,
}
// RPC call
res, err := client.Login(context.TODO(), login)
@ -56,7 +57,7 @@ func AutoLogin(client nodepb.NodeServiceClient, network string) error {
return err
}
tokenstring := []byte(res.Accesstoken)
err = ioutil.WriteFile(home + "/nettoken", tokenstring, 0644)
err = ioutil.WriteFile(home + "/nettoken-"+network, tokenstring, 0644)
if err != nil {
return err
}

View file

@ -29,8 +29,51 @@ var (
wcclient nodepb.NodeServiceClient
)
func Install(accesskey string, password string, server string, group string, noauto bool, accesstoken string, inputname string) error {
func ListPorts() error{
wgclient, err := wgctrl.New()
if err != nil {
return err
}
devices, err := wgclient.Devices()
if err != nil {
return err
}
fmt.Println("Here are your ports:")
for _, i := range devices {
fmt.Println(i.ListenPort)
}
return err
}
func GetFreePort(rangestart int32) (int32, error){
wgclient, err := wgctrl.New()
if err != nil {
return 0, err
}
devices, err := wgclient.Devices()
if err != nil {
return 0, err
}
var portno int32
portno = 0
for x := rangestart; x <= 60000; x++ {
conflict := false
for _, i := range devices {
if int32(i.ListenPort) == x {
conflict = true
break;
}
}
if conflict {
continue
}
portno = x
break
}
return portno, err
}
func Install(accesskey string, password string, server string, group string, noauto bool, accesstoken string, inputname string) error {
tserver := ""
tnetwork := ""
@ -209,7 +252,14 @@ func Install(accesskey string, password string, server string, group string, noa
if nodecfg.Port != 0 {
listenport = nodecfg.Port
}
fmt.Println(" Port: " + string(listenport))
if listenport == 0 {
listenport, err = GetFreePort(51821)
if err != nil {
fmt.Printf("Error retrieving port: %v", err)
}
}
fmt.Printf(" Port: %v", listenport)
fmt.Println("")
if nodecfg.PrivateKey != "" {
privkeystring = nodecfg.PrivateKey
@ -945,7 +995,7 @@ func CheckIn(network string) error {
_, err := net.InterfaceByName(iface)
if err != nil {
fmt.Println("interface " + iface + " does not currently exist. Setting up WireGuard.")
err = setWGConfig(network)
err = setWGKeyConfig(network, servercfg.Address)
if err != nil {
return err
log.Fatalf("Error: %v", err)
@ -1079,7 +1129,7 @@ func WipeLocal(network string) error{
if err != nil {
fmt.Println(err)
}
err = os.Remove(home + "/nettoken")
err = os.Remove(home + "/nettoken-"+network)
if err != nil {
fmt.Println(err)
}

View file

@ -72,6 +72,13 @@ func main() {
}
switch *command {
case "getport":
portno, err := functions.GetFreePort(51821)
fmt.Printf("Port Number: %v", portno)
fmt.Println("")
if err != nil {
log.Fatal(err)
}
case "required":
fmt.Println("command flag 'c' is required. Pick one of |install|checkin|update|remove|")
os.Exit(1)

View file

@ -1,10 +0,0 @@
#!/bin/bash
sudo ip link del wc-skynet
curl -X DELETE -H "Authorization: Bearer secretkey" -H 'Content-Type: application/json' localhost:8081/api/skynet/nodes/8c:89:a5:03:f0:d7 | jq
sudo cp /root/.netconfig.bkup /root/.netconfig
sudo rm /root/.nettoken
sudo go run ./main.go remove
sudo wg show