Skip to content

Protocol v2 object-info is not advertised and bypasses remote object access #80

Open

Description

@behinddwalls

Summary

The protocol v2 object-info command has a handler but is not advertised, and its object reads bypass the remote object-access path.

Current behavior

The v2 capability advertisement omits object-info, making the implemented command undiscoverable to conforming clients. If invoked, the handler reads through the local repository path instead of the remote object-access abstraction used for repositories whose packs do not fit locally. The related cache.object_info_entries setting is also not used by the cache implementation.

Expected behavior

If supported, object-info should be advertised and work for both locally materialized and remote-served repositories, with the configured cache bound enforced. Otherwise, the incomplete handler and inert cache setting should be removed.

Suggested implementation

Advertise the command, route lookups through ObjectAccess, implement the bounded result cache, and add protocol tests with a remote-served base. Alternatively, remove the command and its setting until the complete serving contract is implemented.

Relevant code

  • crates/walgit-server/src/smart.rs:134
  • crates/walgit-server/src/smart.rs:335
  • crates/walgit-config/src/lib.rs:322
  • crates/walgit-server/src/cache.rs:252

Activity

  1. behinddwalls commented on Sep 30, 2026

    @behinddwalls
    Author

    Draft fix: #88

    This PR is part of the ordered draft stack #85 through #92.

  2. added a commit that references this issue on Oct 1, 2026
    c51b778
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions