From 65558011b5d957a9af03f4e18306bf0625c28804 Mon Sep 17 00:00:00 2001 From: Lesterpig <git@lesterpig.com> Date: Fri, 27 May 2016 17:08:14 +0200 Subject: [PATCH] [c] Fix unregister command --- dfssc/cmd/unregister.go | 5 +++-- dfssc/user/unregister.go | 30 +++++++++++++++++------------- 2 files changed, 20 insertions(+), 15 deletions(-) diff --git a/dfssc/cmd/unregister.go b/dfssc/cmd/unregister.go index 32a05cc..97e9054 100644 --- a/dfssc/cmd/unregister.go +++ b/dfssc/cmd/unregister.go @@ -22,14 +22,15 @@ var unregisterCmd = &cobra.Command{ } // Confirmation - var ready string + var passphrase, ready string + _ = readPassword(&passphrase, false) readStringParam("Do you REALLY want to delete "+cert.Subject.CommonName+"? Type 'yes' to confirm", "", &ready) if ready != "yes" { fmt.Fprintln(os.Stderr, "Unregistering aborted!") os.Exit(1) } - err = user.Unregister() + err = user.Unregister(passphrase) if err != nil { fmt.Fprintln(os.Stderr, "Cannot unregister:", err.Error()) os.Exit(2) diff --git a/dfssc/user/unregister.go b/dfssc/user/unregister.go index 428922e..a218b1d 100644 --- a/dfssc/user/unregister.go +++ b/dfssc/user/unregister.go @@ -1,31 +1,35 @@ package user import ( - "errors" - - pb "dfss/dfssp/api" + "dfss/dfssc/common" + "dfss/dfssc/security" + "dfss/dfssp/api" "dfss/net" + "github.com/spf13/viper" "golang.org/x/net/context" - "google.golang.org/grpc" ) // Unregister a user from the platform -func Unregister() error { - client, err := connect() +func Unregister(passphrase string) error { + auth := security.NewAuthContainer(passphrase) + ca, cert, key, err := auth.LoadFiles() + if err != nil { + return err + } + + conn, err := net.Connect(viper.GetString("platform_addrport"), cert, key, ca, nil) if err != nil { return err } - // Stop the context if it takes too long for the platform to answer + client := api.NewPlatformClient(conn) ctx, cancel := context.WithTimeout(context.Background(), net.DefaultTimeout) defer cancel() - response, err := client.Unregister(ctx, &pb.Empty{}) + response, err := client.Unregister(ctx, &api.Empty{}) + if err != nil { - return errors.New(grpc.ErrorDesc(err)) - } - if response.Code != pb.ErrorCode_SUCCESS { - return errors.New(response.Message) + return err } - return nil + return common.EvaluateErrorCodeResponse(response) } -- GitLab