on d41c2bf help sign in
history ofserver.knot
all commits
b1414f5Simplify code and improve type safety: add DeliveryStatus, inline result ADTs, factor retryEvictedAcks, type route params as Timestampiko 3f992e7Simplify code and improve type safety: factor deriveKey and truncate helpers, type Sent as MessageStatus, use match\! in CmdLoadStateiko 70b03edSimplify code: combine adjacent where clauses, type server lists as [ServerName], factor authenticateRequest helperiko 5889a08Simplify code and improve type safety: JsonNumberHandling, resource disposal, explicit MessageStatus patterns, use Option.ofObj, factor authenticateRequestiko 6357861Simplify code: combine where clauses, factor broadcastOfflineGossip, parameterize sendBatchedGossip hops, optimize evictioniko 5c34fabSimplify code and improve type safety: combine Identity and ConnState into AuthState, type SendResult.Status as MessageStatus, use Option.ofObj, handle message rejection, skip spurious connectiko 01f5f20Simplify code and improve type safety: use wildcard patterns, factor broadcastOfflineGossip, bind token once, combine where clauses, type LookupResult.foundServer as OptionalServerNameiko f4311e3Simplify code and improve type safety: dedup capPerKey, refactor authenticateSession with headOf, nest when conditions, use any instead of single, type SendResult.status as MessageStatusiko e692eb5Simplify code and improve type safety: make capPerKey filter expired items, extract shouldForward condition, use explicit pattern matches, merge ForwardMessage guard into atomic blockiko 64e0fdcSimplify code and improve type safety: declare handler result sum types, replace -1 sentinel with Maybe, combine double case match, move dedup inside guardiko 7683837Simplify code and improve type safety: replace -1 sentinel with Maybe, flatten pr nesting, extract guard conditions, simplify forward removaliko 84ef369Simplify code and improve type safety: use sum types for poll/verify/send/ack/lookup handlers, eliminate dummy values and pr duplication, flatten guard conditioniko 6bfbd45Simplify code and improve type safety: combine auth flow, make response types private, normalize TextEnvelope naming, remove no-op messageiko 13e9b38Simplify server code and improve type safety: use sum types for auth/result handlers, nest prune results, eliminate dummy values and shouldInsert flagiko 61c0ab0Simplify code and improve type safety: replace manual JSON parsing with typed deserialization, use JsonPropertyNameiko f11ecd2Simplify client code and improve type safety: remove unused AuthResult, eliminate dead getJson, replace LoadedState with discriminated unioniko 79a607dSimplify code and improve type safety: sum type AuthResult, validate gossip once, consolidate over-capacity logic, extract forEachBatchiko e6337c8Simplify code and reduce redundant computation: remove empty-string validations, compute values once, replace fold with mergeByPubkeyServer, consistent filteringiko b86f18aSimplify code and improve type safety: add eventType to ValidGossipEntry, eliminate redundant filtering and scansiko ab639f4Simplify code and improve type safety: remove ForwardInfo, inline computed properties, add ValidGossipEntry, short-circuit validGossipEventsiko 53111fdSimplify code and improve type safety: introduce ForwardInfo type, optimize any helper, remove no-ops, merge conditionsiko f880fd2Simplify code and improve type safety: remove no-op fetch matches, merge checks, simplify boolean logic, narrow PollEventTypeiko 06f6fccSimplify code and improve type safety: introduce AuthResult/PruneResult types, replace helper functions with cleaner patternsiko 82cb0cdSimplify server code and improve type safety: introduce named types for persisted state, recursive genToken, remove dead code; add client persistence layeriko 064c373Introduce derived relations &pendingAcks and &knownMessageKeys for cleaner federation and dedup logiciko 9520409Simplify code and improve type safety: extract mergeByKey helper, eliminate post-hoc status corrections, and inline redundant validAck aliasiko 3964fd8Extract helpers (firstOf, sessionPubkey, forkBroadcastOffline, removeForward) and add MessageStatus type for improved clarity and type safetyiko 6f5e820Extract helpers and refine type safety in server handlersiko 82fcdc7Extract helper functions to reduce code duplication in state management and gossip handlingiko 77e2bb1Simplify code and improve type safety with helper functions and refined typesiko 4c8ee60Extract helpers and refine types to reduce code duplication and improve type safetyiko c040476Simplify code and improve type safety with helper functions and refined typesiko 9d5373aFix timeout handling with custom task awaiter and standardize timestamps to millisecondsiko ac8c87fBatch federation ack message IDs to respect maxMessageIds limitiko d7ac423Move validation into refined types to simplify handlersiko b018bb7Fix poll request: change from GET with query params to POST with JSON body, fix timeout from 30ms to 30000msiko a2e3a5eFix gossip event suppression: restrict offline suppression to authoritative serveriko cba8c2eFix formatting in sendAcksAndClean (move closing paren to new line)iko 55073b2Fix 4 bugs: remove dead code, handle long strings in safeCompare, parallelize federation I/O, prevent overlapping prune cyclesiko 40ea04cFix 3 bugs: ack cleanup should match toKey, add warning for lost acks under capacity, restrict offline gossip to authoritative server onlyiko 478c21aFix 3 bugs: block bare local/internal in SSRF checks, correct sendBatchedGossip effect type, cap forwards storageiko e5192b2Fix 4 bugs: prevent forward leaks when federation disabled, bind fetch results, continue gossip batches on error, fork network I/O to avoid blocking responsesiko 93a36beHandle federation fetch errors and simplify presence checking logiciko 87be4d9Fix traverse bug in retryPendingForwards and block numeric IP addresses in SSRF checksiko 3d339cbFix three SSRF bypasses in isBadServerName IP prefix checksiko 2cefad7Fix sendToEach missing recursion and safeCompareLoop timing leakiko 2f6cb27Fix three security bugs: safeCompare, VerifyAuth gossip filtering, and lookupSession collision handlingiko 35cfa8dFix session token timing side channel and ackedIds capacity violation in server.knotiko 46543dbAdd missing `in` keywords to let-bindings and parenthesize negative literals in server.knotiko a263102Fix four security and correctness bugs in server.knot: safeCompareLoop constant-time comparison for strings >256 chars, server name normalization before length validation DoS, backgroundPrune recursion stack growth, and cloud metadata/mDNS hostname SSRFiko