diff --git a/go.mod b/go.mod index 11ca3b8..33bd21c 100644 --- a/go.mod +++ b/go.mod @@ -3,7 +3,7 @@ module git.openprivacy.ca/cwtch.im/libcwtch-go go 1.17 require ( - cwtch.im/cwtch v0.18.8 + cwtch.im/cwtch v0.18.9 git.openprivacy.ca/cwtch.im/server v1.4.5 git.openprivacy.ca/openprivacy/connectivity v1.8.6 git.openprivacy.ca/openprivacy/log v1.0.3 diff --git a/go.sum b/go.sum index 1068809..58580ce 100644 --- a/go.sum +++ b/go.sum @@ -11,6 +11,8 @@ cwtch.im/cwtch v0.18.7 h1:ysE1kjy4oTF+VaQrkNdwdEs6rklWGOe9Dp8rlu9VDKI= cwtch.im/cwtch v0.18.7/go.mod h1:h8S7EgEM+8pE1k+XLB5jAFdIPlOzwoXEY0GH5mQye5A= cwtch.im/cwtch v0.18.8 h1:D5mmsBkmHhE7jhRodZG2DtdaxmfvdvLG0W7CAPBf7eo= cwtch.im/cwtch v0.18.8/go.mod h1:h8S7EgEM+8pE1k+XLB5jAFdIPlOzwoXEY0GH5mQye5A= +cwtch.im/cwtch v0.18.9 h1:Z00Z2meRY46y7JpUzu5ckr3md7g9yvkv27I72SINHTk= +cwtch.im/cwtch v0.18.9/go.mod h1:h8S7EgEM+8pE1k+XLB5jAFdIPlOzwoXEY0GH5mQye5A= filippo.io/edwards25519 v1.0.0-rc.1/go.mod h1:N1IkdkCkiLB6tki+MYJoSx2JTY9NUlxZE7eHn5EwJns= filippo.io/edwards25519 v1.0.0 h1:0wAIcmJUqRdI8IJ/3eGi5/HwXZWPujYXXlkrQogz0Ek= filippo.io/edwards25519 v1.0.0/go.mod h1:N1IkdkCkiLB6tki+MYJoSx2JTY9NUlxZE7eHn5EwJns= diff --git a/lib.go b/lib.go index 5911262..183c3b7 100644 --- a/lib.go +++ b/lib.go @@ -543,16 +543,24 @@ func DeactivatePeerEngine(profile string) { } //export c_CreateProfile -func c_CreateProfile(nick_ptr *C.char, nick_len C.int, pass_ptr *C.char, pass_len C.int) { - CreateProfile(C.GoStringN(nick_ptr, nick_len), C.GoStringN(pass_ptr, pass_len)) +func c_CreateProfile(nick_ptr *C.char, nick_len C.int, pass_ptr *C.char, pass_len C.int, autostart C.char) { + CreateProfile(C.GoStringN(nick_ptr, nick_len), C.GoStringN(pass_ptr, pass_len), autostart == 1) } -func CreateProfile(nick, pass string) { - if pass == constants.DefactoPasswordForUnencryptedProfiles { - application.CreateTaggedPeer(nick, pass, constants.ProfileTypeV1DefaultPassword) - } else { - application.CreateTaggedPeer(nick, pass, constants.ProfileTypeV1Password) +func CreateProfile(nick, pass string, autostart bool) { + autostartVal := constants2.True + if !autostart { + autostartVal = constants2.False } + tagVal := constants.ProfileTypeV1Password + if pass == constants.DefactoPasswordForUnencryptedProfiles { + tagVal = constants.ProfileTypeV1DefaultPassword + } + + application.CreatePeer(nick, pass, map[attr.ZonedPath]string{ + attr.ProfileZone.ConstructZonedPath(constants2.Tag): tagVal, + attr.ProfileZone.ConstructZonedPath(constants.PeerAutostart): autostartVal, + }) } //export c_LoadProfiles