| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Sometimes commands in their `_prep()` might need to assume
the user they're running as does actually exist. Since there's
only one user name guaranteed to exist (gitano-bypass) ensure
that when `as` runs against a user which doesn't exist, we run
the original command's `_prep()` against that user so that we
don't leak the non-existence of a username via a crash/traceback.
This fixes Debian bug #876078
|
|
|
|
|
|
|
| |
When a tabular value is given to Lace, we assume that it is in 'set'
form (i.e. the keys are the important thing to match against) and
as such, we need to ensure we skip non-string keys since tables might
be dual form (set, and list).
|
| |
|
| |
|
| |
|
|
|
|
| |
And a newline.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
The smart-http interface starts http-backend which calls receive-pack.
Unfortunately we were performing the dangling-HEAD check
after calling receive-pack ourselves,
so when using smart-http we weren't performing the check.
By moving this into the post-receive hook
the check can be performed in smart-http too.
|
| |
|
| |
|
|
|
|
|
|
| |
When deleting or renaming users, the htpasswd file needs
updating so that we don't leave stale or incorrectly assigned
user credentials around.
|
| |
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| | |
This hook is permitted to adjust the command line before it is
passed on to command authorisation. This is needed for a number
of use-cases requested around permitting a plugin to provide domain
specific command line shapes without needing to adjust Gitano's
core command structures.
|
| |
| |
| |
| |
| |
| |
| | |
This adjusts the core gitano module to export gitano.hooks.
In addition, we bump the API version to 1.1.0 since we're adding
in a new API (hooks)
|
| |
| |
| |
| |
| |
| | |
This adds hook names to the gitano.hooks API which is there to
explain what the hook functions should do, and to provide a logical
name for hooks, rather than expecting people to not typo strings.
|
| |
| |
| |
| |
| |
| |
| |
| | |
The gitano.hooks module is intended to support a variety of hooks, both those
defined by Gitano itself; and those added by plugins.
Hooks are meant as a means to propagate information and also to permit
alteration of arguments before work is done.
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
Having both local definitions for each exported pattern
and the export in the package was not helpful,
and in fact caused accidents while developing
where the package was filled with undefined variables.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Gitano's executables, in addition to being required for operation,
are intended to be examples of how to use the gitano library,
so rather than importing with require "gitano.patterns",
gitano should be imported and use gitano.patterns.
No changes to imports are made inside lib/gitano/
because this would cause an import loop.
|
|/
|
|
|
|
|
| |
This has moved every pattern that wasn't obviously just for string manipulation
and has in the process of doing so reworked some logic
so that fewer distinct patterns are used,
and the repository path normalisation has been unified.
|
|
|
|
|
| |
This change ensures that the server-info files are created
at the point that a repository is realised.
|
| |
|
|
|
|
|
|
| |
Correct the default expression for content-type in POST actions
from application/octet-stream to "application/octet-stream" which
is less likely to cause a nil/nil-nil type evaluation.
|
| |
|
| |
|
|
|
|
|
| |
It was named keyring when listing keyrings,
but all the other keyring commands called it keyringname.
|
|
|
|
|
|
|
|
|
| |
It's a security risk to allow gitano to write to an arbitrary path
based on the value of an environment variable.
It's low risk since by default gitano is run directly by
the http or ssh server, which do not set variables by default,
but it's trivial enough to leave it commented out.
|
| |
|
|
|
|
| |
`prefix` and `suffix` operators exist, and make this redundant.
|
| |
|
|
|
|
|
|
| |
This is a massive unpleasant commit which does whitespace cleanup
and fixes indentation (including untabifying). Hopefully we won't
need to do this ever again, if we keep an eye on commits.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This would previously break because if it's updating htpasswd
it passes an empty argument rather than no argument.
Rather than stop it passing the empty argument
this patch instead passes -i flags unconditionally
and merges the flags argument.
This is to make it use the batch-input code-path
which doesn't attempt to use a tty for its input,
since it caused issues in the test suite
which fakes the server.
This requires changing it to only pass the password as input once.
|
| |
|
| |
|
| |
|
|
|
|
| |
The '-' fails to represent a range between '.' and '_'.
|
| |
|
| |
|
| |
|
|
|
|
| |
gitano.auth.is_authorized uses it
|