Age | Commit message (Collapse) | Author | Files | Lines |
|
Bail out early if the source array contains an entry with more than 8000
characters.
Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
|
|
According to RFC 7230, URLs can be up too 8000 characters long. Resize
all URL fields accordingly.
Also, add a test to verify that URLs with more than 8000 characters are
rejected by the update hook.
Reported-by: Andreas Linz <klingt.net@gmail.com>
Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
|
|
Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
|
|
Remove obsolete files. Add byte-compiled Python files and test results.
Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
|
|
Move the Git interface scripts from git-interface/ to aurweb/git/. Use
setuptools to automatically create wrappers which can be installed using
`python3 setup.py install`. Update the configuration files, the test
suite as well as the INSTALL and README files to reflect these changes.
Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
|
|
When clicking on the linked Git clone URL of a package base, users are
faced with a 404 error page since the URL is not supposed to be opened
in a web browser. Add some notes to 404 error pages corresponding to Git
clone URLs that explain how to use them instead.
Fixes FS#51266.
Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
|
|
Add support for the `git receive-pack` and `git upload-pack` commands
which are aliases for git-receive-pack and git-upload-pack,
respectively.
Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
|
|
Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
|
|
Add a test to make sure that Trusted Users, who already voted on a
proposal, do not receive any reminders.
Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
|
|
Instead of only checking whether the notification script is called with
the correct parameters, actually invoke the real notify script and check
whether proper notifications are generated.
Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
|
|
Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
|
|
Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
|
|
Support for multiple servers has never been used by the official aurweb
setup and the current implementation makes it impossible to use server
URIs that contain spaces. For simplicity, change the implementation such
that only a single server is supported.
Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
|
|
Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
|
|
Avoid using UNIX_TIMESTAMP which is not part of the SQL standard.
See f2a6bd2 (git-interface: Do not use UNIX_TIMESTAMP, 2016-08-05) for
related changes.
Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
|
|
Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
|
|
Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
|
|
Instead of writing the output to hardcoded files (relative to the
document root), make the output paths of mkpkglists configurable.
Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
|
|
Add information on the new directory layout. Shared Python modules and
tests now have their own subdirectories.
Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
|
|
Move and rename the existing git-interface tests such that tests for
other scripts can be added easily.
In particular, the following changes are made:
* Move the existing tests from git-interface/test/ to test/.
* Rename t0001-auth.sh to t1100-git-auth.sh.
* Rename t0002-serve.sh to t1200-git-serve.sh.
* Rename t0003-update.sh to t1300-git-update.sh.
Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
|
|
Determine the top-level directory before running tests and make all
script paths relative to that directory.
Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
|
|
Instead of using configparser and mysql.connector directly, change all
Python scripts to use the config and db Python modules which are now
accessible from a common location.
Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
|
|
Instead of using relative imports, add support for installing the config
and db Python modules to a proper location using setuptools. Change all
git-interface scripts to access those modules from the search path.
Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
|
|
Move the main program logic of git-update to a main() method such that
it can be used as a module and easily be invoked by setuptools wrapper
scripts.
Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
|
|
Move the main program logic of git-serve to a main() method such that it
can be used as a module and easily be invoked by setuptools wrapper
scripts.
Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
|
|
Move the main program logic of git-server to a main() method such that
it can be used as a module and easily be invoked by setuptools wrapper
scripts.
Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
|
|
Move the main program logic of git-auth to a main() method such that it
can be used as a module and easily be invoked by setuptools wrapper
scripts.
Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
|
|
Move the main program logic of all scripts to main() methods such that
they can be used as modules and easily be invoked by setuptools wrapper
scripts.
Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
|
|
Add a new script that checks for TU votes ending within the next 48
hours and sends reminder emails to all Trusted Users who did not cast
their votes yet.
The script is designed to be executed as a cron job, such that the check
is performed periodically. Since the script does not remember users it
already sent emails to, the interval should not be chosen too small to
avoid spamming.
Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
|
|
Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
|
|
Add support for changing co-maintainers from the SSH interface. The
syntax is `set-comaintainers <pkgbase> <user1> <user2>...`.
Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
|
|
Add support for disowning packages from the SSH interface. The syntax is
`disown <pkgbase>`.
Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
|
|
Add support for adopting packages from the SSH interface. The syntax is
`adopt <pkgbase>`.
Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
|
|
Remove the formatting of the usage text and add code to columnize it
automatically instead.
Also, add more strict tests for the usage output. These new tests ensure
that the usage header is printed, commands are indented properly and no
overly long lines are produced.
Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
|
|
Since 0c1187c (git-serve: Deprecate setup-repo, 2016-07-24), it is no
longer recommended to use setup-repo. Mark the command as deprecated in
the usage/help text.
Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
|
|
The repo variable is already used to store the pygit2.Repository.
Fixes a regression introduced in d273ee5 (Use the official provider list
to detect duplicates, 2016-05-17).
Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
|
|
When using SQLite as backend, we need to close the cursor before closing
the database to avoid the following error:
sqlite3.OperationalError: unable to close due to unfinalized statements or unfinished backups
Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
|
|
Instead of testing the exit code only, also check the error output.
This reveals two bugs. The corresponding tests are marked as known
breakages.
Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
|
|
This is used by the MySQL database backend.
Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
|
|
Signed-off-by: Johannes Löthberg <johannes@kyriasis.com>
Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
|
|
Signed-off-by: Johannes Löthberg <johannes@kyriasis.com>
Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
|
|
Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
|
|
Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
|
|
Package bases are created by git-update automatically when the
repository receives a ref update for the first time.
Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
|
|
Create new package bases just before saving package metadata. This
protects from stray package bases left behind when new packages are
rejected, e.g. when the user tries to push a package that is available
from the official repositories already.
Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
|
|
Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
|
|
Test the restore mode of git-serve and git-update.
Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
|
|
Add tests for common scenarios that should be detected/handled by the
update hook.
Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
|
|
Add tests for common scenarios that should be detected/handled by the
git-serve script.
Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
|
|
Test the authentication script with an invalid key type and with a key
that does not exist in the database.
Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
|