Compare commits

..

21 Commits

Author SHA1 Message Date
Bryan
1518f792d6 Merge pull request #13236 from jumpserver/dev
v3.10.10-lts
2024-05-16 16:04:07 +08:00
Bai
67277dd622 fix: 修复仪表盘会话排序数量都是 1 的问题 2024-04-22 19:42:33 +08:00
Bryan
82e7f020ea Merge pull request #13094 from jumpserver/dev
v3.10.9 (dev to master)
2024-04-22 19:39:53 +08:00
Bryan
f20b9e01ab Merge pull request #13062 from jumpserver/dev
v3.10.8 dev to master
2024-04-18 18:01:20 +08:00
Bryan
8cf8a3701b Merge pull request #13059 from jumpserver/dev
v3.10.8
2024-04-18 17:16:37 +08:00
Bryan
7ba24293d1 Merge pull request #12736 from jumpserver/pr@dev@master_fix
fix: 解决冲突
2024-02-29 16:38:43 +08:00
Bai
f10114c9ed fix: 解决冲突 2024-02-29 16:37:10 +08:00
Bryan
cf31cbfb07 Merge pull request #12729 from jumpserver/dev
v3.10.4
2024-02-29 16:19:59 +08:00
wangruidong
0edad24d5d fix: 资产过期消息提示发送失败 2024-02-04 11:41:48 +08:00
ibuler
1f1c1a9157 fix: 修复定时检测用户是否活跃任务无法执行的问题 2024-01-23 09:28:38 +00:00
feng
6c9d271ae1 fix: redis 密码有特殊字符celery beat启动失败 2024-01-22 06:18:34 +00:00
Bai
6ff852e225 perf: 修复 Count 时没有去重的问题 2024-01-22 06:16:25 +00:00
Bryan
baa75dc735 Merge pull request #12566 from jumpserver/master
v3.10.2
2024-01-17 07:34:28 -04:00
Bryan
8a9f0436b8 Merge pull request #12565 from jumpserver/dev
v3.10.2
2024-01-17 07:23:30 -04:00
Bryan
a9620a3cbe Merge pull request #12461 from jumpserver/master
v3.10.1
2023-12-29 11:33:05 +05:00
Bryan
769e7dc8a0 Merge pull request #12460 from jumpserver/dev
v3.10.1
2023-12-29 11:20:36 +05:00
Bryan
2a70449411 Merge pull request #12458 from jumpserver/dev
v3.10.1
2023-12-29 11:01:13 +05:00
Bryan
8df720f19e Merge pull request #12401 from jumpserver/dev
v3.10
2023-12-21 15:14:19 +05:00
老广
dabbb45f6e Merge pull request #12144 from jumpserver/dev
v3.9.0
2023-11-16 18:23:05 +08:00
Bryan
ce24c1c3fd Merge pull request #11914 from jumpserver/dev
v3.8.0
2023-10-19 03:37:39 -05:00
Bryan
3c54c82ce9 Merge pull request #11636 from jumpserver/dev
v3.7.0
2023-09-21 17:02:48 +08:00
4 changed files with 7 additions and 30 deletions

View File

@@ -1,26 +1,24 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# #
import logging import logging
from django.conf import settings
from django.db.models import Q from django.db.models import Q
from django.conf import settings
from django.utils.translation import gettext_lazy as _ from django.utils.translation import gettext_lazy as _
from django_filters import rest_framework as filters
from rest_framework import generics from rest_framework import generics
from rest_framework import status from rest_framework import status
from rest_framework.views import APIView, Response from rest_framework.views import APIView, Response
from django_filters import rest_framework as filters
from common.api import JMSBulkModelViewSet
from common.drf.filters import BaseFilterSet from common.drf.filters import BaseFilterSet
from common.api import JMSBulkModelViewSet
from common.exceptions import JMSException from common.exceptions import JMSException
from common.permissions import WithBootstrapToken, IsServiceAccount from common.permissions import WithBootstrapToken
from jumpserver.conf import ConfigCrypto
from terminal import serializers from terminal import serializers
from terminal.models import Terminal from terminal.models import Terminal
__all__ = [ __all__ = [
'TerminalViewSet', 'TerminalConfig', 'TerminalViewSet', 'TerminalConfig',
'TerminalRegistrationApi', 'EncryptedTerminalConfig' 'TerminalRegistrationApi',
] ]
logger = logging.getLogger(__file__) logger = logging.getLogger(__file__)
@@ -91,17 +89,3 @@ class TerminalRegistrationApi(generics.CreateAPIView):
return Response(data=data, status=status.HTTP_400_BAD_REQUEST) return Response(data=data, status=status.HTTP_400_BAD_REQUEST)
return super().create(request, *args, **kwargs) return super().create(request, *args, **kwargs)
class EncryptedTerminalConfig(generics.CreateAPIView):
serializer_class = serializers.EncryptedConfigSerializer
permission_classes = [IsServiceAccount]
http_method_names = ['post']
def post(self, request, *args, **kwargs):
serializer = self.serializer_class(data=request.data)
serializer.is_valid(raise_exception=True)
encrypt_key = serializer.validated_data['secret_encrypt_key']
encrypted_value = serializer.validated_data['encrypted_value']
config_crypto = ConfigCrypto(encrypt_key)
value = config_crypto.decrypt(encrypted_value)
return Response(data={'value': value}, status=200)

View File

@@ -253,8 +253,7 @@ class ConnectMethodUtil:
def _filter_disable_protocols_connect_methods(cls, methods): def _filter_disable_protocols_connect_methods(cls, methods):
# 过滤一些特殊的协议方式 # 过滤一些特殊的协议方式
if not getattr(settings, 'TERMINAL_KOKO_SSH_ENABLED'): if not getattr(settings, 'TERMINAL_KOKO_SSH_ENABLED'):
disable_ssh_client_protocols = [Protocol.ssh, Protocol.sftp, Protocol.telnet] protocol = Protocol.ssh
for protocol in disable_ssh_client_protocols:
methods[protocol] = [m for m in methods[protocol] if m['type'] != 'native'] methods[protocol] = [m for m in methods[protocol] if m['type'] != 'native']
return methods return methods

View File

@@ -147,8 +147,3 @@ class ConnectMethodSerializer(serializers.Serializer):
type = serializers.CharField(max_length=128) type = serializers.CharField(max_length=128)
endpoint_protocol = serializers.CharField(max_length=128) endpoint_protocol = serializers.CharField(max_length=128)
component = serializers.CharField(max_length=128) component = serializers.CharField(max_length=128)
class EncryptedConfigSerializer(serializers.Serializer):
secret_encrypt_key = serializers.CharField(max_length=128)
encrypted_value = serializers.CharField(max_length=128)

View File

@@ -54,7 +54,6 @@ urlpatterns = [
# components # components
path('components/metrics/', api.ComponentsMetricsAPIView.as_view(), name='components-metrics'), path('components/metrics/', api.ComponentsMetricsAPIView.as_view(), name='components-metrics'),
path('components/connect-methods/', api.ConnectMethodListApi.as_view(), name='connect-methods'), path('components/connect-methods/', api.ConnectMethodListApi.as_view(), name='connect-methods'),
path('encrypted-config/', api.EncryptedTerminalConfig.as_view(), name='encrypted-terminal-config'),
] ]
urlpatterns += router.urls urlpatterns += router.urls