[VOL-5486] Fix deprecated versions
Change-Id: If0b888d6c2f33b2f415c8b03b08dc994bb3df3f4
Signed-off-by: Abhay Kumar <abhay.kumar@radisys.com>
diff --git a/vendor/github.com/bgentry/speakeasy/speakeasy_windows.go b/vendor/github.com/bgentry/speakeasy/speakeasy_windows.go
new file mode 100644
index 0000000..c2093a8
--- /dev/null
+++ b/vendor/github.com/bgentry/speakeasy/speakeasy_windows.go
@@ -0,0 +1,41 @@
+// +build windows
+
+package speakeasy
+
+import (
+ "syscall"
+)
+
+// SetConsoleMode function can be used to change value of ENABLE_ECHO_INPUT:
+// http://msdn.microsoft.com/en-us/library/windows/desktop/ms686033(v=vs.85).aspx
+const ENABLE_ECHO_INPUT = 0x0004
+
+func getPassword() (password string, err error) {
+ var oldMode uint32
+
+ err = syscall.GetConsoleMode(syscall.Stdin, &oldMode)
+ if err != nil {
+ return
+ }
+
+ var newMode uint32 = (oldMode &^ ENABLE_ECHO_INPUT)
+
+ err = setConsoleMode(syscall.Stdin, newMode)
+ defer setConsoleMode(syscall.Stdin, oldMode)
+ if err != nil {
+ return
+ }
+
+ return readline()
+}
+
+func setConsoleMode(console syscall.Handle, mode uint32) (err error) {
+ dll := syscall.MustLoadDLL("kernel32")
+ proc := dll.MustFindProc("SetConsoleMode")
+ r, _, err := proc.Call(uintptr(console), uintptr(mode))
+
+ if r == 0 {
+ return err
+ }
+ return nil
+}