Browse Source

rm register endpoint

Abhishek Kondur 2 years ago
parent
commit
a04549eebe
1 changed files with 0 additions and 83 deletions
  1. 0 83
      controllers/server.go

+ 0 - 83
controllers/server.go

@@ -1,22 +1,14 @@
 package controller
 
 import (
-	"crypto/ed25519"
-	"crypto/x509"
-	"crypto/x509/pkix"
 	"encoding/json"
-	"fmt"
 	"net/http"
 	"strings"
 
 	"github.com/gorilla/mux"
-	"github.com/gravitl/netmaker/logger"
 	"github.com/gravitl/netmaker/logic"
 	"github.com/gravitl/netmaker/models"
-	"github.com/gravitl/netmaker/netclient/config"
 	"github.com/gravitl/netmaker/servercfg"
-	"github.com/gravitl/netmaker/serverctl"
-	"github.com/gravitl/netmaker/tls"
 )
 
 func serverHandlers(r *mux.Router) {
@@ -26,7 +18,6 @@ func serverHandlers(r *mux.Router) {
 		resp.Write([]byte("Server is up and running!!"))
 	}))
 	r.HandleFunc("/api/server/getconfig", allowUsers(http.HandlerFunc(getConfig))).Methods("GET")
-	r.HandleFunc("/api/server/register", authorize(true, false, "node", http.HandlerFunc(register))).Methods("POST")
 	r.HandleFunc("/api/server/getserverinfo", authorize(true, false, "node", http.HandlerFunc(getServerInfo))).Methods("GET")
 }
 
@@ -100,77 +91,3 @@ func getConfig(w http.ResponseWriter, r *http.Request) {
 	json.NewEncoder(w).Encode(scfg)
 	//w.WriteHeader(http.StatusOK)
 }
-
-// swagger:route POST /api/server/register server register
-//
-// Registers a client with the server and return the Certificate Authority and certificate.
-//
-//			Schemes: https
-//
-//			Security:
-//	  		oauth
-//
-//			Responses:
-//				200: registerResponse
-func register(w http.ResponseWriter, r *http.Request) {
-	logger.Log(2, "processing registration request")
-	w.Header().Set("Content-Type", "application/json")
-	//decode body
-	var request config.RegisterRequest
-	if err := json.NewDecoder(r.Body).Decode(&request); err != nil {
-		logger.Log(0, "error decoding request", err.Error())
-		errorResponse := models.ErrorResponse{
-			Code: http.StatusBadRequest, Message: err.Error(),
-		}
-		logic.ReturnErrorResponse(w, r, errorResponse)
-		return
-	}
-	cert, ca, err := genCerts(&request.Key, &request.CommonName)
-	if err != nil {
-		logger.Log(0, "failed to generater certs ", err.Error())
-		errorResponse := models.ErrorResponse{
-			Code: http.StatusNotFound, Message: err.Error(),
-		}
-		logic.ReturnErrorResponse(w, r, errorResponse)
-		return
-	}
-	//x509.Certificate.PublicKey is an interface therefore json encoding/decoding result in a string value rather than a []byte
-	//include the actual public key so the certificate can be properly reassembled on the other end.
-	response := config.RegisterResponse{
-		CA:         *ca,
-		CAPubKey:   (ca.PublicKey).(ed25519.PublicKey),
-		Cert:       *cert,
-		CertPubKey: (cert.PublicKey).(ed25519.PublicKey),
-		Broker:     servercfg.GetServer(),
-		Port:       servercfg.GetMQPort(),
-	}
-	logger.Log(2, r.Header.Get("user"),
-		fmt.Sprintf("registered client [%+v] with server", request))
-	w.WriteHeader(http.StatusOK)
-	json.NewEncoder(w).Encode(response)
-}
-
-// genCerts generates a client certificate and returns the certificate and root CA
-func genCerts(clientKey *ed25519.PrivateKey, name *pkix.Name) (*x509.Certificate, *x509.Certificate, error) {
-	ca, err := serverctl.ReadCertFromDB(tls.ROOT_PEM_NAME)
-	if err != nil {
-		logger.Log(2, "root ca not found ", err.Error())
-		return nil, nil, fmt.Errorf("root ca not found %w", err)
-	}
-	key, err := serverctl.ReadKeyFromDB(tls.ROOT_KEY_NAME)
-	if err != nil {
-		logger.Log(2, "root key not found ", err.Error())
-		return nil, nil, fmt.Errorf("root key not found %w", err)
-	}
-	csr, err := tls.NewCSR(*clientKey, *name)
-	if err != nil {
-		logger.Log(2, "failed to generate client certificate requests", err.Error())
-		return nil, nil, fmt.Errorf("client certification request generation failed %w", err)
-	}
-	cert, err := tls.NewEndEntityCert(*key, csr, ca, tls.CERTIFICATE_VALIDITY)
-	if err != nil {
-		logger.Log(2, "unable to generate client certificate", err.Error())
-		return nil, nil, fmt.Errorf("client certification generation failed %w", err)
-	}
-	return cert, ca, nil
-}