HomePhabricator

In "bin/ssh-auth", cache a structure instead of a flat file because paths may…

Description

In "bin/ssh-auth", cache a structure instead of a flat file because paths may change at runtime

Summary:
Fixes T12397. Ref T13164. See PHI801.

Several installs have hit various use cases where the path on disk where Phabricator lives changes at runtime. Currently, bin/ssh-auth caches a flat file which includes the path to bin/ssh-exec, so this may fall out of date if phabricator/ moves.

These use cases have varying strengths of legitimacy, but "we're migrating to a new set of hosts and the pool is half old machines and half new machines" seems reasonably compelling and not a problem entirely of one's own making.

Test Plan:

  • Compared output on master to output after change, found them byte-for-byte identical.
  • Moved phabricator/ to phabricator2/, ran bin/ssh-auth, got updated output.
  • Added a new SSH key, saw it appear in the output.
  • Grepped for AUTHFILE_CACHEKEY (no hits).
  • Dropped the cache, verified that the file regenerates cleanly.

Reviewers: amckinley

Reviewed By: amckinley

Maniphest Tasks: T13164, T12397

Differential Revision: https://secure.phabricator.com/D19568