summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Packages: Add repo options to additional_dataAlexander Sulfrian2022-01-231-0/+2
|
* Packages: Add 'pin' attributeAlexander Sulfrian2022-01-231-2/+5
|
* Packages: Add priority to sources and sort themAlexander Sulfrian2022-01-232-2/+9
|
* Packages: Add "pyapt" source typeAlexander Sulfrian2022-01-173-9/+105
| | | | | | | | Pyapt is a new source that is using the apt python bindings to parse the Packages files from debian repositories. Compared to the python implementation it is faster and more robust. It will use the dependencies of the newest version of a package from a specific source (because it can use the python bindings to compare the version numbers).
* Packages: Support different compression methodsAlexander Sulfrian2022-01-1710-20/+173
| | | | | | | The new Reader classes implement different compression methods for the files parsed by the Packages backends. Each source can specify a default compression format. The user can configure a compression format per Source and the filename and extension for the metadata files are generated automatically.
* Fix default timezone in debian busterupstream/masterJohannes Kampmeyer2019-11-261-1/+1
| | | | | | bcfg2-web will fail without setting a valid time zone in newer django versions. This fix initializes the time zone as utc instead of None, to fix most setups without directly breaking functionality. [reporting] TIME_ZONE = <valid_tz>
* Merge branch 'fix/recent-interactions' of https://github.com/AlexanderS/bcfg2Sol Jerome2019-10-141-1/+2
|\
| * Reporting: Fix add_url_filter fallbackAlexander Sulfrian2019-06-171-1/+2
| | | | | | | | | | | | django-1.8 deprecated referencing views as strings in the url(), so we need to import the fallback view and referencing the view function directly.
* | Do not encode py3 strings to utf-8 again. Compat.unicode matches strings and ↵xschlef2019-07-181-1/+2
|/ | | | unicode in py3.
* Lint: Import lint plugins with package nameAlexander Sulfrian2019-05-101-1/+4
| | | | | When importing packages we should not pollute the global modules namespace and always import new modules with their package name.
* Fix server shutdownAlexander Sulfrian2018-10-121-0/+4
|
* POSIX: Don't follow symlinks when changing ownerHolger Weiß2018-05-181-3/+3
| | | | | Don't let the client follow symbolic links when changing the owner of a path.
* Remove superfluous space to make sphinx happyAlexander Sulfrian2018-03-221-1/+1
|
* Merge pull request #396 from solj/add-missing-reporting-entriesAlexander Sulfrian2018-03-221-2/+6
|\ | | | | Reporting: Add SELinux entries
| * Reporting: Add SELinux entriesSol Jerome2017-11-301-2/+6
| | | | | | | | Signed-off-by: Sol Jerome <sol.jerome@gmail.com>
* | Reporting: Fix syntax of "cycle" templatetagAlexander Sulfrian2018-03-219-12/+12
| | | | | | | | | | | | | | | | | | | | | | | | The backwords compatible syntax was removed in 1.10. The "new" syntax is available since 11 years [1] and was already available in django 1.0 [2]. > Support for the syntax of {% cycle %} that uses comma-separated > arguments is removed. [3] [1]: https://code.djangoproject.com/ticket/208 [2]: https://github.com/django/django/commit/09145d2e5f [3]: https://docs.djangoproject.com/en/2.0/releases/1.10/#features-removed-in-1-10
* | Reporting: Fix template settings for django 1.10Alexander Sulfrian2018-03-211-9/+29
| | | | | | | | | | | | | | | | Django 1.8 deprecated the multiple TEMPLATE_* settings and introduced a single TEMPLATES config option. Django 1.10 stopped creating a backwards-compatible TEMPLATES based on the TEMPLATE_* settings. (See: https://docs.djangoproject.com/en/1.10/ref/templates/upgrading/#the-templates-settings)
* | Reporting: Use django.shortcuts.renderAlexander Sulfrian2018-03-211-40/+32
| | | | | | | | | | | | | | Replace django.shortcuts.render_to_response with django.shortcuts.render because the context_instance argument was deprecated in django 1.8 and removed in django 1.10. The render shortcut is available since django 1.3, so we can use it without a version check.
* | Reporting: Fix compat for "patterns" in django1.10Alexander Sulfrian2018-03-211-2/+2
|/
* Merge branch 'feature/ldap-enhancements' of https://github.com/AlexanderS/bcfg2Sol Jerome2017-08-314-85/+191
|\
| * Server/Plugins/Ldap: Fix module nameAlexander Sulfrian2017-03-211-1/+2
| | | | | | | | | | | | | | | | | | If the module name contains slashes, python will issue an warning: > Ldap/config.py:1: RuntimeWarning: Parent module '__Ldap_/root/repo/Ldap/config' not found while handling absolute import > from Bcfg2.Server.Plugins.Ldap import LdapConnection, LdapQuery So we simply use the basename without the file extension for the module name.
| * Server/Plugins/Ldap: Support arbitrary ldap optionsAlexander Sulfrian2017-03-211-2/+7
| | | | | | | | | | | | You can now set arbitrary ldap option for the connection by specifying a dict with the key and the value. You should use the constants from python-ldap.
| * Server/Plugins/Ldap: Support specifying the ldap uriAlexander Sulfrian2017-03-211-6/+12
| | | | | | | | | | | | | | You can now specify the server to connect by either host (and optionally port) or by specifying the full ldap uri. If you specify host and port the connection will use the plain (unencrypted) ldap protocol by default. Only if you specify the port "636", it will use ldaps now.
| * Server/Plugins/Ldap: Cache the results of the Ldap queriesAlexander Sulfrian2017-03-211-17/+52
| | | | | | | | | | | | | | Using the OnDemandDict removes the results of Ldap queries from the client_metadata cache. We add a new cache per hostname cache for the single ldap queries and add a new configuration option to enable caching until the cache is expired manually via XML-RPC.
| * Server/Plugins/Ldap: Add missing argumentAlexander Sulfrian2017-03-211-1/+2
| |
| * Server/Cache: Return the number of expired itemsAlexander Sulfrian2017-03-211-4/+13
| |
| * Server/Plugins/Ldap: Use CallableDictAlexander Sulfrian2017-03-211-14/+28
| | | | | | | | | | With the CallableDict the LdapQueries will only be executed, if the values are used.
| * Server/Plugin: CallableDict is an OnDemandDict without cachingAlexander Sulfrian2017-03-211-16/+46
| | | | | | | | | | | | Add a CallableDict (like OnDemandDict, but without caching the results) to have a dict-like class, that can be cached with the client metadata without caching the dynamic values.
| * Server/Plugin: Support functions and values for OnDemandDictAlexander Sulfrian2017-03-211-4/+9
| | | | | | | | Now you can also specify simple values for the OnDemandDict.
| * Server/Plugin: Move OnDemandDict to helpersAlexander Sulfrian2017-03-212-50/+50
| | | | | | | | The OnDemandDict could be used by different plugins.
* | Merge branch 'feature/travis-container' of https://github.com/AlexanderS/bcfg2Sol Jerome2017-08-1814-42/+55
|\ \
| * | Bcfg2/manage.py: Fix pylint errorsAlexander Sulfrian2017-03-291-6/+14
| | |
| * | Utils: classproperty should use classmethodAlexander Sulfrian2017-03-291-1/+1
| | |
| * | Client: Restore python2.4 compatibilityAlexander Sulfrian2017-03-291-0/+1
| | |
| * | Fix errros with old pylint/pep8Alexander Sulfrian2017-03-2912-35/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For Python2.4 we need older version of pylint and pep8, that finds some more errors: - On python2.4 _ast is not available and pylint uses compiler.ast, that seems to have some problems with the line numbers if a comment is following the pylint disable marker. - In python2.4 there is no xml.etree. But we can ignore this error because Client.XML tries to find a suitable library. - Some small formatting issues.
* | | Merge branch 'import-models' of https://github.com/0/bcfg2 into ↵Sol Jerome2017-07-111-2/+2
|\ \ \ | | | | | | | | | | | | | | | | | | | | add-missing-reporting-entries Signed-off-by: Sol Jerome <sol.jerome@gmail.com>
| * | | Reporting/Storage: Import ActionEntryDmitri Iouchtchenko2017-05-081-2/+2
| | | | | | | | | | | | | | | | It wasn't included in the transition from a wildcard import in 255faaf.
* | | | Reporting: Add POSIX User/Group Entry typesSol Jerome2017-07-111-2/+4
|/ / / | | | | | | | | | Signed-off-by: Sol Jerome <sol.jerome@gmail.com>
* | | Merge pull request #388 from 0/import-serviceentryAlexander Sulfrian2017-05-081-2/+2
|\ \ \ | | | | | | | | Reporting/Storage: Import ServiceEntry
| * | | Reporting/Storage: Import ServiceEntryDmitri Iouchtchenko2017-05-051-2/+2
| |/ / | | | | | | | | | It wasn't included in the transition from a wildcard import in 255faaf.
* / / Probes: Remove wrong lineAlexander Sulfrian2017-03-221-1/+0
|/ / | | | | | | | | | | This line brakes django detection for the Probes! It resets the global variable just after the detection. This line was left while changing the placement of the detection in fa0d86aba32c40d829f9f94411403221a48283e8.
* / Server/Info: Fix encoding declarationAlexander Sulfrian2017-03-211-1/+1
|/ | | | | It seems to be, that there must not be any Python statement before the magic comment.
* Server/Lint: Include RequiredBundle in referenced bundlesDmitri Iouchtchenko2017-03-171-0/+4
|
* Merge pull request #362 from AlexanderS/fix/missing-config-fileAlexander Sulfrian2017-03-101-1/+1
|\ | | | | Options: Missing config file is not a fatal error
| * Options: Missing config file is not a fatal errorAlexander Sulfrian2016-09-281-1/+1
| | | | | | | | | | If the config file is not available, it should not be a fatal error, but bcfg2 should just use the default config values.
* | Merge pull request #382 from AlexanderS/feature/multiline-debug-scriptsAlexander Sulfrian2017-03-101-3/+1
|\ \ | | | | | | Fix multiline scripts in bcfg2-info debug mode
| * | Fix multiline scripts in bcfg2-info debug modes19n2017-03-091-3/+1
| | |
* | | Reporting: Fix missing sys importSol Jerome2017-01-101-0/+1
|/ / | | | | | | Signed-off-by: Sol Jerome <sol.jerome@gmail.com>
* | Merge pull request #345 from AlexanderS/fix/django-1.10Alexander Sulfrian2017-01-102-35/+35
|\ \ | | | | | | Fixes for django 1.10
| * | Reporting/Compat: Add patterns compat methodAlexander Sulfrian2016-08-181-1/+13
| | | | | | | | | | | | | | | django 1.10 removed the patterns method, so we define it manually a bit easier than the old upstream variant but sufficient for our needs.