diff --git a/go.mod b/go.mod index d994549..2c4bbe7 100644 --- a/go.mod +++ b/go.mod @@ -3,7 +3,7 @@ module cmutton go 1.26rc3 require ( - github.com/rwinkhart/libmutton v0.4.3-0.20260208045259-4602c295181e + github.com/rwinkhart/libmutton v0.4.3-0.20260208050303-cdb5bd562142 github.com/rwinkhart/rcw v0.2.5 ) diff --git a/go.sum b/go.sum index ce7174d..e602638 100644 --- a/go.sum +++ b/go.sum @@ -16,8 +16,8 @@ github.com/pquerna/otp v1.5.0 h1:NMMR+WrmaqXU4EzdGJEE1aUUI0AMRzsp96fFFWNPwxs= github.com/pquerna/otp v1.5.0/go.mod h1:dkJfzwRKNiegxyNb54X/3fLwhCynbMspSyWKnvi1AEg= github.com/rwinkhart/go-boilerplate v0.2.3-0.20260208035402-e1bb0012a781 h1:kMAM0fkWGPa8WK7A4a9rMX2oD2Lv198zJoD9LCUAzOA= github.com/rwinkhart/go-boilerplate v0.2.3-0.20260208035402-e1bb0012a781/go.mod h1:QcUlr4SMgONRMKD965m8oTuCa6ZJVAc17w27Qopyr+s= -github.com/rwinkhart/libmutton v0.4.3-0.20260208045259-4602c295181e h1:RFiKcMEXqHbgK4g4d1WOHMN+DmHeygIjKDHKH4Su55w= -github.com/rwinkhart/libmutton v0.4.3-0.20260208045259-4602c295181e/go.mod h1:G9EvjsHvTyOvUOs1VZ8aRKRpRRgzrrdZSCGheL/t72I= +github.com/rwinkhart/libmutton v0.4.3-0.20260208050303-cdb5bd562142 h1:EmrGJnprEageU5YrPjfgq4wkwyfKEkgTp2IJtRkhjBE= +github.com/rwinkhart/libmutton v0.4.3-0.20260208050303-cdb5bd562142/go.mod h1:G9EvjsHvTyOvUOs1VZ8aRKRpRRgzrrdZSCGheL/t72I= github.com/rwinkhart/peercred-mini v0.1.2 h1:4cGWDbv0whvLeVvbUdx84V/9p+2fS+DEXgrA1KxlRFo= github.com/rwinkhart/peercred-mini v0.1.2/go.mod h1:LLHG7YshHEpbpJJP+Il9nx2dnGj5O3VGE32rWmflj0c= github.com/rwinkhart/rcw v0.2.5 h1:3GJeii9sDZsZNL+HRkfHrnbgxnaB8a9kejiMIfPXnpE= diff --git a/privkey.go b/privkey_ios.go similarity index 67% rename from privkey.go rename to privkey_ios.go index 2e0c79b..5278ca8 100644 --- a/privkey.go +++ b/privkey_ios.go @@ -1,3 +1,5 @@ +//go:build ios + package main // #include @@ -18,16 +20,7 @@ import ( //export SetPrivKeyDataAndEraseFreeInput func SetPrivKeyDataAndEraseFreeInput(privKeyData C.PascalString) { privKeyDataPtr := unsafe.Pointer(privKeyData.data) - privkey.SetBytes(C.GoBytes(privKeyDataPtr, privKeyData.len)) + privkey.LocalBytes = C.GoBytes(privKeyDataPtr, privKeyData.len) securePtrOverwriteAndFree(privKeyDataPtr, C.size_t(privKeyData.len)) FreePascalString(privKeyData) } - -// EraseGoPrivKey is meant to be called on iOS after -// any server connections to ensure the cached SSH private key -// set by SetPrivKeyDataAndEraseFreeInput is securely erased. -// -//export EraseGoPrivKey -func EraseGoPrivKey() { - privkey.Erase() -}