use tracing::info; #[tokio::main] async fn main() -> eyre::Result<()> { tracing_subscriber::fmt::init(); let creds_dir = std::path::PathBuf::try_from(std::env::var("CREDENTIALS_DIRECTORY")?)?; let vsock_port = std::fs::read_to_string(creds_dir.join("sidebus.port"))? .trim() .parse::()?; let vsock_addr = zbus::Address::from(zbus::address::Transport::Vsock( zbus::address::transport::Vsock::new(2, vsock_port), )); info!("connecting to session bus"); let session_conn = zbus::connection::Builder::session()?.p2p().build().await?; let vsock_conn = zbus::connection::Builder::address(vsock_addr)? .server(session_conn.server_guid()) .unwrap() .p2p() .auth_mechanism(zbus::AuthMechanism::Anonymous) .build() .await .unwrap(); info!(guid = %vsock_conn.server_guid(), "connected to vsock bus"); sidebus_common::raw::splice_conns(vsock_conn, session_conn).await; Ok(()) }