{"record":{"id":"86969518b7958b4a","repo":"Pumpkin-MC/Pumpkin","slug":"failed-to-parse-uuid","errorCode":null,"errorMessage":"Failed to parse UUID","messagePattern":"Failed to parse UUID","errorType":"exception","errorClass":"BungeeCordError","httpStatus":null,"severity":"error","filePath":"crates/pumpkin/src/net/proxy/bungeecord.rs","lineNumber":19,"sourceCode":"use arc_swap::ArcSwap;\nuse sha2::{Digest, Sha256};\nuse std::sync::Arc;\nuse std::{net::IpAddr, net::SocketAddr};\nuse thiserror::Error;\nuse tracing::warn;\n\nuse crate::net::{GameProfile, offline_uuid};\nuse pumpkin_protocol::Property;\n\n/// The property name the `BungeeGuard` plugin uses to forward its shared\n/// secret inside the profile properties.\nconst BUNGEEGUARD_TOKEN_PROPERTY: &str = \"bungeeguard-token\";\n\n#[derive(Error, Debug)]\npub enum BungeeCordError {\n    #[error(\"Failed to parse address\")]\n    FailedParseAddress,\n    #[error(\"Failed to parse UUID\")]\n    FailedParseUUID,\n    #[error(\"Failed to parse properties\")]\n    FailedParseProperties,\n    #[error(\"Failed to make offline UUID\")]\n    FailedMakeOfflineUUID,\n    #[error(\"No BungeeGuard token in forwarded data\")]\n    MissingToken,\n    #[error(\"Invalid BungeeGuard token\")]\n    InvalidToken,\n}\n\n/// Attempts to login a player via `BungeeCord`.\n///\n/// This function should be called when receiving the `SLoginStart` packet.\n/// It utilizes the `server_address` received in the `SHandShake` packet,\n/// which may contain optional data about the client:\n///\n/// 1. IP address (if `ip_forward` is enabled on the `BungeeCord` server)","sourceCodeStart":1,"sourceCodeEnd":37,"githubUrl":"https://github.com/Pumpkin-MC/Pumpkin/blob/8d4639e25a57c15e47448ec327c780d41bbf2356/crates/pumpkin/src/net/proxy/bungeecord.rs#L1-L37","documentation":"BungeeCordError sentinel from BungeeCord IP-forwarding parsing: the UUID field of the forwarded player profile could not be parsed. The faulty input is the UUID string sent by the BungeeCord proxy in its handshake data — malformed, empty, or in an unexpected format, generally due to a misconfigured or incompatible proxy.","triggerScenarios":"Thrown at crates/pumpkin/src/net/proxy/bungeecord.rs:19 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Reject the connection","Ensure the forwarding string has the correct field order (IP|port|UUID|properties)","Log the invalid UUID at debug level"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"8d4639e25a57c15e47448ec327c780d41bbf2356","analyzedAt":"2026-09-09T15:32:22.916Z","contentChangedAt":"2026-09-09T15:32:22.916Z","schemaVersion":2},"datasetVersion":"2026-09-17T15:17:12.973Z"}