Commit 3cc1d02
authored
fix: resolve Git SSH signature forwarding failures (#704)
The `setupGitSSHSignature` function in `cmd/up.go` opened an ephemeral
SSH session to configure the git signing helper inside the container.
This raced with the main tunnel's port forwarding, causing "use of
closed network connection" errors that blocked the entire workspace
startup.
The credentials server tunnel (`credentials_server.go`) already calls
`gitsshsigning.ConfigureHelper` with the base64-decoded signing key,
making `setupGitSSHSignature` redundant. Removing it eliminates the
race condition and the cascade of failures users reported:
- Port forwarding errors on first start
- "No such file" for the signing key (key never written due to setup failure)
- JSON decode errors (non-JSON error responses from the signature endpoint)
Also fixes the `/git-ssh-signature` HTTP handler to always return JSON
error responses, even when the request body cannot be read.1 parent b3b2fe6 commit 3cc1d02
File tree
12 files changed
+356
-149
lines changed- cmd
- agent
- container
- e2e/tests/ssh
- testdata/ssh-signing
- pkg
- credentials
- gitsshsigning
- tunnel
12 files changed
+356
-149
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
135 | 135 | | |
136 | 136 | | |
137 | 137 | | |
138 | | - | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
139 | 141 | | |
140 | 142 | | |
141 | 143 | | |
142 | | - | |
143 | | - | |
144 | | - | |
145 | | - | |
146 | | - | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
147 | 157 | | |
148 | | - | |
149 | | - | |
150 | | - | |
151 | | - | |
152 | | - | |
153 | 158 | | |
154 | 159 | | |
155 | 160 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
55 | 55 | | |
56 | 56 | | |
57 | 57 | | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
52 | 52 | | |
53 | 53 | | |
54 | 54 | | |
| 55 | + | |
55 | 56 | | |
56 | 57 | | |
57 | 58 | | |
| |||
147 | 148 | | |
148 | 149 | | |
149 | 150 | | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
150 | 154 | | |
151 | 155 | | |
152 | 156 | | |
| |||
517 | 521 | | |
518 | 522 | | |
519 | 523 | | |
| 524 | + | |
520 | 525 | | |
521 | 526 | | |
522 | 527 | | |
| |||
652 | 657 | | |
653 | 658 | | |
654 | 659 | | |
| 660 | + | |
655 | 661 | | |
656 | 662 | | |
657 | 663 | | |
| |||
668 | 674 | | |
669 | 675 | | |
670 | 676 | | |
| 677 | + | |
671 | 678 | | |
672 | 679 | | |
673 | 680 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
15 | 15 | | |
16 | 16 | | |
17 | 17 | | |
18 | | - | |
19 | 18 | | |
20 | 19 | | |
21 | 20 | | |
| |||
395 | 394 | | |
396 | 395 | | |
397 | 396 | | |
398 | | - | |
399 | | - | |
400 | | - | |
401 | | - | |
402 | | - | |
403 | | - | |
404 | | - | |
405 | | - | |
406 | | - | |
407 | | - | |
408 | | - | |
409 | 397 | | |
410 | 398 | | |
411 | 399 | | |
| |||
481 | 469 | | |
482 | 470 | | |
483 | 471 | | |
| 472 | + | |
484 | 473 | | |
485 | 474 | | |
486 | 475 | | |
| |||
499 | 488 | | |
500 | 489 | | |
501 | 490 | | |
| 491 | + | |
502 | 492 | | |
503 | 493 | | |
504 | 494 | | |
| |||
511 | 501 | | |
512 | 502 | | |
513 | 503 | | |
| 504 | + | |
514 | 505 | | |
515 | 506 | | |
516 | 507 | | |
| |||
854 | 845 | | |
855 | 846 | | |
856 | 847 | | |
| 848 | + | |
857 | 849 | | |
858 | 850 | | |
859 | 851 | | |
| |||
900 | 892 | | |
901 | 893 | | |
902 | 894 | | |
| 895 | + | |
903 | 896 | | |
904 | 897 | | |
905 | 898 | | |
| |||
912 | 905 | | |
913 | 906 | | |
914 | 907 | | |
| 908 | + | |
915 | 909 | | |
916 | 910 | | |
917 | 911 | | |
| |||
957 | 951 | | |
958 | 952 | | |
959 | 953 | | |
| 954 | + | |
960 | 955 | | |
961 | 956 | | |
962 | 957 | | |
| |||
1005 | 1000 | | |
1006 | 1001 | | |
1007 | 1002 | | |
| 1003 | + | |
1008 | 1004 | | |
1009 | 1005 | | |
1010 | 1006 | | |
| |||
1054 | 1050 | | |
1055 | 1051 | | |
1056 | 1052 | | |
| 1053 | + | |
1057 | 1054 | | |
1058 | 1055 | | |
1059 | 1056 | | |
| |||
1150 | 1147 | | |
1151 | 1148 | | |
1152 | 1149 | | |
| 1150 | + | |
1153 | 1151 | | |
1154 | 1152 | | |
1155 | 1153 | | |
| |||
1245 | 1243 | | |
1246 | 1244 | | |
1247 | 1245 | | |
| 1246 | + | |
1248 | 1247 | | |
1249 | 1248 | | |
1250 | 1249 | | |
| |||
1553 | 1552 | | |
1554 | 1553 | | |
1555 | 1554 | | |
1556 | | - | |
1557 | | - | |
1558 | | - | |
1559 | | - | |
1560 | | - | |
1561 | | - | |
1562 | | - | |
1563 | | - | |
1564 | | - | |
1565 | | - | |
1566 | | - | |
1567 | | - | |
1568 | | - | |
1569 | | - | |
1570 | | - | |
1571 | | - | |
1572 | | - | |
1573 | | - | |
1574 | | - | |
1575 | | - | |
1576 | | - | |
1577 | | - | |
1578 | | - | |
1579 | | - | |
1580 | | - | |
1581 | | - | |
1582 | | - | |
1583 | | - | |
1584 | | - | |
1585 | | - | |
1586 | | - | |
1587 | | - | |
1588 | | - | |
1589 | | - | |
1590 | | - | |
1591 | | - | |
1592 | | - | |
1593 | | - | |
1594 | 1555 | | |
1595 | 1556 | | |
1596 | 1557 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
144 | 144 | | |
145 | 145 | | |
146 | 146 | | |
147 | | - | |
148 | | - | |
149 | | - | |
150 | | - | |
151 | | - | |
152 | | - | |
153 | | - | |
154 | | - | |
155 | | - | |
156 | | - | |
157 | | - | |
158 | | - | |
159 | | - | |
160 | | - | |
161 | | - | |
162 | | - | |
163 | | - | |
164 | | - | |
165 | | - | |
166 | | - | |
167 | | - | |
168 | | - | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
169 | 151 | | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
170 | 156 | | |
171 | 157 | | |
172 | 158 | | |
| |||
178 | 164 | | |
179 | 165 | | |
180 | 166 | | |
181 | | - | |
| 167 | + | |
| 168 | + | |
| 169 | + | |
182 | 170 | | |
183 | 171 | | |
184 | 172 | | |
| 173 | + | |
185 | 174 | | |
186 | | - | |
187 | | - | |
| 175 | + | |
| 176 | + | |
| 177 | + | |
| 178 | + | |
| 179 | + | |
188 | 180 | | |
189 | 181 | | |
190 | 182 | | |
| |||
194 | 186 | | |
195 | 187 | | |
196 | 188 | | |
197 | | - | |
198 | | - | |
199 | | - | |
| 189 | + | |
200 | 190 | | |
201 | 191 | | |
202 | 192 | | |
| |||
205 | 195 | | |
206 | 196 | | |
207 | 197 | | |
208 | | - | |
209 | 198 | | |
210 | 199 | | |
211 | | - | |
212 | 200 | | |
213 | 201 | | |
214 | 202 | | |
215 | | - | |
216 | | - | |
217 | | - | |
218 | | - | |
219 | | - | |
220 | | - | |
221 | | - | |
| 203 | + | |
| 204 | + | |
| 205 | + | |
222 | 206 | | |
223 | 207 | | |
224 | 208 | | |
| |||
232 | 216 | | |
233 | 217 | | |
234 | 218 | | |
235 | | - | |
236 | | - | |
237 | | - | |
238 | | - | |
239 | | - | |
240 | | - | |
241 | | - | |
| 219 | + | |
| 220 | + | |
| 221 | + | |
242 | 222 | | |
243 | 223 | | |
244 | 224 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | | - | |
| 3 | + | |
| 4 | + | |
4 | 5 | | |
0 commit comments