Show More
@@ -35,7 +35,7 b' from webob.exc import HTTPNotFound, HTTP' | |||||
35 |
|
35 | |||
36 | from rhodecode.controllers.utils import parse_path_ref |
|
36 | from rhodecode.controllers.utils import parse_path_ref | |
37 | from rhodecode.lib import diffs, helpers as h, caches |
|
37 | from rhodecode.lib import diffs, helpers as h, caches | |
38 |
from rhodecode.lib |
|
38 | from rhodecode.lib import audit_logger | |
39 | from rhodecode.lib.codeblocks import ( |
|
39 | from rhodecode.lib.codeblocks import ( | |
40 | filenode_as_lines_tokens, filenode_as_annotated_lines_tokens) |
|
40 | filenode_as_lines_tokens, filenode_as_annotated_lines_tokens) | |
41 | from rhodecode.lib.utils import jsonify, action_logger |
|
41 | from rhodecode.lib.utils import jsonify, action_logger | |
@@ -813,6 +813,26 b' class FilesController(BaseRepoController' | |||||
813 | shutil.move(archive, cached_archive_path) |
|
813 | shutil.move(archive, cached_archive_path) | |
814 | archive = cached_archive_path |
|
814 | archive = cached_archive_path | |
815 |
|
815 | |||
|
816 | # store download action | |||
|
817 | action_logger(user=c.rhodecode_user, | |||
|
818 | action='user_downloaded_archive:%s' % archive_name, | |||
|
819 | repo=repo_name, ipaddr=self.ip_addr, commit=True) | |||
|
820 | ||||
|
821 | audit_logger.store( | |||
|
822 | action='repo.archive.download', | |||
|
823 | action_data={'user_agent': request.user_agent, | |||
|
824 | 'archive_name': archive_name, | |||
|
825 | 'archive_spec': fname, | |||
|
826 | 'archive_cached': use_cached_archive}, | |||
|
827 | user=c.rhodecode_user, | |||
|
828 | repo=dbrepo, | |||
|
829 | commit=True | |||
|
830 | ) | |||
|
831 | ||||
|
832 | response.content_disposition = str( | |||
|
833 | 'attachment; filename=%s' % archive_name) | |||
|
834 | response.content_type = str(content_type) | |||
|
835 | ||||
816 | def get_chunked_archive(archive): |
|
836 | def get_chunked_archive(archive): | |
817 | with open(archive, 'rb') as stream: |
|
837 | with open(archive, 'rb') as stream: | |
818 | while True: |
|
838 | while True: | |
@@ -826,14 +846,6 b' class FilesController(BaseRepoController' | |||||
826 | break |
|
846 | break | |
827 | yield data |
|
847 | yield data | |
828 |
|
848 | |||
829 | # store download action |
|
|||
830 | action_logger(user=c.rhodecode_user, |
|
|||
831 | action='user_downloaded_archive:%s' % archive_name, |
|
|||
832 | repo=repo_name, ipaddr=self.ip_addr, commit=True) |
|
|||
833 | response.content_disposition = str( |
|
|||
834 | 'attachment; filename=%s' % archive_name) |
|
|||
835 | response.content_type = str(content_type) |
|
|||
836 |
|
||||
837 | return get_chunked_archive(archive) |
|
849 | return get_chunked_archive(archive) | |
838 |
|
850 | |||
839 | @LoginRequired() |
|
851 | @LoginRequired() |
@@ -39,7 +39,8 b' ACTIONS = {' | |||||
39 | 'repo.add': {}, |
|
39 | 'repo.add': {}, | |
40 | 'repo.edit': {}, |
|
40 | 'repo.edit': {}, | |
41 | 'repo.edit.permissions': {}, |
|
41 | 'repo.edit.permissions': {}, | |
42 | 'repo.commit.strip': {} |
|
42 | 'repo.commit.strip': {}, | |
|
43 | 'repo.archive.download': {}, | |||
43 | } |
|
44 | } | |
44 |
|
45 | |||
45 |
|
46 | |||
@@ -97,14 +98,31 b' def store(' | |||||
97 |
|
98 | |||
98 | from rhodecode.lib import audit_logger |
|
99 | from rhodecode.lib import audit_logger | |
99 |
|
100 | |||
100 | audit_logger.store(action='repo.edit', user=self._rhodecode_user) |
|
101 | audit_logger.store( | |
101 | audit_logger.store(action='repo.delete', user=audit_logger.UserWrap(username='itried-to-login', ip_addr='8.8.8.8')) |
|
102 | action='repo.edit', user=self._rhodecode_user) | |
|
103 | audit_logger.store( | |||
|
104 | action='repo.delete', | |||
|
105 | user=audit_logger.UserWrap(username='itried-login', ip_addr='8.8.8.8')) | |||
|
106 | ||||
|
107 | # repo action | |||
|
108 | audit_logger.store( | |||
|
109 | action='repo.delete', | |||
|
110 | user=audit_logger.UserWrap(username='itried-login', ip_addr='8.8.8.8'), | |||
|
111 | repo=audit_logger.RepoWrap(repo_name='some-repo')) | |||
|
112 | ||||
|
113 | # repo action, when we know and have the repository object already | |||
|
114 | audit_logger.store( | |||
|
115 | action='repo.delete', | |||
|
116 | user=audit_logger.UserWrap(username='itried-login', ip_addr='8.8.8.8'), | |||
|
117 | repo=repo_object) | |||
102 |
|
118 | |||
103 | # without an user ? |
|
119 | # without an user ? | |
104 |
audit_ |
|
120 | audit_logger.store( | |
105 | username=self.request.params.get('username'), |
|
121 | action='user.login.failure', | |
106 | ip_addr=self.request.remote_addr) |
|
122 | user=audit_logger.UserWrap( | |
107 | audit_logger.store(action='user.login.failure', user=audit_user) |
|
123 | username=self.request.params.get('username'), | |
|
124 | ip_addr=self.request.remote_addr)) | |||
|
125 | ||||
108 | """ |
|
126 | """ | |
109 | from rhodecode.lib.utils2 import safe_unicode |
|
127 | from rhodecode.lib.utils2 import safe_unicode | |
110 | from rhodecode.lib.auth import AuthUser |
|
128 | from rhodecode.lib.auth import AuthUser |
General Comments 0
You need to be logged in to leave comments.
Login now