Only build privkey.go on iOS

This commit is contained in:
2026-02-08 00:05:56 -05:00
parent 489d757112
commit 5025597df5
3 changed files with 6 additions and 13 deletions
+1 -1
View File
@@ -3,7 +3,7 @@ module cmutton
go 1.26rc3 go 1.26rc3
require ( 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 github.com/rwinkhart/rcw v0.2.5
) )
+2 -2
View File
@@ -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/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 h1:kMAM0fkWGPa8WK7A4a9rMX2oD2Lv198zJoD9LCUAzOA=
github.com/rwinkhart/go-boilerplate v0.2.3-0.20260208035402-e1bb0012a781/go.mod h1:QcUlr4SMgONRMKD965m8oTuCa6ZJVAc17w27Qopyr+s= 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.20260208050303-cdb5bd562142 h1:EmrGJnprEageU5YrPjfgq4wkwyfKEkgTp2IJtRkhjBE=
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/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 h1:4cGWDbv0whvLeVvbUdx84V/9p+2fS+DEXgrA1KxlRFo=
github.com/rwinkhart/peercred-mini v0.1.2/go.mod h1:LLHG7YshHEpbpJJP+Il9nx2dnGj5O3VGE32rWmflj0c= github.com/rwinkhart/peercred-mini v0.1.2/go.mod h1:LLHG7YshHEpbpJJP+Il9nx2dnGj5O3VGE32rWmflj0c=
github.com/rwinkhart/rcw v0.2.5 h1:3GJeii9sDZsZNL+HRkfHrnbgxnaB8a9kejiMIfPXnpE= github.com/rwinkhart/rcw v0.2.5 h1:3GJeii9sDZsZNL+HRkfHrnbgxnaB8a9kejiMIfPXnpE=
+3 -10
View File
@@ -1,3 +1,5 @@
//go:build ios
package main package main
// #include <stdlib.h> // #include <stdlib.h>
@@ -18,16 +20,7 @@ import (
//export SetPrivKeyDataAndEraseFreeInput //export SetPrivKeyDataAndEraseFreeInput
func SetPrivKeyDataAndEraseFreeInput(privKeyData C.PascalString) { func SetPrivKeyDataAndEraseFreeInput(privKeyData C.PascalString) {
privKeyDataPtr := unsafe.Pointer(privKeyData.data) 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)) securePtrOverwriteAndFree(privKeyDataPtr, C.size_t(privKeyData.len))
FreePascalString(privKeyData) 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()
}