
Hello everyone, I hope everyone's doing well. This is a 3 week report(June 19 - July 8)for the GSoC(Google Summer of Code) Project, eRPC(An efficient Relay Partition Checker). Project Repo : https://gitlab.torproject.org/rishadbaniya/erpc Let me explain the progress of the project and the challenges. So far, the relay partition checking tool is ~50% complete, it achieves the goal of checking for partition by creating two hop circuits between all the relays present in the tor_netdir::NetDir provided by arti, it also handles the influx of relays by wrapping around the DirMgr provided by arti. You can run the application through here : https://gitlab.torproject.org/rishadbaniya/erpc#running-primary-worker and also explore it's structure through here : https://gitlab.torproject.org/rishadbaniya/erpc/-/wikis/home Let's go through an important challenges that I am trying to solve and community members involved in "arti" might help me out on this -: Segregating the errors that occurred while attempting to build a circuit: Here are list of all the errors that can occur while attempting to build a circuit : https://docs.rs/tor-circmgr/0.9.1/src/tor_circmgr/err.rs.html#18 While running the erpc application and building thousands of circuits, we found out that The most common error of all was : https://docs.rs/tor-circmgr/0.9.1/src/tor_circmgr/err.rs.html#111, which was mostly due to OS level errors. It would be great to have your feedback regarding how we should consider a relay being partitioned simply through those errors at https://gitlab.torproject.org/rishadbaniya/erpc/-/issues/18 With Regards, Rishad Baniya