Skip to content

Add option to automatically load unencrypted keys. #78

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 31 commits into
base: master
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
31 commits
Select commit Hold shift + click to select a range
e2ba3fe
Add an option to automatically load unecrypted keys on startup.
ralimi Sep 10, 2022
02895ed
Add library to store a singular typed value in storage
ralimi Sep 11, 2022
d9f0862
Track and update session state within the manager. Pull initializatio…
ralimi Sep 11, 2022
682fae3
Bump @bazel/typescript from 5.5.3 to 5.5.4 (#47)
dependabot[bot] Sep 12, 2022
26fb79a
Bump @bazel/esbuild from 5.5.3 to 5.5.4 (#48)
dependabot[bot] Sep 19, 2022
f333b65
Bump @types/chrome from 0.0.196 to 0.0.197 (#49)
dependabot[bot] Sep 19, 2022
4ad3aaa
Create pull requests corresponding to branches (#50)
ralimi Sep 23, 2022
35fb495
Remove automatic pull requests (#52)
ralimi Sep 23, 2022
e1e48ec
Bump @bazel/typescript from 5.5.4 to 5.6.0 (#53)
dependabot[bot] Sep 28, 2022
cc48fd0
Bump typescript from 4.8.3 to 4.8.4 (#55)
dependabot[bot] Sep 28, 2022
7b1a775
Bump jsdom from 20.0.0 to 20.0.1 (#56)
dependabot[bot] Oct 4, 2022
550767d
Bump @bazel/esbuild from 5.5.4 to 5.7.0 (#57)
dependabot[bot] Oct 8, 2022
e10d9a3
Bump @bazel/typescript from 5.6.0 to 5.7.0 (#58)
dependabot[bot] Oct 8, 2022
de05ebb
Bump @types/chrome from 0.0.197 to 0.0.198 (#59)
dependabot[bot] Oct 18, 2022
9fa6a0f
Bump @types/chrome from 0.0.198 to 0.0.199 (#60)
dependabot[bot] Oct 21, 2022
b74da7c
Bump @types/chrome from 0.0.199 to 0.0.200 (#63)
dependabot[bot] Oct 28, 2022
f54287f
Bump @bazel/esbuild from 5.7.0 to 5.7.1 (#62)
dependabot[bot] Oct 28, 2022
44ad54d
Bump @bazel/typescript from 5.7.0 to 5.7.1 (#61)
dependabot[bot] Oct 28, 2022
d29d817
Bump jsdom from 20.0.1 to 20.0.2 (#64)
dependabot[bot] Nov 1, 2022
f431894
Bump @types/chrome from 0.0.200 to 0.0.202 (#65)
dependabot[bot] Nov 16, 2022
2b809d1
Bump typescript from 4.8.4 to 4.9.3 (#66)
dependabot[bot] Nov 18, 2022
7894833
Bump jsdom from 20.0.2 to 20.0.3 (#67)
dependabot[bot] Nov 22, 2022
7331f4d
Bump @types/chrome from 0.0.202 to 0.0.203 (#68)
dependabot[bot] Nov 24, 2022
49f0c4f
Bump @bazel/esbuild from 5.7.1 to 5.7.2 (#69)
dependabot[bot] Nov 28, 2022
97c538d
Bump @bazel/typescript from 5.7.1 to 5.7.2 (#70)
dependabot[bot] Dec 9, 2022
f9487ef
Bump mnao305/chrome-extension-upload from 3.0.0 to 4.0.0 (#71)
dependabot[bot] Dec 9, 2022
2b321a6
Bump typescript from 4.9.3 to 4.9.4 (#72)
dependabot[bot] Dec 9, 2022
2ce50c1
Bump @bazel/esbuild from 5.7.2 to 5.7.3 (#73)
dependabot[bot] Dec 9, 2022
0ef023e
Bump @bazel/typescript from 5.7.2 to 5.7.3 (#74)
dependabot[bot] Dec 9, 2022
c0c46c5
Add default dev container (#76)
ralimi Dec 10, 2022
fb720f8
Update dependencies and remove patches that have been integrated. (#77)
ralimi Dec 10, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 25 additions & 0 deletions .devcontainer/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
FROM mcr.microsoft.com/devcontainers/base:bullseye

# Install basic software that enables other software to be installed
RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \
&& apt-get install -y --no-install-recommends \
curl apt-transport-https ca-certificates \
gnupg \
pkg-config \
zip unzip \
python \
git

# Install Bazel
ARG BAZELISK_VERSION=v1.10.1
ARG BAZELISK_DOWNLOAD_SHA=dev-mode
RUN curl -fSsL -o /usr/local/bin/bazelisk https://github.com/bazelbuild/bazelisk/releases/download/${BAZELISK_VERSION}/bazelisk-linux-amd64 \
&& ([ "${BAZELISK_DOWNLOAD_SHA}" = "dev-mode" ] || echo "${BAZELISK_DOWNLOAD_SHA} */usr/local/bin/bazelisk" | sha256sum --check - ) \
&& chmod 0755 /usr/local/bin/bazelisk \
&& ln -sf /usr/local/bin/bazelisk /usr/local/bin/bazel

# Clean extraneous packages and files
RUN apt-get autoremove -y \
&& apt-get clean -y \
&& rm -rf /var/lib/apt/lists/*

33 changes: 33 additions & 0 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
{
"name": "Bazel (Community)",
"build": {
"dockerfile": "Dockerfile",
"args": {
"BAZELISK_VERSION": "v1.10.1",
"BAZELISK_DOWNLOAD_SHA": "4cb534c52cdd47a6223d4596d530e7c9c785438ab3b0a49ff347e991c210b2cd"
}
},
"remoteUser": "vscode",
"features": {
"ghcr.io/devcontainers/features/common-utils:1": {
"installZsh": false,
"installOhMyZsh": false,
"upgradePackages": true
},
"ghcr.io/devcontainers/features/go:1": {},
"ghcr.io/devcontainers/features/node:1": {}
},

"settings": {
},

"customizations": {
"vscode": {
"extensions": [
"dbaeumer.vscode-eslint",
"bazelbuild.vscode-bazel",
"golang.go"
]
}
}
}
2 changes: 1 addition & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ jobs:
files: |
bazel-bin/chrome-ssh-agent.zip
- name: Publish to Webstore
uses: mnao305/chrome-extension-upload@3.0.0
uses: mnao305/chrome-extension-upload@v4.0.0
with:
file-path;: bazel-bin/chrome-ssh-agent.zip
extension-id: eechpbnaifiimgajnomdipfaamobdfha
Expand Down
30 changes: 13 additions & 17 deletions WORKSPACE
Original file line number Diff line number Diff line change
Expand Up @@ -8,18 +8,14 @@ load(

http_archive(
name = "io_bazel_rules_go",
patch_args = ["-p1"],
patches = [
"//:patches/rules_go-wasm.patch",
],
sha256 = "16e9fca53ed6bd4ff4ad76facc9b7b651a89db1689a2877d6fd7b82aa824e366",
urls = ["https://github.com/bazelbuild/rules_go/releases/download/v0.34.0/rules_go-v0.34.0.zip"],
sha256 = "56d8c5a5c91e1af73eca71a6fab2ced959b67c86d12ba37feedb0a2dfea441a6",
urls = ["https://github.com/bazelbuild/rules_go/releases/download/v0.37.0/rules_go-v0.37.0.zip"],
)

http_archive(
name = "bazel_gazelle",
sha256 = "501deb3d5695ab658e82f6f6f549ba681ea3ca2a5fb7911154b5aa45596183fa",
urls = ["https://github.com/bazelbuild/bazel-gazelle/releases/download/v0.26.0/bazel-gazelle-v0.26.0.tar.gz"],
sha256 = "448e37e0dbf61d6fa8f00aaa12d191745e14f07c31cabfa731f0c8e8a4f41b97",
urls = ["https://github.com/bazelbuild/bazel-gazelle/releases/download/v0.28.0/bazel-gazelle-v0.28.0.tar.gz"],
)

http_archive(
Expand All @@ -30,22 +26,22 @@ http_archive(

http_archive(
name = "bazel_skylib",
sha256 = "f7be3474d42aae265405a592bb7da8e171919d74c16f082a5457840f06054728",
urls = ["https://github.com/bazelbuild/bazel-skylib/releases/download/1.2.1/bazel-skylib-1.2.1.tar.gz"],
sha256 = "74d544d96f4a5bb630d465ca8bbcfe231e3594e5aae57e1edbf17a6eb3ca2506",
urls = ["https://github.com/bazelbuild/bazel-skylib/releases/download/1.3.0/bazel-skylib-1.3.0.tar.gz"],
)

http_archive(
name = "rules_pkg",
sha256 = "8a298e832762eda1830597d64fe7db58178aa84cd5926d76d5b744d6558941c2",
urls = ["https://github.com/bazelbuild/rules_pkg/releases/download/0.7.0/rules_pkg-0.7.0.tar.gz"],
sha256 = "eea0f59c28a9241156a47d7a8e32db9122f3d50b505fae0f33de6ce4d9b61834",
urls = ["https://github.com/bazelbuild/rules_pkg/releases/download/0.8.0/rules_pkg-0.8.0.tar.gz"],
)

http_archive(
name = "rules_proto",
sha256 = "e017528fd1c91c5a33f15493e3a398181a9e821a804eb7ff5acdd1d2d6c2b18d",
strip_prefix = "rules_proto-4.0.0-3.20.0",
sha256 = "80d3a4ec17354cccc898bfe32118edd934f851b03029d63ef3fc7c8663a7415c",
strip_prefix = "rules_proto-5.3.0-21.5",
urls = [
"https://github.com/bazelbuild/rules_proto/archive/refs/tags/4.0.0-3.20.0.tar.gz",
"https://github.com/bazelbuild/rules_proto/archive/refs/tags/5.3.0-21.5.tar.gz",
],
)

Expand Down Expand Up @@ -113,11 +109,11 @@ go_rules_dependencies()

go_register_toolchains(
nogo = "@//:chrome_ssh_agent_nogo",
version = "1.18",
version = "1.19",
)

# Gazelle dependency management support
load("@bazel_gazelle//:deps.bzl", "gazelle_dependencies")
load("@bazel_gazelle//:deps.bzl", "gazelle_dependencies", "go_repository")

# Pull in external dependencies:
# gazelle:repository_macro go_deps.bzl%go_dependencies
Expand Down
15 changes: 8 additions & 7 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -3,23 +3,24 @@ module github.com/google/chrome-ssh-agent
go 1.18

require (
github.com/google/go-cmp v0.5.6
github.com/google/go-cmp v0.5.9
// https://github.com/tebeka/selenium/commit/e617f9870cec59a6f6e234017e45d36ef0444a04 required to support CRX3 format
github.com/tebeka/selenium v0.9.10-0.20211105214847-e9100b7f5ac1
github.com/youmark/pkcs8 v0.0.0-20201027041543-1326539a0a0a
golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d
golang.org/x/crypto v0.4.0
)

require (
github.com/bazelbuild/rules_go v0.34.0
github.com/norunners/vert v0.0.0-20211229045251-b4c39e2856da
golang.org/x/tools v0.0.0-20190624190245-7f2218787638
github.com/bazelbuild/rules_go v0.37.0
github.com/norunners/vert v0.0.0-20221203075838-106a353d42dd
golang.org/x/tools v0.4.0
)

require (
github.com/blang/semver v3.5.1+incompatible // indirect
github.com/golang/protobuf v1.3.4 // indirect
github.com/golang/protobuf v1.5.2 // indirect
github.com/mediabuyerbot/go-crx3 v1.3.1 // indirect
golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c // indirect
golang.org/x/sys v0.3.0 // indirect
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 // indirect
google.golang.org/protobuf v1.28.1 // indirect
)
22 changes: 22 additions & 0 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@ github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5 h1:0CwZNZbxp69SHPd
github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs=
github.com/bazelbuild/rules_go v0.34.0 h1:cmObMtgIOaEU944SqXtJ9DnlS8IPGGa7pdRnsrpQzXM=
github.com/bazelbuild/rules_go v0.34.0/go.mod h1:MC23Dc/wkXEyk3Wpq6lCqz0ZAYOZDw2DR5y3N1q2i7M=
github.com/bazelbuild/rules_go v0.37.0 h1:vbnESGv/t2WgGEbXatwbXAS95dTx93Lv6Uh5QkVF13s=
github.com/bazelbuild/rules_go v0.37.0/go.mod h1:TMHmtfpvyfsxaqfL9WnahCsXMWDMICTw7XeK9yVb+YU=
github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q=
github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8=
github.com/blang/semver v3.5.1+incompatible h1:cQNTCjp13qL8KC3Nbxr/y2Bqb63oX6wdnnjpJbkM4JQ=
Expand Down Expand Up @@ -50,12 +52,18 @@ github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5y
github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
github.com/golang/protobuf v1.3.4 h1:87PNWwrRvUSnqS4dlcBU/ftvOIBep4sYuBLlh6rX2wk=
github.com/golang/protobuf v1.3.4/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw=
github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk=
github.com/golang/protobuf v1.5.2 h1:ROPKBNFfQgOUMifHyP+KYbvpjbdoFNs+aK7DXlji0Tw=
github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY=
github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ=
github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ=
github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M=
github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ=
github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38=
github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
github.com/google/go-github/v27 v27.0.4/go.mod h1:/0Gr8pJ55COkmv+S/yPKCczSkUPIM/LnFyubufRNIS0=
github.com/google/go-querystring v1.0.0/go.mod h1:odCYkC5MyYFN7vkCjXpyrEuKhc/BUO6wN/zVPAxq5ck=
github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs=
Expand Down Expand Up @@ -92,6 +100,8 @@ github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh
github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U=
github.com/norunners/vert v0.0.0-20211229045251-b4c39e2856da h1:wowEKpELVGcI7utqSzrCbdbSfq4BSfY1wLeQsW6R/as=
github.com/norunners/vert v0.0.0-20211229045251-b4c39e2856da/go.mod h1:8iuQLyTSvuzwy6R6l6w6J+i9c/6xPEVoVdcMz9E8FEw=
github.com/norunners/vert v0.0.0-20221203075838-106a353d42dd h1:tHn7K76q9eJ2rXLH/OoxHkdprM3l2A+0kdxOrKYcV7U=
github.com/norunners/vert v0.0.0-20221203075838-106a353d42dd/go.mod h1:8iuQLyTSvuzwy6R6l6w6J+i9c/6xPEVoVdcMz9E8FEw=
github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U=
github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic=
github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
Expand Down Expand Up @@ -141,6 +151,8 @@ golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8U
golang.org/x/crypto v0.0.0-20200302210943-78000ba7a073/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d h1:sK3txAijHtOK88l68nt020reeT1ZdKLIYetKl95FzVY=
golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
golang.org/x/crypto v0.4.0 h1:UVQgzMY87xqpKNgb+kDsll2Igd33HszWHFLmpaRMq/8=
golang.org/x/crypto v0.4.0/go.mod h1:3quD/ATkf6oY+rnes5c3ExXTbLc8mueNue5/DoinL80=
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8=
golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js=
Expand All @@ -164,6 +176,7 @@ golang.org/x/net v0.0.0-20190522155817-f3200d17e092/go.mod h1:HSz+uSET+XFnRR8LxR
golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks=
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2 h1:CIJ76btIcR3eFI5EgSo6k1qKw9KJexJuRLI9G7Hp5wE=
golang.org/x/net v0.3.0 h1:VWL6FNY2bEEmsGVKabSlHu5Irp34xmMRoqb/9lF9lxk=
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
Expand All @@ -185,7 +198,10 @@ golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7w
golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c h1:F1jZWGFhYfh0Ci55sIpILtKKK8p3i2/krTr0H1rg74I=
golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.3.0 h1:w8ZOecv6NaNa/zC8944JTU3vz4u6Lagfk4RPQxv92NQ=
golang.org/x/sys v0.3.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1 h1:v+OssWQX+hTHEmOBgwxdZxK4zHq3yOs8F9J7mk0PY8E=
golang.org/x/term v0.3.0 h1:qoo4akIqOcDME5bhc/NgxUdovd6BSS2uMsVjB56q1xI=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
Expand All @@ -203,6 +219,8 @@ golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBn
golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
golang.org/x/tools v0.0.0-20190624190245-7f2218787638 h1:uIfBkD8gLczr4XDgYpt/qJYds2YJwZRNw4zs7wSnNhk=
golang.org/x/tools v0.0.0-20190624190245-7f2218787638/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
golang.org/x/tools v0.4.0 h1:7mTAgkunk3fr4GAloyyCasadO6h9zSsQZbwvcaIciV4=
golang.org/x/tools v0.4.0/go.mod h1:UE5sM2OK9E/d67R0ANs2xJizIymRP5gJU295PvKXxjQ=
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 h1:go1bK/D/BFZV2I8cIQd1NKEZ+0owSTG1fDTci4IqFcE=
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
Expand All @@ -222,6 +240,10 @@ google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZi
google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38=
google.golang.org/grpc v1.21.0/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM=
google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM=
google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw=
google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
google.golang.org/protobuf v1.28.1 h1:d0NfwRgPtno5B1Wa6L2DAG+KivqkdutMf1UhdNx175w=
google.golang.org/protobuf v1.28.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
Expand Down
9 changes: 3 additions & 6 deletions go/background/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -55,12 +55,9 @@ func (a *background) Name() string {
}

func (a *background) Init(ctx jsutil.AsyncContext, cleanup *jsutil.CleanupFuncs) error {
jsutil.Log("Cleaning up old data")
a.manager.CleanupOldData(ctx)

jsutil.Log("Loading keys from session")
if err := a.manager.LoadFromSession(ctx); err != nil {
jsutil.LogError("failed to load keys into agent: %v", err)
jsutil.Log("Initializing manager")
if err := a.manager.Init(ctx); err != nil {
jsutil.LogError("failed to initialize manager: %v", err)
}

jsutil.LogDebug("Attaching event handlers")
Expand Down
5 changes: 5 additions & 0 deletions go/dom/dom.go
Original file line number Diff line number Diff line change
Expand Up @@ -172,6 +172,11 @@ func TextContent(o js.Value) string {
return o.Get("textContent").String()
}

// Checked returns true if a checkbox is checked, and false otherwise.
func Checked(o js.Value) bool {
return o.Get("checked").Truthy()
}

// AppendChild adds the child object. If non-nil, the populate() function is
// invoked on the child to initialize it.
func AppendChild(parent, child js.Value, populate func(child js.Value)) {
Expand Down
12 changes: 7 additions & 5 deletions go/keys/client.go
Original file line number Diff line number Diff line change
Expand Up @@ -85,9 +85,10 @@ type rspLoaded struct {
}

type msgAdd struct {
Type int `js:"type"`
Name string `js:"name"`
PEMPrivateKey string `js:"pemPrivateKey"`
Type int `js:"type"`
Name string `js:"name"`
PEMPrivateKey string `js:"pemPrivateKey"`
Options KeyOptions `js:"options"`
}

type rspAdd struct {
Expand Down Expand Up @@ -198,7 +199,7 @@ func (s *Server) OnMessage(ctx jsutil.AsyncContext, headerObj js.Value, sender j
return s.makeErrorResponse(fmt.Errorf("failed to parse Add message: %v", err))
}
jsutil.LogDebug("Server.OnMessage(Add req): name=%s", m.Name)
err := s.mgr.Add(ctx, m.Name, m.PEMPrivateKey)
err := s.mgr.Add(ctx, m.Name, m.PEMPrivateKey, m.Options)
rsp := rspAdd{
Type: msgTypeAddRsp,
Err: makeErrStr(err),
Expand Down Expand Up @@ -294,11 +295,12 @@ func (c *client) Loaded(ctx jsutil.AsyncContext) ([]*LoadedKey, error) {
}

// Add implements Manager.Add.
func (c *client) Add(ctx jsutil.AsyncContext, name string, pemPrivateKey string) error {
func (c *client) Add(ctx jsutil.AsyncContext, name string, pemPrivateKey string, options KeyOptions) error {
var msg msgAdd
msg.Type = msgTypeAdd
msg.Name = name
msg.PEMPrivateKey = pemPrivateKey
msg.Options = options
jsutil.LogDebug("Client.Add(req): name=%s", msg.Name)
rspObj, err := c.msg.Send(ctx, vert.ValueOf(msg).JSValue())
jsutil.LogDebug("Client.Add(rsp)")
Expand Down
6 changes: 4 additions & 2 deletions go/keys/client_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ type dummyManager struct {
ID ID
Name string
PEMPrivateKey string
Options KeyOptions
Passphrase string
ConfiguredKeys []*ConfiguredKey
LoadedKeys []*LoadedKey
Expand All @@ -39,9 +40,10 @@ func (m *dummyManager) Configured(ctx jsutil.AsyncContext) ([]*ConfiguredKey, er
return m.ConfiguredKeys, m.Err
}

func (m *dummyManager) Add(ctx jsutil.AsyncContext, name string, pemPrivateKey string) error {
func (m *dummyManager) Add(ctx jsutil.AsyncContext, name string, pemPrivateKey string, options KeyOptions) error {
m.Name = name
m.PEMPrivateKey = pemPrivateKey
m.Options = options
return m.Err
}

Expand Down Expand Up @@ -112,7 +114,7 @@ func TestClientServerAdd(t *testing.T) {

mgr.Err = wantErr

err := cli.Add(ctx, wantName, wantPrivateKey)
err := cli.Add(ctx, wantName, wantPrivateKey, KeyOptions{})
if diff := cmp.Diff(mgr.Name, wantName); diff != "" {
t.Errorf("incorrect name; -got +want: %s", diff)
}
Expand Down
Loading