The Tor Project issueshttps://gitlab.torproject.org/groups/tpo/-/issues2024-01-17T17:34:26Zhttps://gitlab.torproject.org/tpo/tpa/team/-/issues/40696upgrade or rebuild pauli / puppet2024-01-17T17:34:26Zanarcatupgrade or rebuild pauli / puppetPuppet AKA pauli is going to be a particularly tricky bullseye upgrade, so it's not part of the large bullseye upgrade batches (#40690 or #40692).
We need to decide how we handle the Puppet 5 EOL situation. We could use upstream package...Puppet AKA pauli is going to be a particularly tricky bullseye upgrade, so it's not part of the large bullseye upgrade batches (#40690 or #40692).
We need to decide how we handle the Puppet 5 EOL situation. We could use upstream packages, split up the service, there's many possibilities (#33588). But this ticket is solely about upgrading the box, which could happen regardless, as bullseye was (bizarrely) with Puppet 5 (but not puppetdb!).
This also implies the decision on puppet-agent itself is done elsewhere (and that is probably #33588).Debian 11 bullseye upgradeJérôme Charaouilavamind@torproject.orgJérôme Charaouilavamind@torproject.org2023-10-25https://gitlab.torproject.org/tpo/tpa/team/-/issues/40693upgrade alberti to bullseye ... er bookworm!2023-09-14T18:32:28Zanarcatupgrade alberti to bullseye ... er bookworm!alberti could be a tricky part, so it's not part of the large bullseye upgrade batches (#40690 or #40692).
just do the upgrade and see what happens, i guess, although while we're here, we might want to consider switching to bcrypt or ye...alberti could be a tricky part, so it's not part of the large bullseye upgrade batches (#40690 or #40692).
just do the upgrade and see what happens, i guess, although while we're here, we might want to consider switching to bcrypt or yescrypt for the mail password hashing (https://gitlab.torproject.org/tpo/tpa/team/-/issues/40492).Debian 11 bullseye upgradeanarcatanarcat2023-09-13https://gitlab.torproject.org/tpo/tpa/team/-/issues/40692bullseye upgrades, second batch2024-02-06T18:22:34Zanarcatbullseye upgrades, second batchupgrade the following servers to Debian bullseye:
* [x] bacula-director-01 (@lavamind)
* [x] bungei (@lavamind) psql 13 upgrade @anarcat
* [x] carinatum @anarcat (triggered #40751)
* [x] check-01 @anarcat left tpo/network-health/exi...upgrade the following servers to Debian bullseye:
* [x] bacula-director-01 (@lavamind)
* [x] bungei (@lavamind) psql 13 upgrade @anarcat
* [x] carinatum @anarcat (triggered #40751)
* [x] check-01 @anarcat left tpo/network-health/exitmap#38 also generated tpo/network-health/metrics/exit-scanner#40004, tpo/network-health/metrics/tor-check#40007
* [x] colchicifolium @lavamind
* [x] crm-ext-01 @anarcat
* [x] crm-int-01 @anarcat
* [x] fallax @anarcat
* [x] gayi (yes, it needs to be upgraded, see #17202 ) @anarcat
* [x] ~~gettor-01 - sync with @meskio, AFK on may 2nd, <= 1800UTC otherwise @anarcat~~ no need, will be retired, see #40915
* [x] gitlab-02 @anarcat, planned for Monday, May 30 @ 17:00 UTC
* [x] henryi @anarcat
* [x] majus @lavamind
* [x] mandos-01 @lavamind
* [x] materculae @anarcat led to OOM issues? see #40750
* [x] meronense ~~- do *NOT* upgrade PostgreSQL until we figure out issues with PostgreSQL 13 (#40750 and #40761 )~~ things seem to have resolved themselves @anarcat see https://gitlab.torproject.org/tpo/tpa/team/-/issues/40809 for the Postgresql 13 upgrade
* [x] neriniflorum @lavamind
* [x] nevii @lavamind
* [x] ~~onionbalance-01~~ ([retired](https://gitlab.torproject.org/tpo/tpa/team/-/issues/40710))
* [x] onionbalance-02 @lavamind
* [x] onionoo-backend-01 @lavamind
* [x] onionoo-backend-02 @lavamind
* [x] onionoo-frontend-01 @lavamind
* [x] onionoo-frontend-02 @lavamind
* [x] polyanthum - sync with @meskio, AFK on may 2nd, <= 1800UTC otherwise, also deploy backports, see tpo/tpa/team#40758 @anarcat possibly caused tpo/anti-censorship/bridgedb#40049
* [x] rude @lavamind
* [x] staticiforme @anarcat
* [x] ~~subnotabile~~ to retire? see #40810Debian 11 bullseye upgradeanarcatanarcat2022-05-31https://gitlab.torproject.org/tpo/tpa/team/-/issues/40691Retire build-sunet-a.torproject.net2022-06-23T16:08:23ZGeorg KoppenRetire build-sunet-a.torproject.netbuild-sunet-a.torproject.net has been our build machine for many years and it served us well. We have two build machines on TPO infra now (see: https://gitlab.torproject.org/tpo/tpa/team/-/issues/34122) and don't need nor use it anymore....build-sunet-a.torproject.net has been our build machine for many years and it served us well. We have two build machines on TPO infra now (see: https://gitlab.torproject.org/tpo/tpa/team/-/issues/34122) and don't need nor use it anymore. I think it can be retired (unless @boklm thinks otherwise)
checklist:
1. [x] announcement
2. [x] nagios (not present)
3. [x] retire the host in fabric
4. [x] remove from LDAP with `ldapvi` (not in ldap)
5. [x] power-grep (only in DNS)
6. [x] remove from tor-passwords (nothing there)
7. [x] remove from DNSwl (N/A)
8. [x] remove from docs (not found in the grep, not documented in inventory (!?))
9. [x] remove from racks (deleted in openstack)
10. [x] remove from reverse DNSDebian 11 bullseye upgradeanarcatanarcathttps://gitlab.torproject.org/tpo/tpa/team/-/issues/40690bullseye upgrades, first batch2023-07-06T02:49:12Zanarcatbullseye upgrades, first batchupgrade the following servers to Debian bullseye:
* [x] archive-01 (@lavamind)
* [x] build-x86-05 (@lavamind)
* [x] build-x86-06 (@lavamind)
* [x] chi-node-12 (@lavamind)
* [x] chi-node-13 (@lavamind)
* [x] chives (@lavamind)
* [...upgrade the following servers to Debian bullseye:
* [x] archive-01 (@lavamind)
* [x] build-x86-05 (@lavamind)
* [x] build-x86-06 (@lavamind)
* [x] chi-node-12 (@lavamind)
* [x] chi-node-13 (@lavamind)
* [x] chives (@lavamind)
* [x] ci-runner-01 (@lavamind)
* [x] ci-runner-arm64-02 (@lavamind)
* [x] dangerzone-01 @anarcat
* [x] hetzner-hel1-02 (@lavamind)
* [x] hetzner-hel1-03 (@lavamind)
* [x] hetzner-nbg1-01 @anarcat
* [x] hetzner-nbg1-02 @anarcat
* [x] loghost01 @anarcat
* [x] media-01 (@kez)
* [x] metrics-store-01 (@lavamind)
* [x] perdulce (@lavamind)
* [x] static-master-fsn (@lavamind)
* [x] submit-01 @anarcat
* [x] tb-build-01 @anarcat
* [x] tb-build-03 (@lavamind)
* [x] tb-tester-01 (@lavamind)
* [x] tbb-nightlies-master (@kez)
* [x] web-chi-03 (@lavamind)
* [x] web-cymru-01 @anarcat
* [x] web-fsn-01 @anarcat
* [x] web-fsn-02 @anarcat
27 machines.Debian 11 bullseye upgradeanarcatanarcat2022-04-11https://gitlab.torproject.org/tpo/tpa/team/-/issues/40689upgrade the gnt-fsn cluster to bullseye2023-07-06T03:00:30Zanarcatupgrade the gnt-fsn cluster to bullseye* [x] `fsn-node-01`
* [x] `fsn-node-02`
* [x] `fsn-node-03`
* [x] `fsn-node-04`
* [x] `fsn-node-05`
* [x] `fsn-node-06`
* [x] `fsn-node-07`
* [x] `fsn-node-08`* [x] `fsn-node-01`
* [x] `fsn-node-02`
* [x] `fsn-node-03`
* [x] `fsn-node-04`
* [x] `fsn-node-05`
* [x] `fsn-node-06`
* [x] `fsn-node-07`
* [x] `fsn-node-08`Debian 11 bullseye upgradeJérôme Charaouilavamind@torproject.orgJérôme Charaouilavamind@torproject.org2022-06-20https://gitlab.torproject.org/tpo/tpa/gitlab/-/issues/122FIDO2-based "-sk" public ssh key types unsupported2022-05-30T19:47:00ZGhost UserFIDO2-based "-sk" public ssh key types unsupportedI'm having issues when trying to clone down or push to a repository from this instance via git over SSH (it happens with multiple repos, one of them being my own). My SSH key is correctly registered on my account, and I have no issues wi...I'm having issues when trying to clone down or push to a repository from this instance via git over SSH (it happens with multiple repos, one of them being my own). My SSH key is correctly registered on my account, and I have no issues with my key-pair on other hosts, such as GitHub. My key is of type `ed25519-sk`. Still, I'm getting:
```log
git@gitlab.torproject.org: Permission denied (publickey).
```
My SSH config for GitLab looks like this:
```ssh
Host gitlab.torproject.org
User git
IdentitiesOnly yes
IdentityFile ~/.ssh/id_ed25519_sk_theanonymousexyz
TCPKeepAlive yes
```
`ssh -Tvvv git@gitlab.torproject.org` gives me:
```log
OpenSSH_8.9p1, OpenSSL 1.1.1m 14 Dec 2021
debug1: Reading configuration data /home/theanonymouse/.ssh/config
debug1: /home/theanonymouse/.ssh/config line 5: Applying options for gitlab.torproject.org
debug1: Reading configuration data /etc/ssh/ssh_config
debug3: expanded UserKnownHostsFile '~/.ssh/known_hosts' -> '/home/theanonymouse/.ssh/known_hosts'
debug3: expanded UserKnownHostsFile '~/.ssh/known_hosts2' -> '/home/theanonymouse/.ssh/known_hosts2'
debug2: resolving "gitlab.torproject.org" port 22
debug3: resolve_host: lookup gitlab.torproject.org:22
debug3: ssh_connect_direct: entering
debug1: Connecting to gitlab.torproject.org [116.202.120.180] port 22.
debug3: set_sock_tos: set socket 3 IP_TOS 0x48
debug1: Connection established.
debug1: identity file /home/theanonymouse/.ssh/id_ed25519_sk_theanonymousexyz type 12
debug1: identity file /home/theanonymouse/.ssh/id_ed25519_sk_theanonymousexyz-cert type -1
debug1: Local version string SSH-2.0-OpenSSH_8.9
debug1: Remote protocol version 2.0, remote software version OpenSSH_7.9p1 Debian-10+deb10u2
debug1: compat_banner: match: OpenSSH_7.9p1 Debian-10+deb10u2 pat OpenSSH* compat 0x04000000
debug2: fd 3 setting O_NONBLOCK
debug1: Authenticating to gitlab.torproject.org:22 as 'git'
debug3: record_hostkey: found key type ED25519 in file /home/theanonymouse/.ssh/known_hosts:14
debug3: load_hostkeys_file: loaded 1 keys from gitlab.torproject.org
debug1: load_hostkeys: fopen /home/theanonymouse/.ssh/known_hosts2: No such file or directory
debug1: load_hostkeys: fopen /etc/ssh/ssh_known_hosts: No such file or directory
debug1: load_hostkeys: fopen /etc/ssh/ssh_known_hosts2: No such file or directory
debug3: order_hostkeyalgs: have matching best-preference key type ssh-ed25519-cert-v01@openssh.com, using HostkeyAlgorithms verbatim
debug3: send packet: type 20
debug1: SSH2_MSG_KEXINIT sent
debug3: receive packet: type 20
debug1: SSH2_MSG_KEXINIT received
debug2: local client KEXINIT proposal
debug2: KEX algorithms: curve25519-sha256,curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,sntrup761x25519-sha512@openssh.com,diffie-hellman-group-exchange-sha256,diffie-hellman-group16-sha512,diffie-hellman-group18-sha512,diffie-hellman-group14-sha256,ext-info-c
debug2: host key algorithms: ssh-ed25519-cert-v01@openssh.com,ecdsa-sha2-nistp256-cert-v01@openssh.com,ecdsa-sha2-nistp384-cert-v01@openssh.com,ecdsa-sha2-nistp521-cert-v01@openssh.com,sk-ssh-ed25519-cert-v01@openssh.com,sk-ecdsa-sha2-nistp256-cert-v01@openssh.com,rsa-sha2-512-cert-v01@openssh.com,rsa-sha2-256-cert-v01@openssh.com,ssh-ed25519,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,sk-ssh-ed25519@openssh.com,sk-ecdsa-sha2-nistp256@openssh.com,rsa-sha2-512,rsa-sha2-256
debug2: ciphers ctos: chacha20-poly1305@openssh.com,aes128-ctr,aes192-ctr,aes256-ctr,aes128-gcm@openssh.com,aes256-gcm@openssh.com
debug2: ciphers stoc: chacha20-poly1305@openssh.com,aes128-ctr,aes192-ctr,aes256-ctr,aes128-gcm@openssh.com,aes256-gcm@openssh.com
debug2: MACs ctos: umac-64-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,hmac-sha1-etm@openssh.com,umac-64@openssh.com,umac-128@openssh.com,hmac-sha2-256,hmac-sha2-512,hmac-sha1
debug2: MACs stoc: umac-64-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,hmac-sha1-etm@openssh.com,umac-64@openssh.com,umac-128@openssh.com,hmac-sha2-256,hmac-sha2-512,hmac-sha1
debug2: compression ctos: none,zlib@openssh.com,zlib
debug2: compression stoc: none,zlib@openssh.com,zlib
debug2: languages ctos:
debug2: languages stoc:
debug2: first_kex_follows 0
debug2: reserved 0
debug2: peer server KEXINIT proposal
debug2: KEX algorithms: curve25519-sha256,curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group16-sha512,diffie-hellman-group18-sha512,diffie-hellman-group14-sha256,diffie-hellman-group14-sha1
debug2: host key algorithms: rsa-sha2-512,rsa-sha2-256,ssh-rsa,ssh-ed25519
debug2: ciphers ctos: chacha20-poly1305@openssh.com,aes128-ctr,aes192-ctr,aes256-ctr,aes128-gcm@openssh.com,aes256-gcm@openssh.com
debug2: ciphers stoc: chacha20-poly1305@openssh.com,aes128-ctr,aes192-ctr,aes256-ctr,aes128-gcm@openssh.com,aes256-gcm@openssh.com
debug2: MACs ctos: umac-64-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,hmac-sha1-etm@openssh.com,umac-64@openssh.com,umac-128@openssh.com,hmac-sha2-256,hmac-sha2-512,hmac-sha1
debug2: MACs stoc: umac-64-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,hmac-sha1-etm@openssh.com,umac-64@openssh.com,umac-128@openssh.com,hmac-sha2-256,hmac-sha2-512,hmac-sha1
debug2: compression ctos: none,zlib@openssh.com
debug2: compression stoc: none,zlib@openssh.com
debug2: languages ctos:
debug2: languages stoc:
debug2: first_kex_follows 0
debug2: reserved 0
debug1: kex: algorithm: curve25519-sha256
debug1: kex: host key algorithm: ssh-ed25519
debug1: kex: server->client cipher: chacha20-poly1305@openssh.com MAC: <implicit> compression: none
debug1: kex: client->server cipher: chacha20-poly1305@openssh.com MAC: <implicit> compression: none
debug3: send packet: type 30
debug1: expecting SSH2_MSG_KEX_ECDH_REPLY
debug3: receive packet: type 31
debug1: SSH2_MSG_KEX_ECDH_REPLY received
debug1: Server host key: ssh-ed25519 SHA256:Tm3tx3WQtTVPzgEegsh34Du9TaPRa7HNz1aBmoMdKL0
debug3: record_hostkey: found key type ED25519 in file /home/theanonymouse/.ssh/known_hosts:14
debug3: load_hostkeys_file: loaded 1 keys from gitlab.torproject.org
debug1: load_hostkeys: fopen /home/theanonymouse/.ssh/known_hosts2: No such file or directory
debug1: load_hostkeys: fopen /etc/ssh/ssh_known_hosts: No such file or directory
debug1: load_hostkeys: fopen /etc/ssh/ssh_known_hosts2: No such file or directory
debug1: Host 'gitlab.torproject.org' is known and matches the ED25519 host key.
debug1: Found key in /home/theanonymouse/.ssh/known_hosts:14
debug3: send packet: type 21
debug2: ssh_set_newkeys: mode 1
debug1: rekey out after 134217728 blocks
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug3: receive packet: type 21
debug1: SSH2_MSG_NEWKEYS received
debug2: ssh_set_newkeys: mode 0
debug1: rekey in after 134217728 blocks
debug2: get_agent_identities: ssh_agent_bind_hostkey: agent refused operation
debug1: get_agent_identities: ssh_fetch_identitylist: agent contains no identities
debug1: Will attempt key: /home/theanonymouse/.ssh/id_ed25519_sk_theanonymousexyz ED25519-SK SHA256:FttewLe4H2nK3RFUVrEczMfcHGjaWbCbd+tmI/1u09U explicit authenticator
debug2: pubkey_prepare: done
debug3: send packet: type 5
debug3: receive packet: type 7
debug1: SSH2_MSG_EXT_INFO received
debug1: kex_input_ext_info: server-sig-algs=<ssh-ed25519,ssh-rsa,rsa-sha2-256,rsa-sha2-512,ssh-dss,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521>
debug3: receive packet: type 6
debug2: service_accept: ssh-userauth
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug3: send packet: type 50
debug3: receive packet: type 51
debug1: Authentications that can continue: publickey
debug3: start over, passed a different list publickey
debug3: preferred publickey,keyboard-interactive,password
debug3: authmethod_lookup publickey
debug3: remaining preferred: keyboard-interactive,password
debug3: authmethod_is_enabled publickey
debug1: Next authentication method: publickey
debug1: Offering public key: /home/theanonymouse/.ssh/id_ed25519_sk_theanonymousexyz ED25519-SK SHA256:FttewLe4H2nK3RFUVrEczMfcHGjaWbCbd+tmI/1u09U explicit authenticator
debug3: send packet: type 50
debug2: we sent a publickey packet, wait for reply
debug3: receive packet: type 51
debug1: Authentications that can continue: publickey
debug2: we did not send a packet, disable method
debug1: No more authentication methods to try.
git@gitlab.torproject.org: Permission denied (publickey).
```
System:
```txt
OS: Artix Linux
git version: 2.35.1
OpenSSH version: 8.9p1-1
```
Furthermore, my git config username and email are set to those of my GitLab account (this instance).Debian 11 bullseye upgradeanarcatanarcathttps://gitlab.torproject.org/tpo/tpa/team/-/issues/40654upgrade chi-node-14 to debian bullseye2022-03-10T16:06:24Zanarcatupgrade chi-node-14 to debian bullseyeDebian 11 bullseye upgradeanarcatanarcathttps://gitlab.torproject.org/tpo/tpa/team/-/issues/40424complete the bullseye upgrade on gnt-chi2021-11-23T21:50:22Zanarcatcomplete the bullseye upgrade on gnt-chichi-node-05 and chi-node-08 are running bullseye and the latter is particular going to cause problems (because not drained) as we can't do live migrations between major releases like this.
checklist:
- [x] chi-node-01
- [x] chi-node-02...chi-node-05 and chi-node-08 are running bullseye and the latter is particular going to cause problems (because not drained) as we can't do live migrations between major releases like this.
checklist:
- [x] chi-node-01
- [x] chi-node-02
- [x] chi-node-03
- [x] chi-node-04Debian 11 bullseye upgradeanarcatanarcathttps://gitlab.torproject.org/tpo/tpa/team/-/issues/33949TPA-RFC-27: Python 2 end of life2022-12-09T03:07:00ZanarcatTPA-RFC-27: Python 2 end of lifePython 2.7.18 has just been released. It is the last Python 2 release that will ever happen, and Python 2 is now unsupported, end of life, [dead](https://www.enricozini.org/blog/2020/python/python-2-is-dead/).
It is likely that the next...Python 2.7.18 has just been released. It is the last Python 2 release that will ever happen, and Python 2 is now unsupported, end of life, [dead](https://www.enricozini.org/blog/2020/python/python-2-is-dead/).
It is likely that the next Debian release (bullseye) will not support Python 2 at all. It's also possible the current release (buster) does not support Python 2 for security issues forever. So we have *some* time, in practice, to handle this problem. But we definitely will need to finish this migration before some time around 2022, and the sooner the better.
Until then, we need to figure out a strategy on how to handle that transition. Some of our code has been written for Python 3, but we have a large amount of Python-2-only code that is running, in multiple places. Some of it is TPA's responsibility, but other code is ran by teams or service admins.
Since we run stretch or buster everywhere, we're in a good position to *not* have to support both Python 2 and Python 3 at once: we can just *migrate* to python 3. Stretch has Python 3.5 so we could target that as a minimum version. But we could also assume we will have completed the Buster upgrade by then and just target the more featureful Python 3.7.
In any case, we need a plan for this and it would be wise to do it before we're backed into a corner.
Some resources:
* http://python3porting.com/ - python 3 porting book, freely available
* https://python3statement.org/practicalities/ - some more advice on porting
* https://docs.python.org/3/howto/pyporting.html - upstream guide, which still recommends supporting python 2.7Debian 11 bullseye upgradeanarcatanarcat2022-05-10https://gitlab.torproject.org/tpo/applications/vpn/-/issues/96Kill Paused state2023-07-28T16:00:24ZcybertaKill Paused stateWith alpha v2 the paused state will be removed, which will reduce the state complexity.
Disconnected, connecting, connected and disconnected will be the main states represented in the UI. This issue is meant for the required refactoring.With alpha v2 the paused state will be removed, which will reduce the state complexity.
Disconnected, connecting, connected and disconnected will be the main states represented in the UI. This issue is meant for the required refactoring.VPN pre-alpha 02ankitgusai19ankitgusai19https://gitlab.torproject.org/tpo/applications/vpn/-/issues/88Update Connection screen2023-07-29T17:16:34ZcybertaUpdate Connection screenThe design slightly changed, see attached figma screenshots:
- [ ] add a second button that will allow to change the exit gate's country
- [ ] tweak switch design for protect all apps feature
- [ ] add another settings option: 'Connect ...The design slightly changed, see attached figma screenshots:
- [ ] add a second button that will allow to change the exit gate's country
- [ ] tweak switch design for protect all apps feature
- [ ] add another settings option: 'Connect directly to tor' (I need clarification what feature this setting represents)
- [ ] ensure onboarding dialog looks the same as in the figma screenshot and is only shown on first use.
- subsequent screens for exit selection and the new connection screen will be implemented in separate issues.VPN pre-alpha 02ankitgusai19ankitgusai19https://gitlab.torproject.org/tpo/applications/vpn/-/issues/84Design the user interface for v2 of the VPN pre-alpha2023-06-20T20:49:19ZdonutsDesign the user interface for v2 of the VPN pre-alphaThe planned feature-set for the next version can be found here: https://gitlab.torproject.org/tpo/applications/vpn/-/milestones/2
These will need to be incorporated into the following Figma file for developer handoff before the start of...The planned feature-set for the next version can be found here: https://gitlab.torproject.org/tpo/applications/vpn/-/milestones/2
These will need to be incorporated into the following Figma file for developer handoff before the start of the next cycle: [Tor VPN | Pre-alpha 01](https://www.figma.com/file/sjNWeIOpb0BckjmxApXd5m/Tor-VPN?type=design&node-id=2014%3A5269&t=OcqQPKKwfsItpIpR-1)VPN pre-alpha 02donutsdonuts2023-05-24https://gitlab.torproject.org/tpo/core/onionmasq/-/issues/47Global exit selection2023-07-17T20:22:04ZetaGlobal exit selectionOne of the key things for a 'VPN'-style app is the ability to select which country traffic will come from. However, this feature is going to depend on some arti work, since it doesn't exist there yet.One of the key things for a 'VPN'-style app is the ability to select which country traffic will come from. However, this feature is going to depend on some arti work, since it doesn't exist there yet.VPN pre-alpha 02etaetahttps://gitlab.torproject.org/tpo/applications/vpn/-/issues/61implement app detail screens2023-08-01T09:24:23Zcybertaimplement app detail screensTask separated from https://gitlab.torproject.org/tpo/applications/vpn/-/issues/27, check description there
We decided to postpone the detail screens until we released the pre-alpha.Task separated from https://gitlab.torproject.org/tpo/applications/vpn/-/issues/27, check description there
We decided to postpone the detail screens until we released the pre-alpha.VPN pre-alpha 02cybertacybertahttps://gitlab.torproject.org/tpo/applications/vpn/-/issues/56Inital Onionmasq integration2023-06-30T10:50:24ZcybertaInital Onionmasq integration~~* [ ] build onionmasq from this repository~~
* [x] basic integration of onionmasq into the VPN service
* [x] local maven repo integration
Onionmasq artifacts will be fetched from a maven repository, for now from a local gitlab maven r...~~* [ ] build onionmasq from this repository~~
* [x] basic integration of onionmasq into the VPN service
* [x] local maven repo integration
Onionmasq artifacts will be fetched from a maven repository, for now from a local gitlab maven repo.VPN pre-alpha 02cybertacybertahttps://gitlab.torproject.org/tpo/applications/vpn/-/issues/37Circuit display2023-06-20T20:49:19Zmicahmicah@torproject.orgCircuit displaySimilar to tor browser, users would like to see the circuit each app is being routed through, and view each relay’s IP address and location.Similar to tor browser, users would like to see the circuit each app is being routed through, and view each relay’s IP address and location.VPN pre-alpha 02cybertacybertahttps://gitlab.torproject.org/tpo/core/tor/-/issues/40841conflux_validate_legs(): Bug: Number of legs is above maximum of 2 allowed: 3...2023-08-30T18:21:26ZMike Perryconflux_validate_legs(): Bug: Number of legs is above maximum of 2 allowed: 3#012 (on Tor 0.4.8.3-rc-dev )A cypherpunks user reported some logspam due to this BUG check as a random comment in https://gitlab.torproject.org/tpo/core/tor/-/issues/40834#note_2935264. Initially, this looks like a rogue Tor client hitting this check. This has neve...A cypherpunks user reported some logspam due to this BUG check as a random comment in https://gitlab.torproject.org/tpo/core/tor/-/issues/40834#note_2935264. Initially, this looks like a rogue Tor client hitting this check. This has never happened in a Shadow run.
This is harmless, but noisy. It is also at warn and not protocol warn.
We could remove the BUG() and demote to ProtocolWarn, but should have a look through the client codepaths for cases that could somehow spawn 3 legs instead of 2, just in case.Tor: 0.4.8.x-stableMike PerryMike Perryhttps://gitlab.torproject.org/tpo/core/tor/-/issues/40811conflux_launch_leg infinite loop2023-07-05T21:32:13ZRoger Dingledineconflux_launch_leg infinite loopI finally got a proper core from the seg fault that my tor has been hitting periodically.
The seg fault seems to happen because my stack has thousands of entries on it, presumably because we are calling functions that call themselves in...I finally got a proper core from the seg fault that my tor has been hitting periodically.
The seg fault seems to happen because my stack has thousands of entries on it, presumably because we are calling functions that call themselves in a circle and it keeps stacking deeper.
It happens in practice when my Tor is minding its own business (not actively being used) but then my wifi goes away.
Here is a sample of the 'where' output from gdb
```
#69 0x000055a2356ef88a in circuit_establish_circuit_conflux (
conflux_nonce=conflux_nonce@entry=0x7ffc342cc320 "\215Oĩaa8\307R\325\035\344C\304_2\020\205\354\347&O\213\221\300D\251\301g\343,M\320\323\325<\242U",
purpose=purpose@entry=25 '\031', exit_ei=exit_ei@entry=0x55a236878cd0,
flags=flags@entry=70) at src/core/or/circuitbuild.c:547
#70 0x000055a23571aae7 in conflux_launch_leg (
nonce=nonce@entry=0x7ffc342cc320 "\215Oĩaa8\307R\325\035\344C\304_2\020\205\354\347&O\213\221\300D\251\301g\343,M\320\323\325<\242U")
at src/core/or/conflux_pool.c:1110
#71 0x000055a23571bcb7 in unlinked_circuit_closed (circ=0x55a23cd5d3d0)
at src/core/or/conflux_pool.c:1426
#72 conflux_circuit_has_closed (circ=circ@entry=0x55a23cd5d3d0)
at src/core/or/conflux_pool.c:1632
#73 0x000055a2356f6875 in circuit_mark_for_close_ (circ=0x55a23cd5d3d0,
reason=0, line=line@entry=547,
file=file@entry=0x55a23582f102 "src/core/or/circuitbuild.c")
at src/core/or/circuitlist.c:2262
#74 0x000055a2356ef88a in circuit_establish_circuit_conflux (
conflux_nonce=conflux_nonce@entry=0x7ffc342cc450 "\215Oĩaa8\307R\325\035\344C\304_2\020\205\354\347&O\213\221\300D\251\301g\343,MP\305\325<\242U",
purpose=purpose@entry=25 '\031', exit_ei=exit_ei@entry=0x55a236878cd0,
flags=flags@entry=70) at src/core/or/circuitbuild.c:547
#75 0x000055a23571aae7 in conflux_launch_leg (
nonce=nonce@entry=0x7ffc342cc450 "\215Oĩaa8\307R\325\035\344C\304_2\020\205\354\347&O\213\221\300D\251\301g\343,MP\305\325<\242U")
at src/core/or/conflux_pool.c:1110
#76 0x000055a23571bcb7 in unlinked_circuit_closed (circ=0x55a23cd5c550)
at src/core/or/conflux_pool.c:1426
#77 conflux_circuit_has_closed (circ=circ@entry=0x55a23cd5c550)
at src/core/or/conflux_pool.c:1632
#78 0x000055a2356f6875 in circuit_mark_for_close_ (circ=0x55a23cd5c550,
reason=0, line=line@entry=547,
file=file@entry=0x55a23582f102 "src/core/or/circuitbuild.c")
at src/core/or/circuitlist.c:2262
#79 0x000055a2356ef88a in circuit_establish_circuit_conflux (
conflux_nonce=conflux_nonce@entry=0x7ffc342cc580 "\215Oĩaa8\307R\325\035\344C\304_2\020\205\354\347&O\213\221\300D\251\301g\343,Mж\325<\242U",
purpose=purpose@entry=25 '\031', exit_ei=exit_ei@entry=0x55a236878cd0,
flags=flags@entry=70) at src/core/or/circuitbuild.c:547
#80 0x000055a23571aae7 in conflux_launch_leg (
nonce=nonce@entry=0x7ffc342cc580 "\215Oĩaa8\307R\325\035\344C\304_2\020\205\354\347&O\213\221\300D\251\301g\343,Mж\325<\242U")
at src/core/or/conflux_pool.c:1110
#81 0x000055a23571bcb7 in unlinked_circuit_closed (circ=0x55a23cd5b6d0)
at src/core/or/conflux_pool.c:1426
#82 conflux_circuit_has_closed (circ=circ@entry=0x55a23cd5b6d0)
at src/core/or/conflux_pool.c:1632
#83 0x000055a2356f6875 in circuit_mark_for_close_ (circ=0x55a23cd5b6d0,
reason=0, line=line@entry=547,
file=file@entry=0x55a23582f102 "src/core/or/circuitbuild.c")
at src/core/or/circuitlist.c:2262
#84 0x000055a2356ef88a in circuit_establish_circuit_conflux (
conflux_nonce=conflux_nonce@entry=0x7ffc342cc6b0 "\215Oĩaa8\307R\325\035\344C\304_2\020\205\354\347&O\213\221\300D\251\301g\343,MP\250\325<\242U",
purpose=purpose@entry=25 '\031', exit_ei=exit_ei@entry=0x55a236878cd0,
flags=flags@entry=70) at src/core/or/circuitbuild.c:547
```
I still have the core, but my internet for the next days is pretty crappy so I will try to respond as I can. :)
This is Tor running from git commit d5306e107f. I can't easily trigger it, or I would try a git bisect. It's been happening since before the Tor 0.4.8.1-alpha release. I am just a client.Tor: 0.4.8.x-stableMike PerryMike Perryhttps://gitlab.torproject.org/tpo/core/tor/-/issues/40810In Shadow, rare case with 3 conflux legs rather than 22023-06-15T17:20:30ZMike PerryIn Shadow, rare case with 3 conflux legs rather than 2```
Jan 01 00:16:28.462 [warn] tor_bug_occurred_(): Bug: src/core/or/conflux_util.c:378: conflux_validate_legs: Non-fatal assertion !(smartlist_len(cfx->legs) > conflux_params_get_num_legs_set()) failed. (on Tor 0.4.8.1-alpha-dev dec385e...```
Jan 01 00:16:28.462 [warn] tor_bug_occurred_(): Bug: src/core/or/conflux_util.c:378: conflux_validate_legs: Non-fatal assertion !(smartlist_len(cfx->legs) > conflux_params_get_num_legs_set()) failed. (on Tor 0.4.8.1-alpha-dev dec385ebc6bfe8ea)
Jan 01 00:16:28.462 [warn] Bug: Tor 0.4.8.1-alpha-dev (git-dec385ebc6bfe8ea): Non-fatal assertion !(smartlist_len(cfx->legs) > conflux_params_get_num_legs_set()) failed in conflux_validate_legs at src/core/or/conflux_util.c:378. Stack trace: (on Tor 0.4.8.1-alpha-dev dec385ebc6bfe8ea)
Jan 01 00:16:28.462 [warn] Bug: /root/.local/bin/tor(log_backtrace_impl+0x5a) [0x558cb3dcc5ca] (on Tor 0.4.8.1-alpha-dev dec385ebc6bfe8ea)
Jan 01 00:16:28.462 [warn] Bug: /root/.local/bin/tor(tor_bug_occurred_+0x16f) [0x558cb3dd788f] (on Tor 0.4.8.1-alpha-dev dec385ebc6bfe8ea)
Jan 01 00:16:28.462 [warn] Bug: /root/.local/bin/tor(conflux_validate_legs+0x1a7) [0x558cb3e6b087] (on Tor 0.4.8.1-alpha-dev dec385ebc6bfe8ea)
Jan 01 00:16:28.462 [warn] Bug: /root/.local/bin/tor(conflux_decide_next_circ+0x2a) [0x558cb3e642aa] (on Tor 0.4.8.1-alpha-dev dec385ebc6bfe8ea)
Jan 01 00:16:28.462 [warn] Bug: /root/.local/bin/tor(conflux_decide_circ_for_send+0x58) [0x558cb3e64768] (on Tor 0.4.8.1-alpha-dev dec385ebc6bfe8ea)
Jan 01 00:16:28.462 [warn] Bug: /root/.local/bin/tor(relay_send_command_from_edge_+0x302) [0x558cb3d7a8a2] (on Tor 0.4.8.1-alpha-dev dec385ebc6bfe8ea)
Jan 01 00:16:28.462 [warn] Bug: /root/.local/bin/tor(connection_edge_send_command+0x72) [0x558cb3d7abf2] (on Tor 0.4.8.1-alpha-dev dec385ebc6bfe8ea)
Jan 01 00:16:28.462 [warn] Bug: /root/.local/bin/tor(connection_edge_finished_connecting+0xad) [0x558cb3e829ed] (on Tor 0.4.8.1-alpha-dev dec385ebc6bfe8ea)
Jan 01 00:16:28.462 [warn] Bug: /root/.local/bin/tor(connection_handle_write+0x765) [0x558cb3e7b5c5] (on Tor 0.4.8.1-alpha-dev dec385ebc6bfe8ea)
Jan 01 00:16:28.462 [warn] Bug: /root/.local/bin/tor(+0x6e892) [0x558cb3d53892] (on Tor 0.4.8.1-alpha-dev dec385ebc6bfe8ea)
Jan 01 00:16:28.462 [warn] Bug: /lib/x86_64-linux-gnu/libevent-2.1.so.7(+0x2113f) [0x7f215ee9013f] (on Tor 0.4.8.1-alpha-dev dec385ebc6bfe8ea)
Jan 01 00:16:28.462 [warn] Bug: /lib/x86_64-linux-gnu/libevent-2.1.so.7(event_base_loop+0x52f) [0x7f215ee9087f] (on Tor 0.4.8.1-alpha-dev dec385ebc6bfe8ea)
Jan 01 00:16:28.462 [warn] Bug: /root/.local/bin/tor(do_main_loop+0xe1) [0x558cb3d54d91] (on Tor 0.4.8.1-alpha-dev dec385ebc6bfe8ea)
Jan 01 00:16:28.462 [warn] Bug: /root/.local/bin/tor(tor_run_main+0x195) [0x558cb3d50705] (on Tor 0.4.8.1-alpha-dev dec385ebc6bfe8ea)
Jan 01 00:16:28.462 [warn] Bug: /root/.local/bin/tor(tor_main+0x3e) [0x558cb3d4cc9e] (on Tor 0.4.8.1-alpha-dev dec385ebc6bfe8ea)
Jan 01 00:16:28.462 [warn] Bug: /root/.local/bin/tor(main+0x1d) [0x558cb3d4c84d] (on Tor 0.4.8.1-alpha-dev dec385ebc6bfe8ea)
Jan 01 00:16:28.462 [warn] Bug: /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf3) [0x7f215e913083] (on Tor 0.4.8.1-alpha-dev dec385ebc6bfe8ea)
Jan 01 00:16:28.462 [warn] Bug: /root/.local/bin/tor(_start+0x2e) [0x558cb3d4c8ae] (on Tor 0.4.8.1-alpha-dev dec385ebc6bfe8ea)
Jan 01 00:16:28.462 [warn] conflux_validate_legs(): Bug: BADSTUFF: Number of legs is above maximum of 2 allowed: 3
```
This happened 3 times in one of the 3 runs. So roughly 3 out of ~750k circuits. If I had to guess, this means somewhere in the maze, we think a leg has failed, but it actually ends up succeeding later?
It is not serious, but this backtrace could also emerge on live, since conflux_validate_legs() is still being performed there.
At minimum, we can add a call to `conflux_log_set()` there, to try to get more info on what these legs are.Tor: 0.4.8.x-stableMike PerryMike Perry